30.08.2014 Aufrufe

runterladen

runterladen

runterladen

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!