DE2203143B2 - Rechenanordnung zum Dividieren von Dezimalzahlen - Google Patents
Rechenanordnung zum Dividieren von DezimalzahlenInfo
- Publication number
- DE2203143B2 DE2203143B2 DE2203143A DE2203143A DE2203143B2 DE 2203143 B2 DE2203143 B2 DE 2203143B2 DE 2203143 A DE2203143 A DE 2203143A DE 2203143 A DE2203143 A DE 2203143A DE 2203143 B2 DE2203143 B2 DE 2203143B2
- Authority
- DE
- Germany
- Prior art keywords
- tetrad
- digit
- divisor
- remainder
- register
- 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.)
- Granted
Links
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/4915—Multiplying; Dividing
- G06F7/4917—Dividing
-
- 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
- G06F7/4985—Multiplying; Dividing by successive additions or subtractions
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)
- Executing Machine-Instructions (AREA)
Description
Die Erfindung betrifft eine Rechenanordnung gemäß Oberbegriff des Anspruchs 1.
Derartige Rechenanordnungen zum Dividieren von Dezimalzahlen sind aus R. K. R i c h a r d s, »Arithmetic
Operations in Digital Computers«, Nostrand Comp., 1955, S. 268-273 bekannt. Ferner sind Verfahren
bekanntgeworden, die den Divisionsvorgang beschleunigen und damit die Rechenzeiten in einer Rechenmaschine
verkürzen, z. B. aus der DE-AS 11 28 688.
Der erfindungsgemäßen Rechenanordnung liegt die Aufgabe zugrunde, eine Divisionseinrichtung zu schaffen,
die den Divisionsvorgang noch schneller durchführt. Diese Aufgabe wird erfindungsgemäß durch die im
Anspruch 1 angegebenen Merkmale gelöst. Weiterbildungen der Erfindung sind in den Unteransprüchen
gekennzeichnet.
Das Normieren des Divisors und auch das zum Erreichen eines Quotientenresultats der Division
erfolgende Multiplizieren des Dividenden mit dem erwähnten bestimmten Faktor erfordert zwar zusätzlich
Zeit, ist jedoch nur einmal pro vollständiger Division durchzuführen, und zwar nur dann, wenn die erwähnte
Nennerziffer kleiner ist als die Zahl 5. Wichtig ist, daß die Anzahl der Additions- bzw. Subtraktionsoperationen
und auch die Anzahl von Resttransporten pro zu bildender Quotientenziffer — es können viele Quotientenziffern
sein — möglichst klein ist. Dies ist insbesondere der Fall, wenn ein Schiebebefehl gemäß
der Erfindung dazu dient, einen im Rechenelement entstandenen Rest um eine Anzahl von Ziffertetraden
ranghöher im Dividenden-Tetradenregister anzuordnen und dabei eine entsprechende Anzahl von zugehörigen
Quotientenziffern in den rangniedrigsten Quotientenziffern-Tetraden im Quotienten-Tetradenregister aufzunehmen,
wobei die erwähnte Anzahl von Zifferntetraden höchstens gleich der Anzahl von Ziffern der
ranghöchsten Ziffern des Rests ist, die eine Zahl 0 mit einer darauffolgenden Zahl, die kleiner ist als 5, oder
eine Zahl 9 mit einer darauffolgenden Zahl, die größer oder ebenso groß wie 5 ist, enthalten, und wobei ferner
die erwähnte Anzahl von Zifferntetraden höchstens gleich einer um eins verringerten Anzahl von Ziffern der
ranghöchsten Ziffern des Rests ist, die eine Zahl 0 mit einer darauffolgenden Zahl, die größer oder ebenso
groß ist wie 5, oder eine Zahl 9 mit einer darauffolgenden Zahl, die kleiner ist als 5. enthalten.
Das Auftreten eines Schiebebefehls bei Dividendenoder Restwerten, die kleiner bzw. größer oder ebenso
groß wie bestimmte Zahlen 05 bzw. 95 und mithin auch 005 bzw. 995 usw. sind, bedeutet, daß zur Bildung der ι ο
Quotientenziffern der Rest wesentlich weniger oft durch 0 geht und dadurch beträchtlich weniger
Additions- und Subtraktionsoperationen erforderlich sind. Es sei an dieser Stelle bemerkt, daß auch andere
Zahlen gewählt werden können, beispielsweise 04 (dabei muß dann zunächst der Nenner auf wenigstens 4
normiert werden) bzw. 96. Dabei treten jedoch beim Durchgang des Restwertes durch 0 Komplikationen auf,
die, um dennoch eine geringe Anzahl von Additionsund Subtraktionsoperationen zu erhalten, Maßnahmen
erfordern, die die Anordnung beträchtlich komplizierter machen. Durch eine kleine Änderung der Anordnung
nach der Erfindung ist es außerdem möglich, automatisch, ohne daß der Divisionsvorgang und dabei die
Rechenanordnung komplizierter wird, direkt die richtigen Quotientenziffern zu bilden. Eine Lösung hierfür ist
im Anspruch 3 gekennzeichnet. Da die Inhalte der erwähnten zusätzlichen Tetraden normal in den
Vorgang des Addierens und Subtrahierens aufgenommen sind, entstehen automatisch, ohne daß zusätzliche
Maßnahmen getroffen werden müssen, nacheinander die erwünschten Quotientenziffern, die ohne weiteres
beim. Auftreten eines erwähnten Schiebebefehls vom Rechenelement aus in das Quotienten-Tetradenregister
eingegeben werden können.
Ausführungsbeispiele der Erfindung werden nachfolgend anhand der Zeichnungen näher erläutert. Es zeigt
F i g. 1 ein Beispiel einer erfindungsgemäßen Anordnung,
Fig.2 ein Beispiel einer Division in der Anordnung
nach F ig. 1,
Fig. 3 eine etwas geänderte Ausführungsform der Anordnung nach Fig. 1,
F i g. 4 ein Beispiel einer Division in der Anordnung nach F i g. 3,
F i g. 5 ein Detail der in F i g. 1 und F i g. 3 verwendeten Steueranordnung.
In Fig. 1 bezeichnet NTR ein Divisor-Teüadenregister
mit einem Eingang Nlund einem Ausgang über eine
Leitung /|. Das Dividenden-Tetradenregister ist mit TTR bezeichnet und hat einen Eingang über die
Leitungen 77und h und einen Ausgang über die Leitung
h. Es sei nachdrücklich darauf hingewiesen, daß es für die Erfindung unwesentlich ist, ob die Zahlen parallel
oder in Reihe verarbeitet und/oder transportiert werden. Falls der Transport in Reihe erfolgt, können die
Eingänge 77und /V/und die Leitungen l\, h und H einfach
ausgeführt sein. Erfolgt der Transport parallel, so sind die Leitungen NI, TI, A, h, h jeweils als Leitungsbündel
ausgebildet.
Ferner bezeichnen R ein dezimal arbeitendes Rechenelement, C eine Steueranordnung und QTR ein
Quotienten-Tetradenregister. C2 ist eine Befehlsleitung für Addierbefehle, Cl für Subtrahierbefehle und C 3 für
Schiebebefehle. Die Leitung U dient dem Transport der nacheinander in einem quotientenbildenden Zähler Z
entstandenen Quotientenziffern zum Quotienten-Tetradenregister QTR. Dieser Zähler besitzt einen Addier-
und einen Subtrahiereingang-)-/ — . Entsprechend der
Erfindung sind an sich bekannte Mittel ."vorhanden, in
denen festgestellt wird, ob während des Divisionsvorgangs im Rechenelement R ein Rest entsteht, dessen
ranghöchste Zifferstelle eine 0 und dessen nächstniedrigere Ziffer eine Zahl ist, die kleiner ist als 5, oder ob ein
Rest entsteht, dessen ranghöchste Ziffer eine 9 und nächstniedrigere Ziffer größer oder ebenso groß ist wie
5. Um dies feststellen zu können, müssen die Mittel Paus Vergleichsschaltungen bestehen, in denen die erwähnten
Ziffern mit der Zahl 05 bzw. 95 verglichen werden. Die Mittel P werden zugleich dazu verwendet, um vor
Beginn des Divisionsvorgangs auf einen Befehl über eine Befehlsleitung CO hin zu überprüfen, ob die
Divisorziffer, die in der der ranghöchsten Tetrade benachbarten nächstniedrigeren Tetrade A/ /7—1 des
Divisor-Tetradenregisters NTR steht, kleiner ist als die Zahl 5. Ferner sind noch ein UND-Tor £0 und ein
ODER-Tor O vorhanden. Außerdem ist noch eine Befehlsleitung M vorhanden.
Die Wirkungsweise ist folgende: Zunächst werden der Dividend in das Dividenden-Tetradenregister TTR
und der Divisor in das Divisor-Tetradenregister eingegeben. Die Vorzeichen des Dividenden und des
Divisors werden entsprechend bekannten Techniken verarbeitet, um das Vorzeichen für den Quotienten zu
bestimmen; da dies jedoch nicht Gegenstand der Erfindung ist, wird nicht näher darauf eingegangen. Vor
Beginn des Divisionsvorgangs sorgt die Befehlsleitung CO dafür, daß über das Rechenelement R in Püberprüft
wird, ob die Divisorziffer in N n—\ kleiner ist als die
Zahl 5. Wenn das der Fall ist, so wird dies über eine Leitung h und über das durch ein bei Beginn einer
Division vorhandene Signal auf der Leitung Sto vorbereitetes UND-Tor £Ό der Steueranordnung C
gemeldet. Diese Anordnung C gibt dann über die Leitung M Multiplikationsbefehle ab. Hiermit werden
im Rechenelement R die Inhalte des Divisor- und Dividenden-Tetradenregisters mit einem bestimmten
Faktor multipliziert. Dieser Faktor kann beispielsweise 2 sein. Wenn die Divisorziffer in Nn-1 nach einer
Multiplikation mit dem erwähnten Faktor der gestellten Bedingung noch nicht genügt, so gibt C noch einen
Befehl über M ab. Es ist auch möglich, daß festgestellt wird, wie groß der bestimmte Faktor wenigstens sein
muß, um die gestellte Bedingung für die Divisorziffer in Nn- 1 in einem einzigen Vorgang zu erfüllen. Ist dies
erwünscht, so kann nach Beendigung eines vollständigen Divisionsvorgangs dafür gesorgt werden, daß ein
gegebenenfalls noch vorhandener Rest, der durch eine derartige Multiplikation zu groß sein wird, korrigiert
wird. Schließlich ist noch eine Zustands-Signalisierungsleitung 5 vorhanden, über die das Rechenelement der
Anordnung C meldet, ob der Rest positiv oder negativ ist, woraufhin entweder ein Subtrahierbefehl Cl oder
ein Addierbefehl C2 gegeben wird. Auch kann eine Signalisierungsleitung 50 vorhanden sein, die meldet,
daß der Rest 0 ist, wonach der Divisionsvorgang gestoppt wird.
Die Wirkungsweise der Anordnung nach F i g. 1 wird im folgenden anhand von Rechenbeispielen, wie
angegeben in Fig. 2, erläutert. Es sei bemerkt, daß etwaige Kommatas nicht berücksichtigt sind.
In F i g. 2 sind die jeweiligen Inhalte der Dividenden- und Divisor-Tetradenregister TTR und NTR und
weiterhin des Zählers Z und des Quotienten-Tetradenregisters QTR angegeben. Die im Rechenelement R
entstandenen Zwischenresultate, die erst nach einer
Verschiebung im Dividenden-Tetradenregister angeordnet werden, sind mit einer darunter eingetragenen
gestrichelten Linie angegeben. Die auftretenden Befehle sind rechts von den Zahlenbeispielen vermerkt.
Im Beispiel von Fig. 2 ist angenommen, daß ein Dividend 455 durch einen Divisor 305 dividiert werden
soll. Die beiden Zahlen werden auf bekannte Weise über die Eingänge 77 und NI in den richtigen Stellen des
Registers TTR bzw. NTR angeordnet, d. h. die höchste Ziffernstelle in die zweithöchste Stelle der Register.
Zunächst tritt nun von der Anordnung C aus der Befehl CO auf. Hiermit wird in diesem Beispiel über das
Rechenelement mit den Mitteln P überprüft, ob die N/7—1 -te Ziffer des Divisors
<5 ist. Das ist hier der Fall. Es entsteht ein Signal auf der Leitung 15, das über
das UND-Tor £0 die Anordnung Cerreicht, weil hier von der Startsituation die Rede ist und Sto ein Signal
führt. Auf das Signal auf der Leitung 15 reagiert die Anordnung C mit einem Multiplikationsbefehl M Hier
ist angenommen, daß M eine Multiplikation mit einem Faktor 2 steuert. Dies erfolgt auf die übliche, bekannte
Art und Weise. Hiermit steht dann in TTR der Wert 0910 und in NTR der Wert 0610. Ein neuer Befehl CO
gibt kein Signal mehr an die Leitung 15, weil die Divisorziffer Nn-\ = 6>5 ist. Dies bedeutet, daß die
Normierung des Zählers (Dividend) und Nenners beendet ist und nun der eigentliche Divisionsvorgang
beginnen kann. Dazu gibt die Anordnung C einen Subtrahierbefehl Cl ab. Der Divisor wird vom
Dividenden abgezogen, und außerdem macht der Zähler in Zuber den Eingang + einen Schritt. Der Rest ist 03 ...
In P wird durch Vergleich ermittelt, daß der Rest <05 ist, und dadurch entsteht ein Schiebebefehl C3 (über das
ODER-Tor O). Durch diesen Befehl werden folgende Operationen durchgeführt:
1. Der im Rechenelement R entstandene Rest 030 ... wird über die Leitung 13 auf einer um eins ranghöheren
Stelle im Register TTR angeordnet, mithin 30...
2. Der Inhalt des Zählers Z nämlich die 1, wird über die Leitung U in die rangniedrigste Tetrade des
Quotienten-Tetradenregisters QTR eingespeichert.
3. Der bereits vorhandene Inhalt von QTR schiebt sich auf eine um eins ranghöhere Stelle. Damit ist Z = 0
und QTR = 001. Der Rest ist noch positiv, mithin folgt erneut ein Subtrahierbefehl Cl. Dies erfolgt so oft
nacheinander, bis der Rest negativ wird. Im Beispiel 5mal. Der Rest ist 995. In P wird angezeigt, daß der Rest
>95 ist. Dadurch wird ein Schiebebefehl C3 erzeugt. Durch diesen Befehl werden folgende Operationen
ausgeführt:
1. Über eine Leitung 16 wird zunächst noch ein 1-Wert vom Inhalt des Zählers Z abgezogen: Signal
über 16 zum Eingang -. Danach wird der Inhalt von Z: 5 - 1 = -1.
2. Der im Rechenelement R entstandene Rest 995 wird über die Leitung /3 auf einer um eins ranghöheren
Stellein TTR angeordnet, also 95...
3. Da zuerst die unter Punkt 1 angegebene Maßnahme durchgeführt wird, indem beispielsweise das ODER-Tor
Oeine hinreichende Verzögerung erzeugt, wird nun der w>
Inhalt des Zählers Z, der nun 4 ist, über W in der rangniedrigsten Tetrade von QTR angeordnet.
4. Der bereits vorhandene Inhalt von QTR schiebt sich auf eine um eins ranghöhere Stelle. Damit ist dann
wieder Z = Ound QTR = 014. hr>
Über die Leitung S ist gemeldet, daß der Rest negativ
geworden ist, die Anordnung C gibt mithin einen Addierbefehl C2 ab. Damit wird der Inhalt des Zählers
Z der nun wieder 0 ist, um eins verringert. Der Zähler 2 macht mithin über den Eingang — einen Schritt zurück
d. h. es entsteht eine 9. Der Nenner wird zum Resl addiert, und es entsteht ein Rest 011 ..., der größer ist als
0, und in P wird angezeigt, daß 01 <05 ist, es entsteht mithin wieder ein Schiebebefehl C3. Hiermit wird der
Rest verschoben und der Zählerinhalt (9) in QTR eingespeichert, dessen früherer Inhalt sich um eine
Stelle weiter schiebt, usw.
Zur Berechnung des Quotienten von 5 Ziffern: 14 918,
waren nach der Erfindung insgesamt 16 Subtraktions-Additionsoperationen
erforderlich. Entsprechend den bekannten Verfahren, d. h. ohne die Normierung und
ohne die Anordnung P wären 27 Subtraktions-Additionsoperationen erforderlich gewesen.
Bei dem obenerwähnten Beispiel ist die erfindungsgemäße Anordnung jedoch nicht vollständig ausgenutzt
Nach dem zweiten Schiebebefehl C3 entsteht nämlich ein Rest 95 000, der wieder vom Dividenden-Tetradenregister
aus in das Rechenelement gelangt, und dori wird ein Addierbefehl C2 abgegeben. Der erwähnte
Rest ist jedoch >95, und mithin könnte eigentlich wieder ein Schiebebefehl auftreten. Wird dies in der
Anordnung verwirklicht, so bedeutet dies normalerweise wieder eine Einsparung von Subtraktions-Additionsoperationen.
Das kann auf verschiedene Art und Weise verwirklicht werden. Eine einfache Art und Weise
besteht beispielsweise darin, daß mit dem Dividenden-Tetradenregister TTR in den beiden ranghöchster
Stellen dieselbe Anordnung P verbunden ist wie mil dem Rechenelement. In Fig. 1 ist dies mit einet
strichpunktierten Linie und Anordnung P' angedeutet Wenn sich nun in P'zeigt, daß die ersten beiden Zifferr
des Rests <05 bzw. >95 sind, so tritt von /"aus eir Signal auf der Leitung 17 bzw. 18 auf, welche die
Ausgänge von P'mit denen von Pverbindet. Außerderr sind die Leitungen 17 und 18 mit einem ODER-Tor O
verbunden, dessen Ausgang mittels der Leitung 19 mil der Steueranordnung C verbunden ist. Tritt ein Signa
auf der Leitung 17 oder 18 auf, so erhält die Anordnung C über 19 einen Befehl, den Inhalt des Registers TTF
über die Leitung 12 zum Rechenelement R, und zwar zi dem (nicht näher angegebenen) Ergebnis-( = Ausgangs)register
zu transportieren. Hierzu ist von dei Anordnung C noch eine Befehlsleitung T angegeben
Das auf 17 oder 18 auftretende Signal läßt über das ODER-Tor O außerdem einen Schiebebefehl C2
entstehen. Die Verbindung von 17 und 18 mit der Ausgängen von Pist jedoch praktisch nicht erforderlich
weil auch in P selbst festgestellt wird, daß der arr Ausgang des Rechenelements vorhandene Rest
<0f bzw. > 95 ist. Dies ergibt dann einen Schiebebefehl C3.
Andererseits ist es auch in diesem Beispiel möglich die Anordnung /"mit ihren Ausgängen 17 und 18 unc
hinter dem Tor O' mit 19 dasselbe ausführen zu lasser wie die Anordnung P, indem 18 mit 16 verbunden wird
so daß der Zähler Z zum Bilden der richtiger Quotientenziffer veranlaßt wird. In diesem Fall komm
auf die Leitung 19 ein Schiebebefehl, der direkt dafüi sorgt, daß der Rest, um eine Stelle verschoben, vorr
Register TTRübcr 12 zum Eingang des Rechenelement! gebracht wird. Der Rest steht dann für eine weiten
Subtraktions- oder Additionsoperation bereit. Dicsci
erwähnte Schiebebefehl sorgt zugleich dafür, daß dei Quotient, wie oben beschrieben, richtig dem Quoticn
tenregistcr zugeführt wird.
Auf diese Weise sind zwei nacheinander mögliche Verschiebungen des Rests und das Aufnehmen dei
zugehörigen Quotientenziffer auszuführen. In der Praxis ist dies zwar ausreichend, weil mehr als zwei mögliche
Verschiebungen, insbesondere drei, nur durchschnittlich lmal pro 1000 Verschiebungen auftreten können. Daß in
einem solchen Fall zusätzliche Subtraktions- oder Additionsoperationen ausgeführt werden, steigert die
mittlere Rechengeschwindigkeit nur in geringem Maße. Im Falle des erwähnten Rests 95 000 bewirkt feinen
Schiebebefehl C3. Dies ist in Fig.2 mit einem doppelten Pfeil rechts auf der Seite angegeben. Es
entsteht nun eine andere Situation. Das Quotienten-Tetradenregister hat nun einen Inhalt, wie unter QTR', und
der Zähler einen Inhalt, wie unter Z'angegeben ist. Der unmittelbar wieder auftretende Schiebebefehl C3 sorgt
dafür, daß
1.) über die Leitung 16 zunächst noch ein 1-Wert vom
Inhalt des Zählers abgezogen wird: Z' = 0 - 1 = 9,
2.) der nun am Ausgang des Rechenelements vorhandene Rest 95 ... über die Leitung 13 auf die in der
Rangordnung nächsthöhere Stelle in TTR angeordnet wird, also 5...,
3.) der Inhalt des Zählers (nun 9) über W in die
rangniedrigste Stelle von QTR eingespeichert wird und
4.) der bereits vorhandene Inhalt von QTR (14) eine Stelle weiterschiebt, so daß schließlich
QTR' = 00149 enthält.
Der weitere Verlauf der Division ist ohne weiteres verständlich (siehe den weiteren rechten Abschnitt der
Seite von F i g. 2).
Dieses Auftreten von mehreren Schiebebefehlen nacheinander verkürzt die mittlere Rechenzeit, was vor
allem deutlich wird, wenn im Rechenelement Ergebnisse der Form 000 ... OA ..., oder der Form 999 ... 9/4
entstehen. Die höchste Anzahl von Schiebebefehlen, die entsprechend dem oben beschriebenen Verfahren
nacheinander entstehen, ist gleich der Anzahl von Nullen, die A vorhergehen, das
<5 sein muß, bzw. die Anzahl von Schiebebefehlen ist gleich der Anzahl von Neunen, die A vorhergehen, das £5 sein muß. Ist A im
Fall der Nullen bzw. im Fall der Neunen > 5 bzw. S 5, so ist diese Anzahl nacheinander auftretender Schiebebefehle
um eins kleiner als die Anzahl von Nullen bzw. Neunen. Bei dieser Ausführung sorgt mithin jeder
Schiebebefehl C3 für eine Verschiebung über eine Ziffer.
Noch effizienter ist es, einen einzigen Schiebebefehl direkt eine maximal mögliche Verschiebung ausführen
zu lassen. Hierbei muß ein Schiebebefehl dafür sorgen können, daß ein Rest direkt über eine Anzahl (eine oder
mehrere) von Zifferntetraden verschoben wird und daß eine entsprechende Anzahl von Quotientenziffern in das
Quotienten-Tetradenregister aufgenommen wird, und zwar in Abhängigkeit von dem obenerwähnten
Kriterium für die Größe des im Rechenelement entstandenen Rests. Dies geschieht derart, daß nicht ein
oder mehrere Transporte mit dem jeweils um eine Stelle verschobenen Rest zum Zähler-Tetradenregister TTR
und dann wieder zum Rechenelement stattfinden müssen. Dies ist einfach möglich, wenn am Ausgang des
Rechenelements nicht nur auf die zwei ranghöchsten Resultat-( = Rest-)ziffern geachtet wird, sondern auch
auf die Ziffer in der dritten und gegebenenfalls vierten Stelle der Rangordnung usw. Dann kann direkt
festgestellt werden, über wieviel Stellen der Rest mit einem Schiebebefehl in einem Mal verschoben in das
Dividendcn-Tetradenregister eingegeben werden kann und wieviele Quotientenziffern dabei direkt bestimmt
sind und im Quotienten-Tetradenregister aufgenommen werden können. Diese Möglichkeit wird im folgenden
u. a. anhand von F i g. 3 näher erläutert.
In Fig.3 ist ferner angegeben, wie die richtigen Quotientenziffern automatisch und direkt entstehen,
wenn in der Anordnung nach F i g. 1 eine kleine Änderung vorgenommen wird. Der Zähler Z entfällt
dabei. Ebenso entfallen die Leitungen W und 16.
Entsprechend dieser Änderung enthält das Divisor-Tetradenregister NTR auf der in der Rangordnung um eins
höheren Stelle als die Stelle der ranghöchsten Divisorziffer, die selbst eine 0 ist, eine zusätzliche
Tetrade ENT, in der fortwährend eine Ziffer 9 gespeichert ist. Ebenso enthält das Dividenden-Tetradenregister
TTR auf der in der Rangordnung um eins höheren Stelle als die Stelle der ranghöchsten
Dividendenziffer eine zusätzliche Tetrade £77; in der zu Beginn der Division die Ziffer 0 gespeichert ist. Beim
Normieren des Zählers und Nenners, falls dies erforderlich ist, bleibt der Inhalt von ENT (und ETT)
unverändert, denn bei einer Multiplikation wird der Inhalt von £WT(und £777 nicht mitgenommen. Beim
eigentlichen Divisionsvorgang wird der Inhalt von ENT und ETT bei den im obigen bereits beschriebenen
Vorgängen mitgenommen. Dabei entsteht dann automatisch die richtige Quotientenziffer, die sich auf einen
Schiebebefehl aus dem Rechenelement hin in das Quotienten-Tetradenregister schiebt. In der Anordnung
nach Fig.3 wird nicht wie in der Anordnung nach F i g. 1 in der Anordnung P nur auf die zwei
ranghöchsten Resultat-( = Rest-)Ziffern geachtet, sondern
auch auf das in der Rangordnung an dritter Stelle liegende. Hierbei sei darauf hingewiesen, daß der Inhalt
von ETT hierbei nicht gerechnet wird, weil nämlich dessen Inhalt nicht in Puntersucht wird. In Fig.3 sind
daher drei Verbindungen zwischen R und P vorgesehen. Dies ist notwendig, um in diesem Fall einen Schiebebefehl
zum Verschieben des Rests über höchstens zwei Zifferntetraden zu bewirken, wenn ein Rest mit der
Form 00/1 (A<5) oder 99A (Ai5) auftritt. P enthält
dazu die erforderlichen, an sich bekannten Vergleichsanordnungen, mit denen sowohl die Situationen
<05 und £95 als auch <005 und >995 für die im
Rechenelement entstehenden ranghöchsten Restziffern getestet werden können.
Tritt einer der letzten beiden Fälle auf, so gibt P anstatt eines Schiebebefehls zu einer Verschiebung über
eine Ziffernstelle dann einen Schiebebefehl zum
so Verschieben des Rests über zwei Zifferntetraden ab, und dabei »laufen« dann außerdem direkt zwei Quotienten
zum Quotienten-Tetradenregister »über«. Siehe hierzu das Beispiel in Fig.4. Das hier erwähnte Untersuchen
der drei ranghöchsten Ziffern des Rests ist praktisch hinreichend, weil eine Verschiebung über mehr als zwei
Stellen nur selten auftritt. Hierzu wird auf die Beschreibung der F i g. 1 verwiesen. Die Wirkungsweise
der Anordnung nach Fig.3 ist ferner bis auf das Entstehen der Quotientenziffern nahezu vollständig
dieselbe wie die Wirkungsweise der Anordnung nach Fig. 1. Beim Auftreten eines Schiebebefehls wird nun
nicht die gegebenenfalls geänderte Stellung des Zählers Z (Fig. 1), sondern die in diesem Moment im
Rechenelement automatisch gebildete, richtige Quotientenziffer auf der rangniedrigsten Stelle des Quotienten-Tetradenregisters
QTR angeordnet. Das Rechenelement bildet diese Quotientenziffer dann dadurch, daß
in den Subtraktions- bzw. Additionsbearbeitungen der
Inhalt der zusätzlichen Tetraden ETT und ENT
mitgenommen wird. Zur Veranschaulichung ist in F i g. 4 gezeigt, wie die aufeinanderfolgenden Schritte beim
Divisionsvorgang zweier Zahlen erfolgen. Das Beispiel ist gleich dem in F i g. 2. Wie direkt ersichtlich ist, ändert
sich der Inhalt der zusätzlichen Tetrade ETT des Dividenden-Tetradenregisters, außer bei einem Nulldurchgang,
stets nach einer Bearbeitung im Rechenelement. Auf die Schiebebefehle C3 hin wird das Resultat
vom Rechenelement aus um eine Stelle verschoben (in der Figur nach links) und im Dividenden-Tetradenregister
angeordnet. Hierbei »fällt« mithin eine Ziffer »heraus«. Diese Ziffer, nämlich die richtige Quotientenziffer,
wird durch den Schiebebefehl in QTR auf die rangniedrigste Stelle gesetzt. Dies geschieht weiterhin,
wie in Fig.2, beim Entstehen beispielsweise des Resultats 4/99 500. Jedoch zeigt die Anordnung P an,
daß entsprechend dem obenerwähnten Grundsatz eine Verschiebung über zwei Ziffertetraden möglich ist. In
F i g. 4 ist dies mit 2C3 angegeben. Das Resultat schiebt zwei Stellen weiter, und die beiden »überlaufenden«
Ziffern 4 und 9 kommen auf die beiden rangniedrigsten Stellen des Quotienten-Tetradenregisters zu stehen.
Das Zahlenbeispiel ist ohne weiteres verständlich. In F i g. 5 ist ein Detail der Anordnungen nach F i g. 1 und 3,
nämlich der Steueranordnung C, dargestellt. In F i g. 5 bezeichnet MU eine Multiplikationsbefehls-Einheit. Oi
bezeichnet ein ODER-Tor. FO, F'0, Ei und F2 sind UN D-Tore, und FF ist ein Flipflop. G ist beispielsweise
ein Impulsgeber. Zunächst ist ein Startsignal auf der Leitung Sto vorhanden, das über den Impulsgeber C
einen Befehl CO, wie vorstehend beschrieben, als Ausgangsbefehl entstehen läßt. Kommt auf Grund des
Befehls CO über die Leitung 15 ein Signal (d. h., es muß normiert werden), so gibt UND-Tor F.0 ein Signal für
die Einheit MU ab, die mittels der Multiplikationsbefehlsleitung M für die Multiplikation sorgt Nach dem
Startsignal Sto kommt, in bezug auf Sto etwas verzögert, ein Startsignal St Wenn kein Signal auf 15
vorhanden ist, wird nach angegebener Invertierung dieses 0-Signals (angedeutet durch einen . am Eingang
des UND-Tors E'O) über das UND-Tor E'O über das
ODER-Tor Oi ein Signal an einen Setzeingang des Flipflops FF gelangen. Damit führt der Ausgang FFl
ein 1-Signal. Beim Auftreten eines Rechenzyklus-Impulses auf Cy entsteht über dem UND-Tor Ei ein
Subtrahierbefehl Cl. Solange über die Signalisierungsleitung
Sangegeben wird, daß der im Rechenelement R entstehende Rest positiv bleibt, bleibt das Flipflop in der
erwähnten Stellung, und es tritt auf jeden Zyklusimpuls auf Cy hin ein Subtrahierbefehl Cl auf. Wird der Rest
negativ, so führt in diesem Beispiel die Signalisierungsleitung kein Signal mehr. Der Signalübergang auf der
Leitung S im Moment, in dem der Rest negativ wird, sorgt für die Rückstellung des Flipflops. Damit führt der
Ausgang FF2 ein 1-Signal. Auf jeden Impuls auf Cy hin
entsteht über das UND-Tor E2 ein Addierbefehl C2. Wird der Rest nach einem oder mehreren Befehlen C2
wieder positiv, so verursacht die damit auf der Leitung S auftretende Änderung über das ODER-Tor 01 wieder
ein Umkippen des Flipflops FF, so daß wieder Subtrahierbefehle C1 kommen werden, usw.
In Fig.5 ist mit einer strichpunktierten Linie
angegeben, wie die Anordnung C abgeändert werden kann, um mehr als einen Schiebebefehl nacheinander zu
ermöglichen (wie bei F i g. 1 beschrieben), wenn der Rest dazu Veranlassung gibt. Tritt nämlich ein Signal
C3 anläßlich eines Signals auf 17 oder 18 auf, so erscheint das Signal über das ODER-Tor O' und die
Leitung 19 auch in der Anordnung C, und zwar invertiert an den UND-Toren Ei und F.2 (die
Invertierung ist jeweils durch . am Eingang von Ei und
El angedeutet), so daß dann, wenn dieses Signal auf 17 oder 18 auftritt, kein Signal Cl oder C2 auftreten kann,
wenn ein Impuls auf Cy erscheint. Zunächst wird nämlich beispielsweise über ein Glied D mit einer
geringen Verzögerung ein Befehl auf der Leitung T bewirkt, der für einen Transport des Rests aus TTR
direkt zum Ausgangsregister des Rechenelementes R oder für die Verschiebung des Rests um eine Stelle aus
dem Zähler-Tetradenregister 777? zum Eingang des Rechenelements sorgt; siehe für beide Fälle die
Beschreibung bei F i g. 1. Tritt keine Verschiebung mehr ein, fehlt also das Signal auf 17 oder 18, so kann mithin
das UND-Tor Ei oder E2 auf einen Impuls auf Cy hin
wieder einen Subtrahier- bzw. Addierbefehl Cl bzw. C 2 abgeben.
Hierzu 3 Blatt Zeichnungen
Claims (3)
1. Rechenanordnung zum Dividieren von Dezimalzahlen entsprechend dem Divisionsverfahren
ohne Rückstellung, mit einem Divisor-Tetradenregister zur Speicherung der Divisorziffern, wobei der
Divisor im Divisor-Tetradenregister anfangs linksbündig unter Vorstellen einer »0« an der ranghöchsten
Divisorziffernstelle gespeichert wird, einem Dividenden-Tetradenregister zur linksbündigen
Speicherung der Dividendenziffern unter Vorstellen einer »0« an der ranghöchsten Stelle bzw. zur
Speicherung der Restziffern nach einer Subtraktion oder Addition des Divisors und einem Quotienten- '5
Tetradenregister zur Speicherung der Quotientenziffern, ferner mit einem Rechenelement und einer
Steueranordnung, die dem Rechenelement dann, wenn der Dividend bzw. der Rest entsprechend der
ranghöchsten Ziffernstelle positiv ist, einen Befehl zum Ausführen einer Subtraktion und dann, wenn
der Rest negativ ist, einen Befehl zum Ausführen einer Addition des Inhalts des Divisor-Tetradenregisters
vom bzw. zum Inhalt des Dividenden-Tetradenregisters abgibt, dadurch gekennzeichnet,
daß Vergleichseinrichtungen (P) vorhanden sind, die vor Beginn des Divisionsvorgangs feststellen,
ob die Divisorziffer, die in der der ranghöchsten Tetrade benachbarten nächstniedrigeren Tetrade
des Divisor-Tetradenregisters steht, kleiner als 5 ist, und wobei diese Vergleichseinrichtungen (P) dann,
wenn dies der Fall ist, einen Befehl zur Multiplikation des Dividenden und des Divisors mit einem
bestimmten Faktor abgeben, und zwar derart, daß die erwähnte Divisorziffer nach einer oder mehreren
Multiplikationsoperationen größer oder wenigstens ebenso groß wird wie 5, und wobei eine Verschiebesteuerung
(C) vorhanden ist, die während des Divisionsvorgangs einen Schiebebefehl zur Verschiebung
des Rests um eine Ziffernstelle in «1 Richtung höherer Wertigkeit und zum Aufnehmen
der zugehörigen Quotientenziffer in der rangniedrigsten Tetrade des Quotienten-Tetradenregisters
abgibt, falls ein Rest <05 bzw. ^95 ist, wobei die
Quotientenziffer stellenweise in einem Zähler (Z) gewonnen wird, der bei jedem Befehl zum
Ausführen einer Subtraktion einen Vorwärts-Zähltakt und der bei jedem Befehl zum Ausführen einer
Addition und jedesmal dann, wenn der Rest >95 ist, einen Rückwärts-Zähltakt und nach jedem Schiebebefehl
ein Löschsignal zum Rückstellen auf die Nullstellung erhält.
2. Rechenanordnung nach Anspruch 1, dadurch gekennzeichnet, daß einer der Schiebebefehle dazu
dient, einen im Rechenelement entstandenen Rest um eine Anzahl von Ziffertetraden ranghöher im
Dividenden-Tetradenregister anzuordnen und dabei eine entsprechende Anzahl von zugehörigen Quotientenziffern
in den rangniedrigsten Quotientenziffern-Tetraden im Quotienten-Tetradenregister aufzunehmen,
wobei die erwähnte Anzahl von Zifferntetraden höchstens gleich der Anzahl von Ziffern der
ranghöchsten Ziffern des Rests ist, die eine Zahl 0 mit einer darauffolgenden Zahl, die kleiner ist als 5,
oder eine Zahl 9 mit einer darauffolgenden Zahl, die größer oder ebenso groß ist wie 5, enthalten, und
wobei ferner die erwähnte Anzahl von Ziffern höchstens gleich der um eins verringerten Anzahl
von Ziffern der ranghöchsten Ziffern des Rests ist, die eine Zahl 0 mit einer darauffolgenden Zahl, die
größer oder ebenso groß ist wie 5, oder eine Zahl 9 mit einer darauffolgenden Zahl, die kleiner ist als 5,
enthalten.
3. Rechenanordnung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß das Divisor-Tetradenregister
auf der in der Rangordnung um eins höheren Stelle als die Stelle der ranghöchsten
Divisorziffer eine erste zusätzliche Tetrade (ENT) enthält, in der fortwährend eine Ziffer 9 gespeichert
ist, und daß das Dividenden-Tetradenregister auf der in der Rangordnung um eins höheren Stelle als die
Stelle der möglichen ranghöchsten Dividendenziffer eine zweite zusätzliche Tetrade (ETT) enthält, in der
zu Anfang einer Division eine Ziffer 0 gespeichert ist, wobei dann durch die Additions- bzw. Subtraktionsbearbeitungen
im Rechenelement unter Einbeziehung der Inhalte der erwähnten zusätzlichen Tetraden in der zweiten zusätzlichen Tetrade (ETT)
automatisch eine richtige Quotientenziffer entsteht, die auf einen erwähnten Schiebebefehl hin in die
rangniedrigste Stelle des Quotienten-Tetradenregisters eingegeben wird.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
NL7101258A NL7101258A (de) | 1971-01-30 | 1971-01-30 |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2203143A1 DE2203143A1 (de) | 1972-08-17 |
DE2203143B2 true DE2203143B2 (de) | 1978-07-27 |
DE2203143C3 DE2203143C3 (de) | 1979-04-05 |
Family
ID=19812373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2203143A Expired DE2203143C3 (de) | 1971-01-30 | 1972-01-24 | Rechenanordnung zum Dividieren von Dezimalzahlen |
Country Status (6)
Country | Link |
---|---|
US (1) | US3735107A (de) |
JP (1) | JPS5343772B1 (de) |
DE (1) | DE2203143C3 (de) |
FR (1) | FR2124971A5 (de) |
GB (1) | GB1347832A (de) |
NL (1) | NL7101258A (de) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3927311A (en) * | 1974-08-20 | 1975-12-16 | Ibm | Arithmetic system for halving and doubling decimal numbers |
JPS57205979A (en) * | 1981-06-15 | 1982-12-17 | Matsushita Electric Works Ltd | Hook connector |
JPS58132837A (ja) * | 1982-02-03 | 1983-08-08 | Hitachi Ltd | 10進除算装置 |
JPS5987543A (ja) * | 1982-11-09 | 1984-05-21 | Hitachi Ltd | 2進化10進数除算方式 |
US4724529A (en) * | 1985-02-14 | 1988-02-09 | Prime Computer, Inc. | Method and apparatus for numerical division |
US5315540A (en) * | 1992-08-18 | 1994-05-24 | International Business Machines Corporation | Method and hardware for dividing binary signal by non-binary integer number |
US5587940A (en) * | 1993-11-12 | 1996-12-24 | Amalgamated Software Of North America, Inc. | Non-heuristic decimal divide method and apparatus |
WO2013044414A1 (en) * | 2011-09-30 | 2013-04-04 | Intel Corporation | Apparatus and method for performing decimal division |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3234366A (en) * | 1961-11-15 | 1966-02-08 | Ibm | Divider utilizing multiples of a divisor |
US3578961A (en) * | 1968-03-06 | 1971-05-18 | Honeywell Inc | Preconditioned divisor for expedite division by successive subtraction |
-
1971
- 1971-01-30 NL NL7101258A patent/NL7101258A/xx unknown
-
1972
- 1972-01-24 DE DE2203143A patent/DE2203143C3/de not_active Expired
- 1972-01-26 US US00220979A patent/US3735107A/en not_active Expired - Lifetime
- 1972-01-27 GB GB385672A patent/GB1347832A/en not_active Expired
- 1972-01-29 JP JP1026772A patent/JPS5343772B1/ja active Pending
- 1972-01-31 FR FR7203144A patent/FR2124971A5/fr not_active Expired
Also Published As
Publication number | Publication date |
---|---|
JPS5343772B1 (de) | 1978-11-22 |
FR2124971A5 (de) | 1972-09-22 |
DE2203143A1 (de) | 1972-08-17 |
GB1347832A (en) | 1974-02-27 |
NL7101258A (de) | 1972-08-01 |
DE2203143C3 (de) | 1979-04-05 |
US3735107A (en) | 1973-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2246968C2 (de) | Einrichtung zur Multiplikation zweier Gleitkommazahlen | |
DE1549476C3 (de) | Anordnung zur Ausführung von Divisionen | |
DE2930441C2 (de) | Anzeigeeinrichtung zur wahlweisen dynamischen oder statischen Anzeige | |
DE2712224A1 (de) | Datenverarbeitungsanlage | |
DE1255356B (de) | Steuervorrichtung fuer taktgesteuerte Rechenmaschinen | |
DE1169166B (de) | Modulí¬9 Pruefzahl-Rechner | |
DE1549478B1 (de) | Gleitkomma-Rechenwerk zur schnellen Addition oder Subtraktion binaerer Operanden | |
DE2203143C3 (de) | Rechenanordnung zum Dividieren von Dezimalzahlen | |
DE3440680C2 (de) | ||
DE3447729A1 (de) | Verfahren und vorrichtung zur dezimal-multiplikation | |
DE2743575A1 (de) | Verfahren und einrichtung zur multiplikation einer ersten zahl mit einer zweiten zahl | |
DE3302013C2 (de) | ||
DE1774771B2 (de) | Anordnung, um wechselweise eine addition oder eine aus einer anzahl logischer funktionen zwischen den stellenwerten zweier binaerwoerter durchzufuehren | |
DE1549485C3 (de) | Anordnung zur Division binärer Operanden ohne Rückstellung des Restes | |
DE2203144C3 (de) | Rechenanordnung zum Dividieren | |
DE1549461C3 (de) | ||
DE1103646B (de) | Inkrement-Rechenmaschine | |
DE1125685B (de) | Rechenmaschine | |
DE1234055B (de) | Anordnung zur Addition oder Subtraktion | |
DE1303692C2 (de) | Binaerrechner | |
DE1269392B (de) | Einrichtung zur Division von Dezimalziffern | |
DE1101818B (de) | Rechenmaschine zur Ausfuehrung von Divisionen und Multiplikationen | |
DE1111429B (de) | Multiplikationsschaltung fuer eine Daten verarbeitende Maschine | |
DE1524146C (de) | Divisionseinrichtung | |
AT203245B (de) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
8339 | Ceased/non-payment of the annual fee |