1. 程式人生 > >CISC(複雜指令集)與RISC(精簡指令集)的區別

CISC(複雜指令集)與RISC(精簡指令集)的區別

複雜指令集計算機(CISC)  Complex Instruction SetComputer

長期來,計算機效能的提高往往是通過增加硬體的複雜性來獲得.隨著積體電路技術.特別是VLSI(超大規模積體電路)技術的迅速發展,為了軟體程式設計方便和提高程式的執行速度,硬體工程師採用的辦法是不斷增加可實現複雜功能的指令和多種靈活的編址方式.甚至某些指令可支援高階語言語句歸類後的複雜操作.至使硬體越來越複雜,造價也相應提高.為實現複雜操作,微處理器除向程式設計師提供類似各種暫存器和機器指令功能外.還通過存於只讀存貯器(ROM)中的微程式來實現其極強的功能 ,傲處理在分析每一條指令之後執行一系列初級指令運算來完成所需的功能,這種設計的型式被稱為複雜指令集計算機(Complex Instruction Set Computer-CISC)結構.一般CISC計算機所含的指令數目至少300條
以上,有的甚至超過500條.

精簡指令集計算機(RISC)  Reduced Instruction Set Computer
  採用複雜指令系統的計算機有著較強的處理高階語言的能力.這對提高計算機的效能是有益的.當計算機的設計沿著這條道路發展時.有些人沒有隨波逐流.他們回過頭去看一看過去走過的道路,開始懷疑這種傳統的做法:IBM公司沒在紐約Yorktown的JhomasI.Wason研究中心於1975年組織力量研究指令系統的合理性問題.因為當時已感到,日趨龐雜的指令系統不但不易實現.而且還可能降低系統性能.1979年以帕特遜教授為首的一批科學家也開始在美國加冊大學伯克萊分校開展這一研究.結果表明,CISC存在許多缺點.首先.在這種計算機中.各種指令的使用率相差懸殊:一個典型程式的運算過程所使用的80%指令.只佔一個處理器指令系統的20%.事實上最頻繁使用的指令是取、存和加這些最簡單的指令.這樣-來,長期致力於複雜指令系統的設計,實際上是在設計一種難得在實踐中用得上的指令系統的處理器.同時.複雜的指令系統必然帶來結構的複雜性.這不但增加了設計的時間與成本還容易造成設計失誤.此外.儘管VLSI技術現在已達到很高的水平,但也很難把CISC的全部硬體做在一個晶片上,這也妨礙單片計算機的發展.在CISC中,許多複雜指令需要極複雜的操作,這類指令多數是某種高階語言的直接翻版,因而通用性差.由於採用二級的微碼執行方式,它也降低那些被頻繁呼叫的簡單指令系統的執行速度.因而.針對CISC的這些弊病.帕特遜等人提出了精簡指令的設想即指令系統應當只包含那些使用頻率很高的少量指令.並提供一些必要的指令以支援作業系統和高階語言.按照這個原則發展而成的計算機被稱為精簡指令集計算機結構.簡稱RISC.

CISC與RISC的區別   
  從硬體角度來看CISC處理的是不等長指令集,它必須對不等長指令進行分割,因此在執行單一指令的時候需要進行較多的處理工作。而RISC執行的是等長精簡指令集,CPU在執行指令的時候速度較快且效能穩定。因此在並行處理方面RISC明顯優於CISC,RISC可同時執行多條指令,它可將一條指令分割成若干個程序或執行緒,交由多個處理器同時執行。由於RISC執行的是精簡指令集,所以它的製造工藝簡單且成本低廉。
  從軟體角度來看,CISC執行的則是我們所熟識的DOS、Windows作業系統。而且它擁有大量的應用程式。因為全世界有65%以上的軟體廠商都理為基於CISC體系結構的PC及其相容機服務的,象赫赫有名的Microsoft就是其中的一家。而RISC在此方面卻顯得有些勢單力薄。雖然在RISC上也可執行DOS、Windows,但是需要一個翻譯過程,所以執行速度要慢許多。