Tema ASC 1

14
Andrei Ion-Cristian Grupa 122B Comunicatia paralela CPU-Interfata- Imprimanta(PRN) 1. Nivele (configuratiei) implicate in comunicatia paralela La interfata paralela (portul paralel) care asigura legatura cu imprimanta registrele (pentru octect) sunt identificate printr-o anumita adresa, data in format HEXA (baza 16), fixata sau aflata intr-un anumit domeniu si au urmatoarele functii asa cum sunt descrise in TECH.exe (Index/parallel ports) 2. Elementele hardware (de circuit) necesare Un calculator personal este compus, din punct de vedere hardware, din urmatoarele: * unitatea centrala de procesare; * dispozitive de memorare; * dispozitive de intrare/iesire; * accesorii si o magistrala care leaga toate elementele componente si conecteaza sistemul la lumea exterioara. * Unitatea centrala de procesare: 1

description

tema asc politehnica

Transcript of Tema ASC 1

Page 1: Tema ASC 1

Andrei Ion-Cristian

Grupa 122B

Comunicatia paralela CPU-Interfata-Imprimanta(PRN)

1. Nivele (configuratiei) implicate in comunicatia paralela

La interfata paralela (portul paralel) care asigura legatura cu imprimanta registrele (pentru octect) sunt identificate printr-o anumita adresa, data in format HEXA (baza 16), fixata sau aflata intr-un anumit domeniu si au urmatoarele functii asa cum sunt descrise in TECH.exe (Index/parallel ports)

2. Elementele hardware (de circuit) necesare

Un calculator personal este compus, din punct de vedere hardware, din urmatoarele:* unitatea centrala de procesare;* dispozitive de memorare;* dispozitive de intrare/iesire;* accesorii si o magistrala care leaga toate elementele componente siconecteaza sistemul la lumea exterioara.

* Unitatea centrala de procesare:

Producatorii de calculatoare personale s-au dovedit extrem de conservatori: in decursul celor aproape 20 de ani care s-au scurs de la producerea primului IBM PC, cu o singura exceptie notabila, firmele au folosit ca CPU micro-procesoarele firmei Intel sau clone produse de concurenta, cum ar fi Advanced Micro Device, Cyrix, IDT etc. Conser-vatorismul consta nu numai in existenta catorva producatori ci, mai ales, in pastrarea setului de instructiuni initial care, cu exceptia unor mici completari, a ramas practic nemodificat pana astazi.

1

Page 2: Tema ASC 1

Cel mai puternic concurent al Intel, firma AMD produce o serie de microprocesoare, functional compatibile cu seria Pentium, cu codificarile K5, K6 si K7.Cele mai multe microprocesoare sunt alcatuite din patru blocuri functional:

-unitatea aritmetica si logica (ALU)- ofera procesorului abilitatile de calcul si realizeaza operatii aritmetice si logice;

-registrele - folosite pentru memorarea temporara a variabilelor, urmarirea fluxului instructiunilor si pastrarea locatiei de memorie si a rezultatelor acestor operatiuni;

-blocul de ccontrol - sincronizeaza intregul sisten, decodifica si transforma instructiunile in limbajul intern al CPU, analizeaza si trateaza evenimentele externe prin intermediul unui controler de intreruperi si stabileste cantitatea de timp alocata de unitatea centrala fiecarei instructiuni;magistrala interna si externa - asigura comunicarea interna a elementelor procesorului, precum si conectarea la celelalte elemente ale sistemului. Magistrala externa este formata din trei elemente:

-magistrala de control (semnale de selectie dispozitice, semnale de control)

-magistrala de adrese (magistrala unidirectionala care stabileste locul datelor din dispozitivele externe)

-magistrala de date (magistra bidirectional, prin intermediul in care se scriu/citesc date in memoriile si dispozitivele periferice externe).

*Dispozitive de memorare:

Sistemele de calcul pot pastra datele intern (in memoria interna) si extern (in dispozitivele de memorare):

Intern, instructiunile sau datele sunt pastrate in:

-memorii RAM (Random Access Memory - memorii cu acces aleatoriu sau memorii volatile). Acestea pot fi de tip static (SRAM, cu viteze foarte mari, cunoscute sub numele de memorie cache) sau dinamic (DRAM, formeaza principala memorie volatile a sistemului)

2

Page 3: Tema ASC 1

-memorii ROM (Read-Only Memory - memorii numai citire). Sunt memorii fixe, strict necesare calculatorului, folostie in special la initializarea si la programele de operare denumite BIOS. Unele calculatoare dispun de memorii FLASH pentru a permite modificarea programului BIOS;

* Dispozitive de intrare/iesire:

Sunt cea mai numeroasa familie, de cele mai multe ori fiind cele care pun probleme utilizatorilor neexperimentati.

Dispozitivele de intrare permit introducerea in calculator de date, programe, comenzi etc. Se pot include in categoria dispozitivelor de intrare: tastatura, mouse-ul (si echipamente-le echivalente), joy-stick-ul, scanner-ul, creionul optic, etc.

Dispozitivele de iesire permit utilizatorului sa controleze rezultatele produse de calculator. Cele mai obisnuite dispozitive de iesire sunt montiorul, imprimanta, soud blaster-u.

* Accesorii:

Printre dispozitivele sistemului de calcul descrise mai sus, unele sunt obligatorii, altele sunt optionale.

3. Conexiunile dintre acestea (pe magistrala & cablu PRN)

Topologia de magistrala este cea mai folosita atunci cand se realizeaza retele locale de mici dimensiuni, iar performantele nu trebuie sa fie spectaculoase. Acest model topologic se mai numeste si magistrala liniara, deoarece exista un singur cablu care leaga toate calculatoarele din retea. Avantajul este atat acela al costului mai scazut (se foloseste mai putin cablu), dar si acela ca, in cazul ruperii unui cablu sau defectarii unui calculator, nu se ajunge la oprirea intregii retele.

Elementele principale ale unui sistem care utilizeaza magistrala USB sunt dispozitivele USB, cablurile USB si programele de sistem. Dispozitivele de pe magistrala USB sunt conectate fizic la calculatorul gazda utilizand o topologie

3

Page 4: Tema ASC 1

sub forma de stea pe mai multe nivele, dupa cum se ilustreza in figura 1.

4. Functiile blocurilor: Gen.Intreruperi & Secv.de Intrerupere

Avem mai sus schema simplificata a unui microcontroler.

Ca intrări se folosesc de regulă semnale provenind de la comutatoarele individuale sau de la traductoare (de temperatură, de presiune, foto, traductoarespecializate). Intrările pot fi digitale sau analogice. Intrările digitalevehiculeazăsemnale discrete, informaţia "citită" fiind informaţia ce se eşantionează lamomentul citirii liniei respective. Intrările analogice vehiculează informaţii exprimabile prin funcţii continue de timp. "Citirea" acestora de către microcontroller presupune prezenţa unor circuite capabile să prelucreze aceste informaţii, fie comparatoare analogice, fie convertoare analog-numerice, ale căror ieşiri sunt citite de către MC.Ieşirile sunt fie analogice, caz în care reprezintă de fapt ieşiri ale convertoarelor numeric-analogice, fie sunt digitale, caz în care informaţia este în general memorată pe acestea până la o nouă scriere operată de către UC la un port.

4

Page 5: Tema ASC 1

Fiecare canal de captura poate genera opţional o întrerupere dacă se detectează la intrarea de captură frontul stabilit a fi activ.

Identificarea sursei generatoare de întrerupere se face prin corelaţia ce este stabilită între canalul de transfer al cererii, registrul/registrele de memorare al acesteia şi adresa de memorie la care este plasată adresa rutinei de servire a30 MICROCONTROLLERE întreruperilor sau prima instrucţiune a rutinei de servire a întreruperilor. Această situaţie este întâlnită la majoritatea microcontroller-elor, dar există şi excepţii, cum ar fi microcontroller-ele familiilor PIC "low range" şi "middle range" de la firma Microchip, la care orice cerere de întrerupere generează execuţia unei rutine al cărei început este plasat la o adresă unică, fixă de memorie.

5. Registrele CPU implicate (nume, rol, informatii stocate)

Un registru de procesor este o cantitate mică de spațiu de stocare disponibilă pe unitatea centrală de procesare, spațiu al cărui conținut poate fi accesat mai rapid decât datele aflate în altă parte.

Registrele sunt masurate in mod normal de numarul de biti care pot sustine, de ex: un registru de 8 biti sau un registru de 32 biti.

Registrele de utilizator accesibil - instructiuni care pot fi citite sau scrise de instructiuni masina.

Cel mai comun divizia de registre accesibile utilizatorului este în registrele de date și registre de adrese.

Registrul de date, bidirectional (Data Latch) in regim de scriere (Write) memoreaza si transmite un byte catre imprimanta, iar in regim de citire (Read), furnizeaza ultimult byte transmis. In regim bidirectional, furnizeaza datele citite de la un dispozitiv exterior.

Registrul de stare (Printer Status) si poate fi numai citit (Read-ony).

Registru de comanda (Printer Controls) are regim de citire/scriere (Read/Write).

Exceptand registrul de date, la celelalte registre bitii au semnificatii diferite, corespunzator starii sau comenzii date dispozitivului. Acestea au o strucutra de

5

Page 6: Tema ASC 1

cate 8 biti, care pot avea corespondenta cu pinii cuplei de imprimanta si au urmatoarea semnificatie:

b7 b6 b5 b4 b3 b2 b1 b0

7. Semnificatia bitilor registrului de comanda (RC)

Registrul de comenzi: Bitii 6 si 7 au valoarea 0.

Bitul 0 (Pin 1): Semnal de comanda pentru memorarea unui byte transmis (+Strobe);

Bitul 1 (Pin 14): Comanda saltul unei linii de tiparire (+AUTO Line Freed - LF aflter CR);

Bitul 2 (Pin 16):Semnal (negat) de Reset pentru imprimanta - initializarea tuturor comenzilor si indicatorilor de stare (-INIT);

Bitul 3 (Pin 17): Comanda de selectie (logica) a imprimantei, capabila sa comunice cu calculatorul (+SLCT IN);

Bitul 4: Activeaza sistemul de intreruperi al cuplorulu. Atunci cand este activ, este generat un semnal de intrerupere hardware catre procesor daca se activeaza indicatorul ACK (devine 0).

Bitul 5: Indica cuplorului sensul de transfer al datelor (0 - daca sunt transmise date imprimantei sau dispozitivului, 1 - daca sunt citite date).

Trebuie remarcat ca, in cazul interfetei paralele, odata ce legatura logica este stabilita si nu sunt situatii de eroare, transferul datelor la imprimanta se ace caracter cu caracter, folosind pentru sincronizare semnalele ACK, BUSY si STROBE.

8. Semnificatia bitilor registrului de stare (RS)

Registrul de stare. Bitii 0, 1, 2 au valoarea 0.

Bitul 3 (Pin 15): Indicator de eroare negat (-ERROR) - ia valoarea 0 in cazul unei erori de transmisie;

6

Page 7: Tema ASC 1

Bitul 4 (Pin 13):Imprimanta este selectata, deci activa "logic" si poate comunica cu calculatorul;

Bitul 5 (Pin 12):Indica lipsa hartiei, luand valoarea "1" (+PE-paper out).

Bitul 6 (Pin 10): Indicator (negat) de disponibilitate pentru preluarea codului unui caracter(-ACK-acknowledge, ready for next character);

Bitul 7 (Pin 11):Indicator (negat) de stare ocupata, cand nu poate fi preluat un nou caracter, sau imprimanta inactiva logic, nepornita sau cumplata (-BUSY or off-line error).

9. Semnale la conectorul PRN

Prin implementările ulterioare ale portului paralel, anumiţi producători, ca IBM cu portul paralel al calculatoarelor PS/2, au adăugat posibilitatea de a dezactiva driverele utilizate pentru liniile de date, permiţând registrului de date să devină un registru de intrare. Aceasta permite unui periferic să transmită un octet întreg de date într-un singur ciclu de transfer prinutilizarea celor 8 linii de date, spre deosebire de cele două cicluri necesare în modul “Nibble”.

Prin utilizarea modului de transfer pe octet pentru transferurile pe canalul invers sepot obţine rate de transfer de la periferic la calculator apropiate de cele ale modului de compatibilitate, de la calculator la periferic. Acest tip de port este denumit uneori “port bidirecţional îmbunătăţit”, creând anumite confuzii cu portul paralel îmbunătăţit EPP (Enhanced Parallel Port).

Protocolul ECP pune la dispoziţie următoarele tipuri de cicluri atât în sens direct, cât şi în sens invers:

1. Cicluri de date

2. Cicluri de comenzi

HostClk (nStrobe). Dacă este în starea logică 0, indică perifericului faptul că liniile de date conţin informatii Este utilizat împreună cu semnalul PeriphAck pentru transferul datelor sau adreselorHostAck (nAutoFd)

Este utilizat împreună cu semnalul PeriphClk pentru transferul datelor în sens invers. Atunci când perifericul dezactivează semnalul PeriphClk, calculatorul răspunde prin activarea semnalului HostAck.

7

Page 8: Tema ASC 1

1284Active (nSelectIn). Pe durata modului ECP, este setat la 1 logic de calculator. Poate fi setat la 0 logic de calculator pentru terminarea modului ECP şi revenirea în modul de compatibilitate.

nReverseRequest (inInit) Este activat de calculator pentru selectarea sensului invers al canalului. Starea activă a semnalului indică perifericului faptul că poate utiliza liniile de date pentru a transfera date la calculator, dacă semnalul 1284Active este în starea logică 1.

PeriphClk (nAck) . Este utilizat împreună cu semnalul HostAck pentru transferul datelor în sens invers. Pentru începerea unui astfel de transfer, perifericulplasează datele pe liniile de date, după care semnalează calculatorului faptul că datele sunt valide prin trecerea semnalului PeriphClk în starea logică 0.

PeriphAck (Busy) . Este utilizat împreună cu semnalul HostClk pentru transferul datelor sau adreselor în sens direct. După ce calculatorul depune datele pe liniile de date şi trece semnalul HostClk în starea logică 0, perifericul confirmă detectarea acestui semnal prin activarea semnalului PeriphAck. Ca răspuns, calculatorul activează semnalul HostClk. Perifericul citeşte datele de pe liniile de date şi dezactivează apoi semnalul PeriphAck, ceea ce termină ciclul de transfer. Semnalul PeriphAck este utilizat şi la transferul în sens invers, indicând tipul informaţiilor de pe liniile de date (comenzi sau date).

10. Conditiile necesare inceperii dialogului CPU-PRN (intreruperi int & ext)

- Datele trebuie sa fie stabilite inaintea aparitiei semnalului STROBE generat de interfata;

- Semnalul STROBE comanda memorarea datelor; Imediat dupa receptia semnalului de STROBe imprimanda raspunde cu semnalul BUSY ca sa impiedice transmisia a inca unui caracter, inainte ca registrul de date sa fie disponibil/

- Dupa ce datele au fost utilizare, imprimanta anunta prin semnalul ACK ca pe liniile de date poate fi trimis codul caracterului, urmator;

8

Page 9: Tema ASC 1

- La scurt timp dupa activarea semnalului ACK, semnalul BUSY revine la starea initiala (inactiva).

11. Conditiile necesare transferului unui caracter (continutul reg.CPU)

Porturile paralele care pot funcţiona în modurile PS/2, EPP sau ECP dispun de linii de date bidirecţionale, astfel că acestea se pot utiliza pentru transferuri mai rapide între două calculatoare. Portul paralel a fost însă conceput pentru legătura dintre un calculator şi un periferic.n cazul calculatorului, liniile de date şi de control ale portului reprezintă ieşiri, iar liniile de stare reprezintă intrări. În cazul perifericului, liniile de date şi de control reprezintă intrari, iar liniile de stare reprezintă ieşiri. Dacă trebuie conectate două calculatoare prin porturile paralele, este necesar un cablu special care conectează intrările unui port cu ieşirile celui de-al doilea port. O problemă care apare este că starea implicită a liniilor de date ale ambelor calculatoare este cea de ieşire. Dacă se conectează liniile de date ale două porturi, se conectează ieşirile împreuna, iar curentul rezultat poate distruge circuitele porturilor. O posibilitate este de a se conecta cablul doar după ce unul din porturi a fost configurat pentru intrare. Se poate utiliza un comutator electronic care va conecta liniile de date numai la cererea programului.

13. Rolul semnalelor IRQ & IAQ.

Plaseaza mult mai repede comenzile venite din exterior catre CPU.

17. Secventa de transfer a unui caracter intre CPU & Cuplor

Intructiunile de transfer au structura cea mai simpla. In baza de informatii TECH.exe (Data Transfer Instructions) este data lista instructiunilor de transfer, explicatia acestora si actiunea asupra operanzilor. De ex instructiunea: "MOV dest, src" realizeaza registre sau locatii de memorie, conform cu mecanismele de adresare. De exemplu, "mov ax, 1h'' realizeaza transferul valorii constante "1", reprezentata in forma hexazecimala (baza 16) in registrul AX.

Asa cum se observa din lista furnizata de "TECH.exe", actiunea unei instructiuni de transfer si tipul operanzilor pot fi diferite.

9

Page 10: Tema ASC 1

10