AMD torna al grande chip monolitico

Ecco i test della Radeon R9 290X, la nuova scheda di video di punta di casa AMD. Abbiamo eseguito prove a singola GPU, dual-GPU, 4K e anche a 7680x1440. Tutti i dettagli sulla GPU Hawaii con 6,2 miliardi di transistor.

Avatar di Tom's Hardware

a cura di Tom's Hardware

AMD torna al grande chip monolitico

Nel 2007 AMD ha alterato la sua strategia di sviluppo delle GPU, passando da grandi soluzioni monolitiche a un progetto più scalabile. L'azienda mirava a un target di prezzo e consumo non elevato, volto a creare derivati meno costosi oppure soluzioni per occupare la fascia di mercato più alta affiancando due GPU su un unico PCB.

Clicca per ingrandire

Nel corso del tempo gli ingegneri di AMD hanno però virato su chip più complessi, e dalla GPU RV670 da circa 100 W si è passati all'RV770 da 150 W, che è poi stato seguito dalla HD 5870, basata su GPU Cypress da 200 W. Successivamente è arrivato il progetto Cayman con la HD 6970 da 250 W e la GPU Tahiti, con un TDP simile. A ogni passaggio AMD è riuscita a prendere due GPU di punta per metterle su un unico PCB, ottenendo soluzioni molto veloci. L'esempio più recente è la Radeon HD 7990 da 375 W.

Con Hawaii AMD sembra aver accantonato questa filosofia: abbiamo infatti una GPU formata da 6,2 miliardi di transistor che è il 44% più complessa di Tahiti, malgrado sia prodotta ancora una volta con il processo a 28 nanometri. La dimensione del die di 438 mm² è inferiore rispetto al GK110 di Nvidia, tuttavia è più grande di qualsiasi altra GPU realizzata da AMD finora (incluso R600 a 420 mm²; Tahiti occupa solo 352 mm²).

  Radeon R9 290X Radeon R9 280X GeForce GTX Titan GeForce GTX 780
Processo 28 nm 28 nm 28 nm 28 nm
Transistor 6.2 miliardi 4.3 miliardi 7.1 miliardi 7.1 miliardi
Frequenza GPU 1 GHz 1 GHz 836 MHz 863 MHz
Shader 2816 2048 2688 2304
Prestazioni FP32 5.6 TFLOPS 4.1 TFLOPS 4.5 TFLOPS 4.0 TFLOPS
Unità texture 176 128 224 192
Texture Fillrate 176 GT/s 128 GT/s 188 GT/s 166 GT/s
ROPs 64 32 48 48
Pixel Fillrate 64 GP/s 32 GP/s 40 GP/s 41 GP/s
Bus di memoria 512-bit 384-bit 384-bit 384-bit
Memoria 4 GB GDDR5 3 GB GDDR5 6 GB GDDR5 3 GB GDDR5
Data rate memoria 5 Gb/s 6 Gb/s 6 Gb/s 6 Gb/s
Bandwidth memoria 320 GB/s 288 GB/s 288 GB/s 288 GB/s
Consumo 250 W (dichiarato) 250 W 250 W 250 W

Le fondamenta dell'architettura Graphics Core Next che ritroviamo in Hawaii sono simili a quelle che già conosciamo. Il blocco di base, la Compute Unit, è esattamente la stessa con 64 shader IEEE 754-2008 suddivisi in quattro unità vettoriali e 16 unità texture fetch load/store.

Clicca per ingrandire

Ci sono comunque una manciata di modifiche al design, incluso il device flat addressing per supportare standard di calling conventions, miglioramenti nella precisione alle operazioni native LOG e EXP e ottimizzazioni alla funzione Masked Quad Sum of Absolute Difference(MQSAD) per velocizzare gli algoritmi e avere una stima di movimento.

Tutte queste caratteristiche, per inciso, le ritroviamo nella GPU Bonaire che abbiamo recensito in marzo; è AMD a non volerle rendere note. E con l'introduzione delle DirectX 11.2, sia Bonaire che Hawaii ottengono un LOD clamping programmabile e la possibilità di dire a uno shader se una superficie è locale - entrambe sono caratteristiche di secondo livello associate alle risorse tiled.

Clicca per ingrandire

È la disposizione delle Compute Unit a cambiare. Tahiti ha fino a 32 CU per un totale di 2048 shader e 128 unità texture, mentre Hawaii ha 44 CU organizzati in quattro di quelli che AMD definisce Shader Engine. Abbiamo complessivamente 2816 shader e 176 unità texture. La frequenza operativa "fino a 1 GHz" permette alla scheda di offrire fino a 5,36 TFLOPs con operazioni in virgola mobile a singola precisione e 1,4 TFLOPS in doppia precisione.

Clicca per ingrandire

Hawaii ha anche 8 Asynchronous Compute Engine rinnovati, responsabili per lo scheduling di operazioni in tempo reale e in background da far gestire alle Compute Unit. Ogni ACE riesce a gestire fino a otto code, per un totale di 64, e ha accesso a cache L2 e memoria condivisa. Tahiti ha due ACE. Le APU Kabini e Temash ne hanno quattro. Perchè Hawaii è così drasticamente differente? L'approccio asincrono al calcolo della GPU Hawaii è pesantemente influenzato dal progetto della PS4. A quanto pare, gli ingegneri di Sony si attendono un sacco di effetti di calcolo pesanti nei giochi next-gen, e hanno deciso di dedicare maggiori risorsi alla gestione di calcoli e grafica offrendo un'efficienza impossibile in passato.

Clicca per ingrandire

Il front-end di Tahiti alimenta con vertex data gli shader tramite un paio di engine geometrici. Grazie al layout "quad Shader Engine", Hawaii è in grado di raddoppiare quel numero, offrendo quattro primitive per ciclo di clock anziché due. C'è anche più interstage storage tra front e back-end per ridurre le latenze e realizzare così quanto più possibile di quel throughput di picco delle primitive.

Oltre a un engine geometrico dedicato – e 11 CU -, gli Shader Engine hanno anche il loro rasterizzatore e quattro render back-end capaci di 16 pixel per clock (64 pixel per clock in totale, il doppio di Tahiti). Hawaii abilita fino a 256 operazioni depth e stencil per ciclo, raddoppiando le 128 di Tahiti. Su una scheda grafica progettata per le alte risoluzioni, un grande pixel fill rate è di aiuto e secondo AMD questo sposta collo di bottiglia delle prestazioni al bandwidth di memoria.

La cache L2 condivisa read/write passa dai 768 KB di Tahiti a 1 MB, divisa in 16 partizioni da 64 KB. Questo incremento del 33% porta a un corrispondente aumento del bandwidth tra le strutture L1 e L2 del 33%, per un massimo di 1 TB/s.

L'aumento del throughput geometrico, l'aggiunta di 768 shader e il raddoppio del pixel fill di picco nel back-end pone sotto pressione il sottosistema di memoria della GPU, ma AMD ha risolto questo problema riprogettando il controller. La nuova GPU ha un bus aggregato di 512 bit che secondo l'azienda occupa circa il 20% dell'area dei 384 bit di Tahiti e offre il 50% di bandwidth per mm² in più. Com'è possibile? Verrebbe da pensare che vi sia un impatto in termini di spazio sul die per supportare frequenze elevate. Raggiungere 6 Gb/s con una tensione più alta rende il bus di Tahiti meno efficiente di quello di Hawaii, che punta a una frequenza inferiore con una tensione decisamente minore e può di conseguenza essere più piccolo. Operando a 5 Gb/s nel caso della R9 290X, il bus a 512 bit arriva fino a 320 GB/s usando 4 GB di memoria GDDR5. Tahiti si ferma a 288 GB/s.

Leggi altri articoli