精簡指令集的優(yōu)點(diǎn)
RISC在保持成本降低的同時(shí)能很好地提高速度。適用VLSI(VERYLARGESCALEINTEGRATION)工藝。由于RISC指令集清簡,使之只需相對小而簡單控制單元的譯碼和硬件執(zhí)行子系統(tǒng)。這導(dǎo)致在用VLSI實(shí)現(xiàn)計(jì)算機(jī)系統(tǒng)時(shí)的下列結(jié)果:
控制單元所占的芯片面積大為減少,如RlsCI占10%,而通常CISC占50%以上。因而,在RISCVLSI芯片,留下更多可用空間,使整個(gè)CPU和其它部件故在一塊芯片上(如高速緩存,浮點(diǎn)單元,部分主存,存貯器管理單元,1/0口)。
由于控制區(qū)域減少,就可在芯片上按放大量的CPU寄存器(RISCI是138個(gè))。
通過減少VLSI芯片上控制單元面積和放置大量一致的寄存器,可以提高芯片的正則化因子(regulariZationfaetor)。基本上,正則化因子越高,VLSI設(shè)計(jì)成本越低。
有利于使用GaAs(砷化稼)VLSI芯片的實(shí)現(xiàn)技術(shù),因其適于制造密度較高的芯片。總之,是降低了復(fù)雜程序,簡化了結(jié)構(gòu)。
速度高。
RISC特點(diǎn)之一是指令流水線,而指令長短和執(zhí)行時(shí)間的致性,使流水中的等待和保持時(shí)間減到最少。這些因素有利提高計(jì)算速度。RISC中較簡單和較小的控制單元中的門也較少,這使控制單元信號(hào)的傳送路徑較短,使操作速度加快。指令集的精簡,導(dǎo)致譯碼系統(tǒng)小而簡單,供RISC的譯碼速度加快。硬連線所減少的控制單元,使RISC比通常由微程序控制的系統(tǒng)執(zhí)行起來要快。相對大的CPU寄存器,減少了CPU與內(nèi)存間取指,存數(shù)等操作的沖突;大的寄存器組可用來存貯調(diào)用過程被調(diào)用過程之間傳遞的參數(shù),存貯中斷程序的有關(guān)信息,否則,這些信息只能保存在內(nèi)存中。所有這些都節(jié)約了大量的計(jì)算機(jī)處理時(shí)間。優(yōu)化編譯中的分支延遲技術(shù)也對提高速度作出了貢獻(xiàn)??偟目?,在功能大致相同的情況下,RISC一般是CISC處理速度的2~4倍。
降低設(shè)計(jì)成本,提高可靠性
CPU相對小而簡單的控制單元通常會(huì)導(dǎo)致下列成本及可靠性方面的益處:a.RISC控制單元的設(shè)計(jì)時(shí)間縮短,這可使整個(gè)設(shè)計(jì)成本降低。b.短的設(shè)計(jì)時(shí)間使最終產(chǎn)品在設(shè)計(jì)完成時(shí)被廢棄的可能性減少。c.較簡單,較小的控制單元能減少設(shè)計(jì)錯(cuò)誤,從而提高可靠性;而且,定位和修正錯(cuò)誤也比CISC容易。d.因指令格式l(或2種)簡而少,所有指令又有規(guī)范長度,所以指令不會(huì)越過字界限,也不會(huì)跨越虛存(iVrtualMemory)中不同的頁,這排除了虛存管理子系統(tǒng)設(shè)計(jì)中潛在的困難。
支持高級(jí)語言,而不支持匯編語言
從CISC向RISC演變的過程,類似于匯編語言向高級(jí)語言的發(fā)展過程。用匯編語言寫程序要使用一些精心設(shè)計(jì)的復(fù)雜指令,而高級(jí)語言的編寫幾乎不同復(fù)雜指令。RISC在追求精簡指令的同時(shí),把體系結(jié)構(gòu)和優(yōu)化編譯的設(shè)計(jì)緊密結(jié)合起來,使綜合結(jié)果引起整體性能的改善。如果說RISC得以發(fā)展是基于VLSI技術(shù)和編譯技術(shù)的提高,那么可以理解為用復(fù)雜的編譯代替了復(fù)雜的指令系統(tǒng),甚至可認(rèn)為是把硬件的難題轉(zhuǎn)移給了軟件。而近年來智能型編譯器的迅速發(fā)展,能很方便地勝任這項(xiàng)任務(wù),RISC的優(yōu)勢也許正在于此。傳統(tǒng)的CISC必有復(fù)雜的微碼編寫與設(shè)計(jì)工作,使用匯編語言又涉及匯編程序的研制,這些都很費(fèi)人力和時(shí)間。RISC更利于支持高級(jí)語言,這也是長以來計(jì)算機(jī)面臨的“軟件危機(jī)”得以解決的途徑之一。RISC的成功在于軟件的兼容性。只要通過重新編譯使源程級(jí)兼容,則已有的軟件可方便地在RISC機(jī)上運(yùn)行。
編程者(用戶)得到的好處
簡化了的結(jié)構(gòu)使編程者也得到了很多好處:
一個(gè)更為統(tǒng)一的指令集用起來很方便。
由于指令數(shù)和周期數(shù)之間有一個(gè)比較嚴(yán)格的對應(yīng)關(guān)系,代碼優(yōu)化的真實(shí)效果就容易度量。
編程者對于硬件的把握更為準(zhǔn)確。