Den mest uppenbara frågan skulle vara: hur vet processorn till vilken typ av kärna och vilken av dem den ska tilldela varje arbetsbelastning och med vilka instruktioner den ska fungera? Det är förvisso en bra fråga, men för det måste vi sätta djupet av problemet i ett sammanhang.
Komplexiteten mellan hårdvara och mjukvara
En av särdragen med den nya Intel-arkitekturen är att den inte kommer särskilt bra överens med “gamla” operativsystem. Det fungerar smidigt, men prestandan är inte exakt densamma och det är helt och hållet mjukvarans fel.
Windows 10 och de nuvarande versionerna av Linux har för närvarande inte en kärna anpassad till en ny uppgiftsschemaläggare från den blå jätten som heter Thread Director, som vi redan pratat ingående om i sin motsvarande artikel, men som samtidigt är helt kopplad till huvudpersonen i detta.
Så om bara Windows 11 är redo för Alder Lake, hur är det med det andra operativsystemet? Tja, som vi säger, de är inte optimerade och kräver en genomgripande förändring om du vill dra nytta av de nya fördelarna med dessa processorer. Problemet ligger hos operativsystemets programmerare, eftersom det är den som bestämmer vilken av alla free logiska processorer kan arbeta med den mjukvarutråd som är avsedd att tilldelas.
Alternativen i det här fallet är bara två:
- OS bestämmer att free logisk processor kommer att vara den med maximal prestanda eftersom det är den minsta tid det tar med den typen av tråd eftersom systemet har hög prestanda.
- OS bestämmer att free logisk processor måste vara en högeffektiv sådan eftersom den för den typen av tråd är mer optimal eftersom systemet är programmerat att vara så effektivt som möjligt.
Och här kommer Intels förklaring för den enkla beräkningen av en uppgift, eftersom när programmeraren av operativsystemet väljer den här positionen mellan två logiska processorer i CPU:n, är båda variabler som i, j, k1 och k2.
Prestandaförhållandet skulle beräknas enligt Intel som: Perfijkx = Perfikx / Perfjkx , medan effektivitetsförhållandet för detta problem skulle beräknas som Energyijkx = Energyikx / Energyjkx . Därför har operativsystemet mycket att säga här eftersom programmeraren i det hypotetiska fallet efter exemplet ovan kunde fastställa att Perfijk1> Perfijk2.
Så programtråden k1 skulle gå till logisk processor j, medan K2 skulle gå till logisk processor j. Vad händer om två mjukvarutrådar tillhör samma ID? Tja, väldigt enkelt, eftersom OS-programmeraren kan välja flera logiska processorer för prestanda eller effektivitet för att utföra uppdragen.
Så här fördelas laddningen och balanseringen av mjukvarutrådar korrekt av operativsystemet Windows 11.
Så vad är EHFI?
EHFI är förkortningen för Enhanced Hardware Feedback Interface eller översatt till vårt språk skulle vara Improved Hardware Feedback Interface och det är just den uppsättning instruktioner som lyckas vägleda kärnprogrammeraren (Windows 11 för tillfället exklusivt) på platsen för den stora mängden arbete som bestämmer operativsystemet mellan de logiska processorerna i systemet, det vill säga mellan kärnor och trådar.
Dessa instruktioner läses in när operativsystemet startar och lagras som icke-sökt minne. Dessa instruktioner lagras som en tabell som är tilldelad till lazy-write-minnet så att när laddningen är klar och de aktiveras av OS och Intel Task Scheduler ( Tråddirektör ), det är när det börjar fungera för att distribuera OS-arbetsbelastningar.
Det bör tilläggas att det logiskt sett finns en nyckelkomponent i detta och det är inget annat än den begränsning som termisk och effektbegränsningar innebär för EHFI och TD i SKU-tabellerna för varje processor. Intel-mikrokoden fixar mappningstillgängligheten i dessa tabeller för EHFI och TD, så att om ett värde överskrider tröskeln för något av de två värdena ger det vika för processorns säkerhetssystem för dessa uppgifter.
Men hur vet EHFI och TD var de ska gå för att leta i minnet? Enligt det läckta patentet på systemet finns det en notifikationsloggindikator som finns inuti Thread Director, som upptäcker när det har skett en förändring i informationen och när den har skrivits till minnet, så OS kommer inte att begära eller skriva igen i den regionen tills TD ger klartecken för att ta bort den relevanta indikatorn.
Den kontroll som EHFI är föremål för
Som vi har nämnt ovan kretsar allt kring temperatur och effektivitet, inte förgäves är det en av de grundläggande aspekterna av Alder Lake. Strömsensorerna som implementerar båda typerna av kärnor är oumbärliga för att berätta för energiregulatorn vilken strömförbrukning varje kärna eller tråd har.
Enligt patenten är den totala energinivån som registreras av styrenheten jämförbar med processorns TDP och kan inte överskridas, där vi nu också vet att Intel har likställt PL1 till PL2 och värdet av nämnda TDP är summan av båda samtidigt tid.
För att förstå detta måste kontrollernas åtgärder delas upp i fyra avsnitt som ska granskas av kontrollanten:
- Domän av Kärnor
- Grafik Herravälde
- Domino sammankoppla
- Behärskning av uncore
Därför kan summan av dem aldrig överstiga PL1 = PL2 , men det kan hanteras oberoende så att regulatorn kan tilldela mer energi till vissa än till andra beroende på hur lasten beter sig. Det ska tilläggas att logiskt sett har EHFI en tilldelad tid som bestämmer uppdateringshastigheten för tabellen och registeransvariga, så att det blir balans i uppdragen.
Därför och vid denna tidpunkt behöver EHFI bara kommunicera med TD för att urskilja vilken typ av kärna, dess prestanda och måttet på prestanda och effektivitet som den visar, där i det här sista steget Windows-programmeraren redan får veta 11 var mjukvarutråden har att skicka.