AVX指令集實際應用是甚麼功能? - 3C
By Kristin
at 2020-07-16T00:08
at 2020-07-16T00:08
Table of Contents
※ 引述《superRKO (挖洗RKO)》之銘言:
: 小弟菜雞
: 最近看INTEL的AVX512被嘴爆了,I皇QQ
: 又看了某幾集極客灣他們介紹說烤機烤AVX,I家的U會變很燙,而A的反而不會
: 然後這幾年有聽到AVX有實際在遊戲上應用的就刺客教條-奧德賽
: 但還是想問一下這AVX指令集的實際應用到底是甚麼?
老實說這個AVX如果要認真解釋,
可能會又臭又長,
大概會99%的人會直接END。
所以我用老嫗能解的方式來稍稍亂講一下好了,
雖然還是又臭又長,但有誤請儘量鞭。
首先先回答你的問題,
AVX指令集的實際應用到底是什麼?
我想最接近問題的答案應該是:
「那些想要把CPU當GPU來用的應用」這樣
最貼近一般人會用到的軟體,
我在想應該就是PS2的模擬器PCSX2,
以及PS3的模擬器RPCS3了吧?
想當然你可能想會說,
CPU與GPU這兩種處理器,
一般在計算的資料類型上差別蠻大的。
那為什麼還要把CPU當GPU用呢?
好問題。
老實說還真的有一堆程式設計師對此感到疑惑。
但代誌不是憨人想得那麼簡單。
實際上還真的有廠商在14年前就這麼搞了,
而且產品大家都聽過。
那家先行者廠商叫SONY & Toshiba & 他愉悅的伙伴IBM,
主機的名字叫PlayStation 3。
那顆名留千史的CPU就叫Cell。
雖然上一代的PS 2裡的EE(CPU)也有類似的狀況,
但特化狀況沒像Cell這麼嚴重就是。
而且EE的特化技能樹是朝另外一邊長的這樣。
但不在這邊的討論範圍所先不提。
簡單地說就是PS3裡面那顆Cell CPU,
跟主流的x86及ARM架構相比,
在架構特性上,
跟GPGPU裡的CU單元反而比較相似,
這是由於Cell的設計,
是由一顆PPE的微處理器 + 8個SPE協同處理器結合而成。
(實際上為了良率問題只有7個SPE可用)
(但SONY又限制最後一個SPE為系統獨佔,所以實際上只能用6個)
每個SPE有128個128bit的entry register
(不知道這個entry register要怎麼翻?)
(跟x86的相比就是限制一大堆的暫存器)
SPE無法直接存取主記憶體,需透過PPE的DMA。
看到這邊,
PPE+SPE這種奇妙的組合是不是就有點像ROP與TMU的樣子呢?
所以如果遊戲開發公司如果要把PS3的性能完全發揮出來,
通常就必須進行手動調整不同SPE在執行緒上的調度,
並避免資料相依(ex:if... else)的狀況在不同SPE上頭發生。
簡單一句話:程式很很很很很難寫。
有寫過的人都會想罵髒話的程度。
當年為了cell的開發,MIT還有請IBM的人到學校開課這樣。
雖然IBM的確曾經有努力推這種架構。(?)
但大家都知道
惰性是人類進步的原動力。
對碼農來說能省則省,能懶則懶。
所以大部份遊戲對SPE的使用大多只用到3個及以下。
講了這麼多,
但Cell這個設計又與AVX有什麼關系呢?
關系可大了。
當x86架構為了要模擬PS3裡頭的Cell時,
為了要達到與SPE相同的暫存器效能,
就必須使用AVX來獲得效能的提升。
在這邊稍微離題聊一下x86 SIMD的暫存器寬度與數量:
MMX:8個64bit的暫存器(僅處理整數,而且與浮器暫存器共用)
SSE:8個128bit的通用暫存器(整數or浮點,但有小限制)
SSE2:強化後的8個128bit的通用暫存器(簡單說就是上面的限制解封)
SSE3:把SSE2的通用暫存器再強化,讓在同一暫存器內的兩個數字相加or相乘
(in x86-64)
AVX:16個256bit的通用暫存器,可用於SSE的實現與相容(128bit)
AVX2:16個256bit的通用暫存器,可用於SSE實現擴展為256bit
AVX-512:超級高大上的32個512bit的通用暫存器,並有多個變種版本
Cell SPE:128個128bit的不太通用的entry暫存器
看到這邊應該馬上就能想到。
x86為了跟上Cell PPE+SPE 這種奇妙又奇耙的架構,
由於AVX的暫存器在數量及寬度上的優勢,相較於老舊的SSE,
絕對會是比較好的設計。
所以若是CPU若能使用AVX2指令集的話,
在跑RPCS3的時候,通常會相較沒有AVX2的處理器至少多個3~5幀。
PCSX2的話就比較特別一點,
因為PCSX2對AVX2的實現,
僅在對GS(PS2的GPU)的模擬使用軟體模式時才會啟用。
也就是把CPU當GPU來用
在跑軟體模式時,
相較於沒有AVX2的處理器,也是能提高個3~5幀的效能。
總而言之。
因為模擬器這塊其實蠻常遇到把CPU當GPU用的狀況。
尤其是對那些家用主機的模擬。
所以AVX指令集在家機的模擬器上其實蠻常見的。
至於那個高大上的AVX-512的問題,
那就又是另外一回事了....
只能說我的看法跟Linus Torvalds差不多,
不太看好這個指令集就是。
--
: 小弟菜雞
: 最近看INTEL的AVX512被嘴爆了,I皇QQ
: 又看了某幾集極客灣他們介紹說烤機烤AVX,I家的U會變很燙,而A的反而不會
: 然後這幾年有聽到AVX有實際在遊戲上應用的就刺客教條-奧德賽
: 但還是想問一下這AVX指令集的實際應用到底是甚麼?
老實說這個AVX如果要認真解釋,
可能會又臭又長,
大概會99%的人會直接END。
所以我用老嫗能解的方式來稍稍亂講一下好了,
雖然還是又臭又長,但有誤請儘量鞭。
首先先回答你的問題,
AVX指令集的實際應用到底是什麼?
我想最接近問題的答案應該是:
「那些想要把CPU當GPU來用的應用」這樣
最貼近一般人會用到的軟體,
我在想應該就是PS2的模擬器PCSX2,
以及PS3的模擬器RPCS3了吧?
想當然你可能想會說,
CPU與GPU這兩種處理器,
一般在計算的資料類型上差別蠻大的。
那為什麼還要把CPU當GPU用呢?
好問題。
老實說還真的有一堆程式設計師對此感到疑惑。
但代誌不是憨人想得那麼簡單。
實際上還真的有廠商在14年前就這麼搞了,
而且產品大家都聽過。
那家先行者廠商叫SONY & Toshiba & 他愉悅的伙伴IBM,
主機的名字叫PlayStation 3。
那顆名留千史的CPU就叫Cell。
雖然上一代的PS 2裡的EE(CPU)也有類似的狀況,
但特化狀況沒像Cell這麼嚴重就是。
而且EE的特化技能樹是朝另外一邊長的這樣。
但不在這邊的討論範圍所先不提。
簡單地說就是PS3裡面那顆Cell CPU,
跟主流的x86及ARM架構相比,
在架構特性上,
跟GPGPU裡的CU單元反而比較相似,
這是由於Cell的設計,
是由一顆PPE的微處理器 + 8個SPE協同處理器結合而成。
(實際上為了良率問題只有7個SPE可用)
(但SONY又限制最後一個SPE為系統獨佔,所以實際上只能用6個)
每個SPE有128個128bit的entry register
(不知道這個entry register要怎麼翻?)
(跟x86的相比就是限制一大堆的暫存器)
SPE無法直接存取主記憶體,需透過PPE的DMA。
看到這邊,
PPE+SPE這種奇妙的組合是不是就有點像ROP與TMU的樣子呢?
所以如果遊戲開發公司如果要把PS3的性能完全發揮出來,
通常就必須進行手動調整不同SPE在執行緒上的調度,
並避免資料相依(ex:if... else)的狀況在不同SPE上頭發生。
簡單一句話:程式很很很很很難寫。
有寫過的人都會想罵髒話的程度。
當年為了cell的開發,MIT還有請IBM的人到學校開課這樣。
雖然IBM的確曾經有努力推這種架構。(?)
但大家都知道
惰性是人類進步的原動力。
對碼農來說能省則省,能懶則懶。
所以大部份遊戲對SPE的使用大多只用到3個及以下。
講了這麼多,
但Cell這個設計又與AVX有什麼關系呢?
關系可大了。
當x86架構為了要模擬PS3裡頭的Cell時,
為了要達到與SPE相同的暫存器效能,
就必須使用AVX來獲得效能的提升。
在這邊稍微離題聊一下x86 SIMD的暫存器寬度與數量:
MMX:8個64bit的暫存器(僅處理整數,而且與浮器暫存器共用)
SSE:8個128bit的通用暫存器(整數or浮點,但有小限制)
SSE2:強化後的8個128bit的通用暫存器(簡單說就是上面的限制解封)
SSE3:把SSE2的通用暫存器再強化,讓在同一暫存器內的兩個數字相加or相乘
(in x86-64)
AVX:16個256bit的通用暫存器,可用於SSE的實現與相容(128bit)
AVX2:16個256bit的通用暫存器,可用於SSE實現擴展為256bit
AVX-512:超級高大上的32個512bit的通用暫存器,並有多個變種版本
Cell SPE:128個128bit的不太通用的entry暫存器
看到這邊應該馬上就能想到。
x86為了跟上Cell PPE+SPE 這種奇妙又奇耙的架構,
由於AVX的暫存器在數量及寬度上的優勢,相較於老舊的SSE,
絕對會是比較好的設計。
所以若是CPU若能使用AVX2指令集的話,
在跑RPCS3的時候,通常會相較沒有AVX2的處理器至少多個3~5幀。
PCSX2的話就比較特別一點,
因為PCSX2對AVX2的實現,
僅在對GS(PS2的GPU)的模擬使用軟體模式時才會啟用。
也就是把CPU當GPU來用
在跑軟體模式時,
相較於沒有AVX2的處理器,也是能提高個3~5幀的效能。
總而言之。
因為模擬器這塊其實蠻常遇到把CPU當GPU用的狀況。
尤其是對那些家用主機的模擬。
所以AVX指令集在家機的模擬器上其實蠻常見的。
至於那個高大上的AVX-512的問題,
那就又是另外一回事了....
只能說我的看法跟Linus Torvalds差不多,
不太看好這個指令集就是。
--
Tags:
3C
All Comments
By Victoria
at 2020-07-19T02:44
at 2020-07-19T02:44
By Jack
at 2020-07-19T19:38
at 2020-07-19T19:38
By Charlotte
at 2020-07-20T01:38
at 2020-07-20T01:38
By Zenobia
at 2020-07-22T22:01
at 2020-07-22T22:01
By Noah
at 2020-07-25T08:20
at 2020-07-25T08:20
By Una
at 2020-07-27T17:43
at 2020-07-27T17:43
By Carol
at 2020-07-28T17:10
at 2020-07-28T17:10
By Isabella
at 2020-07-29T16:25
at 2020-07-29T16:25
By Irma
at 2020-08-02T01:40
at 2020-08-02T01:40
By Jack
at 2020-08-02T09:21
at 2020-08-02T09:21
By Quintina
at 2020-08-07T07:44
at 2020-08-07T07:44
By Edith
at 2020-08-11T14:57
at 2020-08-11T14:57
By Xanthe
at 2020-08-13T16:28
at 2020-08-13T16:28
By Iris
at 2020-08-13T20:11
at 2020-08-13T20:11
By Rae
at 2020-08-18T16:50
at 2020-08-18T16:50
By Aaliyah
at 2020-08-21T04:36
at 2020-08-21T04:36
By Leila
at 2020-08-25T04:58
at 2020-08-25T04:58
By Agnes
at 2020-08-27T15:17
at 2020-08-27T15:17
By Hamiltion
at 2020-08-30T16:34
at 2020-08-30T16:34
By Skylar Davis
at 2020-09-01T01:17
at 2020-09-01T01:17
By Suhail Hany
at 2020-09-04T06:15
at 2020-09-04T06:15
By Skylar Davis
at 2020-09-06T18:11
at 2020-09-06T18:11
By Regina
at 2020-09-11T12:13
at 2020-09-11T12:13
By Donna
at 2020-09-13T06:53
at 2020-09-13T06:53
By Irma
at 2020-09-16T14:58
at 2020-09-16T14:58
By Ina
at 2020-09-18T02:50
at 2020-09-18T02:50
By Hedda
at 2020-09-21T10:33
at 2020-09-21T10:33
By Poppy
at 2020-09-25T20:00
at 2020-09-25T20:00
By Emma
at 2020-09-29T23:07
at 2020-09-29T23:07
By Odelette
at 2020-10-01T03:27
at 2020-10-01T03:27
By Sandy
at 2020-10-05T23:48
at 2020-10-05T23:48
By Lucy
at 2020-10-09T23:18
at 2020-10-09T23:18
By Dora
at 2020-10-11T20:29
at 2020-10-11T20:29
By Rosalind
at 2020-10-14T21:21
at 2020-10-14T21:21
By Belly
at 2020-10-15T12:48
at 2020-10-15T12:48
By Sandy
at 2020-10-16T08:48
at 2020-10-16T08:48
By Olivia
at 2020-10-20T06:27
at 2020-10-20T06:27
By Charlotte
at 2020-10-22T13:50
at 2020-10-22T13:50
By Hardy
at 2020-10-26T09:04
at 2020-10-26T09:04
By Una
at 2020-10-30T03:46
at 2020-10-30T03:46
By Faithe
at 2020-10-30T09:30
at 2020-10-30T09:30
By Madame
at 2020-11-01T11:52
at 2020-11-01T11:52
By Frederic
at 2020-11-05T17:30
at 2020-11-05T17:30
By Jack
at 2020-11-09T19:49
at 2020-11-09T19:49
By Adele
at 2020-11-14T16:56
at 2020-11-14T16:56
By Joe
at 2020-11-19T10:38
at 2020-11-19T10:38
By Yedda
at 2020-11-23T19:16
at 2020-11-23T19:16
By Adele
at 2020-11-26T19:08
at 2020-11-26T19:08
By Barb Cronin
at 2020-11-29T22:47
at 2020-11-29T22:47
By Hazel
at 2020-12-02T02:06
at 2020-12-02T02:06
By Ula
at 2020-12-05T02:34
at 2020-12-05T02:34
By Blanche
at 2020-12-08T10:17
at 2020-12-08T10:17
By Catherine
at 2020-12-10T03:31
at 2020-12-10T03:31
By Noah
at 2020-12-14T09:58
at 2020-12-14T09:58
By Skylar Davis
at 2020-12-19T08:24
at 2020-12-19T08:24
By Ula
at 2020-12-22T11:16
at 2020-12-22T11:16
By Annie
at 2020-12-25T18:10
at 2020-12-25T18:10
By Annie
at 2020-12-26T10:51
at 2020-12-26T10:51
By Sierra Rose
at 2020-12-29T15:17
at 2020-12-29T15:17
By Yuri
at 2020-12-31T18:42
at 2020-12-31T18:42
By David
at 2021-01-01T16:18
at 2021-01-01T16:18
By Adele
at 2021-01-02T05:17
at 2021-01-02T05:17
By Hazel
at 2021-01-03T19:52
at 2021-01-03T19:52
By Iris
at 2021-01-05T05:07
at 2021-01-05T05:07
By Delia
at 2021-01-07T02:16
at 2021-01-07T02:16
By Joseph
at 2021-01-10T23:28
at 2021-01-10T23:28
By Necoo
at 2021-01-15T04:27
at 2021-01-15T04:27
By Emily
at 2021-01-16T19:40
at 2021-01-16T19:40
By Margaret
at 2021-01-20T01:51
at 2021-01-20T01:51
By Puput
at 2021-01-23T10:16
at 2021-01-23T10:16
By Zora
at 2021-01-24T16:48
at 2021-01-24T16:48
By Andrew
at 2021-01-26T18:22
at 2021-01-26T18:22
By Agnes
at 2021-01-28T09:39
at 2021-01-28T09:39
By Dorothy
at 2021-01-30T20:03
at 2021-01-30T20:03
By Genevieve
at 2021-02-01T05:35
at 2021-02-01T05:35
By Christine
at 2021-02-04T15:11
at 2021-02-04T15:11
By Christine
at 2021-02-08T11:29
at 2021-02-08T11:29
By Damian
at 2021-02-11T05:27
at 2021-02-11T05:27
By Frederic
at 2021-02-14T06:01
at 2021-02-14T06:01
By Regina
at 2021-02-19T05:11
at 2021-02-19T05:11
By Audriana
at 2021-02-22T11:47
at 2021-02-22T11:47
By James
at 2021-02-24T23:27
at 2021-02-24T23:27
By Elma
at 2021-02-26T10:39
at 2021-02-26T10:39
By Rachel
at 2021-03-02T14:42
at 2021-03-02T14:42
By Harry
at 2021-03-03T08:46
at 2021-03-03T08:46
By Emily
at 2021-03-08T08:34
at 2021-03-08T08:34
By Vanessa
at 2021-03-09T09:28
at 2021-03-09T09:28
By Valerie
at 2021-03-11T19:52
at 2021-03-11T19:52
By Frederic
at 2021-03-14T03:17
at 2021-03-14T03:17
By Doris
at 2021-03-15T09:38
at 2021-03-15T09:38
By Margaret
at 2021-03-17T19:37
at 2021-03-17T19:37
By Franklin
at 2021-03-20T22:41
at 2021-03-20T22:41
By Candice
at 2021-03-25T04:33
at 2021-03-25T04:33
By Dorothy
at 2021-03-27T14:37
at 2021-03-27T14:37
By Hazel
at 2021-03-28T12:45
at 2021-03-28T12:45
By Sierra Rose
at 2021-03-29T10:10
at 2021-03-29T10:10
By Bennie
at 2021-04-02T16:00
at 2021-04-02T16:00
By Kristin
at 2021-04-02T21:24
at 2021-04-02T21:24
By Franklin
at 2021-04-03T00:25
at 2021-04-03T00:25
By Dora
at 2021-04-04T03:58
at 2021-04-04T03:58
By Yedda
at 2021-04-05T17:25
at 2021-04-05T17:25
By Lily
at 2021-04-08T07:21
at 2021-04-08T07:21
By Edwina
at 2021-04-10T19:58
at 2021-04-10T19:58
By Madame
at 2021-04-12T08:52
at 2021-04-12T08:52
By Elvira
at 2021-04-17T07:57
at 2021-04-17T07:57
By Victoria
at 2021-04-21T16:46
at 2021-04-21T16:46
By Damian
at 2021-04-25T23:36
at 2021-04-25T23:36
By Isabella
at 2021-04-30T04:51
at 2021-04-30T04:51
By Edward Lewis
at 2021-05-01T10:58
at 2021-05-01T10:58
By Liam
at 2021-05-02T13:46
at 2021-05-02T13:46
By Hedda
at 2021-05-06T06:52
at 2021-05-06T06:52
By Joe
at 2021-05-07T03:51
at 2021-05-07T03:51
By Linda
at 2021-05-08T00:07
at 2021-05-08T00:07
By Cara
at 2021-05-08T20:10
at 2021-05-08T20:10
By Olive
at 2021-05-13T01:57
at 2021-05-13T01:57
By Noah
at 2021-05-14T08:17
at 2021-05-14T08:17
By Quintina
at 2021-05-16T06:18
at 2021-05-16T06:18
By Dinah
at 2021-05-16T18:50
at 2021-05-16T18:50
By Brianna
at 2021-05-20T20:19
at 2021-05-20T20:19
By Jessica
at 2021-05-21T23:37
at 2021-05-21T23:37
By Ula
at 2021-05-22T14:21
at 2021-05-22T14:21
By Olga
at 2021-05-23T10:50
at 2021-05-23T10:50
By Delia
at 2021-05-25T22:43
at 2021-05-25T22:43
By Connor
at 2021-05-28T14:01
at 2021-05-28T14:01
By Necoo
at 2021-05-29T02:44
at 2021-05-29T02:44
By Sarah
at 2021-05-30T05:09
at 2021-05-30T05:09
By Agnes
at 2021-05-30T10:10
at 2021-05-30T10:10
By Odelette
at 2021-06-03T03:46
at 2021-06-03T03:46
By Anonymous
at 2021-06-03T13:27
at 2021-06-03T13:27
By Hedwig
at 2021-06-07T05:16
at 2021-06-07T05:16
By Hamiltion
at 2021-06-09T09:50
at 2021-06-09T09:50
By Agnes
at 2021-06-11T16:03
at 2021-06-11T16:03
By Jacob
at 2021-06-14T23:51
at 2021-06-14T23:51
By Ethan
at 2021-06-19T10:27
at 2021-06-19T10:27
By Hamiltion
at 2021-06-21T03:12
at 2021-06-21T03:12
By Lucy
at 2021-06-25T20:03
at 2021-06-25T20:03
By Sierra Rose
at 2021-06-28T03:00
at 2021-06-28T03:00
By Annie
at 2021-06-30T13:09
at 2021-06-30T13:09
Related Posts
AMD發布Adrenalin2020 20.7.2提升8%性能
By Mason
at 2020-07-16T00:04
at 2020-07-16T00:04
JEDEC正式發布DDR5規範,將有DDR5-6400
By Gilbert
at 2020-07-16T00:03
at 2020-07-16T00:03
Micron通過技術支援計劃,推DDR5記憶體
By Oliver
at 2020-07-16T00:03
at 2020-07-16T00:03
美光 MX500 B500系列 SSD 下殺
By David
at 2020-07-16T00:03
at 2020-07-16T00:03
華擎主板系列送限量T B365降價
By Olivia
at 2020-07-16T00:03
at 2020-07-16T00:03