L’organizzazione interna di ogni singola Gpu è quella che abbiamo già analizzato al momento del rilascio di Cypress. La gestione del comparto di calcolo è affidata all’Ultra Threaded Processor, un controllore che organizza in modo dinamico il carico di lavoro generato dal Command Processor e dall’unità di Setup. Quest’ultima è stata oggetto di modifica per implementare i nuovi stadi dedicati alla tessellation. Il termine inglese tesselation è utilizzato in computer grafica per indicare il processo che permette di ottenere geometrie o superfici complesse aggiungendo punti di controllo a primitive più semplici attraverso algoritmi parametrici (ad esempio ottenere una sfera partendo da un cubo). Per fare questo le DirectX 11 aggiungono tre nuovi stadi della pipeline denominati Hull Shader, Tessellation e Domain Shader. L’hull shader esegue codice scritto dal programmatore e calcola, sulla base dei nodi di controllo delle geometrie, i parametri necessari all’unità di tassellazione per generare i nuovi punti di controllo. I risultati ottenuti dall’unità di tassellazione sono quindi elaborati dal domain shader per generare i dati della nuova geometria. In questa fase lo sviluppatore può istruire il domain shader all’utilizzo di texture di dislocazione (displace texture) per modificare la posizione dei vertici rispetto alla geometria originale. L’utilizzo di questa tecnologia permette di modificare gli oggetti per ottenere una maggiore livello di dettaglio solo dove è necessario. L’efficienza di questo strumento permetterà da un lato di ottenere una migliore qualità dei dettagli nell’immagine e fornirà maggiori risorse hardware a livello dei pixel shader in quanto sarà possibile ridurre l’utilizzo tecniche specifiche nel calcolo del colore dei pixel per simulare visivamente una geometria carente di dettagli.
A valle dell’Ultra Threaded Processor troviamo l’architettura centrale del processore grafico composta da 20 blocchi operativi SIMD (Single Instruction Multiple Data). Ciascuno di questi ingloba 16 Thread Processor che a loro volta sono costituiti da 5 unità di calcolo. Con un rapido conteggio (80 unità di calcolo per 16 Thread Processor per 20 unità SIMD) di ottiene un complessivo di 1.600 Stream Processor. Ogni blocco SIMD è supportato da 4 unità di texture dedicate rispettando lo stesso rapporto proposto con l’RV770; essendo raddoppiato il numero dei blocchi SIMD è aumentato quindi della stessa misura anche il numero delle unità texture, passato dalle precedenti 40 alle attuali 80. AMD ha ottimizzando queste unità incrementando sia la loro capacità di trasferimento dati interna sia quella delle cache L1 e L2 ad esse associate; la cache L2 è stata inoltre raddoppiata e portata a 128 Kbyte.
Con un computo interno di 1.600 stream processor per ciascun processore grafico, la soluzione Hemlock propone quindi sul tavolo 3.200 unità di calcolo supportate da un totale di 160 unità di texture e 64 unità Rop.