基本含義
複雜指令集計算機(Complex Instruction Set Computing ,CISC)以微程式技術為基礎的、具有較複雜指令系統的計算機。複雜指令集計算機是相對於精簡指令集計算機(Reduced Instruction Set Computing RISC)而言的。
發展歷程
在60年代到80年代初期這一階段中,以微程式控制器(參見撇程式控制器)為基礎的處理機占主流地位。自80年代初、中期以後,採用硬連線控制器、且具有精簡指令集的處理機問世並迅速發展以後,就把過去二十多年中的傳統的指令系統比較複雜的計算機稱為複雜指令集計算機,其處理器稱為複雜指令集處理器。自60年代初IBM公司開始把計算機產品系列化並做到軟體兼容以後,處理器體系結構設計中採用微程式技術作為控制指令執行的控制器的基礎,是比較合適的。因為在一個產品系列中,低檔機的指令系統中的指令的基本操作可以以微程式方式存放在微存儲器中。如果高檔機要求增加功能更強的,更複雜的指令,則只需要擴充這個微存儲器的內容,增加相應的微程式,即可做到從低檔機到高檔機的軟體向上兼容。
此外,以微程式技術為基礎的控制器的實現是符合當時的計算機工藝的,因為在70年代末以前,計算機的主存儲器仍為較慢的磁心存儲器。當時,中央處理器CPU與微存儲器都已採用雙極型半導體積體電路或其它較快的電路,這種微存儲器的周期與中央處理機的工作節拍相吻合,允許中央處理器1拍執行1條微指令。
複雜原因
指令系統逐漸變得複雜的原因很多,大致可歸納成3點:
①在產品系列中追求軟體兼容性,如VAX的高檔機要和瓏cIDVAX兼容,Intd80486要和Intd8086兼容。已有的即使不合理的指令仍要保留,而新的產品又要求增加一些新的指令。
②認為指令系統愈複雜,就可以緩解所謂的軟體危機,因此在指令系統中增加了接近於高級語言語句的指令,如新!1/Return指令,這種指令的執行機制十分複雜。此外,還認為指令系統愈豐富,編譯器愈好寫,而且編譯的效率愈高。
③當時主存儲器價格較貴,存儲器容量有限,因而把存儲效率作為衡量處理機體系結構好壞的重要標準。這樣,在處理機中大量採用存儲效率較高的存儲器一存儲器操作指令。