DE2913327A1 - Multiplizierer fuer binaerdatenwoerter - Google Patents

Multiplizierer fuer binaerdatenwoerter

Info

Publication number
DE2913327A1
DE2913327A1 DE19792913327 DE2913327A DE2913327A1 DE 2913327 A1 DE2913327 A1 DE 2913327A1 DE 19792913327 DE19792913327 DE 19792913327 DE 2913327 A DE2913327 A DE 2913327A DE 2913327 A1 DE2913327 A1 DE 2913327A1
Authority
DE
Germany
Prior art keywords
multiplier
signals
binary data
data word
complement
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.)
Granted
Application number
DE19792913327
Other languages
English (en)
Other versions
DE2913327C2 (de
Inventor
Thomas James Balph
Richard Henry Lane
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Motorola Inc filed Critical Motorola Inc
Publication of DE2913327A1 publication Critical patent/DE2913327A1/de
Application granted granted Critical
Publication of DE2913327C2 publication Critical patent/DE2913327C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • G06F7/5324Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel partitioned, i.e. using repetitively a smaller parallel parallel multiplier or using an array of such smaller multipliers

Landscapes

  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Multi Processors (AREA)
  • Lock And Its Accessories (AREA)

Description

2913327 Dipl.-Phys. O.E. Weber _ £ D-e München 71
Patentanwalt Hofbrunnstraße 47
Telefon: (089)7915050
Telegramm: monopolweber manchen
M 1110
MOTOROLA ING.
1;)0j; iC-'r't Alfjonquin I-ioscl
SchruBiburg, 111. 60196
Multiolizierer für Binärd-.tenviörter
90984 Ο/0909
RAD ORtGlNAL
Zusammenfassung;
Es wird ein erweiterbarer Matrix-Multiplizierer offenbart, der eine asynchrone Folgeadditions-Technik zur Multiplikation von zwei entweder als Lineargrößen oder als Zweierkomplementgrößen geschriebenen Zahlen benutzt. Zur Vereinfachung der Erweiterung auf größere Matrixformen sind ein erster und ein zweiter Steueranschluß vorgesehen. Die Steueranschlüsse können programmiert werden, um entweder die Zweierkomplement- oder die Lineargrößen-Multiplikation auszuwählen. Pur eine Zweierkomplement-Multiplikation werden die Steuereingänge entsprechend der relativen Position des einzelnen Multiplizierers innerhalb einer erweiterten Matrix derart programmiert, daß die geeigneten Zweierkomplement-Korrekturausdrücke innerhalb des einzelnen Multiplizierers erzeugt werden. Zur weiteren Verbesserung der Arbeitsweise des Multiplizierers wird eine Übertrag-Erwartungs-Technik benutzt.
Die Erfindung betrifft allgemein betrachtet Multiplizierer-Schaltungen und insbesondere einen asynchronen Folgeadditions Multiplizierer von hoher Geschwindigkeit.
Eine digitale Hochgeschwindigkeits-Multiplikation ist oft erforderlich zur Echtzeit-Computerverarbeitung bei solchen Aufgaben wie digitales Filtern, Signalverarbeiten und schnell Fourier-l'ransformat ionen.
Synchrone iterative Schiftadditions-Techniken sind wenig geeignet, wenn die Geschwindigkeit ein kritischer Faktor ist. Deswegen wurden Matrix-Multiplizierer zur asynchronen Erzeugung des Produktes von zwei Zahlen entwickelt. Eine derartige Multiplizierer-Schaltung wurde von Douglas Geist in dem Aufsatz "MOS Processor Picks Up Speed With Bipolar Multipliers" in Electronics, 31. März 1977, Seiten 113-115 diskutiert.
9Q9840/09G8
Eine wünschenswerte Eigenschaft einer i-iultiplizierer-Schallung ist die Fähigkeit, die Multiplikation mit Zahlen auszuführen, die in verschiedenen Zahlensystemen präsentiert werden. Bei einigen Anwendungen erfolgen die Zahlen-Eingaben an die Multiplizierer-Schaltung in Absolutwerten (Lineargrößen-Form). Bei anderen, sogenannten Zeichengrößen-Anwendungen ist ein Zeichen-Bit mit dem Größen-Abschnitt der Zahl gekoppelt, um positive und negative Größen anzuzeigen. Bei wieder anderen Anwendungen wird eine Zweierkomplement-Zahlendarstellung benutzt, um sowohl positive als auch negative Zahlen darzustellen. Ein Vorteil der Zweierkomplement-Niederschrift besteht darin, daß die Subtraktion einer ersten Zahl von einer zweiten durch Addition des Zweierkomplements der ersten Zahl zu der zweiten Zahl ausgeführt werden kann, wodurch die Notwendigkeit einer Abzugsgröße ausgeschaltet wird. Sowohl Größen-, Zeichengrößen- und Zweierkomplement-Zahlensysteme sind der Fachwelt wohl bekannt und bedürfen hier keiner Beschreibung,, P1Ur eine ausführlichere Übersicht der binären Zahlensysteme sei auf Gear, Computer Organization and Programming, McGraw-Hill Book Company, 1969 hingewiesen.
Es können Anwendungen vorkommen, bei welchen sowohl Lineargroßenals auch Zweierkomplement-Zahlen durch die gleiche Multiplizierer-Schaltung zu multiplizieren sind. Matrix-Multiplizierer-Schaltungen herkömmlicher Art sind nicht dazu ausgelegt, den Multiplizierer programmieren zu können, das heißt ihn zwischen Lineargrößen- und Zweierkomplementgrößen-Arbeitsweise umschalten zu können. So wird es anzuerkennen fjoin, daß aiii L'atrix-Kultipliaierer, dex1 wahlweise rs teuerbar sein kann, zur Interpretierung einer gegebenen Anzahl von Eingangs-ßits entweder als Lineargrößen-Zahl oder als Zweierkomplement-Zahl, gegenüber dem Stand der Technik eine bedeutende Verbesserung wäre.
Eine weitere wünschenswerte Eigenschaft einer Multipliziererschaltung ist ihre Einrichtung zur Erweiterung mehrerer
9098^0/0900
solcher Schaltungen in eine Matrix zur Multiplikation von Zahlen mit Bitmengen, welche die Kapazität einer einzelnen Multiplizierer-Schaltung übersteigen. Da die Standard-Bitlänge von Computer-Datenwörtern anzusteigen fortfährt, gewinnt die Notwendigkeit größerer Multiplizierer-Matrizen an Bedeutting. Die Herstellung wirtschaftlich vertretbarer monolithischer IIochgeschwindigkeits-Multiplizierer-Schaltungen ist beim derzeitigen Stand der integrierten Schaltungstechnik auf eine Schaltung zur Multiplikation von zwei 16-i3it-Operanden beschränkt.
Es sind herkömmliche Multiplizierer-Schaltangen bekannt, welche zur Bildung einer erweiterten Multiplizierer-Matrix die Zusammenschaltung mit gleichen Schaltungen gestatten. Bei der Bildung einer erweiterten. Matrix wird jeder der Operanden in Segmente unterteilt, wobei jedes Segment eine Bit-Menge hat, welche der Kapazität der einzelnen Multiplizierer-Schaltung entspricht. Wenn die Operanden in Zweierkomplement-i'Orm sind, zeigt das bedeutendste Bit (Zeichen-Bit) eines Operanden an, ob er positiv oder negativ ist. Wenn der Operand negativ ist, dann müßten innerhalb der Multiplizierer-Schaltung Korrektur-Ausdrucke gebildet werden, um ein geeignetes Zweierkornplement-Produkt zu liefern. Die herkömmlichen Multiplizierer-Schaltungen haben zusätzliche Eingangsanschlüsse, welche nur dazu benutzt werden, das Zweierkomp lein ent-Zeichenbit eines jeden Operanden zu empfangen. Diese zusätzlichen Eingangsanschlüsse müssen aber für diese Multiplizierer-Schaltungen innerhalb der Matrix, welche die Zweierkomplement-Zeichenbits der Operanden nicht empfängt, auf eine logische "Hull" fest verdrahtet werden. Diese zusätzlichen Eingangsanschlüsse sind mit den Addierschaltungen verbunden zum Addieren von Korrektur-Ausdrucken in einer Zweierkomplement-Multiplikation« Füx solche Multiplizierer-Schaltungen unterer Ordnung, für welche die zusätzlichen Eingangsanschlüsse auf eine logische "Null" fest verdrahtet sind, sind die zum Addieren der Korrektur-Ausdrucke benutzten Addier-Schaltungen untätig. Somit wird deutlich,
909840/0909
daß eine Multiplizierer-Schnltung, die leicht in eine große Multiplizierer-Mi;trix erweitert werden krnr und nicht der Hinzufiigung von beponaeren Addierschaltungen zur internen Addition von Korrektur-Aufdrucken wrhrend cinor Zv/aierkomplemerit-Kultiplikation bedarf, gegenüber dem Strand der Technik ein bedeutender Fortöchritt ist.
Äufgrbe der Erfindimp- it-t die Sr-ΐκ ffun.^ einer. Iiultit>li der durch 3fcouorein;-rän3'e "orofcr.· nitiiert werden k-nn, zwei Operanden zu multiplizieren, die entweder als Line^r^VOHo/-! oder
If. ZueierkornpleTnenb^röCien ä--r:'-ertell b eind, und Λ-τ entsprechende Produkt au erzeup:en.
j£ln weitei'er; Anliefen der Erfinduntr .L.rt die Herrtellunf; einec-; rlaltipliziererr, de:,· zur Bildung einer Multirjlizierer-M; trir leicht erv/eiterü v/erden k^nn zur Hultiplikfition von zwei Opei·-·. nden, die entweder in Liner rgrößen- oder in Zweierkomplement i'ürm d ·: ■ τξ-'βr. te 111 r.ind.
Ein v/eiterer AnJ.iogen der Erfindung ist die Hern teilung einen Multiplizierex-s, der leicht in eine ZweierkoiiipleFient-Multiplizierer-Iietrix erweiterbar ist, in welcher jeder Multiplizierer durch iJteuerein^änge progrummiei't werden kenn, während einer Zweierkomplement-Multiplikation die geeigneten Zweierkomplement-RT-euzprodukt-Aurdrucke zu liefern.
jJin veiterep Anliegen der Erfindung ±et die Herstellung eines Multiplizierer?; zur Multiplikation von zvrei entwedei' in Linecr ;:;rößen- oder in Zweiei'komplement-i'orm dargestellten Operanden und welcher die Notv/endigkeit erübrigt, zurätzlichf Addierer vorzusehen, um während einer Zweierkomplement-Multiplikation die Zweierkomplement-Korrektur-Auadrucke zu addieren.
Kurz ger.Mgt, betrifft die Erfindung einen Multiplizierer, der d;ο Produkt eines ersten und eines zweiten entweder in Line:rgrößen- oder in Zweierkomplement-Notierung vorliegenden Binärdftenwortes erzeugt. Ein erster und ein zweiter Steuer^nschluß
8098AO/O90S
BAD ORKälNÄL
empfangen ein erstes bzw. ein zweites Steuersignal, welche zu der Anzeige benutzt werden, ob das erste und das zweite Binärdatenwort in Lineargrößen- oder in Zweierkomplement-Form vorliegt ο Das erste und das zweite Binärdatenwort werden von mehreren logischen Toren empfangen, welche auf das erste und das zweite Steuersignal ansprechen und mehrere Kreuzprodukt-Signale liefern. Die Kreuzprodukt-Signale werden dann durch Addierer summiert in Übereinstimmung mit der binären Bewertung der einzelnen Kreuzprodukt-Signale, um das Produkt des ersten und des zweiten Binärdatenwortes zu bilden« Der erste und der zweite Steueranschluß gestatten die Zwischenverbindung einer Mehrzahl derartiger Multiplizierer zur Bildung einer erweiterten Zweierkomplement-Multiplizierer-Matrix, wobei die relative Position eines jeden der Multiplizierer innerhalb der erweiterten Matrix durch die Steuersignale angezeigt ist, welche von dem ersten und dem zweiten Steueranschluß empfangen werden.
V/eitere Einzelheiten mögen nun anhand der beigefügten Zeichnungen erläutert sein, die im einzelnen folgendes darstellen:
Pig. 1 ist ein Blockdiagramm einer erweiterbaren 4x8 Matrix-Multiplizierer-Schaltung, welches die Eingangs- und Ausgangsanschlüße zum Anschließen der Schaltung zeigt«
Pig. 2 ist eine Tabelle von Zweierkomplement-Kreuzprodukt-Ausdrücken, welche durch die Multiplikation eines 8-Bit-Multiplikanden und eines 4-Bit-Multiplikators erzeugt werden.
Pig. 3 ist eine Tabelle von Zweierkomplement-Kreuzprodukt-Ausdrücken, welche entsprechend einem Merkmal der Erfindung durch ein erstes und ein zweites Steuersignal modifiziert sind ο
Pig. 4 ist ein Blockdiagramm eines erweiterten 8x16 Matrix-Multiplizierers, welcher vier Multiplizierer der in Pig. 1 gezeigten Art umfaßt.
909840/0903
Jj1Ig0 5 ist ein detailliertes Blockdiagramm der in Pig. 4 gezeigten erweiterten Matrix und zeigt die Zwischenverbindungen zwischen den einzelnen 4x8 Multiplizierern.
Pig. 6 ist ein Blockdiagramm einer erweiterten Multiplizierer-Matrix, welche die Programmierung der ersten und der zweiten Steuereingänge für eine Zweierkomplement-Multiplizierer-Matrix von unbestimmter Größe veranschaulicht.
Pig. 7 ist ein Blockdiagramm eines 4x8 Multiplizierers entsprechend der bevorzugten Ausgestaltung der Erfindung, welches Torschaltungen, Addierer-Blöcke und einen Übertrag-Erwartungs-BIock umfaßt.
Pig. 8A, B ist ein Logik-Diagramm, welches die Vorschaltungen im Detail zeigt und die in den Voll- und Halbaddierer-Lücken enthaltene Logik illustriert.
Pig. 9 ist ein Logik-Diagramm, welches dem in Pig. 7 und Pig. 8A, B gezeigten Übertrag-Erwartungs-Block entspricht.
In Pig. 1 sind die an einem 4x8 Matrix-Multiplizierer angeschlossenen Ausgangsanschlüsse entsprechend einer bevorzugten Ausgestaltung der Erfindung gezeigt. Der 8-Bit-Multiplikant wird dem Multiplizierer über die Eingangsanschlüsse X0-Xn angeboten, wobei X dem höchstwertigen Bit entsprichto Der 4-Bit-Multiplikator wird dem Multiplizierer über die Eingangsanschlüsse Y -Y angeboten, wobei Y dem höchstwertigen Bit des Multi-
SO S
plikators entspricht„ Ein 12-Bit-Produkt wird über die Ausgangsanschlüsse S11-S0 abgegeben, wobei S11 dem höchstwertigen Bit des Produktes entspricht. Ein erster und ein zweiter Steuereingang O1 und Op werden zur Programmierung des Multiplizierers benötigt, wie noch beschrieben wirds Die Eingangsanschlüsse M3-M0 und K6-K0 sind Srweiterungs-Eingänge, welche benötigt'werden, wenn ein Multiplizierer innerhalb einer größeren Matrix derartiger Multiplizierer zwischengeschaltet wird. Die Eingänge
909840/090)
2313327
X3 1 und Y3' dienen als zusätzliche Erweiterungs-Eingänge und werden ebenso benutzt, wenn der Multiplizierer zur Durchführung von Zweierkomplement-Multiplikationen benutzt wird, wie
Der von der bevorzugten Ausgestaltung der Erfindung zur Erzeugung des Produktes benutzte Algorithmus ist die "Polgeaddition", welche kein schiften von Teilprodukten erfordert. Eine kurze Herleitung des zur Durchführung der Zweierkomplement-Multiplikation benutzten Algorithmus sei nun beschrieben. Ein Zweierkomplement-Multiplikant X mit N-Bits und ein Zweierkomplement-Multiplikator Y mit M-Bits können angeschoben werden als:
X = -Ϊ214'1 + £ Xlf2iC (1)
3 k=0 ic
M-2
Y = -YS2M"1 + S Yi2i 2)
Dann ergibt sich das Zweierkomplement-Produkt Z dieser beiden Zahlen mit:
z = χ γ zM+N-2 + I2N-1 (_ j. γ2Ι}
SS S ^_q X
μ λ N-2 . ΒΓ-2 M-2 . · 2M-1(_ Σ X1 2k) + I Σ XY2k+1 (3) s k=0 c k=0 i=0
Unter einfacher Anwendung der Zweierkomplement-Arithmetik kann gezeigt werden, daß:
M-2 j, M-2
- Σ Y.21 = -2M~1 + ( Σ Ϋ.21) + 1 (4)
i=0 X i=0 X
K£2 Xv2k = -2N~1 + ( Ni2 Xv2k) + 1 (5)
k=0 k=0
0/0909
Durch Einfügen von (4) und (5) in (3) ergibt sich das Produkt Z wie folgt:
Z = ΧΛ2Μ+Η"2 - XS2M+W-2 + SxO""1 ([Y T.21) ♦ Π
,M+N-2 . ,r OM-1 -/ N;2
N-2 M-2
+ Σ Σ XvY,2
"Durch Anwendung der nachstehenden Gleichungen
γ «M+N-2 «M+N-2 . « «M+N-2 /,,x
-Xs2 = -2 + Xs2 (7)
s2 2 + Xs
_r 2M+N-2 = _2M+N-2 + 7 2M+N-2
Ξ 3
und durch weitere Vereinfachung von (6) kann das Produkt Z wie folgt ausgedrückt werden;
Z = -2M+N-1 + (X Y + X^ + ?
M—2
+ X 2N"1[( Σ Ϋ.21) + 1] i=0
γ 2M-1 [( Nf2 12^ + ,J
s k=0 K
N-2 M-2 w,
1 I X^r12k+1 (9)
k=0 i=ü
90984Π/0909
Aus der Gleichung (9) erkennt man, daß in dem Algorithmus vier Typen von Basis-Kreuzprodukt-Ausdrucken auftreten. Zuerst gibt es Kreuzprodukt-Ausdrucke, welche nur das Zeichenbit des Multiplikanden Xs oder nur das Zeichenbit des Multiplikators Y oder sowohl X3 als auch Yg enthalten; diese erste Gruppe von Ausdrucken entspricht (XQYa + la + Ϋσ)2Μ+Ν~2. Zweitens gibt es Ausdrucke, welche das Zeichenbit des Multiplikanden X multipliziert mit den komplementierten Y-Bits aufweisen entsprechend
Χ 32Ν"1 IK Mf2 %£l) + 1J · Drittens gibt es Ausdrucke, welche
i=0
das Zeichenbit des Multiplikators Y multipliziert mit den komplementierten X-Bits aufweisen entsprechend Y 2M~1 f( %2 X1 2k) + 17
3 kio * Schließlich gibt es solche Ausdrucke, welche weder das Zeichenbit des Multiplikanden noch das Zeichenbit des Multiplikators aufweisen. Diese vierte Gruppe von Ausdrucken ist charakterisiert durch die Multiplikation gerader Größen.
Als Beispiel für die Anwendung des Algorithmus zeigt Pig. 2 eine Tabelle von Kreuzprodukt-Ausdrucken, die für eine Zweierkomplement-Multiplikation eines 8-Bit-Multiplikanden und eines 4-Bit-Multiplikators erzeugt sind. Die Kreuzprodukt-Ausdrucke sind entsprechend ihren binären Gewichten in Spalten gruppiert. Das Produkt Z entsteht durch Addition der Kreuzprodukt-Ausdrucke in den einzelnen Spalten und Addition der in jeder Spalte erzeugten Überträge zu der nächsthöherwertigen Spalte.
Als weiteres Beispiel zur Anwendung des Algorithmus sei angenommen, daß ein 16-Bit-Multiplikand X mit einem 8-Bit-Multiplikator Y multipliziert werden soll. Ferner sei angenommen, daß die Multiplikation durch eine Matrix aus 4x8 Bit-Multiplizierern wie in Fig. 4 gezeigt durchgeführt wird. Die vier Quadranten der erweiterten Matrix sind als Quadrant 00, Quadrant 10, Quadrant 01 und Quadrant 11 bezeichnet. Der Quadrant 00 empfängt weder das Zeichenbit des Multiplikanden X noch das Zeichenbit des Multiplikators Y. Somit kann die durch den Quadranten 00 ausgeführte Multiplikation wie folgt ausgedrückt werden:
Σ Σ XkYi2k+i
k=0 i-0
809840/0909
Der Quadrant 10 empfängt das Zeichenbit X des Multiplikanden aber nicht das Zeichenbit Y des Multiplikators. Polglich kann die durch den Quadranten 10 ausgeführte Multiplikation wie folgt ausgedrückt werden:
14 3 · 3
1 I X. Y,2k+1 + X 215 ( £ Ϋ.21) + 1 k=8 i=0x s i=0 x
Der Quadrant 01 empfängt das Zeichenbit des Multiplikators Y , aber nicht das Zeichenbit des Multiplikanden. Deswegen kann die durch den Quadranten 01 ausgeführte Multiplikation wie folgt angeschrieben werden:
76 k+i 7 7 - k
Z ί XkY.2K+1 + 12' ( t Xk2*) + 1
k=0 i=4 k X S k=0 k
Schließlich empfängt der Quadrant 11 sowohl das Zeichenbit X als auch das Zeichenbit Y . Deswegen kann die durch den Quadranten 11 ausgeführte Multiplikation wie folgt ausgedrückt werden:
-223 + (XsYs + X3 + Ϋ3)·222
-IR 6 i
+ X 2° ( Σ Ϋ.21) + 1
s i=4 χ
7 H k 14 6
+ T2'( I XV2 ) + 1 + £ ί XOT 3 k=8 k k=8 i=4 k X
Somit umfaßt ,jeder der Quadranten der erweiterten Multiplizierer-Matrix einen oder mehrere der -vorerwähnten vier Basis-Kreuzprodukt-Ausdrucke, was durch die relative Position des einzelnen Quadranten innerhalb der erweiterten Matrix festgelegt ist.
Nun wird es für den Fachmann deutlich, daß durch Benutzung der in Eig. 4 beschriebenen vier Quadranten eine erweiterte Zweierkomplement-Multiplizierer-Matrix von beliebiger Größe
809840/0
gebildet werden kann. Beispielsweise zeigt Figo 6 eine erweiterte Zweierkomplement-Multiplizierer-Matrix, welche zur Multiplikation von Operanden beliebiger Bit-Menge benutzt werden kann. Die Multiplizierer-Matrix besteht nur aus den vier Typen von Multiplizierer-Quadranden, die schon im Zusammenhang mit Fig. 4. beschrieben wurden. Die Bereiche 12 und 15 in Fig. 6 zeigen an, daß die Anzahl der Reihen und Spalten von Multiplizierer-Quadranten zur Anpassung an jede gewünschte Bit-Länge des Multiplikanden und des Multiplikators erweiterbar ist.
Nun sei gezeigt, daß der Basis-Algorithmus durch Hinzufügen von zwei Steuerleitungen modifiziert werden kann, wodurch man einen einzigen 4x8 Multiplizierer erhält, der zur Durchführung der Funktion eines jeden der im Zusammenhang mit Fig. diskutierten Quadranten programmiert werden kann. Die Steuerleitungen haben folgende Beziehung zu den vier Quadranten:
C2 G1 Quadrant
O 0 00
0 1 01
1 0 10
1 1 11
Nach der Modifizierung ergibt sich der Algorithmus zum Erhalt des Produktes Z wie folgt:
+ Y 2M-1(C. E1I2 Xk2kJ + S1 ΕΥ Xk-2kj) s Ί k=0 k=0
+ X2H-1(CoU V1 +O2LI Y^1J) 3 ^ i=0 x i=0
Y ·2Μ-1 + X ·2Ν-1 + C/ÜXX
S S 1 *- S S
909840/090$
+ "> Σ X Y 2^+-*- wo das Symbol "." die logische UND-k=0 i=Ü k *■
Funktion angibt und das Symbol »+» Addition bedeutet. Die Anwendung dieses modifizierten Algorithmus auf eine 4x8 Multiplikation resultiert in der in Fig. 5 dargestellten Tafel von Kreuzprodukt-Ausdrucken. Aus Fig. 5 ist zu sehen, daß für den Fall, in welchem die Steuereingänge G^ und C2 beide "0" sind, die Kreuzprodukt-Ausdrucke auf die Gerade-Größen-Multiplikation eines 4-Bit- und eines 8-Bit-Operanden zurückgehen. Es ist auch zu sehen, daß für den Fall, in welchem die Steuereingänge C.J und O2 beide "1" sind, die Kreuzprodukt-Ausdrucke mit den in Fig. 2 für eine 4 x 8 Zweier-Komplement-Ilulbiplikabion gezeigten identisch sind. Durch Programmierung der Steuereingänge O^ und G2 kann der 4 x 8 Multiplizierer die Funktion eines jeden der vier in Fig. 4 gezeigten Quadranten ausführen. Somit kann der i3asis-4 x 8 Multiplizierer leicht erweitert werden, um eine Multiplizierer-Matrix von jeder gewünschten Größe zu bilden.
In Fig. 5 ist die 8 χ 16 Zweier-Komplement-Multiplizierer-Matrix der Fig. 4 detaillierter dargestellt. Die Multiplizierer 16, 18, 20 und 22 sind 4x8 Multiplizierer entsprechend der bevorzugten Ausgestaltung der Erfindung. Der Multiplizierer 16 ist derart programmiert, daß die Steuereingänge G.. und G2 beide eine logische "0" sind, wodurch der Multiplizierer 16 dem Quadranten 00 entspricht o Der Multiplizierer 16 empfängt die geringstwertigen 8 Bits (X7-X0) des Multiplikanden und die vier geringstwertigen Bits (Yz-Yn) des Multiplikators. An den Ausgangsanschlüssen S....-Sq
erhält man ein 12-Bit Produkt des MuItiplizierers 16. Die Ausgangs-Bits S-^-S0 sind die vier geringstwertigen Produkt-Bits des endgültigen Multiplikationsprodukteso Die Ausgangs-Bits S11-S. des Multiplizierers 16 müssen jedoch mit Ausgangs-Bits des Multiplizierers 18 und mit innerhalb des Multiplizierers 20 gebildeten Kreuzprodukt-Ausdrucken addiert werden, bevor die endgültigen Produkt-Bits für die 2 über 24 Bit-Positionen erzeugt sind. Das Ausgangs-Bit S. des Multiplizierers 16 ist beispielsweise
909840/0909
über die Leitung 24 mit dem Erweiterungseingang M0 des Multiplizierers 20 verbunden. Innerhalb des Multiplizierers 20 werden das Eingangssignal Y^ auf der Leitung 26 und das Eingangssignal X„ auf der Leitung 28 logisch verarbeitet, um das Signal X,. Y. zu bilden. Dieses Signal wird dann mit den M^-Eingang auf der Leitung 24 addiert, um das endgültige Produkt-Bit P, zu bilden. Zur Bildung des endgültigen Produkt-Bits P12 des Multiplisierers sind in ähnlicher Weise der Ausgang S, des Multiplizierers 18 über die Leitung 30 auf den Erweiterungs-Eingang MQ des Multiplizierers 22 und der Ausgang S8 des Multiplizierers 20 über die Leitung 32 mit dem Erweiterungs-Eingang K0 des Multiplizierers verbunden. Das Signal Y- und das Signal X8 sind über die Leitungen 34 bzw. 36 ebenfalls mit dem Multiplizierer 22 verbunden. Die Signale Xß und Y. werden innerhalb des Multiplizierers 22 logisch verarbeitet, um das Signal XQ Y, zu bilden, welches mit den beiden an den Erweiterungs-Eingängen M0 und K0 empfangenen Signalen addiert wird, um das endgültige Produkt-Bit P.. ρ zu. bilden.
Da der Multiplizierer 16 nur die geringstwertigen Bits des Multiplikanden und des Multiplikators empfängt, sind die (nicht gezeigten) Erweiterungs-Eingänge M und K unbenutzt und müssen auf einen logischen Eingangs-Pegel 11O" gebracht werden. Auch die (nicht gezeigten) Eingänge X3' und Y3 1 des Multiplizierers 16 sind unbenutzt und müssen ebenso auf einen logischen Eingangs-Pegel "0" gebracht werden. Ähnlich müssen alle unbenutzten Eingänge der Multiplizierer 18, 20 und 22 auf einen logischen Eingangs-Pegel "0" gebracht werden.
An dem Multiplizierer 18 ist das Eingangssignal X^ an dem Eingang X angeschlossen, ähnlich ist an dem Multiplizierer 20 das Ein-
gangssignal Y7 an dem Eingang Y3 angeschlossen. Der schon besprochene Algorithmus der Zweier-Komplement-Multiplikation erfordert, daß die Eingangssignale X und Y7 mit den binär als 2 bzw. 2' bewerteten Positionen addiert werden. Zu diesem Zweck können die Eingänge X ' und Y · benutzt werden. An dem
s s
9098 4 0/0909
Multiplizierer 18 könnte das Eingangssignal X15 direkt mit dem Eingang X3 1 verbunden werden. Wie in Pig. 5 gezeigt, benutzt die bevorzugte Ausgestaltung aber einen externen Block mit einem darin befindlichen UND-Tor 33, um das Eingangssignal X15 auf den Eingang X3' zu koppeln. Für die Zweier-Komplement-Multiplikation ist das Steuersignal C2 ein logischer "1"-Pegel, wodurch das Eingangssignal X15 durch das Tor 33 auf den Eingang X^' übertragen wird» In ähnlicher Weise wird ein externer Block 35 mit einem darin befindlichen UND-Tor 37 benutzt, um das Eingangssignal X7 auf den Eingang Y ' des Multiplizierers 20 zu koppeln. Wiederum ist für die Zweier-Komplement-Multiplikation das Steuersignal C. ein logischer "1"-Pegel.
Die Eingänge X ' und Y_' können außerdem als zusätzliche Er-
S 5
Weiterungs-Eingänge benutzt werden,, Mit kurzer Bezugnahme auf Fig. 3 ist der Eingang X ' su Kreuzprodukt-Ausdrucken in derjenigen Spalte addiert, welche der binären Wertigkeit 2 entspricht. Ähnlich ist der Eingang Y ' zu Kreuzprodukt-Ausdrucken
3 in derjenigen Spalte addiert, welche der binären Wertigkeit 2 entspricht. Somit kann X0 1 benutzt werden, um den Erweiterungs-Eingang M zu ergänzen und Y ' kann benutzt werden, um die Er-Weiterungs-Eingänge M^ und K^ zu ergänzen. Unter nochmaliger Bezugnahme auf Fig. 5 empfängt der Eingang Xg' des Multiplizierers 20 den S-, Summen-Aus gang des Multiplizierers 18 und der Erweiterungs-Eingang M des Multiplizierers 20 empfängt den S11 Summen-Ausgang des Multiplizierers 16, um das P11 Produkt-Ausgangs-Bit zu bilden, welches der Position mit der binären 11
Wertigkeit 2 entspricht. An dem Multiplizierer 18 ist der (nicht gezeigte) Eingang Y ! nicht benutzt und deswegen mit einem logischen "0" Eingangspegel verbunden. Ähnlich sind an dem Multiplizierer 22 die (nicht gezeigten) Eingänge X3 1 und
Y ' nicht benutzt und mit einem logischen "0" Eingangspegel s
verbunden.
Zur Umwandlung der in Fig. 5 gezeigten Zweierkomplement-Multiplizierer-Matrix in eine Direktgrößen-Multiplizierer-Matrix
909840/0909
"bedarf es nur der Modifizierung der Steuersignale C1 und Cp. Die Steuersignale G1 und G2 für die Multiplizierer 18, 20 und 22 werden alle auf eine logische "0" gebracht, so daß diese Multiplizieren mm die ^lei^he Tj1MnVtion cn/mf-Hhr^n wi« der Multiplizierer 16. Es ist auch erforderlich, im Multiplizierer 18 das Eingangssignal X1,- von dem .eingang X · abzukoppeln und im Multiplizierer 20 das Eingangssignal Y7 von dem Eingang Yß f abzukoppeln. Zur Direktgrößen-Multiplikation müssen der
Eingang X ' des Multiplizierers 18 und der Eingang Y ' des s s
Multiplizierers 20 an einem logischen "0" Eingangspegel angeschlossen werden. In der in Fig. 5 gezeigten bevorzugten Ausgestaltung wird ein logischer "0" Pegel an den Eingang X ' des Multiplizierers 18 durch den Block 31 geliefert, weil der logische "0" Pegel des Steuersignals G2 den Ausgang des Tors auf einen logischen "0" Pegel zwingt. In ähnlicher Weise bewirkt der Block 35 einen logischen "0" Pegel an dem Eingang Y ' des Multiplizierers 20, weil der logische "0" Pegel des Steuersignals C1 den Ausgang des Tors 37 auf einen logischen "0" Pegel zwingt. Weiterhin können die programmierbaren Übergänge zwischen der Zweierkomplement- und der Direktgrößen-Arbeitsweise vereinfacht werden durch Kopplung der Cg-Anschlüsse des Multiplizierers 18, des MultipIizierers 22 und des Blocks 31 sowie der C1-AnSChIUSSe des Multiplizierers 20, des Multiplizierers 22 und des Blocks 35 an eine gemeinsame Steuerleitung, welche zur Auswahl der Zweierkomplement-Arbeitsweise einen logischen "1" Pegel und zur Auswahl der Direktgrößen-Arbeitsweise einen logischen "0" Pegel führt.
In Fig. 7 ist ein Blockdiagramm eines 4x8 Multiplizierers entsprechend der bevorzugten Ausgestaltung der Erfindung dargestellte Wie in Figo 7 gezeigt, besteht der Multiplizierer aus mehreren Tor-Elementen, YoIl- und Halbaddierer-Blöcken und einem Übertrag-Vorwegaddierer-Block. Der Addierer-Block 50 ist ein herkömmlicher Volladdierer mit drei Eingangsleitungen 51, 52 und 53 sowie zwei Ausgangsleitungen 54 und 55. Die Eingangsleitungen 51 und 53 dienen dem Empfang der
909840/0909
Erweiterungseingang-Signale KQ bzw. MQ. Die Eingangsleitung empfängt das Kreuzprodukt-Signal XqYq. Der Addierer-Block 50 addiert die Signale KQ, XqXq, und MQ in gemeinsamer binärer vveiüe und erzeugi; einen binären Summen-Ausgang auf der .Leitung 54 und einen binären Übertrag-Ausgang auf der leitung 55. Die Leitung 54 ist mit dem Ausgang S0 verbunden, der das geringstwertige Produkt-Bit liefert. Der auf der leitung 55 erzeugte Übertrag-Ausgang ist mit einem \Zolladdierer-Block 56 in der binär nächstbedeutenderen Position verbunden. Die übrigen Voll-Addierer-Blöcke in Fig. 7 arbeiten in ähnlicher Weise.
Der Halbaddierer-Block 60 hat zwei Eingangsleitungen 61und 62, welche die Erweiterungseingang-Signale K-, bzw. M^ empfangen. Diese beiden Eingangssignale werden binär addiert, um auf der Leitung 63 einen Summen-Ausgang und auf der Leitung 64 einen Üb ertrag-Ausgang zu erzeugen. Das Summen-Ausgangssignal auf der Leitung 63 ist mit einem der drei Eingänge des Volladdierer-Blocks 65 verbunden, welcher der gleichen Binärwert-Position wie der Halbaddierer-Block 60 zugeordnet ist. Das auf der Leitung 64 erzeugte Übertrag-Ausgangssignal ist mit einem der drei Eingänge des Volladdierer-Blocks 66 in der binär nächsthöherwertigen Position verbunden. Die übrigen Halbaddierer-Blöcke in Pig. 7 arbeiten in ähnlicher Weise.
Der Übertrag-Vorwegaddierer-Block 70 empfängt mehrere Summen- und Übertrag-Signale von den Addierer-Blöcken und erzeugt die Bits S1 .j-S-, des Ausgangsproduktes. Die Details des Übertrag-Vorwegaddierer-Blocks 70 sind in Pig. 9 dargestellt. Der Zweck des Übertrag-Vorwegaddierer-Blocks 70 ist die Verbesserung der Geschwindigkeit des Multiplizierers durch Vorwegnehmen und Erzeugen der Übertrag-Signale zu den binär bedeutenderen Positionen, wodurch die besondere Verzögerungszeit vermieden wird, die sich normalerweise ergibt, wenn Übertrag-Signale gleichzeitig eine Bit-Position in Richtung der bedeutendsten Bit-Position gekannt werden müssen. Pur den Fachmann aber ist ea klar, daß anstelle des Übertrag-Vorwegaddierer-Blocks 70 zusätzliche
909840/0909
Voll- und Halbaddierer-Blöcke eingesetzt werden können, um die endgültigen Ausgangs-Bits des Produktes zu bilden. Ein solcher Ersatz würde natürlich, eine längere Verzögerungszeit hervorrufen, bevor die Ausgangs-Bits des Produktes stabilisiert sind.
Pig. 8A, B ist ein Logik-Diagramm und zeigt den Multiplizierer der Pig. 7 in detaillierterer Form. Der Volladdierer-Block 50 entspricht dem schon in Zusammenhang mit Pig. 7 besprochenen Volladdierer-Block. Wiederum liefern die Leitungen 51, 52 und 53 drei Eingangs-Signale an den Volladdierer-Block 50. Das an die Leitung 52 gelegte Eingangs-Signal wird durch ein logisches UND-Tor 57 erzeugt. Das UND-Tor 57 hat zwei Eingänge 58 und 59, welche mit den Eingangs-Signalen XQ bzw. YQ verbunden sind. Wie in der Fachwelt wohl bekannt, ist der Ausgang des logischen Tors 57 nur dann eine logische "1", wenn die Eingangssignale X„ und Y„ beide eine logische "1" sind. Jede der Eingangsleitungen 51, 52 und 53 ist mit einem Eingang eines EXCLUSIVE-ODER-Tor 51 verbunden, welches die drei Eingangssignale addiert und auf der Leitung 54 eine Ausgangssumme erzeugt. Wie der Fachwelt wohl bekannt, ist der Ausgang des Tors 71 eine logische "1", wenn nur einer oder alle drei seiner Eingänge eine logische "1" führen, während der Ausgang eine logische "0" ist, wenn keiner oder nur zwei der Eingänge eine logische "1" führen. Der erste und der zweite Eingang des logischen Tors 72 sind mit den Leitungen 52 bzw. 53 verbunden, der erste und der zweite Eingang des logischen Tors 73 sind mit den Leitungen 51 bzw. 53 verbunden und der erste und der zweite Eingang des logischen Tors 74 sind mit den Leitungen 51 bzw. 52 verbunden. Folglich wird der Ausgang von wenigstens einem der logischen Tore 72, 73 und 74 eine logische "1" sein, wenn irgendwelche zwei der Eingangsleitungen 51, 52 und 53 eine logische "1" führen„ An den Ausgängen der logischen Tore 72, 73 und 74 liegen die Eingänge eines logischen ODER-Tors 75. Somit wird der Ausgang des logischen ODER-Tors 75 auf der Ausgangsleitung 55 für den Übertrag eine logische "1" erzeugen, wenn irgendwelche zwei oder mehr der Eingangsleitungen 51, 52 und 53 eine logische "1" führen.
909840/0909
- ysr-
In Fig. 8A, 3 sind auch die Details des im Zusammenhang mit Fig. 7 besprochenen Halbaddierer-Blocks 60 gezeigt. Die Eingangsleitungen 61 und 62 sind an die Eingänge des EXCLUSIVE-ODER-Tors 67 angeschlossen, welches auf der Leitung 63 eine Ausgangssumme liefert. Die Eingangsleitungen 61 und 62 sind auch mit den Eingängen eines logischen UND-Tors 68 verbunden, welches auf der Leitung 64 ein Übertrag-Ausgangssignal liefert, wenn die Eingänge K5 und M5 beide eine logische "1" sind.
In Fig. 9 ist ein Logik-Diagramm gezeigt, welches dem Übertrag-Vorwegaddierer-Block 70 in der Fig. 7 bzw. in der Fig. 8A, B entspricht. Die Eingangsleitungen 80, 97 in dieser Figur entsprechen den Summen- und Übertrag-Signalen, welche durch die Addier-Blöcke in Fig. 8A, B erzeugt werden. Der Übertrag-Vorwegaddierer ist konventioneller Art und wird nicht im Detail beschrieben. Die Vermeidung des vorerwähnten Geschwindigkeits-Verlustes durch das Kennen der Überträge kann wie folgt dargestellt werden,, Das logische Tor 100 erzeugt das endgültige Produkt-Ausgangsprodukt für S^5 entsprechend der Binärwert-Position 2*'; das logische Tor 101 erzeugt das endgültige Pro-
dukt-Ausgangsbit für S, entsprechend der Binärwert-Position 2 ; und das logische Tor 108 erzeugt das endgültige Produkt-Ausgangsbit für Se entsprechend der Binärwert-Position 2 . Die logischen Tore 102, 103, 104 und 105 erzeugen den' Übertrag von der Binärwert-Position S, zu der Binärwert-Position S,. Der Ausgang des logischen Tors 105 liefert den Übertrag an einen der Eingänge der Addier-Schaltung 101. Der am Ausgang des Tors 105 erzeugte Übertrag wird aber nicht von der Logik benutzt, welche den Übertrag von der S.-Position auf die Sc-Position erzeugt. Statt dessen sind die von den logischen Toren 102 und 103 erzeugten Ausgänge mit den logischen Toren 106 bzw. 107 verbunden, derart, daß der Übertrag von S^ auf Sc- parallel mit dem Übertrag von S, auf S^ erzeugt wird. Die innerhalb des Übertrag-Vorwegaddierers 70 benutzte parallele Übertragerzeugungs-Logik erlaubt dem Multiplizierer in dieser
9098 h f) /0909
bevorzugten Ausgestaltung, das Endprodukt in einer kürzeren Zeitspanne zu erzeugen als es anderweitig der Fall wäre«
Während die Erfindung anhand eines 4x8 Multiplizierers beschrieben wurde, ist die Beschreibung nur für Erläuterungszwecke gedacht und darf nicht als Beschränkung des Erfindungsgedankens gesehen werden. Auch sind dem Fachmann zahlreiche Modifikationen und Änderungen möglich, ohne den Erfindungsgedanken zu verlassen.
98/.Ü/09ÖÖ
-20,-
Leerseite

Claims (1)

  1. Pat ent ar.sprüche ί * \ ·3 3 d '
    ; 1. Multiplizierer zur Erzeugung des Produktes aus einem ersten (X0-X3) und einem zweiten Ci0-Yg) -Binärdatenwort mit einer Torschaltung zum Emfang des ersten und des zweiten ßinärdatenwortes und zur Erzeugung einer ausgewählten Gruppe von Kreuzprodukt-Signalen und mit einer Addierschaltung, die mit der genannten Torschaltung verbunden ist zur Summierung der ausgewählten Gruppe von Kreuzprodukt-Signalen und zur Abgabe des Produktes (S0-S^) des ersten und des zweiten Binärdatenwortes, gekennz eichnet durch einen ersten und einen zweiten Steueranschluß, die mit der Torschaltung "verbunden sind zum Smfang eines ersten und eines zweiten Steuersignals (CL, Op), auf welche die Torschaltung anspricht zur Steuerung der Auswahl der Gruppe an Kreuzprodukt-Signalen.
    2. Multiplizierer nach Anspruch 1, dadurch gekennzeichnet , daß die ausgewählte Gruppe von Kreuzprodukt-Signalen wechselweise für Lineargrößen- oder Zweierkomplement-Kreuzprodukt-Signale repräsentativ ist, was durch das erste und das zweite Steuersignal festgelegt wird.
    3. Multiplizierer nach Anspruch 1, dadurch gekennzeichnet, daß das erste Steuersignal in einem ersten logischen Zustand ist, wenn das erste Binärdatenwort Lineargrößen- JTorm hat, und in einem zweiten logischen Zustand, wenn das erste Binärdatenwort Zweierkomplement-Form hat und daß das zweite Steuersignal in einem ersten logischen Zustand ist, wenn das zweite Binärdatenwort Lineargrößen-Form hat und in einem zweiten logischen Zustand, wenn das zweite Binärdatenwort Zweierkomplement-Form hat.
    4. Multiplizierer nach Anspruch 3, dadurch gekennzeichnet , daß die Addierschaltung mehrere Addierer (50, 60) und eine mit den Addierern verbundene Übertrag-Erwartungsschaltung (70) aufweist, welche mehrere parallele Übertrag-Signale erzeugt und diese zu der ausgewählten Gruppe
    9098A U/090
    von Kreuzprodukt-Signalen addiert, wodurch die Zeitverzögerung zum Kämmen der Überträge entfällt.
    5. Multiplizierer nach Anspruch 4, gekennzeichnet durch seine Ausgestaltung als monolithische integrierte Schaltung.
    6. Verfahren zur Erzeugung des Produktes aus einem ersten (X -X ) und einem zweiten (Y0-X3) Binärdatenwort, welche Wörter entweder Lineargrößen- oder Zweierkomplement-Form haben unter Einbeziehung folgender Schritte: Empfangen einer ersten Mehrzahl von Eingangs-Bits, welche ein erstes Binärdatenwort darstellen und einer zweiten Mehrzahl von Eingangs-Bits, welche ein zweites Binärdatenwort darstellen; Torsteuern der ersten und der zweiten Mehrzahl von Bits zur Erzeugung mehrerer Kreuzprodukt-Signale; und Summieren der mehreren Kreuzprodukt-Signale zur Erzeugung mehrerer Produkt-Ausgangs-Bits (S0-S11), welche das Produkt des ersten und des zweiten Binärdatenwortes darstellen; gekennzeichnet durch die Schritte des Empfangene eines ersten (G1) und eines zweiten (Cp) Steuersignals; und Steuerns der Erzeugung der mehreren Kreuzprodukt-Signale in Beantwortung des ersten und des zweiten Steuersignals zur Entscheidung, ob die mehreren Kreuzprodukt-Signale Lineargroßen- oder Zweierkomplement-Kreuzprodukt-Signale sindo
    7ο Multiplizierer zur Erzeugung eines Segmentes des Produktes eines ersten und eines zweiten Digitaldatenwortes, der zur Anwendung innerhalb einer erweiterten Matrix aus solchen Multiplizierern vorgesehen ist und der eine Torschaltung zum Empfang eines Segmentes (X0-X3) des ersten Digitaldatenwortes und zum Empfang eines Segmentes (Y0-Y3) des zweiten Digitaldatenwortes und zur Erzeugung mehrerer Kreuzprodukt-Signale, sowie eine mit der Torschaltung verbundene Addierschaltung zum Summieren einer ausgewählten Gruppe von Kreuzprodukt-Signalen und Liefern des Segmentes (Sq-S11) des Produktes des ersten und des zweiten Digitaldatenwortes
    §0984 0/090$
    umfaßt, gekennzeichnet durch einen ersten und einen zweiten mit der Torschaltung verbundenen Steueranschluß zum Empfang eines ersten "bzw. eines zweiten Steuersignals (Cj, G2) zur Begründung der relativen Position des Multiplizierers innerhalb der erweiterten Matrix aus solchen Multiplizierern, wobei die Torschaltung auf ein erstes und ein zweites Steuersignal anspricht zur Auswahl der ausgewählten Gruppe von Kreuzprodukt-Signalen als eine !Funktion der relativen Position des Multiplizierers innerhalb der erweiterten Matrix aus solchen Multiplizierern.
    Multiplizierer, der zur Anwendung innerhalb einer Matrix aus solchen Multiplizierern vorgesehen ist, wobei die Matrix aus solchen Multiplizierern das Produkt eines ersten und eines zweiten Binärdatenwortes der Zweierkomplement-Form erzeugt und sowohl das erste als auch das zweite Binärdatenwort ein Zeichen-Bit enthält und der genannte Multiplizierer eine Eingangsschaltung zum Empfang eines Segmentes (X-X0) des ersten Binärdatenwortes und zum Empfang eines Segmentes (Y-Y )
    ο s
    des zweiten Binärdatenwortes, eine mit der genannten Eingangsschaltung verbundene Torschaltung zur Erzeugung mehrerer Kreuzprodukt-Signale und eine Addierschaltung zur Summierung der mehreren Kreuzprodukt-Signale und zur Lieferung eines Segmentes (SQ-S^) des Produktes des ersten und des zweiten Binärdatenwortes umfaßt, gekennzeichnet durch einen mit der Torschaltung verbundenen ersten Steueranschluß zum Empfang eines ersten binären Steuersignals (C^), welches sich in einem ersten logischen Zustand befindet, wenn das empfangene Segment des ersten Binärdatenwortes das Zeichen-Bit des ersten Binärdatenwortes umfaßt und welches sich im umgekehrten Fall in einem zweiten logischen Zustand befindet, sowie einen mit der Torschaltung verbundenen zweiten Steueranschluß zum Empfang eines zweiten binären Steuersignals (O2), welches sich in einem ersten logischen Zustand befindet, wenn das empfangene Segment des zweiten Binärdatenwortes das Zeichen-Bit des zweiten Binärdatenwortes umfaßt und welches sich im
    909840/0909
    umgekehrten Pall in einem zweiten logischen Zustand befindet, wodurch die Torschaltung auf das erste und auf das zweite binäre Steuersignal anspricht zur Steuerung der Erzeugung der mehreren Kreuzprodukt-Signaleο
    9. Multiplizierer zur Erzeugung entweder eines Zweierkomplementoder eines Lineargrößen-Produktes von zwei Binardatenwö'rtern, die entweder in Zweierkomplement- oder in Lineargrößen-Form dargestellt sind und der eine erste Anzahl von M Eingangsanschlüssen zum Empfang eines ersten Binärdatenwortes (X -X )
    ο s
    von M Bits entweder in Zweierkomplement- oder in Lineargrößenform, eine zweite Anzahl von N Eingangsanschlüssen zum Empfang eines zweiten Binärdatenwortes (Y -Y_) von N Bits entweder in Zweierkomplement- oder in Lineargrößenform, sowie eine mit der ersten und der zweiten Anzahl von Eingangsanschlüssen verbundene Torschaltung zur Erzeugung mehrerer Kreuzprodukt-Signale mit bestimmten binären Bewertungen und eine Addierschaltung zur Summierung der mehreren Kreuzprodukte und Lieferung eines M + N Bit-Produktes (S^-S0) des ersten und des zweiten Binärdatenwortes umfaßt, gekennzeichnet durch eine mit der Torschaltung verbundene Steuerschaltung zum Empfang von Steuersignalen (C^, O2), welche Steuersignale bestimmen, ob das genannte erste und das genannte zweite Binardatenwort von der Zweierkomplement- oder der Lineargrößen-Form sind, wobei die Torschaltung auf die Steuersignale anspricht zur Steuerung der Erzeugung der mehreren Kreuzprodukt-Signale.
    10. Multiplizierer nach Anspruch 9, dadurch gekennzeich· net, daß die Addierschaltung mehrere Addierer (50, 60) und eine mit den Addierern verbundene Übertrag-Erwartungsschaltung (70) umfaßt, welche mehrere parallele Ubertrag-Signale erzeugt und diese zu den mehreren Kreuzprodukt-Signalen addiert, wodurch die Zeitverzögerung zum Kämmen der Überträge vermieden ist.
    S09840/0909
    11. Multiplizierer nach Anspruch 10, gekennzeichn et durch seine Ausgestaltung als monolithische integrierte Schaltung.
    12. Multiplizierer nach Anspruch 9, dadurch gekennzeichnet, daß die Addierschaltung zusätzlich mehrere Erweiterungs-Eingangsanschlüsse (M0-Mg, K0-Kg) mit einer bestimmten binären Bewertung hat zum Empfang von mehreren Erweiterungs-Eingangssignalen und zur Addierung derselben zu den mehreren Kreuzprodukt-Signalen, welche entsprechende binäre Bewertungen haben, wodurch der Multiplizierer zur Anwendung innerhalb einer erweiterten Matrix aus solchen Multiplizierern eingerichtet ist.
    13. Multiplizierer nach Anspruch 12, gekennzeichnet durch seine Ausgestaltung als monolithische integrierte Schaltung.
    §09840/0900
DE2913327A 1978-04-03 1979-04-03 Matrix-Multiplizierer Expired DE2913327C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/892,792 US4130878A (en) 1978-04-03 1978-04-03 Expandable 4 × 8 array multiplier

Publications (2)

Publication Number Publication Date
DE2913327A1 true DE2913327A1 (de) 1979-10-04
DE2913327C2 DE2913327C2 (de) 1986-04-24

Family

ID=25400494

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2913327A Expired DE2913327C2 (de) 1978-04-03 1979-04-03 Matrix-Multiplizierer

Country Status (8)

Country Link
US (1) US4130878A (de)
JP (2) JPS54134943A (de)
DE (1) DE2913327C2 (de)
FR (1) FR2422204A1 (de)
GB (1) GB2017985B (de)
HK (1) HK66984A (de)
MY (1) MY8500496A (de)
SG (1) SG18584G (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3545433A1 (de) * 1984-12-28 1986-07-03 Kabushiki Kaisha Toshiba, Kawasaki, Kanagawa Parallelmultiplizierschaltung

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL7809398A (nl) * 1978-09-15 1980-03-18 Philips Nv Vermenigvuldiginrichting voor binaire getallen in twee-complement notatie.
JPS59149540A (ja) * 1983-02-15 1984-08-27 Toshiba Corp 分割型乗算器
FR2544105B1 (fr) * 1983-04-06 1988-10-14 Thomson Csf Multiplieur du type en cascade utilisant un ensemble d'operateurs elementaires
GB2166272B (en) * 1984-10-27 1988-06-29 Stc Plc Serial multiplier circuit
US4887233A (en) * 1986-03-31 1989-12-12 American Telephone And Telegraph Company, At&T Bell Laboratories Pipeline arithmetic adder and multiplier
US4768161A (en) * 1986-11-14 1988-08-30 International Business Machines Corporation Digital binary array multipliers using inverting full adders
KR920003908B1 (ko) * 1987-11-19 1992-05-18 미쓰비시뎅끼 가부시끼가이샤 승산기(乘算器)
US5032865A (en) * 1987-12-14 1991-07-16 General Dynamics Corporation Air Defense Systems Div. Calculating the dot product of large dimensional vectors in two's complement representation
US4941121A (en) * 1988-04-01 1990-07-10 Digital Equipment Corporation Apparatus for high performance multiplication
DE3823722A1 (de) * 1988-07-13 1990-01-18 Siemens Ag Multiplizierer
US4926371A (en) * 1988-12-28 1990-05-15 International Business Machines Corporation Two's complement multiplication with a sign magnitude multiplier
US5262976A (en) * 1989-11-13 1993-11-16 Harris Corporation Plural-bit recoding multiplier
EP0813143A3 (de) * 1989-11-13 1998-01-28 Harris Corporation Zeichenausbreitung in einem mehrere Bit umkodierenden Multiplizierer
JP2558912B2 (ja) * 1990-03-08 1996-11-27 松下電器産業株式会社 乗算器回路
DE4317074C1 (de) * 1993-05-21 1994-06-23 Itt Ind Gmbh Deutsche Multiplizierer für reelle und komplexe Zahlen
US5751622A (en) * 1995-10-10 1998-05-12 Chromatic Research, Inc. Structure and method for signed multiplication using large multiplier having two embedded signed multipliers
US5956265A (en) * 1996-06-07 1999-09-21 Lewis; James M. Boolean digital multiplier
US7269616B2 (en) * 2003-03-21 2007-09-11 Stretch, Inc. Transitive processing unit for performing complex operations
US20090077145A1 (en) * 2007-09-14 2009-03-19 Cswitch Corporation Reconfigurable arithmetic unit
US20090292756A1 (en) * 2008-05-23 2009-11-26 Elliot Gibson D Large-factor multiplication in an array of processors

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3752971A (en) * 1971-10-18 1973-08-14 Hughes Aircraft Co Expandable sum of cross product multiplier/adder module

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3670956A (en) * 1968-09-26 1972-06-20 Hughes Aircraft Co Digital binary multiplier employing sum of cross products technique
US3914589A (en) * 1974-05-13 1975-10-21 Hughes Aircraft Co Four-by-four bit multiplier module having three stages of logic cells

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3752971A (en) * 1971-10-18 1973-08-14 Hughes Aircraft Co Expandable sum of cross product multiplier/adder module

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
US-Z: IEEE Transactions on Computers, Vol. C-22, No. 12, Dez. 1973, S. 1045-1047 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3545433A1 (de) * 1984-12-28 1986-07-03 Kabushiki Kaisha Toshiba, Kawasaki, Kanagawa Parallelmultiplizierschaltung

Also Published As

Publication number Publication date
SG18584G (en) 1985-02-15
JPS6181347U (de) 1986-05-30
FR2422204A1 (fr) 1979-11-02
JPS6132437Y2 (de) 1986-09-20
HK66984A (en) 1984-08-31
GB2017985B (en) 1982-04-07
MY8500496A (en) 1985-12-31
JPS54134943A (en) 1979-10-19
FR2422204B1 (de) 1984-06-15
DE2913327C2 (de) 1986-04-24
US4130878A (en) 1978-12-19
GB2017985A (en) 1979-10-10

Similar Documents

Publication Publication Date Title
DE2913327A1 (de) Multiplizierer fuer binaerdatenwoerter
DE10105945B4 (de) Multiplizierer mit Linearsummierungsarray sowohl zur vorzeichenbehafteten als auch zur vorzeichenlosen Multiplikation
DE1549476C3 (de) Anordnung zur Ausführung von Divisionen
DE19758079A1 (de) Verfahren und Vorrichtung zur Galoisfeld-Multiplikation
DE3700991A1 (de) Digitaler uebertragsvorgriffsaddierer
DE3927009A1 (de) Addierschaltung
DE2718849A1 (de) Rechenspeicher mit mehrdimensionalem, parallelem zugriff
DE1549477B1 (de) Einrichtung zur schnellen akkumulation einer anzahl mehr stelliger binaerer operanden
DE1197650B (de) Parallel-Addierer
DE2230188C2 (de) Arithmetisch-logische Einheit für einen Digitalprozessor für variable Wortlängen
DE4403917A1 (de) Vorrichtung zum Berechnen einer Besetzungszählung
EP0051079B1 (de) Binäres MOS-Ripple-Carry-Parallel-Addier/Subtrahierwerk und dafür geeignete Addier/Subtrahierstufe
DE4101004A1 (de) Paralleler multiplizierer mit sprungfeld und modifiziertem wallac-baum
DE10204647A1 (de) Matrizenrechner des Zeitteilungstyps
DE19525781C2 (de) Pseudo-Zufallsmuster-Generatorschaltung
DE10117041C1 (de) Carry-Ripple Addierer
DE2800598A1 (de) Parallel-addierwerk
DE2952689C2 (de)
DE2046685A1 (de) Einrichtung zum Konvertieren einer Dezimalzahl in eine Binarzahl
DE19635113A1 (de) Multiplizierer
DE1449564A1 (de) Recheneinrichtung fuer digitale Schnellrechner
DE4408789A1 (de) Ein rechnergestütztes Verfahren zum Konstruieren eines Addierers mit vorgreifender Übertragsbildung
EP0424410B1 (de) Multiplizierer
DE1774483A1 (de) Binaeres Multiplizierwerk
DE10139099C2 (de) Carry-Ripple Addierer

Legal Events

Date Code Title Description
OAP Request for examination filed
OD Request for examination
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee