Computerarchitektur

Typ: Vorlesung + Übung/Tutorium
SWS: 4
Credit Points: 6

Kursbeschreibung / -kommentar

Ziel der Lehrveranstaltung „Computerarchitektur“ ist die praxisbezogene Vermittlung der Theorie der digitalen Computertechnik auf Hochschulniveau. Dabei wird versucht die wissenschaftlichen Grundlagen herauszulösen und von konkreten Systemen zu abstrahieren. Ein wesentlicher Schwerpunkt liegt dabei in der Methoden- und Modellbildung.
“Digital logic is the basis of computer design” – mit diesem Satz beginnt John D. Carpinelli das Kapitel 1 seines Buches [1]; und so startet auch der Syllabus der vorliegenden Lehrveranstaltung. Beginnend mit den elementaren Grundlagen über „Digitale Systeme“ wird auf die Analyse, die Synthese und die Optimierung von kombinatorischen Logiksystemen (Systeme ohne funktionale Zeitabhängigkeit) eingegangen. Übungsbeispiele dienen anfänglich dazu die Umsetzung diverser Algorithmen zu illustrieren und zu vertiefen. In weiterer Folge werden digitale Subsysteme entworfen, die für die Computertechnik relevant sind, wie z.B. Arithmetiksysteme.
Im Herz eines jeden Computers tickt ein Steuerwerk, welches für die Abarbeitung der Programme verantwortlich ist. Die technische Basis dafür bilden die sequentiellen Logiksysteme, welche eine funktionale Zeitabhängigkeit aufweisen. Das Automatenmodell und die Spezifikation, Verifikation und Synthese von FSMs (Finite State Machines) wird im Rahmen dieser Lehrveranstaltung ausführlich diskutiert.
Anschließend wenden wir uns dem Aufbau eines typischen Mikrocomputers zu. Dem schon angesprochenen Herz eines Computers, der CPU (Central Processing Unit) gilt dabei unser Hauptaugenmerk. Wie verarbeitet eine CPU Programme? Wie verknüpft eine CPU Daten? Über welche Befehle verfügt eine CPU? – Auf all diese Fragen werden wir versuchen Antworten zu finden. Der zentrale Punkt ist der Befehlssatz einer CPU (ISA – Instruction Set Architecture) bezüglich der Forderungen einer Hochsprache. Konzepte, wie RISC und CISC, spielen dabei eine entscheidende Rolle. Weitere Themen sind unter anderem Instruction Pipelining und Speicherverwaltung.

[1] John D. Carpinelli, „Computer Systems – Organization & Architecture“, Addison Wesley, ISBN 0-321-21080-8