Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Chapter 9
8086/8088 Hardware Specifications
2006 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved.
Objectives
Describe the functions of all 8086/8088 pins Understand DC characteristics and fan out Using the clock generator 8284A chip Connect buffers and latches to the buses Interpret timing diagrams Describe wait states and design their circuits Explain difference between minimum and maximum modes of using the 8086/8088 Introduce the 8087 floating point processor
2006 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved.
The 8086/8088
Fairly old microprocessors, but still considered a good way to introduce the Intel family Both microprocessors use 16-bit registers and 20-bit address bus (supporting 1 MB memory), but: - The 8086 (1978): 16-bit external data bus - The 8088 (1979): 8-bit external data bus Still used in embedded systems (cost is less than $1)
Brey: The Intel Microprocessors, 7e 2006 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved.
Maximum mode Minimum mode 2 Modes: Operation with a 8/9 pins have Math Coprocessor Different Basic Functions Operation Depending On the mode Pin budget: 8086, Min mode: 20 16 20 3 Address Data Control & Status Power
8086
Brey: The Intel Microprocessors, 7e
8088
2006 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved.
5.0 V
1-Level Noise Margin Guaranteed Output Levels Forbidden Forbidden Region Accepted Input Levels 0-Level Noise Margin
0 Logic Level
2006 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved.
0
ON
0-level Fanout = Maximum number of inputs that the output can support = 16 mA/1.6 mA = 10 For the 1 logic Level: (output sources current) If different, take the smallest of the two numbers
ON
1
OFF
Brey: The Intel Microprocessors, 7e
I/P sinks up to 40 QA Education, 1-Level fan out = 10 Rights Reserved. 2006 Pearson Upper Saddle River, NJ 07458. All also
* = 16 mA for standard 74 TTL # = 0.40 V for standard 74 TTL 8086/88 Qp does not strictly comply with the DC characteristics of the TTL family
A processor output can drive: One Standard 74XX input, or One 74SXX input, or Five 74LSXX inputs, or +: Current into pin (sink) Ten 74ALSXX inputs, or - : Current out of pin (source) Ten 74HCXX inputs
Brey: The Intel Microprocessors, 7e
0 level fan-out to TTL gate = 2 z 1.6 } 1 (8086/88 QP) but = 16 z 1.6 = 10 (for standard 74 TTL O/P)
2006 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved.
y Data, D
Some functions are multiplexed on the same pins to reduce chip pin count
AD15-0 Pins - 86
Data
Write Cycle
LatchLatch address o/ps to a buffer ALE: address to a buffer
For both QPs: Address bus signals are A0-A19 (20 lines) for 1M byte of addressing space Data bus signals are - D0-D7 for the 8088 - D0-D15 for the 8086 The address & data pins are multiplexed as: - AD0-AD7 (8088) - or AD0-AD15 (8086) Address/Status pins are MUXed - A/S for A16-19 (both QPs) The ALE O/P signal is used to demultiplex the address/data (AD) bus and the address/status (A/S) bus.
Brey: The Intel Microprocessors, 7e 2006 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved.
86
88
86: Address bits A16-A19 & #BHE: muxed with the status bits S3-S7.
Indicates status of processor and bus cycle
S3 & S4 indicate which segment register is used with the current instruction:
S5 = the IF (Interrupt flag) bit in FLAGS S6: 0 Spare #S0,1,2 are not MUXed. They encode bus status (current bus cycle) S7: 1 Available only in the MAX mode for use by a bus controller chip
Brey: The Intel Microprocessors, 7e 2006 #SS0: Not Muxed, Min mode Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved.
The read output (#RD) (i.e. RD): indicates a read operation Note: The write (#WR) output: indicates a write (a MIN/MAX output) The READY input: when low (= not ready), forces the processor to enter a wait state. Facilitates interfacing the processor to slow memory chips
Brey: The Intel Microprocessors, 7e
# or
2006 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved.
#TEST input: Example: interfacing the QP with the 8087 math coprocessor. Checked by the WAIT instruction that precedes each floating point instruction. If high, the instruction waits till input signal goes low and then gives FP Brey: Theinstruction to 7e Intel Microprocessors, the math processor
8086 processor
#TEST
Busy O/P
2. The 8/9 Signals that depend on mode: Their Min Mode States
For the processor to operate in the minimum mode, connect MN/#MX input directly to +5V. Their min mode states: M/#IO or IO/#M output: indicates whether the address on the address bus is a memory address (IO/#M = 0) or an I/O address (IO/#M = 1) #WR output: indicates a write operation. #INTA output: interrupt acknowledgement. Goes low in response to a hardware interrupt request applied to the INTR input. Interrupting device uses it to put the interrupt vector number on the data bus. The Qp reads the number and identifies the ISR* Note: Address on the bus can be either for ALE (address latch enable) output: Indicates that the muxed memory or I/O devices. M/#IO signal indicates which one is intended by the current instruction AD bus now carries address (memory or I/O). Use to latch that address to an external circuit *ISR = Interrupt Service Routine before the processor removes it!.
2006 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved.
2006 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved.
Multiprocessor System
Clock Generator
2006 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved.
2. The 8/9 Signals that depend on mode: Their Max Mode States
For the processor to operate in the minimum mode, connect MN/#MX input to ground.
#S0,#S1,#S2 outputs: Status bits that encode the type of the current bus cycle, Used by the 8288 bus controller and the 8087 coprocessor (Table 9-6) #RQ/GT0, #RQ/GT1: Bidirectional lines for requesting and granting access to a shared bus (Request/Get). For use in multiprocessor systems. The RG/GT0 line has higher priority #LOCK output: Activated for the duration of QP instructions having the LOCK prefix. Can be used to prevent other microprocessors from using the system buses and accessing shared memory or I/O for the duration of such instructions, e.g. LOCK:MOV AL,[SI] Table 9-6 QS0, QS1 (Queue Status) outputs: indicate the status of the internal instruction queue (Table 9-7). For use by the 8087 coprocessor to keep in step with the QP. Table 9-7 Brey: The Intel Microprocessors, 7e 2006 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved.
2006 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved.
Crystal
z3
z2
2006 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved.
To QP
2006 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved.
Select Crystal Osc or EFI External Frequency I/P Synchronize clock if EFI is used with multiprocessor systems
z3
z2
Peripheral Clock. f = 1/6th of crystal or EFI Frequency, 1:2 duty cycle
READY
To processor CLK input. f = 1/3rd of crystal or EFI Frequency, 1:3 duty cycle
Typical Application of the 8284A for clock and Reset signal generation
frequency, f
f/3
2.5 MHz
PCLK
OSC
f/6 f
15 MHz
R
Synced To CLK
RESET
Manual 50 Qs Effective Reset Digital Minimum RC time constant large enough #RES Input push button for 50 Qs min Reset pulse Switch at Brey: The Intel Microprocessors, 7e worst trigger conditions (1.05 V Threshold) 2006 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved.
Buffering: Fan out is limited, so output signals should be buffered in large systems
Brey: The Intel Microprocessors, 7e 2006 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved.
Memory write cycle for the 8088 (non-muxed line are not shown) Data and address lines must remain valid and stable for the duration of the cycle 74373 is an Octal D-type transparent Latch with 3-state outputs
Brey: The Intel Microprocessors, 7e
2006 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved.
20-bit
16-bit
2006 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved.
D O/P Transparency
Buffering
Since the microprocessor output pins provide minimum drive current at the 0 logic level, buffering is often needed if more TTL loads are connected to any bus signal: Consider 3 types of signals For demuxed signals: Latches used for demuxing, e.g. 373, can also provide the buffering for the demuxed lines:So, Fan out = ?
0-level output can sink up to 32 mA (20 x 1.6 mA loads) 1-Level output can source up to 5.2 mA (1 load = 40 QA)
Which case sets the limit?
For non-demuxed unidirectional (always output) address and control signals (e.g. A8-15 on the 8088), buffering is requiredoften using the 74ALS244 (unidirectional) buffer. For non-demuxed bidirectional data signals (pin used for both in and out), buffering is often accomplished with the 74ALS245 bidirectional bus buffer Caution: Buffering introduces a small delay in the buffered signals. This is acceptable unless memory or I/O devices operate close to the maximum bus speed
Brey: The Intel Microprocessors, 7e 2006 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved.
A B isolation with G = 1
245 Buffer
DIR Direction 1: A B 0: A B 2006 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved. Enable external buffers
2006 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved.
(Not Transceivers)
2006 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved.
A-B: Open circuit, No connection 2006 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved.
Clock Cycle
Latch Address
Muxed Lines
, #INTA
IN
Address O/P
Data
Device strobes data in Note: #RD,#WR,#INTA are all inactive high during T1 Education, Upper Saddle River, NJ 07458. All Rights Reserved. Brey: The Intel Microprocessors, 7e 2006 Pearson
Also DT/#R = 0
QP strobes data in
To Device
Bus
Or I/O Device
2006 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved.
2. Latch/Buffer Delay Time 1. Valid Address Delay Time 3T for the processor To get data from memory Maximum allowed memory access time A7-A0 Muxed Read
SeeFig.Pearson Education, Upper SaddleTiming07458. All Rights Reserved. 2006 9-12 for Detailed River, NJ Specifications
3. Interrupting device sees this and puts a byte-long pointer to Interrupt Vector on the data bus
2. Processor floats the AD7-AD0 bus and Acknowledges the Interrupt by lowering #INTA
Upon accepting a hardware interrupt request from a device (on INTR), the processor acknowledges this to the device and initiates an #INTA read cycle for the 1-byte interrupt number which the processor reads and uses as a pointer to the interrupt service routine to be executed SeeFig.Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved. Brey: The Intel Microprocessors, 7e 2006 9-12 for Detailed Timing Specifications
2006 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved.
Also DT/#R = 1
1. Address established
Hold Time
(Tw)
Then Sample at middle of each TW
0 ns
8 ns
READY Output from 8284A 30 ns (Input to 8086) Active (Ready) 118 ns Internal Sync circuits In the 8284A ensure that READY output to processor meets the above timing requirements
Generation of 0-7 wait states Using one of the two RDY inputs to the 8284A 1st bus cycle state
RD
#RD gated by the for the memory device Requiring wait states
(Gated)
RDY1
QA QB QC
0W 1W 2W
Serial I/P
1
OR
RD
(Gated)
Effectively, RDY1 = (Selected Q + RD) (when the slow memory device is accessed) Note: #RD,#WR,#INTA Note: #RD is extended with are all inactive high during T1 the addition of wait states
Brey: The Intel Microprocessors, 7e 2006 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved.
Control signals omitted must be externally generated using an external bus controller, e.g. 8288. The controller decodes those control signals from the now compressed form of 3 control bits (#S0,#S1,#S2) Can be used with the 8087 math coprocessor Can be used with multiprocessor systems Maximum mode no longer supported since 80286
Brey: The Intel Microprocessors, 7e 2006 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved.
Address Demultiplexing
Address Decoding Direction
AD Bus Prevents Transceiver from driving the AD bus when interrupt controller Is using it
RAM
ROM
I/O
Here the Interrupt controller accesses the AD bus before demultiplexing - careful! Brey: The Intel Microprocessors, 7e
Interrupt Handling
8086 Chipset
Brey: The Intel Microprocessors, 7e 2006 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved.
2006 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved.
2006 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved.
Busy
ST(7)
2006 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved.
Bus Request/Grant Outputs RQ0/GT0: Allow 8087 to request use of the bus, e.g. for DMA memory access Queue Status Outputs QS1,QS0: - For use by coprocessors that receive their instructions via ESC prefix. - Allow the coprocessor to track the progress of an instruction through the 8086 queue and help it determine when to access the bus for the escape op-code and operand. - Indicate the status of the internal instruction queue as given in the table: QS1 0 0 1 1
Brey: The Intel Microprocessors, 7e
QS0 0 1 0 1
Queue is idle First byte of opcode from queue Queue is empty Subsequent byte of opcode from queue
2006 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved.
AD Before Demuxing
The 8086 with an 8087 Coprocessor 8086 Brey: The Intel Microprocessors, 7e is operating in the MAX2006 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved. mode
WAIT instructions can be used to halt the 8086 to ensure that the 8087 has finished a crucial step, e.g. storing a result in memory.
Brey: The Intel Microprocessors, 7e 2006 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved.
80386 Program Note: 8087 automatically converts Data from integer to FP when moving it from memory to its data stack
Brey: The Intel Microprocessors, 7e
Push
Pop 2006 Pearson Education, Upper Saddle River, NJ 07458. All Rights Reserved.