## Zadanie 1 ![Tresc 1](https://hackmd.io/_uploads/r1F4DAwGC.png) ![Do zad1](https://hackmd.io/_uploads/rJmLORPfA.png) Adres będzie miał 12 bitów * Skoro blok ma 4 bajty(B = 2^2), to ostatnie **2** bity będą poświęcone na block offset. * W zadaniu mamy 4 zbiory (S = 2^2), czyli kolejne **2** bity od prawej wyznaczają indeks. * Pozostałe bity od prawej wyznaczają tag, czyli 12-2-2 = **8**. 1. $832_{(16)} = 100000110010_{(2)}$ tag = 10000011 indeks = 00 offset = 10 2. $835_{(16)} = 100000110101_{(2)}$ tag = 10000011 indeks = 01 offset = 01 3. $FFD_{(16)} = 111111111101_{(2)}$ tag = 11111111 indeks = 11 offset = 01 ![Do zad1 b](https://hackmd.io/_uploads/H1sMRCvGR.png) ## Zadanie 2 ![Tresc 2](https://hackmd.io/_uploads/HJlIARwGA.png) Pamięć podręczna z mapowaniem bezpośrednim adresowana bajtowo to taka w której w każdym zbiorze jest tylko jeden line (E = 1) * Skoro na offset bloku jest poświęcone 5 bitów to rozmiar bloku wynosi **B = $2^5$ = 32 bajty** * Na indeks wiersza też jest poświęcone 5 bitów czyli wierszy będzie tyle samo **S = $2^5$ = 32** * Bitów składujących metadane będzie tyle ile jest przeznaczonych na tag + 1 bit na valid, czyli **22+1 = 23**. Bitów składujących dane będzie **32*8 = 256** $\frac{256}{23} \approx{11.13}$ ## Zadanie 3 ![Tresc 3](https://hackmd.io/_uploads/SkuvWWdMC.png) ![Zad 3](https://hackmd.io/_uploads/SJj4Y7OMC.png) ## Zadanie 4 ![Tresc 4](https://hackmd.io/_uploads/B16xq7OGC.png) LRU - (Least Recently Used) zastępujemy najstarszy blok ze zbioru 1. Blok długości dwóch słów - 2*32 = 64 bity = 8 bajtów czyli B = $2^3$ czyli 3 bity na offset. 24 bloki, a 3 na zbiór więc $\frac{24}{3}$ = 8, S = $2^3$ czyli 3 bity na indeks. 32-3-3=26 bitów na tag. ![Zad 4a](https://hackmd.io/_uploads/SkL-sXdfA.png) ![Zad4a2](https://hackmd.io/_uploads/ry8zi7dMR.png) 2. 32 bity = 4 bajty = $2^2$ czyli 2 bity na offset. 32-2 = 30 na tag. ![Zad 4b](https://hackmd.io/_uploads/BksZsmdzR.png) ## Zadanie 7 ![image](https://hackmd.io/_uploads/B1ojs1KMC.png)