Sunteți pe pagina 1din 51

4.

NIVELUL FIZIC

La baza structurii ierarhice a oric rui calculator se afl nivelul fizic. El


constituie fundamentul calculatorului i are ca suport circuitele i por ile logice.
Deoarece por ile utilizeaz numere binare, func ionarea calculatoarelor se bazeaz
pe algebra boolean . Func ionarea circuitelor logice se conduce dup principiul
unui tranzistor care se comport ca un întrerup tor electronic foarte rapid.
Por ile logice sunt realizate în diferite tehnologii: tehnologie bipolar i
tehnologie unipolar sau MOS (Metal Oxide Semiconductor). În cadrul tehnologiei
bipolare se poate remarca familia TTL (Transistor-Transistor Logic) – foarte
utilizat – i ECL (Emitter Coupled Logic) – folosit în aplica ii care necesit o
mare rapiditate de execu ie.
Por ile realizate în tehnologie MOS sunt de 10 ori mai lente decât cele în
tehnologie TTL i de 100 de ori mai lente decât cele din tehnologia ECL. În cadrul
tehnologiei MOS se disting câteva familii clasice: PMOS, NMOS i CMOS. A a
cum s-a mai spus, func ionarea por ilor logice se bazeaz pe algebra boolean . O
func ie boolean este asociat uneia sau mai multor variabile i furnizeaz un
rezultat care depinde în mod unic de valorile variabilelor binare aplicate la intrare.
Exemplu. O func ie f a unei variabile oarecare A poate fi definit ca fiind
f(A) = 1 dac A = 0 i f(A) = 0 dac A = 1. Aceasta este func ia NON.
O func ie boolean de n variabile prezint 2n st ri posibile. A descrie
complet aceste st ri sub forma unui tabel care con ine 2n linii înseamn a construi
tabela de adev r a func iei respective. Fiecare linie a acestui tabel indic valoarea
func iei pentru configura ia binar de n variabile.
Prin combinarea unor por i logice i încapsularea lor într-un circuit sau
capsul au rezultat circuitele integrate logice. Ele sunt realizate cu diverse densit i
de integrare (num rul de por i sau de tranzistoare interne pentru circuit sau pe
milimetru p trat). Exist mai multe categorii de integrare:
• SSI (Small Scale Integration) – circuite cu integrare redus (sub 64
por i/circuit);
• MSI (Medium Scale Integration) – circuite cu densitate medie de
integrare (sub 1024 por i/circuit);
• LSI (Large Scale Integration) – circuite cu înalt densitate de integrare
(sub 65.000 por i/circuit);
• VLSI (Very Large Scale Integration) – circuite cu înalt densitate de
integrare (peste 65.000 por i/circuit);
• SVLSI (Super Very Large Scale Integration) – circuite cu foarte înalt
densitate de integrare (peste 500.000 por i/circuit).
172 ARHITECTURA SISTEMELOR DE CALCUL

Limita de integrare a ajuns la câteva milioane de tranzistoare pentru circuitele


modeste sau chiar la câteva 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 ini ial de Texas
Instruments i distribuite ast zi de numero i fabrican i de circuite logice. Din cadrul
tehnologiei MSI fac parte circuitele logice combina ionale, dintre care se pot aminti:
multiplexorul, demultiplexorul, comparatorul, registrele logice programabile.
Exist unele circuite logice cu memorie. Pentru un calculator, memoria este
un dispozitiv esen ial. Ea este utilizat pentru stocarea instruc iunilor i a datelor
programului în curs de execu ie. Pentru a ob ine memorarea unui bit, este necesar
se utilizeze un dispozitiv care se substituie valorii pe care a înregistrat-o. Un astfel
de circuit poate fi realizat simplu cu por i logice, de exemplu cu por i logice I-NU.

4.1. Microprocesorul

Microprocesorul reprezint inima unui sistem de calcul. Privit din punct de


vedere fizic, el este un circuit care prezint câteva zeci sau chiar sute de terminale.
Semnalele de comunica ie asociate acestora îi permit microprocesorului s fac
schimb de informa ii cu mediul extern, în principal cu circuite de memorie sau cu
circuite de intrare-ie ire. O analiz detaliat a acestor semnale determin diversele
moduri de func ionare logic i electric a procesorului i posibilit ile sale de
interfa . Exist trei categorii de semnalele electrice externe ale microprocesorului:
• de adres ;
• de date;
• de comand .
Fiec rui tip de semnal îi sunt asociate linii de comunicare care formeaz o
magistral . De cele mai multe ori, în limbajul de specialitate se vor întâlni câteva
no iuni specifice precum: magistrala de adrese, care reprezint totalitatea liniilor pe
care circul adresele, magistrala de date, corespunz toare liniilor de date i
magistrala de comenzi, specific liniilor de comenzi.

Fig. 4.1. Schema unui microprocesor tipic.


Structura unui calculator 173

Pentru ob inerea unei instruc iuni a programului care este executat,


microprocesorul începe prin plasarea adresei acestei instruc iuni pe magistrala de
adrese. Se activeaz un semnal pe magistrala de comand pentru specificarea unei
ac iuni de citire din memorie. Ca r spuns la aceast cerere, memoria plaseaz
instruc iunea pe magistrala de date, trimite un semnal c tre microprocesor prin care
acesta este aten ionat c opera iunea este terminat i activeaz un semnal specific
de validare a magistralei de comenzi. În timp ce microprocesorul prime te
semnalul de validare de memorie, el cite te informa ia (instruc iunea) prezent pe
magistrala de date i o plaseaz într-unul din registrele interne.
Exist doi parametri principali asocia i performan elor unui microprocesor:
num rul de linii ale magistralei de adrese i num rul de linii ale magistralei de date.
Observa ie. Ambii parametri se refer la imea magistralelor i se m soar
în num r de linii (sau de bi i). A nu se confunda cu rgimea (de band ) a
magistralelor, care se exprim în termenii vitezei de transfer (multipli de
octe i/secund .)
Un microprocesor care are m linii de adres poate adresa pân la 2m 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 cuvânt de memorie de n bi i într-o
singur opera ie. Valorile curente pentru n sunt: 8, 16, 32 sau 64.
Exemplu. Un microprocesor care dispune de opt linii de adres necesit
patru opera ii de citire pentru citirea unui cuvânt de 32 de bi i. Dac
microprocesorul ar avea 32 de linii de adres , citirea aceluia i cuvânt s-ar face într-
un singur tact, de unde rezult c un procesor este cu atât mai rapid cu cât are mai
mare num rul de linii de date.
În afara liniilor de adres i de date, microprocesorul dispune de linii de
comand . Acestea permit asigurarea sincroniz rii, regl rii i comand rii
schimburilor pe magistral între microprocesor i mediul extern.
Semnalele de întrerupere sunt semnale de intrare pentru un microprocesor.
Ele provin în principal de la circuitele de intrare-ie ire.
Exemplu. Un microprocesor cere unui circuit de intrare-ie ire (de fapt
perifericului c ruia îi este asociat) s efectueze o anumit sarcin , dup care î i
continu activitatea. În acest timp, perifericul realizeaz opera ia cerut la viteza sa
proprie de execu ie. Dup ce sarcina este îndeplinit , perifericul previne circuitul
de I/O (intrare-ie ire) 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 apari ia unei erori. Urmeaz
apoi o secven de tratare a acestei cereri de întrerupere.
Semnalele care gestioneaz accesul la magistral servesc la fluidizarea
traficului pe magistral prin evitarea unor bloc ri care pot rezulta din utilizarea
simultan de c tre dou circuite a magistralei.
Unele procesoare au linii speciale de comunicare cu alte procesoare sau cu
procesorul secundar (coprocesorul), atunci când situa ia o cere. Acest lucru se
poate întâmpla, de exemplu, atunci când este nevoie de un calcul matematic, prin
cedarea controlului coprocesorului matematic.
174 ARHITECTURA SISTEMELOR DE CALCUL

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 leg tur cu opera iile I/O.
Exemplu. Un program poate comanda discului s porneasc transferul
informa iei i îi cere acestuia s furnizeze o întrerupere imediat ce transferul s-a
terminat. Microprocesorul întrerupe programul ce se execut i transfer controlul
unei proceduri de tratare a întreruperii, care execut câteva ac iuni corespunz toare.
Când se termin , rutina de tratare a întreruperilor întoarce controlul c tre
programul întrerupt. Microprocesorul trebuie s reporneasc procesul întrerupt
exact din aceea i stare în care era când a ap rut întreruperea, ceea ce înseamn
refacerea tuturor registrelor interne în starea de dinainte de întrerupere.
Un concept cheie al întreruperilor este transparen a. Când apare o
întrerupere, se execut câteva ac iuni i un fragment de cod anumit, dar când
servirea întreruperii s-a terminat, calculatorul trebuie s se întoarc în aceea i 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 când se execut deja una. Pentru a se putea
face o departajare între toate aceste întreruperi, acestea vor avea ata at câte un nivel
de prioritate. Când 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 c tre un dispozitiv cu o prioritate mai
mic este ignorat pân când rutina întreruperii se termin i UCP se întoarce la
programul utilizatorului. Pe de alt parte, tratarea întreruperilor de la un dispozitiv
cu o prioritate mai mare trebuie validat f nici o întârziere.

4.2.1. Gestionarea întreruperilor

Dac unitatea central (UC) a cerut unui circuit de I/O efectuarea unei
opera ii, aceasta anun sfâr itul opera iei printr-o întrerupere. De asemenea, un
dispozitiv care dore te s foloseasc resursele procesorului semnalizeaz acest
lucru c tre 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 aceea i
problem ca în cazul accesului la magistral , i anume care dintre dispozitivele ce au
emis cererea urmeaz s fie servit). O modalitate curent de solu ionare a cererilor
simultane de întrerupere este de a asigna niveluri de prioritate diferite pentru
diversele dispozitive i 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 i PS/2).

INT IR 0 Ceas de sistem


INTA 8259A IR 1 Tastatur
RD IR 2 Controler IRQ2
UC WR controler IR 3 COM2/COM4
A0 de IR 4 Mouse serial
întreruperi
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 intr rii asociate


perifericului. Când una sau mai multe întreruperi ajung la controlerul de
întreruperi, acesta anun UC prin linia special INT (Interrupt), care este legat la
intrarea de întrerupere a UC. Aceasta r spunde 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 num r pentru a ob ine
dintr-o tabel de pointer-i indexat adresa rutinei de întrerupere corespunz toare.
Controlerul de întreruperi con ine un num r de registre interne care pot fi
citite sau scrise de c tre UC cu ajutorul semnalelor RD (Read), WR (Write), CS
(Chip Select) i A0 (linia 0 de adres ). Toate aceste semnale, la fel ca INT i 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 func ioneze î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 con ine un 8259A la ale c rui intr ri sunt legate
ie irile de întreruperi ale altor opt circuite 8259A. Se creeaz astfel posibilitatea
trat rii a 64 de linii de întrerupere.

4.3. Magistrala

4.3.1. Conceptul de magistral

În modelul ma inii von Neumann, comunica ia dintre componentele


sistemului se realizeaz prin leg turi dedicate între perechi de componente. Aceast
176 ARHITECTURA SISTEMELOR DE CALCUL

abordare este relativ rigid , limitând drastic scalabilitatea (posibilitatea de


extindere) a sistemului.
Ad ugarea de noi componente este dificil i implic modificarea celor deja
existente. Proiectarea unei noi componente implic cunoa terea în detaliu a
func ion rii celorlalte elemente deja prezente. Solu ionarea acestei probleme a
venit din partea firmei Digital Equipment Corporation (DEC), care la sfâr itul
anilor '60 a lansat pe pia primul calculator (PDP 11), construit în jurul unei
magistrale – magistrala UniBus.
Conceptual, magistrala este un mediu comun de comunica ie între
componentele unui sistem de calcul; fizic este alc tuit dintr-un set de linii de
semnal care faciliteaz transferul de date i realizeaz sincronizarea între
componentele sistemului.
Introducerea conceptului de magistral a revolu ionat modul de concepere i
proiectare a noilor sisteme de calcul. Modelul de calculator bazat pe magistral a
fost preluat mai ales de familiile de calculatoare mini i micro. Prin standardizarea
magistralelor, sistemele de calcul au devenit deschise, în sensul c un num r mai
mare de produc tori au avut posibilitatea s realizeze componente pentru o anumit
structur de calculator (module de memorie, interfe e I/O, echipamente periferice),
bazându-se numai pe specifica iile magistralei.
În decursul timpului au fost dezvoltate diferite standarde de magistral , care
au urm rit evolu ia procesoarelor (a unit ilor centrale) i a necesit ilor de
comunica ie ale acestora (vitez , mod de transfer, necesit i de sincronizare i
control etc.). S-au dezvoltat, de asemenea, magistrale specializate pentru anumite
tipuri de echipamente periferice (SCSI i EIDE pentru unit i de disc, console
grafice, interfe e de m sur i control). Din acest punct de vedere, în momentul
actual se pot distinge dou clase de magistrale:
• magistrale de sistem – dezvoltate mai ales pentru conectarea unit ii
centrale la celelalte componente de baz ale sistemului (de exemplu:
MultiBus, ISA, EISA, PCI);
• magistrale specializate – care încearc s optimizeze transferul de date
cu un anumit tip de echipamente periferice (VESA, AGP, SCSI, GPIB).
Apari ia i evolu ia ulterioar a microprocesoarelor a consacrat modelul de
calculator bazat pe magistral . Configura ia semnalelor unui microprocesor este
astfel conceput încât s permit conectarea u oar la o magistral de sistem. În
general, fiecare familie de microprocesoare (Intel 8086, Z80, MC 68000) a impus o
anumit structur i un anumit standard de magistral . Exist îns anumite
caracteristici comune acestor magistrale (principii de transfer, tipuri de semnale),
astfel încât modulele proiectate pentru un tip de magistral s poat fi, prin
modific ri minime, conectabile altor magistrale.
S-au introdus noi principii de transfer care compenseaz într-o oarecare
sur limit rile de vitez impuse de legile fizicii de transmitere a semnalelor
electrice. Cele mai reprezentative dintre acestea sunt transferul concurent prin
tranzac ii i 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 i un set de reguli


constituite într-un protocol, care guverneaz transferul de informa ii i accesul la
mediul de comunica ie. Informa iile transferate pot fi: date, instruc iuni i
informa ii de control i sincronizare.
Protocolul se refer la:
• caracteristicile mecanice: tip de conectori, num r de conectori aloca i pentru
un slot, formatul modulelor de extensie ata abile, sertar i fund de sertar
(rack i cablajul din spatele acestuia – aceast structur fiind specific
magistralelor industriale);
• caracteristicile electrice ale componentelor conectate pe magistral : niveluri
de tensiune, curen i, înc rcare, frecven de lucru, rat de transfer;
• secven a de generare a semnalelor necesare pentru efectuarea unui transfer;
• timpii limit pentru diferitele faze ale unui transfer i timpii de men inere a
unui anumit semnal;
• intercondi ion rile func ionale i temporale între diferitele tipuri de semnale.
În accep iunea clasic , o magistral se compune din urm toarele tipuri de
semnale.
Semnale de date – sunt semnale bidirec ionale utilizate pentru transferul de
date i instruc iuni. La un moment dat doar un singur dispozitiv poate s emit pe
liniile de date; num rul liniilor de date (8, 16, 32, 64) determin dimensiunea
maxim a cuvântului de date care poate fi transferat la un moment dat i, implicit,
viteza medie de transfer a magistralei.
Semnale de adres – sunt utilizate pentru specificarea adresei modulului
destina ie sau surs de date, num rul de linii de adres determinând spa iul maxim
de adresare permis de magistral (de exemplu, 24 linii de adres determin un
spa iu de adresare de 224 =16 Mloca ii).
Semnale de comand – sunt semnale unidirec ionale generate de CPU (sau
de c tre alt dispozitiv master), utilizate pentru specificarea direc iei de transfer (de
exemplu, semnale de citire sau scriere pentru CPU) i a tipului de modul adresat
(de memorie sau modul I/O, de memorie program, controler de întrerupere etc.).
Semnale de control – sunt semnale de utilizate pentru reglarea condi iilor de
transfer al datelor (temporizarea deschiderii i închiderii amplificatoarelor de
magistral pentru semnalele vehiculate pe aceasta).
Semnale de întrerupere – sunt generate de un controler dedicat, permit
semnalizarea unor evenimente interne sau externe i implicit determin
întreruperea execu iei programului curent.
Semnale de tact (de ceas) – sunt generate de un oscilator cu cuar , fiind
folosite pentru sincronizare i pentru generarea unor semnale de frecven
programabil .
Linii de alimentare – sun generate de sursa de tensiune a sistemului, fiind
folosite pentru alimentarea modulelor sistemului.
178 ARHITECTURA SISTEMELOR DE CALCUL

Semnale de control al accesului – sunt utilizate pentru arbitrajul i


controlul accesului pe magistral (în cazul magistralelor multimaster), fiind
generate de un circuit specializat (arbitru de magistral ).
Num rul i semnifica ia particular a semnalelor depind de tipul i destina ia
magistralei. Anumite grupe de semnale din cele prezentate pot s lipseasc (de
exemplu, semnalele de control) sau altele noi pot fi ad ugate (semnalele de eroare,
semnalele de control al l imii datelor transferate pe 8 sau pe 16 bi i etc.).
Magistralele pot fi clasificate în func ie de mai multe criterii.
I. modul de lucru (în raport cu semnalul de tact):
• magistrale sincrone – la care ciclurile de transfer sunt direct corelate cu
semnalul de tact. Viteza de transfer este mai mare, îns rata de transfer a
magistralei este limitat de frecven a tactului. Datorit vitezei limitate de
propagare a semnalului electric, cre terea ratei ar duce la diferen e de
faz la capetele magistralei.
• magistrale asincrone – la care nu exist o leg tur direct între evolu ia
în timp a unui ciclu de transfer i tactul sistemului. Majoritatea
magistralelor actuale lucreaz pe acest principiu (de exemplu, ISA,
EISA, MultiBus etc.).
II. num rul 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
ini ia un ciclu de transfer, pe când un modul slave poate fi comandat în
timpul unui ciclu de transfer, neavând elementele necesare pentru a
prelua controlul magistralei).
• magistrale multimaster – permit conectarea mai multor module master
pe acela i tronson de magistral . Magistrala trebuie s con in semnale
de arbitraj i un protocol de transfer al controlului pe magistral (de
exemplu, MultiBus, VME).
III. modul de realizare al transferului de date:
• magistrale cu transfer prin cicluri (magistrale secven iale) – regula
de baz : ciclurile de transfer se desf oar secven ial, la un moment dat
cel mult un ciclu de transfer fiind în curs de desf urare. Majoritatea
magistralelor folosesc acest principiu de transfer. În func ie de direc ia
de transfer se disting ase cicluri semnificative:
¡ cicluri de citire (respectiv scriere) din/în memorie;
¡ cicluri de citire (respectiv scriere) de la/la un port intrare-ie ire;
¡ cicluri de acces direct la memorie (citire/scriere);
• magistrale tranzac ionale – transferul de date se efectueaz prin
tranzac ii. O tranzac ie este divizat în mai multe faze. Mai multe
tranzac ii se pot desf ura simultan, cu condi ia ca tranzac iile s fie în
faze diferite; aceast restric ie provine din faptul c fiecare faz a unei
tranzac ii folose te un subset din mul imea semnalelor magistralei.
Teoretic, la aceste magistrale factorul de cre tere a vitezei (în compara ie
Structura unui calculator 179

cu o magistral secven ial ) este egal cu num rul de faze în care se


divide o tranzac ie (de exemplu, magistrala procesoarelor post-Pentium).
IV. num rul semnalelor utilizate în transferul de date:
• magistrale seriale – se utilizeaz ca mijloc de comunica ie între
componentele de baz ale unui calculator (CPU, memorie, interfe e de
I/O etc.). Se folosesc, de asemenea, în anumite sisteme dedicate bazate
pe microcontrolere, la care costul i dimensiunea redus sunt parametri
definitorii. Cu toate c viteza de lucru este mai mic decât 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 realizându-se la nivel de octet i nu de bit.

4.3.3. Tipuri, familii i standarde de magistral

Tipurile uzuale de magistrale sunt:


I. Magistrale procesor-memorie:
• între procesor i 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 decât 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 configura ii);
Magistralele I/O necesit o interfa simpl , pe când cele backplane
necesit o logic suplimentar la interfa . În schimb, avantajul magistralelor
backplane este c acestea con in 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 con ine
configura ii cu magistrale pentru comunicarea procesor-memorie i 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.
180 ARHITECTURA SISTEMELOR DE CALCUL

Fig. 4.3. Configura ii cu magistrale pentru comunicarea procesor-memorie i 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 influen ate de cerin ele i
particularit ile func ionale ale procesorului pentru care a fost conceput . Acest fapt
vine în contradic ie cu ideea de sistem deschis, conform c reia mediul de
comunica ie între componentele unui sistem trebuie s fie independent de produc tor.
Firmele dominante în domeniul construc iei de calculatoare i-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 i utilizabil liber de orice produc tor; altele au fost patentate i au
restric ii de utilizare, de exemplu magistrala MicroChannel (MCA) a firmei IBM,
folosit în construc ia calculatoarelor PS/2. Exist i standarde dezvoltate de
grupuri de produc tori cu interese apropiate. Astfel au ap rut standardele Camac,
FastBus, FutureBus, NuBus, Can etc.
În cazul acestor magistrale se pune problema asigur rii interoperabilit ii i
compatibilit ii între module realizate de diver i produc tori. Metoda de eliminare
a unor astfel de probleme este supunerea componentelor la teste de conforman .
Cele mai cunoscute foruri interna ionale de standardizare care au activitate în
domeniul magistralelor sunt IEEE, ANSI i IEC.
Câteva din cele mai cunoscute tipuri de magistrale sunt prezentate în tabelul 4.1.
Structura unui calculator 181

Tabelul 4.1
Tipuri de magistrale

Standard Nume Domenii


IEEE uzual de utilizare
488 GPIB Instrumente de laborator
583, 596, 683 Camac Achizi ie de date i instrumenta ie
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
i memorie, o magistral cu acces multiplu (multimaster) pentru unele periferice de
mare vitez (disc, interfa video) i o magistral de mic vitez pentru perifericele
lente. În aplica iile de control se mai poate ad uga i o magistral de
instrumenta ie, adaptat pentru culegerea datelor de proces.
Pentru a satisface o gam larg de cerin e, s-au dezvoltat familii de
magistrale care cuprind mai multe variante ale unei magistrale de baz i sunt
compatibile între ele într-o oarecare m sur (interfe ele dezvoltate pentru aceste
variante necesit modific ri minore pentru compatibilizare).
În prezent exist mai multe astfel de familii de magistrale:
• magistrale dezvoltate pentru calculatoare DEC – UniBus, QBus i VAXBI;
• magistrale dezvoltate pentru procesoarele Intel – MultiBus I, MultiBus II
i extensii ale acestora;
• magistrale inspirate de structura seriei de procesoare Motorola –
magistralele VME;
• magistrale de instrumenta ie – familia GPIB (dezvoltat de Hewlett
Packard), IEEE488 i Camac.
182 ARHITECTURA SISTEMELOR DE CALCUL

Î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 ar tat, o magistral (bus) este o structur de interconectare (un
ansamblu de linii de comunica ii) între mai multe circuite sau unit i ale unui
calculator. Un PC are diferite tipuri de magistrale, între care se afl urm toarele:
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 i 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 comunica ie între CPU i cipurile cu


care lucreaz direct. Aceast magistral este folosit pentru a transfera date, de
exemplu între CPU i memoria cache extern . Cele mai multe sisteme au un cache
extern pentru CPU; aceste memorii cache sunt în general folosite în toate sistemele
care utilizeaz cipuri 486, Pentium, Pentium Pro sau ulterioare.
Deoarece scopul magistralei procesorului este transmiterea i primirea
datelor de la CPU cu cea mai mare vitez posibil , aceast magistral lucreaz la o
vitez mult mai mare decât orice alt magistral din sistem: aici nu exist
strangul ri. Magistrala este compus din linii de semnal utilizate pentru date,
pentru adrese i pentru comenzi.
Exemple.
1. Într-un sistem 486, magistrala procesorului este compus din 32 de linii
de adrese, 32 de linii de date i câteva linii de comand .
2. Magistrala procesorului dintr-un sistem Pentium are 64 de linii de date,
32 de linii de adrese i 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 aceea i frecven cu cea a ceasului de
baz ca CPU în exterior. Acest lucru poate conduce la concluzii gre ite deoarece
cele mai multe procesoare actuale utilizeaz o frecven de lucru intern mult mai
mare decât a oric rei magistrale din sistem.
Exemplu. Un sistem Pentium 100 are un procesor Pentium care lucreaz
intern la 100 MHz, dar în exterior lucreaz la numai 66,6 MHz. Aceea i frecven
extern de lucru (66,6 MHz) o au i procesoarele Pentium 133, Pentium 166 i
chiar Pentium Pro 200. În cele mai multe dintre noile sisteme, frecven a real de
lucru a procesorului este un multiplu (de 1,5 ori, de 2 ori, de 2,5 ori, de 3 ori etc.) al
frecven ei magistralei procesorului.
Structura unui calculator 183

Magistrala procesorului este legat la pinii procesorului i 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 bi i de date simultan, în timp ce un sistem
Pentium sau Pentium II poate transfera 64 bi i de date la un moment dat.
Pentru a determina viteza de transfer pe magistrala procesorului se
multiplic l imea datelor (32 de bi i pentru 486 sau 64 de bi i pentru Pentium i
Pentium II) cu frecven a ceasului magistralei (aceea i cu frecven a 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 ob ine astfel o vitez maxim instantanee de transfer de 528 MB pe
secund . Acest rezultat deriv din urm toarea formul :

66 MHz × 64 bi i = 4.224 megabi i/secund ;


4.224 megabi i/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
rgimea de band în func ionarea normal ; va rezulta o valoare medie mai sc zut
a vitezei transferului de date. Al i factori de limitare, cum ar fi proiectarea setului
de cipuri, viteza memoriei i altele, contribuie la sc derea l rgimii de band
efective.
Între unit ile sau circuitele conectate la magistral se disting unit i de tip
master, care au ini iativa comunic rii pe magistral , i unit i de tip slave, care
spund la ini iativa de comunicare a masterului.
Exemple. Perechi master-slave: UC – memorie (acces la instruc iuni i la
date); UC – port I/O (transfer de date); UC – coprocesor (tratarea instruc iunilor în
virgul mobil ); dispozitive I/O – memorie (accesul la operanzi) etc.
În cazul procesoarelor moderne, comunica ia cu cipurile externe procesorului
a introdus no iunile de magistrale FSB, BSB i PSB
a) În cazul procesoarelor cu memorie cache L2 (L3, în cazul procesoarelor K6-
2+ i K6-3) care nu se afl în interiorul procesorului (exemple tipice fiind
procesoarele pe socket 7, slot 1 i slot A), leg tura dintre acesta i northbridge poart
denumirea de magistral FSB (Front Side Bus), iar frecven a de baz a acesteia
înmul it cu multiplicatorul d frecven a de lucru a procesorului. Între procesor i
memoria cache L2 conexiunea se face prin magistrala BSB (Back Side Bus), o
magistral de memorie care func ioneaz fie la frecven a FSB (la procesoarele pe
socket 7), fie la jum tate din frecven a procesorului (la procesoarele Intel pe slot 1),
fie între 1/3 i 1/2 din frecven a procesorului (la procesoarele AMD pe slot A).
Exemplu. Un FSB pe 32 de bi i, operând la o frecven de 100 MHz i care
realizeaz 4 transferuri pe ciclu, are o l rgime de band de 1.600 MB/s.
Produc torii specific viteza FSB-ului în MT/s (Mega Transfers per second). Dac
o plac de baz are un FSB cu frecven a de tact de 266 MHz i realizeaz 4
transferuri pe ciclu de ceas, FSB-ul certificat este de 1.066 MT/s.
184 ARHITECTURA SISTEMELOR DE CALCUL

b) În cazul procesoarelor cu cache L2 integrat în procesor (Intel P3 i


Celeron pe socket 370 i P4 toate variantele, respectiv, AMD Athlon pe socket A,
754, 939, 940), BSB-ul a disp rut, nemaifiind necesar.
Combinând a) i 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 m car termenul PSB nu este corect, leg tura dintre procesor i northbridge
fiind de tip punct-la-punct (point-to-point).

4.3.4.1. Conectarea la magistral


Majoritatea circuitelor logice nu dispun la ie ire de amplificatoare capabile s
furnizeze puterea necesar transmiterii unui semnal binar pe liniile magistralei
(datorit capacit ii magistralei, pe de o parte, i a înc rc rii intr rii cu alte sarcini).
Pentru transmitere se utilizeaz circuitele amplificatoare de putere numite driver-e.
La recep ie este necesar utilizarea unui receptor de tip Trigger-Schmidt care
reface semnalul degradat din cauza capacit ii limitate a liniei de transmisiune sau
a eventualelor zgomote. De multe ori, un circuit poate s transmit i în acela i
timp s fie receptor, rezultând c pentru interfa area cu magistrala sistemului
trebuie utilizate circuite mixte numite transceiver-e (transmitter + receiver).
Din punctul de vedere al st rilor logice, circuitele de conectare la magistral
sunt circuite cu trei st ri, în care a treia stare (stare flotant ) permite acestora s fie
deconectate logic când se afl în repaus. Un alt tip de circuit de conectare este
circuitul cu colectorul în gol (realizeaz func ia SAU-cablat).

4.3.4.2. Magistralele sincrone


Din punctul de vedere al caden ei schimbului de date care are loc pe
magistral exist arhitecturi sincrone i asincrone.
Magistrala sincron dispune de o linie de ceas comandat de un oscilator cu
cuar . Toate opera iile de pe o magistral sincron sunt efectuate într-un num r
întreg de perioade de ceas.
Exemplu. În figura 4.4 este prezentat modul de lucru al magistralei sincrone
în cazul opera iei de citire a unui cuvânt din memorie.
Nota ii folosite:
Ø – semnal de ceas real (un ciclu de ceas TC = 250 ns);
MREQ – cerere acces memorie (Memory Request);
RD – citire (Read);
TML – timp de stabilire a adreselor înainte de MREQ (> 60 ns; la o frecven de ceas
4 MHz se accept un timp de cre tere de 10 ns);
TM – activarea semnalului MREQ fa de frontul descresc tor în ciclul T1 (< 85 ns);
TRL – activarea semnalului RD fa de frontul descresc tor în ciclul T1 (< 85 ns);
TDS – date disponibile înainte de frontul descresc tor în ciclul T3 (> 50 ns);
TMH – tranzi ia semnalului MREQ dup frontul descresc tor în ciclul T3 (< 85 ns);
TRH – tranzi ia semnalului RD fa de frontul descresc tor în ciclul T3 (< 85ns);
TDH – men inerea datelor dup ridicarea semnalului de date (dup comutarea lui RD, > 0).
Structura unui calculator 185

T1 T2 T3

ADDR ADRES CUVÂNT

DATE DATE

TM TDS

MREQ TML
TMH

RD
TRL TRH
TDH

Fig. 4.4. Schema accesului la magistrala sincron .

Începutul ciclului T1 este marcat de frontul cresc tor al semnalului Ø. În


prima parte a ciclului T1 procesorul plaseaz pe magistrala de adrese adresa care se
dore te a fi citit din memorie. Pozi ionarea adresei pe magistral corespunde
activ rii mai multor semnale binare care formeaz adresa. Dup stabilirea adresei
pe magistral , devin active semnalele MREQ i RD. MREQ indic prin activarea
sa c se efectueaz un acces la memorie i nu un acces la dispozitivele I/O. RD
define te prin activarea sa o opera ie de citire din memorie.
În timpul ciclului T2 nu are loc nici o modificare pe magistral pentru a
permite memoriei decodificarea adresei de pe magistrala de adrese i pozi ionarea
informa iei cerute pe magistrala de date.
În timpul ciclului T3, pe frontul descresc tor al semnalului de ceas,
microprocesorul capteaz i înregistreaz într-un registru intern informa ia prezent
pe magistral . Odat terminat aceast opera iune, procesorul pune în repaus
semnalele MREQ i RD (le ridic în 1).
Dac este nevoie mai departe de o alt opera ie de citire sau scriere, aceasta
poate începe pe frontul cresc tor al urm torului ciclu de ceas. Dac memoria nu
este capabil s plaseze datele pe magistral în timpul cerut (s fie respectat TDS),
atunci memoria activeaz un semnal de wait, prin care cere prelungirea timpului de
186 ARHITECTURA SISTEMELOR DE CALCUL

citire. St rile de wait, care sunt generate de surplusul de vitez a procesorului în


compara ie cu viteza memoriei, încetinesc viteza calculatorului.
Avantaj: func ionare relativ simpl .
Dezavantaje:
1. orice opera ie pe magistral corespunde unui num r întreg de perioade
de ceas, ceea ce conduce la o func ionare suboptimal din punct de
vedere al vitezei de lucru, datorat faptului c o opera ie care dureaz 3,1
perioade de ceas va fi realizat în 4 perioade de ceas, chiar dac
memoria poate s r spund mai repede;
2. magistrala sincron evolueaz dificil odat cu procesul tehnologic de
realizare a componentelor, datorit faptului c prin utilizarea unor
memorii de vitez mai mare nu se poate reduce durata unei opera ii de
citire-scriere pân când nu este modificat frecven a ceasului care
guverneaz magistrala.
Concluzie. Pentru a conecta în mod optim un ansamblu de circuite la
magistral , este preferat arhitectura asincron .

4.3.4.3. Magistralele asincrone

În acest caz, nu este necesar existen a unui semnal de ceas care s


supervizeze transferul. Deci, durata unei opera iuni pe magistral este variabil , în
func ie de performan ele circuitelor utilizate.
Exemplu. În figura 4.5 este prezentat modul de lucru al magistralei
asincrone în cazul opera iei de citire a unui cuvânt din memorie.

ADDR ADRES CUVÂNT

MREQ
RD

MSYN

DATE DATE

SSYN

Fig. 4.5. Schema accesului la magistrala asincron .


Structura unui calculator 187

MSYN (Master Synchronisation) i SSYN (Slave Synchronisation) sunt


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

4.3.4.4. Transferul datelor pe magistrala local a procesorului (PLB)


Tranzac iile pe magistrala local a procesorului, PLB (Processor Local Bus),
constau în mai multe faze de adresare i date. În func ie de nivelul de activitate a
magistralei i capacitatea slave PLB, acestea pot dura unul sau mai multe cicluri de
magistral PLB. De asemenea, pipeline-ul de adresare i livrarea datelor i
adreselor separate sunt îmbun ite prin modul în care aceste faze sunt gestionate.
Tranzac ia de adresare con ine 3 faze: cerere, transfer i confirmare de adresare. O
tranzac ie PLB începe când un master adun adresele sale i transfer semnalele în
vedere ob inerii 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 când un
slave încheie adresa masterului i transfer datele în timpul fazei de confirmare a
adresei.
188 ARHITECTURA SISTEMELOR DE CALCUL

Figura 4.6 ilustreaz dou pipeline-uri de adresare de citire i scriere, împreun


cu fazele de citire i scriere a datelor. Master A i B reprezint starea fiec rei adrese
master. PLB arbitreaz între aceste cereri i 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 fiec rui tact PLB.

Fig. 4.6. Exemplu de protocol de transfer PLB.

a cum se arat în figura 4.6, specifica iile PLB accept implement rile în
care aceste trei faze pot solicita numai un singur ciclu de ceas PLB. Acest lucru se
întâmpl atunci când masterului solicitant îi este acordat imediat accesul la
magistrala slave i unitatea slave confirm adresa de-a lungul aceluia i 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 bi i a ap rut în mai 2007.
PLB ofer o interfa standard între nucleele procesorului i controlerele
integrate ale magistralei. Cu PLB, poate fi dezvoltat o bibliotec a nucleelor
procesorului i controlerelor magistralei pentru utilizare i aplicare în nucleu, sub
form de circuite integrate specifice (numite Core + ASIC) i modele system-on-a-
chip (SOC).
În plus, PLB este o magistral de mare performan on-chip care este folosit
în sistemele integrate Core + ASIC. PLB sprijin citirea i scrierea, transferuri de
date între dispozitivele master i slave care sunt dotate cu o interfa de magistral
PLB i 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 i semnale de transfer.
Slave-urile PLB sunt ata ate la PLB prin magistrale de adrese puse în comun, dar
decuplate, magistrale de citire, magistrale de scriere, control al transferului i 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 unit ile master i slave care sunt
anexa i la PLB folosesc acest ceas ca surs .
PLB se diferen iaz prin urm toarele caracteristici de performan :
Structura unui calculator 189

• transferurile de citire i scriere se suprapun pentru a permite dou


transferuri de date per ciclu pentru maximizarea folosirii magistralei;
• magistrale decuplate pentru adresare i date sus in capacitatea de
divizare a tranzac iilor pentru o l ime de band mai bun ;
• protocolul de suprapunere a cererii de magistralei i protocolul de oferire
a dreptului magistralei reduc întârzierile cauzate de arbitraj;
• PLB este o magistral complet sincron .

4.3.4.5. Arbitrajul magistralei


Pân 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 func iile acestuia.
Structura centralizat
Algoritmul cu priorit i statice (daisy chain). Se presupune existen a a
cinci dispozitive de I/O care cer simultan accesul la magistral prin linia de BUS
REQUEST, iar arbitrul le r spunde 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. Când cel pu in unul dintre circuite
cere accesul la magistral , arbitrul este sesizat, iar când este posibil (când
magistrala este liber ) acesta acord accesul la magistral printr-o linie de acordare
a magistralei (BUS GRANT), astfel încât arbitrul nu vede decât o singur cerere,
chiar dac mai multe circuite cer accesul (vezi figura 4.7).

BUS REQUEST

arbitru

1 2 3 4 5

BUS GRANT Dispozitive I/O

Fig. 4.7. Algoritmul cu priorit i statice (daisy chain).


190 ARHITECTURA SISTEMELOR DE CALCUL

Linia de acordare a magistralei traverseaz în serie cele cinci circuite de I/O


(pe aceast linie dispozitivele I/O sunt a ezate în cascad ). Când primul circuit I/O
recep ioneaz acordarea magistralei, el cunoa te dac are sau nu nevoie de
magistral , adic dac a formulat cererea de acces sau nu. Dac are nevoie, el accept
magistrala i preia controlul ei, iar dac nu, permite propagarea semnalului de
acordare mai departe, c tre circuitul urm tor. Prioritatea scade de la stânga spre
dreapta (prioritatea este direct propor ional cu apropierea de arbitru).
În cele ce urmeaz se va prezenta o variant care permite existen a mai
multor niveluri de prioritate. Aceasta va cuprinde dou niveluri de ierarhizare:
primul cuprinde circuitele 1 i 2, iar cel de-al doilea cuprinde circuitele 3, 4 i 5.
Astfel, rezult dou linii de acordare a magistralei.
Pentru fiecare nivel de prioritate exist o linie de cerere de magistral i 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
arbitru BUS REQUEST 2

1 2 3 4 5

BUS GRANT 1
BUS GRANT 2

Fig. 4.8. Repartizarea dispozitivelor I/O pe nivele de prioritate.

O alt variant ar fi urm toarea: î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 permi ând altor unit i s cear
accesul în timpul transferului de date pe magistral i, mai mult chiar, permi ând
arbitrului de magistral s fac o preselec ie a unit ii care are prioritate. Astfel, odat
ce transferul de date pe magistral a luat sfâr it, magistrala este eliberat i unitatea
preselectat preia controlul magistralei (aceast tehnic este mai eficient ). De obicei,
aceast variant cu preselec ie i 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 c tre arbitru.
Acesta r spunde pe linii separate dispozitivelor. Dispozitivul care prime te r spuns
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.
Structura unui calculator 191

1 2 m

BG 1
BR 1

BG 2
BR 2
arbitru

BG m
BR m
ACK

BUS

Fig. 4.9. Algoritmul cu cereri independente.

Nota iile 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 log2m linii de interogare


pentru cele m dispozitive. Dispozitivele sunt prev zute cu câte un decodor pentru a
recupera codul de interogare. Dispozitivul care î i recunoa te codul de interogare
activeaz semnalul de confirmare ACK (acknowledge) i preia controlul
magistralei.
Arbitrul întrerupe ciclul de interogare pân când dispozitivul c ruia i s-a
acordat magistrala î i încheie opera iile pe magistral (vezi figura 4.10). Prioritatea
fiec rui dispozitiv este setat în codul de interogare.
În majoritatea sistemelor de calcul, unitatea central trebuie s negocieze
accesul la magistral în acela i mod cu celelalte unit i. În general, unitatea
central are prioritatea cea mai sc zut ; ea utilizeaz magistrala doar când nici un
alt circuit nu are nevoie de ea. Aceasta permite circuitelor I/O s realizeze transferul
de date atunci când este necesar, f s apar pericolul de pierdere a datelor.
Pentru fiecare nivel de prioritate exist o linie de cerere de magistral i o
linie de acordare de magistral .
192 ARHITECTURA SISTEMELOR DE CALCUL

1 2 m

log2m linii
de interogare

confirmare
arbitru
ACK

BUS REQUEST

BUS

Fig. 4.10. Algoritmul cu interogare ciclic (polling).

În majoritatea sistemelor de calcul, unitatea central trebuie s negocieze


accesul la magistral în acela i mod cu celelalte unit i. În general, unitatea central
are prioritatea cea mai sc zut ; ea utilizeaz magistrala doar când nici un alt circuit
nu are nevoie de ea. Aceasta permite circuitelor I/O s realizeze transferul de date
atunci când este necesar, f s apar pericolul de pierdere a datelor.
Structura descentralizat
În aceast structur nu exist un arbitru veritabil de magistral (circuit fizic),
ci fiecare unitate î i gestioneaz singur accesul la magistral realizând o parte din
func iile arbitrului.
Exemplu. La sistemele VAX, exist 16 niveluri de prioritate i fiec ruia îi
este asociat o linie de cerere de magistral (sistemul poate accepta maximum 16
unit i, poten iali master de magistral ).
Când o unitate dore te 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 unit ii cu cea mai mare prioritate, iar pentru
celelalte unit i accesul nu este permis.
Avantajul este c permite o implementare simpl , iar dezavantajul, c
necesit mai multe linii, deoarece fiecare unitate recep ioneaz cele 16 linii.
Exemplu. Pentru sistemele Intel se folose te 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 unit ile sunt a ezate în
cascad (conform structurii centralizate);
Structura unui calculator 193

BUS REQUEST BUS BUSY


ARBITRATION LINE
+ 5V

1 2 3 4 5

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 , poten ialul de +5V se
propag pe toat linia de arbitraj (toate unit ile în repaus pleac de la o
prioritate egal ).
Pentru a ob ine 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 condi ii sunt îndeplinite, unitatea pune în 0 ie irea sa, ceea
ce are ca efect propagarea st rii de 0 pe linia de arbitraj pentru toate unit ile care
urmeaz .
În acest moment exist o singur unitate care are intrarea activ (în +5V) i
ie irea inactiv (în 0), ceea ce face ca aceast unitate s devin masterul
magistralei; ea activeaz linia de BUS BUSY i este liber s efectueze transferul
pe magistral .
Lan ul de priorit i la structura descentralizat este, deci, urm torul: o unitate
ob ine accesul la magistral înaintea unit ii de la dreapta sa, dar dup cele de la
stânga.
Avantajele schemei fa de structura cu arbitru sunt simplitatea (arbitrul de
magistral lipse te i sunt trei teste de efectuat pentru unit i) i rapiditatea.

Algoritmul cu priorit i dinamice (rotating daisy chain). Acest algoritm


reprezint varianta descentralizat a algoritmului cu priorit i statice (daisy chain).
Pentru algoritmul cu priorit i 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, modificând astfel „distan a” dintre dispozitive i subblocul de arbitraj.
Dispozitivul care a preluat controlul magistralei va avea la urm toarea cerere de
magistral prioritatea minim .
Subblocurile de arbitraj comunic între ele pentru a arbitra cererea de
magistral prin semnalele BUS REQUEST i ACK. De asemenea, exist leg turi
electrice pentru dialog între fiecare subbloc de control al magistralei i dispozitivul
asociat.
194 ARHITECTURA SISTEMELOR DE CALCUL

1 2 m

BUS
GRANT

ACK

BUS
REQUEST

BUS

Fig. 4.12. Algoritmul cu priorit i dinamice (rotating daisy chain).

4.3.4.6. Magistrala VME


Magistrala VME (Versa Module Eurocard) este un exemplu de magistral
asincron , de înalt performan , proiectat pentru utilizarea intensiv în mediul
industrial; ea con ine 32 de linii de adrese i 32 de linii de date. Pe lâng aplica iile
industriale, este utilizat i în minicalculatoare.
Magistrala VME a fost dezvoltat din magistrala Versa Bus a firmei
Motorola, iar specifica iile pentru magistrala VME sunt con inute în norma IEEE
P1014. Spre deosebire de magistrala IBM PC, magistrala VME a fost proiectat
urm rind trei scopuri: interoperabilitatea, performan a i fiabilitatea.
Magistrala VME se prezint sub trei forme: VSB, VMS i VME. Aceste
magistrale specifice sunt bine adaptate la realizarea unor sisteme de calcul variate,
de la scheme de dezvoltare i pân 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 i datele asociate unui procesor. Instruc iunile referitoare la memoria
global sunt singurele care necesit utilizarea magistralei VME, celelalte
instruc iuni merg pe magistrala VSB.
În consecin , performan a 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
bi i, cu un ciclu de magistral de 200 ns, l rgimea 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 înc rcat doar la
valoarea de 32MB/s (adic restul de 10%), ceea ce este mai pu in de 40MB/s
(valoare impus de tehnologia VME).
Structura unui calculator 195

Familia VME cuprinde o magistral serie pe care comunica iile se realizeaz


prin transmisiuni seriale (VMS). Magistrala VMS este independent de celelalte
dou i ofer o l rgime de band de 30Mb/s (la transmisia serial banda se exprim
în megabi i pe secund , nu în megaocte i pe secund ). Ea corespunde necesit ilor
de comunica ie cu debit sc zut sau transferului informa iilor de sincronizare între
procesoare. Magistrala VMS este asem toare unei re ele locale, ea fiind bazat
pe un cablu coaxial.
Exemplul 1: sistem cu trei pl ci VME: procesor, memorie, controler I/O.

UC M I/O

Magistral VME

Fig. 4.13. Exemplu simplu de magistral VME.

Exemplul 2: sistem multiprocesor.

ML ML ML

VSB BUS

UC UC UC MP

VME BUS

VMS BUS

ML = memorie local MP = memorie partajat

Fig. 4.14. Exemplu complex de magistral VME.

Magistralele VME, VSB i VMS sunt magistrale pe care comunica iile au


loc independent i simultan, nefiind sincronizate.
Magistralele VME cuprind patru grupe de linii: liniile de date, liniile de
arbitraj al magistralei, liniile de întreruperi i liniile de comand .
În ceea ce prive te unit ile implicate în transferul de pe liniile de date,
exist , pe lâng modulele master i slave, înc dou tipuri de unit i func ionale
care particip la schimbul de date pe magistral : monitorul de urm rire i
supervizorul de magistral .
196 ARHITECTURA SISTEMELOR DE CALCUL

Monitorul de urm rire analizeaz traficul de pe magistral i genereaz o


întrerupere atunci când detecteaz o ac iune sau o adres anormal (are rolul de a
semnaliza o ac iune nepermis ).
Exemplu. O tentativ de scriere în memorie într-o zon protejat este
recunoscut de monitorul de urm rire i oprit prin cererea de întrerupere a
procesorului).
Monitorul de urm rire înregistreaz în memorie într-un spa iu cu n pozi ii
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 îndepline te func ia de urm rire 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 r spund
acestei adres ri. Rolul supervizorului de magistral este important datorit faptului
f interven ia 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
priorit i fixe i arbitrajul cu priorit i circulare.
Arbitrajul simplu presupune existen a unui lan de unit i pe un singur nivel.
Arbitrajul cu priorit i fixe permite existen a mai multor niveluri de
prioritate, între care se stabile te o anumit ordine.
Arbitrajul cu priorit i circulare implic înl uirea ciclic a unit ilor,
existând astfel posibilitatea unui transfer continuu al priorit ilor. El presupune
existen a unor linii de cerere de magistral cu aceea i prioritate; la magistrala VME
exist patru astfel de linii de cerere de magistral . Acestea func ioneaz astfel: la
primul ciclu de magistral este servit cererea sosit pe linia 0, la ciclul urm tor
cererea sosit pe linia 1 .a.m.d. Dac nu exist nici o cerere pe linia considerat ,
atunci se analizeaz linia urm toare. Unit ile care pot deveni master sunt legate în
lan la cele patru linii.
Oricare ar fi schema de arbitraj utilizat , o unitate master care dore te
accesul la magistral transmite o cerere în acest sens c tre arbitru pe o linie
corespunz toare; când cererea este satisf cut i se ob ine magistrala, acea unitate
master transmite arbitrului un semnal de ocupare a magistralei i anuleaz cererea
sa. În acest mod, devine posibil alocarea anticipat a magistralei unei alte unit i
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 îmbun ire
net a performan elor magistralei.
În plus, la magistrala VME arbitrului de magistral îi este permis
suspendarea activit ii unui master de prioritate sc zut angajat într-o secven
lung pe magistral (de exemplu, într-un transfer de blocuri de date). Acest lucru se
întâmpl atunci când 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 informa iilor între CPU
i 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 informa iilor
între magistrala procesorului i memorie.
Sistemele cu frecven mare a pl cii de baz lucreaz la viteze care dep esc
uneori posibilit ile cipurilor DRAM standard. În astfel de sisteme este utilizat un set
de cipuri, controlerul memoriei, care realizeaz interfa a între magistrala rapid a
procesorului i memoria principal , mai lent (vezi figura 4.15). Acest set de cipuri
este în general acela i cu setul de cipuri responsabil cu gestionarea magistralei I/O.

CPU Cache extern

Magistrala procesorului

Cipurile
controlerului
de memorie

Magistrala principal a
Magistrala principal a sistemului
sistemului Magistrala memoriei

RAM

Fig. 4.15. Schema de interconectare a magistralelor unui calculator.

Informa ia care circul prin magistrala memoriei este transferat la o vitez


mult mai mic decât viteza de transfer a informa iei pe magistrala procesorului.
imea magistralei de memorie este întotdeauna egal cu cea a magistralei
procesorului. Dac procesorul are 32/64 bi i, magistrala memoriei are tot 32/64 bi i.
Procesoarele mai noi aduc o nou arhitectur a pl cii de baz , cu dou cipseturi:
northbridge i southbridge, între care sarcinile sunt împ ite (vezi figura 4.16 i 4.17).
Chipul northbridge, cunoscut ca Memory Controller Hub (MCH), se ocup de
comunica iile între CPU, memorie, grafic , interfe e i southbridge. Unele northbridge-
uri con in controlere video integrate, numite Graphics and Memory Controller Hub
(GMCH). Deoarece diversele procesoare i RAM-ul necesit semnale diferite, un
northbridge va func iona doar cu una sau dou clase de CPU i cu un singur tip de RAM.
198 ARHITECTURA SISTEMELOR DE CALCUL

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


interfa a cu perifericele i magistralele i transfer date din/în northbridge, fie prin
magistrala PCI la modelele mai vechi (care creeaz efectul de gâtuire – bottleneck),
fie prin interconexiunea proprie (o interfa de înalt performan ), la cipurile mai
recente. Southbridge este cunoscut ca I/O Controller Hub (ICH). Spre deosebire de
northbridge, southbridge nu este conectat direct la CPU, având în responsabilitate
dispozitivele mai lente. Un anumit southbridge va func iona 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 i a celei de


memorie. Magistrala unui sistem Pentium are 64 de linii de date, 32 linii de adrese
i câteva linii de comand . Aceste linii de adrese constituie magistrala de adrese; în
multe scheme bloc este inclus în magistrala procesorului i î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 opera iei de transfer
al datelor. Magistrala de adrese indic precis locul în care va avea loc urm torul
transfer în memorie sau pe magistral . Dimensiunea magistralei de memorie
determin m rimea 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 i sloturile sale de extensie asociate sunt necesare pentru c nu este
posibil ca sistemele de baz s satisfac toate necesit ile tuturor celor care le
achizi ioneaz . Magistrala I/O permite ad ugarea de dispozitive calculatorului
pentru a-i extinde posibilit ile. Componentele de baz ale calculatorului, cum ar fi
controlerele de hard disk i pl cile adaptoare video, pot fi ata ate sistemului prin
intermediul sloturilor de extensie; de asemenea, se pot ata a dispozitive mai
specializate, cum ar fi adaptoarele de re ea etc.
De la apari ia primului PC, s-au introdus mai multe tipuri de magistrale I/O
(ISA, MCA, EISA etc.). Îmbun irea performan elor vizeaz trei domenii principale:
• procesoare mai rapide;
• cerin e software sporite;
• cerin e video mai mari.
Fiecare dintre aceste trei cerin e impune ca magistrala I/O s fie cât mai
rapid posibil. Aproape toate sistemele PC livrate în prezent folosesc înc aceea i
arhitectur de magistral ca la modelul IBM PC/AT din 1984. Dar, cele mai multe
dintre aceste sisteme con in acum i o magistral local de mare vitez , cum este
VLBus sau PCI, care ofer un nivel de performan mai ridicat pentru adaptoarele
care solicit a a ceva. Standardizarea este una dintre caracteristicile care au
determinat succesul sistemelor PC.
Aceste tipuri de magistrale se deosebesc prin volumul datelor transferate
simultan i 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 i 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 i echipamente de stocare, cum
ar fi hard disk-ul sau unit ile optice. Principalele avantaje fa de vechile interfe e
200 ARHITECTURA SISTEMELOR DE CALCUL

Parallel ATA sunt transferurile de date mai rapide, abilitatea de a deconecta sau
instala echipamente în timp ce calculatorul este func ional (hot swapping), cabluri
mai sub iri care permit sistemului de r cire cu aer s func ioneze mai eficient i
opera ii mai sigure cu verific ri de integritate ale datelor mai riguroase.
Interfa a standard pentru controlerele SATA este AHCI (Advanced Host
Controller Interface), care permite s fie folosite specifica iile avansate ale SATA
cum ar fi hot plug sau NCQ (Native Command Queuing). Dac interfa a AHCI nu
este implementat pe placa de baz , controlerele SATA ruleaz într-un mod care
emuleaz interfa a 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 interfa a AHCI, în timp ce sistemul de operare Windows
Vista i versiunile curente din Mac OS ofer acest suport.
Valorile ratei de transfer a genera iilor interfe ei SATA sunt de 1,5 Gb/s i
3,0 Gb/s. Exist planuri de viitor pentru un standard de 6 Gb/s, care ar fi în
momentul de fa folositor în tandem cu multiplicatori de porturi, pentru a permite
mai multor discuri s fie conectate la un singur port SATA, împ ind l rgimea 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) i 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 i pot fi astfel conectate la mai multe echipamente, acestea având un
identificator unic pe 64 de bi i. Exist , de asemenea, i 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, diferen iale (LVDS). În codarea de tip 8b/10b, semnalul de sincronizare
este inclus în secven a de date. Aceast tehnic este numit clock data recovery
(recuperarea ceasului cu ajutorul datelor), deoarece nu folose te un semnal de
sincronizare separat. În schimb, are nevoie de o tranzi ie de la 0 la 1 în irul de date
serial pentru a face sincronizarea.
Varianta extern la magistralei SATA se nume te 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 i orice alt dispozitiv care
trebuie s transfere cantit i mari de date într-un timp foarte scurt.
Standardul SCSI specific interfa a hardware i software la un nivel care
minimizeaz subordonarea fa de orice alt implementare hardware. Specifica ia
permite conectarea unei mari variet i de periferice la multe tipuri de calculatoare.
O magistral SCSI este un tip de magistral care se conformeaz cerin elor
fizice i electrice ale standardului SCSI standard. Un dispozitiv SCSI ( int ) se
supune oric rei unit i conectate la magistrala SCSI, fie c este vorba despre un
echipament periferic sau un calculator. Fiec rui dispozitiv SCSI îi este atribuit un
ID SCSI (o valoare întreag , care identific unic dispozitivul în timpul opera iilor).
Fazele magistralei SCSI sunt intervale de timp de-a lungul c rora, prin
conven ie, 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 direc ioneaz tranzi ia de la o faz la alta. De exemplu, semnalul de resetare
invoc faza de magistral liber , în timp ce semnalul de aten ie 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 folose te magistrala i c magistrala este liber pentru orice alt opera ie SCSI.
2. Arbitrajul: aceast faz este precedat de faza de magistral liber i
permite unui dispozitiv SCSI s câ tige control asupra magistralei. În timpul
acestei faze, toate dispozitivele care doresc s foloseasc magistrala î i pun ID-ul
pe magistral (folosind semnalele de date). Semnalul cu cel mai mare ID câ tig .
3. Selec ia: aceast faz urmeaz fazei de arbitraj. Dispozitivul care a
câ tigat faza anterioar folose te aceast etap pentru a selecta un alt dispozitiv cu
care s comunice.
4. Reselec ia: aceast faz , op ional , este folosit de sisteme care permit
echipamentelor periferice s se deconecteze i s se reconecteze (de) la magistral
în timpul opera iilor îndelungate.
5. Comanda: de-a lungul acestei faze, inta cere o comand de la ini iator.
6. Datele: faza de date are loc când inta cere un transfer de date (de) la ini iator.
7. Starea: aceast faz are loc când inta cere ca informa ia de stare s fie
trimis la ini iator.
8. Mesajul: faza de mesaj are loc când inta cere transferul unui mesaj.
Mesajele sunt mici blocuri de date care transport informa ia sau cererea între
ini iator i int . În aceast faz , pot fi trimise mesaje multiple.
Împreun , ultimele patru faze (comand , date, stare, mesaj) sunt cunoscute
ca fazele de transfer al informa iei.
202 ARHITECTURA SISTEMELOR DE CALCUL

Fig. 4.19. Fazele magistralei SCSI i tranzac iile permise.

Figura 4.19 arat leg tura dintre fazele magistralei SCSI.


Varianta serial a magistralei SCSI se nume te 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 sc zut . În


timp ce viteza magistralei procesorului a crescut, magistrala I/O a cunoscut doar
ajust ri ale vitezei nominale, în principal prin cre terea l imii de band .
Solu iile bazate pe magistrala local nu înlocuiesc standardele existente, ci
sunt proiectate pentru a le îmbun i. De aceea, un sistem uzual este bazat pe
standardele I/O i, în acela i timp, este dotat cu unul sau mai mul i conectori Local
Bus. Un exemplu de magistral local la Intel 80486 este VLBus (VESA Local Bus).

4.3.8.1. Magistrala PCI


Magistrala PCI (Peripheral Component Interconnect) este numit adesea i
magistral mezanin, oarece ea adaug un alt nivel configura iei de magistral .
PCI ocole te magistrala standard I/O, folosind magistrala sistemului (pentru a
cre te viteza ceasului) i toate avantajele c ilor de date (vezi figura 4.20).
La magistrala PCI standard, informa iile se transfer la 33 MHz, utilizând
toat l imea cuvântului. L rgimea de band este de 132 MB/s. Când magistrala
este folosit cu o unitate CPU pe 64 bi i, l rgimea de band se dubleaz , aceasta
însemnând c datele se pot transfera la viteze de pân la 264 MB/s. În realitate,
vitezele de transfer ale datelor vor fi în mod necesar mai mici, dar ele r mân în
continuare mult mai mari decât la orice alt variant anterioar .
Una dintre cauzele acestui transfer mai rapid este faptul c magistrala PCI
lucreaz în paralel cu magistrala procesorului, f s o înlocuiasc . Unitatea CPU
poate procesa date în memoria cache extern , în timp ce magistrala PCI este
ocupat cu transferarea informa iilor î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


ini iator (master) i o int (slave). Dup ce un master a ob inut 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 func ioneaz 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 ini iator pentru a emite mesaje c tre una sau
mai multe inte.
3. Citire I/O. Este un ciclu de transfer de date între ini iator i un dispozitiv
I/O. Fiecare dispozitiv I/ O are alocat un spa iu propriu de adresare.
4. Scriere I/O.
5. Citire din memorie. Citirile din memorie se pot executa în salv , pe
blocuri, func ie de modul în care controlerul de memorie gestioneaz transferurile
între memorie i cache. Se cite te o jum tate de linie de cache sau mai pu in, în
salv fiind unul sau dou cicluri de citire.
6. Citire o linie din memorie. Se cite te mai mult de o jum tate de linie de
cache, dar mai pu in de trei linii, în salv fiind între 3 i 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
204 ARHITECTURA SISTEMELOR DE CALCUL

9. Scriere în memorie i invalidare. Scrierea se poate face, de asemenea, în


salv . Se respect modul Write Back pentru scrierea din cache în memorie.
10. Citire configura ie. 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 configura ie. În acest tip de ciclu, dispozitivul master poate
modifica registrele de configurare.
12. Ciclu de adresare dual. Este folosit de ini iator pentru a ar ta c apare o
adresare pe 64 de bi i.
Orice transfer de date pe magistrala PCI const într-o faz de adresare i 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 i date;
C/BE – liniile multiplexate pentru comenzi de magistral sau Byte Enable. În
timpul fazei de date, arat care din cei 4 octe i de date poart date semnificative;
FRAME – semnalul generat de ini iatorul curent, pentru a indica startul unui
transfer. Este dezactivat când ini iatorul începe faza final de date.
IRDY – ini iator preg tit, 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 – int preg tit , generat de modulul selectat ( int ). La citire, pe AD
sunt prezente date valide, iar la scriere indic faptul c inta este gata s accepte date.
DEVSEL – semnalul activat de int când î i recunoa te adresa.
Func ionarea este urm toarea:
Structura unui calculator 205

1. De îndat ce masterul are controlul magistralei, poate începe transferul


activând FRAME. Linia r mâne activ pân ini iatorul termin ultima faz de date.
Ini iatorul pune adresa pe AD i comanda de citire pe liniile C/BE.
2. inta î i recunoa te adresa pe liniile AD.
3. Ini iatorul cedeaz magistrala intei (începând cu tactul 3). Ini iatorul
schimb informa ia pe liniile C/BE, pentru a indica pe care dintre liniile AD se vor
transmite datele de la int (1 pân la 4 octe i).
4. inta selectat activeaz DEVSEL, pentru a semnaliza c a recunoscut
adresa, apoi pune datele pe liniile AD (primul octet) i activeaz TRDY.
5. inta are nevoie de timp pentru a preg ti urm torul octet de date.
6. inta dezactiveaz TRDY, pentru a informa ini iatorul c pe urm torul
tact nu vor exista date valide. Ca urmare, ini iatorul 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, inta pune pe magistral al treilea octet de date. Se
presupune de data aceasta c ini iatorul nu este gata s preia datele (are, de
exemplu, buffer-ul plin). Ini iatorul dezactiveaz IRDY, ceea ce are ca efect
men inerea datelor de c tre int un tact suplimentar (datele nu se citesc la
începutul tactului 7, ci la începutul tactului 8).
8. Ini iatorul dezactiveaz semnalul FRAME i activeaz semnalul IRDY,
pentru a semnala c este gata s finalizeze transferul.
9. Ini iatorul dezactiveaz IRDY, permi ând magistralei s treac în starea ini ial .
inta a detectat dezactivarea semnalului FRAME i dezactiveaz TRDY i DEVSEL.

4.3.8.2. Magistrala AGP


AGP (Accelerated Graphics Port) este o magistral dedicat comunic rii 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
comunica ia cu display-ul i pentru a m ri banda transferurilor de date c tre acesta.
AGP a fost ap rut în 1997, odat cu procesorul Pentium II i cipsetul
62440LX. Acest cipset, primul care a implementat controlul comunica iei 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 i placa grafic montat în slotul AGP (vezi figura 4.22).
AGP d pl cii 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
când cea anterioar a fost satisf cut ). Cererile formeaz o coad de a teptare,
printr-un proces denumit SBA (Sideband Addressing).
Magistrala AGP are la baz standardul PCI versiunea 2.1. AGP are 32 de linii
i lucreaz la 66 MHz, spre deosebire de PCI, a c rei frecven este de 33 MHz.
Banda primei magistrale AGP era de 264 MB/s (dubl fa de PCI). Ulterior, au
ap rut pl ci grafice care suportau transferul de date pe ambele fronturi ale semnalului
de ceas (2×-mode transfer) i banda s-a dublat ajungând la 528 MB/s (AGP 2×).
206 ARHITECTURA SISTEMELOR DE CALCUL

Fig. 4.22. Configura ia magistralelor la PC-urile cu procesor Pentium II.

Versiunea AGP 2.0, cunoscut i ca AGP 4×, define te un nou mod de


transfer – 4x-mode transfer – constând î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 dep te, astfel, valoarea de 2 GB/s.

4.3.9. Magistrala serial

4.3.9.1. Magistrala USB


Acest tip de magistral a ap rut î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 apari ia USB, dispare multitudinea de cabluri i
conectori necesar conect rii 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 i monitor.
Aceste aparate func ioneaz ca distribuitori (hub) pentru alte aparate. De asemenea,
calculatorul preia rolul de gazd (host), gestionând diversele comunica ii.
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 rând
echipamentele audio-video, telefonia digital , modemurile, tastaturile, tabletele
digitizoare, unit ile CD i DVD, unit ile HDD externe etc.
Dup cum s-a ar tat în paragraful 3.4.4.1, un host USB comunic cu
dispozitivele conectate prin intermediul unor canale logice (pipes), care au ni te
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 c tre
dispozitive, primind ca r spuns starea dispozitivului periferic la un
moment dat (de exemplu, pipe-urile de management 0);
• modul izocron – garanteaz o vitez (nu neap rat cea maxim ), dar cu
posibilit i de a pierde date (de exemplu, aplica ii audio-video în timp real);
• modul întrerupere – pentru periferice care au nevoie de r spuns rapid
(cu laten e limitate) (de exemplu, mouse, tastatur etc.);
• modul bulk – transferuri mari i lungi de date, folosind toat banda
liber , f a garanta banda (de exemplu, transferuri de fi iere).
Când un dispozitiv periferic este activ, ata at host-ului, acesta prime te o
adres de 7 bi i de la host. Host-ul interogheaz dispozitivele pentru trafic, astfel
încât nici un dispozitiv nu poate transfera date pe magistral f a face o cerere
tre host. Întreruperile efectuate asupra endpoint-urilor corespunz toare nu întrerup
practic traficul de date, ci sunt programate doar pentru a fi interogate mai des de
tre host, primind o prioritate mai mare.
Accesarea unui endpoint se face printr-o configura ie ierarhic . Un dispozitiv
conectat la magistral are un descriptor de dispozitiv (device descriptor), care, la
rândul s u, are mai mul i descriptori de configura ie (configuration descriptors).
Configura iile corespund, de obicei, cu starea la un moment dat (de exemplu, activ
sau în mod putere sc zut – low power). Fiecare descriptor de configura ie are, la
rândul s u, un descriptor de interfa (interface descriptor), care descrie diferite
func ionalit i ale dispozitivului, în func ie de tipul acestuia (de exemplu, o camer
video poate avea descriptor de interfa video i descriptor de interfa audio).
Structura ierarhic este prezentat în figura 4.23.

Fig. 4.23. Structura ierarhic a descriptorilor USB.


208 ARHITECTURA SISTEMELOR DE CALCUL

Fiecare descriptor de interfa are ni te set ri implicite i este posibil s aib


set ri alternative de interfa (alternate interface settings), care, la rândul lor, au
descriptori de enpoint-uri (endpoint descriptors). Un endpoint poate fi totu i folosit
pentru mai multe interfe e sau set ri alternative de interfe e.
Hub-urile sunt elemente cheie în arhitectura plug’n’play a USB, u urând
conectivitatea din punct de vedere al utilizatorului i asigurând o robuste e mai
mare. Punctele de conexiune ale hub-urilor se numesc porturi. Un hub are un port
upstream i 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 func ional. Hub-ul
poate detecta conectarea i deconectarea dispozitivelor la fiecare port downstream
i permite alimentarea cu energie a dispozitivelor din aval.

Fig. 4.24. Structura unui hub USB.

Un hub USB 2. 0 se compune din trei por iuni:


• controlerul hub-ului: este un comutator controlat de protocol între portul
upstream i porturile downstream, care are suport hardware pentru reset
i semnalizare suspend/resume;
• repetorul hub;
• translatorul de tranzac ii: asigur mecanismul de vitez medie/mic în
aval de hub, în timp ce în amonte transmisia se face la vitez mare.
Calculatorul (host) i aparatul (hub) sunt împ ite în niveluri (layer)
distincte. S ge ile verticale indic starea actual de comunica ie la gazd . Interfa a
corespunz toare a aparatului are o implementare specific . Toate comunica iile
dintre gazd i aparat au loc prin cablul fizic USB. Exist interfe e gazd -aparat la
fiecare nivel orizontal. Comunica ia între clientul de in tor al software-ului i
func iile provenite de la aparat sunt reglementate de un contract bazat pe nevoia
aplica iei curente de a folosi aparatul i posibilit ile oferite. Aceast interac iune
client-func ie creeaz cereri pentru toate nivelurile i interfe ele lor.
Nivelul gazdei pune la dispozi ie urm toarele posibilit i:
• detectarea ata rii sau deconect rii unui aparat USB;
• managementul fluxului standard de control între gazd i aparat;
• managementul fluxului de date între gazd i aparat;
• colectarea informa iei statistice de stare a activit ii;
• controlul electric al interfe elor între controlerul gazd i aparatul USB.
Structura unui calculator 209

Fig. 4.25. Arhitectura stratificat a comunica iei USB.

Fluxul de date de baz i rela iile dintre modulele USB sunt prezentate în
figura 4.25, iar comunica ia între calculator (host) i aparate (hub) se face pe baza
unui protocol descris în figura 4.26.

Câmp de Identificator al Control


Date
sincronizare pachetului erori CRC
(0 … 1032 octe i)
(8 bi i) (8 bi i) (16 bi i)

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 informa iei.
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 i verificarea corectitudinii transmisiei lor (handshake).
Datorit modulelor soft plug’n’play, la conectarea fizic a unui periferic la
computer, acesta este autodetectat, iar datorit unor registre interne ale perifericului
(care furnizeaz sistemului de operare informa ia necesar ) sunt înc rcate exact
driver-ele necesare func ion rii acestuia, care poate fi i dezinstalat când se
hot te îndep rtarea perifericului respectiv din configura ie.
Dup instalarea driver-ului aferent, acesta face o cerere de alocare de band .
Banda se aloc în mod dinamic, în func ie de necesit ile fiec rui periferic.
Informa iile se transfer sincron sau asincron pe magistral , în format de pachete.
210 ARHITECTURA SISTEMELOR DE CALCUL

4.3.9.2. Magistrala FireWire (standardul IEEE 1394)


Aceast magistral a fost creat în 1986 de c tre firma Apple i 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 interfa serial de mare vitez : ea permite
rate de transfer de 400 Mb/s … 1 Gb/s. Este v zut ca magistrala viitorului, pentru
conectarea tuturor echipamentelor electrocasnice: TV, DVD, scanner, camer web, PC.
Acest tip de magistral a ap rut datorit cerin elor tot mai mari în ceea ce
prive te calitatea transmisiei audio-video, dar i din necesitatea interconect rii
tuturor echipamentelor electrocasnice. Cu ajutorul unui suport software adecvat se
poate crea un nou tip de aplica ii multimedia: conferin e de calitate full-motion,
jocuri i multimedia de calitate cinematografic , video-mail, editare video etc.
Toate transmisiile de date FireWire sunt de tip pachet i pot fi clasificate în
dou categorii: asincrone i isocrone, magistrala fiind de tip tranzac ional.
Transmisiile asincrone sunt garantate la recep ie i au nevoie de un semnal
de confirmare de la receptor. Ele sunt transmisiuni unipunctuale (unicast).
Transmisiile isocrone sunt garantate în timp, cu o l rgime de band specific ,
rezervat pentru ele în magistrala serial . Pân la 80% din banda magistralei poate fi
alocat pentru transmisiile isocrone. L rgimea de band este alocat în intervale de
125µs, numite cicluri. Transmisiile isocrone au o natur multipunctual (multicast),
fiind adresate unuia sau mai multor noduri, pe baza unui num r de canal. FireWire
suport i 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 înc rc turii de date depinde de tipul
de transmisiune i l rgimea de band a magistralei FireWire (100÷1000 Mb/s).
Figurile 4.27 i 4.28 reprezint formate de pachete FireWire isocrone i,
respectiv, asincrone. Fluxurile asincrone i pachetele isocrone au acela i format.

Fig. 4.27. Formatul pachetelor isocrone i a fluxurilor asincrone FireWire.


Structura unui calculator 211

Semnifica ia nota iilor din figura 4.27 este urm toarea:


tag – formatul datelor (specific protocolului);
channel – adresa de canal;
tcode – codul tranzac iei (asincron, isocron, pachet de date, de control etc.);
sy – codul de sincronizare (specific aplica iei).

Fig. 4.28. Formatul pachetelor asincrone FireWire.

Semnifica ia nota iilor din figura 4.28 este urm toarea:


destination id – include 6 bi i pentru ID-ul nodului (63 de noduri) i 10 bi i
pentru ID-ul magistralei (1024 magistrale);
tcode – tipul tranzac iei;
pri – prioritate (câmp neutilizat);
destination offset – loca ia de adres din interiorul nodului int (target);
celelalte câmpuri depind de tipul protocolului.
Arhitectura FireWire este constituit ca o stiv cu un protocol de patru
nivele. Nivelul fizic determin arbitrajul magistralei, define te semnalele electrice
pentru transmisia de date i interfa a mecanic pentru cabluri i conectori. Nivelul
de conexiuni asigur adresa i decodificarea num rului de canal, precum i
generarea CRC-ului i verificarea pachetelor de date transmise i recep ionate.
Nivelul de tranzac ii asigur servicii de interogare-r spuns pentru transmisiile
asincrone. Transmisiile isocrone opereaz independent fa a de acest nivel. Nivelul
de gestiune a magistralei asigur suportul pentru diferite activit i de gestiune i
configurare a magistralei.
212 ARHITECTURA SISTEMELOR DE CALCUL

FireWire necesit trei noduri primare pentru gestionarea magistralei la o


operare normal . Acestea sunt: cycle master, IRM (Isochonous Resource Manager)
i BM (Bus Manager), conform figurii 4.29.

Fig. 4.29. Structura stratificat a protocolului FireWire.

Cycle master genereaz i transmite pachete de ini ializare ciclice la fiecare


125 µs. Un pachet de ini ializare ciclic reprezint începutul intervalului periodic de
125 µs. Nodul r cin joac rolul de cycle master.
IRM gestioneaz l rgimea de band a magistralei de date seriale isocrone i
aloc numerele de canale generate multinodal.
BM gestioneaz distribu ia de putere pe cabluri i afi eaz harta topologic
i diagrama de vitez pentru magistrala serial . Diagrama de vitez este necesar
deoarece FireWire poate suporta noduri/cabluri de l rgimi de band diferite într-o
singur re ea. În general, toate nodurile sunt capabile s efectueze activit ile de
gestionare a magistralei. Totu i, nodurile opera ionale de gestionare a magistralei
sunt cele alese în etapa configur rii magistralei.
FireWire utilizeaz un mecanism de arbitraj cerere/acceptare pentru
controlul accesului în re eaua shared-medium. O schem de arbitraj simpl
func ioneaz 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, i emite
un semnal de acceptare pentru nodul corespunz tor;
• numai nodul acceptat î i transmite pachetul de date, celelalte noduri
continuând s cear permisiunea pân când o primesc de la manager.
Structura unui calculator 213

4.3.9.3. Magistrala I2C


Magistrala I2C (Inter-Integrated Circuits) a fost dezvoltat de firma Philips
pentru comunica ia între diferite microcontrolere i controlere I/O. Este o
magistral bidirec ional simpl , care utilizeaz dou fire, unul pentru datele
seriale, SDA (Serial Data), i unul pentru ceasul serial, SCL (Serial Clock), dup
cum arat în figura 4.30. Exist un mare num r de circuite integrate compatibile cu
magistrala I2C, care a devenit un standard industrial pentru magistralele de control.

Fig. 4.30. Circuite conectate printr-o magistral I2C.

Fiecare dispozitiv conectat la magistral este recunoscut printr-o adres


unic i poate func iona fie ca receptor (de exemplu, un afi aj cu cristale lichide),
fie ca transmi tor i receptor (de exemplu, o memorie). Transmi toarele i
receptoarele pot func iona în modul master sau în modul slave, dup cum acestea
pot ini ia un transfer de date sau sunt doar adresate. Un dispozitiv master poate
transmite/recep iona semnale la sau de la un dispozitiv slave sau poate controla
transferurile între dou dispozitive slave, dintre care unul este transmi tor, iar
cel lalt 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 bi i. Pentru arbitraj, se utilizeaz bi ii de adres i cei
de date.
Mai recent, în versiunea 2.1 a specifica iilor magistralei, a fost inclus
facilitatea de deplasare a nivelelor de tensiune (level shifting), care permite
conectarea la magistral a dispozitivelor care func ioneaz cu tensiuni de
alimentare diferite, de exemplu, la 5 V i 3,3 V. De asemenea, specifica iile au fost
extinse pentru dispozitivele care func ioneaz la tensiuni de sub 2,7 V. A fost
ad ugat un mod de transfer de vitez ridicat (high speed), care asigur rate de
transfer de pân la 3,4 Mbit/s i permite conectarea unor memorii EEPROM. Cu
ajutorul unei pun i (bridge), se asigur comunica ia bidirec ional cu dispozitivele
care utilizeaz modul de transfer rapid sau cel standard.
214 ARHITECTURA SISTEMELOR DE CALCUL

4.3.9.4. Magistrala Fibre Channel


Cre terea performan elor sta iilor de lucru, a procesoarelor i a perifericelor,
ca i cre terea ponderii arhitecturilor distribuite de tip client/server, au ridicat
cerin ele pentru aplica iile cu rate de transfer ridicate. Interconexiunile dintre aceste
sisteme i dispozitivele I/O necesit un nou nivel al performan elor în ceea ce
prive te fiabilitatea, viteza i distan a. Fibre Channel reprezint o tehnologie de
interconectare cu fiabilitate ridicat , care permite comunica ii concurente între sta ii de
lucru, servere, sisteme de stocare a datelor i 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 pân la 1 Tbit/s.
Fibre Channel reprezint un standard pentru un canal de comunica ie care
dispune de facilit i de re ea i asigur astfel conectivitatea i distan a necesar ,
permi ând utilizarea diferitelor protocoale de comunica ie. De asemenea, Fibre
Channel are caracteristicile unui canal de comunica ie tradi ional, cu avantajele
simplit ii, a performan elor repetabile i a furniz rii garantate a datelor.
În termenii arhitecturii Fibre Channel, comutatorul care leag dispozitivele este
o re ea de tip fabric. Leg tura este reprezentat de dou fibre unidirec ionale
transmi ând în sensuri opuse fa de emi torul i receptorul asociate acestora. Fiecare
fibr este ata at unui emi tor al unui port la unul dintre terminale i unui receptor al
altui port la cel lalt terminal. Dac re eaua de tip fabric este prezent în configura ie,
fibra poate fi ata at unui port al unui nod (N_Port) i unui port al re elei (F_Port).
Deoarece sistemul de canale se bazeaz pe porturi comunicând între ele i cu
re eaua de tip fabric, nu este esen ial dac re eaua este un comutator de circuit, un
hub activ sau o bucl . Topologia poate fi selectat în func ie de cerin ele de
performan ale sistemului sau de op iunile de pachete. Topologiile posibile ale
magistralei Fibre Channel (vezi figura 4.31) sunt cele de tip punct-la-punct (jos),
crosspoint cu comutare (stânga) sau bucl arbitrat (dreapta).

Fig. 4.31. Topologii Fibre Channel.


Structura unui calculator 215

Arhitectura Fibre Channel reprezint , a adar, integrarea unei re ele 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) i pe trei
tipuri de medii electrice i optice. Distan ele de transmisiune variaz în func ie de
combina iile între vitez i mediu. Mediul optic de fibre unimodale utilizând surse
de lumin laser cu lungime de und mare ofer cea mai înalt performan (distan a
maxim de 10 km la 1 Gbit/s).

4.3.9.5. Magistrala InfiniBand


Arhitectura InfiniBand rezolv limit rile de l rgime de band i suprasarcin
ale magistralei PCI prin trecerea de la tradi ionala arhitectur partajat a magistralei
la o arhitectur cu comutare de re ea de tip fabric (switched fabric architecture).
Figura 4.32 ilustreaz cea mai simpl configura ie a unui sistem InfiniBand, în care
dou sau mai multe noduri sunt conectate prin re eaua InfiniBand Fabric. Un nod
reprezint fie un dispozitiv gazd (server), fie un dispozitiv I/O (subsistem RAID).
Re eaua InfiniBand Fabric poate consta dintr-un singur comutator (în cel mai
simplu caz) sau dintr-un set de comutatoare interconectate i router-e.

Fig. 4.32. Arhitectura InfiniBand Fabric.

Fiecare conexiune dintre noduri, comutatoare i router-e este o leg tur


serial , punct-la-punct. Aceast deosebire esen ial aduce anumite beneficii:
1. Fiind o conexiune serial , necesit doar patru leg turi, fa de
conexiunea deosebit de complex a magistralei PCI.
2. Natura punct-la-punct a conexiunii ofer capacitatea maxim a leg turii
între dou puncte, fiind dedicat celor dou puncte finale. Astfel, se elimin
concuren a la magistral , precum i întârzierea rezultat în condi iile unei
suprasarcini în arhitectura magistralei partajate.
3. Canalul InfiniBand este proiectat pentru conexiuni între gazde i
dispozitive I/O în cadrul unui centru de date (Data Centre). Datorit lungimii bine
definite i relativ scurte a conexiunilor, poate fi atins o l rgime de band mult mai
mare decât în cazurile în care este nevoie de lungimi mult mai mari.
Specifica iile InfiniBand definesc l rgimea de band brut a conexiunii de
baz 1× la 2,5 Gb/s i specific dou l rgimi de band adi ionale, referite ca 4× i
12×, ca multipli ai ratei pentru leg tura de baz .
216 ARHITECTURA SISTEMELOR DE CALCUL

4.3.9.6. Magistrala PCI Express

Necesitatea schimb rii magistralei a ap rut ca o cerin fireasc , având în


vedere c vechiul PCI, cu limita sa de vitez de transfer de 133 MB/s, nu mai putea
face fa necesit ilor actuale ale calculatoarelor. Chiar i portul AGP 8×, cu viteza
sa teoretic maxim de 2 GB/s nu face fa noilor cipuri video ap rute. În aceste
condi ii, 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 i 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 gândit pentru a prelua munca pentru urm torii 10 ani,
deci nu este vorba despre un standard de tranzi ie. Din punct de vedere tehnic, PCI
Express este o magistral serial bidirec ional (cu versiunile 1.0, 2.0 i 3.0), care
transfer informa iile sub form de pachete, aproape la fel cu o conexiune Ethernet.
Arhitectura PCI Express
Fiecare dintre cele dou conexiuni unidirec ionale î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 genera ii de magistral se bazeaz pe straturi (layer),
ca i cele utilizate de protocolului TCP/IP (vezi figura 4.33).

Fig. 4.33. Arhitectura PCI Express.

Nivelul fizic define te specifica ii electrice, mecanice, procedurale i


func ionale pentru activarea, men inerea i dezactivarea leg turilor fizice între
sisteme i este alc tuit dintr-o interfa serial de mare vitez , numit Low-Voltage
Differential Signaling (LVDS), pentru a transfera 2,5 GHz. Cuprinde componentele
fizice necesare pentru a configura i men ine conexiunile. Include mecanisme
pentru preg tirea conexiunii, citirea semnalelor, codarea 8b/10b, crearea de frame-uri
& pachete i transmiterea datelor pe conexiune.
Structura unui calculator 217

Nivelul leg turilor de date este responsabil cu transmiterea corect a


datelor printr-o leg tur fizic existent , între dou puncte conectate direct prin
aceast leg tur fizic . Nivelul fizic nu poate realiza acest lucru, deoarece aici nu
se opereaz cu de date, ci numai cu bi i i, mai exact, cu reprezentarea fizic a
acestora (niveluri de tensiune, intensitate a luminii etc.). Nivelul leg turilor de date
se ocup cu adresarea fizic , topologia re elei, accesul la re ea, detec ia &
anun area erorilor (CRC pe 32 de bi i) i controlul fluxului fizic (flow control);
Nivelul transport este responsabil cu crearea pachetelor care vor fi
expediate i cu citirea pachetelor primite. Se ocup cu controlul fluxului de date i
cu managementul puterii consumate. Acest nivel ofer un serviciu de transport de
date izoleaz nivelurile superioare de orice specificit i 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 bi i cu rolul de a asigura
transportul între dou sta ii separate de una sau mai multe entit i. De i toate
tranzac iile PCI Express sunt separate, unele nu necesit r spuns (avantaj).
Nivelul software (aplica ie) este situat cel mai aproape de utilizator, oferind
servicii de re ea aplica iilor utilizator. Nivelul aplica ie stabile te disponibilitatea
unui calculator cu care se dore te ini ierea unei conexiuni, stabile te procedurile
care vor fi urmate în cazul unor erori i verific integritatea datelor.
PCI Express vs PCI
rgimea de band disponibil între dou puncte nu este partajat , astfel
încât, atât la un singur periferic PCI Express cât i la trei, fiecare are la dispozi ie
aceea i l rgime de band . La nivelul cipsetului, magistrala PCI Express este
gestionat de un switch care gestioneaz conexiunile punct-la-punct, înainte de a
interac iona cu restul sistemului (vezi figura 4.34).

Fig. 4.34. Topologia de magistral partajat la PCI i topologia punct la punct la PCI Express.

Observa ie. În cazul PCI Express, fiecare dispozitiv are o cale direct i
exclusiv c tre switch. Switch-ul analizeaz datele în func ie de prioritatea aplica iilor.
rgimea mare de band reprezint o alt noutate adus de PCI Express. O
singur cale este capabil s transmit 250 MB/s în fiecare direc ie simultan (500
MB/s pentru ambele direc ii). PCI Express este alc tuit din dou c i, a adar, poate
transmite 500 Mb/s pentru o singura direc ie i 1000 MB/s pentru ambele direc ii.
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.
218 ARHITECTURA SISTEMELOR DE CALCUL

Din punct de vedere al compatibilit ii, produc torii au gândit PCI Express
pentru a r mâne compatibil din punct de vedere software cu toate sistemele de
operare i 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 r mâne compatibil cu pl cile PCI actuale nu ofer
suport simultan pentru AGP i PCI Express, din cauza constrângerilor. Deci,
adoptând o platform cu PCI Express, trebuie înlocuit vechea plac video.
În plus, PCI Express diminueaz consumul de energie când slotul nu este activ,
ofer suport pentru traficul în timp real, încorporeaz func iile hot plug i hot swap,
furnizeaz performan e scalabile i caracteristici avansate, QoS (Quality of Service).
Comparativ cu PCI, PCI Express are semnale de leg tur minime, iar ceasul
i adresarea informa iei sunt incluse în date. Figura 4.35 compar l rgimea de
band per pin la PCI, PCI-X, AGP8× i PCI Express.

Fig. 4.35. Compara ie a l rgimilor de band .

Exemple de arhitecturi PCI Express


Nenum ra i factori duc la alegerea cardurilor PCI Express în func ie de
necesit ile clientului, serverului sau a platformei portabile:
• carduri standard i cu profil mic: desktop, sta ii de lucru i servere;
• minicarduri: calculatoare portabile;
• ExpressCard: calculatoare portabile i desktop;
• Server I/O Module (SIOM).
Figura 4.36 exemplific implementarea PCI Express într-un sistem client. Ini ial,
conexiunea PCI Express ×16 înlocuie te slotul AGP dintre subsistemele grafice i
northbridge. O variant de PCI Express poate înlocui conexiunea dintre northbridge i
southbridge, rezolvând incompatibilit ile dintre componente i nothbridge.
Figura 4.37 exemplific structura unui sistem portabil. La fel ca la sistemele
desktop, PCI Express înlocuie te placa AGP, fiind o alternativ la conexiunea
dintre nothbridge i southbridge. Magistrala PCI dintre northbridge i sta ia de
lucru poate migra, de asemenea, spre PCI Express. Un slot ExpressCard ×1 care
folose te 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 leg tura dintre componente
i 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 urm toarele avantaje:


• vitez mult mai mare pentru genera iile viitoare (10-Gps Ethernet);
• costuri mai mici – mai multe sloturi i componente se pot conecta la
cipul sistemului;
• laten mic – laten a transmisiei dintre componente, CPU i memorie
poate fi redus , eliminând puntea PCI-X.
220 ARHITECTURA SISTEMELOR DE CALCUL

Fig. 4.38. Exemplu de arhitectur server PCI Express.

4.3.10. Compara ii între magistrale

Figura 4.39 este o sintez de tip roadmap i arat evolu ia în timp a vitezei
magistralelor, exprimat prin valoarea ratei de transfer (benzii), iar tabelul 4.2
prezint comparativ caracteristicile, parametrii i performan ele câtorva dintre cele
mai r spândite standarde de magistrale seriale din ultimii ani.

Fig. 4.39. Evolu ia ratei de transfer a magistralelor.


Structura unui calculator 221

Tabelul 4.2
Compara ie între magistrale
rgime Vitez Lungime Putere/
Num r
de band de maxim tensiune
Nume de echipamente
efectiv transfer de cablu necesare
per canal
(Mb/s) (MB/s) (m) (W/V)
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
3.144 393 100 15/12–25 63 (cu hub)
3200

FireWire 800 786 98,25 100 15/12–25 63 (cu hub)

FireWire 400 393 49,13 4,5 15/12–25 63 (cu hub)

USB 2.0 480 60 5 2,5/5 127 (cu hub)

UltraSCSI 320 2.560 320 12 - 16

Fiber Channel
4.000 400 12 - 126 (16.777.216 cu switch-uri)
cablu cupru

Fiber Channel
10.520 2.000 2–50.000 - 126 (16.777.216 cu switch-uri)
fibr optic

Infiniband
120.000 12.000 5 - 1 (punct-la-punct)
12× Quad-rate

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