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.
|