Documente Academic
Documente Profesional
Documente Cultură
costul redus. Dezavantajul principal este c la apariia unor procesoare mai performante, logica de interfa trebuie reproiectat pentru acestea. De asemenea,
faptul c nu se definete formatul registrelor de configuraie i adresele acestora
nu permite realizarea unor interfee software unitare pentru dispozitivele conectate la magistral.
105
PAR (Parity)
Reprezint semnalul de paritate par pentru liniile AD[31:0] i
C / BE [3:0]. Paritatea este generat de iniiator dup terminarea fazei
de adrese i dup terminarea fiecrei faze de date la o tranzacie de
scriere. Paritatea este generat de inta adresat dup terminarea fiecrei faze de date la o tranzacie de citire.
STOP
Prin activarea acestui semnal dispozitivul int solicit iniiatorului
oprirea tranzaciei n curs n timpul fazei curente de date.
108
n timpul fazelor de date la operaiile de scriere pentru a determina dac inta a detectat o eroare de paritate a datelor.
REQ (Request)
Este activat de iniiator pentru a indica o cerere de magistral. Aceast
linie este conectat la arbitrul de magistral. Metoda de arbitrare a magistralei nu este descris n specificaiile PCI; se pot implementa diferite metode. Este specificat doar faptul c arbitrul de magistral trebuie
s utilizeze un algoritm prin care s se evite blocajele; fiecrui dispozitiv master potenial trebuie s i se permit accesul la magistral.
GNT (Grant)
Este activat de arbitrul de magistral pentru a indica acordarea magistralei pentru iniiator. Atunci cnd detecteaz acest semnal, iniiatorul
trebuie s atepte terminarea tranzaciei n curs de ctre iniiatorul curent.
CLK (Clock)
Reprezint semnalul de ceas utilizat pentru sincronizarea tuturor tranzaciilor, inclusiv a arbitrajului de magistral. Toi parametrii de sincronizare ai magistralei sunt specificai relativ la frontul cresctor al
semnalului de ceas. Frecvena semnalului de ceas se poate modifica n
orice moment, cu condiia s nu existe cereri de magistral i semnalul
LOCK s nu fie activ. De asemenea, ceasul poate fi oprit n starea low
(pentru reducerea puterii consumate).
RST (Reset)
Reprezint semnalul de resetare. Atunci cnd este activat, acest semnal
foreaz trecerea tuturor registrelor de configurare PCI, a dispozitivelor
iniiator i int ntr-o stare de iniializare. n general, semnalele de ieire ale dispozitivelor PCI vor fi trecute n starea de nalt impedan.
Semnalul RST poate fi activat sau dezactivat asincron relativ la frontul semnalului CLK.
109
AD[63:32]
Reprezint extensia la 64 de bii a magistralei de date AD[31:0].
Aceste linii nu sunt utilizate n timpul fazei de adresare a unui transfer
(cu excepia cazului n care se utilizeaz adresarea pe 64 de bii).
C / BE [7:4]
Reprezint extensia semnalelor C / BE [3:0]. Se utilizeaz numai n
timpul fazei de date a unui transfer (cu excepia cazului n care se utilizeaz adresarea pe 64 de bii).
LOCK
Acest semnal este utilizat de ctre un iniiator PCI care solicit accesul
exclusiv la un dispozitiv int de memorie n timpul a dou sau mai
multe tranzacii separate. Acest semnal este prevzut cu scopul de a
permite operaii de citire/modificare/scriere la operaiile cu semafoare.
Dac un dispozitiv PCI conine o memorie executabil sau o memorie
care conine date de sistem (gestionate de sistemul de operare), trebuie
s implementeze aceast funcie de blocare a resurselor.
110
pentru a recunoate cereri de la dispozitivele PCI care urmresc modificarea strii semnalului de ceas. Ceasul nu poate fi oprit dac magistrala nu este liber. naintea opririi (sau micorrii frecvenei) 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 frecvena acestuia urmeaz s fie micorat). Dup
aceasta, logica trece driverul de ieire al semnalului CLKRUN n starea de nalt impedan. Rezistena conectat la linia CLKRUN va
menine acest semnal n starea dezactivat n timpul n care ceasul este
oprit. Ulterior, un dispozitiv master poate solicita repornirea ceasului
n scopul utilizrii magistralei prin activarea semnalului CLKRUN .
3.5.8.4. Tranzacii
Faza de adrese
Toate tranzaciile pe magistrala PCI constau dintr-o faz de adrese urmat de una sau mai multe faze de date. Excepia o reprezint tranzaciile n care se utilizeaz adresarea pe 64 de bii, unde adresa este fur113
nizat n dou faze de adrese. O faz de adrese are durata unei perioade de ceas. n aceast faz, iniiatorul identific dispozitivul int i tipul tranzaciei.
inta este identificat prin transmiterea unei adrese de start pe magistrala de adrese/date n cadrul domeniului de adrese asignat dispozitivului. Tipul tranzaciei este identificat prin depunerea tipului comenzii
pe liniile C / BE . Iniiatorul activeaz semnalul FRAME pentru a indica prezena unei adrese de start i tip de tranzacie valide. Deoarece
adresa de start este prezent numai pe durata unei perioade de ceas, fiecare dispozitiv int trebuie s memoreze adresa pentru a putea fi decodificat ulterior.
Atunci cnd un dispozitiv int determin faptul c este adresat, trebuie
s activeze semnalul DEVSEL , pentru a revendica tranzacia. Dac
acest semnal nu va fi activat ntr-un timp predeterminat, iniiatorul va
abandona tranzacia.
Dup terminarea fazei de adrese, magistrala de adrese/date este utilizat pentru transferul datelor n cadrul unei sau mai multor faze de date.
Faza de date
Pe durata fazei sau fazelor de date are loc transferul datelor ntre iniiator i int. Att iniiatorul ct i inta trebuie s indice faptul c sunt
pregtite pentru terminarea unei faze de date prin activarea semnalelor
IRDY , respectiv TRDY . n cazul n care nu sunt activate ambele
semnale la nceputul unei perioade de ceas, se va insera o stare de ateptare cu durata unei perioade.
Terminarea tranzaciei
Iniiatorul identific durata total a unui transfer cu ajutorul semnalului
FRAME . Acest semnal este activat la nceputul fazei de adrese i rmne activat pn cnd iniiatorul este pregtit pentru a termina faza
final de date (activeaz IRDY ).
Executarea ultimei faze de date este indicat de iniiator prin dezactivarea semnalului FRAME i activarea semnalului IRDY . Dup terminarea ultimului transfer, iniiatorul readuce magistrala n starea
inactiv prin dezactivarea semnalului IRDY .
Arbitrajul de magistral are loc n timp ce un dispozitiv master utilizeaz magistrala. Dac arbitrul de magistral a acordat n prealabil
magistrala unui alt dispozitiv master, acest dispozitiv poate detecta sta114
rata de transfer real prin liniile IRDY i TRDY , care permit inserarea unui
numr oarecare de stri de ateptare dup fiecare ciclu de transfer de date.
Transferul de date nu poate ncepe pn cnd iniiatorul nu activeaz
semnalul IRDY pentru a indica faptul c este pregtit pentru recepionarea datelor (ciclul 2). Dispozitivul int furnizeaz cuvntul 1 de date i semnaleaz
acest lucru prin activarea semnalului TRDY n ciclul 3. Transferul de date are
loc n ciclul 4. n acest exemplu dispozitivul int dezactiveaz imediat linia
TRDY , ciclul 5 devenind o stare de ateptare; apoi reactiveaz TRDY i plaseaz cuvntul 2 de date pe liniile AD pentru a fi transmis n ciclul 6. Dispozitivul int plaseaz apoi cuvntul 3 de date pe liniile AD, cuvnt care va fi
transmis n ciclul 7. De aceast dat, iniiatorul va insera o stare de ateptare
prin dezactivarea semnalului IRDY pe durata unui ciclu de ceas. n consecin,
transferul cuvntului 3 de date este amnat pn n ciclul 8. Iniiatorul dezactiveaz semnalul FRAME n ciclul 7 pentru a indica faptul c urmtorul ciclu
marcheaz sfritul tranzaciei pe magistral. Linia de control DEVSEL este
activat de dispozitivul int n ciclul 2 pentru a indica faptul c acest dispozitiv
a decodificat cu succes adresa i este inta tranzaciei curente. Nici un transfer
de date nu poate avea loc pn n momentul n care semnalul DEVSEL nu este
activ.
O tranzacie de scriere (n care iniiatorul este sursa datelor) este similar cu cea din Figura 3.22. n acest caz ciclul inactiv dup faza de adrese nu
este necesar, deoarece iniiatorul menine n continuare controlul asupra liniilor
AD pe durata tranzaciei.
3.5.8.5. ntreruperi
Magistrala PCI are patru linii pentru cererile de ntrerupere, INTA , ,
INTD ; acestea fac parte din liniile opionale ale magistralei. Un dispozitiv de
I/E cu o singur funcie trebuie s utilizeze INTA ca linie pentru cererea de
ntrerupere; dispozitivele de I/E multifuncionale pot utiliza toate cele patru linii
[6]. O configuraie particular pe liniile de comand C / BE [3:0] indic achitarea ntreruperii. Liniile cererilor de ntrerupere INTx i comanda de achitare a
ntreruperii pot implementa mpreun semnalele necesare n timpul unei tranzacii de ntrerupere pe magistrala PCI.
Fiecare dispozitiv compatibil PCI trebuie s dispun de un set standard
de registre de configuraie adresabile CR care identific dispozitivul. La iniializare, sistemul de operare citete registrele CR pentru a determina, printre altele,
conexiunile de ntrerupere ale dispozitivului de I/E. Registrul pinului de ntre116
rupere de 8 bii din CR indic linia cererii de ntrerupere INTx care este utilizat de dispozitiv. Un alt registru de 8 bii din CR, numit registrul liniei de
ntrerupere, specific linia de intrare a controlerului de sistem care este conectat la linia INTx , astfel nct rutarea liniilor pentru cererile de ntrerupere este
programabil. Controlerul de sistem poate utiliza aceast informaie pentru a
determina prioritatea cererii de ntrerupere a dispozitivului de I/E i pentru accesarea vectorilor si de ntrerupere. Registrele CR formeaz un mic spaiu de
adres care este separat de spaiul de adres al memoriei i cel de I/E.
117
Registrul de comand
Este un registru de 16 bii, fiind definii numai biii 9-0, ceilali bii fiind rezervai pentru utilizri viitoare. Se descriu funciile principale care pot fi specificate de biii acestui registru.
Validarea dispozitivului.
Validarea accesului la memoria dispozitivului, dac acesta implementeaz o memorie.
Validarea funciei de master a dispozitivului, dac acesta are posibilitatea de a deveni master.
Validarea monitorizrii 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.
118
121