DE1193705B - Einrichtung zur Division von Dezimalzahlen - Google Patents
Einrichtung zur Division von DezimalzahlenInfo
- Publication number
- DE1193705B DE1193705B DEJ22655A DEJ0022655A DE1193705B DE 1193705 B DE1193705 B DE 1193705B DE J22655 A DEJ22655 A DE J22655A DE J0022655 A DEJ0022655 A DE J0022655A DE 1193705 B DE1193705 B DE 1193705B
- Authority
- DE
- Germany
- Prior art keywords
- flip
- flop
- quotient
- subtraction
- remainder
- 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
Links
- 230000000295 complement effect Effects 0.000 description 5
- 238000007792 addition Methods 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000002123 temporal effect Effects 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/491—Computations with decimal numbers radix 12 or 20.
- G06F7/498—Computations with decimal numbers radix 12 or 20. using counter-type accumulators
- G06F7/4983—Multiplying; Dividing
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Description
BUNDESREPUBLIK DEUTSCHLAND
DEUTSCHES
PATENTAMT
AUSLEGESCHRIFT
Inta.:
G06f
Deutsche KL: 42 m-14
Nummer: 1193 705
Aktenzeichen: J 22655IX c/42 m
Anmeldetag: 14. November 1962
Auslegetag: 26. Mai 1965
Es sind Divisionseinrichtungen für Digitalrechengeräte bekannt, bei welchen der Divisor nacheinander
mehrere Male vom Dividendenrest subtrahiert wird, so daß jede Quotientziffer durch Zählen der Anzahl
von erfolgreichen Subtraktionen gebildet wird. Je nachdem, was geschieht, wenn durch die aufeinanderfolgenden
Subtraktionen der Dividendenrest kleiner als Null wird, werden solche Divisionseinrichtungen
in solche mit Rückstellung und solche ohne Rückstellung eingeteilt. Divisionseinrichtungen mit Rück-Stellung
gestatten es im allgemeinen, daß durch aufeinanderfolgende Subtraktionen der Dividendenrest
unter Null sinkt. Sie machen dann einen Rückstellumlauf durch, um den Divisor zurückzuaddieren
und damit den Dividendenrest wieder positiv zu machen. Nach dem Rückstellen wird der Dividendenrest
stellenverschoben, und es werden weitere aufeinanderfolgende Substraktionen versucht.
Parallel arbeitende Divisionseinrichtungen ohne Rückstellung führen im allgemeinen aufeinanderfolgende
Subtraktionen aus, bis der Dividendenrest unter Null sinkt, worauf dann aufeinanderfolgende
Additionen des Divisors für die nächste Quotientziffer folgen, bis der Dividendenrest über Null steigt. Es
werden also Quotientziffern abwechselnd durch aufeinanderfolgende Subtraktionen und aufeinanderfolgende
Additionen gebildet.
Es sind ferner Divisionseinrichtungen bekannt, in welchen mehrere Vielfache des Divisors gebildet und
diese vom Dividenden oder Dividendenrest subtrahiert werden. Die Subtraktion beginnt im allgemeinen mit
dem größten Vielfachen und endet mit dem Divisor selbst. Die Subtraktion eines Vielfachen des Divisors
wird nur dann als erfolgreich registriert, wenn der Dividendenrest nach der Subtraktion noch positiv ist.
Diese Divisionsanordnung ist je nach der Zahl und der Art der verwendeten Vielfachen des Divisors bis
zu mehrere Male schneller als die oben beschriebene Divisionsanordnung, bei welcher jeweils nur der
Divisor subtrahiert wird. Diese Divisionseinrichtung benötigt jedoch für die Schritte bei Beginn einer
Division, in denen nur Quotientenziffern Null ermittelt werden, relativ viel Zeit, weil auch hier nacheinander,
beginnend mit dem größten Vielfachen, alle Vielfache
subtrahiert werden müssen, bis schließlich festgestellt wird, daß auch die Subtraktion des Divisors selbst
kein negatives Ergebnis zeitigt; erst dann kann eine Linksverschiebung des Dividenden erfolgen.
Zweck der Erfindung ist es, die Rechengeschwindigkeit einer solchen Divisionseinrichtung durch Beschleunigung
der Schritte zu erhöhen, in denen die Nullen in den höheren Quotientenstellen ermittelt
Einrichtung zur Division von Dezimalzahlen
Anmelder:
International Business Machines Corporation,
Armonk, N. Y. (V. St. A.)
Vertreter:
Dipl.-Ing. H. E. Böhmer, Patentanwalt,
Böblingen (Württ.), Sindelfinger Str. 49
Als Erfinder benannt:
Claud Myron Davis, Poughkeepsie, N. Y.;
John Anton de Veer, Millbrook, N. Y. (V. St. A.)
Beanspruchte Priorität:
V. St. v. Amerika vom 15. November 1961
(152 391)
V. St. v. Amerika vom 15. November 1961
(152 391)
werden. Die Erfindung geht aus von einer Einrichtung zur Division von Dezimalstellen, bei welcher der
Dividend in zwei aneinandergekoppelten Registern (Restregister, Quotientregister) gespeichert ist und zur
Ermittlung jeder Quotientenstelle von dem Inhalt des Restregisters nacheinander mehrere Vielfache des
Divisors subtrahiert werden, der bei der Subtraktion entstehende Rest aber nur dann in das Restregister
eingegeben wird, wenn das Ergebnis nicht negativ ist, und bei welcher die Summe der Vielfachen des Divisors,
mit denen die Subtraktion erfolgreich war, gleichzeitig mit einer Linksverschiebung des Inhalts
des Rest- und Quotientenregisters um eine Stelle in die niedrigste Stelle des Quotientenregisters eingegeben
wird. Gekennzeichnet ist die Erfindung dadurch, daß zur Erhöhung der Rechengeschwindigkeit bei Beginn
der Division zunächst nur der Divisor von dem Inhalt des Restregisters subtrahiert wird und der Dividend,
wenn das Ergebnis der Subtraktion negativ ist, in den beiden Registern um eine Stelle nach links verschoben
wird und diese Operation so lange wiederholt wird, bis beim Subtrahieren des Divisors kein negatives
Ergebnis erhalten wird.
Nachstehend soll ein Ausführungsbeispiel einer Divisionseinrichtung gemäß der Erfindung an Hand
der Fig. 1 und 2 erläutert werden.
509 577ß42
Fig. 1 — Divisionseinrichtung
F i g. 1 zeigt die ganze Divisionseinrichtung in Blockschaltbilddarstellung. Die xl-, x2- und ^-Vielfachen
des Divisors stehen im Akkumulator 3, 107, im Hilfsregister 103 und im Rechenregister 102. Jedes
dieser Register ist über ein zugeordnetes Tor 201, 202 oder 203 an den Addierer 101 angeschlossen. Die
Programmeinheit 204 steuert die Tore 201 bis 203, um wahlweise xl-, x2- oder x4-Vielfache des Divisors
über die Komplement-Sammelleitung 112 zum Addierer 101 durchzulassen. Während der Division wirkt
der Addierer 101 stets als Subtrahierer, und die Echt-Komplement-Sammelleitung
112 funktioniert stets als Komplement-Sammelleitung. Das höherstellige Wort
des Dividenden ist im Akkumulator 1,105 gespeichert. Es gelangt über die Echt-Sammelleitung 111 direkt
zum Addierer 101. Die Programmeinheit 204 steuert das Tor 201, um erfindungsgemäß den einfachen Divisor
von der höchsten Dividendenstelle zu subtrahieren und dadurch die Nullen in den höheren Quotientenstellen
zu bilden. Solange das höherstellige Dividendenwort kleiner als das Einfache (xl) ist,
werden Quotientnullen ohne Änderung des Dividenden gebildet, da jeder Subtrahierumlauf durch
Nichtbetätigung des Addierer-Ausgangstores 208 unterdrückt wird. Nach jeder unterdrückten Subtraktion
des einfachen Divisors bewirkt die Programmeinheit 204 eine Linksverschiebung des Dividenden
(Akkumulatoren 1 und 2, 105 und 106) und die Eingabe einer Ziffer 0 in einer höheren Quotientenstelle
in die unterste Stelle des Akkumulators 2. Im Verlauf der Division wird der Dividendenrest in den
Akkumulator 1 hineingeschoben, und der Quotient füllt den Akkumulator 2. Nach der Division erscheinen
der Quotient im Akkumulator 2 und der Rest im Akkumulator 1.
Sobald die erste von Null verschiedene Quotientenziffer durch einen Endübertrag aus der Übertragsvorausschau
während der xl//-Subtraktion des einfachen
Divisors festgestellt wird, hört die Programmeinheit 204 auf, die xl //-Subtraktion zu versuchen,
und fängt endgültig mit der normalen Division an. Es müssen besondere Vorkehrungen getroffen werden,
um die xli?-Subtraktion zu unterdrücken, die schließlich die eine von Null verschiedene Ziffer in der höchsten
Quotientenstelle anzeigende Kippstufe einstellt. Die Torsteuerung für diese Funktion wird in Verbindung
mit Fig. 2 erläutert.
Jede Quotientenziffer außer den Nullen in den höheren Quotientenstellen wird durch wahlweise aufeinanderfolgende
Subtraktionen des Vierfachen, des Zweifachen und des Einfachen des Divisors gebildet.
205 besteht aus vier Bit-Kippstufen mit den Wertigkeiten 4,4,2, und !.Verschiedene Kombinationen dieser
Bitwertigkeiten ergeben die Dezimalziffern 0 bis 9. Die Programmeinheit 204 steuert die xl//-Subtraktion
während der Bildung von Nullen in höheren Quotientenstellen und die Subtraktionen AA, AB, 2 und 1
während der eigentlichen Division. Unter bestimmten Umständen (wenn die Quotientenziffern 0 bis 3 sind)
wird der Programmschritt AB ausgelassen. Wenn die Quotientenziffern 8 oder 9 sind, wird der Programmschritt
2 ausgelassen. Es werden keine zusätzlichen Subtraktionsoperationen ausgeführt, wenn
Übertragsvorausschausignale zeigen, daß sie überflüssig sind (für die Quotientenziffern 0 bis 3, 8
und 9).
Die einzelnen Quotientenziffern und die für ihre Bildung nötigen Subtraktionsumläufe sind in der
nachstehenden Tabelle aufgeführt:
5 Quotientenziffer | xAA | x4B | x2 | xl |
9 | 1 | 1 | 1 | |
8 | 1 | 1 | — | 0 |
7 | 1 | 0 | 1 | 1 |
6 | 1 | 0 | 1 | 0 |
5 | 1 | 0 | 0 | 1 |
4 | 1 | 0 | 0 | 0 |
3 | 0 | — | 1 | 1 |
2 | 0 | . | 1 | 0 |
15 ! | 0 | 0 | 1 | |
0 | 0 | — | 0 | 0 |
Beim Ablauf jedes Subtraktionsumlaufs erzeugt der
Übertragsvorausschauteil 206 des Addierers 101 ent-
weder ein Signal »Übertrag« oder ein Signal »Kein Übertrag«. »Übertrag« bedeutet, daß das Ergebnis
des Subtraktionsumlaufs ein positiver Rest oder Null sein soll. »Kein Übertrag« zeigt an, daß das Ergebnis
der Subtraktion ein negativer Rest sein wird, was den Regeln für diese Divisionseinrichtungen widerspricht.
Das Signal »Übertrag« betätigt das Tor 208, und die Subtraktion gilt dann als erfolgreich. Außerdem stellt
das Signal »Übertrag« die entsprechende Multiplikator-Quotient-Bit-Kippstufe ein. Wenn das Signal »Übertrag«
nicht entsteht, bleibt das Tor 208 geschlossen, der Dividendenrest im Akkumulator 1 bleibt unverändert,
und die zugeordnete bistabile Kippschaltung 205 wird nicht eingestellt. Die Subtraktion findet
zwar in dem Addierer 101 statt, wird aber dadurch unterdrückt, daß das Ergebnis nicht zum Akkumulator
1, 105 weitergeleitet wird.
Die Programmeinheit 204 steuert auf diese Weise bis zu vier Subtrahieroperationen 4A, AB, 2 und 1 für
jede Quotientenziffer, während welcher die bistabilen Kippschaltungen 205 auf den entsprechenden Ziffernwerten 0 bis 9 eingestellt werden. Nach Subtraktion
des einfachen Divisors (xl) bewirkt die Programmeinheit eine Verschiebung der gekoppelten Akkumulatoren
1 und 2, 105 bzw. 106. Diese Verschiebung schließt auch die Eingabe der Quotientenziffernsumme
aus 205 über den 4421-nach-2/5-Übersetzer 207 in die
unterste Ziffernstelle des Akkumulators 2, 106 ein.
Das Multiplikator-Quotient-Register ist höchst
wirksam so angeordnet, daß es die während des Multiplizierens und Dividierens verwendeten Vielfachen
verarbeiten kann; seine 4421-Bitwerte können so während der Subtraktionsumläufe direkt gebildet
werden. Der übrige Teil der Datenverarbeitungseinrichtung arbeitet dagegen im 2/5-Code.
Fig. 2 — Programmeinheit
Die Divisionssteuereinrichtungen umfassen Eingangslogik-Blöcke
301 bis 316, Programmkippstufen 317 bis 322, die von Null verschiedene Ziffern anzeigende Kippstufe
323, die Eingangslogik 324 bis 327 und die Kippstufen 328 bis 331. Die grundlegenden Eingangssignale
sind »Übertrag«, »Kein Übertrag«, »Zeitsteuerung« und »Dividieren beginnen«. Das Zeitsteuersignal wird jeder
Und-Schaltung in der Eingangslogik zugeleitet, damit die Arbeit synchron abläuft. Das mit einem »Zeitsteuer«-Signal
koinzidierende »Dividieren beginnen«- Signal bereitet die Und-Schaltung 301 vor, um die
xlÄ-Kippstufe 317 über die Oder-Schaltung 302 ein-
5 6
zustellen. Direkt beim Beginn der Division ist also die eine von Null verschiedene Ziffer anzeigende Kipp-
die Programmeinheit so eingestellt, daß sie die xlH- stufe 323 einzustellen. Es besteht kein Strom zum
Subtraktion als Suche nach der Null in der höchsten Einstellen der Schiebe-Kippstufe 322, kein Strom zum
Quotientenstelle versucht. Die xlüT-Kippstufe bewirkt Einstellen der xlif-Kippstufe 317 und kein Strom
die Weiterleitung des xl -fachen aus dem Akkumula- 5 zum Einstellen irgendeiner der Kippstufen 328 bis
tor3, 107 über das Tor201 in Fig. 1. Die Kipp- 331 des Mß-Registers. Der Programmschrittx\H
schaltungen 205 erfahren jetzt keine Änderungen und wird aus der weiteren Verarbeitung des Dividierbefehls
sind im Rückstellzustand, der durch nicht gezeigte ausgeschaltet. Weil sich die xl£f-Operation zeitlich
Auslese- und Rückstellmittel bewirkt wird. Das von anderen Operationen unterscheidet, kann die
»Dividieren-beginnen«-Signal hört sofort wieder auf io xlif-Kippstufe zeitlich anteilig mitbenutzt werden,
und erscheint während der Divisionsoperation nicht um in anderen Operationen, wie z. B. bei der Multi-
wieder. plikation, verwendet zu werden.
Die xlii-Kippstufe bereitet die Und-Schaltung 304 Die Und-Schaltung 304 wird durch koinzidierende
für die Aufnahme eines Übertrags-Signals vor, um Signale »Übertrag«, x\H und »Zeitsteuerung« wirksam
die eine von Null verschiedene Ziffer anzeigende 15 gemacht, um die Kippstufe 323 für eine von Null
Kippstufe 323 einzustellen. verschiedene Ziffer einzustellen. Die Und-Schaltung 304
Die Null in der höchsten Quotientenstelle ist das ist im Eingang zur Programm-Kippstufe x4H 318
Ergebnis einer Subtraktion des χ 1-Divisorvielfachen gestrichelt gezeichnet worden, um Verwechslungen in
von einem Teil des Dividenden, dessen absoluter Wert der Zeichnung auszuschließen. Das Ausgangssignal
kleiner ist als der des Divisors xl. Es sei z.B. ange- 20 der Und-Schaltung 304 gelangt über die Oder-Schal-
nommen, daß die höheren Stellen des Dividenden tung 305 zur x44-Kippstufe 318, um diese einzustellen
00444 und der einfache Divisor 00555 lauten. Die und die eigentliche Division zu beginnen. Die Und-
Subtraktion durch Komplementaddition verläuft wie Schaltung 304 wird während der Division nicht weiter
folgt: verwendet.
Dividend 00444 25 ^e ProSramm"Kippstufe x4^4 318 steuert die Sub-
, " ' '"'."'"' "".".'" „_ . „. traktion des vierfachen Divisors (x4) vom Dividenden.
Neunerkomplement des einfachen Divisors 99444 Während der ganzen Suche nach Nullen in höheren
Fluchtige Eins 1_ Quotientenstellen wird das Tor 208 in F i g. 2 niemals
Kein Übertrag 99889 vorbereitet, um durch die Subtraktion den Dividenden
30 verändern zu lassen. Jede xli?-Subtraktion wird durch
Der Überblick über den Aufbau des Systems in NichtVorbereitung des Tors 208 unterdrückt. Das
Fig. 1 zeigt, wie der Nullwert vom Mg-Register 205 Tor 208 wird durch den Ausgangsimpuls der Undim
Übersetzer 207 in den 2/5-Code übersetzt und in Schaltung 324 (während anderer Programmumläufe
die niedrigste Ziffernstelle des Akkumulators 2, 106 durch den Ausgangsimpuls der Und-Schaltungen 325
eingebracht wird. In F i g. 2 steuern die Schiebe- 35 bis 327) auf koinzidierende Signale x4^t (x4B, x2, xl)
kippstufe 322 und die Eingangs-Und-Schaltung 314 und »Übertrag« hin betätigt. Dasselbe Signal, das das
diese Funktion. Die Und-Schaltung 314 wird durch Tor 208 betätigt, um die Subtraktion zu ermöglichen,
koinzidierende Signale »Zeitsteuerung«, xlH und NSD stellt die zugeordnete MQ-Bit-Kippstufe ein, die für
vorbereitet. Die durch die Und-Schaltung 314 über den Programmschritt x4A die Kippstufe 328 ist.
dieOder-Schaltung315eingestellteSchiebekippstufe322 40 Wenn die x4^4-Subtraktion erfolgreich ist, wird die steuert die Linksverschiebung der Akkumulatoren 1 Kippstufe 328 eingestellt; der Dividend ist verändert und 2 und eine Übertragung des Inhalts der bistabilen worden und ist nun ein Rest, und es ist Zeit, die Kippschaltung 205 (jetzt Null) zur niedrigsten Stelle x45-Subtraktion zu versuchen,
des Akkumulators. Die Und-Schaltung 307 wird durch koinzidierende Jetzt ist es Zeit, eine weitere xliT-Subtraktion zu 45 Signale x4.4, »Übertrag« und »Zeitsteuerung« vorbeversuchen, um nach einer Null in der zweithöchsten reitet, um die Programm-Kippstufe x4B 319 einzustel-Quotientenstelle zu suchen. Das »Dividieren-beginnen«- len, die die zweite Subtraktion des Vierfachen durch Signal ist zu Ende. Die Und-Schaltung 303 ist jedoch Betätigung des Tors 203 steuert. Die Ausgangsimpulse durch koinzidierende Signale »Zeitsteuerung«, »Ver- der Programm-Kippstufen x4A 318 und x4B 319 schieben« und NSD vorbereitet, um die xlüT-Kipp- 50 können durch eine nicht gezeigte Oder-Schaltung stufe 317 über die Oder-Schaltung 302 einzustellen. kombiniert werden, um das Tor 203 zu betätigen, Wenn auch diese Quotientenziffer eine Null ist, falls dieses die übliche Anordnung von Und-Schalerscheint kein Übertragsvorausschausignal, und die tungen ist. Die einfache Steuerung der x4£-Kippstufe Kippstufe 323 wird nicht eingestellt. Wie bei der beinhaltet, daß sie auf eine erfolgreiche x4v4-Sub-Operation für die Null in der höchsten Quotienten- 55 traktion folgt, da das Signal »Übertrag« zusammen stelle wird die Schiebe-Kippstufe 322 eingestellt. Sie mit x4A ein erforderliches Eingangssignal zur Undsteuert ihre Schiebe- und Übertragungsfunktionen und Schaltung 307 ist. Daher wird der x42?-Programmbewirkt die Einstellung der xlÄ-Kippstufe 317 für schritt weggelassen, wenn die x4/l-Subtraktion erfolgeinen weiteren Versuch. los ist.
dieOder-Schaltung315eingestellteSchiebekippstufe322 40 Wenn die x4^4-Subtraktion erfolgreich ist, wird die steuert die Linksverschiebung der Akkumulatoren 1 Kippstufe 328 eingestellt; der Dividend ist verändert und 2 und eine Übertragung des Inhalts der bistabilen worden und ist nun ein Rest, und es ist Zeit, die Kippschaltung 205 (jetzt Null) zur niedrigsten Stelle x45-Subtraktion zu versuchen,
des Akkumulators. Die Und-Schaltung 307 wird durch koinzidierende Jetzt ist es Zeit, eine weitere xliT-Subtraktion zu 45 Signale x4.4, »Übertrag« und »Zeitsteuerung« vorbeversuchen, um nach einer Null in der zweithöchsten reitet, um die Programm-Kippstufe x4B 319 einzustel-Quotientenstelle zu suchen. Das »Dividieren-beginnen«- len, die die zweite Subtraktion des Vierfachen durch Signal ist zu Ende. Die Und-Schaltung 303 ist jedoch Betätigung des Tors 203 steuert. Die Ausgangsimpulse durch koinzidierende Signale »Zeitsteuerung«, »Ver- der Programm-Kippstufen x4A 318 und x4B 319 schieben« und NSD vorbereitet, um die xlüT-Kipp- 50 können durch eine nicht gezeigte Oder-Schaltung stufe 317 über die Oder-Schaltung 302 einzustellen. kombiniert werden, um das Tor 203 zu betätigen, Wenn auch diese Quotientenziffer eine Null ist, falls dieses die übliche Anordnung von Und-Schalerscheint kein Übertragsvorausschausignal, und die tungen ist. Die einfache Steuerung der x4£-Kippstufe Kippstufe 323 wird nicht eingestellt. Wie bei der beinhaltet, daß sie auf eine erfolgreiche x4v4-Sub-Operation für die Null in der höchsten Quotienten- 55 traktion folgt, da das Signal »Übertrag« zusammen stelle wird die Schiebe-Kippstufe 322 eingestellt. Sie mit x4A ein erforderliches Eingangssignal zur Undsteuert ihre Schiebe- und Übertragungsfunktionen und Schaltung 307 ist. Daher wird der x42?-Programmbewirkt die Einstellung der xlÄ-Kippstufe 317 für schritt weggelassen, wenn die x4/l-Subtraktion erfolgeinen weiteren Versuch. los ist.
Schließlich folgt auf eine Reihe von Nullen in den 60 Der Eingangs-yl-Block308 wird durch koinzidierende
höheren Quotientenstellen eine von Null verschiedene Signale x4^4, »Kein Übertrag« und »Zeitsteuerung«
Quotientenziffer. Wenn durch die Verschiebung des vorbereitet, um die Programm-Kippstufe x2 320 über
höherstelligen Teils des Dividendenrestes dessen abso- die Oder-Schaltung 309 dann einzustellen, wenn die
luter Wert höher geworden ist als der einfache Divisor, Quotientenziffer 0, 1, 2 oder 3 wird. Die Programmwird
von der Übertragsvorausschaueinheit eine von 65 Kippstufe x2 320 steuert das Divisor-x2-Tor 202 und
Null verschiedene Quotientenziffer vorhergesagt. Die bereitet die Und-Schaltung 326 vor. Wenn die Sub-Und-Schaltung
304 wird durch koinzidierende Signale traktion des Zweifachen erfolgreich ist, wird durch
»Übertrag«, x\H und »Zeitsteuerung« eingestellt, um ein Übertragvorausschausignal die Vorbereitung der
Und-Schaltung 326 vervollständigt, um das Tor 208 zu
betätigen und die Afß-Bit-2-Kippstufe 330 einzustellen.
Ist die ^-Subtraktion nicht erfolgreich, erscheint kein Ubertragsvorausschausignal, die Subtraktion wird
durch Nichtbetätigung des Tors 208 unterdrückt, und die Kippstufe 330 wird nicht eingestellt.
In Fällen, in denen die x4i?-Subtraktion ausgeführt wird, aber erfolglos ist, muß die Programm-Kippstufe
x2 320 betätigt werden, nämlich für die Quotientenziffern 4, 5, 6 und 7. Die Und-Schaltung 310 wird
durch koinzidierende Signale »Zeitsteuerung«, x4B und »Kein Übertrag« wirksam gemacht, um die
Programm-Kippstufe x2 320 in solchen Fällen einzustellen und damit den x2-Subtraktionsschritt zu steuern.
Wenn sowohl die x4A- und die x42?-Subtraktion erfolgreich sind, erscheint das Vorausschausignal »Kein
Übertrag«, und der x2-Subtraktionsschritt wird so weggelassen, wenn die Quotientenziffern 8 oder 9 sind.
Die xl-Subtraktion findet stets während der eigentlichen
Division statt. Da der x4i?-Schritt, wenn er erfolgreich ist, das Wegfallen des x2-Schrittes bewirkt,
kann die xl -Subtraktion auf die x45-Subtraktion
folgen. Die Und-Schaltung 311 wird durch koinzidierende Signale x4B, »Übertrag« und »Zeitsteuerung«
vorbereitet, -um über die Oder-Schaltung 312 die Programm-Kippstufe jcl 321 für die Durchführung des
xl-Subtraktionsschrittes vorzubereiten. Wenn dieser Schritt erfolgreich ist, was durch ein Vorausschausignal
»Übertrag« angezeigt wird, wird die Und-Schaltung 327 wirksam und betätigt das Tor 208 und stellt die
Afß-Bit-1 -Kippstufe 331 ein. Wenn die xl-Subtraktion
erfolglos ist, erscheint das Signal »Übertrag« natürlich nicht, die Subtraktion wird durch Nichtbetätigung des
Tores 208 unterdrückt, und die Kippstufe 331 wird nicht eingestellt.
Wenn die x2-Subtraktion versucht wird, folgt der xl-Schritt einfach auf den x2-Schritt. Die Und-Schaltung
313 wird durch koinzidierende Signale »Zeitsteuerung« und x2 vorbereitet, um die Programm-Kippstufe
xl 321 einzustellen, damit die xl-Subtraktion versucht wird.
Jetzt speichern die M£)-Bit-Kippstufen die Quotientenziffer
im 4421-Code. Der Rest und der Quotient müssen stellenverschoben, die Quotientenziffer in den
2/5-Code umgesetzt und die Quotientenziffer in den Akkumulator 2 (s. F i g. 1) eingegeben werden. Daher
folgt die Einstellung der Schiebe-Kippstufe 322 auf den xl-Subtraktionsschritt in selbstverständlicher
Weise. In Fi g. 2 spricht die Und-Schaltung 316 auf koinzidierende Signale »Zeitsteuerung« und xl an und
stellt die Schiebe-Kippstufe 322 über die Oder-Schaltung 315 ein. Die Kippstufe 322 steuert die Verschiebung
und die Einstellung der Quotientenziffer und überträgt die Steuerung wieder auf die x4/4-Kippstufe
318.
Divisions-Ende — Fig. 1
Das bevorzugte Ausführungsbeispiel ist eine Vorrichtung mit feststehender Wortlänge (zehn Stellen);
die Division ist nach zehn Stellenverschiebungen abgeschlossen. Das »DivisionsEnde«-Signal wird zweckmäßig
durch den Verschiebungszähler 209 erzeugt, der zur »Dividieren-beginnen«-Zeit auf »10« eingestellt
und bei jeder Verschiebung einen Schritt abwärtsgeschaltet wird. Wenn er die Null erreicht, erzeugt er
das »Divisions-Ende«-Signal.
Claims (5)
1. Einrichtung zur Division von Dezimalstellen, bei welcher der Dividend in zwei aneinandergekoppelten
Registern (Restregister, Quotientregister) gespeichert ist und zur Ermittlung jeder
Quotientenstelle von dem Inhalt des Restregisters nacheinander mehrere Vielfache des Divisors
subtrahiert werden, der bei der Tubtraktion entstehende Rest aber nur dann in das Restregister
eingegeben wird, wenn das Ergebnis nicht negativ ist, und bei welcher die Summe der Vielfachen des
Divisors, mit denen die Subtraktion erfolgreich war, gleichzeitig mit einer Linksverschiebung des
Inhalts des Rest- und Quotientenregisters um eine Stelle in die niedrigste Stelle des Quotientenregisters
eingegeben wird, dadurch gekennzeichnet, daß zur Erhöhung der Rechengeschwindigkeit
bei Beginn der Division zunächst nur der Divisor von dem Inhalt des Restregisters subtrahiert
wird und der Dividend, wenn das Ergebnis der Subtraktion negativ ist, in den beiden Registern
um eine Stelle nach links verschoben wird und diese Operation so lange wiederholt wird, bis beim
Subtrahieren des Divisors kein negatives Ergebnis erhalten wird.
2. Einrichtung zur Division nach Anspruch 1, dadurch gekennzeichnet, daß eine erste Kippstufe
(xlH) vorhanden ist, die durch ein »Dividierenbeginnen«-Signal
eingestellt wird und deren Ausgangssignal ein Tor (201) öffnet, über das der
Divisor zu einem Addierer (101) hindurchgelassen wird.
3. Einrichtung zur Division nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß eine Und-Schaltung
(304) vorhanden ist, der ein Übertragssignal (C/) vom Addierer (101) und das Ausgangssignal
der ersten Kippstufe (xlH) zugeführt werden und daß das Ausgangssignal dieser Und-Schaltung
(304) die eigentlichen Divisionsschritte auslöst.
4. Einrichtung zur Division nach Anspruch 3, dadurch gekennzeichnet, daß die Ausgangssignale
der Und-Schaltung (304) einer zweiten Kippstufe (323) zugeführt werden.
5. Einrichtung zur Division nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß
das von der zweiten Kippstufe (323) im nicht eingestellten Zustand abgegebene Signal zusammen
mit einem Ausgangssignal (xlH) der ersten Kippstufe (317) einer zweiten Und-Schaltung (314) zugeführt
wird, deren Ausgangssignal gegebenenfalls nach Zwischenspeicherung in einer Schiebe-Kippstufe
(322) eine Verschiebung des Dividenden nach links auslöst.
In Betracht gezogene Druckschriften: »Digitale Rechenanlagen«, Springer Verlag, Berlin
1961, S. 202 bis 204, 206 bis 211, 237 bis 241;
»Arithmetic Operations in Digital Computers«,
D. van Nostrand Comp., Inc., New York 1955,
S. 270/271.
Hierzu 1 Blatt Zeichnungen
509 577/342 5.65 © Bundesdruckerei Berlin
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US152391A US3234366A (en) | 1961-11-15 | 1961-11-15 | Divider utilizing multiples of a divisor |
Publications (1)
Publication Number | Publication Date |
---|---|
DE1193705B true DE1193705B (de) | 1965-05-26 |
Family
ID=22542723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DEJ22655A Pending DE1193705B (de) | 1961-11-15 | 1962-11-14 | Einrichtung zur Division von Dezimalzahlen |
Country Status (3)
Country | Link |
---|---|
US (1) | US3234366A (de) |
DE (1) | DE1193705B (de) |
GB (1) | GB994225A (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3340362A1 (de) * | 1982-11-09 | 1984-05-10 | Hitachi, Ltd., Tokio/Tokyo | Verfahren und vorrichtung zur division von bcd-zahlen |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3378677A (en) * | 1965-10-04 | 1968-04-16 | Ibm | Serial divider |
US3535499A (en) * | 1967-07-14 | 1970-10-20 | Gen Electric | Data processing system having improved divide algorithm |
US3541317A (en) * | 1967-08-09 | 1970-11-17 | Ibm | Parallel addition and division of two numbers by a fixed divisor |
US3578961A (en) * | 1968-03-06 | 1971-05-18 | Honeywell Inc | Preconditioned divisor for expedite division by successive subtraction |
US3641331A (en) * | 1969-11-12 | 1972-02-08 | Honeywell Inc | Apparatus for performing arithmetic operations on numbers using a multiple generating and storage technique |
US3684879A (en) * | 1970-09-09 | 1972-08-15 | Sperry Rand Corp | Division utilizing multiples of the divisor stored in an addressable memory |
NL7101258A (de) * | 1971-01-30 | 1972-08-01 | ||
US3733477A (en) * | 1972-02-04 | 1973-05-15 | Control Data Corp | Iterative binary divider utilizing multiples of the divisor |
US5587940A (en) * | 1993-11-12 | 1996-12-24 | Amalgamated Software Of North America, Inc. | Non-heuristic decimal divide method and apparatus |
US6173305B1 (en) | 1993-11-30 | 2001-01-09 | Texas Instruments Incorporated | Division by iteration employing subtraction and conditional source selection of a prior difference or a left shifted remainder |
US5442581A (en) * | 1993-11-30 | 1995-08-15 | Texas Instruments Incorporated | Iterative division apparatus, system and method forming plural quotient bits per iteration |
US5644524A (en) * | 1993-11-30 | 1997-07-01 | Texas Instruments Incorporated | Iterative division apparatus, system and method employing left most one's detection and left most one's detection with exclusive or |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2493862A (en) * | 1946-10-03 | 1950-01-10 | Ibm | Dividing machine |
US2834543A (en) * | 1952-07-12 | 1958-05-13 | Monroe Calculating Machine | Multiplying and dividing means for electronic calculators |
NL202210A (de) * | 1954-11-22 | |||
US2879001A (en) * | 1956-09-10 | 1959-03-24 | Weinberger Arnold | High-speed binary adder having simultaneous carry generation |
-
1961
- 1961-11-15 US US152391A patent/US3234366A/en not_active Expired - Lifetime
-
1962
- 1962-10-29 GB GB40723/62A patent/GB994225A/en not_active Expired
- 1962-11-14 DE DEJ22655A patent/DE1193705B/de active Pending
Non-Patent Citations (1)
Title |
---|
None * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3340362A1 (de) * | 1982-11-09 | 1984-05-10 | Hitachi, Ltd., Tokio/Tokyo | Verfahren und vorrichtung zur division von bcd-zahlen |
US4635220A (en) * | 1982-11-09 | 1987-01-06 | Hitachi, Ltd. | Binary coded decimal number division apparatus |
Also Published As
Publication number | Publication date |
---|---|
GB994225A (en) | 1965-06-02 |
US3234366A (en) | 1966-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2246968C2 (de) | Einrichtung zur Multiplikation zweier Gleitkommazahlen | |
DE1193705B (de) | Einrichtung zur Division von Dezimalzahlen | |
DE1197650B (de) | Parallel-Addierer | |
DE1169166B (de) | Modulí¬9 Pruefzahl-Rechner | |
DE1499174B1 (de) | Dividiervorrichtung fuer Digitalrechner | |
DE3424078C2 (de) | ||
DE1298316B (de) | Einrichtung zur Kommabehandlung bei arithmetischen Operationen | |
DE2203143C3 (de) | Rechenanordnung zum Dividieren von Dezimalzahlen | |
DE1449564C3 (de) | Recheneinrichtung zur Subtraktion mehrerer Operanden oder zu deren Addition durch Verwendung von Komplementärwerten eines der Operanden | |
DE1549395C3 (de) | Elektronischer Kleinrechner, insbesondere Tischrechner | |
DE1549485C3 (de) | Anordnung zur Division binärer Operanden ohne Rückstellung des Restes | |
DE1933164A1 (de) | Digitaler Flugdatenrechner | |
DE1774674A1 (de) | Digitale Rechenanlage fuer Regelsysteme | |
DE1549461C3 (de) | ||
DE1103646B (de) | Inkrement-Rechenmaschine | |
DE1499186A1 (de) | Eingabe-Ausgabe-System fuer Rechengeraete | |
DE1965830C3 (de) | Vorrichtung zur Eingabe einer Dezimalzahl mit wählbarer Kommastelle in eine Rechenmaschine | |
DE1549105C3 (de) | Codeprüfanordnung für die Korrektur fehlerhaft übertragener Zeichen | |
DE1234055B (de) | Anordnung zur Addition oder Subtraktion | |
DE1269392B (de) | Einrichtung zur Division von Dezimalziffern | |
DE1076975B (de) | Elektronisches Rechengeraet, vornehmlich fuer dekadisches Rechnen | |
DE1276938C2 (de) | Anordnung zum feststellen einer umdrehung des typenrades eines schnelldruckers | |
DE1202542B (de) | Multiplikationseinrichtung | |
DE2438592C2 (de) | Einrichtung zur division nach der methode der iterativen substraktion | |
DE1524131B1 (de) | Binär-dezimales Serien.Serien-Rechenwerk mit Dezimalübertragkorrektur zur Addition un Subtraktion zweier binär-codierter Dezimalzahlen |