DE2222197C3 - Anordnung zum Auf- bzw. Abrunden von Binärzahlen - Google Patents
Anordnung zum Auf- bzw. Abrunden von BinärzahlenInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49942—Significance control
- G06F7/49947—Rounding
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.
■§■■
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.
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
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
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
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
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)
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
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)
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)
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 |
-
1971
- 1971-05-05 US US140437A patent/US3699326A/en not_active Expired - Lifetime
-
1972
- 1972-03-31 IT IT22686/72A patent/IT950970B/it active
- 1972-04-04 GB GB1551472A patent/GB1391841A/en not_active Expired
- 1972-04-26 CA CA140,665A patent/CA957079A/en not_active Expired
- 1972-04-27 AU AU41600/72A patent/AU458485B2/en not_active Expired
- 1972-05-01 JP JP47042677A patent/JPS5838811B2/ja not_active Expired
- 1972-05-04 FR FR727215873A patent/FR2135622B1/fr not_active Expired
- 1972-05-05 DE DE2222197A patent/DE2222197C3/de not_active Expired
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) | "Pipelined" 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 |