Universität Koblenz-Landau Übungen zur Vorlesung Grundlagen der Rechnerarchitektur - Sommersemester 2017 - Übungsblatt 1 Abgabe bis Samstag, 6. Mai 2017, 23.59Uhr als pdf via SVN A1 (1) A2 (10) A3 (4) A4 (6) A5 (3) A6 (6) A7 (2) A8 (8) Punkte Kürzel Von Korrektoren auszufüllen Gruppenname: Name Uni-Mail-Kennung Nur die hier aufgeführten Teilnehmer der Gruppe erhalten Punkte! ∑ (40) Übungen zu Grundlagen der Rechnerarchitektur SS2017 – Übungsblatt 1 Aufgabe 1 2 (1 Punkt) – Anmeldung zur Bearbeitungsgruppe Schließen sie sich zu einer Bearbeitungsgruppe bestehend aus 5-6 Teilnehmern zusammen und melden sie ihre Gruppe über die URL http://userpages.uni-koblenz.de/~mips/gdra2017/anmeldung/ unter einem dort geführten Gruppennamen an. Vermeiden sie die Bildung von Gruppen bestehend aus 4 oder weniger Teilnehmern! Geben sie auf jedem Deckblatt (1. Seite ihrer Übungsblattabgabe) immer ihren gewählten Gruppennamen und die Namen der Teilnehmer ihrer Bearbeitungsgruppe an, die an der Abgabe des Übungsblattes (tatsächlich) mitgewirkt haben. Nur die dort aufgeführten Teilnehmer erhalten die erreichten Punkte der Abgabe. Der Name ihrer Bearbeitungsgruppe entspricht dem SVN-Repository, über welches sie die Übungsblätter abgeben können. Gehören sie z.B. der Bearbeitungsgruppe „arrandale“ an, dann erreichen sie ihr SVN-Repository über die URL https://svn.uni-koblenz.de/mips/gdra2017/arrandale/ Für den Zugriff auf ihr SVN-Repository benötigen sie ihre Uni-Zugangsdaten. Übungen zu Grundlagen der Rechnerarchitektur SS2017 – Übungsblatt 1 Aufgabe 2 3 (10 Punkte) a) Wandeln Sie die folgenden Zahlen aus dem Dezimalsystem jeweils in das angegebene Zahlensystem um. (6 Punkte) 1) Binärsystem (Basis 2) 3) Oktalsystem (Basis 8) 49710 =2 3310 =2 20310 =2 105110=2 49710 3310 20310 105110 =8 =8 =8 =8 2) Hexadezimalsystem (Basis 16) 49710 =16 3310 =16 20310 =16 105110=16 b) Wandeln Sie die folgenden Zahlen aus den verschiedenen Zahlensystemen (Basis 2, 16, 8) ins Dezimalsystem um. (2 Punkte) 11 1100 00112 10 1010 01102 CAFE23416 11375778 =10 =10 =10 =10 Wandeln Sie die folgenden Zahlen aus dem Binärsystem ins Oktal- und ins Hexadezimalsystem um. (2 Punkte) 1110 1001 11102 =8 1000 0001 1011 11012 =8 1110 1001 11102 =16 1000 0001 1011 11012 =16 Übungen zu Grundlagen der Rechnerarchitektur SS2017 – Übungsblatt 1 Aufgabe 3 4 (4 Punkte) Bei der Ausführung eines Programmcodes auf einem Prozessor mit einer gegebenen Taktfrequenz von 100 MHz werden folgende Daten aufgenommen: Einzelne Instruktionen Anzahl ausgeführte Instruktionen (IC) CPI-Rate Load/Store 97.000 5,0 ALU 170.000 2,0 Floating Point 9.000 4,0 Goto Statements 5.000 7,0 ICP a) Bestimmen Sie die CPI-Rate des Gesamtsystems! (2 Punkte) Hinweis: CPIi : Taktanzahl pro Instruktion i ICi : Anzahl der ausgeführten Instruktionen vom Typ i ICP : Anzahl der ausgeführten Instruktionen des gesamten Programms. n IC Es gilt: CPI P = ∑ CPI i ⋅ i IC P i=1 b) Bestimmen Sie die Ausführungszeit und anschließend die MIPS-Rate des Programms! Berechnung der Ausführungszeit: (1Punkt) Berechnung der MIPS-Rate: (1 Punkt) Übungen zu Grundlagen der Rechnerarchitektur SS2017 – Übungsblatt 1 Aufgabe 4 5 (6 Punkte) a) Wie lautet das Amdahl'sche Gesetz und was ist seine Aussage? Erläutern Sie mit wenigen Worten. b) Ein Computersystem soll durch den Austausch des Prozessors beschleunigt werden. Eine Analyse der Programmausführung zeigt, dass in 47% der Zeit Integeroperationen und in 38% der Zeit Floatingpointoperationen durchgeführt werden. Innerhalb der restlichen 15% der Zeit werden andere Instruktionen durchgeführt. Integeroperationen benötigen auf dem Computersystem 300ns und Floatingpointoperationen 650ns für die Ausführung. Es stehen nun zwei unterschiedlich optimierte Prozessoren zur Auswahl. Prozessor A beschleunigt nur die Bearbeitung der Integeroperationen auf 175ns. Prozessor B optimiert nur die Bearbeitung der Floatingpointoperationen auf 290ns. Berechnen Sie, ob Prozessor A oder B eine höhere Beschleunigung des gesamten Computersystems erreicht. Welcher Prozessor sollte Ihrer Berechnung nach verbaut werden. (Geben Sie auch ihren Rechenweg an!) Übungen zu Grundlagen der Rechnerarchitektur SS2017 – Übungsblatt 1 Aufgabe 5 6 (3 Punkte) Führen sie im Folgenden die logischen Operationen aus. dezimal binär dezimal 11 Ergebnis: binär dezimal 11 11 AND 31 OR 31 XOR 31 AND 6 OR 6 XOR 6 binär Übungen zu Grundlagen der Rechnerarchitektur SS2017 – Übungsblatt 1 Aufgabe 6 7 (6 Punkte) a) Zeigen Sie durch schrittweises anwenden der Rechenregeln auf die logischen Aussagen (De'Morgan, Vereinfachungen, usw.), dass diese auf die angegebenen Ergebnisse vereinfacht werden können. Notation: NOT(¬), AND(•), OR(+) (4 Punkte) 1) y= A + ( A • B ) = A 2) y = (¬C) • C + (¬A) • (¬B) • C + A • (¬B) • C = (¬B) • C 3) y = A • B + (¬B) • C + B • (¬A) = B + C 4) y = A + (¬A) • B = A + B (Hinweis: De'Morgan oder Distributivgesetz) b) Vervollständigen Sie die folgende Wahrheitstabelle: Notation: NOT(¬), AND(•), OR(+) (2 Punkte) A B 0 0 0 1 1 0 1 1 ¬(A + B) (A + ¬B) • ¬A Übungen zu Grundlagen der Rechnerarchitektur SS2017 – Übungsblatt 1 Aufgabe 7 8 (2 Punkte) Gegeben ist eine 10-Bit Integer Variable zum Speichern positiver und negativer ganzer Zahlen (signed). Geben Sie die größte und kleinste Zahl in binär und dezimal an, die mit dieser Variable gespeichert werden kann. 29 größte Zahl kleinste Zahl 28 27 26 25 24 23 22 21 20 dezimal Übungen zu Grundlagen der Rechnerarchitektur SS2017 – Übungsblatt 1 Aufgabe 8 9 (8 Punkte) Gegeben seien die folgenden Aufgaben mit Dezimalzahlen. Wandeln Sie die Dezimalzahlen in die Zweierkomplement-Darstellung um und führen Sie anschließend die vorgegebenen Additionen in binärer Darstellung aus. Pro Dezimalzahl sollen 8 Bits zur Speicherung verwendet werden. Bitte zeichnen Sie auch den Übertrag in einer gesonderten Zeile auf und geben Sie an, ob bei der Berechnung ein „Overflow“ auftritt oder nicht. a) 57 + (-13) b) 37 + 66 c) (-57) + (-71) d) (-57) + (-13)