Veel processors van AMD en Intel hebben niet één soort cores, maar twee: P- en E-cores. Soms is er zelfs een derde type aanwezig. Wat is het verschil tussen die soorten cores en waar is het eigenlijk goed voor om ze te combineren?
De volwaardige Performance-cores zijn de normale cores van vroeger. Het zijn relatief grote cores met veel cache en hoge kloksnelheden. De Efficient-cores zijn kleiner en minder krachtig, maar veel zuiniger. Bovendien kunnen veel E-cores samen toch heel snel zijn in taken die goed over meerdere threads te verdelen zijn.
De verschillen tussen P- en E-cores
- De P-cores (Performance-cores) zijn grote, krachtige cores. Ze zijn het geschiktst voor zware taken die latencygevoelig of niet goed parallel uitvoerbaar zijn, zoals games.
- De E-cores (Efficient-cores) zijn kleine, zuinige cores. Ze zijn vooral goed voor achtergrondtaken en parallel rekenwerk.
- Sommige Intel-processors hebben zelfs nog een derde type cores, de LPE-cores (Low-Power-Efficient-cores), die nog zuiniger zijn.
Het idee achter P- en E-cores
Processors voor smartphones gebruikten het concept van verschillende cores in één chip als eerste. Arm noemde dat toen het big.Little-concept. Het idee was dat de grote, snelle core zo snel mogelijk een zware taak kon afmaken, waarna hij in slaapstand werd gebracht en de kleinere cores de overige taken konden uitvoeren. Die verbruiken veel minder stroom en dat is natuurlijk goed voor de accuduur.
Bij de pc gaat hetzelfde concept op, maar dient het een ander doel. Eén snelle P-core is veel sneller dan een E-core, maar er passen vier E-cores op hetzelfde chipoppervlak als een enkele P-core. Die vier E-cores samen zijn, bij een gelijk stroomverbruik, wél sneller dan de P-core. Daarvoor moet de taak goed te verdelen zijn over meerdere cores.
Deze hybride processors voor desktops en laptops zijn vooral bedoeld om de efficiëntie te verhogen. Die efficiëntiewinst kan op meerdere vlakken liggen. Oppervlakte-efficiëntie is bijvoorbeeld de hoeveelheid prestaties die er uit een mm² chipoppervlak te halen is. Energie-efficiëntie gaat over hoeveel prestaties de processor uit het beschikbare stroombudget perst. Zeker bij laptops is dat niet onbeperkt. Een hybride cpu, met een combinatie van P- en E-cores, kan daarom echt sneller zijn dan een even grote of evenveel stroom verbruikende cpu met alleen maar P-cores.
De kleine cores van AMD en Intel
Het concept van de grote core is bij AMD en Intel hetzelfde. Dat is gewoon de doorontwikkelde 'normale' core van vroeger. De aanpak voor de zuinige core verschilt daarentegen.
Bij Intel is de architectuur van de E-core heel anders. De E-cores zijn in feite verre nakomelingen van de cores die Intel rond het jaar 2010 ontwikkelde voor zijn Atom-processortjes voor netbooks. Intel moest wel functies toevoegen aan de E-cores of juist weghalen uit de P-cores, zodat beide typen dezelfde instructiesets ondersteunen. Hierdoor kunnen alle taken op beide cores draaien. Deze kleine Intel E-cores zitten in clusters van vier en hebben geen eigen L2-cache, maar delen die binnen het cluster.
AMD had niet zo'n tweede type core liggen. De c-cores van AMD, zoals Zen 5c, zijn dan ook simpelweg verkleinde versies van de volwaardige Zen-cores. Ze werken hetzelfde en hebben evenveel cache, maar het ontwerp van de core wordt fysiek kleiner in de chip geëtst. Dit verkleint de afstanden binnen de core, wat hem efficiënter maakt, maar betekent ook dat de kloksnelheid lager ligt.
Wat is het verschil tussen E- en LPE-cores?
Intel heeft naast de E-cores nog een zuiniger type cores. Sommige laptopprocessors beschikken daarom zelfs over drie soorten cores: P-cores, E-cores en LPE-cores. Die laatste is een lowpowerversie van de E-core en heeft dezelfde architectuur, maar zit fysiek op een andere plek binnen de chip.
Hierdoor kan het gedeelte met de krachtigere cpu-cores volledig uit als alleen de LPE-cores in gebruik zijn. Dat bespaart stroom en levert dus een betere accuduur op. Toch heeft de plaatsing in de soctile ook nadelen. Zo kunnen de cores niet langer bij de grote gedeelde L3-cache in de computetile, wat ze langzamer maakt.
In de praktijk zijn de LPE-cores vaak nóg lager geklokt dan de gewone E-cores. Het systeem gebruikt ze onder meer wanneer de laptop in connected stand-by staat.
De software is soms een probleem
Het concept van een hybride processor met verschillende soorten cores is best nieuw. Desktopbesturingssystemen als Windows waren er dan ook niet op gebouwd. De scheduler van het OS is daarom aangepast om te weten welke taken het beste op welke cores kunnen draaien.
Dat is nog best complex, want het gaat verder dan de achtergrondtaken op de E-cores en de voorgrondtaken op de P-cores. Zeker bij een beperkt stroombudget kan het prestatieniveau zelfs hoger liggen als een multithreaded taak op een hele batterij E-cores draait, in plaats van op een paar hoger geklokte P-cores.
OS-makers en processorfabrikanten optimaliseren dit proces dan ook steeds verder. Relatief recent is Intel bijvoorbeeld overgestapt van P-core-first-scheduling, waarbij elke taak per definitie begon op een P-core, naar E-core-first. De scheduler waardeert een taak dan pas op naar een P-core als het prestatiebeeld daarom vraagt.
Tot slot
Verschillende soorten cores combineren maakt het mogelijk om efficiëntere processors te ontwerpen. Je moet efficiëntie daarbij niet alleen opvatten als zuinigheid, maar ook als zoveel mogelijk prestaties uit een bepaald chipoppervlak of stroombudget halen. Deze verschillende typen maken het leven niet makkelijker als je probeert de prestaties van een processor te duiden aan de hand van het aantal cores. Hoe dan ook was het altijd al een beter idee om praktijkbenchmarks voor je eigen gebruiksdoelen op te zoeken, dan puur op de specificaties af te gaan.
/i/2006283560.png?f=imagenormal)
/i/2006283506.png?f=imagenormal)