DE2207566C3 - Serien-Parallel-Multiplizierwerk - Google Patents

Serien-Parallel-Multiplizierwerk

Info

Publication number
DE2207566C3
DE2207566C3 DE19722207566 DE2207566A DE2207566C3 DE 2207566 C3 DE2207566 C3 DE 2207566C3 DE 19722207566 DE19722207566 DE 19722207566 DE 2207566 A DE2207566 A DE 2207566A DE 2207566 C3 DE2207566 C3 DE 2207566C3
Authority
DE
Germany
Prior art keywords
circuit
multiplier
digit
digits
multiplicand
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
Application number
DE19722207566
Other languages
English (en)
Other versions
DE2207566B2 (de
DE2207566A1 (de
Inventor
Daniel Jacques Lagaude Esteban (Frankreich)
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2207566A1 publication Critical patent/DE2207566A1/de
Publication of DE2207566B2 publication Critical patent/DE2207566B2/de
Application granted granted Critical
Publication of DE2207566C3 publication Critical patent/DE2207566C3/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/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • G06F7/5332Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by skipping over strings of zeroes or ones, e.g. using the Booth Algorithm
    • 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/544Methods 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 for evaluating functions by calculation
    • G06F7/5443Sum of products

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Error Detection And Correction (AREA)

Description

Die Erfindung betrifft ein Serien-Parallel-Multiplizierwerk zur vorzeichengerechten Multiplikation positiver und negativer Operanden, mit einer Übertragungsschaltung, welcher der Multiplikand im Binärcode bzw. im Zweierkomplementcode parallel zugeführt wird und die durch die seriell bereitgestellten Binärziffern des Multiplikators eine Übertragung des Multiplikanden als Teilprodukt zu einem Akkumulator veranlaßt
Es sind bereits Serien-Parallel-Multiplizierwerke für binärverschlüsselte Faktoren bekannt, die eine Serie von UND-Schaltungen aufweisen, welche die Muitiplikandenziffern parallel zugeführt erhalten und als Teilprodukt zu einem Akkumulator übertragen, wenn die jeweils in Behandlung befindliche, alle UND-Schaltungen gemeinsam steuernde Akkumulatorziffer eine 1 aufweist während im Falle einer Multiplikatorziffer 0 das zum Akkumulator zu übertragende Teilprodukt 0 ist (R. K: Richards, »Arithmetic Operation in Digital Computers«, New York 1955, Seite 155). Die Teilprodukte werden im Akkumulator nacheinander stellenverschoben zum Endprodukt zusammengefaßt
Derartige Multipliziereinrichtungen sind nicht ohne weiteres zur Multiplikation negativer Faktoren geeignet Negative Werte werden im Binärsystem im allgemeinen durch das Zweierkomplement dargestellt. In dieser Darstellung weist eine 1 in der höchsten Ziffernstelle einer Zahl auf den Umstand hin, daß diese Zahl negativ ist Andererseits drückt die höchste Ziffernstelle aber auch die Binärwertc 0 und 1 aus, wenn es sich um eine positive Zahl handelt. Die höchste Ziffernstelle hat daher drei verschiedene Wertzustände: 0, 4-1 und -I.
Hieraus ergibt sich, daß bei einer Multipliziereinrichtung der oben erläuterten Art, die zur Verarbeitung gemischter positiver und negativer Faktoren geeignet sein soll, die Multiplikatorziffern nicht mehr zur Steuerung der die 7e*lprodukte zum Akkumulator übertragenden UND-Schaltungen geeignet sind. Die Übertragungsschaltung müßte vielmehr so ausgebildet sein, daß drei verschiedene Teilprodukte übertragen werden können, nämlich der Multiplikand, 0 und der negative Multiplikand, wobei letztere Übertragung nur für die höchste Ziffernstelle des Multiplikators in Frage kommt. Hierdurch ist ein erheblicher Schaltungsaufwand für die logische Schaltung zur Auswahl und Übertragung der Teilprodukte zum Akkumulator notwendig.
ίο Letzteres fällt insbesondere dann ins Gewicht wenn derartige Multipliziereinrichtungen in Schaltungen verwendet werden sollen, die sich zur Bildung von Produktensummen eignen. In diesen Fällen wird der Aufwand für die Übertragungsschaltung und für die Steuerung dieser Schaltung weiter erhöht, da jeweils mehrere Multiplikanden und mehrere Multiplikatoren gleichzeitig verarbeitet werden sollen.
Aufgabe der Erfindung ist es, ein Serien-Parallel-Multiplizierwerk für positive und negative Faktoren anzugeben, das die obengenannten Nachteile vermeidet und bei geringem Schaltungsaurwane die Zahl der verschiedenen zur Übertragung benötigten Teilprodukte verringert sowie keine gesonderte Behandlung der Vorzeichenstelle des Multiplikators erfordert Die Merkmale zur Lösung dieser Aufgabe sind im Patentanspruch 1 gekennzeichnet. Die Unteransprüche geben verschiedene vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung an, die sich insbesondere auch auf die Anwendung des Multiplizierwerks in Schaftungen zur Bildung von Produktensummen beziehen.
Nachfolgend sind mehrere Ausführungsbeispiele der Erfindung anhand von Zeichnungen beschrieben. Es zeigt
F i g. 1 ein vereinfachtes Blockschaltbild einer Umcodiereinrichtung, wie sie in Verbindung mit dem Multiplizierwerk gemäß der Erfindung verwendet werden kann,
F i g. 2 eine andere Ausführungsform einer Umcodier-
einrichtung der in F i g. 1 dargestellten Art,
rig.3 ein erstes Ausführungsbeispiel eines Multiplizierwerks gemäß der Erfindung,
F i g. 4 ein weiteres Ausführungsbeispiel eines Multiplizierwerks gemäß der Erfindung, das sich im besonderen zur Bildung von Produktensummen eignet,
Fig.5 ein weiteres Ausführungsbeispiel eines Multiplizierwerks, das sich im besonderen zur Bildung von Produktensummen eignet, Fig.6 ein vereinfachtes Blockschaltbild eines Akku mulators, wie er in Verbindung mit den Multiplizierwer ken gemäß F i g. 3 bis 5 verwendbar ist,
Fig.7 ein Blockschaltbild eines Moduls, aus denen der Akkumulator von F i g. 6 aufgebaut ist, und
Fig.8 ein Impulsdiagramm zur Erläuterung der Wirkungsweise des Akkumulators von F i g. %.
Bevor die Multiplikationseinrichtung des Ausführungsbeispiels beschrieben wird, soll der von dieser Einrichtung benutzte Binärcode erläutert werden, bei dem für die Darstellung positiver und negativer Zahlen jeder Binärziffer nur zwei mögliche Werte zugeordnet sind. Zum Zweck dieser Erläuterung wird von dem allgemeinen Ausdruck für eine algebraische Zahl A in einem Codiersystem der Basis 2 ausgegangen:
A = -2-«,+Σ 2V
i = I - m
worin a„ und a, die Werte 0 oder I annehmen können
und worin m und η ganzzahlige, von 0 abweichende positive Werte sind. Des weiteren bestehen folgende Identitäten:
was bedeutet, daß:
worin α, das F.inserkomplement von <;, ist:
I = B-I
i = 1 - m
Wenn die Ausdrücke (2) und (3) in den Ausdruck (I) eingesetzt werden, ergibt üich die lolgende Form:
A = [Un-Un) 2"
2'-' - Tm .
i = 11 - Bl
In dieser Formel kann beobachtet werden, daß die algebraische Zahl in Ausdrücken von Koeffizienten <x\ geschrieben werden kann:
ix, ~ a, äi
Diese Koeffizienten λ, können nur die Werte + I und -1 annehmen. Es ist zu bemerken, daß diese Formel zwei Ausdrücke des gleichen Gewichtes 2~m enthält, welches das kleinste Gewicht ist. Einer der Ausdrücke ist der Koeffizient (a\-m - ä\~m), während der andere den Koeffizienten - I darstellt. Das höchste Stellengewicht ist 2"-'.
Für die nachfolgende Beschreibung wird angenommen, daß der Koeffizient - 1 durch die Binärziffer 0 und der Koeffizient +1 durch die Binärziffer 1 dargestellt werden. Bei einem Vergleich der obigen Formel (4) mit der Formel (1) kann festgestellt werden, daß die Formel IAS :„ □;„;;..(„.-„ -,,,, 7-.klnn^or<-toll,,r.n „;„ DI. „„U_
erfordert als die Formel (I) wegen der Anwesenheit des Ausdrucks - I χ 2~m. Das zusätzliche Bit hat stets den Wert -1 und wird entsprechend der vorerwähnten Vereinbarung durch eine 0 dargestellt. Da die letzten beiden Bits das gleiche Gewicht 2~m haben, ist das zusätzliche Bit entweder das letzte Bit oder das vorletzte Bit in einem binären Wort gemäß Formel (4). Es hat sich als vorteilhaft erwiesen, wenn das zusätzliche Bit 0 das letzte Bit des V/ortes ist. Beim Vergleich der Formeln (I) und (4) kann ferner festgestellt werden, daß das Bit der Wertstelle /— 1 bei Ausführung der Formel (4) in seiner Darstellung dem Bit von Wertstelle i im Binärwort entspricht, das bei Ausführung der Formel (1) erhalten wird, mit Ausnahme der Wertstelle η von Formel (4), die 1 ist wenn das Bit der Wertstelle η in der Formel (1)0 ist und umgekehrt
Für eine algebraische Zahl wird daher eine Codierung in einem Zahlensystem der Basis 2 erhalten, innerhalb der jedes Datenelement nur zwei Werte +1 und — 1 annehmen kann. Der auf diese Weise gewonnene Code wird in der folgenden Beschreibung als »intern modifizierter Code« oder in abgekürzter Form »CIM-CoHe« bezeichnet Dieser Code zeigt eine gewisse Ähnlichkeit mit dem sogenannten internen Code, wie er in Digital-Analog-Umwandlern benutzt wird. Zur Umwandlung einer Zahl, die in Form eines im Zweierkomplement binär codierten Wortes vorliegt in den CIM-Code muß in Übereinstimmung mit der oben angegebenen Analyse das Bit der höchsten Wertstelle invertiert werden, die folgenden Bits müssen beibehalten werden und ein zusätzliches Bit 0 muß in einer ■> Bitposition hinzugefügt werden, die sich an die niedrigste Bitstelle anschließt.
Nachfolgend wird an Hand der schematischen Darstellung von F i g. I und 2 eine Einrichtung beschrieben, die sich zur Umwandlung von im Zweierkomplement vorliegenden Binärwerten in den CIM-Code eignet. Beider I inrichtung von Fig. 1 wurde angenommen, daß die im Zweierkomplement-Binärcode dargestellte Zahl als eine Folge von η Bits vorliegt, wobei im dargestellten Zahlenbeispiel η den Wert 5 hat.
Die Bitfolge wird an den Eingang eines Schieberegisters SR I angelegt, das n+1 Binärstellen aufweist. Im Anfangszustand enthält das Schieberegister den Wert 0 aufgrund einer vorausgehenden Rückstellung. Die Bitfolge wird in das Schieberegister SR eingegeben.
Wenn das letzte Bit eingeschrieben worden ist, enthält das Schieberegister SR die fünf Bits der Zahl und eine 0 in der äußersten rechten Bitstelle. Eine Exklusiv-ODER-Schaltung 20 empfängt die Ausgangssignale des Schieberegisters SR an einem Eingang und eine Folge von Taktimpulsen am anderen Eingang. Die letztgenannten Taktimpulse bestehen aus einer Reihe von fünf Nullen, die von einer I gefolgt werden. Wird angenommen, daß zu einer Zeit fo das Schieberegister SR die fünf Bits des binären Wortes sowie eine 0 in seiner äußersten rechten Position enthält, treten Ausgangsimpulse an der Exklusiv-ODER-Schaltung 20 auf während der folgenden sechs Taktzeiten ii bis k. Die ersten fünf Bits, die aus dem Schieberegister SR austreten, werden zu den Taktzeiten fi bis fs unverändert über die Exklusiv-ODER-Schaltung zur Ausgangsleitung weitergegeben. Das sechste Bit, das der höchsten Wertstelle entspricht, wird dagegen zur Taktzeit 4 durch die Exklusiv-ODER-Schaltung 20 invertiert, da diese zu dieser Zeit eine binäre 1 an ihrem Takteingang empfängt Die Schaltung von F i g. 1 führt daher die nl*A» nrlöiilAvte I Imrwlianinn one inrlom rinm PincranVC-.. ... .-. — w o , - -- ς,-- ο
wert am rechten Ende eine 0 hinzugefügt wird und indem das Bit der höchsten Wertstelle invertiert wird. Das Ausgangssignal der Exklusiv-ODER-Schaltung stellt die betreffende Zahl im CIM-Code dar.
Die F i g. 2 zeigt eine andere Umcodiereinrichtung, die dann zum Einsatz kommen kann, wenn das umzuwandelnde Wort in Parallelform vorliegt Das im Zweierkomplement codierte Binärwort, das für die Erläuterung von Fig.2 ebenfalls als fünfstellig angenommen werden soll, wird in die fünf höchsten Bitstellen eines sechsstelligen Registers R eingespeichert Die sechste Bitstelle stellt den Wert 0 dar aufgrund des Umstandes, daß der Inhalt des Registers R zu einem vorausgehenden Zeitpunkt gelöscht wurde. Die Entnahme aus dem Register R erfolgt über sechs parallele Ausgangsleitungen, von denen in die Ausgangsleitung der höchsten Bitstelle ein Inverter / geschaltet ist Der auf den Ausgangsleitungen erscheinende Wert stellt die im Register R eingespeicherte Zahl im CIM-Code dar. Die Umcodierung ist wiederum durch Hinzufügung einer binären 0 zur niedrigsten Stelle des Wertes und durch Invertierung des Wertes der höchsten Bitstelle erfolgt
Als Zahlenbeispiel wird die Umcodierung der Zahl — 7 betrachtet die im binären Zweierkomplement die Form 11001 hat Die Ausdrucksweise dieser Zahl im CIM-Code lautet 010010. Es sei daran erinnert daß da:i
Bit 0 den Wert - I darstellt und das Bit I den Wert + I und daß die Stellengewichte der verschiedenen Bits um 1 verringert worden sind, wobei die letzten zwei Bits das gleiche Gewicht haben. Die Zahl 010010 im CIM-Code hat demnach die folgende Form:
-1 < 2' + 1 χ 22 - I χ 21
- I χ 2°+ I χ 2-' - I χ 2 ' =
-7
In Fig. 3 ist eine Multiplikationseinrichtung dargestellt, die den CIM-Code benutzt. Der Multiplikand ist mit A und der Multiplikator mit X bezeichnet. Der Multiplikand wird in einem Register RA im Zweierkomplement-Code gespeichert zur Eingabe in Parallelform. Der Multiplikator X in einem Register RX im CIM-Code gespeichert zur Eingabe in Serienform. Für die Darsteiiung in Fig. 3 wurde angenommen, daß A aus vier Bits und X aus fünf Bits besteht. Die Umcodierung des Multiplikators X in den CIM-Code wurde in der oben erläuterten Form beispielsweise durch Benutzung einer Einrichtung vorgenommen, wie sie in Fig. I dargestellt ist. Für den gleichen Zweck kann die Einrichtung von F i g. 2 benutzt werden, gefolgt von einem Parallel-Serien-Wandler. In Übereinstimmung mit dem Prinzip der Serien-Parallel-Multiplikation wird zu jeder Elementarzeit ein Teilprodukt erzeugt, das dem Produkt des Multiplikanden mit einem Bit des Multiplikators entspricht. Es sei daran erinnert, daß ein Bit 0 im CIM-Code die Bedeutung von - I hat. während ein Bit 1 die Bedeutung von +1 hat. Die Teilprodukte sind daher - A für den Fall, daß das ander Multiplikation beteiligte Bit von X den Wert 0 hat oder + A, wenn das betreffende Bit den Wert I hat.
Zur Erzeugung dieser Teilprodukte werden Exklusiv-ODERSchaltungen 3 bis 6 benutzt. Die Zahl der benötigten Exklusiv-ODER-Schaltungen entspricht der Zahl von Bits im Multiplikanden und ist unabhängig von der Zahl der Bits im Multiplikator. Jede Exklusiv-ODER-Schaltung 3 bis 6 besitzt zwei Eingänge, von
Hpnpn Hpr pinp 711 pinpr Ritnncitinn Hpc Rpaictprc RA
t O
führt und der andere Ausgangssignale eines Inverters 21 empfängt, an dessen Ausgang jeweils zu den Elementar-Taktzeiten die invertierten Bits des Multiplikators X erscheinen. Die Exklusiv-ODER-Schaltungen 3 bis 6 liefern daher zu jeder Elementar-Taktzeit entweder ein Teilprodukt, das gleich A ist, wenn das diesen Schaltungen zugeführte Multiplikatorbit 0 ist (der Ausgang des Inverters 21 liefert dann ein 1 -Signal) oder ein Teilprodukt, das gleich A ist, wenn das betreffende Multiplikatorbit 1 ist (der Inverter 21 liefert in diesem Fall ein O-Ausgangssignal). Es ist zu bemerken, daß die in dieser Weise erhaltenen Teilprodukte A und Ä sind, daß jedoch die Werte von A und — A benötigt werden. Da -A = A_+\ gilt, muß der Wert 1 zu dem Teilprodukt A addiert werden. Anstelle einer direkten Addition des Wertes 1 zu jedem Teilprodukt Ä kann dies auch bei der Akkumulation der Teilprodukte geschehen. Im dargestellten Ausführungsbeispiel werden deshalb die aufeinanderfolgenden Ausgangssignale der Exklusiv-ODER-Schaltungen 3 bis 6 in einen Akkumulator eingegeben, und ein Korrekturbit FC, das im Fall eines Teilproduktes A Null ist und im Fall A Eins ist wird dem Akkumulator (F i g. 6) auf einer Leitung zugeführt die zu den Ausgängen der Exklusiv-ODER-Schaltungen 3 bis 6 parallel geschaltet ist Da das Auftreten dieser Teiiprodukte praktisch dem Einerkomplement des Multiplikators X, d. h. X. entspricht kann
die Leitung FCdirekt mit dem Ausgang des Inverters 21 verbunden werden. Die Akkumulation der aufeinanderfolgenden Teilprodukte wird in einem Akkumulator durchgeführt, der in F- i g. 6 dargestellt ist und in einem späteren Abschnitt beschrieben wird. Um das Verständnis der Schaltung von F i g. 3 weiter zu verdeutlichen, ist in dieser Figur ein Zahlenbeispiel angegeben mit A = 1010 im Zweierkomplement-Code (entspricht der Dezimalzahl -6) und A-=IIlOO im CIM-Code (entspricht der Dezimalzahl +6).
Die Prinzipien der Erfindung können auch bei einer Einrichtung angewendet werden, die zur Bildung der Summe mehrerer Multiplikationen dient. Die F i g. 4 und 5 zeigen zwei derartige Einrichtungen, die sich zur Bildung der Summe S = AX + ßKeignen, worin A. B. Xund ^algebraische Binärzahlen sind. Die Einrichtungen arbeiten auf der Grundlage der Serien-Paralleliviuitipiikation. Es sei angenommen, daß die rviuitipiikanden A und B als im Zweierkomplement codierte Binärworte in Registern Ra und Rb zur Verfügung stehen. Die Faktoren A-und K(Multiplikatoren) sind im CIM-Code in Registern RXund WVgespeichert.
In den Multiplikatoren X und Y ist ein O-Bit repräsentativ für —I. während ein 1 - Bit repräsentativ für + I ist. Die notwendigen Teilprodukte sind demnach A + B in Form einer Kombination der Bits gleicher Wertstellen von X und V, nämlich 11, und dementsprechend für A — ßdie Bitkombination 10, für —A — ßdie Bitkombination 00 und für -A +B die Bitkombination 01.
Das Ausführungsbeispiel von Fig.4 bildet aus den Multiplikanden A und ßdie vier Teilprodukte ±(A± B). Die Zahlen A und B sind in Registern Ra und Rb enthalten. Die Werte A +B und A-B werden in Registern Ra + b und Ra — b gebildet mit Hilfe einer Verknüpfungslogik L, die für sich bekannt ist und deshalb hier nicht näher erläutert wird. Es werden nur die Teilprodukte +(A±B) bereitgestellt, da es nicht nötig ist, die Teilprodukte —(A± B)z\i erzeugen, wie die nachstehende Tabelle I zeigt. In dieser Tabelle sind die
Ordnung von A- und Y in einer ersten Spalte und die dazugehörigen Teilprodukte in einer zweiten Spalte angegeben.
Tabelle I
Bit von X
Bit von Y
Cv,)
Teilprodukte
Die aus Tabelle I ersichtliche Symmetrie ergibt, daß es ausreicht nur zwei Teilprodukte zu erzeugen und die Auswahl des richtigen Teilproduktes durch die Bits *, und y-, entsprechend abzuändern. Diese sogenannte Indexierungsoperation kann in unterschiedlicher Weise ausgeführt werden. Als Beispiel soll eine derartige Indexierungsoperation für X betrachtet werden. In diesem Fall ist lediglich der untere Teil der Tabelle I getroffen, und der Wert von y,- bestimmt das zu wählende Teilprodukt. Sollte der Wert von Bit *,· 1 sein, erfolgt keine Modifikation, und das Teilprodukt,
ίο
welches der Wert yi im unteren Teil der Tabelle anzeigt, wird unverändert verwendet. Sollte der Wert von χ, Ο sein, so kommt das Komplement J, des Bits y, von Y in Betracht. In diesem Fall ist das Teilprodukt auszuwählen, das durch den Wert 7, bezeichnet wird, und das Vorzeichen ist zu invertieren. Es ist hieraus ersichtlich, daß nur zwei Teilprodukte erforderlich sind, beispielsweise A + B urtd 4 - β. Für - (A + B) und -(A-B) ist ebenfalls keine Modifizierung notwendig für x, = 0 und eine Modifizierung der oben erläuterten Art für x,■ = 1. Die Indexierungkann auch für ^vorgenommen werden, wenn die zwei benötigten Teilprodukte B+ A und B- A oder -(B+A) und -(B- A) sind. Diese Lösungen sind den oben erläuterten äquivalent: in F i g. 4 wurde jedoch von der Bildung der Teilprodukte A +B und A-B ausgegangen.
Die Bits x,des Wertes X und y,des Wertes Y werden serienweise aus den Registern Rx und Ry entnommen. Die Bits λτ, gelangen durch einen Inverter /I zu einem Eingang einer Exklusiv-ODER-Schaltung 25, während die Bits y, zum anderen Eingang dieser Exklusiv-ODER-Schaltung 25 geleitet werden. Die Bits y, werden daher unverändert am Ausgang der Exklusiv-ODER-Schaltung 25 erhalten, wenn *, = 0 und wenn x, = 1 und JP, vorliegt. Damit ist der erste Teil der Indexierungsoperation beendet.
Die Teilprodukte werden durch UND-Schaltungen 11 bis 18 und ODER-Schaltungen 31 bis 34 gebildet. Die UND-Schaltungen 12, 14, 16 und 18 empfangen Ausgangssignale der Exklusiv-ODER-Schaltung 25 auf einen ihrer Eingänge, während die UND-Schaltungen 11, 13, 15 und 17 die Ausgangssignale von der Exklusiv-ODER-Schaltung 25 über einen Inverter 12 empfangen. Die anderen Eingänge der UND-Schaltungen 11, 13, 15 und 17 sind mit den Bitstellen des Registers Ra-b verbunden, und die anderen Eingänge der UND-Schaltungen 12, 14, 16 und 18 sind mit den Bitstellen der Register Ra +b verbunden. Wenn daher die Exklusiv-ODER-Schaltung an ihrem Ausgang den Wert 1 liefert, werden die UND-Schaltungen II, 13, 15 und 17 gesperrt und die UND-Schaltungen 12, 14, 16
K) ihren Ausgängen eine Kopie der Ausgangssignale der ODER-Schaltungen 31, 32, 33 und 34, d. h. der Bits der Summe A + öoder der Differenz A-BAm anderen Fall, bei x, = 1, invertieren die Exklusiv-ODER-Schaltungen 43, 44,45 und 46 die Ausgangssignale der ODER-Schaltungen 31, 32, 33 und 34 und liefern daher Ausgangssignale, welche die Zahlen A +B oder A-B. Da als Resultatwerte jedoch die Ausdrücke -(A +B) und -(A-B) benötigt werden, muß zu den Zahlen AhB und A-B jeweils noch eine 1 addiert werden, da es bekannt ist, daß:
i -, und -(A +B)= A +B+ I
-(A-B) = A-B+ I
UIIU IO gCUll HCl. L^CI lllllllll Uta iXCgiaiClS lläTLfrU. II. UIL Summe A +B, wird für alle Bits parallel zum Ausgang der ODER-Schaltungen 31,32,33 und 34 geleitet. Wenn im anderen Fall am Ausgang der Exklusiv-ODER-Schaltung 25 ein O-Signal erscheint, werden die UND-Schaltungen 11, 13, 15 und 17 geöffnet und die UND-Schaltungen 12, 14, 16 und 18 gesperrt. In diesem Fall wird der Inhalt des Registers Ra-b, d. h. die Differenz A-B, zu den Ausgängen der ODER-Schaltungen 31 bis 34 übertragen. Es bleibt daraufhin noch der zweite Teil der
Indexierungsoperation auszuführen, der entsprechend
der obigen Erläuterung eine Invertierung des Teilpro- Λ"+ Υ duktes verlangt wenn der Wert des Bits x, O ist Hierzu (Bjt von Stei)e ^ wird das Ausgangssignal ^, des Inverters /1 an einen Eingang einer jeden von vier Exklusiv-ODER-Schaltungen 43, 44, 45 und 46 angelegt Die Exklusiv-ODER-Schaltung 43 empfängt auf ihrem zweiten Eingang die Ausgangssignale der ODER-Schaltung 31. Ebenso empfangen die Exklusiv-ODER-Schaltungen 44,45 und bo 46 auf ihren zweiten Eingängen die Ausgangssignale der ODER-Schaltungen 32, 33 und 34. Wenn daher *, = O, liefern die Exklusiv-ODER-Schaltungen 43 bis 46 an
Anstelle einer direkten Ausführung dieser Addition
in kann dies wiederum im Akkumulator geschehen. Im Ausführungsbeispiel von Fig.4 wird deshalb zu den Ausgangssignalen der Exklusiv-ODER-Schaltungen 43 bis 46 ein Signal auf einer Leitung FCdem Akkumulator zugeführt, da es den Wert 0 hat bei den Teilprodukten A +B und A-B und den Wert I hat bei den Teilprodukten A + Boder A-B. Das Signal auf Leitung FC wird vom Ausgang des Inverters /I abgeleitet, da dieser das Signal X führt, das der vorgenann'en Korrekturbedingung entspricht. Das Signal auf Leitung
in FC tritt im wesentlichen gleichzeitig mit den Ausgangssignalen der Exklusiv-ODER-Schaltungen 43 bis 46 auf und wird zusammen mit diesen im Akkumulator von F i g. 6 verarbeitet.
Bevor der Akkumulator erläutert wird, soll ein
s; zweites Ausführungsbeispiel einer Einrichtung zur Erzeugung von Doppelproduktsummen beschrieben werden. In der Einrichtung von Fig. 4 werden Teilprodukte erhalten nach Kombination von Summen und Differenzen der Multiplikanden A und B. Es ist jedoch möglich, das gleiche Resultat durch vorhergehende Ableitung von Summen und Differenzen der
ινιιιιιιμιιηαιυι cn /\ uliu I /.U Ci Hauen, wie ca uic laucnc II angibt. Die erste Spalte in diener Tabelle zeigt das Bit der Bitstelle /einer Binärzahl, welche die Summe X+ Y im CIM-Code ausdrückt. Die zweite Spalte zeigt das Bit der gleichen Bitstelle in einer Zahl, die die Differenz X— Y im CIM-Code ausdrückt. Die dritte Spalte der Tabelle II gibt die Teilprodukte an, die entsprechend den verschiedenen möglichen Kombinationen gebildet werden.
X-Y
(Bit von Stelle i)
Teilprodukte
-A -B
+B
+A
Die angegebenen Resultate ergeben sich in der folgenden Weise:
AX + BY =
(A + B) + (A- B)
Nach Umstellen dieser Formel ergibt sich:
AX + BY= ——(* + Y) + ~- (X - Y).
Es ist ersichtlich, daß in dem Fall, wenn das Bit der Stelle ; in der Summe (X+ Y) den Wert 0 hat, was im CIM-Code einen tatsächlichen Wert von — 1 darstellt, und wenn das Bit der Stelle / in der Differenz (X— Y) to ebenfalls den Wert 0 hat, sich das entsprechende Teilprodukt in der folgenden Weise ergibt:
In der entsprechenden Weise gilt für die Kombination öi:
A + B
20
Tür die Kombination 10:
A
und für die Kombination 11:
• —^-1= +A.
30
Die Tabelle II läßt eine Symmetrie erkennen, die der r> von Tabelle I ähnlich ist, weshalb gleichartige Indexierungsschaltungen verwendet werden können. In der Multiplikationseinrichtung von Fig.5 wird eine Indexierung von X+ Y vorgenommen, so daß lediglich die Teilprodukte + A und + B verwendet werden.
Die Faktoren X+ Y und X— Y sind in den AuMÜinuiigstJcispieicii vun F ig. 4 unü 5 in Sciiciifoi in im CIM-Code dargestellt Die Einrichtung von Fig.5 umfaßt eine Schaltung, durch die die Werte X+ Y und X- Y im CIM-Code erhalten werden. Da der CIM-Code keine besonderen Vorteile hinsichtlich der Ausführung von Additionsoperationen bietet, wird es bei diesem Ausführungsbeispiel bevorzugt, zur Bildung der Summe und der Differenz die Faktoren X und yin einem konventinellen Code zu benutzen. Diese Fakto- so ren stehen ursprünglich im Zweierkomplement-Code zur Verfugung. Die Umcodierung in den CIM-Code erfolgt in zwei Phasen. Die erste Phase wird in den Registern Rx1 und Ry 1 durch Hinzufügung einer Bitposition am niedrigstelligen Ende der Faktoren X und Y ausgeführt, wobei die zusätzliche Bitstelle anfangs konstant den Wert 0 enthält Daraufhin wird der Inhalt der Register Rx 1 und Ry 1 bitweise zu den zwei Eingängen eines Addierers A2 geleitet, der serienweise die Summe X+ Y bildet Der Inhalt des Registers RxX gelangt außerdem bitweise zu einem Addierer A 1 zur gleichen Zeit, wenn der Inhalt des Registers Ry \ über einen Inverter /3 zum anderen Eingang des Addierers A 1 zugeführt wird. Der Addierer A 1 besitzt einen Obertragseingang 27, der am Beginn der Operation zur Eingabe einer Obertragseins eingestellt wird. In F i g. 5 ist dies durch rO = 1 ausgedrückt Der Addierer A 1 liefert daher an seinem Ausgang die Summe X+ Y+ I, was der Differenz X— Y entspricht. Die Summe X+ Y und die Differenz X- Y liegen jedoch noch nicht im CIM-Code vor. Um dies zu erreichen müßte die höchste Wertstelle der beiden Werte invertiert werden. Durch die Operation einer an die Ausgänge der beiden Addierer A 1 und A 2 angeschlossenen Exklusiv-ODER-Schaltung 26 ist diese Invertierung jedoch unnötig, da der Ausgang dieser Schaltung kein anderes Signal liefert, wenn die beiden durch Exklusiv-ODER zu verknüpfenden Eingangssignale gleichzeitig invertiert werden. Auf der anderen Seite muß die Indexierung des Wertes von X+ Y die Invertierung aller Bits mit Ausnahme der höchsten Stelle erlauben. Diese Invertierung wird durch eine Exklusiv-ODER-Schaltung 28 ausgeführt, welche die Summe X+ Yauf einem Eingang empfängt und auf dem anderen Eingang eine Serie von Bits zugeführt erhält, deren Anzahl der Anzahl von Bits in der Summe X+ Y entspricht und von denen jedes Bit den Wert 1 enthält mit Ausnahme des höchststelligen Bits, das den Wert 0 aufweist. Die Exklusiv-ODER-Schaltung 28 invertiert daher alle Bits von X+ Y mit Ausnahme des höchststelligen Bits. Zum Addierer A 2 ist nachzutragen, daß die in Fig. 5 angegebene Bezeichnung rO = 0 bedeutet, daß dieser Addierer keinen Anfangsübertrag zugeführt erhält.
Die Multiplikanden A und B sind in den Registern Ra 1 und Rb 1 enthalten, deren Ausgänge mit UND-Schaltungen 51 bis 58 verbunden sind. An die anderen Eingänge dieser UND-Schaltungen werden die über einen Inverter /4 invertierten Eingangssignale der Exklusiv-ODER-Schaltung 26 angelegt. Die Funktion der UND-Schaltungen 51 bis 58 ist die gleiche wie die der UND-Schaltungen 11 bis 18 von Fig.4. Dementsprechend haben die ODER-Schaltungen 61 bis 64 und die Exklusiv-ODER-Schaltungen 73 bis 76 der Schaltung von F i g. 5 die gleiche Funktion wie die UND-Schaltungen 31 bis 34 und die Exklusiv-ODER-Schaltungen 43 bis 46 in F i g. 4. Am Ausgang der ODER-Schaltungen 61 bis 64 wird entweder der Wert A oder der Wert B erhalten, je nach dem Ausgangssignal der Exklusiv-
1. LVUILII UIC HAMUalV-WL/ER-Jl-IIcII-
tungen 73 bis 76 werden die Ausgangssig'. Ie der ODER-Schaltungen 61 bis 64 invertiert oder unverändert zum Ausgang der Schaltung übertragen, je nachdem, ob die Exklusiv-ODER-Schaltung 28 ein 1- oder ein O-Ausgangssignal liefert. Der Ausgang der Exklusiv-ODER-Schaltung 73 bis 76 stellt daher entweder einender Werte +A und +ßoder einen der Werte Ä oder Sdar. In den letzten zwei Fällen muß eine 1 zum Ergebnis addiert werden, um das Resultat — A oder — B zu erhalten. Dies geschieht wiederum in der oben beschriebenen Weise über eine zusätzliche Leitung FC, die mit dem Ausgang der Exklusiv-ODER-Schaltung 28 verbunden ist.
An Hand der F i g. 3, 4 und 5 wurden verschiedene Einrichtungen für die Bildung der Teilprodükte erläutert die zur Ausführung der Multiplikationen benötigt werden. Zur stellenrichtigen Akkumulation der Teilprodukte kann ein Verschiebe-Akkumulator bekannter Schaltungsart Verwendung finden. Ein solcher Akkumulator empfängt die Teilprodukte nacheinander und addiert sie, nachdem eine entsprechende Stellenverschiebung des bis dahin akkumulierten Teilproduktes vorgenommen worden ist. Der Akkumulator empfängt zusätzlich die Korrekturbits von der Leitung FC und addiert diese Signale zu den Teilprodukten. Am Ausgang des Akkumulators erscheint das Resultat der
Multiplikation, sofern der Akkumulator an eine Einrichtung gemäß F i g. 3 angeschlossen ist, oder die Summe zweier Produkte in der Form 5 = AX + BY, sofern der Akkumulator an eine Einrichtung gemäß F i g. 4 oder 5 angeschlossen ist. Das Resultat steht im Zweierkomplement-Code zur Verfugung, da die Akkumulation der Faktoren ebenfalls in diesem Code erfolgt
Da die zwei Bits am niedrigstelligen Ende der die Multiplikation steuernden und im CIM-Code vorliegenden Multiplikatoren jeweils das gleiche Binärgewicht haben, führt der Akkumulator während der Akkumulation der entsprechenden Teilprodukte keine Stellenverschiebung durch. Dasselbe trifft natürlich zu für die ersten zwei Bits, die auf der Korrekturleitung FC erscheinen.
Aufgrund des zusätzlichen Bits, das im CIM-Code existiert, enthält die am Ausgang des Akkumulators erhaltene Zahl ein nicht signifikantes Bit nämlich das Bit der niedrigsten Wertstelle. Um ein richtiges Resultat am Ausgang des Akkumulators zu erhalten, muß daher das Bit der niedrigsten Wertstelle unterdrückt werden.
Ein Ausführungsbeispiel für einen Akkumulator der genannten Art ist in Fig.6 dargestellt Dieser Akkumulator gehört der Art von Akkumulatoren an, wie sie beispielsweise im obengenannten Handbuch von R.K. Richards auf den Seiten 155 bis 157 dargestellt sind.
Das Grundelement des Akkumulators ist ein Modul BAS. der einen aus F i g. 7 ersichtlichen Schaltungsaufbau besitzt Er enthält einen Addierer A 3, der zwei Dateneingänge c und f. einen Obertragseingang r und zwei Ausgänge g und Λ aufweist. Der Addierer A 3 liefert am Ausgang g eine Summe Modulo 2 und am Ausgang h einen binären Übertrag. Der Modul BAS umfaßt zwei Dateneingänge E und F, zwei Steuereingänge / und K und zwei Ausgänge G und H. Die Ausgänge G undHsind mit den Ausgängen gund Ades Addierers A 3 verbunden. Der Eingang F ist an den Eingang f des Addierers A 3 angeschlossen, und der Eingang £ führt zum Eingang eüber eine UND-Schaltung Pi, die durch ein Steuersignal vom Eingang / gesteuert wird, nachdem dieses Signal durch einen Inverter /6 invertiert worden ist. Die an die Steuereingänge / und K angelegten Signale gelangen über eine UND-Schaltung P2 zu einer ODER-Schaltung Q1. Der Ausgang von Q 1 ist mit dem Eingang r des Addierers A 3 verbunden. Der zweite Eingang der ODER-Schaltung Q 1 ist an den Ausgang einer UND-Schaltung P3 angeschlossen. Ein Eingang der UND-Schaltung P3 wird von den Signalen vom Ausgang h des Addierers A 3 gespeist, nachdem diese Signale über ein Verzögerungselement d über eine Bit-Taktzeit verzögert worden sind. Ein zweites Eingangssignal empfängt die ODER-Schaltung P3 von einem Inverter /5. der die Steuersignale vom Eingang K invertiert.
Der Akkumulator von Fig.6 besteht aus einer Anzahl von Modulen BASi bis BAS4 nach Art des Moduls gemäß F i g. 7. Die Module BAS1 bis BAS 4 sind in Serie geschaltet d. h, der Eingang feines Moduls ist mit dem Ausgang G des vorausgehenden Moduls über ein Verzögerungselement d verbunden, das eine Verzögerung um eine Bit-Taktzeit bewirkt Der Ausgang F eines jeden Moduls BASi bis BAS4 empfängt ein Bit des zu akkumulierenden Teilprodukts
ίο von einer zugeordneten der ausgangsseitigen Exklusiv-ODER-Schaltungen der Einrichtungen gemäß F i g. 3,4 oder 5. So ist beispielsweise der Ausgang der Exklusiv-ODER-Schaltung 3 (Fig.3) mit dem Eingang Fdes Moduls BAS1, der Ausgang der Exklusiv-ODER-
Schaltung 4 mit dem Modul BAS2 und der Ausgang der Exklusiv-ODER-Schaltung 5 mit dem Modul BASi verbunden. Der Ausgang der Exklusiv-ODER-Schaltung 6, der dem Resultatbit der niedrigsten Stelle entspricht, führt dagegen zum Eingang E eines
zusätzlichen Moduls BASS, das auf seinem zweiten Eingang F das Korrekturbit von der Leitung FC empfängt Dementsprechend können die Module BAS1 bis BASS in der angegebenen Stellenfolge auch mit den Exklusiv-ODER-Schaltungen 43 bis 46 von F i g. 4 oder den Exklusiv-ODER-Schaltungen 73 bis 76 von F i g. 5 verbunden sein. Der Ausgang G des Moduls BAS5 liefert Eingangssignale zum Eingang F des Moduls BASA. Der Ausgang G des Moduls BASi ist über eine Schleife 29 mit dem Eingang E des gleichen Moduls verbunden. Hierdurch erhält der Modul BAS \ seine Ausgangssignale nach einer Verzögerung von einer Bit-Taktzeit erneut zugeführt so daß das höchststellige Bit einer Akkumulation während der darauffolgenden Akkumulation erneut berücksichtigt wird. Dies ist notwendig, um richtige Resultate bei der Akkumulation von Zahlen im Zweierkomplement-Code zu erhalten. Die Eingänge /der Module BASi bis BAS4 sind an eine Leitung eingeschlossen, die Übertragstaktsignale der in F i g. 8 angegebenen Art zugeführt erhält. Ebenso sind die Eingänge K der Module BASi bis BAS4 mit einer gemeinsamen Leitung CJt verbunden, der Taktsignale zugeführt werden, wie sie aus F i g. 8 ersichtlich sind.
Die Arbeitsweise des Akkumulators wird nachfol-
gend unter Bezugnahme auf Tabelle III beschrieben. Die Tabelle III bezieht sich auf ein Zahlenbeispiel einer Akkumulationsoperation. Der Akkumulator wird durch Taktsignale einem nicht dargestellten Taktsignalgenerator gesteuert Jedes dieser Taktsignale hat die Dauer einer vorgegebenen Elementarzeit die entsprechend der Schaltgeschwindigkeit der zur Benutzung gelangenden elektronischen Bauelemente gewählt wird. In Tabelle III sind die Arbeitszustände des Akkumulators für zehn aufeinanderfolgende Taktzeiten /1 bis 110 dargestellt Das in Tabelle III enthaltene Zahlenbeispiel entspricht dem in F i g. 5 angegebenen.
Tabelle Hl BASX G H BASl F G H BASi G H BAS4 F G H BASS F G H
E F 0 1 E 1 0 1 E F 1 0 E I 0 I E 1 1 0
1 I 0 0 1 0 0 I 0 I 0 1 0 0 I 0
/1 0 1 0 0 I 0 1 1 0 0 0 I I 1 0 I
Il 1 0 0 1 I I 0 1 1 0 I 0 1 0 0 I I I 0 I
(3 I 1 I 1 0 I 0
14
Fortsetzung
BASl G H BASl G H BAS3 G 0 BAS4 F G H BASS G H
E F 1 0 E F 1 0 E F 1 0 E 0 0 E F 0 1
0 0 1 0 0 0 1 0 0 1 1 0 1 1 1 1 0 1 0
1 . 1 0 1 . 1 0 1 . 1 0 1 0 0 0 0
1 . 1 0 1 . 1 0 1 . 1 0 1 0 0 0 0
1 . 1 0 1 . 1 0 1 . 1 0 1 0 0 0 0
1 . 1 0 1 . 1 0 1 . 1 1 0 0 1 0 0
1 . 1 . 1 . 1
ι
Wie bereits erwähnt, werden aufgrund der Struktur des CIM-Codes die ersten zwei Teilprodukte ohne Stellenverschiebung akkumuliert Vor Beginn der Akkumulationsoperationen erfolgt eine allgemeine Rückstellung des Akkumulators durch nicht dargestellte Schaltmittel in den Nullzustand. Zur Taktzeit 11 erhalten die Steuereingänge / und der K der Module BASl bis BAS4 ein Steuersignal, das die UND-Schaltungen P1 in diesen Moduln aufgrund der Wirkung des Inverters 6 sperrt. Es wird dadurch verhindert, daß Signale vom Eingang £zum Addierer A 3 in jedem der genannten Module gelangen können. Da zur gleichen Zeit auch der Steuereingang K signalführend ist (F i g. 8), wird dem Eingang rdes Addierers A 3 in jedem Modul ein Binärsignal 1 zur gleichen Zeit zugeführt, wenn das erste Bit des ersten zu akkumulierenden Teilprodukts am Eingang /'dieser Module erscheint. Die UND-Schaltung P3 ist zu diesem Zeitpunkt gesperrt, wodurch eine Rückführung von Signalen vom Ausgang Λ zum Eingang r verhindert wird. Ebenfalls noch zur Zeit 11 ist im Modul BAS der Steuereingang / im signallosen Zustand, wie es durch die Bezeichnung »0« in F i g. 6 angegeben ist. Dieser Modul empfängt das Bit der niedrigsten Wertstelle des zu akkumulierenden Teilprodukts an seinem Eingang E und außerdem das erste Bit des Korrekturwertes an seinem Eingang F. Der Modul BAS 5 liefert an seinem Ausgang G die Modulo-2-Summe der genannten Eingangswerte, die zum Eingang Fdes Moduls BAS4 übertragen wird.
Zur Taktzeit ί 2 verbleibt der Eingang / eines jeden der Module BASl bis BAS4 im signalführenden Zustand, während die Eingänge K kein Steuersignal mehr zugeführt erhalten. Hierdurch werden in jedem der Module BAS1 bis BAS4 die UND-Schaltungen P2 gesperrt und die UND-Schaltungen P3 geöffnet. Daraufhin empfängt jeder der Module BAS I bis BAS4 ein Eingangssignal am Eingang Fund gleichzeitig den Übertrag vom Ausgang Λ aus der vorhergehenden Taktzeit. Zur Taktzeit (2 empfängt außerdem der Modul BASS ein Bit des zweiten zu akkumulierenden Teilprodukts sowie das zweite Bit von der Leitung FC sowie das Ausgangssignal, das dieser Modul während der vorhergehenden Taktzeit am Ausgang h geliefert hat. Der Ausgang G des Moduls BASS liefert eine Summe Modulo 2 zum Eingang Fdes Moduls BAS4. Damit wurden die ersten beiden Teilprodukte addiert, ohne daß eine Stellenverschicbung stattfand.
Zur Taktzeit r3 empfangen die Eingänge F die Bits des dritten Teilprodukts. Die Steuereingänge J und K der Module 0451 bis BAS4 sind nicht signalführend, wodurch die UND-Schaltungen PX und P3 geöffnet sind und Eingangssignale zum Eingang c sowie Überträge aus der vorhergehenden Taktzeit zum Eingang r des Addierers A3 durchlassen. Die UND-Schaltung P2 bleibt zu diesem Zeitpunkt geschlossen. Die Rückführung des Signals vom Ausgang G des Moduls BASi zum Eingang £ dieses Moduls zur Weiterreichung des Vorzeichen-Bits in der höchsten Wertstelle wird zugelassen, da die UND-Schaltung Pl im Modul BAS1 geöffnet isL Ein jeder Modul BAS 2 bis BAS 4 empfängt an seinem Eingang E die um eine Bit-Taktzeit verzögerten Ausgangssignale vom Aus gang G des vorausgehenden Moduls. Wie bereits erwähnt, wird der Übertrag aus der vorausgehenden Operation in jedem der Module BASl bis BASS zum Eingang des Addierers A3 in jedem dieser Module zurückübertragen. Damit ist eine Teilproduktakkumula tion mit nachfolgender Stellenverschiebung ausgeführt. Zu den übrigen Taktzeiten erfolgen die gleichen Opeituionen, wie sie eben für die Taktzeit /3 beschrieben wi-den. Die Zahlenwerte an den Eingängen und Ausgängen der Module des Akkumulators sind für das angegebene Zahlenbeispiel ans der Tabelle III zu ersehen.
Von der Taktzeit 16 an empfangen die Eingänge F der Module BAS1 bis BAS4 und die Eingänge £und F des Moduls BASS keine weiteren Signale, da keine weiteren Teilprodukte zu akkumulieren sind. Die Akkumulation ist jedoch noch nicht abgeschlossen, da die zugeführten Werte und die gebildeten Überträge in der Kette der Module BAS \ bis BAS 4 noch zu summieren sind. Die Multiplikation eines Faktors m Bits mit einem zweiten Faktor von η Bits, wobei das Vorzeichenbit jeweils enthalten ist, liefert ein Produkt mit maximal m+n-\ signifikanten Bits. Da im vorliegenden Fall die Summe von zwei Produkten zu bilden ist, besteht die Möglichkeit, daß eine zusätzliche Bitposition auftritt, so daß die Gesamtzahl der signifikanten Stellen maximal m+n beträgt.
Die Ausgangssignale des Akkumulators erscheinen bitweise am Ausgang G des Moduls BAS4. Im gewählten Beispiel enthaiten die Faktoren A, B, X und Y je vier Bits, welche die Werte A = +3, B= -2, X = +2, Y= — I darstellen. Am Ausgang G des Moduls BAS4 erscheint daher das Resultat
+ 8-3 χ ? + (-2) χ (-1).
«,η Das Ausgangssignal des Moduls DAS4 besitzt jedoch zusätzlich zwei signifikante Bits vor den acht Resultatbits. Das erste dieser zwei zusätzlichen Bits wird vom Akkumulator zur Taktzeit /1 erhalten und hat für das Endresultat keine Bedeutung, da die erste Addition des Teilprodukts zur Taktzeit I2 ausgeführt wird. Dieses Bit muß daher unterdrückt werden. Zur zweiten Taktzeit / 2 wird das zweite Bit aus dem Akkumulator erhalten. Dieses Bit stellt das zusätzliche Bit dar. das aufgrund der
Umcodierungsoperation der Faktoren in dem CIM-Code erzeugt wurde. Um ein korrektes Resultat im Zweierkomplement-Code zu erhalten, muß dieses Bit ebenfalls unterdrückt werden.
Das letzte signifikante Bit wird zur Taktzeit 110 am Ausgang G des Moduls BASA erhalten, so daß das korrekte Resultat im Zeitintervall von der Taktzeit r3 zur Taktzeit 110 gebildet wird. Eine Taktzeit f 11 kann zur Rückstellung des Akkumulators verwendet werden.
Die Unterdrückung der Ausgangssignale der Taktzeiten 11 und 12 kann in für sich bekannter Weise durch zeitliches Ausblenden erfolgen.
Der beschriebene Akkumulator liefert das Resultat einer Multiplikation eines aus m Bits bestehenden Multiplikators mit einem aus η Bits bestehenden Multiplikanden bzw. zweier derartiger Multiplikatoren und zweier derartiger Multiplikanden innerhalb m+n Elementartakten. Von der Taktzeit m+2 an empfängt der Akkumulator keine weiteren Teilprodukte. Die folgenden n—l Elementartaktzeiten werden dazu verwendet, die Ausbreitung und Addition der Summen und Überträge innerhalb des Akkumulators durchzuführen. Hierbei werden nicht alle Addierer A 3 benutzt, da zu jeder dieser Elementartaktzeiten nur eine einzige Addition und eine Anzahl Stellenverschiebungen vorgenommen werden. Es ist deshalb möglich, die nach /77+1 Elementartaktzeiten in den Modulen BAS des Akkumulators verbliebenen Werte von den Ausgängen G und H (Summe und Übertrag) eines jeden Moduls BAS in zwei Schieberegister zu übertragen, die mit einem Schlußaddic: er verbunden sind, der nach jeder Elementarzeit die Bits aus den niedrigsten Wertstellen der beiden Schieberegister empfängt Eine derartige Ausbildung ermöglicht es, daß der Akkumulator bereits nach /77+1 Elementartakten mit der Akkumulation von Teilprodukten der nächsten Multiplikation beginnen kann, ohne daß das Ende der vorausgehenden Akkumulation abgewartet werden muß. Durch eine einfache logische Schaltung können dabei die zum gleichen Resultat gehörenden Bits gruppiert werden, die in Serien von /J)+1 oder n—\ Bits am Ausgang des letzten Moduls BASA des Akkumulators und am Ausgang des vorerwähnten Schlußaddierers auftreten.
Die in den Fig.4 und S beschriebenen Multiplizierschaltungen können in Verbindung mit einem Akkumulator der in Fig.6 dargestellten Art zur Bildung von Produktsummen der Form 5 = AX + BY benutzt werden, worin A, B. X und Y algebraische Binärzahlen sind. In der Praxis ist es jedoch oft notwendig, allgemeine Produktsummen des Typs:
S = 2j Aj Xj.
Die dargestellten Multiplikationseinrichtungen können in vielfältiger Weise zur Akkumulation solcher allgemeiner Produktsummen abgewandelt werden. Das Ausführungsbeispiel von Fig,4 kann in der folgenden Weise zur Bildung allgemeiner Produktsummen ausgebildet werden: Den Faktoren A und B entsprechen in der oben angegebenen allgemeinen Form die Faktoren A, ± A2 ± A3 ± ... ± AnU. h. 2"-' Faktoren. Mit diesen Faktoren wird in der beschnebe nen Weise die eine Hälfte der Produktsumme gebildet. Durch eine Indexierungsoperation der in Verbindung mit F i g. 4 beschriebenen Art für die Faktoren -X, ist eine Bildung der anderen 2"-' Teilprodukte aus den Faktoren — (A\ ± A2 ± A3 ± ... ± An)nicht erforder lick Durch eine Reihe von UND-Schaltungen können daher die Bits der Faktoren X-, für die erforderlichen Teilprodukte ausgewählt werden. Dieses geschieht im Prinzip in derselben Weise, wie es an Hand der F i g. 4 für zwei Faktoren beschrieben wurde. Zur Akkumula tion der Teilprodukte genügt ein einzelner Verschiebe- akkuiTiulaior nach Art von Fig.6. Eine solche Anordnung ist sehr einfach, erfordert jedoch eine entsprechend große Anzahl von Teilproduktakkumulationen.
Eine andere Lösung besteht darin, nach Art von F i g. 4 die Summen von zwei Faktoren zu bilden und diese zeitlich verschachtelt mit den anderen beiden Faktoren zu multiplizieren. In diesem Fall sind lediglich
η Teilprodukte zu erzeugen. Es sind jedoch y oder, im
Fall einer ungeraden Zahl von n, ^+-Verschiebeakkumulatoren notwendig. Außerdem werden zusätzliche Addierer benötigt, um aus den Ausgangssignalen der
Akkumulatoren eine Endsumme zu bilden.
Ebenso kann die zweite Ausführungsform gemäß Fig.5 in der zuletzt genannten Weise verallgemeinert werden, d. h., es werden mehrere Schaltungen von F i g. 5 parallel vorgesehen, und die cnmmierung der Resultate erfolgt in getrennten Verschiebeakkumulatoren.
Auch in den dargestellten Ausführungsbeispielen von F i g. 3,4 und 5 sind Abänderungen möglich. So können beispielsweise anstelle der Exklusiv-ODER-Schaltun gen 3 bis 6 logische Schaltungen verwendet werden, weiche die Äquivalenzfunktion erfüllen. In diesem Fall würde der Inverter /wegfallen. Dasselbe trifft zu auf die Exklusiv-ODER-Schaltungen 43 bis 46 und den Inverter /1 von F i g. 4, auf die Exklusiv-ODJSR-Schaltung 25 und
den Inverter /2 der gleichen'' Figur und auf die entsprechenden Schaltungen 73 bis 76, 28 von F i g. 5 sowie auf die Exklusiv-ODER-Schaltung 26 und den Inverter /4 der letztgenannten Figur.
Hierzu 4 Blatt Zeichnungen

Claims (10)

Patentansprüche:
1. Serien-Parallel-Multiplizierwerk zur vorzeichengerechten Multiplikation positiver und negativer Operanden, mit einer Übertragungsschaltung, welcher der Multiplikand im Binärcode bzw. im Zweierkomplementcode parallel zugeführt wird und die durch die seriell bereitgestellten Binärziffern des Multiplikators eine Übertragung des Multiplikanden als Teilprodukt zu einem Akkumulator veranlaßt, gekennzeichnet durch folgende Merkmale:
a) Der Multiplikator wird über eine Umschlüsselungseinrichtung (SR 1) zugeführt, die aus dem ursprünglichen Code einen positive und negative Binärziffern — z. B. Binärziffer »1« = + 1 χ Stellenwert, Binärziffer »0« = — 1 χ Stellenwert — enthaltenden Operationscode dadurch bildet, daß zum Zweierkomplementcode des Multiplikators dessen niedrigster Binärstelle eine zusätzliche, stets negative Binärziffer hinzugefügt wird, deren Stellengewicht dem der vorletzten Binärziffer des Operationscodes entspricht, und sämtliche Stellengewichte des Operationscodes im Verhältnis zu den Stellen des Ursprungs«)-des um 1 erniedrigt werden, und daß die höchste, das Vorzeichen darstellende Binärziffer invertiert wird,
b) die Übertragungsschaltung weist durch die Binärziffern des Operationscodes gesteuerte Umschalter (3 bis 6) auf, die in Abhängigkeit vom Vorzeichen jeder einrslnen Binärziffer der seriell zugeführten Multiplikatorziffern des Operationscodes entweder ^en echten oder den negierten Werten des Multiplikanden zum κ Akkumulator weiterleitet,
c) durch eine Schaltung (FC, BAS5) werden zu negativen Teilprodukten jeweils eine Korrekturziffer aus den der Übertragungsschaltung zugeführten Binärziffern des Operationscodes abgeleitet und zur niedrigsten Ziffernstelle des Akkumulators hinzuaddiert, der das Resultat ir,', Zweierkomplementcode bereitstellt, und
d) der Akkumulator weist eine Sperrschaltung (Cj) auf, die zwischen den ersten beiden Teilpro- -ti duktakkumulationen eine Stellenverschiebung verhindert und die beiden niedrigsten Binärstellen des Endresultats unterdrückt.
2. Multiplizierwerk nach Anspruch I, dadurch gekennzeichnet, daß die Umschalter (3 bis 6) Äquivalenz- bzw. Disvalenz-Schaltungen sind.
3. Multiplizierwerk nach einem der Ansprüche 1 bis 2, dadurch gekennzeichnet, daß die ümschlüsselungseinrichtung (SR 1) aus einem Multiplikatorregister besteht, das zur Aufnahme von binärcodierten y, Werten geeignet ist und eine zusätzliche Wertstelle am niedrigstelligen Ende zur Aufnahme einer Binärziffer 0 sowie eine Inverterschaltung (20) zur Invertierung der Ziffer in der höchsten Wertstelle besitzt. μ
4. Multiplizierwerk nach einem der Ansprüche I bis 3, dadurch gekennzeichnet, daß ein Multiplikandenregister (RA) vorgesehen ist, das positive oder negative Multiplikanden aufnimmt, daß jede Stelle des Multiplikandenregisters mit einer ausgangsseitig h> an den Akkumulator angeschlossenen Exklusiv-ODER-Schaltung (3 bis 6) verbunden ist. daß der zweite Eingang aller Exklusiv-ODER-Schaltungen über eine Inverterschaltung (21) mit dem Serienausgang eines Multiplikatorregisters (RX) verbunden ist und daß vom Ausgang der Inverterschaltung eine zusätzliche Eingangsleitung (FC) zum Akkumulator führt, über die eine Korrektur-Eins übertragen wird, wenn durch die Exklusiv-ODER-Schaltungen eine Invertierung der Multiplikandenziffern erfolgt
5. Multiplizierwerk nach einem der Ansprüche I bis 4, dadurch gekennzeichnet, daß zur Bildung von Produktensummen des Typs S = AX + BY, worin
A, B, X und Yalgebraische Zahlen sind, kombinierte Multiplikandenregister (Ra-b, Ra+b) zur Aufnahme der Summe und der Differenz der Multiplikanden A, B vorgesehen sind, daß die Übertragungsschaltung zwei Sätze von in Kaskade angeordneten Umschaltern (11 bis 18 und 43 bis 46) aufweist, daß zum ziffernweisen Vergleich der Multiplikatoren X, V eine Äquivalenzschaltung (25, /1) vorgesehen ist, deren Ausgangssignale den einen Satz Umschalter (U bis 18) zur Auswahl eines der kombinierten (viuiupiikandenregisier für die Wertzuführung zum Akkumulator steuert, und daß der andere Satz Umschalter (43 bis 46) zur Übertragung des echten oder des negierten Inhalts aus dem ausgewählten der kombinierten Multiplikandenregister dient und auf eine Äquivalenz oder Disvalenz zwischen den einzelnen Ziffern dieses Inhalts und den Ziffern eines der Multiplikatoren anspricht
6. Multiplizierwerk nach Anspruch 5, dadurch gekennzeichnet, daß die Äquivalenzschaltung für die Multiplikatorziffern eine Exklusiv-ODER-Schaltung (25) aufweist der die Ziffern des einen Multiplikators über einen Inverter (11) zugeführt werden.
7. Multiplizierwerk nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß zur Bildung von Produktsummen des Typs 5 = AX +BY, worin A,
B, X und Y algebraische Zahlen sind, Multiplikandenregister (Ra 1, Rb 1) zur Aufnahme der Multiplikanden A, B vorgesehen sind,dab»iin Addierer (A 2) und ein Subtrahierer (A 1, /3) vorgesehen sind, die die Summe und die Differenz aus den Ziffern der Multiplikatoren X, Y bilden, daß die Übertragungsschaltung zwei Sätze von in Kaskade angeordneten Umschaltern (51 bis 58 und 73 bis 76) aufweist, daß eine Vergleichsschaltung (26) vorgesehen ist, die die Ausgangssignale des Addierers und des Subtrahierers zugeführt erhält und deren Ausgangssignale den einen Satz von Umschaltern (51 bis 58) zur Auswahl eines der Multiplikandenregister (Ra 1 oder Rb i) in Abhängigkeit vom Gleich- oder Ungleich-Zustand der Resultatziffern aus dem Addierer (A 2) und dem Subtrahierer (A 1) steuern, und daß der andere Satz Umschalter (73 bis 76) zur Übertragung des echten oder des negierten Inhalts des ausgewählten Multiplikandenregisters zum Akkumulator dient und auf die Ausgangssignale des Addierers anspricht.
8. Multiplizierwerk nach einem der Ansprüche 5 bis 7, dadurch gekennzeichnet, daß ein erster Satz Umschalter aus je einer UND-Schaltung (11 bis 18 oder 51 bis 58) für jede Wertstelle in den beiden Multiplikandenregistern (Ra — b, Ra + b oder Ra 1, Rb i) besteht und daß der zweite Satz Umschalter eine Anzahl Exklusiv-ODER-Schaltungen (43 bis 46 oder 73 bis 76) aufweist, die einerseits die Ausgangssignale der beiden aneinander gleichgeordnete Wertstellen der Multiplikandenregister angeschlossenen UND-Schaltungen aus dem ersten Satz Umschalter und andererseits die aus den
Multiplikatorziffern abgeleiteten Auswahlsignale zugeführt erhält
9. Multiplizierwerk nach Anspruch 7 und 8, dadurch gekennzeichnet, daß die Vergleichsschaltung (26) eine Exklusiv-ODER-Schaltung ist und daß die Umschalter (51 bis 58) zur Auswahl des den Multiplikanden A enthaltenden Registers bei Gleichheit der Ziffern der Multiplikandensumme und der b!ultiplikandendifferenz und zur Auswahl des anderen Registers bei Ungleichheit dieser Ziffern ausgebildet sind.
10. Multiplizierwerk nach einem der Ansprüche 7 bis 9, dadurch gekennzeichnet, daß zur Aufnahme der Multiplikatoren A, B in Binärdarstellung Multiplikatorregister (Rx 1, Ry 1) vorgesehen sind, von denen jedes eine zusätzliche Ziffernstelle am niedrigsteliigen Ende aufweist, die den Wert 0 enthält, daß der Ausgang des Addierers (A 2) mit einer Exklusiv-ODER-Schaltung (28) verbunden ist, die an ihrem zweiten Eingang für jede Ziffer der Muitipiikatorsumme mit Ausnahme der höchsistdügen einen Steuerimpuls zugeführt erhält, dessen Potential einem 1-Weit entspricht, und daß der Ausgang der Exklusiv-ODER-Schaltung (28) mit den Umschaltern (73 bis 76) zur selektiven Weiterleitung des echten oder des negierten Multiplikanden zum Akkumulator verbunden sind
DE19722207566 1971-02-25 1972-02-18 Serien-Parallel-Multiplizierwerk Expired DE2207566C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR7107548A FR2127343A5 (de) 1971-02-25 1971-02-25

Publications (3)

Publication Number Publication Date
DE2207566A1 DE2207566A1 (de) 1972-09-28
DE2207566B2 DE2207566B2 (de) 1979-08-09
DE2207566C3 true DE2207566C3 (de) 1980-04-17

Family

ID=9072928

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19722207566 Expired DE2207566C3 (de) 1971-02-25 1972-02-18 Serien-Parallel-Multiplizierwerk

Country Status (4)

Country Link
JP (1) JPS5423212B1 (de)
DE (1) DE2207566C3 (de)
FR (1) FR2127343A5 (de)
GB (1) GB1346624A (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4215416A (en) * 1978-03-22 1980-07-29 Trw Inc. Integrated multiplier-accumulator circuit with preloadable accumulator register

Also Published As

Publication number Publication date
FR2127343A5 (de) 1972-10-13
DE2207566B2 (de) 1979-08-09
DE2207566A1 (de) 1972-09-28
JPS5423212B1 (de) 1979-08-11
GB1346624A (en) 1974-02-13

Similar Documents

Publication Publication Date Title
DE3789171T2 (de) Mehrstufiges Multiplizier- und Addiergerät für Digitalsignale.
EP0123921B1 (de) Parallelverknüpfungsschaltung mit verkürztem Übertragsdurchlauf
DE1956209C3 (de) Multipliziervorrichtung
DE69435034T2 (de) Verfahren ind vorrichtung zur durchfuehrung einer schnellen hadamard transform
DE2145404A1 (de) Nichtrekursive Digitalfiltereinrichtung mit Verzögerungs- und Addier-Anordnung
DE1549476B2 (de) Anordnung zur ausfuehrung von divisionen
DE4101004C2 (de) Paralleler Multiplizierer mit Sprungfeld und modifiziertem Wallac-Baum
DE2758130C2 (de) Binärer und dezimaler Hochgeschwindigkeitsaddierer
DE1549508C3 (de) Anordnung zur Übertragsberechnung mit kurzer Signallaufzeit
DE3424078A1 (de) Dezimalmultiplikations-einrichtung
DE2207566C3 (de) Serien-Parallel-Multiplizierwerk
DE2111838A1 (de) Rein digitaler,sich automatisch selbst einstellender Daempfungsentzerrer mit einer Mehrzahl von Anzapfschaltungen,die im Tandem zum Entzerren von ueber ein verzerrendes Medium geleiteten Signalen geschaltet sind
DE3326388C2 (de)
DE2705989A1 (de) Mehrziffernrechenwerk
DE2913729C2 (de) Schaltungsanordnung zur bitparallelen Binäraddition oder zum Shiften von Binärzahlen
DE2017132B2 (de) Binärer Parallel-Addierer
DE19635113A1 (de) Multiplizierer
EP0333884B1 (de) CMOS-Parallel-Serien-Multiplizierschaltung sowie deren Multiplizier- und Addierstufen
DE3634691A1 (de) Differenzpulscodemodulator sowie dessen verwendung als demodulator
DE2060590A1 (de) Digitalrechner
DE2636028A1 (de) Digitaler multiplizierer
DE3015357A1 (de) Vorrichtung fuer kuenstlichen nachhall
DE1094020B (de) Periodisch arbeitende numerische Rechenmaschine
EP0860051B1 (de) Schaltungsanordnung und verfahren zur mehrfachnutzung eines digitalen transversalfilters
DE19635111A1 (de) Multiplizierer

Legal Events

Date Code Title Description
OD Request for examination
C3 Grant after two publication steps (3rd publication)
8339 Ceased/non-payment of the annual fee