DE3306084A1 - Rechnerarchitektur zur gleitkomma -addition - Google Patents

Rechnerarchitektur zur gleitkomma -addition

Info

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
Application number
DE19833306084
Other languages
English (en)
Other versions
DE3306084C2 (de
Inventor
Edward R. Framingham Mass. Vassar
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Raytheon Co
Original Assignee
Raytheon Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Raytheon Co filed Critical Raytheon Co
Publication of DE3306084A1 publication Critical patent/DE3306084A1/de
Application granted granted Critical
Publication of DE3306084C2 publication Critical patent/DE3306084C2/de
Granted legal-status Critical Current

Links

Classifications

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

Description

DOPNfSR 3. MUFr .'AGEL P..TEN.-.-? .".VALTe
München, den 22. Februar I983 UN»-.«, ST«, j-,· oooo MOnCHBN* Anwaltsaktenz.: 27 - Pat. 330
Raytheon Company, l4l Spring Street, Lexington, MA 02173 Vereinigte Staaten von Amerika
Rechnerarchitektur zur Gleitkomma-Addition
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.
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
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. - 1 Patentansprüche
    1J 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 der
    Zeichen- 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.
DE19833306084 1982-02-22 1983-02-22 Rechnerarchitektur zur gleitkomma -addition Granted DE3306084A1 (de)

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)

* Cited by examiner, † Cited by third party
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 インターナショナル・ビジネス・マシーンズ・コーポレーション 演算回路および演算方法
US6552625B2 (en) 2001-06-01 2003-04-22 Microchip Technology Inc. Processor with pulse width modulation generator with fault input prioritization
US7467178B2 (en) 2001-06-01 2008-12-16 Microchip Technology Incorporated Dual mode arithmetic saturation processing
US6934728B2 (en) 2001-06-01 2005-08-23 Microchip Technology Incorporated Euclidean distance instructions
US6952711B2 (en) 2001-06-01 2005-10-04 Microchip Technology Incorporated Maximally negative signed fractional number multiplication
US6937084B2 (en) 2001-06-01 2005-08-30 Microchip Technology Incorporated Processor with dual-deadtime pulse width modulation generator
US6975679B2 (en) 2001-06-01 2005-12-13 Microchip Technology Incorporated Configuration fuses for setting PWM options
US6604169B2 (en) 2001-06-01 2003-08-05 Microchip Technology Incorporated Modulo addressing based on absolute offset
US6985986B2 (en) 2001-06-01 2006-01-10 Microchip Technology Incorporated Variable cycle interrupt disabling
US6601160B2 (en) 2001-06-01 2003-07-29 Microchip Technology Incorporated Dynamically reconfigurable data space
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
US7020788B2 (en) 2001-06-01 2006-03-28 Microchip Technology Incorporated Reduced power option
US6976158B2 (en) 2001-06-01 2005-12-13 Microchip Technology Incorporated Repeat instruction with interrupt
US6728856B2 (en) 2001-06-01 2004-04-27 Microchip Technology Incorporated Modified Harvard architecture processor having program memory space mapped to data memory space
US7003543B2 (en) 2001-06-01 2006-02-21 Microchip Technology Incorporated Sticky z bit
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)

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

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

Patent Citations (1)

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

* Cited by examiner, † Cited by third party
Title
US-Z.: Technical Notes RCA, No. 846, Aug. 20, 1969 S.1-3 *

Also Published As

Publication number Publication date
NL8300492A (nl) 1983-09-16
FR2522171B1 (fr) 1987-02-27
JPS58158739A (ja) 1983-09-21
GB8304310D0 (en) 1983-03-23
GB2116758A (en) 1983-09-28
DE3306084C2 (de) 1993-08-05
CA1184664A (en) 1985-03-26
US4488252A (en) 1984-12-11
GB2116758B (en) 1985-11-13
FR2522171A1 (fr) 1983-08-26

Similar Documents

Publication Publication Date Title
DE3306084A1 (de) Rechnerarchitektur zur gleitkomma -addition
DE19540102C2 (de) Verfahren und Gleitkomma-Recheneinheit mit einer Logik für eine Vierfach-Präzisions-Arithmetik
DE2704842C2 (de) Im Pipeline-Betrieb arbeitende Datenverarbeitungseinrichtung
DE2755273C2 (de)
DE69833008T2 (de) Prozessor mit instruktionskodierung mittels eines schablonenfeldes
DE2714805C2 (de)
DE2724125C2 (de)
EP0079471B1 (de) Schaltungsanordnung und Verfahren zur Bildung von Skalarprodukten und Summen von Gleitkommazahlen mit maximaler Genauigkeit
DE2900324A1 (de) Mikroprogrammierbare arithmetische fliesskommaeinheit
DE3113195A1 (de) "speicheradressiervorrichtung"
DE2430127A1 (de) Einrichtung zur steuerung des speicherzugriffs konkurrierender benutzer
DE1178623B (de) Programmgesteuerte datenverarbeitende Maschine
DE4403917C2 (de) Vorrichtung zum Berechnen einer Bit-Besetzungszählung
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
DE2814078A1 (de) Addierschaltung mit zeitweiliger zwischenspeicherung des uebertrags
DE3900246C2 (de)
DE2816711A1 (de) Divisionseinrichtung mit uebertrags- rettungsaddierwerk und nicht ausfuehrender vorausschau
DE2405858A1 (de) Normalisierendes verschiebezaehlernetzwerk
DE4430195A1 (de) Computersystem und Verfahren zur Auswertung von Vorhersagen und Booleschen Ausdrücken
DE2310553A1 (de) Vorrichtung zur durchfuehrung arithmetischer und logischer operationen
DE3307194C2 (de)

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