8086 Microprocessor Architecture

 

Internal Architecture Of 8086 Microprocessor

    Figure below shows internal architecture of 8086 microprocessor. To increase the speed of operation it is internally divided into two functional units

1) Bus Interface Unit (BIU)

2) Execution Unit (EU)



I) Bus interface Unit (BIU):-

            BIU reads instructions and data from memory or i/o ports& write data into memory or i/o ports. Thus BIU handling all the bus (address, data & control bus) related operations for execution unit. In other words BIU communicates with the external word i.e. memory and i/o devices. Following are different parts of BIU.

            1) The Queue – 

    The queue is a FIFO (First in First Out) group of registers in which 6 bytes of instruction (instruction & Data) can be stored. BIU reads instructions from memory ahead of time (in advance) and stores them in queue. When EU is ready to executes next instruction it simply reads instruction from queue.

 The process of fetching (Reading) next instruction while current instruction is executing is called as instruction pipelining or parallel processing. Because of this scheme the speed of processing increases greatly.

2)Segment Registers –

                                    The memory of 8086 is segmented (divided) into 4 segments i.e. code segment, Data segment, Extra segment & Stack segment. The 4 segment register are used to store 16 bit base address for each segment. For example, code segment register (CS) is used to store base address of code segment in memory, DS register stores data segment base address, SS register stores stack segment base address. ES register stores base address of Extra segment.

3)Instruction Pointer (IP)-

                                    In 8086 Microprocessor programs (codes) are stored in code segment. The IP points towards code in memory. The IP is use to store 16 bit address (Offset Address) of instruction that is to be executed next by microprocessor.

II) Execution unit (EU)

                  EU is responsible for executing instructions fetched by BIU. It contains following parts.

1)      General purpose registers-

                     EU contains 8 general purpose registers used to store data temporarily.

These registers are AH, AL, AH, BL, CH, CL, DH & DL. To store 16 bit data two 8 bit registers are combined as follows.

                        8bit + 8bit = 16 bit

                        AH + AL   = AX

                        BH + BL    = BX

                        CH + CL    = CX

                        DH + DL   = DX

2)      POINTING AND Index Registers –

                  The EU contains two pointing (SP and BP) and two index (SI and DI) registers. These registers are used to store 16 bit offset address of data in memory.

                        The SP is used to point towards data stored in stack segment of memory. BP is also used to point towards stack segment. The difference between these two is that SP point towards top of the stack & BP points towards the bottom of the stack.

               The two index registers SI & DI are used to point towards data stored in data or extra segment of memory.

3)      ALU –

                        The function of ALU is to perform different arithmetic & logical operations. It is capable of performing on 16 bit of data at a time.

 

4)      Control system

                        It is used to control overall operation of 8086 Microprocessor. It generates different timing and control signals for different parts of the system.

5) Flag Register

8086 microprocessor contains a 16 bit flag register. Out of this 16 bit only 9 flags are active (used). The 9 flags are classified into two types.

A] Conditional Flag: 

            These are 6 flags in this category. These flags are set or reset by microprocessor depending upon the result produced by the execution of arithmetic or logical instruction. The 6 conditional flags are ;  carry flag, Auxilary carry flag, sign flag, zero flag, polarity flag, overflow flag.

B] Control Flag:

These flags are set or reset by users to control the operation of 8086. The 3 control flags are; Interrupt flag, Trap flag, directions flag.



Post a Comment

2 Comments