Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori
Corso
Corso di di
Architettura degli Elaboratori Architettura degli Elaboratori
a.a. 2005/2006 a.a. 2005/2006
Il bus
Matteo Baldoni (con modifiche di Susanna Donatelli) Dipartimento di Informatica Università degli Studi di Torino C.so Svizzera, 185 – I-10149 Torino Baldoni/susi@di.unito.it http://www.di.unito.it/~baldoni(~susi)
Connessioni
Connessioni di di una una CPU CPU
Linee di controllo Linee dati
Linee indirizzi
Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori
Connessioni
Connessioni di di una una CPU CPU
Indirizzo: n piedini corrispondono a 2n locazioni di memoria
indirizzabili (valori tipici: n = 16, 20, 32, 64)
Dati: n piedini permettono di leggere/scrivere una parola di n bit con una sola operazione (valori tipici n = 8, 16, 32, 36, 64)
Controllo: regolano il flusso e la scansione dei dati verso e dal chip. Categorie principali:
controllo del bus interrupt
arbitraggio del bus
segnali del coprocessore stato
varie
Bus Bus
Collegamento elettrico tra molti dispositivi Diversi bus:
Bus di sistema (Memory bus, I/O bus,CPU bus) Bus interni al chip
Bus locali
Regole di funzionamento: protocollo del bus
Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori
Bus Bus
Caratterizzato da linee di dati, di indirizzo e di controllo Linee di dati: l’insieme delle linee è detto data bus. Il
numero di linee (larghezza del data bus) determina il
numero di bit che possono essere trasmessi alla volta: ha un impatto sulle prestazioni del sistema.
Linee di indirizzo: permettono di individuare la sorgente/
destinazione dei dati trasmessi sul data bus.
Linee di controllo: controllano l’accesso e l’utilizzo delle linee di dati e di indirizzo
Connessioni
Connessioni al bus al bus
I dispositivi hanno
connessioni diverse a
seconda della loro natura
ATTENZIONE: le
connessioni in figura sono logiche e non fisiche
Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori
Dispositivi attivi
Dispositivi attivi e e passivi passivi
I dispositivi collegati ad un bus si dividono in
attivi (master): possono decidere di iniziare un trasferimento, in genere sono collegati al bus per mezzo di un bus driver
passivi (slave): rimangono in attesa di richieste, in genere sono collegati per mezzo di un bus receiver
i dispositivi che si comportano sia come master che come slave (es. la CPU) sono collegati attraverso il bus tranceiver
Wired-OR: OR booleano dei segnali contemporanei di richiesta di utilizzo del bus su una singola linea
●
Ampiezza del bus
●
Bus clocking
●
Arbitraggio
Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori
Larghezza
Larghezza del bus del bus
Bus “larghi” sono più costosi di quelli stretti ma offrono una banda più larga e quindi maggiore velocità di
trasferimento
Maggiore velocità si ottiene aumentando la banda (più bit/trasferimento) o diminuendo il ciclo di bus (più
bit/secondo)
Es. bus CPU-memoria “dual channel”
Bus Bus sincrono sincrono
Ha una linea pilotata da un oscillatore, ogni attività richiede un numero intero di cicli
La CPU mette l'indirizzo sul bus che necessita di un certo tempo per stabilizzarsi, dopodichè rimane disponibile
Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori
Bus Bus sincrono sincrono
Ha una linea pilotata da un oscillatore, ogni attività richiede un numero intero di cicli
La CPU mette l'indirizzo sul bus che necessita di un certo tempo per stabilizzarsi, dopodichè rimane disponibile
Vengono attivati i segnali di
richiesta di accesso alla memoria e il segnale di lettura
Bus Bus sincrono sincrono
Ha una linea pilotata da un oscillatore, ogni attività richiede un numero intero di cicli
La CPU mette l'indirizzo sul bus che necessita di un certo tempo per stabilizzarsi, dopodichè rimane disponibile
Vengono attivati i segnali di
richiesta di accesso alla memoria e il segnale di lettura
Segnale di attesa dei dati
Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori
Bus Bus sincrono sincrono
Ha una linea pilotata da un oscillatore, ogni attività richiede un numero intero di cicli
La CPU mette l'indirizzo sul bus che necessita di un certo tempo per stabilizzarsi, dopodichè rimane disponibile
Vengono attivati i segnali di
richiesta di accesso alla memoria e il segnale di lettura
Segnale di attesa dei dati La memoria nega il wait quando i dati sono disponibili
Tmax = T1+T2+T3/2 – TDS- TAD Vincolo temporale per
la produzione dei dati da parte della memoria
Tmax
Bus Bus sincrono sincrono
Ha una linea pilotata da un oscillatore, ogni attività richiede un numero intero di cicli
La CPU mette l'indirizzo sul bus che necessita di un certo tempo per stabilizzarsi, dopodichè rimane disponibile
I dati sono disponibile nel terzo ciclo Vengono attivati i segnali di
richiesta di accesso alla memoria e il segnale di lettura
Segnale di attesa dei dati La memoria nega il wait quando i dati sono disponibili
Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori
Bus Bus asincrono asincrono
Il bus sincrono deve
adattarsi al dispositivo più lento
Attivati i segnali di accesso alla memoria e lettura, attiva il segnale Master SYNchronization
Bus Bus asincrono asincrono
Il bus sincrono deve
adattarsi al dispositivo più lento
Attivati i segnali di accesso alla memoria e lettura, attiva il segnale Master SYNchronization
Lo slave esegue il suo lavoro
all'attivazione del segnale e quindi terminatolo attiva il segnale di
Slave SINchronization
Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori
Bus Bus asincrono asincrono
Il bus sincrono deve
adattarsi al dispositivo più lento
Attivati i segnali di accesso alla memoria e lettura, attiva il segnale Master SYNchronization
Lo slave esegue il suo lavoro
all'attivazione del segnale e quindi terminatolo attiva il segnale di
Slave SINchronization
I dati vengono memorizzati dal master che nega i segnali di accesso alla memoria, lettura e Master SYNchronization
Bus Bus asincrono asincrono
Il bus sincrono deve
adattarsi al dispositivo più lento
Attivati i segnali di accesso alla memoria e lettura, attiva il segnale Master SYNchronization
Lo slave esegue il suo lavoro
all'attivazione del segnale e quindi terminatolo attiva il segnale di
Slave SINchronization
I dati vengono memorizzati dal master che nega i segnali di accesso alla memoria, lettura e Master SYNchronization
Lo slave dopo aver visto la negazione del segnale di master synchronization, nega a sua volta il segnale di Slave SYNnchronization
Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori
Arbitraggio
Arbitraggio del bus del bus
Cosa succede se più di un dispositivo richiede l'utilizzo del bus contemporaneamente?
È necessario un meccanismo di arbitraggio del bus per evitare ambiguità delle informazioni immesse sul bus
stesso, sono possibili due strade:
arbitraggio centralizzato arbitraggio decentralizzato Meccanismo del grant
Arbitraggio
Arbitraggio del bus del bus
Arbitro centralizzato
Daisy chaining: (collegamento a festone) il grant viene trasmesso lungo la linea bus grant finché un dispositivo non accetta l'assegnamento
Vince il dispositivo più vicino
Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori
Arbitraggio
Arbitraggio del bus del bus
Due (o più) livelli di priorità
L'assegnamento segue lo stesso meccanismo del daisy chaining ma di dispositivi con priorità più alta hanno
precedenza nell'assegnamento del grant da parte dell'arbitro Scelta attenta delle priorità tra i vari dispositivi: spesso non dipende dalla loro velocita’, ma dalla possibilita’ o meno che il dispositivo aspetti
Arbitraggio
Arbitraggio del bus del bus
Arbitro decentralizzato (acquisizione: se Busy e’ negato e IN e’
asserito, si nega OUT e si asserisce Busy e OUT e si inizia il trasferimento;
rilascio: si nega busy e si copia il valore IN in OUT)
Tante linee quanti dispositivi, ogni dispositivo osserva le linee prima di effettuare la richiesta (soluzione poco flessibile ma risparmia il costo dell'arbitro)
Soluzione con tre linee, bus request, busy e linea di arbitraggio Più economico e più veloce del daisy chaining centralizzato
Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori
Interruzioni Interruzioni
●Quando un dispositivo termina la lettura/scrittura, chiede l’attenzione della cpu “alzando” un interruzione
● Se ci sono molti dispositivi le linee di interruzione del bus non bastano Æ uso di chip di interrupt controller
Indirizzamento dei dispositivi Indirizzamento dei dispositivi
Dispositivi indirizzabili:
●EPROM o ROM per il programma (2K x 8 byte)
●RAM (2K x 8 byte)
●Chip di I/O parallelo (devo indirizzare tre porte
●Posso indirizzare:
● esplicitamente il dispositivo (usando una linea di bus dedicata)
● oppure assegno al dispositivo un indirizzo analogo a quelli della memoria (I/O mappato in memoria)
●8000H = 1000 0000 0000 0000 = 100000K
●FFFCH = ultimi 4 indirizzi (FFFCH, FFFDH, FFFEH, FFFFH)
Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori
Decodifica
Decodifica totale totale dell dell ’ ’ indirizzo indirizzo
Decodifica
Decodifica parziale parziale
dell dell ’ ’ indirizzo indirizzo
Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori
Il bus ISA Il bus ISA
( ( Industry Standard Architecture) Industry Standard Architecture)
Un Un esempio esempio di bus: PCI di bus: PCI
Bus PCI per la connessione dei
dispositivi nei desktop 64 linee dati
66 Mhz
528 Mbyte/s Economico!
Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori
Organizzazione recente dei
Organizzazione recente dei bus bus
Gerarchia di bus collegati tra di loro da bridge per soddisfare diverse necessità di velocità di trasferimento e compatibilità con gli standard
North bridge e South bridge (bridge PCI-ISA)
AGP (accelerated graphics port), PCI (peripheral
componet interconnect,
periferiche ad alta velocità), EIDE (enhanced integrated device electronics), USB (universal serial bus)
AGP (
AGP ( Accelerated Graphics Port Accelerated Graphics Port ) bus ) bus
La maggior parte delle periferiche di un elaboratore si è appoggiato sino ad ora al bus di tipo PCI (1992)
Le richieste di trasferimento di grandi quantitativi di dati per l'elaborazione da parte di applicazioni 3D (giochi, elaborazioni video, etc.) ha reso presto obsoleto il PCI soprattutto per il
collegamento di schede video con grassa capacità di calcolo Intel introduce (2000) il bus AGP (in realtà un collegamento dedicato punto a punto) liberando il bus PCI del compito di
gestire la scheda video e responsabile della maggior parte del carico
Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori
Gerarchie
Gerarchie di bus di bus
Gestire un elevato numero di periferiche con diverse prestazioni ed caratteristiche
Bus dedicati a seconda dei dispositivi connessi
Architettura di uno dei primi Pentium.
I bus piu’
spessi hanno piu’ banda (ma la figura non e’
in scala)
Gerarchie
Gerarchie di bus (II) di bus (II)
Architettura a bus
del Pentium 4
Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori
Da Da bus bus paralleli paralleli a a seriali seriali
AGP, come tutti i bus precedentemente sviluppati (ISA, EISA, PCI), sono basati sulla trasmissione parallela dei bit che compongono una unità informatica (es. parola di 32 bit)
La trasmissione parallela è comunemente accettata come il modo più semplice di rendere veloce una trasmissione di dati, soprattutto se paragonata alla trasmissione seriale (1 bit alla volta)
Recentemente si stanno però affermando standard di trasmissioni basati sul trasferimento seriale (USB, USB 2.0, Serial ATA, PCI Express)
PCI Express PCI Express
PCI Express bus è
destinato a sostituire i bus PCI e AGP
Basato sul trasferimento seriale dei dati (1 bit alla
volta) piuttosto che parallelo come sui bus PCI e AGP
Trasferimenti di 250 MB/s (x1) fino a oltre 8000 MB/s (x32) contro 133 MB/s del PCI e 2133 MB/s dell'AGP (8x)
Collegamento punto a punto (point to point) e a pacchetti (come reti a stella)
Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori
Tipica configurazione
Tipica configurazione PCI PCI - - express
express
Da Da bus bus paralleli paralleli a a seriali seriali
La progettazione e la
realizzazione di cavi per la trasmissione parallela è più complessa come la loro installazione
all'interno di un elaboratore
Un cavo seriale è più
semplice da realizzare e non ostruisce la
ventilazione interna
Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori
Da Da bus bus paralleli paralleli a a seriali seriali
Problemi per i bus parelleli:
Interferenza
elettromagnetica: i collegamenti si comportano come
antenne che catturano il rumore dell'ambiente
Ritardo della
propagazione dei segnali:
i bit, sebbene trasmessi contemporaneamente non arrivano nello stesso
momento
Da Da bus bus paralleli paralleli a a seriali seriali
Nella trasmissione seriale Interferenza
elettromagnetica: è
relativamente semplice schermare in modo
adeguato una coppia di fili (collegamento più terra) ancichè 32 o più
Ritardo della
propagazione dei segnali:
non esiste necessità di sincronizzazione
Più facile progettare connessione con alte
Baldoni-Donatelli 2005-2006 Architetture degli Elaboratori
Da Da bus bus paralleli paralleli a a seriali seriali
Half-duplex vs Full-duplex La comunicazione
parallela è in generale
half-duplex mentre quella seriale full-duplex
Poichè servono solo una coppia di collegamenti per la seriale è estremamente conveniente e semplice
collegare dispositivi con 4 collegamenti perchè si possa trasmettere e
ricevere contemporanea- mente
Serial ATA (SATA) Serial ATA (SATA)
Nuovo standard seriale (in realtà del 2000) per la
connessione di dispositivi hard disk alla scheda
madre anzichè la
convenzionale IDE/EIDE parallela
Permette di raggiungere anche 300 MB/s contro i 133 MB/s delle più recenti IDE/EIDE