Interfaccia verso il BUS

6

Click here to load reader

Transcript of Interfaccia verso il BUS

Page 1: 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

Page 2: Interfaccia verso il 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.

Page 3: Interfaccia verso il BUS

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

Page 4: Interfaccia verso il BUS

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*

Page 5: Interfaccia verso il BUS

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

Page 6: Interfaccia verso il BUS

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