Unità A: Bus di comunicazione - Politecnico di...

Post on 17-Feb-2019

215 views 0 download

Transcript of Unità A: Bus di comunicazione - Politecnico di...

1

1

Elettronica per l’informatica

2

Cosa c’è nell’unità A

Unità A:Bus di comunicazione

A.1 – Architetture di interconnessioneA.2 – Esempi commerciali

ovcin
Elettronica per l'informatica Cosa sono i bus
ovcin
© 2004 Politecnico di Torino 1

2

3

Contenuto dell’unità A

Architetture di interconnessioneBus, strutture e protocolli

Architetture tipiche di interconnessione ed esempi

4

Contenuto dell’unità A

Architetture di interconnessioneBus, strutture e protocolli

Architetture tipiche di interconnessione ed esempi

Esempi commercialiBus PCIBus USBBus IEEE 1394 Firewire

ovcin
© 2004 Politecnico di Torino 2
ovcin
Elettronica per l'informatica Cosa sono i bus

3

5

Prerequisiti per l’unità A

Elettronica di baseCalcolatori elettronici

6

Lezione A1

Architetture di interconnessioneCosa sono i busTipi di busTransazioni e arbitraggiProtocolli

Architetture tipiche di interconnessioneEsempi, prestazioni e comparazioni

ovcin
© 2004 Politecnico di Torino 3
ovcin
Elettronica per l'informatica Cosa sono i bus

4

7

Elettronica per l’informatica

8

Architetture di interconnessioneCosa sono i busTipi di busTransazioni e arbitraggiProtocolli

Architetture tipiche di interconnessioneEsempi, prestazioni e comparazioni

Indice della lezione A1

ovcin
© 2004 Politecnico di Torino 4
ovcin
Elettronica per l'informatica Cosa sono i bus

5

9

I bus

Cosa sono i bus?

CPUCPU I/OMemory I/OMemoryCPU

10

I bus

Cosa sono i bus?

CPUCPU I/OMemory I/OMemoryCPU

Control lines

ovcin
© 2004 Politecnico di Torino 5
ovcin
Elettronica per l'informatica Cosa sono i bus

6

11

I bus

Cosa sono i bus?

CPUCPU I/OMemory I/OMemoryCPU

Control lines

Address lines

12

I bus

Cosa sono i bus?

CPUCPU I/OMemory I/OMemoryCPU

Control lines

Address lines

Data lines

ovcin
© 2004 Politecnico di Torino 6
ovcin
Elettronica per l'informatica Cosa sono i bus

7

13

I bus

Cosa sono i bus?

CPUCPU I/OMemory I/OMemoryCPU

Bus

Control lines

Address lines

Data lines

14

I bus

Cosa sono i bus?Un’autostrada di comunicazione che collega due o più dispositiviComposti da segnali/canali raggrupati

Un certo numero di canali compone un busPer esempio un bus dati a 32 bit è composto fisicamente da 32 canali da 1 bit

Un unico “set” di segnali utilizzato per collegare molti dispositiviÈ facile aggiungere nuovi dispositiviI dispositivi possono essere spostati tra sistemi che utilizzano lo stesso bus

ovcin
© 2004 Politecnico di Torino 7
ovcin
Elettronica per l'informatica Cosa sono i bus

8

15

I bus

SvantaggiSi crea un “collo di bottiglia” nella comunicazione tra dispositiviLa banda del bus può limitare il throughput

La massima velocità del bus è limitata da:Lunghezza del busNumero di dispositivi connessi sul busPrestazioni dei singoli dispositivi connessi

16

I bus

DATA busTrasporta “informazioni” tra sorgente e destinazioneLa sua “larghezza” (parallelismo) è un fattore chiave per le prestazioni (8, 16, 32 o 64 bit?)

ADDRESS busIdentifica la sorgente o la destinazione dei dati

Per esempio la CPU deve leggere un’istruzione da una certa locazione di memoria

La sua “larghezza” (parallelismo) determina la capacità di memoria del sistema

ovcin
© 2004 Politecnico di Torino 8
ovcin
Elettronica per l'informatica Cosa sono i bus

9

17

I bus

CONTROL busÈ composto principalmente da segnali di controllo e gestione delle perifericheSegnali di read/write delle memorie

InterruptsClock

18

Elettronica per l’informatica

ovcin
© 2004 Politecnico di Torino 9
ovcin
Elettronica per l'informatica Cosa sono i bus

10

19

Architetture di interconnessioneCosa sono i busTipi di busTransazioni e arbitraggiProtocolli

Architetture tipiche di interconnessioneEsempi, prestazioni e comparazioni

Indice della lezione A1

20

Tipi di bus

Dedicati (custom)Linee separate di DATA e ADDRESS

MultiplexatiLinee condivise di DATA e ADDRESSLinee di controllo aggiuntive (DATA VALID e ADDRESS VALID)Vantaggi

Meno linee complessiveSvantaggi

Controllo del bus più complessoPrestazioni ridotte

ovcin
© 2004 Politecnico di Torino 10
ovcin
Elettronica per l'informatica Cosa sono i bus

11

21

Tipi di bus

Bus processore-memoria (custom)Corto (fisicamente) e ad alta velocitàDeve solo indirizzare la memoria di sistemaOttimizzato per trasferimenti di blocchi di dati nella cache

Backplane bus (standard)Il backplane è una struttura di interconnessione su scheda (anche specifiche meccaniche)Permette la coesistenza di processori, memorie e dispositivi di input-output (I/O)Un unico standard bus per molti componenti diversi

22

Tipi di bus

Bus Input-Output (standard industriale)Normalmente più lungo e lentoDeve indirizzare (molti) dispositivi (molto) diversi tra loro

Si collega al bus memoria-processore o al backplane

ovcin
© 2004 Politecnico di Torino 11
ovcin
Elettronica per l'informatica Cosa sono i bus

12

23

Tipi di bus

SincronoEventi determinati dai segnali di clockIl CONTROL bus include le linee di clockTutti i dispositivi sul bus devono/possono leggere il segnale di clockEventi sincronizzati sul fronte di salita del clockNormalmente un evento dura un ciclo di clockPoca logica di controllo, molto veloceOgni dispositivo deve funzionare con lo stesso clockPer evitare skew il bus non deve essere lungo (se è molto veloce)

24

Tipi di bus

AsincronoNon è basato su un segnale di clockPuò ospitare classi di dispositivi molto diversi funzionanti a frequenze differenti

Può essere “allungato” (fisicamente) senza incorrere in problemi di skewRichiede un protocollo di “handshake”

ovcin
© 2004 Politecnico di Torino 12
ovcin
Elettronica per l'informatica Cosa sono i bus

13

25

Elettronica per l’informatica

26

Architetture di interconnessioneCosa sono i busTipi di busTransazioni e arbitraggiProtocolli

Architetture tipiche di interconnessioneEsempi, prestazioni e comparazioni

Indice della lezione A1

ovcin
© 2004 Politecnico di Torino 13
ovcin
Elettronica per l'informatica Cosa sono i bus

14

27

Transazioni

Una transazione (completa) su bus è composta tipicamente da tre fasi distinte

Arbitraggio: come ottenere l’accesso alle risorse del busRichiesta: invio del comando e degli indirizziAzione: effettivo trasferimento dei dati secondo le specifiche dettate nella richiesta

28

Master & Slave

Transazione tipica su bus:Invio del comando e dell’indirizzo (richiesta)Trasferimento dei dati (azione)

Il MASTER è colui che invia il comando (e l’indirizzo)Lo SLAVE è colui che risponde all’indirizzo

Inviando dati se il MASTER “vuole leggere”

Ricevendo dati se il MASTER “vuole scrivere”

BusMaster

BusSlave

comando

dati

ovcin
© 2004 Politecnico di Torino 14
ovcin
Elettronica per l'informatica Cosa sono i bus

15

29

Master & Slave

Bus MASTERControlla il bus, inizia le transazioni

Bus SLAVEAttivato dalla transazione (indirizzo)

Bus ProtocolInsieme di eventi e tempistiche (specifiche) necessari al trasferimento dell’informazione

Master Slave

Control linesAddress lines

Data lines

30

Arbitraggio

L’arbitraggio è uno dei temi più importanti nel progetto di bus di comunicazione:

Come riservare il bus per un dispositivo (periferica) che intende utilizzarlo?

Architettura MASTER-SLAVE (evita il caos)SOLO il bus MASTER può controllare l’accesso al bus (inizia e controlla TUTTE le richieste su bus)Lo SLAVE risponde alle richieste di lettura/scrittura

Il sistema più sempliceIl processore è l’unico bus MASTERTutte le richieste devono essere gestite dal processore (cosa che può essere uno svantaggio)

ovcin
© 2004 Politecnico di Torino 15
ovcin
Elettronica per l'informatica Cosa sono i bus

16

31

Arbitraggio

Bus MASTER (BM) multipli (sistemi multimaster) con segnale di Bus Request (BR):

Un BM che vuole utilizzare il bus lo segnala sul BRUn BM non può utilizzare il bus se non viene concessa l’autorizzazione dall’arbitro di busUn BM deve comunicare all’arbitro di bus la fine delle sue operazioni sul bus

L’arbitro deve bilanciare due fattori:Priorità: il dispositivo con più alta priorità deve essere “servito” primaCode: il dispositivo con più bassa priorità deve comunque poter accedere al bus

32

Arbitraggio

I sistemi di arbitraggio più comuni sono sostanzialmente di 4 tipi:

Daisy chainCentralizzato (o parallelo)Distribuito con verifica dell’ID del dispositivo: ogni dispositivo che “vuole” il bus comunica il proprio codice sul busDistribuito con verifica della “collisione”: ETHERNET utilizza questo metodo

ovcin
© 2004 Politecnico di Torino 16
ovcin
Elettronica per l'informatica Cosa sono i bus

17

33

Arbitraggio

Daisy chainVantaggio: sempliceSvantaggi:

Un dispositivo a bassa priorità rischia di non essere mai “servito”Il segnale di GRANT in cascata può limitare la velocità del bus

BusArbiter

ID 1 ID 2 ID N

Grant

Grant Grant

Release

Request

34

Arbitraggio

Centralizzato/paralleloBus processore/memoria e bus I/O ad alta velocità

ID 1 ID 2 ID NGrant Grant Grant

Req.

BusArbiter

Req.

Req.

BUS

ovcin
© 2004 Politecnico di Torino 17
ovcin
Elettronica per l'informatica Cosa sono i bus

18

35

Arbitraggio

DistribuitoOgni dispositivo è dotato di una propria linea di request e osserva lo stato di tutte le altre linee di request provenienti dagli altri dispositivi connessi al bus

36

Elettronica per l’informatica

ovcin
© 2004 Politecnico di Torino 18
ovcin
Elettronica per l'informatica Cosa sono i bus

19

37

Architetture di interconnessioneCosa sono i busTipi di busTransazioni e arbitraggiProtocolli

Architetture tipiche di interconnessioneEsempi, prestazioni e comparazioni

Indice della lezione A1

38

Protocolli

Protocollo sincrono

Grant

ComandoIndirizzo

BR

Cmd+Addr

Data1 Data2Data

clk

ovcin
© 2004 Politecnico di Torino 19
ovcin
Elettronica per l'informatica Cosa sono i bus

20

39

Protocolli

Protocollo sincronoLo SLAVE indica quando è pronto per la fase datiI trasferimenti avvengono alla frequenza del bus clk

Grant

ComandoIndirizzo

BR

Cmd+Addr

Data1Data

clk

Wait

Data1 Data2

40

Protocolli

Protocollo asincrono: operazione di scrittura (write)

T0: il MASTER scrive dati, indirizzi e direzione

Il MASTER scrive gli indirizzi Nuovi indirizzi

T0 T1 T2 T3 T4 T5

Il MASTER scrive i dati

Indirizzi

Dati

Read/nWrite

Request

ACK

ovcin
© 2004 Politecnico di Torino 20
ovcin
Elettronica per l'informatica Cosa sono i bus

21

41

Protocolli

Protocollo asincrono: operazione di scrittura (write)

T1: il MASTER alza il segnale di request

Il MASTER scrive gli indirizzi Nuovi indirizzi

T0 T1 T2 T3 T4 T5

Il MASTER scrive i dati

Indirizzi

Dati

Read/nWrite

Request

ACK

42

Protocolli

Protocollo asincrono: operazione di scrittura (write)

T2: lo SLAVE alza ACK ad indicare dati ricevuti

Il MASTER scrive gli indirizzi Nuovi indirizzi

T0 T1 T2 T3 T4 T5

Il MASTER scrive i dati

Indirizzi

Dati

Read/nWrite

Request

ACK

ovcin
© 2004 Politecnico di Torino 21
ovcin
Elettronica per l'informatica Cosa sono i bus

22

43

Protocolli

Protocollo asincrono: operazione di scrittura (write)

T3: il MASTER rilascia il segnale di request

Il MASTER scrive gli indirizzi Nuovi indirizzi

T0 T1 T2 T3 T4 T5

Il MASTER scrive i dati

Indirizzi

Dati

Read/nWrite

Request

ACK

44

Protocolli

Protocollo asincrono: operazione di scrittura (write)

T4: lo SLAVE rilascia ACK

Il MASTER scrive gli indirizzi Nuovi indirizzi

T0 T1 T2 T3 T4 T5

Il MASTER scrive i dati

Indirizzi

Dati

Read/nWrite

Request

ACK

ovcin
© 2004 Politecnico di Torino 22
ovcin
Elettronica per l'informatica Cosa sono i bus

23

45

Protocolli

Protocollo asincrono: operazione di lettura (read)

T0: il MASTER scrive indirizzi e direzione

Il MASTER scrive gli indirizzi Nuovi indirizzi

T0 T1 T2 T3 T4 T5

Indirizzi

Dati

Read/nWrite

Request

ACK

46

Protocolli

Protocollo asincrono: operazione di lettura (read)

T1: il MASTER alza il segnale di request

Il MASTER scrive gli indirizzi Nuovi indirizzi

T0 T1 T2 T3 T4 T5

Indirizzi

Dati

Read/nWrite

Request

ACK

ovcin
© 2004 Politecnico di Torino 23
ovcin
Elettronica per l'informatica Cosa sono i bus

24

47

Protocolli

Protocollo asincrono: operazione di lettura (read)

T2: lo SLAVE alza ACK ad indicare che è pronto a trasmettere

Il MASTER scrive gli indirizzi Nuovi indirizzi

T0 T1 T2 T3 T4 T5

Indirizzi

Dati

Read/nWrite

Request

ACK

48

Protocolli

Protocollo asincrono: operazione di lettura (read)

T3: il MASTER rilascia il segnae di request (dati ricevuti)

Il MASTER scrive gli indirizzi Nuovi indirizzi

T0 T1 T2 T3 T4 T5

Indirizzi

Dati

Read/nWrite

Request

ACK

ovcin
© 2004 Politecnico di Torino 24
ovcin
Elettronica per l'informatica Cosa sono i bus

25

49

Protocolli

Protocollo asincrono: operazione di lettura (read)

T4: lo SLAVE rilascia ACK

Il MASTER scrive gli indirizzi Nuovi indirizzi

T0 T1 T2 T3 T4 T5

Indirizzi

Dati

Read/nWrite

Request

ACK

50

Elettronica per l’informatica

ovcin
© 2004 Politecnico di Torino 25
ovcin
Elettronica per l'informatica Cosa sono i bus

26

51

Architetture di interconnessioneCosa sono i busTipi di busTransazioni e arbitraggiProtocolli

Architetture tipiche di interconnessioneEsempi, prestazioni e comparazioni

Indice della lezione A1

52

Architetture di elaborazione

Singolo bus (backplane)Utilizzato per tutte le comunicazioniSemplice ed economico

Lento per le comunicazioni processore-memoria

Processore Memoria

Dispositivi di I/O

Backplane Bus

ovcin
© 2004 Politecnico di Torino 26
ovcin
Elettronica per l'informatica Cosa sono i bus

27

53

Architetture di elaborazione

Doppio busBus dedicato ad alta velocità processore-memoriaBus I/O: espansione dedicata per dispositivi di I/O

Processore Memoria

I/OBus

Bus processore-memoria

Adattatorebus

I/OBus

I/OBus

Adattatorebus

Adattatorebus

54

Architetture di elaborazione

Triplo busPochi adattatori interferiscono con il bus processore-memoriaBus di I/O sono connessi al backplane

I/O Bus

Processore Memoria

Adattatorebus

Bus processore-memoria

AdattatorebusBackplane

Bus Adattatorebus

ovcin
© 2004 Politecnico di Torino 27
ovcin
Elettronica per l'informatica Cosa sono i bus

28

55

Architetture di elaborazione

Esempio: Intel chipset PentiumNorthbridge

MemoriaGrafica

SouthbridgeBus PCIDisk controllersUSBAudioI/O serialiControllore degli interruptTimers

56

Chipset Intel Pentium

ovcin
© 2004 Politecnico di Torino 28
ovcin
Elettronica per l'informatica Cosa sono i bus

29

57

Architettura Intel Pentium

Bus processore-memoria

Bus PCI

Bus I/O

58

Elettronica per l’informatica

ovcin
© 2004 Politecnico di Torino 29
ovcin
Elettronica per l'informatica Cosa sono i bus

30

59

Architetture di interconnessioneCosa sono i busTipi di busTransazioni e arbitraggiProtocolli

Architetture tipiche di interconnessioneEsempi, prestazioni e comparazioni

Indice della lezione A1

60

Incremento delle prestazioni dei bus

Incremento della banda

Linee separate per indirizzi e datiUn solo colpo di clock (ciclo) per indirizzi e datiCosto: più linee di bus

Larghezza del bus datiCon un bus più “largo”, i trasferimenti di più parole di dati richiedono meno cicliCosto: più linee di bus

ovcin
© 2004 Politecnico di Torino 30
ovcin
Elettronica per l'informatica Cosa sono i bus

31

61

Incremento delle prestazioni dei bus

Incremento della banda

Trasferimenti a blocchi (burst)Permettono la trasmissione di più parole di dati inviando un solo indirizzo all’inizioIl bus non viene rilasciato fino a quando l’ultima parola non è stata trasferitaCosti:

maggiore complessità nella gestionepeggiore tempo di risposta a fronte di una richiesta del MASTER

62

Incremento delle prestazioni dei bus

Incremento della velocità di trasferimento in un bus multimaster

Arbitraggio sovrappostoViene effettuato l’arbitraggio per la prossima transazione durante quella attuale (branchprediction)

Bus parkingIl MASTER tiene il bus e realizza transazioni multiple fino a quando altri MASTER non avanzano richieste

Packet switched busFasi separate di ADDRESS e DATAArbitraggi separati per ogni faseTAG di identificazione per il matching delle fasi

ovcin
© 2004 Politecnico di Torino 31
ovcin
Elettronica per l'informatica Cosa sono i bus

32

63

Comparazione

SerialePipelineProtocollo

AsincronoSincronoClock

Un solo MASTER

(no arbitraggio)

MultiMASTER(arbitraggio)

Bus MASTER

Parole singoleParole multipleTrasferimenti

+ è “stretto” + è economico

+ è “largo” + è veloce

Larghezza dati

Linee dati e indirizzi multiplexate

Linee separate dati e indirizzi

Larghezza di bus

EconomicoAlte prestazioniOpzioni

64

Comparazione

7 – 31 (larghezza di bus -1)

1024 segmentati(32 disp. x segmento)

Numero m ax. didispositivi

25 metri0.5 metriLunghezza max. bus

Asincrono o Sincrono(5-10MHz)

Sincrono33-66Mhz

Clock

Auto-selezioneCentralizzato

Arbitraggio paralleloArbitraggio

SISIMultimaster

SISIAddress/data Multiplexati

8-3232 – 64Larghezza bus datiInput/outputBackplaneBus type

SCSI PCICaratteristiche

ovcin
© 2004 Politecnico di Torino 32
ovcin
Elettronica per l'informatica Cosa sono i bus

33

65

Sommario lezione A1

Architetture di interconnessioneCosa sono i busTipi di busTransazioni e arbitraggiProtocolli

Architetture tipiche di interconnessioneEsempi, prestazioni e comparazioni

66

Verifica lezione A1

Cos’è un bus?Da cosa è composto?Cos’è un bus multiplexato?

Cosa si intende per architettura MASTER-SLAVE?Come funziona il protocollo sincrono?Cos’è l’arbitraggio di bus?Come funziona un bus packet switched?Cos’è un handshake?

ovcin
© 2004 Politecnico di Torino 33
ovcin
Elettronica per l'informatica Cosa sono i bus

34

67

Fonti

Dave Patterson, Computer Architecture and Engineering, Bus design, Berkeley

68

Prossima lezione (A2)

Esempi commercialiBus PCIBus USB

Bus IEEE 1394 Firewire

ovcin
© 2004 Politecnico di Torino 34
ovcin
Elettronica per l'informatica Cosa sono i bus
stella