Sunteți pe pagina 1din 7

Lucrarea 5.

CIRCUITE DE INTERFATĂ ALE


CALCULATORULUI

Autor: Elev Panaite M. Ştefan


Prof.coordonator :Prisacariu Georgeta
Colegiul Tehnic de Căi Ferate ,,Unirea,,Paşcani

Conform concepţiei clasice,un sistem de calcul se compune din unitatea centrală de


prelucrare,memorie şi dispozitive de intrare/ieşire. Dispozitivele de intrare/ieşire,adesea numite
şi echipamente periferice,au în general o structură proprie şi independentă de structura
calculatorului la care se conectează(ex.:disc magnetic,imprimanta,plotter,mouse,ecran etc.).
Cuplarea acestor echipamente la un sistem de calcul presupune adaptarea semnalelor specifice
fiecarui echipament la semnalele de pe magistrală şi reglarea fluxului de date între calculator şi
periferice.
Rolul interfeţelor de intrare/ieşire este de a adapta particularităţile unui dispozitiv de
intrare/ieşire la cerinţele unui anumit sistem de calcul. Din acest punct de vedere o interfaţă are
doua părţi:
 parte care este adaptată la semnalele şi modul de funcţionare al magistralei;
 a doua parte, care este adaptata la particularităţile funcţionale ale dispozitivului periferic.
Prima parte conţine registre de intrare/ieşire (porturi) pentru date,comenzi şi stare,direct
adresabile de către procesor. A doua parte este responsabilă pentru generarea semnalelor de
comandă şi achiziţia semnalelor de stare specifice unui anumit tip de dispozitiv periferic
(ex.:disc,imprimanta,mouse,etc.). Structura acestei părţi difera mult în funcţie de tipul
dispozitivului periferic.
O interfaţă de intrare/ieşire conţine următoarele elemente:
 registre de date(de intrare şi/sau ieşire;
 registre de comenzi;
 registre de stare;
 bloc de selecţie a registrelor (decodificator);
 dispozitiv de comanda.
O interfaţă poate asigura transferul de date într-un singur sens sau în ambele sensuri. Pot exista
una sau mai multe căi(canale) de intrare,de ieşire sau bidirecţionale. Pentru fiecare canal şi sens
se alocă câte un port (registru) de date care ocupa o anumita adresă în spaţiul de intrare/ieşire al
procesorului.
Registrele de comenzi au rolul de a genera semnale de comandă specifice pentru un anumit
echipament periferic (ex.:pentru unitatea de de disc-selecţie cap de citire,selecţie unitate,activare
scriere etc.). Prin registrele de comandă pot fi selectate modurile de lucru ale interfeţei sau se pot
fixa parametrii de transfer (ex.:transfer pe octet sau pe bloc,frecvenţa de transmisie,formatul
datelor transmise,etc.)
Registrele de stare oferă informaţii despre starea dispozitivului periferic şi a interfeţei (ex :
dispozitiv ocupat,defect,dată recepţionata,registru de ieşire gol, etc.). Aceste informaţii sunt
testate in timpul programului , pentru detectarea eventualelor defecte sau erori de transfer şi
pentru reglarea vitezei de transfer.
Blocul de selecţie generează semnalele de validare a porturilor pentru citire sau scriere. Pentru
selecţie se utilizează semnalele de adresă şi semnalele de comandă pentru citire/scriere periferic
(ex : IOR\,IOW la familia Intel).
In cazul unor interfeţe mai complexe se poate utiliza un dispozitiv de comandă (combinaţional
sau secvenţial), care controlează funcţionarea celorlalte componente ale interfeţei. Exemple de
astfel : controlor de disc flexibil (I8272),controlor DMA(I8237) etc.Uneori o interfaţă poate să
conţină şi o memorie de tip ROM sau RAM.Memoria ROM este destinată pentru pastrarea
‘’driver-ului’’ de interfaţă.
Driver-ul este identificat la iniţializarea sistemului şi este inclus în rutinele de sistem ale
sistemului de operare. Memoria RAM se utilizează ca un tampon între dispozitivul periferic şi
memoria principală. O astfel de memorie este necesară în cazul in care fluxul de date este relativ
mare şi este dificilă sincronizarea echipamentului periferic cu frecventa de transfer de pe
magistrală(ex : interfaţa de disc rigid sau interfaţa video).
Funcţia principală a unei interfeţe de intrare/ieşire este transferul de date. In funcţie de gradul de
implicare a unităţii centrale de prelucrare(UCP),transferul se poate realiza în mai multe moduri :
 transfer prin program ;
 transfer prin întreruperi ;
 transfer prin acces direct la memorie (DMA –Direct Memory Access) ;
 transfer prin procesor de intrare/ieşire.
Alegerea modului de transfer,optim pentru o anumita interfata,depinde de o serie de factori :
 viteza de transfer a dispozitivului periferic la care se conecteaza ;
 complexitatea dispozitivului periferic ;
 restrictii de cost si timp de realizare.
Structura şi modul de funcţionare al interfeţei depind de modul de transfer adoptat.

MODURI DE TRANSFER

1.Transter prin program


Transferul prin program este cel mai simplu, dar şi cel mai puţin eficient mod de transfer. La
transferul prin program,UCP se implică total în efectuarea transferului..
Un transfer de date are trei faze:
 initializarea transferului ;
 transferul efectiv de date ;
 verificarea terminarii transferului si a corectitudinii acestuia.
In cazul transferului prin program UCP controleaza direct toate fazele transferului prin
intermediul unui program(rutina de intrare/iesire)
Initializarea transferuluiconsta in fixarea adresei portului de intrare sau de iesire, stabilirea
adresei de inceput a zonei de memorie unde/de undeare loc transferul,initializarea unui contor cu
numarul de cuvinte care se transfera si stabilirea sensului de transfer.
Transferul efectiv de date constă in cicluri de transfer UCP – memorie şi UCP- porturi de
intrare/ieşire prin care datele ajung din memorie la un port de iesire sau de la un port de intrare
in memorie. Pe parcursul transferului UCP trebuie sa se adapteze la viteza de lucru a
dispozitivului periferic ( care in general este mai mica decat viteza UCP), sau cu alte cuvinte
trebuie sa se sincronizeze cu functionarea acestuia. De exemplu,daca se doreste tiparireaunui text
existent in memoria calculatorului, UCP va transmite catre imprimanta caractere in ritmul in care
imprimanta poate sa le tipareasca.

2. Transfer prin intreruperi


Transferul prin intreruperi elimina o o parte din neajunsurile transferului prin program. In acest
mod de transfer unitatea centrala nu trebuie sa astepte intre doua transferuri consecutive; acest
timp se poate utiliza pentru executia altor srcvrnte de program concurente.
Intreruperea reprezinta oprire temporara a executiei unui program, la comanda unui semnal
extern sau a unui eveniment intern si executia unui program specific de tratare a intreruperii.
Dupadeservirea intreruperii programul se reia din punctul intrerupt.
Sistemul de întreruperi permite unităţii centrale sincronizarea cu anumite evenimente
externe,detectarea rapidă a unor situaţii anormale şi tratarea pe baza de priorităţi a unor sarcini
paralele.
In cazul transferului prin întreruperi UCP este eliberată de sarcina citirii periodice a semnalelor
de stare a interfeţei. Transferul de date se realizează de catre UCP printr-o rutină de
întrerupere,activată de un semnal extern. In cazul în care mai multe întreruperi ajung simultan la
UCP acestea vor fi tratate pe baza unor priorităţi prestabilite. Anumite întreruperi pot fi temporar
invalidate.
Transferul de date prin întreruperi se realizează în mai multi paşi. In faza de iniţializare trebuie
să se plaseze într-o tabelă de întreruperi adresa rutinei de întrerupere şi se validează nivelul de
întrerupere cu care se lucrează.
Transferul efectiv de date se realizeaza prin intermediul rutinei de tratare a întreruperii, care se
activează pentru fiecare dată în parte. Rutina va verifica şi condiţia de terminare a transferului.
La încheierea transferului nivelul de întrerupere este dezactivat.

3. Transfer prin acces direct la memorie


(DMA – Direct Memory Acces)
Accesul direct la memorie presupune un transfer de date între memoria principală a unui
calculator şi un dispozitiv periferic fără intervenţia directa a UCP. Prin aceasta metodă se
urmăreşte creşterea vitezei de transfer şi eliberarea UCP de sarcinile legate de transferul efectiv
al datelor. Această metodă de transfer necesită un circuit specializat, denumit controlor DMA,
care are posibilitatea de a prelua controlul magistralei sistem în vederea efectuării transferului.
Ca şi în cazurile anterioare,un transfer DMA constă în mai multe faze:
 iniţializarea transferului;
 transferul efectiv de date;
 verificarea terminării şi a corectitudinii transferului.
In faza de iniţializare, UCP înscrie în registrele interne ale controlorului DMA, adresa de inceput
a blocului de memorie indicat in transfer, numarul de octeti transferati,fixeaza sensul de transfer
precum si alte detalii cu privire la modul de desfăşrare a transferului. Urmează apoi faza de
transfer propriu-zis, care presupune mai multe cicluri de transfer sub controlul circuitului DMA.
In cadrul unui ciclu se transferă un cuvant de date.

4. Transferul prin procesor de intrare/ieşire


Metodele de transfer menţionate în paragrafele anterioare au presupus diferite grade de implicare
ale UCP în transferul datelor între memorie şi dispozitivele periferice. Transferul prin procesor
de intrare/ieşire oferă unităţii centrale cel mai mare grad de libertate. Majoritatea sarcinilor legate
de transfer sunt preluate de către o alta unitate de tip procesor. Comunicaţia dintre UCP şi
procesorul de intrare/ieşire se face la nivelul unor comenzi generale şi a unor cuvinte de stare.
Detaliile legate de transferurile de date nu privesc unitatea centrala. Acestea sunt implementate
prin rutine specifice ale procesorului de intrare/ieşire. Pentru operaţii de intrare/ieşire se pot
folosi fie procesoare de intrare/ieşire specializate care au o structură internă şi un set de
instrucţiuni adaptat acestor tipuri de operaţii (ex: 8089 din familia Intel) fie procesoare de uz
general (ex: Z80,8031,8048)
Procesoarele de intrare/ieşire dispun de obicei de o memorie şi de o magistrală locală proprie.
Astfel unitatea centrala nu este blocată pe durata execuţiei unui program de transfer.
Accseul procesorului de intrare/ieşire la memoria principala se poate face printr-un mecanism
similar transferului DMA. Se pot folosi semnale de cerere/acceptare a cererii magistralei
(HOLD,HOLDA). In cazul în care magistrala sistemului este de tip multimaster,atunci
procesorul de intrare/iesire va folosi semnalele de arbitrare pentru a caştiga dreptul de acces pe
magistrala.
Transferul prin procesor de intrare/ieşire ofera o mai mare flexibilitateîin manipularea datelor.
Utilizarea acestui mod de transfer se recomandă în cazul unor echipamente periferice
complexe,care au o mare viteză de transfer. Implementarea unei interfeţe cu procesor de
intrare/ieşire este în general mai dificilă deoarece este necesar un protocol de comunicaţie între
procesorul central şi cel de intrare/ieşire.

TIPURI DE INTERFEŢE
Interfaţa pentru transferul programat de intrare/ieşire conectează dispozitivele periferice la
magistrala de date ,adrese şi control.Rolul acesteia este de a permite implementarea celei mai
simple tehnici de comunicare între microprocesor şi dispozitivele periferice ; tehnica constă în
determinarea dispozitivului periferic care va cere in momentul imediat urmator,execuţia unui
proces de intrare/ieşire.Practic,tehnica constă în interogarea periodică a fiecărei interfeţ conectate
la magistrala asupra solicitarii unui proces de intrare-iesire.Dacă un dispozitiv periferic a solicitat
iniţierea unui astfel de proces ,acesta este iniţiat;in caz contrar microprocesorul trece la
interogarea următorului dispozitiv periferic;operaţia este executată ciclic.Interogarea realizează
de fapt ,testarea unui indicator de condiţie din interfaţa în funcţie de care se iniţiază sau nu
transferul de date. Comenzile necesare modului de funcţionare sunt transmise de
microprocesor în urma decodificării unui program.
Alte funcţii îndeplinite de interfaţă :
 conversia datelor recepţionate de pe magistrală ,într-o formă acceptat de dispozitivul
periferic şi invers;
 verificarea corectitudinii datelor utilizand bitul de paritate.

INTERFAŢA UNITĂŢII DE DISC FLEXIBIL.CONTROLERE


Interfaţa FDD-ului asigura conectarea FDD la ansamblul componentelor PC-ului pentru a fi
funcţională. Portul adaptor de FDD admite conectarea a doua FDD de 3,5” sau o unitate de 5,25”
si una de 3,5” la variantele mai vechi; unităţile pot fi montate şi în cascadă (daisy chain) printr-
un cablu de legătură.
FDD-ele dispun de blocuri selectoare ce se configureaza pentru a selecta numărul unităţii.
Având o descriere a componentei unei FDD,se va urmări în configurare modul de funcţionare a
unităţii,insistând asupra controlerelor de FD care au ca rol principal convertirea comenzilor
BIOS si a semnalelor emise/recepţionate. Atunci când se solicita înregistrarea datelor pe un FD
se executa o aplicaţie ce utilizeaza FD-ul,nu se face direct legatura cu FDD. Operaţia de
intrare/ieşire solicitată este detectată de componenta hardware şi recunoscuta de BIOS, printr-o
întrerupere.
La rândul sau,BIOS-ul trimite un cod corespunzator aplicaţiei care a solicitat accesul; în acest
moment ,aplicaţia face una sau mai multe cereri către sistemul de operare pentru scrierea sau
citirea înregistrarilor de FD. Sistemul de operare trimite instrucţiunile catre BIOS, care trimite
codul portului la controlerul de FD; controlerul va indica FDD-ului unde sa deplaseze capetele
de citire/scriere si ce operatie sa execute odata localizata adresa. Controlerul FDD-ului are doua
functii principale: conversia comenzilor generate de BIOS in semnale ce controleaza FDD si
conversia semnalelor generate de capetele de citire/scriere intr-o forma inteleasa de celelelte
componente ale PC-ului.

INTERFAŢA PENTRU CONTROL MAGISTRALE


Programul de interogare prezent anterior,care are dezavantajul unui timp suplimentar necesitat
pentru testarea ciclica a solicitărilor de procese de intrare/ieşire,poate fi inlocuit cu
implementarea aceloraşi funcţii prin hardware,iniţiativa în controlul îndeplinirii sarcinilor
revenind interfeţei şi nu microprocesorului.Aceasta conduce evident,la sporirea vitezei în
executare funcţiilor.

CONTROLER DE ACCES DIRECT LA MEMORIE


Controlerul de acces direct la memorie are rolul de a efectua în mod automat transferul de date
între memoria interna şi un dispozitiv periferic de intrare/ieşire,utilizând implementare prin
hardware.

INTERFAŢA FIZICĂ IEEE-1284


Standardul IEEE-1284 pentru portul paralel vizează semnalele ce străbat legaturile interfeţei
paralele;el stabileşte relaţia dintre semnale şi timpul de acces,cuprinzând datele ce se
transferă,protocoalele de comunicaţie şi controlul sistemului ce produce semnalele.Portul este
pus în funcţiune de conector ce apare ca manifestare fizică a portului singura parte tangibila a
interfeţei fizice.
Din cele 25 de contacte ale portului paralel,17 sunt utilizate pentru transferul datelor şi control
,iar opt sunt pentru împământare;definirea semnalului pentru fiecare pin depinde de modul de
operare al portului.Modificarea definirii produce schimbarea protocolului,respectiv a semnalului
care mediază fiecare transfer,schimbarea modului de operare este negociată între PC şi
dispozitivele periferice conectate la portul paralel Există următoarele moduri de operare la
nivelul interfeţei paralele:
 modul compatibil
 modul nibble
 modul byte
 modul epp
 modul ecp

INTERFAŢA LOGICĂ
Toate porturile paralele ,indiferent de viteză,tehnologie sau modul de operare trebuie să
interfereze cu PC-ul ,cu sistemul de operare şi cu diferite aplicaţii.Incă de la apariţia primului PC
circuitele porturilor paralele erau legate la microprocesor printr-un set de porturi de
intrare/ieşire.Un port I/O lucrează ca o adresă de memorie-semnalul microprocesorului adresează
suportul de circuite a PC-ului ,apoi trimite date la acea adresă.Porturile paralele folosesc trei
tipuri din porturile I/O în timp ce modurile EPP si ECP folosesc mai multe porturi I/O,acestea
iau forma unui bloc secvenţial. La PC-urle compatibile IBM se folosesc trei porturi
paralele a căror adrese de bază sunt: 03BC(HEX).0378(HEX)valori care nu sunt necesare
utilizatorilor.Cele mai multe programe şi sisteme de operare se referă la porturile paralele prin
nume de forma LinePrinTER LPT1,LPT2,LPT3.Corespondenţa dintre adresele de bază ale
porturilor paralele şi numele lor variază în funcţie de numărul de porturi din PC,neexistând o
relaţie directă între ele.Sistemul stabileşte numele când este încărcat,prin biosul PC-ului.BIOS-ul
memorează valorile adresei de bază într-o zonă de memorie specială astfel:Lpt1 la 0000:0408.

INTERFEŢE ELECTRICE
Problema comunicaţiei de post
Transmisia datelor iître doua echipamente de calcul se poate realiza prin intermediul
transferului serial sau paralel. Ca exemplu, în cazul unui microprocesor de opt biţi, transmisia
paralela a datelor înseamna utilizarea a opt cabluri electrice pentru vehicularea informaţiei. Dacă
se utilizează tehnica transmisiei seriale, datele şi biţii de control sunt grupate în caractere şi sunt
transmise secvenţial pe unul si acelaşi circuit. Deşi transmisia paralela este mai rapidă ea are
dezavantajul de a fi considerabil mai scumpă şi, în consecinţă, se utilizează numai pentru distanţe
scurte. Din cauza cablurilor electrice, atât la emiţător cât şi la receptor este nevoie să existe
dispozitive de interfaţă electrica: la emiţător circuitele de interfaţă electrică vor realiza conversia
semnalelor TTL în semnale care să permită realizarea transmisiei, iar la receptor circuitele de
interfaţă vor efectua conversia inversa (de la semnalul recepţionat în nivel TTL). In cazul
transmisiei paralele a datelor astfel de circuite trebuie asigurate pentru fiecare fir ceea ce conduce
la costuri de realizarea mai mari. Iata de ce transferul paralel al datelor este utilizat numai pentru
distante scurte si rate ridicate de transmisie a datelor.
Exista trei moduri posibile pentru efectuarea transmisiei seriale a datelor:
 simplex - datele sunt transmise intotdeauna in acelasi sens
 semiduplex - datele pot fi transmise in ambele sensuri, alternativ
 duplex - datele sunt transmise simultan in ambele sensuri; aceasta necesita existenta a
doua canale de comunicatie.

Interfeţe electrice pentru transmisia la distanţă


In cazul unor distanţe de transmisie reduse (sub un metru), porţile TTL standard pot
asigura transmisia semnalului. Lucrurile se schimbă daca distanţa dintre emiţător şi receptor
creşte. Existenţa zgomotului în canalul pe care se face transmisia, poate conduce la coruperea
datelor şi implicit la erori de transmisie. Trebuie menţionat şi faptul că nivelul redus al
semnalelor pentru 0 şi 1 logic furnizat de circuitele TTL sporeşte riscul coruperii datelor.
Din aceste motive, între echipamentul de calcul şi linie se intercalează un circuit de
interfaţă electrică. La emisie, circuitul de interfaţă electrică realizează conversia semnalelor TTL
în nivele electrice care să permită efectuarea transmisiei pe linii lungi, iar la recepţie se
realizează conversia inversă, din semnalul recepţionat în nivele TTL utilizabile în echipamentul
de calcul.
Schema bloc a legăturii seriale prin intermediul circuitelor de interfaţă electrică este următoarea:
BIBLIOGRAFIE
1. Liviu Mihai – redactor revista “Go4it!”
2. Wikipedia – Enciclopedia libera on-line
3. www.chip.ro
4. www.pcworld.ro
5. www.price.ro
6. www.pcmagazine.ro

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