Skip to main content

BIU and EU of 8086

Short answer

The BIU handles all external bus operations: it fetches instructions into a 6-byte queue, generates 20-bit addresses, and contains segment registers and IP. The EU decodes and executes instructions from the queue, contains general registers, ALU, flags, and control unit. They operate concurrently via pipelining.

Discuss and differentiate between Bus Interface Unit (BIU) and Execution Unit (EU) of 8086 Microprocessor.

The 8086 is internally divided into the Bus Interface Unit (BIU) and the Execution Unit (EU), which operate concurrently; this overlap of fetch and execute is called pipelining.

BIU: interfaces the processor with memory and I/O. It generates the 20-bit physical address (segment × 10H + offset), fetches instruction bytes into the 6-byte instruction queue, reads/writes operands and controls the buses. It contains segment registers (CS, DS, SS, ES), IP, the address adder, the queue and bus control logic.

EU: decodes and executes instructions taken from the queue. It contains the general registers (AX, BX, CX, DX), pointer/index registers (SP, BP, SI, DI), the ALU, flag register and control unit. When it needs memory or I/O, it asks the BIU.

PointBIUEU
Main functionFetch instructions, access memory/I/ODecode and execute instructions
ContainsSegment registers, IP, address adder, queueGeneral registers, ALU, flags, control unit
Bus accessDirectly connected to busesNo direct bus connection
Address workForms 20-bit physical addressSupplies the offset (effective address)
QueueFills the 6-byte queueRemoves instructions from the queue
Idle conditionWaits when queue is fullWaits when queue is empty (e.g. after a jump)

✓ Answer checked by Claude Opus 5.5 (high effort)

All Microprocessor chapter 3 questions →