MP 1
MP 1
SUBHAJIT BHOWMICK
Microprocessor Fifth Generation Pentium
Fourth Generation
During 1980s
Low power version of HMOS technology
(HCMOS)
Third Generation 32 bit processors
During 1978 Physical memory space 224 bytes = 16 Mb
HMOS technology ⇒ Faster speed, Higher Virtual memory space 240 bytes = 1 Tb
packing density Floating point hardware
16 bit processors ⇒ 40/ 48/ 64 pins Supports increased number of addressing
Easier to program modes
Dynamically relatable programs
Processor has multiply/ divide arithmetic Intel 80386
hardware
More powerful interrupt handling
capabilities Second Generation
Flexible I/O port addressing During 1973
NMOS technology ⇒ Faster speed, Higher
Intel 8086 (16 bit processor) density, Compatible with TTL
4 / 8/ 16 bit processors ⇒ 40 pins
First Generation Ability to address large memory spaces
Between 1971 – 1973 and I/O ports
PMOS technology, non compatible with TTL Greater number of levels of subroutine
4 bit processors ⇒ 16 pins nesting
8 and 16 bit processors ⇒ 40 pins Better interrupt handling capabilities
Due to limitations of pins, signals are 2
multiplexed Intel 8085 (8 bit processor)
8086 Microprocessor
Overview
3
4
8086 Microprocessor
Architecture
11
8086 Microprocessor
Architecture Bus Interface Unit (BIU)
Segment
Registers
12
8086 Microprocessor
Architecture Bus Interface Unit (BIU)
13
8086 Microprocessor
Architecture Bus Interface Unit (BIU)
14
8086 Microprocessor
Architecture Bus Interface Unit (BIU)
15
8086 Microprocessor
Architecture Bus Interface Unit (BIU)
16
8086 Microprocessor
Architecture Bus Interface Unit (BIU)
17
8086 Microprocessor
Architecture Bus Interface Unit (BIU)
Instruction queue
• A group of
First-In-First-Out (FIFO)
in which up to 6 bytes of
instruction code are pre
fetched from the memory
ahead of time.
18
8086 Microprocessor
Architecture Execution Unit (EU)
EU decodes and
executes instructions.
A decoder in the EU
control system
translates instructions.
and
Some of the 16 bit registers can be
Index registers (Source used as two 8 bit registers as :
Index, Destination Index)
each of 16-bits AX can be used as AH and AL
BX can be used as BH and BL
CX can be used as CH and CL 19
DX can be used as DH and DL
8086 Microprocessor
Architecture Execution Unit (EU)
•AL in this case contains the low order byte of the word, and
AH contains the high-order byte.
20
8086 Microprocessor
Architecture Execution Unit (EU)
•BL in this case contains the low-order byte of the word, and
BH contains the high-order byte.
21
8086 Microprocessor
Architecture Execution Unit (EU)
Example:
22
8086 Microprocessor
Architecture Execution Unit (EU)
EU
Registers
23
8086 Microprocessor
Architecture Execution Unit (EU)
24
8086 Microprocessor
Architecture Execution Unit (EU)
25
8086 Microprocessor
Architecture Execution Unit (EU)
26
27
28
5000:2050
SEGMENT ADDRESS:OFFSET ADDRESS
29
30
8086 Microprocessor
Architecture Execution Unit (EU)
Auxiliary Carry Flag
Carry Flag
Flag Register This is set, if there is a carry from the
This flag is set, when there is
lowest nibble, i.e, bit three during
addition, or borrow for the lowest a carry out of MSB in case of
nibble, i.e, bit three, during addition or a borrow in case
subtraction. of subtraction.
This flag is set, when the This flag is set, if the result of This flag is set to 1, if the lower
result of any computation the computation or comparison byte of the result contains even
is negative performed by an instruction is number of 1’s ; for odd number
zero of 1’s set to zero.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OF DF IF TF SF ZF AF PF CF
Tarp Flag
Over flow Flag If this flag is set, the processor
This flag is set, if an overflow occurs, i.e, if the result of a signed enters the single step execution
operation is large enough to accommodate in a destination
mode by generating internal
register. The result is of more than 7-bits in size in case of 8-bit
signed operation and more than 15-bits in size in case of 16-bit interrupts after the execution of
sign operations, then the overflow will be set. each instruction
32
8086 Microprocessor
Architecture
8086 registers
categorized 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
into 4 groups OF DF IF TF SF ZF AF PF CF
MEMORY BANK
The 8086’s 1MByte memory address space is divided in to two independent 512
KByte banks: the low (even) bank and the high (odd) bank.
Address bits A1 through A19 select the storage location that is to be accessed.
They are applied to both banks in parallel.
A0 pin and Bus high enable (BHE) pin are used as bank-select signals.
BHE AO PROCESSING
0 0 BOTH BANKS ACTIVE 16 BIT WORD(data transfer through D0-D15
lines)
0 1 Only high bank active (data transfer through D8-D15 lines)
1 0 Only low bank active (data transfer through D0-D7 lines)
1 1 NO bank active
00000 00001
00002 00003
00004 00005
00008 00009
10000 10001
20000 20001
40000 80001 36
FFFFE FFFFF
When a byte of data at an even address (such as X) is
to be accessed
37
• A0 is set to logic 0 to enable the low
bank of memory.
• BHE is set to logic 1 to disable the
high bank.
38
When a byte of data at an odd address (such as X+1)
is to be accessed
39
• A0 is set to logic 1 to disable the low
bank of memory.
• BHE is set to logic 0 to enable the
high bank.
40
When a word of data at an odd address (misaligned
word) is to be accessed
41
• During the first bus cycle, the odd
byte of the word (in the high bank) is
addressed
• A0 is set to logic 1 to disable the low
bank of memory
• BHE is set to logic 0 to enable the
high bank.
42
43
• During the second bus cycle, the odd
byte of the word (in the low bank) is
addressed.
• A0is set to logic 0 to enable the low
bank of memory.
• BHE is set to logic 1 to disable the
high bank.
44