DE1202542B - Multiplikationseinrichtung - Google Patents

Multiplikationseinrichtung

Info

Publication number
DE1202542B
DE1202542B DES84753A DES0084753A DE1202542B DE 1202542 B DE1202542 B DE 1202542B DE S84753 A DES84753 A DE S84753A DE S0084753 A DES0084753 A DE S0084753A DE 1202542 B DE1202542 B DE 1202542B
Authority
DE
Germany
Prior art keywords
register
circuit
multiplier
signal
nund
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.)
Pending
Application number
DES84753A
Other languages
English (en)
Inventor
Richard M Oman
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.)
Sperry Corp
Original Assignee
Sperry Rand Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sperry Rand Corp filed Critical Sperry Rand Corp
Publication of DE1202542B publication Critical patent/DE1202542B/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/533Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
    • G06F7/5334Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product
    • G06F7/5336Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm

Landscapes

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

Description

BUNDESREPUBLIK DEUTSCHLAND
DEUTSCHES
PATENTAMT
AUSLEGESCHRIFT
Int. α.:
Nummer:
Aktenzeichen:
Anmeldetag:
Auslegetag:
G06f
Deutsche Kl.: 42 m-14
1 202 542
S84753IXc/42m
18. April 1963
7. Oktober 1965
Die vorliegende Erfindung betrifft eine Multiplikationseinrichtung, insbesondere eine binäre Multiplikationseinrichtung.
Bei bekannten binären Parallel-Multiplikationseinrichtungen wird in der Regel eine Multiplikation in mehreren iterativen Zyklen durchgeführt. In jedem dieser Zyklen wird eine einzelne Stelle des Multiplikators abgetastet und je nach deren Wert (0 oder L) der Multiplikand entweder null- oder einmal zum bisherigen Ergebnis addiert. Dieses wird dann um eine Binärstelle verschoben, worauf im nächsten Zyklus die nächste Stelle des Multiplikators abgetastet und eine weitere Addition durchgeführt wird. Bei der Verwendung eines n-stelligen Multiplikators erforderte somit die Multiplikation η iterative Zyklen.
Es sind verschiedene Verfahren zur abgekürzten Multiplikation bekannt, bei welcher jeweils eine Multiplikation mit mehreren Multiplikatorstellen durchgeführt wird. Bei einem bekannten Verfahren wird z.B. die FolgeLLLL ersetzt durch LOOOO-L. Mit anderen Worten, es wird das Teilprodukt dadurch gebildet, daß der Multiplikand um so viele Stellen nach rechts verschoben wird, als der Multiplikator aufeinanderfolgende L enthält, worauf dann der — lfache Wert, d. h. das Komplement des Multiplikanden, hinzuaddiert wird. Es leuchtet ein, daß bei einer Realzeit-Rechenanlage die für die Multiplikation im ungünstigsten Falle benötigte Zeit berücksichtigt werden muß. Dieser ungünstigste Fall liegt dann vor, wenn im Multiplikator abwechslungsweise ein L und eine 0 vorhanden sind, also z. B. LOLOLO. Es sind dann zur Durchführung der Multiplikation n/2 iterative Zyklen notwendig. Für eine Realzeit-Rechenanlage kommt das beschriebene Verfahren nicht in Frage, weil der Erfolg zum nötigen Aufwand in keinem Verhältnis steht. Wohl ist eine Verdoppelung der Rechengeschwindigkeit möglich, aber dies wird durch eine der Anzahl der Multiplikatorstellen entsprechende Zahl von Verschiebestromkreisen erkauft.
Es ist in der Literatur auch schon erwogen worden, eine Multiplikation in einem einzigen Schritt durchzuführen, indem die Partialprodukte paarweise in Parallel-Addierwerke addiert und die so entstehenden Partialsummen wiederum paarweise zusammenaddiert werden, usw., bis eine Endsumme vorliegt. Die Zahl der zu einem solchen Verfahren benötigten Parallel-Addierwerke ist aber so groß (1600 bei 40stelligen Operanden), daß sich dieses Verfahren praktisch nicht realisieren läßt.
Bei einer früher entwickelten Einrichtung wird die Multiplikation mit einem n-stelligen Multiplikator in Multiplikationseinrichtung
Anmelder:
Sperry Rand Corporation, New York, N. Y.
(V. St. A.)
Vertreter:
Dipl.-Ing. E. Weintraud, Patentanwalt,
Frankfurt/M., Mainzer Landstr. 136-142
Als Erfinder benannt:
Richard M. Oman, Roseville, Minn. (V. St. A.)
Beanspruchte Priorität:
V. St. v. Amerika vom 9. Mai 1962 (193 472) - -
n/2 iterativen Zyklen durchgeführt. Die Einrichtung weist zwei Multiplikatorregister auf. Der Multiplikator kann vom ersten zum zweiten Multiplikatorregister ohne Stellenverschiebung und vom zweiten zum ersten Multiplikatorregister mit Stellenverschiebung übertragen werden. Eine Abführvorrichtung dient zum gleichzeitigen Abfühlen von zwei Stellen des Multiplikators und steuert eine Vorrichtung, um eine Multiplikation entsprechend der abgefühlten Werte 00, OL, LO, LL (= dezimal 0, 1, 2 oder 3) durch Addition des 00-, OL-, LO- oder -OL- (dezimal 0-, 1-, 2- oder —1-) fachen Wertes des Multiplikanden vorzunehmen. Wird in einem Zyklus eine Addition mit dem -OL- (dezimal —1-) fachen Wertes vorgenommen, so wird ein Korrektursignal erzeugt, das dann wieder der Abführvorrichtung geliefert wird, um den im nächsten Zyklus abzufühlenden Wert 00, OL, LO, LL um den Korrekturwert OL zu erhöhen. Der im nächsten Zyklus so gebildete Wert beträgt dann OL, LO, LL, LOO. Eine Addition wird jedoch mit dem OL-, LO-, -OL- bzw. mit dem OOfachen Wert des Multiplikanden durchgeführt, wobei in den Fällen der Werte LL und LOO wiederum ein Korrektursignal an die Abfühlvorrichtung geliefert wird, um den im übernächsten Zyklus abzufühlenden Wert um den Korrekturwert OL zu erhöhen. Mit dieser Einrichtung ist es ohne großen Aufwand möglich, eine Multiplikation mit einem n-stelligen Multiplikator in n/2 iterativen Zyklen vorzunehmen.
Die vorliegende Erfindung ist dadurch gekennzeichnet, daß ein erstes und ein zweites Multiplika-
509 690/395
tionswerk vorgesehen sind, an die ein erstes bzw. zweites Teilproduktregister angeschlossen sind, die ihrerseits mit dem Eingang eines ersten bzw. zweiten Addierwerks verbunden sind, die mit ihrem Ausgang zu einem ersten bzw. zweiten Resultatregister geschaltet sind, daß der Ausgang des zweiten Resultatregisters zu einem Eingang des ersten Addierwerks und der Ausgang des ersten Resultatregisters zu einem Eingang des zweiten Addierwerks geschaltet ist und daß die Multiplikationseinrichtung derart arbeitet, daß den Multiplikationswerken der Reihe nach und abwechslungsweise Multiplikationsstellen zugeführt werden, und daß, wenn das erste (zweite) Multiplikationswerk eine Multiplikation vornimmt und das so erzeugte Teilprodukt in das erste (zweite) Teilproduktregister eingibt, der Inhalt des zweiten (ersten) Teilproduktregisters mit dem Inhalt des ersten (zweiten) Resultatregisters mittels des zweiten (ersten) Addierwerks zusammenaddiert und dem zweiten (ersten) Resultatregister zugeführt wird, worauf das erste (zweite) Resultatregister und das zweite (erste) Teilproduktregister gelöscht werden. Währenddem bei Multiplikationen normalerweise drei Phasen nötig sind, um ein Teilprodukt zu bilden, nämlich das Lesen der Multiplikatorstelle, das Multiplizieren und Aufaddieren und schließlich das Löschen der verwendeten Multiplikatorstelle, arbeitet das Multiplikationswerk nach der Erfindung, als wenn nur zwei Arbeitsphasen erforderlich wären. Dadurch wird ein Zeitgewinn erzielt. Tatsächlich verhält es sich so, daß vier Arbeitsphasen stattfinden, nämlich das Multiplizieren und das Speichern des Teilprodukts, das Löschen des Resultatregisters, das Aufaddieren des Teilproduktes zur Teilsumme und gleichzeitige Lesen der Multiplikatorstelle oder -stellen und schließlich das Löschen des Teilproduktregisters. Weil aber die Teilprodukte in zwei verschiedenen Multiplikationswerken erzeugt werden, wird der vorher erwähnte Effekt erzielt, der einen Zeitgewinn bringt.
Nach einem weiteren Merkmal der Erfindung ist die Multiplikationseinrichtung dadurch gekennzeichnet, daß jedes Multiplikationswerk eine Multiplikation mit zwei Multiplikatorstellen durchführt und eine Multiplikation entsprechend den Werten 00, OL, LO, LL, LOO (Wert der Multiplikatorstellen, allenfalls erhöht durch einen Korrekturwert) durch Addition des 00-, OL-, LO- oder Olfachen Wertes des Multiplikanden vornimmt und daß im Fall der Multiplikationsfaktoren LL oder LOO ein Korrekturwert OL von dem eine Multiplikation durchführenden Multiplikationswerk erzeugt wird, um den der für das andere Multiplikationswerk maßgebenden Wert 00, OL, LO, LL der Multiplikatorstellen erhöht wird. Es wird also Gebrauch von der verkürzten Multiplikation gemacht. Dies wirkt sich besonders vorteilhaft aus, weil zwei Multiplikationswerke vorhanden sind, so daß der Zeitgewinn entsprechend groß ist.
Nach einem weiteren Merkmal der Erfindung speichern das erste und zweite Resultatregister das Resultat in Form von Summen- und Übertragsziffern, wobei die Übertragsziffern mit einer um eins verminderten Stellenverschiebung dem jeweiligen Addierwerk zugeführt werden. Dadurch wird ohne großen Aufwand vermieden, daß in jedem iterativen Zyklus bei der Aufaddierung des jeweiligen Teilproduktes zur bereits bestehenden Summe der vorherigen Teilprodukte abgewartet werden muß, bis die Überträge alle Stellen durchlaufen haben. Dadurch wird eine weitere erhebliche Zeitersparung in jedem iterativen Zyklus erreicht.
Die Erfindung wird nachstehend an Hand eines bevorzugten Ausführungsbeispiels in Verbindung mit den Zeichnungen beschrieben. Es zeigt
F i g. 1 ein Blockschaltbild der Erfindung, aus dem die Hauptübertragungswege für die Information ersichtlich sind,
ίο Fig. 2 die Einstell-Steuereinrichtung zur Steuerung des Ablaufs der verschiedenen Vorbereitungsoperationen, durch welche die Operanden in die Recheneinrichtung zwecks Vorbereitung der vorzunehmenden Multiplikation eingegeben werden,
F i g. 3 die Multiplizier-Steuereinrichtung zur Steuerung des Ablaufs der iterativen Zyklen, auf die anschließend ein Endkorrekturzyklus folgt,
Fi g. 4 die Register Q und Q*,
Fig. 5 die erste Abtastvorrichtung Q,
F i g. 6 die zweite Abtastvorrichtung Q,
Fig. 7a bis 7c die RegisterX, XS und X* sowie die Ausblendschaltungen, welche die Übertragung von Information aus dem Z-Register in die Register XS und X* steuern,
Fig. 8 den Halbsubtrahierer^l*jB* sowie die für die ersten Differenzstellen und die ersten Borgerbits vorgesehenen Speicherregister A* und B*,
Fig. 9a und 9b den Halbsubtrahierer AB sowie
die für die zweiten Differenzstellen und die zweiten Borgerbits vorgesehenen Speicherregister A und B, F i g. 10 den ersten Vollsubtrahierer,
Fig. 11 den zweiten Vollsubtrahierer,
F i g. 12 den Iterationszähler und
Fig. 13a und 13b die Zeitdiagramme, aus denen der Ablauf der von der erfindungsgemäßen Einrichtung während der Vorbereitungs- und Multiplizierfolge ausgeführten Operationen ersichtlich ist.
Zeichenerklärung
In den Zeichnungen werden die Symbole N, Ό, Ά und FF zur Bezeichnung von Schaltelementen benutzt. So wird der Buchstabe N zur Bezeichnung einer Schaltung benutzt, welche die logische Negation ausführt. Die NICHT-Schaltung bzw. der Negator negiert ein Signal und kann daher eine in der Technik bekannte Invertier-Schaltung sein.
Das Zeichen Ό dient zur Bezeichnung einer Schaltung, welche die negative Disjunktion ausführt. Diese NODER-Schaltungen können als Negatoren mit zwei oder mehreren Eingangsadern und einer einzigen Ausgangsader ausgebildet sein. Eine solche NODER-Schaltung erzeugt nur dann ein negatives Ausgangssignal, wenn an einem oder mehreren ihrer Eingänge ein positives Signal anliegt.
Das Zeichen Ά dient zur Bezeichnung einer Schaltung, welche die negative Konjunktion ausführt. Eine solche mit NUND-Schaltung bezeichnete Schaltung erzeugt nur dann ein positives Ausgangssignal, wenn an ihren sämtlichen Eingängen negative Signale anliegen. Die NUND-Schaltung kann genauso wie die NODER-Schaltung ausgebildet sein, wobei der Unterschied zwischen beiden Schaltungstypen lediglich in der logischen Definition besteht.
Das Zeichen FF bezeichnet eine bistabile Kippschaltung. Derartige Kippschaltungen sind in der Technik bekannt und können beispielsweise aus zwei NODER-Schaltungen bestehen, wie sie oben beschrieben wurden, wobei der Ausgang jeder NODER-
Schaltung an einem der Eingänge zur anderen NODER-Schaltung anliegt.
Um das Auffinden der Steuerimpulsquellen zu erleichtern, wird folgende Bezeichnung angewendet. Die Bauelemente oder die Leitungen sind in F i g. 2 bis 12 mit dreistelligen Bezugszeichen versehen. Die erste Ziffer bezeichnet dabei die Figur, in welcher das Bauelement erscheint, oder — sofern es sich um eine Steuerleitung handelt — die Figur, von der die betreffende Steuerleitung kommt. Von dieser Bezeichnungsweise ausgenommen sind jedoch die als Phantomleitungen dargestellten Leitungen, deren Bezugszeichen jeweils eine »1« als erste Ziffer aufweisen. Diese Steuerleitungen kommen von Schalteinrichtungen, die in den Zeichnungen nicht dargestellt sind und bei der Multiplikation nicht verwendet werden. Sie sind daher auch nicht in der nachstehenden Beschreibung aufgeführt.
Allgemeine Beschreibung
Wie F i g. 1 zeigt, umfaßt die vorliegende Erfindung ein Multiplikanden-Speicherregister 2, zwei Multiplikator-Speicherregister 4 und 6, eine erste und zweite Abtasteinrichtung 8 bzw. 10 zum Abtasten von Multiplikatorstellen, eine erste und zweite Multiplikanden-Ausblendeinrichtung 12 bzw. 14, ein erstes und zweites Teilproduktregister 16 bzw. 18, einen ersten und zweiten Halbsubtrahierer 20 bzw. 22, ein erstes und zweites Differenzregister 24 bzw. 26, ein erstes und zweites Borgerbitregister 28 bzw. 30, einen ersten und zweiten Vollsubtrahierer 32 bzw. 34, ein erstes und zweites Pufferspeicherregister 36 bzw. 38, eine erste und zweite Endborgereinrichtung 40 bzw. 42 sowie einen Hauptaddierer und eine Borgerpyramide 44.
Die in F i g. 1 gezeigten Bauteile werden von einer Einstell-Steuereinrichtung (F i g. 2) und einer Multiplizier-Steuereinrichtung (Fig. 3) gesteuert.
Der Multiplikator und der Multiplikand werden über das AT-Register in das Rechenwerk eingegeben, wobei der Multiplikator zuerst übertragen wird. Durch die Einstell-Steuereinrichtung wird ein positiver Multiplikator vom ÄT-Register über die Tore 14, das XS-Register 18 und das ^-Register 26 in das ß-Register 4 übergeführt. Außerdem wird der Multiplikator vom ß-Register in das ß*-Register ohne Räumung des ß-Registers übertragen, so daß er sich sowohl im Q- als auch im ß*-Register befindet. Ist der Multiplikator negativ, so wird das Ein-Komplement des Multiplikators vom X-Register über die Tore 14 in das ATS-Register übergeführt und vom A -Register in das Q-Register und außerdem von hier in das ß*-Register eingegeben. Eine entsprechende Mitteilung, daß das Vorzeichen des Multiplikators negativ ist, wird in der nachstehend noch zu beschreibenden Weise eingespeichert.
Als nächstes wird der Multiplikand in das AT-Register übergeführt. In diesem Zusammenhang soll angenommen sein, daß das Vorzeichen des Multiplikanden stets negativ ist. Das Einstell-Steuerwerk veranlaßt daher, daß das Komplement zum Multiplikanden vom AT-Register über die Tore 14 in das ATS-Register übertragen wird. Dieses Komplement wird dann vom ATS-Register zum ^(-Register weitergeleitet. Das Vorzeichen des Multiplikanden wird von der Vorzeichenstelle des AT-Registers abgetastet. Ist das Vorzeichen tatsächlich negativ, was durch eine binäre »1« angezeigt wird, so wird das Komplement vom yi-Register in das AT-Register übertragen. Ist dagegen das Vorzeichen positiv, was durch eine »0« angedeutet wird, so wird das Komplement aus dem yi-Register ausgespeichert, und der nichtkomplementierte Multiplikand wird im X-Register aufgehoben. Eine Mitteilung über das Vorzeichen des Multiplikanden wird zusammen mit dem Vorzeichen des Multiplikators abgespeichert, so daß das Vorzeichen des Produktes nach Beendigung der
ίο Multiplikation ermittelt werden kann. Diese Vorzeichenmitteilung wird beim Einspeichern des Produktes verwendet.
Sämtliche oben angeführten Operationen werden durch das Einstell-Steuerwerk überwacht. Nach Durchführung dieser Operationen wird dann vom Einstell-Steuerwerk veranlaßt, daß das Multiplizier-Steuerwerk seinen Betrieb aufnimmt. Die Einstellfolge ist damit beendet. Alle weiteren Befehle werden jetzt vom Multiplizier-Steuerwerk erteilt. Zu Be-
ao ginn der Multiplzierfolge befindet sich also der absolute Wert des Multiplikanden im AT-Register und der absolute Wert des Multiplikators im Q- sowie im ß*-Register.
Durch das Multiplizier-Steuerwerk wird zunächst der in Fig. 12 gezeigte Iterationszähler auf den Binärwert der Dezimalzahl 10 eingestellt. Das hier beschriebene Ausführungsbeispiel ist für das Multiplizieren von zwei 36stelligen Zahlen vorgesehen. Für den allgemeinen Fall eines aus η Stellen bestehenden Multiplikators wird der Iterationszähler auf nlA+1 eingestellt. Durch das Multiplizier-Steuerwerk wird der Zählerstand des Zählers bei jedem Maschinenzyklus um 1 verringert, so daß der Zähler schließlich ein Ausgangssignal erzeugt und die Multiplizieroperation beendet wird, wenn der Zähler den Zählerstand 0 erreicht hat. Während dieser Zeit werden die in F i g. 1 gezeigten Schaltungen vom Multiplizier-Steuerwerk gesteuert, um neun iterative Zyklen sowie einen Endkorrekturzyklus durchzuführen.
In dem hier beschriebenen Ausführungsbeispiel umfaßt ein Zyklus vier Phasen, die jeweils durch einen von einem konventionellen Taktimpulsgenerator erzeugten Impuls bestimmt werden.
Bei der Multiplikation von Binärzahlen durch Abtasten von jeweils einer Multiplikatorstelle wird eine Anzahl von iterativen Zyklen während der Abtastung einer einzelnen Multiplikatorstelle ausgeführt, wobei der Multiplikand 0- oder lmal addiert wird, je nachdem, ob die betreffende Multiplikatorstelle 0 oder 1 ist, und außerdem das aufgelaufene Teilprodukt um eine Binärstelle verschoben wird. Diese Operationen werden aus folgendem Beispiel ersichtlich:
0000 = 1. Teilprodukt
55 Olli = 1. aufgelaufenes Teilprodukt
Olli = 1. aufgelaufenes Teilprodukt verschoben
00111 = 2. Teilprodukt
Olli = 2. aufgelaufenes Teilprodukt
60 10101 = 2. aufgelaufenes Teilprodukt verschoben
010101 = 3. Teilprodukt
Olli = 3. aufgelaufenes Teilprodukt
110001 = 3. aufgelaufenes Teilprodukt verschoben
6 0110001 = 4. Teilprodukt
0000 = Produkt Multiplikator = Olli
0110001 Multiplikand = Olli
Beispiel 1
Werden zwei MultiplikatorsteUen gleichzeitig abgetastet, so muß ein Teilprodukt eingesetzt werden, welches das 0-, 1-, 2- oder 3fache des Multiplikanden sein kann. Außerdem muß das aufgelaufene Teilprodukt bei jedem Zyklus um zwei Binärstellen nach rechts verschoben werden. Unter Verwendung der gleichen Multiplikator- und Multiplikandenwerte sieht das oben aufgeführte Beispiel dann wie folgt aus:
00000
10101 = 1. Teilprodukt
10101 = 1. aufgelaufenes Teilprodukt
0010101 = 1. aufgelaufenes Teilprodukt verschoben
00111 = 2. Teilprodukt
In dem oben aufgeführten Beispiel wurde gezeigt, daß bei der gleichzeitigen Abtastung von zwei Multiplikatorstellen das Teilprodukt das 0-, 1-, 2- oder 3fache des Multiplikanden sein kann. In der vorliegenden Recheneinrichtung sind keine Mittel vorgesehen, um das 3fache des Multiplikanden zu bilden. Dagegen sind die Tore 12 und 14 vorgesehen, um den Multiplikanden 0-, 1-, 2- oder — lmal vom X-Register in das X*~ bzw. das XS-Register zu übertragen. In der vorliegenden Erfindung wird daher der dem 3fachen Multiplikanden entsprechende Wert dadurch gebildet, daß der Multiplikand vom aufgelaufenen Teilprodukt einmal abgezogen wird, das neue Teilprodukt um vier Binärstellen nach rechts verschoben und der Multiplikand sodann bei der nächsten Addition einmal addiert wird. Das nachstehende Beispiel zeigt die Bildung des 3fachen Wertes eines Multiplikanden mit dem Wert 7.
0110001 = Produkt
Multiplikator = 00111 Multiplikand = 00111
Beispiel 2
In diesem Fall werden die ersten beiden Multiplikatorstellen, nämlich 11, abgetastet. Diese beiden Stellen stellen den Binärwert der Dezimalzahl 3 dar, so daß das erste Teilprodukt 3-7 = 21 ist. Als zweites Stellenpaar des Multiplikators werden die Binärstellen 01 abgetastet; das zweite Teilprodukt ist somit 1 · 7. Wie aus den Beispielen zu ersehen ist, sind die Resultate in beiden Fällen gleich, obwohl im Beispiel 2 nur zwei Additionen gegenüber vier Additionen im Beispiel 1 erforderlich sind.
Das zweite Beispiel zeigt, welche Aufgabe die in F i g. 1 gezeigten ß-Abtasteinrichtungen 8 und 10 haben. Bei jedem iterativen Zyklus der Multiplizieroperation tastet die erste ^-Abtasteinrichtung die zwei in den niedrigstwertigen Stufen des ß-Registers befindlichen Multiplikatorstellen und die zweite ß~Abtasteinrichtung die beiden in den Binärstufen 22 bzw. 23 des ß*-Registers befindlichen Multiplikatorstellen ab. Bei jedem iterativen Zyklus werden vom Multiplizier-Steuerwerk Befehlssignale erzeugt, wodurch der Inhalt des ß-Registers in das ß*-Register übergeführt und ß* sodann in das ß-Register mit einer Verschiebung um vier Stellen nach rechts zurückgeleitet wird. Die erste Q-Abtasteinrichtung tastet also beim ersten iterativen Zyklus die beiden niedrigsten Stellen des Multiplikators und bei den darauffolgenden Zyklen jeweils die im Wechsel aufeinanderfolgenden höherwertigen Stellenpaare ab. Die zweite ß-Abtasteinrichtung hat dagegen die Aufgabe, in jedem Zyklus jeweils ein Stellenpaar der von der ersten ß-Abtasteinrichtung nicht abgetasteten Multiplikatorstellenpaare abzutasten.
Bei jedem Abtasten eines Multiplikatorstellenpaares durch die erste ß-Abtasteinrichtung erzeugt diese ein Signal, das anzeigt, ob der Multiplikand 0-, 1-, 2- oder —lmal in das X*-Register als Teilprodukt übertragen werden soll. In der gleichen Weise erzeugt die zweite Q-Abtasteinrichtung bei jeder Abtastung eines Multiplikatorstellenpaares ein Signal, welches anzeigt, ob der Multiplikand 0-, 1-, 2- oder — lmal von X nach XS als Teilprodukt übergeführt werden soll.
30 1000 Ein-Komplement des Multiplikanden
111000 Ein-Komplement um zwei Stellen verschoben (Vorzeichen weitergeleitet)
Olli Multiplikand lmal
Tloioioo
I -—■ *· 1 Endübertrag
010101 Produkt
Beispiel 3
Bei diesem Beispiel wird zunächst das Ein-Komplement des Multiplikanden gebildet. Dieses Komplement wird um zwei Binärstellen nach rechts verschoben, worauf der Multiplikand einmal zu dem verschobenen Komplement addiert wird. Natürlich entspricht das Addieren des Komplementes einer Zahl dem Subtrahieren des nichtkomplementierten Wertes dieser Zahl. Zu beachten ist, daß das Vorzeichen des Komplementwertes in die Stellen eingegeben wird, aus denen der Komplementwert werschoben wird. Zu beachten ist ferner, daß bei der Addition ein Übertrag von der höchstwertigen Stelle erzeugt wird, der zur niedrigstwertigen Stelle des Ergebnisses addiert werden muß. Diese Vorgänge werden noch weiter unten beschrieben.
Beispiel 4 zeigt, welche Aufgabe die ß-Abtasteinrichtung nunmehr zu erfüllen hat. Die beiden von der ersten ß-Abtasteinrichtung abgetasteten Stellen des Multiplikators lauten 11. Der Multiplikand muß also —lmal zum ersten Teilprodukt addiert und lmal übertragen und als nächstes Teilprodukt addiert werden. Die zweite ß-Abtasteinrichtung tastet dagegen das Multiplikatorstellenpaar 01 ab, um das nächste Teilprodukt zu bestimmen; unter Berücksichtigung des Multiplikatorstellenpaares 01 stellt dieses nächste Teilprodukt den einfachen Wert des Multiplikanden dar. Um das richtige Teilprodukt zu erhalten, muß daher die zweite ß-Abtasteinrichtung ein Signal erzeugen, um den im X-Register befindlichen Multiplikanden 2mal in das XS-Register als Teilprodukt zu übertragen, ferner lmal, um die Stellen 01 zu berücksichtigen, und lmal, um den Übertrag von der vorangegangenen Abtastoperation zu berücksichtigen. Unter Benutzung der im Bei-
9 10
spiel 3 angegebenen Zahlenwerte wird diese Opera- Bildung des Multiplikanden (die beiden niedrigst-
tion wie folgt ausgeführt: wertigen Multiplikatorstellen sind 11), Omalige BiI-
0000 dung des Multiplikanden (das nächste Stellenpaar
ist 11, und von der vorhergehenden Abtastung liegt
1000 IX — 1. Teilprodukt 5 ein Übertrag vor) sowie lmalige Bildung des Multi-
1000 1. aufgelaufenes Teilprodukt plikanden (das nächste Stellenpaar ist 00, und von
der zweiten Abtastung liegt ein Übertrag vor).
111000 !.aufgelaufenesTeilproduktver- Hier ist ein weiterer Fall, wo der Multiplikand
schoben (Vorzeichen weitergeleitet) 4mai gebildet werden muß. Man betrachte z. B. den
1110 2X = 2. Teilprodukt i° Multiplikator 001011. Hier lauten die drei Teilprodukte folgendermaßen: — lmalige Bildung des Multiplikanden (die beiden niedrigstwertigen Stellen des
Endübertrag Multiplikators sind 11), — lmalige Bildung des MuI-
110001 49 = Produkt Multiplikator = Olli tiplikanden (das nächste Stellenpaar des Multipli-
• im j 1S kators ist 10 mit einem Übertrag aus der ersten Ab-
Multiplikand - Olli tastoperation) und lmalige Bildung des Multiplikanden (die nächsten beiden Stellen sind 00, und
Beispiel 4 aus der zweiten Abtastoperation liegt ein Übertrag
vor).
Wie die obenstehende Beschreibung zeigt, erhält ao In gleicher Weise erhält die zweite g-Abtastein-
die erste g-Abtasteinrichtung Multiplikatorstellen- richtung Multiplikatorstellenpaare vom g*-Register
paare vom g-Register und UbertragssignaleC2 von sowie Übertragssignale Cl von der ersten g-Abtast-
der zweiten g-Abtasteinrichtung uncj erzeugt eines einrichtung und erzeugt eines der Signale »X nach
der Signale »X nach X*«, »X' nach X*« oder »X XS«, »X' nach XS1« oder »X nach XS (Ll)«, welche
nach X* (Ll)«, welche anzeigen, daß das Teil- 25 anzeigen, daß das Teilprodukt IX, —IX oder 2X
produkt IX, —IX oder 2X ist. Ist das Teilprodukt ist. Ist das Teilprodukt OX, werden diese Signale
OX, werden die vorstehenden Signale nicht erzeugt. nicht erzeugt. Durch die von der zweiten ß-Abtast-
Durch die von der ersten g-Abtasteinrichtung er- einrichtung erzeugten Signale werden die Tore 14
zeugten Signale werden die Tore 12 »X nach X*« »X nach XS« gesteuert, um den Inhalt des X-Regi-
geöffnet, um den Inhalt des X-Registers in das X*- 30 sters in das XS-Register, den Komplementwert dieses
Register, den Komplementwert dieses Inhalts von Inhalts nach XS oder den nichtkomplementierten
X nach X* oder den nichtkomplementierten Inhalt Inhalt nach XS mit einer Verschiebung um eine
von X nach X* mit einer Verschiebung um eine Bi- Binärstelle nach links zu überführen,
närstelle nach links zu übertragen. Außerdem wird Die unter dem Einfluß der Signale der ersten und
von der ersten g-Abtasteinrichtung noch ein Über- 35 zweiten g-Abtasteinrichtung in die Register X* und
tragssignalCl an die zwei g-Abtasteinrichtungen XS ausgeblendeten Teilprodukte werden von den
stets dann übertragen, wenn als Teilprodukt das Halbsubtrahierern^4*ß* und AB abwechselnd zum
— !fache des Multiplikanden festgestellt wird. aufgelaufenen Teilprodukt addiert.
Das Übertragssignal Cl muß von der ersten g-Ab- Das aufgelaufene Teilprodukt, welches durch Diftasteinrichtung aber auch noch in einem anderen 40 ferenz- und Borgerbits in den Registern A und B Fall erzeugt werden. Man betrachte z. B. den Multi- dargestellt wird, wird dem Halbsubtrahierer A*B* plikator 001111. Die beiden niedrigstwertigen Stellen kontinuierlich zugeführt. Ebenso wird das imX*-Redes Multiplikators sind 11 und erfordern damit, daß gister befindliche Teilprodukt dem Subtrahierer der Multiplikand — lmal subtrahiert und ein Über- A*B* zugeleitet. In der dritten Phase eines jeden tragssignal erzeugt wird, um den Multiplikanden im 45 Zyklus wird das Resultat vom Halbsubtrahierer in nächsten Zyklus lmal zu addieren. Das nächste MuI- das Differenzbitregister A * und das für die Borgertiplikatorstellenpaar ist jedoch gleichfalls 11. Wird bits vorgesehene Register B* übertragen. Der HaIbder Übertrag zu 11 addiert, so ergibt sich als subtrahierer führt eigentlich eine Halbaddition aus; Summe 4, womit angedeutet wird, daß der Multi- da seine Logik jedoch subtraktiv ist, wird er als plikand als zweites Teilprodukt 4mal gebildet wer- 50 Halbsubtrahierer bezeichnet. Er halbsubtrahiert den den muß. In der vorliegenden Erfindung kann der Komplementwert des Inhalts des X*-Registers vom Multiplikand zwar nicht direkt 4mal gebildet werden, Inhalt des A -Registers und halbsubtrahiert sodann doch läßt sich dasselbe Resultat erzielen, wenn man die im ß-Register befindlichen Borgerbits von diesem den Multiplikanden in einem Zyklus Omal addiert Resultat. Das vom Halbsubtrahierer gebildete aufge- und im nächsten Zyklus lmal addiert, nachdem das 55 laufene Teilprodukt stellt eine Reihe von Differenzaufgelaufene Teilprodukt um zwei Binärstellen nach bits sowie eine Reihe von Summenbits dar, welche in rechts verschoben worden ist. Wenn also beim Ab- das A*- bzw. #*-Register übertragen werden,
tasten des zweiten Multiplikatorstellenpaares festge- Das in den Registern/!* und B* befindliche aufstellt wird, daß beide Stellen 1 sind und ein Über- gelaufene Teilprodukt wird dem Halbsubtrahierer trag von der vorangegangenen Abtastung vorliegt, so 60 AB kontinuierlich zugeführt, der wie der Halbsubblendet die g-Abtasteinrichtung den Multiplikanden trahierer.<4*.B* arbeitet. Ebenso wird das im XS-Renicht an eines der Teilproduktregister aus, sondern gister enthaltene Teilprodukt dem Halbsubtrahierer erzeugt lediglich ein Übertragssignal, welches dann AB kontinuierlich zugeleitet. In der ersten Phase bei der nächsten Abtastung berücksichtigt wird. Im eines jeden Zyklus wird das Resultat vom Halbsubvorliegenden Fall, in dem der Multiplikator 001111 65 trahierer in das Differenzbitregister A und das für ist, werden drei Abtastoperationen ausgeführt, wo- die Borgerbits vorgesehene Registers geleitet. In durch die Bildung von drei Teilprodukten veranlaßt einem iterativen Zyklus werden also zwei Halbsubwird. Diese Teilprodukte lauten wie folgt: — lmalige traktionen ausgeführt, wobei die eine Halbsubtrak-
tion vom Halbsubtrahierer .4*5* in der dritten Phase und die andere vom Halbsubtrahierer AB in der ersten Phase ausgeführt wird.
Würde man die Differenz- und die Borgerbits nach jeder Halbsubtraktion zwecks Bildung der richtigen Binärdarstellung des aufgelaufenen Teilproduktes addieren, so müßte man für die Weitergabe der Borgerbits ziemlich viel Zeit vorsehen. Gemäß der vorliegenden Erfindung wird dies dadurch vermieden, daß die Borgerbits nur eine Stelle weiter nach links übertragen und dann beim Addieren des nächsten Teilproduktes miteingefügt werden. Die Weitergabe der Borgerbits nach links kann während der Übertragung vom Z?*-Register in den Halbsubtrahierer AB sowie bei der Übertragung vom 5-Register zum Halbsubtrahierer A *B* erfolgen und erfordert keinen zusätzlichen Zeitaufwand.
Tabelle 1 zeigt die Gruppierung der dem Halbsubtrahierer AB zugeführten Eingangssignale, während Tabelle 2 die Eingangssignalgruppierung für den Halbsubtrahierer A*B* zeigt.
Tabelle 1
Halbsubtrahierer
AB 35 34 33 32 . . . 5 4 3 2 1 0
A* 36 36 35 34 . . . 7 6 5 4 3 2
B* 36 35 34 33 . . . 6 5 4 3 2 1
XS 35 34 33 32 . . . 5 4 3 2 1 0
A 33 32 31 30 . . . 3 2 1 0 37 36
B 33 32 31 30 . . . 3 2 1 0 36 35
Tabelle 2
Halbsubtrahierer
A*B* 35 34 33 32
A 35 34 33 32
B 34 33 32 31
X* 35 34 33 32
5 4 3 2 10
5 4 3 2 10
4 3 2 1 0 36
5 4 3 2 10
A* 35 34 33 32 .
B* 35 34 33 32 .
5 4 3 2 10 5 4 3 2 10
Wie Tabelle 1 zeigt, werden die Differenzbits eines im >4*-Register befindlichen aufgelaufenen Teilproduktes dem Halbsubtrahierer AB mit einer Verschiebung um zwei Binärstellen nach rechts zugeführt, während das im XS-Register befindliche Teilprodukt dem Halbsubtrahierer ohne Verschiebung zugeleitet wird. Dies ergibt die Verschiebung der aufgelaufenen Teilprodukte nach rechts, nachdem diese vom Subtrahierer A*B* gebildet sind. Tabelle 1 zeigt außerdem, daß die im B*-Register befindlichen Borgerbits eines aufgelaufenen Teilproduktes dem Halbsubtrahierer AB mit einer Verschiebung um eine Binärstelle nach rechts zugeleitet werden. Da der Inhalt des yi*-Registers während der Übertragung um zwei Binärstellen, der Inhalt des !^-Registers dagegen nur um eine Stelle nach rechts verschoben wird, ergibt sich somit, daß der Inhalt des 5*-Registers gegenüber dem Inhalt des yi*-Registers effektiv um eine Stelle nach links verschoben wird. Dadurch werden die im 5*-Register enthaltenen Borgerbits eine Stelle nach links weitergegeben.
Wie die Tabelle 1 außerdem zeigt, werden die Ausgangssignale des Halbsubtrahierers AB den Registern A und B mit einer Verschiebung um zwei Binärstellen nach rechts zugeleitet, wodurch während eines jeden iterativen Zyklus die zweite Verschiebung des aufgelaufenen Teilproduktes nach rechts erfolgt. Aus Tabelle 2 ist ersichtlich, daß der Inhalt sämtlicher Stufen der Register X* und A den entsprechenden Stufen des Halbsubtrahierers A*B* zugeleitet wird. Die vom Halbsubtrahierer AB gebildeten Borgerbits der aufgelaufenen Teilprodukte werden während der Übertragung vom .B-Register zum Halbsubtrahierer A*B* um eine Binärstelle nach links verschoben. Dadurch werden diese Borgerbits um eine Binärstelle weitergegeben.
Tabelle 1 zeigt ferner, daß der Inhalt der Stufe A*36 den beiden Stufen 35 und 34 des Halbsubtrahierers AB zugeführt wird, während der Inhalt der Stufet* 36 in die Stufe 35 gelangt. Da der Inhalt des .^-Registers um zwei Binärstellen nach rechts und der Inhalt des 2?*-Registers um eine Stelle nach rechts bei der Übertragung von den Registern A* und B* verschoben wird, müssen Vorkehrungen getroffen werden, um das Vorzeichen der Zahlen weiterzuleiten. Als Beispiel soll die negative Zahl —16 betrachtet werden. Als Ein-Komplement wird diese Zahl durch die Binärbits 101111 dargestellt, die in ein sechsstelliges Register eingespeichert werden. Nimmt man nun an, daß der Inhalt des Registers um zwei Stellen nach rechts verschoben wird und die niedrigstwertigen Bits dabei verlorengehen, so befindet sich die Zahl 001011 = 11 ohne Vorzeichen im Register. Da eine Verschiebung um zwei Binärstellen nach rechts gleichbedeutend mit »geteilt durch 4« ist, ist also das Resultat ohne Übertragung des Vorzeichens falsch. Transportiert man dagegen
das Vorzeichen in die durch die Verschiebung frei gewordenen Stellen des Registers, so lautet das Resultat 111011 = —4. Dieses Ergebnis ist richtig, da —16:4 = —4.
Das Vorzeichen des Resultates, das man erhält, wenn man ein das —lfache des Multiplikanden darstellende Teilprodukt zu einem um zwei Stellen nach rechts verschobenen aufgelaufenen Teilprodukt addiert, ist stets plus. Dagegen ist das Vorzeichen des Resultates minus, wenn das Teilprodukt 0 oder ein positives Vielfaches des Multiplikanden ist. Da die Q-Abtasteinrichtungen bestimmen, ob ein Vielfaches des Multiplikanden zum aufgelaufenen Teilprodukt zu addieren oder der Multiplikand lmal zu subtrahieren ist, lassen sich diese Einrichtungen somit zur Bestimmung des Vorzeichens verwenden.
Die erste ^-Abtasteinrichtung ist mit der ersten Endborgerschaltung 40 verbunden und stößt diese Schaltung stets dann an, wenn festgestellt wird, daß das Ofache oder ein positives Vielfaches des Multiplikanden zu dem im Halbsubtrahierer A*B* befindlichen aufgelaufenen Teilprodukt addiert werden muß. Das Ausgangssignal der Endborgerschaltung wird den Stufend*36 und 5*36 zwecks Einspeicherung des zu erwartenden negativen Vorzeichens des Resultates zugeleitet.
In gleicher Weise stößt die zweite ß-Abtasteinrichtung die Endborgerschaltung 42 stets dann an, wenn sie feststellt, daß das Ofache oder ein positives Vielfaches des Multiplikanden zu dem im Halbsubtrahierer AB befindlichen aufgelaufenen Teilprodukt addiert werden muß. Das Ausgangssignal der zweiten Endborgerschaltung wird in die Stufen A 35, Λ(34 und Β 34 übergeführt, die sonst infolge der
während der Übertragung vom Halbsubtrahierer AB zu den Registern A und B stattgefundenen Verschiebung nach rechts leer blieben.
Von den Endborgerschaltungen 40 und 42 werden außerdem Endborgerbits in die Vollsubtrahierer 32 bzw. 34 geleitet. Zu beachten ist, daß bei der während der Übertragung in den Halbsubtrahierer AB erfolgenden Rechtsverschiebung der im /4*-Register befindlichen Differenzbits des Teilproduktes die beiden niedrigstwertigen Ziffernstellen A* 01 und /1*00 verlorengehen. Diese beiden Ziffern stellen zwei Ziffern des Produktes dar, bevor von ihnen bestimmte Borger abgezogen werden.
Der Vollsubtrahierer 32 erhält diese Ziffern und zieht von ihnen die entsprechenden Borger ab. um bei jedem iterativen Zyklus zwei Produktziffern sowie ein Borgerbit zu bilden. Die Produktziffern werden in das erste ß-Pufferregister 36 übertragen. Wird dann der Inhalt des ß*-Registers mit einer Verschiebung um vier Stellen nach rechts nach Q übertragen, so werden die im ersten β-Pufferregister befindlichen Ziffern in die Stufen β 33 und β 32 abgespeichert, die sonst infolge der Verschiebung leer blieben. Das Borgerbit B1 wird an den Vollsubtrahierer 34 übertragen.
Die von den Stufen/4*01 und A*00 abgezogenen Borger stellen die Borger der Stufe B* 00 und der ersten Endborgerschaltung 40 sowie den Borger 2 vom zweiten Q-Pufferregister dar. Der in der Stufe B* 00 befindliche Borger wird um eine Stelle nach links verschoben und von der Stufet* 01 abgezogen. Der Borger der ersten Endborgerschaltung 40 sowie der Borger 2 werden beide von der niedrigstwertigen Stufet*00 subtrahiert.
Das Signal der ersten Endborgerschaltung ist dasselbe Signal wie das Vorzeichensignal, da bei einem subtraktiven Akkumulator stets dann ein Endborger erforderlich ist, wenn das Teilprodukt das 0-, 1- oder 2fache des Multiplikanden ist, während kein Endborger notwendig ist, wenn das Teilprodukt das —lfache des Multiplikanden ist. Zu beachten ist, daß der Halbsubtrahierer A*B* eine Halbsubtraktion und keine "Vollsubtraktion durchführt, so daß Vorkehrungen für den Endborger getroffen werden müssen, indem das Ausgangssignal der ß-Abtasteinrichtungen abgetastet und die Endborgerschaltung 40 eingestellt wird, wenn das Teilprodukt einen anderen Wert als das —lfache des Multiplikanden aufweist.
Der Borgerimpuls 2 läßt sich am besten zunächst an Hand des folgenden Beispiels erklären, aus dem die Arbeitsweise des Vollsubtrahierers 32 ersichtlich wird. Es soll angenommen sein, daß die Stufe A*01 und der Borgerimpuls 2 beide 0 sind, während die Stufen A*00, ß*00 und die Endborgerschaltung 40 sämtlich eine »1« enthalten.
Beispiel 5
Borger
1 21
Borger 1
1 —
0 0 1 <-
—► 1 1 0 <-
0 +-
1
t
A* 01
A* 00
5*00
1. Endborgerschaltung Borger 2
232
Q 33
Der Impuls der ersten Endborgerschaltung 40 sowie der Borgerimpuls 2 werden von der Stufe A*00 abgezogen und ergeben ein 0-Signal von der niedrigsten Stufe des Subtrahierers. Dieser Wert wird in die niedrigste Stufe des ersten ß-Pufferregisters übergeführt, um von hier aus in die Stufe β 32 geleitet zu werden. Der Inhalt der Stufe B* 00 wird von der ίο Stufe A* 01 abgezogen; das Ergebnis ist eine »1«, die in die höchstwertige Stufe des ersten ß-Pufferregisters zwecks Weiterleitung an die Stufe β 33 übertragen wird. Die Subtraktion »ß* 00 — A* 01« ergibt einen Borgerimpuls 1, welcher anzeigt, daß der Gesamtwert der Stufen A*01 und A*00 kleiner ist als der Gesamtwert der von ihnen abgezogenen Überträge. Der Borgerimpuls 1 wird dann dem Vollsubtrahierer 34 zugeleitet und von dessen niedrigster Stufe bei der Bildung des nächsten Produktziffernpaares abgezogen.
Die Produktziffernpaare werden abwechselnd von den Vollsubtrahierern 32 und 34 gebildet. Der Subtrahierer 34 tastet die StufenA37, A36 und A35 ab, in denen sich die bei der Übertragung von den Registern A und B zum Halbsubtrahierer A*B* verlorengegangenen niedrigstwertigen Ziffern befinden. Der Subtrahierer zieht B35 von A 37 ab; außerdem subtrahiert der Subtrahierer das Signal der zweiten Endborgerschaltung 42 sowie den Borgerimpuls 1 von der Stufe A 36. Das Ergebnis dieser Subtraktion ist ein Produktziffernpaar sowie ein Borgerimpuls 2, die in das zweite ß-Pufferregister 38 geleitet werden. Mit der Übertragung des Inhalts des ß-Registers in das ß*-Register werden die Produktziffern sodann in die Stufen ß*35 und ß*34 geleitet. Der Borgerimpuls 2 wird dem Vollsubtrahierer 32 zugeleitet, während dieser das nächste Produktziffernpaar bildet. Zusammengefaßt kann festgestellt werden, daß die erste ß-Abtasteinrichtung bei jedem iterativen Zyklus zwei Multiplikatorziffern aus den Stufen β 00 und β 01 sowie ein Übertragssignal C 2 von der zweiten ß-Abtasteinrichtung abtastet und die Übertragung eines Vielfachen des Multiplikanden als ein Teilprodukt vom Z-Register in das X*-Register steuert. Der Halbsubtrahierer A*B* halbaddiert das Teilprodukt zu dem ihm von den Registern A und B zugeleiteten aufgelaufenen Teilprodukt. Das sich ergebende aufgelaufene Teilprodukt besteht aus einer Reihe von Differenzziffern und einer Reihe von Borgerbits, die sich im A*- bzw. B*-Register befinden. Der erste Vollsubtrahierer spricht auf die beiden niedrigstwertigen Differenzziffern sowie auf gewisse Borgerbits an und erzeugt zwei Produktziffern, die im ersten ß-Pufferregister gespeichert werden.
Bei jedem iterativen Zyklus tastet die zweite ß-Abtasteinrichtung zwei Multiplikatorstellen aus den Stufen ß* 02 und ß*03 sowie ein Übertragssignal Cl von der ersten ß-Abtasteinrichtung ab und steuert die Übertragung eines Vielfachen des Multiplikanden als Teilprodukt vom X-Register in das XS-Register. Im Halbsubtrahierer AB wird das Teilprodukt sodann zu dem aufgelaufenen Teilprodukt halbaddiert, welches dem Halbsubtrahierer von den Registern A* und B* zugeführt wurde. Das sich aus dieser Halbaddition ergebende aufgelaufene Teilprodukt stellt eine Serie von Differenzbits sowie eine Serie von Borgerbits dar, die sich im A- bzw. B-Register befinden. Der zweite Vollsubtrahierer spricht
auf die beiden niedrigstwertigen Differenzziffern sowie auf gewisse Borgerbits an und erzeugt zwei Produktziffern, die im zweiten ß-Pufferregister gespeichert werden.
Bei jedem iterativen Zyklus wird der Inhalt des ß*-Registers mit einer Verschiebung um vier Binärstellen nach rechts in das ß-Register übergeführt, wobei die beiden im ersten ß-Pufferregister befindlichen Produktstellen in die Stufen β 33 und β 32 geleitet werden. Ferner wird in jedem iterativen Zyklus der Inhalt des ß-Registers in das ß*-Register ohne Verschiebung übergeführt, wobei diesmal die im zweiten ß-Pufferregister befindlichen Produktziffern in die Stufen Q* 35 und Q* 34 geleitet werden.
Nach Ablauf von neun iterativen Zyklen sind alle 36 Multiplikatorstellen abgetastet und 36 Produktziffern gebildet worden. Das letzte aufgelaufene Teilprodukt befindet sich zu dieser Zeit in den Registern A und B und besteht aus einer Reihe von Differenzziffern und Borgerbits. Die nachstehend beschriebene Multiplizier-Steuereinrichtung veranlaßt die Übertragung des Inhalts der Register^ und B zum Halbsubtrahierer,4*ß*, wo dieser Inhalt zu einem negativen Nullwert des AT*-Registers halbaddiert wird. Das Resultat gelangt in die Register .4* und B* und von hier in die Borgerpyramide und den Hauptaddierer 44. Die im 2?*-Register befindlichen Borgerbits werden nach links weitergegeben und umgewälzt und zu den im .<4*-Register enthaltenen Differenzziffern halbaddiert, um den binären Realwert des Vorzeichens und der 35 hochwertigen Stellen des Produktes darzustellen. Zu beachten ist hier, daß der zweite Vollsubtrahierer bei der Bildung des letzten Produktstellenpaares im letzten iterativen Zyklus unter Umständen ein Borgerbit erzeugen kann. Dieses Borgerbit wird der Borgerpyramide als Endborger zugeführt. Als letzter Schritt im Endkorrekturzyklus werden die 36 hochwertigen Stellen des Produktes vom Hauptaddierer in das ^4-Register übertragen, während sich die 36 niedrigwertigen Ziffern des Produktes im ß*-Register befinden.
Einstell-Steuereinrichtung
Die vorliegende Erfindung läßt sich in einem Datenverarbeitungssystem verwenden, in welchem die Befehle in einer Anzahl von jeweils aus vier Phasen bestehenden Maschinenperioden ausgeführt werden. Die Phasen treten nacheinander auf und werden dabei durch Taktimpulse 1... 4 gesteuert, die von einem (nicht gezeigten) Taktimpulsgenerator erzeugt werden. Als eine solche Taktimpulsquelle kann ein geeigneter, in der Technik bekannter Taktimpulsgenerator verwendet werden, welcher eine Folge von negativen Impulsen erzeugt. Zum Zweck der nachstehenden Beschreibung sei angenommen, daß die Multiplizieroperation in der vierten Maschinenperiode beginnt und die voraufgegangenen Maschinenperioden vom Hauptsteuerwerk zur Entschlüsselung des Multiplizierbefehls und zur Durchführung der üblichen organisatorischen Operationen verwendet werden.
Die Einstell-Steuereinrichtung wird zunächst durch das auf der Ader 200 (F i g. 2) auftretende Befehlssignal »multipliziere« aktiviert. Dadurch wird die in Fig. 2 gezeigte Einstell-Steuereinrichtung in Tätigkeit gesetzt, die sodann die Übertragung des Multiplikators und des Multiplikanden in die Rechenschaltungen veranlaßt, die Vorzeichen der Operanden überprüft und die nötige Komplementbildung veranlaßt, falls diese Vorzeichen negativ sind. Nach Durchführung dieser Operationen wird die Multiplizier-Steuereinrichtung durch die Einstell-Steuereinrichtung in Betrieb gesetzt. Fig. 13a zeigt das Zeitdiagramm für die während der Einstellfolge erzeugten Signale. Dieses Diagramm ist nicht zur Darstellung der Polarität der Signale gedacht, sondern soll lediglich anzeigen, zu welchen Zeiten die einzelnen Signale wirksam sind.
Das Befehlssignal »multipliziere« erscheint auf der Ader 200 während der Maschinenperiode 4 und wird an die NUND-Schaltung Z 202 angelegt. Durch das Anlegen eines Taktimpulses 2 an den zweiten Eingang zur NUND-Schaltung 202 wird diese zur Taktzeit 42 (Maschinenperiode 4, Phase 2) geöffnet und erzeugt somit ein positives Ausgangssignal, welches an den Einstelleingang der Kippschaltung 204 angelegt wird. Das am Rückstellausgang der Kippschaltung 204 auftretende positive Signal gelangt über die Ader 206 zu den Registern A und B, wo es in Verbindung mit einem Taktimpuls 4 die Räumung dieser Register zur Taktzeit 44 veranlaßt. Die am
as Einstell- und Rückstellausgang der Kippschaltung 204 auftretenden Ausgangssignale werden der NUND-Schaltung Z208 bzw. Z210 zugeführt. Diese beiden Tore werden durch einen Taktimpuls 4 zur Taktzeit 44 geöffnet, wodurch die NUND-Schaltung 208 ein positives Ausgangssignal erzeugt, um die Kippschaltung 212 einzustellen. Das Ausgangssignal der NUND-Schaltung ΛΓ208 wird außerdem über die Ader 214 an die Rückstelleingänge der Kippschaltungen 216 und 218 angelegt, welche das Vorzeichen des Multiplikators bzw. des Multiplikanden speichern. Das am Einstellausgang der Kippschaltung 212 auftretende Signal wird im Negator 220 negiert und wird dadurch zum Befehlssignal »räume XS«. Dieses Befehlssignal wird über die Ader 222 an die zweite Q-Abtasteinrichtung angekoppelt, wo es zusammen mit einem Taktimpuls 2 an die Rückstelleingänge zu den Kippschaltungen der ß-Abtasteinrichtung angelegt wird. Das am Rückstellausgang der Kippschaltung 212 auftretende positive Signal gelangt über die Ader 224 an die zweite ß-Abtasteinrichtung, wo es mit einem das Vorzeichen des Multiplikators darstellenden Signal kombiniert wird. Ist der Multiplikator negativ, so werden die Ausblendschaltungen X nach XS von der zweiten ß-Abtasteinrichtung veranlaßt, den Komplementwert des Multiplikators vom Z-Register in das ZS-Register auszublenden. Ist dagegen der Multiplikator positiv, so veranlaßt die zweite ß-Abtasteinrichtung, daß die Ausblendschaltungen X nach XS den Realwert des Multiplikators vom Z-Register in das XS-Register überführen.
Der Einstellausgang der Kippschaltung 212 ist mit einem Eingang zur NUND-Schaltung Z226 verbunden, während der Rückstellausgang dieser Kipp-
schaltung am Eingang zur NUND-Schaltung Z228 anliegt. Diese Tore werden durch einen Taktimpuls 2 gesteuert, so daß die NUND-Schaltung Z226 ein positives Signal erzeugt, um die Kippschaltung 230 einzustellen. Das Ausgangssignal der NUND-Schal-
tung A~226 wird außerdem über die Ader 232 an den Rückstelleingang zur Kippschaltung 204 angelegt, wodurch diese Kippschaltung zur Taktzeit 52 rückgestellt wird.
17 18
Durch die Rückstellung der Kippschaltung 204 steuerung sei angenommen, daß der Multiplikand ein zur Taktzeit 52 erscheint am einen Eingang zur negatives Vorzeichen hat. Die Einstell-Steuereinrich-NUND-Schaltung Z210 ein Signal. Zur Taktzeit54 rung erzeugt daher das Befehlssignal »—XS einerzeugt diese NUND-Schaltung dann ein positives stellen«, wodurch das Komplement des Multipli-Ausgangssignal, um die Kippschaltung 212 rück- 5 kanden in das XS-Register ausgeblendet wird. Anzustellen. Infolge der Rückstellung der Kippschaltung schließend erzeugt die Einstell-Steuereinrichtung das 212 zur Taktzeit 54 tritt an ihrem Rückstellausgang Befehlssignal »XS nach A«, um den Komplementein negatives Signal auf, welches an den einen Ein- wert des Multiplikanden vom XS-Register in das gang zur NUND-Schaltung 228 angelegt wird. Zur ^-Register überzuführen. Das Vorzeichen des Multi-Taktzeit 62 erhält diese NUND-Schaltung einen io plikanden wird sodann durch die Vorzeichenprüf-Taktimpuls 2 und erzeugt somit ein positives Signal, einrichtung durch Abtasten der Stufe Z 35 geprüft, um die Kippschaltung 230 rückzustellen. Ist das Vorzeichen des Multiplikanden negativ, so
Wie oben erwähnt wurde, wird die Kippschaltung erzeugt die Vorzeichenprüfeinrichtung ein Signal, um 230 zu Beginn der Taktzeit 52 eingestellt und zum die Einstell-Steuereinrichtung zur Erzeugung des Ende der Taktzeit 61 rückgestellt. Während dieser 15 Befehlssignals »A nach zu veranlassen, wodurch Zeit gelangt das auf der Ader 238 auftretende posi- das Komplement des Multiplikanden' in das tive Signal vom Rückstellausgang dieser Kippschal- Z-Register eingegeben wird. Wird dagegen bei der rung über die NODER-Schaltung U 234 und den Abtastung festgestellt, daß das Vorzeichen des MuI-Negator 236 zum A-Register. Dieses Befehlssignal tiplikanden positiv ist, so wird von der Vorzeichenwird mit einem Taktimpuls11 kombiniert, um den so prüfeinrichtung nicht das Signal erzeugt, durch Inhalt des ZS-Registers, d. h. den Multiplikator, in welches der für die Multiplizierfolge vorgesehene das A -Register zu überführen. Taktgeber das Befehlssignal »A nach Z« erzeugt. Im
Durch die Einstellung der Kippschaltung 230 zur Z-Register befindet sich daher der Realwert, d. h. der Taktzeit 52 wird ein Eingang zur NUND-Schaltung nichtkomplementierte Wert des Multiplikanden. Dies 3"24O angesteuert. Gleichzeitig wird dieses Tor auch as geschieht wie folgt:
durch den in der Stufe X 35 enthaltenen Wert an- Das am Einstellausgang der ' Kippschaltung 244
gesteuert. Dieser Wert stellt das Vorzeichen des auftretende Signal steuert einen Eingang zur NUND-Multiplikators dar. Zur Taktzeit 54 wird der dritte Schaltung Ά 256 an. Zur Taktzeit 62 wird diese Eingang zur NUND-Schaltung Ά 240 durch einen NUND-Schaltung geöffnet und stellt die Kippschal-Taktimpuls angesteuert, so daß dieses Tor ein posi- 30 tung 258 ein. Das am Einstellausgang dieser Kipptives Signal erzeugt, um die das Vorzeichen des schaltung auftretende negative Signal wird im Multiplikators speichernde Kippschaltung 216 ein- Negator 260 invertiert, um zu den Befehlssignalen zustellen, sofern die Stufe X35 eine »1« enthält und »räume und »XS nach A<s. zu werden. Das damit einen negativen Multiplikator anzeigt. Befehlssignal »räume gelangt über die Ader 262
Das am Einstellausgang der Kippschaltung 230 35 in das /4-Register, wo es mit einem Taktimpuls 4 auftretende Signal wird außerdem an einen Eingang kombiniert wird, um die Kippschaltungen des zur NUND-Schaltung IT242 angelegt. Dieses Tor -^-Registers zur Taktzeit 64 zu räumen. Das Befehlswird außerdem durch einen Taktimpuls 4 angesteuert signal »XS nach tritt auf der Ader 264 auf und und erzeugt zur Taktzeit 54 ein positives Signal, um gelangt an die Eingangstore des ^-Registers, wo es die Kippschaltung 244 einzustellen. Durch die Ein- 40 zur Taktzeit 71 die Übertragung des Inhalts des stellung dieser Kippschaltung 244 werden die ZS-Registers in das ^-Register veranlaßt.
Befehlssignale »räume XS«, »räume ß«, »räume Z«, Das am Einstellausgang der Kippschaltung 258
»A nach ß« und »—XS einstellen« auf den Adern auftretende Signal steuert außerdem die NUND-246, 248, 250,252 bzw. 254 erzeugt. Das Befehls- Schaltung Z 266 an, die darüber hinaus einen Taktsignal »räume XS« wird der zweiten ß-Abtastein- 45 impuls 4 sowie ein Signal erhält, welches das in der richtung zugeführt und dort mit einem Taktimpuls 2 Stufe X 35 gespeicherte Vorzeichen des Multiplikankombiniert, um die Kippschaltungen dieser Abtast- den bezeichnet. Ist das Vorzeichen des Multiplieinrichtung zur Taktzeit 62 zu räumen. Das Befehls- kanden negativ, so ist auch die Ader X 35 negativ, signal »räume Q« gelangt über die Ader 248 in das so daß zur Taktzeit 64 die das Vorzeichen des Multi-Ö-Register, wo es mit einem Taktimpuls 2 kombi- 50 plikanden speichernde Kippschaltung 218 eingestellt niert wird, um die Kippschaltungen des Q-Registers wird. Durch die Einstellung dieser Kippschaltung rückzustellen. Das Befehlssignal »räume Z« tritt auf wird die mit dem Einstellausgang verbundene Ader der Ader 250 auf und gelangt in das Z-Register, wo 270 negativ. Diese Ader ist mit einem Eingang zur es zusammen mit einem Taktimpuls 2 die Räumung NUND-Schaltung]?272 verbunden,
der Kippschaltungen des Z-Registers zur Taktzeit 62 55 Durch die Einstellung der Kippschaltung 258 zur veranlaßt. Das Befehlssignal »A nach Q« erscheint Taktzeit 62 wird die NUND-Schaltung Ά 274 geauf der Ader 252 und gelangt an die Eingangstore sperrt und ein Eingang zur NUND-Schaltung ~Ä 216 des Ö-Registers und bewirkt in der dritten Phase der angesteuert. Beide Tore werden durch einen Taktsechsten Maschinenperiode die Ausblendung des impuls 4 abgetastet, so daß zur Taktzeit 64 die Kipp-Multiplikators vom A -Register in das ß-Register. 60 schaltung 278 durch das Ausgangssignal der NUND-Das auf der Ader 254 auftretende Befehlssignal Schaltung Z 276 eingestellt wird. Das am Rückstell- »-XS einstellen« wird an die zweite ß-Abtastein- ausgang der Kippschaltung278 auftretende positive richtung angelegt, um die Ausblendung des Korn- Signal wird zum Befehlssignal »räume K«, welches plementwertes des Z-Registers in das ZS-Register über die Ader 280 übertragen wird, um die Kippzu steuern. Zu beachten ist hier, daß sich der MuI- 65 schaltungen des Iterationszählers zu räumen. Das am tiplikand nunmehr im Z-Register befindet, in das er Rückstellausgang der Kippschaltung 278 auftretende zur Taktzeit 63 übergeführt wurde. Aus Gründen der Signal durchläuft die NODER-Schaltung Ό 282 und Zeitersparnis sowie zum Zwecke der Vorzeichen- steuert einen Eingang zur NUND-Schaltung IT 272
19 20
an. Hat der Multiplikand ein negatives Vorzeichen, beendet; mit Ausnahme der für das Vorzeichen des so ist die Ader 270 negativ, und die NUND-Schal- Multiplikators und des Multiplikanden vorgesehenen tung Ά 272 erzeugt die Befehlssignale »räume X« Kippschaltungen 216 und 218 befinden sich somit und »A nach X« auf den Adern 284 und 286, um sämtliche Kippschaltungen im Rückstellzustand. Die den Multiplikanden aus dem X-Register auszuspei- 5 NUND-Schaltung Z 217 ist mit dem Einstellausgang ehern und in dieses Register den vom ^(-Register der Kippschaltung 216 und dem Rückstellausgang kommenden Komplementwert des Multiplikanden der Kippschaltung 218 verbunden. Die NUND-Schaleinzuspeichern. tungZ219 ist mit dem Einstellausgang der Kipp-
Das Ausgangssignal der NUND-Schaltung 3Γ276, schaltung 218 und dem Rückstellausgang der Kippweiches die Kippschaltung 278 zur Taktzeit 64 ein- io schaltung 216 verbunden. Die Ausgänge beider stellt, wird außerdem über die Ader 288 an den NUND-Schaltungen 3" 217 und 219 liegen an der Rückstelleingang zur Kippschaltung 244 angekoppelt, NODER-Schaltungü221 an, welche ein negatives wodurch diese Kippschaltung rückgestellt wird. Signal erzeugt, wenn die Vorzeichen des Multipli-
Das am Einstellausgang der Kippschaltung 278 kators und des Multiplikanden ungleich sind, woauftretende Signal gelangt über die Ader 290 zu der 15 durch das Produkt negativ wird. Das Ausgangssignal in Fig. 3 gezeigten Multiplizier-Steuereinrichtung. der NODER-SchaltungΌ 221 wird zur Komplement-Durch dieses Signal wird die Multiplizier-Steuerein- bildung des Produktes benutzt, wenn dieses nach richtung in Tätigkeit gesetzt, um die Multiplizier- Durchführung der Multiplikation in den Speicher operation zu steuern. übertragen wird.
Das Einstellausgangssignal der Kippschaltung 278 20 ,,,·,·■ ο · · ι.
wird der NUND-Schaltung Z292 zugeführt, während Multiphzier-Steuereinnchtung
das Rückstellausgangssignal an die NUND-Schaltung Die Multiplizier-Steuereinrichtung ist in Fig. 3
Z 294 angelegt wird. Diese Tore werden außerdem dargestellt. Diese Einrichtung erzeugt die Befehlsvon einem Taktimpuls 2 angesteuert, so daß die signale, durch welche die einzelnen Schaltungen des NUND-Schaltung 292 zur Taktzeit 72 ein positives 25 Rechenwerkes zur Durchführung der Multiplikation Signal erzeugt, um die Kippschaltung 296 einzu- veranlaßt werden. Zum Verständnis der nachfolgenstellen. Das am Einstellausgang der Kippschaltung den Beschreibung wird auf das Zeitdiagramm in 296 auftretende negative Signal wird der Multiplizier- Fig. 13 b verwiesen. Aus diesem Zeitdiagramm sind Steuereinrichtung (Fig. 3) über die Ader 298 zu- die Zeiten ersichtlich, zu denen die sich aus dem geleitet, um die Multiplizierfolge einzuleiten. 30 Betrieb der Multiplizier-Steuereinrichtung ergeben-
Das am Rückstellausgang der Kippschaltung 296 den Befehlssignale wirksam sind. Die Wellenformen auftretende positive Signal wird zu den Befehls- stellen nicht die Polarität der Signale dar, sondern Signalen »ß nach Q*«, »räume A«, »räume ß*« und zeigen lediglich die Zeiten an, zu denen die einzelnen »räume X*«. Das Befehlssignal »räume ß*« wird Befehlssignale wirksam sind.
über die Ader 297 an das ß*-Register übertragen, 35 Wie bereits in Verbindung mit F i g. 2 ausgeführt wo es mit einem Taktimpuls 4 kombiniert wird, um wurde, wird das Befehlssignal »Multipliziereinsteldie Kippschaltungen des ß*-Registers zur Taktzeit lung einleiten« während der Taktzeiten 64 ... 73 er- 74 zu räumen. Das auf der Ader 293 auftretende zeugt. Dieses Befehlssignal gelangt über die Ader290 Befehlssignal »ß nach ß*« wird gleichfalls dem zur NUND-Schaltung Z 300. In der Phase 2 des ß*-Register zugeführt und bewirkt zur Taktzeit 81, 40 siebenten Maschinenzyklus (Taktzeit 72) wird ein daß die Eingangstore die Übertragung des Multipli- Taktimpuls an die NUND-Schaltung 300 angekopkators vom ß-Register in das ß*-Register vor- pelt, so daß dieses Tor ein positives Signal erzeugt, nehmen. Durch diese Übertragung wird der Multi- um die erste Multiplizier-Steuerkippschaltung 302 plikator sowohl in das Q- als auch in das ß*-Register einzustellen. Der Einstellausgang dieser Kippschalübergeführt. Das Befehlssignal »räume tritt auf 45 tung 302 ist mit dem Eingang der NUND-Schaltung der Ader 295 auf und wird dem .4-Register züge- Ά 304 und der Rückstellausgang mit dem Eingang führt, wo es mit einem Taktimpuls 4 kombiniert zur NUND-Schaltung Ά 306 verbunden. Beide Tore wird, um die Kippschaltungen des ^-Registers zur werden durch einen Taktimpuls 4 angesteuert, so Taktzeit 74 zu räumen. Das auf der Ader 299 er- daß die NUND-Schaltung 304 zur Taktzeit 74 ein scheinende Befehlssignal »räume X*« wird dem 50 Ausgangssignal erzeugt, um die zweite Multiplizier-X*-Register zugeführt, wo es mit einem Taktimpuls 4 Steuerkippschaltung 308 einzustellen,
kombiniert wird, um die Kippschaltungen des Durch die Einstellung der ersten Multiplizier-
X*-Registers zur Taktzeit 74 zu räumen. Steuerkippschaltung zur Taktzeit 72 wird das an
Das Ausgangssignal der NUND-Schaltung ^T 292, ihrem Rückstellausgang auftretende positive Signal welches die Kippschaltung 296 einstellt, wird außer- 55 im Negator 310 invertiert und über die Ader 312 der dem dem Rückstelleingang der Kippschaltung 258 ersten ß-Abtasteinrichtung zugeführt. Durch das zugeführt, wodurch diese Kippschaltung zu Beginn Befehlssteuersignal »IX*, 2X*, —X*« wird die der Taktzeit 72 rückgestellt wird. Dadurch wird ein erste ß-Abtasteinrichtung angestoßen, so daß sie den Eingang zur NUND-Schaltung Ά 274 angesteuert und Wert der in den beiden niedrigeren Stufen des gleichzeitig die NUND-Schaltung Z276 gesperrt. 60 ß-Registers befindlichen Multiplikatorstellen ab-Zur Taktzeit 74 durchläuft ein Taktimpuls die tasten kann.
NUND-Schaltung Z 274, um die Kippschaltung 278 Durch die Einstellung der zweiten Multiplizier-
rückzustellen. Dadurch wird ein Eingang zur NUND- Steuerkippschaltung zur Taktzeit 74 wird das an Schaltung Z294 angesteuert und gleichzeitig die ihrem Rückstellausgang auftretende positive Signal NUND-Schaltung Z292 gesperrt. Zur Taktzeit 82 65 im Negator 314 negiert und der zweiten ß-Abtastdurchläuft ein Taktimpuls die NUND-Schaltung einrichtung über die Ader 316 zugeleitet. Das Z 294, um die Kippschaltung 296 rückzustellen. Befehlssteuersignal »1X5, 2X5, —1X5, C« stößt Damit ist die Tätigkeit der Einstell-Steuereinrichtung die zweite ß-Abtasteinrichtung an, so daß diese die
21 22
in den Stufen β* 02 und β* 03 abgespeicherten Ausgangssignal erzeugt, um die zweite Multiplizier-
Multiplikatorstellen abtasten kann. f olge-Kippschaltung 356 einzustellen.
Das am Rückstellausgang der zweiten Multipli- Das positive Rückstellausgangssignal der zweiten
zier-Steuerkippschaltung auftretende Signal gelangt Multiplizierfolge-Kippschaltung wird zu den Befehlsüber die Ader 318 zur NUND-Schaltung Z 320 und 5 Signalen »räume ß*«, »räume AB« und »räume X*«.
sperrt diese, solange die Kippschaltung eingestellt Das Befehlssignal »räume ß*« gelangt über
ist. Das Einstellungsausgangssignal der zweiten MuI- die Ader 358 zum ß*-Register, wo es die Räu-
tiplizier-Steuerkippschaltung wird an die NUND- mung dieses Registers während der vierten Phase
Schaltung 322 angelegt. Dieses Tor erhält außer- einer jeden Periode veranlaßt. Das Befehlssignal
dem in jeder Maschinenperiode einen Taktimpuls 2 io »räume AB« wird den Registern A und B über die
und erzeugt zur Taktzeit 82 ein positives Signal, um Ader 360 zugeführt, wodurch diese Register in der
die dritte Multiplizier-Steuerkippschaltung 324 ein- vierten Phase einer jeden Periode geräumt werden,
zustellen. Das Befehlssignal »räume ß*« wird dem ß*-Register
Das Einstellausgangssignal der dritten Multi- über die Ader 362 zugeführt, wodurch dieses Re-
plizier-Steuerkippschaltung wird über die Adern 326, 15 gister in der vierten Phase einer jeden Periode ge-
328 und 330 dem ersten Vollsubtrahierer, der zweiten räumt wird.
Endborgerschaltung sowie den Eingangstoren der Das Einstellausgangssignal der zweiten Multipli-Stufen34 und 35 des ß*-Registers zugeführt. Von zierfolge-Kippschaltung wird im Negator 364 inder Einstell-Steuereinrichtung wird das Befehlssignal vertiert und wird damit zu den Befehlssignalen »Multiplizierfolge einleiten« während der Taktzeiten 20 »K* nach K«, »ß nach ß*« und »fülle AB«. Das 72 ... 81 auf der Ader 298 erzeugt. Dieses Befehls- Befehlssignal »K* nach wird über die Ader 366 signal wird an die NUND-Schaltung !Z 332 angelegt, dem Iterationszähler zugeführt, wo es die Uberdie von einem Taktimpuls 4 abgetastet wird. Zur führung des Inhalts von K* nach K in der vierten Taktzeit 74 erzeugt die NUND-Schaltung 3Γ 332 ein Phase einer jeden Periode veranlaßt. Das Befehlspositives Signal, um die erste Multiplizierfolge-Kipp- 35 signal »ß nach ß*« gelangt über die Ader 368 an schaltung 334 einzustellen. Gleichzeitig gelangt das die am Eingang des ß*-Registers liegenden Uber-Ausgangssignal der NUND-Schaltung 332 über die tragungstore, um die Überführung des Inhalts des Ader 336 an die zweite und vierte Stufe des ß-Registers in das ß*-Register während der ersten Iterationszählers, um diesen Zähler auf den Dezimal- Phase einer jeden Periode zu veranlassen. Das wert 10 einzustellen. 30 Befehlssignal »fülle AB«, wird über die Ader 370 den
Das Rückstellausgangssignal der ersten Multipli- am Ausgang des zweiten Halbsubtrahierers liegenden
zierfolge-Kippschaltung wird zu den Befehlssignalen Übertragungstoren zugeleitet, um das Resultat der
»räume ß«, »räume XS«, »räume A*B*«, »fülle Halbaddition in die Register A und B während der
A*B*« und »räume K«. Das Befehlssignal ersten Phase einer jeden Periode zu übertragen,
»räume ß« wird über die Ader 338 dem ß-Register 35 Das Einstellausgangssignal der zweiten Multipli-
zugeführt, wodurch dieses Register in der zweiten zierfolge-Kippschaltung wird an die NUND-Schal-
Phase einer jeden Maschinenperiode, in welcher die tung 5Γ 372 angelegt. Das andere Eingangssignal zur
erste Multiplizierfolge-Kippschaltung eingestellt wird, NUND-Schaltung IT 372 ist zu dieser Zeit positiv, da
riickgestellt wird. Das Befehlssignal »räume XS«. ge- sich die erste Multiplizier-Steuerkippschaltung im
langt über die Ader 340 zur zweiten ß-Abtastein- 40 Einstellzustand befindet.
richtung und stellt die Kippschaltungen dieser Ein- Das Einstellausgangssignal der zweiten Multiplirichtung während der zweiten Phase einer jeden zierfolge-Kippschaltung wird der NUND-Schaltung Maschinenperiode zurück. Das Befehlssignal »räume ^¥320 und das Rückstellausgangssignal der NUND- A*B*« gelangt über die Ader 342 zu den Registern Schaltung Ä~374 zugeführt. Die NUND-Schaltung A* und B*, wodurch diese Register in der zweiten 45 ΛΓ320 ist zu dieser Zeit gesperrt, da sich die zweite Phase einer jeden Maschinenperiode geräumt wer- Multiplizier-Steuerkippschaltung im Einstellzustand den. Das Befehlssignal »fülle A*B*« wird dem befindet; ebenso wird die NUND-Schaltung IT374 Halbsubtrahierers*ß* über die Ader344 zugeführt, infolge des positiven Rückstellausgangssignals der wodurch das Resultat der Subtraktion in die Re- zweiten Multiplizierfolge-Kippschaltung gesperrt,
gister A*B* in der dritten Phase einer jeden 50 Nachdem die zweite Multiplizierfolge-Kippschal-Maschinenperiode übergeführt wird. Das Befehls- tung zur Taktzeit 82 eingestellt worden ist, ereignet signal »räume gelangt über die Ader 346 in das sich anschließend in der Multiplizier-Steuereinrich-.K-Register und bewirkt die Rückstellung der Kipp- tung (F i g. 3) so lange nichts, bis sich der Zählerschaltungen dieses Registers in der dritten Phase stand des Iterationszählers auf 2 verringert hat. einer jeden Maschinenperiode. 55 Während dieses Zeitraumes werden die von der
Das Einstellausgangssignal der ersten Multiplizier- Multiplizier-Steuereinrichtung erzeugten Befehlsfolge-Kippschaltung wird in dem Negator 348 negiert Steuersignale durch Taktimpulse gesteuert, um die und wird dadurch zum Befehlssignal »ß* nach β Rechenschaltungen wiederholt zum Durchlaufen (i?4)«. Dieses Befehlssignal gelangt über die Ader eines iterativen Programms zu veranlassen. Bei 350 an die Eingangstore des ß-Registers, wodurch 60 jedem iterativen Zyklus wird der Zählerstand des diese veranlaßt werden, den Inhalt des ß-Registers Iterationszählers um 1 verringert, so daß der Zähler in der dritten Phase einer jeden Maschinenperiode zur Taktzeit 154 (Maschinenperiode 15, Phase 4) in das ß-Register auszublenden. schließlich den Zählerstand 2 erreicht hat. Wie aus
Das Einstellausgangssignal der ersten Multiplizier- der Beschreibung des Iterationszählers noch ersichtfolge-Kippschaltung wird außerdem an die NUND- 65 lieh wird, wird dieser Zustand durch negative Span-Schaltungen 352 und H 354 angekoppelt. An der nungen auf den Adern 1270,1272,1274 und 1276 NUND-Schaltung 352 liegt außerdem ein Takt- mitgeteilt. Diese Adern sind alle mit der NUND-impuls 2 an, so daß dieses Tor zur Taktzeit 82 ein Schaltung 354 verbunden, die außerdem noch ein
23 24
negatives Signal vom Einstellausgang der ersten impuls 2 abgetastet, so daß sie zur Taktzeit 182 ein Multiplizierfolge-Kippschaltung erhält. Während der positives Signal erzeugt, um die zweite Multiplizierzweiten Phase der ersten Maschinenperiode, welche folge-Kippschaltung und die dritte Multiplizierauf diejenige Periode folgt, in der der Iterations- Steuerkippschaltung rückzustellen. Das Ausgangszähler den Wert 2 erreicht hat, wird die NUND- 5 signal der NUND-Schaltung Z 394 wird außerdem Schaltung 354 von einem Taktimpuls abgetastet, zum Befehlssignal »räume zweite Endborger-Kippso daß an ihrem Ausgang ein positives Signal auf- schaltung«, das über die Ader 396 übertragen wird, tritt, wodurch die erste Multiplizier-Steuerkippschal- um die zweite Endborger-Kippschaltung (F i g. 6) tung rückgestellt wird. Durch diese Rückstellung wird rückzustellen.
das Befehlssteuersignal »IX*, 2X*, —X*«, welches io Durch die Rückstellung der zweiten Multiplizierauf der Ader 312 auftritt, unwirksam gemacht. Das folge-Kippschaltung gelangt das an ihrem Rückstellam Rückstellausgang der ersten Multiplizier-Steuer- ausgang auftretende negative Signal zur NUND-kippschaltung auftretende negative Signal durchläuft Schaltung IT 374, die dann zur Taktzeit 183 einen die NUND-Schaltung 372 und wird zum Befehls- Taktimpuls 3 durchläßt, um die dritte Multipliziersignal »X* auf 1 einstellen«. Dieses Befehlssignal 15 folge-Kippschaltung rückzustellen. Die Multiplikawird über die Ader 376 zur ersten ß-Abtasteinrich- tion ist damit beendet, und die sechs Kippschaltuntung übertragen, wo es das Befehlssignal erzeugt, gen der Multiplizier-Steuereinrichtung sind geräumt, welches zur Einspeicherung eines negativen Null- , .
wertes (alles Einsen) in das X*-Register erforder- ß-undß -Register
Hch ist. ao Die Register β und ß* sind in Fig. 4a und 4b
Durch die Rückstellung der ersten Multiplizier- dargestellt. Das ß-Register besteht aus 36 Stufen,
Steuerkippschaltung wird die NUND-Schaltung die mit β 00... β 35 bezeichnet sind. Die Stufen
Ά 306 angesteuert, so daß dieses Tor den nächsten β 05 ... β 30 sind in der Zeichnung weggelassen, da
Taktimpuls 4 durchläßt, um die zweite Multiplizier- sie mit der Stufe β 31 übereinstimmen. Das ß-Re-
Steuerkippschaltung zur Taktzeit 164 rückzustellen. as gister enthält zunächst den Multiplikator; während
Durch diese Rückstellung wird das auf der Ader der Multiplikation wird dieser Multiplikator jedoch
316 auftretende Befehlssteuersignal »1X5, 2X5, nach rechts verschoben, und das ß-Register dient
XS, C« unwirksam gemacht. Das am Rückstellaus- dann zur Aufnahme von Produktstellen,
gang der zweiten Multiplizier-Steuerkippschaltung Jede Registerstufe enthält eine Kippschaltung 400
auftretende negative Signal gelangt über die Ader 318 30 mit einem Einstell- und einem Rückstelleingang. Auf
zur NUND-Schaltung Z320, die zu dieser Zeit ein den Adern 248 und 338 treten Befehlssignale
weiteres Signal erhält, da die zweite Multiplizierfolge- »räume ß« auf, die der NODER-Schaltung Ü402
Kippschaltung eingestellt ist. Zur Taktzeit 173 wird zugeführt werden. Das Ausgangssignal der NODER-
die NUND-Schaltung Ά 320 durch einen Taktimpuls Schaltung (7402 wird an die NUND-Schaltung Ά 404
abgetastet; durch das Ausgangssignal dieses Tores 35 angelegt, die außerdem einen Taktimpuls 2 erhält,
wird dann die dritte Multiplizierfolge-Kippschaltung Die NUND-Schaltung IT 404 erzeugt daher zur Takt-
378 eingestellt. Das am Rückstellausgang der dritten zeit 62 der Einstellfolge sowie in den zweiten Phasen
Multiplizierfolge-Kippschaltung auftretende positive der Maschinenperioden 8 ... 17 ein positives Signal,
Signal sperrt die NUND-Schaltung IT 380, welche in das an den Rückstelleingang sämtlicher Kippschal-
der zweiten Phase einer jeden Maschinenperiode die 40 tungen 400 angelegt wird.
Befehlssignale »räume zweites Pufferregister« und Unmittelbar nach der Rückstellung dieser Kipp-
»räume zweite Übertrags-Kippschaltung« auf den schaltungen wird das ß-Register in der dritten Phase
Adern 382 und 384 erzeugt hatte. mit Information gefüllt. Diese Information kann vom
Das positive Rückstellausgangssignal der dritten .<4-Register, ß-Register oder dem ersten ß-Puffer-Multiplizierfolge-Kippschaltung wird zu den Befehls- 45 register kommen. Während der Einstellfolge tritt das Signalen »A auf 1 einstellen« und »Addierer nach A«. Befehlssignal »A nach ß« auf der Ader 252 auf und Durch das Befehlssignal »A auf 1 einstellen«, welches wird im Negator 406 invertiert, bevor es der NUND-dem A -Register über die Ader 386 zugeführt wird, Schaltung IT 408 einer jeden Stufe des ß-Registers werden sämtliche Kippschaltungen dieses Registers zugeführt wird. Diesem in jeder Registerstufe voreingestellt. Das Befehlssignal »Addierer nach ge- 5° gesehenen Tor werden Informationssignale von der langt über die Ader 388 an eine Gruppe von Aus- entsprechenden Stufe des A-Registers über eine gangstoren des Hauptaddierers, um den Inhalt des Ader 410 kontinuierlich zugeführt. Außerdem liegt Addierers in das yi-Register zu überführen. an diesen Toren ein auf der Ader 412 auftretender
Das am Einstellausgang der dritten Multiplizier- Taktimpuls 3 an, so daß der Multiplikator zur Taktfolge-Kippschaltung auftretende negative Signal ist 55 zeit 63 der Einstellfolge vom Λ-Register über die das Befehlssignal »52 zum Addierer«. Dieses Be- Tore 408 in das ß-Register übergeführt wird,
fehlssignal wird einem Tor am Ausgang der zweiten Das ß-Register kann außerdem Information vom Borger-Kippschaltung (Fig. 11) zugeführt, wodurch ß*-Register mit einer Verschiebung um vier Binärdieses Tor öffnet und ein eventuell in der zweiten stellen nach rechts erhalten. Zu diesem Zweck entBorger-Kippschaltung gespeichertes Borgerbit in den 60 halten die Stufen β 00... β 31 jeweils eine NUND-Addierer überführt. Schaltung Ä~ 414, deren einer Eingang mit einer
Das Einstellausgangssignal der dritten Multiplizier- Ader 418 verbunden ist, die von der vier Stellen
folge-Kippschaltung wird außerdem an die NUND- weiter nach links liegenden Stufe des ß*-Registers
Schaltungen IT 392 und IT 394 angelegt. Die NUND- kommt. Der Ausgang der NUND-Schaltung Z414
Schaltung Ά 392 wird durch einen Taktimpuls 4 ab- 6s ist mit dem Einstelleingang der Kippschaltung 400
getastet, wodurch zur Taktzeit 174 die erste Multi- verbunden. Die NUND-Schaltungen IT 414 werden
plizierfolge-Kippschältung rückgestellt wird. Die außerdem von dem auf der Ader 412 auftretenden
NUND-Schaltung IT 394 wird durch einen Takt- Taktimpuls 3 und dem Ausgangssignal des Negators
25 26
416 angesteuert. Von der vierten Phase der siebenten in den anderen Stufen dieses Registers nicht vor-
Maschinenperiode bis zur dritten Phase der 17. Ma- gesehen sind. Die vom ersten Vollsubtrahierer ge-
schinenperiode erhält der Negator 416 kontinuierlich bildeten und in das zweite ß-Pufferregister über-
das Befehlssignal »ß* nach β (i?4)«. Die Tore 414 geführten beiden Produktziffern treten auf den Adern öffnen somit in der dritten Phase der Maschinen- 5 »ß*34 einstellen« und »ß*35 einstellen« auf, so-
perioden 8 ... 17 und übertragen die Information des lange sich die Produktziffern im zweiten ß-Puff er-
ß*-Registers in das ß-Register mit einer Verschie- register befinden. Die Ziffer mit dem höheren
bung um vier Binärstellen nach rechts. Stellenwert wird der NUND-Schaltung Ά 434 und die
Die Stufen β 32 und β 33 erhalten zwei der Pro- Ziffer mit dem niedrigeren Stellenwert der NUND-duktziffern, die während der einzelnen iterativen io Schaltung 436 zugeführt. Diese Tore erhalten
Zyklen der Multiplikation gebildet werden. Diese außerdem das Befehlssignal »zweites Pufferregister
Ziffern erscheinen auf den mit dem ersten ß-Puffer- nach ß* 35, 34«, welches auf der Ader 330 auf-
register verbundenen Adern »ß33 einstellen« und tritt, sowie den auf der Ader 440 erscheinenden
»ß 32 Einstellen« und werden der NUND-Schaltung Taktimpuls 1. Während der ersten Phase der Ma- ^T 420 bzw. Ά 422 zugeführt. Der Ausgang der 15 schinenperioden 9... 18 werden daher die beiden
NUND-Schaltung Ά 420 ist mit der Kippschaltung im zweiten Pufferregister gespeicherten Produktziffern
400 der Stufe β 33 verbunden, und der Ausgang der in die Stufen 34 und 35 des ß*-Registers gleichzeitig
NUND-Schaltung Ά 422 liegt an der Kippschaltung mit der Übertragung der Information vom Q-Register
400 der Stufe β 32. Die Tore 420 und 422 werden in das ß*-Register überführt.
außerdem vom Ausgangssignal des Negators 416 und ao Zu beachten ist, daß jede Übertragung vom
von Taktimpulsen 3 angesteuert. Bei jeder Über- ß*-Register in das ß-Register mit einer Verschie-
tragung von Information aus dem ß*-Register in das bung um vier Binärstellen nach rechts verbunden ist,
ß-Register mit einer Verschiebung um vier Binär- wodurch die Stufen β 32... β 35 leer bleiben. Mit
stellen nach rechts werden daher in die durch die der Übertragung vom ß*-Register in das ß-Register Verschiebung freigebliebenen Stufen β 32 und β 33 as werden gleichzeitig zwei Produktziffern in die Stufen
zwei Produktziffern eingespeichert. β 32 und β 33 übergeführt. Somit bleiben nur noch
Die im ß-Register befindliche Information kann die Stufen β 34 und β 35 leer. Wird jetzt eine Überin das ß*-Register ohne Verschiebung übergeführt tragung von β nach ß* vorgenommen, so bleiben werden. Der Einstellausgang einer jeden Stufe des dabei die Stufen ß* 34 und ß* 35 leer. Diese beiden ß-Registers ist mit einem Eingang eines Übertra- 30 Stufen werden mit den beiden Produktziffern aus gungstores 424 verbunden. Der Ausgang jedes dem zweiten ß-Pufferregister gefüllt. Zusammen-Tores 424 liegt am Einstelleingang der entsprechen- gefaßt kann also festgestellt werden, daß der Inhalt den Stufe des ß*-Registers. Das Befehlssignal des ß*-Registers während jedes iterativen Zyklus »ß nach ß*« erscheint während der Einstellfolge der Multiplikation mit einer Verschiebung um vier auf der Ader 293 und während der Multiplizierfolge 35 Stellen nach rechts in das ß-Register übergeführt auf der Ader 368. Dieses Befehlssignal wird in der wird, wobei gleichzeitig zwei Produktziffern in die NODER-Schaltung Ü426 negiert und jeweils an Stufen β 33 und β 32 eingespeichert werden. Der einen Eingang zu den NUND-Schaltungen Z424 an- Inhalt des ß-Registers wird dann in das ß*-Register gelegt. Diese Tore 424 erhalten außerdem Takt- geleitet, wobei zwei weitere Produktziffern in die impulse 1, so daß sie in der ersten Phase der Ma- 40 Stufen ß* 35 und ß* 34 abgespeichert werden,
schinenperioden 8... 18 öffnen und die in den ein- Der anfänglich in den Registern β und ß* entzelnen Stufen des ß-Registers enthaltene Information haltene Multiplikator wird beim Überführen der in die entsprechenden Stufen des ß*-Registers über- Produktziffern in die höherwertigen Stufen der beitragen, den Register nach rechts verschoben. Bei jedem
Das ß*-Register besteht gleichfalls aus 36 Stufen. 45 iterativen Zyklus werden vier Multiplikatorstellen Jede Stufe enthält eine Kippschaltung 428, die unter abgetastet. Das Stellenpaar mit dem niedrigeren dem Einfluß eines Ausgangssignals eines Tores 424 Stellenwert wird abgetastet, solange sich der Multieingestellt werden kann, wenn die entsprechende plikator im ß-Register befindet, während das Stellen-Stufe des ß*-Registers eine »1« während des Auf- paar mit dem höheren Stellenwert abgetastet wird, tretens des Befehlssignals »ß nach ß*« enthält. Das so nachdem der Multiplikator vom ß-Register in das Befehlssignal »räume ß*« tritt während der Einstell- ß*-Register übergeführt worden ist. Die Adern 442, folge auf der Ader 297 auf und während der Multi- 444, 446 und 448 sind mit den Ausgangsklemmen plizierfolge auf der Ader 358. Dieses Befehlssignal der beiden niedrigen Stufen des ß-Registers verwird in der NODER-Schaltung Ό 430 invertiert und bunden, um der ersten ß-Abtasteinrichtung (Fig. 5) an einen Eingang zur NUND-Schaltung Ά 432 an- 55 die in diesen Stufen enthaltenen Binärwerte mitzugelegt. Diese NUND-Schaltung Ά 432 erhält außer- teilen. Die Adern 450, 452, 454 und 456 sind mit dem Taktimpulse 4. Das Ausgangssignal der NUND- den Ausgängen der Stufen ß* 03 und ß* 02 verSchaltung 432 wird dem Rückstelleingang einer bunden, um der zweiten ß-Abtasteinrichtung jeden Kippschaltung 428 zugeführt. Die Kippschal- (F i g. 6) die in diesen Stufen gespeicherten Werte tung einer jeden Stufe des ß*-Registers wird daher 60 anzuzeigen.
in der Phase 4 der Maschinenperioden 7 .. 17 ge- ß-Abtasteinrichtungen
räumt. Da das ß*-Register nur m der Phase 1 der
Maschinenperioden 8 ... 18 mit Information gefüllt Die in F i g. 5 gezeigte erste ß-Abtasteinrichtung wird, ist somit ersichtlich, daß sämtliche Stufen des hat vor allem die Aufgabe, bei jedem iterativen ß*-Registers unmittelbar vor der Übertragung von 65 Zyklus ein einzelnes Multiplikatorstellenpaar abInformation in diese Stufen geräumt werden. zutasten und zu bestimmen, ob der Multiplikand
Die Stufen 34 und 35 des ß*-Registers enthalten 0-, 1-, 2- oder — Imal zum aufgelaufenen Teilpro-
ein Paar NUND-Schaltungen 434 und Z 436, die dukt zu addieren ist.
Die erste ß-Abtasteinrichtung besteht aus den NUND-Schaltungen Z 500 ... Z 506, dem Negator 507, den NODER-SchaltungenüSOe ... U 510 und einer Kippschaltung 512. Der Rückstellausgang der Stufe β 01 ist über die Ader 442 mit einem Eingang der Tore 500, 501 und 504 verbunden. Der Einstellausgang der Stufe β 01 liegt an den Toren 502, 503, 505 und 506 an. Der Rückstellausgang der Stufe β 00 ist über die Ader 446 mit einem Eingang der Tore
501, 503 und 505 verbunden. Der Einstellausgang dieser Stufe β 00 ist mit einem Eingang der Tore 500,
502, 504 und 506 verbunden. Das von der zweiten ß-Abtasteinrichtung erzeugte Übertragssignal 2 gelangt über die Ader 614 zu den Toren 501, 503 und 504. Das am Rückstellausgang der zweiten Übertrags-Kippschaltung auftretende Signal wird über die Ader 616 an einen Eingang der Tore 500, 502 und 505 angelegt.
Die Signale der Tore 500 und 501 werden an die NODER-Schaltung Ü508 angekoppelt, welche das negative Befehlssignal »X nach X*« erzeugt, sofern eines dieser Tore ein positives Ausgangssignal bereitstellt. Die Tore 502 und 503 sind mit der NODER-Schaltung (7509 verbunden, die das negative Befehlssignal »X' nach X*« erzeugt, wenn eines dieser beiden Tore ein positives Ausgangssignal erzeugt. Die Ausgangssignale der Tore 504 und 505 liegen an der NODER-Schaltung Ό 510 an, die das negative Befehlssignal »X nach X* (L 1)« erzeugt, wenn eines dieser Tore ein positives Ausgangssignal bereitstellt.
Die Taktimpulse 4 werden im Negator 508 invertiert, um die erste Übertrags-Kippschaltung 512 in der vierten Phase einer jeden Maschinenperiode rückzustellen. Die Ausgänge der Tore 506 und 507 sind mit dem Einstelleingang der ersten Übertrags-Kippschaltung verbunden.
Tabelle 3
40
45
ßOl ] Q 00 Zu Überträge End
borger
0 0 übertragender
Multiplikand
0 1 XnachX* EBl
Abgetastete Stellen 1 0 OZ EBl
CZ T-I 1 IX EBl
0 0 0 2X Cl
0 0 1 1 V EBl
0 1 0 IX EBl
0 1 1 2X Cl
1 -IX Cl EBl
1 OX
1
1
Tabelle 3 stellt die Funktionstabelle für die erste ß-Abtasteinrichtung dar. Werden zwei Multiplikatorstellen abgetastet, so muß der Multiplikand unter Umständen 0-, 1-, 2- oder 3mal hinzuaddiert werden, je nachdem, ob die abgetasteten Binärstellen den Wert 00, 01, 10 oder 11 haben. Haben die Multiplikatorstellen den Wert 00, so muß lediglich verhindert werden, daß der Multiplikand zum aufgelaufenen Teilprodukt addiert wird. Haben die Multiplikatorstellen den Wert 01, so muß der Multiplikand lediglich in den Akkumulator übergeführt und zum vorhergehenden Teilprodukt hinzuaddiert werden. Haben die Multiplikatorstellen den Wert 10, so muß der Multiplikand 2mal zum vorhergehenden Teilprodukt addiert werden. Dies geschieht, indem der Multiplikand um eine Binärstelle nach links verschoben und dann zum vorhergehenden Teilprodukt addiert wird. Haben die Multiplikatorstellen den Wert 11, so muß der Multiplikand 3mal zum vorhergehenden Teilprodukt addiert werden. In diesem Fall ergibt sich insofern eine Schwierigkeit, als sich der Multiplikand ohne Durchführung einer Addition nicht 3mal bilden läßt. Indessen läßt sich das Problem dadurch lösen, daß der Multiplikand lmal vom aufgelaufenen Teilprodukt subtrahiert wird, um ein neues aufgelaufenes Teilprodukt zu erhalten,"worauf das neue aufgelaufene Teilprodukt sodann um zwei Binärstellen nach rechts verschoben und der Multiplikand lmal addiert wird. Hierbei taucht eine weitere Schwierigkeit auf, wenn zwei aufeinanderfolgende Multiplikatorstellenpaare den Wert 11 haben. In diesem Falle erfordert das zweite Multiplikatorstellenpaar die 3malige Addition des Multiplikanden. Außerdem muß der Multiplikand noch ein weiteres Mal addiert werden, um die vom ersten Stellenpaar geforderte 3malige Bildung des Multiplikanden zu erfüllen; das zweite Teilprodukt muß also den 4fachen Wert des Multiplikanden darstellen. In der vorliegenden Erfindung sind keine Mittel vorgesehen, um ein aus dem 4fachen Wert des Multiplikanden bestehendes Teilprodukt zu bilden. Derselbe Effekt läßt sich jedoch erreichen, wenn man den Multiplikanden Omal addiert, das aufgelaufene Teilprodukt um zwei Stellen nach rechts verschiebt und dann den Multiplikanden lmal addiert. In beiden Fällen, in denen ein Übertrag erforderlich wird, müssen also entsprechende Mittel vorgesehen werden, so daß der den einfachen Wert des Multiplikanden darstellende Übertrag beim Abtasten des nächsten Multiplikatorstellenpaares für die Bildung des neuen Teilproduktes berücksichtigt werden kann. Zu diesem Zweck ist die erste Übertrags-Kippschaltung 512 vorgesehen. Stellt also die erste ß-Abtasteinrichtung fest, daß ein Übertrag für die nächste Abtastoperation erforderlich ist, so wird die erste Übertrags-Kippschaltung stets eingestellt, um auf der Ader 514 ein negatives Signal Cl zn erzeugen. Stellt dagegen die ß-Abtasteinrichtung fest, daß kein Übertrag erforderlich ist, so bleibt die erste Übertrags-Kippschaltung im Rückstellzustand, und auf der Ader 516 erscheint das negative Signal CT. Die Ausgangssignale der ersten Übertrags-Kippschaltung werden an die zweite ß-Abtasteinrichtung angelegt, wodurch diese veranlaßt wird, ein Teilprodukt zu bilden, indem der Übertrag aus der vorhergehenden, von der ersten ß-Abtasteinrichtung durchgeführten Abtastoperation berücksichtigt ist. Wie noch weiter unten beschrieben wird, ist in der zweiten ß-Abtasteinrichtung eine ähnliche Übertrags-Kippschaltung vorgesehen. Diese Kippschaltung erzeugt auf der Ader 614 stets dann ein negatives Signal, wenn von der zweiten ß-Abtasteinrichtung festgestellt wird, daß für die nächste Abtastoperation ein Übertrag erforderlich wird.
Zur Erläuterung der Arbeitsweise der ersten ß-Abtasteinrichtung sei angenommen, daß die Stufe β 01 eine binäre »1« und die Stufe β 00 eine binäre »0« enthält. Des weiteren sei angenommen, daß auf der Ader 614 kein Übertragssignal 2 auftritt, da von der vorangegangenen Abtastoperation kein
Übertrag vorliegt. Unter diesen Bedingungen sind die Adern 444, 312, 616 und 446 sämtlich negativ und öffnen die NUND-Schaltung Ά 505. Dieses Tor erzeugt somit ein positives Ausgangssignal, welches in der NODER-Schaltung Ü511 invertiert und zum Befehlssignal »X nach X* (L 1)« wird. Wie noch nachstehend beschrieben wird, wird durch dieses Befehlssignal der im X-Register befindliche Multiplikand bei seiner Übertragung in das X*-Register um eine Binärstelle nach links verschoben, um ihn zum vorhergehenden aufgelaufenen Teilprodukt addieren zu können. Durch diese Verschiebung um eine Binärstelle nach links wird effektiv der 2fache Wert des Multiplikanden gebildet; dies entspricht dem gewünschten Teilprodukt, da die Multiplikatorstellen 10 sind.
Es sei nun angenommen, daß die Multiplikatorstellen den Wert 10 haben und daß die Ader 614 negativ ist, da die von der zweiten Q-Abtasteinrichtung zuvor abgetasteten Multiplikatorstellen den Wert 11 hatten. Unter diesen Bedingungen sind die Adern 446,444 und 614 sämtlich negativ und steuern die NUND-Schaltung Ά 507 an. Außerdem ist auch die Ader 312 negativ, so daß die NUND-Schaltung Ά 503 geöffnet wird. Das Ausgangssignal der NUND-Schaltung Z 503 wird in der NODER-Schaltung Ü510 invertiert, um zum Befehlssignal »X' nach X*« zu werden. Dadurch wird der Komplementwert des Multiplikanden vom Z-Register in das X*-Register übertagen, um zum aufgelaufenen Teilprodukt addiert zu werden. Anders ausgedrückt: Der Multiplikand wird vom aufgelaufenen Teilprodukt subtrahiert. Die NUND-Schaltung Ά 507 erzeugt ein positives Signal, um die erste Ubertrags-Kippschaltung 512 einzustellen und damit der zweiten Q-Abtasteinrichtung mitzuteilen, daß der Multiplikand bei der nächsten Operation lmal addiert werden muß.
Die übrigen Bedingungen, unter denen die erste Übertrags-Kippschaltung eingestellt und die Befehlssignale »X nach X*«, »X' nach X*« und »X nach X* (L 1)« erzeugt werden, ergeben sich aus der Betrachtung der Tabelle 3.
Aus den oben aufgeführten Gründen sollte die Möglichkeit bestehen, im voraus festzustellen, wann bei der im Halbsubtrahierer/4*.B* erfolgenden Verknüpfung des Teilproduktes mit dem aufgelaufenen Teilprodukt ein Endborgerbit erforderlich wird. Ein solches Endborgerbit wird z. B. stets dann erzeugt, wenn der Multiplikand zum aufgelaufenen Teilprodukt addiert wird; dagegen wird niemals ein Endborgerbit gebildet, wenn der Multiplikand vom aufgelaufenen Teilprodukt subtrahiert wird. Die NUND-Schaltungen Ά 507 und 524 erfassen die beiden Bedingungen, unter denen der Multiplikand vom aufgelaufenen Teilprodukt subtrahiert werden muß. Die NUND-Schaltung 507 wird durch das Übertragssignal C 2 der zweiten Q-Abtasteinrichtung sowie durch Signale angesteuert, welche die Abwesenheit einer binären »1« in der Stufe Q00 sowie die Anwesenheit einer binären »1« in der Stufe QOl anzeigen. Die NUND-Schaltung Z 524 wird durch Signale gesteuert, welche die Anwesenheit von binären Einsen in den Stufen Q 00 und Q 01 anzeigen, sowie durch ein auf der Ader 616 auftretendes positives Signal, welches das NichtVorhandensein eines Übertrages aus der vorhergehenden Abtastoperation anzeigt. An beiden NUND-Schaltungen Z 507 und Ά 524 liegen außerdem Taktimpulse 1 an; wenn also der Multiplikand vom aufgelaufenen Teilprodukt subtrahiert wird, so erzeugt eines der Tore ein positives Signal, um die Kippschaltung 526 einzustellen.
Der Einstellausgang der Kippschaltung 526 ist mit einem Eingang zur NUND-Schaltung Ά 528 verbunden. An diesem Tor liegt außerdem ein Taktimpuls 2 an, so daß ein positives Ausgangssignal erzeugt wird, um die erste Endborger-Kippschaltung 530 in der zweiten Phase einer Maschinenperiode
ίο rückzustellen, wenn sich die Kippschaltung 526 im Einstellzustand befindet. Die Kippschaltung 526 wird durch das Ausgangssignal des Negators 508 in der vierten Phase einer jeden Maschinenperiode rückgestellt. Das sich dabei ergebende negative Signal am Rückstellausgang dieser Kippschaltung gelangt an den einen Eingang zur NUND-Schaltung 532. An diesem Tor liegen außerdem noch Taktimpulse 2 an. Wenn also von der ersten Q-Abtasteinrichtung in irgendeiner Maschinenperiode festgestellt wird, daß
ao das Teilprodukt nicht den lfachen Wert des Multiplikanden darstellt und somit die Kippschaltung 526 nicht eingestellt wird, erzeugt die NUND-Schaltung Ά 532 ein positives Signal, um die erste Endborger-Kippschaltung einzustellen. Die von der Kippschaltung 530 erzeugten Endborgersignale 1 werden den in Fig. 8 gezeigten RegisternΛ* und B* sowie dem in F i g. 10 dargestellten ersten Vollsubtrahierer zugeführt.
Zur Erläuterung der Arbeitsweise der Q-Abtasteinrichtungen wird auf das Zeitdiagramm nach Fig. 13b verwiesen. Dieses Zeitdiagramm gilt für einen Multiplikator sowie einen Multiplikanden mit folgenden Werten:
Multiplikator
010110 001000 111110 110111 010011 100101
Multiplikand
011000 000000 000000 000000 000000 000000
Die zweite Q-Abtasteinrichtung ist in F i g. 6 dargestellt. In jedem iterativen Zyklus werden von dieser Abtasteinrichtung die in den Stufen Q* 03 und Q* 02 befindlichen beiden Multiplikatorstellen sowie das Ubertragssignal 1 der ersten Q-Abtasteinrichtung abgetastet, worauf ein Ubertragssignal 2 sowie ein weiteres Signal erzeugt wird, welches anzeigt, ob der Multiplikand0-, 1-, 2- oder —lmal als Teilprodukt in das XS-Register übergeführt werden soll. Wird festgesetzt, daß das Teilprodukt nicht das — lfache des Multiplikanden ist, so wird die zweite Endborger-Kippschaltung eingestellt, um das Vorzeichen und den Endborger weiterzuleiten.
Das Signal Cl wird an die NUND-Schaltungen
Z 601, 604 und Ά 607 angelegt. Das Signal Ό^ψ, wird an die NUND-Schaltungen 601 und 607 sowie an eine weitere NUND-Schaltung 605 angekoppelt. Das Signal Q* 03 wird den NUND-Schaltungen 605 und Ά 607 sowie zwei weiteren NUND-Schaltungen 606 und 624 zugeleitet. Das auf der Ader 316 auftretende Befehlssteuersignal »1X5, 2X5, —1X5, C« wird an die NUND-Schaltungen Z 601, Z 604, Ά 605, 606, Ά 607 und Z 624 sowie darüber hinaus an die NUND-Schaltung 602 angelegt. Das Signal CI wird den NUND-Schaltungen Ά 602, 605 und Z 624 zugeführt. Das Signal Q* 02 wird an die NUND-Schaltungen Z 602, JS 604, 1 606 und Ά 624 angelegt. Das Signal Q*03 gelangt an die NUND-
Schaltungen H601, Z 602 und Z 604. Sämtliche NUND-Schaltungen/TöOl.. .Z607 sowie dieNUND-Schaltungen 3Γ624 werden außerdem noch von Taktimpulsen 1 angesteuert.
Die Ausgänge der NUND-Schaltungen 2Γ 606 und 607 sind mit dem Einstelleingang der zweiten Übertrags-Kippschaltung 612 verbunden. Die Ausgänge der NUND-Schaltungen ίΓ 604 und Ά 605 sind mit dem Einstelleingang einer Kippschaltung 611 verbunden. Die Ausgänge der NUND-Schaltungen xo ~Ä 601 und ίΓ 602 liegen an einer Kippschaltung 609, und die Ausgänge der NUND-Schaltungen /T 607 und ΛΓ624 liegen am Einstelleingang einer Kippschaltung 626. Die Kippschaltungen 609, 611 und 626 können unter dem Einfluß des auf den Adern 222, 246 oder 340 auftretenden Befehlssignals »C1XS« geräumt werden. Das Befehlssignal »C1XS« wird in der NODER-Schaltungü654 invertiert und an die NUND-Schaltung ^T 656 angelegt, die außerdem noch Taktimpulse 2 erhält. Beim Auftreten ao des Befehlssignals »CIXS« erzeugt das Tor 656 ein positives Signal während der zweiten Phase, um die Kippschaltungen 609, 611 und 626 rückzustellen.
Die Kippschaltung 612 wird in der zweiten Phase eines jeden iterativen Zyklus durch das Befehlssignal »C1, 2. Übertrag« rückgestellt. Dieses Befehlssignal wird von der dritten Multiplizierfolge-Kippschaltung erzeugt und tritt in der zweiten Phase einer jeden Maschinenperiode auf, ausgenommen die Periode 18 der Multiplizieroperation.
Die NUND-Schaltungen 3"6Ol... Z 607 und Z 624 werden durch das auf der Ader 316 auftretende Befehlssteuersignal »1XS, 2XS IXS, C« geöffnet,
solange sich die zweite Multiplizier-Steuerkippschaltung im Einstellzustand befindet. Diese Tore tasten daher in den Taktzeiten 82... 163 in der dritten Phase einer jeden Maschinenperiode die Werte Cl, ß*03 und ß*02 ab, um die Kippschaltungen 609, 611, 612 und 626 einzustellen. Die Kippschaltung 612 wird eingestellt, wenn für die nächste Abtastoperation kein Übertrag vorliegt. Die Ausgangssignale der Kippschaltung 612 werden zu diesem Zweck der ersten ß-Abtasteinrichtung zugeführt.
Die Kippschaltung 611 wird eingestellt, wenn festgesetzt wird, daß das Teilprodukt das 2fache des MuI-tiplikanden sein soll. Wird diese Kippschaltung eingestellt, so erzeugt sie das Befehlssignal »X nach XS (L 1)«, das den Ausblendschaltungen X nach XS zugeführt wird, um den Multiplikanden vom X-Register in das XS-Register mit einer Verschiebung um eine Binärstelle nach links zu übertragen.
Die Kippschaltung 609 wird eingestellt, wenn bestimmt wird, daß als Teilprodukt der einfache Wert des Multiplikanten in Frage kommt. Wird diese Kippschaltung eingestellt, so erzeugt sie das Befehlssignal »X nach XS«, welches an die Tore X nach XS angelegt wird, um den Multiplikanden vom X-Register in das XS-Register zu überführen.
Die Kippschaltung 626 wird eingestellt, wenn festgesetzt wird, daß als Teilprodukt der — lfache Wert des Multiplikanden in Frage kommt. Durch die Einstellung dieser Kippschaltung wird das Befehlssignal »X' nach XS« erzeugt, welches an die Tore X nach XS angekoppelt wird, um den Komplementwert des Multiplikanden vom X-Register in das XS-Register zu übertragen. Der Einstellausgang der Kippschaltung 626 ist mit der NUND-Schaltung Ά 628 und der Rückstellausgang mit der NUND-Schaltung ~K 632 verbunden. An der NUND-Schaltung 632 liegt außerdem das Befehlssteuersignal »Endborger 2« an, welches infolge der Einstellung der dritten Multipliziersteuerkippschaltung während der Taktzeiten 82... 182 erzeugt wird. Außerdem liegen an beiden Toren 628 und 632 noch Taktimpulse 4 an. Die Ausgänge dieser beiden Tore sind mit dem Rückstellbzw. Einstelleingang der zweiten Endborger-Kippschaltung verbunden.
In der vierten Phase der Maschinenperioden 8... 17 wird die NUND-Schaltung Ά 632 geöffnet, sofern die Kippschaltung 626 nicht während der dritten Phase eingestellt wird. Dadurch wird in die Kippschaltung 630 ein Endborgersignal stets dann eingespeichert, wenn die zweite Ö-Abtasteinrichtung bestimmt, daß als Teilprodukt nicht der —lfache Wert des Multiplikanden in Frage kommt. Wird als Teilprodukt der lfache Wert des Multiplikanden ermittelt, so wird die Kippschaltung 626 während der dritten Phase eingestellt, um die NUND-Schaltung /Γ628 vorzubereiten; der Taktimpuls der vierten Phase kann daher das Tor durchlaufen, um die zweite Endborger-Kippschaltung rückzustellen und dadurch eine Mitteilung einzuspeichern, daß kein Endborgerbit vorliegt.
Tabelle 4 zeigt die Arbeitsweise der zweiten ß-Abtasteinrichtung unter dem Einfluß der Signale Cl, ß*03 und ß*02. Ein Vergleich mit Tabelle 3 zeigt, daß der Betrieb bei beiden Abtasteinrichtungen gleich ist.
Tabelle 4
β* 03 Q* 02 Zu Überträge End
borger
0 0 übertragender
Multiplikand
0 T-I AT nach XS EB 2
Abgetastete Stellen 1 0 OX EB 2
Cl 1 1 IX EB 2
O 0 0 2X C2
O 0 1 -IX EB 2
O 1 0 IX EB 2
O 1 1 2X C2
1 -IX C2 EB 2
1 OX
1
1
Zur zweiten ß-Abtasteinrichtung gehören außerdem noch der Negator 640 sowie die NUND- und NODER-Schaltungen Z 652, Z 644, Ü646, Z 648, Ü650 und 652. Wie bereits oben ausgeführt wurde, gelangt der Multiplikator in das X-Register, durchläuft XS sowie das ^-Register und wird dann während der Einstellfolge in die Register β und ß* übergeführt. Außerdem muß der Multiplikator in den Registern Q und ß* als positiver Wert dargestellt werden. Ist der Multiplikator positiv, so muß daher sein Realwert in die Register Q und Q* eingespeichert werden; ist der Multiplikator dagegen negativ, so gelangt in diese Register sein Komplementwert.
Der Multiplikator wird in das X-Register zur Taktzeit 43 übergeführt. Zur Taktzeit 52 erscheint
33 34
auf der Ader 222 das Befehlssignal »C1XS«, um Stufe gehören eine Kippschaltung 700 sowie ein die Kippschaltungen 609, 611 und 626 zu räumen. Paar Eingangstore 702 und 704. Jede Stufe des X-Re-Zur Taktzeit 53 wird von der Einstell-Steuereinrich- gisters kann unter dem Einfluß eines Befehlssignals rung das Befehlssignal »XS einstellen« auf der Ader »räume X«, welches auf einer der Adern 250, 284 224 erzeugt. Dieses Befehlssignal wird im Negator 5 oder 706 auftritt, geräumt werden. Die Befehlssignale 640 invertiert und gelangt an die NUND-Schaltungen werden in der NODER-Schaltung U 708 invertiert 642 und 644. Das Vorzeichen des Multiplikators be- und an einen Eingang zur NUND-Schaltung ^T 710 findet sich in der Stufe X35 des X-Registers. Ist das angelegt. Das auf der Ader 706 erscheinende BeVorzeichen positiv, so ist das Signal X35 negativ, und fehlssignal »räume wird vom (nicht gezeigten) die NUND-Schaltung 642 erzeugt ein positives io Hauptsteuerwerk der Rechenanlage während der Ausgangssignal. Dieses Signal wird in der NODER- vierten Maschinenperiode der Multiplizieroperation Schaltung Ό 646 invertiert und durchläuft die NUND- erzeugt. Das auf der Ader 250 oder 284 auftretende Schaltung ΛΓ648, um die Kippschaltung 609 einzu- Befehlssignal »räume X«. wird von der in Fig. 2 gestellen. Das Ausgangssignal der NUND-Schaltung zeigten Einstell-Steuereinrichtung erzeugt, wobei 609 stellt das Befehlssignal »X nach XS« dar, das 15 das auf der Ader 284 auftretende Signal nur dann erden im X-Register befindlichen Wert in das XS-Re- zeugt wird, wenn das Vorzeichen des Multiplikanden gister überführt. Dieser Wert gelangt anschließend in minus ist. An der NUND-Schaltung Hilft liegen das /4-Register und von hier aus in die Register Q außerdem Taktimpulse 2 an; dieses Tor erzeugt daher und Q*. ein positives Ausgangssignal, um sämtliche Kippist das Vorzeichen des Multiplikators negativ, dann ao schaltungen 700 während der Taktzeiten 42 und 62 ist das Signal XS 35 negativ, so daß die NUND-Schal- und außerdem auch noch während der Taktzeit 72 tung !?644 zur Taktzeit 53 ein positives Ausgangs- zurückzustellen, sofern der Multiplikand negativ ist. signal erzeugt. Dieses Signal wird in der NODER- Die Überführung von Information in das X-Regi-Schaltung U650 invertiert und durchläuft die NUND- ster erfolgt in der Phase, die unmittelbar auf die Schaltung Ά 652, um die Kippschaltung 626 einzu- 35 Phase folgt, in welcher das Register geräumt wurde, stellen. Das Ausgangssignal der Kippschaltung 626 Sämtliche Tore 704 sind mit dem Ausgang einer stellt das Befehlssignal »X' nach XS« dar, welches Stufe des Ausgaberegisters des Hauptspeichers verden Kömplementwert des im X-Register befindlichen bunden. Das Befehlssignal »Z nach X« wird vom Wertes in das XS-Register überträgt. Dieser Wert Hauptsteuerwerk in den Perioden 4 und 6 der Multigelangt anschließend in das A -Register und von hier 30 plizieroperation erzeugt und über die Ader 712 jeaus in die Register Q und Q*. weils an einen Eingang der Tore 704 angelegt. Diese Wie bereits ebenfalls erwähnt wurde, muß der Tore erhalten außerdem Taktimpulse 3, so daß sie Multiplikand als positive Zahl dargestellt werden. In zur Taktzeit 43 oder 63 ein positives Signal erzeugen, der vorliegenden Erfindung wird zunächst angenom- um eine Stufe des X-Registers einzustellen, sofern men, daß sämtliche Multiplikanden negativ sind und 35 das aus dem Speicher herausgelesene Wort eine daher entsprechende Komplemente gebildet werden binäre »1« in der entsprechenden Stufe enthält,
müssen. In das X-Register kann Information auch vom Der Multiplikand wird zur Taktzeit 63 in das ^4-Register übertragen werden. Während der Multi-X-Register eingegeben. Zur Taktzeit 62 wird das plizieroperation tritt diese Übertragung jedoch nur Befehlssignal »C1XS« auf der Ader 246 erzeugt, um 40 dann auf, wenn der Multiplikand eine negative Zahl die Kippschaltungen 609, 611 und 626 rückzustellen. ist. In diesem Fall erscheint auf der Ader 286 das Zur Taktzeit 63 wird von der Einstellsteuereinrich- Befehlssignal »A nach X«, das in der NODER-tung das Befehlssignal »—XS einstellen« erzeugt. Schaltung Ό 714 invertiert und an jeweils einen Ein-Dieses Befehlssignal durchläuft die NODER-Schal- gang der Tore 702 angelegt wird. Diese Tore ertung Ü650 sowie die NUND-Schaltung Ά 652, um 45 halten außerdem Taktimpulse 3 sowie die Ausgangsdie Kippschaltung 626 einzustellen. Durch das Ein- signale vom Einstellausgang der entsprechenden Stufe stellausgangssignal der Kippschaltung 628 wird der des /i-Registers. Wenn also das Vorzeichen des MuI-Komplementwert des Multiplikanden vom X-Register tiplikanden minus ist, wird der im A-Register befindin das XS-Register übertragen. Dieser Komplement- liehe Wert in das X-Register zur Taktzeit 73 der wert wird anschließend in das .4-Register geleitet, 5° Multiplizieroperation übertragen,
und die Vorzeichenstufe X 35 wird durch die Ein- Die Ausgangssignale sämtlicher Stufen des stell-Steuervorrichtung abgetastet, um das richtige X-Registers werden an die Tore X nach XS Vorzeichen des Multiplikators zu bestimmen. Ist das (Fig. 7b) sowie an die Tore X nach X* (Fig. 7c) Vorzeichen positiv, so wird das .<4-Register geräumt, angelegt. Außerdem ist die Vorzeichenstufe X 35 mit und der Realwert verbleibt im X-Register. Ist da- 55 den für die Ermittlung des Produktvorzeichens vorgegen das Vorzeichen negativ, so wird das X-Regi- gesehenen Schaltungen (F i g. 2) sowie mit der zweister geräumt, und der im /!-Register befindliche ten Q-Abtasteinrichtung (F i g. 6) verbunden.
Komplementwert wird in das X-Register überführt. Fig. 7b zeigt die Tore 14 X nach XS sowie das ■ vvt XS-Register 18. Die Tore X nach XS umfassen Register X, X* und XS 6o 36 Stufen> die jeweüs aus drei NUND-Schaltungen
Fig. 7a zeigt das X-Register. Sowohl der Multi- 720, /T722 und 5Γ724 bestehen. Die NUND-
plikator als auch der Multiplikand werden über Schaltung Ά 720 einer jeden Stufe der Tore X nach
dieses Register in die Multipliziereinrichtung ein- XS ist mit dem Einstellausgang der nächstniedrigeren
gegeben; während der eigentlichen Multiplikation be- Stufe des X-Registers verbunden, während die findet sich in diesem Register der Multiplikand. Das 6g NUND-Schaltung 720 der niedrigsten Stufe am
X-Register besteht aus 36 gleichen Stufen; in Ausgang der Stufe X 35 liegt. Sämtliche NUND-
F i g. 7 a sind die beiden unteren Stufen XOl und XOO Schaltungen 720 erhalten außerdem das Befehlssignal
sowie die Vorzeichenstufe X 35 dargestellt. Zu jeder »X nach XS (L 1)«, das von der zweiten Q-Abtast-
35 36
einrichtung erzeugt wird. Das Ausgangssignal der Befindet sich im X-Register der Multiplikand, so ist NUND-Schaltung Z 720 einer jeden Stufe wird an diese Operation also gleichbedeutend mit der Multidie entsprechende Stufe des XS-Registers 18 angelegt. plikation des Multiplikanden mit 2 und seiner Über-Beim Auftreten des Befehlssignals »XS (L 1)« wird führung in das ^-Register.
daher von den NUND-Schaltungen 720 der im Z-Re- 5 Die Ausgänge der NUND-Schaltungen Z 728, gister. befindliche Wert mit einer Verschiebung um Z730 und Z732 einer jeden Stufe der Ausblendeine Binärstelle nach links in das XS-Register über- schaltungen X nach X* sind mit dem Einstelleingang geführt. einer Kippschaltung 734 der zugeordneten Stufe des
Die NUND-Schaltung Z 722 einer jeden Stufe der X*-Registers verbunden. Sämtliche Stufen dieses X-nach-XS-Tore ist mit dem Einstellausgang der ent- io Registers werden stets in der Phase geräumt, die unsprechenden Stufe des X-Registers verbunden. Diese mittelbar der Phase vorangeht, in der dieses Register NUND-Schaltungen erhalten außerdem das Befehls- mit Information gefüllt wird. Das auf der Ader 299 signal »X nach XS«, so daß sie beim Auftreten die- auftretende Befehlssignal »räume X*« wird während ses Befehlssignals den Inhalt des X-Registers in das der Einstellfolge erzeugt, während das auf der Ader XS-Register 18 übertragen. 15 362 auftretende Befehlssignal »räume X*« in der
Die NUND-Schaltung Z724 einer jeden Stufe des Multiplizierfolge erzeugt wird. Beide Befehlssignale
X-nach-XS-Tore ist mit dem Rückstellausgang der werden an die NODER-Schaltung Ü736 angelegt,
entsprechenden Stufe des X-Registers verbunden. deren Ausgang mit einer NUND-Schaltung Z738
Außerdem erhalten die NUND-Schaltungen 724 das verbunden ist. Diese NUND-Schaltung Z 738 erhält
Befehlssignal »X' nach XS«, so daß sie beim Auf- 2» außerdem Taktimpulse 4 und erzeugt somit während
treten dieses Befehlssignals den Komplementwert der vierten Phase der Maschinenperioden 7... 17
des im X-Register befindlichen Wertes in das XS-Re- ein positives Signal. Der Ausgang der NUND-Schal-
gister überführen. tung Z738 ist mit dem Rückstelleingang jeder Kipp-
Das XS-Register kann keine Information spei- schaltung 734 verbunden, um diese Kippschaltungen ehern, sondern kann nur ein geltendes Ausgangs- 25 zu diesem Zeitpunkt rückzustellen. Die Einstell- und signal erzeugen, solange eines der Befehlssignale »X Rückstellausgänge einer jeden Stufe des X*-Registers nach XS'«, »X' nach XS« oder »X nach XS (L 1)« sind mit der entsprechenden Stufe des in Fig. 8 gevorliegt. Zu jeder Stufe des XS-Registers gehört eine zeigten Halbsubtrahierers A *B* verbunden.
NODER-Schaltung Ό 726, die mit dem Ausgang der
NUND-Schaltungen Z720, Z722 und Z724 verbun- 30 Halbsubtrahierer
den ist. Die Ausgänge der NUND-Schaltungen 720, Der Halbsubtrahierer A*B* ist im unteren Teil
722 und 724 sind im XS-Register zusammengefaßt, von F i g. 8 dargestellt. Dieser Halbsubtrahierer be-
um für jede Stufe das Komplementsignal zu bilden. steht aus 36 gleichen Stufen, von denen in Fig. 8
Fig. 7c zeigt die Tore 12X nach X*. Diese die höchste Stufe 35 sowie die niedrigste Stufe 00 geTore umfassen 36 Stufen, wobei jede Stufe mit 35 zeigt sind.
Ausnahme der niedrigsten eine erste NUND- Wie die Stufe 35 zeigt, besteht jede Stufe des HaIb-Schaltung Z 728, eine zweite NUND-Schaltung subtrahierers aus einer Anzahl von Toren Z 800, Z730 sowie eine dritte NUND-Schaltung Z732 ent- Z 802, Z 804, Z 806, Z 808 und Ü810. Der Einstellhält, ausgang der entsprechenden Stufe des X*-Registers
Die NUND-Schaltung 728 einer jeden Stufe ist 40 ist mit der NUND-Schaltung Z 802 verbunden, wäh-
mit dem Rückstellausgang der entsprechenden Stufe rend der Rückstellausgang an den NUND-Schaltun-
des X-Registers verbunden. Diese NUND-Schaltun- gen Z 800 und Z 808 anliegt. Der Einstellausgang der
gen Z728 erhalten außerdem das Befehlssignal »X' entsprechenden Stufe des Z-Registers ist mit der
nach X*« von der ersten ß-Abtasteinrichtung sowie NUND-Schaltung Z 804 verbunden, während der
Taktimpulse 1. Beim Auftreten des Befehlssignals 45 Rückstellausgang der entsprechenden Stufe des
»X' nach X*« werden diese Tore daher geöffnet und /!-Registers an der NUND-Schaltung Z 806 anliegt,
übertragen den Komplementwert des im X-Register Der Einstellausgang der nächstniedrigeren Stufe des
befindlichen Wertes in das X*-Register. ^-Registers ist mit den NUND-Schaltungen Z 800
Die NUND-Schaltung Z730 einer jeden Stufe ist und Z 808 verbunden, während der Rückstellausgang mit dem Einstellausgang der entsprechenden Stufe 50 der nächstniedrigeren Stufe des B-Registers an der des X-Registers verbunden. An diese NUND-Schal- NUND-Schaltung Z 802 anliegt. Der Ausgang der tungen werden außerdem noch Taktimpulse 1 sowie Tore 800 und 802 ist sowohl mit der NUND-Schaldas von der ersten ß-Abtasteinrichtung erzeugte Be- tung Z 806 als auch mit der NODER-Schaltung fehlssignal »X nach X*« angelegt. Beim Auftreten Z810 verbunden. Das Ausgangssignal der NODER-des Befehlssignals »X nach X*« werden die NUND- 55 Schaltung Z 810 wird an einen Eingang zur NUND-Schaltungen Z 730 daher in der ersten Phase geöffnet Schaltung Z 804 angelegt.
und übertragen den im X-Register befindlichen Wert Dem Halbsubtrahierer werden kontinuierlich Si-
in die entsprechenden Stufen des X*-Registers. gnale zugeführt, die den in den Registern A, B und
Jede der Stufen 35... 01 der Ausblendschaltung X* enthaltenen Werten entsprechen. Das vom Halbenthält außerdem eine NUND-Schaltung Z732, die 60 subtrahierer kontinuierlich erzeugte Ergebnis wird mit dem Einstellausgang der nächstniedrigeren Stufe gebildet, indem man den Komplementwert des X*- des X-Registers verbunden ist. Außerdem liegen an Registers vom Wert des Z-Registers halb subtrahiert diesen NUND-Schaltungen Z 732 noch Taktimpulse 1 und dann den Wert des 5-Registers von diesem Resowie das Befehlssignal »X nach X* (Ll)« an. Beim sultat halb subtrahiert. Das positive Befehlssignal Auftreten des Befehlssignals »X nach X* (Ll) über- 65 »A*B* füllen« erscheint auf der Ader 344, solange tragen die NUND-Schaltungen Z732 daher den im sich die erste Multiplizierfolge-Kippschaltung im X-Register befindlichen Wert in das X*-Register mit Einstellzustand befindet. Dieses Befehlssignal wird in einer Verschiebung um eine Binärstelle nach links. der NODER-Schaltung Ü812 invertiert und an je-
weils einen Eingang der Tore 804, 806 und 808 angelegt. Diese Tore erhalten außerdem Taktimpulse 3, so daß sie in der dritten Phase der Maschinenperioden 8 ... 17 öffnen und das Ergebnis der Halbsubtraktion in die Register A* und B* überführen. Aus der Funktionstabelle 5 kann das Ausgangssignal entnommen werden, das eine einzelne Stufe unter dem Einfluß der von den Registern A, B und X* kommenden Eingangssignale erzeugt.
Tabelle 5
Der weitere, durch andere Signalkombinationen der Register A, B und X* gesteuerte Betrieb des Halbsubtrahierers ergibt sich aus der Funktionstabelle sowie den oben aufgeführten Beispielen. Fig. 8 zeigt außerdem die Register A* und B*. Zum ^4*-Register gehören 37 Kippschaltungen 830, während zum B*-Register 37 Kippschaltungen 832 gehören. Die Kippschaltungen 830 der Stufen A*Q0 .. .A*35 liegen mit ihrem Einstelleingang an ίο den Toren 804 und 806 der entsprechenden Stufen des Halbsubtrahierers A*B*. Die Kippschaltungen 832 der Stufen B* 00... B* 35 liegen mit ihrem Einstelleingang am Ausgang der Tore 806 und 808 der entsprechenden Stufen des Halbsubtrahierers. Während der Multiplikation werden die Register A* und B* gleichzeitig während der zweiten Phase der Maschinenperioden 8 ... 17 geräumt. Dadurch werden sämtliche Kippschaltungen 830 und 832 rückgestellt, unmittelbar bevor vom Halbsubtrahierer Information in diese Register übertragen wird. Das auf der Ader 342 auftretende Befehlssignal »A*B* räumen« wird in den NODER-Schaltungen £7 834 und Ü836 invertiert und einem Eingang zu den NUND-Schaltungen Ά 838 und Ά 840 zugeführt. Diese Tore 838 und 840 erhalten außerdem Taktimpulse 2; tritt also das Befehlssignal A*B* räumen« auf, so wird das positive Ausgangssignal des
Als Beispiel soll der Fall beschrieben werden, in Tores 840 an den Rückstelleingang sämtlicher Kippdem die von den Registern A, B und X* kommenden schaltungen 832 angelegt, während das positive AusSignale sämtlich 0 sind. Da A = 0 ist, ist die Ader 30 gangssignal des Tores 838 an den Rückstelleingang 814 somit positiv und sperrt die NUND-Schaltung sämtlicher Kippschaltungen 830 angekoppelt wird. ^Ϊ8Ο4. Da B gleichfalls 0 ist, ist auch die Ader 816 Bei der Überführung des in den Registern A* und
positiv und sperrt die NUND-Schaltungen !ΪΪ800 und B* enthaltenen aufgelaufenen Teilproduktes in den ^808. Da auch X* — 0 ist, ist die Ader 818 positiv Halbsubtrahierer AB werden die Summenziffern des und sperrt die NUND-Schaltung Z802. Sind die 35 .^-Registers um zwei Binärstellen nach rechts und beiden Tore 800 und 802 gesperrt, so treten an ihren die Borgerbits des B*-Registers um eine Stelle nach Ausgängen negative Signale auf, wodurch zwei Ein- rechts verschoben. Da das aufgelaufene Teilprodukt gänge zur NUND-Schaltung 806 angesteuert wer- eine positive oder negative Zahl sein kann, müssen den. Da A = 0 und die Ader 820 somit positiv ist, Mittel vorgesehen werden, um das Vorzeichen in die liegt auch am dritten Eingang zur NUND-Schaltung 40 durch die Verschiebung nach rechts freigewordenen H 806 ein Signal an. Mit dem Auftreten des Takt- Stellen zu übertragen. Das auf der Ader 534 auf-
A B X* A* B*
0 0 0 1 1
0 0 1 0 0
1 0 0 0 0
1 0 1 1 0
0 1 0 0 1
0 1 1 1 1
1 1 0 1 1
1 1 1 0 0
impulses 3 und des Befehlssignals »A*B*«. liegen dann an sämtlichen Eingängen zum Tor 806 Signale an, so daß dieses Tor ein positives Signal erzeugt, um die beiden Register A* und B* zu füllen.
Als zweites Beispiel soll der Fall betrachtet werden, in dem A, B und X* sämtlich 1 sind. Da A = 1 ist, ist die Ader 820 positiv und sperrt das Tor 806. Da X* = 1 ist, ist auch die Ader 822 positiv und
tretende Endborgersignal 1 steuert einen Eingang zur NUND-Schaltung 842 an, deren Ausgang mit den Einstelleingängen der Stufen ^4*36 und B* 36 verbunden ist. Das Tor 842 erhält außerdem Taktimpulse 3, so daß es beim Auftreten des Endborgersignals 1 ein positives Signal erzeugt, um die Stufen ^4*36 und B* 36 einzustellen. Wie bereits zuvor erwähnt wurde, wird das Endborgersignal 1 dann er
sperrt die Tore 800 und 808. Da B gleichfalls 1 ist, 50 zeugt, wenn das Teilprodukt den 0-, 1- oder 2fachen ist auch die Ader 824 positiv und sperrt das Tor 802. Wert des Multiplikanden darstellt, da die Halbsub-Da die Tore 800 und 802 somit gesperrt werden, erscheinen an ihren Ausgängen negative Signale, die
der NODER-Schaltung Ü810 zugeführt werden. Da
alle Eingänge zur NODER-Schaltung Z7810 negativ 55
sind, erzeugt diese Schaltung ein positives Ausgangssignal, um das Tor 804 zu sperren. Beim Auftreten
des Befehlssignals »A*B* füllen« und des Taktimpulses 3 liegt an mindestens jeweils einem Eingang zu
den Toren 804, 806 und 808 ein positives Signal an, 60 Stufen B* 36 ... B* 01 werden den Stufen 35 ... 00 so daß diese Tore ein negatives Ausgangssignal er- des Halbsubtrahierers AB zugeleitet. Die Ausgangszeugen. Da die Kippschaltungen der Register A* und
B* nur unter dem Einfluß positiver Signale eingestellt
werden können, ergibt sich somit, daß die negativen
Ausgangssignale der Tore 804, 806 und 808 keine 65
Wirkung auf diese Kippschaltungen haben und
diese somit in ihrem geräumten bzw. 0-Zustand
traktion des Komplementwertes einer dieser Größen stets ein Resultat mit einem negativen Vorzeichen im ^4*-Register ergibt.
Das Ausgangssignal der Stufe .4*36 wird den Stufen 35 und 34 des Halbsubtrahierers AB zugeführt, während die Ausgangssignale der Stufen Λ * 35 ... Λ * 02 den Stufen 33 ... 00 des Halbsubtrahierers zugeführt werden. Die Ausgangssignale der
bleiben.
signale der Stufen .4*00, A* 01 und B* 00 werden dem in F i g. 10 gezeigten ersten Vollsubtrahierer zugeführt.
Der Halbsubtrahierer AB ist im unteren Teil der Fig. 9a und 9b dargestellt. Die Arbeitsweise dieses Halbsubtrahierers entspricht der des zuvor beschriebenen Halbsubtrahierers A*B*. Jede Stufe des Halb-
subtrahierers AB besteht aus den Schaltelementen 900, 902, 904, 906, 908 und 910, welche dieselbe Funktion haben wie die Elemente 800, 802, 804, 806, 808 und 810 des Halbsubtrahierers A*B*. Jede Stufe des Halbsubtrahierers AB erhält Eingangssignale von der entsprechenden Stufe des XS-Registers, der nächsthöheren Stufe des jB*-Registers und der übernächsten höheren Stufe des .^-Registers. Wie bereits oben ausgeführt wurde, ergibt sich bei dieser allgemeinen Anordnung insofern eine Ausnahme, als das Signal der Stufe .4*36 beiden Stufen 35 und 34 des Halbsubtrahierers zugeführt wird, um das Vorzeichen weiterleiten zu können.
Die Funktionstabelle 6 zeigt, welche Ausgangssignale der Halbsubtrahierer AB erzeugt.
Tabelle 6
A* B* XS A B
0 0 0 T-t 1
0 0 1 0 0
1 0 0 0 0
1 0 1 1 0
0 1 0 0 1
0 1 1 1 1
1 1 0 1 1
1 1 1 0 0
Angesichts der Ähnlichkeit zwischen dem Halbsubtrahierer AB und dem zuvor beschriebenen Halbsubtrahierer A*B* erscheint eine weitere Beschreibung des zuletzt genannten Halbsubtrahierers nicht erforderlich.
Das Befehlssignal »AB füllen« erscheint auf der Ader 370, solange die zweite Multiplizierfolge-Kippschaltung eingestellt ist. Dieses Befehlssignal wird in der NODER-Schaltung Ü912 negiert und an jeweils einen Eingang der Tore 904, 906 und 908 angelegt. Diese Tore erhalten außerdem Taktimpulse 1, so daß die Ausgangssignale des Halbsubtrahierers AB während der ersten Phase der Maschinenperioden 9... 18 in die Register A und B ausgeblendet werden.
Die Differenzziffern und Borgerbits, welche das vom Halbsubtrahierer AB gebildete aufgelaufene Teilprodukt darstellen, werden in das Register A bzw. B eingespeichert. Beide Register sind im oberen Teil der F i g. 9 a und 9 b dargestellt.
Das /4-Register umfaßt 38 Stufen, die jeweils eine Kippschaltung 930 enthalten. Die Einstelleingänge der Kippschaltungen 830 der Stufen .433... A 00 sind mit den Toren 904 und 906 der Stufen 35 ... 02 des Halbsubtrahierers AB verbunden. Die Einstelleingänge der Kippschaltungen der Stufen A 37 und A 36 werden durch Ausgangssignale der Tore 904 und 906 der Stufe 01 bzw. 00 gesteuert. Auf diese Weise werden die vom Halbsubtrahierer AB gebildeten Teilprodukte bei der Überführung in das ^4-Register um zwei Binärstellen nach rechts verschoben.
Die in den Stufen 35 ... 00 des XS-Registers befindliche Information kann in die entsprechenden Stufen des /!-Registers übergeführt werden. Diese Übertragung erfolgt unter dem Einfluß des Befehlssignals »XS nach A«., welches während der Einstellfolge auf den Adern 238 und 264 auftritt. Das Befehlssignal »XS nach wird in der NODER-Schaltung Ü914 negiert und an einen Eingang einer Gruppe von NUND-Schaltungen Ά 916 angelegt. Diese Tore erhalten außerdem Taktimpulse 1 und liegen mit ihren Ausgängen an den Einstelleingängen der Kippschaltungen 930, so daß der im XS-Register befindliche Wert während der Taktzeiten 61
ίο und 71 der Einstellfolge in das A -Register übergeführt wird.
Das Befehlssignal »A räumen« tritt während der Einstellfolge auf den Adern 262 und 295 auf und wird in der NODER-Schaltung Ü918 negiert und an einen Eingang zur NUND-Schaltung 920 angekoppelt. Diese NUND-Schaltung erhält außerdem Taktimpulse 4 und erzeugt somit zu den Taktzeiten 64 und 74 der Einstellfolge ein positives Signal, welches an den Rückstelleingang der in den Stufen
ao A 00 ... A 35 vorgesehenen Kippschaltungen angelegt wird. Das Befehlssignal »AB räumen« tritt auf der Ader 360 auf, solange die zweite Multiplizierfolge-Kippschaltung eingestellt ist. Dieses Befehlssignal wird in der NODER-Schaltung Ü922 invertiert und durchläuft den Negator 924 sowie die NODER-Schaltung Ü918, um einen Eingang der NUND-Schaltung ^T920 anzusteuern. Diese NUND-Schaltung erzeugt daher positive Ausgangssignale, um das ^[-Register während der vierten Phase der Perioden 8 ... 17 zu räumen.
In das .^-Register kann außerdem Information vom Hauptaddierer 44 über die Adern 926 übergeführt werden. Der Addierer erzeugt ein positives Signal, wenn die entsprechende Stufe eine »0« ent-
hält, sowie ein negatives Signal, wenn die entsprechende Stufe eine »1« enthält. Dieses Ausgangssignal wird über die Ader 926 an den Rückstelleingang der entsprechenden Stufe des /!-Registers angelegt. Soll vom Hauptaddierer ein Wert in das /!-Register übertragen werden, so erscheint auf der Ader 386 das Befehlssignal »A einstellen«. Dieses Befehlssignal wird in der NODER-Schaltung Ü928 invertiert und an einen Eingang der NUND-Schaltung Ά 930 angelegt. Dieses Tor erhält außerdem Taktimpulse 1 und erzeugt somit positive Ausgangssignale, die den Einstelleingängen der in den Stufen A 35 ... A 00 befindlichen Kippschaltungen 930 zugeleitet werden. Die Übertragung von Information aus dem Hauptaddierer in das ./!-Register wird daher so durchgeführt, daß zunächst jede Stufe des /!-Registers in der Phase 1 eingestellt und dann in der Phase 2 wieder rückgestellt wird, wenn von der entsprechenden Stufe des Addierers ein positives Ausgangssignal erzeugt wird.
Das die Borgerbits speichernde Register B besteht aus 37 Stufen, die jeweils eine Kippschaltung 932 enthalten. Die Einstelleingänge der Kippschaltungen der Stufen J? 33 .. .Z? 00 sind mit den Ausgängen der Tore 906 und 908 der Stufen 35... 02 des Halbsubtrahierers AB verbunden. Die Kippschaltungen der Stufen B 36 und B 35 liegen mit ihren Einstelleingängen an den Ausgängen der Tore 906 und 908 der Stufen 01 bzw. 00 des Halbsubtrahierers. Bevor Information in das 5-Register übergeführt wird, wird dieses Register stets in der vorangegangenen Phase geräumt. Das Ausgangssignal der NODER-Schaltung Ό 922 wird an einen Eingang der NUND-Schaltung Z934 angelegt, die außerdem noch
Taktimpulse 4 erhält. Dieses Tor erzeugt somit während der vierten Phase der Perioden 8... 18 ein positives Signal, welches dem Rückstelleingang der Kippschaltung einer jeden Stufe des ß-Registers sowie dem Rückstelleingang der Kippschaltungen der Stufen A 36 und A 37 zugeführt wird.
Wie aus der vorstehenden Beschreibung ersichtlich ist, werden also die Ausgangssignale des HaIbsubtrahierers AB während der Überführung in die Register A und B effektiv um zwei Stellen nach rechts verschoben. Dadurch bleiben die Stufen B 34, A34 und A35 leer. Um das Vorzeichen in diese Stufen zu leiten, wird das auf der Ader 634 auftretende Endborgersignal 2 an einen Eingang zur NUND-Schaltung Z936 angelegt. Diese NUND-Schaltung erhält außerdem Taktimpulse 1 und liegt mit ihrem Ausgang am Einstelleingang der Kippschaltungen der Stufen B 34, A 34 und A 35.
Die Ausgangssignale der Stufen B34 .. .BOO werden dem Halbsubtrahierer A*B* kontinuierlich mit einer Verschiebung um eine Binärstelle nach links zugeführt. Das Signal der Stufe £36 wird der niedrigsten Stufe des Halbsubtrahierers A*B* zugeführt. Die Ausgangssignale der Stufen A 35 ... A 00 werden dem Halbsubtrahierer A*B* ohne Verschiebung kontinuierlich zugeführt. Außerdem liegen die Stufen A 35 ... A 00 mit ihrem Einstellausgang an einem dem Z-Register zugeordneten Eingabetor sowie an einem dem ß-Register zugeordneten Eingabetor, so daß der Inhalt des /4-Registers in das X- oder ß~Register ohne Verschiebung übergeführt werden kann, während der Multiplikator und der Multiplikand auf ihre Vorzeichen geprüft und dann während der Einstellfolge eingespeichert werden.
Die Einstell- und Rückstellausgänge der Stufe B 35 sowie der Stufen A37 und A36 sind mit dem in Fig. 11 gezeigten zweiten Vollsubtrahierer verbunden, um in jedem iterativen Zyklus zwei Produktstellen zu bilden.
Vollsubtrahierer und Pufferregister
40
Der erste Vollsubtrahierer 32 und das erste ß-Pufferregister 36 sind in Fig. 10 dargestellt. Der erste Vollsubtrahierer hat die Aufgabe, eine Vollsubtraktion durchzuführen, wobei der zwangläufige Endborger sowie das aus der vorhergehenden, vom zweiten Vollsubtrahierer ausgeführten Vollsubtraktion erhaltene Borger- bzw. Überlaufbit und das Borgerbit der niedrigsten Stelle des B*-Registers von den Bits der beiden niedrigsten Stellen des A*-Registers subtrahiert werden. Durch diese Subtraktion wird verhindert, daß das Borgerbit bei der Rechtsverschiebung des Inhalts des5*-Registers und dessen Überführung in den Halbsubtrahierer AB verlorengeht. Durch diese Subtraktion werden ein Produktstellenpaar sowie ein Borgerimpuls gebildet, die in das erste ß-Pufferregister übergeführt werden. Die beiden Produktstellen werden anschließend in die Stufen β 33 und β 32 übertragen, während das Borgerbit dem in Fig. 11 gezeigten zweiten Vollsubtrahierer zugeführt wird.
Die Signale B* 00 und Z* 01 werden den Toren 1000 und 1002 zugeführt. Der Ausgang des Tores 1000 ist mit dem Einstelleingang der ersten Borgerkippschaltung verbunden. Der Ausgang des Tores 1002 ist mit der NODER-Schaltung Ü1004 und der NUND-Schaltung Z1006 verbunden. Die Signale F*00 und A* 01 werden an die NUND-Schaltung Z1008 angelegt, deren Ausgang mit der NODER-Schaltung Ü1004 und der NUND-Schaltung Z1006 verbunden ist. Das Ausgangssignal der NODER-Schaltung Ü1004 wird an die NUND-Schaltung /41010 angelegt. Das Borgersignal 2 sowie das Endborgersignal 1 werden an die NUND-Schaltung Z1012 angelegt, deren Ausgang mit den NODER-Schaltungen (71014 und Ü1016 sowie den NUND-Schaltungen UlOlO und Z1018 verbunden ist. Das Signal Z* 00 wird an die NUND-Schaltung Z1018 sowie an die NODER-Schaltung U1020 angelegt. Das Endborgersignal T sowie das Borgersignal 2" werden an die NUND-Schaltung Z1022 angelegt, deren Ausgang mit Ü1016, Z1018 und Ü1020 verbunden ist. Das Ausgangssignal der NODER-Schaltung Ü1016 und das Signal A* 00 werden an die NUND-Schaltung Z1024 angelegt, deren Ausgang mit dem Einstelleingang der niedrigsten Stufe des ersten ß-Pufferregisters verbunden ist. Außerdem wird auch das Ausgangssignal der NUND-Schaltung Z1018 an den Einstelleingang der niedrigsten Stufe des ersten ß-Pufferregisters angelegt. Das Ausgangssignal der NODER-Schaltung Ü1020 wird der NUND-Schaltung ZlOlO sowie der NODER-Schaltung Ü1014 zugeführt, während das Ausgangssignal der zuletzt genannten NODER-Schaltung an der NUND-Schaltung Z1006 anliegt. Das Ausgangssignal der NUND-Schaltung ZlOlO wird dem Einstelleingang der höchsten Stufe des ersten ß-Pufferregisters zugeführt, während das Ausgangssignal der NUND-Schaltung Z1006 . dem Einstelleingang der ersten Borger-Kippschaltung sowie der höchsten Stufe des ersten ß-Pufferregisters zugeleitet wird.
An sämtliche Tore 1000, 1006, 1010, 1018 und 1024 werden Taktimpulse 1 angekoppelt, so daß das Resultat der Vollsubtraktion nur in der ersten Phase einer jeden Periode in das erste ß-Pufferregister übergeführt werden kann. Darüber hinaus werden die Tore 1000 und 1006 noch durch das auf der Ader 326 auftretende Befehlssteuersignal »Borger 1« angesteuert. Dieses Befehlssteuersignal wird in den Taktzeiten 82... 182 erzeugt und veranlaßt damit die Tore 1000 und 1006, während der Maschinenperioden 9... 18 Borgerimpulse zu erzeugen. In allen übrigen Taktzeiten ist das Befehlssteuersignal »Borger 1« positiv, um die Einstellung der ersten Borgerkippschaltung zu verhindern.
Fig. 11 zeigt den zweiten Vollsubtrahierer 34 und das zweite ß-Pufferregister 38. Das zweite ß-Pufferreigster wird in der zweiten Phase einer jeden Maschinenperiode geräumt, in der die dritte Multiplizierfolge-Kippschaltung rückgestellt wird. Das Befehlssignal »räume zweites ß-Pufferregister« erscheint auf der Ader 382 und wird an den Rückstelleingang der zweiten Borger-Kippschaltung sowie der Kippschaltungen beider Stufen des zweiten ß-Pufferregisters angelegt.
Wie zuvor erwähnt wurde, treten in der vorliegenden Multiplizieroperation neun iterative Zyklen auf, in denen die 36 Multiplikatorstellen abgetastet und 36 niedrigwertige Produktstellen gebildet werden. Am Schluß dieser neun iterativen Zyklen erscheinen das Vorzeichen und die 35 hochwertigen Produktstellen als eine Reihe von Differenzstellen und eine Reihe von Borgerbits. Es findet daher ein weiterer Zyklus statt, in welchem diese Borgerbits zu den Summenstellen des Hauptaddierers halb addiert werden. Der zweite Vollsubtrahierer erzeugt das letzte
509 690/395
Paar der Produktstellen, die während der iterativen Zyklen gebildet wurden. Darüber hinaus kann dieser Vollsubtrahierer ein Borgerbit bilden, durch welches die zweite Borger-Kippschaltung eingestellt wird. Dieses Borgerbit muß bei der im Hauptaddierer durchgeführten Halbaddition der Borgerbits und Summenstellen mitberücksichtigt werden. Der Einstellausgang der zweiten Borger-Kippschaltung ist mit einer NUND-Schaltung IT 1126 verbunden, der außerdem noch das auf der Ader 390 auftretende Befehlssignal »52 zum Addierer« zugeführt wird. Dieses Befehlssignal wird von der dritten Phase der Maschinenperiode 17 bis zur dritten Phase der Maschinenperiode 18 erzeugt, in der die letzte Halbaddition im Hauptaddierer ausgeführt wird. Am Ausgang der NUND-Schaltung Ά1126 erscheint das Signal 52, welches der Borgerpyramide des Hauptaddierers als Endborgerimpuls zugeführt wird.
Der zweite Vollsubtrahierer arbeitet genauso wie der erste Vollsubtrahierer. Er erhält Signale von den Stufen ^437, .436 und 535 sowie von der zweiten Endborger-Kippschaltung und der ersten Borger-Kippschaltung. Der Borgerimpuls B 35 wird von A 37 subtrahiert, während die vom Borgerimpuls 1 und
ίο dem Endborgerimpuls 2 dargestellten Borgerbits von .436 subtrahiert werden. Das Resultat der Subtraktion wird in das zweite g-Pufferregister während der dritten Phase eines jeden Zyklus ausgeblendet, d. h. wenn die Tore 1100, 1106, 1110, 1118 und 1124 durch einen Taktimpuls geöffnet werden.
Tabelle 7
Λ 37 Λ 36 B 35 Endborger 2 Borger 1 Borger 2 Pufferregister 2
hoch
Pufferregister 2
niedrig
A* 01 A* 00 5*00 Endborger 1 Borger 2 Borger 1 Pufferregister 1
hoch
Pufferregister 1
niedrig
0 0 0 0 0 0 0 0
1 0 0 0 0 0 1 0
0 1 0 0 0 0 0 1
1 1 0 0 0 0 1 1
0 0 1 0 0 1 1 0
1 0 ' 1 0 0 0 0 0
0 1 1 0 0 1 1 1
1 1 1 0 0 0 0 1
0 0 0 1 0 1 1 1
1 0 0 1 0 0 0 1
0 1 0 1 0 0 0 0
1 1 0 1 0 0 1 0
0 0 1 1 0 1 0 1
1 0 1 1 0 1 1 1
0 1 1 1 0 1 1 0
1 1 1 1 0 0 0 0
0 0 0 0 1 1 1 1
1 0 0 0 1 0 0 1
0 1 0 0 1 0 0 0
1 1 0 0 1 0 1 0
0 0 1 0 1 1 0 1
1 0 1 0 1 1 1 1
0 1 1 0 1 1 1 0
1 1 1 0 1 0 0 0
0 0 0 1 1 1 1 0
1 0 0 1 1 0 0 0
0 1 0 1 1 1 1 1
1 1 0 1 1 0 0 1
0 0 1 1 1 1 0 0
1 0 1 τ—Ι 1 1 1 0
0 1 1 1 1 1 0 1
1 1 1 1 1 1 1 1
Aus der Funktionstabelle 7 können die Ausgangssignale des ersten und zweiten Vollsubtrahierers entnommen werden. Als Beispiel sei der Fall angenommen, in welchem die Eingangssignale des ersten Vollsubtrahierers, die ihm von den Stufen A*01, A*00 und ß*00 sowie von der ersten Endborgerkippschaltung und der zweiten Borgerkippschaltung zugeführt werden, sämtlich Einsen sind. Die eigentliche Rechenoperation lautet wie folgt:
Iterationszähler
Borger 1 hoch niedrig
A* 01
A* 00
5*00
Endborger 1
Borger 2
Das Ergebnis der Subtraktion 3—2, 1 und 1 ist — 1. Um das Äquivalent von —1 zu erhalten, werden die hohe und die niedrige Stelle des ersten Pufferregisters eingestellt, um den Wert 3 darzustellen; außerdem wird die erste Borger-Kippschaltung eingestellt, um bei der nächsten Subtraktion des zweiten Vollsubtrahierers 1 von der nächsthöheren Stelle zu borgen. Die Subtraktion einer »1« von der nächsthöheren Stelle ist dasselbe, als wenn man 4 abzieht; somit ergibt sich — 4+3 = — 1.
Im Fall des obenerwähnten Beispiels sind die Adern B* 00, A* 01, Endborger 1, Borger 2 und A * 00 sämtlich negativ. Die übrigen Eingangssignale des ersten Halbsubtrahierers sind positiv. Das Signal /1*01 ist positiv und sperrt die NUND-Schaltung Z1002, die ein negatives Ausgangssignal erzeugt, um einen Eingang zur NUND-Schaltung 1006 anzusteuern. Das Signal jB*OO ist positiv und sperrt die NUND-Schaltung Z1008, die ein negatives Signal erzeugt, um den zweiten Eingang zur NUND-Schaltung Z1006 anzusteuern. Beide Eingangssignale der NUND-Schaltung Z1012 sind negativ, so daß dieses Tor ein positives Ausgangssignal erzeugt, welches in der NODER-Schaltung Ü1014 invertiert wird, um den dritten Eingang zur NUND-Schaltung Z1006 anzusteuern. Mit dem Auftreten eines Taktimpulses 1 erzeugt die NUND-Schaltung Z1006 ein positives Signal, um die erste Borger-Kippschaltung sowie die hohe Stufe des ersten g-Pufferregisters einzustellen.
Das positive Ausgangssignal der NUND-Schaltung /Ϊ1012 wird außerdem in der NODER-Schaltung Ό1016 negiert und steuert einen Eingang zur NUND-Schaltung Z1024 an. Dieses Tor wird außerdem durch das negative Signal /1*00 angesteuert, so daß es in der Phase 1 ein positives Signal erzeugt, um die niedrige Stufe des ersten Pufferregisters einzustellen.
Dieser Ablauf stimmt mit der Funktionstabelle 7 überein, aus der ersichtlich ist, daß die erste Borgerkippschaltung sowie beide Stufen des ersten ß-Pufferregisters eingestellt werden müssen, wenn /1*01, /4*00, B* 00, Endborger 1 und Borger 2 sämtlich Einsen sind. Die weitere Arbeitsweise des ersten und zweiten Vollsubtrahierers beim Auftreten anderer Eingangssignalkombinationen ergibt sich aus der vorstehenden Beschreibung und der Funktionstabelle 7.
Der in Fig. 12 gezeigte Iterationszähler bestimmt die Anzahl der während der Multiplizieroperation auszuführenden iterativen Zyklen. Bei einem 36stelligen Multiplikator wird der Zähler zunächst auf den Wert n/4+1 = 10 eingestellt. Bei jedem Zyklus wird vom Zählerstand 1 subtrahiert, so daß der Zähler nach Ablauf von zehn Zyklen den Zählerstand 0 erreicht hat. Auf diese Weise können n/4 = 9 iterative Zyklen und ein Endkorrekturzyklus durchgeführt werden.
Der Zähler besteht aus einem Doppelrangregister mit einem unteren Rang K und einem oberen Rang K*, Mitteln, um von dem im Rang K befindlichen Wert 1 zu subtrahieren und das Resultat in den Rang K* zu überführen, sowie Mitteln, um den im Rang K* befindlichen Wert wieder nach K zurückzuleiten. Das Befehlssignal »K räumen« tritt während der Einstellfolge auf der Ader 280 auf und wird in
ao der NODER-Schaltung Ü1200 invertiert und an einen Eingang einer NUND-Schaltung Ά1202 angelegt. Diese NUND-Schaltung erhält außerdem Taktimpulse 3, so daß sie zur Taktzeit 73 ein positives Signal erzugt, welches an den Rückstelleingang der Kippschaltung einer jeden Stufe des 2£-Ranges angelegt wird. Zur Taktzeit 74 erscheint auf der Ader 336 das Befehlssignal i>K auf 10 einstellen«. Dieses positive Signal wird an die Einstelleingänge der Stufen K 03 und KOl angelegt. Da die Stufe £00 die niedrige Stufe und die Stufe /£03 die hohe Stufe darstellt, ist somit ersichtlich, daß durch das Anlegen dieses Signals der binäre Wert der Dezimalzahl 10 in das Register eingespeichert wird.
Der Einstellausgang der Stufe KOO ist mit den NUND-Schaltungen Z1204 und 3Γ1206 verbunden. Die Einstellausgänge der Stufen KOl, K02 und K03 liegen an einem Eingang der Tore 1206, 1208 bzw. 1210. Der Rückstellausgang der Stufen KOO und XOl ist mit den NUND-Schaltungen Z1212, Ά1214 und Z1216 verbunden. Der Rückstellausgang der Stufe K 02 liegt an den NUND-Schaltungen Ά1214 und H1216. Der Rückstellausgang der Stufe K 03 ist mit der NUND-Schaltung Ά1216 verbunden. Die Ausgangssignale der NUND-Schaltungen 1212 und Ä1206 werden der NUND-Schaltung Ά1218 zugeführt, während die Ausgangssignale der NUND-Schaltungen Ά1208 und Z1214 an der NUND-Schaltung Z1220 anliegen. Die Ausgangssignale der NUND-Schaltungen Z1210 und Z1216 werden der NUND-Schaltung Ά1222 zugeleitet. Außerdem ist der Ausgang der NUND-Schaltung Ά1212 mit der NUND-Schaltung Ά1208 verbunden, während der Ausgang der NUND-Schaltung Ά1214 mit der NUND-Schaltung Z1210 verbunden ist. Die NUND-
Schaltungen Z1204, Z1218, Z1220 und Z1222 liegen mit ihren Ausgängen am Rückstelleingang der Kippschaltungen K* 00 ... K* 03.
Sämtliche Stufen des X*-Ranges werden während der ersten Phase einer jeden Periode eingestellt. Der Taktimpuls wird im Negator 1224 negiert und an den Einstelleingang der Kippschaltung einer jeden Stufe des X*-Ranges angelegt.
Die Kippschaltungen K* 00, K* 01, K* 02 und K* 03 liegen mit ihrem Einstellausgang an einem Eingang der Tore 1226,1228,1230 bzw. 1232. Diese Tore erhalten außerdem Taktimpulse 4 sowie das Befehlssignal »K* nach K«, welches auf der Ader 366 auftritt und vor seiner Anschaltung an die Tore
im Negator 1234 negiert wird. Während der vierten Phase der Maschinenperioden 8... 17 wird daher der im £*-Rang befindliche Wert in den iC-Rang übergeführt. Der .K-Rang wird in der dritten Phase, unmittelbar bevor diese Übertragung stattfindet, geräumt. Das auf der Ader 346 auftretende Befehlssignal »K räumen« wird in der NODER-Schaltung Ü1200 invertiert und steuert einen Eingang der NUND-Schaltung Z1202 an. Beim Auftreten des Taktimpulses 3 erzeugt die NUND-Schaltung Z1202 ein positives Signal, um jede Kippschaltung des isT-Ranges rückzustellen.
Zur Beschreibung der Arbeitsweise dieses Zählers sei angenommen, daß in den £-Rang der Wert 10 zur Taktzeit 74 eingegeben wird. Zur Taktzeit 81 werden sämtliche Stufen des Z*-Ranges durch das Ausgangssignal des Negators 1224 eingestellt. Da die Stufe KOO eine »0« enthält, tritt am Eingang der NUND-Schaltungen Z1204 und Z1206 ein positives Signal auf. Da die Stufe £01 eine »1« enthält, werden durch das an ihrem Rückstellausgang auftretende positive Signal die NUND-Schaltungen Z1212, /T1214 und Z1216 gesperrt, wodurch diese Tore negative Signale erzeugen. Da die Stufe K 03 eine »1« enthält, wird durch das an ihrem Einstellausgang auftretende negative Signal ein Eingang zur NUND-Schaltung Z1210 angesteuert. Das negative Signal der NUND-Schaltung Z1214 steuert einen zweiten Eingang zur NUND-Schaltung Z1210 an, so daß dieses Tor ein positives Ausgangssignal erzeugt, um die NUND-Schaltung Z1222 zu sperren. Da die Stufe K 02 eine »0« enthält, wird die NUND-Schaltung Z1208 durch das positive Einstellausgangssignal dieser Kippschaltung gesperrt. Das am Ausgang der NUND-Schaltung Z1208 auftretende negative Signal steuert zusammen mit dem negativen Signal der NUND-Schaltung Z1214 die NUND-Schaltung Z1220 an. Das negative Ausgangssignal der NUND-Schaltung Z1206 steuert zusammen mit dem negativen Ausgangssignal der NUND-Schaltung Z1212 die NUND-Schaltung Z1218 an. Durch den im ÜT-Rang befindlichen Wert 1010 werden also die Tore 1204 und 1222 gesperrt, während die Tore 1218 und 1220 vorbereitet werden. Zur Taktzeit 82 werden die Tore 1204, 1218, 1220 und 1222 durch Taktimpulse 2 abgetastet, so daß die Tore 1218 und 1220 positive Ausgangssignale erzeugen, um die Stufen .K* 01 und K* 02 rückzustellen. Am Ende der Taktzeit 82 enthält daher der K*-Rang den Wert 1001, der das binäre Äquivalent von 9 darstellt. Zur Taktzeit 83 erzeugt die NUND-Schaltung Z1202 ein positives Signal, um den i£-Rang rückzustellen; zur Taktzeit 84 wird der im £*-Rang befindliche Binärwert 1001 durch das Befehlssignal »K* nach in den ÄT-Rang übergeführt. Durch diesen Operationszyklus wird also der Zählerstand des isT-Ranges von 10 auf 9 verringert.
Nach Durchführung acht solcher Operationszyklen wird in den K-Rang der Wert 2 übergeführt. Die Adern 1270,1272 und 1276 sind mit dem Rückstellausgang der Stufen K02, K03 bzw. KOO verbunden, während die Ader 1274 mit dem Einstellausgang der Stufe KOl verbunden ist, um die Anwesenheit einer »2« im Ji-Rang festzustellen. Die Adern 1270, 1272 1276 sind mit der in F i g. 3 gezeigten NUND-Schaltung Z354 verbunden; am Schluß der nächsten Phase 2 erzeugt dieses Tor ein Ausgangssignal, um die erste Multiplizier-Steuerkippschaltung rückzustellen. Wie in Verbindung mit F i g. 3 beschrieben wurde, wird dadurch die Rückstellung der Multiplizier-Steuereinrichtung eingeleitet. Wie das Zeitdiagramm in F i g. 13 b zeigt, hat sich der Zählerstand des Iterationszählers bis zur vollständigen Rückstellung der Multiplizier-Steuereinrichtung bis auf 0 verringert.
In dem vorstehend beschriebenen Ausführungsbeispiel werden subtraktive Halbaddierer 20 und 22,
ίο Vollsubtrahierer 32 und 34 sowie eine Borgerpyramide und ein Hauptaddierer 44 mit subtraktiver Logik verwendet. Diese Elemente lassen sich durch additive Halbaddierer, Volladdierer sowie eine Übertragungspyramide und einen Hauptaddierer mit additiver Logik ersetzen, wenn man zur Berücksichtigung der hierbei auftretenden Endüberträge geringe Abänderungen vornimmt.
Als Beispiel soll die Addition von —3 und +4 in einem additiven Addierer betracht werden.
1100
-3
0100 (+) +4
1 0000
1 Endübertrag
0001 Summe
Demgegenüber sieht die gleiche, von einem subtraktiven Addierer ausgeführte Addition wie folgt aus:
1100 -3
1011 (-) -4
0001 Summe
Wie aus diesen Zahlenbeispielen ersichtlich ist, ist bei dem additiven Addierer ein Endübertrag erforderlich, während beim subtraktiven Addierer dieser Endübertrag wegfällt. Es kann nachgewiesen werden, daß der additive Addierer bei zwei beliebigen Operanden einen Endübertrag dann erzeugt, wenn der subtraktive Addierer kein Endborgerbit erzeugt, während umgekehrt der additive Addierer keinen Endübertrag erzeugt, wenn der subtraktive Addierer ein Endborgerbit bildet.
Es liegt somit nahe, den Betrieb der zwangläufigen Endübertragsschaltungen 40 und 42 umzukehren, um zwangläufige Endüberträge zu erzeugen, wenn an Stelle der subtraktiven Halbaddierer AB und A*B* additive Halbaddierer eingesetzt werden sollen. Dies läßt sich wie folgt durchführen:
In F i g. 5 werden die Anschlüsse zwischen den Einstell- und Rückstellausgängen der Kippschaltung 526 sowie der Tore 528 und 532 umgepolt, so daß die erste Endborger-Kippschaltung stets dann eingestellt wird, wenn die erste ß-Abtasteinrichtung bestimmt, daß das Teilprodukt das —lfache des Multiplikanden ist.
In F i g. 6 werden die Anschlüsse zwischen dem Einstell- und Rückstellausgang der Kippschaltung 626 sowie zwischen den Toren 628 und 632 umgepolt, so daß die zweite Endborger-Kippschaltung stets dann eingestellt wird, wenn die zweite ß-Abtasteinrichtung bestimmt, daß das Teilprodukt das — lfache des Multiplikanden ist.
Bei dieser Anordnung erzeugt dann der eine additive Halbaddierer die Summen- und Übertragsziffern, die in die Register A* und B* übertragen werden, während der andere additive Halbaddierer
die Summen- und Übertragsziffern bildet, die in die Register A und B übergeführt werden. Die Endübertragsschaltungen erzeugen also jetzt zwangläufige Endüberträge, die in A*, B*, A und B zum Zwecke der Weiterleitung des Vorzeichens eingegeben werden.
Der erste und der zweite Vollsubtrahierer werden durch einen ersten und zweiten Volladdierer ersetzt. Wie die Vollsubtrahierer erzeugen auch die Volladdierer Produktstellenpaare, welche in die ß-Pufferregister abgespeichert werden. Da jedoch Addierer benutzt werden, werden keine Borgerüberlaufsignale, sondern Übertragsüberlaufsignale erzeugt.
Der erste Volladdierer addiert den in der Stufe ß*00 enthaltenen Übertrag zur Stufe Λ*01 und addiert den zwangläufigen Endübertrag der Endübertragsschaltung 40 sowie den Übertrag des zweiten Volladdierers zur Stufe /4*00. Diese Operation entspricht der Arbeitsweise, wenn Subtrahierer eingesetzt werden, außer daß kein Borgerbit, sondern ein ao Übertragsbit gebildet werden kann. Dieses Übertragsbit wird dem zweiten Vollsubtrahierer zugeleitet. Dieser zweite Vollsubtrahierer addiert den in der Stufe 535 enthaltenen Übertrag zur Stufe /437 und addiert den zwangläufigen Endübertrag der Endübertragsschaltung 42 sowie den Übertrag des ersten Volladdierers zur Stufe A 36.
Die Borgerpyramide sowie der subtraktive Hauptaddierer werden durch eine Übertragspyramide und einen additiven Hauptaddierer ersetzt. Durch diese neue Einheit werden die im 5*-Register befindlichen Überträge weitergegeben und zu den im /4*-Register befindlichen Summenstellen halb addiert. Außerdem wird ein eventuell als Ergebnis der letzten Vollsubtraktion im zweiten Q-Pufferregister abgespeicherter Übertrag dem Hauptaddierer als Endübertrag zugeführt.
Additive Halbaddierer sowie Volladdierer, die in dem vorliegenden Ausführungsbeispiel der Erfindung eingesetzt werden können, sind in der Technik bekannt.

Claims (3)

Patentansprüche:
1. Multiplikationseinrichtung zur Durchführung der Multiplikation in mehreren Schritten, in denen jeweils ein Teilprodukt durch Multiplikation des Multiplikanden mit einer Multiplikatorstelle oder einer bestimmten Anzahl von solchen gebildet wird, dadurch gekennzeichnet, daß ein erstes und ein zweites Multiplikationswerk (12, 14) vorgesehen sind, an die ein erstes bzw. zweites Teilproduktregister (16, 18) angeschlossen sind, die ihrerseits mit dem Eingang eines ersten bzw. zweiten Addierwerks (20, 22) verbunden sind, die mit ihrem Ausgang zu einem ersten bzw. zweiten Resultatregister (24, 28; 26, 30) geschaltet sind, daß der Ausgang des zweiten Resultatregisters (26, 30) zu einem Eingang des ersten Addierwerks (20) und der Ausgang des ersten Resultatregisters (24, 28) zu einem Eingang des zweiten Addierwerks (22) geschaltet sind und daß die Multiplikationseinrichtung derart arbeitet, daß den Multiplikationswerken der Reihe nach und abwechslungsweise Multiplikatorstellen zugeführt werden und daß, wenn das erste (zweite) Multiplikationswerk eine Multiplikation vornimmt und das so erzeugte Teilprodukt in das erste (zweite) Teilproduktregister (16) eingibt, der Inhalt des zweiten (ersten) Teilproduktregisters (18) mit dem Inhalt des ersten (zweiten) Resultatregisters mittels des zweiten (ersten) Addierwerks zusammenaddiert und dem zweiten (ersten) Resultatregister zugeführt wird, worauf das erste (zweite) Resultatregister und das zweite (erste) Teilproduktregister gelöscht werden.
2. Multiplikationseinrichtung nach Anspruch 1, dadurch gekennzeichnet, daß das erste und zweite Resultatregister (24, 28; 26, 30) das Resultat in Form von Summenziffern und Übertragsziffern speichern und daß die Übertragsziffern mit einer um eins verminderten Stellenverschiebung dem jeweiligen Addierwerk (20,22) zugeführt werden.
3. Multiplikationseinrichtung nach Anspruch 1 und 2 zur binären Multiplikation, dadurch gekennzeichnet, daß jedes Multiplikationswerk eine Multiplikation mit zwei Multiplikatorstellen durchführt und eine Multiplikation entsprechend den Werten 00, OL, LO, LL, LOO (Wert der Multiplikatorstellen, allenfalls erhöht durch einen Korrekturwert) durch Addition des 00-, OL-, LO- oder -Olfachen Wertes des Multiplikanden vornimmt, und daß im Fall der Multiplikationsfaktoren LL oder LOO ein Korrekturwert OL von dem eine Multiplikation durchführenden Multiplikationswerk (12, 14) erzeugt wird, um den der für das andere Multiplikationswerk maßgebenden Wert 00, OL, LO, LL der Multiplikatorstellen erhöht wird.
In Betracht gezogene Druckschriften:
»Digitale Rechenanlagen«, Springer-Verlag, Berlin
1961, S. 199/200;
»Arithmetic Operations in Digital Computers«,
D. van Nostrand Comp. Inc., New York 1955,
S. 160/161.
Hierzu 5 Blatt Zeichnungen
509 690/595 9. SS Q Bundesdruclcefei Berlin
DES84753A 1962-05-09 1963-04-18 Multiplikationseinrichtung Pending DE1202542B (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US193472A US3192367A (en) 1962-05-09 1962-05-09 Fast multiply system

Publications (1)

Publication Number Publication Date
DE1202542B true DE1202542B (de) 1965-10-07

Family

ID=22713784

Family Applications (1)

Application Number Title Priority Date Filing Date
DES84753A Pending DE1202542B (de) 1962-05-09 1963-04-18 Multiplikationseinrichtung

Country Status (4)

Country Link
US (1) US3192367A (de)
CH (1) CH420676A (de)
DE (1) DE1202542B (de)
GB (1) GB1015175A (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1053147A (de) * 1963-06-04
US3730425A (en) * 1971-05-03 1973-05-01 Honeywell Inf Systems Binary two{40 s complement multiplier processing two multiplier bits per cycle

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL106122C (de) * 1953-04-20
US3069085A (en) * 1958-04-15 1962-12-18 Ibm Binary digital multiplier

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
None *

Also Published As

Publication number Publication date
CH420676A (de) 1966-09-15
US3192367A (en) 1965-06-29
GB1015175A (en) 1965-12-31

Similar Documents

Publication Publication Date Title
DE1549476C3 (de) Anordnung zur Ausführung von Divisionen
DE2911096C2 (de)
DE1549477B1 (de) Einrichtung zur schnellen akkumulation einer anzahl mehr stelliger binaerer operanden
DE2816711A1 (de) Divisionseinrichtung mit uebertrags- rettungsaddierwerk und nicht ausfuehrender vorausschau
DE2814078A1 (de) Addierschaltung mit zeitweiliger zwischenspeicherung des uebertrags
DE1549478B1 (de) Gleitkomma-Rechenwerk zur schnellen Addition oder Subtraktion binaerer Operanden
DE2221693B2 (de) Schaltungsanordnung zur Ausführung einer Multiplikation zwischen zwei Binärzahlen
DE3447634C2 (de)
DE1114050B (de) Elektronischer Gleitkomma-Rechner
DE1449564C3 (de) Recheneinrichtung zur Subtraktion mehrerer Operanden oder zu deren Addition durch Verwendung von Komplementärwerten eines der Operanden
DE1223177B (de) Elektronischer Digitalrechner mit Schaltung fuer die Errechnung der Quadratwurzel aus einer Binaerzahl
DE1202542B (de) Multiplikationseinrichtung
DE1499227C3 (de) Schaltungsanordnung für arithmetische und logische Grundoperationen
DE1549461C3 (de)
DE69209826T2 (de) Schnelle Addierkette
DE1424926B1 (de) Verfahren zur Multiplikation binaerer Zahlen in mehreren Operationsschritten
DE1234055B (de) Anordnung zur Addition oder Subtraktion
DE1181459B (de) Multiplikationsschaltung fuer elektronische Zifferrechenmaschinen
DE1524156B2 (de) Digitale elektronische recheneinrichtung
DE1303692C2 (de) Binaerrechner
DE2337356C3 (de) Im Dualsystem arbeitende Multiplizierschaltung
DE1424926C (de) Verfahren zur Multiplikation &#34;binarer Zahlen in mehreren Operationsschritten
DE1524131C (de) Binär-dezimales Serien-Serien-Rechenwerk mit Dezimalübertragkorrektor zur Addition und Subtraktion zweier binär-codierter Dezimalzahlen
DE1549465C (de) Multiplikationseinrichtung
DE2238409A1 (de) Elektronische serienaddier/subtrahiereinrichtung insbesondere fuer dezimale binaercodes