Anna minun määritellä:
-
Haaran viiveaika: Yleensä kokoonpanijat järjestävät ohjeet siirtääkseen joitain käskyjä heti haaratoiminnan jälkeen siten, että siirretty käsky suoritetaan aina riippumatta siitä, onko haara otetaan tai ei, poistumatta järjestelmästä epäjohdonmukaisessa tilassa.
-
Haaran ennakoinnin ennakkohaku: ennustaa haarautumistilanteen lopputuloksen ja noutaa sitten ohjeet tuloksellisesta sijainnista, jotta ne suoritetaan heti haaratoiminnan jälkeen.
Nyt , tarkastellaan alla olevaa suoritusjärjestystä (alla, F
: käskynhaku, D
: käskyn dekoodaus, X
: eXecute, M
: Muistin käyttö, W
: Kirjoita takaisin):
BRANCH F D X M W INSTR1 F D X M W INSTR2 F D X M W INSTR3 F D X M W
Yleensä haaran tila arvioidaan ja suoritetaan X-vaiheessa. Tässä vaiheessa INSTR1
ja INSTR2
on jo aloitettu, ja näihin ohjeisiin voi vaikuttaa haarautumisviiveen valinta aikavälien tai haarojen ennustamisen ennakkohaku tai molemmat. En löytänyt tekstiä, josta keskustelisi tästä selvästi. Joten yritin arvata sen seuraavasti:
Kun käytämme molempia, käskysarja olisi seuraava:
BRANCH: branch-instruction INSTR1: branch-delay-slot INSTR2: branch-prediction-prefetch
Kun käytämme vain haaraennustetta, käskysarja olisi seuraava:
BRANCH: branch-instruction INSTR1: branch-prediction-prefetch-1 INSTR2: branch-prediction-prefetch-2
Kun käytämme vain haaraviiveen aikaväliä, käskysarja olisi seuraava:
BRANCH: branch-instruction INSTR1: branch-delay-slot-1 INSTR2: branch-delay-slot-2
Olenko oikeassa tässä? Kuinka näin tapahtuu tosiasiassa eri tapauksissa? Tai onko joitain yksityiskohtia?
kommentit
- En ' t hae " Kun käytämme vain haara " -sarjaa: miten sillä voi olla brach-delay-aikavälit? Lisäksi olisi selvää, kuinka näytät otsikossa olevan kokoonpanijan osan.
- (1) " En ' t grok " Kun käytämme vain haaran " sekvenssiä: miten sillä voi olla brach-delay-slots? " – korjasin lauseen, jätin sen vahingossa keskeneräiseksi. Toivottavasti sillä on järkeä nyt. (2) En ymmärtänyt tätä: " Lisäksi olisi selvää, kuinka näytät otsikossa näyttämäsi kokoonpanokappaletta. " Tee Tarkoitatko minun sanoa kokoonpanijan, jonka kanssa työskentelen? Jos kyllä: Luen putkilinjauksen lukua Pattersonin teoksesta " Tietokoneiden organisaatio ja suunnittelu ". Joten puhtaan teorian käsitteleminen ja liikuntaongelmien ratkaiseminen.
Vastaus
Kyllä, niin voisi tapahtua, vaikka en muista mitään arkkitehtuuria, joka yhdistää ennusteen ja viiveen aikavälit: jos sinulla on ennuste, se voi toimia (haku pienestä muistista) rinnakkain suoritusvaiheen kanssa, joten viiveaikoja ei tarvita.
Kommentit
- kiitos vahvistuksesta, koska tällaisia skenaarioita käsitellään Pattersonin Computer Architecture -kirjan harjoitusongelmissa. Se antaa suoria ratkaisuja selittämättä. sisältö keskustelee tästä.