You are on page 1of 5

1.

Prelazak sa RISC na CISC koncept


Zadnjih 25 godina prelazak sa CISC na RISC koncept doveo je do radikalnih promena kod ISA (Instruction Set Architecture). U cilju boljeg sagledavanja ove problematike u daljem tekstu ukazaemo na kljune razlike izmedju ove dve arhitekture. Kao to smo ranije ukazali ISA raunar specificira primitivne komande koje se direktno izvravaju od strane hardvera. Drugim reima, ISA specificira izvrive mainske instrukcije za dati tip procesora. Kompleksnost ISA zavisi od formata instrukcija, formata podataka, adresnih naina rada, registara opte namene, specifikacije opkoda, i mehanizmima za upravljanje tokom izvr{enja programa. U zavisnosti od razliitih izbora koji se tiu ovih osobina, RISC i CISC koncepti predstavljaju dve kole koje se odnose na ISA. Tekue na tritu postoji oko 60 razliitih arhitektura, koji su plod razvoja velikih kompanija, i na stotinu implementacija koje se izradjuju (fabrikuju) na osnovu licenci ovih arhitektura.

1.1 Arhitekturne razlike


Osnovne arhitekturne razlike izmedju pravih RISC i klasinih CISC procesora prikazane su na Slici 1. Ranije CISC arhitekture imale su unificirani (jedinstveni) ke u kome se uvaju instrukcije i podaci. Ove arhitekture imaju isti put za podatke/instrikcije i koriste malo registarsko polje (RF-register file). Noviji CISC procesori kakvi su MC68030 i MC68040 koriste posebne keeve za podatke i instrukcije. Za implementiranje velikog skupa naredbi CISC procesori koriste mikroprogramski upravljanu memoriju. Ipak novija reenja okreu se ka direktnom upravljanju.
malo polje registara (small registar file)

upravlja~ka jedinica (control unit)

instrukcija/staza podataka instruction/data path

upravlja~ka memorija (control memory) jedinstveni ke{ (unified cashe)

glavna memorija (main memory)

a) klasi~an CISC procesor

veliko polje registara (large registar file)

upravlja~ka jedinica sa direktnim upravljanjem (hardwired control unit)

staza podataka (data path)

instrukcioni ke{ (instruction cashe)

ke{ podataka (data cashe)

instrukcije (instruction) glavna memorija (main memory)

podaci (data)

a) pravi RISC procesor


Slika 1 Arhitekturne razlike izmedju RISC i CISC procesora

Kod RISC procesora, keevi za podatke i instrukcije su izdvojeni, a takodje su razliiti i putevi preko kojih se pristupa ovim memorijama. Naglasimo da se kod RISC-ova koristi registarsko polje neto veeg obima. Upravljaka jedinica RISC-a je bazirana na direktnom upravljanju. Ovakvim pristupom, za sluaj da u programskom toku ne postoji veliki broj instrukcija grananja ili prekida (interrupts), mogue je postii CPI reda jedan ciklus.

1.2 Smernice razvoja kod CISC-ova


Prvi raunari bili su veoma jednostavni i posedovali su ogranieni skup naredbi. Tokom vremena, i usled brzog razvoja raunara, kompleksnost instrukcija se poveavala ini se jo bre, ili kako se to popularno ka`e ''koracima od sedam milja''. Razlog ovome, za dui vremenski period, je bio nagli pad cene hardvera, sa jedne, a poveana cena softvera, sa druge strane. Krajnji efekat ovog trenda je bio takav da se sve vei broj funkcija podravao od strane hardvera, to je dovelo do toga da je skup instrukcija kod ovih procesora postao ogroman, a takodje se znaajno poveao i broj sloenih instrukcija koje ti procesori mogu da izvravaju. Najbolji reprezenti CISC kocepta su procesori iz serije Intel x86, Motorola MC 68xxx, Digital VAX serija, i neke IBM maine. Porast skupa instrukcija je bio stimulisan popularnou mikroprogramskog upravljanja 60-tih i 70-tih godina prolog veka. Jedan tipian CISC procesor ima vie od 300 instrukcija. Pri ovome treba naglasiti i korienje promenljivih formata instrukcija/podataka, pri emu obim tipinih rei mo`e biti 8-, 16-, 32-, i 64-bita. Relativno mali skup registara opte namene, od 8 do 24, se koristi kod CISC-ova. Kod CISC-ova postoji veliki broj operacija obraanja (referenciranja) memoriji, koje koriste na desetinu adresnih naina rada (oko 20), ukljuujui indeksno i indirektno adresiranje. Skoro svi veliki proizvodjai mikroprocesorskih ipova imali su znaajne investicije u razvoju CISC

arhitektura od kasnih 60-tih do pojave prvih RISC ipova, a to je bilo ranih 80-tih godina prolog veka.

1.3.

RISC izazovi

Nakon takorei, tri decenije razvoja CISC arhitektura, korisnici raunara su poeli da procenjuju (evaluiraju) odnos izmedju ISA i dostupnih hardversko/softverskih tehnologija. Na osnovu analiza programa (uglavnom sprovedenih trasiranjem) ustanovljeno je da samo 25% od svih raspoloivih kompleksnih instrukcija troi 95% od ukupnog vremena potrebnog za izvrenje programa. To, drugim reima, znai da se ostalih 75% hardversko-podr`avanih instrukcija retko koristi u toku izvrenja programa (manje od 5%). Tako se i rodila ideja o RISC-ovima koja se bazira na sledeoj injenici: Uini ono to se najvie koristi najbr`im. Kao posledica ovakvog pristupa ostvarilo se dramatino poveanje performansi u odnosu na CISC dizajn. Klasino pitanje koje se, projektantima RISC-ova, sada postavlja je sledee: Zbog ega tro{iti veliki deo povrine ipa na instrukcije koje se retko koriste? Odgovor bi bio sledei: Kompleksne instrukcije, nakon procene njihovog pojavljivanja u programima, treba kada je njihov procenat mali implementirati softverski (u vidu potprograma), a ne hardverski kakva je bila dotada{nja praksa kod CISC procesora. Implementacija retko korienih instrukcija u softveru omoguava da se skoro svi gradivni blokovi procesora smeste na jedinstveni VLSI ip. ta vie, u okviru jednog RISC procesorskog ipa, na dana{njem nivou tehnologije, mogue je ugraditi sada on-chip ke kao i ve}i broj FP jedinica. Obino, skup instrukcija RISC procesora je manji od 100 instrukcija, pri emu su instrukcije obima 32- ili 64- bita, ali ne oba formata istovremeno. U principu se koriste od tri do pet adresnih naina rada. Arhitektura RISC-a je tipa Load/Store. To znai da sve instrukcije pribavljaju operande iz registara i smetaju rezultate i registre (register-based), a da su Load i Store jedine dve naredbe pomou kojih se procesor obraa memoriji. RISC procesor esto koristi dva posebna registarska polja. Jedno polje ine 32 registra za manipulisanje sa celobrojnim vrednostima i adresama (integer register file), a drugo polje se sastoji od 32 registra koji se koriste kod manipulisanja brojeva u pokretnom zarezu (floating point register file). Neki od RISC procesora koriste i vie od 100 registara. Pored korienja registarskih polja velikog obima, podeljeni keevi za instrukcije i podaci dodatno i znaajno skrauju vreme pristupa memoriji. Osnovna ideja RISC-a je da se najvei broj instrukcija izvri za jedan ciklus to se postie pribavljanjem operanda direktnim putem iz registara, bafera preuredjenja ili kea podataka, a ne kao kod CISC-ova iz memorije. Na Slici 2 uporedno su prikazane kljune karakteristike pravih RISC i klasinih CISC procesora. Napredkom tehnologije, u budunosti, neke arhitekturne razlike sa Slike 2 sigurno e nestati.

karakteristike format instrukcije taktna frekvencija polje registara

klasi~na CISC arhitektura promenljivi format 8,16,32i 64 bita 100-500 MHz 8-24 registara op{te nemene

prava RISC arhitektura fiksna 32-bitne instrukcije 200-400 MHz 32-192 registara op{te namene, izdvojeni integer i FP registri oko 100, najve}i broj su registarsko zasnovani sa izuzetkom Load/Store ograni~eno na 3-5, samo Load/Store adresiraju meoriju najve}i broj koristi podeljeni ke{ za instrukcije i podatke

broj instrukcija i tipovi

adresni na~ini rada

dizajn ke{a

CPI, i prose~ni CPI

oko 300, sa preko ~etrdesetak varijanti instrukcionih tipova na desetinu (reda 20) uklju~uju}i indeksno/ indirektno adresiranje raniji modeli su koristili jedinstveni ke{, noviji koriste razdvojene ke{eve za instrukcije i podatke 1-20 ciklusa, u proseku 4 ciklusa najve}i broj koristi mikroprogramsko upravljanje, a kod nekih imamo i direktno Intel x86, VAX 8600, IBM 390, MC 68040, Intel Pentium, AMD 486, Cyrix 686

upravlja~ka jedinica CPU-a

1 ciklus za jednostavne operacije, 1,5 ciklus u proseku najve}i broj koristi direktno upravljanje bez upravlja~ke memorije Sun UltraSparc, MIPS R10000, Power PC 604, HP PA8000, Digital 21264

tipi~ni reprezentativni rocesori

Slika 2. Karakteristike klasinih CISC i pravih RISC arhitektura

1.3 ta je donela dvo-decenijska ISA debata


Korienjem velikog registarskog polja, bafera podataka, i izdvojenih keeva za instrukcije i podatke, imalo je povoljan efekat na interno prosledjivanje podataka kroz CPU, kao i eliminisanju nepotrebnih memorisanja (pamenja) medjurezultata operacija. Sa znaajno smanjenom kompleksnou skupa instrukcija, RISC procesor se moe lake projektovati i realizovati kao jedinstveni VLSI ip. Prednost ovog pristupa su rad na viim frekvencijama, nii proseni CPI koji se mo`e posti}i, ni`i procenat ke promaaja koji se moe ostvariti, i bolje mogunosti koje stoje na raspolaganju za optimizaciju kompilatora. Ipak prelazak sa CISC na RISC koncept predstavljao je radikalan preokret u arhitekturi. Glavna rtva je predstavljala gubitak binarne kompatibilnosti sa tradicionalnim CISC aplikacionim programima. Naime, postoje}i programi kreirani za neku od CISC ma{ina nisu mogli vi{e da se sada izvravaju na RISC mainama. Sprovedena istra`ivanja koja su se odnosila na trasiranje osobina programa pokazala su da konverzija sa CISC programa na ekvivalnetni RISC program podrazumeva poveanje duine programa (broj instrukcija) za oko 40%. Negativni efekat poveanja duine RISC programa, sa aspekta vremena izvrenja,

je ipak ~ini se manji u odnosu na pozitivne efekte koji se postiu poveanjem taktne frekvencije i smanjenjem prosenog broja CPI-a kod RISC procesora. Debata izmedju projektanata RISC i CISC procesora, oko toga koji je pristup bolji, po svemu izgleda je sada zavrena. Obe strane u proteklom periodu nauile su i prihvatile jedna od druge puno dobrih i korisnih sugestija i reenja. Na dananjem nivou razvoja po svemu sude}i te granice su postale takorei nevidljive. Veliki broj procesora danas se implementira u istoj tehnologiji ugradjivanjem hibridnih reenja koje uzimaju u obzir dobre osobine kako RISC tako i CISC procesora. Verovatno je kompromis, kao i uvek, najboje reenje.

You might also like