Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Prüfungen im Bachelor-Studium (1. - 5. Semester) » gra » Aufgabe 1: Allgemein

Dies ist eine alte Version des Dokuments!


Aufgabe 1: Allgemein

1. Speicher

wahr | falsch (nicht alle) | wahr | falsch (nicht bit sondern Byte)

2. Assemblerprogrammierung

wahr | flasch(Flag register bedingt) | wahr | wahr | falsch(.date auch möglich) | falsch

3. Speicherschutz

falsch(mischform möglich) | wahr | wahr | falsch (mmu nur paging) | falsch | falsch (gilt nur für phy.A.) | wahr | falsch

Aufgabe 2: Mikroprogrammierung

1)

Pseudocode:

if(eingabe < 0) goto SPEICHER
ZEROCHECK:
if(eingabe-1 < 0) goto ENDE
SPEICHER:
speicher = eingabe

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)

Bei der Festverdrahteten sind die Befehle alle gleich Gross und können daher in einem Takt Decodiert werden. Bei der Microprogrammierung dauert das länger und es muss auch erst das Microprogramm geladen werden.

3)

Da Macro auf Micro abgebildet wird. Bei Macro gibt es ja die Sprünge.

Aufgabe 3: Speicherverwaltung

1)

Page tabels Malen

2)

Page fault. da das pressend bit nicht gesetzt ist

3)

Valid | Virtuelle Adresse | Physikalische Adresse | Write enable | Cache disable

4)

Bei Segmentierung denn da wird die adresse berrechnet ( Segments anfangs adresse + Offset)

wobei

bei paging nur zusammengesetzt wird aus Basis & offset.

5)

2^N * 1 Byte

Aufgabe 4: Cache

1)

hort ist schneller weil dadurch die vertikal liegenden Blocke die im Cache stehen besser genutzt werden können bevor ein Cache Miss eintritt

2)

Da Befehle und Daten sich nicht gegenseitig verdrängen

Befehle und Daten werden bei Räumlicher und Zeitlicher Lokalität anderes gemappt

3)

Dann müsste man 2 Speicherblöcke auslesen um 1 Datum zu erhalten was zeit kostet

4)

#blocke = s / b
#menge = (#blocke / n)

f(addr_i) = (addr_i / b) % #menge

5)

Voll assoziatic denn es gibt für jeden cache eintrag ein vergleicher

und

es gibt kein index

Aufgabe 5: Umformung

1)

Code umformen auf ALU operation achten

Aufgabe 6: Assembler

1)

* Sprungmarken(Labels)

Sprungadresse

* Funktionsaufrufe mit Parametern

call

* Globale Variablen

Liegen im .daten segment

* Lokale Variablen (auf dem Stack)

Stack reservierung Push Pop

* Kommentare

Keine

2)

ebp: er zeigt auf denn den befehl nach dem call befehl und weis damit auf den Letzten Stack Frame wo das Programm wieder zurück springt

3)

Memory Mapped IO: 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

4)

Bei RISC ist die Code Dichte geringer da Festverdrahtet

Bei CISC ist sie höher wegen der Microprogrammierung

5)

Bei Rekursion: da es dort sehr viele Rücksprung adressen gibt

Aufgabe 7: Prozessorarchitekturen

1)

Speed Up formel einfügen → speedup = s

2)

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)

Zeitscheiben MT: Jeder Prozess hat immer genau gleich viel zeit zu arbeiten keiner verhungert

Erreignis gesteuerte MT: Wenn der prozessor auf etwas warten muss bis etwas fertig ist dann kann er so lange einen anderen Prozess abarbeiten.

Simultanes MT: es werden Prozesse ausgewahlt die gerade ausgeführt werden (was abgearbeitet werden kann wird abgearbeitet)

4)

Er muss Threads Erstellen

5)

Pipeline zeichnen und Speedup Berrechnen

6)

da das programm auf abhängigkeiten warten muss

FORUM

Falls ihr fehler findet oder fragen zu habt hier ist der thread im forum dazu zum Forum