DE2222197C3 - Anordnung zum Auf- bzw. Abrunden von Binärzahlen - Google Patents

Anordnung zum Auf- bzw. Abrunden von Binärzahlen

Info

Publication number
DE2222197C3
DE2222197C3 DE2222197A DE2222197A DE2222197C3 DE 2222197 C3 DE2222197 C3 DE 2222197C3 DE 2222197 A DE2222197 A DE 2222197A DE 2222197 A DE2222197 A DE 2222197A DE 2222197 C3 DE2222197 C3 DE 2222197C3
Authority
DE
Germany
Prior art keywords
rounding
register
adder
operand
rounded
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.)
Expired
Application number
DE2222197A
Other languages
English (en)
Other versions
DE2222197A1 (de
DE2222197B2 (de
Inventor
Jerry L. Phoenix Kindell
Leonard G. Scottsdale Trubisky
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 Inc
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 Inc filed Critical Honeywell Information Systems Inc
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

Die Erfindung bezieht sich auf eine Anordnung zum Auf- bzw. Abrunden von für die Ausführung von Rechenoperationen vorgesehenen, jeweils m Bits aufweisenden Binärzahlen auf um η niederwertige Bits gekürzte Zahlen, die bei negativem Vorzeichen durch ihr jeweiliges Zweierkomplement gebildet werden, wobei η kleiner m ist und wobei für das Auf- bzw. Abrunden jeweils eine bestimmte Rundungszahl benutzt ist, die im Falle positiven Vorzeichens der zu rundenden Zahl den Wert 2"-1 besitzt und zu der zu rundenden Zahl hinzuaddiert wird.
Es ist bereits eine Anordnung zum Auf- bzw. Abrunden von für die Ausführung einer Multiplikation vorgesehenen Binärzahlen bekannt (US-PS 32 90 493), bei der der Rundungsvorgang entweder dadurch vorgenommen wird, daß der Bitstelle niedrigster Wertigkeit eine Binärziffer 1 hinzuaddiert wird oder daß der jeweilige Multiplikand gegenüber dem Inhalt eines Akkumulators schrittweise nach rechts verschoben wird und das jeweils an niedrigster Bitstelle befindliche Bit zusammen mit dem betreffend ;n Multiplikanden zum Akkumulatorinhalt hinzuaddiert wird. Dieses Rundungsverfahren ist jedoch relativ kompliziert und erfordert einen nicht unbeachtlichen Schaltungsaufwand.
Es ist ferner im Zusammenhang mit einem binären Akkumulator bekannt (US-PS 35 09 330), bei der Eingabe von Zahlen, die aus ganzen Zahlenwerten und aus Dezimalwerten bestehen, in diesem Akkumulator einen gerundeten ganzen Zahlenwert und eine Rundungsfehlerzahl aufzunehmen, die zusammen mit der in diesem Akkumulator aufgenommenen ganzen Zahl den tatsächlich eingegebenen Zahlenwert wiedergibt. Von einer solchen Maßnahme wird jedoch bei einer Anordnung der eingangs genannten Art kein Gebrauch gemacht.
Es ist ferner ein Verfahren zum Abrunden in Rechenoder Buchhaltungsmaschinen bekannt (DE-PS 9 39 174), bei dem mit Dezimalzahlen gearbeitet wird. Zum Abrunden von π niederwertigen Dezimalstellen wird dabei so vorgegangen, daß die an der vordersten Stelle dieser zu rundenden Positionen stehende Ziffer verdoppelt wird und daß nach Addition dieser Ziffer zu der zu rundenden Zahl die sich dann ergebende Zahl von den η niederwertigen Stellen befreit wird. Ist die Ziffer, die verdoppelt worden ist, kleiner als 5, so ergibt sich kein Übertrag in die nächste Ziffernposition. Ein solcher Übertrag ergibt sich lediglich dann, wenn die betreffende Ziffer einen Wert zwischen 5 und 9 besitzt. Von dieser erläuterten Rundungsmaßnahme wird ebenfalls bei einer Anordnung der eingangs genannten Art kein Gebrauch gemacht. Im übrigen eignet sich diese Rundungsmaßnahme nicht ohne weiteres zum Auf- bzw. Abrunden von Binärzahlen.
Es ist ferner auf dem Gebiet der digitalen
■§■■ i
Rechenanlagen bekannt (»Arithmetic Operations in Digital Computers«, von R.K. Richards, 1955, Seiten 174 bis 176), von einer um π niederwertige Bits zu kürzenden Binärzahl diese η Bits in dem Fall einfach wegzulassen, daß diese Bits kleiner sind als 2". Andererseits wird zu der nach der Abrundung verbleibenden Binärziffernfolge ein 1-Bit an der dann die niedrigste Wertigkeit führenden Bitposition hinzuaddiert, wenn die wegzulassenden π Bits größer sind als 2". Diese Rundungsmaßnahme ist indessen lediglich für positive binärzahlen anzuwenden. Bei negativen Zahlen, die in Zweierkomplementdarstellung verwendet werden, kann eine Rundung in unerwünschter Richtung erfolgen, wenn nach diesem Prinzip gerundet wird. Um die damit verbundene Schwierigkeit zu vermeiden, ist es in dem gerade betrachteten Zusammenhang bekannt, die zu rundende Zahl vor dem Runden zunächst in ihre tatsächliche Darstellung umzuwandeln. Dies bedeutet indessen die Ausführung zusätzlicher Verfahrensschritte und damit einen Zeitaufwand, den man bei Rundungsvorgängen im allgemeinen zu vermeiden bemüht ist
Den gerade betrachteten Rundungsvorgängen entsprechende Rundungsvorgänge sind auch an anderer Stelle bereits beschrieben worden (»Digitale Rechenanlagen« von A. P. Speiser, Springer-Verlag, Berlin/ Heidelberg/New York. 1965, Seiten 238, 239). Demgemäß werden die überflüssigen Stellen einfach weggelassen, oder die letzte nicht weggelassene Stelle wird um 1 erhöht, falls der weggelassene Teil gleich oder größer 1/2 ist Dies bedeutet, daß man zunächst 1/2 hinzuaddiert und dann die überflüssigen Stellen einfach wegläßt. Eine weitere, in dem gerade betrachteten Zusammenhang bekannte Maßnahme der Vornahme einer Rundung besteht darin, die letzte nicht weggelassene Stelle um 1 zu erhöhen, falls sie gerade ist, ansonsten aber diese Stelle unverändert zu lassen. Auch diese Rundungsm&ßnahmen können lediglich bei positiven Zahlen angewandt werden.
Der Erfindung liegt die Aufgabe zugrunde, einen Weg zu zeigen, wie bei einer Anordnung der eingangs genannten Art auf relativ einfache Weise auch negative Binärzahlen gerundet werden können, und zwar so, daß gleiche positive und negative Zahlen nach dem jeweiligen Auf- bzw. Abrunden zumindest angenähert gleiche absolute Werte besitzen.
Gelöst wird die vorstehend aufgezeigte Aufgabe bei einer Anordnung der eingangs genannten Art erfindungsgemäß dadurch, daß eine Rundungseinrichtung mit einem Rundungszahlgenerator vorgesehen ist, wobei die Rundungseinrichtung zur Feststellung des Vorzeichens der zu rundenden Zahl ausgebildet ist und bei Feststellen einer negativen, also Zweierkomplementzahl, den Rundungszahlgenerator zur Abgabe der in diesem Fall den Wert 2"-' — 1 aufweisenden Rundungszahl veranlaßt. Durch diese Maßnahmen ergibt sich der Vorteil, daß mit relativ geringem schaltungstechnischen Aufwand sichergestellt ist, daß zu rundende Zahlen mit negativem Vorzeichen nach ihrer Rundung zumindest weitgehend den gleichen Absolutwert besitzen wie gleich große zu rundende Zahlen mit positivem Vorzeichen. Damit können die jeweils gerundeten Binärzahlen unmittelbar weiterverarbeitet werden, ohne daß die Ausführung von Korrekturschritten erforderlich ist.
Zweckmäßige Ausgestaltungen der Erfindung ergeben sich aus den Unteransprüchen.
Anhand von Zeichnungen wird nachstehend ein Ausführungsbeispiel der Erfindung näher erläutert
Fi g. 1 zeigt in einem Blockdiagramm eine bevorzugte Ausführungsform der Erfindung, unter Veranschaulichung von Registern, Schaltern und Addierern eines 5 Operationswerkes für einen im Biuärsystem arbeitenden Digitalrechner;
F i g. 2 zeigt in einem Blockdiagramm Verknüpfungselemente, die ein Steuerwerk für das Operationswerk gemäß F ig. 1 bilden;
ίο Fig.3 zeigt in einem Verknfipfungsdiagramm eine schaltungstechnische Realisierung eines charakteristischen Schalters für das in F i g. 1 dargestellte Operationswerk. In F i g. 1 sind die Hauptelemente dargestellt, die für
is den ein Rechenwerk bildenden Digitalrechner und für 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 34 13 613
Bezug genommen.
Ein Hauptspeicher 10 leitet Datenwörter und Befehlswörter über einen Z/Schalter 11 zu einem ZV-Schalter 88, einem Befehls-I-Register 78 und einem ZA-Schalter 13 hin. Zwei Datenwörter werden über den ΖΛ-Schalter 13 und den ZP-Schalter 12 einem 72-Bit-Af-Register 14 zugeleitet Ein Z/-Schalter 20 leitet selektiv Datenwörter aus dem M-Register zu einem 72-Bit-//-Register 36 hin, bei dem es sich um eines der beiden Operandenregister für den Haupt-A-Addirer 38 handelt und welches — wie weiter unten noch ersichtlich werden wird — eine Rundungseinrichtung darstellt Das zweite Operandenregister ist ein 72-Bit-MRegister 40, das über den Z(?-Scha!ter 42 geladen wird. Der Α-Addierer ist ein 72-Bit-Volladdierer, der selektiv Rechenoperationen bezüglich der Addition und Subtraktion von Binärzahlen bzw. Zweierkomplementzahlen und die Verknüpfungsoperationen ODER, UND und EXKLUSIV-ODER ausführt. Die Eingangssignale für den Λ-Addierer werden mittels des ZW-Verknüp fungsgliedes 37 bzw. über den entsprechend be?eichne- ten Schalter ausgewählt. Über dieses Verknüpfungsglied bzw. über diesen Schalter 37 steht das erste Operandeneingangssignal des H- Registers 36 zur Verfügung, und über den ZN-Schalter bzw. das Z/V-Glied 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 Z(?-Schalter 42 zu dem A/-Register hin geleitet werden. Der Inhalt
so 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 / Q- Register 56, weitergeleitet Ober den ΖΛ-Schalter 46 wird der jeweilige Akkumulatorinhalt selektiv zu dem H- Register oder zu dem N- Register hingeleitet, und zwar über den Z/-Schalter 20 bzw. den Z(?-Schalter42.
Die Exponententeile von aus dem Speicher 10 herausgeführten Worten, die über den Z/-Schalter 11 gelangen, werden ebenfalls selektiv und rechtsbündig einem 10-Bit-D-Register 22 zugeleitet und zwar üher den Ziy-Schalter 16. Der Zweck dieser Maßnahme dient dazu, einen Exponenten von einer Gleitkommazahl zu trennen. Es ist aber auch möglich, die betreffenden
b5 Wörter einem lO-Bit-ACT-Register 28 über den ZC-Schalter 27 zuzuleiten. Der Zweck dieser Maßnahme dient dazu, Verschiebungszählungen und dgl. aufrechtzuhalten. Ein Exponent-F-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-ScS.alter 24, der Zü-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 30 hin.
Die in F i g. 1 dargestellte Anordnung besteht aus einer Kombination von Schaltern, Registern und Addierern. Die besondere Realisierung dieser Einrichtungen ist jedoch nicht Gegenstand der vorliegenden Erfindung. Zur Realisierung des ^-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 Übertragseingangssignale 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 F i g. 3 bezüglich der ersten Stufe des Z<?-Schalters 42 dargestellt ist Im Hinblick auf die wählbaren Eingangssignale sind UND-Glieder 301, 302, 303, 304 vorgesehen; diese UND-Glieder dienen für die Aufnahme der Eingangssignale von dem Verschiebe-ZS-Schalter 45, dem /4-Addierer 38, dem ZÄ-Schalter 46 und zur Aufnahme einer Dauer-Null. Die betreffenden Eingangssignale werden durch Zuführung der entsprechenden Steuersignale φΖΞ, φΑ, ^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 da;. NAND-Glied 307 invertiert
In Fi g. 2 sind die Hauptelemente dargestellt, die ein Steuerwerk bilden, welches Operationscodes decodiert, Maschinenzyklen einleitet und beendet und verschiedene Steuersignale erzeugt Aus dem Befehls-7-Register 78 gemäß Fig. 1 werden die Operationscodeteile der Befehle, nämlich die Bits 18—25 oder 54—62, selektiv über einen ZOÄ-Schalter 94 in ein Puffer-Ä 1-Register 46 eingeleitet Das Bl -Register liefert ein Eingangssignal für ein ARegister 97, welches seinerseits ein Eingangssignal für ein S-Register 98 und ein Decodiernetzwerk 95 liefert Das B1 -Register erzeugt ferner ein Signal Bl-VoIl, welches anzeigt daß das betreffende Register von dem /-Register her geladen worden ist Dadurch wird ein B\-Kennzeichenflipflop 101 gesetzt, wenn dem UND-Glied 101 ein CY-Taktsignal zugeführt wird. Das Flipflop 101 seizt seinerseits ein P-Kennzeichenflipflop 102, welches das Bl-Kennzeichenflipflop zurückstellt und einen vorläufigen Operationszyklus CIN einleitet, indem es ein G//V-/?S-Flipflop 121 setzt. Während dieser Zeitspanne tritt der eingestellte Befehl auf, und der Inhalt des Bl-Registers wird zu dem P-Register hin übertragen.
ίο Dieses S-Register veranlaßt seinerseits das Setzen des 5-Kennzeichenflipflops 103, und ferner liefert es das Eingangssignal für den Betrieb des Decodiernetzwerks 99.
Im allgemeinen werden die Maschinenbetriebszyklen bzw. Maschinenoperationszylken 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ührungsleistung minimisiert werden.
Während des ersten Maschinenzyklus der Befehlsausführung des Befehls COS wird der Operand aus dem Akkumulator-i4(?-Register in das Operanden-MRegister geschoben. Das Steuersignal wird für diesen Zyklus von dem im Setzzustand befindlichen GOS-&S-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 /V-Registeroperand eingestellt ist, wird während des GOS-Zyklus die eigentliche Rundung vorgenommen. Das Steuersignal für diesen Zyklus wird
is von dem GOM-MS-Flipflop 125 geliefert, das durch die Logik bzw. Verknüpfungslogik 124 wie folgt gesteuert wird:
Setzen GOAf = SG GOS FCONV
Rückstellen GOM = SG ■ GOM ■ FCONV
dn Das FCCWV-Signal wird von dem Decodiernetzwerk 99 geliefert. Das Übertrags-Eingangssignal wird von dem UND-Glied 205 geliefert, wenn das Vorzeichen des Operanden Λ500 positiv ist.
Um die größtmögliche Genauigkeit bei dem gerunde-5 ten Operanden zu erzielen, ist es wünschenswert, einen Normalisierungszyklus nach dem Runden durch einen GCW-Zyklus auszuführen. Das Steuersignal für diesen Zyklus wird von dem GON- RS-Flipflop 127 geliefert, das durch die Logik 126 wie folgt gesteuert wird:
Setzen GON = SG ■ NRM
Rückstellen GON ■ SG ■ GON ■ LNS
Das NRM-S\gna\, 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 = RNÖÖWRNÖi)
ausgeführt werden. Die Normalisierung wird so lange fortgesetzt bis sich dieser Zustand ändert Die Änderung wird durch Überprüfung der zweiten und dritten Bits
(LNS = NRM ■ (RNOi © RN02)
vorweggenommen. Die für die Normalisierung erforderliche Zeitspanne ist variabel; sie hängt von dei
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 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-Flipüop 129 geliefert. Die Logik 128 steuert das GOF-Flipflop wie folgt:
Setzen GOF = SG ■ (GOM ■ FCONV ■ NRM
+ 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 G/ZV-Einsteli-Zyklen. Die betreffenden Zyklen werden durch die Steuersignale GOS, GOM, GON und GOF von der Steuerlogik gemäß F i g. 2 her ausgelöst bzw. freigegeben. Bei auftretendem Steuersignal GIN bewirken die Steuersignale ^OC und SACT die Lösung des ACT- Registers. Bei vorhandenem GOS-Signal geben die Steuersignale cAQ, cZR bzw. SNNden Z/?-Schalter 46, den ZO-Schalter 42 und das MRegister 40 gemäß Fig. 1 frei, um den Inhalt des Aζ)-Registeis 56 in das ΛΖ-Register zu übertragen. Fei ner bewirken die Signale cDRD und SH, daß die Rundungskonstante in das f/-Register 36 geladen wird. Bei vorhandenem GOM-Signal wird der Inhalt des AZ-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 Operand addiert werden, wobei das Ergebnis in das N-Register zurückgeführt wird. Die Steuersignale <JH, <{N und ^K 72 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 ^A- und SAW-Steuersignale in das /V-Register geleitet Die Bit-Positionen in dem bei der Rundung verlorengegangenen Teil der Zahl werden durch das Steuersignal bzw. Tastsignal (fOLT gelöscht 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 GCW 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 /V-Registers mittels des ZS-Schalters 43 durchgeschaltet und um eine Bitposition nach rechts verschoben. Dies erfolgt mit Hilfe des Steuer- bzw. Tastsignals 4SR 1. Die Vorzeichenstelle wird dabei mit dem Komplement des vorhergehenden Vorzeichenbits gefüllt. Das verschobene Ergebnis wird dann durch die Steuersignale iZS 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 <fZF, ifOFund 4CRRYS bewirken die Abgabe einer 0 und eines Übertragseingangssignals in den E-Addierer 34. Das Ausgangssignal des ^-Addierers wird durch die Tastsignale $E und SACT in das ACT-Register 28 geleitet.
Dei Abschlußschrilt führt bei vorhandenem Signal GOFdazu, daß die ersten 64 Bits des JV-Registers in den Speicher 10 übertragen werden, und zwar über die letzten 64 Bits des ZO-Schalters unter der Steuerung seitens des Signals (fFLA. Gleichzeitig wird die Summe des f-Registers 30 und des ACT-Registers 28 mit Hilfe der Steuersignale <fE 4ACT, 4FLA 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 in 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 4SRD und 4DRD während des Auftretens des GOS-Signals dem ZO-Schalter zugeführt werden. Die Mantisse ist durch die während des Vorhandenseins des GOM-Signals dem ZO-Schalter zugeführten Schaltsignale 4OL,<jOLTuna «fOt/rgekü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 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 Rundfung 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-/!O-Register 56 zugeleitet von welchem er herstammt
Die Erfindung kann generell bei Digitalrechnern
b5 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 Allzweck-
rechner ein in Zweierkomplementdarstcllung vorliegendes ganzzahliges Doppelwort in ein Einzelwort mit η Bits umzusetzen ist, so ist die Erfindung direkt anwendbar, indem eine Rundungskonstante von 2"-'-l benutzt wird.
Hierzu 2 Blatt Zeichnungen

Claims (3)

Patentansprüche:
1. Anordnung zum Auf- bzw. Abrunden von für die Ausführung von Rechenoperationen vorgesehen, jeweils m Bits aufweisenden Binärzahlen auf um π niederwertige Bits gekürzte Zahlen, die bei negativem Vorzeichen durch ihr jeweiliges Zweierkomplement gebildet werden, wobei π kleiner m ist und wobei für das Auf- bzw. Abrunden jeweils eine bestimmte Rundungszahl benutzt ist, die im Falle positiven Vorzeichens der zu rundenden Zahl den Wert 2"-' besitzt und zu der zu rundenden Zahl hinzuaddiert wird, dadurch gekennzeichnet, daß eine Rundungseinrichtung (36) mit einem Rundungszahlgenerator vorgesehen ist, wobei die Rundungseinrichtung zur Feststellung des Vorzeichens der zu rundenden Zahl ausgebildet ist und bei Feststellen einer negativen, also Zweierkomplementzahl, den Rundungszahlgenerator zur Abgabe der in diesem Fall den Wert 2"-' -1 aufweisenden Rundungszahl veranlaßt.
2. Anordnung nach Anspruch 1, dadurch gekennzeichnet,
a) daß ein Addierer (38) vorgesehen ist, der die Binärsumme zweier Operanden zu erzeugen vermag,
b) daß die Rundungseinrichtung (36) die Abgabe der Rundungszahl 2"-' -1 an den Addierer (38) als ersten Operanden liefert,
c) daß Einrichtungen (40) vorgesehen sind, die das Zweierkomplement einer negativen Binärzahl als zweiten Operanden an den Addierer (38) abgeben, und
d) daß Korrektureinrichtungen (205) vorgesehen sind, die ein Übertragseingangssignal an den Addierer (38) in dem Fall abgeben, daß das Vorzeichen der zu rundenden Binärzahl positiv ist.
3. Anordnung zum Auf- bzw. Abrunden nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß für die Behandlung von Gleitkommazahlen
a) ein Addierer (38) vorgesehen ist, der die Binärsumme zweier Operanden zu liefern vermag,
b) ein Akkumulatorregister (56) vorgesehen ist, welches das Ausgangssignal des Addierers (38) speichert,
c) ein erstes Operandenregister (36) und ein zweites Operandenregister (40) zur Speicherung von Operanden vorgesehen sind,
d) die betreffenden Operandenregister (36, 40) jeweils über eine gesonderte Operandenregister-Schalteinrichtung (37, 41) mit dem Addierer (38) verbunden sind,
e) ein Ausgabeschalter vorgesehen ist, der Datenwörter in einem Hauptspeicher (10) zu speichern gestattet,
f) eine Akkumulatorregister-Eingangsschalteinrichtung (55) vorgesehen ist, die selektiv den f>o Addierer (38) mit dem Akkumulatorregister (56) und dem Ausgabeschalter zu verbinden gestattet,
g) eine Akkumulatorregister-Ausgabeschalteinrichtung (46) vorgesehen ist, die selektiv das μ Akkumulatorregister (56) mit dem zweiten Operandenregister (40) verbindet,
hi mit der mit dem ersten Operandenregister (36) verbundenen Operandenschalteinrichtung (37) ein Rundungskonstanten-Generator verbunden ist, der den Wert 2"-' -1 als ersten Operand für den Addierer (38) abgibt, und i) 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
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 DE2222197A1 (de) 1972-11-16
DE2222197B2 DE2222197B2 (de) 1978-11-09
DE2222197C3 true 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
FR2135622B1 (de) 1973-07-13
DE2222197A1 (de) 1972-11-16
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
DE2222197C3 (de) Anordnung zum Auf- bzw. Abrunden von Binärzahlen
DE69130653T2 (de) &#34;Pipelined&#34; Verarbeitungseinheit für Fliesskommazahlen
DE1934365C3 (de) Umschaltanordnung für eine Multiprogramm-Datenverarbeitungsanlage
DE3144015C2 (de)
DE69032891T2 (de) Verfahren und Gerät zur Ausführung mathematischer Funktionen mit Hilfe polynomialer Annäherung und eines Multiplizierers rechteckigen Seitenverhältnisses
DE1549476B2 (de) Anordnung zur ausfuehrung von divisionen
DE1549477B1 (de) Einrichtung zur schnellen akkumulation einer anzahl mehr stelliger binaerer operanden
DE2814078A1 (de) Addierschaltung mit zeitweiliger zwischenspeicherung des uebertrags
CH644461A5 (de) Digitale multipliziereinrichtung.
DE1549508C3 (de) Anordnung zur Übertragsberechnung mit kurzer Signallaufzeit
DE2221693B2 (de) Schaltungsanordnung zur Ausführung einer Multiplikation zwischen zwei Binärzahlen
EP0453641A2 (de) CORDIC-Prozessor für Vektordrehungen in Carry-Save-Architektur
DE3303269C2 (de)
DE2826773A1 (de) Verfahren und schaltungsanordnung zum feststellen der wertigkeit von ziffern in arithmetischen operationen mit dezimalrechnern
DE1184122B (de) Addiervorrichtung
DE2313246A1 (de) Spezialrechner
DE1222290B (de) Binaere Recheneinrichtung zur Bildung und Akkumulation von Produkten
DE2017132B2 (de) Binärer Parallel-Addierer
DE2220329B2 (de) Schaltungsanordnung zum Umsetzen einer in Gleitkomma-Darstellung ausgedrückten Zahl in eine Festkomma-Darstellung bei elektronischen Rechnern
DE1549449A1 (de) Einrichtung zur Verarbeitung von Gleitkommazahlen
DE1549446A1 (de) Digitalrechner
DE1259122B (de) Schaltungsanordnung zur Durchfuehrung verkuerzter Multiplikationen oder Divisionen
DE2945160A1 (de) Stack-speicher
DE2501985A1 (de) Mit gleitkomma arbeitender rechenmechanismus
EP0416153B1 (de) Verfahren für Datenverarbeitungsanlagen zur Division von, zu Beginn jeweils normalisierten, beliebig langen Operanden und Divisionswerk zur Durchführung des Verfahrens

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