Jump label

Service navigation

Main navigation

You are here:

Main content

Lecture: Computer Architecture (Rechnerarchitektur)

| Gernot A. Fink  |  Embedded System Design  |  Department of Computer Science  |  University of Dortmund

Vorlesung Rechnerarchitektur im SS 2008


Beginn: 8.4.2008

Zeit und Ort:

Vorlesung Di 14:15-16:00 OH14-E23
Vorlesung Do 16:15-18:00 OH14-E23
Übungsgruppe 1 Mo 12:15-14:00 OH16-E07
Übungsgruppe 2 Di 10:15-12:00 OH16-205
Übungsgruppe 3 Mi 12:15-14:00 OH16-E07
Übungsgruppe 4 Fr 10:15-11:00 OH16-205

Exkursion zum ITMC-Cluster:
Datum: 17.07.2008
Zeit: 16.00 (bitte pünktlich)
Ort: Vor Maschinenhalle des HRZ (neben GB 5, Campus Süd)

Klausurtermin:
Datum: 22.07.2008
Zeit: 9.00 - 12.00 (bitte mind. 15min früher erscheinen)
Ort: Hörsaal 1 im Hörsaalgebäude 2 (Campus Nord)
Hilfsmittel: keine

 

Nachholklausur:
Datum: 29.09.2008
Zeit: 13.00 - 15.00 (bitte mind. 15min früher erscheinen)
Ort: Hörsaal E23 OH14 (Campus Nord)
Hilfsmittel: keine

Hinweise:

  • Die Veranstaltung ist äquivalent zur ehemaligen Wahlpflicht-Vorlesung "Rechensysteme".
  • Gemäß Beschluß des Prüfungsausschusses Informatik vom 21.4.2004 kann diese Veranstaltung von Studierenden nach DPO 2001 mit Nebenbenfach Elektrotechnik nicht zusammen mit der E-Technik Veranstaltung "Technische Informatik" für das Diplom verwendet werden!
Einführung:

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.

Literatur:

  • Hennessy, John L., Patterson, David A.: Computer Architecture - A Quantitative Approach, Morgan Kaufman, 3. Auflage 2003.
  • 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.
  • Marwedel, Peter: Skriptum zur Vorlesung Rechnerarchitektur/Rechensysteme, SS 2003.

Themenüberblick (und Vorlesungsfolien) [teilweise Stand SS 2007]:

  1. Einleitung (ra-1-0)
    1. Historische Entwicklung von Rechnern
    2. Gegenstand der Vorlesung: Was ist Rechnerarchitektur?
    3. Rückblick: Der von-Neumann-Rechner
    4. Technologische Trends
    5. Leistungsbewertung von Rechnern (ra-1-1)
    6. Quantitative Prinzipien des Rechnerentwurfs
  2. Programmiermodelle
    1. Prinzipien und Grundlagen (ra-2-0) [nach Hennessy/Patterson (2003), Kap. 2]
      1. Klassifikation von Befehlssätzen
      2. Speicheraddressierung
      3. Typisierung von Operanden
      4. Operationsinventarien
      5. Instruktionen zur Steuerung des Kontrollflusses
      6. Codierung des Befehlssatzes
      7. Die Rolle des Compilers
      8. RISC versus CISC
      9. Diskussion
    2. Beispielbefehlsätze
      1. Der MIPS-Befehlssatz (ra-2-1 [nach Hennessy/Patterson (2003), Kap. 2], rsys-2-2)
      2. DSP-Befehlssätze (ra-2-3)
      3. Multimedia-Befehle (ra-2-4)
      4. Befehle für Netzwerkprozessoren
      5. VLIW und EPIC-Befehlssätze (ra-2-5)
      6. Der Intel-x86-Befehlssatz (ra-2-6 [nach Hennessy/Patterson (2003), Anhang D])
      7. Graphikprozessoren (Gastvorlesung 10.6.: M. Wawro, Digital Medics GmbH) (gfxhardware)
  3. Mikroarchitektur
    1. Pipelining (ra-3-0 [nach Hennessy/Patterson (2003), Anhang A])
      • Einführung und Grundlagen
      • Die 5-stufige RISC-Pipeline
      • Konflikte im Pipelinebetrieb
      • Implementierung der MIPS-Pipeline
      • Probleme des Pipeliebetriebe
      • Die MIPS R4000 Pipeline
    2. Dynamisches Scheduling (ra-3-1 [nach Hennessy/Patterson (2003), Kap. 3])
      • Erweiterte Sicht auf Abhängigkeiten
      • Einführung und Grundlagen
      • Scoreboarding [nach Hennessy/Patterson (2003), Anhang A]
      • Algorithmus von Tomasulo
      • Sprungvorhersage
      • Befehlsdekodierung im Hoch-Durchsatz
      • Multiple Issue
      • Spekulative Befehlsausführung
      • Fallbeispiel: Die P6 Mikroarchitektur
  4. Entwurf von Speicherhierarchien (ra-4 [nach Hennessy/Patterson (2003), Kap. 5])
    • Grundlagen von Caches
    • Fragestellungen für Caches
      • Speicherung von Blöcken
      • Identifikation von Blöcken
      • Ersetzungsstrategien
      • Verhalten bei Schreiben
    • Beispiel: Der Alpha 21264 Cache
    • Methoden zur Leistungssteigerung von Caches
      • Reduktion der Wartezyklen bei Fehlzugriffen
      • Reduktion der Fehlzugriffsrate
      • Reduktion der Gesamtkosten von Fehlzugriffen durch Parallelismus
      • Reduktion der Zugriffszeit im Erfolgsfall
    • Hauptspeicherorganisation
    • Virtueller Speicher und Caches
  5. Mehrprozessorsysteme (ra-5 [nach Hennessy/Patterson (2003), Kap. 6])
    • Einführung
    • Taxonomie von Mehrprozessorsystemen
    • Modelle für Kommunikations- und Speicherarchitektur
    • Herausforderungen für Parallelverarbeitung
    • SMP-Architekturen
    • DSM-Architekturen
    • Verbindnungsstrukturen für Mehrprozessorsysteme
    • Cache-Kohärenz
    • Speicher-Konsistenz
    • Synchronisation
    • Cluster
    • Beispiel: Google
    • Der IBM Cell-Prozessor (Gastvorlesung 3.7.: N. Maeding, IBM)
  6. Zusammenfassung / Themenüberblick
Weitere Materialien: Prüfung / Leistungsnachweis:
  • Prüfung (Bachelor, DPO 2001): Klausur (benotet, 9 Credits)
    am Semesterende, über Inhalte von Vorlesung und Übungen (Nachklausur: Beginn WS 08/09)
  • Prüfung (alte DPO [1996/97]): benotete mündliche Prüfung, nach Absprache (ggf. mit "Betriebssysteme")
  • Leistungsnachweis: Bearbeitung der Übungsaufgaben (mindestens 60% der Gesamtpunktzahl erforderlich) + Präsentation ausgewählter Lösungen.
  • Sonderregelungen für Nebenfachstudierende: wenn zwingend erforderlich nach Absprache

| Gernot A. Fink  |  Embedded System Design  |  Department of Computer Science  |  University of Dortmund