AOR1/Septembar 2022

Izvor: SI Wiki
< АОР1
Datum izmene: 16. septembar 2022. u 00:29; autor: Fedja (razgovor | doprinosi) (+septembar 2022)
(razl) ← Starija izmena | Trenutna verzija (razl) | Novija izmena → (razl)
Pređi na navigaciju Pređi na pretragu
Ovaj rok nije rešen. Pomozite SI Wiki tako što ćete ga rešiti.

1. zadatak

Postavka

[15p] Posmatra se procesor organizacije sa protočnom obradom dat na slici 1. Svaka faza izvršavanja instrukcije traje jednu periodu signala takta uključujući i fazu 2 u kojoj se čita iz registarskog fajla (Registers) i fazu 5 u kojoj se upisuje u registarski fajl (Registers).

  1. [5p] Objasniti za procesor sa slike 1 šta treba hardverski uraditi da bi se ili kompletno eliminisala ili svela na minimum potreba zaustavljanja instrukcije beqz u protočnoj obradi. Ako je neizbežno zaustavljanje protočne obrade, objasniti zbog čega je to potrebno uraditi i za koliko taktova treba zaustaviti protočnu obradu. Sekvenca instrukcija:
        add  R1, R2, R3  ;R1=R2+R3
        beqz R1, 50      ;if(R1==0) goto PC+50
  1. [5p] Objasniti za procesor sa slike 1 šta treba hardverski uraditi da bi se ili kompletno eliminisala ili svela na minimum potreba zaustavljanja instrukcije beqz u protočnoj obradi. Ako je neizbežno zaustavljanje protočne obrade, objasniti zbog čega je to potrebno uraditi i za koliko taktova treba zaustaviti protočnu obradu. Sekvenca instrukcija:
        lw   R1, 0(R2)   ;R1=MEM[R2+0]
        beqz R1, 50      ;if(R1==0) goto PC+50
  1. [5p] Dati procesor treba da podrži i instrukciju uslovnog premeštanja MOVZ RD, RS, RT (if (RS==0) RD=RT). Šta je potrebno izmeniti u procesoru sa slike 1 (nacrtati i objasniti) tako da se i ova instrukcija izvršava u 5 faza kao i ostale instrukcije. Šta je potrebno izmeniti u hardveru za prosleđivanje (tačka b) da bi se prosleđivanje ispravno obavljalo.

2. zadatak

Postavka

[15p] Posmatra se sistem sa standardnom protočnom obradom sa slike 1 kod koga postoji hardver za prosleđivanje, a u slučaju kada se u ID fazi detektuje da se radi o instrukciji skoka protočna obrada se zaustavlja sve dok se ne odredi da li je uslov skoka ispunjen i dok se ne sračuna adresa skoka. U slučaju da uslov skoka nije ispunjen nastavlja se izvršavanje započete instrukcije. Izvršava se sledeći programski segment:

        ADDI R1, R1, #1   ;R1=R1+1
        LW   R2, (R1)0    ;R2=MEM[R1+0]
loop:   ADDI R1, R1, #1   ;R1=R1+1
        LW   R3, (R1)0    ;R3=MEM[R1+0]
        LW   R4, (R1)1    ;R4=MEM[R1+1]
        SUB  R4, R4, R3   ;R4=R4-R3
        BEQZ R4, back     ;if(R4 == 0) goto back
        LW   R4, (R1)1    ;R4=MEM[R1+1]
        SW   R4, (R1)0    ;MEM[R1+0]=R4
        SW   R3, (R1)1    ;MEM[R1+1]=R3
back:   SUBI R2, R2, #1   ;R2=R2-1
        BNEZ R2, loop     ;if(R2 != 0) goto loop
        ADDI R2, R2, #1   ;R2=R2+1
        OR   R2, R2, R2   ;R2=R2 | R2
        ANDI R1, R1, #1   ;R1=R1 & 1

Izgled dela memorije počev od adrese 100h je prikazan na slici 2. Iz memorije se čita i u nju upisuje 32-bitne reč po reč. Početna adresa programa je 1000h, a početna vrednost registra R1 je 100h. Svaka instrukcija zauzima tačno jednu adresu, adresiranje je na nivou 32-bitne reči.

Slika 2. Izgled dela memorije
Adresa 100 101 102 103 104 105 106 107 108 109 10A 10B
Sadržaj 0 5 0 1 0 6 0 2 2 0 1 9
  1. Prikazati tabelarno šta se dešava u kojoj fazi za prvih 13 instrukcija datog programa koje se izvrše.
  2. Prikazati tabelarno šta se dešava u kojoj fazi za prvih 13 instrukcija datog programa koje se izvrše u slučaju da postoji keš za predikciju skoka sa 4 asocijativnih ulaza i 2 bita za predikciju skoka po ulazu. Predikcija 11 označava jaku predikciju da će biti skoka, 10 slabu predikciju da će biti skoka, 00 označava jaku predikciju da neće biti skoka, a 01 slabu predikciju da neće biti skoka. Keš za predikciju skoka dozvoljava i čitanje i upis u istom taktu. Izgled keš memorije za predikciju pre izvršavanja datog programskog segmenta prikazan je na slici 3.
  3. Dati tabelarno prikaz keš memorije za predikciju 13 instrukcija datog programa i skicirati šemu za predviđanje koja je korišćena u tački b).
Slika 3. Izgled keš memorije za predikciju.
ulaz PC Next PC Predikcija
0 100F 100A 11
1 1006 100A 10
2 1014 1002 11
3 100B 1002 10