Sunteți pe pagina 1din 10

Structura i arhitectura calculatoarelor

CAPITOLUL

Magistrale de comunicaie

Funcionarea corespunztoare a unui CN nu poate fi conceput fr


interconectarea subsistemelor componente. n modelul clasic de CN propus de
von Neummann, comunicaia dintre componentele sistemului se realizeaz prin
legturi dedicate ntre perechi de componente. Aceast abordare este relativ
rigid, limitnd extinderea (scalabilitatea) sistemului. Adugarea de noi
componente este dificil i la modificarea celor existente.
Soluionarea acestei probleme a venit din partea firmei Digital
Equipment Corporation (DEC) care la sfritul anilor 60 a lansat calculatorul
PDP 11 ce a fost primul CN realizat n jurul unei magistrale magistrala
Unibus.

3.1. Elemente definitorii ale unei magistrale


Din punct de vedere conceptual, magistrala (M) reprezint un mediu
comun de comunicaie ntre componentele unui sistem de calcul. Fizic, M este
alctuit dintr-un set de linii de semnal care faciliteaz transferul de date i
sincronizarea ntre componentele sistemului.
n prezent pot fi identificate dou clase mari de M i anume:
magistrale de sistem, dezvoltate pentru conectarea UCP la celelalte
componente ale sistemului (exemplu: MULTIBUS, ISA, EISA, PCI);
magistrale specializate, destinate optimizrii transferului de date cu un
anumit tip de echipamente periferice (exemplu: VESA, SCSI, GPIB).
O magistral se compune dintr-un set de semnale i un set de reguli care
guverneaz transferul de informaii i accesul la mediul de comunicaie.
Informaiile pot fi: date, adrese, informaii de control i sincronizare.
Regulile se refer la:
caracteristicile fizice i electrice ale componentelor conectate pe
magistrale (exemplu: niveluri de tensiune, cureni, ncrcare, tip conectori etc.);
secvena de generare a semnalelor necesare pentru efectuarea unui
transfer;
Capitolul 3

97

Structura i arhitectura calculatoarelor

timpi limit pentru diferitele faze ale unui transfer i timpi de


meninere a unui anumit semnal;
intercondiionrile funcionale i temporale ntre diferite tipuri de
semnale.
n funcie de numrul semnalelor utilizate pentru transferul de date, M
pot fi de dou tipuri:

magistrale seriale (MS);

magistrale paralele (MP).


MS se utilizeaz rar ca mijloc de comunicaie ntre componentele de
baz ale unui CN (UCP, memorie, interfee de I/E), datorit vitezei de transfer
relativ sczute.
ntruct M aferente unui CN sunt practic n exclusivitate MP, n
continuare se vor face referiri doar la aceste tipuri de M. n accepiunea clasic,
o asemenea magistral transfer urmtoarele tipuri de semnale:

semnale de date
- semnale bidirecionale utilizate pentru transferul de date i de
instruciuni;
- la un moment dat o singur unitate poate s emit pe liniile de date;
- numrul liniilor de date (8, 16, 32, 64,) determin dimensiunea
maxim a cuvntului de date care poate fi transferat la un moment dat i,
implicit, viteza medie de transfer al magistralei;

semnale de adres
- semnale unidirecionale utilizate pentru specificarea adresei modulului
destinaie sau surs;
- numrul de linii de adres determin spaiul maxim de adresare permis
de magistral (de exemplu, o magistral cu 24 linii de adres permite adresarea
ntr-un spaiu cu 224=16 Mlocaii);

semnale de comand utilizate pentru specificarea direciei


de transfer (exemplu dinspre sau spre procesor) i a tipului de modul adresat
(exemplu: modul de memorie, modul de I/E, etc.);

semnale de control utilizate pentru gestiunea condiiilor de


transferare a datelor (exemplu: temporizarea deschiderii i nchiderii
amplificatoarelor de magistral);

semnale de ntrerupere permit semnalizarea unor


evenimente interne sau externe i, implicit, determin ntreruperea execuiei
programului curent;

semnale de tact utilizate pentru sincronizare i pentru


generarea unor semnale de frecven prestabilit;

Capitolul 3

98

Structura i arhitectura calculatoarelor

semnale de control al accesului folosite pentru arbitrarea i


controlul accesului pe magistral (n cazul magistralelor multimaster);

semnale de alimentare folosite pentru alimentarea


modulelor sistemului.
Magistralele pot fi clasificate dup mai multe criterii i anume:
a.
dup modul de lucru (n raport cu semnalul de tact):
- magistrale sincrone la care ciclurile de transfer sunt direct
corelate cu semnalul de tact.
- magistrale asincrone la care nu exist o legtur direct ntre
evoluia n timp a unui ciclu de transfer i tactul sistemului (majoritatea
magistralelor actuale ISA, EISA, MULTIBUS etc. lucreaz pe acest
principiu).
b.
dup numrul de uniti master conectate la
magistral:
- magistrale unimaster exist un singur modul master pe
magistral i, n consecin, nu este necesar un mecanism de arbitrare (modul
master poate iniia un transfer cu magistrala, modul slave modul care poate
fi comandat n timpul unui ciclu de transfer, neavnd elemente pentru controlul
magistralei);
- magistrale multimaster permit conectarea mai multor uniti
master pe acelai tronson de magistral; n acest sens magistrala va trebui s
conin semnale de arbitrare i un protocol de transfer al controlului pe
magistral (exemplu MULTIBUS).
c.
dup modul de realizare a transferului de date:
- magistrale cu transfer prin cicluri (secveniale) ciclurile de
transfer se desfoar secvenial, la un moment dat cel mult un ciclu este n
desfurare (majoritatea M folosesc acest principiu de transfer);
- magistrale tranzacionale transferul de date se desfoar prin
tranzacii (o tranzacie este divizat n mai multe faze, iar mai multe tranzacii se
pot desfura simultan cu condiia s se afle n faze diferite).

3.2. Magistrale sincrone


Dup cum s-a menionat, la aceste magistrale ciclurile de transfer sunt
direct corelate cu semnalul de tact. Pentru a explica modul n care se realizeaz
transferul vom considera o M la care citirea unui cuvnt din memorie necesit
trei cicluri magistral T1, T2, T3 cu o durat 3T, T fiind perioada ceasului (figura
3.1).
n ciclul T1, UCP depune adresa cuvntului pe liniile de adrese. Dup
stabilizarea adresei la noua valoare, se activeaz semnalele MREQ (Memory
Capitolul 3

99

Structura i arhitectura calculatoarelor

REQuest cerere acces la memorie) i RD (ReaD operaie de citire). Memoria


decodific adresa n ciclul T2 i depune data pe magistral n ciclul T3. Pe frontul
descresctor al ceasului din ciclul T3, UCP strobeaz (citete) liniile de date,
memornd valoarea ntr-un registru intern. Dup citire, UCP dezactiveaz
semnalele MREQ i RD , dup care de la frontul cresctor al ceasului poate
ncepe un nou ciclu.
Semnificaiile timpilor marcai n figura 3.1 sunt urmtoarele:
- TAD este intervalul de timp de la nceputul ciclului T1 pn la depunerea
adresei (este limitat superior);
- TDS (Data Setup) intervalul de la depunerea datei pn la frontul
descresctor al ceasului din ciclul T3 (este limitat inferior);
Ciclu de citire

T3

T2

T1

TAD
Adresa

ADR

TDS
Data

DATA
TML

MREQ
TM

RD
TRL

TMH

TRH
TDH

Fig. 3.1. Ciclul de citire la o magistral sincron.

- TM - intervalul de la depunerea adresei pn la activarea semnalului


MREQ (este limitat inferior); acest timp este important dac semnalul MREQ se
utilizeaz la selecia circuitului de memorie, deoarece anumite memorii necesit
un timp de stabilizare a adresei pn la selecie;
- TML, TRL intervalele de la frontul descresctor al ceasului din ciclul T1
pn la activarea semnalelor MREQ , respectiv RD (cei doi timpi sunt limitai
superior pentru ca astfel cele dou semnale s fie activate ntr-un anumit timp de
la mijlocul ciclului T1);

Capitolul 3

100

Structura i arhitectura calculatoarelor

- TMH, TRH timpii dup care trebuie dezactivate semnalele MREQ i RD


dup citirea datei (limitate superior);
- TDH timpul ct trebuie meninut data pe magistral dup
dezactivarea semnalului RD .
Pe lng ciclurile de citire i scriere, unele M permit i transferuri pe
blocuri. Dac se lanseaz o cerere de citire a unui bloc, dispozitivul master
indic celui slave numrul de octei care urmeaz a fi transferai (de exemplu n
ciclul T1). Dispozitivul slave transmite un octet n timpul fiecrei ciclu, pn
cnd contorul asociat transferului ajunge la zero.
Magistralele sincrone prezint unele dezavantaje cum ar fi:
- posibile ntrzieri n situaia n care un transfer nu se termin dup un
numr ntreg de cicluri (trebuie s se atepte sfritul de ciclu);
- existena unei unice viteze (dac la o M se conecteaz dispozitive cu
viteze diferite, viteza trebuie aleas dup dispozitivul cel mai lent, cele rapide n
raport cu acesta fiind ntrziate);
- dup alegerea duratei unui ciclu de magistral este dificil s se utilizeze
dispozitive cu mbuntirile tehnologice (de exemplu, dac n timp vor fi
disponibile memorii mai rapide, cu toate c vor putea fi utilizate, ele vor
funciona la aceeai vitez ca i cele vechi, deoarece protocolul M cere ca
memoria s depun datele cu TDS naintea frontului cztor al ceasului din ciclul
T3.

3.3. Magistrale asincrone


Magistralele asincrone elimin neajunsurile celor sincrone, deoarece n
locul semnalului de ceas se utilizeaz un protocol logic ntre emitor i receptor
(handshake). n figura 3.2 este ilustrat diagrama aferent unui protocol de
citire din memorie.
ADR

Adresa

MREQ
RD

MSYN
DATA

Data

SSYN

Fig. 3.2. Operaie de citire la o magistral asincron.

Capitolul 3

101

Structura i arhitectura calculatoarelor

Pentru operaia de citire, dup depunerea adresei i activarea semnalelor


MREQ i RD , dispozitivul master activeaz semnalul MSYN (Master
SYNchronization). Dup detectarea acestui semnal, dispozitivul slave depune
data i activeaz apoi semnalul SSYN (Slave SYNchronization) semnalnd
disponibilitatea datei.
Dispozitivul master detecteaz activarea semnalului SSYN , memoreaz
data i apoi dezactiveaz liniile de adrese, mpreun cu semnalele MREQ , RD i
MSYN , dezactivarea acestuia din urm marcnd terminarea ciclului.
Dispozitivul slave detecteaz dezactivarea lui MSYN i, la rndul su,
dezactiveaz i invalideaz datele, ajungndu-se n starea iniial cu toate
semnalele dezactivate n ateptarea unui nou ciclu.
Sintetic, aciunile aferente protocolului sunt:
1.
se activeaz MSYN ;
2.
se activeaz SSYN ca rspuns la activarea lui MSYN ;
3.
MSYN este dezactivat ca rspuns la activarea lui SSYN ;
4.
SSYN este dezactivat ca rspuns la activarea lui MSYN .
Cu toate c magistralele asincrone rezolv o parte din neajunsurile M
sincrone, n multe cazuri sunt preferate acestea din urm, deoarece ele necesit
mai puine linii, realizarea este mai simpl i, n consecin, sunt mai ieftine.

3.4. Arbitrarea i parcarea magistralelor


3.4.1. Arbitrarea magistralelor
Magistrala de comunicaie este o resurs de comunicaie la care au
dreptul i de care trebuie s beneficieze toate subsistemele unui CN. Un modul
care iniiaz la un moment dat un transfer pe M se numete modul master. n
condiiile n care n structura unui CN exist mai multe module care pot prelua
controlul M, trebuie s existe un mecanism care s determine modulul care
urmeaz a deveni master la un moment dat. Acest mecanism este cunoscut sub
numele de arbitrarea magistralei, care poate fi centralizat sau descentralizat
(distribuit).
Arbitrarea centralizat presupune existena unui dispozitiv hardware
(care poate face parte sau nu din UCP) numit arbitru de magistral (figura 3.3).
Cerere magistral (CM) Bus Request

Fig. 3.3. Schema de


principiu a
arbitrrii centralizate.

Arbitru
Acordare
magistral
(AM)

D1

Capitolul 3

D2

D3

D4

102

Structura i arhitectura calculatoarelor

Acest tip de arbitrare corespunde unei scheme de tip daisy chain lan
de margarete i se caracterizeaz printr-o singur linie de cerere a magistralei de
tip SAU cablat (modulele master D1 D4 sunt conectate n paralel). Prioritatea
modulelor este dat de distana la care acestea se afl fa de arbitru (cel mai
apropiat modul avnd cea mai ridicat prioritate).
Linia de cerere poate fi activat de unul sau mai multe module n orice
moment, dar arbitrul nu poate distinge dac exist mai multe cereri simultane
sau una singur. n situaia n care linia CM este activat, arbitrul activeaz linia
de acordare magistral AM, semnalul de activare fiind detectat de elementul cel
mai apropiat (D1). Dac acesta a lansat cererea atunci preia controlul M fr s
propage semnalul mai departe. Dac nu a efectuat o astfel de cerere, semnalul
este transferat urmtorului modul care procedeaz la fel, pn cnd un modul
preia controlul magistralei.
O soluie de modificare a acestor prioriti implicite const n utilizarea
de M cu mai multe niveluri de prioritate, pentru fiecare nivel existnd cte o
linie CM respectiv AM. O asemenea soluie pentru dou niveluri este ilustrat n
figura 3.4. Fiecare modul se conecteaz la cte o linie de prioritate (D1 i D2 la
nivelul 1 iar D3 i D4 la nivelul 2). Dac exist cereri simultane arbitrul va emite
semnalul de acordare pe linia cea mai prioritar. n cadrul aceleiai linii
prioritatea se stabilete prin nlnuire (ca n cazul precedent). Concret, dac
pentru exemplul din figura 3.4 linia 2 este prioritar, atunci ordinea prioritii
pentru dispozitive va fi D3 , D4 , D1 , D2 .
Din punct de vedere funcional nu este necesar cablarea liniei AM de
nivel 2 i prin dispozitivele D1 i D2 care utilizeaz linia 1. Din motive ns de
simplificare a conexiunilor se cableaz toate liniile AM prin toate dispozitivele.
Cerere nivel 1
Cerere nivel 2

Arbitru Acordare nivel 2


Acordare nivel 1

D1

D2

D3

D4

Fig. 3.4. Arbitrare centralizat cu dou niveluri de prioritate.

Un exemplu n care se utilizeaz arbitrarea centralizat este Multibus


(Standard IEEE 796), magistral elaborat de firma Intel pentru sisteme mono
sau multiprocesor. Aceast M permite pn la 16 module master, admind att
arbitrare centralizat, ct i descentralizat. n figura 3.5 se prezint maniera de
arbitrare centralizat pentru 3 module.

Capitolul 3

103

Structura i arhitectura calculatoarelor

Master 1
BPRN BREQ

Master 2
BPRN BREQ

Master 3
BPRN BREQ

1 Logic 1
2
de
2
3 prioriti 3

Fig. 3.5. Schema de arbitrare centralizat a magistralei Multibus.

Dup cum se observ, fiecare modul master are cte o linie de solicitare
a magistralei BREQ (Bus REQuest) i una de acordare a acesteia BPRN (Bus
PRiority iN), conectate la un bloc central cu logic de prioriti. n condiiile
existenei mai multor solicitri, acest circuit selecteaz modulul cu cea mai mare
prioritate cruia i acord M i activeaz semnalul BPRN corespunztor. n
figura 3.6 se prezint un exemplu, considerndu-se ordinea descresctoare a
prioritilor 1 2 3.
2

BREQ
Master 1

BPRN
1

BREQ
Master 2

BPRN
Master 3

BREQ
BPRN

Fig. 3.6. Diagrame asociate arbitrrii centralizate a magistralei Multibus.

1. Modulul Master 2 solicit magistrala prin activarea semnalului


propriu BREQ. Arbitrul achit cererea prin activarea semnalului de pe linia
BPRN a modulului Master 2.
2. Modulul Master 1 (cu prioritate mai mare) solicit magistrala, cerere
care este achitat simultan cu retragerea prioritii pentru Master 2.
3. Modulul Master 1 termin transferul pe magistral i Master 2 reia
controlul asupra acesteia.
Arbitrarea descentralizat nu presupune existena unui arbitru veritabil
(circuit fizic). n aceste condiii, fiecare modul i gestioneaz singur accesul la
M, realiznd o parte din funciile arbitrului. Explicarea funcionrii pentru o

Capitolul 3

104

Structura i arhitectura calculatoarelor

manier de arbitrare descentralizat se va face pentru trei module conectate n


lan, conform figurii 3.7, cu prioriti n ordine descresctoare 1 2 3.
Pentru gestiunea magistralei se utilizeaz:
linia de cerere de magistral (Bus Request) de tip SAU cablat;
linia care semnific ocuparea magistralei (Bus Busy), activat de
circuitul care ocup M (master-ul M);
linia de arbitrare (Arbitration Line), pe care modulele sunt conectate
n cascad;
conexiunea la +5V pentru primul modul (cu prioritatea cea mai
ridicat).
Cerere magistral (Bus Request)
Bus Busy

Magistral ocupat
+ 5V

Linie arbitrare
BPRN
BPRO
(Priorit. max.)
Master 1

Arbitration line

BPRN

BPRO

Master 2

BPRN
BPRO
(Priorit. min.)
Master 3

Fig. 3.7. Schema de arbitrare descentralizate a unei magistrale.

Fiecare modul are cte o intrare BPRN (Bus PRiority iN) i o ieire
BPRO (Bus PRiority Out), ambele conectate la linia de arbitrare. Primul modul
din lan are intrarea BPRN conectat la potenialul +5V (1 logic), primind deci
un semnal BPRN activ n permanen.
Dac niciun modul nu solicit magistrala, semnalul cu valoarea 1 logic
se propag prin toate modulele. Pentru obine accesul la magistral, la nceputul
unui ciclu de ceas modulul implicat testeaz dac aceasta este liber (semnalul
Bus Busy inactiv) i dac semnalul de pe intrarea sa BPRN este activat. Dac
aceste condiii sunt ndeplinite, modulul dezactiveaz semnalul de la ieirea sa
BPRO, ceea ce va determina dezactivarea semnalelor de pe intrrile BPRN i
ieirile BPRO ale modulelor urmtoare. La sfritul propagrii, un singur modul
va avea intrarea BPRN activ (+5V) i ieirea BPRO inactiv (0 V). n aceste
condiii, modulul devine master la nceputul unui ciclu de ceas, activeaz linia
Bus Busy i este liber s efectueze transfer pe M. Controlul asupra M poate fi
meninut prin continuarea activrii semnalului Bus Busy. n figura 3.8 este
ilustrat procedeul de arbitrare descentralizat.
n punctul 1, modulul Master 1 cedeaz M i activeaz ieirea BPRO,
semnalul de la aceast ieire propagndu-se prin toate celelalte module. n
punctul 2, modulul Master 1 solicit din nou M, dezactiveaz semnalul BPRO,
determinnd dezactivarea semnalelor BPRN i BPRO de la modulele care
succed modulului Master 1. Se ajunge n situaia n care Master 1 este singurul
modul care are BPRN activ i BPRO inactiv i care, prin urmare, va prelua
controlul M la nceputul urmtorului ciclu de ceas dac Bus Busy este inactiv.
Capitolul 3

105

Structura i arhitectura calculatoarelor

BPRN
Master 1

BPRO
BPRN

Master 2

BPRO
BPRN

Fig. 3.8. Diagrame asociate arbitrrii descentralizate a magistralei Multibus.

Sintetic se poate spune c, la arbitrarea descentralizat, o unitate obine


accesul la M naintea unitii care i succede, dar dup cele care o preced.
3.4.2. Parcarea magistralelor
Parcarea magistralei este procedura prin care M nu este eliberat automat
dup terminarea transferului curent, ci numai n cazul n care exist o cerere de
magistral.
Prin utilizarea acestui procedeu nu este necesar executarea operaiilor
de eliberare a M i de arbitrare pentru fiecare transfer iniiat de un acelai modul
master. Parcarea poate fi o caracteristic operaional sau opional a M.
Atunci cnd parcarea este un mod operaional al M, un ciclu de arbitrare
va ncepe obligatoriu printr-o cerere a dispozitivului master la care M era
parcat de eliberare a acesteia.

3.5. Familii i standarde de magistral


Caracteristicile constructive ale unei M sunt n ultim instan direct
influenate de particularitile procesoarelor pentru care au fost concepute. Acest
fapt s-ar putea s contravin ideii de sistem deschis, conform creia mediul de
comunicaie ntre componentele unui sistem trebuie s fie independent de
productor. Marile firme productoare de calculatoare i de microprocesoare au
dezvoltat propriile standarde de magistral cum ar fi: DEC Unibus, Intel
Multibus, Hewlet Packard GPIB, IBM PC bus. Unele dintre aceste M sunt
deschise, n sensul c standardul este accesibil i utilizabil liber de orice
productor, n schimb altele au fost patentate i au serioase restricii de utilizare
(exemplu Micro Channel a firmei IBM i folosit la calculatoarele PS/2).
Cele mai cunoscute organisme internaionale de standardizare cu
activitate n domeniul magistralelor sunt:
- IEEE (Institut of Electrical and Electronics Engineers) ;
- ANSI (American National Standard Institute).
Capitolul 3

106

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