Glede 1a)
Tisti brez zadnjih obhodov je kar pravilno. Zato tudi povsod pri
zankah odsteje -2.
Fora je v tem, da se za kontrolne nevarnosti uporabljajo mehurcki =
predict not taken = predpostavljamo, da je pogoj neizpolnjen. Kaj to
pomeni za CPE?
Takoj v naslednji periodi za IF stopnjo branch ukaza, zacne IF
izvajati naslednji ukaz, in v naslednji periodi se naslednji. Takrat
je branch ukaz v EX stopnji, kjer preveri pogoj in izracuna skocni
naslov in nastavi PC (NewPC) ter vstavi mehurcke v vse prejsnje
stopnje. Ukazi se pa zacno se enkrat na novem PC-ju z IF stopnjo.
Seveda to pomeni 2 cakalni periodi (ker se dva ukaza v ID in IF
zmehurckata), ampak samo pri izpolnjenem pogoju. Ce bi bil v EX
stopnji pa neizpolnjen pogoj, se ne bi zgodilo nic. Dva ukaza po
branchu (v IF in ID), bi se normalno izvajala do konca, in cakalnih
period ne bi bilo.

Na kratko: pri resevanju kontrolnih nevarnosti z mehurcki (predict not
taken), imas 2 cakalni periodi ce je skok, ce ga ni pa 0 cakalnih
period. Pri brezpogojnih skokih imas tako vedno 2 cakalni periodi...



2009/1/27 Tomaz Strukelj <[email protected]>:
> Jaz bi rekel da je prav 3, ker ukaz ADD R4,R4,R1 uporabi R1, katerega
> vrednost pa nastavi prejšnji ukaz LW, R1,0(R2)  šele v stopnji WB , torej :
>
> LW, R1,0(R2)    IF O ID E M W     (Ta O se izvede samo enkrat pri izvajanju
> celga programa)
> ADD R4,R4,R1         IF O O  O ID
>
> ... 3 mehurčki. Kje pa piše to v knjigi? Pomoje piše za kaj drugega. Ker če
> pogledaš sliko 7.4 v knjigi, vidiš da iz stopnje M ne gre spodaj nobena
> povezava nazaj v IF/ID. Če bi blo v tem primeru 2 u.p. pravilno, potem tut
> za TRAP nebi rabil 4 č.s., ker bi lahko že po 3. č.s. iz stopnje M dobil v
> stopnji IF PC nov naslov..
>
> Mene neki druzga bega pri rešitvah te naloge 1a) ..  :) Zakaj piše pri obeh
> skokih "(razen v zadnjem obhodu)" . V čem je fora? Saj nimamo nobene
> predikcije?  Rezultat dobim 664 period.
>
>
> Pa pri 1b) je tut pomoje napačen rezultat, men pride 488 period ; 160 se jih
> nam odšteje v notranji zanki in 16 v zunanji -> 664-176 = 488 .
>
>
>
> 2009/1/27 Betalord <[email protected]>
>
>> Domen Gostincar wrote:
>>
>>> Mrbit čakajoče stanje? Se ne spomnim več :)
>>>
>>
>> Hm, čudno se sliši, ampak ok :)
>>
>> Še eno resno vprašanje: v rešitvah za izpit 23.1.2006 pri prvi nalogi
>> pravi, da je med ukazoma LW in ADD (takoj za labelo LP1) 3 č.s. (3 mehurčki
>> zaradi RAW nevarnosti)... To je skoraj sigurno narobe, ker v knjigi
>> eksplicitno piše za ukaz LW, da izgubimo 2 u.p. (in ne 3 kot pri ALE, CALL
>> in MOVER ukazih) oz 1 u.p., če uporabljamo premoščanje (pri ALE, CALL in
>> MOVER pa 0, če uporabljamo premoščanje). Se da komu pogledat in potrditi?
>>
>> Tule sta izpit in rešitve:
>> http://www.fri-info.net/fri-uni/ARS1/ars1_izpit_2006_01_23.zip
>>
>>
>>
>>
>

Reply via email to