La possibilità di connettere a una motherboard altre periferiche dipende, dall’esistenza di uno standard di comunicazione. Per queste funzioni di interfaccia di espansione, dal 2003 esiste il PCI-Express o PCIe, (acronimo che significa Peripheral Component Interconnect express) che sulla maggior parte delle schede madri in commercio convive ancora con lo standard PCI.
Lo standard PCI è stato introdotto per la prima volta da Intel nel 1992 e, dalla seconda release, mantenuto anch’esso dal PCI Special Interest Group (PCI-SIG). PCI, interfaccia di tipo parallelo, e PCIe, seriale (Serial Bus) e point-to-point fra i device, hanno sostituito le interfacce di espansione più obsolete, e in particolare VESA e ISA.
Cosa vuol dire PCI Express (PCIe)
PCIe è lo standard di interfaccia d’espansione a bus seriale per computer, realizzato per innovare i precedenti PCI, PCI-X e AGP.
Tale standard si basa su un trasferimento dei dati seriale, mentre era parallelo per quanto riguarda il PCI. Esso permette elevata modularità, in quanto possono essere aggregati più canali per incrementare la banda passante disponibile. Tale aggregazione è anche utile per supportare particolari configurazioni, quali l’uso di due o più schede video. Inoltre la larghezza di banda di ogni canale è indipendente da quella degli altri.
Cos’è lo standard PCI Bus
Dalla contrazione del latino omnibus, con Bus in informatica si intende un canale di comunicazione che consente a componenti e periferiche di interfacciarti e scambiarsi informazioni e dati.
PCI Bus esiste in varie versioni (PCI, PCI 2.0 eccetera) come si vedrà qui di seguito, e il trasferimento che avviene attraverso di esso è composto da una fase di indirizzamento e da una o più fasi di dato, con bassa latenza ed elevato throughput (che rappresenta la velocità effettiva).
A cosa serve PCIe
PCI Express come il PCI , consente di interconnettere con le motherboard schede video, schede audio, schede GPU (Graphic Processing Unit), schede di rete fissa o wireless, hard disk, SSD e così via.
Generalmente, l’aggiunta di una scheda PCIe avviene con l’inserimento dei piedini della stessa in un connettore o slot PCIe. Siccome lo standard PCI Express prevede la possibilità di utilizzare da uno a 32 (teoricamente) link di comunicazione, chiamati “Lane” (linee, corsie, costituite da due coppie di fili, o differential pairs, ciascuna, per la trasmissione e la ricezione duplex seriale) esistono slot di diverse lunghezze. I più corti sono quelli da una lane (o x1, dove prefisso x indica il numero). Quindi ne esistono sul mercato da quattro (x4), 8 (x8) a 16 (x16).
PCI Express 1.0
Il PCIe 1.0 è stato introdotto nel 2003. La specifica prevedeva un throughput massimo di 250 MB/s e un transfer rate di 2,5 GT/s (gigatransfer al secondo) per linea (x1). Il transfer rate si ottiene considerando il line encoding utilizzato. In questa versione e nella 2.0 è di tipo 8b/10b. Significa che a ogni stringa di 8 bit di informazioni sono aggiunti uno all’inizio e uno alla fine, rispettivamente per permettere al ricevitore di tenere traccia dei pacchetti inviati e non perdere informazioni. Con l’encoding 8b/10 sussiste un overhead del 20% (8/10).
PCI Express 2.0
La specifica base del PCIe 2.0 è stata presentata dal PCI-SIG nel mese di gennaio 2007. La bandwidth – come previsto a ogni cambio di versione, pur mantenendo la retrocompatibilità – è raddoppiata: da 250 MB/s a 500 MB/s per lane, con un aumento del transfert rate da 2,5 a 5 GT/s. Gli slot PCIe 2.0 sono retrocompatibili con le card per PCIe 1.0. Si assiste a una diffusione di chipset che supportano il traffico dati a 5 GT/s per lane.
PCI Express 3.0
Lo standard PCI Express 3.0 viene rilasciato, dopo alcuni, ritardi, nel novembre 2010. Del resto era stato promesso di raggiungere 8 GT/s di transfer rate. Sono introdotte molte migliorie, fra le quali l’encoding scheme 128b/130b, che abbatte l’overhead all’1,54% (2/130). A rendere possibile ciò miglioramenti nella data integrity, inclusi l’equalizzazione fra trasmettitori e ricevitori e il data clock recovery. A settembre 2013 viene annunciata la versione 3.1, con il consolidamento delle migliorie della 3.0, soprattutto nelle aree del power management e delle performance. Il rilascio avviene nel novembre 2014.
PCI Express 4.0
Il PCI Express 4.0 è stato annunciato alla fine del novembre 2011, ma per il rilascio della specifica da parte del PCI-SIG si è dovuto attendere il giugno 2017. Il PCIe 4.0 ha raggiunto l’obiettivo di 16 GT/S, pari a 2 GB/s per lane. Con 16 lane si può avere una bandwidth di quasi 32 GB/s. A livello di interfacce meccaniche, si segnala l’introduzione di OCuLink-2, un nuovo tipo di connettore e di cavi che supportano un throughput di 16GT/s, per 8 GB/s di bandwidth totale con x4 lane). OCuLink-2 è considerato un’alternativa al connettore/interfaccia Thunderbolt 3, che garantisce 5 GB/s con PCIe 3.0 x4. Al momento sono in commercio connettori e cavi per la connessione in rame, ma è previsto anche il supporto della fibra.
Proprio di recente si è assistito al lancio di motherboard e periferiche compatibili con il PCI Express 4.0
PCI Express 5.0
Annunciata nel giugno 2017 e rilasciata nel maggio 2019, la specifica PCI Express 5.0 ha fra gli obiettivi quelli di portare il transfer rate per lane a 32 GT/s e ottenere una bandwidth di circa 63 GB/s in ogni direzione con una configurazione x16. Questa release è destinata al mercato high-end. Si prevedono le prime implementazioni nel 2020. IL PCI-SIG prevede che per qualche anno conviverà con la 4.0.
PCI Express 6.0
Il PCI-SIG ha annunciato lo sviluppo della release PCI Express 6.0 lo scorso 18 giugno 2019. L’obiettivo è completarla entro il 2021 e vedere i primi prodotti compatibili nel 2022. Fra le varie migliorie, si prevede un transfer rate target di 64 GT/s per lane, con una larghezza di banda di 128 GB/s in configurazione x16.
Cosa significa PCI express x16 e differenza con PCI express x1
Gli slot PCI express x1 sono sufficienti per le schede a basso consumo di banda, come le WI-Fi o le 10/100/1000 Ethernet; le schede PCIe x16 (che supportano anche le card 1x, 4x e 8x, garantendo solo la bandwidth già prevista per queste varianti) sono necessarie per molte schede di rete 10GbE e schede grafiche ad alte prestazioni.
Naturalmente, slot PCIe x16 sono in grado di trasferire maggiori volumi di dati rispetto a slot PCIe x1 ogni secondo.
Differenza PCI e PCI express
Al contrario del PCI e del PCI-X, il PCIe utilizza una topologia point-to-point basata su link seriali e separati, che si connettono a un device chiamato root complex, in quale a sua volta, media le comunicazioni dei device con la CPU, il sottosistema di memoria (e, attraverso un bridge, anche con i device PCI e PCI-X). La frequenza di clock utilizzata nel PCIe è di 100 MHz. La fonte condivisa di clock serve solo come riferimento per i trasmettitori per evitare che i ricevitori debbano effettuare delle compensazioni. Come avviene in altri protocolli seriali ad alta velocità il clock è embedded nei segnali scambiati fra le controparti delle connessioni point-to-point.
Fra i limiti del PCI spicca l’utilizzo di un’architettura bus condivisa e parallela. I device PCI condividono un unico set di indirizzi incluso nell’address space del processore. Essendo parallelo, il bus deve essere sincronizzato con un unico clock, che nella prima versione del PCI era di 33 MHz. Il PCI 66 MHz è quello utilizzato oggi. Esiste anche una versione più avanzata del PCI, PCI Extended o PCI-X, destinata ai server e nata con una frequenza di clock di 133 MHz. Anche se sono state rilasciate versioni PCI-X a 266 MHz e 533 MHz, quella a 133 MHz resta la più utilizzata.
Vantaggi delle PCIe e perché convengono
I dispositivi PCIe convengono in quanto sfruttano i vantaggi dell’interfaccia PCI Express a livello di riduzione dei tempi di latenza rispetto alle interfacce parallele. Sempre più vendor investono sul PCIe e adottano le nuove versioni con miglioramenti di performance, affidabilità e funzionalità. Fra queste, anche quelle che riducono consumi energetici.
I produttori di device PCIe si stanno avvantaggiando del supporto che l’interfaccia PCI Express offre ad altri tipi di interfaccia, come SATA 3.0 e USB 3.0. Pertanto è possibile utilizzare card Mini-Sata (mSata) inserendole in adattatori connessi agli slot PCIe. Oppure si possono utilizzare schede PCI Express per aggiungere porte USB 3.0. Allo stesso tempo il PCIe supporta sempre più form factor, fra cui il M.2, il U.2. Inoltre offre nuovi cablaggi che permettono di connettere, a slot PCIe presenti su una motherboard, dispositivi PCIe esterni. Si pensi dispositivi elettromedicali o industriali eccetera.
Che cosa sono le SSD PCIe
Con SSD PCIe si intendono le unità a stato solido che non utilizzano l’interfaccia SATA delle schede madre per le comunicazioni con il file system di Windows. Esse dispongono di un loro controller di storage integrato, questo non deve essere confuso con il chip del controller SSD standard utilizzato dalle unità SSD. Il controller di storage nelle unità SSD PCIe sfrutta un driver fornito dal sistema operativo stesso o dal produttore.