Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Prüfungen im Bachelor-Studium (1. - 5. Semester) » gra » Aufgabe 1: Allgemein
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Nächste Überarbeitung | Vorherige Überarbeitung | ||
pruefungen:bachelor:gra:loesungss14 [30.01.2015 15:44] – angelegt Alpha2000 | pruefungen:bachelor:gra:loesungss14 [24.09.2015 07:48] (aktuell) – Bild an der richtigen Stelle eingefügt (Aufgabe 4), Rechtschreibkorrekturen dom | ||
---|---|---|---|
Zeile 17: | Zeile 17: | ||
Pseudocode: | Pseudocode: | ||
+ | |||
+ | < | ||
+ | |||
+ | if(eingabe < 0) goto SPEICHER | ||
+ | ZEROCHECK: | ||
+ | if(eingabe-1 < 0) goto ENDE | ||
+ | SPEICHER: | ||
+ | speicher = eingabe | ||
+ | |||
+ | </ | ||
MicroCode: | MicroCode: | ||
+ | < | ||
+ | START: | ||
+ | eingabe -> D | ||
+ | D-> B | D -> E | ||
+ | B->C | ||
+ | if(C>=0) goto ZEROCHECK | ||
+ | |||
+ | SPEICHER: | ||
+ | E-> Speicher | ||
+ | goto START | ||
+ | |||
+ | ZEROCHECK: | ||
+ | B-1 -> C | ||
+ | if(C>=0) goto SPEICHER | ||
+ | |||
+ | ENDE: | ||
+ | |||
+ | </ | ||
2) | 2) | ||
- | Bei der Festverdrahteten sind die Befehle alle gleich | + | Bei der Festverdrahteten sind die Befehle alle gleich |
- | Bei der Microprogrammierung | + | Bei der Mikroprogrammierung |
3) | 3) | ||
Zeile 33: | Zeile 61: | ||
1) | 1) | ||
- | Page tabels Malen | + | **--TODO--** |
2) | 2) | ||
Zeile 41: | Zeile 69: | ||
3) | 3) | ||
- | Valid | Virtuelle Adresse | Physikalische Adresse | Write enable | Cache disable | + | Virtuelle Adresse | Physikalische Adresse | Flags |
+ | |||
+ | Valid-Bit wird nicht gespeichert, | ||
4) | 4) | ||
- | Bei Segmentierung denn da wird die adresse berrechnet | + | Bei Segmentierung, denn da wird die Adresse berechnet |
- | + | ||
- | wobei | + | |
- | + | ||
- | bei paging | + | |
5) | 5) | ||
2^N * 1 Byte | 2^N * 1 Byte | ||
+ | |||
====== Aufgabe 4: Cache ====== | ====== Aufgabe 4: Cache ====== | ||
Zeile 59: | Zeile 86: | ||
1) | 1) | ||
- | hort ist schneller weil dadurch die vertikal liegenden | + | hort ist schneller, weil dadurch die vertikal liegenden |
2) | 2) | ||
- | Da Befehle und Daten sich nicht gegenseitig verdrängen | + | Da Befehle und Daten sich nicht gegenseitig verdrängen. Befehle und Daten werden bei räumlicher |
- | + | ||
- | Befehle und Daten werden bei Räumlicher | + | |
3) | 3) | ||
- | Dann müsste man 2 Speicherblöcke auslesen um 1 Datum zu erhalten was zeit kostet | + | Dann müsste man 2 Speicherblöcke auslesen um 1 Datum zu erhalten, was Zeit kostet. |
4) | 4) | ||
Zeile 82: | Zeile 107: | ||
5) | 5) | ||
- | Voll assoziatic | + | Vollassoziativ, |
- | und | + | 6) |
- | es gibt kein index | + | {{: |
====== Aufgabe 5: Umformung ====== | ====== Aufgabe 5: Umformung ====== | ||
Zeile 92: | Zeile 117: | ||
1) | 1) | ||
- | Code umformen auf ALU operation | + | Code umformen |
+ | |||
+ | < | ||
+ | int test (int x , int n){ | ||
+ | int akku = 0; | ||
+ | int ret = 0; | ||
+ | int i = 0; | ||
+ | akku = i; | ||
+ | goto LCOND | ||
+ | |||
+ | LOOP: | ||
+ | int diff2 = 0; | ||
+ | akku = wert[i]; | ||
+ | akku = akku - x; | ||
+ | akku = akku * akku; | ||
+ | diff2 = akku; | ||
+ | if(akku > 100){ | ||
+ | ret = 1; | ||
+ | goto END | ||
+ | } | ||
+ | akku = i; | ||
+ | akku = akku + 1; | ||
+ | i = akku; | ||
+ | |||
+ | LCOND: | ||
+ | if(akku < n) goto LOOP | ||
+ | |||
+ | END: | ||
+ | |||
+ | |||
+ | </ | ||
====== Aufgabe 6: Assembler ====== | ====== Aufgabe 6: Assembler ====== | ||
Zeile 108: | Zeile 163: | ||
* Globale Variablen | * Globale Variablen | ||
- | Liegen im .daten | + | Liegen im .daten |
* Lokale Variablen (auf dem Stack) | * Lokale Variablen (auf dem Stack) | ||
Zeile 125: | Zeile 180: | ||
3) | 3) | ||
- | Memory Mapped | + | **Memory-Mapped-I/O**: Damit kann mann ganz normal auf die IO Geräte mit z.b. Mov zugreifen |
- | Isolatet IO: Mann kann nur mit Speziellen Load befehlen auf die IO zugreifen | + | **Isolated-I/ |
4) | 4) | ||
- | Bei RISC ist die Code Dichte geringer da Festverdrahtet | + | **RISC**: Code Dichte geringer, da Festverdrahtet. |
- | Bei CISC ist sie höher | + | **CISC**: Code Dichte |
5) | 5) | ||
- | Bei Rekursion: da es dort sehr viele Rücksprung adressen | + | Bei rekursive Algorithmen: Da es dort sehr viele Rücksprungadressen |
====== Aufgabe 7: Prozessorarchitekturen ====== | ====== Aufgabe 7: Prozessorarchitekturen ====== | ||
Zeile 143: | Zeile 198: | ||
1) | 1) | ||
- | Speed Up formel einfügen | + | Speedup = T1/ Tk = (n*s*t) / (s+(n-1))*t = n*s / s+(n-1) = lim n->inf n*s/s+(n-1) = s |
+ | |||
+ | Speedup | ||
2) | 2) | ||
VLIW muss die Hardware für den Compiler bekannt sein und damit die anzahl der ALUS damit die programme laufen können | VLIW muss die Hardware für den Compiler bekannt sein und damit die anzahl der ALUS damit die programme laufen können | ||
+ | Superskalar wird komplet vom Prozessor gehändelt und die programme müssen nicht speziel für geschrieben werden(compiler). | ||
3) | 3) | ||
Zeile 163: | Zeile 221: | ||
5) | 5) | ||
- | Pipeline zeichnen und Speedup Berrechnen | + | ^ index ^ BHBD ^ OH ^ AS ^ RS ^ |
+ | | 0 | movl(1) | ||
+ | | 1 | movl(2) | ||
+ | | 2 | movl(3) | ||
+ | | 3 | addl(4) | ||
+ | | 4 | addl(4) | ||
+ | | 5 | addl(4) | ||
+ | | 6 | addl(5) | ||
+ | | 7 | addl(5) | ||
+ | | 8 | addl(5) | ||
+ | | 9 | - | add(5) | ||
+ | | 10 | - | - | add(5) | ||
+ | | 11 | - | - | - | add(5) | ||
+ | | 12 | - | - | - | - | | ||
+ | |||
+ | |||
+ | Speed up daher | ||
+ | |||
+ | 4(Stufen) * 5(befehle) / 12 (ausführungschritte) | ||
6) | 6) | ||
Zeile 169: | Zeile 245: | ||
da das programm auf abhängigkeiten warten muss | da das programm auf abhängigkeiten warten muss | ||
+ | ====== FORUM ====== | ||
+ | |||
+ | Falls ihr Fehler findet, oder Fragen habt ist hier der Thread im Forum dazu [[https:// | ||