Lunar Lake bevat om te beginnen een nieuwe P-core met de codenaam Lion Cove, die de Redwood Cove-core van Meteor Lake opvolgt. In tegenstelling tot bij Redwood Cove heeft Intel met Lion Cove weer een verbetering weten te bewerkstelligen in ipc en daarmee in singlethreadedprestaties. Bovendien heeft Intel het complete coreontwerp geschikt moeten maken voor productie op de genoemde TSMC-node, waar alle eerdere P-cores steeds op Intel-processen werden gemaakt en daar ook specifieke eigenschappen van benutten.
Ten opzichte van Redwood Cove zou Lion Cove gemiddeld 14 procent beter presteren op dezelfde kloksnelheid, wat Intel zegt te baseren op de benchmarks SPEC ICX23, Cinebench, Geekbench, WebXPRT4 en Speedometer. Ook bij een gelijk stroomverbruik liggen de prestaties hoger. In de lage tdp-range van laptop-cpu's als Lunar Lake zou het verschil zelfs 18 procent zijn, maar volgens simulaties van de fabrikant loopt dat terug naar 10 procent bij de hoogst mogelijke vermogens.
Verbeteringen aan de microarchitectuur
Hoe komt Intel aan die 14 procent betere prestaties bij dezelfde kloksnelheid? Dat komt grotendeels door het uitbreiden van de rekenkracht van de core. Dat is een stuk ingewikkelder dan simpelweg meer rekeneenheden toevoegen, want ook de aanvoer van de instructies en benodigde data moeten in gelijke mate worden opgeschroefd, anders creëer je bottlenecks.
De frontend van de processor, waarin instructies worden opgehaald, ingedeeld en omgezet in micro-ops, ofwel simpele instructies die de processorcore zonder tussenstappen kan verwerken, is daarom flink op de schop gegaan. Het gedeelte van de core dat branchprediction doet, dus dat voorspelt welke instructies eraan komen en welke data daarvoor nodig is, is acht keer zo groot geworden. De decoder krijgt een upgrade van 6-wide naar 8-wide, terwijl de micro-opcache, het andere 'pad' waarmee instructies bij de rekeneenheden kunnen komen, twaalf in plaats van acht micro-ops per kloktik kan aanleveren. In de praktijk komt het overgrote deel van de instructies bij moderne cpu's via dat tweede pad.
Instructies komen na de decoder of micro-opcache terecht bij de out-of-orderengine, die de kleine instructies zo efficiënt mogelijk indeelt op de rekeneenheden. Ook hier zien we allerlei verbredingen: allocatie en hernoemen gaat van 6 naar 8 per kloktik, het weggooien van micro-ops gaat van 8 naar 12 per kloktik en de 'diepte' van het instructiepad neemt toe van 512 naar 576 stuks.
Het aantal poorten met daadwerkelijke rekeneenheden is op zijn beurt verhoogd van 12 naar 18 stuks. Sommige van die poorten delen functies. De onderstaande tabel toont het totale aantal mogelijkheden van Lion Cove versus zijn voorganger, maar houd daarbij in het achterhoofd dat die niet allemaal gelijktijdig kunnen worden uitgevoerd. Per poort, weergegeven als een kolom in het plaatje, moet er elke kloktik worden gekozen voor één instructie uit het rijtje.
Redwood Cove (Meteor Lake) | Lion Cove (Lunar Lake) | |
Integer-alu's | 5 | 6 |
Jump-units | 2 | 3 |
Shift-units | 2 | 3 |
Mul64-units | 1 | 3 |
Simd-alu's | 3 | 4 |
Fma's | 2 | 2 |
Fp-dividers | 1 | 2 |
Ook bij de caches en het aanvoersysteem daarvan heeft Intel verhogingen doorgevoerd. De translation-lookasidebuffer krijgt een upgrade van 96 naar 128 pages en het aantal storeaddress-agu's is verhoogd van twee naar drie stuks.
Bovendien is er een cacheniveau toegevoegd binnen de core. De oude L1-datacache van 48kB wordt door Intel nu L0 genoemd; de 'nieuwe L1' is met 192kB een stuk groter. De bandbreedte daarvan is niet groter dan die van de L2-cache, maar wel sneller bereikbaar. De L2-cache is vergroot van 2MB naar 2,5MB (Lunar Lake) of 3MB (Arrow Lake), waardoor die een marginaal hogere latency krijgt. Hé, is dat een impliciete bevestiging dat ook de toekomstige desktopgeneratie Arrow Lake gebruik zal maken van deze nieuwe cores? Ja, dat is het. Alle caches zijn overigens niet-inclusief en hoeven dus niet per se ook de data van een cacheniveau lager te bevatten.
Redwood Cove (Meteor Lake) | Lion Cove (Lunar Lake) | |
Instructiecache | 32kB | 64kB |
L0 / 'oude L1' | 48kB, 5ns | 48kB, 4ns |
L1 | N.v.t. | 192kB, 9ns |
L2 | 2MB, 16ns | 2,5 / 3MB, 17ns |
Ontworpen voor TSMC
Lion Cove is de eerste P-core ooit die niet bij Intel zelf, maar in fabrieken van TSMC op een plak silicium zal worden geëtst. Waar de E-cores al veel langer geschikt waren voor externe productie, was daar in het ontwerp van de P-cores nooit rekening mee gehouden. Bij het ontwerpen van Lion Cove heeft Intel dus zijn hele kast aan bouwblokken voor de P-core moeten verversen. Daarbij maakt het gebruik van grotere groepen die niet langer uit tienduizenden, maar uit honderdduizenden of zelfs een miljoen logic cells bestaan. In het ontwerp worden met name grotere flipflops in plaats van latches gebruikt, waardoor de bouwblokken minder handmatig ontworpen circuits bevatten en volgens Intel 'voor 99 procent productieprocesonafhankelijk' zijn. In de toekomst kan Intel zijn P-cores dus relatief eenvoudig terugporten naar een eigen procedé of zelfs een node van een ander bedrijf.
Dan hebben we een van de opvallendste wijzigingen in Lion Cove nog niet gehad: het schrappen van ondersteuning voor Hyper-Threading. Daarover lees je alles op de volgende pagina.