瀏覽單個文章
alience
Power Member
 

加入日期: Mar 2003
您的住址: 台北
文章: 597
引用:
作者everspiral
http://zh.wikipedia.org/wiki/SSE


MMX指令和SSE浮點不能同時工作這是第一個問題

MMX當初並沒有定義新的暫存器所以會跟傳統的x87搶暫存器
(inte當初制定SSE2時就打算用來取代MMX)

SSE在 X86-64 模式下作整數 SIMD 運算仍然要與 8 個 64 位元 MMX 暫存器
一起執行(言下之意就是轉成MMX),會有效率損失的問題

因為作業系統必須要在進程切換的時候保護這些 128 位元的暫存器狀態,除非作業系統去啟動這些暫存器,否則預設值是不會去啟用的。

SSE2指令集添加了對64位元雙精度浮點數的支援,以及對整型資料的支援,也就是說這個指令集中所有的MMX指令都是多餘的了


http://hi.baidu.com/wadeswb/blog/it...0c34fa4129.html


SSE不支援雙精度的浮點運算,以現在來說雙精度浮點是必備的

SSE2 的雙倍精確浮點指令可以取代舊有的 x86 浮點指令

再者雙精度的加法與乘法混...


列出很多參考資料

但是你的參考資料哪一個可以推出"MMX在EMT64模式下無法使用"這個結論??

還有哪一個可以推出"SSE因為不支援混合運算"就完全無用這種說法??

你有用過SSE/MMX去implement過任何的function嗎??

有興趣的話可以直接去intel官網下載Software Developer's Manual

後出的指令集基本上都是前面的彈性擴充版本

真正在用的時候還是得看待處理的應用是什麼樣的資料和運算型態才能決定用什麼指令去implement
     
      
舊 2011-07-31, 01:36 PM #171
回應時引用此文章
alience離線中