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.
AH
+ AL = AX
BH
+ BL = BX
CH
+ CL = CX
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.
2 Comments
Tx sir ✨
ReplyDeleteThank you sir 🙏
ReplyDelete