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)