Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Meseria se fura, ingineria se invata.Telecomunicatii, comunicatiile la distanta, Retele de, telefonie, VOIP, TV, satelit




Aeronautica Comunicatii Constructii Electronica Navigatie Pompieri
Tehnica mecanica

Electronica


Index » inginerie » Electronica
» Dispozitive de comanda microprogramate


Dispozitive de comanda microprogramate


DISPOZITIVE DE COMANDA MICROPROGRAMATE

Executia unui program consta in executia secventiala a instructiunilor sale. Pe de alta parte, executia unei instructiuni consta in executia secventiala a microoperatiilor componente. In conculzie, in anumite conditii, proiectarea unui program poate semana cu proiectarea dispozitivului de comanda. Pt a exploata aceasta posibilitate de asemanare a strategiilor de proiectare la cele doua nivele, se codifica microoperatiilor ce compun microprogramul asociat unei instructiuni si se depun intr-o memorie fixa (ROM) numita memorie de comanda. In aceasta memorie de comanda exista mai multe microprograme, si anume: cate unul asociat fiecarei instructiuni. Pt aducerea secventiala din memoria de comanda a tuturor microinstructiunilor corespunzatoare microprogramului current este necesar un dispozitiv de secventiere. Adresa urmatoarei microinstructiuni se obtine prin una din urmatoarele modalitati: 1. generare directa - pe baza codului instructiei se obtine adresa primei instructiuni a unui microprogram. 2. incrementare. 3. salt condi'ionat sau neconditionat. 4. utilizarea unei stive. Avantajele microprogramarii constau in: 1. Sistematizarea proiectarii dispozitivului de comanda. 2. Flexibilitatea generala a sistemului ce deriva din faptul ca schimbarea continutului microprogramelor duce la schimbarea setului de instructiuni a calculatorului.



ORGANIZAREA MEMORIEI DE MICROPROGRAM

Poate fi realizata: 1. cu un cuvant microinstructiune pe adresa. 2. cu doua sau mai multe cuvinte micro instructiune pe adresa, situatie cand cu un singur acces la memoria de comanda se aduc mai multe microinstructiuni. Memoria de microprogramare poate fi: 1. Cu organizare pe blocuri. Pt adresarea acestora se utilizeaza notiunea de microadresa ce inlocuieste notiunea de adresa utilizata pt adresarea memoriei sistemului de calcul. Aceasta organizare implica existenta a doua categorii de microadrese: scurte si lungi. Mircroadresele scurte se refera la microinstruciunile din acelasi bloc cu ultima microinstruciune utilizata. Microadresele lungi se refera la microinstructiuni din alte blocuri decat cel current. 2. Cu memorie divizata. Exista 2 tipuri de cuvinte: scurte si lungi. Restul calculatorului reprezinta resursele hardware ale calculatorului. Microinstruciunile scurte comanda o singura resursa hard pe cand cu cuvinte lungi se comanda mai multe resurse hard simultan.

CLASIFICAREA TIPURILOR DE MICROPROGRAME

1. In fctie de organizarea cuv microinstructie distingen: a) microprogramare pe verticala, (micr. Software) cand se utilizeaza microinstructiuni relativ scurte (12-24 cifre binare). Cu o microinstructiune se comanda o singura resursa hard. b) microprog pe orizontala (micr. Hardware) se caracterizeaza prin faptul ca prin campuri diferite ale cuvantului microinstructie se comanda resurse diferite. C) microprogramare pe diagonala prezinta o lungime a cuvintelor microinstruciune cuprinsa intre 24cifre binare si 64 c.b 2. Gradul de codificare a microinstructiilor. A) fara codificare-cand un bit genereaza o comanda. De obicei cu o instructiune se genereaza mai multe comenzi. B) cu codificare pe un nivel-corespunde situatiei cand campuri diferite ale cuvantului microinstructiune constin coduri pt comanda unor resurse hard mutual exclusive. C) cu codificare pe 2 sau mai multe nivele Exista 2 variante 1. bit steering(dirijarea bitilor). 2. format shifting (cu comutare de format) in care formatul microinstructiei este variabil si este functie de starea masinii. 3. Dupa tipul comenzii a) comanda directa corespunde situatiei cand continutul cuvantului microinstructie comanda direct resursele. Se caracterizeaza prin faptul ca nu exista elemente de memorare pe parcurs. B) comanda reziduala corespunde situatiei cand continutul cuvantului microinstructie nu comanda direct resursele, ci comanda se face prin intermediul unor register.

STRUCTURA PROPUSA DE WILKES RCI- blocuri componente: RCI-registru codului instructie, CC-convertor de cod, transforma codul instructie in codul microadresei de inceput al microprogramului correspondent, MUX-multiplexor, N-numarator ce genereaza la iesire microadresa curenta, uAD-microadresa curenta, DCD-decodificator(pe unul sau 2 nivele), uDCL-microdispozitiv de comanda local (cablat).

COMUNICATIA LOCALA. Variatele componente (CPU-uri, IOP-uri sau dispozitive periferice) ale unor sisteme de calcul sunt interconectate prin retele de comutare, referite ca si BUS. In acest context, termenul de BUS se refera la: caile de comunicatie intre componentele sistemului, mecanismele pt controlul accesului la aceste cai, supervizarea schimbului de semnale ce asigura compunicarea. Comunicare intre diferitele componente de la nivelul procesorului prezinta anumite probleme: 1. distanta implicata face, de cele mai multe ori, impracticabila folosirea unui tact comun pt sincronizare. De exemplu daca un semnal de tact cu o perioada de 100ns este transmis la un dispozitiv la o distanta de 100m semanlul nu va fi primir decat cu aprox 330ns mai tarziu acesta considerand ca el parcurge distanta cu viteza luminii. Faptul ca diferitele componente de la nivelul procesorului proceseaza date la rate diferite, sugereaza ca circuitele lor de sincronizare sa fie independente. 2. O a doua problema consta in determinarea numarului si a tipului de semnale ce vor fi folosite pt comunicarea intra-sistem. O componenta system prezenta pt exterior un set de date si de linii de control ce se utilizeaza pt conectarea ei cu celelalte componente. Specificarea acestor linii sau magistrale precum si a semnalelor pe care le transporta constituie interfata dispozitivului.

COMUNICATIA LA LUNGA DISTANTA Au fost proiectate o serie de siteme la care partile componente sunt dispuse la distante mari. Un exemplu este o retea cu partajarea timpului (time sharing) utilizata pt serviciile de rezervare a locurilor pt liniile aeriene ce conecteaza printr-o retea publica de telefonia mai multe terminale utilizator la un system central. Dispozitivul numit concentrator e de fpt un computer specializat ce realizeaza conectarea la lunga distanta prin calea unica a userilor la sistemul izolat. El permite accesul utilizatorilor la system prin utilizarea unui apel local de telefonie evitand necesitatea utilizarii apelurilor la lunga distanta. Sper deosebire de comnicatia locala, la cea la distanta serializarea se face la nivel de bit de informatie, iar transmisis pt a fi eficienta se realizeaza la nivel de mesaje.

CONTROLUL MAGISTRALELOR Problemele comunicatiei prin intermediul magistralelor locale sunt: 1. Baza de timp utilizata pt transferurile de informatie la nivelul magistralei. Deosebim in acest sens 2 cazuri de comunicatie. -Comunicatie sincrona implica ca fiecare transfer la nivelul magistralei sa se faca pe perioade de timp ce sunt cunoscute in avans atat de sursa cat si de destinatie. Mecanismele de timp ale celor 2 unitati trebuiesc sa fie sincronizate. Sincronizarea se realizeaza prin controlul celor 2 unitati prin intermediul unui generator de tact comun sau ca si alternativa se poate utiliza cate un generator propriu pt fiecare unitate, avand aceeasi frecventa, cele 2 generatoare trebuiesc insa sincronizate periodic prin intermediul unor semanle de sincronizare. Comunicatia sincrona are dezavantajul ca durata transferurilor este impusa de unitatea cea mai lenta a sistemului. Comunicatie asincrona implica utilizarea pt fiecare termen transferat a unui semnal separate ce ii indica prezenta unitatii destinatie, care la randul ei poate semnala preluarea datelor prin controlul unei alte linii de control. Aceasta flexibilitate a ratelor de tranfer associate acestei comunicatii complica insa circuitul de control al magistralei. 2. Procesul de selectie pe baza caruia un dispozitiv obtine accesul la magistrala. Liniile care constituie o magistrala de comunicare pot fi clasificate in 3 grupe functionale: linii de date, linii de adrese si linii de control. Liniile de date sunt proiectate pt a transmite in paralel toti bitii unui cuvant de n biti, de aceea ele se compun fie din 2 seturi a n linii unidirectionale, fie dintr-un singur set a n linii bidirectionale. Liniile de adrese sunt folosite pt a identifica o unitate sau o parte a acesteia pt a fi folosita in tranferul de date si deci pt a avea acces la magistala de date. Liniile de date pot fi folosite si ele pt a tranfera adrese nu numai date. Liniile magistralei de control sunt folosite pt a tranfera semnale de timp si informatii despre starea unitatilor din sitem. Ele pot fi folosite de asemenea pt a indica tipul informatiilot prezente pe liniile de date.

COMUNICATIA SINCRONA SAU ASINCRONA (vezi controlul magistralelor) Semnalul CLOCK cu perioada T serveste ca si referinta de timp pt toate liniile magistralei.

ARBITRAREA Exista posibilitatea ca mai multe unitati master si slave sa fie conectate la un acelasi BUS si sa ceara acces la acesta in acelasi timp. Astfel pt a decide intre aceste cereri concurente este necesar un mecanism de selectie, numit arbitrarea BUS-ului. Thurber propune trei scheme principale de arbitrare: daisy chaining, polling si cereri independente. Aceste metode difera prin nr de linii de control care sunt necesare si prin viteza cu care controlerul BUS poate raspunde la cereri de acces BUS de diferite prioritati. Unele sisteme BUS combina mai multe tehnici de arbitrare distincte. 1. Metoda daisy chaning. In procesul de arbitrare sunt implicate 3 semanle de control carora le asocien nume generice BUS request, bus grant, bus busy. Toate dispozitivele bus sunt conectate la lini compuna Bus request. Cand aceasta e activata ea serveste la indicarea existentei cererilor de utilizare a BUS ului. Unitatea de control bus raspunde unui semnal bus request numai daca linia bus busy este incativa. Acest raspuns ia forma unui semnal plasat pe linia BUS grant. O trasatura caracterisdtica a acestei tehnici este maniera in care se distribuie semanlul BUS grant. 2.In sistemele de control bus ce folosesc tehnica polling linia bus grant din metoda daisy chaining este inlocuita cu un set de linii numite linii poll count care sunt conectate direct la toate unitatile magistralei. Prioritatea unei unitati este determinate de pozitia adresei sale in secventa polling. Un avantaj al acestei metode fata de cea precedenta este ca o defectiune intr-o unitate nu afecteaza alte unitati. Aceasta flexibilitate este atinsa cu dezavantajul unuii cost mai ridicat a liniilor de control. 3.A treia metoda de arbitraj, cea a cererilor independente foloseste linii separate bus request si bus grant pt fiecaru unitate legata la bus. Aceasta metoda asigura unitatii de control bus o identificare imediata a tuturor unitatilor ce cer acces si da posibilitate de raspuns foarte rapid la toate cererile de acces la magistrala. Prioritatea este determinate de unitatea de control BUS si ea poate fi programata. Dezavantajul consta in faptul ca pt a controla n dispozitive este necesar sa se conecteze la unitatea de control BUS linii bus request si bus grant.

SISTEMUL DE MAGISTRALA STANDARD MICROCOMPUTER MULTIBUS (IEEE 796) a fost proiectat de Intel ca un system BUS standard pt calculatoare cum ar fi microcalculatoarele single-board care au la baza acest tip de microproc. Un system multibus poate suporta microproc heterogene de 8 si 16 biti in configuratie de multiprocesare, toate tranzactiile bus pot functiona in regim asincron. Pt a suporta microproc pe 32 de biti intel a proiectat un system bus numit multibus 2 care are un set combinat de 32 linii de adrese si date astfel ca transmisia prin BUS a cuvintelor de date de 32 biti sau a cuvintelor de adrese de 32 biti este multiplexata. Acesta permite utilizarea unor cuv de dimensiuni mai mari si a unui spatiu de adrese mai larg, cu mai putine linii decat cele necesare la multibus

1. SISTEMUL DE INTRARI IESIRI (IO) Functia principala cea de calcul, a unui computer implica doar doua dintre componentele sale: CPU si memoria principala. Astfel, CPU adduce instructiuni si date din memoria principala, le proceseaza si le memoreaza in aceasta. Celelalte componente ale sistemului de calcul ce au ca si scop transferul de informatie intre CPU sau memoria principala si exterior, formeaza sistemul de intrari- iesiri. Acest system de IO include dispozitivele de IO (periferia), unitatile de control ale acestor dispozitive si software-ul proiectat special pentru aceste operatii de IO. Sistemele de IO se diferentiaza in functie de gradul de implicare al CPU in executia instructiunilor de IO. 1. Daca operatiile de IO sunt complet controlate de catre CPU, adica CPU executa programe ce initiaza direct si termina operatiile de IO, se spuneca sistemul de calcul utilizeaza programarea intrarilor si a iesirilor, aceasta este o optiune a majoritatii sistemelor. 2. Cu o usoara crestere a complexitatii hardware-ului dispozitivelor de IO acestea pot fi prevazute cu capabilitate de transfer direct a unui bloc de informatie dinspre sau spre memoria principala a sitemului, fara interventia CPU. Aceasta implica ca dispozitivul de IO sa poata genera adrese de memorie si sa transfere date din sau spre magistrala memoriei principale. El trebuie prevazut si cu un mecanism de cerere si selectie de genul celor anterior prezentate, CPU este insa responsabil de initierea fiecarui transfer de bloc, dupa care, dispozitivul de IO realizeaza tranferul pr-zis fara a mai fi necesara interventia prin progr de executie a CPU. Disp de IO si CPU interactioneaza doar cand CPU acorda acestuia controlul magistralei de memorie ca si raspuns la o cerere in acest sens. Acest tip de compatibilitate de IO este numita acces direct la memorie (direct memory acces- DMA) 3. Dispozitivul de IO poate fi prevazut cu circuite ce sa-I permita sa ceara serviciu CPU-ului adica sa ceara acestuia executia unui program specific pt deservirea dispozitivului de IO. Acest tip de cerere este numita intrerupere. Spre deosebire de cererea DMA o intrerupere cauzeaza o comutare a programelor n executie de catre CPU, care salveaza starea programului in curs de executie si lanseaza in executie un nou program de gestiune a intreruperii aparute. 4. Pentru eliberarea completa a CPU de realizarea operatiilor de IO se introduce la nivelul sistemului o unitate speciala numita proeesor de IO sau canal. Un IOP (IO processor) are acces direct la memoria principala, el poate intrerupe CPU, dar el poate si executa direct programe numite programe de IO, care pot utiliza un set de instructiuni diferit de cel al CPU. In general conectarea IOP la dispozitivele controlate se face printr-o magistrala system separata numita magistrala de IO.

PROGRAMAREA INTRARILOR SI A IESIRILOR Aceasta metoda de controlare a operatiilor de IO implica ca toate operatiile de IO sa se execute sub controlul direct al CPU, adica fiecare operatie de transfer a datelor ce impica dispozitivul de IO cere executia unei instructiuni de catre CPU. In general transferul se face intre un registru CPU si un registru buffer conectat la dispozitivul de IO. Disp de IO nu are acces direct la memoria principala. Un transfer de date de la dispozitivul de IO spre memoria principala necesita executia a doua instructiuni de catre CPU: -o instruciune INPUT pt a transmite un cuvant de date de la disp de IO la CPU si - o instr STORE pt a transfera un cuvant de la CPU la memoria principala. Adresarea IO. In sist cu programarea IO, dispozitivele de IO, memoria principala si CPU comunica intre ele printr-o magistrala comuna de tip sharead (magistrala system). Liniile de adresa ale magistralei care sunt folosite pt a selecta adresa memoriei principale pot fi folosite si pt a selecta disp de IO. Fiecare jonctiune intre magistrala system si disp de IO este numita port de IO si are asignata o adresa unica. Portul de IO include un registru buffer pt date care il face putin diferit de o locatie a memoriei principale.

Instruciuni IO de baza. Programarea IO poate fi implementata cu cateva instruciuni de IO. De exemplu intel 8085 are 2 instr de IO principale. Instr IN X are ca effect transferul unei inf de la portul IO cu adresa X la registrul accumulator A, al lui I 8085. Instr OUT X transfera o inf de la accumulator la portul de IO de adresa X. Unele inf trebuie sa indice starea dispozitivului, iar altele pot fi instructiuni spre dispozitiv. In program IO de obicei proc este programat pt a testa starea disp inaintea unui transfer de date. Deseori starea poate fi specificata pe un singur bit de IO. Determinarea starii disp de catre processor necesita parcurgerea urm pasi: 1. citirea starii 2- testarea starii pt a determina daca disp este gata pt un transfer de date, 3- daca nu este gata se reia pasul

1. Instr de intrare-iesire suplimentare. Progr IO este metoda primara de control a disp de IO intr-un sist de calcul, pt imbunatatirea instr IN si OUT se pot prevedea instr de IO suplimentare. De ex formatul cuvantului instr la sist DEC PDP-8 permite specificarea a 8 operatii distincte de IO, una dintre acestea: TSK testeaza fanionul de stare a disp de IO si sare urm instr daca acesta este setat. Aceasta se poate implementa prin intermediul a 2 linii de control ce conecteaza CPU de disp de IO. Daca flag ul de stare al disp este setat se trimite un impuls pe linia SKIP, care este utilizat pt incermentarea numaratorului program, sarindu-se astfel peste urmatoarea instructie.

Circuitede interfata pt IO. Conectarea unui disp la un calc se paote realiza cu aj interfetelor de IO ce sunt de fapt niste pachete de circ standard. Aceste circ permit conectarea unei game largi de disp preiferice la o magistrala comuna, consumul de hardware suplimentar fiind minim. Cea mai simpla interfata este un registru de tip buffer care se comporta ca o cutie postala pe parcursul operatiilor de IO. II este atribuita o adresa unica si este accesata in acelasi mod ca o locatie de memorie. Pt comunicatiile seriale la nivel de bit (prin telefon de ex) se utilizeaza o alta clasa de circ de interfata numite UART (universal asynchronous receiver-transmitters). Un UART este in principiu un reg de deplasare ce transforma sirurile seriale de date in siruri paralele de date si invers.

Interfata programabila Intel 8255 Aceasta interfata este un circ integrat DIP cu 48 de pini: - 8 pini sunt folositi pt a conecta 8255 la 8 linii de date bidirectionale - 24 pini de IO pot fi conectati la unul sau mai multe disp de IO. Cei 24 de pini de IO sunt impartiti in grupuri de 8 biti numiti A, B, C, fiecare din acestia putand fi considerat un port de IO independent.- Doua linii de adresa A0 si A1 sunt folosite pt a selecta unul din porturile A, B sau C pt a fi folosite intr-o operatie de IO. A patra combinatie de adresa este folosita impreuna cu o instr de iesire OUT CW, pt a memora un cuvant de control utilizator de 8 biti intr-un reg intern al lui I 8255. Aest cuv de control are doua functii majore . Este folosit pt a specifica care dintre porturile A, B sau C este pt intrare, care este pr iesire sau care este utilizat ca si port de IO bi-directional. 2. Este folosit pt a programa anumite linii C sa genereze automat semnale handshaking si de intrerupere ca si raspuns la actiuni ale unui disp de IO.





Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate