Accesso alla memoria

Dopo aver fatto una panoramica sulla nuova scheda ATI/AMD HD 2900 XT è giunto il momento di entrare più nel dettaglio con un approfondimento tecnico sull'architettura del chip R600.

Avatar di Andrea Ferrario

a cura di Andrea Ferrario

Editor in Chief

Accesso alla memoria

Memory Read/Write Cache

Assieme alle altre nuove cache, ce n'è anche una per i General Purpose Register (GPR). Le DX10 tendono a virtualizzare ogni risorsa disponibile, quindi ATI ha dovuto virtualizzare lo stack GPR, e lo fa tramite una cache bidirezionale read/write in parallelo con le cache vertex e texture. Questo permetto al core dello shader di scrivere e leggere dalla memoria. Può anche gestire la scrittura combinata e altri meccanismi per aumentare le prestazioni. La scrittura combinata consiste nel raggruppare dati prima di inviarli alla memoria. Questo risparmia comandi di scrittura e ne beneficeranno in particolare le funzionalità GS Stream Out. Con questa nuova configurazione, ogni pixel può accedere a 4k di vettori a 128 bit o 64 Kb di dati per pixel. Con decine di migliaia di pixel nel core dello shade, non sarebbe possibile gestire tutti i dati. Ecco perché la virtualizzazione è così importante per le DX10.

Stream Out permette il render to vertex buffer, concetto introdotto con l'R500. Ciò avviene dopo il processo di geometry shading sul flusso dati in uscita dallo shader. Può scrivere dati vertex e poi farli circolare per la tessellation o qualsiasi altro processo extra. Questo può avvenire anche attraverso la comunicazione tra thread. In questo caso un thread può scrivere dati che saranno letti dal thread successivo, eseguire un render-to-vertex buffer, oppure un overflow dei dati GS.