# Konsultacje --- zaliczenie listy 9, 23. maja 2022, g. 16.15
###### tags: `SYK21` `ćwiczenia` `pwit`
Gotowość rozwiązania zadania należy wyrazić poprzez postawienie X w odpowiedniej kolumnie! Jeśli pożądasz zreferować dane zadanie (co najwyżej jedno!) w trakcie dyskusji oznacz je znakiem ==X== na żółtym tle.
**UWAGA: Tabelkę wolno edytować tylko wtedy, gdy jest na zielonym tle!**
:::danger
| | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| -------------------:| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Dawid Strojek | X | X | X | X | X | X | X | X | | | |
| | | | | | | | | | | | |
:::
:::info
**Uwaga:** Po rozwiązaniu zadania należy zmienić kolor nagłówka na zielony.
:::
## Zadanie 1
:::danger
Autor:
:::


tag - 8 bitów, ponieważ ma 2 cyfry w zapisie szesnastkowym
zbiór - 2 bity, ponieważ służy do wyboru jednej z 4 opcji
offset - 2 bity, ponieważ służy do wyboru jednej z 4 opcji
```
tag set offset
832 = 10000011 | 00 | 10
835 = 10000011 | 01 | 01
FFD = 11111111 | 11 | 01
```
| Adres |Trafienie?| Wartość |
| -------- | -------- | -------- |
| 832 | tak | CC |
| 835 | nie | - |
| FFD | tak | C0 |
## Zadanie 5
:::danger
Autor:
:::


## Zadanie 7
:::danger
Autor:
:::

Musimy pamiętać kolejność dostępów do wszystkich czterech bloków w zbiorze.
Mamy 5 bitów służących do tego, co daje nam ponad 4! możliwości zapalenia, co wystarczy dla wszystkich permutacji czterech elementów.
Zauważmy, że jak ustalimy, na którym (z czterech) miejscu powinien znajdować się blok nr 1, to pozostają nam tylko trzy miejsca, na których możemy umiejscowić blok nr 2, a potem dwa dla bloku nr 3 i 1 miejsce dla bloku nr 4.
Cztery i trzy opcje można zapisać za pomocą 2 bitów każde, dwie opcje za pomocą 1 bitu, a jedna opcja już nie pozostawia nam wyboru, co daje 0 bitów.
Zatem korzystając z 5 bitów można zapisać kolejność 4 elementów.
Np
```
blok 1 blok 2 blok 3
b0 b1 | b2 b3 | b4
```
```
2 3 4 1
00 0 11
3 4 1 2
0 10 10
```
, gdzie do bloków bardziej na prawo (w tym systemie zapisu) dostęp był wykonywany później.
Kandydat do usunięcia ze zbioru, to pierwszy (od lewej) blok, którego reprezentuje 0 (czyli dla bloków 1 i 2 to 00, dla bloku 3 to 0, w przeciwnym wypadku blok 4).
Ustalenie bloku jako ostatnio używany następuje poprzez znalezienie, na której pozycji się on znajdował, oraz znalezienie, które bloki znajdowały się na prawo od niego. Wartość tego bloku należy zmienić na maksymalną możliwą, a wartość bloków, które znajdywały się na prawo należy zmniejszyć o 1.