Nežli se pustíme do dnešní recenze grafické karty Asus Strix RX 480 O8G Gaming, pojďme se nejdříve podívat na to, co nám nová architektura grafických karet Polaris (GCN 4.0) společnosti AMD vlastně vůbec přináší.
Frontend
Každý grafický čip musí nějaká data přijímat, následně rozdělovat úkoly a řídit práci podřízených jednotek. Tuto činnost má na starosti Frontend grafického čipu, který je u architektury GCN tvořen jednak jednotkou Graphics Command Processor (GCP), ale také jednotkami Asynchronous Compute Engines (ACE) a DMA Engines. Zatímco GCP je odpovědný za řízení práce úloh grafických (grafické shadery či řízení fixních jednotek), ACE jednotky se starají o úlohy výpočetních (Compute Shaders) a nakonec DMA Engines pak o příkazy kopírovací z/do grafické paměti.
Jednotky GCP, ACE i DMA jsou na sobě nezávislé a mohou tedy využívat výpočetních jednotek současně bez nutnosti jejich přepínání (Context Switch). Toto souběžné zpracování grafický a výpočetních úloh je nazýváno Asynchronous Shading a je využito zejména v nových nízkoúrovňových API jako je DirectX 12, Vulkan nebo Metal.
Od třetí generace GCN jsou pak součástí frontendu také dvě programovatelné jednotky Hardware Sheduler (HWS), které virtualizují výpočetní fronty (Compute Queue) a přiřazují je podle vytížení konkrétním jednotkám ACE. Počet výpočetních front, pomocí kterých jsou na GPU zasílány výpočetní úlohy, tak není pevně daný, ale díky HWS jich může být využito v libovolném počtu.
Shader Engine
Grafický čip Polaris 10 se skládá celkem ze čtyř jednotek Shader Engine (SE), kde každá jednotka SE představuje jakousi kompletní grafickou pipeline, kde se 3D primitiva přeměňují v pixely, ze kterých je pak složen hotový snímek.
Každý SE obsahuje Geometry Processor nové generace, Rasterizační jednotku a v případě plnohodnotného grafického čipu Polaris 10 pak také devět výpočetních jednotek s názvem Compute Units (CU).
Výpočetní jednotka CU se (krom jiného) skládá z celkem 64 ALU (4x SIMD) a jednoho skalárního ALU, 16 KB L1 Cache a také čtyř jednotek Texture Mapping Units (TMU), které využívají shadery k bezstarostnější práci s texturami, nebo raději 2D obrázky obecně. V případě devíti jednotek CU pak SE disponuje 576 Stream procesory a 36 jednotkami TMU.
Teoreticky se tedy každá jednotka SE na vstupu může postarat o jeden primitivní trojúhelník (Triangle) v jednom taktu a jeho výstupem jsou pak pixely, které jsou finalizovány (Bending, Z buffering atd.) a zapisovány do framebufferu pomocí jednotek Render Backend (RB), kterých SE obsahuje celkem 2. V případě GCN má pak každá jednotka RB výkon 4 pixelů/takt, takže při počtu 2x RB/SE pak 8 pixelů na takt. Protože rasterizér může ve špičkách dodávat až 16 pixelů/takt, vzniká zde takový malý nepoměr v neprospěch RB jednotek, kterých by mělo být teoreticky 2x více.
Pokud víme, co vše obsahuje jeden blok SE, vlastně také víme, co obsahuje celý grafický čip Polaris 10, který má v plné konfiguraci takovýchto SE bloků celou čtveřici.
- SE: 4x
- CU: 36x
- SP: 2304x
- TMUs: 144x
- ROPs: 32x (8x RB)
Grafický čip pak disponuje osmi 32-bit řadiči paměti (256-bit celkem) a L2 Cache o velikosti 2 MB. Podporovány jsou paměti typu GDDR5.
Specifikace
|
RX 480 |
RX 470 |
R9 380X |
R9 380 |
Chip |
Ellesmere XT |
Ellesmere PRO |
Antigua XT |
Antigua PRO |
SP |
2304 |
2048 |
2048 |
1792 |
TMUs |
144 |
128 |
128 |
112 |
ROPs |
32 |
32 |
32 |
32 |
GPU Clock |
1266 MHz |
1206 MHz |
970 MHz |
970 MHz |
VRAM Clock |
8 Gbps
GDDR5X |
6.6 Gbps
GDDR5 |
5.7 Gbps
GDDR5 |
5.5 Gbps
GDDR5 |
VRAM Bus |
256-bit |
256-bit |
256-bit |
256-bit |
TDP |
150 W |
120 W |
190 W |
190 W |
Transistors |
5.7B |
5.7B |
5B |
5B |
Process |
14nm FinFET |
14nm FinFET |
28nm |
28nm |
Jak můžete vidět, podobně jako u konkurence, ani v případě AMD a jejich nových grafických čipů Polaris se jejich architektura nijak převratně nezměnila. Každopádně, díky nižšímu výrobnímu procesu 14 nm s podporou FinFET tranzistorů došlo na zmenšení plochy čipu, navýšení frekvence a jistě také snížení spotřeby.