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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
- G06F7/485—Adding; Subtracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/01—Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
- G06F5/012—Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising in floating-point computations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computational Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Nonlinear Science (AREA)
- Complex Calculations (AREA)
- Executing Machine-Instructions (AREA)
Description
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.
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.
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.
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.
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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4577282A (en) | 1982-02-22 | 1986-03-18 | Texas Instruments Incorporated | Microcomputer system for digital signal processing |
US4586131A (en) * | 1982-02-22 | 1986-04-29 | Texas Instruments Incorporated | Microcomputer having data move circuits for within-memory shift of data words |
JPS6083139A (ja) * | 1983-10-13 | 1985-05-11 | Nec Corp | 2進化10進数正規化回路 |
CA1229415A (en) * | 1983-12-09 | 1987-11-17 | Masayuki Ikeda | Floating-point addition/subtraction system |
US4639887A (en) * | 1984-02-24 | 1987-01-27 | The United States Of America As Represented By The United States Department Of Energy | Bifurcated method and apparatus for floating point addition with decreased latency time |
US4716539A (en) * | 1984-12-31 | 1987-12-29 | Gte Communication Systems Corporation | Multiplier circuit for encoder PCM samples |
EP0211179A3 (de) * | 1985-06-28 | 1990-09-05 | Hewlett-Packard Company | Gerät zur Durchführung einer variabelen Verschiebung |
US4782457A (en) * | 1986-08-18 | 1988-11-01 | Texas Instruments Incorporated | Barrel shifter using bit reversers and having automatic normalization |
US4884231A (en) * | 1986-09-26 | 1989-11-28 | Performance Semiconductor Corporation | Microprocessor system with extended arithmetic logic unit |
US4800516A (en) * | 1986-10-31 | 1989-01-24 | Amdahl Corporation | High speed floating-point unit |
JP2558669B2 (ja) * | 1986-12-29 | 1996-11-27 | 松下電器産業株式会社 | 浮動小数点演算装置 |
US4862407A (en) * | 1987-10-05 | 1989-08-29 | Motorola, Inc. | Digital signal processing apparatus |
JPH01111229A (ja) * | 1987-10-26 | 1989-04-27 | Nec Corp | 浮動小数点加減算器 |
JP2695178B2 (ja) * | 1988-03-11 | 1997-12-24 | 富士通株式会社 | 演算回路 |
JPH01302425A (ja) * | 1988-05-31 | 1989-12-06 | Toshiba Corp | 浮動小数点加減算回路 |
US5153848A (en) * | 1988-06-17 | 1992-10-06 | Bipolar Integrated Technology, Inc. | Floating point processor with internal free-running clock |
US4996661A (en) * | 1988-10-05 | 1991-02-26 | United Technologies Corporation | Single chip complex floating point numeric processor |
US4926369A (en) * | 1988-10-07 | 1990-05-15 | International Business Machines Corporation | Leading 0/1 anticipator (LZA) |
US5161117A (en) * | 1989-06-05 | 1992-11-03 | Fairchild Weston Systems, Inc. | Floating point conversion device and method |
US4999803A (en) * | 1989-06-29 | 1991-03-12 | Digital Equipment Corporation | Floating point arithmetic system and method |
JPH05134848A (ja) * | 1991-03-06 | 1993-06-01 | Fujitsu Ltd | 中央処理装置のデータシフト回路 |
KR100262438B1 (ko) * | 1991-05-08 | 2000-08-01 | 가나이 쓰도무 | 연산장치 및 이것을 사용한 비트필드조작 연산방법 |
AU652896B2 (en) * | 1992-09-29 | 1994-09-08 | Matsushita Electric Industrial Co., Ltd. | Arithmetic apparatus |
GB2274730B (en) * | 1993-01-30 | 1997-05-28 | Motorola Inc | A mantissa addition system for a floating point adder |
US5576982A (en) * | 1994-10-17 | 1996-11-19 | Unisys Corporation | Fast significant bit calculator and its application to integer multiplication and division |
JP3421933B2 (ja) * | 1994-10-31 | 2003-06-30 | 弘之 河▲崎▼ | 演算処理装置及び電子計算機 |
US5880983A (en) * | 1996-03-25 | 1999-03-09 | International Business Machines Corporation | Floating point split multiply/add system which has infinite precision |
US5790445A (en) * | 1996-04-30 | 1998-08-04 | International Business Machines Corporation | Method and system for performing a high speed floating point add operation |
KR100212139B1 (ko) * | 1996-07-22 | 1999-08-02 | 윤종용 | 클럭공급장치 |
US5844830A (en) * | 1996-08-07 | 1998-12-01 | Sun Microsystems, Inc. | Executing computer instrucrions by circuits having different latencies |
US5844825A (en) * | 1996-09-03 | 1998-12-01 | Wang; Song-Tine | Bidirectional shifter circuit |
JP2000068834A (ja) | 1998-08-20 | 2000-03-03 | Hiroyuki Kawasaki | 信号変換方法及び信号変換器 |
JP3709553B2 (ja) * | 2000-12-19 | 2005-10-26 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 演算回路および演算方法 |
US6728856B2 (en) | 2001-06-01 | 2004-04-27 | Microchip Technology Incorporated | Modified Harvard architecture processor having program memory space mapped to data memory space |
US7467178B2 (en) | 2001-06-01 | 2008-12-16 | Microchip Technology Incorporated | Dual mode arithmetic saturation processing |
US6937084B2 (en) | 2001-06-01 | 2005-08-30 | Microchip Technology Incorporated | Processor with dual-deadtime pulse width modulation generator |
US6985986B2 (en) | 2001-06-01 | 2006-01-10 | Microchip Technology Incorporated | Variable cycle interrupt disabling |
US7007172B2 (en) | 2001-06-01 | 2006-02-28 | Microchip Technology Incorporated | Modified Harvard architecture processor having data memory space mapped to program memory space with erroneous execution protection |
US7003543B2 (en) | 2001-06-01 | 2006-02-21 | Microchip Technology Incorporated | Sticky z bit |
US6552625B2 (en) | 2001-06-01 | 2003-04-22 | Microchip Technology Inc. | Processor with pulse width modulation generator with fault input prioritization |
US6604169B2 (en) | 2001-06-01 | 2003-08-05 | Microchip Technology Incorporated | Modulo addressing based on absolute offset |
US6975679B2 (en) | 2001-06-01 | 2005-12-13 | Microchip Technology Incorporated | Configuration fuses for setting PWM options |
US6934728B2 (en) | 2001-06-01 | 2005-08-23 | Microchip Technology Incorporated | Euclidean distance instructions |
US6976158B2 (en) | 2001-06-01 | 2005-12-13 | Microchip Technology Incorporated | Repeat instruction with interrupt |
US6601160B2 (en) | 2001-06-01 | 2003-07-29 | Microchip Technology Incorporated | Dynamically reconfigurable data space |
US7020788B2 (en) | 2001-06-01 | 2006-03-28 | Microchip Technology Incorporated | Reduced power option |
US6952711B2 (en) | 2001-06-01 | 2005-10-04 | Microchip Technology Incorporated | Maximally negative signed fractional number multiplication |
US20020184566A1 (en) | 2001-06-01 | 2002-12-05 | Michael Catherwood | Register pointer trap |
US6552567B1 (en) | 2001-09-28 | 2003-04-22 | Microchip Technology Incorporated | Functional pathway configuration at a system/IC interface |
US7774393B1 (en) * | 2004-06-30 | 2010-08-10 | Oracle America, Inc. | Apparatus and method for integer to floating-point format conversion |
US7707236B2 (en) * | 2004-08-13 | 2010-04-27 | Analog Devices, Inc. | Methods and apparatus for an efficient floating point ALU |
CN100543723C (zh) * | 2004-08-13 | 2009-09-23 | 模拟装置公司 | 用于高效浮点运算器(alu)的方法 |
US7546328B2 (en) * | 2004-08-31 | 2009-06-09 | Wisconsin Alumni Research Foundation | Decimal floating-point adder |
US7743084B2 (en) * | 2004-09-23 | 2010-06-22 | Wisconsin Alumni Research Foundation | Processing unit having multioperand decimal addition |
US7949695B2 (en) * | 2004-10-27 | 2011-05-24 | Via Technologies Inc. | Two's complement circuit |
KR20070088190A (ko) * | 2006-02-24 | 2007-08-29 | 삼성전자주식회사 | 멀티미디어 데이터 처리를 위한 서브워드 병렬 처리 방법 |
US8768989B2 (en) * | 2011-03-18 | 2014-07-01 | Apple Inc. | Funnel shifter implementation |
US9836278B2 (en) * | 2015-05-29 | 2017-12-05 | Huawei Technologies Co., Ltd. | Floating point computation apparatus and method |
Family Cites Families (7)
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 |
-
1982
- 1982-02-22 US US06/350,860 patent/US4488252A/en not_active Expired - Lifetime
-
1983
- 1983-01-26 CA CA000420279A patent/CA1184664A/en not_active Expired
- 1983-02-09 NL NL8300492A patent/NL8300492A/nl not_active Application Discontinuation
- 1983-02-16 GB GB08304310A patent/GB2116758B/en not_active Expired
- 1983-02-22 DE DE19833306084 patent/DE3306084A1/de active Granted
- 1983-02-22 FR FR8302863A patent/FR2522171B1/fr not_active Expired
- 1983-02-22 JP JP58028420A patent/JPS58158739A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
US4488252A (en) | 1984-12-11 |
NL8300492A (nl) | 1983-09-16 |
FR2522171A1 (fr) | 1983-08-26 |
DE3306084A1 (de) | 1983-09-01 |
FR2522171B1 (fr) | 1987-02-27 |
GB2116758B (en) | 1985-11-13 |
JPS58158739A (ja) | 1983-09-21 |
CA1184664A (en) | 1985-03-26 |
GB8304310D0 (en) | 1983-03-23 |
GB2116758A (en) | 1983-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3306084C2 (de) | ||
DE2724125C2 (de) | ||
DE69811877T2 (de) | ARITHMETISCHER PROZESSOR, der endliche Felder Arithmetik und ganzzahlige modular Arithmetik kombiniert. | |
DE3789122T2 (de) | Datenverarbeitungsvorrichtung. | |
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 | |
DE68924386T2 (de) | Verfahren und Gerät zur Radix-2**n-Division mit überlappender Quotientenbitauswahl und gleichzeitiger Rundung und Korrektur des Quotienten. | |
DE1162111B (de) | Gleitkomma-Recheneinrichtung | |
DE1549477B1 (de) | Einrichtung zur schnellen akkumulation einer anzahl mehr stelliger binaerer operanden | |
DE69227348T2 (de) | DIVIDIERSCHALTUNG FüR GLEITKOMMAZAHLEN | |
DE10260655B3 (de) | Vorrichtung und Verfahren zum Berechnen einer Multiplikation mit einer Verschiebung des Multiplikanden, insbesondere bei der kryptographischen Berechnung | |
DE3888230T2 (de) | Einrichtung und Verfahren zur Durchführung einer Schiebeoperation mit einer Multipliziererschaltung. | |
DE2816711A1 (de) | Divisionseinrichtung mit uebertrags- rettungsaddierwerk und nicht ausfuehrender vorausschau | |
DE2221693B2 (de) | Schaltungsanordnung zur Ausführung einer Multiplikation zwischen zwei Binärzahlen | |
DE68927398T2 (de) | Digitale Divisionsschaltung mit einem N/2-Bit-Subtrahierer für N-Subtraktionen | |
DE2310553A1 (de) | Vorrichtung zur durchfuehrung arithmetischer und logischer operationen | |
DE69228400T2 (de) | Vorprozessor für Dividierer unter Verwendung eines Divisionssystems mit hoher Grundzahl | |
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 |
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 |