DE3340362A1 - Verfahren und vorrichtung zur division von bcd-zahlen - Google Patents
Verfahren und vorrichtung zur division von bcd-zahlenInfo
- 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
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
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)
- Patentansprüche
- 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,daBdie 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-02I · ■ ·-2-
- 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 desVergleichsergebnis 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. 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. 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. BCD-Zahlen Divisions vorrichtung zur Durchführung des Verfahrens nach Anspruch I1gekennzeichnet durcha) 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 liefere) 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, wobeidie 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 wobeidie 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. 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. 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.
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)
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)
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)
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 |
-
1982
- 1982-11-09 JP JP57196618A patent/JPS5987543A/ja active Granted
-
1983
- 1983-11-08 DE DE19833340362 patent/DE3340362A1/de active Granted
- 1983-11-08 US US06/549,809 patent/US4635220A/en not_active Expired - Lifetime
Patent Citations (3)
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)
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 |