# Lista 8
###### tags: `systemy komputerowe`
### Zad 1



Szerokość szyny => 12
Maksymalny adres 0xFF, więc potrzeba nam 8 bitów na adres.
Indeks jest 0-3, więc potrzeba 2 bitów.
Czyli na offset pozostają nam 2 bity.
| Adres | Indeks | Offset | Wynik |
| -------- | -------- | -------- | -------- |
| 0x83 | 0 | 2 | 0xCC |
| 0x83 | 1 | 1 | miss(not valid) |
| 0xFF | 3 | 1 | 0xC0 |
### Zad 2


* Offset posiada 5 bitów, więc rozmiar bloku będzie wynosić $2^5 = 32$ bajtów
* W adresie mamy przewidzianych 5 bitów na numer wiersza (indeks) co oznacza, że wszystkich wierszy jest $2^5 = 32$
* Set dzieli się na linie, w naszym przypadku (mapowanie bezpośrednie) jest tylko jedna linia na każdy set. W lini mamy 1 bit walidacyjny, 22 bity na tag i reszta na dane. Policzyliśmy, że rozmiar bloku to 32 bajty. Więc stosunek danych do metadanych to $\frac{32\cdot8}{22+1}\approx11,13$
### Zad 3

(adres) =(22,5,5)
| Number | Tag | Index | Offset | Hit/Miss | Replaced |
| ------ | --- | ----- | ------ | ---------- | -------- |
| 0 | 0 | 0 | 0 | Miss, Comp | |
| 4 | 0 | 0 | 4 | Hit | |
| 16 | 0 | 0 | 16 | Hit | |
| 132 | 0 | 4 | 4 | Miss, Comp | |
| 232 | 0 | 7 | 8 | Miss, Comp | |
| 160 | 0 | 5 | 0 | Miss, Comp | |
| 1024 | 1 | 0 | 0 | Miss, Conf | Yes |
| 28 | 0 | 0 | 28 | Miss, Conf | Yes |
| 140 | 0 | 4 | 12 | Hit | |
| 3100 | 3 | 0 | 28 | Miss, Conf | Yes |
| 180 | 0 | 5 | 20 | Hit | |
| 2180 | 2 | 4 | 4 | Miss, Conf | Yes |
Zastąpione zostały 4 bloki. Procent trafień wynosi $\frac{4}{12} \cdot 100$% = $33.(3)$%
Zawartość pamięci podręcznej:
| Tag | Index |
| --- | ----- |
| 2 | 4 |
| 0 | 5 |
| 3 | 0 |
| 0 | 7 |
### Zad 4


LRU (ang. Least Recently Used) - algorytm stronicowania polegający na zastępowaniu w cache'u w pierwszej kolejności strony używanej najdawniej.
Sekwencyjno-skojarzeniowa 3-drożna:
liczba wierszy: $\frac{24}{3} = 8$
s = 3; (set index)
blok: 2 słowa = 2 $\cdot$ 32b = 2 $\cdot$ 4B = 8B
b = 3;
t = 32 - 3 - 3 = 26;
(adres) = (26,3,3)
| Number | Tag | Index | Offset | Hit/Miss | Replaced |
| ------ | ------ | ----- | ------ | ---------- |:-------- |
| 0 | 0 | 000 | 000 | Miss, Comp | |
| 4 | 0 | 000 | 100 | Hit | |
| 16 | 0 | 010 | 000 | Miss, Comp | |
| 132 | 10 | 000 | 100 | Miss, Comp | |
| 232 | 11 | 101 | 000 | Miss, Comp | |
| 160 | 10 | 100 | 000 | Miss, Comp | |
| 1024 | 10000 | 000 | 000 | Miss, Comp | |
| 28 | 0 | 011 | 100 | Miss, Comp | |
| 140 | 10 | 001 | 100 | Miss, Comp | |
| 3100 | 110000 | 011 | 100 | Miss, Comp | |
| 180 | 010 | 110 | 100 | Miss, Comp | |
| 2180 | 100010 | 000 | 100 | Miss, Conf | Yes |
| Tag | Index |
| --- | ----- |
| 0 | 000 |
| 10 | 000 |
| 100010 | 000 |
| 0 | 010 |
| - | 010 |
| - | 010 |
| 0 | 001 |
| - | 001 |
| - | 001 |
| 11 | 101 |
| - | 101 |
| - | 101 |
| 8 | 100 |
| 0 | 100 |
| 3 | 100 |
| 2 | 011 |
| 0 | 011 |
| 3 | 011 |
| 2 | 110 |
| 0 | 110 |
| 3 | 110 |
w pełni asocjacyjna: jeden wiersz, wiele linii
blok: 1 słowo = 32b = 4B
8 bloków
## Zad 5

## Zad 6

* Tylko z L1
> 0.66ns + 8.0% * 70ns = 6.26ns
* Z L1 i L2
> 0.66ns + 8.0% * (5.62ns + 0.5% * 70ns) = 1.1376ns
* Z L1
> 64% * 1 + 36% * ($\frac{6.26ns}{0.66ns}$) $\approx$ 4.1 = 5 CPI
* Z L1 i L2
> 64% * 1 + 36% * ($\frac{1.1376ns}{0.66ns}$) $\approx$ 1.26 = 2 CPI
## Zad 7

## Zad 8

## Zad 9

## Zad 10
