💡 „Computer sind aus unzähligen Schaltern aufgebaut“. Dieser Artikel zeigt dir, wie mehrere Transistoren zu verschiedene logische Schaltungen (Logik-Gatter) kombiniert werden können und wie aus diesen einfache Addierer gebaut werden können.
Die Schalter in einem Computer-Chip werden nicht mit dem Finger, sondern mit verschiedenen Ladungen ein- und ausgeschaltet. Abb.1 links zeigt einen normalen, eingeschalteten Schalter mit zwei Anschlüssen. Der Pfeil zeigt an, dass Strom fliesst. In der Mitte ist ein Querschnitt durch einen für einen Computer-Chip verwendeten Schalter, den Transistor, gezeichnet.1) Source und Drain sind die beiden Anschlüsse, durch die der Strom fliesst, wenn der Schalter eingeschaltet ist. Eingeschaltet wird der gezeichnete Transistor durch eine positive Ladung am Gate-Anschluss. Die positive Gate-Ladung zieht freie Elektronen aus der N-Si-Halbleiterschicht nach oben, sodass zwischen den P-Si-Halbleitern ein Elektronenüberschuss entsteht. Dadurch kann Strom durch den P-Si → N-Si → P-Si Übergang fliessen. Die Isolation sorgt dafür, dass kein Strom durch das Gate fliesst. Rechts ist das Symbol (Schaltbild) des Transistors gegeben.
Wird am Gate eine negative Ladung angelegt, so leitet der Transistor nicht, er sperrt (siehe Abb.2) 2). Durch die negative Gate-Ladung werden die freien Elektronen der N-Si-Schicht nach unten gedrückt. Zwischen den beiden P-Si-Schichten gibt es somit zu wenige freie Elektronen und es kann kein Strom durch den P-Si → N-Si → P-Si Übergang fliessen.
ein
und aus
. Wie diese Zustände genannt werden, ist völlig willkürlich. Man könnte die Zustände auch «Fischsuppe» und «Lampenschirm» nennen. Oder vielleicht fallen dir selbst verrückte Namen ein.0
und 1
praktisch ist. Zahlen, welche nur aus 0
und 1
bestehen, werden als Binärzahlen bezeichnet. Mit diesen kann ganz «normal» gezählt und gerechnet werden. Das schöne dabei ist: Es können mit Transistoren Schaltungen gebaut werden, welche dank der Benennung 0
und 1
Binärzahlen miteinander verrechnen und vergleichen können.🤔 Gibt es auch «ternäre» Computer?
:Ja, es ist möglich ternäre Logikschaltungen, d.h. Logikschaltungen mit drei Zuständen zu bauen (''wahr'', ''falsch'' und ''unbestimmt'' oder ''-1'', ''0'' und ''1'' oder ''+'', ''0'', ''-''). Es wurden auch schon [[wpde>Ternärer Computer|ternäre Computer]] gebaut. Im Prinzip sind ternäre Computer sogar effizienter als binäre Computer. Der Grund, warum es praktisch nur binäre Computer gibt, liegt darin, dass die Massenproduktion von binären Logikgattern günstiger ist als die von ternären. Es ist aber möglich, dass die Computer in der Zukunft vorwiegend ternär sein werden.
💡 Mit Transistoren lassen sich logische Schaltungen bauen, auch Logikgatter genannt. Mit Logikgattern können bereits einfache Steuerungen gebaut werden. Z.B. die Steuerung einer Kühlschrankinnenbeleuchtung, einer Waschmaschine oder eines Ventilators. Was Logikgatter machen und was diese mit „Logik“ zu tun haben, erfährst du in diesem Kapitel.
💡 Wie die Logikgatter aus Transistoren gebaut werden können erfährst du im Abschnitt „Aufbau Logikgatter“ (ein Kapitel für Schnelle oder Interessierte).
Unten stehend siehst du ein interaktives NOT gate (erkennbar am Symbol !
). Wenn du auf den Eingang e
klickst (auf das Quadrat □), so wechselt der Eingang zwischen zwei Zuständen hin und her. Der «weisse Zustand» ist bezeichnet aus
oder 0
, der «rote Zustand» ein
oder 1
. Probiere das gleich einmal aus!
Loading ⌛
⚠️ Wie du siehst, zeigt der Ausgang a
immer das Gegenteil vom Eingang e
an. Wenn e
weiss aus
ist, dann ist a
rot ein
und umgekehrt. Daher wird diese Schaltung als NOT gate (Nicht-Gatter) bezeichnet, da sie immer das Gegenteil ausgibt oder anders gesagt den Eingang «negiert».
⚙️ Anwendung: Mit einem NOT gate kann die Kühlschrankbeleuchtung geregelt werden. Ist die Kühlschranktüre zu, wird der Türschalter aktiviert (ist ein
). Dadurch wird das Licht im Kühlschrankinneren ausgeschaltet (ist aus
). Wird die Tür geöffnet, ist der Türschalter aus
und die Lampe im Inneren fängt an zu leuchten (ist ein
).
💡 Die Zustände der Ein- und Ausgänge lassen sich auf viele Arten beschreiben, z.B. wie folgt:
Zustand | Zahl | Wahrheitswert |
---|---|---|
ein | 1 | wahr / true |
aus | 0 | falsch / false |
Die Zuordung true
und false
(zu Deuscht: «wahr» und «falsch») wird in der Logik und im Programmieren gebraucht.
e
, welcher Ausgang a
gehört, wobei 0
für aus
und 1
für ein
stehen. Fülle die nachfolgende Wahrheitstabelle zum NOT gate aus. Loading ⌛
🤔 Was hat das mit «Logik» zu tun? Die Aussage „4 ist eine gerade Zahl“ ist wahr (d.h. true
oder 1
). Das Gegenteil davon (die Negation) muss daher falsch sein (d.h. false
oder 0
): „4 ist keine gerade Zahl“. Die Aussage „4 ist durch 3 teilbar“ ist falsch. Das Gegenteil davon muss daher wahr sein: „4 ist nicht durch 3 teilbar“. Genau das beschreibt die Wahrheitstabelle.
Unten stehend siehst du ein interaktives AND gate (erkennbar am Symbol &
). Das AND gate hat zwei Eingänge e0
und e1
und einen Ausgang a
. Der Ausgang a
ist nur dann ein
wenn beide Eingänge e0
und e1
gleichzeitig ein
sind. Probiere es aus!
Loading ⌛
⚙️ Anwendung: Mit einem AND gate kann das sichere Einschalten einer Waschmaschine garantiert werden. Einer der beiden AND-Eingänge ist ein Türschalter, der nur dann ein
ist, wenn die Türe geschlossen ist. Der andere Eingang ist der Start-Knopf der Waschmaschine. Nur wenn beide Eingänge ein
sind, wird die Waschmaschine gestartet (Ausgang ein
), ansonsten startet die Waschmaschine nicht (Ausgang aus
).
🤔 Was hat das mit «Logik» zu tun? Betrachte folgenden Satz: „Wenn es regnet und ich rausgehe, dann werde ich nass.“ Die Schlussfolgerung „ich werde nass“ ist nur dann wahr (d.h. true
oder 1
) wenn die Aussage „es regnet“ und gleichzetig die Aussage „ich gehe raus“ wahr (d.h. true
oder 1
) sind. Ist mindestens eine dieser beiden Aussagen falsch (d.h. false
oder 0
), dann ist auch die Schlussfolgerung falsch (d.h. false
oder 0
). Genau das beschreibt die Wahrheitstabelle.
Unten stehend siehst du ein interaktives OR gate (erkennbar am Symbol ≥1
). Das OR gate hat zwei Eingänge e0
und e1
und einen Ausgang a
. Der Ausgang a
ist nur dann aus
wenn beide Eingänge e0
und e1
gleichzeitig aus
sind. Probiere es aus!
Loading ⌛
⚙️ Anwendung: Mit einem OR gate kann ein Ventilator wahlweise automatisch oder manuell eingeschaltet werden. Einer der beiden OR-Eingänge ist ein Temperatursensor, der nur dann ein
ist, wenn die Temperatur einen gewissen Wert übersteigt. Der andere Eingang ist der Start-Knopf des Ventilators. Sobald einer der beiden Eingänge ein
ist (oder beide ein
sind), wird der Ventilator gestartet (Ausgang ein
). Nur wenn beide Eingänge aus
sind, stoppt der Ventilator (Ausgang aus
).
🤩 Kapitel für Schnelle oder Interessierte
💡 In diesem Kapitel erfährst du, wie aus Transistoren Logikgatter gebaut werden können. Dazu erweitern wir die Benennung der Transistor-Zustände um +
und -
.
Zustand | Zahl | Wahrheitswert | Ladung |
---|---|---|---|
ein | 1 | wahr / true | + |
aus | 0 | falsch / false | - |
e | a |
---|---|
0 | 1 |
1 | 0 |
Wie kann ein NOT gate aus Transistoren gebaut werden? In Abb.1 ist zweimal der Bauplan eines NOT gates abgebildet. Der Eingang e
entspricht dabei dem Gate G
des Transistors.
⚠️ Zur Physik: Elektronen sind negativ geladen und stossen einander ab. Elektronen wandern vom Minuspol einer Stromquelle (dort hat es Elektronenüberschuss) zum Pluspol einer Stromquelle (dort hat es Elektronenmangel).
In der Abbildung links liegt eine positive Ladung +
am Eingang e
an. Der Transistor leitet und Elektronen fliessen vom negativ-geladenen Anschluss der Stromquelle (blaue horizontale Linie unten) zum positiv-geladenen Anschluss der Stromquelle (rote horizontale Linie oben). Dabei müssen die Elektronen auch durch den Widerstand R
hindurch. Da jedoch nur wenige Elektronen gleichzeitig durch R
durchfliessen können, stauen sich die Elektronen vor dem Widerstand (ähnlich wie Autos vor dem Gotthard-Tunnel). Da Elektronen negativ geladen sind, bewirkt der Elektronenstau, dass eine negative Ladung -
am Ausgang a
entsteht.
In der Abbildung rechts liegt eine negative Ladung -
am Eingang e
an. Der Transistor sperrt, es können keine neuen Elektronen durch den Transistor nachkommen. Daher fliesen alle vorhandenen Elektronen durch den Widerstand R
zum positiv-geladenen Anschluss ab. Das Resultat ist ein Elektronenmangel vor dem Widerstand R
. Der Elektronenmangel bewirkt, dass der Ausgang a
eine positive Ladung +
annimmt.
e1 | e0 | a |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
Wie kann ein AND gate aus Transistoren gebaut werden? In Abb.2 ist zweimal ein Bauplan abgebildet. Zwei Transistoren sind «aneinander gehängt» (in Serie geschaltet). Die beiden Gates G
stellen die beiden Eingänge e0
und e1
dar. Wenn beide Eingänge +
sind, dann ist der Ausgang -
(linke Abbildung). In allen anderen Fällen ist der Ausgang +
(rechte Abbildung).
⚠️ Das ist aber genau das Gegenteil der AND-Wahrheitstabelle! Daher wird das Logikgatter in Abb.2 als NAND gate (Nicht-Und-Gatter) bezeichnet. Um ein echtes AND gate zu erhalten, wird einfach an den Ausgang a
des NAND gates ein NOT gate angehängt. Dies ist in Abb.3 dargestellt.
e0
positiv +
und e1
negativ -
, dann ist a
positiv +
. Wenn e0
negativ -
und e1
negativ -
, dann ist a
positiv +
. Erkläre im unten stehenden Textfeld warum das so ist. Loading ⌛ Antwortzugang e1 | e0 | a |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
Wie kann ein OR gate aus Transistoren gebaut werden? In Abb.4 ist zweimal ein Bauplan abgebildet. Zwei Transistoren sind so geschaltet, dass es zwei verschiedene Wege vom negativ-geladenen Anschluss der Stromquelle zum positiv-geladenen Anschluss der Stromquelle gibt (parallel geschaltet). Die beiden Gates G
stellen die beiden Eingänge e0
und e1
dar. Wenn beide Eingänge -
sind, dann ist der Ausgang +
(linke Abbildung). In allen anderen Fällen ist der Ausgang -
(rechte Abbildung).
⚠️ Das ist aber genau das Gegenteil der OR-Wahrheitstabelle! Daher wird das Logikgatter in Abb.4 als NOR gate (Nicht-Oder-Gatter) bezeichnet. Um ein echtes OR gate zu erhalten, wird einfach an den Ausgang a
des NOR gates ein NOT gate angehängt. Dies ist in Abb.5 dargestellt.
e0
negativ -
und e1
positiv +
, dann ist a
negativ -
. Wenn e0
positiv +
und e1
positiv +
, dann ist a
negativ -
. Erkläre im unten stehenden Textfeld warum das so ist. Loading ⌛ Antwortzugang Bereits aus den bis hierhin kennengelernten Logik-Gattern lässt sich Addierer für zwei beliebig lange Binärzahlen bauen. Wir beginnen dabei mit einem einfachen Addierer, welcher zwei einzelne Bit addieren kann (der sogenannte «Halbaddierer») und betrachten danach komplexere Addierer bis hin zum Addierwerk. Für Interessierte und Schnelle gibt es am Ende noch einen Einblick in die arithmetische-logische Einheit, ein umfassenderes Rechenwerk, dass alle Grundrechenoperationen beherrscht und Zahlen vergleichen kann.
Unten stehend siehst du einen interaktiven Halbaddierer (erkennbar am Symbol HA
). Der Halbaddierer addiert zwei einzlene Bits x
und y
zu einer zweistelligen Binärzahl bestehend aus den beiden Stellen s
und c
. Wenn x
den Wert 1
und y
den Wert 1
haben, so wird die zweistellige Binärzahl cs
zu 10
. Probiere es aus!
Loading ⌛
💡 Beim schriftlichen Addieren zweier Zahlen werden die aktuellen Stellen der zu addierenden Zahlen und ein allfälliger Übertrag miteinander addiert. Der Halbaddierer kann zwei Stellen x
und y
addieren, er hat aber keinen Eingang für einen Übertrag und kann somit keinen Übertrag einbeziehen. Daher der Name «Halb». Der Ausgang des Halbaddierers beinhaltet jedoch einen Übertrag für allfällige weitere Additionen. Der Ausgang s
bezeichnet die aktuelle Stelle der Addition, der Ausgang c
bezeichnet den Übertrag (engl. carry).
Loading ⌛
Unten stehend siehst du einen interaktiven Volladdierer (erkennbar am Symbol VA
). Der Volladdierer addiert drei einzlene Bits x
, y
und c
zu einer zweistelligen Binärzahl bestehend aus den beiden Stellen s
und c
. Wenn x
, y
und c
alle den Wert 1
haben, so wird die zweistellige Binärzahl cs
zu 11
. Probiere es aus!
Loading ⌛
💡 Beim schriftlichen Addieren zweier Zahlen werden die aktuellen Stellen der zu addierenden Zahlen und ein allfälliger Übertrag miteinander addiert. Der Volladdierer kann im Gegensatz zum Halbaddierer zwei Stellen x
und y
und einen Übertrag c
addieren. Daher der Name «Voll». Der Ausgang s
des Volladdierers bezeichnet die aktuelle Stelle der Addition, der Ausgang c
bezeichnet den Übertrag (engl. carry).
Ein Volladdierer kann mit zwei Halbaddierern und einem OR gate realisiert werden. Loading ⌛ Werden die Halbaddierer durch die NOT, AND und OR gates ersetzt, aus welchen sie bestehen, dann ergibt sich folgende Schaltung. Loading ⌛
Das Ziel besteht darin, folgende schriftliche Addition zweier dreistelliger Binärzahlen x
und y
, bestehend aus den drei Stellen x₂
x₁
x₀
und y₂
y₁
y₀
, zur vierstelligen Binärzahl s
, bestehend aus den vier Stellen s₃
s₂
s₁
s₀
, gemäss folgender Beispielrechnung zu addieren.
Stelle | 3 | 2 | 1 | 0 |
---|---|---|---|---|
Binärzahl x , d.h. x₂ x₁ x₀ | 1 | 1 | 1 |
|
+ Binärzahl y , d.h. y₂ y₁ y₀ | 0 | 1 | 1 |
|
+ Übertrag c | 1 | 1 | 1 | |
= Summe s , d.h. s₃ s₂ s₁ s₀ | 1 | 0 | 1 | 0 |
Die nachfolgende Simulation vermag genau dies zu tun. Dabei werden in der Simulation immer die entsprechenden Stellen zusammengenommen, d.h. die Reihenfolge in der Simulation ist von oben nach unten x₀
y₀
x₁
y₁
x₂
y₂
.
Loading ⌛
Variante mit zusätzlicher Visualisierung der Eingänge
Um die Stelle s₀
auszurechnen, genügt es die beiden Bit x₀
und y₀
zu addieren. Wir haben hier noch keinen Übertrag aus einer anderen Rechnung zu berücksichtigen. Daher genügt ein Halbaddierer um s₀
zu berechnen. Diese Rechnung selber kann jedoch in einen Übertrag c
resultieren, welcher der Halbaddierer ebenfalls ausgibt.
Um die Stelle s₁
zu berechnen müssen die beiden Bit x₁
und y₁
und der Übertrag c
aus der s₀
-Berechnung addiert werden. Hierfür muss ein Volladdierer verwendet werden. Auch dieser gibt einen Übertrag c
für die nächste Berechnung aus.
Die Stelle s₂
berechnet sich per Volladdierer aus x₂
, y₂
und dem c
aus der s₁
-Berechnung und resultiert ebenso in einem weiteren c
.
Obwohl nun alle drei Stellen beider Zahlen x und y verrechnet wurden, muss noch der Übertrag c
aus der s₂
-Berechnung berücksichtigt werden. Dafür wird dieses c
einfach als s₃
, d.h. als vierte Stelle der Zahl s
ausgegeben.
Loading ⌛
🤩 Kapitel für Schnelle oder Interessierte
Die arithmetisch-logischen Einheit (ALU) ist ein Rechenwerk, welche nicht nur addieren, sondern auch subtrahieren, multiplizieren, dividieren, zwei Zahlen vergleichen und logische Operationen wie AND, OR, NOT anwenden kann. Sie ist aus mehreren Addierern und Logikgattern aufgebaut.
Für die Subtraktion wird die abzuziehende Zahl in die binäre Entsprechung einer negativen Zahl, das Zweierkomplement, verwandelt und zu der ersten Zahl hinzu addiert (für Detail siehe Rechnen mit dem Zweierkomplement). Wie beim schriftlichen Multiplizieren und Dividieren von Dezimalzahlen kann auch das Multiplizieren und Dividieren auf das Addieren und Subtrahieren von Zahlen zurückgeführt werden. Somit sind die vier Grundoperationen mit einem Addierer umsetzbar.
Es können nicht nur ganze Zahlen verrechnet werden, sondern auch Gleitkommazahlen. Um eine Gleitkommazahl binär darstellen zu können, wird diese in Exponentialschreibweise geschrieben und das Vorzeichnen mit einem Bit, der Exponent mit einer vorher definierten Anzahl Bit und die Mantisse mit einer vorher definierten Anzahl Bit so genau als möglich dargestellt (für Details siehe Gleitkommadarstellung / Gleitkommazahlen und Umrechnen einer Gleitkommazahl in die Gleitkommadarstellung). Aufgrund der vorgegebenen endlichen Anzahl Bit ergibt sich eine eingeschränkte Genauigkeit der Darstellung von Gleitkommazahlen. Somit können beim binären Verrechnen von Gleitkommazahlen Fehler entstehen.