![]() |
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)
|
|---|
請教SSE等指令集的問題
現階段市面上桌上型CPU都包含SSE 1、2、3 甚至是4.1、4.2、4a
但小弟不解的是 到底有沒有運用到SSE是軟體撰寫或編譯時決定的? 還是運行時CPU決定的? 印象中,早期甚至有軟體要求CPU一定需要有SSE2才能執行 難道SSE是需要特定"程式碼"才有效果? 可是自己寫些程式時也從未接觸到這層面 難道我現在所寫出來的東西(VS2010),完全沒利用到SSE加速? 另外,若假設公司行號的server,跑的軟體永遠相同,也都是10年前的軟體 那更換新架構來跑,就只能單純的享受到性能提升,更新更強大的指令集就完全沒有幫助? 由於小弟對此問題不瞭解 網路上找了找,也沒發現答案,所以才上來問問各路高手.. 希望高手指點~ |
回錯文,拍謝....
|
引用:
是的 ! 引用:
是的 ! SSE是需要特定"程式碼"才有效果 看來你是入門的 Programmer ? Compiler 是 將 Source code 編譯成 機械碼 已經 編譯好的 執行檔 , 其 機械碼所使用的指令集 已經固定, 如何 支援新的 指令集 ? 軟體 Source Code , compiler 及 CPU 三者都要支援 不知道 你是用 VS2010 的 哪種 computer language ? 網路搜尋的 基於SSE指令集的程序設計簡介 http://big5.webasp.net/article/9/8386.htm |
API+Compiler...
你需要額外的這兩種... 但我認為你應該接觸的不是很底層的東西... 要提升效能.. 不如去寫Multi-threading.. |
感謝兩位的說明,這樣小弟懂了
小弟用的是C#,新手剛入門.. 謝謝~ |
引用:
CLR環境... 不要浪費時間了.. 還是乖乖去改善程式的代碼結構... (這是一個OO..你要關注的是如何提升代碼的內聚力和降低耦合...) 或著改善I/O... 例如非同步I/O(需要Mutli-threading的觀念).... .NET有提供相關的非同步I/O介面可供實作.. 例如IAsyncResult... |
引用:
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。