DE3306084A1 - Rechnerarchitektur zur gleitkomma -addition - Google Patents
Rechnerarchitektur zur gleitkomma -additionInfo
- Publication number
- DE3306084A1 DE3306084A1 DE19833306084 DE3306084A DE3306084A1 DE 3306084 A1 DE3306084 A1 DE 3306084A1 DE 19833306084 DE19833306084 DE 19833306084 DE 3306084 A DE3306084 A DE 3306084A DE 3306084 A1 DE3306084 A1 DE 3306084A1
- Authority
- DE
- Germany
- Prior art keywords
- digit
- digital word
- slide
- floating point
- computing 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
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
- G06F7/485—Adding; Subtracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/01—Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
- G06F5/012—Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising in floating-point computations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computational Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Nonlinear Science (AREA)
- Complex Calculations (AREA)
- Executing Machine-Instructions (AREA)
Description
DOPNfSR 3. MUFr .'AGEL
P..TEN.-.-? .".VALTe
Raytheon Company, l4l Spring Street, Lexington, MA 02173
Vereinigte Staaten von Amerika
Die Erfindung betrifft das Rechenwerk eines Digitalrechners.
Sie befaßt sich insbesondere damit, die Zeit zur Durchführung
von Gleitkomma-Additionen spürbar zu verringern, indem die für die Durchführung von Schiebeoperationen benötigte Zeit
verringert wird.
Die in Digitalrechnern durchgeführten arithmetischen Operationen
können Operationen mit Festkomma sein, wie sie z.B. für wirtschafte- oder statistische Berechnungen verwendet
werden, oder Gleitkomma-Operationen, die hautpsächlich für wissenschaftliche und Ingenieurberechnungen verwendet werden. Der Radixpunkt ist in einem Digitalrechner implizit
vorhanden und besitzt keinen physikalischen Speicherplatz. Bei Festkomma-Rechnungen befindet sich der Radixpunkt unmittelbar rechts neben der Ziffernstelle mit dem niedrigsten Stellenwert oder unmittelbar rechts von der Vorzeichenstelle vor der ersten Ziffernstelle. Bei Gleitkomma-Rechnungen ist eine Zahl durch ein Vorzeichen, eine Mantisse und einen Exponenten repräsentiert, wobei die Mantisse Festkommanotation haben kann und der Exponent entweder eine positive oder negative ganze Zahl ist.
werden, oder Gleitkomma-Operationen, die hautpsächlich für wissenschaftliche und Ingenieurberechnungen verwendet werden. Der Radixpunkt ist in einem Digitalrechner implizit
vorhanden und besitzt keinen physikalischen Speicherplatz. Bei Festkomma-Rechnungen befindet sich der Radixpunkt unmittelbar rechts neben der Ziffernstelle mit dem niedrigsten Stellenwert oder unmittelbar rechts von der Vorzeichenstelle vor der ersten Ziffernstelle. Bei Gleitkomma-Rechnungen ist eine Zahl durch ein Vorzeichen, eine Mantisse und einen Exponenten repräsentiert, wobei die Mantisse Festkommanotation haben kann und der Exponent entweder eine positive oder negative ganze Zahl ist.
Bevor man zwei Zahlen mit Gleitkomma addieren oder subtrahieren kann, mü.ssen die Exponenten miteinander verglichen
und gleichgesetzt werden. Häufig ist ein getrenntes Rechenwerk vorgesehen, mit welchem die Exponentenberechnung durchgeführt
wird. Dies erfolgt gleichlaufend mit der Mantissenberechnung,
um die Rechengeschwindigkeit zu erhöhen. Bei normalisierten Rechenvorgängen mit Gleitkomma wird eine
Gleitkommazahl normalisiert, falls die Mantissenstelle mit dem höchsten Stellenwert eine von Null abweichende Ziffer
enthält. Diese Normalisierung erfordert ein Verschieben der Mantisse nach links, wodurch redundante führende Nullen an
Stellen mit dem höheren Stellenwert entfernt werden; der Exponent wird entsprechend verkleinert, bis an der höchstwertigen
Stelle eine von Null verschiedene Ziffer auftaucht. Bei normalisierter Rechnung müssen alle Gleitkommazahlen zunächst
normalisiert werden, bevor sie behandelt werden können. Deshalb müssen nach jedem Zwischenrechenschritt neue
Renormalisierungsprozeduren stattfinden, um sicherzustellen,
daß die normalisierte Form nicht verletzt ist. Gleitkommazahlendarstellungen
sind in vielen Veröffentlichungen beschrieben. Beispielhaft sei genannt "Computer Arithmetic: Principles,
Architecture and Design", Kai Hwang, John Wiley and Sons, 1979".
Die Gleitkomma-Addition erfordert Schiebevorgänge, um die Operanden auszurichten und das Ergebnis zu normalisieren.
Die Anzahl der Verschiebungen ist nur begrenzt durch die Länge der Mantisse und den speziellen verwendeten Abrundungsalgorithmus.
Die maximale Zahl der ausgeführten Verschiebungen in einem Binärzahlensystem ist häufig gleich
der Anzahl der Mantissenbits zuzüglich eins.
Computer, deren Schiebeeinrichtungen beschränkt sind auf eine Verschiebungszahl von wenigen Bits pro Zeitpunkt benötigen
große Zeitspannen um wiederholt lange Schiebevorgänge auszuführen. Schiebeeinrichtungen mit einem größeren
Verschiebungsbereich können eine Verschiebung zur Ausrichtung oder Normalisierung in einem einzigen Vorgang ausfüh-
ren und besitzen im allgemeinen eine wesentlich größere Verteilungsverzögerung
als ein Einzelschritt, der von einer kleineren Schiebeeinrichtung ausgeführt wird. Bei bekannten
Rechnern werden Gleitkomma-Additionen in der Weise ausgeführt, daß Ausrichtung und Normalisierung für jede Operation
in einem Schritt mittels eines mehrstelligen Schiebers durchgeführt werden oder in so vielen Schritten, wie sie eine
kürzere Schiebeeinrichtung zur Durchführung einer entsprechenden Vielzahl von Verschiebungen benötigt.
Der Erfindung liegt die Aufgabe zugrunde, das Rechnen mit
Gleitkommazahlen zu beschleunigen, indem die für die Schiebeoperationen erforderliche Zeit verkürzt wird.
Diese Aufgabe wird durch eine Rechnerarchitektur mit den Merkmalen des Patentanspruches 1 gelöst.
Vorteilhafte Ausgestaltungen und Weiterbildungen sowie ein Verfahren zur Durchführung von Gleitkommaoperationen sind
Gegenstand der Unteransprüche, auf die hiermit zur Verkürzung der Beschreibung ausdrücklich verwiesen wird.
Die Erfindung offenbart also ein Rechenwerk, das Additionen mit erheblich kürzerer Ausführungszeit für den Mantissenteil
von Gleitkommazahlen bewältigt. Es werden Schiebeeinrichtungen zur Ausrichtung und Normalisierung während der Gleitkomma-Addition
eingesetzt, so daß ein Digitalwort zur Ausführung sämtlicher Funktionen nur ein einziges mal durch die
Schiebeeinrichtung hindurchläuft. Die Schiebeeinrichtungen
beinhalten einstellige Schieber zur Verschiebung der Ziffern in einem Digitalwort um eine Stelle sowie einen mehrstelligen
Schieber zur Verschiebung von Ziffern in einem Digitalwort um eine Mehrzahl von Stellen. Der mehrstellige
Schieber vermag Verschiebungen sowohl nach links als auch nach rechts auszuführen, während der einstellige Schieber
lediglich nach.links oder nach rechts, nicht jedoch in bei-
-M-
den Richtungen, verschieben können muß. Die mehrstellige
Schiebeeinrichtung beinhaltet einen Umlaufschieber. Ein
Digitalwort durchwandert ihn nicht mehr als einmal während einer Gleitkomma-Addition. Ein Rechen- und Steuerwerk ist
parallel mit dem mehrstelligen Schieber verbunden, während der Eingang und der Ausgang des Rechen- und Steuerwerks mit
einstelligen Schiebern in Verbindung stehen. Es ist jedoch nicht erforderlich, das ein Digitalwort ausschließlich deshalb
durch das Rechen- und Steuerwerk geführt werden muß, um Zugang zu einer Schiebeeinrichtung zu erhalten. Die Durchführung
von Gleitkomma-Additionen wird durch Mikroprogramm gesteuert. Die beschriebene Konfiguration von mit einem Rechen-
und Steuerwerk verbundenen Schiebeeinrichtunqen stellt das Mittel zur Verkürzung der Zeit für die Durchführung von
Gleitkomma-Additionen dar.
Die Erfindung offenbart ferner einen Digitalrechner mit einem Speicher z,ur Speicherung von Digitalwörtern einschließlich
Daten und Befehlen,einem Hauptrechenwerk und einem Exponentenrechenwerk
zur Durchführung arithmetischer und logischer Funktionen, eine Steuerung zur Erzeugung von Signalen für
die Durchführung der Computeroperationen, eine Eingabe-Ausgabeeinheit zur Steuerung des Durchganges von Digitalwörtern
in den und aus dem Rechner, einen Rechnerbus zur Verbindung des Speichers, der Rechenwerke und der Eingabe-Ausgabeeinheit
sowie einen Eingabe-Ausgabebus zur Übertragung von Digitalwörtern in den bzw. aus dem Rechner. Das Hauptrechenwerk
beinhaltet ferner zwei Arten von Schiebeeinrichtungen zur Ausführung von Gleitkomma-Additionen einschließlich der
Ausricht- und Normalisierunqsfunktion, wobei ein Digitalwort
zur Ausführung jeder dieser Funktionen nur einmal durch die Schiebeeinrichtungen läuft. Die Schiebeeinrichtungen umfassen
einstellige Schieber, die in der Lage sein müssen, nach rechts oder nach links, nicht jedoch in beiden Richtungen
zu verschieben, sowie einen mehrstelligen Schieber, der sowohl nach rechts als auch nach links verschieben kann. Der
mehrstellige Schieber umfaßt einen Umlaufschieber und wird
während einer Gleitkomma-Addition nicht mehr als einmal von einem Digitalwort durchlaufen. Das Rechen- und Steuerwerk
ist mit dem mehrstelligen Schieber parallel verbunden, während seine Eingänge und Ausgänge mit einstelligen Schiebern
in Verbindung stehen. Ein Digitalwort muß jedoch nicht nur deshalb durch das Steuer- und Rechenwerk laufen, um Zugang
zu einer Schiebeeinrichtung zu erhalten. Die Durchführung aller Rechneroperationen findet unter Mikroprogrammsteuerung
statt. Diese Konfiguration von mit einem Rechner- und Steuerwerk
verbundenen Schiebeeinrichtungen stellt das Mittel dar, durch welches die Ausführungszeit von Gleitkomma-Additionen
verkürzt wird.
Das Verfahren gemäß der Erfindung zur Durchführung von Gleitkomma-Additionen
umfaßt folgende Verfahrensschritte: Mit Hilfe von Schiebeeinrichtungen werden Ausricht- und Normalisierungsfunktionen
ausgeführt, wobei ein Digitalwort zur Durchführung dieser sämtlichen Funktionen nur einmal durch eine
Schiebeeinrichtung läuft, mit Hilfe von einstelligen Schiebern werden Ziffern in dem Digitalwort um eine Stelle verschoben,
mit Hilfe eines mehrstelligen Schiebers, der mit einem einstelligen Schieber verbunden ist, werden Ziffern in
dem Digitalwort um eine Mehrzahl von Stellen verschoben, wobei der mehrstellige Schieber von dem Digitalwort nicht mehr
als einmal während einer Gleitkommaoperation durchlaufen wird, mit Hilfe eines Rechen- und Steuerwerks, das mit den
Schiebern verbunden ist, wird eine Addition ausgeführt, so daß das genannte Digitalwort das Rechen- und Steuerwerk
nicht lediglich deshalb durchlaufen muß, um Zugang zu einer Schiebeeinrichtung zu erhalten. Die Verfahrensschritte der
Verschiebung von Ziffern beinhalten Links- und Rechtsverschiebungen innerhalb des genannten Digitalwortes. Der
Schritt der Addition beinhaltet das Addieren von zwei Mantissen-Digitalwörtern. Der Schritt der Verschiebung von
Ziffern innerhalb eines Digitalwortes um eine Mehrzahl von
Stellen bedient sich eines UralaufSchiebers. Das Verfahren
beinhaltet ferner den Verfahrensschritt zur Erzeugung von Steuersignalen unter Verwendung einer Mikroprogrammsteuerung,
wobei Steuersignale parallele Pfade gleichzeitig aktivieren. In einem Pfad befindet sich ein mehrstelliger Schieber, in
einem anderen Pfad ein Rechen- und Steuerwerk. Die Steuersignale wählen den Ausgang nur desjenigen Pfades zur Abspeicherung
aus, der durch die Statusbedingungen des Rechners bestimmt wird.
Im folgenden sei die Erfindung anhand der Zeichnungen näher erläutert:
Fig. 1 zeigt als Blockschaltbild ein Funktionsdiagramm einer
Einrichtung gemäß der Erfindung,
Fig. 2 zeigt ein allgemeines Blockschaltbild eines Digitalrechners
mit einem Hauptrechenwerk mit Gleitkomma-Architektur gemäß der Erfindung,
Fig. 3 zeigt eine logische Realisierung der Einrichtung gemäß
Fig. 1,
Fig. k zeigt ein Blockschaltbild des in Fig. 1 und 2 dargestellten
UmlaufSchiebers 18,
Fig. 5 zeigt ein Flußdiagramm eines Mikroprogramms zur Gleitkomma-Addition gemäß der Erfindung.
In Fig. 1 ist ein Funktionsblockdiagramm eines Hauptrechenwerks
64 zur Ausführung arithmetischer Operationen an der Mantisse einer Zahl oder eines Digitalwortes mit Gleitkomma.
Dieses Rechenwerk 64 wird in Verbindung mit einem herkömmlichen Rechenwerk für den Gleitkomma-Exponenten verwendet, wie
es beispielhaft in Fig. 2 dargestellt ist. Geeignete Steuersignale 35 dienen zur Ausführung der Gleitkommarechnung. Ein
Radixzahlensystem mit der Radixzahl r = 2 ist allgemein als Binärzahlensystem bekannt. Eine Ziffer im Binärzahlensystem
wird als Bit bezeichnet. In Zahlensystemen, deren Radixzahl r größer als 2 ist, werden mehrere Binärziffern oder Bits
-sr -
zur Codierung jeder Radix r-Ziffer benötigt. Ein Digitalwort
umfaßt eine Mehrzahl von Ziffern, die zur Darstellung einer Zahl in benachbarten Stellen ausgerichtet sind. Register
speichern die Mantissen von Gleitkomma-Digitalwörtern oder
-zahlen, die zueinander addiert werden sollen. Ein Rechtsschieber 12 bewirkt auf Anforderung Rechtsverschieben um eine
einzige Stelle bei ein- oder mehrstelligen Digitalwörtern, die von den Registern 10 herangeführt werden. Ein Rechen-
und Steuerwerk (arithmetic-logic unit ALU) 14 addiert zwei an den Eingängen anliegende Mantissen darstellende Digitalwörter
oder Zahlen, führt loqische Operationen an diesen Digitalwörtern aus oder überträgt Digitalwörter einfach unverändert
zu einem einstelligen Linksschieber 16. Ein Umlaufschieber 18, der parallel zu dem die ALU 14 enthaltenden
und mit dem Linksschieber 16 verbundenen Pfad geschaltet ist, vermag beliebig mehrere Ziffernstellen nach links
oder rechts zu verschieben. Ein A-Bus 20, ein B-Bus 22 und F-Bus 24 erleichtern die Übertragung von Digitalworten während
einer Gleitkomma-Rechenoperation. Der A-Bus 20 liefert einen Gleitkomma-Operanden an einen Eingang der ALU 14 oder
ein Digitalwort an den Umlaufschieber 18. Der B-Bus 22 liefert
einen Gleitkomma-Operanden zu einem zweiten Eingang der ALU 14, ein Digitalwort zu dem Umlaufschieber 18 oder überträgt
ein Digitalwort zu den Registern 10. Der F-Bus 24 überträgt das Zwischen- oder Endergebnis der Gleitkomma-Rechnung
zu den Registern 10 oder zu anderen Teilen eines Gleitkomma-Digitalrechners.
Die in dem Hauptrechenwerk 64 ausgeführte Operationssequenz, die Mantissenberechnungen beinhaltet, wird von einer Mikroprogrammsteuerung
30 bestimmt, die mit einem Decoder 31 verbunden ist, der die·erforderlichen Steuersignale 35 liefert.
Diese basieren in einigen Zeitpunkten auf bestimmten Maschinenstatusbedingungen 33, welche während spezifischer Operationen
gegeben sind.
In Fig. 2, die das allgemeine Blockschaltbild eines Digitalrechners
darstellt, ist das Hauptrechenwerk 64 in Kombination mit einem Exponenten-Rechenwerk 66 gezeigt, mit
dem zusammen es ein Universalrechenwerk 62 zur Ausführung von Festkomma- und Gleitkomma-Rechnungen bildet. Ein Speicher
68 dient zur Speicherung von Daten und Befehlen, Eine Eingabe-Ausgabe-Einheit 70 steuert den Durchlauf von Digitalwörtern
in den und aus dem Digitalrechner über einen Eingabe-Ausgabe-Bus 74. Computerbusse 60 verbinden das Rechenwerk
62, den Speicher 68 und die Eingabe-Ausgabe-Einheit 70 für den Transfer von Daten und Befehlen. Eine Steuereinheit
72 beinhaltet MikVoprogramm-Steuereinrichtungen mit Lesespeicher
und erzeugt die Steuersignale 35 zur Durchführung sämtlicher Operationen in dem Digitalrechner.
Gleitkomma-Addition erfordert im allgemeinen folgende Funktionsschritte:
(1) Exponentenvergleich und -ausrichtung, (2) Addition, (3) Normalisierung, (4) Abrundung und (5) Renormalisation.
Der Exponentenvergleich von Schritt (1) kann in einem Hauptrechenwerk durchgeführt werden. Er wird jedoch
vorzugsweise zur Vergrößerung der Rechengeschwindigkeit in einem Exponenten-Rechenwerk 66 ausgeführt, wie es in Fig. 2
dargestellt ist. Falls die Ausrichtung eine Verschiebung um eine oder mehrere Stellen erfordert, benötigt die Normalisierungsoperation
meistens eine Verschiebung um eine Ziffernstelle. Die parallele Schieber-Architektur, wie sie in
Fig. 1 dargestellt ist, stellt die ALU 14 in einen Pfad und die durch den Umlaufschieber 18 gegebene mehrstellige Verschiebemöglichkeit
in einen zweiten Pfad. Durch den Rechtsschieber 12 ist jedoch auch die Möglichkeit einer einstelligen
Verschiebung gegeben. Außerdem ist in den Pfad, der die ALU 14 enthält, der Linksschieber 16 eingefügt. Dadurch
wird der Umlaufschieber 18 nur benutzt, wenn dies notwendig
ist. Dies ist meistens einmal pro Gleitkomma-Addition entweder für die Normalisierung oder die Ausrichtung, jedoch
nicht für beides der Fall. Alle übrigen erforderlichen Ver-
Schiebungen werden von den einstelligen Schiebern, d.h. dem Rechtsschieber 12 und dem Linksschieber 16 durchgeführt. Die
Entscheidung, ob der Uralaufschieber 18 zum Ausrichten oder
zur Normalisierung benötigt wird, hängt davon ab, ob diese Operationen Verschiebungen um mehr als eine Stelle benötigen.
Falls das Ausrichten eine Verschiebung um mehr als eine Stelle erfordert, wird der Umlaufschieber 18 in Anspruch genommen,
Falls das Ausrichten keine oder eine Verschiebung um nur eine Stelle erfordert wird ein einstelliger Schieber zum Ausrichten
verwendet und der Umlaufschieber 18 ist erforderlichenfalls
für die Normalisierung reserviert. Die Parallelschieber-Architektur bringt eine wesentliche Verkürzung der Ausführungszeit
für Gleitkomma-Additionen mit sich, indem sie die für die Schiebeoperationen benötigte Zeit minimiert und
die Durchgänge durch einen Umlaufschieber auf einen zur
Durchführung eines Funktionsschrittes, wie beispielsweise das Ausrichten, beschränkt.
Die Tabelle 1 zeigt drei Sequenzen zur Durchführung von Gleitkomma-Additionen. Die jeweilige Sequenz hängt von den
zu verarbeitenden Zahlen ab. Eine dieser drei Sequenzen A, B oder C wird während der Ausführung einer Gleitkomma-Addition
mit der Parallel-Schieber-Architektur durchlaufen. Die durchlaufene Sequenz hängt ab von den aktuellen Werten der
zu behandelnden Gleitkomma-Zahlen. Es kann jedoch gezeigt werden, daß die Sequenzen A und C wesentlich öfter auftreten
als die Sequenz B.
Fig. 5 zeigt ein Mikro-Flußdiagramm einer Gleitkomma-Addition,
wie sie durch die Anordnung gemäß Fig. 1 und 3 ausführbar sind. Die neben den Entscheidungsblöcken gezeichneten
Ablaufblöcke werden zur gleichen Zeit ausgeführt, in der die Entscheidung getroffen wird. Funktionen, die bedingungsweise
vom Status abhängen, sind gekennzeichnet. Ein Status für eine gewünschte Verzweigungsbedingung ist erst zu Beginn eines
Prozeßzyklus oder -mikrozyklus verfügbar, für den er benö-
47
/T
tigt wird. Infolgedessen werden der die ALU 14 enthaltende
Verarbeitungspfad und der den Umlaufschieber 18 enthaltende
Verarbeitungspfad (Fig. 1) simultan abgearbeitet. Am Ende
des Zyklus wird der Ausgang eines Pfades für die Speicherung
ausgewählt und eine Verzweigung abgearbeitet, die von dem Maschinenstatus abhängt. Der gleichzeitige Ablauf des Pfades
mit der ALU 14 und des Pfades mit dem Umlaufschieber 18 unter
dem Einfluß der Mikroprogrammsteuerung 30 kompensiert die geringere Arbeitsgeschwindigkeit einer mit Mikroprogamm
arbeitenden Steuereinheit. Der mit gestrichelten Linien umgebene Block, der einen Exponentenvergleich in dem Exponenten-Rechenwerk
66,repräsentiert, ist eingezeichnet, um Bezug
nehmen zu können auf das in Fig. 5 dargestellte Mikro-Flußdiagramm,
weil dieses ein integraler Bestandteil einer Gleitkomma-Rechenoperation ist, die einen Mikrozyklus erfordert,
wie er in Tabelle 1 dargestellt und dem einschlägigen Fachmann bekannt ist.
Wenn während eines Gleitkomma-Additionsbefehls um keine oder
eine Stelle ausgerichtet werden muß, werden das Ausrichten und das Addieren in einem Mikrozyklus durchgeführt, wobei
der einstellige Rechtsschieber 12 verwendet wird, der mit
dem Pfad der ALU 14 verbunden ist. Wenn eine erste Normalisierung eine Rechtsverschiebung erfordert, ist nach dem Abrunden
keine Renormalisierung erforderlich. Deshalb kann die
Renormalisierung im vierten Mikrozyklus von Tabelle 1 unter Verwendung des mit dem Eingang der ALU 14 verbundenen Rechtsschiebers 12 und des mit dem Ausgang der ALU 14 verbundenen
Linksschiebers 16 durchgeführt w.erden. Der letzte Mikrozyklus jeder Sequenz von Tabelle 1 sieht die folgenden drei
Normalisierungsfälle vor:
1. Normalisierung durch Rechtsverschiebung um eine einzige Stelle.
Der Rechtsschieber 12 schiebt das Ergebnis um eine Stelle
nach rechts, sodann wird der Stellenwert einer abgerundeten Ziffer zur Abrundung des Ergebnisses addiert. Eine
Renormalisierung ist nicht erforderlich.
2. Keine Verschiebung zur Normalisierung.
Der Rechtsschieber 12 verschiebt das Ergebnis um eine
Stelle nach rechts, dann wird der Stellenwert einer um
eine Stelle nach rechts verschobenen Rundungsziffer zur Abrundung des Ergebnisses addiert. Wenn das Ergebnis
nun nicht normalisiert ist, verschiebt der Linksschieber 16 um eine Stelle nach links, um die Mantisse in die
endgültige Form zu bringen.
3. Normalisierung durch Verschiebung um eine Stelle nach links .
Der Rechtsschieber 12 gibt das Ergebnis ohne Verschiebung
weiter, dann wird der Stellenwert einer um eine Ziffer
nach rechts verschobenen Rundungszahl addiert, um das Ergebnis zu runden. Wenn das Ergebnis nun nicht normalisiert
ist, führt der Linksschieber 16 eine Verschiebung um eine Stelle nach links aus, um die Mantisse in die
endgültige Form zu bringen.
In allen drei Fällen berichtigt das in Fig. 2 dargestellte
Exponenten-Rechenwerk 66 den Exponententeil der Gleitkomma-Zahl,
während die Mantisse die ALU 14 und den Linksschieber 16 durchläuft. Ein Exponent verschmilzt mit seiner Mantisse
zu einem Digitalwort, bevor dieses Digitalwort als Ergebnis gespeichert wird.
In Fig. 2 ist eine detaillierte logische Realisierung der
Anordnung gemäß Fig. 1 dargestellt. Bei dem bevorzugten Ausführungsbeispiel
ist ein Hochgeschwindigkeits-Hauptrechenwerk 64 vorgesehen, das zu Mantissenberechnungen eines 32-Bit-Gleitkomma-Digitalrechners
mit einer Mikroprogrammen arbeitenden Steuerung 12 dient. Die Steuerung 72 ist durch die
Mikroprogrammsteuerung 30 und den Decoder 31 angedeutet. Die Erfindung ist .selbstverständlich nicht beschränkt auf Wort-
- vi-
längen von 32-Bit noch auf die Radixzahl 2. Es können auch andere Steuereinheiten als die Mikroprogrammsteuerung Verwendung
finden. Einige der Steuersignale 35 werden in Abhängigkeit
von bestimmten Maschinen-Statusbedingungen 33 erzeugt. Eine Registerdatei 42 umfaßt 48 Wörter mit jeweils
32-Bit. Es handelt sich um eine Datei mit zwei Ports. Ein Port ist ein Nurleseport, während das zweite Port ein Lese-Schreibport
ist. Zur Realisierung können integrierte Schaltungen der Type 29705A M verwendet werden. Die zu verarbeitenden
Daten der Gleitkomma-Mantisse werden über den A-Bus 20 und den B-Bus 22 herangeführt. Ein Ausgang der Registerdatei
42 steht mit dem A-Bus 20 in Verbindung, während der zweite Ausgang mit dem B-Bus 22 verbunden ist. Die Daten
können auch über die Eingangsdatenleitung 26 oder vom Ausgang des C-Registers 36 auf den B-Bus 22 gegeben werden.
Zusätzlich zu der Registerdatei 42 sind .A-Register 32, ein
B-Register 34 und das das bereits erwähnte C-Register 36 als 32-Bit-Arbeitsregister für schnelle Operandenzwischenspeicherung
vorgesehen, die durch integrierte Schaltungen des Typs 54 F 374 verkörpert sein können.Das Α-Register empfängt
Daten von dem A-Bus 20 über den Puffer 50 oder von einem F-Bus 24. Dieser F-Bus 24 überträgt Daten von den Rechen-
und Steuerwerken 44 und 14 über den Puffer 32 bzw. den Linksschieber 16 oder von dem Umlaufschieber 18 oder von
externen Quellen wie beispielsweise einer Logik für Multiplikationen oder Divisionen. Der Ausgang des A-Registers
32 ist direkt mit dem Rechtsschieber 40 verbunden. Der Eingang des B-Registers ist mit dem B-Bus 22 verbunden, während
sein Ausgang direkt mit dem Rechtsschieber 38 in Verbindung steht. Die Eingabe in das C-Register 36 erfolgt von
dem F-Bus 24 oder dem A-Bus 20 über den Puffer 50. Der Ausgang des C-Registers 36 ist direkt mit dem B-Bus 22 verbunden.
Das C-Register 36 dient zur vorübergehenden Speicherung und arbeitet während gewisser Mikrozyklen an Stelle des
B-Registers 34, Der Einsatz eines C-Registers 36 ist weniger
aufwendig als die Verwendung zusätzlicher Multiplexer am Eingang des B-Registers 34, die einen Pfad von dem F-Bus
24 zu dem B-Registers 34 schaffen. Außerdem ergibt sich
eine Zeitersparnis .
Die in Fig. 3 dargestellten Rechen- und Steuereinheiten 14 und 44 werden parallel verwendet. Dies dient in erster Linie
zur Erleichterung von Gleitkomma-Subtraktionen. Der A-Bus 20 und der B-Bus 22 liefern die beiden Operanden zu
beiden Rechen- und Steuerwerken ALU 14 und ALU 44. Der Ausgang der ALU 14 ist mit dem Linksschieber 16 verbunden, wie
dies auch in Fig. 1 gezeigt ist. Das Vorzeichen-Bit ist mit der Gleitkomma-Vorzeichenlogik 48 verbunden. Der Ausgang der
ALU 44 ist mit dem Puffer 52 verbunden, dessen Ausgang mit
dem F-Bus 24 in Verbindung steht. Indem die beiden Rechen- und Steuerwerke ALU 14 und ALU 44 parallel angeordnet sind,
liefert eines von ihnen ein Ergebnis, welches das Zweierkomplement des Ergebnisses des anderen ist. Die ALU mit dem
positiven Ergebnis wird ausgewählt. Dadurch wird vermieden, daß ein negatives Zweierkomplement-Ergebnis in den Vorzeichenwert
invertiert werden muß, der der Form der Gleitkomma-Mantisse entspricht. Die den beiden in den Rechen- und Steuerwerken
ALU 14 und ALU 44 geladenen Operanden zugeordneten Vorzeichen werden zusammen mit dem Vorzeichen-Ausgangssignal
der ALU 14 in die Gleitkomma-Vorzeichenlogik 48 eingegeben, die daraufhin das endgültige geeignete Vorzeichen für das
aus den ALU-Operationen hervorgehende Ergebnis bestimmt. Das Ausgangssignal der Cleitkomma-Vorzeichenlogik 48 wird über
den Puffer 54 zu dem F-Bus 24 übertragen. Während der Durchführung einer Abrundungsoperation liefert ein Wort-Lesespeispeicher
46 über den B-Bus ZZ eine als Rundungsziffer (oder
Rundungsbit in dem Binärsystem) bezeichnete geeignete Konstante an die ALU 14. Die ALU 14 und die ALU 44 können durch
integrierte Schaltungen des Typs 54 F 181 und 54 F 182 realisiert sein. Diese dienen als 32-Bit-ALU mit Vorgriff-Übertrag
. Jede ALU .führt logische und arithmetische Operationen
- TA -
aus, wie sie in Tabelle 2 aufgelistet sind, in der A und B
die Eingänge einer ALU bedeuten. Die Puffer 50, 52 und können unter Verwendung von integrierten Schaltungen des
Typs 5^ F 244 realisiert werden. Der A-ßus und der B-Bus
können mit integrierten Tristate-Schaltungen des Typs
54 F 228 realisiert werden. Der F-Bus kann mit integrierten Schaltungen des Typs 54 F 244 realisiert werden.
Fig. 4 zeigt einen Plehrf ach-Bit- oder Umlauf schieber 18,
der einen der beiden in Fig. 1 und 3 dargestellten Pfade
mit Verschiebungsfunktion bildet und für eine Verschiebung mehrerer Ziffern geeignet ist. Der Ausdruck Umlaufschieber
bezeichnet eine logische Einrichtung, die in der Lage ist, Rechts- und Linksverschiebungen beliebiger Länge
auszuführen, um damit eine Ausrichtung oder Normalisierung in einem einzigen Funktionsdurchlauf des UmlaufSchiebers
innerhalb einer Befehlsoperation zur Gleitkomma-Addition
zu ermöglichen. Der Umlaufschieber 18 ist in der Lage/ 64
Bits binärer Daten zu verschieben oder umlaufen zu lassen und umfaßt die folgenden vier logischen Multiplexerstufen:
Eingangs-Daten-Multiplexer 100 und 102, Byte-Umlauf
multiplexer 104, Bit-Umlaufmultiplexer 108 und Endekriterium-Multiplexer
114. Die Eingangs-Daten-Multiplexer 100 und 102 wählen eine von zwei 32-Bit-Plengen von dem
A-Bus 20 oder dem B-Bus 22 aus. Der A-Bus 20 liefert ein 32-Bit-Eingangssignal mit den niedrigstwertigen Stellen,
während der B-Bus 22 ein 32-Bit-Eingangssignal mit den höchstwertigen Stellen liefert. Die 32 Bit eines Datenwortes
mit dem niedrigsten Stellenwert können zusätzlich dem Eingang des Daten-Multiplexer 102 als eine entsprechende
Anzahl von Nullen 101 zugeführt werden um eine Null-Einfügung zu bewirken, wenn die Verschiebung einer
32-Bit-Wenge gewünscht ist. Ein 32-Bit-Umlauf wird durch
Wahl eines Eingangssignals bewirkt, derart daß die 32 Bits mit dem höchsten Stellenwert als 32 Bits mit dem niedrigsten
Stellenwert dupliziert werden. Die Ausgänge des Ein-
- 13 -
gangs-Datenmultiplexers sind mit einem 8:1-Byte-Umlaufmultiplexer
104 verbunden, der jedes aus 8 Bit bestehende Datenbyte während einer Schiebe- oder Umlaufoperation an
eine Byte-Grenze positioniert. Eine Translatorlogik 106 formatiert die Schiebewerte neu, wie es zur Durchführung
der Byte-Umläufe erforderlich ist. Die Ausgänge des 8:1-Byte-Umlaufmultiplexers
104 sind mit den Eingängen des 8:1-Bit-Umlaufmultiplexers 108 verbunden, der die Daten
in einem Bereich mit acht Positionen umlaufen läßt, um sie in eine Endposition zu bringen. Der Ausgang des 8:1-Bit-Umlaufmultiplexers
108 ist mit dem 2:1-Endekriterium-Multiplexer
114 verbunden, der die Positionen der Datenbits so verändert, wie es für eine Vorzeichenerstreckung
bei Nulleinfügung erforderlich ist, falls eine Verschiebungsoperation
(im Gegensatz zu einer Umlaufoperation) durchgeführt werden muß. Die Ausgänge des Endekriterium-Multiplexers
114 sind direkt mit einem Q-Register 56 (Fig. 3) und dem F-Bus 24 verbunden.
Die Eingangs-Datenmultiplexer 100 und 102 und der Endekriterium-Multiplexer
114 können unter Verwendung von integrierten Schaltungen des Typs 54 F 257 realisiert sein.
Der Byte-Umlaufmultiplexer 104 und die Bit-Umlaufmultiplexer
108 können durch integrierte Schaltungen des Typs 54 F 151 realisiert sein.
Im folgenden sei nun die Durchführung einer Gleitkomma-Addition anhand von Fig. 3, Fig. 5 und Tabelle 1 betrachtet:
Die Mikroprogrammsteuerung 30 beinhaltet Mikrobefehle
zur Durchführung von Rechneroperationen, wie beispielsweise einer Gleitkomma-Addition. Die Zeitspanne zur Ausführung
eines Mikrobefehls ist als Mikrozyklus definiert. Die folgenden vier Mikrozyklen dienen zur Durchführung
einer Gleitkomma-Addition:
Mikrozyklus 1: Die Mantissen der Operanden erscheinen auf
dem Α-Bus 20 und dem B-Bus ZZ entweder als Eingangsdaten
26 oder Daten aus der Registerdatei 42 und werden zu dem
A-Register 32 und dem B-Register 34 übertragen. Gleichzeitig vergleicht das Exponenten-Rechenwerk 66 (Fig. 2) die
zu jeder Mantisse gehörenden Exponenten und bestimmt, welche Mantisse eine Ausrichtung benötigt. Die Vorzeichen der
Operanden werden in diesem Zeitpunkt durch die Gleitkomma-Vorzeichenlogik 48 bestimmt.
Mikrozyklus 2: Falls eine durch das Exponenten-Rechenwerk 66 bestimmte Verschiebung zum Ausrichten größer ist als
eine Stelle, wird die Mantisse, die eine solche Ausrichtung benötigt, von dem A-Register 32 oder dem B-Register
34 über die Rechtsschieber 40 oder 38 und dem A-Bus 20
bzw. dem B-Bus 22 dem Umlaufschieber 18 zugeführt. Das Bit
mit dem niedrigsten Stellenwert des für das Ausrichten erforderlichen Verschiebungswertes steuert den Rechtsschieber
für die ausgewählten Registerinhalte. Die verbleibenden Bits des für die Ausrichtung notwendigen Verschiebungsbetrages
steuern den Umlaufschieber 18. Aus dem Umlaufschieber 18 erscheint eine ausgerichtete Operandenmantisse,
die in dem A-Registers 32 gespeichert wird, falls dessen Inhalt für das Ausrichten ausgewählt war, oder an
das C-Register 36 gegeben wird, wenn der Inhalt des B-Registers für das Ausrichten ausgewählt war. Falls der Verschiebungsbetrag
hingegen 0 oder 1 ist, erscheint die ausgewählte Mantisse aus dem zugeordneten Rechtsschieber 38
oder 40 bereits in ausgerichtetem Zustand. Anschließend läuft sie durch die parallel angeordneten Rechen- und Steuerwerke
ALU 14 und 44, in denen die Addition durchgeführt wird. Das Resultat wird in positiver Form in dem A-Register
32 gespeichert.
Mikrozyklus 3: Falls der Umlaufschieber 18 zum Ausrichten
des Inhalts des Α-Registers verwendet wurde, werden nun die Inhalte des A-Registers 32 und des B-Registers 34 in den
Rechen- und Steuerwerken ALU 14 und 44 addiert und das Ergebnis
wird in dem A-Register 32 gespeichert. Falls der Umlaufschieber
18 zum Ausrichten des Inhalts des B-Registers 34 verwendet wurde, werden nun die Inhalte des A-Registers
32 und des C-Registers 36 in den Rechen- und Steuerwerken ALU 14 und 44 addiert und das Ergebnis in dem A-Register 32
gespeichert. Falls die Addition in dem Mikrozyklus 2 zu Ende
geführt wurde, wird nunmehr die Normalisierung durchgeführt. Falls die Verschiebung für die Normalisierung ein
Bit oder weniger beträgt, werden eine Normalisierung, eine Abrundung und eine Renormalisierung unter Verwendung des
C-Registers 32, des Rechtsschieber 40, der ALU 14 und des Linksschiebers 16 in der anhand von Tabelle 1 beschriebenen
Weise durchgeführt. Eine Rundungsziffer oder ein Rundungsbit wird von dem Wortspeicher PROM 46 auf dem B-Bus 22 in
die geeignete Position des ALU-Eingangs eingefügt. Der Ausgang des Linksschiebers 16 ist die Mantisse des Ergebnisses,
die in der Registerdatei 42 gespeichert oder andernfalls über den F-Bus 24 zusammen mit dem von der Gleitkomma-Vorzeichenlogik
48 erzeugten Vorzeichen des Ergebnisses übertragen wird. Falls die Normalisierung eine Verschiebung um
mehr als ein Bit erfordert, wird der Umlaufschieber 18 dazu
verwendet, den Inhalt des A-Registers 32 zu verschieben. Anschließend wird das Ergebnis in das A-Register 32 zurückgespeichert
.
Mikrozyklus 4: Falls der Umlauf schieber 18 für eine Mehrfachbit-Ausrichtung
verwendet wurde, ist in den meisten Fällen nur eine Normalisierung um ein Bit erforderlich. Die
Normalisierung, Abrundung und Renormalisierung wird für den Fall ausgeführt, in welchem die Addition in einem früheren
Zyklus beendet wurde und eine Mehrfachbit-Normalisierung
nicht erforderlich ist. Falls der Umlaufschieber 18 für eine
Mehrfachbit-Normalisierung verwendet wurde wird eine Abrundung und Renormalisierung an den Inhalten des A-Registers
ausgeführt. Dabei werden die ALU 14, der Linksschieber 16
und der Wortspeicher PROM 46 verwendet. Dies läuft auf den
Normalisierungs-, Abrundungs- und Renormalisierungsfall
hinaus, in welchem das Ergebnis zum Zeitpunkt des Beginns
des Mikrozyklus normalisiert wird.
Der in der vorangegangenen Beschreibung und in den Patentansprüchen verwendete Ausdruck ein - bzw. mehrstellige Schieber bedeutet, daß diese Baueinheit in
der Lage ist, angegebene Digitalwörter um eine bzw. mehrere Stellen - im Binärsystem also Bit - entweder
nach rechts oder nach links bzw. wahlweise sowohl nach rechts als auch nach links zu verschieben.
Tabelle 1
Sequenzen für Gleitkomma-Addition
Sequenzen für Gleitkomma-Addition
Sequenz Mikroprogramm-Zyclus
1. Exponentenvergleich und Laden der Eingangsdaten
2. Im Umlaufschieber ausrichten
3. Addieren
4. Normalisieren, Abrunden, Renormalisieren und Ergebnis speichern
B 1. Exponentenvergleich und Laden der Eingangsdaten
2. keine oder eine Stelle ausrichten und Addieren
3. Im Umlaufschieber normalisieren
A. Abrunden, renormalisieren und Ergebnis speichern
1. Exponentenvergleich und Laden der Eingangsdaten
2. keine oder eine Stelle ausrichten und Addieren
3. Normalisieren, Abrunden, Renormalisieren und Ergebnis speichern
Tabelle 2 ALU-Funktionen
Logische Arithmetische
NICHT A NICHT (A UND B) NICHT A ODER B Eins
NICHT (A ODER B) NICHT B A ÄQUIVALENT B A ODER NICHT B NICHT A UND B
A EXCLUSIV ODER B
A ODER B Null
A UND NICHT B A UND B
A UND B A UND NICHT B Null
A PLUS (A ODER NICHT B) (A UND B) PLUS (A ODER NICHT B) A MINUS B A ODER NICHT B
A PLUS (A ODER B) A PLUS B (A UND NICHT B) PLUS (A ODER B) A ODER B A + A
(A UND B).PLUS A (A UND NICHT B) PLUS A
Claims (1)
- - 1 Patentansprüche1J Anordnung für einen Digitalrechner zur Gleitkomma-Addition ,
dadurch gekennzeichnet,- daß eine Verschiebungseinrichtung zur Durchführung der Ausricht- und Normalisierungsfunktionen beinhaltenden Gleitkomma-Addition vorgesehen ist, wobei ein Digitalwort diese Verschiebungseinrichtung zur Ausführung jeder der genannten Funktionen nur einmal durchläuft,- daß die Verschiebungseinrichtung einen einstelligen Schieber umfaßt, mittels dessen Zeichen bzw. Ziffern in dem genannten Digitalwort während des Additionsvorganges um eine Stelle verschiebbar sind,- daß die Verschiebungseinrichtung ferner einen mehrstelligen Schieber umfaßt, der mit dem einstelligen Schieber verbunden ist und mittels dessen Zeichen bzw. Ziffern in dem Digitalwort um eine Mehrzahl von Stellen verschiebbar sind und der von dem genannten Digitalwort während der Gleitkomma-Addition nicht mehr als einmal durchlaufen wird,- und daß eine Recheneinrichtung zur Durchführung der Gleitkomma-Addition vorgesehen ist, die Mittel zur Addition umfaßt und die mit der Verschiebungseinrichtung verbunden ist, derart daß das Digitalwort die Recheneinrichtung nicht lediglich deshalb durchlaufen muß, um Zugang zu der Verschiebungseinrichtung zu erhalten.2. Anordnung nach Anspruch,1, dadurch gekennzeichnet,- daß der einstellige Schieber einen Rechtsschieber umfaßt, mittels dessen Zeichen bzw. Ziffern in dem Digitalwort um eine Stelle nach rechts verschiebbar sind und der mit der Recheneinrichtung verbunden ist, sowie einen Linksschieber, der mit dem Ausgang der Recheneinrichtung verbunden ist,- und daß der genannte mehrstellige Schieber mit dem Rechts-schieber verbunden und parallel zu der Recheneinrichtung angeordnet ist.3. Anordnung nach Anspruch 2, gekennzeichnet durch- eine Einrichtung zur Abgabe eines ersten Digitalwortes an die Recheneinrichtung, welches eines von zwei miteinander zu addierender Digitalwörter repräsentiert,- sowie eine Einrichtung zur Abgabe eines zweiten Digitalwortes an die Recheneinrichtung, welches das zweite der zwei miteinander zu addierenden Digitalwörter repräsentiert .k. Anordnung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die einstelligen Rechts- bzw. Linksschieber Einbit-Schieber und der mehrstellige Schieber ein Mehrfachbit-Schieber sind.5. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Verschiebungseinrichtung Rechts- und Linksverschiebungen von Zeichen bzw. Ziffern in dem genannten Digitalwort ausführt.6. Anordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Recheneinrichtung ihre Addierfunktion während der Gleitkomma-Addition an zwei Digitalwörtern ausführt, die Mantissen darstellen.7. Anordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß der mehrstellige Schieber einen Umlaufschieber umfaßt.8. Anordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß eine Mikroprogramm-Steuereinrichtung zur Erzeugung von Steuersignalen vorgesehen ist.— 3 —9. Anordnung nach Anspruch 8, dadurch gekennzeichnet, daß die Mikroprogramm-Steuereinrichtung zwei parallele Pfade simultan aktiviert, die den mehrstelligen Schieber bzw. die Recheneinrichtung umfassen, und daß die Mikroprogramm-Steuereinrichtung die Ausgangssignale nur eines dieser Pfade in Abhängigkeit von den Statusbedingungen für die Speicherung auswählt.10. Anordnung nach Anspruch 2, dadurch gekennzeichnet, daß der einstellige Rechtsschieber Mittel umfaßt, die eine einstellige Rechtsverschiebung oder keine Zeichen- bzw. Ziffernverschiebung veranlassen.11. Anordnung nach Anspruch 2, dadurch gekennzeichnet, daß der einstellige Linksschieber Mittel umfaßt, die eine einstellige Linksverschiebung oder keine Zeichen- bzw. Ziffernverschiebung veranlassen.12. Anordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß der mehrstellige Schieber Mittel umfaßt, durch die Zeichen bzw. Ziffern des Digitalwortes um mehrere Stellen nach links oder nach rechts verschiebbar sind.13· Anordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß der mehrstellige Schieber während der Gleitkomma-Addition entweder die Ausrichtung oder die Normalisierung, nicht jedoch beides, durchführt.14. Anordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Recheneinrichtung ein Rechen- und Steuerwerk umfaßt.15· Anordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Recheneinrichtung ferner Mittel zur Bestimmung des Vorzeichens des aus der Gleitkomma-Addition hervorgehenden Digitalwortes umfaßt.16. Verfahren zur Ausführung von Gleitkomma-Additionen, gekennzeichnet durch folgende Verfahrensschritte :Mit Hilfe einer Verschiebungseinrichtung werden Ausricht- und Normalisierungsfunktionen ausgeübt, wobei ein Digitalwort die Verschiebungseinrichtung zur Durchführung jeder der genannten Funktionen nur einmal durchläuft,- Zeichen bzw. Ziffern werden innerhalb des Digitalwortes unter Zuhilfenahme einstelliger Schieber um eine Stelle verschoben,- Zeichen bzw. Ziffern werden in dem Digitalwort unter Zuhilfenahme eines mit den einstelligen Schiebern verbundenen mehrstelligen Schiebers um mehrere Stellen verschoben, wobei der mehrstellige Schieber von dem Digitalwort während der Gleitkomma-Addition nicht mehr als einmal durchlaufen wird,- es wird eine Addierfunktion unter Zuhilfenahme einer mit der Verschiebungseinrichtung verbundenen Recheneinrichtung ausgeführt, derart daß das genannte Digitalwort die Recheneinrichtung nicht lediglich deshalb durchlaufen muß, um Zugang zu der Verschiebungseinrichtung zu haben.17. Verfahren nach Anspruch 16, dadurch gekennzeichnet, daß der Verfahrensschritt der Zeichen- bzw. Ziffernverschiebung Rechts- und Linksverschiebungen innerhalb des genannten Digitalwortes beinhaltet.18. Verfahren nach Anspruch 16 oder 17, dadurch gekennzeichnet, daß der Verfahrensschritt zur Ausführung einer Addierfunktion das Addieren zweier Digitalwörter beinhaltet, die Mantissen repräsentieren.19. Verfahren nach einem der Ansprüche 16 bis 18, dadurch gekennzeichnet, daß der Verfahrensschritt derZeichen- bzw. Ziffernverschiebung innerhalb eines Digitalwortes um mehrere Stellen unter Zuhilfenahme eines Umlaufschiebers erfolgt.20. Verfahren nach einem der Ansprüche 16 bis 19, gekennzeichnet durch folgenden weiteren Verfahrensschritt :Es werden Steuersignale unter Verwendung einer Mikroprogramm-Steuereinrichtung erzeugt.21. Verfahren nach Anspruch 20, dadurch gekennzeichnet, daß der Verfahrensschritt zur Erzeugung von Steuersinalen unter Verwendung der genannten Mikroprogramm-Steuereinrichtunq die simultane Aktivierung paralleler Pfade beinhaltet, die den genannten mehrstelligen Schieber in einem Pfad und die Recheneinrichtung in einem anderen Pfad umfassen, wobei die Steuereinrichtung in Abhängigkeit von Statusbedingungen der Maschine das Ausgangssignal nur eines der genannten Pfade zur Speicherung auswählt.22. Verfahren zur Durchführung einer Gleitkomma-Addition an zwei Digitalwörtern, die Mantissen repräsentieren, gekennzeichnet durch folgende Verfahrensschritte:- Ein Digitalwort wird durch einmaligen Durchlauf durch eine Verschiebungseinrichtung ausgerichtet, wobei die Verschiebungseinrichtung einstellige Schieber sowie einen mehrstelligen Schieber umfafit und letzterer von dem Digitalwort während des Additionsvorganges nicht mehr als einmal durchlaufen wird,- es wird eine Addition ausgeführt, indem die die Mantissen repräsentierenden beiden Digitalwörter durch eine Recheneinrichtung geführt werden, die mit dem einstelligen Schieber und dem mehrstelligen Schieber verbunden ist, derart daß ein Digitalwort die Recheneinrichtung nicht lediglich deshalb durchlaufen muß, um Zugang zu der Verschiebungseinr.ichtung zu gewinnen,- es wird eine erste Normalisierungsfunktion durch nur einmaliges Hindurchführen des Digitalwortes durch die Verschiebungseinrichtung ausgeführt, wobei die Verschiebungseinrichtung sowohl die einstelligen als auch den mehrstelligen Schieber umfaßt und der mehrstellige Schieber von dem Digitalwort während des Additionsvorganges nicht mehr als einmal durchlaufen wird,- es wird eine Abrundungsfunktion durchgeführt, indem das aus der ersten Normalisierungsfunktion resultierende Digitalwort durch die Recheneinrichtung geführt wird,- schließlich wird eine zweite Normalisierungsfunktion ausgeführt, indem das aus der Abrundungsfunktion resultierende Digitalwort ein einziges Mal durch die Verschiebungseinrichtung geführt wird, wobei die Verschiebungseinrichtung sowohl die einstelligen als auch dien mehrstelligen Schieber umfaßt und letzterer von dem Digitalwort während des Additionsvorganges nicht mehr als einmal durchlaufen wird.23· Verfahren nach Anspruch 22, dadurch gekennzeichnet, daß die Verfahrensschritte der Zeichen- bzw. Ziffernverschiebungen in einem Digitalwort Links- und Rechtsverschiebungen beinhalten.24. Verfahren nach Anspruch 22, dadurch gekennzeichnet, daß die Verfahrensschritte der Zeichen- bzw. Ziffernverschiebungen unter Zuhilfenahme des mehrstelligen Schiebers erfolgen, der einen Umlaufschieber beinhaltet.25. Verfahren nach Anspruch 22, dadurch gekennzeichnet, daß bei den Verfahrensschritten zur Zeichen- bzw. Ziffernverschiebung einstellige Schieber Verwendunq finden, die einen Nullschieber-Modus besitzen.26. Verfahren nach Anspruch 22, gekennzeichnet durch den weiteren Verfahrensschritt der Erzeugung von Steu-ersignalen unter Verwendung einer Mikroprogramm-Steuereinrichtung .27. Verfahren nach Anspruch 25, dadurch gekennzeichnet, daß der Verfahrensschritt der Erzeugung von Steuersignalen unter Verwendung einer Mikroprogramm-Steuereinrichtung die simultane Aktivierung paralleler Pfade umfaßt, die den mehrstelligen Schieber in einem Pfad und die Recheneinrichtung in einem anderen Pfad enthalten, und daß die Mikroprogramm-Steuereinrichtung in Abhängigkeit von Statusbedingungen der Maschine die Ausgangssignale nur eines der genannten Pfade zur Speicherung auswählt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/350,860 US4488252A (en) | 1982-02-22 | 1982-02-22 | Floating point addition architecture |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3306084A1 true DE3306084A1 (de) | 1983-09-01 |
DE3306084C2 DE3306084C2 (de) | 1993-08-05 |
Family
ID=23378509
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19833306084 Granted DE3306084A1 (de) | 1982-02-22 | 1983-02-22 | Rechnerarchitektur zur gleitkomma -addition |
Country Status (7)
Country | Link |
---|---|
US (1) | US4488252A (de) |
JP (1) | JPS58158739A (de) |
CA (1) | CA1184664A (de) |
DE (1) | DE3306084A1 (de) |
FR (1) | FR2522171B1 (de) |
GB (1) | GB2116758B (de) |
NL (1) | NL8300492A (de) |
Families Citing this family (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4577282A (en) | 1982-02-22 | 1986-03-18 | Texas Instruments Incorporated | Microcomputer system for digital signal processing |
US4586131A (en) * | 1982-02-22 | 1986-04-29 | Texas Instruments Incorporated | Microcomputer having data move circuits for within-memory shift of data words |
JPS6083139A (ja) * | 1983-10-13 | 1985-05-11 | Nec Corp | 2進化10進数正規化回路 |
CA1229415A (en) * | 1983-12-09 | 1987-11-17 | Masayuki Ikeda | Floating-point addition/subtraction system |
US4639887A (en) * | 1984-02-24 | 1987-01-27 | The United States Of America As Represented By The United States Department Of Energy | Bifurcated method and apparatus for floating point addition with decreased latency time |
US4716539A (en) * | 1984-12-31 | 1987-12-29 | Gte Communication Systems Corporation | Multiplier circuit for encoder PCM samples |
EP0211179A3 (de) * | 1985-06-28 | 1990-09-05 | Hewlett-Packard Company | Gerät zur Durchführung einer variabelen Verschiebung |
US4782457A (en) * | 1986-08-18 | 1988-11-01 | Texas Instruments Incorporated | Barrel shifter using bit reversers and having automatic normalization |
US4884231A (en) * | 1986-09-26 | 1989-11-28 | Performance Semiconductor Corporation | Microprocessor system with extended arithmetic logic unit |
US4800516A (en) * | 1986-10-31 | 1989-01-24 | Amdahl Corporation | High speed floating-point unit |
JP2558669B2 (ja) * | 1986-12-29 | 1996-11-27 | 松下電器産業株式会社 | 浮動小数点演算装置 |
US4862407A (en) * | 1987-10-05 | 1989-08-29 | Motorola, Inc. | Digital signal processing apparatus |
JPH01111229A (ja) * | 1987-10-26 | 1989-04-27 | Nec Corp | 浮動小数点加減算器 |
JP2695178B2 (ja) * | 1988-03-11 | 1997-12-24 | 富士通株式会社 | 演算回路 |
JPH01302425A (ja) * | 1988-05-31 | 1989-12-06 | Toshiba Corp | 浮動小数点加減算回路 |
US5153848A (en) * | 1988-06-17 | 1992-10-06 | Bipolar Integrated Technology, Inc. | Floating point processor with internal free-running clock |
US4996661A (en) * | 1988-10-05 | 1991-02-26 | United Technologies Corporation | Single chip complex floating point numeric processor |
US4926369A (en) * | 1988-10-07 | 1990-05-15 | International Business Machines Corporation | Leading 0/1 anticipator (LZA) |
US5161117A (en) * | 1989-06-05 | 1992-11-03 | Fairchild Weston Systems, Inc. | Floating point conversion device and method |
US4999803A (en) * | 1989-06-29 | 1991-03-12 | Digital Equipment Corporation | Floating point arithmetic system and method |
JPH05134848A (ja) * | 1991-03-06 | 1993-06-01 | Fujitsu Ltd | 中央処理装置のデータシフト回路 |
KR100262438B1 (ko) * | 1991-05-08 | 2000-08-01 | 가나이 쓰도무 | 연산장치 및 이것을 사용한 비트필드조작 연산방법 |
AU652896B2 (en) * | 1992-09-29 | 1994-09-08 | Matsushita Electric Industrial Co., Ltd. | Arithmetic apparatus |
GB2274730B (en) * | 1993-01-30 | 1997-05-28 | Motorola Inc | A mantissa addition system for a floating point adder |
US5576982A (en) * | 1994-10-17 | 1996-11-19 | Unisys Corporation | Fast significant bit calculator and its application to integer multiplication and division |
JP3421933B2 (ja) * | 1994-10-31 | 2003-06-30 | 弘之 河▲崎▼ | 演算処理装置及び電子計算機 |
US5880983A (en) * | 1996-03-25 | 1999-03-09 | International Business Machines Corporation | Floating point split multiply/add system which has infinite precision |
US5790445A (en) * | 1996-04-30 | 1998-08-04 | International Business Machines Corporation | Method and system for performing a high speed floating point add operation |
KR100212139B1 (ko) * | 1996-07-22 | 1999-08-02 | 윤종용 | 클럭공급장치 |
US5844830A (en) * | 1996-08-07 | 1998-12-01 | Sun Microsystems, Inc. | Executing computer instrucrions by circuits having different latencies |
US5844825A (en) * | 1996-09-03 | 1998-12-01 | Wang; Song-Tine | Bidirectional shifter circuit |
JP2000068834A (ja) | 1998-08-20 | 2000-03-03 | Hiroyuki Kawasaki | 信号変換方法及び信号変換器 |
JP3709553B2 (ja) * | 2000-12-19 | 2005-10-26 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 演算回路および演算方法 |
US6728856B2 (en) | 2001-06-01 | 2004-04-27 | Microchip Technology Incorporated | Modified Harvard architecture processor having program memory space mapped to data memory space |
US7467178B2 (en) | 2001-06-01 | 2008-12-16 | Microchip Technology Incorporated | Dual mode arithmetic saturation processing |
US6937084B2 (en) | 2001-06-01 | 2005-08-30 | Microchip Technology Incorporated | Processor with dual-deadtime pulse width modulation generator |
US6985986B2 (en) | 2001-06-01 | 2006-01-10 | Microchip Technology Incorporated | Variable cycle interrupt disabling |
US7007172B2 (en) | 2001-06-01 | 2006-02-28 | Microchip Technology Incorporated | Modified Harvard architecture processor having data memory space mapped to program memory space with erroneous execution protection |
US7003543B2 (en) | 2001-06-01 | 2006-02-21 | Microchip Technology Incorporated | Sticky z bit |
US6552625B2 (en) | 2001-06-01 | 2003-04-22 | Microchip Technology Inc. | Processor with pulse width modulation generator with fault input prioritization |
US6604169B2 (en) | 2001-06-01 | 2003-08-05 | Microchip Technology Incorporated | Modulo addressing based on absolute offset |
US6975679B2 (en) | 2001-06-01 | 2005-12-13 | Microchip Technology Incorporated | Configuration fuses for setting PWM options |
US6934728B2 (en) | 2001-06-01 | 2005-08-23 | Microchip Technology Incorporated | Euclidean distance instructions |
US6976158B2 (en) | 2001-06-01 | 2005-12-13 | Microchip Technology Incorporated | Repeat instruction with interrupt |
US6601160B2 (en) | 2001-06-01 | 2003-07-29 | Microchip Technology Incorporated | Dynamically reconfigurable data space |
US7020788B2 (en) | 2001-06-01 | 2006-03-28 | Microchip Technology Incorporated | Reduced power option |
US6952711B2 (en) | 2001-06-01 | 2005-10-04 | Microchip Technology Incorporated | Maximally negative signed fractional number multiplication |
US20020184566A1 (en) | 2001-06-01 | 2002-12-05 | Michael Catherwood | Register pointer trap |
US6552567B1 (en) | 2001-09-28 | 2003-04-22 | Microchip Technology Incorporated | Functional pathway configuration at a system/IC interface |
US7774393B1 (en) * | 2004-06-30 | 2010-08-10 | Oracle America, Inc. | Apparatus and method for integer to floating-point format conversion |
US7707236B2 (en) * | 2004-08-13 | 2010-04-27 | Analog Devices, Inc. | Methods and apparatus for an efficient floating point ALU |
CN100543723C (zh) * | 2004-08-13 | 2009-09-23 | 模拟装置公司 | 用于高效浮点运算器(alu)的方法 |
US7546328B2 (en) * | 2004-08-31 | 2009-06-09 | Wisconsin Alumni Research Foundation | Decimal floating-point adder |
US7743084B2 (en) * | 2004-09-23 | 2010-06-22 | Wisconsin Alumni Research Foundation | Processing unit having multioperand decimal addition |
US7949695B2 (en) * | 2004-10-27 | 2011-05-24 | Via Technologies Inc. | Two's complement circuit |
KR20070088190A (ko) * | 2006-02-24 | 2007-08-29 | 삼성전자주식회사 | 멀티미디어 데이터 처리를 위한 서브워드 병렬 처리 방법 |
US8768989B2 (en) * | 2011-03-18 | 2014-07-01 | Apple Inc. | Funnel shifter implementation |
US9836278B2 (en) * | 2015-05-29 | 2017-12-05 | Huawei Technologies Co., Ltd. | Floating point computation apparatus and method |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3551665A (en) * | 1966-09-13 | 1970-12-29 | Ibm | Floating point binary adder utilizing completely sequential hardware |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5425133A (en) * | 1977-07-27 | 1979-02-24 | Nec Corp | Data shift device |
US4208722A (en) * | 1978-01-23 | 1980-06-17 | Data General Corporation | Floating point data processing system |
JPS54133855A (en) * | 1978-04-10 | 1979-10-17 | Hitachi Ltd | Computer processor |
US4308589A (en) * | 1979-11-08 | 1981-12-29 | Honeywell Information Systems Inc. | Apparatus for performing the scientific add instruction |
US4338675A (en) * | 1980-02-13 | 1982-07-06 | Intel Corporation | Numeric data processor |
US4405992A (en) * | 1981-04-23 | 1983-09-20 | Data General Corporation | Arithmetic unit for use in data processing systems |
-
1982
- 1982-02-22 US US06/350,860 patent/US4488252A/en not_active Expired - Lifetime
-
1983
- 1983-01-26 CA CA000420279A patent/CA1184664A/en not_active Expired
- 1983-02-09 NL NL8300492A patent/NL8300492A/nl not_active Application Discontinuation
- 1983-02-16 GB GB08304310A patent/GB2116758B/en not_active Expired
- 1983-02-22 DE DE19833306084 patent/DE3306084A1/de active Granted
- 1983-02-22 FR FR8302863A patent/FR2522171B1/fr not_active Expired
- 1983-02-22 JP JP58028420A patent/JPS58158739A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3551665A (en) * | 1966-09-13 | 1970-12-29 | Ibm | Floating point binary adder utilizing completely sequential hardware |
Non-Patent Citations (1)
Title |
---|
US-Z.: Technical Notes RCA, No. 846, Aug. 20, 1969 S.1-3 * |
Also Published As
Publication number | Publication date |
---|---|
US4488252A (en) | 1984-12-11 |
NL8300492A (nl) | 1983-09-16 |
FR2522171A1 (fr) | 1983-08-26 |
FR2522171B1 (fr) | 1987-02-27 |
DE3306084C2 (de) | 1993-08-05 |
GB2116758B (en) | 1985-11-13 |
JPS58158739A (ja) | 1983-09-21 |
CA1184664A (en) | 1985-03-26 |
GB8304310D0 (en) | 1983-03-23 |
GB2116758A (en) | 1983-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3306084A1 (de) | Rechnerarchitektur zur gleitkomma -addition | |
DE69430838T2 (de) | Schaltung und Verfahren zur parallelen Verschiebung und Addition | |
DE19540102C2 (de) | Verfahren und Gleitkomma-Recheneinheit mit einer Logik für eine Vierfach-Präzisions-Arithmetik | |
DE1178623C2 (de) | Programmgesteuerte datenverarbeitende Maschine | |
DE2704842C2 (de) | Im Pipeline-Betrieb arbeitende Datenverarbeitungseinrichtung | |
DE68928376T2 (de) | Vorrichtung zum multiplizieren, teilen und ziehen der quadratwurzel | |
DE2755273C2 (de) | ||
DE3752287T2 (de) | Registerzuweisung in einer Informationsverarbeitungsvorrichtung | |
DE3587591T2 (de) | Mikroprozessor für Forth-ähnliche Sprache. | |
DE3685913T2 (de) | Vektorenverarbeitung. | |
DE2714805C2 (de) | ||
DE69429226T2 (de) | Absendung von Befehlen an mehrere Verarbeitungseinheiten | |
DE3486211T2 (de) | Kodebestimmung mit einem auf Halbaddierer basierten Operandenvergleicher. | |
DE3113195A1 (de) | "speicheradressiervorrichtung" | |
DE2430127A1 (de) | Einrichtung zur steuerung des speicherzugriffs konkurrierender benutzer | |
DE1162111B (de) | Gleitkomma-Recheneinrichtung | |
DE1549480A1 (de) | Datenverarbeitungsanlage | |
DE1549477B1 (de) | Einrichtung zur schnellen akkumulation einer anzahl mehr stelliger binaerer operanden | |
DE3701599C2 (de) | ||
DE2902496A1 (de) | Digitale datenmultiplikationsanordnung | |
DE4403917A1 (de) | Vorrichtung zum Berechnen einer Besetzungszählung | |
DE2814078A1 (de) | Addierschaltung mit zeitweiliger zwischenspeicherung des uebertrags | |
DE3900246C2 (de) | ||
DE2816711A1 (de) | Divisionseinrichtung mit uebertrags- rettungsaddierwerk und nicht ausfuehrender vorausschau | |
DE3485771T2 (de) | Leistungsfaehiger paralleler vektorprozessor. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |