ARCHITECTURE OF 8086 MICROPROCESSOR By A.S.Krishna
What is a Microprocessor ? A microprocessor incorporates the functions of a computer's central processing unit (CPU) on a single integrated circuit (IC ), or at most a few integrated circuits. The microprocessor is a multipurpose, programmable device that accepts digital data as input, processes it according to instructions stored in its memory, and provides results as output. It has internal memory. Microprocessors operate on numbers and symbols represented in the binary numeral system .
What is 8086 Microprocessor ? The 8086 is also called iAPX 86 . It is a 16-bit microprocessor chip designed by Intel between early 1976 and mid-1978, when it was released. It is notable as the processor used in the original IBM PC .
Architecture of an 8086 Microprocessor The architecture of 8086 provides a number of improvements over 8085 architecture. It supports a 16-bit ALU, a set of 16-bit registers and provides segmented memory addressing capability, a rich instruction set, powerful interrupt structure, fetched instruction queue for overlapped fetching and execution etc.,
Bus Interface Unit (BIU) In the BIU we have some collection components. They are:- 1. Address Adder. 2. Segment Registers and Program C ounter. 3. Instruction Queue
1. Address Adder In the address adder the adder adds the addresses and transfer them to the memory though the internal data bus path.
2. Segment Registers and Program Counter Segment Registers Code segment Data segment Stack segment Extra segment Segment Registers CS DS SS ES Program Counter IP Program Counter Instruction Pointer
3. Instruction Queue Instruction Queue 6 5 4 3 2 1 This a Queue which can store the given instructions one-by-one.
Execution Unit(EU) In the E U we have some collection components. They are :- 1. General Registers. 2. Execution Unit Control System. 3. ALU 4. Operands and Flags.
1. General Registers In this we have two types of registers. They are:- 1. Main Registers. 2. Index Registers. Main Registers AH AL AX (Primary accumulator ) BH BL BX (Base accumulator ) CH CL CX (Counter accumulator) DH DL DX (accumulator other funtions )
Index Registers SP Stack Pointer BP Base Pointer SI Source Index DI Destination Index
2. Execution Unit Control System In this unit the Execution is controlled and is transferred to the all other components through the internal data bus. 3. ALU(Arithmetic Logical Unit) Here all the ALU operation are performed and transferred the data through the internal data bus.
4.Flags Registers This flag is identical to 8085 flag register, with an additional overflow flag, which is not present in 8085. The 8086 has a 16-bit flag register which is divided into two parts, viz.(a) condition code (or) status flags and (b) machine control flags. The condition code flag register is the lower byte of the 16-bit flag register along with the overflow flag. The machine control flag register is the higher byte of the flag register of 8086 which contains three flags, viz. direction flag(D), interrupt flag(I) and trap flag(T).
The bit configuration of 8086 flag register. 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 X X X X O D I T S Z X Ac X P X Cy O – Overflow flag D – Direction flag I – Interrupt flag T – Trap flag S – Sign flag Z – Zero flag Ac – Auxillary carry flag P – Parity flag Cy – Carry flag X – Not used (or) Future use
Memory Address and data bus interface Address/Status A 16 /S 3 Address/Data AD /AD 15 Instruction Queue (6 bytes) Decoding circuit Timing and control circuit Clock and control signals Address Adder CS DS SS ES IP ALU (16) FLAGS (16) IP IP IP IP AH AL BH BL CH CL DH DL 15 AX BX CX DX Register Bank B I U E U