8086 Microprocessor
8086 Microprocessor
Electrical Engineering
8086 Microprocessor
Bit 15-12 11 10 9 8 7 6 5 4 3 2 1 0
Fla
OF DF IF TF SF ZF AF PF CF
g
Performance
Simplified block diagram over Intel 8088 (a variant of 8086); 1=main &
index registers; 2=segment registers and IP; 3=address adder; 4=internal
address bus; 5=instruction queue; 6=control unit (very simplified!); 7=bus
interface; 8=internal data bus; 9=ALU; 10/11/12=external
address/data/control bus.
Although partly shadowed by other design choices in this particular chip,
the multiplexed address and data buses limit performance slightly; transfers
of 16-bit or 8-bit quantities are done in a four-clock memory access cycle,
which is faster on 16-bit, although slower on 8-bit quantities, compared to
many contemporary 8-bit based CPUs. As instructions vary from one to six
bytes, fetch and execution are made concurrent and decoupled into
separate units (as it remains in today's x86 processors): The bus interface
unit feeds the instruction stream to the execution unit through a 6-byte
prefect queue (a form of loosely coupled pipelining), speeding up
operations on registers and immediate, while memory operations became
slower (four years later, this performance problem was fixed with
the 80186 and 80286).