This Gitlab instance will require Two-Factor-Authentication from 2021-10-01. Read how to enable 2FA.

blatt01_aufgaben.md 2.28 KB
Newer Older
Michael Kuhn's avatar
Michael Kuhn committed
1 2 3
# Aufgabenblatt 1

## Aufgabe 1: Vagrant installieren
Michael Kuhn's avatar
Michael Kuhn committed
4
In der ersten Aufgabe sollen Sie zunächst eine Vagrant-Umgebung einrichten.
kuhnm's avatar
kuhnm committed
5
Es wird empfohlen, diese unter einem aktuellen Ubuntu zu installieren, da dort alle Abhängigkeiten verfügbar sind. Das Ubuntu kann in einer virtuellen Maschine ausgeführt werden.
Michael Kuhn's avatar
Michael Kuhn committed
6 7

* Auf der Introduction-Seite finden sie alle wichtigen Informationen zur Installation: http://gem5.org/Introduction
Michael Kuhn's avatar
Michael Kuhn committed
8 9 10 11 12 13
 * Pullen Sie den aktuellen Sourcecode von Vagrant
 * Kompilieren Sie den Simulator für die ARM-Architektur
 * besorgen Sie sich zusätzlich die Full-System-Files: http://www.gem5.org/dist/current/arm/aarch-system-2014-10.tar.xz
* Installieren Sie sich zusätzlich einen Cross-Compiler für ARM
 * sudo apt-get installl crossbuild-essential-armhf libc6-dev-armhf-armel-cross crossbuild-essential-arm64 libc6-dev-arm64-cross

kuhnm's avatar
kuhnm committed
14 15 16 17

### Abgabe:
Für diese Aufgabe muss nichts abgegeben werden.

kuhnm's avatar
kuhnm committed
18
### Eventuell VM bereitstellen?? (Sollte zumindest eine bereit liegen, oder halt das vagrant-file?)
Michael Kuhn's avatar
Michael Kuhn committed
19 20 21


## Aufgabe 2: Hello World
kuhnm's avatar
kuhnm committed
22 23 24 25 26
Schreiben sie ein Hello-World in c und kompilieren Sie dieses für ARM. 

* statisch linken
* Befehl zum kompilieren geben? 

Michael Kuhn's avatar
Michael Kuhn committed
27
Führen Sie dieses im gem5-Simulator aus. Verwenden Sie dafür die bereitgestellte Config-Datei se.py
Michael Kuhn's avatar
Michael Kuhn committed
28

kuhnm's avatar
kuhnm committed
29
``` build/ARM/gem5.opt configs/example/se.py -c <hello world binary>```
kuhnm's avatar
kuhnm committed
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45

Die genauen Anweisungen finden Sie auch auf der Introduction Seite: 
http://gem5.org/Introduction#Running

### Abgabe:
Geben Sie ihr Hello-World, sowie die Ausgabe auf der Konsole ab.

## Aufgabe 3: CPU-Typen und Ausführungszeiten
gem5 stellt verschiedene Typen von CPU-Modellen bereit, mit denen Simuliert werden kann. In ILIAS finden Sie den Sourcecode für eine einfache Mathe-Benchmark. Kompilieren Sie diese und führen sie auf den verschiedenen Modellen aus.

* m5out auswerten
* ausführungszeit und simulierte cycles rausfinden

Beschreiben Sie die Unterschiede und begründen Sie diese.

### Abgabe:
kuhnm's avatar
kuhnm committed
46 47
* Tabelle mit den Ausführungszeiten (sim_seconds, sim_ticks, host_seconds)
* Erklärung der Unterschiede.
kuhnm's avatar
kuhnm committed
48 49 50 51 52 53

# Vll auch nächstes Blatt:
## Aufgabe 3: Configuration Scripts
In dieser Aufgabe sollen Sie sich mit den Konfigurationsdateien von gem5 vertraut machen.

Diese Dateien sind python-Skripte, die aber auf dem Simulator, und nicht dem Standard-Interpreter ausgeführt werden.