Intel 10nm Ice Lake laptop-processors preview: kleiner, sneller én slimmer?

30 reacties
Inhoudsopgave
  1. 1. Inleiding
  2. 2. Onder de motorkap
  3. 3. CPU-cores: Sunny Cove met 18% hogere IPC
  4. 4. 11e generatie graphics
  5. 5. Thunderbolt 3 en WiFi 6
  6. 6. "Garantie op goede laptops" - Project Athena
  7. 7. Modellen en conclusie
  8. 30 reacties

CPU-cores: Sunny Cove met 18% hogere IPC

De Ice Lake processors maken zoals geschreven gebruik van een nieuwe generatie processorkernen, luisterend naar codenaam Sunny Cove. Zoals we in ons artikel over de 2018 Intel Architecture Day al schreven gebruikt Intel vanaf nu losse codenamen voor gehele processors en voor processorkernen die daarin gebruikt worden. Lakes zijn processors, Coves zijn processorkernen.

Tijdens de Architecture Day beloofde Intel al dat Sunny Cove een aanzienlijk hogere IPC (instructions per clock, het gemiddelde aantal instructies dat een processor per klokslag kan uitvoeren) zou hebben dan Skylake, maar wilde men nog geen cijfer noemen. Dat cijfer krijgen we nu wel en is niet misselijk: over tientallen workloads gemeten komt Intel gemiddeld uit op 18%. Dat is, indien het in de praktijk inderdaad zo blijkt te zijn, de grootste stap die Intel generatie-op-generatie heeft gemaakt dit decennium, waarbij we natuurlijk nogmaals moeten aantekenen dat het inmiddels ook een jaar of vier geleden is dat Intel met Skylake voor het laatst een écht nieuwe cpu-architectuur introduceerde.

Hoe wordt die hogere snelheid behaald? Daarover deed Intel eind vorig jaar al een boekje open: de truc zit hem in een "diepere", "bredere" en "slimmere" architectuur...

"Diepere" architectuur

Om met dieper te beginnen. Zoals bekend bevat iedere CPU-core meerdere execution units die instructies van bepaalde types kunnen uitvoeren. Om zo hoog mogelijke prestaties te behalen is het zaak om alle execution units zo veel mogelijk bezig te houden. Wanneer je programmacode simpelweg in de standaard volgorde uitvoert, heb je in de regel nooit voldoende variëteit in instructies om alle execution units gevuld te houden. Vandaar dat moderne processors instructies in geoptimaliseerde volgorde uitvoeren (out-of-order) om zo veel en zo vaak mogelijk combinaties van instructies gelijktijdig richting de execution units te kunnen sturen. Omdat er in programmacode vaak afhankelijkheden zijn van eerdere instructies (als dit, doe zus, anders zo…) moet een processorarchitectuur voor dergelijke vertakkingen vooraf inschatten welk programmapad het meest waarschijnlijk is, om instructies daarvan alvast te gaan verwerken. Dit is waar de branch predictor om de hoek komt kijken.

Als instructies in geoptimaliseerde volgorde uitgevoerd worden, moet de processor uiteraard wel de oorspronkelijke volgorde van instructies bijhouden om resultaten uiteindelijk in de juiste volgorde op te leveren. Deze oorspronkelijke volgorde wordt bijgehouden in de reorder buffer en die is bij Sunny Cove aanzienlijk vergroot: van 224 naar 352 instructies. Datzelfde geldt voor de reservation stations. In deze buffers worden instructies opgespaard om verwerkt te worden door de execution units en de load and store buffers, waarin benodigde data voor instructies c.q. resultaten van instructies worden bewaard. Het aantal loads dat de processor in het vizier kan houden is verhoogd van 72 naar 128, het aantal stores van 56 naar 72.  Het eindresultaat van deze aanpassingen: het blikveld van de cpu-core is vergroot; er kunnen meer instructies tegelijkertijd in verwerking zijn, waardoor de kans dat alle execution units op ieder moment in tijd bezig kunnen zijn, wordt vergroot. Om ervoor te zorgen dat de hoeveelheid in cache beschikbare data in verhouding blijft, is de L1 datacache verhoogd van 32 kB naar 48 kB en wordt de L2-cache verhoogd van 256 kB per core bij de meeste bestaande Intel-chips naar 512 kB per core. Ook de micro-op cache, intern geheugen waarin gedecodeerde instructies worden bewaard voor het geval ze nogmaals voorbij komen, is flink verhoogd en biedt nu ruimte voor 2250 in plaats van 1500 instructies.

Bredere architectuur

Naast dieper is de architectuur ook breder gemaakt. Zoals je op de afbeelding hierboven kunt zien, heeft iedere Sunny Cove kern een 10-tal execution units, twee meer dan bij Skylake. In theorie zou je dus kunnen zeggen dat bij een optimale mix van instructies een Sunny Cove core 25% sneller kan zijn. Nu zal het zelden voorkomen dat alle 10 de execution units gelijktijdig actief kunnen zijn, maar door verschillende EU’s meer functies te geven, zorgt Intel er ook nog eens voor dat er meer instructies parallel uitgevoerd kunnen worden. Zo zijn er nu twee store units in plaats van één voor het wegschrijven van data naar cache/geheugen, zijn de integer units flexibeler geworden (zo kunnen alle vier nu LEA-instructies uitvoeren, en zijn er nieuwe integerfuncties) en kunnen nu twee floating point units in plaats van één hiervan shuffle-instructies uitvoeren, die onder andere belangrijk zijn voor encryptie en compressie.

Slimmere architectuur

Dan is er het aspect van het slimmer maken van de architectuur. We schreven al dat de branch predictor opnieuw flink verbeterd is, wat één onderdeel hier van is. Bovendien zijn de wachttijden om data uit L1-cache geheugen te halen flink verminderd, en zijn er nieuwe mogelijkheden, zoals het in één klokslag uitvoeren van delingen op integers.

Daar komt bij dat Sunny Cove diverse nieuwe instructies krijgt. Veel daarvan zijn voor het versnellen van cryptografie-algoritmes, belangrijk voor zaken als encryptie of blockchain. Twee voorbeelden van nieuwe instructies zijn een vector versie van de AES-NI instructies (waarmee er dus op meerdere stukken data tegelijkertijd AES-encryptie uitgevoerd kan worden) en nieuwe instructies om hashing volgens het SHA-algoritme te versnellen. 

Een belangrijke toevoeging is DL Boost, een combinatie van nieuwe instructies om AI-algortimes te versnellen. Dankzij DL Boost kan Ice Lake volgens Intel in dergelijke applicaties tot 2,5x sneller zijn dan de bestaande generatie Intel-processors.

0
*