0% found this document useful (0 votes)
46 views4 pages

8086 Microprocessor Architecture Overview

The Intel 8086 is a 16-bit microprocessor designed in 1978 with a 20-bit address bus, allowing it to access 1 MB of memory. Its architecture consists of two main units: the Bus Interface Unit (BIU), which manages data and instruction fetching, and the Execution Unit (EU), which decodes and executes instructions. The BIU includes segment registers and a 6-byte prefetch queue, while the EU contains a control unit, ALU, flag register, and operand for processing tasks.

Uploaded by

aadityaj081
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views4 pages

8086 Microprocessor Architecture Overview

The Intel 8086 is a 16-bit microprocessor designed in 1978 with a 20-bit address bus, allowing it to access 1 MB of memory. Its architecture consists of two main units: the Bus Interface Unit (BIU), which manages data and instruction fetching, and the Execution Unit (EU), which decodes and executes instructions. The BIU includes segment registers and a 6-byte prefetch queue, while the EU contains a control unit, ALU, flag register, and operand for processing tasks.

Uploaded by

aadityaj081
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Overview of INTEL 8086

Introduction of 8086:

8086 is a 16-bit microprocessor and was designed in 1978 by Intel.

Unlike, 8085, an 8086 microprocessor has 20-bit address bus. Thus, is able to
access 220 i.e., 1 MB address in the memory.

As we know that a microprocessor performs arithmetic and logic operations. And an


8086 microprocessor is able to perform these operations with 16-bit data in one
cycle. Hence is a 16-bit microprocessor.

Thus the size of the data bus is 16-bit as it can carry 16-bit data at a time. The
architecture of 8086 microprocessor, is very much different from that of 8085
microprocessor.
Block Diagram of 8086

The architecture of 8086 microprocessor is composed of 2 major units, the BIU


i.e., Bus Interface Unit and EU i.e., Execution Unit. The figure below shows the
block diagram of the architectural representation of the 8086 microprocessor:

Bus Interface Unit (BIU)


1. The Bus Interface Unit (BIU) manages the data, address and control buses.
2. The BIU functions in such a way that it:
• Fetches the sequenced instruction from the memory,
• Finds the physical address of that location in the memory where the instruction
is stored and
• Manages the 6-byte pre-fetch queue where the pipelined instructions are
stored.
BIU consists of:
1. Segment Register
2. 6-byte-prefetch queue

1. Segment Register
The BIU contains 4 segment registers. Each segment register is 16-bit. The segments
are present in the memory and these registers hold the address of all the segments.
These registers are as follows:
[Link] segment register: It is a 16-bit register and holds the address of the instruction
or program stored in the code segment of the memory.
Also, the IP in the block diagram is the instruction pointer which is a default register
that is used by the processor in order to get the desired instruction. The IP contains
the offset address of the next byte that is to be taken from the code segment.

b. Stack segment register: The stack segment register provides the starting address
of the stack segment in the memory. Like in stack pointer, PUSH and POP operations
are used in this segment to give and take the data to/from it.

c. Data segment register: It holds the address of the data segment. The data segment
stores the data in the memory whose address is present in this 16-bit register.

d. Extra segment register: Here the starting address of the extra segment is present.
This register basically contains the address of the string data.
It is to be noteworthy that the physical address of the instruction is achieved by
combining the segment address with that of the offset address.
2. 6-byte-prefetch queue
An 8086 microprocessor exhibits the property of pipelining the instructions in a
queue while performing decoding and execution of the previous instruction. This
saves the processor time of operation by a large amount. This pipelining is done in
a 6-byte queue. The size of this queue is 6-byte. This means at maximum a 6-byte
instruction can be stored in this queue. The queue exhibits FIFO behavior.

Execution Unit (EU)


The Execution Unit (EU) performs the decoding and execution of the instructions
that are being fetched from the desired memory location.
EU consists of:
1. Control Unit:
2. ALU:
3. Flag:
4. Operand:

1. Control Unit:
Like the timing and control unit in 8085 microprocessor, the control unit in 8086
microprocessor produces control signal after decoding the opcode to inform the
general purpose register to release the value stored in it. And it also signals the ALU
to perform the desired operation.
2. ALU:
The arithmetic and logic unit carries out the logical tasks according to the signal
generated by the CU. The result of the operation is stored in the desired register.
3. Flag:
Like in 8085, here also the flag register holds the status of the result generated by
the ALU. It has several flags that show the different conditions of the result.
4. Operand:
It is a temporary register and is used by the processor to hold the temporary values
at the time of operation.

The reason behind two separate sections for BIU and EU in the architecture of
8086 is to perform fetching and decoding-executing simultaneously.

Common questions

Powered by AI

The architecture of the 8086 microprocessor differs significantly from its predecessor, the 8085, in several key aspects concerning data operations and processing capabilities. Firstly, the 8086 is a 16-bit processor, capable of handling 16-bit data operations in a single cycle, whereas the 8085 is an 8-bit processor. This means the 8086 can process data twice as wide in a single operation, enhancing computational power and efficiency. Moreover, the 8086 uses a 20-bit address bus, providing a memory addressable space of 1 MB, vastly superior to the 64 KB addressable space of the 8085. The 8086 also incorporates a more complex architecture featuring segmentation and instruction pipelining, where the BIU and EU work in parallel, offering better processing speed and multitasking capabilities .

The 8086 microprocessor's 6-byte prefetch queue enhances processing efficiency by enabling pipelining, which allows the processor to overlap fetching, decoding, and executing of instructions. As one instruction is being executed, the Bus Interface Unit (BIU) can pre-fetch up to six bytes of subsequent instructions into this queue. This FIFO (first-in, first-out) queue allows the BIU to continuously fetch new instructions while the Execution Unit is busy, reducing idle time and maximizing throughput. This design reduces the number of memory accesses required during execution and significantly improves the overall execution speed of the processor .

Having separate Bus Interface Unit (BIU) and Execution Unit (EU) in the 8086 microprocessor architecture is significant because it facilitates instruction pipelining, which substantially enhances processing efficiency. The BIU handles instruction fetching, memory address computations, and manages the pre-fetch queue, while the EU focuses on instruction decoding and execution. This division allows both units to operate concurrently; as the BIU obtains instructions, the EU decodes and executes previous instructions. This parallel processing approach minimizes idle times and maximizes throughput, ensuring that the processor handles tasks swiftly and effectively, highlighting the sophistication and advanced design of the 8086 compared to its predecessors .

The 8086 microprocessor achieves simultaneous fetching and decoding/executing of instructions through its architecture, which is divided into two main units: the Bus Interface Unit (BIU) and the Execution Unit (EU). The BIU manages the data, address, and control buses, fetching sequenced instructions from memory and managing a 6-byte pre-fetch queue, which allows instructions to be stored before they are needed. The EU handles the decoding and execution of these instructions. This separation allows the 8086 to use pipelining, where while one instruction is being executed by the EU, the BIU can fetch and queue up the next instructions, maximizing efficiency and saving operational time .

The Execution Unit (EU) of the 8086 microprocessor comprises several components that collaborate to execute an instruction effectively. First, the Control Unit (CU) decodes the fetched opcode from the instruction and generates necessary control signals. These signals instruct the general-purpose registers to release stored values and direct the Arithmetic and Logic Unit (ALU) to perform specified arithmetic or logical operations. The result produced by the ALU is preserved in the designated registers. Concurrently, the Flag Register in the EU records the status of the result, detailing various conditions through its flags, such as zero, carry, or overflow. Additionally, the Operand register temporarily stores intermediate values utilized during operations. This intricate interplay between components ensures precise instruction execution with high efficiency .

The flag register in the 8086 microprocessor tracks instruction execution status by holding different flags that represent various conditions resulting from arithmetic or logical operations in the ALU. It reports several status conditions, such as zero (if the result is zero), sign (indicates the sign of the result), carry (for operations resulting in a carry or borrow), overflow (if an arithmetic operation exceeds the processor's fixed range), and parity (checks if the number of set bits is odd or even). These flags enable the processor to make decisions based on previous operations' outcomes, helping in controlling the flow of programs .

The Control Unit within the 8086’s Execution Unit differs from the timing and control unit in the 8085 processor primarily in its role interacting with a more complex architecture. In the 8086, the Control Unit decodes opcodes and dispatches control signals not just to release stored values from the general-purpose registers but also to instruct the Arithmetic and Logic Unit (ALU) to perform operations, reflecting its interaction with a pipelined architecture. This differs from the 8085, where the timing and control unit performs more basic control as part of a simpler, non-pipelined architecture. Thus, the Control Unit in 8086 supports more advanced instruction processing and effective integration with BIU functionalities, emblematic of a more sophisticated microprocessor design .

Segment registers in the 8086 microprocessor are used to hold the starting addresses of different memory segments, facilitating segmented memory addressing. The BIU contains four types of segment registers: the code segment register, stack segment register, data segment register, and extra segment register, each holding addresses for the respective memory segments. To access a specific memory location, the 8086 combines a segment address from one of these registers with an offset address, thereby calculating the physical address. This mechanism allows the 8086 to efficiently manage and navigate through its 1 MB addressable memory space, utilizing a 20-bit address bus .

The introduction of a 20-bit address bus in the 8086 microprocessor, compared to the 8-bit address bus in its predecessor, the 8085, offers significant advantages. The primary benefit is the increase in addressable memory space; the 8086 can address up to 1 MB of memory, a substantial expansion over the far more limited addressable space of the 8085. This increase allows for more complex and larger-scale programs to be accommodated in memory, enhancing the microprocessor’s utility and performance in handling diverse computing tasks. Additionally, the larger address space facilitates the implementation of memory segmentation, which supports more efficient program execution and memory management .

The Bus Interface Unit (BIU) in the 8086 microprocessor is responsible for managing data, address, and control buses. Its primary functions include fetching sequenced instructions from memory, calculating the physical address of memory locations where instructions are stored, and managing a 6-byte pre-fetch queue for pipelining purposes. This enables the BIU to hold instructions while the Execution Unit is decoding and processing previous ones, thereby increasing processing efficiency. The BIU comprises segment registers, which hold addresses of memory segments, and manages the physical address calculation by combining segment addresses with offset addresses .

You might also like