瀏覽單個文章
foxtm
Power Member
 
foxtm的大頭照
 

加入日期: Jan 2002
您的住址: 台北苦命IT工人
文章: 586
Smile

引用:
作者BALAKILLER
能不能正常跑跟效能好不好 根本是兩回事 http://s.blog.xuite.net/_image/emotion/shi1/m235.gif
不管你用什麼高階語言寫的程式碼 編譯之後最終的結果都是OPCODE
最怕的就是有些人只懂高階語言 不懂OPCODE 誤人誤己
應用程式執行時 會把每個區段包含代碼段 映射到記憶體空間
然後當執行到CPU不支援 也就是不認識的操作代碼
OS 核心會以 INVALID_OPCODE 來作處理 然後就是程式異常退出 也就是沒辦法跑
拿 AMD K10 處理器為例 指令集只支援到SSE3 SSE4A
以 SSSE3 phaddw m64 指令做範例
Opcode: 0x0f 0x38 0x01
例1 WinXP 沒有指令集軟模擬的情況下 CPU 不認識SSSE3的OPCODE指令
http://i142.photobucket.com/albums/...mg/winxp-op.png
例2 OS X 不認識SSSE3的OPCODE指令 但有軟模擬處理 INVALID_OPCODE
http://i142.photobucket.com/albums/...dimg/OSX-OP.png
...
喔..
所以你東拉西扯了老半天,到底有什麼合法軟體或作業系統一定要AVX才能執行咩?

同時存在著對AVX及SSE最佳化的代碼,判斷根據環境來擇一執行,很難理解嗎?
舊 2015-05-05, 04:32 PM #64
回應時引用此文章
foxtm離線中