DE3440680C2 - - Google Patents

Info

Publication number
DE3440680C2
DE3440680C2 DE3440680A DE3440680A DE3440680C2 DE 3440680 C2 DE3440680 C2 DE 3440680C2 DE 3440680 A DE3440680 A DE 3440680A DE 3440680 A DE3440680 A DE 3440680A DE 3440680 C2 DE3440680 C2 DE 3440680C2
Authority
DE
Germany
Prior art keywords
register
subtraction
decimal
subtractor
result
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.)
Expired
Application number
DE3440680A
Other languages
English (en)
Other versions
DE3440680A1 (de
Inventor
Akira Hatano Kanagawa Jp Yamaoka
Kenichi Sagamihara Kanagawa Jp Wada
Kazunori Hatano Kanagawa Jp Kuriyama
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE3440680A1 publication Critical patent/DE3440680A1/de
Application granted granted Critical
Publication of DE3440680C2 publication Critical patent/DE3440680C2/de
Granted 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

Description

Die Erfindung betrifft eine Dezimaldivisions­ vorrichtung nach dem Oberbegriff des Patentanspruchs 1. Eine solche Vorrichtung ist aus der DE-AS 11 90 700 bekannt.
Die Dezimaldivision benötigt verhältnismäßig viele Verarbeitungszyklen, weshalb es schwierig ist, die Ver­ arbeitungsgeschwindigkeit einer zur Dezimaldivision be­ stimmten Vorrichtung zu erhöhen.
Fig. 1 zeigt eine herkömmliche Dezimaldivisions­ vorrichtung, die zwei Register A und C, einen Subtra­ hierer 1, ein Schieberegister 2, ein Subtraktionszähler 3 und einen Vorzeichendetektor 4 enthält. Zur Division wird in Register A ein Dividend und in Register C ein Divisor abgespeichert. Der Subtrahierer 1 vermindert den Dividen­ den um den Betrag des Divisors und gibt das Ergebnis 1 A über ein Wählglied 5 an das Register A zurück. Wenn das Subtraktionsergebnis positiv oder null ist, erfaßt der Vorzeichendetektor 4 ein Vorzeichensignal und öffnet ein Tor 10, so daß der Wert des Subtraktionszählers 3 "1" wird. Der Inhalt des Registers C wird wiederholt vom Inhalt des Registers A abgezogen, bis das Subtraktionsergebnis negativ wird; das Ergebnis 1 A wird zum Register A zurückgegeben und der Wert des Subtrak­ tionszählers 3 wird immer dann inkrementiert, wenn ein Übertrag auftritt.
Wenn das Subtraktionsergebnis negativ wird, zeigt der Subtrak­ tionszähler 3 als Ergebnisziffer die höchstwertige Ziffer des Quotienten. Gleichzeitig wird der Inhalt des Registers A und der des Registers C vom Subtrahierer 1 subtrahiert und dann zum Ergebnis der letzten Subtraktion zurück­ gegeben; das Ergebnis wird im Register A über den Wähler S gespeichert. Danach wird der Inhalt dieses Registers A durch das Schieberegister 2 um eine Ziffer nach links verschoben. Das heißt, es wird um 4 Bitstellen nach links verschoben, wenn eine Binärziffer durch 4 Bit dargestellt ist. Das Ergebnis 2 A wird zum Register A über das Wählglied S zurückgegeben.
Danach wird der Inhalt dieses Registers A als neuer Dividend um den Betrag des Divisors im Register C vermindert und das Subtraktionsergebnis zum Register A über das Wählglied S zurückgegeben. Der Wert des Subtraktionszählers 3 wird um +1 durch den vom Übertragsdetektor 4 erfaßten Übertrag inkre­ mentiert und die Zahl aufeinanderfolgender Ziffern des Quotien­ ten wird gezählt.
Um die Verarbeitungsgeschwindigkeit der Dezimaldivisionsvor­ richtung von Fig. 1 zu erhöhen, müssen folgende Probleme gelöst werden:
  • 1. Die Verarbeitung erfolgt bei dieser Vorrichtung in einer doppelten Schleife, einer Subtraktionsschleife und einer Schiebeschleife für jede Ziffer und diese Schleifen müssen zeitlich aufeinanderfolgend ausgeführt werden;
  • 2. Der Vorgang des Inkrementierens des Subtraktionszählers 3 um +1 (sobald ein Übertrag auftritt) zur Erzeugung der Ergebnisziffer, erfolgt notwendigerweise getrennt von der obenbeschriebenen Schleifenverarbeitung;
  • 3. Der Additionsvorgang des Inhalts des Registers C zum Inhalt des Registers A ist notwendig, um für eine einzelne Ziffer einen Teilquotienten zu erhalten.
Aus der JP-AS No. 6 587/1981 (KOKOKU, geprüfte Anmeldung) ist bereits eine Dezimaldivisionsvorrichtung bekannt, die eine Lösung zum Problem Nr. 3 vorschlägt.
In Fig. 2 ist ein Blockschaltbild der Dezimaldivisionsvor­ richtung gemäß der JP-AS dargestellt.
Die in Fig. 2 dargestellte Vorrichtung enthält zusätzlich ein Register B. Subtraktionsergebnisse vom Subtrahierer 1 werden abwechselnd in Register A und Register B gespeichert, und wenn kein Übertrag mehr auftritt, wird der Inhalt desjeni­ gen Registers A oder B, das ein positives Ergebnis speichert, vom Schieberegister 2 um eine Ziffer verschoben und dann zum Register A oder B zurückgegeben, woraufhin der Subtraktions­ vorgang wiederholt wird.
Um diesen Vorgang genauer zu erläutern, wird die Aufgabe 1210 : 6 = 201 mit dem Rest 4 berechnet:
  • a) Zuvor wird "01210000" in Register A und "06000000" links­ bündig in Register C geladen.
  • b) Dann wird der Inhalt des Registers C vom Inhalt des Regi­ sters A vom Subtrahierer 1 abgezogen (da "06000000" größer als "01210000" ist, wird das Komplement von "06000000", das ist 100000000 - 06000000 = 94000000 addiert). Das Sub­ traktionsergebnis, das ist "95210000" wird in Register B gespeichert. Dabei tritt kein Übertrag auf.
  • c) Der Inhalt des Registers A wird um eine Ziffer (4 Bit­ stellen) nach links verschoben und "12100000" in Register A gespeichert.
  • d) Der Inhalt des Registers C wird vom Inhalt des Registers A mittels des Subtrahierers 1 abgezogen, und das Ergebnis "06100000" in Register B gespeichert. Da in diesem Fall ein Übertrag auftritt, ergibt der Wert des Sub­ traktionszählers 3 "1".
  • e) Jetzt wird der Inhalt des Registers C vom Inhalt des Regi­ sters B abgezogen und das Ergebnis "00100000" in Register A gespeichert. Da in diesem Fall ein Übertrag auftritt, er­ gibt der Wert des Subtraktionszählers 3 "2".
  • f) Der Inhalt des Registers C wird vom Inhalt des Registers A abgezogen und das Ergebnis "94100000" in Register B ge­ speichert. In diesem Fall wird der Inhalt des Subtraktions­ zählers 3 gelöscht, da kein Übertrag auftritt.
  • g) Der Inhalt des Registers A wird um vier Bitstellen nach links verschoben und "01000000" im Register A gespei­ chert.
  • h) Der Inhalt des Registers C wird vom lnhalt des Registers A subtrahiert und das Ergebnis in Register B gespeichert. Da kein Übertrag aufgetreten ist, wird der Inhalt des Re­ gisters A wieder um 4 Bitstellen nach links verschoben und "10000000" im Register A gespeichert.
  • i) Jetzt wird der Inhalt des Registers C vom Inhalt des Registers A abgezogen und das Ergebnis "04000000" in Register B gespeichert. Da in diesem Fall kein Über­ trag auftritt, wird der Wert des Subtraktionszählers 3 "1".
  • j) Der Inhalt des Registers C wird dann vom Inhalt des Re­ gisters B abgezogen, und das Ergebnis "98000000" in Regi­ ster A gespeichert. Da in diesem Fall kein Übertrag auf­ tritt, wird der Subtraktionszähler 3 zurückgesetzt, und das Ergebnis wird als Ergebnisziffer verwendet.
Aus den obigen Erläuterungen folgt, daß bei der mit der in Fig. 2 dargestellten Vorrichtung durchgeführten Division der Inhalt des anderen Registers verwendet werden kann, auch wenn der Inhalt jedes der Register A oder B negativ ist. Somit kann die Verarbeitungszeit bei der Addition des Divisors zum negativen Subtraktionsergebnis verkürzt werden. Da der Rest in einem der Register A oder B steht (im Register B beim oben beschriebenen Beispiel) kann dieser einfach ausgelesen werden.
Da die erwähnten Probleme 1 und 2 noch ungelöst sind, konnte bislang keine weitere Beschleunigung des Dezimaldivisionsvorgangs erreicht werden.
Die DE-AS 11 90 700 beschreibt eine Dezimal­ divisionsvorrichtung nach dem Oberbegriff des Patent­ anspruchs 1.
Diese Vorrichtung arbeitet, was die Schnelligkeit, mit der Divisionen ausgeführt werden, angeht, nicht optimal. Dies ist dadurch bedingt, daß zeitlich nach­ einander ein Wiederrückgängigmachen von zuoft erfolgten Subtraktionen erfolgt, was Zeit kostet und somit den Rechenvorgang verlangsamt.
Obwohl die Dezimaldivisionsvorrichtung gemäß der US-PS 36 21 218 konstruktiv leicht von der aus der DE-AS 11 90 700 bekannten Vorrichtung abweicht, haftet ihr der gleiche Nachteil an, so daß auch hier eine hohe Rechenge­ schwindigkeit nicht erzielt werden kann.
Es ist deshalb Aufgabe der Erfindung, eine Dezimal­ divisionsvorrichtung der eingangs genannten Art dahin­ gehend zu verbessern, daß die Rechenzeit verkürzt werden kann.
Diese Aufgabe wird bei einer gattungsgemäßen Dezi­ maldivisionsvorrichtung mit den kennzeichnenden Merkmalen des Patentanspruchs 1 gelöst.
Merkmale einer bevorzugten Ausführungsform der Erfindung sind im Unteranspruch 2 gekennzeichnet.
Die Erfindung wird im folgenden anhand der Zeichnung näher beschrieben. Es zeigt
Fig. 3 ein Blockschaltbild eines erfindungsgemäßen Ausführungsbeispiels einer Dezimaldivisions­ vorrichtung.
Das in Fig. 3 dargestellte Ausführungsbeispiel der erfindungs­ gemäßen Dezimaldivisionsvorrichtung weist ein Register B für den Dividenden und das Subtraktionsergebnis, ein Register C für den Divisor, einen Subtrahierer 1, ein Schiebe­ register 2, einen Subtraktionszähler 3, einen Vorzeichendetek­ tor 4, der das Übertragssignal vom Subtrahierer 1 erfaßt, ein Register A′ für das Ergebnis des Schieberegisters 2 und das Ergebnis des Subtraktionszählers 3, ein Wählglied 6, das die Ausgänge des Registers A′ und B wählt und eine Inkre­ mentierschaltung 7, die zum Inhalt des Subtraktionszählers 3 eine 1 addiert, sobald der Übertragsdetektor 4 das Übertrags­ signal erfaßt, auf.
Im folgenden wird die Funktion der in Fig. 3 dargestellten Vorrichtung beschrieben:
  • a) Zuerst wird durch den Addierer/Subtrahierer 1 der Inhalt des Registers C, das den Divisor speichert, vom Inhalt des Registers, das den Dividenden speichert, gewöhnlich Re­ gister B, und, wenn das Ergebnis der vorigen Subtraktion negativ ist, Register A′, subtrahiert, das Subtraktions­ ergebnis immer wenn eine Subtraktion ausgeführt wurde, abgespeichert und gleichzeitig die Anzahl der Subtraktionen, die ein positives oder Null-Ergebnis erbrachten, durch den Subtraktionszähler 3 gezählt.
  • b) Der Inhalt des Registers, das den Dividenden oder das Sub­ traktionsergebnis speichert, das gewöhnlich im Register B oder wenn das Ergebnis der vorangehenden Subtraktion nega­ tiv ist, im Register A′ steht, wird parallel zum Verarbei­ tungsschritt a vom Schieberegister 2 verschoben, und gleich­ zeitig wird der Inhalt des Subtraktionszählers 3 im untersten Teil des Registers A′ abgespeichert.
  • c) Wenn das Subtraktionsergebnis negativ wird und der Subtrahierer 1 kein Übertragssignal erzeugt, werden die Verarbeitungsschritte a) und b) in einer erforderlichen Anzahl von Wiederholungen mit dem Inhalt des Registers A′, der einen neuen Dividenden darstellt, wiederholt.
Das Schieberegister 2 bewirkt, da die Vorrichtung Dezimalzahlen verarbeitet, bei denen jeweils eine Ziffer durch 4 Bitstellen dargestellt wird, eine Verschiebung um eine Ziffer, das sind vier Bitstellen, nach links. Die in Fig. 3 dargestellte Vor­ richtung kann beispielsweise in einem Computer mit mikroprogram­ mierter Steuerung verwendet werden. In diesem Fall wird jeder Verarbeitungsschritt von in einem Steuerspeicher gespeicherten Mikrobefehlen gesteuert.
Gemäß der obigen Beschreibung wird im erfindungsgemäßen Dezimal­ divisionssystem der Vorgang der Subtraktion des Divisors vom Dividenden parallel mit der Übertragsverschiebung für die Be­ rechnung der nächsten Ziffer ausgeführt, wodurch der Schritt der Addition des Inhalts des Registers C als Divisor zum Inhalt des Registers B entfallen kann. Außerdem wird gemäß der vor­ liegenden Erfindung die Subtraktion so ausgeführt, daß der Vor­ zeichencode und das Zwischenergebnis des Quotienten zum Sub­ traktionsergebnis addiert werden, so daß gemäß der Erfindung ebenfalls der Schritt der Addition des Vorzeichencodes zum Ergebnis und der Synthese des Quotienten und des Rest vermie­ den sind. Aus diesem Grunde ermöglicht die vorliegende Erfin­ dung eine Beschleunigung der Rechenschleife und der nachfol­ genden Verarbeitung.

Claims (3)

1. Dezimaldivisionsvorrichtung mit
  • - einem ersten Register (B), das anfänglich einen Dezimaldividenden und anschließend das jeweilige Subtraktionsergebnis hält,
  • - einem zweiten Register (A′),
  • -einem dritten Register (C), das einen Dezimaldivisor hält,
  • - einem Dezimalsubtrahierer (1), der den Divisor als Subtrahenden empfängt und eine wiederholte Subtraktion ausführt, bis das Subtraktionsergebnis negativ wird,
  • - einem Subtraktionszähler (3), der die Anzahl der vom Subtrahierer ausgeführten Subtraktionsschritte zählt,
  • - einem Schieberegister (2), das das im ersten Register (B) gehaltene Subtraktionsergebnis verschiebt und in das zweite Register (A′) setzt, und
  • -einem Wähler (6), der zunächst den Inhalt des ersten Registers (B) als Minuenden für die wiederholte Subtraktion dem Dezimalsubtrahierer (1) zuführt, bis das Subtraktionsergebnis negativ wird und anschließend den Inhalt des zweiten Registers (A′) als Minuenden für eine neuerliche Subtraktion an den Dezimalsubtrahierer (1) liefert,
dadurch gekennzeichnet, daß das Schieberegister (2) parallel zum Dezimalsubtrahierer (1) am Ausgang des Wählers (6) dergestalt liegt, daß durch das Schieberegister (2) das jeweilige Ausgangssignal des Wählers (6) während der Ausführung der Subtraktion durch den Dezimalsubtrahierer (1) verschiebbar ist.
2. Dezimaldivisionsvorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß das zweite Register (A′) einen ersten Speicherbereich, der das von dem Schieberegister (2) verschobene Subtraktions­ ergebnis aufnimmt und einen zweiten Speicherbereich hat, der das Ausgangssignal des Subtraktionszählers (3) auf­ nimmt, wobei der Wähler (6) die im ersten und zweiten Speicherbereich des zweiten Registers (A′) gehaltenen Datensignale als Minuenden wählt, und das dritte Register (C) in Bitstellen, die mindestens einer Dezimalziffer entsprechen, dergestalt Nullen hält, daß das vom zweiten Speicherbereich des zweiten Registers (A′) gehaltene Datensignal unverändert im Aus­ gangssignal des Subtrahierers (1) enthalten ist.
DE19843440680 1983-11-07 1984-11-07 Verfahren und vorrichtung zur dezimaldivision Granted DE3440680A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58208724A JPS60101640A (ja) 1983-11-07 1983-11-07 10進除算装置

Publications (2)

Publication Number Publication Date
DE3440680A1 DE3440680A1 (de) 1985-05-23
DE3440680C2 true DE3440680C2 (de) 1989-11-23

Family

ID=16561028

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19843440680 Granted DE3440680A1 (de) 1983-11-07 1984-11-07 Verfahren und vorrichtung zur dezimaldivision

Country Status (3)

Country Link
US (1) US4692891A (de)
JP (1) JPS60101640A (de)
DE (1) DE3440680A1 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63245518A (ja) * 1987-03-31 1988-10-12 Toshiba Corp 除算演算装置
DE68927398T2 (de) * 1988-08-29 1997-05-28 Nec Corp Digitale Divisionsschaltung mit einem N/2-Bit-Subtrahierer für N-Subtraktionen
JPH02194430A (ja) * 1989-01-24 1990-08-01 Oki Electric Ind Co Ltd 除算器
US5016210A (en) * 1989-11-15 1991-05-14 United Technologies Corporation Binary division of signed operands
US5103420A (en) * 1989-12-04 1992-04-07 Dror Avnon Method and apparatus for srt division using gray coded quotient bit signals
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
US6058473A (en) * 1993-11-30 2000-05-02 Texas Instruments Incorporated Memory store from a register pair conditional upon a selected status bit
NZ524378A (en) 2003-02-24 2004-12-24 Tait Electronics Ltd Binary shift and subtract divider for phase lock loops
US7149767B2 (en) * 2003-05-12 2006-12-12 International Business Machines Corporation Method and system for determining quotient digits for decimal division in a superscaler processor
US7467174B2 (en) * 2004-09-23 2008-12-16 Wisconsin Alumni Research Foundation Processing unit having decimal floating-point divider using Newton-Raphson iteration
US7519649B2 (en) 2005-02-10 2009-04-14 International Business Machines Corporation System and method for performing decimal division

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1190700B (de) * 1961-09-20 1965-04-08 Ibm Arithmetische Einheit fuer einen programmgesteuerten Digitalrechner
US3621218A (en) * 1967-09-29 1971-11-16 Hitachi Ltd High-speed divider utilizing carry save additions
JPS566587B2 (de) * 1976-05-28 1981-02-12

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL7101257A (de) * 1971-01-30 1972-08-01
JPS6051132B2 (ja) * 1980-12-17 1985-11-12 株式会社日立製作所 オ−バラン補正方式
US4466077A (en) * 1981-09-25 1984-08-14 International Business Machines Corporation Method and apparatus for division employing associative memory
JPS58140846A (ja) * 1982-02-16 1983-08-20 Hitachi Ltd 2進化10進数除算装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1190700B (de) * 1961-09-20 1965-04-08 Ibm Arithmetische Einheit fuer einen programmgesteuerten Digitalrechner
US3621218A (en) * 1967-09-29 1971-11-16 Hitachi Ltd High-speed divider utilizing carry save additions
JPS566587B2 (de) * 1976-05-28 1981-02-12

Also Published As

Publication number Publication date
JPS60101640A (ja) 1985-06-05
JPH0479015B2 (de) 1992-12-14
DE3440680A1 (de) 1985-05-23
US4692891A (en) 1987-09-08

Similar Documents

Publication Publication Date Title
DE2246968C2 (de) Einrichtung zur Multiplikation zweier Gleitkommazahlen
DE2712224C2 (de) Datenverarbeitungsanlage
DE2523860C3 (de) Vorrichtung zur digitalen, linearen Interpolation einer fabulierten Funktion
DE2311220A1 (de) Digital-informations-verarbeitungsvorrichtung zur zeichenerkennung
DE1162111B (de) Gleitkomma-Recheneinrichtung
DE4403917C2 (de) Vorrichtung zum Berechnen einer Bit-Besetzungszählung
DE1956209B2 (de) Multipliziervorrichtung
DE3440680C2 (de)
DE2247534C3 (de) Additions- und Subtraktionsvorrichtung
DE2758130C2 (de) Binärer und dezimaler Hochgeschwindigkeitsaddierer
DE3229452A1 (de) Arithmetiklogikeinheit
DE1549508C3 (de) Anordnung zur Übertragsberechnung mit kurzer Signallaufzeit
DE3303269C2 (de)
DE3447729C2 (de)
DE1549485C3 (de) Anordnung zur Division binärer Operanden ohne Rückstellung des Restes
DE3302013A1 (de) Divisionsvorrichtung
DE2203143B2 (de) Rechenanordnung zum Dividieren von Dezimalzahlen
DE3931545A1 (de) Gleitkommaprozessor
DE1499227B2 (de) Schaltungsanordnung für arithmetische und logische Grundoperationen
DE1234055B (de) Anordnung zur Addition oder Subtraktion
DE2501985A1 (de) Mit gleitkomma arbeitender rechenmechanismus
DE1524146C (de) Divisionseinrichtung
DE2853540A1 (de) Rechenelement nach dem dda-prinzip
DE2737483A1 (de) Korrektur-schaltungsanordnung fuer additions- oder substraktionsoperationen mit nicht-hexadezimalen operanden in hexadezimalen rechenwerken
DE2165923C3 (de) Rechenanordnung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee