DE3306084C2 - - Google Patents

Info

Publication number
DE3306084C2
DE3306084C2 DE3306084A DE3306084A DE3306084C2 DE 3306084 C2 DE3306084 C2 DE 3306084C2 DE 3306084 A DE3306084 A DE 3306084A DE 3306084 A DE3306084 A DE 3306084A DE 3306084 C2 DE3306084 C2 DE 3306084C2
Authority
DE
Germany
Prior art keywords
point
computing device
shift
floating
digital
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE3306084A
Other languages
English (en)
Other versions
DE3306084A1 (de
Inventor
Edward R. Framingham Mass. Us 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

Die Erfindung betrifft u. a. eine Rechneranordnung für einen Digitalrechner zur Gleitkomma-Addition mit den Merkmalen des Oberbegriffes von Patentanspruch 1. Rechneranordnungen solcher Art sind aus der Veröffentlichung "Fixed-Point, Floating-Point Adder" von Allan M. Smith u. a. Technical Notes, RCA, 20. August 1969, Seiten 1 bis 3, bekannt. Sie enthalten eine Recheneinrichtung zur Durchführung der Gleitkomma-Addition und zueinander parallel liegende Mehr­ stellenschiebeeinrichtungen zur Durchführung der Ausrichtung und auch der Normalisierung des Additionsergebnisses.
Bei der Rechneranordnung bekannter Art werden die Mehrstel­ lenschieber der Verschiebungseinrichtung sowohl beim Aus­ richten der zu addierenden Digitalwortanteile entsprechend der Mantisse zu addierender Digitalwörter, als auch bei der Normalisierung des Ergebnisses und schließlich wieder beim Runden, durchlaufen, woraus eine vergleichsweise niedrige Arbeitsgeschwindigkeit resultiert.
Aus der US-Patentschrift 35 51 665 ist es weiter bekannt, zur Erhöhung der Arbeitsgeschwindigkeit bei der Durchführung von Gleitkomma-Additionen an Digitalzahlwörtern jeweils mehrere Mehrstellenschiebeeinrichtungen in einer Pipeline-Schaltung hin­ tereinander anzuordnen, um nacheinander die gegenseitige Ausrichtung der Mantissen und dann die Normalisierung vor­ nehmen zu können. Hierdurch ergibt sich ein erhöhter Schal­ tungsaufwand.
Durch die Erfindung soll die Aufgabe gelöst werden, eine Rechneranordnung bzw. ein Verfahren mit den Merkmalen des Oberbegriffes von Patentanspruch 1 bzw. 9 so auszugestalten, daß bei vergleichsweise geringem Schaltungsaufwand eine hohe Geschwindigkeit der Durchführung von Gleitkomma-Additionen erreicht wird.
Diese Aufgabe wird erfindungsgemäß durch die kennzeichnenden Merkmale von Patentanspruch 1 bzw. 9 gelöst.
Vorteilhafte Ausgestaltungen und Weiterbildungen der Rechneranordnung sowie des Verfahrens zur Durch­ führung von Gleitkomma-Additionen sind Gegenstand der Pa­ tentansprüche 2 bis 8 bzw. 9 bis 11.
Folgende allgemeine Betrachtungen seien vor einer Beschrei­ bung eines Ausführungsbeispieles zum besseren Verständnis des hier angegebenen Prinzips vorausgeschickt.
Die in Digitalrechnern durchgeführten arithmetischen Opera­ tionen können Operationen mit Festkomma sein, wie sie z. B. für Wirtschafts- oder statistische Berechnungen verwendet werden, oder Gleitkomma-Operationen, die hauptsächlich für wissenschaftliche und Ingenieurberechnungen verwendet wer­ den. Der Radixpunkt ist in einem Digitalrechner implizit vorhanden und besitzt keinen physikalischen Speicherplatz. Bei Festkomma-Rechnungen befindet sich der Radixpunkt un­ mittelbar rechts neben der Ziffernstelle mit dem niedrig­ sten Stellenwert oder unmittelbar rechts von der Vorzei­ chenstelle vor der ersten Ziffernstelle. Bei Gleitkomma- Rechnungen ist eine Zahl durch ein Vorzeichen, eine Mantisse und einen Exponenten repräsentiert, wobei die Mantisse Fest­ kommanotation haben kann und der Exponent entweder eine positive oder negative ganze Zahl ist.
Bevor man zwei Zahlen mit Gleitkomma addieren oder subtra­ hieren kann, müssen die Exponenten miteinander verglichen und gleichgesetzt werden. Häufig ist ein getrenntes Rechen­ werk vorgesehen, mit welchem die Exponentenberechnung durch­ geführt wird. Dies erfolgt gleichlaufend mit der Mantissen­ berechnung, um die Rechengeschwindigkeit zu erhöhen. Bei normalisierten Rechenvorgängen mit Gleitkomma wird eine Gleitkommazahl normalisiert, falls die Mantissenstelle mit dem höheren 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 Ex­ ponent wird entsprechend verkleinert, bis an der höchstwer­ tigen Stelle eine von Null verschiedene Ziffer auftaucht. Bei normalisierter Rechnung müssen alle Gleitkommazahlen zu­ nächst normalisiert werden, bevor sie behandelt werden kön­ nen. Deshalb müssen nach jedem Zwischenrechenschritt Renor­ malisierungsprozeduren stattfinden, um sicherzustellen, daß die normalisierte Form nicht verletzt ist. Gleitkommazahlen­ darstellungen sind in vielen Veröffentlichungen beschrieben. Beispielhaft sei genannt "Computer Arithmetic: Principles, Architectur 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 Verschiebung ist nur begrenzt durch die Länge der Mantisse und den speziellen verwendeten Abrundungs­ algorithmus. Die maximale Zahl der ausgeführten Verschiebung in einem Binärzahlensystem ist häufig gleich der Anzahl der Mantissenbits zuzüglich eins.
Es ist eine wesentliche Eigenschaft der hier angegebenen Rechneranordnung bzw. des hier vorgeschlagenen Verfahrens zur Gleitkomma-Addition, daß ein Digitalwort, das im laufe der Durchführung einer Gleitkomma-Addition auszurichten oder zu normalisieren ist, nicht deshalb durch die Recheneinrichtung, in der die Addition oder eine Rundung durchgeführt wird, ge­ führt werden muß, um Zugang zu der die notwendige Stellen­ verschiebung für Ausrichtung oder Normalisierung durchfüh­ renden Verschiebungseinrichtung zu gelangen.
Es folgt nun die Beschreibung eines Ausführungsbeispiels an Hand der Zeichnungen:
Fig. 1 zeigt als Blockschaltbild ein Funktionsdiagramm einer Rechneranordnung der hier angegebenen Art,
Fig. 2 zeigt ein allgemeines Blockschaltbild eines Digital­ rechners mit einem Hauptrechenwerk für die Gleit­ komma-Addition,
Fig. 3 zeigt eine logische Realisierung der Rechenanordnung gemäß Fig. 1,
Fig. 4 zeigt ein Blockschaltbild des in Fig. 1 und 2 dar­ gestellten Umlaufschiebers (Mehrstellenschiebeeinrichtung) 18, und
Fig. 5 zeigt ein Flußdiagramm eines Mikroprogramms zur Gleit­ komma-Addition in der hier beschriebenen Weise.
In Fig. 1 ist ein Funktionsblockdiagramm eines Hauptrechen­ werks 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ömmli­ chen Rechenwerk für den Gleitkomma-Exponenten verwendet, wie es beispielhaft in Fig. 2 dargestellt ist. Geeignete Steuer­ signale 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 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 10 speichern die Mantissen von Gleitkomma-Digitalwörtern oder -zahlen, die zueinander addiert werden sollen. Ein Rechts­ schieber 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 Digital­ wörter oder Zahlen, führt logische Operationen an diesen Digitalwörtern aus oder überträgt Digitalwörter einfach un­ verändert zu einem einstelligen Linksschieber 16. Ein Um­ laufschieber 18, der parallel zu dem die ALU 14 enthalten­ den und mit dem Linksschieber 16 verbundenen Pfad geschal­ tet 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äh­ rend einer Gleitkomma-Rechenoperation. Der A-Bus 20 liefert einen Gleitkomma-Operanden an einen Eingang der ALU 14 oder ein Digitalwort an den Umlaufschieber (Mehrstellenschiebeeinrichtung) 18. Der B-Bus 22 lie­ fert einen Gleitkomma-Operanden zu einem zweiten Eingang der ALU 14, ein Digitalwort zu dem Umlaufschieber 18 oder über­ trä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 Mikro­ programmsteuerung 30 bestimmt, die mit einem Decoder 31 ver­ bunden ist, der die erforderlichen Steuersignale 35 liefert. Diese basieren in einigen Zeitpunkten auf bestimmten Maschi­ nenstatusbedingungen 33, welche während spezifischer Opera­ tionen gegeben sind.
In Fig. 2, die das allgemeine Blockschaltbild eines Digi­ talrechners darstellt, ist das Hauptrechenwerk 64 in Kom­ bination mit einem Exponenten-Rechenwerk 66 gezeigt, mit dem zusammen es ein Universalrechenwerk 62 zur Ausführung von Festkomma- und Gleitkomma-Rechnungen bildet. Ein Spei­ cher 68 dient zur Speicherung von Daten und Befehlen. Eine Eingabe-Ausgabe-Einheit 70 steuert den Durchlauf von Digi­ talwörtern in den und aus dem Digitalrechner über einen Ein­ gabe-Ausgabe-Bus 74. Computerbusse 60 verbinden das Rechen­ werk 62, den Speicher 68 und die Eingabe-Ausgabe-Einheit 70 für den Transfer von Daten und Befehlen. Eine Steuereinheit 72 beinhaltet Mikroprogramm-Steuereinrichtungen mit Lese­ speicher und erzeugt die Steuersignale 35 zur Durchführung sämtlicher Operationen in dem Digitalrechner.
Gleitkomma-Addition erfordert im allgemeinen folgende Funk­ tionsschritte: (1) Exponentenvergleich und -ausrichtung, (2) Addition, (3) Normalisierung, (4) Abrundung und (5) Re­ normalisation. 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 Norma­ lisierungsoperation meistens eine Verschiebung um eine Zif­ fernstelle. Die parallele Schieber-Architektur, wie sie in Fig. 1 dargestellt ist, stellt die ALU 14 in einen Pfad und durch durch den Umlaufschieber 18 gegebene mehrstellige Ver­ schiebemöglichkeit in einen zweiten Pfad. Durch den Rechts­ schieber 12 ist jedoch auch die Möglichkeit einer einstel­ ligen 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 entwe­ der 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 Umlaufschieber 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 Stel­ le 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 Ausrich­ ten verwendet und der Umlaufschieber 18 ist erforderlichen­ falls für die Normalisierung reserviert. Die Parallelschie­ ber-Architektur bringt eine wesentliche Verkürzung der Aus­ fü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-Addi­ tion mit der Parallel-Schieber-Architektur durchlaufen. Die durchlaufende 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-Addi­ tion, wie sie durch die Anordnung gemäß Fig. 1 und 3 ausführ­ bar 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ö­ 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 un­ ter dem Einfluß der Mikroprogrammsteuerung 30 kompensiert die geringere Arbeitsgeschwindigkeit einer mit Mikroprogramm arbeitenden Steuereinheit. Der mit gestrichelten Linien um­ gebene Block, der einen Exponentenvergleich in dem Exponen­ ten-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 Gleit­ komma-Rechenoperation ist, die einen Mikrozyklus erfordert, wie er in Tabelle 1 dargestellt und dem einschlägigen Fach­ mann 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 Normali­ sierung eine Rechtsverschiebung erfordert, ist nach dem Ab­ runden keine Renormalisierung erforderlich. Deshalb kann die Renormalisierung im vierten Mikrozyklus von Tabelle 1 unter Verwendung des mit dem Eingang der ALU 14 verbundenen Rechts­ schiebers 12 und des mit dem Ausgang der ALU 14 verbundenen Linksschiebers 16 durchgeführt werden. Der letzte Mikrozy­ klus 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 abgerunde­ ten 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 Linksschie­ ber 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 Er­ gebnis zu runden. Wenn das Ergebnis nun nicht normali­ siert 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 Aus­ führungsbeispiel ist ein Hochgeschwindigkeits-Hauptrechen­ werk 64 vorgesehen, das zu Mantissenberechnungen eines 32- Bit-Gleitkomma-Digitalrechners mit einer Mikroprogrammen ar­ beitenden Steuerung 72 dient. Die Steuerung 72 ist durch die Mikroprogrammsteuerung 30 und den Decoder 31 angedeutet. Die Erfindung ist selbstverständlich nicht beschränkt auf Wort­ längen von 32-Bit noch auf die Radixzahl 2. Es können auch andere Steuereinheiten als die Mikroprogrammsteuerung Ver­ wendung finden. Einige der Steuersignale 35 werden in Abhän­ gigkeit von bestimmten Maschinen-Statusbedingungen 33 er­ zeugt. 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 Le­ se-Schreibport ist. Zur Realisierung können integrierte Schaltungen der Type 29705A M verwendet werden. Die zu ver­ arbeitenden Daten der Gleitkomma-Mantisse werden über den A-Bus 20 und den B-Bus 22 herangeführt. Ein Ausgang der Re­ gisterdatei 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 Aus­ gang 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 Operandenzwischenspei­ cherung vorgesehen, die durch integrierte Schaltungen des Typs 54 F 374 verkörpert sein können. Das A-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 Mul­ tiplikationen oder Divisionen. Der Ausgang des A-Registers 32 ist direkt mit dem Rechtsschieber 40 verbunden. Der Ein­ gang des B-Registers ist mit dem B-Bus 22 verbunden, wäh­ rend sein Ausgang direkt mit dem Rechtsschieber 38 in Ver­ bindung steht. Die Eingabe in das C-Register 36 erfolgt von dem F-Bus 24 oder dem A-Bus 20 über den Puffer 50. Der Aus­ gang des C-Registers 36 ist direkt mit dem B-Bus 22 verbun­ den. 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 Li­ nie 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 Aus­ gang 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 Zweier­ komplement des Ergebnisses des anderen ist. Die ALU mit dem positiven Ergebnis wird ausgewählt. Dadurch wird vermieden, daß ein negatives Zweierkomplement-Ergebnis in den Vorzei­ chenwert invertiert werden muß, der der Form der Gleitkomma- Mantisse entspricht. Die den beiden in den Rechen- und Steu­ erwerken 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 Gleitkomma-Vorzeichenlogik 48 wird über den Puffer 54 zu dem F-Bus 24 übertragen. Während der Durch­ führung einer Abrundungsoperation liefert ein Wort-Lesespeicher 46 über den B-Bus 22 eine als Rundungsziffer (oder Rundungsbit in dem Binärsystem) bezeichnete geeignete Kon­ stante 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 re­ alisiert sein. Diese dienen als 32-Bit-ALU mit Vorgriff-Über­ trag. Jede ALU führt logische und arithmetische Operationen aus, wie sie in Tabelle 2 aufgelistet sind, in der A und B die Eingänge einer ALU bedeuten. Die Puffer 50, 52 und 54 können unter Verwendung von integrierten Schaltungen des Typs 54 F 244 realisiert werden. Der A-Bus und der B-Bus können mit integrierten Tristate-Schaltungen des Typs 54 F 228 realisiert werden. Der F-Bus kann mit integrier­ ten Schaltungen des Typs 54 F 244 realisiert werden.
Fig. 4 zeigt einen Mehrfach-Bit- oder Umlaufschieber 18, der einen der beiden in Fig. 1 und 3 dargestellten Pfade mit Verschiebungsfunktion bildet und für eine Verschie­ bung mehrere Ziffern geeignet ist. Der Ausdruck Umlauf­ schieber 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 las­ sen und umfaßt die folgenden vier logischen Multiplexer­ stufen: Eingangs-Daten-Multiplexer 100 und 102, Byte-Um­ laufmultiplexer 104, Bit-Umlaufmultiplexer 108 und Ende­ kriterium-Multiplexer 114. Die Eingangs-Daten-Multiplexer 100 und 102 wählen eine von zwei 32-Bit-Mengen 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 Daten­ wortes mit dem niedrigsten Stellenwert können zusätzlich dem Eingang des Daten-Multiplexer 102 als eine entspre­ chende Anzahl von Nullen 101 zugeführt werden um eine Null-Einfügung zu bewirken, wenn die Verschiebung einer 32-Bit-Menge 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 niedrig­ sten Stellenwert dupliziert werden. Die Ausgänge des Ein­ gangs-Datenmultiplexers sind mit einem 8 : 1-Byte-Umlaufmul­ tiplexer 104 verbunden, der jedes aus 8 Bit bestehende Da­ tenbyte 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 Daten­ bits so verändert, wie es für eine Vorzeichenerstreckung bei Nulleinfügung erforderlich ist, falls eine Verschie­ bungsoperation (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 Ende­ kriterium-Multiplexer 114 können unter Verwendung von in­ tegrierten Schaltungen des Typs 54 F 257 realisiert sein. Der Byte-Umlaufmultiplexer 104 und die Bit-Umlaufmulti­ plexer 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 betrach­ tet: Die Mikroprogrammsteuerung 30 beinhaltet Mikrobefeh­ le zur Durchführung von Rechneroperationen, wie beispiels­ weise einer Gleitkomma-Addition. Die Zeitspanne zur Aus­ fü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 A-Bus 20 und dem B-Bus 22 entweder als Eingangsdaten 26 oder Daten aus der Registerdatei 42 und werden zu dem A-Register 32 und dem B-Register 34 übertragen. Gleichzei­ tig vergleicht das Exponenten-Rechenwerk 66 (Fig. 2) die zu jeder Mantisse gehörenden Exponenten und bestimmt, wel­ che 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 Ausrich­ tung 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 er­ forderlichen Verschiebungswertes steuert den Rechtsschie­ ber für die ausgewählten Registerinhalte. Die verbleiben­ den Bits des für die Ausrichtung notwendigen Verschie­ bungsbetrages steuern den Umlaufschieber 18. Aus dem Um­ laufschieber 18 erscheint eine ausgerichtete Operandenman­ tisse, 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-Re­ gisters für das Ausrichten ausgewählt war. Falls der Ver­ schiebungsbetrag hingegen 0 oder 1 ist, erscheint die aus­ gewählte Mantisse aus dem zugeordneten Rechtsschieber 38 oder 40 bereits in ausgerichtetem Zustand. Anschließend läuft sie durch die parallel angeordneten Rechen- und Steu­ erwerke ALU 14 und 44, in denen die Addition durchgeführt wird. Das Resultat wird in positiver Form in dem A-Regi­ ster 32 gespeichert.
Mikrozyklus 3:
Falls der Umlaufschieber 18 zum Ausrichten des Inhalts des A-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 Er­ gebnis wird in dem A-Register 32 gespeichert. Falls der Um­ laufschieber 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 En­ de geführt wurde, wird nunmehr die Normalisierung durchge­ fü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 Rundungs­ bit wird von dem Wortspeicher PROM 46 auf dem B-Bus 22 in die geeignete Position des ALU-Eingangs eingeführt. Der Aus­ gang 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-Vor­ zeichenlogik 48 erzeugten Vorzeichen des Ergebnisses über­ tragen wird. Falls die Normalisierung eine Verschiebung um mehr als ein Bit erfordert, wird der Umlaufschieber 18 da­ zu verwendet, den Inhalt des A-Registers 32 zu verschieben. Anschließend wird das Ergebnis in das A-Register 32 zurück­ gespeichert.
Mikrozyklus 4:
Falls der Umlaufschieber 18 für eine Mehr­ fachbit-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 Abrun­ dung und Renormalisierung an den Inhalten des A-Registers 32 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 Pa­ tentansprüchen verwendete Ausdruck ein - bzw. mehr­ stellige 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.
Sequenzen für Gleitkomma-Addition
Sequenz
Mikroprogramm-Zyclus
A
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
4. Abrunden, renormalisieren und Ergebnis speichern
C 1. Exponentenvergleich und Laden der Eingangsdaten
2. keine oder eine Stelle ausrichten und Addieren
3. Normalisieren, Abrunden, Renormalisieren und Ergebnis speichern
ALU-Funktionen
Logische
Arithmetische
Nicht A
A
Nicht (A und B) A und B
Nicht A oder B A und nicht B
Eins Null
Nicht (A oder B) A plus (A oder nicht B)
Nicht B (A und B) plus (A oder nicht B)
A äquivalent B A minus B
A oder nicht B A oder nicht B
Nicht A und B A plus (A oder B)
A exclusiv oder B A plus B
B (A und nicht B) plus (A oder B)
A oder B A oder B
Null A+A
A und nicht B (A und B) plus A
A und B (A und nicht B) plus A
A A

Claims (11)

1. Rechneranordnung für einen Digitalrechner zur Gleitkomma- Addition mit einer Recheneinrichtung (14) zur Durchführung dieser Gleitkomma-Addition und mit einer eine Mehrstellen­ schiebeeinrichtung (18) enthaltenden Verschiebungseinrich­ tung (12, 16, 18) zur Durchführung von Ausricht- und Normali­ sierungsfunktionen, dadurch gekennzeichnet, daß die Ver­ schiebungseinrichtung (12, 16, 18) außer der Mehrstellenschie­ beeinrichtung (18) eine mit der Recheneinrichtung (14) in Reihe liegende Einstellenschiebeanordnung (12, 16) enthält und daß die Mehrstellenschiebeeinrichtung (18) zu der Recheneinrichtung (14) derart parallel geschaltet ist, daß ein Digitalwort der Recheneinrichtung (14) und der Verschie­ bungseinrichtung (12, 16, 18) parallel zuführbar ist.
2. Rechneranordnung nach Anspruch 1, dadurch gekennzeichnet, daß die Einstellenschiebeanordnung (12, 16) einen mit dem Eingang der Recheneinrichtung (14) verbundenen Rechtsschieber (12) und einen mit dem Ausgang der Recheneinrichtung (14) verbundenen Linksschieber (16) enthält, mittels welchen Zeichen bzw. Ziffern eines Digitalwortes um eine Stelle nach rechts bzw. nach links verschiebbar sind.
3. Rechneranordnung nach Anspruch 1 oder 2, dadurch gekenn­ zeichnet, daß der Recheneinrichtung (14) zwei miteinander zu addierende Digitalwörter zur Durchführung der Addition zu­ führbar sind.
4. Rechneranordnung nach einem der Ansprüche 1 bis 3, da­ durch gekennzeichnet, daß die Mehrstellenschiebeeinrichtung (18) Verschiebungen von Zeichen bzw. Ziffern eines Digital­ wortes um mehrere Stellen sowohl nach rechts als auch nach links auszuführen vermag.
5. Rechneranordnung nach einem der Ansprüche 1 bis 4, da­ durch gekennzeichnet, daß die Mehrstellenschiebeeinrichtung (18) einen Umlaufschieber enthält.
6. Rechneranordnung nach einem der Ansprüche 1 bis 5, da­ durch gekennzeichnet, daß eine Mikroprogramm-Steuereinrich­ tung (30, 31, 72) zur Erzeugung von Steuersignalen (35) dient, mittels welchen gleichzeitig zwei parallele Signalverarbei­ tungswege einschaltbar sind, von denen einer die Mehrstel­ lenschiebeeinrichtung (18) und der andere die Rechenein­ richtung (14) enthält, und mittels welchen ferner die Aus­ gangssignale nur eines dieser Signalverarbeitungswege in Abhängigkeit von den Maschinenstatus meldenden Signalen (33) für eine Speicherung in Speichermitteln (10) auswählbar sind.
7. Rechneranordnung nach einem der Ansprüche 1 bis 6, da­ durch gekennzeichnet, daß die Mehrstellenschiebeeinrichtung (18) während einer Gleitkomma-Addition entweder nur auf die Ausrichtfunktion oder nur auf die Normalisierungsfunktion einstellbar ist.
8. Rechneranordnung nach einem der Ansprüche 1 bis 7, da­ durch gekennzeichnet, daß die Recheneinrichtung (14) Mittel zur Bestimmung des Vorzeichens des aus der Gleitkomma-Addi­ tion hervorgehenden Digitalwortes umfaßt.
9. Verfahren zur Gleitkomma-Addition zweier jeweils durch eine Mantisse und einen Exponent dargestellten Digitalzahlen, bei welcher durch Vergleich der Exponenten eine gegebenen­ falls notwendige Ausrichtung der Mantissen in einer Ver­ schiebungseinrichtung bestimmt, die Verschiebung durchge­ führt, die Addition in einer Recheneinrichtung ausgeführt und das Ergebnis in der Verschiebungseinrichtung normali­ siert wird, dadurch gekennzeichnet, daß je nach dem festge­ stellten notwendigen Umfang der zur Ausrichtung notwendigen Verschiebung die zu addierenden Digitalwörter entweder über einen eine Einstellenschiebeanordnung der Verschiebungs­ einrichtung und die Recheneinrichtung in Reihenschaltung enthaltenden Signalverarbeitungsweg oder einen zu der Recheneinrichtung parallel liegenden, eine Mehrstellen­ schiebeeinrichtung der Verschiebungseinrichtung enthalten­ den Signalverarbeitungsweg geführt werden.
10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, daß Steuersignale unter Verwendung einer Mikroprogramm-Steuerein­ richtung bereitgestellt werden, mittels welchen eine gleich­ zeitige Aktivierung der zueinander parallelen Signalverarbei­ tungswege erfolgt und mittels welchen in Abhängigkeit von Statusbedingungen der Maschine das Ausgangssignal nur eines der beiden parallelen Signalverarbeitungswege für eine Spei­ cherung ausgewählt wird.
11. Verfahren nach Anspruch 9 oder 10, dadurch gekennzeich­ net, daß ein einer der Mantissen entsprechendes Digitalwort durch einmaligen Durchlauf durch die Verschiebungseinrich­ tung ausgerichtet wird, daß dann die Addition der je eine der Mantissen repräsentierenden beiden Digitalwörter in der Recheneinrichtung durchgeführt wird, daß eine erste Normali­ sierung durch Hindurchführen des Rechenergebnisses durch die Verschiebungseinrichtung ausgeführt wird, wonach das Normali­ sierungsergebnis für eine Rundung durch die Recheneinrichtung geführt wird und dann eine zweite Normalisierung ausgeführt wird, indem das aus der Rundung resultierende Digitalwort wiederum durch die Verschiebungseinrichtung geführt wird, deren Mehrstellenschiebeeinrichtung während des gesamten Additionsvorganges nur einmal durchlaufen wird.
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 DE3306084A1 (de) 1983-09-01
DE3306084C2 true 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 가나이 쓰도무 연산장치 및 이것을 사용한 비트필드조작 연산방법
US5715470A (en) * 1992-09-29 1998-02-03 Matsushita Electric Industrial Co., Ltd. Arithmetic apparatus for carrying out viterbi decoding at a high speed
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 インターナショナル・ビジネス・マシーンズ・コーポレーション 演算回路および演算方法
US20020184566A1 (en) 2001-06-01 2002-12-05 Michael Catherwood Register pointer trap
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
US6604169B2 (en) 2001-06-01 2003-08-05 Microchip Technology Incorporated Modulo addressing based on absolute offset
US7467178B2 (en) 2001-06-01 2008-12-16 Microchip Technology Incorporated Dual mode arithmetic saturation processing
US7003543B2 (en) 2001-06-01 2006-02-21 Microchip Technology Incorporated Sticky z bit
US6601160B2 (en) 2001-06-01 2003-07-29 Microchip Technology Incorporated Dynamically reconfigurable data space
US6937084B2 (en) 2001-06-01 2005-08-30 Microchip Technology Incorporated Processor with dual-deadtime pulse width modulation generator
US6934728B2 (en) 2001-06-01 2005-08-23 Microchip Technology Incorporated Euclidean distance instructions
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
US6552625B2 (en) 2001-06-01 2003-04-22 Microchip Technology Inc. Processor with pulse width modulation generator with fault input prioritization
US6975679B2 (en) 2001-06-01 2005-12-13 Microchip Technology Incorporated Configuration fuses for setting PWM options
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
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
CN100543723C (zh) * 2004-08-13 2009-09-23 模拟装置公司 用于高效浮点运算器(alu)的方法
US7707236B2 (en) * 2004-08-13 2010-04-27 Analog Devices, Inc. Methods and apparatus for an efficient floating point 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

Family Cites Families (7)

* 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
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

Also Published As

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

Similar Documents

Publication Publication Date Title
DE3306084C2 (de)
DE2724125C2 (de)
DE2755273C2 (de)
DE3144015C2 (de)
DE2616717A1 (de) Digitales addierwerk
DE2847934A1 (de) Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher
DE3113195A1 (de) "speicheradressiervorrichtung"
DE19758079A1 (de) Verfahren und Vorrichtung zur Galoisfeld-Multiplikation
DE2712224A1 (de) Datenverarbeitungsanlage
DE1162111B (de) Gleitkomma-Recheneinrichtung
DE10260655B3 (de) Vorrichtung und Verfahren zum Berechnen einer Multiplikation mit einer Verschiebung des Multiplikanden, insbesondere bei der kryptographischen Berechnung
CH644461A5 (de) Digitale multipliziereinrichtung.
DE3701599C2 (de)
DE2816711A1 (de) Divisionseinrichtung mit uebertrags- rettungsaddierwerk und nicht ausfuehrender vorausschau
DE2221693B2 (de) Schaltungsanordnung zur Ausführung einer Multiplikation zwischen zwei Binärzahlen
DE2405858A1 (de) Normalisierendes verschiebezaehlernetzwerk
DE2310553A1 (de) Vorrichtung zur durchfuehrung arithmetischer und logischer operationen
DE3447634C2 (de)
DE2425574A1 (de) Adressierung von zeichen in einem wortorientierten system eines rechenautomaten
DE1223177B (de) Elektronischer Digitalrechner mit Schaltung fuer die Errechnung der Quadratwurzel aus einer Binaerzahl
EP0265555A1 (de) Verfahren und Schaltungsanordnung zur Addition von Gleitkommazahlen
DE1184122B (de) Addiervorrichtung
DE1449564C3 (de) Recheneinrichtung zur Subtraktion mehrerer Operanden oder zu deren Addition durch Verwendung von Komplementärwerten eines der Operanden
DE1774771B2 (de) Anordnung, um wechselweise eine addition oder eine aus einer anzahl logischer funktionen zwischen den stellenwerten zweier binaerwoerter durchzufuehren
DE2203143B2 (de) Rechenanordnung zum Dividieren von Dezimalzahlen

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