Essenzialmente lo standard Agp si compone
di diversi elementi, fra cui i principali sono un set aggiuntivo di segnali e il
Direct Memory Execute (Dime). Le estensioni dei segnali sono quelle inerenti le
operazioni pipelined di lettura/scrittura in memoria, il demultiplexing di
indirizzi e dati del bus e le temporizzazioni. In pratica, ai tradizionali 32
segnali per dati/indirizzi vengono aggiunti anche quelli per il pipeling più 8
linee di indirizzi per i segnali fuori banda (sideband). Ciò spiega perché a
livello pratico il bus Agp necessiti di uno slot aggiuntivo e diverso da quelli
Pci normalmente presenti sulle motherboard. Questo slot, più corto di quelli
Pci, si trova in posizione sfalsata rispetto agli altri.
Dato che il bus Agp prevede attualmente la presenza di un solo dispositivo, non
possono essere presenti più slot Agp sulla motherboard.
Dal punto di vista dell'architettura del bus Agp, la tecnica del pipeling
contribuisce sensibilmente a migliorare le prestazioni, come accade da tempo
nelle Cpu. Utilizzando questa tecnica infatti i dispositivi, in questo caso
quelli Agp, possono inviare alla Cpu una serie di istruzioni in sequenza senza
dover attendere, per l'invio delle istruzioni successive, che la Cpu restituisca
prima la risposta a quelle precedenti. Questo infatti non accade con il bus Pci,
dove i dispositivi devono attendere la risposta della Cpu prima di poter inviare
la successiva richiesta.
I segnali fuori banda invece sono in pratica 8 bit dedicati ai comandi e al
controllo. Questa parte specifica del protocollo permette comunicazioni di tipo
bidirezionale e consente di inviare istruzioni mentre è ancora in corso la
ricezione dei dati da parte del sistema. Ciò consente, per esempio, di inviare
la richiesta di un insieme di texture mentre è ancora in corso il trasferimento
di quello precedente dalla memoria del sistema alla memoria usata come frame
buffer sulla scheda grafica. Anche in questo caso si possono ottenere dei
discreti benefici in termini di efficienza.
Una cosa da notare, in generale, è che il bus Agp non è una sostituzione del
bus Pci, ma un'estensione. In pratica serve unicamente per le schede grafiche,
mentre gli altri componenti (controller per le memorie di massa, schede di rete,
ecc.) continuano a essere collegate e a utilizzare il bus Pci.
Questi e altri accorgimenti permettono al bus Agp di avere un throughput molto
più elevato rispetto a quello ottenibile dal bus Pci. Attualmente infatti il
bus Pci può trasferire 32 bit a 33 MHz, il che significa in pratica 133 Mbyte/s.
Il bus Agp invece funziona a 66 MHz, il che consente di trasferire dati fino a
un massimo di 266 Mbyte/s. Esiste poi una modalità chiamata x2, in cui viene
utilizzata sia la rampa di salita di ogni ciclo di clock, che quella di discesa
(nel caso precedente viene usata invece solo la rampa di salita del segnale).
Questo accorgimento permette di avere a disposizione un ciclo di clock di 133
MHz, il che porta la banda passante del bus Agp a ben 532 Mbyte/s. Per ottenere
la modalità x2, viene usato un bit aggiuntivo degli 8 segnali fuori banda
introdotti con il protocollo Agp. Un aspetto piuttosto interessante è che
questa è solo la prima implementazione del bus Agp, e quindi assoggettabile a
ulteriori miglioramenti. Si potrebbero infatti raggiungere gli 800 Mbyte/s
usando un bus a 64 bit e un clock a 100 MHz.
Un ulteriore elemento del bus Agp che contribuisce a migliorare le prestazioni
del sistema risiede nel fatto che mentre sul bus Pci le periferiche funzionano
per la maggior parte in modalità slave, con il bus Agp la scheda grafica opera
invece in modalità bus master. Ciò significa che la scheda grafica può
funzionare indipendentemente dalla Cpu, sollevandola da una parte
dell'elaborazione, con il conseguente miglioramento delle performance del
sistema. Con il bus Agp, per esempio, il chip con l'acceleratore grafico può
utilizzare direttamente la memoria di sistema per operazioni di rendering, senza
dover attendere la Cpu, con i relativi vantaggi.
Il Direct Memory Execute (Dime)
A differenza di un normale sistema Dma (Direct Memory Access) dove viene
permesso l'accesso diretto alla memoria di sistema da parte di una periferica,
il sistema Dime consente di operare direttamente l'elaborazione usando la
memoria di sistema.
La differenza può essere rilevante. Usando un sistema Dma, cosa che viene fatta
spesso, per esempio, con gli attuali giochi, si possono per esempio memorizzare
le texture nella memoria di sistema, molto più capiente, e trasferirle poi al
frame buffer della scheda grafica in base alle esigenze. In questo caso però la
memoria di sistema viene usata solo come un serbatoio di grandi dimensioni per
le texture.
Usando la tecnica Dime invece le varie operazioni di modifica delle texture,
come per esempio le trasformazioni, possono essere eseguite direttamente nella
memoria di sistema, senza quindi doverle trasferire prima nella memoria della
scheda grafica. Ciò consente, fra l'altro, di concentrare l'uso della memoria
video presente sulla scheda per funzioni di frame buffer, anziché dover essere
divisa, come accade spesso ora, per la memorizzazione delle texture.
Nella terminologia usata per lo standard Agp compare inoltre il termine di
memoria Agp. Non si tratta di un nuovo componente aggiuntivo, ma semplicemente
di una porzione di memoria centrale del sistema allocata in modo dinamico.
Un nuovo elemento invece è il Gart (Graphics Address Remapping Table). Questo
sistema hardware svolge una funzione fondamentalmente analoga a quella dei
sistemi di paginazione presenti nelle Cpu. In pratica viene utilizzato da una
scheda Agp per consentire al chip acceleratore grafico di rimappare un indirizzo
lineare nella memoria del Pc. Di fatto viene utilizzato dalla tecnologia Dime e
dal sistema di segnali fuori banda che hanno la necessità di allocare la
memoria del Pc.
A chi serve l'Agp?
I Pc dotati di scheda e motherboard Agp, almeno in questa primissima fase, sono
prodotti destinati all'impiego sia in ambito home che aziendale. Nel primo caso
infatti il sistema può trarre dei discreti vantaggi in termini di prestazioni
grazie al fatto che viene liberata banda sul bus Pci, lasciandola a disposizione
di altri componenti, come per esempio schede di rete, controller, ecc. Nel caso
di utenti del segmento home invece, i vantaggi del bus Agp per applicazioni
multimediali e giochi sono evidenti, dato che le funzioni 3d utilizzate sono
sempre più complesse e richiedono per la loro elaborazione un'elevata larghezza
di banda.
Dal punto di vista della disponibilità di sistemi Agp, i produttori stanno
distribuendo ora i primi modelli. La maggioranza dei Pc con questo tipo di
componenti attualmente utilizza Cpu Pentium II, grazie al fatto che il nuovo
chipset Intel 440 Lx è il primo a integrare appunto le funzioni per questo
nuovo bus. Altri chipset per motherboard basate sul socket 7 (quello
utilizzabile per esempio con i Pentium Mmx, gli Amd K6 e i Cyrix 6x86 Mx)
comunque sono in procinto di offrire questo tipo di funzionalità. La recente
notizia inoltre che Intel ha ulteriormente abbassato i prezzi dei Pentium II e
il fatto che si siano già viste le prime motherboard con socket 7 e Agp,
permette di prevedere una buona diffusione a breve di questo tipo di sistemi.
Qualche considerazione
Una delle prime implicazioni del fatto che la scheda grafica possa usare la
memorie centrale del Pc per le texture risiede nel fatto che serve più memoria
centrale. Non si tratta di un limite particolarmente restrittivo visti i bassi
costi a cui si è assestata la memoria.
Verosimilmente, almeno nei primi tempi dopo l'introduzione del bus Agp non ci
sarà da aspettarsi un incremento sensibile delle prestazioni rispetto alle
tradizionali schede su bus Pci. Questo perché non sarà semplice sfruttare
completamente tutte le risorse e le tecniche offerte dall'Agp. Per esempio, se
infatti da un lato è vero che molte delle applicazioni esistenti possono trarre
dei benefici dall'architettura Agp, quelle Dos, come per esempio alcuni giochi,
non possono invece sfruttare il Gart a causa dell'impossibilità di
indirizzamento virtuale della memoria, e quindi i benefici si riducono, per
esempio, alla presenza di un bus più veloce.
Dove si potranno apprezzare maggiormente i vantaggi offerti dall'Agp sarà con
le nuove applicazioni, specie quelle 3d, scritte appunto per sfruttare al meglio
le risorse messe a disposizione dal nuovo standard.
Un ulteriore elemento comunque da prendere in considerazione riguarda anche
l'efficienza del sistema Agp rispetto alle soluzione utilizzate normalmente
sulle attuali schede grafiche. Per esempio, su una scheda grafica il bus che
collega l'acceleratore grafico alla memoria video presente sulla scheda,
solitamente è già molto veloce (molte usano bus e acceleratori a 128 bit). Un
ulteriore elemento da considerare è che la memoria video, di norma è più
veloce di quella di sistema usata dai Pc.
|