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 dezimalrechnern

Info

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
Application number
DE19782826773
Other languages
English (en)
Inventor
Jun Glen George Langdon
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2826773A1 publication Critical patent/DE2826773A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/491Computations with decimal numbers radix 12 or 20.
    • G06F7/492Computations with decimal numbers radix 12 or 20. using a binary weighted representation within each denomination
    • G06F7/493Computations 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/494Adding; Subtracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/491Indexing scheme relating to groups G06F7/491 - G06F7/4917
    • G06F2207/4911Decimal floating-point representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/492Indexing scheme relating to groups G06F7/492 - G06F7/496
    • G06F2207/4924Digit-parallel adding or subtracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control
    • G06F7/49947Rounding
    • G06F7/49963Rounding 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.
Signifikanz und Präzision in definierten Zahlen
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.
Die Ursachen für den Verlust an Bedeutsamkeit von Ziffern
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.
Rundung und Signifikanz
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
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 -
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: '
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
iBasis -1
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)

  1. 2876773
    PATENTANSPRÜCHE
    Verfahren 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 und
    Codieren 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 ERECTED
    daß 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. 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 und
    arithmetisches 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. 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 808
    anspricht/ 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 durch
    eine 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 sowie
    eine 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/Q808
    daß 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 und
    046 8 Q 9 8 8 2 / Q 8 0 6
    I ■ ■
    daß schließlich eine weitere logische Schaltung vor-I handen ist, die die Resultatziffer einer jeden
    Addierer/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
DE19782826773 1977-06-29 1978-06-19 Verfahren und schaltungsanordnung zum feststellen der wertigkeit von ziffern in arithmetischen operationen mit dezimalrechnern Withdrawn DE2826773A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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