Sunteți pe pagina 1din 125

CAPITOLUL I INTRODUCERE

Unitatea central de procesare a calculatorului (UCP) mpreun cu modulele de memorie reprezint creierul sistemului de calcul. La fel ca i omul, sistemul de calcul nu poate funciona corect doar cu creierul, ci are nevoie i de extensii care s culeag informaiile necesare din mediul extern, precum i extensii de afiare a informaiilor existente i a operaiilor executate. Acestea compun sistemul de intrare/ieire (I/E) a calculatorului i efectueaz transferul de date ntre memoria principal a UCP i mediul exterior. Performanele unui sistem de calcul depind de relaia existent ntre procesor i memorie, de o parte, i echipamentele de I/E, de partea cealalt. Cele dou caracteristici care influeneaz performanele unui sistem de calcul sunt timpul de acces i rata de transfer a dispozitivelor de I/E, datorit faptului c un procesor poate prelucra instruciunile doar la rata la care acestea i sunt furnizate. Astfel, un procesor cu vitez infinit va prelucra informaiile pe care la primete de la echipamentele de intrare la rata cu care acestea i sunt furnizate, i va afia rezultatul prelucrrii la rata de transfer al echipamentelor de ieire. n cazul echipamentelor periferice mai puin performante, cu rate mici de transfer i cu timpi ridicai de acces, se va creea impresia unui sistem de calcul ncetinit, cu performane reduse, mult sub ateptrile utilizatorului, ceea ce va duce la nemulumirea acestuia referitoare la performanele acestuia. De accea este de notat faptul c o memorie rapid nu poate furniza procesorului dect datele care au fost furnizate din exterior i doar pe o magistral liber n acel moment. Mult timp echipamentele de I/E au fost neglijate de proiectanii arhitecturilor de calculatoare, ocupnd un loc secundar n preocuprile acestora, atitutidine revizuit n ultimii ani, cnd creterea performanelor echipamentelor de I/E a cunoscut un reviriment prin punerea la punct a noi interfee i protocoale de transmitere de date ntre UCP i dispoziitivele de I/E care s se apropie ca performane de noile procesoare i module de memorie. De-a lungul a peste trei decenii au existat preri conform crora viteza sitemului de I/E nu conteaz deoarece exist ntotdeauna un alt proces n execuie n timp ce un alt proces pentru un periferic este n ateptare. Argumentul suprem mpotriva acestei teorii este acela c n cazul utilizatorului unic pe UCP exist mai puine procese dect n cazul prelucrrii cu diviziunea timpului, ceea ce face ca unicul proces n ateptare s fie utilizatorul nsui.

1.1. Structura unui sistem de I/E


Principalele componente ale unui sistem de I/E sunt urmtoarele: modulele de I/E; dispozitivele periferice; magistralele - interconexiunile dintre memorie i echipamentele periferice; interfeele. n figura 1 este prezentat structura unui sistem de calcul mpreun cu sistemul de I/E:

SISTEME DE INTRARE IEIRE

Figura 1. Structura unui sistem de calcul cu sitem tipic de I/E Dup cum se observ din figura de mai sus echipamentele periferice nu se conecteaz direct la magistrala sitemului ci se utilizezaz module de I/E. Motivele pentru care s-a apelat la aceast structur sunt urmtoarele: incorporarea n UCP a protocoalelor de comunicare pentru controlul dispotivelor de I/E ar fi mult prea costisitoare i nu ar fi fiabil; rata sczut de transfer a echipamentelor periferice; formatele datelor i lungimile cuvintelor, deseori diferite f de cele ale procesorului, utilizate de echipamentele periferice.

1.2. Funcii ale modulelor de I/E


Modulul de I/E are rolul de a efectua controlul dispozitivelor externe i a transferului datelor ntre acestea i memoria principal sau registrele UCP. De aceea un modul de I/E trebuie s aib dou interfee: una intern - cu UCP i memoria principal; una extern cu dispozitivul extern. Funciile principale sunt: control i sincronizare; comunicaia cu UCP; comunicarea cu dispozitivele externe; bufferarea datelor; detecia erorilor. a) control i sincronizare Este necesar pentru coordonarea fluxului de date ntre resursele interne i dispozitele externe i poate cuprinde urmtoarele etape: UCP interogheaz modulul de I/E referitor la starea dispozitivului periferic; Modulul returneaz starea dispozitivului; Dac dispozitivul este operaional UCP solicit transmiterea datelor ctre dispozitiv printr-o comand adresat modulului; Modulul preia un octet sau cuvnt de date de la dizpozitivul periferic;
2

Capitolul1 - Introducere

Datele sunt transferate de la modul la UCP.

b) comunicaia cu UCP Fiecare interaciune dintre UCP i modulul de I/E implic una sau mai multe aciuni arbitrare ale magistralei centrale a sistemului. Comunicaia cu UCP cuprinde: decodificarea comenzilor - de obicei comenzile de la UCP la modulul de I/E sunt trnasmise pe magistrala de control, dar unele comenzi au parametrii care sunt transmii pe magistrala de date; transmiterea datelor se efectuaeaz pe magistrala de date; raportarea strilor cunoaterea strii modulului de I/E este important; modulul poate fi ocupat cu transmiterea unei comenzi precedente (busy) sau poate fi pregtit s preia instruciunea (ready); de asemenea se raporteaz i diferitele stri de eroare; recunoaterea adreselor fiecrui echipament periferic i corespunde o adres de memorie pe care modulul de I/E trebuie s o recunoasc pentru a ti crui dispotiv i transmite datele i instruciunile. c) comunicaia cu dispozitivele externe Se realizeaz prin semnale de control, de stare i de date. d) bufferarea datelor Rata de tranfer pentru cele mai multe periferice este mai redus dect cea de tranfer la sau de la memorie. Modulul de I/E buffereaz datele transmise de la memoria principal i le transmite ctre periferic cu rata acestuia de transfer, deci modulu trebuie s opereze att la viteza UCP ct i la cea a perifericului. e) detecia erorilor Modulul de I/E trebuie s detecteze erorile i s le raporteze UCP. Clase de erori: disfuncionaliti mecanice i electrice ale dispozitivului; modificarea datelor transmise de periferic la modul. Pentru prevenirea i detectarea acestora se utilizeaz coduri detectoare de erori, cum ar fi bitul de paritate.

1.3. Structura modulului de I/E


Modulele de I/E difer ca i complexitate i ca numr de dispozitivele externe pe care le controleaz. n figura 2 este prezentat configurarea schemtic a unui modul de I/E. Datele transferate de la i la modul sunt bufferate n unul sau mai multe registre de date. De asemenea exist unul sau mai multe registre de stare, care pot funciona i ca registre de control. Logica din cadrul modulului interacioneaz cu UCP printr-un set de linii de control. De asemenea modulul recunoate i genereaz adresele dispozitivelor pe care le gestioneaz. Unele module pot ascunde detaliile referitoare la sincronizarea datelor, formatul acestora sau detalii electro-mecanice referitoare la periferic astfel nct UCP poate realiza doar instruciuni simple de citire i scriere sau eventual de deschidere sau nchidere a unui fiier.

SISTEME DE INTRARE IEIRE

Figura 2. Schema bloc a unui modul de I/E

1.4. Interfaa extern a modulului de I/E


Aceasta trebuie s fie adaptat tipului de periferic i modului su de funcionare. Exist dou tipuri principale de interfee externe: interfee paralele care dispun de linii multiple de conectare a modulului de I/E cu perifericul, existnd posibilitatea transmiterii simultan a mai multor bii (octet sau cuvnt) i se utilizeaz pentru transferul ctre periferice rapide (cum ar fi discurile magnetice) pe distane mici; interfee seriale care dispun de o singur linie pentru transmiterea datelor, biii fiind transmii succesiv; se utilizeaz pentru terminale, n special, pentru unele dispozitive dedicate i pentru transmisia de date la distan.

1 .5. Tipuri de dispozitive periferice


Exist trei categorii de dispozitive periferice, dup utilizarea acestora: 1. Pentru transportul datelor ntre procesor i utilizator: dispozitive de achiziie i prezentare a datelor. 2. Pentru transferul datelor ntre mai multe procesoare: dispozitive de reea. 3. Pentru memorarea informaiilor, ca parte a ierarhiei de memorii a procesorului: dispozitive de memorare. Anumite periferice au funcii multiple. n Tabelul 1 i Tabelul 2 se prezint cerinele privind ratele de transfer pentru unele dispozitive tradiionale de prezentare a datelor, respectiv de memorare.

Capitolul1 - Introducere

Tabelul 1. Ratele de transfer ale unor dispozitive tradiionale de prezentare a datelor Dispozitiv Senzori Tastatur Linie de Display Imprimant Rata de transfer 1 B/s - 1 KB/s 10 B/s 56 Kbit/s (linie 2 KB/s 1 - 5 KB/s

Tabelul 2. Parametrii unor dispozitive tradiionale de memorare Dispoziti Timp de acces Rata de transfer Capacitate Disc 8 ms 80 MB/s 50 GB Band O (sec) 3 - 6 MB/s 25 GB (pe caset) n timp ce dispozitivele tradiionale de prezentare a datelor sunt relativ lente comparativ cu cele de memorare, situaia este diferit n cazul celor utilizate pentru multimedia. Documentele multimedia constau din: grafic; video; audio (sinteza i recunoaterea vocii). n Tabelul 3 se prezint cerinele principale pentru aceste medii. Tabelul 3. Parametrii unor dispozitive multimedia Rata de transfer ntrziere maxim Grafic 1 MB/s 1 -5s Video 400 MB/s 20-33 ms Audio 8 KB/s 50 - 300 ms Fiecare mediu necesit o putere considerabil de calcul. Pentru prelucrarea imaginilor grafice, au fost create procesoare specializate (transformarea spaiului culorilor, modelare 3-D, animaie). n cazul imaginilor video, cerinele cresc substanial, deoarece o nou imagine este creat la fiecare 1/30 s (33 ms). Se pot utiliza tehnici de compresie i interpolare a datelor n scopul reducerii ratei de transfer necesare pentru procesarea video n timp real. Prelucrarea semnalelor audio cu o rat de 2-8 KB/s necesit o putere considerabil de calcul, pentru crearea sau recunoaterea diferitelor foneme n timp real.

1.6. Module de I/E


Un modul de I/E are rolul de a efectua controlul dispozitivelor externe i transferul datelor ntre aceste dispozitive i memoria principal i/sau registrele UCP. Deci, un modul de I/E trebuie s aib o interfa intern n cadrul calculatorului (cu UCP i memoria principal) i o interfa extern (cu dispozitivul extern). Funciile i cerinele principale ale unui modul de I/E se ncadreaz n urmtoarele categorii : control i sincronizare; comunicaia cu UCP; comunicaia cu dispozitivele externe; bufferarea datelor; detecia erorilor.

1.6.1. Funciile modulelor de I/E

SISTEME DE INTRARE IEIRE

n orice moment de timp, UCP poate comunica cu unul sau mai multe dispozitive externe. Resursele interne, ca memoria intern i magistrala sistem, trebuie partajate ntre mai multe activiti, inclusiv operaiile de l/E ale datelor. Funcia de I/E necesit deci o operaie de control i sincronizare, pentru coordonarea fluxului de date ntre resursele interne i dispozitivele externe. De exemplu, controlul transferului de date de la un dispozitiv extern la UCP poate cuprinde urmtoarele etape: 1. UCP interogheaz modulul de I/E pentru a testa starea dispozitivului conectat. 2. Modulul de I/E returneaz starea dispozitivului. 3. Dac dispozitivul este operaional i este pregtit pentru transmisia datelor, UCP solicit transferul datelor, printr-o comand adresat modulului de I/E. 4. Modulul de I/E preia un octet sau cuvnt de date de la dispozitivul de I/E. 5. Datele sunt transferate de la modulul de I/E la UCP. Dac sistemul utilizeaz o magistral, fiecare interaciune dintre UCP i modulul de I/E implic una sau mai multe operaii de arbitrare a magistralei. Din exemplul precedent rezult c modulul de I/E trebuie s permit comunicaia cu UCP i cu dispozitivul extern. Comunicaia cu UCP cuprinde: Decodificarea comenzilor Modulul de I/E accept comenzi de la UCP. Aceste comenzi sunt transmise de obicei ca semnale pe magistrala de control. De exemplu, un modul de I/E pentru o unitate de disc poate accepta urmtoarele comenzi: CITIRE SECTOR, SCRIERE SECTOR, CUTARE PIST. Unele comenzi au un parametru care este transmis pe magistrala de date. Transmiterea datelor Datele sunt transmise ntre UCP i modulul de I/E pe magistrala de date. Raportarea strii Deoarece perifericele sunt mai lente, este important cunoaterea strii modulului de I/E. De exemplu, un modul poate fi ocupat cu execuia comenzii precedente de I/E, ceea ce poate fi raportat printr-un semnal de stare. Semnalele obinuite de stare sunt BUSY i READY. Exist de asemenea semnale pentru raportarea diferitelor condiii de eroare. Recunoaterea adreselor Un modul de I/E trebuie s recunoasc o adres unic pentru fiecare periferic pe care l controleaz. Comunicaia cu dispozitivele externe se realizeaz prin semnale de control, de stare i de date. Bufferrarea datelor este o funcie esenial a unui modul de I/E. n timp ce rata de transfer la sau de la memorie sau UCP este ridicat, pentru cele mai multe periferice aceast rat este cu cteva ordine de mrime mai mic. Datele transferate de la memoria principal sunt bufferate de modulul de I/E i apoi sunt transmise la periferic cu rata acestuia. Modulul de I/E trebuie deci s opereze att la viteza UCP, ct i la cea a memoriei. n final, un modul de I/E trebuie s efectueze detecia erorilor i raportarea acestora ctre UCP. O clas a erorilor cuprinde disfuncionaliti mecanice i electrice raportate de dispozitiv. O alt clas const n modificarea accidental a datelor transmise de periferic la modulul de I/E. Se utilizeaz anumite coduri detectoare de erori pentru detectarea erorilor de transmisie, de exemplu bitul de paritate. Modulele de I/E difer considerabil ca i complexitate i numr de dispozitive externe pe care le controleaz. O schem bloc general a unui modul de I/E este prezentat n Figura 1.2. Modulul se conecteaz cu restul sistemului de calcul printr-un set de linii (de exemplu, magistrala sistem). Datele transferate la i de la modul sunt bufferate ntr-unul sau mai multe registre de date. Pot exista de asemenea unul sau mai multe registre de stare. Un registru de stare poate funciona i ca registru de control, pentru a primi informaii de control detaliate de la UCP. Logica
6

1.6.2. Structura unui modul de I/E

Capitolul1 - Introducere

din cadrul modulului interacioneaz cu UCP printr-un set de linii de control. Acestea sunt utilizate de UCP pentru a transmite comenzi la modulul de I/E. Anumite linii de control pot fi utilizate de modulul de I/E, de exemplu ca semnale de arbitraj sau de stare. Modulul trebuie de asemenea s recunoasc i s genereze adresele asociate cu dispozitivele pe care le controleaz. Fiecare modul de I/E are o adres unic, sau dac acesta controleaz mai multe dispozitive externe, un set unic de adrese. n sfrit, fiecare modul de I/E conine o logic specific interfeei cu fiecare dispozitiv pe care l controleaz.

Figura 2. Structura unui modul de I/E Modulele de I/E pot avea complexiti diferite. Unele module pot ascunde detalii ca sincronizarea datelor, formatul acestora i detaliile electromecanice ale unui dispozitiv extern, astfel nct UCP poate executa numai comenzi simple de citire i scriere, eventual de deschidere i nchidere pentru fiiere, n cazul altor module, cele mai multe operaii de control ale perifericelor sunt vizibile de ctre UCP. Un modul de I/E care are o interfa de nivel nalt cu UCP, elibernd UCP de sarcina controlului perifericelor, este numit canal de I/E sau procesor de I/E. Un modul de I/E care este simplu i necesit un control detaliat al UCP este numit de obicei controler de I/E sau controler de dispozitiv. Controlerele de I/E se utilizeaz de obicei la microcalculatoare, n timp ce canalele de I/E sunt j utilizate la calculatoarele mari (mainframe). Modulele de I/E complexe (canalele de I/E) sunt partiionate sub forma unor canale de I/E care controleaz unul sau mai multe controlere de I/E.

1.7. Interfaa extern

Interfaa dintre un modul de I/E i un periferic trebuie s fie adaptat tipului de periferic i modului de funcionare al acestuia. Exist dou tipuri principale de interfee. Interfeele paralele dispun de linii multiple care conecteaz modulul de I/E cu perifericul, fiind transferai simultan mai muli bii (un octet sau cuvnt). n cazul interfeelor seriale, exist o singur linie utilizat pentru transmiterea datelor, biii fiind transmii succesiv. Interfeele paralele se utilizeaz n mod obinuit pentru periferice mai rapide, ca discurile magnetice. Interfeele seriale sunt utilizate mai ales pentru terminale i unele tipuri de imprimante. n ambele cazuri, modulul de I/E trebuie s execute un dialog cu perifericul. De exemplu, dialogul pentru o operaie de scriere are urmtoarea form general: 1. Modului de I/E activeaz un semnal de control, cernd permisiunea de a transmite datele. 2. Perifericul confirm cererea. 3. Modulul de I/E transfer datele (un octet, un cuvnt sau un bloc). 4. Perifericul confirm recepia datelor. O operaie de citire are loc n mod similar.

1.8. Metode de transfer al datelor

Exist urmtoarele metode principale de realizare a transferurilor de date:


7

SISTEME DE INTRARE IEIRE

transferul programat; transferul prin ntreruperi; transferul prin acces direct la memorie (DMA); transferul prin canale de I/E.

1.8.1. Transferul programat

n acest caz, datele sunt transferate ntre UCP i modulul de I/E. UCP execut un program prin care controleaz direct operaia de I/E: detectarea strii perifericului, transmiterea unei comenzi de citire sau scriere, i transferul datelor. Dup transmiterea unei comenzi modulului de I/E, UCP trebuie s atepte pn la terminarea operaiei de I/E. Testarea strii perifericului se realizeaz de obicei prin citirea strii, executnd o bucl de instruciuni. La execuia unei instruciuni de I/E, UCP transmite o comand modulului de I/E corespunztor. Modulul de I/E execut aciunea respectiv i seteaz biii corespunztori n registrul de stare. UCP trebuie s testeze periodic starea modulului de I/E pentru a detecta terminarea operaiei. Pentru execuia unei instruciuni de I/E, UCP transmite o adres, specificnd modulul de I/E i dispozitivul extern, i o comand de I/E. Exist patru tipuri de comenzi de I/E pe care le poate recepiona un modul de I/E atunci cnd este adresat de UCP. Acestea sunt clasificate ca fiind de control, de test, de citire i de scriere. O comand de control este utilizat pentru activarea unui periferic i pentru specificarea operaiei de executat. De exemplu, pentru o unitate de band magnetic, se poate specifica o operaie de rebobinare sau poziionare pe urmtoarea nregistrare. Aceste comenzi sunt specifice diferitelor tipuri de periferice. O comand de test este utilizat pentru testarea diferitelor condiii de stare asociate cu un modul de I/E i perifericele acestuia. UCP trebuie s determine dac: perifericul este operaional i este disponibil; ultima operaie lansat este terminat; au aprut sau nu erori la execuia operaiei. O comand de citire determin obinerea unui octet sau cuvnt de date de la periferic i depunerea acestuia ntr-un buffer intern (registrul de date al modulului de I/E). UCP poate obine datele prin plasarea lor pe magistrala de date de ctre modulul de I/E. O comand de scriere determin preluarea de ctre modulul de I/E a unui octet sau cuvnt de pe magistrala de date i transmiterea acestuia perifericului. Figura 3 prezint un exemplu de utilizare a transferului programat pentru citirea unui bloc de date de la un periferic (de exemplu, o nregistrare de pe o band) n memorie. Pentru fiecare cuvnt citit, UCP trebuie s rmn ntr-un ciclu de testare a strii pentru a determina dac respectivul cuvnt este disponibil n registrul de date al modulului de I/E. n general, exist mai multe dispozitive conectate la sistem prin module de l/E. Fiecrui dispozitiv i se atribuie o adres unic. Comanda de I/E transmis de UCP conine adresa dispozitivului. Deci fiecare modul de I/E trebuie s interpreteze liniile de adrese pentru a determina dac respectiva comand i este destinat. Figura 3. Utilizarea Atunci cnd UCP, memoria principal i sistemul de I/E transferului programat pentru citirea unui partajeaz aceeai magistral, sunt posibile dou moduri de adresare: bloc de date adresare cu mapare n memorie i adresare izolat. n cazul adresrii cu maparea n memorie, exist un singur spaiu de adrese pentru locaiile de memorie i dispozitivele de I/E. UCP trateaz registrele de stare i de date ale modulelor de I/E ca locaii de memorie i utilizeaz aceleai instruciuni att pentru accesul la memorie ct i la dispozitivele de I/E. De exemplu, cu 10 linii de adres pot exista n total 1024 locaii de memorie i adrese de I/E, n orice combinaie. n acest caz este necesar un singur semnal de citire i unul de scriere n memorie.
8

1.8.1.1. Comenzi de I/E

1.8.1.2. Instruciuni de I/E

Capitolul1 - Introducere

n cazul adresrii izolate, spaiul adreselor de I/E este izolat de cel al memoriei. Magistrala trebuie s aib linii de citire i scriere pentru memorie i linii de comand pentru intrare i ieire. Liniile de comand specific dac o adres se refer la o locaie de memorie sau un dispozitiv de I/E. Pentru ambele este disponibil toat gama adreselor. Pentru 10 linii de adres, pot exista 1024 locaii de memorie i 1024 adrese de I/E. Se exemplific cele dou tehnici de I/E programate. Figura 2.2 prezint interfaa pentru tastatura unui terminal, din punctul de vedere al programatorului.

Figura 2.2. Interfaa pentru tastatura unui terminal Pentru I/E mapate n memorie, se presupune c exist 10 bii de adres, spaiul de adrese fiind format din 512 locaii de memorie (locaiile 0-1 FFh) i pn la 512 adrese de I/E (locaiile 200h3FFh). Interfaa cu tastatura utilizeaz dou adrese. Adresa 300h este utilizat pentru registrul de date, iar adresa 301 h pentru registrul de stare, care este utilizat i ca registru de control pentru recepionarea comenzilor UCP. Programul prezentat va citi un octet de la tastatur ntr-un registru acumulator al UCP. De notat c UCP execut o bucl de program pn cnd octetul este disponibil. Adresa 100h 101h 102h 103h 104h Instruciune Operand Load AC 1 Store AC 301 h Load AC 301 h Jump if Sign = 0 102h Load AC 300h Comentariu Start citire tastatur Citire octet de stare Buclare Citire octet de date

Pentru I/E izolate, presupunem c porturile de I/E sunt accesibile numai prin comenzi de l/E speciale, care activeaz liniile de comand de I/E de pe magistral. Adres Instruciune Operand Comentariu 1OOh Start i/E 5 ; Start citire tastatur 101 h Test l/E 5 ; Test sfrit operaie 102h Jump Not Ready 101h ; Buclare 103h In 5 ; Citire octet de date Pentru cele mai multe UCP, exist un numr relativ mare de instruciuni diferite pentru referirea la memorie. Dac se utilizeaz I/E izolate, exist un numr mic de instruciuni de I/E. Deci, un avantaj al I/E mapate n memorie este c se poate utiliza un set extins de instruciuni, permind o programare mai eficient. Un dezavantaj este c se utilizeaz o parte din spaiul de adrese al memoriei. Dezavantajul transferului programat, n varianta realizat prin citirea strii, este c UCP trebuie s atepte pn cnd perifericul devine disponibil, sau pn la terminarea operaiei. Performanele sistemului vor fi mult reduse. Pentru eliminarea acestui dezavantaj se poate utiliza transferul programat prin ntreruperi.

1.8.2. Transferul prin ntreruperi


ntreruperea reprezint suspendarea execuiei unui program de ctre un semnal extern UCP, indicnd producerea unui eveniment extern, sau de ctre un eveniment intern, indicnd apariia unei situaii de excepie n funcionarea UCP. ntreruperea se produce la terminarea execuiei instruciunii curente, deoarece execuia unei instruciuni nu este ntreruptibil.
9

18.2.1. Principiul transferului prin ntreruperi

SISTEME DE INTRARE IEIRE

Dac sistemul de ntreruperi este validat (activat), se apeleaz o rutin de tratare a ntreruperii, asociat evenimentului care a generat ntreruperea. Dup servirea ntreruperii, se reia programul ntrerupt, din starea existent n momentul apariiei ntreruperii. n acest scop trebuie s se salveze contextul de lucru al UCP: adresa de revenire, care reprezint coninutul contorului de program din momentul apariiei ntreruperii; indicatorii de condiii i de stare ai UCP; registrele interne utilizate de rutina de tratare; registrele de comand de I/E care sunt modificate de rutina de tratare. Sursele de ntreruperi pot fi: dispozitivele periferice care solicit servicii (de exemplu, cereri de transfer); elemente hardware de supraveghere a funcionrii normale a sistemului: circuite de detectare a erorii de paritate a memoriei, de sesizare a cderii tensiunii de alimentare etc; evenimente interne: depiri la operaiile aritmetice, instruciuni inexistente etc. Exist dou metode pentru alegerea adresei rutinei de tratare. Ele se numesc ntreruperi nevectorizate, respectiv vectorizate. n cazul ntreruperilor nevectorizate, rutina de tratare se afl la o adres fix n memorie. La ntreruperile vectorizate, adresa este furnizat procesorului de ctre sursa de ntrerupere, sub forma unui vector de ntrerupere. La unele sisteme, vectorul de ntrerupere indic adresa de nceput a rutinei de tratare. La alte sisteme, vectorul de ntrerupere reprezint o referin la o locaie de memorie unde este memorat adresa de nceput a rutinei de tratare. n cazul transferului prin ntreruperi, UCP transmite o comand modulului de I/E, dup care execut alte operaii. Modulul de I/E va ntrerupe UCP atunci cnd este pregtit pentru transferul datelor, UCP va executa transferul, dup care va continua operaiile anterioare. Pentru intrare, modulul de I/E primete o comand de citire de la UCP. Modulul de I/E va ncepe citirea datelor de la un periferic asociat. Dup depunerea datelor n registrul de date al modulului, acesta genereaz o cerere de ntrerupere, i apoi ateapt pn cnd datele sunt solicitate de UCP. n acest moment, modulul plaseaz datele pe magistrala de date, fiind pregtit pentru o alt operaie de I/E. Din punctul de vedere al UCP, operaiile efectuate pentru intrare sunt urmtoarele. UCP transmite o comand de citire, iar apoi execut alte operaii (alte programe n cazul multiprelucrrii). La sfritul fiecrei instruciuni, UCP testeaz dac exist cereri de ntrerupere. La apariia unei cereri de la un modul de I/E, UCP salveaz contextul programului i execut rutina de tratare a ntreruperii, n aceast rutin UCP citete un cuvnt de date de la Figura 5. Utilizarea transferului prin ntreruperi modulul de I/E i l depune n memorie. Apoi reface contextul pentru citirea unui bloc de programului ntrerupt i continu execuia acestuia. Aceast procedur continu pn cnd se termin de transferat numrul de cuvinte necesare. Figura 5 prezint utilizarea transferului prin ntreruperi pentru citirea unui bloc de date. La majoritatea sistemelor, exist mai multe surse de ntrerupere. Pentru nregistrarea cererilor de ntrerupere exist bistabili indicatori prevzui n acest scop, care pot fi organizai sub forma unui registru al cererilor de ntrerupere. Pentru a se realiza un control individual asupra surselor de ntrerupere, pot exista bistabili masc, organizai ntr-un registru al mtilor de ntrerupere, avnd acelai numr de poziii ca i
10

1.8.2.2. Sisteme de ntreruperi multiple

Capitolul1 - Introducere

registrul cererilor de ntrerupere. Bistabilii din registrul masc pot fi setai i resetai prin program. Dac un bistabil este setat, ntreruperea corespunztoare este validat, n caz contrar ea este invalidat. ntr-un sistem cu ntreruperi multiple, apar dou probleme principale: identificarea sursei de ntrerupere; alegerea ntreruperii care va fi deservit n cazul apariiei mai multor cereri simultane. Pentru identificarea sursei de ntrerupere se utilizeaz urmtoarele tehnici: linii multiple de ntrerupere; polling software; conectarea dispozitivelor n lan (polling hardware); arbitrajul de magistral. Cea mai simpl soluie este de a se prevedea linii multiple de ntrerupere ntre UCP i modulele de l/E. Totui, nu este practic s se dedice un numr prea mare de linii ale magistralei sau de pini ai procesorului pentru liniile de ntrerupere. Ca urmare, chiar dac se utilizeaz linii multiple de ntrerupere, este probabil c la fiecare linie vor fi legate mai multe module de I/E. Deci, pentru fiecare linie trebuie s se utilizeze una din celelalte tehnici. O alt alternativ de identificare este prin polling software. La detectarea unei ntreruperi, UCP execut o rutin de tratare a ntreruperii a crei sarcin este de a interoga fiecare modul de I/E pentru a determina modulul care a generat ntreruperea. Pentru interogare se poate utiliza o linie de comand separat (de exemplu, TEST I/E). n acest caz, UCP activeaz aceast linie i depune adresa unui anumit modul de I/E pe liniile de adres. Modulul de I/E rspunde dac a generat ntreruperea. O alt posibilitate este ca fiecare modul de I/E s conin un registru de stare adresabil. UCP citete registrul de stare al fiecrui modul de I/E pentru a identifica modulul care a generat ntreruperea. Dezavantajul metodei de polling software este c se consum un anumit timp al UCP. O tehnic mai eficient este utilizarea unui lan de dispozitive (daisy chain), care permite de fapt un polling hardware. Toate modulele de I/E partajeaz o linie comun de cerere de ntrerupere. Linia de achitare a ntreruperii este nlnuit prin toate modulele. La detectarea unei cereri de ntrerupere, UCP activeaz un semnal de achitare a ntreruperii. Acest semnal se propag printr-o serie de module de I/E pn cnd ajunge la modulul solicitant, care rspunde de obicei prin plasarea unui vector de ntrerupere pe magistrala de date, reprezentnd adresa modulului de I/E sau un alt identificator unic. UCP utilizeaz vectorul ca un pointer la rutina de tratare corespunztoare modulului respectiv. Astfel se elimin necesitatea execuiei prealabile a unei rutine generale de tratare a ntreruperii. Arbitrajul de magistral utilizeaz de asemenea ntreruperile vectorizate. Cu aceast tehnic, un modul de I/E trebuie s preia mai nti controlul asupra magistralei pentru a putea activa linia de cerere a ntreruperii. Deci, un singur modul poate activa linia la un moment dat. La detectarea ntreruperii, UCP activeaz linia de achitare, iar modulul care a efectuat cererea i plaseaz vectorul pe liniile de date. n cazul cererilor simultane, este necesar stabilirea unor prioriti, i determinarea condiiilor n care UCP poate fi ntrerupt n timpul servirii unei ntreruperi. Perifericele care permit transferuri rapide primesc o prioritate nalt, iar perifericelor lente li se atribuie o prioritate mai redus. Stabilirea prioritii ntreruperilor simultane se poate realiza prin software sau prin hardware. n cazul metodei software, identificarea sursei de prioritate maxim se realizeaz prin polling. Pentru toate ntreruperile, exist o rutin comun de servire, care interogheaz sursele de ntrerupere. Ordinea n care sunt interogate sursele determin prioritatea lor. Dac cererea de ntrerupere a unei surse este activat, se execut saltul la rutina de tratare corespunztoare. Dezavantajul metodei software este c n cazul unui numr mare de surse de ntrerupere, timpul necesar interogrii lor crete.

1.8.2.3. Sisteme de ntreruperi cu prioriti

11

SISTEME DE INTRARE IEIRE

n cazul metodei hardware, se utilizeaz circuite care accept cereri de ntrerupere de la mai multe surse, determin cererea cu prioritatea maxim, pe baza creia genereaz o cerere de ntrerupere ctre procesor. Pentru creterea vitezei, fiecare surs de ntrerupere are un vector propriu de ntrerupere pentru accesul direct la propria rutin de tratare. Pentru aceast metod, liniile de ntrerupere pot fi conectate fie n paralel, fie n serie, sub forma unui lan de dispozitive. 1.8.2.3.1. Conectarea n paralel a liniilor de ntrerupere Aceast metod utilizeaz un registru de ntrerupere (RINT) ai crui bii sunt setai separat de cererile de ntrerupere ale fiecrui dispozitiv. Prioritatea este stabilit n funcie de poziia biilor din registru. n plus poate exista un registru al mtilor de ntrerupere (RM) prin care se poate controla starea fiecrei cereri de ntrerupere. Prin utilizarea registrului masc se pot dezactiva ntreruperile mai puin prioritare n timpul servirii unui dispozitiv mai prioritar. De asemenea, un dispozitiv mai prioritar va putea ntrerupe UCP n timpul servirii unui dispozitiv mai puin prioritar. Logica de prioritate pentru un sistem cu patru surse de ntrerupere este prezentat n Figura 6. Ea const dintr-un registru de ntrerupere ai crui bii sunt setai de sursele de ntrerupere i pot fi resetai prin program. Dispozitivul D0 este cel mai prioritar. Registrul masc are acelai numr de poziii ca i registrul de ntrerupere. Este posibil setarea sau resetarea prin program a oricrui bit din registrul masc. Fiecare bit din RINT i bitul corespunztor din RM sunt conectai la o poart l pentru a genera intrrile pentru codificatorul prioritar. Astfel, o ntrerupere este recunoscut numai dac bitul corespunztor din registrul masc este setat la 1 prin program. Codificatorul prioritar genereaz doi bii ai vectorului de ntrerupere VINT, care este transferat la UCP prin buffere cu trei stri. Validarea bufferelor se realizeaz prin semnalul de recunoatere a ntreruperii (INTACK) de la UCP i prin dou bistabile IST i IEN. Bistabilul de stare a ntreruperilor IST este setat dac a aprut o ntrerupere care nu este mascat. Bistabilul de validare a ntreruperilor IEN poate fi setat sau resetat prin program pentru a se permite un control global al sistemului de ntreruperi. Codificatorul prioritar implementeaz funcia de prioritate. Dac dou sau mai multe intrri sunt activate simultan, va fi luat n considerare intrarea cea mai prioritar. Tabelul de adevr al unui codificator prioritar cu patru intrri este prezentat n Tabelul 4. Intrarea I0 este cea mai prioritar, deci dac aceast intrare este 1, se va genera la ieire xy = 00, indiferent de valorile celorlalte intrri. Intrarea I1 are urmtorul nivel de prioritate. Ieirea este xy = 01 dac I1 = 1, cu condiia ca I0 = 0, indiferent de valorile celorlalte dou intrri mai puin prioritare. Bistabilul IST este setat numai dac una sau mai multe intrri au valoarea 1. Dac toate intrrile sunt 0, IST este ters i celelalte ieiri ale codificatorului nu sunt utilizate. Aceasta deoarece vectorul de ntrerupere nu este transferat la UCP atunci cnd IST = 0. Ieirea codificatorului prioritar se utilizeaz pentru a forma o parte a vectorului de ntrerupere pentru fiecare surs. Celorlali bii ai vectorului li se poate asigna orice valoare. De exemplu, vectorul de ntrerupere se poate forma prin adugarea unor zerouri la ieirile x i y ale codificatorului. In acest caz, vectorii de ntrerupere ai dispozitivelor de I/E din figur vor avea asignate valorile 0, 1,2 i 3.

12

Capitolul1 - Introducere

Figura 6. Conectarea n paralel a liniilor de ntrerupere Tabelul 4. Tabelul de adevr al codificatorului prioritar I0 1 0 0 0 0 Intrri I1 I2 X X 1 X 0 1 0 0 0 0 I3 X X X 1 0 x 0 0 1 1 X Ieiri y IST 0 1 1 1 0 1 1 1 X 0

Figura 2.5. Conectarea n serie a surselor de ntrerupere

1.8.2.3.2. Conectarea n serie a liniilor de ntrerupere Aceast metod de selecie a prioritii const n conectarea n serie a tuturor dispozitivelor care pot genera o cerere de ntrerupere. Dispozitivul cu prioritatea maxim este plasat n prima

13

SISTEME DE INTRARE IEIRE

poziie, ultimul din lan fiind dispozitivul cu prioritatea minim. Aceast metod de conectare a trei dispozitive este prezentat n Fisura 2.5. Linia de cerere a ntreruperii este comun pentru toate dispozitivele, formnd o conexiune SAU cablat. Dac nu exist nici o cerere de ntrerupere, linia de ntrerupere rmne n starea 1 logic. Dac cel puin un dispozitiv solicit o ntrerupere, linia de cerere trece n starea 0 logic, i valideaz intrarea de n-trerupere a UCP. UCP rspunde la o cerere de ntrerupere prin activarea semnalului de achitare INTACK. Acest semnal este recepionat de dispozitivul Do la intrarea sa PI (Priority In). Semnalul de achitare este transmis mai departe la urmtorul dispozitiv prin conexiunea PO {Priority O ut) numai dac Do nu solicit o ntrerupere. Dac acest dispozitiv are o cerere de ntrerupere activat, blocheaz transmiterea semnalului de achitare la urmtorul dispozitiv prin plasarea valorii 0 logic la ieirea sa PO. Apoi Do va depune vectorul de ntrerupere (VINT) pe magistrala de date pentru a fi utilizat de UCP n timpul ciclului de ntrerupere. Un dispozitiv cruia i se aplic un semnal 0 la intrarea sa PI genereaz un semna! 0 la ieirea sa PO pentru a informa urmtorul dispozitiv asupra faptului c semnalul de achitare a fost blocat. Un dispozitiv cu un semnal 1 la intrarea sa PI care solicit o ntrerupere, va intercepta semnalul de achitare prin plasarea unui semnal 0 la ieirea sa PO. Dac dispozitivul nu solicit o ntrerupere, va transmite semnalul de achitare la urmtorul dispozitiv prin generarea unui semnal 1 la ieirea PO. Astfel, dispozitivul cu PI - 1 i PO = 0 este cel care are prioritatea maxim dintre cele care solicit o ntrerupere, i acest dispozitiv va plasa vectorul su de ntrerupere pe magistrala de date. Figura 8 indic logica intern care trebuie coninut de fiecare dispozitiv conectat ntr-un sistem de prioriti daisy chain. Dispozitivul seteaz bistabi-lul su IREQ atunci cnd solicit o ntrerupere de la UCP. Ieirea acestui bistabil trece printr-un inversor cu colector deschis pentru a asigura conexiunea SAU cablat necesar pentru linia comun de ntrerupere. Dac PI= 0, att PO ct i semnalul de validare a vectorului VINT sunt 0, indiferent de starea bistabilului IREQ. Dac PI = 1 i IREQ = 0, rezult c PO = 1 i vectorul este invalidat. Astfel se transmite semnalul de achitare la urmtorul dispozitiv prin ieirea PO. Dispozitivul este activ atunci cnd PI = 1 i IREQ = 1. Aceast condiie plaseaz un semnal 0 la ieirea PO i valideaz vectorul de ntrerupere. Se presupune c fiecare dispozitiv are propriul su vector de ntrerupere. Bistabilul IREQ este resetat dup o ntrziere suficient pentru a asigura recepia vectorului de ctre UCP.

Figura 8. Logica intern a unui etaj al sistemului de prioriti daisy chain

1.8.2.4. Rutine de tratare a ntreruperilor La sfritul fiecrui ciclu de execuie a instruciunilor, UCP verific dac ntreruperile sunt validate (bistabilul IEN este setat) i testeaz dac exist o cerere de ntrerupere. Dac IEN = 1 i exist o cerere activ, UCP va executa un ciclu de ntrerupere. n timpul acestui ciclu, se execut urmtoarele operaii: 1. Se salveaz contorul de program (PC) n stiv. 2. Se activeaz semnalul de achitare a ntreruperii INTACK. 3. Se transfer adresa rutinei de tratare n PC, pe baza vectorului de ntrerupere.
14

Capitolul1 - Introducere

4. Se dezactiveaz sistemul de ntreruperi, prin resetarea bistabilului IEN. 5. Se trece la ciclul de extragere a primei instruciuni din rutina de tratare. n cadrul fiecrei rutine de tratare a ntreruperii trebuie s se execute un set de operaii pentru controlul registrelor sistemului de ntreruperi. Pentru a se valida cererile de prioritate mai mare dect cea a ntreruperii n curs, bistabilul IEN trebuie setat din nou, dup ce ntreruperile mai puin prioritare vor fi dezactivate. Principalele operaii care trebuie executate la nceputul unei rutine de tratare sunt urmtoarele: 6. tergerea biilor din registrul masc corespunztori nivelelor mai puin prioritare. 7. tergerea bistabilului IST care indic starea ntreruperilor. 8. Salvarea registrelor UCP. 9. Validarea ntreruperilor prin setarea bistabilului IEN. La sfritul fiecrei rutine de tratare a unei ntreruperi trebuie s se prevad instruciuni pentru a executa urmtoarele operaii: 10. Dezactivarea ntreruperilor, prin resetarea bistabilului IEN. 11. Refacerea coninutului registrelor UCP. 12. tergerea bitului din registrul cererilor de ntrerupere corespunztor sursei de ntrerupere deservite. 13. Setarea biilor din registrul masc corespunztori nivelelor mai puin prioritare. 14. Refacerea adresei de revenire n registrul PC i activarea sistemului de ntreruperi. Bitul din registrul cererilor de ntrerupere corespunztor sursei de ntrerupere trebuie resetat pentru a fi disponibil din nou pentru solicitarea unei ntreruperi. Secvena de operaii 2-5 trebuie executat cu sistemul de ntreruperi dezactivat. Dac o ntrerupere este recunoscut n timpul execuiei acestor operaii, adresa de revenire poate fi pierdut, iar informaiile din registrul masc i din registrele UCP pot fi ambigue. Operaiile de la nceputul i de la sfritul unei rutine de tratare pot fi executate prin program. O parte a acestor operaii pot fi executate prin hardware, caz n care se reduce timpul necesar deservirii ntreruperilor. 1.8.2.5. Exemple de sisteme de ntreruperi Calculatoarele IBM PC/AT La calculatoarele IBM PC/XT existau 8 nivele de ntrerupere, fiind utilizat un controler 8259A. La calculatoarele IBM PC/AT exist 16 nivele de ntrerupere, fiind utilizate dou controlere 8259A conectate n cascad. Ieirea celui de-al doilea controler este conectat la intrarea de nivel 2 a primului controler. Prioritatea nivelelor de ntrerupere ale controlerului al doilea este mai mare dect cea a nivelelor 3-7 ale primului controler. Cele dou controlere gestioneaz ntreruperile cu numerele cuprinse ntre 08h i OFh, respectiv ntre 70h i 77h. Adresele porturilor controlerelor sunt 20h i 21h, respectiv A0h i A1h. Deoarece nivelul 2 al primului controler nu se poate utiliza din cauza legrii n cascad, se utilizeaz linia de nivel 1 a controlerului al doilea (creia i corespunde ntreruperea cu numrul 71 h). Vectorul acestei ntreruperi este redirecionat la rutina de deservire a ntreruperii de nivel 2. Similar s-a procedat i cu ntreruperea corespunztoare coprocesorului aritmetic, la calculatoarele XT aceast ntrerupere fiind deservit de rutina corespunztoare ntreruperii nemascabile NMI. Pentru a pstra analogia, rutina de tratare a erorilor coprocesorului aritmetic este redirecionat la rutina corespunztoare ntreruperii NMI. Microprocesoarele Motorola 680x0 La microprocesoarele Motorola din seria 680x0, ntreruperile sunt numite excepii, acestea cuprinznd derutri generate prin program, ntreruperi datorit erorilor hardware, ca i ntreruperi externe de I/E. Fiecrei excepii i se asociaz un vector N de 8 bii, acesta reprezentnd un pointer la o locaie de memorie cu adresa AN care pstreaz adresa rutinei de tratare a excepiei respective.
15

SISTEME DE INTRARE IEIRE

Locaiile de memorie cu adresele ntre 0 i 3FFh formeaz o tabel a vectorilor de ntrerupere care pstreaz 256 de adrese utilizate pentru tratarea ntreruperilor. Adresele cuprinse ntre 100h i 3FFh ale tabelei sunt rezervate pentru 192 de vectori de ntrerupere ale utilizatorilor; celelalte locaii sunt asignate de Motorola unor tipuri de ntreruperi specifice. De exemplu, la ntlnirea unei instruciuni de mprire la zero, procesorul execut o secven care transfer controlul la programul a crei adres de nceput se afl n locaiile de adres 14h-17h, corespunztoare vectorului de excepie N= 5. Exist dou tipuri (moduri) de ntreruperi vectorizate: un mod general, n care dispozitivul care genereaz ntreruperea furnizeaz un numr al vectorului indicnd intrarea n tabela vectorilor, i un mod "autovector" mai simplu, care permite dispozitivului de I/E s solicite unul din cei apte vectori de excepie ale cror adrese sunt generate intern de UCP. Procesoarele 680x0 dispun de 3 pini dedicai nivelului de prioritate, IPL0 - IPL2 (Interrupt Priority Level). Nivelele 0-6 sunt mascabile, iar nivelul 7 este nemascabil. Procesorul are un cmp de prioritate de 3 bii n cuvntul de stare. Atunci cnd un periferic trebuie s genereze o cerere de ntrerupere, depune prioritatea pe cei 3 pini i activeaz un semnal de comand. Depinznd de prioritatea sa curent, procesorul poate accepta ntreruperea, prin activarea unui semnal IPEND (Interrupt PENDing). La calculatoarele bazate pe procesoarele 680x0 prelucrarea ntreruperilor are loc n felul urmtor. La sfritul fiecrui ciclu de instruciune, UCP verific dac exist o cerere de ntrerupere i i testeaz prioritatea n modul descris mai jos. Dac UCP accept cererea, i suspend procesarea normal a instruciunilor i execut o secven de rspuns la ntrerupere. UCP salveaz mai nti vechiul coninut al registrului de stare SR ntr-un registru temporar i apoi seteaz starea sistemului n modul supervizor. Apoi, n funcie de semnalele de control generate de sursa de ntrerupere, UCP fie citete un vector N furnizat de sursa de ntrerupere (modul general), fie genereaz vectorul N n mod intern (modul "autovector"). UCP continu cu salvarea coninutului contorului de program PC, a vechiului coninut al registrului de stare SR i a unor informaii interne n stiva supervizor, una din stivele pstrate de UCP n memoria principal. Utiliznd AN ca adres, UCP execut apoi o citire a memoriei pentru ncrcarea vectorului de excepie n PC, dup care execut rutina de tratare a excepiei. Figura 9 prezint o interfa reprezentativ pentru ntreruperile de I/E ale procesoarelor 680x0. Cele trei linii IPL se utilizeaz att pentru generarea cererilor de ntrerupere, ct i pentru indicarea prioritii lor. Dac IPL = 0, nu exist cereri de ntrerupere, iar dac IPL = i (i = 1, ..., 7) exist o cerere cu nivelul de prioritate i. Atunci cnd exist o cerere de ntrerupere (IPL 0), UCP compar nivelul de prioritate al cererii cu valoarea reprezentat de trei bii ai mtii de ntrerupere I, care sunt pstrai n registrul de stare SR. Dac IPL > I, UCP rspunde la cererea de ntrerupere la sfritul ciclului de instruciune n curs; dac IPL < I, cererea de ntrerupere este ignorat. Deoarece registrul SR poate fi modificat de anumite instruciuni privilegiate, se poate controla prin software dac UCP va rspunde sau nu la cererile de ntrerupere. Setarea mtii de ntrerupere I la 0 valideaz toate cererile de ntrerupere. Dac I este setat la 7, toate ntreruperile sunt ignorate cu excepia celor de prioritate maxim (IPL = 7), care sunt nemascabile. Sursele de ntrerupere pot utiliza astfel pn la 192 de vectori, i fiecare din acestea poate fi asignat la unul din 7 nivele de prioritate. UCP confirm o cerere de ntrerupere prin setarea fiecrei linii de ieire FC (Function Code) la 1 pentru a forma un semnal de 3 bii indicnd recunoaterea ntreruperii. De asemenea, nivelul de prioritate al ntreruperii recunoscute este plasat pe liniile de adres A1:3. n modul general de ntrerupere, controlerul de ntrerupere rspunde prin plasarea unui numr al vectorului de ntrerupere N pe liniile de date D0:7. n circuitul din Figura 9, semnalele FC sunt utilizate direct pentru strobarea vectorului de ntrerupere N pe magistrala de date. Pentru indicarea modului "autovector", controlerul de ntreruperi rspunde la FC = 1 prin activarea unei linii speciale de control AVEC (Automatic VECtor), determinnd ca UCP s genereze intern valoarea N dup formula N =24 + IPL.

16

Capitolul1 - Introducere

Figura 9. Interfaa ntreruperilor la procesorul Motorola 68000

Figura 10. Deservirea ntreruperilor la calculatorul PDP-11 Calculatoarele PDP-11 Aceste calculatoare au o magistral unic (Unibus). Comunicaia ntre dou dispozitive conectate pe magistral este realizat n modul mater-slave. La un moment dat exist un singur dispozitiv care deine controlul asupra magistralei; acest dispozitiv este denumit master. Pentru a putea genera o ntrerupere, un dispozitiv trebuie mai nti s devin mater. Exist 4 linii de cerere de control asupra magistralei pentru ntrerupere, BR7 BR4 (Bus Request), BR7 avnd prioritatea cea mai mare. Mai exist o cerere de transfer prin DMA sau pentru transferuri directe ntre dispozitive (de exemplu ntre disc i terminal), numit NPR (Non Processor Request), cu prioritatea mai mare dect cererile BR.
17

SISTEME DE INTRARE IEIRE

Se utilizeaz un sistem de ntreruperi vectorizate cu prioriti multiple. Toate modulele de I/E partajeaz o singur linie de cerere de ntrerupere pe magistrala Unibus. Dup ce un modul de I/E obine controlul asupra magistralei, se execut urmtoarele operaii (Figura 10): 1. Modulul activeaz semnalul BBSY (Bus Busy). 2. Modulul activeaz semnalul INTR (Interrupt Requesi) i plaseaz vectorul pe liniile de date. 3. La sfritul execuiei instruciunii curente, UCP testeaz semnalul INTR, citete vectorul de ntrerupere i activeaz semnalul SSYN (Slave Sync) pentru a indica acceptarea ntreruperii. 4. Modulul de I/E rspunde prin dezactivarea semnalelor BBSY, INTR i invalidarea datelor. 5. UCP rspunde prin dezactivarea semnalului SSYN i preluarea controlului asupra magistralei, dup care poate procesa ntreruperea. Prioritatea este cablat pentru fiecare dispozitiv, cu excepia UCP, a crei prioritate este programabil, fiind pstrat n 3 bii ai cuvntului de stare. Un program care ruleaz cu nivelul de prioritate 7 nu poate fi ntrerupt de un dispozitiv extern. Pentru ca ntreruperea s aib loc, programul n curs trebuie s ruleze cu un nivel de prioritate mai mic dect cererea dispozitivului extern. Dac la aceeai linie de cerere (BR) sunt conectate mai multe dispozitive, un dispozitiv mai apropiat de UCP are prioritatea mai mare. Astfel, prioritatea sistemului este bidimensional, Dei nivelul de prioritate al dispozitivului este fixat, prioritatea lui. se schimb dup cum variaz prioritatea UCP. Dup ce dispozitivul devine mater, transmite unitii centrale o comand de ntrerupere i o adres de la nceputul memoriei (vectorul de ntrerupere), adres la care se afl: un cuvnt (de 16 bii) cu adresa rutinei de serviciu; noul cuvnt de stare al programului. UCP memoreaz cuvntul de stare i contorul de program (PSW, PC) n registrele temporare ale UCP, preia adresa rutinei de serviciu i noul PC, i apoi salveaz vechiul PSW i PC n stiva curent indicat de noul PSW. Dup execu,tarea rutinei de serviciu, se revine la procesul ntrerupt. Exist o serie de erori i condiii de programare care produc ntreruperea UCP i saltul la un set de adrese fixe (ntreruperi speciale): erori de adresare impar; erori de dialog pe magistral (time-out), cnd este generat un semnal de sincronizare de la dispozitivul mater i nu apare nici un semnal de rspuns ntr-un anumit timp (adresarea unei locaii inexistente sau a unui periferic inexistent); erori de paritate a memoriei; instruciuni ilegale; instruciuni rezervate (cu cod neatribuit); depire n virgul mobil; depirea stivei; cderea tensiunii de alimentare; rutina are la dispoziie 2 ms pentru a salva coninutul registrelor i pregtirea perifericelor pentru cderea tensiunii de alimentare.

1.8.3. Transferul prin acces direct la memorie (DMA)


Transferul programat, chiar dac se efectueaz prin ntreruperi, necesit intervenia UCP pentru transferul datelor ntre memorie i un modul de I/E, pentru fiecare octet sau cuvnt. Acest mod de transfer are deci dou dezavantaje:
18

1.8.3.1. Principiile transferului prin DMA

Capitolul1 - Introducere

Figura 11. Structura general a unui modul DMA 1. Rata de transfer este limitat de viteza cu care UCP poate testa i deservi un dispozitiv. 2. UCP este ocupat cu gestionarea transferului, fiind necesar execuia unui anumit numr de instruciuni pentru fiecare transfer. Transferul prin DMA elimin aceste dezavantaje prin executarea transferului direct ntre memoria intern i sistemul de I/E, participarea UCP fiind foarte redus. Este necesar un modul suplimentar, numit modul DMA sau controler DMA, care poate prelua controlul asupra magistralelor sistemului, genernd semnalele de comand necesare. Structura general a unui modul DMA este prezentat n Figura 11. Modulul DMA trebuie s conin urmtoarele elemente principale: o logic pentru asigurarea legturii cu memoria (semnale de citire i scriere); o linie de cerere DMA ctre memorie i o linie de acceptare DMA de la UCP; o logic de arbitraj a prioritilor n cazul existenei mai multor canale; un registru de comenzi pentru validarea modulului DMA, selectarea prioritii canalelor, selectarea modului de lucru etc. Pentru fiecare canal, trebuie s existe urmtoarele registre: registru de adrese, pentru pstrarea adresei de nceput a transferului i a adresei curente; registru numrtor, pentru pstrarea numrului de cuvinte rmase de transferat; registru de stare, care indic starea activat sau neactivat a canalului i condiia de terminare a transferului. Controlerul DMA trebuie s preia controlul asupra magistralei pentru a efectua transferul datelor cu memoria. De aceea, controlerul DMA trebuie s utilizeze magistrala numai cnd aceasta nu este utilizat de UCP, sau s determine ca UCP s suspende temporar operaiile. Rezult dou metode de efectuare a transferului DMA: 1. Prin utilizarea intervalelor de timp n care UCP nu face acces la memorie; metoda se numete transfer prin furt de ciclu (cycle stealing),deoarece modulul DMA "fur" un ciclu de memorie de la UCP. Activitatea UCP nu este influenat de operaiile DMA, cu excepia cazului cnd se ajunge la un punct n care este necesar memoria. 2. Prin suspendarea operaiilor efectuate de UCP n timpul transferului i trecerea magistralei n starea de nalt impedan. Ciclul de instruciuni se va relua apoi din punctul n care a fost suspendat. Metoda se numete transfer n rafal (data break). Figura 12 indic punctele din ciclul de instruciune n care activitatea UCP poate ii suspendat. n fiecare caz, UCP este suspendat naintea momentului n care necesit utilizarea magistralei. Controlerul DMA transfer un cuvnt i returneaz controlul UCP. De notat c aceasta nu este o

19

SISTEME DE INTRARE IEIRE

ntrerupere; nu se salveaz contextul programului i nu se execut alte operaii, ci UCP i suspend activitatea pentru un ciclu de magistral.

Figura 12. Puncte de suspendare ale activitii UCP pentru DMA i ntreruperi Pentru citirea sau scrierea unui bloc de date, UCP transmite controlerului DMA o secven de iniializare, care trebuie s conin urmtoarele informaii: sensul transferului (citire sau scriere); adresa dispozitivului de I/E implicat; adresa de nceput a zonei de memorie cu care se efectueaz transferul; numrul de octei sau de cuvinte care trebuie transferate. Pentru transmiterea acestor informaii se utilizeaz transferul programat.

Figura 13. Utilizarea transferului prin DMA pentru citirea unui bloc de date UCP va executa alte operaii, iar controlerul DMA va solicita controlul asupra magistralei, genernd adresele i semnalele de comand pentru efectuarea transferului. Se incrementeaz registrul adresei curente i se decrementeaz numrtorul de cuvinte. Dup acest ciclu DMA, n care s-a transferat un cuvnt, se continu cu alte cicluri sau se d controlul UCP. La terminarea transferului, controlerul genereaz un semnal de ntrerupere ctre UCP. Astfel, interaciunea dintre UCP i sistemul de I/E este la nivel de bloc, UCP intervenind numai la nceputul i sfritul transferului (Figura 13). Eficiena este mult mai ridicat dect n cazul transferului prin ntreruperi.

20

Capitolul1 - Introducere

Exist mai multe configuraii ale unui sistem de I/E care utilizeaz transferul prin DMA (Figura 14).

a) Magistral unic, DMA separat

b) Magistral unic, DMA-I/E integrat n primul exemplu (Figura 14 a), toate modulele partajeaz aceeai magistral sistem. Modulul

b) Magistral de I/E Figura 14. Diferite configuraii ale unui sistem de I/E care utilizeaz transferul prin DMA DMA utilizeaz I/E programate pentru transferul datelor ntre memorie i un modul de I/E. Aceast configuraie, dei poate fi ieftin, este ineficient. Fiecare transfer a unui cuvnt necesit dou cicluri de magistral, ca i n cazul transferului programat prin intermediul UCP. Numrul ciclurilor de magistral poate fi redus prin integrarea funciilor DMA i a celor de I/E. n acest caz exist o cale ntre modulul DMA i unul sau mai multe module de I/E, cale care nu include magistrala sistem (Figura 14 b). Logica DMA poate fi o parte a unui modul de I/E, sau poate fi un modul separat care controleaz unul sau mai multe module de I/E. n ultimul exemplu (Figura 14 c) modulele de I/E se conecteaz la modulul DMA printr-o magistral de I/E. Astfel se reduce numrul interfeelor din modulul DMA la una singur i se permite extinderea sistemului. n ultimele dou cazuri, magistrala sistem pe care modulul DMA o partajeaz cu UCP i memoria este utilizat de modulul DMA numai pentru transferul datelor cu memoria. Transferul datelor ntre modulul DMA i modulele de I/E nu utilizeaz magistrala sistem.

1.8.3.2. Exemple de sisteme DMA


Calculatoarele IBM PC/AT La aceste calculatoare se utilizeaz dou controlere DMA 8237A, care permit gestionarea a 7 canale DMA. Se pot conecta controlere suplimentare pe plcile adaptoare. Controlerele sunt conectate n cascad, ieirea HRQ (Hold ReQuest) a primului controler fiind conectat la intrarea DREQ (DMA REQuest) a celui de-al doilea. Pentru ambele controlere, cererea de preluare a magistralelor este iniiat de ieirea HRQ a celui de-al doilea controler, care se transmite procesorului. Achitarea cererii de ctre procesor se realizeaz prin semnalul HOLDA (HOLD
21

SISTEME DE INTRARE IEIRE

Acknowledge) conectat la intrarea HLDA a aceluiai controler, iar achitarea pentru primul controler se realizeaz prin semnalul DACK (DMA Acknowledge). Primul controler gestioneaz canalele 0-3. Pe aceste canale se pot efectua transferuri de 8 bii ntre dispozitive de I/E de 8 bii i memorii de 8 sau 16 bii. Toate canalele se pot utiliza n spaiul de adrese pentru transferul blocurilor de maxim 64 KB. Adresarea ntregului spaiu este asigurat de un registru de pagin DMA (DMA Page Register). Acesta este realizat cu un circuit de mapare a memoriei 74LS612, care conine 16 registre de cte 12 bii, cu adresare dubl pentru citire i scriere. Din cele 16 registre (numite i registre de segment DMA) se utilizeaz 8. Adresele registrelor de segment DMA pentru canalele 0, 1, 2 i 3 sunt: 87h, 83h, 81h, respectiv 82h. Controlerul al doilea gestioneaz canalele 4-7. Canalul 4 se utilizeaz pentru legarea n cascad. Canalele 5-7 permit transferuri de 16 bii a unor blocuri de maxim 128 KB din spaiul de adrese al memoriei, dar cuvintele de 16 bii trebuie s se afle la adrese pare. Adresele registrelor de segment DMA pentru canalele 5, 6 i 7 sunt: 8Bh, 89h, respectiv 8Ah. Calculatoarele PDP-11 Pentru perifericele care sunt controlate prin DMA, logica DMA este integrat cu modulul de I/E i cu interfeele pentru magistrala Unibus (asemntor configuraiei din Figura 14 b). Diagrama simplificat pentru un transfer DMA este prezentat n Figura 15.

Figura 15. Diagrama de timp a unui transfer DMA pe magistrala Unibus (PDP-11) Modulul DMA solicit controlul asupra magistralei prin activarea semnalului NPR (NonProcessor Request). Acest semnal are o prioritate mai ridicat dect alte semnale de cerere de ntrerupere. Semnalul SACK (Select ACKnowledge) este activat de modulul DMA dup ce a fost informat de UCP c a fost selectat pentru a prelua controlul asupra magistralei. Acest semnal rmne activ pn la preluarea controlului asupra magistralei de ctre dispozitivul solicitant, i n acest timp nu mai sunt acceptate alte cereri de magistral. Dup ce modulul DMA devine master, poate transfera datele n memorie. Acest modul poate fi programat pentru a transfera un bloc de cuvinte n timp ce pstreaz controlul asupra magistralei. Pentru aceasta, modulul pstreaz semnalul BBSY (Bus Busy) activat, prevenind preluarea controlului asupra magistralei de ctre alte dispozitive i UCP. Semnalul MSYN (Master Synchronization) indic prezena datelor valide pe magistral. La terminarea operaiei, se dezactiveaz semnalul BBSY, i se permite astfel reluarea operaiilor de ctre UCP. Pentru iniierea unui transfer DMA, UCP nscrie informaiile necesare de control n locaiile de memorie corespunztoare modulului DMA, deoarece la calculatoarele PDP-11 adresele de I/E sunt mapate n memorie. Datele vor fi transferate ntr-unul sau mai multe blocuri. Un exemplu de modul DMA care se poate utiliza pentru interfaarea echipamentelor cu magistrala Unibus este DR-11B. Conine patru registre, crora li se asigneaz adrese de memorie: bufferul de date (Data Buffer), registrul de stare i comand (Status and Command), registrul de adres (Bus Address) i contorul de cuvinte (Word Count). Bufferul de date nu este accesat n mod normal de UCP. Registrul de adres specific adresa de nceput a memoriei pentru citire i scriere. Contorul de cuvinte este iniializat de UCP cu dimensiunea blocului care va fi transferat. Registrul de stare i comand poate fi nscris cu bii de comand ca citire, scriere, start operaie etc. Acelai registru poate fi citit de UCP pentru monitorizarea diferitelor condiii de stare.
22

Capitolul1 - Introducere

1.8.4. Transferul prin canale de l/E


Dei accesul direct la memorie elibereaz UCP de numeroase operaii de I/E, n cazul perifericelor rapide vor fi necesare numeroase cicluri de magistral pentru referinele la memorie. n timpul acestor cicluri, UCP trece n starea de ateptare. Furturile de ciclu vor satura magistrala, i chiar dac se va genera o singur ntrerupere la fiecare bloc transferat, se consum un anumit timp pentru tratarea ntreruperilor. Pentru a se elimina aceste dezavantaje, modulele de I/E au fost mbuntite, devenind procesoare care dispun de un set de instruciuni specializat pentru I/E. UCP transmite o comand procesorului de I/E pentru a executa un program de I/E din memorie. Acesta execut instruciunile programului fr intervenia UCP. Astfel este posibil specificarea de ctre UCP a unei secvene de operaii de I/E i ntreruperea UCP numai la terminarea ntregii secvene. Unele module de I/E au o memorie local proprie, fiind de fapt calculatoare specializate care pot controla un set larg de dispozitive de I/E, cu o intervenie minim a UCP. Modulele de I/E care pot executa programe sunt numite n unele cazuri canale de I/E, iar n alte cazuri procesoare de I/E (mai ales cele care dispun de o memorie local proprie). Structura unui calculator cu un canal de I/E este prezentat n Figura 16. Comunicaia cu memoria se poate realiza prin DMA. Canalul de I/E asigur o cale pentru transferul datelor ntre diferitele periferice i memorie. UCP iniiaz transferul de I/E, dup care canalul de I/E funcioneaz independent de UCP i continu transferul datelor ntre periferice i memorie.

1.8.4.1. Principiul transferului prin canale de I/E

Figura 16. Structura unui calculator cu un canal de I/E Canalul poate restructura datele de la diferite periferice. De exemplu, poate fi necesar citirea mai multor caractere de la un dispozitiv de intrare i mpachetarea lor ntr-un cuvnt naintea transferului n memorie. Datele sunt preluate de canal la viteza dispozitivului n timp ce UCP execut un program. Dup asamblarea datelor de intrare ntr-un cuvnt de memorie, acesta se transfer de la canalul de I/E direct n memorie printr-un furt de ciclu. Similar, un cuvnt transferat din memorie la canalul de I/E va fi transmis la un dispozitiv de ieire la viteza i numrul de bii ai acestuia.

23

SISTEME DE INTRARE IEIRE ISTEME IE

Figura 17. Tipuri de canale de I/E De obicei, UCP are sarcina iniierii operaiilor de I/E, prin instruciuni de start al unui transfer i de test al strii operaiilor. Canalul solicit o intervenie a UCP printr-o cerere de ntrerupere, i rspunde la cererile UCP prin plasarea unui cuvnt de stare ntr-o locaie de memorie, cuvnt care poate fi examinat de UCP. Pentru execuia unei operaii de I/E, UCP transfer o instruciune canalului, indicnd perifericul care trebuie utilizat i adresa de nceput a instruciunilor suplimentare. Instruciunile citite de canal din memorie se numesc comenzi, pentru a le deosebi de instruciunile transmise de UCP canalului. Instruciunile i comenzile au funcii similare. Cuvintele de comand sunt pregtite i sunt depuse de UCP n memorie. Acestea reprezint un program de canal. UCP informeaz canalul asupra locaiilor n care va gsi cuvintele de comand. Exist dou tipuri de canale de I/E mai utilizate: canale selectoare i canale multiplexoare (Figura 17). Un canal selector controleaz mai multe periferice rapide, la un moment dat fiind dedicat pentru transferul datelor cu un singur periferic. Canalul de I/E selecteaz un periferic i efectueaz transferul datelor. Fiecare periferic, sau un set redus de periferice, este gestionat de un controler (modul de I/E). Astfel, canalul de I/E are rolul de a gestiona aceste controlere de I/E n locul UCP. Un canal multiplexor poate gestiona transferuri simultane cu mai multe periferice, prin multiplexare n timp. Pentru periferice lente, un multiplexor la nivel de octet accept sau transmite caractere la dispozitive multiple. Pentru periferice rapide, un multiplexor la nivel de bloc transfer blocuri de date ntre diferite dispozitive.

1.8.4.2. Comunicaia dintre UCP i canalul de l/E

24

Capitolul1 - Introducere

n cele mai multe cazuri, aceast comunicaie se realizeaz prin mesaje depuse n memorie. Se va prezenta printr-un exemplu simplificat modul n care poate avea loc comunicaia dintre UCP i canal. UCP iniiaz o operaie de I/E printr-o instruciune de I/E adresat canalului. Un format posibil al acestei instruciuni este prezentat n Figura 18.

Figura 18. Formatul unei instruciuni tipice pentru iniierea unei operaii de I/E Codul instruciunii are urmtoarele cmpuri: 1. Un cod de operaie care specific operaia de executat 2. O adres de dispozitiv care specific adresa unui anumit dispozitiv de I/E conectat la canal O adres de memorie care va fi utilizat de canal atunci cnd acesta rspunde la instruciunea UCP Secvena de operaii care se execut este ilustrat n Figura 19. UCP transmite o instruciune de test I/E ctre canal. Canalul rspunde prin depunerea unui cuvnt de stare n memorie, la adresa specificat de cmpul de adres al instruciunii, care indic starea canalului i a dispozitivului de I/E. UCP testeaz cuvntul de stare din memorie i decide operaia urmtoare. UCP transmite apoi instruciunea de lansare a transferului de I/E. Aceast instruciune specific adresa primului cuvnt de comand pentru operaia de I/E. UCP poate continua apoi execuia unui alt program n timp ce canalul este ocupat cu transferul. La terminarea transferului, canalul transmite o cerere de ntrerupere ctre UCP. UCP rspunde la aceast cerere prin transmiterea instruciunii de citire a strii canalului. Canalul va plasa un cuvnt de stare n locaia de memorie specificat de instruciune, care indic terminarea normal a transferului sau apariia unor erori. Cuvintele de comand specific programul care este executat de canal. Adresa cuvintelor de comand este transmis de UCP printr-o instruciune de start I/E. Formatul tipic al unui cuvnt de comand este indicat n Figura 20.

25

SISTEME DE INTRARE IEIRE

Figura 19. Operaiile executate pentru transferul prin canale de I/E

Figura 20. Formatul tipic al unui cuvnt de comand pentru un canal de I/E Cmpurile cuvntului de comand sunt: 1. adresa buffer-ului utilizat pentru transfer; 2. contorul de cuvinte indic lungimea bufferului, deci numrul de cuvinte pe care le conine; 3. cmpul de operaie specific operaia care trebuie executat: o intrare, o ieire sau alte operaii; 4. cmpul special indic o funcie specific unui anumit dispozitiv de I/E, cteva din acestea fiind indicate n figur. Canalul de I/E asigur transferul datelor ntre mai multe periferice i memorie. Canalul i UCP utilizeaz aceeai memorie, astfel c numrul de periferice este limitat de timpul de acces al memoriei. Unele uniti rapide, ca discurile magnetice, pot utiliza un numr mare de cicluri de memorie. n acest caz, viteza UCP va fi micorat, deoarece va trebui s atepte terminarea unui acces la memorie de ctre canal naintea utilizrii memoriei.

1.8.4.3. Exemple de canale de i/E


26

Capitolul1 - Introducere

Canalul de I/E al calculatoarelor IBM System/370 n mod obinuit, utilizarea canalelor de I/E a fost asociat cu calculatoarele mari (mainframe), din urmtoarele motive: calculatoarele mari au n general memorii externe de mare capacitate; cele mai multe calculatoare mari permit conectarea simultan a unui numr mare de utilizatori, de ordinul sutelor. Utilizarea canalelor de I/E s-a extins la minicalculatoare i chiar la microcalculatoare. Cu toate acestea, cel mai cunoscut canal de I/E este cel utilizat la calculatoarele de tip mainframe ale IBM, cele mai multe dintre acestea fiind bazate pe arhitectura IBM System 370. Figura 22 prezint structura subsistemului de I/E pentru familia de calculatoare IBM 370. UCP controleaz unul sau mai multe canale. Un canal poate fi un multiplexor la nivel de octet sau de bloc. Fiecare canal gestioneaz unul sau mai multe controlere de I/E, numite uniti de control. La o Figura 21. Execuia unei operaii la canalul de I/E IBM 370 unitate de control se conecteaz un set de periferice similare sau identice. De exemplu, la un controler de disc se conecteaz mai multe uniti de disc. Dup cum se poate observa n figur, o unitate de control poate fi conectat la mai multe canale, iar un periferic poate fi conectat la mai multe uniti de control. Astfel se asigur mai multe ci fizice ntre UCP i un periferic, iar n cazul n care o cale este ocupat sau este invalidat, se poate utiliza o alt cale. Exist trei tipuri de directive de I/E: instruciuni de I/E ale UCP; comenzi de canal; ordine pentru unitile de control. Fiecare tip se utilizeaz pentru controlul operaiilor de I/E la nivele hardware diferite i asigur nivele diferite de detaliere n ceea ce privete operaiile de I/E. n Figura 21 se prezint etapele de execuie a unei operaii de I/E. Etapele de execuie sunt urmtoarele: 1. UCP iniiaz operaia de I/E printr-o instruciune de I/E adresat unui canal de I/E. 2. Canalul citete din memorie unul sau mai multe cuvinte de comand ale canalului (Channel Command Word - CCW), i execut comenzile sau instruciunile acestor cuvinte. 3. Pe baza comenzilor din CCW, canalul transmite ordine pentru una din unitile sale de control. n timpul operaiei de I/E, se transfer informaii de control ntre canal i unitatea de control. 4. Pe baza ordinelor recepionate de la canal, unitatea de control transmite semnale de control unuia din dispozitivele sale. n timpul transferului de date, se pot transmite semnale ntre unitatea de control i dispozitiv. 5. Pentru o operaie de citire, datele sunt transferate de la dispozitiv la canal, iar apoi de la canal direct n memoria principal. Pentru o operaie de scriere, secvena este invers. 6. Dup terminarea unei operaii de I/E (cu succes sau cu o eroare), canalul genereaz o ntrerupere ctre UCP.
27

SISTEME DE INTRARE IEIRE

Figura 22. Structura sistemului de I/E a calculatoarelor IBM 370

Figura 23. Structura cuvintelor utilizate la canalul IBM 370 UCP comunic direct cu canalele de I/E prin semnale dedicate de control, i indirect prin zone rezervate de memorie. Formatele cuvintelor asociate cu operaiile canalelor sunt prezentate n Figura 23. Instruciunile de l/E cuprind trei cmpuri: codul operaiei; adresa canalului; adresa dispozitivului. Codul operaiei specific una din cele opt instruciuni de I/E. Acestea sunt urmtoarele: Start I/E (Start I/O-SIO); Start I/E cu eliberare rapid (Start I/O Fast Release - SIOF); Test canal (Test Channel); Test I/E (Test I/O); Oprire I/E (Halt I/O); Reluare I/E (Resume I/O); Oprire dispozitiv (Halt Device); Memorare identificare canal (Store Channel Identification). Instruciunea SIO se utilizeaz pentru iniierea unei operaii de I/E care implic determinarea strii unui dispozitiv, controlul dispozitivului i efectuarea transferului de date ntre dispozitiv i
28

Capitolul1 - Introducere

memoria principal. Instruciunea SIOF este similar cu SIO, dar n acest caz UCP este eliberat imediat, naintea determinrii strii dispozitivului selectat. Canalul adresat rspunde la fiecare instruciune de I/E pe care o execut. De asemenea, canalul seteaz codurile de condiie din cuvntul de stare al programului (PSW). Aceste coduri indic dac dispozitivul sau canalul este ocupat sau disponibil, dac este operaional, dac operaia: de I/E a fost lansat cu succes, i dac a fost depus n memorie un cuvnt de stare de ctre canal. Formatul cuvntului de stare este prezentat n Figura 23(b). Acest cuvnt este memorat ntotdeauna la adresa 64 din memorie. Primul cmp conine o cheie de acces de 4 bii asociat cu fiecare bloc de 2 KB sau 4 KB de memorie, asigurnd un mecanism de protecie mpotriva accesului neautorizat n zona de memorie a altui program. Cmpul de adres conine adresa urmtoare ultimului cuvnt de comand care a fost executat de canal. Cmpul de stare conine starea dispozitivului i a canalului i eventualele erori care au aprut n timpul transferului. Contorul conine numrul de cuvinte care nu au fost transferate nc (dac transferul s-a terminat cu succes, acest cmp conine zero). Canalul rspunde la o instruciune SIO sau SIOF prin citirea adresei primului cuvnt de comand al canalului (Channel Command Word - CCW). Aceast adres se afl n locaia 72 din memorie. Formatul CCW este indicat n Figura 23(c). Codul comenzii specific operaia de executat, de exemplu: citire, scriere, citirea strii dispozitivului, execuia unei funcii de control specifice dispozitivului (care nu implic transferul datelor, ca poziionarea mecanismului de acces la disc), sau nlnuirea ntre mai multe cuvinte CCW care nu se afl n locaii contigue. Adresa datelor indic adresa de nceput a zonei de memorie utilizat pentru transfer. Contorul indic numrul de octei care trebuie transferai. Biii indicatori specific informaii suplimentare despre operaia de executat, de exemplu: nlnuirea datelor, utilizat pentru transferul datelor din sau n zone necontigue de memorie; nlnuirea comenzilor, utilizat pentru execuia mai multor cuvinte CCW printr-o singur instruciune SIO sau SIOF; salt, care indic o operaie de citire fr transferul datelor. Un program de canal const dintr-unul sau mai multe cuvinte CCW. Cuvintele multiple sunt executate prin nlnuire i ramificaie. n cazul nlnuirii, la terminarea unei comenzi canalul va ncrca urmtorul cuvnt CCW. Comanda Transfer In Channel permite modificarea ordinii de execuie a cuvintelor CCW. La terminarea unei operaii, canalul memoreaz starea operaiei n cuvntul de stare al canalului i genereaz un semnal de ntrerupere pentru UCP. Procesorul de I/E Intel 8089 Conine dou canale independente de I/E, fiecare din ele combinnd caracteristicile unei UCP cu cele ale unui controler DMA: pot executa programe, ca i UCP, avnd n jur de 50 de tipuri de instruciuni, i pot efectua transferuri DMA. Este direct compatibil cu procesorul 8086 configurat n modul maxim. Principii de funcionare Comunicarea UCP cu procesorul de I/E (PIE) are loc n dou moduri: modul de iniializare; modul de comand. Iniializarea unei operaii de I/E de ctre UCP se realizeaz prin depunerea unor blocuri de mesaje n memorie, care descriu operaia care trebuie executat, i activarea unor semnale. PIE citete aceste blocuri, execut operaia i informeaz UCP la terminarea acesteia. Structura blocurilor de mesaje se prezint n Figura 24. La iniializare, UCP transmite PIE adresa unui bloc de control al canalelor CB (Control Block), aflat n spaiul de memorie al UCP. Blocul este mprit n dou jumti, cte una pentru fiecare canal. Acestea conin: un octet de stare BUSY, actualizat de canal
29

SISTEME DE INTRARE IEIRE

Indic starea ocupat sau disponibil a canalului. un octet de comand CCW (Channel Command Word), setat de UCP Acest octet nu are aceeai semnificaie ca i cuvntul de comand al canalelor IBM. CCW are rolul unei instruciuni de I/E, specificnd o operaie care trebuie executat de PIE, ca de exemplu: start operaie, suspendare sau reluare operaie i oprire program de canal. un pointer la un bloc de parametri PB (Parameter Block) Acest bloc conine variabilele pe care le va utiliza programul de canal i spaiu pentru rezultatele pe care canalul le va returnaUCP. Dimensiunea i formatul unui bloc de parametri sunt dependente de aplicaie, cu excepia primelor dou cuvinte, care conin un pointer la un bloc al taskului TB (Task Block). Acest bloc este un program de canal, format dintr-o secven de instruciuni 8089. naintea lansrii unui program de canal, UCP efectueaz legturile ntre blocul taskului TB i blocul de parametri PB, respectiv blocul de parametri i blocul de control CB. Se utilizeaz pointeri de tip cuvinte duble (offset i segment). Un sistem poate avea mai multe blocuri de parametri i de taskuri, dar numai unul din fiecare este legat la un canal. Dup efectuarea legturilor, UCP completeaz informaiile n blocul de parametri, nscrie octetul de comand CCW i activeaz semnalele CA (Channel Attention) i SEL (Channel Select). Starea semnalului SEL la frontul descresctor al semnalului CA selecteaz canalul 1 sau 2. UCP continu apoi cu execuia unui alt program. La recunoaterea semnalului CA, canalul examineaz comanda din octetul de comand CCW. Dac trebuie s lanseze un program, canalul ncarc adresa blocului de parametri PB i cea a blocului taskului TB n registre interne, seteaz indicatorul su BUSY i ncepe execuia programului. La terminarea programului canalul terge indicatorul BUSY, nscrie starea operaiei n blocul de parametri i poate genera o cerere de ntrerupere ctre UCP. Comunicaia dintre UCP i PIE are loc deci mai ales prin "mesaje" aflate n memoria UCP, singurele legturi directe dintre UCP i PIE fiind semnalul CA, semnalul SEL i cererea de ntrerupere (Figura 25) Dac se utilizeaz adresarea izolat a dispozitivelor de I/E, PIE este accesibil prin dou porturi cu adrese consecutive, cte unul pentru fiecare canal. O instruciune OUT la unul din porturi va activa canalul respectiv (instruciunea are rolul semnalului CA). Dac se utilizeaz adresarea cu maparea n memorie, PIE este accesibil prin dou locaii cu adrese consecutive de memorie, i orice instruciune de referire la aceste locaii va activa canalul corespunztor. Fiecare din cele dou canale funcioneaz independent, avnd propriul set de registre, semnale CA, cereri de ntrerupere i semnale de control pentru DMA. Canalele pot fi active i concurent, alternnd operaiile lor (de exemplu, canalul 1 poate executa instruciuni n perioadele dintre ciclurile succesive de transfer DMA executate de canalul 2). Exist un sistem de prioriti ntre canale, care poate fi modificat de ctre UCP. Programele de canal sunt scrise n limbajul de asamblare ASM-89. PIE dispune de instruciuni care opereaz asupra variabilelor de tip bit, octet, cuvnt sau cuvnt dublu. Exist i o variabil de tip adres fizic de 20 bii. Modurile de adresare permit accesul la variabilele de memorie i la dispozitivele de I/E din spaiul de I/E de 64 KB al PIE, sau mapate n spaiul de memorie al UCP.

30

Capitolul1 - Introducere

Figura 24. Blocurile de comunicaie la PIE 8089

Figura 25. Comunicaia dintre UCP i PIE Exist instruciuni generale, similare cu cele ale UCP, i instruciuni specifice pentru operaiile de I/E: transferuri, operaii aritmetice, logice i cu adrese, operaii la nivel de bit (setarea/resetarea individual a unui bit), apeluri de proceduri, salturi necondiionate i condiionate (testarea unui bit i salt dac bitul este setat/resetat, testarea unei valori i salt dac aceasta este zero/diferit de zero). Alte instruciuni iniiaz transferurile DMA, execut o cerere de ntrerupere ctre UCP, sau execut o operaie de testare i setare a unui semafor. Transferuri DMA Instruciunea XFER pregtete canalul pentru un transfer DMA. Acesta suspend execuia programului i intr n modul de transfer DMA, n care utilizeaz registrele de canal setate prin program naintea execuiei instruciunii XFER. Datele sunt transferate de la surs la destinaie. Sursa i destinaia se poate afla n spaiul de memorie al UCP sau n spaiul de I/E al PIE. PIE nu face distincie ntre memorie i dispozitivele de I/E, astfel nct transferurile pot avea loc: din memorie la un dispozitiv de I/E; de la un dispozitiv de I/E n memorie; din memorie n memorie; de la un dispozitiv de I/E la un alt dispozitiv de I/E. Ciclurile de transfer pot fi: sincronizate printr-un semnal de cerere DMA de la surs sau destinaie; canalul ateapt semnalul de sincronizare naintea nceperii urmtorului ciclu de transfer; nesincronizate; canalul ncepe urmtorul ciclu imediat dup terminarea ciclului precedent. Un ciclu de transfer este executat n dou etape: citirea octetului sau cuvntului de la surs i memorarea la destinaie. PIE optimizeaz automat transferul pentru a utiliza n mod eficient magistrala disponibil. De exemplu, dac data este transferat de la un dispozitiv de 8 bii n memorie printr-o magistral de 16 bii, PIE va executa dou cicluri de citire i apoi va memora ntregul cuvnt ntr-un singur ciclu. ntre ciclurile de citire i de scriere se pot efectua operaii asupra datelor: translatarea ntr-un alt cod (de exemplu din EBCDIC n ASCII), compararea cu o anumit valoare, sau ambele. Un transfer poate fi terminat datorit mai multor condiii: la transferul unui numr specificat de octei (maxim 64 KB); printr-un semnal de la un dispozitiv extern, aplicat pe pinul corespunztor canalului (EXTl sau EXT2 - Externai Terminate); la transferul unui octet (eventual translatat) care are o anumit valoare, egal sau neegal cu o valoare de cutare;
31

SISTEME DE INTRARE IEIRE

dup transferul unui octet sau cuvnt (transfer cu un singur ciclu). La terminarea transferului, canalul reia automat execuia programului. Programul de canal poate determina cauza terminrii, dac sunt posibile mai multe cauze (de exemplu, la ntlnirea caracterului CR sau la transferul a 80 octei). Pentru a determina dac transferul s-a efectuat corect, programul de canal poate citi un registru de rezultat de la controlerul dispozitivului de I/E. Dac, de exemplu, s-a detectat o eroare CRC de ctre controler, programul de canal poate relua operaia fr intervenia UCP. De obicei, programul de canal plaseaz rezultatul operaiei n blocul de parametri, eventual genereaz o ntrerupere ctre UCP, i oprete canalul. La oprirea canalului, indicatorul BUSY din blocul de control este ters pentru a indica disponibilitatea sa pentru alte operaii. Ca o alternativ la ntreruperea de ctre canal, UCP poate testa prin polling indicatorul BUSY pentru a determina dac operaia s-a terminat. Configuraii de magistrale PIE poate accesa memoria sau porturile de I/E din spaiul sistem de 1 MB i memoria sau porturile de I/E din spaiul de I/E de 64 KB. Dei PIE are numai o magistral fizic de date, este util s se considere c PIE face acces la spaiul sistem printr-o magistral sistem i la spaiul de I/E printr-o magistral de I/E (ambele de date). Distincia dintre cele dou magistrale logice este realizat pe baza semnalelor care indic tipul ciclului de magistral generate de controlerul de magistral 8288. Componentele din spaiul sistem rspund la semnalele MEMR i MEMW, fie c reprezint memorii sau dispozitive de I/E. Componentele din spaiul de I/E rspund la semnalele IOR i IOW (chiar dac sunt memorii). Cele dou configuraii difer prin gradul n care PIE partajeaz aceste magistrale cu UCP. Ambele necesit utilizarea procesorului n modul maxim. 1. Configuraia local Procesorul sau procesoarele de I/E partajeaz ambele magistrale cu UCP. Spaiul sistem al PIE corespunde cu spaiul de memorie al UCP, iar spaiul de I/E al PIE corespunde cu spaiul de I/E al UCP. Programele de canal se afl n spaiul sistem; dispozitivele de I/E se pot afla n oricare spaiu (Figura 26).

Figura 26. PIE 8089 n configuraie local


32

Capitolul1 - Introducere

PIE utilizeaz magistrala pentru citirea instruciunilor programului de canal, ca i pentru transferuri DMA sau programate. PIE i UCP nu pot utiliza magistrala simultan. Avantajul configuraiei locale este c unui sistem i se poate aduga un DMA inteligent, fr componente suplimentare n afara PIE. Funcionarea paralel a UCP i a PIE este limitat la cazurile n care UCP are instruciuni n coada de instruciuni care pot fi executate fr utilizarea magistralei. 2. Configuraia Ia distan

Figura 27. PIE 8089 n configuraie la distan PIE partajeaz o magistral sistem comun cu UCP, accesul la aceast magistral fiind controlat de ctre arbitri de magistral 8289. Magistrala local de I/E a PIE este separat fizic de UCP. Magistrala local poate fi partajat de dou PIE. n sistem poate exista orice numr de procesoare de I/E, n grupe de maxim dou. Magistrala local de I/E nu trebuie s aib aceeai lime cu magistrala sistem partajat, permind de exemplu interfaarea perifericelor de 8 bii cu procesorul 8086 (Figura 27). n configuraia la distan conflictele la magistrala sistem vor fi mai reduse, deoarece perifericele locale i memoria local pot fi accesate fr utilizarea magistralei sistem. Aceste conflicte pot fi reduse i mai mult prin plasarea programelor de canal n spaiul local de I/E, astfel nct PIE va putea citi instruciunile fr utilizarea magistralei sistem. Blocurile de memorie care asigur comunicaia dintre UCP i PIE (CB, PB) trebuie s se afle ns n memoria sistem, pentru a putea fi accesate de ambele procesoare. Aceast configuraie crete gradul n care UCP i PIE pot opera n paralel, dar cu preul adugrii unor circuite suplimentare pentru arbitrajul magistralei partajate i separarea magistralei partajate de cele locale. Este posibil s se configureze un PIE la distan fa de o UCP i local fa de alt UCP. UCP local poate fi utilizat pentru execuia rutinelor care necesit calcule mai complexe.

33

Capitolul 2 Porturi de comunicaie cu echipamentele periferice

2.1. Portul paralel


n prezent portul paralel este utilizat cel mai frecvent pentru imprimante i scanere. n particular, pentru calculatoarele industriale, portul paralel este utilizat pentru device-urile dedicate. Datorit primelor tipuri de conexiuni, portul paralel a fost denumit i Centronics. De-a lungul timpului tehnologia acestui port a cunoscut puine schimbri. Cea mai important const n trecerea de la conectorul cu 36 de pini la conectorul cu 25 de pini. Diferena major dintre cei doi conectori const n eliminarea unor conexiuni redundante de mas. Denumirea de port paralel vine de la tipul transferului de date utilizat. Transferul se realizeaz prin intermediul a opt fire paralele de date, toi cei opt bii fiind transferai simultan ( n paralel). 1 Strobe 2 9 Data 10 -Ack 11 busy 12 Paper out 13 +Select 14 -AutoFDXT 15 -Error 16 -Init 17 -SLCTIN 18 25 Mas -Strobe utilizat pentru a comunica perifericului c datele sunt pregtite; semnul (-) indic faptul c pulsul pe linie este negativ; n momentul n care octetul este transmis tensiunea de pe linie este trecut n nivelul de jos, fiind interpretat de periferic ca un semnal activ; Data transfer cei opt bii ai octetului de informaie; datele sunt transmise n mod binar, tensiunea ridicat fiind interpretat ca un bit 1, iar cea joas sau lips ca un bit 0; -Ack linia de confirmare; (-) este interpretat ca un semnal gata de primire; atta timp ct semnalul pe linie este pozitiv UCP nu mai transmite date; n momentul n care valoare devine negativ UCP tie c poate iniia transferul de date; busy semnalizeaz UCP c perifericul este ocupat; UCP ateapt ca buffer-ul perifericului s se goleasc de date i abia apoi transmite din nou; Paper out linia este folosit pentru comunicarea cu imprimanta i transmite UCP s nu mai transmit date; +Select indic faptul c perifericul este on-line; -AutoFDXT controleaz doar trecerea la o linie nou; -Error semnaleaz erorile la periferic; -INIT transmite semnalul de restabilire a parametrilor iniiali ai perifericului; -SLCTIN semnaleaz faptul c perifericul este pregtit s accepte date. Datorit celor opt linii date transferul ntre UCP i periferic estre destul de rapid. Teoretic portul paralel este pregtit s transmit milioane de caractere pe secund. Viteza de transfer

SISTEME DE INTRARE IEIRE

depinde ns de capacitatea perifericului i viteza de comunicare a acestuia. Dei este rrapid transferul paralel de date nu este eficient dect pe distane reduse de pn la 3,5 metri. 2.1.1. Transferul de date pe portul paralel Din punct de vedere logic interfaa paralel standard este format din dou registre i un buffer de intrare ocupnd trei adrese din spaiul de adreselor de porturi de intrare ieire al procesorului: Un registru de date pe 8 bii (unidirecional sau bidirecional); Un registru de control bidirectional pe 6 bii; Un buffer de intrare pe 8 bii. Portul paralel permite citirea a pn la 9 bii pentru transferul unidirecional i 17 bii pentru cel bidirecional. De asemenea, permite scrierea a 12 bii pentru orice tip de transfer. 2.1.1.1. Registrul de date Se afl la adresa de baz (IOBaseAddress) i poate fi accesat n citire i scriere (prin intermediul instruciunilor de I/E). 2.1.1.2. Registrul de stare Se afl la adresa de baz (IOBaseAddress)+1 i poate fi accesat doar n citire. 7 6 5 4 3 2 0 1 0 0 0

nError (15) = 0 eroare Select (13) = 1 device select PaperOut (12) = 1 nu este hrtie nAck (10) = 0 Primete urmtorul caracter nBusy (11) = 0 device ocupat sau deconectat

2.1.1.3. Registrul de control Se afl la adresa de baz (IOBaseAddress)+2 i poate fi accesat att n citire ct i n scriere. 7 0 6 0 5 0 4 3 2 1 0

nStrobe(1) = 1 Trimite octet nAutoFDXT(14) = 1 trecere la rnd nou nINIT(16) = 0 iniializare device nSLCTIN(17) = 1 selectare device IRQ Enable = 1 validare ntrerupere

2.1.1.4. Adresele portului paralel 3BCh 3BFh pentru intrri paralele n plci video
2

Capitolul 2 - Porturi de comunicaie cu echipamentele periferice

378h 37Fh LPT1 278h 27Fh LPT2 2.1.1.5. Adrese de start n bios 0000:0408 - LPT1 0000:040A - LPT2 0000:040C - LPT2 0000:040E LPT4 (pentru calculatoare mai noi) 2.1.1.6. Moduri de transfer Standardul IEEE1284, care stabilete principiile transferului paralel, definete 5 moduri de transfer: Standard (compatibilitate); Nibble(transferul pe 4 bii); Byte (pe octet); EPP(Enhanced Parallel Port); ECP(Extended Compatibility Port). Modul Standard Definete protocolul utilizat de SPP. Datele sunt depuse pe liniile de date, se testeaz starea perifericului i se genereaz programat un pachet de date. Acest mod asigur doar un canal n sens direct i trebuie completat cu un mod care asigur un canal n sens invers pentru a se realiza comunicaia bidirecional. Acest lucru s-a realizat prin implementarea buffere-lor FIFO rezultnd modul Fast Centronics. Modul Nibble Permite obinerea unui canal n sens invers de la periferic ctre UCP fiind combinat cu cu modul Standard pentru crearea canalului de comunicaie bidirecional. Transferul se realizeaz prin utilizarea celor 5 linii de stare, prin transmiterea unui octet n dou cicluri de cte 4 bii. Acest mod necesit implementarea protocolului n program i prezint o rat limitat de transfer. Modul Byte O parte dintre productorii i dezvoltatorii de echipamente i componente hardware au adugat posibilitatea dezactivrii driver-elor pentru liniile de date ale portului paralel permind astfel perifericului s transmit un octet ntreg prin transformarea portului de date n port de intrare. Acesta poart denumirea de port bidirecional mbuntit. Modul EPP Protocolul EPP a fost dezvoltat de firmele Intel, Xircom i Zenith Data Systems i a fost adoptat ca metod opional de transfer de ctre productorii de echipamente periferice. Protocolul se bazeaz pe patru cicluri de transfer: Scriere date Citire date Scriere adrese Citire adrese
3

SISTEME DE INTRARE IEIRE

Primele dou cicluri sunt utilizate pentru transferul de date ntre calculator i periferic, ultimele dou fiind destinate transferului adreselor i informaiilor de control i comand. Modul ECP Acest protocol a fost propus i dezvoltat de firmele IBM i Microsoft. Modul ECP asigur o comunicaie bidirecional ntre UCP i periferic. Protocolul pune la dispoziie cicluri de date i cicluri de comenzi n ambele sensuri n vederea realizrii transferului de date.

2.2. Portul serial


Portul serial este un port standard pentru PC-uri. Tendinele actuale ale industriei productoare de sisteme de calcul prevede minimizarea rolului acestuia oferind un singur port serial n configuraia de baz cu posibilitatea de ataare de interfee seriale sau switch-uri de port serial. Portul serial difer de cel paralel prin modul de realizare a transmisiei de date n secven serial i nu n secven paralel, adic un sigur bit la un moment dat. Distana maxim de realizare a transferului de date serial este de 150 de metri n condiii normale i poate ajunge pn la 150 de metri n condiii de ecranare i protejare la perturbaiile externe. Primele standarde recomandau (ca i n cazul transmisiei paralele) utilizarea a 25 de linii. Practic, pentru realizarea transferului de date prin conexiune serial sunt necesare mult mai puine. Standardul RS-232 D elaborat de Asociaia Industriei Electronice (EIA) recomand utilizarea a 9 linii de comunicaie pentru compatibilitate cu toate tipurile de periferice, dar n cele mai multe cazuri 3 sunt suficiente. Semnificaia pinilor DCD Detectoare Purttoare de Date este utilizat de ctre echipamentele periferice pentru a indica o conversaie la un alt nivel; este utilzat n special pentru a se semnaliza conexiunea i transferul de date ntre dou echipamente; Rx Recepie Date rolul este evident; este utilizat pentru recepia datelor transmise de un alt echipament; Tx Transmisie Date este linia utilizat pentru transmiterea de date; DTR Terminal de Date Pregtit este pinul utilizat pentru a se transmite de ctre echipamentul care transmite date ctre echipamentul receptor de date prin care se semnalizeaz corectitudinea conectrii; GND Masa este linia de mas utilizat de semnalele de transmisie recepie.; la majoritatea conexiunilor nu reprezint un potenial nul;

Capitolul 2 - Porturi de comunicaie cu echipamentele periferice

DSR Echipament receptor pregtit este semnalul similar lui DTR, dar semnalul se transmite n sens invers i indic faptul c receptorul este corect conectat; DB9 DB25 Semnificaie CTS Gata de Emisie este linia de 1 8 DCD Data Carrier Detect comunicaie prin intermediul creia 2 3 Rx Received Data echipamentul receptor indic emitorului faptul 3 2 Tx Transmitted Data c a fost realizat conexiunea i este pregtit s 4 20 DTR Data Terminal Ready recepioneze date; 5 7 GND Ground 6 6 DSR Data Send Ready RTS Pregtit pentru Transmisie este 7 4 RTS Ready To Send linia prin intermediul creia un echipament 8 5 CTS Clear To Send emitor comunic echipamentului receptor un 9 22 RI Ring Indicator semnal pozitiv care indic faptul c este pregtit s transmit datele; n general, pentru a se realiza transmisie de date ntre dou echipamente cu conexiune serial este necesar ca semnalele RTS / CTS s fie ambele pozitive, altfel este posibil ca transmisia s nu se realizeze sau s apar erori de comunicaie. 2.2.1. Transmisia de date prin conexiune serial

Literatura tehnic de specialitate aduce denumiri specifice pentru echipamentele periferice care transmit datele (DTE Data Terminal Equipment) i pentru echipamentele care recepionez datele (DCE Data Communication Equipment). n mod uzual DTE reprezint calculatorul, iar DCE reprezint echipamentul periferic cu care se realizeaz conexiunea serial. 2.2.1.1. Metode de transmisie serial Sunt utilizate dou metode de transmitere serial a datelor: comunicaie sincron i comunicaia asincron. Comunicarea sincron, transmiterea i primirea sfritului comunicrii este sincronizat prin utilizarea unui ceas care precizeaz perioadele de timp care separ fiecare bit. Prin metoda ceasului la terminarea transmisiei se poate determina dac lipsete un bit sau un bit suplimentar a fost inclus n ir. Un aspect important al acestei metode l reprezint faptul c n cazul n care se pierde semnalul de ceas comunicaia este ntrerupt. Comunicarea asincron, este metoda alternativ utilizat la PC-uri. Acesta const n introducerea de marcatori pentru fiecare bit din sir. Prin introducerea unui bit de start care indic nceputul unui ir scurt de date, poziia fiecrui bit poate fi determinat prin trimiterea fiecruia la intervale regulate de timp. Prin transmiterea unui bit de start la nceputul fiecrui pachet de 8 bii cele dou sisteme nu trebuie s se sincronizeze cu un semnal de ceas. Cel mai importan lucru este acela ca ambele sisteme s fie setate la aceeai vitez a portului serial. n momentul n care se
5

SISTEME DE INTRARE IEIRE

primete un semnal de terminare a comunicaiei urmat de un bit de start sistemul pornete timer-ul pentru iruri scurte de date. Prin inerea irurilor de date n scurt nu exist destul timp pentru a se pierde sincronizarea. Acesta este principiul de baz al comunicrii asincrone. Transmiterea i recepionarea semnalului de terminare a comunicaiei nu este precis sincronizat de un semnal de ceas. Fiecare pachet de date este spart n pachete mai mici de 5 pn la 8 bii. Uzual, n mediul unui PC se gsesc pachete de 7 sau 8 bii. Primul este pentru acomodarea cu caracterele mari sau mici ale textului n cod ASCII, iar urmtoarele corespund exact unui byte. Cnd comunic, echipamentul care transmite datele encodeaz fiecare cuvnt prin adugarea unui bit de start i a unuia sau doi bii de stop la final. Uneori adaug un bit de paritate ntre ultimul bit al cuvntului i primul bit de stop. Aceast metod este utilizat pentru a se putea verifica integritatea datelor.Se pot utiliza cinci tipuri diferite de bii de paritate: bit de paritate reper (mark parity bit) este setat ntotdeauna la 1 logic; bit de paritate spaiu (space parity bit) este setat ntotdeauna la 0 logic; bit de paritate dubl (even parity bit) este setat pe 1 logic prin contorizarea numrului de bii din cuvnt n cazul n care acesta este par; bit de paritate simpl (odd parity bit) este setat pe logic 1 n cazul n care numrul de bii din cuvnt este impar; bit non-paritate pentru cadru (non parity bit frame) obinut prin eliminarea unui bit din fiecare cadru de date.

Fig 1. Cadru de date serial asincron (8E1) n exemplul de mai sus se poate vedea cum este compus cadrul de date n sicronizare cu un semnal de ceas. Acest exemplu utilizeaz un cuvnt format din 8 bii cu paritate dubl i un bit de stop (cunoscut i ca 8E1). Registrele portului serial Nume COM 1 COM 2 COM 3 Adres 3F8 2F8 3E8 IRQ 4 3 4

COM 4 2E8 3 Tabel 1 Adresele i ntreruperile portului serial Adres de Start 0000:0400 0000:0402 0000:0404 COM1 COM2 COM3 Funcie

0000:0406 COM4 Tabel 2 - COM Port Adrese n BIOS


6

Capitolul 2 - Porturi de comunicaie cu echipamentele periferice

Adres de baz DLAB R-W Abr. =0 W +0 =0 =1 +1 +2 +3 +4 +5 +6 +7 =0 =1 R R/W R/W R W FCR

Nume Registru Transmitter Holding Buffer Receiver Buffer Divisor Latch Low Byte Interrupt Enable Register Divisor Latch High Byte FIFO Control Register Line Control Register Modem Control Register Line Status Register Modem Status Register

R/W IER

IIR Interrupt Identification Register

R/W LCR R/W MCR R R LSR MSR

R/W Scratch Register Tabel 3 : Tabela de regitrii

2.3. PORTUL PS/2


Interfaa PS/2, utilizat de tastaturile i mouse-ii moderni a fost dezvoltat de ctre firma IBM. Din punct de vedere fizic, portul PS/2 are unul dintre urmtoarele dou tipuri de conectori: 5 pini DIN sau 6 pini mini-DIN. Ambii conectori sunt similari din punct de vedere electric. Singura diferen practic dintre acetia const n aranjarea pinilor. Standardul DIN a fost creat de Organizaia German de Standardizare (Deutsches Institut fuer Norm). Tastaturile unui PC utilizeaz unul dintre cei doi conectori 5 pini DIN sau 6 pini mini-DIN. Tastaturile cu 6 pini mini-DIN sunt cunoscute ca tastaturi PS/2, n timp ce tastaturile cu 5 pini DIN sunt denumite AT sau XT. Mouse-ii sunt de forme i mrimi diverse. Probabil, cel mai cunoscut este mouse-ul PS/2. Dar, s nu uitm de device-urile USB care capt din ce n ce mai mult popularitate. Doar cu civa ani n urm mouse-ii seriali erau populari dar industria calculatoarelor a abandonat aceste modele n favoarea modelelor PS/2 i USB. Standard, cablul PS/2 are o lu n ime de 1 , 8metri i are 4 sau ase fire g mbrcate n plastic. n cazul n care este nevoie de un cablu mai lung se pot aduga cabluri de extensie PS/2. Ca o parantez, exist nc un tip de conector ntlnit la unele tastaturi. n vreme ce majoritatea cablurilor sunt ataate permanent la tastaturi, exist cabluri care nu sunt ataate i vin ca i componente ataate. Acestea au un conector DIN ataat la un capt i un conector SDL (Shielded Data Link) la cellalt capt, nspre tastur. SDL a fost creat de ctre o companie numit AMP. Acest conector
7

SISTEME DE INTRARE IEIRE

5-pin DIN (AT/XT): 1 - Clock 2 - Data 3 - Not implemented 4 - Ground 5 - Vcc (+5V) 6-pin Mini-DIN (PS/2): 1 - Data 2 - Not Implemented 3 - Ground 4 - Vcc (+5V) 5 - Clock 6 - Not Implemented 6-pin SDL: A - Not Implemented B - Data C - Ground D - Clock E - Vcc (+5V) F - Not Implemented

arat aproape ca un conector de telefon. Vcc/Ground furnizeaz energie device-ului. Mouse-ul sau tastura nu ar trebui s foloseasc mai mult de 100 mA de la PC i trebuie s aib protecie contra creterilor brute de tensiune. Vechile plci de baz aveau montate sigurane de protecie pentru portul de tastatur i de mouse. Cnd acestea se ardeau plcile de baz deveneau inutile i nu mai puteau fi reparate. Majoritatea bplcilor de baz noi folosesc sigurane resetabile Poly care remediaz problema. Liniile de date i de semnal de ceas sunt amndou de tip colector deschis cu o rezistivitate ridicat de +5V. O interfa de tip colector deschis are dou stri posibile: jos (low) sau sus (high). n starea low un trazistor pulseaz trimite linia ctre cel mai sczut nivel. n starea high interfaa funcioneaz ca un circuit deschis i nu trimite linia jos sau sus.

2.3.1. Comunicarea pe portul PS/2 Tastaturile i mouse-ii PS/2 implementeaz un protocol sincron bidirecional de transfer de date. Portul este pregtit cnd ambele linii sunt high. Acesta este unicul mod n care tastatura sau mouse-ul poate ncepe s transfere date. UCP-ul are controlul asupra portului i poate stopa comunicarea n orice moment setnd linia de semnal de ceas low. Dup aceea seteaz linia de date low i elibereaz ceasul. Acesta este modul de request-to-send cerere de transmisie i semnaleaz device-ului s genereze semnale de ceas. Starea portului: Data = high, Clock = high: Idle state. Data = high, Clock = low: Communication Inhibited. Data = low, Clock = high: Host Request-to-Send Toate date sunt transmise, ca i n cazul transmisiei seriale un bit la un moment date. Fiecare bit este transmis ntr-un cadru de date care conine 11 sau 12 bii. Acetia sunt: 1 bit de start (acesta este ntotdeauna 0) 8 bii de date 1 bit de paritate (paritate simpl) 1 bit de stop (acesta este ntotdeauna 1) 1 bit de recunoatere (doar n cazul comunicaiei UCP - device) Bitul de paritate este setat (1) doar n cazul n care exist un numr par de bii 1 i resetat (0) n cazul n care numrul acestora este impar i este utilizat pentru detectarea erorilor. Mouse-ul sau tastatura trebuie s verifice acest bit, iar n cazul n care acesta este incorect trebuie s raspund ca i cum ar fi primit o comand invalid. Frecvena ceasului trebuie s fie n intervalul 10 16.7 kHz. Aceasta nseamn c semnalul de ceas trebuie s fie sus pentru 30-50 microsecunde i jos pentru 30-50 microsecunde. Reamintesc faptul c mouse-ul sau tastatura genereaz semnal de ceas, dar UCP-ul are ntotdeauna ultimul control asupra comunicrii, iar temporizarea este crucial n comunicare.
8

Capitolul 2 - Porturi de comunicaie cu echipamentele periferice

Comunicarea : echipament ctre UCP Liniile de date i de semnal de ceas sunt colector deschis. Un resistor de +5V este conectat ntre fiecare dintre linii, deci portul este pregtit. De fiecare dat cnd tastatura sau mouse-ul vor s transmit informaii nti verific starea liniei de semnal de ceas, pentru a se asigura c este pe nivel logic high. n caz contrar UCP inhib comunicaia, iar echipamentul trebuie s buffereze orice dat dorete s transmit pn cnd UCP elibereaz linia de semnal de ceas. Semnalul pe aceasta trebuie s fie ridicat ncontinuu pentru cel puin 50 de milisecunde nainte ca echipamentul s poat transmite datele. Un echipament scrie un bit pe linia de date cnd semnalul de ceas este sus, iar UCP l citete cnd semnalul este jos. Figura urmtoare ne arat cum:

Fig. 5. Comunicarea dinspre echipament ctre UCP Frecvena ceasului este cuprins, aa cum am mai spus, n intervalul 10-16.7 kHz. Timpul de la panta ascedenta a semnalului de ceas spre o tranziie de date trebuie s fie de cel puin 5 microsecunde. Timpul de la o tranziie de date la panta descendent a semnalului de ceas trebuie s fie de cel puin 5 microsecunde, dar nu mai mare de 25 de microsecunde. UCP poate stopa oricnd transmisia pentru cel puin 100 de microsecunde. n cazul n care transmisia este inhibat nainte de al 11-lea puls al semnalului de ceas echipamentul trebuie s abandoneze transmisia curent i s pregteasc retransmiterea bucata curent din cadrul de date. Dac pachete noi de date sunt create pe parcursul ntreruperii transmisiei de date i care trebuie retransmise acestea vor fi depuse n memorie buffer a device-ului. Tastatura dispune de un buffer de 16 bytes, mouse-ul reine cea mai cea mai nou informaie despre micarea solicitat. Comunicarea UCP ctre echipament n cazul comunicaiei dinspre UCP ctre echipament pachetul de date este transmis puin Dup cum se tie echipamentul PS/2 genereaz ntotdeauna semnal de ceas. Dac UCP dorete s transmit date nti trebuie s pun liniile de semnal de ceas i de date n starea Requestto-send. Aceasta se realizeaz n modul urmtor: UCP inhib comunicaia setnd low ceasul pentru cel puin 100 de microsecunde; aplic cererea de transmisie Request-to-send setnd linia de date low i elibernd semnalul de ceas. Echipamentul trebuie s verifice starea portului la un interval nu mai mare de 10 milisecunde. Cnd detecteaz starea genereaz semnale de ceas i ceas n format de 8 bii i un bit de stop. UCP schimb linia de date doar cnd linia de ceas este jos, iar date sunt citite de echipament doar cnd linia de ceas este sus. Aceasta este opusul comunicaiei echipament ctre UCP. Dup ce bitul de stop a fost primit, echipamentul recunoate bitul primit cobornd linia de date i genernd un ultim puls de ceas. n cazul n care UCP nu elibereaz linia de date dup al 11lea puls de ceas, echipamentul va genera n continuare pulsuri de ceas linia de date este eliberat de ctre UCP (atunci va genera o eroare). UCP trebuie s ntrerup transmisia nainte de al 11-lea puls de ceas (bitul de recunoatere) innd linia de ceas jos pentru cel puin 100 microsecunde. Pentru a
9

diferit.

SISTEME DE INTRARE IEIRE

nelege mai bine acest mecanism, voi reda paii pe care UCP trebuie s i urmeze pentru a transmite date la un echipament PS/2: 1. Aduce linia de ceas jos pentru cel puin 100 de microsecunde; 2. Aduce linia de date jos; 3. Elibereaz linia de ceas; 4. Ateapt ca echipamentul s aduc linia de ceas jos; 5. Seteaz /reseteaz linia de date pentru a transmite primul bit de date; 6. Atept echipamentul s aduc linia de ceas sus; 7. Atept echipamentul s aduc linia de ceas jos; 8. Repet paii 5-7 pentru ali apte bii de date i un bit de paritate; 9. elibereaz linia de date; 10. Atept echipamentul s aduc linia de date jos; 11. Atept echipamentul s aduc linia de ceas jos; 12. Atept echipamentul s elibereze liniile de date i de ceas. Figurile urmtoare reprezint aceasta grafic.

Fig. 6. Comunicaia UCP ctre echipament

Fig.7. Reprezentarea detaliat a comunicrii dinspre UCP ctre echipament Ultima figur indic, n interval de timp, ce semnale sunt generate de UCP i care de echipamentul PS/2. Dup cum se observ avem dou cantiti de timp pe care UCP le caut. (a) reprezint timpul necesar echipamentului pentru a ncepe s genereze pulsaii de ceas dup ce UCP a pus linia de ceas jos i care trebuie s fie mai mare de 15 milisecunde; (b) reprezint timpul necesar pentru ca pachetul de date s fie transmis, perioad de timp care nu trebuie s fie mai mare de 2 milisecunde; n caz contrar UCP va genera o eroare. Imediat dup ce semnalul de recunoatere a fost primit UCP poate pune linia de date low pentru a inhiba comunicaia pn la procesarea datelor. Dac comanda trimis de UCP cere un rspuns acesta trebuie primit, nu mai trziu de 20 de milisecunde dup ce a eliberat linia de ceas. n caz contrar va genera o eroare.

10

Capitolul 2 - Porturi de comunicaie cu echipamentele periferice

2.4. Portul USB (Universal Serial Bus)


Tehnologia USB a fost adoptat pentru a fi o extensie standard a arhitecturii PC-urilor cu focalizare pe echipamentele periferice i creterea eficienei i vitezei acestora. Urmtoarele criterii au stat la baza elaborrii specificaiilor portului USB: uor de utilizat pentru extinderea perifericelor; soluie ieftin pentru transferuri cu viteze de pn la 480 Mbps; suport integral pentru transferul n timp real de date audio / video i voce; flexibilitatea protocolului pentru transfer de date n mod mixt sincron i asincron; integrarea n mod comod a tehnologiei diverselor echipamente periferice; adaptarea pentru diferitele tipuri de arhitecturi de PC de la diverii productori; compatibilitatea noilor versiuni cu vechile versiuni astfel nct echipamentele construite n baza vechilor specificaii s funcioneze normal. Portul USB este considerat un port integral plug-and-play i este definit de trei arii: aria de interconectare echipamentele USB deservite gazda (host-ul) Dup cum se observ din imaginea de mai jos la o singur gazd se pot interconecta mai multe echipamente (pn la 127) pe mai multe nivele (7). Pe nivelele intermediare pot exista att echipamente finale (care nu redistribuie semnalul, denumite funcii) ct i echipamente multiplexoare (care acioneaz ca i concentratoare distribuitoare de semnal, denumite hub-uri).

Fig.8. Topologia Portului USB

11

SISTEME DE INTRARE IEIRE

Deci, dup cum se observ topologia sistemului USB este o topologie stea pe mai multe nivele. De reinut este faptul c ntr-un sistem USB nu poate exista dect o singur gazd, restul componentelor fiind hub-uri sau funcii. Din punct de vedere al gazdei interfaa USB din sistem este cunoscut ca i Controller Gazd (Host Controller). Aceasta poate fi implementat hardware, firmware (nglobat n UCP de ctre constructor), software sau ntr-o combinaie a celor trei posibiliti. De asemenea, sistemul gazd are incorporat un hub pentru a exista mai multe puncte de ataare. Host-ul USB interacioneaz cu echipamentele USB prin intermediul controller-ului gazd. El este responsabil pentru urmtoarele aciuni: detectarea atarii/detarii unui echipament; controlul transferului ntre gazd i echipament; colectarea statisticilor referitoare la starea portului i activitate; furnizarea de energie echipamentelor ataate la port. Din punct de vederea software portul USB controleaz interaciunea dintre device-ul USB i software-ul gazdei echipantului. Exist cinci astfel de zone de interaciune: configuraia i enumeraia echipamentului; transferul sincron de date; transferul asincron de date; controlul energiei; controlul informiilor despre port i echipament.

Fig. 9. Cablul USB


Cablul USB are patru fire: masa (GND), firul de trasport energie (VBUS) i dou fire de transport de date (D+, D-), iar lungimea maxim standard ntre dou punct de interconectare este de 7m.

Pin
1 2 3 4 Shell

Semnal
VBUS DD+ GND Shield

Culoare
Rou Alb Verde Negru

Plas

2.4.1. Transferul de date portul USB Portul USB suport trei rate de transfer: low-speed, cu viteze de pnp la 1,5 Mbps; full-speed, cu viteze de pn la 12 Mbps; high-speed cu viteze de pn la 480 Mbps. Toate transferurile sunt iniiate de controller-ul gazd. Cele mai multe trasferuri implic trabsferul a cel puin trei pachete de date. Fiecare trranzacie este iniiat de controller, n baza unui automatism funcie de timp, prin trimiterea unui pachet care descrie direcia i tipul tranzaciei, precum i adresa echipamentului. Acest pachet este denumit token packet. Device-ul USB cruia i este adresat decodeaz cmpul de adrese. Direcia n care se efectueaz transferul de date, dinspre host spre
12

Capitolul 2 - Porturi de comunicaie cu echipamentele periferice

periferic sau invers, este specificat n token packet. Destinatarul rspunde n general cu un pachet handshake care indic efectuarea transferului. n unele cazuri, transferul ntre gazd i hub-uri implic patru pachete. Acest tip de tranzacii este utilizat pentru controlul transferului de date ntre controller i low-full-speed device. Modelul de transfer USB dintre o surs i o destinaie este cunoscut sub denumirea de eav (pipe). Exist dou tipuri de eav: ir (stream) i mesaj (message) . rul de date nu are o structur USB definit, n timp ce mesajele au o structur definit. Adiional evile au asociat o lime de band, un tip de transfer, i caracterictici ale perifericului cum ar fi direcia de transfer i mrimea memoriei buffer. Cele mai multe evi devin operaionale n momentul n care echipamentul USB este configurat. La conectarea unui periferic apare ntotdeauna un mesaj . Acesta ofer informaii controller-ului despre configuraia, statutul i controlul perifericului. Controlul programat al transferului este recomandat pentru irurile de date. La nivel hardware aceasta previne suprancrcarea buffer-ului prin utilizarea pahetelor NAK handshake (negative acknowledgement recunoatere negativ) pentru a reduce rata de transfer. La o prim vedere, din partea utilizatorului final, ataarea sau detaarea unui echipament USB la o gazd pare simpl. n realitate tranzaciile care au loc implic mai multe nivele de implementare. Dup cum se observ din figura de mai jos exist cteva concepte i caracteristici care trebuiesc luate n seam pentru a oferi utilizatorului final posibilitatea operrii cu n sensul beneficierii de toate avantajele. Astfel au fost definite patru arii de implementare: echipamentul USB fizic (USB Physical Device) : o pies hardware care ofer funcii utile; software-ul client: un program care este executat de gazd i corespunde perifericului USB (de obicei este inclus n sistemul de operare); software-ul sistemului USB: un program care ofer suport USB n sisteme de operare cu particulariti; controller-ul USB al gazdei: hardware-ul sau software-ul care permite ataarea unui periferic USB. Dup cum se observ drepturi i responsabiliti atribuite ntre componentele sistemului USB, iar simpla conexiune dintre o gazd i un periferic necesit interaciune ntre diferetele nivele i entiti. Tipuri de transmisie de date suportate pe portul USB Portul USB suport schimburi de date ntre gazd i periferic att n mod unidirecional ct i n mod bidirecional. n general, transferul de date de-a lungul unei evi este independent de transferul care se efectueaz pe un alt traseu. Dar, un echipament USB poate avea mai multe trasee de transport de date. Astfel, un periferic USB poate acvea o terminaie pentru transferul de date de la gazd i o alt terminaie pentru transferul de date cu un alt echipament. Arhitectura de baz a portului USB cuprinde patru tipuri de transfer de date: a) Transferul de control (control transfers ) utilizat pentru configurarea perifericului la ataarea acestuia i poate fi utilizat i pentru alte procese specifice de control n alte echipamente USB; b) Transferul vrac (bukl data transfer) datele vrac (bulk) sunt considerate cantitile mari de date i sunt secveniale. Schimbul de date este asigurat la nivel hardware utilizndu-se detecia erorilor i limitarea numrului maxim de ncercri de retransmitere;

13

SISTEME DE INTRARE IEIRE

Trasnferul ntrerupt (Interrupt data transfer) este utilizat pentru perioade scurte de timp pentru a se transfera rapid cantiti reduse de date cum ar fi caractere sau coordonate. Aceast metod de transfer este utilizat de obicei pentru notificri de evenimente, caractere introduse de la tastur sau coordonate ale unui echipament de tip mouse, trackball sau tabel grafic; d) Transferul sincron (Isochronous transfer) este utilizat pentru trasferul prenegociat al datelor. Prenegocierea transferului const n negocierea dintre host i devoce a limii de band utilizat i a vitezei de transfer i este cunoscut i denumirea de ir de date transmis n timp real. Aceast prenegociere permite punerea de acord a gazdei i a device-ului asupra detaliilor de transfer pentru a mpiedica supra-umplerea buffer-ului i blocarea sistemului. O eav suport doar o singur metod de transfer la un moment dat. Limea de band pentru transferul de date este alocat pentru fiecare traseu n momentul stabilirii conexiunii.

c)

Fig. 10. Aria de implementare a USB

2.5. Potul FireWire (Portul Serial de Mare Vitez)


Portul FireWire sau portul serial de mare vitez se aseamn din multe puncte de vedere cu portul USB. Specificaiile tehnice ale acestui port sunt cuprinse n Standardul IEEE 1394, 1394a i 1394b de unde vine i o alt denumire a portului IEEE 1394. Standardul definete dou tipuri de porturi: backplane i cable. Portul backplane a fost proiectat pentru a suplimenta structura portului paralel oferind o alternativ de comunicare serial ntre echipamente i UCP.
14

Capitolul 2 - Porturi de comunicaie cu echipamentele periferice

Portul cablat (cable bus) este conceput ca o reea neciclic cu un numr finit de legturi, constnd n puni de comunicare i noduri. Neciclic nseamn c nu se pot conecta echipamente mpreun pentru a se crea bucle. Adresele pe 16 bii ofer pn la 64K noduri n sistem, ntre noduri fiind posibile 16 trecericeea ce definete numrul finit de legturi. O punte de port servete la conectarea a dou echipamente similare sau diferite la o punte putnd fi conectate pn la 63 de noduri. Acesta nseamn c ntr-un PC cu un port FireWire standard pot fi conectate pn la 63 de periferice. n mod uzual fiecare nod dispune de 3 conectori, dar standardul prevede posibilitatea utilizrii a pn la 27 de conectori pentru nivelul fizic al unui echipament (PHY). Lungimea standard a cablului ntre dou noduri este de 4,5m i nu poate depi la trecerea prin numrul maxim de noduri 72m.

Fig. 11. Topologia unui sistem PC cu port IEEE 1394 pentru aplicaii digitale. Interconectarea porturilor standard este asigurat de un cablu cu ase fire : dou perechi pentru transmisia de date i dou fire pentru trnasportul energiei protejate. Cele dou perchi sunt inversate n fiecare ansamblu pentru a crea o conexiune trnasmitere primire. Conductorii de energie ofer energie nivelului fizic n perifericele izolate (de la 8 la 40v la 1,5A). Designul conectorilorprovine din modelul conectorilor GameBoy.

Fig. 12. Cabluri i conectori

15

SISTEME DE INTRARE IEIRE

2.5.1. Transferul de date pe portul FireWire Standardul 1394 pentru cabluri definete trei rate de transfer: S100, pn la 100 Mbps; S200, pn la 200 Mbps; S400, pn la 400 Mbps. Adaptoarele standard suport o rat maxim de transfer de 200 Mbps. Rat de transfer pentru ntreg portul este guvernat de obicei de ctre nodul activ, dar, n cazul n care controller-ul implementeaz o hart topologic sau una de vitez pentru anumite noduri, atunci poate suporta rate diferite de transfer. Protocolul 1394 este implementat de o stiv cu trei nivele, dup cum se arat n figura 6. Cele trei nivele ofer urmtoarele funcii: - nivelul tranzacie : implementeaz protocolul de cerere-rspuns cerut de ctre standardul ISO/IEC 13213:1394 standard de control i statut al registrelor (CSR) pentru porturile PC (n regim de citire, scriere i blocare); - nivelul legtur (link) : care ofer o datagram de recunostere nivelului tranzacie (o datagram reprezint un trasfer de date unidirecional cu cerere de confirmare); acest nivel este responsabil cu manipulare pachetelor transmise i recepionate i cu controlul ciclurilor pentru canalele sincrone; - nivelul fizic : se ocup cu iniializarea i arbitrarea serviciilor necesare pentru a se asigura c un singur nod transmite date la un moment dat i pentru a transforma n iruri seriale de date toate semnalele cerute de ctre nivelul legtur.

Fig. 13. Stiva protocolului 1394 i dirijarea serial a controller-ului de port.


16

Capitolul 2 - Porturi de comunicaie cu echipamentele periferice

Standardul 1394 ofer un sistem flexibil de management al portului FireWire i implic urmtoarele tre servicii: - un ciclu master care transmite ctre toate echipamentele un pachet de stzart; - un ciclu de contorizare a resurselor sincrone, n cazul n care exist noduri care suport transferul sincron; - un port master opional (de obicei un adaptor PC).

17

CAPITOLUL 3
Magistrale de comunicaie cu echipamentele periferice

3.1 Introducere

Definiie: Reprezint ci electrice de transmitere a semnalelor ntre diferite elemente ale unui sitem de calcul. De obicei, ntr-un sistem de calcul exist mai multe magistrale diferite. Pentru a se conecta plcile de extensie de la diferii productori trebuie s exise reguli binedefinite referitoare la funcionarea magistralelor, care constituie protocolul magistralei, precum i specificaii mecanice i electrice. Dispozitivele conectate la o magistral pot fi pot fi active (master) sau pasive (slave). Cele active pot iniia un transfer, iar cele pasive ateapt cererile de transfer. Ca un exemplu UCP va fi ntotdeauna activ, iar memoria pasiv. Pentru amplificarea de semnal dispozitivele active se conecteaz la magistrale prin intermediul driverelor de magistral, cele pasive prin receptoare de magistral, iar cele ce por juca dublul rol se conecteaz prin intermediul circuitelor emitoare/receptoare de magistral. Circuitele de interfa cu magistrala sunt de tip tri-state (trei stri) sau colector deschis. n cazul conectrii multiple la o linie de tip colector deschis, funcia care gestioneaz dispozitivele este SAU logic, iar conexiunea se numete SAU cablat. 3.1.1 Consideraii electrice Magistralele trebuie s opereze la frecvene din ce n ce mai mari, datorit creterii frectenei de funcionare a calculatoarelor. Apariia unor fenomene electrice poate determina scderea fiabilitii sistemelor. Cele mai importante sunt reflexiile de semnal. Acestea pot aprea datorit unor discontinuiti de semnal cauzate de impedana susrsei semnalului.

Capitolul 3 - Magistrale de comunicaie cu echipemantele periferice

3.1.1.1 Linii de transmisie

Fig 1 Moduri echivalente de prezentare a unei linii de transmisie Liniile de transmisie sunt reprezentate printr+o reea diferenial de tip T cu impedane n serie i admitane n paralel. Acestea reprezint energia pierdut i memorat pe unitatea de lungime a liniei. Energia memorat i cmpurile magnetice sunt reprezentate prin l i c. Pierderile de energie pe unitatea de lungime sunt modelate prin r i g. Astfel, la o frecven unghiular avem:

z = r + j l y = g + j c
n aceste condiii constanta de propagare k:

k = zy
2

i viteza de propagare:

v =/ k
p

Din relaiile anterioare reiese c viteza de propagare de frecven i de parametrii liniei prin constanta k.

u z r + j l = = = Z i y g + j c

Z0 reprezint impedana caracteristic a liniei. n czul particular n care r=g=0 :

Z =
0

l c

k = lc

Cele dou valori depind numai de parametrii liniei i de frecven.


2

SISTEME DE INTRARE IEIRE

Ex: - pentru liniile de alimentare Z0 este aproximativ 300; - pentru cablurile coaxiale Z0 are valori cuprinse ntre 50 i 75. 3.1.1.2 Reflexii de semnal

Fig 2 Linie de transmisie cu impedana Z0 i timpul de propagare Tip Considerm o linie de semnal cu urmtoarele caracteristici: - Ui surs de tensiune ideal; - Zs impedana sursei n punctul A; - L distana de la punctul A la punctul de terminare a liniei B; - Zt impedana de ncrcare. Astfel: - la momentul iniial, Zs = 0, iar Zt este o simpl ncrcare rezistiv; - la momentul t = 0, liniei i se aplic o tensiune Ui, iar curentul Ii se propag pe linie; - la momentul t = TipL = Tprop curentul ajunge n punctul B. n acest moment, pentru satisfacerea legii lui Ohm privind impandana liniei i cea de ncrcare se aplic o corecie instantanee curentului i tensiunii, care va lua forma unei unde magnetice reflectate cu componentele Ur i Ir. Deci, semnalul incident va fi format dintr-un semnal transmis i unul reflectat. Aplicnd legea lui Ohm n punctul B obinem:

Capitolul 3 - Magistrale de comunicaie cu echipemantele periferice

Acest raport reprezint coeficientul de reflexie pentru curent. Se utilizeaz de obicei coeficientul de reflexie pentru tensiune:

Coeficientul de reflexie indic diviziunea semnalului incident, fiind pozitiv pentru tensiunea reflectat i negativ pentru curentul reflectat. Are valori ntre -1 i 1 pentru o impedana de ncrcare ntre zero i infinit. 3.1.1.3 Terminatori Fr utilizarea terminatorilor de magistral, apar reflexii de semnal care determin oscilaii. Terminatorii cei mai utilizai sunt cei rezistivi, care se pot conecta n serie sau n paralel.

Fig. 3 Teminator serie

SISTEME DE INTRARE IEIRE

Fig. 4 Terminator paralel n cazul terminatorului serie, se plaseaz o rezisten n serie cu ieirea sursei. n cazul ideal, suma dintre valoarea rezistenei i impedana sursei este egal cu impedana caracteristic a liniei, sau:

R =Z Z
s o

n general, sursele nu au impedane de ieire simetrice. Impedana de ieire n starea low, Zol de 5-25 , este mai mic dect impedana de ieire n starea high, Zoh, de 45-90 . Rezultate satisfctoare se pot obine cu rezistene avnd valori intermediare. n cazul terminatorului paralel, se plaseaz rezistene la captul receptor al liniei. Implementarea se realizeaz de obicei printr-un divizor. Rezistenta echivalent trebuie s fie egal cu impedana caracteristic Z0. Rezistena echivalent se poate determina prin relaia:

R =
e

R R R +R
1 2 1

Tensiunea Ue se poate determina prin deconectarea divizorului de la linie i calculnd tensiunea circuitului deschis.

U =V
e

cc

R R +R
2 1

Terminatorul paralel se poate utiliza pentru magistralele bidirecionale. O alt posibilitate pentru realizarea terminatorilor este utilizarea diodelor de limitare. Dispozitivele TTL i CMOS au de obicei diode de protecie la intrare. Pe lng protecia mpotriva descrcrilor electrostatice, acestea permit i reducerea reflexiilor. O schem posibil este cea din Figura 5.

Capitolul 3 - Magistrale de comunicaie cu echipemantele periferice

Fig. 5 Terminator cu diod de limitare Tensiunea de intrare va fi meninut ntre -0,5 .. -1,5 V i 0,5 .. 1,5 V peste Vcc. n cazul circuitelor TTL bipolare, lipsete de obicei dioda conectat la Vcc. Pentru mbuntirea performantelor, se poate aduga o diod Schottky rapid, conectat la mas (i la Vcc dac este necesar). Se poate utiliza o schem mbuntit ca n Figura 6.

Fig. 6. Terminator mbuntit cu diod de limitare 3.2. Magistrale sincrone i asincrone Dup modul de control al transferului de informaii, magistralele pot fi sincrone sau asincrone. Toate operaiile magistralelor sincrone sunt sincronizate de un semnal de ceas i necesit un numr ntreg de perioade de ceas, numite cicluri de magistral. Magistralele asincrone nu utilizeaz un semnal de ceas. Ciclurile de magistral pot avea n acest caz orice durat, i aceasta nu trebuie s fie aceeai ntre toate perechile de dispozitive. 3.2.1. Magistrale sincrone Considerm o magistral sincron cu perioada ceasului T. Presupunem c citirea unui octet sau cuvnt din memorie necesit 3 cicluri de magistral, T1, T2 i T3, cu durata total 3T (Figura 7). n ciclul T1 UCP depune adresa cuvntului pe liniile de adrese. Dup stabilizarea adresei la noua valoare, se activeaz semnalele MREQ (care indic accesul la
6

SISTEME DE INTRARE IEIRE

memorie i nu la un dispozitiv de I/E) i RD . Memoria decodific adresa n ciclul T2 i depune data pe magistral n ciclul T3. Pe frontul descresctor al ceasului din ciclul T3, UCP strobeaz (citete) liniile de date, memornd valoarea ntr-un registru intern. Dup citire, UCP dezactiveaz semnalele MREQ i RD , dup care, de la frontul cresctor al ceasului, poate ncepe un nou ciclu.

Fig. 7. Ciclu de citire la o magistral sincron Pentru o funcionare corect, exist specificaii de temporizare care trebuie respectate. Unele ntrzieri sunt limitate la o valoare minim, iar altele la o valoare maxim. TAD este intervalul de timp de la nceputul ciclului T1 pn la depunerea adresei. Trebuie s fie mai mic dect o valoare maxim:
T AD T ADmax

Aceasta garanteaz c n timpul fiecrui ciclu de citire, UCP va depune adresa ntr-un timp mai mic dect cel maxim. TDS (Data Setup) este intervalul de la depunerea datei pn la frontul descresctor al ceasului din ciclul T3. Trebuie ca:
TDS TDSmin

pentru ca data s fie stabilizat naintea citirii acesteia de ctre UCP. Datorit restriciilor asupra intervalelor TAD i TDS, n cazul cel mai defavorabil memoria trebuie s depun data ntr-un timp de cel mult:
2T + T T AD TDS 2

de la depunerea adresei. Dac memoria nu poate rspunde n acest interval de timp, trebuie s activeze semnalul WAIT nainte de mijlocul ciclului T2, cnd se

Capitolul 3 - Magistrale de comunicaie cu echipemantele periferice

testeaz semnalul WAIT. Se vor insera stri de ateptare (cicluri suplimentare de magistral) pn cnd memoria dezactiveaz semnalul WAIT . TM este intervalul de la depunerea adresei pn la activarea semnalului MREQ . Trebuie ca:
TM TM min

pentru ca adresa s fie stabil pn la activarea semnalului MREQ. Acest timp este important dac MREQ se utilizeaz la selecia circuitului de memorie, deoarece anumite memorii necesit un timp de stabilizare a adresei pn la selecie. TML, TRL sunt intervalele de la frontul descresctor al ceasului din ciclul T1 pn la activarea semnalului MREQ , respectiv RD . Trebuie ca:
TML TMLmin TRL TRLmin

pentru ca aceste semnale s fie activate ntr-un anumit timp de la mijlocul ciclului T1. Memoria va avea un timp de cel mult:
2T max(TML ,TRL ) TDS

de la activarea MREQ i RD pn la depunerea datei. TMH, TRH indic timpul dup care trebuie dezactivate semnalele MREQ i RD dup citirea datei:
TMH TMH max TRH TRH max

TDH indic timpul ct trebuie meninut data pe magistral dup dezactivarea semnalului RD :
TDH TRH max

Acest timp poate fi egal cu 0 n unele cazuri, astfel c memoria poate retrage datele imediat dup dezactivarea RD . Pe lng ciclurile de citire i scriere, unele magistrale permit i transferuri pe blocuri. Dac se lanseaz o citire a unui bloc, dispozitivul master indic celui slave numrul de octei care urmeaz a fi transferai, de exemplu, n timpul ciclului T1. Dispozitivul slave transmite un octet n timpul fiecrui ciclu, pn cnd contorul ajunge la zero. n acest exemplu, o citire a unui bloc de n octei ar necesita n + 2 cicluri n loc de 3n. O alt metod de cretere a vitezei este reducerea duratei ciclului. De exemplu, pentru o frecven de 33 MHz, durata unui ciclu este de 30 ns, permind un transfer la fiecare 3 30 ns = 90 ns, rata de transfer fiind de 1/90 109 B/s = 1000/90 MB/s =11,1 MB/s.
8

SISTEME DE INTRARE IEIRE

Reducerea duratei ciclului poate crea probleme, deoarece semnalele de pe diferitele linii au timpi de propagare diferii. Apare deci o nesimetrie (bus skew). Trebuie ca durata ciclului s fie mare comparativ cu aceast nesimetrie (de ordinul a ctorva zeci de ns). 3.2.2. Magistrale asincrone La magistralele sincrone, dac un transfer se termin naintea unui numr ntreg de cicluri, trebuie s se atepte pn la sfritul ciclului, ceea ce duce la ntrzieri inutile. Dac la o magistral sunt conectate dispozitive cu viteze diferite (unele lente, altele rapide), viteza trebuie aleas dup dispozitivul cel mai lent, cele rapide fiind ntrziate. De asemenea, dup alegerea unui ciclu de magistral, este dificil s se utilizeze avantajele mbuntirilor tehnologice viitoare. De exemplu, dac dup un timp vor fi disponibile memorii mai rapide, dei ele pot fi utilizate, vor funciona la aceeai vitez ca i cele vechi, deoarece protocolul magistralei cere ca memoria s depun datele imediat naintea frontului descresctor al ceasului din ciclul T3. O magistral asincron elimin aceste dezavantaje, n locul semnalului de ceas se utilizeaz un protocol logic ntre emitor i receptor (handshake) (Figura 8). Pentru o operaie de citire, dup depunerea adresei, activarea semnalelor MREQ i RD, dispozitivul master activeaz semnalul MSYN (Master Synchronization). Dup detectarea acestui semnal, dispozitivul slave depune data, i apoi activeaz semnalul SSYN (Slave Synchronization). Dispozitivul master detecteaz activarea semnalului SSYN , ceea ce indic faptul c data este disponibil, memoreaz data, iar apoi dezactiveaz liniile de adrese, mpreun cu semnalele MREQ , RD i MSYN . Dispozitivul slave detecteaz dezactivarea semnalului MSYN, indicnd terminarea ciclului, dezactiveaz semnalul SSYN i invalideaz datele, ajungndu-se n starea iniial, cu toate semnalele dezactivate, ateptndu-se un nou ciclu.

Capitolul 3 - Magistrale de comunicaie cu echipemantele periferice

Fig. 8. Operaie de citire la o magistral asincron Se utilizeaz deci un protocol cu intercondiionare total (full handshake). Fiecare aciune este condiionat de o aciune anterioar, i nu de un impuls de ceas. Aceste aciuni sunt urmtoarele: 1.Este activat MSYN. 2.Este activat SSYN ca rspuns la activarea MSYN . 3.MSYN este dezactivat ca rspuns la activarea SSYN . 4.SSYN este dezactivat ca rspuns la dezactivarea MSYN. Dei magistralele asincrone au avantajele amintite, cele mai multe magistrale sunt sincrone. Motivul l constituie faptul c o magistral sincron necesit mai puine linii i realizarea acesteia este mai simpl. UCP activeaz semnalele de comand corespunztoare, iar memoria sau perifericul va rspunde. Trebuie ns respectate restriciile de temporizare. Costul magistralelor asincrone este mai ridicat, ceea ce influeneaz alegerea lor. Apple a renunat la utilizarea magistralei VME (asincron) pentru calculatoarele Macintosh, chiar clac aceast magistral a fost special proiectat pentru a fi compatibil cu familia de procesoare Motorola 68000. 3.3. Arbitrajul de magistral La majoritatea sistemelor, exist mai multe module care pot prelua controlul asupra magistralei (care pot deveni module master). Trebuie s existe deci un mecanism de arbitrare prin care s se determine modulul care va deveni mater, dac apar mai multe cereri simultane de magistral. Modulul master va putea apoi iniia un transfer cu un alt modul, care va avea rolul de modul slave pentru acest transfer.
10

SISTEME DE INTRARE IEIRE

Metodele de arbitrare pot fi clasificate ca fiind centralizate sau descentralizate (distribuite). n cazul arbitrrii centralizate, alocarea magistralei este realizat de un dispozitiv hardware numit arbitru de magistral. Acest dispozitiv poate fi un modul separat sau poate face parte din UCP. n cazul arbitrrii descentralizate, nu exist un arbitru de magistral. Fiecare modul conine o logic pentru controlul accesului la magistral. 3.3.1. Arbitrarea centralizat n Figura 9 se prezint un exemplu simplu de arbitrare centralizat. Exist o singur linie de cerere a magistralei, de tip SAU cablat, care poate fi activat de unul sau mai multe dispozitive n orice moment. Arbitrul nu poate distinge dac exist mai multe cereri simultane sau o singur cerere, ci numai dac exist sau nu cereri la un moment dat.

Fig. 9. Exemplu de arbitrare centralizat Dac linia de cerere este activat, arbitrul activeaz linia de acordare a magistralei, la care sunt conectate n serie toate dispozitivele. Dispozitivul cel mai apropiat fizic de arbitru detecteaz semnalul de pe aceast linie, i n cazul n care a efectuat o cerere preia controlul asupra magistralei, far s propage semnalul de activare pe linie. Dac nu a efectuat o cerere, transmite semnalul urmtorului dispozitiv, care procedeaz la fel, pn cnd un dispozitiv preia controlul asupra magistralei. n aceast schem de tip daisy chain, prioritatea dispozitivelor este dat de distana la care se afl fa de arbitru. Dispozitivul cel mai apropiat de arbitru are prioritatea maxim. Pentru a modifica aceste prioriti implicite, magistralele pot avea mai multe nivele de prioritate. Pentru fiecare prioritate exist o linie de cerere i una de acordare a magistralei. Fiecare dispozitiv se conecteaz la una din liniile de cerere, dup prioritatea dispozitivului. Unele circuite de arbitrare au o linie suplimentar de achitare, care este activat de un dispozitiv atunci cnd a preluat controlul asupra magistralei n urma unui semnal de acordare a magistralei. Imediat dup activarea acestei linii, semnalele de
11

Capitolul 3 - Magistrale de comunicaie cu echipemantele periferice

cerere i de acordare pot fi dezactivate, n consecin, n timpul utilizrii magistralei, alte dispozitive pot solicita magistrala. La terminarea transferului curent va fi deja selectat urmtorul dispozitiv master, care poate ncepe transferul imediat dup dezactivarea semnalului de achitare. Calculatoarele PDP-11 i microprocesoarele Motorola 680x0 utilizeaz un asemenea sistem. Un exemplu de arbitrare centralizat care va fi prezentat n continuare este cel al magistralei Multibus. Aceast magistral a fost elaborat de firma Intel pentru diferite configuraii de sisteme bazate pe microprocesoare, att uniprocesor, ct i muli procesor. Magistrala Multibus a fost standardizat de IEEE (standardul IEEE 796). Magistrala permite existena a pn la 16 module master, i permite dou tipuri de arbitrare, centralizat i descentralizat. n Figura 10 se prezint arbitrarea centralizat.

Fig.10. Schema arbitrrii centralizate a magistralei Multibus Fiecare modul master are o linie de cerere a magistralei (BREQ) i una de acordare a magistralei (BPRN), conectate la un modul central cu o logic de prioriti. Un modul solicit magistrala printr-o cerere transmis logicii de arbitraj. Aceast logic selecteaz urmtorul modul mater cruia i se acord magistrala i activeaz semnalul BPRN corespunztor. 3.3.2. Arbitrarea descentralizat n cazul arbitrrii descentralizate nu exist arbitru de magistral. Un exemplu de magistral care utilizeaz aceast metod de arbitrare este magistrala SBI (Synchronous Backplane Interconnect), dezvoltat de firma DEC pentru calculatoarele VAX-11/780. Modulele de I/E nu se conecteaz direct la magistrala SBI, care este optimizat pentru operaiile de citire/scriere a memoriei. Modulele de I/E sunt conectate la o magistral Unibus sau MASSBUS, care sunt conectate la magistrala SBI prin adaptoare. Magistrala Unibus este utilizat n principal pentru dispozitive de vitez mic i medie, ca terminale, imprimante i linii de comunicaie. Magistrala MASSBUS este destinat pentru memorii externe, ca discuri i benzi magnetice.
12

SISTEME DE INTRARE IEIRE

Fiecare modul conectat la magistrala SBI (UCP, memorie, adaptor Unibus) are o prioritate unic i o linie unic de cerere de transfer (TR - Transfer Request). Exista 16 asemenea linii (TR0, ..., TR15), deci la magistral pot fi conectate maxim 16 dispozitive. Dac un dispozitiv solicit magistrala, activeaz linia sa de cerere TR. La sfritul ciclului de magistral toate dispozitivele cu cereri active testeaz liniile TR. Dispozitivul cu prioritatea maxim va putea utiliza magistrala n urmtorul ciclu. Celelalte dispozitive vor menine active cererile lor pentru a obine un ciclu urmtor de magistral. Anumite transferuri necesit mai multe cicluri consecutive. Un dispozitiv care necesit cicluri suplimentare activeaz semnalul de pe linia TR0 la nceputul primului ciclu de transfer. Acest semnal, cu prioritatea maxim dintre semnalele TR, nu este asignat niciunui dispozitiv, ci poate fi utilizat pentru pstrarea controlului asupra magistralei. Dispozitivul cu prioritatea minim (16) poate efectua transferuri n oricare ciclu care nu este rezervat de celelalte dispozitive. La nceputul fiecrui ciclu, dac niciuna din liniile TR nu este activ, poate efectua transferuri numai dispozitivul cu prioritatea 16. Astfel, timpul de ateptare mediu este minim pentru acest dispozitiv. Din acest motiv, UCP are de obicei prioritatea minim n cazul unei magistrale SBI. Figura 11 ilustreaz metoda de arbitarare SBI sub form simplificat. Fiecare dispozitiv are ca intrri un semnal de ceas pentru sincronizare i toate liniile TR de prioritate mai mare (inclusiv TR0). Fiecare dispozitiv poate activa propria sa linie TR i linia TR0.

Fig. 11. Schema arbitrrii descentralizate a magistralei SBI 3.4. Parcarea magistralelor Anumite dispozitive master ale unui sistem de I/E, ca unitile centrale, sunt active n marea majoritate a timpului, n timp ce altele sunt active n mod sporadic. Un dispozitiv din prima categorie poate pstra controlul asupra magistralei chiar dup terminarea transferului curent, deoarece este probabil c va utiliza magistrala i n continuare. Procedura prin care magistrala nu este eliberat automat dup terminarea

13

Capitolul 3 - Magistrale de comunicaie cu echipemantele periferice

transferului curent, ci numai n cazul n care exist o cerere de magistral, se numete parcarea magistralei. Prin utilizarea acestei metode, nu este necesar executarea operaiilor de eliberare a magistralei i de arbitrare pentru fiecare transfer. De exemplu, la nceputul execuiei unui nou proces, UCP va ncrca noi date n memoria cache. Executarea arbitrajului de magistral pentru fiecare ciclu de transfer este dezavantajoas. Parcarea poate fi un mod operaional al magistralei, sau poate fi un mod opional. Atunci cnd parcarea este un mod operaional, un ciclu de arbitrare ncepe printr-o cerere adresat dispozitivului master de a elibera magistrala.

3.5. Exemple de magistrale


Tabelul 1. Caracteristicile principale ale unor magistrale
Magistrala Firma/Org Unibus SBI 2 Fastbus VMEbus6 Nubus Multibus II Micro Channel EISA7 S-bus Futurebus+ SCSI-1 9 SCSI-2 VLBus11 PCI13 P6 Fire Wire14 USB14,15 DEC 1 DEC MIM , ESONE4 Motorola
3

Standard IEEE5 960

Linii de 18 22 32 16,32 32 16,32 16,24,32 16,24 32 32,64 32 32 32,64 32,64 64 -

Linii de date 16 32 32 16,32 32 16,32 8,16,32 8,16,32 16,32 32,64, 128,256 8,16,32 8,16,32 32,64 32,64 64 -

Sinc/ a s a a s s a s s a a, s a,s s s s a a

Rata max. n.a. 4.7 165 40 37.5 40 20,40 33 57 400 (32 b) 3200 (256 b) 5, 10,20 10,20,40 276 528 500 100,200, 400 Mbit/s 480Mbit/s

IEEE P1014 IEEEP11 Texas Instr. 96 IEEEP12 Intel 96 IBM Compaq, Intel Sun Microsys. MSC8 ANSI 10 ANSI VESA 12 Intel Intel Apple Compaq, IBM IEEE P896.1 ANSIX3.13 1-86 ANSIX3.13 1-94 IEEE 1394 -

14

SISTEME DE INTRARE IEIRE

n Tabelul 1 se prezint caracteristicile principale ale unor magistrale mai cunoscute. Observaii:
1. Digital Equipment Corporation 2. Synchronous Backplane Interconnect 3. National Instrumentation Methods, din US Department of Energy 4. European Standards Organization for Nuclear Energy 5. Institute of Electrical and Electronics Engineers 6. Versa Module Eurocard 7. Extended Industry Standard Architecture 8. Microprocessor Standards Committee al IEEE Computer Society 9. Small Computer Systems Interface 10. American National Standards Institute 11. VESA Local Bus 12. Video Electronics Standards Association 13. Peripheral Component Interconnect 14. Fire Wire i USB sunt magistrale seriale 15. Universal Serial Bus

3.5.1. Magistrala ISA A devenit o magistral standard la calculatoarele bazate pe procesoarele din familia 80x86, fiind utilizat la primele tipuri de calculatoare IBM PC. IBM a denumit iniial aceast magistral "I/O Channel", ulterior utiliznd denumirea ISA (Industry-Standard Architecture). Magistrala ISA are 70 de linii, semnalele fiind prezentate n Tabelul 2.
Semnal OSC CLK RESET AO-A19 DO-D15 ALE MEMR MEMW IOR IOW AEN IOCHCHK IO CH RDY Nr. linii 1 1 1 20 16 1 1 1 1 1 1 1 1 x x x x 1 E x x x x x x x x x x Oscillator ClocK Reset Adrese Date Address Latch Enable Memory Read Memory Write I/O Read I/O Write Address Enable I/O Channel Check I/O Channel Ready 15 Descriere

Capitolul 3 - Magistrale de comunicaie cu echipemantele periferice IRQ2-IRQ7 DRQ1-DRQ3 DACKODACK3 T/C Power GND Rezervat 6 3 4 1 5 3 1 x x x x Interrupt Request DMA Request DMA Acknowledge Terminal / Count 5 V, 12 V Ground Neutilizat la PC, selecie plac la XT

n continuare se descriu pe scurt semnalele magistralei ISA. OSC CLK Este semnalul generat de un oscilator cu cuart. Este generat de circuitul 8284A, prin divizarea semnalului OSC cu 3. Spre deosebire de semnalul OSC care este simetric, CLK este nesimetric, fiind l pe durata de 1/3 din perioad i 0 pe durata a 2/3 din perioad. Este semnalul de resetare generat de circuitul 8284A. Este activat atunci cnd adresele de pe magistral sunt valide. Se utilizeaz pentru validarea circuitelor latch de adrese. Este semnal de intrare pentru procesor, fiind generat de ctre dispozitivele care solicit magistrala. Controlerul de magistral 8288 genereaz semnaluj care deconecteaz driverele de date (liniile vor trece n starea de nalt impedan).

RESET ALE

AEN

IOCHCHK Este activat dac se detecteaz o eroare de paritate pe magistral, cnd se genereaz o ntrerupere nemascabil. IOCHRDY Se utilizeaz de memoriile sau dispozitivele mai lente pentru inserarea strilor de ateptare. IRQ2-IRQ7 Cereri de ntrerupere; reprezint intrri pentru controlerul de ntrerupere. DRQ1-DRQ3 Cereri DMA; reprezint intrri pentru controlerul DMA. DRQ0 se utilizeaz pentru remprosptarea memoriei. DACK0- DACK3 Semnale de confirmare a cererilor DMA. T/C transfer. Semnal activat de controlerul DMA la terminarea unui

3.5.2. Magistrala IBM PC/AT La apariia procesorului 80286, n locul realizrii unei magistrale noi pentru calculatoarele AT, s-a ales soluia extinderii magistralei IBM PC (ISA).
16

SISTEME DE INTRARE IEIRE

S-a adugat un nou conector pentru linii suplimentare de adrese, ntreruperi, cereri DMA, i pentru diferenierea transferurilor de 8 i 16 bii. La introducerea seriei de calculatoare PS/2, IBM a decis s introduc o nou magistral, n parte pentru c magistralele utilizate pn atunci erau nvechite, dar i pentru a opri copierea noilor sisteme. Modelele mai evoluate ale acestei serii au fost echipate cu magistrala MicroChannel, complet nou, care a fost protejat cu numeroase patente. Cheltuielile de licen pentru aceast magistral au ajuns la 5% din preul de vnzare. Celelalte firme productoare de calculatoare personale au adoptat un standard propriu de magistral, numita EISA (Extended Industry Standard Architecture), care este o extensie a magistralei ISA la 32 de bii, avnd avantajul c pstreaz compatibilitatea cu calculatoarele i plcile de extensie existente, i se bazeaz pe o magistral a crei licen a fost oferit liber numeroaselor firme productoare de plci de extensie pentru calculatoarele IBM PC. 3.5.3. Magistrala VME 3.5.3.1. Principii Magistrala VME (Versa Module Eurocard) provine din magistrala Versabus a firmei Motorola, care a fost utilizat la primele sisteme bazate pe procesorul 68000. Ulterior, magistrala Versabus a fost adaptat pentru formatul plcilor dublu Eurocard (160 x 200 mm), format devenit standard pentru calculatoarele industriale. Noua magistral, proiectat n colaborare cu firmele Mostek, Signetics/Philips i Thompson CSF, a fost denumit VME, fiind anunat n anul 1981. Este o magistral de 32 bii cu performane ridicate, utilizat pe scar larg, mai ales pentru aplicaii industriale. Exist mii de plci de extensie bazate pe aceast magistral, produse de sute de firme. Are specificaii bine definite, care descriu funcionarea magistralei i regulile care trebuie respectate de plcile VME. Performanele ridicate sunt asigurate prin asincronismul magistralei, ceea ce permite diferitelor componente s funcioneze la viteza corespunztoare tehnologiei utilizate. n practic, limita superioar este de ordinul a 100 ns pentru un ciclu de magistral, deoarece peste aceast limit apar nesimetrii (bus skew) i alte probleme similare. Cu un transfer de 4 octei la fiecare 100 ns, rezult o rat de transfer de 40 MB/s. Fiabilitatea magistralei este asigurat prin proiectarea mecanic i protocolul logic. Spre deosebire de conectorii calculatoarelor IBM PC, se utilizeaz conectori formai din pini metalici. Dei soluia este mai scump, se elimin astfel conexiunile necorespunztoare, care reprezint una din

17

Capitolul 3 - Magistrale de comunicaie cu echipemantele periferice

principalele surse de probleme la sistemele de calcul. Exist linii ale magistralei care se pot utiliza pentru autotest i raportarea strii. Magistrala VME face parte dintr-o familie de trei magistrale proiectate pentru o gam larg de sisteme de calcul, de la mici sisteme de dezvoltare la sisteme multiprocesor. De exemplu, Figura 1(a) prezint un sistem minimal, format din trei plci VME, cte una pentru UCP, memorie i un controler de I/E. Figura 1(b) prezint un sistem multiprocesor. Fiecare procesor are o memorie local la care se conecteaz printr-o magistral VSB. Dac se pstreaz programul i datele locale n memoriile locale, magistrala VME va fi utilizat numai de instruciunile care fac acces la memoria global partajat. Astfel, rata de transfer global poate depi limita de 40 MB/s impus de tehnologia VME. De exemplu, un sistem multiprocesor cu 16 UCP, fiecare UCP solicitnd un cuvnt de 4 octei la fiecare 200 ns, necesit o rat de transfer de: (4 1/200 IO9) 16 B/s = 320 MB/s Dac 90% din aceste accesuri se fac la memoria local (pentru ncrcarea instruciunilor, citirea/scrierea datelor locale), cu o magistral VME i 16 magistrale VSB se poate asigura aceast rat.

Fig. 1. Sisteme cu magistral VME a) minimal b) multiprocesor Magistrala serial VMS, care funcioneaz independent de celelalte dou magistrale, poate fi utilizat pentru comunicare i sincronizare ntre procesoare, n paralel cu transferurile de date pe magistrala principal. 3.5.3.2. Structura funcional Aceast structur const din logica de interfa, patru grupuri de linii numite magistrale, i o colecie de module funcionale asociate cu acestea.
18

SISTEME DE INTRARE IEIRE

Magistrala pentru transferul de date Const din 32 linii de date, 32 linii de adrese, 6 linii de modificare a adresei, care definesc tipul ciclului de magistral, i 5 linii de control. Modulele funcionale ale acestei magistrale cuprind modulele master i slave, un modul monitor i un modul de tip ceas. Modulul master iniiaz cicluri de transfer pentru a transfera datele cu modulul slave. Modulul slave detecteaz ciclurile de transfer iniiate de un master, i dac acele cicluri specific participarea sa, transfer datele la sau de Ia modulul master. Monitorul urmrete transferurile de date, n scopul detectrii accesurilor la locaiile care i-au fost asignate pentru a fi urmrite. n cazul n care apare un acces la o asemenea locaie, monitorul poate genera o ntrerupere. Dac, de exemplu, procesorul plcii A scrie ntr-o locaie a memoriei globale care este urmrit de monitorul plcii B, procesorul plcii B va fi ntrerupt. Ceasul msoar durata fiecrui transfer, i termin transferul dac acesta dureaz un timp prea mare. Este util n cazul n care se adreseaz o locaie inexistent sau un modul slave inexistent. Se evit astfel blocajul. Magistrala pentru transferul de date dispune de linii nemultiplexate pentru adrese i date. Aceasta asigur creterea performanelor la executarea ciclurilor de transfer singular, cnd se transmite o adres, dup care se citete sau se scrie data. Magistrala pentru ntreruperi Const din 7 linii de cerere de ntrerupere, IRQ1.. IRQ7, o linie de achitare a ntreruperilor, IACK , i o conexiune de tip daisy chain pentru achitarea ntreruperilor. Deoarece pot exista mai multe UCP, liniile de cerere pot fi partiionate ntre mai multe controlere de ntreruperi, fiecare controler gestionnd anumite linii i genernd semnalele de ntrerupere pentru anumite UCP. Sursa de ntrerupere genereaz o cerere de ntrerupere pe una din liniile de cerere. Atunci cnd cererea este achitat de un modul de gestiune a ntreruperii, sursa de ntrerupere furnizeaz 1, 2 sau 4 octei de stare sau identificare n cadrul unui ciclu special de magistral, octei care permit servirea ntreruperii. Conexiunea de tip daisy chain pentru achitarea ntreruperilor va fi activat atunci cnd un modul de gestiune a ntreruperii achit o cerere de ntrerupere. Aceast conexiune asigur ca un singur modul s rspund cu octeii de stare sau identificare atunci cnd au fost generate mai multe cereri. Magistrala de arbitraj n cadrul procesului de arbitraj este selectat modulul master sau modulul de gestiune a ntreruperilor care va putea utiliza magistrala pentru
19

Capitolul 3 - Magistrale de comunicaie cu echipemantele periferice

transferul de date. Magistrala de arbitraj const din 4 linii de cerere a magistralei, BRO..BR3,4 linii de acordare, BG 0IN .. BG 3IN , i alte dou linii numite Bus Busy ( BBSY) i Bus Clear ( BCLR ). Exist un modul de cerere a magistralei, aflat pe aceeai plac cu un modul master sau modul de gestiune a ntreruperii. Dup efectuarea cererii, se ateapt achitarea acesteia de ctre arbitru, dup care modulul de cerere preia controlul asupra magistralei prin activarea liniei Bus Busy, dezactiveaz cererea i indic modulului master faptul c magistrala este disponibil. Arbitrul poate avea o facilitate de time-out, care permite retragerea utilizrii magistralei dac modulul solicitant nu ncepe utilizarea magistralei n timpul prestabilit. Aceasta asigur c magistrala nu va fi blocat ca rezultat al unui semnal tranzitoriu pe linia de cerere. Arbitrul poate activa linia Bus Clear dac detecteaz o cerere de prioritate mai ridicat fa de cea a modulului care utilizeaz magistrala n acel moment, acordnd magistrala modulului mai prioritar. Magistrala utilitar Conine dou linii pentru semnale de ceas, o linie de resetare a sistemului, o linie de date pentru magistrala serial, o linie de detectare a cderii tensiunii de alimentare i o linie pentru indicarea a unei erori de sistem. Modulul de ceas al sistemului furnizeaz un semnal de ceas SYSCLK de 16 MHz, util pentru diferite funcii care necesit o referin de timp. Acest semnal nu se utilizeaz pentru delimitarea ciclurilor de magistral. Pentru magistrala serial VMS exist un semnal de ceas SERCLK care asigur sincronizarea operaiilor pe aceast magistral. Viteza de transfer pe magistrala serial este de 32 Mbii/s, dar se poate utiliza i o vitez de 16 sau 8 Mbii/s. Protocolul acestei magistrale este complet independent de magistrala VME. Starea sursei de alimentare este urmrit de un modul monitor, iar atunci cnd se detecteaz o tensiune n afara limitelor admise, monitorul utilizeaz linia prevzut n acest scop (ACFAIL) pentru a avertiza toate plcile conectate la magistral n vederea pregtirii cderii tensiunii (''graceful shutdown''). La detectarea unei erori de ctre o plac conectat la magistrala VME, aceasta poate utiliza o linie special (SYSFAIL) pentru a indica celorlalte module apariia acestei erori. 3.5.3.3. Cicluri de magistral Specificaiile VME definesc cinci tipuri de cicluri de transfer i dou cicluri suplimentare. Ciclurile de transfer se pot utiliza pentru transferul datelor de 8, 16 sau 32 de bii. Ciclurile de citire i scriere ncep prin transmiterea unei adrese i a unui cod de modificare a adresei, care indic tipul ciclului de magistral. Sunt
20

SISTEME DE INTRARE IEIRE

permise i transferuri nealiniate, de exemplu 4 octei ncepnd de la o adres impar. Ciclurile de transfer pe blocuri Se utilizeaz pentru citirea sau scrierea unui bloc de maxim 256 octei. Acestea permit unui modul master s adreseze o singur locaie i apoi s acceseze acea locaie i locaiile urmtoare, fr a transmite informaii suplimentare de adresare. La iniierea unui asemenea ciclu de ctre un master, modulul slave memoreaz adresa ntr-un numrtor de adrese, ea fiind incrementat ulterior i utilizat la transferurile ulterioare. Lungimea blocurilor transferate este limitat la 256 de octei. Motivul este simplificarea proiectrii plcilor de memorie i reducerea timpului de acces la modulele de memorie. Dac nu ar exista aceast limitare, toate modulele de memorie ar trebui s memoreze adresa de nceput a blocului, i apoi s incrementeze aceast adres n fiecare ciclu. Adresa incrementat ar trebui apoi decodificat de fiecare modul, pentru a testa dac adresa a ajuns n propria zon de adrese. Aceast decodificare ar crete timpul de acces. Prin limitarea introdus, dac un modul de memorie are o dimensiune de cel puin 256 octei, iar prima adres se afl n propria zon de memorie, urmtoarele se vor afla de asemenea n aceast zon. Deoarece numai cei 7 bii c.m.p.s. ai adresei se vor modifica n timpul unui transfer, liniile superioare de adres pot fi decodificate o singur dat, la nceputul ciclului. Ciclurile de citire-modificare-scriere Asigur o operaie indivizibil de citire i scriere a unei locaii, fr a permite unui alt master accesul la acea locaie nainte de terminarea operaiei. Aceste cicluri sunt utile n sistemele multiprocesor, unde trebuie partajate anumite resurse, unele locaii de memorie fiind utilizate pentru funcii semafor. Trebuie s se asigure ca o resurs utilizat de un anumit proces s nu fie utilizat de un alt proces n acelai timp. Un asemenea ciclu este similar cu un ciclu de citire urmat de unul de scriere, dar nu se permite acordarea magistralei de date unui alt modul ntre cele dou cicluri. Ciclurile fr transferuri de date Constau doar din transmiterea unei adrese. Rolul acestui ciclu este de a permite unui modul master s anune c va solicita n scurt timp coninutul memoriei de la o anumit adres. La o cerere ulterioar, memoria va putea rspunde fr ntrziere, evitndu-se strile de ateptare. Se poate suprapune astfel un ciclu cu cel urmtor. Ciclurile de achitare a unei ntreruperi Sunt iniiate de modulele de gestiune a ntreruperilor n scopul citirii informaiilor de stare sau identificare de la un modul care a solicitat o ntrerupere. n Figura 2 se prezint un ciclu de citire de 32 de bii .

21

Capitolul 3 - Magistrale de comunicaie cu echipemantele periferice

Fig. 2. Ciclu de citire la magistrala VME La nceputul unui transfer, dispozitivul master depune adresa pe liniile de adrese A0-A31 i activeaz semnalele de modificare a adreselor AM0AM5, care definesc tipul ciclului de magistral. Dac se efectueaz un transfer complet de 32 de bii, se activeaz de asemenea semnalul LWORD . Acest semnal definete, mpreun cu tipul ciclului, dimensiunea datelor transferate. Dup stabilizarea semnalelor A0-A31, AM0-AM5 i LWORD , dispozitivul master activeaz semnalul AS (Address Strobe) pentru a indica dispozitivului slave faptul c adresa este valid i poate fi memorat. Semnalul WRITE va fi dezactivat dac se efectueaz o citire, i va fi activat dac se efectueaz o scriere, n final, dispozitivul master activeaz semnalele DSQ-DSl (Data Strobe) pentru a indica dispozitivului slave c ateapt datele. Pe baza semnalelor DS 0, DS 1, LWORD i A1 se determin octetul sau octeii necesari din cadrul cuvntului selectat. Dispozitivul slave sesizeaz activarea semnalelor DS 0 - DS 1 i depune datele pe liniile D0D31. Apoi activeaz semnalul DTACK (Data Acknowledge) pentru a semnala depunerea datelor.
22

SISTEME DE INTRARE IEIRE

Dispozitivul slave sesizeaz activarea semnalului DTACK , preia datele i dezactiveaz semnalele care au fost activate la nceputul ciclului. Dezactivarea semnalelor DS 0 - DS 1 determin ca dispozitivul slave s dezactiveze semnalul DTACK , terminndu-se ciclul. 3.5.3.4. Arbitrajul de magistral Se utilizeaz o combinaie ntre arbitrarea centralizat i cea distribuit. Exist un arbitru de magistral amplasat pe prima plac, cu rolul de a acorda magistrala pentru o cerere de un anumit nivel de prioritate, n cadrul nivelului respectiv, un modul va fi selectat prin utilizarea unei conexiuni n lan ntre module. Dintre algoritmii de arbitraj posibili, specificaiile VME descriu trei: arbitraj pe baz de prioriti, arbitraj "round robin", arbitraj cu un singur nivel.

Arbitrajul pe baz de prioriti Atribuie magistrala pe baza unei scheme de prioriti fixe, fiecrei linii de cerere fiindu-i asignat o prioritate. Arbitrajul "round robin" Atribuie magistrala pe baza unor prioriti rotitoare. Fiecare din cele 4 linii are aceeai prioritate. Dac magistrala este atribuit modulului care a activat cererea de nivel n, prioritatea cea mai mare va fi asignat liniei de cerere n-1, i cea mai mic liniei n. Arbitrajul cu un singur nivel n cazul arbitrajului cu un singur nivel, sunt acceptate numai cereri pe linia de nivel 3. Conexiunea de tip daisy chain a acestui nivel va asigura ca un singur modul s utilizeze magistrala. Dei nu sunt descrii de specificaiile VME, se pot utiliza i ali algoritmi. De exemplu, un algoritm poate asigna prioritatea maxim cererii de nivel 3, pentru celelalte cereri atribuirea realizndu-se n modul "round robin". Eliberarea magistralei se poate realiza n dou moduri: eliberare la terminare (RWD - Release When Done)', eliberarea la cerere (ROR - Release On Request). n primul caz, modulul care a solicitat magistrala semnaleaz arbitrului terminarea utilizrii magistralei imediat dup ce modulul su master a indicat c nu mai necesit magistrala. n cazul eliberrii la cerere, dup terminarea utilizrii magistralei arbitrul va fi anunat numai dac un alt modul a efectuat o cerere de magistral. Pentru aceasta, modulul trebuie s monitorizeze toate liniile de cerere. Aceast metod permite implementarea procedurii de parcare a magistralei.

23

Capitolul 3 - Magistrale de comunicaie cu echipemantele periferice

3.5.4. Magistrala Micro Channel n anul 1987, firma IBM a lansat pe pia calculatoarele din familia PS/2. Acestea dispuneau de unele mbuntiri, ca: un controler pentru adaptorul video VGA integrat pe placa de baz, adaptorul de disc flexibil integrat pe placa de baz, noi porturi pentru tastatur i mouse, un adaptor i o interfa mai performante pentru discul fix. Caracteristica cea mai important a acestor sisteme a fost utilizarea unei noi magistrale de extensie, magistrala Micro Channel (MCA Micro Channel Architecture). Modelele 50Z, 55SX i 60 ale calculatoarelor PS/2 utilizeaz o versiune de 16 bii a acestei magistrale, iar modelele 70, 80 utilizeaz o versiune de 32 de bii pentru adrese i date. Dei a fost proiectat n primul rnd pentru familia de microcalculatoare PS/2, magistrala Micro Channel a fost proiectat astfel nct s poat fi utilizat i la calculatoarele mainframe ale IBM. Se descriu n continuare caracteristicile principale ale acestei magistrale. 3.5.4.1. Sistem de ntreruperi mbuntit Toate semnalele de ntrerupere (IRQ) sunt active pe nivel. Aceasta necesit o logic mai simpl pentru implementare, iar semnalele sunt mai puin vulnerabile la zgomote. Astfel se reduc costurile de implementare, se mbuntete fiabilitatea sistemului i cresc performanele. Sistemul de control al ntreruperilor permite partajarea unui nivel de ntreruperi" spre deosebire de magistrala ISA, care permite utilizarea unui nivel de ntrerupere de un singur adaptor. 3.5.4.2. Transferuri cu performane ridicate Frecvena de lucru a magistralei este de 10 MHz pentru conectorii de 16 bii i de 16 MHz pentru conectorii de 32 de bii. Specificaiile definesc un ciclu implicit de 200 ns pentru transferul a 4 octei, ceea ce corespunde unei rate de transfer de 20 MB/s. Specificaiile permit ca datele s fie transferate n cicluri cu durata mai mic dect cea implicit. Rata real de transfer a unui sistem este determinat de rata maxim de transfer a dispozitivului master care controleaz transferurile, i de restriciile de transfer ale dispozitivelor conectate la magistral (din punctul de vedere al ratei de transfer i a dimensiunii datelor). Viteza de transfer cu perifericele ajunge la 4 MB/s. Discurile pot transfera date ntr-un mod numit mod exploziv, cu rate de pn la 9 MB/s. 3.5.4.3. Magistrale de adrese i de date de 32 bii Magistrala de adrese de 32 bii permite un spaiu de adresare de 4 GB de memorie sau dispozitive de I/E mapate n memorie. Specificaiile permit i implementarea unui subset de 24 de bii al acestei magistrale. Magistrala de adrese poate fi utilizat i ca o magistral de l/E de 16 bii.
24

SISTEME DE INTRARE IEIRE

Magistrala de date de 32 bii se poate utiliza i ca o magistral de 24 bii, 16 bii, sau 8 bii. Specificaiile permit implementarea unui subset de 16 bii al magistralei de date atunci cnd este implementat o magistral de adrese de 24 bii. Magistrala de 16 bii se poate utiliza pentru transferul datelor de 16 sau 8 bii. 3.5.4.4. Recuperarea condiiilor de excepie O condiie de excepie este definit ca orice condiie de eroare sau stare care nu poate fi eliminat prin metode tipice de recuperare. Aceast facilitate permite implementarea unui hardware sau software care poate corecta condiia sau poate dezactiva dispozitivul care a creat condiia. Astfel cresc posibilitile sistemului de a putea continua s funcioneze. Prin raportarea condiiilor de excepie se minimizeaz timpul necesar deteciei erorilor de sistem. Testarea integritii ciclurilor de transfer se realizeaz prin hardware, eliminnd necesitatea testrii prin programele de sistem sau de aplicaie. Condiiile de excepie sunt raportate numai atunci cnd ele sunt detectate prin hardware, iar rutina de detecie i corecie a erorilor este executat numai atunci cnd este necesar. 3.5.4.5. Selecia programabil a opiunii Aceast facilitate, numit Programmable Option Select (POS), elimin necesitatea comutatoarelor de pe placa de baz sau de pe plcile de extensie. Permite identificarea dispozitivelor, elimin conflictele legate de asignarea resurselor i asigur configurarea dinamic a sistemului, dac exist un sistem de operare adecvat i drivere software corespunztoare. Informaiile de configuraie a dispozitivelor sunt pstrate n opt registre de cte 1 octet. Fiecare dispozitiv conectat la magistral poate fi validat sau invalidat printr-un bit din registrele sale POS. Aceste registre mai conin identificatorul dispozitivului, un indicator al condiiei de excepie i informaii opionale de stare. Cu aceste informaii, sistemul de operare i driverele de dispozitiv pot corecta condiia de eroare sau pot dezactiva dispozitivul. 3.5.4.6. Sistemul de arbitraj Sistemul de arbitraj al magistralei asigur att regimul de multitasking, ct i prelucrarea paralel. Magistrala de date poate fi partajat de ctre un total de 16 dispozitive master i slave. Se pot aduga coprocesoare, sisteme grafice i de comunicaie. Exist 4 linii de prioritate, care stabilesc 16 nivele de prioritate i se utilizeaz la arbitrarea magistralei. Fiecrui dispozitiv master i se atribuie un nivel de prioritate ntre 0 i F, nivelul F fiind cel mai puin prioritar. Dispozitivul cu nivelul de prioritate F este numit master implicit. Acestuia i se acord magistrala atunci cnd nu exist nici un alt master i la apariia unei condiii de excepie.

25

Capitolul 3 - Magistrale de comunicaie cu echipemantele periferice

Un dispozitiv conectat la magistrala Micro Channel care dorete s utilizeze magistrala trimite numrul de prioritate care i-a fost acordat pe cele 4 linii de prioritate. Fiecare dispozitiv sau plac de extensie controleaz aceste semnale i renun la magistral, dac detecteaz existena unei cereri de prioritate mai mare. 3.5.4.7. mbuntiri ale magistralei Micro Channel n anul 1990, IBM a introdus cteva mbuntiri magistralei Micro Channel pentru a crete viteza de transfer. n modul de transfer "streaming" pe 32 sau 64 de bii, transferurile de adrese i date intervin la intervale de 200 ns, urmnd ca datele ulterioare s se transmit la intervale de 100 ns, eliminnd necesitatea de a transmite adrese naintea fiecrui bloc de date. Cu acest mod, pe 32 de bii se ajunge la o rat de transfer de 40 MB/s, pentru un ceas de 10 MHz. Prin implementarea unui mod "streaming'" pe 64 de bii, se pot transmit date i pe magistrala de adrese n timpul n care aceasta nu este ocupat, rata de transfer ajungnd la 80 MB/s. Arhitectura Micro Channel nu s-a impus n msura ateptat din mai multe motive: incompatibilitatea cu plcile existente AT sau ISA; performanele nu au crescut n mod semnificativ fa de sistemele cu magistral ISA; creterea preurilor, din cauza dimensiunilor mai reduse ale plcilor, a tehnologiei de realizare i a cheltuielilor de licen. Totui, arhitectura Micro Channel a introdus mai multe concepte noi care sunt utilizate n prezent pentru implementarea magistralelor VL Bus i PCI. 3.5.5. Magistrala EISA Magistrala EISA (Extended Industry Standard Architecture) a fost elaborat n anul 1988, de un consoriu de firme condus de Compaq i Intel. Scopul era extinderea magistralei ISA, astfel nct s permit arhitecturi de 32 de bii i viteze de transfer superioare, pstrnd ns compatibilitatea cu plcile de extensie existente i cu perifericele. Se urmrea ns i concurarea magistralei Micro Channel. S-a adugat un nou conector de extensie cu semnale suplimentare, iar complexitatea arhitecturii magistralei a crescut. Multe caracteristici sunt similare cu cele ale magistralei Micro Channel: transferuri pe 32 de bii; posibilitatea multiprelucrrii; configurarea automat a sistemului i a plcilor de extensie, fr
26

SISTEME DE INTRARE IEIRE

utilizarea comutatoarelor. ntreruperile sunt declanate pe front sau pe nivel, selecia fiind realizat prin program. Magistrala EISA asigur o independen fa de arhitectura procesorului utilizat. ntregul spaiu de adresare de 32 bii este complet accesibil, nu numai de ctre procesor, dar i de dispozitivele DMA i controlerele de magistral. Chiar controlerele DMA existente de 16 bii pot avea acces la ntregul spaiu de adresare. Toate transferurile executate pe magistrala EISA sunt sincronizate de un semnal de ceas de 8,33 MHz. Exist un mod de transfer n avalan (burst mode), n care un transfer este executat ntr-un ciclu de ceas al magistralei. Aceasta echivaleaz cu 8,33 milioane transferuri pe secund. Se pot transfera maxim patru octei ntr-un ciclu, ceea ce corespunde unei rate maxime teoretice de transfer de 33 MB/s. Diferena principal fa de magistrala Micro Channel este c magistrala EISA este compatibil cu magistrala ISA (AT), deci calculatoarele cu o magistral EISA pot utiliza noile plci de extensie EISA, ca i vechile plci de extensie AT. Calculatoarele cu o magistral Micro Channel pot utiliza numai plci de extensie Micro Channel. Circuitele utilizate pentru arhitecturile EISA au un pre mai ridicat. Datorit acestui dezavantaj, sistemele EISA nu au devenit arhitecturi de larg utilizare, fiind folosite mai ales pentru aplicaii pretenioase, ca servere de reea sau grafic de performan. 3.5.6. Magistrale locale 3.5.6.1. Cerine pentru ratele de transfer In cazul sistemelor actuale, este necesar transferul rapid al unor blocuri mari de date. Aceast necesitate apare mai ales la urmtoarele subsisteme: Adaptoare grafice Interfeele grafice ale sistemelor de operare Windows, OS/2 i Unix X-Windows necesit actualizarea rapid a imaginii grafice pentru deplasarea, redimensionarea i actualizarea ferestrelor multiple. Acelai lucru este valabil pentru imaginile video n micare. Procesorul trebuie s actualizeze i s transfere blocuri mari de date n cadrul memoriei video Adaptoare pentru interfaa SCSI Interfaa SCSI este utilizat mai ales pentru memorii de mas, ca uniti de disc fix, unitai CD-ROM i uniti de band ncasetat. Creterea vitezei de transfer cu aceste dispozitive influeneaz semnificativ performanele globale ale sistemului. Adaptoare de reea FDDI (Fiber Distributed Digital Interface) Dac adaptorul de reea este utilizat pentru transferul unor fiiere la sau de la un
27

Capitolul 3 - Magistrale de comunicaie cu echipemantele periferice

server, rata cu care pot fi transferate datele ntre memorie i adaptor influeneaz performanele sistemului. Majoritatea subsistemelor sunt conectate la magistrala de extensie a calculatorului PC. Aceasta poate fi o magistral ISA, EISA sau Micro Channel. Aceste magistrale nu asigur o rat de transfer suficient pentru imagini grafice de nalt rezoluie i un numr mare de culori, i nici pentru imagini video cu un numr de 30 cadre/s. n multe cazuri, anumite subsisteme sunt integrate pe placa sistem. Aceasta nu nseamn c ele nu utilizeaz magistrala de extensie. Cele mai multe subsisteme integrate sunt conectate la o extensie a magistralei de extensie, numit magistrala X sau magistrala utilitar. Figura 3 ilustreaz relaia dintre magistrala X, magistrala de extensie i procesorul sistemului. La o operaie de citire a memoriei, procesorul poate comunica cu memoria sa cache intern (de nivel 1) la viteza maxim, dac informaia cerut se afl n memoria cache. Dac aceast memorie cache este de tip write-back, operaiile de scriere n locaiile aflate n memoria cache se pot executa de asemenea la viteza maxim. Dac la o citire cuvntul nu se afl n memoria cache, sau coninutul memoriei cache trebuie scris n memoria principal, procesorul trebuie s utilizeze magistrala sa local pentru a comunica cu memoria cache extern (de nivel 2). Dac cuvntul nu se afl nici n aceast memorie cache, se execut un acces la memoria DRAM. La execuia unei operaii de I/E, se va executa un ciclu de citire sau scriere utiliznd magistrala de extensie. Viteza de execuie a acestui ciclu este dat de viteza maxim a magistralei de extensie i de timpul de acces al dispozitivului adresat.

28

SISTEME DE INTRARE IEIRE

Fig. 3. Magistrala X 3.5.6.2. Conceptul magistralei locale Pentru a crete rata de transfer la operaiile de actualizare a memoriei video, adaptorul video se poate conecta la magistrala local a procesorului n locul magistralei de extensie. Adaptorul video este reproiectat pentru conectarea direct la magistral i minimalizarea sau eliminarea strilor de ateptare. Exist trei metode majore de conectare a dispozitivului la magistrala local a procesorului: Conectarea direct Dispozitivul este conectat direct la magistrala local a procesorului. Acesta poate fi un procesor de orice tip, de exemplu 80486 sau Pentium. Aceast metod impune unele restricii importante de proiectare: Deoarece dispozitivul este conectat direct la magistrala local a procesorului, va trebui reproiectat pentru a fi utilizat cu procesoarele din generaiile viitoare (dac structura magistralei sau protocolul vor fi modificate). Datorit ncrcrii suplimentare a magistralei locale, nu se poate conecta mai mult de un dispozitiv. Deoarece frecvena magistralei locale este ridicat, proiectarea interfeei la magistral a dispozitivului este dificil. In cazul modernizrii ulterioare a sistemului prin instalarea unui procesor de tip "overdrive", sistemul poate funciona incorect datorit ncrcrii suplimentare a magistralei locale. Procesorul nu poate efectua transferuri cu un dispozitiv n timp ce dispozitivul de pe magistrala local execut un transfer cu un alt dispozitiv. Conectarea printr-un buffer Bufferul prin care este conectat dispozitivul la magistrala local amplific semnalele magistralei, fiind posibil conectarea mai multor dispozitive. Deoarece magistrala local bufferat este izolat din punct de vedere electric fa de magistrala local a procesorului, reprezint o singur ncrcare pentru aceasta. La magistrala bufferat se pot conecta de obicei trei dispozitive, acesta fiind singurul avantaj al acestei metode. Un dezavantaj al conectrii printr-un buffer este c orice tranzacie iniiat de procesor apare pe magistrala local, ca i pe cea bufferat. De asemenea, orice tranzacie iniiat de un dispozitiv master de pe magistrala bufferat apare i pe magistrala local a procesorului. De aceea, procesorul i dispozitivul master nu pot utiliza magistrala simultan. Conectarea de tip staie de lucru n cazul acestei soluii, utilizat la numeroase staii de lucru, controlerul memoriei cache de nivel 2 este combinat cu un circuit de interfa numit punte (bridge), care asigur interfaa dintre procesor, memoria principal i o
29

Capitolul 3 - Magistrale de comunicaie cu echipemantele periferice

magistral de I/E de vitez ridicat (de exemplu, PCI). Dispozitivele conectate la magistrala de I/E pot fi i adaptoare inteligente cu rol de master. Prin utilizarea punii de legtur, memoria principal poate fi accesat fie de procesor (prin memoria sa cache de nivel 2), fie de un dispozitiv master de pe magistrala de I/E sau magistrala de extensie. Procesorul poate continua ncrcarea datelor din memoria cache de nivel l sau 2, n timp ce controlerul memoriei cache asigur accesul la memoria principal a unui dispozitiv master de pe magistrala de I/E. Dispozitivele master pot de asemenea comunica direct cu dispozitive slave de pe magistrala de I/E n timp ce procesorul acceseaz una din memoriile cache sau controlerul memoriei cache de nivel 2 acceseaz memoria principal. Un alt avantaj important al acestei metode este c interfaa dispozitivelor conectate la magistrala de I/E va fi independent de magistrala procesorului. Modernizarea procesorului poate fi efectuat simplu, fr a afecta magistrala de I/E i dispozitivele conectate la aceasta. Va trebui reproiectat numai puntea de legtur.

3.5.7. Magistrala VL Bus Asociaia de standardizare pentru electronica video, VESA (Video Electronics Standards Association), o asociaie de firme care sunt implicate n proiectarea i producia adaptoarelor grafice, a format un comitet pentru dezvoltarea i standardizarea unei magistrale locale i a conectorilor magistralei. Aceast magistral, denumit VL Bus (VESA Local Bus), a aprut n anul 1992 i n acelai an a fost standardizat prima versiune (1.0) a acesteia. Aceast versiune definete dou metode de interfaare la magistrala local a procesorului: metoda direct i cea bufferat, care au fost descrise anterior. Magistrala care utilizeaz prima metod este numit de tip A, iar cea care utilizeaz metoda a doua este numit de tip B. n ambele cazuri, magistrala se bazeaz pe magistrala local a procesorului 80486. Diferena principal dintre cele dou tipuri este c magistrala de tip B permite utilizarea a pn la trei conectori de extensie, n funcie de ncrcarea capacitiv, n timp ce magistrala de tip A nu permite conectori de extensie, fiind posibil conectarea unui singur dispozitiv. n cazul tipului B, apar ntrzieri datorit bufferului, care determin de obicei inserarea unor stri de ateptare n timpul transferurilor. Versiunea 2.0 a magistralei prevede mbuntiri prin extinderea liniilor de date la 64 i posibilitatea conectrii microprocesoarelor Pentium, pstrnd compatibilitatea cu versiunea 1.0. Magistrala VL Bus este scalabil i extensibil, fiind compatibil cu mairjstralele existente ISA, EISA, Micro Channel. Specificaiile acesteia sunt disponibile pentru toate firmele, nefiind protejate prin brevet. Frecvena maxim a magistralei este de 50 MHz. n cazul unei asemenea frecvene, devine important
30

SISTEME DE INTRARE IEIRE

valoarea capacitii electrice a liniilor magistralei. La creterea numrului de echipamente conectate la magistral, crete i valoarea capacitii electrice, i deci ncrcarea magistralei. Valorile mari ale capacitii tind s micoreze viteza semnalelor i performanele magistralei. Conectorii de extensie pentru magistrala VL Bus sunt adugai pe aceeai linie cu conectorii magistralei ISA, ceea ce permite combinarea adaptoarelor ISA i a celor VL Bus pe aceeai plac. Sistemele cu magistral VL Bus cele mai utilizate sunt cele care permit att extensii VL Bus, ct i ISA. Standardul VL Bus specific faptul c dispozitivele conectate la magistral trebuie s permit configurarea automat a sistemului. Nu se definete ns modul n care trebuie realizat configurarea automat, deci registrele de configuraie pentru fiecare dispozitiv. Specificaiile indic de asemenea c dispozitivele conectate la magistrala VL Bus trebuie s fie transparente la driverele de dispozitiv, deci trebuie s rspund la acelai set de comenzi i s furnizeze aceeai stare ca i cele conectate la o alt magistral. Pe lng adaptoarele video, exist i alte echipamente care sunt conectate la magistrala local, cum sunt: adaptoare de disc IDE, adaptoare SCSI sau adaptoare de reea.
Frecvena de ceas a magistralei VL Bus 25MHz 33MHz 40MHz 50MHz Rata de transfer maxim (32 80 MB /s 107 MB /s 128 MB/s 160 MB /s Rata de transfer maxim (64 133 MB /s 178 MB /s 213MB/S 276 MB /s

Avantajele magistralei VL Bus constau n simplitatea arhitecturii i costul redus. Dezavantajul principal este c la apariia unor procesoare mai performante, logica de interfa trebuie reproiectat pentru acestea. De asemenea, faptul c nu se definete formatul registrelor de configuraie i adresele acestora nu permite realizarea unor interfee software unitare pentru dispozitivele conectate la magistral.

3.5.8. Magistrala PCI 3.5.8.1. Prezentare general n anul 1992, firma Intel a anunat prima versiune (1.0) a unei specificaii pentru o magistral local, denumit PCI (Peripheral Component Interconnect). Intenia iniial era realizarea unui standard care s permit interconectarea circuitelor rapide pe placa de baz, deoarece cu fiecare generaie de microprocesoare, Intel trebuia s modifice arhitectura magistralei locale pentru a
31

Capitolul 3 - Magistrale de comunicaie cu echipemantele periferice

mri performanele sistemului, ceea ce implica i modificarea circuitelor de interfa pentru periferice. Magistrala PCI urma s se conecteze la magistrala local a procesorului prin intermediul unui circuit, special destinat acestui scop. Astfel, la fiecare schimbare a procesorului i a magistralei locale, trebuia schimbat doar circuitul de legtur, circuitele de interfa cu perifericele nefiind afectate. Specificaia PCI iniial nu prevedea conectori de extensie. Intel a actualizat specificaiile PCI pentru ca aceasta s admit i conectori de extensie. Astfel, magistrala PCI a fost definit detaliat din punct de vedere electric i funcional, ajungnd cea mai utilizat arhitectur de magistral. Versiunea 2.0 a aprut n 1993, iar versiunea 2.1 n 1995. Sunt posibile transferuri de 32 sau de 64 bii. n versiunea 2.1, frecvena maxim a ceasului este de 66 MHz, ceea ce permite obinerea unei rate maxime de transfer de 528 MB/s. Standardul de extensie a plcii PCI definete o familie de conectori pentru adaptoare de 5 V sau 3,3 V, cu variante de 32 i 64 de bii. Este de ateptat ca n viitor majoritatea conectorilor de extensie s utilizeze surse de alimentare de 3,3 V n loc de 5 V. Specificaiile PCI permit utilizarea a dou din cele trei metode de conectare la magistrala local a procesorului: conectarea printr-un buffer i conectarea de tip staie de lucru. Datorit avantajelor legate de performane i de flexibilitate, conectarea de tip staie de lucru este preferat. Se prezint n Figura 1 schema bloc a unui sistem cu magistral PCI, utiliznd acest tip de conectare. Magistrala PCI este conectat la magistrala sistem a procesorului prin intermediul unei puni UCP/PCI, avnd acces direct la memoria principal, n acest fel, transferurile ntre UCP i memoria cache, respectiv ntre dispozitivele de I/E i memoria principal pot avea loc simultan. Dispozitivele de I/E de vitez ridicat, ca adaptoarele grafice i adaptoarele de reea, care solicit n msur redus procesorul, sunt conectate direct la magistrala PCI. Dispozitivele care trebuie s se conformeze altor standarde de magistral, ca ISA sau SCSI, se interfaeaz cu magistrala PCI printr-o punte PCI/ISA, respectiv un adaptor SCSI. Un sistem poate fi realizat i fr utilizarea punilor de legtur, n acest caz, toate componentele, inclusiv procesorul i memoria principal, se interfaeaz direct cu magistrala PCI. 3.5.8.2. Semnalele magistralei PCI Fiecare dispozitiv conectat la magistrala PCI poate funciona fie ca slave, fie ca master/slave. Un dispozitiv master se mai numete iniiator, iar unul slave se mai numete int (target). Un dispozitiv int nu poate iniia transferuri pe magistral. Pentru a reduce numrul pinilor i dimensiunea conectorilor necesari pentru unitile compatibile PCI, adresele i datele sunt multiplexate, setul de linii pentru linii i date fiind notat cu AD. O tranzacie tipic pe magistral implic dou faze.
32

SISTEME DE INTRARE IEIRE

n prima faz se transmite o adres pe liniile AD, iar n faza a doua se transmit una sau mai multe cuvinte de date pe aceleai linii. Toate operaiile magistralei sunt sincronizate cu ajutorul unui semnal de ceas, astfel c magistrala este sincron. Sunt prevzute ns semnale care permit inserarea strilor de ateptare de ctre dispozitivele mai lente.

Fig.1. Schema magistralei PCI n Figura 2 se prezint principalele semnale ale unui dispozitiv master/slave. In partea stng se afl semnalele obligatorii, necesare pentru transferurile de baz utiliznd cuvinte de maxim 32 de bii. n partea dreapt se afl semnalele opionale, care permit transferuri de date utiliznd cuvinte de 64 de bii, semnale care permit controlul ntreruperilor i executarea altor funcii mai puin uzuale.

33

Capitolul 3 - Magistrale de comunicaie cu echipemantele periferice

Fig. 2. Semnalele magistralei PCI Se descriu n continuare principalele semnale AD[31 :0] (Address/Data) Reprezint magistrala multiplexat de adrese i de date. n timpul fazei de adrese, pe aceast magistral se transmite adresa de start a tranzaciei, n timpul fazei de date, pe liniile AD[31:0] se transmit date provenite de la iniiator (la o scriere) sau de la inta adresat (la o citire). CIBE [3:0] (Command or Byte Enable) n timpul fazei de adrese aceste linii definesc o comand pe care iniiatorul o utilizeaz pentru a indica tipul tranzaciei necesare. Dintre comenzile posibile se amintesc citirea din memorie, scrierea n memorie, citirea de la un dispozitiv de I/E, scrierea la un dispozitiv de I/E, achitarea unei ntreruperi etc. n timpul fazei de date aceste linii sunt utilizate de iniiator pentru a indica octeii care trebuie transferai din cadrul cuvntului dublu adresat i grupele de linii ale magistralei AD care trebuie utilizate pentru transferul datelor. PAR (Parity) Reprezint semnalul de paritate par pentru liniile AD[31:0] i CIBE [3:0]. Paritatea este generat de iniiator dup terminarea fazei de adrese i dup terminarea fiecrei faze de date la o tranzacie de scriere. Paritatea este generat de inta adresat dup terminarea fiecrei faze de date la o tranzacie de citire. FRAME (Cycle Frame)
34

SISTEME DE INTRARE IEIRE

Este activat de iniiator i indic nceputul i durata unei tranzacii pe magistral. O tranzacie poate consta din una sau mai multe transferuri de date ntre iniiatorul curent i inta adresat. Semnalul FRAME este dezactivat atunci cnd iniiatorul este pregtit s ncheie faza final de date. TRDY (Target Ready) Este activat de dispozitivul int adresat atunci cnd acest dispozitiv este pregtit pentru un transfer de date (poate executa faza curent de date). Faza de date este terminat atunci cnd inta activeaz TRDY i iniiatorul activeaz IRDY la frontul cresctor al semnalului de ceas. n timpul unei operaii de citire, semnalul TRDY activat indic faptul c inta a depus date valide pe magistrala de date. n timpul unei operaii de scriere, semnalul TRDY activat indic faptul c inta este pregtit s accepte datele de la iniiator. Sunt inserate stri de ateptare n faza curent de date pn cnd ambele semnale TRDY i IRDY sunt activate. IRDY (Initiato rReady) Este activat de iniiatorul tranzaciei i semnaleaz momentul n care iniiatorul este pregtit pentru un transfer de date. n timpul unei operaii de scriere, semnalul IRDY activat indic faptul c iniiatorul a depus date valide pe magistrala de date. n timpul unei operaii de citire, semnalul IRDY activat indic faptul c iniiatorul este pregtit s accepte datele de la inta adresat. STOP Prin activarea acestui semnal dispozitivul int solicit iniiatorului oprirea tranzaciei n curs n timpul fazei curente de date. DEVSEL (Device Select) Este activat de dispozitivul int atunci cnd acesta i-a decodificat adresa. Dac un dispozitiv master a iniiat un transfer i nu detecteaz semnalul DEVSEL activ n cursul a ase perioade de ceas, va presupune c inta nu poate rspunde sau c adresa respectiv nu este utilizat. Va rezulta un abandon din partea dispozitivului master. IDSEL (Initialization Device Select) Este o intrare pentru un dispozitiv PCI i este utilizat pentru selecia circuitului n timpul accesului la unul din registrele de configurare ale dispozitivului. PERR (Parity Error) Indic o eroare de paritate. Generarea informaiei de paritate este obligatorie pentru toate dispozitivele PCI care transmit adrese i date pe magistrala AD. Detectarea i raportarea erorilor de paritate de ctre dispozitivele PCI este necesar n general (n anumite cazuri, erorile de paritate pot fi ignorate). Dac se detecteaz o eroare de paritate de ctre un dispozitiv int n timpul unei faze de date la o operaie de scriere, inta trebuie s activeze semnalul PERR . inta poate continua tranzacia sau poate activa semnalul STOP pentru terminarea prematur a tranzaciei. Dac se detecteaz o eroare de paritate de ctre un dispozitiv iniiator n
35

Capitolul 3 - Magistrale de comunicaie cu echipemantele periferice

timpul unei faze de date la o operaie de citire, iniiatorul trebuie s activeze semnalul PERR . Iniiatorul unei tranzacii are responsabilitatea de a raporta detectarea unei erori de paritate, n acest scop, iniiatorul trebuie s monitorizeze semnalul PERR n timpul fazelor de date la operaiile de scriere pentru a determina dac inta a detectat o eroare de paritate a datelor. SERR (System Error) Acest semnal poate fi activat de orice dispozitiv PCI pentru a raporta erori de paritate a adreselor, erori de paritate a datelor n timpul unui ciclu special, sau erori critice diferite de cele de paritate. Acest semnal este considerat ca ultima modalitate de raportare a erorilor serioase. Erorile care nu sunt catastrofale i cele corectabile trebuie semnalate n alte moduri. La calculatoarele PC, SERR determin n general o ntrerupere NMI ctre procesorul sistemului. REQ (Request) Este activat de iniiator pentru a indica o cerere de magistral. Aceast linie este conectat la arbitrul de magistral. Metoda de arbitrare a magistralei nu este descris n specificaiile PCI; se pot implementa diferite metode. Este specificat doar faptul c arbitrul de magistral trebuie s utilizeze un algoritm prin care s se evite blocajele; fiecrui dispozitiv master potenial trebuie s i se permit accesul la magistral. GNT (Grant) Este activat de arbitrul de magistral pentru a indica acordarea magistralei pentru iniiator. Atunci cnd detecteaz acest semnal, iniiatorul trebuie s atepte terminarea tranzaciei n curs de ctre iniiatorul curent. CLK (Clock) Reprezint semnalul de ceas utilizat pentru sincronizarea tuturor tranzaciilor, inclusiv a arbitrajului de magistral. Toi parametrii de sincronizare ai magistralei sunt specificai relativ la frontul cresctor al semnalului de ceas. Frecvena semnalului de ceas se poate modifica n orice moment, cu condiia s nu existe cereri de magistral i semnalul LOCK s nu fie activ. De asemenea, ceasul poate fi oprit n starea low (pentru reducerea puterii consumate). RST(Reset) Reprezint semnalul de resetare. Atunci cnd este activat, acest semnal foreaz trecerea tuturor registrelor de configurare PCI, a dispozitivelor iniiator i int ntr-o stare de iniializare, n general, semnalele de ieire ale dispozitivelor PCI vor fi trecute n starea de nalt impedan. Semnalul RST poate fi activat sau dezactivat asincron relativ la frontul semnalului CLK. AD[63:32] Reprezint extensia la 64 de bii a magistralei de date AD[31:0]. Aceste linii nu sunt utilizate n timpul fazei de adresare a unui transfer (cu excepia cazului n care se utilizeaz adresarea pe 64 de bii).
36

SISTEME DE INTRARE IEIRE

CIBE [7:4] Reprezint extensia semnalelor CIBE[3:0]. Se utilizeaz numai n timpul fazei de date a unui transfer (cu excepia cazului n care se utilizeaz adresarea pe 64 de bii). PAR64 (Parity for the Upper Doubleword) Este bitul de paritate par asociat cu AD[63:32] i CIBE [7:4]. REQ64 (Request 64-bit Transfer) Semnal generat de iniiatorul curent pentru a indica faptul c dorete executarea transferurilor utiliznd extensia la 64 de bii a liniilor de date. Semnalul REQ64 are aceeai sincronizare ca i semnalul FRAME. ACK 64 (Acknowledge 64-bit Transfer) Semnal generat de inta curent adresat (dac aceasta permite transferuri pe 64 de bii) ca rspuns la activarea semnalului REQ64 de ctre iniiator. Semnalul ACK 64 are aceeai sincronizare ca i semnalul DEVSEL LOCK Acest semnal este utilizat de ctre un iniiator PCI care solicit accesul exclusiv la un dispozitiv int de memorie n timpul a dou sau mai multe tranzacii separate. Acest semnal este prevzut cu scopul de a permite operaii de citire/modificare/scriere la operaiile cu semafoare. Dac un dispozitiv PCI conine o memorie executabil sau o memorie care conine date de sistem (gestionate de sistemul de operare), trebuie s implementeze aceast funcie de blocare a resurselor. CLKRUN (Clock Run) Acest semnal este opional i este definit pentru sistemele portabile. Un sistem portabil cuprinde o resurs central, care include logica de generare a ceasului pentru magistrala PCI. Atunci cnd ceasul funcioneaz normal, aceast logic menine semnalul CLKRUN activat. n perioadele n care ceasul este oprit sau frecvena acestuia este micorat, logica de generare a ceasului monitorizeaz semnalul CLKRUN pentru a recunoate cereri de la dispozitivele PCI care urmresc modificarea strii semnalului de ceas. Ceasul nu poate fi oprit dac magistrala nu este liber, naintea opririi (sau micorrii frecvenei) ceasului, logica de generare a ceasului dezactiveaz semnalul CLKRUN pentru o perioad de ceas pentru a informa dispozitivele PCI c ceasul urmeaz s fie oprit (sau frecvena acestuia urmeaz s fie micorat). Dup aceasta, logica trece driverul de ieire al semnalului CLKRUN n starea de nalt impedan. Rezistena conectat la linia CLKRUN va menine acest semnal n starea dezactivat n timpul n care ceasul este oprit. Ulterior, un dispozitiv master poate solicita repornirea ceasului n scopul utilizrii magistralei prin activarea semnalului CLKRUN .
37

Capitolul 3 - Magistrale de comunicaie cu echipemantele periferice

INTA , INTB , INTC , INTD Reprezint semnalele pentru cererile de ntrerupere. SBO (Snoop Back Off) Acest semnal este o ieire de la puntea UCP/PCI i o intrare pentru subsistemele de memorie conectate la magistrala PCI care pot utiliza o memorie cache. Semnalul SBO estre activat de puntea UCP/PCI pentru a indica faptul c prin accesul curent la memorie urmeaz s se citeasc sau s se actualizeze informaii perimate din memorie. Semnalul SBO are semnificaie numai atunci cnd semnalul SDONE este de asemenea activat de ctre puntea UCP/PCI. Atunci cnd ambele semnale sunt activate, subsistemul de memorie PCI curent adresat trebuie s rspund prin semnalarea unei retransmisii la iniiatorul curent. SDONE (Snoop Done) Acest semnal este o ieire de la puntea UCP/PCI i o intrare pentru subsistemele de memorie conectate la magistrala PCI care pot utiliza o memorie cache. Semnalul SDONE este dezactivat de puntea UCP/PCI n timp ce memoria cache a procesorului intervine ntr-o cerere de acces la memorie executat de iniiatorul curent. Puntea activeaz semnalul SDONE atunci cnd intervenia s-a terminat. Rezultatele interveniei sunt indicate de ctre semnalul SBO. Semnalul SBO dezactivat indic faptul c iniiatorul PCI acceseaz date valide din memorie i c memoria poate accepta sau furniza datele respective. Semnalul SBO activat indic faptul c iniiatorul PCI acceseaz date perimate din memorie i nu trebuie s termine accesul curent. Memoria va trebui s termine accesul prin semnalarea faptului c operaia trebuie repetat. TCK (Test Clock) Utilizat ca semnal de ceas pentru transferul informaiilor de stare i a datelor n timpul testrii ''boundary scan". TDI (Test Data Input) Utilizat mpreun cu semnalul TCK pentru transferul datelor i a instruciunilor ctre dispozitivul PCI prin portul TAP (Test Access Port) sub forma unui ir de bii, n mod serial. TDO (Test Data Out) Utilizat mpreun cu semnalul TCK pentru transferul datelor de la dispozitivul PCI prin portul TAP sub forma unui ir de bii, n mod serial. TMS (Test Mode Select) Utilizat pentru controlul strii controlerului portului TAP. TRST (Test Reset) Utilizat pentru a fora controlerul portului AP n starea iniial. 3.5.8.3. Caracteristici ale magistralei PCI
38

SISTEME DE INTRARE IEIRE

Dispozitiv iniiator i int La fiecare transfer particip dou dispozitive: iniiatorul i inta. Iniiatorul, sau dispozitivul master, este cel care iniiaz un transfer. inta, sau dispozitivul slave, este adresat de iniiator n scopul executrii transferului. Dispozitivele iniiator i int sunt numite ageni PCI. Transferuri n mod exploziv Un asemenea transfer const dintr-o singur faz de adrese urmat de mai multe faze de date. Arbitrajul de magistral trebuie executat o singur dat. In timpul fazei de adrese se transmite adresa de nceput i tipul tranzaciei care urmeaz. Dispozitivul int memoreaz adresa de nceput ntr-un contor de adrese, i va incrementa adresa n fiecare faz de date. La magistralele EISA i Micro Channel, posibilitatea de a utiliza modul exploziv este stabilit printr-o negociere ntre dispozitivul master i cel slave. Dac unul sau niciunul din acestea nu permite transferuri n mod exploziv, blocul de date se va transmite utiliznd o serie de tranzacii separate. Este necesar arbitrajul de magistral pentru fiecare tranzacie individual. Un alt dispozitiv master poate obine magistrala ntre dou tranzacii. Aceasta poate limita n mod sever rata de transfer. n cazul magistralei PCI, cele mai multe transferuri se execut n mod exploziv, cele mai multe dispozitive fiind proiectate astfel nct s permit asemenea transferuri. Dac un dispozitiv int poate efectua numai tranzacii singulare, la ncercarea dispozitivului master de a executa o tranzacie n mod exploziv, inta termin tranzacia dup prima faz de date. Astfel dispozitivul master va fi obligat s solicite din nou magistrala printr-un proces de arbitraj. n acest mod performanele vor fi mai reduse, dar tranzaciile singulare se pot utiliza pentru dispozitivele care nu necesit rate ridicate de transfer. Presupunnd c nici iniiatorul i nici dispozitivul int nu insereaz stri de ateptare, poate fi transferat cte un cuvnt la fiecare front cresctor al semnalului de ceas. La o frecven de 33 MHz, se poate obine o rat de transfer de 132 MB/s n cazul implementrii pe 32 de bii, sau 264 MB/s pentru 64 de bii. Cu o frecven a ceasului de 66 MHz, se pot obine rate de transfer de 264 MB/s, respectiv 528 MB/s. Dispozitive multifuncionale Un dispozitiv fi/ic PCI poate fi o component integrat pe placa sistem sau o plac de extensie PCI. Fiecare dispozitiv poate ncorpora pn la opt funcii separate, un asemenea dispozitiv fiind numit multifuncional. Ceasul magistralei PCI Frecvena semnalului de ceas poate fi n intervalul de la 0 la 33 MHz. Specificaiile versiunii 1.0 indic faptul c toate dispozitivele trebuie s funcioneze ntre 16 i 33 MHz, recomandnd funcionarea la 0 MHz. Specificaiile versiunilor 2.x indic faptul c toate dispozitivele trebuie s funcioneze n intervalul de la 0 la 33 MHz. Funcionarea la 0 MHz asigur un consum redus de putere i posibilitatea
39

Capitolul 3 - Magistrale de comunicaie cu echipemantele periferice

depanrii statice. Frecvena ceasului se poate modifica n orice moment i ceasul poate fi oprit (n starea low). Versiunea 2.1 definete de asemenea funcionarea la frecvene de pn la 66 MHz. 3.5.8.4. Tranzacii Faza de adrese Toate tranzaciile pe magistrala PCI constau dintr-o faz de adrese urmat de una sau mai multe faze de date. Excepia o reprezint tranzaciile n care se utilizeaz adresarea pe 64 de bii, unde adresa este furnizat n dou faze de adrese. O faz de adrese are durata unei perioade de ceas. n aceast faz, iniiatorul identific dispozitivul int i tipul tranzaciei. inta este identificat prin transmiterea unei adrese de start pe magistrala de adrese/date n cadrul domeniului de adrese asignat dispozitivului. Tipul tranzaciei este identificat prin depunerea tipului comenzii pe liniile CIBE. Iniiatorul activeaz semnalul FRAME pentru a indica prezena unei adrese de start i tip de tranzacie valide. Deoarece adresa de start este prezent numai pe durata unei perioade de ceas, fiecare dispozitiv int trebuie s memoreze adresa pentru a putea fi decodificat ulterior. Atunci cnd un dispozitiv int determin faptul c este adresat, trebuie s activeze semnalul DEVSEL , pentru a revendica tranzacia. Dac acest semnal nu va fi activat ntr-un timp predeterminat, iniiatorul va abandona tranzacia. Dup terminarea fazei de adrese, magistrala de adrese/date este utilizat pentru transferul datelor n cadrul unei sau mai multor faze de date. Faza de date Pe durata fazei sau fazelor de date are loc transferul datelor ntre iniiator i int. Att iniiatorul ct i inta trebuie s indice faptul c sunt pregtite pentru terminarea unei faze de date prin activarea semnalelor IRDY , respectiv TRDY . n cazul n care nu sunt activate ambele semnale la nceputul unei perioade de ceas, se va insera o stare de ateptare cu durata unei perioade. Terminarea tranzaciei Iniiatorul identific durata total a unui transfer cu ajutorul semnalului FRAME. Acest semnal este activat la nceputul fazei de adrese i rmne activat pn cnd iniiatorul este pregtit pentru a termina faza final de date (activeaz IRDY). Executarea ultimei faze de date este indicat de iniiator prin dezactivarea semnalului FRAME i activarea semnalului IRDY. Dup terminarea ultimului transfer, iniiatorul readuce magistrala n starea inactiv prin dezactivarea semnalului IRDY. Arbitrajul de magistral are loc n timp ce un dispozitiv master utilizeaz magistrala. Dac arbitrul de magistral a acordat n prealabil magistrala unui alt dispozitiv master, acest dispozitiv poate detecta starea inactiv a magistralei prin faptul c semnalele FRAME i IRDY sunt ambele dezactivate.
40

SISTEME DE INTRARE IEIRE

3.5.8.5. ntreruperi Magistrala PCI are patru linii pentru cererile de ntrerupere, INTA , ..., INTD ; acestea fac parte din liniile opionale ale magistralei. Un dispozitiv de I/E cu o singur funcie trebuie s utilizeze INTA ca linie pentru cererea de ntrerupere; dispozitivele de I/E multifuncionale pot utiliza toate cele patru lini. O configuraie particular pe liniile de comand CIBE [3:0] indic achitarea ntreruperii. Liniile cererilor de ntrerupere INTx i comanda de achitare a ntreruperii pot implementa mpreun semnalele necesare n timpul unei tranzacii de ntrerupere pe magistrala PCI. Fiecare dispozitiv compatibil PCI trebuie s dispun de un set standard de registre de configuraie adresabile CR care identific dispozitivul. La iniializare, sistemul de operare citete registrele CR pentru a determina, printre altele, conexiunile de ntrerupere ale dispozitivului de I/E. Registrul "pinului de ntrerupere" de 8 bii din CR indic linia cererii de ntrerupere INTx care este utilizat de dispozitiv. Un alt registru de 8 bii din CR, numit registrul "liniei de ntrerupere", specific linia de intrare a controlerului de sistem care este conectat la linia INTx, astfel nct rutarea liniilor pentru cererile de ntrerupere este programabil. Controlerul de sistem poate utiliza aceast informaie pentru a determina prioritatea cererii de ntrerupere a dispozitivului de I/E i pentru accesarea vectorilor si de ntrerupere. Registrele CR formeaz un mic spaiu de adres care este separat de spaiul de adres al memoriei i cel de I/E. 3.5.8.6. Registre de configuraie Fiecare dispozitiv funcional PCI dispune de un bloc de 64 cuvinte duble rezervate pentru implementarea registrelor de configuraie. Formatul primelor 16 cuvinte duble este predefmit de specificaiile PCI. Aceast zon reprezint antetul de configuraie al dispozitivului. Specificaiile definesc dou formate ale antetului, numite tipul 0 i 1. Tipul 1 este definit pentru punile de legtur ntre dou magistrale PCI, la sistemele cu mai multe magistrale PCI. Tipul 0 este utilizat de alte dispozitive, fiind descris n continuare. Formatul antetului de configuraie al unui dispozitiv funcional PCI (diferit de o punte PCI-PCI) este prezentat n Figura 3. Registrele din acest antet sunt utilizate pentru identificarea dispozitivului, controlul funciilor sale i detectarea strii acestuia. Utilizarea celorlalte 48 de cuvinte duble a spaiului de configuraie este specific dispozitivului.

41

Capitolul 3 - Magistrale de comunicaie cu echipemantele periferice

Fig. 3. Antetul de configuraie al unui dispozitiv funcional PCI Registrul de identificare a productorului Acest registru de 16 bii, de tip R/O, identific productorul dispozitivului printr-un cod atribuit de o autoritate care controleaz atribuirea acestor coduri. Valoarea FFFFh a codului este rezervat i trebuie returnat de puntea dintre UCP i magistrala PCI atunci cnd se ncearc citirea registrului de identificare al productorului dintr-un dispozitiv inexistent. Registrul de identificare a dispozitivului Valoarea de 16 bii din acest registru este asignat de productor i identific tipul dispozitivului. Registrul de comand Este un registru de 16 bii, fiind definii numai biii 9-0, ceilali bii fiind rezervai pentru utilizri viitoare. Se descriu funciile principale care pot fi specificate de biii acestui registru. Validarea dispozitivului. Validarea accesului la implementeaz o memorie. memoria dispozitivului, dac acesta

Validarea funciei de master a dispozitivului, dac acesta are


42

SISTEME DE INTRARE IEIRE

posibilitatea de a deveni master. Validarea monitorizrii ciclurilor speciale PCI. Aceste cicluri se utilizeaz pentru a transmite diferite mesaje dispozitivelor int, care pot monitoriza ciclurile pentru a determina dac mesajele sunt destinate acestora. Actualizarea registrelor de palet a culorilor ale unei interfee VGA fr confirmarea acceptrii datelor (VGA Color Palette Snooping). Aceast opiune este util n cazul sistemelor cu dou controlere grafice: o interfa compatibil VGA i un alt controler grafic. Fiecare din acestea implementeaz un set de registre de palet, care se afl la aceleai adrese de I/E. Atunci cnd procesorul execut o scriere pentru actualizarea registrelor de palet, ambele controlere vor recunoate adresa i vor rspunde prin activarea semnalelor DEVSEL i TRDY, rezultnd o coliziune pe aceste linii. Programul de configurare trebuie s programeze unul din controlere ca fiind o destinaie activ, care rspunde la comenzile de scriere n registrele de palet, iar cellalt ca destinaie pasiv. Controlerul VGA va rspunde ntotdeauna la comenzile de citire a registrelor de palet. Validarea paritii. Dac acest bit este setat, dispozitivul va raporta erorile de paritate. In caz contrar, erorile de paritate vor fi ignorate. Validarea semnalrii erorilor de sistem. Dac acest bit este setat, dispozitivul poate activa semnalul SERR pentru a indica o eroare de sistem. Toate dispozitivele care utilizeaz semnalul SERR trebuie s implementeze acest bit. Pentru raportarea erorilor de paritate, trebuie ca acest bit i bitul de validare a erorilor de paritate s fie setai. Dup resetare, toi biii registrului de comand sunt setai la 0, cu excepia unui dispozitiv care trebuie s fie validat n timpul pornirii sistemului, deoarece este utilizat n procesul de ncrcare a sistemului. Prin aceasta dispozitivul este dezactivat, dar va fi accesibil pentru configurare, urmnd s fie validat de programul de configurare. Dispozitivele care trebuie s fie accesibile la pornire prin adrese fixe trebuie s implementeze bitul de validare pentru a controla recunoaterea adreselor sale fixe. Aceasta permite programului de configurare s invalideze recunoaterea adreselor fixe dup pornirea sistemului, i s reconfigureze gama de adrese la care rspunde dispozitivul. Registrul de stare Pstreaz starea evenimentelor legate de magistrala PCI. Acest registru poate fi citit, scrierile fiind tratate diferit de modul obinuit. La scriere, un bit poate fi ters, dar nu poate fi poziionat. Un bit este ters prin scrierea valorii 1. Aceast metod a fost aleas pentru a simplifica programele. Dup citirea strii i determinarea biilor de eroare care sunt setai, programatorul terge biii prin nscrierea valorii citite anterior din registru. Principalele informaii coninute n registrul de stare sunt urmtoarele:
43

Capitolul 3 - Magistrale de comunicaie cu echipemantele periferice

Frecvena de funcionare Indic posibilitatea funcionrii la 66 MHz, sau la 33 MHz. Posibilitatea definirii unor caracteristici de ctre utilizator Dei programul de configurare poate detecta prezena unui dispozitiv i poate aloca resursele necesare acestuia (spaiul de memorie, spaiul de I/E, nivelul de ntrerupere, nivelul de prioritate pentru arbitraj etc.), unele caracteristici ale anumitor subsisteme nu pot fi configurate automat atunci cnd subsistemul este detectat pentru prima dat. n acest caz se poate indica o list de opiuni care pot fi selectate. Un exemplu l constituie un adaptor de reea cruia trebuie s i se asigneze un anumit identificator de nod al reelei. La prima instalare, opiunile vor fi salvate n memoria nevolatil i vor fi utilizate n continuare. Raportarea paritii Acest bit este implementat numai de dispozitivele master i este setat n urmtoarele condiii: dispozitivul master a avut rol de iniiator i a setat el nsui semnalul PERR , sau a detectat setarea acestui semnal de ctre int (la o scriere). De asemenea bitul de validare a paritii din registrul de comand trebuie s fie setat. Abandon de ctre int Este un bit setat de ctre dispozitivul int atunci cnd aceasta termin o tranzacie cu un abandon. Recepionarea abandonului de ctre int Acest bit este setat de un dispozitiv master atunci cnd tranzacia iniiat de acest dispozitiv este terminat printr-un abandon al intei curent selectate. Toate dispozitivele master trebuie s implementeze acest bit. Semnalarea unei erori de sistem Acest bit trebuie setat ori de cte ori un dispozitiv activeaz semnalul de eroare SERR. Detectarea unei erori de paritate Acest bit trebuie setat de un dispozitiv atunci cnd detecteaz o eroare de paritate (chiar dac raportarea erorii de paritate este invalidat). Registrul de identificare al reviziei Conine o valoare de 8 bii setat de productor, care reprezint numrul de revizie al dispozitivului. Registrul codului de clas Este un registru de 24 de bii, divizat n trei cmpuri, care conin: clasa de baz, subclasa i interfaa de programare. Acest registru identific funcia de baz a dispozitivului (de exemplu, un controler pentru o memorie de mas), o subclas mai
44

SISTEME DE INTRARE IEIRE

precis a dispozitivului (de exemplu, un controler IDE), i n anumite cazuri, o interfa de programare (ca setul de registre a unui controler VGA). Registrul tipului de antet Este un registru de 8 bii care definete prin 7 bii formatul antetului de configuraie. Pe lng antetul de tip 0, indicat n figur, este definit un singur format, cel pentru punile ntre dou magistrale PCI. Alte formate vor fi definite n specificaiile viitoare. Bitul 7 al acestui registru indic dac dispozitivul are o singur funcie sau este multifuncional.

45

CAPITOLUL 4
Echipamnete de intrare / ieire 4.1. MOUSE-ul
Mouse-ul a fost introdus pentru uzul public n 1984 de ctre firma Apple Macintosh. Conceput n anii 60, a durat aproape 2 decenii pentru a deveni o parte component standard a unui PC. La nceput nu a fost necesar pentru c erau utilizate intefee text, iar mai trziu aceste interfee erau doar emulate nlocuind hrtia. n momentul n care mouse-ul a fost lansat de de Macintosh, a avut un succes imediat. Preul relativ sczut, spaiul restrns ocupat i uurina n manevrare au fost avantajele care l-au lansat ca lider n competiia pointing device urilor. Cu toate acestea nu a fost prea repede adaptat datorit lipsei de suport n sistemele de operare. n momentul introducerii Interfeelor Grafice cu Utilizatorul (GUI) ca standard mouse-ul s-a dovedit a fi o necesitate. Rolul mouse-ului este acela de transforma micarea minii n semnale pe care computerul le poate utiliza. Mouse-ul standard realizeaz acest translaie utiliznd cinci componente:

1.Bila Mouse-ului 2. Role 3. Ansamblul ax-disc-LEDsenzori 4. Butoane 5. Procesor on-board

Bila din interiorul mouse-ului atinge suprafaa biroului i se rotete de fiecare dat cnd mouse-ul se mic. 2. Dou role din interiorul mouse-ului sunt n contact cu bila. Una dintre role este orientat astfel nct s detecteze micarea pe axa X, iar celallt pe axa Y. La fiecare micare a bilei, una dintre aceste role se rotete. 3. Fiecare rol este conectat la un ax pe care este prins un disc cu guri. La rotirea rolelor axul cu disc se rotete. 4. De fiecare parte a discului este un LED infrarou i un senzor infrarou. Gurile din disc ntrerup semnalul dintre LED i senzor, astfel nct senzorul capteaz pulsuri luminoase. Rata de pulsare este corelarea direct dintre viteza mouse-ului i distana de lucru. 5. Un procesor on-board care citete pulsurile de la senzorii de infrarou i le transform n date binare pe care computerul le poate interpreta. Cipul transmite datele ctre computer prin intermediul cordonului mouse-ului. De notat este faptul c fiecare disc are dou perechi LED/senzor una de fiecare parte a discului. Acest aranjament este utilizat pentru a se detecta direcia de rotaie a discului. 1.

Capitolul 4 - Echipamente de intrare - ieire n faa fiecrui sensor este fixat o mic bucat de plastic prevzut cu o fereastr prin care semnalul de la LED este interceptat. Diferenierea, pentru detectarea sensului de rotire const n amplasarea mai nlat a uneia dintre cele dou ferestre astfel nct senzorii capteaz defazat n timp semnalul de la LED. Astfel exist timpi n care unul dintre senzori primete pulsuri, iar cellalt nu. Ca un caz particular vom analiza mouse-ul optic. Acesta, pare s ia ncet locul mouse-ului standard (cu bil). Tehnologia mouse-ului optic a fost dezvoltat de ctre firma Agilent Technologies i prezentat publicului la sfritul anului 1999. n prezent mouse-ul optic este capabil utilizeaz o camer microscopic capabil s realizeze pn la 1500 de imagini/secund. Capabil s lucreze pe aproape orice suprafa, mouse-ul este prevzut cu un mic LED de culoare roie care trnasmite semnale luminoase pe suprafaa unui senzor de tip CMOS (Complimantary Metal Oxide Semiconductor). Acesta transmite fiecare imagine unui procesor de semnal digital (DSP) pentru analiz. Capabil s relizeze 18 m9ilioane de instruciuni pe secund detecteaz modelul suprafeei i cum s-au deplasat detaliile acestuia de la imaginea anterioar. n baza determinrilor schimbrilor de poziii n cadrul secvenelor succesive DSP determin distana i direcia de micare i le transmite noile coordonate computerului. Mouse-ul poate comunica cu computerul pe portul PS/2, serial sau USB. Modul de realizare al trasferului de date pe aceste porturi a fost tratat n capitolul II al acestui curs.

4.1.1. Mouse-ul optic

4.2. Tastatura
Tastura este echipamentul periferic cel mai utilizat. Dei nu pare, tastatura este de fapt era nsi un mic computer. n esen, tastatura este compus dintr-o serie de comutatoare conectate la un microprocesor care monitorizeaz starea fiecrui comutator i iniiaz rspunsuri specifice la schimbarea de stare. Tastaturile au suferit schimbri minore din momentul introducerii i pn n prezent. De fapt, cele mai multe schimbri se refer la introducerea de taste suplimentare care ofer funcii adiionale. Clasificarea tastaturilor n funcie de numrul tatelor: 101/102 taste Tastatur standard; 104 taste Tastatur Windows; 82 taste Tastatur Apple standard; 108 taste - Tastatur Apple extins. Calculatoarele portabile au tastaturi diferite i cu aranjarea diferit a tastelor fa de tastaturile standard. O tastatur standard are patru tipuri de taste de baz: taste pentru dactilografiere seciunea tastaturii care conine taste cu simboluri litere ( tastatura QWERTY); taste numerice seciunea tastaturii care conine 17 suplimentare pentru cifre i operanzi de baz; taste funcionale tastele aranjate n linie deaspra tatslor prntru dactilografiere; taste de control tastele speciale care ofer funcii de gestionare a componentelor sistemului de operare (Insert, Home, End etc). Ca o parantez, criticii sitemului de aranjare a tastelor n configuraia QWERTY au adoptat un nou sistem de tastatur, denumit Dvorak, care ofer cel mai convenabil aranjament al tastelor pentru utilizator.
2

4.2.1. Tipuri de tastaturi

SISTEME DE INTRARE - IESIRE

4.2.2. Funcionarea tastaturii

Procesorul tastaturii trebuie s prelucreze informaii importante: poziia tastei n matrice; intensitatea apsrii tastei i modul de filtrare; viteza de transmitere a informaiei.

a)

b)
Figura 2. Matricea i procesorul tastaturii : a) contacte metalice; b) contacte de cauciuc. Matricea tastaturii este o gril de circuite situate sub taste. Fiecare circuit este ntrerupt sub tasta specific. Prin apsarea tastei se realizeaz nchiderea circuitului. Procesorul monitorizeaz matricea tastelor pentru semnale continui. n momentul nchiderii unui circuit procesorul compar locaia respectivului circuit cu harta caracterelor din memoria sa ROM. Harta caracterelor este la baz o comparaie de hri care comunic procesorului coordonatele x,y ale tastei n reprezentarea matricial. n cazul apsrii simultane a mai multor taste, procesorul caut combinaia asignat n harta caracterelor. Harta caracterelor de pe tastatur poate fi nlocuit cu o hart a caracterelor impus de computer. De obicei aceasta este oferit n cazul diferitelor limbi care utilizeaz caractere care nu au echivalent n limba englez. n cazul schimbului ntre diferitele tipuri de tastaturi se aloc o tast sau o combinaie de taste cu rol de comutator ntre diferitele hri asignate. Prin apsarea tastelor comutator se realizeaz o schimbare a curentului din circuitele tastaturii, realizndu-se o uoar vibraie ntre suprafee. Procesorul recunoate foarte rapid acest semnal i realizeaz comutarea ntre hrile de caractere. Rata de transfer a informaiei poate fi setat software i, n cele mai multe cazuri, aceasta este de 30 de caractere pe secund. n cazul apasrii prelungite a un ei taste procesorul interpreteaz c se dorete o transmitere repetat a acelei taste. Tastaturile utilizeaz o gam larg de realizare a comutatoarelor: cupol mbrcat n cauciuc; capactive; cu contact metalic; cu membran; cu elemente de spum mecanic.
3

Capitolul 4 - Echipamente de intrare - ieire Cea mai rspndit tehnologie este cea a comutatorelor cu cupol de cauciuc, n acest configuraie, fiecare tast fiind aezat pe o mic cupol de cauciuc cu un centru de carbon dur. n momentul apsrii unei taste, o mic tij de sub tast apas cupola de cauciuc. Acesta apas centrul carbonic al cupolei pn atinge suprafaa matricei tastaturii. O alt tehnologie des utilizat este cea a comutatoarelor cu membran. Este apropiat de tehnologia comutatoarelor cu cupol de cauciuc, cu diferena c are un singur covora de cauciu cu cupole pentru fiecare tast. Comutatoarele capacitive sunt considerate ca o tehnologie non-mecanic. Acestea nu realizeaz doar simpla nchidere a unui circuit. n circuitele matricii circul un curent de intensitate constant. Fiecare tast are la baza tijei o mic suprafa metalic. n momentul apsrii unei taste acest suprafa se apropiede o suprafa similar de sub ea. Cnd cele dou suprafee sunt apropiate, se modific intensitatea curentului din circuitele matricii. Procesorul interpreteaz acest fapt ca atingerea unei taste din locaia respectiv. Transmiterea datelor de la tastatur catre UCP se poate realiz pe conexiune PS/2, DIN sau USB, conexiuni tratate n capitolul II al cursului.

4.3. Hard discul


Fiecare server sau staie de lucru utilizeaz unul sau mai multe hard discuri. Camerele video digitale moderne i alte echipamente audio-video digitale utilizeaz uniti hard disc. Inventat n anii 50, hard discul (HDD) are rolul bine determinat de a stoca n format electronic informaii i de a le furniza utilizatorului la solicitarea acestuia i influeneaz deecisiv performaele unui sistem de calcul. Primele hard discuri aveau un diametru de 20 inci i puteau stoca inormaii ce nsumau doar civa MegaBytes (MB). Iniial au fost denumite discuri fixe sau Winchester, abia mai trziu fiind denumite HDD. HDD-urile au platane (discuri) rigide din aluminiu sau sticl placate pe ambele fee cu un strat de material magnetic. De obicei acesta este oxid de fier n combinaie cu alte elemente. n cele mai multe cazuri acestea nu pot fi ndeprtate datorit tehnologiei de mare finee de asmablare. Discurile sunt montate pe aceli ax i sunt rotite cu o vitez unghiular constant msurat n rotaii pe minut. Datele sunt nregistrate pe piste concentrice, mprite n sectoare. De obicei, un sector conine 512 octei de date. Pistele, cu o dispoyiie simetric pe ambele fee ale discului formeaz un cilindru. Citirea i nregistrarea datelor se realizeaz cu ajutorul unor capete de citire i scriere. Exist de obicei cte un cap de citire/scriere pentru fiecare fa a discurilor, iar acestea se pot deplasa radial deasupra lor. Capetele de citire/scriere sunt montate pe un suport comun, deci nu se pot deplasa independent, ci numai n bloc. Poziia capetelor este controlat de un mecanism de acionare. Exist circuite care controleaz celelalte componente i realizeaz comunicaia cu calculatorul. Partea principal a unitii de discuri este etanat fa de exterior pentru a se preveni ptrunderea prafului i a altor impuriti. n timpul funcionrii normale, atunci cnd platanele se rotesc cu viteza nominal, capetele de citire/scriere nu se afl n contact cu suprafaa discurilor. Capetele sunt meninute la o distan extrem de mic de suprafaa discurilor cu ajutorul unei perne de aer. Dac n unitatea de discuri ajung particule de praf sau unitatea este supus la ocuri mecanice, capetele de citire/scriere pot veni n contact cu discurile, ceea ce poate conduce la deteriorarea capetelor de citire/scriere sau la pierderea unor date. Atunci cnd rotirea discurilor este oprit, capetele de citire/scriere se sprijin pe suprafaa discurilor, ntr-o zon care nu este utilizat pentru memorarea datelor.

SISTEME DE INTRARE - IESIRE

4.3.1. nregistrarea magnetic a informaiilor

Unitile de discuri magnetice funcioneaz pe baza principiului electromagnetismului. Conform acestui principiu, n jurul unui conductor prin care trece un curent electric se genereaz un cmp magnetic. Cmpul magnetic astfel creat polarizeaz materialele magnetice aflate sub influena sa. Dac se schimb sensul curentului electric, se inverseaz i polaritatea cmpului magnetic. Un alt efect al electromagnetismului este acela c ntr-un conductor aflat ntr-un cmp magnetic variabil se induce un curent electric. Sensul curentului indus se schimb odat cu schimbarea polaritii cmpului magnetic. Aceste efecte ale electromagnetismului fac posibil nregistrarea informaiilor pe un disc i citirea lor ulterioar. Capetele de citire/scriere din unitile de disc au form de U, i au nfaurate spire prin care poate trece un curent electric. Atunci cnd circuitele unitii de disc comand trecerea unui curent electric prin spire, n capul de citire/scriere se induce un cmp magnetic. Dac polaritatea curentului electric se schimb, se schimb i polaritatea cmpului magnetic indus. Aceste capete sunt deci electromagnei a cror polaritate poate fi schimbat foarte rapid. La captul n form de U al capului de citire/scriere exist un ntrefier. Liniile de for ale cmpului magnetic din ntrefier se curbeaz spre exterior, trecnd prin stratul magnetic al discului aflat sub capul de citire/scriere, deoarece acest strat are o rezisten magnetic mai mic dect cea a aerului din ntrefier. Cmpul magnetic care trece prin stratul magnetic aflat sub ntrefier orienteaz particulele magnetice n acelai sens cu el. Polaritatea cmpului magnetic, i deci cea a stratului magnetic de pe disc, depind de sensul curentului electric din nfurrile capului. Pe un disc nenregistrat, polaritile cmpurilor magnetice ale particulelor materialului magnetic sunt orientate aleator, fiecare din aceste mici cmpuri fiind anulat de unul de polaritate opus, astfel nct suprafaa discului este nepolarizat. Particulele aflate imediat sub ntrefierul capului de scriere sunt orientate de cmpul magnetic al acestuia n acelai sens cu cmpul. Dup ce se produce orientarea cmpurilor individuale, acestea nu se mai anuleaz reciproc, i n regiunea respectiv de pe suprafaa discului apare un cmp magnetic. Acest cmp este generat de mai multe particule, ele producnd un cmp magnetic cumulativ care poate fi detectat. Cmpul magnetic cu o anumit direcie se numete flux magnetic.
5

Capitolul 4 - Echipamente de intrare - ieire Pe msur ce discul se rotete sub capul de scriere, acesta poate induce n stratul magnetic de pe disc un flux magnetic. La inversarea sensului curentului electric din nfurarea capului, se inverseaz polaritatea cmpului din ntrefier i polaritatea fluxului magnetic indus pe suprafaa discului. Schimbrile sensului orientrii particulelor magnetice de pe suprafaa discului se numesc inversri de flux sau tranziii de flux. Un cap de scriere induce pe disc tranziii de flux, pentru a nregistra informaii. Pentru fiecare bit (sau grup de bii) de informaie care este scris pe disc, n stratul magnetic sunt induse secvene de tranziii de flux, pe suprafee bine determinate, numite celule de tranziii sau celule de bit. Aceste celule sunt zone de pe suprafaa discului, determinate de viteza de rotaie i de timpul n care capul de scriere induce tranziiile de flux. Secvena specific de tranziii de flux dintr-o celul de tranziii, utilizat pentru memorarea unui anumit bit sau a mai multor bii de informaie, se numete metod de codificare Controlerul de disc preia informaiile care trebuiesc nregistrate i le codific ntr-o serie de tranziii de flux de durat bine deterrminat, conform metodei de nregistrare care se utilizeaz. n timpul procesului de scriere, capului de scriere i se aplic o tensiune, inversarea polaritii acestei tensiuni ducnd i la inversarea polaritii cmpului magnetic care se nregistreaz. Tranziiile de flux sunt nscrise n punctele n care se inverseaz polaritatea nregistrrii. La citire, capul de citire nu genereaz aceeai form de und care a fost utilizat pentru scrierea pe disc, ci genereaz cte un impuls de tensiune la fiecare trecere peste o tranziie de flux. Dac tranziia este de la pozitiv la negativ impulsul indus n cap are o tensiune negativ. Dac tranziia este de la negativ la pozitiv, impulsul va fi unul de tensiune pozitiv. Deci, n timpul citirii informaiei de pe disc, capul devine un detector de tranziii de flux, genernd impulsuri de tensiune la fiecare trecere peste o tranziie de flux.

Figura 3. Procesele de scriere i citire magnetic Secvena de scriere este o form de und dreptunghiular, cu valori p zitive sau negative ale tensiunii, care polarizeaz continuu stratul magnetic a discului ntr-un sens sau n cellalt. La trecerea formei de und de la tensiunea pozitiv la cea negativ sau invers, se schimb i polaritatea fluxului magnetic.

SISTEME DE INTRARE - IESIRE

4.4. CD-ROM-ul
In 1979, corporaiile Philips si Sony si-au unit forele pentru a realiza standardul CD-DA (Compact Disc Digital Audio). Philips dezvoltase deja playere comerciale de discuri laser, iar Sony avea la active zece ani de cercetare in domeniul nregistrrii digitale. Philips a contribuit la cea mai mare parte a proiectului fizic, care a fost similar cu formatul de disc laser creat anterior, cu deosebirea ca utiliza pe disc adncituri (pits) si zone plate (lands) care sunt citite de un laser. Sony a contribuit la circuitele digital-analogice si in special la schemele de codare digitala si de corectare a erorilor. CD-ROM-ul (compact disc read only memory), este un mediu de stocare optic numai pentru citire bazat pe formatul original CD-DA. In present exista si alte formate, cum ar fi CD-R(CDrecordable) si CD-RW(CD- rewritable) care extind posibilitile de lucru ale compact discului prin adugarea funciei de scriere. Unitile de CD-ROM din PC-uri care citesc discuri de date au un aspect foarte asemntor cu un player de CD-uri audio (primele versiuni), principalele modificri fiind la nivelul circuitelor pentru asigurarea funciilor de detectare si corectare a erorilor. O unitate CD-ROM standard actuala are dimensiunile aproximative: 42 mm nlime, 148 mm lime si 193 mm lungime. Un CD este realizat dintr-o foaie de policarbonat, de 120 mm in diametru si de 1.2 mm grosime, cu un orificiu de 15 cm in centru. Aceasta placa de baza este stanata sau modelata cu o singura pista fizica in spirala, care ncepe din interiorul discului si se deruleaz ctre exterior. Pista are un pas, sau o separare de spirala, de 1.6 microni. Laserul utilizat pentru a citi discul poate trece chiar prin plasticul transparent, astfel ca suprafaa stanata este acoperita cu un strat reflector de metal (de obicei aluminiu) pentru a o face reflectoare. Stratul de aluminiu este apoi acoperit cu un strat protector subire de lac acrylic, iar in final este adugata o eticheta. Laserul de citire dintr-o unitate CD este un laser cu lungimea de unda de 780 nanometri si cu o putere de aproximativ 1 miliwatt. Plasticul policarbonat utilizat in disc are un indice de refracie de 1.55, astfel ca lumina circula prin plastic de 1.55 ori mai lent dect prin aerul nconjurtor. Deoarece frecventa luminii care traverseaz plasticul rmne aceeai, aceasta are ca efect reducerea lungimii de unda in interiorul plasticului cu acelai factor. Din acest motiv undele luminoase de 780 nm sunt acum comprimate 780/1.55=500 nm. A patra parte din 500 nm este valoarea de 125 nm, care este egala cu 0.125 microni nlimea specificata a adnciturii (pit).

4.4.1. Modul mecanic de operare al unitii


O unitate CD-ROM funcioneaz prin utilizare unui laser pentru a reflect alumina de pe partea inferioara a discului. Lumina reflectata este apoi citita de un fotodetector. Unitile de CD-ROM funcioneaz in felul urmtor: Dioda laser emite o raza in infrarou, de putere mica, spre o oglinda reflectorizanta. Servomotorul, la comanda microprocesorului, poziioneaz raza pe pista corecta de pe CD-ROM, deplasnd oglinda reflectorizanta. Cnd raza atinge discul, lumina refractata este adunata si focalizata de primele lentile de sub platan, reflectata de oglinda si trimisa spre separatorul de fascicul. Separatorul de fascicul ndreapt lumina laser ntoarsa ctre alte lentile focalizatoare. Lentilele laser ndreapt raza laser ntoarsa ctre un fotodetector care convertete lumina in impulsuri electrice.
7

1. 2. 3. 4. 5.

Capitolul 4 - Echipamente de intrare - ieire 6. Impulsurile sunt decodificate de ctre microprocessor si trimise ctre calculatorul gazda ca date. Dup ce toate cele 98 cadre sunt compuse pentru un sector (indiferent daca este vorba de semnal audio sau date), informaiile parcurg un ultim proces de codificare numit EFM (eight to fourteen modulation). Aceasta schema preia fiecare octet si l convertete intr-o valoare pe 14 bii pentru stocare. Codurile de conversie de 14 bii sunt proiectate astfel nct sa nu conin niciodat mai puin de 2 sau mai mult de 10 bii 0 adiaceni. Este o forma de codificare RLL (Run Length Limited) denumita RLL 2,10 (RLL x,y unde x = limita minima si y = limita maxima de apariii consecutive ale valorii 0). Acest cod este destinat sa previn apariia irurilor lungi de 0, care ar putea fi cu uurina citite eronat, dar si sa limiteze frecventa minima si maxima de tranziii plasate pe mediul de nregistrare. Avnd cel puin 2 sau cel mult 10 bii 0 care separa biii 1 in nregistrare, distanta minima dintre bitii 1 este de trei intervale de timp de bit (denumita uzual 3T) iar spatial maxim dintre bitii 1 este de 11 intervale de timp (11T). Deoarece o parte dintre codurile EFM incep si se termina cu un 1 sau cu mai mult de 5 biti de 0, intre toate valorile EFM de 14 biti scrise pe disc sunt adaugati trei biti suplimentari numiti biti de fuziune (merge bits). Bitii de fuziune au de obicei valoarea 0, dar ar putea sa contine si un 1 daca este necesar sa intrerupa un sir lung de valori 0 adiacente format de valori EFM vecine de cate 14 biti. Pe langa cei 17 biti create pana acum pentru fiecare octet (codul EFM plus bitii de fuziune), la inceputul fiecarui cadru este adaugat un cuvant de sincronizare de 24 biti (plus inca trei biti de fuziune). De aici rezulta un total de 588 biti (73,5 octeti) care sunt inregistrati in realitate pe disc pentru fiecare cadru. Inmultind aceasta valoare cu 98 cadre pe sector se obtin 7203 octeti stocati efectiv pe disc pentru reprezentarea fiecarui sector. Ca urmare, un disc de 74 minute este inregistrat in realitate cu aproximativ 2,4 Gb de ate effective, care, dup ace sunt decodificate complet si separate de codurile de corectare a erorilor si de alte informatii, sunt reduse la aproximativ 682 Mb (650Mib) de date effective pentru utilizator. Datele inregistrate pe cd-uri sunt transferate prin cele 16 fire de date ale magistralei IDE.

4.4.2. Codificarea datelor pe disc

4.4.3. Viteza unitii CD-ROM


Atunci cand o unitate cauta pe disc un anumit sector de date sau o anumita pista muzicala cauta adresa datelor intr-un cuprins inregistrat in zona de introducere si se pozitioneaza la inceputul acestei zone de date, deasupra spiralei, asteptand ca sirul corect de biti sa treaca prin raza laser. Deoarece CDurile au fost proiectate initial pentru a inregistra date audio, viteza de citire a datelor trebuia sa fie constanta. Pentru a mentine aceasta viteza constanta, datele pe CD-ROM sunt inscrise folosind o tehnica numita viteza liniara constanta (Constant Linear Velocity - CLV). Aceasta inseamna ca pista (deci si datele) se deplaseaza pe deasupra razei laser cu aceeasi viteza, care a fost definite initial ca fiind 1,3 metri pe secunda. Deoarece pista este o spirala care este infasurata mai strans in apropierea centrului discului, discul trebuie sa fie rotit cu viteze diferite pentru a mentine aceeasi viteza liniara a pistei. Cu alte cuvinte, pentru a mentine o viteza liniara constanta, discul trebuie sa se roteasca mai repede la citirea din zona interioara a pistei si mai lent la citirea din zona exterioara a pistei. Viteza de rotaie dintr-o unitate 1x (valoarea de 1,3 metri pe secunda

SISTEME DE INTRARE - IESIRE este considerate 1x) variaza de la 540 rpm la citirea zonei de inceput a pistei si pana la 212 rpm la citirea zonei de final a pistei. In cautarea unor performante mai mari, producatorii de unitati au inceput sa mareasca vitezele unitatilor, proiectandu-le astfel incat sa se roteasca mai repede. O unitate care se roteste de doua ori mai rapid a fost denumita 2x, etc. Metoda a functionat fara probleme pana cand s-a ajuns la valoarea 12x, cand unitatile roteau discurile cu viteze de la 2568 rpm la 5959 rpm pentru a mentine o rata constanta de citire a datelor. La viteze mai mari decat aceasta, a devenit dificila construirea unor motoare care sa poata schimba vitezele dintr-un sens in altul atat de repede cat era necesar pentru citirea datelor din zone diferite ale discului. Datorita acestui fapt, cea mai mare parte a unitatilor care au viteze nominale mai mari de 12x rotesc discul cu o viteza fixa sin u cu o viteza liniara. Aceasta este numita viteza unghiulara constanta (constant angular velocity sau CAV), deoarece viteza unghiulara ramane constanta. Unitatile CAV sunt in general mai silntioase decat unitatile CLV, deoarece motoarele nu trebuie sa incerce sa accelereze sau sa incetineasca la fel de repede. Dar o unitate CLV 12x citeste datele la viteza de 1,84 Mb/sec indifferent unde se gasesc datele pe disc. Pe de alta parte, o unitate CAV 16x citeste datele cu viteze de pana la 16x (2,46Mb/sec) din partea exterioara a discului, dar cu viteze mai mici, de pana la 6,9x (1,06 Mb/sec) atunci cand citeste partea interioara a discului. In medie, aceasta ar insemna doar 11,5x sau aproximativ 1,76 Mb/sec. De fapt, media este in realitate prea optimista, deoarece discurile sunt citite din interior (partea mai lenta) catre exterior, iar o medie ar putea fi realizata numai pentru citirea unor discuri complete. Media reala ar putea fi mult mai mica. Concluzia este ca, tinand cont de viteza medie, o unitate CLV 12x ar fi mult mai rapida decat o unitate 16x si chiar 20x. De retinut ca toate vitezele specificate pentru unitatile CAV reprezinta doar vitezele maxime de transfer care pot fi obtinute de unitate, iar aceste viteze pot fi atinse numai cand este citita partea situate in exteriourl discului (partea de sfarsit).

4.5. Monitorul
Monitorul este dispozitivul de afisare asezat deasupra sau langa calculatorul dumneavoastra. Daca va puteti dispensa de imprimanta ,cd-rom sau hard-disc, la monitor nu puteti renunta .Fara el nu ati putea vedea informatiile sau greselile de tastare. Primele microcalculatoare erau cutii lipsite de dispozitivele de afisare video.Se putea observa decat continutul registrelor sistemului prin intermediul unor grupuri de leduri, iar rezultatele finale erau tiparite. Interactiunea cu calculatorul se realiza prin intermediul unui terminal de tip masina de scris. Prin introducerea monitorului calculatorul a devenit atragator pentru un public tot mai larg. Subsistemul video al calculatorului consta din doua componente principale: Monitorul Adaptorul video sau placa video Ca orice dispozitiv aferent calculatoarelor, monitorul necesit o surs de alimentare. Semnalele care ajung la monitor provin de la partea video a circuitelor electronice din interiorul calculatorului. Unele sisteme, cum ar fi cele de dip Low Profile(LPX) contin aceste circuite pe placa de baza. Totusi, majoritatea calculatoarelor folosesc o placa video separata.

4.5.1. Monitorul CRT


Exista cateva tehnologii de fabricare a monitoarelor.cea mai raspandita este cea bazata pe tubul catodic CRT (cathode ray tube), adica aceeasi cu cea folosita la televizoare.

Capitolul 4 - Echipamente de intrare - ieire

Tubul catodic consta dintr-un tub vidat, din sticla. La unul din capete se afla un tun de electroni, iar la celalalt, un ecran acoperit cu un strat de fosfor. Ecranele cu fosfor se livreaza in doua variante:curbe si plate. Ecranul traditional este curbat atat pe verticala cat si pe orizontala. Unele modele folosesc tubul Trinitron, care este curb numai pe orisontala, iar pe verticala este plat. Prin incalzire tunul emite un fascicul de electroni care sunt atrasi de capatul opus al tubului. Pe parcurs o bobina de deflexie si de control al focalizarii conduce fasciculul catre un anumit punct de pe stratul de fosfor. Lovit de raza de electroni, fosforul devine luminos, iar aceasta lumina este ceea ce vedeti cand priviti televizorul sau ecranul calculatorului.

Fosforul are o proprietate, numita remanenta, care permite ca lumina emisa sa ramana vizibila pe ecran o anumita perioada. Frecventa de baleiere trebuie sa fie adecvata remanentei, deoarece altfel imaginea palpaie (daca remanenta este prea mica) sau sa apara imagini fantoma (daca remanenta este prea mare). Raza de electroni se misca foarte rapid si baleiaza ecranul de la stanga spre dreapta,pe linii, de sus pana jos, dupa un model numit rastru. Rata de baleiere pe orizontala se refera se refera la viteza cu care fasciculul de electroni se misca de-a latul ecranului.

10

SISTEME DE INTRARE - IESIRE In timpul baleierii,raza loveste stratul de fosfor in punctele in care trebuie sa apara o imagine pe ecran.Intensitatea ei variaza pentru a produce diferite grade de luminuozitate. Pentru a mentine o imagine, fasciculul de electroni trebuie sa baleieze ecranul continu,intrucat efectul de luminuozitate se diminueaza aproape imediat. Aceasta tehnica se numeste reimprospatarea (redesenarea) ecranului Cele mai multe monitoare au o rata de reimprospatare (numita frecventa de baleiere pe verticala) in jur de 70 de Hz, ceea ce inseamna ca imaginea de pe ecran este reimprospatata de 70 de ori pe secunda. Ratele de reimprospatere scazute provoaca palpairea imaginii si obosirea ochiilor. Cu cat rata de reimprospatare este mai mare, cu atat este mai bine pentru ochi. Este important ca frecventele de baleiere pentru care a fost proiectat monitorul dumneavoastra sa se potriveasca cu cele furnizate de placa video. n cazul n care acestea nu se potrivesc, nu veti avea imagine. Unele monitoare au o frecventa de baleiere fixa. Altele pot accepta o gama de frecvente, numite monitoare cu frecvente multiple :multisync, multifrecventa, multiscan, autosincrone, autotracking. In primii ani dupa aparitia calculatoarelor, posesorii nu aveau la dispozitie decat doua tipuri de sisteme video:adaptorul video CGA(color) i adaptorul MDA (monocrom). Monitoarele monocrome produc imagini de o singura culoare, portocalie (cea mai raspandita) urmata de alb si verde .Culoarea afisata de monitor este determinata de culoarea fosforului de pe ecranul tubului catodic. Unele monitoare cu fosforul alb pot furniza mai multe nuante de gri. Monitoarele color folosesc o tehnologie mai sofisticata decat cele monocrome. In timp ce un tub monocrom foloseste un singur tun electronic, unul color contine trei tunuri, dispuse in forma de triunghi, intr-o configuratie delta. In locul fosforului portocaliu, ecranul contine triade de luminofori, constand in pete de fosfor rosu, verde si albastru, care pot fi activate de tunurile electronice corespunzatoare. Aceste trei culori primare pot fi amestecate pentru a obtine toate celelalte culori. Transferul de date Rezolutia monitorului reprezinta cantitatea de detalii pe care o poate reda un monitor. Aceasta cantitate se exprima prin numarul de elemente de imagine orizontale si verticale,numite pixeli, care apar pe un ecran. Cu cat numarul de pixeli este mai mare, cu atat imaginiele au mai multe detalii. Rezolutia necesara depinde de aplicatie. Programele de prelucrare a textelor cer o rezolutie mica, in timp ce alpicatiile grafice (programele Windows) au nevoie de o rezolutie mai mare. Exista mai multe rezolutii standard pentru adaptoarele grafice: REZOLUTIA STANDARD 640X480 800X600 1.024X768 1.280X1.024 VGA SVGA XGA UVGA
11

Capitolul 4 - Echipamente de intrare - ieire VGA= Video Gaphics Array SVGA=Super VGA XGA=eXtended GA UVGA=Ultra VGA Elementul de imagine pentru un monitor monocrom este suprafata de fosfor de pe ecran lovita de fasciculul de electroni,in timp ce in cazul unui monitor color elementul de imagine este o triada de luminofori, adica trei suprafete de fosfor. Diferenta impune un nou parametru, distanta dintre puncte (dot pitch), care se aplica numai monitoarelor color. Distanta dintre puncte este distanta masurata in milimetrii intre triadele de luminofori. Ecranele cu distanta dintre puncte mai mica au triadele plasate la distante mai mici, imaginea este mai precisa. Valorile mici ale distantei dintre puncte permit monitorului realizarea unor imagini mai precis conturate. Monitoarele in prezent au distanta intre puncte 0.25mm. Exploatarea ecranelor poate fi facuta in doua moduri: intretesut sau neintretesut. In modul neintretesut (noninterlaced), fasciculul de electroni baleiaza ecranul tot de sus pana jos,parcurcand intregul ecran dintr-o singura trecere. In modul intretesut (interlaced), fasciculul baleiaza ecranul de sus pana jos in doua treceri, parcurgand mai intai liniile impare si apoi cele impare. Aceasta tehnica reimprospateaza eranul mai repede si produce imagini mai stabile. Cele mai multe placi video se conformeaza unuia din standardele: MDA, CGA, VGA, SVGA, XGA. Cel mai simplu tip de afisaj este adaptorul monocrom MDA. Poate afisa numai text la o rezolutie de 720X350 de pixeli. Adaptorul nu are posibilitati grafice intrinseci. Adaptorul poate afisa un numar de 4 culori care se refera la atribute de afisare: normal, supraluminat, video invers, subliniat. Transferul se realizeaza printr-un conector de afisaj monocrom cu 9 pini: pin1-masa pin2-masa pin3-neutilizat pin4-neutilizat pin5-neutilizat pin6-intensitate+ pin7-video+ pin8-orizontala+ pin9-verticalaAdaptorul SVGA furnizeaza posibilitati sporite fata de celelalte adaptoare, rezolutii 800X600 1.024X768. Din punct de vedere fizic transferul se realizeaza prin conectori cu 15 pini: pin1-rosu pin2-verde pin3-albastru pin4-monitor id2(ground) pin5-masa digitala pin6-masa analogica rosu pin7-masa analogica verde pin8-masa analogica albastru pin9-cheie (no pin) pin10-masa sincronizare pin11-monitor id0 (rezervat) pin12-monitor id1 (rezervat) pin13-sincronizare orizontala pin14-sincronizare verticala pin15-monitor id3 (rezervat)
12

SISTEME DE INTRARE - IESIRE

4.5.2. Monitorul LCD (liquid crystal display)


Cristalele lichide au fost descoperite in 1888 de catre botanistul austriac Friedrich Reinitzer. 80 de ani au trecut pana cand RCA a realizat primul display LCD experimental in 1968. De atunci, firmele implicate in constructia de display-uri LCD au imbunatatit constant produsul, ducandu-l spre o complexitate tehnica uimitoare. Monitoarele LCD au n general o rezoluie mai slab dect cele CRT, dar nu emit radiaii si consum mult mai puin (aproximativ 5 watt fa de 100 watt la cele cu tub) ceea ce le face mai scumpe. Acestea au o tehnologie diferit de funcionare: un fascicul de lumin trece prin filtre speciale care o transforma n culorile rou, verde sau albastru, iar electricitatea le direcioneaz la fiecare celul. Aceste celule conin cte 3 pixeli care au valorile culorilor rou, verde i albastru (RGB). n general monitoarele cu ecran plat sunt folosite la laptopuri pentru c ocup mult mai puin spaiu, dar productorii de monitoare au preluat tehnologia i au realizat monitoare LCD i pentru desktop-uri. Diagonala ecranului la monitoarele LCD poate ajunge pn la 42 inch n timp ce la monitoarele CRT ajunge pn la 21 inch. n general rezoluia la ambele monitoare poate ajunge pn la 1280x1024 de pixeli, dar sunt i monitoare performante care pot ajunge pn la rezoluia de 1600x1280 de pixeli. Tehnologiile de realizare a ecranelor LCD au la baz dou tehnologii majore: DSTN si TFT. Tehnologia DSTN (Dual-Scan Twisted Nematic) const n utilizarea mai multor straturi. Primul este o fie de sticl nvelit cu un strat de oxid de metal. Materialele folosite sunt foarte transparente pentru a nu diminua calitatea imaginii. Sub acest strat este unul de electrozi care alimenteaz elementele necesare pentru funcionarea monitorului. Apoi este un strat de anuri mici care aliniaz cristalele lichide n poziia corect. Culorile vzute pe ecran sunt rezultatul filtrrii fasciculului de lumin prin filtrul de culoare. Totui acest proces este lent i de aceea la o micare mai rapid a cursorului pe ecran sau la vizionarea unui film monitorul nu poate ine pasul i apar dre. Multe companii au adoptat tehnologia TFT (Thin Film Transistor) care se bazeaza pe o matrice activa si are stralucire si contrast foarte bune, comparatbile cu cea a ecranelor CRT. Aceast tehnologie face drele s dispar prin folosirea unui tranzistor pentru fiecare culoare a fiecrui pixel. Viteza de rspundere la comenzi este de aproximativ 25ms. Monitoarele TFT pot fi mult mai subiri dect cele DSTN ceea ce le face i mai uoare. Rata de reafiare a lor se apropie foarte mult de cea a monitoarelor CRT, ea fiind de aproximativ 10 ori mai mare dect cea a monitoarelor DSTN. Pentru o rezoluie de 1024x768 sunt folosii 2,359,296 tranzistori. Acetia trebuie aranjai pe o matrice din silicon scump ntr-o singur bucat. Prezena oricrei impuriti poate afecta tot sistemul de tranzistoare i deci asta duce la mari pierderi. Acest lucru afecteaz preul care devine destul de ridicat. Toate ecranele LCD fabricate in prezent dispun de asa numita functie "auto-adjust" care intra in actiune automat la schimbarea rezolutiei si regleaza imaginea pentru o afisare optima. Ecranele LCD nu mai au acele functii de ajustare a geometriei imaginii (la monitoarele CRT, cu cat sunt mai multe cu atat modelul respectiv e mai valoros) dat fiind ca nu mai este nevoie de ele. In practica rezultatele sunt aproape perfecte, singurele dezavantaje fiind urmatoarele: n momentul schimbarii rezolutiei, imaginea incepe sa joace pentru cateva secunde, timp in care functia de auto-adjust calculeaza parametrii optimi de afisare n cazul in care imaginea afisata pe ecran in momentul imediat urmator schimbarii rezolutiei contine suprafete mari de culoare neagra, functia auto-adjust poate calcula gresit parametrii, dat fiind ca aceasta se bazeaza tocmai pe pixelii aprinsi, in diverse culori, ai imaginii afisate. In practica insa, momentele in care auto-adjust-ul nu are rezultatele cele mai bune sunt destul de rare, existand oricum posibilitatea realizarii manuale a acestei functii. Unul din avantajele ecranelor LCD constituie in acelasi timp si un dezavantaj, oricat de ciudat ar putea suna acest lucru. Toate ecranele LCD dispun de o rezolutie implicita, la care calitatea imaginii este optima, trecerea in oricare alta rezolutie (mai mica, deoarece mai mare nu se poate) ducand la
13

Capitolul 4 - Echipamente de intrare - ieire degradarea calitatii imaginii, gradul acestei degradari variind de la producator la producator. Explicatia este destul de simpla si tine tocmai de tehnologia folosita de ecranele LCD: practic, fiecarui pixel afisat pe ecran i corespunde un element fizic (cristal lichid) al ecranului respectiv. Spre comparatie, in cazul monitoarelor CRT, pixelii sunt creati in urma bombardarii unui strat de fosfor cu raze de electroni. Diferentele din abordarea afisarii imaginii duc la o calitate superioara a imaginilor in cazul ecranelor LCD, cu pixeli clari, cu o focalizare perfecta. Acesta este si motivul pentru care, indeosebi la rezolutiile inalte, textul se poate citi mult mai usor pe un ecran LCD decat pe unul CRT. Revenind acum la fateta negativa a acestui aspect, faptul ca exista un numar fix de cristale lichide in cazul unui ecran LCD, face dificila afisarea unor rezolutii mai mici decat cea standard. Practic, in cazul unui ecran LCD de 17" rezolutia standard este de 1280x1024, ceea ce inseamna ca un astfel de ecran are 1280 cristale lichide pe orizontala si 1024 pe verticala. Pentru afisarea unei rezolutii de 1024x768 se recurge la interpolare, adica aproximarea culorii pentru anumiti pixeli pentru a simula faptul ca exista doar 1024 cristale lichide pe orizontala si 768 pe verticala. Calitatea imaginii in astfel de rezolutii depinde exclusiv de tehnologia de interpolare folosita de producator si variaza de la foarte buna la foarte slaba. Una din marile probleme ale ecranelor LCD in anii trecuti a fost latenta imaginii, mai exact timpul in care un cristal lichid isi schimba starea. Majoritatea producatorilor includ in specificatiile lor timpul in care un cristal lichid trece din starea aprins in cea de stins si dupa aceea inapoi la aprins. Acest timp se situeaza in prezent intre 16ms si 40ms si corespunde unei rate de afisare a imaginilor intre 62fps si 25fps. Aici este insa loc de multe discutii, dat fiind ca acesta este aproape cazul ideal (cazul ideal ar fi acela al trecerii doar din aprins in stins sau invers). In practica insa, trecerea unui cristal lichid de la o anumita nuanta a unei culori la alta nuanta a unei culori dureaza mult mai mult (cateodata chiar de 5 ori mai mult) ceea ce duce la asa numitul efect de "ghosting", adica de umbra a unui obiect care se misca pe ecran cu viteza. Cel mai usor acest efect de ghosting se observa in cazul lucrarii pe un fundal deschis la culoare (alb) pe care se misca un obiect inchis la culoare (cursorul mouse-ului sau un text care defileaza). Din acest motiv s-a spus despre ecranele LCD ca nu se preteaza la jocuri, acestea fiind situatii in care imaginile se succed cu rapiditate, existand cel putin teoretic premizele aparitiei efectului de ghosting. In practica insa, in jocuri nu sunt diferente bruste de culoare ceea ce reduce din efectul de ghosting. Este astfel posibil ca in multe jocuri sa nu se remarce diferenta dintre un LCD si un CRT chiar si in cazul unei latente de 25ms. Unghiul de vedere mai mic decat in cazul CRT-urilor este un alt dezavantaj al LCD-urilor, insa in ultima vreme acesta a crescut foarte mult, existand chiar ecrane LCD care se lauda cu un unghi de vedere de 180 de grade. Chiar si la aceste ecrane insa, imaginea isi pierde din calitatile sale de luminozitate, contrast si culoare in momentul in care este privita la un unghi mai mare de 0 grade, depinzand de fiecare producator gradul de modificare a acestor caracteristici. Este mult mai complicat de construit un display LCD decat o foaie de cristale lichide. Urmatoarele argumente vin sa sustina aceasta teorema: lumina poate fi polarizata; cristalele lichide pot transmite si schimba lumina polarizata; structura cristalelor lichide poate fi schimbata de curentul electric; exista substante transparente care pot conduce curentul electric; Un display LCD este un echipament periferic care foloseste aceste patru lucruri intr-o modalitate surpinzatoare.Pentru a crea un LCD,se iau doua bucati de sticla polarizata. Un polimer special care creeaza particule microscopice la suprafata este frecat de partea sticelei care nu are pelicula polarizata pe ea. Particulele trebuie sa fie in aceeasi directie ca pelicula polarizata. Se adauga un strat de cristale lichide pe unu dintre filtre. Particulele vor obliga moleculele sa se alinieze in aceeasi directie cu orientarea filtrului. Urmatorul pas este adaugarea celei de-a doua bucati de sticla cu pelicula polarizata la unghiul potrivit cu prima piesa. Cand lumina loveste primul filtru, aceasta este polarizata. Moleculele din fiecare strat ghideaza lumina pe care o primesc spre urmatorul strat. In timp ce lumina avanseaza prin straturile de cristale lichide, moleculele schimba planul de vibratie al lumii pentru a se potrivi cu unghiul lor. Cand lumina atinge partea indepartata a substantei de
14

SISTEME DE INTRARE - IESIRE cristale lichide ,ea vibreaza la acelasi unghi cu ultimul strat de molecule. Daca ultimul strat se potriveste cu al doilea filtru polarizat de sticla, atunci lumina trece prin el. Daca aplicam o incarcatura electrica moleculelor de cristale lichid, ele se rearanjeaza. Dupa reorganizare, ele schimba unghiul de trecere a luminii prin ele astfel incat sa nu corespunda cu unghiul filtrului polarizat.. In consecinta,lumina nu poate patrunde prin aceasta portiunea a LCDului, ceea ce face aceasta regiune mai intunecata decat celelalte zone. De exemplu, constructia celui mai simplu posibil display LCD cu un singur electrod rectangular. Este format dintr-o oglinda la spate, de unde proprietatea de reflexie. Apoi este adaugata o suprafata de sticla cu pelicula polarizata in partea de jos, urmata de un plan de electozi facut din indium-tin la cap. Un plan obijnuit de elctozi imbraca intreaga arie a display-ului. Deasupra acestora este stratul de substanta de cristale lichide. Ulterior se adauga urmatoarea piese de sticla cu un electrod in forma rectangulara in partea de jos, iar sus, o alta pelicula polarizata. Toate acestea la unghiul corect fata de prima parte. Electrodul este conectat la o susra de curent, o baterie de exemplu. Cand nu este curent, lumina care intra prin partea din fata a LCD-ului loveste oglinda si se intoarce. In cazul in care bateria ofera curent electrodului, cristalele lichide dintre planul de electrozi si electrodul in forma rectangulara se rearanjeaza si blocheaza lumina in acea regiune sa avanseze. Asta face ca LCD-ul sa arate forma rectangulara ca o zona neagra. De notat ca LCD-ul nostru simplu are nevoie de o sursa externa de lumina. Materialele din cristale lichide nu emit lumina singure! Un exemplu ar fi un ceas cu display LCD, numerele apar unde electrozi mici incarca cristalel lichide si fac straturile sa se reorganizeze astfel ca lumina nu este transmis prin pelicula polarizata. Comparatie a avantajelor si dezavantajelor LCD-urilor fata de CRT-uri
Avantaje CRT Pret scazut Un ecran de 17" are o Egalitate intre specificatii si diagonala vizibila de doar realitate in ceea ce priveste 15,8" in cele mai multe diagonala ecranului cazuri Geometrie perfecta a Probleme de geometrie, imaginii, pe toata suprafata convergenta, mai ales in ecranului colturi In rezolutia implicita, calitatea imaginii este excelenta, mai ales in cazul afisarii unui text Avantaje LCD Dezavantaje CRT Dezavantaje LCD Pret ridicat, chiar daca ritmul de scadere al acestuia este mai mare decat la CRT

Gama larga de rezolutii accesibile fara pierderea calitatii imaginii In cazul existentei unei probleme cu monitorul, garantia o acopera de obicei

Exista o singura rezolutie implicita, in cazul celorlalte (mai mici) realizandu-se interpolarea pixelilor Exista riscul existentei pixelilor morti, risc neacoperit in totalitate de garantie

Dimensiuni si greutate extrem de reduse Imaginea este practic afisata instantaneu Ergonomie deosebita care are ca rezultat o imagine foarte odihnitoare Puritate foarte buna a culorilor, insotite de o un negru corect Alb curat si stralucitor, care chiar daca poate fi deranjant la inceput, devine ceva extrem de util si obisnuit dupa o vreme

Dimensiuni si greutate din ce in ce mai mari, odata cu cresterea diagonalei ecranului Latenta imaginii Ratele mici de reimprospatare ca si radiatiile electromagnetice sunt obositoare pentru ochi Numarul de culori afisabile este de obicei mai mic decat la CRT-uri

15

Capitolul 4 - Echipamente de intrare - ieire


Consum redus de curent (25- Consum mare de curent (6045W in stare normala de 160W in stare normala de functionare) functionare) Caracteristicile imaginii sunt neschimbate, indiferent de unghiul din care este privit ecranul Luminozitate foarte buna (intre 200 si 600 cd / m2 Contrast bun (intre 350:1 si 700:1) Se poate intampla ca luminozitatea ecranului sa fie mai mare in centru Nu este afectat de campurile Este afectat de campurile electromagnetice electromagnetice Luminozitate relativ scazuta (intre 80 si 120 cd / m2 Contrast mediu (de obicei intre 200:1 si 450:1, chiar daca exista si modele care ajung la 600:1) Se poate intampla ca luminozitatea ecranului sa fie mai mare pe laturi decat in centru Cu cat unghiul in care este privit ecranul creste, cu atat calitatea imaginii (contrast, luminozitate) are de suferit

4.6. Imprimanta laser


Termenul de imprimant cu cerneal este foarte descriptiv asupra principiului dup care funcioneaz: aceste imprimante afieaz pe hrtie o imagine prin folosirea unor jeturi subiri de cerneal. Termenul de imprimant laser pe de alt parte, este un pic mai misterios cum poate o raz laser, o und de lumin, s scrie litere i s deseneze imagini pe hrtie? n anii 1980, imprimantele matriciale i cele laser erau predominante, tehnologia imprimantelor cu jet nu se dezvoltase suficient dect dup anii 1990. Imprimanta laser a fost introdus de Hewlett-Packard n 1984, bazat pe tehnologia dezvoltat de Canon. Funciona ntr-un mod similar cu un fotocopiator, diferena major era sursa de lumin. Un fotocopiator scaneaz pagina cu o lumin strlucitoare, pe cnd la imprimanta laser sursa de lumin este bineneles laserul. Procesul ulterior este n mare msur acelai, lumina creaz o imagine electrostatic pe un fotoreceptor, care atrage tonerul dup forma electrostatic ncrcat. Imprimantele laser au devenit repede populare datorit naltei caliti i preurilor destul de reduse. Prin dezvoltarea pieei productoare de lasere, competiia dintre firme a devenit acerb, iar preurile au sczut. Calitatea a crescut, rezoluia de 600 dpi devenind standard, iar mrimea imprimantelor s-a redus, fiind folosite i pentru interes personal, acas. Principiul primar de funcionare l constituie electrizarea static, acelai energie care face ca hainele s se electrizeze. Electrizarea static face ca obiectele care au atomii electrizai n mod opus s se atrag. O imprimant laser folosete acest fenoment ca un fel de lipire temporar. Elementul principal al sistemului l constituie fotoreceptorul. Un tambur care se rotete i este construit din material fotoconductibil este descrcat electric de fotonii de lumin. Iniial, tamburului i este dat o sasrcin pozitiv, prin ncrcarea de ctre fir electric. n timp ce tamburul se nvrte, o raz laser este aplicat pe suprafa lui pentru a descrca anumite puncte. n acest mod, laserul scrie literele i imaginile care vor fi printate i creaz o imagine electrostatic. Sistemul poate funciona i cu sarcinile electrice ncrcate invers, adic o imagine electrostatic pozitiv pe o suprafa negativ. Dup ce modelul a fost imprimat, imprimanta aplic tamburului un toner ncrcat pozitiv, o fin i neagr pudr. Fiind ncrcat pozitiv, tonerul se lipete de zonele negative de pe tambur, zona
16

4.6.1. Procesul de baz

SISTEME DE INTRARE - IESIRE pozitiv fiind considerat fundalul. Cu praful imprimat pe model, tamburul este rotit pe o foaie de hrtie, foaie ce este puternic electrizat negativ de ctre firul electric. Este ncrcat negativ mai puternic dect imaginea electrostatic, astfel ca hrtia s poat s atrag praful de toner. Foaia se mic cu aceeai vitez cu tamburul, imaginea este preluat cu exactitate. Pentru a mpiedica hartia s se agae de tambur, este descrcat imediat ce a preluat tonerul.

n final, imprimanta trece hrtia printr-o pereche de role nclzite numit fuser. Cnd hrtia trece printre aceste role, praful se topete, fuzionnd cu fibrele hrtiei. Fuser-ul rotete hrtia spre tava de ieire, i utilizatorul obine pagina printat. Foaia este nclzit i ea nsi, de aceea paginile ies calde din imprimanta laser sau din xerox. Ce mpiedic pagina s fie ars? n primul rnd viteza hrtia trece printre rolele incandescente ndeajuns de repede pentru a nu se ncinge prea tare. Dup depozitarea tonerului pe pagin, tamburul este descrcat de ctre imaginea electrostatic de ctre o surs de lumin numit lamp de descrcare. n mare, acetia sunt paii pentru obinerea unei foi printate de o imprimant laser. Desigur combinarea tuturor pailor implic un proces complex. Controlerul imprimantei este cel care realizeaz legtura dintre calculator i imprimant. Comunic cu computerul gazd printr-un port de comunicare: port paralel sau USB. La declanarea comenzii de printare, imprimanta negociaz cu calculatorul gazd cum vor fi transmise datele. Controllerul ar putea s porneasc i s opreasc computerul periodic pentru a procesa informaiile pe care le primete.

4.6.2. Controllerul

17

Capitolul 4 - Echipamente de intrare - ieire

O imprimanta laser obisnuita are mai multe porturi de comununicare diferite

ntr-un birou, o imprimant laser este de obicei conectat la mai multe calculatoare, astfel ca utilizatori diferii s poat printa documente de pe unitile lor. Controller-ul se ocup de fiecare separat, dar poate conversa simultan cu mai multe cereri. Aceast abilitate de a se ocupa de mai multe cereri n acelai timp au crescut popularitatea imprimantelor laser. Pentru ca controller-ul imprimantei i calculatorul gazd s poat comunica, trebuie s aib acelai PDL (page description language). La primele imprimante, calculatorul trimitea un text special cu un cod simplu ce ddea imprimantei informaiile primare, fiind puini foni, procesul era direct. Dar acum sunt sute de foni diferii i grafice complexe. Pentru a putea procesa aceste informaii, imprimanta trebuie s cunoasc un limbaj de comunicare mai avansat. Limbajul primar cel mai cunoscut acum este al lui Hewlett Packard numit Limbajul de Comand al Imprimantei sau PCL (Printer Command Language) i cel dezvoltat de Adobe numit Postscript. Aceste 2 limbaje descriu imaginea folosind un vector valori matematice pentru figuri geometrice n locul folosirii punctelor (imagine bitmap). Imprimanta preia acest vector de imagine i l transform ntr-o pagin bitmap. Prin acest sistem, imprimanta poate primi imagini elaborate ct mai complex, primind orice fel de font sau de imagine. Fiindc imprimanta este cea care creaz imaginea bitmap, poate folosi rezoluia maxim a imprimantei. n 1985 firma Adobe anuna apariia limbajului de descriere a paginii numit PostScript. PostScript Level 1 descrie pagina printr-un vector care este trimis la imprimant care convertete n puncte la calitatea cea mai buna a echipamentului. Un monitor ar putea avea 75dpi, un laser 300 dpi i un echipament de setarea a imaginii lucrnd la 2400 dpi. Ele lucreaz independent, de unde si acrinimul WYSIWYG (What You See Is What You Get.) Ulterior a aprut Post Script Level 2 ce fcea compresia datelor mai rapid, i coninea algoritmi de mbuntire pentru memorare i utilizare a resurselor. Ultima variant de la Adobe este Post Script Extreme. PCL -ul (Printer Command Language) aprut n anii 1970 nu au cutat s dein licena ca PostScriptul liceniat de la Adobe. De aceea multe imptrimante au fost dotate cu acest limbaj. Iniial a fost creat pentru imprimante matriciale, iar varianta PCL 3 permitea doar cerine de printare simple. PCL 5, dezvoltat pentru LaserJet III oferea opiuni similare cu PostScript cu dimentsiuni pentru foni prin sistemul Intellifont i un vector de descriere, ndeplinndu-se principiul WYSIWYG. Prin folosirea unor metode de compresie, s-a mrit viteza de printare fa de PostScript Level 1, iar PCL 5e a implementat i comunicarea bi-direcional. n 1996 HP a anunat PCL 6. Este flexibil, un limbaj de control orientat pe obiecte, adaptat pentru procesare grafic rapid i oferind faciliti pentru WYSIWY. Unele imprimante folosesc o interfa grafic avansat numit GDI (graphical device interface) n locul PCL-ului. Prin acest sistem, calculatorul gazd este cel care creaz matriea cu puncte, pentru ca controller-ul s nu proceseze totul. Dar n majoritatea imprimantelor, controller-ul este cel care trebuie s organizeze toate datele pe care le primete de la calculator. Aceasta include toate comenzile cum ar fi: ce hrtie s foloseasc, cum s formateze pagina, ce font s foloseasc, etc. Pentru ca controller-ul s lucreze cu aceste date, trebuie ca s le structureze ntr-o anumit ordine. Seteaz marginile textului, aranjeaz cuvintele, i ocuparea imaginilor n pagin. Odat pagina aranjat, procesorul tipar de imagine RIP (raster image processor) preia datele i le transform ntro matrice de puncte minuscule. Imprimanta are nevoie de pagin n aceast form pentru ca laserul s poat scrie pe tamburul fotoreceptor. La majoritatea imprimantelor laser, controller-ul salveaz datele de cerere de printare n memoria lui. Aceasta permite controller-ului s pun cererile de printare ntr-o stiv ca apoi s le rezolve pe
18

SISTEME DE INTRARE - IESIRE rnd. n acest fel salveaz i timp atunci cnd printeaz copii multiple ale aceluiai document deoarece calculatorul trimite o singur dat informaiile. Sistemul de scanare cu laser este cel care deseneaz pagina, de aceea trebuie s fie extrem de precis. Folosind laserul, raza se mic pe tambur, i emite un puls de lumin pentru fiecare punct care trebuie printat, i nu emite puls pentru fiecare punct care este un spaiu gol. Este folosit o oglind mobil care reflect unda de lumin. Pe msur ce oglinda se mic, reflect lumina printr-o serie de lentile. Acest sistem compenseaz pentru distorsiunea imaginii cauzat de distana variabil dintre oglind i punctele de pe tambur. Asamblul laserului se mic ntr-un singur plan, orizontal. Dup fiecare scanare orizontal, imprimanta mic tamburul fotoreceptor mai sus cu un grad, pentru a trece la urmtoarea linie orizontal. Un mic motora sincronizeaz toate acestea perfect, chiar la viteze ameitoare. Cu ct este mai mic rotirea, cu att este mai mare rezoluia. Pasul de rotire la imprimantele moderne este n mod curent 1/600 dintr-un inch, deci 600 dpi rezoluia pe vertical. Pentru o rezoluie mai mare laserul deci trebuie oprit si pornit mai repede, Unele imprimante folosesc LED-uri (light emitting diodes) diode emitoare de lumin n locul unui singur laser. Fiecare punct are dedicat o lumin, ceea ce nseamn c imprimanta are o singur rezoluie pentru printare. O imprimanta cu rezoluia de 600dpi va avea 600 leduri pe inch. Pentru printarea color, exist 4 rnduri de led-uri: albastru,rou,galben i negru. Sistemul cu led-uri este mai ieftin, fiind mai uor de proiectat, dar produc rezultate inferioare.

4.6.3. Laserul

4.6.4. Avantajele imprimantei laser

Imprimantele laser au numeroase avantaje fa de tehnologia rival prin jet de cerneal. Produc o calitate mult mai bun i sunt concepute pentru un termen mai lung adic scot mai multe pagini pe lun la un cost mai redus pe pagin fa de cele pe cerneal. Deci pentru un birou de afaceri ar putea fi cea mai bun opiune. Un alt avantaj, fie pentru acas sau pentru serviciu, este lucrul cu plicul, carduri i alte materiale speciale. Avnd n vedere cum se construiete o imprimant laser, este uimitor preul mic din oferte. n multe moduri, componentele din imprimanta laser sunt mai sofisticate dect cele dintr-un calculator. RIP (raster image procesor) e comparabil cu un procesor avansat, ingineria pentru oglinzi este foarte avansat, i folosirea de toner-uri i chimicale care nu afecteaz mediul este fascinant. Pentru obinerea imaginii de pe screenul calculatorului pe foaia necesit o combinaie interesant de electronic, optic, mecanic i chimie. Principale avantaje sunt deci: viteza, precizia i economia. Un laser se poate mica foarte rapid, deci poate scrie cu vitez superioar fa de cea pe cerneal. Pentru c raza laser are un diametru fix, invariant, poate desena mai precis, fr exces de cerneal. Chiar dac sunt mai scumpe dect imprimantele cu cartu, ntreinerea lor este mai ieftin tonerul este mai ieftin i dureaz mai mult, fa de cartuele pe cerneal. De aceea pentru birouri este mult mai indicat acest gen de imprimant. Deja preurile sunt doar puin mai ridicate fa de imprimantele pe cerneal. Odat cu avansarea tehnologiei, preurile la imprimantele laser vor continua s scad, n timp ce performanele vor continua s creasc. Imprimantele laser au fost concepute iniial pentru a printa scrisori (n special coresponden de afaceri). n anii 90 s-a ncercat mbuntirea vitezei pentru imprimantele laser i mai puin folosirea lor pentru obinerea fotografiilor de calitate superioar. Doar din 1998 imprimantele color laser au putut concura n mod serios cu imprimantele cu jet n calitate pentru fotografii. Aceast dezvoltare lent n tehnologie s-a datorat faptului c imprimantele laser au fost concepute pentru birouri de afaceri, unde imaginile color erau necesare pentru grafice i tabele, nu pentru fotografii. Costul pentru printarea color este destul de ridicat, dar calitatea imaginii este foarte bun. Trebuie ca foaia de printat s nu fie foarte groas, imprimantele cu laser nu pot printa pe foi cu grosime mare. Pe lng viteza superioar fa de imprimantele cu jet, un alt avantaj l reprezint meninerea culorilor i calitii unei fotogrofii obinut cu o imprimant laser. Prin faptul c tonerul
19

4.6.5. Imprimanta laser color

Capitolul 4 - Echipamente de intrare - ieire este imprimat datorit cldurii, i nu prin absobie ca la imprimantele cu jet, pot fi obinute imagini color de nalt calitate. Noile imprimante laser produc i fotografii lucioase, fa de cele mai vechi care obineau doar imagini mate prin variaia forei de presiune aplicat i a cldurii. n esen, imprimantele color funcioneaz n acelai mod ca cele monocromatice, doar c trec prin procesul de printare de 4 ori: o dat pentru albastru, o dat pentru rou (magenta), o dat pentru galben respectiv negru. Combinnd aceste 4 culori n diferite proporii, se poate genera ntreg spectrul de culori. Sunt mai multe metode: fie 4 tonere care sunt ataate pe o roat ce se nvrte, fie cele mai scumpe care au un asamblu de laser, tambur i toner pentru fiecare culoare. Exemple de firme care produc imprimante laser: Hewlett-Packard, Xerox Tektronix, Minolta, Tally, Panasonic, Lexmark, Epson sunt doar cteva din marile firme productoare.

4.7. Scannerele
Daca se doreste introducerea, in memoria computerului, a unei fotografii sau a oricarei imagini tiparite pe hartie, cel mai adecvat echipament periferic pentru aceasta operatie este scanner-ul. Acesta scaneaza fotografia si transforma informatia grafica din ea in informatie digitala, care apoi poate fi afisata pe ecran si poate fi salvata pe disc intr-un fisier de tip grafic. Cel mai adesea, scanner-ul se conecteaza la portul de comunicatie paralel al computerului, si poate avea pe el un alt port de acelasi tip la care se poate conecta, in serie cu el, si o imprimanta. Exista si scannere care functioneaza pe standarde de tip SCSI, o tehnologie deosebita de cele folosite frecvent. Majoritatea programelor profesionale de prelucrari grafice dispun si de comenzi specifice pentru achizitia de imagini de pe hartie cu ajutorul unui scanner si salvarea lor in format electronic. Cele mai performante sunt scanner-ele de birou, in care se pune imaginea de scanat si aceasta este "fotografiata" de un dispozitiv care se deplaseaza automat, paralel cu suprafata ei.[vezi figura]. Mai accesibile pot fi scanner-ele de mana, dar acestea trebuie deplasate manual pe suprafata unei imagini tiparite ca sa o scaneze. Putei crede c un scanner este bun doar la adugarea unor poze n scrisori, articole sau proiecte colare. Dar scannerul poate mai mult. Iat cteva exemple: la transmiterea faxurilor, pentru fotocopiere ocazional sau pentru a depozita copii ale unor documente vechi. Putei s testai, totodat, minunea tehnicii care este recunoaterea caracterelor optice (OCR) - un sistem ce nva computerul s v citeasc toate documentele. Dei exist scannere de toate formele i dimensiunile, totui ele se mpart n trei mari categorii: scannere de mn, scannere pentru documente i scannere plane. Sunt cele mai ieftine, sunt mici, se in n mn i se deplaseaz deasupra pozei de scanat. Acestea pot realiza o calitate bun a imaginii, dar au i cteva neajunsuri. Pentru o scanare perfect trebuie s deplasai aparatul deasupra hrtiei n linie dreapt i cu vitez constant, cea ce nu este simplu i pot fi necesare mai multe ncercri pn la obinerea rezultatului optim. n plus aceste aparate nu pot scana dect fii de imagine late de circa 10 cm.
20

4.7.1. Scannere de mn

SISTEME DE INTRARE - IESIRE Pentru pozele mici nu este o problem, dar dac dorii s scanai o foaie de hrtie de format mai mare, atunci for fi necesare cel puin dou fii. Software-ul scannerului va alipi cele dou fii, dar alturarea ar putea s nu fie perfect.

4.7.2. Scannere de documente


Scannerele pentru documente sunt foarte compacte, ocup foarte puin spaiu pe birou i pot scana att foi ntregi de hrtie ct i poze mai mici. Ele lucreaz ca un scanner de mn mai lat, avnd ncorporat un alimentator motorizat de hrtie. Foaia de scanat este introdus printr-o fant n scanner, iar motorul o deplaseaz cu vitez mic pe sub capul scannerului, abinndu-se astfel o imagine scanat perfect. Acestea sunt scannere care arat ca un fotocopiator mai ngust. n acest caz, dumneavoastr trebuie s ridicai capacul i s aezai hrtia pe o suprafa de sticl. n loc s deplasai poza, scannerul mic trenul de scanare pe sub foaie. Majoritatea scannerelor plane pot scana hrtie de dimensiuni pn la A4. Calitatea scanrii este mai bun dect n cazul primelor dou tipuri.

4.7.3. Scannere plane

4.7.4. Modul de functionare


Toate scannerele au acelasi principiu de functionare; deferentierea lor apare la tipul de deplasare al capului (manual sau automat), rezolutia de scanare, fidelitatea, tipul capului de citire folosit si a modului de transfer spre PC. Cele mai tari scannere [si totodata accesibile "poporului"] sunt la ora actuala cele pe USB, cu deplasare automata a capului, care suporta scanare direct de pe film fotografic, cu fidelitate foarte mare masurata in DPI [Dot-per-Inch], si rezolutie de peste 2048x1536. In principiu, la un scanner cu deplasare automata a capului, un controller de comenzi interpreteaza cerinta PC-ului si elaboreaza comanda pentru citire, pozitionarea capului, transferul datelor din buffer-ul capului spre memoria-tampon din care, in momentul umplerii, va fi preluata de PC. O fie subire de imagine este culeas de un detector sensibil la lumin care transform zonele se lumini i umbre ale pozei n semnal electrice expediate apoi PC-ului. Fiile sunt rnduri foarte nguste, oarecum asemntoare cu cele ale unei imagini TV. O pagin complet este format din 1.000 pn la 5. 000 de rnduri separate. Cu ct sunt mai multe rnduri, cu att calitatea pozei va fi mai bun.

21

Capitolul 4 - Echipamente de intrare - ieire Scanarea color folosete trei seturi de detectori de lumin: roii, verzi i albatri. Informaiile extrase cu ajutorul acestor trei seturi pot reproduce orice culoare a curcubeului. Calitatea pozelor scanate depinde de numrul punctelor folosite pentru a compune poza scanat i de gama de griuri sau culori pe care le poate recunoate i transfera PC-ul. Cu ct sunt folosite mai multe puncte la o poz, cu att aceasta va fi mai clar. Aceast proprietate se numete rezoluie i se msoar n puncte per inci, sau dpi. Controllerul comanda "citirea": de pe tubul cu neon pleaca razele de lumina care vor "lovi" o linie foarte subtire de pe foaie. Imaginea se reflecta intr-un sistem de oglinzi [vezi figura] care focalizeaza imaginea spre capul de citire, iar de acolo se face conversia in semnal digital spre buffer. Semnalul digital este elaborat astfel: in functie de rezolutia aleasa de programul de prelucrat imagini, este impartit intr-un anumit numar de biti, la care bitul "1" reprezinta un punct negru, iar "0" un punct alb [pentru scanare alb-negru], sau pentru fiecare punct se alege o intensitate pentru fiecare din cele 3 culori de baza [rosu, verde, albastru]. In momentul in care bufferul este "plin" cu linia, acesta semnalizeaza "ready" se face transferul spre memoria tampon, apoi procesorul elaboreaza comanda "next-step" [stepperul sare un pas si se trece la urmatoarea "linie" de scanat]. Scannerele folosesc algoritmi de compresie a informatiilor, pentru a asigura in transfer rapid intre periferic si PC. In momentul scanarii unei imagini complicate, datorita acelor 3 intensitati corespunzatoare lui rosu, verde si albastru, pentru fiecare pixel in parte, la o rezolutie considerabila, prin scanner ajung sa se vehiculeze date de capacitati de peste 500 MB, ceea ce pentru portul paralel reprezinta o adevarata sinucidere. Scannerele foarte rapide folosesc algoritmi de compresie rapizi, dar nu compreseaza la maxim, asa ca ele sunt conectate prin porturi SCSI, ceea ce le confera o viteza de functionare mare, fara a afecta stabilitatea sistemului de operare. Scannerul foloseste un sistem de iluminat special proiectat; format dintr-un convertor de tensiune de la 12V la aproximativ 110V, pentru un tun cu neon foarte subtire si sensibil, ce asigura o iluminare puternica a foii. Cum stie computerul ca in portul paralel exista un scanner: Scanner-ul are incorporat o memorie EPROM [NV-ram - nonvolatile ram]. Acolo sunt scrise informatii despre tipul scannerului, memoria interna a lui, algoritmul de compresie al datelor si registrul de comenzi care vor fi incarcate de micro-controller la fiecare pornire. Orice scanner este plug - and play. Windows nu tine inotdeauna cont de acest lucru, dar cand "simte" o schimbare la un port paralel (incercare de negociere de transfer), va face o cerere de identificare, si i se va raspude cu informatiile corespunzatoare din memoria EPROM. Protocolul de transfer intre memoria tampon si PC difera functie de portul pentru care a fost destinat scannerul sa fie conectat. Pentru portul paralel se folosesc standardele EPP [viteza maxima de transfer din mem tampon spre PC - 800k/s -> stabilita experimental] si mai nou, ECP [viteza maxima stabilita tot experimental, 1.5 MB/s]. Sistemul pe care am efectuat experimentul a fost un scanner UMAX pe interfata paralela, rezolutie 1280x1024 cu 500dpi max si 1024k memorie interna, un computer celeron/450
22

SISTEME DE INTRARE - IESIRE MHz, cu 324 MB ram, sistem UNIX openBSD 3.3 si un program profesional de prelucrare de imagini GIMP 1.2.5. Windows 98, impreuna cu Adobe Photoshop 7, pur si simplu au refuzat sa functioneze, prezentand celebra eroare sub forma unei ferestre albastre, cand am incercat sa scot din scanner mai mult de 15 MBytes. Documentele de scanat au fost, pe rand: un bilet RATP, o bancnota de 100.000 de lei, o scutire medicala si o foaie cu antetul facultatii, portul paralel a fost setat pe rand, pentru fiecare "document", in standardele EPP si ECP, folosind mai intai BIOS-ul (pentru windows) si driverele incluse in kernelul openBSD/3.3-release (pentru UNIX). Scannerele au deseori pe cd-ul cu driverele i un program de recunoatere optic a caracterelor (OCR). Dei poate c nu l folosii n fiecare zi, el este capabil s economiseasc timp pentru dumneavoastr. Citate lungi, articole din ziare i reviste sau alte tipuri de texte trebuie, n mod normal, s fie copiate pe computer prin dactilografiere. OCR poate sri aceast faz de culegere prin citirea automat a textelor scanate n PC i transformarea cuvintelor ntr-un text din procesorul de texte ca i cum ar fi importate dintr-o alt aplicaie.

4.8. Camera WEB


O Camer WEB este, in cea mai larg definiie posibil, orice camer video (care folosete tehnologie analogic sau digital), conectat intr-un fel la INTERNET. Cel mai frecvent, cnd se folosete acest termen, este vorba despre o camer ce folosete tehnologie digital, iar legtura cu Internetul este asigurat printr-un PC i un software. Introducerea si dezvoltarea Camerelor Web este evident legata de inceputurile dezvoltarii Internetului si de tehnologia de achizitie de imagini. In 1969, George Smith and Willard Boyle, cercetatori la Bell Laboratoryes, au pus bazele teoretice ale CCDului, pe care l-au realizat practic in 1970, iar in 1975 era suficient de "bun" pentru a putea transmite imagini cu rezolutie TV. Cu toate acestea, el nu a patruns pe piata si in domenii cat mai variate decat dupa 1983. Primul echipament de tip Camera Web, desi artizanal a fost creat in 1991, cand cativa studenti de la Universitatea Cambridge care lucrau la un proiect intr-o cladire cu laboratoare, in care nu exista decat un singur filtru de cafea. Evident, cafeaua se epuiza foarte repede, iar cei aflati mai departe de mult-doritul dispozitiv trebuiau sa urce si cateva etaje pentru a constata ca filtrul era gol atunci cand ajungeau la el. Sistemul de achizitie si transmitere a imaginii pus la punct de studenti s-a numit XCofee si consta intr-o camera analogica indreptata catre filtrul de cafea, conectata la un PC printro placa de achizitie video. Sistemul folosea un software constand din doua aplicatii: un server ce primea datele de la placa de achizitie, la care se conecta o apliacatie client, ce putea fi utilizata de orice calculator folosea aplicatia respectiva. Ulterior, dupa ce 600 de utilizatori au downloadat aplicatia client, s-a trecut in 1993 la folosirea browser-ului pentru receptionarea imaginilor, creinduse plactic prima transmisiune video WEB in direct. Desi imaginea transmisa era grayscale, si cu un refresh de 3cadre/min, a fost primul pas in dezvoltarea sistemelor de camere web de mai tarziu. Prima camera web dedicata utilizatorilor individuali a fost produsul QuickCam al firmei Connectix, introdusa in 1994, , in prima sa varianta numai pentru sisteme Macintosh. Camera este de dimensiunea unei mingi de golf, si poate fi montata pe monitor, forma folosita si astazi de multi producatori la modelele destinate utilizatorilor individuali. Pentru transmisia datelor si alimentare camera foloseste portul serial. Poate furniza imagini de 320X240 pixeli, in 16 nuante de gri (4-bit gray), la 15 cadre/sec. Lentilele sunt cu distanta focala fixa, echivalentul a 38mm pe o camera analogica de 35mm. Focalizarea este de asemenea fixa - de la 45cm la infinit, cu o diafragma maxima de 1.9.

23

Capitolul 4 - Echipamente de intrare - ieire Dezvoltarile teoretice, perfectionarea tehnologica si reducerea costurilor de productie a captorilor de imagine au permis intrarea agresiva pe piata bunurilor de consum a Camerelor Web in modele cat mai variate, destinate cator mai multe utilizari. Deasemenea majoritatea Camerelor Foto digitale actuale includ posibilitatea de a fi folosite ca si Camere Web. Pentru a capta imaginea, o camera web foloseste, ca orice alt dispozitiv de imagistica digitala (camere video digitale, aparate foto digitale, etc) o parte optica, formata dintr-un sistem de lentile (de obicei 4) si una electronica, a carei componenta cheie este captorul digital. Functional, diferenta intre o camera foto digitala si o camera WEB este ca aceasta din urma nu este mobila, nedispunand de facilitatea de a stoca imaginile captate pe un suport magnetic sau optic. Tehnologia folosita de Camera WEB achizitia de imagini este similara cu cea folosita la camerele foto sau video digitale. De departe cea mai importanta si mai des disputata parte a unui sistem de achizitie video este captatorul digital de imagine.

4.8.1. Principii de functionare


Captatorul digital de imagine este un circuit complex, format dintr-un numar de randuri si coloane de fotodiode ca o matrice; la intersectia fiecarei coloane cu un rand se afla un element receptor (fotosit). Fiecare fotosit va determina caracteristicile unui punct din imagine (picture element sau pixel). Considerente de ordin electric si mecanic determina ca intre doua fotosituri vecine sa existe un spatiu care nu este fotosensibil. Raportul dintre suprafata fotosensibila si suprafata totala poarta numele de factor de umplere si este, evident, subunitar. Cu cat suprafata unui fotosit este mai mica, cu arat sensibilitatea la lumina a captatorului este mai redusa, adica este nevoie de mai multa lumina pentru a obtine o imagine convenabila. Cu cat factorul de umplere este mai mare, cu atat "randamentul" este mai bun. Pentru a spori randamentul optic al captatorilor, unii producatori aseaza deasupra fiecarui fotosit cate o microlentila care concentreaza lumina pe elementul fotosensibil. Fiecare receptor capteaza lumina incidenta si o transforma intr-un semnal electric. Semnalul furnizat de fiecare fotosit este apoi descarcat, prelucrat si cuantificat (digitizat) pe 256 sau mai multe nivele, in functie de modelul (pretentiile) aparatului; in acest fel, fiecare element al matricei va fi caracterizat de un anumit nivel de semnal. 4.8.1.1. Dimensiunile Fotositului si influenta asupra calitatii imaginii Pixelii de mici dimensiuni ofera semnale electrice slabe (suprafata mica = energie captata mica), ceea ce duce la un raport semnal/zgomot mic. Pentru a "ascunde" acest fapt, producatorii utilizeaza diverse mecanisme de reducere a zgomotului, unele mergind pana la insumarea semnalelor a 4 fotosituri vecine pentru a calcula/realiza un pixel in imaginea finala! De asemenea, un raport semnal/zgomot redus determina o diminuare a intervalului de expunere (mai putini indici de expunere) ca si o reducere a sensibilitatii (ISO de valori mai mici). Aceste efecte devin foarte suparatoare la fotosituri de sub 4 x 4 microni. Pe de alta parte, pixelii de dimensiuni mari sufera de aliasing (defecte ale imaginii care constau din aparitia unor linii alternativ luminoase si intunecoase, ca un efect Moire si care apar - aparent paradoxal - daca obiectivul este de buna calitate) Aliasingul apare daca obiectivul are o rezolutie superioara frecventei Nyquist proprii captorului (care se calculeaza dupa formula N = 1/{2 * distanta dintre doi pixeli vecini}). Pentru combaterea aliasingului se folosesc filtre anti-aliasing care "blureaza" imaginea si reduc rezolutia. Captatorii de dimensiuni mai mari costa mai mult! Captatorii se obtin pe waffer-e, un waffer oferind spatiu pentru mai multi captatori, cu atat mai multi cu cat sunt mai mici. Deoarece procesul de fabricatie este insotit de erori, unele captatoare sunt respinse de controlul de calitate si una este sa arunci 1 la o suta, cu totul altceva 1 din10! In aceasta etapa tehnologica, dimensiunea optima a unui fotosit este intre 5 si 9 microni. Aceste valori sunt utilizate si la camerele avansate, de tip Canon D60 sau Nikon D100. Pastrind dimensiunile fotositului, o camera cu un captator de 24 x 36 mm (full frame) ar avea circa 16 Megapixeli.

24

SISTEME DE INTRARE - IESIRE 4.8.1.2. Adncimea de Culoare In functie de numarul de nuante reprodus pentru fiecare pixel, o imagine se poate caracteriza printr-parametru numit "adancime de culoare". Intrucat ochiul uman poate distinge cca. 15 milioane nuante culori, reproducerea culorilor pe monitoarele calculatoarelor si in fotografia digitala trebuie sa tina seama acest parametru. Monitoale de tip VGA sunt capabile sa reproduca 256 nuante de culori, in schimb, monitoarele moderne si placile video sau aparatele digitale de fotografiat) reproduc peste 16 milioane nuante (reproducere Color).
ADANCIMEA DE CULOARE Tip Biti pe pixel Formula Numar de nuante

Alb-negru VGA Hi-color True color

1 8 16 24

21 2 28 216 224

256 65000 16 milioane

4.8.1.3. Sensibilitatea ISO a Captatorilor Sensibilitatea captatorilor digitali este similara cu a filmelor argentice si este stabilita de Organizatia Internationala pentru Standardizare (ISO = International Organization for Standardization). Captatoarele digitale au o sensiblitate la lumina, in general echivalenta cu filmele argentice cotate intre 60 si 100 ISO. Pentru a obtine fotografii in conditii de iluminare mai redusa, utilizatorul poate "spori" sensibilitatea care, de fapt, se produce prin interventia unor circuite de amplificare a semnalului transmis de captatorul digital. Din pacate, o data cu semnalul util este amplificat si zgomotul, desi majoritatea producatorilor pretind ca folosesc algoritmi complecsi si performanti si care produc rezultate foarte bune. Indiferent de model insa, cu cat sensibilitatea captatorului este mai mare, cu atat intervalul dinamic al pozei este mai redus. 4.8.1.4. Modele Comerciale de Captatori Digitali In prezent, pe piata exista trei tipuri de senzori: CCD, CMOS si Foveon3x.
CCD

CCD vine de la Charge Coupled Device si reprezinta modul in care se face citirea pixelilor dupa expunerea la lumina: pe primul rand de pe latura lunga a circuitului se afla un rand de elemente care nu sunt expuse la lumina - sa le spunem "de deservire" -, un registru de citire; datele din primul rand de celule expuse este transferat in registru si apoi datele sunt transmise pentru interpretare; randul citit este sters si este apoi transferata informatia din randul urmator, care este si ea golita in registru, s.a.m.d. Am putea spune prin urmare, ca informatia este citita prin "cuplarea" pe randuri, iar fiecare rand este "cuplat" cu cel de deasupra. Descarcarea se face progresiv, de la un rand la altul (primul rand, apoi al doilea, apoi al treilea...) sau intretesut (intai randurile impare si apoi randurile impare). Modul progresiv este utilizat de majoritatea camerelor digitale, in timp ce modul intretesut (interlaced) este folosit mai ales in televiziune. Acest tip de semiconductor are o buna sensibilitate atat in lumini cat si in umbre dar este mai scump de produs deoarece este utilizat doar in domeniul imaginii digitale.
CMOS

CMOS este acronimul de la Complementary Metal Oxide Semiconductor si este un tip de circuit electronic utilizat larg in industria computerelor (procesoare si memorii) si, din aceasta cauza, productia este mult mai ieftina. Primele captatoare introduse pe piata erau grevate de un zgomot mare de fond (cu consecinta: detalii reduse in umbre) dar progrese recente au facut ca si acest tip de circuit sa-si amplifice performantele (Canon D60 utilizeaza un captator tip CMOS).
25

Capitolul 4 - Echipamente de intrare - ieire

4.8.2. Captarea Culorii


Pentru a putea capta si informatiile despre culoare, cele doua tipuri de captatoare aratate mai sus sacrifica un pic din calitatea finala a imaginii prin interpunerea intre obiectiv si captator a unor filtre colorate in rosu (Red R), verde (Green = G) si albastru (Blue = B), sau, pe scurt: RGB, dispuse in forma de mozaic. Exista si alte tipuri de filtre dar cu o utilizare mult mai restransa decat RGB. 4.8.2.1 FILTRU BAYER Deoarece ochiul uman este mult mai sensibil la culoarea verde, Bayer a propus urmatorul raport de frecventa : 2 verzi, 1 rosu si 1 albastru (2:1:1), raport adoptat de aproape toti producatorii. Dupa descarcare, fiecare pixel contine informatii despre luminanta ca si despre intensitatea culorii rosu, verde sau albastru, in functie de filtrul acoperitor. Pentru a obtine si restul de informatie de crominanta, urmeaza o etapa de interpolare a informatiilor de crominanta cu pixelii din vecinatate (de-mozaicare), deoarece captatorul ofera doar 50% din informatia pe culoarea verde, 25% din cea albastra si 25% din cea rosie.

4.8.2.2. SUPER CCD Fuji lanseaza in 1999 un nou tip de captor, in esenta tot CCD dar, prin modificarea dispunerii fotositurilor obtine un factor de umplere mai bun, si il boteaza "Super CCD". Fotositurile sunt de forma octogonala iar dispunerea lor se face mai compact, asemanator celelor fagurilor de albine. Producatorul pretinde ca obtine o crestere a sensibilitatii, prin cresterea factorului de umplere, un raport semnal/zgomot mai bun, un interval dinamic superior si o redare mai buna a culorilor. Cresterea gradului de impachetare permite pixeli mai mari sau/si o rezolutie mai mare. Fuji sustine ca pe un circuit cu diagonala de 1/2 inchi, intra aprox. 2 milioane de fotosituri, care sunt cu 60 % mai mari decat cele de la un CCD obisnuit si ca imaginea obtinuta pe acest captator va fi echivalenta cu una de pe un CCD conventional de 3 MPixeli. O perfectionare a celei de-a treia generatii a Super CCD este "botezata" de Fuji: "High Resolution" si pe carearata ca obtine o calitate ridicata de pe senzori de foarte mici dimensiuni, prin perfectionarea proiectarii si fabricarii senzorilor. Producatorul anunta doua modele: unul de 1/2,7 inchi, cu 3,1 milioane fotosituri si cu un fisier rezultat de 6 MP, si un al doilea, de 1/1,7 inchi cu 6 milioane fotosituri si cu un fisier rezultat de 12 MP. Recent Fuji a anuntat un Super CCD de a patra generatie, botezat SR, si care este bazat pe modelul octogonal al Super CCD-ului deja prezentat; pentru fiecare fotosit "mare" si deci sensibil, adauga un al doilea, mai mic si, prin urmare, mai putin sensibil.

26

SISTEME DE INTRARE - IESIRE

COMPARATIE INTRE SUPER-CCD SI SUPER-CCD-SR

Fotodioda de mari dimensiuni reproduce luminile de intensitate medie si mica (semitonuri si umbre), in timp ce fotodioda de mici dimensiuni, de aproximativ patru ori mai putin sensibila la lumina, reproduce detaliile din lumini, care altfel se perdeau in zone arse ale imaginii. In acest fel, - sustine Fuji - se reproduce mai fidel o gama dinamica mai larga, mai ales partea cu lumini. Primele captatoare au fost lansate probabil in primavara lui 2004 si au 3,1 milioane fotosituri, cu 3,1 milioane fotodiode mari + 3,1 milioane fotodiode mici. 4.8.2.3. FOVEON x3 In 1999 se pantenteaza un nou tip de captor pentru imaginea digitala: Foveon x3, de catre un mic producator independent. Speculind faptul ca un captator uzual foloseste filtre de trecere de tip Bayer si ca in acest fel nu se utilizeaza decat o treime din lumina incidenta, Foveon propune un dispozitiv foarte seducator, la care fiecare fotosit este format dintr-un substrat pe care sunt asezate trei straturi suprapuse de semiconductori, fiecare dopat special pentru a deveni sensibil la o anumita lungime de unda: primul strat (cel superficial) absoarbe si raspunde la lumina albastra, al doilea la lumina verde iar al treilea la lumina rosie, sau cu alte cuvinte, fotositul arata cat de adanc patrund fotonii. In acest fel, este exploatata in intregime lumina incidenta, adica 100% din informatia pe culoarea verde, 100% pe culoarea rosie si 100% pe culoarea albastra, si nu 50 % din culoarea verde, 25% din culoarea rosie si 25% din culoarea albastra, ca in senzorii bazati pe matrice Bayer. Producatorul pretinde ca Foveon x3 are o rezolutie de doua ori mai buna decat un captator CCD cu acelasi numar de fotosituri. Daca am desparti informatia transmisa de lumina incidenta in patru parti (nu neaparat egale): lumianta, crominanta rosu, crominanta verde si crominanta albastru, un fotosit CCD, cu filtru de tip Bayer exploateaza doar doua din cele patru parti, pe cand Foveon x3 le capteaza pe toate patru. Putind capta simultan cele trei culori de baza pe fiecare fotosit, Foveon x3 ofera o mai buna reproducere a culorilor, nu are nevoie circuitele de interpolare - obligatorii la captatoarele clasice -, si ofera performanta mai buna in reproducerea detaliilor colorate cu frecventa ridicata. Firma National Semiconductor a achizitionat drepturile de folosire a sensorului Foveon X3, in scopul de a il introduce in telefoanele mobile si PDA-uri.

4.8.3. Transferul de date


In procesul de transfer al imaginilor de la un PC la altul cu ajutorul internetului se disting doua etape principale :
Transferul Camera Web - PC Transferul PC - WEB - PC

27

Capitolul 4 - Echipamente de intrare - ieire 4.8.3.1 Transferul Camera Web - PC Dintre modurile de conectare la PC a unei camere existente in prezent mentionam in urmatoarea clasificare cateva tipuri: Camere care folosesc portul serial - care folosesc portul serial pentru conectarea la PC. Datorita vitezei scazute deobicei nu ofera posibilitatea de transmitere Live, ci doar Frame by Frame, cu rata de refresh scazuta, dar calitate a imaginilor si rezolutie riducate. Sunt folosite in cazul in care nu este nevoie de imagini la intervale scurte de timp, si nici de transmisii audio simultan (de exmplu in meteorologie). Camere care folosesc portul paralel - folosesc portul paralel pentru conectarea la PC. La inceputul introducerii camerelor web, au fost foarte raspandite. Pot transmite flux de date Live, la un framerate acceptabil, dar de o calitate mai scazuta decat cea a camerelor seriale. Sunt considerate cea mai ieftina si simpla solutie pentru transmisii live de video si sunet de scazut. Camere care folosesc Placi de Achizitie Video - sunt camere video analogice si placile folosesc diferite standarde specifice acestora - NTSC pentru SUA, PAL pentru Europa, etc. Camere care folosesc USB - se conecteaza prin portul USB la PC, si sunt cele mai raspandite in prezent. Permit atingerea unui framerate si a unei calitati a imaginii mai bune decat in cazul folosirii portului paralel. Camere care folosesc FireWire - se conecteaza prin portul FireWire la PC, si reprezinta solutia in cazul cand atat framerate-ul si calitatea ridicata sunt necesare . Permit atingerea unui framerate si a unei calitati a imaginii mai bune decat in cazul folosirii portului USB. Camere de Retea, care folosesc cabluri UTP - sunt camere speciale, folosite pentru transmiterea de imagini de la camere aflate foarte departe de PC, sau in locuri greu accesibile. Aceste camere sunt folosite cel mai adesea in supravegherea video si includ practic un calculator, ce are rolul de web server pentru stocarea achizitia si stocarea informatiilor si o placa de retea. Pentru conectarea la acest tip de camere se foloseste cablul UTP, care se conecteaza direct la camera, iar in procesul de configurare cadrul, in cadrul retelei, dispozitivului i-se aloca un ip.

4.8.3.2 Transferul PC - WEB - PC Odata transferata imaginea de la Camera Web la PC, exista doua modalitati de transmitere a datelor catre o pagina WEB: Sistemul FTP upload si sistemul Streaming Cam.
FTP Upload

Vom prezenta schematic functionarea acestei metode:

28

SISTEME DE INTRARE - IESIRE

1. Camera filmeaza continuu si transmite printr-o interfata la PC 2., 3. Softul preia cate o imagine la fiecare x secunde (de obicei 10, 20, 30) si o uploadeaza prin protocolul FTP (File Transfer Protocol) catre serverul WEB (deobicei si ISP-ul PC-ului unde este conectata camera) 4. Browserul preia la fiecare x secunde imaginea de pe server si o afiseaza. Exista doua modalitati uzuale pentru a realiza acest refresh in browser: Prin Meta Refresh, cea mai simpla solutie, dar refresh-ul se face pentru toata pagina Prin folosirea unui Applet Java, unde refresh-ul se face numai pentru imaginea deschisa de applet Streaming Cam

Vom prezenta schematic functionarea acestei metode:

29

Capitolul 4 - Echipamente de intrare - ieire Cand pagina Web este accesata, imaginea este transmisa catre IP-ul celui care a accesat pagina respective, printr-un port, direct de pe PC-ul la care este conectata Camera Web. Aceasta metoda permite transmiterea in timp real de imagini, dar sunt necesare conexiuni destul de rapide, pentru ca transmisia sa fie intr-adevar live. 4.8.3.3 Standarde de transmisie a datelor Dintre standardele video de transmisie cele mai utilizate in prezent pentru camerele web mentionam Streaming Video si Motion JPEG. Streaming Video - combina audio si video intr-un flux continuu de 10 sau 30 cadre/s si este folosit in transmisii de date pe latimi mari de banda. Motion JPEG - transmite numai imagini, folosind o succesiune rapida de cadre (imagini in format JPEG). In LAN-uri de mare viteza poate atinge maxim 30cadre/s, iar in internet intre 5 - 10 cadre/s.

30

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

  • Proiect DMDW
    Proiect DMDW
    Document22 pagini
    Proiect DMDW
    Manzareanu Andrei
    Încă nu există evaluări
  • Poezii Ateliere IDC
    Poezii Ateliere IDC
    Document4 pagini
    Poezii Ateliere IDC
    Manzareanu Andrei
    Încă nu există evaluări
  • Apc 2009
    Apc 2009
    Document228 pagini
    Apc 2009
    Manzareanu Andrei
    Încă nu există evaluări
  • Curs Apd Upg Paraschiv
    Curs Apd Upg Paraschiv
    Document206 pagini
    Curs Apd Upg Paraschiv
    fuqUPG
    100% (4)
  • PM Curs
    PM Curs
    Document42 pagini
    PM Curs
    Manzareanu Andrei
    Încă nu există evaluări
  • CV European
    CV European
    Document2 pagini
    CV European
    scribdanca
    Încă nu există evaluări
  • Tsi 1
    Tsi 1
    Document7 pagini
    Tsi 1
    Manzareanu Andrei
    Încă nu există evaluări