Architectuur: Skylake-X versus Skylake (2)
Naast de komt van AVX512 en de nieuwe meshstructuur zijn er nog een aantal belangrijke verschillen tussen de nieuwe Skylake-X processors en de bestaande Skylake-X chips; een nieuwe cache indeling en Turbo Boost 3.0.
Nieuwe cache-indeling
Al sinds de 1e generatie Core-processors, kiest Intel er bij zijn architecturen voor om iedere CPU-kern 256 kB eigen L2-cache te geven. Daarnaast bevatten de CPU altijd een flinke, tussen alle cores gedeelde L3-cache, die bij de laatste generaties high-end desktop CPU’s (Broadwell-E) 2,5 MB per core besloeg en dus bij 10-core CPU’s neer kwam op 25 MB. Deze L3-cache was inclusive, wat betekent dat alle data die in de per core specifieke L2-cache werd geplaatst, ook in L3 moest staan. Het voordeel van die opzet is dat wanneer core A data nodig heeft van core B, deze altijd direct is terug te vinden in de gedeelde cache. Er hoeft dus niet eerst een verzoek te worden doorgestuurd om de data van de eigen L2-cache naar de gedeelde L3-cache te kopiëren. Een ander voordeel is dat het coherent houden van caches eenvoudig is. Wanneer meerdere cores werken aan dezelfde data en één ervan doet een aanpassing, wordt die direct in L3 verwerkt. Op basis daarvan kunnen de andere cores heel snel bepalen of zij wellicht data in hun eigen L2-cache hebben staan die niet meer up-to-date is. Een nadeel van een inclusive cache is echter dat de totale hoeveelheid data die gecached kan worden kleiner is: van de 20 MB L3-cache bij een 10-core Core i7 6850K was altijd 2,5 MB een kopie van de data in de 10 256 kB L2-cache segmenten.
Bij Skylake-X heeft Intel de cache-architectuur drastisch op de schop genomen. De hoeveelheid eigen L2-cache die iedere core tot z’n beschikking heeft is verviervoudigd van 256 kB naar maar liefst 1 MB. Dat betekent dat alle cores veel meer data ‘dicht bij huis’ kunnen houden om bewerkingen mee te doen. De L2-hitrate, ofwel de kans dat data die een core nodig heeft in de eigen cache staat, wordt daarmee flink hoger, wat de prestaties uiteraard doet toenemen. De gedeelde L3-cache is daarentegen afgenomen naar 1,375 MB per core, en dus 13,75 MB bij een 10-core CPU. De cache is echter niet langer inclusive, zodat niet langer een gedeelte verloren gaat aan het opslaan van een kopie van alle data in L2-caches. Dat betekent dat de volle 13,75 MB gebruikt kan worden voor data uitwisseling tussen cores, met als prijs dat de caching algoritmes door de exclusive opzet wel een stuk ingewikkelder zijn geworden.
Intel geeft aan dat de nieuwe cache-architectuur voor aanzienlijke prestatiewinsten kan zorgen. Wat we uiteraard niet moeten vergeten is dat Skylake-X CPU’s in principe server CPU’s zijn. Aanpassingen als deze zijn dan ook primair door ontwikkelingen in server workloads ingegeven. De achterliggende gedachte is vermoedelijk dat krachtige Xeon CPU’s meer en meer voor virtualisatie worden toegepast, waarbij er meerdere software-installaties op één CPU draaien, die elk gebruik maken van enkele ‘eigen’ cores. Het uitwisselen van data tussen cores is in een dergelijke situatie minder van belang, terwijl het versnellen van single-core performance een flink voordeel kan bieden.
Op de desktop, waar er nog veel single-threaded software is, kan de verviervoudiging van de L2-cache in specifieke gevallen uiteraard ook voor een prestatiewinst kunnen zorgen, terwijl je ook kunt beredeneren dat in situaties waar één programma alle cores gebruikt, de nieuwe opzet juist een negatieve invloed kan hebben op de prestaties. Wanneer we verderop in de benchmarks grote verschillen zien tussen een 10-core Broadwell-E en een 10-core Skylake-X, kan deze cache-opzet daar zo maar eens de grootste factor in zijn.
Overigens lijkt het erop dat Intel de extra L2-cache en de AVX512 functionaliteit buiten het oorspronkelijke core-ontwerp heeft geplaatst. Zodoende is de basis van de cores echt identiek aan bestaande Skylake-CPU’s, maar zitten rondom de cores binnen Skylake-X dus extra transistors voor de toegevoegde functionaliteit.
Turbo Boost 3.0
Een ander verschil tussen Skylake en Skylake-X is de ondersteuning voor Turbo Boost 3.0, een functionaliteit die we al kennen van de Broadwell-E high-end desktop CPU’s. Na productie bepaalt Intel met interne tests voor iedere Skylake-X CPU die van de band rolt wat de twee “beste” cores zijn. Wanneer slechts een of twee cores in gebruik zijn, zal de CPU altijd proberen de workload naar die twee cores te verplaatsen, waarna de maximale turbo-klokfrequentie verder verhoogd wordt.
Zo heeft topmodel Core i9 7900X voor willekeurige cores bij single- en dual-threaded applicaties een maximale turbo-klokfrequentie van 4,3 GHz. Dankzij Turbo Boost 3.0 wordt dat verhoogd naar 4,5 GHz wanneer de workload op de juiste cores zit.
Een extra driver is niet meer nodig; sinds de Windows 10 Anniversary Edition zit ondersteuning voor Turbo Boost 3.0 in Windows 10 ingebakken.
5 besproken producten
Vergelijk | Product | Prijs | |
---|---|---|---|
![]() |
Intel Core i5 7640X Boxed
|
Niet verkrijgbaar | |
![]() |
Intel Core i7 7740X Boxed
|
€ 375,843 winkels |
|
![]() |
Intel Core i7 7800X Boxed
|
€ 415,742 winkels |
|
![]() |
Intel Core i7 7820X Boxed
|
€ 572,951 winkel |
|
![]() |
Intel Core i9 7900X Boxed
|
€ 1.242,643 winkels |