PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   系統組件 (https://www.pcdvd.com.tw/forumdisplay.php?f=19)
-   -   請教SSE等指令集的問題 (https://www.pcdvd.com.tw/showthread.php?t=944049)

ttsmarco 2011-10-04 11:17 AM

請教SSE等指令集的問題
 
現階段市面上桌上型CPU都包含SSE 1、2、3 甚至是4.1、4.2、4a
但小弟不解的是
到底有沒有運用到SSE是軟體撰寫或編譯時決定的? 還是運行時CPU決定的?

印象中,早期甚至有軟體要求CPU一定需要有SSE2才能執行
難道SSE是需要特定"程式碼"才有效果?
可是自己寫些程式時也從未接觸到這層面
難道我現在所寫出來的東西(VS2010),完全沒利用到SSE加速?

另外,若假設公司行號的server,跑的軟體永遠相同,也都是10年前的軟體
那更換新架構來跑,就只能單純的享受到性能提升,更新更強大的指令集就完全沒有幫助?


由於小弟對此問題不瞭解
網路上找了找,也沒發現答案,所以才上來問問各路高手..
希望高手指點~

denon3801 2011-10-04 11:48 AM

回錯文,拍謝....

idleic2 2011-10-04 12:26 PM

引用:
作者ttsmarco
另外,若假設公司行號的server,跑的軟體永遠相同,也都是10年前的軟體
那更換新架構來跑,就只能單純的享受到性能提升,更新更強大的指令集就完全沒有幫助?

是的 !

引用:
作者ttsmarco
現階段市面上桌上型CPU都包含SSE 1、2、3 甚至是4.1、4.2、4a
但小弟不解的是
到底有沒有運用到SSE是軟體撰寫或編譯時決定的? 還是運行時CPU決定的?

印象中,早期甚至有軟體要求CPU一定需要有SSE2才能執行
難道SSE是需要特定"程式碼"才有效果?
可是自己寫些程式時也從未接觸到這層面
難道我現在所寫出來的東西(VS2010),完全沒利用到SSE加速?

是的 !
SSE是需要特定"程式碼"才有效果

看來你是入門的 Programmer ?
Compiler 是 將 Source code 編譯成 機械碼
已經 編譯好的 執行檔 , 其 機械碼所使用的指令集 已經固定,
如何 支援新的 指令集 ?

軟體 Source Code , compiler 及 CPU 三者都要支援

不知道 你是用 VS2010 的 哪種 computer language ?
網路搜尋的
基於SSE指令集的程序設計簡介
http://big5.webasp.net/article/9/8386.htm

vxr 2011-10-04 12:42 PM

API+Compiler...
你需要額外的這兩種...

但我認為你應該接觸的不是很底層的東西...
要提升效能..
不如去寫Multi-threading..

ttsmarco 2011-10-04 01:18 PM

感謝兩位的說明,這樣小弟懂了
小弟用的是C#,新手剛入門..

謝謝~

vxr 2011-10-04 05:55 PM

引用:
作者ttsmarco
感謝兩位的說明,這樣小弟懂了
小弟用的是C#,新手剛入門..

謝謝~

CLR環境...
不要浪費時間了..
還是乖乖去改善程式的代碼結構...
(這是一個OO..你要關注的是如何提升代碼的內聚力和降低耦合...)
或著改善I/O...
例如非同步I/O(需要Mutli-threading的觀念)....
.NET有提供相關的非同步I/O介面可供實作..
例如IAsyncResult...

everspiral 2011-10-04 09:04 PM

引用:
作者ttsmarco
現階段市面上桌上型CPU都包含SSE 1、2、3 甚至是4.1、4.2、4a
但小弟不解的是
到底有沒有運用到SSE是軟體撰寫或編譯時決定的? 還是運行時CPU決定的?

印象中,早期甚至有軟體要求CPU一定需要有SSE2才能執行
難道SSE是需要特定"程式碼"才有效果?
可是自己寫些程式時也從未接觸到這層面
難道我現在所寫出來的東西(VS2010),完全沒利用到SSE加速?

另外,若假設公司行號的server,跑的軟體永遠相同,也都是10年前的軟體
那更換新架構來跑,就只能單純的享受到性能提升,更新更強大的指令集就完全沒有幫助?


由於小弟對此問題不瞭解
網路上找了找,也沒發現答案,所以才上來問問各路高手..
希望高手指點~



SSE 4A 這個指令可以無視了, SSE4的優勢目前只有在intel的Core處理器上

推土機的SSE4性能目前還是未知數



SEE4主要強化處理器在圖形、3D圖像與游戲、視頻編碼與影音處理等方面的性能表現

SSE4.1增加了2個不同的32Bit向量整數乘法運算單元,並加入8位無符號(Unsigned)最小值及最大值運算,以及16Bit及32Bit有符號 (Signed) 運算,改善編譯器效率及提高向量化整數及單精度代碼的運算能力。單精度、雙精度浮點運算及浮點產生操作,插入、提取、尋找、離散、跨步負載及存儲等動作大大減少延誤且IEEE 754指令 (Nearest, -Inf, +Inf, and Truncate) 可立即轉換其路徑模式


SSE4.2指令集可加速XML分析效能的STTNI指令、專門取代迴圈冗餘校正的CRC32指令、可提升DNA基因比對及語音識別等應用性能的POPCNT指令,STTNI(字符串文本新指令)和ATA(面向應用的加速器)加速比可以達到6.5~18.6倍,據Intel表示,新指令可以在XML分析方面取得3.8倍的性能提升。


開發工具有:Intel C++ Compiler 10.X、微軟的Visual Studio 2008 VC++、GCC 4.3.1、Sun Studio Express等。


所有的時間均為GMT +8。 現在的時間是03:45 AM.

vBulletin Version 3.0.1
powered_by_vbulletin 2025。