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.


Merevlemez klónozása

Merevlemez klónozása

A modern digitális korban, ahol az adatok értékes eszközök, a merevlemez klónozása Windows rendszeren sokak számára döntő fontosságú folyamat lehet. Ez az átfogó útmutató

Hogyan javítható a WUDFRd illesztőprogram betöltése a Windows 10 rendszeren?

Hogyan javítható a WUDFRd illesztőprogram betöltése a Windows 10 rendszeren?

A számítógép indításakor a hibaüzenet azt jelzi, hogy nem sikerült betölteni a WUDFRd illesztőprogramot a számítógépére?

Az NVIDIA GeForce Experience hibakód 0x0003 kijavítása

Az NVIDIA GeForce Experience hibakód 0x0003 kijavítása

Az NVIDIA GeForce tapasztalati hibakód 0x0003 az asztalon? Ha igen, olvassa el a blogot, hogy megtudja, hogyan javíthatja ki ezt a hibát gyorsan és egyszerűen.

Mi az SMPS?

Mi az SMPS?

Mielőtt SMPS-t választana számítógépéhez, ismerje meg, mi az SMPS és mit jelent a különböző hatékonysági besorolások.

Miért nem kapcsol be a Chromebookom?

Miért nem kapcsol be a Chromebookom?

Válaszokat kaphat a következő kérdésre: Miért nem kapcsol be a Chromebookom? Ebben a Chromebook-felhasználóknak szóló hasznos útmutatóban.

Az adathalász csalások bejelentése a Google-nak

Az adathalász csalások bejelentése a Google-nak

Ebből az útmutatóból megtudhatja, hogyan jelentheti be a csalókat a Google-nak, hogy megakadályozza, hogy átverjenek másokat.

A Roomba megáll, kiáll és megfordul – Javítás

A Roomba megáll, kiáll és megfordul – Javítás

Javítsa ki azt a problémát, amikor a Roomba robotporszívója leáll, beragad, és folyamatosan megfordul.

Grafikai beállítások módosítása a Steam Decken

Grafikai beállítások módosítása a Steam Decken

A Steam Deck robusztus és sokoldalú játékélményt kínál az Ön keze ügyében. Azonban a játék optimalizálása és a lehető legjobb biztosítása érdekében

Mi az elszigetelésen alapuló biztonság?

Mi az elszigetelésen alapuló biztonság?

Egy olyan témában készültek elmélyülni, amely egyre fontosabbá válik a kiberbiztonság világában: az elszigeteltségen alapuló biztonsággal. Ez a megközelítés a

Az Auto Clicker használata Chromebookhoz

Az Auto Clicker használata Chromebookhoz

Ma egy olyan eszközzel készültünk, amely képes automatizálni az ismétlődő kattintási feladatokat a Chromebookon: az Automatikus klikkelőt. Ezzel az eszközzel időt takaríthat meg és