複雜指令系統計算機

複雜指令系統計算機

複雜指令系統計算機(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技術的精華就是通過簡化計算機指令功能,使指令的平均執行周期減少,從而提高計算機的工作主頻,同時大量使用通用暫存器來提高子程式執行的速度。
複雜指令系統計算機複雜指令系統計算機
計算機誕生以來,人們一直沿用CISC指令集方式。早期的桌面軟體是按CISC設計的,並一直沿用。桌面計算機流行的x86體系結構即使用CISC。微處理器(CPU)廠商一直在走CISC的發展道路,包括Intel、AMD,還有一些已經更名的廠商,如TI(德州儀器)、Cyrix以及ⅥA(威盛)等。在CISC微處理器中,程式的各條指令是按順序串列執行的,每條指令中的各個操作也是按順序串列執行的。順序執行的優點是控制簡單,但計算機各部分的利用率不高,執行速度慢。CISC架構的伺服器主要以IA-32架構(IntelArchitecture,英特爾架構)為主,而且多數為中低檔伺服器所採用。

存在問題

採用複雜指令系統計算機有著較強的處理高級語言的能力.這對提高計算機的性能是有益的.當計算機的設計沿著這條道路發展時.有些人沒有隨波逐流.他們回過頭去看一看過去走過的道路,開始懷疑這種傳統的做法:IBM公司設在紐約Yorktown的JhomasI.Wason研究中心於1975年組織力量研究指令系統的合理性問題.因為當時已感到,日趨龐雜的指令系統不但不易實現.而且還可能降低系統性能。1979年以帕特遜教授為首的一批科學家也開始在美國加冊大學伯克萊分校開展這一研究.結果表明,CISC存在許多缺點. 首先.在這種計算機中.各種指令的使用率相差懸殊:一個典型程式的運算過程所使用的80%指令.只占一個處理器指令系統的20%.事實上最頻繁使用的指令是取、存和加這些最簡單的指令.這樣-來,長期致力於複雜指令系統的設計,實際上是在設計一種難得在實踐中用得上的指令系統的處理器.
複雜指令系統計算機複雜指令系統計算機
複雜的指令系統必然帶來結構的複雜性.這不但增加了設計的時間與成本還容易造成設計失誤.儘管VLSI技術已達到很高的水平,但也很難把CISC的全部硬體做在一個晶片上,這也妨礙單片計算機的發展.在CISC中,許多複雜指令需要極複雜的操作,這類指令多數是某種高級語言的直接翻版,因而通用性差.由於採用二級的微碼執行方式,它也降低那些被頻繁調用的簡單指令系統的運行速度. 因而.針對CISC的這些弊病.帕特遜等人提出了精簡指令的構想即指令系統應當只包含那些使用頻率很高的少量指令,並提供一些必要的指令以支持作業系統和高級語言.按照這個原則發展而成的計算機被稱為精簡指令集計算機(Reduced Instruction Set Computer-RISC)結構.簡稱RISC.
複雜指令系統計算機複雜指令系統計算機
指令系統龐大,指令功能複雜,指令格式定址方式多;絕大多數指令需多個機器周期完成;各種指令都可訪問存儲器;採用微程式控制;有專用暫存器,少量;難以用最佳化編譯技術生成高效的目標代碼程式。
CISC存在的問題
指令系統龐大,指令功能複雜,指令格式、定址方式多;
⑵執行速度慢;
⑶難以最佳化編譯,編譯程式複雜;
⑷80%的指令在20%的運行時間使用;無法並行;無法兼容;
⑸CISC強調完善的中斷控制, 勢必導致動作繁多,設計複雜,研製周期長;
⑹CISC給晶片設計帶來很多困難,使晶片種類增多,出錯幾率增大,成本提高而成品率降低。
導致CISC指令系統複雜的主要原因
減少語義差距減少存儲空間,提高速度為了向上兼容帶來的後果電路複雜,編譯效率低無法並行;無法兼容 典型的CISC產品 項目 VAX11/780 1978年 Intel80386 1985年 MC68020 1984年指令條數 304 111 101定址方式24 11 16指令格式變長(2-57byte) 變長(1-17byte) 16
從CISC到RISC CISC指令系統存在的問題
20%與80%規律 CISC中,大約20%的指令占據了80%的處理機時間。其餘80%指令:使用頻度只占20%的處理機運行時間VLSI技術的發展引起的問題 VLSI工藝要求規整性,RISC正好適應了VLSI工藝的要求主存與控存的速度相當,簡單指令沒有必要用微程式實現,複雜指令用微程式實現與用簡單指令組成的子程式實現沒有多大區別;由於VLSI的集成度迅速提高,使得生產單晶片處理機成為可能。軟硬體的功能分配問題複雜的指令使指令的執行周期大大加長一般CISC處理機的指令平均執行周期都在4以上,有些在10以上 CISC增強了指令系統功能,簡化了軟體,但硬體複雜了,設計周期加長。

區別

CISC(複雜指令計算機)和RISC(精簡指令集計算機)是當前CPU的兩種架構。它們的區別在於不同的CPU設計理念和方法。早期的CPU全部是CISC架構,它的設計目的是要用最少的機器語言指令來完成所需的計算任務。RISC和CISC是設計製造微處理器的兩種典型技術,雖然它們都是試圖在體系結構、操作運行、軟體硬體、編譯時間運行時間等諸多因素中做出某種平衡,以求達到高效的目的。但採用的方法不同,因此,在很多方面差異很大,它們主要有:
複雜指令系統計算機複雜指令系統計算機
指令系統:RISC設計者把主要精力放在那些經常使用的指令上,儘量使它們具有簡單高效的特色。對不常用的功能,常通過組合指令來完成。因此,在RISC機器上實現特殊功能時,效率可能較低。但可以利用流水技術和超標量技術加以改進和彌補。而CISC計算機的指令系統比較豐富,有專用指令來完成特定的功能。因此,處理特殊任務效率較高。
⑵存儲器操作:RISC對存儲器操作有限制,使控制簡單化;而CISC機器的存儲器操作指令多,操作直接。
程式:RISC彙編語言程式一般需要較大的記憶體空間,實現特殊功能時程式複雜,不易設計;而CISC彙編語言程式編程相對簡單,科學計算及複雜操作的程式社設計相對容易,效率較高。
98年 Cyrix 生產的“CPU”
複雜指令系統計算機複雜指令系統計算機
中斷:RISC機器在一條指令執行的適當地方可以回響中斷;而CISC機器是在一條指令執行結束後回響中斷。
CPU:RISCCPU包含有較少的單元電路,因而面積小、功耗低;而CISCCPU包含有豐富的電路單元,因而功能強、面積大、功耗大。⑹設計周期:RISC微處理器結構簡單,布局緊湊,設計周期短,且易於採用最新技術;CISC微處理器結構複雜,設計周期長。
⑺用戶使用:RISC微處理器結構簡單,指令規整,性能容易把握,易學易用;CISC微處理器結構複雜,功能強大,實現特殊功能容易。
⑻套用範圍:由於RISC指令系統的確定與特定的套用領域有關,故RISC機器更適合於專用機;而CISC機器則更適合於通用機。

相關詞條

熱門詞條

聯絡我們