Ich unterrichte den einzigen Kurs für Computerarchitektur an einer Hochschule für Geisteswissenschaften. Der Kurs ist für die Informatik Haupt- und Nebenfach erforderlich. Wir haben keine Kurse für Computertechnik, Elektrotechnik, andere Hardware usw. Mein Hauptziel in diesem Kurs ist es, dass die Studenten bis auf die Torebene verstehen, wie Computer funktionieren. Ich glaube, sie lernen dies am besten durch ein Hardware-Labor und nicht nur durch ein Lehrbuch ( Computer Organization and Designvon Hennessy und Patterson). Mein sekundäres Ziel ist es, sie für Computerarchitektur zu begeistern und ihre Begeisterung für Informatik zu steigern. Sie direkt auf die Industrie vorzubereiten, ist kein Ziel, obwohl es eine Motivation ist, mehr Computerarchitektur zu studieren. Die Studierenden haben in der Regel keine Erfahrung mit dem Aufbau oder dem Besuch eines Praktikums auf College-Niveau. Normalerweise belegen 10-15 Studenten den Kurs pro Semester.
Ich unterrichte den Kurs seit 1998 auf ähnliche Weise wie ich ihn Ende der 1980er Jahre am MIT in Computerarchitektur und digitaler Elektronik unterrichtet habe: mit DIP-TTL-Chips auf angetriebenen Steckbrettern. Bei der ersten Aufgabe im Hardwarelabor erstellen die Schüler einen Volladdierer. Etwa zur Hälfte des Semesters bauen sie einen einfachen Computer mit einem 8-Bit-Befehlssatz. Um die Verkabelung zu reduzieren, habe ich ihnen eine Platine mit einem Teil der Elektronik zur Verfügung gestellt (zwei D-Flip-Flops, zwei 4-Bit-LS 181-ALUs, die als 8-Bit-ALU verdrahtet sind, und einen Tristate-Puffer). In der ersten Übung leiten sie die (sehr einfachen) Steuersignale für die beiden Befehlsformate ab und bauen die Schaltung auf, geben Befehle an Schaltern ein und lesen die Ergebnisse von Lichtern. In der zweiten Übung fügen sie einen Programmzähler (2 LS163s) und einen EPROM (welcheMeine ursprüngliche Frage lautete: bevor ich anfing, wie ich Intro-Architektur unterrichten sollte. Im letzten Labor fügen sie eine bedingte Verzweigungsanweisung hinzu. Während die Schüler viel Zeit für Verkabelung und Fehlerbehebung aufwenden, finde ich, dass dort ein Großteil des Lernens stattfindet und die Schüler mit einem echten Erfolgserlebnis abreisen.
Die Leute in diesem Forum haben mir jedoch gesagt, dass ich zu FPGAs wechseln soll, mit denen ich vorher noch nicht gearbeitet habe. Ich bin ein Software-Ingenieur, kein Computer-Ingenieur, und bin seit einiger Zeit nicht mehr in der Schule, aber ich bin lernfähig. Ich könnte nicht viel Geld ( vielleicht ein paar tausend Dollar) dafür bekommen, unsere vorhandenen digitalen Trainer zu ersetzen. Wir haben einen einzigen Logikanalysator.
Würden Sie EEs in Anbetracht meiner Ziele und Einschränkungen empfehlen, meinen derzeitigen Ansatz der Umstellung auf FPGAs beizubehalten? Wenn dies der Fall ist, können Sie mir Hinweise auf Materialien geben, mit denen ich mich weiterbilden kann?
Hier finden Sie, wie gewünscht, einen Link zu den Lehrplänen und Laboraufgaben .
Ergänzung: Ja, es ist auch ein digitaler Logikkurs. Als ich an meinem College ankam, mussten die Studenten jeweils ein Semester Computerarchitektur und digitale Logik belegen, und ich kombinierte sie zu einem einzigen Semester. Das ist natürlich eine Aussage über die Vergangenheit, nicht über die Zukunft.