Академический Документы
Профессиональный Документы
Культура Документы
It is a 16 bit p.
8086 has a 20 bit address bus can access upto
220 memory locations ( 1 MB) .
It can support upto 64K I/O ports.
It provides 14, 16-bit registers.
It has multiplexed address and data bus
Architecture of 8086
Internal Block Diagram of 8086
Internal block diagram can be partitioned
to 2 parts
Bus Interface Unit (BIU)
Execution Unit(EU)
EU - Execution Unit
General Purpose Registers
In te rn a l b u s
B IU
Pointer Registers
Index Registers
ALU
5
5
In te rn a l
bus
4
ES
SS
D S
CS
Flags
Segment Registers
IP
C o n tro l S y s te m
EU
In te rn a l B u s
Queue
Memory Addressing
Segment Base
Offset
A H
A L:
BH
BL
CH
CL
D H
D L
A LU
SP
BP
SI
O p e ra n d s
D I
F la g s
Q ueue
EU & BIU
The 8086 CPU logic has been partitioned into two functional
units namely Bus Interface Unit (BIU) and Execution Unit (EU)
The major reason for this separation is to increase the
processing speed of the processor
The BIU has to interact with memory and input and
output devices in fetching the instructions and data required
by the EU
EU is responsible for executing the instructions of the
programs and to carry out the required processing
EXECUTION UNIT
Decodes instructions fetched by the BIU
Generate control signals,
Executes instructions.
Control Unit
Internal bus
ALU
Registers
5
Execution Unit
Control unit is responsible for the co-ordination of
all other units of the processor
ALU performs various arithmetic and logical
operations over the data
The
instruction
decoder
translates
the
AX
BX
CX
DX
8 bits
8 bits
AH
AL
BH
BL
Base
CH
CL
Count
DH
DL
SP
Pointer
BP
SI
Index
DI
Accumulator
Data
Stack Pointer
Base Pointer
Source Index
Destination Index
7
AH
AL
BX
BH
BL
CX
CH
CL
DX
DH
DL
8
register
consists
of
two
8-bit
14
Over flow
O
F
Direction
U - Unused
D
F
IF
TF SF ZF U
Interrupt Trap
Sign
A
F
PF U
Auxiliary
Zero
Parity
CF
Carry
16
Flag Register
Carry Flag
Sign Flag
Zero Flag
Parity Flag
15
14
13
12
11
10
OF
DF
IF
TF
SF
ZF
Direction Flag
4
AF
2
PF
0
CF
Trap Flag
If this flag is set, the processor
enters the single step execution
mode by generating internal
interrupts after the execution of
each instruction
Interrupt Flag
Causes the 8086 to recognize
external mask interrupts; clearing IF
17
disables these interrupts.
Contains
6-byte Instruction Queue (Q)
The Segment Registers (CS, DS, ES, SS).
The Instruction Pointer (IP).
The Address Summing block ()
18
Instruction Pointer
The Instruction Pointer (IP) in 8086 acts as a Program
Counter.
Its
content
is
automatically
incremented
when
the
21
Segmented
Memory
Physical Memory
00000
memory.
The CPU 8086 is able to address
1Mbyte of memory.
1 MB
FFFFF
22
Segment: Offset
Notation
The total addressable memory size is 1MB
Most of the processor instructions use 16-bit
pointers the processor can effectively address
only 64 KB of memory
Segment Registers
There are four segment registers in Intel 8086:
(1). Code Segment Register (CS),
(2). Data Segment Register (DS),
(3). Stack Segment Register (SS),
(4). Extra Segment Register (ES).
24
Segment Register
A segment register points to the starting
address of a memory segment.
For e.g.:
The code segment register points to the starting
address of the code segment.
The data segment register points to the starting
address of the data segment, and so on.
Segment Register
Code segment (CS): It is a 16-bit register containing address of 64 KB
segment with processor instructions.
The processor uses CS segment for all accesses to
instructions referenced by instruction pointer (IP)
register.
CS register cannot be changed directly. The CS
register is automatically updated
jump, far call and far return instructions
during
far
26
Segment Register
Stack segment (SS): It is a 16-bit register containing address of 64KB
instruction.
27
Segment Register
Data segment (DS): It is a 16-bit register containing address of 64KB
segment with program data.
By default, the processor assumes that all data
referenced by general register BX and index
register (SI, DI) is located in the data segment.
28
Segment Register
Extra segment (ES): It is a 16-bit register containing address of 64KB
segment, usually with program data.
By default, the processor assumes that the DI
register references the ES segment in string
manipulation instructions.
29
EU
AX
AH
AL
BX
BH
BL
CX
CH
CL
DX
DH
DL
SP
BP
SI
IP
D
E
C
O
D
E
R
QUEUE
CS
DS
ES
SS
IP
BX
DI
DI
SP
BP
SI
DI
FLAGS
ALU
Timing
control
Default Assignment
33