Galileo Computing < openbook >
Galileo Computing - Professionelle Buecher. Auch fuer Einsteiger.
Galileo Computing - Professionelle Buecher. Auch fuer Einsteiger.


Kompendium der Informationstechnik
 von Sascha Kersken
EDV-Grundlagen, Programmierung, Mediengestaltung
Buch: Kompendium der Informationstechnik
gp Kapitel 2 Mathematische und technische Grundlagen
  gp 2.1 Einführung in die Logik
    gp 2.1.1 Aussagen
    gp 2.1.2 Aussageformen
    gp 2.1.3 Logische Verknüpfungen
    gp 2.1.4 Mengenoperationen
  gp 2.2 Informationsspeicherung im Computer
    gp 2.2.1 Bits und Bytes
  gp 2.3 Elektronische Grundlagen
    gp 2.3.1 Einfache Schaltungen
    gp 2.3.2 Zusammengesetzte Schaltungen
  gp 2.4 Automatentheorien und -simulationen
    gp 2.4.1 Algorithmen
    gp 2.4.2 Die Turing-Maschine
    gp 2.4.3 Der virtuelle Prozessor
  gp 2.5 Zusammenfassung

gp

Prüfungsfragen zu diesem Kapitel (extern)


Galileo Computing

2.3 Elektronische Grundlagen  downtop

Die bisher in diesem Kapitel besprochenen mathematischen und logischen Funktionen werden in einem realen Computer durch elektronische Schaltungen realisiert. Das Kernstück von Logikschaltkreisen ist naturgemäß irgendeine Art von Schalter, der aber nicht von einem Menschen betätigt wird, sondern durch einen Steuerstrom. Wie im vorigen Kapitel dargelegt, wurden dazu in der Frühzeit der Computergeschichte elektromagnetische Relais verwendet, später Elektronenröhren und schließlich Transistoren – auch bei modernen integrierten Schaltkreisen handelt es sich um Transistortechnik, die einfach nur auf Mikrometergröße verkleinert wurde. Ein moderner Mikroprozessor besteht aus einigen Millionen Transistoren.

Wie ebenfalls bereits erwähnt, heißt das Fachgebiet der Informatik, zu dem der Umgang mit elektronischen Schaltungen gehört, technische Informatik. Da es sich um die technische Umsetzung der booleschen Algebra handelt, wird sie auch als Schaltalgebra bezeichnet.


Galileo Computing

2.3.1 Einfache Schaltungen  downtop

Die grundlegenden Funktionen, die im Computer stattfinden, lassen sich sehr leicht als elektrische Schaltpläne darstellen. Die beiden einfachsten Schaltungen, die man sich vorstellen kann und die sich beispielhaft durch einfaches Elektrozubehör realisieren lassen, sind die Und- und die Oder-Schaltung: Um diese Elemente isoliert (ohne vollständigen Rechner) zu bauen, benötigt man lediglich eine Batterie, eine Glühlampe, zwei Schalter und Draht.

Grundbausteine mit einfachen Schaltern

Die Und-Schaltung lässt sich durch Reihenschaltung der beiden Schalter realisieren. Die Schalter entsprechen dabei den beiden Werten, die miteinander verknüpft werden sollen. Ein geöffneter Schalter steht für 0, ein geschlossener bedeutet 1. Die Lampe zeigt das Ergebnis an: Bei einer Reihenschaltung leuchtet sie natürlich nur dann, wenn beide Schalter geschlossen sind. Abbildung 2.2 zeigt den Aufbau dieser Schaltung.


Abbildung 2.2   Logisches Und durch einfache Schalter

Abbildung
Hier klicken, um das Bild zu Vergrößern


Wenn Sie die beiden Schalter dagegen parallel zueinander setzen, erhalten Sie eine Oder-Schaltung: Es genügt, dass einer der beiden Schalter geschlossen ist, um die Lampe zum Leuchten zu bringen (siehe Abblildung 2.3).


Abbildung 2.3   Logisches Oder durch einfache Schalter

Abbildung
Hier klicken, um das Bild zu Vergrößern


In der Praxis werden die Schalter natürlich durch Transistoren ersetzt; statt der Glühlampe führt der Ausgang einer solchen Schaltung zur nächsten, um auf diese Weise komplexere logische Schaltkreise zu realisieren.

Der Transistor

Ein Transistor besitzt drei Anschlüsse: einen Stromeingang (Source), einen Stromausgang (Drain) und einen Steuerungseingang (Gate). Es fließt nur Strom zwischen Source und Drain, wenn eine Steuerspannung zwischen Source und Gate anliegt, sodass sich der Transistor als Schalter betrachten lässt, der durch eine Steuerspannung ein- und ausgeschaltet wird. Eine sinnvolle Anwendung ist die NOT-Schaltung, die den Eingangswert verneint. Sie wird realisiert, indem der Transistor mit einem Widerstand gekoppelt wird, wie in Abbildung 2.4 gezeigt.


Abbildung 2.4   NOT-Schaltung durch Transistor und Widerstand

Abbildung
Hier klicken, um das Bild zu Vergrößern


Die einfachsten Schaltungen, die sich jeweils mit Hilfe von zwei Transistoren und einem Widerstand realisieren lassen, sind die NAND- und die NOR-Schaltung. Es handelt sich um die Umkehrungen der Und- beziehungsweise Oder-Schaltungen: NAND realisiert die Schaltfunktion nicht (A und B) oder nichtA oder nichtB, bei der die folgende Wertetabelle entsteht:


Tabelle 2.15   Wertetabelle der NAND-Schaltung

NAND 0 1
0 1 1
1 1 0

NOR stellt dagegen die Schaltfunktion nicht (A oder B) beziehungsweise nichtA und nichtB dar, für die die folgende Wertebelegung gilt:


Tabelle 2.16   Wertetabelle der NOR-Schaltung

NOR 0 1
0 1 0
1 0 0

Abbildung 2.5 zeigt, wie die NAND- und die NOR-Schaltung durch zwei Transistoren und einen Widerstand realisiert werden.


Abbildung 2.5   NAND- und NOR-Schaltung durch je zwei Transistoren und einen Widerstand

Abbildung
Hier klicken, um das Bild zu Vergrößern


AND- und OR-Schaltung

Durch Kombination mit der weiter oben gezeigten NOT-Schaltung lassen sich diese Schaltungen zu den bekannten AND- und OR-Funktionen ausbauen.


Abbildung 2.6   Gattersymbole der Logikschaltungen: oben die aktuelle DIN-Norm, unten die traditionellen Symbole

Abbildung
Hier klicken, um das Bild zu Vergrößern


Für die bisher dargestellten Schaltungen gelten die vereinfachenden Symbole in Abbildung 2.6, weil sich auf diese Weise komplexere Gefüge aus solchen Schaltungen übersichtlich darstellen lassen. In diesem Zusammenhang werden die grundlegenden Schaltungen wie AND und OR als Gatter (gates) bezeichnet.

Die Negation eines Wertes wird übrigens in der Regel nicht durch ein vollständiges NOT-Symbol dargestellt, sondern durch den kleinen Kreis, der auch bei den Symbolen für NAND und NOR zu finden ist. Genau wie bei diesen Schaltungen der Ausgang negiert wird, wird bei anderen ein Eingang negiert, das heißt, ein NOT-Gatter wird vor einen der beiden Eingänge eines anderen Elements gesetzt. Beachten Sie, dass die tatsächliche technische Realisation von Schaltungen nicht mit der schematischen Darstellung übereinstimmen muss. Wie Sie weiter oben gesehen haben, werden beispielsweise nicht etwa NAND und NOR durch Verneinung von AND und OR gebaut, sondern in Wirklichkeit ist es gerade umgekehrt. Im Übrigen gibt es gerade für komplexere Verknüpfungen von Schaltungen oft eine Reihe äquivalenter Lösungen.

Die XOR-Schaltung (Exklusiv-Oder), die beispielsweise für den weiter unten besprochenen Halbaddierer benötigt wird, ist ein wenig komplexer zu realisieren. Sie besteht beispielsweise aus zwei AND-Gattern mit je einem negierten Eingang, auf die dieselben eingehenden Spannungen verteilt werden. Die Ausgänge der beiden AND-Gatter werden wiederum durch ein OR-Gatter verknüpft.


Galileo Computing

2.3.2 Zusammengesetzte Schaltungen  toptop

Ein Beispiel für die Verknüpfung mehrerer einfacher Gatter ist der Multiplexer. Er implementiert eine einfache Wenn-dann-Beziehung: Wenn der Steuereingang c mit einer Spannung belegt ist (Wert 1), wird der Wert des Eingangs x durchgeschaltet, andernfalls der Wert des Eingangs y. Abbildung 2.7 zeigt den schematischen Aufbau des Multiplexers, daneben sein Schaltsymbol. Die schrittweise Zusammenfassung immer komplexerer Schaltungen durch neue Symbole ist eine wichtige Voraussetzung für die effiziente Arbeit bei der Entwicklung elektronischer Bauteile.


Abbildung 2.7   Aufbau eines Multiplexers

Abbildung
Hier klicken, um das Bild zu Vergrößern


Addierer

Ein weiteres interessantes Bauteil ist der Halbaddierer. Dieser Name leitet sich aus der Tatsache her, dass die Schaltung zwar einen Übertrag berechnet, wenn beide Eingangswerte 1 sind, aber nicht in der Lage ist, den Übertrag eines vorgeschalteten Addierers entgegenzunehmen. Diese Fähigkeit besitzt nur der komplexere, weiter unten dargestellte Volladdierer. Beim Halbaddierer werden die Werte der beiden Eingänge x und y addiert. Der Ausgang s (sum, also Summe) liefert das einstellige Ergebnis der Addition, das der Verknüpfung x XOR y entspricht, während c (carry, der Übertrag) den Wert 1 für die nächste Stelle liefert, wenn x und y 1 sind. Die Funktion, die zum Ergebnis von c führt, ist demzufolge x und y. Abbildung 2.8 zeigt den Aufbau des Halbaddierers und sein Schaltsymbol.


Abbildung 2.8   Aufbau eines Halbaddierers

Abbildung
Hier klicken, um das Bild zu Vergrößern


Der Volladdierer enthält zwei Halbaddierer. Die einstellige Summe setzt sich aus der Summe der beiden eigentlichen Summanden x und y und aus dem hereinkommenden Übertrag ci (Carry-In) zusammen. Der ausgehende Übertrag co (Carry-Out) wird durch die Oder-Verknüpfung der beiden Summen gebildet. In Abbildung 2.9 sehen Sie den Aufbau des Volladdierers und sein Schaltsymbol.


Abbildung 2.9   Aufbau eines Volladdierer

Abbildung
Hier klicken, um das Bild zu Vergrößern


Aus einer Reihe dieser 1-Bit-Volladdierer lässt sich ein n-Bit-Addierwerk realisieren. Der Übertrag eines dieser Addierer wird dabei jeweils in den nächsten übertragen. Beachten Sie, dass der Baustein ganz rechts ein Halbaddierer ist, weil die kleinste Stelle natürlich kein Carry-In zu verarbeiten hat. Wenn Sie sämtliche s-Ausgänge von links nach rechts lesen, erhalten Sie das duale Rechenergebnis; ganz links kommt zusätzlich das Carry-Out der höchsten Stelle heraus. In Abbildung 2.10 sehen Sie beispielsweise einen 4-Bit-Addierer, mit dem sich zwei Werte von 0000 bis 1111 (0 bis 15) addieren lassen.


Abbildung 2.10   Aufbau eines 4-Bit-Addierwerks

Abbildung
Hier klicken, um das Bild zu Vergrößern


Speicherbausteine

Die bisher untersuchten komplexen Schaltungen sind in der Lage, verschiedene Operationen durchzuführen. Eine andere Art von Bausteinen dient dagegen nicht als Rechenwerkzeug, sondern als Speicher, bei dem ein einmal gesetzter Wert dauerhaft vorgehalten wird. Erreicht wird dies durch verschiedene Arten der Rückkopplung: Ein Ausgang einer Schaltung wird mit einem Eingang verbunden, um einen einmal eingegebenen Wert immer wieder in die Schaltung zurückzuschreiben.

Das Flip-Flop

Der wichtigste Grundbaustein zur Realisierung von Speichern ist das Flip-Flop. Der Name dieses Bausteins beschreibt die beiden verschiedenen Zustände, die er einnehmen und dauerhaft halten kann. Die bekannteste Art des Flip-Flops ist das RS-Flip-Flop (für Set und Reset). Es handelt sich um zwei NOR-Gatter, die über je einen freien Eingang (r und s genannt) verfügen. Die beiden anderen Eingänge der NOR-Gatter werden mit den Ausgängen des jeweils anderen Gatters verbunden. In Abbildung 2.11 sehen Sie die Schaltzeichnung des RS-Flip-Flops sowie – wie immer – sein vereinfachtes Schaltsymbol zur weiteren Verwendung.


Abbildung 2.11   Aufbau eines RS-Flip-Flops

Abbildung
Hier klicken, um das Bild zu Vergrößern


Der schaltlogisch interessante Ausgang des RS-Flip-Flops ist q: Wenn über s (Set) auch nur kurzzeitig der Wert 1 übergeben wird, liefert q diese 1 dauerhaft. Wird dagegen r (Reset) mit einer 1 belegt, dann wird q zurückgesetzt und liefert auf Dauer eine 0. Auf diese Weise dient das RS-Flip-Flop als wichtigste Komponente von Speicherbausteinen; es handelt sich um einen 1-Bit-Speicher.

Die Speicherzelle

Um vollständige Speicherbausteine zu realisieren, müssen außerhalb des RS-Flip-Flops noch einige weitere Schaltelemente hinzugefügt werden, die dazu dienen, den Eingabewert aus einer einzelnen Leitung als Wert zu interpretieren, der in der Speicherzelle abgelegt werden soll. Dazu muss ein Schalter verwendet werden, der bestimmt, dass das aktuelle Signal des Eingangs im RS-Flip-Flop gespeichert werden soll. Außerdem muss je nach zu speicherndem Wert zwischen dem Eingang s und dem Eingang r gewählt werden: Eine 1 kann einfach an die Leitung s durchgeschaltet werden, eine 0 bedeutet dagegen, dass eine 1 auf r eingegeben werden soll – der Wert muss nach Auswahl von r zusätzlich negiert werden.

Abbildung 2.12 zeigt den Aufbau einer Speicherzelle, die die beschriebene Funktionalität zur Verfügung stellt, sowie ihr Schaltsymbol. Wenn auf SELECT eine 1 eingegeben wird, kann über den mit Q AND-verknüpften Ausgang OUT der aktuelle Wert gelesen werden. Dieser Mechanismus dient in einem großen Gefüge von Speicherzellen der Adressierung, das heißt der Auswahl einer bestimmten Speicherzelle oder einer Gruppe von Speicherzellen. Werden SELECT=1 und WRITE=1 gesetzt, wird der an INPUT anliegende Wert auf die beschriebene Weise im Flip-Flop abgelegt.


Abbildung 2.12   Aufbau einer Speicherzelle

Abbildung
Hier klicken, um das Bild zu Vergrößern


Mehrere Speicherzellen lassen sich zu einem Register zusammenschließen. Dazu werden die SELECT- und WRITE-Eingänge aller beteiligten Zellen zusammengeschlossen, da stets das gesamte Register auf einmal gelesen oder geschrieben wird. Auf diese Weise werden die Rechenregister im Mikroprozessor realisiert, aber auch die adressierbaren Speicherblöcke im Arbeitsspeicher (RAM). Abbildung 2.13 zeigt ein Beispiel eines Vier-Bit-Registers. In der Praxis sind die meisten heutigen Register 32 oder gar 64 Bit breit, funktionieren aber nach demselben Prinzip.


Abbildung 2.13   Aufbau eines 4-Bit-Registers

Abbildung
Hier klicken, um das Bild zu Vergrößern


  

Einstieg in PHP 5

Einstieg in Java

C von A bis Z

Einstieg in C++

Einstieg in Linux

Einstieg in XML

Apache 2




Copyright © Galileo Press GmbH 2004
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de