RISC與CISC
CISC(復(fù)雜指令集計(jì)算)和RISC(精簡指令集計(jì)算)是兩種不同的計(jì)算機(jī)指令集架構(gòu)。
本文引用地址:http://www.ex-cimer.com/article/202408/461606.htmCISC(Complex Instruction Set Computing)
復(fù)雜指令集:CISC架構(gòu)設(shè)計(jì)了大量的復(fù)雜指令,每條指令可以完成較為復(fù)雜的操作。
較少的指令數(shù):因?yàn)槊織l指令可以完成較多的操作,所以總體的指令數(shù)較少。
內(nèi)存使用效率高:由于指令的復(fù)雜性,單個指令可以在較少的時鐘周期內(nèi)完成任務(wù),從而減少內(nèi)存帶寬的占用。
硬件實(shí)現(xiàn)復(fù)雜:實(shí)現(xiàn)這些復(fù)雜指令需要更復(fù)雜的硬件邏輯。
常見應(yīng)用:早期的計(jì)算機(jī)和一些特定應(yīng)用中使用較多,如x86架構(gòu)。
RISC(Reduced Instruction Set Computing)
精簡指令集:RISC架構(gòu)設(shè)計(jì)了一組相對簡單且數(shù)量較少的指令,每條指令執(zhí)行一個非常簡單的操作。
較多的指令數(shù):由于每條指令執(zhí)行的操作簡單,完成一個任務(wù)需要更多的指令。
指令執(zhí)行速度快:簡單指令可以在一個時鐘周期內(nèi)完成,從而提高了指令執(zhí)行速度。
硬件實(shí)現(xiàn)簡單:由于指令集的精簡,硬件設(shè)計(jì)相對簡單且更容易優(yōu)化。
常見應(yīng)用:現(xiàn)代嵌入式系統(tǒng)和移動設(shè)備中廣泛使用,如ARM架構(gòu)。
對比
復(fù)雜性:CISC指令復(fù)雜,RISC指令簡單。
執(zhí)行速度:RISC通常具有更快的執(zhí)行速度,因?yàn)槊織l指令在一個時鐘周期內(nèi)完成。
指令數(shù):CISC指令數(shù)少,但每條指令功能強(qiáng)大;RISC指令數(shù)多,但每條指令功能簡單。
硬件設(shè)計(jì):CISC硬件設(shè)計(jì)復(fù)雜,RISC硬件設(shè)計(jì)簡單。
應(yīng)用領(lǐng)域:CISC多用于臺式機(jī)和服務(wù)器,RISC多用于嵌入式系統(tǒng)和移動設(shè)備。
這兩種架構(gòu)各有優(yōu)劣,具體選擇取決于應(yīng)用場景和性能需求。
RISC和CISC的對比
RISC(Reduced Instruction Set Computer)
定義:RISC是一種執(zhí)行較少類型計(jì)算機(jī)指令的微處理器架構(gòu)。通過減少指令集的數(shù)量,可以更快地執(zhí)行操作。
起源:1974年,紐約約克鎮(zhèn)IBM研究中心的John Cocke提出了RISC的概念。他發(fā)現(xiàn)計(jì)算機(jī)中約20%的指令承擔(dān)了80%的工作。
主要特點(diǎn):
指令簡單:RISC設(shè)計(jì)者將主要精力放在經(jīng)常使用的簡單指令上,這些指令可以在一個時鐘周期內(nèi)完成。
指令數(shù)少:較少的指令類型需要更少的晶體管和電路元件,從而簡化微處理器設(shè)計(jì),提高執(zhí)行速度。
存儲器操作限制:對存儲器操作有限制,使控制簡單化。
程序復(fù)雜性:由于簡單的指令集,實(shí)現(xiàn)復(fù)雜功能時需要組合多條指令,程序復(fù)雜度增加,內(nèi)存占用較大。
中斷處理:可以在一條指令執(zhí)行的適當(dāng)位置響應(yīng)中斷。
CPU芯片電路:包含較少的單元電路,面積小、功耗低。
設(shè)計(jì)周期短:結(jié)構(gòu)簡單,布局緊湊,設(shè)計(jì)周期短,易于采用最新技術(shù)。
常見處理器:DEC Alpha、ARC、ARM、MIPS、PowerPC、SPARC、SuperH等。
CISC(Complex Instruction Set Computer)
定義:CISC是一種復(fù)雜指令集計(jì)算機(jī)架構(gòu),使用豐富的指令集,每條指令可以完成較為復(fù)雜的操作。
主要特點(diǎn):
指令豐富:指令系統(tǒng)比較豐富,有專用指令來完成特定功能。
存儲器操作直接:存儲器操作指令多,操作直接。
程序簡單性:匯編語言程序編寫相對簡單,特別是科學(xué)計(jì)算及復(fù)雜操作的程序設(shè)計(jì)效率較高。
中斷處理:在一條指令執(zhí)行結(jié)束后響應(yīng)中斷。
CPU芯片電路:包含豐富的電路單元,功能強(qiáng)大,但面積大、功耗高。
設(shè)計(jì)周期長:結(jié)構(gòu)復(fù)雜,設(shè)計(jì)周期長。
用戶使用:功能強(qiáng)大,實(shí)現(xiàn)特殊功能容易。
常見處理器:X86。
RISC和CISC的區(qū)別
指令系統(tǒng):
RISC:專注于簡單、高效的常用指令,通過組合指令完成不常用功能。
CISC:提供豐富的指令系統(tǒng),有專用指令完成特定功能。
存儲器操作:
RISC:對存儲器操作有限制,控制簡單。
CISC:存儲器操作指令多,操作直接。
程序復(fù)雜性:
RISC:程序復(fù)雜,需要較大內(nèi)存空間。
CISC:程序編寫相對簡單,設(shè)計(jì)效率高。
中斷處理:
RISC:在一條指令執(zhí)行的適當(dāng)位置響應(yīng)中斷。
CISC:在一條指令執(zhí)行結(jié)束后響應(yīng)中斷。
CPU芯片電路:
RISC:單元電路少,面積小、功耗低。
CISC:電路單元豐富,面積大、功耗高。
設(shè)計(jì)周期:
RISC:設(shè)計(jì)周期短,易于采用新技術(shù)。
CISC:設(shè)計(jì)周期長,結(jié)構(gòu)復(fù)雜。
用戶使用:
RISC:指令規(guī)整,性能容易把握,易學(xué)易用。
CISC:結(jié)構(gòu)復(fù)雜,功能強(qiáng)大,實(shí)現(xiàn)特殊功能容易。
應(yīng)用范圍:
RISC:更適合于專用機(jī)。
CISC:更適合于通用機(jī)。
指令解碼和執(zhí)行效率:RISC核心設(shè)計(jì)簡單,指令集較少,容易進(jìn)行指令解碼和執(zhí)行優(yōu)化。因此,在現(xiàn)代CISC處理器中,首先將復(fù)雜的CISC指令解碼成更簡單的RISC微操作(micro-operations),再由RISC核心執(zhí)行。這種方式可以提高指令執(zhí)行效率。
設(shè)計(jì)復(fù)雜性降低:RISC核心的設(shè)計(jì)相對簡單,可以簡化處理器設(shè)計(jì)的復(fù)雜性。通過在CISC處理器中采用RISC核心,可以降低設(shè)計(jì)和驗(yàn)證的難度,縮短開發(fā)周期。
能效比提升:RISC核心因?yàn)槠浜唵蔚脑O(shè)計(jì),通常具有較低的功耗和較小的芯片面積。這對于移動設(shè)備和嵌入式系統(tǒng)等功耗敏感的應(yīng)用場景尤為重要。
模塊化設(shè)計(jì):通過使用RISC核心,處理器設(shè)計(jì)可以更加模塊化和靈活。這使得在同一架構(gòu)下可以更容易地進(jìn)行不同型號和規(guī)格處理器的擴(kuò)展和開發(fā)。
兼顧舊有軟件支持和新性能:現(xiàn)代CISC處理器(如x86架構(gòu))需要兼容大量已有的軟件和系統(tǒng),因此外部接口依然保持CISC架構(gòu)。但是,內(nèi)部通過RISC核心執(zhí)行,可以兼顧性能和兼容性,提供更好的用戶體驗(yàn)。
微操作:Intel的x86處理器內(nèi)部使用了一種被稱為“微操作(micro-ops)”的機(jī)制,將復(fù)雜的x86指令解碼為更簡單的微操作,然后由內(nèi)部的RISC風(fēng)格的執(zhí)行單元處理。
超標(biāo)量和超流水:現(xiàn)代x86處理器利用超標(biāo)量和超流水技術(shù),同時執(zhí)行多條微操作,以提高指令級并行度和處理速度。
這兩種架構(gòu)各有優(yōu)劣,具體選擇取決于應(yīng)用場景和性能需求。
為什么現(xiàn)在CISC也是由RISC實(shí)現(xiàn)?
如今的CISC處理器都參考了RISC設(shè)計(jì),將指令在處理器內(nèi)翻譯成微碼再工作。
1. 性能優(yōu)化
評論