DE19717970B4 - Schaltungsanordnung einer digitalen Baugruppe zur Multiplikation und Addition von Binärzahlen - Google Patents
Schaltungsanordnung einer digitalen Baugruppe zur Multiplikation und Addition von Binärzahlen Download PDFInfo
- Publication number
- DE19717970B4 DE19717970B4 DE1997117970 DE19717970A DE19717970B4 DE 19717970 B4 DE19717970 B4 DE 19717970B4 DE 1997117970 DE1997117970 DE 1997117970 DE 19717970 A DE19717970 A DE 19717970A DE 19717970 B4 DE19717970 B4 DE 19717970B4
- Authority
- DE
- Germany
- Prior art keywords
- adder
- mode
- circuit arrangement
- addition
- cells
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/53—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
- Logic Circuits (AREA)
Abstract
Schaltungsanordnung
einer digitalen Baugruppe zur Multiplikation und Addition von Binärzahlen, dadurch
gekennzeichnet, daß eine
bestimmte Anzahl von Adder-Zellen der Schaltungsanordnung, die im
Multiplizierer-Modus für
die Addition der Partiellen Produkte verwendet werden, mittels der
Steuerung durch ein Auswahlsignal für den Addierer-Modus herangezogen
werden.
Description
- Die Erfindung betrifft eine digitale Schaltungsanordnung zur Multiplikation und Addition von Binärzahlen. Dabei ist die Schaltungsanordnung in der Lage, in Abhängigkeit von einem Auswahlsignal, Binärzahlen entweder addieren oder multiplizieren zu können. Multiplizierer und Addierer für Binärzahlen wurden u.a. in K. Hwang: Computer Arithmetic. Principles, Architecture and Design. John Wiley (1979), in 1. Koren: Computer Arithmetic Algorithms. Prentice Hall(1993) und in O. Spaniol: Arithmetik in Rechenanlagen. Teubner (1976) beschrieben. Das Prinzip, das allen bekannten Multiplizierer-Baugruppen zugrunde liegt, lässt sich in zwei grundlegende Teiloperationen zerlegen. Erstens die Bildung von Partiellen Produkten (PP) und zweitens die Akkumulation der gebildeten PP. Dabei ergeben zwei zu multiplizierende Zahlen A und B, in Binärdarstellung
- Nachteilig bei bekannten Anordnungen ist, dass die jeweiligen Schaltungen zur Multiplikation bzw. zur Addition separat aufgebaut werden müssen. Ein entsprechendes Bussystem verteilt die Eingabedaten an beide Baugruppen und es holt die Ausgabedaten von den Baugruppen ab. Das erfordert zwei getrennte, in sich geschlossen aufgebaute Baugruppen mit den entsprechenden Busverbindungen wie in
1a schematisch dargestellt. - In der
EP 0 517 429 A2 ist eine zentrale Prozessoreinheit mit einer Multiplizier-/Akkumulier-Einheit beschrieben, bei der ein Prozessorsystem eine herkömmliche zentrale Prozessoreinheit (CPU) beinhaltet, die mit einem Systembus zur Kommunikation mit einem Systemspeicher, der als Programm- und Datenspeicher arbeitet, verbunden ist. Die Multiplizier-/Akkumulier-Einheit ist ebenfalls mit dem Systembus verbunden. Diese Multiplizier-/Akkumulier Einheit ist in der Lage, sich Daten von dem Systembus in einem internen Speicher zu laden. - Die Nutzung dieser Multiplizier-/Akkumulier Einheit in Zusammenarbeit mit der zentralen Prozessoreinheit wird Programm gesteuert, wobei die Befehle Bestandteil des Standardprogrammbefehlssatzes zentralen Prozessoreinheit sind. Damit wird es möglich, eine parallele Verarbeitung innerhalb eines digitalen Signalprozessors zu realisieren, ohne eine relativ aufwändige Logik dem Prozessorkern hinzufügen zu müssen. Das hinzufügen einer Multiplizier-/Akkumulier-Einheit stellt im Vergleich dazu eine kostengünstigere Hardwarelösung dar.
- In dem
EP 0 186 958 B1 wird ein digitaler Datenprozessor für eine Matrix-Vector-Multiplikation beschrieben. Dieser Datenprozessor sieht Array von bitverarbeitenden Prozessorzellen vor, wobei jede Prozessorzelle einem entsprechenden Multiplikativ-Matrixkoeffizienten zugeordnet ist, mittels derer die Zellenoperationen so gesteuert werden können, dass der Prozessor führt die die Multiplikation von Vektoren in besonderer Weise geeignet ist. - Aufgabe der Erfindung ist es, eine Schaltungsanordnung gemäß dem Blockschaltbild
1b anzugeben, die gesteuert durch ein Auswahlsignal größtenteils dieselben logischen Zellen benutzt, um eine multiplikative oder eine additive Verknüpfung der Eingabedaten durchzuführen. Die Busse (Bus a,b,z) zur Bereitstellung der Eingabedaten und zum Abtransportieren des Ergebnisses sind bei der erfindungsgemäßen Anordnung nur einfach vorhanden. - Die Erfindung beruht auf dem gemeinsamen Ausnutzen von Adder-Zellen, einmal zur Addition von mindestens zwei Binärzahlen und zum anderen zur Addition der PP bei der Multiplikation. Die Adder-Zellen müssen in bestimmter Weise über ein Auswahlsignal (as) steuerbar sein, um die gewünschte arithmetische Funktion ausführen zu können.
- Zur Addition zweier Binärzahlen a und b werden Schaltungsanordnungen so aufgebaut, daß beginnend mit dem niederwertigsten Bit die gleichwertigen Bits ai und bi (0 ≤ i < m) mittels Adder-Zellen addiert werden. Dabei wird ein Summensignal si durch die logische Verknüpfung si = ai ⨂ bi ⨂ üi–1 und ein Übertragssignal üi durch die logische Verknüpfung üi = ai∧bi v (aivbi) ∧ üi–1 erzeugt. Bei redundanter Carry-Save-Darstellungsweise des Ergebnisses werden die Signale s und ü als getrennter Bit-Vektor weitergeleitet. Zur Erzeugung eines nichtredundanten Ergebnisses z wird das Übertragssignal üi der Wertigkeit 21 zur nächst-höherwertigen Stelle 2i+1 addiert.
- Zur Multiplikation zweier Binärzahlen werden rein kombinatorische Schaltungsanordnungen nach folgendem Prinzip aufgebaut:
- 1. ) Die Partiellen Produkte Pi werden generiert, indem alle Bits ai (0 ≤ i < m) mit jeweils einem Bit bi (0 ≤ i < n) multipliziert werden. Das geschieht mittels der logischen UND-Verknüpfung. Es entstehen n PP. Bei Anwendung bestimmter Codierungen kann die Zahl der PP reduziert werden. Z.B. reduziert der Booth-Algorithmus die Anzahl der PP auf Kosten einer zusätzlichen Codierlogik (A. D. Booth: „A signed binary multiplication technique", Quart. Journal Mech. Appl. Math. 4 Part 2 (1951)) auf n/2. Bei Multiplizierern für Zahlen im Zweierkomplement müssen bestimmte Bits in negierter Form zugeführt werden (C.R. Baugh and B.A. Wooley: „A two's complement parallel array multiplication algorithm", IEEE Transactions on Computers, C-22 (Dez. 1973), 1045-1047).
- 2.) Alle PP werden zum Ergebnis z addiert (akkumuliert). Dazu sind viele Verfahren bekannt. Die PP können entweder zeilenweise addiert werden (Array-Multiplizierer), es kann ein binärer Baum zur Addition der gleichwertigen Spalten-Bits aufgebaut werden (Wallace-Tree) oder es können mehrere benachbarte Bits aus verschiedenen Zeilen von PP und mehreren Spalten additiv zusammengefaßt werden.
- 3. ) Nach der Akkumulation der PP ist das Ergebnis entweder sofort am Ausgang des Multiplizierers verfügbar oder es liegt in einer redundanten Darstellung (z.B. Booth-codiert, Carry-Save-Format) vor und muß in einer Decodierlogik zum binären Ergebnis umgewandelt werden.
- Es kann also festgestellt werden, daß die Multiplikation auf die Addition mehrerer als Bit-Vektor dargestellter PP zurückgeführt wird. Damit ist es möglich, der Multiplizierer-Anordnung an Stelle zweier beliebiger PP zwei Bit-Vektoren zuzuführen und alle anderen PP abzuschalten, sodaß die Summe und nicht das Produkt der beiden Bit-Vektoren am Ausgang der Anordnung verfügbar ist. Weiterhin ist es möglich, p Bit-Vektoren mit (2 ≤ p ≤ n) der Anordnung zur Addition zuzuführen (
1c ), genauso wie es möglich ist, eine beliebige Anordnung von korrespondierenden Adder-Zellen der Multipliziereranordnung für die bitweise Addition zu verwenden und alle anderen Adder-Zellen abzuschalten. - Der Vorteil der erfindungsgemäßen Schaltungsanordnung besteht darin, daß nur eine Baugruppe aufgebaut werden muß, die die selben Zellen verwendet, um eine Multiplikation oder eine Addition mit zwei oder mehr Binärzahlen durchzuführen. Weiterhin sind keine Busse zur Verteilung von Daten auf zwei getrennte Multiplizierer- bzw. Addierer-Baugruppen notwendig und es müssen kaum physische Verbindungen der Zellen der Gesamtanordnung untereinander beim Schalten zwischen den zwei Arithmetik-Modi verändert werden. Darüber hinaus können durch Zusammenschalten mehrerer solcher Baugruppen flexible, durch Auswahlsignale einstellbare, arithmetische Operationen durchgeführt werden.
- Nachfolgend wird die Erfindung anhand von zwei Ausführungsbeispielen beschrieben.
- Ausführungsbeispiel 1. In der Zeichnung
2 ist die Verwendung der Zellen einer 6 × 6-Bit Multiplizierer-Anordnung als Addierer für zwei 6-Bit Zahlen zu sehen. Die 6-Bit Eingabevektoren der Faktoren bzw. Summanden werden einer Anordnung von Zellen zur Bildung der PP zugeführt. Dabei erfolgt die Zuführung der Bits zeilen- bzw. spaltenweise, d.h. jeweils ein Bit der Eingabevektoren ist mit jeder Zelle einer Zeile bzw. Spalte verbunden. Eine zweite Teilanordnung addiert die jeweils gleichwertigen Bits aller PP. - Die als abschaltbar gekennzeichneten Zellen beinhalten ein 3-Eingangs-UND-Gatter gemäß
3a . Sie erzeugen am Ausgang Add_n im Multiplizierer-Modus (as = H) das Bit-Produkt ai·bj und im Addierer-Modus (as = L) den Wert 0. Damit können im Addierer-Modus alle nicht zum Ergebnis beitragenden BP auf L gesetzt werden und tragen nicht zum Ergebnis bei. - Die in
3b dargestellte Zelle fungiert im Multiplizierer-Modus ebenfalls als Bitprodukt-Erzeuger, im Addierer-Modus schaltet sie das am Eingang bj anliegende Bit eines Eingabevektors am bzw. bn zum Ausgang Add_n durch, um genau dieses Bit der Teilanordnung zur Addition der PP zuzuführen. - Die Zelle des niederwertigsten Bitproduktes a0·b0 ist gesondert, wie in
3c dargestellt, aufzubauen, da sie als einzige Zelle der gesamten Matrix zur Bildung der Bitprodukte im Addierer-Modus beide Eingangssignale getrennt der Addierstufe der PP zuführen muß. Diese Zelle erzeugt deswegen im Addierer-Modus zwei Ausgangssignale, die zur Teilanordnung zur Addition der PP weitergeleitet werden. Die Aufgabe der Teilanordnung der PP besteht darin, alle gleichwertigen Bits der BP ai·bj zum Ergebnis-Bit zn zu addieren und gegebenenfalls einen Übertrag zur nächsthöheren Stelle zn+1 zu generieren. - Ausführungsbeispiel 2. Beim Umschalten vom Multiplizierer-Modus in den Addierer-Modus werden die Mehrzahl der Ausgänge der Zellen zur Generierung der Bitprodukte auf L geschaltet. Es fließt bei Verwendung einer CMOS-Technologie im Umschaltmoment auch in den Zellen, die nicht zum Ergebnis beitragen, ein unerwünschter Verluststrom, der die Verlustleistung erhöht. Ein solcher unerwünschter Pegelwechsel kann verhindert werden, indem die Eingänge der beim Umschalten in den Addierer-Modus abzuschaltenden Bitprodukte mittels einer Halteschaltung auf dem bis zum Umschaltmoment anliegenden Pegel gehalten werden. Die Schaltungsanordnung einer Zelle zur Generierung eines Bitproduktes mit der beschriebenen Haltefunktion ist in
4 dargestellt. Diese Zelle ersetzt alle Zellen nach3a vom Ausführungsbeispiel 1. Die anderen Zellen der Matrix zur Bildung der PP aus dem Ausführungsbeispiel 1 bleiben im Ausführungsbeispiel 2 gleich. -
5 zeigt ein mögliches Blockschaltbild zur Realisierung der Summenbildung für die Bits einer Spalte 2i der PP der Multiplizierer-Addierer-Anordnung mit Haltefunktion. Um die Haltefunktion mit möglichst geringem Aufwand zu implementieren, werden bei dieser vorgeschlagenen Anordnung im Multiplizierer-Modus alle über die Zellen nach4 generierten BP in einer Adder-Anordnung Adder_1 addiert und über die UND-Gatter U1, U2 der abschließenden Adder-Anordnung Adder_2 zugeführt. In der Anordnung Adder_2 werden werden außerdem die in3b und3c aufgebauten Zellen zum Produkt-Vektor z addiert. Im Addierer-Modus trennen U1 und U2 alle vom Adder_1 (von den Zellen nach4 kommenden und durch die Halteschaltung verfälschten Signale vom Adder_2 ab. - Dadurch werden im Addierer-Modus von der Anordnung Adder_2 lediglich die von den Zellen nach
3b und3c weitergeschalteten Bits der Eingabevektoren zum Summen-Vektor z addiert.
Claims (4)
- Schaltungsanordnung einer digitalen Baugruppe zur Multiplikation und Addition von Binärzahlen, dadurch gekennzeichnet, daß eine bestimmte Anzahl von Adder-Zellen der Schaltungsanordnung, die im Multiplizierer-Modus für die Addition der Partiellen Produkte verwendet werden, mittels der Steuerung durch ein Auswahlsignal für den Addierer-Modus herangezogen werden.
- Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß im Addierer-Modus Summanden bis zur Anzahl der Bitbreite des im Multiplizierer-Modus kleinerer Eingabevektors (n) der Schaltungsanordnung zugeführt werden, die gesteuert durch ein Auswahlsignal im Addierer-Modus eine bestimmte Anzahl der Adder-Zellen der Schaltungsanordnung benutzt, die im Multiplizierer-Modus für die Addition der Partiellen Produkte vorgesehen sind.
- Schaltungsanordnung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß der Schaltungsanordnung verschiedene Zahlenformate, wie die Zahlen in Zweierkomplement Darstellung, Booth-codierte Zahlen oder Zahlen in einer anderen redundanten Darstellung sowie in gemischter Form, zugeführt werden.
- Schaltungsanordnung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß von der Schaltungsanordnung beim Umschalten in den Addierer-Modus die Eingangspegel an allen im Addierer-Modus abzuschaltenden Zellen zur Bildung von Bit-Produkten auf dem bis zum Umschalten anliegenden Pegeln gehalten werden und weitergehend die abgeschalteten Bit-Produkte von dem Addierer-Block abgetrennt werden.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE1997117970 DE19717970B4 (de) | 1997-04-28 | 1997-04-28 | Schaltungsanordnung einer digitalen Baugruppe zur Multiplikation und Addition von Binärzahlen |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE1997117970 DE19717970B4 (de) | 1997-04-28 | 1997-04-28 | Schaltungsanordnung einer digitalen Baugruppe zur Multiplikation und Addition von Binärzahlen |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19717970A1 DE19717970A1 (de) | 1998-10-29 |
DE19717970B4 true DE19717970B4 (de) | 2006-11-09 |
Family
ID=7828029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE1997117970 Expired - Fee Related DE19717970B4 (de) | 1997-04-28 | 1997-04-28 | Schaltungsanordnung einer digitalen Baugruppe zur Multiplikation und Addition von Binärzahlen |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE19717970B4 (de) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0186958B1 (de) * | 1984-12-18 | 1992-06-10 | National Research Development Corporation | Digitaler Datenprozessor für Matrix-Vektor-Multiplikation |
EP0517429A2 (de) * | 1991-06-07 | 1992-12-09 | National Semiconductor Corporation | Zentralverarbeitungseinheit mit integrierter Multiplizier-Akkumulier-Einheit |
DE4242929A1 (de) * | 1992-12-18 | 1994-06-23 | Philips Patentverwaltung | Schaltungsanordnung zum Bilden der Summe von Produkten |
-
1997
- 1997-04-28 DE DE1997117970 patent/DE19717970B4/de not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0186958B1 (de) * | 1984-12-18 | 1992-06-10 | National Research Development Corporation | Digitaler Datenprozessor für Matrix-Vektor-Multiplikation |
EP0517429A2 (de) * | 1991-06-07 | 1992-12-09 | National Semiconductor Corporation | Zentralverarbeitungseinheit mit integrierter Multiplizier-Akkumulier-Einheit |
US5311458A (en) * | 1991-06-07 | 1994-05-10 | National Semiconductor Corporation | CPU with integrated multiply/accumulate unit |
DE4242929A1 (de) * | 1992-12-18 | 1994-06-23 | Philips Patentverwaltung | Schaltungsanordnung zum Bilden der Summe von Produkten |
Also Published As
Publication number | Publication date |
---|---|
DE19717970A1 (de) | 1998-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0123921B1 (de) | Parallelverknüpfungsschaltung mit verkürztem Übertragsdurchlauf | |
DE69731700T2 (de) | Arithmetischer Schaltkreis und arithmetisches Verfahren | |
DE102020113922A1 (de) | Multipliziererschaltungsanordnung mit reduzierter latenz für sehr grosse zahlen | |
DE102006004557A1 (de) | Kryptografische Logikschaltung und Kryptografieverfahren | |
DE3888230T2 (de) | Einrichtung und Verfahren zur Durchführung einer Schiebeoperation mit einer Multipliziererschaltung. | |
DE4430195B4 (de) | Verfahren zur Auswertung von Booleschen Ausdrücken | |
DE102007056104A1 (de) | Verfahren und Vorrichtung zur Multiplikation von Binäroperanden | |
DE3852576T2 (de) | Einrichtung und Verfahren für eine erweiterte Arithmetik-Logik-Einheit zur Beschleunigung der ausgewählten Operationen. | |
DE10219158B4 (de) | Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer modularen Multiplikation | |
EP1677185A1 (de) | Vorrichtung und Verfahren zum Umsetzen und Addiererschaltung | |
DE1187403B (de) | Verfahren und Einrichtung zur logischen Verknuepfung zweier Operanden | |
DE19717970B4 (de) | Schaltungsanordnung einer digitalen Baugruppe zur Multiplikation und Addition von Binärzahlen | |
DE3828290A1 (de) | Addierer und addierschaltung zur verwendung des addierers | |
EP0130397A1 (de) | Digitales Rechenwerk | |
DE19644688B4 (de) | Schaltungsanordnung einer digitalen Multiplizierer-Baugruppe, zur Verarbeitung von Binärzahlen sowie Elementen aus GF(2m) | |
DE10117041C1 (de) | Carry-Ripple Addierer | |
DE3933172A1 (de) | Akkumulator fuer komplexe zahlen | |
DE1241159B (de) | UEbertragschaltung fuer ein Schnelladdierwerk | |
DE10106085B4 (de) | Verfahren und Anordnung zur Finiten Feld Multiplikation | |
EP0433315A1 (de) | Schaltungsanordnung zur addition oder subtraktion von im bcd-code oder dual-code codierten operanden | |
EP0629943B1 (de) | Multiplizierer für reelle und komplexe Zahlen | |
DE19630435C1 (de) | Schaltungsanordnung zur Multiplikation einer ersten komplexen Eingangsgröße mit einer zweiten komplexen Eingangsgröße | |
EP0752130B1 (de) | Multiplizierer mit geringer laufzeit | |
EP1476806B1 (de) | Verfahren und anordnung zur zusammenführung von daten auf parallelen datenpfaden | |
DE10050589B4 (de) | Vorrichtung und Verfahren zur Verwendung beim Durchführen einer Gleitkomma-Multiplizier-Akkumulier-Operation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OM8 | Search report available as to paragraph 43 lit. 1 sentence 1 patent law | ||
8127 | New person/name/address of the applicant |
Owner name: SYSTEMONIC AG, 01099 DRESDEN, DE |
|
8110 | Request for examination paragraph 44 | ||
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: NXP SEMICONDUCTORS GERMANY GMBH, 22529 HAMBURG, DE |
|
8327 | Change in the person/name/address of the patent owner |
Owner name: NXP B.V., EINDHOVEN, NL |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |
Effective date: 20121101 |