Mikä on kontekstikytkin?

Tietojenkäsittelyn alkuaikoina CPU:t olivat puhtaasti peräkkäisiä koneita. Tämä auttoi pitämään mallit yksinkertaisina. Se kuitenkin rajoitti myös suorituskykyä. Monien prosessien on pyydettävä tietoja järjestelmän RAM-muistista tai kiintolevyltä. Vaikka järjestelmän RAM on nopea, se ei silti ole yhtä nopea kuin CPU, joten se jää käyttämättä odottamaan dataa, kunnes vastaus tulee takaisin RAM:lta. Tilanne on vielä huonompi kiintolevyltä pyydettyjen tietojen osalta, joka on paljon RAM-muistia hitaampi tallennuslaite. Tässä CPU voi olla käyttämättömänä merkittäviä aikoja odottaen vastausta. Valitettavasti peräkkäisillä prosessoreilla tämä ongelma on yksinkertaisesti väistämätön.

Onneksi nykyaikaiset prosessorit eivät enää ole peräkkäisiä. Ne tarjoavat monia lisäominaisuuksia, kuten epäjärjestyksessä suorituksen ja useita säikeitä. Epäjärjestyksessä suorituksen avulla CPU voi analysoida tulevat käskyt ja järjestää ne uudelleen tehokkuuden maksimoimiseksi. Monisäikeinen mahdollistaa sen, että suorittimessa on useita erilaisia ​​säikeitä tai prosesseja käynnissä.

Useiden ytimien lisäksi suoritin ei voi käyttää useampaa kuin yhtä kerrallaan. Se voi kuitenkin saada sen näyttämään siltä vaihtamalla niiden välillä säännöllisesti varmistaakseen, että ne saavat huomattavan määrän tasaista CPU-aikaa. Säikeiden välistä vaihtoa kutsutaan kontekstin vaihtamiseksi.

Miten kontekstikytkin toimii?

Kontekstin vaihto koostuu kahdesta osasta, jotka kytkevät edellisen säikeen pois ja kytkevät uuden. Vanhan säikeen vaihtamiseksi CPU:n on tallennettava nykyinen tilansa prosessinohjauslohkoon tai kytkinkehykseen. Tämä sisältää kaikkien asiaankuuluvien CPU-rekisterien arvot ja koostuu aina ohjelmalaskurin arvosta. Kun säie on tallennettu, valmiiseen jonoon voidaan lisätä kahva, jotta se voidaan palauttaa tarvittaessa.

Vaihtaminen seuraavassa säikeessä on sama prosessi käänteisesti. Säie valitaan joko valmiista jonosta painotuksesta riippuen. Vaihtoehtoisesti se voidaan valita keskeytyksellä, joka osoittaa, että tapahtuma, jota säiettä odotti, on nyt valmis tai valmis. Tämän jälkeen säiettä koskevat tiedot kopioidaan oikeisiin rekistereihin ja säie palautetaan. Tässä vaiheessa uusi säie on valmis jatkamaan toimintaansa siitä, mihin se lopetti.

Suorituskykyvaikutus

Tietojen luku- ja kirjoitusprosessi, kun säiettä kytketään sisään tai pois, vie jonkin aikaa, joskaan ei paljon, koska käytetty muisti on tyypillisesti nopea. On kuitenkin muita suorituskustannuksia. Säiettä vaihdettaessa CPU:n välimuistien ja puskureiden tiedot edellisestä säikeestä eivät välttämättä ole merkityksellisiä uudelle säikeelle. Tämä voi johtaa merkittävään kasvuun TLB:ssä ( Translation Lookaside Buffer ) ja välimuistin puuttumiseen.

Tämä vaikutus ei ole merkittävä, jos nämä kaksi säiettä syntyivät samassa prosessissa, koska niillä on todennäköisesti yhteisiä muistielementtejä. TLB on huuhdeltava kokonaan, kun vaihdetaan eri menetelmien säikeiden välillä. Tämä johtaa 100 %:n TLB:n puuttumisprosenttiin, ja myös suorittimen välimuistin osumaprosentti pienenee merkittävästi.

Vaikka suorittimet tarjoavat laitteistotuen kontekstin vaihtamiseen, käyttöjärjestelmät eivät yleensä käytä tätä. Laitteiston kontekstin vaihtaminen ei ole tietoinen tietojen merkityksestä. Siksi sen on tallennettava ja palautettava kaikki rekisterit, mikä lisää aikaa ja tarvittavaa tallennustilaa.

Lisäksi laitteistokontekstin vaihto ei tallenna tietoja liukulukurekistereistä, mikä saattaa olla tarpeen. Siksi ohjelmistokontekstin vaihtoa käytetään yleisesti. Se mahdollistaa tietojen säilyttämisen kaikista rekistereistä, mukaan lukien liukulukurekisterit. Ohjelmiston kontekstin kytkimet ymmärtävät tietojen merkityksen. Tämä tarkoittaa, että se voi poimia ja valita, mitkä tallentaa tarpeen mukaan.

Johtopäätös

Kontekstin vaihto on prosessi, jolla nykyaikainen CPU vaihtaa käyttämänsä säikeen. Prosessi sisältää nykyisen säikeen asiaankuuluvien tietojen tallentamisen ja uuden säikeen asiaankuuluvien tietojen palauttamisen. Kontekstin vaihtamiseen liittyy suorituskustannuksia, jotka liittyvät vaihdon suorittamiseen tarvittavaan aikaan, sekä lisääntynyt välimuistin ja TLB-mittausten määrä, koska niitä ei tallenneta. Kontekstin vaihtaminen tapahtuu joko sen varmistamiseksi, että kaikilla säikeillä on hyvä CPU-aika, tai keskeytyksen vuoksi, joka osoittaa, että tapahtuma, jota linja odotti, on valmis.


Leave a Comment

Parhaat kannettavat tietokoneet opiskelijoille vuonna 2025

Parhaat kannettavat tietokoneet opiskelijoille vuonna 2025

Opiskelijat tarvitsevat tietyn tyyppisen kannettavan tietokoneen opintojaan varten. Sen tulisi olla paitsi riittävän tehokas suoriutuakseen hyvin valitsemassaan pääaineessa, myös riittävän kompakti ja kevyt kannettavaksi koko päivän.

Kuinka saada kiintolevyn käyttöoikeus takaisin, korjata virhe, jossa kiintolevyä ei voida avata

Kuinka saada kiintolevyn käyttöoikeus takaisin, korjata virhe, jossa kiintolevyä ei voida avata

Tässä artikkelissa opastamme sinua, kuinka saat kiintolevyn takaisin käyttöösi, jos se vikaantuu. Seurataanpa matkaa!

Keskustelun tietoisuuden ja reaaliaikaisen kuuntelun käyttäminen AirPodeilla

Keskustelun tietoisuuden ja reaaliaikaisen kuuntelun käyttäminen AirPodeilla

Ensi silmäyksellä AirPodit näyttävät aivan muilta aidosti langattomilta nappikuulokkeilta. Mutta kaikki muuttui, kun löydettiin muutamia vähän tunnettuja ominaisuuksia.

Tulostimen lisääminen Windows 10:een

Tulostimen lisääminen Windows 10:een

Tulostimen lisääminen Windows 10:een on yksinkertaista, vaikka langallisten laitteiden prosessi on erilainen kuin langattomien laitteiden.

Kuinka tarkistaa RAM-muisti ja RAM-virheet tietokoneellasi korkeimmalla tarkkuudella

Kuinka tarkistaa RAM-muisti ja RAM-virheet tietokoneellasi korkeimmalla tarkkuudella

Kuten tiedät, RAM-muisti on erittäin tärkeä laitteisto-osa tietokoneessa. Se toimii muistina tiedon käsittelyssä ja on tekijä, joka määrää kannettavan tietokoneen tai PC:n nopeuden. Alla olevassa artikkelissa WebTech360 esittelee sinulle joitakin tapoja tarkistaa RAM-virheitä Windows-ohjelmistolla.

3D-tulostuksen perusteet: Pakollinen huoltokatsauslista

3D-tulostuksen perusteet: Pakollinen huoltokatsauslista

Pidä laitteesi hyvässä kunnossa. Tässä on joitakin hyödyllisiä vinkkejä 3D-tulostimesi huoltamiseen.

Mitä tehdä, jos Powerbeats Pro ei lataudu kotelossa

Mitä tehdä, jos Powerbeats Pro ei lataudu kotelossa

Jos Powerbeats Pro ei lataudu, käytä muuta virtalähdettä ja puhdista kuulokkeesi. Jätä kotelo auki lataamisen ajaksi.

Kuinka asentaa SSD työpöydälle ja kannettaville tietokoneille

Kuinka asentaa SSD työpöydälle ja kannettaville tietokoneille

Ostitko juuri SSD:n ja toivot sitä parantamaan tietokoneesi sisäistä tallennustilaa, mutta et tiedä, kuinka asentaa SSD? Lue tämä artikkeli nyt!

10 Parasta NAS-tallennuslaitetta kotiin ja ammattikäyttöön

10 Parasta NAS-tallennuslaitetta kotiin ja ammattikäyttöön

Etsitkö NAS:ia kotiisi tai toimistoon? Katso tämä lista parhaista NAS-tallennuslaitteista.

Kuinka korjata GeForce Now -virhekoodi 0xC272008F

Kuinka korjata GeForce Now -virhekoodi 0xC272008F

Olet asettumassa pelikassan ääreen, ja tästä tulee iso ilta – olet juuri valinnut "Star Wars Outlaws" GeForce Now -suoratoistopalvelusta. Tutustu ainoaan tunnettuun kiertotiehen, joka näyttää kuinka korjata GeForce Now -virhekoodi 0xC272008F, jotta voit jälleen pelata Ubisoftin pelejä.