ASC_4_Nivelul_fizic

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ă 2 n stări posibile. A descrie complet aceste stări sub forma unui tabel care conĠine 2 n 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).

description

ASC_4_Nivelul_fizic

Transcript of ASC_4_Nivelul_fizic

  • 4. NIVELUL FIZIC

    La baza structurii ierarhice a oric?rui calculator se afl? nivelul fizic. Elconstituie 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? principiulunui tranzistor care se comport? ca un ntrerup?tor electronic foarte rapid.

    Por?ile logice sunt realizate n diferite tehnologii: tehnologie bipolar?? ?itehnologie unipolar? sau MOS (Metal Oxide Semiconductor). n cadrul tehnologieibipolare se poate remarca familia TTL (Transistor-Transistor Logic) foarteutilizat? ?i ECL (Emitter Coupled Logic) folosit? n aplica?ii care necesit? omare rapiditate de execu?ie.

    Por?ile realizate n tehnologie MOS sunt de 10 ori mai lente dect cele ntehnologie TTL ?i de 100 de ori mai lente dect cele din tehnologia ECL. n cadrultehnologiei MOS se disting cteva familii clasice: PMOS, NMOS ?i CMOS. A?acum s-a mai spus, func?ionarea por?ilor logice se bazeaz? pe algebra boolean?. Ofunc?ie boolean? este asociat? uneia sau mai multor variabile ?i furnizeaz? unrezultat 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 fiindf(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 descriecomplet aceste st?ri sub forma unui tabel care con?ine 2n linii nseamn? a construitabela de adev?r a func?iei respective. Fiecare linie a acestui tabel indic? valoareafunc?iei pentru configura?ia binar? de n variabile.

    Prin combinarea unor por?i logice ?i ncapsularea lor ntr-un circuit saucapsul? au rezultat circuitele integrate logice. Ele sunt realizate cu diverse densit??ide integrare (num?rul de por?i sau de tranzistoare interne pentru circuit sau pemilimetru p?trat). Exist? mai multe categorii de integrare:

    SSI (Small Scale Integration) circuite cu integrare redus? (sub 64por?i/circuit);

    MSI (Medium Scale Integration) circuite cu densitate medie deintegrare (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 deintegrare (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).

  • ARHITECTURA SISTEMELOR DE CALCUL172

    Limita de integrare a ajuns la cteva milioane de tranzistoare pentru circuitelemodeste sau chiar la cteva zeci de milioane n cazul procesoarelor puternice.

    Exemplu. Din cadrul tehnologiei SSI fac parte circuitele logice simple,dintre care cele mai cunoscute sunt cele din familia 74xx dezvoltate ini?ial de TexasInstruments ?i distribuite ast?zi de numero?i fabrican?i de circuite logice. Din cadrultehnologiei 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 esteun dispozitiv esen?ial. Ea este utilizat? pentru stocarea instruc?iunilor ?i a datelorprogramului 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 astfelde 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 devedere fizic, el este un circuit care prezint? cteva 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 cucircuite de intrare-ie?ire. O analiz? detaliat? a acestor semnale determin? diverselemoduri de func?ionare logic?? ?i electric? a procesorului ?i posibilit??ile sale deinterfa??. 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 ntlni ctevano?iuni specifice precum: magistrala de adrese, care reprezint? totalitatea liniilor pecare circul? adresele, magistrala de date, corespunz?toare liniilor de date ?imagistrala 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 deadrese. Se activeaz? un semnal pe magistrala de comand? pentru specificarea uneiac?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 careacesta este aten?ionat c? opera?iunea este terminat???i activeaz? un semnal specificde validare a magistralei de comenzi. n timp ce microprocesorul prime?tesemnalul de validare de memorie, el cite?te informa?ia (instruc?iunea) prezent? pemagistrala 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?) amagistralelor, care se exprim? n termenii vitezei de transfer (multipli deocte?i/secund?.)

    Un microprocesor care are m linii de adres? poate adresa pn? la 2m cuvintede memorie. Valorile curente pentru m sunt: 16, 20, 24, 32 sau 64. De asemenea,dac? dispune de n linii de date poate scrie/citi un cuvnt de memorie de n bi?i ntr-osingur? 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 cuvnt de 32 de bi?i. Dac?microprocesorul ar avea 32 de linii de adres?, citirea aceluia?i cuvnt s-ar face ntr-un singur tact, de unde rezult? c? un procesor este cu att mai rapid cu ct are maimare num?rul de linii de date.

    n afara liniilor de adres?? ?i de date, microprocesorul dispune de linii decomand?. Acestea permit asigurarea sincroniz?rii, regl?rii ?i comand?riischimburilor 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 faptperifericului c?ruia i este asociat) s? efectueze o anumit? sarcin?, dup? care ?icontinu? activitatea. n acest timp, perifericul realizeaz? opera?ia cerut? la viteza saproprie de execu?ie. Dup? ce sarcina este ndeplinit?, perifericul previne circuitulde I/O (intrare-ie?ire) care activeaz? un semnal de ntrerupere prin care i se ceremicroprocesorului o cerere de comunicare. O astfel de cerere de ntrerupere poate fiactivat?, 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 fluidizareatraficului pe magistral? prin evitarea unor bloc?ri care pot rezulta din utilizareasimultan de c?tre dou? circuite a magistralei.

    Unele procesoare au linii speciale de comunicare cu alte procesoare sau cuprocesorul secundar (coprocesorul), atunci cnd situa?ia o cere. Acest lucru sepoate ntmpla, de exemplu, atunci cnd este nevoie de un calcul matematic, princedarea controlului coprocesorului matematic.

  • ARHITECTURA SISTEMELOR DE CALCUL174

    4.2. ntreruperile

    ntreruperile sunt schimburi n fluxul de control, care nu sunt cauzate deprogramul 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? transferulinforma?iei ?i i cere acestuia s? furnizeze o ntrerupere imediat ce transferul s-aterminat. Microprocesorul ntrerupe programul ce se execut???i transfer? controlulunei proceduri de tratare a ntreruperii, care execut? cteva ac?iuni corespunz?toare.Cnd se termin?, rutina de tratare a ntreruperilor ntoarce controlul c?treprogramul ntrerupt. Microprocesorul trebuie s? reporneasc? procesul ntreruptexact din aceea?i stare n care era cnd 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. Cnd apare ontrerupere, se execut? cteva ac?iuni ?i un fragment de cod anumit, dar cndservirea ntreruperii s-a terminat, calculatorul trebuie s? se ntoarc? n aceea?i starepe care a avut-o nainte de ntrerupere. O procedur? de tratare a ntreruperii cuaceast? 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 ntreruperesau s? apar? o astfel de cerere atunci cnd se execut? deja una. Pentru a se puteaface o departajare ntre toate aceste ntreruperi, acestea vor avea ata?at cte un nivelde prioritate. Cnd un dispozitiv cu prioritatea n genereaz? o ntrerupere, rutina detratare 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 maimic? este ignorat? pn? cnd rutina ntreruperii se termin?? ?i UCP se ntoarce laprogramul utilizatorului. Pe de alt? parte, tratarea ntreruperilor de la un dispozitivcu o prioritate mai mare trebuie validat? f??? nici o ntrziere.

    4.2.1. Gestionarea ntreruperilor

    Dac? unitatea central? (UC) a cerut unui circuit de I/O efectuarea uneiopera?ii, aceasta anun?? sfr?itul opera?iei printr-o ntrerupere. De asemenea, undispozitiv care dore?te s? foloseasc? resursele procesorului semnalizeaz? acestlucru c?tre procesor printr-o cerere de ntrerupere. O ntrerupere implic? nmajoritatea cazurilor o cerere de magistral?.

    ntr-un sistem real, mai multe dispozitive pot cere simultan ntreruperi. Estedeci necesar un sistem de gestionare a cererilor de ntrerupere (apare aceea?iproblem? ca n cazul accesului la magistral?, ?i anume care dintre dispozitivele ce auemis cererea urmeaz? s? fie servit). O modalitate curent? de solu?ionare a cererilorsimultane de ntrerupere este de a asigna niveluri de prioritate diferite pentrudiversele 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 ntreruperiutilizat n calculatoarele IBM PC/AT ?i PS/2).

    INT IR 0 Ceas de sistem INTA IR 1 Tastatur? RD IR 2 Controler IRQ2 WR IR 3 COM2/COM4 A0 IR 4 Mouse serial CS IR 5 Placa de sunet D0-D7 IR 6 Floppy disc IR 7 Imprimant?

    Fig. 4.2. Schema controlerului de ntreruperi 8259A.

    O cerere de ntrerupere se traduce prin activarea intr?rii asociateperifericului. Cnd una sau mai multe ntreruperi ajung la controlerul dentreruperi, acesta anun?? UC prin linia special? INT (Interrupt), care este legat? laintrarea de ntrerupere a UC. Aceasta r?spunde de obicei printr-un semnal devalidare a ntreruperii (de exemplu, INTA = Interrupt Acknowledge). Ca urmare,controlerul de ntreruperi informeaz? UC pe magistrala de date despre dispozitivulcare a cerut ntreruperea. Unitatea central? utilizeaz? acest num?r pentru a ob?inedintr-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 ficitite 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 dentreruperi disponibilitatea de a trata o nou? cerere de ntrerupere sau poateprograma controlerul s? func?ioneze ntr-un mod particular, de exemplu s?mascheze ntreruperile pe o anumit? intrare. Dac? se dispune de mai multecontrolere 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 ostructur? pe dou? niveluri, care con?ine un 8259A la ale c?rui intr?ri sunt legateie?irile de ntreruperi ale altor opt circuite 8259A. Se creeaz? astfel posibilitateatrat?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 componentelesistemului se realizeaz? prin leg?turi dedicate ntre perechi de componente. Aceast?

    UC

    8259A

    controlerde

    ntreruperi

  • ARHITECTURA SISTEMELOR DE CALCUL176

    abordare este relativ rigid?, limitnd drastic scalabilitatea (posibilitatea deextindere) a sistemului.

    Ad?ugarea de noi componente este dificil???i implic? modificarea celor dejaexistente. Proiectarea unei noi componente implic? cunoa?terea n detaliu afunc?ion?rii celorlalte elemente deja prezente. Solu?ionarea acestei probleme avenit din partea firmei Digital Equipment Corporation (DEC), care la sfr?itulanilor '60 a lansat pe pia?? primul calculator (PDP 11), construit n jurul uneimagistrale magistrala UniBus.

    Conceptual, magistrala este un mediu comun de comunica?ie ntrecomponentele unui sistem de calcul; fizic este alc?tuit? dintr-un set de linii desemnal care faciliteaz? transferul de date ?i realizeaz? sincronizarea ntrecomponentele sistemului.

    Introducerea conceptului de magistral? a revolu?ionat modul de concepere ?iproiectare a noilor sisteme de calcul. Modelul de calculator bazat pe magistral? afost preluat mai ales de familiile de calculatoare mini ?i micro. Prin standardizareamagistralelor, sistemele de calcul au devenit deschise, n sensul c? un num?r maimare de produc?tori au avut posibilitatea s? realizeze componente pentru o anumit?structur? de calculator (module de memorie, interfe?e I/O, echipamente periferice),bazndu-se numai pe specifica?iile magistralei.

    n decursul timpului au fost dezvoltate diferite standarde de magistral?, careau urm?rit evolu?ia procesoarelor (a unit??ilor centrale) ?i a necesit??ilor decomunica?ie ale acestora (vitez?, mod de transfer, necesit??i de sincronizare ?icontrol etc.). S-au dezvoltat, de asemenea, magistrale specializate pentru anumitetipuri de echipamente periferice (SCSI ?i EIDE pentru unit??i de disc, consolegrafice, interfe?e de m?sur?? ?i control). Din acest punct de vedere, n momentulactual se pot distinge dou? clase de magistrale:

    magistrale de sistem dezvoltate mai ales pentru conectarea unit??iicentrale la celelalte componente de baz? ale sistemului (de exemplu:MultiBus, ISA, EISA, PCI);

    magistrale specializate care ncearc? s? optimizeze transferul de datecu un anumit tip de echipamente periferice (VESA, AGP, SCSI, GPIB).

    Apari?ia ?i evolu?ia ulterioar? a microprocesoarelor a consacrat modelul decalculator bazat pe magistral?. Configura?ia semnalelor unui microprocesor esteastfel conceput? nct s? permit? conectarea u?oar? la o magistral? de sistem. ngeneral, fiecare familie de microprocesoare (Intel 8086, Z80, MC 68000) a impus oanumit? structur?? ?i un anumit standard de magistral?. Exist? ns? anumitecaracteristici comune acestor magistrale (principii de transfer, tipuri de semnale),astfel nct modulele proiectate pentru un tip de magistral? s? poat? fi, prinmodific?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 semnalelorelectrice. Cele mai reprezentative dintre acestea sunt transferul concurent printranzac?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 reguliconstituite ntr-un protocol, care guverneaz? transferul de informa?ii ?i accesul lamediul de comunica?ie. Informa?iile transferate pot fi: date, instruc?iuni ?iinforma?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?: niveluride 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 desemnale.

    Semnale de date sunt semnale bidirec?ionale utilizate pentru transferul dedate ?i instruc?iuni. La un moment dat doar un singur dispozitiv poate s? emit? peliniile de date; num?rul liniilor de date (8, 16, 32, 64) determin? dimensiuneamaxim? a cuvntului 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 modululuidestina?ie sau surs? de date, num?rul de linii de adres? determinnd spa?iul maximde adresare permis de magistral? (de exemplu, 24 linii de adres? determin? unspa?iu de adresare de 224 =16 Mloca?ii).

    Semnale de comand? sunt semnale unidirec?ionale generate de CPU (saude c?tre alt dispozitiv master), utilizate pentru specificarea direc?iei de transfer (deexemplu, 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 detransfer al datelor (temporizarea deschiderii ?i nchiderii amplificatoarelor demagistral? pentru semnalele vehiculate pe aceasta).

    Semnale de ntrerupere sunt generate de un controler dedicat, permitsemnalizarea 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?, fiindfolosite pentru sincronizare ?i pentru generarea unor semnale de frecven??programabil?.

    Linii de alimentare sun generate de sursa de tensiune a sistemului, fiindfolosite pentru alimentarea modulelor sistemului.

  • ARHITECTURA SISTEMELOR DE CALCUL178

    Semnale de control al accesului sunt utilizate pentru arbitrajul ?icontrolul accesului pe magistral? (n cazul magistralelor multimaster), fiindgenerate de un circuit specializat (arbitru de magistral?).

    Num?rul ?i semnifica?ia particular? a semnalelor depind de tipul ?i destina?iamagistralei. Anumite grupe de semnale din cele prezentate pot s? lipseasc? (deexemplu, 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 amagistralei este limitat? de frecven?a tactului. Datorit? vitezei limitate depropagare a semnalului electric, cre?terea ratei ar duce la diferen?e defaz? la capetele magistralei.

    magistrale asincrone la care nu exist? o leg?tur? direct? ntre evolu?ian timp a unui ciclu de transfer ?i tactul sistemului. Majoritateamagistralelor 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 poateini?ia un ciclu de transfer, pe cnd un modul slave poate fi comandat ntimpul unui ciclu de transfer, neavnd elementele necesare pentru aprelua controlul magistralei).

    magistrale multimaster permit conectarea mai multor module masterpe acela?i tronson de magistral?. Magistrala trebuie s? con?in? semnalede arbitraj ?i un protocol de transfer al controlului pe magistral? (deexemplu, 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 datcel mult un ciclu de transfer fiind n curs de desf??urare. Majoritateamagistralelor folosesc acest principiu de transfer. n func?ie de direc?iade 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? printranzac?ii. O tranzac?ie este divizat? n mai multe faze. Mai multetranzac?ii se pot desf??ura simultan, cu condi?ia ca tranzac?iile s? fie nfaze diferite; aceast? restric?ie provine din faptul c? fiecare faz? a uneitranzac?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 sedivide 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 deI/O etc.). Se folosesc, de asemenea, n anumite sisteme dedicate bazatepe microcontrolere, la care costul ?i dimensiunea redus? sunt parametridefinitorii. Cu toate c? viteza de lucru este mai mic? dect lamagistralele paralele, n ultimul timp sunt tot mai utilizate (de exemplu,magistralele USB, SATA, SAS, PCIExpress etc.).

    magistrale paralele sunt folosite datorit? vitezei de lucru ridicate,transferurile de date realizndu-se la nivel de octet ?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 dect magistralele procesor-memorie; nu sunt legate direct la memorie, ci prin magistrale procesor-memorie

    ori magistrale de fundal (backplane)III. Magistrale backplane (originar folosite la placa de baz?): permit acces simultan la procesor, memorie, dispozitive I/O; sunt reutilizabile (bune pentru diverse configura?ii);

    Magistralele I/O necesit? o interfa?? simpl?, pe cnd cele backplanenecesit? o logic? suplimentar? la interfa??. n schimb, avantajul magistralelorbackplane este c? acestea con?in singure toate conexiunile. Se pot crea conexiunicomplexe, ca n figura 4.3 (n cazul folosirii unor tipuri multiple de magistrale,trebuie utilizate adaptoare de magistrale pentru interconectare). Figura 4.3 con?ineconfigura?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.

  • ARHITECTURA SISTEMELOR DE CALCUL180

    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 ?iparticularit??ile func?ionale ale procesorului pentru care a fost conceput?. Acest faptvine n contradic?ie cu ideea de sistem deschis, conform c?reia mediul decomunica?ie ntre componentele unui sistem trebuie s? fie independent de produc?tor.Firmele dominante n domeniul construc?iei de calculatoare ?i-au dezvoltat propriilestandarde 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 aurestric?ii de utilizare, de exemplu magistrala MicroChannel (MCA) a firmei IBM,folosit? n construc?ia calculatoarelor PS/2. Exist?? ?i standarde dezvoltate degrupuri 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 ?icompatibilit??ii ntre module realizate de diver?i produc?tori. Metoda de eliminarea unor astfel de probleme este supunerea componentelor la teste de conforman??.Cele mai cunoscute foruri interna?ionale de standardizare care au activitate ndomeniul magistralelor sunt IEEE, ANSI ?i IEC.

    Cteva din cele mai cunoscute tipuri de magistrale sunt prezentate n tabelul 4.1.

  • Structura unui calculator 181

    Tabelul 4.1Tipuri de magistrale

    StandardIEEE

    Numeuzual

    Domeniide 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 demare vitez? (disc, interfa?? video) ?i o magistral? de mic? vitez? pentru perifericelelente. n aplica?iile de control se mai poate ad?uga ?i o magistral? deinstrumenta?ie, adaptat? pentru culegerea datelor de proces.

    Pentru a satisface o gam? larg? de cerin?e, s-au dezvoltat familii demagistrale care cuprind mai multe variante ale unei magistrale de baz?? ?i suntcompatibile ntre ele ntr-o oarecare m?sur? (interfe?ele dezvoltate pentru acestevariante 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 HewlettPackard), IEEE488 ?i Camac.

  • ARHITECTURA SISTEMELOR DE CALCUL182

    n domeniul PC-urilor, s-au dezvoltat mai multe magistrale care au devenitstandarde 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 (unansamblu de linii de comunica?ii) ntre mai multe circuite sau unit??i ale unuicalculator. 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 sauATBus (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 cucare lucreaz? direct. Aceast? magistral? este folosit? pentru a transfera date, deexemplu ntre CPU ?i memoria cache extern?. Cele mai multe sisteme au un cacheextern pentru CPU; aceste memorii cache sunt n general folosite n toate sistemelecare utilizeaz? cipuri 486, Pentium, Pentium Pro sau ulterioare.

    Deoarece scopul magistralei procesorului este transmiterea ?i primireadatelor de la CPU cu cea mai mare vitez? posibil?, aceast? magistral? lucreaz? la ovitez? mult mai mare dect 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 cteva 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 deoarececele mai multe procesoare actuale utilizeaz? o frecven?? de lucru intern? mult maimare dect 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 ?ichiar Pentium Pro 200. n cele mai multe dintre noile sisteme, frecven?a real? delucru a procesorului este un multiplu (de 1,5 ori, de 2 ori, de 2,5 ori, de 3 ori etc.) alfrecven?ei magistralei procesorului.

  • Structura unui calculator 183

    Magistrala procesorului este legat? la pinii procesorului ?i poate transfera unbit 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 sistemPentium sau Pentium II poate transfera 64 bi?i de date la un moment dat.

    Pentru a determina viteza de transfer pe magistrala procesorului semultiplic? l??imea datelor (32 de bi?i pentru 486 sau 64 de bi?i pentru Pentium ?iPentium 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 66MHz poate transfera un lot de date la fiecare perioad? de ceas pe fiecare linie dedate. Se ob?ine astfel o vitez? maxim? instantanee de transfer de 528 MB pesecund?. 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 setuluide 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 tipmaster, 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 ladate); UC port I/O (transfer de date); UC coprocesor (tratarea instruc?iunilor nvirgul? mobil? ); dispozitive I/O memorie (accesul la operanzi) etc.

    n cazul procesoarelor moderne, comunica?ia cu cipurile externe procesoruluia 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 fiindprocesoarele 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 acesteianmul?it? cu multiplicatorul d? frecven?a de lucru a procesorului. ntre procesor ?imemoria cache L2 conexiunea se face prin magistrala BSB (Back Side Bus), omagistral? de memorie care func?ioneaz? fie la frecven?a FSB (la procesoarele pesocket 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, opernd la o frecven?? de 100 MHz ?i carerealizeaz? 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? 4transferuri pe ciclu de ceas, FSB-ul certificat este de 1.066 MT/s.

  • ARHITECTURA SISTEMELOR DE CALCUL184

    b) n cazul procesoarelor cu cache L2 integrat n procesor (Intel P3 ?iCeleron pe socket 370 ?i P4 toate variantele, respectiv, AMD Athlon pe socket A,754, 939, 940), BSB-ul a disp?rut, nemaifiind necesar.

    Combinnd a) ?i b), rezult? c? nu este corect s? se foloseasc? termenul deFSB n cazul procesoarelor actuale, termenul mai potrivit fiind Processor Side Bus(PSB) sau System Side Bus (SSB), iar n cazul procesoarelor Opteron/Athlon64nici m?car termenul PSB nu este corect, leg?tura dintre procesor ?i northbridgefiind 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 carereface semnalul degradat din cauza capacit??ii limitate a liniei de transmisiune saua eventualelor zgomote. De multe ori, un circuit poate s? transmit?? ?i n acela?itimp s? fie receptor, rezultnd c? pentru interfa?area cu magistrala sistemuluitrebuie 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? fiedeconectate logic cnd se afl? n repaus. Un alt tip de circuit de conectare estecircuitul cu colectorul n gol (realizeaz? func?ia SAU-cablat).

    4.3.4.2. Magistralele sincroneDin 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?rntreg de perioade de ceas.

    Exemplu. n figura 4.4 este prezentat modul de lucru al magistralei sincronen cazul opera?iei de citire a unui cuvnt 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 ceas4 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? CUVNT

    DATE DATE

    TM TDS

    MREQ TML TMH

    RDTRL TRH

    TDH

    Fig. 4.4. Schema accesului la magistrala sincron?.

    nceputul ciclului T1 este marcat de frontul cresc?tor al semnalului . nprima parte a ciclului T1 procesorul plaseaz? pe magistrala de adrese adresa care sedore?te a fi citit? din memorie. Pozi?ionarea adresei pe magistral? corespundeactiv?rii mai multor semnale binare care formeaz? adresa. Dup? stabilirea adreseipe magistral?, devin active semnalele MREQ ?i RD. MREQ indic? prin activareasa c? se efectueaz? un acces la memorie ?i nu un acces la dispozitivele I/O. RDdefine?te prin activarea sa o opera?ie de citire din memorie.

    n timpul ciclului T2 nu are loc nici o modificare pe magistral? pentru apermite memoriei decodificarea adresei de pe magistrala de adrese ?i pozi?ionareainforma?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 repaussemnalele MREQ ?i RD (le ridic? n 1).

    Dac? este nevoie mai departe de o alt? opera?ie de citire sau scriere, aceastapoate ncepe pe frontul cresc?tor al urm?torului ciclu de ceas. Dac? memoria nueste 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

  • ARHITECTURA SISTEMELOR DE CALCUL186

    citire. St?rile de wait, care sunt generate de surplusul de vitez? a procesorului ncompara?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 devedere al vitezei de lucru, datorat? faptului c? o opera?ie care dureaz? 3,1perioade 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 derealizare a componentelor, datorit? faptului c? prin utilizarea unormemorii de vitez? mai mare nu se poate reduce durata unei opera?ii decitire-scriere pn? cnd nu este modificat? frecven?a ceasului careguverneaz? magistrala.

    Concluzie. Pentru a conecta n mod optim un ansamblu de circuite lamagistral?, 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?, nfunc?ie de performan?ele circuitelor utilizate.

    Exemplu. n figura 4.5 este prezentat modul de lucru al magistraleiasincrone n cazul opera?iei de citire a unui cuvnt din memorie.

    ADDR ADRES? CUVNT

    MREQ

    RD

    MSYN

    DATE DATE

    SSYN

    Fig. 4.5. Schema accesului la magistrala asincron?.

  • Structura unui calculator 187

    MSYN (Master Synchronisation) ?i SSYN (Slave Synchronisation) suntsemnalele de sincronizare care asigur? respectarea ordinii diverselor momente dinopera?iunea de citire. De obicei, master este UC ?i slave este memoria.

    Dup? ce adresa cuvntului este depus? pe magistrala de adrese de c?tre UC ?idup? ce semnalele MREQ ?i RD devin active, UC activeaz? semnalul MSYN carecomunic? memoriei nceperea opera?iei de citire.

    Memoria efectueaz? citirea la vitez? proprie, iar dup? depunerea pemagistral? a informa?iei cerute activeaz? semnalul SSYN. Acest semnal informeaz?procesorul c? datele cerute sunt valide pe magistral?. Procesorul ncarc? datele nregistrele interne, dup? care dezactiveaz? semnalele MREQ, RD ?i MSYN.Dezactivarea lui MSYN este sesizat? de memorie, care pune n repaus SSYN ?ielibereaz? 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? transferuldatelor, corespunde tehnici full handshake (tehnica acordului confirmat), careinclude 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 aceeadispozitivele conectate la o magistral? asincron? pot fi u?or nlocuite cu altele maiperformante, pe m?sur? ce tehnologia avanseaz?. n consecin??, avantajul folosiriimagistralei asincrone apare evident n compara?ie cu magistrala sincron?.

    Pe o magistral? sincron? UC ?i pozi?ioneaz? semnalele, iar memoria saucircuitele I/O nu fac altceva dect s? r?spund? solicit?rilor UC f??? a fi necesar? osincronizare cu aceasta. Astfel, simplitatea magistralei sincrone const? n lipsasemnalelor 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 amagistralei ?i capacitatea slave PLB, acestea pot dura unul sau mai multe cicluri demagistral? PLB. De asemenea, pipeline-ul de adresare ?i livrarea datelor ?iadreselor 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. Otranzac?ie PLB ncepe cnd un master adun? adresele sale ?i transfer? semnalele nvedere ob?inerii dreptului asupra magistralei n timpul fazei de cerere. Odat? cearbitrul PLB ofer? dreptul asupra magistralei, adresa masterului este prezentat? ladispozitivele slave n timpul fazei de transfer. Ciclul de adresare se termin? cnd unslave ncheie adresa masterului ?i transfer? datele n timpul fazei de confirmare aadresei.

  • ARHITECTURA SISTEMELOR DE CALCUL188

    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 adresemaster. PLB arbitreaz? ntre aceste cereri ?i trimite cererea masterului selectat lamagistrala de adrese a PLB slave. Urma cu eticheta faza de adresare arat? stareamagistralei 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 ncare aceste trei faze pot solicita numai un singur ciclu de ceas PLB. Acest lucru sentmpl? atunci cnd masterului solicitant i este acordat imediat accesul lamagistrala 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, fazade 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 nucleelorprocesorului ?i controlerelor magistralei pentru utilizare ?i aplicare n nucleu, subform? 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 dedate 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, dardecuplate, magistrale de citire, magistrale de scriere, control al transferului ?i stareasemnalelor pentru fiecare magistral? de date.

    PLB este o magistral? complet sincron?. O singur? surs? de ceas prevedetiming-ul pentru toate semnalele de PLB. Toate unit??ile master ?i slave care suntanexa?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 dedivizare a tranzac?iilor pentru o l??ime de band? mai bun?;

    protocolul de suprapunere a cererii de magistralei ?i protocolul de oferirea dreptului magistralei reduc ntrzierile cauzate de arbitraj;

    PLB este o magistral? complet sincron?.

    4.3.4.5. Arbitrajul magistraleiPn? 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 ceresimultan accesul la memorie, ceea ce conduce la necesitatea introducerii unorreguli 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 BUSREQUEST, iar arbitrul le r?spunde prin linia de acordare a magistralei (BUSGRANT).

    Circuitele I/O care pot deveni master sunt legate printr-un SAU cablat lalinia de cerere de magistral? BUS REQUEST. Cnd cel pu?in unul dintre circuitecere accesul la magistral?, arbitrul este sesizat, iar cnd este posibil (cndmagistrala este liber?) acesta acord? accesul la magistral? printr-o linie de acordarea magistralei (BUS GRANT), astfel nct arbitrul nu vede dect o singur? cerere,chiar dac? mai multe circuite cer accesul (vezi figura 4.7).

    BUS REQUEST

    BUS GRANT Dispozitive I/O

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

    arbitru

    1 2 3 4 5

  • ARHITECTURA SISTEMELOR DE CALCUL190

    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?). Cnd primul circuit I/Orecep?ioneaz? acordarea magistralei, el cunoa?te dac? are sau nu nevoie demagistral?, 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 deacordare mai departe, c?tre circuitul urm?tor. Prioritatea scade de la stnga spredreapta (prioritatea este direct propor?ional? cu apropierea de arbitru).

    n cele ce urmeaz? se va prezenta o variant? care permite existen?a maimultor 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 olinie de acordare de magistral?. Dispozitivele I/O pot fi repartizate n diferitemoduri pe nivelurile de prioritate (fig. 4.8).

    BUS REQUEST 1BUS REQUEST 2

    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? olinie care specific? starea BUS BUSY (ocuparea magistralei), activat? de unitatea cepreia controlul magistralei. Odat? ce linia de ocupare a magistralei a fost activat?, sedezactiveaz? 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?ndarbitrului de magistral? s? fac? o preselec?ie a unit??ii care are prioritate. Astfel, odat?ce transferul de date pe magistral? a luat sfr?it, magistrala este eliberat???i unitateapreselectat? 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 maigeneral caz de arbitraj al magistralei, dar din punct de vedere hardware este greu deimplementat. Fiecare dispozitiv emite o cerere de bus independent? c?tre arbitru.Acesta r?spunde pe linii separate dispozitivelor. Dispozitivul care prime?te r?spunsafirmativ poate folosi magistrala. Logica de acordare a magistralei esteimplementat? n arbitru.

    Figura 4.9. prezint? un exemplu de schem? de arbitraj cu cereri independente.

    arbitru

    1 2 3 4 5

  • Structura unui calculator 191

    Fig. 4.9. Algoritmul cu cereri independente.

    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 interogarepentru cele m dispozitive. Dispozitivele sunt prev?zute cu cte un decodor pentru arecupera codul de interogare. Dispozitivul care ?i recunoa?te codul de interogareactiveaz? semnalul de confirmare ACK (acknowledge) ?i preia controlulmagistralei.

    Arbitrul ntrerupe ciclul de interogare pn? cnd dispozitivul c?ruia i s-aacordat magistrala ?i ncheie opera?iile pe magistral? (vezi figura 4.10). Prioritateafiec?rui dispozitiv este setat? n codul de interogare.

    n majoritatea sistemelor de calcul, unitatea central? trebuie s? negociezeaccesul la magistral? n acela?i mod cu celelalte unit??i. n general, unitateacentral? are prioritatea cea mai sc?zut?; ea utilizeaz? magistrala doar cnd nici unalt circuit nu are nevoie de ea. Aceasta permite circuitelor I/O s? realizeze transferulde date atunci cnd este necesar, f??? s? apar? pericolul de pierdere a datelor.

    Pentru fiecare nivel de prioritate exist? o linie de cerere de magistral?? ?i olinie de acordare de magistral?.

    BUS

    ACK

    BG 1

    BG 2

    BG m

    BR m

    BR 2

    BR 1

    arbitru

    1 2 m

  • ARHITECTURA SISTEMELOR DE CALCUL192

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

    n majoritatea sistemelor de calcul, unitatea central? trebuie s? negociezeaccesul la magistral? n acela?i mod cu celelalte unit??i. n general, unitatea central?are prioritatea cea mai sc?zut?; ea utilizeaz? magistrala doar cnd nici un alt circuitnu are nevoie de ea. Aceasta permite circuitelor I/O s? realizeze transferul de dateatunci cnd 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? realiznd o parte dinfunc?iile arbitrului.

    Exemplu. La sistemele VAX, exist? 16 niveluri de prioritate ?i fiec?ruia ieste asociat? o linie de cerere de magistral? (sistemul poate accepta maximum 16unit??i, poten?iali master de magistral?).

    Cnd o unitate dore?te s? utilizeze magistrala, ea activeaz? propria linie decerere de magistral?; la finele transferului de date curent de pe magistral?, fiecareunitate examineaz? cererile de acordare a magistralei. Circuitele logice de pe fiecareunitate permit accesul la magistral? doar unit??ii cu cea mai mare prioritate, iar pentrucelelalte 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);

    log2m liniide interogare

    confirmareACK

    BUS REQUEST

    BUS

    arbitru

    1 2 m

  • Structura unui calculator 193

    BUS REQUEST BUS BUSYARBITRATION LINE

    + 5V

    Fig. 4.11. Structura descentralizat? de arbitraj al magistralei.

    conexiunea la +5V (1 logic). Acest +5V nseamn? nivelul activ al liniei:dac? nici un circuit nu cere accesul pe magistral?, poten?ialul de +5V sepropag? pe toat? linia de arbitraj (toate unit??ile n repaus pleac? de la oprioritate 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 careurmeaz?.

    n acest moment exist? o singur? unitate care are intrarea activ? (n +5V) ?iie?irea inactiv? (n 0), ceea ce face ca aceast? unitate s? devin? masterulmagistralei; ea activeaz? linia de BUS BUSY ?i este liber? s? efectueze transferulpe magistral?.

    Lan?ul de priorit??i la structura descentralizat? este, deci, urm?torul: o unitateob?ine accesul la magistral? naintea unit??ii de la dreapta sa, dar dup? cele de lastnga.

    Avantajele schemei fa?? de structura cu arbitru sunt simplitatea (arbitrul demagistral? lipse?te ?i sunt trei teste de efectuat pentru unit??i) ?i rapiditatea.

    Algoritmul cu priorit??i dinamice (rotating daisy chain). Acest algoritmreprezint? varianta descentralizat? a algoritmului cu priorit??i statice (daisy chain).Pentru algoritmul cu priorit??i dinamice nu mai exist? arbitru de magistral?. Acestbloc este divizat n subblocuri descentralizate (vezi figura 4.12).

    Semnalul de acordare de magistral? este conectat n bucl? nchis? ntresubblocurile de control ale magistralei.

    Subblocul conectat cu dispozitivul care a preluat controlul magistralei devinemaster, modificnd astfel distan?a dintre dispozitive ?i subblocul de arbitraj.Dispozitivul care a preluat controlul magistralei va avea la urm?toarea cerere demagistral? prioritatea minim?.

    Subblocurile de arbitraj comunic? ntre ele pentru a arbitra cererea demagistral? prin semnalele BUS REQUEST ?i ACK. De asemenea, exist? leg?turielectrice pentru dialog ntre fiecare subbloc de control al magistralei ?i dispozitivulasociat.

    1 2 3 4 5

  • ARHITECTURA SISTEMELOR DE CALCUL194

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

    4.3.4.6. Magistrala VMEMagistrala VME (Versa Module Eurocard) este un exemplu de magistral?

    asincron?, de nalt? performan??, proiectat? pentru utilizarea intensiv? n mediulindustrial; ea con?ine 32 de linii de adrese ?i 32 de linii de date. Pe lng? aplica?iileindustriale, este utilizat???i n minicalculatoare. Magistrala VME a fost dezvoltat? din magistrala Versa Bus a firmeiMotorola, iar specifica?iile pentru magistrala VME sunt con?inute n norma IEEEP1014. 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. Acestemagistrale specifice sunt bine adaptate la realizarea unor sisteme de calcul variate,de la scheme de dezvoltare ?i pn? la sisteme multiprocesor. Fiecare procesor dispune de o memorie local?, legat? prin VSB, care este omagistral? local? proprie magistralei VME. n memoria local? se afl? toateprogramele ?i datele asociate unui procesor. Instruc?iunile referitoare la memoriaglobal? sunt singurele care necesit? utilizarea magistralei VME, celelalteinstruc?iuni merg pe magistrala VSB. n consecin??, performan?a global? a sistemului este superioar? limitei de40MB/s impuse de tehnologia VME. Exemplu. La sistemele cu 16 procesoare care fac acces la cuvinte de 32 debi?i, cu un ciclu de magistral? de 200 ns, l?rgimea de band? calculat? este de 320MB/s. Dac? se face presupunerea c? 90% din accesele la memorie sunt efectuate nmemoriile locale (ipotez? realist?), rezult? c? magistrala VME va fi nc?rcat? doar lavaloarea de 32MB/s (adic? restul de 10%), ceea ce este mai pu?in de 40MB/s(valoare impus? de tehnologia VME).

    1 2 m

    BUSGRANT

    ACK

    BUSREQUEST

    BUS

  • 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 celelaltedou???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??ilorde comunica?ie cu debit sc?zut sau transferului informa?iilor de sincronizare ntreprocesoare. 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.

    Fig. 4.13. Exemplu simplu de magistral? VME.

    Exemplul 2: sistem multiprocesor.

    VSB BUS

    VME BUS

    VMS BUS

    ML = memorie local? MP = memorie partajat?

    Fig. 4.14. Exemplu complex de magistral? VME.

    Magistralele VME, VSB ?i VMS sunt magistrale pe care comunica?iile auloc independent ?i simultan, nefiind sincronizate.

    Magistralele VME cuprind patru grupe de linii: liniile de date, liniile dearbitraj 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 lng? modulele master ?i slave, nc? dou? tipuri de unit??i func?ionalecare particip? la schimbul de date pe magistral?: monitorul de urm?rire ?isupervizorul de magistral?.

    UC M I/O

    Magistral? VME

    ML MLML

    UC UC MPUC

  • ARHITECTURA SISTEMELOR DE CALCUL196

    Monitorul de urm?rire analizeaz? traficul de pe magistral???i genereaz? ontrerupere atunci cnd detecteaz? o ac?iune sau o adres? anormal? (are rolul de asemnaliza o ac?iune nepermis?). Exemplu. O tentativ? de scriere n memorie ntr-o zon? protejat? esterecunoscut? de monitorul de urm?rire ?i oprit? prin cererea de ntrerupere aprocesorului). Monitorul de urm?rire nregistreaz? n memorie ntr-un spa?iu cu n pozi?iisemnalele 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? asemnalelor de pe magistral?. Exemplu. Dac? un ciclu de magistral? este prea lung, rezult? o eroare deadresare, 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? seprelungeasc? 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 cupriorit??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,

    existnd astfel posibilitatea unui transfer continuu al priorit??ilor. El presupuneexisten?a unor linii de cerere de magistral? cu aceea?i prioritate; la magistrala VMEexist? patru astfel de linii de cerere de magistral?. Acestea func?ioneaz? astfel: laprimul ciclu de magistral? este servit? cererea sosit? pe linia 0, la ciclul urm?torcererea 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 nlan? la cele patru linii. Oricare ar fi schema de arbitraj utilizat?, o unitate master care dore?teaccesul la magistral? transmite o cerere n acest sens c?tre arbitru pe o liniecorespunz?toare; cnd cererea este satisf?cut???i se ob?ine magistrala, acea unitatemaster transmite arbitrului un semnal de ocupare a magistralei ?i anuleaz? cerereasa. n acest mod, devine posibil? alocarea anticipat? a magistralei unei alte unit??icare 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????irenet? 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 sentmpl? atunci cnd un master cu prioritate mare face o cerere de magistral?.

  • Structura unui calculator 197

    4.3.5. Magistrala memoriei

    Magistrala memoriei este utilizat? pentru transferul informa?iilor ntre CPU?i memoria principal? memoria RAM a sistemului. Aceast? magistral? este oparte din magistrala procesorului sau, de cele mai multe ori, este implementat?separat cu un set special de cipuri care este responsabil de transferul informa?iilorntre magistrala procesorului ?i memorie.

    Sistemele cu frecven?? mare a pl?cii de baz? lucreaz? la viteze care dep??escuneori posibilit??ile cipurilor DRAM standard. n astfel de sisteme este utilizat un setde cipuri, controlerul memoriei, care realizeaz? interfa?a ntre magistrala rapid? aprocesorului ?i memoria principal?, mai lent? (vezi figura 4.15). Acest set de cipurieste n general acela?i cu setul de cipuri responsabil cu gestionarea magistralei I/O.

    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? dect viteza de transfer a informa?iei pe magistrala procesorului.???imea magistralei de memorie este ntotdeauna egal? cu cea a magistraleiprocesorului. 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? decomunica?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, unnorthbridge va func?iona doar cu una sau dou? clase de CPU ?i cu un singur tip de RAM.

    Magistrala memoriei

    Magistrala principal? asistemului

    Magistrala procesorului

    CPU Cache extern

    Cipurilecontroleruluide memorie

    RAM

    Magistrala principal? asistemului

  • ARHITECTURA SISTEMELOR DE CALCUL198

    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 prinmagistrala PCI la modelele mai vechi (care creeaz? efectul de gtuire bottleneck),fie prin interconexiunea proprie (o interfa?? de nalt? performan??), la cipurile mairecente. Southbridge este cunoscut ca I/O Controller Hub (ICH). Spre deosebire denorthbridge, southbridge nu este conectat direct la CPU, avnd n responsabilitatedispozitivele mai lente. Un anumit southbridge va func?iona cu mai multe tipuri denorthbridge, 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 dememorie. Magistrala unui sistem Pentium are 64 de linii de date, 32 linii de adrese?i cteva linii de comand?. Aceste linii de adrese constituie magistrala de adrese; nmulte scheme bloc este inclus? n magistrala procesorului ?i n cea a memoriei.

    Magistrala de adrese este folosit? pentru a indica adresa de memorie sauadresa de pe magistrala sistemului care va fi utilizat? n cadrul opera?iei de transferal datelor. Magistrala de adrese indic? precis locul n care va avea loc urm?torultransfer n memorie sau pe magistral?. Dimensiunea magistralei de memoriedetermin? 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 esteposibil ca sistemele de baz? s? satisfac? toate necesit??ile tuturor celor care leachizi?ioneaz?. Magistrala I/O permite ad?ugarea de dispozitive calculatoruluipentru a-i extinde posibilit??ile. Componentele de baz? ale calculatorului, cum ar ficontrolerele de hard disk ?i pl?cile adaptoare video, pot fi ata?ate sistemului prinintermediul sloturilor de extensie; de asemenea, se pot ata?a dispozitive maispecializate, 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 ct mai

    rapid? posibil. Aproape toate sistemele PC livrate n prezent folosesc nc? aceea?iarhitectur? de magistral? ca la modelul IBM PC/AT din 1984. Dar, cele mai multedintre aceste sisteme con?in acum ?i o magistral? local? de mare vitez?, cum esteVLBus sau PCI, care ofer? un nivel de performan?? mai ridicat pentru adaptoarelecare solicit? a?a ceva. Standardizarea este una dintre caracteristicile care audeterminat succesul sistemelor PC.

    Aceste tipuri de magistrale se deosebesc prin volumul datelor transferatesimultan ?i prin viteza cu care se realizeaz? acest transfer. Arhitectura magistraleieste realizat? cu un set de cipuri care este conectat la magistrala procesorului. ngeneral, aceste cipuri controleaz???i magistrala memoriei.

    4.3.7.1. Serial ATASATA (Serial Advanced Technology Attachment) este o magistral? construit?

    n mod special pentru transferul de date ntre calculator ?i echipamente de stocare, cumar fi hard disk-ul sau unit??ile optice. Principalele avantaje fa?? de vechile interfe?e

  • ARHITECTURA SISTEMELOR DE CALCUL200

    Parallel ATA sunt transferurile de date mai rapide, abilitatea de a deconecta sauinstala echipamente n timp ce calculatorul este func?ional (hot swapping), cablurimai sub?iri care permit sistemului de r?cire cu aer s? func?ioneze mai eficient ?iopera?ii mai sigure cu verific?ri de integritate ale datelor mai riguroase.

    Interfa?a standard pentru controlerele SATA este AHCI (Advanced HostController Interface), care permite s? fie folosite specifica?iile avansate ale SATAcum ar fi hot plug sau NCQ (Native Command Queuing). Dac? interfa?a AHCI nueste implementat? pe placa de baz?, controlerele SATA ruleaz? ntr-un mod careemuleaz? interfa?a IDE, dar n acest mod nu se pot beneficia de nici una dincaracteristicile SATA enumerate mai sus. Driver-ele native din sistemul de operareWindows XP nu suport? interfa?a AHCI, n timp ce sistemul de operare WindowsVista ?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 ?i3,0 Gb/s. Exist? planuri de viitor pentru un standard de 6 Gb/s, care ar fi nmomentul de fa?? folositor n tandem cu multiplicatori de porturi, pentru a permitemai multor discuri s? fie conectate la un singur port SATA, mp???ind l?rgimea deband? a portului ntre respectivele discuri.

    SATA este o arhitectur? de tip punct-la-punct (point-to-point), iarconexiunea 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 peplaca de baz? sau instalat pe un slot PCI. Unele controlere SATA au mai multeporturi SATA ?i pot fi astfel conectate la mai multe echipamente, acestea avnd unidentificator 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, iarsemnalul este trimis folosind algoritmul NRZ (Non Return to Zero), cu semnale devoltaj mic, diferen?iale (LVDS). n codarea de tip 8b/10b, semnalul de sincronizareeste inclus n secven?a de date. Aceast? tehnic? este numit? clock data recovery(recuperarea ceasului cu ajutorul datelor), deoarece nu folose?te un semnal desincronizare separat. n schimb, are nevoie de o tranzi?ie de la 0 la 1 n ?irul de dateserial 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 SCSISmall 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 caretrebuie s? transfere cantit??i mari de date ntr-un timp foarte scurt.

    Standardul SCSI specific? interfa?a hardware ?i software la un nivel careminimizeaz? subordonarea fa?? de orice alt? implementare hardware. Specifica?iapermite conectarea unei mari variet??i de periferice la multe tipuri de calculatoare.

    O magistral? SCSI este un tip de magistral? care se conformeaz? cerin?elorfizice ?i electrice ale standardului SCSI standard. Un dispozitiv SCSI (?int?) sesupune oric?rei unit??i conectate la magistrala SCSI, fie c? este vorba despre unechipament periferic sau un calculator. Fiec?rui dispozitiv SCSI i este atribuit unID SCSI (o valoare ntreag?, care identific? unic dispozitivul n timpul opera?iilor).

    Fazele magistralei SCSI sunt intervale de timp de-a lungul c?rora, princonven?ie, anumite semnale de control sunt permise, iar altele nu sunt. MagistralaSCSI 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 opot urma. De exemplu, faza de magistral? liber? poate fi urmat? numai de faza dearbitraj sau de orice alt? faz? de magistral? liber?. O faz? de date poate fi urmat? deo comand?, o stare, un mesaj sau de o faz? de magistral? liber?. Semnalele decontrol direc?ioneaz? tranzi?ia de la o faz? la alta. De exemplu, semnalul de resetareinvoc? 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 SCSInu 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???ipermite unui dispozitiv SCSI s? c?tige control asupra magistralei. n timpulacestei faze, toate dispozitivele care doresc s? foloseasc? magistrala ?i pun ID-ulpe magistral? (folosind semnalele de date). Semnalul cu cel mai mare ID c?tig?.

    3. Selec?ia: aceast? faz? urmeaz? fazei de arbitraj. Dispozitivul care ac?tigat faza anterioar? folose?te aceast? etap? pentru a selecta un alt dispozitiv cucare s? comunice.

    4. Reselec?ia: aceast? faz?, op?ional?, este folosit? de sisteme care permitechipamentelor 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 cnd ?inta cere un transfer de date (de) la ini?iator.7. Starea: aceast? faz? are loc cnd ?inta cere ca informa?ia de stare s? fie

    trimis? la ini?iator.8. Mesajul: faza de mesaj are loc cnd ?inta cere transferul unui mesaj.

    Mesajele sunt mici blocuri de date care transport? informa?ia sau cererea ntreini?iator ?i ?int?. n aceast? faz?, pot fi trimise mesaje multiple.

    mpreun?, ultimele patru faze (comand?, date, stare, mesaj) sunt cunoscuteca fazele de transfer al informa?iei.

  • ARHITECTURA SISTEMELOR DE CALCUL202

    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?. ntimp ce viteza magistralei procesorului a crescut, magistrala I/O a cunoscut doarajust?ri ale vitezei nominale, n principal prin cre?terea l??imii de band?.

    Solu?iile bazate pe magistrala local? nu nlocuiesc standardele existente, cisunt proiectate pentru a le mbun????i. De aceea, un sistem uzual este bazat pestandardele I/O ?i, n acela?i timp, este dotat cu unul sau mai mul?i conectori LocalBus. Un exemplu de magistral? local? la Intel 80486 este VLBus (VESA Local Bus).

    4.3.8.1. Magistrala PCIMagistrala 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 acre?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, utilizndtoat? l??imea cuvntului. L?rgimea de band? este de 132 MB/s. Cnd magistralaeste folosit? cu o unitate CPU pe 64 bi?i, l?rgimea de band? se dubleaz?, aceastansemnnd c? datele se pot transfera la viteze de pn? la 264 MB/s. n realitate,vitezele de transfer ale datelor vor fi n mod necesar mai mici, dar ele r?mn ncontinuare mult mai mari dect la orice alt? variant? anterioar?.

    Una dintre cauzele acestui transfer mai rapid este faptul c? magistrala PCIlucreaz? n paralel cu magistrala procesorului, f??? s? o nlocuiasc?. Unitatea CPUpoate procesa date n memoria cache extern?, n timp ce magistrala PCI esteocupat? cu transferarea informa?iilor ntre alte elemente ale sistemului, ceea ceconstituie 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 unini?iator (master) ?i o ?int? (slave). Dup? ce un master a ob?inut controlulmagistralei, determin? tipul transferului care va urma. n timpul fazei de adresareliniile 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 suntfolosite 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 saumai multe ?inte.

    3. Citire I/O. Este un ciclu de transfer de date ntre ini?iator ?i un dispozitivI/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? transferurilentre memorie ?i cache. Se cite?te o jum?tate de linie de cache sau mai pu?in, nsalv? fiind unul sau dou? cicluri de citire.

    6. Citire o linie din memorie. Se cite?te mai mult de o jum?tate de linie decache, 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, nsalv? fiind mai mult de 12 cicluri de citire.

    8. Scriere n memorie

  • ARHITECTURA SISTEMELOR DE CALCUL204

    9. Scriere n memorie ?i invalidare. Scrierea se poate face, de asemenea, nsalv?. Se respect? modul Write Back pentru scrierea din cache n memorie.

    10. Citire configura?ie. Fiecare dispozitiv PCI include un set de 256 deregistre 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 poatemodifica registrele de configurare.

    12. Ciclu de adresare dual. Este folosit de ini?iator pentru a ar?ta c? apare oadresare pe 64 de bi?i.

    Orice transfer de date pe magistrala PCI const? ntr-o faz? de adresare ?i unasau 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 cnd 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? cnd ?i recunoa?te adresa.Func?ionarea este urm?toarea:

  • Structura unui calculator 205

    1. De ndat? ce masterul are controlul magistralei, poate ncepe transferulactivnd FRAME. Linia r?mne activ? pn? 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 (ncepnd cu tactul 3). Ini?iatorul

    schimb? informa?ia pe liniile C/BE, pentru a indica pe care dintre liniile AD se vortransmite datele de la ?int? (1 pn? la 4 octe?i).

    4. ?inta selectat? activeaz? DEVSEL, pentru a semnaliza c? a recunoscutadresa, 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 nceputultactului 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. Sepresupune de data aceasta c? ini?iatorul nu este gata s? preia datele (are, deexemplu, buffer-ul plin). Ini?iatorul dezactiveaz? IRDY, ceea ce are ca efectmen?inerea datelor de c?tre ?int? un tact suplimentar (datele nu se citesc lanceputul 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 AGPAGP (Accelerated Graphics Port) este o magistral? dedicat? comunic?rii cu

    display-ul, accesibil? prin intermediul unui slot special, aflat pe placa de baz?, n carese monteaz? placa grafic?. AGP a fost introdus pentru a degreva magistrala PCI decomunica?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 cipsetul62440LX. Acest cipset, primul care a implementat controlul comunica?iei pe AGP,intermedia transferul de date ntre procesorul Pentium II, aflat mpreun? cumemoria cache L2 n modulul SECC (Single Edge Contact Cartridge), memoriaprincipal?, 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, adresareamemoriei se face n pipeline, mod care const? n a lansa mai multe cereri pe durataunui acces la memorie (spre deosebire de PCI, care lanseaz? o nou? cerere numaicnd 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, auap?rut pl?ci grafice care suportau transferul de date pe ambele fronturi ale semnaluluide ceas (2-mode transfer) ?i banda s-a dublat ajungnd la 528 MB/s (AGP 2).

  • ARHITECTURA SISTEMELOR DE CALCUL206

    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 detransfer 4x-mode transfer constnd n patru transferuri de date pe o perioad? deceas, 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 USBAcest 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 ?iconectori necesar? conect?rii diverselor periferice: tastatur?, mouse, imprimant?,joystick, scaner sau modem extern. n partea din spate a calculatorului exist? unsingur 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), gestionnd diversele comunica?ii.Magistrala USB este dirijat? exclusiv de calculatorul gazd?.

    Practic, la aceast? magistral? poate fi conectat orice periferic echipat cu uncontroler USB, dar, datorit? ratei de transfer de 12 Mb/s, sunt vizate n primul rndechipamentele audio-video, telefonia digital?, modemurile, tastaturile, tableteledigitizoare, 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? cudispozitivele conectate prin intermediul unor canale logice (pipes), care au ni?teterminale 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 unmoment dat (de exemplu, pipe-urile de management 0);

    modul izocron garanteaz? o vitez? (nu neap?rat cea maxim?), dar cuposibilit??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? bandaliber?, f??? a garanta banda (de exemplu, transferuri de fi?iere).

    Cnd un dispozitiv periferic este activ, ata?at host-ului, acesta prime?te oadres? de 7 bi?i de la host. Host-ul interogheaz? dispozitivele pentru trafic, astfelnct nici un dispozitiv nu poate transfera date pe magistral? f??? a face o cerere??tre host. ntreruperile efectuate asupra endpoint-urilor corespunz?toare nu ntreruppractic 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 dispozitivconectat la magistral? are un descriptor de dispozitiv (device descriptor), care, larndul 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, activsau n mod putere sc?zut? low power). Fiecare descriptor de configura?ie are, larndul s?u, un descriptor de interfa?? (interface descriptor), care descrie diferitefunc?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.

  • ARHITECTURA SISTEMELOR DE CALCUL208

    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 rndul lor, audescriptori de enpoint-uri (endpoint descriptors). Un endpoint poate fi totu?i folositpentru mai multe interfe?e sau set?ri alternative de interfe?e.

    Hub-urile sunt elemente cheie n arhitectura plugnplay a USB, u?urndconectivitatea din punct de vedere al utilizatorului ?i asigurnd o robuste?e maimare. Punctele de conexiune ale hub-urilor se numesc porturi. Un hub are un portupstream? ?i mai multe porturi downstream (vezi figura 4.24). Portul upstreamconecteaz? hub-ul cu gazda (host) sau cu un hub mai apropiat de gazd?. Portuldownstream conecteaz? hub-ul cu alt hub sau cu un dispozitiv func?ional. Hub-ulpoate 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?acorespunz?toare a aparatului are o implementare specific?. Toate comunica?iiledintre gazd???i aparat au loc prin cablul fizic USB. Exist? interfe?e gazd?-aparat lafiecare nivel orizontal. Comunica?ia ntre clientul de?in?tor al software-ului ?ifunc?iile provenite de la aparat sunt reglementate de un contract bazat pe nevoiaaplica?iei curente de a folosi aparatul ?i posibilit??ile oferite. Aceast? interac?iuneclient-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 nfigura 4.25, iar comunica?ia ntre calculator (host) ?i aparate (hub) se face pe bazaunui protocol descris n figura 4.26.

    Cmp desincronizare

    (8 bi?i)

    Identificator alpachetului

    (8 bi?i)

    Date(0 1032 octe?i)

    Controlerori CRC(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 10miliarde. Dup? terminarea transferului de date, are loc confirmarea transmisieidatelor ?i verificarea corectitudinii transmisiei lor (handshake).

    Datorit? modulelor soft plugnplay, la conectarea fizic? a unui periferic lacomputer, acesta este autodetectat, iar datorit? unor registre interne ale perifericului(care furnizeaz? sistemului de operare informa?ia necesar?) sunt nc?rcate exactdriver-ele necesare func?ion?rii acestuia, care poate fi ?i dezinstalat cnd sehot????te ndep?rtarea perifericului respectiv din configura?ie.