PCI Express, non chiamatelo bus

I benefici, la tecnologia e i principi di funzionamento dell’architettura che andrà a rimpiazzare il PCI

dicembre 2004 Quando il traffico aumenta a dismisura e si creano code
e ingorghi, una soluzione è costruire nuove strade e ferrovie, allargare
quelle esistenti e creare dorsali ad alto scorrimento.

Lo stesso accade per i bus e le connessioni di I/O (input/output) del PC.

Per la precisione, un bus è un canale che trasporta
dati e segnali di controllo fra tre o più dispositivi, mentre una connessione
punto-punto
collega due dispositivi tra loro, come avviene per l’AGP.

Nel 1981 il PC IBM aveva un bus di I/O (poi chiamato ISA)
largo 8 bit con clock di 8,33 MHz; la banda passante teorica era 8,33 MB al
secondo (MBps), ma il protocollo di I/O limitava al 50% l’efficienza reale.

Il PC/AT del 1984 portò a 16 bit il bus ISA, ma all’inizio degli
anni ’90 il bus ISA era diventato un collo di bottiglia insopportabile
innanzitutto per la grafica video.

Nacque una serie di bus più veloci a 32 bit: il Micro Channel
di IBM, l’EISA dei concorrenti di IBM, il Vesa Local
Bu
s e infine il PCI per iniziativa di Intel.

Unico sopravvissuto, il PCI prevedeva, nel ’92, 32 o
64 bit di larghezza e un clock di 33 MHz; anche in questo caso i 132 MB al secondo
(a 32 bit) sono apparenti: nel migliore dei casi (con un carico di almeno tre
dispositivi) la resa si avvicina al 50%.

A distanza di 12 anni, la maggior parte dei PC usa ancora il PCI di base, sia
pure aggiornato fino al PCI 2.3.

Per le workstation e soprattutto per i server, il PCI-X 1.0
del ’99 portò il clock a 133 MHz, salito a 266 e 533 MHz con il
PCI-X 2.0 del 2002.

La larghezza di banda teorica arriva così a 4,266 GB al secondo (sfruttabili
all’80% con il PCI 2.0), ma il PCI-X resta pur sempre un bus condiviso
e disponibile solo su motherboard costose per un mercato di nicchia.

Quando il PCI non riuscì più a soddisfare le esigenze della grafica,
fu introdotto l’AGP, una connessione punto-punto che
dai 266 MB al secondo originali del ’97 è salito fino ai 2.133
dell’AGP 8X di fine 2000.

Un groviglio di bus
L’architettura del PC, da molti anni, è basata
su un chipset che fa da crocevia per il traffico tra CPU, memoria,
grafica, dischi e tutte le altre interfacce di I/O.

Il più delle volte il chipset comprende un northbridge,
che interfaccia con il bus di memoria, con il frontside bus
(verso la CPU) e con l’AGP e un southbridge, che interfaccia,
oltre che con il northbridge, con i dischi ATA o SATA, con il bus PCI, con il
bus USB e con tutte le altre connessioni locali di I/O.

Le CPU AMD 64 hanno il vantaggio di avere il northbridge incorporato, che riduce
i tempi di latenza.

Il chipset deve far fronte al fatto che il PC è diventato un’accozzaglia
di bus e connessioni eterogenee con diversi protocolli e bande passanti, tutti
simultaneamente in funzione.

Poiché il PCI non regge il traffico di grafica, dischi, Gigabit Ethernet,
USB e FireWire, man mano queste interfacce sono state spostate direttamente
sul northbridge (l’AGP) e soprattutto sul southbridge, da cui passa il
traffico per quasi tutte le periferiche di I/O.

Un altro aspetto è che sui PC sono diventati comuni gli streaming audio/video,
che hanno requisiti temporali (bassa latenza e banda passante garantita) per
i quali non c’è alcun supporto nelle specifiche PCI 2.2 o PCI-X.

Con le piattaforme attuali, anche i server sono limitati nelle loro capacità
di fornire video-on-demand, ridistribuire audio e controllare comunicazioni
in tempo reale.

La situazione che si è venuta a creare, con il PCI emarginato perché
troppo lento e le periferiche veloci attaccate direttamente al chipset, è
l’opposto della scena ideale, in cui vorremmo vedere un unico tipo di
bus in grado di gestire ogni genere di traffico.

Il PCI utilizza una topologia a bus condiviso, dove i vari
dispositivi sono attaccati al bus e ne condividono la banda passante attraverso
l’arbitraggio del chipset e della CPU.

Dal 50 al 100% della banda passante PCI è sprecato o usato per il controllo
del bus; ai dati dell’utente resta dal 25 al 50% della banda (fonte Compaq-ServerWorks).

I limiti di un singolo bus hanno portato, sulle motherboard ad alte prestazioni,
ad installarne diversi, interconnessi da PCI Bridge (ponti
PCI).

Il PCI-X, sebbene più veloce ed efficiente, è anch’esso
un bus condiviso e soprattutto alza notevolmente i costi dell’hardware,
anche per l’esigenza di rispettare strettissime tolleranze per isolare
il rumore che si genera in un bus parallelo condiviso ad alte frequenze di clock.

continua...

CONDIVIDI

LASCIA UN COMMENTO

Please enter your comment!
Please enter your name here