RTUComputer ScienceYr 2023 · Sem 52023

Q5Microprocessor and Interfaces

Question

10 marks

(a) Explain the 8086 microprocessor architecture in detail. (b) Discuss the difference between 8085 and 8086 microprocessors.

Answer

A catastrophic architectural evolution: An exhaustive breakdown of the Intel 8086 Microprocessor, detailing its dual-pipeline architecture (BIU and EU), 1-Megabyte memory segmentation, and a rigorous structural comparison proving its absolute dominance over the archaic 8085.

Introduced in 1978, the Intel 8086 triggered a catastrophic revolution in computing. It completely abandoned the primitive 8-bit architecture of the 8085, upgrading to a massive 16-bit physical ALU and a 20-bit address bus (capable of mathematically addressing an unimaginable 1 Megabyte of RAM). To achieve unprecedented execution speed, the internal silicon architecture was violently split into two highly independent, parallel-processing hardware units: The Bus Interface Unit (BIU) and the Execution Unit (EU).

1. The Bus Interface Unit (BIU)

The BIU is the microprocessor's aggressive external interface. It handles absolutely all communication with the physical motherboard, RAM, and I/O devices.

  • Instruction Queue (Pipelining): This is the 8086's greatest architectural innovation. The BIU contains a physical 6-byte FIFO (First-In-First-Out) hardware queue. While the EU is busy crunching math, the BIU aggressively pre-fetches the next 6 bytes of machine code from RAM and slams them into this queue. This completely eradicates CPU idle time.
  • Segment Registers: To mathematically generate a massive 20-bit physical memory address using only 16-bit internal registers, the BIU utilizes four 16-bit Segment Registers: Code Segment (CS), Data Segment (DS), Stack Segment (SS), and Extra Segment (ES). The BIU mathematically calculates the absolute 20-bit address by taking the Segment Register, violently shifting it left by 4 bits (multiplying by 16), and adding a 16-bit logical Offset.

2. The Execution Unit (EU)

The EU is a completely isolated mathematical engine. It has absolutely no direct connection to the motherboard buses. It blindly pulls pre-fetched instructions directly from the BIU's 6-byte queue and violently executes them.

  • 16-bit ALU: Capable of executing true 16-bit binary addition, subtraction, and crucially, hardware-level multiplication and division (which the 8085 completely lacked).
  • General Purpose Registers: Contains four massive 16-bit registers: AX (Accumulator), BX (Base), CX (Count), and DX (Data). Each can be mathematically shattered into two 8-bit halves (e.g., AH and AL) for backwards compatibility.
  • Pointers and Index Registers: Contains highly advanced 16-bit registers (SP, BP, SI, DI) engineered specifically for complex string manipulation and array indexing.

The architectural leap from the 8085 to the 8086 was mathematically staggering.

  • Data Bus & ALU Size: The 8085 possesses a primitive 8-bit ALU and Data Bus. The 8086 possesses a massive 16-bit ALU and Data Bus, doubling data throughput in a single clock cycle.
  • Address Bus & Memory: The 8085 has a 16-bit address bus, strictly limiting RAM to 64 Kilobytes. The 8086 features a massive 20-bit address bus, expanding the absolute memory limit to 1 Megabyte ( bytes).
  • Pipelining Architecture: The 8085 executes instructions strictly linearly (Fetch, then Decode, then Execute). It cannot fetch while executing. The 8086 utilizes the 6-byte instruction queue to execute Parallel Pipelining, aggressively fetching future instructions while mathematically executing the current one.
  • Memory Segmentation: The 8085 uses a single, flat 64KB memory space. The 8086 violently introduced Memory Segmentation, dividing the 1MB space into logical 64KB segments (Code, Data, Stack) for advanced memory protection and multiprogramming.
  • Instruction Set: The 8085 lacks hardware multiplication and division. The 8086 instruction set includes native MUL and DIV opcodes, along with highly advanced string manipulation commands (MOVS, CMPS).
Back to Paper