Major The EU, like BIU, also consists of

Major Features:

·       
8086
Microprocessor is a 16-bit microprocessor. It is the highest data carrying
capacity of 8086. However, it canhandle 8-bit data as well.

We Will Write a Custom Essay Specifically
For You For Only $13.90/page!


order now

·       
There
are 20 address lines for 8086. Address lines define how much memory the processor
can access. In this case, it is 220=1 Mb memory.

·       
Operating
frequency= 5 MHz

·       
It has
14 16-bit registers.

 

Architecture:

·      

Basic architecture of 8086 Microprocessor:

 

·      
The
internal architecture of 8086 Microprocessor is essentially divided into 2
parts viz.

                              
i.           
Bus
Interface Unit (BIU)

                            
ii.           
Execution
Unit (EU)

 

Bus Interface Unit:

It handles all data and addresses on the buses for the Execution Unit
i.e. it sends out addresses, fetches instructions from memory, reads data from
ports and memory and writes data to ports and memory. BIU also generates the
20-bit physical address.

The BIU consists of a number of functional groups or parts such as:

      
i.           
Instruction
Queue:

It prefetches 6 instruction bytes from memory to
the queue of processor. It is a FIFO kind of buffer.

The flow of operation is such:

 Memory ->
Queue -> EU

It simply reads the instruction from the
instruction queue when the EU is ready for the next instruction.

It is much faster than sending address to system
memory and then fetching the instruction.

Queue follows the concept of pipelining.

    
ii.           
Segmentation:

Memory being divided into smaller segments is
segmentation.

BIU contains four 16-bit registers, namely

–         
Code
Segment (CS): Used for addressing a memory location where executable program is
stored.

–         
Data
Segment (DS): Contains most data used by the program. It holds the offset
address.

–         
Stack
Segment (SS): A section of memory to store addresses and data while a
subprogram executes.

–         
Extra
Segment (ES): Additional data segment used to hold extra destination data.

Each
register can hold 64kb data.

  iii.           

Instruction Pointer:

It is present below the segment register. The IP
holds the 16-bit address of the next code byte within the code segment.

 

Execution Unit:

·       
It
basically does the arithmetic and logical calculations. It tells the BIU where
to fetch instructions from; it decodes the instructions and executes them.

·       
The EU,
like BIU, also consists of a number of components, such as:

i.                  
Arithmetic
& Logic Unit: Does all arithmetic and logical calculations

ii.                
Control
Unit: Performs various internal operations.

·       
The EU
also consists of registers which are:

i.                  
General
Purpose Register: Used for temporary storage of 8-bit data

ii.                
Flag
Register: A flip-flop indicating occurrence of any condition during execution
of an instruction. There are 2 types:

(a) Control Flags                           (b) Conditional Flags

 

·      
General Purpose Registers:

8 general purpose registers:

i.                  
AX
Register: Accumulator which stores operands for arithmetic calculations

ii.                
BX
Register: Base register holding starting address of memory region

iii.             
CX
Register: Used to store loop counter in loop instruction

iv.              
DX
Register: Contains i/o port address for i/o instructions

       

       -Stack
Pointer Register:

The
stack pointer (SP) register contains the 16-bit offset from the start of the
segment to the memory location where a word was most recently stored on the
stack. Most recently used address is stored on top of the stack.

Other
registers such as the SI, DI, BP are also used for temporary storage purposes.

 

 

·      
Flag
Register:

i.                  
Conditional Flags: Indicate
occurrence of mathematical operations. They are:

Carry Flag (CF): Indicates if carry
is generated in MSB position

Auxiliary Flag (AF): Performs Binary
to BCD conversion

Parity Flag (PF):Indicates parity
of the result

Zero Flag (ZF):It is high if the
result of operation is zero

Sign Flag (SF):Indicates the the
sign magnitude of the result

Overflow Flag (OF): Indicates the
exceeding of capacity of machine.

 

ii.                
Control Flags: They are set or
reset to control certain operations of the processor with the help of specific
user-input instructions in the program. They are:

Trap Flag (TF): Allows user to
execute one instruction at a time

Interrupt Flag (IF): Allows/prohibits
interruption of program

Direction Flag (DF): Used in string
operations;

     Sets
direction: low->high or high->low