Från kompromissfylld till förbättrad chiplet-design

AMD tog marknaden med storm med introduktionen av första Ryzen Threadripper. Efter att Intel i ett decennium hållit i taktpinnen och bestämt att entusiaster inte behövde särskilt många kärnor, slog AMD på stort med 16 stycken. Intels reaktion kom osedvanligt snabbt då bolaget snabbt skred till verket med att introducera modeller med upp till 18 kärnor, från tidigare 10 stycken för Skylake-X.

Året därpå sjösattes den smått polerade arkitekturen Zen+, där AMD tog fasta på den högre energieffektiviteten för att introducera hela 32 kärnor. Trots ett aldrig tidigare skådat antal kärnor blev inte Ryzen Threadripper 2990WX klockren för alla prestandajägare. Ryzen Threadripper var redan tidigare en kompromissdesign, något som förstärktes ytterligare när AMD tog steget över 16 kärnor.

Infinityfabric_latens.jpg

Ryzen Threadripper blev första gången AMD släppte en processor som utgjordes av flera kretsar för konsumenter. För modeller med 8, 12 och 16 kärnor handlade det om två stycken kretsar, vardera med en tvåkanalig minneskontroller och upp till 8 aktiva kärnor.

Att Ryzen Threadripper 1000- och 2000-serien hade fyra minneskanaler var därmed en sanning med modifikation, då det i praktiken handlade om två separata minneskontroller. Det innebär att om en arbetslast höll sig inom en krets endast fick tillgång till två minneskanaler med hälften av den teoretiska bandbredden fyra minneskanaler erbjuder som följd.

Distributedmode_UMA.jpg
Localmode_NUMA.jpg
UMAvsNUMA.jpg

För att göra det bästa av situationen kan användare köra processorn i två olika lägen för minnet. Den ena heter Unified Memory Architecture (UMA), där alla minnestransaktioner sprids över alla fyra minneskanaler. Det ger högre minnesbandbredd, men ökar den interna latensen då anropen sprids över båda processorkretsar och de anslutna minnesmodulerna.

Om latenser är av största vikt finns istället mer traditionella Non-Uniform Memory Access (NUMA) eller lokalt minnesläge. I detta läge arbetar processorn endast mot minneskontrollern som är kopplad till respektive krets, något som ger lägre bandbredd men också lägre latenser. Användare med Intel-processorer behöver inte göra såna här avvägningar och kompromisser.

Threadripper Tech Day_Joe Macri_Architecture-14.jpg
Threadripper Tech Day_Joe Macri_Architecture-15.jpg
Threadripper Tech Day_Joe Macri_Architecture-17.jpg

När AMD väl gick upp till 24 och 32 kärnor fick de ta till en oortodox lösning för att behålla kompatibilitet med sockel TR4. Trots fyra kretsar var det endast två av dessa som hade aktiva minneskanaler, vilket innebar att övriga två var tvungna att gå ett extra steg för att få åtkomst till primärminne.

Resultatet blev kompromisserna från tidigare plus att hälften av kärnorna nu fick hög minneslatens. Det här återspeglades i verkligheten då processorerna presterar väldigt inkonsekvent mellan olika applikationer. Vid exempelvis 3D-rendering presterar processorerna som väntat, men så snart det blir minnesintensivt störtdyker prestandan som är att vänta av de många kärnorna.

När AMD nu introducerar Ryzen Threadripper 3000 blir detta ett minne blott.

Ryzen Threadripper 3000 – chiplet-design till nästa nivå

Likt ordinarie Ryzen 3000-serien använder Ryzen Threadripper 3000 en design där minneskontroller och input/output (I/O) sitter på en separat krets. Till denna ansluts senare flera processorkretsar med åtta kärnor vardera, för att ta fram mångkärniga modeller.

Fördelen med detta är en enhetlig minneskontroller och PCI Express som samtliga kärnor har lika tillgång till. Vid sidan om arkitekturen Zen 2 och tillverkning på 7 nanometer är detta den förändring som ger nya Ryzen Threadripper klart störst lyft ställt mot föregående generation.

3G Ryzen Threadripper_Press_Deck (1)-26.jpg
3rd Gen Ryzen Threadripper_Deck_Slide 26 (1)-2.jpg

En annan nackdel med tidigare design som sällan nämns är att en signifikant del av strömbudgeten går åt till Infinity Fabric On-Package (IFOP), det vill säga kommunikationen mellan processorkretsarna. Med Ryzen Threadripper 3000 och den nya designmetodologin reduceras detta med 27 procent.

Den direkta följden av detta är att en mindre del av strömbudgeten går åt till internkommunikation och att mer kan användas för saker som högre klockfrekvenser. Med andra ord ger den nya designen inte enbart markant bättre minnesprestanda, utan låter även processorkärnorna prestera bättre.

3rd Gen Ryzen Threadripper_Deck_Slide 26 (1)-1.jpg

Första vågen Ryzen Threadripper 3000 bygger kring en så kallad I/O-die som mäter in på massiva 416 mm² och har 8,34 miljarder transistorer. Designmässigt är den identisk med senaste Epyc "Rome", men istället för att tillverkas på Globalfoundries 14-nanometersteknik är denna producerad på 12 nanometer.

Anledningen till att AMD tillverkar kretsen på Globalfoundries 12 nanometer är högre marginaler för minnesfrekvenser. Med Epyc räcker det att hålla sig inom officiella specifikationer för DDR4, men för Ryzen Threadripper är möjligheten att trimma och överklocka ett försäljningsargument.

Till denna I/O-die ansluts fyra CCD-kretsar, vardera med 8 kärnor Zen 2 och 32 MB L3-cacheminne – exakt samma typ av kretsar som används i Ryzen 3000 och senaste Epyc. Tillverkningen sker således på TSMC:s 7-nanometersteknik och varje krets ligger på nätta 74 mm², där vardera har 3,9 miljarder transistorer.

Toppmodellen Ryzen Threadripper 3970X är utrustad med fyra fullfjädrade processorkretsar, vilka ger totalt 32 kärnor och 64 trådar med sammanlagt 128 MB L3-cacheminne. "Instegsmodellen" Ryzen Threadripper 3960X har också fyra kretsar, men här är 2 kärnor inaktiverade på varje. Det ger totalt 24 kärnor och 128 MB L3-cacheminne.