複雜指令系統計算機(Complex Instruction Set Computer)簡稱(CISC),是台式計算機系統的基本處理部件,每個微處理器的核心是運行指令的電路。指令由完成任務的多個步驟所組成,把數值傳送進暫存器或進行相加運算。
基本介紹
中文名:複雜指令系統計算機
外文名:Complex Instruction Set Computer
簡稱:CISC
屬性:計算機
發展歷程,存在問題,區別,
發展歷程
複雜指令集計算機(CISC),長期來,計算機性能的提高往往是通過增加硬體的複雜性來獲得.隨著積體電路技術.特別是VLSI(超大規模積體電路)技術的迅速發展,為了軟體編程方便和提高程式的運行速度,硬體工程師採用的辦法是不斷增加可實現複雜功能的指令和多種靈活的編址方式.甚至某些指令可支持高級語言語句歸類後的複雜操作.至使硬體越來越複雜,造價也相應提高.為實現複雜操作,微處理器除向程式設計師提供類似各種暫存器和機器指令功能外.還通過存於唯讀存貯器(ROM)中的微程式來實現其極強的功能,待處理在分析每一條指令之後執行一系列初級指令運算來完成所需的功能,這種設計的型式被稱為複雜指令集計算機(Complex Instruction Set Computer-CISC)結構.一般CISC計算機所含的指令數目至少300條以上,有的甚至超過500條. 傳統計算機大多數為複雜指令系統計算機CISC(Complex Instruction Set Computer),機器結構以存儲器為中心,認為機器執行速度和程式代碼大小成比例,絕大多數指令需要多個時鐘周期執行完畢。計算機指令系統十分龐大和複雜(指令條數多,定址方式多,指令格式也很多),如1973年的IBM370/168基本指令208條,定址方式4種,指令格式2~6個位元組。1978年的VAⅫ/780基本指令304條,24種定址方式,指令格式2~57個位元組,其中微代碼存儲器大小約480KB。指令的控制執行是採用微程式控制技術,有專用的暫存器。這樣龐大的指令系統使得控制器十分複雜,占用了大量CPU晶片面積,可是有些複雜指令又用得很少,難以用最佳化編譯生成高效目標代碼。處理器的執行效率不高。指令系統與軟體之間語義差別越來越大,軟體設計任務十分繁重,整個設計風格不是十分經濟有效的。
在計算機指令系統的最佳化發展過程中,出現過兩個截然不同的最佳化方向:CISC技術和RISC技術。CISC是指複雜指令系統計算機(Complex Instruction Set Computer);RISC是指精簡指令系統計算機(Reduced Instruction Set Computer)。這裡的計算機指令系統指的是計算機的最低層的機器指令,也就是CPU能夠直接識別的指令。隨著計算機系統的複雜,要求計算機指令系統的構造能使計算機的整體性能更快更穩定。最初,人們採用的最佳化方法是通過設定一些功能複雜的指令,把一些原來由軟體實現的、常用的功能改用硬體的指令系統實現,以此來提高計算機的執行速度,這種計算機系統就被稱為複雜指令系統計算機,即Complex Instruction Set Computer,簡稱CISC。另一種最佳化方法是在20世紀80年代才發展起來的,其基本思想是儘量簡化計算機指令功能,只保留那些功能簡單、能在一個節拍內執行完成的指令,而把較複雜的功能用一段子程式來實現,這種計算機系統就被稱為精簡指令系統計算機.即Reduced Instruction Set Computer,簡稱RISC。RISC技術的精華就是通過簡化計算機指令功能,使指令的平均執行周期減少,從而提高計算機的工作主頻,同時大量使用通用暫存器來提高子程式執行的速度。
複雜的指令系統必然帶來結構的複雜性.這不但增加了設計的時間與成本還容易造成設計失誤.儘管VLSI技術已達到很高的水平,但也很難把CISC的全部硬體做在一個晶片上,這也妨礙單片計算機的發展.在CISC中,許多複雜指令需要極複雜的操作,這類指令多數是某種高級語言的直接翻版,因而通用性差.由於採用二級的微碼執行方式,它也降低那些被頻繁調用的簡單指令系統的運行速度. 因而.針對CISC的這些弊病.帕特遜等人提出了精簡指令的構想即指令系統應當只包含那些使用頻率很高的少量指令,並提供一些必要的指令以支持作業系統和高級語言.按照這個原則發展而成的計算機被稱為精簡指令集計算機(Reduced Instruction Set Computer-RISC)結構.簡稱RISC.