Test memory controller e RAM: analisi multipla
In questa parte ci interessa andare a toccare con mano cosa esattamente succede a tutto il comparto RAM e memory controller quando noi andiamo ad impostare i diversi parametri. Necessario, a nostro avviso, scomporre il problema in diversi fattori che verranno di seguito trattati singolarmente. Successivamente vedremo di fare un sunto del tutto.
Test frequenza e timing RAM fissi, variazione del bus
In questo primo troncone, analizzeremo le prestazioni del sistema al variare della sola frequenza di bus. Le memorie saranno impostate in modalità unlinked a 1800 Mhz 8-8-8-24 CR2 (gli altri subtimigs, li potete consultare nella sezione configurazione). Di seguito, ecco la tabella dei dati raccolti.
Bus Sistema (Mhz) | Read (MB/s) | Write (MB/s) | Latenza (ns) | Frequenza Memoria (MHz) | Rapporto FSB:DRAM (Frazione) | Rapporto FSB:DRAM (Numerico) |
333 | 8630 | 7022 | 59.9 | 1776 | 3/8 | 0,375 |
340 | 8510 | 7193 | 60.0 | 1768 | 10/26 | 0,385 |
350 | 8726 | 7419 | 56.8 | 1800 | 7/18 | 0,389 |
360 | 9082 | 7603 | 57,5 | 1800 | 4/10 | 0,400 |
370 | 9357 | 7821 | 59,5 | 1774 | 5/12 | 0,417 |
380 | 9443 | 8029 | 58,1 | 1796 | 11/56 | 0,423 |
390 | 9640 | 8242 | 57,7 | 1798 | 13/30 | 0,433 |
400 | 10004 | 8442 | 56,9 | 1800 | 8/18 | 0,444 |
410 | 10226 | 8656 | 56,4 | 1790 | 11/24 | 0,458 |
420 | 10236 | 8847 | 55,5 | 1800 | 14/30 | 0,467 |
430 | 10752 | 9051 | 53,8 | 1720 | 1/2 | 0,500 |
440 | 10995 | 9254 | 51,9 | 1760 | 1/2 | 0,500 |
450 | 11223 | 9479 | 50,7 | 1800 | 1/2 | 0,500 |
Ora visualizziamo il tutto tramite dei grafici per bandwith e latenza.
La bandwith in questo caso cresce in modo pressoché lineare. Qui lo stress al crescere della frequenza è focalizzato sulla parte del northbridge che gestisce il collegamento della cpu, non nel memory controller stesso. In quest'ottica quindi, all'aumentare della frequenza del bus di sistema, aumenta anche l'ampiezza di quest'ultimo fino ad arrivare a valori vicini dell'ampiezza del bus delle memorie. Per questo motivo, come prima accennato, alte frequenze di memorie RAM, devono essere accoppiate ad alte frequenze di bus per ottenere il meglio. Ora vediamo le latenze.
L'andamento delle latenze è decisamente più complesso da interpretare. Il trend generale è ovviamente che all'aumentare delle frequenze diminuisce la latenza. Tuttavia abbiamo uno spot particolarmente curioso attorno ai 350 Mhz di bus. In questo punto abbiamo un rapporto FSB:DRAM attorno ai 0,4 che guarda caso, è il rapporto FSB:DRAM che si deve utilizzare per avere memorie a 2 Ghz con cpu con bus a 400 Mhz. Probabilmente, in virtù di questo, nVidia a deciso di ottimizzare in modo specifico rapporti FSB:DRAM vicino a questo.
Test frequenza bus e timing RAM fissi, variazione della frequenza RAM
Ora andiamo a vedere il comportamento variando solo la frequenza delle RAM in un range compreso tra 1600 e 2000 Mhz. Da rilevare che le frequenze riportate in tabella, sono le frequenze reali di funzionamento delle memorie. Per questi test, si è utilizzata una frequenza di bus fissa a 400 Mhz. I timings sono sempre 8-8-8-24 CR2 per tutti i test.
Frequenza Memorie (MHz) | Read (MB/s) | Write (MB/s) | Latenza (ns) | Rapporto FSB:DRAM (Frazione) | Rapporto FSB:DRAM (Numerico) |
1600 | 10016 | 8427 | 58,5 | 1/2 | 0,5 |
1706 | 9812 | 8434 | 56,4 | 15/32 | 0,469 |
1715 | 9802 | 8429 | 56,7 | 14/30 | 0,467 |
1724 | 9797 | 8433 | 56,9 | 13/28 | 0,464 |
1734 | 9975 | 8432 | 55,9 | 12/26 | 0,46 |
1746 | 9983 | 8443 | 57,4 | 11/24 | 0,458 |
1761 | 9981 | 8437 | 58,0 | 12/22 | 0,456 |
1778 | 9989 | 8438 | 57,4 | 9/20 | 0,450 |
1800 | 10029 | 8444 | 56,7 | 8/18 | 0,444 |
1829 | 10030 | 8448 | 56,9 | 7/16 | 0,438 |
1847 | 10045 | 8456 | 56,0 | 13/30 | 0,433 |
1867 | 10039 | 8445 | 56,0 | 6/14 | 0,429 |
1891 | 10085 | 8452 | 55,3 | 11/26 | 0,423 |
1921 | 8022 | 8436 | 54,7 | 5/12 | 0,417 |
1956 | 8055 | 8439 | 54,6 | 9/22 | 0,409 |
1970 | 8088 | 8441 | 54,2 | 13/32 | 0,406 |
2000 | 8153 | 8453 | 54,6 | 4/10 | 0,4 |
La prima cosa da rilevare in assoluto è che per ben 106 Mhz, l'MCP continua ad impostare un rapporto FSB:DRAM pari a 1:2. La scelta degli ingegneri nVidia appare chiara. Dal momento che è un rapporto assolutamente performante, è bene mantenerlo il più possibile. Questo significa che se noi settiamo 1680 Mhz ad esempio da bios, le memorie lavoreranno comunque a 1600 Mhz. Qualora ciò non fosse possibile, il memory controller seleziona un rapporto che sia più vicino al magico 1:2. questo rende ragione del fatto che all'aumentare della frequenza delle memorie, aumentano anche gli step che l'MCP fissa. Altro rilievo macroscopico è che, mentre la bandwith rimane sempre la stessa fino a circa 1900 Mhz poi avviene un crollo repentino ed un assestamento ad un andamento di nuovo lineare. Qui è evidentemente avvenuto un “cambio di marcia” nel memory controller per tenere quelle frequenze, con conseguente perdita marcata in termini di prestazioni. Vediamo le latenze.
Di nuovo, il grafico delle latenze è quello più difficile da interpretare. Sempre si ha una diminuzione, a rigor di logica, delle latenze all'aumentare delle frequenze. Tuttavia l'andamento non è affatto lineare. Abbiamo dei buoni risultati attorno ai 1720 Mhz, per via del rapporto FSB:DRAM comunque vicino a 1:2 e dei buoni risultati a 1950 Mhz circa, in parte dovuti all'elevata frequenza ed in parte al fatto che ci troviamo vicino al rapporto FSB:DRAM prima menzionato di 0,4.
Test frequenze bus e RAM fisse, variazione dei timing RAM
Terza parte di questa analisi, che prende in esame l'impatto dei timing su piattaforma Intel e nVidia. Il bus è sempre impostato a 400 Mhz e le memorie a 1600 Mhz.
Timing Memorie | Read (MB/s) | Write (MB/s) | Latenza (ns) |
6-6-6-24 1T | 10713 | 8454 | 51,4 |
6-6-6-24 2T | 10439 | 8472 | 52,3 |
7-7-7-24 1T | 10414 | 8463 | 54,4 |
7-7-7-24 2T | 10350 | 8438 | 56,1 |
8-8-8-24 1T | 10328 | 8453 | 57,0 |
8-8-8-24 2T | 10008 | 8435 | 58,7 |
L'andamento è ovvio, in ogni caso visualizziamolo lo stesso.
La bandwith in lettura cala in modo lineare ma decisamente poco. Quella in scrittura rimane pressoché costante. Questo è un po' una caratteristica della piattaforma Intel Core.
Le latenze invece variano in modo consistente e pressoché lineare. Da notare che l'influenza del Command Rate è inferiore a quella dei 4 subtimigs principali. Si vede infatti un classico andamento “a gradoni”.
Test frequenze bus e RAM fisse, timing RAM fissi e variazione settaggi P1/P2
Con il bios P04, ovvero l'ultimo disponibile, sono comparse due voci nella sezione RAM, P1 e P2, le quali sono impostatili su Auto o su Enable. Il sistema qui era settato in modo da dare il massimo in termini di bandwith e latenza, quindi 450x7 con memorie a 1800 Mhz. Che impatto hanno sul sistema questi due parametri? Scopriamolo assieme.
Timing Memorie | Read (MB/s) | Write (MB/s) | Latenza (ns) | P1 | P2 |
8-8-8-24 2T | 11846 | 9578 | 50,3 | Enable | Enable |
8-8-8-24 2T | 9285 | 9567 | 66,1 | Auto | Auto |
8-8-8-24 2T | 11849 | 9583 | 50,4 | Enable | Auto |
8-8-8-24 2T | 9285 | 9568 | 65,3 | Auto | Enable |
L'influenza è davvero incredibile. Si parla di 2,6 GB/s di bandwith in lettura e di circa 16 ns di latenza. Un'altra cosa da notare è che è il setting P1 a farla da padrone, nel senso che se è impostato su Enable, fornisce prestazioni analoghe al P1 e P2 Enable. Da verificare se sia un bug del bios, oppure che, dal momento che non possiamo settare Disable ma solo auto, per l'attivazione di P1 sia necessario P2 ma non viceversa. Rimangono in ogni caso due impostazioni da valutare molto attentamente.