DE1549465C - Multiplikationseinrichtung - Google Patents

Multiplikationseinrichtung

Info

Publication number
DE1549465C
DE1549465C DE19671549465 DE1549465A DE1549465C DE 1549465 C DE1549465 C DE 1549465C DE 19671549465 DE19671549465 DE 19671549465 DE 1549465 A DE1549465 A DE 1549465A DE 1549465 C DE1549465 C DE 1549465C
Authority
DE
Germany
Prior art keywords
multiplicand
multiplier
digits
digit
content
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
DE19671549465
Other languages
English (en)
Other versions
DE1549465A1 (de
DE1549465B2 (de
Inventor
Frank Dr. 7030 Böblingen Tsui
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.)
IBM Deutschland GmbH
Original Assignee
IBM Deutschland GmbH
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 IBM Deutschland GmbH filed Critical IBM Deutschland GmbH
Publication of DE1549465A1 publication Critical patent/DE1549465A1/de
Publication of DE1549465B2 publication Critical patent/DE1549465B2/de
Application granted granted Critical
Publication of DE1549465C publication Critical patent/DE1549465C/de
Expired legal-status Critical Current

Links

Description

ist über eine Torschaltung-7 mit dem einen Operandeneingang des Addierwerkes verbunden. Der Ausgang des Akkumulator-Registers ist einerseits über eine Torschaltung 8 mit dem anderen Operandeneingang des Addierwerkes 1 und andererseits über eine Torschaltung 9 mit dem Eingang des Speichers 3 verbunden. Das Addierwerk 1 ist im dargestellten Beispiel als binärdezimales Paralleladdierwerk ausgebildet, das so viele Stellen aufweist, wie sie die zu multiplizierenden Faktoren besitzen. Jede Dezimalstelle besteht aus vier Binärstellen. Die in F i g. 1 jeweils als einfache Linien dargestellten Eingangsleitungen des Addierwerkes bestehen daher aus einer der vierfachen Operandenstellenzahl entsprechenden Anzahl einzelner Adern, von denen jeder ein separates Tor in den Torschaltungen 7 und 8 zugeordnet ist. Das Akkumulatorregister 2, das als Schieberegister ausgebildet ist, besitzt eine zur Aufnahme der Resultatziffern aus dem Addierwerk 1 geeignete Anzahl Registerstufen. Die als einzelne Linie dargestellte Übertragungsleitung vom Ausgang des Registers 2 zum Eingang des Speichers umfaßt daher eine dem Vielfachen der Registerstellenzahl entsprechende Anzahl Adern, von denen jeder ein separates Tor in der Torschaltung 9 zu- »5 geordnet ist. Der Inhalt des Registers 2 wird durch einen Taktimpuls (3B um zwei Dezimalstellen, d. h. also um zwei binäre Tetraden nach rechts verschoben.
Der Ausgang des Speichers 3 ist weiterhin über eine Torschaltung 11 mit zwei Zählregistern 12,13 verbunden, von denen jedes zur Aufnahme einer Multiplikatorstelle eingerichtet ist. Das Register 12, das als a-Register bezeichnet wird, dient zur Aufnahme der höherstelligen Ziffer, und das Register 13, das als fe-Register bezeichnet wird, dient zur Aufnahme der niedrigstelligen Ziffer eines dem Speicher 3 über die Torschaltung JIl zur gleichen Zeit entnommenen Multiplikator-Ziffernpaares.
Der Speicher 3 weist neben anderen Speicherfeldern fünf Speicherfelder auf, die zum Betrieb der dargestellten Multiplikationseinrichtung benötigt werden. Es handelt sich dabei um ein Multiplikatorfeld Mr, ein Produktfeld Pt und drei Multiplikandenfelder Md-I, Md-Il und Md-III. Gemäß der Erfindung werden jeweils zwei Multiplikatorziffern a, b gleichzeitig verarbeitet. Hierzu werden am Beginn einer jeden Multiplikationsoperation in das Multiplikandenfeld Md-I der lfache Multiplikand 1,0 Md, in das Multiplikandenfeld Md-II das 0,lfache des Multiplikanden und in das Multiplikandenfeld Md-Hl das !,lfache des Multiplikanden eingegeben. In Abhängigkeit vom Wert der beiden Ziffern a, b des gerade zu verarbeitenden Multiplikator-Ziffernpaares wird jeweils einer dieser Werte ausgewählt. Sind beide Ziffern α und b ungleich Null, so erfolgt eine Auswahl des Feldes Md-Hl. Ist die niedrigstellige (b) der beiden Ziffern Null und die höherstellige (α) ungleich Null, so wird das FeIdMd-I des einfachen Multiplikanden ausgewählt. Im umgekehrten Falle, wenn a = 0 und b φ 0, wird das Feld Md-Il des 0,1 fachen Multiplikanden ausgewählt. Schließlich wird bei α ψ 0 und b φ 0 das Feld Md-III des !,Ifachen Multiplikanden ausgewählt. Diese Auswahl geschieht mit Hilfe zweier separat anstcuerbarer Stufen 22, 23 des Registers 6, das über die Torschaltung 21 zur Adressierung der Multiplikandenfelder dient.
Die Multiplikandenfelder Md-I, Md-Il und Md-III werden im Speicher 3 so angeordnet, daß sich ihre Adressen lediglich in zwei Binärstellen unterscheiden, während die übrigen Adressenstellen allen drei Feldern gemeinsam sind. Diesen beiden Binärstellen sind die Registerstufen 22, 23 zugeordnet, die völlig den übrigen Stufen des Registers 6 entsprechen, jedoch unabhängig von diesen über separate Eingangsleitungen 24, 25 einstellbar sind. Zur Einstellung aller übrigen Stufen des Registers 6 dient eine Adressensammelleitung 26. Die Registerstufen 22, 23 entsprechen vorzugsweise den beiden niedrigsten Binärstellen der Adresse eines Speicherwortes, so daß sich die drei Multiplikandenfelder im Speicher 3 auf nebeneinanderliegenden Speicherwörtern befinden. Wenn der Inhalt der Registerstufe 22 mit V und der Inhalt der Registerstufe 23 mit W bezeichnet wird, ergibt sich folgende Zuordnung:
V W Multiplikandenfeld Multiplikanden
vielfaches
1
0
1
0
1
1
Md-I
Md-II
Md-III
1,0
0,1
1,1
Der rechts von den Stufen 22, 23 befindliche Teil 27 des Registers 6 dient zur Aufnahme derjenigen Adressenstellen, die in für sich bekannter Weise die Speicherstellen bzw. Bytes eines Speicherwortes bezeichnen. Sie können die Adresse der ersten Stelle eines Operandenfeldes, z. B. des Multiplikandenfeldes Md-I angeben, wenn diese Stelle nicht mit der ersten Stelle des betreffenden Speicherwortes übereinstimmt.
Die Einstellung der Registerstufen 22, 23 erfolgt unter Steuerung der Register 12, 13. Jedes dieser Register besteht aus vier Flipflopstufen FF, die in für sich bekannter Weise zu einer Zählschaltung verknüpft sind. Durch Taktimpulse riß werden diese Zählschaltungen schrittweise auf Null geschaltet, ausgehend von in die Register 12, 13 über die Leitung 14 eingegebenen Multiplikandenziffern. Die den Null-Schaltzuständen der Flipflops FF im Register 12 zugeordneten Ausgänge sind mit einer Und-Schaltung 30 verbunden. Die entsprechenden Ausgänge des Registers 13 sind zu einer Und-Schaltung 31 geführt. Die Ausgänge der beiden Und-Schaltungen 30, 31 sind über je eine Inverterschaltung 32, 33 und je eine Oder-Schaltung 34, 35 mit den Eingängen der Registerstufen 22, 23 verbunden. Da die Ausgänge der Und-Schaltungen 30 bzw. 31 nur jeweils dann signalführend sind, wenn sich die Stufen der Register 12 bzw. 13 im Null-Zustand befinden, ist das am Ausgang der Inverterstufen 32 bzw. 31 erscheinende Signal eine Anzeige dafür, daß sich in dem Register 12 bzw. 13 ein von Null abweichender Wert befindet. Diese Anzeigesignale werden mit d und V bezeichnet, wobei a' den Zustand »Multiplikandenziffer α im Register 12 ist ungleich Null« und b' den Zustand »Multiplikandenziffer δ im Register 13 ist ungleich Null« anzeigen. Über die Leitungen 24, 25 dienen diese Signale zur direkten Einstellung der Registerstufen 22, 23 des Registers 6, indem in für sich bekannter Weise z. B. bei a = 1 die Registerstufe 22 auf Eins und bei
a' = O auf Null gestellt wird. Die Signale a', b' gelangen außerdem zu Torschaltungen 38, 39, über die die Taktsignale riß als Zählimpulse den Registern 12, 13 zugeführt werden. Nachdem der Inhalt dieser Register Null geworden ist, verhindern die Torschaltungen 38, 39 eine weitere Zuführung der Zählimpulse.
Zur Adressierung der übrigen in Fig. 1 dargestellten Felder im Speicher 3, nämlich des Produktfeldes Pt und des MultiplakatorfeldesMr, dienen die Register 4 und 5, in die am Beginn einer Multiplikation die entsprechenden Adressen über die Adressensammelleitungen 40, 41 eingestellt werden. Während der Multiplikation gelangen diese Adressen mittels Torschaltungen 42, 43 unter Wirkung geeigneter Taktimpulse ti A und tOA zum Speicher 3. Jedem der Register 4, 5 ist eine Adressenmodifizierschaltung 44, 45 zugeordnet, über die zu geeigneten Zeitpunkten des Multiplikationsablaufes durch Taktimpulse t3B die in den Registern befindlichen Adressenwerte jeweils um Eins reduziert werden.
Zur Erzeugung der verschiedenen Taktimpulse, die zum Betrieb der Einrichtung nach Fig. 1 benötigt werden, dient ein Taktgeber 50, der in F i g. 2 dargestellt ist und der ein Impulsprogramm erzeugt, wie es F i g. 3 zeigt. Der Taktgeber weist einen Impulsgenerator 51 auf, der wechselweise M-■ und iß-Impulse erzeugt, solange ein Steuersignal auf einer Leitung 52 anliegt. Ein weiterer Bestandteil des Taktgebers 50 ist ein Zähler 53, der aus zwei Flipflops besteht und der in für sich bekannter Weise so eingerichtet ist, daß er von Null bis Drei zählen kann. Durch den Schaltzuständen der beiden Flipflops zugeordnete Ausgangsleitungen 54 bis 57 und Und-Schaltungen 58 bis 61 werden Signale /0 bis 13 erzeugt. Das Signal iO gelangt gemeinsam mit den Taktsignalen tA vom Generator 51 zu einer Und-Schaltung 62, die an ihrem Ausgang ein Taktsignal f 0/4 liefert, und gemeinsam mit den Taktsignalen tB zu eitler Und-Schaltung 63, die an ihrem Ausgang das Taktsignal tOB liefert. Zur Erzeugung entsprechender Taktsignale tiA, tlB dienen Und-Schaltungen 64 und 65. Die Und-Schaltung 64 ist eingangsseitig mit der 11-Signalleitung, der tA -Signalleitung und einer weiteren Leitung 37 verbunden. Die Leitung 37 führt ein Signal a' + b', das mit Hilfe einer Oder-Schaltung 36 (Fig. 1) aus den Signalen a', b' von den Inverterschaltungen 32 und 33 erzeugt wird. Die Und-Schaltung 64 liefert daher stets nur Taktsignale tiA, wenn der Inhalt wenigstens eines der Register 12 und 13 ungleich Null ist. Die gleiche Bedingung gilt für die Taktsignale ti B von der Und-Schaltung 65, die an einem ersten Eingang die Taktsignale iß, an einem zweiten Eingang das Signal il und an einem dritten Eingang das Signal a' + b' empfängt. Zur Erzeugung von Taktsignalen tiA und tlB dienen Und-Schaltungen 66 und 67. Die Und-Schaltung 66 empfängt Eingangssignale von der fl-Leitung und vom f/1-Ausgang des Taktgebers 51 sowie über eine Inverterschaltung 68 das Signal d + b'. Das Signal tiA wird somit stets nur dann erzeugt, wenn beim Zählstand 01 in 53 der Inhalt beider Register 12 und 13 (Fig. 1) Null ist. Die Und-Schaltung 67 liefert ein Ausgangssignal tlB, wenn die Signalleitungen ti und tA gemeinsam signalführend sind. Zur Erzeugung eines weiteren Taktsignals/3ß dient eine Und-Schaltung 69, die mit den Signalleitungen tB und ?3 verbunden ist. Die Signale iOß, tlA, tlB und /3ß von den Und-Schaltungen 63, 66, 67 und 69 bewirken bei ihrem Auftreten jeweils über die Oder-Schaltung 70 eine Weiterschaltung des Zählers 53 in den nächsten Schaltzustand. Bei Auftreten des letzten Taktsignals i3ß wird der Zähler 53 aus dem Zählstand 3 in den Zählstand 0 zurückgestellt, womit ein neuer Taktzyklus beginnt.
Nachfolgend wird an Hand des dezimalen Multiplikationsbeispieles
3 57 9,0 · 46 2,0 = 16 53 49 8,0
die Wirkungsweise der Anordnung gemäß F i g. 1 erläutert. Die Operation beginnt damit, daß in einer Vorbereitungsphase der Multiplikator 46 2,0 in das Feld Mr des Speichers 3 und der Multiplikand 03 57 9,0 mit seinen entsprechenden Vielfachen in die Felder MiZ-I, Md-Il und MiZ-III des Speichers 3 eingegeben werden. Die Eingabe des Multiplikators und des Multiplikanden in die Felder Mr und Md-I geschieht in bekannter und daher nicht näher zu erläuternder Weise. Zu erwähnen ist lediglich, daß während der Zuführung der Multiplikandenadresse über die Adressensammelleitung 26 ein Impuls Pl über die Torschaltung 34 die Registerstufe 22 in den Eins-Zustand bringt, während die Stufe 23 im NuIl-Zustand bleibt. Daraufhin wird der Multiplikand unter Beibehaltung der im Register 6 eingestellten und durch einen Impuls P2 zum Speicher übertragenen Adresse dem Speicher 3 entnommen und in das Akkumulatorregister 2 übertragen. Dies geschieht unter Wirkung von Taktimpulsen P3. Durch einen Taktimpuls P 4 wird der Inhalt des Registers 2 um eine Dezimalstelle nach rechts verschoben. Daraufhin wird durch einen Taktimpuls P5 über die Oder-Schaltung 35 die Registerstufe 23 auf Eins gestellt, während die Registerstufe 22 wegen Fehlens eines Impulses Pl im Null-Zustand verbleibt. Ein Taktimpuls P 6 überträgt den Inhalt des Registers 2, der das 0,1 fache des Multiplikanden darstellt, zurück in den Speicher 3, und zwar auf das nunmehr adressierte Feld Md-W. Daraufhin wird unter Wirkung einer erneuten Folge Taktimpulse Pl, P2, P3, P4, P2, P3 der Inhalt beider Felder Md-I und Md-II einmal addiert. Das dem 1,1 fachen des Multiplikanden entsprechende Resultat wird aus dem Register 2 zum Speicher mit Hilfe eines P6-Impulses zurückübertragen, nachdem durch gemeinsames Auftreten je eines Impulses Pl und P 5 die Registerstufe 22 und 23 auf Eins gestellt worden sind, so daß über das Tor 21 durch einen Impuls P 2 die Adresse des Feldes Λ/ίΖ-III zum Speicher 3 übertragen worden ist. Die Taktimpulse P1 bis P 6 werden in bekannter Weise durch einen speziellen Taktgeber oder durch eine entsprechende Mikroprogrammeinrichtung erzeugt. Durch diese Mittel erfolgt in nicht gezeigter Weise auch eine Rückstellung des Zählers 53 auf Null.
Die Vorbereitungsphase ist damit beendet. Wie die nachstehende Tafel I zeigt, befindet sich somit der Multiplikatorwert 46 2,0 im Speicherfeld Mr, der einfache Multiplikandenwert 03 57 9,0 im Speicherfeld MiZ-I, der 0,lfache Multiplikandenwert 35 7,9 im Speichcrfeld MiZ-II und der 1,1 fache Multiplikandenwert 03 93 6,9 im Speicherfeld MiZ-III.
209 549/382
Tafel I
Inhalt von Mr:
Inhalt von Md-I:
Inhalt von MJ-II:
Inhalt von
Ausführungsphase
2 · 1,0 Md
03 03
03 03
46
57
35
93
57
57
2,0
9,0
7,9
6,9
9,0
9,0
(1,0 · Md) (0,1-Md)
(1,1 -Md)
V=X W = 0
2-0,1MJ
Produkt
07 00
03 03 03 03
15
07
93
93
93
93
35
35
8,0
15 (8,0)
69
69
69
69
79
79
Teilprodukt speichern
Teilprodukt in Akkumulator-Register
zwei Stellen nach rechts verschieben
a = 4-6=6-
a = 0-b = 2-
F=I
W=I
V = O W= 1
16
16
53
53
49
49 8,0
Teilprodukt speichern auf Pi-Adresse-1
Der zahlenmäßige Verlauf der Multiplikationsoperation kann an Hand dieser Tafel verfolgt werden. Durch ein Steuersignal auf Leitung 52, das den Taktimpulsgenerator 51 in Tätigkeit setzt, wird das Startzeichen für den Beginn der eigentlichen Multiplikationsoperation gegeben. Der Taktimpulsgenerator 50 reagiert hierauf mit der Erzeugung eines Taktimpulses tOA (Fig. 3), durch den die Adresse des niedrigsten Bytes des Multiplikatorfeldes Mr zum Speicher 3 übertragen wird. Der folgende Taktimpuls tOB überträgt die beiden Ziffern, die das adressierte und aus dem Speicher 3 ausgelesene Byte enthält, über die Torschaltung 11 zu den Registern 12, 13, wobei die höherstellige Ziffer (α = 2) im α-Register 12 und die niedrigstellige Ziffer (b = 0) im 6-Register 13 eingestellt wird. Da das α-Register 12 nun einen von Null abweichenden Wert enthält, liefert die Und-Schaltung 30 kein Ausgangssignal, so daß von der Inverterschaltung 32 ein Ausgangssignal d erzeugt wird. Im Gegensatz hierzu ist, da der Inhalt des ^-Register 13 Null ist, die Und-Schaltung 31 signalführend, so daß die Inverterschaltung 33 kein Ausgangssignal b' erzeugt. Über die Oder-Schaltungen 34 und 35 werden daher die Registerstufen 22, 23 des Registers 6 entsprechend V=I und W = O eingestellt. Zusammen mit dem Inhalt der übrigen Registerstellen enthält das Register 6 daher die Adresse des Multiplikandenfeldes MJ-I. Über die Torschaltung 36 und die Leitung 37 gelangt das «'-Signal zum Taktgeber 50 und konditioniert dort die Und-Schaltung 64, so daß bei Auftreten des nächsten tA-Impulses ein Taktsignal t IA am Ausgang dieser Und-Schaltung erscheint. Dieses Signal öffnet die Torschaltung 21 in Fig. 1, wodurch die Adresse aus dem Register 6 zum Speicher 3 übertragen wird. Das Signal von Leitung 37 öffnet außerdem auch die Und-Schaltung 65 des Taktgebers 50 (F i g. 2), so daß der folgende /B-Impuls über diese Und-Schaltung ein Taktsignal riß erzeugt, das die Torschaltung 7 (Fig. 1) öffnet, wodurch der Inhalt des Multiplikandenfeldes Md-I über das Addierwerk 1 zum Akkumulatorregister 2 übertragen wird. Durch den Taktimpuls tlB ist außerdem das ^-Register 12 um den 'Wert 1 gegen Null zurückgeschaltet worden. Es enthält daher nun den Wert 1. Da aus diesem Grunde die Und-Schaltung 30 nichtleitend und die Leitung 37 signalführend bleibt, wird der eben beschriebene Vorgang wiederholt, d. h., über die Und-Schaltung 64 des Taktgebers 50 wird ein /1/1-Signal und über die Und-Schaltung 65 ein /1 B-Signal erzeugt, die bewirken, daß der Inhalt des MJ-I-Feldes erneut dem Speieher 3 entnommen und über die Torschaltung 7 zum Addierwerk 1 übertragen wird. Dort wird dieser Wert zum Inhalt des Registers 2, der über die vom Taktimpuls tIB geöffnete Torschaltung 8 zum zweiten Operandeneingang des Addierwerkes 1 übertragen worden ist, addiert. Durch den neuen Taktimpuls ilB wird der Inhalt des α-Registers 12 erneut um Eins reduziert, so daß dieses Register nunmehr den Wert Null enthält. Hierdurch wird die Und-Schaltung 30 leitend, so daß das Signal a' am Ausgang der Inverterschaltung 32 verschwindet und auch die Oder-Schaltung 36 nichtleitend wird. Da die Leitung 37 nunmehr kein Signal führt, bleiben die Und-Schaltungen 64 und 65 im Taktgeber 50 gesperrt. Dagegen wird die Und-Schaltung 66 durch ein Ausgangssignal von der Inverterschaltung 68 für eine Impulserzeugung vorbereitet. Mit dem nächsten //4-Impuls tritt am Ausgang dieser Und-Schaltung ein Taktsignal tiA auf, welches die Torschaltung 42 (Fig. 1) öffnet. Damit wird die Adresse des Produktfeldes Pt zum Speicher 3 übertragen. Das gleiche Taktsignal tiA schaltet über die Oder-Schaltung 70 (F i g. 2) den Zähler 53 des Taktgebers 50 um einen Schritt weiter, wodurch dieser nun über die Und-Schaltung 60 ein Signal ti erzeugt. Dieses Signal konditioniert die Und-Schaltung 67, die zur nächsten /B-Zeit ein Taktsignal/2B abgibt. Durch dieses Signal wird die Torschaltung 9 (Fig. 1) zur Übertragung des Inhaltes des Registers 2 in das adressierte Speicherfeld Pt geöffnet. Obwohl dadurch das bisher gebildete Teilprodukt 7 15 8,0 in das Feld Pt abgespeichert worden ist, verbleibt der gleiche Wert auch im Register 2. Der Taktimpulsgeber 50 liefert nun in der beschriebenen Weise als
nächstes ein Taktsignal t3B, das den Inhalt des Akkumulatorregisters 2 um ein Byte, d. h. also um zwei Dezimalstellen nach rechts verschiebt. Hierdurch gehen die zwei niedrigsten Stellen des Inhalts des Registers 2 verloren. Das Taktsignal /3 B macht außerdem die Adressenmodifizierschaltungen 44 und 45 wirksam, über die der Inhalt der Register 4 und 5 jeweils um Eins reduziert wird. Die in diesen Registern gespeicherten Adressen sind dadurch auf das zweite Byte (von rechts) der Speicherfelder Mr und Pt weitergeschaltet worden. Da das Taktsignal t3B über die Oder-Schaltung 70 die Zählschaltung 53 auf Null weiterschaltet, wird ein neuer Umlauf des Taktgebers 50 eingeleitet. Dieser neue Umlauf beginnt wiederum mit der Erzeugung-von Taktsignalen 10/1 und iOß, die eine Übertragung des nunmehr adressierten zweiten Multiplikatorbytes zu den Registern 12 und 13 bewirken. Dieses Byte umfaßt die dritte und vierte Dezimalstelle des Multiplikators, also dessen zweithöchste und dessen höchste Stelle mit den Werten 6 und 4. Die Multiplikation des Multiplikanden mit diesen beiden Multiplikatorstellen gleicht der Multiplikation mit den ersten beiden Multiplikatorstellen und kann leicht an Hand der oben angegebenen Tafel I verfolgt werden. Wie aus der Tafel I ersichtlich ist, findet während des zweiten Taktgeberumlaufes eine viermalige Addition des 1,1 fachen Multiplikanden 03 93 69 aus dem Feld Md-III statt. Da sowohl der Inhalt des Registers 12 als auch der Inhalt des Registers 13 zur Zeit 11A dieses Umlaufes ungleich Null sind, treten an den Ausgängen der Inverterschaltungen 32 und 33 Signale a" und b" auf, welche bewirken, daß die Stufen 22 und 23 entsprechend V— 1 und W = 1 zur Adressierung des Feldes MJ-III eingestellt werden. Nach der viermaligen Addition des l,lfachen Multiplikanden 03 93 69 erfolgt im gleichen Taktgeberumlauf eine zweimalige Addition des 0,lfachen Multiplikanden 35 79. Dies geschieht dann, wenn der am Beginn dieses Taktgeberumlaufes in das α-Register 12 eingegebene Wert 4 nach viermaligem Auftreten des Taktsignals tlB zu Null reduziert worden ist. Da zu dieser Zeit der im gleichen Maße reduzierte Inhalt des ft-Registers 13 noch zwei beträgt, werden die Registerstufen 22 und 23 entsprechend F = O und W = 1 eingestellt zur Adressierung des Feldes Md-II im Speicher 3. Nachdem während der nächsten zwei fl/4-ilß-Zyklen auch der Inhalt des Registers 13 zu Null reduziert worden ist, wird durch das Fehlen von Signalen α' und b' der Taktgeber 50 zur Erzeugung der Taktsignale tiA, tlB und t3ß in der beschriebenen Weise weitergeschaltet. Diese Taktsignale bewirken eine Abspeicherung des im Register 2 akkumulierten Teilproduktes in das Produktfeld Tt im Speicher 3. Hierbei werden die zuvor in die gleichen Stellen des Produktfeldes eingeschriebenen Teilresultatziffern überschrieben, so daß der Inhalt des Produktfeldes Pt am Ende des zweiten Taktgeberumlaufes das Produkt 16 53 49 8,0 enthält, von dem die beiden niedrigsten Stellen (8,0) im ersten Taktgeberumlauf und die übrigen Stellen im zweiten Taktgeberumlauf erzeugt worden sind. Die Multiplikationsoperation ist damit beendet.
Ein weiteres vorteilhaftes Ausführungsbeispiel der erfindungsgemäßen Multiplikationseinrichtung ist aus den Fig. 4A und 4B zu ersehen. Die dort gezeigte Anordnung arbeitet mit wahlweiser Addition und Subtraktion des Multiplikanden bzw. dessen Vielfachen, je nachdem, ob die beiden parallel zu verarbeitenden Multiplikatorziffern kleiner als sechs oder größer als fünf sind. In den Fig. 4A und 4B sind diejenigen Teile, die den bereits in Verbindung mit Fig. 1 beschriebenen Teilen entsprechen, mit gleichen Bezugszeichen, jedoch zusätzlich mit einem '-Zeichen versehen. Von diesen Teilen weisen lediglich das Addierwerk 1' (Fig. 1 B) und die Register 12' und 13' (Fig. 2A) zusätzliche Funktionen auf. Das Addierwerk Γ ist im Gegensatz zum Addierwerk 1 von F i g. 1 wahlweise über Steuerleitungen 71, 72 auf die Ausführung von Additionen oder Subtraktionen einstellbar. Dementsprechend sind das a-Register 12' und das /»-Register 13' in für sich bekannter Weise als Zählregister ausgebildet, die wahlweise durch Steuerleitungen 73, 74 bzw. 75, 76 um +1 oder —1, also im Sinne einer Erhöhung oder Reduzierung des jeweiligen Registerinhalts, weitergeschaltet werden können.
Der Hauptunterschied in der Arbeitsweise der Einrichtung gemäß den Fig. 2A und 2B gegenüber der Einrichtung nach Fig. 1 besteht darin, daß zusätzlich das 0,9fache des Multiplikanden verwendet wird, wenn die Ziffern α und b eines zu verarbeitenden Multiplikatorbytes ungleich Null sind und eine davon größer als fünf ist. In diesem Falle wird die Multiplikation anstatt durch Addition des 1,1 fachen Multiplikanden durch Addition oder Subtraktion des 0,9fachen Multiplikanden vollzogen, wobei die Zahl dieser Subtraktionen durch das Zehnerkomplement der betreffenden Multiplikatorziffern bestimmt wird. Es sind dementsprechend vier Multiplikandenfelder im Speicher 3' vorgesehen, die die Bezeichnung Md-V, Md-IV, Md-UV und Md-W tragen und die durch die in den Stufen 22' und 23' des Registers 6' speicherbaren Binärziffem V und W unterschieden werden. Zwischen den genannten Speicherfeldern und den binären Adressenziffern V und W besteht folgender Zusammenhang:
V
45
W Multiplikanden-
speicherfeld
Multiplikanden-
vielfaches
0
0
1
50 1
1
0
1
0
Md-V
Md-W
Md-UV
Md-IV
1,0
0,1
1,1
0,9
Die Adressenziffern V und W werden in Abhängigkeit von den beiden Ziffern α und b eines in die Zählregister 12', 13' eingeführten Multiplikatorbytes bestimmt. Wie beim Beispiel nach Fig. 1 werden die Flipflops dieser Register über Und-Schaltungen 30' und 31' (Fig. 4) auf einen Null-Inhalt abgetastet, und das Ausgangssignal dieser Und-Schaltungen wird über Inverter-Schaltungen 32', 33' in Signale a' und b' umgewandelt. Das Auftreten dieser Signale α und b' zeigt somit an, daß die in den Registern 12'und 13' enthaltenen Ziffern a und b ungleich Null sind. Die gleichen Ausgangssignale werden erzeugt, wenn Ausgangssignale von Und-Schaltungen 78, 79 im zugeordneten Register 12' oder 13' den dezimalen Wert 10 anzeigen, der beim Aufwärtszählen während der Ausführung von
Subtraktionsiterationen entstehen kann. Hierzu sind die Und-Schaltungen 78, 79 mit den Eins-Ausgängen der Registerstufen der Binärstellen 2 und 8 und mit den Null-Ausgängen der restlichen Registerstufen der Binärstellen 1 und 4 in den zugeordneten Registern 12' und 13' verbunden.
Daneben werden aus dem Registerinhalt Anzeigesignale λ und β abgeleitet. Das Signal a besagt, daß der Inhalt des α-Registers 12', also die Multiplikatorziffer a, größer als fünf ist. Das Signal β besagt, daß der Inhalt des fc-Registers 13', also die Multiplikatorziffer b, größer als fünf ist. Die α- und /J-Signale werden mit Hilfe einer Und-Schaltung 80 und einer Oder-Schaltung 82 für das Register 12' und mit Hilfe einer Und-Schaltung 81 und einer Oder-Schaltung 83 für das Register 13' erzeugt. Zum Beispiel ist die Und-Schaltung 80 mit den Eins-Ausgängen der den Binärstellen 2 und 4 zugeordneten Registerstufen des Registers 12' verbunden. Der Ausgang dieser Und-Schaltung führt zu einem Eingang der Oder-Schaltung 82, die über einen zweiten Eingang außerdem den Eins-Ausgang der Registerstufe des Binärwertes 8 abtastet. Die Oder-Schaltung 82 liefert daher ein Ausgangssignal α, wenn im α-Register 12' die Ziffern 6, 7, 8 oder 9 enthalten sind. Dieses Signal gelangt bei Auftreten eines Taktsignals t2B über eine Und-Schaltung 84 zu einem Flipflop 86 und wird in diesem zwischengespeichert. Der Eins-Ausgang des Flipflops 86 ist dem Signal α und sein Null-Ausgang dem Signal ä" zugeordnet. In gleicher Weise wird durch die Und-Schaltung 81 und die Oder-Schaltung 83 in Abhängigkeit vom Inhalt des 6-Registers 13' das Signal β gebildet, das jedoch nicht zwischengespeichert, sondern direkt verwendet
ίο wird. Eine Zwischenspeicherung des «-Signals ist lediglich deshalb notwendig, um die Addition von Eins zur nächsthöheren Multiplikatorziffer, also der fc-Ziffer des nächsten Multiplikatorbytes, zu steuern, wenn die α-Ziffer des gerade in Behandlung befindliehen Bytes größer als fünf ist und daher die Ausführung von Subtraktionsiterationen steuert.
Aus den in der beschriebenen Weise vom Inhalt der Register 12' und 13' abgeleiteten Signalen α', b', a und β ergeben sich gemäß der nachfolgenden Tafel II die zugehörigen Adressenziffern V und W für die Auswahl des jeweils benötigten Multiplikandenvielfachen sowie die Steuersignale ADD, SUB auf den Leitungen 71, 72 zur jeweiligen Steuerung des Addierwerkes 1' für die Ausführung von Additionen oder Subtraktionen.
Tafel II
/)' 0 f! V W Multiplikanden Multiplikanden Rechenwerks
1 P vielfaches speicherfeld steuerung
1 1 0 0 1 1 1,1 Md-WY ADD
1 1 1 1 1 1 1,1 Md-WV SUB
1 1 0 1 1 ö 0,9 Md-W ADD
1 1 1 0 1 0 0,9 Md-W SUB
1 0 0 0 0 1 1,0 Md-V ADD
1 0 0 0 0 1 1,0 Md-V SUB
0 1 •0 0 0 0,1 Md-W ADD
0 1 1 0 0 0,1 Md-W SUB
Unter Verwendung der Tafel II sind für die Ziffern V und W folgende logische Beziehungen ableitbar:
V = (fb' _
W' = {<x β+ n. Jt)OfV -Va' V
Ebenso lassen sich folgende logische Beziehungen für die Rechenwerksteuersignale ADD und SUB auf den Leitungen 71, 72 ableiten:
ADD = a' K
V ß~
SUB = α' a + ä'b' ß = ADD
Eine logische Schaltung 85 (Fig. 4B) ist in Übereinstimmung mit den Grundsätzen der Schaltungsalgebra gemäß diesen Beziehungen aufgebaut. Sie erhält neben den_Signalen α', b', rx und β deren Komplemente ö7, W, λ und β auf separaten Leitungen zugeführt und liefert die Ausgangssignale V und W sowie ADD und SUB. Die Signale V und W" werden zum Eingang der Stufen 22' und 23' des Registers 6' geleitet, und die Signale ADD und SUB gelangen über die Leitungen 71, 72 als Operationssteucrsignale zum Addicr-Subtrahier-Werk Γ.
Zur Erzeugung der für den Betrieb der in den Fig. 4A und 4B dargestellten Multiplikationseinrichtung notwendigen Taktsignale dient ein Taktgeber 90, dessen Aufbau aus F i g. 5 ersichtlich ist und der ein Impiilsprogramm gemäß Fig. 6 erzeugt.
Der Taktgeber 90 ist ähnlich dem Taktgeber 50 von F i g. 2 aufgebaut. Er unterscheidet sich von diesem nur dadurch, daß er fünf Taktsignalzeiten ti bis i5 definiert und daher einen Zähler 53' verwendet, der aus drei Binärstufen besteht. Jedes der Signale 11 bis /5 wird zu zwei Und-Schaltungen geleitet, (z.B. iO zu den Und-Schaltungen 91, 92) die als zweites Eingangssignal einen Taktimpuls tA bzw. tB empfangen und ein Taktsignal tOA bis t4A bzw. tOB bis t5B erzeugen. Zur Steuerung der iterativen Additions- und Subtraktionszyklen dienen die Taktsignale t3A und t3B, die von den Und-Schaltungen 94, 95 erzeugt werden. Diese Und-Schaltungen erhalten über eine Leitung 37' das Signal a' + V zugeführt. Die Funktion der Und-Schaltungen 94, 95 sowie einer weiteren, das Taktsignal t4A erzeugenden Und-Schaltung 96 entspricht der Funktion der Und-Schaltungen 64, 65 und 66 in F i g. 2. Die Und-Schaltungen 94 und 95 werden durch die Taktimpulse tA und tB so lange wechselweise signalführend gemacht, wie das Signal a' + b' auf Leitung 37' vorhanden ist. Klingt dieses Signal ab, so wird über die Inverterschaltung 68' die Und-Schal-
tung 96 konditioniert und damit die t3A-t3B-Zyklen abgebrochen und der Taktgeberumlauf fortgesetzt. Das letzte Taktsignal tSB eines Taktgeberumlaufes dient unter anderem zur Rückstellung des Zählers 53' in den Null-Zustand, womit durch Erzeugung des Signals /0 ein neuer Taktgeberumlauf vorbereitet wird.
Nachfolgend wird an Hand des Multiplikationsbeispieles
3 57 9,0 · 46 2,0 = 16 53 49 8,0
die Wirkungsweise der Einrichtung nach Fig. 4A und 4 B unter Bezugnahme auf die nachstehende Tafel 111 erläutert.
Vorbereitungsphase
Inhalt von Mr:
Inhalt von Md-Y:
Inhalt von Md-II':
Inhalt von Md-III':
Inhalt von Md-IV:
Ausführungsphase
2 · 1,0 Md
4 · 0,9 Md
1 · 1,0 Md
Produkt
03 03
03 03
46
57
35
93
22
57
57
2,0
9,0
7,9
6,9
1,1
9,0
9,0
07 15 8,0
00 07 15 (8,0)
03 22 11
03 22 11
03 22 11
03 22 11
{ 03 57 90
16 53 49
16 53 49 8,0
Tafel III
(1,0-Md)
(0,1 -Md)
(1,1-Md)
(0,9 · Md)
a = 2, a' = 1, oc = 0
b = 0, V = 0, β = 0
Teilprodukt speichern
W = 1
Teilprodukt in Akkumulator-Register
zwei Stellen nach rechts verschieben
β = 1, a = 4 ->5
a = 5, a' = 1 λ = 0
da
V = O
W = 1
α= 1, α' = 1 λ = 0 \ V = 0
b = 10, V = 0 β = 0 J W = 1
Teilprodukt speichern auf F/-Adresse-1
Analog zu den in Verbindung mit F i g. 1 beschriebenen Vorgängen wird in einer Vorbereitungsphase der Multiplikator 46 2,0 in das Feld Mr und der Multiplikand 03 57 9,0 in das Feld Md-I' des Speichers 3 eingegeben. Ferner wird das 0,lfache des Multiplikanden (35 7,9) in das Speicherfeld Md-II', das 1,1 fache des Multiplikanden (03 93 6,9) in das Speicherfeld Md-UV und das (),9fache des Multiplikanden (03 22 1,1) in das Speicherfeld Md-IV eingespeichert. Dies geschieht in der in Verbindung mit F i g. 1 beschriebenen Weise unter Verwendung von geeigneten Taktimpulsen P. Für die Zuführung geeigneter Taktimpulse P zu den Registerstufen 22' und 23' sind Oder-Schaltungen 34' und 35' in Analogie zu der Anordnung nach Fig. 1 vorgesehen. Das 0,9fache des Multiplikanden wird durch Subtraktion des 0,1 fachen Multiplikanden vom 1 fachen Multiplikanden erhalten.
Mit Anlegen eines Steuersignals an die Leitung 52' (F i g. 5) beginnt die eigentliche Multiplikationsoperation, indem der Träger 90 seinen ersten Umlauf beginnt. Durch das Taktsignal t OA wird die Multiplikatoradresse aus dem Register 5' über die Torschaltung 43' zum Speicher 3' übertragen, und das nachfolgende iOß-Taktsignal bringt das erste Multiplikatorbyte über die Torschaltung 11' zu den Registern 12', 13'. Das nächste Taktsignal t IA tastet über eine Und-Schaltung 100 den Eins-Signalausgang des Flipflops 85 auf das Vorhandensein eines α-Signals ab. Wäre ein solches Signal aus einem vorausgegangenen Taktgeberumlauf vorhanden, so würde über eine Oder-Schaltung 101 und die Steuerleitung 75 der Inhalt des fc-Registers 13' um Eins erhöht werden. Im vorliegenden Falle befindet sich jedoch der Flipflop 85 im Null-Zustand, in welchem er lediglich ein ö"-SignaI abgibt. Daraufhin tritt ein Taktsignal ti B am Rückstelleingang des Flipflops 85 auf, das diesen in den Null-Schaltzustand bringt, sofern er sich, wie im vorliegenden Falle, nicht schon in diesem befindet. In der gleichen Weise wird durch das als nächstes auftretende Taktsignal tiA über die Und-Schaltung 102 und die Oder-Schaltung 103 die Signalleitung 73 zur Erhöhung des Inhalts des α-Registers 12' um Eins wirksam gemacht, sofern nach Eingabe der neuen Multiplikatorbytes am Ausgang der Oder-Schaltung 83 ein ß-Signal über Leitung 104 zu einem zweiten Eingang der Und-Schaltung 102 gelangt. Im vorliegenden Falle ist der Inhalt des ö-Registers 13' Null, so daß die Leitung 104 kein Signal führt und die Und-Schaltung 102 gesperrt bleibt. Das darauffolgende Taktsignal 12 B konditioniert die Und-Schaltung 84. Da jedoch die Oder-Schaltung 82 kein Ausgangssignal liefert, (im α-Register 12' befindet sich der Wert 2, also kleiner als 5), bleibt die Und-Schaltung 84 geschlossen und der Flipflop 85 («) im Null-Zustand.
Inzwischen wurde der logischen Schaltung 85 auf Grund der in den Registern 12' und 13' befindlichen Ziffern a = 2 und b — 0_die Signalkombination a' = 1, J? = 0, b' = 0, b'=\, λ = 0, T-- 1,
β = 0, β = 1 zugeführt. Die logische Schaltung 85 bildet aus dieser Signalkombination die Adressenziffern V = 0 und W=I, die den Stufen 22' und 23' des Registers 6' zugeführt werden, das damit die
209 549/382
17 18
Adresse des Speicherfeldes Md-Y enthält. Diese logischen Schaltungen die Signalbedingungen a'_= 1, Adresse wird durch den folgenden Taktimpuls /3/1 <? = 0, * = 0,~* = 1, b' = 1, F = 0, β = 1, J= 0. über die Torschaltung 21' zum Speicher 3' durch- Die Bedingung β = 1 bewirkt zur Taktzeit ti A, daß geschaltet. Der nächste Taktimpuls tiB überträgt die Und-Schaltung 102 leitend wird und über die den Inhalt des adressierten Feldes Md-Y über die 5 Oder-Schaltung 103 einen Impuls zur Steuerleitung Torschaltung?' und das Addier-Subtrahier-Werk 1' 73 sendet. Hierdurch wird der Inhalt des α-Registers zum Akkumulatorregister 2'. Zur gleichen Zeit kon- 12' um Eins erhöht, d. h. vom Wert Vier auf den ditioniert das /3ß-Taktsignal die Und-Schaltungen Wert Fünf weitergeschaltet. Außerdem bewirken die 105, 106, 107 und 108. Der zweite Eingang der vorgenannten Signalbedingungen in ihrer Gesamt-Und-Schaltung 105 erhält das Signal <\, der zweite io heit, daß die logische Schaltung 86 die Adressen-Eingang der Und-Schaltung 106 das Signal λ, der ziffern V = 1 und W = O erzeugt. Das Register 6' zweite Eingang der Und-Schaltung das Signal β und enthält damit die Adresse des Speicherfeldes MJ-IV, der zweite Eingang der Und-Schaltung 108 das Si- in dem der 0,9fache Multiplikand, d. h. der Wert gnal β zugeführt. Die Und-Schaltungen 106, 108 be- 03 22 11 gespeichert ist. In den nun folgenden sitzen noch je einen dritten Eingang, an dem die 15 t3A -/3ß-Zyklen wird dieser Wert insgesamt vier-Signale ei' bzw. b' angelegt werden. Da λ und β mal in der beschriebenen Weise zum Inhalt des jeweils Null sind, werden durch das Taktsignal/3ß Akkumulatorregister 2' hinzuaddiert. Bei jeder dernur die Und-Schaltungen 105 und 107 signalführend. artigen Iteration wird der Inhalt der Register 12' Die Ausgänge dieser Und-Schaltungen sind mit den und 13' um Eins verändert. Da für das Register 12' Steuerleitungen 74 und 76 verbunden, die im erreg- 20 η = 0 und K = 1 vom Flipflop 85 angezeigt wird, ten Zustand bewirken, daß der Inhalt der Register bleibt die Und-Schaltung 106 geschlossen, und die 12' und 13' um Eins reduziert wird. Diese Operation Weiterschaltung dieses Registers erfolgt zur Taktwird jedoch nur im Register 12' wirksam, da das zeit/3ß über die Und-Schaltung 105 in Abwärts-Register 13'bereits den Wert Null enthält und daher richtung. Für das Register 13' wird jedoch der die Und-Schaltung 108 durch Fehlen des Signaist' 25 Signalzustand ß = 1, /T= 0 angezeigt, so daß die gesperrt ist. Das Register 12' enthält somit nun den Und-Schaltung 107 geschlossen und die Und-Schal-Wert Eins. tung 108 geöffnet wird. Die letztgenannte Und-
Auf Grund der seit Eingabe des ersten Multipli- Schaltung sendet daher zur Taktzeit 13ß ein Signal katorbytes in die Register 12' und 13' vorliegenden über die Oder-Schaltung 101 zur Steuerleitung 75, Bedingungen a' = 1 führt die Steuerleitung 37' ein 30 welches den Inhalt des ö-Registers 13' um Eins erSignal, das über die Inverterschaltung 68' und 96 höht. Der eben beschriebene Vorgang wird während (Fig. 5) eine Weiterschaltung des Zählers 53' ver- jeder Iteration einmal wiederholt, so daß sich nach hindert, so daß der Taktgeber 90 einen erneuten der vierten Iteration im α-Register 12' der Wert /3/4 -/3ß-TaktsignaIzyklus erzeugt. Durch das neue Eins und im fr-Register 13' der Wert Zehn befindet. Taktsignal /3/1 wird erneut das FeIdMJ-I' im Spei- 35 Beim Übergang des fr-Registers 13' auf Zehn Hecher 3 adressiert, und zur folgenden /3ß-Zeit wird fern die mit diesem Register verbundenen logischen der Inhalt dieses Feldes zum Inhalt des Akkumu- Schaltungen einen neuen Signalzustand, der folgen-Iatorregisters 2' addiert. Dieses Register enthält so- dermaßen lautet: fr' = 0, F' — 1, β = 0, β = 1. mit nun das Teilprodukt 07 15 8,0 (s. Tafel III). Diese Signale gelangen zur logischen Schaltung 85, Da zur selben /3ß-Zeit der Inhalt des α-Registers 40 die sie mit den unverändert für das α-Register 12' 12' erneut um Eins reduziert worden ist, enthält erzeugten Signalen a' — 1, ö7 = 0, -* = 0, ö" = 1 dieses Register nunmehr den Wert Null. Damit ver- verknüpft zu den Adressenziffern V = 0 und schwindet das Signal auf Leitung 37', so daß die W = 1. Zur Zeit /3/1 des fünften /3/1 -/3ß-Zyklus Und-Schaltungen 94 und 95 (Fig. 5) gesperrt und im zweiten Taktgeberumlauf wird daher die Adresse . die Und-Schaltung 96 konditioniert wird. Bei Auf- 45 des Speicherfeldes Md-Y zum Speicher 3' übertragen, treten des nächsten tA-Taktimpulses schaltet der Das nächste Taktsignal /3ß bewirkt daher eine Taktgeber 90 in den nächsten Schaltzustand /4. Addition des lfachen Multiplikanden zum Inhalt des
Der daraufhin erzeugte Taktimpuls /4/1 überträgt Akkumulatorregisters 2', der sich damit auf den die im Register 4' enthaltene Produktfeldadresse Wert 16 53 49 erhöht hat. Der gleiche Taktimpuls durch Öffnen der Torschaltung 42' zum Speicher 3'. 50 gelangt über die vom Flipflop 85 geöffnete Und-Der folgende Taktimpuls /4 Z? überträgt daher den Schaltung 105 zur Steuerleitung 74, wodurch der Inhalt des Akkumulatorregisters 2' zum adressierten Inhalt 1 des α-Registers 12' zu Null reduziert wird. Produktfeld Pt'. Durch das letzte Taktsignal /5B Da nun beide Register 12' und 13' auf Null stehen, des ersten Taktgeberumlaufes wird der Inhalt des klingt das Signal auf Leitung 37' ab, so daß im Akkumulatorregisters 2' in der in Verbindung mit 55 Taktgeber 90 die Und-Schaltungen 94 und 95 ge-Fig. !.beschriebenen Weise um ein Byte nach rechts sperrt und die Und-Schaltung96 zum Durchlaß des verschoben. Durch den gleichen Taktimpuls wird nächsten //!-Signals vorbereitet wird. Dieses das auch eine Reduzierung der in den Registern 4'und 5' Taktsignal /4/1 auslösende Signal schaltet den enthaltenen Adressen um den Wert Eins bewirkt. Zähler 53' in den Schaltzustand/4 weiter. Das in Das Taktsignal /5ß stellt außerdem den Zähler 53' 60 der Folge erzeugte Taktsignal /4/1 überträgt die (F i g. 5) in den Null-Zustand zurück, wodurch der Produktfeldadresse aus dem Register 4' über die Taktgeber 90 für den Beginn eines neuen Umlaufes Torschaltung 42' zum Speicher ß'. Das nächste Taktvorbereitet ist. signal /4 B bewirkt eine Übertragung des im Akku-
Durch die Taktsignale /0/1 und /OB wird das mulatorregister 2' befindlichen Teilproduktes über
nächste Multiplikatorbyte, das die Multiplikator- 65 die Torschaltung 9' zum Speicher 3', wo es im adres-
ziffern 4 und 6 umfaßt, in die Register 12' und 13' sierten Produktfeld Pt' gespeichert wird,
eingegeben. Nach dieser Operation erzeugen die mit Die eigentliche Multiplikationsoperation ist da-
den einzelnen Stufen dieser Register verbundenen mit beendet. Das Produktfeld enthält den Wert
16 53 49 8,0. Der Taktgeber 90 beendet seinen zweiten Umlauf und wird danach abgeschaltet. Diese Abschaltung kann beispielsweise am Beginn des dritten Umlaufes erfolgen, wenn bei dem Versuch, das nächste Multiplikatorbyte aus dem Speicher 3' zu entnehmen, eine Feldende-Marke festgestellt wird.
Die dargestellten Ausführungsbeispiele können insofern abgewandelt werden, als das 0,1 fache des Multiplikanden nicht gespeichert, sondern durch eine zwischen dem Ausgang des Speichers 3 bzw. 3' und dem Eingang des Addierwerkes 1 bzw. 1' angeordnete Stellenverschiebeschaltung erzeugt wird. In diesem Falle wird der 0,lfache Multiplikand dadurch ausgewählt, daß mit Hilfe einer der Adressenziffern V, W bzw. V, W der einfache Multiplikand adressiert wird, während die zweite Adressenziffer zur Steuerung der Stellenverschiebeschaltung verwendet wird, die eine Verschiebung des dem Speicher entnommenen Ifachen Multiplikanden um eine Ziffernstelle nach rechts bewirkt und damit das 0,lfache des Multiplikanden bildet.
Eine weitere mögliche Abwandlung besteht darin, daß die erfindungsgemäße Multiplikationseinrichtung das bekannte Prinzip der wahlweisen Verwendung des einfachen oder doppelten Multiplikanden für die jeweils vorzunehmende Additions- oder Subtraktionsiteration benutzt. Hierzu wären z. B. bei der ausschließlichen Ausführung von Additionen (Arbeitsweise des Ausführungsbeispieles nach Fig. 1) neben den 1-, 0,1- und 1,1 fachen Multiplikanden noch zusätzlich die 2,0-, 2,2- und (),2fachen Multiplikanden zu bilden. Die Auswahl dieser Vielfachen kann dabei in einer Weise erfolgen, die der in Verbindung mit den Fig. I und 4A, 4B erläuterten
ίο Auswahl im wesentlichen analog ist. Sofern das 0,1-, 0,2- und/oder 2fache des Multiplikanden nicht in der vorerwähnten Form durch Stellenverschiebe- bzw. Verdopplerschaltungen gebildet wird, die sich zwischen Speicher und Addierwerk befinden, können drei Adressenstellen im Register 6 zur Auswahl der verschiedenen Multiplikanden-Speicherfelder verwendet werden. Eine weitere mögliche Abwandlung kann schließlich auch darin bestehen, daß die verschiedenen Multiplikandenvielfachen nicht in unterschiedlichen Feldern eines Speichers, sondern in je einem separaten Register aufbewahrt werden. Die Auswahlsignale V, W bzw. V, W werden in einem solchen Falle zur Steuerung von Torschaltungen benutzt, die zwischen den Ausgängen dieser Register und dem Eingang des Addierwerkes 3 bzw. 3' angeordnet sind.
Hierzu 2 Blatt Zeichnungen

Claims (11)

Patentansprüche:
1. Multiplikationseinrichtung für Dezimalzahlen mit Mitteln zur Bildung und Akkumulation von Multiplikandenvielfachen unter Steuerung gespeicherter Multiplikatorziffern, dadurch gekennzeichnet, daß die Multiplikatorziffern jeweils paarweise einer Steuerregisterschaltung (12, 13 und 30 bis 35) unter Stellenverschiebung des bereits gebildeten Teilproduktergebnisses um zwei Stellen zugeführt werden, die in Abhängigkeit davon, ob die höherstellige, die niedrigstellige oder keine der beiden Ziffern gleich Null ist, die Auswahl unter dem 0,1-, 1- oder 1,lfachen des Multiplikanden steuert, welches daraufhin so oft zu einem Teilprodukt addiert wird, wie die von Null abweichende oder kleinere der Ziffern angibt, wonach im letzten Fall eine weitere Auswahl unter dem 0,1- oder lfachen des Multiplikanden in Abhängigkeit von der Differenz zwischen den beiden von Null verschiedenen Ziffern und der Stelle der größeren Ziffer stattfindet.
2. Multiplikationseinrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Steuerregisterschaltung für jede Ziffer eines Multiplikatorziffernpaares ein Zählregister (12, 13) enthält, dessen Inhalt mit jeder Iteration um Eins verändert wird und durch logische Schaltungen (30, 31) laufend auf das Vorliegen des Wertes Null abgetastet wird, und daß die Inhalt-Nullbzw. Inhalt-Nicht-Null-Anzeigesignale (a', b') als binäre Adressenziffern für die Auswahl der verschiedenen Multiplikandenvielfachen dienen.
3. Multiplikationseinrichtung nach Anspruch 1 und 2, dadurch gekennzeichnet, daß die Multiplikandenspeicherplätze benachbarte Felder (Md-I, Md-Il, Md-Ul) des Arbeitsspeichers (3) einer Datenverarbeitungsmaschine sind und daß zur Unterscheidung dieser Felder die Inhalt-Nullbzw. Inhalt-Nicht-Null-Anzeigesignale (a', b') der Multiplikatorziffern-Zählregister (12, 13) dienen.
4. Multiplikationseinrichtung nach Anspruch 1 und 2, dadurch gekennzeichnet, daß die Multiplikandenspeicherplätze separate Register sind, von denen in Abhängigkeit von den Inhalt-Nullbzw. Inhalt-Nicht-Null-Anzeigesignalen (a', b') der Multiplikatorziffern-Zählregister (12, 13) für jede Iteration jeweils eines ausgewählt und über Torschaltungen mit dem Addierwerk gekoppelt wird.
5. Multiplikationseinrichtung nach den Ansprüchen 1 und 2, dadurch gekennzeichnet, daß nur der 1 fache Multiplikand und dessen l,lfaches in besonderen Speicherfeldern oder Registern gespeichert sind und der 0,lfache Multiplikand durch Stellenverschiebung des lfachen Multiplikanden bei dessen Übertragung zum Addierwerk gewonnen wird.
6. Multiplikationseinrichtung nach einem oder mehreren der Ansprüche 1 bis 5 mit Mitteln zur wahlweisen wiederholten Addition oder Subtraktion des Multiplikanden oder dessen Vielfachen in Abhängigkeit davon, ob die zu verarbeitende Multiplikatorziffer kleiner als sechs oder größer als fünf ist, dadurch gekennzeichnet, daß neben dem 0,1-, 1,0- und lfachen des Multiplikanden auch dessen 0,9faches zur Verfügung steht und daß vom Inhalt der Multiplikatorziffern-Zählregister (12', 13') abgeleitete »Inhalt > 5«- oder »Inhalt < 6«-Anzeigesignale (<x oder «" bzw. β oder /j) zusammen mit den Inhalt-Null- oder -Nicht-Null-Signalen (a' oder a' bzw. b' oder b') einer logischen Schaltung (85) zugeführt werden, die bei Vorliegen eines »Inhalt > 5«-Anzeigesignals (α · α') für die höherstellige Ziffer (a) eines parallel zu verarbeitenden Multiplikatorziffernpaares sowie bei Vorliegen eines Inhalt-Null-Anzeigesignals (a') für die höherstellige Ziffer zusammen mit einem »Inhalt >■ 5«-Anzeigesignal (ß · b') für die niedrigstellige Ziffer (b) dem Addier-Subtrahier-Werk (Γ) ein Subtraktions-Steuersignal zuführt und bei gemeinsamem Vorliegen der beiden Inhalt-Nicht-Null-Anzeigesignale (a' · b') und des Anzeigesignals »α ungleich /J« (α · β + α · β) eine Auswahlsteuersignal-Kombination für das 0,9fache des Multiplikanden erzeugt.
7. Multiplikationseinrichtung nach Anspruch 6, dadurch gekennzeichnet, daß die Multiplikatorziffer-Zählregister (12', 13') in Abhängigkeit vom Vorliegen von »Inhalt < 6«-.oder Inhalt > 5«- Anzeigesignalen (ä, ~ß oder <x, β) wahlweise entsprechend dem echten bzw. dem komplementären Wert der eingegebenen Multiplikatorziffern während aufeinanderfolgender Iterationen weiterschaltbar sind.
8. Multiplikationseinrichtung nach den Ansprüchen 6 und 7, dadurch gekennzeichnet, daß in Abhängigkeit vom Vorliegen eines »Inhalt > 5«-Anzeigesignals bzw. α) für das eine Multiplikatorziffern-Zählregister (13' bzw. 12') der Inhalt des die nächsthöhere Multiplikatorziffer (a bzw. b) aufnehmenden Zählregisters (z. B. 12' bzw. 13' im nächsten Umlauf) vor Beginn der von dieser Ziffer gesteuerten Iterationsfolge über logische Schaltungen (102 bzw. 85 und 100) jeweils um Eins erhöht wird.
9. Multiplikationseinrichtung nach den Ansprüchen 6 bis 8, dadurch gekennzeichnet, daß die logische Schaltung (85) die Beziehung
ADD = (a'-x + F-b'-ß)\md SUB = α' « + ~3V ß = ÄDD
erfüllt, worin ADD und SUB Operationssteuersignale für das Addier-Subtrahier-Werk (1') sind.
10. Multiplikationseinrichtung nach den Ansprüchen 6 bis 9, dadurch gekennzeichnet, daß die logische Schaltung (85) zwei Auswahlsteuersignale (V, W) erzeugt, die in Kombination als Adressensignale zur Auswahl der vier Multiplikandenvielfachen 0,1; 1,0; 1,1 und 0,9 dienen.
11. Multiplikationseinrichtung nach Anspruch 2 oder 7, dadurch gekennzeichnet, daß durch einen Taktgeber (50 bzw. 90) die Weiterschaltung der Multiplikatorziffern-Zählregister (12, 13 bzw. 12', 13') und damit auch die eventuelle Veränderung der Auswahlsteuersignale (V, W bzw. V', W) zur gleichen Zeit erfolgt, in der das Addier- bzw. Addier- und Subtrahierwerk (1 bzw. 1') das ausgewählte Multiplikandenvielfache zum bisherigen Teilprodukt addiert oder von diesem subtrahiert, so daß, sofern das in den Zählregistern befindliche Multiplikandenziffernpaar eine weitere Iteration erfordert, diese ohne
3 4
Taktzeitverlust mit einem veränderten Multipli- mitteln liegt bei einer derartigen Einrichtung jedoch kandenvielfachen ausführbar ist. weit über dem zur Zeit in der Praxis vertretbaren
Maß.
Aufgabe vorliegender Erfindung ist es, eine Multi-
5 plikationseinrichtung anzugeben, die gegenüber den
bekannten, mit iterativer Addition bzw. mit wahlweiser Addition und Subtraktion arbeitenden Ein-
Die Erfindung betrifft eine Multiplikationseinrich- richtungen ohne einen wesentlichen Mehraufwand tung für Dezimalzahlen mit Mitteln zur Bildung und an Bauteilen eine höhere Arbeitsgeschwindigkeit geAkkumulation von Multiplikandenvielfachen unter io stattet. Gemäß der Erfindung wird dies dadurch Steuerung gespeicherter Multiplikatorziffern. erreicht; daß die Multiplikatorziffern jeweils paar-
Es ist bei Multiplikationseinrichtungen, die nach weise einer Steuerregisterschaltung unter Stellendem Prinzip der fortgesetzten Addition des Multipli- verschiebung des bereits gebildeten Teilproduktkanden arbeiten, bekannt, neben dem einfachen ergebnisses um zwei Stellen zugeführt werden, die auch den doppelten Multiplikanden zur akku- 15 in Abhängigkeit davon, ob die höherstellige, die mulativen Bildung des Produktes zu verwenden niedrigstellige oder keine der beiden Ziffern Null (R. K. Richards: »Arithmetic Operations in Di- ist, die Auswahl unter dem 0,1-, I- oder l,lfachen gital Computers«, New York, 1955, S. 252 bis 255). des Multiplikanden steuert, welche daraufhin so oft Hierzu wird zum Multiplikanden stets dessen dop- zu einem Teilprodukt addiert wird, wie die von Null pelter Wert erzeugt, und in Abhängigkeit von der 20 abweichende oder die kleinere der Ziffern angibt, gerade zu verarbeitenden Multiplikatorziffer wird wonach im letzteren Fall eine weitere Auswahl unter bestimmt, wie oft der einfache und/oder doppelte dem 0,1- oder lfachen des Multiplikanden in Ab-Multiplikandenwert zu addieren ist. Danach wird hängigkeit von der Differenz zwischen den beiden eine Stellenverschiebung zwischen dem gebildeten von Null verschiedenen Ziffern und der Stelle der Teilprodukt und dem Multiplikandenfeld vorgenom- 25 größeren Ziffer stattfindet.
men und mit der Verarbeitung der nächsten MuM- Ein wesentlicher Vorteil einer derartigen Anord-
plikatorstelle begonnen. Eine Multiplikation des nung besteht darin, daß die Anzahl der Additionen Multiplikanden mit der Multiplikatorziffer 6 wird bzw. wahlweisen Additionen und Subtraktionen und somit beispielsweise anstatt durch eine sechsfache auch die Anzahl der Stellenverschiebungen zwischen Addition des einfachen Multiplikanden durch eine 30 dem bereits gebildeten Teilprodukt und dem Multidreifache Addition des doppelten Multiplikanden plikandenfeld durch die parallele Verarbeitung von ausgeführt. Es sind auch Multiplikationseinrichtun- je zwei Multiplikatorziffern stark reduziert wird,
gen bekannt, die außer dem einfachen und dem Weitere vorteilhafte Ausgestaltungen der Erfin-
doppelten Multiplikandenwert noch weitere Multi- dung sind aus den Ansprüchen zu ersehen. Nachplikandenvielfache in der gleichen Weise verwenden, 35 folgend sind zwei Ausführungsbeispiele der Erfinum die Zahl der Additionsiterationen pro Multi- dung an Hand von Zeichnungen erläutert. Es zeigt plikatorstelle zu reduzieren. F i g. 1 ein Blockschaltbild einer gemäß der Erfin-
Es ist bei derartigen Einrichtungen auch bekannt dung ausgebildeten Multiplikationseinrichtung, die (S. 260 und 261 des genannten Buches), die Multi- mit wiederholter Addition des Multiplikanden oder plikationsoperationen dadurch weiter zu verkürzen, 40 bestimmter Vielfacher desselben arbeitet,
daß der Multiplikand oder dessen Vielfaches wahl- F i g. 2 ein detailliertes Blockschaltbild eines Taktweise zum bereits gebildeten Teilprodukt addiert gebers zur Verwendung in der Einrichtung nach oder von diesem subtrahiert wird, je nachdem, ob Fig. 1,
die gerade zu verarbeitende Multiplikatorziffer klei- Fig. 3 ein Impulsdiagramm zur Erläuterung der
ner als sechs oder größer als fünf ist. Werden Sub- 45 Arbeitsweise der Anordnungen nach den Fig. 1 traktionen durchgeführt, dann ist jeweils zur nächst- und 2,
höheren Multiplikatorziffer eine Eins zu addieren. Fig. 4 die Zusammengehörigkeit der Fig. 4A
Hierdurch wird in bezug auf die durch Ausführung und 4 B,
von Subtraktionen zu verarbeitende Multiplikator- Fig. 4A und 4B ein Blockschaltbild einer wei-
ziffer eine zehnfache Addition des Multiplikanden 50 teren vorteilhaften Ausführungsform der erfindungserreicht. gemäßen Multiplikationseinrichtung, die mit wahl-
Es sind ferner Multiplikationseinrichtungen be- weiser wiederholter Addition und Subtraktion des kannt, bei denen jeweils nur eine Multiplikanden- Multiplikanden oder bestimmter Vielfacher desziffer mit mehreren Multiplikatorziffern gleichzeitig selben arbeitet,
in der vorausgehend erläuterten Art multipliziert 55 F i g. 5 ein detailliertes Blockschaltbild eines Taktwird (S. 266 und 267 des genannten Buches). Die gebers zur Verwendung in der Einrichtung nach dabei gebildeten Teilprodukte werden in einem den Fig. 4A und 4B und
Akkumulatorwerk zusammengefaßt. Eine vollstän- F i g. 6 ein Impulsdiagramm zur Erläuterung der
dige Multiplikation ist jeweils dann ausgeführt, wenn Wirkungsweise der Anordnungen nach den Fi g. 4 A, alle Multiplikandenziffern nacheinander verarbeitet 60 4 B und 5.
worden sind. Die in Fig. 1 dargestellte Ausführungsform der
Des weiteren sind auch bereits Überlegungen an- beispielsweisen Multiplikationseinrichtung weist ein gestellt worden, eine Multiplikationseinrichtung zu Addierwerk 1, ein Akkumulatorregister 2, einen bauen, die insofern parallel arbeitet, als die Ziffern Speicher 3 und verschiedene, der Adressierung dieses zweier mehrstelliger Operanden mit Hilfe einer An- 65 Speichers dienende Register 4 bis 6 auf. Der Speizahl Einmaleinstafeln gleichzeitig multipliziert wer- eher 3 kann beispielsweise der Arbeitsspeicher der den (z.B. A.P.Speiser: »Digitale Rechenanlagen«, Datenverarbeitungseinheit sein, in der die Multipli-Berlin, 1961, S. 199, 200). Der Aufwand an Schalt- kationseinrichtung Verwendung findet. Sein Ausgang
DE19671549465 1967-04-15 1967-04-15 Multiplikationseinrichtung Expired DE1549465C (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DEJ0033453 1967-04-15
DEJ0033453 1967-04-15

Publications (3)

Publication Number Publication Date
DE1549465A1 DE1549465A1 (de) 1971-02-18
DE1549465B2 DE1549465B2 (de) 1972-11-30
DE1549465C true DE1549465C (de) 1973-07-05

Family

ID=

Similar Documents

Publication Publication Date Title
DE1549476C3 (de) Anordnung zur Ausführung von Divisionen
DE1549477B1 (de) Einrichtung zur schnellen akkumulation einer anzahl mehr stelliger binaerer operanden
DE2245284A1 (de) Datenverarbeitungsanlage
EP0265555A1 (de) Verfahren und Schaltungsanordnung zur Addition von Gleitkommazahlen
DE1549465C (de) Multiplikationseinrichtung
DE1524117B1 (de) Datenverarbeitungsanlage mit Umlaufregistern
DE2000275A1 (de) Elektronischer Walzenschalter
DE1549461C3 (de)
DE4218769A1 (de) Verfahren und Anordnung zum Bilden der Summe einer Kette von Produkten
DE1549465B2 (de) Multiplikationseinrichtung
DE1499227C3 (de) Schaltungsanordnung für arithmetische und logische Grundoperationen
DE1549485C3 (de) Anordnung zur Division binärer Operanden ohne Rückstellung des Restes
DE1094020B (de) Periodisch arbeitende numerische Rechenmaschine
DE1181459B (de) Multiplikationsschaltung fuer elektronische Zifferrechenmaschinen
DE4242929A1 (de) Schaltungsanordnung zum Bilden der Summe von Produkten
DE1234055B (de) Anordnung zur Addition oder Subtraktion
DE1303692C2 (de) Binaerrechner
DE1524146C (de) Divisionseinrichtung
DE19514739C2 (de) Multipliziereinrichtung
DE2708637C3 (de) Schaltungsanordnung zur Bildung einer BCD-Summe oder einer reinen Binär-Summe aus einem ersten und einem zweiten Operanden
DE2158833B2 (de) Einrichtung an einem tastenbetätigten Elektronenrechner zur Durchführung von Reihenberechnungen
DE2737483A1 (de) Korrektur-schaltungsanordnung fuer additions- oder substraktionsoperationen mit nicht-hexadezimalen operanden in hexadezimalen rechenwerken
DE1302516C2 (de) Verfahren und einrichtung fuer ein serie-serie-rechenwerk
DE2238408C2 (de) Steuereinrichtung zur Synchronisation der Übertragung von Daten aus mehreren Daten-Schieberegistern
DE2337356C3 (de) Im Dualsystem arbeitende Multiplizierschaltung