1. BENVENUTO SU CONSOLE TRIBE

    Benvenuto, stai navigando nella nostra community come ospite

    Avere un account su Console Tribe ti permetterà di creare e partecipare alle discussioni e al mercatino, organizzare tornei e partite online, iniziare conversazioni personali con gli altri giocatori del forum e di utilizzare tutte le funzioni di questo sito.

    Registra il tuo account in meno di 5 secondi, se vuoi puoi sfruttare i login social via Facebook, Google Plus o Twitter.

Meglio un AGP oggi o due PCIe domani ?

Discussione in 'Computer & Technology' iniziata da ConteZero, 14 Aprile 2005.

  1. ConteZero

    ConteZero Tribe Member

    Registrato:
    16 Marzo 2005
    Messaggi:
    7.682
    "Mi Piace" ricevuti:
    1
    Punteggio:
    36
    Questo non è un thread informativo quanto di critica e discussione sul nuovo standard che ci stanno ficcando in tutte le piastre "deluxe" in circolazione.
    Partiamo dall'inizio, PCIExpress è un protocollo di comunicazione seriale (mentre PCI e AGP sono paralleli), questo vuol dire che è possibile far passare molte informazioni con un numero molto ridotto di piste (per questo molti slot PCIe sono lunghi meno di un quarto rispetto all'equivalente PCI), la cosa si è resa necessaria per ridurre la complessità delle schede madri e per migliorare la qualità dei segnali.
    Quegli slot piccoli sono i cosiddetti slot "1X" ovvero "1 per la velocità di PCIe", il barbatrucco è proprio questo.
    La scheda video (che ha uno slot lungo una quaresima) ha uno slot dove sono convogliati SEDICI canali PCIe che, operando in parallelo, danno la velocità di 16X (sedici per la velocità di PCIe).
    Facciamo un passo indietro per capire meglio cosa c'è in ballo: un tempo era PCI, tutto era PCI (Bertinotti se lo sogna ancora :-D ); un bus PCI è un accrocchio che "viaggia" a 33MHz e trasferisce 32bit a ciclo di clock (specifiche PCI 1.0), il massimo (la calcolatrice vi aiuterà nel conto) è 133 MByte/sec circa; questa banda è teorica perchè gli slot PCI sono tutti sullo stesso canale (a meno di non avere una piastra madre da 3000 euro in poi), questo implica che questa banda và divisa fra tutte le schede PCI più altre schede che, seppure integrate su piastra, risultano essere sullo stesso BUS.
    All'inizio si tentò d'ovviare al problema con altre TRE specifiche, le PCI a 64 bit (lunghe il doppio!), quelle a 66MHz e quelle a 64 bit lunghe il doppio (doh!) solo che i chipset erano cari da realizzare, le schede erano poco commerciabili e, ovviamente, non avreste trovato nulla di tutto ciò su una piastra economica tipo una PCChips da 40 euro.
    Il problema di fondo è la topologia "BUS", un BUS è un canale di comunicazione fra due O PIU'punti, cosa che richiede un ARBITRAGGIO del bus, parte della banda e molta latenza a causa del fatto che un BUS è come un incrocio, solo una periferica alla volta lo può occupare e ci volgiono segnali, controlli ed elettronica di contorno per farlo funzionare bene, facile a 33MHz a 32 bit, meno facile a 66MHz a 64 bit; inoltre ogni componente PCI diventa "caro" perchè deve contenere al suo interno il necessario per poter effettuare l'arbitraggio.
    Così le grandi menti di Intel inventarono AGP, Advanced Graphics Port; AGP è un canale a parte ed usa una banda a parte rispetto al bus PCI, inoltre (meraviglia delle meraviglie) AGP non è un bus... c'è solo una scheda sul canale AGP e quindi non c'è bisogno di nessun arbitraggio (è un canale diretto).
    Quando Intel introdusse AGP pensava che la gente avrebbe fatto con AGP esattamente quello che Microsoft rende difficile con DirectX, usare la RAM grafica e la ram di sistema in modo praticamente identico; in effetti con la larghezza di banda del bus AGP è possibile trasferire texture e simili avanti e indietro talmente velocemente che non dovrebbe essere necessario l'uso di schede video con TANTA memoria; nella pratica però le cose non sono così facili e qui casca l'asino...
    AGP è un canale di comunicazione, visto che oramai i giochi DEVONO tenere buona parte delle texture sulla RAM video (altrimenti diventano leeeeeenti a causa dei trasferimenti, visto che 'rallentano' il PC occupandogli la RAM di sistema per fare avanti-e-indietro con le texture) e visto che il 95% del rendering grafico viene oramai fatto "in loco" dalla scheda video la domanda è: a che serve avere un bus ad altissima velocità se lo si usa così poco ?
    Torniamo ancora indietro, AGP 1x è un canale che trasferisce 266Mbyte/sec (lavora a 66MHz ed a latenze quasi nulle visto che non c'è arbitraggio del BUS non essendoci il BUS), mentre AGP 8x (l'ultimo nato) arriva a 2,12 Gb/sec.
    Se ci pensate bene, quale, quale gioco trasferisce DUE GIGABYTE al secondo di dati dalla RAM alla scheda video (e quale RAM, video o di sistema, riesce a reggere un traffico di queste dimensioni senza piegare in due il computer) ?
    PCIe, a differenza di PCI, è molto simile ad una LAN, ogni canale 1X (detto 'lane', corsia) è un canale dati indipendente bidirezionale che invia pacchetti verso il chipset (in northbridge per la precisione); in questo modo anche PCIe, come AGP, non ha bisogno di arbitraggio del bus; c'è un grosso "switch" dentro al chipset che si occupa di redirigere i "pacchetti" fra le varie lane, questo permette di avere un elettronica più semplice e di dare moltissima banda teorica ad ogni lane.
    Un canale PCIe trasferisce 2.5GBps (320Mb/sec), con la calcolatrice se ne deduce che uno slot PCIe 16x può "sparare" 5.12 Gb/sec (che sono 10.24 Gb/sec effettivi se consideriamo che ogni lane può contemporaneamente mandare e ricevere).
    A questo punto la domanda sorge spontanea: quanto riesco a fare in SLi ?
    Le schede madri tradizionali hanno uno slot 16X, quelle SLi possono andare anche con 2 slot, riducendoli ad 8X; le schede video sono in grado di "capire" all'avvio quanti lane hanno e di usare quelli assegnati.
    La limitazione dei 16 lane è, attualmente, nei chipset; i chipset Intel (ed anche quelli nVidia a quanto mi risulta) hanno un northbridge (il chippone con la ventola) capace di fornire venti lane; di queste venti quattro sono dedicate al southbridge (l'altro chippone, quello in basso senza ventola) che le usa come canale di comunicazione per tenerci tutto quello che un buon southbridge richiede (controller vari, schede di rete, usb, firewire, seriali, parallele, tastiera, mouse) mentre sedici sono dedicate a sua maestà la scheda video.
    Ovviamente se avete UNA scheda video potete usare tutti e sedici i canali su quella, se ne avete DUE allora conviene che ne usiate otto per ogni scheda.
    Il guadagno di PCIe è che l'ampiezza di banda permette effettivamente di usare schede video con meno RAM (tanto il canale di comunicazione con la RAM di sisema è MOOOOLTO largo) anche se il problema alla radice rimane.
    Apparte il fatto non trascurabile che SOLO nVidia usa lo SLi (e penso abbia brevettato il sistema), ed il fatto non trascurabile che SOLO le 6600GT e 6800 supportano SLi, ed il fatto che ci vuole un alimentatore "degno" per reggere i due fornetti in SLi rimane il fatto che non tutto quello che si fà in SLi ha il doppio delle prestazioni rispetto ad una scheda video normale!
    Per dirla semplice se state giocando a 1280x1024 a Doom3 innanzitutto state usando svariate centinaia di euro di hardware per fare il rendering di 24 bit di buio :-D e poi la scheda sta elaborando 1280x1024 pixel per ogni frame; in SLi grossomodo (lo era ESATTAMENTE sullo SLi di 3Dfx, non più su questo SLi che ha un chip di bilanciamento del carico di lavoro, che và comprato A PARTE) ogni scheda elabora 1280x512 pixel per ogni frame...
    Segue la domanda da 1 milione di dollari: a voi passando da 1280x1024 a 1024x768 (pressappoco la metà dei pixel) il frame rate SI RADDOPPIA?
    La verità è che spesso NON raddoppia, se poi provaste a passare (contestualmente) da AGP 8x ad AGP 4x molto probabilmente NON si raddoppierebbe per niente...
    Ovviamente SLi è una cosa molto positiva (per questo sto andando a sputtanare altri 600 euro in due schede video + scheda madre) ma non la panacea di tutti i mali e, soprattutto, PCIe è un grosso passo avanti ma non il gigantesco passaggio generazionale che tutti s'aspetterebbero.
  2. ConteZero

    ConteZero Tribe Member

    Registrato:
    16 Marzo 2005
    Messaggi:
    7.682
    "Mi Piace" ricevuti:
    1
    Punteggio:
    36
    Accludo, per completezza, un dato ottenuto dal benchmark fatto sul mio PC che mostra quanto trasferisce (in condizioni "di stress") la RAM di sistema: 3900MByte/sec (fonte: S.A.N.D.R.A.)...
    La ram non è stata spinta al limite ma si parla comunque di prestazioni di un socket 939 (che ha un bus alla memoria estremamente vantaggioso rispetto, ad esempio, all'LGA 775 di Intel).
    Ne segue che mentre AGP sul mio PC non riuscirebbe a comunicare "a piena velocità" con la RAM in PCIe potrei farcela... ma a che scopo ?
    La RAM funziona con una sola interfaccia per volta, se AGP/PCIe stanno trasferendo dati avanti-e-indietro la CPU probabilmente rimarrà spesso bloccata in attesa di ricevere i dati che le servono (cache a parte ovviamente); questo vuol dire che ci sarà comunque una certa perdita delle prestazioni da quel punto di vista...
    Come risultato finale PCIe è un ottimo bus, veloce, per spostare (a mio avviso) velocemente piccole o medie quantità di dati senza rallentare il rendering della scheda video (che arriva a usare la RAM di sistema alla stessa velocità o quasi della RAM dedicata) ma solo quello; inoltre, per quanto detto prima, in SLi probabilmente la congestione raddoppia!
    Con due schede un qualsiasi dato necessario alle schede grafiche che si trova in RAM di sistema (come ad esempio i frame di un filmato che appare in un monitor di Doom3 mentre col vostro space marine state girando in una sala di controllo) impegnerà doppia banda perchè ogni scheda video dovrà scaricarsi quei frame nella sua scheda per effettuare il rendering parziali.
    A questo si aggiunge un altra cosa, in qualche modo i rendering parziali della scheda video 2 (chiamiamola slave) dovranno andare verso la scheda video 1 (chiamiamola master) dove verranno riassemblati per formare le immagini che escono dalla VGA; non ho idea di dove viaggino quei dati, spero nella minischedina-ponte che collega le due schede ma ho paura che anche quei dati passino via PCIe occludendo questo vastissimo canale con molti dati di transito.
  3. GiG][O

    GiG][O Tribe Newbie

    Registrato:
    16 Marzo 2005
    Messaggi:
    44
    "Mi Piace" ricevuti:
    0
    Punteggio:
    6
    insomma sti soldi stanno davvero meglio in tasca piuttosto che in due schede che renderizzano il buio
    cmq
    io con la mia 6600 GT AGP 8x ho renderizzato piuttosto bene doom 3
    sarà per le ddr3 o per altro hardware a noi ignoto ma cmq l'ho pagato solo 170 euri
  4. ConteZero

    ConteZero Tribe Member

    Registrato:
    16 Marzo 2005
    Messaggi:
    7.682
    "Mi Piace" ricevuti:
    1
    Punteggio:
    36
    La 6600GT è una scheda PCIe che ha la possibilità di funzionare in AGP tramite un adattatore integrato su chip.
    In effetti è un ottima scheda per Doom, per questo motivo voglio prenderne due da mettere in SLi, accorgimento che dovrò seguire è prendere delle schede che hanno l'alimentazione addizionale sul lato; quei cosoni consumano e alimentare dalla piastra non è esattamente "tutta salute"...