Računar sa smanjenim skupom instrukcija

Računar sa smanjenim skupom instrukcija ili RISC, je strategija dizajna procesora na osnovu uvida da pojednostavljene (za razliku od kompleksa) instrukcije mogu da pruže bolje performanse ako ova jednostavnost omogućava mnogo brže izvršavanje svake instrukcije. Računar na osnovu ove strategije je računar sa smanjenim skupom instrukcija, koji se takođe zove RISC. Suprotna arhitektura se zove računar sa složenim skupom instrukcija, tj. CISC.

Sun-ov UltraSPARC, RISC mikroprocesor

Razni predlozi su učinjeni u pogledu precizne definicije RISC-a, ali opšti koncept je da je to sistem koji koristi mali, visoko-optimizovani skupa instrukcija, pre nego više specijalizovan skup instrukcija koji se često može pronaći u drugim tipovima arhitekture. Još jedna zajednička osobina je da RISC sistem koristi učitavanje/skladištenje arhitekture,[1] gde se memoriji normalno pristupa pomoću konkretnih uputstava, a ne pristupa se kao delu druge instrukcije kao сабирање.

Iako je više sistema iz 1960-ih i 70-ih godina identifikovano kao preteča RISC-a, moderne verzije dizajna datumiraju do 1980. godine. Konkretno, dva projekta na Univerzitetu Stanford i Univerzitetu Kalifornije u Berkliju su najviše povezana sa popularizacijom ovog koncepta. Stanfordov dizajn će nastaviti da bude komercijalizovan kao uspešna MIPS arhitektura, dok je Berklijev RISC dao ime čitavom konceptu, komercijalizovan kao SPARC. Još jedan uspeh iz ovog doba su bili napori IBM-a da konačno dovede do Power Architecture. Dok su ovi projekti sazrevali, širok spektar sličnih projekata je procvetao krajem 1980-ih i ranih 1990—ih godina, predstavljajući veliku snagu Unix workstation tržišta ugradnjom procesora u laserske štampače, rutere i slične proizvode.

Dobro poznata RISC porodica uključuje DEC Alpha, AMD 29k, ARC, ARM, Atmel AVR, Blackfin, Intel i860 i i960, MIPS, Motorola 88000, PA-RISC, Power (uključujući PowerPC), SuperH, i SPARC. U 21. veku, upotreba ARM arhitekture za procesore u pametnim telefonima i tabletima, kao što su iPad, Android, i Windows RT tableti, obezbedila je široku bazu korisnika za RISC-zasnovane sisteme. RISC procesori se takođe koriste u superračunarima poput K računara, najbržeg na TOP500 listi, drugog na listi iz 2012, a četvrtog na listi iz 2013,[2][3] i Sequoia, najbržeg u 2012 i trećeg na listi 2013.

Istorija i razvoj uredi

Brojni sistemi, 1970. godine (pa čak i 1960. godine) su bili zasluženi za prvu RISC arhitekturu, delom na osnovu njihovih korišćenja pristupa učitavanju/skladištenju.[4] Termin RISC je izmislio David Patterson na Berkeley RISC projektu, iako se donekle sličan koncept ranije pojavio.[5]

CDC 6600 dizajnirao je Simor Krej 1964. godine korišćenjem učitavanje/skladištenje arhitekture sa samo dva režima adresiranja (registar+registar, i registar+neposredna konstanta) i 74 opkoda, sa osnovnim ciklusom generatora takta/instrukcija sa izdatim opsegom koji je 10 puta brži nego vremenski pristup memoriji.[6] Delimično zbog optimizovane učitavanje/skladištenje arhitekture CDC 6600 Jack Dongarra navodi da se on može smatrati pretečom savremenih RISC sistema, iako niz drugih tehničkih barijera treba da se prevaziđu za razvoj savremenog RISC sistema.[7]

 
IBM PowerPC 601 RISC mikroprocesor.

Michael J. Flynn je prvi video RISC sistem kao IBM 801 dizajn koji je započeo Džon Kok 1975. godine, i završio 1980. godine.[1] 801 je na kraju proizveden u formi jednog čipa kao ROMP 1981. godine, koji je izrađen za 'Research OPD [Office Products Division] Micro Processor'.[8] Kao što naziv kaže, ovaj procesor je dizajniran za „mini“ zadatke, a takođe je korišćen u IBM RT-PC 1986 godine, i ispostavilo se da je to komercijalni neuspeh. [9] Ali 801. godine inspirisao je nekoliko istaživačkih projekata, uključujući jedan novi u IBM-u koji će na kraju dovesti do IBM POWER instrukcije skupa arhitekture.[9][10]

Najviše prikazani u javnosti RISC dizajni, međutim, bili su rezultati programa istraživanja univerziteta pokrenutih uz finansiranje DARPA VLSI Program. VLSI Program, praktično danas nepoznat, doveo je do ogromnog napretka u dizajnu čipa, proizvodnje, pa čak i računarske grafike. Berkeley RISC projekat je započet 1980. godine pod rukovodstvom Davida Patterson i Carla H. Sequin.[5][11]

Berkeley RISC je zasnovan na sticanju performansi kroz upotrebu protočne obrade (pipelining) i agresivne upotrebe tehnike poznate kao registarski prozor.[11] U tradicionalnom procesoru, jedan ima mali broj registara, a program može koristiti bilo koji registar u bilo koje vreme. U procesoru za registarskim procesorom, postoji veliki broj registara, npr 128, ali program može koristiti samo mali broj njih, npr. osam, u jednom trenutku. Program koji sebe ograničava na osam registara po proceduri može imati brze pozive procedura: Poziv jednostavno pomera prozor „dole“ za osam, na skup od osam registara koji koriste tu proceduru, i vraća kretanje prozora nazad.[12] Berkeley RISC projekat doneo je RISC-I procesor 1982. godine. Sa sadržajem samo 44.420 tranzistora (u poređenju sa prosekom od oko 100.000 u novijoj eri CISC dizajna) RISC-I je imao samo 32 instrukcije, a ipak je potpuno nadmašio bilo koji drugi dizajn jednog čipa. Oni su sledili ovaj procesor sa procesorom RISC-II od 40.760 tranzistora, 39 instrukcija 1983. godine koji je bio preko tri puta brži od RISC-I.[11]

MIPS arhitektura nastala je iz diplomskog kursa John L. Hennessy sa univerziteta Stanford 1981. godine, koji je rezultovao funkcionalnim sistemom 1983. godine, i mogao je da pokreće jednostavni program do 1984. godine.[13] MIPS pristup istakao je agresivni generator takta i upotrebu pipeline, praveći da se može pokrenuti „najbrže“ što je moguće.[13] MIPS sistem nasledio je MIPS-X i 1984. godine Hennessy i njegove kolege su formirale MIPS Computer Systems.[13][14] Komercijalni poduhvat rezultovao je R2000 mikroprocesorom 1985. godine, a sledio ga je R3000 1988. godine.[14]

 
Ko-dizajner Yunsup Lee drži RISC-V prototip čipa iz 2013.

U ranim 1980—im godinama, značajna neizvesnost okruživala je RISC koncept, i bilo je neizvesno da li može imati komercijalnu budućnost, ali od sredine 1980. godine koncept je bio dovoljno sazreo da se vidi kao komercijalno održiv.[13][15] 1984 Hewlett Packard je počeo da koristi ranu implementaciju njihovog PA-RISC u svojim računarima.[15] U međuvremenu, napor Berkeley RISC je postao toliko prepoznatljiv da je na kraju postao naziv za ceo koncept i 1987. godine Sun Microsystems je počeo sa isporukom sistema sa SPARC procesorom, direktno zasnovanog na Berkeley RISC-II sistemu.[15][16]

Američki vladin odbor za inovacije u računarstvu i telekomunikaciji prihvatio je održivost RISC koncepta kao uspeh SPARC sistema.[15] Uspeh SPARC-a obnavlja interes IBM-a, koji objavljuje novi RISC sistem 1990. godine i 1995. godine RISC procesori su fondacija od 15$ milijardi dolara serverske industrije.[15]

Od 2011. godine novo istraživanje ISA, RISC-V, je bio u fazi razvoja na Univerzitetu Kalifornija, Berkli, naglašavajuća svojstva su mnogo jezgara, heterogeni multi procesori, virtualizabilnost i gustina kodiranja instrukcija.[17]

Karakteristike i filozofija dizajna uredi

Skup instrukcija uredi

Uobičajeni nesporazum fraze „računar sa smanjenim skupom instrukcija“ je pogrešna ideja da su instrukcije jednostavno eliminisane, što je rezultovalo manjim skupom instrukcija. U stvari, tokom godina, RISC-ov skup instrukcija je porastao u veličini, a danas mnogi od njih imaju veći skup instrukcija od mnogih CISC procesora.[18][19] Neki RISC procesori, na primer, kao što je PowerPC ima skup instrukcija veliki kao i CISC IBM System/370; obrnuto DEC PDP-8 – jasno CISC procesor jer mnoge od njegovih instrukcija podrazumevaju više pristupa memoriji – ima samo 8 osnovnih instrukcija i nekoliko proširenih instrukcija.

Termin „smanjen“ u toj frazi je sa namerom da opiše činjenicu da se količina rada bilo koje ostvarene instrukcije je smanjena – nejviše jedan ciklus memorijskih podataka –u poređenju sa „složenim instrukcijama“ CISC procesora koje mogu zahtevati desetine ciklusa memorijskih podataka kako bi obavili jednu instrukciju.[20] Naročito, RISC procesori obično imaju posebne instrukcije za U/I operacije i obradu podataka.

Korišćenje hardvera uredi

Za svaki nivo opštih performansi, RISC čip će obično imati daleko manje tranzistora koji su posvećeni logici jezgra koja je prvobitno dozvoljavala dizajnerima da povećaju veličinu registarskog skupa i povećaju unutrašnji paralelizam.

Ostale karakteristike koje se obično nalaze u RISC arhitekturi su:

  • Ujednačeni format instrukcije, koji koristi jednu reč sa opcode u istim bit pozicijama u svakoj instrukciji, zahtevajući manje dekodiranje;
  • Identični registri opšte namene, koji omogućavaju da se bilo koji registar koristi u bilo kom kontekstu, pojednostavljujući dizajn kompajlera (mada obično postoji poseban floating point registar);
  • Jednostavan način adresiranja, sa složenim adresiranjem koje se izvršava preko sekvenci aritmetike i/ili učitavanje-skladištenje operacija;
  • Nekoliko tipova podataka u hardveru, neki CISCs imaju bajt niske instrukcija, ili podržavaju kompleksne brojeve; malo je verovatno da će se ovo sada naći na RISC.

Obilje izuzetaka nalazi se, naravno, i u CISC i u RISC.

RISC dizajni su takođe verovatniji u karakterizaciji Harvardski model memorije, gde su instrikcijski tok i tok podataka konceptualno odvojeni, to znači da modifikacija memorije u kojoj se kod održava možda neće imati nikakav uticaj na izvršene instrukcije od strane procesora (jer CPU ima odvojene keševa za instrukcije i podatke), barem dok se ne izda posebna instrukcija za sinhronizaciju. Na gornjoj strani, to omogućava da keševi mogu istovremeno pristupiti, što često može poboljšati performanse.

Mnogi rani RISC dizajni su delili karakteristiku da imaju granu kašnjenja slota. Grana kašnjenja slota je instrukcioni prostor odmah iza skoka ili grane. Instrukcija se u ovom prostoru izvršava, bez obzira da li je ili nije uzeta grana (drugim rečima efekat grane kasni). Ova instrukcija održava ALU CPU-a zauzetim za dodatno vreme koje je obično potrebno da se grana izvrši. Danas grana kašnjenja slota se smatra kao neželjenim sporednim efektom određene strategije za implementaciju nekog RISC dizajna, a moderni RISC dizajni generalno su ga ukinuli (kao što su PowerPC i novije verzije SPARC-a i MIPS-a).

Neki aspekti se pripisuju prvim RISC-obeleženim dizajnima oko 1975. godine uključujući zapažanja da memorijska-ograničenja kompajlera tog vremena često nisu mogli da koriste prednosti karakteristika koje su imale za cilj da olakšaju upotrebu slota kodiranja, a taj kompleksni način adresiranja uzima mnogo izvršnih ciklusa usled potrebnog dodatnog pristupa memoriji. Tvrdilo se da će se takve funkcije bolje izvršavati pomoću sekvenci jednostavnih instrukcija ako bi mogla sa se dobije dovoljno mala implementacija da oslobodi prostoriju za mnoge registre, smanjujući broj sporih pristupa memoriji. U ovim jednostavnim dizajnima, većina instrukcija je jedinstvene dužine i slične strukture, aritmetičke operacije su ograničene na CPU registre i samo odvojene instrukcije učitavanja i skladištenja pristupaju memoriji. Ove osobine omogućavaju bolje balansiranje stanja protočnih obrada nego ranije, što čini RISC protočne obrade značajno efikasnijim i omogućava veću učestalost generatora takta.

U ranim danima računarske industrije, programiranje je urađeno u asembler jeziku ili mašinskom kodu, koji su snažno podstakli i jednostavni su za korišćenje instrukcije. Dizajneri CPU-a su zbog toga pokušavali da naprave instrukcije koje će uraditi koliko god je moguće izvodljivog posla. Sa pojavom jezika visokog nivoa, računarske arhitekture su takođe počele da stvaraju namenske instrukcije za direktnu implementaciju određenog centralnog mehanizma tih jezika. Još jedan opšti cilj je bio da se obezbedi svaki mogući režim adresiranja za svaku instrukciju, poznat kao ortogonalnost, kako bi se olakšala implementacija kompajlera. Aritmetičke operacije stoga su mogle da imaju često rezultate kao i operandi direktno u memoriji (dodatno u registaru ili neposredno).

Stav u to vreme bio je da je osmišljenost hardvera zrelija od osmišljenosti kompajlera, tako da je ovo bilo samo po sebi takođe razlog za primenu delova funkcionalnosti u hardver ili mikrokod pre nego u memorijski ograničenom kompajleru (ili njegov generisani kod). Nakon pojave RISC-a, ova filozofija je postala retroaktivno poznata kao računar sa složenim skupom instrukcija, ili CISC.

CPUs takođe imaju relativno malo registara, iz nekoliko razloga:

  • Više registara takođe podrazumeva više trošenja vremena za čuvanje i vraćanje sadržaja registra na mašinski stek.
  • Veliki broj registara zahteva veliki broj bitova instrukcije kao registar specifikatora, što znači manju gustina koda (vidi dole)
  • CPU registri su skuplji od lokacija eksterne memorije; veći skupovi registara bili su glomazni sa ograničenim štampanim pločama ili čipom integracija.

Važna sila podsticanja složenosti bila je veoma ograničavajuća glavna memorija (reda kilobajta). To je zbog toga bilo povoljno za gustinu informacije koje se čuvaju u računarskim programima da bude visoka, što dovodi do osobina visokog kodovanja, promenljive dužine instrukcija, rade učitavanje podataka kao i računanje (gore pomenuto). Ove pojedinosti bile su višeg prioriteta nego lako kao dekodovanje takvih instrukcije.

Podjednako važan razlog je taj da je glavna memorija prilično spora (uobičajen tip je gvozdeno jezgro memorije); korišćenjem gustine informacije pakovanja, može se smanjiti učestalost kojom je CPU morao da pristupa sporim resursima. Moderni računari se suočavaju sa sličnim ograničavajućim faktorima: glavne memorije su spore u odnosu na CPU a brze keš memorije koje se koriste da se ovo prevaziđe su ograničene veličinom. Ovo može delimično objasniti zašto se visoko kodirani skup instrukcija pokazao kao koristan RISC dizajn u modernim računarima.

RISC je razvijen kao alternativa za ono šta je danas poznato kao CISC. Tokom godina, druge strategije su implementirane kao alternativa za RISC i CISC. Neki primeri su VLIW, MISC, OISC, masivna paralelna obrada, sistolni niz, rekonfigurisano računanje, i arhitektura protočnih podataka.

Sredinom 1970—ih godina, istraživači (naročito John Cocke) na IBM-u (i bilo gde slični projekti) su pokazali da većina kombinacija ovih ortogonalnih načina adresiranja i instrukcija se ne može da koriste većina programa koji su bili generisani od kompajlera dostupnih u to vreme. U mnogim slučajevima bio je težak zadatak da se napiše kompajler sa više nego ograničenom sposobnošću u dobijanju naprednih karakteristika koje je obezbeđivao konvencionalni CPU.

Takođe je otkriveno da, na mikrokodiranim implementacijama pojedinih arhitektura, kompleksne operacije imaju tendenciju da budu sporije nego niz jednostavnih operacija koje rade istu stvar. To je delimična posledica činjenice da su mnogi dizajneri bili požurivani, sa malo vremena da bi se poboljšala ili podesila svaka instrukcija, ali samo onih koje se najčešće koriste. Jedan ozloglašen primer je VAX's INDEX instrukcija.

Kao što je već pomenuto, jezgro memorije je odavno sporije od mnogih CPU procesa. Dolazak poluprovodničke memorije smanjuje ovu razliku, ali je bilo očigledno da će više registara (i kasnije keševa) omogućiti više CPU radne frekvence. Dodatno, registri će zahtevati prilično velike čipove ili ploče koje bi, u to vreme (1975. godine), mogle da se naprave dostupnim samo ako se smanji kompleksnost CPU logike.

Još jedan podsticaj za RISC i druge dizajne došao je iz praktičnih merenja na realnim svetskim programima. Andrew Tanenbaum sumirao je mnoge od njih, pokazujući da procesori često imaju prevelike neposrednosti. Na primer, on je pokazao da 98% od svih konstanti u programu bi stalo u 13 bita, ali mnogi CPU dizajni namenili su 16 ili 32 bita za njihovo skladištenje. Ovo sugeriše da, pri smanjenju broja pristupa memoriji, fiksna dužina mašine može skladištiti konstante u neiskorišćenim bitovima instrukcija samih reči, tako da će one odmah biti spremne kada ih CPU treba (slično kao neposredno adresiranje u konvencionalnom dizajnu). Ovo zahteva male opkodove kako bi se ostavio prostor za razumno veliku konstantu u 32-bitnoj instrukcionoj reči.

Pošto mnogi realni svetski programi troše vićinu svog vremena na izvršavanje jednostavnih operacija, neki istraživači odlučili su da se fokusiraju na pravljenje što je moguće bržih operacija. Takt CPU-a je ograničen vremenom koje je potrebno za izvršavanje najsporijih pod-operacija bilo koje instrukcije; smanjenje vremena ciklusa često ubrzava izvršavanje drugih instrukcija.[21] Fokus na „smanjenje instrukcija“ doveo je do toga da se mašina zove „računar sa smanjenim skupom instrukcija“ (RISC). Cilj je bio da se naprave instrukcije dovoljno male da se lako mogu koristiti za protočnu obradu, kako bi se postigao jedan generatorski takt protoka na visokom frekvencama.

Kasnije, bilo je primećeno da je jedna od najznačajnijih karakteristika RISC procesora bila da spoljna memorija bude dostupna samo instrukciji učitavanja ili skladištenja. Sve ostale instrukcije su ograničene na unutrašnji registar. Ovo pojednostavljuje mnoge aspekte dizajna procesora: omogućava da instrukcije budu fiksne dužine, jednostavnije protočne obrade, i izolacija logike za rešavanje kašnjenja u završavanju pristupa memoriji (keš promašaji, i slično) na samo dve instrukcije. To je dovelo da RISC dizajn bude nazivan kao učitavanje/skladištenje arhitektura.[22]

Još jedna pojedinost je ta da su neke složene instrukcije teške za restartovanje, na primer nakon greške stranice. U nekim slučajevima, restartovanje će od početka raditi (mada rasipnički), ali u mnogim slučajevima će to dati netačan rezultat. Zato mašina mora da ima neko skriveno stanje u pamćenju koje je prošlo kroz delove i šta je još ostalo da se uradi. Sa učitavanjem/skladištenjem mašinom, programski brojač je dovoljan da opiše stanje mašine.

Poređenje sa drugim arhitekturama uredi

Neki CPUs su specijalno dizajnirani da imaju vrlo mali skup instrukcija – ali ovi dizajni su veoma različiti od klasičnog dizajna RISC-a, tako da su dobili neka druga imena kao što su minimalni skup instrukcija računara (MISC), ili prevozno aktivirajuća arhitektura (TTA), itd.

Uprkos mnogim uspesima, RISC je napravio mali prodor u desktop računarima i robama za serversko tržište, gde Intel-ova x86 platforma ostaje dominantna procesorska arhitektura. Postoje tri glavna razloga za to:

  1. Velika baza privatnih PC aplikacija su pisane za x86 ili kompajlirane u x86 mašinski kod, gde nijedna RISC platforma nema sličnu instaliranu bazu; stoga su PC korisnici bili zaključani u x86.
  2. Iako je RISC bio u stanju da poveća performanse veoma brzo i jeftino, Intel je iskoristio prednosti svog tržišta, trošeći velike količine novca na razvoj procesora. Intel je mogao potrošiti mnogo više nego bilo koji RISC proizvođač na poboljšanje dizajna niskog nivoa i proizvodnju. Ne može se isto reći za manje firme kao što su Cyrix i NexGen, ali su oni shvatili da mogu primeniti (usko) dizajn protočne obrade u praksi takođe na x86 arhitekturi, baš kao u 486 i Pentium-u. 6x86 i MII serije su radile baš ovo, ali naprednije; oni su implementirali supersklarno spekulativno izvršenje preko preimenovanih registara, direktno na nivo x86. Drugi, poput Nx586 i AMD K5 su učinili isto, ali indirektno, preko baferovanja dinamičkog mikrokoda i polu-nezavisnog superskalarnog raspoređivanja i slanja instrukcije na nivou mikrooperacija (stariji ili jednostavniji 'CISC' dizajni tipično izvršavaju krute mikrooperacije sekvencijalno direktno). Prvi čip dostupan primeni takvog dinamičkog baferovanja i tehnici raspoređivanja bio je NexGen Nx586, pušten 1994. godine; AMD K5 je žestoko kasnio i objavljen je 1995. godine.
  3. Kasniji, moćniji procesori, kao što su Intel P6, AMD K6, AMD K7, i Pentium 4 koristili su slično dinamičko baferovanje i principe raspoređivanja i implementirali su slabo spojeno superskalarno (i spekulativno) izvršenje mikrooperacija sekvenci generisanih iz nekoliko paralelnih faza x86 dekodiranja. Danas, ove ideje se dalje rafinisane (na primer, neki x86-parovi su spojeni u složenije mikrooperacije) i još uvek se koriste od strane modernih x86 procesora kao šro su Intel Core 2 i AMD K8.

Dok su se rani RISC dizajni značajno razlikovali od savremenih CISC dizajna, do 2000. godine najviše performanse CPUs u RISC liniji se gotovo ne razlikuju od najviših performanci CPUs u CISC liniji.[23][24][25]

RISC: od mobilnih telefona do superračunara uredi

RISC arhitekture danas koriste širok spektar platformi, od mobilnih telefona i tablet računara do nekih od najbržih superračunara kao što je K računar, najbrži na listi TOP500 u 2011. godini.[2][3]

Nizak kraj i mobilni sistemi uredi

Do početka 21. veka, većina niskog kraja i mobilnih sistema se oslanjao na RISC arhitekturi.[26]

Primeri uključuju:

  • ARM arhitektura dominira tržištem za ugrađene sisteme male snage i jeftine (obično 100-1200 MHz u 2011) Koristi se u velikom broju sistema keo što su sistemi bazirani na Android-u, Apple iPhone i iPad, RIM uređajima, Nintendo Game Boy Advance i Nintendo DS, itd.
  • MIPS linije (u jednom trenutku su se koristile u SGI računarima), sada se koriste u PlayStation, PlayStation 2, Nintendo 64, PlayStation Portable igračka konzola, i prikladan za kuće - mrežni prolaz (residential gateways) kao Linksys WRT54G serije.
  • Hitachi's SuperH, prvobitno u širokoj upotrebi u Sega Super 32X, Saturn i Dreamcast,
  • Atmel AVR se koristi u raznim proizvodima od Xbox ručnih kontrolera do BMW automobila.

Visok kraj RISC i superračunanje uredi

  • SPARC, od Oracle-a (ranije Sun Microsystems) i Fujitsu
  • IBM's Power Architecture, koristi mnoge IBM-ove superračunare, servere srednjeg nivoa i radne stanice.
  • Hewlett-Packard-ov PA-RISC, takođe poznat kao HP-PA, (prekinut krajem 2008).
  • Alpha, koristi single-board računar, radnu stanicu, server i superračunar iz Digital Equipment Corporation, Compaq i HP (obustavljen od 2007. godine).

Vidi još uredi

Reference uredi

  1. ^ a b Flynn 1995, str. 54–56
  2. ^ a b „Japanese ‘K’ Computer Is Ranked Most Powerful”. The New York Times. 20. 6. 2011. Pristupljeno 20. 6. 2011. 
  3. ^ a b „Supercomputer "K computer" Takes First Place in World”. Fujitsu. Pristupljeno 20. 6. 2011. 
  4. ^ Fisher, Faraboschi & Young 2005, str. 55
  5. ^ a b Milestones in computer science and information technology by Edwin D. Reilly. 2003. ISBN 978-1-57356-521-9. стр. 50.
  6. ^ Grishman 1974, стр. 12.
  7. ^ Dongarra, Duff & Sorensen 1998, стр. 6
  8. ^ Processor architecture: from dataflow to superscalar and beyond by Jurij Šilc, Borut Robič, Theo Ungerer. 1999. ISBN 978-3-540-64798-0. str. 33.
  9. ^ Nurmi 2007, str. 40–43
  10. ^ Readings in computer architecture by Mark Donald Hill, Norman Paul Jouppi, Gurindar Sohi. 1999. ISBN 978-1-55860-539-8. str. 252-254.
  11. ^ a b v RISC I: A Reduced Instruction Set VLSI Computer by by David A. Patterson and Carlo H. Sequin, in the Proceedings of the 8th annual symposium on Computer Architecture, 1981.
  12. ^ Design and Implementation of RISC I by Carlo Sequin and David Patterson, in the Proceedings of the Advanced Course on VLSI Architecture, University of Bristol, July 1982 [1]
  13. ^ a b v g The MIPS-X RISC microprocessor by Paul Chow. 1989. ISBN 978-0-7923-9045-9. xix-xx
  14. ^ a b Processor design: system-on-chip computing for ASICs and FPGAs by Jari Nurmi. 2007. ISBN 978-1-4020-5529-4. str. 52-53.
  15. ^ a b v g d Funding a Revolution: Government Support for Computing Research by Committee on Innovations in Computing and Communications. 1999. ISBN 978-0-309-06278-7. str. 239.
  16. ^ Computer science handbook by Allen B. Tucker. 2004. ISBN 978-1-58488-360-9. str. 100—6.
  17. ^ Waterman, Andrew; Lee, Yunsup; Patterson, David A.; Asanovi, Krste. „The RISC-V Instruction Set Manual, Volume I: Base User-Level ISA (Technical Report UCB/EECS-2011-62)” (PDF). University of California, Berkeley. Pristupljeno 1. 5. 2013. 
  18. ^ "RISC vs. CISC: the Post-RISC Era" by Jon "Hannibal" Stokes (Arstechnica)
  19. ^ * "RISC versus CISC" by Lloyd Borrett Australian Personal Computer, June 1991
  20. ^ Dandamudi 2005
  21. ^ * "Microprocessors From the Programmer's Perspective" by Andrew Schulman 1990
  22. ^ Kevin Dowd. High Performance Computing. O'Reilly & Associates, Inc. 1993.
  23. ^ Carter 2001, str. 96–105.
  24. ^ "CISC, RISC, and DSP Microprocessors" by Douglas L. Jones 2000
  25. ^ * "A History of Apple's Operating Systems" Arhivirano na sajtu Wayback Machine (30. април 2013) by Amit Singh. "the line between RISC and CISC has been growing fuzzier over the years."
  26. ^ Guide to RISC processors: for programmers and engineers by Sivarama P. Dandamudi . 2005. ISBN 978-0-387-21017-9. str. 121-123.

Literatura uredi

Spoljašnje veze uredi