Title: Architecture
18086/8088 Architecture
2- Introduction
- CPU Architecture
- Execution Unit
- General Registers
- Arithmetic Logic Unit
- Flag Registers
3- Bus Interface Unit
- Instruction Queue
- Instruction Pointer
- Segment Registers
4 8086 Architecture
20
BIU
8
BIU
Queue
CS
DS
seg
ES
SS
IP
BIU EU
16
Control unit
AH
AL
AX
BH
BL
BX
CH
CL
CX
ALU
ALU
DH
DL
DX
SI
SI
EU
DI
DI
BP
BP
FLAG REG
SP
SP
FLAG
REG
5General Registers
6(No Transcript)
7(No Transcript)
8BIU AND EU
- The execution unit and the Bus Interface unit
operate asynchronously. - The EU waits for the instruction object code to
be fetched from the memory by the BIU. - The BIU fetches or pre-fetches the object code
(16-bits at a time) and loads it into the six
bytes queue.
9- EU fetches the instruction object code from the
front of the instruction queue and executes the
instruction in specified number of clock periods. - The BIU is independent of the EU and attempts to
keep the six-bytes queue filled with instruction
object codes. - If two or more of these six bytes are empty,
then the BIU executes instruction fetch machine
cycles as long as the EU does not have an active
request for the bus access pending.
10Arithmetic Logic Unit (ALU) ALU is 16-bits
wide. It can do the following 16-bits arithmetic
operations (i) Addition (ii)
Subtraction (iii) Multiplication
(iv) Division
11- Unsigned binary numbers
- Signed binary numbers (Integers)
- Unsigned packed decimal numbers
- Unsigned unpacked decimal numbers
- The ALU can also perform logical operations such
as - (i) NOT (iv) EXCLUSIVE OR
- (ii) AND (v) TEST
- (iii) OR
-
12Flag Register
C
AC
P
I
S
Z
O
D
T
- Condition Flags
- Carry Flag (CF)
- Parity Flag (PF)
- Auxiliary Carry Flag (AC)
- Zero Flag (Z)
- Overflow Flag (O)
- Sign flag (S)
13- Control Flags
- Trap flag (T)
- Interrupt Flag (I)
- Direction Flag (D)
14 Bus Interface Unit (BIU)
- An instruction queue
- An Instruction pointer
- Segment registers
15An instruction queue
- First-in-first-out
- EU when ready fetches next instruction from
the queue. - BIU fetches as many as 6 instruction bytes
- Speeds up program execution.
16Instruction Pointer
- It is 16 bits.
- It contains 16 bits address pointing to the next
instruction that has to be fetched. - It always adds with the displaced 16 bits code
segment register to fetch the opcode from memory.
17Segment Register
- Four Segment registers
- Code Segment register
- Data Segment register
- Stack Segment register
- Extra Segment register
- They are 16 bits wide
18Segment Register
19- Code Segment
- Points to Instruction operation code
- The effective address is always from the
Instruction Pointer (IP).
- Data Segment / Extra Segment
- Points to data
- The effective address may be from -
20- Direct
- Register Indirect BX, SI, DI, BP
- Indexed SI Data, DI data
- Base BX Data,
- BP data
- Base Indexed
- SI BX,
- DI BX,
- SI BP,
- DI BP
21Base Indexed Relative SI BX Data, DI
BX Data, SI BP Data, DI BP
Data
Stack Segment SP register BP register
22(No Transcript)
23(No Transcript)
24- Given that the EA of a datum is 2359 H and the DS
490B H, what is the physical address of the
datum? - DS 490B0 H
- EA 2359 H
- Physical add. 4B409 H
- 2. If a physical branch address is 5A230 H when
(CS) 5200 H, what will be the branch address if
the (CS) is changed to 7800 H.
25Given CS 5200 To find
Offset XXXX Given Physical
add. 5A2 3 0 H Hence Offset Physical add
- (Segment address displaced by 4-bits)
Offset 5A230 - 52000 8230 H If the CS is
changed to 7800 H the Physical address will be
78000 8230 80230
26- Briefly describe 8086 microprocessor's
architecture. - Describe the function of the 8086 queue.
- . How does the queue speed up process
operation? - Assuming CS 7040H, what is the physical
address if instruction pointer contains 539CH?
275. What physical address is represented by
(a) 4370561E (b) 7A320028 6. . What is
the advantage of using a CPU register for
temporary data storage over using a memory
location? 7. If the stack segment register
contains 3000H and the stack pointer register
contains 8434H, what is the physical address of
the top of the stack?
28- 8. Describe the function of 8086 with respect to
(i) Queue (ii) Flag register (iii) Segment
register (iv) Arithmetic Logic unit (v)
General Registers (vi) BIU and EU - 9. Discuss how physical address is generated?
- What is the purpose of the IP register?
- What conditions will cause the BIU to suspend
fetching instructions?
29- 12. What is the purpose of the segment register
in the operation of the microprocessor? - What is the purpose of the direction flag?
- Can Data Segment be used to access stack?
- Can all the segment registers be used to get
data?