Computer Engineering -
Technische Informatik

Frühjahrssemester 2021

Informationen zum Coronavirus

Die ETH-​Taskforce unter Leitung des Vizepräsidenten für Infrastruktur beobachtet die laufenden Entwicklungen rund um das Coronavirus und definiert Massnahmen. Auf der Corona-Webseite finden Sie laufend aktualisierte Informationen.

Zur Corona-Webseite

Zoom

Für die Vorlesung und die Übung benutzen wir die Videokonferenzensoftware Zoom, die über die ETH genutzt werden kann. Um sich anzumelden, verwenden Sie bitte den folgenden external page Link. Für die Übung und die Vorlesung finden wöchtlich Zoom-Meetings statt. Die Einladung dazu erhalten Sie per E-Mail.

Chatraum

Wir haben einen Matrix-Chatraum bereitgestellt, in dem Studierende der Lehrveranstaltung Fragen zum Inhalt der Übung und der Vorlesung stellen können. Die notwendigen Zugangsinformationen werden per E-Mail an alle registrierten Studierenden versendet.

Bitte nutzen Sie bevorzugt den Chatraum, um eine Frage zu stellen, da Sie dort im Vergleich zur persönlichen Kontaktaufnahme eine schnellere Antwort erwarten können. Sie können uns sowohl auf Deutsch als auch auf Englisch kontaktieren.

Lehrveranstaltungen

Kursbeschreibung

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.

Lernziele

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).

Voraussetzungen

Informatik I und II, Digitaltechnik.

Vorlesung

Die Vorlesung wird zur Vorlesungszeit (Donnerstags 10.15 - 11.55) über Zoom gehalten und aufgezeichnet. Die Links zu den jeweiligen Videos finden Sie im Zeitplan beim jeweiligen Vorlesungstermin. Während der Vorlesung werden in Zoom auch explizit Fragen gestellt, anhand derer Sie beurteilen können, ob Sie den Inhalt der Vorlesung verstanden haben. Der Zoom-Link wird (zu Beginn der Vorlesung) per E-Mail versendet. 

Zeitplan

Kontakt

Sollten Sie spezielle Fragen zum Vorlesungsstoff oder den Übungen haben, schicken Sie sie per E-Mail an den zuständigen Übungsassistenten oder kontaktieren Sie sie via den Matrix-Chat.

Bei allgemeinen Fragen zur Vorlesung wenden Sie sich bitte ebenfalls per E-Mail an den Vorlesungskoordinator Matthias Meyer.

Vorlesungskoordination

  • Matthias Meyer, ETZ G81, , [MM]

Übungsassistenz

  • Andreas Biri, ETZ G75, , [AB]
  • Xiaoxi He, ETZ G77, , [XH]
  • Zhongnan Qu, ETZ G76, , [ZQ]
  • Naomi Stricker, ETZ G81, [NS]
  • Roman Trüb, ETZ G75, , [RT]

Übungen

Das Einschreiben in Übungsgruppen ist nicht erforderlich, da die Lehrveranstaltung online durchgeführt wird.

Die/der verantwortliche Lehrassistent/Lehrassistentin hält die Übung via Zoom. Jede Übung besteht aus zwei Übungsstunden. In der ersten Übungsstunde am Donnerstag gibt es eine Einführung in die Aufgaben. In der zweiten Übungsstunde am Freitag wird die Musterlösung präsentiert.

Bei zusätzlichen Fragen zum Inhalt können Sie auch ausserhalb der Übungszeiten direkt mit der/dem jeweils verantwortlichen Assistentin/Assistenten Kontakt aufnehmen. Bitte benutzten Sie dafür den Matrix-​Chatraum, damit der gesamte Kurs von Ihrer Frage und der Antwort profitieren kann.

 

Es gibt Computer- und Rechenübungen. Für die Computerübungen müssen Sie eine Remote-Verbindung zu den Computern im ETZ herstellen. Eine Anleitung dazu finden Sie unten.

Übungen per Remote Connection

Zusätzlich zu den Informationen der ISG stellen wir Anleitungen für Linux, Windows und macOS bereit. Bitte melden Sie sich bei Problemen, sodass wir mögliche Fehlerquellen ausschliessen können. In jedem Fall ist es wichtig, dass der ssh client X11 forwarding unterstützt, da sonst einige Befehle der Übungen nicht ausgeführt werden können.

In den Übungen werden Sie mit der Kommandozeile arbeiten. Falls Sie sich nicht mit Linux und dessen Kommandozeile auskennen empfehlen wir eine external page Einführung. Bei dem Ausführen von ssh (s.u.) wird automatisch eine Kommandozeile auf dem ausgewählten Rechner geöffnet.

Linux

  • Video Anleitung
  • Sie sollten sich im ETHZ Netz befinden (VPN, eduroam).
  • external page Installieren Sie das Programm ssh, falls es noch nicht auf Ihrer Maschine installiert ist.
  • Öffnen Sie ein Terminal und führen Sie den untenstehenden Befehl aus. Dabei ersetzen Sie username durch Ihren NETHZ Account und die XX durch die Nummer des gewünschten Rechner (01-36):
    ssh -X username@tardis-bXX.ethz.ch

Windows

Windows benötigt zusätzliche Software für "X11 forwarding", damit ein Programm auf einer externen Maschine ausgeführt werden kann, aber das grafische Interface auf Ihrer lokalen Maschine dargestellt wird. Damit dies für die Übungen funktioniert, führen Sie folgende Schritte aus:

  • Video Anleitung
  • Sie sollten sich im ETHZ Netz befinden (VPN, eduroam).
  • Laden Sie external page Cygwin herunter.
  • Achten Sie darauf, dass während der Installation die Packete "xinit", "xterm", "openssh" und "cygutils-x11" installiert werden und nicht als "Übersprungen" markiert sind (suchen Sie nach den Packeten und klicken Sie doppelt auf "Überspringen", um sie zur Installation hinzuzufügen). Falls Sie Cygwin bereits installiert haben, können Sie den Installer auch mehrfach ausführen, um zusätzliche Packete zu installieren.
  • Starten Sie die "XWin Server" Anwendung durch das Start-Menü. Dies startet einen lokalen Server, zu welchem die externe Maschine die GUI weiterleiten kann).
  • Starten Sie ein Cygwin Terminal ("Cygwin64 Terminal") und führen Sie folgenden Befehl aus, welcher den Display zum gerade gestarteten Server mit Default-Adresse 0.0 weiterleitet:
    export DISPLAY=:0.0
  • Verbinden Sie sich mit einer ETH-Maschine durch Ausführen des untenstehenden Befehls. Dabei ersetzen Sie username durch Ihren NETHZ Account und die XX durch die Zahl des gewünschten Rechner (01-36). Beachten Sie die Option "-Y", welche für Windows notwendig ist; es handelt sich dabei um eine weniger sichere Variante von "-X", welche "Trusted X11 forwarding" betreibt und dadurch möglicherweise einige Sicherheits-Erweiterungen nicht unterstützt.
    ssh -Y username@tardis-bXX.ethz.ch

macOS
Auf macOS benötigen Sie zusätzlich die Software external page XQuartz, um das grafische Interface, das via ssh auf Ihre lokale Maschine übertragen wird, darzustellen. Um die GUI Programme der Computer-Übungen auszuführen, führen sie folgende Schritte aus:

  • Video Anleitung
  • Stellen Sie sicher, dass sie sich im ETHZ Netz befinden (VPN, eduroam).
  • Starten Sie die Anwendung "Terminal", welche Sie unter /Finder > Gehe zu / Go > Dienstprogramme / Utilities finden.
  • Verbinden Sie sich mit einer Tardis-Maschine durch Ausführen des untenstehenden Befehls. Dabei ersetzen Sie username durch Ihren NETHZ Account und die XX durch die Zahl des gewünschten Rechner (01-36). Beachten Sie die Option "-Y", welche für macOS notwendig ist; es handelt sich dabei um eine weniger sichere Variante von "-X", welche "Trusted X11 forwarding" betreibt und dadurch möglicherweise einige Sicherheits-Erweiterungen nicht unterstützt.
    ssh -Y username@tardis-bXX.ethz.ch
  • Führen Sie die gewünschte Anwendung aus (siehe "Starten der Übung" weiter unten). Falls Sie eine Anwendung mit GUI ausführen, sollte automatisch die "XQuartz" Anwendung geöffnet und die grafische Benutzeroberfläche dargestellt werden (Bitte haben Sie etwas Geduld, das dauert meistens einen Moment). Sie können dies z.B. mit der einfachen Anwendung "xclock" testen, bei der eine analoge Uhr in einem eigenen Fenster dargestellt werden sollte.

Starten der Übung

  • Danach können Sie den Code zur Übung mit dem folgenden Befehlen herunterladen (z.B. Übung 2) und entpacken:
    mkdir /scratch/[YOUR_USERNAME]
    cd /scratch/[YOUR_USERNAME]
    wget https://lectures.tik.ee.ethz.ch/ti1/exercises/exercise02.zip
    unzip exercise02.zip
  • Um zu überprüfen, ob das Program funktioniert, führen Sie die folgenden zwei Befehle aus:
    cd exercise02/skalar/
    make
    mips-elf-insight-1.0 skalar
  • Das Programm insight sollte sich in einem neuen Fenster öffnen.

MIPS Simulator

In den Übungen wird SPIM-MIPS-Simulator verwendet, der in den PC Räumen vorinstalliert ist. Es ist auch möglich den external page SPIM-Simulator auf einem eigenen PC zu installieren. Ein ehemaliger TI1-Student hat auch einen Simulator entwickelt und auf GitHub zu Verfügung gestellt: external page 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, um das in der Vorlesung vermittelte Wissen zu vertiefen.

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

Disclaimer: Angaben ohne Gewähr. Die Weisungen im Vorlesungsverzeichnis und dem Prüfungsplan gelten als verbindlich!

Das in der Vorlesung und den Übungen vermittelte Wissen wird in einer schriftlichen Prüfung von 90 Minuten Dauer geprüft.

  • Prüfungstermin Sommer Session (FS2021): 19.08.2021, 09:00-10:30
  • Prüfungstermin Winter Session: Bekanntgabe nach Veröffentlichung des Prüfungsplanes

Zugelassene Hilfsmittel

Selbst verfasste Zusammenfassung von maximal 6 Seiten (3 Blätter) A4. Wissenschaftliche Taschenrechner. Geräte, die Kommunikation und das Speichern und Anzeigen von Dokumenten erlauben, sind nicht zulässig.

Prüfungsvorbereitung

Hier finden Sie eine Auswahl an 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. DIe Lösungsvorschläge sind ohne Gewähr. 

Fragestunde

Am 11.08.2021 wurde eine Fragestunde durchgeführt.

external page Videoaufzeichnung der Fragestunde

Prüfungseinsicht

Bitte beachten Sie die Informationen am Anfang dieser Seite.  

Literatur

Vorlesungsfolien

Die Vorlesungsfolien werden auf dieser Webseite veröffentlicht.

Hinweis: Anders als in den vorhergehenden Semestern werden keine Ausdrucke der Vorlesungsfolien mehr verkauft.

 

Basis-Literatur

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

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-0128119051; 2017.
    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: external page MIPSexternal page Intelexternal page ARMexternal page Oracle SPARC, external page AMD .

JavaScript has been disabled in your browser