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