Arhitectura unitatii centrale.docx

29
ARHITECTURA UNITÃŢII CENTRALE CONSTANTIN (ENCULESCU) CARMEN Gr. 1343

Transcript of Arhitectura unitatii centrale.docx

ARHITECTURA UNITII CENTRALE

CONSTANTIN (ENCULESCU) CARMEN

Gr. 1343

B U C U R E S T I

2015

CUPRINS

1. Generalitati

2. Scurt istoric al procesorului

3. Arhitectura general a unui procesor

3.1. Setul de regitri;

3.2 Unitatea aritmetic logic

3.3 Codificarea instruciunilor

3.4 Moduri de adresare a operanzilor

4. Memoria

4.1 Tipuri de memorii

4.2 Tehnologii de realizare

5. Circuitele auxiliare

5.1 Oscilatorul de ceas;

5.2 Generarea semnalului de iniializare (reset);

5.3 Mecanismul de intreruperi.

CAPITOLUL 1 Generalitati

Totalitatea elementelor componente si modul n care aceste componente sunt interconectate, definesc arhitectura unui echipament electronic. Schematic, un echipament electronic autoprogramabil este prezentat in figura 1.

Fig.1 Schema unui echipament electronic autoprogramabil

Se poate observa din schema de mai sus ca principalele sisteme sunt:

sursa de alimentare;

unitatea centrala;

dispozitivele periferice ( interfete de comunicatie, de proces si pentru operator);

magistrala sistemului ( magistrala de date, de adrese, semnale de control)

Unitatea centrala este compusa din:

circuitul de initializare si supraveghere;

procesorul;

oscilatorul de ceas;

controlorul de intreruperi;

pachetul de memorii (nevolatila, de date, de program).

Principalul element al unitatii central este procesorul, el fiind cel care realizeaza prelucrarea efectiva a datelor cu ajutorul programului stocat in memorie.

Procesorulncorporeaz functiile unitatii centrale de prelucrare a informatiei (CPU) ale unui calculator

Reprezint forma structural cea mai complex pe care o pot avea circuitele integrate, controland activitile ntregului sistem n care este integrat i prelucranddatelefurnizate de utilizator.

Procesorul asigur procesarea instruciunilor i datelor, att a celora dinsistemul de operareal sistemului, ct i a celora din aplicaia utilizatorului, i anume le interpreteaz, prelucreaz i controleaz, execut sau supervizeaz transferurile de informaii i controleaz activitatea general a celorlalte componente care alctuiesc un sistem de calcul.

CAPITOLUL 2 Scurt istoric al procesorului

Procesoarele au avut evoluie rapid de la 8088, 8086, 80486, producia fiind asigurat n principal de firma Intel, printre primii productori de procesoare destinate utilizatorilor privai.

Alte firme productoare sunt AMD, Cyrix, ITD. Procesoarele produse de AMD i Cyrix sunt mai ieftine dect cele produse de Intel i au o arhitectur compatibil cu cele produse de Intel, ns se dezvolt separat .

Procesorul i386 a fost primul procesor care a inclus 6 faze de execuie paralel.

Procesorul 486 are un cache intern de date i instruciuni de nivel L1 de 8Ko pentru a mri procentul instruciunilor ce pot fi executate la viteza de o instruciune pe impuls de tact. La acest procesor a fost pentru prima dat integrat unitatea de calcul n virgul flotant (coprocesorul) n acelai cip cu CPU-ul .

AMD a lansat n aceeai perioad procesorul 486 DX5 cu frecvene pn la 133, fr prea mult succes.

Intel a decis s schimbe formatul numelui trecnd la procesorul Pentium, la care adugat o a doua band de asamblare pentru a obine performane superioare (cele dou benzi de asamblare (U,V) pot executa dou instruciuni pe un impuls de tact).

Memoria cache s-a dublat, existnd un cache de 8 Ko pentru cod i unul similar pentru date. Pentru mbuntirea execuiei ramificaiilor din programe s-a implementat conceptul de predicie a salturilor, introducndu-se un tabel pentru memorarea adreselor cele mai probabile la care se fac salturile. Registrele principale au rmas pe 32 de bii, cile interne fiind pe 128 sau 256 de bii, magistrala de date extern 64 bii.

AMD a lansat ntr-o perioad intermediar procesorul 586, apoi K5. Iar Cyrix a continuat cu 6x86. AMD i Cyrix au rmas mult vreme ntr-un con de umbr al lui Intel, mai ales c procesoarele intel Pentium (lansate la frecvene de 75Mhz) s-au dezvoltat rapid, de la frecvena de 166 Mhz fiind adugate instruciunile MMX (un set de 57 noi instruciuni, patru tipuri noi de date i un nou set de regitri pentru a accelera performanele aplicaiilor multimedia i de comunicaii)

Dup Pentium urmeaz Pentium Pro care are o arhitectur superscalar pe trei ci, care permite executarea a trei instruciuni ntr-un impuls de tact avnd un cache L2 de 256 Kb strns legat de CPU printr-o magistral dedicat pe 64 de bii.

Procesoarele Pentium i Pentium Pro au fost dezvoltate pn la frecvene de 233 Mhz, urmtorul pas fiind Pentium II (este un Pentium Pro cu MMX) i Pentium III.

Revenind la AMD, a lansat procesorul AMD K6 ce avea n plus 32kb cache level 1 fa de K5. Urmtorul pas a fost AMD K6-2, care a dat o replic MMX-ului de la Intel cu un set de instruciuni numite 3D NOW.

Cyrix a rmas n urm, unui 6x86 la 200Mhz corespunzndu-i un Pentium la 150Mhz, pe cnd la AMD seria K6-2 a fost extrem de reuit, depind pe alocuri procesoarele Intel la frecvene echivalente.

CAPITOLUL 3 Arhitectura general a unui procesor

In prezent, procesoarele sunt produse intr-o gama variata de arhitecturi si complexitati, elementele principale, comune tuturor fiind schematizate in figura 2.

Fig.2 Schema generala a unui procesor

1.1 Setul de regitri

Pe parcursul efecturii programului, stocarea temporar a operanzilor, rezultatelor intermediare sau finale se realizeaza cu ajutorul setului de registrii, care este o o memorie locala de capacitate redus.

El este compus dintr-un numr de 8 pana la 32 locatii de memorie, avnd fiecare acelasi numr de biti ca si operanzii prelucrati de unitatea aritmetic si logic.

Avantajele existentei setului de registrii sunt:

confera viteza mult mai ridicat de acces la informatia stocat n setul de registrii dect la cea din memoria de date situat n exteriorul procesorului.

localizarea mult mai usoar a unei informatii n setul de registrii deoarece numrul acestora este redus (832) spre deosebire de memoria de date care poate avea capacitti de ordinul miilor sau milioanelor de locatii.

Registrii generali sunt majoritari in structura setului de registri si sunt destinati stocrii temporare a datelor, functia lor fiind aceea de a stoca adresele unor operanzi n memoria de date.

Indicatorul de stiv SP (Stack Pointer) este un registru special, utilizat de ctre procesor pentru a gestiona o structur de date de tip stiv n memoria de date, utilizat n principal pentru stocarea adreselor de revenire din proceduri.

Un alt registru special este registrul contor program PC, care este responsabil de citirea n ordinea corect a instructiunilor din memoria de program.

Instructiunile snt citite din memoria de program de ctre Unitatea de acces la memoria de program, care copiaz codul instructiunii din locatiile indicate de registrul PC ntr-un registru special numit registru de cod instructiune IR.

3.2 Unitatea aritmetic - logic

Unitatea aritmetic logic(ALU- de la denumirea dinenglezArithmetic logic unit) este un circuit electronic digital complex care poate efectua operaii aritmetice i logice. n diagramele - bloc de computere, unitatea aritmetic logic este reprezentat ca un modul funcional, component a schemei de principiu a unui calculator electronic.

Constructiv, n calculator, ALU este un bloc fundamental alunitii centrale de procesare (prelucrare)CPU.

ALU asigur funcii de prelucrare a datelor, respectiv:

efectuare de operaii aritmetice;

efectuare de operaii logice;

efectuarea altor operaii specifice, la nivel de bit asupra operanzilor.

Fig.3 Schema intrarilor si iesirilor din UAL

Unitatea aritmetic - logic realizeaz ntre datele de intrare disponibile pe conexiunile Operand A respectiv Operand B operatii aritmetice si logice elementare.

Aceste date de intrare pot fi preluate att din memoria de date prin intermediul Unittii de acces la memoria de date, cat si dintr-o memorie de date local reprezentat de setul de registrii.

Rezultatul operatiilor aritmetice sau logice se transmite pe conexiunea Rezultat si poate fi copiat n memoria de date sau n setul de registrii.

Cei doi operanzi A si B, precum si rezultatul obtinut snt numere ntregi reprezentate de 8, 16, 32 sau 64 biti. Numrul de biti este un indicator de performant al procesorului.

3.3 Codificarea instruciunilor

Instructiunile procesoarelor snt simple, avand o structur fix. Marea majoritate a acestor instructiuni pot fi ncadrate n trei categorii principale:

instructiuni fr operanzi, ele fiind descrise doar de operatia pe care o realizeaz

instructiuni cu un singur operand, descrise de operatia realizat si de ctre o indicatie privind locul de unde se citeste operandul. Rezultatul operatiei este copiat n acelasi loc de unde s-a citit operandul, nlocuind vechea valoare a acestuia.

instructiuni cu doi operanzi, descrise de operatia realizat si de indicatii ctre locurile de unde se citesc cei doi operanzi. Rezultatul este copiat de obicei n locul primului operand.

Instructiunile unui procesor snt codificate n memoria de program sub forma unor siruri de biti, grupati n cmpuri care codific diferitele informatii necesare interpretrii instructiunii.

Structura general a codurilor corespunztoare celor trei categorii de instructiuni prezentate anterior este prezentata schematic in figura 4:

Fig.4 Structura codurilor pentru instructiunile unui processor

Pentru decodificarea instructiunilor este necesar ca pozitia codului operatiei s fie ntotdeauna aceeasi n cadrul codului instructiunii deoarece din codul operatiei se determin categoria din care face parte instructiunea si implicit strctura codului acesteia.

Pentru simplificarea stocrii instructiunilor n memoria de program se prefer utilizarea unor coduri de instructiuni de dimensiune fix sau a unui numr redus de dimensiuni posibile ale acestor coduri.

Dimensiunile codurilor snt alese de obicei ca multiplii de 8, deoarece circuitele de memorie ofer astfel de dimensiuni pentru locatii.

Din acest motiv, codul operatiei va avea un numr variabil de biti n functie de categoria instructiunii si de dimensiunile informatiilor de localizare a operanzilor.

Decodificarea corect a codurilor cu lungime variabil presupune ca nici un cod de o anumit lungime s nu fie nceputul unui cod de lungime mai mare.

O modalitate simpl de a genera un set corect de coduri cu lungime variabil este s se utilizeze un arbore binar de codificare. Astfel:

codurile generate snt reprezentate de frunzele arborelui,

secventele de biti corespunztoare se obtin prin parcurgerea arborelui de la rdcin pn la frunza corespunztoare codului.

la fiecare trecere printr-un nod intermediar se obtine un bit.

dac la trecerea prin nodul intermediar se coboar pe ramura din stnga, bitul obtinut are valoarea 0 iar dac se coboar pe ramura din dreapta are valoarea 1.

Codurile instructiunilor contin pe lng codul operatiei si informatii de localizare a operanzilor. Totalitatea modalittilor de specificare a localizrii unui operand reprezint modurile de adresare oferite de un anumit procesor.

Un exemplu de arbore de codificare care genereaz un set de 9 coduri este prezentat n figura 5:

Fig.5 Arbore de codificare, generator de set de coduri

3.4 Moduri de adresare a operanzilor

Fiecare operand poate fi localizat n dispozitivele de memorare a informatiei, modalitatea de specificare a localizrii fiecrui operand fiind indicat de codul operatiei.

Tipul de operatie este caracterizat de o anumit localizare a operanzilor, care impune un mod specific de indicare a localizrii.

Principalele moduri de adresare ntlnite n cazul majorittii procesoarelor sunt:

adresarea direct a registrilor

adresarea direct a memoriei

adresarea imediat

adresarea indirect a memoriei

adresarea indirect si indexat

3.4.1 Adresarea direct a registrilor

Operandul este localizat ntr-un registru, informatia necesar pentru indicarea acestui registru fiind numrul acestuia. Deoarece setul de registrii al unui procesor contine un numr redus de registrii, snt necesari foarte putini biti pentru reprezentarea numrului registrului n care se afl operandul.

Considerand numarul total de registrii - R, numrul minim de biti necesari pentru indicarea unui registru (Nr) se poate determina cu relatia:

,

cu specificatia ca functia ceil () rerezinta rotunjirea prin adaos la cel mai apropiat intreg.

3.4.2 Adresarea direct a memoriei

Operandul este localizat ntr-o locatie din memoria de date, informatia necesar pentru indicarea acestei locatii fiind numrul acesteia care se mai numeste si adresa locatiei de memorie.

n acest caz, numrul minim de biti necesari codificrii adresei operandului este impus de dimensiunea memoriei de date.

Considerand numarul total de locatii din memoria de date - D, numrul minim de biti necesari pentru codificarea unei adrese (Nd) se poate determina cu relatia:

3.4.3 Adresarea imediata

Operandul este localizat chiar n codul instructiunii, numrul de biti necesar pentru codificarea valorii operandului depinzand de tipul acestuia si poate fi 8, 16 sau 32 de biti.

3.4.4 Adresarea indirect a memoriei

Adresarea indirect este o metod prin care localizarea operandului poate fi determinat n momentul executiei programului.

Operandul este localizat ntr-o locatie din memoria de date. adresa locatiei n care se afl operandul fiind stocat ntr-un registru al procesorului. Numrul acestui registru este indicat n cmpul corespunztor operandului care utilizeaz acest mod de adresare.

Deoarece este posibil ca numai o parte din registrii unui procesor s poat fi utilizati n scopul stocrii adreselor operanzilor, numrul de biti necesar codificrii registrului va fi mai mic dect n cazul adresrii directe a registrilor.

In cazul in care numrul de biti necesari pentru codificarea adresei unei locatii din memoria de date este mai mare dect cel oferit de un registru al procesorului se vor utiliza doi registrii succesivi care s contin fiecare, jumtate din numrul de biti necesari pentru codificarea adreselor.

3.4.5 Adresarea indirect si indexata

Adresarea indirect si indexata este utila n cazul n care se doreste accesarea cmpurilor unei structuri de date a crei localizare n memoria de date este prezent ntr-unul dintre registrii de adres.

Operandul este localizat ntr-o locatie din memoria de date, adresa locatiei n care se afl operandul obtinandu-se prin adunarea unei valori constante la continutul unui registru al procesorului. Respectiva valoarea constant dar si numrul acestui registru snt indicate n cmpul corespunztor operandului care utilizeaz acest mod de adresare.

De esemplu, in cazul procesoarelor din familia AVR, pentru pstrarea dimensiunii de 16 biti pentru codul instructiunilor, s-a procedat la acceptarea a doar doi registrii deadres (Y si Z). De aceea, cmpul care indic numrul registrului de adres are dimensiunea de un bit.

CAPITOLUL 4 Memoria

Memoria interneste cea mai important component fizic a unui calculator prin intermediul creia se pot aprecia performanele unui calculator. Memoria intern este unitatea funcional a unui calculator destinat pstrrii permanente sau temporare a programelor, a datelor necesare utilizatorului sistemului de operare si a informatiilor de configurare.

Memoria intern a unui calculator este caracterizat de doi parametri:

Dimensiunea, cu ct memoria este mai mare, cu att performanele calculatorului sunt mai bune. Dimensiunea se exprim n Mbytes (minim 16 Mbytes)

Timpul maxim de rspuns reprezint timpul necesar procesorului pentru a citi sau scrie date. Valoarea acestui parametru este de 70 ns. Calculatorul este ca att mai rapid cu ct aceast valoare este mai mic.

1.2 Tipuri de memorii

4.1.1 Clasificari din punct de vedere al arhitecturii subansamblului de memorie

Din punct de vedere al arhitecturii subansamblului de memorie, unittile centrale se clasific n dou categorii principale:

arhitecturi de tip von Neumann care utilizeaz o singur memorie

pentru stocarea att a programului ct si a datelor prelucrate de acesta;

arhitecturi de tip Harvard care utilizeaz dou memorii dierite pentru

stocarea programului si a datelor.

Arhitectura de tip von Neumann este specific echipamentelor de calcul de uz general (calculatoare personale) permitand utilizarea eficient a spatiului de memorie si ncarcarea programelor dintr-o unitate de memorie extern de capacitate mare.

Dezavantajul aceste arhitecturi este legat de limitarea vitezei de executie a programelor datorat necesittii de a accesa memoria att pentru citirea codurilor instructiunilor ct si pentru citirea sau scrierea operanzilor aflati n memorie.

De cele mai multe ori, viteza de calcul a procesoarelor este mai ridicat dect cea a circuitelor de memorie ceea ce poate forta procesorul s astepte citirea unei noi instructiuni sau accesul la un anumit operand.

Majoritatea unittilor centrale utilizate de ctre automatele programabile prezint o arhitectur de tip Harvard.

Arhitectura de tip Harvard ofer posibilitatea de a accesa n paralel codurile instructiunilor si operanzii, putandu-se astfel realiza citirea codului instructiunii urmtoare n timp ce se citeste sau scrie operandul utilizat, rezultnd astfel o crestere a vitezei de executie a instructiunilor.

4.1.2 Clasificari din punct de vedere al posibilitatii de a retine informatia n absenta

alimentrii cu energie elctric

Conform acestui criteriu exist dou categorii principale de circuite de memorie si anume:

memorii volatile al crui continut se altereaz n absenta alimentrii cu energie electric;

memorii nevolatile care si pstreaz nealterat continutul chiar dac nu snt alimentate cu energie electric.

Memoriile volatile snt utilizate pentru stocarea datelor n timpul prelucrrii acestora deoarece permit modificarea rapid a continutului memorat. n acest caz, alterarea informatiei n absenta tensiunii de alimentare nu reprezint un inconvenient deoarece informatia este stocat n acest tip de memorie doar pe durata executiei programului.

Memoriile nevolatile desi prezint avantajul pstrrii informatiei snt caracterizate fie de imposibilitatea modificrii continutului fie de valori foarte mari ale timpilor necesari pentru modificarea acestuia. Din acest motiv, memoriile de tip nevolatil snt utilizate pentru stocarea programelor si a informatiilor de configurare.

4.1.3 Memoria de program

Memoria de program este destinat stocrii codurilor instructiunilor care formeaz programul de aplicatie.

n cazul aritecturii Harvard, memoria de program este o unitate fizic separat de cea de date care se conecteaz la procesor prin intermediul unei magistrale proprii.

Deoarece programul trebuie s fie pstrat n memorie si n absenta alimentrii cu energie electric, pentru implementarea acestei unitti de memorie se vor utiliza circuite de memorie de tip nevolatil.

4.1.4 Memoria de date

Memoria de date este destinat stocrii informatiilor prelucrate, ea trebuind s permit att citirea ct si modificarea rapid a continutului locatiilor sale. Din acest motiv, pentru implementarea memoriei de date se folosesc circuite de memorie de tip Random Access Memory (RAM).

Memoriile de tip RAM pot fi realizate utiliznd dou tehnologii principale:

RAM static;

RAM dinamic.

1.3 Tehnologii de realizare

4.2.1 Tehnologia RAM static

Tehnologia RAM static utilizeaz celule de memorie bazate pe circuite logice de tip bistabil, caracteristica principal a acestui tip de memorie fiind aceea c pstreaz informatia att timp ct este alimentat cu energie electric pe durate de timp nedeterminate indiferent dac memoria este sau nu utilizat.

Caracteristic aceasta recomand acest tip de memorii pentru dispozitive n care procesorul poate fi oprit pentru anumite perioade de timp pentru reducerea consumului de energie electric.

Elementul de stocare n memoriile RAM de tip static este circuitul bistabil de tip R-S. Schema unui astfel de circuit este prezentat n figura 6:

Fig.6 Elementul de stocare a unui bit in memoria RAM statica

4.2.2 Tehnologia RAM dinamic

Tehnologia RAM dinamic permite realizarea unor circuite de memorie avnd capacitti mult mai ridicate dect cea de tip RAM static.

Elementele de stocare a informatiei snt realizate utiliznd un condensator electric de capacitate redus si un tranzistor MOS cu rol de comutator comandat electric.

Schema elementului de stocare este prezentat n figura 7:

Fig.7 Elementul de stocare a unui bit in memoria RAM dinamica

CAPITOLUL 5 Circuitele auxiliare

Buna functionare a procesorului este asigurat de dispozitivele auxiliare:

oscilatorul de ceas;

circuite de initializare si supraveghere;

controlorul de ntreruperi.

5.1 Oscilatorul de ceas

Oscilatorul reprezint baza de timp necesar procesorului si altor componente din structura microcontrolerului pentru a derula corect secventele de operatii interne.

n practic se utilizeaz trei categorii principale de oscilatoare si anume:

5.1.1 oscilatoare RC;

5.1.2 oscilatoare stabilizate cu cristal de cuart de frecvent ridicat;

5.1.3 oscilatoare stabilizate cu cristal de cuart de frecvent redus.

5.1.1 Oscilatoare RC

Oscilatoarele RC sunt realizate avnd la baz un circuit de temporizare realizat cu rezistent si condensator. Acest tip de oscilator este total integrat n structura microcontrolerului astfel nct utilizarea lui nu necesit adugarea nici unei componente suplimentare.

Oscilatoarele RC genereaz o singur frecvent de ceas, existand ns posibilitatea ajustrii acesteia de ctre utilizator pentru compensarea erorii initiale a frecventei.

Avantajul principal al acestui tip de oscilator este simplitatea n utilizare dar precizia frecventei generate este redus.

Factorii care determin gradul redus de precizie al oscilatoarelor RC snt:

dispersia valorilor componentelor RC

dependenta acestora de temperatur.

Utilizarea acestui tip de oscilator se recomand numai n aplicatiile care nu depind de precizia de msurare a timpului si care nu necesit generarea unor evenimente sau semnale cu precizie n timp.

5.1.2 Oscilatoare stabilizate cu cristal de cuart de frecvent ridicat

Oscilatoare stabilizate cu cristal de cuart de frecvent ridicat sunt realizate cu ajutorul unui amplificator prevzut cu un circuit de reactie care include n structura sa un cristal de cuart.

Rezonanta mecanic a cristalului modific impedanta acestuia astfel nct conditia de oscilatie se obtine doar pentru frecventa de rezonant.

Precizia de realizare a cristalelor de cuart precum si dependenta redus de temperatur a parametrilor de rezonant confer acestui tip de oscilator o foarte bun precizie si stabilitate a frecventei generate.

Frecventa generat de acest tip de oscilator este de ordinul megaherzilor fiind determinat de cristalul utilizat. Din acest motiv, proiectantul sistemului are posibilitatea de a selecta orice frecvent din setul de valori disponibile.

5.1.3 Oscilatoare stabilizate cu cristal de cuart de frecvent redusa

Oscilatoare stabilizate cu cristal de cuart de frecvent redusa, din punct de vedere constructive, sunt similare celor care utilizeaz cristele de frecvent ridicat.

Diferenta este dat de tipul cristalului de cuart utilizat, care are n acest caz frecventa de rezonant de 32768 Hz.

Frecventa redus generat de acest tip de oscilator conduce:

la un consum foarte mic de energie electric (de ordinul 10-8 - 10-6 W),

la o vitez foarte redus de calcul.

Acest tip de oscilator este recomandat ca surs secundar de semnal de ceas utilizat n perioadele de timp n care procesorul nu este solicitat si se doreste reducerea consumului de energie electric.

Deoarece setul de frecvente disponibile pentru cristalele de cuart este relativ redus iar frecventa maxim generat de acestea este limitat la aproximativ 24 Mhz, generarea ceasului sistem poate fi realizat cu ajutorul unui circuit de tip Phase-Locked Loop (PLL), a carui structura este prezentata in figura 8:

Fig.8 Structura circuitului Phase Locked - Loop

5.2 Circuite de initializare si supraveghere

Pentru a se asigura o functionare corect, Procesoarele si unele dispozitive periferice trebuie s fie initializate la pornire, ceea ce presupune aducerea elementelor componente ale acestor dispozitive n strile specifice nceperii functionrii.

Totodata, n aplicatiile industriale sau cele care necesit un grad ridicat de sigurant n functionare, este necesar supravegherea modului n care se desfsoar executia programului de aplicatie pentru detectarea situatiilor de functionare anormal. La detectarea unei astfel de situatii, se recomand reinitializarea ntregului sistem.

Functiile de initializare si supraveghere snt realizate de catre circuitul de generare a semnalului de initializare respectiv de ctre ceasul de gard.

Generarea semnalului de initializare

Generarea semnalului de initializare se realizeaz n urmtoarele situatii:

la punerea sub tensiune a microcontrolerului (Power - on Reset);

tensiunea de alimentare scade sub pragul de sigurant (Brown out Reset);

cand se primeste comand extern de initializare;

cand se constata depsirea intervalului de timp setat al ceasului de gard.

5.2.1 Initializarea la punerea sub tensiune a microcontrolerului

Initializarea la punerea sub tensiune a microcontrolerului este generat de fiecare dat cnd microcontrolerul este alimentat cu energie electric.

Pentru realizarea acestei functii, se compar permanent tesiunea de alimentare (VDD) cu o valoare de prag (VPOR). Att timp cat tensiunea de alimentare este mai mic dect tensiunea de prag, semnalul de initializare (POR_RESET) este mentinut activ.

Inactivarea acestui semnal se produce dup un interval de timp (TPOR) fat de momentul n care tensiunea de alimentare depseste valoarea de prag, asa cum se observa in figura 9:

Fig.9 Generarea semnalului de initializare la punerea sub tensiune (POR_RESET)

Tensiunea de prag (VPOR) este aleas astfel nct restul circuitelor de generare a semnalelor de initializare s fie functionale pentru tensiuni de alimentare mai mari decat acest valoare (1.8 V). Intervalul de timp (TPOR) este de ordinul a 10-30 sec si are rolul de a asigura stabilizarea functionrii circuitelor microcontrolerului nainte de dezactivarea semnalului de initializare.

5.2.2 Initializarea cnd tensiunea de alimentare scade sub pragul de sigurant

Initializarea cnd tensiunea de alimentare scade sub pragul de sigurant este necesara deoarece buna functionare a oricrui microcontroler este garantat doar dac tensiunea de alimentare este suficient de mare.

Pentru aceasta, se compar n permanent tensiunea de alimentare (VDD) cu valoarea de prag (VBOR) corespunztoare valorii minime necesare pentru buna functionare a microcontrolerului.

n cazul n care tensiunea de alimentare scade sub valoarea de sigurant, se activeaz semnalul de initializare (BOR_RESET).

Inactivarea acestui semnal se produce dup un interval de timp (TBOR) fat de momentul n care tensiunea de alimantare depseste valoarea de sigurant, asa dupa cum se poate observa in figura 10:

Fig.10 Generarea semnalului de initializare la tensiune de alimentare insuficienta

(BOR_RESET)

5.2.3 Initializare prin comand extern

Initializare prin comand extern se aplic microcontrolerului prin intermediul unui semnal ( RESET ) prezent pe una dintre conexiunile acestuia.

De obicei, se utilizeaz un buton pentru generarea comenzii externe de initializare, asa cum se observa in circuitul din figura 11:

Fig.11 Circuit de comanda pentru initializare externa

5.2.4 Initializare la depsirea intervalului de timp al ceasului de gard

Ceasul de gard (Watch-Dog Timer) este un dispozitiv care supravegheaz functionarea procesorului si / sau a aplicatiei software.

n timpul functionrii procesorului exist posibilitatea ca acesta s devieze de la evolutia corect a strilor interne ca rezultat:

al unei perturbatii electromagnetice externe care determina schimbri haotice ale strii circuitelor,

a unor erori software.

n aceste situatii este necesar mai intai detectia functionrii anormale si apoi reinitializarea procesorului pentru a se reveni la o functionare corect.

Supravegherea functionrii procesorului este realizat de ctre un circuit special numit ceas de gard (Watch-Dog Timer).

Acest circuit este un temporizator care la expirarea unui interval de timp prestabilit (Tw) solicit reinitializarea procesorului.

Procesorul, ca urmare a executiei unei instructiuni special (CLRWDT), poate rearma acest temporizator astfel nct intervalul de timp s fie prelungit cu Tw.

Programul de aplicatie care ruleaz n microcontroler este conceput n asa fel nct sa execute instructiunea de rearmare a ceasului de gard la intervale de timp DT