runterladen
runterladen
runterladen
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Fachhochschule Flensburg<br />
Prof. Dr.-Ing. Knut Hartmann<br />
Fach: Rechnerorganisation & Betriebssysteme<br />
Termin: 2. Prüfungsabschnitt Sommersemester 2010<br />
Umfang: Es sind 9 Aufgaben mit insgesamt 90 Punkten zu bearbeiten.<br />
Zusätzlich 1 Bonusaufgabe mit 8 Punkten.<br />
Bearbeitungszeit: 120 min<br />
Erlaubte Hilfsmittel: nicht-programmierbare Taschenrechner<br />
Hinweise zur Bearbeitung<br />
Kennzeichnen Sie bitte jedes Blatt mit Ihrem Namen.<br />
Arbeitsmaterial: Es dürfen ausschließlich offizielle Blätter genutzt werden. Lösungen auf<br />
anderem Papier werden nicht bewertet! Falls Sie zusätzliche Blätter benötigen, wird<br />
dieses vom Aufsichtspersonal gestellt.<br />
Bei Rechenaufgaben ist die Angabe des Rechenweges zwingend erforderlich. Ergebnisse<br />
ohne Rechenweg werden nicht gewertet.<br />
Hinweise zur Notation in den Aufgaben<br />
In allen Aufgaben wird folgende Notation verwendet:<br />
(Information)Codierung<br />
Folgende Notation sollte zur Angabe des Codierungs-Schematas genutzt werden:<br />
2 - binäre Codierung<br />
2K - binäre Darstellung im Zweier-Komplement<br />
1K - binäre Codierung im Einer-Komplement<br />
8 - Oktaldarstellung<br />
10 - Dezimaldarstellung<br />
16 - hexadezimale Darstellung<br />
Zur besseren Lesbarkeit sollten die Zeichen zur Informationsdarstellung in Vierergruppen<br />
aufgeteilt und durch Leerzeichen voneinander getrennt werden.<br />
Seite 1
Klausuraufgaben<br />
Aufgabe 1: Darstellung ganzer Zahlen (9 Punkte)<br />
(1a) Nennen Sie 3 Möglichkeiten zur Repräsentation vorzeichen-behafteterer ganzer<br />
Zahlen! (1,5 Punkte)<br />
alternative Repräsentationen für ganze Zahlen<br />
(1b) Nennen Sie Anforderungen an die Repräsentation ganzer Zahlen! (0,5 Punkte)<br />
(1c) Diskutieren Sie Vor- und Nachteile dieser Codierungsarten! (7 Punkte)<br />
Repräsentationsformalismus 1:<br />
Vorteile<br />
Nachteile<br />
Seite 2
Repräsentationsformalismus 2:<br />
Vorteile<br />
Nachteile<br />
Repräsentationsformalismus 3:<br />
Vorteile<br />
Nachteile<br />
Seite 3
Aufgabe 2: Stellenwert-System - Umwandlung zwischen Basen (6 Punkte)<br />
Konvertieren Sie die folgenden positiven ganzen Zahlen in Zahlendarstellungen bezüglich<br />
der jeweils angegebenen Basen!<br />
(1001)2<br />
Basis 2 Basis 8 Basis 10 Basis 16<br />
(19)10<br />
Hinweise: Das Vorzeichen soll nicht repräsentiert werden. Die Wortlänge zur<br />
Repräsentation ist nicht beschränkt. Geben Sie nur die zur Darstellung benötigten Stellen<br />
an!<br />
Umwandlung (1001)2 → Basis 8:<br />
Umwandlung (1001)2 → Basis 10:<br />
Umwandlung (1001)2 → Basis 16:<br />
Seite 4
Umwandlung (19)10 → Basis 2:<br />
Umwandlung (19)10 → Basis 8:<br />
Umwandlung (19)10 → Basis 16:<br />
Seite 5
Aufgabe 3: Komplemente (21 Punkte)<br />
(3a) Geben Sie einen Algorithmus zur Umwandlung einer ganzen Zahl in<br />
Dezimaldarstellung in eine Darstellung als Zweierkomplement an! (7 Punkte)<br />
Eingabe: (in)10 vorzeichenbehaftete ganze Zahl in dezimaler Darstellung<br />
Ausgabe: (result)2K vorzeichenbehaftete ganze Zahl als Zweier-Komplement<br />
(3b) Konvertieren Sie die beiden folgenden Zahlen ins Zweier-Komplement mit einer<br />
Wortlänge von 5 Bit! (6 Punkte)<br />
x = (8)10<br />
y = (-9)10<br />
Seite 6
(3c) Führen Sie mit den Ergebnissen der Aufgabe 3.b im Zweier-Komplement die<br />
folgenden Operationen aus und prüfen Sie unter Nutzung des Overflow-Bits die<br />
Korrektheit des Ergebnisses:<br />
x + y<br />
x - y<br />
(8 Punkte)<br />
Addition x + y:<br />
code2K(8) :<br />
code2K(-9) :<br />
Operand 1<br />
Operand 2<br />
Ergebnis<br />
Ergebnis korrekt?<br />
Begründung:<br />
Subtraktion x - y:<br />
code2K( ) :<br />
code2K( ) :<br />
Operand 1<br />
Operand 2<br />
Ergebnis<br />
Overflow<br />
Overflow<br />
Ergebnis korrekt?<br />
Begründung:<br />
Seite 7
Bonus-Aufgabe 4: Binäre Darstellung rationaler Zahlen (8 Punkte)<br />
(4a) Geben Sie die binäre Darstellung der Zahl (0,3)10 an! Geben Sie dazu die Bitfolgen<br />
zur Codierung des ganzen Anteils und der Nachkomma-Stellen an. (3 Punkte)<br />
(4b) Berechnen Sie den absoluten und relativen Fehler bei der Codierung der<br />
Nachkomma-Stellen mit einer Wortlänge von 4 Bit! (5 Punkte)<br />
Hinweis: Es sei x der korrekte Wert, xF ein Fehler-behafteter Wert. Der absolute Fehler F<br />
ergibt sich aus der Differenz zwischen x und xF. Der relative Fehler f wird definiert als das<br />
Verhältnis des absoluten Fehlers F zum korrekten Wert x selbst.<br />
F = x - xF<br />
f = | F | / x * 100%<br />
Seite 8
Aufgabe 5: Beschreiben Sie den generellen Aufbau des Rechen- und Steuerwerkes in<br />
einer von-Neumann-Architektur! (9,5 Punkte)<br />
Beantworten Sie dazu folgende Fragen:<br />
(5a) Welche Register werden im Steuerwerk benutzt? Was speichern diese Register? (2<br />
Punkte)<br />
Register<br />
Funktion<br />
(5b) Skizzieren Sie den Datenpfad im Rechenwerk! (6 Punkte)<br />
(5c) Nennen Sie 3 Zustände im Status-Register, mit denen das Rechenwerk / die<br />
arithmetisch-logische Einheit (ALU) mit dem Steuerwerk kommuniziert! (1,5 Punkte)<br />
Seite 9
Aufgabe 6: Was sind die charakteristischen Eigenschaften einer RISC-Architektur<br />
(reduced instruction set computer)? (8 Punkte)<br />
(6a) Nennen Sie Auswirkungen auf:<br />
• Anzahl, Länge und Struktur von Befehlen,<br />
• verwendete Adressierungsarten,<br />
• Taktfrequenz und<br />
• Herstellungskosten!<br />
(3 Punkte)<br />
(6b) Nennen Sie die Abfolge von Aufgaben im typischen Befehlszyklus einer RISC-<br />
Architektur, wie er beispielsweise in der MIPS-Familie angewendet wird! (2,5 Punkte)<br />
(6c) Welche der in Aufgabe 6.a angeführten Design-Entscheidungen wirken sich auf den<br />
Befehlszyklus aus und warum? (2,5 Punkte)<br />
Seite 10
Aufgabe 7: Adressierungsmodi (3 Punkte)<br />
Geben Sie die Adressierungsmodi an, die für die folgenden Operationen benötigt werden:<br />
1. Inkrement einer Variable (Wert der Variable wird um 1 erhöht)<br />
2. Zugriff auf die Elemente eines Feldes<br />
3. Zugriff auf die Elemente einer Struktur.<br />
Aufgabe 8: Pipelines (8,5 Punkte)<br />
Was versteht man unter Pipeline-Hemmnissen (hazards)? Bearbeiten Sie dazu folgende<br />
Fragestellungen:<br />
(8a) Nennen Sie drei Pipeline-Hemmnisse! (1,5 Punkte)<br />
(8b) Erläutern Sie die Ursachen dieser Hemmnisse! (3 Punkte)<br />
Hemmnis<br />
Ursache<br />
Seite 11
(8c) Geben Sie für jedes der drei Hemmnisse mögliche Gegenmaßnahmen an! (4 Punkte)<br />
Hemmnis<br />
Gegenmaßnahme<br />
Aufgabe 9: Branch Prediction (11 Punkte)<br />
(9a) Entwerfen Sie einen endlichen Automaten zur Vorhersage des Eintretens einer<br />
Sprungbedingung mit zwei Zuständen. Nennen Sie die Zustände des Automaten sowie<br />
den Startzustand! Geben Sie ein graphisches Modell des Automaten an! (5 Punkte)<br />
Zustände:<br />
Start-Zustand:<br />
graphisches Modell:<br />
Seite 12
(9b) Demonstrieren Sie Arbeitsweise beider Automaten anhand der folgenden Sequenz (4<br />
Punkte)<br />
Beobachtung<br />
not<br />
taken<br />
taken taken taken taken not<br />
taken<br />
taken<br />
taken<br />
Vorhersage:<br />
Fehler?<br />
(9c) Geben Sie anhand der Ergebnisse die Vorhersagewahrscheinlichkeit des Automaten<br />
an und beschreiben Sie dessen Verhalten! (2 Punkte)<br />
Aufgabe 10: Aufbau und Funktionsweise von Caches (14 Punkte)<br />
In einem Computersystem mit einem Adressbus mit der Breite 16 Bit arbeite ein Cache<br />
mit dem Organisationsprinzip direkte Abbildung (direct mapped) und einer Kapazität von 4<br />
Blöcken, die jeweils 4 Bytes an Daten aus dem Hauptspeicher speichern.<br />
Skizzieren Sie für diesen Cache , wie der Cache-Controller bestimmt, ob ein Datensatz im<br />
Cache vorhanden ist! Beantworten Sie dazu folgende Fragen:<br />
(10a) In welche Bestandteile zerlegt die Hash-Funktion die Adresse und wie groß sind<br />
diese Bestandteile? (3 Punkte)<br />
Element<br />
Größe<br />
(Bit)<br />
Funktion<br />
(10b) Erläutern Sie Größe und Funktion aller Elemente eines Cache-Blockes (cache line)<br />
(3 Punkte)!<br />
Element<br />
Größe<br />
(Bit)<br />
Funktion<br />
Seite 13
(10c) Skizzieren Sie den Ablauf eines Tests auf Vorhandensein (hit / miss) und des<br />
Auslesens von Daten aus dem Cache! (5 Punkte)!<br />
(10d) Wie viel Speicher wird zur physikalischen Realisierung des Caches benötigt? Geben<br />
Sie den Overhead durch die zusätzlich benötigte Verwaltungsinformationen an! (3<br />
Punkte)!<br />
effektive<br />
Kapazität<br />
Gesamt-Speicherbedarf<br />
Overhead<br />
Seite 14