Ny cachestruktur och Turbo Boost 3.0

Arkitekturen Skylake lanserades augusti 2016 och lanseras nu åter för Intels nya High-End Desktop-plattform (HEDT). Det handlar dock inte enbart om fler än fyra kärnor, utan även en helt ny cachestruktur där mängden L2-cacheminne går upp flerfaldigt på bekostnad av L3-nivån.

Sedan arkitekturen Nehalem har varje kärna haft ett 256 KB L2-cacheminne exklusivt för varje kärna. Detta har haft sällskap av en större mängd L3-cache som delats av alla kärnor. Mängden L3-cache har oftast legat på upp till 2,5 MB per kärna, vilket inneburit att datan i L2-cacheminnet kunnat kopierats dit tio gånger innan den skrivits över av ny.

Intel-Core-X-cache.jpg

Med Skylake-X fyrdubblas L2-cacheminne till 1 MB (1 024 KB), medan mängden L3-cache går ned från upp till 2,5 MB till 1,375 MB per kärna. Att varje kärna har mer cacheminne ska enligt Intel ge ett överlag positivt avtryck på prestandan, på bekostnad av högre fördröjningar eller latens när en kärna behöver komma åt datan i L3-cacheminnet eller från en annan kärna. Bandbredden mellan minnet på L2- och L1-nivå har också gått upp till 128 B per klockcykel.

I praktiken innebär detta att prestandan vid en given klockfrekvens (IPC) blir något högre per kärna, detta trots att arkitekturen bakom L2- och L3-cacheminnet är i stort oförändrad. Varje kärna i en Skylake-X-processor har således inte samma prestanda som som Skylake eller Kaby Lake för sockel LGA 1151, men hur stor eller rentutav obefintlig skillnaden är varierar mellan applikationer.

Intel-Core-X-AVX-512.png

I samband med Skylake-X introduceras instruktionen AVX-512, som dubblerar den teoretiska beräkningskraften jämfört med AVX2. Precis som tidigare innebär användningen av AVX att processorn drar mer och genererar mer värme, vilket i sin tur innebär att de inte kan kliva upp i samma klockfrekvenser som vanligt. Intel menar därför att AVX-512 inte ger prestandavinster i alla lägen, utan att utvecklare får titta på det från fall till fall.

Bättre kommunikation mellan kärnor

Samtidigt som Intel skyfflat om i cacheminnet introducerar de en ny metod för kommunikation mellan kärnor. Tidigare har L3-cacheminnet varit kopplat till vad Intel kallar Ring Bus, genom vilken kärnorna kommunicerat med varandra. För framförallt servrar där antalet kärnor kan bli runt 20 stycken har flera av dessa ringar med tillhörande kärnor kopplats samman.

Intel-Core-X-ring-bus.jpg

Med Skylake-X byts detta ut mot ett Mesh Interconnect, som binder samman såväl kärnor som minneskontroller, I/O-anslutningar och dylikt. Varje komponent i ett sådant har en egen switch, där vilka samtliga delar går igenom för att kommunicera med varandra.

Intel-Core-X-mesh.png

Enligt Intel ger detta flera fördelar, där de mest handfasta är lägre latens och högre bandbredd till lägre spänning i jämförelse med en Ring Bus. Designen gör också Intels sätt att skapa processorer på mer modulärt, där de enklare kan lägga till fler kärnor, minneskontroller och I/O-anslutningar än tidigare.

Turbo Boost 3.0 integreras i Windows 10

Med förra generationens Broadwell-E introducerade Intel Turbo Boost 3.0, som genom mjukvara avgjorde vilka kärnor som klarade högst klockfrekvens till lägst spänning. Det här gjorde det möjligt att få ut mer prestanda ur enkeltrådade applikationer än med vanliga Turbo Boost 2.0.

Funktionen var dock inte helt sömlös att använda. Dels behövde den aktiveras i moderkortets BIOS/UEFI och att det fanns fullt stöd för Turbo Boost 3.0 var inte alltid en självklarhet. Därtill behövde användaren installera en särskild mjukvara från Intel och finessen fungerade enbart med en kärna.

Intel-Core-X-Turbo-Boost-3.jpg

Med Skylake-X förbättras Turbo Boost 3.0 väsentligt. Nu ska det finnas i alla moderkort och bör fungera, samtidigt som Intels mjukvara ersatts av att stöd för Turbo Boost 3.0 integrerats direkt i Windows 10. Dessutom fungerar funktionen med upp till två kärnor samtidigt istället för högst en.