1. 程式人生 > >以例項來比較RISC和CISC

以例項來比較RISC和CISC

     RISC(精簡指令集計算機)和CISC(複雜指令集計算機)是當前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,但對於編譯器的設計有更高的要求