1、CISC 和 RISC 並不是靠指令多少做區別。CISC 的指令原則上他是變長度的。RISC 的定長度的。因為 CISC 變長度,所以 x86 的程式不需要“對齊”,計算機會自己按照資料長度設定去讀取對應長度的資料,RISC 如果資料不對齊,會導致資料錯誤(當然現在編譯器自己就能解決對齊問題,除非寫彙編自己忘了對齊還不讓編譯器去對齊)。
2、即便 x86 ,現在也是用 RISC 模式執行,只是他前面有個翻譯機,把 x86 指令翻譯成現在核心用的微程式碼去直行。指示相對來說,因為設計專一,所以效率很容易實現,甚至還可以給自己的 CPU 提供加速效果。
3、MIPS 現成軟體有的是,問題是這些軟體,都是基礎軟體。應用軟體現在因為 MIPS 本身就少,你自然也看不到。其次的,如果不使用硬體專有指令。編譯器是可以平滑輸出任何架構的程式的。這點你看 debian 的 mips 版本就能知道。
4、自主指令目標是為了更好的效率和效能,比如浮點計算,可能 MIPS 自己沒有設定某種計算的指令,就需要多條指令符合計算,導致效率低下。我現在增加一個指令,直接就可以快速計算這個演算法,明顯的就可以提升效能。為什麼不用?
5、用 MIPS 本身就是為了相容。在保證相容的時候,為啥不按照自己設計中和使用者使用反饋,增加需要的指令?這是增而不是重頭做起,難度降低不少的。而且還能保持和以前一樣的相容效果。
1、CISC 和 RISC 並不是靠指令多少做區別。CISC 的指令原則上他是變長度的。RISC 的定長度的。因為 CISC 變長度,所以 x86 的程式不需要“對齊”,計算機會自己按照資料長度設定去讀取對應長度的資料,RISC 如果資料不對齊,會導致資料錯誤(當然現在編譯器自己就能解決對齊問題,除非寫彙編自己忘了對齊還不讓編譯器去對齊)。
2、即便 x86 ,現在也是用 RISC 模式執行,只是他前面有個翻譯機,把 x86 指令翻譯成現在核心用的微程式碼去直行。指示相對來說,因為設計專一,所以效率很容易實現,甚至還可以給自己的 CPU 提供加速效果。
3、MIPS 現成軟體有的是,問題是這些軟體,都是基礎軟體。應用軟體現在因為 MIPS 本身就少,你自然也看不到。其次的,如果不使用硬體專有指令。編譯器是可以平滑輸出任何架構的程式的。這點你看 debian 的 mips 版本就能知道。
4、自主指令目標是為了更好的效率和效能,比如浮點計算,可能 MIPS 自己沒有設定某種計算的指令,就需要多條指令符合計算,導致效率低下。我現在增加一個指令,直接就可以快速計算這個演算法,明顯的就可以提升效能。為什麼不用?
5、用 MIPS 本身就是為了相容。在保證相容的時候,為啥不按照自己設計中和使用者使用反饋,增加需要的指令?這是增而不是重頭做起,難度降低不少的。而且還能保持和以前一樣的相容效果。