Mi az a kontextuskapcsoló?

A számítástechnika kezdeti napjaiban a CPU-k tisztán szekvenciális gépek voltak. Ez segített a tervek egyszerűvé tételében. Ugyanakkor a teljesítményt is korlátozta. Sok folyamatnak adatokat kell kérnie a rendszer RAM-ból vagy a merevlemezről. Bár a rendszer RAM gyors, mégsem olyan gyors, mint a CPU, így tétlenül várja az adatokat, amíg visszajön a válasz a RAM-ból. Még rosszabb a helyzet a merevlemezről kért adatok esetében, amely a RAM-nál jóval lassabb tárolóeszköz. Itt a CPU jelentős ideig tétlenül állhat válaszra várva. Sajnos a szekvenciális processzorokkal ez a probléma egyszerűen elkerülhetetlen.

Szerencsére a modern CPU-k már nem szekvenciálisak. Számos fejlett funkciót kínálnak, például nem megfelelő végrehajtást és több szálat. A soron kívüli végrehajtás lehetővé teszi a CPU számára, hogy elemezze a közelgő utasításokat, és átrendezze azokat a hatékonyság maximalizálása érdekében. A többszálas megoldás lehetővé teszi, hogy a CPU számos különböző szálat vagy folyamatot fusson.

A több magon kívül a CPU nem tud egyszerre többet futtatni. Ennek ellenére úgy nézhet ki, ha rendszeresen váltogatja őket, hogy mindegyikük észrevehető mennyiségű állandó CPU-időt kapjon. A szálak közötti váltás folyamatát kontextusváltásnak nevezzük.

Hogyan működik a kontextus kapcsoló?

A kontextuskapcsoló két részből áll, az előző szál kikapcsolásából és az új szál átkapcsolásából. A régi szál megváltoztatásához a CPU-nak el kell mentenie jelenlegi állapotát egy folyamatvezérlő blokkba vagy kapcsoló keretbe. Ez magában foglalja a releváns CPU regiszterek értékeit, és mindig a programszámláló értékéből áll. A szál tárolása után egy fogantyú hozzáadható a készenléti sorhoz, hogy szükség esetén visszaállítható legyen.

A következő szálban történő váltás ugyanez a folyamat fordítva. A súlyozástól függően egy szál kerül kiválasztásra a készenléti sorból. Alternatív megoldásként kiválasztható egy megszakítással, amely jelzi, hogy egy esemény, amelyre a szál várt, készen áll vagy befejeződött. A szál adatai ezután a megfelelő regiszterekbe másolódnak, és a szál visszaáll. Ezen a ponton az új szál készen áll a működés folytatására onnan, ahol abbahagyta.

Teljesítményhatás

Az adatok olvasási és írási folyamata a szál be- vagy kikapcsolásakor némi időt vesz igénybe, bár nem sok időt, mivel a használt memória jellemzően nagy sebességű. Vannak azonban további teljesítményköltségek. Szálak váltásakor előfordulhat, hogy az előző szál CPU-gyorsítótárában és puffereiben lévő adatok nem relevánsak az új szál számára. Ez a TLB ( Translation Lookaside Buffer ) jelentős növekedéséhez és a gyorsítótár kihagyásához vezethet .

Ez a hatás nem jelentős, ha a két szálat ugyanaz a folyamat hozta létre, mivel valószínűleg jelentős memóriaelemeken osztoznak. A TLB-t teljesen ki kell öblíteni, amikor a különböző módszerek szálai között váltunk. Ez 100%-os TLB kihagyási arányhoz vezet, miközben a CPU gyorsítótár találati aránya is jelentősen csökken.

Míg a CPU-k hardveres támogatást kínálnak a környezetváltáshoz, az operációs rendszerek általában nem használják ezt. A hardverkörnyezetváltás nem ismeri az adatok relevanciáját. Ezért minden regisztert tárolnia és vissza kell állítania, növelve a szükséges időt és tárhelyet.

Ezenkívül a hardverkörnyezetváltás nem tárolja a lebegőpontos regiszterekből származó adatokat, amelyek szükségesek lehetnek. Ezért általában a szoftverkörnyezetváltást használják. Lehetővé teszi az adatok tárolását minden regiszterből, beleértve a lebegőpontos regisztereket is. A szoftverkörnyezet-kapcsolók megértik az adatok relevanciáját. Ez azt jelenti, hogy szükség szerint kiválaszthatja, hogy melyiket tárolja.

Következtetés

A kontextusváltás egy olyan folyamat, amelynek során a modern CPU átkapcsolja, hogy melyik szálat használja. A folyamat magában foglalja az aktuális szál vonatkozó adatainak tárolását és az új szál vonatkozó adatainak visszaállítását. A kontextusváltáshoz a váltás végrehajtásához szükséges időhöz kapcsolódó teljesítményköltség, valamint a gyorsítótár és a TLB-kihagyások megnövekedett aránya jár, mivel ezek nem kerülnek tárolásra. A kontextusváltás vagy annak biztosítása érdekében történik, hogy minden szál megfelelő CPU-idővel rendelkezzen, vagy egy megszakítás miatt, amely azt jelzi, hogy egy esemény, amelyre a vonal várt, befejeződött.


Leave a Comment

SSD Telepítése Asztali és Laptop PC-ken

SSD Telepítése Asztali és Laptop PC-ken

Rendelkezik egy SSD-vel, hogy frissítse a számítógép belső tárolóját, de nem tudja, hogyan telepítse? Olvassa el ezt a cikket most!

5 Ok, amiért a laptopod túlmelegszik

5 Ok, amiért a laptopod túlmelegszik

Tudd meg, miért melegszik túl a laptopod, és milyen tippeket és trükköket alkalmazhatsz, hogy elkerüld ezt a problémát és a készüléked hűvös maradjon.

Hogyan találjuk meg a nyomtató IP címét

Hogyan találjuk meg a nyomtató IP címét

Problémája van a nyomtató IP címének megtalálásával? Megmutatjuk, hogyan találhatja meg.

GeForce Now hibaelhárítás: 0xC272008F kód

GeForce Now hibaelhárítás: 0xC272008F kód

Egy nagy játéknak indulsz – éppen most szerezted meg a “Star Wars Outlaws”-t a GeForce Now streaming szolgáltatáson. Fedezd fel az egyetlen ismert megoldást a GeForce Now 0xC272008F hibaelhárításához, hogy újra játszhass az Ubisoft játékokkal.

Hogyan használj AirPods-ot Samsung telefonokkal

Hogyan használj AirPods-ot Samsung telefonokkal

Ha nem vagy biztos abban, hogy vásárolj-e AirPods-ot a Samsung telefonodhoz, ez az útmutató segíthet. Az első kérdés az, hogy a kettő kompatibilis-e, és a válasz: igen, kompatibilisek!

Hogyan csatlakoztassuk a Windows 11 laptopot projektorhoz/TV-hez

Hogyan csatlakoztassuk a Windows 11 laptopot projektorhoz/TV-hez

Olvassa el ezt a cikket az egyszerű, lépésről lépésre történő folyamatról, amely a Windows 11 és Windows 10 operációs rendszeren történő laptop projektor vagy TV-hez való csatlakoztatásához szükséges.

3D Nyomtatás Alapjai: Karbantartási Tippjei a 3D Nyomtatójához

3D Nyomtatás Alapjai: Karbantartási Tippjei a 3D Nyomtatójához

A 3D nyomtatók karbantartása nagyon fontos a legjobb eredmények eléréséhez. Íme néhány fontos tipp, amit érdemes megjegyezni.

Mi a teendő, ha a Powerbeats Pro nem töltődik az ügyben?

Mi a teendő, ha a Powerbeats Pro nem töltődik az ügyben?

Ha a Powerbeats Pro nem töltődik, használjon másik áramforrást és tisztítsa meg a fülhallgatókat. Töltés közben hagyja nyitva az ügyet.

Canon Pixma MG5220: Szkennelés Tinta Nélkül

Canon Pixma MG5220: Szkennelés Tinta Nélkül

Hogyan lehet engedélyezni a szkennelést a Canon Pixma MG5220-on, ha kifogyott a tinta.

10 Legjobb NAS Tárolóeszköz Otthoni és Professzionális Használatra

10 Legjobb NAS Tárolóeszköz Otthoni és Professzionális Használatra

Akár otthoni, akár irodai NAS-t keresel, nézd meg ezt a legjobb NAS tárolóeszközök listáját.