Sunteți pe pagina 1din 13

Arhitectura calculatoarelor Subsistemul Unitate Centrala de Procesare

2.

Caracterizarea microprocesoarelor pe 8 bii

n continuare se va descrie schema bloc funcional a unui P standard al crui cuvnt


de date are lungimea 8 bii ( P8). Noiunea standard se refer la faptul c P ndeplinete rolul
UCP ntr-o main de tip von Neumann. Dup cum s-a artat asemenea main este structurat
n trei uniti (UAL, memorie, dispozitive de intrare / ieire) care comunic ntre ele printr-o
unic magistral cu seciuni de date, adrese i comenzi.
Presupunnd existena unui program stocat n memorie al crui sfrit este marcat de o
variabil logic SFP, structura P8 rezult din necesitatea execuiei programului conform
urmtorului algoritm:
Repet
adresare i aducere din memorie a codului;
decodificare instruciune;
execuie instruciune;
pn cnd SFP=adevarat.
Pornind de la aceast secveniere structura unui P8 va fi descris pe 5 niveluri de
detaliere .
2.1. Nivelul 1 de caracterizare
Nivelul 1 este asociat registrelor de date (RD) i de adrese (RA). Aceste registre apar la
interfaa P cu magistrala de date (MD) i respectiv de adrese (MA), figura 2.1.

RD

date

memorie
RA

adrese

I/E
Fig. 2.1. Nivelul 1 de detaliere al unui P8

Arhitectura calculatoarelor Subsistemul Unitate Centrala de Procesare


RD este bidirecional ca i MD i are lungimea egal cu a acesteia (8 bii). O informaie
provenit din P este disponibil unittilor conectate la MD numai dup nscrierea acesteia n
RD. Invers, o informaie destinat P este accesibil acestuia tot numai dup nscrierea n RD.
RA este unidirecional i are lungimea impus de caracteristicile unitii de control a
adresrii memoriei. RA are rolul de a menine ferm pe MA adresa furnizat de UCP pn la
localizarea corect a informaiei n memorie sau n porturile intrare-ieire. n acest context portul
reprezint o adres de memorie care identific circuitul fizic utilizat la transferul informaiei ntre
P i periferic.
Att RD ct i RA sunt transparente pentru utilizator, acestea nefiind atribute de
arhitectur.
2.2. Nivelul 2 de caracterizare
Acest nivel este nglobeaz registrele generale (RG). Acestea reprezint practic memoria
intern a P i constituie nivelul de memorie cel mai rapid adresabil ntr-un sistem. Funcia lor
este de stocare temporar a datelor (operanzi i rezultate). Dup cum se observ din figura 2.2,
accesul fizic la RG se face cu ajutorul unui multiplexor (MUX) pentru a citi un registru respectiv
cu ajutorul unui demultiplexor (DMUX) pentru a nscrie un registru.

RD

MID
D
M
U
X

RG

M
U
X

memorie

RA
Fig. 2.2. Nivelul 2 de detaliere al unui P8

Dup cum se observ din figura 2.2, legtura intern dintre RD i RG este realizat prin
magistrala intern de date (MID) care constituie o prelungire a magistralei de date (MD) a
sistemului n interiorul P. La MID se vor conecta toate blocurile interne care au acces la
informaia vehiculat prin MD.
Numrul de RG i limea MID constituie criterii de performan pentru orice P. n
ceea ce privete ltimea MID, nu este obligatoriu ca aceasta s fie egal cu a MD externe. RG
sunt n totalitate la dispoziia utilizatorului ele constituind elemente de arhitectur.
De exemplu, P 8080 avea un numr de 6 RG pe cte 8 bii, B,C,D,E,H,L care pot fi
utilizate ca atare dar i n perechi, pentru a forma 3 registre de 16 bii (B-C denumit registrul B,
D-E denumit registrul E i H-L care constituie registrul H.

Arhitectura calculatoarelor Subsistemul Unitate Centrala de Procesare


2.3. Nivelul 3 de caracterizare
Nivelul 3 include unitatea aritmetic de procesare (UAP). Acest bloc funcional, a crui
structur este prezentat n figura 2.3, reprezint suportul activitii de prelucrare a datelor.

R
D

MD

UAP

D
M
U
X

UAL

RG

M
U
X

R
F
C

RD

MA
UCAM

R
A

Fig. 2.3. Nivelul 3 de caracterizare a unui P8:


UAL - unitate aritmetico - logic; A - registru acumulator; RF - registru al fanioanelor;
C - fanion (indicator) de transport; RD - registru de deplasare; UCAM - unitate de control
a aresrii memoriei.

Dup cum s-a artat, UAL reprezint un circuit combinaional care asigur realizarea
unor funcii aritmetice (adunare, scdere, complementare fa de 2, incrementare, decrementare,
ajustare zecimal etc.) i logice (SI, SAU, NICI, NUMAI, SAU EXCLUSIV, complementare fa
de 1, etc).
Tipul i numrul funciilor realizate de UAL constituie un criteriu de performan al P
care se reflect ntr-un atribut de arhitectur i anume subsetul de instruciuni de prelucrare a
datelor. n afara intrrilor i ieirilor de date, UAL mai are i intrri de selecie a funciilor, care
ns nu sunt reprezentate n figura 2.3.
Acumulatorul (A) este un registru asemntor cu cele din setul de RG. Prin definiie A
conine un operand al UAL i n urma efecturii prelucrrii, rezultatul. Avnd n vedere aceast
dubl funcionalitate a A, precum i caracterul combinaional al UAL, structura din figura 2.3
este nefuncional datorit faptului c UAL se alimenteaz la infinit cu rezultatul propriei
prelucrri. Eliminarea acestei situaii critice se face prin includerea n structur a cte unui
acumulator i registru (temporare), evideniate n figura 2.4. Cei doi operanzi sunt meninui n
3

Arhitectura calculatoarelor Subsistemul Unitate Centrala de Procesare


registrele temporare pn cnd rezultatul prelucrrii se nscrie n A. Cele dou registre sunt
complet transparente pentru utilizator, ele neconstituind elemente de arhitectur.

MID
A

AT

RT

UAL

Fig. 2.4. Registre temporare aferente UAP:


AT - acumulator temporar;
RT - registru temporar.

Fanioanele (indicatorii de condiie) reprezint bistabili pentru memorarea unor condiii


speciale apruta n funcionarea P i n special a UAL. Ele pot fi grupate ntr-un registru al
fanioanelor, accesibil utilizatorului.
n figura 2.5 se reprezint coninutul acestui registru pentru P INTEL 8080,
reprezentativ pentru clasa P8, n care semnificaiile fanioanelor sunt urmtoarele:
- S (SIGN) - are valoarea 1 dac rezultatul prelucrrii din A este pozitiv (bitul cel mai
semnificativ este 1), altfel S are valoarea 0;
- Z (ZERO) - este pus n 1 dac n urma prelucrrii, A conine valoarea 0, altfel Z este 0;
- P (PARITY) - are valoarea 1 dac n urma execuiei unei instruciuni, A conine un
numr par de 1, altfel P este 0;
- C (CARRY) - este 1, dac din A s-a efectuat un transport, altfel C este 0.
- AC (AUXILIARY CARRY) - este 1 n condiiile existenei unui transport dinspre bitul
3 spre bitul 4 al A, altfel AC este 0.
7

AC

Fig. 2.5. Structura registrului fanioanelor pentru P 8080.

Fanioanele joac un rol important n structurarea programelor, ntruct instruciunile de


salt condiionat testeaz starea acestora. RF constituie element de arhitectur, iar numrul de
4

Arhitectura calculatoarelor Subsistemul Unitate Centrala de Procesare


fanioane un criteriu de performan pentru P. Uzual A i RF se asambleaz ntr-un unic registru
de 16 bii cunoscut sub denumirea de registru PSW (Programm Status Word).
Registrul de deplasare (RD) ocup un loc aparte n structura oricrui P8 deoarece cu
ajutorul lor se realizeaz operaiile de nmulire i mprire cu puteri ale lui 2. Deplasrile
presupun de regul salvarea bitului extrem (0 sau 7) n fanionul C. O variant interesant o
reprezint rotaia n care coninutul fanionului C este nscris n cellalt bit extrem al RD. n
figura 2.6 sunt evideniate cele dou maniere de realizare a deplasrii. RD nu este un atribut de
arhitectur, el este implicit utilizat de instruciunile specifice ale P, dar operatorul nu are acces
nemijlocit la acest registru special.
7

0
a)

C
7

b)

C
Fig. 2.6. Modaliti de realizare a deplasrii spre stnga:
a - simpl; b- rotaie.

O secven de utilizare implicit a RD ar putea fi urmtoarea:


1 - se selecteaz registrul care conine operandul;
2 - coninutul acestuia este adus pe MID;
3 - se nscrie operandul n RD;
4 - se comand acestuia funcia de deplasare dorit;
5 - coninutul RD (deplasat) este transferat pe MID;
6 - se selecteaz din nou registrul de la pasul 1;
7 - se nscrie n acesta rezultatul operaiei de deplasare care ia locul operandului
iniial.
Funcionarea RD este posibil, dac acesta este conectat la fanionul C, aspect evideniat
i de figura 2.3.
2.4. Nivelul 4 de caracterizare
Acest nivel definete unitatea de control a adresrii memoriei (UCAM). Aceast unitate,
a crei conectare cu magistralele interne este evideniat n figura 2.7 realizeaz ncrcarea unei
adrese n RA n vederea localizrii unei informaii n memoria sau porturile calculatorului.
Structura sa deriv din funciile acesteia sintetizate mai jos.
5

Arhitectura calculatoarelor Subsistemul Unitate Centrala de Procesare

secvenial
instruciuni
aleatoriu, ca urmare a unor salturi
ADRESARE
izolat n memorie
n structuri statice (tablouri)

date
(operanzi, rezultate

n structuri temporale (stiv)


Realizarea acestor funcii, implic existena n structura UCAM, n totalitate sau nu, a
urmtoarelor elemente principale:
- numrtor de program;
- indicator de stiv;
- registru index,
pentru care n figura 2.7 se prezint o posibilitate de interconectare.

MID

15

R
D

16

IX1
IX2
C
C
1

C
C
2

CC4
16

SP
PC

C
C
3

16

CC5

ID
MIA

R
A

Fig. 2.7. Structura posibil a unei uniti de control a adresrii memoriei:


PC - numrtor de program; SP - registru indicator de stiv; IX - registre index; S - sumator;
IDN - circuit de incrementare/decrementare; CC - circuite de conectare ; MIA - magistral
intern pentru formarea adresei.

Arhitectura calculatoarelor Subsistemul Unitate Centrala de Procesare


Numrtorul de program (PC-Programm Counter) conine adresa fizic (AF) a
instruciunii ce urmeaz a fi executat. AF reprezint forma sub care se furnizeaz o adres pe
MA pentru a se face identificarea fizic a locaiei de memorie vizate.
Lungimea PC impune capacitatea maxim a memoriei ce poate fi adresat n sistem.
Uzual pentru un P8, PC are 16 bii de unde rezult o hart a memoriei direct adresabile de
21665536 octei 64KB (1 Koctet 1 Kbyte 1024 octei).
Adresarea secvenial a memoriei presupune transmiterea coninutului registrului PC
(respectiv a adresei locaiei adresate) pe calea CC3 - CC5 la RA, urmat de incrementarea PC de
ctre circuitul ID.
Schema din figura 2.7 permite saltul n memoria program (noua adres nsoete codul
instruciunii ce urmeaz a se executa) conform urmtoarei secvene:
- RA se ncarc prin CC5 direct de pe MID cu adresa instruciunii care urmeaz a se
executa;
- concomitent PC se va ncrca prin CC1 cu aceeai adres, de unde i va continua
funcionarea secvenial.
PC nu este un atribut de arhitectur, programatorul neputnd modifica direct coninutul
acestuia.
Indicatorul de stiv (SP - Stack Pointer). Stiva (Stack) reprezint o structur de date
utilizat pentru pstrarea temporar a datelor. Stiva este organizat pe principiul LIFO (Last
Input - First Output ultimul intrat - primul ieit). Poziia ocupat n stiv de ultimul element
introdus constituie vrful stivei, ncrcarea i descrcarea acesteia putndu-se efectua numai prin
acest punct. Dup cum se observ din figura 2.8 prin operaiile de ncrcare descrcare se
modific adresa vrfului stivei.
vrf
vrf
ncrcare
PSW,B,D

D
B
PSW
baz

ncrcare
H

H
D
B
PSW

descrcare
H,D

baz

vrf

B
PSW

descrcare
B,PSW

baz

Fig. 2.8. ncrcarea i descrcarea unei stive:


PSW - registrul stare program; B,C,D - registre duble.

ncrcarea i descrcarea stivei se realizeaz prin instruciuni specifice (PUSH pentru


scriere n stiv, POP pentru extragere din stiv). De exemplu pentru situaia din figura 2.8
succesiunea de instruciuni este urmtoarea:
.
.
.
PUSH PSW; nscrie n stiv coninutul PSW
PUSH B;
idem B
7

Arhitectura calculatoarelor Subsistemul Unitate Centrala de Procesare


PUSH D;
idem D
PUSH H;
idem H
.
.
.
POP H;
extrage din stiv coninutul H
POP D;
idem D
POP B;
idem B
POP PSW; idem PSW
(reamintim c PSW, B, D, H sunt registre duble pe cte 16 bii).
SP conine adresa curent a vrfului stivei. Configurarea unei zone de memorie ca stiv
se face prin nscrierea n SP a adresei bazei. Stiva se organizeaz astfel nct creterea ei s se
fac n jos adic n sensul descreterii adreselor. La fiecare nscriere n stiv, SP este
decrementat iar la fiecare extragere, acesta este incrementat, astfel nct n orice moment va
conine adresa primei locaii disponibile din memoria stiv. Incrementarea/ decrementarea SP
este realizat cu ajutorul circuitului ID iar ncrcarea lui RA cu adresa din SP se face pe calea
CC3 - CC5. Figura 2.9 constituie o ilustrare a operaiunilor aferente lucrului cu stiva.

baz
stiv

15

UCA
M

SP

R
A

vrf

R
D

PUSH
POP

Memorie

Fig. 2.9. Lucrul cu stiva.

n afara stocrii temporare a datelor, stiva mai este utilizat n mecanismele de apelare a
subprogramelor i de rspuns la cererile de ntrerupere. Registrul SP constituie un element de
arhitectur, utilizatorul avnd posibilitatea s defineasc iniial baza stivei. Exist P la care
stiva este implementat hardware cu ajutorul unor registre speciale. Acest tip de stiv prezint
avantajul accesului rapid i dezavantajul limitrii severe a mrimii. n cazul stivei hardware SP
devine transparent pentru utilizator ntruct nu mai este necesar o definire a bazei stivei.
Registrele index sunt opionale n structura unui P8 standard i permit localizarea
rapid a informaiei ntr-un bloc pe baza adresei fizice, care se poate obine prin efectuarea unei
operaii de adunare:
AFelement = AFbaz + deplasament,
8

Arhitectura calculatoarelor Subsistemul Unitate Centrala de Procesare


unde AF reprezint adresa fizic. Aceast operaie este realizat n sumatorul S iar cei doi
termeni sunt furnizai de un registru index (adresa de baz pe calea CC2 - CC4) i de MID.
Deplasamentul reprezint adresa relativ a unui element n cadrul tabloului i nsoete codul
instruciunilor care folosesc date astfel structurate. Mrimea deplasamentului indic dimensiunea
maxim a tabloului ce poate fi construit n memorie. Uzual pentru P8 deplasamentul are 8 bii,
astfel nct se pot construi maxim 28 256 elemente. Adresarea indexat permite localizarea
rapid printr-o singur instruciune a unui element de tablou i creeaz premisele dezvoltrii de
noi metode pentru obinerea adresei fizice prin calcul.
2.5. Nivelul 5 de caracterizare
Acest nivel este asociat unitii de control a P (UC P8). Dup cum s-a artat execuia
unui program comport pentru fiecare instruciune parcurgerea urmtoarelor etape: localizare,
decodificare, execuie propriu-zis. La rndul su fiecare etap se descompune n aciuni
elementare care vor fi detaliate n continuare.

R
D

MID

MD

RI
MC

PC
R
A

ID
P

MIA

MA

Memorie

Fig. 2.10. Elemente implicate n extragerea unei instruciuni:


RI - registru de instruciuni; PC - numrtor de program;
ID - circuit de incrementare/decrementare.

1. Localizarea i aducerea n memorie a unei instruciuni, etap la care particip


elementele prezentate n figura 2.10, presupune parcurgerea urmtoarelor faze:
- ncrcarea lui RA cu adresa din PC (n cazul uzual al parcurgerii secveniale a
programului), n urma creia adresa devine disponibil pe MA;
- incrementarea lui PC pentru a se crea posibilitatea accesrii urmtoarei locaii de
memorie;
- generarea pe magistrala de control a unui semnal de citire din memorie (READ);
- transferul pe MD i de aici n RD a coninutului locaiei identificate;
- transferul codului instruciunii, din RD prin intermediul MID, ntr-un registru denumit
registru de instruciuni (RI).
2. Decodificarea presupune recunoaterea i interpretarea coninutului RI urmat de
iniierea aciunilor aferente execuiei.
9

Arhitectura calculatoarelor Subsistemul Unitate Centrala de Procesare


3. Execuia propriu-zis implic activarea diverselor blocuri ale P ntr-o ordine
prestabilit i/sau schimburi de informaie cu memoria i/sau porturile de intrare - ieire.
Secvena de aciuni elementare este dependent de semantica fiecrei instruciuni.
Coordonarea derulrii n timp a fiecrei etape i faze este asigurat de ctre UC P8. O prim
sarcin a acesteia o reprezint stabilirea formatului instruciunii n funcie de codul primit. Se are
n vedere desfurarea n locaii de memorie succesive a ntregii informaii necesare execuiei
instruciunii.
Avnd n vedere caracterul de automat sincron al unui P, desfurarea n timp a etapelor
i fazelor unei instruciuni este nemijlocit legat de frecvena impulsurilor de sincronizare. Legat
de execuia n timp a instruciunilor se definesc urmtoarele noiuni:
- starea ca timp maxim de efectuare a unei aciuni elementare, reprezint o durat egal
cu perioada impulsurilor de sincronizare;
- ciclul main grupeaz mai multe aciuni elementare n vederea conturrii unei etape
din execuia unei instruciuni. Un ciclu main are mai multe stri i are o semnificaie strict
funcional fiind impus de necesiti de sistematizare a activitii a P.
Atribuiile legate de supervizarea funcionrii corecte a ansamblului de elemente reunite
n structura unui P impun prezena n cadrul UC P8 a elementelor evideniate n figura 2.11.
RI este conectat la MID, de unde preia codul instruciunii curente pe care l transmite
decodificatorului. Acesta identific instruciunea din setul de instruciuni potenial executabile de
ctre P. Informaia rezultat la ieirea decodificatorului este transmis blocului de control i
sincronizare (BCS). Acesta este un automat finit microprogramat, care genereaz semnale de
comand pentru elementele implicate n execuia instruciunii curente.

R
D

MD

RI

P
DECOD
Semnale de
control
din interiorul P

BCS
Semnale de comand
pentru elementele P

Fig. 2.11. Structura general a unei UCP

Microprogramul BCS va trebui s in cont, printre altele de:


- setul de instruciuni al P;
10

Magistral
extern de
control

Arhitectura calculatoarelor Subsistemul Unitate Centrala de Procesare


- semantica fiecrei instruciuni;
- sistematizarea desfurrii n timp a fiecrei instruciuni pe stri i cicluri main;
- formatul fiecrei instruciuni;
- structura fizic concret a blocurilor P;
- semnalele de control necesare sau impuse P (in interiorul sau din exteriorul su pe
magistrala extern de comenzi).
BCS nu constituie un element de arhitectur i prin urmare utilizatorul nu are acces la
microprogramul acestuia. Datorit acestui fapt P standard nu pot fi adaptate exact cerinelor
unei sarcini concrete prin optimizarea la nivel de microprogram a instruciunilor sale.
Din analiza efectuat pentru P8 a reieit c pe lng neajunsul unei lungimi de numai 8
bii a MD, acestea sunt caracterizate de absena oricrui paralelism n realizarea celor trei faze
aferente execuiei unei instruciuni.

11

Arhitectura calculatoarelor Subsistemul Unitate Centrala de Procesare

3. Caracterizarea funcional a unui microprocesor pe 16 bii


La patru ani de la prezentarea primului P8 - I8080 (MD pe 8 bii, MA pe 16 bii), firma
Intel realizeaz P8086 (magistral unic multiplexat: 16 linii de date, 20 linii de adres)
Bazat tot pe conceptul clasic al mainii von Neumann noul P a preluat majoritatea
atributelor de structur i arhitectur specifice generaiei precedente (P8). Dincolo de dublarea
capacitii numrului liniilor de date, n concepia i realizarea P pe16 bii (P16) apar elemente
de noutate care vor fi prezentate n continuare pe baza schemei funcionale din figura 3.1.

UIM

RD/RA

M
X

RSLM

U
C
A
F

M
X

PC

CIA

RI

UAL

U
C
P

MX

RGII
RD
RF

UE

M
X

Fig. 3.1. Schema funcional de structur a unui P16 general:


UIM - unitate de interfa cu magistrala; UE - unitate de execuie; RSLM - registre pentru
structurarea logic a memoriei; RD/RA - registru de date i de adrese; PC - numrtor de
program; UCAF - unitate de calcul a adresei fizice; CIA - coad de instruciuni n
ateptare;MUI - magistrala unitii de interfaare
a magistralei; MUE - magistrala unitii
de execuie; MX- multiplexoare; RGII - registre generale indicator i index; RG - registru al
instruciunilor; RD - registru de deplasare; RF - registru al fanioanelor;UAL - unitate
aritmetico-logic; UCP - unitatea de control a P.

12

Arhitectura calculatoarelor Subsistemul Unitate Centrala de Procesare


Deosebirea esenial fa de P8 o constituie existena a dou procesoare specializate
care lucreaz n paralel, pe care firma Intel, care a lansat primul P16, le-a denumit unitate de
execuie (UE) i unitate de interfa cu magistrale (UIM).
UE are ca principal sarcin execuia instruciunilor, pe care mpreun cu operanzii le
primete prin intermediul UIM i nu direct din memorie. Rezultatele prelucrrii sunt trimise n
memorie sau la porturi tot prin intermediul UIM.
UIM are drept scop mrirea cantitii de informaie vehiculat pe magistral n unitatea
de timp. Printre altele aceast funcie presupune: furnizarea adreselor pentru instruciuni i
pentru date, calculul adreselor, realizarea structurrii logice a memoriei, ncrcarea cozii cu
instruciuni, de unde vor fi preluate i executate de ctre UE.
Setul de registre generale este completat cu registre de tip indicator i index. Pentru
fiecare din aceste registre exist att o utilizare implicit sugerat de fabricant, ct i una
alternativ.
n contextul versatilitii registrelor generale, UAL nu mai are asociat un registru
acumulator dedicat, oricare din RG putnd ndeplini acest rol.
UCAM nu mai apare ca un bloc unitar, funciile fiind descentralizate astfel:
- registrele indicator i index se gsesc n UE;
- numrtorul de program este asociat unui bloc de registre destinat structurrii logice a
memoriei;
- n UE apare un bloc special pentru calculul adreselor care dezvolt sumatorul destinat
acestui scop n structura unui P8.
Paralelismul n funcionare al UE i UIM este asigurat de un bloc de registre asociat cozii
de instruciuni. Aceasta se alimenteaz de ctre UIM i se descarc n UE.
Existena unei magistrale externe unice multiplexate conduce la existena unui unic
registru tampon de date i de adrese.
Sintetic, saltul calitativ care va conferi P16 i noi atribute de arhitectur are n vedere
urmtoarele aspecte:
- existena a dou procesoare care lucreaz n paralel;
- versatilitatea funciilor registrelor;
- existena blocului pentru calculul adreselor;
- existena cozii de instruciuni;
- posibilitatea de structurare logic a memoriei.

13

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