Skip to content

Wir haben im letzten Thema die Bestandteile eines Prozessors, so wie deren Aufgaben bei der Abarbeitung von Programmen kennengelernt.

Nun schauen wir noch einen Schritt tiefer in die elektronischen Komponenten eines Computers hinein und beschäftigen uns dabei mit logischen Schaltungen.

Wir schauen uns dazu zuerst kurz an, was logische Schaltungen überhaupt sind und wie man diese beschreiben kann. Danach lernst du, selbst kleine Schaltungen zu entwerfen.

Abschliessen werden wir das Kapitel mit dem Design einer Halbaddierer-Schaltung. Diese Schaltungen stecken in modernen Prozessoren und sind für die einfache mathematische Operation der Addition von Zahlen zuständig.

1. Schaltungen

Wie du weisst kann ein Computer grundsätzlich nur mit 2 Zuständen umgehen: 0/1. Im Computer werden diese zwei Zustände physikalisch als Strom (1)/kein Strom (0) abgebildet. 💡
Digitale Schaltungen bilden den Grundbaustein für sämtliche Logik in Computern ![[Pasted image 20250805111819.png]]

Schaltungen aus der echten Welt sind leider oft zu komplex, um Sie im Detail anschauen zu können. Wir schauen uns darum für die Übungen vorerst abstrakte Beispiele an.

Eine Schaltung besteht aus einer Verknüpfung der folgenden Dinge:

  • Eingänge (einfache Vorstellung=Kabel mit/ohne Strom)
  • Ausgänge (einfache Vorstellung=Lampen leuchten oder nicht)
  • Kabel
  • Logische Operatoren, die die Funktion der Schaltung bestimmten

Schaltungen werden immer für einen spezifischen Zweck entworfen. Ein sehr einfaches Beispiel zur Veranschaulichung ausserhalb des Computers wäre das Licht in einem Raum. Wenn Strom fliesst (Schalter ist an, Zustand 1) sollen eine oder mehrere Lampen angehen, sonst nicht.

Schaltungen im Computer sind weitaus komplexer und haben viele Schalter (Eingänge) und Lampen die leuchten sollen oder nicht (Ausgänge).

Merke: Eine digitale Schaltung hat also einen oder mehrere Ein- und Ausgänge. Die Ein- und Ausgänge haben zu jedem Zeitpunkt den Wert 0 (kein Strom) oder 1 (Strom).

Die folgende Schaltung hat zwei Eingänge (A und B) sowie zwei Ausgänge (X und Y):
![[Pasted image 20250805085720.png]]

Die Schaltung (in der roten Box) besteht nun aus einer Reihe von logischen Operatoren, welche die Funktion der Schaltung ausmachen. Mit Funktion meinen wir hier, welche Kombination von 0/1bei den Eingängen A und B welche Kombunation bei den Augängen X und Y ergibt.

Beispiel:

Eingabe: A=0, B= 1
Ausgabe: Y=1, y=0

2. Wahrheitstabellen

ABY
000
011
101
111

Bevor wir uns nun die genaue Funktionsweise von Schaltungen anschauen wollen wir Wahrheitstabellen als Methode zur Beschreibung von Schaltungen kennen lernen.

Jede digitale Schaltung kann durch eine Wahrheitstabelle beschrieben werden. In der Wahrheitstabelle werden für alle möglichen Eingabekombinationen die entsprechenden Ausgabewerte festgehalten.

Die Schaltung, welche in der oben stehenden Tabelle beschrieben wird hat zwei Eingänge (A und B) und einen Ausgang (Y). Überlege dir kurz, was du anhand der Tabelle über diese Schaltung aussagen kannst. Siehst du eine Verbindung zum Programmierkurs vom letzten Semester?

3. Ein- und Ausgänge

In den kommenden Aufgaben werden wir eigene kleine Schaltungen entwerfen. Dafür benötigen wir einfache Ein- und Ausgabemöglichkeiten. Wir werden mit den folgenden Eingabemöglichkeiten arbeiten: ![[Pasted image 20250805091542.png]] Ausserdem benutzen wir die folgenden Ausgabemöglichkeiten: ![[Pasted image 20250805091555.png]]

4. Aufbau von Schaltungen

4.1 Verbindungen

Wir lernen nun in den nächsten Aufgaben verschiedene logische Bauteile von Schaltungen kennen.

Eine Schaltung ist lediglich eine Verknüpfung von Eingaben, Ausgaben und logischen Bauteilen.

Die einfachste Schaltung ist eine direkte Verbindung von Ein- und Ausgabe: ![[Pasted image 20250805091749.png]] Eine Verbindung (=Leitung) kann auch verzweigt werden. Die Verzweigung wird durch einen kleinen Kreis markiert: ![[Pasted image 20250805091800.png]] Hinweis: Die beiden neuen Leitungen übertragen immer den selben Wert, wie die Leitung die verzweigt wurde. Um Leitungen zusammenzuführen brauchen wir aber logische Bauteile, sogenannte Operatoren.

4.2 Operatoren

4.2.1 Inverter

Ein Inverter ist ein Operator, bei welchem der Ausgang den Wert 1 hat, wenn der Eingang den Wert 0 hat und umgekehrt. Das Signal wird also invertiert.

Die Wahrheitstabelle sieht also folgendermassen aus: ![[Pasted image 20250805092203.png]]

In Schaltungen wird für Inverter das folgende Symbol verwendet: ![[Pasted image 20250805092211.png]] Beispiel: Das Licht im Kühlschrank geht an sobald die Türe nicht auf den Knopf drückt: ![[Pasted image 20250805092235.png]]

4.2.2 AND-Gatter

Das AND-Gatter ist eine digitale Schaltung, welche zwei Eingänge und einen Ausgang hat. Der Ausgang hat nur dann den Wert 1, wenn beide Eingänge den Wert 1 haben. Die Wahrheitstabelle sieht also folgendermassen aus:

ABY
000
010
100
111

In Schaltungen wir ein AND-Gatter folgendermassen dargestellt: ![[Pasted image 20250805094013.png]]

Beispiel:
In einer Kaffeemaschine wird der Motor für die Mühle aus Sicherheitsgründen nur dann aktiviert, wenn gleichzeitig der Deckel geschlossen ist und der Stromschalter aktiviert ist: ![[Pasted image 20250805094028.png]]

4.2.3 OR-Gatter

Ein OR-Gatter ist ein Schaltungs-Element, bei dem der Ausgang dann den Wert 1 hat, wenn mindestens einer der Eingänge den Wert 1 hat.

Die Wahrheitstabelle sieht folgendermassen aus:

ABY
000
011
101
111
Das OR-Gatter wird in Schaltungen folgendermassen dargestellt:
![[Pasted image 20250805094432.png]]
Beispiel:
In einem Haus soll die Eingangstüre aus der Wohnung im ersten Stock, sowie aus der Wohnung im zweiten Stock durch einen Knopf geöffnet werden können:
![[Pasted image 20250805094458.png]]

4.2.4 XOR-Gatter

Bei einem XOR-Gatter (Englisch= Exclusive OR) hat der Ausgang den Wert 1, wenn entweder Eingang A oder Eingang B den Wert 1 hat, aber nicht wenn beide den Wert 1 haben.

Das Symbol der XOR-Gatters sieht folgendermassen aus: ![[Pasted image 20250805095039.png]] Die Wahrheitstabelle sieht folgendermassen aus:

ABY
000
011
101
110

4.2.5 NAND-Gatter

Das letzte Gatter, welches wir uns anschauen ist das NAND-Gatter. Der Name steht kurz für Not-AND und es handelt sich eigentlich einfach um die Kombination eines AND-Gatters und eines Inverters.

Das Symbol eines NAND-Gatters ist das folgende: ![[Pasted image 20250805095400.png]] Die Wahrheitstabelle sieht folgendermassen aus:

ABY
001
011
101
110

Hinweis: Das NAND-Gatter hat eine besondere Bedeutung unter den logischen Gattern: Dank dem Mathematiker George Boole kann bewiesen werden, dass jede logische Schaltung ausschliesslich aus NAND-Gattern aufgebaut werden kann. Ausserdem sind diese relativ einfach physikalisch herzustellen. Daher bestehen moderne Prozessoren (und andere Chips) hauptsächlich aus NAND-Gattern.

4.3 Halbaddierer & Binäre Addition

Weiter oben im Skript wurde bereits erwähnt, dass alle mathematischen Operationen im Computer mit relativ einfachen (und manchmal auch sehr komplexen) Schaltungen durchgeführt werden. Im folgenden schauen wir uns dies am einfachsten Beispiel der Addition an.

Binäre Addition
Die Addition von zwei Binärzahlen funktioniert relativ ähnlich wie die schriftliche Addition von zwei Dezimalzahlen.

Das folgende Video erklärt die binäre Addition sehr gut: Video

4.3.1 Der Halbaddierer

Ein Halbaddierer ist eine Schaltung, welche zwei einstellige binäre Zahlen addieren kann. Wir schauen uns im folgenden an, wie man einen Halbaddierer als Schaltung konstruieren kann.

Ein Halbaddierer muss also folgende Rechnungen lösen können: ![[Pasted image 20250805095936.png]] Die Schaltung benötigt 2 Eingänge für die beiden Summanden und 2 Ausgänge für die erste und zweite Stelle des Resultats.

Die Wahrheitstabelle könnte folgendermassen aussehen:

ABZweierEiner
0000
0101
1001
1110

Die Idee der Halbaddierer-Schaltung ist die folgende: Der Wert der ersten Stelle (Einer) wird durch ein XOR-Gatter berechnet und der Wert der zweiten Stelle (Zweier) durch ein AND-Gatter. Die Schaltung sieht folgendermassen aus: ![[Pasted image 20250805100114.png]]

4.3.2 Der Volladdierer

Ein Halbaddierer addiert, wie wir gesehen haben zwei Bits und liefert als Ausgang das Resultat der ersten Stelle und den Übertrag auf die zweite Stelle.

Aus unserem Halbaddierer können wir nun schon fast einen vollwertigen Addierer basteln. Wir haben aber noch ein Problem: Unser Halbaddierer berücksichtigt jeweils nur die beiden Summanden und nicht den Übertrag aus der letzten Stelle.

Wenn zwei mehrstellige Binäre Zahlen addiert werden sollen, muss der Übertrag berücksichtigt werden. Ab der zweiten Stelle sollte das folgendermassen passieren:

  1. Die Ziffern an der aktuellen Stelle werden addiert
  2. Zum Resultat wird der Übertrag der vorherigen Stelle addiert
  3. Das Resultat wird gespeichert und der neue Übertrag wird an die nächste Stelle weitergegeben.

Dies kann mit der folgenden Schaltung realisiert werden. Sie besteht aus zwei Halbaddierern und einem OR-Gatter für den Übertrag.

Schaltung

5. Quellen

Viele der Inhalte, Aufgaben und Grafiken wurden in angepasster Form von den Inhalten der Kolleg:innen des Gymnasium Kirchenfelds übernommen.

Informatik & ICT Unterricht Neufeld