@@ -65,8 +73,10 @@ Die genauen Anweisungen finden Sie auch auf der Introduction Seite des Simulator
### Fragen
Auf diesem Blatt und vermutlich auch auf den weiteren Blättern werden die Benchmarks im sogenannten Syscall Emulation Mode ausgeführt.
1. Was ist der Unterschied zwischen dem Syscall Emulation Mode und dem Full System Mode?
2. Welche Problemem können sich ergeben wenn der Syscall Emulation Mode für die bewertung Rechnerarchitekturen eingesetzt werden?
2. Welche Problemen können sich ergeben wenn der Syscall Emulation Mode für die Bewertung von Rechnerarchitekturen eingesetzt werden?
3. Welche Vorteile bietet der Syscall Emulation Mode?
### Abgabe:
...
...
@@ -77,7 +87,7 @@ Geben Sie den Quellcode ihres Hello World, die beantworteten Fragen, sowie die
## Aufgabe 3: Skriptbasierte Konfiguration des Simulators
Für einfache Simulationenenthält GEM5 schon beispielkonfigurationen wie ```$(GEM5_ROOT)/configs/example/se.py``` und ```$(GEM5_ROOT)/configs/example/fs.py```.
Für einfache Simulationenenthält GEM5 schon Beispielkonfigurationen wie ```$(GEM5_ROOT)/configs/example/se.py``` und ```$(GEM5_ROOT)/configs/example/fs.py```.
Bei aufwändigeren Simulationen und eigenen Erweiterungen müssen allerdings eigene Konfigurationen erstellt werden.
Diese Konfigurationsdateien sind einfache [Pythonskripte](http://python.org), die aber auf dem Simulator (in unserem Fall: ```$(GEM5_ROOT)/build/ARM/gem5.opt```),
...
...
@@ -102,12 +112,12 @@ dieser Stelle nicht betrachtet werden soll, können hier einfach die Standardarg
``` python
system.clk_domain=SrcClockDomain()
system.clk_domain.clock='2GHz'
system.clk_domain.clock='1GHz'
system.clk_domain.voltage_domain=VoltageDomain()
```
Als nächstes wird der Adressraum der Prozessoren in Teilbereiche für die einzelnen Speicher-/Peripheriegeräte unterteilt.
In diesem Fall reicht ein einzelner bereich für den 512 MB großen Hauptspeicher. Außerdem wird der detailgrad der Speichersimulation
In diesem Fall reicht ein einzelner Bereich für den 512 MB großen Hauptspeicher. Außerdem wird der Detailgrad der Speichersimulation
angegeben. Hier ist in den meisten fällen ```timing``` die richtige Wahl. Falls die AtomicSimpleCPU verwendet wird,
muss hier allerdings ```atomic``` angegeben werden.
Nach der Ausführung einer Simulation findet sich in der Datei ```m5out/stats.txt``` das Simulationsergebnis.
In diesem Fall interessieren uns vor allem die Anzahl der simulierten Takte ```sim_ticks`` und die Ausführungszeit der Simulation ```host_seconds```(Simulationsperformanz).
sim_ticks 27916229000 # Number of ticks simulated
...
host_seconds 6.56 # Real time elapsed on the host
Erstellen Sie einen Plot in dem sich die Performance der simulierten CPUs vergleichen lässt.
Im Unterverzeichnis ```simple_cache.py```
Erstellen Sie einen Plot mit dem sich die Performance des Simulators bei den unterschiedlichen CPU-Modellen vergleichen lässt.
### Fragen
1. Wie unterscheiden sich die 3 CPU-Typen? Beschreiben Sie die characteristischen Eigenschaften kurz.
2, Überlegen Sie sich für jede der 3 Varianten einen sinnvollen Einsatzzweck beim Entwurf einer Rechenerarchitektur.
1. Welche der CPU modelle hat die höchste Performance? Welches der CPU-Modelle erlaubt die kürzesten Simulationsdauern.
2. Wie unterscheiden sich die 3 CPU-Typen? Beschreiben Sie die charakteristischen Eigenschaften kurz.
3. Überlegen Sie sich für jeden der 3 CPU-Typen einen sinnvollen Einsatzzweck beim Entwurf einer Rechenerarchitektur.
### Abgabe:
Abzugeben sind: Skript zum ausführen der Messungen, Plot der Ergebnisse sowie antworten auf die Fragen.
Abzugeben sind: Skript zum ausführen der Messungen, Plots der Ergebnisse sowie Antworten auf die Fragen.