ETH ZurichD-ITETTIKComputer Engineering Group
Technische Informatik I
  Vorlesung
  Zeitplan
  Kontakt
  Literatur
  Übungen
  Prüfung

Technische Informatik 1 HS 2016

Vorlesung

Allgemeine Informationen

Vorlesung: Technische Informatik 1
Vorlesungs-Id: 227-0013-00L
Semester: HS 2016
Dozent: Prof. Lothar Thiele, ETZ G87, 044 632 7031, thiele@tik.ee.ethz.ch
Sprache: Die Vorlesung wird in Deutscher Sprache gehalten.
Vorlesung: Donnerstag, 10:15-12:00, ETF E1
Übungen:
Donnerstag Freitag
13:15-15:00 A
ETF E1
C
ETF E1
15:15-17:00 B
ETF E1
D
ETF E1
Computerlab:
Donnerstag Freitag
13:15-15:00 A
ETZ D96
C
ETZ D96
15:15-17:00 B
ETZ D96
D
ETZ D96

News

  • Termine Prüfungseinsicht: Di, 28.02.2017, 13:00-14:00 Uhr und Mo, 13.03.2017, 11:00-12:00 Uhr im ETZ G71.2.

Vorlesungsziele

Kennenlernen des logischen und physikalischen Aufbaus von Datenverarbeitungssystemen für den Einsatz in technischen Systemen. Einblick in die Prinzipien von Hardware-Entwurf, Datenpfad und Steuerung, Assemblerprogrammierung, moderne Rechnerarchitekuren (Pipelining, Spekulationstechniken, superskalare Architekturen), Speicherhierarchie, Softwarekonzepte (Betriebssystem, Prozesse, Threads).

Inhalt

Strukturen und Modelle digitaler Systeme (abstrakte Datentypen, endliche Automaten, Berechnung- und Prozessgraph), Abstraktion und Hierarchie in Datenverarbeitungssystemen, Assembler und Compiler, Kontrollpfad und Datenpfad, Ein- und Ausgabe, Kommunikationsstrukturen, Speicherhierarchie, Pipelining und superskalare Rechnerarchitekturen, Betriebssystem, Prozesse und Threads.

Theoretische und praktische Übungen, die den Stoff der Vorlesung vertiefen.

Voraussetzungen

Informatik I und II, Digitaltechnik.

Zeitplan

Datum Vorlesung Materialien Übung Ast. Materialien
22.09.2016 0. Organisation
1. Einleitung
Kapitel 0
Kapitel 1
keine Übung
29.09.2016 2. Instruktionssatz Kapitel 2 keine Übung
06.10.2016 keine Vorlesung keine Übung
13.10.2016 2. Instruktionssatz keine Übung
20.10.2016 3. Assembler Kapitel 3
P.Hennessy Appendix A
MIPS Assembly Guide
Übung 1: Assembler (Computerübung)
MM Übung 1
Files Übung1
Slides Übung1
Lösung 1
27.10.2016 3. Assembler
4. Prozessor - Einzeltakt
Kapitel 4 Übung 2: Assembler (Rechenübung) MM Übung 2
Slides Übung2
Lösung 2
03.11.2016 4. Prozessor - Einzeltakt Übung 3: Toolflow (Computerübung) PM Übung 3
Files Übung3
Slides Übung3
Lösung 3
10.11.2016 5. Prozessor - Pipelining Kapitel 5 Übung 4: Datenpfad (Rechenübung) AT Übung 4
Slides Übung4
Lösung 4
17.11.2016 5. Prozessor - Pipelining Übung 5: Eingabe - Ausgabe (Computerübung) GG Übung 5
Files Übung5 Slides Übung5
Lösung 5
24.11.2016 5. Prozessor - Pipelining
6. Speicherhierarchie
Kapitel 6 Übung 6: Pipelining (Rechenübung) AT Übung 6
Slides Übung6
Lösung 6
01.12.2016 6. Speicherhierarchie Übung 7: Pipelining (Computerübung) GG Übung 7
Files Übung 7
WinMIPS64 Tutorial
Slides Übung7
Lösung 7
08.12.2016 6. Speicherhierarchie Übung 8: Instruktionsparallelität (Rechenübung) AT Übung 8
Slides Übung8
Lösung 8
15.12.2016 6. Speicherhierarchie
7. Prozesse und Threads
Kapitel 7 Übung 9: Cache (Rechenübung) PM Übung 9
Slides Übung9
Lösung 9
22.12.2016 keine Vorlesung Übung 10: Virtueller Speicher (Rechenübung) PM Übung 10
Slides Übung9
Lösung 9

Kontakt

Sollten Sie spezielle Fragen zum Vorlesungsstoff oder den Übungen haben, schicken Sie sie per E-Mail an den zuständigen Übungsassistenten oder machen Sie mit ihm einen Termin aus.

Bei allgemeinen Fragen zur Vorlesung wenden Sie sich bitte ebenfalls per E-Mail an die Vorlesungskoordinator Zimu Zhou (zimu.zhou@tik.ee.ethz.ch).

Generelle Fragen zu Vorlesung und Übung, Koordination:

Spezifische Fragen zur Vorlesung und einzelnen Übungen:

Kürzel Name Büro Telefon E-Mail Übung
[MM] Matthias Meyer ETZ G81 044 632 8721 matthias.meyer@tik.ee.ethz.ch 1, 2
[PM] Philipp Miedl ETZ G76 044 63 27061 philipp.miedl@tik.ee.ethz.ch 3, 9, 10
[AT] Andreas Tretter ETZ G81 044 632 0454 andreas.tretter@tik.ee.ethz.ch 4, 6, 8
[GG] Georgia Giannopoulou ETZ G77 044 632 7002 ggeorgia@tik.ee.ethz.ch 5, 7

Literatur

Vorlesungsfolien

  • Die Kopien der Vorlesungsfolien werden in der ersten Vorlesung am 22.09.2016 zum Preis von 10 Franken verkauft. Im Preis sind auch die Unterlagen zu den Übungen beinhaltet.
  • Die Vorlesungsunterlagen werden zwar auch auf dieser Seite zur Verfügung stehen, aber trotzdem eine Bitte: Drucken Sie bitte nicht noch einmal alles aus! Wenn Sie die Unterlagen noch nicht "auf Papier" erhalten haben, melden Sie sich bitte beim Vorlesungskoordinator.

Basis-Literatur

Die Vorlesung stützt sich in wesentlichen Teilen auf das Standardwerk von Patterson und Hennessy:

  • David A. Patterson und John L. Hennessy: Computer Organization and Design: The Hardware/Software Interface Morgan Kaufmann Publishers, Inc.; Auflage: 5; ISBN 978-0124077263 ; 2014.
Computer Engineering Book

Die gesamte Lehrveranstaltung kann jedoch auch ohne das Buch absolviert werden, da alle erforderlichen Unterlagen zur Vorlesung und zur Übung ausgeteilt werden.

Weiterführende Literatur

  • David A. Patterson und John L. Hennessy: Computer Architecture: A Quantitative Approach. Morgan Kaufmann Publishers, Inc.; San Francisco, California; ISBN 978-0123838728; 2011.
    Das Buch führt in gewisser Weise das der Vorlesung zugrundeliegende Konzept weiter im Hinblick auf die quantitative Behandlung von Rechnerarchitekturen. Hierbei wird auf alle wesentlichen heutigen Rechnerarchitekturen im Detail eingangen.

Zum Schluss noch einige Links zu Rechnerarchitekturen: MIPS, Intel, ARM, IBM Power, Orcale SPARC.

Übungen

Ablauf

Die Übungen werden im wöchentlichen Rhythmus in Abstimmung mit den Übungen zur Vorlesung "Halbleiter-Schaltungstechnik" (EC) durchgeführt. Jeder Student meldet sich in der ersten Vorlesungsstunde von TI1 (22.09.2016) zu einer Übungsgruppe an. Es gibt insgesamt 4 Übungsgruppen, je zwei am Donnerstag und und je zwei am Freitag (siehe auch unter Vorlesung):

TI1EC
ADonnerstag 13:15-14:45Donnerstag 15:15-16:45
BDonnerstag 15:15-16:45Donnerstag 13:15-14:45
CFreitag 13:15-14:45Freitag 15:15-16:45
DFreitag 15:15-16:45Freitag 13:15-14:45

Gruppeneinteilung HS 2016 [pdf]

Eine Übung dauert zwei Stunden, wobei zwischen Computer- und Rechenübung unterschieden wird. Die Raumbezeichnungen finden Sie ebenfalls hier. Die vier Computerübungen sind praktische Übungen, die innerhalb der Übungsstunden in den Computerräumen von den Studierenden durchgeführt werden. Die sechs Rechenübungen finden in den Übungsräumen statt. Der Ablauf der Übungen ist wie folgt: Zunächst werden die Aufgaben kurz vom Assistenten vorgestellt. Anschliessend können die Aufgaben gelöst und Fragen gestellt werden. Zuletzt werden die Lösungen der Aufgaben vom Assistenten präsentiert.

MIPS Simulator

In den Übungen wird SPIM-MIPS-Simulator verwendet, der in den PC Räumen vorinstalliert ist. Ein ehemaliger TI1-Student hat auch einen Simulator entwickelt und auf GitHub zu Verfügung gestellt: MipsSim.

Testate

Es werden keine Testate für die Teilnahme an den Übungen vergeben. Die Teilnahme an Rechen- und Computerübungen wird aber weiterhin sehr empfohlen.

Genauere Angaben zum Ablauf der Übungen wird es in der ersten Vorlesungsstunde geben. Bei Fragen wenden Sie sich am Besten an den Vorlesungskoordinator.

Prüfung

Hilfsmittel schriftlich: Selbst verfasste Zusammenfassung von maximal 6 Seiten (3 Blätter) A4. Wissenschaftl. Taschenrechner. Geräte für die Kommunikation und das Speichern und Anzeigen von Dokumenten sind nicht zulässig.

Hier finden Sie fünf ausgewählte Prüfungen der letzten Semester. Fragen zu diesen Prüfungen richten Sie am Besten an die Assistenten, die für das jeweilige Thema vorgesehen sind (siehe unter Kontakt). Andere alte Prüfungen, die sich evtl. noch aus vorherigen Semestern im Umlauf befinden, werden von unserer Seite nicht unterstützt.

Jahrgang Musteraufgaben
Sommer 2016 Virtueller Speicher [pdf]
Frühjahr 2012 I/O-System, Assembler, Cache [pdf]
Frühjahr 2010 Cache, Assembler, Pipelining, Datenpfad [pdf]
Frühjahr 2009 Assembler, Pipelining, Cache [pdf]
Herbst 2001 Assemblerprogrammierung [pdf]
Kontrollflussgraph und Datenpfad [pdf]
I/O System, Performance [pdf]
Cache [pdf]
Frühjahr 2001 Assemblerprogrammierung [pdf]
I/O System [pdf]
Datenpfad und Mikroprogrammierung [pdf]
Cache [pdf]