Tehnologii - PC Magazine Romania, Octombrie 2001
Despre
siliciu şi nu numai în inima Văii Siliciului - 3GIO, o arhitectură I/O pentru
viitor
Mihaela
Cârstea
Busul PCI şi-a făcut treaba în ultimii 10 ani şi va mai continua să joace
un rol important în următorii ani. Cu toate acestea, noile procesoare şi dispozitive
de I/O necesită o lăţime de bandă superioară pentru operaţiile I/O decât pot
oferi versiunile PCI 2.2 şi PCI-X. A fost necesară deci apariţia unei noi generaţii
de bus standard I/O pentru viitoarele generaţii de platforme.
3GIO sau cea de-a treia generaţie a arhitecturii de interconectare pentru operaţii
de intrare/ieşire cu scop general aduce nu numai mai multă lăţime de bandă dar
şi alte funcţionalităţi.

Topologiei sistem i-a fost adăugat un switch
Topologia 3GIO conţine un Host Bridge şi mai multe puncte finale (dispozitive
de I/O), aşa cum se poate observa în Figura 1. Multiplele conexiuni punct-la-punct
introduc un element nou - switch-ul- care înlocuieşte busul multi-drop şi este
folosit pentru asigurarea distribuirii în evantai a busului de I/O. Un switch
poate oferi comunicaţie de tip peer-to-peer între diferite puncte finale şi
acest trafic, dacă acesta nu implică transferuri de memorie cache clare, nu
necesită redirecţionarea către host bridge.
Switch-ul este reprezentat în figură ca element logic separat, dar el ar putea
fi integrat într-o componentă host bridge.
Datorită numărului scăzut de linii de semnal, conexiunile punct-la-punct pot
fi realizate cu ajutorul conectorilor şi cablurilor.
Componentele mecanice din 3GIO vor permite noi clase de partiţionare a sistemului
(nu mai este necesară existenţa cutiei bej).

Interconectare I/O cu scopuri generale pentru calculatoare
desktop/mobile
Figurile 2-4 prezintă platforme tipice pentru anul 2003, ce vor folosi arhitectura
3GIO. Busurile paralele multiple, similare, folosite de platformele de azi sunt
înlocuite cu legături 3GIO cu una sau mai multe benzi. Fiecare legătură este
scalabilă individual prin adăugarea mai multor benzi astfel încât lăţimea de
bandă suplimentară să se poată adresa acestor legături acolo unde este necesar
- ca de exemplu în cazul graficii pe platforma desktop şi bridge-urilor bus
(precum 3GIO - PCI-X) pe platformă server.
Un switch 3GIO oferă facilităţi de distribuire în evantai şi dispun de o serie
de conectori pentru add-in, performanţe ridicate de I/O. Switch-ul este un element
logic care poate fi implementat în interiorul unei componente care conţine de
asemenea un host bridge sau poate fi implementat ca o componentă separată.

Sistem server/staţie de lucru bazat pe 3GIO
Se aşteaptă ca busul PCI să coexiste pe multe platforme pentru a suporta aplicaţiile
cu lăţime de bandă scăzută atât timp cât va fi nevoie.
Platforma server necesită performanţe şi conectivitate sporite, inclusiv legături
3GIO de bandă largă, Gigabit Ethernet şi un sistem InfiniBand. Combinaţia dintre
3GIO pentru operaţii interne de I/O, InfiniBand pentru operaţii externe de I/O
şi interconectarea clusterelor permite serverelor să realizeze tranziţia de
la "busuri paralele folosite în comun" la interconectări seriale de mare viteză.

Sistem de comunicaţii prin reţea bazat pe 3GIO
Platforma de comunicare în reţea poate folosi switch-uri multiple pentru creşterea
conectivităţii şi a caliăţii serviciilor pentru diferenţierea diferitelor tipuri
de trafic. Poate beneficia de asemenea de legături 3GIO multiple ce pot fi construite
ca un sistem modular de I/O.
Arhitectura 3GIO
Arhitectura 3GIO este reprezentată pe nivele, aşa cum se poate observa în Figura
5. Este menţinută compatibilitatea cu modelul de adresare PCI pentru a permite
funcţionarea fără modificări a tuturor aplicaţiilor şi driverelor existente.
Configuraţia 3GIO foloseşte mecanismele standard aşa cum au fost ele definite
în specificaţiile Plug&Play PCI. Nivelele software vor genera cereri de
citire şi scriere ce sunt transportate prin nivelul de tranzacţie către dispozitivul
de I/O folosind un protocol de divizare a tranzacţiilor bazat pe pachete. Nivelul
de legătură adaugă acestor pachete numărul de ordine şi CRC-ul pentru crearea
unui mecanism de transfer al datelor cu o fiabilitate ridicată. Nivelul fizic
de bază constă într-un canal dual-simplex care este implementat ca o pereche
de transmisie şi una de recepţie. Viteza iniţială de 2,5 Gb/s/direcţie asigură
un canal de comunicaţii de 200 MB/s care este de aproape două ori mai performant
decât în cazul PCI.

Arhitectura 3GIO prezentată pe nivele
Vom analiza în continuare ceva mai în detaliu aceste nivele.
Nivelul fizic
Legătura de bază 3GIO constă din două perechi de semnale de putere scăzută,
unul pentru transmisie şi celălalt pentru recepţie (Figura 6). Este incorporat
un ceas ce foloseşte schema de codificare 8b/10b pentru a realiza rate foarte
înalte ale datelor. Frecvenţa iniţială este de 2,5 Gb/s/direcţie şi se aşteaptă
să crească, pe măsură ce tehnologia pe siliciu avansează, până la 10 Gb/s/direcţie
(valoarea practic maximă pentru semnale în cupru). Nivelul fizic transportă
pachetele între nivelele legăturii celor doi agenţi 3GIO.
Lăţimea de bandă a unei legături 3GIO poate fi scalată linear prin adăugarea
de perechi de semnale pentru formarea de benzi multiple. Nivelul fizic acceptă
lăţimi de bandă x1, x2, x4, x8, x12, x16 şi x32 şi descompune octeţii de date
aşa cum se poate vedea în Figura 7. Fiecare octet este transmis, codificat 8b/10b,
prin bandă (benzi). Dezasamblarea şi reasamblarea datelor este transparentă
celorlalte nivele.
O legătură 3GIO foloseşte perechi de semnale pentru recepţie şi transmisie
În timpul iniţializării, fiecare legătură 3GIO este stabilită corespunzător
unei negocieri a lăţimii benzii şi a frecvenţei operaţiei de către cei doi agenţi
la fiecare capăt al legăturii. Nu este implicat nici un firmware sau sistem
de operare.
Nivelul legăturii datelor
Rolul principal al nivelului legăturii este de a asigura distribuirea fiabilă
a pachetului prin legătura 3GIO. Nivelul legăturii este responsabil de integritatea
datelor şi adaugă un număr de ordine şi un CRC pachetului nivelului tranzacţional,
aşa cum se vede în Figura 7.
FIGURA 7. Nivelul de legătură a datelor adaugă facilităţi
privind integritatea datelor
Nivelul tranzacţional
Acest nivel primeşte cererile de citire şi scriere de la nivelul software şi
creează pachete pentru transmisia către nivelul de legătură. Toate cererile
sunt implementate ca tranzacţii de separare (split) şi unele din pachetele cerere
necesită un pachet de răspuns. Nivelul tranzacţional primeşte de asemenea pachete
de răspuns de la nivelul de legătură şi le compară cu cererile software originale.
Fiecare pachet are un identificator unic care permite pachetelor de răspuns
să fie direcţionate către solicitant. Formatul pachetului recunoaşte adresarea
pe 32 de biţi şi chiar pe cea pe 64 de biţi. Pachetele au şi atribute de tipul
"no-snoop" (fără detectiv), "relaxed-ordering" (comandă atenuată) sau "priority"
(prioritate) care pot fi utilizate pentru direcţionarea optimă a acestor pachete
prin subsistemul de I/O.
Nivelul tranzacţional suportă patru spaţii de adresă: 3 spaţii de adresă PCI
(memorie, I/O şi configuraţie) la care se adaugă unul de mesaje. PCI 2.2 a introdus
o metodă alternativă de propagare a întreruperilor de sistem numită Message
Signaled Interrupt (MSI).

Nivelul software
Compatibilitatea software este esenţială pentru cea de-a treia generaţie de
interconectare I/O. Există două aspecte ale acestei compatibilităţi: iniţializarea
şi execuţia. PCI dispune de un model de iniţializare robust în interiorul sistemului
de operare care poate detecta toate dispozitivele hardware add-in prezente,
alocând ulterior resursele sistem necesare, ca de exemplu memoria, spaţiul şi
întreruperile I/O, pentru crearea unui mediu de lucru optim. Spaţiul de configurare
PCI şi programabilitatea dispozitivelor I/O reprezintă concepte cheie care rămân
neschimbate în arhitectura 3GIO. De fapt, toate sistemele de operare vor putea
să fie iniţializate fără modificări pe o platformă bazată pe 3GIO.
Modelul de execuţie suportat de PCI este de tipul încărcare-stocare, folosire
în comun a memoriei, fiind păstrat şi în arhitectura 3GIO, permiţând execuţia
fără modificări a oricărui produs soft existent. Produsele noi pot beneficia
de noile facilităţi oferite.
Avantajele arhitecturii 3GIO
Conexiunea punct-la-punct diferenţială oferă o interconectare de foarte mare
viteză prin folosirea unui număr mic de semnale.
Spaţiul său de mesaje elimină semnalele duble folosite anterior necesitând
existenţa unui număr minimal de semnale de implementare.
Aceste îmbunătăţiri vor contribui de asemenea la reducerea costurilor.
Arapahoe Working Group lucrează la elaborarea specificaţiei 3GIO şi alături
de PCI-SIG la posibilitatea apariţiei produselor bazate pe 3GIO în a doua jumătate
a anului 2003.
|