CISC和RISC的區別

2022-09-11 20:15:24 字數 3477 閱讀 6500

**於

risc(reduced instruction set computer)和

cisc(complex instruction set computer)是當前

cpu的兩種架構。

它們的區別在於不同的

cpu設計理念和方法。

早期的cpu

全部是cisc

架構,它的設計目的是要用最少的機器語言指令來完成所需的計算任務。比如對於乘法運算,在

cisc

架構的cpu

上,可能需要這樣一條指令:

mul addra, addrb

就可以將

addra

和addrb

中的數相乘並將結果儲存在

addra

中。將addra, addrb

中的資料讀入暫存器,相乘和將結果寫回記憶體的操作全部依賴於

cpu中設計的邏輯來實現。這種架構會增加

cpu結構的複雜性和對

cpu工藝的要求,但對於編譯器的開發十分有利。比如上面的例子,

c程式中的

a*=b

就可以直接編譯為一條乘法指令。今天只有

intel

及其相容

cpu還在使用

cisc

架構。risc架構要求軟體來指定各個操作步驟。上面的例子如果要在

risc

架構上實現,將

addra, addrb

中的資料讀入暫存器,相乘和將結果寫回記憶體的操作都必須由軟體來實現,比如:

mov a, addra; mov b, addrb; mul a, b; str addra, a

。這種架構可以降低

cpu的複雜性以及允許在同樣的工藝水平下生產出功能更強大的

cpu,但對於編譯器的設計有更高的要求。

cisc(複雜指令集)與

risc

(精簡指令集)的區別

複雜指令集計算機(cisc)

長期來,計算機效能的提高往往是通過增加硬體的複雜性來獲得.隨著積體電路技術.特別是vlsi

(超大規模積體電路)技術的迅速發展,為了軟體程式設計方便和提高程式的執行速度,硬體工程師採用的辦法是不斷增加可實現複雜功能的指令和多種靈活的編址方式。甚至某些指令可支援高階語言語句歸類後的複雜操作。至使硬體越來越複雜,造價也相應提高.為實現複雜操作,微處理器除向程式設計師提供類似各種暫存器和機器指令功能外。還通過存於唯讀存貯器

(rom)

中的微程式來實現其極強的功能 ,來處理在分析每一條指令之後執行一系列初級指令運算來完成所需的功能,這種設計的型式被稱為複雜指令集計算機

(complex instruction set computer-cisc)

結構.一般

cisc

計算機所含的指令數目至少

300條以上,有的甚至超過

500條。

精簡指令集計算機(risc)

採用複雜指令系統的計算機有著較強的處理高階語言的能力,這對提高計算機的效能是有益的。當計算機的設計沿著這條道路發展時。有些人沒有隨波逐流.他們回過頭去看一看過去走過的道路,開始懷疑這種傳統的做法:ibm

公司在紐約

yorktown

的jhomasi.wason

研究中心於

1975

年組織力量研究指令系統的合理性問題.因為當時已感到,日趨龐雜的指令系統不但不易實現.而且還可能降低系統效能。

1979

年以帕特遜教授為首的一批科學家也開始在美國加冊大學伯克萊分校開展這一研究。結果表明,

cisc

存在許多缺點。首先,在這種計算機中,各種指令的使用率相差懸殊:乙個典型程式的運算過程所使用的

80%指令,只佔乙個處理器指令系統的

20%,事實上最頻繁使用的指令是取、存和加這些最簡單的指令。這樣一來,長期致力於複雜指令系統的設計,實際上是在設計一種難得在實踐中用得上的指令系統的處理器。同時,複雜的指令系統必然帶來結構的複雜性。這不但增加了設計的時間與成本還容易造成設計失誤。此外,儘管

vlsi

技術現在已達到很高的水平,但也很難把

cisc

的全部硬體做在乙個晶元上,這也妨礙單片計算機的發展。在

cisc

中,許多複雜指令需要極複雜的操作,這類指令多數是某種高階語言的直接翻版,因而通用性差。由於採用二級的微碼執行方式,它也降低那些被頻繁呼叫的簡單指令系統的執行速度。因而,針對

cisc

的這些弊病。帕特遜等人提出了精簡指令的設想即指令系統應當只包含那些使用頻率很高的少量指令,並提供一些必要的指令以支援作業系統和高階語言。按照這個原則發展而成的計算機被稱為精簡指令集計算機

(reduced instruction set computer-risc)

結構,簡稱

risc

。我們經常談論有關"pc"

與"macintosh"

的話題,但是又有多少人知道以

intel

公司x86

為核心的

pc系列正是基於

cisc

體系結構,而

公司的macintosh

則是基於

risc

體系結構,

cisc

與risc

到底有何區別?

從硬體角度來看cisc

處理的是不等長指令集,它必須對不等長指令進行分割,因此在執行單一指令的時候需要進行較多的處理工作。而

risc

執行的是等長精簡指令集,

cpu在執行指令的時候速度較快且效能穩定。因此在並行處理方面

risc

明顯優於

cisc

,risc

可同時執行多條指令,它可將一條指令分割成若干個程序或執行緒,交由多個處理器同時執行。由於

risc

執行的是精簡指令集,所以它的製造工藝簡單且成本低廉。

從軟體角度來看,cisc

執行的則是我們所熟識的

dos、

windows

作業系統。而且它擁有

65%以上的軟體廠商**為基於

cisc

體系結構的

pc及其相容機服務的,像赫赫有名的

microsoft

就是其中大量的應用程式。而

risc

在此方面卻顯得有些勢單力薄。雖然在

risc

上也可執行

dos、

windows

,但是需要乙個翻譯過程,所以執行速度要慢許多。

目前cisc

與risc

正在逐步走向融合,

pentium pro

、nx586、k5

就是乙個最明顯的例子,它們的核心都是基於

risc

體系結構的。他們接受

cisc

指令後將其分解分類成

risc

指令以便在同一時間內能夠執行多條指令。由此可見,下一代的

cpu將融合

cisc

與risc

兩種技術,從軟體與硬體方面看二者會取長補短。

CISC和RISC的區別

risc 精簡指令集計算機 和cisc 複雜指令集計算機 是當前cpu的兩種架構。它們的區別在於不同的cpu設計理念和方法。早期的cpu全部是cisc架構,它的設計目的是要用最少的機器語言指令來完成所需的計算任務。比如對於乘法運算,在cisc架構的cpu上,您可能需要這樣一條指令 mul addra...

RISC和CISC的區別

risc 和cisc 是目前設計製造微處理器的兩種典型技術,雖然它們都是試圖在體系結構 操作執行 軟體硬體 編譯時間和執行時間等諸多因素中做出某種平衡,以求達到高效的目的,但採用的方法不同,因此,在很多方面差異很大,它們主要有 1 指令系統 risc 設計者把主要精力放在那些經常使用的指令上,盡量使...

CISC和RISC的區別

cisc complex instruction set computers,複雜指令集計算集 和risc reduced instruction set computers 是兩大類主流的cpu指令集型別,其中cisc以intel,amd的x86 cpu為代表,而risc以arm,ibm powe...