DE3340362A1 - Verfahren und vorrichtung zur division von bcd-zahlen - Google Patents

Verfahren und vorrichtung zur division von bcd-zahlen

Info

Publication number
DE3340362A1
DE3340362A1 DE19833340362 DE3340362A DE3340362A1 DE 3340362 A1 DE3340362 A1 DE 3340362A1 DE 19833340362 DE19833340362 DE 19833340362 DE 3340362 A DE3340362 A DE 3340362A DE 3340362 A1 DE3340362 A1 DE 3340362A1
Authority
DE
Germany
Prior art keywords
quotient
divisor
determination table
value
dividend
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
DE19833340362
Other languages
English (en)
Other versions
DE3340362C2 (de
Inventor
Masaharu Hadano Fukuta
Sako Ishikawa
Toru Ohtsuki
Yoshio Oshima
Hideaki Yabe
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 DE3340362A1 publication Critical patent/DE3340362A1/de
Application granted granted Critical
Publication of DE3340362C2 publication Critical patent/DE3340362C2/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Executing Machine-Instructions (AREA)
  • Detection And Correction Of Errors (AREA)
  • Complex Calculations (AREA)

Description

HITACHI, LTD., Tokyo Japan
Division von BCD-Zahlen
Die Erfindung betrifft ein Verfahren und eine Vorrichtung zur Division von BCD-Zahlen, wobei zur Optimierung der BCD-Zahlen-Division zu einer Quotienten Bestimmungstabelle zugegriffen wird, um die Verarbeitungsgeschwindigkeit zu erhöhen.
Die Division von BCD-Zahlen kann auch durch einen Vorgang durchgeführt werden, bei dem ein Quotient in BCD-Darstellung Ziffer für Ziffer mittels einer Quotienten-Bestimmungstabelle bestimmt wird, wobei der Berechnungsvorgang mit der höchstwertigen Ziffer beginnt.
Um den Berechnungsvorgang zu erläutern, zeigt Fig. 1 als Blockschaltbild die Schaltung einer BCD-Divisionsvorrichtung, die eine Quotienten-Bestimmungstabelle enthält, die jedoch nicht vorveröffentlicht und nicht Stand der Technik ist.
Ein in ein Dividendenregister 1 gesetzter Dividend und ein in ein Divisorregister
3 gesetzter Divisor werden einer Dezimal-Additions/Subtraktions-Einheit 8 zusammen mit einer in einem Divisor vielfachen Register 7 gespeicherten Divisor vielfachen angelegt. Daneben werden die höherwertigen Bitstellen des Dividenden-Registers 1 und des Divisorregisters 3 jeweils einer Quotienten-Bestimmungstabelle
4 eingegeben, wodurch ein ermittelter Quotient in ein Quotienten-Bestimmungsregister 5 geladen wird. Der durch eine Quotienten-Entscheidungsschaltung 11 bestimmte Quotient wird in ein Quotientenregister 2 geladen. Die Quotienten-
Bestimmungstabelle 4 enthält eingespeicherte vorausgesagte Quotienten, die jeweils durch eine Ziffer (die aus 4 Bit besteht) einer BCD-Zahl dargestellt sind und durch die Verknüpfung der eingegebenen Werte des Divisors und des Dividenden bestimmt wird, d.h., daß der bestimmte Wert gleich dem korrekten Wert oder um 1 größer als der korrekte Wert ist. Falls bei der Subtraktion einer Vielfachen des Divisors vom Dividenden ein übertrag entsteht, wird entschieden, daß der aus der Quotienten-Bestimmungstabelle ausgelesene Quotientenwert der korrekte Wert ist. Im Gegensatz wird, falls kein Übertrag erzeugt wird, bestimmt, daß die Subtraktion überläuft. 'Im letzteren Fall wird danach ein Einervielfaches des Divisors addiert. Die Verarbeitung der in Figur 1 dargestellten BCD-Divisionsschaltung wird im folgenden genauer beschrieben.
Vor der arithmetischen Verarbeitung werden Vielfache (Zweier- bis Neunervielfache) eines im Divisorregister 3 stehende Divisors in das Divisorvielfachen-Register geladen. Zur Bestimmung des Quotienten für eine BCD-Ziffer aufgrund der vom Dividendenregister 1 und vom Divisorregister 3 erhaltenen Werte wird aus der Quotienten-Bestimmungstabelle eine aus 4 Bit bestehende BCD-Ziffer ausgelesen. Dabei wird zur Quotienten-Bestimmungstabelle abhängig von einer Adresse, die aufgrund einer vorbestimmten Zahl aus den höherwertigen Bitstellen des im Dividendenregister 1 gespeicherten Dividenden und einer vorbestimmten Zahl aus den höherwertigen Bitstellen des im Divisorregister 3 gespeicherten Divisors gebildet wird, zugegriffen. Der auf diese Weise bestimmte Quotient wird in das Quotienten-Bestimmungsregister 5 geladen, das auch das Register für den vorbestimmten Quotienten genannt wird. Danach wird der so bestimmte aus 4 Bitstellen bestehende Quotient durch eine Voraussagequotienten-Umsetzschaltung 9 in ein Auswahlsignal (aus 3 Bits) umgesetzt, das eines der im Divisorvielfachen-Register 7 enthaltenen Vielfachen wählt, wodurch ein durch das Auswahlsignal aus dem Divisorvielfachen-Register 7 ausgewähltes Vielfaches Y des Divisors der Dezimal-Additions/Subtraktions-Einheit 8 eingegeben wird. In der Dezimal-Additions/Subtraktions-Einheit 8 wird das Vielfache Y von den im Dividendenregister 1 gespeicherten Dividenden des Werts X abgezogen. Ein Schalttor 12 wählt entweder den Ausgang des Divisorregisters 3 oder den Ausgang des Divisorvielfachen Registers 7 und ein Schalttor 13 wählt entweder des Ausgang des Registers 5 oder den Ausgang einer Minus-1-Schaltung 6 jeweils abhängig davon, ob die Dezimal-Additions/Subtraktionseinheit 10 ein Übertragssignal CAR
BAD ORIGINAL
erzeugt oder nicht. Wenn bei der obenerwähnten Subtraktion das Übertragssignal CAR auftritt (d.h. "X" - "Y" £ O), wird der von der Dezimal-Additions/Subtraktions-Einheit 8 ausgegebene Wert (das ist der Zwischenrest) im Dividendenregister 1 abgespeichert. Somit kann man das Dividendenregister 1 auch als Zwischenrest-Register bezeichnen. Gleichzeitig wird mittels eines Mikroprogramms der Inhalt des Quotienten-Bestimmungsregisters 5 unverändert über die Quotienten-Entscheidungsschaltung 11 in das Quotientenregister 2 eingespeichert. Nachdem der Quotient und der Zwischenrest jeweils im Register 2 und Register 1 abgespeichert wurde, wird der Inhalt des Dividendenregisters und des Quotientenregisters 2 jeweils um eine Ziffer der BCD-Zahl nach links geschoben. Andererseits wird, wenn beim obenerwähnten Subtraktionsvorgang kein Übertragssignal auftritt, d.h., wenn das Ergebnis der Subtraktion negativ ist (d.h. "X" - "Y" = 0) der von der Dezimal-Additions/Subtraktions-Einheit 8 ausgegebene Wert zum einen in das Dividendenregister 1 abgespeichert und zum anderen erneut der Dezimal-Additions/Subtraktions-Einheit 8 eingegeben und mit dem Wert (Einervielfachen) des im Divisorregister 3 stehenden Divisors addiert. Das Additionsergebnis wird als Zwischenrest erneut in das Dividendenregister 1 eingespeichert. Gleichzeitig wird ein Wert, der dem Inhalt des Quotienten-Bestimmungsregisters 5 entspricht und durch die Minus-1-Schaltung 6 um "1" vermindert ist, von der Quotienten-Entscheidungsschaltung 11 ausgewählt und in das Quotientenregister 2 eingespeichert. Auf diese Weise wird, falls sich bei der Subtraktion ein Wert = 0 ergibt, der Zwischenrest durch die Addition mit einem Wert, der dem Überschuß des Subtrahenten entspricht (das ist das Einervielfache des Divisors) korrigiert und dadurch die vorliegende Quotientenziffer zum korrekten Wert hin geändert. Nachdem der Zwischenrest und der Quotient geladen sind, werden die Inhalte des Dividendenregisters 1 und des Quotientenregisters 2 um eine Ziffer oder Position der BCD-Zahl nach links geschoben. Auch wenn für irgendeine Ziffer der Quotient 1 ermittelt wurde, werden die oben angegebenen Nichtübertragprozeduren ausgeführt. Somit wird in jedem Fall der Dezimal-Additions/Subtraktions-Einheit 8 der Inhalt des Divisorvielfachen Registers 7 und der Inhalt des Dividendenregisters 1 zuerst zjr arithmetischen Verarbeitung zugeführt.
In dieser Art werden die oben beschriebenen Operationen genügend oft wiederholt, wodurch ein Quotient in BCD-Schreibweise im Quotientenregister 2 Ziffer für
Ziffer beginnend mit der höchstwertigen Ziffer gebildet wird.
Figur 2 zeigt ein Diagramm, das die Zusammenhänge zwischen den aus der Quotienten-Bestimmungstabelle 4 bestimmten 4-Bit-Quotienten, den von der Umsetzschaltung 9 erzeugten 3-Bit-Wählsignalen und dem Divisorvielfachen Register 7 sowie der darin gespeicherten Vielfachen darstellt.
Aus der obigen Beschreibung geht hervür, daß bei der in Figur 1 dargestellten BCD-Divisionsvorrichtung die Umsetzschaltung 9 für die Umsetzung der aus der Quotienten-Bestimmungstabelle 4 ausgelesenen Quotienten in das Wählsignal , das eines der Divisorvielfachen Register 7 wählt, nötig ist, weil der vorhergesagte Quotient einer Dezimalziffer (das sind 4 Bit) entweder der richtige Quotientenwert oder der um 1 größere Wert ist. Da die Quotienten-Bestimmungstabelle zur Durchführung der BCD-Division die korrekten Quotienten oder die um 1 größeren Quotientenwerte speichern muß, erfordert die Realisierung der Tabelle 4 , wenn 4K-Bit-RAMs verwendet werden/1024 RAM-Bausteine in Anbetracht der Gesamtzahl der aus 3 Stellen des Dividenden und aus 2 Stellen des Divisors gebildeten Adressen. Im allgemeinen geschieht das Auslesen von Daten aus einem RAM im Vergleich mit der Verzögerungszeit anderer Schaltkreistypen relativ langsam. Außerdem erfordert ein RAM-Speicher großer Kapazität eine entsprechend lange Zugriffszeit, während kleine RAM-Speicher eine relativ kurze Zugriffszeit haben. Folglich wird die Zugriffszeit, wenn die Quotienten-Bestimmungstabelle 4 mittels eines großen RAM-Speichers realisiert wird, zunehmen, wohingegen eine Realisierung der Quotiententabelle mittels mehreren kleinen hintereinander geschalteten RAM-Speichern die von den Bausteinen belegte Fläche vergrößert, was eine wesentliche Zeitverzögerung bei der Signalübertragung bewirkt.
Somit wird in jedem Fall für den Zugriff zur Quotienten-Bestimmungstabelle 4 um einen vorhergesagten Quotienten daraus auszulesen, viel Zeit vergehen. Dazu kommt noch die Verzögerung , die durch die Umsetzung der Umsetzschaltung 9,die eines der Divisorvielfachen Register 7 auswählt, bewirkt wird. Als Ergebnis wird die Verarbeitungszeit der Dezimal-Additions/Subtraktions-Einheit 8 verlängert.
COPY BAD ORlGiNAL
Ein weiterer Nachteil der in Figur 1 dargestellten Divisionsvorrichtung ergibt sich in Verbindung mit der Quotienten-Bestimmungstabelle A. Wenn diese nämlich an den Stellen der nichtverwendeten Adressen, die von der Kombination der höherwertigen Bits des Divisors und des Dividenden nicht gebildet werden, lediglich mit Nullen geladen ist , wird ein aufgrund eines Fehlers der Adressleitung erfolgter Zugriff zu den nichtverwendeten Adressen lauter Nullen auslesen, die jedoch nicht von den "O"-Bits des bestimmten Quotienten unterschieden werden können. Um die dadurch entstehenden Fehler zu vermeiden, sind Sicherheitsmaßnahmen, wie z.B. das Einschreiben von Paritätsfehlermustern, die durch Invertierung eines Paritäts-Bits erhalten werden, an allen nicht verwendeten Adressen der Quotienten-Bestimmungstabelle A nötig, so daß ein Fehler auf einer Adressierung, wenn dadurch zu einer nichtverwendeten Adresse zugegriffen wird, erfaßt werden kann.
Es ist deshalb Aufgabe der Erfindung, eine BCD-Divisionsvorrichtung sowie ein Verfahren anzugeben, die nicht die obenangeführten Schwierigkeiten und Nachteile der Vorrichtung gemäß Fig. 1 ahben, wobei der aus der Quotienten-Bestimmungstabelle ausgelesene bestimmte Quotient direkt als Wählsignal zur Auswahl eines Divisorvielfachen Registers unter Vermeidung der Umsetzschaltung für den bestimmten Quotienten verwendet werden kann.
Zur Lösung der obigen Aufgabe ist das erfindungsgemäße BCD-Zahlendivisionsverfahren, bei dem ein in BCD-Schreibweise vorliegender Quotient Ziffer für Ziffer mittels einer Quotienten-Bestimmungstabelle und einer Gruppe von Registern für Vielfachenwerte bestimmt wird, und bei der ein bestimmter, aus der Quotienten-Bestimmungstabelle ausgelesener Quotient unverändert genommen wird, wenn der bestimmte Quotient korrekt ist, während andernfalls der aus der Quotienten-Bestimmungstabelle bestimmte Quotient um 1 dekrementiert wird, dadurch gekennzeichnet, daß die in der Quotientenbestimmungstabelle gespeicherten Werte zusammen mit redundanten Bits zuvor durch Addition einer vorgegebenen Zahl "6" verändert werden, die Register, die die Divisorvielfacher speichern unter Verwendung der drei unteren Bit-Stellen der Vier-Bit-Stellen umfassenden Ziffer des veränderten, bestimmten Quotienten ausgewählt werden, und dann von dem aus der Quotienten -Bestimmungstabelle ausgelesenen bestimmten Quotienten der zuvor für die Veränderung verwendete Zahlenwert "6" abgezogen
COPY
und dadurch eine Ziffer des bestimmten Quotienten erhalten wird. Durch diese Anordnung können drei der vier Bitstellen umfassenden Ziffer des bestimmten Quotienten, der aus der Quotienten-Bestimmungstabelle ausgelesen wurde, direkt als Auswahlsignal zur Wahl der relevanten Register für die Divisorvielfachen verwendet werden.
Im folgenden wird ein Ausführungsbeispiel der Erfindung anhand der Zeichnung näher beschrieben. Es zeigen:
Fig. 1 ein Blockschaltbild einer BCD-Zahlendivisionsvorrichtung;
Fig. 2 ein Diagramm, das die Bereitung eines Auswahlsignals zur Auswahl eines der in Figur 1 dargestellten Vielfachenregister darstellt;
Fig. 3 ein Blockschaltbild eines Ausführungsbeispiels der erfindungsgemäßen BCD-Zahlendivisionsyorrichtung;
Fig. 4 ein Diagramm, das die Aufbereitung eines Auswahlsignals zur Auswahl eines der in Figur 3 dargestellten Vielfachenregisters zeigt;
Fig. 5 ein Blockschaltbild, das. die Verarbeitung der in Figur 3 dargestellten Quotienten-Entscheidungsschaltung zeigt; und
Fig. 6a Tafeln, die die Verarbeitung der in Figur 3 dargestellten Minus-6-bis 6c Schaltung zeigt.
Figur 3 zeigt ein Blockschaltbild eines Ausführungsbeispiels der erfindungsgemäßen BCD-Zahlendivisionsvorrichtung. Dieses Ausführungsbeispiel gleicht der in Figur dargestellten Schaltung insofern, daß in den Divisorvielfachen-Registern 7 zuvor Vielfachenwerte (einschließlich Zweier- bis Neunervielfachen) jeweils abgespeichert werden und daß die Adresse der Quotienten-Bestimmungstabelle 4 aufgrund der vorbestimmten höherwertigen Bit-Stellen des im Register 1 gespeicherten Dividenden und des im Register 3 gespeicherten Divisors aufbereitet werden. Bei der in Figur 1 dargestellten BCD-Zahlendivisionsvorrichtung werden BCD-Zahlen von (0000L bis (100I)2 als jeweils eine Ziffer der vorhergesagten Quotienten in der Quotienten-Bestimmungstabelle 4 gespeichert. Dagegen enthält die Quotienten-Bestimmungstabelle 4 gemäß der Lehre der vorliegenden
BAD ORIGINAL
-u-
Erfindung BCD-Zahlen von (OHO)2 bis (llllL , die jeweils durch Addition des Wertes "6" = (OHO)2 zu den BCD-Zahlen (000O)2 bis (100I)2 erhalten werden. Folglich entspricht der aus der Quotienten-Bestimmungstabelle 4 mittels der auf der Basis der vorgegebenen Zahl der höherwertigen Bit-Stellen des Dividenden und des Divisors, die jeweils in Register 1 und Register 3 stehen, bereiteten Adresse ausgelesene Wert dem durch Addition
mit der Zahl 6 veränderten,, vorhergesagten Quotienten. Im weiteren Verlauf wird dieser veränderte Wert als vorhergesagter (bestimmter) Quotient bezeichnet.
Von der aus der Quotienten-Bestimmungstabelle 4 ausgelesenen74 Bit-Stellen umfassenden Ziffer des bestimmten Quotienten werden die drei niederwertigen Bit-Stellen direkt als Auswahlsignal zur Auswahl eines der Vielfachenregister 7 und damit der darin gespeicherten Vielfachen verwendet. Dieser Vorgang wird nachfolgend genauer beschrieben. Gleichzeitig werden alle vier Bits der aus der Quotienten-Bestimmungstabelle 4 ausgelesenen bestimmten Quotientenziffer einer Quotienten-Entscheidungsschaltung 11 eingegeben und der Wert "6" vom eingegebenen bestimmten Quotienten mittels der Minus-6-Schaltung 10 subtrahiert. Das Ergebnis der Subtraktion wird im Register 5 für den bestimmten Quotienten abgespeichert. Dazu wird das Divisorvielfache , das mittels des Auswahlsignals aus dem Vielfachenregister 7 ausgewählt wurde, einer Dezimal-Additions/Subtraktions-Einheit 8 eingegeben und vom Wert des im Dividendenregister 1 gespeicherten Dividenden abgezogen. Der Zwischenrest wird schließlich im Dividendenregister 1 abgespeichert, während der von der Quotienten-Entscheidungsschaltung 11 erzeugte Quotient abhängig davon, ob das Subtraktionsergebnis positiv oder negativ ist (Ubertragssignal CAR) im Quotientenregister 2 gespeichert wird. Die zuletzt geschilderten Übertragungsvorgänge in das Dividendenregister und das Quotientenregister sind gleich wie die entsprechenden Vorgänge bei der Vorrichtung von Figur 1.
Dann wird anhand der Figur 4 beschrieben, auf welche Weise die in der Quotienten-Bestimmungstabelle 4 zu speichernden Bit-Muster verändert werden und wie die veränderten Bit-Muster erfindungsgemäß verwendet werden.
Die bestimmten Quotienten "0" bis "9" , die in der linken Quotientenspalte von Figur 4 angeführt sind, werden in "6" bis "15" durch Addition des Werts "6"
BAD ORIGINAL
zu "O" bis "9" gemäß der Lehre der Erfindung geändert (zweite Spalte in Figur 4). In der dritten Spalte in Figur 4 sind die drei niederwertigen Bit-Stellen der Zahlen "8" bis "15", die den um den Wert "6" erhöhten Werten "2" bis "9" entsprechen, durch einen rechteckigen Block A angezeigt. Die in Block A stehenden Bit-Muster (00O)9 bis (Hl)9 , die den echten Quotienten "2" bis "9" entsprechen, stimmen mit den Auswahlsignalen für die Vielfachenregister7, die jeweils die Vielfachenwerte "2" bis "9" speichern, überein. Das heißt, daß die im Block A stehenden Bit-Muster direkt die Auswahlsignale für die Vielfachenregister 7 sind, ohne daß die Bit-Umsetzschaltung 9 , die in der Vorrichtung gemäß Figur 1 benötigt wurde, erforderlich ist. In der Spalte 3 von Figur 4 fällt auf, daß die drei niederwertigen Bit-Stellen der Quotienten 11O" und "1" , nämlich (HOL und (Hl)2 jeweils gleich den drei niederwertigen Bit-Stellen der Quotienten "8" und "9" sind. Jedoch sind die obersten Bits bei den um den Wert "6" erhöhten, vorausgesagten Quotienten nur bei denen Null, die den Quotienten "0" und "1" entsprechen, wie Block B in der dritten Spalte in Figur 4 angibt. Deshalb kann in Abhängigkeit von der höchstwertigen Bitstelle bestimmt werden, ob der Ausgang der Vielfachenregister 7 (die jeweils die Vielfachenwerte "2" bis "9" speichern) oder der Ausgang des Divisorregisters (der das Einervielfache speichert) als Eingangssignal "Y" der Dezimal-Additions/ Subtraktions-Einheit 8 ausgewählt werden muß.
Anhand der Figuren 5 und 6 wird die Erkennung eines wegen fehlerhaften Adressleitungen oder aus ähnlichen Gründen auftretenden Fehlers in der erfindungsgemäßen BCD-Zahlendivisionsvorrichtung beschrieben.
Wie Figur 5 zeigt, weist jede Adresse für die Quotienten-Bestimmungstabelle 4 ein Ungerade-Paritäts-Bit a"> für die vier Bits aQ bis a, umfassende Ziffer des gespeicherten, vorhergesägten Quotienten auf. Deshalb werden insgesamt der Quotienten-Entscheidungsschaltung 11 5 Bits einschließlich des Paritäts-Bits a eingegeben, die die Quotienten-Bits SQ bis S3 und das Paritäts-Bit S ergeben, die in dem Register 5 für den bestimmten Quotienten mittels der Minus-6-Schaltung 10 gespeichert werden.
In den Figuren 6a bis 6c sind logische Verarbeitungen der Minus-6-Schaltung 10 dargestellt und zwar für den Fall, wo die Bits SQ..., S, jeweils (000O)2 ...., (100I)9 betragen, wobei die Quotienten-Bitstellen S , ..., S, jeweils eine BCD-
BAD ORIGINAL
Ziffer darstellen. In Figur 6a sind die Boole'schen Gleichungen zur Berechnung der jeweiligen Bit-Stellen Sn bis S aus den vor dem Einspeichern um den Wert "6" erhöhten, bestimmten Quotienten-Bit-Stellen aQ bis a, einschließlich des Paritäts-Bits a , also die Funktion der Minus-1-Schaltung 10 dargestellt, während Figur 6b für jede einzelne Bit-Stelle die Ergebnisse der Umrechnung durch die Minus-1-Schaltung 10 entsprechend den Bool e'schen Gleichungen von Fig. 6a enthält.
Da bei der nichtverwendeten Adresse in der Quotienten-Bestimmungstabelle 4 kein bestimmter Quotient vorhanden ist, haben die entsprechenden Bit-Stellen "aQ, aA, a2, a^, a " den Wert "00001". In Figur 6c sind
die Bit-Muster von SQ ..., S3, S dargestellt, die die Minus-6-Schaltung 10 beim Eingangswert "00001" ausgibt, das den Paritätsfehler darstellt. Auf diese Weise kann das fälschliche Auslesen unter der nichtverwendeten Adresse aufgrund eines Fehlers auf der Adressleitung oder ähnlichem als Paritätsfehler durch die Quotienten-Entscheidungsschaltung 11 erfaßt werden.
Aus der vorangehenden Beschreibung wird deutlich, daß das dargestellte Ausführungsbeispiel der Erfindung , die drei niederwertigen Bit-Stellen einer Dezimalziffer des aus der Quotienten-Bestimmungstabelle ausgelesenen bestimmten Quotienten direkt als Auswahlsignal zur Auswahl des Vielfachenregisters verwendet phne daß eine Verarbeitung durch eine Bit-Umsetzschaltung (9 in Figur 1) nötig ist. Dadurch ist ein sehr schnelles Auslesen der Divisorvielfachen möglich.
Bei der in Figur 1 dargestellten BCD-Zahlendivisionsvorrichtung werden die bestimmten Quotienten unverändert in der Quotienten-Bestimmungstabelle gespeichert. Aus diesem Grunde ist es unpraktisch, die Bit-Stellen aQ, a,, a2, a, und a der nichtverwendeten Adressen auf das Bit-Muster (OOOOlL zu setzen, weil dann der bestimmte Quotient einer Ziffer des Wertes "0" fehlerhaft identifiziert wird. Aus diesem Grunde müssen bei allen nichtverwendeten Adressen spezielle gseignete Bit-Muster, die den Paritätsfehler angeben, gespeichert werden. Dagegen werden bei dem dargestellten Ausführungsbeispiel der Erfindung die Bit-Stellen der nichtverwendeten Adressen in der Quotienten-Bestimmungstabelle 4 einfach auf das zuvor erwähnte Bit-Muster (00001)« gesetzt, wodurch durch eine vereinfachte
BAD ORIGINAL
Fehlererkennung beim fälschlichefi Zugriff zu den unverwendeten Adressen aufgrund eines Adressierfehlers oder ähnlichem möglich ist.
Die obige Beschreibung macht deutlich, daß die erfindungsgemäße BCD-Zahlendivisionsvorrichtung, bei der die Daten, die in der Quotienten-Bestimmungstabelle zu speichern sind, zuvor modifiziert werden, durch diese Modifikation das gewünschte Vielfachenregister direkt auswählen kann, wodurch im Vergleich mit einer BCD-Zahlendivisionsvorrichtung (z.B. die in Figur 1 dargestellte) die Dezimal-Additions/Subtraktions-Einheit 8 die arithmetische Verarbeitung früher beginnen und infolgedessen die Berechnung beschleunigen kann.
Außerdem müssen bei der vorliegenden erfindungsgemäßen BCD-Zahlendivisionsvorrichtung nicht wie bei der Vorrichtung von Figur 1 bei freien Adressen der Quotientenbestimmungstabelle eigene Fehlermuster, die die Fehlererfassung beim Zugriff zu unverwendeten Adressen gestatten, gespeichert werden. Eine Fehlererkennung ist bei der erfindungsgemäßen BCD-Zahlendivisionsvorrichtung mittels einer üblichen Paritätsprüfung ohne spezielle Fehlererkennungsschaltungen möglich.
BAD ORIGINAL
Leerseite

Claims (8)

  1. Patentansprüche
  2. 2.
    Verfahren zur Division von BCD-Zahlen, bei dem ein Quotient Ziffer für Ziffer aus einem Dividenden und einem Divisor, die in BCD-Form vorliegen, durch Zugriff zu einer Quotienten-Bestimmungstabelle (A) durch Adressierung mit einer vorgegebenen Anzahl von höherwertigen Bit-Stellen des Dividenden und des Divisors bestimmt werden,
    dadurch gekennzeichnet,
    daB
    die in der Quotienten-Bestimmungstabelle (A) eingespeicherten Werte durch Addition der Zahl "6" aus den wirklichen bestimmten Quotienten erhalten sind ,und der nach dem Zugriff zur Quotienten-Bestimmungstabelle (A) ausgelesene Wert direkt zur Auswahl eines der Divisorvielfachen Register (7) dient und gleichzeitig durch Subtraktion der vorgegebenen Zahl "6" zur Bestimmung des Quotienten decodiert wird.
    BCD-Zahlen Divisionsverfahren nach Anspruch 1, dadurch gekennzeichnet,
    daß
    die drei niederwertigen Bit-Stellen (aQ, a,, aJ des aus der Quotienten-Bestimmungstabelle (A) ausgelesenen Werts als Auswahlsignal zur Auswahl eines von Divisorvielfachenregistern (7) verwendet werden.
    81-A8110-02
    I · ■ ·
    -2-
  3. 3. BCD-Zahien Divisions verfahr en nach Anspruch 2, dadurch gekennzeichnet,
    daß das im Vielfachenregister (7) gespeicherte Vielfache des Divisors mit dem Dividenden (1) verglichen und auf der Grundlage des
    Vergleichsergebnis entschieden wird, ob der bestimmte Quotient korrekt ist oder nicht, wobei, wenn das Entscheidungsergebnis den korrekten Wert anzeigt, von dem aus der Quotienten-Bestimmungstabelle (4) ausgelesenen Wert lediglich die Zahl "6" subtrahiert wird, während , wenn das Entscheidungsergebnis nicht den korrekten Wert kennzeichnet, von dem aus der Quotienten-Bestimmungstabelle (4) ausgelesenen Wert die Zahl "6" abgezogen wird und das Subtraktionsergebnis um 11I", um den korrekten Quotienten zu erhalten, dekrementiert wird.
  4. 4. BCD-Zahlen Divisionsverfahren nach Anspruch 1, dadurch gekennzeichnet,
    daß die Zahl "6" in Binärform "0110" und der durch Addition mit der Zahl "6" modifizierte Quotient vier Bit-Stellen aufweist.
  5. 5. BCD-Zahlen Divisionsverfahren nach Anspruch 4, dadurch gekennzeichnet,
    daß die Binärzahlen 5 Bit-Stellen (aQ, a,, a«, a,, a ) aufweisen, wobei 4 Bits (aQ, a,, a2> aj die durch Addition mit dem vorbestimmten Wert "6" sich ergebenden Werte der Quotienten-Bestimmungstabelle (4) darstellen und die Bit-Stelle (a ) ein Paritätsbit darstellt, und wobei unverwendete Adressen der Quotienten-Bestimmungstabelle (4) mit dem Muster "00001" geladen sind.
  6. 6. BCD-Zahlen Divisions vorrichtung zur Durchführung des Verfahrens nach Anspruch I1
    gekennzeichnet durch
    a) eine Dividendeneingabe-Einrichtung (1), die den Dividenden eingibt,
    b) eine Divisoreingabe-Einrichtung (3), die einen Divisor eingibt,
    c) eine Quotientenausgabe-Einrichtung (2), die einen Quotienten als Berechnungsergebnis aus Dividend und Divisor ausgibt,
    d) mehrere Divisor-Vielfachenregister (7), die mit der Divisoreingabe Einrichtung (1) verbunden ist und wahlweise ein Divisorvielfaches liefer
    e) eine arithmetische Verarbeitungseinheit (8), deren einer Eingang mit dem Ausgang der Dividendeneingabe-Einrichtung und deren anderer Eingang mit dem Ausgang der Divisoreingabe-Einrichtung und einem ausgewählten Divisorvielfachen Register verbunden ist, wobei ein Ausgang der arithmetischen Verarbeitungseinheit (8) mit dem Eingang der Dividendeneingabe-Einrichtung (1) verbunden ist,
    f) eine Speichereinrichtung (4), die die Quotienten-Bestimmungstabelle speichert und von der Divideneingabe-Einrichtung (1) und der Divisoreingabe-Einrichtung adressiert wird,
    g) eine Quotienten-Entscheidungseinrichtung, die einen aus der Speichereinrichtung (4) ausgelesenen bestimmten Quotienten empfängt und abhängig von dem von der arithmetischen Verarbeitungseinheit (8) erzeugten Ergebnis einen korrekten Quotienten bestimmt und diesen der Quotientenausgabe-Einrichtung (2) zuführt, wobei
    die Quotienten-Bestimmungstabelle in der Speichereinrichtung (4) bestimmte Quotienten speichert, die durch Addition mit einer vorgegebenen Zahl "6" verändert sind, wobei jeder bestimmte Quotient entweder einen Wert, der dem korrekten Quotienten entspricht oder einen Wert, der um 1 größer ist als der dem korrekten Quotienten entsprechende Wert, erhält und durch eine vorgegebene Anzahl der höherwertigen Bit-Stellen des Dividenden und des Divisors adressiert wird, der ausgelesene, modifizeirte, bestimmte Quotient eine Information aufweist, die ein Divisorvielfaches kennzeichnet und nach dem Auslesen aus der Quotienten-Bestimmungstabelle zur Auswahl eines der Divisorvielfachen Register (7) angelegt wird, und wobei
    die Quotientenentscheidungseinrichtung (11) eine Rückwandlungseinrichtung (10 aufweist, die mit dem Ausgang der Speichereinrichtung (4) verbunden ist und von dem aus der Speichereinrichtung (4) ausgelesenen modifizierten Quotienten die vorgegebene Zahl "6" subtrahiert, um den unmodifizierten bestimmten Quotienten zu erzeugen.
  7. 7. Vorrichtung nach Anspruch 6,
    dadurch gekennzeichnet,
    daß der modifizierte Quotient 4 Bits aufweist, daß das geeignete Divisorvielfachen Register (7) mittels der drei niederwertigen Bit-Stellen (aQ, a,, aO ausgewählt wird und daß die zur Modifikation der Quotienten verwendete Zahl in binärer Darstellung "0110" ist.
  8. 8. Vorrichtung nach Anspruch 7,
    dadurch gekennzeichnet,
    daß jedem modifizierten bestimmten Quotienten ein Paritätsbit hinzugefügt ist und 'daß die nichtverwendeten Adressen der Speichereinrichtung (4) das Muster "00001" enthalten.
DE19833340362 1982-11-09 1983-11-08 Verfahren und vorrichtung zur division von bcd-zahlen Granted DE3340362A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57196618A JPS5987543A (ja) 1982-11-09 1982-11-09 2進化10進数除算方式

Publications (2)

Publication Number Publication Date
DE3340362A1 true DE3340362A1 (de) 1984-05-10
DE3340362C2 DE3340362C2 (de) 1988-12-01

Family

ID=16360744

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19833340362 Granted DE3340362A1 (de) 1982-11-09 1983-11-08 Verfahren und vorrichtung zur division von bcd-zahlen

Country Status (3)

Country Link
US (1) US4635220A (de)
JP (1) JPS5987543A (de)
DE (1) DE3340362A1 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4817048A (en) * 1986-08-11 1989-03-28 Amdahl Corporation Divider with quotient digit prediction
US4799181A (en) * 1986-09-30 1989-01-17 Honeywell Bull Inc. BCD arithmetic using binary arithmetic and logical operations
JPH0833816B2 (ja) * 1988-10-08 1996-03-29 日本電気株式会社 固定小数点除算方式
US4992968A (en) * 1989-02-17 1991-02-12 Digital Equipment Corporation Division method and apparatus including use of a Z--Z plot to select acceptable quotient bits
US5039350A (en) * 1990-04-27 1991-08-13 The United States Of America As Represented By The Administrator Of The Environmental Protection Agency Method for the decomposition of halogenated organic compounds in a contaminated medium
DE4121106A1 (de) * 1991-06-26 1993-01-07 Siemens Nixdorf Inf Syst Verfahren fuer datenverarbeitungsanlagen zur radix-division eines dividenden und eines divisors von jeweils beliebiger laenge und schaltungsanordnung zur durchfuehrung des verfahrens
JP2541758B2 (ja) * 1993-06-02 1996-10-09 日本電気株式会社 剰余算出回路
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
JP6064435B2 (ja) * 2012-08-21 2017-01-25 富士通株式会社 演算回路、演算処理装置、及び除算方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1193705B (de) * 1961-11-15 1965-05-26 Ibm Einrichtung zur Division von Dezimalzahlen
DE1203504B (de) * 1962-11-05 1965-10-21 Ibm Divisionseinrichtung
DE3303269A1 (de) * 1982-02-16 1983-08-25 Hitachi, Ltd., Tokyo Verfahren und vorrichtung zur division von bcd-zahlen

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3610905A (en) * 1965-04-15 1971-10-05 Honeywell Inf Systems Division system generating a variable length quotient in which the unit of information exceeds the capacity of the operating registers
US3578961A (en) * 1968-03-06 1971-05-18 Honeywell Inc Preconditioned divisor for expedite division by successive subtraction
NL7101257A (de) * 1971-01-30 1972-08-01
NL7101258A (de) * 1971-01-30 1972-08-01
JPS5311179B2 (de) * 1972-11-27 1978-04-19
JPS56123038A (en) * 1980-03-04 1981-09-26 Fujitsu Ltd Division control system
US4466077A (en) * 1981-09-25 1984-08-14 International Business Machines Corporation Method and apparatus for division employing associative memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1193705B (de) * 1961-11-15 1965-05-26 Ibm Einrichtung zur Division von Dezimalzahlen
DE1203504B (de) * 1962-11-05 1965-10-21 Ibm Divisionseinrichtung
DE3303269A1 (de) * 1982-02-16 1983-08-25 Hitachi, Ltd., Tokyo Verfahren und vorrichtung zur division von bcd-zahlen

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SPANIOL, Arithmetik in Rechenanlagen, Teubner Studienbücher, 1976, S.118-119 *

Also Published As

Publication number Publication date
JPH0413735B2 (de) 1992-03-10
DE3340362C2 (de) 1988-12-01
US4635220A (en) 1987-01-06
JPS5987543A (ja) 1984-05-21

Similar Documents

Publication Publication Date Title
DE2311220A1 (de) Digital-informations-verarbeitungsvorrichtung zur zeichenerkennung
DE1178623C2 (de) Programmgesteuerte datenverarbeitende Maschine
DE1237363B (de) Arithmetisch-Logische-Einheit
DE2712224A1 (de) Datenverarbeitungsanlage
DE1162111B (de) Gleitkomma-Recheneinrichtung
DE1956209A1 (de) Schneller Multiplikator
DE2527062C3 (de) Anpassungsfähiger Adressendecodierer
DE3340362A1 (de) Verfahren und vorrichtung zur division von bcd-zahlen
DE3303269C2 (de)
DE1499281B1 (de) Rechenmaschine fuer logarithmische Rechnungen
DE3713627A1 (de) Bildspeicherschaltung, insbesondere zur verwendung beim drehen von bilddaten
DE1250163B (de) Einrichtung zur Paritätsprüfung von Speicherworten
DE4019646C2 (de) Vorrichtung und Verfahren zum Multiplizieren von Datenwörtern in Zweier-Komplement-Darstellung
DE3440680C2 (de)
EP0265555B1 (de) Verfahren und Schaltungsanordnung zur Addition von Gleitkommazahlen
EP0598112B1 (de) Verfahren und anordnung zum bilden der summe einer kette von produkten
DE3132611C2 (de)
DE2523755A1 (de) Divisionsverarbeitungssystem mit 2n-facher genauigkeit
DE1499286A1 (de) Datenbearbeitungsanlage
DE1806464A1 (de) Adressengenerator fuer einen Digitalrechner
DE2601379C3 (de) Schaltungsanordnung zum Umwandeln virtueller Adressen in reelle Adressen
EP0757811B1 (de) Verfahren zur fuzzifizierung von an eingängen eines fuzzy-prozessors anliegenden eingangssignalen unter verwendung von eingangszugehörigkeitsfunktionen
DE2500201A1 (de) Zeichenoperator fuer binaer codierte dezimalziffern
DE1549485A1 (de) Anordnung zur Division binaerer Operanden
DE2356078A1 (de) Digitaler multiplizierer

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