Addierer: wie Gatter rechnen
Niemand hat dem Prozessor das Addieren beigebracht. Ein paar zusammengeschaltete Gatter liefern die Antwort, Stelle für Stelle.
Du addierst bereits Binärzahlen — du hast es in der Grundschule mit Dezimalzahlen getan und es nie bemerkt. Du addierst zuerst die rechteste Stelle, schreibst das Ergebnis hin und gibst alles, was übergelaufen ist, an die nächste Stelle links weiter. Dieser Übertrag heißt Carry. Beim Addieren zweier Binärziffern gibt es nur vier Fälle, und in zweien entsteht ein Übertrag.
0 + 0 = 0 carry 0
0 + 1 = 1 carry 0
1 + 0 = 1 carry 0
1 + 1 = 0 carry 1Alles, was eine einzelne Stelle tun kannSchau dir diese Tabelle noch einmal an. Die Summenspalte ist genau XOR: 1, wenn die Bits verschieden sind, 0, wenn sie gleich sind. Die Carry-Spalte ist genau AND: 1 nur, wenn beide Bits 1 sind. Eine Schaltung, die zwei Bits addiert, braucht also keine neue Erfindung — sie braucht ein XOR-Gatter und ein AND-Gatter. Dieses Paar heißt Halbaddierer, und es ist das kleinste Stück Rechenhardware, das es gibt.
Dem Halbaddierer fehlt etwas: er hat keinen Platz für einen Übertrag, der von rechts ankommt. Füge einen dritten Eingang dafür hinzu, und du bekommst einen Volladdierer. Er besteht aus zwei Halbaddierern plus einem OR-Gatter: die Halbaddierer liefern die Summe, und das OR führt die beiden Überträge zusammen, die sie erzeugt haben. Verkette 64 Volladdierer, und du kannst zwei 64-Bit-Zahlen addieren.
Praxis
Was ergibt 1011 + 0001 im Binärsystem?
Hinweise
- Addiere Stelle für Stelle von rechts, genau wie beim Dezimaladdieren.
- Der Übertrag aus der ersten Stelle verschwindet nicht — er geht in die nächste Stelle.
15 XP
Ordne jedem Ausgang eines Halbaddierers das Gatter zu, das ihn erzeugt.
Hinweise
- Eine Zeile beschreibt das Summenbit, die andere das Übertragsbit — das sind nicht dieselben Gatter.
- Ein Übertrag entsteht nur, wenn beide Bits 1 sind; die Summe ist 1, wenn genau eines von beiden 1 ist.
15 XP
Ordne die Schritte, die 11 + 1 binär addieren und 100 ergeben.
Hinweise
- Ein Volladdierer ist ein Halbaddierer, der auch einen Platz für den hineinkommenden Übertrag hat.
- Zwei Halbaddierer liefern die Summe; der Übertrag nach außen ist ein OR aus dem, was beide erzeugt haben.
15 XP