Sunteți pe pagina 1din 10

Studiul tipurilor de magistrale 121

Studiul tipurilor de magistrale

1. Obiectivul lucrării

Lucrarea de faţă îşi propune să prezinte o serie de aspecte teoretice şi practice


referitoare la modul de transfer al datelor pe magistrale paralele. Sunt prezentate, de
asemenea, câteva aspecte teoretice legate de structura şi organizarea magistralelor, o
atenţie deosebită acordându-se magistralei procesorului (care poate fi de tip sincron
sau asincron). Aplicaţia constă dintr-un program de simulare realizat în limbajul
Visual C++.

2. Introducere teoretică

2.1. Conceptul de magistrală

Conceptual, magistrala este un mediu comun de comunicaţie între


componentele unui sistem de calcul; fizic este alcătuită dintr-un set de linii de semnal
care facilitează transferul de date şi realizează sincronizarea între componentele
sistemului. În decursul timpului au fost dezvoltate diferite standarde de magistrală,
care au urmărit evoluţia procesoarelor (a unităţilor centrale) şi a necesităţilor de
comunicaţie ale acestora (viteză, mod de transfer, necesităţi de sincronizare şi control
etc.). S-au dezvoltat, de asemenea, magistrale specializate pentru anumite tipuri de
echipamente periferice (SCSI şi EIDE pentru unităţi de disc, console grafice, interfeţe
de măsură şi control). Din acest punct de vedere. în momentul actual se pot distinge
două clase de magistrale:
 magistrale de sistem – dezvoltate mai ales pentru conectarea unităţii
centrale la celelalte componente de bază ale sistemului (de exemplu:
MultiBus, ISA, EISA, PCI);
 magistrale specializate – care încearcă să optimizeze transferul de date cu
un anumit tip de echipamente periferice (VESA, AGP, SCSI, GPIB).

2.2. Elemente definitorii ale magistralei

O magistrală se compune dintr-un set de semnale şi un set de reguli constituite


într-un protocol, care guvernează transferul de informaţii şi accesul la mediul de
comunicaţie. Informaţiile transferate pot fi: date, instrucţiuni şi informaţii de control şi
sincronizare. Protocolul se referă la:
 caracteristicile mecanice: tip de conectori, număr de conectori alocaţi
pentru un slot, formatul modulelor de extensie ataşabile, sertar şi fund de
sertar (rack şi cablajul din spatele acestuia – această structură fiind
specifică magistralelor industriale);
 caracteristicile electrice ale componentelor conectate pe magistrală: nivele
de tensiune, curenţi, încărcare, frecvenţă de lucru, rată de transfer;
 secvenţa de generare a semnalelor necesare pentru efectuarea unui transfer;
 timpii limită pentru diferitele faze ale unui transfer şi timpii de menţinere a
unui anumit semnal;
 intercondiţionările funcţionale şi temporale între diferite tipuri de semnale.
122 Arhitectura sistemelor de calcul – lucrări practice

În accepţiunea clasică, o magistrală se compune din următoarele tipuri de


semnale.
Semnale de date – sunt semnale bidirecţionale utilizate pentru transferul de
date şi instrucţiuni. La un moment dat doar un singur dispozitiv poate să emită pe
liniile de date; numărul liniilor de date (8, 16, 32, 64) determină dimensiunea maximă
a cuvântului de date care poate fi transferat la un moment dat şi, implicit, viteza medie
de transfer a magistralei.
Semnale de adresă – sunt utilizate pentru specificarea adresei modulului
destinaţie sau sursă de date, numărul de linii de adresă determinând spaţiul maxim de
adresare permis de magistrală (de exemplu, 24 linii de adresă determină un spaţiu de
adresare de 224 =16 Mlocaţii).
Semnale de comandă – sunt semnale unidirecţionale generate de CPU (sau
de către alt dispozitiv master), utilizate pentru specificarea direcţiei de transfer (de
exemplu, semnale de citire sau scriere pentru CPU) şi a tipului de modul adresat (de
memorie sau modul I/O, de memorie program, controler de întrerupere etc.).
Semnale de control – sunt semnale de utilizate pentru reglarea condiţiilor de
transfer al datelor (temporizarea deschiderii şi închiderii amplificatoarelor de
magistrală pentru semnalele vehiculate pe aceasta).
Semnale de întrerupere – sunt generate de un controler dedicat, permit
semnalizarea unor evenimente interne sau externe şi implicit determină întreruperea
execuţiei programului curent.
Semnale de tact (de ceas) – sunt generate de un oscilator cu cuarţ, fiind
folosite pentru sincronizare şi pentru generarea unor semnale de frecvenţă
programabilă.
Linii de alimentare – sun generate de sursa de tensiune a sistemului, fiind
folosite pentru alimentarea modulelor sistemului.
Semnale de control a accesului – sunt utilizate pentru arbitrarea şi controlul
accesului pe magistrală (în cazul magistralelor multimaster), fiind generate de un
circuit specializat (arbitru de magistrală).
Numărul şi semnificaţia particulară a semnalelor depind de tipul şi destinaţia
magistralei. Anumite grupe de semnale din cele prezentate pot să lipsească (de
exemplu, semnalele de control) sau altele noi pot fi adăugate (semnalele de eroare,
semnalele de control al lăţimii datelor transferate pe 8 sau pe 16 biţi etc.).
Magistralele pot fi clasificate în funcţie de mai multe criterii.
I. modul de lucru (în raport cu semnalul de tact):
 magistrale sincrone – la care ciclurile de transfer sunt direct corelate cu
semnalul de tact. Viteza de transfer este mai mare, însă rata de transfer a
magistralei este limitată de frecvenţa tactului. Datorită vitezei limitate de
propagare a semnalului electric, creşterea ratei ar duce la diferenţe de fază
la capetele magistralei.
 magistrale asincrone – la care nu există o legătură directă între evoluţia
în timp a unui ciclu de transfer şi tactul sistemului. Majoritatea
magistralelor actuale lucrează pe acest principiu (de exemplu, ISA, EISA,
MultiBus).
II. numărul de module master conectate pe magistrală:
 magistrale unimaster – există un singur modul master pe magistrală. Nu
necesită mecanisme de arbitrare a magistralei (un modul master poate
iniţia un ciclu de transfer, pe când un modul slave poate fi comandat în
timpul unui ciclu de transfer, neavând elementele necesare pentru a prelua
controlul magistralei).
Studiul tipurilor de magistrale 123

 magistrale multimaster – permit conectarea mai multor module master


pe acelaşi tronson de magistrală. Magistrala trebuie să conţină semnale de
arbitrare şi un protocol de transfer al controlului pe magistrală (de
exemplu, MultiBus, VME).
III. modul de realizare al transferului de date:
 magistrale cu transfer prin cicluri (magistrale secvenţiale) – regula de
bază: ciclurile de transfer se desfăşoară secvenţial, la un moment dat cel
mult un ciclu de transfer fiind în curs de desfăşurare. Majoritatea
magistralelor folosesc acest principiu de transfer.
În funcţie de direcţia de transfer se disting şase cicluri semnificative:
 cicluri de citire (respectiv scriere) din/în memorie;

 cicluri de citire (respectiv scriere) de la/la un port intrare-ieşire;

 cicluri de acces direct la memorie (citire/scriere).

 magistrale tranzacţionale – transferul de date se efectuează prin tranzacţii.


O tranzacţie este divizată în mai multe faze. Mai multe tranzacţii se pot
desfăşura simultan, cu condiţia ca tranzacţiile să fie în faze diferite; această
restricţie provine din faptul că fiecare fază a unei tranzacţii foloseşte un
subset din mulţimea semnalelor magistralei. Teoretic, la aceste magistrale
factorul de creştere a vitezei (în comparaţie cu o magistrală secvenţială)
este egal cu numărul de faze în care se divide o tranzacţie (de exemplu,
magistrala procesorului Pentium).
IV. numărul semnalelor utilizate în transferul de date:
 magistrale seriale – se utilizează rar ca mijloc de comunicaţie între
componentele de bază ale unui calculator (CPU, memorie, interfeţe de I/O
etc.), datorită vitezei de transfer relativ scăzute. Se folosesc, totuşi, în
anumite sisteme dedicate bazate pe microcontrolere, la care costul şi
dimensiunea redusă sunt parametri definitorii (de exemplu, magistrala
USB).
 magistrale paralele – cele mai răspândite.
În continuare se va face referire la magistralele paralele.

2.3. Magistrala procesorului

Magistrala procesorului este calea de comunicaţie între CPU (unitatea centrală


de prelucrare) şi cipurile cu care lucrează direct. Această magistrală este folosită
pentru a transfera date, de exemplu între CPU şi memoria cache externă. Cele mai
multe sisteme au un cache extern pentru CPU; aceste memorii cache sunt în general
folosite în toate sistemele care utilizează cipuri 486, Pentium, Pentium Pro sau
ulterioare.
Deoarece scopul magistralei procesorului este transmiterea şi primirea datelor
de la CPU cu cea mai mare viteză posibilă, această magistrală lucrează la o viteză
mult mai mare decât orice altă magistrală din sistem: aici nu există strangulări.
Magistrala este compusă din linii de semnal utilizate pentru date, pentru adrese şi
pentru comenzi.
Magistrala procesorului lucrează la aceeaşi frecvenţă cu cea a ceasului de bază
ca CPU în exterior. Acest lucru poate conduce la concluzii greşite deoarece cele mai
multe procesoare actuale utilizează o frecvenţă de lucru internă mult mai mare decât a
oricărei magistrale din sistem. Pentru a determina viteza de transfer pe magistrala
procesorului, se multiplică lăţimea datelor cu frecvenţa ceasului magistralei (aceeaşi
cu frecvenţa ceasului de bază al procesorului).
124 Arhitectura sistemelor de calcul – lucrări practice

Această viteză de transfer, adesea numită lărgime de bandă a magistralei,


reprezintă o valoare maximă. Ca toate valorile maxime, această viteză nu reprezintă
lărgimea de bandă în funcţionarea normală; va rezulta o valoare medie mai scăzută a
vitezei transferului de date. Alţi factori de limitare, cum ar fi proiectarea setului de
cipuri, viteza memoriei şi altele, contribuie la scăderea lărgimii de bandă efective.
Între unităţile sau circuitele conectate la magistrală se disting unităţi de tip
master, care au iniţiativa comunicării pe magistrală, şi unităţi de tip slave, care
răspund la iniţiativa de comunicare a master-ului.

2.3.1. Magistralele sincrone

Din punct de vedere al cadenţei schimbului de date care are loc pe magistrală
există arhitecturi sincrone şi asincrone. Magistrala sincronă dispune de o linie de ceas
comandată de un oscilator cu cuarţ. Toate operaţiile de pe o magistrală sincronă sunt
efectuate într-un număr întreg de perioade de ceas. În figura 1 este prezentat modul de
lucru al magistralei sincrone în cazul operaţiei de citire a unui cuvânt din memorie.

Fig. 1. Schema accesului la magistrala sincronă.

Notaţii:
 Ø – semnal de ceas real (de exemplu, un ciclu de ceas TC = 250 ns);
 MREQ – cerere acces memorie (Memory Request);
 RD – citire (Read);
 TML – timp de stabilire a adreselor înainte de MREQ (> 60 ns; de exemplu,
la o frecvenţa de ceas 4 MHz se acceptă un timp de creştere de 10 ns);
 TM – activarea semnalului MREQ faţă de frontul descrescător în ciclul T1
(< 85 ns);
Studiul tipurilor de magistrale 125

 TRL – activarea semnalului RD faţă de frontul descrescător în ciclul T1


(< 85 ns);
 TDS – date disponibile înainte de frontul descrescător în ciclul T3
(> 50 ns);
 TMH – tranziţia semnalului MREQ după frontul descrescător în ciclul T3
(< 85 ns);
 TRH – tranziţia semnalului RD faţă de frontul descrescător în ciclul T3
(< 85ns);
 TDH – menţinerea datelor după ridicarea semnalului de date
(după comutarea lui RD, > 0).
Începutul ciclului T1 este marcat de frontul crescător al semnalului Ø. În prima
parte a ciclului T1 procesorul plasează pe magistrala de adrese adresa care se doreşte a
fi citită din memorie. Poziţionarea adresei pe magistrală corespunde activării mai
multor semnale binare care formează adresa. După stabilirea adresei pe magistrală,
devin active semnalele MREQ şi RD. MREQ indică prin activarea sa că se efectuează
un acces la memorie şi nu un acces la dispozitivele I/O. RD defineşte prin activarea sa
o operaţie de citire din memorie.
În timpul ciclului T2 nu are loc nicio modificare pe magistrală pentru a permite
memoriei decodificarea adresei de pe magistrala de adrese şi poziţionarea informaţiei
cerute pe magistrala de date.
În timpul ciclului T3, pe frontul descrescător al semnalului de ceas,
microprocesorul captează şi înregistrează într-un registru intern informaţia prezentă pe
magistrală. Odată terminată această operaţiune, procesorul pune în repaus semnalele
MREQ şi RD (le ridică în 1).
Dacă este nevoie mai departe de o altă operaţie de citire sau scriere, aceasta
poate începe pe frontul crescător al următorului ciclu de ceas. Dacă memoria nu este
capabilă să plaseze datele pe magistrală în timpul cerut (să fie respectat T DS), atunci
memoria activează un semnal de wait, prin care cere prelungirea timpului de citire.
Stările de wait, care sunt generate de surplusul de viteză a procesorului în comparaţie
cu viteza memoriei, încetinesc viteza calculatorului.
Avantaj: funcţionare relativ simplă.
Dezavantaje:
1. orice operaţie pe magistrală corespunde unui număr întreg de perioade de
ceas, ceea ce conduce la o funcţionare suboptimală din punct de vedere al
vitezei de lucru, datorată faptului că o operaţie care durează 3,1 perioade
de ceas va fi realizată în 4 perioade de ceas, chiar dacă memoria poate să
răspundă mai repede;
2. magistrala sincronă evoluează dificil odată cu procesul tehnologic de
realizare a componentelor, datorită faptului că prin utilizarea unor memorii
de viteză mai mare nu se poate reduce durata unei operaţii de citire-scriere
până când nu este modificată frecvenţa ceasului care guvernează
magistrala.
Concluzie. Pentru a conecta în mod optim un ansamblu de circuite la
magistrală, este preferată arhitectura asincronă.

2.3.2. Magistralele asincrone

În acest caz nu este necesară existenţa unui semnal de ceas care să supervizeze
transferul. Deci durata unei operaţiuni pe magistrală este variabilă, în funcţie de
performanţele circuitelor utilizate.
126 Arhitectura sistemelor de calcul – lucrări practice

În figura 2 este prezentat modul de lucru al magistralei asincrone în cazul


operaţiei de citire a unui cuvânt din memorie.

Fig. 2. Schema accesului la magistrala asincronă.

MSYN (Master Synchronization) şi SSYN (Slave Synchronization) sunt


semnalele de sincronizare care asigură respectarea ordinii diverselor momente din
operaţiunea de citire. De obicei, master este UC şi slave este memoria.
După ce adresa cuvântului este depusă pe magistrala de adrese de către UC şi
după ce semnalele MREQ şi RD devin active, UC activează semnalul MSYN care
comunică memoriei începerea operaţiei de citire.
Memoria efectuează citirea la viteză proprie, iar după depunerea pe magistrală
a informaţiei cerute activează semnalul SSYN. Acest semnal informează procesorul că
datele cerute sunt valide pe magistrală.
Procesorul încarcă datele în registrele interne, după care dezactivează
semnalele MREQ, RD şi MSYN. Dezactivarea lui MSYN este sesizată de memorie,
care pune în repaus SSYN şi eliberează magistrala de date. Astfel s-a ajuns din nou la
starea iniţială şi rezultă că poate începe o altă operaţie pe magistrală.
Ansamblul semnalelor de mai sus, cu ajutorul cărora se efectuează transferul
datelor, corespunde tehnicii full handshake (tehnica acordului confirmat), care
include următoarele operaţii:
 activarea lui MSYN;
 activarea lui SSYN ca răspuns la MSYN;
 dezactivarea lui MSYN ca răspuns la SSYN;
 dezactivarea lui SSYN ca răspuns la MSYN.
Observaţie. Această tehnică este total independentă de timp. Fiecare
eveniment din succesiune este cauzat de evenimentul precedent. De aceea
dispozitivele conectate la o magistrală asincronă pot fi uşor înlocuite cu alte
dispozitive mai performante pe măsură ce tehnologia avansează. În consecinţă,
avantajul folosirii magistralei asincrone apare evident în comparaţie cu magistrala
sincronă.
Pe o magistrală sincronă UC îşi poziţionează semnalele, iar memoria sau
circuitele I/O nu fac altceva decât să răspundă la solicitările UC fără a fi necesară o
sincronizare cu aceasta. Astfel, simplitatea magistralei sincrone constă în lipsa
semnalelor MSYN şi SSYN.
Studiul tipurilor de magistrale 127

3. Descrierea aplicaţiei

Aplicaţia constă în simularea pe calculator (realizată în limbajul Visual C++) a


modului de transfer al datelor pe magistrala procesorului. La rularea programului,
utilizatorul poate opta pentru unul din cele două moduri în care va funcţiona
magistrala, sincron sau asincron, sau poate părăsi programul (prin butonul „Exit”).
Această fereastră de dialog va putea fi reapelată la comanda utilizatorului. De
asemenea, modul de lucru al magistralei poate fi ales şi din meniul „Opţiuni” (de tip
pop-up), fără a mai fi nevoie de apelarea ferestrei de start. Odată selectat modul de
lucru, vor fi afişate formele de undă corespunzătoare cazului selectat (vezi fig. 3 şi 4).

Fig. 3. Exemplu de funcţionare a magistralei în modul sincron.

Fig. 4. Exemplu de funcţionare a magistralei în modul asincron.


128 Arhitectura sistemelor de calcul – lucrări practice

Atenţie: aceste forme de undă nu vor fi afişate integral din primul moment, ci
pas cu pas, la comanda utilizatorului (folosind butoanele „Înainte” şi Înapoi”), care
astfel poate parcurge secvenţial momentele importante ale transferului datelor pe
magistrală (comutarea fronturilor de undă, disponibilitatea datelor, determinările între
semnale etc.). La fiecare astfel de moment, în bara de proprietăţi a ferestrei aplicaţiei
se afişează denumirea fazei curente în care se află transferul de date de pe magistrală.
Există, de asemenea, posibilitatea de scalare (zoom) a imaginii la dimensiunea
dorită de utilizator, aceasta realizându-se în mod automat, la mărirea sau micşorarea
dimensiunii ferestrei de lucru (cu mouse-ul, din orice colţ sau latură a ferestrei).
În cazul modului de lucru sincron, utilizatorul dispune de o listă de parametri
editabili în limita anumitor valori permise, conform exemplului din figura 5.

Fig. 5. Exemplu de stabilire a parametrilor de lucru ai magistralei în modul sincron.

Aceste valori sunt:


 formatul logic al cipului de memorie: EDO-RAM, SDRAM, DDRAM,
RAMBus.
 parametrii ceasului magistralei: perioada (exprimată în zeci de picosecunde),
frecvenţa (exprimată în MHz), durata fronturilor sau a intervalelor de
creştere/descreştere (exprimată în nanosecunde). Atenţie: modificarea unuia
dintre aceşti parametri atrage după sine modificarea tuturor celorlalţi
parametri.
 parametrii timpilor de comutaţie: TML, TM, TRL, TDS, TMH, TRH, TDH (exprimaţi în
zeci de picosecunde);
 restricţiile de ordin superior şi/sau inferior la care sunt supuse valorile alese la
punctul anterior, în funcţie de parametrii ceasului magistralei.
Studiul tipurilor de magistrale 129

Pentru valorile din această fereastră, există un set de butoane „Ajutor”, cu


ajutorul cărora se pot afla amănunte despre parametrii ceasului magistralei, timpii de
comutaţie, cât şi despre condiţionările reciproce dintre aceste valori.
Observaţie. Pentru o mai bună urmărire a momentelor şi intervalelor de timp
implicate în cele două forme de undă, la reprezentarea grafică s-au folosit culori
diferite pentru fiecare semnal în parte.

4. Desfăşurarea lucrării

1. Se lansează în execuţie programul Magistrale.exe.


2. Se selectează tipul de magistrală.
3. Se studiază cazul magistralei sincrone.
3.1. Se editează mai întâi lista de parametri, alegându-se valorile dorite,
care se vor reţine într-un tabel. Se recomandă să se parcurgă toate
tipurile cipurilor de memorie, precum şi plaje largi ale valorilor
pentru ceasul magistralei şi pentru timpii de comutaţie. Observaţie.
La încărcarea programului, există deja un set de parametri impliciţi
gata setaţi.
3.2. Se vizualizează şi se desenează formele de undă rezultate, punându-se
în corespondenţă cu tabelele de parametri care au fost notate la
punctul anterior.
3.3. Pentru fiecare situaţie studiată, se urmăreşte numărul de cicluri de
ceas în care sunt disponibile datele, precum şi întârzierea datorată
neconcordanţei dintre timpul de răspuns al memoriei şi momentul
apariţiei frontului descrescător al semnalului de ceas.
4. Se studiază cazul magistralei asincrone, pentru care se vizualizează şi se
desenează formele de undă rezultate, notându-se modul de înlănţuire al
semnalelor.
5. Se realizează o comparaţie între cele două tipuri de magistrale din punctul
de vedere al vitezei de lucru şi al complexităţii semnalelor implicate.

5. Întrebări

1. Cum este influenţată durata procesului de transfer al datelor pe magistrală


de către viteza de răspuns a memoriei, în cazul magistralei sincrone? Dar în cazul
magistralei asincrone?
2. Cum reacţionează procesorul, în cazul în care datele nu sunt furnizate de
memorie în timp util?
3. Pentru magistrala sincronă, în ce condiţii apar cele mai mari decalaje între
durata efectivă a unui transfer şi durata reală a procesului respectiv, în comparaţie cu
aceeaşi situaţie tratată de magistrala asincronă? Dar cele mai mici decalaje? Pot fi
aceste decalaje nule?
4. În ce raport se află durata frontului semnalului de ceas faţă de perioada
acestuia?
5. Cum poate fi corect relaţionată perioada semnalului de ceas în funcţie de
tipul cipurilor de memorie folosite?
6. La care dintre cele două tipuri de magistrale efectul progresului tehnologic
se resimte mai puternic în îmbunătăţirea performanţelor?
130 Arhitectura sistemelor de calcul – lucrări practice

7. Care sunt metodele prin care se poate obţine o rată de transfer superioară
pe magistrală, în cazul ambelor tipuri studiate?
8. Prezentaţi comparativ avantajele şi dezavantajele celor două tipuri de
magistrală.
9. În ce situaţii este preferat un anume tip de magistrală dintre cele două
studiate şi de ce?
10. Care credeţi că este tipul de magistrală cel mai răspândit în cazul
procesoarelor actuale? Justificaţi.
11. Propuneţi ameliorări ale programului de simulare.

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