Sunteți pe pagina 1din 7

Microprocesoare i programare n asamblare 2.

Structuri de procesare

2. Structuri de procesare
Sistemele digitale de ordinul 3 se obin prin realizarea unei bucle de reacie peste un
sistem digital de ordinul 2, de tip automat finit. Practic, pentru obinerea unui sistem de ordinul 3, se
poate conecta n bucl un automat finit (A), cu un alt sistem digital, care are cel mult ordinul 2.
n funcie de tipul sistemului digital conectat n bucl cu automatul A, rezult trei tipuri de
sisteme de ordinul 3:
- sisteme cu bucla de reacie nchis printr-un CLC. n acest caz, nivelul funcional al sistemului
rezultat rmne acelai cu cel al automatului finit, dar se poate optimiza structura ntregului circuit
logic combinaional. De exemplu, automatele finite realizate cu bistabile JK sau numrtoare
sincrone (care sunt la rndul lor tot automate finite) pot avea structurile CLC mult mai simple dect
automatele realizate cu bistabile D;
- sisteme cu bucla nchis printr-o memorie RAM (sistem digital de ordinul 1), ce permite
optimizarea modului de prelucrare a strii interne, ns sistemul are tot o funcionare de automat
finit. De exemplu, funcionarea unui automat RALU poate fi mbuntit, dac se conecteaz n
bucl un bistabil D, pentru memorarea indicatorului de transport CY. Ieirea bistabilului genereaz
o nou intrare n RALU (CI = carry input), care reprezint valoarea lui CY de la pasul anterior.
Astfel, se pot realiza i operaii aritmetice cu CY (de exemplu, ADD = adunare, ADC = adunare cu
CY, SUB = scdere, SBC = scdere cu CY);
- sisteme obinute prin interconectarea n bucl de reacie a dou automate finite, n care un
automat finit va juca rol de sistem de control (Master), iar cellalt va fi sistemul controlat (Slave),
dup cum se arat n Fig. 2.1.
Ambele automate se conecteaz cu exteriorul, prin linii de intrare, X (X1 i X2), respectiv
linii de ieire, Y (Y1 i Y2). n figur, se observ i buclele de reacie a strilor, ce definesc cele 2
structuri de tip automat finit.
Automatul de control trimite comenzi (COM) ctre automatul controlat, iar acesta va
returna semnale sub form de indicatori (IND), ctre master.

X2 X1

COM
AF AF
IND
Slave Master

Y2 Y1

Fig. 2.1. Interconectarea n bucl de reacie a dou automate finite

n funcie de tipul automatului finit controlat, structura obinut poate avea, fie tot o
comportare de automat finit, ca i n cazurile precedente, fie va avea comportamente noi, obinndu-
se un salt funcional notabil. Printre sistemele digitale de ordinul 3 cu comportamente noi se afl i
sistemele de procesare, care formeaz clasa structurilor de procesare.

Prof. dr. ing. Viorel Nicolau 1


2. Structuri de procesare Microprocesoare i programare n asamblare

O structur de procesare este un sistem digital de ordinul 3, care se obine prin conectarea
n bucl de reacie a dou automate finite particulare, dup cum se arat n Fig. 2.2:
un automat de control cu memorie ROM, numit controler cu ROM, prescurtat CROM;
un automat de prelucrare, de tip unitate aritmetico-logic cu registre, pentru prelucrarea datelor,
numit RALU (Registers with Arithmetic-Logic Unit).

DIN RESET DIN

COM COM
SI INSTR
RALU IND CROM SYNC RALU IND CROM
SO
SYNC
PSI PE
DOUT CLK DOUT CLK

Fig. 2.2. Structuri de procesare: PSI i PE

n funcie de particularitile constructive ale automatului CROM, structura se numete:


procesor strict iniial (PSI), cnd fluxul de instruciuni (INSTR) lipsete, iar CROM-ul execut
un microprogram, aflat n propria memorie ROM. n acest caz, structura este de fapt un automat
finit de prelucrare;
procesor elementar (PE), care are i fluxul de instruciuni (INSTR), i care citete instruciuni
dintr-o memorie de program extern i le execut. Reprezint cea mai simpl structur de procesor
central.

2.1. Procesorul strict iniial


2.1.1. Definirea structurii
Procesorul strict iniial (PSI) este o structur de procesare, la care automatul de control
este strict iniial, i conine n memoria ROM, ntregul algoritm de rezolvare a problemei pentru
care a fost conceput. Structura PSI este ilustrat n partea stng a Fig. 2.2.

Automatul CROM nu primete instruciuni din exterior i evolueaz n funcie de mrimile


de intrare. Este un automat de forma: A = (X, Q, Y, f, g)
Mulimea semnalelor de intrare (X) este format din indicatorii de la RALU (IND) i
semnalele de sincronizare primite din exterior pe liniile de intrare (SI = Sincro Input):
X = IND x SI
Mulimea semnalelor de ieire (Y) este format din comenzile trimise ctre RALU (COM)
i semnalele de sincronizare transmise n exterior pe liniile de ieire (SO = Sincro Output):
Y = COM x SO
Semnalul RESET permite iniializarea PSI, printr-un salt la singura stare iniial.
Semnalul de ceas (CLK) definete funcionarea secvenial a PSI.

2 Prof. dr. ing. Viorel Nicolau


Microprocesoare i programare n asamblare 2. Structuri de procesare

Simbolul PSI este reprezentat n Fig. 2.3.


Se observ c PSI are dou fluxuri de date RESET CLK
conectate la RALU:
date de intrare (DIN), pe unde se primesc din
exterior date, pentru a fi prelucrate;
date de ieire (DOUT), pe unde se genereaz DIN PSI DOUT
rezultatele n exterior.

Semnalele de sincronizare SYNC asigur


dialogurile cu exteriorul, pentru coerena
transferurilor pe cele dou fluxuri de date.
SI SO
SYNC

Fig. 2.3. Simbolul PSI

2.1.2. Utilizarea PSI n aplicaii


n aplicaii, PSI este un sistem orientat funcional, astfel structurat nct s realizeze o
singur funcie, creia i este dedicat i optimizat.
n general, PSI realizeaz prelucrri asupra unui flux de date:
- primete eantioane pe liniile DIN;
- face prelucrri (de exemplu, filtrare);
- genereaz rezultate pe liniile DOUT.

Algoritmul de prelucrare se afl sub


forma unui microprogram, n memoria ROM din q0 = stare iniial
CROM. Microprogramul din CROM este rulat INIT
n bucl infinit, realiznd iterativ o aceeai
secven de prelucrare, ce are structura logic
din Fig. 2.4.
CITIRE E.
Etapa de iniializare a variabilelor PE DIN
(INIT) se execut o singur dat, la iniializarea
CROM-ului.
Apoi se intr n bucla principal de PRELUCRARE
EANTION
microprogram, n care se execut iterativ:
- citirea unui eantion pe fluxul de date de
intrare; GENERARE REZ.
- prelucrarea propriu-zis a datelor, prin PE DOUT
efectuarea unor operaii aritmetico-logice;
- generarea rezultatului n exterior, pe fluxul de
date de ieire DOUT.
Fig. 2.4. Structura microprogramului din CROM

Prof. dr. ing. Viorel Nicolau 3


2. Structuri de procesare Microprocesoare i programare n asamblare

2.1.3. Dialogurile PSI cu exteriorul


Fiecare dialog al PSI cu exteriorul are loc prin perechi de semnale de dialog, pe liniile
SINC din CROM: un semnal de intrare de sincronizare (pe SI), respectiv un semnal de ieire (pe
SO). Dialogurile pentru transferul datelor cu exteriorul sunt diferite, pentru fiecare din cele dou
fluxuri de date (DIN i DOUT).

1) Transferul de date pe fluxul de intrare DIN


Pentru preluarea unui operand de pe fluxul de intrare DIN, PSI utilizeaz dou semnale de
dialog cu mediul exterior: IV i IA, dup cum se arat n figura alturat.
Dup ce mediul extern va pune pe liniile de intrare
DIN o dat valid, acesta va activa un semnal ctre PSI, numit
generic IV (Input Valid), ce indic faptul c pe DIN se afl un DIN PSI
operand valid.
PSI va atepta n bucl apariia acestui semnal, i dac
IV = 1, va prelua data de pe DIN n unul din registrele RALU,
i va semnaliza acest lucru mediului exterior printr-un semnal
de ieire, numit generic IA (Input Acknowledge).
IV IA
SINC
Transferul de date pe DIN

Secvena de microprogram, pentru citirea unui operand de pe fluxul de intrare DIN, va


cuprinde urmtorii pai:
- ateapt n bucl apariia semnalului IV = 1;
- dup activarea IV, se preia operandul i se transmite n exterior semnalul IA = 1, anunnd mediul
exterior c operandul a fost preluat.

2) Transferul de date pe fluxul de ieire DOUT


Pentru transmiterea unui operand pe fluxul de ieire DOUT, PSI utilizeaz tot dou
semnale de dialog cu mediul exterior: OV i OA, dup cum se arat n figura alturat.

Cnd PSI genereaz un rezultat n exterior, pe fluxul


DOUT, el va indica acest lucru mediului exterior, prin activarea
unui semnal de ieire, numit generic OV (Output Valid). Apoi
va atepta n bucl preluarea datei de ctre mediul exterior,
PSI DOUT
testnd un semnal de intrare, numit OA (Output Acknowledge).
Dup ce mediul exterior preia operandul de pe DOUT,
va activa semnalul OA, iar PSI va inactiva semnalul OV i va
iei din bucla de transmisie a operandului.
OA OV
SINC
Transferul de date pe DOUT

Secvena de microprogram pentru transmiterea datelor pe DOUT va avea urmtorii pai:


- se trimite operandul pe DOUT i se transmite semnalul OV = 1, anunnd mediul exterior c are
de transmis un operand;
- ateapt n bucl semnalul OA = 1, iar apoi inactiveaz OV i iese din bucla de transmisie.

4 Prof. dr. ing. Viorel Nicolau


Microprocesoare i programare n asamblare 2. Structuri de procesare

2.2. Procesorul elementar


2.2.1. Definirea structurii
Procesorul elementar (PE) este o structur de procesare, la care automatul de control este
doar iniial (nu strict iniial, ca la PSI). Ca urmare, CROM-ul va avea asociat un set de funcii
elementare (nu doar o singur funcie ca la PSI), numite instruciuni, care pot fi declanate din
exterior. Setul de instruciuni este memorat n memoria nevolatil ROM din CROM.
PE primete din exterior instruciuni, i le execut. Structura PE este ilustrat n Fig. 2.7.
DIN

COM
INSTR
RALU IND CROM
SYNC
PE

DOUT CLK
Fig. 2.7. Structura PE

Se observ c structura de PE este conectat cu exteriorul pe 3 fluxuri de informaii:


- un flux de intrare de instruciuni (INSTR), pe unde procesorul citete din exterior instruciunile,
n mod secvenial;
- un flux de date de intrare (DIN), care permite aducerea unor operanzi din exterior, n vederea
prelucrrii;
- un flux de date de ieire (DOUT), prin care se transmite n exterior, rezultatul unei operaii de
prelucrare.
Pe fiecare flux, transferul de informaii este sincronizat cu ajutorul unor perechi de semnale
de dialog cu exteriorul, pe liniile SYNC: un semnal de sincronizare de ieire, sub forma unui semnal
de comand n exterior, i un semnal de intrare, ca stare din exterior (rspuns la comand).

a) Controlerul cu ROM (CROM) are stocat n memoria ROM, setul de instruciuni al


procesorului respectiv. Pentru fiecare instruciune, n ROM se memoreaz un microprogram,
realizat din una sau mai multe microinstruciuni, prin microprogramare. Fiecare microinstruciune
reprezint o stare, n spaiul strilor automatului finit de tip CROM, executat ntr-o stare de ceas.
Automatul CROM este de forma: A = (X, Q, Y, f, g)
Mulimea semnalelor de intrare (X) este format din: instruciunile primite din exterior
(INSTR), indicatorii de la RALU (IND) i semnalele de sincronizare primite din exterior pe liniile
de intrare (SI = Sincro Input): X = INSTR x IND x SI
Mulimea semnalelor de ieire (Y) conine: comenzi ctre RALU (COM) i semnale de
sincronizare transmise n exterior pe liniile de ieire (SO = Sincro Output): Y = COM x SO
CROM-ul primete din exterior o instruciune i o execut, prin rularea microprogramului
corespunztor ei, trimind comenzi ctre RALU sau n exterior (pe liniile SYNC). De la unitatea de
prelucrare RALU, CROM-ul primete indicatori pe liniile IND, rezultai n urma prelucrrii, pe care
i poate testa, i n funcie de care poate evolua diferit n timpul execuiei instruciunii.

Prof. dr. ing. Viorel Nicolau 5


2. Structuri de procesare Microprocesoare i programare n asamblare

Cu ct microprogramele au mai puine microinstruciuni, cu att execuia instruciunii este


mai rapid (dureaz mai puine stri de ceas), ns CROM-ul trebuie s genereze simultan mai multe
comenzi ctre RALU sau n exterior. Ideal ar fi ca fiecare microprogram s conin o singur
microinstruciune, caz n care etapa de execuie ar dura o singur stare de ceas.
Observaie: n memoria ROM din automatul de control, setul de instruciuni este predefinit i
nu poate fi modificat de utilizator. Dac n loc de ROM, controlerul are o memorie RAM, atunci
setul de instruciuni poate fi schimbat de utilizator, conform specificului aplicaiei. n acest caz,
procesorul este mult mai flexibil i dedicat aplicaiei, iar controlerul se numete controler cu RAM
(CRAM). Toate microprocesoarele au unitate de control de tip CROM.

b) Unitatea aritmetico-logic cu registre (RALU) realizeaz funciile de prelucrare propriu-zis


ale procesorului, cuprinse n setul de instruciuni ale acestuia.
n exterior, Automatul RALU este conectat prin dou fluxuri de date, unul de intrare i
unul de ieire. Pe liniile DIN primete operanzi din exterior, pentru a fi prelucrai, iar pe liniile
DOUT transmite rezultate n exterior, obinute n urma prelucrrii.
Intern, RALU conine:
- un set de registre utilizator, care pot memora diverse date ale task-ului aflat n lucru;
- unitate aritmetico-logic (ALU = Arithmetic-Logic Unit), pentru prelucrarea datelor.
Registrele sunt numite registre utilizator, deoarece pot fi apelate de utilizator prin program
(pot fi precizate n cmpul instruciunii). Deseori, registrele sunt organizate sub forma unei memorii
de date, foarte rapid, de tip SRAM.
n general, performanele n operaiile de prelucrare ale unui procesor sunt date de
performanele automatului RALU. Complexitatea instruciunilor de prelucrare rezid din
complexitatea structural a unitii ALU. n plus, cu ct RALU are mai multe registre utilizator, cu
att accesele n exterior (care sunt mai lente) sunt mai rare, i prelucrarea este mai rapid.
ALU realizeaz operaii de prelucrare n virgul fix: aritmetice, logice, de deplasare i
rotire. Operanzii pot fi adui la ALU, fie din registrele utilizator, fie din exterior, pe liniile DIN.
Simbolul unei uniti aritmetico-logice este ilustrat n Fig. 2.8.
ALU primete doi operanzi la intrare, A
i B, numii operand stng (L = Left) i respectiv A B
drept (R = Right), i genereaz rezultatul C,
conform operaiei de prelucrare, comandat pe
L R
liniile cmpului FUNC. n plus, ALU
poziioneaz o serie de indicatori de condiii, pe FUNC ALU
liniile IND, necesari utilizatorului pentru
testarea rezultatului. Cei mai folosii indicatori
sunt: indicatorul de transport (Carry), depire
(Overflow), zero (Zero), semn (Sign), paritate C IND
(Parity) i transport auxiliar (Auxiliary Carry). Fig. 2.8. Simbolul ALU
Operaia de prelucrare const n:
- propagarea datelor de intrare prin ALU (pori logice);
- generarea rezultatului la ieire, dup un timp de ntrziere de propagare prin structura CLC;
- poziionarea indicatorilor de condiii.
ALU are o structur de circuit logic combinaional (CLC), fiind sistem digital de ordinul 0.
Dac operanzii (A, B i C) sunt transferai printr-o magistral intern comun, pentru a evita buclele
de reacie nedorite peste CLC, ALU are la intrare registre temporare, numite registre acumulator.
Automatul RALU utilizeaz acelai semnal de ceas (CLK) cu cel al structurii de procesare,
iar sincronizarea prelucrrilor se face cu fronturile ceasului. Operaiile de prelucrare trebuie
realizate de ALU, ntre dou fronturi ale semnalului de ceas. De aceea, frecvena maxim a
semnalului de ceas al PE este limitat de timpul de ntrziere de propagare prin ALU.

6 Prof. dr. ing. Viorel Nicolau


Microprocesoare i programare n asamblare 2. Structuri de procesare

2.2.2. Fluxurile de informaii ale PE


n funcie de tipul procesorului, fluxurile de informaii cu exteriorul pot fi realizate pe
magistrale separate sau partajate, rezultnd performane i costuri complet diferite. n Fig. 2.9 sunt
ilustrate trei moduri diferite de conectare cu exteriorul. Primele dou moduri corespund arhitecturii
Harvard, iar cel de-al treilea este specific arhitecturii Von Neumann.

INSTR
INSTR
PE DIN PE PE DATA
DATA
DOUT

Fig. 2.9. Fluxurile de informaii ale procesorului elementar


1. Fluxurile de informaii pe 3 magistrale separate, dup cum se arat n partea stng a figurii
de mai sus, reprezint modul de lucru cel mai flexibil al procesorului, dar i cel mai complex,
deoarece presupune foarte multe legturi cu exteriorul. n plus, procesorul are memorii separate de
program i date, cu care lucreaz simultan.
Separarea magistralelor permite prelucrarea n paralel a celor trei fluxuri. Un astfel de
procesor poate realiza n acelai moment de timp (simultan) urmtoarele operaii:
- citirea urmtoarei instruciuni (Ik+1) din memoria de program;
- citirea unui operand dintr-o memorie de date, necesar pentru executarea instruciuni curente (Ik);
- scrierea unui rezultat n memoria de date, ca urmare a executrii unei instruciuni anterioare (Ik-1).
Totui, efortul de conectare cu exteriorul este foarte mare, i de aceea, o astfel de soluie
este adoptat doar cnd magistralele sunt integrate n procesor, n structuri de tip single-chip.
2. Fluxurile de informaii pe 2 magistrale separate, dup cum se arat n centrul figurii de mai
sus, se utilizeaz cnd procesorul nu poate transfera la un moment dat, dect un operand pe DIN sau
un rezultat pe DOUT. Cele 2 magistrale de date, DIN i DOUT, se pot uni (n exteriorul structurii)
ntr-o singur magistral bidirecional de date, partajat ntre cele dou sensuri de transfer.
Procesorul are memorii separate de program i date, i poate realiza n paralel:
- citirea urmtoarei instruciuni (Ik+1) din memoria de program;
- executarea instruciuni curente (Ik), prin citirea unui operand din exterior sau scrierea unui rezultat
n exterior. ns, magistrala de date nu poate fi folosit, dect pentru un singur operand odat.
Dac memoria de date este de tip multiport, se pot transfera doi operanzi cu memoria ntr-o
singur stare de ceas, dar la momente de timp diferite (deoarece magistrala de date este aceeai):
- la nceputul strii de ceas, se poate citi din memorie un operand prin magistrala de date (DATA);
- la sfritul strii de ceas (la sfritul execuiei instruciunii) se poate scrie un rezultat n memorie.
3. Fluxurile de informaii pe 1 magistral partajat, numit n continuare DATA, se utilizeaz
cnd procesorul lucreaz n exterior cu o memorie comun de program i date. El poate citi
instruciunile pe aceeai magistral bidirecional de date, partajat ntre fluxuri, dup cum se arat
n partea dreapt a figurii de mai sus. Transferurile pe cele 3 fluxuri de informaii primare se pot
efectua pe o singur magistral bidirecional de date, doar succesiv: citirea instruciuni curente (Ik),
i ulterior executarea ei, prin citirea unui operand i/sau scrierea rezultatului.
n acest caz, chiar dac procesorul are intern uniti funcionale paralele, n transferurile cu
exteriorul, el poate utiliza un singur flux, la un moment dat. Rezult c, n interior, procesorul
trebuie s conin memorii tampon, pe fiecare flux, ca interfa la magistrala partajat. Acestea sunt,
de regul, memorii cache de instruciuni i date, care asigur intern 2 fluxuri separate de informaii.
Majoritatea microprocesoarelor au magistrala extern, comun de instruciuni i date.

Prof. dr. ing. Viorel Nicolau 7

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