1. Da Ryzen a Threadripper
Dopo un periodo "buio" in cui l'azienda di Sunnyvale ha decisamente faticato a tenere il passo della concorrenza, il rilascio dell'architettura Zen ha segnato un punto di svolta permettendole di tornare competitiva e, soprattutto, di mettersi in luce per un elevato tasso di innovazione da tempo assente nel mercato CPU.
Il caposaldo dell'architettura Zen risiede nella sua scalabilità e modularità ed è basata su macroblocchi quad core denominati CCX (CPU Complex) che, "assemblati" in differenti configurazioni, hanno permesso ad AMD di confezionare le CPU Ryzen e le nuove soluzioni HEDT Ryzen Threadripper di cui ci occuperemo in questa recensione.
Considerata la base comune da cui queste CPU derivano, vi invitiamo, in caso di dubbi, a leggere l'articolo relativo all'architettura Ryzen presente a questo link, dal momento che, in questa sede, ci occuperemo delle differenze che portano da Ryzen a (Ryzen) Threadripper.
Cominciamo subito con una tabella riassuntiva dei modelli disponibili, da cui partirà la nostra analisi sulle differenze architetturali con Ryzen.
Modelli | Threadripper 1950X | Threadripper 1920X | Threadripper 1900X |
Frequenza Base/Turbo | 3,4/4,0GHz | 3,5/4,0GHz | Â 3,8/4,0GHz |
XFR | +200MHz | +200MHz | Â +200MHz |
Core fisici/logici | 16/32 | 12/24 | 6/16 |
Topologia Core (Die0/Die1) | 4+4 / 4+4 | 3+3 / 3+3 | 4+0 / 4+0 |
Cache L2 | 8MByte | 6MByte | 4MByte |
Cache L3 | 32MByte | 32MByte | 16MByte |
Linee PCI-E | 64 (4 per il chipset) | 64 (4 per il chipset) | Â 64 (4 per il chipset) |
Frequenza | 2666MHz Quad Channel | 2666MHz Quad Channel | 2666MHz Quad Channel |
 TDP | 180W | 180W | 140W |
 MSRP | 999$ | 799$ | 549$ |
Come si può notare immediatamente anche dal modello "base", ovvero il 1900X, identico per numero di core al Ryzen 1800X, tutta la famiglia Threadripper dispone di 64 linee PCI-E di cui 4 riservate per il chipset e, quindi, di 60 effettivamente disponibili per la connessione simultanea di 7 device, nonché di un'architettura di memoria Quad Channel.
Le frequenze di base risultano sempre simili a quelle della serie Ryzen, fatto salvo il 1900X per cui si parte da 3,8GHz, mentre quelle di boost sono le più alte disponibili per l'architettura, ovvero 4GHz più un 200MHz di "bonus", per un boost massimo di 4,2GHz garantito dalla tecnologia AMD XFR (eXtended Frequency Range).
Interessante notare, infine, la topologia delle diverse CPU che ci da quindi un'idea di come siano stati utilizzati i CCX per l'assemblaggio delle CPU Ryzen Threadripper.
Il macroblocco base è il classico Zeppelin Die di Ryzen, ovvero un'unità 8 core 16 thread composta da due CCX che hanno accesso, ognuno, a 512kB di cache L2 e 8MB di cache L3.
Nello Zeppelin Die i due CCX sono collegati tra loro mediante tecnologia Infinity Fabric e dispongono di due canali di accesso alla memoria DRAM di sistema.
Per la creazione di Threadripper, come per le piattaforme di classe server AMD Epyc, è stato utilizzato un design MCM (Multi Core Module), la vera e più sostanziale differenza con Ryzen, andando ad inserire nello stesso packaging due Zeppelin Die connessi, nuovamente, tramite tecnologia Infinity Fabric.
Questo accoppiamento ha permesso quindi ad AMD di creare le CPU Threadripper, dalla configurazione full a 16 core e 32 thread sino a quella 8 core 16 thread, andando a manipolare i CCX attivi per ogni Zeppelin Die, mantenendo però su tutta la lineup il supporto a configurazioni di memoria Quad Channel (due canali per ogni die) e ben 64 linee PCI Express (32 per die).
Le dimensioni del prodotto finale sono quindi "lievitate" e da qui la necessità del nuovo socket sTR4 a 4.094 pin; ma non fatevi ingannare, sotto il "cofano" sono presenti sempre due soli Zeppelin Die attivi mentre gli altri due, visti su Internet nelle immagini dei processori scoperchiati, sono da considerare dei semplici distanziali che consentono una migliore resistenza meccanica e uniformità di aderenza della placca metallica superiore.
Da segnalare che per i Ryzen Threadripper AMD procede a uno screaning dei die prodotti selezionando singolarmente gli Zeppelin Die più performanti e solo il 5% di tutta la produzione viene utilizzato per la creazione di queste nuove CPU.
Dato che la sostanziale differenza con Ryzen è il design MCM, vediamo come AMD ha utilizzato l'interconnessione Infinity Fabric tra i due die e cosa questo comporti a livello software e prestazionale.
Come si vede dalla slide, l'interconnessione tra i due Zeppelin Die dispone di una banda passante bidirezionale di 102,22 GB/s con memorie DDR4-3200/2667 e specifiche di accesso alle memorie di 78ns per i moduli in connessione diretta al die e 133ns per quelli più lontani, ovvero quelli connessi all'altro die.
Come si può intuire, quindi, siamo di fronte a una tecnologia di accesso alla memoria di tipo non uniforme (NUMA), in quanto nessuno dei due die ha accesso diretto a tutta la DRAM di sistema, ma può accedere direttamente solo a metà di essa mentre per il resto deve passare dall'altro die.
Ma cosa implica questa topologia a livello di prestazioni e quali sono le "contromisure" adottate da AMD per risolvere potenziali problemi?
La modalità di accesso uniforme (UMA) è quella per cui sono progettate la maggior parte delle applicazioni e consente un accesso diretto a tutta la memoria di sistema consentendo di indirizzare le richieste da qualsiasi core a qualsiasi cella di memoria, sarà poi il core attivo che ha inviato la richiesta a preoccuparsi di recuperare il dato ed elaborato.
La modalità NUMA, invece, prevede che l'accesso sia "localizzato": il core che necessita dell'informazione manda la richiesta al blocco di memoria più vicino, ovvero quello direttamente connesso.
Questa situazione può portare ad un utilizzo ridotto di tutte le risorse disponibili in quanto le applicazioni non progettate per l'utilizzo in modalità NUMA, pilotate dal sistema operativo, tenderanno a sfruttare solo i core con accesso diretto alla memoria e, in caso di task che non andassero ad occupare tutte le risorse disponibili, solo uno dei due Zeppelin Die risulterebbe attivo con notevole spreco di risorse e maggior lentezza di elaborazione.
Per ovviare a questi problemi AMD ha implementato in Threadripper degli switch software disponibili nell'utility Ryzen Master ed integrati anche direttamente nel BIOS così da premettere alle CPU di "nascondere/rivelare" la loro natura NUMA.
In questo modo l'applicazione vede la CPU MCM come un monolite e, a parte un leggero aumento di latenza dovuto alla necessità di reindirizzare i dati verso il core che ne ha fatto la richiesta, se ovviamente l'informazione non era disponibile nella parte di memoria collegata al die interessato, non vi è alcun problema.
Come si può vedere, è possibile selezionare la modalità di funzionamento tramite il software AMD Ryzen Master andando a scegliere la voce Distributed per la modalità UMA, preferibile per le applicazioni di produttività e content creation, o quella Local, ovvero NUMA, da preferire in caso di utilizzo di applicazioni più influenzate dalla latenza di accesso ai dati e che normalmente utilizzano un numero limitato di core, ovvero i giochi.
Nella schermata è inoltre possibile vedere, sulla destra, lo switch per il "Legacy Mode" ovvero la modalità di compatibilità con i videogame che hanno problemi con CPU con numero di core superiore a 20 o che non sono ottimizzate per sfruttare al meglio tutte le risorse disponibili.
Questo switch permette di ridurre i core visibili dal sistema a 16 per Ryzen Threadripper 1950X e a 12 per il 1920X.
In base quindi alla destinazione di utilizzo, produttività o gioco, AMD, per rendere ulteriormente trasparente all'utente lo switch delle due modalità di accesso alla memoria, ha inserito nel Ryzen Master i due profili Creator Mode e Game Mode che, come è facile immaginare, quando selezionati si occupano di abilitare l'una o l'altra modalità di accesso alla memoria senza ulteriori interventi richiesti all'utente.
Concludiamo con una slide informativa riguardo il nuovo chipset X399 progettato appositamente per Threadripper e con una che ne presenta le differenze con X370, la soluzione di punta per Ryzen e socket AM4.
Da segnalare che X399 è in grado di fornire 2 porte USB 3.1 Gen 2, 6 USB 3.1 Gen 1, due ulteriori linee PCI-E Gen 3 e 8 linee PCI-E Gen 2 che i produttori di schede madri possono utilizzare, rispettivamente, per fornire 4 connettori SATA o 2 SATA Express aggiuntivi o, ancora, per abilitare dispositivi quali controller di rete, Wireless, Bluetooth e altri.