Beruflich Dokumente
Kultur Dokumente
Suresh P. Nair [ME, (PhD)] MIEEE Professor & Head Department of Electronics and Communication Engineering Royal College of Engineering and Technology Chiramanangad PO, Akkikkavu, Thrissur, Kerala, India
MODULE 1&2
Complete idea about INTEL 8086 Microprocessor
Topics to be covered
1. Software Architecture of the INTEL 8086.
2. Hardware Architecture of INTEL 8086.
RCET
Assembler Directives.
Programming Exercises.
RCET
RCET
Segmented Memory
RCET
10
0000
Adder
RCET
11
RCET
12
RCET
14
RCET
15
RCET
16
RCET
17
RCET
18
RCET
19
RCET
21
RCET
22
RCET
23
Data Types
Unsigned byte integer 0 - 255
RCET
24
Data Types
-128 - +127
Signed integers
-32,768 - +32,767
RCET
25
Data Types
Unpacked BCD
Packed BCD
RCET
26
RCET
27
RCET
28
8086 Registers
Ge ne ral Purpose
AH AL
Inde x BP SP
AX
BH
BL
BX
SI
CH CL
CX
DI
DH
DL
DX
RCET
29
Normally used for storing temporary results Each of the registers is 16 bits wide (AX, BX, CX, DX) Can be accessed as either 16 or 8 bits AX, AH, AL
RCET Microprocessor & Microcontroller 30
BX
Base Register Also serves as an address register
RCET Microprocessor & Microcontroller 31
DX
Data register Used in multiplication and division Also used in I/O operations
RCET Microprocessor & Microcontroller 32
All 16 bits wide, L/H bytes are not accessible Used as memory pointers
Example: MOV AH, [SI]
Move the byte stored in memory location whose address is contained in register SI to register AH
Flag Register
Overflow Direction
Sign
RCET Microprocessor & Microcontroller
Stack Segment Data Segment Instruction Pointer AL BL CL DL Accumulator Base Register Count Register Data Register Stack Pointer Base Pointer Source Index Register Destination Index Register
EU registers
AX BX CX DX
AH BH CH DH
SP BP SI DI FLAGS
RCET
35
The Stack
The stack is used for temporary storage of information such as data or addresses. When a CALL is executed, the 8086 automatically PUSHes the current value of CS and IP onto the stack. Other registers can also be pushed
Before return from the subroutine, POP instructions can be used to pop values back from the stack into the corresponding registers.
RCET Microprocessor & Microcontroller 36
The Stack
RCET
37
RCET
38
RCET
39
RCET
40
RCET
43
Ground Reset
Registers, seg regs, flags
CS: FFFFH, IP: 0000H
Clock
Duty cycle: 33%
RCET Microprocessor & Microcontroller
Address/Data Bus:
Contains address bits A15-A0 when ALE is 1 & data bits D15 D0 when ALE is 0. Address Latch Enable: When high, multiplexed address/data bus contains address information.
RCET
45
Hold
Hold acknowledge
RCET
47
RCET
48
Bus High Enable/S7 Enables most significant data bits D15 D8 during read or write operation. S7: Always 1.
RCET
49
RCET
50
Write Signal
S2 S1 S0
000: INTA 001: read I/O port 010: write I/O port 011: halt 100: code access 101: read memory 110: write memory 111: none -passive
Status Signal
Inputs to 8288 to generate eliminated signals due to max mode.
RCET
52
Lock Output
Used to lock peripherals off the system Activated by using the LOCK: prefix on any instruction
DMA Request/Grant
Lock Output
RCET
53
QS1 QS0
00: Queue is idle
Queue Status
Used by numeric coprocessor (8087)
RCET Microprocessor & Microcontroller 54
RCET
55
RCET
56
RCET
57
RCET
58
RCET
59
RCET
60
The control signals for Maximum mode of operation are generated by the Bus Controller chip 8788.
The three status outputs S0*, S1*, S2* from the processor are input to 8788. The outputs of the bus controller are the Control Signals, namely DEN, DT/R*, IORC*, IOWTC*, MWTC*, MRDC*, ALE etc.
RCET Microprocessor & Microcontroller 61
RCET
62
RCET
63
Memory Banking
RCET
64
20
21
A(11-1)
Latch
D(7-0)
A(19-12) 16
8086
__ M/IO ___ WR ___ RD
BHE*
65
8086 Interrupts
RCET
66
RCET
67
RCET
68
RCET
69
RCET
70
RCET
71
2. BHE
3. M/IO
4. DT/R
5. RD
6. WR
7. DEN
RCET Microprocessor & Microcontroller 72
RCET
74
RCET
75
If it is low, execution of the signal will continue; if not, it will stop executing.
RCET Microprocessor & Microcontroller 76
RCET
77
Closely Coupled processor may take control of the bus independently. Two 8086s cannot be closely coupled.
RCET
78
Each share the system bus and communicate through shared resources.
Processor in their separate modules can simultaneously access their private subsystems through their local busses, and perform their local data references and instruction fetches independently. This results in improved degree of concurrent processing. Excellent for real time applications, as separate modules can be assigned specialized tasks
RCET Microprocessor & Microcontroller 80
3. A failure in one module normally does not affect the breakdown of the entire system and the faulty module can be easily detected and replaced 4. Each bus master has its own local bus to access dedicated memory or IO devices. So a greater degree of parallel processing can be achieved.
RCET Microprocessor & Microcontroller 81
WAIT State
Tw
Clock READY
A wait state (Tw) is an extra clocking period, inserted between T2 and T3, to lengthen the bus cycle, allowing slower memory and I/O components to respond.
The READY input is sampled at the end of T2, and again, if necessary in the middle of Tw. If READY is 0 then a Tw is inserted.
RCET Microprocessor & Microcontroller 82
RCET
83
RCET
84
RCET
85