Door Tomas Hochstenbach

Redacteur

Intel 12th Gen 'Alder Lake' Review

Intel is terug, en hoe

De 'performance core': Golden Cove

Golden Cove, de 'snelle core' in Alder Lake, is wat we vroeger een volwaardige tock hadden genoemd: een vernieuwde architectuur. De generieke prestaties moeten hoger liggen dankzij een breder en dieper ontwerp, terwijl de microarchitectuur ook over nieuwe functies en acceleratiemogelijkheden beschikt. Zo kunnen specifieke halfprecisionberekeningen direct worden verwerkt, wat vooral AI-software moet versnellen.

Alle verbeteringen samen leiden volgens Intel tot een ipc-verbetering van 19 procent, wat even veel of zelfs iets meer is dan de stap die Sunny Cove bracht ten opzichte van Skylake. Er zijn uitschieters, zowel omlaag als omhoog. Enkele applicaties werken zelfs marginaal langzamer op de nieuwe chips. Dat zijn vooral taken die gebruikmaken van AVX512, de instructieset die Intel heeft weggelaten bij Golden Cove om feature-parity met de zuinige cores te bereiken. Je moet daarbij bijvoorbeeld denken aan workloads die bepaalde cryptografische instructies gebruiken. Het verlies van AVX512 wordt ten dele opgevangen doordat de core intrinsiek sneller is geworden, waardoor de laagste uitschieters niet al te ver onder de nullijn ten opzichte van de vorige generatie uitkomen.

Overigens gaf Intel aan dat het werkt aan een manier om de eis van gelijke instructieondersteuning tussen de zuinige en snelle cores te omzeilen en zodoende AVX512 in de toekomst weer toe te voegen aan processors.

Hieronder gaan we dieper in op de veranderingen in de verschillende onderdelen van de Golden Cove-core. Over het algemeen kun je stellen dat Intel vooral heeft gefocust op het versnellen van de frontend van de processor, met meer beperkte aanpassingen aan de backend. De reden daarvoor hangt samen met een van de hoofddoelen van het team dat aan deze core heeft gewerkt: het beter geschikt maken van de core voor 'large footprint code'. Intel zegt dat het een duidelijke toename ziet in de grootte van code en instructies, onder meer bij op het web gebaseerde applicaties. Deze grotere code moet door alle onderdelen van de frontend passen en is daarom de reden van veel aanpassingen in dat gedeelte van de core. Voordat de instructies bij de backend aankomen, zijn ze al in kleinere micro-ops gehakt, waardoor de impact van deze optimalisaties daar minder groot is.

Frontend

Als we inzoomen op de architectuurverbeteringen van Golden Cove, beginnen we natuurlijk bij de frontend. Dit deel van de core haalt x86-instructies op, die lang en ingewikkeld kunnen zijn, en hakt ze op in zogenaamde micro-ops waarmee de rekeneenheden daadwerkelijk aan de slag kunnen. In de frontend zijn twee paden om dit doel te bereiken. Het traditionele pad haalt instructies op uit de L1-cache, zet ze in de wachtrij en decodeert ze een voor een. Het tweede en veel snellere pad kan worden bewandeld als een gedecodeerde instructie al in de micro-opcache staat. In de praktijk komen instructies vaak meer dan eens terug, waardoor telkens opnieuw decoderen niet nodig is.

Om de hitrate van de micro-opcache verder te verhogen, kunnen daarin niet langer 2250, maar 4000 micro-ops worden opgeslagen. Dat is dus bijna een verdubbeling ten opzichte van Sunny Cove, dat op zijn beurt al een veel grotere cache had dan de 1500 entries van Haswell en Skylake.

Een van de zaken die Intel heeft uitgebreid om het uitvoeren van grote code te versnellen, is de itlb. Daarin worden fysieke, bij virtuele adressen horende geheugenlocaties gecachet. Er is ruimte voor dubbel zoveel adressen: 256 in plaats van 128 4k-adressen en 32 in plaats van 16 2m/4m-adressen. Ook de branch target buffer kan bij Golden Cove veel meer entries bevatten: 12.000 in plaats van 5000 bij Sunny Cove.

Intel Golden Cove frontend

Nu nieuwe instructies sneller kunnen worden aangevoerd, moet ook de snelheid omhoog waarmee ze gedecodeerd kunnen worden. Intel heeft dat probleem van twee kanten aangevlogen. Het aantal decoders is verhoogd van vier naar zes stuks en de lengte van de instructies die ze in een kloktik kunnen decoderen, is vergroot van 16 naar 32 bytes. Ten slotte is de wachtrij waarin de micro-ops aan het einde van de frontend terechtkomen, de micro-opqueue, licht vergroot van 70 naar 72 entries per thread. Op het moment dat er geen tweede thread actief is, bijvoorbeeld als je hyperthreading uitschakelt of als er even geen werk is voor de virtuele thread, kunnen dat er zelfs 144 worden. AMD's Zen-architectuur kon alle resources al volledig voor één thread gebruiken, maar Sunny Cove nog niet.

Backend

In de backend worden de berekeningen daadwerkelijk uitgevoerd. De out-of-orderengine haalt de micro-ops op uit de micro-opqueue en stuurt ze zodra alle benodigde variabelen bekend zijn, naar de execution-units. Zowel de allocatie (van vijf naar zes) als de werkelijke executionports (van tien naar twaalf) zijn uitgebreid, terwijl de reorderbuffer een forse upgrade van 352 naar 512 entries krijgt.

Intel Golden Cove out of order

Bij de integerunits is de belangrijkste wijziging dat er een vijfde alu-poort is toegevoegd, die net als de bestaande vier poorten ook lea-instructies kan uitvoeren. Aan de vectorkant van de pipeline zijn twee fadd-units toegevoegd, die twee floatingpointvectors in één kloktik kunnen optellen. Bovendien zijn de fma-units geschikt gemaakt om halfprecisionberekeningen (fp16) uit te voeren.

Zoals gezegd heeft Golden Cove twee nieuwe executionports. Naast de vijfde alu-poort voor integers is ook een nieuwe loadpoort toegevoegd, waardoor het aantal load- en storepoorten niet langer gelijk is. Er zijn nu drie loadpoorten die ieder een 256bit-load kunnen doen of samen twee 512bit-loads. De twee storepoorten zijn ongewijzigd.

Bij Sunny Cove werd de L1-datacache vergroot naar 48kB en daaraan is bij Golden Cove niets veranderd, maar die grotere cache moet nu wel efficiënter kunnen worden gebruikt. De data-tlb is vergroot van 64 naar 96 entries, het aantal fillbuffers gaat van 12 naar 16 en ook de prefetcher is geoptimaliseerd. Het aantal pagewalkers, gelijktijdige zoekopdrachten in de pagetable, is verdubbeld van twee naar vier.

Intel Golden Cove L1 cache

Bij Willow Cove zette Intel al de stap om de L2-cache fors te vergroten, van 512kB naar 1,25MB per core. Die tussengeneratie heeft de desktop echter nooit bereikt, dus in vergelijking met Sunny/Cypress Cove in de Rocket Lake-processors is dit een vernieuwing. De Golden Cove-core die voor Xeon-cpu's zal worden gebruikt, heeft overigens nog meer L2-cache: 2MB per core. Om de vergrote L2-cache goed te kunnen benutten, is het aantal toegestane cachemisses verhoogd van 32 naar 48 en zijn diverse optimalisaties aan de prefetcher gedaan.

Intel Golden Cove L2 cache

Specifiek de datacentervariant van Golden Cove heeft nog één extra functie die bij de consumenteneditie ontbreekt: Advanced Matrix Extensions, een hardwarematige versneller voor tiled-matrix-multiplicationberekeningen. Die worden standaard al versneld tot 256 int8-instructies per kloktik met VNNI, maar AMX verachtvoudigt dat nog eens naar 2048 int8-berekeningen.

Lees meer

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee