Inleiding: terechte hype?
Zelden waren de verwachtingen voor de introductie van een processorgeneratie en bijbehorend platform zo hoog gespannen als bij AMD's Zen-architectuur, met de Ryzen-processors en het AM4-platform als eerste exponent. Die hype heeft een paar oorzaken. Ten eerste is er al behoorlijk lang weinig gebeurd op processorgebied, zowel uit AMD's hoek als vanuit het Intel-kamp. Natuurlijk hebben beide fabrikanten in de afgelopen jaren allerlei nieuwe processorgeneraties uitgebracht, maar een grote stap met de architectuur is al lange tijd niet gemaakt. Veel tweakers zijn nog tevreden met hun Sandy Bridge-processor, misschien wel de laatste generatie waarmee een significante prestatiewinst ten opzichte van de voorgaande generatie werd geboekt.
Wie in het AMD-kamp zit, wacht al helemaal met smart op een nieuwe generatie. Na de Phenom-processors kwam AMD met een nieuwe architectuur, maar die Bulldozer-architectuur bleek allesbehalve het succes dat AMD met een compleet nieuwe architectuur beoogde. Nu komt AMD opnieuw met een volledig nieuwe architectuur, Zen genoemd, en rust daar allereerst zijn high-end desktopprocessors mee uit. Die generatie krijgt de codenaam Ryzen en aan de hand van die eerste processors zullen we de Zen-architectuur, Ryzen en het AM4-platform nader bekijken.
/i/2001424871.png?f=imagenormal)
De processors: Ryzen 7
De eerste golf processors die AMD uitbrengt, is de Ryzen 7-serie, bedoeld voor high-end desktops en gamesystemen. Het gaat om drie processors, alle drie octacores met zestien threads. Het topmodel is de Ryzen 7 1800X, die op 3,6GHz geklokt wordt. Het model eronder is de Ryzen 7 1700X, die met een standaardkloksnelheid van 3,4GHz lager is geklokt. De twee X-modellen hebben een tdp van 95W gekregen en worden zonder koeler geleverd. De gedachte hierachter is dat de 'prosumers' die deze processors kopen, een eigen aftermarketkoeler gebruiken. Het derde model wordt wel met koeler geleverd en heeft een tdp van slechts 65W, maar de acht cores zijn nog altijd op 3GHz geklokt.
/i/2001424927.png?f=imagenormal)
De Ryzen 7-processors hebben een tweekanaals-ddr4-geheugencontroller ingebouwd. Afhankelijk van het type geheugen en de configuratie daarvan kunnen snelheden tot 2667MT/s ingesteld worden. Uiteraard kunnen die snelheden verder opgeschroefd worden door dat in het bios in te stellen. De 2667MT/s geldt alleen als twee reepjes geheugen met single rank gebruikt worden. Dual-rank-geheugen met twee bezette slots kan op 2400MT/s draaien en met vier bezette slots zijn de snelheden voor single- en dual-rankmodules respectievelijk 2133MT/s en 1866MT/s. Dat kan nog lastig worden, want veel geheugenfabrikanten geven niet duidelijk op hoeveel ranks hun modules hebben. Daar zul je in veel gevallen flink naar moeten zoeken.
/i/2001424929.png?f=imagenormal)
AMD introduceert de processors stapsgewijs, met de Ryzen 7 1800X en 1700X die het spits afbijten. Later deze maand moet de Ryzen 7 1700 volgen. In de loop van het jaar moeten bovendien nog twee andere series volgen: de Ryzen 5 en Ryzen 3. Die worden, zoals de Ryzen 7 als tegenhanger voor Intels Core i7-serie bedoeld is, tegenover Intels Core i5- en i3-series gepositioneerd. De Zen-architectuur moet bovendien voor apu's gebruikt gaan worden. Die processors kunnen in dezelfde AM4-borden als de Ryzen-processors geprikt worden. Let er wel op dat niet elk AM4-bord over video-uitgangen beschikt. Dat geldt vooral voor de high-end borden met X370-chipset. Zen moet daarnaast voor zuinige laptopprocessors gebruikt kunnen worden, zodat AMD met zijn nieuwe architectuur het complete spectrum van laptop tot server kan bedienen.
/i/2001424925.png?f=imagenormal)
Het platform: AM4
Met een nieuwe generatie processors heeft AMD ook een nieuw platform geïntroduceerd. AM4 volgt niet alleen het AM3-, maar tegelijk ook het FM2-platform op. Daarmee trekt AMD de sockets voor zijn high-performanceprocessors, processors zonder ingebouwde gpu en mainstream-apu's mét geïntegreerde grafische chip gelijk. Die laatste moeten in de loop van het jaar komen, maar de eerste Ryzen-processors, de snelste serie Ryzen 7, zijn als eerste verkrijgbaar.
De Ryzen-processors voor AM4 hebben de codenaam Summit Ridge gekregen. De eerste zijn de Ryzen 7-processors met acht cores; daarna volgen de Ryzen 5- en Ryzen 3-series, met vier tot zes cores en in het geval van de Ryzen 3-serie geen smt. De bijbehorende chipset heet Promentory en wordt in vijf versies uitgebracht. Later dit jaar komen ook accellerated processing units, kortweg apu's, op de markt die de codenaam Raven Ridge dragen. Het is niet helemaal duidelijk of er nog meer AM4-processortypes met de Zen-architectuur komen; AMD zegt in ieder geval dat de architectuur schaalt van zeer zuinige tot serverchips. Dat laatste is al bevestigd, want later dit kwartaal komen er nieuwe serverchips met maximaal 32 Zen-cores aan boord, met de codenaam Naples. In AMD's overzichten zijn naast A-series apu's ook Athlons genoemd, dus wellicht komen er nog meer Zen-varianten voor het AM4-platform.
/i/2001424931.png?f=imagenormal)
De chipsets voor het AM4-platform zijn de X370, B350, A320, X300 en A300. Die laatste twee zijn echter nauwelijks chipsets te noemen, aangezien alle i/o-connectiviteit in die gevallen van de processors afkomen. De Summit Ridge-processors hebben namelijk niet alleen pci-expresslanes aan boord, maar ook vier sata-poorten en vier usb 3.0-poorten. Eigenlijk moeten we zeggen dat er twee sata-expresspoorten beschikbaar zijn, die ieder twee satapoorten en twee pcie-gen3-poorten kunnen leveren. Fabrikanten kunnen dus naar keus sata-express of sata-600-aansluitingen implementeren en zo pcie-lanes vrijmaken.
Bovendien bestaat de mogelijkheid een nvme-m2-ssd via vier pcie-lanes direct op de processor aan te sluiten. Daarnaast zijn er zestien pcie-lanes bestemd voor de videokaart en worden de X370-, B350- en A320-chipsets door middel van vier pcie-lanes verbonden.
De chipsets leveren de overige aansluitingen, waaronder standaard usb 3.1-poorten, een paar extra usb 3.0-poorten en zes usb 2.0-poorten. Met de X370- en B350-chipsets kunnen processors overgeklokt worden, net als bij de X300-'chipset'. De A320- en A300-chipsets ondersteunen dat niet.
De Zen-architectuur
Hoe heeft AMD zijn kleine wonder weten te volbrengen? Het bedrijf had een flinke achterstand op pure prestaties en had zich dan ook het ambitieuze doel gesteld de ipc met 40 procent te verbeteren ten opzichte van de Excavator-architectuur. Afhankelijk van de benchmarks zegt AMD dat doel voorbij gestreefd te hebben en een tot 52 procent hogere ipc te hebben gerealiseerd. Uit onze eigen tests blijkt inderdaad dat het bedrijf met de Zen-architectuur een enorme sprong heeft gemaakt, maar hoe?
Voor de cores zelf is AMD afgestapt van gedeelde hardware; iedere core is een volwaardige core geworden met een eigen integer- en floating-point-unit. Voor het eerst heeft AMD multithreading-technologie in zijn cores geïmplementeerd, die lijkt op Intels Hyperthreading-techniek. Dat betekent dat met AMD's smt- of simultaneous-multithreadingtechniek nu twee executie-threads door een enkele core laat uitvoeren.
/i/2001424935.png?f=imagenormal)
Laten we eerst even verder kijken hoe de Zen-cores zijn opgebouwd, later zullen we de architecturale verbeteringen onder de loep nemen. De cores zijn met vier stuks ondergebracht in een zogeheten core-complex, afgekort als ccx. Zoals inmiddels bekend is, wordt Zen door GlobalFoundries gemaakt volgens het 14nm lpp finfet-procedé. Een ccx telt in totaal ruwweg 1,4 miljard transistors en heeft een oppervlakte van 44 vierkante millimeter. Dat is inclusief een gedeelde 8MB L3-cache. Daarnaast heeft elke core van 7 vierkante millimeter een eigen 512kB grote L2-cache met daarnaast een 32kB-data- en een 64kB-instructiecache, beide L1-caches. Ryzen-processors krijgen twee van dergelijke ccx'en, maar de opzet van Zen is dat deze modules naar wens op en neer te schalen zijn.
/i/2001424933.png?f=imagenormal)
Naast de cores die in ccx'en zijn ondergebracht, heeft AMD de Zen-architectuur ook de nodige i/o gegeven. We kennen natuurlijk al lang de geïntegreerde geheugencontroller, die in Zen met ddr4-geheugen overweg kan. Daarnaast is de pcie-controller gebleven, die bij Ryzen in totaal 24 pcie-lanes levert. Bovendien is Zen ingericht om als soc te dienen; er zijn ook een nvme- en satacontroller, en een usb-controller in de Ryzen-processors ingebouwd. In theorie is voor een minimaal systeem dus geen southbridge nodig, maar die kan wel aangesloten worden via vier pcie-lanes.

Om die cores en ccx'en binnen en buiten de die met elkaar te verbinden heeft AMD een nieuwe interconnect ontwikkeld, die het zijn 'infinity fabric' noemt. Die kan gebruikt worden als interconnect tussen cpu- en gpu-cores, wat voor de op Zen gebaseerde apu's natuurlijk goed van pas zal komen. De infinity fabric kan ingezet worden om cores onderling te verbinden, maar ook om dies of sockets met elkaar te verbinden. Daarbij moet de fabric zeer goed schalen, zodat je het aantal cores kunt verhogen zonder aan prestaties in te boeten. Zo is AMD ook in staat zijn Naples-serverprocessors in twee sockets met ieder 32 cores met elkaar te verbinden en bijna lineaire scaling te bereiken.
/i/2001424939.png?f=imagenormal)
De Zen-core
Elke Zen-core binnen een core-complex beschikt uiteraard over een front-end, een dataverwerkingsblok en outputcaches. Elke core kan op zijn eigen spannning en frequentie draaien binnen het ccx, onder meer door geen fivr, maar een ldo voor de spanningsregulatie te gebruiken. Een zogeheten digital frequency synthesizer of dfs zorgt voor de individuele kloksnelheden.
In de frontend is de branch-prediction flink verbeterd; het verkeerd voorspellen van een branch kost drie cycles minder, elke branch-targetbuffer heeft twee branches gekregen en AMD heeft een neuraal net ingezet om betere branch-predictions te verkrijgen. Instructies kunnen zo beter klaargezet worden in de instructiecache of op-cache. Het daadwerkelijk versturen van instructies naar de rekeneenheden via de dispatch-queue is makkelijker geworden dankzij zes in plaats van vier instructies per tik.
/i/2001424953.png?f=imagenormal)
De frontend-queues worden gedeeld door de integer- en floating-point-units, maar anders dan Intel zijn de schedulers voor de twee units gescheiden. Het integerblok heeft zes eigen schedulers met ieder 14 μops, terwijl de floating-point-unit vier schedulers voor 36 µops heeft. Ter vergelijking, Intel gebruikt een scheduler-organisatie met 97 gedeelde entries, tegenover 120 entries totaal voor Zen. In Bulldozer telde de integer-scheduler 48 instructies en de fp-scheduler 60 µops. De schedulers geven de μops door aan vier alu's en twee agu's; Bulldozer had slechts twee alu's en twee agu's per module van twee 'cores'. In de fpu zijn vier fp-execution-units actief, twee voor add en twee voor multiply. Saillant detail is dat optimalisaties voor avx2, zoals Intel ondersteunt, ontbreken.
/i/2001424941.png?f=imagenormal)
Om data weg te schrijven is de L1-datacache beschikbaar met een latency van 4 of 5 cycles voor de integerunit en 7 tot 8 cycles voor de fpu. In elke cycle kunnen 128 bits worden opgeslagen en twee keer zoveel geladen. De prijs om naar de L2-cache te schrijven is een latency van 12 cycles, een verbetering ten opzichte van de 20 cycles van Bulldozer. De laatste cache-latency, de L3-cache, bedraagt 35 cycles en heeft een bandbreedte van 32 bytes. De retire-capaciteit is bovendien uitgebreid van 4 naar 8 instructies en de bijbehorende queue is ook uitgebreid, net als de load- en store-queue overigens; die zijn nu voor 192, 72 en 44 instructies geschikt.
/i/2001424943.png?f=imagenormal)
Dat alles moet leiden tot een aanzienlijke ipc-verbetering vergeleken met Bulldozer en Excavator. Bovendien ondersteunen Zen-cores nu dus multithreading, wat nog meer prestatieverbeteringen oplevert. Vergeleken met Excavator moet de ipc met 52 procent verbeterd zijn. Bovendien zijn alle cores in Zen volwaardige cores, met eigen schedulers en eigen integer- en floating point-units. In de vorige generatie werden de fpu's nog gedeeld, wat mindere prestaties oplevert. Dat is volgens AMD nog zonder specifieke optimalisaties in Zen, waarmee het bedrijf aangeeft dat er meer winst te behalen valt dankzij procesoptimalisaties, architecturale tuning en optimalisaties in het compilen van software voor de Zen-architectuur.
Energie: een zuinige AMD?
De eerste processors met Zen-architectuur zijn de Ryzen 7-processors, die zoals bekend een tdp van 95W of zelfs 65W gekregen hebben. Dat is nogal een prestatie: een smt-octacore met 65 tot 95W. Daarmee is AMD in een klap een van de zuinigste processorfabrikanten en verstookt een Ryzen 7-processor minder energie dan een gelijkwaardige Intel Broadwell E-chip. Daarmee zijn het absolute verbruik en de prestaties per watt gigantisch verbeterd ten opzichte van de vorige generaties. Hoe heeft AMD dat voor elkaar gebokst?
Een flinke winst zit natuurlijk in het procedé waarmee de chips gebakken worden. Het low power plus 14nm finfet-procedé van GlobalFoundries leidt tot een rendementsverbetering van ongeveer 70 procent ten opzichte van de Excavator-generatie. Volgens AMD hebben de architectuur en het power design van Zen echter een veel grotere invloed op de verbeterde energiebehoefte. De architectuur zou 129 procent verbetering leveren en de rangschikking van de componenten, dus het fysieke ontwerp, nog eens 31 procent. Ten slotte is AMD's Pure Power-ontwerp, dat door het hele ontwerp is geweven, nog eens goed voor 40 procent winst. Daarmee moet de totale performance per watt met zo'n 270 procent verbeterd zijn. Als we de Cinebench-prestaties van de 1800X met die van de 8370E, beide 95W-processors, vergelijken, komen we op 250 procent verbetering. Dus dat klopt aardig.
Voorlopig zien we in Ryzen-desktopprocessors een zeer zuinige, krachtige Zen-architectuur
Het 14nm-procedé is vrij vanzelfsprekend, maar hoe zit het met de rest? AMD heeft de Zen-cores van meet af aan ontworpen voor hoog rendement, en dat begint met compacte cores. Het core-complex met vier Zen-cores is 44mm² groot, inclusief 6mm² aan L2-cache en 16mm² aan L3-cache. De clock distribution, de methode om het kloksignaal te verspreiden en verantwoordelijk voor ongeveer 36,1 procent energieoverhead in Excavator, is efficiënter gemaakt en vergt in Zen ongeveer 26,8 procent overhead. De caches zijn iets zuiniger gemaakt en vragen nu 30,6 procent, waar dat in Excavator 32,6 procent was. Dat laat 42,6 procent van het energiebudget over voor nuttig werk in de execution-units, waar dat in Excavator 31,6 procent was. Een verbetering van ongeveer 35 procent dus.
AMD's Pure Power-techniek maakt gebruik van het SenseMI-netwerk, dat bestaat uit honderden sensors die spanningen, kloksignalen en andere aspecten continu monitoren. Daarbij wordt de spanning op 48 punten gecontroleerd en de warmteontwikkeling op 20 punten. Ook spanningsvallen worden gemeten en zo nodig gecompenseerd. Samen met de ldo, die spanningen levert, en de kloksignaalgenerator kan elke core zo optimaal worden aangestuurd en van de juiste spanning worden voorzien om optimaal op de ingestelde kloksnelheid te functioneren. Dat noemt AMD Adaptive Voltage and Frequency Scaling en zo kunnen spanningen op millivoltniveau en kloksnelheden in stappen van 25MHz gereguleerd worden, met latencies van maximaal 1 milliseconde.
/i/2001424945.png?f=imagenormal)
Bovendien is het ontwerp van Zen niet geoptimaliseerd voor alleen desktopprocessors, maar moet de architectuur ook schalen naar zuinige processors voor ventilatorloze laptops en tablets, tot krachtige serverprocessors. Over die volle range kan Zen optimaal presteren. Voorlopig zien we in Ryzen-desktopprocessors in ieder geval een zeer zuinige, krachtige Zen-architectuur aan het werk, die Intel op het gebied van prestaties per watt het vuur aan de schenen legt.