這樣說好了,不是說 P4 就是一顆 RISC CPU 或是說他可以用 RISC 指令集;CISC 與 RISC 的不同也不全是看 Instruction Set 或是 Memory-to-Register ,每個 Instruction 的 Cycles 也是區別。真要說起來,應該說 P4 是一顆採用 CISC 皮 RISC 骨的 Hybrid CPU,不是純 CISC,也不是純 RISC。Intel 從 Pentium Pro 開始就採用這種 Hybrid 架構,硬要區別說 Pentium 是 CISC、PPC 是 RISC,其實沒什麼意義。janusng 寫:敢問 ulysses 大人,P4 可以行那一個 RISC 指令集呢?
ISA 就是 complier 同 programmer 可以使用的介面,你可以寫 uop 給 P4 運行嗎?可以 access 第九個 register 嗎?
CISC 就是 CISC,CPU 內部如何運作,也不會令 CISC 變 RISC 的。
正如有個翻譯機,也不代表你會說法文。
P.S.
其實是有辦法用第九個 register 的,用 EM64T ISA 就是了!但你明白我說什麼了!
P4 將 CISC 的指令集拆分成多個 Single Clock 的 Activity,搭配傳統只用在 RISC 架構的 Superscalar,結果就是 CPU 的時脈可以明顯飆高,但是實際的執行效率則和 Code 的 Optimize 程度息息相關。
P4 的 Pipeline 一共有 20 個 stage,有部份指令,例如 Shift 和 Rotate,執行起來就是比較慢。相同的 Code 使用不同的 Compiler,執行效率差距相當大。專為 P4 Optimized 過的 Native Code,和 Compile 給 P3 用的 Code 相比,效率可以差到一倍以上。
至於 Rosetta,真的是很謎。猜想會不會是類似 JIT/Hotspot 類型的東西?