8086 microprocessor
Microprocessor - 8086 Overview
8086 Microprocessor is an enhanced version of 8085 Microprocessor that was designed by Intel in 1976. It is a 16-bit Microprocessor having 20 address lines and 16 data lines that provides up to 1 MB storage. It consists of powerful instruction set, which provides operations like multiplication and division easily.
It supports two modes of operation, i.e. Maximum mode and Minimum mode. Maximum mode is suitable for system having multiple processors and Minimum mode is suitable for system having a single processor.
Features of 8086
The most prominent features of a 8086 microprocessor are as follows −
- It has an instruction queue, which is capable of storing six instruction bytes from the memory resulting in faster processing.
- It was the first 16-bit processor having 16-bit ALU, 16-bit registers, internal data bus, and 16-bit external data bus resulting in faster processing.
- It is available in 3 versions based on the frequency of operation −
- 8086 → 5 MHz
- 8086-2 → 8 MHz
- (c)8086-1 → 10 MHz
- It uses two stages of pipelining, i.e. Fetch Stage and Execute Stage, which improves performance.
- Fetch stage can prefetch up to 6 bytes of instructions and stores them in the queue.
- Execute stage executes these instructions.
- It has 256 vectored interrupts.
- It consists of 29,000 transistors.
Architecture of 8086
The following diagram depicts the architecture of a 8086 Microprocessor −- As discussed earlier, the 8086 microprocessor consists of two main blocks: the Bus Interface Unit (BIU) and the Execution Unit (EU). All the components of the 8086 microprocessor are present within these two blocks. Let us study the layout of the 8086
- It is clear from the diagram that only the BIU has a direct link with the memory. This memory can be directly accessed either by the segment registers, the Instruction Pointer (IP) or the Instruction Queue for fetching up the instructions.These instructions are sent in the Control Unit for execution. The control unit takes the help of General Purpose registers, Index registers and Pointers, operands, flags and the most important, the Arithmetic Logic Unit (ALU). All these are part of the Execution Unit
Comparison between 8085 & 8086 Microprocessor
- Size − 8085 is 8-bit microprocessor, whereas 8086 is 16-bit microprocessor.
- Address Bus − 8085 has 16-bit address bus while 8086 has 20-bit address bus.
- Memory − 8085 can access up to 64Kb, whereas 8086 can access up to 1 Mb of memory.
- Instruction − 8085 doesn’t have an instruction queue, whereas 8086 has an instruction queue.
- Pipelining − 8085 doesn’t support a pipelined architecture while 8086 supports a pipelined architecture.
- I/O − 8085 can address 2^8 = 256 I/O's, whereas 8086 can access 2^16 = 65,536 I/O's.
- Cost − The cost of 8085 is low whereas that of 8086 is high.
Interrupts
Interrupt is a process of creating a temporary halt during program execution and allows peripheral devices to access the microprocessor.Microprocessor responds to these interrupts with an interrupt service routine (ISR), which is a short program or subroutine to instruct the microprocessor on how to handle the interrupt.There are different types of interrupt in 8086:Hardware Interrupts
Hardware interrupts are that type of interrupt which are caused by any peripheral device by sending a signal through a specified pin to the microprocessor.The Intel 8086 has two hardware interrupt pins:- NMI (Non-Maskbale Interrupt)
- INTR (Interrupt Request) Maskable Interrupt.
NMI: NMI is a single Non-Maskable Interrupt having higher priority than the maskable interrupt.- It cannot be disabled (masked) by user using software.
- It is used by the processor to handle emergency conditions.
For example: It can be used to save program and data in case of power failure. An external electronic circuitry is used to detect power failure, and to send an interrupt signal to 8086 through NMI line.
INTR: The INTR is a maskable interrupt. It can be enabled/disabled using interrupt flag (IF). After receiving INTR from external device, the 8086 acknowledges through INTA signal.It executes two consecutive interrupt acknowledge bus cycles.Notes and References
No comments:
Post a Comment