Download Chapter 6

Document related concepts

Multidimensional empirical mode decomposition wikipedia , lookup

Flip-flop (electronics) wikipedia , lookup

Opto-isolator wikipedia , lookup

Bus (computing) wikipedia , lookup

Immunity-aware programming wikipedia , lookup

Transcript
Chapter 9
8086/8088 Hardware
specifications
Introduction
describe pin functions of both 8086 and 8088
provide details :
clock generation, bus buffering, bus latching, timing,
wait states, minimum and maximum mode operation
Fig. 9-1 : Pin-outs of 8086/8088
40-pin dual in-line packages(DIPs)
difference :
data bus width → 8086 : 16 bit, 8088 : 8 bit
pin 28 → 8086 : M/IO’, 8088 : IO/M’
pin 34 → 8086 : BHE’/S7, 8088 : SS0
Ch.9 8086/8088 Hardware
Specifications
2
Fig. 9-1
Fig. 9-1
Ch.9 8086/8088 Hardware
Specifications
3
9-1 Pin-outs and the pin functions
Power Supply Requirement : +5.0V 10%
maximum supply current : 360mA(8086), 340(8088)
operate in ambient temperature : 32ºF ~ 180ºF(0~82°C)
CMOS version : 80C86, 80C88(10mA, -40ºF ~ 225ºF(-40~
107°C))
DC Characteristics :
Input Characteristics : Table 9-1
input current requirement for input pin
gates connections of MOSFETs and represent leakage current
Ch.9 8086/8088 Hardware
Specifications
4
Table 9-1,2
Table 9-1,2
Ch.9 8086/8088 Hardware
Specifications
5
9-1 Pin-outs and the pin functions
Output Characteristics : Table 9-2
output current drive capability for output pin
logic 1 voltage level : compatible most standard logic family
logic 0 voltage level : max. 0.45V(standard logic : max. 0.4V)
this difference : reduced noise immunity from standard level
0.4V(0.8-0.4) to 0.35V(0.8-0.45)
noise immunity : difference between logic 0 output voltage
and logic 0 input voltage levels
reduced noise immunity may result in problems : long wire
connection, too many load
recommended : no more than 10 loads without buffering
Table 9-3: best choice for connection to 8086→LS,ALS,HC
Ch.9 8086/8088 Hardware
Specifications
6
Table 9-3
Table 9-3 : Recommended fan-out from any
8086/8088 pin connection
Ch.9 8086/8088 Hardware
Specifications
7
Pin Connections
AD7-AD0 : address/data bus(multiplexed)
memory address or I/O port no : whenever ALE = 1
data : whenever ALE = 0
high-impedance state : during a hold acknowledge
A15-A8 : 8088 address bus
high-impedance state : during a hold acknowledge
AD15-AD8 : address/data bus(multiplexed)
memory address bits A15-A8 : whenever ALE = 1
data bits D15-D8 : whenever ALE = 0
high-impedance state : during a hold acknowledge
Ch.9 8086/8088 Hardware
Specifications
8
Pin Connections
A19/S6-A16/S3 : address/status bus(multiplexed)
memory address A19-A16, status bits S6-S3
high-impedance state : during a hold acknowledge
S6 : always remain a logic 0
S5 : indicate condition of IF flag bits
S4, S3 : show which segment is accessed during current
bus cycle(Table 9-4)
S4, S3 : can used to address four separate 1M byte
memory banks by decoding them as A21, A20
Ch.9 8086/8088 Hardware
Specifications
9
Pin Connections
RD’ : read signal
data bus receive data from memory or I/O device :RD’=0
high-impedance state : during a hold acknowledge
READY :
µ enter into wait states and remain idle : READY = 0
no effect on the operation of µ : READY = 1
INTR : interrupt request
used to request a hardware interrupt
if INTR is held high when IF = 1 : µ enter interrupt
acknowledge cycle(INTA’ become active) after current
instruction has complete execution
Ch.9 8086/8088 Hardware
Specifications
10
Pin Connections
TEST’(BUSY’) : tested by the WAIT instruction
WAIT instruction function as a NOP : if TEST’= 0
WAIT instruction wait for TEST’ to become 0:if TEST’=1
NMI : non-maskable interrupt
similar to INTR except that no check IF flag bit
if NMI is activated : use interrupt vector 2
RESET :
µ : reset if RESET held high for a minimum of four clock
CLK(CLOCK) : provide basic timing to µ
duty cycle of 33%
VCC(power supply) : +5.0V, ±10%
Ch.9 8086/8088 Hardware
Specifications
11
Pin Connections
GND(Ground) : two pins labeled GND
MN/MX’ : select either minimum or maximum mode
BHE’/S7 : bus high enable
enable the most significant data bus bits(D15-D8) during
read or write operation
status of S7 : always a logic 1
Minimum Mode Pins: MN = 1(directly to +5.0V) next p
IO/M’(8088) or M/IO’(8086) : select memory or I/O
address bus : whether memory or I/O port address
WR’ : write signal(high impedance state during hold ack.)
strobe that indicate that output data to memory or I/O
during WR’=0 : data bus contains valid data for M or I/O
Ch.9 8086/8088 Hardware
Specifications
12
Fig. 9-1
Fig. 9-1
Ch.9 8086/8088 Hardware
Specifications
13
Minimum Mode Pins
INTA’(interrupt acknowledge) : response to INTR input pin
normally used to gate interrupt vector no onto data bus
ALE(address latch enable) : does not float during hold ack
address/data bus : contain address information
DT/R’(data transmit/receive) :
data bus : transmit(DT/R’=1) or receive(DT/R’=0) data
used to enable external data bus buffers
DEN(data bus enable) : activate external data bus buffers
HOLD : request a direct memory access(DMA)
if HOLD=1 : µ stops executing software and places
address, data, and control bus at high-impedance state
HOLD=0 : µ execute software normally
Ch.9 8086/8088 Hardware
Specifications
14
Minimum Mode Pins
HOLDA(hold acknowledge):indicate µ has entered hold state
SS0’ : equivalent to S0 pin in maximum mode operation
combined with IO/M’, DT/R’ to decode function of current
bus cycle(Table 9-5)
Ch.9 8086/8088 Hardware
Specifications
15
Maximum Mode Pins
MN/MX’ = 0(ground) next page
S2’,S1’,S0’:indicate function of current bus cycle(T 9-6)
these signal : normally decoded by 8288 bus controller
Ch.9 8086/8088 Hardware
Specifications
16
Fig. 9-1
Fig. 9-1
Ch.9 8086/8088 Hardware
Specifications
17
Maximum Mode Pins
R1’/GT1’, R0’/GT0’(request/grant) : request DMA
bi-directional, request and grant DMA operation
LOCK’(lock output): used to lock peripherals off the system
activated by using the LOCK: prefix on any instruction
QS1, QS0(queue status) :
show status of internal instruction queue : Table 9-7
provided for access by the numeric coprocessor(8087)
Ch.9 8086/8088 Hardware
Specifications
18
9-2 Clock Generator(8284A)
8284A (Fig. 9-2) : provided
clock generation, RESET synchronization, READY
synchronization, and TTL-level peripheral clock signal
Ch.9 8086/8088 Hardware
Specifications
19
8284A Pin Functions
AEN1’, AEN2’(address enable) : provided
to qualify bus ready signal RDY1, RDY2
RDY1, RDY2(bus ready) : provided,
in conjunction with AEN1’,AEN2’ pins, to cause wait states
ASYNC’(ready synchronization) selection input: select either
one or two stages of synchronization for RDY1,RDY2
READY: output pin that connects to 8086/88 READY input
X1, X2(crystal oscillator) : connect to external crystal
used as timing source for clock generator
F/C’(frequency/crystal) input : choose clocking source
F/C’=1 : provided external clock to EFI input pin,
F/C’=0 : internal crystal oscillator
Ch.9 8086/8088 Hardware
Specifications
20
8284A Pin Functions
EFI(external frequency input) : supplied
the timing whenever F/C’ pin is pulled high
CLK(clock output) : provided
CLK input to 8086/8088 and other components
1/3 of crystal or EFI input frequency
33% duty cycle which is required by 8086/8088
PCLK(peripheral clock) : provided peripheral
1/6 of crystal or EFI input frequency, 50% duty cycle
OSC(oscillator output) : TTL-level signal
same frequency as crystal or EFI input
RES’(reset input) : often connected
to RC network that provide power-on resetting
Ch.9 8086/8088 Hardware
Specifications
21
8284A Pin Functions
RESET output : connected to 8086/8088 RESET input
CSYNC(clock synchronization) :
used whenever EFI provides synchronization in system
with multiple processors
must be grounded, if internal crystal oscillator is used
GND(ground) : connected to ground
VCC(power supply) : +5.0V ±10%
Fig. 9-3 : internal block diagram of 8284A
clock section : middle part
reset section : top part
ready section : bottom part
Ch.9 8086/8088 Hardware
Specifications
22
Fig. 9-3 internal block diagram of 8284A clock generator
Fig. 9-3
Ch.9 8086/8088 Hardware
Specifications
23
Operation of Clock Section
F/C’ = 0 : internal crystal oscillator
crystal is attached X1, X2, oscillator generate squarewave signal at the same frequency as crystal
square-wave signal : fed to AND gate, inverter(OSC)
OSC output : sometimes used as EFI to other 8284A
AND gate : select oscillator or EFI
F/C’=0 : oscillator output → divide-by-3 counter
F/C’=1 : EFI → divide-by-3 counter
output of divide-by-3 counter
timing for ready synchronization
signal for another divide-by-2 counter : PCLK
CLK signal : buffered before CLK output pin
Ch.9 8086/8088 Hardware
Specifications
24
Operation of the Reset Section
Fig. 9-4 : crystal oscillator(F/C’=CSYNC=0)
15MHz crystal : 5MHz clock signal, 2.5MHz PCLK
Reset : a Schmitt trigger buffer, a D-type FF
D FF : ensured timing requirements of 8086 RESET
applied RESET signal to µ on negative edge of each clock
8086 µ : sampled RESET at positive edge of clocks
1. power on reset, 2. reset button
µ RESET :
to become logic 1 no later than 4 clocks after power is
applied, (FF make certain that RESET goes high in4 clock)
and to be held high for at least 50 ㎲ (RC time constant)
Ch.9 8086/8088 Hardware
Specifications
25
Fig. 9-4
Fig. 9-4
Ch.9 8086/8088 Hardware
Specifications
26
9-3 Bus Buffering and Latching
Demultiplexing the Buses
address/data bus:multiplexed(shared) to reduce no of pins
memory and I/O : require that address remains valid and
stable throughout a read and write cycle
all computer systems : have three buses
address bus : provided memory and I/O with memory
address or I/O port number
data bus : transferred data between µ and memory or I/O
control bus : provided control signal to memory and I/O
Demultiplexing the 8088 : Fig. 9-5
two 74LS373 transparent latches :
pass inputs to outputs whenever ALE become 1
after ALE return 0, remember inputs at time of change to 0
Ch.9 8086/8088 Hardware
Specifications
27
Fig. 9-5
Fig. 9-5
28
9-3 Bus Buffering and Latching
Demultiplexing the 8086 : Fig. 9-6
demultiplexing: AD15-AD0, A19/S6-A16/S3, BHE’/S3
3 buses : address(A19-A0, BHE’), data(D15-D0),
control(M/IO’, RD’,WR’)
three 74LS373 transparent latches
The Buffered System
µ system must be buffered : if more than 10 unit load
are attached to any bus pin
demultiplexed pins : already buffered by 74LS373 latch
buffer’s output currents increased : 32mA of sink
current(0), 5.2mA of source current(1)
Ch.9 8086/8088 Hardware
Specifications
29
Fig. 9-6
Fig. 9-6
30
9-3 Bus Buffering and Latching
fully buffered signal : will introduce timing delay
cause no difficulty : unless memory and I/O devices are
used, which function at near maximum speed of bus
The fully Buffered 8088 : Fig. 9-7
8 address A15-A8 : 74LS244 octal buffer
IO/M’, RD’, WR’ : 74LS244
8 data D7-D0 : 74LS245 octal bi-directional bus buffer
direction : controlled by DT/R’, enable : by DEN’
The fully Buffered 8086 : Fig. 9-8
data bus : two 74LS245
IO/M’, RD’, WR’ : 74LS244
Ch.9 8086/8088 Hardware
Specifications
31
Fig. 9-7
Fig. 9-7
32
Fig. 9-8
Fig. 9-8
33
9-4 Bus Timing
Basic Bus Operation
if data are written : Fig. 9-9(address, data, WR’ & M/IO’)
if data are read : Fig. 9-10(address, RD’ & M/IO’)
Timing in General
bus cycle :
8086/8088 µ use memory & I/O in periods called bus cycles
equal 4 (or as few as 2) system-clocking periods(T states)
800ns : 5MHz basic operating frequency
read or write at maximum rate of 1.25 million times a sec.
because internal queue, µ execute 2.5 MIPS in bursts
Ch.9 8086/8088 Hardware
Specifications
34
Fig. 9-9,10
Fig. 9-9,10
35
Timing in General
T1 : 1st clocking period
address of memory or I/O : sent out via address bus
control signal ALE, DT/R’, M/IO’(IO/M’) : output
T2 : issue RD’ or WR’, DEN’
in case of write : data to be written appear on data bus
READY : sampled at the end of T2(Fig. 9-11)
if READY is low at end of T2 : T3 becomes a wait state(Tw)
if read bus cycle : data bus is sampled at end of T3
T4 :
all bus signals : deactivated in preparation for next bus cycle
µ sampled data bus for data that read from M or I/O
trailing edge of WR’ : transfer data to memory or I/O
Ch.9 8086/8088 Hardware
Specifications
36
Fig. 9-11
Fig. 9-11
Ch.9 8086/8088 Hardware
Specifications
37
Read Timing
Fig. 9-11 : depict read timing for 8088/8086
fixed amount of time allowed memory or I/O to read data
at end of T3 : µ sample the data bus
address access time:
TAVDV = 3TCLCL - TCLAV - TDVCL = 3200–110–30=460 ns
TCLAV : time that appeared address on address bus
TDVCL : data setup time
time delay(30-40ns) : address decoders and buffers
memory speed : no slower than about 420ns
read access time :
TRLDV = 2TCLCL - TCLRL - TDVCL = 2200–165–30=205 ns
width of RD’ strobe :
TRLRH = 2TCLCL – 75ns = 2  200 – 75 = 325 ns
Ch.9 8086/8088 Hardware
Specifications
38
Fig. 9-12
Fig. 9-12
Ch.9 8086/8088 Hardware
Specifications
39
Fig. 9-12(continued)
Fig. 9-12
Ch.9 8086/8088 Hardware
Specifications
40
Write Timing
Fig. 9-13 : write timing for 8088/8086
main differences : WR’, data bus contain information
for memory, DT/R’=1(transmit)
memory data : written at trailing edge of WR’
data hold time :
TWHDX = TCLCH – 30ns = 118 – 30 = 88 ns
memory setup time :
TDVWH = 2TCLCL–TCLDV+TCVCTX=2200–110+10=300ns
width of WR’ strobe :
TWLWH = 2TCLCL – 60ns = 2  200 – 60 = 340 ns
Ch.9 8086/8088 Hardware
Specifications
41
Fig. 9-13
Fig. 9-13
42
9-5 Ready and the Wait State
wait state(TW) :
an extra clocking period, inserted between T2 & T3
READY input :
cause wait states for slower memory & I/O components
sampled at the end of T2, if applicable, in middle of TW
if READY = 0 at end of T2 : T3 is delayed and TW is
inserted between T2 and T3
READY is next sampled at middle of TW : to determine
whether the next state is TW or T3
timing diagram : Fig. 9-14(Fig. 9-11)
required setup and hold time from system clock
met by internal READY synchronization circuit of 8284A
Ch.9 8086/8088 Hardware
Specifications
43
Fig. 9-14, 15
Fig. 9-14, 15
Ch.9 8086/8088 Hardware
Specifications
44
RDY and the 8284A
RDY : synchronized ready input to 8284A clock generator
timing diagram : Fig. 9-15
Fig. 9-16 : internal structure of 8284A
RDY1•AEN1’ + RDY2•AEN2’ : to generate input to one
or two stage of synchronization
ASYNC’=1(open) : select one stage of synchronization
RDY : kept from reaching 8086/88 READY pin until
the next negative edge of clock
ASYNC’=0(ground): select two stage of synchronization
on 1st positive edge of clock : 1st FF capture RDY
output of 1st FF : fed to 2nd FF
on next negative edge of clock : 2nd FF capture RDY
Ch.9 8086/8088 Hardware
Specifications
45
Fig. 9-16
Fig. 9-16
Ch.9 8086/8088 Hardware
Specifications
46
RDY and the 8284A
Fig. 9-17, 18 :
circuit that generated almost any no of wait states for µ
8-bit shift reg.(74LS164) : shift 0 for one or more clock
periods from one of its Q outputs through to RDY1
cleared back to its starting point
RD’=WR’=INTA’=1 : until state T2 → Q = 0
positive edge of T2 : shift right, QA = 1(because SI=1)
RDY1 = 0 : CS’ = 0 or QB = 0
inserted wait cycle
positive edge of TW : shift right, QA = QB = 1
RDY1 = 1 : CS’ = 0 or QB = 1
no more inserted wait cycle
Ch.9 8086/8088 Hardware
Specifications
47
Fig. 9-17
Fig. 9-17
Ch.9 8086/8088 Hardware
Specifications
48
Fig. 9-18
Fig. 9-18
Ch.9 8086/8088 Hardware
Specifications
49
9-6 Minimum Mode versus Maximum Mode
minimum mode : Fig. 9-19(MN/MX’ = 1)
similar to operation of 8085A
cost less because all control signals generated by µ
used 8-bit peripherals
maximum mode : Fig. 9-20
is unique and designed to be used whenever a
coprocessor(8087 arithmetic ") exist in a system
some of control signals : must generated by external
8288 bus controller
dropped from Intel family, beginning with 80286 µ
Ch.9 8086/8088 Hardware
Specifications
50
Fig. 9-19
Fig. 9-19
51
Fig. 9-20
Fig. 9-20
52
The 8288 Bus Controller
8288 : Fig. 9-21
provided signals eliminated from 8086/88 by maximum
mode operation
S2,S1,S0 (status) input : connected to status output on µ
devoted to generate the timing signals for the system
CLK input : connected CLK output of 8284A
provided internal timing
ALE(address latch enable) output : used to demultiplex
the address/data bus
DEN(data bus enable) output : control bi-directional
data bus buffers
DT/R’(data transmit/receive) output : "
Ch.9 8086/8088 Hardware
Specifications
53
Fig. 9-21
Fig. 9-21
54
The 8288 Bus Controller
AEN’(address enable) input : cause to enable memory
control signals
CEN(control enable) input: enable the command output
IOB(I/O bus mode) input : select either system bus or I/O
bus mode mode operation
AIOWC’(advanced I/O write command) output : provide
I/O with its advanced I/O write control signal
IOWC’(I/O write) : provide I/O with its main write signal
IORC’, AMWC’, MWTC’, MRDC’
INTA’(interrupt acknowledge) output :
MCE/PDEN’(master cascade/peripheral data) output :
select cascade operation for interrupt controller if IOB is 0,
and enable the I/O bus transceivers if I/O is 1
Ch.9 8086/8088 Hardware
Specifications
55