MP 2
MP 2
1
2
3
ES Instruction 4
CS Queue 5
SS 6
BIU
DS
IP
Control & Timing
EU
AH AL
BH BL
CH CL
ALU
DH DL
BP
SP Operands
SI Flags
DI
A0 Add
Bus
A19
D0
Data
D15 Bus
8086
Control
signals
Memory Address Space
A19……………A0
0……………….0 00000H
1……………….1 FFFFFH
00000H
Memory
Address
Space
FFFFFH
Microprocessor
Executes Instruction EU
Address bus
BIU Discs
I/o
ROM RAM
Ports Video
Data Bus
ALU
CLK
Control
& Timing
EU
Variation of 8086 - 8088
• External Data Bus – 8-bits
• Inst Queue – 4 bytes
X86 - ISA
8086-80486 Programmers Model
BIU
Memory Addressing
• Real
– Access only 1 MB of Memory
– Only 20 Address Lines Required
• Protected
Programmer’s Model - BIU
EIP IP
CS
DS
ES
SS
FS
GS
Code Segment
Data Segment
Extra Segment
Stack Segment
CS = 2000H Base address
IP = 3000H Offset address
CS
2000H : 3000H
DS
ES
Physical address
= 20000H + SS
3000H
23000H
2000 0000
3000
Code
Segment
FFFF
Advantage of Segmentation
• Relocation
• Program – Specify only offset
• Program – F0000H 10000H
• Program contents need not be change – only
Segment needs to change from F000H
0000H
58FFFH
Extra
49000H 4900 ES
43FFFH
Stack
34000H 3400 SS
2FFFFH
Code
20000H 2000 CS
1FFFFH
Data
10000H 1000 DS
00000H
High Memory
• HIMEM.SYS
• A20
• Segment Address – FFFFH
• Offset Address – 4000H
• 103FF0H
• 03FF0H
X86 - ISA
AX AH AL
(8 bit) (8 bit)
(Accumulator)
BX BH BL
(Base Register)
CX CH CL
(Used as a counter)
DX DH DL
EAX AH AL
EBX BH BL
ECX CH CL
EDX DH DL
EBP BP
ESI SI
EDI DI
ESP SP
Default 16 bit segment and offset address
combinations
CS IP Instruction
Address
BX,DI,SI
DS an 8-bit number Data address
16 – bit number
EFLAGS FLAGS
Flags
• Status
• Control
Flag Register
A V R N IOPL O D I T S Z A P C
C M F T
80x86-Summary
BIU (Bus Interface Unit)
provides hardware funcns for generation of the memory
and I/O addresses for the transfer of data between
itself and the outside world
EU (Execution Unit)
receives program instruction codes and data from the
BIU executes these instructions and stores the results
in the general- purpose registers