Didaktische Überlegungen zur Unterrichtseinheit
Der Klassische Universalrechner (KUR)
=====================================
Arno Pasternak 1996/2005
1.
Nach Bruner (1960) u.a. gilt:
Fundamentale Ideen gehören in den Unterricht
In der Informatik zählt dazu sicher das von Neumann'sche Konzept als
geschichtliche und technische Basis des Computerzeitalters.
2.
Grobes Raster des Vorgehens im Unterricht:
- Historie
- Rechnerkonzept KUR als Folgerung aus dem Neumannschen Konzept
- Entwicklung von Maschinensprache als Folge von Mikroprogrammen
- Entwicklung von Assemblersprachen (hier verschiedenen Stufen
von ASU (Assemblersprache für den Unterricht)
- 'moderne' Programmierstrukturen auf unterer Ebene (exemplarisch!),
daraus folgend mögliche Weiterentwicklungen von ASU
3.
Dies ergibt ein gerundetes Bild in einem Unterrichtshalbjahr.
Das heißt nicht, dass dies die einzige Möglichkeit ist. Die Inhalte des
allgemeinen Themas Hard- und Softwaresysteme sind so umfangreich, dass
mehrere Halbjahre sinnvoll gefüllt werden könnnten.
Aber:
'Blindes' Programmieren ohne Sinn und Verstand auf Maschinenebene auf
irgendwelchen Modellen oder sogar realen Rechnern ist in der allgemein-
bildenden Schule Quatsch.
4.
Idee des Programmes KUR:
Wenn auf der einen Seite kein 'blindes' Programmieren auf Maschinenebene
erfolgen soll, andererseits die zentrale Bedeutung des von Neumannschen
Konzeptes klar werden soll, gibt es nur eine Möglichkeit:
Es muss eine reale technische Maschine möglich sein, die genau die
Realisierung des Konzeptes darstellt. Diese Maschine muss so programmierbar
sein, dass sie die gängigen Programmierkonzepte realisieren kann.
Dann ist klar, dass das Neumannsche Konzept richtig und wichtig ist.
Diese technische Realisierung stellt der klassische Universalrechner dar.
Er besteht aus technischen Einheiten, die nur durch das Ein- und Ausschalten
von Leitungen Informationen austauschen.
Die zentralen Steuereinrichtungen im Leitwerk können durch klassische
mechanisch 'Waschmaschinensteuerungen' veranschaulicht werden, die jeweils
zyklische Folgen von Schaltvorgängen vornehmen können. Diese Waschmaschinen-
steuerungen können wie z.B. beim Heizprozess in der Waschmaschine vorrüber-
gehend ausgeschaltet werden und durch Informationen von den "selbstständig"
handelnden Einheiten wie Speicherwerk etc. durch Rückmeldeleitungen wieder
eingeschaltet werden.
Für jedes Mikroprogramm (z.B. Addition) muss also eine solche "Waschmaschinen-
steuerung" in der Funktionsentschlüsselung enthalten sein.
Die zentrale derartige Steuerung realisiert dann den von-Neumann-Zyklus.
Dieses Programm ist natürlich nur eine Simualtion. Es lässt sich meines
Erachtens aber vermitteln, dass jeder der Einheiten in diesem System technisch
gebaut werden kann.
Ist die Arbeitsweise dieses Automaten über den von Neumann-Zyklus und die
Mikroprogramme verstanden worden, ist ein Arbeiten auf Maschinenebene mit
einer Maschinensprache möglich.
In der Befehlstabelle ist enthalten, welche Zahlen welchen Funktionalitäten
zugeordnet sind. Die Zahlen sind sinnvollerweise funktional erkennbar (im
Gegensatz zu den meisten realen Prozessoren!).
Aus Vereinfachungsgründen gibt es prinzipiell nur 2-Adress-Befehle. Notwendige
Ein-Adress-Befehle werden auf Mikroprogrammebene auch als 2-Adress-Befehle
ausgeführt. Der Adressteil bei diesen Befehlen kann dann beliebig gesetzt
werden.
Den Zahlen für die Maschinenbefehle sind dann logischerweise Mnemonics
zugeordnet. Diese entsprechen weitgehend den üblichen Bezeichnungen.
Im Verlaufe des Unterrichts können dann die sich dann auch historisch
entwickelten Assemblersprachenebenen:
- einfache Assembler (Mnemonics statt Zahlen für die Maschinenbefehle)
- symbolische Assembler
- Makro-Assembler
besprochen und auch praktisch programmiert werden.
Die Übersetzung von der Assemblersprache in die Maschinensprache muss hier
manuell erledigt werden.
Es ist überlegenswert, dem System noch einen (oder mehrere Assembler als
übersetzer der verschiedenen Sprachebenen) hinzuzufügen. Es hat sich im
Unterricht bisher aber nicht als Problem herausgestellt, dieses manuell
durchzuführen.
Aus didaktischen Gründen arbeitet dieses System nicht mit dem dualen
Zahlensystem. Beim von Neumannschen Konzept ist diese Forderung auch
mehr aus historischen Gründen enthalten. Die Auseinandersetzung um das
zu verwendende Zahlensystem in den Vierziger Jahren des Zwanzigsten
Jahrhunderts hat John von Neumann wohl bewogen, dieses Postulat mit in
das Konzept aufzunehmen. Im Vergleich zu den anderen Postulaten ist dieses
jedoch von der konkret verwendeten Technis abhängig.
Für die Schüler ist es sinnvoll, diese zusätzliche Schwierigkeit in der
konkreten Arbeit zu vermeiden.
5.
Genauere Darstellung eines möglichen Unterrichtverlaufes:
- Historie mit Zeittafel
- Neumann-Konzept
- KLU
- Mechanisierung
- Modellierung (incl. Einschränkung, Mikroprogrammierung)
- Maschinenbefehle, ASU-Befehle
- Adressierungsarten
- Assemblierung von Hand mit verschiedenen Entwicklungsstufen
- einfache Demo
- höhere Daten-/Programmstrukturen
- vor allem Unterprogrammkonzept
- dynamische Datenraum
- daraus folgt: mögliche Erweiterung einer Adressierungsart
(xxS: Stapeladdressierung)