概述
由于軟件技術(shù)的發(fā)展,傳統(tǒng)的CISC結(jié)構(gòu)必然隨著越來越多的宏代碼和功能更強(qiáng)的操作發(fā)展,以便為高級(jí)語言和操作系統(tǒng)提供更多的支持。其結(jié)果是指令數(shù)量增加,要求一條指令中完成的操作更多,從而計(jì)算機(jī)結(jié)構(gòu)變得越來越復(fù)雜。但是,在對(duì)系統(tǒng)內(nèi)核和優(yōu)化編譯程序生成目標(biāo)代碼的分析中發(fā)現(xiàn),由于微碼很少提供支持各種高級(jí)語言和系統(tǒng)環(huán)境所需的程序,因此復(fù)雜指令很少用到。而最簡單的指令卻達(dá)到了很高的使用頻度。由此而產(chǎn)生了RISC的概念。
簡介
精簡指令集,是計(jì)算機(jī)中央處理器的一種設(shè)計(jì)模式,也被稱為RISC(Reduced Instruction Set Computer的縮寫)。這種設(shè)計(jì)思路對(duì)指令數(shù)目和尋址方式都做了精簡,使其實(shí)現(xiàn)更容易,指令并行執(zhí)行程度更好,編譯器的效率更高。常用的精簡指令集微處理器包括DECAlpha、ARC、ARM、AVR、MIPS、PA-RISC、PowerArchitecture(包括PowerPC)和SPARC等。
對(duì)比CISC
RISC和CISC是設(shè)計(jì)制造微處理器的兩種典型技術(shù),雖然它們都是試圖在體系結(jié)構(gòu)、操作運(yùn)行、軟件硬件、編譯時(shí)間和運(yùn)行時(shí)間等諸多因素中做出某種平衡,以求達(dá)到高效的目的,但采用的方法不同,因此,在很多方面差異很大,它們主要有:
?。?)指令系統(tǒng):RISC設(shè)計(jì)者把主要精力放在那些經(jīng)常使用的指令上,盡量使它們具有簡單高效。對(duì)不常用的功能,常通過組合指令來完成。因此,在RISC機(jī)器上實(shí)現(xiàn)特殊功能時(shí),效率可能較低。但可以利用流水技術(shù)和超標(biāo)量技術(shù)加以改進(jìn)和彌補(bǔ)。而CISC計(jì)算機(jī)的指令系統(tǒng)比較豐富,有專用指令來完成特定的功能。因此,處理特殊任務(wù)效率較高。
?。?)存儲(chǔ)器操作:RISC對(duì)存儲(chǔ)器操作有限制,使控制簡單化;而CISC機(jī)器的存儲(chǔ)器操作指令多,操作直接。
?。?)程序:RISC匯編語言程序一般需要較大的內(nèi)存空間,實(shí)現(xiàn)特殊功能時(shí)程序復(fù)雜,不易設(shè)計(jì);而CISC匯編語言程序編程相對(duì)簡單,科學(xué)計(jì)算及復(fù)雜操作的程序設(shè)計(jì)相對(duì)容易,效率較高。
(4)中斷:RISC機(jī)器在一條指令執(zhí)行的適當(dāng)?shù)胤娇梢皂憫?yīng)中斷,但是相比CISC指令執(zhí)行的時(shí)間短,所以中斷響應(yīng)及時(shí);而CISC機(jī)器是在一條指令執(zhí)行結(jié)束后響應(yīng)中斷。
(5)CPU:RISC CPU包含有較少的單元電路,因而面積小、功耗低;而CISCCPU包含有豐富的電路單元,因而功能強(qiáng)、面積大、功耗大。
(6)設(shè)計(jì)周期:RISC微處理器結(jié)構(gòu)簡單,布局緊湊,設(shè)計(jì)周期短,且易于采用最新技術(shù);CISC微處理器結(jié)構(gòu)復(fù)雜,設(shè)計(jì)周期長。
(7)用戶使用:RISC微處理器結(jié)構(gòu)簡單,指令規(guī)整,性能容易把握,易學(xué)易用;CISC微處理器結(jié)構(gòu)復(fù)雜,功能強(qiáng)大,實(shí)現(xiàn)特殊功能容易。
?。?)應(yīng)用范圍:由于RISC指令系統(tǒng)的確定與特定的應(yīng)用領(lǐng)域有關(guān),故RISC機(jī)器更適合于專用機(jī);而CISC機(jī)器則更適合于通用機(jī)。
特點(diǎn)
究竟應(yīng)怎樣來認(rèn)識(shí)RISC呢?應(yīng)該說,時(shí)至而今的RISC不是一個(gè)具體的系統(tǒng),也不是一種具體的技術(shù),它是一種結(jié)構(gòu)設(shè)計(jì)的規(guī)范。
所謂RISC計(jì)算機(jī),應(yīng)具有這樣一個(gè)指令系統(tǒng),它既能由流水線處理器高效地執(zhí)行,又能為優(yōu)化編譯程序生成優(yōu)化的代碼。
這種開放式的定義綜合了RISC設(shè)計(jì)的基本要求和原理,在這個(gè)定義下的RISC機(jī)器通常具有以下特點(diǎn):
●指令集中各條指令的周期數(shù)一致。以便指令流水線的管理簡單,高效。
●指令編碼簡單一致。
●大部分指令能在一個(gè)周期內(nèi)完成。
●只由Load和Store指令訪問存儲(chǔ)器。
●尋址方式簡單。
●延遲的裝入指令。
●延遲的分支指令。
●三地址指令格式。
●寄存器數(shù)量多。
●具有對(duì)稱指令集。
應(yīng)該注意的是,這些特點(diǎn)都沒有排除執(zhí)行復(fù)雜功能的指令。例如在很多RISC中都提供了浮點(diǎn)運(yùn)算指令。但只有在用硬件實(shí)現(xiàn)比用一組簡單指令更快時(shí),RISC才考慮包括這種復(fù)雜功能指令。所謂“精簡”并不是要求把指令集縮減到某最低限,而應(yīng)以滿足性能要求為前提。
內(nèi)容來自百科網(wǎng)