DE1259122B - Schaltungsanordnung zur Durchfuehrung verkuerzter Multiplikationen oder Divisionen - Google Patents
Schaltungsanordnung zur Durchfuehrung verkuerzter Multiplikationen oder DivisionenInfo
- Publication number
- DE1259122B DE1259122B DEJ28590A DEJ0028590A DE1259122B DE 1259122 B DE1259122 B DE 1259122B DE J28590 A DEJ28590 A DE J28590A DE J0028590 A DEJ0028590 A DE J0028590A DE 1259122 B DE1259122 B DE 1259122B
- Authority
- DE
- Germany
- Prior art keywords
- register
- bits
- circuit
- multiplier
- counter
- 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.)
- Withdrawn
Links
- 239000000047 product Substances 0.000 claims description 59
- 238000012546 transfer Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 8
- 239000007795 chemical reaction product Substances 0.000 claims description 3
- 238000013075 data extraction Methods 0.000 claims 1
- 238000007792 addition Methods 0.000 description 44
- 238000000034 method Methods 0.000 description 21
- 230000000295 complement effect Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 230000003247 decreasing effect Effects 0.000 description 6
- 239000012467 final product Substances 0.000 description 4
- 238000009825 accumulation Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- GSDSWSVVBLHKDQ-UHFFFAOYSA-N 9-fluoro-3-methyl-10-(4-methylpiperazin-1-yl)-7-oxo-2,3-dihydro-7H-[1,4]oxazino[2,3,4-ij]quinoline-6-carboxylic acid Chemical compound FC1=CC(C(C(C(O)=O)=C2)=O)=C3N2C(C)COC3=C1N1CCN(C)CC1 GSDSWSVVBLHKDQ-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 150000001768 cations Chemical class 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/533—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
- G06F7/5334—Reduction 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/5336—Reduction 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
- G06F7/5338—Reduction 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 each bitgroup having two new bits, e.g. 2nd order MBA
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63H—TOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
- A63H33/00—Other toys
- A63H33/008—Playhouses, play-tents, big enough for playing inside
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/535—Dividing only
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/535—Indexing scheme relating to groups G06F7/535 - G06F7/5375
- G06F2207/5352—Non-restoring division not covered by G06F7/5375
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Machine Translation (AREA)
- Complex Calculations (AREA)
- Executing Machine-Instructions (AREA)
- Error Detection And Correction (AREA)
Description
DEUTSCHES
PATENTAMT
AUSLEGESCHRIFT
Int. Cl.:
G06f
Deutsche Kl.: 42 m3-7/52
Nummer:
Aktenzeichen:
Anmeldetag:
Auslegetag:
Aktenzeichen:
Anmeldetag:
Auslegetag:
1259 122
J28590IXc/42m3
J28590IXc/42m3
17. Juli 1965
18. Januar 1968
Die Erfindung betrifft eine Schaltungsanordnung zur Durchführung verkürzter Multiplikationen oder
Divisionen durch Bildung von Mehrfachen bestimmter Operanden und Parallelablauf von Teiloperationen
mit 2 n-stelligen Registern, wobei in je einem «-stelligen Teil des einen Registers die Rechenoperanden
und im anderen Register die Teilergebnisse zur parallelen Verarbeitung in einem Paralleladdierwerk
gespeichert werden und die Seuerung der einzelnen Teiloperationszyklen durch In- bzw. Dekrementieren
von Zählschaltungen erfolgt.
Die Verfahren zur binären Multiplikation und Division haben sich, ausgehend von dem Zustand, in
dem einzelne Produkt- oder Quotientenbits in jedem iterativen Zyklus erzeugt werden, bis zu dem Zustand,
wo eine Vielzahl von Produkt- oder Quotientenbits in jedem Zyklus einer Multiplikation oder
einer Division erzeugt werden, unterschiedlich entwickelt. So wird beispielsweise in der USA.-Patentanmeldung
162 503 ein Divisionsalgorithmus angegeben, durch den eine Anzahl von Quotientenbits je
Iterationszyklus erzeugt werden kann. Im USA.-Patent 3 069 085 wird ein Multiplikationsalgorithmus
angegeben, in dem eine Mehrzahl von Multiplikatorbits in jedem Zyklus untersucht wird, um auf diese
Weise je Zyklus eine Mehrzahl von Produktbits zu erzeugen. Die beiden genannten Verfahren verwenden
während eines iterativen Additionszyklus Multiplikanden- oder Divisorvielfache, die zu einem Partialprodukt
addiert oder von einem Dividenden subtrahiert werden. Die obengenannten Verfahren haben
den Nachteil, daß zur Durchführung der Division ein besonderes Register für den Dividendenrest erforderlich
ist, das zur Durchführung von Linksverschiebungen ausgebildet sein muß. Im Fall der Multiplikation
ist ein besonderes Register für ein Partialprodukt erforderlich, das für Rechtsverschiebungen
ausgebildet sein muß.
Diese zusätzlichen Register, die zusätzlich auch zur Durchführung von Links- bzw. Rechtsverschiebungen
ausgebildet sein müssen, erhöhen den erforderlichen technischen Aufwand in unerwünschter
Weise.
In der USA.-Patentanmeldung 290 486 wird ein Addierer beschrieben, an dessen Eingang Paritätsprüfanordnungen
vorgesehen sind, die wirksam sind, auch wenn die dem Addiereingang zugeführten Operanden
in bezug auf einzelnen Bitgruppen zugeordnete Paritätsbits verschoben wurden. Im Addiererausgang
sind weiterhin Paritätsprüfmittel vorgesehen, die eine Paritätsprüfung am Ausgang auf Grund der
ursprünglich zugeführten Operanden ermöglichen,
Schaltungsanordnung zur Durchführung
verkürzter Multiplikationen oder Divisionen
verkürzter Multiplikationen oder Divisionen
Anmelder:
International Business Machines Corporation,
Armonk, N. Y. (V. St. A.)
Vertreter:
Dipl.-Ing. H. E. Böhmer, Patentanwalt,
7030 Böblingen, Sindelfinger Str. 49
Als Erfinder benannt:
Stanley Herbert Pitkowsky,
James Harold Shelly,
Poughkeepsie, N. Y. (V. St. A.)
Stanley Herbert Pitkowsky,
James Harold Shelly,
Poughkeepsie, N. Y. (V. St. A.)
Beanspruchte Priorität:
V. St. ν. Amerika vom 22. Juli 1964 (384 362) - -
die in dem Addierer zur Erzeugung einer Summe verschoben wurden.
Auch durch diese Maßnahme wird der technische Aufwand in unerwünschter Weise erhöht. Durch die
Verschiebung der Daten im Addierer selbst geht darüber hinaus zusätzliche Rechenzeit verloren.
In der obengenannten USA.-Patentanmeldung 503 werden zur Durchführung der Division
Quotientenvielfachbits auf Grund der Erstellung eines Divisordreifachen erzeugt. Zu diesem Zweck
ist ein besonderes Rechenregister zur Aufnahme von Divisordreifachen vorgesehen, die vor Beginn der
Divisionsoperation erzeugt werden müssen.
Auch diese Maßnahme bedingt zusätzlichen konstruktiven Aufwand und verlängert die Rechenzeit.
Um die Nachteile der in den oben angegebenen Literaturstellen beschriebenen Anordnungen zu vermeiden,
wird gemäß der Erfindung eine Schaltungsanordnung zur Durchführung verkürzter Multiplikationen
oder Divisionen durch Bildung von Mehrfachen bestimmter Operanden und Parallelablauf
von Teiloperationen mit 2 «-stelligen Registern, wobei in je einem n-stelligen Teil des einen Registers
die Rechenoperanden und im anderen Register die Teilergebnisse zur parallelen Verarbeitung in einem
Paralleladdierwerk gespeichert werden und die Steue-
709 719/208
3 4
rung der einzelnen Teiloperationszyklen durch In- Standardwort aus vier Gruppen oder Bytes, die ihrer-
bzw. Dekrementieren von Zählschaltungen erfolgt, seits jeweils aus acht Bits bestehen. Obwohl in der
angegeben, die dadurch gekennzeichnet ist, daß die Figur nicht näher dargestellt, ist jedem aus acht Bits
Ausgänge des niedrigstelligen Teils des ersten Re- bestehenden Byte ein Paritätsbit zum Zwecke der
gisters über eine Schaltung zur Null- oder Linksver- 5 Fehlerentdeckung zugeordnet. Die dargestellten Re-
schiebung um eine Stelle mit den Eingängen für den gister und Datenwege sind nur für Datenbits aus-
ersten Operanden des Paralleladdierwerks verbunden gelegt und sehen keine Einrichtungen für Paritäts-
sind, während die Eingänge für den zweiten Operan- bits vor.
den mit den Ausgängen eines Teils des zweiten Re- Die zu verarbeitenden Operanden können entweder
gisters über eine weitere Schaltung zur Null- oder io im Hauptspeicher 100 oder im örtlichen Speicher
Linksverschiebung um zwei Stellen verbunden sind, 101 untergebracht sein. Der Hauptspeicher 100 ist
und daß die Ausgänge des Paralleladdierwerkes ein adressierbarer Kernspeicher, der über aussteuerbar
über eine dritte Schaltung zur Null- oder gewählte Ausgangssammelschienen entweder 64 Davierstelligen
Rechts- bzw. Linksverschiebung mit tenbits oder wahlweise 32 Datenbits zur Verfügung
jedem Teil der beiden Register eingangsseitig ver- 15 stellen kann. Der örtliche Speicher 101 ist ein adresbunden
sind. sierbarer Speicher, der eine Mehrzahl von Registern
Weiterbildungen der Erfindung sind in den Unter- enthält. Jedes dieser Register hat eine Länge von
ansprächen gekennzeichnet. 32 Datenbits. Die durch das Datenverarbeitungs-
Ausführangsbeispiele der Erfindung werden nach- system auszuführenden Operationen werden durch
folgend an Hand der F i g. 1 bis 13 näher erläutert. 20 Instruktionen bestimmt, die durch den Hauptspeicher
Es zeigt 100 zur Verfügung gestellt werden. Eine für das vor-
F i g. 1 das Blockdiagramm eines Ausführungs- liegende Ausführungsbeispiel zu verwendende In-
beispieles der Erfindung, struktion besteht aus 16 Bits, die in das Register 102
F i g. 2 ein Blockdiagramm zur Veranschaulichung eingegeben werden. Die Bits 0 bis 7 der Instruktion
der Anordnung des Paritätsbits zur Verschiebung der 25 enthalten einen Operationscode, beispielsweise »mul-
Datenbits aus dem Paralleladdierer, tipliziere« oder »dividiere«. Die Instruktion enthält
Fig. 3 eine Aufstellung zur Veranschaulichung zwei 4-Bit-Adresseni?l und i?2, die den Zugriff zu
des Multiplikationsvorganges, den Operanden in dem örtlichen Speicher 101 er-
F i g. 4 eine Aufstellung zur Veranschaulichung möglichen. Hat der Zugriff zum örtlichen Speicher
des Divisionsvorganges, 30 101 einmal stattgefunden, so werden die Bits 12 bis
F i g. 5 ein Blockdiagramm der logischen Kreise 15 im Register 102 als Zähler zur Anzeige des Fort-
zur Auswahl einer Mehrzahl der während einer MuI- schreitens des Multiplizier- oder Dividiervorganges
tiplikation zu entschlüsselnden Multiplikatorbits, verwendet. Während einer Multiplizieroperation
Fig. 6 das Blockdiagramm einer logischen Schal- werden die i?2-Bits entsprechend einem Zählerstand
tung zur Erzeugung gewisser Steuerungen zur Durch- 35 von 15 eingestellt, während für eine Divisionsopera-
führung der in F i g. 3 gezeigten Vorgänge, tion der Inhalt auf Null eingestellt wird. Während
Fig. 7 ein Blockdiagramm einer Schaltung zur der Multiplikation wird der Inhalt des i?2-Zählers
Entschlüsselung von Multiplikatorbits zur Auswahl schrittweise jeweils um einen oder zwei Punkte er-
von Vielfachen eines Multiplikanden während der niedrigt oder dekrementiert. Während der Division
Multiplikation, 40 wird der Inhalt des i?2-Zählers schrittweise um eins
F i g. 8 ein Blockdiagramm einer Schaltung zum erhöht oder inkrementiert.
Sammeln der Bits eines Produktes während einer Die Operanden zur Durchführung der verschie-
Multiplikation, denen Operationen innerhalb des Datenverarbeitungs-
F i g. 9 einen Zeitplan mit mehreren Zyklen, in systems können entweder vom Hauptspeicher 100
denen verschiedene Steuerfunktionen gemäß F i g. 5 45 oder vom örtlichen Speicher 101 wahlweise zu einer
bis 8 durchgeführt werden, Mehrzahl von Registern mit einem Inhalt von 32 Bits
F i g. 10 eine Blockdiagramm mit den Schaltungen übertragen werden. Für bestimmte Operationen, bei-
zur Entschlüsselung eines Dividendenrestes zur Aus- spielsweise fürs Multiplizieren und Dividieren, kön-
wahl eines Divisorvielfachen, nen diese Register als Einzelregister betrachtet wer-
Fig. 11 ein Blockdiagramm einer Schaltung zur 50 den und führen die Bezeichnung 5-Register 103,
Angabe der Ergebnisse einer Addition eines Divisor- T-Register 104, .4-Register 105 und .B-Register 106.
vielfachen und eines Dividendenrestes gemäß der Das .B-Register 106 enthält vier zusätzliche Bitstellen
Aufstellung nach Fig. 4, 64 bis 67, die während einer Multiplikation zur
F i g. 12 das Blockdiagramm einer Schaltung zur Übertragung der erzeugten Produktbits dienen. Den
Anzeige, wann das Ergebnis einer Divisor- und Di- 55 Registern 103 und 104 ist ein dreistelliger Zähler
videndenrestaddition nicht eindeutig ist und einen 5Γ107 zugeordnet, dessen Inhalt schrittweise um
zusätzlichen Zyklus erfordert, Eins erhöht oder erniedrigt werden kann. Der ST-
F i g. 13 das Blockdiagramm einer Schaltung zur Zähler 107 identifiziert ein bestimmtes Bit eines
Erzeugung einer Mehrzahl von Quotientenbits wäh- 8-Bit-Bytes in den ST-Registern 103 und 104. Die
rend einer Division für jeden iterativen Additions- 60 Identifizierung eines bestimmten 8-Bit-Bytes durch
zyklus. den ST-Zählerl07 ermöglicht das selektive Über-
In Fig. 1 wird den Datenweg eines besonders vor- tragen eines 8-Bit-Bytes in oder aus den 5T-Regi-
teilhaften Ausfuhrungsbeispiels der Erfindung be- stern. Während der Multiplikation enthält das 5-Re-
schrieben. Die Standardwortgröße besteht in diesem gister 103 den Multiplikator. Wie schon vorher ange-
Ausführungsbeispiel aus zweiunddreißig binären Bits. 65 geben, erfordert der Multiplizieralgorithmus dasEnt-
Diese zweiunddreißig binären Bits sind in vier als schlüsseln zweier Multiplikatorbits und beginnt mit
Bytes bezeichnete Bitgruppen unterteilt, die jeweils den beiden niedrigstelligen Bits des Multiplikators,
aus acht binären Bits bestehen. Somit besteht jedes Eine Multiplizieroperation erfordert sechzehn itera-
5 6
tive Additionen, die durch das Dekrementieren des Wie schon erwähnt, können die Vielfachen des MuI-
R 2-Zählers im Register 102 überwacht werden. Da tiplikanden oder des Divisors im Addierer addiert
zwei Multiplikatorbits je Zyklus untersucht werden oder subtrahiert werden, was durch Tore zur Eingabe
und die Bits 14 und 15 des R 2-Zählers sich alle vier der echten oder komplementären Werte in den Ad-Zyklen
wiederholen, identifiziert die Kombination 5 dierer erreicht wird. Die Tore zum Übertrag des Inder
Bits 14 und 15 im Zähler R 2 und der Zustand haltes des T-Registers 104, das einen Divisor oder
des Zählers R 2 in den Stellen 12 und 13 ein be- einen Multiplikanden enthält, werden durch das
stimmtes Paar von Multiplikatorbits im 5-Speicher Rechteck 113 angedeutet.
103. Das identifizierte Paar von Multiplikatorbits Zwischen dem B-Register 106 und dem Addierer
wird zur Auswahl der Vielfachen eines Multiplikan- io HO sind Torschaltungen 114 vorgesehen, durch die
den während der Multiplizieroperation verwendet. ein Operand im B-Register 106 entweder in die ent-
Die Einstellung des 5T-Zählers 107 wird während sprechenden Stellen oder mit einer Linksverschiebung
einer Multiplikation oder Division zur Übertragung um zwei Stellen in den Paralleladdierer 110 über-
eines aus Produkt- oder Quotientenbits bestehenden tragen werden kann. Während der Multiplikation
8-Bit-Bytes in die betreffenden Bytestellen des 5-Re- 15 bewirkt die Kombination einer vierstelligen Rechts-
gisters verwendet. verschiebung bei der Übertragung aus dem Addierer
Des weiteren ist ein F-Register 109 vorgesehen, 110 zum B-Register 106 und der darauffolgenden
das acht Bitstellen aufweist und das während einer zweistelligen Linksverschiebung beim Übertrag aus
Multiplikation zur Ansammlung eines 8-Bit-Bytes dem B-Register 106 in den Addierer 110 eine zwei-
des Produktes und während einer Division zur An- 20 stellige Rechtsverschiebung eines Partialproduktes.
Sammlung eines 8-Bit-Bytes des Quotienten dient. Dies erfolgt in Übereinstimmung mit den an und für
Die Übertragung von zwei Bits eines Quotienten oder sich bekannten Multiplizierverfahren, in denen bei
eines Produktes in das F-Register 109 wird auch jeder iterativen Addition zwei Multiplikatorbits un-
durch den JR2-Zähler im Register 102 gesteuert, das tersucht werden. Während der Division wird ein Di
Bitpaare im i?-Register in Übereinstimmung mit den 25 videndenrest vom Paralleladdierer 110 zu den ent-
Stellen 14 und 15 des R 2-Zählers identifizieren kann. sprechenden Stellen des B-Registers 106 übertragen,
Wie schon vorher erwähnt, wird das 8-Bit-Byte in worauf normalerweise eine zweistellige Linksver-
das ^-Register unter der Steuerung des Inhaltes des Schiebung in den Paralleladdierer 110 bei der näch-
5T-Zählers 107 übertragen, wenn ein 8-Bit-Byte sten iterativen Addition erfolgt, so daß die be-
eines Produktes oder Quotienten im F-Register 109 30 kannte zweistellige Linksverschiebung eines Divi-
erzeugt wurde. dendenrestes während der Erzeugung von zwei
Der weiterhin vorgesehene Paralleladdierer 110 Quotientenbits je iterativer Addition bewerkstelligt
weist die Stellen für einen 32-Bit-Operanden und zu- wird.
sätzliche Stellen für Addieroperanden auf, die nach Obwohl im Zusammenhang mit der vorliegenden
links verschoben wurden. Der Addierer muß sowohl 35 Erfindung nicht wesentlich, ist in Fig. 1 ein serieller
für Multiplikation als auch für Division nur 32 Bit- Addierer 115 dargestellt, der in Wirklichkeit ein par-
operanden aufweisen. Es ist jedoch klar, daß die alleler 8-Bit-Addierer ist. Dieser 8-Bit-Addierer 115
Stellenzahl des Paralleladdierers auch zur Unter- kann bei anderen Operationen des Datenverarbei-
bringung von größeren Operanden, beispielsweise tungssystems zur Durchführung von Additionen,
von Operanden mit 64 Bits eingerichtet werden kann. 40 Subtraktionen oder zur Durchführung logischer Ope-
Der an und für sich bekannte Addierer 110 wird rationen mit dem Addierer 115 von den verschiebeispielsweise
in der obengenannten USA.-Patent- denen Registern in Übereinstimmung mit dem Byteanmeldung
Serial-Nr. 290 486 beschrieben. Im vor- angaben von entweder dem 5T-Zähler 107 oder dem
liegenden Ausführungsbeispiel ist der Ausgang des y4B-Zähler 108 gemachten Byteangaben zugeführten
Addierers 110 mit einer Reihe von Toren 111 ver- 45 8-Bit-Bytes verwendet werden,
bunden, die durch steuerbare Erregung eine Ver- Die in Fig. 1 weiterhin dargestellte Multiplizierschiebung der Ausgabe um vier Bitstellen nach links, steuerung 116 steuert die selektive Übertragung von nach rechts oder um Null bewirken. Der verschobene Registerinhalten in den Addierer 110 und die Ausoder nicht verschobene Addiererausgang wird dann gäbe aus dem Addierer 110 zu den Registern, in zeitweise in den Verriegelungskreisen 112 gespeichert, 50 Übereinstimmung mit der Feststellung eines Paars bevor er steuerbar zu den Registern 103, 104, 105 von Multiplikatorbits aus dem Register 5103. Die oder 106 rückübertragen wird. Aus der obengenann- Multiplikationssteuerung 116 steuert auch den Überten USA.-Patentanmeldung 290 486 geht hervor, wie trag der Endproduktbits aus den Stellen 64 bis 67 der Ausgang des Addierers 110 in Gruppen von vier des B-Registers 106 zur Ansammlung im F-Register Datenbits einer Paritätsprüfung unterzogen wird. Wie 55 109 und weiterhin zum Übertrag der 8-Bit-Bytes aus im einzelnen noch im Zusammenhang mit Fig. 2 zu dem F-FensterlO9 zu den besonderen Bytes des beschreiben ist, sind Mittel zur Einstellung der Pari- 5-Registers 103.
bunden, die durch steuerbare Erregung eine Ver- Die in Fig. 1 weiterhin dargestellte Multiplizierschiebung der Ausgabe um vier Bitstellen nach links, steuerung 116 steuert die selektive Übertragung von nach rechts oder um Null bewirken. Der verschobene Registerinhalten in den Addierer 110 und die Ausoder nicht verschobene Addiererausgang wird dann gäbe aus dem Addierer 110 zu den Registern, in zeitweise in den Verriegelungskreisen 112 gespeichert, 50 Übereinstimmung mit der Feststellung eines Paars bevor er steuerbar zu den Registern 103, 104, 105 von Multiplikatorbits aus dem Register 5103. Die oder 106 rückübertragen wird. Aus der obengenann- Multiplikationssteuerung 116 steuert auch den Überten USA.-Patentanmeldung 290 486 geht hervor, wie trag der Endproduktbits aus den Stellen 64 bis 67 der Ausgang des Addierers 110 in Gruppen von vier des B-Registers 106 zur Ansammlung im F-Register Datenbits einer Paritätsprüfung unterzogen wird. Wie 55 109 und weiterhin zum Übertrag der 8-Bit-Bytes aus im einzelnen noch im Zusammenhang mit Fig. 2 zu dem F-FensterlO9 zu den besonderen Bytes des beschreiben ist, sind Mittel zur Einstellung der Pari- 5-Registers 103.
tat der vier Bitgruppen vorgesehen, wenn sie um vier Die Divisionssteuerung 117 gemäß F i g. 1 bewirkt
Stellen nach links verschoben werden, um die rieh- zwei Quotientenbits zur Ansammlung im F-Register
tige Parität für ein 8-Bit-Byte in den Verriegelungs- 60 109 in Übereinstimmung mit verschiedenen logischen
Schaltungen 112 vor der Rückübertragung in das Operationen, die im wesentlichen durch zwei in den
ausgewählte Register zu erzeugen. Stellen 32 und 33 des T-Registers 104 enthaltenen
Sowohl während einer Multiplikation als auch hochstelligen Bits eines Divisors und drei hochstelli-
während einer Division wird der Multiplikand oder gen Bits 32 bis 34 eines im B-Register 106 enthal-
Divisor in den Addierer 110 entweder mit einer Null- 65 tenen Dividendenrestes eingeleitet werden.
Verschiebung oder mit einer einstelligen Verschiebung Im erfindungsgemäßen Ausführungsbeispiel wird
nach links übertragen, um die Addition eines ein- durchweg eine sogenannte positive Logik verwendet,
fachen oder zweifachen Vielfachen zu ermöglichen. d. h. eine Logik, bei der bei einer erregten Leitung
in der entpsrechenden Schaltung die echten Werte vorliegen. Bestimmte Leitungen können auch positiv
erregt sein, wenn die dazugehörige Schaltung nicht in ihrem echten Wertzustand ist. In diesen Fällen wird
ein Strich über die logischen Zustandsangaben angebracht, der besagt, daß es sich in diesem besonderen
Fall nicht um eine positive Logik handelt. So müssen z. B. bei einer Und-Schaltung alle Eingänge positive
Werte aufweisen, um einen positiven Ausgang
, gg p
schiedene Steuerleitungen sind ferner Inverter vorgesehen.
In Fig. 2 wird die logische Schaltung zur Einstellung der Paritäten am Ausgang des Parallel-
um die Selektion eines zu oder von einem Partialprodukt zu addierenden oder zu subtrahierenden
Multiplikandenvielfachen zu bewirken. Die Bezeichnung in der Tafel »4 X Vielfaches von vom vorhergehenden
Zyklus (IX)« zeigt diejenigen Zustände an, in denen ein 1-Übertrag zu den nächstfolgenden
beiden Multiplikatorbits erfolgen muß. Diese Zustände liegen immer dann vor, wenn eine Vielfachselektion
ein Drei- oder ein Vieriachvielfaches er-
zu erzielen. In einer Oder-Schaltung wird bei Vor- 10 fordert. Da ein Dreifachvielfaches im vorliegenden
liegen eines positiven Wertes an irgendeinem der Ausführungsbeispiel nicht vorgesehen ist, so wird das
Eingänge ebenso ein positiver Ausgangswert vor- Äquivalent einen Dreifachvielfachen durch Subtrakliegen.
In einer ausschließlichen Oder-Schaltung muß tion des einfachen Multiplikanden im laufenden
nur einer der Eingänge einen positiven Wert auf- Zyklus, dem eine Addition des einfachen Multipliweisen,
damit der Ausgangswert positiv ist. Für ver- 15 kanden im folgenden Zyklus folgt, erhalten. Dies
wird durch die Verwendung der Angabe TX erreicht, die die Addition einer binären Eins zum binären
Zustand der nächsten beiden Multiplikatorbits bewirkt. Ein Vierfachvielfaches wird in Übereinstim-
addierers 110 nach Fig. 1 nach einer Verschiebung 20 mung mit der in der letzten Spalte der Tafel gezeigten
der Daten- und 4-Bit-Stellen dargestellt. Die Erzeu- Kombination ausgewählt und wird durch eine Vergung
der Paritäten für jede Gruppe von 4-Daten-Bits Schiebung des Partialproduktes im laufenden Zyklus,
am Ausgang des Addierers wird in der oben- gefolgt von einem Einfachvielfachen im folgenden
genannten USA.-Patentanmeldung 290 486 beschrie- Zyklus erreicht. Dies wird durch die Addition einer
ben. In F i g. 2 wird die logische Schaltung zur Er- 25 binären Eins zu den folgenden beiden Multiplikatorzeugung
der richtigen Parität in den Verriegelungs- bits bewirkt.
kreisen 112 für ein 8-Bit-Byte, bestehend aus den Es wird eine besondere Kennzeichnung zur AusBits
8 bis 15, in der Verriegelungsschaltung dar- wahl eines Null-Vielfachen (OZ) vorgesehen, das
gestellt. Die Parität der Bits 8 bis 15 in der Ver- unter den in der ersten und der letzten Spalte der
riegelungsschaltung 112 kann eine Kombination 30 Tafel angegebenen Umständen auftreten kann. Unter
der Paritäten für die Bits 4 bis 7, 8 bis 11, diesen besonderen Umständen folgt der normalen
11 bis 15 oder 16 bis 19 sein. Wird der Aus- vierstelligen Rechtsverschiebung des Ausganges des
gang des Addierers um vier Stellen nach rechts Paralleladdierers 110 in das B-Wert-Register 106 geverschoben,
so wird ein Paar Und-Schaltungen 200 maß F i g. 1 nicht eine zweistellige Linksverschiebung
und 201 erregt, um durch die Oder-Schaltungen 202 35 beim Übertrag in den Addierer. Die vierstellige
und 203 ein Ausgangssignal zu erzeugen, wodurch Rechtsverschiebung wird beibehalten, und die Ausdie
Geradzahlig-ungeradzahlig-Bedingung des Addie- wahl des Multiplikatorvielfachen für die Addition
rerausganges für die Bits 4 bis 7 und 8 bis 11 korn- zum Partialprodukt wird auf Grund der beiden folbiniert
wird, um schließlich die Parität für die Ver- genden Multiplikatorbits durchgeführt. Dadurch wird
riegelungsschaltungsbits 8 bis 15 zu erzeugen. In der 40 eine Beschleunigung der Multiplikationsoperation ergleichen
Weise wird ein Paar Und-Schaltungen 204 reicht, die normalerweise einen besonderen Zyklus
und 205 erregt, um den Geradzahlig-ungeradzahlig- für die Verschiebeoperation über die binären Nullen
Zustand des Addiererausganges für die Bitstellen 8 oder über die binären Einsen erfordern würde. Mit
bis 11 und 11 bis 15 anzuzeigen, wenn der Addierer- anderen Worten wird eine Multiplizier-Iterationsausgang
eine Nullverschiebung erfährt. Wird der 45 Addition auf Grund von vier Multiplikatorbits an
Ausgang des Addierers um vier Stellen nach links Stelle der normalerweise in Betracht gezogenen zwei
verschoben, so wird der Addiererausgang in den Multiplikatorbits durchgeführt. Der in Fig. 4 an-Bitstellen
11 bis 15 und 16 bis 19 verwendet, um gegebene Divisionsalgorithmus wird im wesentlichen
letztlich die Parität für die Verriegelungsschaltungs- in der USA.-Patentanmeldung 162 503 beschrieben,
bits 8 bis 15 zu erzeugen, was durch die Und-Schal- 50 Dieser Algorithmus ermöglicht die Erzeugung von
tungen 206 und 207 angezeigt wird. Wurden die zwei Quotientenbits auf Grund der Entschlüsselung
der drei höchststelligen Bits eines Dividendenrestes und der zweihöchststelligen Bits eines Divisors. Die
in F i g. 4 dargestellte Tafel ist im wesentlichen die
tungsparität für die Bits 8 bis 15 zu erzeugen, so 55 gleiche wie die in der obengenannten Patentanmelwerden
die tatsächlichen Stellungen der Verriege- dung beschriebene, jedoch mit der Ausnahme, daß
im Ausführungsbeispiel gemäß der vorliegenden Erfindung die Notwendigkeit eines Divisordreifachen
vermieden wird. Wie aus der Tafel ersichtlich, müs-
g gg
Paritäten der anschließenden Gruppe von vier Bits am Addiererausgang in Übereinstimmung mit der
Verschiebung kombiniert, um die Verriegelungsschali f i i bi
g g
lungsschaltungsstellen 8 bis 15 nach der Verschiebung mit der eingestellten Parität in einer ausschließliehen
Oder-Schaltung 208 verglichen, um einen fh
g g
Summenfehlerausgang zu erzeugen, der einen Pari- 60 sen zur Berücksichtigung des Fehlens eines Divisoräfhl
i d hlih f bii
tätsfehler anzeigt, der nachträglich für beliebige Fehlerverbesserungsroutinen Verwendung finden
kann.
F i g. 3 stellt eine Tafel zur Veranschaulichung eines Multiplizieralgorithmus dar, der im wesentlichen
schon in der obenerwähnten USA.-Patentschrift 3 069 085 beschrieben ist. Zwei Multiplikatorbits
Mt, M2 werden bei jedem Zyklus untersucht,
dreifachen bestimmte Zustände entschlüsselt werden, um anzuzeigen, daß vor der Erzeugung eines Quotientenbitpaares
ein Divisorzweifach zu oder von einem Partialdividendenrest addiert oder subtrahiert
werden muß und anschließend ein zusätzlicher Additionszyldus zu erfolgen hat, um eine eindeutige
Angabe über die Ergebnisse der Addition zu erzielen und dadurch die Quotientenbits zu erzeugen. Wie
ίο
schon vorher angegeben, wird dies durch Einleitung eines Additionszyklus im Iterationsprozeß der Division
dadurch erreicht, daß der Dividendenrest um zwei Bitstellen nach links versetzt aus dem ß-Register
106 in den Paralleladdierer 110 übertragen wird. In den besonderen Fällen, die einen zusätzlichen
Zyklus zur Erlangung eines eindeutigen Ergebnisses erfordern, werden die Nullverschiebungstore vom
B-Register 106 zum Addierer 110 erregt. Wie aus der
binären Zustandes der Multiplikatorbits 54 und 55 erregt.
Gemäß einer besonders vorteilhaften, jedoch im Ausführungsbeispiel nicht näher angegebenen Aus-5
führungsform des Erfindungsgedankens wird das durch die Stellen 12 und 13 des i?2-Zählers angegebene
Byte des 5-Registers 103 in einer acht Bit enthaltenden Gruppe (ein Byte) zur sequentiellen
Abfrage durch die Stellen 14 und 15 des i?2-Zählers
Spalte »möglicher Quotient« zu ersehen ist, wird das io durchgeschaltet. Enthalten in vorliegendem Fall die
höchststellige Quotientenbit eines Paares nur durch Stellen 14 und 15 des i?2-Zählers die Kombination
die Prüfung des echten oder des Komplement- 00, so stehen die nächsten beiden Multiplikatorbits
zustandes eines vorherigen Restes in Zusammenhang
mit der Vielfachselektion des Divisors bestimmt. Das
mit der Vielfachselektion des Divisors bestimmt. Das
des folgenden Bytes nicht zwecks Entschlüsselung zur Verfügung. Wenn die Stellen 14 und 15 des R 2-
niedrigststellige Quotientenbit des Paares kann 15 Zählers die Kombination 00 enthalten, so werden
manchmal unmittelbar durch die ursprüngliche Ent- nur die Ml- und M2-Ausgänge erregt, und die NuIlschlüsselung
bestimmt werden, in anderen Fällen
muß Übereinstimmung des Ergebnisses der Addition
muß Übereinstimmung des Ergebnisses der Addition
des Divisorvielfaches und des Dividendenrestes ab-
deutig, da das höchststellige Bit des Ergebnisses eine binäre Eins und nicht mit den verwendeten Entschlüsselungsverfahren
verträglich ist. Dieser Zustand leitet den erforderlichen zusätzlichen Zyklus ein.
In F i g. 5 wird eine logische Schaltung zur Auswahl von Paaren von Multiplikatorbits von einem
bestimmten der 8-Bit-Bytes des 5-Registers 103 dargestellt. Die Auswahl von Multiplikatorbitpaaren
Vielfachauswahl mit Sprung zu dem nächsten Multiplikatorbitpaar
ist nicht zulässig. In einer anderen Ausführungsform des Erfindungsgedankens ist es
gewartet werden. Die Bestimmung des niedrigst- 20 nicht erforderlich, das bestimmte 5-Registerbyte zu
stelligen Quotientenbits ist im wesentlichen eine einem Register durchzuschalten, es wurden aber auch
Funktion des Vorliegens oder des Fehlens eines nicht genügend Übertragungsmöglichkeiten zwischen
Übertrages aus der Addiererstelle Null. Wenn ein den R 2-Zählerstellungen 12 und 13 und 14 und 15
Übertrag auf der Addiererstelle Null anzeigt, daß jm Register 102 vorgesehen, um die beiden Multiplidie
Ergebnisse der Addition eines Zweifachen einen 25 katorbits im nächstfolgenden Multiplikatorbyte zu
echten Wert angeben, so ist das Ergebnis nicht ein- erkennen. Diese das Springen des R 2-Zählerinhaltes
00 in den Stellen 14,15 verhindernde Einschränkung
kann durch Schaltmittel zur Ermöglichung des Überspringens der Bytegrenzen bis in das nächstfolgende
30 Multiplikatorbyte aufgehoben werden.
In F i g. 6 bilden die Und-Schaltungen 600 bis 604,
die Oder-Schaltungen 605, 606 und 607 und der Inverter 608 eine logische Schaltung zur Kombination
der Multiplikatorbitpaare Ml und M 2 mit der
wird durch die Zustände der Stellen 14 und 15 des 35 Vierfach-Vielfach-Übertragsangabe TX zur Bestimi?2-Zählers
bewirkt. In Fig. 5 werden die Bits 50 mung der Bedingungen, die angeben, daß ein NuIlbis
57 eines bestimmten Bytes des 5-Registers jeweils Vielfach (OZ) ausgewählt werden muß oder daß die
dem einen Eingang einer Reihe von Und-Schaltungen Vielfach-Auswahl nicht ein Null-Vielfaches (UX) ist.
500 bis 513 zugeführt. Paare von Und-Schaltungen Wurde ein Null-Vielfachzustand durch die Multi-500
bis 513 werden der Reihe nach durch die Ein- 40 plikatorbitsMl und M 2 angezeigt, so wird ein Ausstellungen
der Stellen 14 und 15 des i?2-Zählers gangssignal zu den Verbindungstoren zwischen dem
getastet. Das höchststellige Bit eines Multiplikator- ß-Register 106 und dem Paralleladdierer 110 (Fig. 1)
paares Ml wird durch eine Oder-Schaltung 514 und bewirkt, um zu verursachen, daß das Partialprodukt
das niedrigststellige Bit eines Bitpaares M 2 wird jm ß-Register mit einer Nullverschiebung in den
durch die Oder-Schaltung 515 erzeugt. Die Ml- und 45 Addierer übertragen wird. Das in den Addierer 110
M2-Ausgänge sind positiv, wenn das ausgewählte mit einer Nullverschiebung übertragene Partialpro-Multiplikatorbit
eine binäre Eins ist. Sind die abge- dukt wird dann zu einem Vielfachen des Multiplitasteten
Multiplikatorbits binäre Nullen, so werden kanden im T-Register 104 addiert, das durch die zwei
die negativen Ausgangssignale der Oder-Schaltungen folgenden Multiplikatorbits Ml' und M 2' ausge-514
und 515 durch die Inverter 516 und 517 in posi- 50 wählt wurde. Da für einen bestimmten, ein NuIltive
Signale umgewandelt, die mit MT und Ml be- Vielfaches erfordernden iterativen Addierzyklus vier
zeichnet werden. Multiplikatorbits im Zyklus verwendet werden, wird
Wie schon weiter oben angegeben, ist die Multi- der R 2-Zähler (F i g. 1) um Zwei erniedrigt, um zu
plikation dadurch zu beschleunigen, daß festgestellt bewirken, daß die Vielfachauswahl im folgenden
wird, wenn die Multiplikatorbits Ml' und M 2' die 55 Zyklus mittels des richtigen Multiplikatorbitpaars
Auswahl eines Null-Vielfachen des Multiplikanden durchgeführt wird. So oft eine Vielfachselektion auf
anzeigen, um dadurch die Auswahl der Vielfache Grund der Multiplikatorbits Ml und M 2 ein anderes
durch die zwei nächstfolgenden Multiplikatorbits zu als ein Null-Vielfaches erfordert (ÖX), wird das
begründen. Die Ausgänge von MV der Oder-Schal- Partialprodukt im ß-Register 106 um zwei Bitstellen
tung518 und M 2' der Oder-Schaltung 519 werden 60 nach links verschoben und in den Paralleladdierer
zwecks Auswahl der Vielfache erregt, wenn ein Null- 110 übertragen, um die normale Rechtsverschiebung
Vielfaches durch die vorhergehenden beiden Multi- um zwei Stellen des Partialproduktes zu erhalten, da
plikatorbits ermittelt wurde. Es ist aus der F i g. 5 das Partialprodukt ursprünglich in das ß-Register
zu ersehen, daß, wenn die R 2-Zählerstellen 15 und 106 aus der Paralleladdiererverriegelungsschaltung
den Zustand 11 haben, die Ausgänge Ml und M 2 65 mit einer vierstelligen Rechtsverschiebung übertragen
den binären Zustand der Multiplikatorbits 5 6 und 5 7 wurde. Da in diesem besonderen iterativen Operaanzeigen.
Beim gleichen Stand des Zählers R 2 wer- tionszyklus nur zwei Multiplikatorbits verwendet
den die Ausgänge M Γ und M 2' auf Grund des wurden, wird der i?2-Zähler um Eins erniedrigt, so
709 719/208
12
daß es möglich wird, daß die Auswahl im folgenden Zyklus durch die nächsten beiden Multiplikatorbits
erfolgt.
Die Oder-Schaltung 605 und der Inverter 608 unterdrücken die Null-Vielfachauswahl durch die
Multiplikatorbits 50 und St in einen besonderen
Multiplikatorbyte auf Grund der oben angeführten Gründe. Fernerhin wird bei einem Eingangsmultiplizieraddierzyklus,
wenn der'i?2-Zähler sich in dem
bewirken, daß ein Signal an einem der Ausgänge der Oder-Schaltungen 700, 701 oder 702 auftritt. Wird
ein Null-Vielfaches (OZ) des Multiplikanden durch
ein bestimmtes Paar von Multiplikatorbits Ml, M 2,
5 wie im Zusammenhang mit der logischen Schaltung gemäß F i g. 6 dargestellt, ausgewählt, so werden die
Und-Schaltungen 709, 710, 711 erregt. Dadurch wird eine Vielfachselektion durch die Oder-Schaltungen
700, 701 oder 702 durch Verwendung der zwei
sehe Kombination von TX', Ml' und M2' wird an
die Eingänge der Oder-Schaltungen 712, 713 und 714 geleitet.
In F i g. 8 wird eine logische Schaltung dargestellt, durch die die im B-Register 106 (F i g. 1) enthaltenen
Produktbits in das F-Register 109 zur Ansammlung eines 8-Bit-Bytes des Endproduktes übertragen werden.
Der Übertrag der Produktbits aus dem B-Re-
bei der Oder-Schaltung 60S gezeigten Zustand be- ίο nächstfolgenden Multiplikatorbits Ml', M2'und die
findet, eine Null-Vielfachauswahl verhindert, da die Anzeige von TX' (Fig. 6 und 5) bewirkt. Die logierforderlichen
Produktbits noch nicht zwecks Übertrag in das F-Register 109 (F i g. 1) erzeugt worden
sind. Dies wird weiter unten im Zusammenhang mit
der Besprechung der Fig. 9 klarer herausgestellt 15
werden, aus der hervorgeht, daß die ersten Produktbits zum Übertrag in das ^-Register nicht vor drei
Zyklen nach Beginn der Eingangs-Vielfachauswahl
zur Verfügung stehen.
sind. Dies wird weiter unten im Zusammenhang mit
der Besprechung der Fig. 9 klarer herausgestellt 15
werden, aus der hervorgeht, daß die ersten Produktbits zum Übertrag in das ^-Register nicht vor drei
Zyklen nach Beginn der Eingangs-Vielfachauswahl
zur Verfügung stehen.
Wie aus F i g. 3 hervorgeht, besagt eine der zur 20 gister 106 in das F-Register 109 ist eine Funktion
Mehrfachselektion erforderlichen Angaben, daß ein des im 2?2-Zähler im Register 102 enthaltenen Zäh-Übertrag
eines Einfachvielfaches im nächstfolgenden lerstandes und hängt weiter davon ab, ob ein par-Zyklus
durchgeführt werden muß, um die Dreifach- tielles Produkt im B-Register 106 in den Parallel-
und Vierfach-Vielfachauswahl zu bewirken. Diese addiererllO mit einer Nullverschiebung oder einer
Angabe (TZ) wird durch die aus den Und-Schal- 25 zweistelligen Linksverschiebung in Abhängigkeit von
tungen 609 bis 612 und der Oder-Schaltung 613 be- der Vielfachauswahl übertragen werden soll oder
stehende Schaltung erzeugt. Die gezeigte logische nicht. Normalerweise folgt dem Ergebnis einer itera-Schaltung
liefert eine Angabe TX oder TX, die im tiven Addition eines Multiplikandenvielfaches und
Zusammenhang mit den Multiplikatorbits Ml und eines Partialproduktes ein Übertrag vom Addierer
M2 verwendet wird. Die durch den Inverter 615 bei 30 110 in das B-Register 106 mit einer vierstelligen
Vorliegen von 00 in den Stellen 14 und 15 des R 2- Rechtsverschiebung. Im nächsten iterativen Addi-Zählers
blockierte Und-Schaltung 614 liefert die tionszyklus wird das Partialprodukt im B-Register
TZ'-Anzeige zur Verwendung im Zusammenhang 106 um zwei Stellen nach links verschoben, um eine
mit den Multiplikatorbits Ml' und M 2'. Gesamtverschiebung des Partialproduktes um zwei
In Fig. 7 wird die logische Schaltung dargestellt, 35 Stellen nach rechts zu bewirken. Dies entspricht den
die anzeigt, daß das Multiplikandenvielfache im bekannten Multiplizierverfahren, bei denen ein Par-T-Register
104 in den Paralleladdierer 110 (Fig. 1) tialprodukt um eine Anzahl von Stellen nach rechts
zur Addition zu einem Partialprodukt übertragen verschoben wird, die gleich der Anzahl der in dem
werden soll. Der Ausgang der Oder-Schaltung 700, iterativen Additionsprozeß verwendeten Multiplider
anzeigt, daß ein Einfachvielfaches (IZ) des MuI- 40 katorbits ist. Nach jeder iterativen Addition und
tiplikanden zum Partialprodukt addiert werden soll, jeder Verschiebung des Partialproduktes nehmen beliefert
die nötigen Steuerungen zur Erregung der Tore stimmte Bits des Produktes nicht mehr am Multiplizwischen
dem T-Register 104 und dem Addierer 110, kationsprozeß teil. Normalerweise wird das Partialum
den Übertrag des echten Multiplikandenwertes produkt aus dem Addierer 110 mit einer vierstelligen
in den Addierer mit einer Nullverschiebung zu be- 45 Rechtsverschiebung in das B-Register 106 übertragen,
wirken. Die Oder-Schaltung 701, die ein Zweifach- um dann mit einer zweistelligen Linksverschiebung
vielfaches (2Z) anfordert, erregt die Tore zwischen in den Paralleladdierer zur Durchführung der nachdem
r-Register 104 und dem Paralleladdierer 110, sten iterativen Addition übertragen zu werden. Die
um den Multiplikanden im T-Register in den Parallel- Bitstellen 66 und 67 des B-Registers 106 werden in
addierer mit einer einstelligen Linksverschiebung zu 50 die entsprechenden Stellen des f-Registers 109 unter
übertragen, was eine Multiplikation des Multipli- Steuerung des Inhaltes der Stellen 14 und 15 des
kanden mit Zwei bewirkt. Die Oder-Schaltung 702 i?2-Zählers übertragen. Während die Produktbits
zeigt an, daß der Multiplikand vom Partialprodukt aus dem B-Register 106 in das F-Register 109 überabgezogen
werden muß. Das Minus-Einfachvielfache tragen werden, wird der i?2-Zähler in einen Zustand
(-1Z) wird zum Paralleladdierer durch Erregung 55 übergeführt, der die Auswahl eines Multiplikatorbitder
Tore 113 zwischen dem Γ-Register 104 und dem paares im 5-Register bewirkt, das in bezug auf die
Multiplikatorbits, die das in das F-Register 109 zu übertragende Produkt erzeugt haben, zwei Stellen
links liegt. Mit anderen Worten, das in die Stellen 60 F6 und Fl des F-Registers einzulesende Produktbitpaar
wäre in Übereinstimmung mit einer auf die Einstellung 11 der 14. und 15. Stelle des i?2-Zählers
beruhenden Vielfachselektion erzeugt worden. Zum Zeitpunkt, in dem die beiden Produktbits tatsächlich
tungen 703, 704 und 705 (Fig. 7) erregt. In diesem 65 in das F-Register übertragen werden, sind die Stellen
Fall wird der binäre 1- oder der binäre 0-Zustand 14 und 15 des i?2-Zählers um Zwei erniedrigt worvon
TX (Fig. 6) und die MultiplikatorbitsMl, M2 den, so daß die Übertragung der BitsB66 und B67
(F i g. 5) bei den Oder-Schaltungen 706, 707 und 708 in die Stellen F 6 und F 7 des F-Registers durch eine
Addierer 110 übertragen, die eine Komplementierung des Multiplikanden und einen Übertrag des Komplements
in den Addierer mittels einer Nullverschiebung bewirken.
Entschlüsselt die in F i g. 6 dargestellte logische Schaltung die Multiplikatorbits Ml und M 2, die anzeigen,
daß das auszuwählende Vielfache nicht ein Null-Vielfaches (ÖZ) ist, so werden die Und-Schal-
Einstellung Ol in den Stellen 14 und 15 des R 2-Zählers übertragen werden.
Wird unter Bezugnahme auf F i g. 8 angenommen, daß volle acht Bits eines Produkts im F-Register 109
(Fig. 1) angesammelt wurden, ohne daß ein NuIl-Vielfachzustand
aufgetreten ist, so wird die Reihe der Tore 800 bis 807 in aufeinanderfolgender Reihenfolge
durch die Einstellung der Stellen 14 und 15 des .R 2-Zählers erregt und der Zustand für eine zweistellige
Linksverschiebung des .B-Registers für eine OX1-Vielfachauswahl gemäß F i g. 6 den Und-Schaltungen
808, 809 und 810 zugeleitet. In diesem Fall werden die Produktbits in den Stellen #66 und 577
des .B-Registers 106 in aufeinanderfolgender Reihenfolge den Stellend6 und F 7, F4 und F5, Fl und
F 3 des F-Registers 109 zugeleitet. Wenn die beiden letzten Bits eines 8-Bit-Bytes eines Produktes erzeugt
worden sind, wie das beim Vorliegen von 10 in den Stellen 14 und 15 des Ä 2-Zählers der Fall ist, kann
ein gleichzeitiger Übertrag der F-Registerstellen 2 bis 7 und B 66, B 67 des .B-Registers 106 in das
durch den ST-Zähler angegebene 5-Register 103 erfolgen.
Dadurch entfällt die Notwendigkeit, während der Erzeugung des vierten Produktbits einen etwas
längeren Zeitabschnitt zum Übertrag der Bits vom B-Register B106 zum F-Register 107 und von dort
zum 5-Register 103 Bytes bereitzustellen.
In manchen Fällen wird während der Ansammlung eines 8-Bit-Bytes eines Produktes im F-Register 109
eine Null-Vielfachuntersuchung durchgeführt werden,
in welchem Fall die im .B-Register 106, in den Stellen 564 und .B 65 enthaltenen Produktbits nicht in den
Paralleladdierer 110 zur Teilnahme an einer iterativen Addition übertragen werden. Wenn dieser Zustand
durch die Erzeugung eines Signals für eine Nullverschiebung des 5-Registers (F i g. 6) erkannt
wird, so kann der Zustand der Stellen 14 und 15 des .R 2-Zählers kombiniert mit dem Kommando für eine
.B-Register-Nullverschiebung bei den Und-Schaltungen
811, 812 und 813 zur Bewirkung eines Übertrages der Produktbits vom .B-Register 106, Stellen
B 64 bis 567 zu den richtigen Stellen des F-Registers 109 unter Benutzung der Tore 800 bis 807 und 814
bis 817 verwendet werden.
Aus der F i g. 9 ergibt sich das Verhältnis zwischen
verschiedenen Zyklen eines Multiplikationsprozesses und der Erzeugung verschiedener Steuer- und Ubertragsfunktionen
während des Multiplikationsvorganges. Während des Zyklus Nr. 1 wird der R2-Zähler
im Register 102 (F i g. 1) auf den Wert 15 eingestellt. In diesem Fall enthalten alle Stellen dieses
Zählers jeweils eine binäre »1«. Die Tatsache, daß die Stellen 12 bis 13 und die Stellen 14 und 15 des
2? 2-Zählers jeweils den binären Wert»l« enthalten, bewirkt, daß das Byte Nr. 3 des 5-Registers 103 in
den Bit-Stellen 530 und 531 zur Auswahl eines Vielfachen untersucht wird. Wie schon vorher erwähnt,
ist im Einsangszyklus eines Multiplikationsvorganges nur ein ÜX-Vielfachzustand zulässig, in dem der Inhalt
des i? 2-Zählers um Eins erniedrigt wird. Während des ersten Zyklus gibt es keine Addition eines
Multiplikanden und eines Partialproduktes, noch werden irgendwelche Produktbits gespeichert. Während
des Zyklus Nr. 2 ist eine Auswahl von Null-Vielfachen (OZ) durch die Bits 528 und 529 des 5-Registers
103 dargestellt. Auf Grund der Null-Vielfachauswahl wird der Inhalt des .R 2-Zählers um Zwei erniedrigt.
Es folgt ein Addierzyklus, in dem der Inhalt des B-Registers 106 in den Addierer 110 mit einer
zweistelligen Linksverschiebung übertragen wird und ein Vielfaches des Multiplikanden aus dem T-Register
104 durch die Bits 30 und 31 des 5-Registers ausgewählt und addiert und das Ergebnis um vier
Stellen nach rechts verschoben und in das S-Register 106 übertragen wird. Bei Beendigung des ersten
Additionszyklus =sind die ersten Produktbits erzeugt worden. Der Übertrag dieser Produktbits in die geeigneten
Stellen des F-Registers 109 wird jedoch nicht vor dem nächstfolgenden Zyklus eingeleitet. Während
des Zyklus Nr. 3 wurde ein ÜZ'-Vielfaches auf
Grund der Bits 24 und 25 im 5-Register in Übereinstimmung mit der 00-Kombination in den Stellen 14
und 15 des R 2-Zählers ausgewählt. Wegen der Auswahl eines Nullvielfachen im Zyklus Nr. 2 findet ein
Additionszyklus statt, in dem der Inhalt des B-Registers 106 mit einer Nullverschiebung in den
Addierer zwecks Addition mit einem Multiplikanden-
ao vielfachen übertragen wird, das in Übereinstimmung mit den in den Stellen 26 und 27 des 5-Registers 103
enthaltenen Multiplikatorbits ausgewählt wurde. Während das Partialprodukt aus dem 5-Register in
den Paralleladdierer 110 übertragen wird, werden die Stellen B 64 bis 567 des 5-Registers 106 wegen der
nullstelligen Linksverschiebung und des Zustandes 00 in den Stellen 14 und 15 des R 2-Zählers in die
Stellen F 4 bis F 7 des F-Registers mittels der in F i g. 8 dargestellten logischen Schaltung übertragen.
Die Auswahl von Vielfachen, die Addition von Vielfachen und Partialprodukten und das Fortschalten
des R 2-Zählers dauern beispielsweise bis zum Zyklus Nr. 5 an. Während des Zyklus Nr. 5 wird eine
Addition des Partialproduktes im 5-Register 106 mit einer zweistelligen Linksverschiebung auf Grund
einer ÜZ-Vielfachselektion im Zyklus Nr. 4 durchgeführt. Während der Durchführung des Additionszyklus bewirkt die »10«-Kombination in den Stellen
14 und 15 des R 2-Zählers den Übertrag des Inhaltes
φο der Stellen 5 66 und 567 des 5-Registers und der
Stellen F2 bis F7 des F-Registers in die Stellen 24 bis 31 des 5-Registers in Übereinstimmung mit
der Einstellung des 5T-Zählers 107. Auf diese Weise wurde das erste 8-Bit-Byte des Endproduktes
in Form von Bitgruppen aus dem 5-Register 106 in das F-Register 109 und schließlich in ein bestimmtes
Byte des 5-Registers 103 übertragen. Die angesammelten Produktbits können in das Byte des 5-Registers
103 eingegeben werden, das das erste Byte aus Multiplikatorbits enthalten hat, da das Produkt in ein
Byte eingelesen wurde, das für die Erzeugung der einzulesenden Produktbits verwendet wurde. Der Multiplizervorgang
wird bis zu dem Zeitpunkt fortgesetzt, zu dem der i?2-Zähler auf Null übergeht, wodurch
angezeigt wird, daß 16 Paare von Multiplikatorbits geprüft wurden, so daß keine weiteren Vielfachauswahlen
erforderlich sind. Es sind jetzt noch die beiden verbleibenden Multiplizierzyklen durchzuführen,
die eine Schlußaddition auf Grund der durch die beiden letzten Multiplikatorbits ausgewählten
Vielfache und einen Zyklus enthalten, der den Übertrag der endgültigen Bits des Produkts in die Stellen 0
bis 7 des 5-Registers bewirkt. Die Multiplikation eines 32 Bits umfassenden Multiplikators und eines
32 Bits umfassenden Multiplikanden erzeugt ein 64 Bits umfassendes Endprodukt. Die zweiunddreißig
höchststelligen Bits des Endprodukts befinden sich in dem B-Register 106, und die zweiunddreißig niedrigst-
is
stelligen Bits des Endproduktes befinden sich im S-Register 103.
Der beschriebene Multiplizieralgorithmus verarbeitet normalerweise gleichzeitig zwei Multiplikatorbits.
Die Geschwindigkeit kann jedoch durch die Verwendung von vier Multiplikatorbits in bestimmten
Zyklen erhöht werden, so daß im allgemeinen zur Errechnung eines 64 Bitstellen umfassenden Produktes
weniger als sechzehn iterative Additionen notwendig sein werden.
Die in F i g. 4 dargestellte Tafel stimmt im wesentlichen
mit der in der USA.-Patentanmeldung 162 503 wiedergegebenen überein, die ein Divisionsverfahren
ohne Korrekturaddition betrifft. Liegt der Dividendenrest als Echtwert vor, so wird das Divisorvielfache
davon abgezogen, liegt der Dividendenrest im Komplementform vor, so wird das Divisorvielfache
addiert. Das zu verwendende Divisorvielfache wird durch den echten oder komplementären Zustand des
Restes der vorherbestimmten Bitkombinationen der drei höchsten Stellen des Dividendenrestes bestimmt.
Es· wurde schon gesagt, daß gemäß der vorliegenden
Erfindung die Notwendigkeit ein Divisordreifach zu speichern entfällt. Wie aus der in Fi g. 4 dargestellten
Tafel hervorgeht, gibt es vier Fälle, in denen ein normaler iterativer Additionszyklus durchgeführt wird,
jedoch zu keinem Ergebnis führt, so daß ein zusätzlicher Additionszyklus zur Erreichung einer eindeutigen
Aussage erforderlich wird. Diese Fälle liegen dann vor, wenn ein Divisordreifaches erforderlich
wäre.
In Fig. 10 ist eine logische Schaltung zur Auswahl
eines Divisorvielfachen dargestellt, das zur oder von einem Dividendenrest addiert bzw. subtrahiert
werden soll. Der im T-Register 104 (F i g. 1) enthaltene Divisor wird in den Paralleladdierer 110 entweder
mit einer Nullverschiebung zur Erzeugung eines Einfachvielfachen oder einer einstelligen Linksverschiebung
zur Erzeugung eines Zweifachvielfachen entweder in echter oder komplementärer Form zur
Erzeugung einer Addition oder einer Subtraktion übertragen. Liegt der Dividendenrest in 5-Register
106 in echter Form vor, so stellen die Und-Schaltungen 1000,1001 und 1002 die erforderlichen Mittel
zur Auswahl eines Divisoreinfachen oder Divisorzweifachen zur Subtraktion vom Dividendenrest dar.
In ähnlicher Weise liefern die Und-Schaltungen 1003,
1004 und 1005 die Mittel zur Auswahl eines Divisoreinfachen oder eines Divisorzweifachen zur Addition
des in komplementärer Form vorliegenden Dividendenrestes. Die Auswahl der Vielfachen wird auf
Grund der Zustände der drei höchststelligen Bits des Dividendenrestes in den Stellen 5 32, 533 und 534
des 5-Registers 106 durchgeführt. Die Entschlüsselung dieser Bits kann auf Grund der Inhalte der drei
höchststelligen Bits in den Verriegelungsschaltungen 112 am Ausgang des Addierers 110 durchgeführt
werden. Die Zuführung der Eingangssignale zu den Und-Schaltungen 1000 und 1003, die anzeigen, daß
ein zusätzlicher Zyklus nicht durchgeführt wird (zusätzlicher Zyklus), erfolgt über logische Schaltungen,
die noch im Zusammenhang mit der Fig. 10 beschrieben werden.
Wurde eine Anforderung für einen zusätzlichen Zyklus entschlüsselt, was noch im Zusammenhang
mit der F i g. 12 näher beschrieben wird, so nehmen die Und-Schaltungen 1006 und 1007 das Vielfache
— einmal oder +einmal auf Grund der Feststellung eines echten Restes mit der höchsten Stellei (532)
oder eines komplementären Restes mit der höchsten Stelle© (532) auf.
Die Oder-Schaltungen 1008 und 1009 fassen die Ausgänge der logischen Und-Schaltungen in solchen
Fällen zusammen, in denen ein Minus oder ein Plus-Divisorvielfaches erforderlich ist. Die Oder-Schaltungen
1010, 1011 und 1012 und die Inverter 1013 und 1014 fassen die Vielfach-Auswahlsignale für eine
ίο noch zu beschreibende logische Schaltung zusammen.
Die in Fig. 11 dargestellte logische Schaltung liefert Angaben über den echten oder komplementären
Zustand eines iterativen Additionsergebnisses. Wie aus der in Fig. 4 dargestellten Tafel ersichtlich,
1S wird, wenn der als Ergebnis eines vorherigen
Additionszyklus im 5-Register gespeicherte Dividendenrest als Echtwert vorliegt und wenn weder
ein Minus-Einmal-(—IX)- oder Minus-zweimal-(—2X)-Vielfaches
ausgewählt wurde, zeigt eine aus einer Und-Schaltung 1100, einem Inverter 1101 und
einer mit dem Eingang der Oder-Schaltung 1103 verbundenen Oder-Schaltung 1102 bestehende Schaltung
an, daß das Ergebnis als echter Wert vorliegt, da die höchststelligen Bits eines Dividendenrestes binäre
Nullen sind, so daß genau genommen jeder iterative Zyklus eines Divisionsverfahrens im wesentlichen aus
einer Verschiebeoperation besteht. Liegt der vorhergehende Rest in komplementärer Form vor oder
wurde ein Minus-einmal- oder ein Minus-zweimal-Vielfaches
gewählt, so ist das Ergebnis des iterativen Zyklus vollständig die Funktion eines binären Eins-Übertragers
aus der Stelle© des Paralleladdierers 110. Diese Angabe wird dem zweiten Eingang der Oder-Schaltung
1103 zugeführt, die eine Angabe darüber liefert, ob das Ergebnis als echter Wert oder über
den Inverter 1104 als komplementärer Wert vorliegt. In F i g. 12 wird eine logische Schaltung zur Angabe
der vier entschlüsselten Zustände dargestellt, die angeben, ob ein zusätzlicher Zyklus für einen zusätzliehen
iterativen Additionszyklus erforderlich ist oder nicht. Die Ausgänge der Und-Schaltungen 1200 bis
1203 sind mit dem Eingang der Oder-Schaltung 1204 verbunden und dienen zum Erkennen von acht Kombinationen
von Divisor- und Dividendenrestbits. Nur vier dieser Zustände zeigen die Notwendigkeit eines
zusätzlichen Zyklus an. Diese vier einen zusätzlichen Zyklus erfordernden Zustände werden mittels der
Und-Schaltung 1205 angezeigt, der diejenigen Zustände angezeigt werden, die die Auswahl eines Zweifachvielfachen
erfordern. Der Ausgang der Und-Schaltung 1205 besteht aus einem Signal, das als »zusätzlicher
Zyklus als nächstes« bezeichnet wird. Der durch den Inverter 1206 invertierte Ausgang der
Und-Schaltung 1205 liefert die Anzeige, daß als nächstes kein zusätzlicher Zyklus erforderlich ist
(zusätzlicher Zyklus als nächstes). Die beiden Ausgangssignale der Und-Schaltung 1205 und des Inverters
1206 steuern den Übertrag zwischen dem 5-Register 106 und dem Paralleladdierer 110
(F i g. 1), die normalerweise immer eine zweistellige Linksverschiebung des Dividendenrestes bewirken.
Wird jedoch ein zusätzlicher Zyklus notwendig, werden die Tore zwischen dem 5-Register 106 und
dem Paralleladdierer 110 so eingestellt, daß eine Nullverschiebung beim Übertrag des Dividendenrestes
in den Addierer erfolgt. Eine Und-Schaltung 1207 und ein Inverter 1208 erzeugen Signale, die anzeigen,
daß die im Addierer 110 durchgeführte
Addition den erforderlichen zusätzlichen Additionszyklus darstellt. Obwohl im Zusammenhang mit dem
Divisionsalgorithmus keine Zeitgeberfunktionen dargestellt wurden, ist die in Fig. 12 dargestellte
logische Schaltung die einzige Schaltung, die eine Unterscheidung zwischen einem vorliegenden und
einem folgenden Zyklus erforderlich macht. Diese Anzeige erfolgt durch die Und-Schaltungen 1205 und
1207. Der Zeitgeberzustand ist während der zweiten Hälfte eines bestimmten Dividierzyklus positiv, der
als Ergebnis der Verwendung einer Rechteckschwingungszeitgeberquelle entsteht, die einen Zeitgeber
und einen Zeitgeber - Zustand während des Zyklus erzeugt. Während des Zyklus, der die Notwendigkeit
eines zusätzlichen Zyklus anzeigt, erregt der Zeitgeber-Zustand die Und-Schaltung 1205, so daß die
Und-Schaltung 1207 im nächstfolgenden Zyklus erregt wird, wenn der Zeitgeber-Zustand positiv wird.
Durch die Oder-Schaltung 1209 wird angezeigt, wenn der i?2-Zähler (Fig. 1) auf Grund der Tatsache, daß
ein »zusätzlicher Zyklus als nächstes« nicht erforderlich ist oder daß ein »zusätzlicher Zyklus jetzt«
durchgeführt wird, um Eins erhöht werden soll.
Mit Hilfe der in Fig. 13 dargestellten Schaltung, deren Funktion mittels der in F i g. 4 dargestellten
Tafel erklärt werden kann, werden die Quotientenbits erzeugt. Die Oder-Schaltung 1300, die Und-Schaltung
1301 und die Und-Schaltung 1302 bilden eine Schaltung, die angibt, wann das höchststellige Quotientenbit
eine binäre Eins sein muß. So oft ein Zweifachvielfaches ausgewählt wird, ist das höchststellige Bit
eine Funktion eines Übertrages aus der Stelle 0 des Paralleladdierers 110 (Fig. 1). Das höchststellige
Quotientenbit wird immer dann eine binäre Eins sein, wenn kein zweifaches Vielfaches mit dem in komplementärer
Form vorliegenden Rest ausgesucht wird. Der andere Eingang zur Und-Schaltung 1302 »zusätzlicher
Zyklus jetzt« verhindert während eines zusätzlichen Additionszyklus eine Änderung in der Angabe
des höchststelligen Quotientenbits. Die Oder-Schaltung 1303 und die Und-Schaltungen 1304, 1305 und
1306 bilden eine Schaltung zur Erzeugung des niedrigststelligen Quotientenbits.
Der Übertrag von zwei Quotientenbits in die richtigen Stellen des F-Registers 109 (Fig. 1) auf Grund
des Zustandes der 14. und 15. Stelle des i?2-Zählers erfolgt unter der Steuerung der Und-Schaltungen 1307
bis 1314. Der Zustand des Ä2-Zählers ist, ebenso wie bei dem Multipliziervorgang, nicht in Synchronismus
mit dem gerade durchgeführten Zyklus zur Vielfachauswahl. Bei der Divisionsoperation ist die
Einstellung des i?2-Zählers der Speicherung der Quotientenbits um einen Schritt voraus. Zum Beginn
einer Divisionsoperation wird der 2?2-Zähler im Register 102 (F i g. 1) auf Null gestellt. Es wird ein
32 Bits umfassender Divisor verwendet, so daß die Divisionsoperation am Ende des sechzehnten iterativen
Additionszyklus beendet ist, was dadurch angezeigt wird, daß der Inhalt des i?2-Zählers gleich 15
wird, was der Fall ist, wenn in allen Stellen des Zählers eine binäre Eins steht.
Am Beginn einer Dividieroperation befinden sich die Stellen 14 und 15 des i?2-Zählers im NuIl-Zustand,
was ein Auslesen des ersten Bytes aus den Stellen 0 bis 7 des S-Registers 103 zur Folge hat.
Gemäß einer bevorzugten Ausführungsform des Erfindungsgedankens wird ein 64 Bitstellen umfassender
Dividend verwendet, wobei die höchststelligen 32 Bits des Dividenden in das .B-Register 106 und die
niedrigststelligen Bits des Dividenden in das S-Register 103 eingegeben werden. In jedem iterativen
Additionszyklus wird die binäre Kombination des Inhalts der Stellen 12 bis 15 des i?2-Zählers zum
Durchschalten von zwei Bits des Dividenden, in der Reihenfolge von hohen zu niedrigen Stellen, aus dem
Register 5103 zu den niedrigststelligen Stellen des B-Registers 106 verwendet. Bei Beendigung von vier
ίο iterativen Additionszyklen sind alle Dividendenbits
eines bestimmten Bytes im S-Register 103 in das B-Register 106 zur Verwendung in den darauffolgenden
iterativen Additionszyklen übertragen. Sind im F-Register 109 acht Quotientenbits angesammelt, so
wird dieses 8-Bit-Byte des Quotienten in das 5-Register 103 übertragen, und zwar in das Byte des
S-Registers 103, das soeben zur Übertragung von Dividendenbits in das B-Register 106 verwendet
wurde. Dieses Byte, in das eingelesen werden soll, wird durch den Inhalt des 5T-Zählers 107 bestimmt,
dessen Inhalt anschließend erhöht wird. Bei Beendigung der Dividieroperation wurde ein 32 Bits umfassender
Quotient erzeugt und in das 5-Register 103 (Fig. 1) eingegeben. Ein 32 Bits umfassender Rest
ist im B-Register 106 enthalten.
Kurz zusammengefaßt besteht die beschriebene Anordnung aus einem Datenweg, der einen Paralleladdierer,
erste und zweite Register und Tore zur Parallelverschiebung der Operanden in und aus den
Paralleladdierern enthält. Die Anordnung ermöglicht eine Beschleunigung des Operationsvorganges, da
unter bestimmten Umständen mehr Multiplikatorbits in einem iterativen Additionszyklus verwendet werden
können, als dies normalerweise der Fall ist. Bei Dividieroperationen entfällt die Notwendigkeit der
Speicherung von Divisordreifachen. Weiterhin werden keine besonderen Verschieberegister und keine besonderen
Schaltungen zur Paritätsprüfung im Zusammenhang mit jedem Register benötigt. Alle Paritätsprüfungen
im ersten oder im zweiten Register können am Eingang des Paralleladdierers durchgeführt werden,
worauf eine Paritätsprüfung am Addiererausgang und die Einstellung der Paritätsbitkombinationen
gemäß der Parallelverschiebung der Datenbits bei der Ausgabe aus dem Paralleladdierer erfolgt.
Claims (6)
1. Schaltungsanordnung zur Durchführung verkürzter Multiplikationen oder Divisionen durch
Bildung von Mehrfachen bestimmter Operanden und Parallelablauf von Teiloperationen mit zwei
2n-stelligen Registern, wobei in je einem n-stelligen
Teil des einen Registers die Rechenoperanden und im anderen Register die Teilergebnisse zur
parallelen Verarbeitung in einem Paralleladdierwerk gespeichert werden und die Steuerung der
einzelnen Teiloperationszyklen durch In- bzw. Dekrementieren von Zählschaltungen erfolgt, dadurch
gekennzeichnet, daß die Ausgänge des niedrigstelligen Teiles (104) des ersten
Registers über eine Schaltung (113) zur Nulloder Linksverschiebung um eine Stelle mit den
Eingängen für den ersten Operanden des Paralleladdierwerkes (110) verbunden sind, während
die Eingänge für den zweiten Operanden mit den Ausgängen eines Teiles (106) des zweiten Regi-
709 719/208
sters über eine weitere Schaltung (114) zur Nulloder Linksverschiebung um zwei Stellen verbunden
sind, und daß die Ausgänge des Paralleladdierwerkes (110) steuerbar über eine dritte Schaltung
(111) zur Null- oder 4stelligen Rechts- bzw. Linksverschiebung mit jedem Teil (103 bis 106)
der beiden Register eingangsseitig verbunden sind.
2. Schaltungsanordnung nach Anspruch 1, gekennzeichnet durch ein zur Aufnahme des Operationscodes
und der Adressen der jeweils in einer Operation zu verarbeitenden Daten dienendes
Register (102), dessen letzte Stellen nach Durchführung der Datenentnahme als Zähler zur
Auswahl von je zwei Multiplikatorbits (Ml, M2)
bzw. bei Vorliegen von Nullvielfachen zur Auswahl der nächstfolgenden Multiplikatorbits (Ml',
M 2') bzw. zur Auswahl von je zwei Divisorbits je Rechenzyklus geschaltet werden.
3. Schaltungsanordnung nach den Ansprüchen 1 und 2, gekennzeichnet durch zusätzliche Stellen
(64, 65, 66, 67) des das Partialprodukt oder den Dividenden bzw. Dividendenrest aufnehmenden
Registers (105, 106) zur Aufnahme und Übertragung von Endproduktbits in ein Zwischenregister
(F [109]) und von dort in die niedrigstelligen Stellen des Multiplikatorregisters (103)
und durch eine diese Übertragungen steuernde Multipliziersteuerung (116).
4. Schaltungsanordnung mit einer Teilschaltung zur Auswahl der jeweils zu verarbeitenden Bitpaare
nach den Ansprüchen 1 bis 3, dadurch gekennzeichnet, daß den Einstellungen 00, 01, 10
und 11 zugeordnete Ausgänge eines die Auswahl der jeweils zu verarbeitenden Multiplikatorbits
steuernden Zählers (R 2 [102]) und die die Einstellung der einzelnen Stellen einer Bitgruppe des
Multiplikatorregisters (103) anzeigenden Leitungen (S0 bis 57 in Fig. 5) so mit einer Reihe von
in zwei Gruppen (50 bis Sl und 50 bis 55) angeordneten Und-Schaltungen (500 bis 513) verbunden
sind, daß bei den Zählerständen 00, 01, 10 und 11 die den Leitungen (50 und 51) der ersten
Gruppe, (52 und 53) der ersten Gruppe sowie (50 und 51) der zweiten Gruppe, (54 und 55)
der ersten Gruppe sowie (52 und 53) der zweiten Gruppe bzw. (56 und 57) der ersten Gruppe
sowie (54 und 55) der zweiten Gruppe zugeordneten Und-Schaltungen (500 bis 513) erregt sind,
daß die Ausgänge der gruppenweise angeordneten Und-Schaltungen (500 bis 503, 504 bis 507, 508
bis 510, 511 bis 513) gruppenweise mit Oder-Schaltungen (515 bis 518) verbunden sind, deren
Ausgänge jeweils unmittelbar mit das Vorliegen von binären Einsen anzeigenden Ausgangsleitungen
(M2, Ml, M2', Ml') und über Inverter mit
das Vorliegen von binären Nullen anzeigenden Leitungen (Ml, MI, MT und MI') verbunden
sind, derart, daß bei Vorliegen von Nullen in einer mit Ausnahme der höehststelligen Bitpaarstellen
die den Inhalt der folgenden Bitpaarstellen des Multiplikatorregisters (103) anzeigenden Ausgangsleitungen
(ΜΓ, M2') wirksam werden und eine Multiplikation mit dem nächstfolgenden Bitpaar
bewirken.
5. Schaltungsanordnung nach den Ansprüchen 1 bis 4, mit einer Teilschaltungsanordnung zur
Kombination der zwecks Bestimmung des jeweiligen Multiplikandenvielfachen untersuchten Multiplikatorbits
(Ml, M2 in Fig. 6) mit einem
gegebenenfalls vom letzten Rechenzyklus herrührenden Übertrag (TX), um beim Vorliegen bestimmter
Bedingungen eine Multiplikation mit dem nächstfolgenden Bitpaar (Ml', M2') des
Multiplikators einzuleiten, gekennzeichnet durch zwei Und-Schaltungen (600 und 601) mit Eingängen
für (TX, MT, ΉΊ bzw. TX, Ml und
M 2) und jeweils einen vierten Eingang zur Sperrung der Und-Schaltungen bei Vorliegen der
Einstellung 00 der Stellen (14 bis 15) oder 1111 der Stellen (12 bis 15) des Zählers R 2 und einer
nachgeschalteten Oder-Schaltung (606) zur Abgabe der Steuersignale: ».B-Register mit Nullverschiebung
nach Addierer, Nullvielfaches (OZ), Ä2-Zähler —2«, durch Und-Schaltungen (602
bis 604) mit jeweils zwei Eingängen für (Ml, TX; Ml, TX; MI, M2) einer nachgeschalteten mit
einem vierten, das Vorliegen der Einstellung 00 der Stellen (14 bis 15) oder 1111 der Stellen (12
bis 15) des Zählers R2 anzeigenden Eingang versehenen Oder-Schaltung (607) zur Erzeugung der
Steuersignale: »B-Register zweifache Linksverschiebung zum Addierer OX, i?2-Stellel2
bis 15 —1«, durch eine dritte Gruppe Und-Schaltungen (609 bis 612) mit je drei Eingängen für
ÜZ, TX, Ml, OX, Ml, M2; OX, TX' und OZ, Ml' und M 2') und durch eine nachgeschaltete
Oder-Schaltung (613) zur Erzeugung des Steuersignals (TX) bzw. über einen Inverter (TX)
sowie unter Berücksichtigung der über einen Inverter (615) einer Und-Schaltung (614) zugeführten
Anzeige der Einstellung 00 der Stellen (14 bis 15) des Zählers R 2 zur Erzeugung der
Steuersignale (TX' und TX').
6. Schaltungsanordnung nach den Ansprüchen 1 bis 5, dadurch gekennzeichnet, daß zur Durchführung
einer zweistelligen Rechtsverschiebung bei einer jeweils zwei Multiplikatorbits berücksichtigenden
Teilmultiplikation durch einen Schalter (111) eine vierstellige Rechtsverschiebung
beim Übertrag aus dem Addierer (110) in das B-Register (106) und durch einen Schalter (114)
eine zweistellige Linksverschiebung des Partialproduktes kein Übertrag aus dem B-Register in
den Addierer durchgeführt wird.
Hierzu 3 Blatt Zeichnungen
709 719/208 1.68 © Bundesdruckerei Berlin
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US384362A US3293420A (en) | 1964-07-22 | 1964-07-22 | Computer with compatible multiplication and division |
Publications (1)
Publication Number | Publication Date |
---|---|
DE1259122B true DE1259122B (de) | 1968-01-18 |
Family
ID=23517035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DEJ28590A Withdrawn DE1259122B (de) | 1964-07-22 | 1965-07-17 | Schaltungsanordnung zur Durchfuehrung verkuerzter Multiplikationen oder Divisionen |
Country Status (7)
Country | Link |
---|---|
US (1) | US3293420A (de) |
CH (1) | CH432892A (de) |
DE (1) | DE1259122B (de) |
ES (1) | ES315571A1 (de) |
GB (1) | GB1053686A (de) |
NL (1) | NL152998B (de) |
SE (1) | SE314234B (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3447729A1 (de) * | 1983-12-28 | 1985-07-18 | Hitachi, Ltd., Tokio/Tokyo | Verfahren und vorrichtung zur dezimal-multiplikation |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3504167A (en) * | 1967-01-13 | 1970-03-31 | Ibm | Carry select divide decode |
US3997771A (en) * | 1975-05-05 | 1976-12-14 | Honeywell Inc. | Apparatus and method for performing an arithmetic operation and multibit shift |
US4495593A (en) * | 1982-07-01 | 1985-01-22 | Hewlett-Packard Company | Multiple bit encoding technique for combinational multipliers |
US4665500A (en) * | 1984-04-11 | 1987-05-12 | Texas Instruments Incorporated | Multiply and divide unit for a high speed processor |
GB2411974C (en) * | 2003-12-09 | 2009-09-23 | Advanced Risc Mach Ltd | Data shift operations |
-
0
- GB GB1053686D patent/GB1053686A/en active Active
-
1964
- 1964-07-22 US US384362A patent/US3293420A/en not_active Expired - Lifetime
-
1965
- 1965-07-15 SE SE9344/65A patent/SE314234B/xx unknown
- 1965-07-17 DE DEJ28590A patent/DE1259122B/de not_active Withdrawn
- 1965-07-20 ES ES0315571A patent/ES315571A1/es not_active Expired
- 1965-07-21 NL NL656509472A patent/NL152998B/xx not_active IP Right Cessation
- 1965-07-22 CH CH1030165A patent/CH432892A/de not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3447729A1 (de) * | 1983-12-28 | 1985-07-18 | Hitachi, Ltd., Tokio/Tokyo | Verfahren und vorrichtung zur dezimal-multiplikation |
Also Published As
Publication number | Publication date |
---|---|
GB1053686A (de) | |
CH432892A (de) | 1967-03-31 |
NL6509472A (de) | 1966-01-24 |
ES315571A1 (es) | 1965-11-16 |
US3293420A (en) | 1966-12-20 |
SE314234B (de) | 1969-09-01 |
NL152998B (nl) | 1977-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2246968C2 (de) | Einrichtung zur Multiplikation zweier Gleitkommazahlen | |
DE3144015C2 (de) | ||
DE3650335T2 (de) | Rechenverfahren und -gerät für endlichfeldmultiplikation. | |
DE2712224A1 (de) | Datenverarbeitungsanlage | |
DE19758079A1 (de) | Verfahren und Vorrichtung zur Galoisfeld-Multiplikation | |
DE2311220A1 (de) | Digital-informations-verarbeitungsvorrichtung zur zeichenerkennung | |
DE1162111B (de) | Gleitkomma-Recheneinrichtung | |
DE1169166B (de) | Modulí¬9 Pruefzahl-Rechner | |
DE1549508C3 (de) | Anordnung zur Übertragsberechnung mit kurzer Signallaufzeit | |
DE1474037C3 (de) | Paritätsprüfverfahren und -prüfeinrichtung für datenverarbeitende Maschinen | |
DE3852576T2 (de) | Einrichtung und Verfahren für eine erweiterte Arithmetik-Logik-Einheit zur Beschleunigung der ausgewählten Operationen. | |
DE1114050B (de) | Elektronischer Gleitkomma-Rechner | |
DE2830334C2 (de) | ||
DE3303269C2 (de) | ||
DE69228400T2 (de) | Vorprozessor für Dividierer unter Verwendung eines Divisionssystems mit hoher Grundzahl | |
DE1259122B (de) | Schaltungsanordnung zur Durchfuehrung verkuerzter Multiplikationen oder Divisionen | |
DE3440680C2 (de) | ||
DE2310553A1 (de) | Vorrichtung zur durchfuehrung arithmetischer und logischer operationen | |
DE2746355A1 (de) | Einrichtung und verfahren zur wahlweisen multiplikation oder division zweier als binaerzahlen vorliegender operanden | |
DE3447729A1 (de) | Verfahren und vorrichtung zur dezimal-multiplikation | |
DE69030772T2 (de) | Dividierer zur hochgeschwindigen Ausführung einer arithmetischen Operation | |
DE2523755C3 (de) | Divisionsvorrichtung unter Verwendung einer Näherungsgleichung | |
DE1184122B (de) | Addiervorrichtung | |
DE3302013C2 (de) | ||
DE69606273T2 (de) | Verfahren zum Erzeugen eines Parameters J0 bezüglich der Verwendung von modularen Operationen nach der Montgomery-Methode |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E77 | Valid patent as to the heymanns-index 1977 | ||
8339 | Ceased/non-payment of the annual fee |