DE2523755C3 - Divisionsvorrichtung unter Verwendung einer Näherungsgleichung - Google Patents

Divisionsvorrichtung unter Verwendung einer Näherungsgleichung

Info

Publication number
DE2523755C3
DE2523755C3 DE2523755A DE2523755A DE2523755C3 DE 2523755 C3 DE2523755 C3 DE 2523755C3 DE 2523755 A DE2523755 A DE 2523755A DE 2523755 A DE2523755 A DE 2523755A DE 2523755 C3 DE2523755 C3 DE 2523755C3
Authority
DE
Germany
Prior art keywords
data
bit length
bits
register
multiplier
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
DE2523755A
Other languages
English (en)
Other versions
DE2523755B2 (de
DE2523755A1 (de
Inventor
Norio Dipl.-Ing. Yokohama Inui
Noriaki Dipl.-Ing. Kume
Tetsuro Dipl.-Ing. Okamoto
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of DE2523755A1 publication Critical patent/DE2523755A1/de
Publication of DE2523755B2 publication Critical patent/DE2523755B2/de
Application granted granted Critical
Publication of DE2523755C3 publication Critical patent/DE2523755C3/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/52Multiplying; Dividing
    • G06F7/535Dividing only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/535Indexing scheme relating to groups G06F7/535 - G06F7/5375
    • G06F2207/5355Using iterative approximation not using digit recurrence, e.g. Newton Raphson or Goldschmidt

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Description

Die Erfindung betrifft eine Vorrichtung gemäß Oberbegriff des Patentanspruchs.
Zwei Register A und B bestehen beispielsweise jeweils aus η Bits. Wenn es erforderlich ist, bestimmte Daten mit einer Länge von 2n Bits auszudrücken, werden die oberen η Bits unter den 2n Bits in dem .4-Register und die unleren η Bils in dem B- Register gespeichert. Deshalb können diese Daten in der Form von (A + Bx 2-") ausgedrückt werden.
Bei der Division mit 2n-facher Genauigkeit wird beispielsweise die folgende Formel verwendet
C + D χ 2~"
n=Zahl der Ziffern der frei gewählten binären Zahlen A. B. Cund D.
Da in diesem Fall die Division nur eine Anwendung der Division für die Daten mit n-facher Genauigkeit ist, ist diese Division nicht schwierig, falls das Register, die Verschiebeschaltung und die Additions/Substraktions-Schaltung mit der Zahl der Ziffern, z. B. 140 Ziffern oder mehr, ausgewählt sind, wenn η = 70 gilt, was mit der 2n-fachen Genauigkeit vergleichbar ist. Üblicherweise werden iedoch die Schaltungen ;i.ir für η Ziffern vorgesehen.
Es ist aber nicht immer wünschenswert, eine solche Hardwarekonfiguration, wie Speichern der Daten in den obenerwähnten Ziffern, Verschieben und Addieren, vorzusehen, vielmehr ist es mehr erwünscht, die Division der Daten mit 2n-facher Genauigkeit auszuführen, indem die bestehenden Divisionsverarbeitungseinrichtungen für die Daten mit 2n-facher Genauigkeit wirksam ausgenutzi werden.
Es ist bekannt, Divisionen mit 2n-facher Genauigkeit bei Verwendung einer Datenverarbeitungsanlage mit einer Registerausstattung mit n-facher Genauigkeit durchzuführen (D. D. Mc. Cracken, »Digital Computer Programming«, 1957, New York, Verlag John Wiley & Sons, Seiten 191 bis 195: K. Steinbuch, »Taschenbuch der Nachrichtenverarbeilung«, 1967, Springer-Verlag, Seiten 1353 bis 1355). Bei der dabei ausgeführten Division
(A, + A2)I(B, + B2) = (A, + Λ2χΐ - B2IB1)IO1
tritt ein Fehler auf. der größer als der absolute Wer! des Quotienten (A2/B,) ist.
Aufgabe der Erfindung ist es, eine Vorrichtung der eingangs erwähnten Art zu schaffen, mit welcher der durch die Division unter Verwendung der Näherungsgleichung verursachte Fehler kompensiert wird.
Diese Aufgabe wird durch die im Patentanspruch angegebenen Merkmale gelöst.
Nachfolgend wird ein Ausführungsbeispiel der Erfindung anhand der Zeichnung naher beschrieben, in der ist
Fig.! ein Blockschaltbild zum Erläutern des Prinzips der Divisionsvorrichtung nach der Erfindung,
Fig.2A ein Schaltbild eines Beispiels einer Ausbildung einer Divisionsvorrichlung für Daten mit /i-facher Genauigkeit,
F i g. 2B bis 7F Schaltbilder von Teilen der Schaltung nach F i g. 2A,
F i g. 3(A)1 (B) und (C) Darstellungen zur Erläuterung der Verarbeitung für die Daten mit n-facher Genauigkeit der in F i g. 2 gezeigten Divisionsvorrichtung und
F i g. 4 Darstellungen eines Beispiels der Steuerverarbeitungen zum Steuern der Datenübertragung in der Divisionsvorrichtung mit 2n-facher Genauigkeit gemäß der Erfindung unter Verwendung der Ausbildung für die Verarbeitungen mit n-facher Genauigkeit.
In den Figuren bezeichnen 1 einen R-Decodierer, G 1 bis G 8, GBH, GCH, GDH, GDHR und GNH Schiebeschaltungen, GDO bis GD3 Verknüpfungsschaltungen, 7 eine Multiplikationstorschaltung, 8 eine Übertragssicherstellungs-Addierkette, W, V, D und M Operationsregister, Ueinen Addierer, Weine Multiplikationseinrichtung, D eine Divisionseinrichtung, L eine logische Operationseinrichtung und S eine Schiebeschaltung.
Gemäß Fig. 1 sind Fund REG Register. AL ist eine
in Schaltung zum Ausführen einer Addition, Subtraktion und Multiplikation. RDB ist ein Decodierer zum Indizieren des für die Division notwendigen Wertes, wie später erläutert wird.
Wenn im allgemeinen die Division der Daten durch C/A gegeben ist, ändert sich der Wert des Bruches C/A nicht, auch wenn sowohl der Dividend (Zähler) und der Divisor (Nenner) mit denselben Werten multipliziert werden. Deshalb kann die folgende Beziehung erhalten werden.
CjA - CROiARO = C ROR'. IA RQR \ =
worin R 1, R 2,... Φ 0 sind.
Hiermit ist, wenn die Werte RO, R\, R 2, ... des Divisors A ■ RQ ■ R X ■ R2 ... so ausgewählt werden, daß sich dieser 1 nähert, und diese Werte mit dem Dividenden C multipliziert werden, der Wert (C-RQ-RX ■ R 2 ...), der als Ergebnis erhalten wird, der Quotient.
Durch Lesen z. B. der oberen 9 Bits des Divisors A mit dem Decodierer RDB kann hieraus der Wert RO, der bewirkt, daß der Wert AxRO nahe 1 bei einem Fehlerbereich von z. B. 2~7 kommt, vorher für die Ausnutzung der Indizierung tabelliert werden. Der Wert RO kann nämlich von dem Divisor A erhalten werden. Wenn der erhaltene Wert RO mit dem Divisor A multipliziert wird, wird der Wert AxRO meistens 1, und falls der Fehler mit χ angenommen wird, ist das Ergebnis durch X±x gegeben, was zu \x\ ä2~7 führt. Dies ergibt sich deshalb, weil die Werte R 0, die etwa ein solches Ergebnis ergeben, vorher entsprechend dem Wert A eingestellt sind.
Darüber hinaus sind nachfolgende Verarbeitungen, um den Wert A-RO-RX zu erhalten, durch Bestimmen von R 1 notwendig. Da der obenerwähnte Wert A-RO allgemein durch 1 ± χ ausgedrückt werden kann, wenn A ■ RO mit RX unter Verwendung des Wertes (I + x) von R 1 multipliziert ist, kommt der Wert (1 -x2), der das Ergebnis der obigen Multiplikation ist, 1 näher im Vergleich mit Λ ■ Λ0 = (1 ±x),dagilt |*|« I.
Bei der praktischen Berechnung von A-RQ-RX wird, da die Multiplikation und die Addition gleichzeitig ausgeführt werden, zuerst die Operation A- RO- RX=AROx(X+X) = ARO +AROx= ARO + ARORX' ausgeführt, und dann wird die Verarbeitung von ARO +AROR Γ unter der Bedingung /?l'=+x ausgeführt.
Nachfolgend wird die Division 5/6 erläutert, und zwar spezifischer in der Dezimalzahlendarstellung. Im Register M wird »6« gespeichert und im Register V wird »5« gespeichert. Unter dieser Bedingung wird eine Einstellung vorher ausgeführt, so daß, wenn »6« der Eingang zu RDB ist. der Wert »0,17« der Ausgang als R 0 ist.
Deshalb wird die Operation 6 χ 0,17 zuerst ausgeführt und daraufhin wird der Wert »1,02«, der das Ergebnis der obigen Operation ist, in das Register D eingesetzt. Dann wird die Operation 5 χ 0,17 ausgeführt und »0,85« wird in das Register Veingesetzt.
= CROR ! Rl . .. I1A RQR ! Rl
Da» I -1,02=-0,02«, nämlich/? 1'=-0,02, gilt, wird als nächstes die Operation 1,02 χ (- 0,02) ausgeführt und das Ergebnis wird zu dem Inhalt des Registers D, nämlich »1,02«, addiert. Mit anderen Worten wird als Ergebnis der Operation »1,02 +1,02* (- 0,02) = 1,02-0,0204 = 0,996« der Wert »0,996« in das Register D eingegeben und der Wert »0,8330« wird in das Register V als Ergebnis der Operation 0,85 + 0,85 χ(- 0,02) = 0,8330 eingegeben.
Da 5/6 = 0,83333 gilt, ist der Wert »0,8330« dem Wert 5/6 näher als »0,85«.
Da der in dem Register D gespeicherte Wert »0,9996«
J5 ist, falls die der obigen Operation ähnliche Operation unter Verwendung des Wertes »x= — 0.0004« ausgeführt wird, kann des weiteren ein gewünschter Wert (näher an 5/6) erhalten werden. Bei der praktischen Verarbeitung wird, wenn »0,02« aus »1,02« erhalten wird, eine Operation zum Extrahieren nur der niedrigeren Ziffern ausgeführt, da es verständlich ist, daß der Wert nahe »1« in den oberen Ziffern gespeichert ist.
In der Divisionsvorrichtung für die Daten mit j /7-facher Genauigkeit gemäß F i g. 2 haben die Schaltungen dieselben Bezugszeichen wie in Fig. 1. Es bezeichnen nämlich 1 einen /^-Decodierer zum Erhalten des Wertes RO durch Indizierung nach Lesen der oberen Ziffernbits des Divisors, 2 ein Register, in das der Wert RO eingegegen wird, G\ bis G 8, GBH. GCH. GDH, GDHR und GNH Schiebeschaltungen, CDO bis CD3 Verknüpfungsschaltungen, 3 und 4 Multiplexer-Tore 5 einen Decodierer, der die Eingangsdaten, die Verschiebungsinformation zum Ausführen der Multiplikation, Addition (oder Subtraktion) der Potenz von 2-liest, 6 ein Register, 7 eine Multiplikationstorschaltung, die den Dateneingang über das Multiplexer-Tor 3 nach rechts oder links entsprechend den über das Register 6 gegebene Daten .erschiebt, 8 eine Übertragungssicher-
bo stellungs-Addierkette, die die Ergebnisse der Multiplikation oder Division der Daten, die der Eingang zu der Multiplikaiionstorschaltung 7 sind, in die Register 9 und 10 in der Form der Addition (oder Subtraktion) eingibt, wobei die Register 9. und 10, deren Inhalt zu den Addierern gegeben wird, in dieser Figur weggelassen sind.
Im allgemeinen werden jede Ziffer des Multiplikanden und des Multiplikators multipliziert und addiert, um
die Multiplikation auszuführen. |edoch ist es nicht immer der beste Weg. die Multiplikation jeder Ziffer zu addieren. Wenn /.. B. das Ergebnis »7-fach« erhallen wird, ist es besser. »1-fach« von dem Ergebnis »8-fach« /u subtrahieren, als die Addition »I-fach« und »2-fach« und »4-fach« des Multiplikanden auszuführen Im F-'allc dieses 2"-Fachen ist nur die Verschiebung des Multiplikanden erforderlich. Gemäß Fig. 2A wird nämlich ein bestimmter Multiplikator durch den Decodierer 5 in der geeignetsten Form der Multiplikation decodiert (im obigen Fall werden »2-\ 21. 2"« decodiert in »2!. -2°«) und die Addition, d.h. das Endergebnis der Multiplikation, wird in der llberlragssicherstellungs-Addierkette erhalten, wobei die Eingangsdaten über das Multiplexertor 3 verschoben werden, indem die obigen decodierten Daten als Verschiebungsinformation verwendet werden.
i i g. in zeigt die Ein/ciciarstciiung des rviuiiipiikationstors Λ/G und der I !bertragssicherstellungs-Addierketie CSA in F i g. 2A. In dieser Figur entspreht die Schaltung mit demselben Bezugs/eichen wie in F i g. 2A der entsprechenden Schaltung in F i g. 2A. Die Bezugszeichen ingO bis mgn bezeichnen jeweils Decodierer. welche Hie 21 Bits, die Verschiebeinformation in dem /-Register 6 und 12 Bits unter den η Bits, die der Eingang zu dem Multiplikaiionstor MG sind, in das Muster von 6 Bits von a. c. d. f. g und h decodieren. Γ/0 bis Trn sind Addierer, von denen jeder 4 Stufen eines Übertragungssicherstellungs-Addierer ergibt und dazu dienen kann, die Addition des 6-Bit-Eingangs von ;i bis h zu erhalten.
Die Anfügung /bedeutet die Zahl des Bits, das wirkt, wenn das /te Bit von CREG und das von BRFG erhalten wird. Mit anderen Worten werden die /Bits und 12 Bits von /+11 Bits unter den Bits über das Multiplexertor 3 in die sechs Bits von ai. ei. di. fi.giund hi durch den Wert der 21 Bits in dem F-Register 6 decodiert und in dem Addierer Tri addiert. Der Wert des /-ten Bits von BREG kann somit erhalten werden. Das Oder Übertragung kann von dem Addierer Tri+ 1 in Ai^r vnrano^hpnflpn ^itilfp prhaltpn W'prHpn
F i g. 2C zeigt eine logische Schaltung von Decodierer η mg Ob\s mgn in F i g. 2 B. In dieser Figur bezeichnen 4 eine UND-Schaltung. Oeinc ODER-Schaltung und /V eine NICHT-Schaltung. Entsprechend dem Inhalt des F-Registers werden die Di und 12 Bits der Di+ 11 Bits unter den Bits, die zu dem Multiplikationstor MG über das Multiplexertor gegeben werden, decodiert.
Fig. 2D zeigt die Addierer Tri und 77"/-! unter den Addierern TrO bL Tm. In dieser Figur bezeichnet CSA den IJbertragssicherstellungsaddierer. Ein Übertragssicherstellungs-Addierer drückt die Summe der drei Eingänge mit den beiden Ausgängen von Übertrag und Summe aus. Fig. 2E zeigt ein Beispiel des Überiragssiuiersieüungs-Addierers. In dieser Figur bedeuten X. Y und Z die Eingänge. C und S die Ausgänge. A eine UND-Schaltung. O eine ODER-Schaltung und N eine NICHT-Schaltung. Die Beziehung der beiden Ausgänge des Übertrags Cund der Summe Sfür die drei Eingänge X. Vund Zist in der folgenden Tabelle gezeigt.
.V 0 10 0 1 1 0
V 0 0 I 0 1 0 i I
S 0 1 I I 0 0 0 I
C" 0 (I 0 (I I I I I
F i g. 21' zeigt, daß eine Abänderung für ilen Addierer Trn gemäß dem Inhalt des (-'-Registers gegenüber der Übertragssieherstellungs- Addierkette erforderlich is ι Diese Schaltung ist für die Kompensation notwendig, da. wie oben erwähnt, nicht nur eine Addition, sondern auch eine Subtraktion verwendet werden, um eine Multiplikation zu erhalten.
Als nächstes wird die Division für Daten mit n-fächer Genauigkeit in der Divisionsvcrarbeitungseinrichtung für die obenerwähnten Daten mit »fächer Genauigkeit auch unter Bezugnahme auf die Fig. 3(A). (B) und (C) crläntct.
I i g. 3(A) zeigt die Multiplikation des Werts R 0 und
des Divisois in dem D-RegiMÜi". naCiiuCin der Wer! "0 erhalten worden ist. der vornngi lend durch die Verwendung der oberen Bits des Divisors in dem M-Register und dem Decodierer RDB eingegeben worden ist
Fig. 3(B) zeig! die Multiplikation des Dividenden in dem V-Register und des Wertes WO.
Wie in der Erläuterung zu F i g. I angegeben ist. w ircl der Wert AxRO meistens I und im besonderen wird die Einstelle.ig so vorgenommen, daß A \ RO= I ± ν gilt wenn |.v| £ 2 7 ist. wobei die oberen sieben Ziffern immer alle Null oder Eins werden. Wenn beispielsweise λ = 0.0000000101 gilt, sind 1+χ= Ι.000000010Ι und I - »=0.1111111010. Der Wert R I'= + ν kann nämlich erhüben werden, indem das Komplement von 2 für die achte Ziffer υύ *r 15 Bits im Ergebnis vorbereitet wird.
F i g. 3(C) zeigt die Verarbeitung, um den Wen A ■ RO ■ R 1 zu erhalten. Mit anderen Worten werder 8 Bits oder 15 Bits des Wertes ARO. der in da? M-Register eingestellt wird, erhalten, indem die Verknüpfungsschaltung GD 1 verwendet wird, anstati daß der Wert A ■ RO in das D-Register eingestellt wird und dann werden diese multipliziert (A ROx R\ wire prhalirn) Glpirh7pitip wird der Wert ARO. der in den D-Register ist. addiert und der Wert A ■ R 0 · R 1. d. h A ■ R0 + A ■ RO ■ R\'. wird erhalten. Gleichzeitig wird, wie oben erwähnt. C- RO+C ■ RO- R Γ erhal ten. obwohl dies nicht in der Figur für den Dividenden ( dargestellt ist.
Bezüglich der Division mit n-facher Genauigkeit kanr der Quotient C/A erhalten werden. inderr C- RO ■ R 1 · R 2 ... wieder behandelt wird, was der Wert AR0R\R2...zu »1« durch die obige Verarbeitung macht.
Die Erfindung kann die Divisionsverarbeitung mi n-facher Genauigkeit unter Verwendung der Divisions vorrichtung mit n-facher Genauigkeit ausführen. Die ir F i g. 1 gezeigte Ausbildung kann tatsächlich auch al· Divisionsvorrichtung durch die Hinzufügung verschie dener Verschiebungsschaltungen, Addierschaltungen Register. V. Dund A/(die in der Figur weggelassen sind und des Registers W(das auch in der Figur weggelasser ist) verwendet werden.
Wenn nämlich die Division der Daten doppelte! Genauigkeit durch die Form
Γ I D y. 2 '" A + B y. 2 '"
Z 0 (I C I 0 I I I
gegeben ist. kann die obige Formel angenäher
werden mil
C 4 /) " 2
A +■ I) χ 2
I +
C Λ
I t
Durch diese Näherung können, wenn das Operationsergebnis von C/A in dem N Register von 70 Bits beispielsweise gespeichert wird und das Ergebnis von (D/A —BC/A7) auch in dem M-Register gespeichert wird, gewünschte Daten mit 2/i-facher Genauigkeit an dem N-Register und dem M-Register als N+ Mx 2 7n erhalten werden. |edoch sind einige untere Bits des Operationsergebnisses von C/A nicht korrekt, weil jede Operation imitiei von einem ucsiimiiiieri Fehler begleitet ist. Dieser Fehler kann ignoriert werden, wenn er wie die 70 Bit-Daten verwendet wird, jedoch werden im Falle von 140 Bit-Daten diese Daten immer in der Mitte angeordnet und diese werden ;ils Daten nutzlos, auch wenn die unteren 70 Bits genau erhalten worden sind.
Der Fehler der Operation C/A führt nämlich zu einem wesentlichen Einfluß auf den Quotienten der Daten mit 2/j-facher Genauigkeit, der direkt erhalten werden muß. Aus diesem Grunde wird der Fehler der Operation C/A in die Operation (D/A)x2~n oder (BC/A2)x2-7n gcniäß der Erfindung umgesetzt. Nachfolgend wird die Übertragungssteuerung der Daten bei jedem Operationüschritt für vier verfügbare Register IV. V. D und M unter Bezugnahme auf die Fi g. 4(a),(b), (c).. .erläutert.
(1) Bei den Operationsprozessen der F i g. 4(c) und (d) wird die Operation MA. unter Verwendung der Register K D und Mausgeführt und die Ergebnisse werden in die Register W und D eingegeben. Die Division MA kann durch die Division mit n-facher Genauigkeit mit dem Dividenden C in Fig. 3(A), (B), (C)... erhalten werden, der als »I« unter Verwendung der in F i g. I gezeigten Aiishildnnp bestimmt wird.
(2) Die Operation C/A wird durch die in F i g. 4(d), (e) und (f) gezeigten Prozesse ausgeführt und die Ergebnisse werden in das Register V eingestellt. Dieses Ergebnis enthält einen auf der Berechnung basierenden Fehler. Wenn dieser Fehler ignoriert wird, ergibt er einen großen Einfluß auf den erhaltenen Quotienten, da 2"70 nicht mit der Operation C/A multipliziert werden kann.
(3) Deshalb wird dieser Fehler in die Operation D/A χ 2"70 in Fig.4(f), (g) und (h) übertragen, um das Operationsergebnis von C/A + D/A χ 2~7Ozu erhalten.
(4) Gemäß F i g. 4(Q. (g) und (h) wird der Divisor A nämlich mit dem Operationsergebnis C/A einschließlich des gemäß oben in (2) erhaltenen Fehlers multipliziert und der Wert Ceinschließlich des obigen Fehlers wird in das Register V und das Register D als Daten mit 2n-facher Genauigkeit eingegeben. Mit anderen Worten werden in das Register V die oberen Daten mit n-facher Genauigkeit C/A χ A (obere) der Daten Cmit 2n-facher Genauigkeit eingesetzt und in das Register D werden die unteren Daten mit doppelter Genauigkeit C/A χ Α (untere) eingesetzt.
(5) In den Prozessen gemäß F i g. 4(h), (i) und (j) wird die Zifferanpassung in der Subtraktion ausgeführt, nachdem der Dividend C und Dx 2-70 kombiniert worden sind, und wird in das Register Deingesetzt.
(6) In den Prozessen der Fig.4(k) und (I) wird eine
Subtraktion zwischen C/A χ Λ (untere) einschließlich des Fehlers aufgrund des Ergebnisses der obigen Operation ausgeführt und der Inhalt in dem Register D und das Ergebnis werden in das Register D eingegeben. Dies kann als Prozeß betrachtet werden, um den Fehler von C/A χ A (untere) in den Dividenden D zu übertragen.
(7) In den Prozessen gemäß F i g. 4(1), (m), (n) und (o)
Willi uei Dmüciiu, iii dci'i lief rci'iici übei iiägcfi wii'u, iii
das Register ^eingesetzt.
(8) In den Prozessen nach F i g. 4(1) bis (q) werden die Subtraktion zwischen dem Operalionsergebnis C/A xA (obere), das bereits in dem Prozeß nach F i g. 4(h) mit einem Fehler erhalten worden ist, und dem Dividenden D ausgeführt und der erzeugte Fehler in dem Register V eingesetzt.
(9) In den Prozessen gemäß F i g. 4(p), (q), (r) und (s) wird der Fehler (in der Praxis meist Null), der in dem Operationsergebnis von C/A χ Α (obere) enthalten ist, aufgrund der Verschiebung aufgenommen und mit dem Dividenden D einschließlich des Fehlers kombiniert und dann in das Register V als Dividend D eingesetzt, zu dem jeder Fehler übertragen wird.
(10) In den Prozessen gemäß Fig.4(s) und (t) wird MA mit dem Inhalt des Registers V multipliziert und das Ergebnis wird in das Register V eingesetzt. Der Inhalt dieses Registers V drückt den Wert aus, der erhalten werden kann, indem der Dividend D dividiert wird, in den der Fehler, der in C/A in der Operation in Fig. 4(f) enthalten ist, mit dem Divisor A übertragen wird.
(11) In den Prozessen gemäß Fig.4(u), (v) und (w) wird nVr Dividend Cdurvh den Divisor A dividiert.-Der Wert von C/A wird in das Register Weingestellt, indem die Prozesse gemäß Fig.4(d), (e) und (f) wiederholt werden.
(12) In den Prozessen gemäß Fig.4(w). (x) und (y) wird die Operation BC/A2 ausgeführt. Das Ergebnis wird in das Register Deingesetzt.
(13) In den Prozessen gemäß Fig.4(y), (z) und (a') wird der Inhalt des Registers V, der in dem Prozeß gemäß Fig.4(t) erhalten wird, zu dem Inhalt des Registers D addiert, der in den Prozessen nach der obigen Operation (12) erhalten worden ist. Das Ergebnis wird in das Register Deingesetzt.
(14) In den Prozessen gemäß Fig.4{b') bis (h') wird eine Addition nach der Ziffernanpassung zwischen den Werten C/A und \A-BC/A2, die in den obigen Prozessen erhalten worden sind, ausgeführt.
(15) In den Prozessen gemäß F i g. 4{h') bis (Γ) ist die Ziffernverschiebung gezeigt.
Wie oben erläutert worden ist, wird unter Verwendung der Erfindung für eine Division von Daten mit 2n-facher Genauigkeit die Verarbeitung von beispielsweise
C + C χ 2 *'
unter Verwendung einer Divisionsvorrichtung von
Dillen mil n-facher Genauigkeit in der Form von Division mil 2/)-'u'her Genauigkeit nur ausgeführt
werden, indem die Steuerung der Datenübertragung
γ/λ /η/Λ- nr/ΛΆ ο ™ zwischen jedem Register nur unter Verwendung der
l/a+(U/a-UL/A )xt Register W. V. D und M, die für die Speicherung der
möglich. ■> Daten mit n-facher Genauigkeit ausreichend sind.
Darüber hinaus kann, wie in Fig.4 gezeigt ist, die wirksam ausgeführt wird.
Hierzu l2Bliitt Zeichniinuen

Claims (1)

Patentanspruch: Vorrichtung zum Berechnen des Wertes mit 2n-facher Genauigkeit, worin A, B, C und D Daten mit n-Bitlänge sind, unter Verwendung der Näherungsgleichung CZA + [DZA)-(BCZA-)] ■ 2~",ge ken η ze ich η e t durch die Kombination folgender Merkmale: a) eine erste Divisionseinrichtung zum Berechnen der Daten 1IA mit n-Bitlänge, wenn die Daten A mit n-Bitlänge gegeben sind (RDB und AL in F i g. 1, Dividierer D in F i g. 4-3 bis 4-4), ι s b) eine erste Multiplikationseinrichtung zum Berechnen des Produkts CZA mit n-Bitlänge aus den Daten MA mit n-Bitlänge und aus C (Multiplizierer in Fig. 2A, Multiplizierer /Win Fig.4-<*und4-5), c) eine zweite Muitipiikaiionseinrichtung zum Berechnen des 2n Bits aufweisenden Produkts CZA in n-Bitlänge aus C und den Daten mit n-Bitlänge durch Dividieren in obere π Bits und untere η-Bits (Multiplizierer in Fig.2A, Multiplizierer in Fig.4-6 und 4-7, Register Vund D in F i g. 4-3), d) eine erste Verschiebeeinrichtung zum Verschieben von Daten D mit n-Bitlänge zum Einstellen der Bitposition der Daten D in die unteren π m Bits ve, (CZA) ■ A und zum gleichzeitigen Zusammenfassen der unt-r-en Bits der Daten C mit den oberen Bits der verschobenen Daten D in Übereinstimmung mit ''·<;.νη zu dieser Zeit verschobenen Betrag (Schieber S und QS in r. F ig. 4-8 bis 4-10). e) eine erste Subtrahiereinrichtung zum Berechnen der Differenz zwischen den verschobenen n-Bitdaten D und den unteren η Bits von (CZA) A (Subtrahicrer U in Fig.4-10 und 4-11). f) eine zweite Verschiebeeinrichtung zum Verschicben der Daten C mit n-Bitlänge zum Einstellen der Bitposition der Daten C in die oberen η-Bits von (CZA)- A (Schieber S in ιϊ Fig. 4-13bis 4-14), g) eine zweite Subtrahiereinrichtung zum Berechnen der Differenz zwischen den verschobenen Daten C mit n-Bitlänge und den oberen n-Bits von (CZA)- A (Subtrahierer U in Fig. 4-14 bis ίο 4-15), h) eine dritte Verschiebeeinrichtung zum Berechnen der Daten D in n-Bitlänge durch Zusammenfassen der signifikanten Zahlen der beiden Differenzen, die in der ersten und der zweiten ίί Subtrahiereinrichtung erhalten worden sind (Schieber Sund QS\n F i g. 4-15 bis 4-17). i) eine dritte Multiplikationseinrichtung zum Berechnen des Produkts (DZA) mit n-Bitlänge aus den Daten IM mit n-Bitlänge, die dtireh die mi erste Divisionseinrichtung erhalten worden sind, und aus den korrigierten Daten D. die in der dritten Verschiebeeinrichtung erhallen worden sind (Multiplizierer in Fig. 2A. Multiplizierer Min Fi g. 4-18 bis 4-19). k) eine vierte Muitipiikaiionseinrichtung /um Berechnen von Daten HCZA2 mit n-Bitlänge aus tl'Ti Daten R und C mil η-Hitlänge und den Daten \IA mit n-Bitlänge, die durch die erste Divisionseinrichtung erhalten werden (Multiplizierer in F i g. 2A, Multiplizierer M in F i g. 4-19 bis 4-23), und
1) eine dritte Subtrahiereinrichtung zum Berechnen der Differenz zwischen den Daten D/A mit n-Bitlänge und zwischen BC/A2 mit n-Bitlänge (Subtrahierer L/in F i g. 4-24 bis 4-25).
DE2523755A 1974-05-31 1975-05-28 Divisionsvorrichtung unter Verwendung einer Näherungsgleichung Expired DE2523755C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6151074A JPS5534455B2 (de) 1974-05-31 1974-05-31

Publications (3)

Publication Number Publication Date
DE2523755A1 DE2523755A1 (de) 1976-01-02
DE2523755B2 DE2523755B2 (de) 1979-08-02
DE2523755C3 true DE2523755C3 (de) 1980-04-17

Family

ID=13173145

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2523755A Expired DE2523755C3 (de) 1974-05-31 1975-05-28 Divisionsvorrichtung unter Verwendung einer Näherungsgleichung

Country Status (5)

Country Link
US (1) US4272827A (de)
JP (1) JPS5534455B2 (de)
DE (1) DE2523755C3 (de)
FR (1) FR2275826A1 (de)
GB (1) GB1515705A (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59115967U (ja) * 1983-01-26 1984-08-04 伏見 和久 布団カバ−
JPH061438B2 (ja) * 1984-04-26 1994-01-05 日本電気株式会社 倍精度乗算器
US5097435A (en) * 1988-12-24 1992-03-17 Kabushiki Kaisha Toshiba High speed dividing apparatus
US5301139A (en) * 1992-08-31 1994-04-05 Intel Corporation Shifter circuit for multiple precision division
US5825681A (en) * 1996-01-24 1998-10-20 Alliance Semiconductor Corporation Divider/multiplier circuit having high precision mode
US20040117423A1 (en) * 2002-12-11 2004-06-17 Xiaohua Shi Signed integer long division apparatus and methods for use with processors
DE10341804A1 (de) * 2003-09-10 2005-04-28 Giesecke & Devrient Gmbh Division von Binärzahlen
US20060095494A1 (en) * 2004-10-28 2006-05-04 Alok Kumar Method and apparatus for efficient software-based integer division

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3389379A (en) * 1965-10-05 1968-06-18 Sperry Rand Corp Floating point system: single and double precision conversions
US3591787A (en) * 1968-01-29 1971-07-06 Ibm Division system and method
US3777132A (en) * 1972-02-23 1973-12-04 Burroughs Corp Method and apparatus for obtaining the reciprocal of a number and the quotient of two numbers
US3787673A (en) * 1972-04-28 1974-01-22 Texas Instruments Inc Pipelined high speed arithmetic unit

Also Published As

Publication number Publication date
GB1515705A (en) 1978-06-28
FR2275826A1 (fr) 1976-01-16
FR2275826B1 (de) 1981-04-30
DE2523755B2 (de) 1979-08-02
JPS5534455B2 (de) 1980-09-06
JPS50154037A (de) 1975-12-11
DE2523755A1 (de) 1976-01-02
US4272827A (en) 1981-06-09

Similar Documents

Publication Publication Date Title
DE68928376T2 (de) Vorrichtung zum multiplizieren, teilen und ziehen der quadratwurzel
EP0079471B1 (de) Schaltungsanordnung und Verfahren zur Bildung von Skalarprodukten und Summen von Gleitkommazahlen mit maximaler Genauigkeit
DE2246968A1 (de) Einrichtung zur kombination, insbesondere multiplikation, zweier gleitkommazahlen
DE1549476B2 (de) Anordnung zur ausfuehrung von divisionen
DE1549477B1 (de) Einrichtung zur schnellen akkumulation einer anzahl mehr stelliger binaerer operanden
DE1549584A1 (de) Datenverarbeiter zum Erhalt komplexer Fourierreihe-Koeffizienten
DE2523755C3 (de) Divisionsvorrichtung unter Verwendung einer Näherungsgleichung
EP0453641B1 (de) CORDIC-Prozessor für Vektordrehungen in Carry-Save-Architektur
DE2816711A1 (de) Divisionseinrichtung mit uebertrags- rettungsaddierwerk und nicht ausfuehrender vorausschau
DE2612750A1 (de) Multipliziereinrichtung
DE2830334C2 (de)
DE2826773A1 (de) Verfahren und schaltungsanordnung zum feststellen der wertigkeit von ziffern in arithmetischen operationen mit dezimalrechnern
EP0344347A1 (de) Einrichtung zur digitalen Signalverarbeitung
DE2310553A1 (de) Vorrichtung zur durchfuehrung arithmetischer und logischer operationen
DE69030169T2 (de) Hochleistungsaddierer mit Carry-Vorhersage
DE4019646A1 (de) Vorrichtung fuer echtzeitmultiplikation in 2er-komplement-darstellung in einem digitalen signalprozessorsystem und ein verfahren dafuer
DE2746355A1 (de) Einrichtung und verfahren zur wahlweisen multiplikation oder division zweier als binaerzahlen vorliegender operanden
DE3440680A1 (de) Verfahren und vorrichtung zur dezimaldivision
EP1478999B1 (de) Vorrichtung und verfahren zum umrechnen eines terms
DE2712582C2 (de) DDA-Rechner (Digital-Differential-Analysator)
DE3312796C2 (de)
DE1549485C3 (de) Anordnung zur Division binärer Operanden ohne Rückstellung des Restes
DE1259122B (de) Schaltungsanordnung zur Durchfuehrung verkuerzter Multiplikationen oder Divisionen
DE1549449A1 (de) Einrichtung zur Verarbeitung von Gleitkommazahlen
DE1234055B (de) Anordnung zur Addition oder Subtraktion

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
8328 Change in the person/name/address of the agent

Free format text: REINLAENDER, C., DIPL.-ING. DR.-ING., PAT.-ANW., 8000 MUENCHEN

8339 Ceased/non-payment of the annual fee