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
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
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.
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)
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)
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)
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進数除算装置 |
-
1983
- 1983-11-07 JP JP58208724A patent/JPS60101640A/ja active Granted
-
1984
- 1984-11-06 US US06/668,842 patent/US4692891A/en not_active Expired - Lifetime
- 1984-11-07 DE DE19843440680 patent/DE3440680A1/de active Granted
Patent Citations (3)
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 |