8086 Microprocessor Architecture
8086 Microprocessor Architecture is crucial for understanding advanced microprocessor concepts and embedded system design.
Drafted with Aria, reviewed by the AiCanCode.org team. Spotted an error? Use Give Feedback at the bottom of the page.
Why it matters
The 8086 microprocessor architecture is foundational in the evolution of microprocessors, influencing modern computing systems. Understanding its architecture helps in grasping the design and functioning of more advanced processors, which is essential for embedded system design and optimization.
Key ideas
- 16-bit Microprocessor: The 8086 is a 16-bit microprocessor, meaning it can process 16 bits of data at a time.
- Registers: It has a set of registers including general-purpose registers (AX, BX, CX, DX), segment registers (CS, DS, SS, ES), pointer and index registers (SP, BP, SI, DI), and a flag register.
- Segmented Memory: The 8086 uses a segmented memory model, allowing it to address 1 MiB of memory using 16-bit segment and offset addresses.
- Bus Interface Unit (BIU) and Execution Unit (EU): The architecture is divided into BIU, which handles all bus operations, and EU, which executes instructions.
- Instruction Queue: It uses a 6-byte instruction queue for pipelining, improving execution speed by pre-fetching instructions.
Formulas
Physical Address = (Segment Address × 10H) + Offset Address- Segment Address: 16-bit segment-register value; multiply by 16 to obtain the segment base
- Offset Address: Offset within the segment (no unit)
- Physical Address: Actual memory address (no unit)
Worked example
Given: Segment Address = 1234H, Offset Address = 5678H
- Convert segment and offset addresses to decimal.
- Segment Address = 1234H = 4660
- Offset Address = 5678H = 22136
- Calculate the physical address using the formula.
Physical Address = (Segment Address × 10H) + Offset AddressPhysical Address = (4660 × 16) + 22136Physical Address = 74560 + 22136Physical Address = 96696
- Convert the physical address back to hexadecimal.
- Physical Address = 179B8H
Final Answer: 179B8H
Direct hexadecimal check: 12340H + 5678H = 179B8H. The original 8086 has a 20-bit physical address bus; physical addresses wrap modulo 2^20. The EU’s registers also include the instruction pointer IP. AX, BX, CX and DX are the four data registers; SP, BP, SI and DI are also often grouped under general-purpose registers in broader terminology.
Common mistakes
- Confusing segment and offset addresses, leading to incorrect physical address calculations.
- Forgetting to multiply the segment address by 10H (16 in decimal) when calculating the physical address.
- Misinterpreting hexadecimal values as decimal.
For GATE EC
Questions often involve calculating physical addresses, understanding the role of different registers, and explaining the segmented memory model. Practice converting between hexadecimal and decimal, and understanding the function of the BIU and EU.
Quick check
- What is the size of the instruction queue in the 8086 microprocessor?
- How many primary data registers (AX, BX, CX, DX) does the 8086 have?
- What is the maximum memory addressable by the 8086?
Answers: 1. 6 bytes, 2. 4, 3. 1 MiB
Finished this topic? Mark it so your progress, study plan and readiness keep up.
Stuck on something here?