Letztens haben wir uns angeschaut, wie das binäre Zahlensystem funktioniert. Dieses bildet ja die Grundlage für jegliche Aktion, die ein Computer durchführen kann. In diesem und den folgenden Artikeln möchte ich daher erläutern, wie ein Computer ganz konkret mit Binärzahlen rechnen kann. Um das zu klären, muss man jedoch erst einmal ziemlich weit ausholen und bei den Grundlagen, die nicht einmal mehr in der Informatik liegen, anfangen – der Physik (konkret: der E-Lehre).
Vorneweg noch eine kurze Erklärung, warum dieser große thematische Umweg nötig ist:
Ganz allgemein gesagt basiert das Rechnen im Computer auf der Anwendung von logischen Operationen auf Bitketten. Diese logischen Operationen aber können ziemlich clever mit einfachsten elektronischen Bauelementen umgesetzt werden. Und wie das funktioniert, erkläre ich hier.
Die Grundlage für das Rechnen mit Bits bildet der Transistor. An dieses Bauelement erinnern sich die meisten sicherlich noch aus ihrer Schulzeit. Die ganzen komplizierten Details zu Aufbau, Funktionsweise und den verschiedenen Transistor-Arten sind hier gar nicht wichtig; es reicht, sich folgendes wieder ins Gedächtnis zu rufen:
Der Transistor ist ein Bauelement mit zumeist drei Anschlüssen. Je nach Transistortyp können diese Emitter, Kollektor und Basis oder Gate, Source und Drain heißen. Ganz kurz (und physikalisch sicher bedenklich) ausgedrückt, kann ein Transistor als Schalter benutzt werden. Das geschieht, indem an die Source-Drain-Anschlüsse Strom (bzw. Spannung) angelegt wird. Ob der Strom fließt, kann über einen weiteren (sehr schwachen) Steuerstrom am Gate-Anschluss beeinflusst werden.
Vereinfacht gesagt: liegt am Gate ein Steuerstrom an, so fließt ein Strom von Source zu Drain (oder andersherum, je nach Transistortyp). Daneben gibt es Transistoren, bei denen es möglich ist, dass Strom nur dann fließt, wenn am Gate kein Steuerstrom anliegt. All die Variationen bedeuten am Ende: über den Steuer-Anschluss (Base/Gate) lässt sich ein Strom zwischen den anderen beiden Anschlüssen an- und abschalten – der Transistor dient demzufolge als elektrischer Schalter.
Eine insbesondere für die Digitaltechnik wichtige Art von Transistoren sind die sogenannten Feldeffekttransistoren (FETs), und zwar hier insbesondere eine Unterart, die Metall-Oxid-Halbleiter-FETs (MOSFETs). Die physikalischen Details spielen hier keine allzu große Rolle, wichtig ist das Folgende: es werden zwei verschiedene Arten von MOSFETs unterschieden: p-Kanal und n-Kanal-Transistoren. Ein n-Kanal-MOSFET leitet den Strom zwischen Source und Drain dann, wenn am Gate gegenüber Source eine genügend große Spannung anliegt, ein p-Kanal-MOSFET leitet, wenn gegenüber Source eine genügend kleine Spannung anliegt. In der Standardvariante sperren beide Transistoren, wenn die Gate-Source-Spannung nahe 0 ist. Der Strom zwischen Source und Drain wird Versorgungsstrom (die Spannung entsprechend Versorgungsspannung), der Strom am Gate Steuerstrom (die Spannung analog dann Steuerspannung) genannt. Die üblichen Schaltsymbole für MOSFETs sind sicher noch bekannt:
MOSFETs werden in der Regel im Zusammenhang mit der CMOS-Technologie verwendet. Hinter diesem Namen verbirgt sich allgemein gesagt das Vorgehen, dass in einer Schaltung n-Kanal- und p-Kanal-MOSFETs gleichzeitig benutzt werden. Ein typisches Anwendungsszenario hierfür ist der sogenannte Inverter, der aus einem p-Kanal- und einem n-Kanal-MOSFET besteht (siehe folgendes Bild). Liegt am Eingang A eine niedrige Spannung an, so leitet der obere Transistor und der untere sperrt. Ausgang B ist demzufolge mit der Versorgungsspannung verbunden, er hat hohes Potential. Liegt an A dagegen eine hohe Spannung an, ist es genau umgekehrt und B ist mit der Masse verbunden, hat also niedriges Potential.
Wie hilft uns das nun aber für die Computer? Ganz einfach: die Begriffe “hohes Potential” und “niedriges Potential” können auch ganz binär mit “1” und “0” bezeichnet werden. Liegt an einem Eingang eine hohe Spannung an, so sagt man, dass “1” anliegt; liegt eine niedrige Spannung an, spricht man dementsprechend von “0”. Damit lassen sich nun die verschiedensten logischen Operationen umsetzen; hier noch einmal zur Erinnerung die Wertetabellen für einige ausgewählte Operationen:
Die Schaltung für die Invertierung (erste Tabelle) haben wir ja oben schon gesehen. Eine derartige Schaltung wird auch Gatter genannt, oben ist also ein Inverter-Gatter abgebildet.
Die UND-Operation (zweite Tabelle, auch AND genannt) lässt sich auf die gleiche Weise darstellen, ist nur ein wenig komplizierter. Zuerst das Schaltbild des AND-Gatters:
Kommentare (29)