PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 電腦硬體討論群組 > 系統組件
帳戶
密碼
 

回應
 
主題工具
ttsmarco
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年前的軟體
那更換新架構來跑,就只能單純的享受到性能提升,更新更強大的指令集就完全沒有幫助?


由於小弟對此問題不瞭解
網路上找了找,也沒發現答案,所以才上來問問各路高手..
希望高手指點~
     
      
舊 2011-10-04, 11:17 AM #1
回應時引用此文章
ttsmarco離線中  
denon3801
*停權中*
 
denon3801的大頭照
 

加入日期: Jul 2002
文章: 203
回錯文,拍謝....
 

此文章於 2011-10-04 11:49 AM 被 denon3801 編輯. 原因: 回錯文
舊 2011-10-04, 11:48 AM #2
回應時引用此文章
denon3801離線中  
idleic2
Master Member
 

加入日期: Mar 2004
您的住址: 亞洲.台灣.台北
文章: 2,054
引用:
作者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
舊 2011-10-04, 12:26 PM #3
回應時引用此文章
idleic2離線中  
vxr
Elite Member
 
vxr的大頭照
 

加入日期: May 2002
您的住址: 地球的上面..
文章: 5,854
Exclamation

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

但我認為你應該接觸的不是很底層的東西...
要提升效能..
不如去寫Multi-threading..
舊 2011-10-04, 12:42 PM #4
回應時引用此文章
vxr離線中  
ttsmarco
Power Member
 

加入日期: Jan 2003
文章: 518
感謝兩位的說明,這樣小弟懂了
小弟用的是C#,新手剛入門..

謝謝~
舊 2011-10-04, 01:18 PM #5
回應時引用此文章
ttsmarco離線中  
vxr
Elite Member
 
vxr的大頭照
 

加入日期: May 2002
您的住址: 地球的上面..
文章: 5,854
Exclamation

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

謝謝~

CLR環境...
不要浪費時間了..
還是乖乖去改善程式的代碼結構...
(這是一個OO..你要關注的是如何提升代碼的內聚力和降低耦合...)
或著改善I/O...
例如非同步I/O(需要Mutli-threading的觀念)....
.NET有提供相關的非同步I/O介面可供實作..
例如IAsyncResult...
舊 2011-10-04, 05:55 PM #6
回應時引用此文章
vxr離線中  
everspiral
Elite Member
 
everspiral的大頭照
 

加入日期: Nov 2004
您的住址: 北平西路3號
文章: 4,614
引用:
作者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等。

此文章於 2011-10-04 09:05 PM 被 everspiral 編輯.
舊 2011-10-04, 09:04 PM #7
回應時引用此文章
everspiral離線中  


回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



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


vBulletin Version 3.0.1
powered_by_vbulletin 2025。