Wie funktioniert ein Multiplizierer und ein Addierwerk?

4 Antworten

Hallo,

zur Veranschaulichung kann man einfach das Duale Zahlensystem (dass auch in der Digitaltechnik verwendet wird) nutzen:

Addition:

In 2 Zähler werden jeweils die 2 Zahlen geladen und dann im anderen Bauteil addiert (genauso wie mit den 1 und 0) Das ergebnis steht dann sofort am Ausgang.

Multiplikation:

In den einen Zähler wird die erste Zahl geladen und in den zweiten der Multiplikator. Nun wird jeweils zum ersten Zähler die erste Zahl addiert und danach die nochmal bis der Multiplikator, der bei jeder Addition heruntergezählt wird) die 0 erreicht hat.

Sowas kann man einfach auch mit einfachen NAND- oder NOR- Schaltungen realisieren.

Grüße aus Leipzig

Woher ich das weiß:Studium / Ausbildung – Ab dem Studium bin ich ein Freak für Elektronik u. Computer

Ein Addierwerk in der CPU addiert Binärzahlen... Prinzipiell entspricht eine binäre Addition einer exklusiven Oder-Verknüpfung (xor). Das heißt:

0 xor 0 = 0
0 xor 1 = 1
1 xor 0 = 1
1 xor 1 = 0

Wobei zu beachten ist, dass 1+1 einen Übertrag erzeugt... Also 1 + 1 = 0, Übertrag 1
Der Übertrag ist eine und-Verknüpfung. Bis hierhin haben wir einen Halbaddierer.
Für die Berechnung einer Binärstelle kann ein Übertrag ja aber von der vorhergehenden Stelle kommen kann. Das führt zum sogenannten Volladdierer. Dieser addiert 3 binäre Ziffern, die beiden Stellen und den Übertrag der vorhergehenden Stelle.

Der genaue Aufbau ist abhängig vom Typ. Am einfachsten (aber auch am Langsamsten) ist der Ripple-Carry-Addierer, er besteht für jede Binäre Stelle aus einem Volladdierer. Die letzte Stelle könnte zwar auch als Halbaddierer ausgeführt sein - jedoch wird in der Realität ein Volladdierer genutzt, weil man den zum subtrahieren braucht.

Weitere Typen sind z.B. : Carry-Lookahead-Addierer und Carry-Save-Addierer. Letzterer ist ein guter Kompromiss zwischen Aufwand und Geschwindigkeit.

Die Grundfunktion der Multiplikation im Binären ist die und-Verknüpfung.
0 und 0 = 0
0 und 1 = 0
1 und 0 = 0
1 und 1 = 1
Desweiteren ist im Prinzip nichts anderes als eine wiederholte Addition. Sie ist entweder sequentiell durchführbar (braucht dann mehrere Schritte), oder man sieht einfach entsprechend viele Addierwerke vor, um in einem Schritt die Summe zu berechnen:

Bild zum Beitrag

Die fett-markierten Begriffe solltest du googeln können, um erweiterte Informationen zu erhalten.

 - (Computer, CPU, Arm)

Ein Multiplizierer ist eine Art elektronisches Schaltkreis, der zwei Zahlen miteinander multipliziert. Er tut dies, indem er die eine Zahl so oft mit sich selbst addiert, wie die andere Zahl angibt. Zum Beispiel multipliziert ein Multiplizierer 3 und 5, indem er 3 fünf Mal hintereinander addiert, was 15 ergibt.

Ein Addierwerk ist ähnlich, aber statt zwei Zahlen zu multiplizieren, addiert es sie einfach. Es nimmt die Eingaben beider Zahlen und gibt das Ergebnis ihrer Summe aus. Zum Beispiel würde ein Addierwerk 3 und 5 addieren und 8 als Ergebnis ausgeben.

Woher ich das weiß:Recherche

YouTim 
Beitragsersteller
 13.12.2022, 19:04

Ja die Funktionsweise ist mir bekannt ich würde nur gerne verstehen wie so eine Schaltung umgesetzt wird und wie Sie genau funktioniert. Trotzdem danke für die Antwort :)

0
YouTim 
Beitragsersteller
 13.12.2022, 19:05
@YouTim

Troztdem danke für die Antwort :)

0

Der einfachste Fall ist der CR-Addierer (Carry Ripple) bei dem das Carrybit durch alle Volladierer bis zur höchstwertigen Stelle durchgeschleust wird.

Es entspricht also der schriftlichen Addition, wie Du sie kennst, innerhalb des Dualsystems, mit genau 2 Operanden.

Der einfachste Multiplizierer ist als serielles Multiplizierwerk gebaut, erneut machst Du eine schriftliche Multiplikation, der eine Operand wird dabei in einem (Barrel)shifter nach jedem Schritt um eine Stelle verschoben, und in Abhängigkeit der zugehörigen Bitstelle auf das bisherige Ergebnis aufaddiert - d.h. Du kannst Deinen Addierer direkt im Multiplizierer wiederverwenden.

Da ist natürich jede Menge Raum für Optimierungen.

https://de.wikipedia.org/wiki/Halbaddierer

https://de.wikipedia.org/wiki/Volladdierer

https://de.wikipedia.org/wiki/Carry-Ripple-Addierer

Beachte das Schaltbild, dann wird der Name klar.

https://de.wikipedia.org/wiki/Multiplizierer_(Digitaltechnik)

P.S.: Ich kann statt eines Addiernetzes auch ein Addierwerk umsetzen, indem ich einen Volladierer und (Barrel)shifter nutze.

D.h. bei schlechter Performance kann ich sehr stark die Fläche minimieren.