conspect subiecte microcontrollere

36
MICROCONTROLLERE SI DSP-URI Subiecte conspectate 1. PROCESORUL CENTRAL; CALSIFICAREA PROCESOARELOR DIN PUNCT DE VEDERE TEHNOLOLOGIC : Procesorul central este un sistem digital de ordinul 3 organizat in jurul unei structuri secventiale de procesare care reprezinta elementul tipic al unui sist. de ord 3. Din punct de vedere functional structura de procesare contine doua unitati: una de control si una de prelucrare, interconectate printr-o bucla de reactie. Unitatea de control contine un set de instructiuni pe baza caruia intr-o maniera secventiala se indica operatiile ce urmeaza a fi efectuate. Instructiunile se primesc din exterior prin intermediul unei memorii de program. Un procesor central executa secvential instructiuni din memoria externa, fiecare instructiune fiind executata intr-un interval de timp numit ciclu instructiune. Din punct de vedere tehnologic, un procesor poate poate fi realizat in 2 moduri: cablat - pe unul sau mai multe module de cablaj imprimat, caz in care procesorul este realizat cu circuite integrate de tip "bit-slice". integrat - pe o pastila de Si intr-un singur circuit integrat numit procesor "single-chip". 2. SISTEME DE CALCUL DE TIP SINGLE-CHIP: definitie si evolutia lor in timp; Un sistem de calcul de tip single-chip reprezinta o structura de procesare secventiala (procesorul central), care impreuna cu subsistemele aferente este inglobata pe o pastila de Si (procesor integrat). Dezvoltarea tehnologica a permis integrarea intr-un singur circuit integrat a principalelor subsisteme ale unui sistem de calcul. Au aparut astfel sisteme de calcul programate de tip single-chip. 3. PROCESOARE NUMERICE DE SEMNAL: definitie, caracterizare generala; Procesoarele numerice de semnal sunt sisteme de calcul programabile de tip "single-chip", destinate prelucrarii complexe a semnalelor digitale. Ele inglobeaza intr-un singur circuit integrat, principalele subsisteme componente ale unui sistem de calcul, realizand functii complexe de transfer si de prelucrare a datelor. 1

Upload: alexandru-ionascu

Post on 24-Jul-2015

355 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Conspect subiecte microcontrollere

MICROCONTROLLERE SI DSP-URISubiecte conspectate

1. PROCESORUL CENTRAL; CALSIFICAREA PROCESOARELOR DIN PUNCT DE VEDERE TEHNOLOLOGIC :

Procesorul central este un sistem digital de ordinul 3 organizat in jurul unei structuri secventiale de procesare care reprezinta elementul tipic al unui sist. de ord 3. Din punct de vedere functional structura de procesare contine doua unitati: una de control si una de prelucrare, interconectate printr-o bucla de reactie. Unitatea de control contine un set de instructiuni pe baza caruia intr-o maniera secventiala se indica operatiile ce urmeaza a fi efectuate. Instructiunile se primesc din exterior prin intermediul unei memorii de program.

Un procesor central executa secvential instructiuni din memoria externa, fiecare instructiune fiind executata intr-un interval de timp numit ciclu instructiune. Din punct de vedere tehnologic, un procesor poate poate fi realizat in 2 moduri:

cablat - pe unul sau mai multe module de cablaj imprimat, caz in care procesorul este realizat cu circuite integrate de tip "bit-slice".

integrat - pe o pastila de Si intr-un singur circuit integrat numit procesor "single-chip".

2. SISTEME DE CALCUL DE TIP SINGLE-CHIP: definitie si evolutia lor in timp;

Un sistem de calcul de tip single-chip reprezinta o structura de procesare secventiala (procesorul central), care impreuna cu subsistemele aferente este inglobata pe o pastila de Si (procesor integrat).

Dezvoltarea tehnologica a permis integrarea intr-un singur circuit integrat a principalelor subsisteme ale unui sistem de calcul. Au aparut astfel sisteme de calcul programate de tip single-chip.

3. PROCESOARE NUMERICE DE SEMNAL: definitie, caracterizare generala;

Procesoarele numerice de semnal sunt sisteme de calcul programabile de tip "single-chip", destinate prelucrarii complexe a semnalelor digitale. Ele inglobeaza intr-un singur circuit integrat, principalele subsisteme componente ale unui sistem de calcul, realizand functii complexe de transfer si de prelucrare a datelor.

Pentru efectuarea unor prelucrari in timp real asupra datelor, procesoarele de semnal lucreaza la frecvente mari si dispun de un set complex de instructiuni, putand executa astfel zeci de milioane de operatii in virgula mobila/ secunda. Structura interna paralela permite efectuarea mai multor operatii simultan, ceea ce creste considerabil puterea de calcul a DSP-ului. Evolutia in timp a DSP-urilor a fost conditionata de dezvoltarea tehnologiei de fabricatie a circuitelor integrate digitale. Tendintele dezvoltarii tehnologice au avut in vedere urmatoarele aspecte:

marirea densitatii de integrare, prin micsorarea dimensiunii tranzistoarelor si implicit cresterea de tranzistoare pe unitatea de suprafata a chip-ului.

cresterea frecventei interne de lucru a procesoarelor, ce se poate face explicit prin imbunatatirea calitatii tranzistoarelor si implicit prin micsorarea dimensiunii acestora.

realizarea mai multor unitati de prelucrare paralele si marirea dimensiunii cuvintelor prelucrate si memorate.

micsorarea consumului energetic si a puterii disipate pastrarea compatibilitatii software cu versiunile anterioare.

1

Page 2: Conspect subiecte microcontrollere

4. SEMNALE NUMERICE PENTRU REPREZENTAREA SI TRANSMISIA INFORMATIEI:

Numim semnal o marime fizica, masurabila, dependenta de timp, care poate fi purtatoare de informatie si care poate fi prelucrata sau transmisa la distanta intre doua sisteme.

Un semnal numeric se prezinta sub forma unui sir de informatii, reprezentand variatii ale datelor observabile in lumea reala, cum ar fi parametrii fizici de proces, stocuri de materiale etc. Dupa natura lor semnalele pot fi deterministe sau aleatoare. Semnalele deterministe au evolutia in timp predefinita, neafectata de hazard, care poate fi exprimata analitic printr-o functie de timp de forma x(t). Semnalele aleatoare au o evolutie in timp supusa hazardului si nu pot fi exprimate analitic printr-o functie de timp.

Informatiile pot fi asociate unui semnal prin diverse metode, modificand o serie de parametri ai semnalului respectiv. In general, ca suport al informatiei sunt utilizate semnalele deterministe, insa informatia are un puternic caracter intamplator.

5. CLASIFICAREA SEMNALELOR IN RAPORT CU VARIABILA TIMP:

In raport cu variabila timp, semnalele pot fi de doua tipuri: cu timp continuu sau cu timp discret.

Semnalele de timp continuu sunt numite semnale analogice. La un semnal analogic, notat x(t), variabila timp t are variatie continua. La orice moment de timp, semnalul poate avea o anumita valoare, intr-un interval finit, ale carui limite sunt valoarea maxima (Xmax) si minima (Xmin). Variatia semnalului in timp poate fi periodica sau neperiodica, semnalele numindu-se periodice, respetiv neperiodice.

Semnalele de timp discret sunt numite semnale discrete. Un semnal discret este alcatuit din stari discrete, ordonate in timp sub forma unuei serii de stari, numita generic serie de timp.Un semnal de timp discret x(k), se poate obtine dintr-un semnal analogic x(t), prin operatia de discretizare in timp numita esantionare. Aceasta presupune discretizarea variabilei timp t, cu un pas constant Te, numita perioada de esantionare.

6. CLASIFICAREA SEMNALELOR IN RAPORT CU VARIABILA AMPLITUDINE:

In raport cu amplitudinea, semnalele pot fi continue sau discontinue. Continuitatea este caracterizata de o viteza de variatie finita a amplitudinii semnalului, pe cand discontinuitatea este data de o variatie brusca a amplitudinii la un moment dat. Discontinuitatile semalelor realizabile fizic sunt finite. Ele pot fi efecte ale fenomenului fizic reprezentat sau pot fi introduse intentionat, pentru o prelucrare convenabila a semnalului.

Un semnal continuu poate fi aproximat printr-un semnal discontinuu, variabil in trepte. Acesta contine un numar finit de niveluri de amplitudine constanta, echidistante intre o valoare minima si una maxima. Operatia se numeste cuantizarea semnalului continuu, iar ecartul dintre nivelurile de amplitudine constanta se numeste cuanta. Semnalele esantionate au o variatie continua in amplitudine, deoarece esantioanele au o valoare egala cu amplitudinea semnalului continuu in momentul respectiv. Semnalele obtinute din semnale cuantizate, reprezentate codificat prin valori numerice, dintr-un interval de numere intregi predefinit , se numesc semnale numerice sau semnale digitale. Daca intervalul de numere are doar doua valori diferite atunci semnalul se numeste semnal digital binar.

2

Page 3: Conspect subiecte microcontrollere

Pentru usurinta prelucrarii, semnalul esantionat poate fi aproximat prin operatia de cuantizare, ce presupune discretizarea amplitudinii esantioanelor lui X(k). Se obtine astfel, un semnal esantionat si cuantizat, dupa cum se arata in figura:

Si semnalele esantionate si cuantizate pot fi reprezentate codificat prin valori numerice intregi, obtinandu-se semnale numerice discrete.

7. PRELUCRAREA NUMERICA A SEMNALELOR:

Prelucrarea numerica reprezinta ansamblul de metode si tehnici utilizate pentru analiza sau modificarea informatiilor, reprezentate prin secvente discrete de numere, cu ajutorul calculatorului. Algoritmii de prelucrare numerica sunt implementati si rulati pe diverse sisteme de calcul, fiind optimizati in functie de specificul aplicatiei.

Prelucrarea numerica a semnalelor (DSP) este o ramura a prelucrarii numerice care include metode si tehnici specifice prelucrarii semnalelor, utilizand procesoare specializate.

Caracteristicile prin care se distinge PNS de PN (DSP de DP) sunt:

semnalele provin din lumea reala, ceea ce presupune masurarea semnalelor, conversia in format numeric, si prelucrarea in timp real a semnalelor.

semnalele prelucrate sunt discrete, ceea ce inseamna ca informatia dintre esantioane se pierde.

3

Page 4: Conspect subiecte microcontrollere

Semnalele provenite din lumea reala, furnizate sistemului de prelucrare numerica (SPN), pot fi semnale numerice discrete sau analogice (CD-Player, MP3-Player sunt in forma numerica fiind primte ca atare de catre DSP pentru a fi prelucrate). Majoritatea semnalelor electrice preluate din lumea reala sunt initial intr-o forma analogica (curent sau tensiune) fiind produse de diverse tipuri de traductoare.

Semnalele analogice trebuie convertite numeric pentru a putea fi ulterior prelucrate prin diverse tehnici de prelucrare numerica, cu procesoare digitale de semnal. De aceea, majoritatea procesoarelor numerice, au un CAN care este utilizat pentru conversia mai multor semnale, prin multiplexare analogica, dupa cum se arata in fig de mai jos:

Convertorul dispune de doua semnale de dialog cu procesorul: SOC (start of conversion) este comanda de pornire a CAN, respectiv EOC (end of conversion) reprezinta semnal de stare, prin care CAN informeaza procesorul ca a terminat conversia curenta. Frecventa de esantionare trebuie sa fie mai mare decat dublul frecventei maxime, pentru fiecare semnal adus la CAN. Corespunzator, timpul de conversie trebuie sa fie suficient de mic, pentru a respecta frecventa de esantionare a fiecarui semnal adus la CAN. Totusi , o frecventa de esantionare prea mare, genereaza esantioane suplimentare , inutile (care nu aduc informatii suplimentare incarcand inutil sistemul de prelucrare numeric).

Pentru convertorul din figura de mai sus, achizitia semnalelor se poate face in doua moduri:

Toate semnalele sunt esantionate la fel, cu frecventa de esantionare cea mai mare. In acest caz, multiplexarea semnalelor se face in ordine, insa pentru semnale de frecventa mai mica se achizitioneaza esantioane suplimentare.

Semnalele sunt esantionate cu frecvente diferite, conform necesitatilor de achizitie, caz in care ordinea de multiplexare difera.

Utilizarea tehnicilor de prelucrare numerica, poate fi limitata de:

Viteza de achizitie a semnalelor dependenta de numarul semnalelor analogice de intrare si de frecventa maxima a fiecarui semnal (care impune frecventa de esantionare optima).

Viteza de prelucrare numerica propriu-zisa, dependenta de structura sistemului de prelucrare numerica si complexitatea algoritmului de prelucra

4

Page 5: Conspect subiecte microcontrollere

In functie de tipul aplicatiei prelucrarea numerica a semnalelor poate fi:

Prelucrare ON-line realizata in timp real , la viteza de acces a datelor, cum ar fi de ex. , compresia semnalului vocal pentru redare.

Prelucrare OFF-line, care nu impune lucrul in timp real, cum ar fi spre ex., inregistrarea datelor intr-un fisier pe disc.

8. SISTEME INCORPORATE (embedded systems): definitie, caracteristici si clasificare.

Sistemele incorporate (embedded systems) sunt sisteme specifice aplicatiei, ce contin procesoare numerice de semnal, care permit implementarea tehnicilor de prelucrare numerica a semnalelor pe o clasa de sisteme de prelucrare numerica. Comparativ cu calculatoarele de uz general, aceste sisteme au caracteristici comune si specificatii mai stricte: fiabilitate, mentenabilitate si toleranta la defecte.

Caracterisitici:

reactii predictibile la stimulii de timp real din mediul inconjurator; proiectare optimizata pe forma si cost, conform specificatiilor aplicatiei; functionare si raspuns comportamental conform aplicatiei.

Clasificare:

produse de larg consum cu dsp-uri care sunt realizate in serie mare si au preturi mici : telefoane mobile, CD/DVD player etc.

produse portabile cu DSP, care sunt realizate in serie mare si au preturi medii: produse electronice de mica putere portabile pentru dialogul om-masina, sisteme de supraveghere si securitate etc.

produse performante cu DSP-uri care sunt realizate in serie mare si au preturi mari : echipamente video de teleconferinta, sisteme audio profesionale etc.

produse de inalta performanta cu dsp-uri, sunt produse de serie mica/medie si au preturi foarte mari: statii de lucru profesionale de prelucrare video si/sau audio, sisteme de prelucrare in trimp real a bazelor de date etc.

9. APLICATII ALE DSP-urilor: generalitati, aplicatii in telecomunicatii:

Prin telecomunicatii se intelege transferul informatiilor de la un emitator la un receptor, indiferent de tipul informatiilor si suportul acestora. Transferul se face pe un canal de comunicatii, prin intermediul unui semnal care poate fi electric, optic sau radio. DSP-urile au revolutionat industria telecomunicatiilor pe mai multe planuri:

a) Multiplexarea canalelor permite transmiterea, pe un singur mediu de comunicatie

a mai multor convorbiri telefonice, ceea ce duce la micsorarea costurilor de comunicatie. Procesoarele numerice convertesc semnalele vocale, in serii de date digitele. De ex. standardul de telefonie T-carrier poate transmite simultan 24 de semnale vocale. Fiecare semnal vocal este esantionat cu o frecv. de 8 Khz, asigurandu-se o rata de transfer de 64 Kb/s pentru fiecare semnal.

5

Page 6: Conspect subiecte microcontrollere

b) Compresia datelor asigura transferurile acelorasi informatii, la rate mai mici, si implicit, pe distante mai mari. Metoda se bazeaza pe observatia ca, la o esantionare cu 8KHz, mare parte din informatiile digitale este redundanta, fiecare esantion putand fi obtinut din esantioane adiacente. In general reducerea ratei de transfer de la 64 Kb/s pana la 32 kb/s nu afecteaza calitatea sunteului. Compresia la o rata de 8 Kb/s afecteaza sensibil calitatea sunetului, dar poate fi folosita in retelele telefonice de distanta mare.

c) Controlul ecoului reprezinta o sarcina importanta realizata de DSP-uri. In conexiunile telefonice pe distante mari, ecoul devine o problema serioasa. Semnalul vocal se propaga pe linie, iar la receptie, o parte a acestuia se reflecta, intorcandu-se la emitator sub forma de ecou. Procesoarele numerice de semnal pot anula ecoul, prin masurarea semnalului de intoarcere si generarea unui antisemnal.

10. APLICATII ALE DSP-urilor: generalitati, aplicatii in procesarea audio:

In procesarea audio se prelucreaza numeric semnale muzicale si voce:

a) In prelucrarea semnalelor muzicale , reprezentarea numerica este utila, deoarece previne degradarea, datorita stocarii si manipularii semnalelor analogice, lucru evident daca se compara calitatea muzicala a casetelor magnetice cu cea a compact discurilor. O aplicatie utila a DSP-urilor in generarea semnalelor muzicale o reprezinta generarea reverberatiei artificiale. Procesoarele numerice de semnal permit generarea ecourilor si reverberatiilor artificiale si apoi adaugarea lor la mixare, pentru simularea unei incinte acustice ideale.

b) Tehnicile de generare si recunoastere a vorbirii sunt folosite pentru comunicarea cu calculatorul. Generarea vorbirii se poate face in doua moduri: prin inregistrare digitala si prin simularea tractului vocal. In inregistrarea digitala, vocea umana este digitizata si memorata intr-o forma comprimata. in timpul redarii aceasta este decomprimata si convertita in semnal analogic. Procesoarele numerice abordeaza recunoasterea vorbirii in doi pasi: extragerea trasaturilor caracteristice, si apoi potrivirea trasaturilor. Fecare cuvant din semnalul vocal este izolat si apoi analizat pentru identificarea tipului de excitatie si a frecventelor rezonante. Sistemele de recunoastere a vocii sunt limitate la cateva sute de cuvinte, accepta semnal vocal cu pauze intre cuvinte si sunt antrenate pentru fiecare vorbitor nou.

11. APLICATII ALE DSP-urilor: generalitati, aplicatii in echo-locatie:

Echo-locatia este o metoda comuna de a obtine informatii de la un obiect aflat la o distanta, prin emiterea unor unde incidente catre obiect si receptia si analiza undelor reflectate de acesta.

a) RADARUL: un emitator transmite pulsuri pe unde radio, printr-o antena puternic directionala. Obiectele aflate in calea undelor radio reflecta inapoi o mica parte din energia undei care va fi receptionata de catre o alta antena. Distanta pana la obiect este calculata pe baza timpului scurs de la terminarea pulsului, pana la receptia ecoului. DSP-urile au revolutionat tehnica radarului prin 3 aspecte: comprimarea pulsului dupa receptie ceea ce duce la determinarea mai precisa a distantei, filtrarea semnalului receptionat pentru micsorarea zgomotului ceea ce duce la cresterea distantei de operare si nu in ultimul rand, selectia rapida si generarea unor pulsuri diferite in forma si frecvente.

6

Page 7: Conspect subiecte microcontrollere

b) Sonarul poate fi de doua tipuri: activ si pasiv. Sonarul activ emite pulsuri cu frecvente 2KHz...40KHz si analizeaza ecourile receptionate. Este utilizat la detectia si localizarea corpurilor submerse. Sonarul pasiv asculta sunetele subacvatice .Acesta nu emite energie, fiind practic invizibil. De aceea este utilizat in armata. DSP-urile au revolutionat sonarul in aceiasi maniera ca si la radar: generarea si comprimarea impulsului, filtrarea semnalelor detectate.

c) Seismologia de reflexie studiaza reflexia undelor in scoarta terstra. Pana la aparitia metodelor de prelucrare numerica, prospectiunea zacamintelor se facea doar in locuri in care reflexiile multiple erau minime. Utilizarea DSP-urior in seismografele de reflexie au permis izolarea ecourilor primare de cele secundare, si prospectiuni in locuri mult mai dificile, cum sunt zonele submarine.

12. APLICATII ALE DSP-urilor: generalitati, aplicatii in prelucrarea imaginilor:

Prelucrarea imaginilor se incadreaza intr-o clasa distincta de prelucrare cu DSP-uri:

a) In domeniul medical, imagistica a permis investigarea corpului uman, odata cu descoperirea razelor X in 1895. Si aici prelucrarea numerica si DSP-urile si-au pus amprenta. Acestea intervin asupra ajustarii adecvate a puterii si frecventei campului astfel incat nucleii atomici dintr-o anumita regiune locala a corpului sa rezoneze intre benzile energetice cuantice.

b) In domeniul spatial exista numeroase situatii cand imaginile luate de sateliti trebuie prelucrate inainte de a fi utilizate. Aici intervine prelucrarea numerica si DSP-urile care pot imbunatati calitatea imaginilor, luate in conditii extreme nefavorabile, permitand controlul focalizarii, al luminozitatii etc.

c) Bunurile de larg consum trebuie sa fie ieftine, insa aceasta conditie este mai greu de indeplinit in cazul sistemelor video, datorita cantitatilor mari de informatii din imagini, care impun memorii si rate de transfer foarte mari. O solutie consta in comprimarea imaginilor utilizand DSP-urile. Aceasta tehnica se bazeaza pe observatia ca imaginile contin cantitati uriase de informatie redundanta, si deci, numarul bitilor de reprezentare a imaginilor poate fi redus. Toate sistemele foto si video beneficiaza de avantajele folosirii DSP-urilor si tehnicilor de prelucrare numerica.

7

Page 8: Conspect subiecte microcontrollere

13. ARHITECTURA VON NEUMANN IN PROCESOARE: definire, caracteristici si avantaje:

Arhitectura von Neumann utilizeaza o memorie comuna de program si date, accesata pe o magistrala interna comuna, dupa cum se arata in fig. de mai jos. Legatura cu exteriorul se face prin intermediul circuitelor de interfata, pe o magistrala interna tot comuna. Transferul instructiunilor si datelor, intre UC si memorie se face altenativ pe aceeasi magistrala interna.

Structura interna este mai simpla, facandu-se economie de magistrale si memorie in dauna performantelor. Deoarece magistrala interna comuna limiteaza performantele structurii, unitatea centrala va avea caracteristici specifice, adaptate la acest fel fe functionare, pentru a compensa pierderea de performante.

Functionarea este similara cu cazul in care programul si datele ar fi stocate intr-o singura memorie RAM, comuna. Magistrala interna este de dimensiunea operanzilor cu care lucreaza procesorul, de unde rezulta ca instructiunile de dimensiuni mai mari de 1 octet, vor fi executate in mai multi pasi.

Avantaje:

Principalul avantaj il constituie costul relativ mic, la un nivel de performante acceptabil, dat in principal de performantele tehnologiei de realizare a circuitelor integrate. Arhitectura von Neumann este utilizata in procesoarele de tip CISC.

Dezavantaje:

Deoarece are o singura magistrala interna comuna pe care transferul se realizeaza alternativ, arhitectura von Neumann este mai lenta decat celelalte tipuri de arhitecturi.

14. ARHITECTURA HARVARD IN PROCESOARE: definire, caracteristici si avantaje:

Arhitectura Harvard utilizeaza memorii separate de program (MP) si date (MD), accesate pe magistrale separate, dupa cum se arata in figura de mai jos.

Memoria de program este citita simultan cu accesul la memoria de date, in citire sau in scriere, permitand cresterea performantelor unitatii centrale (UC). Cand intr-o instructiune se utlizeaza un operand imediat, aflat in campul instructiunii (memorat in MP), acesta se transfera in UC prin magistrala de instructiuni. Cele doua memorii au caracteristici diferite, in ceea ce priveste dimensiunea cuvantului memorat, capacitatea de memorare, structura de adresare, ciclurile de acces la memorie, tehnologia de implementare.

8

Page 9: Conspect subiecte microcontrollere

Instructiunile pot fi stocate in memorii de program de tip ROM sau RAM, pe cand datele trebuie pastrate in memorii de date de tip RAM. Dimensiunea cuvantului memorat difera. In multe sisteme incorporate, capacitatea de memorare a memoriei de program este mult mai mare decat a memoriei de date, ceea ce inseamna ca si magistrala de adrese a MP este mai mare decat cea a MD.

Datorita separarii memoriilor MP si MD, acestea au asignate spatii de adrese distincte. Doua locatii de memorie pot avea aceeasi adresa fizica, cat timp ele se gasesc in memorii separate, una in MP si cealalta in MD. Ca urmare se modifica si maniera de programare.

Arhitectura Harvard se evidentiaza prin doua aspecte principale: memoriile de program si date au cai separate de legatura cu unitatea

centrala, permitand citirea instructiunilor din MP, simultan cu accesul datelor din MD;

memoriile de program si date au asignate spatii de adrese diferite, ceea ce duce la modificarea modului de programare.

Avantaje:

comparativ cu arhitectura von Neumann, arhitectura Harvard are performante superioare (este mult mai rapida);

arhitectura Harvard este folosita in cazul in care performanta procesorului conteaza si nu pot fi folosite memorii cache;

Dezavantaje:

necesita mecanisme suplimentare care sa permita incarcarea programului in MP si a datelor initiale in MD inainte de inceperea executiei programului;

are costuri de realizare mai mari comparativ cu arhitectura von Neumann.

9

Page 10: Conspect subiecte microcontrollere

15. ARHITECTURA HARVARD MODIFICATA: definire, caracteristici, avantaje si dezavantaje:

Arhitectura Harvard modificata se obtine prin realizarea unei cai hardware suplimentara, de legatura intre magistrala de istructiuni si magistrala de date, dupa cum se arata in figura de mai jos. Aceasta permite memoriei de program sa stocheze si blocuri de date, care nu se modifica in timpul executiei programului, numite blocuri de date curate. Ele pot fi doar citite de catre Uc, prin instructiuni speciale. Se elimina astfel un dezavantaj major al arhitecturii Harvard, putandu-se initializa MD la inceputul programului, la valori predefinite din MP. In plus se pot citi date curate din MP si in timpul executiei programului, ramanand loc mai mult in MD pentru date ce pot fi citite sau scrise, numite blocuri de date murdare.

Cand se citesc instructiuni din MP, penrtru a fi decodificate si executate, memoria este adresata cu adresa de program ADR, iar cand se citesc date din blocurile curate, adresarea MP se face cu adresa de date ADRD. Selectia adresei se face printr-un multiplexor. Toate cuvintele de memorie din MP pot fi tratate ca date de tip read-only, putandu-se citi ca date, inclusiv codurile instructiunilor din program.

Avantajul real consta insa in blocurile de date curate, sub forma valorilor constante, plasate in MP in zone distincte de cele de cod. Un program contine mai multe tipuri de blocuri curate, fie constante numerice, fie siruri de caractere constante .

Blocurile de date curate pot fi utlizate de UC in doua moduri:

a) prin transferul lor din MP in MD si apoi accesul la aceste date din MD:

Toate procesoarele realizate in arhitectura Harvard modificata pot accesa blocurile de date din MP, prin intermediul MD, transferand mai intai blocul din MP in MD. Astfel valorile de date initiale pot fi pastrate in MP, si copiate din MP in MD, la fiecare initializare a programului sau in timpul rularii acestuia. Procesorul dispune de suport hardware si instructiuni speciale de citire a acestor date din MP in MD si chiar si invers.

10

Page 11: Conspect subiecte microcontrollere

b) prin accesul lor direct din MP;

Procesoarele care necesita prelucrari rapide cum sunt DSP-urile, pot accesa datele curate direct din MP, prin diverse mecanisme de adresare fara a fi necesara mai intai copierea lor in MD.

Procesoarele de semnal care ruleaza programe de dimensiuni mari, din memorii de programe externe, contin memorii cache de program, in care sunt aduse in avans mai multe instructiuni din memoriea externa. Se obtine astfel o arhitectura Harvard modificata, cu magistrale multiple de date si memorie cache de program. In plus, pentru transferul eficient de date cu exteriorul, DSP-ul contine un controller DMA care efectueaza transferul de date cu exteriorul, folosind una din memoriile de date si magistrala de date a acesteia, in timp ce UC poate folosi cealalta memorie de date, prin magistrala corespunzatoare. Magistralele multiple de date si controllerul DMA elimina necesitatea utlizarii memoriilor cache pentru date.

16. TIPURI DE ARHITECTURI HARVARD MODIFICATE PENTRU DSP-uri:

11

Page 12: Conspect subiecte microcontrollere

17. CARACTERIZARE GENERALA A UC:

Subsistemul unitatii centrale UC realizeaza functia de prelucrare a informatiilor, avand insa si sarcini suplimentare de comanda si control a celorlalte subsisteme. Aceasta poate fi realizata cu un singur procesor central, caz in care sistemul de calcul se numeste monoprocesor, sau cu mai multe procesoare, cu prioritati egale sau diferite, rezultand un sistem de calcul multiprocesor. Majoritatea DSP-urilor au unitati centrale de tip monoprocesor.

Functia de prelucrare se executa sub control software si se refera la operatii specifice (aritmetice, logice, de deplasare si de rotire), efectuate asupra unor operanzi, sub forma de date numerice sau nenumerice. UC are instructiuni ce pot prelucra operanzi de dimensiuni diferite, dupa necesitatile de moment ale UC. Operanzii binari pot avea semnificatii diferite, in functie de interpretarea lor de catre utilizator, prin programul aflat in executie. Acestia pot fi : operanzi binari cu semn sau fara semn, valori zecimale codificate binar, prin cod BCD impachetat sau neimpachetat.

Operatiile de prelucrare sunt executate separat, in unitati de prelucrare diferite, in functie de modul de reprezentare a operanzilor in virgula fixa, respectiv in virgula mobila. Rezulta deci ca procesorul poate avea unitati de prelucrare de virgula fixa sau de virgula mobila. Totodata un procesor poate contine mai multe unitati de prelucrare de acelasi tip, utilizate la calcul paralel.

Operatiile in virgula fixa sunt realizate in unitati aritmertico-logice de virgula fixa UAL. In aceste unitati pot fi prelucrati operanzi numerici intregi cu sau fara semn (sau date nenumerice). Operatiile de prelucrare se realizeaza la nivel de bit sau de cuvant.

Operatiile in virgula mobila sunt executate in unitati aritmetice UA, de virgula mobila. Un numar in virgula mobila se poate reprezenta ca o pereche de numere in virgula fixa, numite mantisa si exponent. De aceea operatiile in virgula mobila se reduc la o serie de operatii in virgula fixa, cu precizarea ca sunt utilizate unitati de prelucrare specializate .

La un moment dat, operanzii unui program se pot afla in diverse locuri: in registre de date, in campul instructiunii sau in memoria de program sau de date. In functie de cum si de unde sunt accesati operanzii, UC este caracterizata de mai multe moduri de adresare (adresare directa, indeirecta sau imediata). UC dispune de registre speciale de adresare a operanzilor in memorie, numite generic registre de offset.

18. STRUCTURI DE PROCESARE: generalitati, clasificare, functionare CROM:

Sistemele de ord. 3 se obtin prin realizare unei bucle de reactie peste un sistem digital de ord. 2, de tip automat finit. Pentru obtinerea unui sist. de ord. 3, se poate conecta in bucla un automat finit (A), cu un alt sistem digital, care are cel mult ord. 2.

Clasificare:

sisteme cu bucla de reactie inchisa printr-un CLC: In acest caz nivelul functional al sistemului rezultat ramane acelasi cu cel al automatului finit, dar se poate optimiza structura intregului circuit logic combinational.

sisteme cu bucla inchisa printr-o memorie RAM (sist. digital de ord.1), ce permite optimiarea modului de prelucrare a starii interne, insa sitemul are tot o functionare de automat finit.

sisteme obtinute prin interconectarea in bucla de reactie a doua automate finite, in care un automat finit va juca rol de sistem de control (master), iar celalalt va fi sistemul

12

Page 13: Conspect subiecte microcontrollere

controlat (slave). Automatul de control trimite comenzi (COM) catre automatul controlat, iar acesta va returna semnale sub forma de indicatori (IND), catre master.

O structura de procesare este un sistem digital de ord. 3, obtinut prin conectarea in bucla de reactie a doua automate finite particulare:

un automat de control cu memorie ROM, numit controller CROM; un automat de prelucrare, de tip unitate aritmetico - logica, pentru

prelucrarea datelor, numit RALU (Registers with Arithmetic-Logic Unit).

Se observa ca structura de procesare este conectata cu exteriorul pe 3 fluxuri de informatii: un flux de intrare de instructiuni INSTR, pe unde precesorul citeste din exterior

instructiunile, in mod secvential; un flux de date de intrare DIN, care permite aducerea unor operanzi din exterior,

in vederea prelucrarii; un flux de date de iesire DOUT, prin care se transmite in exterior rezultatul unei

operatii de prelucrare.

Controller-ul cu ROM (CROM) are stocat in memoria ROM, setul de instructiuni al procesorului respectiv. Pentru fiecare instructiune, in ROM se memoreaza un microprogram, realizat din una sau mai multe microinstructiuni, prin microprogramare. Fiecare microinstructiune reprezinta o stare, in spatiul starilor automatului finit de tip CROM, executata intr-o stare de ceas.

CROM-ul primeste din exterior o instructiune si o executam prin rularea microprogramului corespunzator ei, trimitand comenzi catre RALU sau in exterior (pe liniile SYNC). De la unitatea de prelucrare RALU, CROM-ul primeste indicatori pe liniile IND, rezultati in urma prelucrarii, pe care ii poate testa, si in functie de care poate evolua diferit in timpul executiei.

13

Page 14: Conspect subiecte microcontrollere

19. STRUCTURI DE PROCESARE: generalitati, clasificare, functionare RALU :

O structura de procesare este un sistem digital de ord. 3, obtinut prin conectarea in bucla de reactie a doua automate finite particulare:

un automat de control cu memorie ROM, numit controller CROM; un automat de prelucrare, de tip unitate aritmetico - logica, pentru

prelucrarea datelor, numit RALU (Registers with Arithmetic-Logic Unit).

Se observa ca structura de procesare este conectata cu exteriorul pe 3 fluxuri de informatii: un flux de intrare de instructiuni INSTR, pe unde precesorul citeste din exterior

instructiunile, in mod secvential; un flux de date de intrare DIN, care permite aducerea unor operanzi din exterior,

in vederea prelucrarii; un flux de date de iesire DOUT, prin care se transmite in exterior rezultatul unei

operatii de prelucrare.

Unitatea RALU realizeaza functiile de prelucrare propriu-zise ale procesorului, cuprinse in setul de instructiuni ale acestuia. Intern RALU contine un set de registre utilizator si o unitate aritmetico-logica, pentru prelucrarea datelor. Automatul RALU este conectat cu exteriorul prin doua fluxuri de date: unul de intrare si unul de iesire. Pe liniile DIN primeste operanzi din exterior, iar pe liniile DOUT transmite rezultate in exterior. Cu cat RALU are mai multe registre, cu atat accesele in exterior sunt mai rare, si prelucrarea este mai rapida. Automatul RALU utilizeaza acelasi semnal de ceas cu cel al structurii de procesare. Deoarece unitatile aritmetico-logice sunt circuite logice combinationale, acestea au la intrare registre temporare de operanzi, pentru a evita buclele de reactie nedorite peste CLC.

14

Page 15: Conspect subiecte microcontrollere

20. FLUXURILE DE INFORMATII PRIMARE ALE UNUI PROCESOR:

In functie de tipul procesorului, fluxurile de informatii cu exteriorul pot fi realizate pe magistrale separate sau partajate, rezultand performante complet diferite. Primele doua corespund arhitecturii Harvard, iar cel de-al treilea este specific arhitecturii von Neumann :

In primul caz, fluxurile de informatii au loc pe 3 magistrale separate, dupa cum se arata in partea stanga a figurii de mai sus. Acesta este modul cel mai flexibil al procesorului, dar presupune multe legaturi cu exteriorul. Separarea magistralelor permite prelucrarea in paralel a celor trei fluxuri. Un astfel de procesor poate realiza in acelasi moment de timp urmatoarele operatii: citirea unei instructiuni dintr-o memorie de program, citirea unui operand dintr-o memorie de date pentru executarea unei alte instructiuni, precum si scrierea unui rezultat, ca urmare a unei a treia instructiuni.

Daca procesorul este realizat astfel incat la un moment dat nu poate transfera decat un operand pe DIN sau un rezultat pe DO, cele doua magistrale se pot uni intr-o singura magistrala bidirectionala (DATA) de date, ilustrata in centrul figurii. Procesorul are in continuare memorii separate de program si date, si poate realiza in paralel: citirea unei noi instructiuni si executarea alteia, prin citirea unui operand sau scrierea unui rezultat. Insa magistrala nu poate fi folosita, decat pentru un singur operand odata.

Daca procesorul lucreaza in exterior cu o memorie comuna de program si date, el poate citi instructiunile pe aceeasi magistrala bidirectionala de date, partajata intre fluxuri, dupa cum se arata in partea dreapta a figurii de mai sus. In acest caz, chiar daca procesorul are intern unitati functionale paralele, in transferurile cu exteriorul, el poate utiliza un singur flux, la un moment dat. Rezulta ca in exterior procesorul trebuie sa contina memorii tampon, pe fiecare flux, ca interfata la magistrala partajata.

21. FUNCTIONAREA PROCESORULUI CENTRAL:

Procesorul central este un sistem digital secvential, ce are la baza o structura de procesare. Din punct de vedere functional, acesta contine mai multe unitati de tip automat finit, interconectate: o unitate de control si una sau mai multe unitati de prelucrare.

Unitatea de control genereaza semnale de comanda, atat pentru unitatile de prelucrare interne, cat si pentru unitatile aflate in exteriorul procesorului . Tipul unitatii de control defineste tipul procesorului cu set complex de instructiuni (CISC) sau cu set redus de instructiuni (RISC). Structura unitatilor de prelucrare defineste performantele procesorului. Principala sarcina a unui procesor este sa citeasca instructiuni din exterior si sa le execute. Un ciclu-instructiune implica mai multe etape, executate succesiv de catre procesor: citirea, decodificacrea si respectiv executia propriu-zisa a instructiunii:

15

Page 16: Conspect subiecte microcontrollere

Procesorul executa instructiuni, dintr-un program alfat intr-o memorie externa, intr-un interval de timp numit ciclu-instructiune. Rularea programului presupune executia secventiala a instructiunilor, nu neaparat succesiva. In general o instructiune este formata din mai multi octeti si poate avea lungime fixa sau variabila, dependenta de tipul procesorului. Operatia de citire presupune transferul octetilor instructiunii in procesor, iar decodificarea instructiunii determina comenzile necesare catre toate unitatile implicate in faza de executie. Etapa de citire a instructiunii poate fi scurtata, fie utilizand mecanisme hardware suplimentare , fie impunand anumite restrictii. Etapa de executie poate fi scurta daca operanzii se afla deja in registrele procesorului sau mai lunga, daca acestia se gasesc in memoria externa a procesorului.

22. PROCESOARE CISC:

Procesoarele CISC (Complex Instruction Set Computer) sunt caracterizate de un set extins de instructiuni, flexibile si complexe. In general unitatile centrale CISC se utilizeaza atat in sisteme cu arhitectura von Neumann, unde se pune problema economiei de memorie si de magistrale, atat in interiorul, cat si in exteriorul procesorului.

Caracterul flexibil al instructiunilor se poate evidentia pe mai multe planuri. Astfel instructiunile pot transfera si prelucra mai multe tipuri de operanzi de dimensiuni diferite, ce pot fi organizati pe cuvant, sau in structuri complexe. In plus operanzii se pot afla in diverse locatii de memorie , fie in microprocesor, fie in memoria primara rezultand ca localizarea lor se face prin mai multe moduri de adresare.

Caracterul complex arata ca in timpul executarii unei instructiuni, microprocesorul efectueaza mai multe operatii inlantuite, rezolvand astfel mai multe sarcini, printr-o singura comanda din exterior. Pentru aceasta unitatea CROM are o structura complexa, iar microprocesorul din ROM contine mai multe microinstructiuni executate succesiv, in mai multe stari de ceas. Instructiunile au o lungime variabila, pe unul sau mai multi octeti. Primul octet al

16

Page 17: Conspect subiecte microcontrollere

unei instructiuni contine codul instructiunii respective, numit opcode. Acesta este prezent in toate instructiunile si precizeaza ceea ce trebuie sa execute microprocesorul.

Dezavantajele procesorului CISC sunt:

Intr-un ciclu instructiune, operatiile asupra fluxului de instructiuni sunt mai lente deoarece octetii unei instructiuni sunt cititi din memoria comuna de program si date, externa si lenta.

In orice moment de timp, pe magistrala comuna se poate transfera, fie un cuvant dintr-o instructiune, fie un operand necesar executiei unei instructiuni.

Datorita magistralei unice nu sunt permise instructiuni care sa utilizeze 2 operanzi din memorie, deoarece acestia ar fi transferati succesiv si instructiunea ar dura mai mult.

23. PROCESOARE RISC:

Procesoarele RISC (Reduced Instruction-Set Computer) au un set redus de instructiuni simple si nu folosesc conceptul de microprogramare. Ele au aparut ca o alternativa la procesoarele CISC pentru cresterea performantelor programelor scrise in limbaje de nivel inalt si compilate. In general procesoarele cu arhitectura Harvard au unitati centrale de tip RISC.

Fiecare instructiune a unui procesor RISC contine in CROM o singura microinstructiune, si practic, conceptul de microprogramare dispare, fiind inlocuit de controlul cablat. Astfel structura CROM-ului se simplifica si decodificarea instructiunii este mut mai rapida. Rezulta ca timpul de executie se reduce, majoritatea instructiunilor fiind executate intr-o singura stare de ceas. Pentru aceasta, formatul instructiunilor are lungime fixa, predeterminata si suficient de mare pentru a putea fi codificate toate instructiunile. In plus simplitatea structurii hardware permite cresterea paralelismului in prelucrare prin implementarea mai multor unitati functionale.

La microprocesoarele RISC, setul de instructiuni este redus si contine doar instructiunile cele mai des folosite in programare. Astfel se simplifica munca de compilare si creste viteza de executie. Principalul dezavantaj care apare in cazul procesoarelor RISC, apare la executarea unor prelucrari complexe (similare unei instructiuni CISC) care necesita o secventa mare de instructiuni. Programele devin astfel tot mai lungi si mai greu de analizat, ocupand un spatiu mare in memoria primara. Setul de instructiuni trebuie sa fie simplu, simetric si cu putine moduri de adresare. De aceea operanzii din memorie sunt accesati doar prin instructiuni de transfer.

Din punct de vedere al performantelor software, o comparatie intre procesoarele CISC si RISC se poate face daca se considera timpul de executie al unui program Tp. La acelasi semnal de ceas Tc, micorprocesoarele CISC au putine instructiuni, dar care sunt executate mai greu. Microprocesoarele RISC au invers, mai multe instructiuni care sunt executate mai rapid.

Din punct de vedere hardware, microprocesoarele RISC au un paralelism de prelucrare mai mare, ceea ce reduce si mai mult numarul mediu de stari de ceas/instructiune. Odata cu dezvoltarea tehnologica, procesoarelor CISC moderne au fost implementate unitati functionale suplimentare, fiind preluate si o serie de concepte de la RISC.

Concluzionand putem spune ca procesoarele RISC au un set redus de instructiuni simple, executate foarte rapid, insa programele au mai multe instructiuni pentru implementarea acelorasi functii, fata de procesoarele CISC. Programele ocupa un spatiu mare de memorie, datorita numarului mare de instructiuni, cat si faptului ca instructiunile au o lungime fixa, mare. Performantele generale sunt superioare la procesoarele RISC, insa, pentru obtinerea lor, sunt necesare cunostinte hardware aprofundate, datorita particularitatilor de programare.

17

Page 18: Conspect subiecte microcontrollere

24. UNITATI ARITMETICO-LOGICE: definire, caracterizare generala si schema bloc:

Unitatea aritmetico-logica UAL, realizeaza operatii de prelucrare in virgula fixa: aritmetice, logice, de deplasare si rotire. UAL are o structura de circuit logic combinational CLC. De aceea operatia de prelucrare consta in propagarea datelor de intrare, numite operanzi, prin porti logice si generarea rezultatului la iesire, dupa un timp de intarziere de propagare prin structura CLC.

ALU primeste doi operanzi la intrare A si B, numiti operand stang si operand drept, si genereaza rezultatul C, conform operatiei de prelucrare comandata pe liniile campului FUNC. Operanzii sunt combinatii primare, ce pot avea, ce pot avea semnificatii diverse pentru utilizator. De aceea, tot ca rezultat al operatiei de prelucrare, ALU pozitioneaza o serie de indicatori, pe liniile IND, necesari testarii rezultatului obtinut.

Dimensiunea operanzilor A si B si a rezultatului C este aceiasi cu cea a registrelor UC, si reprezinta numarul maxim de biti ai cuvintelor ce pot fi prelucrate intr-o singura trecere prin ALU. Pentru precizie marita, operanzii pot fi reprezentati pe mai multe cuvinte, insa operatiile vor fi executate prin mai multe treceri prin UAL sub controlul unui software. Numarul de linii ale campului IND depind de numarul de indicatori pozitionati de UAL. In general, nu se mai utilizeaza o codificare binara, ci se foloseste selectia liniara. Numarul de linii ale campului FUNC depinde de numarul de operatii de prelucrare, pe care poate sa le execute ALU si se determina din codificarea binara a functiilor.

Proiectarea unitatilor unei UAL depinde de complexitatea acestora si se va face astfel incat sa se obtina o functionare optima. Unitatea cea mai complexa care genereaza intarzierea de propagare cea mai mare, este critica din punct de vedere al performantelor.

25. UNITATI LOGICE:

Unitatile logice realizeaza prelucrari la nivel de bit, si de aceea sunt implementate la nivel de bit si apoi coordonate pana la dimensionarea cuvantului. Fiecare unitate logica va contine un numar de porti egal cu dimensiunea operanzilor. In plus functiile de logice de baza sunt implementate in paralel. Unitatile logice nu sunt critice din punct de vedere al performantelor si pot avea o complexitate mai mica. De aceea pentru a nu creste artificial numarul circuitelor inversoare, functiile logice nu sunt negate fiecare in parte, ci sunt trecute printr-un multiplexor si doar functia selectata de acesta este eventual negata.

18

Page 19: Conspect subiecte microcontrollere

26. UNITATI ARITMETICE DE ADUNARE: schema bloc, exemple de proiectare:

Unitatile de adunare si de scadere se proiecteaza la nivel de bit si apoi se extind prin cascadare, la un numar de biti egal cu dimensiuna operanzilor.

Prin cascadarea unitatilor de adunare la nivel de bit, se obtine o unitate de adunare pe mai multi biti. In cazul general, o unitate aritmetica de adunare este un CLC cu 3 intrari (Ai, Bi si CYi) si doua iesiri (Ci si bitul CYi+1).

Prin cascadarea unitatilor de adunare la nivel de bit se obtine o unitate pe mai multi biti. In figura de mai jos este ilustrata o unitate de adunare pe n biti obtinuta prin cascadarea a n unitati de adunare pe 1 bit. Bitul de transport CYn este un indicator al operatiei de adunare si face parte din campul indicatorilor IND. Bitul CY0 este utilizat in operatii de adunare cu Carry sau in operatii de scadere.

Cea mai simpla unitate de adunare este unitatea de incrementare, care poate fi privita si ca o unitate de adunare fara CY (Carry) .

19

Page 20: Conspect subiecte microcontrollere

27. UNITATI ARITMETICE DE SCADERE: reprezentarea numerelor negative, principiu, schema bloc:

Unitatea de scadere foloseste reprezentarea cu semn a operanzilor si codul complement

fata de 2, de reprezentare a numerelor negative: -B= +1. Unitatea de scadere pe n biti se

construieste peste unitatea de adunare pe n biti. Un bit F din campul FUNC determina tipul operatiei. Daca F=0 se executa operatia de adunare; in caz contrar, daca F=1 se executa operatia de scadere. De asemenea, pentru ambele operatii se foloseste unitatea de adunare, la care pe intrarea operandului B se aplica valoarea acestuia sau valoarea sa negata.

Pentru aceasta se foloseste in unitatea de adunare, cate un inversor comandat (xor) , pe fiecare pozitie de bit al operandului B. Daca F=0 atunci operandul B trece nemodificat, iar daca F=1, atunci la iesirea portilor XOR se obtine valoarea negata a opeandului B.

Structura unitatii aritmetice de adunare si scadere este reprezentata in figura de mai jos. Se observa ca pentru operatia de scadere s-a mai adaugat un nivel de porti XOR, care duce la cresterea usoara a timpului de intarziere de propagare. Intarzierea de propagare este cu atat mai mare cu cat dimensiunea operanzilor este mai mare. Pentru cresterea perormantelor, unitatea aritmetica se poate proiecta cu un CLC neminimizat, cu doar 2 niveluri de porti, insa complexitatea circuitului creste exponential cu numarul de intrari.

20

Page 21: Conspect subiecte microcontrollere

28. UNITATI DE INCREMENTARE/DECREMENTARE:

Unitatile de incrementare / decrementare sunt cazuri particulare de adunare, respectiv scadere, cu un operand particular, B=1. Un bit F din campul FUNC va determina tipul operandului B, selectand fie operandul B de la intrarea ALU, fie valoarea constanta 00...01 B. Aceasta selectie se face cu n multiplexoare 2 la 1, aplicate la intrarea operandului B. Insa la nivel de bit, valorile constante 0L si 1L pot fi selectate direct, folosind comutatoare comandate (porti AND, respectiv OR).

Pe pozitiile celor mai semnificativi n-1 biti ai operandului B se folosesc porti AND, care permit trecerea acestor biti sau forteaza la iesire 0L, in functie de valoarea bitului de selectie F0 din campul FUNC. Pe pozitia celui mai semnificativ bit (B0) se foloseste o poarta OR, cu intrarea de selectie inversata, care permite trecerea bitului B0 sau forteaza la iesire 1L, in functie de valoarea bitului de selectie F1.

29. AUTOMAT RALU: definire, structura clasica, functionare, avantaje si dezavantaje:

Un automat RALU (Registers with Arithmetic-Logic Unit) este un ASSS (automat cu spatiul starilor structurat) cu acces paralel la elementele produsului cartezian, destinat realizarii unor operatii de prelucrare, aritmetice si logice, comandate de un automat de control. Complexitatea instructiunilor de prelucrare rezida din complexitatea RALU.

21

Page 22: Conspect subiecte microcontrollere

Structura RALU este formata dintr-un set de registre, care au acces la o unitate aritmetico-logica. Registrele sunt numite registre utilizator, deoarece pot fi apelate de utilizator, prin program. In operatiile de prelucrare, operanzii pot fi adusi, fie din registrele utilizator, fie din exterior. Cu cat RALU are mai multe registre, cu atat accesele in exterior sunt mai rare si prelucrarea este mai rapida. Deseori registrele sunt organizate sub forma unei memorii SRAM de date.

Pentru transferul operanzilor cu exteriorul, automatul RALU este conectat cu exteriorul prin doua fluxuri de date, unul de intrare si unul de iesire. Deoarece unitatile aritmetico-logice sunt circuite logice combinationale, pentru a evita buclele de reactie prin CLC-uri, acestea au la intrare registre temporare de operanzi.

Pentru acest automat: multimea intrarilor este X= DIN x (ADR x FUNC)= DIN x COM multimea iesirilor este Y = DOUT x IND

Starea ASSS de tip RALU este data de continutul memoriei RAM. Campul ADR indica modul in care se poate controla elementul Qi din produsul cartezian ce comuta.

Functionarea RALU:

In prima semiperioada a semnalului de ceas CLK=0L, latch-ul este transparent iar ,

memoria RAM fiind citita. Campul de adresa selecteaza locatia dorita din memorie, continutul acesteia aparand la iesirea memoriei RAM sub forma starii curente Qi, cu o intarziere data de timpul de acces al memoriei notat tA. Campurile ADR, FUNC si DIN se stabilizeaza cu o intarziere tc (timp de comanda) fata de frontul ceasului deoarece la frontului ceasului, abia sunt generate de catre automatul de control (care functioneaza cu acelasi semnal de ceas ca si RALU).

22

Page 23: Conspect subiecte microcontrollere

Starea Qi ajunge ca operand drept la ALU si impreuna cu DIN participa la realizarea functiei din ALU, stabilita de campul FUNC. Rezultatul se propaga prin latch-ul transparent obtinandu-se la iesire, stabil cu intarziere de propagare prin latch notat tL.

In semiperioada a 2-a cand CLK=1L, latch-ul trece pe memorare, iar . Memoria trece pe

scriere, scriindu-se in locatia deja selectata rezultatul din ALU care reprezinta starea urmatoare

in submultimea de stare Qi. Rezultatul se va inscrie corect in memoria RAM dupa un timp de

scriere care este asemantor cu timpul de acces.

Structura functioneaza dezechilibrat avand mult mai multe intarzieri in prima semiperioada. De obicei se doreste ca suma timpilor de intarziere in cele doua semiperioade sa fie aproximativi egali, ceea ce permite cresterea la limita a frecventei de functionare.

23

Page 24: Conspect subiecte microcontrollere

30. AUTOMAT RALU CU MAGISTRALA UNICA SI MEMORIE RAM:

Este utilizata in special la procesoarele CISC in care functionarea secventiala prin aducerea succesiva a operanzilor la ALU nu deranjeaza, fiind mascata de functionarea controller-ului procesorului.

Acest automat este ASSS avand :- multimea X a intrarilor: X= DIN x COM = DIN x FUNC x ADR- multimea Y a iesirilor: Y= DOUT x IND- multimea starilor: Q= Q1 x .... x Q2n+2

Registrele din memoria RAM stanga L0....LN dreapta R0...RN formeaza impreuna cu multiplexorul MUX o memorie RAM a carei arie de celule de memorie nu este bidimensionala ci unidimensionala. Memoria este adresata de campul ADR care prin intermediul multiplexorului, selecteaza un registru. Campul ADR este trimis de automatul de control pe liniile COM. Registrele temporare din stanga si dreapta memoreaza temporar operanzii la intrarea ALU. Datorita magistralei unice, operanzii sunt adusi succesiv la registrele temporare unde sunt memorati pe fronturi diferite ale semnalului de ceas.

Totodata registrele temporare izoleaza ALU de magistrala unica, impiedicand aparitia buclelor de reactie la ALU. Deoarece operanzii sunt adusi succesiv, prima data se va transfera operanzii sursa intr-un registru temporar si apoi operandul drept pentru a ramane deschisa calea de scriere a rezultatului in operandul drept. Operatia realizata de ALU este stabilita de campul FUNC, transmis tot de catre automatul de control pe liniile COM.

Operanzii pot fi localizati prin mai multe moduri de adresare de registru, imediata cand oprandul este o constanta in campul instructiune sau din exterior, localizat prin mai multe moduri de adresare. Pentru simplificarea structurii nu se permite aducerea a 2 operanzi succesivi din exterior.

24

Page 25: Conspect subiecte microcontrollere

31. RALU CU MAGISTRALA UNICA SI MEMORIE RAM PENTRU ARHITECTURA HARVARD:

Pentru procesoare cu arhitectura HARVARD aducerea succesiva a operanzilor la ALU este inaccpetabila. Acest dezavantaj este eliminat prin introducerea unei conditii suplimentare: unul din operanzi este predeterminat, fiind un acelasi registru pentru toate operatiile de prelucrare care necesita doi operanzi. Astfel din memoria RAM a RALU se va aduce un singur operand la ALU insa setul de instructiuni se reduce foarte mult, fiecare instructiune avand in acest caz mai putin forme.

Cu o astfel de structura, performanta creste insa procesorul nu suporta moduri de adresare mai complexe pentru transferul operanzilor.

32. SISTEMUL DE INTRERUPERI LA dsPIC30F4011: caracterizare, controller-ul de intreruperi:

33. SISTEMUL DE INTRERUPERI LA dsPIc30F4011: procesul de tratare a unei intreruperi:

25

Page 26: Conspect subiecte microcontrollere

41. CONTROLLERUL DMA AL DSP-ului TMS320C32:

Controller-ul DMA este un periferic programabil, capabil sa transfere blocuri de date fara interventia CPU. Utilizand canalele DMA, procesorul TMS320C32 poate astfel lucra cu memorii externe lente si cu periferice, fara ca fluxul de date catre CPU sa fie redus.

Principalele caracteristici ale controlerului DMA sunt: posibilitatea transferului de date oriunde in memoria fizica a procesorului; procesorul TMS320C32 are doua canale DMA, care pot lucra independent; posibilitatea transferurilor paralele ale CPU si DMA, cu aceleasi rate de transfer

datorita magistralelor interne separate ale acestora; contine registre separate pentru adresele surselor si destinatiilor, cu auto-

incrementare sau cu decrementare; sincronizarea transferului de date utilizand intreruperi externe sau interne.

Deoarece controllerul DMA si unitatea CPU utilizeaza magistrale diferite, ele pot functiona independent una de alta. Totusi, daca CPU si DMA acceseaza aceeasi locatie de memorie, atunci accesul se face in ordinea stabilita a prioritatilor. Utilizatorul poate sa aleaga una din urmatoarele 3 prioritati predefinite:

CPU are intotdeauna prioritate fata de DMA; DMA are intotdeauna prioritate fata de CPU; schema de prioritati rotative: initial CPU are prioritate, iar la urmatorul acces

simultan la o resursa comuna, controllerul DMA va avea prioritate.Transferurile se pot face continuu sau pot fi sincronizate cu intreruperi interne sau externe.

Canalele DMA contin propriile generatoare de adrese, registre de adrese sursa si destinatie precum si cate un contor, necesar numararii cuvintelor transferate.

26