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

Minden az iOS 26-ról

Minden az iOS 26-ról

Az Apple bemutatta az iOS 26-ot – egy jelentős frissítést vadonatúj matt üveg dizájnnal, intelligensebb felhasználói élményekkel és a megszokott alkalmazások fejlesztéseivel.

A legjobb laptopok diákoknak 2025-ben

A legjobb laptopok diákoknak 2025-ben

A diákoknak egy bizonyos típusú laptopra van szükségük a tanulmányaikhoz. Nemcsak elég erősnek kell lennie ahhoz, hogy jól teljesítsen a választott szakon, hanem elég kompaktnak és könnyűnek is ahhoz, hogy egész nap magaddal cipelhesd.

Hogyan lehet visszanyerni a hozzáférést a merevlemezhez, hogyan lehet kijavítani a merevlemez megnyitásának sikertelenségével kapcsolatos hibát

Hogyan lehet visszanyerni a hozzáférést a merevlemezhez, hogyan lehet kijavítani a merevlemez megnyitásának sikertelenségével kapcsolatos hibát

Ebben a cikkben bemutatjuk, hogyan állíthatja vissza a hozzáférést a merevlemezéhez, ha meghibásodik. Kövessük a példáját!

A Beszélgetéstudatosság és az Élő hallgatás funkció használata AirPods-on

A Beszélgetéstudatosság és az Élő hallgatás funkció használata AirPods-on

Első pillantásra az AirPods pont olyan, mint bármely más valódi vezeték nélküli fülhallgató. De mindez megváltozott, amikor felfedeztek néhány kevésbé ismert funkciót.

Hogyan adhatunk hozzá nyomtatót Windows 10-hez

Hogyan adhatunk hozzá nyomtatót Windows 10-hez

A nyomtató hozzáadása Windows 10-hez egyszerű, bár a vezetékes eszközök folyamata eltér a vezeték nélküli eszközökétől.

Hogyan ellenőrizheti a RAM-ot és a RAM-hibákat a számítógépén a legnagyobb pontossággal

Hogyan ellenőrizheti a RAM-ot és a RAM-hibákat a számítógépén a legnagyobb pontossággal

Mint tudod, a RAM egy nagyon fontos hardveralkatrész a számítógépben, amely memóriaként működik az adatok feldolgozásához, és ez a tényező határozza meg a laptop vagy PC sebességét. Az alábbi cikkben a WebTech360 bemutat néhány módszert a RAM-hibák ellenőrzésére szoftverek segítségével Windows rendszeren.

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.