ETLC2B2q - PoliTO
Transcript of ETLC2B2q - PoliTO
ETLC2 - B2 10/05/2007
2007 DDC 1
Page 1
10/05/2007 - 1 ETLC2 - B2 - 2007 DDC
Politecnico di TorinoFacoltà dell’Informazione
Modulo
Elettronica delle telecomunicazioni II
B Protocolli
B2 – Indirizzamento e allocazione» Transazioni» Indirizzamento» Allocazione» Esempio bus PCI
10/05/2007 - 2 ETLC2 - B2 - 2007 DDC
Lezione B2
• Modello e definizioni per strutture a bus• Indirizzamento• Meccanismi di allocazione del canale• Bus paralleli e multiplati, strutture miste• Trasferimenti a burst, altre varianti• Esempi: bus VME e PCI• Migrazione verso bus seriali
• Riferimenti nel testo– Connessioni multipunto 5.4
10/05/2007 - 3 ETLC2 - B2 - 2007 DDC
Livelli di protocollo
Lezione B2
Lezioni gruppo D(integrità dei segnali)
Lezione B1
10/05/2007 - 4 ETLC2 - B2 - 2007 DDC
Servizi disponibili dal livello ciclo
• Trasferimento di unitá di informazione (byte, ...),
• Da una SORGENTE a una DESTINAZIONE– Possono essere definiti anche trasferimenti 1-N e N-M
(protocolli N-partner)
• Cicli di SCRITTURA o di LETTURA
• Il servizio consuma energia e tempo– Tempo di ciclo tCY, legato a:
»parametri del livello elettrico»protocollo di ciclo
10/05/2007 - 5 ETLC2 - B2 - 2007 DDC
Sommario degli strati e relativi servizi
• Livello elettrico:– Tensioni e correnti sono usate per rappresentare stati logici– Il servizio reso disponibile e’ il trasferimento di “1” e “0”
• Livello ciclo:– I bit sono combinati in unità di INFORMAZIONE– Il servizio offerto è il trasferimento di unità di informazione
• Livello transazione:– Le unità di informazione assumono un significato
(dati, indirizzi, …)
• Livello applicazione:– Realizza l’esecuzione di un programma
(servizio reso all’utente finale)
10/05/2007 - 6 ETLC2 - B2 - 2007 DDC
Definizione di transazione
• Sequenza di uno o più cicli, che trasferisce unità di informazione associandovi un significato(Indirizzo, dato, vettore di priorità, ...)
• Moduli visibili a livello transazione:MASTER: avvia le operazioniSLAVE: risponde ai comandi del master
M S
ETLC2 - B2 10/05/2007
2007 DDC 2
Page 2
10/05/2007 - 7 ETLC2 - B2 - 2007 DDC
Protocollo a livello transazione
• Sistemi punto-punto e multipunto (bus)
• Transazione come sequenza di cicli– Allocazione– Indirizzamento– Trasferimento– …..
• Bus paralleli e bus multiplati
• Tecniche per accelerare i trasferimenti
• Migrazione verso bus seriali
10/05/2007 - 8 ETLC2 - B2 - 2007 DDC
Sistemi punto-punto
• I due elementi che scambiano informazione sonogiá definiti
– Operazioni di scrittura o lettura(verso del trasferimento di informazione)
MASTER
SLAVE
(BUS)
A
3
Scrittura: M � S
Lettura: S � M
10/05/2007 - 9 ETLC2 - B2 - 2007 DDC
Sistemi multi-punto (bus)
• Più coppie di moduli convidono lo stesso supportofisico
– Occorre definire/scegliere i partecipanti al trasferimento
MASTER
SLAVE
BUS
A
1
B C Z
2 3 N
10/05/2007 - 10 ETLC2 - B2 - 2007 DDC
Sistemi a bus
• La configurazione puó essere variata aggiungendo o rimuovendo schede
• Sistemi MODULARI APERTI
• Tutte le unità devono seguire lo stesso protocollo– Definizione di protocollo:
insieme di regole che le interfacce devono seguire per unacorretta comunicazione
• Parametri:– numero massimo di schede– velocitá delle transazioni e parallelismo (throughput)– struttura fisica-elettrica (connettore, formato, livelli, ..)
10/05/2007 - 11 ETLC2 - B2 - 2007 DDC
Bus e punto-punto
• Collegamenti punto-punto– Più porte per modulo, supporti fisici separati– Condizioni elettriche ben definite– Richiede instradamento (routing) da un modulo all’altro
• Collegamenti multipunto/bus– Una porta per modulo, unico supporto fisico– Condizioni elettriche variabili– Richiede allocazione e indirizzamento
• Il punto-punto e’ piu’ costoso ma preferibile per– alte velocita’– lunghe distanze
10/05/2007 - 12 ETLC2 - B2 - 2007 DDC
Protocollo a livello transazione
• Presente nei sistemi multipunto (bus).
• Cicli specifici per definire i moduli che si scambianoinformazioni:
selezione dello slave: Indirizzamento
selezione del master: Allocazione(del canale)
– A queste segue il trasferimento vero e propriodell’informazione (dato, istruzione)
ALLOCAZIONE INDIRIZZAMENTO TRASFERIMENTO
ETLC2 - B2 10/05/2007
2007 DDC 3
Page 3
10/05/2007 - 13 ETLC2 - B2 - 2007 DDC
Sistemi con piú slave
• Lo slave che partecipa al trasferimento vieneselezionato con una operazione di
INDIRIZZAMENTO
1 2 N
MASTER
SLAVE
BUS
A
3
10/05/2007 - 14 ETLC2 - B2 - 2007 DDC
Modi di indirizzamento
• Logico– La selezione dipende da un codice caratteristico dello Slave
» Memorie, banchi di registri
• Geografico– La selezione dipende dalla posizione (slot) del modulo Slave
» Identificazione della configurazione
• Codificato– N bit individuano 2N elementi
» Memorie
• Decodificato– M bit individuano M elementi (codici a singolo 1)
» Selezione diretta di registri, memorie dopo il decoder
10/05/2007 - 15 ETLC2 - B2 - 2007 DDC
Indirizzamento logico
10/05/2007 - 16 ETLC2 - B2 - 2007 DDC
Indirizzamento geografico
10/05/2007 - 17 ETLC2 - B2 - 2007 DDC
A
1
B C Z
2 3 N
MASTER
SLAVE
BUS
Trasferimenti in sistemi multimaster
• In un sistema con piú master e piú slave bisognadecidere tra quali unitá avviene ciascun trasferimento
10/05/2007 - 18 ETLC2 - B2 - 2007 DDC
1: selezione del master
• Il master che avvia la transazione viene selezionatocon una operazione di
ALLOCAZIONE (ARBITRAZIONE)
1
B C Z
2 3 N
MASTER
SLAVE
BUS
A
ETLC2 - B2 10/05/2007
2007 DDC 4
Page 4
10/05/2007 - 19 ETLC2 - B2 - 2007 DDC
Modello del sistema di allocazione
• Catena request-allocatore-grant– Obiettivo: evitare collisioni
10/05/2007 - 20 ETLC2 - B2 - 2007 DDC
Tecniche di allocazione
• Collisione: accesso contemporaneo alla risorsa– da evitare ! --> meccanismi di allocazione
• Allocazione con token passing– GRANT assegnato a turno (senza valutare REQUEST)
• Allocazione con rivelatore di collisione– GRANT automatico, collisioni, accesso non deterministico
• Allocazione con arbitrazione– Valutazione dei REQUEST– Nessuna collisione– Accesso deterministico
10/05/2007 - 21 ETLC2 - B2 - 2007 DDC
Esempi di allocazione
• Tra persone collisione � tanti parlano assieme
• Riunione (poche persone)– Token passing: diritto a parlare (GRANT) assegnato a turno
» Indipendente da richiesta o meno, può essere rifiutato
• Gruppi “assembleari”– Chi vuole inizia a parlare (senza interrompere) – Collisione possibile; rileva, stop, ritenta (CSMA-CD)
• Gruppo “moderati”– Un ARBITRO centralizzato valuta le richieste– Assegnazione del GRANT con algoritmo (tempo, rango, …)– Nessuna collisione, accesso deterministico
10/05/2007 - 22 ETLC2 - B2 - 2007 DDC
Allocazione con token passing
• Usata nelle reti
• Arbitri con circuiti a riporto– daisy chain– Round robin
10/05/2007 - 23 ETLC2 - B2 - 2007 DDC
Allocazione con arbitrazione
• Usata nei bus paralleli
• Richiede un arbitro– Centralizzato
– Distribuito
10/05/2007 - 24 ETLC2 - B2 - 2007 DDC
Allocazione con collision detection
• CSMA/CD: Carrier Sense Multiple Access - Collision Detection
• Usata in reti (anche wireless)
• Arbitri distribuiti
ETLC2 - B2 10/05/2007
2007 DDC 5
Page 5
10/05/2007 - 25 ETLC2 - B2 - 2007 DDC
Tecniche di arbitrazione
• FCFS (first Come First Served)– Problema della risoluzione temporale– Necessario altro meccanismo
• Priorità– Problema del blocco da parte di richieste ad alta priorità– Starvation– Necessari meccanismi di Fairness– Combinato con sincronizzazione
10/05/2007 - 26 ETLC2 - B2 - 2007 DDC
Arbitro FCFS
10/05/2007 - 27 ETLC2 - B2 - 2007 DDC
Arbitro a priorità
10/05/2007 - 28 ETLC2 - B2 - 2007 DDC
Starvation
10/05/2007 - 29 ETLC2 - B2 - 2007 DDC
Fairness
Campionamento richieste servizio camp serv camp
10/05/2007 - 30 ETLC2 - B2 - 2007 DDC
Circuiti per arbitri
• Codificatore a priorità (Priority encoder)
• Lineare– Centralizzato– Distribuito
• Codificato– Centralizzato– Distribuito
» Parallelo» Seriale
ETLC2 - B2 10/05/2007
2007 DDC 6
Page 6
10/05/2007 - 31 ETLC2 - B2 - 2007 DDC
Circuito a priorità lineare
• Rete combinatoria
10/05/2007 - 32 ETLC2 - B2 - 2007 DDC
Circuito a priorità codificato
• Rete combinatoria
10/05/2007 - 33 ETLC2 - B2 - 2007 DDC
Circuiti distribuiti
• Rete combinatoria lineare
• Rete combinatoria codificata
10/05/2007 - 34 ETLC2 - B2 - 2007 DDC
Trasferimento del controllo
• Passaggio del controllo: deve essere sincronizzatocon le operazioni di trasferimento
– …– Fine di transazione con master1– Rilascio del bus da parte del Master1– Acquisizione del controllo da Master2– Inizio transazione con master2– …
• Meccanismo di sincronizzazione (Bus Busy)– Centralizzato– Distribuito
10/05/2007 - 35 ETLC2 - B2 - 2007 DDC
Trasferimento del controllo
10/05/2007 - 36 ETLC2 - B2 - 2007 DDC
A
1
B C Z
2 3 N
MASTER
SLAVE
BUS
2: selezione dello slave
• La seconda operazione è la selezione dello slave chepartecipa al trasferimento (indirizzamento)
ETLC2 - B2 10/05/2007
2007 DDC 7
Page 7
10/05/2007 - 37 ETLC2 - B2 - 2007 DDC
1
B C Z
2 N
MASTER
SLAVE
BUS
A
3
3: trasferimento
• Uno volta selezionati master e slave il puó aver luogoil trasferimento (come un punto-punto)
10/05/2007 - 38 ETLC2 - B2 - 2007 DDC
Lezione B2
• Transazioni come sequenza di cicli• Modello e definizioni per strutture a bus• Indirizzamento• Meccanismi di allocazione del canale• Bus paralleli e multiplati, strutture miste• Trasferimenti a burst, altre varianti• Esempi: Bus VME, bus PCI• Migrazione verso bus seriali
10/05/2007 - 39 ETLC2 - B2 - 2007 DDC
Prestazioni di un bus
• Quantitá di informazione scambiata in un dato tempo.THROUGHPUT (T)
• T = P x V– P: larghezza del bus (parallelismo, numero di bit/ciclo)– V: velocità (numero di cicli/secondo)
se Tc = durata del ciclo/transazione, V = 1/tc)
• La durata del ciclo tc dipende da:– Parametri del livello elettrico: tTX, tK– Parametri dei moduli: tSU, tH, tWR, tEN, ...– Protocollo (numero di transizioni, SS o asincrono, …)
10/05/2007 - 40 ETLC2 - B2 - 2007 DDC
Bus paralleli
• Ogni segnale utilizza una connessione separata– Catena driver, pin sul connettore, pista, receiver,
terminazione,…
• Parallelismi attuali– dati: 32/64/128 bit– indirizzo: 32/64 bit
• Numero complessivo di pin/linee: >100
• Per ottenere elevata velocità (Tc breve, P alto):– Consumo elevato– Problemi di EMC
10/05/2007 - 41 ETLC2 - B2 - 2007 DDC
Relazione velocitá - consumo
• Alzando la velocità aumenta il consumo– Terminazioni con resistenza più bassa– Driver con RO piú bassa
• Aumentando il parallelismo aumenta il consumo– maggior numero di driver e terminazioni
• Per una data tecnologia, aumentare il throughputagendo su V e P aumenta il consumo
• Bus multiplato:– Minor numero di collegamenti– Minor consumo statico– Stesso consumo dinamico (legato alle transizioni)
10/05/2007 - 42 ETLC2 - B2 - 2007 DDC
Bus multiplati
• Bus convenzionale (parallelo)– indirizzi e dati usano gruppi di fili separati– Driver/receiver, piste sul backplane, piedini dei connettori
sono risorse costose» richiedono spazio» consumano energia
• Conviene ridurre il numero di “connessioni” usando lo stesso canali fisico per informazioni diverse:
bus MULTIPLATI
– Indirizzi, dati, altre informazioni) usano gli stessi fili in tempi diversi.
ETLC2 - B2 10/05/2007
2007 DDC 8
Page 8
10/05/2007 - 43 ETLC2 - B2 - 2007 DDC
• Parallelo: Gruppi di linee separate per indirizzi e dati
• Multiplato: Indirizzi, dati, altro su un unico set di linee
ADD1 X X X X ADD2INDIRIZZO
CICLO
TRANSAZIONE
CICLO
DATA2DATA1DATI
Bus paralleli e bus multiplati
ADD1 DATA2ADD2DATA1INF
CICLO
TRANSAZIONE
CICLO
10/05/2007 - 44 ETLC2 - B2 - 2007 DDC
Relazione velocitá - consumo
• Alzando la velocità aumenta il consumo– Terminazioni con resistenza più bassa– Driver con RO piú bassa
• Aumentando il parallelismo aumenta il consumo– maggior numero di driver e terminazioni
• Per una data tecnologia, aumentare il throughputagendo su V e P aumenta il consumo
• Bus multiplato:– Minor numero di collegamenti– Minor consumo statico– Stesso consumo dinamico (legato alle transizioni)
10/05/2007 - 45 ETLC2 - B2 - 2007 DDC
Varianti di protocollo
• Tecniche per usare sempre tutte le linee– Multiplex A/D: indirizzamento e trasferimento sono
intrinsecamente sequenziali; a pari tecnologia un bus multiplato non è piú lento di un bus parallelo
– Pipeline tra i vari cicli di transazioni successive
• Combinazione di più cicli per ottimizzare il protocolloa livello di transazione
– Cicli con handshake a due fronti– Trasferimenti a burst– Cicli sincroni a burst entro transazioni asincrone– Cicli source synchronous
10/05/2007 - 46 ETLC2 - B2 - 2007 DDC
• Stessa banda (numero transizioni) per controlli e INF• Minor consumo
INF
STB
ACK
INF
STB
ACK tC
INF1
tCtC
INF2INF1
Handshake a due fronti (DDR)
10/05/2007 - 47 ETLC2 - B2 - 2007 DDC
INF ADD DATA3DATA2DATA1
cicloindirizzo
TRANSAZIONE
ciclodati 1
ciclodati 2
ciclodati N
Trasferimento a burst
• Viene trasferita una sequenza (burst) di dati, inviandosolo l’indirizzo del primo
– Per sequenze lunghe raddoppia la quantitá di informazionescambiata in un determinato tempo
10/05/2007 - 48 ETLC2 - B2 - 2007 DDC
Gestione di trasferimenti a burst
• Occorre un controller per generare l’indirizzo verso la memoria
IND
STB MEMORIA
IND
bus scheda
IND
STB MEMORIA
IND
bus scheda
CONTR.
ETLC2 - B2 10/05/2007
2007 DDC 9
Page 9
10/05/2007 - 49 ETLC2 - B2 - 2007 DDC
Trasferimento a burst: memorie DDR
• Trasferimento Source Synchronous– DQS (Strobe dati) pilotato dalla memoria (dual edge)– Latenza di 2 cicli di clock
latenza ciclo
10/05/2007 - 50 ETLC2 - B2 - 2007 DDC
Lezione B2
• Transazioni come sequenza di cicli• Modello e definizioni per strutture a bus• Indirizzamento• Meccanismi di allocazione del canale• Bus paralleli e multiplati, strutture miste• Trasferimenti a burst, altre varianti
• Esempi: Bus VME e Bus PCI
• Migrazione verso bus seriali
10/05/2007 - 51 ETLC2 - B2 - 2007 DDC
Esempi/storia di bus industriali
• Prima generazione (8/16 bit- …. 1980)– S100, Multibus I, G96, STD, ....
• Seconda generazione (16/32/64 bit, 1980 … 1995)– VME 8/16/32/64 bit (esempio di evoluzione di un protocollo)
• Uso corrente (in obsolescenza)– PCI
• Nuovi progetti– Connessioni seriali punto-punto– LVDS, CDR, – Esempio: PCI � PCI express
10/05/2007 - 52 ETLC2 - B2 - 2007 DDC
Chi standardizza cosa ?
• Standard “ufficiali”– Emessi da enti internazionali
• Standard “de facto”– Emessi da (consorzi di) industrie
• Processo di definizione di uno standard– Gruppi di lavoro tecnici– Votazioni (1 voto/partecipante o ente)– Loop con revisioni e emissione (de facto)– Passaggio a ente ufficiale– Revisioni (loop)– Votazione (1 voto/paese) ed emissione ufficiale
10/05/2007 - 53 ETLC2 - B2 - 2007 DDC
Preparano e/o emettono standard
• ISO-IEC (JTC1 per Information Technologies)– UNINFO (Torino)– CEI
»…– CEN-ISSN– CENELEC– ANSI– …
• ETSI (Communications)
• IEEE Standard Organization– Technical committees (Pxxx)– http\\:…..
10/05/2007 - 54 ETLC2 - B2 - 2007 DDC
Quale bus ?
Bus paralleli
Da http://www.ni.com/swf/presentation/us/buscomp
ETLC2 - B2 10/05/2007
2007 DDC 10
Page 10
10/05/2007 - 55 ETLC2 - B2 - 2007 DDC
Esempio di protocollo completo
• VMEbus (standard ISO-IEC 821)– Rev. C.1 nel 1985
• Bus di backplane per uso industriale(sistemi di controllo, gestione impianti, ...)
– Connettore indiretto, schede formato “Europa” (3U e 6U)– Tecnologia standard TTL
• Evoluzioni successive del protocollo– Inizialmente asincrono con cicli singoli– Espansione della larghezza 32 � 64– Protocollo sincrono con trasferimenti a burst
10/05/2007 - 56 ETLC2 - B2 - 2007 DDC
Estensioni a VMEbus
• Limiti al throughput– Iniziale: velocità e parallelismo dei processori– Negli anni 80: struttura di interconnessione (bus)
• Allargamento del data path– Dati da 16 a 32 bit– Dati e indirizzi da 32/64 bit: secondo connettore
• Varianti diprotocollo– protocollo multiplexato (miglio utilizzo delle linee)– data path a 64 bit– trasferimenti a blocchi– trasferimenti a blocchi sincroni (SSBLT)
10/05/2007 - 57 ETLC2 - B2 - 2007 DDC
Dimensioni piastre
http://physweb.bgu.ac.il/COURSES/SignalNoise/vxi_tutorial.pdf
10/05/2007 - 58 ETLC2 - B2 - 2007 DDC
Segnali principali in VMEbus (32)
• A01-A31 indirizzo• AS* strobe indirizzo• D00-D31 dati• WRITE* ciclo di scrittura• DS0*-DS1* strobe dati• DTACK*/BERR* conferma/errore dati
• AM0-AM6 estensione indirizzo• BBSY*, BCLR* gestione arbitro di bus• BRi*, BGiI*/BGiO* (4) richiesta bus e daisy-chain• IRQi* (8) richiesta di interrupt• IACKI*/IACKO* daisy-chain di interrupt• SYSRESET* reset generale
10/05/2007 - 59 ETLC2 - B2 - 2007 DDC
Caretteristiche elettriche
• Livelli TTL• Comandi attivi L• Protocollo asincrono con handshake a 4 transizioni
– Durata del ciclo legata alla velocità di master e slave
• Formato big endian– MSBy a 0x0– Molti processori little endian: MSBy a 0x3– Logica di byte swap al master
• Trasferimenti– Singoli (8/16/32)– A blocchi (256 …2048), 150 ns/word– Interrupt
10/05/2007 - 60 ETLC2 - B2 - 2007 DDC
Arbitration
ETLC2 - B2 10/05/2007
2007 DDC 11
Page 11
10/05/2007 - 61 ETLC2 - B2 - 2007 DDC
Abitration policy
10/05/2007 - 62 ETLC2 - B2 - 2007 DDC
Addressing
10/05/2007 - 63 ETLC2 - B2 - 2007 DDC
Addressing protocol
10/05/2007 - 64 ETLC2 - B2 - 2007 DDC
Single cycles
10/05/2007 - 65 ETLC2 - B2 - 2007 DDC
VME: cicli base di lettura e di scrittura
A01-31 ADD1 ADD2
LETTURA SCRITTURA
AS*
D00-31 DATA2DATA1
DS0/1*
DTACK*(BERR*)
WRITE*
10/05/2007 - 66 ETLC2 - B2 - 2007 DDC
Byte alignment
ETLC2 - B2 10/05/2007
2007 DDC 12
Page 12
10/05/2007 - 67 ETLC2 - B2 - 2007 DDC
Block transfer
10/05/2007 - 68 ETLC2 - B2 - 2007 DDC
Block transfer size
• Block transfers must not cross x0..0 boundaries– D32: 256 bytes (address x00)– D64: 2048 bytes (address x000)– Can cross with double AS cycle (go through arbitration)– Avoids too long use by a single master
• Allocated memory (malloc ()) can cross boundaries– If handled by block operations need special DMA controllers– Contiguous buffers with special drivers (cmem_rcc) or
special kernel functions
10/05/2007 - 69 ETLC2 - B2 - 2007 DDC
Error handling
10/05/2007 - 70 ETLC2 - B2 - 2007 DDC
Interrupt
10/05/2007 - 71 ETLC2 - B2 - 2007 DDC
VME64x
10/05/2007 - 72 ETLC2 - B2 - 2007 DDC
Segnali principali in VMEbus (32)
• A01-A31 indirizzo• AS* strobe indirizzo• D00-D31 dati• WRITE* ciclo di scrittura• DS0*-DS1* strobe dati• DTACK*/BERR* conferma/errore dati
• AM0-AM6 estensione indirizzo• BBSY*, BCLR* gestione arbitro di bus• BRi*, BGiI*/BGiO* (4) richiesta bus e daisy-chain• IRQi* (8) richiesta di interrupt• IACKI*/IACKO* daisy-chain di interrupt• SYSRESET* reset generale
ETLC2 - B2 10/05/2007
2007 DDC 13
Page 13
10/05/2007 - 73 ETLC2 - B2 - 2007 DDC
Segnali
10/05/2007 - 74 ETLC2 - B2 - 2007 DDC
Control space register
10/05/2007 - 75 ETLC2 - B2 - 2007 DDC
Trasferimenti source synchronous
10/05/2007 - 76 ETLC2 - B2 - 2007 DDC
Prestazioni di VME
• Cicli singoli (1 µs/ciclo)– D8: 1MB/s– D16: 2MB/s– D32: 4MB/s
• Burst (VME 64)– D32: 20 … 25 MB/s (max 40)– D64: 40 … 50 MB/s (max 80)
10/05/2007 - 77 ETLC2 - B2 - 2007 DDC
PCI: posizione
• Peripheral Components Interconnect– Bus di livello intermedio per periferici
10/05/2007 - 78 ETLC2 - B2 - 2007 DDC
Scheda e backplane PCI
ETLC2 - B2 10/05/2007
2007 DDC 14
Page 14
10/05/2007 - 79 ETLC2 - B2 - 2007 DDC
PCI: caratteristiche
• Livello elettrico: – RWS (Reflected Wave Switching)– Lunghezza max 10 cm (tP ≤ 5 ns)
• Ciclo: protocollo cadenzato asincrono– Clock 33/66 MHz– Doppia conferma: ACK = IRDY * TRDY – Indirizzamento geografico per la configurazione iniziale
• Transazione:– Bus Multiplato A/D, Trasferimenti a blocchi– Arbitro centralizzato (in pipeline)
• Sommario: http://www.techfest.com/hardware/bus/pci.htm
10/05/2007 - 80 ETLC2 - B2 - 2007 DDC
Terminologia PCI
• Agent– Qualunque modulo
• Master– Agent che può avviare una transazione
• Initiator– Pilota FRAME, Indirizzi e IRDY
• Target– Risponde alla richiesta di transazione del master– Attiva DEVSEL (locale)– Risponde sul bus con TRDY
10/05/2007 - 81 ETLC2 - B2 - 2007 DDC
PCI: segnali
10/05/2007 - 82 ETLC2 - B2 - 2007 DDC
PCI: segnali di sincronizzazione
• FRAME# – I/O– Signals the start and end of a transaction
• IRDY# – I/O – Assertion by initiator indicates that it is ready to send or
receive data• DEVSEL# – I/O
– Part of PCI’s distributed address decoding» Each target is responsible for decoding the address associated
with each transaction» When a target recognizes its address, it asserts DEVSEL# to
claim the corresponding transaction
• TRDY# – I/O– When the target asserts this signal, it tells the initiator that it
is ready to send or receive data
10/05/2007 - 83 ETLC2 - B2 - 2007 DDC
PCI: segnali
• STOP# – I/O– Used by target to indicate that it needs to terminate the
transaction
• IDSEL – I– Individual device select for configuration– one unique IDSEL line per agent– Allows the system host to configure agents before these
agents know the PCI addresses to which they must respond(solves the “chicken-and-egg” problem)
10/05/2007 - 84 ETLC2 - B2 - 2007 DDC
PCI: segnali indirizzo/dati/controllo
• AD[31:0] – I/O– 32-bit address/data bus– PCI is little endian (lowest numeric index is LSB)
• C/BE#[3:0] – I/O– 4-bit command/byte enable bus– Defines the PCI command during address phase– Indicates byte enable during data phases– Each bit corresponds to a “byte-lane” in AD[31:0]
» C/BE#[0] is the byte enable for AD[7:0]
ETLC2 - B2 10/05/2007
2007 DDC 15
Page 15
10/05/2007 - 85 ETLC2 - B2 - 2007 DDC
PCI: segnali per arbitrazione
• REQ# – O– Asserted by initiator to request bus ownership– Point-to-point connection to arbiter – each initiator has its
own
• REQ# line
• GNT# – I– Asserted by system arbiter to grant bus ownership to the
initiator
• Point-to-point connection from arbiter – each initiatorhas its own GNT# line
10/05/2007 - 86 ETLC2 - B2 - 2007 DDC
PCI: configurazione iniziale
• Selezione diretta di scheda (geografica)• Segnale
IDSEL (uno per ciascunconnettore)
10/05/2007 - 87 ETLC2 - B2 - 2007 DDC
PCI: configurazione iniziale
10/05/2007 - 88 ETLC2 - B2 - 2007 DDC
Arbitraggio del bus
10/05/2007 - 89 ETLC2 - B2 - 2007 DDC
Ciclo di lettura
10/05/2007 - 90 ETLC2 - B2 - 2007 DDC
Ciclo di lettura
ETLC2 - B2 10/05/2007
2007 DDC 16
Page 16
10/05/2007 - 91 ETLC2 - B2 - 2007 DDC
Ciclo di scrittura
10/05/2007 - 92 ETLC2 - B2 - 2007 DDC
Ciclo di scrittura
10/05/2007 - 93 ETLC2 - B2 - 2007 DDC
Codici comandi
• Il campo Bus Cmdindica il tipo dioperazione:
– Read– Write– Burst– I/O– Interrupt– ..
Memory Write and Invalidate1111
Memory Read Line 1110
Dual Address Cycle 1101
Memory Read Multiple 1100
Configuration Write 1011
Configuration Read 1010
Reserved 1001
Reserved 1000
Memory Write 0111
Memory Read 0110
Reserved 0101
Reserved 0100
I/O Write 0011
I/O Read 0010
Special Cycle 0001
Interrupt Acknowledge 0000
Command TypesC/BE[3:0]#
10/05/2007 - 94 ETLC2 - B2 - 2007 DDC
Alimentazione 3,3 o 5 V
• Difetto di specifica meccanica !
10/05/2007 - 95 ETLC2 - B2 - 2007 DDC
Segnali 3,3 V (CMOS)
10/05/2007 - 96 ETLC2 - B2 - 2007 DDC
Segnali 5 V (TTL)
ETLC2 - B2 10/05/2007
2007 DDC 17
Page 17
10/05/2007 - 97 ETLC2 - B2 - 2007 DDC
Comparison 5/3,3 V signalling
10/05/2007 - 98 ETLC2 - B2 - 2007 DDC
Transmission environment
10/05/2007 - 99 ETLC2 - B2 - 2007 DDC
Specifiche per il clock
10/05/2007 - 100 ETLC2 - B2 - 2007 DDC
Specifiche elettriche
• Specifiche elettriche differenziate – 3,3 V: CMOS– 5 V: TTL
• Vincoli stringenti su lunghezze, C, L
• Piste equalizzate con meandri
(min) (max)
10/05/2007 - 101 ETLC2 - B2 - 2007 DDC
Timing budget
• Bus cadenzato a 33 o 66 MHz• Tempo di ciclo minimo pari a un periodo di clock• Specifiche diverse per 33 o 66 MHz
– Tval � tempo di valutazione, ritardo logiche di interfaccia– Th assorbito nel Tval del ciclo successivo
10/05/2007 - 102 ETLC2 - B2 - 2007 DDC
Operazioni in un ciclo di clock
ETLC2 - B2 10/05/2007
2007 DDC 18
Page 18
10/05/2007 - 103 ETLC2 - B2 - 2007 DDC
Distribuzione del clock
10/05/2007 - 104 ETLC2 - B2 - 2007 DDC
Evoluzione della famiglia di bus PCI
(TX+RX)5 x N4 x N2.500PCI Express-xN
Previsione max20 x N10.000
2004 (TX+RX)542.500PCI Express-x1
Clock più veloce16,89664266PCIx- 64/266
Clock più veloce8,44864133PCI(x)- 64/133
Data path più ampio
4,2246466PCI- 64/66
Clock più veloce, solo 3V
2,1123266PCI- 32/66
1990 - Prima generazione
1,0563233PCI- 32/33
NoteBanda (Gbps)
Parall dati (num fili)
CLOCK (MHz)
Versione
10/05/2007 - 105 ETLC2 - B2 - 2007 DDC
PCI- 66
• Additional 64-Bit Pins– AD[63:32]– REQ64# (Mirrors FRAME# ; requests a 64-bit transaction)– ACK64#
• Same as a standard 32-bit transaction, plus:– The initiator asserts REQ64# to mirror FRAME#– The target, in response, asserts ACK64# to mirror DEVSEL#
• Data is transferred on AD[31:0] and AD[63:32]– 66MHz PCI can only use 3.3V signaling– The loading allowance is cut in half (5 loads): only one or two
add-in slots are possible
10/05/2007 - 106 ETLC2 - B2 - 2007 DDC
PCI- express – livello fisico
• Collegamenti punto-punto, 2,5 Gb/s (� 10 Gb/s)• Full duplex (canali RX/TX separati)• Coppie differenziali LV, accoppiamento AC (lane)
– Ridotta EMI/EMC, basso consumo
• Ambiente trasmissivo ben controllato
• Codifica 8b/10b• Preenfasi per ridurre ISI• Modulare: possibile collegare più lane in parallelo
– Diversi connettori compatibili
• Interrupt e altri comandi diretti con messaggi
10/05/2007 - 107 ETLC2 - B2 - 2007 DDC
PCI- express – connettori
• Possibile up-plugging(board N in connettore N+m)