Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Addierwerk

Das Addierwerk (auch Addiernetz) ist die Hauptkomponente des Rechenwerks einer CPU. Das Addiernetz bildet aus den Summanden a 3..0 und b 3..0 die Summe s …

Inhalt4 Abschnitte
  1. 1. Aufgabe und Grundprinzip
  2. 2. Paralleladdierwerke
  3. 3. Serielle und iterative Addition
  4. 4. Subtraktion und Gleitkommaoperationen

Aufgabe und Grundprinzip

Ein Addierwerk, auch Addiernetz, ist die Hauptkomponente des Rechenwerks einer CPU. Es addiert zwei mehrstellige Binärzahlen und ist ein zentrales Element der arithmetisch-logischen Einheit (ALU), weil sich alle vier Grundrechenarten auf Addition zurückführen lassen.

Das Addiernetz arbeitet asynchron. Das eigentliche Addierwerk arbeitet dagegen getaktet und puffert sein Ergebnis mit Speicherbausteinen. Ein- und Ausgangsüberträge (carry_in und carry_out) erlauben, Addierschaltungen zu kaskadieren, also für größere Bitbreiten hintereinanderzuschalten. Für die Addition werden Halbaddierer und/oder Volladdierer verwendet. Wichtige Bauarten sind Parallel-, Serien- und Von-Neumann-Addierwerke.

Paralleladdierwerke

Beim Paralleladdierwerk arbeiten alle beteiligten Addierer gleichzeitig. In der Grundform, dem Carry-Ripple-Addierer, ist der Carry-Out jedes Volladdierers mit dem Carry-In des nächsthöheren Volladdierers verbunden.

Im ungünstigsten Fall muss der Übertrag vom niederstwertigen bis zum höchstwertigen Addierer wandern. Diese Übertragsfortpflanzung verursacht bei großen Addierwerken lange Signallaufzeiten. Deshalb gibt es schnellere Varianten:

  • Carry-Skip-Addierer fassen Volladdierer zu Gruppen zusammen. Zusatzlogik ermittelt schnell, ob ein Carry-In eine Gruppe durchwandert.
  • Carry-Look-Ahead-Addierer bestimmen den Übertrag einer Addierergruppe direkt durch aufwändige Logik.
  • Conditional-Sum-Addierer berechnen für eine Gruppe sowohl das Ergebnis mit gesetztem als auch mit nicht gesetztem Carry-In. Eine Auswahllogik gibt danach passend zum Carry-In eines der Ergebnisse aus.

Der Vorteil ist die parallele Verarbeitung. Der Nachteil der Grundform sind die langen Laufzeiten bei einer Übertragsfortpflanzung von rechts nach links. Die Weiterentwicklungen benötigen zusätzliche Gatter; deren Anzahl steigt linear mit der Breite n der zu addierenden Dualstellen.

Serielle und iterative Addition

Ein Serienaddierwerk addiert die Stellen n-stelliger Binärzahlen nacheinander. Es benötigt nur einen Volladdierer und ein D-Flip-Flop. In jedem Takt gelangen das jeweils äußerste rechte Bit beider Schieberegister sowie der im D-Flip-Flop gespeicherte Übertrag in den Volladdierer. Die Ergebnisstelle wird in einem Register gespeichert; der neue Übertrag wird für den nächsten Takt im D-Flip-Flop abgelegt.

Der geringe Bauteilaufwand ist sein Vorteil. Wegen der seriellen Verarbeitung benötigt die Addition zweier n-stelliger Binärzahlen jedoch n + 1 Takte.

Das Von-Neumann-Addierwerk verbindet Eigenschaften von Parallel- und Serienaddierer. Es verwendet n Halbaddierer für zwei n-stellige Binärzahlen. Die Register A und P werden mit den Summanden geladen. Nach einer Addition wird A mit den Summen ohne Übertrag und P mit den Überträgen geladen; diese Schritte werden wiederholt, bis Register S den Wert Null enthält. Das AND an P₀ setzt P₀ nach dem ersten Durchlauf dauerhaft auf 0.

Im Worst Case benötigt dieses Addierwerk n + 1 Takte; laut Artikel zeigt die Praxis im Mittel nur log₂ n + 1 Takte. Im Beispiel 13 + 11 führen die aufeinanderfolgenden Registerwerte schließlich zum Ergebnis 24.

Subtraktion und Gleitkommaoperationen

Eine Subtraktion lässt sich als Addition des Subtrahenden mit geändertem Vorzeichen ausführen. Bei Dualzahlen wird der Vorzeichenwechsel durch das Zweierkomplement gebildet: Zuerst werden alle Bits invertiert (Einerkomplement), danach wird 1 addiert. Ein Addier-/Subtrahierwerk schaltet dazu XOR-Verknüpfungen vor den zweiten Operanden. Bei Wahlschalter 1 invertiert das XOR dessen Bits und setzt zugleich Carry-In; dadurch entsteht das Zweierkomplement und die Addition wird zur Subtraktion.

Bei Gleitkommazahlen verarbeitet eine Gleitkommaeinheit Mantisse und Exponent getrennt. Zunächst werden die Exponenten im ersten Normierer angeglichen: Die Exponenten werden subtrahiert, und die Mantisse der Zahl mit kleinerem Exponenten wird mit einem Schieberegister um die ermittelte Bitanzahl verschoben. Beide Zahlen erhalten damit denselben, größeren Exponenten. Ein Multiplexer wählt ihn anhand des Vorzeichens der Exponentendifferenz aus.

In der Addierer-/Subtrahierer-Stufe werden Mantissen mit gesetztem Vorzeichenbit durch Inverter negiert und anschließend addiert. Das Ergebnis ist die neue Mantisse. Ist die Summe zu groß für die Mantisse, setzt der Addierer ein Prioritäts- beziehungsweise Überlauf-Bit.

Im zweiten Normierer wird bei gesetztem Prioritäts-Bit die Exponentendifferenz um eins reduziert und das Ergebnis um ein Bit nach links verschoben. Danach bilden die resultierende Mantisse und die Exponentendifferenz als Exponent die Ergebnis-Gleitkommazahl.

Lernvideos zu Addierwerk

Weiterlesen

Arithmetisch-logische Einheit Eine arithmetisch-logische Einheit (englisch arithmetic logic unit, daher oft abgekürzt ALU) ist ein elektronisches Rechenwerk, welches in Prozessoren zum … Addition Die Addition basiert auf dem Vorgang des Zählens. Deshalb verwendet man für den Vorgang, eine Addition auszuführen, neben Addieren auch den Ausdruck … Puffer (Informatik) Ein Puffer speichert die Daten in der Regel zeitweise und kann in einem flüchtigen, aber auch in einem nichtflüchtigen Speicher angesiedelt sein. John von Neumann Von Neumann gilt als einer der Väter der Informatik. Nach ihm wurde die Von-Neumann-Architektur (auch Von-Neumann-Rechner) benannt, ein Computer, in dem … Halbaddierer Ein Halbaddierer (engl. half adder) ist ein Schaltnetz, das üblicherweise als digitale Schaltung realisiert wird. Er besteht aus zwei Eingängen und zwei … Volladdierer Ein Volladdierer (englisch full adder) ist ein Schaltnetz, das üblicherweise als digitale Schaltung realisiert wird. Es besteht aus drei Eingängen ( x … Carry-Ripple-Addierer Ein n-Bit-Carry-Ripple-Addierer kann zwei n-stellige Binärzahlen addieren, das Ergebnis hat n+1 Stellen. Das Schaltnetz hat damit 2n+1 (bzw. 2n ohne Carry in) … Laufzeit (Informatik) Der Begriff Laufzeit (englisch runtime) beschreibt in der Informatik einerseits die Zeitdauer, die ein Programm, ausgeführt durch einen Rechner, … Paralleladdierer mit Übertragsvorausberechnung Der Paralleladdierer mit Übertragsvorausberechnung bzw. Carry-Look-Ahead-Addierer (kurz: CLA-Addierer) ist eine logische Schaltung zur Addition mehrstelliger … Dualsystem Das Dualsystem (lat. dualis „zwei enthaltend“), auch Zweiersystem oder Binärsystem genannt, ist ein Zahlensystem, das zur Darstellung von Zahlen nur zwei … Flipflop Ein Flipflop (auch Flip-Flop), oft auch bistabile Kippstufe oder bistabiles Kippglied genannt, ist eine elektronische Schaltung, die zwei stabile Zustände … Algorithmus Algorithmen bestehen aus endlich vielen, wohldefinierten Einzelschritten. ... Damit können sie zur Ausführung in ein Computerprogramm implementiert, aber auch in …