Procesoare CISC și RISC
Exemplul 2.6. Transformări echivalente ale programului
/ * Un exemplu de posibila strategie de optimizare.
* Cod, introdus de compilator pentru a verifica limitele indexului,
* evidențiate prin aliniere nestandard. * /
int matrice [100];
int bubblesort (dimensiune int)) numar int; numără = 0;
pentru (i = 1; i<100; i++) if (i<0 || i>100) creste (IndexOverflow); dacă (i-l<0 || i-l>100) creste (IndexOverflow); dacă (matricea [i-1]
int t = array [i];
dacă (i<0 || i>100) creste (IndexOverflow); dacă (i-l<0 || i-l>100) creste (IndexOverflow);
matrice [i] = matrice [i-1];
dacă (i-l<0 II i-l>100) creste (IndexOverflow); matrice [i-1] = t; numărătoarea ++; eu
în timp ce (număr! = 0);
// bucla interioară optimizată poate arăta astfel: register int * ptr = array; înregistrați int * limit = ptr; înregistrați int t = * ptr ++;
dacă (dimensiunea<100) limit+=size; else limit+=100;
în timp ce (ptr
>
dacă (mărime> 100) crește (IndexOverf scăzut);
Odată cu răspândirea în mini și microcomputere cache-uri de instruire și de date, precum și executarea de instrucțiuni pipeline, care combină o varietate de activități într-un singur cod de operare a devenit mai puțin profitabile în termeni de performanță.
Acest lucru a dus la o schimbare radicală în ceea ce privește ceea ce ar trebui să fie un procesor ideal, orientat spre execuția codului compilat. În primul rând, compilatorul nu are nevoie de nici o compatibilitate binară sau chiar de asamblare cu orice altceva (de aici „raționalitatea“). În al doilea rând, are nevoie de o mulțime de registre interschimbabile - cel puțin treizeci și doi, dar, de fapt, cu atât mai mult, cu atât mai bine. În al treilea rând, comenzile complexe combinate complică hardware-ul procesorului, dar nu există încă nici un sens din partea acestora sau nu este suficient.
Succesul comercial al procesoarelor construite în conformitate cu aceste opinii (SPARC, MIPS, PA-RISC) a condus la faptul că abrevierea
USC a început să fie folosit la locul și din loc - de exemplu, Transputer deja menționat (care a avut o stivă registru și pus în aplicare la nivelul sistemului planificator de comandă, adică, este întruchiparea vie a CISC-abordare descrisă anterior ..) pe bază de RISC În documentația numită, firma Intel lăudat , că noul său procesor Pentium este construit pe un nucleu RISC (care prin asta a fost implicat?) și așa mai departe.