Kaj je preklop konteksta?

V zgodnjih dneh računalništva so bili procesorji izključno zaporedni stroji. To je pripomoglo k preprostemu dizajnu. Vendar pa je tudi omejil zmogljivost. Mnogi procesi bodo morali zahtevati podatke iz sistemskega RAM-a ali trdega diska. Medtem ko je sistemski RAM hiter, še vedno ni tako hiter kot CPE, tako da miruje in čaka na podatke, dokler se iz RAM-a ne vrne odgovor. Stanje je še slabše pri podatkih, zahtevanih s trdega diska, naprave za shranjevanje, ki je veliko počasnejša od RAM-a. Tukaj je CPE lahko dlje časa v mirovanju in čaka na odgovor. Na žalost je pri sekvenčnih procesorjih ta težava preprosto neizogibna.

Na srečo sodobni procesorji niso več zaporedni. Ponujajo številne napredne funkcije, kot je izvajanje brez vrstnega reda in več niti. Izvajanje brez vrstnega reda omogoča CPE-ju, da analizira prihajajoča navodila in jih prerazporedi, da poveča učinkovitost. Večnitnost omogoča, da CPE izvaja številne različne niti ali procese.

Poleg tega, da ima več jeder, CPE ne more delovati več kot eno naenkrat. Lahko pa poskrbi, da je videti tako, tako da redno preklaplja med njimi, da zagotovi, da ima vsak od njih precejšnjo količino konstantnega procesorskega časa. Postopek preklapljanja med nitmi se imenuje preklop konteksta.

Kako deluje stikalo konteksta?

Preklop konteksta je sestavljen iz dveh delov, izklopa prejšnje niti in preklopa nove. Če želite spremeniti staro nit, mora CPE shraniti svoje trenutno stanje v nadzorni blok procesa ali preklopni okvir. To vključuje vrednosti vseh ustreznih registrov CPU in je vedno sestavljeno iz vrednosti programskega števca. Ko je nit shranjena, je mogoče v pripravljeno čakalno vrsto dodati ročico, da jo je mogoče po potrebi obnoviti.

Preklapljanje v naslednji niti je enak postopek v obratni smeri. Nit se izbere bodisi iz pripravljene čakalne vrste, odvisno od ponderiranja. Lahko pa ga izberete s prekinitvijo, ki označuje, da je dogodek, na katerega je nit čakala, zdaj pripravljen ali dokončan. Podatki za nit se nato prekopirajo v pravilne registre in nit se obnovi. Na tej točki je nova nit pripravljena za nadaljevanje delovanja od tam, kjer se je ustavila.

Vpliv na uspešnost

Proces branja in zapisovanja podatkov pri vklopu ali izklopu niti traja nekaj časa, čeprav ne veliko, saj je uporabljeni pomnilnik običajno hiter. Vendar obstajajo dodatni stroški delovanja. Pri preklapljanju niti podatki v predpomnilnikih in medpomnilnikih procesorja iz prejšnje niti morda niso relevantni za novo nit. To lahko privede do znatnega povečanja TLB ( Translation Lookaside Buffer ) in izpadov predpomnilnika.

Ta učinek ni pomemben, če sta bili niti ustvarjeni z istim procesom, saj si bosta verjetno delili precej pomnilniških elementov. TLB je treba v celoti izprazniti, ko preklapljate med nitmi iz različnih metod. To vodi do 100-odstotne stopnje zgrešenih rezultatov TLB, medtem ko je tudi stopnja zadetkov predpomnilnika procesorja znatno zmanjšana.

Čeprav procesorji ponujajo strojno podporo za preklop konteksta, operacijski sistemi tega običajno ne uporabljajo. Preklapljanje konteksta strojne opreme se ne zaveda pomembnosti podatkov. Zato mora shraniti in obnoviti vse registre, kar poveča potreben čas in prostor za shranjevanje.

Poleg tega preklapljanje konteksta strojne opreme ne shrani podatkov iz registrov s plavajočo vejico, funkcionalnost, ki je morda potrebna. Programsko preklapljanje konteksta se zato običajno uporablja. Omogoča hrambo podatkov iz vseh registrov, vključno z registri s plavajočo vejico. Kontekstna stikala programske opreme razumejo relevantnost podatkov. To pomeni, da lahko po potrebi izbere, katere shrani.

Zaključek

Kontekstno stikalo je postopek, s katerim sodoben CPU preklopi, katero nit izvaja. Postopek vključuje shranjevanje ustreznih podatkov trenutne niti in obnavljanje ustreznih podatkov nove niti. Preklapljanje konteksta prinaša stroške zmogljivosti, povezane s časom, potrebnim za izvedbo preklopa, in povečano stopnjo zgrešenih predpomnilnika in TLB, ker se ti ne shranijo. Kontekstna stikala se zgodijo, da zagotovijo, da imajo vse niti dovolj CPU časa, ali zaradi prekinitve, ki kaže, da je dogodek, na katerega je vrstica čakala, končan.


Kako klonirati trdi disk

Kako klonirati trdi disk

V sodobni digitalni dobi, kjer so podatki dragocena dobrina, je lahko kloniranje trdega diska v sistemu Windows za mnoge ključen postopek. Ta obsežen vodnik

Kako popraviti, da se gonilnik WUDFRd ni uspel naložiti v sistemu Windows 10?

Kako popraviti, da se gonilnik WUDFRd ni uspel naložiti v sistemu Windows 10?

Ali se med zagonom računalnika soočate s sporočilom o napaki, ki pravi, da se gonilnik WUDFRd ni uspel naložiti v vaš računalnik?

Kako popraviti kodo napake NVIDIA GeForce Experience 0x0003

Kako popraviti kodo napake NVIDIA GeForce Experience 0x0003

Ali imate na namizju izkušnje s kodo napake NVIDIA GeForce 0x0003? Če je odgovor pritrdilen, preberite blog in poiščite, kako hitro in enostavno odpraviti to napako.

Kaj je SMPS?

Kaj je SMPS?

Preberite, kaj je SMPS in pomen različnih ocen učinkovitosti, preden izberete SMPS za svoj računalnik.

Kaj je varnost na podlagi izolacije?

Kaj je varnost na podlagi izolacije?

Poglobili se bomo v temo, ki postaja vse bolj pomembna v svetu kibernetske varnosti: varnost, ki temelji na izolaciji. Ta pristop k

Kako uporabljati Auto Clicker za Chromebook

Kako uporabljati Auto Clicker za Chromebook

Danes sem se nameraval poglobiti v orodje, ki lahko avtomatizira ponavljajoča se opravila klikanja na vašem Chromebooku: Auto Clicker. To orodje vam lahko prihrani čas in

Roomba se ustavi, zatakne in obrne – popravi

Roomba se ustavi, zatakne in obrne – popravi

Odpravite težavo, ko se vaš robotski sesalnik Roomba ustavi, zatakne in se nenehno obrača.

Zakaj se moj Chromebook ne vklopi

Zakaj se moj Chromebook ne vklopi

Pridobite odgovore na vprašanje Zakaj se moj Chromebook ne vklopi? V tem koristnem vodniku za uporabnike Chromebooka.

Kako spremeniti grafične nastavitve na Steam Deck

Kako spremeniti grafične nastavitve na Steam Deck

Steam Deck ponuja robustno in vsestransko igralno izkušnjo na dosegu roke. Vendar, da optimizirate svoje igranje in zagotovite najboljše možno

Kako spremeniti številčnico ure na Fitbit Versa 4

Kako spremeniti številčnico ure na Fitbit Versa 4

Brezplačno spremenite številčnico ure svojega Fitbit Versa 4, da bo vaša ura vsak dan drugačna. Poglejte, kako hitro in enostavno je.