MODULE 1 TOPICS COVERED:1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Introduction to the general concept of microprocessor I/O subsystem , programming the system ALU Instruction execution, instruction word format Addressing modes Address/data/control bus Tristate bus Interfacing i/o device Data transfer scheme Architectural advancement of microprocessor Evolution of processor INTRODUCTION A computer basically consists of the following parts:1. I/O devices 2. Memory 3. CPU The CPU is the brain of the computer irrespective of its size. The CPU normally consists of a large scale integrationcircuit called Microprocessor and works as central processing unit of a microcomputer. Input Devices give data or information as an input to the CPU and it processes the data or information given by the devices. Memory stores the data or information, Output Devices give the required data as output to the user. A digital component in which one microprocessor has been provided to act as a CPU is known as Microcomputer. Desktop computer, laptop computer, palm computer, notebook are the ones which contain only one microprocessor to act as a CPU. Microprocessor:Definition- A microprocessor is a multipurpose programmable, clock driven, semiconductor device consisting of electronic logic circuit manufactured by using very large scale integration (VLSI) technique. • The Microprocessor is capable of performing various computing functions and making decisions to change the sequence of program executions.
• • • The microprocessor application are classified primarily into two categories:1. Reprogrammable systems 2. Embedded System Microprocessor can perform the following operations:1. Read data from memory 2. Write data into memory 3. Accept data from input devices 4. Sends data to output devices 5. Data processing 6. Arithmetic and logic operations The microprocessor can be divided into 3 basic units:- 1) Arithmetic and logic unit 2) Register Array 3) Control unit . ARITHMETIC AND LOGIC UNIT (ALU) • • • • An ALU is a combinational circuit that performs arithmetic and logical operation on the data stored in accumulator. Results of operation by ALU are placed back in the accumulator. Typical operations performed by ALU includes add, shift/rotate, compare, increment, decrement, AND, OR, XOR, complement, clear, pre-set etc. Apart from performing these operation, ALU also contains important information about certain conditions that occur during these mathematical operation.
• • These conditions i.e. occurrence of carry, borrow, zero, negative or even parity results are stored in register called flag register and the individual bits are called flag bits. The number of bits is the most important factor determining the capabilities of the processor. Hence the size of ALU defines the size of the microprocessor. Instruction Execution The microprocessor performs operations by accepting instructions from the user. Every program consists of a sequence of instructions. The commands of n instruction set are called ‘mnemonics’. A command is understood by the CPU only when it is converted into equivalent single byte hexadecimal opcodes with or without one-byte or two byte data or address. An instruction consists of:1. Opcode (operational code) 2. Operand(Operational End) Instruction Data Format 1. Every microprocessor has a different of instruction data format. The instruction format of each microprocessor depends upon its address, data and control bus. 2. Every instruction contains an operand and an opcode. 3. In typical microprocessor is organized in 8 bits, each of which has unique memory location in the physical memory. Each memory is specified by a 16 bit hexadecimal address. 4. Data is stored in the memory as 8 bit binary number arrangement of 8 bits of a stored data s shown below: 5. Instruction stored in first byte must be the opcode. 6. Instruction can be categorized in 3 parts: 1) One-byte instruction/ one word instruction 2) Two-byte instruction/two word instruction 3) Three-byte instruction/three word instruction ONE BYTE INSTRUCTION: This type of instruction requires one memory location. The 8 bit or 1 byte instruction code is called as opcodes that uniquely identifies the instruction. If the instruction is one byte then the timing diagram has only one machine cycle i.e. opcode fetch cycle. it has only one opcode. EX- CMA; MOV A,B; ADD C; SUB D; RLC .
TWO BYTE INSTRUCTION: In this kind of instruction, the first byte is for the opcode and the second byte is for the operand or the code associated with the memory address. such instructions are stored in two consecutive memory locations. if the instruction is two byte, then it requires two machine cycle. The first machine cycle is for opcode fetch and the second machine cycle is either for memory read/memory write i/o read or i/o write. EX: MVI B,62; ADI 58; ORI 43; IN 89. THREE BYTE INSTRUCTION: In this type of instruction, the first byte is for opcode and the second and third byte is for an operand code associated with the memory address. Such instructions are stored in 3 consecutive memory locations. If the instruction is of three bytes, then it requires three machine cycles. The first machine cycle is for opcode fetch and the second and third machine cycle is either for memory read/memory write I/O read or I/O write. EX: LDA 8062; LXI H, 8057; JMP 7809. Instruction format Intel 8085 handles 8 bit of data as it is an 8 bit microprocessor. It is designed to process 8 bit of data at a time. If a 16 bit data has to be stored then they are stored in consecutive memory locations. There are various ways to specify data for an instruction: 8 bit or 16 bit data may be directly given in the instruction. E.g. ADI 07H, LXI 7051H etc. The address of the memory location or I/O devices may be given in the instruction itself. Ex LDA 8582H, IN 02H etc. In some instructions only one register is specified. Ex ADD B In some instructions we write two registers. Ex MOV D,E In some instructions the data is implicit or implied. Ex CMA, RRC, RAL. Addressing Modes Addressing modes are an asset of the instruction set architecture in most CPU designs. The various addressing modes that are defined in a given instruction set architecture define how machine language instructions in that architecture identity the operand of each instruction. An addressing mode specifies how to calculate the effective memory address of an operand by using information held in register and/or constants contained within machine instruction or elsewhere. . For 8085 there are five addressing modes. They are: