Sunteți pe pagina 1din 8

AMP Cursul 9

Subiecte centrale
CISC - Complex Instruction Set Computer
Caracteristici ale arhitecturilor CISC
Microprogramarea
Statistici i aspecte ce necesit un alt mod de abordare
RISC - Reduced Instruction Set Computer
Caracteristici definitorii RISC
Setul de registre
Tipuri de instruciuni RISC
Moduri de adresare pentru RISC
Avantaele RISC
!e"avantaele RISC

CISC - Complex Instruction Set Computer (1/2)


#iaa celor mai puternice procesoare de u" general este dominat de dou familii
de procesoare diferite din industria de C#$% familia Intel &'(&) i seria Motorola
)&'''* Seria )&''' este folosit de Apple Macintosh+ cel mai puternic competitor
I,M #C*
Ambele familii+ inclu"-nd i.&) i )&'/' sunt procesoare CISC pure* I.&) este
ultimul procesor CISC pur al familiei Intel* 0(ist companii care produc C#$-uri
compatibile cu seria &'(&)+ cele mai mari fiind AM! i C1ri(*
Caracteristici ale arhitecturilor CISC
Set amplu de instructiuni+ peste .''2
Moduri de adresare comple(e2
3olosirea de micro-instruciuni+ e(ecuia instruciunilor presupune un
numr variabil de stri*
3olosirea microprogramelor pentru e(ecuia instruciunilor cod main
CISC - Complex Instruction Set Computer (2/2)
Aspecte implicate de folosirea microprogramelor
Creterea capacitii necesare R4M pentru microcod reduce spaiul
unitilor logice de procesare i implicit diminuea" performanele*
$n de"avanta semnificativ al unui set comple( de instruciuni este acela
c e(ist instruciuni comple(e rar folosite+ instruciuni care ocup o
cantitate considerabil de spaiu disponibil pe chip 5n "ona R4M de
microcod*
Milocul anilor 6' I,M a reali"at o statistic detaliat cu re"ultate neateptate i
impresionante%
$n program pentru un procesor CISC folosete tipic 7'8 din instruciuni
5n apro(imativ &'8 din durata e(ecuiei unui program*
9n conte(te speciale e(ecuia unei secvene de instruciuni simple rulea"
mai repede dec-t o singur instruciune cu cod main comple( care ar
avea acelai efect*
#rogramele au un numr semnificativ de instruciuni de control al
programului : call+ mp ***;
Se prefigurea" ca alternative%
Reducerea setului de instruciuni2
<ivele de pipeline pentru e(ecuia instruciunilor2
<umai anumite instruciuni s aibe acces direct la memorie+ restul folosesc
registrele interne ale microprocesorului2
3olosirea registrelor 5ntr-o manier care s permit acces rapid al
apelurilor*
Caracteristici definitorii RISC
(Reduced Instruction Set Computer)
!e"voltarea arhitecturilor RISC are loc iniial 5n dou universiti americane% Standford
i ,er=ele1*
>* Instruciunile se desfaoar 5ntr-o singur stare% CPI = 1*
7* $nitatea de control este reali"at prin ?logic de tip cablat@*
.* Aungime fi( pentru formatul tuturor instruciunilor :u"ual+ de dimensiunea
operan"ilor tipici;*
/* <umr mic de instruciuni :sub >7&;*
B* $niformitatea formatului instruciunilor :nu mai mult de / tipuri de formate;*
)* <umr mic de moduri de adresare :sub /;*
6* Accesul memoriei se face numai cu instruciuni de tip ?LA!@ i ?S"R#@*
&* 4peraiile de prelucrarea datelor folosesc numai registrele microprocesorului*
C* $n numr mare de ?registre generale@ :cel puin .7;*
Setul de re$istre (1/%)
Avantaele unui set mare de registre generale
>* Mrirea vite"ei de procesare prin minimi"area accesului 5n memorie a operan"ilor
iDsau re"ultatelor*
7* Reali"area structurilor de date de tip sti&' sau coad' ?hard@ :5n interiorul
microprocesorului;*
.* Transferul parametrilor 5ntre programele apelante i cele apelate direct 5n
interiorul
microprocesorului*
/* !eservirea cererilor de 5ntrerupere i multiprocesarea pot fi reali"ate direct 5n
interiorul microprocesorului*
B* Mrirea ?factorului de uniformitate@ a cipului :numr total de circuite D numr de
tipuri de circuite% registre+ $AA+ numrtoare etc*;*
a. Set de registre simplu.
Funcional sunt similare,nu exist atribuiuni
implicite (ex. 80x86 CX uncie implicit
de contor!.
b. "ai multe seturi logice de registre (unic set
i#ic de registre!.
Se olosesc cu scopul de a dep$i problema
sal%rii complete a setului de registre
pentru ca#ul apelurilor de subrutine
(C&''()*+,)-!.
&dresarea setului logic de registre al unei
subrutine se ace cu a.utorul unui registru
pointer.
c. Seturi logice de registre parial suprapuse
(unic set i#ic de registre!.
)eali#ea# transerul de parametrii
(C&''()*+,)-! /ntre rutina care
generea# apelul $i subprogramul apelat.
0resupune olosirea de erestre de registre.
d. "ai multe seturi logice de registre pentru
multiprocesare (mai multe seturi i#ice de
registre!.
Setul de registre
(1(2!
"i(uri de instruc)iuni RISC
Instruciuni pentru acces 5n memorie% A4A! D ST4R0*
Instruciuni aritmetico-logice*
Salturi propriu-"ise i apeluri de subprograme*
Instruciuni de control al microprocesorului*
0(emple pentru Intel i&)'DC)' :s>+ s7+ d sunt registre generale;%
adds s>+ s7+ d 2 :d; E :s>;F :s7; pentru 5ntregi cu semn
ldl*l s>:s7;+ d 2 :d; E ::s7;F :s>;;
st*s s>+ Gconst:s7; 2 ::s7;F const; E :s>;
shl s>+ s7+ d 2 :d; E :s7;H 7:s>;
Moduri de adresare *i for+atul instruc)iunilor
Tipuri de moduri de adresare pentru RISC%
- 5n registru% A3 I rn
- direct :absolut; - de regul 5ntr-o poriune a hrii memoriei%
A3Iadr
- indirect prin registru% A3 I :rn;
- relativ la ba"+ direct% A3 I :rn; F adr
- relativ la ba" cu registru inde(% A3 I :ri; F :r;
- relativ :la #C;% A3 I :#C; F disp*
)egistrele microprocesoarelor
Berkeley RISC I i II
a. )egistrele disponibile pentru o
procedur
b. )egistrele i#ice $i erestrele de registre
logice
Se impune uncional parta.area setului de
registre /n parametrii de intrare,
%ariabile locale, parametrii de ie$ire,
%ariabile globale.
Setul de registre
(2(2!
a.
b.
a; 3ormatul unei instruciuni pentru microprocesoarele Intel i.&)Di/&) :5ntre > i >B
octei;*
b; 3ormatul unei instruciuni pentru microprocesorul RISC Intel i&)' :/ octei+
indiferent de instruciune;*
"odul de reali#are a unei instruciuni de /nmulire
a! 0entru un
microprocesor
C3SC4
"odul de reali#are a unei instruciuni de /nmulire
b! 0entru un
microprocesor )3SC4
+e5nica 6graului culorilor7 pentru utili#area registrelor )3SC
a! 8iagrama timpului de utili#are
a registrelor logice A, B, C,
D, E, F4
b! 9raul de intereren a
utili#rii registrelor4
alocarea registrelor i#ice
R1, R2, R3.
A&anta,ele RISC
>* Reali"area fi"ic 5n structuri JASI%
- minimi"area ariei cipului dedicat $nitii de control al microprocesorului :sub >'8;2
- mrirea ariei cipului disponibil pentru registre generale2
- mrirea ?factorului de uniformitate@ a cipului :numr total de circuite D numr de tipuri
de circuite% registre+ $AA+ numrtoare etc*;2
- posibilitatea utili"rii altor tehnologii dec-t cea a siliciului :e(* KaAs;*
7* Mrirea vite"ei de procesare%
- prin reali"area $nitii de control cu logic de tip cablat2
- prin utili"area unui numr mare de registre interne se reduce traficul cu memoria2
- prin suprapunerea e(ecuiei instruciunilor2
- prin utili"area tehnicii ?5nt-r"ierii salturilor@ se previne golirea co"ii de instruciuni*
.* Scderea costului i mrirea fiabilitii%
- timp mai mic pentru proiectarea $nitii de control2
- timpul global de proiectare i punere 5n fabricaie este considerabil mai mic dec-t pentru
CISC2
- probabilitate mai mic de a avea erori de proiectare i usurina de corectare2
- lungimea standard a formatului instruciunilor elimin riscul depirii limitelor paginilor
de ctre o instruciune* Kestionarea paginilor devine mai uoar*
/* Suport pentru limbaele de nivel 5nalt%
- reali"area compilatoarelor este mai simpl :numr mic de opiuni 5n alegerea
instruciunilor;2
- creterea eficienei prin utili"area e(tensiv a operaiilor de prelucrare 5n interiorul
microprocesorului2
- tehnica ?ferestrelor de registre@ uurea" implementarea apelrii subrutinelor
:procedurilor;*
!e-a&anta,ele RISC
>* <umrul redus de instruciuni2
- re"ult c programele RISC sunt mai lungi dec-t cele CISC :5n medie cu .'8;*
7* <umrul mare de registre interne%
- timp de acces mai mare2
- utili"area registrelor ?pointer@ pentru ferestre complic selecia unui registru la
decodare2
- spaiu mare pe cip2
- tehnici complicate de gestionare a ferestrelor2
- compilatoarele avansate folosesc mai eficient seturi reduse de registre2
- salvarea registrelor 5n conte(tul multiprocesrii :la trecerea de la un proces la
altul; presupune timp mai 5ndelungat pentru stocare si recuperare 5nDdin memorie*
.* $nitatea de control a microprocesorului reali"at ?cablat@
- este mai puin fle(ibil i mult mai greu de modificat*
/* 3ormatul redus al instruciunilor
- face imposibil adresarea direct a unei hri de memorie mare :de pild+ adrese
fi"ice sau logice de .7 bii;*