DE2826773A1 - Verfahren und schaltungsanordnung zum feststellen der wertigkeit von ziffern in arithmetischen operationen mit dezimalrechnern - Google Patents
Verfahren und schaltungsanordnung zum feststellen der wertigkeit von ziffern in arithmetischen operationen mit dezimalrechnernInfo
- Publication number
- DE2826773A1 DE2826773A1 DE19782826773 DE2826773A DE2826773A1 DE 2826773 A1 DE2826773 A1 DE 2826773A1 DE 19782826773 DE19782826773 DE 19782826773 DE 2826773 A DE2826773 A DE 2826773A DE 2826773 A1 DE2826773 A1 DE 2826773A1
- Authority
- DE
- Germany
- Prior art keywords
- digits
- digit
- significant
- carry
- numbers
- 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.)
- Withdrawn
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/492—Computations with decimal numbers radix 12 or 20. using a binary weighted representation within each denomination
- G06F7/493—Computations with decimal numbers radix 12 or 20. using a binary weighted representation within each denomination the representation being the natural binary coded representation, i.e. 8421-code
- G06F7/494—Adding; Subtracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/491—Indexing scheme relating to groups G06F7/491 - G06F7/4917
- G06F2207/4911—Decimal floating-point representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/492—Indexing scheme relating to groups G06F7/492 - G06F7/496
- G06F2207/4924—Digit-parallel adding or subtracting
-
- 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/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49942—Significance control
- G06F7/49947—Rounding
- G06F7/49963—Rounding to nearest
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)
- Complex Calculations (AREA)
- Executing Machine-Instructions (AREA)
- Digital Computer Display Output (AREA)
Description
Anmelderin: International Business Machines
Corporation, Armonk, N.Y. 10504
heb-ora
Verfahren und Schaltungsanordnung zum Feststellen der Wertigkeit von Ziffern in arithmetischen Operationen
mit Dezimalrechnern
Die Erfindung betrifft ein Verfahren und eine Schaltungsanordnung zur Fehlerverringerung bei der Ziffernberechnung und
insbesondere ein Verfahren und eine Anordnung für die Beibehaltung der Gültigkeit von Ziffern einer sich aus einer
arithmetischen Operation von zwei anderen Zahlen (Operanden) durch einen Dezimalrechner ergebenden Zahl, d. h. einer
Maschine, die arithmetische Operationen zur Basis 10 ausführt.
Faktoren, die die Rechengenauigkeit beeinflussen, sind beispielsweise die Genauigkeit gültiger Ziffern, die Rundung
(sei es Abrundung oder Aufrundung), das Abbrechen von Zahlen und das Format der Darstellung. Diese Faktoren hängen
voneinander ab. In den folgenden Abschnitten soll der Einfluß dieser Faktoren auf die Zifferngültigkeit und auf
die vorliegende Erfindung kurz betrachtet werden.
In der folgenden Beschreibung kann jede Zahl N. dargestellt werden durch U^ «= n^n-1) ^ (n-2) i·.. (n-k)^ .. (n-n+1) ^,
Wobei n. die Ziffer mit der höchsten Ordnungszahl und (n-n+1). die Ziffer mit der niedrigsten Ordnungszahl ist.
Xn dieser Hinsicht soll jede Zahl die Eigenschaften einer !"Gültigkeit" und einer "Präzision" aufweisen.
Obwohl der Techniker mit dem Ausdruck "gültige Ziffern" im allgemeinen vertraut ist, so ist doch die Darstellung,
SA 976 046 8 0 9 8 8 2/0808
welche der Ziffern in einer Zahl als gültige Ziffern anzusehen sind, oft zweideutig. Tatsächlich befassen sich einige
Definitionen mit der Form der Zahlendarstellung. Beispielsweise ist es bei Gleitkomma-Arithmetik allgemein üblich/
,die führenden Nullen unbeachtet zu lassen und nur dann jede andere Ziffer als gültig anzuerkennen, wenn der Fehler
kleiner ist als eine halbe Einheit in der Basis. Eine weitere Definition der Gültigkeit bezeichnet alle diejenigen Ziffern
einer Zahl als gültig, die mit der ersten von Null verschiedenen Zahl links beginnen und mit der letzten von Null
verschiedenen Zahl rechts endigen. Eine Abwandlung dieser !Definition besagt, daß solche Ziffern als gültige Ziffern
!einer Zahl anzusehen sind, die mit der letzten von Null
(verschiedenen Ziffer rechts endigen oder mit einer Null, wenn Idiese genau ist. Der Ausgangspunkt dieser Erfindung nimmt
!für ein vorgegebenes maschinelles Rechensystem an, daß Gültigkeit und Nichtgültigkeit angegeben werden können.
Demgemäß soll die Präzision oder Genauigkeit der Grad der Unterscheidung sein, mit der diese Größe angegeben ist.
Genauer gesagt, wird der Grad der Präzision durch die Anzahl von gültigen Ziffern in einer aus mehreren Ziffern beistehenden
Zahl angegeben.
Der falsche Eindruck von der Bedeutsamkeit der Ziffern
flenn eine Berechnung mit auf sechs bedeutsame Stellen genauen Ziffern beginnt und wenn damit Berechnungen durchgeführt
werden, dann kann das Ergebnis beispielsweise nur bis auf Irei oder vier bedeutsame Ziffern genau sein. Als Beispiel
3oll zunächst eine Folge von Operationen betrachtet werden, aei der zunächst zwei annähernd gleich große Zahlen mit
jeweils r bedeutsamen Ziffern voneinander subtrahiert werden. 3ie Differenz kann dabei nur r/2 oder weniger bedeutsame
Stellen aufweisen. Wird diese Differenz dann mit einer
976 046 8Q9882/08G8
anderen Zahl mit nur r/2 bedeutsamen Ziffern multipliziert,
dann hat das Produkt nur r/2 bedeutsame Stellen. Die r Ziffern höchster Ordnung können jedoch eine mehr oder
weniger willkürliche Anordnung von Werten enthalten, die den Anschein erwecken, daß diese r Ziffern von Bedeutung sind.
Wird dieses Produkt nunmehr von einer gleich großen Zahl mit r/2 signifikanten Ziffern abgezogen, dann kann die
Differenz überhaupt keine bedeutsamen Stellen enthalten. Das Muster der Werte in dem Ergebnis kann jedoch den irrtümlichen
Eindruck erwecken, daß r/2 Ziffern von Bedeutung sind. Eine nachfolgende Multiplikation mit einer anderen Zahl kann
dann eine Zahl mit r/2 Ziffern ergeben, die so aussehen, daß r bedeutsame Ziffern vorhanden sind, von denen jedoch
.keine in Wirklichkeit eine bedeutsame Ziffer ist.
Bei Division und Differenzbildung liegt eine Hauptursache für Fehler bei der Bedeutsamkeit von Ziffern. Es sei bei-1
spielsweise 25,55 ein Dividend mit vier bedeutsamen Ziffern und der Divisor 5,CKDO soll ebenso vier signifikante Ziffern
!enthalten. Der Quotient ist 5,11. Hier erstreckt sich die
;Signifikanz auf nur drei Ziffern. Eine Subtraktion !zwischen zwei in ihren Werten nahe beieinander liegenden
Zahlen kann ebenfalls einen Verlust an Signifikanz bedeuten. Zieht man beispielsweise 9.999,0 (fünf bedeutsame Stellen)
von 10.001,0 (sechs bedeutsame Ziffern) ab, so erhält man als Ergebnis 2,0 (zwei bedeutsame Ziffern). Dieser Verlust
an Signifikanz hängt selbstverständlich von den einzelnen Daten ab.
Als ein damit verwandtes Problem kann die Rundung als das Weglassen der letzten gültigen Ziffer oder der letzten
SA 976 046 809882/0806
INSPECTED
gültigen Ziffern einer Zahl sowie eine Korrektur des Restes gemäß irgendeiner Regel angesehen werden. Eine andere Auffassung
dafür kann etwa so ausgedrückt werden, daß dann, wenn eine Größe durch eine einzige Zahl nicht genau dargestellt
werden kann, oder wenn die Größe nicht genau bekannt ist, daß dann nur eine festgelegte Anzahl von Ziffern
relativ hoher Ordnung beibehalten und alle Stellen niedriger Ordnung gestrichen werden, die sonst für eine genauere
Darstellung der Größe erforderlich wären. Das Verfahren zum Weglassen der Ziffern niedriger Ordnung und zum Ableiten
der sich dabei ergebenden Zahl wird als Rundung bezeichnet.
'im Dezimalsystem besteht ein bekanntes Verfahren zum Runden
jdarin, daß zu der Ziffer höchster Ordnung, die weggelassen werden soll, die Zahl 5 hinzu addiert wird. Der sich dabei
gegebenenfalls aus dieser Addition ergebende Übertrag wird überlicherweise zu den höherwertigen Ziffern hinzu addiert.
Wenn beispielsweise die Zahl 739,63 auf die nächstgrößere Einheit gerundet werden soll, dann wird zu den Zehnteln eine
5 hinzu addiert, was 740,13 liefert, das nach Rundung, nämlich Abrundung, dann die Zahl 740 ergibt, wenn die die
Zehntel und Hundertstel anzeigenden Ziffern weggelassen oder gestrichen worden sind.
Zahlenformate
Für digitale Berechnung werden Zahlen in verschiedenen Formaten dargestellt. Unter diesen Formaten gibt es Festkomma
und Gleitkomma. Negativzahlen werden durch die Basis und ein vermindertes Basiskomplement und Vorzeichen plus Größe
dargestellt. Ein Festkomma-Format ist eine Positionsdarstellung, bei der eine Zahl durch eine einzige Gruppe von
Ziffern ausgedrückt wird, wobei die Position des Kommas gemäß irgendeiner Übereinkunft inbezug auf ein Ende der
976 046 Ö09882/08 08
Zahlengruppe festgelegt ist. Eine Gleitkomma-Darstellung ist in gleicher Weise ein Zahlendarstellungssystem, bei dem
eine Zahl durch ein Paar Zahlen dargestellt ist und gleich einer dieser Zahl mal einer Potenz einer implizit festgelegten
positiven ganzzahligen Basis ausgedrückt wird, wobei die Potenz gleich der impliziten Basis potenziert mit dem
durch die andere Zahl dargestellten Exponenten ist. Ein Basiskomplement ist eine Zahl, die dadurch erhalten wird,
daß man jede Ziffer von der um 1 verminderten Basis abzieht und dann zur niedrigstwertigen Ziffer 1 hinzu addiert und
alle erforderlichen Überträge ausführt. Häufig benutzte Beispiele sind Zehnerkomplement bei Dezimalrechnung und
Zweierkomplement bei Binärrechnung. Zuletzt sind mit Vorzeichen versehene Zifferndarstellungen solche mit Positionszahlendarstellungen, mit einer konstanten, ganzzahligen
Basis r 3. Hier sind sowohl positive als auch negative Ziffernwerte zulässig. Die einzelnen Ziffern enthalten jeweils
Vorzeicheninformation, so daß für die Zahl selbst eine Vorzeichenstelle nicht erforderlich ist. Hier gibt es keine
.Kettenschaltungen zur Übertragung des Übertrags, da die Addition beispielsweise vollständig parallel erfolgt. Das
bedeutet, daß jede Ziffer der Summe eine Funktion von nur zwei benachbarten Stellen des Operanden ist. Die Subtraktion
[Wird als ein Vorzeichenwechsel, gefolgt durch eine Addition, [
'durchgeführt. Die zeitliche Dauer einer Additionsoperation
!ist unabhängig von der Länge des Operanden und ist gleich
der Additionszeit für zwei Ziffern. ;
ι ■
I !
jStand der Technik für die Bedeutsamkeit von Ziffern und
!deren Feststellung j
Der einschlägige Stand der Technik enthält folgende Literatur-<
!Stellen: '
!Avizienis (I) 1964 "Fall Joint Computer Conference Proceedings"
jseiten 653-672;
I !
SA 976 046 303882/0808
Avizienis (II) "Information Processing" North Holland Publishing Company, Amsterdam 1963, Seiten 664-·668;
Metropolis et al., IEEE Transactions on Computers, Band EC-7, Seiten 265-267, Dezember 1958;
Sterbenz Floating Point Computation, Prentice-Hall 1974,
Seiten 71-75, 201-205;
Gray et al., AFIPS, Band 16, 1959, EJCC Proceedings,
Seiten 244-248;
>rush, US-Patent 3 160 857 und
Zaffignani, US-Patent 3 612 844.
JDie beiden Literaturstellen von Avizienis beziehen sich auf
imit Vorzeichen versehene Zifferndarstellungen von Zahlen.
'Da jede bedeutsame Ziffer aus einer Größe und einem zugeordneten Vorzeichen besteht, macht dies Parallelverarbeitung
möglich. Bei Parallelverarbeitung gibt es keine übertragsübertragungsketten,
wie dies bei anderen codierten Zahlenformaten der Fall ist. Das Fehlen von Übertragsketten leitet
sich aus der Tatsache ab, daß die sich ergebende Ziffer das !Produkt aus nur einem entsprechenden Ziffernpaar ist. Das
,beschränkt jedoch die Anwendbarkeit dieses Verfahrens auf leine Arithmetik mit aus Größe und Vorzeichen bestehenden
!Ziffern.
lAvizienis lehrt dabei die Verwendung von unverwechselbar !codierten Symbolen, die den Ordnungsrang nichtbedeutsamer
Ziffern 0 für mit Vorzeichen versehene, aus Ziffern bestehende Zahlen anzeigen. Er beschreibt dabei eine Regel für die Kombination
eines Ziffernpaars des i-ten Ranges, wobei beide Ziffern keine bedeutsamen Ziffern sind oder von gemischter Bedeutsamkeit
sind. Dies wird symbolisch ausgedrückt als n.+0.=0. und 0^+0 J8Hi1. Diese Beziehung zeigt, daß die sich
dabei ergebende Ziffer dann keine bedeutsame Stelle ist, {wenn mindestens eine der zu kombinierenden Ziffern nicht
[bedeutsam ist.
sä 976 046 809 882/0 8 08
In den Aufsätzen von Sterbenz und Gray wird die Verfolgung der Bedeutsamkeit von Ziffern durch Verwendung von Zahlen
beschrieben, die je aus einem numerischen Teil und aus einem die führenden Nullen anzeigenden Teil bestehen. In dem
Schema nach Gray werden die nicht-signifikanten Stellen gekürzt. Dabei ist die Tatsache interessant, daß dabei Genauigkeit
für eine konstante Anzeige, wie genau das Ergebnis ist, eingetauscht wird.
Das US-Patent 3 160 857 verwendet die höchste Ziffernposition
der bedeutsamen Ziffern als Index für die Zeit, die für eine serielle Übertragung von Daten variabler Länge aus einem
Pufferspeicher aufzuwenden ist. In der US-Patentschrift 3 612 844 wird von einer Vorcodierung und Positionierung
zur Bestimmung der Genauigkeit von über eine Tastatur eingegebenen Daten Gebrauch gemacht. j
Zusammenfassung der Erfindung ;
Aufgabe der Erfindung ist, die aus dem Stande der Technik j bekannten Verfahren und Anordnungen zur Durchführung arith- I
metischer Operationen mit einem Paar Operanden zu verbessern, '
I ,deren nicht-bedeutsame Ziffern in unverwechselbarer Weise j
!derart codiert sind, daß der genauere der beiden Operanden jbis zur geringstwertigen Ziffernposition des weniger genauen
Operanden gerundet wird.
Dabei soll die Bedeutsamkeit der Ziffern bei der Mehrfach-Bit-Darstellung
(BCD) dezimaler Ziffern festgestellt werden, die sich aus Operationen wie Addition, Subtraktion oder
Verschiebung inbezug auf eine erste Zahl J=Ii1 (n-1) 1 (n-2) 1 ... (n-k) 1
lund einer zweiten Zahl N2=n2(n-1)2(n-1)2···(n"k)2 ergeben,
!wie sie beispielsweise der arithmetischen Einheit eines jDezimalrechners zugeführt werden, wobei die Operation Λ
jeine dritte Zahl N3=H3(n-1)3(n-2)3...(n-k)3 ergibt.
SA 976 046 809882/0808
Die Erfindung baut auf verschiedenen Beobachtungen auf. Diese !Beobachtungen sind folgende:
1. Werden die Ziffern von Dezimalzahlen in einem Mehr-Bit-Xlode
mit überschüssiger Kapazität dargestellt, dann läßt !sich solche überschüssige Kapazität in Form von unverwechsel-'
baren Symbolen der Bedeutungslosigkeit von Ziffern zuordnen.
2. Die logische/arithmetische Kombination der entsprechenden Ziffer (n-k) zweier verschiedener Zahlen (n-k)1, (n-k)2, von
denen mindestens eine nicht signifikant ist, liefert eine Ergebnisziffer (n-k),, die ebenfalls nicht signifikant ist.
3. Ein Übertrag C kann über j nicht-bedeutsame Ziffern von (n-k) nach [n-(k-j)] für solche Operationen bei Subtraktion
weitergeschoben werden, die komplementäre Addition verwenden.
;4. Ein Übertrag c kann von (n-k) nach [n-(k-1)] nur dann [übertragen werden, tvenn eine Ziffer eines Ziffernpaares
jnicht-signifikant ist und die Größe der signifikanten Ziffer bine Rundungsregel befriedigt, so daß eine Rundung erfolgt,
wenn eine Ziffer einen Schwellwert b überschreitet.
biese Beobachtungen führen zu einem neuartigen Verfahren jund entsprechenden Anordnungen. Das neue Verfahren besteht
jdarin, daß jede nicht-signifikante Ziffer in N.. und N„ mit
einer unverwechselbaren Mehr-Bit-Darstellung (I), z. B.
= 8939II, N2 = O35III multipliziert und dann die Zahlen
SL und N2 derart arithmetisch kombiniert werden, daß für
jedes Paar bedeutungsvoller Ziffern der gleichen Ordnungszahl (n-k)., ß(n-k)2ß übertragswert [n-(k+1)] =(n-k)3 plus Übertragswert
wird. Außerdem wird für jedes Ziffernpaar der gleichen Ordnungszahl, dann, wenn mindestens eine Ziffer
976 046 . 809882/0808
nicht-signifikant ist, die sich ergebende Ziffer nichtsignifikant sein. Schließlich wird für jedes Ziffernpaar
der gleichen Ordnungszahl, wenn eine Ziffer signifikant und von einer durch eine Rundungsregel bestimmten Größe ist,
während die andere Ziffer nicht-signifikant ist, der übertragswert
in die Ziffernposition der nächst höheren Ordnung weitergeschoben, wodurch die genauere der beiden Zahlen
bis auf die geringstwertige Ziffernposition der weniger genauen Zahlen gerundet wird. Dazu ein Beispiel:
Es sei
1^=893911, N2=O35III, b=5, für ^+N3=N3
1 1 Übertrag
8939II N1 direkte Addition
+ O35III N2
929III
Das zuvor erwähnte Verfahren und die dafür brauchbare Anordnung ist auf die Addition gerichtet. Zur Durchführung einer
Rundung und einer Subtraktion durch komplementäre Addition in einem Durchgang muß bei Durchführung dieser Differenzbildung
ein zweites binäres Übertragssignal eingesetzt werden. Der zweite Übertrag (AB) wird eingesetzt bei örtlichem überjlauf,
bei einem nicht-signifikanten Subtrahenden oder einem nicht-signifikanten Minuenden und einem Subtrahenden, der
kleiner ist als die durch die Rundungsregel festgelegte Größe. Die Rundung und die Weiterübertragung des Übertrags
sind in dem nächsten Beispiel angegeben:
SA 976 °46 809882/0808
Es sei | N1 | = Minuend M | 9837II | CB = übertrag Borger |
N2 | = Subtrahend S | 56OIII | AB = AntiÜbertrag Borger | |
424III | R = Ergebnis | |||
Direkte Subtraktion | 999999 | Zehner Komplement Addition | ||
M: | AB: 1111 | |||
S: | 56OIII | M: 983III | ||
R: | S1: 439III | |||
Basis -1 | CB: 1111 | |||
Komplement | ||||
S: | R: 424III |
S1: 439III
Für Addition und Subtraktion werden beide Überträge (CB oder AB), wo dies angezeigt ist, über j nicht-signifikante Ziffernstellen
von (n-k) nach (n-k-j) weiter übertragen. Die Addition mit Zehner-Komplement besteht darin, daß von S das
;9er Komplement gebildet und eine Übertragsweitergabe über die [Ζiffern geringster Wertigkeit erzwungen wird.
!im Gegensatz zum Stand der Technik kann diese Erfindung mit
Vorteil in jedem Dezimalrechner eingesetzt werden und verträgt sich auch mit der arithmetischen Verarbeitung von
|Ziffernpaaren. Bei Einsatz der vorliegenden Erfindung werden
Idle nicht-signifikanten Stellen der sich ergebenden Zahlen
!automatisch erhalten. Verfahren und Anordnung gemäß der
!Erfindung sind mit der Festkomma- oder mit der Gleitkommabarstellung
verträglich.
Die Erfindung wird nunmehr anhand von Ausführungsbeispielen in Verbindung mit den beigefügten Zeichnungen im einzelnen
erläutert.
SA 976 046
809882/0808
In den Zeichnungen zeigt
Fig. 1 eine mehrstufige, dezimale Addier/Subtrahierschaltung,
die mit BCD codierten Ziffern arbeitet und in ihrer logischen Schaltung so
abgewandelt ist, daß sie die vorliegende Erfindung enthält, :
Fig. 2 ein Blockschaltbild einer einzelnen Stufe '
der Addier/Subtrahier-Schaltung und
Fig. 3 Schaltungen zum Feststellen der nicht-signi- ,
fikanten Ziffern I und zur Feststellung der Bedeutsamkeit der sich ergebenden Ziffer. .
Ferner ist ein Netzwerk gezeigt, das eine besondere Art von Übertrags-Fortschreibung eines .
Operanden ermöglicht. In diesem Zusammenhang wird auch eine Schaltung für die auf örtlichen
überlauf zurückzuführende doppelte ,
Übertragsweitergabe gezeigt. !
Beschreibung der bevorzugten Ausführungsform
l
Wie bereits erwähnt, leitet sich das Aufsuchen und Beibe- '
'halten der Bedeutsamkeit von Ziffern bei einer Reihe von mit jBit-Paaren mehrzifferiger Operanden durchgeführten binären
Operationen daraus ab, daß man bei diesen Berechnungen Fehler jin der Arithmetik vermeiden will. Es ist bekannt, daß die
Zuordnung unverwechselbarer Codes zu nicht-signifikanten Ziffern und die Durchführung von Addition oder Subtraktion
mit solchen Zahlen in der Vergangenheit zur Kürzung oder Streichung von niedrigwertigen Ziffern geführt hat. Dabei
wurde nicht notwendigerweise eine Rundung vorgenommen. In !dieser Hinsicht ist eine Kürzung das Streichen einer Anzahl
ivon Ziffern bei einer genau angegebenen Ziffer, während
SA976 O46 809882/0806
ι - 17 -
'Rundung die Auf- oder Abrundung der letzten signifikanten,
!in der Zahl verbleibenden Ziffer darstellt. Wenn man beispielsweise die Dezimalzahl 2,7561 auf drei Ziffern kürzt,
j so erhält man 2,75, während man bei Rundung 2,76 erhält.
Fig. 1 zeigt eine mehrstufige dezimale Addier/Subtrahierjschaltung.
Die Operation von Addition oder Subtraktion wird idurch Anlegen der entsprechenden Werte von 0 oder 1 über
jLeitung 3 gleichzeitig an alle Stufen gesteuert. Jede Stufe !liefert in Abhängigkeit von einem Operandenpaar, das dem
!'Eingang M (Minuend) oder dem Eingang S (Subtrahend) zugeführt wird, eine Resultatsziffer R. Im Fall der Addition
kann ein Übertrag C nach einer nächst höheren Stufe erzeugt
iwerden. Für Subtraktion durch komplementäre Addition können
!zwei Überträge (CB und AB) von Stufe zu Stufe weiter übertragen werden. Ein Beispiel einer Dezimal-Addier/Subtrahierschaltung
mit BCD-Codierung und Übertrags-Vorausschau findet iman in US-Patentschrift 3 629 565.
Fig. 2 zeigt ein Blockschaltbild einer einzigen Stufe 31 der dezimalen Addier/Subtrahierschaltung. Die Stufe besteht
aus einer Steuerlogik 11, einer dezimal-arithmetischen Einheit
15 für eine Ziffer und einer Manupulationseinheit 19 für das dezimale Ergebnis. Ein über Leitung 3 zugeführtes
Signal 1 oder 0 bestimmt, ob die einzelnen Bits der über die Operanden-Eingangsleitungen 23 und 1 zugeführten Ziffern
in der dezimalen arithmetischen Einheit 15 durch Addition oder Subtraktion kombiniert werden sollen. Die arithmetische
Einheit 15 führt in einer einzigen Stufe signifikante Arithmetik durch und besitzt eine Code-Kombination für nichtsignifikante Ziffern. Die arithmetische Einheit hat eine
solche Kapazität, daß das Ergebnis R, wenn es eine negative JZahl ist, in einer von zwei Komplementärformen dargestellt
werden kann.
SA 976 O46 809882/0806
- 1b -
Die Steuerlogik 11 hat zwei Dezimalziffern-Eingänge 23 und 1,
die ebenfalls logisch mit M und S bezeichnet sind. Ein auf Leitung 3 ankommendes Signal bestimmt, ob die durchzuführende
Operation eine Addition (0) oder eine Subtraktion (1) sein soll. Die Logik 11 bestimmt/ ob die Ziffer aus M oder S
nicht-signifikant ist (I) und zwingt das Ergebnis durch die Manupulationseinheit 19. Die Logik 11 untersucht auch auf
Ziffernsignifikanz-Nichtübereinstimmungen und bestimmt, ob auf Leitung 25 oder auf Leitung 29 ein nach einer anderen
Stufe führendes Signal erzeugt werden soll. Die Übertragssignale (CB. von der Stufe nächst niedriger Ordnung) kommen
über Leitung 5 an und werden der Steuerlogik 11 und der
arithmetischen Einheit 15 zugeleitet. Der über Leitung 7 von der i-1. Stufe ankommende Übertrag AB. wird jedoch nur der
Steuerlogik 11 zugeleitet. Dabei sind die Ausdrücke
i + 1., i-te und i - 1. die gleichen wie die entsprechenden
Ausdrücke [n-(k-1)], (n-k), [n-(k+1)].
Es sei darauf hingewiesen, daß die übertragung eines Übertrags
(CB. .j) nach der i + 1. Stufe nicht nur durch die
arithmetische Kombination der Operanden in der arithmetischen Einheit, sondern auch durch die Steuerlogik 11 bestimmt wird.
Dies wird durch die von der Steuerlogik 11 und der arithmetischen Einheit kommenden Leitungen 13 bzw. 14 ausgedrückt,
!die nach einem ODER-Glied 27 führen, an dem die übertragsjleitung
29 angeschlossen ist. Der zusätzliche übertrag , (AB. .j) wird durch entsprechende logische Signale auf
Leitung 25 nach der i + 1. Stufe unmittelbar erzeugt.
Am Ausgang der dezimalen arithmetischen Einheit sind vier Bit-Leitungen 17 angeschlossen, die nach der Manipulationseinheit 19 führen. Obgleich die über Leitung 17 laufenden
|Ziffern bereits im BCD-Format sein können, so gibt es doch ^einige Fälle, bei denen die tatsächlichen Ergebnisziffern R
SÄ976046 809882/0808
OFKGlNAL !NSPEC"EO
geändert werden müssen. Dies ist der Fall, wenn durch ein Paar Überträge von der i - 1. Stufe ein örtlicher Überlauf
eingetreten ist. Die Manipulation in der Manipulationseinheit 19 wird durch die Steuerlogik 11 durch über Leitung 9
zugeführte Steuersignale gesteuert.
Obgleich die Erfindung sich auf verschiedene übliche Zahlendarstellungen
bezieht, wenn nur die Codierung der Ziffern eine ausreichend große überschüssige Kapazität aufweist, so
daß eine nicht-signifikante Ziffer explizit dargestellt werden kann, so ist es doch offensichtlich, daß die hauptsächliche
Bedeutung bei einer Darstellung von Dezimalzahlen ;im Basiskomplement liegt. Vorzeichen-Größe-Arithmetik
definiert eine Summenoperation, die entweder aus der Addition
zweier Zahlen mit gleichem Vorzeichen oder aus einer Subtraktion zwischen zwei Zahlen mit verschiedenen Vorzeichen
besteht. In gleicher Weise ist eine Differenzoperation ent-(weder eine Subtraktion mit zwei Operanden, d. h. Zahlen mit
(gleichen Vorzeichen, oder die Addition von zwei Zahlen mit verschiedenen Vorzeichen. Die Differenzoperation ist dadurch
durchführbar, daß von der zweiten Zahl (Subtrahend) der ^omplementwert gebildet wird, der dann zum ersten Operanden
!(dem Minuenden) hinzu addiert wird. Das Ergebnis wird in Komplementärform vorliegen, wenn die Größe des Subtrahenden
jrößer ist als die Größe des Minuenden. Dieser Fall wird dadurch festgestellt, daß aus der Ziffer höchster Ordnung
icein Übertrag erfolgt. Damit wird aber eine Re-Komplement-Bildung
genannte Operation erforderlich. Die Re-Komplementisildung
wird dadurch erreicht, daß das vorhergehende Ergebnis von Null abgezogen wird, so daß man als Ergebnis die Größe
mit richtigem Vorzeichen erhält.
i
i
Die im einzelnen in Fig. 3 dargestellte bevorzugte Ausfuhr
ungsform arbeitet mit BCD-Codierung, wobei
0000=0, 0001=1, 0010=2, ..., 1001 = 9 ist.
SA 976 046 . 809882/0806
Die Bit-Kombinationen "1O1O" und "1011" werden beide zur Darstellung
der nicht-signifikanten Ziffer "I" benutzt.
Wegen der Ähnlichkeit zwischen dem BCD-Code und dem reinen binären Zahlensystem ist die Addition zweier dezimaler
BCD-codierter Ziffern der Addition von zwei Binärzahlen sehr ähnlich. Es ergeben sich jedoch immer dann Schwierigkeiten,
wenn die Summe zweier Dezimalziffern und eines von der nächst niederigen Ziffernposition kommenden Übertrags größer als 9
ist. Liegt insbesondere die Summe im Bereich zwischen 10 und 15 einschließlich, dann wird die sich ergebende Binärzahl
durch 101O bis 1111 dargestellt, während die gewünschte Anzeige
für die im BCD-Code dargestellte Summe 0000 bis 0101 -. wäre, mit einem Dezimalübertrag nach der nächst höheren Stelle.
Wenn außerdem die Summe im Bereich zwischen 16 und 19 liegt,
dann liegt die sich dabei ergebende Binärzahl im Bereich zwischen 0000 und 0011, mit einem offensichtlichen übertrag !
zur Basis 16 oder der der Zahl 16 entsprechenden Binärposition.
Die entsprechende Kennzeichnung für die Summe im BCD-Code wäre 0110 bis 1OO1, wiederum mit einem Dezimalübertrag.
Beim Kombinieren zweier BCD-codierter Operanden durch Arithmetik zur Basis 16 muß, wie bei den meisten üblichen Addierschaltungen
zu dem auf Basis 16 erzielten Ergebnis, eine Korrektur durchgefülirt werden. Wenn beispielsweise das Dezimalergebnis
größer als 9 ist, dann müssen die Ziffern 10 bis 15 übersprungen werden und es muß ein dezimales übertrags-
jsignal erzeugt werden. In einer gewöhnlichen arithmetischen
Einheit, wie zum Beispiel im IBM System /360 Modell 40, (wird zu einer der in einen Addierer auf Basis 16 einlaufenden
^CD-Ziffer eine 6 hinzu addiert. Ist das Dezimalergebnis
größer als 9, dann ist das Ergebnis zur Basis 16 richtig, bbenso der übertrag. Ist das Dezimalergebnis jedoch 9 oder
Veniger, dann muß die hinzu addierte 6 wieder abgezogen
SA 976 046 809882/0806
werden, wodurch das Ergebnis zur Basis 16 dezimal korrigiert wird. Die Korrektur kann in der Weise durchgeführt werden,
daß unter Nichtbeachtung des Übertrags binär 1010 (dezimal 10) hinzu addiert und 16 abgezogen wird.
Bei DezimalSubtraktion durch Addition des 10er Komplements
:wird das 9er Komplement einer gegebenen Dezimalzahl als die Zahl definiert, die durch Subtraktion jeder Ziffer der gegebenen
Zahl von 9 erhalten wird. So ist beispielsweise das 9er Komplement von 8206 = 9999-8206=1793. Für die Subtraktion
von B von einer anderen n-stelligen Zahl A genügt es, das 9er Komplement von B herzustellen, dann mit erzwungenem übertrag
zu addieren. Wenn A negativ ist, dann tritt es in i9er Komplementform auf. In gleicher Weise wird B zunächst dann,
wenn es negativ ist, in 10er Komplementform auftreten, doch wird durch die Komplementbildung und in erzwungenem Übertrag
B in die wahre Form überführt, so daß die Subtraktion einer negativen Zahl der Addition einer positiven Zahl äquivalent
'ist. Es genügt hierbei darauf hinzuweisen, daß das Auftreten oder Fehlen eines Übertrags in der höchsten Stelle bei
komplementärer Addition dafür benutzt werden kann anzuzeigen, ob die Differenz das gleiche Vorzeichen hat, wie der Minuend.
I Ein Überlauf kann sich bei einer Subtraktion dann ergeben, 'wenn A oder B negativ ist, jedoch nicht, wenn beide negativ
sind.
IFig. 3 zeigt Schaltungen für die Feststellung nicht-signifi-1
kanter Ziffern I und für die Ermittlung der Bedeutung der resultierenden Ziffer. Außerdem ist ein für die besondere
durch Übertrag erfolgende Erhöhung eines Operanden abgewandeltes Additionsnetzwerk gezeigt. In diesem Zusammenhang
zeigt diese Figur auch Detektorschaltungen für die Weiterleitung von doppeltem Übertrag.
SA 976 °46 809882/0808
Bei der Durchführung des Verfahrens gemäß der Erfindung und dem Aufbau der entsprechenden Schaltung für einen Durchgang
für BCD und ähnliche Zahlendarstellungssysteme ergab sich, daß ein zweiter Übertrag zwischen den Stufen erforderlich
ist, daß ein örtlicher überlauf auftreten kann und daß ein erzwungener übertrag während einer Subtraktion zur
komplementären Basis oder eine entsprechende ringförmige übertragung
des Übertrags für Subtraktion mit vermindertem komplementären Basiswert über mehrere nicht-signifikante
Ziffernpositionen durchgeführt werden muß. Unter Berücksichtigung dieser Gesichtspunkte sollte auf Fig. 3 gleichzeitig
mit Fig. 2 hingewiesen werden.
In Fig. 3 sind die hauptsächlichsten Steuerschaltungen gemäß Fig. 2 in gestrichelten Umrandungen dargestellt, nämlich die
Steuerlogik 11, die arithmetische Einheit 15 und die Manipulationsschaltung
19. Die BCD-codierten Operanden bestehen
aus 4 Bit, die parallel über die entsprechenden Leitungen angelegt werden. Die Leitung 23 besteht dabei aus vier
Leitungen, die mit MS, M4, M2 und M1 bezeichnet sind und
damit die Gewichtung einer auf einem solchen Leiter auftretenden binären 1 angeben. In gleicher Weise besteht die
Leitung 1 aus den Leitern S8, S4, S2 und S1. Die Bezeichnungen M und S sind bei der Subtraktion durch komplementäre Addition
von erstrangiger Bedeutung, so daß der Minuend und der Subtrahend in jeder Hinsicht leicht zu unterscheiden sind.
Die auf der Leitung 23 auftretenden Bits werden gleichzeitig den entsprechend bezeichneten Eingängen an verschiedenen
Orten der Steuerlogik 11 und den Exclusiv-ÖDER-Gliedern
203 zugeleitet, die die dezimal-arithmetische Einheit ansteuern. Von einigem Interesse ist hier die Tatsache, daß
die auf Leitungen 5 und 7 auftretenden, den Übertrag
zwischen den Stufen darstellenden Eingangssignale CB. und
ΑΒ± dem UND-Glied 83 zugeleitet werden, das an der Erzeugung
SA 976 O46 009682/0808
eines örtlichen ÜberlaufsSignals beteiligt ist. Es sei ferner
darauf verwiesen, daß die Steuerung einer Addition/Subtraktion
auf der Leitung 3 bei der Erzeugung des den Übertrag AB. .. auf Leitung 25 erzeugenden Anti-Borge-Signals eingeschaltet
ist, das nach der Stufe nächst höherer Ordnung eingekoppelt wird. In gleicher Weise wird der normale Übertrag zwischen
den Stufen CB .. vom ODER-Glied 27 über Leitung 29 nach der
nächst höheren Stufe übertragen.
Zunächst muß bestimmt werden, ob es sich um bedeutsame oder nicht-bedeutsame Ziffern handelt. Dies wird für die M-Ziffer
in einfacher Weise dadurch erreicht, daß die Bits M8 und M2 dem UND-Glied 51 zugeführt werden, während die Bedeutsamkeit
oder Signifikanz der S-Ziffer dadurch geprüft wird, daß
die Bits S8 und S2 dem UND-Glied 73 zugeleitet werden. Da, wie bereits erwähnt, die nicht-signifikanten Ziffern zuvor
entweder als 1010 oder 1011 codiert waren, wird das Auftreten einer 1 in der zweiten und vierten Bit-Position auf den
Leitungen 52 und 74 eine Anzeige über Nicht-Signifikanz liefern. Diese Signale sind dann M-IS-I oder S-IS-I. Die
Leitungen 52 und 74 sind am Eingang eines ODER-Gliedes 75 angeschlossen, das ausgangsseitig an einem Eingang der
ODER-Glieder 152 und 155 und eines UND-Gliedes 153 der Resultat-Manipulationsschaltung 19 angeschlossen ist. Verfolgt
man diesen Weg, so erkennt man, daß das Resultat auf Leitung ä 21 mit den entsprechenden Bit-Leitern R8, R4, R2 und R1 ,
'BCD-codiert ist. Diese Bit-Leiter werden durch entsprechende
UND-Glieder 159, 161, 163 und 165 angesteuert. Dabei ist hier von Interesse, daß dann, wenn mindestens eine der ι
Ziffern M oder S nicht-signifikant ist, die sich ergebende i ,Resultatziffer R ebenfalls nicht-signifikant ist. Eine 1 auf
'der Leitung 76 zeigt an, daß entweder M oder S nicht-signifi- \
'kant ist und hat zur Folge, daß eine 1 über ODER-Glieder 152 ,bis 155 nach den entsprechenden UND-Gliedern 159 und 163 über-1
tragen wird. Ist kein örtlicher Überlauf vorhanden, dann ι
SA 976 O46 809882/0808
liegt an dem anderen Eingang des UND-Gliedes eine 1. Dies
bewirkt, daß in den Bit-Positionen R8 und R2 eine 1 auftritt. ;
In der Bit-Position R4 tritt eine 0 auf, daß das von den Leitungen 76 kommende Eingangssignal invertiert wird, wodurch
das UND-Glied 153 und das UND-Glied 161 gesperrt j werden. Die Resultat-Ziffer R ist daher entweder als 101O
oder 1011 codiert. ,
Ein weiterer Fall, bei dem die Resultat-Manipulationsschaltung ]
das gewöhnliche, arithmetische Ausgangssignal der dezimalarithmetischen Einheit 15 verändert, liegt während des Auf- ;
tretens eines örtlichen Überlaufs vor. Ein örtlicher Über- !
lauf ist das gleichzeitige Auftreten einer 1 auf beiden die ι Stufen miteinander verbindenden Übertragsleitungen 5 und 7, '
gleichzeitig mit der M-Ziffer 9 und der S-Ziffer 0, d. h.
daß in keiner der Bit-Positionen S8, S1 eine 1 auftritt. Dies wird dadurch erreicht, daß die Bits der Ziffer M dem !
UND-Glied 61 zugeführt werden. Am Ausgang dieses UND-Gliedes . tritt auf Leitung 62 nur dann als Ausgangssignal eine 1 auf, j
wenn die Bit-Kombination 1001 vorhanden ist. In gleicher I Weise liefert das NOR-Glied 63 auf Leitung 64 nur dann eine 1
als Ausgangssignal, wenn keines der Bits der Ziffer S eine |
1 ist. Die Leitungen 62, 64, 5 und 7 sind gleichzeitig am :Eingang des UND-Gliedes 83 angeschlossen, und wenn auf allen
'diesen Leitungen gleichzeitig eine binäre 1 auftritt, dann tritt auf der Ausgangsleitung 84 ebenfalls eine binäre 1 auf.
,Die Leitung 84 ist an der Sperrtorschaltung 157 angeschlossen, deren Ausgang parallel an den UND-Gliedern 159, 161, 163 und
!165 der Resultats-Manipulationsschaltung 19 angeschlossen !sind. Daraus folgt, daß bei örtlichem Überlauf diese UND-Glieder
gesperrt werden, so daß jedes Bit der Ziffer R eine 0 sein wird. Nebenbei bemerkt sind die Leitungen 76 und 84
lein Teil der Steuersignale auf Leitung 9 in Fig. 2. ι
SA 976 046
609882/0806
ι
I
I - 25 -
I
I - 25 -
Zur Rundung ist zu bemerken, daß sie aus dem Weglassen der I letzten signifikanten Ziffer oder der letzten signifikanten
'Ziffern einer Zahl und der Anpassung des verbleibenden ,Teils der Zahl gemäß einer Regel besteht. Dies kann entweder
vor oder gleichzeitig mit einer arithmetischen Operation mit dem Operanden durchgeführt werden. Dabei gibt es drei
Bedingungen, die von der Art des Operanden in der Ziffern-
!position unmittelbar rechts von der am äußersten rechten Ende !liegenden signifikanten Ziffernposition des Resultats abhängen,
Jim ersten Fall wird keine Rundung erforderlich sein, da die
!fragliche Ziffernposition eine 0 ist (die geringstwertige !signifikante Ziffernposition ist die äußerste rechte Position
oder beide Operanden-Ziffern sind I). Im zweiten Fall
,muß die geringstwertige Ziffernposition des ersten Operanden
'den übertrag aufnehmen, der sich aus der Rundungsoperation
der nächst niedrigeren Ziffer ergibt. Das ist dann der Fall, jwenn die zweite Operanden-Ziffer unmittelbar rechts entweder
1O oder I ist. Im dritten Fall muß die zweite Operanden-Ziffer
der geringstwertigen Ziffernposition selbst gerundet jwerden, da die Position unmittelbar rechts entv/eder die
'rechte Operanden-Ziffer I ist oder nicht vorhanden ist. Der
.Fall der fehlenden Ziffernposition kann in den Fällen 2 und j3 dann auftreten, wenn bei Gleitkomma-Addition oder -Sub-
fraktion ein Operand für eine Vornormalisierung nach rechts
erschoben wird.
JDas Durchführen einer Rundungsoperation vor der arithmetischen
Kombination eines Operanden ist unbefriedigend. In einer Datenverarbextungsanlage mit nur einem Akkumulator !
kann der genauere Operand wegen der Rundung eine Veränderung erfahren. Der zweite Operand liegt im Speicher und eine i
änderung ist nicht zu erwarten. Außerdem ist vorhergehende Rundung eine Zeitverschwendung, da damit zwei Durchläufe
rch die arithmetische Einheit notwendig werden könnten.
97e °46 809882/0808
In der vorliegenden Erfindung werden BCD-codierte Zahlen
einer arithmetischen Einheit eines Dezimalrechners zugeleitet. Für jedes Paar signifikanter Ziffern der gleichen Ordnung
gilt: In-R)1,ß(n-k)2ß übertragswert (n-k) = (n-k)3 + übertragswert
[n-(k-1)]. Ebenso ist für jedes Ziffernpaar der gleichen Ordnung, bei dem mindestens eine Ziffer nichtsignifikant ist, die Resultat-Ziffer ebenfalls nicht-signifikant.
Dies war im Zusammenhang mit dem erzwungenen I in Fig. 3 beschrieben worden.
Wenn bei einer Summenbildung gleichzeitig eine Rundung durchgeführt
wird, dann wird für jedes Ziffernpaar der gleichen Stelle, die bezüglich ihrer Signifikanz nicht übereinstimmen
und wo die signifikante Ziffer einen vorbestimmten Betrag entsprechend einer vorgegebenen Rundungsregel übersteigt,
ein übertragswert nach der nächst höheren Ziffernposition
übertragen. Für gleichzeitige Rundung bei denjenigen Subtraktions-Operationen, die komplementäre Addition verwenden,
wird ein übertragswert über j nicht-signifikante Ziffernstellen von "n-k" nach "n-(k-j)" übertragen. Zur
gleichzeitigen Rundung bei Summenbildung soll folgendes Beispiel dienen:
übertrag 11
M 8939II Direkte Addition
S O35III
Resultat R 929III
Zur Darlegung der Regel sei bemerkt, daß dann, wenn beide Operanden-Ziffern I sind, die Resultat-Ziffer ebenfalls I
1st. Ist eine Operanden-Ziffer I und die andere ist es nicht, ;dann ist die Resultats-Ziffer I, wie zuvor. Bei gegebener
Nicht-Übereinstimmung der Signifikanz einer Ziffer, und wenn die signifikante Ziffer größer als 4 gemäß einer Rundungsregel ist, dann wird ein übertrag erzeugt und nach der
nächsten Stufe übertragen.
976 °46 80 9 8 8 2/0806
Für gleichzeitig mit einer Differenzbildung durchgeführte Rundung wird die Regel abgewandelt/ abhängig davon, ob die
am weitesten links stehende nicht-signifikante Ziffer zum
Minuenden oder zum Subtrahenden gehört. Wenn die am äußersten
linken Ende stehende I-Ziffer im Minuend liegt, und wenn sie
größer als ein vorbestimmter Betrag B ist, dann wird ein Borger übertragen. Dies soll durch das folgende Beispiel
erläutert werden:
M 941311
S 080271 Direkte Subtraktion
Borger CB 1 1 Verwendung eines Übertrags Resultat 861011
Ist die äußerste linke nicht-signifikante Ziffer eine Subtrahend-Ziffer, dann wird ein der Polarität des Minuenden
entsprechendes Signal zwischen den Stufen dann erzeugt, wenn der Minuend gerundet werden soll. Dieses Signal soll hier als
lAnti-Borge-Signal bezeichnet werden. Dazu das nächste
!Beispiel:
Direkte Subtraktion Verwendung von zwei Überträgen
Es ist klar, daß zwei Gewichtungen der zwischen den Stufen übertragenen Signale für eine Differenzbildung notwendig sind,
wenn eine gleichzeitige Rundung durchgeführt werden soll. jBei der beispielsweise durch Avizienis definierten Arith-
|metik mit mit einem Vorzeichen versehener Ziffern-Signifikanz 'läßt sich dies einfach durchführen. Bei mit Vorzeichen versehener
Ziffern-Arithmetik nach Avizienis werden zwischen
iden Stufen Überträge mit drei Werten verwendet, nämlich 'mit den Gewichtungen +1, 0 und -1. Die für gleichzeitige
Anti-Borge | AB | 1 |
M | 941371 | |
S | O8O2II | |
CB | 1 | |
Resultat | 8612II |
SA 976 O46 809882/0806
Rundung bei Differenzbildung unter Verwendung von direkter
Subtraktion anzuwendenden Regeln sind folgende:
M. und S. signifikant sind, dann
ist (1) R1= (Mj^AB1)-(S1-I-CB1)
(2) ABi+1 «= 1, wenn AB. =1, M= 9 und S=O
(3) CB1+1 = 1, wenn (M
(D | Ri | =1 | und |
(2) | = 1 | und | |
(3) | =1 | und |
Wenn mindestens eine Ziffer von M + S I ist, dann wird
wenn M=I und 4<S.-9
< ·*· wenn 4<M-9 und S=I
CB1+1=AB1+1=O, wenn M=S=I
In den vorhergehenden Absätzen wurde die Beschreibung
anhand von Ausdrücken der Arithmetik mit Vorzeichen behafte- ,
ten Größen beschrieben. Bei gleichzeitiger Rundung bei einer i
durch Komplementär-Addition, wie z. B. bei Subtraktion mit '
10er Komplement durchgeführten Subtraktion, ist das ziffern- ,
weise Komplement des Subtrahenden gleich dem Komplement i
zur Basis -1. Dieses wird zu dem Minuend addiert mit einem '
Übertrag, der durch das AB.-Signal erzwungen wird. Der andere ,
!Übertrag CB wird für den normalen übertrag und für die Auf- I
'rundung des Minuenden aufbewahrt. Soll statt dessen der '
ι Subtrahend aufgerundet werden, so läßt sich das durch Sperren .
.des AB-Signals erreichen. Bei den folgenden Beispielen für ]
\ Subtraktion durch komplementäre Addition soll das Komplement
zur Basis -1 eines Subtrahenden S durch S* dargestellt
werden. In diesen Fällen wird sowohl die direkte als die | !komplementäre Subtraktion dargestellt. In diesem Beispiel ist: '
zur Basis -1 eines Subtrahenden S durch S* dargestellt
werden. In diesen Fällen wird sowohl die direkte als die | !komplementäre Subtraktion dargestellt. In diesem Beispiel ist: '
SÄ976046 809882/0806
'Wenn in der i-ten Stufe M.=s;=I oder S=I, dann ist AB
Direkt
M: 9837II S: 56IIII R: 42IIII
M: 9837II S: 56IIII R: 42IIII
iBasis -1
I S:
! -S1S
I S:
! -S1S
999999 56IIII 43IIII
Komplement | |
AB: | 11111 |
M: | 9837II |
S1: | 43IIII |
CB: | 11 |
R: | 42IIII |
'Das nächste Beispiel zeigt, daß beim Aufrunden einer Minuenden-'
,Ziffer die Notwendigkeit für die doppelte Weitergabe eines {Übertrags entsteht.
Direkt M: 9837II S: 56OIII |
424III | AB: M: |
Komplement 1111 9837II |
R: | 999999 56OIII |
S1: CB: |
439III 1111 |
Basis -1 S: |
439III | R: | 424III |
S1S |
In diesem letzten Beispiel hatte der Subtrahend insignifikante Ziffern, die die signifikanten Ziffern des Minuenden überlappten.
Wegen der Ziffer 7 ergab die Rundung des Minuenden ein erstes CB-Signal. In der dritten Zifferposition von
links erkennt man, daß beide Ubertragssignale innerhalb der Stufen erforderlich sind, wenn die Subtraktion durch
komplementäre Addition bei einem einzigen Durchlauf durch die Addiarschaltung durchgeführt werden soll.
SA 976 046
809882/0808
In einem vorhergehenden Beispiel haben die signifikanten Ziffern von M nicht-signifikante Ziffern von S überlappt. Im
vorliegenden Fall überlappen signifikante Ziffern von S nichtsignifikante Ziffern von M. Hier muß ein übertrag AB bis
zur niedrigsten Ordnung einer signifikanten Ziffer übertragen werden. Das Aufrunden der Subtrahenden-Ziffer hat jedoch
hier die Wirkung, daß in dieser Ziffernposition die Resultat-Ziffer um 1 vermindert wird. Das Aufrunden der Subtrahenden-Ziffern
wird dann durchgeführt, wenn deren Wert größer ist als ein durch die Rundrungsregel festgelegter Wert. Bei
einer Arithmetik zur Basis 10 ist dies im allgemeinen dann der Fall, wenn die Ziffer einen Wert von 5 oder mehr hat,
d. h. 5, 6, 7, 8 oder 9 ist. Der Komplementärwert wird demnach
o, 1, 2, 3 oder 4 sein. Wenn daher die Ziffer S1 kleiner ist als 5 und die M-Ziffer I ist, dann sollte das
Signal AB. .. 0 statt 1 sein. Das sei wie folgt dargestellt:
Direkt | 9837III | AB: | Komplement |
M: | 5671928 | M: | 0101 |
S: | 4165III | S1 : | 9837III |
R: | CB: | 4328071 | |
R: | 11 1 | ||
9999999 | 4165III | ||
Basis -1 | 5671928 | ||
S: | 4328071 | ||
S1: |
!in komplementärer Arithmetik tritt ein sogenannter örtlicher
überlauf dann auf, wenn die M-Ziffer und die S'-Ziffer 9
sind, und jedes der Ubertragssignale eine 1 ist. Die Summe !für die Ziffernposition ist 20. Dies wird dadurch behandelt,
'daß man die Resultats-Ziffer R auf Null zwingt und AB. , und CB. .. beide gleich 1 macht. Dies zeigt das folgende
!Beispiel:
SA 976 O46 809882/0806
Direkt Komplement M: 1599II AB: 11111 S: O1OIII M: 1599II
R: 15OIII S1: 989III
CB: 1111
Basis -1 999999
S': 989III
In Fig. 3 wird die Übertragung eines Anti-Borge-Signals AB
zwischen den Stufen durch die UND-Glieder 85, 87 und 89 bewirkt, die ein ODER-Glied 91 steuern, an dem eine Ausgangsleitung
25 angeschlossen ist. Tatsächlich wird ein solcher Übertrag erzeugt, wenn entweder von den Leitungen 84 ein
örtlicher Überlauf auftritt, die Operation als Subtraktion durchgeführt wird und S nicht-signifikant ist, oder die
Operation als Subtraktion durchgeführt wird und M nichtsignifikant ist, und wenn dann auf Leitung 72 Rundung S
eine Null auftritt, die nach Inversion am UND-Glied 87 zu 1 wird. Für diejenigen Werte von S-4 oder kleiner wird
die Rundung von S auf Leitung 72 eine binäre 0 sein. Der entsprechende Viert von S1 ist 5 oder mehr.
■Der Wert von M wird ebenfalls dann aufgerundet,wenn M eine
oder größer ist, so dau auf der vom ODER-Glied 59
!kommenden Leitung 60 eine 1 auftritt. Man sieht, daß die jUND-Glieder 53, 55 und 57, die das ODER-Glied 59 ansteuern,
!mit ihren Eingängen M8, M4,M2 und M1 so angeordnet sind,
jdaß M β bis 5 durch ein Ausgangssignal des UND-Gliedes 57
!dargestellt wird. M = 6 oder 7 durchläuft das UND-Glied 55, Während der Wert für M » 8 das UND-Glied 53 durchläuft. Die
gleiche Analyse gilt für die UND-Glieder 65, 67, und 69 in
!Bezug auf S und S8, S4, S2 und S1.
976 046 809 882/08 06
Die UND-Glieder 77 und 79, und das ODER-Glied 81 definieren
eine von zwei logischen Bedingungen für die Erzeugung des anderen ÜbertragssignaIs CBi+.. Am Ausgang des ODER-Gliedes
tritt auf Leitung 13 dann als Ausgangssignal eine 1 auf, wenn
entweder S nicht-signifikant und M größer als 5 ist, oder wenn M nicht-signifikant und S größer als 5, und es sich um
einen Additionsvorgang handelt. Das UND-Glied 77 arbeitet
mit der ersten Bedingung, während das UND-Glied 79 mit der zweiten Bedingung arbeitet.
Bis jetzt wurden im Zusammenhang mit Fig. 3 die logischen Schaltungen für die Überträge AB und CB zwischen den Stufen
und der örtliche überlauf beschrieben. Die Steuerlogik 11
enthält außerdem Addierschaltungen 201 für die Addition von 6 und die Addition von 1 und außerdem die exklusiv
ODER-Glieder in dem Block 203 und 205. Diese Exklusiv-ODER-Glieder
steuern die binäre Addierschaltung 129 der arithmetischen Einheit 15 an. Die arithmetische Einheit enthält
außer der Addierschaltung eine Subtrahierschaltung für die Subtraktion von 6, welche auf die drei höchstwertigen Ziffern
am Ausgang der Addierschaltung 129, nämlich die Ziffern B8, B4 und B2 anspricht. Die am Ausgang der Schaltung 151
auftretenden drei Ausgangssignale D8, D4 und D2 werden jeweils dem zweiten Eingang des entsprechenden logischen
Gliedes 152, 153 und 155 zugeführt. Das Ausgangssignal B1 der binären Addierschaltung 129 liegt als zweites Eingangssignal
am UND-Glied 165.
Bei Durchführung dezimaler Arithmetik mit einem BCD-Code :(8, 4, 2, 1) versucht man, schaltungsmäßig unter Verwendung
!einer einfachen binären Addierschaltung in Modulo 10 !mit einem Code zu arbeiten, der an sich grundsätzlich
'Modulo 16 ist. Das Ausgangssignal B der binären Addier-
schaltung ist dann richtig, wenn die Summe der Operanden
SA 976 046 8098 82/0 8 06
; - 33 -
jkleiner ist als 10. Wenn jedoch B im Bereich zwischen 9<B<19
iliegt, dann läßt sich die Summe durch die Addition von +6 korrigieren. Eine solche Schaltung ist von Stone in
i"Introduction to Computer Architecture", Science Research
!Associates, 1975 auf den Seiten 108-111 beschrieben. Unglücklicherweise liefert diese bekannte Anordnung keinen übertrag,
,wenn B im Bereich 9<B<16 liegt. Für die Feststellung eines
'Solchen Ergebnisses ist tatsächlich eine besondere Logik-'schaltung
erforderlich. Im Gegensatz dazu wird in der bevorjzugten Ausführungsform der Erfindung für eine Addition eine
!6 automatisch zu einem der Operanden (dem Minuenden) hinzu addiert, dann wird eine hexadezimale Addition durchgeführt
und anschließend wird auf ein etwa vorhandenes übertrags- :signal geprüft. Ist kein Übertragssignal vorhanden, d. h.
wenn C auf der Leitung 14 = 0 ist, dann ist das Ergebnis B jnicht richtig und durch die Schaltung 151 wird von diesem
Ergebnis eine 6 abgezogen, wodurch die richtige Zahl D erzeugt wird. Wenn das Ausgangssignal C = 21 ist, dann wird
das der Schaltung 151 zugeführte Signal B nicht geändert und !läuft unverändert nach der Resultats-Manipulationsschaltung
'durch.
I ι
ι !
JFür die in Fig. 3 dargestellten Schaltungen 201 für die
'Addition von 6 und die Addition von 1 sei darauf hingewiesen, ι daß die Additionsstufen ADD6 und ADDl der Additionsschaltung
201 sich gegenseitig ausschließen. Das heißt, die Addition ι von 1 zu einem Minuenden tritt nur während einer Subtraktion
auf. Die Durchführung der Addition von +6 zum Minuenden i während einer Addition wird durch drei Gruppen von UND/ODER- i
Gliedern gesteuert. Diese Gruppen bestehen aus den UND-Gliedern 93, 95, 97 und dem ODER-Glied 99, den UND-Gliedern
|103, 105 und ODER-Glied 107 und den UND-Gliedern 109, 111 ι 'und dem ODER-Glied 113. Die Ausgangsleitung 100 der ersten
(Gruppe dient als Eingangsleitung für das Exklusiv-ODER-Glied :
101. Die Ausgangsleitung 102 der zweiten Gruppe dient als '
SA 976 O46 809882/0806
erste Eingangsleitung für das Exklusiv-ODER-Glied 115, während
die Ausgangsleitung 114 der dritten Gruppe als erste Eingangsleitung
eines Eklusiv-ODER-Gliedes 117 dient.
Durch eine auf der Leitung 3 liegende Null, die in der Inverterstufe 78 für eine über Leitung 4 übertragene 1 invertiert
wird, wird eine Additionsoperation aufgerufen. Die auf Leitung 4 auftretende 1 gibt die UND-Glieder 93, 95,
103 und 109 frei. Auf der Ausgangsleitung 100 tritt bei Addition dann eine 1 auf, wenn entweder die Bits M4, oder
M2 =1 und wenn M4, M2, M1 = 1 und S nicht-signifikant ist.
In gleicher Weise liegt auf der Ausgangsleitung 108 dann eine 1, wenn entweder S nicht-signifikant und M2 und M1 = 1
sind oder wenn bei einer Addition M2 gleich 0 ist. In gleicher Weise liegt auf der Ausgangsleitung 114 bei einer Addition
eine 1 oder wenn M1 = 1 und S nicht-signifikant ist.
Die Ausgangsleitungen 102, 116, 118 und 120 der aus Exklusiv-ODER-Gliedern
bestehenden Gruppe 203 dienen als Eingänge für die binäre Addierschaltung 129. Die Ausgangsleitungen 122,
124, 126 und 128 der zweiten aus ODER-Gliedern aufgebauten Gruppe 205 stellen eine weitere Gruppe von Eingangsleitungen
der Addierschaltung 129 dar.
Die aus Exklusiv-ODER-Gliedern aufgebaute Gruppe 203 überträgt
das Signal M+6 dann an die binäre Addierschaltung 129,
wenn auf Leitung 3 eine Addition gekennzeichnet ist. Il wird jedoch unmittelbar hindurchgeleitet, da die Eingangsleitungen
100, 108 und 114 auf 0 sind. Dadurch werden wiederum die Exklusiv-ODER-Glieder 101, 115 und 117 gesperrt.
Die zweite Gruppe 205 von Exklusiv-ODER-Gliedern läßt jedes Bit des Subtrahenden unmittelbar dann nach der Addierschaltung
129 durch, wenn auf Leitung 3 eine Addition gekennzeichnet
SA 976 046 809882/0 8 06
ist. Es sei daran erinnert, daß eine Addition durch eine auf Leitung 3 liegende 0 dargestellt ist, wodurch die
Leitungen 122, 124, 126 und 128 gesperrt werden. Während einer Subtraktion liegt jedoch durch das gleichzeitige Anlegen
der Subtrahend-Ziffer S8 am ODER-Glied 121, S4 am
ODER-Glied 123, S2 am ODER-Glied 125 und S1 am ODER-Glied 127 auf der Leitung 3 eine binäre 1. Dies ist logisch äquivalent
zu der Durchführung einer 15er Komplementbildung. Es ist ferner gleich der Durchführung mit einem 9er Komplement und
der Addition von +6.
Wie zuvor beschrieben, wird durch die Schaltung 151 das Ausgangssignal der binären Addierschaltung dann um die Größe
von 6 verkleinert, wenn das auf Leitung 14 auftretende übertrags-Ausgangssignal
0 ist. Dies wird mit Hilfe der Exklusiv-ODER-Glieder 131, 133 und 135 erreicht. An diesen ODER-Gliedern
liegt als erstes Eingangssignal BO, B4 bzw. B2. Wenn das übertrags-Ausgangssignal
O ist, dann wird es durch die Inverterstufe 141 zu einer auf Leitung 142 liegenden 1. Die Leitung
ist eingangsseitig am Exklusiv-ODER-Glied 139 und am UND-Glied
137 angeschlossen. Zur gleichen Zeit, wie das tibertrags-Ausgangssignal
O ist, wenn B im Bereich 9<B<16 liegt,
list B8 = 1 und entweder B4 oder B2 oder beide sind 1.
Wenn B2 = 1 ist und B4 = O, dann wird durch das UND-Glied 138
jeine binäre 1 nach dem Exklusiv-ODER-Glied 133 durchgelassen, iso daß auf B4 eine 1 auftritt. Sind B4 und B2 beide eine 1,
dann stellt das NAND-Glied 135 das Exklusiv-ODER-Glied 131 |ein, das dann BS in der Weise hindurch läßt, daß D8 eine 1
lund D4 und D2 eine O sind. Bei allen diesen Operationen
[sollte man sich darüber klar sein, daß ein Eklusiv-ODER-blied
ausgangsseitig dann eine 1 abgibt, wenn die beiden i
bingangssignale verschieden sind.
SA 976 046
809882/0806
Die von der Schaltung 151 kommenden Ausgangssignale D8, D4 und D 2 werden dann, wenn über die zugehörigen Torschaltungen
152, 153 und 155 kein erzwungener übertrag übertragen wird,
nach den entsprechenden UND-Gliedern 159, 161 und 163 durchgelassen.
Die geringstwertige, vom Ausgang der binären Addierschaltung kommende Ziffer B1 des Ausgangssignals wird unmittelbar
dem UND-Glied 165 zugeführt. Die sich dabei ergebenden Ziffern-Bits R8, R4, R2 und R1 entsprechen ohne
örtlichen überlauf D8, D4, D2 und D1.
Zur Darstellung der Arbeitsweise sei folgendes angenommen:
Gegeben M = M8M4M2M1 = I = 1010, CB± = ο
S = S8S4S2S1 = 6 = 0110, AB. = O
dann ist für M+S, R=I, C1+1 = 1
unabhängig davon ob
M = I und S = 6 oder
H = 6 und S=I
Wendet man die I-Ziffer 1010 auf den Minuenden und die
6-Ziffer 0110 auf den Subtrahenden an, dann folgt, weil M8 und M2 beide 1 sind und an UND-Glied 51 liegen, daß M als
I festgestellt wird und dies I durch das ODER-Glied 75 über Leitung 76 nach dem Eingang der Resultats-Manipulationsschaltung
19 in der Weise zwangsläufig durchgeschaltet wird, daß eine 1 das ODER-Glied 152 durchläuft. Da kein örtlicher
überlauf auftritt, tritt auf Leitung 84 eine 0 auf und wird durch die Inverterstufe 157 in der Resultat-Manipulationsischaltung
invertiert. Das bedeutet, daß durch das UND-Glied 159 eine 1 nach R8 durchgelassen wird. Die UND-Glieder 153
i ■
und 161 sind gesperrt, weil das über Leitung 76 am UND- I
Glied 163 ankommende Eingangssignal auf 0 invertiert ist. '
Das bedeutet, daß R4 = 0 ist. R2 ist gleich 1, da die das ,
erzwungene I darstellende 1 durch das ODER-Glied 155 und ι das UND-Glied 163 hindurchgeleitet wird. Da I als 1010 oder
SA 976 046 809 8 82/0 8 08
1011 definiert ist, ist der tatsächliche Bit-Wert von R1 ohne
Bedeutung. Da S gleich 0110 ist, sind die Bits S4 und S2 beide 1, so daß durch das UND-Glied 67 und das ODER-Glied
1 eine 1 übertragen wird und auf der Leitung 72 der aufgerundete
'Wert von S liegt. Dieses Signal wird zu O invertiert und sperrt das UND-Glied 87. Da hier kein örtlicher Überlauf 84 auftritt,
kann kein Signal das UND-Glied 85 durchlaufen. Da durch die
auf Leitung 3 liegende O eine Addition gekennzeichnet ist, ,ist das UND-Glied 89 gesperrt. Dies bedeutet, daß auf
;Leitung 25 kein Übertrag AB±+1 auftritt.
In Bezug auf den Überlauf sei bemerkt, daß zwar eine 1 über das NOR-Glied 63 nach Leitung 64 durchgelassen wird,
die am UND-Glied 83 angeschlossen ist, daß jedoch das UND-Glied 83 gesperrt bleibt, da CB. und AB. beide 0 sind.
:Die Ziffern des Subtrahenden werden außerdem einer Gruppe
205 von ODER-Gliedern zugeleitet, die während der Subtraktion selektiv die einzelnen Bits des Subtrahenden invertiert.
i
'Die logischen Glieder werden während einer Addition gesperrt, d. h. wenn die Eingangsleitungen 3 der Exklusiv-ODER-Glieder
121, 123, 125 und 127 eine 0 führen, dann durchlaufen Idie Subtrahenden-Ziffern die binäre Addierschaltung 129
'ohne Änderung. Dies bedeutet, daß auf Leitung 122 eine 0,
auf Leitung 124 eine 1, auf Leitung 126 eine 1 und auf !Leitung 128 eine O liegt.
ι Im Gegensatz dazu sind in der aus Exklusiv-ODER-Gliedern
!bestehenden Gruppe 203 einige der Exklusiv-ODER-Glieder
eingeschaltet. Dies sind die ODER-Glieder 101 und 117. Dies bedeutet, daß auf den Leitungen 100 und 114 eine binäre
1 auftritt, während auf der Leitung 108 eine O liegt. Auf der Leitung 100 tritt deswegen eine binäre 1 auf, weil
das M2-Bit eine 1 ist und das auf Leitung 4 liegende Bit ebenfalls eine 1 ist. Diese Bits durchlaufen das UND-Glied
SA976046 809882/0806
und das ODER-Glied 99. Auf Leitung 108 liegt eine O, weil
UND-Glied 103 durch die Inversion des M2-Bit von 1 auf O
gesperrt ist. UND-Glied 105 ist gesperrt, da S signifikant ist, so daß auf Leitung 7 eine O liegt. Wie gesagt, liegt
bei einer Addition auf der Leitung 3 eine O. Diese O wird
durch die Inverterstufe 78 auf eine 1 auf Leitung 4 invertiert. Die auf Leitung 4 liegende 1 steuert das UND-Glied
und das ODER-Glied 113 an und liefert auf Leitung 114 eine
Da die Eingangssignale aller Exklusiv-ODER-Glieder in der
Gruppe 203 gleich sind, so tritt auf jeder der entsprechenden Ausgangsleitungen 102, 116, 118 und 120 eine O auf.
Nach Definition der Eingangssignale der binären Addierschaltung
129 ergibt sich, daß das Ausgangssignal für übertrag
auf Leitung 14 eine O ist. Da auf Leitung 13 ebenfalls
eine O liegt, wird eine O über das ODER-Glied 27 auf die
Leitung 29 übertragen. Diese Analyse kann für zwischen den Stufen erfolgenden übertrag und örtlichen überlauf wiederholt
werden.
OFHGiNAL !NSPcC ίΐϋ
976 046 809882/0 8 06
Claims (3)
- 2876773PATENTANSPRÜCHEVerfahren zum Feststellen der Wertigkeit von Ziffern in Mehr-Bit-Darstellungen von BCD-codierten Dezimalzahlen, die als Ergebnis einer mehrstufigen Verknüpfung, einer Addition oder Subtraktion einer ersten und einer zweiten, einer mehrstufigen arithmetischen Einheit zugeführten Zahl N1 = n.. (n-1). (n-2) ,.. (n-k) 1 und N„ = n2(n-1)2(n-2)„...(n-k)2 zur Erzeugung einer dritten Zahl N3 = n3(n-1)3(n-2)3(n-3)3...(n-k)3 auftreten, und zum Runden der genaueren von zwei BCD-codierten Zahlen auf die niedrigstwertige Ziffernposition der ungenaueren der beiden Zahlen, wobei Ziffernpaare gleicher Ordnung jeweils der entsprechenden Stufe zugeführt werden,gekennzeichnet durch folgende Verfahrensschritte: Codieren einer jeden bedeutsamen Ziffer in N1 und N? in einer Mehr-Bit-Darstellung mit überschüssiger Kapazität undCodieren einer jeden nicht-bedeutsamen Ziffer in N1 und N2 mit einer unverwechselbaren Mehr-Bit-Darstellung, Z. B. N1 = 8939II, N2 = O35III, Anlegen dieser codierten Ziffern der Zahlen an die Stufen der arithmetischen Einheit und Kombinieren der Zahlen N1 und N2 in der Weise, daß für jedes Paar codierter bedeutsamer Ziffern der gleichen Ordnung (n-k)^(n-k)2fi übertragswert [n-(k+1)] = (n-k)3 plus ein erstes Übertragssignal (CB) an die arithmetische Einheit der Ziffernposition der nächsthöheren Ordnung abgegeben wird,. daß für jedes Paar codierter Ziffern gleicher Ordnung, wenn mindestens eine Ziffer des Paares nicht bedeutsam■ ist, die Resultatziffer R ebenfalls nicht-bedeutsam ist, d. h., daß dann wenn (n-k)^ = I oder (n-k)2 = I ist, (n-k)3 = I ist und§09882/080*SA 976 046 ORIGlNAL ERECTEDdaß dann, wenn in jedem Paar codierter Ziffern gleicher Ordnung eine Ziffer bedeutsam und größer als ein durch, eine Rundungsregel festgelegter Wert b und die andere Ziffer nicht-bedeutsam ist, das erste Übertragungssignal (CB) nach der Ziffernposition nächst höherer Ordnung der arithmetischen Einheit übertragen wird, so daß die genauere der beiden Zahlen bis auf die niedrigstwertige Ziffer der ungenaueren der beiden Zahlen gerundet wird.
- 2. Verfahren nach Anspruch 1, bei dem eine Subtraktion mittels komplementärer Addition durchgeführt wird, gekennzeichnet durch folgende weitere Verfahrensschritte:umwandeln der codierten bedeutsamen Ziffern des Subtrahenden vor Anlegen an die arithmetische Einheit in das Basis-Komplement undarithmetisches Kombinieren der Zahlen derart, daß für jedes Paar codierter Ziffern, bei welchem entweder die Ilinuenden-Siffer (n-k)1 im Bereich b < (n-k) ^-(Basis-1) und die komplementäre Subtrahendenziffer (n-k)2 = I oder (n-k)^=(n-k)2= I ist, ein zweites Übertragssignal (AB) nach der Ziffernposition nächst höherer Ordnung [n-(k-1)] der arithmetischen Einheit übertragen wird.
- 3. Schaltungsanordnung zur Durchführung eines Verfahrens nach Anspruch 1 mit einem mehrstufigen (n-k) Dezimaladdierer/Subtrahierer zum Feststellen der Wertigkeit von Ziffern, wobei die einzelnen Stufen (15; 201, 203, 205) auf Übertragssignale (5, 7) aus der Stufe nächst niedriger Ordnung [n-(k+1)]f ein von außen zugeführtes, die Art der arithmetischen Operation anzeigendes Signal (3, 4) und ein Paar BCD-codierter Ziffern (M,S)SA 976 046 809882/0 808anspricht/ wobei jede Stufe (31) einen binären Addierer (129) und damit verbundene (14) logische Netzwerke (29) zum Erzeugen und übertragen von Übertragssignalen (CD1+.) an die Stufe nächst höherer Ordnung aufweist, während nicht-bedeutsame Ziffern unverwechselbar codiert sind,
gekennzeichnet durcheine erste logische Schaltung (19), die die Stufe (n-k) für eine Übertragung der Resultatziffer des Wertes 0 oder des Wertes I nach dem Ausgang (2) durchschaltet,durch eine zweite logische Schaltung (51, 52, 73 - 76) zur Bestimmung jeder nicht-bedeutsamen Ziffer (I) in jedem Ziffernpaar und zur entsprechenden Steuerung der ersten logischen Schaltung,durch eine dritte logische Schaltung (5, 7, 61, 64, 83, 84) die nur auf signifikante oder bedeutsame Ziffernpaare und Überträge anspricht, die in der Summe einen vorbestimmten Wert (b) überschreiten, zur Steuerung der ersten logischen Schaltung, die daraufhin eine 0 durchschaltet,
wobei die Übertragsschaltung eine vierte logische Schaltung (53 - 60, 65 - 72, 77-81, 13) zur Erzeugung eines Übertrags (CB.,..) für jedes Paar codierter Ziffern enthält, wenn eine Ziffer nicht-bedeutsam, die andere bedeutsam und größer ist als ein für eine Rundungsregel festgelegter VJert b sowieeine fünfte logische Schaltung (85 - 91, 25) enthält, die dann einen anderen übertrag (AB.+<]) erzeugt, wenn das von außen zugeführte Signal eine Subtraktion anzeigt und in jedem Ziffernpaar entweder der Minuend = I und der Subtrahend < b oder der Subtrahend = I ist, sowie dadurch,046 8Q9882/Q808daß die fünfte logische Schaltung über logische Glieder (85, 91) die dritte logische Schaltung auch dann ankoppeln und das andere Übertragssignal liefern kann, wenn die Summe der Ziffern und der Überträge den vorgegebenen Wert überschreiten.Schaltungsanordnung nach Anspruch 3 zum Feststellen der Bedeutsamkeit dezimaler Ziffern innerhalb von Operanden oder Zahlen, die in einer Reihe von Operationen in einem mehrstufigen Dezimal-Addierer/Subtrahierer miteinander kombinierbar sind, wobei jede der Ziffern in einem Format dezimal codiert ist, das genug überschüssige Kapazität aufweist, so daß nichtbedeutsame Ziffern in unverwechselbarer Weise codierbar sind, dadurch gekennzeichnet,daß eine logische Schaltung für die überprüfung von Ziffern gleicher Ordnung auf gleiche oder ungleiche Bedeutsamkeit und der bedeutsamen Ziffer eines jeden Paares auf die Einhaltung einer Rundungsregel vorgesehen ist, wodurch ein erster übertrag an die Addierer/Subtrahierer-Ziffernposition nächst höherer Ordnung durchführbar ist,daß ferner eine logische Schaltung zur Durchführung einer Subtraktion mittels komplementärer Addition der Operanden mit übertragung eines zweiten Übertrags nach der [n-(k-1)]-ten Addierer/Subtrahierer-Ziffernposition dann vorgesehen ist, wenn bei dem der (n-k)-ten Ziffernposition zugeführten Ziffernpaar entweder ein örtlicher überlauf, eine nicht-bedeutsame Subtrahend-Ziffer,· oder eine nicht-bedeutsame Minuendziffer und eine Subtrahendziffer vorliegen, die kleiner als der durch die Rundungsregel festgelegte Wert (b) ist und046 8 Q 9 8 8 2 / Q 8 0 6I ■ ■ -δdaß schließlich eine weitere logische Schaltung vor-I handen ist, die die Resultatziffer einer jedenAddierer/Subtrahierer-Ziffernposition in der Weise ändert, daß dann, wenn mindestens eine der Ziffern I eines Ziffernpaares nicht-bedeutsam ist, die Resultati ziffer ebenfalls nicht-bedeutsam wird, und daß bei i örtlichem überlauf die Resultatζiffer Null ist.976 046 809882/0 8 08
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/811,214 US4110831A (en) | 1977-06-29 | 1977-06-29 | Method and means for tracking digit significance in arithmetic operations executed on decimal computers |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2826773A1 true DE2826773A1 (de) | 1979-01-11 |
Family
ID=25205910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19782826773 Withdrawn DE2826773A1 (de) | 1977-06-29 | 1978-06-19 | Verfahren und schaltungsanordnung zum feststellen der wertigkeit von ziffern in arithmetischen operationen mit dezimalrechnern |
Country Status (6)
Country | Link |
---|---|
US (1) | US4110831A (de) |
JP (1) | JPS584369B2 (de) |
DE (1) | DE2826773A1 (de) |
FR (1) | FR2396360A1 (de) |
GB (1) | GB1579100A (de) |
IT (1) | IT1112643B (de) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2448188A1 (fr) * | 1979-02-02 | 1980-08-29 | Anvar | Procede et ensemble de calcul, aleatoirement par exces ou par defaut, pour fournir des resultats de calcul avec le nombre de chiffres significatifs exacts |
FR2455315B1 (fr) * | 1979-04-23 | 1986-10-24 | Anvar | Procede pour fournir un resultat de calcul numerique avec le nombre de chiffres significatifs exacts dans ce resultat et dispositif de calcul numerique mettant en oeuvre ce procede |
JPS56135236A (en) * | 1980-03-24 | 1981-10-22 | Casio Comput Co Ltd | Numeric data displaying system |
JP3421933B2 (ja) * | 1994-10-31 | 2003-06-30 | 弘之 河▲崎▼ | 演算処理装置及び電子計算機 |
US5809323A (en) * | 1995-09-19 | 1998-09-15 | International Business Machines Corporation | Method and apparatus for executing fixed-point instructions within idle execution units of a superscalar processor |
JP2000068834A (ja) | 1998-08-20 | 2000-03-03 | Hiroyuki Kawasaki | 信号変換方法及び信号変換器 |
EP1247195A4 (de) * | 1999-12-22 | 2005-01-05 | Ubicom Inc | System und verfahren zur auf befehlsebene arbeitenden multithreading in einem eingebetteten prozessor mit nullzeitkontextumschaltung |
US7308686B1 (en) | 1999-12-22 | 2007-12-11 | Ubicom Inc. | Software input/output using hard real time threads |
US7120783B2 (en) * | 1999-12-22 | 2006-10-10 | Ubicom, Inc. | System and method for reading and writing a thread state in a multithreaded central processing unit |
US7047396B1 (en) * | 2000-06-22 | 2006-05-16 | Ubicom, Inc. | Fixed length memory to memory arithmetic and architecture for a communications embedded processor system |
US7010612B1 (en) | 2000-06-22 | 2006-03-07 | Ubicom, Inc. | Universal serializer/deserializer |
US7822950B1 (en) | 2003-01-22 | 2010-10-26 | Ubicom, Inc. | Thread cancellation and recirculation in a computer processor for avoiding pipeline stalls |
WO2012077185A1 (ja) * | 2010-12-07 | 2012-06-14 | 富士通株式会社 | 10進絶対値加算器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3842250A (en) * | 1973-08-29 | 1974-10-15 | Sperry Rand Corp | Circuit for implementing rounding in add/subtract logic networks |
US3885141A (en) * | 1974-02-06 | 1975-05-20 | Bell Telephone Labor Inc | Modular pipeline multiplier to generate a rounded product |
-
1977
- 1977-06-29 US US05/811,214 patent/US4110831A/en not_active Expired - Lifetime
-
1978
- 1978-05-10 GB GB18839/78A patent/GB1579100A/en not_active Expired
- 1978-05-19 JP JP53059030A patent/JPS584369B2/ja not_active Expired
- 1978-06-05 FR FR7817690A patent/FR2396360A1/fr active Granted
- 1978-06-19 DE DE19782826773 patent/DE2826773A1/de not_active Withdrawn
- 1978-06-28 IT IT25058/78A patent/IT1112643B/it active
Also Published As
Publication number | Publication date |
---|---|
US4110831A (en) | 1978-08-29 |
IT7825058A0 (it) | 1978-06-28 |
FR2396360A1 (fr) | 1979-01-26 |
FR2396360B1 (de) | 1983-03-18 |
GB1579100A (en) | 1980-11-12 |
IT1112643B (it) | 1986-01-20 |
JPS5412236A (en) | 1979-01-29 |
JPS584369B2 (ja) | 1983-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0079471B1 (de) | Schaltungsanordnung und Verfahren zur Bildung von Skalarprodukten und Summen von Gleitkommazahlen mit maximaler Genauigkeit | |
DE1956209C3 (de) | Multipliziervorrichtung | |
DE69132517T2 (de) | Gleitkommaprozessor | |
DE1162111B (de) | Gleitkomma-Recheneinrichtung | |
DE2712224A1 (de) | Datenverarbeitungsanlage | |
DE2626432C2 (de) | Arithmetische Einheit für automatische Rechengeräte | |
DE1549476B2 (de) | Anordnung zur ausfuehrung von divisionen | |
DE2826773A1 (de) | Verfahren und schaltungsanordnung zum feststellen der wertigkeit von ziffern in arithmetischen operationen mit dezimalrechnern | |
DE2623986A1 (de) | Parallelrechenwerk | |
DE2758130C2 (de) | Binärer und dezimaler Hochgeschwindigkeitsaddierer | |
DE2816711A1 (de) | Divisionseinrichtung mit uebertrags- rettungsaddierwerk und nicht ausfuehrender vorausschau | |
DE1549508C3 (de) | Anordnung zur Übertragsberechnung mit kurzer Signallaufzeit | |
DE2405858A1 (de) | Normalisierendes verschiebezaehlernetzwerk | |
DE2232222A1 (de) | Funktionsgeneratormodul | |
DE3434777C2 (de) | ||
DE3447634C2 (de) | ||
DE1125208B (de) | Elektrisches Vergleichsschaltungssystem | |
DE3340362C2 (de) | ||
DE4019646A1 (de) | Vorrichtung fuer echtzeitmultiplikation in 2er-komplement-darstellung in einem digitalen signalprozessorsystem und ein verfahren dafuer | |
DE1187403B (de) | Verfahren und Einrichtung zur logischen Verknuepfung zweier Operanden | |
EP0139207A2 (de) | Schaltung zur CSD-Codierung einer im Zweierkomplement dargestellten, binären Zahl | |
DE3822324C2 (de) | Vorrichtung zum Zerlegen des Prioritätswertes | |
DE2800598A1 (de) | Parallel-addierwerk | |
DE1549485C3 (de) | Anordnung zur Division binärer Operanden ohne Rückstellung des Restes | |
DE3132611A1 (de) | Digitale integriereinrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8139 | Disposal/non-payment of the annual fee |