Esercizio 8
• Si consideri un sistema basato su 8088 a 8MHz dotato di 256KB di
EPROM agli indirizzi alti, 160KB di RAM (2 chip da 128 e 32KB) agli
indirizzi bassi, e alcuni dispositivi di I/O. Per le memorie si considerino
le seguenti temporizzazioni: EPROM: Tacc=240 ns, Toe=50 ns; RAM:
Tacc =200 ns, Toe=50 ns.
1) Si scrivano le espressioni complete e semplificate dei CS*
dei chip di memoria.
2) Si determini il numero di stati di wait necessari per gli
accessi in lettura ad EPROM e RAM.
3) Si progetti il circuito per la generazione del READY
nell’ipotesi che, per le memorie, i cicli di scrittura
richiedano lo stesso numero di stati di wait di quelli di
lettura e che gli accessi ai dispositivi di I/O richiedano 3
stati di wait.
Soluzione Esercizio 8
1) L’allocazione e l’interfacciamento delle memorie coinvolgono i seguenti indirizzi:
EPROM da 256K (chip indicato nello schema con E) mappato agli indirizzi alti
(C0000H : FFFFFH)
RAM, 128K e da 32K (chip indicati rispettivamente nello schema con R1, R2) con R1
mappato agli indirizzi (00000H : 1FFFFH) e R2 mappato agli indirizzi (20000H :
27FFFH).
BA[19..0]
BA[17..0]
BA[16..0]
CS_E#
CS_R1#
E
(256K)
cs
R1
(128K)
wr
oe
cs
R2
(32K)
wr
oe
MRDC#
BD[7..0]
BA[14..0]
MWRC#
oe
cs
MRDC#
BD[7..0]
CS_R2#
BD[7..0]
BD[7..0]
1
Soluzione Esercizio 8
Espressioni dei CS (logica positiva, decodifica completa):
CS_E = BA19 * BA18
CS_R1 = !BA19 * !BA18 * !BA17
CS_R2 = !BA19 * !BA18 * BA17 * !BA16 * !BA15
Espressioni dei CS (logica positiva, decodifica semplificata):
CS_E = BA19
CS_R1 = !BA19 * !BA17
CS_R2 = !BA19 * BA17
2) Per il chip di EPROM (E) utilizziamo i dati: Tacc=240 ns, Toe=50 ns; Per entrambi i
chip di RAM (R1, R2) utilizziamo i dati Tacc=200 ns, Toe=50 ns. Il periodo di clock a
8MHz è 125nsec. Il calcolo degli stati di wait viene effettuato impiegando la relazione:
{
TCLAV ( max) + T373 + TDEC + Tacc + T245 + TDVCL (min)
(3+n) ⋅ TCLCL ≥ max
TCLCL + TCLRL ( max) + Toe + T245 + TDVCL (min)
Soluzione Esercizio 8
Calcolo del numero di stati di wait richiesti per l’accesso al chip E
Temporizzazioni relative al Processore (8088 8 MHz):
TCLCL= 125 ns , TCLAV (max)= 60 ns, TCLRL (max)= 100 ns, TDVCL (min) = 20 ns
Temporizzazioni relative al chip E:
Tacc=240 ns, Toe= 50 ns
Temporizzazioni relative agli altri dispositivi presenti nell’interfaccia bus standard
della CPU 8088:
T373 = 18 ns, T245 ≅ 10 ns, TDEC = 30 ns
60 + 18 +30 +240 + 10 + 20 = 378
(3+n) ⋅ 125 ≥ max
125 + 100 + 50 + 10 +20 = 305
Soddisfatta per n=1 (400 > 378)
1 wait-state x la Eprom
Osservazione: il “caso peggiore” è quello relativo al percorso degli indirizzi.
2
Soluzione Esercizio 8
Calcolo del numero di stati di wait richiesti per l’accesso ai chip R1, R2
Temporizzazioni relative al Processore (8088 8 MHz):
TCLCL= 125 ns , TCLAV (max)= 60 ns, TCLRL (max)= 100 ns, TDVCL (min) = 20 ns
Temporizzazioni relative ai chip R1, R2:
Tacc=200 ns, Toe= 50 ns
Temporizzazioni relative agli altri dispositivi presenti nell’interfaccia bus standard
della CPU 8088:
T373 = 18 ns, T245 ≅ 10 ns, TDEC = 30 ns
60 + 18 +30 +200 + 10 + 20 = 338
(3+n) ⋅ 125 ≥ max
125 + 100 + 50 + 10 +20 = 305
Soddisfatta per n=0 (375 > 338)
0 wait-state per le Ram
Osservazione: il “caso peggiore” è, anche per le RAM, quello relativo al percorso degli indirizzi.
Soluzione Esercizio 8
3) Circuito per la generazione del READY:
BA19
RDY1
AEN1*
RDY2
AEN2*
"1"
D
READY
8284
Q0 Q1 Q2 Q3
CLK
CLK Shift Register
ALE
CLR*
READY
8088
(4 bit)
IO/M*
Il circuito progettato fornisce 3 stati di wait (RDY2=Q3) quando la CPU accede ad un dispositivo
mappato nello spazio di I/O (IO/M*=1). Se invece la CPU accede ad un dispositivo mappato nello spazio di
memoria (IO/M*=0) il numero di stati di wait è condizionato dal valore di BA19: se BA19=0 (accesso ai
chip R1, R2) si ha che RDY1=1 (0 wait -states); se BA19=1 (accesso al chip E) si ha che
RDY1=Q1 (1 wait -state).
3
Schema soluzione esercizio 8
BADR[0:17]
BADR[0:16]
BADR[0:14]
BADR[0:19]
+ Vcc
BA[x:19]
MN/MX#
A[8:15]
INTA# INTR
D[0:7]
373
Q[0:7]
OE#
LE
AS[16:19]
IO/M#
8088
ALE
AD[0:7]
READY CLK RES
RD# WR#
DT/R# DEN#
8284
A[0:17]
A[0:16]
E
R1
D[0:7]
373
D[0:7]
A[0:14]
R2
D[0:7]
Q[0:7]
D[0:7]
373
Q[0:7]
245
B[0:7]
OE#
LE
OE#
DIR
X1
CS#
out
OE#
LE
A[0:7]
RDY CLK RES
F/C#
ASYNC#
CSYNC
AEN1#
AEN2#
RDY2
RDY1
D[0:7]
PAL 22 V10
LIO/M#
BD[0:7]
X2
+ Vcc
RES#
IORD#
IOWR#
MEMRD#
+ Vcc
ALE
MEMWR#
CLR#
Shift register
CLK
D
Q0 Q1 Q2 Q3 Q4
IO/M#
BA19
4