1. Prawo Gustafsona mówi, że :
a) Przyspieszenie jest ograniczone przez sekwencyjną część programu.
b) Nie ma żadnego ograniczenia na przyspieszenie
c) Przyspieszenie rośnie liniowo wraz z liczbą procesorów
d) Brak poprawnej odpowiedzi
2. Konflikt dostępu do pamięci w przetwarzaniu potokowym polega na
a) Kolejna wykonywana instrukcja żąda dostępu do rejestru wykorzystywanego przez poprzednią
b) Brak poprawnej odpowiedzi
c) Kolejna wykonywana instrukcja żąda dostępu do zajętego procesora
d) Kolejna wykonywana instrukcja żąda dostępu do nie wyliczonej jeszcze przez poprzedzającą instrukcję
wartości
3. Układ przewidujący skoki określany jako (3,2) wykorzystuje:
a) bity określające globalne zachowanie w celu wyboru dla wykonywanej instrukcji skoku jednego z 4-rech
układów przewidujących skoki;
b) 3 bity określające globalne zachowanie w celu wyboru dla wykonywanej instrukcji skoku jednego z 4-
rech układów przewidujących skoki;
c) 3 bity określające globalne zachowanie w celu wyboru dla wykonywanej instrukcji skoku jednego z 8-
śmiu układów przewidujących skoki;
d) Brak poprawnej odpowiedzi.
4. Rozważ instrukcję pętli w której realizuje się 10 iteracji i pętla się kończy ( nie ma kolejnego przebiegu). Jaka
jest skuteczność przewidywania skoku jeśli używamy dwu-bitowego układu przewidywania skoków przy
inicjalizacji układu na …?
ZAŁOŻENIE: Jeśli w pętli jesteśmy z 11 przebiegiem (w tym przebiegu zostaje zakończona pętla) to
skuteczność wynosi 90%
a) 80%
b) 95%
c) 90%
d) Brak poprawnej
5. Przy skoku opóźnionym (delayed branch), instrukcja znajdująca się bezpośrednio po instrukcji skoku
a) Jest wykonywana zawsze bez względu na to czy skok jest realizowany cz nie;
b) Jest wykonywana tylko gdy skok jest realizowany;
c) Jest wykonywana tylko gdy skok nie jest realizowany;
d) Brak poprawnej.
6. Jaka jest różnica pomiędzy strategiami „write back” i „write through” stosowanymi dla pamięci cache?
a) Przy zapisie w „write through” informacja jest zapisywana do bloku w pamięci cache, a dla „write back”
do bloku w pamięci cache oraz w pamięci głównej
b) Nie różnią się
c) Przy zapisie w „write back” informacja jest zapisywana do bloku w pamięci cache, a dla „write
through” do bloku w pamięci cache oraz w pamięci głównej
d) brak poprawnej odpowiedzi
7. Jak definiujemy operacje rozwinięcia pętli (loop unrolling)?
a)
Rozwinięcie pętli polega na wielokrotnym sekwencyjnym zapisaniu ciała pętli z jednym blokiem
testowania zakończenia wykonania pętli
b) rozwinięcie pętli polega na wielokrotnym sekwencyjnym zapisaniu ciała pętli z wieloma blokami
testowania zakończenia wykonania pętli, liczba bloków jest równa liczbie sekwencyjnie zapisanych „ciał
pętli”
c) rozwinięcie pętli umożliwia wykonywanie instrukcji ciała pętli w innej niż zapisana kolejności
d) brak poprawnej odpowiedzi
8. Co oznacza ze pamięć cache jest „n-drożna” (ang. set associated)
a) oznacza to że każdy blok ma jedno wyróżnione miejsce które może zajmować w pamięci cache
b) oznacza to że każdy blok może zajmować tylko miejsce spośród wyróżnionej puli miejsc w pamieci
cache
c) oznacza to że bloki pamieci mogą zajmowac dowolne miejsce w pamieci cache
d) brak poprawnej odpowiedzi
9. Załóżmy ze dla pewnego programu jego część sekwencyjna stanowi 10% oraz jego część równoległa jest
przetwarzana z wykorzystaniem 15 procesorów
a) prawo Amdhal’a mówi ze przyspieszenie nie może być większe od 10 niezależnie od liczby
wykorzystywanych procesorów
b) prawo Amdhal’a mówi ze przyspieszenie zależy od liczby wykorzystywanych procesorów i nie może być
większa od 15
c) prawo Amdhal’a mówi ze przyspieszenie nie zależy od liczby wykorzystywanych procesorów i nie może
być większe niż 15
d) brak poprawnej odpowiedzi
10. Własność blokowania dla sieci połączeniowej????
a)
b)
c)
d)
11. Jaki sposób adresacji możne wymagać wielokrotnego dostępu do pamięci?
a) Adresacja względna
b) Adresacja pośrednia
c) Adresacja bezpośrednia
d) Inna
12. Co to znaczy że adres do pamięci jest wyrównany(aligned)?
a) adres jest wyrównany jeśli rozmiar slowa wynosi 4 bajty
b)
adres jest wyrównany jeśli adres slowa (obiektu) A o rozmiarze s bajtów spełnia następujący warunek
: A mod s = 0
c) brak poprawnej
d) jest wyrównany jeśli w sposób niezależny mamy dostęp do różnych bajtów pamięci
13. Do czego sluzy bufor adresow docelowych skokow (branch target buffer) ?
a) w buforze adresow docelowych skokow zapamiętywane są prognozny, tzn. informacja czy skok będzie
realizowany czy nie
b)
w buforze adresow docelowych skokow zapamiętywane są przewidywane adresy instrukcji, które
będą wykonywane po instrukcji skoku
c) w buforze adresow docelowych skokow zapamietana jest historia realizacji skokow
d) brak poprawnej
14. rozwaz następujący fragmet programu
LD R1,45(R10) ;ładuj rejestr
DADD R7,R1,R5 ;dodaj -Zaleznosc właściwa R1
DSUB R8, R1, R6 ;odejmij
OR R9,R5, R1 ;lub logiczne
DADD R10,R8,R5 ;dodaj
XOR R2,R3,R4 ;różnica symetryczna
Zidentyfikuj wszystkie zaleznosci danych (właściwa, antyzaleznosc, wyjsciowa) jakie występują w powyższym
fragmecie programu, podaj które instrukcje są w relacji zależności oraz podaj numer rejestru „generujący”
zależność
15. Rozważ poniższy fragment kodu
If (d==0) d=1;
If (d==1) …….
Zbuduj tabele akcji (jak na wykladzie dla 1-bitowego układu przewidywania skokow z jednym bitem korelacji.
Zaloz ze układy przewidywania skokow dla obu skokow są zainicjalizowane na Taken/Not taken oraz bit
korelacji na taken . Wartość zmiennej d zmienia się w następujący sposób 1,2,1,2. Zaznacz sytuacje gdy
przewidywanie skoku jest niepoprawne.