Hardware/Software-Codesign



Ähnliche Dokumente
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Zeichen bei Zahlen entschlüsseln

Lineare Funktionen. 1 Proportionale Funktionen Definition Eigenschaften Steigungsdreieck 3

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

Probeklausur Grundlagen der Datenbanksysteme II

Grundlagen der Technischen Informatik / Digitaltechnik (GTI/DT)

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

1 topologisches Sortieren

Programmieren für Ingenieure Sommer Ein Rechner. Rechner sind überall. Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet.

Lineare Gleichungssysteme

Lehrer: Einschreibemethoden

Der monatliche Tarif für ein Handy wurde als lineare Funktion der Form f(x) = k x + d modelliert (siehe Grafik).

Sonderrundschreiben. Arbeitshilfe zu den Pflichtangaben in Immobilienanzeigen bei alten Energieausweisen

Drei Fragen zum Datenschutz im. Nico Reiners

Datenexport aus JS - Software

Funktionaler Zusammenhang. Lehrplan Realschule

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

Elexis-BlueEvidence-Connector

Kapiteltests zum Leitprogramm Binäre Suchbäume

Umzug der abfallwirtschaftlichen Nummern /Kündigung

WHB11 - Mathematik Klausur Nr. 3 AFS 3 Ökonomische Anwendungen linearer Funktionen

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

7 Rechnen mit Polynomen

Repetitionsaufgaben Wurzelgleichungen

Hochschule Karlsruhe Klausur EAI Prof. Dr. Christian Pape. Klausur EAI WS 05/06. Note: Bearbeitungszeit 90 Minuten Keine Hilfsmittel

1 Mathematische Grundlagen

Aufg. P max 1 10 Klausur "Elektrotechnik" am

1. Die Maße für ihren Vorbaurollladen müssen von außen genommen werden.

Benutzerhandbuch für Hundehalter

Lichtbrechung an Linsen

Media Teil III. Begriffe, Definitionen, Übungen

Feiertage in Marvin hinterlegen

Anforderungsanalyse: Tutor

Download. Mathematik üben Klasse 8 Funktionen. Differenzierte Materialien für das ganze Schuljahr. Jens Conrad, Hardy Seifert

6.2 Scan-Konvertierung (Scan Conversion)

Mathematischer Vorbereitungskurs für Ökonomen

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Leichte-Sprache-Bilder

Informationsblatt Induktionsbeweis

Sudoku-Informatik oder wie man als Informatiker Logikrätsel löst

1) Farbsteuergerät in der Nikobus-Software unter Modul zufügen hinzufügen.

Papierverbrauch im Jahr 2000

Abiturprüfung Mathematik 2008 (Baden-Württemberg) Berufliche Gymnasien ohne TG Analysis, Aufgabe 1

Stellvertretenden Genehmiger verwalten. Tipps & Tricks

Word 2010 Schnellbausteine

Information Security Management System. Klausur Wintersemester 2009/10 Hochschule Albstadt-Sigmaringen

Vorgehensweise bei Lastschriftverfahren

Grundlagen der Theoretischen Informatik, SoSe 2008

Technical Note Nr. 101

LSF-Anleitung für Studierende

Wurzeln als Potenzen mit gebrochenen Exponenten. Vorkurs, Mathematik

Auswertung JAM! Fragebogen: Deine Meinung ist uns wichtig!

Produktschulung WinDachJournal

Graphic Coding. Klausur. 9. Februar Kurs A

Modulklausur Konstruktion und Analyse ökonomischer Modelle

Vertraulich. Nachname: Vorname: Matrikel-Nummer: Studiengang: Datum: 30. Januar 2015

Geld Verdienen im Internet leicht gemacht

Universität Augsburg, Institut für Informatik Wintersemester 2011/2012 Prof. Dr. W. Kießling 03. Feb Semesterklausur

Anlage eines neuen Geschäftsjahres in der Office Line

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Erfahrungen mit Hartz IV- Empfängern

Kaufmännische Berufsmatura 2007 Kanton Zürich Serie 1

Aufgabensammlung Bruchrechnen

Meinungen zum Sterben Emnid-Umfrage 2001

Primzahlen und RSA-Verschlüsselung

Internet online Update (Mozilla Firefox)

Der Jazz Veranstaltungskalender für Deutschland, Österreich und die Schweiz

Statuten in leichter Sprache

Kaufmännische Berufsmatura 2011

Österreichische Trachtenjugend

Outlook und Outlook Express

Wir arbeiten mit Zufallszahlen

Anleitung für die Online-Bewerbung über LSF auf Lehrveranstaltungen aller Lehramtsstudiengänge

Mathematik Serie 1 (60 Min.)

Konzepte der Informatik

a) Welche der beiden Halbgeraden stehen für die Tarife REGENBOGEN und UFO? Begründe. b) Hat Lena recht oder Giuseppe? Begründe.

Begrüßung mit Schwung und Begeisterung. Die Teilnehmer müssen spüren, dass die Aufgabe Spaß macht.

Mathematik Selbsttest der Wirtschaftswissenschaftlichen Fakultät

Information zum Projekt. Mitwirkung von Menschen mit Demenz in ihrem Stadtteil oder Quartier

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):

Simulation LIF5000. Abbildung 1

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Alltag mit dem Android Smartphone

Klassenarbeit zu linearen Gleichungssystemen

Algorithmische Mathematik

Elektrischer Widerstand

Repräsentative Umfrage zur Beratungsqualität im deutschen Einzelhandel (Auszug)

* Leichte Sprache * Leichte Sprache * Leichte Sprache *

Externe Abfrage von für Benutzer der HSA über Mozilla-Thunderbird

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Mandanteninformation Die neue amtliche Muster-Widerrufsbelehrung Art Abs. 3 Satz 1 Anlage 1 EGBGB

Aufgabenheft. Fakultät für Wirtschaftswissenschaft. Modul Business/IT-Alignment , 09:00 11:00 Uhr. Univ.-Prof. Dr. U.

Anzeige von eingescannten Rechnungen

Handbuch ECDL 2003 Professional Modul 3: Kommunikation Kalender freigeben und andere Kalender aufrufen

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

Orientierungstest für angehende Industriemeister. Vorbereitungskurs Mathematik

Klausur zur Vorlesung Stochastische Modelle in Produktion und Logistik im SS 09

1. Eine Frage vorab: Nutzen Sie Ihre Wohnung selbst oder vermieten Sie diese? Kontakt

Transkript:

Klausur zur Lehrveranstaltung Hardware/Software-Codesign Dr. Christian Plessl Paderborn Center for Parallel Computing Universität Paderborn 8.10.2009 Die Bearbeitungsdauer beträgt 75 Minuten. Es sind keine Hilfsmittel zugelassen. Verwenden Sie kein eigenes Papier. Bei Bedarf bekommen Sie Konzeptpapier bei der Klausuraufsicht. Schreiben Sie auf jedes Blatt (auch auf das Konzeptpapier) in Blockschrift Ihren Namen und Ihre Matrikelnummer. Bei mehreren präsentierten Lösungen wird die Aufgabe nicht gewertet! Streichen Sie daher bei Angabe mehrerer Lösungsansätze die nicht zu bewertenden Lösungen durch! Abschreiben und abschreiben lassen oder Hilfe Dritter führt zum Nichtbestehen der Klausur. Vor- und Nachname: Matrikelnummer: optional E-Mail: Zuordnung: Informatik Bachelor andere: Aufgabe 1 2 3 4 Punkte 10 20 25 20 75 Erreicht 1

Hardware/Software-Codesign Aufgabe 1 (Multiple Choice) [10 Punkte] Bei den folgenden Fragen können eine oder mehrere Antworten richtig sein. Kreuzen Sie die richtigen Antworten deutlich an. (a) Die Verwendung von Evolutionären Algorithmen bei der Entwurfsraumexploration ist dann besonders sinnvoll, wenn: sich das Optimierungsproblem als Lineares Programm formulieren lässt mehrere Kriterien gleichzeitig optimiert werden sollen der Suchraum sehr klein ist eine Approximation der optimalen Lösung ausreichend ist (b) FPGAs haben folgende typischen Eigenschaften: sehr hoher Grad an Parallelverarbeitung grosse integrierte Caches für Daten- und Instruktionen Programmierung auf der Bitebene sind bei hohen Stückzahlen billiger als ASICs (c) Ein neuer Grundblock eines Programmes beginnt: bei jedem Sprungziel bei jeder Load/Store Instruktion bei der Instruktion unmittelbar vor einer Sprunganweisung am Anfang des Programmes (d) Welche der folgenden Aussagen zum Thema Taktperiode und CPI sind korrekt: Ein idealisierter Prozessor mit Pipelining hat einen CPI Wert von 1 Tiefe Pipelines führen zu CPI Werten von kleiner als 1 VLIW Prozessoren haben (idealisiert) einen CPI Wert kleiner als 1 Eine höhere Cache Miss Strafe (Cache Miss Penalty) hat einen höheren CPI Wert zur Folge Seite 2 / 16

NAME: Matrikelnummer: Aufgabe 2 (RTG Kriterium) [20 Punkte] Eine Hardwareentwicklerin beabsichtigt eine Prozessorarchitektur mit dem in Abb. 1 dargestellten Datenpfad zu implementieren. Die Architektur enthält zwei funktionale Einheiten, einen Multiplizierer und eine ALU (für Additionen und Subtraktionen), sowie vier Register t, p, R0 und a. Um sicherzustellen, dass ein Compiler mit optimaler Codegenerierung für baumähnliche DAGs entwickelt werden kann, soll das Registertransfergraph (RTG) Kriterium überprüft werden. 1. Extrahieren Sie aus dem Datenpfad alle Instruktionen, die diese Architektur implementieren kann und listen Sie diese auf. Gruppieren Sie die Instruktionen nach Arithmetik- (MULT,ADD/SUB) und Datentransfer-Instruktionen. Notieren Sie für jede Instruktion die Speicherplätze der Operanden und des Resultates. 2. Erstellen Sie den Registertransfergraphen und überprüfen Sie ob das RTG Kriterium erfüllt ist. Begründen Sie ihre Antwort. Falls das RTG Kriterium nicht erfüllt ist, machen Sie einen Vorschlag wie die Architektur zu verändern ist, damit das Kriterium erfüllt ist. from memory (data bus) t R0 MULT MUX MUX p ADD/SUB a to memory (data bus) Abbildung 1: Datenpfad einer Prozessor Architektur Seite 3 / 16

Seite 4 / 16 Hardware/Software-Codesign

NAME: Matrikelnummer: Seite 5 / 16

Hardware/Software-Codesign Aufgabe 3 (Architektursynthese) [25 Punkte] Abbildung 2 spezifiziert einen Datenflussgraphen, der in Hardware implementiert werden soll. Die Operationen 1... 7 sollen auf die Funktionseinheiten Multiplizierer und Addierer abgebildet werden. Die Latenz des Multiplizierers beträgt 10ns, die Latenz des Addierers 5ns. Die Schaltung soll mit einer Taktperiode von 5ns betrieben werden. 1 + 2 3 + 7 + 4 5 + 6 + Abbildung 2: Datenflussgraph 1. Erstellen unter der Annahme, dass keine Ressourcenbeschränkungen existieren einen ASAP (as soon as possible) und einen ALAP (as late as possible) Ablaufplan (Schedule) für diesen Datenflussgraphen. Verwenden Sie die Latenz des ASAP Ablaufplans als Latenzschranke für die Ermittlung des ALAP Ablaufplans. 2. Wir betrachten nun eine Ausführungsarchitektur mit Resourcenbeschränkungen, die einen Multiplizierer und einen Addierer bietet. Erstellen Sie für diese Architektur einen gültigen Ablaufplan mit der List Scheduling Methode. Verwenden Sie dabei die Mobilität der Operatoren als Prioritätskriterium. 3. Formulieren Sie ein ganzzahliges lineares Programm (ILP), das dieses Architektursyntheseproblem mit dem Ziel der Minimierung der Latenz modelliert. Auch hier soll die Resourcenbeschränkung auf einen Multiplizierer und einen Addierer gelten. Geben Sie dabei die Variablen und deren Wertebereiche, die Bedingungen und die Zielfunktion an soweit möglich mit konkreten Zahlenwerten. Bei umfangreicheren Gleichungen, die stets dieselbe Struktur aufweisen (zum Beispiel bei der Modellierung der Datenabhängigkeiten), können Sie die Gleichungen auch für ausgewählte Knoten(paare) exemplarisch angeben. Seite 6 / 16

NAME: Matrikelnummer: Seite 7 / 16

Seite 8 / 16 Hardware/Software-Codesign

NAME: Matrikelnummer: Seite 9 / 16

Hardware/Software-Codesign Aufgabe 4 (Lebenszeit Analyse, Registerallokation) [20 Punkte] Das folgende Programm benutzt 6 Variablen a, b, c, d, e, f. Das Ziel dieser Aufgabe ist es durch eine Programmfluss- und Lebenszeitanalyse die Anzahl der Register zur Speicherung dieser Variablen zu minimieren. 1: a = read(); 2: b = read(); 3: c = read(); 4: a = a + b + c; 5: if(a < 10) { 6: d = c + 8; 7: write(c); 8: } else if(a < 20) { 9: e = 10; 10: d = e + a; 11: write(e); 12: } else { 13: f = 12; 14: d = f + a; 15: write(f); 16: } 17: } 18: write(d); 1. Bestimmen Sie die Grundblöcke dieses Programms und zeichnen Sie den Kontrollflussgraphen. Schreiben Sie in jeden Knoten des Kontrollflussgraphen den Code des zugehörigen Grundblocks. 2. Annotieren Sie graphisch die Lebenszeiten der Variablen im Kontrollflussgraphen. Benutzen Sie dabei die in der folgenden Grafik dargestellte Notation. x x =... B1... = x B2... B3... = x B4 Abbildung 3: Lebenszeiten im Kontrollfluss Graphen. Das Beispiel visualisiert die Lebenszeit der Variablen x, welche im Grundblock B1 definiert und in den Grundblöcken B2 und B4 verwendet wird. 3. Erstellen Sie ausgehend von den Lebenszeiten für die Variablen a, b, c, d, e, f, die Sie im letzten Schritt ermittelt haben einen Registerkonfliktgraphen. Ermitteln Sie eine Abbildung der sechs Variablen auf drei Register durch Graphfärbung. Seite 10 / 16

NAME: Matrikelnummer: Seite 11 / 16

Seite 12 / 16 Hardware/Software-Codesign

NAME: Matrikelnummer: Konzeptpapier: Falls der Platz unter den einzelnen Aufgaben nicht ausreicht, können Sie diese Seiten für Zwischenrechnungen nutzen. Bitte Lösung und Lösungsweg eindeutig mit der Aufgabennummer markieren! Seite 13 / 16

Hardware/Software-Codesign Konzeptpapier: Falls der Platz unter den einzelnen Aufgaben nicht ausreicht, können Sie diese Seiten für Zwischenrechnungen nutzen. Bitte Lösung und Lösungsweg eindeutig mit der Aufgabennummer markieren! Seite 14 / 16

NAME: Matrikelnummer: Konzeptpapier: Falls der Platz unter den einzelnen Aufgaben nicht ausreicht, können Sie diese Seiten für Zwischenrechnungen nutzen. Bitte Lösung und Lösungsweg eindeutig mit der Aufgabennummer markieren! Seite 15 / 16

Hardware/Software-Codesign Konzeptpapier: Falls der Platz unter den einzelnen Aufgaben nicht ausreicht, können Sie diese Seiten für Zwischenrechnungen nutzen. Bitte Lösung und Lösungsweg eindeutig mit der Aufgabennummer markieren! Seite 16 / 16