DE2222197A1 - Anordnung zur Auf- bzw. Abrundung von Zweierkomplement-Zahlen - Google Patents

Anordnung zur Auf- bzw. Abrundung von Zweierkomplement-Zahlen

Info

Publication number
DE2222197A1
DE2222197A1 DE19722222197 DE2222197A DE2222197A1 DE 2222197 A1 DE2222197 A1 DE 2222197A1 DE 19722222197 DE19722222197 DE 19722222197 DE 2222197 A DE2222197 A DE 2222197A DE 2222197 A1 DE2222197 A1 DE 2222197A1
Authority
DE
Germany
Prior art keywords
register
operand
adder
rounding
switching device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19722222197
Other languages
English (en)
Other versions
DE2222197C3 (de
DE2222197B2 (de
Inventor
Trubisky Leonard G
Kindell Jerry L
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.)
Bull HN Information Systems Inc
Original Assignee
Honeywell Information Systems Italia SpA
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 Honeywell Information Systems Italia SpA filed Critical Honeywell Information Systems Italia SpA
Publication of DE2222197A1 publication Critical patent/DE2222197A1/de
Publication of DE2222197B2 publication Critical patent/DE2222197B2/de
Application granted granted Critical
Publication of DE2222197C3 publication Critical patent/DE2222197C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • 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

Landscapes

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

Description

Dipl.-Ing. Heinz Bardehle
Patentanwalt
8 München 22, Herrnstr. 15 ■
5. .Mai 1072
Mein Zeichen: P 1378
Anmelder: Honeywell Information Systems Inc. 200 Smith Street
Waltham/Mass., V. St. A.
Anordnung zur Auf- bzw. Abrundung von Zweierkomplement-Zahlen
Die Erfindung bezieht sieh auf die Verarbeitung von Daten mit Hilfe von Rechnern.
Bei der Verarbeitung von numerischen Daten mit Hilfe digitaler Rechner, und zwar insbesondere für wissenschaftliche Anwendungsfälle, gibt der jeweilige Rechner Daten durch die beste Näherungslösung ab, die er mit der zur Verfügung stehenden Anzahl von Bits auszuführen vermag. So kann z.B. bei 36-Bit-Wörtern eine Zahl dadurch dargestellt werden, daß ein acht Bit umfassender Exponent und eine 28 Bit umfassende Mantisse oder ein 28 Bit umfassender Bruch für Gleitkommadaten einfacher Genauigkeit verwendet werden. Werden Doppelwortdaten benutzt, so erweitert sich die Mantisse von 36 Bits auf 64 Bits. Bei bestimmten Zahlen, wie z.B. bei 0,5, kann die Zahl in binärer Gleitkommadar-
209847/1 1 1 5
22221S7
stellung genau angegeben werden, und zwar als 000000000 100 ... . Im allgemeinen ist die jeweilige Darstellung jedoch eine Näherungslösung. So kann z.B. die Zahl 1/3 auf der Basis von zwei nicht genau dargestellt werden. Dieses Problem geht im übrigen auf die Tatsache zurück, daß viele Werte bereits die erforderliche Näherung bei einer numerischen Untersuchung zeigen, und zwar einschließlich der irrationalen Zahlen, der transzendenten Zahlen, etc.. Für die Zwecke der vorliegenden Erfindung ist es jedoch weit wichtiger, daß Rechner für eine Reihe von Rechneroperationen, zu denen Multiplikationen und Divisionen gehören, die Neigung zeigen, allmählich die Genauigkeit geringer werden zu lassen. Im allgemeinen führen Zahlen, die durch η Bits dargestellt sind, auf eine Multiplikation hin zu kennzeichnenden 2n Bits. Wird das Ergebnis gespeichert, so muß es auf η Bits verringert werden, wobei bestimmt werden muß, ob das zu speichernde bzw. gespeicherte Bit niedrigster Wertigkeit eine 1 oder eine 0 sein soll. Wahrscheinlich besteht die übliche Praxis darin, das Ergebnis einfach zu verkürzen und die Bits hinter den bedeutsamen η Bits unberücksichtigt zu lassen, wie dies durch den für den Operanden vorgeschriebenen Datentyp zugelassen ist.
Bei Variablen einfacher Genauigkeit kann die Verkürzung insbesondere zu unannehmbaren Endergebnissen auf Grund einer Reihe von Berechnungen führen, die gleichbleibend positive oder negative Zwischenergebnisse liefern, was z.B. bei der mathematischen Programmierung häufig der Fall ist. Bezüglich jeglicher gegebener Verarbeitungsstruktur und bezüglich einer gegebenen Anzahl von bedeutsamen Bits ist eine Genauigkeitsgrenze vorhanden, die aufrechterhalten
2 0 9 8 /< 7 / "
werden kann. In gewissen Fällen reicht diese Genauigkeit nicht aus, weshalb dann spezielle Programmiervorgänge für diese Fälle erforderlich sind. Demgemäß besteht das allgemeine Ziel darin, die Datenverarbeitungsstruktur bzw. -anordnung so zu organisieren, daß die Verkürzungs- und Abrundungsfehler die Neigung zeigen, sich aufzuheben. Die Erfahrung hat gezeigt, daß in den meisten Anwendungsfällen die besten Ergebnisse dadurch erhalten werden können, daß auf den nächsten Wert, der dargestellt werden kann, auf-bzw. abgerundet wird.
Bei Binärrechnern besteht eine Lösung zur Abrundung einer Zahl darin, daß eine 1 zu der unberücksichtigt zu lassenden ersten Bit-Position hinzuaddiert wird und daß ein Übertrag weitergeleitet wird, wenn das betreffende Bit eine 1 ist. Die übrigen Bits werden dann sozusagen abgeschnitten. Es hat sich jedoch gezeigt, daß jede Anordnung, die denselben Einfluß auf das letzte Bit bei negativen und positiven Zahlen hat, zu unvereinbaren Ergebnissen führt. In dem Fall, daß der Rechner zwei Ergebnisse gleicher Größe aber entgegengesetzten Vorzeichens liefert und die Bits, die den gespeicherten η Bits folgen, zuerst eine 1 und dann nachfolgend nur O-Zeichen umfassen, ist die Größe der gespeicherten Ergebnisse unterschiedlich. Erfolgt entweder eine Verkürzung oder eine Übertragszuführung bei beiden Ergebnissen, so ist die Summe beider gespeicherter Ergebnisse nicht Null. Dies geht darauf zurück, daß die Verkürzung der Zweierkomplement-Zahl die Größe einer positiven Zahl verringert, jedoch die Größe einer negativen Zahl vergrößert bzw. bei einem Übertragseintrag umgekehrt.
209847/
Ein weiterer Gesichtspunkt besteht darin, daß bei Rechnern der hier angegebenen Art eine Rundung irgendeiner Art die Genauigkeit einer Reihe von Rechnungen bzw. Berechnungen herabsetzen kann. Dies bedeutet, daß im Falle der Rundung des Akkumulators die nachfolgenden, den Akkumulatorinhalt modifizierenden Operationen eine entsprechend geringere Genauigkeit mit sich bringen.
Der Erfindung liegt demgemäß die Aufgabe zu Grunde, eine Anordnung zur Rundung von Zwei^erkomplement-Zahlen zu schaffen, und zwar zur -Lieferung von übereinstimmenden Ergebnissen sowohl für positive Zahlen als auch für negative Zahlen.
Gelöst wird die vorstehend aufgezeigte Aufgabe durch die im Patentanspruch 1 angegebene Erfindung. Gemäß der Erfindung ist eine Anordnung geschaffen, die zur Rundung von Zweierkomplement-Zahlen in einem Binärrechner auf Zahlen dient, welche η Bits weniger enthalten. Diese Anordnung ist erfindungsgemäß dadurch gekennzeichnet,
a) daß ein Addierer vorgesehen ist, der die Binärsumme zweier Operanden zu erzeugen vermag,
b) daß eine Rundungseinrichtung vorgesehen ist, die eine Rundungszahl 2n~ -1 an den Addierer als ersten Operanden für eine zu rundende negative Zahl abgibt,
c) daß die Rundungseinrichtung eine Rundungszahl 2 an den Addierer als ersten Operanden für eine zu rundende positive Zahl abgibt, und
d) daß Einrichtungen vorgesehen sind, die eine Zweierkomplement-Binärzahl an den Addierer als zweiten Operanden abgeben.
0 9 8 4 7/ ι 1
Gemäß einer Ausführungsform der Erfindung ist eine Anordnung geschaffen, die in einem Binärrechner, in welchem mit einer Zweierkomplement-Darstellung von Gleitkommazahlen gearbeitet wird, Zahlen für die Speicherung in einer solchen Weise zu runden gestattet, daß die gespeicherten Ergebnisse der positiven und negativen Zahlen in allen Fällen für Zahlen derselben Größe gleich sind. In dem Fall, daß η kennzeichnende Bits auf Grund der Speicherwortlängenbeschränkungen verloren gehen, wird eine Rundungskonstante
n-1
2 -1, d.h. eine Null mit nachfolgenden Einsen, den η Bits niedrigster Wertigkeit des Akkumulators hinzuaddiert, und außerdem wird eine Übertragsweiterleitung ermöglicht. Wenn der Akkumulator eine positive Zahl enthält, wird zu der Bitstelle niedrigster Wertigkeit des Addierers ein Übertragseintrag hinzuaddiert, so daß bezüglich zu speichernder Gleitkommazahlen die gespeicherte Zahl in der Größe aufgerundet wird, wenn der Akkumulatorwert genau in der Mitte zwischen benachbarten Werten, die in dem gespeicherten Format dargestellt werden können, liegt oder größer ist. Im übrigen stellt die gespeicherte Zahl eine verkürzte Form des Akkumulatorwerts dar. Normalerweise bleibt der Akkumulator selbst unverändert, so daß über eine Reihe von Rechnungen hinweg die maximale Kennzeichnung beibehalten wird.
An Hand von Zeichnungen wird die Erfindung nachstehend an einem Ausführungsbeispiel näher erläutert. Fig. 1 zeigt in einem Blockdiagramm eine bevorzugte Ausführungsform der Erfindung, unter Veranschaulichung von Registern, Schaltern und Addierern eines Operationswerkes für einen im Zweierkomplement-System arbeitenden binären Digitalrechner.
2 0 9 81> 7 /1 ι -, r;
Fig. 2 zeigt in einem Blockdiagramm Verknüpfungselemente, die ein Steuerwerk für das Operationswerk gemäß Fig. 1 bilden.
Fig. 3 zeigt in einem Verknüpfungsdiagramm eine Realisierung eines charakteristischen Schalters für das in Fig. 1 dargestellte Operationswerk.
In Fig. 1 sind die Hauptelemente dargestellt, die für das Rechenwerk und die Verbindungen zur Ausführung der "bevorzugten Ausführungsform der Erfindung erforderlich sind. Bezüglich einer vollständigeren Beschreibung des Datenverarbeitungssystems sei auf die US-PS 3 413 613 Bezug genommen.
Ein Hauptspeicher 10 leitet Datenwörter und Befehlswörter über einen ZI-Schalter 11 zu einem ZY-Schalter 88, einem Befehls-I-Register 78 und einem ZA-Schalter 13 hin. Zwei Datenwörter werden über den ZA-Schalter 13/cLen ZP-Schalter -?iiem 72-Bit-M-Register 14 zugeleitet. Ein ZJ-Schalter 20 leitet selektiv Datenwörter aus dem M-Register zu einem 72-Bit-H-Register 36 hin, bei dem es sich um eines der beiden Operandenregister für den Haupt-Α-Addierer 38 handelt. Das zweite Operandenregister ist ein 72-Bit-N-Register 40, das über den ZQ-Schalter 42 geladen wird. Der A-Addierer ist ein 72-Bit-Volladdierer, der selektiv Rechenoperationen bezüglich der Addition und Subtraktion von Zweierkomplement-Zahlen und die Verknüpfungsoperationen ODER, UND und EXKLUSIV-ODER ausführt. Die Eingangssignale für den Α-Addierer werden durch das ZH-Gatter 37 bzw. den entsprechend bezeichneten Schalter ausgewählt. Über dieses Gatter bzw. über diesen Schalter 37 steht das erste Operandeneingangssignal des H-Registers 36 zur Verfügung,
2 0 9 8 4 7 / 1 1 1 S
und über den ZN-Schalter bzw. das ZN-Gatter 41 steht das zweite Operandeneingangssignal des N-Registers 40 zur Verfügung. Das Ausgangssignal des Α-Addierers wird in einem 72-Bit-AS-Register 55 gespeichert, oder es kann selektiv über den ZQ-Schalter 42 zu dem N-Register hin geleitet werden. Der Inhalt des AS-Registers wird jeweils selektiv über den ZD-Schalter 32 bzw. den ZL-Schalter 48 zur Einspeicherung in den Speicher oder in einen 72-Bit-Akkumulator, dem AQ-Register 56, weitergeleitet. Über den ZR-Schalter 46 wird der jeweilige Akkumulatorinhalt selektiv zu dem Η-Register oder zu dem N-Register hingeleitet, und zwar über den ZJ-Schalter 20 bzw. den ZQ-Schalter 42.
Die Exponententeile von aus dem Speicher 10 herausgeführten Worten, die über den ZI-Schalter 11 gelangen, werden ebenfalls selektiv und rechtsbündig einem 10-Bit-D-Register 22 zugeleitet, und zwar über den ZU-Schalter 16. Der Zweck dieser Maßnahme dient dazu, einen Exponenten von einer Gleitkommazahl zu trennen. Es ist aber auch möglich, die betreffenden Wörter einem 10-Bit-ACT-Register 28 über den ZC-Schalter 27 zuzuleiten. Der Zweck dieser Maßnahme dient dazu, Verschiebungszählungen und dgl. aufrechtzuhalten. Ein Exponent-E-Addierer 34 dient zur Ausführung einer Exponentenverarbeitung und zur Ausführung von Hilfsfunktionen. Die Eingangssignale für den Exponenten-Addierer werden über den ZE-Schalter 25 und den ZG-Schalter 26 geliefert. An dem Ausgang des Exponenten-Addierers sind der ZF-Schalter 24, der ZU-Schalter 16 und der ZC-Schalter 27 angeschlossen. Der ZF-Schalter leitet Operanden aus dem D-Register und die Ausgangssignale des Exponenten-Addierers zu einem E-Register 3 0 hin.
0 9 8 4 7/111:
Die in Pig. 1 dargestellte Anordnung besteht aus einer Kombination von Schaltern, Registern und Addieret. Die besondere Realisierung dieser Einrichtungen ist jedoch nicht Gegenstand der vorliegenden Erfindung, Zur Realisierung des A-Addierers 38 genügt es, 72 Volladdierer zu verwenden, deren jeder als Eingangssignale ein Bit aus der entsprechenden Bitposition des jeweils zugeführten Operanden und ein Übertragseingangssignal von dem Volladdierer der nächstniederen Stelle bzw. Wertigkeit erhält. Der Volladdierer niedrigster Wertigkeit bzw. an niedrigster Stelle vermag eine 1 oder eine 0 als Übertragseingangssignal entsprechend den Steuer- bzw. Tastsignalen aufzunehmen. Die Summenausgangssignale der Volladdierer dienen, als Addiererausgangssignale für die entsprechenden Bitpositionen, und die Übertragsausgangssignale der Volladdierer stellen Übertrags·* eingangssignale für den an jeweils nächst höherer Stelle m stehenden Volladdierer dar. An dem Übertragsausgang des an höchster Stelle stehenden Volladdierers ist ein Addierer-Übertrags-Ausgangsflipflop angeschlossen. In den betrachteten Elementen ist noch eine Logik vorgesehen, die einen Überlauf feststellt, der ein OV-Flipflop 92 setzt. In der Praxis wird der gerade beschriebene einfache Addierer vorzugsweise so modifiziert, daß die Übertrags-Weiterleitungszeit vermindert ist; erreicht wird dies durch eine Übertrags-Vorschaulogik, durch eine Bedingungs-Summenlogik, etc., und zwar gemäß der gewünschten Verarbeitungsleistung. Die Register sind zweckmäßigerweise durch Steuersignale gleichstromgesteuerte Register. Die Schalter bestehen aus einem Satz paralleler Verknüpfungsgatterstufen, wie dies in Fig.3 bezüglich der ersten Stufe des ZQ-Schalters 42 dargestellt ist. Im Hinblick auf die wählbaren Eingangssignale sind
0 9 8 4 7/111:
UND-Gatter bzw. -Glieder 301, 302, 303i 304 vorgesehen; diese UND-Glieder dienen für die Aufnahme der Eingangssignale von dem Verschiebe-ZS-Schalter 45, dem A-Addierer 38, dem ZR-Schalter 46 und zur Aufnahme einer Dauer-Null. Die betreffenden Eingangssignale werden durch Zuführung der entsprechenden Steuersignale ^ZS, j£a, ^ZR und £ö gesteuert. Die Ausgangssignale der betreffenden UND-Glieder sind über ein NOR-Glied 306 odermäßig zusammengefaßt. Das Ausgangssignal des NOR-Gliedes 306 wird durch das NAND-Glied 307 invertiert.
In Fig. 2 sind die Hauptelemente dargestellt, die ein Steuerwerk bilden, welches Operationscodes decodiert, Maschinenzyklen einleitet und beendet und verschiedene Steuersignale erzeugt. Aus dem Befehls-I-Register 78 gemäß Fig. 1 werden die Operationscodeteile der Befehle, nämlich die Bits 18-26 oder 54-62, selektiv über einen ZOR-Schalter 94 in ein Puffer-B1-Register 46 eingeleitet. Das B1-Register liefert ein Eingangssignal für ein P-Register 97» welches seinerseits ein Eingangssignal für ein S-Register und ein Decodiernetzwerk 95 liefert. Das BI-Register erzeugt ferner ein Signal B1-Vo.ll, welches anzeigt, daß das betreffende Register, von dem I-Register her geladen worden ist. Dadurch wird ein B1-Kennzeichenflipflop 101 gesetzt, wenn dem UND-Glied 101 ein CX-Taktsignal zugeführt wird. Das Flipflop 101 setzt seinerseits ein P-Kennzeichenflipflop 102, welches das B1-Kennzeichenflipflop zurückstellt und einen vorläufigen Operationszyklus CIN einleitet, indem es ein GIN-RS-Flipflop 121 setzt. Während dieser Zeitspanne tritt der eingestellte Befehl auf, und der Inhalt des B1-Registers wird zu dem P-Register hin übertragen. *
209 84 7/1115
Dieses S-Register veranlaßt seinerseits das Setzei* des S-Kennzeichenflipflops 103, und ferner liefert es das Eingangssignal für den Betrieb des Decodiernetzwerks 99.
Im allgemeinen werden die Maschinenbetriebszyklen bzw. Maschinenoperationszyklen durch ein von einem Taktgenerator 100 abgegebenes SG-Taktsignal beschränkt bzw. festgelegt. Dieser Taktgenerator 100 enthält einen Rückkopplungszweig und ein Verzögerungsglied, wie ein Schieberegister. Durch Bereitstellung einer variablen Verzögerung kann die Dauer des jeweiligen Maschinenzyklus zur Erzielung einer maximalen Befehlsausführungsleistüng minimisiert werden.
Während des ersten Maschinenzyklus der Befehlsausführung des Befehls GOS wird der Operand aus dem Akkumulator-AQ-Register in das Operanden-N-Register geschoben. Das Steuersignal wird für diesen Zyklus von dem im Setzzustand befindlichen GOS-RS-Flipflop 123 geliefert. Die Logik bzw. Verknüpfungslogik 122 steuert das GOS-Flipflop wie folgt: Setzen GOS = SG · GIN · Setzen GOF
Rückstellen GOS = SG · GOS
Nachdem der N-Registeroperand eingestellt ist, wird während des GOM-Zyklus die eigentliche Rundung vorgenommen. Das Steuersignal für diesen Zyklus wird von dem GOM-MS-Flipflop 125 geliefert, das durch die Logik bzw. Verknüpfungslogik 124 wie folgt gesteuert wird: Setzen GOM = SG · GOS · FCONV
Rückstellen GOM = SG · GOM . FCONV
Das FCONV-Signal wird von dem Decodiernetzwerk 99 geliefert. Das Übertrags-Eingangssignal wird von dem UND-Glied 205 geliefert, wenn das Vorzeichen des Operanden RSOO positiv ist.
209847/1115
Um die größtmögliche Genauigkeit bei dem gerundeten Operanden zu erzielen, ist es wünschenswert, einen Normalisierungszyklus nach dem Runden durch einen GON-»Zyklus auszuführen. Das Steuersignal für diesen Zyklus wird von dem GON-RS-Flipflop 127 geliefert, das durch die Logik wie folgt gesteuert wird:
Setzen GON = SG . NRM
Rückstellen GON = SG · GON »LNS
Das NRM-Signal, das anzeigt, daß eine Normalisierung gefordert wird, wird auf Grund einer Überprüfung des Vorzeichenbits und des benachbarten Bits in dem in dem N-Register befindlichen gerundeten Ergebnis geliefert. Sind diese Bits gleich, d.h. liegt entweder die Bitfolge 11 oder die Bitfolge 00 vor, so kann eine Normalisierung (NRM = RNOO Φ RN01) ausgeführt werden. Die Normalisierung wird solange fortgesetzt, bis sich dieser Zustand ändert. Die Änderung wird durch Überprüfung der zweiten und dritten Bits (LNS = NRM · (RN01 © RN02)) vorweggenommen. Die für die Normalisierung erforderliche Zeitspanne ist variabel; sie hängt von der Anzahl der erforderlichen Rechenverschiebungen ab.
Zur Verminderung der für die Normalisierung benötigten Zeitspanne werden vorzugsweise eine Mehrzahl von Bitverschiebeoperationen angewandt. Derartige Verschiebeoperationen werden durch den ZS-Schalter 45 ausgeführt, der die Eigenschaft besitzt, Links-Rechenverschiebungen (ohne Beeinflussung des Vorzeichenbits) um 4 und 16 Bitpositionen vorzunehmen. Außerdem werden die betreffenden Verschiebeoperationen durch eine Logik ausgeführt, die den Operanden daraufhin überprüft, ob er für vier und sechzehn Bitverschiebungen benutzt werden kann oder nicht. Wenn jedoch
2 0 9 8 A 7 / 1 1
der ursprüngliche Operand vor einer Rundung normalisiert wird, entstehen die Überlegungen bezüglich der Normalisierung nur dann, wenn das gerundete Ergebnis 1,100 .. Null ist. In diesem Fall ist nur eine einzige Verschiebung erforderlich.
Während des letzten Maschinenzyklus der Befehlsausführung des Befehls GOF wird der gerundete Operand in dem Speicher gespeichert oder in das Ausgangsregister zurückgeführt. Das Steuersignal für diesen Zyklus wird durch das im Setzzustand befindliche GOF-RS-Flipflop 129 geliefert. Die Logik 128 steuert das GOF-Flipflop wie folgt:
Setzen GOF =SG · (GOM ·FCONV . MM + GON · LNS) Rückstellen GOF = SG „ GOF β
Der in der angegebenen Ausführungsform gerundete Befehl wird wie folgt ausgeführt. Die Ausführung der gleitenden Speicherung und Rundung erfolgt in fünf aufeinanderfolgenden Schritten nach den einleitenden GIN-Einstell-Zyklen. Die betreffenden Zyklen werden durch die Steuersignale GOS, GOM, GON und GOF von der Steuerlogik gemäß Fig. 2 her ausgelöst bzw. freigegeben. Bei auftretendem Steuersignal GIN bewirken die Steuersignale jiOC und SACT die Löschung des ACT-Registers, Bei vorhandenem GOS-Signal geben die Steuersignale jiAQ, ^ZR bzw. SNN den ZR-Schalter 46, den ZQ-Schalter 42 und das N-Register 40 gemäß Fig. 1 frei, um den Inhalt des AQ-Registers 56 in das N-Register zu übertragen. Ferner bewirken die Signale j^DRD und SH, daß die Rundungskonstante in das H-Register 36 geladen wird. Bei vorhandenem GOM-Signal wird der Inhalt des N-Registers dadurch gerundet, daß die Rundungskonstante in dem Η-Register als erster Operand für den A-Addierer 55 und der Inhalt des N-Registers als zweiter
2 Ü 9 8 Z1 7 / 1 1 1 ;
Operand addiert werden, wobei das Ergebnis in das N-Register zurückgeführt wird. Die Steuersignale ^H, und ^K72 steuern die Rundungskonstante, die zu speichernde Zahl und die Übertragseinleitung in den Α-Addierer. Das letzte Eingangssignal ist der Bedingung unterworfen, daß die zu rundende Zahl nicht negativ ist. Das Ausgangssignal des Α-Addierers wird durch die φΑ~ und SNN-Steuersignale in das N-Register geleitet. Die Bit-Positionen in dem bei der Rundung verlorengegangenen Teil der Zahl werden durch das Steuersignal bzw. Tastsignal fiOLT gelöschte Dieses Steuersignal bewirkt die Einleitung von verdrahteten Null-Zeichen in die acht Bitpositionen niedriger Wertigkeit, und zwar bis zu der Rundungsstelle. Wenn ein Addiererüberlauf auftritt, wird ein OV-Flipflop gesetzt.
Bei vorhandenem Steuersignal GON wird eine Exponentenkorrektur und/oder eine Mantissennormalisierung vorgenommen. Ist keiner dieser Vorgänge erforderlich, so wird dieser Schritt unterdrückt. Wenn das OV-Flipflop gesetzt ist, wird der jeweilige Inhalt des N-Registers mittels des ZS-Schalters 43 durchgeschaltet und um eine Bitposition nach rechts verschoben. Dies erfolgt mit Hilfe des Steuerbzw. Tastsignals j£SR1. Die Vorzeichenstelle wird dabei mit dem Komplement des vorhergehenden Vorzeichenbits gefüllt. Das verschobene Ergebnis wird dann durch die Steuersignale j£ZS und SNN in das N-Register zurückgeleitet. Der Gleitkomma-Exponent wird durch Hinzuaddieren einer 1 zu dem Inhalt des ACT-Registers 28 aktualisiert. Die Steuer- bzw. Tastsignale ^ZF, ^0F und ^CRRY8 bewirken die Abgabe einer 0 und eines Übertragseingangssignals in den E-Addierer 34. Das Ausgangssignal des E-Addierers wird durch die Tastsignale und SACT in das ACT-Register 28 geleitet.
209847/1 1 15
Der Abschlußschritt führt bei vorhandenem Signal GOF dazu, daß die ersten 64 Bits des N-Registers in den Speicher 10 · übertragen werden, und zwar über die letzten 64 Bits des ZO-Schalters unter der Steuerung seitens des Signals ^FLA* Gleichzeitig wird die Summe des E-Registers 30 und de s ACT-Registers 28 mit Hilfe der Steuersignale #3, ff ACT, j^FLA in die ersten acht Bits des ZO-Schalters 32 geführt, bis die Mantisse Null ist. In diesem Fall wird die Konstante -128 als Exponent benutzt.
Die Ausführung einer Gleitkomma-Speicheroperation für eine Zahl einfacher Genauigkeit (Einzelwort) bzw. für eine Zahl einfacher Länge ist im wesentlichen die gleiche wie die für die oben beschriebene Speicheroperation doppelter Genauigkeit bzw, für eine Zahl doppelter Länge. Die Unterschiede bestehen zum einen darin, daß eine andere Rundungskonstante benutzt wird, und daß zum anderen der Operandenspeicherteil der Operation an das Einzelwort-Speicherformat angepaßt ist. Bei der verwendeten Rundungskonstante handelt es sich um die erweiterte Rundungskonstante doppelter Genauigkeit bzw. Länge. Dies heißt, daß 43 1-Zeichen rechtsbündig mit 29 vorangehenden Null-Zeichen zur Verfügung stehen, indem die Signale ^SRD und j&DRD während des Auftretens des GOS-Signals dem ZQ-Schalter zugeführt werden. Die Mantisse ist durch die während des Vorhandenseins des GOM-Signals dem ZQ-Schalter zugeführten Schaltsignate jfoL, jiOLT und ^OUT gekürzt.
Die Gleitkomma-Operation kann zweckmäßigerweise modifiziert werden, um eine Rundung des Akkumulatorregisterinhalts vorzunehmen. Obwohl diese Funktion in den meisten Fällen unerwünscht ist, da es zu einem Informationsverlust infolge der gekürzten Bits führt, ermöglicht dies jedoch einen
209847/11-15
Vergleich des Akkumulatorregisterinhalts mit einer in dem Speicher befindlichen Zahl auf der Basis desselben Datentyps. Sofern erwünscht, kann der Inhalt des Akkumulators in dem Speicher festgehalten werden. Demgemäß werden Operationen für eine gleitende Rundung und eine doppelte gleitende Rundung bezüglich des Akkumulatorregisters ausgeführt. Diese Operationen werden durch geringfügige Modifikationen der gleitenden Speicherrundungsoperationen ausgeführt.
Die erforderlichen Modifikationen treten dabei lediglich in der letzten Stufe GOF auf. Anstatt den gerundeten Operanden in den Speicher zu leiten, wird der gerundete Operand dem Akkumulator-AQ-Register 56 zugeleitet, von welchem er herstammt.
Im Vorstehenden ist zwar eine besondere Ausführungsform der Erfindung erläutert worden; es dürfte jedoch einzusehen sein, daß die Erfindung darauf nicht beschränkt ist. Vielmehr kann die Erfindung generell bei Digitalrechnern angewandt werden, die Zweierkomplement-Zahlen verarbeiten und bei denen es erforderlich ist, eine Zahlendarstellung in eine Darstellung mit η Bits weniger umzusetzen. Wenn z.B. in einem digitalen Allzweckrechner ein in Zweierkomplementdarstellung vorliegendes ganzzahliges Doppelwort in ein Einzelwort mit η Bits umzusetzen ist, so ist die Erfindung direkt anwendbar, indem eine Rundungskonstante von 2n -1 benutzt wird.
2 f · 9 H U

Claims (6)

  1. Patentansprüche
    Anordnung zur Auf- bzw. Abrundung von Zweierkomplement-Zahlen auf Zahlen, die η Bits weniger aufweisen, in einem binären Rechner, dadurch gekennzeichnet.
    a) daß ein Addierer (38) vorgesehen ist, der die Binärsumme zweier Operanden zu liefern vermag,
    b) daß Rundungseinrichtungen (36) vorgesehen sind, die eine Rundungszahl 2-1 an den Addierer (38) als ersten Operanden für eine zu rundende negative Zahl abgeben,
    c) daß die Rundungseinrichtungen (36) eine Rundungszahl 2n an den Addierer (38) als ersten Operanden für eine zu rundende positive Zahl abgeben und
    d) daß Einrichtungen (40) vorgesehen sind, die eine Zweierkomplement-Binärzahl an den Addierer (38) als zweiten Operanden abgeben.
  2. 2. Anordnung zur Auf- bzw. Abrundung von Zweierkomplementzahlen SUf Zahlen, die η Bits weniger aufweisen, in einem binären Rechner, dadurch gekennzeichnet,
    a) daß ein Addierer (38) vorgesehen ist, der die Binärsumme zweier Operanden zu erzeugen vermag,
    b) daß Rundungseinrichtungen (36) vorgesehen sind, die eine Rundungszahl 2n -1 an den Addierer (38) als ersten Operanden liefern,
    c) daß Einrichtungen (40) vorgesehen sind, die eine Zweierkomplement-Binärzahl an den Addierer (38) als zweiten Operanden abgeben, und
    d) daß Korrektureinrichtungen (205) vorgesehen sind, die ein Übertragseingangssignal an den Addierer (38) in dem Fall abgeben, daß in der Vorzeichenstelle der dem Addierer (38) zugeführten Zweierkomplement-Binärzahl eine Null enthalten ist.
    209847/111 :
  3. 3. Anordnung nach Anspruch 2, dadurch gekennzeichnet,
    a) daß ein Register (40) vorgesehen ist, daß eine dem Addierer (38) als zweiter Operand zuzuführende Binärzahl zu speichern vermag,
    b) daß das betreffende Register (40) mit dem Addierer (38) über eine Operandenschalteinrichtung (41) verbunden ist, zu der eine Einrichtung zur Abgabe einer Zweierkomplement-Binärzahl an den Addierer (38) gehört,
    c) daß eine Register-Eingangsschalteinrichtung (42) vorgesehen ist, die selektiv die zu rundende'Zweierkomplement-Binärzahl oder das Addiererausgangssignal dem Register (40) zuzuführen vermag, und
    d) daß Einrichtungen vorgesehen sind, die den Ausgang des Addierers (38) mit der Register-Eingangsschalteinrichtung (42) verbinden,
  4. 4. Anordnung nach Anspruch 3, dadurch gekennzeichnet, daß mit der Register-Eingangsschalteinrichtung ein Akkumulatorregister (56) verbunden ist, das die jeweils zu rundende Zweierkomplement-Binärzahl liefert, und daß eine Akkumulatorregister-Schalteinrichtung (48) das Akkumulatorregister (56) mit dem Addierer (38) derart verbindet, daß der Inhalt des Akkumulatorregisters (56) selektiv gerundet und in das Akkumulatorregister (56) zurückgeführt wird.
  5. 5. Anordnung nach Anspruch 4, dadurch gekennzeichnet, daß zwischen dem den zweiten Operanden speichernden Register (40) und der Operandenschalteinrichtung (42) eine Verschiebeschalteinrichtung (45) zur Normalisierung des Operanden vorgesehen ist und daß Steuereinrichtungen (41)
    209847/11 T5
    vorgesehen sind, die durch das Operandenregister (40) gesteuert einen in dem betreffenden Operandenregister (40) enthaltenen gerundeten Operanden über die Verschiebeschalteinrichtung (45) und die Operandensehalteinrichtung (42) wieder in das Operandenregister (40) zurückleiten, bis der Operand normalisiert ist.
  6. 6. Anordnung zur Auf- bzw. Abrundung von in Zweierkomplement-Darstellung vorliegenden Gleitkommazahlen auf Zahlen, die η Bits weniger umfassen, in einem binären Rechner, insbesondere nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet,
    a) daß ein Addierer (38) vorgesehen ist, der die Binärsumme zweier Operanden zu liefern vermag,
    b) daß ein Akkumulatorregister (56) vorgesehen ist, welches das Ausgangssignal des Addierers (38) speichert,
    c) daß ein erstes Operandenregister (36) und ein zweites Operandenregister (40) zur Speicherung von Operanden vorgesehen sind,
    d) daß die betreffenden Operandenregister (36,40) jeweils über eine gesonderte Operandenregister-Schalteinrichtung (37,41) mit dem Addierer (38) verbunden sind,
    e) daß ein Ausgäbeschalter vorgesehen ist, der Datenwörter in einem Hauptspeicher (10) zu speichern gestattet,
    f) daß eine Akkumulatorregister-Eingangsschalteinrichtung (55) vorgesehen ist, die selektiv den Addierer (38) mit dem Akkumulatorregister (56) und dem Ausgabeschalter zu verbinden gestattet,
    g) daß eine Akkumulatorregister-Ausgabeschalteinrichtung (46) vorgesehen ist, die selektiv das Akkumulator-
    0 9 8 4 7/111 b
    register (56) mit dem zweiten Operandenregister (40) verbindet,
    h) daß mit der mit dem ersten Operandenregister (36) verbundenen Operandenschalteinrichtung (37) ein Rundungskonstanten-Generator verbunden ist, der den Wert 2n -1 als ersten Operand für den Addierer (38) abgibt, und
    i) daß Einrichtungen (205) vorgesehen sind, die ein Übertragseingangssignal an den Addierer (38) in dem Fall abgeben, daß in dem zweiten Operandenregister (40) ein positives Vorzeichenbit enthalten ist.
    209847/ 1 1
DE2222197A 1971-05-05 1972-05-05 Anordnung zum Auf- bzw. Abrunden von Binärzahlen Expired DE2222197C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14043771A 1971-05-05 1971-05-05

Publications (3)

Publication Number Publication Date
DE2222197A1 true DE2222197A1 (de) 1972-11-16
DE2222197B2 DE2222197B2 (de) 1978-11-09
DE2222197C3 DE2222197C3 (de) 1979-07-19

Family

ID=22491208

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2222197A Expired DE2222197C3 (de) 1971-05-05 1972-05-05 Anordnung zum Auf- bzw. Abrunden von Binärzahlen

Country Status (8)

Country Link
US (1) US3699326A (de)
JP (1) JPS5838811B2 (de)
AU (1) AU458485B2 (de)
CA (1) CA957079A (de)
DE (1) DE2222197C3 (de)
FR (1) FR2135622B1 (de)
GB (1) GB1391841A (de)
IT (1) IT950970B (de)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3891837A (en) * 1972-07-03 1975-06-24 Drew E Sunstein Digital linearity and bias error compensating by adding an extra bit
US3816734A (en) * 1973-03-12 1974-06-11 Bell Telephone Labor Inc Apparatus and method for 2{40 s complement subtraction
US3842250A (en) * 1973-08-29 1974-10-15 Sperry Rand Corp Circuit for implementing rounding in add/subtract logic networks
US3982112A (en) * 1974-12-23 1976-09-21 General Electric Company Recursive numerical processor
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
US4282582A (en) * 1979-06-04 1981-08-04 Sperry Rand Corporation Floating point processor architecture which performs subtraction with reduced number of guard bits
US4295203A (en) * 1979-11-09 1981-10-13 Honeywell Information Systems Inc. Automatic rounding of floating point operands
JPS5776635A (en) * 1980-10-31 1982-05-13 Hitachi Ltd Floating multiplying circuit
AU549632B2 (en) * 1981-04-23 1986-02-06 Data General Corporation Floating point notation
US4442498A (en) * 1981-04-23 1984-04-10 Josh Rosen Arithmetic unit for use in data processing systems
JPS57197650A (en) * 1981-05-29 1982-12-03 Toshiba Corp Operation circuit
DE3144015A1 (de) * 1981-11-05 1983-05-26 Ulrich Prof. Dr. 7500 Karlsruhe Kulisch "schaltungsanordnung und verfahren zur bildung von skalarprodukten und summen von gleitkommazahlen mit maximaler genauigkeit"
JPS5949640A (ja) * 1982-09-16 1984-03-22 Toshiba Corp 乗算回路
JPS5965540U (ja) * 1982-10-25 1984-05-01 富士電機株式会社 インバ−タ装置
US4589084A (en) * 1983-05-16 1986-05-13 Rca Corporation Apparatus for symmetrically truncating two's complement binary signals as for use with interleaved quadrature signals
US5493343A (en) * 1994-12-28 1996-02-20 Thomson Consumer Electronics, Inc. Compensation for truncation error in a digital video signal decoder
JP4847385B2 (ja) 2007-03-30 2011-12-28 株式会社テイエルブイ 液体圧送装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3290493A (en) * 1965-04-01 1966-12-06 North American Aviation Inc Truncated parallel multiplication
US3509330A (en) * 1966-11-25 1970-04-28 William G Batte Binary accumulator with roundoff

Also Published As

Publication number Publication date
AU4160072A (en) 1973-11-01
DE2222197C3 (de) 1979-07-19
FR2135622B1 (de) 1973-07-13
IT950970B (it) 1973-06-20
US3699326A (en) 1972-10-17
JPS5838811B2 (ja) 1983-08-25
FR2135622A1 (de) 1972-12-22
CA957079A (en) 1974-10-29
JPS4827648A (de) 1973-04-12
AU458485B2 (en) 1975-02-27
DE2222197B2 (de) 1978-11-09
GB1391841A (en) 1975-04-23

Similar Documents

Publication Publication Date Title
DE2755273C2 (de)
DE2222197A1 (de) Anordnung zur Auf- bzw. Abrundung von Zweierkomplement-Zahlen
DE2724125C2 (de)
DE3144015C2 (de)
DE2023354C2 (de) Datenverarbeitungsanlage mit einem Mikrobefehlsspeicher
DE2900324A1 (de) Mikroprogrammierbare arithmetische fliesskommaeinheit
DE2753062A1 (de) Einrichtung zur durchfuehrung programmierter befehle
DE1178623B (de) Programmgesteuerte datenverarbeitende Maschine
DE1162111B (de) Gleitkomma-Recheneinrichtung
DE68924386T2 (de) Verfahren und Gerät zur Radix-2**n-Division mit überlappender Quotientenbitauswahl und gleichzeitiger Rundung und Korrektur des Quotienten.
DE1809219A1 (de) Binaeres Vielfach-Addierwerk zur gleichzeitigen Addition mehrerer binaerer Zahlen
DE3852196T2 (de) Gruppenbezogenes Adressierungssystem.
DE2830334C2 (de)
DE2310553A1 (de) Vorrichtung zur durchfuehrung arithmetischer und logischer operationen
DE2826773A1 (de) Verfahren und schaltungsanordnung zum feststellen der wertigkeit von ziffern in arithmetischen operationen mit dezimalrechnern
EP0265555B1 (de) Verfahren und Schaltungsanordnung zur Addition von Gleitkommazahlen
DE2746355A1 (de) Einrichtung und verfahren zur wahlweisen multiplikation oder division zweier als binaerzahlen vorliegender operanden
DE2440390C3 (de)
DE1193279B (de) Elektronen-Ziffernrechner mit eingespeichertem Programm
DE1184122B (de) Addiervorrichtung
DE1223177B (de) Elektronischer Digitalrechner mit Schaltung fuer die Errechnung der Quadratwurzel aus einer Binaerzahl
DE2952163A1 (de) Dv-anlage mit zwei datenprozessoren
DE1283895B (de) Codeumsetzer zum Umsetzen eines beliebigen Eingangscode in einen beliebigen Ausgangscode
DE2523755A1 (de) Divisionsverarbeitungssystem mit 2n-facher genauigkeit
DE2220329B2 (de) Schaltungsanordnung zum Umsetzen einer in Gleitkomma-Darstellung ausgedrückten Zahl in eine Festkomma-Darstellung bei elektronischen Rechnern

Legal Events

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

Owner name: HONEYWELL BULL INC., MINNEAPOLIS, MINN., US

8339 Ceased/non-payment of the annual fee