Bunte Bits

3. Nullen und Einsen


3.6 Ein Programm für unseren Computer -
natürlich mit Nullen und Einsen

Nun ging es schon ziemlich lange darum, wie man mit Nullen und Einsen alles mögliche darstellen kann: Zahlen, Text, Bilder. Es fehlt uns nur noch eine aber dafür die alles entscheidende Sache, die auch mit Nullen und Einsen dargestellt werden muss: Das Programm! Darauf kommen wir in diesem Kapitel zu sprechen!

Was ist das überhaupt, ein Programm?

Du kennst vielleicht das Fernsehprogramm, das Programm für die Waschmaschine, das Programm einer Zirkusaufführung, auch deinen Stundenplan in der Schule könnte man ein Programm nennen.

Ein Programm ist ein im Voraus festgelegter Ablauf. Es legt fest, was wann gemacht wird.

Im Zirkus steht im Programm also zum Beispiel drin, dass erst der Direktor das Publikum begrüßt, dann kommt die Nummer mit den Hunden, dann die Hochseilartisten, dann der Clown, dann die Raubtiernummer usw.

Bei der Waschmaschine ist das Programm durch eine technische Vorrichtung festgelegt, meist ein Drehschalter mit einer Uhr, der dafür sorgt, dass zuerst Wasser in den Behälter mit dem Vorwaschmittel läuft, dass sich dann die Trommel abwechselnd dreimal linksrum und dreimal rechtsrum dreht, dass dann das Waschwasser abgepumpt, dann zwischengeschleudert, dann das Hauptwaschmittel eingespült, dann wieder abgepumpt, dann Weichspüler eingelassen, und am Ende geschleudert und die Tür freigegeben wird. Du siehst ein Programm kann ziemlich lang werden. Bei der Waschmaschine hat man sogar die Möglichkeit, zwischen verschiedenen Programmen zu wählen: Wenn man das Programm für die pflegeleichte Wäsche einstellt, dreht sich die Trommel vielleicht immer nur zweimal links- und rechtsrum, oder sie dreht sich langsamer oder was die Erbauer der Waschmaschine sich sonst ausgedacht haben.

Entscheidend bei diesem langen Absatz über die Waschmaschine ist nur, dass du verstehst, was ein Programm ist, und dass man zwischen mehreren Programmen wählen kann, damit unterschiedliche Dinge passieren.

Genau so ist das beim Computer nämlich auch: Wenn du das Textverarbeitungsprogramm wählst, macht der Computer etwas anderes als wenn du ein Grafikprogramm aufrufst. Das besonders tolle am Computer - und das geht bei der Waschmaschine nicht! - ist, dass man sogar ein Programm ausführen kann, mit dem man neue Programme erzeugen kann! Mehr dazu im Kapitel 9 über das Programmieren.

Unser Computer soll also jetzt verschiedene Dinge können und wir wollen auswählen können, welches er davon macht.

Fassen wir zunächst zusammen, was wir schon haben: In Kapitel 3.1 haben wir schon einen Computer gebaut, der zwei Zahlen addieren kann. Der Einfachheit halber, benutzen wir hier nur die Version aus Abbildung 3 mit nur einer Lampe als Ausgabe und gehen davon aus, dass die Aufgabe 1 + 1, deren Ergebnis dieser Computer ja nicht darstellen konnte, nicht eingegeben wird, sondern nur 0 + 0, 0 + 1 oder 1 + 0.

Wie wäre es, wenn wir als zweites Programm eine Multiplikationsaufgabe (Malnehmen) stellen? Natürlich wieder nur mit den ganz einfachen Zahlen Null und Eins! Unser Computer müsste die Aufgaben 0 x 0, 0 x 1, 1 x 0 und 1 x 1 rechnen können.

Überlegen wir uns, wie wir die Schalter und Lampe verkabeln (programmieren!) müssen, damit bei der Multiplikation das richtige Ergebnis herauskommt:
Unten stehende Tabelle 8 zeigt, wie die Lampe leuchten muss, je nachdem wie die Eingabeschalter stehen.

Schalter 1 Schalter 2 Multiplikations-
ergebnis
Lampe
Null Null 0 Lampe aus
Null Eins 0 Lampe aus
Eins Null 0 Lampe aus
Eins Eins 1 Lampe an

Tabelle 8: Ergebnistabelle für Multiplikation

Ja aber ....

Das ist doch genau die gleiche Tabelle, wie wir sie schon für die zweite Lampe unseres Additionscomputers gemacht haben! Schau dir Tabelle 1 noch einmal genau an! Die Spalte "Zweite Lampe" dort sagt genau das selbe wie Tabelle 8!

Also haben wir auch das Programm (die Verkabelung) für die Multiplikation schon fertig in der Schublade liegen! Abbildung 7 zeigt uns die Verschaltung die wir hier auch brauchen!

Um also jetzt einen Computer zu bauen, bei dem man sich aussuchen kann, ob man addieren oder multiplizieren will, brauchen wir doch nur die beiden Computer aus Abbildung 5 und Abbildung 7 zusammenzuschalten und einen dritten Schalter einbauen, mit dessen Hilfe man sich aussuchen kann, ob man addieren oder multiplizieren möchte!

Abbildung 15 zeigt dir einen solchen Computer:

Abbildung 15: Computer, bei dem man wählen kann, ob man addieren oder multiplizieren will

Abbildung 15: Computer, bei dem man wählen kann, ob man addieren oder multiplizieren will

Der blau eingekreiste Schalter ist neu hinzugekommen. Mit ihm können wir wählen, ob wir addieren oder multiplizieren wollen. Er ist unser Programmwahlschalter!

Abbildung 15 zeigt einen Computer, bei dem man wählen kann zwischen den Programmen Addiere die Zahlen A und B oder Multipliziere die Zahlen C und D. (A, B, C, D sind die Bezeichnungen der Schalter.) Eigentlich wollten wir aber die Wahl haben zwischen Addiere die Zahlen A und B und Multipliziere die Zahlen A und B, das heißt wir müssen wieder dafür sorgen, dass die Schalter C und D die selben sind wie A und B. Das haben wir beim Computer in Abbildung 8 aber schon einmal gemacht. Du kannst unseren Computer bestimmt selbst so modifizieren, dass er unseren Wünschen entspricht! Er müsste dann aussehen wie in Abbildung 16:

Abbildung 16: Computer, der die Schalter A und B entweder addieren oder multiplizieren kann.

Abbildung 16:
Computer, der die Schalter A und B entweder addieren oder multiplizieren kann, je nachdem wie der Programmwahlschalter (grüner Kreis) steht.

Bei den Computern in Abbildung 15 und Abbildung 16 können wir also zwischen den Programmen Addieren und Multiplizieren mit einem Schalter wählen. Ups! Ein Schalter! Unser Programm ist also schon binär dargestellt! Der Schalter steht auf 0 oder 1, auf Addieren oder Multiplizieren!

Hätten wir mehrere Befehle als Addieren oder Multiplizieren zur Auswahl, würden wir mit mehreren Schaltern Kombinationen erzeugen, um den Befehl auszuwählen, den wir haben wollen!

Noch einmal zur Klarheit: Wie der Computer addiert oder multipliziert, hängt von der Verdrahtung der Ein-/Ausgabe-Schalter ab! Mit dem Programmwahlschalter wählen wir nur eine von mehreren möglichen Verdrahtungen aus, die sozusagen für den Befehl addiere oder multipliziere stehen.

Wir sehen also: Es ist ganz einfach, auch Programme mit Nullen und Einsen darzustellen.

Überhaupt gibt es fast nichts, das sich nicht mit Nullen und Einsen darstellen ließe. Wenn man etwas, das eigentlich anders dargestellt wird, in Nullen und Einsen umwandelt, sagt man dazu auch digitalisieren:

Digital bedeutet, dass etwas in genau festgelegten Stufen dargestellt wird und nur bestimmte Werte annehmen kann.
Dein Schulzeugnis zum Beispiel ist eine digitale Darstellung deiner Leistungen: Dort steht entweder ein "gut" oder ein "befriedigend" (oder irgendeine andere Note) aber es steht dort nicht irgendwo zwischen mittelprächtig und echt klasse.
Unsere Schalter oder unsere Lampe sind also auch digital: auf oder zu, bzw. an oder aus. Wir unterscheiden nicht, ob die Lampe hell oder nicht so hell leuchtet.

Das Gegenteil von digital heißt analog. Das bedeutet, dass alle Werte (meist zwischen zwei Grenzen) möglich sind. Ein Zeigerinstrument (auch eine Uhr mit Zeigern) ist zum Beispiel analog, weil der Zeiger jede beliebige Position auf der Skala einnehmen kann.

Wenn man eine analoge Größe digital darstellen möchte, dann unterteilt man die Skala einfach künstlich in Stufen. Diese Stufen nennt man Quanten (genau wie Käsefüße). Eine Waage zum Beispiel, die nur ganze Kilogramm in Zahlen anzeigt, ist digital. ("Digit" bedeutet im Englischen Ziffer.) Wenn du dich damit wiegst, zeigt sie zum Beispiel 43kg an. Das bedeutet aber nicht, dass du genau 43kg wiegst, sondern dass du zwischen 42,5kg und 43,49999...kg wiegst. Der Fehler, der dabei zwangsläufig entsteht, heißt Quantisierungsfehler. Im Beispiel beträgt er ±0,5kg. Wenn man einen kleineren Quantisierungsfehler haben möchte, muss man einfach mehr Stufen für die Unterteilung nehmen.

Sind wir mit dem Thema "Programm" schon fertig? Sieh dir noch einmal die Definition oben an und denke an die Waschmaschine! Dass wir zwischen verschiedenen Dingen wählen können, die die Maschine macht, war ja nur eine Seite der Medaille! Je nachdem welches Programm wir auswählen, soll die Maschine doch auch bestimmte Dinge in einer bestimmten Reihenfolge ausführen! Es würde uns ja nicht viel helfen, wenn die Waschmaschine erst schleudern und am Ende des Programms erst das Wasser einlassen würde, oder die Reihenfolge sich sogar von Waschgang zu Waschgang ändern würde!

Unser Computer hat aber nur, je nachdem welches Programm wir gewählt haben, entweder zusammengezählt oder malgenommen. Danach ist er wieder in einen Dornröschenschlaf gefallen und hat nichts mehr gemacht!

Wir müssen also noch einen Weg finden, wie wir dem Computer mehrere Befehle geben können, die er dann in einer bestimmten Reihenfolge abarbeitet.

Auch das ist erst mal ganz einfach: Wir brauchen doch aus dem blau eingekreisten Schalter in Abbildung 15 nur einen Drehschalter mit Uhr zu machen, wie er auch in der Waschmaschine sitzt! Schon wird unser Rechner nacheinander die Addition und die Multiplikation ausführen! Und wenn wir noch mehr Verschaltungen an weiteren Positionen des Drehschalters anschließen, können wir das Programm auch länger machen.

Schwieriger wird es dann, wenn Rechenergebnisse aus vorangegangenen Schritten in späteren Teilen des Programms verwendet werden sollen. Wenn also die Addition zum Beispiel das Ergebnis Eins hat (die Lampe leuchtet) und dieses Ergebnis die Eingabe für die Multiplikation werden soll. Dafür muss doch einer der Eingabe-Schalter gedrückt werden, wenn die Ausgabe-Lampe leuchtet! Schwierig!

Erinnern wir uns daran, wie wir ganz am Anfang überlegt haben, wie man die Zahlen 0 und 1 im Computer darstellen kann. Die Lampe war doch nur eine von mehreren Möglichkeiten; eine zweite Möglichkeit war der Schalter, den wir ebenfalls verwendet haben! Wie wäre es denn, wenn der Computer sein Ergebnis nicht mit Hilfe einer Lampe sondern mit einer Schalterstellung ausgeben würde? Dann könnten wir diese Schalterstellung sofort als Eingabe für unseren nächsten Programmschritt verwenden! Tolle Idee, was?!

Dafür bräuchten wir natürlich Schalter, die sich elektrisch betätigen lassen! Wenn unsere Lampe leuchten würde, weil ein Strom ankommt, muss unser Schalter auf Eins schalten. Solche Schalter gibt es; sie heißen Relais (sprich: relä). Das ist nichts anderes als ein Elektromagnet, der einen Schalter betätigt, sobald Strom durch ihn fließt.



3.5 Bilder mit Nullen und Einsen Inhaltsverzeichnis
Index
4. Halbleiter und richtige Computer