Corso di Informatica 2 – Prof. Sciuto Comunicazione di … · Corso di Informatica 2 – Prof....

14
1 Corso di Informatica 2 – Prof. Sciuto; Lezione su Bus e I/O, Slides di Daniele Paolo Scarpazza Corso di Informatica 2 – Prof. Sciuto Comunicazione di I/O Daniele Paolo Scarpazza Dipartimento di Elettronica e Informazione Politecnico di Milano May 12th 2004

Transcript of Corso di Informatica 2 – Prof. Sciuto Comunicazione di … · Corso di Informatica 2 – Prof....

Page 1: Corso di Informatica 2 – Prof. Sciuto Comunicazione di … · Corso di Informatica 2 – Prof. Sciuto; Lezione su Bus e I/O, Slides di Daniele Paolo Scarpazza 2 Nota sui termini

1Corso di Informatica 2 – Prof. Sciuto; Lezione su Bus e I/O, Slides di Daniele Paolo Scarpazza

Corso di Informatica 2 – Prof. Sciuto

Comunicazione di I/O

Daniele Paolo ScarpazzaDipartimento di Elettronica e Informazione

Politecnico di Milano

May 12th 2004

Page 2: Corso di Informatica 2 – Prof. Sciuto Comunicazione di … · Corso di Informatica 2 – Prof. Sciuto; Lezione su Bus e I/O, Slides di Daniele Paolo Scarpazza 2 Nota sui termini

2Corso di Informatica 2 – Prof. Sciuto; Lezione su Bus e I/O, Slides di Daniele Paolo Scarpazza

Nota sui termini

• Nelle slide che seguono presentiamo le sequenze degli eventi di alcuni meccanismi della comunicazione di I/O;

• Non indichiamo se i segnali presentati sono attivi alti o attivi bassi;

• Con il termine set indichiamo attivare il segnale, cioè alzarlo se è attivo alto, abbassarlo se è attivo basso;

• Con il termine reset indichiamo disattivare il segnale, cioè abbassarlo se è attivo alto, alzarlo se è attivo basso;

Page 3: Corso di Informatica 2 – Prof. Sciuto Comunicazione di … · Corso di Informatica 2 – Prof. Sciuto; Lezione su Bus e I/O, Slides di Daniele Paolo Scarpazza 2 Nota sui termini

3Corso di Informatica 2 – Prof. Sciuto; Lezione su Bus e I/O, Slides di Daniele Paolo Scarpazza

Esempio: bus sincrono•Parametri e convenzioni:

• Clock = 40 MHz (Tc= 25 ns)

• il clock inizia col fronte di salita

•Sequenza degli eventi:• CPU: set ADDRESS

• CPU: set MREQ, RD

• RAM: set WAIT @ clock t ä (se non riesce a fornire DATA @ clock t æ)

• RAM: set DATA @ clock ä ... æ

• CPU: sample DATA @ clock æ

• CPU: reset MREQ, RD

Page 4: Corso di Informatica 2 – Prof. Sciuto Comunicazione di … · Corso di Informatica 2 – Prof. Sciuto; Lezione su Bus e I/O, Slides di Daniele Paolo Scarpazza 2 Nota sui termini

4Corso di Informatica 2 – Prof. Sciuto; Lezione su Bus e I/O, Slides di Daniele Paolo Scarpazza

Esempio: bus sincrono

Latenza della memoria: 40ns; 1 wait state

Page 5: Corso di Informatica 2 – Prof. Sciuto Comunicazione di … · Corso di Informatica 2 – Prof. Sciuto; Lezione su Bus e I/O, Slides di Daniele Paolo Scarpazza 2 Nota sui termini

5Corso di Informatica 2 – Prof. Sciuto; Lezione su Bus e I/O, Slides di Daniele Paolo Scarpazza

Esempio: bus sincrono

Latenza della memoria: 65ns; 2 wait states

Page 6: Corso di Informatica 2 – Prof. Sciuto Comunicazione di … · Corso di Informatica 2 – Prof. Sciuto; Lezione su Bus e I/O, Slides di Daniele Paolo Scarpazza 2 Nota sui termini

6Corso di Informatica 2 – Prof. Sciuto; Lezione su Bus e I/O, Slides di Daniele Paolo Scarpazza

Esempio: bus sincrono

Latenza della memoria: 20ns; 0 wait states

Page 7: Corso di Informatica 2 – Prof. Sciuto Comunicazione di … · Corso di Informatica 2 – Prof. Sciuto; Lezione su Bus e I/O, Slides di Daniele Paolo Scarpazza 2 Nota sui termini

7Corso di Informatica 2 – Prof. Sciuto; Lezione su Bus e I/O, Slides di Daniele Paolo Scarpazza

Esempio: bus asincrono• Non prevede l'uso del clock; le operazioni possono avvenire al

massimo della velocità, senza attendere fronti di clock;

• Introduce i due segnali MSYN (Master SYNchronization) e SSYN (Slave SYNchronization);

• Sequenza degli eventi:• CPU: set ADDRESS • CPU: set MREQ, RD• CPU: set MSYN• RAM: set DATA ASAP

set SSYN• CPU: sample DATA

reset MSYN, MREQ, RD• RAM: reset SSYN

Page 8: Corso di Informatica 2 – Prof. Sciuto Comunicazione di … · Corso di Informatica 2 – Prof. Sciuto; Lezione su Bus e I/O, Slides di Daniele Paolo Scarpazza 2 Nota sui termini

8Corso di Informatica 2 – Prof. Sciuto; Lezione su Bus e I/O, Slides di Daniele Paolo Scarpazza

Esempio: bus asincrono

Page 9: Corso di Informatica 2 – Prof. Sciuto Comunicazione di … · Corso di Informatica 2 – Prof. Sciuto; Lezione su Bus e I/O, Slides di Daniele Paolo Scarpazza 2 Nota sui termini

9Corso di Informatica 2 – Prof. Sciuto; Lezione su Bus e I/O, Slides di Daniele Paolo Scarpazza

Arbitraggio del bus con DMA

• DMA: • i dispositivi abilitati (DMA controller) comunicano con

la memoria senza impegnare il processore;• ad un dato istante, uno solo dei DMA controller è il

dispositivo abilitato a trasferire dati sul bus, cioè il bus master;

• il passaggio dei poteri di bus master da un DMA controller ad un altro avviene ad opera del bus arbiter, solitamente la CPU;

Page 10: Corso di Informatica 2 – Prof. Sciuto Comunicazione di … · Corso di Informatica 2 – Prof. Sciuto; Lezione su Bus e I/O, Slides di Daniele Paolo Scarpazza 2 Nota sui termini

10Corso di Informatica 2 – Prof. Sciuto; Lezione su Bus e I/O, Slides di Daniele Paolo Scarpazza

Arbitraggio del bus con DMA

• Segnali:• Bus Request (BR) richiesta del bus• Bus Granted (BG) autorizzazione all'uso del bus• Bus BuSY (BBSY) bus occupato

• Sequenza degli eventi: • PERIF: set BR• ARB: attende reset BBSY

set BG• PERIF: reset BR• ARB: reset BG• PERIF: set BBSY

usa il busreset BBSY

• Attenzione: numerose varianti possibili

Page 11: Corso di Informatica 2 – Prof. Sciuto Comunicazione di … · Corso di Informatica 2 – Prof. Sciuto; Lezione su Bus e I/O, Slides di Daniele Paolo Scarpazza 2 Nota sui termini

11Corso di Informatica 2 – Prof. Sciuto; Lezione su Bus e I/O, Slides di Daniele Paolo Scarpazza

Arbitraggio del bus con DMA

__BR

BG

____BBSY

Diagramma temporale (in accordo con la variante descritta precedentemente)

Page 12: Corso di Informatica 2 – Prof. Sciuto Comunicazione di … · Corso di Informatica 2 – Prof. Sciuto; Lezione su Bus e I/O, Slides di Daniele Paolo Scarpazza 2 Nota sui termini

12Corso di Informatica 2 – Prof. Sciuto; Lezione su Bus e I/O, Slides di Daniele Paolo Scarpazza

Interruzione vettorizzata

• Ogni dispositivo ha un suo codice univoco n (vettore di interrupt) e si identifica ponendo tale codice sul bus;

• In risposta all'IRQ, la CPU deve leggere n dal bus e saltare alla locazione indicata nella n-esima della della tabella dei vettori di interrupt;

• Il bus potrebbe essere in uso, nel momento in cui il dispositivo deve generare l'interrupt, quindi prima di porre il proprio codice sul bus attende il segnale INTA (INTerrupt Acknowlegde)

• A seconda dell'architettura adottata può esserci un segnale di WAIT per permettere al dispositivo di indicare alla CPU che il codice non è ancora pronto sul bus;

Page 13: Corso di Informatica 2 – Prof. Sciuto Comunicazione di … · Corso di Informatica 2 – Prof. Sciuto; Lezione su Bus e I/O, Slides di Daniele Paolo Scarpazza 2 Nota sui termini

13Corso di Informatica 2 – Prof. Sciuto; Lezione su Bus e I/O, Slides di Daniele Paolo Scarpazza

Interruzione vettorizzata

• Sequenza degli eventi:• PERIF: set IRQ• CPU: set INTA ASAP• PERIF: reset IRQ

set WAIT se necessario• CPU: reset INTA• PERIF: set DATA

reset WAIT• CPU: attende reset WAIT

sample DATA

Page 14: Corso di Informatica 2 – Prof. Sciuto Comunicazione di … · Corso di Informatica 2 – Prof. Sciuto; Lezione su Bus e I/O, Slides di Daniele Paolo Scarpazza 2 Nota sui termini

14Corso di Informatica 2 – Prof. Sciuto; Lezione su Bus e I/O, Slides di Daniele Paolo Scarpazza

Interruzione vettorizzata

IRQ

INTA

WAIT

Diagramma temporale

DATA