Fordelene av Hyper Threading
Hyper-threading er multitasking; uten at det er enorme mengder CPU bortkastet tid. For å forstå hyper-threading, litt bakgrunnskunnskap om hvordan prosessorer arbeid er nødvendig. Å vite det grunnleggende om hvordan prosessoren fungerer, og hvordan hyper-threading påvirker det kan hjelpe deg å ta en avgjørelse neste gang du gjør et kjøp.
Deler av en prosessor
Moderne prosessorer er komplekse kretser som er sammensatt av to grunnleggende deler. "Front-end" av en prosessor leser data fra et lite minne cache og organiserer det i diskrete beregninger, som det deretter passerer på "back-end", som leser instruksjonene og utfører beregningene. passerer så back-end resultatene av beregningene tilbake gjennom til minnet. Hver type beregning kan bare utføres av den tilsvarende type prosessor; for eksempel er tilsetning utføres av en aritmetisk logisk enhet.
Uten Hyper-threading
Uten hyper-threading, er multitasking utføres ved å gi hvert program en bit av tid til å kjøre beregninger på CPU. Når tiden er ute, må programmet vente på neste tilgjengelige plassen. Men noen programmer trenger å kjøre bestemte typer beregninger. Dette fører til situasjoner hvor alle av de aritmetiske enheter kan brukes opp, men multiplikator enheter sitter uvirksom. CPU-sykluser uten hyper-threading som regel ende opp med ineffektive, tomme enheter.
Hyper-threading
Hyper-threading introduserer muligheten for prosessoren å kombinere flere programmer instruksjoner og kjøre dem på samme syklus. Til back-end enheter, er en beregning bare en beregning, og så ingen forvirring oppstår. Fordi programmer deler sykluser, ubrukt beregningsenheter raskt bli fylt opp, eliminere avfall. Hyper-threading forbedrer bare effektivitet når multitasking, imidlertid, og gjør ingenting for å øke basis hastigheten på en prosessor.
Før Hyper-threading
Før hyper-threading ble implementert, en mer grunnleggende form for multi-threading eksisterte. Cooperative multitasking ville bytte CPU mellom ulike programmer, men stolte på hvert program for å gi opp bruken av CPU når den var ferdig. Mens dette arbeidet med pålitelige utviklere, kan uærlige eller dårlig kodede programmer hog CPU, nekter å gi det opp til andre. Dette problemet direkte førte til utviklingen av hyper-threading, så vel som andre teknologier brukere stole på, slik som minnebeskyttelse.