Ero sivun ”Haarautumisen ennakointi” versioiden välillä

[katsottu versio][katsottu versio]
Poistettu sisältö Lisätty sisältö
Ipr1 (keskustelu | muokkaukset)
Ei muokkausyhteenvetoa
Ipr1 (keskustelu | muokkaukset)
pEi muokkausyhteenvetoa
Rivi 5:
Toistorakenteet yleensä suoritetaan useita kertoja ja taaksepäin suuntautuvat haarat yleensä suoritetaan.<ref name="ddca" /> Yksinkertaisin ennakointi katsoo haaran suunnan ja ennakoi taaksepäin suuntautuvan suorittamisen.<ref name="ddca" /> Tätä kutsutaan ''staattiseksi haaran ennakoimiseksi'' koska se ei riipu ohjelmasuorituksen historiasta.<ref name="ddca" />
 
Eteenpäin suuntautuvat haarat ovat vaikeasti ennakoitavissa tietämättä enempää tietyästätietystä [[tietokoneohjelma|ohjelmasta]].<ref name="ddca" /> Tätä varten suorittimet käyttävät ''dynaamista haaran ennakoimista'', jolloin käytetään ohjelmasuorituksen historiaa arvioimisessa kumpi haara suoritetaan.<ref name="ddca" /> Dynaamista ennakointia varten suorittimet pitävät taulua viimeisistä sadoista (tai tuhansista) haarautumiskäskyistä.<ref name="ddca" /> ''Yhden bitin dynaaminen ennakointi'' muistaa suoritettiinko haara viimeksi ja ennakoi tapahtuuko sama seuraavalla kerralla.<ref name="ddca" /> ''Kahden bitin dynaaminen ennakointi'' sisältää neljä tilaa: ''vahva suoritus'', ''heikko suoritus'', ''heikko ohitus'', ''vahva ohitus''.<ref name="ddca" />
 
Haarautumisen ennakointiin perustuvaa spekulatiivista suoritusta käytettiin jo [[IBM 7030]] -tietokoneessa.<ref>{{Verkkoviite | osoite = https://people.cs.clemson.edu/~mark/stretch.html | nimeke = IBM Stretch (7030) -- Aggressive Uniprocessor Parallelism | tekijä = Mark Smotherman | viitattu = 26.1.2020 | kieli = {{en}} }}</ref>