Väliaikainen monisäikeistys

Temporaalinen monisäikeisyys on yksi kahdesta monisäikeistyksen päämuodosta  , jotka voidaan toteuttaa prosessorien laitteistoissa. Toinen muoto on samanaikainen monisäikeistys . Ero näiden kahden muodon välillä on niiden säikeiden enimmäismäärä, jotka suoritetaan laskennallisen liukuhihnan kussakin vaiheessa tietyssä prosessorin kellojaksossa. Tilapäisessä monisäikeistössä vain yksi säie suoritetaan kulloinkin, ja samanaikaisessa monisäikeistössä niitä on useita. Jotkut asiantuntijat käyttävät termiä " super-threading " synonyyminä transientille monisäikeistykselle. [yksi]

Perinteisessä prosessorissa säiettä ohjaa käyttöjärjestelmä . Säiettä suoritetaan, kunnes tapahtuu laitteistokeskeytys , järjestelmäkutsu tai kunnes käyttöjärjestelmän sille varaama aika umpeutuu. Tämän jälkeen prosessori vaihtaa käyttöjärjestelmäkoodiin, joka tallentaa säikeen tilan (sen kontekstin) ja siirtyy jonossa seuraavan säikeen tilaan, jolle annetaan myös aikaa suorittaa. Tällaisella monisäikeisyksellä konteksteja vaihtavaan käyttöjärjestelmäkoodiin kuluu riittävän suuri määrä prosessorijaksoja. Jos säietuki on toteutettu laitteistossa, prosessori itse pystyy vaihtamaan säikeiden välillä ja ihannetapauksessa suorittaa useita säikeitä samanaikaisesti jokaisella kellojaksolla.

Vaihtoehdot

Temporaalinen monisäikeisyys on jaettu kahteen pääalamuotoon:

Karkeasäikeinen monisäikeistys ( CGMT) , Estetty monisäikeisyys )

Vain yksi säie kulkee prosessoriputkessa pitkän aikaa. Sillä hetkellä, kun tämä säie tarvitsee dataa esimerkiksi muistista, eikä dataa ole välimuistissa, prosessori tallentaa säikeen tilan ja vaihtaa automaattisesti toiseen säikeeseen, kunnes sekin tarvitsee jotain muistista. Toinen syy vaihtaa toiseen säikeeseen voi olla prosessorin jaksojen lukumäärän tietty rajoitus. Siten prosessoriliukuhihna ei ole lepotilassa ja on melkein aina kiireinen suorittamaan tietyn säikeen koodia.

Hienorakeinen ( FGMT ) , lomitettu monisäikeinen )

Prosessori vaihtaa ohjelmasäikeiden välillä jokaisella kellojaksolla. Hienosäikeinen monisäikeisyys takaa kaikkien prosessorille määritettyjen säikeiden suorittamisen. Kunkin tietyn säikeen suoritus hidastuu, mutta prosessorin kokonaiskapasiteetti kasvaa. Monisäikeiset prosessorit, jotka toteuttavat hienorakeisen monisäikeen, ovat hyviä ajamaan ohjelmia, joissa on monia säikeitä, kuten tietokantapalvelimia, verkkopalvelimia, sovelluspalvelimia, jotka käsittelevät monia samoja pyyntöjä useilta asiakkailta. Tällaisia ​​prosessoreita kutsutaan myös piippuprosessoreiksi (säikeiden suorittaminen prosessorissa vuorottelee joka sykliä kuin piippuniitit ympyrässä).

Toteutukset

Karkeasäikeiset monisäikeiset prosessorit: Vuonna 1998 IBM julkaisi RS64-II:n ( Northstar ), markkinoiden ensimmäisen mikroprosessorin , joka tukee monisäikeistä laitteistoa . Prosessori tuki 2 säikeen vaihtoehtoista suoritusta. Viimeaikaiset: Intelin kaksiytiminen Montecito (2006) , jossa on Itanium 2 -pohjaiset ytimet , joissa jokainen ydin suorittaa kaksi karkearaeista säiettä; Fujitsu SPARC64 VI (2007).

Esimerkkejä prosessoreista, jotka ovat ottaneet käyttöön hienorakeisen monisäikeen, ovat Denelcor HEP (1982) - 8 säiettä. Cray /Tera MTA (1988) -prosessori pystyi pyörittämään 128 säiettä vuorotellen. Uusimmat: Sun UltraSPARC T1 (2005, 4 säiettä ydintä kohti) ja T2 (2008), Oracle SPARC T3 (2010, 8 säiettä), SPARC M7 (2015, 8 säiettä).

Vertailu samanaikaiseen monisäikeiseen

Ajallisella monisäikeisyksellä on etu samanaikaiseen monisäikeitykseen verrattuna, koska se lämmittää prosessoria vähemmän; Haittana on kuitenkin se, että vain yhden säikeen koodi suoritetaan kullakin prosessorijaksolla.

Skalaariprosessorissa hienorakeista monisäikeistystä ei voi erottaa samanaikaisesta. Samanaikaisen monisäikeisen käsittelyn toteuttamiseksi prosessori tarvitsee superskalaariliukuhihnan , ja mitä useampi säiettä suunnitellaan suoritettavaksi samanaikaisesti, sitä korkeampi liukuhihnan superskalaari on oltava , mikä lisää prosessorin logiikan monimutkaisuutta.

Muistiinpanot

  1. Superthreading monisäikeisellä prosessorilla . Haettu 5. syyskuuta 2016. Arkistoitu alkuperäisestä 14. lokakuuta 2008.

Kirjallisuus

Linkit