Sunteți pe pagina 1din 45

CAPITOLUL 3

Magistrale de comunicaţie cu echipamentele periferice

3.1 Introducere

Definiţie: Reprezintă căi electrice de transmitere a semnalelor între diferite


elemente ale unui sitem de calcul.
De obicei, într-un sistem de calcul există mai multe magistrale diferite. Pentru a
se conecta plăcile de extensie de la diferiţi producători trebuie să exise reguli
binedefinite referitoare la funcţionarea magistralelor, care constituie protocolul
magistralei, precum şi specificaţii mecanice şi electrice.
Dispozitivele conectate la o magistrală pot fi pot fi active (master) sau pasive
(slave). Cele active pot iniţia un transfer, iar cele pasive aşteaptă cererile de transfer.
Ca un exemplu UCP va fi întotdeauna activ, iar memoria pasiv.
Pentru amplificarea de semnal dispozitivele active se conectează la magistrale
prin intermediul driverelor de magistrală, cele pasive prin receptoare de magistrală,
iar cele ce por juca dublul rol se conectează prin intermediul circuitelor
emiţătoare/receptoare de magistrală.
Circuitele de interfaţă cu magistrala sunt de tip tri-state (trei stări) sau colector
deschis. În cazul conectării multiple la o linie de tip colector deschis, funcţia care
gestionează dispozitivele este SAU logic, iar conexiunea se numeşte SAU cablat.

3.1.1 Consideraţii electrice

Magistralele trebuie să opereze la frecvenţe din ce în ce mai mari, datorită


creşterii frectenţei de funcţionare a calculatoarelor. Apariţia unor fenomene electrice
poate determina scăderea fiabilităţii sistemelor. Cele mai importante sunt reflexiile de
semnal. Acestea pot apărea datorită unor discontinuităţi de semnal cauzate de
impedanţa susrsei semnalului.
Capitolul 3 - Magistrale de comunicaţie cu echipemantele periferice
3.1.1.1 Linii de transmisie

Fig 1 Moduri echivalente de prezentare a unei linii de transmisie


Liniile de transmisie sunt reprezentate printr+o reţea diferenţială de tip T cu
impedanţe în serie şi admitanţe în paralel. Acestea reprezintă energia pierdută şi
memorată pe unitatea de lungime a liniei.
Energia memorată şi câmpurile magnetice sunt reprezentate prin l şi c. Pierderile
de energie pe unitatea de lungime sunt modelate prin r şi g. Astfel, la o frecvenţă
unghiulară avem:
z = r + jωl
y = g + jωc
În aceste condiţii constanta de propagare k:
k = −zy
2

şi viteza de propagare:
vp = ω / k
Din relaţiile anterioare reiese că viteza de propagare de frecvenţă şi de
parametrii liniei prin constanta k.
u z r + jωl
=± =± = ±Z0
i y g + jωc
Z0 reprezintă impedanţa caracteristică a liniei. În czul particular în care r=g=0 :

l
Z0 = c şi k = ω lc
Cele două valori depind numai de parametrii liniei şi de frecvenţă.

2
SISTEME DE INTRARE – IEŞIRE
Ex:
- pentru liniile de alimentare Z0 este aproximativ 300¸;
- pentru cablurile coaxiale Z0 are valori cuprinse între 50 şi 75¸.

3.1.1.2 Reflexii de semnal

Fig 2 Linie de transmisie cu impedanţa Z0 şi timpul de propagare Tip


Considerăm o linie de semnal cu următoarele caracteristici:
- Ui –sursă de tensiune ideală;
- Zs – impedanţa sursei în punctul A;
- L – distanţa de la punctul A la punctul de terminare a liniei B;
- Zt – impedanţa de încărcare.
Astfel:
- la momentul iniţial, Zs = 0, iar Zt este o simplă încărcare rezistivă;
- la momentul t = 0, liniei i se aplică o tensiune Ui, iar curentul Ii se propagă pe
linie;
- la momentul t = TipL = Tprop curentul ajunge în punctul B.
În acest moment, pentru satisfacerea legii lui Ohm privind impandanţa liniei şi
cea de încărcare se aplică o corecţie instantanee curentului şi tensiunii, care va lua
forma unei unde magnetice reflectate cu componentele Ur şi Ir. Deci, semnalul
incident va fi format dintr-un semnal transmis şi unul reflectat. Aplicând legea lui
Ohm în punctul B obţinem:

3
Capitolul 3 - Magistrale de comunicaţie cu echipemantele periferice

Acest raport reprezintă coeficientul de reflexie pentru curent. Se utilizează de


obicei coeficientul de reflexie pentru tensiune:

Coeficientul de reflexie indică diviziunea semnalului incident, fiind pozitiv


pentru tensiunea reflectată şi negativ pentru curentu l reflectat. Are valori între -1 şi 1
pentru o impedanţa de încărcare între zero şi infinit.

3.1.1.3 Terminatori
Fără utilizarea terminatorilor de magistrală, apar reflexii de semnal care
determină oscilaţii. Terminatorii cei mai utilizaţi sunt cei rezistivi, care se pot conecta
în serie sau în paralel.

Fig. 3 Teminator serie

4
SISTEME DE INTRARE – IEŞIRE

Fig. 4 Terminator paralel

În cazul terminatorului serie, se plasează o rezistenţă în serie cu ieşirea sursei. În


cazul ideal, suma dintre valoarea rezistenţei şi impedanţa sursei este egală cu
impedanţa caracteristică a liniei, sau:
R =Z −Z
s o s

În general, sursele nu au impedanţe de ieşire simetrice. Impedanţa de ieşire în


starea low, Zol de 5-25 ¸ , este mai mică decât impedanţa de ieşire în starea high, Z oh,
de 45-90 ¸. Rezultate satisfăcătoare se pot obţine cu rezistenţe având valori
intermediare.
În cazul terminatorului paralel, se pl asează rezistenţe la capătul receptor al
liniei. Implementarea se realizează de obicei printr-un divizor. Rezistenta echivalentă
trebuie să fie egală cu impedanţa caracteristică Z0. Rezistenţa echivalentă se poate
determina prin relaţia:
R1⋅R2
R = R+R
e
1 2

Tensiunea Ue se poate determina prin deconectarea divizorului de la linie şi


calculând tensiunea circuitului deschis.
R2
Ue = Vcc R + R
1 2

Terminatorul paralel se poate utiliza pentru magistralele bidirecţionale.


O altă posibilitate pentru realiza rea terminatorilor este utilizarea diodelor de
limitare. Dispozitivele TTL şi CMOS au de obicei diode de protecţie la intrare. Pe
lângă protecţia împotriva descărcărilor electrostatice, acestea permit şi reducerea
reflexiilor. O schemă posibilă este cea din Figura 5.

5
Capitolul 3 - Magistrale de comunicaţie cu echipemantele periferice

Fig. 5 Terminator cu diodă de limitare


Tensiunea de intrare va fi menţinută între -0,5 .. -1,5 V şi 0,5 .. 1,5 V peste Vcc.
În cazul circuitelor TTL bipolare, lipseşte de obicei dioda conectată la Vcc. Pentru
îmbunătăţirea performantelor, se poate adăuga o diodă Schottky rapidă, conectată la
masă (şi la Vcc dacă este necesar). Se poate utiliza o schemă îmbunătăţită ca în
Figura 6.

Fig. 6. Terminator îmbunătăţit cu diodă de limitare

3.2. Magistrale sincrone şi asincrone

După modul de control al transferului de informaţii, magistralele pot fi sincrone


sau asincrone.
Toate operaţiile magistralelor sincrone sunt sincronizate de un semnal de ceas şi
necesită un număr întreg de perioade de ceas, numite cicluri de magistrală.
Magistralele asincrone nu utilizează un semnal de ceas. Ciclurile de magistrală
pot avea în acest caz orice durată, şi aceasta nu trebuie să fie aceeaşi între toate
perechile de dispozitive.

3.2.1. Magistrale sincrone


Considerăm o magistrală sincronă cu perioada ceasului T. Presupunem că citirea
unui octet sau cuvânt din memorie necesită 3 cicluri de magistrală, T 1, T2 şi T3, cu
durata totală 3T (Figura 7).
În ciclul T1 UCP depune adresa cuvântului pe liniile de adrese. După stabilizarea
adresei la noua valoare, se activează semnalele MREQ (care indică accesul la

6
SISTEME DE INTRARE – IEŞIRE
memorie şi nu la un dispozitiv de I/E) şi RD . Memoria decodifică adresa în ciclul T 2
şi depune data pe magistrală în ciclul T3. Pe frontul descrescător al ceasului din ciclul
T3, UCP strobează (citeşte) liniile de date, memorând valoarea într-un registru intern.
După citire, UCP dezactivează semnalele MREQ şi RD , după care, de la frontul
crescător al ceasului, poate începe un nou ciclu.

Fig. 7. Ciclu de citire la o magistrală sincronă


Pentru o funcţionare corectă, există specificaţii de temporizare care trebuie
respectate. Unele întârzieri sunt limitate la o valoare minimă, iar altele la o valoare
maximă.
TAD este intervalul de timp de la începutul ciclului T1 până la depunerea adresei.
Trebuie să fie mai mic decât o valoare maximă:
T ≤T
AD ADmax

Aceasta garantează că în timpul fiecărui ciclu de citire, UCP va depune adresa


într-un timp mai mic decât cel maxim.
TDS (Data Setup) este intervalul de la depunerea datei până la frontul
descrescător al ceasului din ciclul T3. Trebuie ca:
T ≥T
DS DSmin

pentru ca data să fie stabilizată înaintea citirii acesteia de către UCP.


Datorită restricţiilor asupra intervalelor TAD şi TDS, în cazul cel mai defavorabil
memoria trebuie să depună data într-un timp de cel mult:
T
2T + 2 −TAD −TDS
de la depunerea adresei. Dacă memoria nu poate răspunde în acest interval de
timp, trebuie să activeze semnalul WAIT înainte de mijlocul ciclului T2, când se

7
Capitolul 3 - Magistrale de comunicaţie cu echipemantele periferice
testează semnalul WAIT. Se vor insera stări de aşteptare (cicluri suplimentare de
magistrală) până când memoria dezactivează semnalul WAIT .
TM este intervalul de la depunerea adresei până la activarea semnalului MREQ .
Trebuie ca:
T ≥T
M M min

pentru ca adresa să fie stabilă până la activarea semnalului MREQ. Acest timp
este important dacă MREQ se utilizează la selecţia circuitului de memorie, deoarece
anumite memorii necesită un timp de stabilizare a adresei până la selecţie.
TML, TRL sunt intervalele de la frontul descrescător al ceasului din ciclul T1 până
la activarea semnalului MREQ , respectiv RD . Trebuie ca:
T ≥T
ML MLmin

T ≥T
RL RLmin

pentru ca aceste semnale să fie activate într-un anumit timp de la mijlocul


ciclului T1.
Memoria va avea un timp de cel mult:
2T − max(TML ,TRL )− TDS

de la activarea MREQ şi RD până la depunerea datei.


TMH, TRH indică timpul după care trebuie dezactivate semnalele MREQ şi RD
după citirea datei:
T ≤T
MH MHmax

T ≤T
RH RHmax

TDH indică timpul cât trebuie menţinută data pe magistrală după dezactivarea
semnalului RD :
T ≤T
DH RHmax

Acest timp poate fi egal cu 0 în unele cazuri, astfel că memoria poate retrage
datele imediat după dezactivarea RD .
Pe lângă ciclurile de citire şi scriere, unele magistrale permit şi transferuri pe
blocuri. Dacă se lansează o citire a unui bloc, dispozitivul master indică celui slave
numărul de octeţi care urmează a fi transferaţi, de exemplu, în timpul ciclului T 1.
Dispozitivul slave transmite un octet în timpul fiecărui ciclu, până când contorul
ajunge la zero. În acest exemplu, o citire a unui bloc de n octeţi ar necesita n + 2
cicluri în loc de 3n.
O altă metodă de creştere a vitezei este reducerea duratei ciclului. De exemplu,
pentru o frecvenţă de 33 MHz, durata unui ciclu este de 30 ns, permiţând un transfer
la fiecare 3 • 30 ns = 90 ns, rata de transfer fiind de 1/90 • 10 9 B/s = 1000/90 MB/s
=11,1 MB/s.

8
SISTEME DE INTRARE – IEŞIRE
Reducerea duratei ciclului poate crea probleme, deoarece semnalele de pe
diferitele linii au timpi de propagare diferiţi. Apare deci o nesimetrie (bus skew).
Trebuie ca durata ciclului să fie mare comparativ cu această nesimetrie (de ordinul a
câtorva zeci de ns).

3.2.2. Magistrale asincrone


La magistralele sincrone, dacă un transfer se termină înaintea unui număr întreg
de cicluri, tr ebuie să se aştepte până la sfârşitul ciclului, ceea ce duce la întârzieri
inutile. Dacă la o magistrală sunt conectate dispozitive cu viteze diferite (unele lente,
altele rapide), viteza trebuie aleasă după dispozitivul cel mai lent, cele rapide fiind
întârziate.
De asemenea, după alegerea unui ciclu de magistrală, este dificil să se utilizeze
avantajele îmbunătăţirilor tehnologice viitoare. De exemplu, dacă după un timp vor fi
disponibile memorii mai rapide, deşi ele pot fi utilizate, vor funcţiona la aceeaşi
viteză ca şi cele vechi, deoarece protocolul magistralei cere ca memoria să depună
datele imediat înaintea frontului descrescător al ceasului din ciclul T3.
O magistrală asincronă elimină aceste dezavantaje, în locul semnalului de ceas
se utilizează un protocol logic între emiţător şi receptor (handshake) (Figura 8).
Pentru o operaţie de citire, după depunerea adresei, activarea semnalelor MREQ
şi RD, dispozitivul master activează semnalul MSYN (Master Synchronization). După
detectarea acestui semnal, dispozitivul slave depune data, şi apoi activează semnalul
SSYN (Slave Synchronization).
Dispozitivul master detectează activarea semnalului SSYN , ceea ce indică faptul
că data este disponibilă, memorează data, iar apoi dezactivează liniile de adrese,
împreună cu semnalele MREQ , RD şi MSYN .
Dispozitivul slave detectează dezactivarea semnalului MSYN, indicând
terminarea ciclului, dezactivează semnalul SSYN şi invalidează datele, ajungându-se
în starea iniţială, cu toate semnalele dezactivate, aşteptându-se un nou ciclu.

9
Capitolul 3 - Magistrale de comunicaţie cu echipemantele periferice

Fig. 8. Operaţie de citire la o magistrală asincronă


Se utilizează deci un protocol cu intercondiţionare totală (full handshake).
Fiecare acţiune este condiţionată de o acţiune anterioară, şi nu de un impuls de ceas.
Aceste acţiuni sunt următoarele:
1.Este activat MSYN.
2.Este activat SSYN ca răspuns la activarea MSYN .
3.MSYN este dezactivat ca răspuns la activarea SSYN .
4.SSYN este dezactivat ca răspuns la dezactivarea MSYN.
Deşi magistralele asincrone au avantajele amintite, cele mai multe magistrale
sunt sincrone. Motivul îl constituie faptul că o magistrală sincronă necesită mai
puţine linii şi realizarea acesteia este mai simplă. UCP activează semnalele de
comandă corespunzătoare, iar memoria sau perifericul va răspunde. Trebuie însă
respectate restricţiile de temporizare.
Costul magistralelor asincrone este mai ridicat, ceea ce influenţează alegerea lor.
Apple a renunţat la utilizarea magistralei VME (asincronă) pentru calculatoarele
Macintosh, chiar clacă această magistrală a fost special proiectată pentru a fi
compatibilă cu familia de procesoare Motorola 68000.

3.3. Arbitrajul de magistrală

La majoritatea sistemelor, există mai multe module care pot prelua controlul
asupra magistralei (care pot deveni module master). Trebuie să existe deci un
mecanism de arbitrare prin care să se determine modulul care va deveni maşter, dacă
apar mai multe cereri simultane de magistrală. Modulul master va putea apoi iniţia un
transfer cu un alt modul, care va avea rolul de modul slave pentru acest transfer.
10
SISTEME DE INTRARE – IEŞIRE
Metodele de arbitrare pot fi clasificate ca fiind centralizate sau descentralizate
(distribuite). În cazul arbitrării centralizate, alocarea magistralei este realizată de un
dispozitiv hardware numit arbitru de magistrală. Acest dispozitiv poate fi un modul
separat sau poate face parte din UCP. În cazul arbitrării descentralizate, nu există un
arbitru de magistrală. Fiecare modul conţine o logică pentru controlul accesului la
magistrală.

3.3.1. Arbitrarea centralizată

În Figura 9 se prezintă un exemplu simplu de arbitrare centralizată.


Există o singură linie de cerere a magistralei, de tip SAU cablat, care poate fi
activată de unul sau mai multe dispozitive în orice moment. Arbitrul nu poate
distinge dacă există mai multe cereri simultane sau o singură cerere, ci numai dacă
există sau nu cereri la un moment dat.

Fig. 9. Exemplu de arbitrare centralizată


Dacă linia de cerere este activată, arbitrul activează linia de acordare a
magistralei, la care sunt conectate în serie toate dispozitivele. Dispozitivul cel mai
apropiat fizic de arbitru detectează semnalul de pe această linie, şi în cazul în care a
efectuat o cerere preia controlul asupra magistralei, fară să propage semnalul de
activare pe linie. Dacă nu a efectuat o cerere, transmite semnalul următorului
dispozitiv, care procedează la fel, până când un dispozitiv preia controlul asupra
magistralei.
În această schemă de tip daisy chain, prioritatea dispozitivelor este dată de
distanţa la care se află faţă de arbitru. Dispozitivul cel mai aprop iat de arbitru are
prioritatea maximă. Pentru a modifica aceste priorităţi implicite, magistralele pot
avea mai multe nivele de prioritate. Pentru fiecare prioritate există o linie de cerere şi
una de acordare a magistralei.
Fiecare dispozitiv se conectează la una din liniile de cerere, după prioritatea
dispozitivului.
Unele circuite de arbitrare au o linie suplimentară de achitare, care este activată
de un dispozitiv atunci când a preluat controlul asupra magistralei în urma unui
semnal de acordare a magistralei. Imediat după activarea acestei linii, semnalele de

11
Capitolul 3 - Magistrale de comunicaţie cu echipemantele periferice
cerere şi de acordare pot fi dezactivate, în consecinţă, în timpul utilizării magistralei,
alte dispozitive pot solicita magistrala. La terminarea transferului curent va fi deja
selectat următorul dispozitiv master, care poate începe transferul imediat după
dezactivarea semnalului de achitare. Calculatoarele PDP-11 şi microprocesoarele
Motorola 680x0 utilizează un asemenea sistem.
Un exemplu de arbitrare centralizată care va fi prezentată în continuare este cel
al magistralei Multibus. Această magistrală a fost elaborată de firma Intel pentru
diferite configuraţii de sisteme bazate pe microprocesoare, atât uniprocesor, cât şi
mulţi procesor. Magistrala Multibus a fost standardizată de IEEE (standardul IEEE
796).
Magistrala permite existenţa a până la 16 module master, şi permite două tipuri
de arbitrare, centralizată şi descentralizată. În Figura 10 se prezintă arbitrarea
centralizată.

Fig.10. Schema arbitrării centralizate a magistralei Multibus


Fiecare modul master are o linie de cerere a magistralei (BREQ) şi una de
acordare a magistralei (BPRN), conectate la un modul central cu o logică de priorităţi.
Un modul solicită magistrala printr-o cerere transmisă logicii de arbitraj. Această
logică selectează următorul modul mater căruia i se acordă magistrala şi activează
semnalul BPRN corespunzător.

3.3.2. Arbitrarea descentralizată

În cazul arbitrării descentralizate nu există arbitru de magistrală. Un exemplu de


magistrală care utilizează această metodă de arbitrare este magistrala SBI
(Synchronous Backplane Interconnect), dezvoltată de firma DEC pentru
calculatoarele VAX-11/780. Modulele de I/E nu se conectează direct la magistrala
SBI, care este optimizată pentru operaţiile de citire/scriere a memoriei. Modulele de
I/E sunt conectate la o magistrală Unibus sau MASSBUS, care sunt conectate la
magistrala SBI prin adaptoare. Magistrala Unibus este utilizată în principal pentru
dispozitive de viteză mică şi medie, ca terminale, imprimante şi linii de comunicaţie.
Magistrala MASSBUS este destinată pentru memorii externe, ca discuri şi benzi
magnetice.

12
SISTEME DE INTRARE – IEŞIRE
Fiecare modul conectat la magistrala SBI (UCP, memorie, adaptor Unibus) are o
prioritate unică şi o linie unică de cerere de transfer (TR - Transfer Request). Exista 16
asemenea linii (TR0, ..., TR15), deci la magistrală pot fi conectate maxim 16
dispozitive.
Dacă un dispozitiv solicită magistrala, activează linia sa de cerere TR. La
sfârşitul ciclului de magistrală toate dispozitivele cu cereri active testează liniile TR.
Dispozitivul cu prioritatea maximă va putea utiliza magistrala în următorul ciclu.
Celelalte dispozitive vor menţine active cererile lor pentru a obţine un ciclu următor
de magistrală.
Anumite transferuri necesită mai multe cicluri consecutive. Un dispozitiv care
necesită cicluri suplimentare activează semnalul de pe linia TR0 la începutul primului
ciclu de transfer. Acest semnal, cu prioritatea maximă dintre semnalele TR, nu este
asignat niciunui dispozitiv, ci poate fi utilizat pentru păstrarea controlului asupra
magistralei.
Dispozitivul cu prioritatea minimă (16) poate efectua transferuri în oricare ciclu
care nu este rezervat de celelalte dispozitive. La începutul fiecărui ciclu, dacă niciuna
din liniile TR nu este activă, poate efectua transferuri numai dispozitivul cu
prioritatea 16. Astfel, timpul de aşteptare mediu este minim pentru acest dispozitiv.
Din acest motiv, UCP are de obicei prioritatea minimă în cazul unei magistrale SBI.
Figura 11 ilustrează metoda de arbitarare SBI sub formă simplificată. Fiecare
dispozitiv are ca intrări un semnal de ceas pentru sincronizare şi toate liniile TR de
prioritate mai mare (inclusiv TR0). Fiecare dispozitiv poate activa propria sa linie TR
şi linia TR0.

Fig. 11. Schema arbitrării descentralizate a magistralei SBI

3.4. Parcarea magistralelor

Anumite dispozitive master ale unui sistem de I/E, ca unităţile centrale, sunt
active în marea majoritate a timpului, în timp ce altele sunt active în mod sporadic.
Un dispozitiv din prima categorie poate păstra controlul asupra magistralei chiar după
terminarea transferului curent, deoarece este probabil că va utiliza magistrala şi în
continuare. Procedura prin care magistrala nu este eliberată automat după terminarea

13
Capitolul 3 - Magistrale de comunicaţie cu echipemantele periferice
transferului curent, ci numai în cazul în care există o cerere de magistrală, se numeşte
parcarea magistralei.
Prin utilizarea acestei metode, nu este necesară executarea operaţiilor de
eliberare a magistralei şi de arbitrare pentru fiecare transfer. De exemplu, la începutul
execuţiei unui nou proces, UCP va încărca noi date în memoria cache. Executarea
arbitrajului de magistrală pentru fiecare ciclu de transfer este dezavantajoasă.
Parcarea poate fi un mod operaţional al magistralei, sau poate fi un mod opţional.
Atunci când parcarea este un mod operaţional, un ciclu de arbitrare începe printr-o
cerere adresată dispozitivului master de a elibera magistrala.

3.5. Exemple de magistrale


Tabelul 1. Caracteristicile principale ale unor magistrale
Magistrala Firma/Org Standard Linii de Linii de date Sinc/ Rata max.
1
Unibus DEC - 18 16 a n. a.
2
SBI DEC - 22 32 s 4.7
3
MIM , 5
4
Fastbus ESONE IEEE 960 32 32 a 165
6
VMEbus Motorola IEEE 16,32 16,32 a 40
P1014
Nubus Texas Instr. IEEEP11 32 32 s 37.5
96
IEEEP12
Multibus II Intel 96 16,32 16,32 s 40
Micro
Channel IBM - 16,24,32 8,16,32 a 20,40
7
EISA Compaq, - 16,24 8,16,32 s 33
Intel
Sun
S-bus Microsys. - 32 16,32 s 57
8
Futurebus+ MSC IEEE 32,64 32,64, a 400 (32 b)
P896.1 128,256 3200 (256 b)
9 10
SCSI-1 ANSI ANSIX3.13 32 8,16,32 a, s 5, 10,20
1-86
SCSI-2 ANSI ANSIX3.13 32 8,16,32 a,s 10,20,40
1-94
11 12
VLBus VESA - 32,64 32,64 s 276
13
PCI Intel - 32,64 32,64 s 528
P6 Intel - 64 64 s 500
14
Fire Wire Apple IEEE 1394 - - a 100,200, 400
Mbit/s
USB14,15 Compaq, - - - a 480Mbit/s
IBM

14
SISTEME DE INTRARE – IEŞIRE
În Tabelul 1 se prezintă caracteristicile principale ale unor magistrale
mai cunoscute.

Observaţii:
1. Digital Equipment Corporation
2. Synchronous Backplane Interconnect
3. National Instrumentation Methods, din US Department of Energy
4. European Standards Organization for Nuclear Energy
5. Institute of Electrical and Electronics Engineers
6. Versa Module Eurocard
7. Extended Industry Standard Architecture
8. Microprocessor Standards Committee al IEEE Computer Society
9. Small Computer Systems Interface
10. American National Standards Institute
11. VESA Local Bus
12. Video Electronics Standards Association
13. Peripheral Component Interconnect
14. Fire Wire şi USB sunt magistrale seriale
15. Universal Serial Bus

3.5.1. Magistrala ISA


A devenit o magistrală standard la calculatoarele bazate pe
procesoarele din familia 80x86, fiind utilizată la primele tipuri de calculatoare
IBM PC. IBM a denumit iniţial această magistrală "I/O Channel", ulterior
utilizând denumirea ISA (Industry-Standard Architecture). Magistrala ISA are
70 de linii, semnalele fiind prezentate în Tabelul 2.

Semnal Nr. 1 E Descriere


linii
OSC 1 x Oscillator
CLK 1 x ClocK
RESET 1 x Reset
AO-A19 20 x Adrese
DO-D15 16 x x Date
ALE 1 x Address Latch Enable
MEMR 1 x Memory Read
MEMW 1 x Memory Write
IOR 1 x I/O Read
IOW 1 x I/O Write
AEN 1 x Address Enable
IOCHCHK 1 x I/O Channel Check
IO CH RDY 1 x I/O Channel Ready

15
Capitolul 3 - Magistrale de comunicaţie cu echipemantele periferice

IRQ2-IRQ7 6 x Interrupt Request


DRQ1-DRQ3 3 x DMA Request
DACKO-
DACK3 4 x DMA Acknowledge
T/C 1 x Terminal / Count
Power 5 ±5 V, ±12 V
GND 3 Ground
Rezervat 1 Neutilizat la PC, selecţie placă la
XT
În continuare se descriu pe scurt semnalele magistralei ISA.
OSC Este semnalul generat de un oscilator cu cuart.
CLK Este generat de circuitul 8284A, prin divizarea semnalului
OSC cu 3. Spre deosebire de semnalul OSC care este
simetric, CLK este nesimetric, fiind l pe durata de 1/3 din
perioadă şi 0 pe durata a 2/3 din perioadă.
RESET Este semnalul de resetare generat de circuitul 8284A.
ALE Este activat atunci când adresele de pe magistrală sunt
valide. Se utilizează pentru validarea circuitelor latch de
adrese.
AEN Este semnal de intrare pentru procesor, fiind generat de
către dispozitivele care solicită magistrala. Controlerul de
magistrală 8288 generează semnaluj care deconectează
driverele de date (liniile vor trece în starea de înaltă
impedanţă).
IOCHCHK Este activat dacă se detectează o eroare de paritate pe
magistrală, când se generează o întrerupere nemascabilă.
IOCHRDY Se utilizează de memoriile sau dispozitivele mai lente pentru
inserarea stărilor de aşteptare.
IRQ2-IRQ7 Cereri de întrerupere; reprezintă intrări pentru controlerul de
întrerupere.
DRQ1-DRQ3 Cereri DMA; reprezintă intrări pentru controlerul DMA.
DRQ0 se utilizează pentru reîmprospătarea memoriei.
DACK0- DACK3 Semnale de confirmare a cererilor DMA.
T/C Semnal activat de controlerul DMA la terminarea unui transfer.

3.5.2. Magistrala IBM PC/AT


La apariţia procesorului 80286, în locul realizării unei magistrale noi
pentru calculatoarele AT, s-a ales soluţia extinderii magistralei IBM PC (ISA).
16
SISTEME DE INTRARE – IEŞIRE
S-a adăugat un nou c onector pentru linii suplimentare de adrese, întreruperi,
cereri DMA, şi pentru diferenţierea transferurilor de 8 şi 16 biţi.
La introducerea seriei de calculatoare PS/2, IBM a decis să introducă o
nouă magistrală, în parte pentru că magistralele utilizate până atunci erau
învechite, dar şi pentru a opri copierea noilor sisteme. Modelele mai evoluate
ale acestei serii au fost echipate cu magistrala MicroChannel, complet nouă,
care a fost protejată cu numeroase patente. Cheltuielile de licenţă pentru
această magistrală au ajuns la 5% din preţul de vânzare.
Celelalte firme producătoare de calculatoare personale au adoptat un
standard propriu de magistrală, numita EISA (Extended Industry Standard
Architecture), care este o extensie a magistralei ISA la 32 de biţi, având
avantajul că păstrează compatibilitatea cu calculatoarele şi plăcile de
extensie existente, şi se bazează pe o magistrală a cărei licenţă a fost oferită
liber numeroaselor firme producătoare de plăci de extensie pentru
calculatoarele IBM PC.

3.5.3. Magistrala VME


3.5.3.1. Principii
Magistrala VME (Versa Module Eurocard) provine din magistrala
Versabus a firmei Motorola, care a fost utilizată la primele sisteme bazate pe
procesorul 68000. Ulterior, magistrala Versabus a fost adaptată pentru
formatul plăcilor dublu Eurocard (160 x 200 mm), format devenit standard
pentru calculatoarele industriale. Noua magistrală, proiectată în colaborare cu
firmele Mostek, Signetics/Philips şi Thompson CSF, a fost denumită VME,
fiind anunţată în anul 1981.
Este o magistrală de 32 biţi cu performanţe ridicate, utilizată pe scară
largă, mai ales pentru aplicaţii industriale. Există mii de plăci de extensie
bazate pe această magistrală, produse de sute de firme. Are specificaţii bine
definite, care descriu funcţionarea magistralei şi regulile care trebuie
respectate de plăcile VME.
Performanţele ridicate sunt asigurate prin asincronismul magistralei,
ceea ce permite diferitelor componente să funcţioneze la viteza
corespunzătoare tehnologiei utilizate. În practică, limita superioară este de
ordinul a 100 ns pentru un ciclu de magistrală, deoarece peste această limită
apar nesimetrii (bus skew) şi alte probleme similare. Cu un transfer de 4
octeţi la fiecare 100 ns, rezultă o rată de transfer de 40 MB/s.
Fiabilitatea magistralei este asigurată prin proiectarea mecanică şi
protocolul logic. Spre deosebire de conectorii calculatoarelor IBM PC, se
utilizează conectori formaţi din pini metalici. Deşi soluţia este mai scumpă, se
elimină astfel conexiunile necorespunzătoare, care reprezintă una din

17
Capitolul 3 - Magistrale de comunicaţie cu echipemantele periferice
principalele surse de probleme la sistemele de calcul. Există linii ale
magistralei care se pot utiliza pentru autotest şi raportarea stării.
Magistrala VME face parte dintr-o familie de trei magistrale proiectate
pentru o gamă largă de sisteme de calcul, de la mici sisteme de dezvoltare la
sisteme multiprocesor. De exemplu, Figura 1(a) prezintă un sistem minimal,
format din trei plăci VME, câte una pentru UCP, memorie şi un controler de
I/E.
Figura 1(b) prezintă un sistem multiprocesor. Fiecare procesor are o
memorie locală la care se conectează printr-o magistrală VSB. Dacă se
păstrează programul şi datele locale în memoriile locale, magistrala VME va
fi utilizată numai de instrucţiunile care fac acces la memoria globală
partajată. Astfel, rata de transfer globală poate depăşi limita de 40 MB/s
impusă de tehnologia VME. De exemplu, un sistem multiprocesor cu 16
UCP, fiecare UCP solicitând un cuvânt de 4 octeţi la fiecare 200 ns, necesită
o rată de transfer de:
(4 • 1/200 • IO9) • 16 B/s = 320 MB/s
Dacă 90% din aceste accesuri se fac la memoria locală (pentru
încărcarea instrucţiunilor, citirea/scrierea datelor locale), cu o magistrală
VME şi 16 magistrale VSB se poate asigura această rată.

Fig. 1. Sisteme cu magistrală VME a) minimal b) multiprocesor


Magistrala serială VMS, care funcţionează independent de celelalte
două magistrale, poate fi utilizată pentru comunicare şi sincronizare între
procesoare, în paralel cu transferurile de date pe magistrala principală.
3.5.3.2. Structura funcţională
Această structură constă din logica de interfaţă, patru grupuri de linii
numite magistrale, şi o colecţie de module funcţionale asociate cu acestea.
18
SISTEME DE INTRARE – IEŞIRE

Magistrala pentru transferul de date


Constă din 32 linii de date, 32 linii de adrese, 6 linii de mod ificare a
adresei, care definesc tipul ciclului de magistrală, şi 5 linii de control.
Modulele funcţionale ale acestei magistrale cuprind modulele master şi slave,
un modul monitor şi un modul de tip ceas.
Modulul master iniţiază cicluri de transfer pentru a transfera datele cu
modulul slave. Modulul slave detectează ciclurile de transfer iniţiate de un
master, şi dacă acele cicluri specifică participarea sa, transferă datele la sau
de Ia modulul master.
Monitorul urmăreşte transferurile de date, în scopul detectării accesurilor
la locaţiile care i-au fost asignate pentru a fi urmărite. În cazul în care apare
un acces la o asemenea locaţie, monitorul poate genera o întrerupere. Dacă,
de exemplu, procesorul plăcii A scrie într-o locaţie a memoriei globale care
este urmărită de monitorul plăcii B, procesorul plăcii B va fi întrerupt.

Ceasul măsoară durata fiecărui transfer, şi termină transferul dacă


acesta durează un timp prea mare. Este util în cazul în care se adresează o
locaţie inexistentă sau un modul slave inexistent. Se evită astfel blocajul.
Magistrala pentru transferul de date dispune de linii nemultiplexate pentru
adrese şi date. Aceasta asigură creşterea performanţelor la executarea
ciclurilor de transfer singular, când se transmite o adresă, după care se
citeşte sau se scrie data.
Magistrala pentru întreruperi
Constă din 7 linii de cerere de întrerupere, IRQ1.. IRQ7, o linie de
achitare a întreruperilor, IACK , şi o conexiune de tip daisy chain pentru
achitarea întreruperilor. Deoarece pot exista mai multe UCP, liniile de cerere
pot fi partiţionate între mai multe controlere de întreruperi, fiecare controler
gestionând anumite linii şi generând semnalele de întrerupere pentru
anumite UCP.
Sursa de întrerupere generează o cerere de întrerupere pe una din liniile
de cerere. Atunci când cererea este achitată de un modul de gestiune a
întreruperii, sursa de întrerupere furnizează 1, 2 sau 4 octeţi de stare sau
identificare în cadrul unui ciclu special de magistrală, octeţi care permit
servirea întreruperii.
Conexiunea de tip daisy chain pentru achitarea întreruperilor va fi
activată atunci când un modul de gestiune a întreruperii achită o cerere de
întrerupere. Această conexiune asigură ca un singur modul să răspundă cu
octeţii de stare sau identificare atunci când au fost generate mai multe cereri.
Magistrala de arbitraj
În cadrul procesului de arbitraj este selectat modulul master sau modulul
de gestiune a întreruperilor care va putea utiliza magistrala pentru
19
Capitolul 3 - Magistrale de comunicaţie cu echipemantele periferice
transferul de date. Magistrala de arbitraj constă din 4 linii de cerere a
magistralei, BRO..BR3,4 linii de acordare, BG 0IN .. BG 3IN , şi alte două linii
numite Bus Busy ( BBSY) şi Bus Clear ( BCLR ).
Există un modul de cerere a magistralei, aflat pe aceeaşi placă cu un
modul master sau modul de gestiune a întreruperii. După efectuarea cererii,
se aşteaptă achitarea acesteia de către arbitru, după care modulul de cerere
preia controlul asupra magistralei prin activarea liniei Bus Busy, dezactivează
cererea şi indică modulului master faptul că magistrala este disponibilă.

Arbitrul poate avea o facilitate de time-out, care permite retragerea


utilizării magistralei dacă modulul solicitant nu începe utilizarea magistralei în
timpul prestabilit. Aceasta asigură că magistrala nu va fi blocată ca rezultat al
unui semnal tranzitoriu pe linia de cerere. Arbitrul poate activa linia Bus Clear
dacă detectează o cerere de prioritate mai ridicată faţă de cea a modulului
care utilizează magistrala în acel moment, acordând magistrala modulului
mai prioritar.
Magistrala utilitară
Conţine două linii pentru semnale de ceas, o linie de resetare a
sistemului, o linie de date pentru magistrala serială, o linie de detectare a
căderii tensiunii de alimentare şi o linie pentru indicarea a unei erori de
sistem. Modulul de ceas al sistemului furnizează un semnal de ceas
SYSCLK de 16 MHz, util pentru diferite funcţii care necesită o referinţă de
timp. Acest semnal nu se utilizează pentru delimitarea ciclurilor de
magistrală. Pentru magistrala serială VMS există un semnal de ceas
SERCLK care asigură sincronizarea operaţiilor pe această magistrală. Viteza
de transfer pe magistrala serială este de 32 Mbiţi/s, dar se poate utiliza şi o
viteză de 16 sau 8 Mbiţi/s. Protocolul acestei magistrale este complet
independent de magistrala VME.
Starea sursei de alimentare este urmărită de un modul monitor, iar
atunci când se detectează o tensiune în afara limitelor admise, monitorul
utilizează linia prevăzută în acest scop (ACFAIL) pentru a avertiza toate
plăcile conectate la magistrală în vederea pregătirii căderii tensiunii (''graceful
shutdown''). La detectarea unei erori de către o placă conectată la magistrala
VME, aceasta poate utiliza o linie specială (SYSFAIL) pentru a indica
celorlalte module apariţia acestei erori.
3.5.3.3. Cicluri de magistrală
Specificaţiile VME definesc cinci tipuri de cicluri de transfer şi două
cicluri suplimentare. Ciclurile de transfer se pot utiliza pentru transferul
datelor de 8, 16 sau 32 de biţi.
Ciclurile de citire şi scriere încep prin transmiterea unei adrese şi a unui
cod de modificare a adresei, care indică tipul ciclului de magistrală. Sunt

20
SISTEME DE INTRARE – IEŞIRE
permise şi transferuri nealiniate, de exemplu 4 octeţi începând de la o adresă
impară.
Ciclurile de transfer pe blocuri Se utilizează pentru citirea sau scrierea
unui bloc de maxim 256 octeţi. Acestea permit unui modul master să
adreseze o singură locaţie şi apoi să acceseze acea locaţie şi locaţiile
următoare, fără a transmite informaţii suplimentare de adresare. La iniţierea
unui asemenea ciclu de către un master, modulul slave memorează adresa
într-un numărător de adrese, ea fiind incrementată ulterior şi utilizată la
transferurile ulterioare. Lungimea blocurilor transferate este limitată la 256 de
octeţi. Motivul este simplificarea proiectării plăcilor de memorie şi reducerea
timpului de acces la modulele de memorie. Dacă nu ar exista această
limitare, toate modulele de memorie ar trebui să memoreze adresa de
început a blocului, şi apoi să incrementeze această adresă în fiecare ciclu.
Adresa incrementată ar trebui apoi decodificată de fiecare modul, pentru a
testa dacă adresa a ajuns în propria zonă de adrese. Această decodificare ar
creşte timpul de acces.
Prin limitarea introdusă, dacă un modul de memorie are o dimensiune
de cel puţin 256 octeţi, iar prima adresă se află în propria zonă de memorie,
următoarele se vor afla de asemenea în această zonă. Deoarece numai cei 7
biţi c.m.p.s. ai adresei se vor modifica în timpul unui transfer, liniile
superioare de adresă pot fi decodificate o singură dată, la începutul ciclului.
Ciclurile de citire-modificare-scriere Asigură o operaţie indivizibilă de
citire şi scriere a unei locaţii, fără a permite unui alt master accesul la acea
locaţie înainte de terminarea operaţiei. Aceste cicluri sunt utile în sistemele
multiprocesor, unde trebuie partajate anumite resurse, unele locaţii de
memorie fiind utilizate pentru funcţii semafor. Trebuie să se asigure ca o
resursă utilizată de un anumit proces să nu fie utilizată de un alt proces în
acelaşi timp. Un asemenea ciclu este similar cu un ciclu de citire urmat de
unul de scriere, dar nu se permite acordarea magistralei de date unui alt
modul între cele două cicluri.
Ciclurile fără transferuri de date Constau doar din transmiterea unei
adrese. Rolul acestui ciclu este de a permite unui modul master să anunţe că
va solicita în scurt timp conţinutul memoriei de la o anumită adresă. La o
cerere ulterioară, memoria va putea răspunde fără întârziere, evitându-se
stările de aşteptare. Se poate suprapune astfel un ciclu cu cel următor.
Ciclurile de achitare a unei întreruperi
Sunt iniţiate de modulele de gestiune a întreruperilor în scopul citirii
informaţiilor de stare sau identificare de la un modul care a solicitat o
întrerupere. În Figura 2 se prezintă un ciclu de citire de 32 de biţi .

21
Capitolul 3 - Magistrale de comunicaţie cu echipemantele periferice

Fig. 2. Ciclu de citire la magistrala VME


La începutul unui transfer, dispozitivul master depune adresa pe liniile de
adrese A0-A31 şi activează semnalele de modificare a adreselor AM0-AM5,
care definesc tipul ciclului de magistrală. Dacă se efectuează un transfer
complet de 32 de biţi, se activează de asemenea semnalul LWORD . Acest
semnal defineşte, împreună cu tipul ciclului, dimensiunea datelor transferate.

După stabilizarea semnalelor A0-A31, AM0-AM5 şi LWORD , dispozitivul


master activează semnalul AS (Address Strobe) pentru a indica dispozitivului
slave faptul că adresa este validă şi poate fi memorată. Semnalul WRITE va
fi dezactivat dacă se efectuează o citire, şi va fi activat dacă se efectuează o
scriere, în final, dispozitivul master activează semnalele DSQ-DSl (Data
Strobe) pentru a indica dispozitivului slave că aşteaptă datele.

Pe baza semnalelor DS 0, DS 1, LWORD şi A1 se determină octetul sau


octeţii necesari din cadrul cuvântului selectat. Dispozitivul slave sesizează
activarea semnalelor DS 0 - DS 1 şi depune datele pe liniile D0-D31. Apoi
activează semnalul DTACK (Data Acknowledge) pentru a semnala
depunerea datelor.

22
SISTEME DE INTRARE – IEŞIRE
Dispozitivul slave sesizează activarea semnalului DTACK , preia datele
şi dezactivează semnalele care au fost activate la începutul ciclului.
Dezactivarea semnalelor DS 0 - DS 1 determină ca dispozitivul slave să
dezactiveze semnalul DTACK , terminându-se ciclul.
3.5.3.4. Arbitrajul de magistrală
Se utilizează o combinaţie între arbitrarea centralizată şi cea distribuită.
Există un arbitru de magistrală amplasat pe prima placă, cu rolul de a acorda
magistrala pentru o cerere de un anumit nivel de prioritate, în cadrul nivelului
respectiv, un modul va fi selectat prin utilizarea unei conexiuni în lanţ între
module.
Dintre algoritmii de arbitraj posibili, specificaţiile VME descriu trei:
• arbitraj pe bază de priorităţi,
• arbitraj "round robin",
• arbitraj cu un singur nivel.
Arbitrajul pe bază de priorităţi Atribuie magistrala pe baza unei scheme
de priorităţi fixe, fiecărei linii de cerere fiindu-i asignată o prioritate.
Arbitrajul "round robin" Atribuie magistrala pe baza unor priorităţi
rotitoare. Fiecare din cele 4 linii are aceeaşi prioritate. Dacă magistrala este
atribuită modulului care a activat cererea de nivel n, prioritatea cea mai mare
va fi asignată liniei de cerere n-1, şi cea mai mică liniei n.
Arbitrajul cu un singur nivel În cazul arbitrajului cu un singur nivel, sunt
acceptate numai cereri pe linia de nivel 3. Conexiunea de tip daisy chain a
acestui nivel va asigura ca un singur modul să utilizeze magistrala.
Deşi nu sunt descrişi de specificaţiile VME, se pot utiliza şi alţi algoritmi.
De exemplu, un algoritm poate asigna prioritatea maximă cererii de nivel 3,
pentru celelalte cereri atribuirea realizându-se în modul "round robin".
Eliberarea magistralei se poate realiza în două moduri:
• eliberare la terminare (RWD - Release When Done)',
• eliberarea la cerere (ROR - Release On Request).
În primul caz, modulul care a solicitat magistrala semnalează arbitrului
terminarea utilizării magistralei imediat după ce modulul său master a indicat
că nu mai necesită magistrala. În cazul eliberării la cerere, după terminarea
utilizării magistralei arbitrul va fi anunţat numai dacă un alt modul a efectuat o
cerere de magistrală. Pentru aceasta, modulul trebuie să monitorizeze toate
liniile de cerere. Această metodă permite implementarea procedurii de
parcare a magistralei.

23
Capitolul 3 - Magistrale de comunicaţie cu echipemantele periferice
3.5.4. Magistrala Micro Channel

În anul 1987, firma IBM a lansat pe piaţă calculatoarele din familia PS/2.
Acestea dispuneau de unele îmbunătăţiri, ca: un controler pentru adaptorul
video VGA integrat pe placa de bază, adaptorul de disc flexibil integrat pe
placa de bază, noi porturi pentru tastatură şi mouse, un adaptor şi o interfaţă
mai performante pentru discul fix.
Caracteristica cea mai importantă a acestor sisteme a fost utilizarea unei
noi magistrale de extensie, magistrala Micro Channel (MCA Micro Channel
Architecture). Modelele 50Z, 55SX şi 60 ale calculatoarelor PS/2 utilizează o
versiune de 16 biţi a acestei magistrale, iar modelele 70, 80 utilizează o
versiune de 32 de biţi pentru adrese şi date.
Deşi a fost proiectată în primul rând pentru familia de microcalculatoare
PS/2, magistrala Micro Channel a fost proiectată astfel încât să poată fi
utilizată şi la calculatoarele mainframe ale IBM. Se descriu în continuare
caracteristicile principale ale acestei magistrale.
3.5.4.1. Sistem de întreruperi îmbunătăţit
Toate semnalele de întrerupere (IRQ) sunt active pe nivel. Aceasta
necesită o logică mai simplă pentru implementare, iar semnalele sunt mai
puţin vulnerabile la zgomote. Astfel se reduc costurile de implementare, se
îmbunătăţeşte fiabilitatea sistemului şi cresc performanţele. Sistemul de
control al întreruperilor permite partajarea unui “nivel de întreruperi" spre
deosebire de magistrala ISA, care permite utilizarea unui nivel de întrerupere
de un singur adaptor.
3.5.4.2. Transferuri cu performanţe ridicate
Frecvenţa de lucru a magistralei este de 10 MHz pentru conectorii de 16
biţi şi de 16 MHz pentru conectorii de 32 de biţi. Specificaţiile definesc un
ciclu implicit de 200 ns pentru transferul a 4 octeţi, ceea ce corespunde unei
rate de transfer de 20 MB/s. Specificaţiile permit ca datele să fie transferate
în cicluri cu durata mai mică decât cea implicită.
Rata reală de transfer a unui sistem este determinată de rata maximă de
transfer a dispozitivului master care controlează transferurile, şi de restricţiile
de transfer ale dispozitivelor conectate la magistrală (din punctul de vedere al
ratei de transfer şi a dimensiunii datelor). Viteza de transfer cu perifericele
ajunge la 4 MB/s. Discurile pot transfera date într-un mod numit mod
exploziv, cu rate de până la 9 MB/s.
3.5.4.3. Magistrale de adrese şi de date de 32 biţi
Magistrala de adrese de 32 biţi permite un spaţiu de adresare de 4 GB
de memorie sau dispozitive de I/E mapate în memorie. Specificaţiile permit şi
implementarea unui subset de 24 de biţi al acestei magistrale. Magistrala de
adrese poate fi utilizată şi ca o magistrală de l/E de 16 biţi.
24
SISTEME DE INTRARE – IEŞIRE
Magistrala de date de 32 biţi se poate utiliza şi ca o magistrală de 24 biţi,
16 biţi, sau 8 biţi. Specificaţiile permit implementarea unui subset de 16 biţi al
magistralei de date atunci când este implementată o magistrală de adrese de
24 biţi. Magistrala de 16 biţi se poate utiliza pentru transferul datelor de 16
sau 8 biţi.
3.5.4.4. Recuperarea condiţiilor de excepţie
O condiţie de excepţie este definită ca orice condiţie de eroare sau stare
care nu poate fi eliminată prin metode tipice de recuperare. Această facilitate
permite implementarea unui hardware sau software care poate corecta
condiţia sau poate dezactiva dispozitivul care a creat condiţia. Astfel cresc
posibilităţile sistemului de a putea continua să funcţioneze.
Prin raportarea condiţiilor de excepţie se minimizează timpul necesar
detecţiei erorilor de sistem. Testarea integrităţii ciclurilor de transfer se
realizează prin hardware, eliminând necesitatea testării prin programele de
sistem sau de aplicaţie. Condiţiile de excepţie sunt raportate numai atunci
când ele sunt detectate prin hardware, iar rutina de detecţie şi corecţie a
erorilor este executată numai atunci când este necesar.
3.5.4.5. Selecţia programabilă a opţiunii
Această facilitate, numită Programmable Option Select (POS), elimină
necesitatea comutatoarelor de pe placa de bază sau de pe plăcile de
extensie. Permite identificarea dispozitivelor, elimină conflictele legate de
asignarea resurselor şi asigură configurarea dinamică a sistemului, dacă
există un sistem de operare adecvat şi drivere software corespunzătoare.
Informaţiile de configuraţie a dispozitivelor sunt păstrate în opt registre
de câte 1 octet. Fiecare dispozitiv conectat la magistrală poate fi validat sau
invalidat printr-un bit din registrele sale POS. Aceste registre mai conţin
identificatorul dispozitivului, un indicator al condiţiei de excepţie şi informaţii
opţionale de stare. Cu aceste informaţii, sistemul de operare şi driverele de
dispozitiv pot corecta condiţia de eroare sau pot dezactiva dispozitivul.
3.5.4.6. Sistemul de arbitraj
Sistemul de arbitraj al magistralei asigură atât regimul de multitasking,
cât şi prelucrarea paralelă. Magistrala de date poate fi partajată de către un
total de 16 dispozitive master şi slave. Se pot adăuga coprocesoare, sisteme
grafice şi de comunicaţie.
Există 4 linii de prioritate, care stabilesc 16 nivele de prioritate şi se
utilizează la arbitrarea magistralei. Fiecărui dispozitiv master i se atribuie un
nivel de prioritate între 0 şi F, nivelul F fiind cel mai puţin prioritar. Dispozitivul
cu nivelul de prioritate F este numit master implicit. Acestuia i se acordă
magistrala atunci când nu există nici un alt master şi la apariţia unei condiţii
de excepţie.

25
Capitolul 3 - Magistrale de comunicaţie cu echipemantele periferice
Un dispozitiv conectat la magistrala Micro Channel care doreşte să
utilizeze magistrala trimite numărul de prioritate care i-a fost acordat pe cele
4 linii de prioritate. Fiecare dispozitiv sau placă de extensie controlează
aceste semnale şi renunţă la magistrală, dacă detectează existenţa unei
cereri de prioritate mai mare.
3.5.4.7. Îmbunătăţiri ale magistralei Micro Channel
În anul 1990, IBM a introdus câteva îmbunătăţiri magistralei Micro
Channel pentru a creşte viteza de transfer. În modul de transfer "streaming"
pe 32 sau 64 de biţi, transferurile de adrese şi date intervin la intervale de
200 ns, urmând ca datele ulterioare să se transmită la intervale de 100 ns,
eliminând necesitatea de a transmite adrese înaintea fiecărui bloc de date.
Cu acest mod, pe 32 de biţi se ajunge la o rată de transfer de 40 MB/s,
pentru un ceas de 10 MHz. Prin implementarea unui mod "streaming'" pe 64
de biţi, se pot transmit date şi pe magistrala de adrese în timpul în care
aceasta nu este ocupată, rata de transfer ajungând la 80 MB/s.
Arhitectura Micro Channel nu s-a impus în măsura aşteptată din mai
multe motive:
• incompatibilitatea cu plăcile existente AT sau ISA;
• performanţele nu au crescut în mod semnificativ faţă de sistemele
cu
magistrală ISA;
• creşterea preţurilor, din cauza dimensiunilor mai reduse ale
plăcilor, a tehnologiei de realizare şi a cheltuielilor de licenţă.
Totuşi, arhitectura Micro Channel a introdus mai multe concepte noi care
sunt utilizate în prezent pentru implementarea magistralelor VL Bus şi PCI.

3.5.5. Magistrala EISA


Magistrala EISA (Extended Industry Standard Architecture) a fost
elaborată în anul 1988, de un consorţiu de firme condus de Compaq şi Intel.
Scopul era extinderea magistralei ISA, astfel încât să permită arhitecturi de
32 de biţi şi viteze de transfer superioare, păstrând însă compatibilitatea cu
plăcile de extensie existente şi cu perifericele. Se urmărea însă şi concurarea
magistralei Micro Channel.
S-a adăugat un nou conector de extensie cu semnale suplimentare, iar
complexitatea arhitecturii magistralei a crescut. Multe caracteristici sunt
similare cu cele ale magistralei Micro Channel:
• transferuri pe 32 de biţi;
• posibilitatea multiprelucrării;
• configurarea automată a sistemului şi a plăcilor de extensie, fără

26
SISTEME DE INTRARE – IEŞIRE

utilizarea comutatoarelor.
Întreruperile sunt declanşate pe front sau pe nivel, selecţia fiind realizată
prin program. Magistrala EISA asigură o independenţă faţă de arhitectura
procesorului utilizat.
Întregul spaţiu de adresare de 32 biţi este complet accesibil, nu numai
de către procesor, dar şi de dispozitivele DMA şi controlerele de magistrală.
Chiar controlerele DMA existente de 16 biţi pot avea acces la întregul spaţiu
de adresare.
Toate transferurile executate pe magistrala EISA sunt sincronizate de un
semnal de ceas de 8,33 MHz. Există un mod de transfer în avalanşă (burst
mode), în care un transfer este executat într-un ciclu de ceas al magistralei.
Aceasta echivalează cu 8,33 milioane transferuri pe secundă. Se pot
transfera maxim patru octeţi într-un ciclu, ceea ce corespunde unei rate
maxime teoretice de transfer de 33 MB/s.
Diferenţa principală faţă de magistrala Micro Channel este că magistrala
EISA este compatibilă cu magistrala ISA (AT), deci calculatoarele cu o
magistrală EISA pot utiliza noile plăci de extensie EISA, ca şi vechile plăci de
extensie AT. Calculatoarele cu o magistrală Micro Channel pot utiliza numai
plăci de extensie Micro Channel.
Circuitele utilizate pentru arhitecturile EISA au un preţ mai ridicat.
Datorită acestui dezavantaj, sistemele EISA nu au devenit arhitecturi de largă
utilizare, fiind folosite mai ales pentru aplicaţii pretenţioase, ca servere de
reţea sau grafică de performanţă.

3.5.6. Magistrale locale

3.5.6.1. Cerinţe pentru ratele de transfer


In cazul sistemelor actuale, este necesar transferul rapid al unor blocuri
mari de date. Această necesitate apare mai ales la următoarele subsisteme:
Adaptoare grafice Interfeţele grafice ale sistemelor de operare
Windows, OS/2 şi Unix X-Windows necesită actualizarea rapidă a imaginii
grafice pentru deplasarea, redimensionarea şi actualizarea ferestrelor
multiple. Acelaşi lucru este valabil pentru imaginile video în mişcare.
Procesorul trebuie să actualizeze şi să transfere blocuri mari de date în
cadrul memoriei video
Adaptoare pentru interfaţa SCSI Interfaţa SCSI este utilizată mai
ales pentru memorii de masă, ca unităţi de disc fix, unitaţi CD-ROM şi unităţi
de bandă încasetată. Creşterea vitezei de trans fer cu aceste dispozitive
influenţează semnificativ performanţele globale ale sistemului.
Adaptoare de reţea FDDI (Fiber Distributed Digital Interface) Dacă
adaptorul de reţea este utilizat pentru transferul unor fişiere la sau de la un

27
Capitolul 3 - Magistrale de comunicaţie cu echipemantele periferice
server, rata cu care pot fi transferate datele între memorie şi adaptor
influenţează performanţele sistemului.
Majoritatea subsistemelor sunt conectate la magistrala de extensie a
calculatorului PC. Aceasta poate fi o magistrală ISA, EISA sau Micro
Channel. Aceste magistrale nu asigură o rată de transfer suficientă pentru
imagini grafice de înaltă rezoluţie şi un număr mare de culori, şi nici pentru
imagini video cu un număr de 30 cadre/s.
În multe cazuri, anumite subsisteme sunt integrate pe placa sistem.
Aceasta nu înseamnă că ele nu utilizează magistrala de extensie. Cele mai
multe subsisteme integrate sunt conectate la o extensie a magistralei de
extensie, numită magistrala X sau magistrala utilitară. Figura 3 ilustrează
relaţia dintre magistrala X, magistrala de extensie şi procesorul sistemului.
La o operaţie de citire a memoriei, procesorul poate comunica cu
memoria sa cache internă (de nivel 1) la viteza maximă, dacă informaţia
cerută se află în memoria cache. Dacă această memorie cache este de tip
write-back, operaţiile de scriere în locaţiile aflate în memoria cache se pot
executa de asemenea la viteza maximă. Dacă la o citire cuvântul nu se află
în memoria cache, sau conţinutul memoriei cache trebuie scris în memoria
principală, procesorul trebuie să utilizeze magistrala sa locală pentru a
comunica cu memoria cache externă (de nivel 2). Dacă cuvântul nu se află
nici în această memorie cache, se execută un acces la memoria DRAM.
La execuţia unei operaţii de I/E, se va executa un ciclu de citire sau
scriere utilizând magistrala de extensie. Viteza de execuţie a acestui ciclu
este dată de viteza maximă a magistralei de extensie şi de timpul de acces al
dispozitivului adresat.

28
SISTEME DE INTRARE – IEŞIRE
Fig. 3. Magistrala X
3.5.6.2. Conceptul magistralei locale
Pentru a creşte rata de transfer la operaţiile de actualizare a memoriei
video, adaptorul video se poate conecta la magistrala locală a procesorului în
locul magistralei de extensie. Adaptorul video este reproiectat pentru
conectarea directă la magistrală şi minimalizarea sau eliminarea stărilor de
aşteptare.
Există trei metode majore de conectare a dispozitivului la magistrala
locală a procesorului:
Conectarea directă
Dispozitivul este conectat direct la magistrala locală a procesorului.
Acesta poate fi un procesor de orice tip, de exemplu 80486 sau Pentium.
Această metodă impune unele restricţii importante de proiectare:
• Deoarece dispozitivul este conectat direct la magistrala locală a
procesorului, va trebui reproiectat pentru a fi utilizat cu
procesoarele din generaţiile viitoare (dacă structura magistralei sau
protocolul vor fi modificate).
• Datorită încărcării suplimentare a magistralei locale, nu se poate
conecta mai mult de un dispozitiv.
• Deoarece frecvenţa magistralei locale este ridicată, proiectarea
interfeţei la magistrală a dispozitivului este dificilă.
• In cazul modernizării ulterioare a sistemului prin instalarea unui
procesor de tip "overdrive", sistemul poate funcţiona incorect
datorită încărcării suplimentare a magistralei locale.
• Procesorul nu poate efectua transferuri cu un dispozitiv în timp ce
dispozitivul de pe magistrala locală execută un transfer cu un alt
dispozitiv.
Conectarea printr-un buffer
Bufferul prin care este conectat dispozitivul la magistrala locală amplifică
semnalele magistralei, fiind posibilă conectarea mai multor dispozitive.
Deoarece magistrala locală bufferată este izolată din punct de vedere electric
faţă de magistrala locală a procesorului, reprezintă o singură încărcare pentru
aceasta. La magistrala bufferată se pot conecta de obicei trei dispozitive,
acesta fiind singurul avantaj al acestei metode.
Un dezavantaj al conectării printr-un buffer este că orice tranzacţie
iniţiată de procesor apare pe magistrala locală, ca şi pe cea bufferată. De
asemenea, orice tranzacţie iniţiată de un dispozitiv master de pe magistrala
bufferată apare şi pe magistrala locală a procesorului. De aceea, procesorul
şi dispozitivul master nu pot utiliza magistrala simultan.
Conectarea de tip staţie de lucru
În cazul acestei soluţii, utilizată la numeroase staţii de lucru, controlerul
memoriei cache de nivel 2 este combinat cu un circuit de interfaţă numit
punte (bridge), care asigură interfaţa dintre procesor, memoria principală şi o
29
Capitolul 3 - Magistrale de comunicaţie cu echipemantele periferice
magistrală de I/E de viteză ridicată (de exemplu, PCI). Dispozitivele
conectate la magistrala de I/E pot fi şi adaptoare inteligente cu rol de master.
Prin utilizarea punţii de legătură, memoria principală poate fi accesată fie de
procesor (prin memoria sa cache de nivel 2), fie de un dispozitiv master de
pe magistrala de I/E sau magistrala de extensie.
Procesorul poate continua încărcarea datelor din memoria cache de nivel
l sau 2, în timp ce controlerul memoriei cache asigură accesul la memoria
principală a unui dispozitiv master de pe magistrala de I/E. Dispozitivele
master pot de asemenea comunica direct cu dispozitive slave de pe
magistrala de I/E în timp ce procesorul accesează una din memoriile cache
sau controlerul memoriei cache de nivel 2 accesează memoria principală.

Un alt avantaj important al acestei metode este că interfaţa dispozitivelor


conectate la magistrala de I/E va fi independentă de magistrala procesorului.
Modernizarea procesorului poate fi efectuată simplu, fără a afecta magistrala
de I/E şi dispozitivele conectate la aceasta. Va trebui reproiectată numai
puntea de legătură.

3.5.7. Magistrala VL Bus


Asociaţia de standardizare pentru electronica video, VESA (Video Electronics
Standards Association), o asociaţie de firme care sunt implicate în proiectarea şi
producţia adaptoarelor grafice, a format un comitet pentru dezvoltarea şi
standardizarea unei magistrale locale şi a conectorilor magistralei. Această
magistrală, denumită VL Bus (VESA Local Bus), a apărut în anul 1992 şi în acelaşi
an a fost standardizată prima versiune (1.0) a acesteia.
Această versiune defineşte două metode de interfaţare la magistrala locală a
procesorului: metoda directă şi cea bufferată, care au fost descrise anterior.
Magistrala care utilizează prima metodă este numită de tip A, iar cea care utilizează
metoda a doua este numită de tip B. În ambele cazuri, magistrala se bazează pe
magistrala locală a procesorului 80486. Diferenţa principală dintre cele două tipuri
este că magistrala de tip B permite utilizarea a până la trei conectori de extensie, în
funcţie de încărcarea capacitivă, în timp ce magistrala de tip A nu permite conectori
de extensie, fiind posibilă conectarea unui singur dispozitiv. în cazul tipului B, apar
întârzieri datorită bufferului, care determină de obicei inserarea unor stări de
aşteptare în timpul transferurilor.
Versiunea 2.0 a magistralei prevede îmbunătăţiri prin extinderea liniilor de date
la 64 şi posibilitatea conectării microprocesoarelor Pentium, păstrând
compatibilitatea cu versiunea 1.0.
Magistrala VL Bus este scalabilă şi extensibilă, fiind compatibilă cu ma-
irjstralele existente ISA, EISA, Micro Channel. Specificaţiile acesteia sunt
disponibile pentru toate firmele, nefiind protejate prin brevet. Frecvenţa maximă a
magistralei este de 50 MHz. în cazul unei asemenea frecvenţe, devine importantă

30
SISTEME DE INTRARE – IEŞIRE
valoarea capacităţii electrice a liniilor magistralei. La creşterea numărului de
echipamente conectate la magistrală, creşte şi valoarea capacităţii electrice, şi deci
încărcarea magistralei. Valorile mari ale capacităţii tind să micşoreze viteza
semnalelor şi performanţele magistralei.
Conectorii de extensie pentru magistrala VL Bus sunt adăugaţi pe aceeaşi linie
cu conectorii magistralei ISA, ceea ce permite combinarea adaptoarelor ISA şi a
celor VL Bus pe aceeaşi placă. Sistemele cu magistrală VL Bus cele mai utilizate
sunt cele care permit atât extensii VL Bus, cât şi ISA.
Standardul VL Bus specifică faptul că dispozitivele conectate la magistrală
trebuie să permită configurarea automată a sistemului. Nu se defineşte însă modul în
care trebuie realizată configurarea automată, deci registrele de configuraţie pentru
fiecare dispozitiv. Specificaţiile indică de asemenea că dispozitivele conectate la
magistrala VL Bus trebuie să fie transparente la driverele de dispozitiv, deci trebuie
să răspundă la acelaşi set de comenzi şi să furnizeze aceeaşi stare ca şi cele conectate
la o altă magistrală.
Pe lângă adaptoarele video, există şi alte echipamente care sunt conectate la
magistrala locală, cum sunt: adaptoare de disc IDE, adaptoare SCSI sau adaptoare de
reţea.

Frecvenţa de ceas a
Rata de transfer maximă (32 Rata de transfer maximă (64
magistralei VL Bus
25MHz 80 MB /s 133 MB /s
33MHz 107 MB /s 178 MB /s
40MHz 128 MB/s 213MB/S
50MHz 160 MB /s 276 MB /s

Avantajele magistralei VL Bus constau în simplitatea arhitecturii şi costul redus.


Dezavantajul principal este că la apariţia unor procesoare mai performan te, logica de
interfaţă trebuie reproiectată pentru acestea. De asemenea, faptul că nu se defineşte
formatul registrelor de configuraţie şi adresele acestora nu permite realizarea unor
interfeţe software unitare pentru dispozitivele conectate la magistrală.

3.5.8. Magistrala PCI


3.5.8.1. Prezentare generală
În anul 1992, firma Intel a anunţat prima versiune (1.0) a unei specificaţii pentru
o magistrală locală, denumită PCI (Peripheral Component Interconnect). Intenţia
iniţială era realizarea unui standard care să permită interconectarea circuitelor rapide
pe placa de bază, deoarece cu fiecare generaţie de microprocesoare, Intel trebuia să
modifice arhitectura magistralei locale pentru a

31
Capitolul 3 - Magistrale de comunicaţie cu echipemantele periferice
mări performanţele sistemului, ceea ce implica şi modificarea circuitelor de interfaţă
pentru periferice.
Magistrala PCI urma să se conecteze la magistrala locală a procesorului prin
intermediul unui circuit, special destinat acestui scop. Astfel, la fiecare schimbare a
procesorului şi a magistralei locale, trebuia schimbat doar circuitul de legătură,
circuitele de interfaţă cu perifericele nefiind afectate.
Specificaţia PCI iniţială nu prevedea conectori de extensie. Intel a actualizat
specificaţiile PCI pentru ca aceasta să admită şi conectori de extensie. Astfel,
magistrala PCI a fost definită detaliat din punct de vedere electric şi funcţional, aju
ngând cea mai utilizată arhitectură de magistrală. Versiunea 2.0 a apărut în 1993, iar
versiunea 2.1 în 1995.
Sunt posibile transferuri de 32 sau de 64 biţi. În versiunea 2.1, frecvenţa maximă
a ceasului este de 66 MHz, ceea ce permite obţinerea unei rate maxime de transfer de
528 MB/s.
Standardul de extensie a plăcii PCI defineşte o familie de conectori pentru
adaptoare de 5 V sau 3,3 V, cu variante de 32 şi 64 de biţi. Este de aşteptat ca în
viitor majoritatea conectorilor de extensie să utilizeze surse de alimentare de 3,3 V în
loc de 5 V.
Specificaţiile PCI permit utilizarea a două din cele trei metode de conectare la
magistrala locală a procesorului: conectarea printr-un buffer şi conectarea de tip
staţie de lucru. Datorită avantajelor legate de performanţe şi de flexibilitate,
conectarea de tip staţie de lucru este preferată. Se prezintă în Figura 1 schema bloc a
unui sistem cu magistrală PCI, utilizând acest tip de conectare.
Magistrala PCI este conectată la magistrala sistem a procesorului prin
intermediul unei punţi UCP/PCI, având acces direct la memoria principală, în acest
fel, transferurile între UCP şi memoria cache, respectiv între dispozitivele de I/E şi
memoria principală pot avea loc simultan. Dispozitivele de I/E de viteză ridicată, ca
adaptoarele grafice şi adaptoarele de reţea, care solicită în măsură redusă procesorul,
sunt conectate direct la magistrala PCI. Dispozitivele care trebuie să se conformeze
altor standarde de magistrală, ca ISA sau SCSI, se interfaţează cu magistrala PCI
printr-o punte PCI/ISA, respectiv un adaptor SCSI.
Un sistem poate fi realizat şi fără utilizarea punţilor de legătură, în acest caz,
toate componentele, inclusiv procesorul şi memoria principală, se interfaţează direct
cu magistrala PCI.
3.5.8.2. Semnalele magistralei PCI
Fiecare dispozitiv conectat la magistrala PCI poate funcţiona fie ca slave, fie ca
master/slave. Un dispozitiv master se mai numeşte iniţiator, iar unul slave se mai
numeşte ţintă (target). Un dispozitiv ţintă nu poate iniţia transferuri pe magistrală.
Pentru a reduce numărul pinilor şi dimensiunea conectorilor necesari pentru
unităţile compatibile PCI, adresele şi datele sunt multiplexate, setul de linii pentru
linii şi date fiind notat cu AD. O tranzacţie tipică pe magistrală implică două faze.
32
SISTEME DE INTRARE – IEŞIRE
În prima fază se transmite o adresă pe liniile AD, iar în faza a doua se transmit
una sau mai multe cuvinte de date pe aceleaşi linii. Toate operaţiile magistralei sunt
sincronizate cu ajutorul unui semnal de ceas, astfel că magistrala este sincronă. Sunt
prevăzute însă semnale care permit inserarea stărilor de aşteptare de către
dispozitivele mai lente.

Fig.1. Schema magistralei PCI


În Figura 2 se prezintă principalele semnale ale unui dispozitiv master/slave. In
partea stângă se află semnalele obligatorii, necesare pentru transferurile de bază
utilizând cuvinte de maxim 32 de biţi. în partea dreaptă se află semnalele opţionale,
care permit transferuri de date utilizând cuvinte de 64 de biţi, semnale care permit
controlul întreruperilor şi executarea altor funcţii mai puţin uzuale.

33
Capitolul 3 - Magistrale de comunicaţie cu echipemantele periferice

Fig. 2. Semnalele magistralei PCI


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 tranzacţiei, în timpul fazei
de date, pe liniile AD[31:0] se transmit date provenite de la iniţiator (la o scriere) sau
de la ţinta adresată (la o citire).
• CIBE [3:0] (Command or Byte Enable)
În timpul fazei de adrese aceste linii definesc o comandă pe care iniţiatorul o
utilizează pentru a indica tipul tranzacţiei 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 iniţiator pentru a indica octeţii care trebuie transferaţi din
cadrul cuvântului dublu adresat şi grupele de linii ale magistralei AD care trebuie
utilizate pentru transferul datelor.
• PAR (Parity)
Reprezintă semnalul de paritate pară pentru liniile AD[31:0] şi CIBE [3:0].
Paritatea este generată de iniţiator după terminarea fazei de adrese şi după terminarea
fiecărei faze de date la o tranzacţie de scriere. Paritatea este generată de ţinta adresată
după terminarea fiecărei faze de date la o tranzacţie de citire.
• FRAME (Cycle Frame)

34
SISTEME DE INTRARE – IEŞIRE
Este activat de iniţiator şi indică începutul şi durata unei tranzacţii pe magistrală.
O tranzacţie poate consta din una sau mai multe transferuri de date între iniţiatorul
curent şi ţinta adresată. Semnalul FRAME este dezactivat atunci când iniţiatorul este
pregătit să încheie faza finală de date.
• TRDY (Target Ready)
Este activat de dispozitivul ţintă adresat atunci când acest dispozitiv este pregătit
pentru un transfer de date (poate executa faza curentă de date). Faza de date este
terminată atunci când ţinta activează TRDY şi iniţiatorul activează IRDY la frontul
crescător al semnalului de ceas. În timpul unei operaţii de citire, semnalul TRDY
activat indică faptul că ţinta a depus date valide pe magistrala de date. În timpul unei
operaţii de scriere, semnalul TRDY activat indică faptul că ţinta este pregătită să
accepte datele de la iniţiator. Sunt inserate stări de aşteptare în faza curentă de date
până când ambele semnale TRDY şi IRDY sunt activate.
• IRDY (Initiato rReady)
Este activat de iniţiatorul tranzacţiei şi semnalează momentul în care iniţiatorul
este pregătit pentru un transfer de date. În timpul unei operaţii de scriere, semnalul
IRDY activat indică faptul că iniţiatorul a depus date valide pe magistrala de date. În
timpul unei operaţii de citire, semnalul IRDY activat indică faptul că iniţiatorul este
pregătit să accepte datele de la ţinta adresată.
• STOP
Prin activarea acestui semnal dispozitivul ţintă solicită iniţiatorului oprirea
tranzacţiei în curs în timpul fazei curente de date.
• DEVSEL (Device Select)
Este activat de dispozitivul ţintă atunci când acesta şi-a decodificat adresa. Dacă
un dispozitiv master a iniţiat un transfer şi nu detectează semnalul DEVSEL activ în
cursul a şase perioade de ceas, va presupune că ţinta nu poate răspunde sau că adresa
respectivă nu este utilizată. Va rezulta un abandon din partea dispozitivului master.

• IDSEL (Initialization Device Select)


Este o intrare pentru un dispozitiv PCI şi este utilizat pentru selecţia circuitului
în timpul accesului la unul din registrele de configurare ale dispozitivului.
• PERR (Parity Error)
Indică o eroare de paritate. Generarea informaţiei de paritate este obligatorie
pentru toate dispozitivele PCI care transmit adrese şi date pe magistrala AD.
Detectarea şi raportarea erorilor de paritate de către dispozitivele PCI este necesară în
general (în anumite cazuri, erorile de paritate pot fi ignorate). Dacă se detectează o
eroare de paritate de către un dispozitiv ţintă în timpul unei faze de date la o operaţie
de scriere, ţinta trebuie să activeze semnalul PERR . Ţinta poate continua tranzacţia
sau poate activa semnalul STOP pentru terminarea prematură a tranzacţiei. Dacă se
detectează o eroare de paritate de către un dispozitiv iniţiator în
35
Capitolul 3 - Magistrale de comunicaţie cu echipemantele periferice
timpul unei faze de date la o operaţie de citire, iniţiatorul trebuie să activeze semnalul
PERR . Iniţiatorul unei tranzacţii are responsabilitatea de a raporta detectarea unei
erori de paritate, în acest scop, iniţiatorul trebuie să monitorizeze semnalul PERR în
timpul fazelor de date la operaţiile de scriere pentru a determina dacă ţinta a detectat
o eroare de paritate a datelor.
• SERR (System Error)
Acest semnal poate fi activat de orice dispozitiv PCI pentru a raporta erori de
paritate a adreselor, erori de paritate a datelor în timpul unui ciclu special, sau erori
critice diferite de cele de paritate. Acest semnal este considerat ca ultima modalitate
de raportare a erorilor serioase. Erorile care nu sunt catastrofale şi cele corectabile
trebuie semnalate în alte moduri. La calculatoarele PC, SERR determină în general o
întrerupere NMI către procesorul sistemului.
• REQ (Request)
Este activat de iniţiator pentru a indica o cerere de magistrală. Această linie este
conectată la arbitrul de magistrală. Metoda de arbitrare a magistralei nu este descrisă
în specificaţiile PCI; se pot implementa diferite metode. Este specificat doar faptul că
arbitrul de magistrală trebuie să utilizeze un algoritm prin care să se evite blocajele;
fiecărui dispozitiv master potenţial trebuie să i se permită accesul la magistrală.

• GNT (Grant)
Este activat de arbitrul de magistrală pentru a indica acordarea magistralei
pentru iniţiator. Atunci când detectează acest semnal, iniţiatorul trebuie să aştepte
terminarea tranzacţiei în curs de către iniţiatorul curent.
• CLK (Clock)
Reprezintă semnalul de ceas utilizat pentru sincronizarea tuturor tranzacţiilor,
inclusiv a arbitrajului de magistrală. Toţi parametrii de sincronizare ai magistralei
sunt specificaţi relativ la frontul crescător al semnalului de ceas. Frecvenţa
semnalului de ceas se poate modifica în orice moment, cu condiţia 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).
• RST(Reset)
Reprezintă semnalul de resetare. Atunci când este activat, acest semnal forţează
trecerea tuturor registrelor de configurare PCI, a dispozitivelor iniţiator şi ţintă într-o
stare de iniţializare, în general, semnalele de ieşire ale dispozitivelor PCI vor fi
trecute în starea de înaltă impedanţă. Semnalul RST poate fi activat sau dezactivat
asincron relativ la frontul semnalului CLK.
• AD[63:32]
Reprezintă extensia la 64 de biţi a magistralei de date AD[31:0]. Aceste linii nu
sunt utilizate în timpul fazei de adresare a unui transfer (cu excepţia cazului în care
se utilizează adresarea pe 64 de biţi).
36
SISTEME DE INTRARE – IEŞIRE
• CIBE [7:4]
Re prezintă extensia semnalelor CIBE[3:0]. Se utilizează numai în timpul fazei
de date a unui transfer (cu excepţia cazului în care se utilizează adresarea pe 64 de
biţi).
• PAR64 (Parity for the Upper Doubleword)
Este bitul de paritate pară asociat cu AD[63:32] şi CIBE [7:4].
• REQ64 (Request 64-bit Transfer)
Semnal generat de iniţiatorul curent pentru a indica faptul că doreşte executarea
transferurilor utilizând extensia la 64 de biţi a liniilor de date. Semnalul REQ64 are
aceeaşi sincronizare ca şi semnalul FRAME.
• ACK 64 (Acknowledge 64-bit Transfer)
Semn al generat de ţinta curent adresată (dacă aceasta permite transferuri pe 64
de biţi) ca răspuns la activarea semnalului REQ64 de către iniţiator. Semnalul ACK
64 are aceeaşi sincronizare ca şi semnalul DEVSEL
• LOCK
Acest semnal este utilizat de către un iniţiator PCI care solicită accesul exclusiv
la un dispozitiv ţintă de memorie în timpul a două sau mai multe tranzacţii separate.
Acest semnal este prevăzut cu scopul de a permite operaţii de
citire/modificare/scriere la operaţiile cu semafoare. Dacă un dispozitiv PCI conţine o
memorie executabilă sau o memorie care conţine date de sistem (gestionate de
sistemul de operare), trebuie să implementeze această funcţie de blocare a resurselor.

• CLKRUN (Clock Run)


Acest semnal este opţional şi este definit pentru sistemele portabile. Un sistem
portabil cuprinde o resursă centrală, care include logica de generare a ceasului pentru
magistrala PCI. Atunci când ceasul funcţionează normal, această logică menţine
semnalul CLKRUN activat.
În perioadele în care ceasul este oprit sau frecvenţa acestuia este micşorată,
logica de generare a ceasului monitorizează semnalul CLKRUN pentru a recunoaşte
cereri de la dispozitivele PCI care urmăresc modificarea stării semnalului de ceas.
Ceasul nu poate fi oprit dacă magistrala nu este liberă, înaintea opririi (sau micşorării
frecvenţei) ceasului, logica de generare a ceasului dezactivează semnalul CLKRUN
pentru o perioadă de ceas pentru a informa dispozitivele PCI că ceasul urmează să fie
oprit (sau frecvenţa acestuia urmează să fie micşorată). După aceasta, logica trece
driverul de ieşire al semnalului CLKRUN în starea de înaltă impedanţă. Rezistenţa
conectată la linia CLKRUN va menţine acest semnal în starea dezactivată în timpul în
care ceasul este oprit. Ulterior, un dispozitiv master poate solicita repornirea ceasului
în scopul utilizării magistralei prin activarea semnalului
CLKRUN .

37
Capitolul 3 - Magistrale de comunicaţie cu echipemantele periferice
• INTA , INTB , INTC , INTD
Reprezintă semnalele pentru cererile de întrerupere.
• SBO (Snoop Back Off)
Acest semnal este o ieşire de la puntea UCP/PCI şi o intrare pentru subsistemele
de memorie conectate la magistrala PCI care pot utiliza o memorie cache. Semnalul
SBO estre activat de puntea UCP/PCI pentru a indica faptul că prin accesul curent la
memorie urmează să se citească sau să se actualizeze informaţii perimate din
memorie. Semnalul SBO are semnificaţie numai atunci când semnalul SDONE este
de asemenea activat de către puntea UCP/PCI. Atunci când ambele semnale sunt
activate, subsistemul de memorie PCI curent adresat trebuie să răspundă prin
semnalarea unei retransmisii la iniţiatorul curent.
• SDONE (Snoop Done)
Acest semnal este o ieşire de la puntea UCP/PCI şi o intrare pentru subsistemele
de memorie conectate la magistrala PCI care pot utiliza o memorie cache. Semnalul
SDONE este dezactivat de puntea UCP/PCI în timp ce memoria cache a procesorului
intervine într-o cerere de acces la memorie executată de iniţiatorul curent. Puntea
activează semnalul SDONE atunci când intervenţia s-a terminat. Rezultatele
intervenţiei sunt indicate de către semnalul SBO. Semnalul SBO dezactivat indică
faptul că iniţiatorul PCI accesează date valide din memorie şi că memoria poate
accepta sau furniza datele respective. Semnalul SBO activat indică faptul că
iniţiatorul PCI accesează date perimate din memorie şi nu trebuie să termine accesul
curent. Memoria va trebui să termine accesul prin semnalarea faptului că operaţia
trebuie repetată.
• TCK (Test Clock)
Utilizat ca semnal de ceas pentru transferul informaţiilor de stare şi a datelor în
timpul testării ''boundary scan".
• TDI (Test Data Input)
Utilizat împreună cu semnalul TCK pentru transferul datelor şi a instrucţiunilor
către dispozitivul PCI prin portul TAP (Test Access Port) sub forma unui şir de biţi,
în mod serial.
• TDO (Test Data Out)
Utilizat împreună cu semnalul TCK pentru transferul datelor de la dispozitivul
PCI prin portul TAP sub forma unui şir de biţi, în mod serial.
• TMS (Test Mode Select)
Utilizat pentru controlul stării controlerului portului TAP.
• TRST (Test Reset)
Utilizat pentru a forţa controlerul portului ŢAP în starea iniţială.
3.5.8.3. Caracteristici ale magistralei PCI

38
SISTEME DE INTRARE – IEŞIRE
Dispozitiv iniţiator şi ţintă
La fiecare transfer participă două dispozitive: iniţiatorul şi ţinta. Iniţiatorul, sau
dispozitivul master, este cel care iniţiază un transfer. Ţinta, sau dispozitivul slave,
este adresat de iniţiator în scopul executării transferului. Dispozitivele iniţiator şi
ţintă sunt numite agenţi 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ă. In timpul fazei
de adrese se transmite adresa de început şi tipul tranzacţiei care urmează.
Dispozitivul ţintă memorează adresa de început într-un contor de adrese, şi va
incrementa adresa în fiecare fază de date. La magistralele EISA şi Micro Channel,
posibilitatea de a utiliza modul exploziv este stabilită printr-o negociere între
dispozitivul master şi cel slave. Dacă unul sau niciunul din acestea nu permite
transferuri în mod exploziv, blocul de date se va transmite utilizând o serie de
tranzacţii separate. Este necesar arbitrajul de magistrală pentru fiecare tranzacţie in-
dividuală. Un alt dispozitiv master poate obţine magistrala între două tranzacţii.
Aceasta poate limita în mod sever rata de transfer.
În cazul magistralei PCI, cele mai multe transferuri se execută în mod exploziv,
cele mai multe dispozitive fiind proiectate astfel încât să permită asemenea
transferuri. Dacă un dispozitiv ţintă poate efectua numai tranzacţii singulare, la
încercarea dispozitivului master de a executa o tranzacţie în mod exploziv, ţinta
termină tranzacţia după prima fază de date. Astfel dispozitivul master va fi obligat să
solicite din nou magistrala printr-un proces de arbitraj. În acest mod performanţele
vor fi mai reduse, dar tranzacţiile singulare se pot utiliza pentru dispozitivele care nu
necesită rate ridicate de transfer.
Presupunând că nici iniţiatorul şi nici dispozitivul ţintă nu inserează stări de
aşteptare, poate fi transferat câte un cuvânt la fiecare front crescător al semnalului de
ceas. La o frecvenţă de 33 MHz, se poate obţine o rată de transfer de 132 MB/s în
cazul implementării pe 32 de biţi, sau 264 MB/s pentru 64 de biţi. Cu o frecvenţă a
ceasului de 66 MHz, se pot obţine rate de transfer de 264 MB/s, respectiv 528 MB/s.

Dispozitive multifuncţionale
Un dispozitiv fi/ic PCI poate fi o componentă integrată pe placa sistem sau o
placă de extensie PCI. Fiecare dispozitiv poate încorpora până la opt funcţii separate,
un asemenea dispozitiv fiind numit multifuncţional.
Ceasul magistralei PCI
Frecvenţa semnalului de ceas poate fi în intervalul de la 0 la 33 MHz.
Specificaţiile versiunii 1.0 indică faptul că toate dispozitivele trebuie să funcţioneze
între 16 şi 33 MHz, recomandând funcţionarea la 0 MHz. Specificaţiile versiunilor
2.x indică faptul că toate dispozitivele trebuie să funcţioneze în intervalul de la 0 la
33 MHz. Funcţionarea la 0 MHz asigură un consum redus de putere şi posibilitatea

39
Capitolul 3 - Magistrale de comunicaţie cu echipemantele periferice
depanării statice. Frecvenţa ceasului se poate modifica în orice moment şi ceasul
poate fi oprit (în starea low).
Versiunea 2.1 defineşte de asemenea funcţionarea la frecvenţe de până la 66
MHz.
3.5.8.4. Tranzacţii
Faza de adrese
Toate tranzacţiile pe magistrala PCI constau dintr-o fază de adrese urmată de
una sau mai multe faze de date. Excepţia o reprezintă tranzacţiile în care se utilizează
adresarea pe 64 de biţi, unde adresa este furnizată în două faze de adrese. O fază de
adrese are durata unei perioade de ceas. În această fază, iniţiatorul identifică
dispozitivul ţintă şi tipul tranzacţiei. Ţinta este identificată prin transmiterea unei
adrese de start pe magistrala de adrese/date în cadrul domeniului de adrese asignat
dispozitivului. Tipul tranzacţiei este identificat prin depunerea tipului comenzii pe
liniile CIBE. Iniţiatorul activează semnalul FRAME pentru a indica prezenţa unei
adrese de start şi tip de tranzacţie 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 când un dispozitiv ţintă
determină faptul că este adresat, trebuie să activeze semnalul DEVSEL , pentru a
revendica tranzacţia. Dacă acest semnal nu va fi activat într-un timp predeterminat,
iniţiatorul va abandona tranzacţia.
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 iniţiator şi
ţintă. Atât iniţiatorul cât şi ţinta trebuie să indice faptul că sunt pregătite 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 aşteptare cu durata unei perioade.
Terminarea tranzacţiei
Iniţiatorul identifică durata totală a unui transfer cu ajutorul semnalului
FRAME. Acest semnal este activat la începutul fazei de adrese şi rămâne activat
până când iniţiatorul este pregătit pentru a termina faza finală de date (activează
IRDY).
Executarea ultimei faze de date este indicată de iniţiator prin dezactivarea
semnalului FRAME şi activarea semnalului IRDY. După terminarea ultimului
transfer, iniţiatorul 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.
40
SISTEME DE INTRARE – IEŞIRE
3.5.8.5. Întreruperi
Magistrala PCI are patru linii pentru cererile de întrerupere, INTA , ..., INTD ;
acestea fac parte din liniile opţionale ale magistralei. Un dispozitiv de I/E cu o
singură funcţie trebuie să utilizeze INTA ca linie pentru cererea de întrerupere;
dispozitivele de I/E multifuncţionale pot utiliza toate cele patru lini. O configuraţie
particulară pe liniile de comandă CIBE [3:0] indică achitarea întreruperii. Liniile
cererilor de întrerupere INTx şi comanda de achitare a întreruperii pot implementa
împreună semnalele necesare în timpul unei tranzacţii de întrerupere pe magistrala
PCI.
Fiecare dispozitiv compatibil PCI trebuie să dispună de un set standard de
registre de configuraţie adresabile CR care identifică dispozitivul. La iniţializare,
sistemul de operare citeşte registrele CR pentru a determina, printre altele,
conexiunile de întrerupere ale dispozitivului de I/E. Registrul "pinului de între-
rupere" de 8 biţi din CR indică linia cererii de întrerupere INTx care este utilizată de
dispozitiv. Un alt registru de 8 biţi din CR, numit registrul "liniei de întrerupere",
specifică linia de intrare a controlerului de sistem care este conectată la linia INTx,
astfel încât rutarea liniilor pentru cererile de întrerupere este pro gramabilă.
Controlerul de sistem poate utiliza această informaţie pentru a determina prioritatea
cererii de întrerupere a dispozitivului de I/E şi pentru accesarea vectorilor săi de
întrerupere. Registrele CR formează un mic spaţiu de adresă care este separat de
spaţiul de adresă al memoriei şi cel de I/E.
3.5.8.6. Registre de configuraţie
Fiecare dispozitiv funcţional PCI dispune de un bloc de 64 cuvinte duble
rezervate pentru implementarea registrelor de configuraţie. Formatul primelor 16
cuvinte duble este predefmit de specificaţiile PCI. Această zonă reprezintă antetul de
configuraţie al dispozitivului. Specificaţiile definesc două formate ale antetului,
numite tipul 0 şi 1. Tipul 1 este definit pentru punţile de legătură între două
magistrale PCI, la sistemele cu mai multe magistrale PCI. Tipul 0 este utilizat de alte
dispozitive, fiind descris în continuare.
Formatul antetului de configuraţie al unui dispozitiv funcţional PCI (diferit de o
punte PCI-PCI) este prezentat în Figura 3. Registrele din acest antet sunt utilizate
pentru identificarea dispozitivului, controlul funcţiilor sale şi detectarea stării
acestuia. Utilizarea celorlalte 48 de cuvinte duble a spaţiului de configuraţie este
specifică dispozitivului.

41
Capitolul 3 - Magistrale de comunicaţie cu echipemantele periferice

Fig. 3. Antetul de configuraţie al unui dispozitiv funcţional PCI


Registrul de identificare a producătorului
Acest registru de 16 biţi, de tip R/O, identifică producătorul dispozitivului
printr-un cod atribuit de o autoritate care controlează atribuirea acestor coduri.
Valoarea FFFFh a codului este rezervată şi trebuie returnată de puntea dintre UCP şi
magistrala PCI atunci când se încearcă citirea registrului de identificare al
producătorului dintr-un dispozitiv inexistent.
Registrul de identificare a dispozitivului
Valoarea de 16 biţi din acest registru este asignată de producător şi identifică
tipul dispozitivului.
Registrul de comandă
Este un registru de 16 biţi, fiind definiţi numai biţii 9-0, ceilalţi biţi fiind
rezervaţi pentru utilizări viitoare. Se descriu funcţiile principale care pot fi specificate
de biţii acestui registru.
• Validarea dispozitivului.
• Validarea accesului la memoria dispozitivului, dacă acesta implementează
o memorie.
• Validarea funcţiei de master a dispozitivului, dacă acesta are

42
SISTEME DE INTRARE – IEŞIRE
posibilitatea de a deveni master.
• Validarea monitorizării ciclurilor speciale PCI. Aceste cicluri se utilizează
pentru a transmite diferite mesaje dispozitivelor ţintă, care pot monitoriza
ciclurile pentru a determina dacă mesajele sunt destinate acestora.

• Actualizarea registrelor de paletă a culorilor ale unei interfeţe VGA fără


confirmarea acceptării datelor (VGA Color Palette Snooping). Această
opţiune este utilă în cazul sistemelor cu două controlere grafice: o
interfaţă compatibilă VGA şi un alt controler grafic. Fiecare din acestea
implementează un set de registre de paletă, care se află la aceleaşi adrese
de I/E. Atunci când procesorul execută o scriere pentru actualizarea
registrelor de paletă, ambele controlere vor recunoaşte adresa şi vor
răspunde prin activarea semnalelor DEVSEL şi TRDY, rezultând o
coliziune pe aceste linii. Programul de configurare trebuie să programeze
unul din controlere ca fiind o destinaţie activă, care răspunde la comenzile
de scriere în registrele de paletă, iar celălalt ca destinaţie pasivă.
Controlerul VGA va răspunde întotdeauna la comenzile de citire a
registrelor de paletă.
• Validarea parităţii. Dacă acest bit este setat, dispozitivul va raporta erorile
de paritate. In caz contrar, erorile de paritate vor fi ignorate.
• Validarea semnalării erorilor de sistem. Dacă acest bit este setat,
dispozitivul poate activa semnalul SERR pentru a indica o eroare de
sistem. Toate dispozitivele care utilizează semnalul SERR trebuie să
implementeze acest bit. Pentru raportarea erorilor de paritate, trebuie ca
acest bit şi bitul de validare a erorilor de paritate să fie setaţi.
După resetare, toţi biţii registrului de comandă sunt setaţi la 0, cu excepţia unui
dispozitiv care trebuie să fie validat în timpul pornirii sistemului, deoarece este
utilizat în procesul de încărcare a sistemului. Prin aceasta dispozitivul este dezactivat,
dar va fi accesibil pentru configurare, urmând să fie validat de programul de
configurare. Dispozitivele care trebuie să fie accesibile la pornire prin adrese fixe
trebuie să implementeze bitul de validare pentru a controla recunoaşterea adreselor
sale fixe. Aceasta permite programului de configurare să invalideze recunoaşterea
adreselor fixe după pornirea sistemului, şi să reconfigureze gama de adrese la care
răspunde dispozitivul.
Registrul de stare
Păstrează starea evenimentelor legate de magistrala PCI. Acest registru poate fi
citit, scrierile fiind tratate diferit de modul obişnuit. La scriere, un bit poate fi şters,
dar nu poate fi poziţionat. Un bit este şters prin scrierea valorii 1. Această metodă a
fost aleasă pentru a simplifica programele. După citirea stării şi determinarea biţilor
de eroare care sunt setaţi, programatorul şterge biţii prin înscrierea valorii citite
anterior din registru. Principalele informaţii conţinute în registrul de stare sunt
următoarele:
43
Capitolul 3 - Magistrale de comunicaţie cu echipemantele periferice
• Frecvenţa de funcţionare
Indică posibilitatea funcţionării la 66 MHz, sau la 33 MHz.
• Posibilitatea definirii unor caracteristici de către utilizator
Deşi programul de configurare poate detecta prezenţa unui dispozitiv şi poate
aloca resursele necesare acestuia (spaţiul de memorie, spaţiul de I/E, nivelul de
întrerupere, nivelul de prioritate pentru arbitraj etc.), unele caracteristici ale anumitor
subsisteme nu pot fi configurate automat atunci când subsistemul este detectat pentru
prima dată. În acest caz se poate indica o listă de opţiuni care pot fi selectate. Un
exemplu îl constituie un adaptor de reţea căruia trebuie să i se asigneze un anumit
identificator de nod al reţelei. La prima instalare, opţiunile vor fi salvate în memoria
nevolatilă şi vor fi utilizate în continuare.
• Raportarea parităţii
Acest bit este implementat numai de dispozitivele master şi este setat în
următoarele condiţii: dispozitivul master a avut rol de iniţiator şi a setat el însuşi
semnalul PERR , sau a detectat setarea acestui semnal de către ţintă (la o scriere). De
asemenea bitul de validare a parităţii din registrul de comandă trebuie să fie setat.

• Abandon de către ţintă


Este un bit setat de către dispozitivul ţintă atunci când aceasta termină o
tranzacţie cu un abandon.
• Recepţionarea abandonului de către ţintă
Acest bit este setat de un dispozitiv master atunci când tranzacţia iniţiată de
acest dispozitiv este terminată printr-un abandon al ţintei curent selectate. Toate
dispozitivele master trebuie să implementeze acest bit.
• Semnalarea unei erori de sistem
Acest bit trebuie setat ori de câte ori un dispozitiv activează semnalul de eroare
SERR.
• Detectarea unei erori de paritate
Acest bit trebuie setat de un dispozitiv atunci când detectează o eroare de
paritate (chiar dacă raportarea erorii de paritate este invalidată).
Registrul de identificare al reviziei
Conţine o valoare de 8 biţi setată de producător, care reprezintă numărul de
revizie al dispozitivului.
Registrul codului de clasă
Este un registru de 24 de biţi, divizat în trei câmpuri, care conţin: clasa de bază,
subclasa şi interfaţa de programare. Acest registru identifică funcţia de bază a
dispozitivului (de exemplu, un controler pentru o memorie de masă), o subclasă mai

44
SISTEME DE INTRARE – IEŞIRE
precisă a dispozitivului (de exemplu, un controler IDE), şi în anumite cazuri, o
interfaţă de programare (ca setul de registre a unui controler VGA).
Registrul tipului de antet
Este un registru de 8 biţi care defineşte prin 7 biţi formatul antetului de
configuraţie. Pe lângă antetul de tip 0, indicat în figură, este definit un singur format,
cel pentru punţile între două magistrale PCI. Alte formate vor fi definite în
specificaţiile viitoare. Bitul 7 al acestui registru indică dacă dispozitivul are o singură
funcţie sau este multifuncţional.

45

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