Komparator (Digitaltechnik)
Ein Komparator in der Digitaltechnik ist ein elektronischer Schaltkreis, der zwei digitale Werte vergleicht.
Identitäts-Komparator
Identitäts-Komparatoren (englisch Identity Comparator) testen zwei Bits auf Gleichheit, was mit Hilfe eines XNOR-Gatters erfolgt. Für den Vergleich von Bytes werden je zwei gleichwertige Bits miteinander verglichen und das Ergebnis mit einem Und-Gatter verknüpft.
Vergleicht | Familie | Bezeichnung |
---|---|---|
2×8-bit-Byte | TTL | SN74LS688 (von TI) |
2×9-bit-Byte | TTL | AM29809 (von AMD) |
Größen-Komparator
Größen-Komparatoren (engl. Magnitude Comparator) können zusätzlich zur Gleichheit auch auf die Relationen Größer und Kleiner testen. Um den Größenvergleich durchführen zu können müssen die beiden Zahlen auf die gleiche Weise codiert sein. Zusätzlich muss der Größen-Komparator auf den jeweils verwendeten Code ausgelegt werden.
a | b | ya>b | ya=b | ya<b | |
---|---|---|---|---|---|
0 | 0 | 0 | 1 | 0 | |
0 | 1 | 0 | 0 | 1 | |
1 | 0 | 1 | 0 | 0 | |
1 | 1 | 0 | 1 | 0 |
n-bit-Größen-Komparator
Ein n-bit-Größen-Komparator beruht auf der Grundlage, dass die Differenz aus den zu vergleichenden Größen gebildet wird und das Ergebnis auf 0, <0, >0 geprüft wird. Das Addierwerk beruht im Dualcode auf der Addition des Zweierkomplement, also (-B) ist dasselbe wie (+!B + 1). Bei der Addition einer Zahl mit ihrer invertierten Zahl (z. B. 1001101 + 0110010 = 1111111) sind im Ergebnis alle Bits 1. Wird eine Zahl von sich selber abgezogen, (A − A = A + (!A + 1) = 0, carry=1) ist das Ergebnis 0, mit Übertrag 1.
Soll A mit B verglichen werden, dann gilt:
Bedingung | Hinweis | Äquivalent | Zwischenergebnis | Carry | Ergebnis |
---|---|---|---|---|---|
A == B | A = B | B +!B + 1 | b'1..11 + 1 | 1 | 0 |
A > B | A = B + d | B + d +!B + 1 | b'1..11 + 1 + d | 1 | d |
A < B | A = B - d | B - d +!B + 1 | b1..11 + 1 -d | 0 | -d |
Vergleicht | Familie | Bezeichnung |
---|---|---|
2×5-bit-Byte | ECL | MC10166 |
2×8-bit-Byte | TTL | SN74LS682 bis SN74LS689 |
Erweiterung
Zum Vergleich von Bytes, die mehr Stellen aufweisen, als dies vom Komparator-Baustein vorgegeben ist, kann man mehrere Komparatoren seriell oder parallel verschalten. Die parallele Lösung hat hierbei bei Bytes mit vielen Stellen den Vorteil einer geringeren Latenz, wodurch eine höhere Geschwindigkeit resultiert. Der serielle Aufbau empfiehlt sich lediglich, wenn dadurch weniger Komparator-Bausteine verwendet werden müssen.