cuteyu wrote:
RISC, CISC是兩種不同的指令集設計理念.
RISC 的設計理念是每個指令很簡單, 只做一個單純的動作, 通常長度相同,
目的是希望壓縮每個指令執行的時間, 此外因為指令簡單要解碼自然也較簡單.
CISC則是指令集中存在包含多個步驟的指令, 一個CISC指令可能等同多個RISC指令的組合.
CISC指令的長短不相同, 一些常用簡單的指令長度不但短且短過RISC指令, 而複雜的致令則較長.
CISC指令集要解碼自然是較複雜, 但CISC的的程式碼卻會比較省空間, 因為常用的指令短.
但指令集只是CPU對外的介面, 但不代表內部的架構.
同樣的指令集可以做出兩種完全不同導向的CPU.
同樣x86指令集或arm指令集的CPU可以有完全不同的耗能與效率.
主要是內部架構影響耗能, 指令集影響最主要在decoder, cache的設計.
但這部分只占CPU一小部分面積, 要說這部分讓整顆CPU耗能大增就太誇大.
實際上x86 cpu早在十多年以前的設計,就是先把複雜的x86指令集轉為單純的微指令來執行.
這些微指令就是以RISC的觀念去設計的.
x86 的架構比較耗能的原因是從設計之初就著重在效能而非耗能,
相對來說arm的架構在設計初期就把功耗列為首要考量.
但這不代表x86指令集就無法做出低耗能的x86架構, 畢竟指令集只是介面.
此外Itanium的不是摻入RISC指令, 其實一個CISC指令集加入任何指令都還是CISC,
因為指令集只是變複雜而不是變簡單, 只有減少指令數量才有可能變RISC.
Itanium的重點在於指令當中參入指令平行化的資訊,
透過compiler提供指令平行資訊來降低CPU的複雜度.
以上是個人認知....)
感謝提供信息..
首先你應該知道X86只是CSIC的其中一種,其他還有 VAX, Motorola 68k...
一般CISC CPU 可以摻一些RISC指命(SSE,SSE2),可是是要軟體支援..
CISC 的特點是你可指定CPU做一些特定的動作,好像把記憶體上某一位址換到另外的地方..
因為他指命是帶位址性..
這是當時候微理系統十分簡單(當時還沒有PC),指命可以直接控制某位換就可省下很多晶體
其他的CISC 不會有像X86的問題是因為X86要兼容8bit x86 指令
Intel當初設計8085只有8bit的位址是因為70年代的記憶體是超貴的..
他當初設計是為了省錢不是為性能..
是Intel後用大量的晶體加快他的性能..(謝謝Intel)
的確x86的Decoder耗電在大晶片CPU來說算是很少,少到可以不用計算..
這些面積在要設計手機SoC CPU layout的時候這些Decoder設計就會顯得比Arm 來的麻煩..
再說Atom中一個CPU就有四個常注Decoder跟一個亂序Decoder..
這種設計本來就限沒有效率,就好像到超市買東西要排隊付錢一樣,不通過Decoder就不能進去運算組..
我說的加入Risc指令是pentium Pro 不是Itanium
謝謝指教




























































































