Sunteți pe pagina 1din 2

SCURT PRIVIRE COMPARATIV NTRE ARHITECTURILE RISC I CISC

Multe calculatoare au seturi de instruciuni ce includ mai mult de 100 - 200 instruciuni. Ele folosesc o varietate de tipuri de date i un mare numr de moduri de adresare. Tendina aceasta de a mri numrul de instruciuni a fost influenat de mai muli factori, dintre care amintim: perfecionarea unor modele de procesoare existente anterior, pentru a pune la dispoziia utilizatorilor (programelor utilizator) ct mai multe funcii cablate adugarea de instruciuni care s faciliteze translatarea din limbajele de nivel nalt n programe cod executabil (limbaj main) tendina de a deplasa ct mai multe funcii de la implementarea programat (software) ctre cea cablat (hardware), n scopul obinerii unor performane de vitez ct mai mari. Ideea simplificrii setului de instruciuni, n scopul mririi performanelor procesorului, provine att din proiectul calculatorului CDC 6600, ct i din proiectele realizate la universitile americane din Berkeley (RISC I, RISC II i SOAR) i Stanford (proiectul MIPS). Proiectele RISC (Reduced Instruction Set Computer - Calculator cu set redus de instruciuni) au urmrit ca instruciunile procesorului s fie de aceeai lungime, instruciunile s se execute ntr-o singur perioad de ceas (cu ajutorul tehnicii de tip conduct - pipeline), iar unitatea de control s fie implementat cablat, pentru a reduce complexitatea chip-ului i pentru a crete viteza. La RISC se urmrete de asemenea ca accesrile la memorie (consumatoare de timp) s se efectueze doar pentru operaiile de ncrcare i stocare (arhitectura fiind numit n consecin: "load/store"), iar celelalte operaii s se efectueze cu operanzi stocai n registrele interne ale UCP. Unele din proiectele de arhitecturi RISC folosesc un set mare de ferestre de registre (numit i stack cache - memorie stiv de registre) pentru a accelera operaiile de apel al subrutinelor. Cu toate aceste specificaii, denumirea RISC nu conduce i la nite criterii stricte de proiectare, ea fiind doar o descriere a cerinelor generale impuse procesorului. De aceea multe din mainile anterioare (numite de atunci arhitecturi CISC - Complex Instruction Set Computer - calculator cu set complex de instruciuni) au "mprumutat" aceste idei de proiectare (pipeline, execuia unei instruciuni pe ciclu de ceas, ferestre de registre, etc.) dar ele nu pot fi numite RISC-uri (MC68040, 80486, Pentium, H16, etc.). Concepia RISC pornete de la faptul c un circuit mai simplu pentru procesor, poate lucra la frecvene de ceas mai mari, iar setul mai simplu de instruciuni este mai potrivit pentru optimizri ale codului de ctre un compilator. Arhitectura numit CISC, se refer la un set complex de instruciuni; aceasta ns, doar prin comparaie cu RISC, cci nu exist un set de caracteristici generale, asa cum s-au definit la RISC. Ideea care s-a manifestat n dezvoltarea acestor maini, de a introduce structuri hardware suplimentare pentru creterea vitezei, nu este greit ca principiu. Proiectarea unui set de instruciuni pentru un procesor trebuie s in seama nu numai de construcia limbajului main ci i de cerinele impuse de utilizarea limbajelor de programare de nivel nalt. Translatarea se face cu un program compilator. Deci scopul final ar fi pentru arhitectura CISC s permit folosirea unei singure instruciuni main pentru fiecare instruciune din programul scris n limbaj de nivel nalt. Aceasta ar conduce la simplificarea compilatorul, cci sarcina acestuia este mult uurat dac exist o instruciune main care implementeaz direct o instruciune de limbaj nalt. Dar asta presupune realizarea cte unei arhitecturi pentru fiecare tip de limbaj de programare. Dac nu este asa, de cele mai multe ori, instruciunile complexe sunt rar utilizate de ctre compilatoare. Alt dezavantaj al CISC const n faptul c este dificil de mrit frecvena de ceas pentru un circuit complex. Rezumnd, putem enumera cteva din elementele caracteristice pentru fiecare din cele doua arhitecturi.

Rezumat al caracteristicilor definitorii pentru mainile RISC: 1. Acces la memorie limitat, doar prin instruciuni de ncrcare (load) i stocare (store); 2. Format de lungime fix pentru instruciuni, deci uor de decodificat; caracteristic care contribuie la simplificarea structurii unitii de control; 3. O structur simpl a unitii de control implementat sub form cablat, deci cu vitez mare de funcionare; 4. Relativ puine tipuri de instruciuni (tipic sub 100 de instruciuni) i puine moduri de adresare (din nou aceast caracteristic contribuie i la simplificarea structurii unitii de control); 5. Execuia instruciunilor ntr-un singur ciclu prin tehnici pipeline7; se face prin suprapunerea diferitelor faze de execuie (fetch, decodificare, aducere operanzi etc.) ale mai multor instruciuni. Tehnica de tip conduct (pipeline) este utilizat i la arhitecturile CISC, dar la RISC tehnica este mai eficient i mai uor de implementat, datorit lungimii constante a instruciunilor; 6. Un numr relativ mare de registre n interiorul UCP; 7. Utilizarea compilatoarelor optimizatoare - pentru a optimiza performanele codului obiect. La CISC cteva din caracteristicile care le deosebesc de RISC-uri sunt: 1. Multe instruciuni care prelucreaz operanzi din memorie; 2. Format de lungime variabil pentru instruciuni; 3. Unitate de control microprogramat (micro-codat), avantajoasa din punctul de vedere al flexibilitii implementrii, dar lent; 4. Set complex (extins) de instruciuni i o mare varietate de moduri de adresare; 5. Un numr relativ mic de registre n interiorul UCP. 6. Utilizarea compilatoarelor optimizatoare - pentru a optimiza performanele codului obiect; 7. Exista instruciuni complexe de mare eficien, dar uneori acestea sunt rar utilizate de ctre compilatoare. Asa cum s-a artat mai sus, arhitecturile RISC restricioneaz numrul de instruciuni care acceseaz direct memoria principal. Cele mai multe instruciuni ale RISC presupun doar operaii ntre registrele interne UCP. Pentru c instruciunile complexe nu exist n setul de instruciuni, dac este nevoie de ele, acestea se implementeaz prin rutine cu ajutorul instruciunilor existente. n final, ntr-un program executabil vor fi mai multe instruciuni dect la CISC, dar execuia pe ansamblu va fi mai rapid. Totui, dac ntr-un program, frecvena operaiilor complexe este mare, este foarte posibil ca performanele unei maini CISC s fie mai bune (execuie mai rapid).

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