Documente Academic
Documente Profesional
Documente Cultură
Burileanu
::AMP 1::
-1-
Arhitectura microprocesoarelor C.Burileanu
-2-
Arhitectura microprocesoarelor C.Burileanu
Noiuni aferente:
- "Harta memoriei": totalitatea locaiilor de memorie pe care le poate
adresa un microprocesor.
- "Pagini" i/sau "segmente": subdiviziuni logice ale hrii memoriei, ale
cror dimensiuni, fixe sau dinamice, sunt specifice modului n care un
microprocesor anume organizeaz memoria.
Structura fizic a memoriei unui microcalculator este format din unul sau
mai multe cipuri, cu capaciti diverse; capacitatea total de stocare a informaiei
pe care o realizeaz fizic cipurile de memorie ntr-un microcalculator este definit
ca "memorie intern". Aceasta nu acoper, n mod necesar, harta memoriei
aferent microprocesorului respective.
Instruciunea:
informaia codificat (binar) prin care se impune microprocesorului
desfurarea unei aciuni specifice.
-3-
Arhitectura microprocesoarelor C.Burileanu
Observaii:
Concluzii:
Semnificaia coninutului locaiilor de memorie este conferit de
programator n concordan cu funciile specifice realizate de microprocesor:
numere binare atunci cnd ne referim la date (operanzi/rezultate);
coduri cnd ne referim la instruciuni.
-4-
Arhitectura microprocesoarelor C.Burileanu
Exist o "hart a porturilor" care poate sau nu s fac parte din harta
memoriei.
Singura deosebire esenial fa de locaiile de memorie este legtura fizic
pe care porturile o asigur cu exteriorul; pentru microprocesor, de multe ori,
aceast legtur fizic este transparent i nesemnificativ.
Magistrale
unidirectionale
bidirectionale
-5-
Arhitectura microprocesoarelor C.Burileanu
Arhitectur:
totalitatea atributelor sistemului (n cazul de fa, microprocesorul) care
sunt disponibile ("vizibile") utilizatorului (ca, de pild: registrele, modurile de
adresare, tipurile de transferuri de date, modul de organizare logic a memoriei,
tehnicile de intrare/ieire, setul de instruciuni etc)
-6-
Arhitectura microprocesoarelor C.Burileanu
-7-
Arhitectura microprocesoarelor C.Burileanu
-8-
Arhitectura microprocesoarelor C.Burileanu
a) Reprezentarea programelor
b) Reprezentarea numerelor
-9-
Arhitectura microprocesoarelor C.Burileanu
Convenii de reprezentare:
Fanioane
un bit de informatie in interiorul microprocesorului care isi indica
evenimente speciale aparute in functionarea microprocesoarelor
"Transportul" care apare ntre rangul unui numr binar i cel imediat superior
n operaiile aritmetice (la scdere, l vom numi "mprumut"): C (de la "carry").
- 10 -
Arhitectura microprocesoarelor C.Burileanu
"Depirea": O (de la "overflow"). Dup cum numrul are semn sau nu, se
poate scrie c:
- 11 -
Arhitectura microprocesoarelor C.Burileanu
- 12 -
Arhitectura microprocesoarelor C.Burileanu
- 13 -
Arhitectura microprocesoarelor C.Burileanu
- 14 -
Arhitectura microprocesoarelor C.Burileanu
ROM RAM
A1 O1
A1 A2 An
A2 O2 I1 O1
I2 O2
An Om
CS OE prog Im Om
CS OE prog
CS chip select
mai multe cipuri; mai intai selectez chipul si apoi ce am nevoie din el
O1..Om
Si magistrala de date
I1..Im
- 15 -
Arhitectura microprocesoarelor C.Burileanu
Circuite combinationale
A. PORTI
B. MULTIPLEXORUL
I2 O1-OK
A1..An intrari adresare
O iesirea
Im
CS OE prog
Multiplexor cu n=3
A1 A2
I11-I1k Multiplexeaza pe o magistrala
O1-OK patru magistrale.
I21-I2k
I31-I3k
I41-I4k
- 16 -
Arhitectura microprocesoarelor C.Burileanu
I1 O1
O1=f1(I1,I2,..,IN)
I2 O2 O2=f2(I1,I2,..,IN)
..
On=fn(I1,I2,..,IN)
In On
0<=Ok,fk<=1
C. DEMULTIPLEXORUL
I4 I3 I2 I1 O1 O2 O16
0 0 0 0 0 0 0
0 0 0 1 0 1 0
1 0 0 1 0 0 1
a
f b
ZCB- 7 segmente (display electronic) e g c
d
- 17 -
Arhitectura microprocesoarelor C.Burileanu
A1 Cn pe n biti in parallel
An
N
O1
On
B1
intrari de control care selecteaza
Bn functia pe care o folosim
C1
-1,2 operanzi.
Circuite secventiale
circuite logice ale caror iesiri depind si de intrari dar si de starea
anterioara a circuitului.
- 18 -
Arhitectura microprocesoarelor C.Burileanu
a) bistabili
-tip D
intrare date
D Q
iesire
T Q
Dn Qn+1
0 0
1 1
b) registre
D1 D2 Dn
Q1 Q2 Qn
-concatenare (alaturare) de bistabili sincronizati cu accelasi impuls de
tact.
-stocheaza n biti pentru n bistabili
locatie de memorie
- 19 -
Arhitectura microprocesoarelor C.Burileanu
registru de deplasare
D1 D2 Dn
Q1 Q2 Qn
-deplasarea la dreapta :2
-deplasarea la stanga *2
registru numarator
-registru care daca are un numar incarcat atunci cand primeste un impuls de
tact incrementeaza cu 1 sau decrementeaza (circuitul numara inainte sau inapoi)
+,- 1
Observatii:
- 20 -
Arhitectura microprocesoarelor C.Burileanu
1. neterminali
entitati informationale neprecizate
folosesc indice ca sa pot face diferenta intre ele ( ri,rj )
cifra dupa arata dimensiunea (r8)
r un registru oarecare
r8 un registru de 8 bii
r16 un registru de 16 bii
ri , rj registre individualizate, diferite
mem o locaie de memorie oarecare (sau mai multe locaii succesive)
mem8 o locaie de memorie de un octet
mem16 o locaie de memorie de 16 bii (pot fi dou locaii succesive dac
formatul este octetul)
mem32 o locaie de memorie de 32 de bii (pot fi patru locaii succesive
dac formatul este octetul)
memi o locaie de memorie individualizat (n scopul de a o deosebi de
alte locaii de memorie)
adr o adres oarecare
adr8 o adres pe 8 bii
adr16 o adres pe 16 bii
adr24 o adres pe 24 de bii
adri o adres individualizat (n scopul de a o deosebi de alte adrese)
( ) continut.
(( )) adresare indirecta
registru
continut
continutul unei locatii de memorie a carei adresa se afla intr-un
registru.
- 21 -
Arhitectura microprocesoarelor C.Burileanu
2. terminali
entitati informationale precizate
litere mari
- 22 -
Arhitectura microprocesoarelor C.Burileanu
3. operatori
4. alte simboluri
- 23 -
Arhitectura microprocesoarelor C.Burileanu
- 24 -
Arhitectura microprocesoarelor C.Burileanu
1*
2*
1* RD -registru de date
-nu e atribut de arhitectura
-bidirectional
-dimensiune data de magistrala de datea P
2* RA -registrul de adrese
-foloseste pentru adresarea memoriei si a porturilor
-in el se scrie adresa fizica a unei locatii de memorie si sau a unui port
-unidirectional
-nu e atribut de arhitectura
-dimensiune data de dimensiunea adresei fizice care la randul ei e data de
dimensiunea hartii memoriei
- 25 -
Arhitectura microprocesoarelor C.Burileanu
1*
2*
- 26 -
Arhitectura microprocesoarelor C.Burileanu
fanion de transport
- 27 -
Arhitectura microprocesoarelor C.Burileanu
1*
2*
4*
3*
5*
6*
1* -registru dedicate
-functii prestabilite
-stocheaza un operand pentru process si dupa operatie rezultatul
-atribut arhitectura
-dimensiunea este egala cu dimensiunea registrelor generale
2* exista anumite portiuni care nu fac parte din magistrala interna de date.
functii tipice
+, -, *, :
SI, SAU, SAU, XOR, complement fata de 1, complement fata de 2
4* -set de bistabili
-C=carry transport si este un fanion
- 28 -
Arhitectura microprocesoarelor C.Burileanu
- 29 -
Arhitectura microprocesoarelor C.Burileanu
1*
2*
3*
1* registre numarator
UCAM furnizeaza:
a)adresa instructiunii urmatoare
b)adresa unor date
- 30 -
Arhitectura microprocesoarelor C.Burileanu
a2 realiazat de PC
-inscrierea in numaratorul de program (PC) al adresei de salt utilizata intr-o
intr-o anumita maniera pe magistrala interna de date
- 31 -
Arhitectura microprocesoarelor C.Burileanu
Observatii:
3| SP-atribut arhiectural
adresa n
Push=actiune
de scriere
nu trebuie sa cunosc
adresa trimiterea
Pop=actiune facandu-se la stiva
de citire
adresa 0
Observatii:
- 32 -
Arhitectura microprocesoarelor C.Burileanu
3| IX-atribut arhiectural
a1 si a2
b2-stiva
b3-tablou
- 33 -
Arhitectura microprocesoarelor C.Burileanu
Exercitiu:
Fie un P CISc cu schemele functionale din 2.12.4:
- P are organizarea memoriei liniara
- adresa fizica pe 16 biti
- formatul memoriei un octet
- magistrala de date are 8 biti
- numaratorul program are 16 biti (=adresa fizica)
- un indicator de stiva are 16 biti (=adresa fizica)
- set de registre R1,R2,R3,R4 au 8 biti fiecare concatenate doua cate doua
-are un aumulator A pe 8 biti (operandul si rezultatul se afla in acumulator)
ciclu stari
1. 1.1 (RA) (PC)
READ -este adresata in memorie codul instructiunii curente
1.2 (PC) (PC) + 1 -numaratorul este incrementat
1.3 (RD) ((RA)) -codul instructiunii curente aduse in P
1.4 (RI) (RD) -cod mutat registru special
1.5 decodificare -cod recunoscut
Concluzii:
- 34 -
Arhitectura microprocesoarelor C.Burileanu
- 35 -
Arhitectura microprocesoarelor C.Burileanu
b. desfasurarea in timp
-exista niste unitati de masura a actiunilor desfasurate in timp
cicluri masina = mai multe stari, P realizeaza actiune bine definite in cadrul unei
instructiuni
cicluri masina:
- scriere memorie
- citire memorie
- scriere stiva
- citire stiva
- 36 -
Arhitectura microprocesoarelor C.Burileanu
- scriere porturi
- citire porturi
- executie operatie aritmetico-logica..
- 37 -
Arhitectura microprocesoarelor C.Burileanu
set registre
adresare structura
memorie coada
unitate de
control
numerator
program
diverse
functii
Functii:
UE(unitate de executie)
- prelucreaza operanzii;
- contine registrele generale si ALU ( Unitate aritmetica logica);
- accepta informatiile aferente instructiunilor deja aduse de catre UIM;
- primeste operanzii de la UIM;
- trimite rezultatele la UIM;
- contine unitatea de control al microprocesorului.
- 38 -
Arhitectura microprocesoarelor C.Burileanu
CONCLUZIE:
-aceste unitati au functii distincte, lucreaza in parallel si duc la cresterea
vitezei de executie
-generatia a treia are mai multe unitati
Noile Atribute:
- 39 -
Arhitectura microprocesoarelor C.Burileanu
- 40 -
Arhitectura microprocesoarelor C.Burileanu
AH AL AX
BH BL BX
* CH CL CX
DH DL DX
SP
BP
SI
** DI
IP
*** F
CS
SS
**** DS
ES
AX (AH si AL)
-acumulatorul implicit pe 16 biti este de 16
pe 8 biti AL
pe 32 biri EAX
- 41 -
Arhitectura microprocesoarelor C.Burileanu
BX (BH si BL)
-stocheaza o adresa registru de tip index, contine adresa de baza
-alternativ BX acumulator
BL,BH acumulatoare
BX registru obisnuit de date
CX (CH si CL)
-functie de numerator numara elementele
-contine implicit numarul dintr-un set de date
-este implicit contor intr-un ciclu cu contor
DX (DH si DL)
-implicit este registru de date
SP
-indicator de stiva
- 42 -
Arhitectura microprocesoarelor C.Burileanu
BP
-indicator de stiva ( stive secundare , intrare secundara stiva primara)
SI,DI
-registre index
-implicit contin adrese doua categorii de siruri, sursa destinatieadrese efective
- nu e atribut de arhitectura
F
-registru de fanioane
-registru virtual
care e alcatuit din concatenare de bistabili si cu cellule care contin
informatii
- e atribut de arhitectura
- 43 -
Arhitectura microprocesoarelor C.Burileanu
C fanion transport
P fanion de paritate
A fanion de transport auxiliar (1 si 2 nibblearitmetica ZCB)
Z fanion de 0 (setat 1 de fiecare data cand rezultatul unei operantii e 1)
S fanion de semn, preia semnul rezultatului unei operatii aritmetice intre 2
intregi cu semn
O fanion de depasire
**** registre segment= dedicate, ele contin niste entitati numite adrese
segment
- 44 -
Arhitectura microprocesoarelor C.Burileanu
**
***
****
*****
- 45 -
Arhitectura microprocesoarelor C.Burileanu
***registre dedicate
uSP SP al utilizatorului
sSP SP al supervizorului
2 categorii de utilizatori:
1. obisnuitdrepturi limitate resurse sisteme
2. supervizorul utilizator preferential si drepturi nelimitate
- 46 -
Arhitectura microprocesoarelor C.Burileanu
2. dimensiunea registrelor
-dimensiunea operanzilor de lucru
16 biti pe P de 16
32 biti pe P de 16
functii implicite/alternative:
a) acumulatoare
b) registre de date
c) registre index
d) indicator de stiva
e) numarator
- 47 -
Arhitectura microprocesoarelor C.Burileanu
organizare liniara
-adresa fizica : AF
organizare segmentata
-adresa logica AL = adr32 compusa din:
adresa segment AS = adr16
adresa efectiva AE = adr16
-ori de cate ori faci referinta utilizatorul indica adresa efectiva si adresa
segment; pentru adresare se foloseste adresa fizica care este calculata pornind de la
adresa logica translatarea adresei logice
- 48 -
Arhitectura microprocesoarelor C.Burileanu
Observatii:
- 49 -
Arhitectura microprocesoarelor C.Burileanu
AS impune:
2. tipurile de segmente
Intel imi impune ca in functie de registrul segment sa folosesc in memorie
segmente cu o functie stabilita in memorie
-segment curent de program (CS)
-segment curent stiva principala (SS)
-segment de date (DS)
-segment suplimentar de date (ES,FS,GS)
AE impune:
-dimensiunea segmentelor
- 50 -
Arhitectura microprocesoarelor C.Burileanu
redirectionare
Observatii:
suprapunerea segmentelor
-utilizarea fara restrictii
- 51 -
Arhitectura microprocesoarelor C.Burileanu
-16 megalocatii
-ocuparea hartii memoriei org. liniara mai eficace, org. segment risipeste
memoria
- 52 -
Arhitectura microprocesoarelor C.Burileanu
- 53 -
Arhitectura microprocesoarelor C.Burileanu
2. Adresare imediata :
modul sau tehnica adresarii care presupune ca in format, imediat dupa cod se
gaseste informatia vizata (adica informatia se afla in memoria de program)
!fie un P care organizeaza liniar memoria, fie formatul un octet si o adresa fizica
de 2 octeti :
- 54 -
Arhitectura microprocesoarelor C.Burileanu
!fie un P care organizeaza liniar memoria, fie formatul un octet si o adresa fizica
de 2 octeti :
- 55 -
Arhitectura microprocesoarelor C.Burileanu
4. Adresare scurta :
modul sau tehnica adresarii care presupune ca in format, imediat dupa codul
instructiunii se gaseste o parte din adresa completa a informatiei vizate,cealalta
parte fiind presupusa implicit
!fie un P care organizeaza liniar memoria, fie formatul un octet si o adresa fizica
de 2 octeti (1/2 inferior formatul instructiunii si superior implicit 0):
Memoria
incepe
acolo
5. Adresare relativa :
modul sau tehnica adresarii care presupune ca in format, imediat dupa codul
instructiunii am pozitia relativa a informatiei vizate, relativa la dresa instructiunii
curente
informatia vizata poate fi data sau instructiune (de obicei aceasta modalitate de
adresare e folosita la cicluri cu contor)
- 56 -
Arhitectura microprocesoarelor C.Burileanu
!fie un P care organizeaza liniar memoria, fie formatul un octet si o adresa fizica
de 2 octeti:
Deplasamentul este +
!fie un P care organizeaza liniar memoria, fie formatul un octet si o adresa fizica
de 2 octeti, o pereche registre (atrib.arhitectura) de 8 biti fiecare :
pointeri
- 57 -
Arhitectura microprocesoarelor C.Burileanu
!fie un P care organizeaza liniar memoria, fie formatul un octet si o adresa fizica
de 2 octeti, conventia micului indian:
modul de adresare imi ofera relativ independenta intre program si datele vizate.
- 58 -
Arhitectura microprocesoarelor C.Burileanu
!fie un P care organizeaza liniar memoria, fie formatul un octet si o adresa fizica
de 2 octeti, cel putin un registru index de 16 biti, deplasament de 8,16 biti:
Observatie:
- nr. regsitre index criteriu de performanta
- marimea deplasamentului imi da marimea tabloului (2disp)
AVANTAJ : imi ofera relativa independenta program si pozitie tabel ale datelor
vizate
- 59 -
Arhitectura microprocesoarelor C.Burileanu
!fie un P care organizeaza liniar memoria, fie formatul un octet si o adresa fizica
de 2 octeti, un tabel de deplasamente:
tabel de deplasamnete
Concluzii:
-mai exista moduri de adresare compuse care rezulta din combinarea mai multor
moduri de adresare
- 60 -
Arhitectura microprocesoarelor C.Burileanu
e posibila
redirectionarea
segmentelor
Adresare indirecta
+
Adresare directa prin registru
- 61 -
Arhitectura microprocesoarelor C.Burileanu
- 62 -
Arhitectura microprocesoarelor C.Burileanu
- 63 -
Arhitectura microprocesoarelor C.Burileanu
(d) (s)
- 64 -
Arhitectura microprocesoarelor C.Burileanu
exercitiu 1
-fie P cu organizarea memoriei liniara, memorie formata in octeti, adrese fizice
pe 16 biti, R1 si R2 registre pe 8 biti fiecare.
exercitiu 2
-fie P cu organizarea memoriei liniara, memorie formata in octeti, adrese fizice
pe 16 biti, R1,R2,R3,R4,R5,R6 registre pe 8 biti fiecare, concatenate doua cate
doua.
-perechea R3R4 este preincarcata cu adresa fizica a primului element a unui
sir numit sursa
-perechea R1R2 este preincarcata cu adresa fizica a primului element a unui
sir numit destinatie
-perechea R5R6 este preincarcata cu un numar reprezentand numarul de
elemente din sirul sursa
Repeat
((R1,R2)) ((R3,R4)) - adresarea indirecta a sursei si a destinatiei
(R1,R2) (R1,R2) + 1 autoincrementarea adreselor
(R3,R4) (R3,R4) + 1 autoincrementarea adreselor
(R5,R6) (R5,R6) + 1 autoincrementarea contorului
Until (R5,R6) = 0H ciclu cu test final
-tipic CISC
Transfer
- 65 -
Arhitectura microprocesoarelor C.Burileanu
DS nu e utilizabil pe jumatati
SS- nu se redirectioneaza
DS se redirectioneaza
CARACTERISTICI
- 66 -
Arhitectura microprocesoarelor C.Burileanu
4.in semantica acestor instructiuni intra si modul in care sunt afectate fanioanele
aritmetico-logice.
exercitiu 4
-fie P cu registrele R1, R2 pe 8 biti, cu fanion de transport optional
exercitiu 5
-fie P cu acumulator dedicat A, si (s) un alt registru
-semantica unei comparatii care nu se stocheaza in acumulator ci ma uit in
fanioane
(A) (s) if (A)=(s) then (Z) 1
- 67 -
Arhitectura microprocesoarelor C.Burileanu
inca o primitive:
CMPSB/CMPSW = comparatii intre doua siruri
-trebuie sa initializez ES,DS,SI,DI,DF
-test
-salturi ( decizii si cicluri)
TESTE:
A.testeaza un fanion
B. testeaza combinatii logice fanioane
C. testeaza un bit oarecare dintr-un operand oarecare
D. testeaza linii de intrare serie
SALTURI:
- 68 -
Arhitectura microprocesoarelor C.Burileanu
-dupa complexitate
A.salturi 2 posibilitati
B. salturi 3 posibilitati
C. cicluri
exercitiu 6
-fie P cu organizarea memoriei liniara CISC, memorie formata in octeti, adrese
fizice pe 16 biti, numerator program PC si indicator de stiva SP de 16 biti
adresare absoluta
(PC) adr
in care adr face parte din formatul instructiunii
adresare relativa
(PC) (PC) + disp8 | disp16
in care disp8 si disp16 fac parte din formatul instructiunii
adresare indirecta prin registru
(PC) ((ri,rj)+1) ((ri,rj))
adresare scurta (in pagina 0)
(PC)l adr8
(PC)h 0H
- 69 -
Arhitectura microprocesoarelor C.Burileanu
Obs2. nu stii exact locatia din stiva, asta inseamna ca nun e scuteste de obligatia
de a tine cont de numarul de accesari a stivei
CAL,PUSH,RET GRESIT!!!
CAL,PUSH,POP,RET -corect
Caracteristici speciale:
- d sau s acumulator implicit si dedicat
exemplu.
Intel x8086 IN
OUT
- 70 -
Arhitectura microprocesoarelor C.Burileanu
- 71 -
Arhitectura microprocesoarelor C.Burileanu
Concluzii:
- 80% timp de procesor CISC deserveste 20% instructiuni
OBSERVATII:
- 72 -
Arhitectura microprocesoarelor C.Burileanu
REGISTRELE:
1. procesor RISC multe registre (cel putin 321000)
2. dimensiunea registrelor = dimensiunea operanzilor de lucru (32,64 biti)
3. registrele sunt multifunctionale nu au functii implicite
4. daca am multe registre generale pot defini subdiviziuni logice in setul de
registre setul de registre formeaza registre logice iar eu pot sa definesc registre
logice.
Tipuri organizari:
r31
a) set de registre fizic simplu r30
- 73 -
Arhitectura microprocesoarelor C.Burileanu
r31
r30
r1
Pointer r0
r31
-suprapunere = ferestre de registre permite
r30 comunicarea intre seturile de lucru
- 74 -
Arhitectura microprocesoarelor C.Burileanu
d) mai multe seturi de registre logice pentru multiprocesare ( mai multe seturi
de registre fizice)
r31 r31 r31
r30 r30 r30
r1 r1 r1
r0 r0 r0
R31
intrare
ferestre Parametrii de intrare
R25
local
Parametrii locali
R15
iesire
ferestre Parametrii de iesire
R9
global
Parametrii globali
R0
- 75 -
Arhitectura microprocesoarelor C.Burileanu
Local H local
Iesire H iesire
Intrare G
A B C H
- 76 -
Arhitectura microprocesoarelor C.Burileanu
R0=B0=C0=..=H0
R10=A10=H26
R15=A15=H31
R31=A31=B15
- 77 -
Arhitectura microprocesoarelor C.Burileanu
instructiuni aritmetico-logice
(d) (s1)(s2)
- fara accumulator
- d,s1,s2 registre din setul de lucru
- registrele de 32 si 64 operatiile pe 32 si pe 64
- tipul de operatii:
-operatii logice: SI,SAU,XOR,CF1,CF2
instructiuni de control
* in registru:
AF = rn logic sau fizic
- 78 -
Arhitectura microprocesoarelor C.Burileanu
* relative la baza,directa
AF = (rn)+adr
- 79 -
Arhitectura microprocesoarelor C.Burileanu
DESFASURARE SPATIU
Ce preface foloseste
familia Intelx86
26 instructiuni
O adresa (0-25) 26 biti
DESFASURARE TIMP
- 80 -
Arhitectura microprocesoarelor C.Burileanu
- 81 -
Arhitectura microprocesoarelor C.Burileanu
b) pentru un P RISC
CONCLUZII:
1. operatiile de prelucrare de date se realizeaza cu circuite dedicate,
combinationale de regula
2. operatiile se realizeaza cablat, exista premise ca aceste operatii de prelucrari
de date, chiar cele complexes a se realizeze intr-o stare
3. Unitatea Control simplificata si din acest punct de vedere, nu e nevoie de
un automat complicat care sa genereze succesiunile de stari
TEHNICA PIPELINE
- fie un P RISC care are orice instructiune cu acelasi numar de stari. Oricare
instructiune dureaza 5 stari.
- 82 -
Arhitectura microprocesoarelor C.Burileanu
CONCLUZII:
- UC P RISC este mult mai simplificata decat cea de CISC , este cablata si nu
semiprogramata
- desfasurarea in timp si in spatiu a instructiunilor este uniforma
- exista multe caracteristici de arhitectura si stuctura care permit desfasurarea
uniforma in timp
- desfasurarea uniforma in timp, prin aparitia tehnicii benzii rulante CPI=1
- 83 -
Arhitectura microprocesoarelor C.Burileanu
optimizarea RISC:
P RISC set de lucru 6 regisre logice A,B,C,D,E,F
- presupunem secventa de instructiuni, registrele logice organizate intr-un
anume fel . orice moment translatarea registrelor logice in trei registre
fizice R1,R2,R3
- 84 -
Arhitectura microprocesoarelor C.Burileanu
- 85 -
Arhitectura microprocesoarelor C.Burileanu
Avantajele RISC
1. Realizarea fizica n structuri VLSI:
- 86 -
Arhitectura microprocesoarelor C.Burileanu
Dezavantajele RISC
1. Numarul redus de instructiuni;
rezulta ca programele RISC sunt mai lungi dectcele CISC (n medie cu 30%).
- 87 -
Arhitectura microprocesoarelor C.Burileanu
a) Ca porturi propriu-zise
- cicluri masina specifice
- semnale distincte pe magistrala de control: IOR si IOW (input output
read si input output write)
IN d, port
OUT port, d
- 88 -
Arhitectura microprocesoarelor C.Burileanu
b) Ca locatii de memorie
- cicluri masina de acces n memorie
- semnale pe magistrala de control folosite pentru accesul n
memorie:MEMR si MEMW (memory read, memory write)
avantaje
* Extind toate caracteristicile transferurilor de date asupra
instructiunilor I/O
* Extind utilizarea porturilor si n cadrul instructiunilor de prelucrari
de date
Intel Pentium pot sa am portul pe post de acumulator
dezavantaje
* Consuma spatiu din harta memoriei
* Timp mare de acces (formatul instructiunilor complicat, modurile de
Adresare sunt multe)
- 89 -
Arhitectura microprocesoarelor C.Burileanu
Tehnici:
A. Sincrone cu programul curent
B. Asincrone cu programul n curs de desfasurare
- 90 -
Arhitectura microprocesoarelor C.Burileanu
EXEMPLU
Intel x86 compatibil. Doua porturi accesate port1 si port2, fiecare poate furniza
un octet de stare in care MSB indica disponibilitatea portului (1 port
disponibil).
P interogheaza porturile sic and gaseste unul disponibil ii trimite 16 biti.
avantaje:
* nu implica hardware suplimentar
* comunicarea cu perifericele se face sincron cu programul curent
dezavantaje:
* interogarea consuma timp
* se pierd posibile cereri de comunicare cu perifericele
B. ntreruperi
- 91 -
Arhitectura microprocesoarelor C.Burileanu
EXEMPLU:
Fie un processor CISC, cu organizare liniara a memoriei, formatul
memoriei octet si adresele fizice de 2 octeti, procesorul arenumaratorul e program
de 16 biti numit PC, indicator de stiva pe 16 biti numit SP, are registrele generale
r16, presupunem un registru de fanioane F pe 16 biti.
- fanionul IF valideaza anume tipuri de cereri de intrerupere
1. (SP) (SP) - 2
((SP) + 1) ((SP)) (F)
2. (SP) (SP) - 2
((SP) + 1) ((SP)) (PC)
3. for i = 1 to n do
(SP) (SP) - 2
((SP) + 1) ((SP)) (r16i),
n care n este numarul total de registre implicate.
4. IF 0
5. (PC) adr
- 92 -
Arhitectura microprocesoarelor C.Burileanu
OBSERVATII:
1. raspunsul la o cerere de intrerupere pentru P CISC foloseste stiva primara
sau propriu-zisa
2. procesorul salveaza in stiva F, PC deci locul unde se face intreruperea si
optional alte registre attribute de arhitectura
3. resetarea lui IF inseamna invalidarea anumitor cereri de intreruperi care ar
putea aparea in rezolvare, in cursul raspunsului intreruperii curente.
4. O etapa in cadrul secventei de raspuns este apelarea etapei nr.5.(diverse
tipuri de intrerupere si dupa modul in acre adr este prestabilita)
5. reiau din stiva ceea ce era acolo pentru a putea continua programul initial
- 93 -
Arhitectura microprocesoarelor C.Burileanu
Caracteristici:
1. este o intrerupere de prioritate maxima ( se raspunde prima)
2. este un criteriu de performanta , tipul de raspuns nu asteapta ciclul masinii
current)
3. raspunsul la intrerupere este hard nu soft (P isi ingheata activitatea)
4. controllerul DMA care preia controlul magistralei si care are drept unica
sarcina transferal de date direct intre memorie si porturi poate fi integrat pe
chipul P sau extern
5. transferal de date direct intre memorie si porturi considerat a fi transferal
cel mai rapid mod de transfer de date pe magistrala P a calculatorului
controlerul DMA poate avea setata o proprietate a unuor porturilor asupra altora
tehnica PUR hard DMA cel mai rapid DMA
- 94 -
Arhitectura microprocesoarelor C.Burileanu
b) intreruperi nemascabile
c) ntreruperi mascabile:
ntreruperi vectorizate
- 95 -
Arhitectura microprocesoarelor C.Burileanu
Probleme:
1. Marimea vectorului de ntrerupere
2. Dimensiunea informatiei furnizata de periferic (tip)
3. Marimea tabelei cu vectori de ntrerupere
4. Localizarea tabelei cu vectori de ntrerupere n harta memoriei
- 96 -
Arhitectura microprocesoarelor C.Burileanu
Regula. Dupa codul de tip are n biti si vectorul de intrerupere are m octeti
dimensiunea:
m*2n octeti
EXEMPLU:
-fie P CISC
- organizare liniara a memoriei, memorie organizat pe octeti, adrese complete 16
biti, cod tip de 7 biti, registru suplimentar atribut de arhitectura, poate sa aleaga o
anumita zona de memorie.
- 97 -
Arhitectura microprocesoarelor C.Burileanu
- 98 -
Arhitectura microprocesoarelor C.Burileanu
Intreruperi software
hardware
octetul exista
octetul nu exista
- 99 -
Arhitectura microprocesoarelor C.Burileanu
Rezervate
- 100 -
Arhitectura microprocesoarelor C.Burileanu
Exemplu
- 101 -
Arhitectura microprocesoarelor C.Burileanu
Instructiunea: (R1)(R3)
- 102 -
Arhitectura microprocesoarelor C.Burileanu
Concluzii:
- 103 -
Arhitectura microprocesoarelor C.Burileanu
Instructiunea (A)(A)+(R1)
Observatie:
- 104 -
Arhitectura microprocesoarelor C.Burileanu
Instructiunea (A)(A)+((R5,R6))
Observatii:
- 105 -
Arhitectura microprocesoarelor C.Burileanu
Instructiunea (A)(adr)
- 106 -
Arhitectura microprocesoarelor C.Burileanu
Observatii:
- 107 -
Arhitectura microprocesoarelor C.Burileanu
Instructiunea (PC)adr
- M4 = saltul
Observatii:
- 108 -
Arhitectura microprocesoarelor C.Burileanu
- 109 -
Arhitectura microprocesoarelor C.Burileanu
- 110 -
Arhitectura microprocesoarelor C.Burileanu
Exemplu:
Procesorul are 2 unitati:
- UE
- UIM
Au functii distincte si pot functiona in paralel
- 111 -
Arhitectura microprocesoarelor C.Burileanu
Concluzii:
- 112 -
Arhitectura microprocesoarelor C.Burileanu
- 113 -
Arhitectura microprocesoarelor C.Burileanu
- 114 -
Arhitectura microprocesoarelor C.Burileanu
Exemplu:
Semnificatii :
S1 fetch
S2 decodifica
S3, S4, S5 depind de tipul de instructiuni
a) pentru instructiunile de prelucrari de date:
S3 citeste operand
S4 - prelucreaza
S5 scrie rezultat
b) pentru accesarea memoriei de date si/sau de program (load, store,
salt)
S3, S4, S5 accesarea memoriei
- 115 -
Arhitectura microprocesoarelor C.Burileanu
SUB AND
- 116 -
Arhitectura microprocesoarelor C.Burileanu
- 117 -
Arhitectura microprocesoarelor C.Burileanu
- 118 -
Arhitectura microprocesoarelor C.Burileanu
- 119 -
Arhitectura microprocesoarelor C.Burileanu
Concluzii preliminare:
- 120 -
Arhitectura microprocesoarelor C.Burileanu
- 121 -