Professional Documents
Culture Documents
CS EEE F241 Microprocessor Architecture Jan 19th 2016
CS EEE F241 Microprocessor Architecture Jan 19th 2016
ELECTRICAL
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
EVOLUTION OF MICROPROCESSOR
1/23/2016
ELECTRICAL
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
16 bit Microprocessor
1/23/2016
ELECTRICAL
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
32 bit Microprocessor
1/23/2016
ELECTRICAL
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
1/23/2016
ELECTRICAL
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
1/23/2016
ELECTRICAL
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
8086 Microprocessor
1/23/2016
ELECTRICAL
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
EU Operation
1. Fetch an instruction from instruction
queue
2. According to the instruction, EU control
logic generates control signals.
(This process is also referred to as instruction
decoding)
AH
BH
CH
DH
AL
BL
CL
DL
SP
BP
SI
DI
ALU
A logic operation
Storing a data into a register
Moving a data from a register
Flag register
General purpose
register
EU
control
instruction
1011000101001010
ELECTRICAL
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
8086 Microprocessor
1/23/2016
ELECTRICAL
12
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
Execution Unit
(EU)
AH
AL
BH
BL
CH
CL
DH
DL
General purpose
register
SP
Segment
register
BP
SI
DI
CS
Data bus
(16 bits)
DS
SS
ES
IP
Bus
control
ALU
Instruction Queue
External bus
EU
control
Flag register
ELECTRICAL
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
X86 -ISA
Register Organisation
1/23/2016
ELECTRICAL
14
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
Segment Registers.
- CS, DS, SS, ES
Flag Registers
-FLAGS
1/23/2016
ELECTRICAL
15
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
Multipurpose Registers.
- AX, BX, CX, DX, BP, DI, SI
Segment Registers.
- CS, DS, SS, ES
1/23/2016
ELECTRICAL
16
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
1/23/2016
ELECTRICAL
17
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
3-18
ELECTRICAL
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
1/23/2016
ELECTRICAL
19
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
Pointer and
Index Group
SP
Stack Pointer
BP
Base Pointer
SI
Source Index
DI
Destination Index
3-20
ELECTRICAL
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
1/23/2016
ELECTRICAL
21
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
Flag Register
FLAGS
- Status Flag
- Control Flag
FLAG Register
1/23/2016
ELECTRICAL
22
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
Control
IF:
DF:
TF:
ELECTRICAL
OF DF IF TF SF ZF AF PF CF
Status Flags
Flags
ELECTRONICS
CF:
PF:
AF:
ZF:
SF:
OF:
Carry flag
Parity flag
Auxiliary carry flag
Zero flag
Sign flag
Overflow flag 3-23
COMMUNICATION
INSTRUMENTATION
Flags
Conditional/ status Flags: They are set/reset by the processor to indicate
certain condition that arises during the execution of a program. (the lower
byte of 16 bit along with overflow flag.)
- Reflects the result of operation performed by CPU.
3-24
ELECTRICAL
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
Status Flags
Carry - unsigned arithmetic out of range (set or C=1)
Parity - no. of 1 s is an even number (set or P=1)
ELECTRICAL
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
Status Flags
3-26
ELECTRICAL
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
Control Flags
IF: Interrupt enable flag (If IF is set, IF=1 CPU will
serve the interrupts from external device)
DF: Direction flag used for string manipulation of
instructions. (If DF is set, DF=1, string will process
from highest towards lowest address) (opposite of little
endian format)
ELECTRICAL
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
Segment Registers
1/23/2016
ELECTRICAL
28
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
Segment Registers:
Segment register stores upper 16 bits of its starting address.
(base address)
code segment registers - holds base address from where
instructions are coming (base address of memory location in code
segment)
stack segment registers - stores base address of stack while a
subprogram is executed. (base address of memory location in
stack segment)
data segment registers - holds base address of memory location
where data stored (base address of memory location in data
segment)
extra segment registers - holds base address of memory location
if extra data required (another data segment)
Microprocessor System Design
ELECTRICAL
ELECTRONICS
COMMUNICATION
3-29
INSTRUMENTATION
Stack Segment
The CPU use the stack for temporarily
storing important data. For example the
content of register that will be require
at later stage.
The stack grows down i.e. the data is
pushed onto the stack memory
locations with decreasing address.
When the data is required by CPU in
later stage they will be popped off from
the stack.
ELECTRICAL
ELECTRONICS
COMMUNICATION
3-30
INSTRUMENTATION
ELECTRICAL
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
1/23/2016
ELECTRICAL
32
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
ELECTRICAL
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
ELECTRICAL
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
ELECTRICAL
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
1/23/2016
ELECTRICAL
36
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
ELECTRICAL
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
3-38
ELECTRICAL
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
Segmentation
Physical memory address pointed by
segment (range: 0000H to F000H) and
offset (range: 0000H to FFFFH) pair is calculated as:
ELECTRICAL
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
Segmentation
3-40
ELECTRICAL
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
OFFSET
CS
IP
SS
SP (or) BP
STACK ADDRESS
DS
DATA ADDRESS
ES
SPECIAL
PURPOSE
INSTRUCTION
ADDRESS
STRING
DESTINATION
ADDRESS
1/23/2016
ELECTRICAL
41
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
Segmentation in 8086
(Physical address calculation)
3-42
ELECTRICAL
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
Programmers Model
1/23/2016
ELECTRICAL
43
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
Segmentation
1/23/2016
ELECTRICAL
44
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
Physical Address
1/23/2016
ELECTRICAL
45
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
Advantage of Segmentation
1/23/2016
ELECTRICAL
46
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
n bits
F
n bits
Carry
Y= 0 ?
A>B?
0
0
0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
A+B
A -B
A -1
A and B
A or B
not A
ELECTRICAL
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
X86 -ISA
8086-80486 Programmers Model
BIU
1/23/2016
ELECTRICAL
48
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
Memory Addressing
Real
- Access only 1MB of memory
- Only 20 Address lines required.
Protected
- support multitasking
- memory management protection enabled
1/23/2016
ELECTRICAL
49
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
1/23/2016
ELECTRICAL
50
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
1/23/2016
ELECTRICAL
51
ELECTRONICS
COMMUNICATION
INSTRUMENTATION
80X86 Summary
EU (Execution Unit)
ELECTRICAL
52
ELECTRONICS
COMMUNICATION
INSTRUMENTATION