|
TurboCache potrebbe far pensare subito ad una soluzione che offre vantaggi
prestazionali dal punto di vista del sistema memoria video. Invece con questa
sigla NVIDIA ha voluto indicare una particolare architettura capace di
utilizzare la memoria di sistema come memoria video attraverso il bus di
connessione PCI Express. Questo canale offre una banda dati teorica di 8GB/s di
cui 4GB/s in downstream e 4GB/s in upstream.
Con un semplice calcolo, per ottenere una banda di questo genere da memorie
on-board, sarebbe stato necessario adottare chip funzionanti alla frequenza di
500MHz con un bus ampio 128-bit. Purtroppo questi semplici numeri non possono
rendere bene l'idea della differenza fra i due casi, in quanto per poter trarre
le giuste conclusioni sarebbe assolutamente indispensabile tenere in conto la
diversa latenza che si ottiene nelle due configurazioni.
A tal proposito NVIDIA ha dovuto lavorare molto per ottenere una architettura
soddisfacente. L'approccio scelto dal produttore con la tecnologia TurboCache
consiste nel far dialogare il chip con la memoria di sistema e nel fornire un
certo quantitativo di memoria cache pari a 16, 32 o 64 MB onboard. Attraverso
l'unità di gestione della memoria MMU (Memory Management Unit) integrata nel
chip, la memoria video presente sulla scheda svolge compiti di cache
"intelligente", nel senso che al suo interno vengono memorizzati solo i dati
utilizzati più di frequente. Oltre a questi nella memoria on-board vengono
memorizzati i dati relativi al front buffer e tali dati non vanno mai a finire
nella memoria di sistema.
Attraverso il canale garantito dal bus PCI Express la tecnologia Render to
Texture permette al chip grafico di scrivere direttamente sulla memoria di
sistema e di leggere direttamente da essa. Con buona approssimazione possiamo
dire che la GPU è in grado di vedere la memoria RAM di sistema come se fosse un
normale framebuffer che dialoga direttamente con le unità di pixel shading e le ROP.
Risulta a questo punto facile calcolare la banda di memoria teorica per le
schede GeForce 6200TC. In questo caso, però, è bene tenere in considerazione
che, anche se alcuni tendono a considerare la banda teorica massima del bus PCI
Express x16 pari a 8GB/s, in un determinato istante questa sarà pari a 4GB/s
vista che essa è equamente suddivisa in upstream e downstream.
- GeForce 6200 TurboCache 16-TC/128MB: 16 MB on-board, 32-bit,
700MHz. La banda è pari a 2,8GB/s + 8GB/s (PCIe) per un totale di 10,8GB/s.
- GeForce 6200 TurboCache 32-TC/128MB: 32 MB on-board, 64-bit,
700MHz. La banda è pari a 5,6GB/s + 8GB/s (PCIe) per un totale di 13,6GB/s.
- GeForce 6200 TurboCache 64-TC/256MB: 64 MB on-board, 64-bit,
550MHz. La banda è pari a 4,4GB/s + 8GB/s (PCIe) per un totale di 12,4GB/s.
Questi sono i numeri che NVIDIA utilizza nei suoi calcoli. In maniera più
veritiera noi crediamo sia decisamente più vicino alla realtà considerare 4GB/s
per la banda del bus PCIe ottenendo così valori di 6,8GB/s, 9,6GB/s e 8,4GB/s
rispettivamente.

Mentre la banda teorica disponibile dalle memorie on-board è molto vicina a
quella reale, la banda dati disponibile dal bus PCI Express è ancora troppo
dipendente da fattori esterni legati alle memorie di sistema stesse, al carico
globale del sistema, al chipset e così via. Ad esempio, con le attuali memorie
DDR400 la banda dati massima disponibile da esse è pari a 6,4GB/s.

Occorre anche tenere in considerazione il fatto che i chipset Intel 9xx non
siano in grado di offrire una banda di 8GB/s ma 3GB/s in upstream ed 1GB/s in
downstream, mentre le piattaforme AMD siano più performanti da questo punto di
vista. La tecnologia NVIDIA TurboCache, stando alle dichiarazioni del
produttore, è stata studiata per essere quanto più indipendente da tali
differenze.
Il supporto drivers, in questo caso, è più importante che mai. Nelle
ultime versioni di drivers ForceWare NVIDIA ha inserito una nuova unità
denominata TCM o TurboCache Manager che si occupa di allocare e deallocare
dinamicamente memoria di sistema in base alle necessità dell'applicazione in
esecuzione in un determinato momento.
|