Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Prüfungen im Bachelor-Studium (1. - 5. Semester) » gra » Aufgabe 1: Umformung
Inhaltsverzeichnis
Aufgabe 1: Umformung
1)
int n = length int n1 = n-1; int i = 0 Lin1: goto Lcond2 Lin2: int nextadr = i+1; int tmp1 = A[i] int tmp2 = A[nextadr] if(tmp1 <= temp2) goto skip A[i] = tmp2 A[nextadr] = tmp1 skip: i++; n1 = n - 1; LCond2: if(i < n1) goto Lin2 n--; Lcon1: if(n>1 ) goto Lin1
Aufgabe 2: Mikroprogrammierung
1)
Control Address Register:
Enthält die Address, die von der Sequencing Logic ermittelt wurde. Das Register liefert die Adresseingänge für die Control Memory.
Decoder 1:
Dekodiert die Addresse vom Instructions-Register
ALU-Flags:
Signal der Alu die benötigt wird um die nächste Zieladresse zu bestimmen in der Sequencing Logic
2)
Form von Mikroprgrammierung? Hier wird horizontale Mikroprogrammierung verwendet. Woran kann man das sehen? Aus dem Control Buffer Register laufen die “Control Signals within CPU” ohne vorher durch einen Decoder dekudiert zu werden.
3)
Pseudocode:
int a = #num int b = eingabe int c = 0 c = a-b while (c >= 0){ a=c c= a-b }
4)
was dann als micocode:
D <- eingabe B <- D C<-A-B goto Lcon Loop: A<-C C<-A-B Lcon: c>=0 Goto Loop:
Aufgabe 3: Paging
1)
Daten: P,WE 0x3 Speicher: P,WE,CD 0xB Code: P,X 0x5 BS-Code: P,X 0x5
2)
Nur Lösung: Daten: 1 VGA: 1 Code: 1 OS: 64
Gesamt: 68 Seiten
3)
Nur Lösung: Daten: 16 VGA: zählt nicht zu nutzdaten Code: 1 OS: 65536
Gesamt: 65553 Seiten
4)
Tabelle TLB
5)
Es müssen die Pages des neuen Prozesses geladen werden da jeder prozess seine eigenen tabels hat TLB muss geleer werden
Aufgabe 4: Assembler
1)
Stack / Register / Speicher
Vorteil Stack: Rekursion möglich
Nachteil Stack: Langsam
Vorteil Register: Schnell
Nachteil Register: Anzahl stark begrenzt / Keine Rekursion möglich
Vorteil Speicher: Anzahl nur durch Kapazität des Speichers begrenzt
Nachteil Speicher: Langsam / Keine Rekursion möglich
2)
Push:
sub $4, %esp mov value, (%esp)
Pop:
mov (%esp), address add $4, %esp
3)
Stack malen:
Aufgabe 5: Parallelverarbeitung
1)
Unter Pipelineing versteht man die Abarbeitung von unabhängigen Microinstruktionen nach einer Art “Fließband”.( Es werden mehere Befehle gleichzeitig abgearbeitet)
2)
Max Speed-Up wäre somit 5
Allerdings wird dieser Speed-Up nicht erreicht, da ein Programm aus Sprüngen ( Steuer-Hazard / Steuerfluss-Konfikte) und Variablen Abhängigkeiten besteht ( Daten-Hazard)
3)
Pipeline Tabelle Malen:
Aufgabe 6: Cache
1)
räumliche Lokalität:
Räumliche Lokalität bedeutet, dass bei einem Zugriff auf eine best. Hauptspeicheraddresse der nächste folgende Zugriff auf eine benachtbarte Hauptaddresse erfolgt (z.B. bei einem Array)
zeitliche Lokalität:
Zeitliche Lokalität bedeutet, dass nach einem Zugriff auf eine Hauptspeicheraddresse mit großer Wahrscheinlichkeit bald wieder dort zugegriffen wird. (z.B. for-Schleife)
2)
geg.: Cache-Nutzdatengröße = 256 KiB = 2^10 * 2^8 = 2^18
Blockgröße = 64 Bytes = 2⁶ Bytes
8-Fach = 2^3
Rechnung
2^18(nutzdaten) / 2^6(blockgröse) = 2^12 Blöcke
2^12(blöcke) / 2^3(assoz) = 2^9 Mengen
3)
2^4 Mengen
Man bräuchte mehr nun Adressvergleicher um die Einträge im Cache zu addressieren.
Außerdem würde die Größe vom Index steigen → Tag wird kleiner
Aufgabe 7: Arbeitsspeicher
TODO
Zum Forum
Wenn ihr fragen oder Fehler findet Hier gehts zum Forum