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

回到   PCDVD數位科技討論區 > 其他群組 > 七嘴八舌異言堂
帳戶
密碼
 

  回應
 
主題工具
Hermit Crab
Golden Member
 

加入日期: Oct 2017
您的住址: 象山公園
文章: 2,817
引用:
作者sparc10
從CPU架構的角度看,用為什麼AMD相對Intel的CPU表現高分低能?
https://www.zhihu.com/question/3034...nswer/543505194


以前(約10年前)AMD有指控過是編譯器compiler優化的問題,現在情況不知道.
     
      
舊 2019-05-30, 07:48 AM #81
回應時引用此文章
Hermit Crab離線中  
bureia
Golden Member
 

加入日期: Dec 2001
文章: 2,930
引用:
作者Hermit Crab
以前(約10年前)AMD有指控過是編譯器compiler優化的問題,現在情況不知道.

之前在站上有談過,狀況是當時intel compiler會偵測非intel的CPU然後只能跑最保守的代碼。

其實照規矩應該用CPUID確認功能有沒有支援就可以,不該偵測品牌
記得後來intel compiler把偵測品牌的步驟拿掉了

那篇作者是在討論兩家CPU架構設計上的不同,他的論點我的解讀是
intel有專門強化AVX的運算效能,然後AMD的AVX其實是2個SSE拼出來的,
所以AMD的AVX效能比intel差很多

然後兩家在SSE跟基本x86指令的效能差不多,但是AMD給的資源比較多(較多核心、HT等)
所以跑分跑起來AMD得分較高

但是軟體有對AVX最佳化的話,intel的效能會高出AMD一截
如果只用SSE跟基本x86指令的話AMD會吃香一點,不過他也說這種軟體對多核心支援
通常不佳,那AMD的多核跟HT也佔不到多大便宜
 
舊 2019-05-30, 08:44 AM #82
回應時引用此文章
bureia離線中  
Hermit Crab
Golden Member
 

加入日期: Oct 2017
您的住址: 象山公園
文章: 2,817
鐵錘社也覺得3900X真香!

Best CPU: AMD Ryzen 9 3900 X
舊 2019-05-30, 08:50 AM #83
回應時引用此文章
Hermit Crab離線中  
拿破崙波拿巴
*停權中*
 
拿破崙波拿巴的大頭照
 

加入日期: Dec 2018
文章: 53
引用:
作者bureia
之前在站上有談過,狀況是當時intel compiler會偵測非intel的CPU然後只能跑最保守的代碼。

其實照規矩應該用CPUID確認功能有沒有支援就可以,不該偵測品牌
記得後來intel compiler把偵測品牌的步驟拿掉了

那篇作者是在討論兩家CPU架構設計上的不同,他的論點我的解讀是
intel有專門強化AVX的運算效能,然後AMD的AVX其實是2個SSE拼出來的,
所以AMD的AVX效能比intel差很多

然後兩家在SSE跟基本x86指令的效能差不多,但是AMD給的資源比較多(較多核心、HT等)
所以跑分跑起來AMD得分較高

但是軟體有對AVX最佳化的話,intel的效能會高出AMD一截
如果只用SSE跟基本x86指令的話AMD會吃香一點,不過他也說這種軟體對多核心支援
通常不佳,那AMD的多核跟HT也佔不到多大便宜


我覺得那個人是白ㄘ

這個東西我剛看爛而已,所以我很清楚 會這樣講的 代表說的人 根本看不懂 opcode 也不知道指令集到底是什麼東西

你說的 軟體有對AVX最佳化 光這個就打槍打到死

編譯的時候 指令已經編在軟體裡面了 還有 軟體有對AVX最佳化 這種說法? 代表根本就是不懂裝懂

「AMD的AVX其實是2個SSE拼出來的」?
那 AMD 的 CPU 也跟我寫的東西一樣 用模擬出來的嗎

為什麼會說 AVX 比 SSE 指令集效能更好,那我跟你說 不一定

AVX 有包含 VEX 編碼的 SSE 指令 說 AVX 效能比 SSE 好,是指 SSE 指令只有2到3個操作數
AVX VEX 版本 編碼的 SSE 指令可以有 3-4個操作數,

我舉個例就好了
https://www.felixcloutier.com/x86/palignr

SSSE3 的指令 PALIGNR

SSSE3 版本:
PALIGNR xmm1, xmm2, imm8
modrm.reg / modrm.r/m imm8 共計三個操作數

opcode 佔用 6 byte
66 0F 3A 0F C2 01


AVX (VEX) 編碼版本:
(V)PALIGNR xmm1, xmm2, xmm3, imm8

modrm.reg / vex.v / modrm.r/m imm8 共計四個操作數

opcode 佔用 5或6 byte
C4 XX XX 0F XX 01

C5 XX 0F XX 01

說好壞是只同一個指令 AVX 版本 比 SSE 版本 佔用比較少的 Byte。
另外 AVX 還有 VEX.256 的版本 可以一次處理 32 byte 的資料 一次搞定
SSE 版本最多只有 128-bit 只能處理 16-byte 好就好在這裡而已

舊 2019-05-30, 07:18 PM #84
回應時引用此文章
拿破崙波拿巴離線中  
bureia
Golden Member
 

加入日期: Dec 2001
文章: 2,930
引用:
作者拿破崙波拿巴
這個東西我剛看爛而已,所以我很清楚 會這樣講的 代表說的人 根本看不懂 opcode 也不知道指令集到底是什麼東西

你說的 軟體有對AVX最佳化 光這個就打槍打到死

編譯的時候 指令已經編在軟體裡面了 還有 軟體有對AVX最佳化 這種說法? 代表根本就是不懂裝懂

「AMD的AVX其實是2個SSE拼出來的」?
那 AMD 的 CPU 也跟我寫的東西一樣 用模擬出來的嗎

為什麼會說 AVX 比 SSE 指令集效能更好,那我跟你說 不一定

AVX 有包含 VEX 編碼的 SSE 指令 說 AVX 效能比 SSE 好,是指 SSE 指令只有2到3個操作數
AVX VEX 版本 編碼的 SSE 指令可以有 3-4個操作數,

我懷疑你真的了解MMX、SSE、AVX是拿來幹嘛的嗎......
舊 2019-05-30, 07:27 PM #85
回應時引用此文章
bureia離線中  
拿破崙波拿巴
*停權中*
 
拿破崙波拿巴的大頭照
 

加入日期: Dec 2018
文章: 53
引用:
作者bureia
我懷疑你真的了解MMX、SSE、AVX是拿來幹嘛的嗎......


大多數的指令是用來運算浮點的

我就跟你說我真的看爛了 也把 AVX 指令集全部模擬出來了 我會比你更不了解?

https://www.pcdvd.com.tw/showthread.php?t=1162289


指令集是給 CPU 讀取 做運算的
有支援 CPU 就看得懂
不支援 CPU 就看不懂 直接 UD 代碼異常

指令集 在你編譯程式後 就邊在 binary 代碼段裡面了 還有什麼軟體對 AVX 最佳化的說法 根本就是在鬼扯
舊 2019-05-30, 07:42 PM #86
回應時引用此文章
拿破崙波拿巴離線中  
teraflare
Senior Member
 
teraflare的大頭照
 

加入日期: Sep 2006
文章: 1,092
遊戲黨只要不是 4K//HDR//特效等等

2020前好遊戲還是可以玩得不錯

(ivy bridge 3770 +GTX 970)

雖然很想 PS5是怎麼樣

因為喜歡可以MOD的PC GAME

明年可能會組一台吧
舊 2019-05-30, 07:55 PM #87
回應時引用此文章
teraflare離線中  
michaelweng
Regular Member
 

加入日期: Jun 2004
文章: 79
引用:
作者risc_bar
用那個很合理阿,沒需求為什麼需要升級
我還在用Athlon X4 640
沒錯,10年前發新聞稿的CPU
還是用的好好的,為什麼要升級


我辦公桌上還在用AM2-7750
只有每年休年假時換硬碟避免臨時壞掉

顯示卡壞過3次,
前2次保固內從9600GT/512M升級9800GT1G升級GTS450/1G
第3次壞掉換了R7750/1G到現在

其他部分它不壞我也就不換了....
舊 2019-05-30, 07:56 PM #88
回應時引用此文章
michaelweng離線中  
bureia
Golden Member
 

加入日期: Dec 2001
文章: 2,930
引用:
作者拿破崙波拿巴
大多數的指令是用來運算浮點的

我就跟你說我真的看爛了 也把 AVX 指令集全部模擬出來了 我會比你更不了解?

https://www.pcdvd.com.tw/showthread.php?t=1162289


指令集是給 CPU 讀取 做運算的
有支援 CPU 就看得懂
不支援 CPU 就看不懂 直接 UD 代碼異常

指令集 在你編譯程式後 就邊在 binary 代碼段裡面了 還有什麼軟體對 AVX 最佳化的說法 根本就是在鬼扯

MMX是算浮點數的......你不要搞笑好嗎

先簡短解釋看看你舉的PALIGNR指令是拿來做什麼的吧

此文章於 2019-05-30 07:59 PM 被 bureia 編輯.
舊 2019-05-30, 07:57 PM #89
回應時引用此文章
bureia離線中  
野口隆史
Elite Member
 
野口隆史的大頭照
 

加入日期: Mar 2001
您的住址: Rivia
文章: 7,051
引用:
作者bureia
之前在站上有談過,狀況是當時intel compiler會偵測非intel的CPU然後只能跑最保守的代碼。

其實照規矩應該用CPUID確認功能有沒有支援就可以,不該偵測品牌
記得後來intel compiler把偵測品牌的步驟拿掉了

那篇作者是在討論兩家CPU架構設計上的不同,他的論點我的解讀是
intel有專門強化AVX的運算效能,然後AMD的AVX其實是2個SSE拼出來的,
所以AMD的AVX效能比intel差很多

然後兩家在SSE跟基本x86指令的效能差不多,但是AMD給的資源比較多(較多核心、HT等)
所以跑分跑起來AMD得分較高

但是軟體有對AVX最佳化的話,intel的效能會高出AMD一截
如果只用SSE跟基本x86指令的話AMD會吃香一點,不過他也說這種軟體對多核心支援
通常不佳,那AMD的多核跟HT也佔不到多大便宜

我不曉得 ICC 最後有沒有拿掉這個所謂的偵測 CPU 品牌
但事實是你最高參數,優化開關全開
編譯出來的程式,在 AMD 平台上是跑都不能跑的
INTEL 工程師本來就只需要關心自己家的 CPU 規格
他們沒有義務去理解還有一併支援 AMD 的 CPU
使用 ICC 是要付費購買的,而且還不便宜
ICC 從來沒有宣傳可以用優化 AMD CPU

我不知道 INTEL 有沒有去限制偵測 CPU 廠牌
但如過你熟 AMD 規格還有 ICC 參數設定
只使用 AMD 真正有確定支援的參數跟開關
那 ICC 編譯出來的程式,一樣可以在 AMD 平台上正常的跑
老實說會覺得這是個問題的人,就算 INTEL 不偵測 CPU 廠牌
最重要的核心問題還是存在,並沒有降低任何上手的門檻
__________________
Folding@home with GPGPU集中討論串

Unix Review: ArchLinuxSabayonOpenSolaris 2008.5Ubuntu 8.10
AVs Review: GDTCAntiVir SSESSKIS 09NIS 09Norton 360 V3

I Always Get What I Want.
舊 2019-05-30, 08:00 PM #90
回應時引用此文章
野口隆史離線中  


    回應


POPIN
主題工具

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

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



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


vBulletin Version 3.0.1
powered_by_vbulletin 2025。