![]() |
||
Golden Member
![]() ![]() ![]() ![]() 加入日期: Dec 2001
文章: 2,906
|
SSE指令集的XMM暫存器算整數or浮點單元?
還蠻好奇AMD推土機架構的2組整數處理單元,1組浮點處理單元是什麼意思
是說傳統通用暫存器如EAX等有2組可用, x87 FPU就1組嗎? 這樣還蠻好理解的,MMX的暫存器又是x87暫存器的別名,所以是1組 可是SSE的XMM暫存器又跟2者無關,是獨立的 雖說SSE本來是處理浮點數用的,但SSE2以後已經加進整數處理, 所以SSE指令集基本上已經可以取代傳統的x86跟x87的數值運算功能, 記得以前看過Intel的x86 programming guide有寫建議說, 數值運算盡量使用SSE處理,傳統的通用暫存器就拿來定址用 如果大多的軟體都依Intel推薦的方式撰寫, 那AMD推土機架構每模組只有一組SSE單元的話,效能會低下是可理解的 只是好像沒什麼資料提到,有人有研究過的嗎? ![]() |
|||||||
![]() |
![]() |
Advance Member
![]() ![]() 加入日期: Jun 2013
文章: 416
|
sse mmx 效能都不好
只有用在特殊的矩陣或是多數組同算法的運算 才有效果 像是3D轉換 色彩轉換等等 用來做一般運算只會減低效能 所以要不就那書胡扯 不然就是你會錯意了 99.99%的程式都不會用到這些東西的 |
||
![]() |
![]() |
Golden Member
![]() ![]() ![]() ![]() 加入日期: Dec 2001
文章: 2,906
|
引用:
當時是Pentium 4的時代,因為P4效能弱但是有對SSE2的執行最佳化, 是有傳說Intel鼓勵用SSE指令撰寫程式 剛剛又去Intel官網抓文件看,但是沒找到這樣的說明, 可能是我搞錯 ![]() 不過主要想知道的是推土機架構的SSE單元究竟是幾組? ![]() ![]() |
|
![]() |
![]() |
Master Member
![]() ![]() ![]() ![]() 加入日期: Oct 2000 您的住址: 約束の地
文章: 1,770
|
引用:
SSE指令集那些的 我覺得能提昇程式的效率真的有限... 還是會喜歡看實際CPU的處理效能 目前推土機的架構為模塊化設計 (二個運算核心構成一個推土機模塊並共用一組FPU) 實際上來看 推土機在單一整數運算器/浮點運算器 和上個世代的K10.5架構PhenomII相比 都有下降一些效能 僅比較推土機和PhenomII的單一核心的整數運算or浮點運算能力 推土機多少都會輸... 在每一個運算核心中的ALU(Arithmetic Logical Unit 算數邏輯單元) 以及AGU(Address Generation Units 地址生成單元) 相較於PhenomII核心數量都縮減了一些 ![]() 推土機架構這樣的設計 更需要依靠高時脈、程式優化...等來彌補 雖然說這樣的新架構設計獲得各方的褒貶不一 但單核心效能下降...就是不爭的事實 所以...這也是從PhenomII後 我這幾年都沒再買AMD CPU的原因了 看看2016年它的K12架構到時候能端出什麼牛肉吧 此文章於 2013-08-08 02:54 PM 被 Technology 編輯. |
|
![]() |
![]() |
Golden Member
![]() ![]() ![]() ![]() 加入日期: Dec 2001
文章: 2,906
|
引用:
哈,看來SSE指令集並沒有我想像的重要 ![]() 看了您貼的圖, 又找了一些東西翻翻,看來AVX指令集是由那2個128-bit FMAC負責處理, 因為AVX是SSE的擴充,所以SSE應該也是由這邊處理,所以算在FPU單元裡面 |
|
![]() |
![]() |
Master Member
![]() ![]() ![]() ![]() 加入日期: Oct 2000 您的住址: 約束の地
文章: 1,770
|
引用:
推土機這種架構 如果程式可以高度支援多執行緒 應該是會有優勢 但實際上的情況 目前能充分利用多執行緒的程式有限 單緒效能高才是根本 不過,照PTT上那位obov大之前爆料的內容 推土機架構大概再玩個1、2代就會消失 他是說: 現在intel單核IPC(Instructions per cycle)大約是AMD的1.8倍 AMD"目標"是2016拿出這等級的產品 也就是到時候傳說的K12架構會走向intel高IPC+HT的設計 有興趣的話可以去PTT翻那位obov大的文 ![]() 此文章於 2013-08-08 04:50 PM 被 Technology 編輯. |
|
![]() |
![]() |