Lösungsvorschlag zur 4. Übung



Ähnliche Dokumente
SJ OFFICE - Update 3.0

5. Übung zum G8-Vorkurs Mathematik (WiSe 2011/12)

Zeichen bei Zahlen entschlüsseln

Updatehinweise für die Version forma 5.5.5

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Prozentrechnung. Wir können nun eine Formel für die Berechnung des Prozentwertes aufstellen:

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Einführung in die Systemprogrammierung

Informationsblatt Induktionsbeweis

Wie Sie mit Mastern arbeiten

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

FORUM HANDREICHUNG (STAND: AUGUST 2013)

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Abitur 2007 Mathematik GK Stochastik Aufgabe C1

0, v 6 = , v 4 = span(v 1, v 5, v 6 ) = span(v 1, v 2, v 3, v 4, v 5, v 6 ) 4. span(v 1, v 2, v 4 ) = span(v 2, v 3, v 5, v 6 )

Daten sammeln, darstellen, auswerten

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

Gimp Kurzanleitung. Offizielle Gimp Seite:

Gezielt über Folien hinweg springen

Modellbildungssysteme: Pädagogische und didaktische Ziele

Informatik I Tutorial

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 1. Semester ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Nr. 12-1/Dezember 2005-Januar A 12041

Installationsleitfaden zum Fakturierungsprogramm

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Konzepte der Informatik

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Übungen zur Softwaretechnik

6.2 Scan-Konvertierung (Scan Conversion)

Aufgaben zur Flächenberechnung mit der Integralrechung

Installation der SAS Foundation Software auf Windows

Lineare Gleichungssysteme

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Vorkurs Mathematik Übungen zu Polynomgleichungen

Animationen erstellen

Word 2010 Schnellbausteine

Professionelle Seminare im Bereich MS-Office

Formelsammlung zur Kreisgleichung

W-Rechnung und Statistik für Ingenieure Übung 11

Erstellen von x-y-diagrammen in OpenOffice.calc

Facharbeit Informatik. Thema:

Was meinen die Leute eigentlich mit: Grexit?

Chemie Zusammenfassung KA 2

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

Stellvertretenden Genehmiger verwalten. Tipps & Tricks

Grundlagen der Theoretischen Informatik, SoSe 2008

Marketing Funnel INSIDERWISSEN INSIDERWISSEN: MARKETING FUNNEL

GLEICH WEIT WEG. Aufgabe. Das ist ein Ausschnitt aus der Tausenderreihe:

Wie optimiert man die Werbungserkennung von Ad- Detective?

Nachhilfe-Kurs Mathematik Klasse 13 Freie Waldorfschule Mitte

Studieren- Erklärungen und Tipps

Wollen Sie einen mühelosen Direkteinstieg zum Online Shop der ÖAG? Sie sind nur einen Klick davon entfernt!

a n auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert:

Mikrocontroller Grundlagen. Markus Koch April 2011

= i (V) = d 2. v = d! p! n da v 1 = v 2 gilt auch d 1 ÿ p ÿ n 1 = d 2 ÿ p ÿ n 2 (III) p kürzen (Division durch p) d 1 ÿ n 1 = d 2 ÿ n 2 (IV) oder

Übungsaufgaben Prozentrechnung und / oder Dreisatz

Primzahlen und RSA-Verschlüsselung

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort:

Wachstum 2. Michael Dröttboom 1 LernWerkstatt-Selm.de

Jede Zahl muss dabei einzeln umgerechnet werden. Beginnen wir also ganz am Anfang mit der Zahl,192.

Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen?

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Datensicherung. Beschreibung der Datensicherung

TeamSpeak3 Einrichten

Kurzanleitung MAN E-Learning (WBT)

der Eingabe! Haben Sie das Ergebnis? Auf diesen schwarzen Punkt kommen wir noch zu sprechen.

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Schrittweise Anleitung zur Erstellung einer Angebotseite 1. In Ihrem Dashboard klicken Sie auf Neu anlegen, um eine neue Seite zu erstellen.

Einführung in die Java- Programmierung

Nicht über uns ohne uns

Fragebogen im Rahmen des Projekts Neue Qualifizierung zum geprüften Industriemeister Metall

Einführung in. Logische Schaltungen

Staatlich geprüfter EDV-Führerschein

SMART Newsletter Education Solutions April 2015

Erklärung zum Internet-Bestellschein

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Urlaubsregel in David

Office 2007 Umsteiger Präsentationen für unterwegs vorbereiten

sondern alle Werte gleich behandelt. Wir dürfen aber nicht vergessen, dass Ergebnisse, je länger sie in der Vergangenheit

Wechselstromkreis mit verschiedenen Bauteilen

Seriendruck mit der Codex-Software

Theoretische Grundlagen der Informatik WS 09/10

Bedienungsanleitung Albumdesigner. Neues Projekt: Bestehendes Projekt öffnen:

CAQ Software für Ihr Qualitätsmanagement. Ablauf für die Erfassung der Fehler in der Fertigung

SWOT Analyse zur Unterstützung des Projektmonitorings

Bedienungsanleitung für den Online-Shop

Software- und Druckerzuweisung Selbstlernmaterialien

Repetitionsaufgaben Wurzelgleichungen

Schriftliche Vordiplomprüfung Betriebsökonomie FH Serie C

Lehrstuhl Informatik VI Grundzüge der Informatik * WS 2008/2009 Prof. Dr. Joachim Biskup

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!

Linearen Gleichungssysteme Anwendungsaufgaben

Anwendungsbeispiele Buchhaltung

Transkript:

Prof. Frederik Armknecht Sascha Müller Daniel Mäurer Grundlagen der Informatik 3 Wintersemester 09/10 Lösungsvorschlag zur 4. Übung 1 Präsenzübungen 1.1 Schnelltest a) Welche Aussagen zu Bewertungskriterien für Prozessoren sind richtig? Die CPU-Ausführungszeit ergibt sich aus den verwendeten Operationen und der Taktung der CPU. Die CPU-Ausführungszeit ist die gemessene Zeit, welche die CPU real zum Ausführen der Codezeilen eines Programms benötigt. Die CPU-Systemzeit ist die Zeit, welche die CPU für Betriebssystemaufgaben verwendet. Die Benutzerantwortzeit ist ein geeignetes Maß für CPU-Performanz Rechner mit hohen Durchsatz haben auch kürzere Ausführungszeiten als Rechner mit niedrigem Durchsatz. b) Welche Elemente einer Programmausführung fließen nicht in die user-cpu-time mit ein? Festplattenzugriffe Verzögerung durch Cache-Misses I/O-verzögerung durch Hardware CPU-Ausführungszeit c) Welche Elemente einer Programmausführung fließen in die Benutzerantwortzeit mit ein? I/O-verzögerung durch Hardware Verzögerung durch Cache-Misses CPU-Ausführungszeit Festplattenzugriffe 1.2 Leistungsbewertung In der Vorlesung haben wir folgende Größen im Zusammenhang mit der CPU-Zeit kennengelernt. T f t MIPS CPI B Z CPU-Zeit in Sekunden Taktfrequenz in Zyklen pro Sekunde Taktzykluszeit in Sekunden pro Zyklus Millionen von Instruktionen pro Sekunde mittlere Anzahl Zyklen pro Instruktion Anzahl Instruktionen CPU-Zeit in Zyklen 1

a) Leiten Sie die Formeln der gesuchten Größen aus den angegebenen Größen her. 1. gesucht: T gegeben: Z, t T = Z * t 2. gesucht: CPI, gegeben: Z, MIPS, T CPI = Z / (T * MIPS * 10 6 ) 3. gesucht: T, gegeben: f, CPI, B T = B * CPI / f 4. gesucht: B, gegeben: T, MIPS B = T * MIPS * 10 6 5. gesucht: Z, gegeben: T, CPI, MIPS Z =, T *CPI * MIPS * 10 6 b) Zwei unterschiedliche Prozessoren mit jeweils 2.4 Ghz und 2.233 Ghz Taktfrequenz bearbeiten eine Berechnung, die insgesamt aus 9 10 7 Instruktionen besteht. Der erste Rechner benötigt 14 Zyklen pro Instruktion, der zweite 12. Welcher Rechner ist schneller fertig? T = B CPI/ f. Also T 1 = 9 107 14 2.4 10 9 Hz 52.5 ms und T 2 = 9 107 12 48.4 ms. 2.233 10 9 Hz c) Die Operationen einer komplexen Berechnung benötigen zusammengenommen 7.7 10 7 Rechenzyklen. Wie lange dauert die Ausführung auf einem Prozessor mit 3.2 Ghz Taktfrequenz? T = Z/ f = 1.1 107 2.4 ms 3.2 10 9 Hz d) Ein Rechner benötigt für eine komplexe Berechnung 1350ms mit 2.3 MIPS. Wie viele Instruktionen werden dabei verarbeitet? B = T MIPS 10 6 = 1.35s 2.3/s 10 6 = 3 105 000 Instruktionen. e) Obiger Rechner hat eine Taktfrequenz von 750 Mhz. Wie hoch ist die mittlere Anzahl an Rechenzyklen pro Instruktion? T = B CPI/ f CPI = T f /B = 1.35s 75 106 Hz 3105000 = 326 1.3 Performanzvergleich Betrachten wir zwei Hardware-Implementierungen M1 und M2 eines Befehlssatzes mit vier Befehlsklassen Add, Jmp, Mul und Shft. Die angegebene Taktfrequenz ist 1, 133 GHz für M1 und 750 MHz für M2. Desweiteren sind die Daten aus Tabelle 1 gegeben. Befehlsklasse CPI für M1 CPI für M2 Add 2 1 Jmp 2 2 Mul 5 3 Shft 1 1 Befehlsklasse Häufigkeit Add 45% Jmp 15% Mul 25% Shft 15% Tabelle 1: CPI für M1 und M2 Tabelle 2: Häufigkeiten für P1 a) Ein Programm P1 weist folgende Verteilung der Befehlshäufigkeiten auf: (siehe Tabelle 2). Wie viele CPI erreichen M1 und M2 bei der Ausführung von P1? 2

CPI für M1 bei Ausführung von P1 = 45 100 2 + 15 100 2 + 25 100 5 + 15 100 1 = 2,6 CPI für M2 bei Ausführung von P1 = 45 100 1 + 15 100 2 + 25 100 3 + 15 100 1 = 1,65 b) Wie ist die relative Performanz zwischen M1 und M2 bei Ausführung von P1? n 2 sei die Anzahl der Befehle von P1. CPU-Zeit für M1 zur Ausführung von P1 = n 2 2,6 1,133 10 9 s n 2 2,29 10 9 s CPU-Zeit für M1 zur Ausführung von P1 = n 2 1,65 7,5 10 8 s n 2 2,2 10 9 s Also ist M1 um 4.09% langsamer als M2. c) Das Programm P2 enthält jeweils gleich viele Befehle aus den vier Befehlsklassen. Wie hoch ist die mittlere Anzahl der Zyklen pro Behfehl (CPI) bei Ausführung von P1 auf M1 und M2? CPI für M1 bei Ausführung von P2 = 2+2+5+1 4 = 2,5 CPI für M2 bei Ausführung von P2 = 1+2+3+1 4 = 1,75 d) Wie ist die relative Performanz zwischen M1 und M2 bei Ausführung von P2? n 1 sei die Anzahl der Befehle von P2. CPU-Zeit für M1 zur Ausführung von P2 = n 1 2,5 1,133 10 9 s n 1 2,21 10 9 s CPU-Zeit für M2 zur Ausführung von P2 = n 1 1,75 7,5 10 8 s n 1 2,33 10 9 s Also ist M1 um 5.15% schneller als M2. 3

1.4 Geschachtelte Schleifen Folgendes Programmstück bearbeitet ein Array von 5000 Worten. Die Basisadresse des Arrays befindet sich in $a0 und die Array-Größe (5000) in $a1. 1 sll $a1, $a1, 2 2 add $v0, $zero, $zero 3 add $t0, $zero, $zero 4 outer : add $t4, $a0, $t0 5 lw $t4, 0( $t4 ) 6 add $t5, $zero, $zero 7 add $t1, $zero, $zero 8 inner : add $t3, $a0, $t1 9 lw $t3, 0( $t3 ) 10 bne $t3, $t4, skip 11 addi $t5, $t5, 1 12 skip : addi $t1, $t1, 4 13 blt $t1, $a1, inner 14 slt $t2, $t5, $v0 15 bne $t2, $zero, next 16 add $v0, $t5, $zero 17 add $v1, $t4, $zero 18 next : addi $t0, $t0, 4 19 blt $t0, $a1, outer a) Was wird mit diesem Programm berechnet? $v1 enthält das Element mit häufigstem Vorkommen im Array und $v0 enthält dessen Häufigkeit. b) Auf einem bestimmten Rechner benötigen die Befehle add, addi, sll und slt jeweils 1 Taktzyklus und die Befehle lw, bne und blt jeweils 2 Taktzyklen. Wieviel Taktzyklen benötigt dann unser Programmstück auf diesem Rechner im schlechtesten Fall. Die outer-schleife wiederholt sich 5000 mal mit jeweils 1 + 2 + 1 + 1 Zyklen vor der inner-schleife und 1 + 2 + 1 + 1 + 1 + 2 Zyklen danach im schlechtesten Fall. Wir haben also damit zunächst 5000 13 Zyklen. Die inner-schleife wiederholt sich 5000 5000 mal mit jeweils 1 + 2 + 2 + 1 + 1 + 2 Zyklen, womit wir weitere 5000 5000 9 Zyklen haben. Mit den ersten 3 Instruktionen haben wir also maximal 3 + 5000 13 + 5000 5000 9 = 225065003 Taktzyklen. c) Wie hoch ist dann im schlechtesten Fall die mittlere Anzahl der Zyklen pro Befehl (CPI)? Im in b) dargestellten schlechtesten Fall werden 3 + 5000 10 + 5000 5000 6 = 150050003 Instruktionen ausgeführt. Damit ergeben sich also durchschnittlich 1, 499 Zyklen pro Befehl. 225065003 150050003 4

2 Hausübungen 2.1 Performanz Sie sind der Chefdesigner eines neuartigen hochspezialisierten Prozessors zur hardwaregestützen Organisation von Übungs und Praktikums-Aufgaben für Grundstudiumsveranstaltungen in der Informatik. Das Design und der Compiler sind fertig und wurde schon erfolgreich im WS08 getestet, Sie müssen aber jetzt entscheiden, ob Sie die aktuelle Version des Prozessors produzieren lassen, oder zusätzliche Zeit verwenden, den Prozessor weiter zu verbessern. Das Compilerteam schlägt zur Steigerung der Performanz vor, den Compiler zu verbessern. Sie diskutieren das Problem mit Ihrem Hardware und Compilerteam und kommen zu folgenden Optionen: Das Design bleibt wie es ist. Dieser Prozessor wird R basis genannt und hat eine Taktrate von 5 MHz. Optimiere die Hardware. Das Hardwareteam kann das Prozessordesign weiter verbessern und eine Taktrate von 6 MHz erreichen. Diesen Prozessor nennen wir R opt. Optimiere den Compiler. Das Compilerteam kann vor allem das automatische Beantworten von Mails effizienter zu gestalten. Die Kombination von verbessertem Compiler und R basis nennen wir R comp. Die Simulation der beiden Hardware implementierungen hat die Werte aus Tabelle 3 geliefert. Der neue Compiler verändert die Befehlshäufigkeiten relativ zur ursprünglichen Variante, wie in Tabelle 4 angegeben. Befehlsklasse CPI Rbasis CPI Ropt Folien erstellen 17% 4 4 Übung erstellen 33% 5 5 Mails beantworten 40% 5 4 MuLö erstellen 9% 6 4 Leerlauf 1% 13 21 Befehlshäufigkeit Befehlsklasse Relative Häufigkeit ggü. Rbasis 1 F 85% Ü 110% Mail 33% Mulö 80% L 45% Tabelle 3: CPI für R basis und R opt Tabelle 4: Relative Häufigkeiten für R comp a) Wie hoch ist die durchschnittliche CPI für R basis und R opt? 2 Punkte CPI Rbasis = 17 100 5 + 9 100 6 + 1 100 13 = 5 CPI Ropt = 17 100 4 + 9 100 4 + 1 100 21 = 4, 5 b) Wieviel MIPS verarbeiten die Prozessoren jeweils? 1 Punkt MIPS Rbasis = 5 MHz 5 1 MIPS Ropt = 6 MHz 4,5 1, 333 c) Um wieviel schneller ist R opt gegenüber R basis? 1 Punkt MIPS Ropt = MIPS 1,333 Rbasis 1 1, 333 33, 3333% Verbesserung Man kann hier mittels MIPS vergleichen, da beide Rechner die gleiche Befehlsmenge haben. 1 Das bedeutet, dass z. B. R comp nur 85% der Anzahl von Instruktionen der Klasse F ausführt, die R basis benotigt. 5

d) Wie hoch ist die durchschnittliche CPI für R comp? 2 Punkte Für diese Aufgabe muß man die neue (relative) Anzahl an Instruktionen für R comp 17 berechnen. Dies ergibt: 100 85 100 + 33 100 110 100 + 40 100 33 100 + 9 100 80 100 + 1 100 45 100 = Die neue CPI kann dann berechnet werden zu 17 100 CPI Rcomp = 85 100 110 100 33 100 5 + 9 100 80 100 6 + 1 100 45 100 13 = 3.5435 4, 949 e) Um wieviel schneller ist R comp gegenüber R basis? Beachten Sie hierfür, dass sich die Anzahl der Befehle für beide Varianten unterscheidet! 2 Punkte Hier kann CPI Rcomp nicht direkt eingesetzt werden, da ein Programm zu zwei verschiedenen Kompilaten führt. Darum muss die Verringerung der Befehlsanzahl berücksichtigt werden. CPI Rbasis 5 MHz 5 MHz CPI Rcomp = 5 1, 411 4, 949 Also ist R comp etwa 41% schneller als R basis. f) Beide Verbesserungen konnen auch gemeinsam in einem Rechner R beide umgesetzt werden. Um wieviel schneller ist R beide als R basis? 2 Punkte Man muß zuerst CPI Rbeide bestimmen. Die neue CPI kann dann berechnet werden zu 17 100 CPI Rcomp = 85 100 110 100 33 100 4 + 9 100 80 100 4 + 1 100 45 100 21 = 3.3035 4, 6138 Hier ergibt sich analog zur vorherigen Teilaufgabe d) ein Wert von ca. 4,6138. Die Taktraten der beiden Rechner sind 5 MHz für R basis und 6 MHz für R beide. Es ergibt sich somit nach Einsetzen in die Gleichungen aus Teilaufgabe e) CPI Rbasis 5 MHz 6 MHz CPI Rbeide = 5 6 1, 816 4, 6138 5 Damit ist R beide etwa 82% schneller als R basis. 6