Avatar di Andrea Ferrario

a cura di Andrea Ferrario

Editor in Chief

Latenza memoria

Rilevazioni AMD Latenza cache L1 Latenza cache L2 Latenza cache L3 Latenza memoria
Miglioramenti latenza 13% 34% 16% 11%

I processori AMD di prima generazione mostravano una latenza di memoria più alta del previsto che aveva (e ha tuttora) un impatto prestazionale nelle applicazioni sensibili alla memoria. AMD dice di aver ridotto la latenza della memoria dell'11%, insieme ad alcune riduzioni chiave nella latenza delle cache L1, L2 e L3 per i processori della serie 2000. Partiamo con i sottosistemi di memoria e Infinity Fabric, poi passiamo ai test IPC.

Abbiamo usato SiSoftware Sandra per misurare la latenza di cache e memoria con tre differenti modelli di accesso, cosa che ci dà maggiori informazioni di un singolo test. I modelli di accesso sequenziali sono quasi interamente pescati nelle TLB, quindi il test sequenziale è una buona misura delle prestazioni del prefetcher. Il test in-page random misura gli accessi casuali all'interno della stessa pagina di memoria. Misura anche le prestazioni TLB e rappresenta le prestazioni casuali nel caso migliore - questa è la misura che i produttori usano nelle specifiche ufficiali. Il test completamente casuale ha un mix di TLB hit e miss, insieme a una forte probabilità di miss, quindi quantifica la latenza nel caso peggiore.

Abbiamo testato sia Ryzen 7 1800X che Ryzen 7 2700X sulla stessa motherboard X470 per vedere i miglioramenti. Abbiamo incluso i risultati dei test con Ryzen 7 2700X a DDR4-2933 per la configurazione stock, DDR4-3466 per la configurazione overcloccata e DDR4-2666 per normalizzarlo con Ryzen 7 1800X.

lat mem 01
lat mem 02
lat mem 03
In breve, osserviamo grandi miglioramenti nella latenza della memoria in tutte le prove. Con frequenze di memoria e timing normalizzati a DDR4-2667, Ryzen 7 2700X garantisce miglioramenti impressionanti rispetto a Ryzen 7 1800X, malgrado il modello di accesso ai dati. I miglioramenti del 2700X raggiungono 11,49% per il modello di accesso sequenziale full random, 6,64% per quello in-page e 9,35% per quello sequenziale.

Questi numeri sono impressionanti, ma Infinity Fabric è più veloce portando la memoria ai DDR4-2933 stock del 2700X. L'interconnessione lega IMC e core, quindi vediamo miglioramenti persino maggiori del 18% nel test full random, il 13,4% con il modello di accesso in-page random e il 12,9% nel test sequenziale.

AMD non ha illustrato a sufficienza i passaggi intrapresi per migliorare la latenza della memoria, ma sospettiamo che l'azienda abbia migliorato nettamente sia Infinity Fabric che il controller di memoria integrato.

Latenza cache e Bandwidth

Modello di accesso alla memoria a parte, i pezzi di dati più piccoli s'inseriscono nella cache L1. E con l'aumentare della dimensione del dato, questo va a popolare le cache più grandi, come abbiamo illustrato in tabella.
L1 L2 L3 Memoria principale
Range 2KB - 32KB 512KB - 8MB 512KB - 8MB 8MB - 1GB

lat cache 01
lat cache 02
lat cache 03
lat cache 04
lat cache 05
% miglioramento rispetto al 1800X L1 L2 L3
In-Page 11.11% 51.72% 26.38%
Full-Random 11.11% 53.5% 25.64%
Sequenziale 11.11% 13.3% 13.3%

Abbiamo misurato riduzioni della latenza cache maggiori che superano le proiezioni di AMD, anche se forse l'azienda ha usato modelli di accesso differenti per i test. In ogni caso i risultati che illustriamo in tabella sono impressionanti.

Vediamo anche un notevole incremento del bandwidth della cache. Alimentare i core con latenza minore e un throughput maggiore è una doppia vittoria sul fronte prestazionale. I processori Intel serie S hanno ancora un grande vantaggio nel bandwidth single-core L1, ma la cache L2 di AMD è misurabilmente più veloce sia nei test single che multi-thread. AMD ha persino una latenza cache L2 e L3 migliore dei processori Intel in diversi test.

Infinity Fabric

Il complesso progetto Zen+ fonde insieme due CCX con quattro core con Infinity Fabric, che è un crossbar che gestisce anche IMC, northbridge e traffico PCIe. Come tale la latenza di questa interconnessione è una considerazione critica per assicurare che i miglioramenti della latenza di memoria che abbiamo visto possono realmente essere offerti ai core.
lat inf fab 01
lat inf fab 02
Processor Multi-Core Efficiency di SiSoftware Sandra ci aiuta a illustrare le prestazioni di Infinity Fabric. Usiamo il test Multi-Threaded con l'impostazione "best pair match" - latenza più bassa. L'utility misura i tempi di ping tra i thread per quantificare la latenza dell'interconnessione in ogni possibile configurazione. Abbiamo ridotto questi test alle medie di latenza per i diversi percorsi, ma andate qui per una spiegazione più dettagliata dei vari componenti.

AMD ha ridotto la latenza intra-core di Ryzen 7 2700X dell'11,8%, e l'importante latenza cross-CCX dell'8,3%. Notiamo anche che Ryzen 7 2700X ha un bandwidth dell'interconnessione decisamente migliorato. Il ring bus di Intel e mesh hanno ancora un vantaggio nelle latenze core-to-core.

Istruzioni per clock

A causa del tempo ridotto, abbiamo svolto un insieme preliminare di test legati all'IPC. È possibile che ulteriori ottimizzazioni o un insieme di carichi di lavoro più ampi potrebbero restituire risultati differenti, ma lo scopriremo nei giorni a venire. Abbiamo impostato una frequenza statica di 3 GHz per i test.

Il nostro test single-core Cinebench espone un miglioramento dell'IPC dell'1,61% per Ryzen 7 2700X e mentre AMD ha migliorato il risultato, Intel ha ancora un vantaggio per quanto riguarda il throughput IPC. Passare al test Multi-Threaded Cinebench espone un miglioramento del 2,6%.

Il Core i9-7820X integra due unità FMA 256-bit AVX per core che operano in parallelo, mentre l'architettura Zen dei Ryzen divide le operazioni 256-bit AVX tra due unità FMA per core. Questa differenza permette a Skylake-X di avere un chiaro vantaggio nel test y-cruncher, che è un programma single e multi-thread che calcola il Pi usando istruzioni AVX. Vediamo un aumento del 3,9% nei risultati Multi-Threaded del 2700X in y-cruncher rispetto a Ryzen 7 1800X, ma i miglioramenti nelle prestazioni single-thread AVX sono marginali.

Vediamo risultati simili nei nostri test crittografici single-core, anche se Ryzen 7 2700X ha un grande vantaggio rispetto al 1800X nel carico di codifica Multi-Threaded AES-256-ECB. L'architettura Zen include due acceleratori AES crittografici per ogni core, quindi non sorprende vedere Ryzen dominare sugli Intel mainstream nei test AES-256-ECB.