Arkitekturen Zen 2

Arkitekturen Zen 2 är till skillnad från Zen ingen ny design "från grunden", något som också är extremt ovanligt att göra. Att arkitekturer lever vidare under väldigt många år och förbättras hör till vanligheten, oavsett om vi talar om processorer för konsumentbruk eller grafikkort.

Mark_Papermaster-Next_Horizon_Gaming-Architecture_06092019-8.jpg
Mark_Papermaster-Next_Horizon_Gaming-Architecture_06092019-13.jpg
Mark_Papermaster-Next_Horizon_Gaming-Architecture_06092019-7.jpg
Mike_Clark-Next_Horizon_Gaming-CPU_Architecture_06092019-2.jpg
Mike_Clark-Next_Horizon_Gaming-CPU_Architecture_06092019-3.jpg
Mike_Clark-Next_Horizon_Gaming-CPU_Architecture_06092019-4.jpg

Med tillverkningstekniken 7 nanometer räknade inte AMD med att kunna nå högre klockfrekvenser, utan trodde inledningsvis på en tillbakagång. Målet blev därför tidigt att fokusera på högre prestanda vid en given klockfrekvens, det vill säga antalet instruktioner per klockcykel (IPC).

Enligt AMD var den interna målsättningen med Zen 2 att nå 8–9 procent högre IPC. I slutändan landade de på 15 procent och enligt Mike Clark uppnåddes detta genom att "plocka all lågt hängande frukt" i Zen, eliminera uppenbara flaskhalsar i designen och att utöka befintliga funktioner.

Mike_Clark-Next_Horizon_Gaming-CPU_Architecture_06092019-5.jpg
Mike_Clark-Next_Horizon_Gaming-CPU_Architecture_06092019-6.jpg

En bra arkitektur kräver en bra Front End, som kan mata delarna som utför de faktiska beräkningarna. Med Zen 2 introducerar AMD vad de kallar för en ny TAGE Branch Predictor, vilken bolaget menar är mycket mer precis på att förutse nästa steg än den Branch Predictor som sitter i Zen(+). Det hela förstärks av större buffertzoner (eng. Branch-Target Buffers, BTB) än tidigare och en dubblering av Micro-Op Cache.

Mike_Clark-Next_Horizon_Gaming-CPU_Architecture_06092019-7.jpg

Sett till flyttalsberäkningar handlar det om en dubblering i teoretisk prestanda, detta tack vare att bredden på flyttalsenheten utökats från 128 till 256 bitar. Ett av huvudskälen till detta stavas AVX2, vilket är en x86-förlängning med instruktioner som Intel var först ut med att introducera.

Arkitekturen Zen(+) har redan förmågan att utföra AVX2-beräkningar, men då bredden på flyttalsenheten endast är 128 bitar tar dessa instruktioner två klockcykler (kallas ofta "double pump"). Med Zen 2 räcker det således med en klockcykel. Det här är varför AMD vågar hävda fyra gånger högre flyttalsprestanda med serverprocessorerna Epyc "Rome", som utöver den här arkitektoniska förändringen dessutom dubblerar antalet kärnor till 64 stycken.

Mike_Clark-Next_Horizon_Gaming-CPU_Architecture_06092019-9.jpg
Mike_Clark-Next_Horizon_Gaming-CPU_Architecture_06092019-10.jpg

Till skillnad från de rykten som florerat fram till sommaren har AMD gjort en del ingrepp även på heltalsfronten. I Zen 2 tillkommer en tredje Adress Generation Unit (AGU) för snabbare adressering av minne, medan antalet Arithmetic Logic Unit (ALU) för logiska och aritmetiska operationer är fortsatt fyra. Samtidigt har AMD ökat mängden resurser på annat håll för ytterligare prestandavinster.

Dubblerat L3-cacheminne

AMD:s nya chiplet-design, som vi går igenom i ett senare avsnitt, innebär nya utmaningar. Att flytt ut minneskontroller till en separat krets ger de facto högre minneslatenser än att om den satt på samma bit kisel som processorkärnorna. Trots detta lovar AMD förbättrade minneslatenser med Zen 2.

Mark_Papermaster-Next_Horizon_Gaming-Architecture_06092019-12.jpg

För att kompensera för den nya designmetodologin har AMD dubblerat mängden L3-cacheminne mot tidigare. Varje CCX-kluster med fyra kärnor har nu hela 16 MB L3-cacheminne. Det här gör att en 6- eller 8-kärnig processor med två CCX-kluster har 32 MB L3-cacheminne och att 12- samt 16-kärniga modeller med fyra CCX-kluster landar på 64 MB. Toppmodellerna i serverfamiljen Epyc "Rome" med 64 kärnor får massiva 256 MB.

Mike_Clark-Next_Horizon_Gaming-CPU_Architecture_06092019-10.jpg
Mike_Clark-Next_Horizon_Gaming-CPU_Architecture_06092019-11.jpg

Vidare har varje kärna precis som tidigare 512 KB L2-cacheminne och datacachen (L1-D) ligger även den fast på 32 KB. När det kommer till instruktionscachen (L1-I) har denna halverats från 64 till 32 KB, vilket kan härledes till dubbleringen av Micro-Op Cache. Enligt AMD gav den här förändringen generellt bättre prestanda med dagens moderna arbetslaster.

Större cacheminne medför i regel högre latenser, något som är fallet på L3-nivå där antalet cykler gått upp från 35 till 40 stycken jämfört med Zen+. Cache på L1-nivå (data- och instruktionscache) ligger kvar på 4 cykler och även L2-cacheminnet är oförändrat 12 cykler.

Högre klockfrekvens med 7 nanometer

Den nya arkitekturen i kombination med TSMC:s 7-nanometersteknik gör att AMD kan nå högre klockfrekvenser än tidigare. På lanseringsdagen blir den nya toppmodellen 12-kärniga Ryzen 9 3900X med en maximal turbofrekvens på 4,6 GHz. I september släpps också 16-kärniga Ryzen 9 3950X som kliver upp till 4,7 GHz.

Mike_Clark-Next_Horizon_Gaming-CPU_Architecture_06092019-18.jpg

Det här handlar om maximala frekvensvärden som uppnås genom att låta AMD:s algoritmer sköta jobbet. Vid manuell överklockning över samtliga kärnor är lägre klockfrekvenser att vänta och kan rentutav ge sämre prestanda i många fall. AMD menar därför att traditionell överklockning över alla kärnor kan vara roligt för att köra prestandatester som Cinebench, men att de som vill ha ut högre prestanda i alla fall bör använda Precision Boost Overdrive istället.