Interfaccia verso il BUS
Click here to load reader
-
Upload
sergio-porcu -
Category
Education
-
view
208 -
download
0
Transcript of Interfaccia verso il BUS
Sistemi a Microprocessore Interfaccia verso il BUS
Sergio PORCU 1
1
Sistemi a Microprocessore
INTERFACCIA VERSO IL BUS
2
Ciclo di BUS
SCRITTURALETTURAFASE
La memoria legge il dato dal data BUS
La memoria scrive il dato sul data BUS
T3, T4
La CPU scrive il dato sul data BUS
La CPU forza sul data BUS il valore Z
T2
Sull’address BUS viene scritto l’indirizzo
Sull’address BUS viene scritto l’indirizzo
T1
CICLO DI BUS
Sistemi a Microprocessore Interfaccia verso il BUS
Sergio PORCU 2
3
Cicli di IDLE
CICLI DI IDLE INSERITIDALLA CPU QUANDO
ESSA NON NECESSITADI NUOVI DATI
NON PUÒ ESEGUIREALCUNA FASE DI
PREFETCH (CODAINTERNA DELLE
ISTRUZIONI PIENA)
4
Cicli di WAIT
La memoria esterna invia un segnale sul pin READY se non è sufficientemente veloce. La CPU inserisce una serie di stati di attesa tra T3 e T4.
Sistemi a Microprocessore Interfaccia verso il BUS
Sergio PORCU 3
5
Segnali di stato
I 4 MSB dell’address BUS sono multiplexati con 4 segnali di stato S3 – S6 ed i loro valori sono forzati nei cicli T2, T3 e T4. S5riporta il valore dell’INTERRUPT ENABLE FLAG. S6 è fisso a 0. S3 e S4indicano il registro di segmento utilizzato per costruire l’indirizzo sull’address BUS.
6
Segnali di stato
DS11
CS oppure 010
SS01
ES00
REGISTRO DI SEGMENTOS4S3
Sistemi a Microprocessore Interfaccia verso il BUS
Sergio PORCU 4
7
Segnali di controllo
• ALE: il fronte di salita segnala durante T1che sull’address BUS è pronto un indirizzo
• IO/M*: indica se il ciclo di BUS fa riferimento a un dispositivo di I/O o alla memoria
• DT/R*: indica se il ciclo è di lettura o scrittura
[la notazione * indica la forma complementata: il segnale è basso quando la linea è attiva]
8
Segnali di controllo
1
0
1
0
1
0
1
0
SS0*
Halt10
Code Access01
Read Memory01
Write Memory11
Passive11
Write I/O Port10
Read I/O Port00
Interrupt Acknowledge00
DT/R*IO/M*
Sistemi a Microprocessore Interfaccia verso il BUS
Sergio PORCU 5
9
Segnali di controllo
• RD* e WR*: segnalano la direzione del trasferimento e forniscono le relative informazioni temporali
• WR*: segnala che il dato è pronto sul data BUS e può essere prelevato dalla memoria
• DEN* (Data Enable): segnala al dispositivo esterno che può inserire sul data BUS il dato durante le operazioni di lettura
10
HOLD e HLDA
• HOLD: viene settato a 1 dal dispositivo che intende acquisire il controllo del BUS
• HLDA: viene settato a 1 dall’8086 a fine ciclo di BUS e con HOLD=1
Sistemi a Microprocessore Interfaccia verso il BUS
Sergio PORCU 6
11
Segnali di INTERRUPT
• INTR: richiesta di INTERRUPT da parte di un dispositivo esterno
• INTA*: accettazione della richiesta da parte della CPU
• NMI: richiesta di INTERRUPT non mascherabili
• TEST*: se vale 1, in caso di istruzione WAIT, il processore esegue dei cicli di IDLE
12
Segnali di stato della coda
I segnali QS0 e QS1 segnalano all’esterno che tipo di dato è stato appena estratto dalla coda:
Byte successivo al primo11
Coda vuota (istruzione di salto)01
Primo Byte10
Nulla00
QS1QS0