Rechenarchitektur

Dieser Kurs baut auf dem eben vorgestellten Kurs Digitaltechnik auf. Die Grundlagen sind nun vorhanden, um sich konkret mit der Architektur und der Wirkungsweise eines einfachen Rechners zu befassen. Wir konzentrieren uns hier auf den sehr verbreiteten 8-Bit Microcontroller AVR der Firma Atmel. Im Parallelkurs Microcontroller wurde inzwischen bereits auf die Programmierung dieses Microcontrollers, wozu eine ganz vereinfachte Sicht der Architektur genügt, in Maschinencode (Assembler) eingegangen, so dass wir uns hier der Realisierung des Kerns der Architektur zuwenden können.

Dazu verwenden wir ein Entwicklungsboard mit einem programmierbaren Logikbaustein, einem sogenannten FPGA (Field Programmable Gate Array). Dieser Baustein kann vom PC aus programmiert werden. Die Schaltung wird nicht mehr zusammengelötet oder zusammengesteckt, sondern zuerst in der standardisierten Hardwarebeschreibungssprache VHDL beschrieben, dann übersetzt und schliesslich per Kabel in den FPGA übertragen. Wir verwenden einen modernen FPGA, den Spartan-III der Firma Xilinx, der so hoch integriert ist, dass selbst ganze Rechnerarchitekturen darin Platz finden. Die verwendete professionelle Entwicklungsumgebung stammt ebenfalls von Xilinx und erlaubt eine komfortable Entwicklung und, was ganz wichtig ist, die Simulation eines Entwurfs. Bevor man eine Schaltung auf den FPGA lädt und testet, kann man sie im Simulator auf dem PC prüfen.

Am Ende des Kurses können einfache Programme der im Parallelkurs "Compilerbau" selbst definierten Hochsprache mit dem dort selbst implementierten Compiler in Maschinencode übersetzt werden. Dieser Maschinencode ist dann auf der in diesem Kurs selbst gebauten Rechnerhardware lauffähig. Damit soll der ganze Weg vom Hochsprachenprogramm bis zum funktionierenden Rechner verständlich gemacht werden.