Sunteți pe pagina 1din 51

4.

NIVELUL FIZIC
La baza structurii ierarhice a oricrui calculator se afl nivelul fizic. El
constituie fundamentul calculatorului si are ca suport circuitele si porile logice.
Deoarece portile utilizeaz numere binare, functionarea calculatoarelor se bazeaz
pe algebra boolean. Functionarea circuitelor logice se conduce dup principiul
unui tranzistor care se comport ca un ntreruptor electronic foarte rapid.
Portile logice sunt realizate n diferite tehnologii: tehnologie bipolar si
tehnologie unipolar sau MOS (Metal Oxide Semiconductor). n cadrul tehnologiei
bipolare se poate remarca familia TTL (Transistor-Transistor Logic) foarte
utilizat si ECL (Emitter Coupled Logic) folosit n aplicatii care necesit o
mare rapiditate de executie.
Portile realizate n tehnologie MOS sunt de 10 ori mai lente dect cele n
tehnologie TTL si de 100 de ori mai lente dect cele din tehnologia ECL. n cadrul
tehnologiei MOS se disting cteva familii clasice: PMOS, NMOS si CMOS. Asa
cum s-a mai spus, functionarea portilor logice se bazeaz pe algebra boolean. O
functie boolean este asociat uneia sau mai multor variabile si furnizeaz un
rezultat care depinde n mod unic de valorile variabilelor binare aplicate la intrare.
Exemplu. O functie f a unei variabile oarecare A poate fi definit ca fiind
f(A) = 1 dac A = 0 si f(A) = 0 dac A = 1. Aceasta este functia NON.
O functie boolean de n variabile prezint 2
n
stri posibile. A descrie
complet aceste stri sub forma unui tabel care contine 2
n
linii nseamn a construi
tabela de adevr a functiei respective. Fiecare linie a acestui tabel indic valoarea
functiei pentru configuratia binar de n variabile.
Prin combinarea unor porti logice si ncapsularea lor ntr-un circuit sau
capsul au rezultat circuitele integrate logice. Ele sunt realizate cu diverse densitti
de integrare (numrul de porti sau de tranzistoare interne pentru circuit sau pe
milimetru ptrat). Exist mai multe categorii de integrare:
SSI (Small Scale Integration) circuite cu integrare redus (sub 64
porti/circuit);
MSI (Medium Scale Integration) circuite cu densitate medie de
integrare (sub 1024 porti/circuit);
LSI (Large Scale Integration) circuite cu nalt densitate de integrare
(sub 65.000 porti/circuit);
VLSI (Very Large Scale Integration) circuite cu nalt densitate de
integrare (peste 65.000 porti/circuit);
SVLSI (Super Very Large Scale Integration) circuite cu foarte nalt
densitate de integrare (peste 500.000 porti/circuit).
ARHITECTURA SISTEMELOR DE CALCUL
172
Limita de integrare a ajuns la cteva milioane de tranzistoare pentru circuitele
modeste sau chiar la cteva zeci de milioane n cazul procesoarelor puternice.
Exemplu. Din cadrul tehnologiei SSI fac parte circuitele logice simple,
dintre care cele mai cunoscute sunt cele din familia 74xx dezvoltate initial de Texas
Instruments si distribuite astzi de numerosi fabricanti de circuite logice. Din cadrul
tehnologiei MSI fac parte circuitele logice combinationale, dintre care se pot aminti:
multiplexorul, demultiplexorul, comparatorul, registrele logice programabile.
Exist unele circuite logice cu memorie. Pentru un calculator, memoria este
un dispozitiv esential. Ea este utilizat pentru stocarea instructiunilor si a datelor
programului n curs de executie. Pentru a obtine memorarea unui bit, este necesar
s se utilizeze un dispozitiv care se substituie valorii pe care a nregistrat-o. Un astfel
de circuit poate fi realizat simplu cu porti logice, de exemplu cu porti logice SI-NU.
4.1. Microprocesorul
Microprocesorul reprezint inima unui sistem de calcul. Privit din punct de
vedere fizic, el este un circuit care prezint cteva zeci sau chiar sute de terminale.
Semnalele de comunicatie asociate acestora i permit microprocesorului s fac
schimb de informatii cu mediul extern, n principal cu circuite de memorie sau cu
circuite de intrare-iesire. O analiz detaliat a acestor semnale determin diversele
moduri de functionare logic si electric a procesorului si posibilittile sale de
interfat. Exist trei categorii de semnalele electrice externe ale microprocesorului:
de adres;
de date;
de comand.
Fiecrui tip de semnal i sunt asociate linii de comunicare care formeaz o
magistral. De cele mai multe ori, n limbajul de specialitate se vor ntlni cteva
notiuni specifice precum: magistrala de adrese, care reprezint totalitatea liniilor pe
care circul adresele, magistrala de date, corespunztoare liniilor de date si
magistrala de comenzi, specific liniilor de comenzi.
Fig. 4.1. Schema unui microprocesor tipic.
Structura unui calculator
173
Pentru obtinerea unei instructiuni a programului care este executat,
microprocesorul ncepe prin plasarea adresei acestei instructiuni pe magistrala de
adrese. Se activeaz un semnal pe magistrala de comand pentru specificarea unei
actiuni de citire din memorie. Ca rspuns la aceast cerere, memoria plaseaz
instructiunea pe magistrala de date, trimite un semnal ctre microprocesor prin care
acesta este atentionat c operatiunea este terminat si activeaz un semnal specific
de validare a magistralei de comenzi. n timp ce microprocesorul primeste
semnalul de validare de memorie, el citeste informatia (instructiunea) prezent pe
magistrala de date si o plaseaz ntr-unul din registrele interne.
Exist doi parametri principali asociati performantelor unui microprocesor:
numrul de linii ale magistralei de adrese si numrul de linii ale magistralei de date.
Observaie. Ambii parametri se refer la imea magistralelor si se msoar
n numr de linii (sau de biti). A nu se confunda cu rgimea (de band) a
magistralelor, care se exprim n termenii vitezei de transfer (multipli de
octeti/secund.)
Un microprocesor care are m linii de adres poate adresa pn la 2
m
cuvinte
de memorie. Valorile curente pentru m sunt: 16, 20, 24, 32 sau 64. De asemenea,
dac dispune de n linii de date poate scrie/citi un cuvnt de memorie de n biti ntr-o
singur operatie. Valorile curente pentru n sunt: 8, 16, 32 sau 64.
Exemplu. Un microprocesor care dispune de opt linii de adres necesit
patru operatii de citire pentru citirea unui cuvnt de 32 de biti. Dac
microprocesorul ar avea 32 de linii de adres, citirea aceluiasi cuvnt s-ar face ntr-
un singur tact, de unde rezult c un procesor este cu att mai rapid cu ct are mai
mare numrul de linii de date.
n afara liniilor de adres si de date, microprocesorul dispune de linii de
comand. Acestea permit asigurarea sincronizrii, reglrii si comandrii
schimburilor pe magistral ntre microprocesor si mediul extern.
Semnalele de ntrerupere sunt semnale de intrare pentru un microprocesor.
Ele provin n principal de la circuitele de intrare-iesire.
Exemplu. Un microprocesor cere unui circuit de intrare-iesire (de fapt
perifericului cruia i este asociat) s efectueze o anumit sarcin, dup care si
continu activitatea. n acest timp, perifericul realizeaz operatia cerut la viteza sa
proprie de executie. Dup ce sarcina este ndeplinit, perifericul previne circuitul
de I/O (intrare-iesire) care activeaz un semnal de ntrerupere prin care i se cere
microprocesorului o cerere de comunicare. O astfel de cerere de ntrerupere poate fi
activat, de exemplu, la terminarea unei sarcini sau la aparitia unei erori. Urmeaz
apoi o secvent de tratare a acestei cereri de ntrerupere.
Semnalele care gestioneaz accesul la magistral servesc la fluidizarea
traficului pe magistral prin evitarea unor blocri care pot rezulta din utilizarea
simultan de ctre dou circuite a magistralei.
Unele procesoare au linii speciale de comunicare cu alte procesoare sau cu
procesorul secundar (coprocesorul), atunci cnd situatia o cere. Acest lucru se
poate ntmpla, de exemplu, atunci cnd este nevoie de un calcul matematic, prin
cedarea controlului coprocesorului matematic.
ARHITECTURA SISTEMELOR DE CALCUL
174
4.2. ntreruperile
ntreruperile sunt schimburi n fluxul de control, care nu sunt cauzate de
programul care se execut, ci de alte cauze, aflate de obicei n legtur cu operatiile I/O.
Exemplu. Un program poate comanda discului s porneasc transferul
informatiei si i cere acestuia s furnizeze o ntrerupere imediat ce transferul s-a
terminat. Microprocesorul ntrerupe programul ce se execut si transfer controlul
unei proceduri de tratare a ntreruperii, care execut cteva actiuni corespunztoare.
Cnd se termin, rutina de tratare a ntreruperilor ntoarce controlul ctre
programul ntrerupt. Microprocesorul trebuie s reporneasc procesul ntrerupt
exact din aceeasi stare n care era cnd a aprut ntreruperea, ceea ce nseamn
refacerea tuturor registrelor interne n starea de dinainte de ntrerupere.
Un concept cheie al ntreruperilor este transparena. Cnd apare o
ntrerupere, se execut cteva actiuni si un fragment de cod anumit, dar cnd
servirea ntreruperii s-a terminat, calculatorul trebuie s se ntoarc n aceeasi stare
pe care a avut-o nainte de ntrerupere. O procedur de tratare a ntreruperii cu
aceast proprietate se spune c este transparent.
Dac un calculator are mai multe dispozitive de I/O care pot lucra n paralel,
exist o probabilitate diferit de zero s apar simultan dou cereri de ntrerupere
sau s apar o astfel de cerere atunci cnd se execut deja una. Pentru a se putea
face o departajare ntre toate aceste ntreruperi, acestea vor avea atasat cte un nivel
de prioritate. Cnd un dispozitiv cu prioritatea n genereaz o ntrerupere, rutina de
tratare a ntreruperii trebuie, de asemenea, s fie executat cu prioritatea n.
n timp ce se execut o procedur de tratare a ntreruperii cu prioritatea n,
orice ncercare de a cauza o ntrerupere de ctre un dispozitiv cu o prioritate mai
mic este ignorat pn cnd rutina ntreruperii se termin si UCP se ntoarce la
programul utilizatorului. Pe de alt parte, tratarea ntreruperilor de la un dispozitiv
cu o prioritate mai mare trebuie validat fr nici o ntrziere.
4.2.1. Gestionarea ntreruperilor
Dac unitatea central (UC) a cerut unui circuit de I/O efectuarea unei
operatii, aceasta anunt sfrsitul operatiei printr-o ntrerupere. De asemenea, un
dispozitiv care doreste s foloseasc resursele procesorului semnalizeaz acest
lucru ctre procesor printr-o cerere de ntrerupere. O ntrerupere implic n
majoritatea cazurilor o cerere de magistral.
ntr-un sistem real, mai multe dispozitive pot cere simultan ntreruperi. Este
deci necesar un sistem de gestionare a cererilor de ntrerupere (apare aceeasi
problem ca n cazul accesului la magistral, si anume care dintre dispozitivele ce au
emis cererea urmeaz s fie servit). O modalitate curent de solutionare a cererilor
simultane de ntrerupere este de a asigna niveluri de prioritate diferite pentru
diversele dispozitive si de a utiliza un circuit arbitru pentru gestionarea acestor cereri.
Structura unui calculator
175
Exemplu. Un astfel de circuit este Intel 8259A (controler de ntreruperi
utilizat n calculatoarele IBM PC/AT si PS/2).
INT IR 0 Ceas de sistem
INTA IR 1 Tastatur
RD IR 2 Controler IRQ2
WR IR 3 COM2/COM4
A0 IR 4 Mouse serial
CS IR 5 Placa de sunet
D0-D7 IR 6 Floppy disc
IR 7 Imprimant
Fig. 4.2. Schema controlerului de ntreruperi 8259A.
O cerere de ntrerupere se traduce prin activarea intrrii asociate
perifericului. Cnd una sau mai multe ntreruperi ajung la controlerul de
ntreruperi, acesta anunt UC prin linia special INT (Interrupt), care este legat la
intrarea de ntrerupere a UC. Aceasta rspunde de obicei printr-un semnal de
validare a ntreruperii (de exemplu, INTA = Interrupt Acknowledge). Ca urmare,
controlerul de ntreruperi informeaz UC pe magistrala de date despre dispozitivul
care a cerut ntreruperea. Unitatea central utilizeaz acest numr pentru a obtine
dintr-o tabel de pointer-i indexat adresa rutinei de ntrerupere corespunztoare.
Controlerul de ntreruperi contine un numr de registre interne care pot fi
citite sau scrise de ctre UC cu ajutorul semnalelor RD (Read), WR (Write), CS
(Chip Select) si A0 (linia 0 de adres). Toate aceste semnale, la fel ca INT si INTA,
sunt active pe zero. Prin intermediul registrelor, UC comunic controlerului de
ntreruperi disponibilitatea de a trata o nou cerere de ntrerupere sau poate
programa controlerul s functioneze ntr-un mod particular, de exemplu s
mascheze ntreruperile pe o anumit intrare. Dac se dispune de mai multe
controlere de ntrerupere, acestea se pot conecta n cascad. Rezult un avantaj:
dac sunt necesare mai mult de opt linii de ntrerupere, atunci se poate crea o
structur pe dou niveluri, care contine un 8259A la ale crui intrri sunt legate
iesirile de ntreruperi ale altor opt circuite 8259A. Se creeaz astfel posibilitatea
tratrii a 64 de linii de ntrerupere.
4.3. Magistrala
4.3.1. Conceptul de magistral
n modelul masinii von Neumann, comunicatia dintre componentele
sistemului se realizeaz prin legturi dedicate ntre perechi de componente. Aceast
UC
8259A
controler
de
ntreruperi
ARHITECTURA SISTEMELOR DE CALCUL
176
abordare este relativ rigid, limitnd drastic scalabilitatea (posibilitatea de
extindere) a sistemului.
Adugarea de noi componente este dificil si implic modificarea celor deja
existente. Proiectarea unei noi componente implic cunoasterea n detaliu a
functionrii celorlalte elemente deja prezente. Solutionarea acestei probleme a
venit din partea firmei Digital Equipment Corporation (DEC), care la sfrsitul
anilor '60 a lansat pe piat primul calculator (PDP 11), construit n jurul unei
magistrale magistrala UniBus.
Conceptual, magistrala este un mediu comun de comunicatie ntre
componentele unui sistem de calcul; fizic este alctuit dintr-un set de linii de
semnal care faciliteaz transferul de date si realizeaz sincronizarea ntre
componentele sistemului.
Introducerea conceptului de magistral a revolutionat modul de concepere si
proiectare a noilor sisteme de calcul. Modelul de calculator bazat pe magistral a
fost preluat mai ales de familiile de calculatoare mini si micro. Prin standardizarea
magistralelor, sistemele de calcul au devenit deschise, n sensul c un numr mai
mare de productori au avut posibilitatea s realizeze componente pentru o anumit
structur de calculator (module de memorie, interfete I/O, echipamente periferice),
bazndu-se numai pe specificatiile magistralei.
n decursul timpului au fost dezvoltate diferite standarde de magistral, care
au urmrit evolutia procesoarelor (a unittilor centrale) si a necesittilor de
comunicatie ale acestora (vitez, mod de transfer, necesitti de sincronizare si
control etc.). S-au dezvoltat, de asemenea, magistrale specializate pentru anumite
tipuri de echipamente periferice (SCSI si EIDE pentru unitti de disc, console
grafice, interfete de msur si control). Din acest punct de vedere, n momentul
actual se pot distinge dou clase de magistrale:
magistrale de sistem dezvoltate mai ales pentru conectarea unittii
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).
Aparitia si evolutia ulterioar a microprocesoarelor a consacrat modelul de
calculator bazat pe magistral. Configuratia semnalelor unui microprocesor este
astfel conceput nct s permit conectarea usoar la o magistral de sistem. n
general, fiecare familie de microprocesoare (Intel 8086, Z80, MC 68000) a impus o
anumit structur si un anumit standard de magistral. Exist ns anumite
caracteristici comune acestor magistrale (principii de transfer, tipuri de semnale),
astfel nct modulele proiectate pentru un tip de magistral s poat fi, prin
modificri minime, conectabile altor magistrale.
S-au introdus noi principii de transfer care compenseaz ntr-o oarecare
msur limitrile de vitez impuse de legile fizicii de transmitere a semnalelor
electrice. Cele mai reprezentative dintre acestea sunt transferul concurent prin
tranzactii si prelucrarea pipe-line a cererilor de transfer.
Structura unui calculator
177
4.3.2. Elemente definitorii ale magistralei
O magistral se compune dintr-un set de semnale si un set de reguli
constituite ntr-un protocol, care guverneaz transferul de informatii si accesul la
mediul de comunicatie. Informatiile transferate pot fi: date, instructiuni si
informatii de control si sincronizare.
Protocolul se refer la:
caracteristicile mecanice: tip de conectori, numr de conectori alocati pentru
un slot, formatul modulelor de extensie atasabile, sertar si fund de sertar
(rack si cablajul din spatele acestuia aceast structur fiind specific
magistralelor industriale);
caracteristicile electrice ale componentelor conectate pe magistral: niveluri
de tensiune, curenti, ncrcare, frecvent de lucru, rat de transfer;
secventa de generare a semnalelor necesare pentru efectuarea unui transfer;
timpii limit pentru diferitele faze ale unui transfer si timpii de mentinere a
unui anumit semnal;
interconditionrile functionale si temporale ntre diferitele tipuri de semnale.
n acceptiunea clasic, o magistral se compune din urmtoarele tipuri de
semnale.
Semnale de date sunt semnale bidirectionale utilizate pentru transferul de
date si instructiuni. La un moment dat doar un singur dispozitiv 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 si, implicit,
viteza medie de transfer a magistralei.
Semnale de adres sunt utilizate pentru specificarea adresei modulului
destinatie sau surs de date, numrul de linii de adres determinnd spatiul maxim
de adresare permis de magistral (de exemplu, 24 linii de adres determin un
spatiu de adresare de 2
24
=16 Mlocatii).
Semnale de comand sunt semnale unidirectionale generate de CPU (sau
de ctre alt dispozitiv master), utilizate pentru specificarea directiei de transfer (de
exemplu, semnale de citire sau scriere pentru CPU) si 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 conditiilor de
transfer al datelor (temporizarea deschiderii si 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 si implicit determin
ntreruperea executiei programului curent.
Semnale de tact (de ceas) sunt generate de un oscilator cu cuart, fiind
folosite pentru sincronizare si pentru generarea unor semnale de frecvent
programabil.
Linii de alimentare sun generate de sursa de tensiune a sistemului, fiind
folosite pentru alimentarea modulelor sistemului.
ARHITECTURA SISTEMELOR DE CALCUL
178
Semnale de control al accesului sunt utilizate pentru arbitrajul si
controlul accesului pe magistral (n cazul magistralelor multimaster), fiind
generate de un circuit specializat (arbitru de magistral).
Numrul si semnificatia particular a semnalelor depind de tipul si destinatia
magistralei. Anumite grupe de semnale din cele prezentate pot s lipseasc (de
exemplu, semnalele de control) sau altele noi pot fi adugate (semnalele de eroare,
semnalele de control al ltimii datelor transferate pe 8 sau pe 16 biti etc.).
Magistralele pot fi clasificate n functie 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 frecventa tactului. Datorit vitezei limitate de
propagare a semnalului electric, cresterea ratei ar duce la diferente de
faz la capetele magistralei.
magistrale asincrone la care nu exist o legtur direct ntre evolutia
n timp a unui ciclu de transfer si tactul sistemului. Majoritatea
magistralelor actuale lucreaz pe acest principiu (de exemplu, ISA,
EISA, MultiBus etc.).
II. numrul de module master conectate pe magistral:
magistrale unimaster exist un singur modul master pe magistral.
Nu necesit mecanisme de arbitraj al magistralei (un modul master poate
initia un ciclu de transfer, pe cnd un modul slave poate fi comandat n
timpul unui ciclu de transfer, neavnd elementele necesare pentru a
prelua controlul magistralei).
magistrale multimaster permit conectarea mai multor module master
pe acelasi tronson de magistral. Magistrala trebuie s contin semnale
de arbitraj si 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 secveniale) regula
de baz: ciclurile de transfer se desfsoar secvential, la un moment dat
cel mult un ciclu de transfer fiind n curs de desfsurare. Majoritatea
magistralelor folosesc acest principiu de transfer. n functie de directia
de transfer se disting sase cicluri semnificative:
cicluri de citire (respectiv scriere) din/n memorie;
cicluri de citire (respectiv scriere) de la/la un port intrare-iesire;
cicluri de acces direct la memorie (citire/scriere);
magistrale tranzacionale transferul de date se efectueaz prin
tranzactii. O tranzactie este divizat n mai multe faze. Mai multe
tranzactii se pot desfsura simultan, cu conditia ca tranzactiile s fie n
faze diferite; aceast restrictie provine din faptul c fiecare faz a unei
tranzactii foloseste un subset din multimea semnalelor magistralei.
Teoretic, la aceste magistrale factorul de crestere a vitezei (n comparatie
Structura unui calculator
179
cu o magistral secvential) este egal cu numrul de faze n care se
divide o tranzactie (de exemplu, magistrala procesoarelor post-Pentium).
IV. numrul semnalelor utilizate n transferul de date:
magistrale seriale se utilizeaz ca mijloc de comunicatie ntre
componentele de baz ale unui calculator (CPU, memorie, interfete de
I/O etc.). Se folosesc, de asemenea, n anumite sisteme dedicate bazate
pe microcontrolere, la care costul si dimensiunea redus sunt parametri
definitorii. Cu toate c viteza de lucru este mai mic dect la
magistralele paralele, n ultimul timp sunt tot mai utilizate (de exemplu,
magistralele USB, SATA, SAS, PCIExpress etc.).
magistrale paralele sunt folosite datorit vitezei de lucru ridicate,
transferurile de date realizndu-se la nivel de octet si nu de bit.
4.3.3. Tipuri, familii i standarde de magistral
Tipurile uzuale de magistrale sunt:
I. Magistrale procesor-memorie:
ntre procesor si memorie;
specializate;
scurte;
rapide.
II. Magistrale I/O:
pot avea multe dispozitive I/O conectate (direct sau prin canale I/O
supervizate de procesoare specializate);
universale;
lungi;
mai lente dect magistralele procesor-memorie;
nu sunt legate direct la memorie, ci prin magistrale procesor-memorie
ori magistrale de fundal (backplane)
III. Magistrale backplane(originar folosite la placa de baz):
permit acces simultan la procesor, memorie, dispozitive I/O;
sunt reutilizabile (bune pentru diverse configuratii);
Magistralele I/O necesit o interfat simpl, pe cnd cele backplane
necesit o logic suplimentar la interfat. n schimb, avantajul magistralelor
backplane este c acestea contin singure toate conexiunile. Se pot crea conexiuni
complexe, ca n figura 4.3 (n cazul folosirii unor tipuri multiple de magistrale,
trebuie utilizate adaptoare de magistrale pentru interconectare). Figura 4.3 contine
configuratii cu magistrale pentru comunicarea procesor-memorie si trafic I/O:
(a) o singur magistral backplane: folosit la PC-urile vechi;
(b) o magistral procesor-memorie de tip PCI (bus backplane), care are
conexiuni SCSI cu magistrale I/O: folosit la PC-urile noi;
(c) ca la (b), plus o magistral separat pentru traficul procesor-memorie:
folosit la sistemele multiprocesor SiliconGraphics.
ARHITECTURA SISTEMELOR DE CALCUL
180
Fig. 4.3. Configuratii cu magistrale pentru comunicarea procesor-memorie si trafic I/O:
a. doar magistrala backplane; b. magistrala de tip procesor-memorie + magistrale I/O; c. toate tipurile.
Caracteristicile constructive ale unei magistrale sunt influentate de cerintele si
particularittile functionale ale procesorului pentru care a fost conceput. Acest fapt
vine n contradictie cu ideea de sistem deschis, conform creia mediul de
comunicatie ntre componentele unui sistem trebuie s fie independent de productor.
Firmele dominante n domeniul constructiei de calculatoare si-au dezvoltat propriile
standarde de magistral adaptate familiilor de procesoare pe care le produc.
Exemple. DEC UniBus, Intel MultiBus, IBM PC Bus HP GPIB etc.
Unele din aceste magistrale sunt deschise, n sensul c standardul este
accesibil si utilizabil liber de orice productor; altele au fost patentate si au
restrictii de utilizare, de exemplu magistrala MicroChannel (MCA) a firmei IBM,
folosit n constructia calculatoarelor PS/2. Exist si standarde dezvoltate de
grupuri de productori cu interese apropiate. Astfel au aprut standardele Camac,
FastBus, FutureBus, NuBus, Can etc.
n cazul acestor magistrale se pune problema asigurrii interoperabilittii si
compatibilittii ntre module realizate de diversi productori. Metoda de eliminare
a unor astfel de probleme este supunerea componentelor la teste de conformant.
Cele mai cunoscute foruri internationale de standardizare care au activitate n
domeniul magistralelor sunt IEEE, ANSI si IEC.
Cteva din cele mai cunoscute tipuri de magistrale sunt prezentate n tabelul 4.1.
Structura unui calculator
181
Tabelul 4.1
Tipuri de magistrale
Standard
IEEE
Nume
uzual
Domenii
de utilizare
488 GPIB Instrumente de laborator
583, 596, 683 Camac Achizitie de date si instrumentatie
696 S 100 Microsisteme de dimensiune medie
796, P1296 MultiBus I, II Microsisteme de dimensiune medie
P896 FutureBus Sisteme multiprocesor
P996 PC Bus Calculatoare personale
P1014 VME Bus Sisteme microprocesor performante
(cu Motorola 68000)
P1196 NuBus Sisteme multiprocesor
UniBus Minicalculatoare PDP 11
QBus Minicalculatoare VAX
SCSI Periferice (HD, band, CD-ROM)
n cadrul unui sistem de calcul pot s coexiste mai multe tipuri de standarde,
specializate pe transferul de date ntre anumite tipuri de componente de sistem.
Astfel, se poate utiliza o magistral de mare vitez pentru transferul ntre procesor
si memorie, o magistral cu acces multiplu (multimaster) pentru unele periferice de
mare vitez (disc, interfat video) si o magistral de mic vitez pentru perifericele
lente. n aplicatiile de control se mai poate aduga si o magistral de
instrumentatie, adaptat pentru culegerea datelor de proces.
Pentru a satisface o gam larg de cerinte, s-au dezvoltat familii de
magistrale care cuprind mai multe variante ale unei magistrale de baz si sunt
compatibile ntre ele ntr-o oarecare msur (interfetele dezvoltate pentru aceste
variante necesit modificri minore pentru compatibilizare).
n prezent exist mai multe astfel de familii de magistrale:
magistrale dezvoltate pentru calculatoare DEC UniBus, QBus si VAXBI;
magistrale dezvoltate pentru procesoarele Intel MultiBus I, MultiBus II
si extensii ale acestora;
magistrale inspirate de structura seriei de procesoare Motorola
magistralele VME;
magistrale de instrumentatie familia GPIB (dezvoltat de Hewlett
Packard), IEEE488 si Camac.
ARHITECTURA SISTEMELOR DE CALCUL
182
n domeniul PC-urilor, s-au dezvoltat mai multe magistrale care au devenit
standarde de facto nainte ca acestea s fie propuse pentru standardizare formal:
ISA, EISA, VESA, PCI, SCSI, AGP etc.
Dup cum s-a artat, o magistral (bus) este o structur de interconectare (un
ansamblu de linii de comunicatii) ntre mai multe circuite sau unitti ale unui
calculator. Un PC are diferite tipuri de magistrale, ntre care se afl urmtoarele:
magistrala procesorului, magistrala de adrese, magistrala memoriei, magistrala I/O.
Exemple. Camac (fizic nuclear), FastBus (fizica energetic), OmniBus
(PDP-8), UniBus (PDP-11), MassBus (VAX si PDP-11), MegaBus (Moneywell),
MicroChannel (PS/2), NuBus (MacIntosh 2), VersaBus (Motorola), VME
(Motorola 680x0), MultiBus 1 (INTEL 8086), MultiBus 2 (INTEL 80386), ISA sau
ATBus (INTEL 80286), EISA (INTEL 80386), MCA (IBM, 80386), VLBus
(VESA, 80486), PCI (Pentium), FireWire (IEEE 1394) etc.
4.3.4. Magistrala procesorului
Magistrala procesorului este calea de comunicatie ntre CPU si cipurile cu
care lucreaz direct. Aceast magistral este folosit pentru a transfera date, de
exemplu ntre CPU si 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 si primirea
datelor de la CPU cu cea mai mare vitez posibil, aceast magistral lucreaz la o
vitez mult mai mare dect orice alt magistral din sistem: aici nu exist
strangulri. Magistrala este compus din linii de semnal utilizate pentru date,
pentru adrese si pentru comenzi.
Exemple.
1. ntr-un sistem 486, magistrala procesorului este compus din 32 de linii
de adrese, 32 de linii de date si cteva linii de comand.
2. Magistrala procesorului dintr-un sistem Pentium are 64 de linii de date,
32 de linii de adrese si linii de comand asociate.
3. Sistemul Pentium Pro are 36 de linii de adrese, iar n rest are o magistral
similar cu cea a sistemului Pentium.
Magistrala procesorului lucreaz la aceeasi frecvent cu cea a ceasului de
baz ca CPU n exterior. Acest lucru poate conduce la concluzii gresite deoarece
cele mai multe procesoare actuale utilizeaz o frecvent de lucru intern mult mai
mare dect a oricrei magistrale din sistem.
Exemplu. Un sistem Pentium 100 are un procesor Pentium care lucreaz
intern la 100 MHz, dar n exterior lucreaz la numai 66,6 MHz. Aceeasi frecvent
extern de lucru (66,6 MHz) o au si procesoarele Pentium 133, Pentium 166 si
chiar Pentium Pro 200. n cele mai multe dintre noile sisteme, frecventa real de
lucru a procesorului este un multiplu (de 1,5 ori, de 2 ori, de 2,5 ori, de 3 ori etc.) al
frecventei magistralei procesorului.
Structura unui calculator
183
Magistrala procesorului este legat la pinii procesorului si poate transfera un
bit de date pe o linie de date la fiecare perioad sau la dou perioade ale ceasului.
Astfel, un sistem 486 poate transfera 32 biti de date simultan, n timp ce un sistem
Pentium sau Pentium II poate transfera 64 biti de date la un moment dat.
Pentru a determina viteza de transfer pe magistrala procesorului se
multiplic ltimea datelor (32 de biti pentru 486 sau 64 de biti pentru Pentium si
Pentium II) cu frecventa ceasului magistralei (aceeasi cu frecventa ceasului de baz
al procesorului).
Exemplu. Un cip Pentium de 66/100/133/166/200 MHz care ruleaz la 66
MHz poate transfera un lot de date la fiecare perioad de ceas pe fiecare linie de
date. Se obtine astfel o vitez maxim instantanee de transfer de 528 MB pe
secund. Acest rezultat deriv din urmtoarea formul:
66 MHz 64 biti = 4.224 megabiti/secund;
4.224 megabiti/secund : 8 = 528 MB/secund.
Aceast vitez de transfer, adesea numit rgime de band a magistralei,
reprezint o valoare maxim. Ca toate valorile maxime, aceast vitez nu reprezint
lrgimea de band n functionarea normal; va rezulta o valoare medie mai sczut
a vitezei transferului de date. Alti factori de limitare, cum ar fi proiectarea setului
de cipuri, viteza memoriei si altele, contribuie la scderea lrgimii de band
efective.
ntre unittile sau circuitele conectate la magistral se disting unitti de tip
master, care au initiativa comunicrii pe magistral, si unitti de tip slave, care
rspund la initiativa de comunicare a masterului.
Exemple. Perechi master-slave: UC memorie (acces la instructiuni si la
date); UC port I/O (transfer de date); UC coprocesor (tratarea instructiunilor n
virgul mobil ); dispozitive I/O memorie (accesul la operanzi) etc.
n cazul procesoarelor moderne, comunicatia cu cipurile externe procesorului
a introdus notiunile de magistrale FSB, BSB si PSB
a) n cazul procesoarelor cu memorie cache L2 (L3, n cazul procesoarelor K6-
2+ si K6-3) care nu se afl n interiorul procesorului (exemple tipice fiind
procesoarele pe socket 7, slot 1 si slot A), legtura dintre acesta si northbridge poart
denumirea de magistral FSB (Front Side Bus), iar frecventa de baz a acesteia
nmultit cu multiplicatorul d frecventa de lucru a procesorului. ntre procesor si
memoria cache L2 conexiunea se face prin magistrala BSB (Back Side Bus), o
magistral de memorie care functioneaz fie la frecventa FSB (la procesoarele pe
socket 7), fie la jumtate din frecventa procesorului (la procesoarele Intel pe slot 1),
fie ntre 1/3 si 1/2 din frecventa procesorului (la procesoarele AMD pe slot A).
Exemplu. Un FSB pe 32 de biti, opernd la o frecvent de 100 MHz si care
realizeaz 4 transferuri pe ciclu, are o lrgime de band de 1.600 MB/s.
Productorii specific viteza FSB-ului n MT/s (Mega Transfers per second). Dac
o plac de baz are un FSB cu frecventa de tact de 266 MHz si realizeaz 4
transferuri pe ciclu de ceas, FSB-ul certificat este de 1.066 MT/s.
ARHITECTURA SISTEMELOR DE CALCUL
184
b) n cazul procesoarelor cu cache L2 integrat n procesor (Intel P3 si
Celeron pe socket 370 si P4 toate variantele, respectiv, AMD Athlon pe socket A,
754, 939, 940), BSB-ul a disprut, nemaifiind necesar.
Combinnd a) si b), rezult c nu este corect s se foloseasc termenul de
FSB n cazul procesoarelor actuale, termenul mai potrivit fiind Processor Side Bus
(PSB) sau System Side Bus (SSB), iar n cazul procesoarelor Opteron/Athlon64
nici mcar termenul PSB nu este corect, legtura dintre procesor si northbridge
fiind de tip punct-la-punct (point-to-point).
4.3.4.1. Conectarea la magistral
Majoritatea circuitelor logice nu dispun la iesire de amplificatoare capabile s
furnizeze puterea necesar transmiterii unui semnal binar pe liniile magistralei
(datorit capacittii magistralei, pe de o parte, si a ncrcrii intrrii cu alte sarcini).
Pentru transmitere se utilizeaz circuitele amplificatoare de putere numite driver-e.
La receptie este necesar utilizarea unui receptor de tip Trigger-Schmidt care
reface semnalul degradat din cauza capacittii limitate a liniei de transmisiune sau
a eventualelor zgomote. De multe ori, un circuit poate s transmit si n acelasi
timp s fie receptor, rezultnd c pentru interfatarea cu magistrala sistemului
trebuie utilizate circuite mixte numite transceiver-e (transmitter + receiver).
Din punctul de vedere al strilor logice, circuitele de conectare la magistral
sunt circuite cu trei stri, n care a treia stare (stare flotant) permite acestora s fie
deconectate logic cnd se afl n repaus. Un alt tip de circuit de conectare este
circuitul cu colectorul n gol (realizeaz functia SAU-cablat).
4.3.4.2. Magistralele sincrone
Din punctul de vedere al cadentei schimbului de date care are loc pe
magistral exist arhitecturi sincrone si asincrone.
Magistrala sincron dispune de o linie de ceas comandat de un oscilator cu
cuart. Toate operatiile de pe o magistral sincron sunt efectuate ntr-un numr
ntreg de perioade de ceas.
Exemplu. n figura 4.4 este prezentat modul de lucru al magistralei sincrone
n cazul operatiei de citire a unui cuvnt din memorie.
Notatii folosite:
semnal de ceas real (un ciclu de ceas T
C
= 250 ns);
MREQ cerere acces memorie (Memory Request);
RD citire (Read);
T
ML
timp de stabilire a adreselor nainte de MREQ (> 60 ns; la o frecvent de ceas
4 MHz se accept un timp de crestere de 10 ns);
T
M
activarea semnalului MREQ fat de frontul descresctor n ciclul T
1
(< 85 ns);
T
RL
activarea semnalului RD fat de frontul descresctor n ciclul T
1
(< 85 ns);
T
DS
date disponibile nainte de frontul descresctor n ciclul T
3
(> 50 ns);
T
MH
tranzitia semnalului MREQ dup frontul descresctor n ciclul T
3
(< 85 ns);
T
RH
tranzitia semnalului RD fat de frontul descresctor n ciclul T
3
(< 85ns);
T
DH
mentinerea datelor dup ridicarea semnalului de date (dup comutarea lui RD, > 0).
Structura unui calculator
185
T
1
T
2
T
3

ADDR ADRES CUVNT


DATE DATE
T
M
T
DS
MREQ T
ML
T
MH
RD
T
RL
T
RH
T
DH
Fig. 4.4. Schema accesului la magistrala sincron.
nceputul ciclului T
1
este marcat de frontul cresctor al semnalului . n
prima parte a ciclului T
1
procesorul plaseaz pe magistrala de adrese adresa care se
doreste a fi citit din memorie. Pozitionarea adresei pe magistral corespunde
activrii mai multor semnale binare care formeaz adresa. Dup stabilirea adresei
pe magistral, devin active semnalele MREQ si RD. MREQ indic prin activarea
sa c se efectueaz un acces la memorie si nu un acces la dispozitivele I/O. RD
defineste prin activarea sa o operatie de citire din memorie.
n timpul ciclului T
2
nu are loc nici o modificare pe magistral pentru a
permite memoriei decodificarea adresei de pe magistrala de adrese si pozitionarea
informatiei cerute pe magistrala de date.
n timpul ciclului T
3
, pe frontul descresctor al semnalului de ceas,
microprocesorul capteaz si nregistreaz ntr-un registru intern informatia prezent
pe magistral. Odat terminat aceast operatiune, procesorul pune n repaus
semnalele MREQ si RD (le ridic n 1).
Dac este nevoie mai departe de o alt operatie de citire sau scriere, aceasta
poate ncepe pe frontul cresctor al urmtorului 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
ARHITECTURA SISTEMELOR DE CALCUL
186
citire. Strile de wait, care sunt generate de surplusul de vitez a procesorului n
comparatie cu viteza memoriei, ncetinesc viteza calculatorului.
Avantaj: functionare relativ simpl.
Dezavantaje:
1. orice operatie pe magistral corespunde unui numr ntreg de perioade
de ceas, ceea ce conduce la o functionare suboptimal din punct de
vedere al vitezei de lucru, datorat faptului c o operatie care dureaz 3,1
perioade de ceas va fi realizat n 4 perioade de ceas, chiar dac
memoria poate s rspund 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 operatii de
citire-scriere pn cnd nu este modificat frecventa ceasului care
guverneaz magistrala.
Concluzie. Pentru a conecta n mod optim un ansamblu de circuite la
magistral, este preferat arhitectura asincron.
4.3.4.3. Magistralele asincrone
n acest caz, nu este necesar existenta unui semnal de ceas care s
supervizeze transferul. Deci, durata unei operatiuni pe magistral este variabil, n
functie de performantele circuitelor utilizate.
Exemplu. n figura 4.5 este prezentat modul de lucru al magistralei
asincrone n cazul operatiei de citire a unui cuvnt din memorie.
ADDR ADRES CUVNT
MREQ
RD
MSYN
DATE DATE
SSYN
Fig. 4.5. Schema accesului la magistrala asincron.
Structura unui calculator
187
MSYN (Master Synchronisation) si SSYN (Slave Synchronisation) sunt
semnalele de sincronizare care asigur respectarea ordinii diverselor momente din
operatiunea de citire. De obicei, master este UC si slave este memoria.
Dup ce adresa cuvntului este depus pe magistrala de adrese de ctre UC si
dup ce semnalele MREQ si RD devin active, UC activeaz semnalul MSYN care
comunic memoriei nceperea operatiei de citire.
Memoria efectueaz citirea la vitez proprie, iar dup depunerea pe
magistral a informatiei 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 si MSYN.
Dezactivarea lui MSYN este sesizat de memorie, care pune n repaus SSYN si
elibereaz magistrala de date. Astfel s-a ajuns din nou la starea initial si rezult c
poate ncepe o alt operatie pe magistral.
Ansamblul semnalelor de mai sus, cu ajutorul crora se efectueaz transferul
datelor, corespunde tehnici full handshake (tehnica acordului confirmat), care
include urmtoarele operatii:
activarea lui MSYN;
activarea lui SSYN ca rspuns la MSYN;
dezactivarea lui MSYN ca rspuns la SSYN;
dezactivarea lui SSYN ca rspuns la MSYN.
Observaie. 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 usor nlocuite cu altele mai
performante, pe msur ce tehnologia avanseaz. n consecint, avantajul folosirii
magistralei asincrone apare evident n comparatie cu magistrala sincron.
Pe o magistral sincron UC si pozitioneaz semnalele, iar memoria sau
circuitele I/O nu fac altceva dect s rspund solicitrilor UC fr a fi necesar o
sincronizare cu aceasta. Astfel, simplitatea magistralei sincrone const n lipsa
semnalelor MSYN si SSYN.
4.3.4.4. Transferul datelor pe magistrala local a procesorului (PLB)
Tranzactiile pe magistrala local a procesorului, PLB (Processor Local Bus),
constau n mai multe faze de adresare si date. n functie de nivelul de activitate a
magistralei si capacitatea slave PLB, acestea pot dura unul sau mai multe cicluri de
magistral PLB. De asemenea, pipeline-ul de adresare si livrarea datelor si
adreselor separate sunt mbunttite prin modul n care aceste faze sunt gestionate.
Tranzactia de adresare contine 3 faze: cerere, transfer si confirmare de adresare. O
tranzactie PLB ncepe cnd un master adun adresele sale si transfer semnalele n
vedere obtinerii dreptului asupra magistralei n timpul fazei de cerere. Odat ce
arbitrul PLB ofer dreptul asupra magistralei, adresa masterului este prezentat la
dispozitivele slave n timpul fazei de transfer. Ciclul de adresare se termin cnd un
slave ncheie adresa masterului si transfer datele n timpul fazei de confirmare a
adresei.
ARHITECTURA SISTEMELOR DE CALCUL
188
Figura 4.6 ilustreaz dou pipeline-uri de adresare de citire si scriere, mpreun
cu fazele de citire si scriere a datelor. Master A si B reprezint starea fiecrei adrese
master. PLB arbitreaz ntre aceste cereri si trimite cererea masterului selectat la
magistrala de adrese a PLB slave. Urma cu eticheta faza de adresare arat starea
magistralei de adrese a slave-ului PLB de-a lungul fiecrui tact PLB.
Fig. 4.6. Exemplu de protocol de transfer PLB.
Asa cum se arat n figura 4.6, specificatiile PLB accept implementrile n
care aceste trei faze pot solicita numai un singur ciclu de ceas PLB. Acest lucru se
ntmpl atunci cnd masterului solicitant i este acordat imediat accesul la
magistrala slave si unitatea slave confirm adresa de-a lungul aceluiasi ciclu. Dac
un master trimite o cerere care nu poate fi imediat trimis la magistrala slave, faza
de cerere poate dura unul sau mai multe cicluri.
Procesorul de magistral local de 128 de biti a aprut n mai 2007.
PLB ofer o interfat standard ntre nucleele procesorului si controlerele
integrate ale magistralei. Cu PLB, poate fi dezvoltat o bibliotec a nucleelor
procesorului si controlerelor magistralei pentru utilizare si aplicare n nucleu, sub
form de circuite integrate specifice (numite Core + ASIC) si modele system-on-a-
chip (SOC).
n plus, PLB este o magistral de mare performant on-chip care este folosit
n sistemele integrate Core + ASIC. PLB sprijin citirea si scrierea, transferuri de
date ntre dispozitivele master si slave care sunt dotate cu o interfat de magistral
PLB si sunt conectate prin semnale ale PLB.
Fiecare master PLB este anexat prin magistrale de adresare diferite,
magistrale de citire de date, magistrale de scriere de date si semnale de transfer.
Slave-urile PLB sunt atasate la PLB prin magistrale de adrese puse n comun, dar
decuplate, magistrale de citire, magistrale de scriere, control al transferului si starea
semnalelor pentru fiecare magistral de date.
PLB este o magistral complet sincron. O singur surs de ceas prevede
timing-ul pentru toate semnalele de PLB. Toate unittile master si slave care sunt
anexati la PLB folosesc acest ceas ca surs.
PLB se diferentiaz prin urmtoarele caracteristici de performant:
Structura unui calculator
189
transferurile de citire si scriere se suprapun pentru a permite dou
transferuri de date per ciclu pentru maximizarea folosirii magistralei;
magistrale decuplate pentru adresare si date sustin capacitatea de
divizare a tranzactiilor pentru o ltime de band mai bun;
protocolul de suprapunere a cererii de magistralei si protocolul de oferire
a dreptului magistralei reduc ntrzierile cauzate de arbitraj;
PLB este o magistral complet sincron.
4.3.4.5. Arbitrajul magistralei
Pn acum s-a considerat c exist un singur master pe magistral. n
realitate, n cele mai multe cazuri exist mai multe dispozitive I/O care pot cere
simultan accesul la memorie, ceea ce conduce la necesitatea introducerii unor
reguli de arbitraj.
Arbitrajul magistralei se poate realiza n dou variante:
structura centralizat, n care exist fizic un arbitru;
structura descentralizat, n care fizic nu exist un arbitru de magistral,
dar care implementeaz functiile acestuia.
Structura centralizat
Algoritmul cu prioriti statice (daisy chain). Se presupune existenta a
cinci dispozitive de I/O care cer simultan accesul la magistral prin linia de BUS
REQUEST, iar arbitrul le rspunde prin linia de acordare a magistralei (BUS
GRANT).
Circuitele I/O care pot deveni master sunt legate printr-un SAU cablat la
linia de cerere de magistral BUS REQUEST. Cnd cel putin unul dintre circuite
cere accesul la magistral, arbitrul este sesizat, iar cnd este posibil (cnd
magistrala este liber) acesta acord accesul la magistral printr-o linie de acordare
a magistralei (BUS GRANT), astfel nct arbitrul nu vede dect o singur cerere,
chiar dac mai multe circuite cer accesul (vezi figura 4.7).
BUS REQUEST
BUS GRANT Dispozitive I/O
Fig. 4.7. Algoritmul cu prioritti statice (daisy chain).
arbitru
1 2 3 4 5
ARHITECTURA SISTEMELOR DE CALCUL
190
Linia de acordare a magistralei traverseaz n serie cele cinci circuite de I/O
(pe aceast linie dispozitivele I/O sunt asezate n cascad). Cnd primul circuit I/O
receptioneaz acordarea magistralei, el cunoaste dac are sau nu nevoie de
magistral, adic dac a formulat cererea de acces sau nu. Dac are nevoie, el accept
magistrala si preia controlul ei, iar dac nu, permite propagarea semnalului de
acordare mai departe, ctre circuitul urmtor. Prioritatea scade de la stnga spre
dreapta (prioritatea este direct proportional cu apropierea de arbitru).
n cele ce urmeaz se va prezenta o variant care permite existenta mai
multor niveluri de prioritate. Aceasta va cuprinde dou niveluri de ierarhizare:
primul cuprinde circuitele 1 si 2, iar cel de-al doilea cuprinde circuitele 3, 4 si 5.
Astfel, rezult dou linii de acordare a magistralei.
Pentru fiecare nivel de prioritate exist o linie de cerere de magistral si o
linie de acordare de magistral. Dispozitivele I/O pot fi repartizate n diferite
moduri pe nivelurile de prioritate (fig. 4.8).
BUS REQUEST 1
BUS REQUEST 2
BUS GRANT 1
BUS GRANT 2
Fig. 4.8. Repartizarea dispozitivelor I/O pe nivele de prioritate.
O alt variant ar fi urmtoarea: n unele scheme de arbitraj poate fi folosit o
linie care specific starea BUS BUSY (ocuparea magistralei), activat de unitatea ce
preia controlul magistralei. Odat ce linia de ocupare a magistralei a fost activat, se
dezactiveaz cererea de acces la magistral, aceasta permitnd altor unitti s cear
accesul n timpul transferului de date pe magistral si, mai mult chiar, permitnd
arbitrului de magistral s fac o preselectie a unittii care are prioritate. Astfel, odat
ce transferul de date pe magistral a luat sfrsit, magistrala este eliberat si unitatea
preselectat preia controlul magistralei (aceast tehnic este mai eficient). De obicei,
aceast variant cu preselectie si BUS BUSY este folosit la magistralele Motorola.
Algoritmul cu cereri independente. Acest algoritm reprezint cel mai
general caz de arbitraj al magistralei, dar din punct de vedere hardware este greu de
implementat. Fiecare dispozitiv emite o cerere de bus independent ctre arbitru.
Acesta rspunde pe linii separate dispozitivelor. Dispozitivul care primeste rspuns
afirmativ poate folosi magistrala. Logica de acordare a magistralei este
implementat n arbitru.
Figura 4.9. prezint un exemplu de schem de arbitraj cu cereri independente.
arbitru
1 2 3 4 5
Structura unui calculator
191
Fig. 4.9. Algoritmul cu cereri independente.
Notatiile folosite:
BR = linia de cerere de magistral (BUS REQUEST);
BG = linia de acordare a magistralei (BUS GRANT);
ACK = linia de confirmare (ACKnowledge)
BUS = magistrala.
Algoritmul cu interogare ciclic (polling). Exist log
2
m linii de interogare
pentru cele m dispozitive. Dispozitivele sunt prevzute cu cte un decodor pentru a
recupera codul de interogare. Dispozitivul care si recunoaste codul de interogare
activeaz semnalul de confirmare ACK (acknowledge) si preia controlul
magistralei.
Arbitrul ntrerupe ciclul de interogare pn cnd dispozitivul cruia i s-a
acordat magistrala si ncheie operatiile pe magistral (vezi figura 4.10). Prioritatea
fiecrui dispozitiv este setat n codul de interogare.
n majoritatea sistemelor de calcul, unitatea central trebuie s negocieze
accesul la magistral n acelasi mod cu celelalte unitti. n general, unitatea
central are prioritatea cea mai sczut; ea utilizeaz magistrala doar cnd nici un
alt circuit nu are nevoie de ea. Aceasta permite circuitelor I/O s realizeze transferul
de date atunci cnd este necesar, fr s apar pericolul de pierdere a datelor.
Pentru fiecare nivel de prioritate exist o linie de cerere de magistral si o
linie de acordare de magistral.
BUS
ACK
BG 1
BG 2
BG m
BR m
BR 2
BR 1
arbitru
1 2 m
ARHITECTURA SISTEMELOR DE CALCUL
192
Fig. 4.10. Algoritmul cu interogare ciclic (polling).
n majoritatea sistemelor de calcul, unitatea central trebuie s negocieze
accesul la magistral n acelasi mod cu celelalte unitti. n general, unitatea central
are prioritatea cea mai sczut; ea utilizeaz magistrala doar cnd nici un alt circuit
nu are nevoie de ea. Aceasta permite circuitelor I/O s realizeze transferul de date
atunci cnd este necesar, fr s apar pericolul de pierdere a datelor.
Structura descentralizat
n aceast structur nu exist un arbitru veritabil de magistral (circuit fizic),
ci fiecare unitate si gestioneaz singur accesul la magistral realiznd o parte din
functiile arbitrului.
Exemplu. La sistemele VAX, exist 16 niveluri de prioritate si fiecruia i
este asociat o linie de cerere de magistral (sistemul poate accepta maximum 16
unitti, potentiali master de magistral).
Cnd o unitate doreste s utilizeze magistrala, ea activeaz propria linie de
cerere de magistral; la finele transferului de date curent de pe magistral, fiecare
unitate examineaz cererile de acordare a magistralei. Circuitele logice de pe fiecare
unitate permit accesul la magistral doar unittii cu cea mai mare prioritate, iar pentru
celelalte unitti accesul nu este permis.
Avantajul este c permite o implementare simpl, iar dezavantajul, c
necesit mai multe linii, deoarece fiecare unitate receptioneaz cele 16 linii.
Exemplu. Pentru sistemele Intel se foloseste schema de arbitraj din figura 4.11.
Pentru gestiunea magistralei sunt utilizate:
linia de cerere de magistral BUS REQUEST (SAU cablat);
linia care semnific ocuparea magistralei BUS BUSY, activat de
circuitele ce ocup magistrala (de masterul magistralei);
linia de arbitraj ARBITRATION LINE, pe care unittile sunt asezate n
cascad (conform structurii centralizate);
log
2
m linii
de interogare
confirmare
ACK
BUS REQUEST
BUS
arbitru
1 2 m
Structura unui calculator
193
BUS REQUEST BUS BUSY
ARBITRATION LINE
+ 5V
Fig. 4.11. Structura descentralizat de arbitraj al magistralei.
conexiunea la +5V (1 logic). Acest +5V nseamn nivelul activ al liniei:
dac nici un circuit nu cere accesul pe magistral, potentialul de +5V se
propag pe toat linia de arbitraj (toate unittile n repaus pleac de la o
prioritate egal).
Pentru a obtine accesul la magistral, o unitate trebuie s verifice:
1. dac magistrala este liber;
2. dac semnalul BUS BUSY este dezactivat;
3. dac linia de arbitraj prezent la intrarea sa este liber.
Dac aceste trei conditii sunt ndeplinite, unitatea pune n 0 iesirea sa, ceea
ce are ca efect propagarea strii de 0 pe linia de arbitraj pentru toate unittile care
urmeaz.
n acest moment exist o singur unitate care are intrarea activ (n +5V) si
iesirea inactiv (n 0), ceea ce face ca aceast unitate s devin masterul
magistralei; ea activeaz linia de BUS BUSY si este liber s efectueze transferul
pe magistral.
Lantul de prioritti la structura descentralizat este, deci, urmtorul: o unitate
obtine accesul la magistral naintea unittii de la dreapta sa, dar dup cele de la
stnga.
Avantajele schemei fat de structura cu arbitru sunt simplitatea (arbitrul de
magistral lipseste si sunt trei teste de efectuat pentru unitti) si rapiditatea.
Algoritmul cu prioriti dinamice (rotating daisy chain). Acest algoritm
reprezint varianta descentralizat a algoritmului cu prioritti statice (daisy chain).
Pentru algoritmul cu prioritti dinamice nu mai exist arbitru de magistral. Acest
bloc este divizat n subblocuri descentralizate (vezi figura 4.12).
Semnalul de acordare de magistral este conectat n bucl nchis ntre
subblocurile de control ale magistralei.
Subblocul conectat cu dispozitivul care a preluat controlul magistralei devine
master, modificnd astfel distanta dintre dispozitive si subblocul de arbitraj.
Dispozitivul care a preluat controlul magistralei va avea la urmtoarea cerere de
magistral prioritatea minim.
Subblocurile de arbitraj comunic ntre ele pentru a arbitra cererea de
magistral prin semnalele BUS REQUEST si ACK. De asemenea, exist legturi
electrice pentru dialog ntre fiecare subbloc de control al magistralei si dispozitivul
asociat.
1 2 3 4 5
ARHITECTURA SISTEMELOR DE CALCUL
194
Fig. 4.12. Algoritmul cu prioritti dinamice (rotating daisy chain).
4.3.4.6. Magistrala VME
Magistrala VME (Versa Module Eurocard) este un exemplu de magistral
asincron, de nalt performant, proiectat pentru utilizarea intensiv n mediul
industrial; ea contine 32 de linii de adrese si 32 de linii de date. Pe lng aplicatiile
industriale, este utilizat si n minicalculatoare.
Magistrala VME a fost dezvoltat din magistrala Versa Bus a firmei
Motorola, iar specificatiile pentru magistrala VME sunt continute n norma IEEE
P1014. Spre deosebire de magistrala IBM PC, magistrala VME a fost proiectat
urmrind trei scopuri: interoperabilitatea, performanta si fiabilitatea.
Magistrala VME se prezint sub trei forme: VSB, VMS si VME. Aceste
magistrale specifice sunt bine adaptate la realizarea unor sisteme de calcul variate,
de la scheme de dezvoltare si pn la sisteme multiprocesor.
Fiecare procesor dispune de o memorie local, legat prin VSB, care este o
magistral local proprie magistralei VME. n memoria local se afl toate
programele si datele asociate unui procesor. Instructiunile referitoare la memoria
global sunt singurele care necesit utilizarea magistralei VME, celelalte
instructiuni merg pe magistrala VSB.
n consecint, performanta global a sistemului este superioar limitei de
40MB/s impuse de tehnologia VME.
Exemplu. La sistemele cu 16 procesoare care fac acces la cuvinte de 32 de
biti, cu un ciclu de magistral de 200 ns, lrgimea de band calculat este de 320
MB/s. Dac se face presupunerea c 90% din accesele la memorie sunt efectuate n
memoriile locale (ipotez realist), rezult c magistrala VME va fi ncrcat doar la
valoarea de 32MB/s (adic restul de 10%), ceea ce este mai putin de 40MB/s
(valoare impus de tehnologia VME).
1 2 m
BUS
GRANT
ACK
BUS
REQUEST
BUS
Structura unui calculator
195
Familia VME cuprinde o magistral serie pe care comunicatiile se realizeaz
prin transmisiuni seriale (VMS). Magistrala VMS este independent de celelalte
dou si ofer o lrgime de band de 30Mb/s (la transmisia serial banda se exprim
n megabiti pe secund, nu n megaocteti pe secund). Ea corespunde necesittilor
de comunicatie cu debit sczut sau transferului informatiilor de sincronizare ntre
procesoare. Magistrala VMS este asemntoare unei retele locale, ea fiind bazat
pe un cablu coaxial.
Exemplul 1: sistem cu trei plci VME: procesor, memorie, controler I/O.
Fig. 4.13. Exemplu simplu de magistral VME.
Exemplul 2: sistem multiprocesor.
VSB BUS
VME BUS
VMS BUS
ML = memorie local MP = memorie partajat
Fig. 4.14. Exemplu complex de magistral VME.
Magistralele VME, VSB si VMS sunt magistrale pe care comunicatiile au
loc independent si simultan, nefiind sincronizate.
Magistralele VME cuprind patru grupe de linii: liniile de date, liniile de
arbitraj al magistralei, liniile de ntreruperi si liniile de comand.
n ceea ce priveste unittile implicate n transferul de pe liniile de date,
exist, pe lng modulele master si slave, nc dou tipuri de unitti functionale
care particip la schimbul de date pe magistral: monitorul de urmrire si
supervizorul de magistral.
UC M I/O
Magistral VME
ML ML ML
UC UC MP UC
ARHITECTURA SISTEMELOR DE CALCUL
196
Monitorul de urmrire analizeaz traficul de pe magistral si genereaz o
ntrerupere atunci cnd detecteaz o actiune sau o adres anormal (are rolul de a
semnaliza o actiune nepermis).
Exemplu. O tentativ de scriere n memorie ntr-o zon protejat este
recunoscut de monitorul de urmrire si oprit prin cererea de ntrerupere a
procesorului).
Monitorul de urmrire nregistreaz n memorie ntr-un spatiu cu n pozitii
semnalele care tranziteaz magistrala. Aceasta nseamn c este posibil
vizualizarea ultimelor cicluri de magistral care au precedat cererea de ntrerupere,
de unde rezult c utilizatorul poate detecta eventualele anomalii de pe magistral.
Supervizorul de magistral ndeplineste functia de urmrire temporal a
semnalelor de pe magistral.
Exemplu. Dac un ciclu de magistral este prea lung, rezult o eroare de
adresare, recunoscut prin faptul c nu exist nici un element care s rspund
acestei adresri. Rolul supervizorului de magistral este important datorit faptului
c fr interventia acestuia exist posibilitatea ca ciclul de magistral s se
prelungeasc un timp nedefinit, ceea ce ar duce la blocarea magistralei.
Pe liniile de arbitraj, magistrala VME suport mai multe scheme de lucru,
dintre care, n general, sunt recomandate trei: arbitrajul simplu, arbitrajul cu
prioritti fixe si arbitrajul cu prioritti circulare.
Arbitrajul simplu presupune existenta unui lant de unitti pe un singur nivel.
Arbitrajul cu prioriti fixe permite existenta mai multor niveluri de
prioritate, ntre care se stabileste o anumit ordine.
Arbitrajul cu prioriti circulare implic nlntuirea ciclic a unittilor,
existnd astfel posibilitatea unui transfer continuu al priorittilor. El presupune
existenta unor linii de cerere de magistral cu aceeasi prioritate; la magistrala VME
exist patru astfel de linii de cerere de magistral. Acestea functioneaz astfel: la
primul ciclu de magistral este servit cererea sosit pe linia 0, la ciclul urmtor
cererea sosit pe linia 1 s.a.m.d. Dac nu exist nici o cerere pe linia considerat,
atunci se analizeaz linia urmtoare. Unittile care pot deveni master sunt legate n
lant la cele patru linii.
Oricare ar fi schema de arbitraj utilizat, o unitate master care doreste
accesul la magistral transmite o cerere n acest sens ctre arbitru pe o linie
corespunztoare; cnd cererea este satisfcut si se obtine magistrala, acea unitate
master transmite arbitrului un semnal de ocupare a magistralei si anuleaz cererea
sa. n acest mod, devine posibil alocarea anticipat a magistralei unei alte unitti
care o solicit. Noua unitate master care a adresat cererea de magistral ocup
magistrala imediat dup eliberarea acesteia. Aceast facilitate de alocare anticipat,
care provine din modul de lucru al procesoarelor Motorola, permite o mbunttire
net a performantelor magistralei.
n plus, la magistrala VME arbitrului de magistral i este permis
suspendarea activittii unui master de prioritate sczut angajat ntr-o secvent
lung pe magistral (de exemplu, ntr-un transfer de blocuri de date). Acest lucru se
ntmpl atunci cnd un master cu prioritate mare face o cerere de magistral.
Structura unui calculator
197
4.3.5. Magistrala memoriei
Magistrala memoriei este utilizat pentru transferul informatiilor ntre CPU
si memoria principal memoria RAM a sistemului. Aceast magistral este o
parte din magistrala procesorului sau, de cele mai multe ori, este implementat
separat cu un set special de cipuri care este responsabil de transferul informatiilor
ntre magistrala procesorului si memorie.
Sistemele cu frecvent mare a plcii de baz lucreaz la viteze care depsesc
uneori posibilittile cipurilor DRAM standard. n astfel de sisteme este utilizat un set
de cipuri, controlerul memoriei, care realizeaz interfata ntre magistrala rapid a
procesorului si memoria principal, mai lent (vezi figura 4.15). Acest set de cipuri
este n general acelasi cu setul de cipuri responsabil cu gestionarea magistralei I/O.
Fig. 4.15. Schema de interconectare a magistralelor unui calculator.
Informatia care circul prin magistrala memoriei este transferat la o vitez
mult mai mic dect viteza de transfer a informatiei pe magistrala procesorului.
Ltimea magistralei de memorie este ntotdeauna egal cu cea a magistralei
procesorului. Dac procesorul are 32/64 biti, magistrala memoriei are tot 32/64 biti.
Procesoarele mai noi aduc o nou arhitectur a plcii de baz, cu dou cipseturi:
northbridge si southbridge, ntre care sarcinile sunt mprtite (vezi figura 4.16 si 4.17).
Chipul northbridge, cunoscut ca Memory Controller Hub (MCH), se ocup de
comunicatiile ntre CPU, memorie, grafic, interfete si southbridge. Unele northbridge-
uri contin controlere video integrate, numite Graphics and Memory Controller Hub
(GMCH). Deoarece diversele procesoare si RAM-ul necesit semnale diferite, un
northbridge va functiona doar cu una sau dou clase de CPU si cu un singur tip de RAM.
Magistrala memoriei
Magistrala principal a
sistemului
Magistrala procesorului
CPU Cache extern
Cipurile
controlerului
de memorie
RAM
Magistrala principal a
sistemului
ARHITECTURA SISTEMELOR DE CALCUL
198
Fig. 4.16. Arhitectura northbridge-southbridge.
Fig. 4.17. Arhitectura northbridge-southbridge la procesoare dual-core n sisteme server.
n forma sa cea mai simpl, southbridge integreaz controlere I/O, furnizeaz
interfata cu perifericele si magistralele si transfer date din/n northbridge, fie prin
magistrala PCI la modelele mai vechi (care creeaz efectul de gtuire bottleneck),
fie prin interconexiunea proprie (o interfat de nalt performant), la cipurile mai
recente. Southbridge este cunoscut ca I/O Controller Hub (ICH). Spre deosebire de
northbridge, southbridge nu este conectat direct la CPU, avnd n responsabilitate
dispozitivele mai lente. Un anumit southbridge va functiona cu mai multe tipuri de
northbridge, dar aceste cipuri trebuie proiectate s lucreze mpreun.
Structura unui calculator
199
4.3.6. Magistrala de adrese
Magistrala de adrese este o parte a magistralei procesorului si a celei de
memorie. Magistrala unui sistem Pentium are 64 de linii de date, 32 linii de adrese
si cteva linii de comand. Aceste linii de adrese constituie magistrala de adrese; n
multe scheme bloc este inclus n magistrala procesorului si n cea a memoriei.
Magistrala de adrese este folosit pentru a indica adresa de memorie sau
adresa de pe magistrala sistemului care va fi utilizat n cadrul operatiei de transfer
al datelor. Magistrala de adrese indic precis locul n care va avea loc urmtorul
transfer n memorie sau pe magistral. Dimensiunea magistralei de memorie
determin mrimea memoriei pe care unitatea central o poate adresa direct.
4.3.7. Magistrala I/O
Magistrala I/O permite procesorului s comunice cu dispozitivele periferice.
Magistrala si sloturile sale de extensie asociate sunt necesare pentru c nu este
posibil ca sistemele de baz s satisfac toate necesittile tuturor celor care le
achizitioneaz. Magistrala I/O permite adugarea de dispozitive calculatorului
pentru a-i extinde posibilittile. Componentele de baz ale calculatorului, cum ar fi
controlerele de hard disk si plcile adaptoare video, pot fi atasate sistemului prin
intermediul sloturilor de extensie; de asemenea, se pot atasa dispozitive mai
specializate, cum ar fi adaptoarele de retea etc.
De la aparitia primului PC, s-au introdus mai multe tipuri de magistrale I/O
(ISA, MCA, EISA etc.). mbunttirea performantelor vizeaz trei domenii principale:
procesoare mai rapide;
cerinte software sporite;
cerinte video mai mari.
Fiecare dintre aceste trei cerinte impune ca magistrala I/O s fie ct mai
rapid posibil. Aproape toate sistemele PC livrate n prezent folosesc nc aceeasi
arhitectur de magistral ca la modelul IBM PC/AT din 1984. Dar, cele mai multe
dintre aceste sisteme contin acum si o magistral local de mare vitez, cum este
VLBus sau PCI, care ofer un nivel de performant mai ridicat pentru adaptoarele
care solicit asa ceva. Standardizarea este una dintre caracteristicile care au
determinat succesul sistemelor PC.
Aceste tipuri de magistrale se deosebesc prin volumul datelor transferate
simultan si prin viteza cu care se realizeaz acest transfer. Arhitectura magistralei
este realizat cu un set de cipuri care este conectat la magistrala procesorului. n
general, aceste cipuri controleaz si magistrala memoriei.
4.3.7.1. Serial ATA
SATA (Serial Advanced Technology Attachment) este o magistral construit
n mod special pentru transferul de date ntre calculator si echipamente de stocare, cum
ar fi hard disk-ul sau unittile optice. Principalele avantaje fat de vechile interfete
ARHITECTURA SISTEMELOR DE CALCUL
200
Parallel ATA sunt transferurile de date mai rapide, abilitatea de a deconecta sau
instala echipamente n timp ce calculatorul este functional (hot swapping), cabluri
mai subtiri care permit sistemului de rcire cu aer s functioneze mai eficient si
operatii mai sigure cu verificri de integritate ale datelor mai riguroase.
Interfata standard pentru controlerele SATA este AHCI (Advanced Host
Controller Interface), care permite s fie folosite specificatiile avansate ale SATA
cum ar fi hot plug sau NCQ (Native Command Queuing). Dac interfata AHCI nu
este implementat pe placa de baz, controlerele SATA ruleaz ntr-un mod care
emuleaz interfata IDE, dar n acest mod nu se pot beneficia de nici una din
caracteristicile SATA enumerate mai sus. Driver-ele native din sistemul de operare
Windows XP nu suport interfata AHCI, n timp ce sistemul de operare Windows
Vista si versiunile curente din Mac OS ofer acest suport.
Valorile ratei de transfer a generatiilor interfetei SATA sunt de 1,5 Gb/s si
3,0 Gb/s. Exist planuri de viitor pentru un standard de 6 Gb/s, care ar fi n
momentul de fat folositor n tandem cu multiplicatori de porturi, pentru a permite
mai multor discuri s fie conectate la un singur port SATA, mprtind lrgimea de
band a portului ntre respectivele discuri.
SATA este o arhitectur de tip punct-la-punct (point-to-point), iar
conexiunea ntre controler (H host) si echipamentele de stocare (D device,
maximum 8 porturi) este una direct (vezi figura 4.18).
Fig. 4.18. Topologia SATA.
n PC-urile actuale, controlerul SATA este de cele mai multe ori plasat pe
placa de baz sau instalat pe un slot PCI. Unele controlere SATA au mai multe
porturi SATA si pot fi astfel conectate la mai multe echipamente, acestea avnd un
identificator unic pe 64 de biti. Exist, de asemenea, si porturi de expansiune (M)
care permit conectarea prin cabluri (C, lungime 2 m) a mai multor echipamente
(maximum 16) la un singur controler de port SATA.
Protocoalele de transmisie de mare vitez folosesc o codare de tip 8b/10b, iar
semnalul este trimis folosind algoritmul NRZ (Non Return to Zero), cu semnale de
voltaj mic, diferentiale (LVDS). n codarea de tip 8b/10b, semnalul de sincronizare
este inclus n secventa de date. Aceast tehnic este numit clock data recovery
(recuperarea ceasului cu ajutorul datelor), deoarece nu foloseste un semnal de
sincronizare separat. n schimb, are nevoie de o tranzitie de la 0 la 1 n sirul de date
serial pentru a face sincronizarea.
Varianta extern la magistralei SATA se numeste eSATA (introdus n 2004).
Structura unui calculator
201
4.3.7.2. Magistrala SCSI
Small Computer System Interface (SCSI) este un standard al industriei
calculatoarelor ce are rolul de a conecta computerele cu dispozitivele periferice ca:
hard disk-uri, driverele CD-ROM, imprimante, scanere si orice alt dispozitiv care
trebuie s transfere cantitti mari de date ntr-un timp foarte scurt.
Standardul SCSI specific interfata hardware si software la un nivel care
minimizeaz subordonarea fat de orice alt implementare hardware. Specificatia
permite conectarea unei mari varietti de periferice la multe tipuri de calculatoare.
O magistral SCSI este un tip de magistral care se conformeaz cerintelor
fizice si electrice ale standardului SCSI standard. Un dispozitiv SCSI (tint) se
supune oricrei unitti conectate la magistrala SCSI, fie c este vorba despre un
echipament periferic sau un calculator. Fiecrui dispozitiv SCSI i este atribuit un
ID SCSI (o valoare ntreag, care identific unic dispozitivul n timpul operatiilor).
Fazele magistralei SCSI sunt intervale de timp de-a lungul crora, prin
conventie, anumite semnale de control sunt permise, iar altele nu sunt. Magistrala
SCSI nu poate fi n mai mult de o faz la un anumit moment de timp.
Pentru fiecare dintre fazele magistralei, exist un set de faze permise care o
pot urma. De exemplu, faza de magistral liber poate fi urmat numai de faza de
arbitraj sau de orice alt faz de magistral liber. O faz de date poate fi urmat de
o comand, o stare, un mesaj sau de o faz de magistral liber. Semnalele de
control directioneaz tranzitia de la o faz la alta. De exemplu, semnalul de resetare
invoc faza de magistral liber, n timp ce semnalul de atentie invoc faza de mesaj.
Standardul SCSI specific opt faze distincte pentru magistrala SCSI :
1. Magistrala liber: aceast faz indic faptul c nici un dispozitiv SCSI
nu foloseste magistrala si c magistrala este liber pentru orice alt operatie SCSI.
2. Arbitrajul: aceast faz este precedat de faza de magistral liber si
permite unui dispozitiv SCSI s cstige control asupra magistralei. n timpul
acestei faze, toate dispozitivele care doresc s foloseasc magistrala si pun ID-ul
pe magistral (folosind semnalele de date). Semnalul cu cel mai mare ID cstig.
3. Selecia: aceast faz urmeaz fazei de arbitraj. Dispozitivul care a
cstigat faza anterioar foloseste aceast etap pentru a selecta un alt dispozitiv cu
care s comunice.
4. Reselecia: aceast faz, optional, este folosit de sisteme care permit
echipamentelor periferice s se deconecteze si s se reconecteze (de) la magistral
n timpul operatiilor ndelungate.
5. Comanda: de-a lungul acestei faze, tinta cere o comand de la initiator.
6. Datele: faza de date are loc cnd tinta cere un transfer de date (de) la initiator.
7. Starea: aceast faz are loc cnd tinta cere ca informatia de stare s fie
trimis la initiator.
8. Mesajul: faza de mesaj are loc cnd tinta cere transferul unui mesaj.
Mesajele sunt mici blocuri de date care transport informatia sau cererea ntre
initiator si tint. n aceast faz, pot fi trimise mesaje multiple.
mpreun, ultimele patru faze (comand, date, stare, mesaj) sunt cunoscute
ca fazele de transfer al informatiei.
ARHITECTURA SISTEMELOR DE CALCUL
202
Fig. 4.19. Fazele magistralei SCSI si tranzactiile permise.
Figura 4.19 arat legtura dintre fazele magistralei SCSI.
Varianta serial a magistralei SCSI se numeste Serial Attached SCSI (SAS),
care este un protocol de tip punct-la-punct (cu vitez de transfer de 6 Gb/s n 2009).
4.3.8. Magistrala local
Magistralele I/O prezentate au o latur comun: viteza relativ sczut. n
timp ce viteza magistralei procesorului a crescut, magistrala I/O a cunoscut doar
ajustri ale vitezei nominale, n principal prin cresterea ltimii de band.
Solutiile bazate pe magistrala local nu nlocuiesc standardele existente, ci
sunt proiectate pentru a le mbuntti. De aceea, un sistem uzual este bazat pe
standardele I/O si, n acelasi timp, este dotat cu unul sau mai multi conectori Local
Bus. Un exemplu de magistral local la Intel 80486 este VLBus (VESALocal Bus).
4.3.8.1. Magistrala PCI
Magistrala PCI (Peripheral Component Interconnect) este numit adesea si
magistral mezanin, oarece ea adaug un alt nivel configuratiei de magistral.
PCI ocoleste magistrala standard I/O, folosind magistrala sistemului (pentru a
creste viteza ceasului) si toate avantajele cilor de date (vezi figura 4.20).
La magistrala PCI standard, informatiile se transfer la 33 MHz, utiliznd
toat ltimea cuvntului. Lrgimea de band este de 132 MB/s. Cnd magistrala
este folosit cu o unitate CPU pe 64 biti, lrgimea de band se dubleaz, aceasta
nsemnnd c datele se pot transfera la viteze de pn la 264 MB/s. n realitate,
vitezele de transfer ale datelor vor fi n mod necesar mai mici, dar ele rmn n
continuare mult mai mari dect la orice alt variant anterioar.
Una dintre cauzele acestui transfer mai rapid este faptul c magistrala PCI
lucreaz n paralel cu magistrala procesorului, fr s o nlocuiasc. Unitatea CPU
poate procesa date n memoria cache extern, n timp ce magistrala PCI este
ocupat cu transferarea informatiilor ntre alte elemente ale sistemului, ceea ce
constituie un avantaj major al magistralei PCI.
Structura unui calculator
203
Fig. 4.20. Schema de principiu a magistralei PCI.
Activitatea magistralei se manifest sub forma unor transferuri ntre un
initiator (master) si o tint (slave). Dup ce un master a obtinut controlul
magistralei, determin tipul transferului care va urma. n timpul fazei de adresare
liniile C/BE informeaz despre tipul ciclului de magistral.
Ciclurile de magistral sunt:
1. Acceptare ntrerupere. Este un ciclu de citire conceput pentru dispozitivele
care functioneaz cu rol de controler de ntreruperi PCI. Liniile de adres nu sunt
folosite n faza de adresare, iar n faza de date este indicat vectorul de ntrerupere.
2. Ciclu special. Este folosit de initiator pentru a emite mesaje ctre una sau
mai multe tinte.
3. Citire I/O. Este un ciclu de transfer de date ntre initiator si un dispozitiv
I/O. Fiecare dispozitiv I/ O are alocat un spatiu propriu de adresare.
4. Scriere I/O.
5. Citire din memorie. Citirile din memorie se pot executa n salv, pe
blocuri, functie de modul n care controlerul de memorie gestioneaz transferurile
ntre memorie si cache. Se citeste o jumtate de linie de cache sau mai putin, n
salv fiind unul sau dou cicluri de citire.
6. Citire o linie din memorie. Se citeste mai mult de o jumtate de linie de
cache, dar mai putin de trei linii, n salv fiind ntre 3 si 12 cicluri de citire.
7. Citire multipl din memorie. Se citesc mai mult de 3 linii de cache, n
salv fiind mai mult de 12 cicluri de citire.
8. Scriere n memorie
ARHITECTURA SISTEMELOR DE CALCUL
204
9. Scriere n memorie si invalidare. Scrierea se poate face, de asemenea, n
salv. Se respect modul Write Back pentru scrierea din cache n memorie.
10. Citire configuratie. Fiecare dispozitiv PCI include un set de 256 de
registre interne, care se folosesc n faza de configurare. n acest tip de ciclu,
dispozitivul master poate citi registrele de configurare.
11. Scriere configuratie. n acest tip de ciclu, dispozitivul master poate
modifica registrele de configurare.
12. Ciclu de adresare dual. Este folosit de initiator pentru a arta c apare o
adresare pe 64 de biti.
Orice transfer de date pe magistrala PCI const ntr-o faz de adresare si una
sau mai multe faze de date. n figura 4.21 este reprezentat un transfer de citire.
Fig. 4.21. Fazele unui transfer de citire pe magistrala PCI.
Linii implicate n acest transfer sunt:
CLK tactul de magistral PCI, 33MHz-133MHz;
AD liniile multiplexate pentru adrese si date;
C/BE liniile multiplexate pentru comenzi de magistral sau Byte Enable. n
timpul fazei de date, arat care din cei 4 octeti de date poart date semnificative;
FRAME semnalul generat de initiatorul curent, pentru a indica startul unui
transfer. Este dezactivat cnd initiatorul ncepe faza final de date.
IRDY initiator pregtit, generat de masterul curent. La citire, indic faptul c
masterul este gata s accepte date, iar, la scriere, c pe AD sunt prezente date valide.
TRDY tint pregtit, generat de modulul selectat (tint). La citire, pe AD
sunt prezente date valide, iar la scriere indic faptul c tinta este gata s accepte date.
DEVSEL semnalul activat de tint cnd si recunoaste adresa.
Functionarea este urmtoarea:
Structura unui calculator
205
1. De ndat ce masterul are controlul magistralei, poate ncepe transferul
activnd FRAME. Linia rmne activ pn initiatorul termin ultima faz de date.
Initiatorul pune adresa pe AD si comanda de citire pe liniile C/BE.
2. Tinta si recunoaste adresa pe liniile AD.
3. Initiatorul cedeaz magistrala tintei (ncepnd cu tactul 3). Initiatorul
schimb informatia pe liniile C/BE, pentru a indica pe care dintre liniile AD se vor
transmite datele de la tint (1 pn la 4 octeti).
4. Tinta selectat activeaz DEVSEL, pentru a semnaliza c a recunoscut
adresa, apoi pune datele pe liniile AD (primul octet) si activeaz TRDY.
5. Tinta are nevoie de timp pentru a pregti urmtorul octet de date.
6. Tinta dezactiveaz TRDY, pentru a informa initiatorul c pe urmtorul
tact nu vor exista date valide. Ca urmare, initiatorul nu va citi datele la nceputul
tactului 5, ci la nceputul tactului 6. S-a inserat astfel o stare de WAIT.
7. Dup tactul 6, tinta pune pe magistral al treilea octet de date. Se
presupune de data aceasta c initiatorul nu este gata s preia datele (are, de
exemplu, buffer-ul plin). Initiatorul dezactiveaz IRDY, ceea ce are ca efect
mentinerea datelor de ctre tint un tact suplimentar (datele nu se citesc la
nceputul tactului 7, ci la nceputul tactului 8).
8. Initiatorul dezactiveaz semnalul FRAME si activeaz semnalul IRDY,
pentru a semnala c este gata s finalizeze transferul.
9. Initiatorul dezactiveaz IRDY, permitnd magistralei s treac n starea initial.
Tinta a detectat dezactivarea semnalului FRAME si dezactiveaz TRDY si DEVSEL.
4.3.8.2. Magistrala AGP
AGP (Accelerated Graphics Port) este o magistral dedicat comunicrii cu
display-ul, accesibil prin intermediul unui slot special, aflat pe placa de baz, n care
se monteaz placa grafic. AGP a fost introdus pentru a degreva magistrala PCI de
comunicatia cu display-ul si pentru a mri banda transferurilor de date ctre acesta.
AGP a fost aprut n 1997, odat cu procesorul Pentium II si cipsetul
62440LX. Acest cipset, primul care a implementat controlul comunicatiei pe AGP,
intermedia transferul de date ntre procesorul Pentium II, aflat mpreun cu
memoria cache L2 n modulul SECC (Single Edge Contact Cartridge), memoria
principal, magistrala PCI si placa grafic montat n slotul AGP (vezi figura 4.22).
AGP d plcii grafice posibilitatea de a accesa direct memoria principal,
printr-o procedur numit DIME (Direct Memory Execute). Cu DIME, adresarea
memoriei se face n pipeline, mod care const n a lansa mai multe cereri pe durata
unui acces la memorie (spre deosebire de PCI, care lanseaz o nou cerere numai
cnd cea anterioar a fost satisfcut). Cererile formeaz o coad de asteptare,
printr-un proces denumit SBA (Sideband Addressing).
Magistrala AGP are la baz standardul PCI versiunea 2.1. AGP are 32 de linii
si lucreaz la 66 MHz, spre deosebire de PCI, a crei frecvent este de 33 MHz.
Banda primei magistrale AGP era de 264 MB/s (dubl fat de PCI). Ulterior, au
aprut plci grafice care suportau transferul de date pe ambele fronturi ale semnalului
de ceas (2-mode transfer) si banda s-a dublat ajungnd la 528 MB/s (AGP 2).
ARHITECTURA SISTEMELOR DE CALCUL
206
Fig. 4.22. Configuratia magistralelor la PC-urile cu procesor Pentium II.
Versiunea AGP 2.0, cunoscut si ca AGP 4, defineste un nou mod de
transfer 4x-mode transfer constnd n patru transferuri de date pe o perioad de
ceas, banda fiind de 1,066 GB/s. O nou versiune, lansat n 2001, AGP 8,
dubleaz nc o dat banda de transfer, care depseste, astfel, valoarea de 2 GB/s.
4.3.9. Magistrala serial
4.3.9.1. Magistrala USB
Acest tip de magistral a aprut n toamna anului 1995. La crearea lui au
contribuit mai multe firme de renume, cum ar fi DEC, Compaq, IBM, NEC,
Northern Telecom. Odat cu aparitia USB, dispare multitudinea de cabluri si
conectori necesar conectrii diverselor periferice: tastatur, mouse, imprimant,
joystick, scaner sau modem extern. n partea din spate a calculatorului exist un
singur conector de la care pornesc datele spre tastatur, periferice si monitor.
Aceste aparate functioneaz ca distribuitori (hub) pentru alte aparate. De asemenea,
calculatorul preia rolul de gazd (host), gestionnd diversele comunicatii.
Magistrala USB este dirijat exclusiv de calculatorul gazd.
Practic, la aceast magistral poate fi conectat orice periferic echipat cu un
controler USB, dar, datorit ratei de transfer de 12 Mb/s, sunt vizate n primul rnd
echipamentele audio-video, telefonia digital, modemurile, tastaturile, tabletele
digitizoare, unittile CD si DVD, unittile HDD externe etc.
Dup cum s-a artat n paragraful 3.4.4.1, un host USB comunic cu
dispozitivele conectate prin intermediul unor canale logice (pipes), care au niste
terminale logice pe dispozitive numite endpoints.
Structura unui calculator
207
Pipe-urile se mpart n patru categorii, dup tipurile de transfer folosite:
modul control folosit, de obicei, pentru comenzi simple ctre
dispozitive, primind ca rspuns starea dispozitivului periferic la un
moment dat (de exemplu, pipe-urile de management 0);
modul izocron garanteaz o vitez (nu neaprat cea maxim), dar cu
posibilitti de a pierde date (de exemplu, aplicatii audio-video n timp real);
modul ntrerupere pentru periferice care au nevoie de rspuns rapid
(cu latente limitate) (de exemplu, mouse, tastatur etc.);
modul bulk transferuri mari si lungi de date, folosind toat banda
liber, fr a garanta banda (de exemplu, transferuri de fisiere).
Cnd un dispozitiv periferic este activ, atasat host-ului, acesta primeste o
adres de 7 biti de la host. Host-ul interogheaz dispozitivele pentru trafic, astfel
nct nici un dispozitiv nu poate transfera date pe magistral fr a face o cerere
ctre host. ntreruperile efectuate asupra endpoint-urilor corespunztoare nu ntrerup
practic traficul de date, ci sunt programate doar pentru a fi interogate mai des de
ctre host, primind o prioritate mai mare.
Accesarea unui endpoint se face printr-o configuratie ierarhic. Un dispozitiv
conectat la magistral are un descriptor de dispozitiv (device descriptor), care, la
rndul su, are mai multi descriptori de configuraie (configuration descriptors).
Configuratiile corespund, de obicei, cu starea la un moment dat (de exemplu, activ
sau n mod putere sczut low power). Fiecare descriptor de configuratie are, la
rndul su, un descriptor de interfa (interface descriptor), care descrie diferite
functionalitti ale dispozitivului, n functie de tipul acestuia (de exemplu, o camer
video poate avea descriptor de interfat video si descriptor de interfat audio).
Structura ierarhic este prezentat n figura 4.23.
Fig. 4.23. Structura ierarhic a descriptorilor USB.
ARHITECTURA SISTEMELOR DE CALCUL
208
Fiecare descriptor de interfat are niste setri implicite si este posibil s aib
setri alternative de interfat (alternate interface settings), care, la rndul lor, au
descriptori de enpoint-uri (endpoint descriptors). Un endpoint poate fi totusi folosit
pentru mai multe interfete sau setri alternative de interfete.
Hub-urile sunt elemente cheie n arhitectura plugnplay a USB, usurnd
conectivitatea din punct de vedere al utilizatorului si asigurnd o robustete mai
mare. Punctele de conexiune ale hub-urilor se numesc porturi. Un hub are un port
upstream si mai multe porturi downstream (vezi figura 4.24). Portul upstream
conecteaz hub-ul cu gazda (host) sau cu un hub mai apropiat de gazd. Portul
downstream conecteaz hub-ul cu alt hub sau cu un dispozitiv functional. Hub-ul
poate detecta conectarea si deconectarea dispozitivelor la fiecare port downstream
si permite alimentarea cu energie a dispozitivelor din aval.
Fig. 4.24. Structura unui hub USB.
Un hub USB 2. 0 se compune din trei portiuni:
controlerul hub-ului: este un comutator controlat de protocol ntre portul
upstream si porturile downstream, care are suport hardware pentru reset
si semnalizare suspend/resume;
repetorul hub;
translatorul de tranzactii: asigur mecanismul de vitez medie/mic n
aval de hub, n timp ce n amonte transmisia se face la vitez mare.
Calculatorul (host) si aparatul (hub) sunt mprtite n niveluri (layer)
distincte. Sgetile verticale indic starea actual de comunicatie la gazd. Interfata
corespunztoare a aparatului are o implementare specific. Toate comunicatiile
dintre gazd si aparat au loc prin cablul fizic USB. Exist interfete gazd-aparat la
fiecare nivel orizontal. Comunicatia ntre clientul detintor al software-ului si
functiile provenite de la aparat sunt reglementate de un contract bazat pe nevoia
aplicatiei curente de a folosi aparatul si posibilittile oferite. Aceast interactiune
client-functie creeaz cereri pentru toate nivelurile si interfetele lor.
Nivelul gazdei pune la dispozitie urmtoarele posibilitti:
detectarea atasrii sau deconectrii unui aparat USB;
managementul fluxului standard de control ntre gazd si aparat;
managementul fluxului de date ntre gazd si aparat;
colectarea informatiei statistice de stare a activittii;
controlul electric al interfetelor ntre controlerul gazd si aparatul USB.
Structura unui calculator
209
Fig. 4.25. Arhitectura stratificat a comunicatiei USB.
Fluxul de date de baz si relatiile dintre modulele USB sunt prezentate n
figura 4.25, iar comunicatia ntre calculator (host) si aparate (hub) se face pe baza
unui protocol descris n figura 4.26.
Cmp de
sincronizare
(8 biti)
Identificator al
pachetului
(8 biti)
Date
(0 1032 octeti)
Control
erori CRC
(16 biti)
Fig. 4.26. Structura pachetului de date.
Controlul erorilor este realizat cu ajutorul unui cod redundant ciclic, CRC
(Cyclic Redundancy Code), care asigur transmisia corect a informatiei.
Mecanismul CRC asigur o rat de eroare a transmisiei de un bit eronat la 10
miliarde. Dup terminarea transferului de date, are loc confirmarea transmisiei
datelor si verificarea corectitudinii transmisiei lor (handshake).
Datorit modulelor soft plugnplay, la conectarea fizic a unui periferic la
computer, acesta este autodetectat, iar datorit unor registre interne ale perifericului
(care furnizeaz sistemului de operare informatia necesar) sunt ncrcate exact
driver-ele necesare functionrii acestuia, care poate fi si dezinstalat cnd se
hotrste ndeprtarea perifericului respectiv din configuratie.
Dup instalarea driver-ului aferent, acesta face o cerere de alocare de band.
Banda se aloc n mod dinamic, n functie de necesittile fiecrui periferic.
Informatiile se transfer sincron sau asincron pe magistral, n format de pachete.
ARHITECTURA SISTEMELOR DE CALCUL
210
4.3.9.2. Magistrala FireWire (standardul IEEE 1394)
Aceast magistral a fost creat n 1986 de ctre firma Apple si a fost
adoptat ca standard n 1994. n prezent ea este sprijinit de numeroase firme cum
ar fi Adaptec, AMD, Cirrus Logic, Compaq, HP, Hitachi, Matsushita, IBM,
Maxtor, Microsoft, NEC, Philips, Sun, Sony, Texas Instruments.
Magistrala FireWire este de fapt o interfat serial de mare vitez: ea permite
rate de transfer de 400 Mb/s 1 Gb/s. Este vzut ca magistrala viitorului, pentru
conectarea tuturor echipamentelor electrocasnice: TV, DVD, scanner, camer web, PC.
Acest tip de magistral a aprut datorit cerintelor tot mai mari n ceea ce
priveste calitatea transmisiei audio-video, dar si din necesitatea interconectrii
tuturor echipamentelor electrocasnice. Cu ajutorul unui suport software adecvat se
poate crea un nou tip de aplicatii multimedia: conferinte de calitate full-motion,
jocuri si multimedia de calitate cinematografic, video-mail, editare video etc.
Toate transmisiile de date FireWire sunt de tip pachet si pot fi clasificate n
dou categorii: asincrone si isocrone, magistrala fiind de tip tranzactional.
Transmisiile asincrone sunt garantate la receptie si au nevoie de un semnal
de confirmare de la receptor. Ele sunt transmisiuni unipunctuale (unicast).
Transmisiile isocrone sunt garantate n timp, cu o lrgime de band specific,
rezervat pentru ele n magistrala serial. Pn la 80% din banda magistralei poate fi
alocat pentru transmisiile isocrone. Lrgimea de band este alocat n intervale de
125s, numite cicluri. Transmisiile isocrone au o natur multipunctual (multicast),
fiind adresate unuia sau mai multor noduri, pe baza unui numr de canal. FireWire
suport si un alt tip de transmisii, numite fluxuri asincrone (asyncronous streaming).
Acestea pot fi unipunctuale sau multipunctuale. Pachetele de date FireWire au
dimensiune variabil. Dimensiunea maxim a ncrcturii de date depinde de tipul
de transmisiune si lrgimea de band a magistralei FireWire (1001000 Mb/s).
Figurile 4.27 si 4.28 reprezint formate de pachete FireWire isocrone si,
respectiv, asincrone. Fluxurile asincrone si pachetele isocrone au acelasi format.
Fig. 4.27. Formatul pachetelor isocrone si a fluxurilor asincrone FireWire.
Structura unui calculator
211
Semnificatia notatiilor din figura 4.27 este urmtoarea:
tag formatul datelor (specific protocolului);
channel adresa de canal;
tcode codul tranzactiei (asincron, isocron, pachet de date, de control etc.);
sy codul de sincronizare (specific aplicatiei).
Fig. 4.28. Formatul pachetelor asincrone FireWire.
Semnificatia notatiilor din figura 4.28 este urmtoarea:
destination id include 6 biti pentru ID-ul nodului (63 de noduri) si 10 biti
pentru ID-ul magistralei (1024 magistrale);
tcode tipul tranzactiei;
pri prioritate (cmp neutilizat);
destination offset locatia de adres din interiorul nodului tint (target);
celelalte cmpuri depind de tipul protocolului.
Arhitectura FireWire este constituit ca o stiv cu un protocol de patru
nivele. Nivelul fizic determin arbitrajul magistralei, defineste semnalele electrice
pentru transmisia de date si interfata mecanic pentru cabluri si conectori. Nivelul
de conexiuni asigur adresa si decodificarea numrului de canal, precum si
generarea CRC-ului si verificarea pachetelor de date transmise si receptionate.
Nivelul de tranzacii asigur servicii de interogare-rspuns pentru transmisiile
asincrone. Transmisiile isocrone opereaz independent fata de acest nivel. Nivelul
de gestiune a magistralei asigur suportul pentru diferite activitti de gestiune si
configurare a magistralei.
ARHITECTURA SISTEMELOR DE CALCUL
212
FireWire necesit trei noduri primare pentru gestionarea magistralei la o
operare normal. Acestea sunt: cycle master, IRM (Isochonous Resource Manager)
si BM (Bus Manager), conform figurii 4.29.
Fig. 4.29. Structura stratificat a protocolului FireWire.
Cycle master genereaz si transmite pachete de initializare ciclice la fiecare
125 s. Un pachet de initializare ciclic reprezint nceputul intervalului periodic de
125 s. Nodul rdcin joac rolul de cycle master.
IRM gestioneaz lrgimea de band a magistralei de date seriale isocrone si
aloc numerele de canale generate multinodal.
BM gestioneaz distributia de putere pe cabluri si afiseaz harta topologic
si diagrama de vitez pentru magistrala serial. Diagrama de vitez este necesar
deoarece FireWire poate suporta noduri/cabluri de lrgimi de band diferite ntr-o
singur retea. n general, toate nodurile sunt capabile s efectueze activittile de
gestionare a magistralei. Totusi, nodurile operationale de gestionare a magistralei
sunt cele alese n etapa configurrii magistralei.
FireWire utilizeaz un mecanism de arbitraj cerere/acceptare pentru
controlul accesului n reteaua shared-medium. O schem de arbitraj simpl
functioneaz dup cum urmeaz:
nodurile care doresc s transmit un pachet cer permisiunea de la
managerul de magistral;
managerul selecteaz cererea optim, bazat pe anumite criterii, si emite
un semnal de acceptare pentru nodul corespunztor;
numai nodul acceptat si transmite pachetul de date, celelalte noduri
continund s cear permisiunea pn cnd o primesc de la manager.
Structura unui calculator
213
4.3.9.3. Magistrala I
2
C
Magistrala I
2
C (Inter-Integrated Circuits) a fost dezvoltat de firma Philips
pentru comunicatia ntre diferite microcontrolere si controlere I/O. Este o
magistral bidirectional simpl, care utilizeaz dou fire, unul pentru datele
seriale, SDA (Serial Data), si unul pentru ceasul serial, SCL (Serial Clock), dup
cum arat n figura 4.30. Exist un mare numr de circuite integrate compatibile cu
magistrala I
2
C, care a devenit un standard industrial pentru magistralele de control.
Fig. 4.30. Circuite conectate printr-o magistral I
2
C.
Fiecare dispozitiv conectat la magistral este recunoscut printr-o adres
unic si poate functiona fie ca receptor (de exemplu, un afisaj cu cristale lichide),
fie ca transmittor si receptor (de exemplu, o memorie). Transmittoarele si
receptoarele pot functiona n modul master sau n modul slave, dup cum acestea
pot initia un transfer de date sau sunt doar adresate. Un dispozitiv master poate
transmite/receptiona semnale la sau de la un dispozitiv slave sau poate controla
transferurile ntre dou dispozitive slave, dintre care unul este transmittor, iar
cellalt este receptor. Pot exista mai multe dispozitive master pe magistral. n
cazul n care mai multe dispozitive master ncearc simultan s controleze
magistrala, o procedur de arbitraj decide care din dispozitive este prioritar.
n sistemele cu mai multe dispozitive master, n cazul n care mai multe
asemenea dispozitive doresc accesul la magistral, are loc o procedur de arbitraj.
Dac un dispozitiv master transmite un semnal 1 logic pe linia de date, iar un alt
dispozitiv master transmite un semnal 0 logic, acesta din urm va prelua
magistrala, iar primul dispozitiv master va elibera magistrala. Acest arbitraj poate
continua pe durata mai multor biti. Pentru arbitraj, se utilizeaz bitii de adres si cei
de date.
Mai recent, n versiunea 2.1 a specificatiilor magistralei, a fost inclus
facilitatea de deplasare a nivelelor de tensiune (level shifting), care permite
conectarea la magistral a dispozitivelor care functioneaz cu tensiuni de
alimentare diferite, de exemplu, la 5 V si 3,3 V. De asemenea, specificatiile au fost
extinse pentru dispozitivele care functioneaz la tensiuni de sub 2,7 V. A fost
adugat un mod de transfer de vitez ridicat (high speed), care asigur rate de
transfer de pn la 3,4 Mbit/s si permite conectarea unor memorii EEPROM. Cu
ajutorul unei punti (bridge), se asigur comunicatia bidirectional cu dispozitivele
care utilizeaz modul de transfer rapid sau cel standard.
ARHITECTURA SISTEMELOR DE CALCUL
214
4.3.9.4. Magistrala Fibre Channel
Cresterea performantelor statiilor de lucru, a procesoarelor si a perifericelor,
ca si cresterea ponderii arhitecturilor distribuite de tip client/server, au ridicat
cerintele pentru aplicatiile cu rate de transfer ridicate. Interconexiunile dintre aceste
sisteme si dispozitivele I/O necesit un nou nivel al performantelor n ceea ce
priveste fiabilitatea, viteza si distanta. Fibre Channel reprezint o tehnologie de
interconectare cu fiabilitate ridicat, care permite comunicatii concurente ntre statii de
lucru, servere, sisteme de stocare a datelor si alte periferice care utilizeaz protocoale
ca SCSI, IP, HPPI-FP sau audio-video. Aceast tehnologie asigur interconectarea
pentru topologii multiple cu o rat de transfer total scalabil pn la 1 Tbit/s.
Fibre Channel reprezint un standard pentru un canal de comunicatie care
dispune de facilitti de retea si asigur astfel conectivitatea si distanta necesar,
permitnd utilizarea diferitelor protocoale de comunicatie. De asemenea, Fibre
Channel are caracteristicile unui canal de comunicatie traditional, cu avantajele
simplittii, a performantelor repetabile si a furnizrii garantate a datelor.
n termenii arhitecturii Fibre Channel, comutatorul care leag dispozitivele este
o retea de tip fabric. Legtura este reprezentat de dou fibre unidirectionale
transmitnd n sensuri opuse fat de emittorul si receptorul asociate acestora. Fiecare
fibr este atasat unui emittor al unui port la unul dintre terminale si unui receptor al
altui port la cellalt terminal. Dac reteaua de tip fabric este prezent n configuratie,
fibra poate fi atasat unui port al unui nod (N_Port) si unui port al retelei (F_Port).
Deoarece sistemul de canale se bazeaz pe porturi comunicnd ntre ele si cu
reteaua de tip fabric, nu este esential dac reteaua este un comutator de circuit, un
hub activ sau o bucl. Topologia poate fi selectat n functie de cerintele de
performant ale sistemului sau de optiunile de pachete. Topologiile posibile ale
magistralei Fibre Channel (vezi figura 4.31) sunt cele de tip punct-la-punct (jos),
crosspoint cu comutare (stnga) sau bucl arbitrat (dreapta).
Fig. 4.31. Topologii Fibre Channel.
Structura unui calculator
215
Arhitectura Fibre Channel reprezint, asadar, integrarea unei retele cu o
interconexiune inteligent ntre dispozitive. Magistrala Fibre Channel opereaz la o
mare varietate de viteze (133 Mbit/s, 266 Mbit/s, 530 Mbit/s, 1 Gbit/s) si pe trei
tipuri de medii electrice si optice. Distantele de transmisiune variaz n functie de
combinatiile ntre vitez si mediu. Mediul optic de fibre unimodale utiliznd surse
de lumin laser cu lungime de und mare ofer cea mai nalt performant (distanta
maxim de 10 km la 1 Gbit/s).
4.3.9.5. Magistrala InfiniBand
Arhitectura InfiniBand rezolv limitrile de lrgime de band si suprasarcin
ale magistralei PCI prin trecerea de la traditionala arhitectur partajat a magistralei
la o arhitectur cu comutare de retea de tip fabric (switched fabric architecture).
Figura 4.32 ilustreaz cea mai simpl configuratie a unui sistem InfiniBand, n care
dou sau mai multe noduri sunt conectate prin reteaua InfiniBand Fabric. Un nod
reprezint fie un dispozitiv gazd (server), fie un dispozitiv I/O (subsistem RAID).
Reteaua InfiniBand Fabric poate consta dintr-un singur comutator (n cel mai
simplu caz) sau dintr-un set de comutatoare interconectate si router-e.
Fig. 4.32. Arhitectura InfiniBand Fabric.
Fiecare conexiune dintre noduri, comutatoare si router-e este o legtur
serial, punct-la-punct. Aceast deosebire esential aduce anumite beneficii:
1. Fiind o conexiune serial, necesit doar patru legturi, fat de
conexiunea deosebit de complex a magistralei PCI.
2. Natura punct-la-punct a conexiunii ofer capacitatea maxim a legturii
ntre dou puncte, fiind dedicat celor dou puncte finale. Astfel, se elimin
concurenta la magistral, precum si ntrzierea rezultat n conditiile unei
suprasarcini n arhitectura magistralei partajate.
3. Canalul InfiniBand este proiectat pentru conexiuni ntre gazde si
dispozitive I/O n cadrul unui centru de date (Data Centre). Datorit lungimii bine
definite si relativ scurte a conexiunilor, poate fi atins o lrgime de band mult mai
mare dect n cazurile n care este nevoie de lungimi mult mai mari.
Specificatiile InfiniBand definesc lrgimea de band brut a conexiunii de
baz 1 la 2,5 Gb/s si specific dou lrgimi de band aditionale, referite ca 4 si
12, ca multipli ai ratei pentru legtura de baz.
ARHITECTURA SISTEMELOR DE CALCUL
216
4.3.9.6. Magistrala PCI Express
Necesitatea schimbrii magistralei a aprut ca o cerint fireasc, avnd n
vedere c vechiul PCI, cu limita sa de vitez de transfer de 133 MB/s, nu mai putea
face fat necesittilor actuale ale calculatoarelor. Chiar si portul AGP 8, cu viteza
sa teoretic maxim de 2 GB/s nu face fat noilor cipuri video aprute. n aceste
conditii, o grupare a liderilor n domeniu, numit PCI-SIG (Intel, NVidia, Dell etc.)
au lucrat la dezvoltarea magistralei PCI Express, cu scopul de a nlocui PCI si AGP.
Tehnologia din n spatele magistralei PCI Express nu este complet nou.
Cunoscut sub numele Arapahoe sau 3GIO, a fost ratificat ca standard n aprilie
2002. Aceast magistral a fost gndit pentru a prelua munca pentru urmtorii 10 ani,
deci nu este vorba despre un standard de tranzitie. Din punct de vedere tehnic, PCI
Express este o magistral serial bidirectional (cu versiunile 1.0, 2.0 si 3.0), care
transfer informatiile sub form de pachete, aproape la fel cu o conexiune Ethernet.
Arhitectura PCI Express
Fiecare dintre cele dou conexiuni unidirectionale n parte poate transporta
2,5 Gbit/s. Un semnal de tact poate fi integrat n transferuri, pentru a regla viteza de
transfer. Arhitectura acestei generatii de magistral se bazeaz pe straturi (layer),
ca si cele utilizate de protocolului TCP/IP (vezi figura 4.33).
Fig. 4.33. Arhitectura PCI Express.
Nivelul fizic defineste specificatii electrice, mecanice, procedurale si
functionale pentru activarea, mentinerea si dezactivarea legturilor fizice ntre
sisteme si este alctuit dintr-o interfat serial de mare vitez, numit Low-Voltage
Differential Signaling (LVDS), pentru a transfera 2,5 GHz. Cuprinde componentele
fizice necesare pentru a configura si mentine conexiunile. Include mecanisme
pentru pregtirea conexiunii, citirea semnalelor, codarea 8b/10b, crearea de frame-uri
& pachete si transmiterea datelor pe conexiune.
Structura unui calculator
217
Nivelul legturilor de date este responsabil cu transmiterea corect a
datelor printr-o legtur fizic existent, ntre dou puncte conectate direct prin
aceast legtur fizic. Nivelul fizic nu poate realiza acest lucru, deoarece aici nu
se opereaz cu de date, ci numai cu biti si, mai exact, cu reprezentarea fizic a
acestora (niveluri de tensiune, intensitate a luminii etc.). Nivelul legturilor de date
se ocup cu adresarea fizic, topologia retelei, accesul la retea, detectia &
anuntarea erorilor (CRC pe 32 de biti) si controlul fluxului fizic (flow control);
Nivelul transport este responsabil cu crearea pachetelor care vor fi
expediate si cu citirea pachetelor primite. Se ocup cu controlul fluxului de date si
cu managementul puterii consumate. Acest nivel ofer un serviciu de transport de
date izoleaz nivelurile superioare de orice specificitti legate de modul n care este
executat transportul datelor. Are un caracter redundant, realizat de ECRC (End-to-
end Cycling Redundancy Check), mecanism pe 32 biti cu rolul de a asigura
transportul ntre dou statii separate de una sau mai multe entitti. Desi toate
tranzactiile PCI Express sunt separate, unele nu necesit rspuns (avantaj).
Nivelul software (aplicaie) este situat cel mai aproape de utilizator, oferind
servicii de retea aplicatiilor utilizator. Nivelul aplicatie stabileste disponibilitatea
unui calculator cu care se doreste initierea unei conexiuni, stabileste procedurile
care vor fi urmate n cazul unor erori si verific integritatea datelor.
PCI Express vs PCI
Lrgimea de band disponibil ntre dou puncte nu este partajat, astfel
nct, att la un singur periferic PCI Express ct si la trei, fiecare are la dispozitie
aceeasi lrgime de band. La nivelul cipsetului, magistrala PCI Express este
gestionat de un switch care gestioneaz conexiunile punct-la-punct, nainte de a
interactiona cu restul sistemului (vezi figura 4.34).
Fig. 4.34. Topologia de magistral partajat la PCI si topologia punct la punct la PCI Express.
Observaie. n cazul PCI Express, fiecare dispozitiv are o cale direct si
exclusiv ctre switch. Switch-ul analizeaz datele n functie de prioritatea aplicatiilor.
Lrgimea mare de band reprezint o alt noutate adus de PCI Express. O
singur cale este capabil s transmit 250 MB/s n fiecare directie simultan (500
MB/s pentru ambele directii). PCI Express este alctuit din dou ci, asadar, poate
transmite 500 Mb/s pentru o singura directie si 1000 MB/s pentru ambele directii.
PCI Express n variantele 4, 8, 16 nu se fabric pentru calculatoarele desktop,
ci pentru servere, iar PCI Express 16 este creat pentru a nlocui slotul VGA 8x.
ARHITECTURA SISTEMELOR DE CALCUL
218
Din punct de vedere al compatibilittii, productorii au gndit PCI Express
pentru a rmne compatibil din punct de vedere software cu toate sistemele de
operare si programele actuale. Cu alte cuvinte, nu este nevoie de un update
software pentru a putea beneficia de avantajele aduse de PCI Express. Un alt lucru
important este c PCI Express rmne compatibil cu plcile PCI actuale nu ofer
suport simultan pentru AGP si PCI Express, din cauza constrngerilor. Deci,
adoptnd o platform cu PCI Express, trebuie nlocuit vechea plac video.
n plus, PCI Express diminueaz consumul de energie cnd slotul nu este activ,
ofer suport pentru traficul n timp real, ncorporeaz functiile hot plug si hot swap,
furnizeaz performante scalabile si caracteristici avansate, QoS (Quality of Service).
Comparativ cu PCI, PCI Express are semnale de legtur minime, iar ceasul
si adresarea informatiei sunt incluse n date. Figura 4.35 compar lrgimea de
band per pin la PCI, PCI-X, AGP8 si PCI Express.
Fig. 4.35. Comparatie a lrgimilor de band.
Exemple de arhitecturi PCI Express
Nenumrati factori duc la alegerea cardurilor PCI Express n functie de
necesittile clientului, serverului sau a platformei portabile:
carduri standard si cu profil mic: desktop, statii de lucru si servere;
minicarduri: calculatoare portabile;
ExpressCard: calculatoare portabile si desktop;
Server I/O Module (SIOM).
Figura 4.36 exemplific implementarea PCI Express ntr-un sistem client. Initial,
conexiunea PCI Express 16 nlocuieste slotul AGP dintre subsistemele grafice si
northbridge. O variant de PCI Express poate nlocui conexiunea dintre northbridge si
southbridge, rezolvnd incompatibilittile dintre componente si nothbridge.
Figura 4.37 exemplific structura unui sistem portabil. La fel ca la sistemele
desktop, PCI Express nlocuieste placa AGP, fiind o alternativ la conexiunea
dintre nothbridge si southbridge. Magistrala PCI dintre northbridge si statia de
lucru poate migra, de asemenea, spre PCI Express. Un slot ExpressCard 1 care
foloseste o conexiune USB 2.0 poate nlocui cardul PC.
Figura 4.38 exemplific modul n care poate fi implementat PCI Express
ntr-o arhitectur de server dual-core. PCI Express face legtura dintre componente
si sloturi plasate direct pe northbridge.
Structura unui calculator
219
Fig. 4.36. Exemplu de arhitectur desktop PCI Express.
Fig. 4.37. Exemplu de arhitectur de sistem portabil PCI Express.
Aceast abordare are urmtoarele avantaje:
vitez mult mai mare pentru generatiile viitoare (10-Gps Ethernet);
costuri mai mici mai multe sloturi si componente se pot conecta la
cipul sistemului;
latent mic latenta transmisiei dintre componente, CPU si memorie
poate fi redus, eliminnd puntea PCI-X.
ARHITECTURA SISTEMELOR DE CALCUL
220
Fig. 4.38. Exemplu de arhitectur server PCI Express.
4.3.10. Comparaii ntre magistrale
Figura 4.39 este o sintez de tip roadmap si arat evolutia n timp a vitezei
magistralelor, exprimat prin valoarea ratei de transfer (benzii), iar tabelul 4.2
prezint comparativ caracteristicile, parametrii si performantele ctorva dintre cele
mai rspndite standarde de magistrale seriale din ultimii ani.
Fig. 4.39. Evolutia ratei de transfer a magistralelor.
Structura unui calculator
221
Tabelul 4.2
Comparaie ntre magistrale
Nume
rgime
de band
efectiv
(Mb/s)
Vitez
de
transfer
(MB/s)
Lungime
maxim
de cablu
(m)
Putere/
tensiune
necesare
(W/V)
Numr
de echipamente
per canal
SAS 3.000 375 8 - 4
eSATA 3.000 300 2 - 1 (15 cu multiplicator de port)
SATA 300 3.000 300 1 - 1 (15 cu multiplicator de port)
SATA 150 1.500 150 1 - 1
PATA 133 1.064 133 0,46 - 2
FireWire
3200
3.144 393 100 15/1225 63 (cu hub)
FireWire 800 786 98,25 100 15/1225 63 (cu hub)
FireWire 400 393 49,13 4,5 15/1225 63 (cu hub)
USB 2.0 480 60 5 2,5/5 127 (cu hub)
UltraSCSI 320 2.560 320 12 - 16
Fiber Channel
cablu cupru
4.000 400 12 - 126 (16.777.216 cu switch-uri)
Fiber Channel
fibr optic
10.520 2.000 250.000 - 126 (16.777.216 cu switch-uri)
Infiniband
12 Quad-rate
120.000 12.000 5 - 1 (punct-la-punct)

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