Door Tomas Hochstenbach

Redacteur

How-to: AMD Ryzen overklokken

Workshop voor Ryzen 3000 en 5000

06-02-2021 • 06:00

198

Singlepage-opmaak

AMD's turbo: Precision Boost

Boostalgoritmes als Intels Turbo Boost en AMD's Precision Boost proberen het overklokpotentieel van een processor voor een deel al standaard te benutten. Beide technieken maken het mogelijk om de vooraf ingestelde limieten voor de kloksnelheid en het stroomverbruik van de processor te overschrijden, mits alle andere factoren dat toelaten.

Intel bracht dit principe voor het eerst op de markt met de eerste Core i7-processors in 2008, met codenaam Nehalem. De werking was toen doodsimpel. Als niet alle cores volledig werden gebruikt, kon de kloksnelheid van de overgebleven rekenkernen worden opgevoerd in stappen van 100MHz, lees: via de multiplier, tot een bepaald maximum. Als de limieten op het vlak van stroomtoevoer of temperatuur werden bereikt, werd de klokfrequentie stapsgewijs verlaagd totdat dat wel weer het geval was.

Bij Turbo Boost 2.0 (Sandy Bridge, 2011) maakte Intel het mogelijk om voor een korte periode de tdp van de processor te overschrijden. Fabrikanten van retailmoederborden stelden de tijdslimiet daarvoor in de praktijk op oneindig in. Vandaar dat een moderne Intel-chip in een zelfbouwsysteem continu tot boven zijn tdp boost. Vanaf Skylake-X (2017) rust Intel zijn processors uit met Turbo Boost 3.0, waarbij de twee 'beste' cores van een processor nog 100 tot 200MHz hoger kunnen klokken.

Intel Turbo Modus
Een grafische weergave van de werking van Intels Turbo Modus

AMD's tegenhanger was jarenlang Turbo Core, dat we in de Phenom II X6- en FX-processors tegenkwamen. In vergelijking met de techniek van Intel was deze functie relatief basaal. De kloksnelheid werd uitsluitend behaald op basis van de ruimte die overbleef binnen de tdp. Voor de Ryzen-processors ontwikkelde AMD dan ook een compleet nieuw boostprincipe, dat naar de naam Precision Boost luistert.

AMD Precision Boost

Precision Boost is een stuk intelligenter dan oudere turbomethoden. Om te beginnen gebruikt het de input van honderden sensors die continu allerlei aspecten van de processor monitoren. Daarbij moet je onder meer denken aan de temperaturen, de spanning en het verbruik van zo'n beetje elk chiponderdeel. Op basis van al die data wordt elke milliseconde bepaald hoe hoog elke processorkern kan boosten.

Cruciaal zijn verder dat de kloksnelheid op basis van kwart-multipliers kan worden bijgesteld, dus in stappen van 25MHz, en dat de klokfrequentie (sinds Ryzen 2000) lineair schaalt met het aantal cores dat wordt belast. Dat klinkt logisch, maar is bij Intel nog altijd niet het geval; een Core i9 10900K kan fors turbo'en als een of twee cores worden belast, maar werkt altijd op 4,8GHz zodra er tussen de drie en tien cores aan het werk zijn.

AMD Precision Boost 2

In theorie benut AMD dus een groter deel van het potentieel van een processor dan Intel met zijn grovere Turbo Boost doet. Daar werd AMD voor een deel toe gedwongen, omdat de eerste generaties Ryzen-processors over het algemeen niet erg hoog klokten en de beoogde singlecore-turbosnelheid uitsluitend voor de 'best gelukte' cores haalbaar was.

AMD neemt de volgende factoren mee in zijn Precision Boost-algoritme:

  • temperatuur
  • type workload
  • aantal actieve cores
  • stroomverbruik van de complete processor (in watt)
  • stroomverbruik van de cpu-stroomvoorziening (in A)
  • firmware en software (biosversie en chipsetdriver)
  • OS-instellingen
  • boostsnelheidslimiet volgens de productspecificaties

Een aantal van die zaken spreekt redelijk voor zich. Om te voorkomen dat een van de factoren werkt als bottleneck voor het boostmechanisme, is het zaak om een goede cpu-koeler en een moederbord met een afdoende stroomvoorziening te hebben. Ook is het van belang dat je de nieuwste versies van alle software gebruikt.

Omdat het type workload eveneens een factor is, boost de processor doorgaans hoger bij lichtere taken. Dat klinkt misschien een beetje contra-intuïtief, maar een lichte taak verbruikt minder stroom en geeft het boostmechanisme zo meer ruimte. Een voorbeeld van een zware taak is een programma dat gebruikmaakt van langere AVX-instructies, die een relatief groot deel van de rekeneenheden binnen een processor aan het werk zetten.