carte echip periferice

Upload: alisa-alissuka

Post on 19-Jul-2015

732 views

Category:

Documents


6 download

TRANSCRIPT

CUPRINS1. STRUCTURA HARDWARE A UNUI CALCULATOR ............................... INTRODUCERE ............................................................................................... MAGISTRALE I STANDARDE DE MAGISTRAL .................................. 1.2.1. MAGISTRALE DE INTRARE/IESIRE ...... 1.2.2. ARHITECTURA USB / IEEE 1394 .... 1.2.3. ARHITECTURA UNUI SISTEMUL INTELIGENT DE INTRARE/IEIRE (I/O) ................................................................................ COMUNICAIA NTRE MICROPROCESOR SI INTERFEELE I/O ......... 1.3.1. INTEROGAREA SOFTWARE ........................................................... 1.3.2. LUCRUL PRIN NTRERUPERI HARDWARE ................................. 1.3.3. TRANSFERUL CU ACCES DIRECT LA MEMORIE ..................... RESURSELE HARDWARE DE COMUNICAIE ......................................... 1.4.1. CANALELE DE SOLICITARE A NTRERUPERILOR .................... 1.4.2. CANALE PENTRU ACCESUL DIRECT LA MEMORIE ................. 1.4.3. ADRESELE INTRARE/IESIRE .......................................................... 1.4.4. COMUNICAIA N REELE DE CALCULATOARE ...................... 1.4.5. CALCULUL PERFORMANTEI SI COSTULUI PENTRU PERIFERICELE I/O ...................................................................................... 1.4.6. PROIECTAREA UNUI SISTEM I/O .................................................. 1.5. RESURSELE HARDWARE DE STOCAREA A DATELOR ..................... 1.5.1. HARD DISCURILE ............................................................................ 1.5.2. UNITI EXTERNE I MATRICI DE UNITI RAID ............... 1.5.3. DISPOZITIVE I/O CU FACTOR DE FORMA MIC 1.5.4. ARHITECTURA CU MEMORIE CACHE . 1.6. PORTURI I/O .... 1.6.1. PORTURILE SERIALE ...................................................................... CARACTERIZARE GENERAL .. PORT RS-232C PORT ACCES .. PORT IRDA . PORT USB ... PORT FIRE WIRE ... 1.6.2. PORTURI PARALELE 1.6.3. PORTURI PENTRU TASTATURI ..................................................... 1.6.4. PORTURI PENTRU MOUSE ............................................................. 1.6.5. PORTURI VIDEO ............................................................................... 2. STANDARDE I INTERFEE PENTRU MAGISTRALA PARALEL .. 2.1. STANDARDUL IEEE-1284 ......................................................................... 2.2. MODUL COMPATIBIL ............................................................................... 2.3. MODUL NIBBLE ......................................................................................... 2.4. MODUL BYTE ............................................................................................. 2.5. MODUL EPP ................................................................................................. 2.6. MODUL ECP ................................................................................................ 2.7. NEGOCIEREA MODULUI DE TRANSFER .............................................. 2.8. INTERFAA FIZIC ................................................................................... 1 1 6 15 24 33 36 36 38 40 41 41 50 52 53 56 61 69 69 73 75 78 80 80 80 84 87 88 89 89 90 92 92 93 94 94 95 101 102 103 105 109 111

3. STANDARDE I INTERFEE PENTRU MAGISTRALA SERIAL ........ 3.1. CARACTERISTICI ... SINCRONIZAREA ........................................................................................ CODIFICAREA DATELOR SI CONTROLUL ERORILOR ....................... CONTROLUL FLUXULUI DE DATE . 3.2. STANDARDUL RS232 ................................................................................ PARAMETRI ................................................................................................. CIRCUITE UART OPERARE N MODUL DE NTRERUPERI ............................................... OPERARE N MODUL INTEROGARE .. 3.3. STANDARDUL RS485 ................................................................................ 3.4. SDLC/HDLC ................................................................................................. 3.5. STANDARDUL I2C ..................................................................................... 3.6. STANDARDUL USB .................................................................................... 3.6.1. INFORMAII GENERALE 3.6.2. TOPOLOGII FIZICE DE MAGISTAL USB ................................... 3.6.3. MODELUL COMUNICAIEI 3.6.4. STRUCTURA DISPOZITIVELOR . 3.6.5. INTERFATA ELECTRICA . 3.6.6. PROTOCOLUL DE COMUNICAIE 3.6.7. FORMATUL PACHETELOR . 3.6.8. TIPURI DE PACHETE ........................................................................ 3.6.9. DESCRIPTORI USB ... 3.6.10. PROIECTARE SOFTWARE ............................................................ ANEXE Anexa 1: PDIUSBD11 . Anexa 2. Transceiverul USB PDIUSBD12D ....................................................... Anexa 3. Microcontrolerul 8052 ............................................................................. Anexa 4. Dispozitive USB ....................................................................................... Anexa 5. TL16C451 - Chip-set pentru portul serie si paralel .................................. Anexa 6. Glosar de termeni si abrevieri .. Anexa 7 : APLICATII ............................................................................................. BIBLIOGRAFIE ..

112 112 113 114 118 119 119 121 134 136 138 138 139 148 148 157 162 175 180 184 185 188 200 214 242 242 251 263 273 289 291 297 304

STRUCTURA HARDWARE A UNUI CALCULATOR

1. STRUCTURA HARDWARE A UNUI CALCULATOR1.1. INTRODUCERE Microprocesoarele i apoi noile arhitecturile de prelucrare a informatiei (procesoare RISC i CISC, microcontrolere i multiprocesoare integrate pe un cip), au determinat schimbri profunde n industria calculatoarelor, att prin performantele crescute obinute n urma unei proiectare eficiente i optimizate, dedicat (embedded) n multe cazuri, ct i prin preurile de vnzare n scdere permanent la aceeai putere de calcul. De exemplu, un microprocesor din generaia zilelor noastre (2005) depeste performanele unui supercalculator de acum 5 ani, iar preul este de comparabil mai mic. n ultimul deceniu performana relativ a microprocesoarelor a crescut anual cu peste 5060% pe an. Studiile n domeniu arat c peste 65% din aceast cretere se datoreaz mbuntirilor realizate la nivel architectural, restul fiind de natur tehnologic. Din punctul de vedere al pieei de vnzri a calculatoarelor, se disting trei tipuri de calculatoare. Calculatoarele personale (desktop-uri sau laptop-uri) au utilizare general i sunt prezente n fiecare birou, fiind destinate utilizatorilor (s zicem obisnuiti) din toate categoriile profesionale. Un calculator personal (personal computer PC) poate costa de la cteva sute de uro pn la 10.000 uro (pentru configuraii hard-soft mai sofisticate de tip statii de lucru - workstations). Piata de PC-uri impune gsirea unor configuraii care s asigure un compromis optim pentru raportul performan/cost. Se estimeaz c producia anual va crete, depind ordinul sutelor de mii de PC-uri pe an, cat este acum. Serverele sunt calculatoare cu o arhitectur mai complex, destinate sa ofere servicii tot mai sofisticate de reelele de PC-uri. Devin noduri de Internet, luand locul calculatoarelor tip mainframe de acum un deceniu. Caracteristicile arhitecturale cele mai importante se concentreaz la nivel de fiabilitate, disponibilitate, scalabilitate si viteza de procesare. Un server cost ntre 10.000 Euro si 10.000.000 Euro (supercalculatoare) i producia de servere n expansiune necesit zeci de milioane de microprocesoare pe an. Sistemele dedicate (Embedded Systems) au dezvoltarea cea mai dinamic, estimarea produciei la nivelul anului 2005 fiind de cca. 500 milioane de astfel de sisteme pe an. Aplicaiile sunt diverse (aparate foto digitale i camere video, aparatura electrocasnic, telefoane mobile, imprimante, comenzi auto, jocuri electronice etc.), iar costuri variaz ntre 10 Euro si 10.000 Euro. Unele dintre aceste sisteme au programele scrise de producator, avnd un grad de programabilitate relativ redus, iar memoria de lucru are capaciti relativ reduse (ns n cretere continu n ultumii ani). Performanele arhitecturale sunt cele de vitez, vizand ndeplinirea cerintelor de timp real ale aplicatiei. De asemenea, o caracteristic specific o reprezint consumul redus de putere (uzual fiind alimentate de la baterii sau acumulatori). inand cont de ritmul de dezvoltare a tehnologiilor electronice, n curnd aceste sisteme vor fi integrate practic n toate dispozitivele electronice folosite curent de om, cu posibilitatea de interconectare n reeaua Internet. Microarhitecturile de procesare a informatiei vor fi strans corelate cu tendinele tehnologice. Prin arhitectura unui microprocesor se nelege nu numai setul de instructiuni i modurile de adresare (ISA Instruction Set Arhitecture), ci i structura organizatoric a procesorului si implementarea hardware a acestuia, toate aflate ntr-o corelaie i ierarhizare stricta. Dintre tendintele tehnologice se poate puncta: - n cazul microprocesoarelor: gradul de integrare al tranzistoarelor pe cip creste an de an, deoarece tehnologia de integrare a microprocesoarelor a evoluat de la 1

STRUCTURA HARDWARE A UNUI CALCULATOR

microtehnologie (10 microni - 1971, 0,18 microni - 2001) la nanotehnologie. Frecventa ceasului procesorului a crescut exponenial, ajungnd practic acum la limita fizica a siliciului; - n cazul memoriilor DRAM: densitatea de integrare creste cu 40-60 % pe an, n timp ce timpul de acces scade cu 33% pe decada. - n cazul hard discurilor: densitatea informatiei scrise pe hard discuri creste cu peste 100% pe an, n timp ce timpul de acces aferent scade cu cca. 33% pe decada. - n cazul reelelor: tehnologia si performantele retelelor s-a schimbat total, vitezele de comunicaie crescand spectaculos datorit utilizrii tehnologiilor performate (comunicaii la peste 1 Gb/s, switch-uri ultrarapide, cablare pe fibra optic, USB, FC-AL etc.). n paralel cu tendintele de cretere a performanelor (mai sus mentionate), costurile scad n timp (la aceeasi putere de calcul ori capacitate de memorare). Printre cele mai importante tendinte arhitecturale, care vor fi analizate n continuare, putem aminti: - Exploatarea paralelismului la nivelul instructiunilor si fazelor de executie (pipeline), att prin tehnici statice (soft), ct si dinamice (hard) sau chiar hibride (cazul arhitecturii IA-64, procesorul Intel Ithanium); - Structuri performante de ierarhizare a sistemului de memorie prin utilizarea unor arhitecturi evoluate de memorie tip cache; - Reducerea duratei cii critice din program prin tehnici de utilizare dinamica a instructiunilor si predictie a instructiunilor urmtoare; - Utilizarea multiprocesoarelor (shared memory), n special n cadrul arhitecturilor serverelor i a staiilor grafice. De asemenea, se constata o dezvoltare a sistemelor distribuite de procesare a informatiei (message passing) - Introducere arhitecturilor reconfigurabile ( Spartan) etc. O arhitectur generic pentru un sistem de calcul este prezentat n figura 1.1.

Figura 1.1. Schema bloc a unui microsistem(conine: microprocesor, amplificatoare de magistrala, magistrale de adrese, date comenzi si stari, module memorie ROM si RAM, porturi intrare-ieire ( I/O) lente, porturi I/O rapide - interfete DMA)

2

STRUCTURA HARDWARE A UNUI CALCULATOR

Microprocesorul este elementul central al arhitecturii, responsabil toate activitile de procesare a informaiilor vehiculate pe magistrale (bus n englez) conform instructiunilor masina, codificate binar. n conformitate cu aceste instructiuni, microprocesorul genereaza secventiat toate semnalele (adrese, date, comenzi) necesare blocurilor de memorie si interfetelor I/O pe care le gestioneaza. O structur generic (pe un singur cip) de microprocesor contine registri interni, unitati de executie, o unitate de comanda cablata sau microprogramata, bus-uri interne de interconectare etc. Un microprocesor dintr-un PC (numit i unitatea centrala de procesare: n englez, central processing unit CPU) conine, n general, urmtoarele componente: unitatea primar de stocare, care stocheaz datele i instruciunile n timpul funcionrii PC-ului unul sau mai multe uniti aritmetico-logice (ALU) care realizeaz toate calculele o unitate de control care supervizeaz toate activitile CPU prin controlul fluxului de date i instruciuni de la RAM la ALU soclul procesorului, care este o grila formata din guri mici care menin CPU-ul n contact cu placa de baz un soclu pentru introducere forata (zero-insertion force (ZIF) socket), care mbuntete manevrabilitatea CPU-ului prin adugarea unei prghii pe soclu (pentru a uura scoaterea sau montarea acestuia.) Un ventilator (cooler) care rcete forat CPU-ul Magistrala de adrese este unidirectional de tip trei stari (tree state-TS). Prin intermediul acestui bus microprocesorul pune adresa de acces la memorie sau la porturile I/O (Input/Output). Partenerii externi de comunicaie ai microprocesorului (memorie si interfetele de intrare iesire) sunt accesibili prin canalele de comunicaie. Resursele externe pot fi accesate (scrise, respectiv citite) de catre microprocessor prin intermediul interfetelor de I/O care au adrese unice. Magistrala de date este de tip bidirectional TS. Prin intermediul acestui bus microprocesorul aduce din memorie instructiunea, respectiv citeste data (operandul) din memorie sau dintr-un port de intrare (arhitectura Princeton de memorie). Microprocesorul pune pe bus-ul de date rezultatul pe care doreste sa-l scrie n memorie sau ntr-un port de iesire. La citire, rezultatul este preluat prin intermediul aceluiai bus din memorie sau dintr-un port de intrare. n ambele cazuri, microprocesorul activeaza adresa perifericului cu care comunic prin magistrala de adrese mpreuna cu semnalele de comanda aferente (Read, Write, Memorie, Interfata etc.) de pe magistrala de comenzi. Pe Magistrala de stri, dispozitivele dependente (numite n englez slave: memorii, interfete) comunica informatii referitoare la modul de desfasurare al transferului. Memoria poate fi vazuta intr-o abordare simplist ca o stiva de locatii binare (cuvinte), fiecare cuvnt fiind caracterizat de o adresa binara unica (figura 1.2). n general M=8,16,32,64, unde M definete lrgimea magistralei de date a microprocesorului (numit i microsistem pe M biti). Memoria este caracterizat prin doi parametri de baz: - capacitatea de memorare (numrul de locatii pe care le contine) - ntarzierea (timpul de acces), care este o caracteristic intrinsec a circuitului de memorie si reprezint in principiu timpul scurs din momentul furnizrii adresei de ctre microprocesor pn in momentul in care memoria a ncheiat operatia comandat (citire sau scriere). Un ciclu de citire din memorie este reprezentat n figura 1.3. Se doresc capacitati ct mai mari si timpi de acces ct mai mici, aceste cerinte fiind n general contradictorii. ntre magistrala de adrese si memorie exista un decodificator N:2N (figura 1.4) pentru a selecta unul din dispozitivele externe sau memoria. 3

STRUCTURA HARDWARE A UNUI CALCULATOR

Figura 1.2. Organizarea de principiu a memoriei

Figura 1.3. Ciclul de citire din memorie

Figura 1.4. Decodificator adrese Astfel, se pot adresa cuvinte de opt bii, numite i octei (pentru M = 8 => 1 cuvnt = 1 octet), iar: - cu 10 biti de adrese => 210 cuvinte = 1k (kilo) cuvinte; - cu 20 biti de adrese => 220 cuvinte = 1M (mega) cuvinte; - cu 30 biti de adrese => 230 cuvinte = 1G (giga) cuvinte; - cu 40 biti de adrese => 240 cuvinte = 1T (terra) cuvinte. Din punct de vedere al accesului (dar i al tehnologiei) memoriile se impart n: ROM (Read Only Memory) EPROM, EEPROM RAM (Random Acces Memory) 4

STRUCTURA HARDWARE A UNUI CALCULATOR

SRAM (static) DRAM (dinamic) Memoriile EPROM sunt memorii permanente, care pastreaza continutul si dupa decuplarea tensiunii de alimentare. Ele sunt reprogramabile, n sensul c pot fi sterse prin expunere la raze ultraviolete (atenie la manevrarea lor la lumina zilei) si renscrise pe baza unui dispozitiv special, numit programator de EPROM uri. EPROM-urile pastreaza asa numitul program monitor nscris de catre fabricant de PC-uri, care este primul program activat de catre sistemul de calcul imediat dupa alimentarea (sau resetarea) sa. Acest lucru este absolut necesar ntruct continutul memoriilor RAM nu este cunoscut imediat dupa alimentare. n consecin, imediat dupa acionarea butonului de RESET microprocesorul PC-ului este initializat si va adresa prima instructiune din programul monitor rezident n EPROM. n mare, rolul programului monitor este de a efectua o testare sumara a microprocesorului si a celorlalte componente ale microsistemului, dupa care va demara ncarcarea sistemului de operare (Linux, Windows etc.) de pe hard disc n memoria RAM. Din acest moment sistemului de operare rezident acum n RAM preia controlul de la programul monitor. De asemenea, ROM-ul contine programele specifice (rutinele) de intrare iesire BIOS. SRAM: sunt memorii rapide (timp de acces ta = 1 ns 10 ns), avnd ns o capacitate de integrare redus (sute de koctei/circuit). RAM: constituie memoria oricarui sistem de calcul actual datorit faptului ca are densitati mari de integrare (de peste 512 Mbiti /circuit) si un timpi de acces relativ mic ta =10 ns 30 ns, n scdere continu. Un al avantaj al acestei tehnologii l constituie puterea absorbita, care este redusa (fiind realizate n tehnologie MOS). Adaptarea timpului de acces al acestor memorii cu vitezele mari de procesare ale microprocesorului reprezint o problem tehnologic si arhitectural de actualitate n ingineria calculatoarelor. La arhitecturile actuale se remarc dou dezavantaje importante: - Accesare ( citire / scriere ) complex Circuitele DRAM sunt organizate sub o forma matriciala, pe linii si coloane. Bitul ce se doreste a fi accesat se afla la intersectia liniei cu coloana selectata. Un circuit DRAM are, n general, urmtorii pini (figura 1.5). Pentru o citire corect este necesar ca frontul cztor al lui RAS (Row Address Strobe) s strobeze perfect adresa de rnd (o memoreaza ntr-un registru intern al circuitului), iar frontul cztor al lui CAS (Column Address Strobe) s strobeze perfect adresa de coloan (figura 1.6).

Figura 1.5. Circuit DRAM

Figura 1.6. Ciclul de citire din memoria DRAM

n momentul memorarii adresei de coloan (frontul cztor al semnalului CAS) memoria are toate elementele necesare furnizarii bitului de iesire Dout, dupa un timp precizat n catalog. n consecin, interfaa lectric dintre microprocesor si DRAM este relativ complex, ntruct din semnalele pe care le furnizeaza microprocesorul (adresa de memorie i comanda) interfata trebuie s fie generate semnalele de mai sus (secventa ADR, RAS, CAS). 5

STRUCTURA HARDWARE A UNUI CALCULATOR

Necesitatea regenerrii memoriei DRAM. Bitul de informaie DRAM este memorat la nivelul unui condensator. Dei bine izolat, acest condensator se descarc n timp informaia pe care o memoreaz se poate altera. n consecin, este necesar ca periodic acesta s fie rencarcat (cu rata de regenerare refreshing rate). Regenerarea se face pe ntreg rndul din matricea de memorare. Conform datelor de catalog, un rnd trebuie regenerat la circa 2 ms. Algoritmul de regenerare va trebui sa fie unul de tip secvential, care s regenereze n mod ordonat i succesiv toate rndurile. Dac N reprezint numrul de rnduri ale circuitului de memorie DRAM, rezulta o rat de regenerare a 2 rnduri succesive de maxim 2 ms/N. De exemplu, considernd N=128 rnduri (DRAM 4116, 4164) rezult o rat de regenerare de 2 ms/128 15,6 s. Reinem c accesul la DRAM se face din partea: - microprocesorului, care citeste/scrie conform programului pe care l executa; - automatului de regenerare, care regenereaza periodic memoria DRAM. Posibilele conflicte de acces la memoria DRAM, aprute ntre microprocesor si automatul de regenerare, trebuie s fie arbitrate corespunzator, fr scaderea performantei. Ar fi utila implementarea unei "regenerari transparente" (care sa nu blocheze deloc procesorul). Acest deziderat necesita compromisuri ntre viteza de procesare si gradul de transparenta al regenerarii. Standardizarea magistralelor si a protocoalelor aferente a condus la conceptul de microsistem de dezvoltare. ntr-un asemenea microsistem, prin simpla conectare la magistrala comun (de date, adrese, comenzi, stari) standard a unor noi module compatibile (memorii, interfete etc.) va permite o dezvoltare flexibil n timp a sistemului de calcul initial. Microsistemele standardizate de tip IBM PC constituie astfel de sisteme de dezvoltare construite n jurul unor magistrale standardizate. 1.2. MAGISTRALE I STANDARDE DE MAGISTRALA Din prezentarea introductiv am remarcat c un sistem de calcul se compune dintr-un set de componente (unitate centrala, memorie, interfete de intrare/iesire si dispozitive periferice) care schimba date intre ele. In modelul de calculator propus de J. Von Neumann comunicatia dintre componentele sistemului se realizeaza prin legaturi dedicate intre perechi de componente. Aceasta abordare este destul de rigida (inflexibila), limitand gradul de extindere (scalabilitate) a sistemului. Adaugarea de noi componente este dificila si implica modificarea componentelor deja existente. De asemenea, proiectarea corect a unei noi componente presupunea cunoasterea in amanuntime a functionarii celorlalte componente, deci dificil de realizat. Rezolvarea a venit din partea firmei Digital Equipment Corporation (DEC) spre sfirsitul anilor 60 prin lansarea pe piata a primul calculator (PDP 11) construit in jurul unei magistrale - magistrala Unibus, n adevratul sens al acesteia. Din punct de vedere conceptual, magistrala este un mediu comun de comunicatie intre componentele unui sistem de calcul. Din punct de vedere fizic este alcatuit dintr-un set de semnale care faciliteaza transferul de date si sincronizarea intre componentele sistemului. Introducerea conceptului de magistrala a revolutionat modul de concepere si proiectare a noilor sisteme de calcul. Modelul de calculator bazat pe magistrala a fost preluat mai ales la proiectarea familiilor de calculatoare mini si micro. Prin standardizarea magistralelor sistemele de calcul au devenit sisteme deschise, in sensul ca un numar mai mare de producatori au putut sa realizeze componente pentru o anumita structura de calculator (module de memorie, interfete de intrare/iesire, echipamente periferice), bazndu-se numai pe specificatiile magistralei (accesibile uneori gratis pe Internet). 6

-

STRUCTURA HARDWARE A UNUI CALCULATOR

In ultimele decade au fost dezvoltate diferite standarde de magistrala care au urmarit evolutia procesoarelor (a unitatilor centrale de calcul) si a necesitatilor de comunicatie ale acestora (viteza, mod de transfer, necesitati de sincronizare si control etc.). S-au dezvoltat de asemenea magistrale specializate pentru anumite tipuri de echipamente periferice (ex: unitati de disc, console grafice, interfete de masura si control etc.). Din acest perspectiv se pot distinge doua clase de magistrale: magistrale de sistem dezvoltate mai ales pentru conectarea unitatii centrale la celelalte componente ale sistemului (ex: MULTIBUS, ISA, EISA, PCI) si magistrale specializate, care incearca sa optimizeze transferul de date cu un anumit tip de echipamente periferice ( ex: VESA, SCSI, GPIB etc.). Aparitia si dezvoltarea microprocesoarelor a fcut ca modelul de calculator bazat pe magistrala s fie agreat de toat lumea, devenind uzual prin implementarea in toate PC-urile. Configuratia semnalelor unui microprocesor este astfel conceputa incit sa permita conectarea usoara la o magistrala de sistem. In general, fiecare familie de procesoare (vezi I8080, Z80, MC68000 etc.) a impus un anumit standard de magistrala. Exista insa anumite trasaturi comune pentru toate aceste magistrale (de exemplu: o anumita structura si principii de transfer, tipuri de semnale), astfel incat modulele proiectate pentru un anumit tip de magistrala pot fi modificate pentru a putea fi conectate pe o alta magistrala. Evident, procesoarele impun magistralele. Caracteristicile constructive ale unei magistrale sunt direct influentate de cerintele si particularitatile functionale ale procesoarelor pentru care au fost concepute. Acest aspect este n contradictie cu ideea de sistem deschis, conform careia mediul de comunicatie intre componentele unui sistem trebuie sa fie independent de producator. Totui, firmele mari din domeniul constructiei de calculatoare si-au dezvoltat i impus propriile standarde de magistrala corelate cu familiilor de procesoare pe care le produc (exemple: DEC - Unibus, Intel - Multibus , Hewlet-Packard - GPIB, IBM PC-bus etc.). Este adevrat c unele din aceste magistrale sunt deschise, in sensul ca standardul este accesibil posibil de utilizat fr restricii de orice producator, in schimb unele au fost patentate si au restrictii de utilizare (de exemplu: magistrala MicroChannal a firmei IBM, folosita in constructia calculatoarelor PS 2). De asemenea, exista si standarde dezvoltate de grupuri de producatori cu interese apropiate; astfel au aparut standardele CAMAC, Fastbus, Futurebus, USB etc. In cazul acestor magistrale se pune problema asigurarii interoperabilitatii intre module realizate de diversi producatori; de multe ori, din considerente de economie, se implementeaza numai o parte din specificatiile standardului sau exista extensii specifice numai pentru un anumit producator. Metoda de eliminare a unor astfel de probleme este supunerea componentelor la teste de conformitate. Cele mai cunoscute foruri internationale de standardizare care i desfoar activitatea in domeniul magistralelor sunt IEEE, ANSI si IEC. In tabelul 1.1 sunt prezentate cateva magistrale cunoscute, din care nu toate sunt formal standardizate. Standard IEEE Nume popular Domenii de utilizare 488 GPIB Magistrala pentru instrumente de laborator 583, 596, 683 CAMAC Magistrala pentru achizitie de date si instrumentatie 696 S 100 Microsisteme de dimensiune medie 796, P1296 MULTIBIS I, II Microsisteme de dimensiune medie P896 Futurebus Sisteme multiprocesor P996 PC bus Pentru calculatoare personale P1014 VME bus Sisteme microprocesor performante ( bazate pe familia Motorola 68000) P1196 Nubus Sisteme multiprocesor Unibus Minicalculatoare , PDP 11 SCSI Magistrala pentru periferice (disc, banda) 1394 FireWire Magistrala pentru periferice 7

STRUCTURA HARDWARE A UNUI CALCULATOR

Uzual, n cadrul unui sistem de calcul pot sa coexiste mai multe tipuri de standarde, deci de magistrale specializate pe transferul de date intre anumite tipuri de componente ale sistemului. Astfel se poate utiliza o magistrala de mare viteza pentru transferul intre procesor si memorie, o magistrala cu acces multiplu (multimaster) pentru concatenarea unor periferice de mare viteza (hard disc, interfata video, mulltimedia) si o magistrala de mica viteza pentru periferice lente (tastatur, mouse). In aplicatiile de control al proceselor se mai poate adauga si o magistrala de instrumentatie, dedicat pentru achiziia de date din proces. Pentru a satisface o gama larga de cerinte ale utilizatorilor s-au dezvoltat familii de magistrale, care cuprind mai multe variante ale unei magistrale de baza, fiind sunt compatibile intre ele intr-o oarecare masura (interfetele dezvoltate pentru aceste variante necesita modificari minore pentru compatibilizare) . In prezent exista mai multe astfel de familii de magistrale : - magistrale dezvoltate pentru calculatoarele DEC Unibus, Qbus si VAXBI - magistrale dezvoltata pentru procesoarele Intel MULTIBUS I, MULTIBUS II si extensii ale acestora - magistrale inspirate de structura seriei de procesoare Motorola magistralele VME - magistrale de instrumentatie - familia GPIB (dezvoltata de Hewlet Packard), IEEE 488 si Camac. In ultima perioada au aparut o serie de noi standarde de magistrala, care incearca sa tina pasul cu cerintele de comunicare ale noilor generatii de procesoare. S-au introdus noi principii de transfer (ex: transfer paralel prin tranzactii, prelucrare pipeline a cererilor de transfer etc), care contracareaza intr-o oarecare masura limitarile de viteza impuse de legile fizice de transmisie a semnalului electric. n general, o magistral performant trebuie s aib urmtoarele caracteristici: uurin n exploatare aa fel nct s nu mai fie nevoie de configurri i proceduri de setup; rapida pentru ca interfaa s nu produc o gtuire a comunicaiilor; siguran n exploatare astfel nct erorile s fie rare i s existe sisteme de corecie a erorilor aprute; flexibila si scalabila pentru conectarea unui numr ct mai mare de periferice; costuri sczute astfel nct utilizatorii (i productorii ce realizeaz interfeele pentru produsele lor) s nu vad n acesta un impediment; consum sczut de energie pentru a economisi energia in cazul calculatoarelor portabile; suport din partea sistemului de operare astfel nct proiectanii s nu fie nevoii s scrie drivere pentru perifericele lor. Structura magistralei O magistrala se compune dintr-un set de semnale si un set de reguli care guverneaza transferul de informatii si accesul la mediul de comunicatie. Informatiile transferate pot fi: date, comenzi (instructiuni) si informatii de control si sincronizare. Regulile se refera la: - caracteristicile fizice si electrice ale componentelor conectate pe magistrala (ex: nivele de tensiune, curenti, incarcare, tip conectori etc.); - secventa de generare a semnalelor necesare pentru efectuarea unui transfer; - timpi limita pentru diferitele faze ale unui transfer si timpi de mentinere a unor anumite semnale; 8

STRUCTURA HARDWARE A UNUI CALCULATOR

- interconditionarile functionale si temporale intre diferitele tipuri de semnale. Functie de numarul semnalelor utilizate pentru transferul de date, magistralele pot fi de doua tipuri: magistrale paralele si magistrale seriale. Magistralele seriale se utilizau rar ca mijloc de comunicatie intre componentele de baza ale unui calculator (unitate centrala, memorie, interfete de intrare/iesire) datorita vitezei de transfer relativ scazute. Se utilizeaza acum din ce n ce mai mult la conectarea perifericelor unui calculator i n anumite sisteme dedicate bazate pe microcontrolere, la care costul si dimensiunea redusa sunt parametri definitorii. In continuarea acestei sectiuni ne vom referi la magistralele paralele. In acceptiunea clasica, o magistrala se compune din urmatoarele tipuri de semnale: - semnale de date semnale bidirectionale utilizate pentru transferul de date si instructiuni; la un moment dat o singura unitate poate sa emita pe liniile de date; numarul de linii de date (ex: 8, 16, 32, 64, 128) determina dimensiunea maxima a cuvintului de date care poate fi transferat la un moment dat i implicit viteza medie de transfer a magistralei; - semnale de adresa utilizate pentru specificarea adresei modulului destinatie sau sursa; numarul de linii de adresa determina spatiul maxim de adresare permis de magistrala (ex.: 24 linii de adresa determina un spatiu de adresare de 224=16 Mlocatii); - semnale de comanda, control, intrerupere i arbitrare a accesului semnale de comanda utilizate pentru specificarea directiei de transfer (ex: dinspre procesor sau catre procesor) si a tipului de modul adresat (ex. modul de memorie, modul de intrare/iesire, modul de memorie program, controler de ntreruperi, etc.) semnale de control utilizate pentru reglarea conditiilor de transferare a datelor (ex: temporizarea deschiderii/inchiderii amplificatoarelor de magistrala) semnale de intrerupere permit semnalizarea unor evenimente interne sau externe si implicit determina intreruperea executiei programului curent semnale de ceas folosite pentru sincronizare si pentru generarea unor semnale de frecventa programabila semnale de arbitrare a accesului folosite pentru arbitrarea (controlul) accesului pe magistrala (in cazul magistralelor multimaster); - semnale de alimentare folosite pentru alimentarea modulelor sistemului Numarul si semnificatia particulara a semnalelor depinde de tipul si destinatia magistralei. Anumite grupe de semnale din cele prezentate pot sa lipseasca (de exemplu: semnale de control) sau altele noi pot fi adaugate (de exemplu: semnale de eroare). Magistralele pot fi clasificate dup mai multe criterii: a. modul de lucru (in raport cu semnalul de ceas): - magistrale sincrone la care ciclurile de transfer sunt direct corelate cu semnalul de ceas (vezi magistrala Pentium); viteza de transfer este mai mare, insa dimensiunea magistralei este limitata de frecventa ceasului; datorita vitezei limitate de propagare a semnalului electric, cresterea dimensiunii magistralei ar putea duce la diferente de faza la capetele magistralei; - magistrale asincrone - la care nu exista o legatura directa intre evolutia in timp a unui ciclu de transfer si ceasul sistemului; majoritatea magistralelor actuale lucreaza pe acest principiu (ex.: ISA, EISA, MULTIBUS, etc.). b. numarul de unitati master conectate pe magistrala: 9

STRUCTURA HARDWARE A UNUI CALCULATOR

magistrale unimaster exista un singur modul master pe magistrala; nu necesita mecanisme de arbitrare a magistralei (modul master care poate sa initieze un ciclu de transfer; modul slave care poate fi accesat in timpul unui ciclu de transfer); - magistrale multimaster permit conectarea mai multor unitati master pe acelasi tronson de magistrala; magistrala trebuie sa contina semnale de arbitrare si un protocol de transfer al controlului pe magistrala (ex: MULTIBUS). c. modul de realizare a transferului de date: - magistrale cu transfer prin cicluri (magistrale secventiale) regula de baza: ciclurile de transfer se desfasoara secvential, la un moment dat cel mult un ciclu de transfer este in curs de desfasurare; majoritatea magistralelor clasice folosesc acest principiu de transfer; - magistrale tranzactionale transferul de date se efectueaza prin tranzactii; o tranzactie este divizata in mai multe faze si mai multe tranzactii se pot desfasura simultan cu conditia ca tranzactiile sa fie in faze diferite; aceasta restrictie provine din faptul ca fiecare faza a unei tranzactii foloseste un subset din multimea semnalelor magistralei; teoretic, la aceste magistrale factorul de crestere a vitezei (in comparatie cu o magistrala clasica) este egal cu numarul de faze in care se divide o tranzactie (ex: magistrala procesorului Pentium). d. lungimea cuvntului transferat la un moment dat: - magistrale seriale cuvntul are un bit; - magistrale paralele cuvntul are o lungime mai mare de un bit. Practic, o magistral este o cale de comunicare ntre dou sau mai multe componente ale unui PC, prin care se realizeaz transferul de date, adrese i comenzi. Din punct de vedere al vitezei de transfer, magistralele PC-urilor includ dou categorii (figura 1.7): - magistrale de mare vitez care conecteaz microprocesorul cu memoria cache extern i memoria RAM, numite i magistrale locale ale PC-ului; - magistrale cu vitez redus care conecteaz ansamblul microprocesor, memorie intern, cu dispozitivele periferice de intrare/ieire prin adaptoare incorporate n placa de baz sau prin intermediul conectorilor de extindere.

-

Figura.1.7. Magistralele PC-ului 10

STRUCTURA HARDWARE A UNUI CALCULATOR

Suportul fizic al magistralei poate fi divers: - traseele de cupru de pe placa de baz i conectori; - cabluri (panglici) cu fire; - fibra optic etc.

Magistrale locale de mare vitezMagistralele locale de mare vitez includ magistrala microprocesorului, magistrala de memorie RAM i magistrala de adrese. Magistrala procesorului Magistrala procesorului (figura 1.8) este calea de comunicare dintre CPU i cele mai apropiate componente de controlerul magistralei (controlerul magistralei se materializeaz printr-un set de cip-uri, motiv pentru care se regsete n tehnica de calcul sub denumirea chipset); magistrala este utilizat pentru a realiza transferul datelor ntre CPU i magistrala principal a PC-ului sau ntre CPU i memoria cache de pe placa de baz (memoria cache extern microprocesorului). Memoria cache externa poate avea o mrime cuprinsa intre 64 KB i 1 MB.

Figura 1.8. Magistrala microprocesorului Majoritatea PC-urilor au cache-uri externe pentru CPU, fiind astfel implementate n toate sistemele Pentium (MMX, Pro, II, III i IV). Deoarece scopul magistralei procesorului este de a transfera informaii de la i ctre CPU cu mare vitez, aceast magistral opereaz la o vitez mult mai mare dect orice alt magistral a sistemului. Magistrala este format din circuite electrice care transfer date, adrese i realizeaz funcii de control, n sistemul de baz al unui Pentium, magistrala procesorului are 64 de linii de date, 32 de linii de adres i linii de control; Pentium Pro, Pentium II, III i IV au 36 de linii de adres, celelalte linii fiind ca la Pentium. Magistrala procesorului opereaz la aceeai frecven cu care CPU-ul opereaz extern - o frecven mai mic dect frecvena intern de lucru. De exemplu, un Pentium ce lucreaz intern la 2000 MHz opereaz extern Ia 666 MHz. La multe PC-uri, frecvena intern este exprimat ca un multiplu (1,5 x, 2,5 x, 3 x, ...; uneori setabil prin jumperi) al frecvenei magistralei procesorului. Magistrala procesorului este conectat la procesor prin intermediul pinilor introdui n soclu i poate transfera un bit pe o linie de date n unul sau dou cicluri de ceas. Pentru a determina rata de transfer a magistralei procesorului, se va multipli11

STRUCTURA HARDWARE A UNUI CALCULATOR

ca limea magistralei (64 de bii pentru Pentium), cu frecvena magistralei. Astfel, la microprocesoare Pentium, a cror plac de baz ruleaz la o frecven de 666 MHz i transfer un bit la fiecare ciclu de ceas pe fiecare linie de date, exist o rat maxim de transfer de 5328 Mbytes/sec (sau MB/sec sau MBps): - 666 [MHz] x 64 [bii] = 42.624 [Mbii/sec] - 42.624 [Mbii/sec] / 8 [bii] = 5328 [Mbytes/sec] Rata maxim de transfer (numit si lime de band a magistralei) nu reprezint limea de band cu care se opereaz n mod obinuit, existnd o serie de factori (proiectarea chipset-urilor, a memoriei .a.) care o influeneaz n sensul ncetinirii. Microcodul, setul de instruciuni pentru CPU, include doua standarde de microcoduri: setul de instruciuni complexe (complex instruction set computing - CISC) si setul de instruciuni reduse (reduced instruction set computing - RISC) CISC se folosesc de un procesor astfel proiectat nct la fiecare instruciune s execute cteva operaii de nivel sczut (precum accesarea memoriei, operaii aritmetice i calcularea adreselor) RISC se folosesc de un procesor astfel proiectat nct s execute mai repede un set de instruciuni simple dect una mai complex Alegerea procesorului se face cu foarte mult grij deoarece performana celorlalte componentelor depinde de caracteristicile acestuia. Pe pia, de obicei, exist dou categorii de procesoare: unele scumpe i performante i altele ieftine, dar nu att de performante. De asemenea, se poate opta pentru un sistem dual processor pe a cror plac de baz se pot monta dou procesoare de acelai tip sau de tipuri diferite, dar care s fie compatibile. Acest lucru mrete puterea de procesare n comparaie cu unul obinuit i de aceea performanele unui asemenea sistem sunt foarte bune. n general, un procesor INTEL, n comparaie cu unul AMD, este mult mai stabil i mai rapid la o aceeai frecven de lucru, datorit i memoriei cache mai mare la cele INTEL. Pentru a nltura acest inconvenient AMD a ieit pe pia cu mai multe tipuri de procesoare AMD Athlon XP, mai scumpe dect cele existente, dar mai ieftine dect unul INTEL (i de performan apropiat). Nici compania competitoare nu se las mai prejos i scoate pe pia procesoare tot mai performante, care pot lucra la frecvene din ce n ce mai mari, ajungnd la peste 3 GHz. Mai nou corporaia AMD culmineaz cu noua platform de procesoare AMD64 pentru a oferi procesare de nalt nivel, terminnd cu AMD Athlon FX . Cu toate c un INTEL este mai bun, datorit raportul calitate/pre n favoarea AMD-ului, acest tip de procesor se caut mult pe piaa calculatoarelor. 12

STRUCTURA HARDWARE A UNUI CALCULATOR

Magistrala de memorie Magistrala de memorie este folosit pentru a transfera informaii ntre CPU i memoria RAM; ea poate fi o parte a magistralei procesorului, sau implementat separat ntr-un controler responsabil cu transferul informaiilor dintre magistrala procesorului i magistrala de memorie. Sisteme ce lucreaz la o frecven a plcii de baz mai mare de 16 MHz, cicleaz la rate ce depesc posibilitile cip-urilor de DRAM; deoarece toate sistemele actuale includ plci de baz care lucreaz la o frecven de peste 16 MHz exist un controler special pentru memorie, ce va controla interfaa dintre magistrala mai rapid a procesorului i magistrala memoriei principale. Setul de cipuri este acelai i pentru controlerul magistralei de I/O (figura 1.9).

Figura 1.9. Magistrala de memorie Informaiile ce se transmit prin magistrala de memorie sunt transferate la o vitez mai mic dect informaiile transferate prin magistrala procesorului. Cip-urile pentru memorie sau formatele fizice SIMM/DIMM (Single Inline Memory Modules / Dual Inline Memory Modules) sunt conectate la magistrala de memorie cam n acelai mod n care sunt conectate la magistrala de I/O prin conectori specifici perifericelor. Este de remarcat faptul c magistrala memoriei RAM este ntotdeauna de aceeai lime cu magistrala procesorului, ceea ce nseamn c ntr-un sistem pe 64 de bii cum sunt microprocesoarele Pentium, magistrala de memorie va avea 64 de bii. Aceasta definete mrimea unui banc de memorie. Pentium are 64 de bii i necesit dou formate SIMM de 72 de pini (32 bii fiecare). Unele sisteme, utilizeaz formatul DIMM de 168 de pini (64 bii fiecare). Pe piaa se gsesc mai multe tipuri de memorii. Se mai folosesc memorii de tip SDRAM.

13

STRUCTURA HARDWARE A UNUI CALCULATOR

Sunt ns prea lente pentru noile tipuri de calculatoare i de aceea sunt preferate cele de tip DDR pentru acces mult mai rapid la date stocate n aceast unitate.

Dac memoriile de tip SDRAM ajungeau s funcioneze la o frecven de 133 MHz n schimb cele de tip DDR sunt mult mai performante. Pentru c nici la acest capitol treburile nu sunt ncheiate, noile tehnologii vin cu memoriile de tip RDRAM i memorii RAMBUS folosite n cteva sisteme INTEL.

Modulele sunt numite memorii RIMM i, ca i cele DDR DIMM, au acelai numr de pini - 184, dar sunt incompatibile la conectare n acelai tip de soket. RAMBUS a fost inventat pentru a reduce numrul de trasee pe placa de baz care s se ocupe cu slotul de memorie; n timp ce SDRAM i DDR folosete magistrale de 64 de bii de date, interfaa RDRAM este de doar 16 bii de date i lucreaz la aceeai vitez, poate chiar la una mai mare. Pentru laptop-uri i notebook-uri se utilizeaz: - SODIMM - memorii de tip DDR pentru laptop-urile din zilele noastre; sunt conectate n sloturi prevzute cu 200 de pini.

- DIMM-uri micro de 144 de pini folosite n calculatoare de tip notebook.

- SODIMM de 144 de pini folosite la laptop-uri.

. 14

STRUCTURA HARDWARE A UNUI CALCULATOR

Magistrala de adrese Magistrala de adrese este actualmente inclus n magistrala de memorie i cea a procesorului; astfel, sistemul de magistrale al unui Pentium const n 64 de linii de date, 32 de linii de adres (36 la Pentium Pro, Pentium II, III i IV) i cteva linii de control. Liniile de adres formeaz magistrala de adrese, fiind considerat parte a procesorului i a magistralei de memorie. Magistrala de adrese este folosit pentru a indica ce adres de memorie sau ce componenta adresabil de pe magistrala sistemului s fie folosit ntr-o operaie de transfer de date. Latimea magistralei de adrese indic spaiul de memorie pe care CPU l poate adresa.

1.2.1. MAGISTRALE DE INTRARE/IESIREMagistrala de I/O prin conectorii de extindere de pe placa de baz fac posibil comunicarea dintre microprocesor i periferice, respectiv adugarea de noi componente la PC, cu scopul extinderii posibilitilor de lucru. Se pot conecta componente cum sunt placa de sunet, placa video, interfaa pentru plcile de reea, adaptoarele gazd SCSI, modem-uri etc. Majoritatea PC-urilor au cel puin un controler IDE (primar i secundar), un floppy controler, dou porturi seriale, un port paralel i dou porturi USB implementate direct pe placa de baz; la ele se pot aduga un port de mouse, un adaptor video, un adaptor gazd SCSI sau o interfa pentru reea. Dac sunt integrate tot n placa de baz nu ar mai fi necesare conectori pentru extensie, magistrala de I/O fiind utilizat doar pentru comunicarea cu CPU. Indiferent dac sunt integrate pe placa de baz sau sunt instalate n conectori de extensie, controlerele au un comportament identic. Tipurile actuale de magistrale folosesc o tehnologie numit bus mastering, ce const dintr-un adaptor cu procesor propriu ce execut operaii independent de CPU; n vederea mririi vitezei de lucru. Tehnologia se bazeaz pe un arbitru de magistral constituit dintr-un cip ISP (Integrated System Peripheral) avnd rolul de a prelua temporar controlul total asupra sistemului, mrind astfel viteza de execuie a operaiilor I/O. ISP-ul determin care dispozitiv ctig controlul folosind un protocol cu patru niveluri de prioritate: - sistemul de remprosptare a memoriei; - transferuri DMA; - CPU-ul; - bus master. O plac de adaptare bus-mastering anun ISP-ul cnd solicit controlul sistemului; ea va primi controlul dup ce au fost ndeplinite prioritile. Diferitele tipuri de magistrale de I/O pot fi identificate dup arhitectura lor. Principalele arhitecturi de magistrale de I/O care au fost dezvoltate in timp sunt: - ISA(Industry Standard Architecture); - MCA (Micro Channel Architecture); - EISA (Extended ISA); - VESA (Vendors Electronics Standards Association) magistral local (magistral VL); - PCI (Peripheral Component Interconnect) magistral local; - PC card (sau PCMCIA - Personal Computer Memory Card Industry Association); - AGP (Accelerated Graphics Port) - interfa mai curnd dect magistral video; 15

STRUCTURA HARDWARE A UNUI CALCULATOR

-

SCSI (Small Computer System Interface); Fire Wire (IEEE-l 394); USB (Universal Serial Bus] SAS (Serial attached SCSI) SSA (Serial Storage Architecture); FC (Fibre Channel) Ethernet etc.

Diferenele dintre magistrale constau, n principal, n cantitatea de date care o pot transfera la un moment dat i viteza la care o pot face. Fiecare arhitectur de magistral este implementat printr-un set de cipuri (chip-set) conectate la magistrala procesorului i magistrala de memorie. Magistralele de intrare/ieire ISA, MCA i EISA au avut o vitez relativ mic. Pe msur ce viteza magistralei CPU cretea, magistralei de intrare/ieire i erau aduse doar mbuntiri simbolice, n principal prin lrgirea bus-ului (vezi tabelul 1.2 de mai jos).Magistral (bus) ISA Micro channel PCI Ceas 8 MHz 10 MHz 33 MHz Laime Bus 16-bii 32-bii 64- bii Rat de transfer max AvantajeCost redus,

DezavantajeVitez redus, jumperi i comutatoare DIP, va fi scoas din uz Scoas din uz Incompatibil cu sistemele vechi, cost puin mai mult Vitez mai redus dect PCI, necesit adaptor pentru utilizare cu PC, Incompatibil cu sistemele vechi Vitez redus, necesit un driver special pentru PC desktop Mai lent dect PCI sau Firewire, incompatibil cu periferice vechi

8 MB/sec compatibila, rar (64 Mbits/sec) utilizat 40 MB/sec (240 Mb/sec) 264 MB/sec (1 Gb/sec)Mai rapid dect ISA Foarte rapid, Plug & Play, domin piaa Proiectat pentru uz industrial, hot swapping/Plug & Play, ideal pentru sisteme embedded Ideal pentru laptopuri, hot swappable, Plug & Play Cost redus, Ideal pentru laptop-uri, hot swapping/plug & play, pn la 127 uniti / port Toate avantajele USB plus vitez mult mai mare, posibil de conectat periferice audio - video Permite lucrul n reea, dispune de procedur de control al erorilor conform standardului serial de comunicaie

CompactPCI

33 MHz

64- bii

132 MB/sec (1 Gb/sec)

PCMCIA

10 MHz

16- bii

20 MB/sec (160 Mb/sec)

USB 1.1

-

serial

1.5 MB/sec (12 Mb/sec)

USB 2.0

-

serial

60 MB/sec (480 Mb/sec)

incompatibil cu periferice vechi, vitez comparabil cu PCI Cele mai multe periferice nu pot fi conectate diect la ethernet, necesit adaptor, comunicaie prin nivel de current cu vitez redus, controvers privind securitatea datelor

Ethernet 10 Base T

-

serial

1.25 MB/sec (10 Mb/sec)

16

STRUCTURA HARDWARE A UNUI CALCULATOR

Ethernet 100 Base T (Fast Ethernet)

-

serial

12.5 MB/sec (100 Mb/sec)

Toate avantajele 10BaseT plus vitez mult mai mare, compatibil cu 10BaseT

Cele mai multe periferice nu pot fi conectate direct la Ethernet, necesit adaptor, probleme privind securitatea datelor

O soluie de arhitectur a reprezentat-o mutarea unor periferice ntr-o zona unde pot fi accesate la viteza ridicat a magistralei CPU - ntr-un mod asemntor cu cache-ului extern (figura 1.9). Modul de dispunere se numete magistral local deoarece dispozitivele periferice pot accesa acum magistrala care era local ntre CPU i cache-ul extern. Sloturile (conectorii) magistralei locale sunt diferite de sloturile magistralei existente, pentru a evita conectarea adaptoarelor proiectate pentru magistrale lente, n locul celor rapide.

Figura 1.9. Magistral local Primele magistrale ISA de 8 bii i 16 bii au avut o arhitectur de magistral local; sistemele aveau magistrala CPU asemntoare cu magistrala principal i viteza tuturor componentelor era cea a procesorului. Deoarece magistrala ISA funciona la frecvene nu mai mari de 8 MHz, aceasta a trebuit s fie decuplat de la magistrala CPU deoarece plcile de extensie, memoria i alte componente deveneau mult mai rapide. Pntru a ine pasul, o extensie a magistralei ISA (numit Magistrala Local VESA) i-a fcut apariia n 1992 in PC-uri, promind o rentoarcere la arhitectura de magistral local. mbuntirile aduse magistralelor locale nu au nlocuit vechile standarde (precum ISA); au fost proiectate doar ca o extensie a acestora. Prin urmare, un sistem poatea avea la baz un ISA sau EISA i mai multe sloturi de magistrale locale, cum ar fi AGP; ele erau eficiente pentru cei ce utilizau Windows i OS/2, deoarece sunt folosite n special la plcile de accelerare video pe 32 (64) bii. Magistrala PCI (Peripheral Component Interconnect) aprut n iunie 1992 i variantele mbuntite ale sale, a reproiectat magistral tradiionala a PC-ului, insernd o alt magistral ntre CPU i magistrala de I/O prin intermediul punilor (bridge), aa cum reiese din figura 1.10 (controler punte de nord, controler punte sud etc.). 17

STRUCTURA HARDWARE A UNUI CALCULATOR

Sistemele ce includ magistrala PCI au crescut in viteza. Un argument pentru acest transfer mai rapid este faptul c magistrala PCI poate opera concurent cu magistrala microprocesorului; astfel, CPU poate prelucra date ntr-un cache extern n timp ce magistrala PCI transfer informaii ntre alte componente ale sistemului. Informaiile au fost transmise prin magistrala PCI originala la o frecven de 33 MHz, utiliznd limea maxim a magistralei de date a CPU. Daca magistrala de date a CPU era 32 de bii se asigura o rat de transfer de 132 MB/s: 33 MHz x 32 bii = l ,056 Mbii/sec, deci 1,056 Mbii/sec : 8 = 132 Mbytes/sec. Pentru magistrala pe 64 de bii, limea de band se dubla, aceasta nsemnnd c se pot transfera date la o rat de transfer de 264 MB/sec. Viteza real de transfer a datelor este mai mic.

Figura 1.10. Locul magistralei PCI 18

STRUCTURA HARDWARE A UNUI CALCULATOR

Transferurile pe magistrala PCI a calculatoarelor performante au crescut, la acest trafic contribuind adaptorul video, hard discul fix si alte periferice care sunt conectate la magistrala PCI. Pentru a se evita limitarea comunicatiei prin magistrala PCI, in general din cauza informatiilor video, Intel a creat o noua interfata - AGP (Accelerated Graphics Port), proiectata special pentru subsistemul video (figura 1.11).

Figura 1.11. Arhitecturi de calculator cu AGP Pe lnga dublarea vitezei magistralei, AGP a definit iniial un mod 2X care utilizeaza un protocol special pentru dublarea vitezei de transfer la aceeasi frecventa de ceas (prin transferuri pe ambele fronturi). AGP a pus la dispozitia controlerului grafic doua moduri pentru accesul direct la texturile din memoria sistem: modul pipeline si adresarea secundara (sideband addressing). n cazul modului pipeline, AGP suprapune timpii de acces ai memoriei si ai magistralei pentru o cerere n cu generarea cererilor urmatoare (n+1, n+2 etc). n cazul magistralei PCI, cererea n+1 nu ncepe pna cnd nu se termina transferul de date al cererii n. Desi att AGP, ct si PCI permit transferuri n mod burst (pachete de date transferate n mod continuu ca raspuns la o singura cerere), asemenea transferuri nu schimba natura de tip non-pipeline a magistralei PCI. n cazul adresarii secundare, AGP utiliza 8 linii suplimentare de adrese care permiteau controlerului grafic sa transmita noi adrese si cereri simultan cu transferurile de date pe liniile principale de adrese/date ca urmare a cererilor anterioare. Small Computer System Interface (SCSI), pronunat scuzzy (scazi), este o magistral de date independent care funcioneaz far intervenia direct a procesorului calculatorului. Structura sa de comand este mai complex dect tipurile precedente, permind operaii multiple de citire i scriere n acelai timp. Aceasta o face ideal pentru sistemele de operare multitasking, cum ar fi Windows **. SCSI ofer ctig clar de performan atunci cnd este folosit n servere i n sisteme de operare multitasking avansate, dar opereaz la aproximativ aceleai viteze ca alte tipuri de drivere n sistemele de operare cu un singur utilizator, cum este MS-DOS. SCSI a fost dezvoltat ca urmare a efortului n comun ntre Shugart Associates, NCR i ANSI. Standardul ANSI SCSI-1 a aprut n 1986 i definete comenzile, modurile de transfer, caracteristicile semnalului i lungimile de cablu agreate. Acest standard a suportat iniial o magistral paralel de 8 bii care opera la 5 Mb/sec. Dispozitivele externe folosesc un singur cablu, dar cele interne pot folosi acelai cablu cu conectori 19

STRUCTURA HARDWARE A UNUI CALCULATOR

multipli. SCSI-2 a aprut n 1990 pentru rezolvarea problemelor de compatibilitate i performan. Au fost oferite trei versiuni de interfa SCSI-2: Fast SCSI, Wide SCSI i Fast/Wide SCSI. Fast SCSI are un conector cu 50 pini si transfer cte 8 bii odat, adic o viteza de 10Mb/sec. Wide SCSI transfer 16 bii de date la 20 Mb/sec. Conectorul are 68 pini i interfaa suport pn la 16 dispozitive. Fast/Wide SCSI combin partile bune ale variantelor Fast si Wide SCSI obtinandu-se un transfer pe 16 bii date la viteze de 20 Mb/sec. Conectorul Fast/Wide are tot 68 pini. Ultra SCSI cu varianta Wide a crescut viteza de transfer la sute de Mb/sec (SCSI 2) sau peste 1Gb/sec (SCSI 3) Toate magistralele SCSI de date cer terminaii electrice. Figura 1.12 ilustreaz terminarea pe magistrala a dispozitivelor SCSI.

Figura 1.12. Terminaii SCSI SCSI suport urmtoarele trei metode de terminare: Terminarea pasiv este cea mai veche, mai simpl i mai puin de ncredere metod. O matrice de rezistoare la fiecare capt al cablului ofer terminaia dorit. Rezistena adiional din partea firului cablului sau a contactelor conectoarelor poate schimba rezistena total a terminaiei, suficient pentru a cauza probleme cnd se folosesc viteze mai mari pe magistral. Terminaia activ adaug componente electronice reglri pentru a terminare optima de impedanta. Terminaia perfect forat (Forced Perfect Termination FPT) adauga controlul pentru a menine terminarea eficient tot timpul, eliminand totodat reflexiile de semnal pe magistrala SCSI. Magistrala SCSI trimite date electrice n urmtoarele dou moduri: SCSI cu un singur fir (Single-ended SCSI) reprezint cea mai comun metod; se trimite semnalul de date printr-un fir al panglicii, ntoarcerea semnalului fcndu-se prin firul de masa. Datorit faptului c panglica nu are imunitate pentru EMI, pot apare erori ale datelor. 20

STRUCTURA HARDWARE A UNUI CALCULATOR

SCSI diferenial (Differential SCSI) trimite semnalul de date prin dou fire printr-un semnal cu polariti opuse pe fire. SCSI diferenial suport lungimi de cablu mult mai mari dect tipul precedent.

O comparatie a celor dou tipuri de interfee electrice, utilizate de majoritatea standardelor este facut n continuare. Transmisiile pe un singur fir (figura 1.13.a) se realizeaz pe o linie de semnal, starea electric fiind interpretata in raport cu masa. Pentru interfete simple cu viteze reduse, o linie comuna de masa este suficienta, dar pentru interfete mai rapide se recomand cte o cale de intoarcere pentru fiecare linie de semnal (utilizand o pereche de fire rasucite).

Figura 1.13.a. Interfa electric pe un fir Avantajele transmisiei pe un fir sunt simplitatea si costul scazut de implementare. Un sistem pe un fir foloseste numai o singura linie pentru semnal. Din acest motiv sunt ideale pentru cablaje si cand pretul conectorilor este mult mai important decat rata de transfer a datelor. Pentru distante mai mari si medii cu zgomote, izolarea si liniile de masa aditionale sunt esentiale. Perechile de cabluri rasucite sunt recomandate pentru linii cu lungime mai mare de 1 metru. Pe langa sursele de zgomot ce apar prin cuplaje inductive-capacitive sau prin cuplaj in camp electromagnetic, reflexia liniilor trebuie luata in considerare de asemenea. Cu cat este mai mare viteza de transfer, cu atat creste si riscul ca semnalul primit sa nu fie corect, fiind necesare masuri suplimentare de refacere, codare in linie etc. Pentru transmisia diferentiala de date este necesara o pereche de linii de semnal (figura 1.13.b), pentru fiecare canal de date. Pe o linie este transmis semnalul, pe cea de-a doua este transmis semnalul negat. Receptorul detecteaza diferenta de potential dintre intrari. Perechea de cabluri rasucite utilizat in aceste interfete, combinat cu o terminatie corecta, duce la evitarea refleciilor pe linie, permitand rate de date foarte mari (peste Gbs).

Figura 1.13.b. Interfa electric diferenial 21

STRUCTURA HARDWARE A UNUI CALCULATOR

Transmisia de date diferentiala este mai putin susceptibila la zgomote deoarece acestea apar ca semnale de mod comun ce por fi rejectate de receptor. n plus torsadarea firelor reduce cuplajul n cmp electromagnetic si radiatia de zgomot electro-magnetic (EMI). Dejavantajul principal l reprezint inca costul, desi tehnologia CMOS a permis implementari eficiente (de exemplu, LinBiCMOS). Magistrala PCI Express Magistrala PCI Express (PCIe) reprezinta o magistrala seriala de viteza (aparuta in 2004), avand un standard propriu ce include specificatia electrica, arhitectura si protocolul de comunicatie pentru : - stratul fizic (physical layer) la o conectare seriala punct punct (point to point serial interface) pe fire de cupru sau fibra optica ; corespunde nivelul 1 in modelul protocolului OSI. - Nivelul tranzactie (transaction layer); tranzactii asemanatoarea celor de pe USB. - Nivelul legatura de date (data link layer) ; corespunde nivelul 2 in modelul protocolului OSI. PCI Express nu este compatibila electric si mecanic (conector) cu PCI cu magistrala paralela de date. Transferul serial se face diferential pe perechi de fire (full-duplex, la 2.5 Gbps pe fiecare pereche; pe o pereche se transmite, iar pe alta se receptioneaza) utilizand nivele reduse de tensiune, conform specificatiei electrice LVDS (low-voltage differential vezi figura 14.a).

Figura 14.a. Pereche de comunicatie LVDS PCI Express utilizeaza codarea 8B/10B in ideia egalizarii numarului de biti 1 si 0 transmisi. LVDS este o magistrala flexibila (scalabila), cu una sau mai multe perechi de comunicatia. PCI Express supporta mai multe perechi LVDS (pana la 32, unde viteza de transfer pe o pereche LDVS ajunge la 32x [2.5Gbps]=80Gbps=10Gbps). Codarea reduce viteza la 250MBps per pereche, iar antetetele suplimentare reduc debitul de date (troughput) si mai mult (vezi figura 14.b, unde se arata si pe ce nivel se ataseaza fiecare camp; antet tip: cadru frame, numar secventa SEQ, antetul datelor si campul de verificare al datelor - CRC).

Figura 14.b. Cadru PCIe Cadrul PCIe este deci format din: 1 octet start cadru (Start-of-Frame), 2 octeti SEQ (Sequence Number), 16 sau 20 octeti antet date (Header), 0 pana la 4096 octeti campul de date utile (Data), 0 pana la 4 octeti ECRC (End-to-end Cyclic Redundancy Check) sau 4 22

STRUCTURA HARDWARE A UNUI CALCULATOR

octeti LCRC (Local Cyclic Redundancy Check) si 1 octet sfarsit de cadru (End of Frame). In cazul unui camp de date maxim (4096 octeti), adaugand octetii suplimentari (28 octeti) se obtine un total de 4124 octeti transmisi per cadru. Fire Wire IEEE (Institute of Electrical and Electronic Engineers) i-a propus redefinirea mediului i metodei transferurilor seriale pentru creterea ratei de transfer a interfeei prin care sunt cuplate dispozitivele periferice la PC; n acest scop au elaborat standardul IEEE-1394 pentru nlocuirea att a porturilor seriale ct i a porturilor paralele, a porturilor SCSI i chiar a adaptoarelor video. Standardul IEEE-1394 a utilizat o nou tehnologie de magistral numit Fire Wire, foarte rapid, ce poate atinge o rat de transfer de 100 Mb/s, 200 Mb/s i 400 Mb/s, rate solicitate n special de dispozitivele multimedia audio i video. La un adaptor IEEE-1394 pot fi cuplate n cascad un numr de 63 de dispozitive periferice; conectarea la placa de baz se poate realiza fie printr-o interfa dedicat IEEE-1394, fie printr-un adaptor PCI. Tehnologia elaborat se bazeaz pe o combinaie dintre tehnologia serial a portului RS-232C, cu facilitile protocoalelor SCSI, cu viteza magistralei locale i cu facilitatea racordrii plcilor MIDI. Majoritatea plcilor PC oferite de Adaptec, FAST Multimedia, Matrox i altele, includ n prezent editarea i captarea video digital; conexiunile IEEE-1394 sunt nc o raritate pe plcile de baz prezente (Adaptec i Texas Instruments ofer plci adaptoare cu suporturi IEEE-1394). USB (Universal Serial Bus) asigur o rat de transfer de 1,5 Mb/s, 12 Mb/s, respectiv 480 Mb/s, i posibilitatea conectrii a pn la 127 de dispozitive periferice printr-un singur cablu. Introdus n 1996, USB furnizeaz mecanismul de baz pentru conectarea majoritii dispozitivelor periferice, introducnd o tehnologie proprie i o terminologie adecvat. USB divide componentele seriale n dou clase numite hub (centru) i funcii (figura 1.15): centrele (hub-urile) furnizeaz suportul prin care se pot cupla funciile; funcia este reprezentat de orice dispozitiv care poate fi cuplat la PC, incluznd tastaturi, mouse-uri, modemuri, plotter-e, scannere, imprimante i altele. USB acioneaz ca o magistral ce permite o conectare la PC a diferite dispozitive (periferice), partajnd toate dispozitivele cuplate prin aceleai semnale. Informaiile ce se transfer pe magistral sub form de pachete pot fi recepionate de toate funciile; pentru accesul unei anumite funcii PC-ul va aduga adresa corespunztoare la pachetul emis, astfel c pachetul va fi recepionat numai de funcia care are adresa specificat.

Figura 1.15. Arhitectura USB

23

STRUCTURA HARDWARE A UNUI CALCULATOR

Suportul fizic al USB este un port USB din PC sau un conector ce aparine unui hub (centru); fiecare port conecteaz un singur dispozitiv, n timp ce hub-ul include mai muli conectori pentru cuplarea mai multor dispozitive. n acest context, PC-ul acioneaz asemntor unui hub de baz, numindu-se gazd (host); circuitul din PC care controleaz acest centru de baz i sistemul USB se numete controlerul de magistral (fiecare USB include un singur controler). Pentru a putea s lucreze, hardware-ul USB necesit un protocol USB ce constituie partea cea mai complex a proiectrii USB; acesta limiteaz numrul funciilor cuplate la magistral la 127, datorit celor apte bii care constituie adresa fiecrei funcii (27 = 128), una fiind rezervat. Lungimea maxim a cablului USB poate fi de cinci metri. Pe de alt parte, USB solicit un suport software specific; orice unitate cu un conector USB are integrat software-ul din construcie. La rndul su, sistemul de operare trebuie s dispun de driverele corespunztoare fiecrei funcii instalate, drivere care creeaz comenzile sau pachetele de date pentru fiecare dispozitiv; de asemenea, va conine un driver USB care furnizeaz o serie de servicii. CPU furnizeaz canalul (pipe) pentru dirijarea datelor ctre diferitele funcii. Aa cum s-a menionat anterior, transferul de date pe magistrala USB se realizeaz n pachete:Cmp de sincronizare 8 bii Identificator al pachetului 8 bii Date 0-1032 bytes Control erori 16 bii

Structura generic a pachetului de date Dispozitivele USB sunt nc destul de rare, dei majoritatea plcilor de baz includ cel puin doi conectori USB pentru implementare. Asupra standardelor actuale se va reveni ntr-un capitol separat. 1.2.2. ARHITECTURA USB / IEEE 1394 USB i 1394 au aprut ca rezultat al dificultilor asociate cu costul, configurarea i conectarea dispozitivelor periferice n mediul calculatoarelor personale. Pe scurt, aceste standarde creeaz o metod de conectare i accesare a dispozitivelor periferice ce reduce costul total, simplific procedura de conectare i de configurare a dispozitivului din punctul de vedere al utilizatorului i rezolv cteva probleme tehnice legate de vechiul tip de periferice. Figura de mai jos ilustreaz paradigma dispozitivelor I/O ale unui PC: repartizarea spaiului de adrese al dispozitivelor I/O folosit n domeniul PC; dispozitivelor I/O ale unui PC sunt mapate n spaiul de adrese al procesorului i au alocat o linie IRQ (de ntrerupere) i n unele cazuri un canal DMA. Aceste resurse de sistem au fost asignate la periferice specifice de ctre IBM sau ali productori i au devenit locaii I/O standard, ntreruperi i canale DMA folosite de productorii de software pentru accesarea acelor dispozitive. Se observ c odat cu dispariia resurselor de sistem crete i complexitatea configuraiei dispozitivelor. Alt limitare a arhitecturii PC este numrul redus de dispozitive periferice ce poate fi conectat prin intermediul conectorilor standard. De exemplu, conectorii de comunicaie serial i paralel standard suport doar un singur dispozitiv conectat, limitnd astfel numrul de periferice ce pot fi conectate uor i ieftin. Problema critic a resurselor sistemului graviteaz n jurul alocrii ntreruperilor cerute de nenumratele dispozitive ce sunt implementate n PC. Acest lucru este adevrat n special pentru perifericele ce se conectau prin intermediul magistralei ISA deoarece acest tip de magistral nu suport ntreruperi distribuite. n figura de mai jos se prezint 24

STRUCTURA HARDWARE A UNUI CALCULATOR

liniile de ntrerupere i dispozitivele care folosesc de obicei aceste ntreruperi. Dup cum se observ, multe din liniile de ntrerupere sunt dedicate unor dispozitive crora le-au fost alocate ntreruperile de la nceputul proiectrii arhitecturii PC-ului. Altele ns pot fi utilizate de o diversitate de dispozitive periferice. n sistemele cu magistral PCI, dar care au nc i magistral ISA, insuficiena numrului de ntreruperi poate deveni o problem critic deoarece mai multe ntreruperi trebuie lsate libere pentru dispozitivele conectate pe ISA.Spatiu Adrese Dispozitive I/OGame Port (joystick) Port paralel (imprimanta)IRQ8 IRQ9 (IRQ2) IRQ10 IRQ11 IRQ12 IRQ13 IRQ14 IRQ15

Slave 8259A PIC

Placa audio Aplicatii / Sistem de operare Port Serial 1 (plotter)

IRQ0 IRQ1

Port Serial 2 (modem)IRQ3 IRQ4 IRQ5 IRQ6 IRQ7

Tastatura/Mouse

Master 8259A PIC

Intrerupere la CPU

Resursele de sistem utilizate de dispozitivele perifericeConflictele de adrese I/O erau foarte ntlnite n PC-uri i rmn n continuare o problem nerezolvat chiar dac au aprut dispozitivele PnP. Se tie c dispozitivele periferice necesit de obicei un bloc de adrese I/O pentru a putea comunica. n timp ce procesoarele x86 au posibilitatea de a accesa 64kB de locaii I/O (mai mult dect suficient pentru dispozitivele periferice), dispozitivele ISA pot decoda doar 10 din cele 16 linii disponibile. Interfeele standard ale perifericelor PC-urilor (conexiunile seriale i paralele) suport conectarea unui singur dispozitiv la un moment dat, micornd astfel foarte mult flexibilitatea i scalabilitatea acestora. Acest lucru conduce la costuri suplimentare pentru achiziionarea de dispozitive de extensie ce vor fi introduse n sloturile prezente pe placa de baz (ISA sau PCI) pentru a crea posibilitatea conectrii unor noi dispozitive periferice. Utilizatorul se confrunt cu o varietate de probleme atunci cnd dorete conectarea perifericelor la PC-ul su prin porturile motenite (serial, paralel etc.). Printre acestea se numr: Numrul mare al conectorilor i al cablurilor (vezi figura urmtoare); n general, sistemul trebuie oprit pentru conectarea perifericelor; Sistemul trebuie restartat dup instalarea software-ului; Costul ridicat al manoperei aferente instalrii.

25

STRUCTURA HARDWARE A UNUI CALCULATOR

Amalgamul de cabluri Cablurile dedicate sunt necesare pentru mouse, tastatur, imprimant, modem extern, Zip drive, plotter etc. Pentru a nu le confunda i a conecta greit aceste cabluri (i conectorii afereni) sunt total diferite. Larga varietate de cabluri i conectori diferii necesari pentru conectarea unor periferice specifice este suprtoare i produce uneori confuzie. Figura de mai sus ilustreaz tranziia privind partea spate a unui calculator din urmtorii ani. Instalarea i configurarea plcilor de extensie Atunci cnd sunt achiziionate periferice, multe dintre acestea necesit instalarea unor plci de extensie. Acest lucru implic desigur nlturarea carcasei PC-ului, setarea plcii de extensie cu ajutorul jumperilor, introducerea ei ntr-un conector liber pe placa de baz (ISA, PCI, AGP etc., dup caz) i reasamblarea carcasei. Odat ce sistemul este repornit trebuie instalat software-ul pentru noul dispozitiv introdus, ceea ce poate fi uneori dificil, chiar i pentru utilizatorii experimentai. Periferice ce nu pot fi conectate la cald n general, la conectarea dispozitivelor I/O (chiar cu facilitate plug and play PnP) acestea nu vor funciona fr a restarta sistemul. Repornirea sistemului este necesar pentru ca noile periferice introduse s fie detectate de software. n acest proces, resursele sistemului sunt selectate (automat pentru dispozitivele PnP) i asignate noului dispozitiv (de exemplu spaiu I/O, linii de ntreruperi i canale DMA) pentru a asigura funcionarea corect i faptul c resursele nu sunt deja alocate altui dispozitiv din sistem. Costuri ridicate Costul implementrii de sisteme cu dispozitive periferice bazate pe vechea arhitectur este destul de mare din cauza conectorilor standard i cablurilor asociate. De asemenea, costul ridicat este influenat i de necesitatea plcilor de extensie necesare pentru conectarea noilor dispozitive achiziionate. Arhitectura USB Figura 1.16 prezint un host USB implementat ntr-un sistem bazat pe magistral PCI. Controlerul funcioneaz ca master pe magistral obinnd structurile de date din memorie. Aceste structuri descriu tranzaciile USB ce au fost programate de software-ul sistemului pentru a fi transmise pe magistral. 26

STRUCTURA HARDWARE A UNUI CALCULATOR

Figura 1.17 descrie un chipset avnd controller USB integrat, integrarea ct mai multor faciliti fiind tendina actual a productorilor de chipset-uri pentru plcile de baz (aa cum se poate observa i din figurile 1.18 i 1.19). Arhitectura IEEE 1394 Controlerul TI TSB12LV21B (PCILynx-2) asigur performane ridicate interfeei IEEE 1394 (deci implicit i PC-ului) prin cababilitatea de a transfera date ntre interfaa fizic 1394 PHY-link, interfaa cu magistrala PCI i dispozitivele periferice externe conectate la magistrala local (figura 1.20). TSB43AA82 integreaz funciile unui controler PHY layer i ale unui controler link layer Controlerul asigur: compatibilitate IEEE 1394a-2000; O singur surs de 3,3 V; Circuit regulator de tensiune intern controlerului (de 1,8 V) este necedar pentru reducerea consumului de putere; Dispune de dou porturi fizice integrate de 400-Mbps; Funcii IEEE 1394 (Automated Read Response for ConfigROM Register Access; Automated Single Retry Protocol and Split Transaction Control); Funcii SBP-2 (Supports Four Initiators by Automated Transactions and More Can Be Supported Through Firmware; Automated Management ORB Fetching; Automated Linked Command ORB Fetching; Automated PageTable Fetching; Automated Status Block Transmit); Suport printare direct prin protocol DPP (Direct Print Protocol) Transfer date: (Pachet, DMA); Aplicaii multimedia Cerinele de band pentru aplicaiile multimedia sunt precizate n tabelul 1.3: Aplicaie multimedia Tehnic (standard) Vitez Video Conference Quality H.261 0.1 Mbps Streaming Video MPEG-4 5Kbps - 10Mbps VCR Quality MPEG-1 1.2 Mbps Broadcast Quality MPEG-2 2 -4 Mbps Studio Quality Digital TV ITU-R 601 165 Mbps DVD/Studio Quality TV MPEG-2 3-6 Mbps HDTV CD-DA 2 Gbps HDTV MPEG-2 25 -34 Mbps Streaming Audio MPEG Layer 3 (MP3) 32 -320 Kbps Consumer CD-Audio CD-DA 1441 Kbps Consumer CD-Audio MPEG with FFT 192 -256 Kbps Sound Studio Quality MPEG with FFT 384 Kbps Dolby AC-3 5.1 Channels 640 Kbps Telephone (Standard) G.711 PCM 64 Kbps Telephone (Standard) G.721 ADPCM 32 Kbps Telephone (Lower) GSM 13 Kbps Telephone (Lower) CELP 5 -7 Kbps Broadband Access (DSL) ADSL 1.5 - 9 Mbps Broadband Access (Cable) DOCSIS 2 Mbps

27

STRUCTURA HARDWARE A UNUI CALCULATOR

Main Memory

Video Frame Buffer

CPU

CPU Local Bus Host/PCI Cache/ Bridge

Memory Bus

Graphics Adapter

PCI BUS

SCSI Host Bus Adapter

LAN Adapter

USB Host Controller (Root Hub)

CardBus Bridge

LAN

Keyboard (Hub)

Monitor (Hub) CardBu s PC Card 16-Bit PC Card

USB Port

SCSI BUS

Disk Mouse

Tape

Speakers

CD-ROM

Figura 1.16 Sistem USB implementat pe magistral PCI

28

STRUCTURA HARDWARE A UNUI CALCULATOR

INTR

CPU

FSB Monitor 2X A G P Memory Controller Hub (MCH)

Local Video Memory

DRAM

LPC

Hub Interface PCI BUS I/O Controller Hub (ICH)

PCI Slots (32 bit, 33 MHz)

ISA Bridge (Optional)

Super IO COM1 COM2 AC97 Link IRQs 8259 Interrupt Controller INTR IDE Hard Drive Firmware HUB CD-ROM ISA Slots USB Controller USB Ports

Modem Codec

Audio Codec

Figura 1.17. Host USB integrat n chipset-ul sistemului

Figura 1.18. Arhitectur INTEL cu sistem USB integrat 29

STRUCTURA HARDWARE A UNUI CALCULATOR

Figura 1.19. Arhitectur VIA cu sistem USB integrat

Figura 1.20. Arhitectur PC cu sistem IEEE 1394 integrat 30

STRUCTURA HARDWARE A UNUI CALCULATOR

n tabelul 1.4 i figura urmtoare se prezint rata de transfer suportat de tehnologiile de interconectare (standardul aferent) a perifericelor multimedia. Tehnologie de Vitez Tehnologie de Vitez interconectare interconectare (standard) (standard) IEEE 1394b 800-3200 Mbps IEEE 802.11a 54 Mbps IEEE 1394a 400 Mbps IEEE 802.11b 11 Mbps USB 2.0 480 Mbps HiperLAN2 54 Mbps USB 1.1 12 Mbps HomePNA 2.0 10 Mbps Fast Ethernet 100 Mbps HomePlug HomeRF 1 Mbps

n consecin, IEEE-1394 i USB sunt magistrale ideale pentru aplicaii multimedia de vitez mare (high-bandwidth multimedia). Diagrama urmtoare prezint creterea spectaculoas a vnzrilor de echipamentelor multimedia din ultimii ani.

IEEE-1394 i USB ofer deja soluii pentru conectarea acestor echipamente: de exemplu, pentru o camer video digitale avem n: 1394 DV/MPEG2TS Video Streaming & PC Camera USB Flash Memory Access & PC Camera Pentru o abordare unitar a aplicaiilor multimedia s-a introdus n sistemul de operare drivere noi: USB Video Class (USB) Camera Storage Subunit (1394)

31

STRUCTURA HARDWARE A UNUI CALCULATOR

De asemenea, se are n vedere: mbuntirea continu a software-ului (Video Class Drivers, AVC.SYS, MSDV.SYS etc.); Managementul conectivitii i al compatibilitii (transferul asincron, DVCPro 25, 50 & 100, SONYDCAM.SYS (IIDC Camera); Introducere de noi formate multimedia i dispozitive de control USB versus IEEE-1394 USB i IEEE-1394 sunt asemntoare (dar nu compatibile), IEEE-1394 fiind mult mai rapid i mai flexibil, dar i mai scump. IEEE-1394 este destinat pentru aplicaii video sau pentru alte fluxuri de date unde viteza este esenial sau nu este disponibil un PC gazd. USB este destinat perifericelor obinuite cum ar fi tastaturi, imprimante, scannere i uniti de stocare, dar suport la fel de bine i aplicaii multimedia cu flux de date sczut sau mediu i, n plus, are un pre redus. Pentru multe dispozitive ambele interfee sunt potrivite. n cazul USB un singur host controleaz comunicaiile cu mai multe periferice. Host-ul cuprinde majoritatea complexitii hardware i software astfel nct electronica perifericelor poate fi relativ simpl i de pre sczut. IEEE-1394 folosete un model de tipul punct-la-punct, n care perifericele pot comunica ntre ele direct. n cazul IEEE-1394 un flux de date poate fi direcionat ctre mai muli receptori. Rezultatul este o interfa mult mai flexibil, ns acest lucru implic o electronic a perifericelor mult mai complex i mai scump. Cei 400 Megabii ai IEEE-1394 nseamn o vitez de 30 ori mai mare dect cea asigurat de cei 12 Megabii ai USB 1.x. Prin noile specificaii USB ajunge la 480 Megabii, ns i IEEE-1394 prezint o variant mbuntit, numit IEEE-1394.b, cu o vitez de pn la 3,2 Gibii pe secund (pe fibr optic), ce depete de 6 ori rivalul su. 32

STRUCTURA HARDWARE A UNUI CALCULATOR

USB sau IEEE-1394 ?!: USB i 1394 sunt bus-uri complementare, necompatibile, dedicate spre anumite aplicaii cu tendine de generalizarea a conectrii perifericelor USB 1.1/ USB 2.0 este preferat pentru pentru conectarea celor mai multe periferice PC 1394 s-a focalizat iniial spre aplicaiile multimedia (camere digitale, VCR digital, DVD i televiziunea digital) i s-a perfecionat dedicat; Se previzioneaz coexistena pentru porturile USB 2.0 i 1394 n marea majoritate a sistemelor PC (ntr-o arhitectur reconfigurabil pentru porturi - vezi figura urmtoare); USB necesit o CPU pentru a realiza funciile de master pe bus, n timp ce 1394 este tip de la egal la egal (peer-to-peer), iar cerinele pot diferi (de exemplu un D-VCR sau DVD trebuie sa poat comunica direct cu D-TV, fr intervenia PC-ului); Debitul USB nu este ntodeauna cel specificat (de exemplu la comunicarea ntre dou periferice viteza se njumtete deoarece datele trebuie trimise prin intermediul host-ului); Hub-ul USB 2.0 este mai complicat (necesit ncapsularea unui controller USB 1.1 i a unui controller USB 2.0, repetoare de semnal rapide, funcii duale pentru porturi etc); cablurile USB au probleme de radiaie EM; tehnologia 1394 se preteaz pentru perifericele unde prioritar este performana, nu preul. 1.2.3. ARHITECTUR PENTRU SISTEMUL INTELIGENT DE INTRARE/IEIRE Necesitatea asigurrii unei rate de transfer ridicate, a condus la crearea unei noi arhitecturi de I/O inteligente (I2O; a nu se confunda cu acronimul I2C - Inter-Integrated Circuit Bus) care degreveaz procesorul de tratarea ntreruperilor i administrarea resurselor hardware ale dispozitivelor periferice de intrare/ ieire, ncrcnd separat fiecare driver de intrare/ieire (fig. 1.21). Pentru a administra efectiv fluxurile de intrare/ieire, fiecare dispozitiv de intrare/ieire - fie c se afl pe placa de baz, fie pe o plac de extensie, va rula propria copie de sistem de operare, numit IRTOS (I2O real time OS) comercializat sub numele Ix Works derivat din sistemul de operare optim pentru arhitectura I2O Vx Works (a fost implementat pe dou platforme I/O: cipurile 960 Rx de la Intel i Strong ARM I/O de la Digital Equipment Corporation.). Ix Works implementeaz toate caracteristicile standardului I2O: (1) - existena unui driver-monitor condus de evenimente i protocoale de mesaje ale driverului gazd; (2) - nucleul propriu are faciliti n timp real cum sunt multitasking cu nivele de prioritate i prelucrarea rapid a ntreruperilor; (3) - poriuni din drivere sunt scrise n limbaj de asamblare pentru a mbunti performanele; 33

STRUCTURA HARDWARE A UNUI CALCULATOR

(4) - utilizarea unei arhitecturi orientat pe obiect, care permite ncrcarea i descrcarea dinamic a driverelor de dispozitiv; astfel, dac este eliminat un dispozitiv, obiectul driver corespunztor i toate obiectele descendente (de exemplu, bufferele de memorie) vor fi eliminate (fig. 1.22); (5) - nucleul proiectat modular, a luat n considerare i portabilitatea, prin crearea unui profil pentru fiecare driver; profilul identific caracteristicile unice ale driverului de dispozitiv: cerinele de memorie; ordonarea octeilor; direcia de cretere a stivei; ntreruperile i tratarea excepiilor. Profilul este schiat n fiiere antet, textul fiind apoi editat pentru a corespunde cu caracteristicile unice ale fiecrui driver; aceasta va configura apoi n mod automat, ntregul cod surs pentru driverul destinaie. Pentru o anumit tehnologie de driver, sunt adaptate n jur de 50 de funcii periferice, iar componentele critice n raport cu timpul (transferurile DMA i PCI, interfaa mesaj i comutarea contextului) necesit un cod de calibrare a performanei. Intel 960 este o soluie integrat, monocip, ieftin; este dedicat folosirii n plci adaptoare i nu necesit multe componente, putnd fi amplasat pe placa de baz. Strong ARM implic dou-trei cipuri, fiind dedicat aplicaiilor de mare performan; se pot implementa pe plci I/O cum sunt canalele de fibre optice. Dispozitivele periferice de intrare au rolul de a introduce date i comenzi n PC, din exteriorul acestuia; att datele, ct i comenzile sunt convertite din formatul extern folosit de utilizator n formatul binar intern recunoscut de PC. Alturi de dispozitivele periferice de intrare comune tuturor PC-urilor (tastatur, mouse), pot fi cuplate i alte dispozitive precum scanner-ele, track balls, joy-stick, paddles i OCR.

Figura 1.21. Mediul I2O 34

STRUCTURA HARDWARE A UNUI CALCULATOR

Figura 1.22. Module Ix Works

35

STRUCTURA HARDWARE A UNUI CALCULATOR

1.3. COMUNICAIA NTRE MICROPROCESOR I INTERFEELE I/OExecuia generic a unui proces de intrare/ieire presupune n principiu derularea urmtoarelor etape: a) iniierea procesului de intrare/ieire, n aceast etapa au loc urmtoarele activiti: - unitatea central de prelucrare iniiaz o activitate pe magistral, adresa dispozitivului periferic fiind trimisa pe magistral (1); - interfaa dispozitivului periferic ntoarce starea n care se afl (2): - disponibil: deci se poate declana execuia operaiei de intrare/ieire; - n lucru: este ocupat i nu poate ncepe execuia operaiei solicitate; - neoperaional: defect, inexistent (necuplat); - informaia de stare a dispozitivului periferic este transmis unitii centrale de prelucrare i memorat n memoria intern; b) execuia operaiilor de intrare/ieire: - din memoria intern este extras informaia de comand i transmis prin interfa, ctre dispozitivul periferic (3); - transferul datelor ntre memoria intern i dispozitivele periferice (4). Alturi de date se vehiculeaz i informaii de control i stare a componentelor; c) ncheierea procesului de intrare/ieire. Dup ultima operaie de intrare/ieire dispozitivul periferic anun, prin intermediul interfeei, terminarea procesului de intrare/ieire, unitatea central disponibiliznd dispozitivul periferic (5). n principiu exist trei tehnici de comunicaie ntre microprocesor i dispozitivul periferic: - interogarea software; - lucrul cu ntreruperi hardware; - transferul prin acces direct la memorie (DMA). 1.3.1. INTEROGAREA SOFTWARE Se bazeaz pe testarea de ctre microprocesor a unui bit de stare asociat dispozitivului periferic. Microprocesorul nu va iniializa transferul cu perifericul dect n momentul n care bitul de stare semnifica faptul ca perifericul este pregtit pentru transfer (nu lucreaz la un transfer de date iniiat anterior). Dezavantajul acestei metode consta n faptul ca microprocesorul atepta un timp inacceptabil de mare, comparativ cu frecvena sa de lucru, pentru a inspecta daca perifericul este sau nu este pregtit. De exemplu, considernd ca utilizatorul apsa o tasta la interval de 500 ms si ca o instruciune a microprocesorului dureaz cca. 100 ns, rezult c se pierde n bucla de ateptare execuia a 500 ms / 100 ns = 5 milioane instruciuni utile. Acest dezavantaj este eliminat de urmtoarea metoda de comunicare procesorinterfaa prin intreruperi ale magistralelor standardizate. n consecin, considernd 100 ns ca timp mediu per instruciune rezult pentru acest procesor efectuarea a unui numr de instruciuni pe secunda de 10.000.000 instruciuni/sec. (sau 10 MIPS). De remarcat faptul ca o instruciune se proceseaz sub forma unei nlnuiri de cicluri maina (faze). Un ciclu maina reprezint o nlnuire de aciuni sincronizate cu un ceas (clock). Ciclul maina este unitatea elementara de procesare, care nu poate fi ntrerupta de nici o cerere de intrerupere externa. In figura 1.23 se prezinta secventa de citire din memorie (pe magistrala sincrona). In general, microprocesorul asteapta (wait) ca datele sa fie disponibile pe magistrala de date 36

STRUCTURA HARDWARE A UNUI CALCULATOR

Figura 1.23. Secventa de citire din memorie Figura 1.24 prezinta etapele unei tranzactii divizate (split-transaction). Taranzitia de de citire este divizata intr-o cerere de citire (tranzactia 1) care contine adresa de memorie si etapa de tranfer date de la memorie (tranzactia 2). Fiecare tranzactie este marcata pentru a fi recunoscuta. Tranzactiile divizate elibereaza pe enumite perioade magistrala de date (de exemplu, atunci cand controlerul de memoria sau hard disc citeste datele), ceea ce determina o latime de banda mai mare, dar necesita un arbitraj al magistralei care poate introduce intarzieri importante la tranferul datelor. Figura 1.25 arata secventa de conectare a unui microprocesor master la o magistrala asincrona. Dispozitivele conectate la o magistrala asincrona pot fi foarte diverse, fara a apare probleme de desincronizare (jiter al ceasului), insa latimea de banda scade (fiecare pachet transferat are un antet special de sincronizare a ceasului local de la receptor). Alegerea intre cele doua tipuri nu tine doar de latimea de banda, ci are implicatii si asupra capacitatii sistemului de I/O (lungime fizica a magistralei, numar de dispozitive I/O conectabile etc.). O magistrala asincrona se adapteaza mai bine la Figura 1.26. schimbarile tehnologice. Figura 1.26 puncteaza grafic criteriile de alegere enuntate mai sus.

Figura 1.24. Secventa intr-o tranzactie divizata

37

STRUCTURA HARDWARE A UNUI CALCULATOR

Figura 1.25. Secventa intr-o conectare la o magistrala asincrona multimaster 1.3.2. LUCRUL PRIN NTRERUPERI HARDWARE Se bazeaz pe generarea unui semnal de ntrerupere, INT, de la interfaa (port) spre microprocesor, ori de cte ori acesta dorete sa comunice cu microprocesorul. In urma recepionrii semnalului INT microprocesorul va prsi programul principal (PP) urmnd s intre intr-o aa numita rutina de tratare a ntreruperii (RTI), n care va satisface cererea interfeei. La finele rutinei de tratare a ntreruperii printr-o instruciune de tip RETURN, microprocesorul va reveni in PP, in general (dar nu ntotdeauna) la execuia instruciunii imediat urmtoare ultimei instruciuni din PP executate (fig. 1.15). De exemplu, pentru utilizarea eficienta a tastaturii, interfaa de tastatura va genera ntreruperea INT ori de cte ori utilizatorul a apsat o tasta. Pn cnd perifericul cere un nou serviciu (de ex. se apsa din nou o tasta), microprocesorul va executa instruciuni utile din PP (sistem de operare, program utilizator etc.) si deci nu mai este necesar sa mai atepte inutil ca in cazul interogrii. Totalitatea aciunilor executate de ctre microprocesor din momentul apariiei semnalului de ntrerupere INT pn n momentul procesrii primei instruciuni din RTI formeaz aa numitul protocol hardware de acceptare a ntreruperii (sgeile 1 si 3 din figura 1.27). n principiu acest protocol se desfoar n urmtoarele etape succesive: 1.) Odat sesizata ntreruperea INT de ctre microprocesor acesta i va termina instruciunea in curs de execuie dup care, daca anumite condiii sunt ndeplinite (nu exista activata o cerere de ntrerupere sau de bus cu nivel de prioritate mai ridicat etc.), va trece la pasul 2. n general, microprocesoarele examineaz activarea ntreruperilor la finele ultimului ciclu aferent instruciunii n curs de execuie.

Figura 1.27. Principiul de lucru prin ntreruperi 38

STRUCTURA HARDWARE A UNUI CALCULATOR

2.) Recunoaterea ntreruperii: microprocesorul va iniializa ciclu de achitare a ntreruperii, genernd un semnal de rspuns (achitare) a ntreruperii INTACK (interrupt acknowledge) spre toate interfeele de intrare - ieire. Ca urmare a recepionrii INTACK interfaa care a ntrerupt va furniza microprocesorului prin intermediul bus-ului de date un octet numit vector de ntrerupere (VI). Acest VI este diferit pentru fiecare periferic n parte, individualizndu-l deci ntr-un mod unic. Pe baza acestui VI si conform unui algoritm care difer de la microprocesor la microprocesor, acesta va determina adresa de nceput a RTI, adresa ce va urma sa o introduc in numaratorul de program (program counter - PC). Firete, la VI diferii vor corespunde adrese de nceput diferite. 3.) Microprocesorul va salva ntr-o zona speciala de program, numita memorie stiva, adresa din programul PP aferent instruciunii imediat urmtoare instruciunii executate de ctre microprocesor din PP (PCrev), pentru a putea ti la finele RTI unde sa revin exact n PP. Memoria stiva este o zona de memorie RAM caracterizata la un moment dat de aa numitul vrf al stivei, adic de ultima locaie ocupata din stiv