AGP
 
Che cosa è l'AGP e come funziona? - Pro e contro - Chi può sfruttare l'AGP oggi? 
 
Che cosa è l'AGP e come funziona?  

L'AGP è un bus grafico con prestazioni superiori rispetto a quello PCI, sviluppato da Intel per supplire alla limitata, per le moderne applicazioni grafiche 3D, ampiezza di banda di quest'ultimo. Il bus PCI ha un limite massimo di trasferimento dati pari a 132 Mbyte al secondo (essendo la sua frequenza di clock pari, come tutti ben sappiamo, a 33 Mhz quando quella di bus è di 66 Mhz), anche se in genere non si riesce a superare un transfer rate di 70-80 Mbyte al secondo; quello AGP, invece, ha clock di 66 Mhz (pari a quello del bus) e pertanto raggiunge un limite massimo di transfer rate pari a 264 Mbyte al secondo: bisogna però specificare che questo limite viene raggiunto nella modalità 1x, mentre se viene attivata quella 2x, con la quale i dati vengono trasportati sia nel canale ascendente che in quello discendente, il transfer rate massimo raggiunge i 528 Mbyte al secondo (corrispondente ad una frequenza di 133 Mhz, 66+66). Tutto questo discorso parte dal presupposto che la frequenza di bus, dalla quale viene ricavata la frequenza sia del bus PCI che di quello AGP, sia pari a 66 Mhz; con l'introduzione del bus a 100 Mhz il transfer rate massimo, in modalità 2x, raggiungerà gli 800 Mbyte al secondo. La prossima evoluzione della tecnologia AGP prevede la modalità 4x, con la quale verrà superata la barriera di 1 Gbyte al secondo di velocità di trasferimento dei dati utilizzando bus a 66 Mhz. L'attivazione della modalità 1x piuttosto che di quella 2x dipende esclusivamente dal fatto che il produttore della scheda video abbia abilitato la modalità 2x; al momento attuale (Gennaio 1998) esiste, a quanto mi risulta, solo una scheda video in commercio in Italia che supporta la modalità 2x. 

Visto che l'AGP permette una velocità di trasferimento dei dati tra interfaccia video e memoria principale molto più veloce di quanto accada con il bus PCI, esso permette alla scheda video di utilizzare la memoria principale al posto di quella video per memorizzare ed elaborare tipicamente le textures, che possono raggiungere dimensioni considerevoli e tali da eccedere la quantità di memoria montata sulla scheda video; anche se le textures sono portate fuori dalla memoria video e elaborate utilizzando la memoria principale non si ha una diminuzione delle prestazioni video: Intel chiama questa nuova tecnologia DIME (DIrect Memory Execute), esecuzione diretta in memoria. Bisogna prestare bene attenzione al fatto che la memoria principale utilizzata dalla scheda video non rimpiazza la memoria video ma la integra quando, per poter visualizzare scene complesse e textures molto grandi, essa non è più sufficiente. 

agp.gif (5093 byte)  
Copyright(c) Intel Corporation 1997  

Il grafico di qui sopra riprodice in maniera schematica il funzionamento dell'AGP: le textures che eccedono la capacità della memoria video vengono trasferite utilizzando il bus AGP nella memoria principale (System Memory): il canale di comunicazione tra quest'ultima e chipset grafico è, per così dire, preferenziale, cioè bypassa sia chipset della motherboard che cpu che bus PCI, a tutto vantaggio del transfer rate massimo. 

Il chipset deve mappare la memoria principale come memoria AGP quando l'adattatore video esaurisce il quantitativo di memoria video installata: questa funzione è chiamata GART (Graphics Address Remapping Table). 

Pro e contro  

I vantaggi della tecnologia AGP sono le più elevate prestazioni ottenute dall'adattatore video grazie all'aumentata ampiezza di banda; la possibilità di poter utilizzare la memoria di sistema assieme alla memoria video già presente sulla scheda video permetterà di gestire più agevolmente textures di grandi dimensioni, a tutto vantaggio delle prestazioni finali con scene 3D. Dal punto di vista della velocità in 2D il bus AGP porta ad un incremento delle prestazioni rispetto al bus PCI a motivo della maggiore velocità ma non comparabile con quello che si ottiene con grafica 3D. 

L'AGP ha degli aspetti negativi? Più che di "downsides" parlerei di limiti. Attualmente la massima velocità in termini di flusso di dati (throughput) che, con bus a 66 Mhz, le memorie possono raggiungere è pari a 528 Mbyte al secondo, proprio la velocità massima della modalità 2X; dato che, mentre l'adattatore video dialoga con la memoria di sistema via bus AGP altrettanto fanno cpu e altre periferiche che utilizzano l'accesso diretto alla memoria (DMA), non è realistico pensare che tutto il troughput massimo della memoria venga indirizzato all'adattatore video via bus AGP lasciando le altre periferiche ad "aspettare il loro turno" ma che, più realisticamente, a quest'ultimo arrivino dati ad una velocità inferiore e che, per praticità, possiamo pensare essere pari alla metà di quella teorica, cioè 264 Mbyte al secondo; tutto questo discorso vale solo se si utilizza memoria di tipo SDRAM, in quanto sia la EDO che la Fast Page sono considerevolmente più lente. All'aumento della frequenza di bus si assisterà ad una proporzionale crescita del troughput massimo e, pertanto, ad un avvicinamento della velocità teorica di 528 Mbyte al secondo della modalità 2x; il bus a 100 Mhz rappresenterà, probabilmente, l'unica via per poter sfruttare fino in fondo la modalità 2x. Il futuro ci riserverà memorie sempre più veloci, capaci di un flusso massimo di dati tale da raggiungere il Gbyte di velocità di trasferimento dei dati della modalità 4x. 

Utilizzare una scheda video AGP senza abilitare il DIME porta ad un aumento di prestazioni in virtù della maggiore velocità del bus AGP rispetto a quello PCI ma non consente di sfruttare la vera innovazione di questa nuova tecnologia, cioè l'accesso diretto alla memoria di sistema per gestire la grafica che eccede il quantitativo di memoria montata sulla scheda video. 

Chi può sfruttare l'AGP oggi? 

Per poter sfruttare i vantaggi dell AGP è logicamente indispensabile avere una scheda video AGP e una motherboard dotata di slot AGP; mentre sulla scheda video non esistono problemi e sempre nuovi modelli continuano ad essere rilasciati, esistono ancora pochi modelli di motherboard dotate di slot AGP: quelle dotate di Socket 7 montano il chipset VIA VP-3, l'unico per cpu di classe Pentium che attualmente supporti l'AGP, mentre quelle per Pentium II hanno il chipset Intel 440LX; sono in fase di pre-produzione molti nuovi chipset dotati, tra l'altro, di supporto per AGP, soprattutto per Socket 7. Non esistono motherboard per cpu Pentium Pro dotate di slot AGP. 

Per quanto riguarda il sistema operativo, Windows 95  non supporto in maniera nativa il bus AGP ed è pertanto indispensabile installare una patch che permette di riconoscere e abilitare correttamente la scheda video AGP; per Windows NT4 non esiste attualmente nessuna estensione che permetta di abilitare le funzioni avanzate dell'AGP (sarà indispensabile attendere l'uiscita di Windows NT5). Windows 95 necessita delle seguenti 3 operazioni: