DE2203143B2 - Rechenanordnung zum Dividieren von Dezimalzahlen - Google Patents

Rechenanordnung zum Dividieren von Dezimalzahlen

Info

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
Application number
DE2203143A
Other languages
English (en)
Other versions
DE2203143A1 (de
DE2203143C3 (de
Inventor
Durk Jan Bolt
Jogchum Reitsma
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Philips Gloeilampenfabrieken NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Philips Gloeilampenfabrieken NV filed Critical Philips Gloeilampenfabrieken NV
Publication of DE2203143A1 publication Critical patent/DE2203143A1/de
Publication of DE2203143B2 publication Critical patent/DE2203143B2/de
Application granted granted Critical
Publication of DE2203143C3 publication Critical patent/DE2203143C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/491Computations with decimal numbers radix 12 or 20.
    • G06F7/4915Multiplying; Dividing
    • G06F7/4917Dividing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/491Computations with decimal numbers radix 12 or 20.
    • G06F7/498Computations with decimal numbers radix 12 or 20. using counter-type accumulators
    • G06F7/4983Multiplying; Dividing
    • G06F7/4985Multiplying; 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)

Patentansprüche:
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.
DE2203143A 1971-01-30 1972-01-24 Rechenanordnung zum Dividieren von Dezimalzahlen Expired DE2203143C3 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
DE2203143A1 (de) 1972-08-17
FR2124971A5 (de) 1972-09-22
NL7101258A (de) 1972-08-01
JPS5343772B1 (de) 1978-11-22
GB1347832A (en) 1974-02-27
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