RISC,精簡指令集;CISC,複雜指令集

來源:互聯網
上載者:User

RISC,精簡指令集;CISC,複雜指令集
期的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,但對於編譯器的設計有更高的要求。

在早期的電腦業界,編譯器技術尚未出現。程式是以機器語言或組合語言完成的。為了便於編寫程式,電腦架構師設計出越來越複雜的指令,可以直接對應進階程式設計語言的進階功能。當時的看法是硬體比編譯器更容易設計,所以結構的複雜性在硬體這端。
還有一個因素是當時的記憶體不僅容量少,而且速度很慢,使用的都是磁性技術。憑藉高密度打包的指令,存取慢速資源的頻率可以降低。

微處理器只有少量寄存器的兩個原因是:

寄存器每一個位元位都比外部記憶體貴。以當時的整合電路技術水平,大量寄存器對晶片或電路板而言是難以承受的。
一旦具有大數量的寄存器,相關的指令字(opcode)將會需要更多的位元位(使用寶貴的RAM)來定位寄存器。

到目前為止,RISC 體繫結構也還沒有嚴格的定義,一般認為,RISC 體繫結構應具有如下特點:
- 採用固定長度的指令格式,指令歸整、簡單、基本定址方式有2~3 種。
- 使用單周期指令,便於流水線操作執行。
- 大量使用寄存器,資料處理指令只對寄存器進行操作,只有載入/ 儲存指令可以訪問儲存空間,
以提高指令的執行效率。

事實上,RISC 和CISC 各有優勢,而且界限並不那麼明顯。現代的CPU 往往採用CISC 的外圍,內部加入了RISC 的特性,如超長指令集CPU 就是融合了RISC 和CISC 的優勢,成為未來的CPU 發展方向之一.

總結
RISC更有利於流水作業;大多數的指令都可以在一個機器周期裡完成,並且允許處理器在同一時間內執行一系列的指令。 RISC增加了寄存器的數量。RISC需要更多的記憶體

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.