Kas yra konteksto jungiklis?

Pirmosiomis skaičiavimo dienomis CPU buvo grynai nuoseklios mašinos. Tai padėjo sukurti paprastus dizainus. Tačiau tai taip pat apribojo našumą. Daugeliui procesų reikės prašyti duomenų iš sistemos RAM arba standžiojo disko. Nors sistemos operatyvioji atmintis yra greita, ji vis tiek nėra tokia greita kaip centrinis procesorius, todėl jis neveikia ir laukia duomenų, kol atsakys iš RAM. Situacija dar blogesnė dėl duomenų, kurių prašoma iš standžiojo disko, saugojimo įrenginio, kuris yra daug lėtesnis nei RAM. Čia CPU ilgą laiką gali būti neaktyvus, laukdamas atsakymo. Deja, naudojant nuoseklius procesorius, ši problema yra tiesiog neišvengiama.

Laimei, šiuolaikiniai procesoriai nebėra nuoseklūs. Jie siūlo daug pažangių funkcijų, tokių kaip netvarkingas vykdymas ir kelios gijos. Netvarkingas vykdymas leidžia CPU analizuoti būsimas instrukcijas ir pertvarkyti jas, kad padidintų efektyvumą. Kelių gijų naudojimas leidžia CPU turėti daugybę skirtingų gijų arba procesų.

Be kelių branduolių, CPU vienu metu negali veikti daugiau nei vieno. Tačiau tai gali atrodyti taip, jei reguliariai perjungiama tarp jų, kad užtikrintų, jog kiekvienas iš jų turėtų pastebimą pastovų procesoriaus laiką. Perjungimo tarp gijų procesas vadinamas konteksto perjungimu.

Kaip veikia konteksto jungiklis?

Konteksto jungiklis susideda iš dviejų dalių: išjungiama ankstesnė gija ir įjungiama nauja. Norėdami pakeisti seną giją, CPU turi išsaugoti dabartinę būseną proceso valdymo bloke arba jungiklio rėmelyje. Tai apima visų atitinkamų CPU registrų reikšmes ir visada susideda iš programos skaitiklio vertės. Kai siūlas bus išsaugotas, prie paruoštos eilės galima pridėti rankenėlę, kad prireikus būtų galima ją atkurti.

Perjungimas į kitą giją yra tas pats procesas atvirkštine tvarka. Gija pasirenkama iš paruoštos eilės, atsižvelgiant į svorį. Arba jį galima pasirinkti pertraukimu, rodančiu, kad įvykis, kurio gijos laukė, yra paruoštas arba baigtas. Tada gijos duomenys nukopijuojami į teisingus registrus ir gija atkuriama. Šiuo metu nauja gija yra paruošta tęsti veiklą ten, kur ji sustojo.

Poveikis našumui

Duomenų skaitymo ir rašymo procesas įjungiant arba išjungiant giją užtrunka šiek tiek laiko, nors ir nedaug, nes naudojama atmintis paprastai yra didelės spartos. Tačiau yra papildomų išlaidų. Perjungiant gijas, procesoriaus talpyklos ir buferių duomenys iš ankstesnės gijos gali būti nesusiję su nauja gija. Dėl to gali labai padidėti TLB ( angl. Translation Lookaside Buffer ) ir gali būti praleista talpykla.

Šis efektas nėra reikšmingas, jei abi gijos buvo sukurtos dėl to paties proceso, nes greičiausiai jos turi daug atminties elementų. Perjungiant sriegius skirtingais būdais, TLB turi būti visiškai išplautas. Tai lemia 100% TLB praleidimų dažnį, o procesoriaus talpyklos pataikymo dažnis taip pat žymiai sumažėja.

Nors procesoriai siūlo aparatinės įrangos palaikymą konteksto perjungimui, operacinės sistemos paprastai to nenaudoja. Aparatinės įrangos konteksto perjungimui trūksta supratimo apie duomenų svarbą. Todėl jai reikia saugoti ir atkurti visus registrus, taip pailginant laiką ir reikalingą saugojimo vietą.

Be to, aparatinės įrangos konteksto perjungimas nesaugo duomenų iš slankiojo kablelio registrų – funkcijos, kurių gali prireikti. Todėl paprastai naudojamas programinės įrangos konteksto perjungimas. Tai leidžia saugoti duomenis iš visų registrų, įskaitant slankiojo kablelio registrus. Programinės įrangos konteksto jungikliai supranta duomenų tinkamumą. Tai reiškia, kad jis gali pasirinkti ir pasirinkti, kuriuos saugoti, jei reikia.

Išvada

Konteksto perjungimas yra procesas, kurio metu modernus procesorius perjungia, kurią giją jis veikia. Procesas apima atitinkamų dabartinės gijos duomenų saugojimą ir atitinkamų naujos gijos duomenų atkūrimą. Konteksto perjungimas susijęs su našumo sąnaudomis, susijusiomis su laiku, reikalingu perjungti, ir padidintu talpyklos bei TLB praleidimų dažniu, nes jie nesaugomi. Konteksto perjungimas vyksta siekiant užtikrinti, kad visos gijos turėtų pakankamai procesoriaus laiko, arba dėl pertraukimo, rodančio, kad įvykis, kurio eilutė laukė, baigtas.


Leave a Comment

Kaip prijungti Windows 11 nešiojamąjį kompiuterį prie projekcinio ekrano/TV

Kaip prijungti Windows 11 nešiojamąjį kompiuterį prie projekcinio ekrano/TV

Perskaitykite šį straipsnį, kad sužinotumėte paprastą žingsnis po žingsnio procesą, kaip prijungti nešiojamąjį kompiuterį prie projekcinio ekrano ar TV naudojant Windows 11 ir Windows 10 operacines sistemas.

Kaip rasti spausdintuvo IP adresą

Kaip rasti spausdintuvo IP adresą

Ar sunku sužinoti, koks IP adresas naudojamas jūsų spausdintuvui? Mes parodysime, kaip tai padaryti.

3D Spausdinimo Pagrindai: Priežiūros Patarimai Jūsų 3D Spaudikliui

3D Spausdinimo Pagrindai: Priežiūros Patarimai Jūsų 3D Spaudikliui

Teisinga 3D spausdintuvų priežiūra yra labai svarbi, norint gauti geriausius rezultatus. Čia pateikiami keli svarbūs patarimai, kuriuos reikėtų atsiminti.

5 Priežastys, Kodėl Jūsų Nešiojamas Kompiuteris Perkaista

5 Priežastys, Kodėl Jūsų Nešiojamas Kompiuteris Perkaista

Sužinokite apie kai kurias galimas jūsų nešiojamojo kompiuterio perkaitimo priežastis, kartu su patarimais ir gudrybėmis, kaip išvengti šios problemos ir išlaikyti savo įrenginį šaltą.

3D Spausdinimo Pagrindai: Būtinas Priežiūros Patikrinimo Sąrašas

3D Spausdinimo Pagrindai: Būtinas Priežiūros Patikrinimo Sąrašas

Laikyti įrangą geros būklės yra būtina. Štai keletas naudingų patarimų, kaip išlaikyti savo 3D spausdintuvą puikios būklės.

Ką daryti, jei Powerbeats Pro neįsikrauna dėkle

Ką daryti, jei Powerbeats Pro neįsikrauna dėkle

Jei jūsų Powerbeats Pro neįsikrauna, naudokite kitą maitinimo šaltinį ir išvalykite ausines. Palikite dėklą atvirą, kol įkraunate ausines.

10 Geriausių NAS Saugojimo Įrenginių Namo ir Profesiniam Naudojimui

10 Geriausių NAS Saugojimo Įrenginių Namo ir Profesiniam Naudojimui

Ar ieškote NAS namuose ar biure, patikrinkite šį geriausių NAS saugojimo įrenginių sąrašą.

Canon Pixma MG5220: Nuskaitykite be rašalo

Canon Pixma MG5220: Nuskaitykite be rašalo

Kaip įgalinti nuskaitymą Canon Pixma MG5220, kai trūksta rašalo.

Kaip įdiegti SSD staliniuose ir nešiojamuose kompiuteriuose

Kaip įdiegti SSD staliniuose ir nešiojamuose kompiuteriuose

Ar ką tik įsigijote SSD ir norite atnaujinti vidinę savo kompiuterio atmintį, bet nežinote, kaip įdiegti SSD? Perskaitykite šį straipsnį dabar!

Kaip ištaisyti GeForce Now klaidos kodą 0xC272008F

Kaip ištaisyti GeForce Now klaidos kodą 0xC272008F

Jūs ruošiatės ilgam žaidimų vakarui, ir tai bus didelis vakaras – ką tik įsigijote "Star Wars Outlaws" GeForce Now transliacijų paslaugoje. Sužinokite vienintelį žinomą sprendimą, kaip ištaisyti GeForce Now klaidos kodą 0xC272008F, kad galėtumėte vėl pradėti žaisti Ubisoft žaidimus.