AMD Ryzen Threadripper 1950X / 1920X review: AMD terug in de lead!

AMD's nieuwe 12- en 16-core processors vergeleken met Intel Skylake-X

Door


Onder de motorkap: twee chips, één processor

Zoals geschreven is Ryzen Threadripper in principe een combinatie van twee fysieke Ryzen-chips in één verpakking. Deze CPU's zijn dus gebaseerd op exacte dezelfde technologie als de andere Ryzen chips. Onze gedetailleerde verhandeling over de onderliggende architectuur kan je teruglezen in onze Ryzen 7 1800X review. Alle zaken die je daarin leest over de Zen-architectuur, over de opbouw met core complexen, over SMT en over technieken als Pure Power, Precision Boost en XFR zijn ook van toepassing op Threadripper.

Elk van de twee chips die de basis vormen voor een Threadripper processor biedt 8 cores, een dubbele DDR4-geheugencontroller en 32 flexibele I/O-lanes, waardoor het totaal van de combinatie dus neer komt op 16 cores, quad-channel DDR4 en 64 I/O-lanes, waarvan het gros kan worden ingezet als PCI-Express 3.0.

Zoals je weet uit onze Ryzen 7 1800X review maakt AMD in zijn nieuwste CPU's (en vanaf Vega ook in de GPU's) gebruik van de Infinity Fabric technologie om chiponderdelen onderling te laten communiceren. Binnen het Infinity Fabric bestaan er afzonderlijke bussen voor aansturing en voor datacommunicatie. Power Management is een integraal onderdeel van Infinity Fabric. Een enkele Ryzen-chip (of die, om het correct te zetten) bestaat uit verschillende onderdelen, waarvan de belangrijkste zijn: twee core complexen (CCX'en), een dual-channel geheugencontroller en een PCI-Express controller. Het zijn deze onderdelen die via Infinity Fabric met elkaar in verbinding staan. Een CCX is de bouwsteen van Zen-gebaseerde chips en bestaat uit een combinatie van een viertal cores met 8 MB gedeelde L3-cache. 

Threadripper combineert twee chips in één processor. Die twee chips praten onderling ook via het Infinity Fabric protocol. Volgens AMD biedt de verbinding tussen beide chips een bi-directionele bandbreedte van 102,22 GB/s. Zoals bekend van de Ryzen CPU's werkt de Infinity Fabric-bus op dezelfde klokfrequentie als het geheugen; gebruik je sneller geheugen, dan gaat Infinity Fabric en dus ook de interne communicatie binnen de CPU ook sneller.


Een Threadripper processor bestaat uit twee Ryzen-chips met elk 8 cores en een dual-channel geheugencontroller.

Die bus tussen beide chips zal in de praktijk flink gebruikt worden. Zoals bekend uit onze Ryzen-review hebben alle cores 512 kB eigen L2-cache en is er daarnaast per CCX nog 8 MB gedeelde L3-cache. Die cache is echter niet enkel beschikbaar voor de cores uit de eigen CCX, maar ook voor andere. Bij Ryzen dus ook voor cores uit de tweede CCX en bij Ryzen Threadripper ook voor cores uit de andere die. In totaal bevatten de Threadripper CPU's op die manier 32 MB gedeelde L3-cache. Wanneer een core data nodig heeft uit een deel van de L3-cache dat in een andere CCX zit, zal er dus een tocht over Infinity Fabric gemaakt moeten worden, waarbij het bereiken van cache in de andere fysieke chip natuurlijk langer duurt (lees: een hogere latency heeft) dan cache binnen de tweede CCX in dezelfde die.

Datzelfde is natuurlijk het geval bij het gebruiken van de geheugenmodules. De Threadripper CPU's hebben een quad-channel geheugencontroller, waarvan twee kanalen aangestuurd vanuit chip één en twee vanuit chip twee. Wanneer een core uit chip één data nodig heeft uit geheugen dat fysiek is gekoppeld aan chip 2, zal er eveneens een tocht worden gemaakt over de Infinity Fabric bus die beide chips verbindt.

De 102,22 GB/s is in ieder geval veel meer dan de bandbreedte van DDR4-2667. Op dat vlak is er dus geen bottleneck. De uitdaging zit hem meer in de latency; AMD geeft aan dat het bereiken van lokaal (lees: aangesloten aan de 'eigen' chip) geheugen vanuit de core een gemiddelde latency heeft van 78 ns; bij geheugen aangesloten op de twee chip is dat gemiddeld 133 ns. Dat is natuurlijk een aanzienlijk verschil en als je datzelfde bekijkt vanuit de caches wordt het verschil nog groter. Op basis van onze metingen is de latency voor het benaderen van L3-cache binnen de eigen CCX gemiddeld 7,9 ns, L3-cache binnen de tweede CCX van dezelfde chip gemiddeld 20,9 ns en L3-cache op de twee chips zelfs gemiddeld 81,3 ns. waarmee de L3-cache een gelijke access latency heeft als geheugen. Voor software die beter schaalt met lage latency dan met hoge bandbreedte of veel cores is er overigens een oplossing; waarover mee op de volgende pagina. Uitgebreidere benchmarks van de latencies en bandbreedtes vind je verderop op de pagina Benchmarks: Creator Mode versus Game Mode.

De Infinity Fabric-verbinding tussen de twee chips is op papier de achilleshiel van de Threadripper CPU's. In de praktijk blijkt dat echter reuze mee te vallen, zoals we verderop zullen zien. De meeste multi-threaded workloads zijn sowieso zo ontwikkeld om benodigde data zo veel mogelijk binnen lokale caches te houden. Zoals we verderop ook zullen zien, de multi-core schaling van Threadripper is dik in orde.


De Infinity Fabric verbinding om cache uit een andere CCX of geheugen gekoppeld aan een andere die aan te spreken is in potentie de achilleshiel van het platform.

1920X en 1900X

Belangrijk om te weten is dat bij de Threadripper processors de verdeling van de cores over de chips altijd evenredig is. Bij de 16-core Threadripper 1950X zijn alle cores ingeschakeld: 2 chips x 2 CCX'en x 4 cores = 16. Bij de 12-core Ryzen Threadripper 1920X is er in elk van de CCX'en één core uitgeschakeld. Die CPU's hebben dus een 2 x 2 x 3 opbouw. Bij de nog niet beschikbare 1900X ten slotte zijn in alle CCX'en twee cores uitgeschakeld. Deze processor krijgt dus een 2 x 2 x 2 opbouw. Dat betekent dat de prestatiekarakteristieken van de 1920X en 1900X niet zullen afwijken van die van de 1950X.

Twee chips... of toch vier?

We hebben het de hele tijd over twee chips binnen Threadripper, maar wie de een tijdje geleden verschenen video van de beroemde Duitse overklokker der8auer heeft gezien zal de wenkbrauwen fronsen. Hij delidde een engineering sample van een Threadripper CPU,waarbij bleek dat de CPU niet twee, maar vier chips bevat. Hoe zit dat? 

Het klopt dat Threadripper CPU’s onderhuids inderdaad vier chips hebben. Twee daarvan zijn echter dummy chips, die niks doen. Sterker nog; AMD geeft aan dat deze chips niet eens een volledige productierun hebben doorlopen en dus geen transistors bevatten. Waarom zitten ze er dan? Simpelweg om de CPU te stabiliseren. AMD liet ons weten dat vanwege beperkte resources ervoor is gekozen om Threadripper exact dezelfde socket en verder fysieke eigenschappen te geven als de Epyc server-processors, waarin vier chips zitten. Hierdoor moet het ook bij Threadripper vier chips plaatsen om de heatspreader stabiel te positioneren. De twee werkende chips zitten overigens diagonaal ten opzichte van elkaar, om zo de warmte van de CPU zo goed mogelijk de verdelen.


De gedelidde Threadripper-CPU. Bron: der8auer.


Dossier

Lees ook deze processor artikelen op Hardware.Info

Vond je deze review nuttig?

Lees dan voortaan onze uitgebreidste reviews als eerste én steun deze site, met een abonnement op Hardware.Info Magazine - nu ook alleen digitaal beschikbaar!

Hardware.Info is volledig onafhankelijk. Onze reviews zijn puur gebaseerd op objectieve testresultaten en onze eigen ervaring met de producten. Deze reviews kan je hier gratis lezen, maar dat is alleen mogelijk dankzij de steun van onze trouwe lezers. Met een abonnement op Hardware.Info Magazine steun je deze site en lees je de uitgebreidste 100% hardware reviews als eerste. Neem dus nu een abonnement, je hebt er al een voor 26,50 euro!

Neem nu een abonnement en steun Hardware.Info

*