Sunteți pe pagina 1din 10

ARHITECTURA UNUI SISTEM DE CALCUL

In 1945 John Von Newmann a propus urmatoarea structura a


unui sistem de calcul:

Date
U.M. I Legenda:

N SI / I : sistem de intrare
/ iesire
T
Informatie U.M. : unitate de
E memorie
R SI / I U.A.L. : unitate
U.A.L.
F aritmetica si logica

E U.C.C. : unitate de
comanda si control
U.C.C. T
U.C.P. U.C.P. : unitate
E centrala de prelucrare
UNITATEA CENTRALA DE PRELUCRARE
(U.C.P.)

Unitatea centrala de prelucrare mai este denumita si procesor sau


microprocesor.
microprocesor
Din punct de vedere fizic se prezinta sub forma unui circuit
integrat montat pe placa de baza a calculatorului.

microprocesor
placa de baza

In scopul racirii U.C.P., unele calculatoare sunt prevazute cu


ventilatoare.
ARHITECTURA GENERALA A UNUI MICROPROCESOR

Registru de Magistrale de
date date

Unitatea
aritmetico –
logica Registre
Registru
Memorie
indicator pe
interna
conditie
Magistrale
Unitatea de
Contorul de
comanda si
program
control
Comenzi

Registru de Magistrala de
adrese adrese
Pentru a putea mentine starea liniilor de adresa pe durata operatiilor de citire,
microprocesorul dispune de un registru temporar de adrese.
adrese Continutul citit din
memorie este depus intr-un registru temporar de date.date Liniile electrice pe care se vor
genera adresele constituie magistrala de adrese,
adrese iar cele prin care se va transfera
continutul in (din) memorie pentru citirea – scrierea datelor constituie magistrala de
date.
date
Daca o instructiune utilizeaza rezultatul unei instructiuni precedente, atunci
valoarea calculata anterior trebuie citita din nou de memorie. Acest acces
suplimentar poate fi eliminat daca rezultatul respectiv ar fi fost memorat temporar in
componentele microprocesorului, numite registre.
registre
Registrul care urmareste executia secventiala a instructiunilor se numeste
contor de program.
program
Informatiile privind rezultatele executiei unei instructiuni (pozitiv / negativ;
par / impar) sunt obtinute in registrul indicator de cont.
cont
Pentru transformarile interne de date, microprocesorul este prevazut si cu o
magistrala interna de date,
date al carei numar de linii distincte depinde de tipul
microprocesorului.
STRUCTURA INTERNA DE BAZA A UNUI MICROPROCESOR 80 x 86

Registre Registre de Interfata cu


Sumator 20 biti
generale segmente memorie
adrese
Contor de interna
program

Magistrala interna de 16 biti Comanda 16 biti


de
magistrala
Registre
temporare

8 biti Registru
U.A.L. Comanda
U.A.L. 6 bytes

Registru
flags

Unitate de
executie
1. Registrele generale cuprind:
 Registre de utilizare generala (AX; BX; CX; DX) adresabile direct de
16 biti sau 8 biti.
16 b

15 … 8 7 …
0
AH AL Legenda:
AX
BH BL H = Hi
BX
CH CL
CX L = Low
DH DL
DX

 Registru indicator de stiva de 16 biti, care contine adresa varfului


stivei (SP)
 Registru indicator de baza de 16 biti, care contine adresa de baza a
stivei (BP)
 Registru de index de 16 biti, care participa la elaborarea adreselor.
Registrele de index cuprind 2 registre: Sursa (SI)

Destinatie (DI)
2. Registre flags (registrul indicatorilor de conditie)
Indicatorii de conditie sunt biti pozitionati pe 1 in functie de
rezultatul executiei unei operatii aritmetice sau logice. Se folosesc in
programe pentru instructiunile de salt conditionat, care se executa
testand indicatorii de conditie. Semnificatia indicatorului de conditie
daca bitul corespunzator este 1, este urmatoarea:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
X X X X OF DF IF TF SF ZF X AF X PF X CF

Legenda:
X = indicatori rezervati
CF = indicatori de transport din cel mai semnificativ bit al rezultatului
PF = indiocatori de calitate
AF = indicatori de transport de la bitul 4 la bitul 5
ZF = indicatori de rezultat nul
SF = indicatori de semn negativ
TF = indicatori de intrerupere interna dupa fiecare instructiune
IF = indicatori de intrerupere externa permisa
DF = indicatori de incrementare sau de decrementare a registrelor index; sursa sau destinatie dupa executia unei operatii
OF = indicatori de depasire aritmetica
3. Registre segment
Registrele interne permit adresarea memoriei interne, fiecare
avand o capacitate de 16 biti.
Intalnim 4 registre:
 CS = segmente pentru program sau codul programului
 DS = segmente pentru date
 SS = segmente pentru stiva
 ES = extra segmente (segmente pentru date auxiliare)
Aceste registre definesc la un moment dat 4 segmente de 64
kilobyti ale memoriei cu posibilitatea de a le adresa independent.
4. Contorul de program (IP)
(pointer de instructiuni)
Are o capacitate de 16 biti si contine adresa instructiunii curente
din segmentul de program. In cazul unei instructiuni de salt, pointerul
unei instructiuni este salvat in varful stivei si incarcat cu adresa
relativa in segmentul de program.
5. Registru de 16 bytes
Contine instructiuni, acesta avand rolul de a imbunatati viteza de
prelucrare prin 2 mecanisme distincte:
 Plasarea in registru in ordinea introducerii a datelor preluate din
memorie astfel incat unitatea aritmetica si logica sa poata prelua
instructiunile fara a fi influentata de timpul de acces al memoriei.
 Prin transferul operatiilor intre memorie sau dispozitive periferice si
unitatea aritmetico – logica, cu generarea adreselor necesare si
comanda eficienta a semnalelor, pe magistrala putandu-se mari viteza
de prelucrare chiar daca memoriile sunt lente.