Sunteți pe pagina 1din 15

SISTEME CU MICROPROCESOARE.

MICROCONTROLERUL PIC18F4455
9


1. ARHITECTURA GENERAL



Cuprins
Introducere
Obiective
1.1 ARHITECTURA VON NEUMANN
1.1.1 Unitatea central de prelucrare
1.1.2 Magistralele
1.1.3 Memoria
1.1.4 Echipamentele de intrare-ieire
1.2 ARHITECTURA HARVARD
1.3 MICROPROCESOR SAU MICROCONTROLER?
1.4 STRUCTURA INTERN A MICROCONTROLERELOR
DIN FAMILIA PIC18F
1.4.1 Execuia instruciunilor
1.4.2 Unitatea de control
1.4.3 Unitatea aritmetic i logic
Concluzii
ntrebri de autoevaluare
Termeni eseniali









ARHITECTURA GENERAL
10

Introducere
Microcontrolerele sunt n esen sisteme de calcul avnd arhitectura
modelat pe baza celei a calculatoarelor numerice. Pornind de la aceast
idee, capitolul curent urmrete cteva principii privind arhitectura i
modul de funcionare al acestor tipuri de sisteme.


Obiective
Dup parcurgerea acestui capitol cursantul va trebui:
- s neleag deosebirile existente ntre arhitecturile sistemelor de
calcul de tip von Neumann i Harvard;
- s neleag relaia dintre microcontrolere i microprocesoare
- s cunoasc rolul i structura elementelor componente ale
sistemelor de calcul;
- s cunoasc modul n care se execut instruciunile i conceptul de
pipeline;
- s cunoasc rolul registrului de lucru (WREG) i al registrului
STATUS.


1.1 ARHITECTURA VON NEUMANN

Din punct de vedere istoric sistemele de calcul moderne i au originea n cele
dezvoltate n timpul celui de-al doilea rzboi mondial. Aceste sisteme iniiale ndeplineau o
funcionalitate dedicat, fiind proiectate pentru a realiza o singur sarcin pe baza unui set de
date, iar pentru a-i schimba comportamentul era necesar refacerea conexiunilor fizice dintre
elementele componente. Evoluia esenial a acestor sisteme de calcul rudimentare s-a produs
n momentul n care s-a neles c programul putea fi stocat n memorie alturi de date. Unul
dintre avantajele acestei arhitecturi, denumit von Neumann, dup numele celui care a
coordonat proiectul, l reprezint flexibilitatea. Astfel, modificarea programului presupune
doar ncrcarea secvenei de bii corespunztoare n zona de memorie potrivit.
Simplitatea arhitecturii von Neumann a fcut ca majoritatea sistemelor de calcul
moderne s fie bazate pe aceast structur. Elementele caracteristice ale acestor sisteme de
calcul sunt: unitatea central de prelucrare (UCP), memoriile, echipamentele de intrare ieire
i magistralele. Unitatea central de prelucrare conine o unitate de control, care realizeaz
interpretarea, secvenierea instruciunilor i comand celelalte componente ale sistemului, i o
unitate aritmetic i logic (UAL), care execut instruciuni. Unitatea de memorie stocheaz
instruciuni i date, iar echipamentele periferice asigur interaciunea dintre sistemul de calcul
SISTEME CU MICROPROCESOARE. MICROCONTROLERUL PIC18F4455
11
i mediul nconjurtor prin introducerea instruciunilor i a datelor, respectiv prin
reprezentarea rezultatelor. Magistralele furnizeaz cile de comunicaie ntre componentele
sistemului de calcul.
n Fig. 1.1 se prezint structura general a sistemelor de calcul bazate pe arhitectura
von Neumann.


Fig. 1.1. Structura general a sistemelor de calcul bazate pe arhitectura von Neumann

1.1.1 Unitatea central de prelucrare (UCP)

Funcia principal a unitii centrale de prelucrare (UCP) este de a executa o secven
de instruciuni stocat n memorie. Acest lucru se va realiza n mod continuu i repetat atta
timp ct sitemul este activ. Un ciclu de instruciune presupune extragerea instruciunilor din
memorie ntr-un registru intern al UCP, decodificarea acestora i apoi execuia propriuzis.
Extragerea succesiv a instruciunilor din memorie se realizeaz sub controlul unui circuit
denumit numrtor de program (en. PC Program Counter), care va conine adresa
urmtoarei instruciuni din memorie care urmeaz a fi extras. Datele rezultate din execuia
programului sau datele utilizate de program pot fi accesate din memorie. De asemenea,
unitatea central de prelucrare supervizeaz i comand celelalte componente ale sistemului
prin liniile de control.[8]
Structura intern a unitii centrale de prelucrare conine n general urmtoarele
componente majore:
1. O unitate de control care realizeaz interpretarea i secvenierea
instruciunilor, precum i comanda celorlalte componente ale sistemului.
2. O unitate aritmetic i logic care execut instruciunile din memorie. Ea este
responsabil de manipularea datelor i executarea operaiilor aritmetice i logice.
3. Regitri interni (memorii de mare vitez), cu rol n stocarea de informaii
necesare execuiei instruciunilor (ex. Registrul de instruciuni, acumulatorul etc.).
n general, aceti regitri interni stocheaz doar civa octei de date, care pot fi
operanzi, rezultate, adrese de memorie etc.
ARHITECTURA GENERAL
12
1.1.2 Magistralele

Magistralele reprezint cile de comunicaie ale sistemului de calcul. Informaia
transferat ntre componentele sistemului este transmis sub form binar, paralel pe liniile
magistralelor. Se pot identifica trei tipuri de magistrale:

1. Magistrala de date este utilizat la transferul datelor necesare procesrii efectuate de
UCP. De exemplu, un sistem de calcul de 8 bii este un sistem de calcul care dispune
de o magistral de date cu limea de 8 bii, fiind capabil s transfere date (numere)
reprezentate pe 8 bii. Astfel, un asemenea sistem va putea efecuta operaii ntre
operanzi reprezentai pe 8 bii, furniznd rezultate reprezentate pe 8 bii.
Existena unei magistrale de 8 bii nu limiteaz procesorul doar la utilizarea datelor cu
dimensiunea de 8 bii, ci indic faptul c procesorul poate accesa un singur octet de
date per ciclu de memorie. De aceea, n raport cu o magistral cu limea de 16 bii, o
magistral de 8 bii poate transmite doar jumtate din informaie n unitatea de timp.
Astfel, procesoarele de 16 bii sunt mai rapide dect cele de 8 bii .a.m.d. Chiar dac
procesoarele de 16, 32 sau 64 de bii pot accesa date cu dimensiunea maxim egal cu
laimea magistralelor lor, ele pot accesa la fel de bine i locaii de memorie cu
dimensiunea mai mic (ex. cte un octet).
Totui, exist i cazuri n care dimensiunea magistralei externe de date este diferit de
cea a magistralei interne a procesorului. n aceste cazuri se vor realiza mai multe
transferuri din memorie pentru a extrage un operand.

2. Magistrala de adrese este utilizat pentru specificarea adreselor locaiilor de
memorie accesate. De exemplu, n cazul unei magistrale de adrese de 8 bii, sistemul
poate accesa 2
8
=256 locaii de memorie distincte. Cu 16 linii de adres se pot adresa
65536 locaii de memorie.

3. Magistrala de control are rolul de a conduce semnalele de control ale UCP care
comand componentele sistemului. De exemplu, semnalele transmise prin intermediul
magistralei de control pot specifica modul de acces la memorie n vederea realizrii
unor operaii de scriere sau de citire. Practic liniile de scriere i citire ale magistralei
controleaz direcia datelor de pe magistrala de date. Alte semnale ale magistralei de
control pot include: tactul sistem, liniile de ntrerupere, linii de stare etc.

SISTEME CU MICROPROCESOARE. MICROCONTROLERUL PIC18F4455
13
1.1.3 Memoria

Memoriile sunt caracterizate prin coninutul pe care acestea l stocheaz ntr-un set de
regitri i locaia sau adresa individual a fiecrui registru. n cazul arhitecturii von Neumann,
att instruciunile ct i datele se gsesc n acelai spaiu de memorie. Indiferent c este
intern sau extern, memoria reprezint un spaiu de stocare i poate fi accesat cu ajutorul
magistralelor dac se specific adresa locaiei dorite i tipul operaiei (scriere sau citire).

1.1.4 Echipamentele de intrare-ieire

Pentru a putea fi util un sistem de calcul trebuie s fie capabil s interacioneze cu
mediul nconjurtor. Acest lucru se realizeaz prin intermediul echipmantelor de intrare ieire.
Comunicarea dintre UCP i echipamentele periferice se va efectua tot prin intermediul
magistralelor printr-un set de regitri cu adrese proprii denumite porturi. Porturile pot fi
accesate n mod similar cu memoria, n multe situaii chiar sunt mapate n spaiul de adrese al
memoriei. Prin intermediul porturilor pot fi configurate perifericele, pot fi trimise date direct
spre exterior sau pot fi citite date binare din exterior.


1.2 ARHITECTURA HARVARD

Principalul avantaj al arhitecturii von Neumann l reprezint simplitatea, totui,
existena unor magistrale comune pentru toate cele trei componente ale arhitecturii determin
faptul c sistemul de calcul n cauz nu poate realiza la un anumit moment dect un singur
lucru. Astfel, de exemplu, accesul la datele din memorie nu se poate produce n acelai timp
cu extragerea unei instruciuni din memorie.
n aceste condiii, n prima decad dup cel de-al doilea rzboi mondial s-a dezvoltat
la universitatea Harvard o nou arhitectur pentru sistemele de calcul. Aceast arhitectur,
denumit arhitectura Harvard reprezenta o variaie a arhitecturii von Neumann fiind
caracterizat de faptul c datele i instruciunile sunt stocate separat n spaii de memorie
distincte i sunt accesate prin magistrale diferite. Avantajul acestei arhitecturi este dat de
posibilitatea de a accesa datele i instruciunile n acelai timp, avnd drept consecin
creterea complexitii arhitecturii interne. Acesta este i motivul pentru care arhitectura
Harvard a nceput s fie prezent mai mult abia odat cu evoluia circuitelor integrate.
ARHITECTURA GENERAL
14
n Fig. 1.2 sunt alturate, cu scop comparativ, cele dou tipuri de arhitecturi de sisteme
de calcul: von Neumann (Fig. 1.2-a) i Harvard (Fig. 1.2-b). n cea din urm se evideniaz
cele dou spaii de memorie distincte mpreun cu magistralele asociate. Fiecare memorie
dispune de propria sa magistral de adrese, respectiv de date, astfel nct nu exist nici o
legtur ntre adresele sau datele celor dou spaii de memorie.[10,19]


Fig. 1.2. Comparaie ntre arhitecturile von Neumann i Harvard


1.3 MICROPROCESOR SAU MICROCONTROLER?

Pn acum, n paragrafele anterioare s-a fcut referire doar la cteva sisteme de calcul
care ne trimit cu gndul mai mult spre calculatoarele numerice.
Dar, ce sunt de fapt microprocesoarele, respectiv microcontrolerele?
Pe scurt, microprocesorul implementeaz funciile unitii centrale de prelucrare.
Pentru a putea fi folosit ntr-un sistem de calcul, unui microprocesor trebuie s i se adauge
alte componente, cum ar fi memorie, sau componente pentru primirea i trimiterea datelor.
Pe de alt parte microcontrolerul a fost proiectat s conin toate cele trei
componente principale (UCP, memorie, echipamente de intrare-ieire) ntr-un singur circuit
integrat. Astfel, nu mai sunt necesare alte componente externe deoarece toate perifericele
sunt deja incluse n el. Funciile principale ale componentelor ns rmn neschimbate fiind
aceleai indiferent de aplicaia dezvoltat, dar din motive de pre i dimensiune
microcontrolerele dispun de un set redus de instruciuni i o capacitate de adresare mai mic.
Astfel, fcnd trimitere la cele dou tipuri de arhitecturi prezentate anterior n Fig. 1.1
i Fig. 1.2, microprocesorul reprezint unitatea central de prelucrare, pe cnd
microcontrolerul reprezint ntreg sistemul de calcul.[4,6]
SISTEME CU MICROPROCESOARE. MICROCONTROLERUL PIC18F4455
15
Pentru a pune n eviden structura intern a microcontrolerelor se consider urmtorul
exemplu.

Exemplu
Se analizeaz cazul unui sistem de control al unei sere, bazat pe
microcontroler. Acesta monitorizeaz parametri precum: umiditatea
solului, temperatura ambiant sau gradul de iluminare i comand diferite
echipamente pentru a stabili condiiile optime n ser (Fig. 1.3).


Fig. 1.3. Controlul unei sere cu ajutorul unui microsistem

Astfel, umiditatea din sol se msoar cu ajutorul unui traductor de
umiditate care furnizeaz un semnal analogic. Dac acest semnal este sub
o anumit valoare se comand pornirea sistemului de irigaie care
presupune deschiderea unei valve pentru ap timp de 5 secunde, apoi
nchiderea acesteia timp de 5 secunde i repetarea acestui ciclu pn la
refacerea umiditii dorite a solului
De asemenea, se monitorizeaz temperatura din ser cu ajutorul unui
senzor de temperatur i se comand deschiderea / nchiderea ferestrelor,
precum i sistemul de ncalzire al serei.
n contextul acestei aplicaii, sistemul de control trebuie s interfaeze
diverse semnale. Astfel, pentru interfaarea semnalelor care provin de la
traductorul de umiditate, senzorul de lumin, respectiv cel de temperatur,
vor fi necesare trei intrri analogice, respectiv un convertor analog-digital.
Convertorul analog-digital va discretiza pe rnd cele trei semnale
furniznd intern valorile digitale echivalente care vor putea fi comparate
cu referinele impuse. Pornirea iluminatului, comanda ferestrelor serei, a
sistemului de inclzire sau a sistemului de irigaie se poate realiza prin
semnale de control discrete, de tip nchis/deschis furnizate de la un port de
ieire digital n baza logicii de control realizate prin programul memorat.
Dac presupunem c acest sistem necesit i o interfa cu utilizatorul care
s permit fixarea parametrilor de funcionare ai serei, precum i afiarea
ARHITECTURA GENERAL
16
unor informaii utile putem completa necesarul de porturi de intrare/ieire
digitale.

n continuare se pot rezuma resursele necesare pentru implementarea
proiectului:
- o intrare pentru un oscilator extern conectat la un counter/timer
care s furnizeze baza de timp pentru obinerea celor 5 secunde
cerute. n general, tactul sistem este de cele mai multe ori folosit
de ctre un timer intern pentru obinerea temporizrilor;
- trei intrri analogice i un convertor analog-digital necesare pentru
msurarea semnalelor care provin de la traductorul de umiditate,
senzorul de temperatur i cel de lumin;
- o ieire digital pentru comanda valvei sistemului de irigat;
- o ieire digital pentru comanda motoarelor de acionare ale
ferestrelor serei;
- o ieire digital pentru comanda sistemului de nclzire;
- o ieire digital pentru comanda sistemului de iluminat;
- intrri i ieiri digitale suplimentare pentru interfaarea unui panou
de comand care poate cuprinde butoane i elemente de afiare
(ex. LED-uri, afiaj LCD);
- UCP pentru realizarea calculelor i pentru efectuarea operaiilor de
intrare-ieire;
- Memorie program (de obicei memorie de tip ROM) pentru
stocarea logicii de control;
- Memorie de date pentru stocarea variabilelor temporare (de obicei
memorie de tip RAM).
Presupunnd c programul de control nu ocup complet toate resursele
microcontrolerului, sistemul ar mai putea transmite date la distan prin
intermediul unui sistem de comunicaie.

n concluzie, pornind de la exemplul anterior se pot identifica o parte din
componentele unui microcontroler. Astfel, structura general a microcontrolerelor include
unitatea central de prelucrare, memorii pentru stocarea datelor i a programului, ceas intern,
timere, interfee de comunicaie, convertoare analog-digitale, circuite de veghe i bineneles
porturi pentru intrri i ieiri digitale i analogice.[8]
SISTEME CU MICROPROCESOARE. MICROCONTROLERUL PIC18F4455
17

Fig. 1.4. Structura general a microcontrolerelor


1.4 STRUCTURA INTERN A MICROCONTROLERELOR DIN FAMILIA PIC18F

PIC este o familie de microcontrolere produse de compania Microchip Technology.
Denumirea PIC este o prescurtare de la Programmable Intelligent Computer (Calculator
Inteligent Programabil). Succesul de care se bucur aceste microcontrolere se datoreaz n
mare msur suportului oferit de productor i al mediului de dezvoltare MPLAB IDE
disponibil gratuit pe site-ul productorului
1
. Numrul mare de aplicaii, posibilitatea de a
dezvolta aplicaiile n limbaj de asamblare sau n C, dar i o mulime de biblioteci bine
documentate permit dezvoltarea rapid a aplicaiilor i fac din aceste microcontrolere un bun
candidat pentru studiul din acest curs.
PIC 18 reprezint o familie de microcontrolere cu instruciuni pe 16 bii, i magistral
intern de date de 8 bii, memorie program de tip flash, spaiu de memorie date adresabil
liniar. Familia a fost extins cu un numr mare de protocoale de comunicaii, CAN, Ethernet,
USB, SPI, I2C, Irda, existnd n prezent peste 100 de membri ai familiei fiecare cu alte
combinaii de faciliti. n continuare se prezint cteva caracteristici ale acestor
microcontrolere.
Microcontrolerele PIC analizate n acest curs sunt bazate pe arhitectura Harvard.
Pentru a reduce din complexitatea unitii centrale de prelucrare, aceste microcontrolere
implementeaz un set redus de instruciuni (en. RISC = Reduced Instruction Set Computer).
Spre deosebire de procesoarele RISC, procesoarele cu set complex de instruciuni (en. CISC =
Complex Instruction Set Computer) au fost proiectate s implementeze un set de instruciuni
ct mai apropiat de cel al limbajelor de nivel nalt, motiv pentru care i numrul de
instruciuni este mai mare. n schimb, procesoarele RISC dispun de un set compact de
instruciuni i moduri mai puine de adresare, obinndu-se n felul acesta timpi de execuie ai
instuciunilor mai mici la aceeai frecven de tact.[8]

1
http://www.microchip.com [22]
ARHITECTURA GENERAL
18
Unul dintre avantajele importante ale arhitecturii Harvard este dat de faptul c
magistralele celor dou tipuri de memorii pot avea dimensiuni diferite. Astfel, magistrala de
date (instruciuni) a memoriei program mpreun cu memoria program pot fi organizate pe
cuvinte (n cazul analizat este vorba de cuvinte de 16 bii), iar magistrala i memoria de date
sunt organizate pe octet. Acest lucru, combinat cu setul redus de instruciuni permit
implementarea unor instruciuni cu lungime fix ce pot fi extrase ntr-un singur pas.

1.4.1 Execuia instruciunilor


nelegerea ciclului instruciune este esenial pentru nelegerea modului de
funcionare al microcontrolerelor. Un ciclu instruciune presupune dou faze principale:
- Faza de extragere a instruciunilor din memoria program ntr-un registru intern al
UCP
- Faza de execuie care include decodificarea instruciunii, extragerea operanzilor,
efectuarea operaiei specificate n codul instruciunii i depunerea rezultatului n
memorie
Durata unui ciclu instruciune depinde de frecvena de lucru a sistemului, fiind egal
cu 2x4 taci sistem. Astfel, tactul sistem este divizat intern la patru fiind generate patru
semnale de tact n cuadratur (Q1, Q2, Q3 i Q4). Numrtorul program este incrementat n
Q1, iar instruciunea este extras din memorie n registrul de instruciuni n Q4. n
urmtoarele Q1 pn la Q4 instruciunea este decodificat (Q1), se citesc datele/operanzii din
memorie (Q2), se proceseaz datele n funcie tipul instruciunii decodificate (Q3), se scriu
datele/rezultatele n memorie (Q4). Dac oricare din aceti pai lipsete, datorit tipului de
instruciune care se execut, se va insera un pas fr operaie n locul lui, astfel nct timpul de
execuie rmne constant.[8,15]
Analiznd cele dou faze ale ciclului instruciune se constat c n faza de extragere
UCP acceseaz memoria program, iar n faza de execuie UCP acceseaz memoria de date.
innd cont de faptul c microcontrolerul implementeaz o arhitectura Harvard, iar cele dou
memorii pot fi accesate prin magistrale independente, pentru a crete performana sistemului
s-a implementat un pipeline pe dou nivele pentru instruciuni. Acesta permite suprapunerea
celor dou faze ale instruciunii. Astfel, n timp ce instuciunea curent este extras cea
precedent se execut. n acest fel se reduce la jumtate timpul de execuie al unei
instruciuni, datorit faptului c la fiecare 4 taci sistem se terimin de executat o instruciune.
Excepie prezint instruciunile care modific valoarea numrtorului de program.

SISTEME CU MICROPROCESOARE. MICROCONTROLERUL PIC18F4455
19

Fig. 1.5. Fazele de execuie ale instruciunilor [8,15]


Fig. 1.6. Exemplu de execuie al unui set de instruciuni

Pornind de la modul n care se execut instruciunile, UCP poate fi mprit n dou
componente: Unitatea de control i regitrii asociai, respectiv Unitatea Aritmetic i Logic.

1.4.2 Unitatea de control

n Fig. 1.7 se prezint structura simplificat a unitii de control mpreun cu circuitele
componente.


Fig. 1.7. Unitatea de control

Instruciunile care constituie programul microcontrolerului sunt stocate n memoria
program sub forma unor cuvinte binare la adrese succesive. Un numrtor binar, denumit
numrtor de program (en. PC = Program Counter) este utilizat pentru a adresa pe rnd
ARHITECTURA GENERAL
20
fiecare instruciune. Sub controlul acestui numrtor, instruciunile vor fi extrase pe rnd din
memoria program, iar apoi vor fi executate.
Doi regitri de instruciuni, care mpreun formeaz Pipeline-ul, vor stoca codul
instruciunilor extrase din memoria program. Cel de sus, Registrul de Instruciuni 1 (RI1) va
stoca instruciunea n i o va pstra pe durata urmtorului ciclu instruciune. Aceast structur
permite ca instruciunea n-1, aflat n registrul de la baza pipeline-ului (Registrul de
Instruciuni 2 - RI2) s fie executat n timp ce instruciunea n este extras din memorie i
stocat n Registrul de instruciuni 1 al pipeline-ului. Dup execuia instruciunii n-1 se
transfer coninutul din registrul de instruciuni 1 al pipeline-ului n registrul de instruciuni 2,
urmnd ca n timp ce instruciunea n+1 este extras din memorie i stocat n vrful pipeline-
ului, instruciunea de la baz (instruciunea n) s fie executat.
Una din componentele de baz ale UCP, decodificatorul, are rolul de a descifra codul
instruciunii stocate n registrul de la baza pipeline-ului i contribuie la generarea semnalelor
de control interne necesare pentru execuia instruciunii.

1.4.3 Unitatea aritmetic i logic

Microcontrolerul conine o unitate aritmetic si logic (Fig. 1.8) pe 8 bii i un registru
de lucru de 8 bii (en. WREG = Work Register) denumit i acumulator. Unitatea aritmetic este
capabil s efectueze operaii precum: adunare, scdere, operaii logice (I, SAU, XOR etc),
deplasri i rotiri, nmulire. n cazul instruciunilor cu doi operanzi (ex. adunare) unul din
operanzi se va gsi ntotdeauna n registrul de lucru. Cellalt operand poate fi o constant sau
un registru din memorie. n funcie de starea unui bit din codul instruciunii, denumit bit de
destinaie d, rezultatul operaiilor poate fi stocat fie n registrul de lucru (d=0) fie n registrul
din memoria de date din care provenea operandul (d=1). Rezultatul operaiei de nmuliere se
va stoca ntotdeauna ntr-o pereche de regitri speciali PRODH:PRODL.
Introducerea registrului de lucru (WREG) n structura microcontrolerului contribuie la
simplificarea substanial a modului de reprezentare al instruciunilor, lucru care conduce la
creterea vitezei de execuie a instruciunilor, precum i la reducerea cantitii de memorie
necesar pentru stocarea instruciunilor. Pentru a exemplifica aceast idee se poate considera
cazul unei operaii de adunare n care intervin trei termeni: doi operanzi, respectiv un rezultat.
n lipsa registrului de lucru i a bitului de destinaie al rezultatului, codul instruciunii de
adunare ar fi trebuit s cuprind specificarea tuturor celor trei termeni, n loc de unul singur,
lucru care ar fi condus la creterea numrului de bii necesari pentru reprezentarea
instruciunii.
SISTEME CU MICROPROCESOARE. MICROCONTROLERUL PIC18F4455
21

Fig. 1.8. Structura unitii aritmetice i logice

Operaiile aritmetice i logice pot genera o serie de indicatori ce vor fi stocai n
registrul de stare STATUS. Aceti indicatori sunt: bitul de transport (C - Carry), bitul de
depire (OV - Overflow), bitul de semn (N - Negative), rezultat zero (Z - Zero), bitul de
transport auxiliar (DC Digit Carry). Registrul de stare poate fi i registru de destinaie, dar
dac operaia executat va conduce la setarea acestor indicatori, se va suprascrie rezultatul. De
exemplu instruciunea CLRF STATUS, va terge toi biii registrului STATUS, dar bitul Z va
fi setat la sfrsitul instruciunii. n concluzie, registrul de stare va conine ntotdeauna valorile
corecte ale indicatorilor.[8]
Structura registrului de stare STATUS este prezentat mai jos:

bit 7 bit 0
- - - N OV Z DC C
Fig. 1.9. Registrul STATUS



Concluzii
Pornind de la ideea introductiv conform creia microcontrolerele
reprezint ncapsularea unor sisteme de calcul, n acest curs s-au prezentat
principalele tipuri de arhitecturi existente, s-a evideniat structura acestora,
rolul elementelor componente, dar i principalele avantaje i dezavantaje
care le caracterizeaz. Studiul unei aplicaii practice a condus la
identificarea necesarului de elemente componente n structua general a
microcontrolerelor, iar familia de microcontrolere PIC18F a furnizat
suportul pentru aprofundarea conceptelor referitoare la modul de execuie
al instruciunilor, respectiv la structura intern a UCP.

ARHITECTURA GENERAL
22
1. Arhitectura microcontrolerului permite extragerea unei instruciuni din
memorie simultan cu execuia altei instruciuni. Discutai elementele
care permit realizarea acestor lucruri n paralel.
2. Care este diferena ntre arhitectura von Neumann i arhitectura
Harvard a sistemelor de calcul?
3. Care este diferena ntre un microcontroler i un microcprocesor?
4. Explicai rolul registrului de lucru (WREG) n arhitectura
microcontrolerului.
5. Explicai rolul registrului status (STATUS) n arhitectura
microcontrolerului.
6. Prezentai un avantaj i un dezavantaj pentru fiecare din cele dou
tipuri de arhitecturi prezentate.
7. Care sunt elementele componente ale unui sistem de calcul?
8. Care sunt fazele unei instruciuni?
9. Care este rolul numrtorului de program?

ntrebri de
autoevaluare
10. Cum este implementat pipeline-ul la nivelul unitii de control?


Termeni
eseniali
Adres
Colecie de bii utilizai pentru a identifica locaiile de memorie
Ciclu instruciune
Procesul prin care se extrage o instruciune din memoria program i se
execut
CISC
Complex Instruction Set Computer
Dat
Coninutul unei locaii de memorie
Instruciuni
Comenzi pe care le execut UCP
Magistral
Colecie de fire prin care informaia se transmite paralel ntre componentele
unui sistem de calcul
Memorie
Spaiu de stocare
Memorie de date
Spaiu de stocare temporar (RAM) pentru datele cu care lucreaz programul
SISTEME CU MICROPROCESOARE. MICROCONTROLERUL PIC18F4455
23
Memorie program
Spaiu de stocare pentru program
Microcontroler
Sistem de calcul ncapsulat ntr-un singur circuit integrat
Microprocesor
Parte component a unui sistem de calcul, UCP
Numrtor de program
Numrtor binar utilizat pentru adresarea instruciunilor. Conine adresa
instruciunii care urmeaz a fi executat
PIC
Programmable Intelligent Computer
Pipeline
Tehnic utilizat pentru a crete numrul de instruciuni care pot fi
executate n unitatea de timp. Pipeline-ul nu reduce timpul necesar
execuiei unei instruciuni, ci crete numrul de instruciuni care pot fi
procesate simultan
Port
Calea de legtur a sistemului de calcul cu lumea exterioar prin care acesta
poate s trimit i s primeasc date
Registru
Spaiu de stocare
Registru de instruciuni
Spaiu de stocare temporar pentru o instruciune extras din memorie
RISC
Reduced Instruction Set Computer
STATUS
Registru care indic starea operaiilor aritmetice i logice executate de
unitatea aritmetic i logic
UAL
Unitate aritmetic i logic
UCP
Unitate central de prelucrare
WREG
Registru de lucru / acumulator. n general conine unul din operanzii
instruciunilor

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