Kärbitud käsustikuga arvuti (inglreduced instruction set computer,RISC) onmikroprotsessor, mis on välja töötatud nii, et see saavutab suurema töökiiruse läbi täidetavate käskude arvu minimeerimise. Käskude täitmise kiirust mõõdetakse selle järgi, et mitu miljonit operatsiooni sekundis suudab arvuti sooritada (MIPS –millions of instructions per second). Seda põhjusel, et iga lisanduv käsutüüp nõuab rohkemtransistoreid ning suuremat ja keerulisemat protsessorit. Suurem hulk käsutüüpe ja käske tähendab paratamatult suuremat, keerukamat, aeglasemat ja ka kallimat mikroprotsessorit.
Sõna "kärbitud" (reduced) ei viita siin tarbetute käskude kustutamisele, vaid ühe käsu täitmise kiirendamisele. Kõige tavalisemalt teostatakse see ühe suure ja mahuka operatsiooni jagamisega mitmeks osaks (RISC protsessori puhul neljaks) ja iga taktiga täidetakse üks operatsioon. See erinebCISC-protsessorist, kus mahukas operatsioon sooritatakse tervikuna korraga.
RISC-i põhiprintsiip sai alguse 1974. aastal, kui John Cocke IBM-iYorktownis asuvast teadusasutusest tõestas, et 20% käskudest sooritasid 80% arvuti tööst. Esimene RISC arvuti loodi juba kümme aastat enne termini välja mõtlemist.CDC 6600 superarvuti, mis põhines 'lae/salvesta arhitektuuril', mida on ka alternatiivina pakutud RISC arhitektuuri nime asemel. 1975. aastal alustasIBM tööd esimese RISC protsessori väljaarendamiseks, mille tulemusel loodiIBM 801 protsessorite seeria.
Arvutite kiiremaks muutumisele aitas RISC-tehnoloogia kaasa sellega, et protsessori käskudele tehtikvantitatiivne analüüs ning harva vajaminevad käsud eemaldati protsessori käsustikust jaemuleeriti tarkvaraliselt. Selle eelised on:
Kiibis tühjaks jäänud "ala" saab kasutada enamkasutatavate käskude kiirendamiseks; see annab suurema kiiruse isegi koos tarkvaras emuleeritud käskude täitmise suurema ajakuluga.
Käskude kodeerimise viisi järgi saab protsessoreid liigitada järgmiselt:
CISC (Complex Instruction Set Computer) – selline protsessor võib ühe käsu raames teha mitu mikrooperatsiooni. CISC-protsessorile kirjutatud programmid on mahult väiksemad, lisaks on neidmasinkoodis ka suhteliselt lihtne kirjutada.[viide?]
RISC (Reduced Instruction Set Computer) – protsessor töötab üksnes võimalikult lihtsate mikrooperatsioonidega. RISC-protsessorile kirjutatud programmid vajavad rohkem mälu, sest kõik mikrooperatsioonid tuleb eraldi kirja panna. Ühtlasi on selliseid programme masinkoodis ka raskem kirjutada kui CISC programme. RISC-protsessor saab käskude täitmisega kiiremini hakkama, kuna ei pea erinevalt CISC-protsessorist mikrokoodi teisendama.
RISC
CISC
Lihtsam käsustik
Palju keerukaid käske
Vähem käske
Erineva pikkusega käsud
Kindla pikkusega käsud
Keeruline mikrokood
Keeruline kompileerija
Paljud käsud pääsevad ligi mälule
Ainult 'Laadi/salvesta' käsud pääsevad ligi mälule
Palju adresseerimisviise
Vähe adresseerimisviise
CISC tüüpi protsessorid on sama kiired kui RISC tüüpi protsessorid. Kui arvestada energiakulu (MIPS/W), on RISC tüübi protsessori jõudlus ühevati kohta suurem kui CISC tüüpi protsessoril. Arvutite algusajal ei olnud olemas veelkompilaatoreid, kõik programmid tuli kirjutada otse masinkoodi võiassembleri abil ja seetõttu oli lihtsam kirjutada programme CISC tüüpi protsessorile, sest protsessorile ei pidanud andmamikrokäsklusi, samas käskude arv CISC-protsessoris oli suurem.
Vaatamata RISC-platvormi eelistele on domineerima jäänudIntelix86 arhitektuur.
Selle peamised põhjused on järgmised:
Enamik rakendusi on kirjutatud või kompileeritud x86 koodile, ühelgi RISC-arhitektuuril sellist standardset alust pole, ehkARM-ile kirjutatud koodSPARC protsessoril ei jookse, x86 puhul taolist ühilduvuse probleemi ei ole.
Kuigi RISC-protsessorid olid märkimisväärsete eelistega ja võrdlemisi odavad, oli Intelil selleks ajaks juba suur turuosa ja rohkem ressursse arenduseks.Cyrix-il jaAMD-l sellist võimalust ei olnud, kuid nad taipasid kasutada RISC-ipipeline'i ülesehitust ja kasutada seda x86 arhitektuuri puhul.
Võimsamad x86 protsessorid, ntP6,Pentium 4 ningK6 jaK7, kasutasid dünaamilist puhverdamist ja ajastamise põhimõtteid ning realiseerisid mitme vaba mikrokoodi jada käivitamise, mis oli tehtud mitme paralleelse x86 dekodeerimise etapist.
RISC-arvutite ülimaks sihiks oli üks käsk iga tsükli kohta (Clock Cycles per Instruction). Reaalsuses seda veel saavutatud pole, heaks saavutuseks peetakse juba 1,3 tsüklit, tavaline on aga 1,4...1,5 tsüklit ühe käsu jaoks. Soovitud tulemuse (CPI = 1) saaks saavutada juhul, kui kasutataks lõpmatu suuri vahemälusid japipeline'ides ei tekiks kunagi konflikte katkestuste ja hargnemiste tõttu.
Iga RISC-süsteemi põhiomaduseks onkonveier – see on viis, kuidas täita järjekorras olevaid käske paralleelselt. Joonisel on näide viieastmelisest konveierist. Iga konveieriaste täidab korraga ühte käsku.
IF = käsu toomine (Instruction Fetch)
ID = käsu avamine (Instruction Decode)
EX = käsu käivitamine (Execute)
MEM = mällu pöördumine (Memory access)
WB = tulemuse kirjutamine registrifaili (Register writeback)
Mida rohkem on astmeid, seda suurem on paralleelsus ja seetõttu peaks suurem olema ka protsessori kiirus. Siiski vaid astmeid lisades hakkaksime kiiruse võitmise asemel hoopis kiiruses kaotama, kuna suurema arvu astmete korral tekib rohkem konflikte, mis omakorda nõuaksid keerulisemat riistvara.
Uuematel protsessoritel nagu kahetuumalisel ARMCortex-A9-l on aga hoopis 8-astmeline konveier, kuid mõned protsessorid on kasutanud ka 12-astmelist konveierit. Kõige levinum on siiski näites toodud 5-astmeline konveier.
'Laadi/salvesta arhitektuur' (Load / Store Architecture) – ainult käskudel 'Laadi' ja 'Salvesta' on ligipääs mälule. Selle miinuseks on, et on vaja rohkem registreid, plussiks aga kiirem ligipääs andmetele programmi käivitamisel.
Lihtsad adresseerimisviisid (Simple Addressing Modes) – kasutatakse vaid viit adresseerimisviisi, võrdluseks CISC puhul on neid üle 25. Tähtis on ka see, et need mahuksid olemasolevassepipeline.
Kindla suuruse ja väljaga käsud (Fixed size and fields instruction) – vajalik selleks, et oleks võimalik lugeda käsku ühe tsükliga, muidu kaokspipeline'i mõte.
Üks käsk tsükli kohta (One Instruction Per Cycle execution rate) – võimalik vaidpipeline'i kasutades.
Harvardi arhitektuur – käskude ja andmete jaoks on eraldi vahemälu, see suurendab kiirust.
Hetkel on enamik maailma protsessoritest RISC-tüüpi, näiteksARM-i edasiarendatud (Advanced RISC Machines), tootis aastal 2005 98% miljardist müüdud mobiilitelefonide protsessoritest. ARM tähistas hiljuti ka 15 miljardi protsessori tootmist läbi aegade. ARM-i kiireim protsessor on praeguCortex A-9, mis on saavutanud kiiruseks 2,5GHz, oma mobiiltelefonidesse võime neid oodata 2013. aastaks. Hinnanguliselt toodetakse ainuüksi aastal 2011 5 miljardit ARM-i protsessorit. ARM-i tooted on kasutusel järgnevates seadmetes:
Apple iPodid ja iPod Touch
Apple iPhone
Apple iPad ja iPad 2
Palm ja PocketPC PDA-d ja nutitelefonid
RIM BlackBerry nutitelefonid
Microsoft Windows Mobile
Nintendo Game Boy Advance
Nintendo DS
Sony Network Walkman
Android nutitelefonid, tahvelarvutid
Paljud tootjad, sealhulgasHP Lenovo,Qualcomm jne. üritavad võita turuosa ARM protsessoritel põhinevate tahvelarvutite janetbookidega, mis on varustatud kas mõneLinuxi distributsiooni võiAndroidiga.
Oma lihtsuse, odavuse ja kiiruse tõttu on RISC protsessorid enamjaolt kasutatavad lihtsamates seadmetes: mobiiltelefonid, MP3-mängijad, mängukonsoolid jne. RISC-protsessoreid toodavad paljud erinevad tootjad, need on kasutusel niiPlayStationites,ruuterites kui kaApple vanemates arvutites.
MIPS seeria on leitav enamikust SGI, PlayStation, PlayStation 2, Nintendo64, PlayStation Portable mängukonsoolidest ning ruuteritest, nagu Linksys WRT54G series.
IBM-i jaFreescalePower Architecture kasutusel kõikides IBM-i superarvutites, serverites ja tööjaamades, lisaks tootisApple veel mõned aastad tagasi PowerPC-baasil Macintoshe.
Hewlett-Packardi PA-RISC tuntud ka kuiHP-PA, lõpetas December 31, 2008.
Alpha kasutati lauaarvutites, tööjaamades, serverites ja superarvutites mis olid toodetud Digital Equipment Corporation, Compaq ja HP poolt, lõpetas alates 2007 aastast.
XAP protsessor kasutusel paljudes madala voolutarbega traadita seadmete (Bluetooth, Wi-Fi) kiipides, mis olid toodetud CSR poolt.
HitachiSuperH kasutusel Sega Super 32X, Saturn ja Dreamcastis, nüüd südameks paljudele koduelektroonika seadmetele.
AtmelAVR kasutusel paljudes erinevates kohtades Xboxi juhtseadmetest kuni BMW autodeni.
Apple on otsustanud kõik oma arvutid üle viia ARM protsessoritele. Põhjus on, et need protsessorid on energiasäästlikumad, kuid põhjuseks on ka turvalisusprobleemid, mis tulenevad ettevaatamatust enneaegsest töötlusest ning mimetest muudest ulatuslikest kiirendamise meetoditest. Mis viitab sellele, et ARM võib olla tulevik kõigile personaalarvutitele, kuid selline muutus toimub väga aeglaselt.