Enhanced Hardware Feedback Interface (EHFI) – hva er det?

Enhanced Hardware Feedback Interface (EHFI)

Et av de mest kritiske punktene i det nye Intel Alder Lake CPUer er problemet med å ha en generell arkitektur med to forskjellige mikrokjernearkitekturer og i samme die. Det som har blitt gjort av Pat Gelsingers team har virkelig vært revolusjonerende, men det presenterer et sentralt problem som også inkluderer programvaren som er involvert: håndteringen av belastningen og tildelingen av oppgaveplanleggeren for hver type kjerne.

Det mest åpenbare spørsmålet vil være: hvordan vet prosessoren til hvilken type kjerne og hvilken av dem den skal tilordne hver arbeidsbelastning og med hvilke instruksjoner den skal fungere? Det er absolutt et flott spørsmål, men for det må vi sette dybden av problemet i sammenheng.

Kompleksiteten mellom maskinvare og programvare

Windows-11-Intel

En av særegenhetene til den nye Intel-arkitekturen er at den ikke kommer særlig godt overens med "gamle" operativsystemer. Det fungerer knirkefritt, men ytelsen er ikke helt den samme og dette er helt og holdent programvarens feil.

Windows 10 og gjeldende versjoner av Linux har foreløpig ikke en kjerne tilpasset en ny oppgaveplanlegger fra den blå giganten kalt Thread Director, som vi allerede har snakket grundig om i sin tilsvarende artikkel, men som samtidig er totalt knyttet til hovedpersonen i dette.

Så hvis bare Windows 11 er klar for Alder Lake, hva med det andre operativsystemet? Vel, som vi sier, de er ikke optimalisert og krever en dyp endring hvis du vil dra nytte av de nye fordelene med disse CPUene. Problemet ligger hos operativsystemprogrammereren, siden det er denne som bestemmer hvilken av alle de ledige logiske prosessorene som kan jobbe med programvaretråden som er ment å bli tildelt.

Alternativene i dette tilfellet er bare to:

  • OS bestemmer at den frie logiske prosessoren vil være den med maksimal ytelse fordi det er den korteste tiden det vil ta med den typen tråd fordi systemet har høy ytelse.
  • Operativsystemet bestemmer at den frie logiske prosessoren må være en høyeffektiv prosess, fordi for den typen tråd er den mer optimal siden systemet er programmert til å være så effektivt som mulig.

Og her kommer forklaringen til Intel for den enkle beregningen av en oppgave, siden når det er denne valgposisjonen av programmereren av operativsystemet mellom to logiske prosessorer i prosessor, begge er variabler som i, j, k1 og k2.

Intel EHFI 3

Ytelsesforholdet vil bli beregnet i henhold til Intel som: Perfijkx = Perfikx / Perfjkx , mens effektivitetsforholdet for dette problemet ville bli beregnet som Energyijkx = Energyikx / Energyjkx . Derfor har operativsystemet mye å si her siden etter eksemplet ovenfor kan programmereren bestemme i det hypotetiske tilfellet at Perfijk1> Perfijk2.

Så programvaretråden k1 ville gå til logisk prosessor j, mens K2 ville gå til logisk prosessor j. Hva om to programvaretråder tilhører samme ID? Vel, veldig enkelt, siden OS-programmereren kan velge flere logiske prosessorer for ytelse eller effektivitet for å utføre oppdragene.

Dette er hvordan lasting og balansering av programvaretråder er riktig distribuert av Windows 11-operativsystemet.

Så hva er EHFI?

Intel EHFI 4

EHFI er forkortelsen for Enhanced Hardware Feedback Interface eller oversatt til vårt språk vil være Improved Hardware Feedback Interface og det er nettopp settet med instruksjoner som klarer å veilede kjerneprogrammereren (foreløpig utelukkende Windows 11) på plasseringen av mengden med arbeid som bestemmer operativsystemet mellom de logiske prosessorene i systemet, det vil si mellom kjerner og tråder.

Disse instruksjonene lastes når operativsystemet starter og er vert som ikke-sidet minne. Disse instruksjonene lagres som en tabell som er tilordnet til lazy-write-minnet slik at når nevnte lasting er fullført og de aktiveres av OS og Intel Task Scheduler ( Trådleder ), det er når det begynner å fungere for å distribuere OS-arbeidsbelastninger.

Det skal legges til at logisk sett er det en nøkkelkomponent i dette, og det er ikke noe mer enn begrensningen som termisk og strømbegrensninger pålegger EHFI og TD i SKU-tabellene til hver prosessor. Intel-mikrokoden fikser kartleggingstilgjengeligheten i disse tabellene for EHFI og TD, slik at hvis en verdi overskrider terskelen til en av de to verdiene, gir den plass til prosessorens sikkerhetssystemer for disse oppgavene.

Men hvordan vet EHFI og TD hvor de skal gå for å se i minnet? I følge det lekkede patentet til systemet er det en varslingsloggindikator som er inne i Thread Director, som oppdager når det har vært en endring i informasjonen og når den er skrevet til minnet, så OS vil ikke be om eller skrive igjen i den regionen til TD gir klarsignal til å slette den relevante indikatoren.

Kontrollen som EHFI er underlagt

Intel EHFI 8

Som vi har nevnt ovenfor, dreier alt seg om temperatur og effektivitet, ikke forgjeves er det en av de grunnleggende aspektene ved Alder Lake. Strømsensorene som implementerer begge typer kjerner er uunnværlige for å fortelle energikontrolleren strømforbruket som hver kjerne eller tråd har.

I følge patentene er det totale energinivået registrert av kontrolleren sammenlignbart med prosessorens TDP og kan ikke overskrides, hvor vi nå også vet at Intel har likestilt PL1 til PL2 og verdien av nevnte TDP er summen av begge samtidig. tid.

Intel EHFI 9

For å forstå dette må kontrollørens handlinger deles inn i fire seksjoner som skal gjennomgås av kontrolløren:

  • Domene til Kjerner
  • grafikk Mastery
  • Domino interconnect
  • Mestring av uncore

Derfor kan summen av dem aldri overstige PL1 = PL2 , men den kan administreres uavhengig slik at kontrolleren kan tildele mer energi til noen enn til andre avhengig av hvordan lasten oppfører seg. Til dette skal det legges til at logisk sett har EHFI en tildelt tid som setter oppdateringshastigheten av tabellen og registeret til kontrollørene, slik at det blir balanse i oppdragene.

Inte-EHFI-10

Derfor og på dette tidspunktet trenger EHFI bare å kommunisere med TD for å se hvilken type kjerne, dens ytelse og mål for ytelse og effektivitet som den viser, hvor i dette siste trinnet Windows-programmereren allerede blir fortalt 11 hvor programvaretråden har å sende.