Joshua Rutschmann 8 年前
父节点
当前提交
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
 
36
 
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.
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
     2. LRU: Nun wird immer das am längsten nicht getroffene Element aus dem Cache geworfen. Die Strategie bei FIFO funktioniert auch hier.
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
     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.
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
     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.
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
   srand(time(NULL));
6
   srand(time(NULL));
7
 
7
 
8
   if (argc != 3) {
8
   if (argc != 3) {
9
-    printf("Usage: ./randomtrace <count> <size>\n");
9
+    fprintf(stderr, "Usage: ./randomtrace <count> <size>\n");
10
     return -1;
10
     return -1;
11
   }
11
   }
12
 
12
 

正在加载...
取消
保存