1. 程式人生 > >軟硬體功能劃分和RISC與CISC之爭

軟硬體功能劃分和RISC與CISC之爭

下面的內容來自百度百科,我覺得很有用,也回答了我的一些疑問,就記下來了。

軟硬體的功能劃分

在CISC中,為了支援目標程式的優化,支援高階語言和編譯程式,增加了許多複雜的指令,用一條指令來替代一串指令。這些複雜指令簡化目標程式,縮小了高階語言與機器指令之間的語義差距。但是,增加了這些複雜指令並不等於縮短了程式的執行時間。

為了實現複雜的指令,不僅增加了硬體的複雜程式,而且使指令的執行週期大大加長。例如,為了支援編譯程式的對稱性要求,一般的運算型指令都能直接訪問主儲存器,從而使指令的執行週期數增加,資料的重複利用率降低。據統計,一般CISC處理器的指令平均執行週期都在4以上,有些在10以上,如Intel公司的8088等。

這裡有一個軟體與硬體的功能如何恰當分配的問題。在CISC中,通過增強指令系統的功能,簡化了軟體,增加了硬體的複雜程度。然而,由於指令複雜了,指令的執行時間必然加長,從而有可能使整個程式的執行時間反而增加,因此,在計算機體系結構設計中,軟硬體功能劃分必須核實。

RISC 和CISC 是目前設計製造微處理器的兩種典型技術,雖然它們都是試圖在體系結構、操作執行、軟體硬體、編譯時間和執行時間等諸多因素中做出某種平衡,以求達到高效

的目的,但採用的方法不同,因此,在很多方面差異很大,它們主要有:

(1) 指令系統:RISC 設計者把主要精力放在那些經常使用的指令上,儘量使它們具有簡單高效的特色。對不常用的功能,常通過組合指令來完成。因此,在RISC 機器上實現特殊功能時,效率可能較低。但可以利用流水技術和超標量技術加以改進和彌補。而CISC 計算機的指令系統比較豐富,有專用指令來完成特定的功能。因此,處理特殊任務效率較高。

(2) 儲存器操作:RISC 對儲存器操作有限制,使控制簡單化;而CISC 機器的儲存器操作指令多,操作直接。

(3) 程式:RISC 組合語言程式一般需要較大的記憶體空間,實現特殊功能時程式複雜,不易設計;而CISC 組合語言程式程式設計相對簡單,科學計算及複雜操作的程式讓設計相對容易,效率較高。

(4) 中斷:RISC 機器在一條指令執行的適當地方可以響應中斷;而CISC 機器是在一條指令執行結束後響應中斷。

(5) CPU:RISC CPU 包含有較少的單元電路,因而面積小、功耗低;而CISC CPU 包含有豐富的電路單元,因而功能強、面積大、功耗大。

(6) 設計週期:RISC 微處理器結構簡單,佈局緊湊,設計週期短,且易於採用最新技術;CISC 微處理器結構複雜,設計週期長。

(7) 使用者使用:RISC 微處理器結構簡單,指令規整,效能容易把握,易學易用;CISC微處理器結構複雜,功能強大,實現特殊功能容易。

(8) 應用範圍:由於RISC 指令系統的確定與特定的應用領域有關,故RISC 機器更適合於專用機;而CISC 機器則更適合於通用機。