Hva gjorde Hyper-Threading-teknologi Gjør til prosessoren Manager?

Siden advent av moderne databehandling, har prosessorer måtte håndtere kommandoer av flere programmer samtidig. Prosessen leder benytter algoritmer til beste planen hvilke programmer utføre, og til hvilken tid. Med introduksjonen av hyper-threading av Intel, endret prosessledelse. Prosess ledere må bruke algoritmer som tar to abstrakte prosessorkjerner i betraktning, i stedet for en enkelt-prosess sammenheng.

Multi-programmering Systems

I de tidlige dager av databehandling, systemer kjørte programmer en om gangen, enten gjennom manuell program oppføring eller gjennom sats systemer som kjørte programmer etter hverandre i en sekvens. Med oppfinnelsen av stabile, quick-access memory, ble multi-programmering opprettet. Multi-programmering tillater utviklerne å ha flere programmer som kjører bosatt i hovedminnet, med prosessorer som kan hente kode fra disse programmene til å kjøre til enhver tid. Med flere programmer i minnet, er datamaskinen ikke låst til en fast rutine som i gruppebehandling, men det er i stand til å velge og bestemme hvilke programmer å kjøre basert på programmererens kommandoer.

Process Planlegging

Med flere programmer i minnet, kan prosessorer teoretisk kjøre flere programmer samtidig. En enkelt prosessor kan utføre en eneste kommando om gangen. Å kjøre flere programmer samtidig, prosessoren bryterne styre fra ett program til et annet flere ganger per sekund for å gjøre det synes som om programmer kjører samtidig. For å administrere flere kontekst bytter mellom programmer, ble prosessledelse algoritmer utviklet for å kontrollere hvilke programmer som fikk tilgang til prosessoren til enhver tid.

Hyper Threading

Å tillate prosesser for å kjøre i ekte samtidige tilstander uten behov for prosess svitsjing, ingeniører utviklet prosessorer som ble delt inn i sub-prosessorer. Hver sub-prosessor kan kjøre en tråd av utførelse. Mens bare én behandling kjerne eksisterer, gjør en abstraksjon lag å samhandle med programvaren, slik at prosessene virker som om to kjerner eksisterer hyper-threading. Dette gjør at å kjøre to tråder, én på hver abstrakt kjerne, på bekostning av prosessorhastigheten.

Planlegging Hyper Thread Execution

Hver tråd trenger sin egen planlegging, fordi hver tråd bruker intern sammenheng bytter mellom de prosessene kjører. Hyper-threading tvunget ingeniører til å revurdere prosessledere i form av hyper tråder. Hyper-tråder dele prosessoren, slik at nye planleggere kan gjøre det bedre ved å ta de to trådene i betraktning. Planleggere kan unngå to forskjellige prosess deling minne. Hyper-threading sammenhenger tvinge prosessledere til å vurdere to tråder av kontekstveksling i stedet for én.