DE2207566C3 - Serien-Parallel-Multiplizierwerk - Google Patents
Serien-Parallel-MultiplizierwerkInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/533—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
- G06F7/5332—Reduction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/5443—Sum 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,
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
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
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.
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
-(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
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).
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
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.
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 | ||||||||||||||||||
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
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.
Claims (10)
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
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)
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 |
-
1971
- 1971-02-25 FR FR7107548A patent/FR2127343A5/fr not_active Expired
- 1971-12-06 GB GB5645871A patent/GB1346624A/en not_active Expired
-
1972
- 1972-01-26 JP JP913072A patent/JPS5423212B1/ja active Pending
- 1972-02-18 DE DE19722207566 patent/DE2207566C3/de not_active Expired
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 |