XOR und Anwendungen
XOR ("Exclusive OR") ist das vierte wichtige Gate. Es ist kein Grundgatter im mathematischen Sinn (man kann es aus AND, OR, NOT aufbauen -- das haben wir im Grundgatter-Kapitel gezeigt), aber es ist so nützlich, dass es einen eigenen Chip hat.
Wahrheitstabelle
| A | B | Y |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
In Worten: Der Ausgang ist HIGH, wenn die Eingänge unterschiedlich sind. XOR ist ein Ungleich-Detektor.
Chip: 74HCT86 — vier 2-Input XOR-Gates in DIP-14.
XNOR
Das Komplement: XNOR ("Exclusive NOR") ist XOR gefolgt von NOT:
| A | B | Y |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
Ausgang HIGH wenn die Eingänge gleich sind. XNOR ist ein Gleich-Detektor (Komparator für 1 Bit).
Es gibt keinen eigenen 74HCT-Chip für XNOR -- einfach ein XOR-Ausgang durch einen Inverter (74HCT04) schicken.
Anwendung 1: Paritätsprüfung
XOR kann prüfen, ob eine Gruppe von Bits eine gerade oder ungerade Anzahl Einsen enthält. Dazu mehrere XOR-Gates kaskadieren:
Wenn die Zahl der Einsen gerade ist → \(P = 0\) (gerade Parität). Wenn die Zahl der Einsen ungerade ist → \(P = 1\).
Das ist die Grundlage der Paritätsprüfung in der Datenübertragung: Ein Paritätsbit wird angehängt, damit die Gesamtzahl der Einsen immer gerade (oder immer ungerade) ist. Wenn ein Bit kippt, stimmt die Parität nicht mehr → Fehler erkannt.
Experiment: 3-Bit Paritätsprüfer
- Zwei XOR-Gates kaskadieren: Gate 1 berechnet \(A \oplus B\), Gate 2 berechnet \((A \oplus B) \oplus C\)
- Drei Taster für A, B, C
- LED am Ausgang: leuchtet bei ungerader Anzahl gedrückter Taster
Alle acht Kombinationen durchtesten — die LED leuchtet bei 1, 3 gedrückten Tastern, nicht bei 0 oder 2.
Anwendung 2: Halbaddierer
Der Halbaddierer addiert zwei einzelne Bits. Er hat zwei Ausgänge:
- Summe \(S\): Das niederwertige Bit der Addition
- Übertrag \(C\) (Carry): Das höherwertige Bit
| A | B | Carry (C) | Summe (S) |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 0 |
Vergleich mit den Wahrheitstabellen: Summe = XOR, Carry = AND.
Ein Halbaddierer besteht aus einem XOR-Gate und einem AND-Gate -- zwei Chips, vier Drähte. Das ist der Baustein jedes Addierwerks in jedem Prozessor.
Experiment: 1-Bit Addierer
- 74HCT86 (XOR): Taster A + Taster B → Pin 1, 2 → Ausgang Pin 3 → LED "Summe"
- 74HCT08 (AND): Taster A + Taster B → Pin 1, 2 → Ausgang Pin 3 → LED "Carry"
| Taster A | Taster B | LED Summe | LED Carry | Bedeutung |
|---|---|---|---|---|
| aus | aus | aus | aus | 0 + 0 = 00 |
| ein | aus | an | aus | 0 + 1 = 01 |
| aus | ein | an | aus | 1 + 0 = 01 |
| ein | ein | aus | an | 1 + 1 = 10 |
Zwei Taster, zwei LEDs, zwei Chips -- und man hat einen Computer gebaut. Zugegeben, er kann nur 0+0 bis 1+1 rechnen. Aber das Prinzip skaliert: Vier Halbaddierer kaskadiert (mit Carry-Weiterleitung) ergeben einen 4-Bit-Addierer, und 64 davon einen 64-Bit-Addierer -- das ist die ALU in deinem Laptop.
Volladdierer (Konzept)
Der Halbaddierer ignoriert einen eingehenden Übertrag. Der Volladdierer hat drei Eingänge: A, B und Carry-In (\(C_{in}\)). Er besteht aus zwei Halbaddierern und einem OR-Gate:
Vier Volladdierer hintereinander (der \(C_{out}\) des einen geht in den \(C_{in}\) des nächsten) ergeben einen 4-Bit Ripple-Carry Addierer. Das kann man komplett auf dem Breadboard bauen -- aber es braucht einige Chips und Geduld.
Zusammenfassung aller Gatter
| Gate | Formel | Chip | Wann HIGH? |
|---|---|---|---|
| NOT | \(\overline{A}\) | 74HCT04 | Eingang LOW |
| AND | \(A \cdot B\) | 74HCT08 | Alle Eingänge HIGH |
| OR | \(A + B\) | 74HCT32 | Mindestens ein Eingang HIGH |
| NAND | \(\overline{A \cdot B}\) | 74HCT00 | Nicht alle Eingänge HIGH |
| NOR | \(\overline{A + B}\) | 74HCT02 | Alle Eingänge LOW |
| XOR | \(A \oplus B\) | 74HCT86 | Eingänge unterschiedlich |
Damit ist das Kapitel kombinatorische Logik (Gatter ohne Speicher) abgeschlossen. Im nächsten Teil geht es um sequentielle Logik -- Schaltungen die sich Zustände merken können: Flip-Flops, Zähler, Schieberegister.
Weiterführendes
- NAND und NOR -- vorheriges Kapitel
- Digitale Logik: Übersicht -- zurück zur Hauptseite
- Mikrocontroller -- wo die Addierer drinstecken