Mis on kontekstilüliti?

Arvutamise algusaegadel olid protsessorid puhtalt järjestikused masinad. See aitas disaini lihtsana hoida. Kuid see piiras ka jõudlust. Paljud protsessid peavad nõudma andmeid süsteemi RAM-ilt või kõvakettalt. Kuigi süsteemi RAM on kiire, pole see ikkagi nii kiire kui protsessor, jättes selle jõude ja ootama andmeid, kuni RAM-ist vastus tuleb. Veelgi hullem on olukord kõvakettalt, RAM-ist palju aeglasemalt salvestusseadmelt, küsitavate andmete puhul. Siin võib protsessor olla märkimisväärseid perioode jõude, oodates vastust. Kahjuks on järjestikuste protsessorite puhul see probleem lihtsalt vältimatu.

Õnneks ei ole kaasaegsed protsessorid enam järjestikused. Need pakuvad palju täiustatud funktsioone, nagu näiteks ebakorrapärane täitmine ja mitu lõime. Korrast väljas täitmine võimaldab CPU-l analüüsida tulevasi juhiseid ja neid ümber järjestada, et maksimeerida tõhusust. Mitme lõimega kasutamine võimaldab protsessoril töötada arvukalt erinevaid lõime või protsesse.

Lisaks mitmele tuumale ei saa CPU korraga töötada rohkem kui ühe. Siiski võib see välja näha, kui vahetate neid regulaarselt, et tagada mõlemale märkimisväärselt palju konstantset protsessori aega. Lõimede vahel vahetamise protsessi nimetatakse kontekstilülituseks.

Kuidas kontekstilüliti töötab?

Kontekstilüliti koosneb kahest osast: eelmise lõime väljalülitamine ja uue lõime sisselülitamine. Vana lõime muutmiseks peab CPU salvestama oma praeguse oleku protsessi juhtimisplokki või lüliti raami. See hõlmab kõigi asjakohaste CPU registrite väärtusi ja koosneb alati programmiloenduri väärtusest. Kui niit on salvestatud, saab valmis järjekorda lisada käepideme, mis võimaldab seda vajadusel taastada.

Järgmises lõimes ümberlülitamine toimub sama protsessiga vastupidises suunas. Lõim valitakse kas valmisjärjekorrast, olenevalt kaalust. Teise võimalusena saab selle valida katkestuse abil, mis näitab, et sündmus, mida lõim ootas, on nüüd valmis või lõppenud. Lõime andmed kopeeritakse seejärel õigetesse registritesse ja lõim taastatakse. Sel hetkel on uus lõim valmis jätkama tööd sealt, kus see peatus.

Mõju jõudlusele

Andmete lugemise ja kirjutamise protsess lõime sisse- või väljalülitamisel võtab aega, kuigi mitte palju, kuna kasutatav mälu on tavaliselt kiire. Esinemiskulud on siiski täiendavad. Lõime vahetamisel ei pruugi eelmise lõime CPU vahemälus ja puhvrites olevad andmed uue lõime jaoks asjakohased olla. See võib kaasa tuua TLB ( Tõlkevaate puhver ) olulise suurenemise ja vahemälu puudujääkide.

See efekt pole märkimisväärne, kui need kaks lõime tekkisid sama protsessi käigus, kuna neil on tõenäoliselt palju mäluelemente. Erinevatel meetoditel lõimede vahetamisel tuleb TLB täielikult läbi loputada. See toob kaasa 100% TLB vahelejäämise määra, samal ajal kui protsessori vahemälu tabamusmäär on samuti oluliselt vähenenud.

Kui protsessorid pakuvad konteksti vahetamiseks riistvaratuge, siis operatsioonisüsteemid seda tavaliselt ei kasuta. Riistvarakonteksti vahetamisel puudub teadlikkus andmete asjakohasusest. Seetõttu peab ta salvestama ja taastama kõik registrid, suurendades kuluvat aega ja salvestusruumi.

Lisaks ei salvesta riistvarakonteksti vahetamine ujukomaregistrite andmeid, mis võivad olla vajalikud. Seetõttu kasutatakse üldiselt tarkvara konteksti vahetamist. See võimaldab säilitada kõigi registrite, sealhulgas ujukomaregistrite andmeid. Tarkvara kontekstilülititel on arusaam andmete asjakohasusest. See tähendab, et ta saab valida ja valida, milliseid salvestada vastavalt vajadusele.

Järeldus

Kontekstilüliti on protsess, mille käigus kaasaegne protsessor vahetab, millist lõime see töötab. Protsess hõlmab praeguse lõime asjakohaste andmete salvestamist ja uue lõime asjakohaste andmete taastamist. Konteksti vahetamisega kaasnevad jõudluskulud, mis on seotud ümberlülitamiseks kuluva ajaga, ning vahemälu ja TLB vahelejätmise suurenenud määr, kuna neid ei salvestata. Kontekstilülitused toimuvad kas tagamaks, et kõikidel lõimedel on piisav protsessori aeg, või katkestuse tõttu, mis näitab, et sündmus, mida liin ootas, on lõppenud.


Mis on SMPS?

Mis on SMPS?

Enne oma arvutile SMPS-i valimist uurige, mis on SMPS ja mida tähendab erinevate tõhususe reiting.

Mis on isolatsioonipõhine turvalisus?

Mis on isolatsioonipõhine turvalisus?

Kavatsesin süveneda teemasse, mis muutub küberturvalisuse maailmas üha olulisemaks: isolatsioonipõhine turvalisus. See lähenemine

Kuidas kasutada automaatset klikkerit Chromebooki jaoks

Kuidas kasutada automaatset klikkerit Chromebooki jaoks

Täna kavatsesime süveneda tööriista, mis suudab teie Chromebookis korduvaid klõpsamisi automatiseerida: automaatset klõpsurit. See tööriist võib säästa teie aega ja

Roomba peatub, jääb kinni ja pöörab ümber – paranda

Roomba peatub, jääb kinni ja pöörab ümber – paranda

Lahendage probleem, kus teie Roomba robottolmuimeja peatub, kinni jääb ja pöörleb pidevalt ümber.

Miks minu Chromebook ei lülitu sisse?

Miks minu Chromebook ei lülitu sisse?

Hankige vastused küsimusele, miks minu Chromebook ei lülitu sisse? Selles kasulikus juhendis Chromebooki kasutajatele.

Kuidas muuta Steam Decki graafikaseadeid

Kuidas muuta Steam Decki graafikaseadeid

Steam Deck pakub jõulist ja mitmekülgset mängukogemust otse teie käeulatuses. Kuid selleks, et optimeerida oma mängimist ja tagada parim võimalik

Kuidas muuta Fitbit Versa 4 kella numbrit

Kuidas muuta Fitbit Versa 4 kella numbrit

Muutke oma Fitbit Versa 4 kella sihverplaati, et anda oma kellale iga päev tasuta uus välimus. Vaadake, kui kiire ja lihtne see on.

Kuidas Googleile andmepüügipettustest teatada

Kuidas Googleile andmepüügipettustest teatada

Sellest juhendist leiate teavet selle kohta, kuidas petturist Google'ile teatada, et vältida teiste petmist.

Kuidas eemaldada GPU Windowsi arvutist 2023. aastal

Kuidas eemaldada GPU Windowsi arvutist 2023. aastal

Kas peate GPU arvutist eemaldama? Liituge minuga ja selgitan selles samm-sammulises juhendis, kuidas GPU arvutist eemaldada.

Mis on õlasurf?

Mis on õlasurf?

Õlas surfamine on sotsiaalse manipuleerimise rünnak. See hõlmab ründajat, kes kogub teavet teie ekraani vaadates.