Joshua Rutschmann 8 лет назад
Родитель
Сommit
da14191e5a
3 измененных файлов: 7 добавлений и 2 удалений
  1. 1
    1
      hw4/simu1/ANSWERS.md
  2. 5
    0
      hw4/simu3/ANSWERS.md
  3. 1
    1
      hw4/simu3/randomtrace.c

+ 1
- 1
hw4/simu1/ANSWERS.md Просмотреть файл

@@ -36,4 +36,4 @@ Final Value is in page `0xb5` (53) with offset 28 => 0x08 (8).
36 36
 
37 37
 2. Da es sich bei dieser Simulation um eine zweistufige Seitentabelle handelt, gibt es eine Referenz für den PDE, eine für den PTE und schlussendlich noch eine dritte Referenz, in der das Endergebnis steht.
38 38
 
39
-3.
39
+3. Da der Cache nicht im Voraus weiß, auf welche Adresse nach der Übersetzung des PDE bzw. PTE zugegriffen wird, müssen danach erst wieder Daten in den Cache geladen werden. Dies führt zu einer Reihe von Cache Misses.

+ 5
- 0
hw4/simu3/ANSWERS.md Просмотреть файл

@@ -5,3 +5,8 @@
5 5
     2. LRU: Nun wird immer das am längsten nicht getroffene Element aus dem Cache geworfen. Die Strategie bei FIFO funktioniert auch hier.
6 6
     3. MRU: Hier funktioniert die bisher verwendete Folge nicht mehr. Da immer das zuletzt verwendete Element aus dem Cache entfernt wird, ist `1,2,3,4,5,6,5,6,...` eine Möglichkeit, um ausschließlich Cache-Misses zu provozieren. Die Folge `1-6` dient dabei dazu, den Cache zuerst aufzufüllen.
7 7
     4. Für unseren Fall (eine Abfolge von 6 verschiedenen Zugriffen) braucht der Cache eine minimale Größe von 6, um sehr viel mehr Cache-Hits zu erreichen. Um genau zu sein, sind dann immer alle Einträge im Cache vorhanden, und nach der anfänglichen Auffüllphase (in der nur Misses auftreten) ist jeder Zugriff ein Hit.
8
+
9
+2. Für unser Programm, siehe `randomtrace.c`.
10
+    1. Wir erwarten, dass sich die verschiedenen Policies entsprechend dem, wie wir es in der Vorlesung besprochen hatten, verhalten.
11
+
12
+3.

+ 1
- 1
hw4/simu3/randomtrace.c Просмотреть файл

@@ -6,7 +6,7 @@ int main(int argc, char* argv[]) {
6 6
   srand(time(NULL));
7 7
 
8 8
   if (argc != 3) {
9
-    printf("Usage: ./randomtrace <count> <size>\n");
9
+    fprintf(stderr, "Usage: ./randomtrace <count> <size>\n");
10 10
     return -1;
11 11
   }
12 12
 

Загрузка…
Отмена
Сохранить