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