Sunteți pe pagina 1din 27

Arhitectura Calculatoarelor

73

7 Plcile de sistem. Magistrale i interfee


7.1 Structura plcii de baz
Una din cele mai importante componente a unui sistem de calcul este placa principal numit si placa
de baz sau placa de sistem.
Placa de sistem (englez: mainboard, motherboard) este o component hardware, de obicei
complex, pe care sunt montate toate celelalte componente hardware ale unui PC. Cu evaluarea
calculatoarelor se extindeau funciile i se modifica structura legturilor pe placa de baz. Au fost
incorporate circuite specializate ce asigurau conectarea diferitelor componente hardware pe placa de baz
cu microprocesorul i memoria. Acest grup de circuite integrate, sau cipuri, a primit denumirea de
chipset. Chipset-ul const din 2 (1) circuite, fiecare cu destinaie special, notate - puntea de nord ( North
bridge) i puntea de sud (South bridge). Chipset-ul conine diferite controllere ce interconecteaz
componentele de pe placa de sistem. Pe placa de baz modern Intel QM77, puntea de nord este
incorporat n circuitul microprocesorului.
Prezentm cteva structuri ale plcilor de baz.
Arhitectur bazat pe magistrale i puni
Ca exemplu de sistem cu arhitectur bazat pe magistrale i puni poate fi privit chipset-ul AMD-760
(figura 7.1)

Figura 7.1 Placa de sistem bazat pe chipset-ul AMD-760


Chipset-ul AMD-760 const din urmtoarele componente:
AMD-762 controllerul de sistem (North bridge)
AMD-766 controllerul magistralelor periferice (South bridge)
Controllerul de sistem AMD-762 asigur funcia de legtur (conectare) ntre magistralele
microprocesoarelor (magistrale de sistem), magistrala AGP, subsistemul de memorie DDR i magistrala
PCI.
Principalele componente ce ncorporeaz i proprieti ce asigur controllerul:
a) 2 magistrale de sistem (conectarea cu microprocesoare) structurate point-to-point cu viteza de
transfer de 266 MHz, funcionarea monoprocesor sau multiprocesarea simetric a 2
microprocesoare;

Arhitectura Calculatoarelor

74

b) controllerul memoriei ce asigur conectarea a 4 slot-uri de tip DIMM, cu plci


de memorie de tip PC2100 DDR (Double Data Rate), cu volum de pn la 4GB;
c) interfaa AGP-4x (suport modurile 1x i 2x);
d) funcionarea interfeei magistralei PCI n mod dual:
1) frecvena 33 MHz, limea magistralei pe 32 sau 64 bii (suport pn la 7 dispozitive);
2) frecvena 66 MHz, limea magistralei pe 32 sau 64 bii (suport pn la 2 dispozitive).
Controllerul magistralelor periferice AMD-766 integreaz subsistemul I/O ce permite comunicarea cu
dispozitivele periferice. Controllerul include:
interfaa magistralei PCI pe 33 MHz/32 bii;
interfaa magistralei LPC (Low Pin Count);
interfaa GPIO/Flash: limea magistralei pe 8 bii, comunicarea cu memoria
Flash BIOS i dispozitivele generale (ex. butoane i ntreruptoare (switch) )
(GPIO General Purpose I/O Devices);
controllerul a 2 magistrale EIDE, modurile UDMA 33/66/100;
controllerul magistralei USB (include host hub cu 4 porturi);
controllerul de ntreruperi i alte componente.
Arhitectura bazat pe hub-uri
Viteza de transfer a magistralei PCI a devenit insuficient odat cu introducerea modurilor rapide de
transfer a datelor UltraDMA (ATA/66, ATA/100 i AT/133) ntre controlerul IDE i memoria de
sistem. n plus, au aprut interfee cu viteze nalte de transfer de date Gigabit Ethernet, FireWire
(100/200/400/800 b/s) i USB 2.0 (480 b/s). Ca rezultat, au fost implementate
arhitecturi bazate pe hub-uri. n acest context, hub-uri sunt microcircuite
specializate, destinate asigurrii transferului de date ntre interfeele sale externe.
Aceste
interfee sunt interfeele ce asigur conectarea microprocesoarelor,
modulelor de memorie, magistralelor de extensie i interfeele perifericelor (ATA,
SATA, USB, FireWire, Ethernet). Practic, chipset-ul este implementat din dou hub-uri
(North i South) interconectate printr-un canal (magistral) cu viteza nalt de
transfer de date. North hub execut aceleai funcii ca i North bridge din
arhitectura bazat pe magistrale i puni: interconecteaz magistralele
microprocesorului, memoriei i AGP. n partea de sud al acestui hub nu se
utilizeaz magistrala PCI ci o interfaa i magistrala DMI (Direct Media Interface) de
mare vitez de transfer ce intreconecteaz ambele hub-uri (North i South) (figura
7.2). n figura 7.2 este prezentat chipset-ul Intel 915 GM.
North hub, notat GMCH (Graphics Memory Controller Hub) determin principalele caracteristici ale
plcii de sistem:
- modelul microprocesorului, frecvena magistralei de sistem (FSB).
- Tipurile de memorie i frecvena magistralei de memorie (pe plcile de sistem cu microprocesoare
cu controller al memoriei ncorporat, caracteristicile memoriei (tip, numrul de canale, frecvena)
sunt determinate de microprocesor).
- Volumul maximal de memorie.
- Unul sau dou canale de memorie.
- PCI Express x16 pentru conectarea cartelei grafice.
- 2 porturi SDVO (Serial Digital Video Out), LVDS Interface, CRT, TV-Out conexiuni pentru
dispozitive seriale i digitale externe cu diferite standarde DVI, LVDS, HDMI, TV-out, etc.
South hub (ICH6 - Intel I/O Controller Hub) conecteaz magistralele:
- ATA (1 magistral).
- SATA (2 porturi).
- USB 2.0 (8 porturi)
- 4 porturi PCI-E x1.
- Interfaa AC-link (Audio kodek).
- Magistrala PCI.
- Magistrala LPC (memoria CMOS, flash BIOS, mouse, tastatura).

Arhitectura Calculatoarelor

75

n South hub este ncorporat timer-ul (8254), controllerul de ntreruperi (APIC), controllerul DMA.
Principiul de funcionare a controllerului DMA este prezentat n figura 7.3.

Figura 7.2 Chipset - ul Intel 915 GM


Controllerul DMA (DMA-direct memory access, acces direct la memorie) este un dispozitiv ce
asigur accesul direct la RAM a perifericelor, neutiliznd registrii interni ai microprocesorului.
Cererea de acces este formulat pe un terminal specializat denumit, de regul, "BUSRQ" (cerere de
magistral). Are prioritatea maxim i rspunsul ateapt doar terminarea ciclului main curent.
Microprocesorul "nghea" ntreaga activitate intern; magistralele sale trec n "impedan nalt" iar
controlul transferului de informaie este preluat de controllerul DMA. Acesta faciliteaz transferul
informaiei direct ntre memorie i echipamente periferice (Figura 7.3).
Controllerul de DMA poate fi extern sau intern unui microprocesor standard. El adreseaz blocuri de date
n memorie (succesiv, ntre limite prestabilite) i comand transferul la sau de la un periferic prestabilit.

Arhitectura Calculatoarelor

76

Figura 7.3
Activitatea de DMA este luat drept etalon pentru viteza maxim de circulaie a datelor pe magistrala
unui calculator (microprocesorul nu particip i deci adresarea memoriei i perifericelor nu este afectat
de timpul de calcul al adresei fizice).
Arhitectura HyperTransport
Tehnologia (arhitectura) HyperTransport (HT) a fost proiectat ca alternativ arhitecturii bazate pe
magistrale i puni. Tehnologia a fost elaborat de firmele AMD, Apple Computers, Broadcom, Cisco
Systems, NVIDIA, PMC-Sierra, SGI, SiPackets, Sun Microsystems, Transmeta.
Principala inovaie nlocuirea conectrii prin intermediul magistralelor a dispozitivelor periferice prin
conectarea punct-la-punct (point-to-point) ce presupune transferuri de date concomitent n ambele
direcii ntre 2 noduri (similar cu topologia PCI-e, detaliat ulterior). Prin aceast tehnologie se
majoreaz considerabil viteza de transfer a datelor. Schema structural a arhitecturii HT este prezentat
n figura 7.4. Puntea de baz (host bridge) asigur legtura cu nucleul sistemului microprocesorul i
memoria. Controllerele perifericelor, ce necesit rate nalte de transfer de date sunt realizate n form de
tuneluri HT (HT Tunnel). Structura conectrii controllerului grafic AGP i a magistralei PCI-X la
magistrala HT, organizate ca tunel, este prezentat n figura 7.5, 7.6.
Caracteristicile principale ale tunelului sunt:
Interfaa HyperTransport pe 16 bii (Side A) ofer o rat maximal de transfer (lime de band)
pn la 6,4 GB/s;
Interfaa HyperTransport pe 8 bii (Side B) ofer o rat maximal de transfer pn la 1,6 GB/s.
n arhitectur este prevzut i conectarea prin punte cu magistrala PCI.
Arhitectura HT asigur toate tipurile de tranzacii a microprocesorului i dispozitivelor PCI, PCI-X i
AGP. Tranzaciile se efectueaz n form de pachete de diferite tipuri. Iniiatorul transferului transmite
pachetul-cerere i datele necesare tranzaciei scriere, dispozitivul int trimite pachetul-confirmare i date
pentru tranzacii de citire.
Semnalizarea ntreruperilor n HT este realizat tot pe pachete: dispozitivul trimite mesajul execut
tranzacia scriere pe adresa indicat la configurare. Rutina de tratare a ntreruperilor trimite mesajul de
finalizare ntrerupere prelucrat (End Of Interrupt, EOI), executnd o scriere pe alt
adres aferent dispozitivului dat.

Arhitectura Calculatoarelor

77

Figura 7.4 Arhitectura HyperTransport

Figura 7.5 Structura conectrii controllerului grafic AGP


la magistrala Hyper Transport

Figura 7.6 Conectarea Magistralei PCI-X la magistrala HT


Arhitectura HT se bazeaz pe transferuri bidirecionale (pe linii diferite) a pachetelor
de date ntre 2 dispozitive. Dispozitivul HT poate fi ca iniiator sau/i ca inta
tranzaciilor. Sunt diferite tipuri de dispozitive HT din punct de vedere topologic:
- Tunel (Tunnel) dispozitiv cu 2 interfee HT; ele pot forma un lan (daisy chain),
organiznd o magistral logic. Lanul de dispozitive se conecteaz la host

Arhitectura Calculatoarelor

78

(microprocesorul cu Host bridge), ce asigur configurarea tuturor dispozitivelor i


gestioneaz funcionarea HT.
- Punte (Bridge) dispozitiv ce conecteaz o magistral logic primar cu una sau
cteva magistrale logice secundare (lanuri). Puntea conine un set de regitri,
informaia din care permite gestionarea tranzaciilor ntre aceste magistrale.
- Comutator (Switch) dispozitiv cu cteva interfee HT (analogic magistralei PCI
cu cteva puni) conectate la o magistral intern.
- Terminus, sau cavern (Cave) dispozitiv cu o interfa HT.
Principala variant topologic lan din dispozitive-tuneluri conectat la Host Bridge. Interfaa HT
const din 2 componente independente: emitor i receptor. La configurare fiecrui dispozitiv i se
atribuie un spaiu de adresare propriu. Pachetele se livreaz n urmtorul mod: pachetul trimis de un
dispozitiv iniiator din lan este primit, decodificat i retransmis de Host Bridge dispozitivului int din
lan, iar dac se cere acces direct la memoria RAM, Host Bridge formeaz legtura cu controllerul
memoriei.
Din figura 7.5 se observ c magistrala HT (Hyper Transport Link, Side A) const din 2
submagistrale: o magistral pe 16 bii direcia transferurilor spre Host i o magistral similar destinat
transferurilor de date de la Host. Un bit al magistralei reprezint o pereche de fire difereniale (16 bii-32
fire) cu impedana de 100 , semnale LVDS (Low Voltage Differential Signal) nivel 1,2 V.
Frecvena 200, 300, 400, 500, 600, 800, 1000 MHz.
n microprocesoarele AMD pe 64 bii, ce folosesc arhitectura HT, Host Bridge
este incorporat n microprocesor. Ca rezultat microprocesorul posed 2 interfee:
interfaa memoriei i HT n calitate de magistral de sistem. n chipset-urile VIA, SiS
la interfaa HT este conectat numai North Hub, ce conecteaz numai interfaa
grafic AGP sau PCI-E. South Hub se conecteaz la North Hub utiliznd o interfa
proprie.
n urmtoarele capitole vom detalia principalele componente de pe placa de
baz.
7.2 Magistrale
Detaliem noiunea de magistral menionat n capitolul 3 (figura 7.7).

Figura 7.7 Magistralele PC


Magistrala este destinat schimbului de informaie ntre 2 sau mai multe dispozitive. Magistrala
conine componente (conectori , sloturi) la care se conecteaz diferite dispozitive. n arhutectectura
magistralei intr un controller ce gestioneaz transferurile de informaie pe magistral.
Sunt 2 tipuri de magistrale: paralele i seriale.
Magistrala paralel conine un set de linii permind transferul simultan al unui cuvnt (cuvnt pe 8,
16, 32, 64,128, 256, 512 bii) de informaie. Pe magistrala serial informaia se transmite succesiv (un
cuvnt este transmis bit cu bit, pe aceeai linie).
Magistrala paralel poate fi subdivizat in trei categorii, dup tipul informaiei transferate: magistrale de
adrese, de date, i de control.

Arhitectura Calculatoarelor

79

Destinaia liniilor magistralei paralele


Magistrala asigur conectarea paralel a dispozitivelor periferice i asigur transferurile de
informaie ntre ele.
Arhitectura magistralei include urmtoarele componente:
- Linii pentru transferuri de date (magistrala de date);
- Linii pentru adresarea datelor (magistrala de adrese);
- Linii pentru controlul datelor (magistrala de control);
- Controllerul magistralei.
Controllerul magistralei efectueaz controlul procesului de schimb de date, de semnale de control i
reprezint un microcircuit sau se integreaz n circuitele chipset-ului.
Magistrala de date
Magistrala de date este destinata att transferului unidirecional de instruciuni de la memorie (citire
a programului), cat si celui bidirecional, de date intre memorie, unitatea centrala si /sau interfeele de
intrari/iesiri (informaia parcurge magistrala in ambele sensuri, sau de la procesor la una dintre unitile
externe acestei uniti, sau de la una dintre aceste uniti spre procesor). Direcia transferului de
informaie este supervizata de ctre seciunea de CONTROL a microprocesorului, prin generarea de
semnale specifice (citire sau scriere). Lungimea cuvntului microprocesorului determina numrul de linii
de conexiune din magistrala de date (8, 16, 32, etc.).
Magistrala de adrese
Magistrala de adrese este o magistral unidirecional. Ea vehiculeaz codul binar reprezentnd
locaia (adresa) datei ce se va utiliza n cadrul operaiei ce se execut.
Adresabilitatea unui microprocesor este dat de numrul de bii ai magistralei de adrese. Un numr
uzual de 65536 (64 KB) celule de memorie vor necesita 16 linii de adres pe aceast magistral.
(216=65536). n general, se vor putea adresa 2N celule de memorie prin intermediul a N linii de adres.
Magistrala de control
Aceast magistral furnizeaz informaii suplimentare necesare pentru indicarea operaiei ce se
efectueaz. Numrul de semnale de pe aceast magistral depinde de numrul de semnale de control
necesare pentru microprocesorul utilizat. Tipice sunt semnalul de ceas al sistemului (care asigura
funcionarea secvenial cu o periodicitate fix a ntregului sistem microprocesor), semnalele de
citire/scriere n memorie, citire/scriere pentru intrare/iesire din sistem etc.
Corelate cu magistrala de adrese, semnalele de pe magistrala de control permit selecia unica a
echipamentului sau a celulei de memorie creia de/la care, prin intermediul magistralei de date, se
transmite/preia informaia, conform operaiei ce se executa.
Principalele caracteristici ale magistralei:
Limea magistralei numrul de linii folosite pentru transferuri de informaii (dac nu
menionm limea componentei concrete (date, adrese, control), se presupune limea magistralei
de date). Poate fi pe 8, 16, 32, 64, 128, 256, 512 bii.
Viteza (rata) de transfer a informaiei, se determin ca produsul dintre frecvena magistralei i
limea ei: ex. limea magistralei PCI 32 bii i frecvena 33 MHz
(32 bii x 33MHz) : 8 = (1056 Mb/s) : 8 = 132 MB/s
Interfaa
Conform concepiei clasice un calculator este format dintr-o unitate central de prelucrare, memorie
si dispozitive de intrare/iesire. Dispozitivele de intrare/iesire, numite i echipamente periferice au n
general o structur proprie independent de structura calculatorului la care se conecteaz (ex.:
imprimanta, plotter, display, mouse, etc.). Cuplarea acestor echipamente la un sistem de calcul presupune
adaptarea semnalelor specifice fiecrui echipament periferic la semnalele de pe magistral si reglarea
fluxului de date de intrare/iesire ntre calculator si periferic i aceste funcii sunt efectuate de interfee.
7.3 Magistrale de sistem

Arhitectura Calculatoarelor

80

Magistrala de sistem este destinat schimbului de informaie ntre CPU i alte componente ale PC.
Dintre ele fac parte magistralele GTL+(AGTL+), EV6.
Magistrala de sistem GTL+(AGTL+) este magistrala de interaciune ntre CPU i Chipset, a fost elaborat
de Intel pentru microprocesoarele Pentium III (Pentium IV). Limea magistralei 64 bii, frecvena
(ceas, FSB) 100, 133 (200, 266) MHz, viteza de transfer 800 MB/s, 1,06 GB/s (3,2 , 4,2 GB/s).
Magistrala EV6 a fost elaborat de firma Digital Equipment pentru CPU Alpha 21264. Ea este folosit
de firma AMD pentru sisteme cu microprocesoare K-7. Difer de alte magistrale prin: validarea
informaiei se petrece pe ambele fronturi ale semnalului de frecven, specificarea magistralei permite
majorarea frecvenei pn la 377 MHz.
7.4 Magistrala PCI
7.4.1 Magistrala paralel PCI
PCI (Peripheral Component Interconnect) local bus magistrala de conectare a componentelor
periferice. Aceast magistral de extensie a fost destinat procesoarelor Pentium i prima versiune a
aprut n anul 1992. n specificarea PCI versiunea 2.0 (1993) a fost introdus specificarea conectorilor i
cartelelor de extensie. n versiunea 2.1 (1995) a fost introdus frecvena maxim a ceasului de 66 MHz.
Descrierea dat se bazeaz pe textul standardului PCI Local Bus Spesification. Revision 2.2 de la
18.12. 1998, publicat de organizaia PCI SIG (Special Interest Grup).
Magistrala este sincron validarea semnalelor se petrece pe frontul pozitiv a semnalului CLK.
Frecvena nominal de sincronizare 33 MHz. Specificarea 2.1, permite mrirea frecvenei pn la 66
MHz prin acordul tuturor dispozitivelor conectate la magistral. La o frecven de 33 MHz, se poate
obine o rat de transfer de 132 MB/s n cazul implementrii pe 32 de bii, sau 264 MB/s pentru 64 de bii.
Cu o frecven a ceasului de 66 MHz, se pot obine rate de transfer de 264 MB/s, respectiv 528 MB/s.
Configurarea
Dispozitivul PCI poate fi multifuncional, adic const din mai multe funcii. Fiecrei funcii se
atribuie un spaiu de configurare de 256 bytes (Standardul PCI determin pentru fiecare slot spaiu de
configurare de pn la 256 regitri (pe 8 bits), ce nu se refer la spaiul de memorie i nici la spaiul de
intrare/ieire). Accesul la aceti regitri se petrece n faze speciale ale magistralei Configuration Read i
Configuration Write. Numrul funciei (function number), n tranzaciile de configurare este transmis pe
liniile AD[10:8] (liniile AD[0:7] adreseaz registrii din interiorul dispozitivului PCI). Deci dispozitivul poate
ncorpora pn la 8 funcii. La configurare se adreseaz funcia cu numrul 0.
La o magistral PCI pot fi conectate cteva dispozitive fiecare cu numrul su (device number). n sistem
pot fi cteva magistrale PCI, fiecare cu numrul su (PCI bus number). Magistralele se numeroteaz
consecutiv.
Protocolul magistralei PCI
La fiecare transfer particip dou dispozitive: iniiatorul i inta. Iniiatorul, sau dispozitivul master,
este cel care iniiaz un transfer. inta, sau dispozitivul slave, este adresat de iniiator n scopul executrii
transferului. Dispozitivele iniiator i int sunt numite ageni PCI.
Transferuri n mod exploziv
Un asemenea transfer const dintr-o singur faz de adrese urmat de mai multe faze de date.
Arbitrajul de magistral trebuie executat o singur dat . n timpul fazei de adrese se transmite adresa de
nceput i tipul tranzaciei care urmeaz . Dispozitivul int memoreaz adresa de nceput ntr-un contor
de adrese, i va incrementa adresa n fiecare faz de date.
n cazul magistralei PCI, cele mai multe transferuri se execut n mod exploziv, cele mai multe
dispozitive fiind proiectate astfel nct s permit asemenea transferuri. Dac un dispozitiv int poate
efectua numai tranzacii singulare, la ncercarea dispozitivului master de a executa o tranzacie n mod
exploziv, inta termin tranzacia dup prima faz de date. Astfel dispozitivul master va fi obligat s
solicite din nou magistrala printr-un proces de arbitraj. n acest mod performanele vor fi mai reduse, dar
tranzaciile singulare se pot utiliza pentru dispozitivele care nu necesit rate ridicate de transfer.
Presupunnd c nici iniiatorul i nici dispozitivul int nu insereaz stri de ateptare, poate fi transferat
cte un cuvnt la fiecare front cresctor al semnalului de ceas.
Tranzacii
Faza de adrese
Toate tranzaciile pe magistrala PCI constau dintr-o faz de adrese urmat de una sau mai multe faze de
date. Excepia o reprezint tranzaciile n care se utilizeaz adresarea pe 64 de bii, unde adresa este

Arhitectura Calculatoarelor

81

furnizat n dou faze de adrese. O faz de adrese are durata unei perioade de ceas. n aceast faz,
iniiatorul identific dispozitivul int i tipul tranzaciei. inta este identificat prin transmiterea unei
adrese de start pe magistrala de adrese/date n cadrul domeniului de adrese asignat dispozitivului.
Tipul tranzaciei este identificat prin depunerea tipului comenzii pe liniile C/BE. Iniiatorul activeaz
semnalul FRAME pentru a indica prezena unei adrese de start i tip de tranzacie valide. Deoarece adresa
de start este prezent numai pe durata unei perioade de ceas, fiecare dispozitiv int trebuie s memoreze
adresa pentru a putea fi decodificat ulterior.
Atunci cnd un dispozitiv int determin faptul c este adresat, trebuie s activeze semnalul
DEVSEL, pentru a revendica tranzacia. Dac acest semnal nu va fi activat ntr-un timp predeterminat,
iniiatorul va abandona tranzacia. Dup terminarea fazei de adrese, magistrala de adrese/date este
utilizat pentru transferul datelor n cadrul unei sau mai multor faze de date.
Faza de date
Pe durata fazei sau fazelor de date are loc transferul datelor ntre iniiator i int . Att iniiatorul ct i
inta trebuie s indice faptul c sunt pregtite pentru terminarea unei faze de date prin activarea
semnalelor IRDY, respectiv TRDY . n cazul n care nu sunt activate ambele semnale la nceputul unei
perioade de ceas, se va insera o stare de ateptare cu durata unei perioade.
Terminarea tranzaciei
Iniiatorul identific durata total a unui transfer cu ajutorul semnalului FRAME. Acest semnal este activat
la nceputul fazei de adrese i rmne activat pn cnd iniiatorul este pregtit pentru a termina faza
final de date (activeaz IRDY ). Executarea ultimei faze de date este indicat de iniiator prin
dezactivarea semnalului FRAME i activarea semnalului IRDY . Dup terminarea ultimului transfer,
iniiatorul readuce magistrala n starea inactiv prin dezactivarea semnalului IRDY .
Arbitrajul de magistral are loc n timp ce un dispozitiv master utilizeaz magistrala. Dac arbitrul
de magistral a acordat n prealabil magistrala unui alt dispozitiv master, acest dispozitiv poate detecta
starea inactiv a magistralei prin faptul c semnalele FRAME i IRDY sunt ambele dezactivate.
Se descriu n continuare principalele semnale.
AD[31:0] (Address/Data) - Reprezint magistrala multiplexat de adrese i de date. n timpul fazei
de adrese, pe aceast magistral se transmite adresa de start a tranzaciei. n timpul fazei de date, pe
liniile AD[31:0] se transmit date provenite de la iniiator (la o scriere) sau de la inta adresat (la o
citire).
C / BE [3:0] (Command or Byte Enable) - n timpul fazei de adrese aceste linii definesc o comand
pe care iniiatorul o utilizeaz pentru a indica tipul tranzaciei necesare. Dintre comenzile posibile
se amintesc citirea din memorie, scrierea n memorie, citirea de la un dispozitiv de I/E, scrierea la
un dispozitiv de I/E, achitarea unei ntreruperi etc. n timpul fazei de date aceste linii sunt utilizate
de iniiator pentru a indica octeii care trebuie transferai din cadrul cuvntului dublu adresat i
grupele de linii ale magistralei AD care trebuie utilizate pentru transferul datelor.
FRAME (Cycle Frame) - Este activat de iniiator i indic nceputul i durata unei tranzacii pe
magistral . O tranzacie poate consta din una sau mai multe transferuri de date ntre iniiatorul
curent i inta adresat. Semnalul FRAME este dezactivat atunci cnd iniiatorul este pregtit s
ncheie faza final de date.
TRDY (Target Ready) - Este activat de dispozitivul int adresat atunci cnd acest dispozitiv este
pregtit pentru un transfer de date (poate executa faza curent de date). Faza de date este terminat
atunci cnd inta activeaz TRDY i iniiatorul activeaz IRDY la frontul cresctor al semnalului de
ceas. n timpul unei operaii de citire, semnalul TRDY activat indic faptul c inta a depus date
valide pe magistrala de date. n timpul unei operaii de scriere, semnalul TRDY activat indic faptul
c inta este pregtit s accepte datele de la iniiator. Sunt inserate stri de ateptare n faza curent
de date pn cnd ambele semnale TRDY i IRDY sunt activate.
IRDY (Initiator Ready) - Este activat de iniiatorul tranzaciei i semnaleaz momentul n care
iniiatorul este pregtit pentru un transfer de date. n timpul unei operaii de scriere, semnalul IRDY
activat indic faptul c iniiatorul a depus date valide pe magistrala de date. n timpul unei operaii
de citire, semnalul IRDY activat indic faptul c iniiatorul este pregtit s accepte datele de la inta
adresat.
REQ (Request) - Este activat de iniiator pentru a indica o cerere de magistral. Aceast linie este
conectat la arbitrul de magistral. Metoda de arbitrare a magistralei nu este descris n specificaiile
PCI; se pot implementa diferite metode. Este specificat doar faptul c arbitrul de magistral trebuie

Arhitectura Calculatoarelor

82

s utilizeze un algoritm prin care s se evite blocajele; fiecrui dispozitiv master potenial trebuie
s i se permit accesul la magistral.
GNT (Grant) - Este activat de arbitrul de magistral pentru a indica acordarea magistralei pentru
iniiator. Atunci cnd detecteaz acest semnal, iniiatorul trebuie s atepte terminarea tranzaciei n
curs de ctre iniiatorul curent.
CLK (Clock) - Reprezint semnalul de ceas utilizat pentru sincronizarea tuturor tranzaciilor,
inclusiv a arbitrajului de magistral. Toi parametrii de sincronizare ai magistralei sunt specificai
relativ la frontul cresctor al semnalului de ceas. Frecvena semnalului de ceas se poate modifica n
orice moment, cu condiia s nu existe cereri de magistral i semnalul LOCK s nu fie activ. De
asemenea, ceasul poate fi oprit n starea low (pentru reducerea puterii consumate).
DEVSEL (Device Select) - Este activat de dispozitivul int nimai cnd acesta i-a decodificat
adresa. Dac un dispozitiv master a iniiat un transfer i nu detecteaz semnalul DEVSEL activ n
cursul a ase perioade de ceas, va presupune c inta nu poate rspunde sau c adresa respectiv nu
este utilizat. Va rezulta un abandon din partea dispozitivului master.
Exemplu de tranzacie
Figura 7.8 prezint un transfer de date reprezentativ de la un dispozitiv slave la un dispozitiv master,
de exemplu o operaie de citire de la un dispozitiv de I/E.
Tranzacia ncepe n momentul n care iniiatorul activeaz semnalul REQ (Request) - pentru a indica
o cerere de magistral, ce este conectat la arbitrul de magistral. Arbitrul de magistral pentru a indica
acordarea magistralei pentru iniiator, activeaz semnalul GNT (Grant), iar iniiatorul trebuie s atepte
terminarea tranzaciei n curs de ctre iniiatorul curent i s activeze semnalul FRAME n ciclul de ceas
1.

Figura 7.8 - Tranzacie de citire pe magistrala PCI


Ciclul de ceas 1. Activarea semnalului FRAME indic nceputul unei tranzacii pe magistral.
Iniiatorul plaseaz o adres pe liniile AD i un cuvnt de comand pe liniile C/BE (IO READ n
acest exemplu). Dispozitivul int activeaz DEVSEL - 0, pentru a indica faptul c a decodificat cu
succes adresa i este inta tranzaciei curente. Nici un transfer de date nu poate avea loc pn n
momentul n care semnalul DEVSEL nu este activ.
Ciclul de ceas 2. Pentru evitarea conflictelor n momentul n care iniiatorul nu mai are controlul
asupra liniilor AD i acest control este preluat de dispozitivul int, faza de adrese este urmat de un
ciclu inactiv (TRDY 1). Condiia tranzaciei- liniile IRDY i TRDY setate 0.
Ciclul de ceas 3. Liniile IRDY i TRDY setate 0 se transmite cuvntul de date 1.
Ciclul de ceas 4. Dispozitivul int insereaz o stare de ateptare (de ex. dispozitivul este mai lent).
Cele dou dispozitive controleaz rata de transfer real prin liniile IRDY i TRDY, care permit inserarea
unui numr oarecare de stri de ateptare dup fiecare ciclu de transfer de date.
Ciclul de ceas 5. Dispozitivul int activeaz TRDY i se transmite cuvntul de date 2.

Arhitectura Calculatoarelor

83

Ciclul de ceas 6. Dispozitivul iniiator insereaz o stare de ateptare. Transferul de date se ntrerupe,
transferul cuvntului 3 de date este amnat pn n ciclul 7.
Ciclul de ceas 7. Dispozitivul iniiator activeaz IRDY i se transmite cuvntul de date 3. Iniiatorul
dezactiveaz semnalul FRAME pentru a indica faptul c urmtorul ciclu va fi final.
Ciclul de ceas 8. Toate liniile sunt dezactivate, ce marcheaz sfritul tranzaciei pe magistral.
O tranzacie de scriere (n care iniiatorul este sursa datelor) este similar cu cea din Figura 7.3. n acest
caz ciclul inactiv dup faza de adrese nu este necesar, deoarece iniiatorul menine n continuare controlul
asupra liniilor AD pe durata tranzaciei.
7.4.2 Magistrala serial PCI Express
PCI Express este o magistral serial ale crei specificaii iniiale au fost preluate de organizaia
PCI-SIG de la grupul de lucru Arapahoe (Arapahoe Working Group), care a elaborat specificaiile
preliminare ale interfeei 3GIO (Third Generation I/O). Versiunea 1.0 a acestor specificaii a fost
terminat n aprilie 2002, dup care specificaiile au fost transferate la organizaia PCI-SIG, interfaa
3GIO fiind redenumit PCI Express. Acest nume a fost ales pentru a sublinia compatibilitatea software a
noii magistrale cu magistrala PCI convenional. Specificaiile 3GIO au fost revzute de membrii PCISIG, fiind aprobate i publicate n luna iulie 2002 ca PCI Express versiunea 1.0. Scopul magistralei PCI
Express este de a pune la dispoziie o interconexiune serial scalabil, avnd costuri reduse i utilitate
general, care s unifice mai multe soluii de interconectare din cadrul unei platforme.
Topologia unui sistem bazat pe magistrala PCI Express conine un comutator i mai multe
conexiuni punct la punct cu dispozitivele de I/E. n Figura 7.9 se prezint topologiile conexiunilor
magistralelor PCI i PCI Express. Dispozitivele de I/E conectate la magistrala PCI mpart limea de
band (fig. 7.9 (a)). Iar la PCI Express (fig. 7.9 (b)) conexiunile multiple punct la punct introduc un nou
element, comutatorul, n cadrul topologiei sistemului de I/E. Comutatorul nlocuiete magistrala partajat
pentru conectarea dispozitivelor de I/E i permite comunicaia direct dintre dou dispozitive de I/E.

a)
b)
Figura 7.9 - Topologiile PCI i PCI Express
Nivelul fizic are la baz o legtur punct la punct format din dou canale de comunicaie simplex,
unul pentru transmisie i unul pentru recepie. Legtura fizic de baz (Figura 7.10) utilizeaz 4 conexiuni
ntre dou dispozitive, semnalele transmise fiind difereniale i avnd tensiuni reduse (LVDS - Low
Voltage Differential Signaling).
Nivelul legturii de date adaug numere de secven i coduri CRC acestor pachete pentru a
asigura un transfer fiabil. Semnalul de ceas este codificat mpreun cu datele pentru a obine rate de
transfer ridicate.

Figura 7.10 Structura legturii puct la punct

Arhitectura Calculatoarelor

84

Rata de transfer iniial este de 2,5 Gbii/s pentru fiecare direcie, fiind de ateptat ca aceasta s creasc
ulterior pn la 16 Gbii/s pe direcie.

Rata de transfer a unei legturi poate fi mrit liniar prin adugarea a noi canale. Numrul de canale poate
fi de 1, 2, 4, 8, 12, 16 sau 32. Viitoarele mbuntiri pentru creterea frecvenei de funcionare,
modificarea tehnicii de codificare sau schimbarea mediului fizic vor afecta numai nivelul fizic.

La transferuri pe mai multe canale se folosete principiul partajrii datelor pe canale (data stripping)
(Figura 7.11) ce const n transferul urmtorului byte pe urmtorul canal.

Figura 7.11 - Data stripping


La transferuri pe magistrala PCI Express se folosete algoritmul de codificare 8b/10b fiecare byte de
informaie este transmis ca 8 bii + 2 bii de control = 10 bii.
Protocolul PCI Express
Formatul unui cadru este prezentat n figura Figura 7.12. El const din: 1byte - Start-of-Frame, al
2 byte- Numrul pachetului, 16-20 bytes identificatorul pachetului, de la 0-4096 bytes - Data field, 0 4-bytes cmpul ECRC(End-to-end Cyclic Redundancy Check), 4- bytes LCRC(Local Cyclic Redundancy
Check), 1- byte End-of Frame.

Arhitectura Calculatoarelor

85

Figura 7.12 - Formatul unui cadru


Urmnd acest format, pentru a transfera 4096 bytes, cadrul este format din 4124 bytes.
Nivelul legturii de date are ca rol principal asigurarea transmiterii fiabile a pachetelor. Acest
pachet creat de nivelul tranzaciilor. Un protocol special asigur ca un pachet s fie transmis numai atunci
cnd este disponibil un buffer pentru recepia acestui pachet la destinaie. Aceasta elimin retransmisia
pachetelor datorit resurselor limitate. Un pachet va fi retransmis automat de nivelul legturii de date
atunci cnd a aprut o eroare la transmisia acestuia.
Nivelul tranzaciilor primete cereri de citire i scriere de la nivelul software i creeaz pachetele
care vor fi transmise de nivelul legturii de date. Toate cererile de transfer sunt implementate ca tranzacii
divizate, unele pachete de cerere necesitnd un pachet de rspuns. Nivelul tranzaciilor recepioneaz de
asemenea pachetele de rspuns de la nivelul legturii de date. Fiecare pachet are un identificator unic.
Formatul pachetelor permite adresarea memoriei pe 32 de bii sau pe 64 de bii.
7.5 Magistrala ATA
7.5.1 Magistrala paralel ATA (IDE)
Versiunea iniial (ATA-1) a standardului ATA (PATA) a fost aprobat oficial de institutul ANSI n
anul 1994, dei prima versiune de lucru a acestui standard a fost publicat n anul 1989.
Ultima versiune a standardului ATA/ATAPI 7 definete urmtoarele caracteristici ale interfeei
ATA:
Conectori cu 40 sau 44 de pini;
Un canal ATA, care poate fi partajat de dou uniti de discuri, configurate ca o unitate master i o
unitate slave;
Utilizarea tehnologiei S.M.A.R.T. (Self-Monitoring, Analysis, and Reporting Technology) pentru
predicia degradrii performanei unitilor de discuri;
Creterea integritii datelor prin utilizarea unui cod ciclic redundant CRC;
Definirea unui cablu opional cu 80 de fire (dintre care 40 de fire sunt de mas), care permite
creterea imunitii la zgomote;
Utilizarea cablului cu 80 de fire este obligatorie pentru funcionarea n modurile UDMA/66,
UDMA/100, UDMA/133.
Tehnologia S.M.A.R.T., dezvoltat iniial de firma IBM, permite sistemului de operare s
monitorizeze parametrii de funcionare ai unei uniti de discuri n scopul detectrii unor degradri ale
performanei acesteia. Aceast degradare se poate accentua n mod progresiv, conducnd n final la o
defectare a unitii i la pierderea datelor nregistrate. Prin utilizarea acestei tehnologii este posibil
predicia defectrii unitii i salvarea din timp a datelor. Tehnologia S.M.A.R.T. nu permite ns predicia
defectrii subite a unei uniti de discuri.
Observaie
Rata maxim de transfer a interfeei ATA nu reprezint principala limitare a vitezei la transferul cu o
unitate de discuri. Cel mai important factor este rata susinut cu care unitatea poate transfera datele de pe
suport la placa logic a unitii, prin intermediul ansamblului capetelor de citire. Chiar i la unitile de
discuri performante, aceast rat poate fi de sub 80 MB/s. Astfel, principalul criteriu la alegerea unei
uniti de discuri trebuie s fie rata de transfer susinut de pe suport i nu rata de transfer maxim a
interfeei.
Interfaa electric
Standardul ATA prevede opiunea de funcionare a sistemului cu dou uniti conectate n lan.
Prima unitate (unitatea 0) este numit master, iar unitatea a doua (unitatea 1) este numit slave. O unitate
poate fi desemnat fie ca master, fie ca slave, prin aezarea unui jumper sau comutarea unui
microntreruptor.

Arhitectura Calculatoarelor

86

Cablul utilizat (Figura 7.13) pentru conectarea unitilor IDE este un cablu cu 40 de fire, prevzut cu
trei conectori.

Figura 7.13 - Cablul cu conectori ATA


De obicei, cablul pleac de la conectorul IDE ctre o unitate, i apoi n continuare spre a doua unitate
(dispunere n lan). La unul din capete cablul este legat fie la conectorul pentru interfaa IDE de pe placa
de baz, fie la o plac adaptoare pentru interfaa IDE, care este amplasat ntr-unul din conectorii plcii de
baz.
7.5.2 Tehnologia Serial ATA
n tehnologia serial ATA (SATA) pentru transferuri de date se folosesc dou fire prin care se
transmit semnale difereniale cu o amplitud de 250 mV, rezultnd o imunitate crescut la zgomote.
Magistrala const din 7 fire (figura 7.14), dintre care 4 sunt informaionale i 3 pentru conectare
la mas (Ground). O pereche de fire se folosete pentru transferuri, iar alta pentru recepia datelor.
Informaia se codific dup metoda NRZ (Non Return to Zero).

Figura 7.14 - Structura magistralei SATA

Figura 7.15 - Cablul SATA


Lungimea cablului poate fi de 1 m (figura 7.15). La SATA pot fi conectate nu numai dispozitive de
memorare interne dar i dispozitive externe blocului de sistem.
Viteza de transfer este de 150 MB/s. Viteza declarat este de 1.5 Gb/s, dar folosirea metodei de
codificare 8b/10b, a micorat viteza de transfer la 1.2Gb/s. Dezvoltarea standardului prevede 3 generaii
SATA (tabelul 7.3). n SATA II rata maxim de transfer este de 3 Gb/s, iar n SATA III - pn la 6Gb/s.

Arhitectura Calculatoarelor

87

7.6 Magistrala SCSI


7.6.1 Magistrala paralel SCSI
Interfaa SCSI (Small Computer System Interface) provine din interfaa SASI (Shugart Associates
System Interface). SCSI nu este o interfa de disc, deci un anumit tip de controller, ci o interfa la
nivelul sistemelor, format dintr-o magistral care accept mai multe echipamente. Unul din aceste
echipamente, adaptorul cu sistemul gazd, funcioneaz ca o punte ntre magistrala SCSI i magistrala
sistemului. Magistrala SCSI nu comunic direct cu echipamentele periferice, cum sunt unitile de
discuri, ci cu controllerul care este inclus n aceste uniti.
O singur magistral SCSI poate accepta pn la 8 sau 16 uniti fizice, numite uniti SCSI, dintre
care una este adaptorul SCSI. Unitile fizice pot fi uniti de discuri fixe, uniti de band, uniti CDROM, scanere, imprimante. Majoritatea sistemelor pot accepta pn la patru adaptoare SCSI la sistemul
gazd, fiecare din acestea permind cuplarea a pn la apte echipamente periferice, conectate n lan.
SCSI este o interfa destinat n special staiilor de lucru i serverelor cu performane ridicate. La
prima versiune a interfeei SCSI, frecvena de ceas a magistralei era de 5 MHz, iar rata maxim de
transfer era de 5 MB/s. La versiunile actuale ale acestei interfee, frecvena de ceas a magistralei este de
80 MHz sau 160 MHz, iar ratele maxime de transfer sunt de 320 MB/s, respectiv 640 MB/s.
Pe lng aceste versiuni paralele ale interfeei SCSI, a fost elaborat i o versiune serial a interfeei.
Aceast interfa SCSI serial, numit Serial Attached SCSI, a nlocuit treptat interfaa SCSI paralel.
Att tehnologia SCSI paralel, ct i cea serial, sunt promovate de organizaia SCSI Trade Association
(www.scsita.org).
7.6.2 Interfaa Serial Attached SCSI (SAS)
Serial Attached SCSI (SAS) reprezint versiunea serial a interfeei SCSI. Aceasta utilizeaz un
protocol serial punct la punct i setul standard de comenzi SCSI. Interfaa serial SAS ofer
compatibilitate cu unitile de discuri SATA de generaia a doua, care se pot conecta la plci de baz SAS.
Totui, unitile de discuri SAS nu se pot conecta la plci de baz SATA.

Conectarea a 4 SATA la adaptorul SAS


Standardele SAS au fost elaborate de comitetul tehnic T10 al INCITS (International Committee
for Information Technology Standards). Prima versiune a standardului interfeei SAS a fost publicat n
anul 2003, iar o versiune mbuntit (SAS-1.1) a fost publicat n anul 2005. Ambele versiuni specific
a interfa serial cu o vitez maxim de 3 Gbii/s. Standardul SAS-2, care a fost publicat de comitetul
INCITS n anul 2009, definete generaia a doua a interfeei SAS. Aceast versiune a standardului
introduce o legtur serial cu o vitez maxim de 6 Gbii/s, un nivel fizic care este compatibil cu
interfaa SATA, i protocoale pentru transferul comenzilor SCSI la echipamentele SAS i a comenzilor
ATA la echipamentele SATA. Versiunea SAS-2.1 a standardului, care a fost aprobat n anul 2010,
definete un numr de mbuntiri ale standardului SAS-2, printre care conectori suplimentari i faciliti
de gestiune a energiei consumate. Versiunea SAS-3 a standardului, a fost aprobat n anul 2013, definee
generaia a treia a interfeei SAS, cu o vitez maxim de 12 Gbii/s.
Interfaa SAS este o arhitectur punct la punct, cu fiecare echipament conectat direct la un port
SCSI n loc de a fi conectat la o magistral partajat.

Arhitectura Calculatoarelor

88

Protocolul SAS specific o comunicaie duplex ntre controlerul SAS i o unitate de discuri.
Astfel, operaiile de citire i scriere pot fi executate n acelai timp, ceea ce crete performana.
Comparativ, unitile SATA utilizeaz o comunicaie semiduplex, astfel nct datele sunt transmise la
unitate pentru scriere, datele care trebuie citite de la unitate trebuie s atepte terminarea comunicaiei
precedente.
Se pot conecta un numr mare de uniti de discuri SAS sau SATA la un port al unui controler
SAS prin utilizarea unor expandoare SAS. Un expandor permite ca un singur iniiator s comunice cu un
numr de echipamente destinaie SAS/SATA. Un expandor SAS este similar cu un comutator dintr-o
reea, care permite conectarea mai multor sisteme utiliznd un singur port al comutatorului. Costul unui
sistem care conine un expandor este mult mai redus comparativ cu costul unui sistem care conine un
controler SAS cu un numr mare de porturi sau mai multe controlere cu un numr mai mic de porturi.
Prin utilizarea expandoarelor, sunt posibile pn la 65,535 legturi fizice (dispozitive).
Interfaa SAS utilizeaz semnale difereniale, codificarea 8b/10b a datelor i cifrarea datelor
pentru reducerea interferenelor electromagnetice. Se pot combina pn la patru porturi cu aceeai adres
ntr-un port de lime mai mare, care permite transferuri de date cu pn la 24 Gbii/s.
Unitile de discuri SAS sunt cu port dual, ceea ce nseamn c acestea se pot conecta direct i pot
fi controlate de dou controlere SAS n acelai timp. Aceast posibilitate permite construirea unui sistem
redundant. Atunci cnd unul din controlerele SAS se defecteaz, cellalt va fi totui n msur s acceseze
unitile de discuri SAS i datele memorate pe aceste uniti.
Principalele deosebiri dintre interfeele SAS i SATA sunt urmtoarele:
Unitile de discuri SATA sunt identificate prin numrul portului conectat la adaptorul
calculatorului gazd, n timp ce echipamentele SAS sunt identificate prin adresa lor SAS sau World
Wide Name. World Wide Name (WWN) este un identificator de 64 bii care reprezint adresa SAS i
identific n mod unic echipamentul n domeniul SAS. Din cei 64 de bii, 24 bii reprezint identificatorul
firmei productoare i 40 de bii reprezint identificatorul specific al productorului.

Spre deosebire de protocolul SATA, protocolul SAS permite existena mai multor iniiatori ntr-un
domeniu SAS.
Interfaa SATA permite conectarea numai a unitilor de discuri magnetice i a unitilor optice.
Interfaa SAS permite conectarea i a altor tipuri de echipamente, cum sunt scannere i imprimante.
Totui, aceste echipamente au, de obicei, alte interfee dect SAS, cum sunt USB, IEEE 1394 sau
Ethernet.
Interfaa SAS utilizeaz nivele mai ridicate de tensiune (0,8-1,6 V) dect interfaa SATA (0,40,6V).
Din cauza tensiunilor mai ridicate ale semnalelor, la interfaa SAS se pot utiliza cabluri mai lungi
(pn la 8 m), comparativ cu interfaa SATA, la care lungimea maxim a cablului poate fi de 1 m.
Unitile de discuri SAS au performane superioare comparativ cu unitile de discuri SATA. Viteza de
rotaie a unitilor SAS este cuprins ntre 10.000 i 15.000 rotaii pe minut (RPM), n timp ce viteza de
rotaie a unitilor SATA este cuprins ntre 5.400 i 7.200 RPM. Viteza de rotaie mai ridicat reduce
timpul de acces. Comunicaia duplex permis de unitile SAS contribuie de asemenea la performana
superioar a acestor uniti comparativ cu unitile SATA. Unitile SAS sunt cu port dual, iar aceasta le
permite s comunice cu dou adaptoare ale calculatorului gazd sau controlere simultan, ceea ce
mbuntete disponibilitatea datelor. De asemenea, unitile SAS sunt mai fiabile dect unitile SATA
i sunt proiectate pentru o utilizare mult mai intens. Pe de alt parte, unitile SATA sunt mult mai puin
costisitoare dect unitile SAS. Un alt avantaj al unitilor SATA este c acestea au, de obicei, capacitatea
semnificativ mai ridicat dect cea a unitilor SAS.

Arhitectura Calculatoarelor

89

7.7 Magistrala USB


Unul din scopurile elaborrii magistralei USB (Universal Serial Bus sau Magistrala Serial Universal) a
fost simplificarea interconexiunilor dintre calculator i periferice, prin reducerea numrului de cabluri care
se conecteaz la calculator i utilizarea aceluiai tip de conector pentru diferite categorii de periferice. ntrun sistem coninnd o magistral USB, diferitele periferice se pot conecta n serie sau ntr-o topologie sub
form de stea pe mai multe nivele, un singur periferic fiind conectat la un port USB al calculatorului gazd.
Un alt aspect care s-a avut n vedere la elaborarea magistralei USB a fost asigurarea unei rate de transfer
mai ridicate dect ratele de transfer permise de porturile seriale i paralele. De asemenea, s-a urmrit ca
perifericele s poat fi adugate n mod simplu la calculator, fr deschiderea carcasei acestuia, fr oprirea
tensiunii de alimentare i fr rencrcarea sistemului de operare.
Specificarea USB 1.0 publicat n ianuarie 1996 determin dou viteze de transfer: FS (Full Speed) - 12
Mb/s i LS (Low Speed) 1.5 Mb/s. In anul 2000 a aprut o noua specificaie pentru USB, versiunea USB
2.0, care a introdus viteza HS (High Speed) - 480 Mbps. Aceasta cretere a vitezei de transfer a fcut
posibil acceptarea magistralei USB ca interfa pentru writer-e CD/DVD, scanere, camere foto digitale,
echipament video, etc. In anul 2008 Intel anun specificaia USB 3.0, care a introdus viteza SS (Super
Speed) 4.8 Gbps.
ntr-un sistem pot fi prezente i funciona concomitent dispozitive cu toate trei viteze enunate mai sus.
Magistrala permite conectarea a maxim 127 de dispozitive, la o distan maxim 25m (Folosind hub-uri
intermediari). Cablul de comunicaie const din 4 fire: dou sunt de date si dou pentru alimentare (5V si
0V). Pentru a facilita interconectarea intre echipamente, se folosesc conectori standard Master si Slave.
Lungimea cablului este de maxim 5m. Acesta are la un capt conectori de tip A, pentru conectarea la
calculator (master) si la cellalt - conectori de tip B, Petru conectare la periferic (slave).
Structura USB
USB asigur schimbul de date ntre host-calculatorul i diferite echipamente periferice. Distribuirea vitezei
de transfer a magistralei ntre echipamentele periferice sunt planificate de HOST i se realizeaz de el cu
ajutorul indicatoarelor (token). Magistrala permite conectarea, configurarea, folosirea i deconectarea
dispozitivelor n timpul lucrului hostului. Mai jos se aduc variantele de traducere a termenilor din
specificaiile Universal Serial Bus Specification. Revision 1.0, January 15, 1996, publicate de Compaq,
DEC, IBM, Intel, Microsoft, NEC i Northern Telecom. Mai multe detalii i informaii putei gsi pe adresa:
http://www.usb.org.
Ca dispozitive (Device) USB pot fi hub-uri (distribuitoare), funcii sau dispozitive ce mbin i hub-uri i
funcii (compound device, figura 7.17). Hub-urile asigur puncte de conectare suplimentare a dispozitivelor
la magistral. Funciile USB sunt nite sisteme, de exemplu mouse ce susine USB. Dispozitive care
combin cteva funcii, (compound device, figura mai jos) de exemplu, keyboard cu trackball ncorporat.
Elementele principale ale unui sistem care utilizeaz magistrala USB sunt dispozitivele USB, cablurile
USB i programele de sistem. Dispozitivele de pe magistrala USB sunt conectate fizic la calculatorul gazd
utiliznd o topologie sub form de stea , dup cum se ilustreaz n Figura 7.17.

Figura 7.17 Topologia fizic

Arhitectura Calculatoarelor

90

n specificaiile versiunea 1.0 a standardului USB magistrala USB este menionat ca host-centric: Ca
Master (dispozitivul ce controleaz transferurile pe magistral) pe magistrala USB ntotdeauna este hostcalculatorul (cu USB controller incorporat), iar toate dispozitivele periferice conectate la host sunt
dispozitive conduse sau Slave. Structura magistralei USB pe mai multe nivele se ilustreaz n Figura
7.18.

Figura 7.18 Topologia magistralei pe nivele


Centrul magistralei USB este nsi host-controlerul, care este conectat cu hub de rdcin ( root
hub), de regula, prin unul din dou porturi ale sale.
Un hub (distribuitor) reprezint o clas special de dispozitiv USB, care asigur puncte de conectare
suplimentare pentru alte dispozitive USB. Aceste puncte de conectare se numesc porturi. Calculatorul
gazd conine un hub rdcin, prin care asigur unul sau mai multe puncte de conectare. n plus, acest
hub conine controlerul magistralei USB. Fiecare magistral USB are un singur controler de magistral
(figura 7.19).

Figura 7.19 Hub USB tipic


Figura 7.19 prezint un hub USB tipic. Unul din porturile hub (Upstream port) permite conectarea
la calculatorul gazd sau la un hub de pe nivelul superior al topologiei. Fiecare din celelalte apte porturi
(Downstream ports) permit conectarea la un hub sau la o funcie de pe nivelul inferior. Hub-urile pot fi
conectate n cascad pn la cinci nivele. Hub-ul recunoate conectarea dinamic a unui periferic i
asigur o putere de cel puin 0,5 W pentru fiecare periferic n timpul iniializrii. Sub controlul
programului de sistem, hub-ul poate asigura o putere suplimentar pentru funcionarea perifericelor, pn
la 2,5 W (un curent de 0,5 A). Unele periferice, cum este tastatura, mouse-ul sau creionul optic, pot fi

Arhitectura Calculatoarelor

91

alimentate numai cu tensiunea furnizat de cablul magistralei, n timp ce altele pot avea o surs proprie de
alimentare.
Un hub const din dou pri: un controler i un repetor. Controlerul conine regitri de interfa
pentru comunicaia cu calculatorul gazd. Comenzile de stare i de control permit calculatorului gazd
configurarea hub-ului, monitorizarea i controlul porturilor sale. Repetorul este un comutator controlat
prin protocol ntre portul de nivel superior i porturile de nivel inferior. De asemenea, repetorul
monitorizeaz semnalele de pe porturi i gestioneaz tranzaciile care i sunt adresate. Toate celelalte
tranzacii sunt repetate la dispozitivele ataate. Fiecare port de nivel inferior poate fi validat individual i
poate fi conectat la dispozitive cu vitez ridicat sau cu vitez redus. Porturile cu vitez redus sunt
izolate de semnalele cu vitez ridicat.
O funcie este un dispozitiv USB care poate transmite i/sau recepiona date sau informaii de
control pe magistral. Acest dispozitiv trebuie s rspund la cererile de tranzacie transmise de
calculatorul gazd. O funcie este implementat n mod obinuit ca un periferic separat conectat printr-un
cablu la un port al unui hub. Un singur dispozitiv fizic poate conine ns funcii multiple. De exemplu, o
tastatur i un trackball pot fi combinate ntr-un singur dispozitiv fizic. n cadrul unui asemenea dispozitiv
compus, funciile individuale sunt ataate la un hub, iar acest hub intern este conectat la magistrala USB.
Fiecare funcie conine informaii de configuraie care descriu posibilitile sale i resursele
necesare. Aceste informaii sunt transmise calculatorului gazd ca rspuns la o tranzacie de control.
naintea utilizrii unei funcii, aceasta trebuie configurat de calculatorul gazd. Aceast configurare
presupune alocarea unei limi de band n cadrul magistralei USB i selectarea opiunilor specifice de
configuraie.
Specificaiile magistralei USB 2.0 (numit i Hi-Speed USB) descriu o magistral cu performane
mbuntite. Conectoarele i cablurile conforme cu specificaiile USB 1.1 permit obinerea ratelor de
transfer mai ridicate ale magistralei USB 2.0 fr nici o modificare. Rata de transfer maxim care se poate
obine este de 480 Mbii/s. Perifericele USB 2.0 cu viteze de transfer superioare sunt conectate la un
distribuitor USB 2.0. Un distribuitor USB 2.0 accept tranzacii de vitez ridicat i furnizeaz datele cu
ratele corespunztoare perifericelor USB 2.0 i perifericelor USB 1.1. Vitezele de transfer ridicate sunt
negociate cu fiecare periferic, iar dac un periferic nu permite o vitez ridicat, legtura cu acest periferic
va funciona la viteza mai redus de 12 Mbii/s sau 1,5 Mbii/s. Aceasta implic o complexitate mai
ridicat a hub-lor i necesitatea memorrii temporare a datelor recepionate. Un hub USB 2.0 va avea
porturi de ieire pentru transferuri cu vitez ridicat i porturi de ieire pentru transferuri cu vitez redus.
Controlerele magistralei USB, aflate pe placa de baz a calculatorului gazd, au propriile
specificaii. n cazul versiunii 1.1 a magistralei USB, existau dou specificaii pentru aceste controlere.
Prima dintre ele, Universal Host Controller Interface (UHCI), a fost elaborat de firma Intel i permitea
simplificarea circuitelor, partea mai complex fiind cea de software. A doua specificaie, Open Host
Controller Interface (OHCI), a fost elaborat de firmele Compaq, Microsoft i National Semiconductor,
aceast specificaie permind simplificarea programelor, partea mai complex fiind cea de hardware.
Odat cu introducerea versiunii 2.0 a magistralei USB, a fost necesar elaborarea unei noi specificaii
pentru controlerele de magistral. Aceast specificaie, numit Enhanced Host Controller Interface
(EHCI), a fost elaborat de mai multe firme, printre care Intel, Compaq, NEC, Microsoft i Lucent
Technologies.
Exist specificaii separate pentru diferite categorii (clase) de periferice USB. O clas USB
reprezint un grup de periferice sau interfee cu atribute sau servicii similare. De exemplu, dou periferice
sau interfee sunt plasate n aceeai clas dac utilizeaz iruri de date cu acelai format pentru
comunicaia cu calculatorul gazd. Dintre clasele de periferice USB se amintesc urmtoarele: memorii de
mas, monitoare, dispozitive de interaciune cu utilizatorul (HID Human Interface Device), imprimante,
dispozitive audio, dispozitive de comunicaie (modemuri, telefoane analogice i digitale, adaptoare de
reea), dispozitive de captare a imaginilor fixe (camere digitale).
Sistema USB pe trei nivele
Sistema USB se divizeaz pe trei nivele cu anumite reguli de interaciune. Dispozitivul USB conine
interfaa (USB Bus Interface), componentele logice (USB Logical Device) i funcia (function). Hostul tot
este divizat n trei pri - interfaa (USB Host Controller), de sistem (USB System) i soft-ul dispozitivului

Arhitectura Calculatoarelor

92

(Client SW). Fiecare parte are o destinaie predefinit, interaciunile logice i


prezentate n fig 7.21.

reale ntre nivele sunt

Figura 7.21 - Interaciunea componentelor USB


n structura prezentat intr urmtoarele componente:
Dispozitivul fizic USB- dispozitivul de pe magistral, ce execut funciile, necesare utilizatorului.
Client SW - soft, ce asigur conectarea i funcionarea a unui dispozitiv periferic concret, se execut in
host-calculator.
USB system SW- softul sistemului USB.
USB Host Controler soft i hard ce asigur conectarea dispozitivelor USB la Host.
Interfaa fizic
La interfaa USB se utilizeaz patru tipuri de conectori: dou tipuri de fie, amplasate la capetele unui
cablu USB, i dou tipuri de mufe, amplasate n cadrul unui hub sau periferic.
Fiele i mufele pot fi de tip A sau de tip B.

a)

b)

c)

Figura 7.22 - Conector USB: a - tipul (hub), b - tipul (periferic), C - marcare convenional
Hub-rile (de exemplu, cele din calculator) conin o muf rectangular cu patru pini de tip A. Perifericele
se conecteaz la o asemenea muf dintr-un hub utiliznd o fi rectangular de tip A (Figura 7.22). Toate
cablurile care sunt ataate permanent la periferice conin o fi de tip A. De obicei, perifericele se
conecteaz ns printr-un cablu detaabil. Aceste periferice conin o muf ptrat de tip B, iar cablul care
conecteaz aceste periferice la un hub conine o fi de tip B la captul care se conecteaz la periferic i o

Arhitectura Calculatoarelor

93

fi de tip A la captul care se conecteaz la hub. n acest fel, nu este posibil conectarea incorect a
cablului. Specificaiile USB 2.0 au fost modificate ulterior publicrii acestora pentru a include o fi i o
muf de tip B de dimensiuni mai reduse. Aceti conectori, numii mini-B, conin cinci contacte i se
utilizeaz pentru echipamentele mobile de dimensiuni reduse, cum sunt telefoanele mobile.
Echipamentele respective conin o muf de tip mini-B, iar cablurile utilizate pentru conectarea acestor
echipamente la un calculator PC conin o fi de tip mini-B la un capt i o fi de tip A la cellalt capt.
Figura 7.23 ilustreaz o fi de tip mini-B alturat cu o fi de tip A.

Figura 7.23 - Fi USB de tip mini-B alturat cu o fi de tip A


Specificaiile USB On-The-Go (OTG), care au fost elaborate ca o extensie a specificaiilor USB
2.0 pentru conectarea direct a unor echipamente mobile, fr utilizarea unui calculator PC, conin
descrierea unor fie mini-A, mufe mini-A i mufe mini-AB. Utilizarea acestor conectori este necesar
deoarece la conectarea direct a unor echipamente mobile unul din echipamente va avea rolul unui
calculator gazd. Specificaiile USB OTG descriu i diferite tipuri de cabluri care utilizeaz conectori de
dimensiuni reduse sau o combinaie ntre un conector de dimensiuni reduse i unul de dimensiuni
normale.
Pentru transferul semnalelor i a tensiunii de alimentare pe magistrala USB, se utilizeaz un cablu
cu patru fire, ilustrat n Figura 7.30. Semnalele difereniale de date se transmit pe liniile D+ i D,
formate din dou fire torsadate (rsucite). Semnalul de ceas este transmis codificat mpreun cu datele.
Codificarea utilizat este numit NRZI (Non Return to Zero Invert). n cazul acestei metode (fig.7.29),

Figura 7.29 - Codificarea prin metoda NRZI


biii de 1 i 0 sunt reprezentai prin tensiuni opuse i alternante nalte i joase, fr a exista revenirea la
tensiunea de referin (zero) ntre biii codificai. Sunt inserai bii suplimentari pentru a asigura tranziii
suficiente ale semnalelor transmise, n scopul asigurrii sincronizrii. Fiecare pachet de date este precedat
de un cmp de sincronizare pentru a permite receptorilor sincronizarea ceasurilor de recepie.

Arhitectura Calculatoarelor

94

Figura 7.30 - Cablul USB


Cablul USB transmite i tensiunea de alimentare pentru periferice pe liniile VBUS i GND.
Tensiunea pe linia VBUS este de +5 V la surs. Pentru a asigura nivele de tensiune garantate la intrarea
perifericelor i o impedan de terminare corespunztoare, se utilizeaz terminatori la fiecare capt al
cablului.
Pentru identificarea simpl a firelor din cablurile USB, standardul specific utilizarea culorilor
din Tabelul 7.5 pentru aceste fire. Acest tabel indic i asignarea pinilor conectorilor la semnalele
magistralei USB.
Observaie
Nu este posibil interconectarea a dou calculatoare printr-un cablu USB obinuit. Chiar dac s-ar
utiliza un cablu cu doi conectori de tip A, prin interconectarea a dou calculatoare ar exista dou
controlere USB ntr-un sistem, ceea ce nu este permis. Exist ns cabluri speciale care conin o punte
USB sub forma unui circuit integrat, prin intermediul cruia este posibil comunicaia ntre cele dou
calculatoare gazd.
Tabelul 7.5 - Asignarea pinilor conectorilor la semnalele magistralei USB i culorile firelor cablurilor.

La planificarea conectrii trebuie de luat n consideraie necesitile de alimentare a dispozitivelor.


Dispozitivele ce se alimenteaz de la magistral de obicei se conecteaz la hub-uri, care sunt alimentate de
la reeaua electric. La hub-uri care se alimentez de la magistral, se conecteaz doar dispozitive care
necesit puin curent de exemplu tastatura USB, mouse-ul USB etc.

Modelul de transfer a datelor


Fiecare dispozitiv USB conine un set de puncte finale (Endpoint), cu care host-controlerul realizeaz
schimb de informaie. Endpoint se caracterizeaz cu urmtorii parametri:
frecvena de acces la magistral;
limea de band a canalului;
numrul Endpoint
cerine la prelucrarea erorilor
mrimea maximal a pachetelor transferate
tipul transferului
direcia transferului (pentru transferul izocronic)
Fiecare dispozitiv conine un Endpoint cu numrul 0, folosit pentru iniializare i control. Acest
Endpoint este ntotdeauna configurat la conectarea dispozitivului la magistral.
Dispozitivele funcii mai conin un set de Endpoint, ce realizeaz schimburi de date utile.
Dispozitivele lente LS pot conine pn la dou Endpoint, iar dispozitivele FS pn la 16 Endpoint de
intrare i 16 Endpoint de ieire (restricie de protocol). Endpoint nu pot fi folosite pn ce nu au fost
configurate (pn la instalarea unui canal coordonat).
Canal (Pipe) la USB se numete modelul de transfer a datelor ntre host-controler i Endpoint al
dispozitivului. EL este un canal logic i uneori intregul canal logic e numit punct final (Figura 7.31). Exist
dou tipuri de canale: fluxuri (Stream ) i mesaje (Message).

Arhitectura Calculatoarelor

95

Figura 7.31
Prin canalul de tip flux sunt transmise date intr-o direcie. Un Endpoint poate fi folosit pentru dou
canale de tip flux pentru intrare sau ieire. Canalul de tip flux poate realiza urmtoarele tipuri de
transferuri: continuu(date voluminoase), izocron i de ntreruperi. Transferul se petrece prin metoda primul
intrat primul ieit (FIFO). Canalul de tip mesaje susine tipul de transfer de control. Formatul mesajelor
este determinat de specificarea USB. Hostul transmite cererea ctre Endpoint, dup care urmeaz pachetul
cu mesaje, dup care urmeaz pachetul cu informaie despre starea Endpoint. Urmtorul mesaj nu poate fi
transmis pn precedentul nu este prelucrat. Schimbul cu mesaje n ambele direcii se efectueaz cu unul i
acelai Endpoint.
Canalele se organizeaz la configurarea dispozitivului USB. Pentru fiecare dispozitiv conectat exist un
canal pentru mesaje de tip control (Control Pipe Off), prin care se transmite informaia despre configurare,
stare i control.
Tipurile de transfer de date
Arhitectura USB permite patru tipuri de transferuri de date: de control, de ntrerupere, de date
voluminoase i izocrone.
Transferurile de control se utilizeaz de driverele calculatorului gazd pentru configurarea
dispozitivelor care sunt ataate la sistem. Alte drivere pot utiliza transferuri de control n moduri specifice
implementrii.
Transferurile de ntrerupere se utilizeaz pentru date cu volum redus. Transferul acestor date poate fi
solicitat de un dispozitiv n orice moment, iar rata de transfer pe magistrala USB nu poate fi mai redus
dect cea specificat de dispozitiv. Datele pentru care se utilizeaz transferurile de ntrerupere constau din
notificarea unor evenimente, din caractere sau coordonate care sunt organizate pe unul sau mai muli
octei. Un exemplu l reprezint coordonatele de la un dispozitiv indicator (Ex. mouse). Datele interactive
pot avea anumite limite ale timpului de rspuns care trebuie asigurate de magistrala USB.
Transferurile de date voluminoase (bulk) se utilizeaz cu periferice cum sunt memorii de mas,
imprimante sau scanere. Aceste date sunt secveniale. Fiabilitatea transferurilor este asigurat la nivel
hardware prin utilizarea unui cod detector de erori i reluarea unui transfer cu erori de un numr de ori.
Rata de transfer n cazul acestor transferuri poate varia n funcie de alte activiti de pe magistral.
Transferurile izocrone (isos egal, chronos timp) se utilizeaz pentru datele care trebuie furnizate
cu o anumit rat de transfer constant i a cror sincronizare trebuie garantat. Izocron are semnificaia
cu durat egal sau care apare la intervale regulate. Datele izocrone sunt generate n timp real i
trebuie furnizate cu rata cu care sunt recepionate pentru a pstra sincronizarea lor. Pe lng rata de
transfer impus, pentru datele izocrone trebuie respectat i ntrzierea maxim cu care acestea sunt
furnizate. Furnizarea la timp a datelor izocrone este asigurat cu preul unor pierderi poteniale n irul de
date. Cu alte cuvinte, erorile de transmisie nu sunt corectate prin mecanisme hardware, de exemplu, prin
retransmiterea lor. n concluzie, transferurile izocrone se caracterizeaz prin furnizarea la timp a datelor i
prin lipsa retransmiterii lor n cazul unor erori, deoarece datele ntrziate nu mai sunt utile. Spre deosebire
de transferurile izocrone, transferurile asincrone se caracterizeaz prin faptul c fiabilitatea transmiterii
datelor este mai important dect asigurarea sincronizrii. Pentru aceasta se utilizeaz retransmiterea
datelor n cazul unor erori, chiar dac apar ntrzieri din aceast cauz.

Arhitectura Calculatoarelor

96

Un exemplu tipic de date izocrone este reprezentat de imaginile video. Dac rata de transfer a acestor
iruri de date nu este respectat, va avea loc pierderea unor date datorit depirii capacitii bufferelor.
Chiar dac datele sunt furnizate de magistrala USB cu rata adecvat, ntrzierile introduse de programe
pot afecta negativ aplicaiile care utilizeaz aceste date, cum sunt cele pentru videoconferine.
irurilor de date izocrone li se aloc o poriune dedicat a limii de band a magistralei USB. De
asemenea, aceast magistral este proiectat pentru o ntrziere minim a transferurilor de date izocrone.
Protocolul
Similar cu alte interfee mai recente, interfaa USB utilizeaz un protocol bazat pe pachete. Toate
transferurile sunt iniiate de controlerul USB al calculatorului gazd. Tranzaciile de pe magistral implic
transmisia a patru tipuri de pachete:
Pachet antet (simbol token);
Pachet de date;
Pachet de confirmare (handshake);
Pachet special.
Fiecare tranzacie, const din 3 pachete i ncepe n momentul n care controlerul USB transmite, pe
baza unei planificri, un pachet antet (Token) care descrie tipul tranzaciei, direcia acesteia, adresa
dispozitivului USB i numrul punctului terminal. Sursa tranzaciei transmite apoi un pachet de date
(Data) coninnd datele care trebuie transferate, sau poate indica faptul c nu are date de transmis prin
faptul c pachetul de date nu conine informaii utile. Destinaia rspunde, n general, cu un pachet de
confirmare (Handshake) indicnd dac transferul s-a efectuat cu succes sau dac punctul terminal nu este
disponibil. Succesiunea pachetelor n tranzacii este prezentat n fig. 7.32

Figura 7.32 - Succesiunea pachetelor


Formatul pachetelor USB
Toate pachetele ncep cu un cmp de sincronizare (SYNC), care este utilizat de circuitele receptorului
pentru sincronizarea cu ceasul transmitorului. Cmpul de sincronizare conine un numr de ase tranziii
succesive de la valoarea 1 la valoarea 0 sau invers, urmate de un marcaj de doi bii care indic sfritul
cmpului de sincronizare.
Cmpul de identificare al pachetului (PID) urmeaz imediat dup cmpul de sincronizare. Cmpul PID
conine patru bii care indic tipul pachetului i patru bii de control care confirm acurateea biilor care
conin tipul pachetului. Biii de control conin complementul fa de 1 al biilor care reprezint tipul
pachetului.
Tabelul 7.6 indic diferitele tipuri de pachete, codificarea i descrierea acestora. Pentru simplitate,
pachetele speciale nu sunt detaliate.
Cmpul de adres (ADDR) specific adresa funciei USB care este sursa sau destinaia unui
pachet de date. Acest cmp are o lungime de 7 bii, permind specificarea a pn la 128 de adrese.
Fiecare adres definete o singur funcie. Adresa 0 este rezervat ca adres implicit i nu poate fi
asignat n mod explicit unei funcii. La pornirea i resetarea unei funcii, adresa acesteia va avea valoarea
implicit 0. Calculatorul trebuie s seteze adresa funciei n timpul procesului de enumerare.
Tabelul 7.6 - Codificarea i descrierea diferitelor tipuri de pachete USB

Arhitectura Calculatoarelor

97

Transferuri pe magistrala USB


Fiecare transfer pe magistral este iniiat de Host controler. Controlerul formeaz cadre n care sunt
plasate transferurile ctre fiecare dispozitiv conectat la magistrala USB. Pentru sincronizarea ntregului
sistem USB, calculatorul gazd transmite cte un pachet SOF (Start-of-Frame) la fiecare interval de timp
corespunztor nceputului unui cadru sau micro-cadru. Un cadru reprezint un interval de timp de 1 ms
0,0005 ms i este definit pentru magistrala USB cu viteza normal (12 Mbii/s). Un micro-cadru
reprezint un interval de timp de 125 s 0,0625 s i este definit pentru magistrala USB cu viteza
ridicat (480 Mbii/s). Un pachet SOF const dintr-un cmp de sincronizare, un cmp PID i un cmp de
11 bii reprezentnd numrul cadrului, dup cum se ilustreaz . Dup pachetul SOF urmeaz transferul
ctre primul dispozitiv conectat la magistrala USB(pachetele IN/OUT, DATA, HANDSHAKE, ca pe fig.
7.33), apoi se petrece schimbul de date cu dispozitivul doi(pachetele IN/OUT, DATA, HANDSHAKE),
pn nu este apelat ultimul dispozitiv conectat la magistral. Dispozitivele lente pot fi apelate i peste
cteva cadre. n urmtorul cadru interogarea dispozitivelor se repet.
n cazul magistralei USB cu viteza ridicat, numrul cadrului va fi acelai pentru opt pachete SOF
consecutive, pe durata unei perioade de 1 ms. Succesiunea cadrelor este ilustrat n figura 3.14.

Figura 7.33 - Succesiunea de cadre USB


Toate funciile i hub USB recepioneaz pachetele SOF. Recepia acestor pachete nu va determina
generarea unui pachet de confirmare din partea receptorului.
Detalierea pachetelor USB
n continuare se prezint formatul pachetelor de antet, SOF, de date i de confirmare.
Pachete de antet
Aceste pachete sunt transmise doar de calculatorul gazd. Structura unui pachet de antet este
urmtor:

Arhitectura Calculatoarelor

98

Cmpul de identificare al pachetului, PID, poate specifica un pachet de antet cu subtipul IN, OUT sau SETUP. Pachetele cu
subtipul IN sau OUT informeaz dispozitivul USB asupra direciei transferului care urmeaz: intrare (citire de ctre
calculatorul gazd), respectiv ieire (scriere de ctre calculatorul gazd). Un pachet cu subtipul SETUP se utilizeaz la
nceputul transferurilor de control. n cazul pachetelor cu subtipul OUT sau SETUP, cmpurile ADDR i ENDP identific n
mod unic punctul terminal care va recepiona urmtorul pachet de date. n cazul unui pachet cu subtipul IN, cmpurile ADDR
i ENDP identific punctul terminal care va transmite un pachet de date. Cmpul CRC5 conine codul CRC pentru cmpurile
ADDR i ENDP.
Pachet SOF
Un pachet SOF const dintr-un cmp de sincronizare, un cmp PID i un cmp de 11 bii reprezentnd numrul cadrului, dup
cum se ilustreaz . Dup pachetul SOF urmeaz transferul ctre primul dispozitiv conectat la magistrala USB(pachetele
IN/OUT, DATA, HANDSHAKE), apoi se petrece schimbul de date cu dispozitivul doi(pachetele IN/OUT, DATA,
HANDSHAKE), pn nu este apelat ultimul dispozitiv conectat la magistral.

Pachete de date
Informaiile propriu-zise sunt transmise pe magistrala USB n pachetele de date. Un pachet de date const din cmpul
de sincronizare SYNC, un cmp de identificare al pachetului PID, un cmp de date, un cmp CRC de 16 bii i cmpul de
sfrit al pachetului EOP. Codul CRC se calculeaz numai pentru cmpul de date. Datele sunt transmise ntr-un numr ntreg
de octei. Pentru dispozitivele cu vitez redus, lungimea maxim a cmpului de date este de 8 octei. Pentru dispozitivele cu
vitez normal (12 Mbii/s) i vitez ridicat (480 Mbii/s), lungimea maxim este de 1024 octei.

Pachete de confirmare
Pachetele de confirmare constau doar din cmpul de sincronizare SYNC, un cmp de identificare al pachetului PID i
cmpul de sfrit al pachetului EOP. Aceste pachete se utilizeaz pentru a raporta starea unei tranzacii de date prin subtipul
returnat n cmpul PID. Subtipul unui pachet de confirmare poate fi ACK (Acknowledge), NAK (Negative Acknowledge),
STALL (Stall) sau NYET (No Response Yet). Aceste subtipuri sunt descrise n Tabelul 3.2.

Principalele cmpuri ale pachetelor USB sunt descrise n continuare.


Cmpul de sincronizare
Toate pachetele ncep cu un cmp de sincronizare (SYNC), care este utilizat de circuitele receptorului pentru sincronizarea
cu ceasul transmitorului. Cmpul de sincronizare conine un numr de ase tranziii succesive de la valoarea 1 la valoarea 0
sau invers, urmate de un marcaj de doi bii care indic sfritul cmpului de sincronizare.
Cmpul de identificare al pachetului
Cmpul de identificare al pachetului (PID) urmeaz imediat dup cmpul de sincronizare. Cmpul PID conine patru
bii care indic tipul pachetului i patru bii de control care confirm acurateea biilor care conin tipul pachetului. Biii de
control conin complementul fa de 1 al biilor care reprezint tipul pachetului. Formatul cmpului PID este ilustrat n
continuare, unde nPIDi reprezint complementul fa de 1 al bitului PIDi.

Calculatorul gazd i toate funciile USB decodific complet toi biii cmpului PID. Dac un cmp PID este
recepionat cu valori incorecte ale biilor de control sau cu valori nedefinite ale tipului pachetului, se presupune c a fost
recepionat eronat i restul pachetului este ignorat de receptor.
Cmpul de adres
Cmpul de adres (ADDR) specific adresa funciei USB care este sursa sau destinaia unui pachet de date. Acest
cmp are o lungime de 7 bii, permind specificarea a pn la 128 de adrese. Fiecare adres definete o singur funcie. Adresa

Arhitectura Calculatoarelor

99

0 este rezervat ca adres implicit i nu poate fi asignat n mod explicit unei funcii. La pornirea i resetarea unei funcii,
adresa acesteia va avea valoarea implicit 0. Calculatorul trebuie s seteze adresa funciei n timpul procesului de enumerare.
Cmpul punctului terminal
Cmpul punctului terminal (ENDP) permite o adresare mai flexibil a funciilor cu mai multe puncte terminale. Acest
cmp are o lungime de 4 bii, ceea ce permite adresarea a pn la 16 puncte terminale. Dispozitivele cu vitez redus pot avea
ns doar dou puncte terminale suplimentare pe lng punctul terminal cu numrul 0.
Cmpul de date
Cmpul de date poate conine ntre zero i 1024 de octei, n funcie de tipul transferului. Biii de date din cadrul
fiecrui octet sunt transmii pe magistral ncepnd cu bitul cel mai puin semnificativ.
Cmpurile de control ciclic redundant
Aceste cmpuri conin codurile de control ciclic redundant (CRC) utilizate pentru verificarea integritii diferitelor
cmpuri din pachetele de antet i de date. Cmpul PID nu este inclus n calculul codului CRC. Codurile CRC pentru pachetele
de antet i de date asigur detectarea tuturor erorilor de un bit i de doi bii. n cazul n care codul CRC calculat la recepie
difer de codul transmis ntr-un cmp CRC, receptorul va ignora cmpurile protejate i, n majoritatea cazurilor, ntregul
pachet.
Standardul USB specific polinoamele generatoare utilizate pentru calculul codurilor CRC. Pentru pachetele de antet se
utilizeaz un cmp CRC de 5 bii (CRC5), iar pentru pachetele de date se utilizeaz un cmp CRC de 16 bii (CRC16).
Cmpul de sfrit al pachetului
Acest cmp (EOP) indic sfritul unui pachet prin valoarea 0 pe durata corespunztoare a doi bii, urmat de valoarea
1 pe durata corespunztoare unui bit.

Standardul USB 3.0 este compatibil cu USB 2.0. Performanele:


Viteza maxim de transfer pe USB 3.0 este de 4.8 Gbps (interfaa USB 2.0 Hi-Speed: 480 Mbps);
Transferul informaiilor se face pe canale separate de comunicare (transfer bidirecional o
pereche de canale LVDS) astfel este posibil citirea i scrierea simultan a datelor pe
dispozitivele selectate; USB 2.0 suport doar trafic unidirecional.
curentul maximal furnizat - 900 mA, fa de cei 500 mA oferii de USB 2.0.
n figura 7.34 este prezentat conectorul USB3.0

Figura 7.34

S-ar putea să vă placă și