8086 It has 16-bit address lines to access I/O

 

8086 Microprocessor was designed by
Intel in 1976. Operations like multiplication and division can be easily
executed, as it has a powerful instruction set. It is a better version of 8085
microprocessor.

The 8086 gave rise to the x86 architecture, which eventually became Intel’s
most successful line of processors.

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


order now

Intel 8086 is a 16 bit integer processor. It has
16-bit data bus and 20-bit address bus. The lower 16-bit address lines and
16-bit data lines are multiplexed.

 

As 8086 microprocessor does 2-stage pipelining (overlapping
fetching and execution), its architecture is divided into two units:

1.    
Bus Interfacing Unit
(BIU)

2.    
Execution Unit (EU)

 

Features of Microprocessor 8086

·       
It
is 16 bit processor.

 

·       
It is available in 3 versions based on the
frequency of operation ?

o  
8086 ? 5MHz

o  
8086-2 ? 8MHz

o  
(c)8086-1 ? 10 MHz

 

·       
It
has 20 bit address lines to access memory. Hence, it can access
1 MB memory location i.e., 2^20.

 

·       
It
has 16-bit address lines to access I/O devices, hence it can access 64K I/O
location i.e., 2^16.

 

·       
8086
has 16 bit ALU, 16 bit registers and internal data bus and 16 bit external data
bus. It makes faster processing.

 

·       
It uses two stages of pipelining, i.e. Fetch Stage
and Execute Stage, which improves performance.

 

·       
The
operation is in two modes:

o   Minimum Mode: A system with only one
microprocessor.

o   Maximum Mode: A system with
multiprocessor.

 

·       
It
uses a memory banking system. It means that the entire data is not stored
sequentially in a single memory of 1 MB but memory is divided into two banks of
512KB.

 

·       
It
has 256 vectored interrupts.

 

·       
It
supports of Multiply and Divide operation as it has a powerful instruction set.

 

·       
It consists of 29,000 transistors.

Bus
Interfacing Unit (BIU)

 

The Bus Interface Unit (BIU) generates the 20-bit physical memory address
and provides the interface with external memory. It operates with respect to
bus cycles (machine cycles). This means it performs various machine cycles such
as memory read, I/O read etc. to transfer data with memory and I/O devices.

 

BIU contains:

·       
4-byte
instruction Queue (Q)

·       
The
Segment Registers (CS, DS, ES, SS).

·       
The
Instruction Pointer (IP).

·       
The
Address summing block(?).

 

The BIU stores this pre-fetched instruction byte in FIFO register called
queue. Fetching the next instruction while executing the current instruction is
referred as the instruction pipeline. Bus Interface Unit produces the 20-bit
physical memory address by combining a 16-bit segment address with a 16-bit offset
address.

 

There are four 16-bit segment registers:

·       
Code
segment (CS) – The CS register is used for addressing a memory location in the
Code Segment of the memory, where the executable program is stored.

·       
Data
segment (DS) – The DS contains most data used by program. Data are accessed in
the Data Segment by an offset address or the content of other register that
holds the offset address.

·       
Stack
segment (SS) – SS defined the area of memory used for the stack.

·       
Extra
segment (ES) – ES is
additional data segment that is used by some of the string to hold the
destination data.

 

Execution
Unit (EU)

 

All general purpose registers of the 8086 microprocessor
can be used for arithmetic and logic operations. It fetches instructions from the Queue in
BIU, decodes and executes them. Within the microprocessor, it performs
arithmetic, logic and internal data transfer operations. In order to access the
external module, it sends request signals to the BIU

The EU contains eight 16-bit general
purpose registers AX, BX, CX, DX, SP, BP, SI and DI. Among these registers AX,
BX, CX, DX can be further into two 8-bit registers AH, BH, CH
and DH. The general purpose registers can be used to store or 16-bit
data during program execution.

A 16-bit flag register in the EU
contains nine active flags. Six of the nine flags in the flag registers are used
to indicate some condition produced by an instruction. The three remaining
flags are used to control certain operations of the processors.

There are 4 General Purpose
Registers:

·       
AX
Registers- It stores operands for arithmetic like divide, rotate.

·       
BX
Registers- It holds the starting base location of a memory region within a data
segment.

·       
CX
Registers- It is primarily used in loop instruction to store loop counter.

·       
DX
Registers- It is used to contain I/O port address for I/O instruction.

 

16 flag registers available in the
8086. Nine flags are used: six status flags and three control flags.

 

 

Status Flags:

·       
Carry
Flag (CF): Set when there is a carry out of the high order bit (8 or 16 bit) of
the result.

·       
Parity
Flag (PF): Set if result contains an even number of 1’s.

·       
Auxiliary
Carry Flag (AF): Set when there is a carry out of the low nibble.

·       
Zero
Flag (ZF): Set if the result equals zero.

·       
Sign
Flag (SF): Set if the result is a negative number.

·       
Overflow
Flag (OF):  Set if the size of the result
exceeds the size of the ALU.

Control Flags:

·       
Trap
Flag (TF) – Used for on-chip debugging.

·       
Interrupt
enable Flag (IF) – when this flag is set to 1 CPU reacts to interrupts from
external devices.

·       
Direction
Flag (DF) – this flag is used by some instructions to process data chains, when
this flag is set to 1 – the processing is done backward, when this flag is set
to 0 the processing is done forward.

 

x

Hi!
I'm Eileen!

Would you like to get a custom essay? How about receiving a customized one?

Check it out