#### **RISC與CISC**
Reduced Instruction Set Computer
Complex Instruction Set Computer
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,但對于編譯器的設計有更高的要求。
* * * * *