<Desc/Clms Page number 1>
Einrichtung zur Multiplikation zweier in Serie dargestellter Operanden, vorzugsweise binär verschlüsselter Dezimalzahlen
Die Erfindung betrifft eine Einrichtung zur Multiplikation zweier in Serie dargestellter Operanden vorzugsweise binär verschlüsselter Dezimalzahlen nach dem Prinzip der fortgesetzten Addition mit Stel- lenverschiebung der Teilprodukte.
Elektronische programmgesteuerte Rechenmaschinen besitzen in der Regel im Rechenwerk drei Regi- ster, den Akkumulator, ein Register zur Speicherung des Multiplikators bzw. des Quotienten und ein Re- gister für den Multiplikanden bzw. den Divisor. Die Multiplikation wird gewöhnlich so durchgeführt, dass der Multiplikand unter Steuerung jeweils einer Multiplikatorziffer so oft in den Akkumulator addiert wird, wie die jeweilige Multiplikatorziffer angibt. Hierauf erfolgt ein Verschieben des Akkumulatorinhaltes und des Multiplikators um eine Stelle, und die Addition des Multiplikanden wird unter Steuerung der nächsten Multiplikatorziffer fortgesetzt.
Sind die Operanden in Serie dargestellt, werden als Register vorzugsweise sogenannte Umlaufspeicher, z. B. Magnettrommelspuren, akustische Verzögerungslinien od. dgl. benutzt. Hiebei können die z. B. binär verschlüsselten Dezimalziffern ebenfalls in Serie in einer Spur oder parallel in z. B. vier Spuren umlaufen. Zur Durchführung der Multiplikation sind in bekannter Weise so viele Verschiebungen des Teilprodukts und des Multiplikators nötig, wie das Multiplikatorregister Stellen hat, um alle Stellen des Multiplikators abzubauen und das Produkt im Resultatregister in die richtige Lage zu bringen. Für die z. B. links der geltenden Stellen stehenden Nullen sind dann Verschiebungen erforderlich, die die Rechenzeit unnötig verlängern.
Ferner ist es üblich, nach Abschluss der Multiplikation zur Durchführung von Stellenabstreichungen weitere Verschiebungen des Produkts vorzunehmen, wodurch ebenfalls die Rechenzeit verlängert wird.
Es ist Aufgabe der Erfindung, die geschilderten Nachteile zu beseitigen und eine Einrichtung zur Multiplikation zu schaffen, die besonders für kleine Multiplikatoren nur kurze Rechenzeiten und für Stellenabstreichungen keinen zusätzlichen Zeitaufwand erfordert.
Die erfindungsgemässe Lösung der Aufgabe ist gekennzeichnet durch Mittel zur Zählung der geltenden Multiplikatorstellen, ein Register zur Speicherung der um eins verminderten Stellenzahl des Multiplikators, ein Register zur Speicherung der Zahl der vom Produkt abzustreichenden Stellen, einen mit diesem verbundenen Addiator-Subtraktor, einen Vergleicher zum Vergleich des Inhalts beider Register, Steuermittel zur Auslösung von Linksverschiebungen des Multiplikanden oder der Multiplikation in Abhängigkeit vom Vergleichsergebnis und Steuermittel zur Auslösung von Rechtsverschiebungen der Tellpro- dukte und des Multiplikators oder Additionen des Multiplikanden.
Ein Ausführungsbeispiel der Erfindung wird nachstehend an Hand der Zeichnung, die eine Blockschaltung zeigt, erläutert. Die dargestellten Symbole verkörpern Umlaufregister, Addiatoren, Subtraktoren, Schiebelinien, bistabile Kippschaltungen, UND-und ODER-Schaltungen, die in bekannter Weise ausgeführt werden können. Es sind drei Umlaufregister AC, MD und MR dargestellt, die z. B. durch Spuren einer Magnettrommel mit Schreib- und Leseköpfen realisiert sind und die zur Aufnahme der Teilprodukte, des Multiplikanden und des Multiplikators dienen.
Der Erfindung liegt der Gedanke zugrunde, dass der Multiplikand zu Beginn der Multiplikation um so viele Stellen nach links verschoben wird, wie es sich aus der Differenz der um eins verminderten Stellen-
<Desc/Clms Page number 2>
zahl des Multiplikators und der Zahl der vom Produkt abzustreichenden Stellen ergibt, und dass die Zahl der Rechtsverschiebungen der Teilprodukte und des Multiplikators während und am Schluss der Multiplikation durch die um eins verminderte Stellenzahl des Multiplikators oder, wenn diese kleiner als die Zahl der abzustreichenden Stellen ist, durch letztere bestimmt wird.
Die Register AC und MD sind aber einen Addiator-Subtraktor 1 verknüpfbar. Ferner besitzen die Register Mittel zur Vornahme von Rechts-und Linksverschiebungen, d. h., dass neben dem normalen Umlauf, der die gespeicherten Werte immer wieder auf die gleichen Plätze der Register schreibt, ein verlängerter oder verkürzter Umlauf zur Links- bzw. Rechtsverschiebung stattfinden kann. Der normale Umlauf des Registers AC verläuft über die Leitung 20, das Schieberegister V, das z. B. aus vier bistabilen Kippschaltungen besteht, die Leitung 21, die UND-Schaltung 11, die Leitung 22, die ODER-Schaltung 9 und die Leitung 23. Die Steuerung des normalen Umlaufs erfolgt durch zwei Signalspannungen Üund RVAC.
RVAC ist die Abkürzung für Rechtsverschiebung des Registers AC und Üfür Überfilhrung des Multiplikators vom Register AC ins Register MR.
An der UND-Schaltung 11 liegen die Negationen dieser beiden Signalspannungen an. Der verkürzte Umlauf zur Rechtsverschiebung erfolgt durch Auslassung des Schieberegisters V über die UND-Schaltung 10 und die ODER-Schaltung 9, wobei die UND-Schaltung 10 durch die Signalspannung RVAC gesteuert wird.
Der Normalumlauf des Registers MD geschieht über die Leitung 25, die UND-Schaltung 7 und die ODER-Schaltung 8, während der verlängerte Umlauf zur Linksverschiebung (LVMD) Über das Schiebere-
EMI2.1
UND-Schaltung 16, die ODER-Schaltung 13 und die Leitung 27, der verkürzte Umlauf über die UNDSchaltung 14, die ODER-Schaltung 13 und die Leitung 27.
Während der Additionsperiode (Add) zur Akkumulierung der Teilprodukte erfolgt der Umlauf über den Subtraktor 2, der bei jedem Umlauf die Subtraktion von eins von der jeweiligen Multiplikatorstelle vornimmt, und die UND-Schaltung 15. Als Steuerspannungen treten wieder RVAC und RVAC auf, ferner Add und Add. Über die Leitung 28 erfolgt während der Überführungsperiode Ü über die UND-Schaltung 12 die Überführung des Multiplikators aus dem Register AC in das Register MR. Während der Überführung des Multiplikators wird dessen Stellenzahl n gezählt und der Wert n-1 über die Leitung 29 in dem Schieberegister V, gespeichert.
Es ist weiter ein Schieberegister V vorhanden, das ein Teil des Befehlsregisters ist und zur Angabe der Lage des Maschinenkommas bzw. der Zahl der vom Ergebnis abzustreichenden Stellen dient. Steht das Komma ganz rechts, so handelt es sich um ganze Zahlen und das Schieberegister V 5 enthält null.
Bei sechs z. B. steht das Komma vor der sechsten Stelle von rechts bzw. sind sechs Stellen vom Produkt abzustreichen. Mittels des Addiator-Subtraktors 3 kann der Inhalt des Schieberegisters V je Umlauf um eins erhöht oder erniedrigt werden. Das erstere ist bei Linksverschiebung (LVMD), das zweite bei Rechtsverschiebung (RVAC) der Fall.
Beide Schieberegister V, und V stehen über einen Vergleicher 4 in Verbindung. Der Vergleicher 4 liefert zwei Ausgangssignale, u. zw. wird durch die Bedingung V 5 V, (V 5 hat hier die Bedeutung von "Inhalt von V 5") die bistabile Kippschaltung 5 eingeschaltet, die an ihrem rechten Ausgang das Signal Mul als Zeichen für die Multiplikation liefert. Durch die Bedingung V < V, wird die Linksverschiebung des Multiplikanden (LVMD) eingeschaltet. Das Signal Mul steuert zwei weitere UND-Schaltungen 18 und 19.
Die UND-Schaltung 19 veranlasst die Akkumulation des Multiplikanden, solange die Multiplikatorziffer in der Schiebe linie Va noch nicht auf Null abgebaut ist, die UND-Schaltung 18 veranlasst die Einschaltung derRechtsverschiebung (RVAC) bei eingebauter Multiplikatorstelle. Nach einer Periode wird erneut entschieden, ob eine Linksverschiebung (LVMD), Rechtsverschiebung (RVAC) oder Addition erfolgen soll.
Zum besseren Verständnis werden nachstehend zwei Multiplikationsbeispiele angeführt :
Die beiden Faktoren 1674 und 1023 stehen anfangs in den Registern MD und AC und laufen um.
EMI2.2
Grund des Vergleiches in der zweiten Periode um eine Stelle nach links verschoben, und zum Inhalt von V wird eins addiert. Die gleichen Vorgänge wiederholen sich in der dritten und vierten Periode. Am En-
<Desc/Clms Page number 3>
EMI3.1
die Addition eingeschaltet. Unter gleichzeitiger Subtraktion von eins von der letzten Multiplikatorstelle durch den Subtraktor 2 wird der Multiplikand über den Addiator-Subtraktor 1 in das Register AC addiert.
Am Schluss der siebenten Periode ist die letzte Multiplikatorziffer Null geworden, so dass über die UND-Schaltung 18 die Steuerspannung RVAC eingeschaltet werden kann.
In der achten Periode erfolgt demnach eine Rechtsverschiebung des Multiplikators und des Teilprodukts (RVAC). Vom Inhalt des Schieberegisters Vs wird eins subtrahiert. Die Rechnung setzt sich nun sinngemäss weiter fort. In der zwölften Periode erfolgt die letzte Rechtsverschiebung, womit der Inhalt von V5 Null wird. Am Ende der dreizehnten Periode ist auch die letzte Multiplikatorziffer Null. Über die UNDSchaltung 17 erfolgt daher die Ausschaltung der Kippschaltung 5.
1674 x 1023 (ganze Zahlen, Komma ganz rechts, Kommastelle im Befehl = 0)
EMI3.2
<tb>
<tb> MD <SEP> AC <SEP> MR <SEP> V5 <SEP> Vjj
<tb> 1. <SEP> Periode <SEP> Ü <SEP> 1674 <SEP> 1023-0
<tb> 1674-10230 <SEP> 3' <SEP>
<tb> 2. <SEP> Periode <SEP> LVMD
<tb> 16740 <SEP> - <SEP> 1023 <SEP> 1 <SEP> 3 <SEP>
<tb> 3. <SEP> Periode <SEP> LVMD
<tb> 167400 <SEP> - <SEP> 1023 <SEP> 2 <SEP> 3
<tb> 4. <SEP> Periode <SEP> LVMD
<tb> 1674000 <SEP> - <SEP> 1023 <SEP> 3 <SEP> 3
<tb> 5. <SEP> Periode <SEP> Addition
<tb> 1674000 <SEP> 1674000 <SEP> 1022 <SEP> 3
<tb> 6. <SEP> Periode <SEP> Addition
<tb> 1674000 <SEP> 3348000 <SEP> 1021 <SEP> 3
<tb> 7. <SEP> Periode <SEP> Addition
<tb> 1674000 <SEP> 5022000 <SEP> 1020 <SEP> 3
<tb> 8. <SEP> Periode <SEP> RVAC
<tb> 1674000 <SEP> 502200 <SEP> 102 <SEP> 2
<tb> 9. <SEP> Periode <SEP> Addition
<tb> 1674000 <SEP> 2176200 <SEP> 101 <SEP> 2
<tb> 10.
<SEP> Periode <SEP> Addition
<tb> 1674000 <SEP> 3850200 <SEP> 100 <SEP> 2
<tb> 11. <SEP> Periode <SEP> RVAC
<tb> 1674000 <SEP> 385020 <SEP> 10 <SEP> 1
<tb> 12. <SEP> Periode <SEP> RVAC
<tb> 1674000 <SEP> 38502 <SEP> 1 <SEP> 0
<tb> 13. <SEP> Periode <SEP> Addition
<tb> 1674000 <SEP> 1712502 <SEP> 0 <SEP> 0
<tb>
<Desc/Clms Page number 4>
Damit ist die Multiplikation beendet.
Im zweiten Beispiel wird gezeigt, wie sich die Angabe des Maschinenkommas im Befehl auswirkt bzw. eine Stellenabstreichung vorgenommen wird : In dem Schieberegister V steht zu Beginn der Multi- plikation der Wert zwei. Die Angabe stellt also eine Voreinstellung des als Verschiebezähler wirkenden ! Schieberegisters V, dar.
Bereits nach einmaliger Linksverschiebung stimmten die Schieberegister V und V, in ihrem Inhalt überein, so dass in der dritten Periode die erste Addition erfolgt. Durch die Voreinstellung des Schiebe- registers V sind die Zahlen gegenüber dem ersten Beispiel um zwei Stellen nach rechts verschoben.
Das Ergebnis ist mit 171, 25 zu lesen.
EMI4.1
EMI4.2
<tb>
<tb> MD <SEP> AC <SEP> MR <SEP> V5 <SEP> V2
<tb> 1. <SEP> Periode <SEP> (Ü) <SEP> 1674 <SEP> 1023 <SEP> - <SEP> 2 <SEP> -
<tb> 1674-1023 <SEP> 2 <SEP> 3
<tb> 2. <SEP> Periode <SEP> LVMD
<tb> 16740-1023 <SEP> 3 <SEP> 3
<tb> Schluss <SEP> 16740 <SEP> 385 <SEP> 1 <SEP> 0
<tb> 11. <SEP> Periode <SEP> Addition
<tb> 16740 <SEP> 17125 <SEP> 0 <SEP> 0
<tb>