Sprungmarken

Servicenavigation

Hauptnavigation


Sie sind hier:

Home Lehre Lehrveranstaltungen SS 2019 Rechnerarchitektur (Deutsch)

Bereichsnavigation

Hauptinhalt

Homepage des Kurses Rechnerarchitektur im Sommersemester 2019

Die Lösungen der Probeklausur werden am 17.07. von 12.15 Uhr bis 13.45 Uhr und am 18.07. von 10.15 bis 11.45 Uhr besprochen.

Termine

 ZeitRaumDozenten
Vorlesung Mo. 10-12 OH12, E.003

Prof. Jian-Jia ChenProf. Jens Teubner

Di. 12-14
Übung Mi. 12.15-13.45 (deutsch) - Gruppe RA1 OH16, CILAB
(Raum U08)
Lea Schönberger
Mi. 14.15-15.45 (deutsch) - Gruppe RA2 Nils Hölscher
Mi. 16.15-17.45 (deutsch) - Gruppe RA3 Nils Hölscher
Do. 10.15-11.45 (englisch) - Gruppe RA4 Kuan-Hsun Chen

Lerninhalte und Ziele

In dieser Vorlesung werden fortgeschrittene Konzepte der Rechnerarchitektur vorgestellt. Am Anfang steht ein breiter Überblick über mögliche Programmiermodelle, wie sie für Universalrechner (z.B. MIPS-Architektur) und aber auch spezielle Maschinen (z.B. Signalprozessoren) entwickelt wurden. Anschließend werden prinzipielle Aspekte der Mikroarchitektur von Prozessoren behandelt. Der Schwerpunkt liegt hierbei insbesondere auf dem sogenannten Pipelining und den in diesem Zusammenhang angewandten Methoden zur Beschleunigung der Befehlsausführung.

Im letzten Abschnitt werden Rechensysteme mit mehr als einem Prozessor bzw. mehreren Recheneinheiten betrachtet. Ausgehend von der nebenläufigen Verarbeitung mit Hilfe von sogenannten Threads werden Architekturen mit unterschiedlichem Kopplungsgrad zwischen den Berechnungs- und den verwendeten Speichereinheiten vorgestellt, wie z.B. Multi-Core-Systeme, Multiprozessoren und Cluster-Rechner.

Folien

Datum  Vortragender  Thema  Folien Downloads
01.04.2019 Prof. Chen Organization, Introduction, ISA ra-01.pdf
02.04.2019 Prof. Chen Amdahl’s law, multi-threading (part 1) ra-02.pdf
08.04.2019 Prof. Chen multi-threading (part 2) ra-03.pdf
09.04.2019 keine Vorlesung
15.04.2019 Prof. Teubner OpenMP parallel.pdf
16.04.2019 keine Vorlesung
22.04.2019 keine Vorlesung
23.04.2019 Prof. Teubner OpenMP, MPI gpu.pdf
29.04.2019 Prof. Teubner GPU
30.04.2019 Prof. Teubner GPU
06.05.2019 Prof. Teubner GPU
07.05.2019 Prof. Teubner cache-coherence and synchronization multicore.pdf
13.05.2019 Prof. Chen Measures of performance, power circuits, energy

ra-measure.pdf

ra-energypower.pdf

14.05.2019 Prof. Chen Temperature, hotspot, thermal gradient ra-temperature.pdf
20.05.2019 Prof. Chen Pipeline, Instruction scheduling ra-ILP-scheduling.pdf 
21.05.2019 Prof. Chen Instruction scheduling
27.05.2019 Prof. Chen Instruction scheduling (Tomasulo's algorithm) ra-tomasulo-speculative.pdf 
28.05.2019 Prof. Chen Branch prediction, Speculative executions

ra-branch-predictor.pdf

03.06.2019 Niklas Ueter Communication and Network on Chip ra-netzwerk.pdf
04.06.2019 Niklas Ueter Communication and Network on Chip
10.06.2019 keine Vorlesung
11.06.2019 Prof. Chen memory hierarchy: cache  ra-speicher.pdf
17.06.2019 Prof. Chen memory hierarchy: cache  ra-cache.pdf
18.06.2019 Prof. Chen memory hierarchy: scratchpad memory ra-SPM.pdf
24.06.2019 keine Vorlesung
25.06.2019 Prof. Chen architecture-aware optimization

ra-optimization.pdf

ra-neural.pdf

https://halide-lang.org

https://dl.acm.org/citation.cfm?id=3201383

01.07.2019 Prof. Chen architecture-aware optimization, deep neural networks
02.07.2019 Prof. Chen Probeklausur
08.07.2019 Prof. Chen

Cache benchmarking and Decision Trees

ra-decision-trees.pdf
09.07.2019 Niklas Ueter

Spectre, Meltdown

ra-spectre.pdf

 

Übungen

Odroid XU-3Die Übungen fokussieren sich dieses Semester auf die praktische Erarbeitung der theoretischen Konzepte der Vorlesung. Dabei steht 'Hands on' im Vordergrund, das heißt, Sie werden unter anderem mit dem eingebetteten Mehrkernsystem Odroid XU-3/4 arbeiten. Dieses auf ARM basierende System erlaubt die Entwicklung von modernen, parallelen Applikationen mit Hilfe von OpenMP und OpenCL. Bei der Entwicklung müssen die Laufzeit und der Energieverbrauch der Anwendungen berücksichtigt werden. Sie erlernen so wichtige Techniken, die in eingebetteten System, mobilen Systemen oder auch High-Performance-Computersystemen verwendet werden können.

Die Teilnahme an der Übung ist nicht verpflichtend, aber vermittelt und vertieft klausurrelevantes Wissen. Die Übungsblätter werden in der Übung bearbeitet, es ist aber empfehlenswert, sich die Aufgaben vorher anzusehen.

Für die Teilnahme an den Übungen gibt es keine formalen Voraussetzungen, Kenntnisse in den folgenden Bereichen erleichtern aber die Übungen: Linux, C/C++, GCC.

Da nur eine begrenzte Anzahl an Computern im CILAB vorhanden sind, ist Gruppenarbeit zwingend erforderlich. Bei der Anmeldung können bereits Gruppen angegeben werden. Verbleibende Studierende werden in Gruppen eingeteilt.

Eine Abgabe von Lösungen ist nicht erforderlich, jedoch können Theorieaufgaben auf Wunsch korrigiert werden. Werfen Sie Ihre Lösung dazu bitte bis spätestens 11.30 Uhr am Montag vor dem Übungstermin in den Briefkasten im Erdgeschoss der OH16 ein. 

Die Einteilung in die Übungsgruppen ist abgeschlossen. Bei organisatorischen Fragen schreiben Sie bitte eine Mail

Hinweis: Sie können die praktischen Übungen auch zu Hause bearbeiten. Die notwendigen Vorgaben erhalten Sie, indem Sie mit Ihrem Account auf das SVN-Repository zugreifen.

Übungsblatt  Bearbeitungszeitraum  Hinweise
Blatt 1: Deutsch, English 17.-18.04.2019 Das Übungsblatt wird am 16.04.2019 veröffentlicht.
Blatt 2: Deutsch, English 24.-25.04.2019 Abgabe des Theorieteils möglich bis zum 23.04. um 11.30 Uhr.
Blatt 3: Deutsch, English 08.-09.05.2019
Blatt 4 Deutsch, English 22.-23.05.2019 Bitte beachten Sie den geänderten Bearbeitungszeitraum.
Blatt 5: Deutsch, English 29.05.2019 Die Übung am 30.05. entfällt wegen des Feiertages! Bitte besuchen Sie eine andere Übungsgruppe.
Blatt 6: Deutsch, English 05.-06.06.2019
Blatt 7: Deutsch, English 12.-13.06.2019
Blatt 8: Deutsch, English 19.06.2019 Die Übung am 20.06. entfällt wegen des Feiertages! Bitte besuchen Sie eine andere Übungsgruppe.
Blatt 9: Deutsch, English 26.-27.06.2019
Blatt 10: Deutsch, English 10.-11.07.2019

 

Literatur

  • Hennessy, John L., Patterson, David A.: Computer Architecture - A Quantitative Approach, Morgan Kaufman, 5. Auflage 2011.
  • Culler, David E., Singh, Jaswinder Pal, Gupta, Anoop: Parallel Computer Architecture: A Hardware/Software Approach, Morgan Kaufman, 1999.
  • Hwang, Kai: Advanced Computer Architecture: Parallelism, Scalability, Programmability, McGraw-Hill, 1993.
  • Shen, John Paul, Lipasti, Mikko H.: Modern Processor Design, McGraw-Hill, 2003.
  • Adve, Sarita V., Gharachorloo, Kourosh: Shared Memory. Consistency Models: A Tutorial, DIGITAL, WRL Research Report 95/7.

Weitere Informationen

Die Veranstaltung ist äquivalent zur ehemaligen Wahlpflicht-Vorlesung "Rechensysteme".

Prüfung / Leistungsnachweis

  • Prüfung (Bachelor): Klausur (benotet, 8 Credits) über Inhalte von Vorlesung und Übungen.

  • Termine:

    1. Klausur: 01.08.2019, 16.30-18.30, HG2/HS2, HG2/HS4, HG2/HS6

    2. Klausur: 10.09.2019, 11-13, SRG1/H.001

  • Achtung: Die hier angegebenen Termine sind nicht notwendigerweise aktuell und daher nicht verbindlich. Für eine verbindliche Auskunft besuchen Sie bitte die Übersicht über die Klausurtermine der Fakultät.
  • Sonderregelungen für Nebenfachstudierende: wenn zwingend erforderlich nach Absprache