精簡指令集簡述
精簡指令集計(jì)算機(jī)(RISC:Reduced Instruction Set Computer RISC) [3] 是一種執(zhí)行較少類型計(jì)算機(jī)指令的微處理器,起源于80年代的MIPS主機(jī)(即RISC機(jī)),RISC機(jī)中采用的微處理器統(tǒng)稱RISC處理器。這樣一來,它能夠以更快的速度執(zhí)行操作(每秒執(zhí)行更多百萬條指令,即MIPS)。因?yàn)橛?jì)算機(jī)執(zhí)行每個(gè)指令類型都需要額外的晶體管和電路元件,計(jì)算機(jī)指令集越大就會(huì)使微處理器更復(fù)雜,執(zhí)行操作也會(huì)更慢。紐約約克鎮(zhèn)IBM研究中心的John Cocke證明,計(jì)算機(jī)中約20%的指令承擔(dān)了80%的工作,于1974年,他提出RISC的概念。許多當(dāng)前的微芯片都使用RISC概念。
精簡指令集計(jì)算機(jī)(RISC:Reduced Instruction Set Computer) [3] 是一種指令長度較短的計(jì)算機(jī),其運(yùn)行速度比CISC要快。RISC和CISC是CPU從指令集的特點(diǎn)上可以分為兩類:CISC和RISC。RISC是英文Reduced Instruction Set Computer的縮寫 [3] ,就是“精簡指令運(yùn)算集”,CISC就是“復(fù)雜指令運(yùn)算集”。RISC的指令系統(tǒng)相對(duì)簡單,它只要求硬件執(zhí)行很有限且最常用的那部分指令,大部分復(fù)雜的操作則使用成熟的編譯技術(shù),由簡單指令合成。目前在中高檔服務(wù)器中普遍采用這一指令系統(tǒng)的CPU,特別是高檔服務(wù)器全都采用RISC指令系統(tǒng)的CPU。在中高檔服務(wù)器中采用RISC指令的CPU主要有Compaq(康柏,即新惠普)公司的Alpha、HP公司的PA-RISC、IBM公司的Power PC、MIPS公司的MIPS和SUN公司的Sparc。RISC是相對(duì)于復(fù)雜指令集計(jì)算機(jī)(CISC)而言的。
所謂復(fù)雜指令集計(jì)算機(jī)是依靠增加機(jī)器的硬件結(jié)構(gòu)來滿足對(duì)計(jì)算機(jī)日益增加的性能要求。計(jì)算機(jī)結(jié)構(gòu)的發(fā)展一直是被復(fù)雜性越來越高的處理機(jī)壟斷著,為了減少計(jì)算機(jī)操作與高級(jí)語言的差別,為了改善機(jī)器的運(yùn)行特性,機(jī)器指令越來越多,指令系統(tǒng)也越來越復(fù)雜。特別是早期的較高速度的CPU和較慢速度的存儲(chǔ)器間的矛盾,為了盡量減少存取數(shù)據(jù)的次數(shù),提高機(jī)器的速度,大大發(fā)展了復(fù)雜指令集,但隨著半導(dǎo)體工藝技術(shù)的發(fā)展,存儲(chǔ)器的速度不斷提高,特別是高速緩沖的使用,使計(jì)算機(jī)體系結(jié)構(gòu)發(fā)生了根本性的變化,硬件工藝技術(shù)提高的同時(shí),軟件方面也發(fā)生了同等重要的進(jìn)展,出現(xiàn)了優(yōu)化編譯程序,使程序的執(zhí)行時(shí)間盡可能減少。并使機(jī)器語言所占的內(nèi)存減至最小,在具有先進(jìn)的存儲(chǔ)器技術(shù)和先進(jìn)的編譯程序的條件下,CISC體系結(jié)構(gòu)已不再適用了,因而誕生了RISC體系結(jié)構(gòu),RISC技術(shù)的基本出發(fā)點(diǎn)就是通過精減機(jī)器指令系統(tǒng)來減少硬件設(shè)計(jì)的復(fù)雜程度,提高指令執(zhí)行速度。在RISC中,計(jì)算機(jī)實(shí)際上每一個(gè)機(jī)器周期里都執(zhí)行指令,無論簡單或復(fù)雜的操作,均由簡單指令的程序塊完成,具有較強(qiáng)的仿真能力。在RISC機(jī)器中,要求在“單機(jī)器周期”時(shí)間內(nèi)執(zhí)行所有的指令,而系統(tǒng)最根本的吞吐率限制是由程序運(yùn)行中訪存時(shí)間比例所決定的,因此,只要CPU執(zhí)行指令的時(shí)間與取指時(shí)間相同,即可獲得最大的系統(tǒng)吞吐率。(對(duì)于一個(gè)機(jī)器周期執(zhí)行一條指令而言)。RISC機(jī)器中,采用硬件控制以實(shí)現(xiàn)快速的指令譯碼,并采用較少的指令和簡單的尋址模式,通過固定的指令格式來簡化指令譯碼和硬線控制邏輯。另外,RISC設(shè)計(jì)是以復(fù)雜的編譯設(shè)計(jì)優(yōu)化來求取簡單的硬件芯片環(huán)境。編譯優(yōu)化可以改善HLL程序的運(yùn)行效率,但所有的程序必須由高級(jí)語言編寫。
RISC設(shè)計(jì)消除了微碼的例行程序,把機(jī)器低級(jí)控制交給軟件處理。即用較快的RAM代替處理器中的微碼ROM作為指令的緩存(Cache),計(jì)算機(jī)的控制駐存在指令Cache,從而使得計(jì)算機(jī)系統(tǒng)和編譯器產(chǎn)生的指令流能使高級(jí)語言的需求和硬件性能密切配合。計(jì)算機(jī)的性能可以用完成一特定任務(wù)所需的時(shí)間來衡量,這個(gè)時(shí)間等于C×T×I。C=完成每條指令所需的周期數(shù),T=每個(gè)周期的時(shí)間,I=每個(gè)任務(wù)的指令數(shù)RISC技術(shù)就是努力使C和T減至最小,C和T的減小可能導(dǎo)致I的增加,但優(yōu)化編譯技術(shù)和其他技術(shù)的采用可以彌補(bǔ)由于I的增加對(duì)機(jī)器性能的影響。RISC技術(shù)之所以很快由一種新見解發(fā)展成為前景廣闊的計(jì)算機(jī)市場,主要有如下幾方面的原因:一是RISC結(jié)構(gòu)適應(yīng)日新月異的VLSI技術(shù)發(fā)展;二是RISC簡化了處理器結(jié)構(gòu),實(shí)現(xiàn)和調(diào)試較容易,因而設(shè)計(jì)代價(jià)低,開發(fā)周期短;三是簡化了結(jié)構(gòu),處理器占據(jù)了較小的芯片面積,從而可在同一芯片上集成進(jìn)較大的寄存器文件,翻譯后備緩沖器(TLB)、協(xié)處理器和快速乘除器等,使得處理器獲得更高的性能;四是RISC對(duì)HLL程序的支持優(yōu)于以往的復(fù)雜指令系統(tǒng)計(jì)算機(jī),可以使用戶(程序員)很容易使用統(tǒng)一的指令集,很容易估算代碼優(yōu)化所起的作用,使程序員對(duì)硬件的正確性有了更多的信任感。