Valet mellan CISC ch RISC prcessrn EITF60 - Datrarkitektur med perativsystem Ulrika Blmström Kursansvarig: Erik Larssn
Abstrakt Det finns två typer av instruktinsuppsättningar (ISA) sm används för att designa en CPU ch på 1990-talet var det många debatter angående vilken av typerna sm var bäst. Valet var ch är mellan Cmplex Instructin Set Cmputing prcessr (CISC) ch den mdernare Reduced Instructin Set Cmputing prcessrn (RISC). Eftersm CISC hade en extremt kmplex arkitektur, dålig kmpilatr ch var långsammare så var RISC prcessrn då ett bättre val. Sedan denna tiden har båda ISA:s utvecklats ch idag är skillnaden mindre. Valet av vilken instruktinsuppsättning sm gynnar ens prcessr berr på vad prcessrn ska användas till. Till exempel så har RISC prcessrer dminerat de mbila ch låg-energi inbyggda systemen medans CISC har dminerat statinära datrer ch servrar. 2
Innehåll ABSTRAKT... 2 CISC... 4 RISC... 4 JÄMFÖRELSE... 5 METOD... 6 SAMMANFATTNING... 6 REFERENSLISTA... 7 3
CISC I början av datrarkitekturens histria var de flesta prgrammen skrivna på assemblerspråk ch prgrammeraren strävade efter att skriva krtare kder ch därigenm användes Cmplex Instructin Set Cmputing (CISC) sm då bestd av ett strt antal krta instruktiner (Hennessy and Pattersn, 2007). Nurmi (2007) skrev i bken Prcessr Design att Mres lag sm säger att antalet transistrer kmmer att fördubblas i varje integrerad krets påverkade prcessrns design genm att göra dess maskiner ch instruktiner ytterligare kmplexa. Han antydde även att de lättaste instruktinerna blev extremt kmplicerade att utföra med många små instruktiner då dessa har lika adresseringslängder. Elahi (2017) skriver i sin bk att en CISC prcessrs främsta egenskaper är: Ett strt antal instruktiner Många adresseringslägen Olika längder på instruktinerna De flesta instruktiner kan ändra på perander i minnet Styrenheten är mikrprgrammerad I en CISC prcessr kan en instruktin utföra flera peratiner sm till exempel hämtning av resultat, aritmetiska peratiner ch lagring i minnet, men dessa instruktiner genmförs då under flera klckcyklar ch tar därmed lång tid (Hennessy and Pattersn, 2007). På senare år har denna instruktinsuppsättningen utvecklats ch dess kmpilatr har mderniserats för att kunna användas i dagens prcessrer (Blem et al, 2015). Dck fick inte CISC sitt namn förens Reduced Instructin Set Cmputing (RISC) prcessrn utvecklades av IBM på 1990-talet då kmplexiteten för CISC instruktinsuppsättning blev för kmplicerad (Nurmi,2007). RISC Den första RISC maskinen byggdes då utvecklare på IBM ville förbättra deras dåvarande instruktinsuppsättning (CISC) genm att använda separata ch snabbare instruktiner ch data-cachar samt en bättre kmpilatr (Nurmi, 2007). Dessa ändringar gjrde det möjligt att utföra samma prgram med lättare instruktiner ch höjde ribban för andra arkitekturer att hänga med i utvecklingen. Sweetman (2005) skrev i sin bk att RISC arkitekturen brukar kännetecknas av att den har en effektiv pipelining ch använder cacheminnen. Han skrev även att all prcessr arkitektur efter 1984 kan klassificeras sm RISC då ingen datr efter denna tid 4
kan ignrera dess tidiga arbete. Elahi (2017) skriver i sin bk att en RISC prcessrs främsta egenskaper är: Ett få antal instruktiner behövs Alla instruktiner har samma längd De flesta instruktiner tar en klckcykel att exekvera Kntrllenheten är fastkpplade Ett strt antal register Jämförelse Hennessy ch Pattersn (2007) skrev att när RISC arkitekturen började användas så skedde en str förändring i prcessrernas prestanda (se bild 1.1) då den har färre ch enklare instruktiner sm kan utföras på färre klckcyklar jämfört med CISC. Bilden visar att efter RISC uppfunnits så ökade prestandan med 52% per år jämfört med 25% per år föregående ch sm tidigare nämndes därmed höjde ribban för andra prcessrer att följa i samma spår. Bild 1.1 (Hennessy ch Pattersn, 2007) Blem, Menn, Vijayaraghavan and Sankaralingam (2005) skrev att på 1990-talet var det många debatter relaterade till skillnaden mellan de två instruktinsuppsättningarna. Under denna tiden var chipmrådet ch prcessrkmplexiteten den primära fkuseringen, medan de antyder att det är energi ch kraftbegränsningar sm dminerar idag. År 2009 gjrde Isen, Jhn 5
ch Jhn en ny undersökning på skillnaden igen då de påpekade att många förändringar har skett med de båda prcessrarkitekturerna, men att ingen ny frskning angående dess skillnader hade gjrts. De km fram till att likheten mellan de två arkitekturerna har blivit ännu mindre i jämförelse med tidigare studier inm ämnet då RISC dminerade. Frtsättningsvis antydde de att i undersökningen så hade ingen av prcessrerna någt överläge utan att det berdde på vilken typ av prgram sm körs. Blem et al. (2015) antyder att under det senaste årtindet har RISC prcessrer dminerat de mbila ch låg-energi inbyggda system medans CISC har dminerat statinära datrer ch servrar. Elahi (2017) skrev även i hans bk m de största skillnaderna mellan de två arkitekturerna. Sm tidigare nämnts så använder CISC mikrprgrammering ch RISC hårdvara till sin kntrllenhet, vilket tar mindre plats i dess CPU ch därför kan man ha fler register i RISC prcessrn jämfört med CISC. Han nämner även att en fördel med CISC är att den sm designar kan lägga till fler instruktiner utan att behöva ändra i arkitekturen. Bild 1.2 är ckså tagen från hans bk ch demnstrerar vad han anser är dagens främsta skillnader mellan RISC ch CISC. Då nämns även att RISC prcessrer kräver färre transistrer än CISC prcessrn. Metd Bild 1.2 (Elahi, 2017) I min undersökning har jag använt mig av LUBSearch för att hitta jurnaler ch böcker. Utöver det även bibliteket för att få en bredare förståelse för ämnet. Min största mtgång var att hitta relevant infrmatin från senare år då de flesta artiklar var från mkring 20 år sedan. Sammanfattning När prcessrn uppfunnits så fanns det inget val av vilken typ av instruktinsuppsättning sm skulle väljas då det bara fanns en, CISC. På 1990-talet uppfanns RISC prcessrn ch därefter började debatten angående vilken av dessa två sm hade den bästa arkitekturen. Under denna tiden så var CISC väldigt kmplicerad ch dess prestanda var låg vilket ledde till att RISC ansågs vara det främsta i valet. Sedan denna tiden har båda arkitekturerna utvecklats ch dess prestanda höjts, men har frtfarande de lika egenskaperna. Valet av vilken instruktinsuppsättning att välja när man bygger en prcessr berr idag istället på vad prcessrn används till ch vad de tycker är mest lämpligt. 6
Referenslista Blem, E., Menn, J., Vijayaraghavan, T. and Sankaralingam, K. (2015). ISA Wars. ACM Transactins n Cmputer Systems, 33(1), pp.1-34. Elahi, A. (2017). Cmputer Systems. Springer, Cham, pp.115-136 Hennessy, J. and Pattersn, D. (2007). Cmputer Architecture, A Quantitative Apprach. 4th ed. Burlingtn: Elsevier Science. Isen, C., Jhn, L. and Jhn, E. (2009). A Tale f Tw Prcessrs: Revisiting the RISC-CISC Debate. Cmputer Perfrmance Evaluatin and Benchmarking, pp.57-76. Nurmi, J. (2007). Prcessr Design. Drdrecht: Springer. Sweetman, D. (2005). See MIPS Run: Linux; Secnd Editin. Mrgan Kaufmann Publishers, pp.1-28. 7