Documente Academic
Documente Profesional
Documente Cultură
3.1 Introducere
ş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
Capitolul 3 - Magistrale de comunicaţie cu echipemantele periferice
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.
4
SISTEME DE INTRARE – IEŞIRE
5
Capitolul 3 - Magistrale de comunicaţie cu echipemantele periferice
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.
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
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).
9
Capitolul 3 - Magistrale de comunicaţie cu echipemantele periferice
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ă.
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ă.
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.
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.
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
15
Capitolul 3 - Magistrale de comunicaţie cu echipemantele periferice
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ă.
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
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.
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ţă.
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ă.
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
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.
33
Capitolul 3 - Magistrale de comunicaţie cu echipemantele periferice
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.
• 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.
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
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.
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