DE2501985A1 - Mit gleitkomma arbeitender rechenmechanismus - Google Patents
Mit gleitkomma arbeitender rechenmechanismusInfo
- Publication number
- DE2501985A1 DE2501985A1 DE19752501985 DE2501985A DE2501985A1 DE 2501985 A1 DE2501985 A1 DE 2501985A1 DE 19752501985 DE19752501985 DE 19752501985 DE 2501985 A DE2501985 A DE 2501985A DE 2501985 A1 DE2501985 A1 DE 2501985A1
- Authority
- DE
- Germany
- Prior art keywords
- register
- floating point
- bit
- exponent
- mantissa
- 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.)
- Pending
Links
Classifications
-
- 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)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Complex Calculations (AREA)
- Executing Machine-Instructions (AREA)
Description
DIPL.-1NG. KLAUS NEUBECKER
PatentanA alt
4 Düsseldorf 1 · Schadowplatz 9
4 Düsseldorf 1 · Schadowplatz 9
Düsseldorf, 17. Jan. 1975
435,383
74209
74209
Data General Corporation
Southboro, Mass. 01772,. V. St. A.
Southboro, Mass. 01772,. V. St. A.
'Mit Gleitkomma arbeitender Rechenmechanismus
.Die Erfindung bezieht sich auf arithmetische Operationen, wie
sie in Verbindung mit der Datenverarbeitung durchgeführtwerden„
insbesondere die Handhabung von Gleitkommaoperationen.
Auf dem Gebiet der Datenverarbeitung spielen Kostengesichtspunkte bei der Auslegung und Entwicklung konkurrenzfähiger Verarbeitungseinheiten
eine wesentliche Rolle. Gleitkomma-Verarbeitungseinheiten werden, wenngleich sie sich stark eingebürgert
haben, sehr komplex, wenn sie für die Verwendung für große Dezimalbereiche und erhöhte Genauigkeit in Verbindung mit Minicomputern
und größeren Computern ausgelegt werden. Somit können sich verbesserte Verfahren und ein vereinfachter Aufbau, die für
ein großes Maß an Flexibilität und gute Genauigkeifcswerte sorgen,
als äußerst wertvoll erweisen.
Eine der Operationen bekannter mit Gleitkomma arbeitender Rechenmechanismen
nach dem Stand der Technik, die die Wirksamkeit solcher Einheiten nachteilig beeinflussen, besteht in der Modifizierung
eines der beiden Operanden dahingehend, daS ihre Exponenten für arithmetische Additions- oder Subtraktionsoperationen
509830/0729
Telefon (Ö2H) 32 O8 58 Telegramme Custopat
gleich sind. Ein Gleitkomma-Operand enthält ein Vorzeichen des
Operanden, einen mit Vorzeichen versehenen Exponenten oder eine solche Charakteristik sowie eine Mantisse oder einen Bruchteil.
Eine weitere Operation dient zur Modifizierung eines der beiden Operanden zur Normalisierung von Mantissenwerten. Die Normalisierung
erfordert, daß die höchstwertige Mantissenziffer von Null abweicht. Das gewährleistet eine maximale Genauigkeit bei
Mehrfach-Arithmetikoperationen. Eine Möglichkeit, solche Operationen
auszuführen, besteht darin, die Mantisse jeweils um eine Ziffer weiterzubewegen und dabei die Exponentenwerte daraufhin
zu überprüfen, ob sie gleich sind. Ein optimales Verfahren für eine solche Operation würde jedoch sein, unmittelbar zu Beginn
zu bestimmen, wieviel Verschiebung notwendig ist, und den Gleichstellungs-
oder Angleichvorgang in bequemer Weise in einer einzigen Operation mit einem minimalen Hardwareaufwand durchzuführen.
Das gleiche Verfahren wäre für die Normalisierung der Mantisse wünschenswert, beispielsweise einer durch Prüfung der höchstwertigen
Mantissenziffern durch geeignete Exponentenverringerungs-
und Mantissenverschiebungsoperationen als Ergebnis erhaltenen Mantisse.
Aufgabe vorliegender Erfindung ist die Schaffung einer einfachen, leistungsfähigen und genauen Gleitkomma-Verarbeitungseinheit,
die zu verbesserten Verfahren und einer verbesserten Anordnung zur Handhabung von Exponenten- und Mantissendaten im Hinblick
auf arithmetische Operationen und/oder Normalisierung führt. Dabei soll es möglich sein in Verbindung mit der oben angegebenen
Datenweg-Konfiguration über eine gute Zugänglichkeit zu verfügen, um so Operandeninformation in jede von zwei Gruppen Gleitkomma-Akkumulatoren
abbilden zu können und so ein Maximum an Vielseitigkeit und Zugriff zu Information im Gleitkommasystem zu ermöglichen.
Zur Lösung dieser Aufgabe ist ein mit Gleitkomma arbeitender Rechenmechanismus mit einer Anordnung zum Verschieben erster bzw.
509830/0 7 29
zweiter Operanden mit ersten und zweiten Mantissen- sowie Exponentenwerten
zur Durchführung arithmetischer und logischer Operationen, einer Einrichtung zur Bildung eines Skalen- oder Maßstäbsfaktors
zur Festlegung der Forderungen hinsichtlich einer Operandenverschiebung sowie einer an eine erste und zweite
Registereinrichtung angeschlossenen und zur Aufnahme des Operanden
geeigneten arithmetische Logikeinrichtung, erfindungsgemäß gekennzeichnet durch eine auf den Maßstabsfaktor ansprechende
hexadezimale Skaliereinrichtung zur Verschiebung von Operanden
in hexadezimalem Format; die Tatsache, daß jede der Registereinrichtungen
eine Gruppe mit 4-Bit-Registern aufweist, wobei korrespondierende 4-Bit-Register für die erste und zweite Registereinrichtung
jeweils an eine Gruppe Eingangsleitungen der hexadezimalen Skaliereinrichtung angeschlossen sind, um in einer ersten
Richtung aus einer ausgewählten Registereinrichtung ausgeschrieben zu werden; eine Schalteinrichtung zur selektiven Verbindung
eines aus der Gruppe der 4-Bit-Register mit der Gruppe Eingangsleitungen der hexadezimalen Skaliereinrichtung; sowie dadurch,
daß die hexadezimale Skaliereinrichtung einen Ausgang hat, der zu einem Eingang des 4-Bit-Registers zurückgeführt ist und auf
den Maßstabsfaktor anspricht, um eine Gruppe 4-Bit-Register in
der ersten Richtung seriell zu laden und damit einen ausgewählten Operanden zu verschieben.
Es wird erfindungsgemäß eine hexadezimale Skalieroperation als
integraler Bestandteil der Datenweg-Zwischenverbindung eingearbeitet, wobei Skalier-Kodierwerte selektiv zur wirksamen Verschiebung
der Mantisse für eine vereinfachte Mantxssenangleichung über die Datenweg-Konfiguration sorgen. Eine Möglichkeit der Bereitstellung
der Skalier-Kodierwerte besteht in der Übernahme des absoluten Werts der Differenz zwischen den beiden Exponenten.
Die Normalisierung erfolgt in ähnlicher Weise in einem einzigen Schritt, um die Mantisse so auszurichten, daß die höchstwertige
Ziffer von Null abweicht.
Nach der Erfindung kann ein Datenträger mit gemeinsamer Sammelleitung
zur Erzielung einer maximalen Flexibilität des vorbe-
50983Ü/Ü729
schriebenen Skalier-Verschiebungsverfahrens vorgesehen werden,·
um die Möglichkeit der Anwendung der Skalier-Codewerte zur Normalisierung und zur Gleichsetzung bei der Durchführung der arithmetischen
Operationen zu zentralisieren und zu vereinfachen. Eine weitere Möglichkeit der Erfindung besteht in der Schaffung eines
eine gemeinsame Sammelleitung aufweisenden Datenträgers des Skalierausgangs zur Abgabe geeigneter skalierter Operandenanteile
sowohl an die Eingänge der Mantissen-Arithmetiklogikeinheit als auch der Exponenten-Arithmetiklogikeinheit, außerdem ein Operanden-Gleitkomma-Zwischenregister
. Eine Exponenten-Arithmetiklogik gestattet eine rasche Berechnung des absoluten Werts der Differenz
zwischen zwei Exponenten und zeigt den größeren der beiden Exponenten an, um die Mantisse anzugeben, die entsprechend der
Differenz des absoluten Werts verschoben werden muß.
Weitere erfindungswesentliche Merkmale ergeben sich aus den Unteransprüchen.
Die Erfindung wird nachstehend anhand von Ausführungsbeispielen in Verbindung mit der zugehörigen Zeichnung erläutert. In der
Zeichnung zeigen:
Fig. 1 schematisch ein Blockschaltbild einer bevorzugten Ausführungsform des Aufbaus der Gleitkomma-Verarbeitungseinheit
nach der Erfindung;
Fig. 2 weiter ins einzelne gehend in Form eines Blockschaltbilds den Aufbau der Eingangswähleinheit 28
sowie des hexadezimalen Skalierers 27 in Verbindung mit den A-, B- und MQ-Registern;
Fig. 2A weiter ins einzelne gehend in Blockschaltbildform die Mantissen-Arithmetiklogikeinheit- und A- sowie
B-Registerverbindungen;
Fig. 3 weiter ins einzelne gehend in Blockschaltbildform die Exponential-Arithmetiklogikeinheit der Fig. 1;
50983 0/0729
Fig. 4-8
Diagramme der jeweils beschriebenen Betriebszustände
des Rechenmechanismus;
Fig. 9-16
Flußdiagramme, die den Datenfluß während der Zeitabschnitte der mit Fig. 4-8 wiedergegebenen Betriebszustände veranschaulichen; und
Fig. 17 in Binärform das Format zweier in Verbindung mit der
Operation der Fig.1,2 und 3 untersuchten Operanden
für die richtige Verschiebung der Daten zur Ausführung von Arithmetik- und/oder Normalisier-Operationen*
Im einzelnen zeigt Fig. 1 ein Blockschaltbild, das allgemein
den Aufbau der Gleitkomma-Logik erkennen läßt? wie sie ein Merkmal
der vorliegenden Erfindung darstellt. Es ist darauf hinzuweisen, daß die wiedergegebene spezielle Ausführung von der *
Speichersammelleitung und der Speicher-Adressen-Sammelleitung eines Computersystems aus arbeitet* dem es im Gegensatz zu der 1/0-Sammelleitung
zugeordnet ist, obwohl eine Operation mit der letztgenannten Sammelleitung ebenfalls unter Anwendung des erfindungsgemäßen
Prinzips durchgeführt worden ist. Befehle für die Gleitkommaeinheit von der zentralen Verarbeitungseinheit -(CPU-central
processing unit) werden über die Speichersammelleitung ausgeführt,
um für eine wirksame und parallele Verarbeitung zu sorgen.
Wie der nachfolgenden Beschreibung der Erfindung entnehmbar, besteht die Möglichkeit, arithmetische Operationen rasch und
bequem in einem großen Zahlenbereich mit einem hohen Maß an
Präzision durchzuführen. Berechnungen können entweder mit einfacher oder doppelter Genauigkeit erfolgen. Bei Einfachgenauigkeit
werden sechs bis sieben kennzeichnende (signifikante) Dezimalziffern
geliefert, während bei doppelter Genauigkeit dreizehn
509830/0729
bis fünfzehn kennzeichnende Dezimalziffern geliefert werden. Der Dezimalbereich einer Gleitkommazahl ist bei der vorliegenden Erfin-
-79
dung für jeden Genauigkeitsgrad etwa 5,4 χ 10 bis 7,2 χ 10
Es sei ferner darauf hingewiesen, daß die nachstehende Untersuchung
sich mit Zahlen befaßt, die von dem Gleitkomma-Prozessor auf der Basis 16 verarbeitet werden, was als "hexadezimale" (oder
einfach als "hex") Zahlendarstellung bekannt ist. Jede Gruppe mit vier Binärziffern wird zu einer einzigen Ziffer auf der Basis
von 16 zusammengedrängt oder reduziert. Die einzelne Ziffer wird
in Form arabischer Zahlen zwischen Null und Neun für die 4-binären Ziffernwerte Null bis Neun und mit alphabetischen Bezeichnungen
A bis F für die 4-binären Ziffernwerte Zehn bis Fünfzehn ausgedrückt. Beispielsweise würden die drei 4-binären Ziffernwerte 1011 1001
1111 als B9F., bezeichnet.
I ο
I ο
Fig. 1 zeigt einen Gleitkomma-Befehlszwischenspeicher 11, der zwischen die Speichersammeileitung und ein Gleitkomma-Befehlsregister
12 geschaltet ist. Das Gleitkomma-Befehlsregister 12 ermöglicht eine vorübergehende Speicherung eines neuen Gleitkomma-Befehls,
wenn man davon ausgeht, daß gerade ein vorhergehender Gleitkomma-Befehl ausgeführt wird. Zur gleichen Zeit,
zu der der Befehl in das Befehlsregister der CPÜ eingegeben bzw. geladen wird, wird er automatisch in den Gleitkomma-Befehlszeichenspeicher
11 geladen? unter der Annahme, daß der Befehl eine Gleitkomma-Eingabe ist. Er wird dann unmittelbar in das Gleitkomma-Befehlsregister
12 weitergeleitet, natürlich nur dann, wenn dort nicht gerade ein vorhergehender Gleitkomma-Befehl ausgeführt
wird, wobei der Befehl in dem Befehlszwischenspeicher
bleibt, bis der letzte Befehl abgeschlossen worden ist.
Die verschiedenen Zustandsbedingungen des Befehls in dem Gleitkomma-Befehlsregister
12 werden in eine Dekodiersteuer- und Zeitgeberlogik 13 eingegeben, um die verschiedenen Signale für
die herkömmlichen Exponentensteuer-Lesespeicher (ROM - read-only
509830/0729
memories) und Mantissensteuer-Lesespeicher zu liefern, wie sie in Verbindung mit Gleitkomma-Verarbeitungslogik sowie der notwendigen
Zeitgeberlogik eingesetzt werden, um für die richtige Sequenz der Signale zu sorgen.
Eine Zustandsregxstersteuerung 39 erfaßt den Gleitkommafehler,
ζ.. B. Exponentenunter lauf oder -überlauf, Teilung durch Null,
Mantissenüberlauf etc*, während irgendeiner Gleitkomma^Operation.
Diese Fehlerinformation wird in dem Teil 38 des Zustandsregisters 39 gesetzt. Der Adressenzwischenspeicher 35 wird fortlaufend mit
einer Adresse gespeist, wenn die CPU Information von einer bestimmten Speichersteile anfordert. Wenn diese Information ein
Gleitkomma-Befehl ist, dann wird die letzte Adresse des Zwischenspeichers, die die Adresse des Gleitkomma-Befehls ist, dort gehalten.
Wenn in dem Teil 38 keine Fehler gesetzt oder festgehalten werden, dann werden die Adressenzwischenspeicher-Daten
über einen Multiplexer 36 in dem Teil 37 des Zustandsregisters 39 gesetzt. Wenn in dem Teil 38 ein Fehler festgehalten wird, werden
die Daten im -Teil 37 nicht mehr durch weitere Daten im Adressenzwischenspeicher
geändert. Das würde bedeuten, daß der Teil 37
die Adresse des Gleitkomma-Befehls enthält, der den Gleitkommafehler verursacht hat. Der zweite Weg oder Kanal von der Speichersammelleitung
über den Multiplexer zum Zustandsregister dient zur Auslösung des Zustandsregisters für Vielbenutzer-Umgebungsverhältnisse.
,
Ein Gleitkomma-Ladebefehl, wie er unten dargestellt ist, beinhaltet
im Bestimmungsfeld des ALC-Befehls selbst, in welchen Gleitkomma-Akkumulator ein Operand eingespeist oder geladen werden
soll. Die Stelle im Speicher des Gleitkommas des Operanden wird durch den CPU-Akkumulator festgelegt (d. h., wo sich das höchstwertige Wort befindet), ebenso wie die Frage, ob einfache oder
doppelte Präzision erzielt werden muß.
50983 0/0 7 29
Bestimmungs- Operationsfeld \ Code
Ausgangs -y
feld
feld
10 10 0 0 | |
4. | |
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15,
^—
zeigt ALC-Gleitkomma-Befehl an
Nachdem das Operandenwort von der Speicherstelle geholt worden ist, spricht - wenn das Auslesen der Speicheradresse anzeigt, daß
Gleitkomma-Daten (FPDA) an der Speichersammelleitung zur Verfügung stehen - eine Ladewähleinheit 21 wie eine Multiplexereinheit
auf das FPDA-Signal an. Während der erste Wortoperand über den Multiplexer eingegeben wird, wird die Adresse durch die
CPU «» vergrößert, und das nächste Wort des Operanden wird vom
Speicher erhalten, bis zwei bis vier Wörter in das MQ-Register 22 eingegeben worden sind, je nachdem, ob mit einfacher oder
doppelter Präzision gearbeitet wird. Wie ersichtlich, enthält das Register 22 vier 16-Bit-Parallelregister, von denen Teile
als EB (Exponentenspeicher - exponent buffer) und MQ (Multiplikator-Quotientenregister
- multiplier quotient register) bezeichnet sind. Das vielseitige Register 22 dient auch als Eingangs-/Ausgangsspeicher,
wie das weiter unten noch ersichtlich wird. Die Wörter werden parallel in das Register 22 eingespeist,
wobei jedes mit dem Zugang jedes neuen Wortoperanden aufwärts bewegt wird. Geht man von einer Einspeisung oder einem Laden mit
doppelter Präzision aus, so sind die EB- und MQ-Teile der Register
am Ende von vier Sequenzen alle mit dem Operanden beladen. Die Formate für die gespeicherten Gleitpunkt-Operanden sind
nachstehend wiedergegeben, wobei Tabellen I und II für einfache Genauigkeit (zwei Wörter) bzw. doppelte Genauigkeit (vier Wörter)
repräsentativ sind.
509830/0729
_ Q „
Wort 1 Wort 2
S | Exponent | Mantisse |
Stelle X
0123456789 10 11 12 13 14 15
Mantisse
X + 1
Wort 1 Wort 2
S | Exponent | Mantisse |
Stelle X
01 2 3 456789 10 11 12 13 14 15
Mantisse
X + 1
Wort 3
Mantisse
X + 2
Wort 4
Mantisse
Wie gezeigt, enthält EB das Vorzeichen-Bit Null und den Expönentenwert
des Operanden, wenn vorhanden. Das Vorzeichen-Bit gibt das Vorzeichen der Gleitkommazahl wieder, wobei für den Fall, daß
das Bit Null ist, die Zahl größer als oder gleich Null .ist, während
für den Fall, daß das Bit Eins ist, die Zahl kleiner als Null ist. Der Exponent ist die Potenz, in die 16 erhoben werden muß,
um den richtigen Wert für die Zahl zu ergeben. Der Mantissenteil einer Gleitpunktzahl ist stets um einen positiven Bruchteil größer
als oder gleich einem Sechzehntel und kleiner als Eins. Sofern notwendig, werden die Ergebnisse arithmetischer Operationen normalisiert,
um dieser Forderung zu genügen.
Nachdem das MQ-Register 22 mit dem Operanden geladen worden ist, hat der Prozessor seine letzte übertragung abgeschlossen, so daß
er weiterarbeiten und den nächsten Befehl heranholen kann. Dies
509830/07 29
wird als eine "ParallelVerarbeitungs-Betriebsart" bezeichnet, da
der Prozessor nicht langer für einen Zwischenvorgang benötigt wird und andere Befehle parallel zu dem Gleitkommaprozessor verarbeiten
kann. Der nächste Befehl kann jedoch ein anderer Gleitkoitunabefehl
sein, der dann in den Gleitkommabefehl-Zwischenspeicher eingegeben würde, während der laufende Gleitkommabefehl ausgeführt
wird.
Anhand der unterschiedlichen Felder des Befehls im Gleitkomma-Befehlsregister
12 wird nun mittels der Dekodiersteuer- und Zeitgeberlogik 13 bestimmt, ob der Operand mittels des Hexadezimal-Skalierers
(Hex-Skalierers) 27 in das A-Register 23 oder aber
das B-Register 24 eingegeben werden muß. Beide Register A und B umfassen 56 Bits für den Mantissenteil des Operanden. Der 8-Bit-Vorzeichen-
und Exponententeil des Operanden wird über den Hex-Skalierer 27 und die Hex-Skalierer-Sammelleitung in einen exponentiellen
Akkumulator in der Exponentenlogik 26 geleitet, wie das noch weiter ins einzelne gehend erläutert wird. Dieser Datenkanal
umfaßt den Hex-Skalierer 27, zu dem über eine Eingangswähleinheit 28 Zugriff genommen wird* die von einem geeigneten Multiplexer
gebildet ist, der selektiv Signale in Abhängigkeit von der Dekodiersteuer-
und Zeitgeberlogik 13 entweder vom A-Register 23 und dem Exponenten-Akkumulator (EA) s dem B-Register 24 und dem Exponenten-Zwischenspeicher
(EB), dem MQ-Register -22 und dem Exponenten-Zwischenspeicher
(EB) oder aber nur dem (L)MQ-Registerteil
des MQ-Registers 22 weiterleitet«
Der Hex-Skalierer 27 ist aus 8-Bit-Skalierern wie etwa Signetics
8243 aufgebaut, die in Abhängigkeit von einem vorgewählten Binärcode
einer Eingangssteuerleitung Verschiebungen nach rechts oder links bewirken, um die Zahl der Bitstellen in der richtigen Weise
zu verschieben, wobei diese Stellenverschiebung am Ausgang des Hex-Skalierers 27 wiedergegeben wird. Im speziellen Ausführungsbeispiel sind die acht 8-Bit-Skalierer so miteinander gekoppelt,
daß sie auf Hexadezimalbasis O bis 15 hexadezimale Ziffern nach rechts oder links skalieren, so daß für eine freie Verschiebung
509830/072 9
25 0198 B
einer hexadezimalen Eingangsziffer in beiden Richtungen gesorgt
wird. Vorzüge einer Skaliereinheit, wie sie hier erwähnt wird, gegenüber einem Schieberegister sind eine raschere Arbeitsgeschwindigkeit
und eine weniger komplexe Logik. Wenn beispielsweise eine Einheit der hier beschriebenen Art mit einem 16-Bit-Wort
verwendet wird, kann eine Verschiebung zwischen einer und
vierzehn Stellen in etwa 80 ns einschließlich Fortpflanzungsverzögerung oder einem Taktimpuls bewirkt werden. In einem Schieberegister
wird für jede einzelne Stellenverschiebung ein voller Taktimpuls und eine Fortpflanzungs-Verzögerungsperiode benötigt.
Da, wie zuvor erwähnt, nur 14 hexadezimale Ziffern vorhanden sind,
kann eine ganze hexadezimale Ziffer von einer beliebigen Stelle im Register 22 zu einer anderen Stelle im Register 22 verschoben ·
werden. Der Grund dafür ist darin zu sehen, daß das Hex-Skalier-Ausgangssignal
über einen Inverter-Treiber 27' und die Hex-Skalier-Sammelleitung
zum Register 22 zurückgeleitet wird.
Wenn der binäre Skalier-Code sich in einem Nullzustand befindet,
was den normalen Fall für das Eingeben eines ersten Operanden in die A-Registerstelle darstellen würde, so braucht der Hex-Skalierer
27 keine Verschiebungen vorzunehmen, und er ist durch Unterlassen auf dem Null-Maßstab. Das Mantissenausgangssignal des Hex-Skalierers
27 wird dann unmittelbar über die Hex-Skalierer-Sammelleitung
in das A-Register 23 verschoben, während die Daten des Exponenten-Zwischenspeichers
(EB) in einen Exponenten-Akkumulator (EA) in der Exponentiallogik 26 eingegeben werden.
Die Mantisse wird zunächst in das A-Register 23 eingegeben, um
zu gewährleisten, daß die Mantisse nicht nur Nullen aufweist, weil sonst das Bedürfnis besteht, das gesamte Register zu loschen, einschließlich
dem Exponententeil, wenn der gesamte Wert des Operanden Null ist.
Das A-Register 23 und der Exponential-Akkumulator EA sind über
die Eingangswähleinheit 28 durch geeignete DekodierSteuersignale
so angeschlossen, daß Abbildungen (Kopien) der darin befindlichen
50983ü/0729
Daten jeweils in den Quellen-Akkumulator FPACS 29 und den Bestimmungsakkumulator
FPACD 31 übertragen werden, die zusammen vier
Gleitpunkt-Akkumulatoren aufweisen. FACD wird so geschrieben, daß es nach seinem Auslesen nach links in A, EA verschoben werden
kann. In gleicher Weise kann FPACS nach dem Auslesen nach rechts
in jedes Register verschoben werden, wobei der Exponent gleichzeitig entweder in EA oder EB verschoben wird. Durch Abbilden
(Kopieren) der A-Register-Daten und der Daten des Exponential-Akkumulators sowohl in dem Quellen- als auch dem Bestimmungs-Akkumulator können Akkumulator-zu-Akkumulator-Operationen sehr
rasch ausgeführt werden. Wenn beispielsweise ein Operand in das
B-Register 24 und ein Operand in das A-Register 23 übertragen
werden soll, so kann von dem Bestimmungsakkumulator 31 über einen Inverter-Treiber 32 eine Linksverschiebung in das A-Register 23
vorgenommen werden, und gleichzeitig kann über den Inverter-Treiber 27" eine Rechtsverschiebung von dem Quellen-Akkumulator 29 in das B-Register 24 erfolgen. Mit anderen Worten, beide Operanden
können durch originales Kopieren der Eingänge zu den Quellen- und Bestimmungsakkumulatoren im gleichen Zeitabschnitt in beide Register eingegeben werden.
Gleitpunkt-Akkumulatoren aufweisen. FACD wird so geschrieben, daß es nach seinem Auslesen nach links in A, EA verschoben werden
kann. In gleicher Weise kann FPACS nach dem Auslesen nach rechts
in jedes Register verschoben werden, wobei der Exponent gleichzeitig entweder in EA oder EB verschoben wird. Durch Abbilden
(Kopieren) der A-Register-Daten und der Daten des Exponential-Akkumulators sowohl in dem Quellen- als auch dem Bestimmungs-Akkumulator können Akkumulator-zu-Akkumulator-Operationen sehr
rasch ausgeführt werden. Wenn beispielsweise ein Operand in das
B-Register 24 und ein Operand in das A-Register 23 übertragen
werden soll, so kann von dem Bestimmungsakkumulator 31 über einen Inverter-Treiber 32 eine Linksverschiebung in das A-Register 23
vorgenommen werden, und gleichzeitig kann über den Inverter-Treiber 27" eine Rechtsverschiebung von dem Quellen-Akkumulator 29 in das B-Register 24 erfolgen. Mit anderen Worten, beide Operanden
können durch originales Kopieren der Eingänge zu den Quellen- und Bestimmungsakkumulatoren im gleichen Zeitabschnitt in beide Register eingegeben werden.
Eine Mantissen-ALU (Arithmetiklogikeinheit) ist sowohl an das A-Register
23 als auch das B-Register 24 angeschlossen, um durch
den Gleitkommabefehl vorgegebene arithmetische Operationen durchzuführen. Der Ausgang der ALU ist an die beiden A- und B-Register zurückgeführt, so daß das Ergebnis einer arithmetischen Operation je nach Bestimmung durch die Steuerlogik in eins der beiden Register eingegeben werden kann. Der 56-Bit-Ausgang der ALU wird
vor dem Eintritt in das Α-Register um ein Bit nach links verschoben, vor seinem Eintritt in das B-Register dagegen um ein Bit
nach rechts verschoben. Das ergibt ein sehr schnelles Multiplikations-/Divisionsschema ohne Verwendung von Multiplexern, die einen zusätzlichen Zeit- und Kostenaufwand bedingen.
den Gleitkommabefehl vorgegebene arithmetische Operationen durchzuführen. Der Ausgang der ALU ist an die beiden A- und B-Register zurückgeführt, so daß das Ergebnis einer arithmetischen Operation je nach Bestimmung durch die Steuerlogik in eins der beiden Register eingegeben werden kann. Der 56-Bit-Ausgang der ALU wird
vor dem Eintritt in das Α-Register um ein Bit nach links verschoben, vor seinem Eintritt in das B-Register dagegen um ein Bit
nach rechts verschoben. Das ergibt ein sehr schnelles Multiplikations-/Divisionsschema ohne Verwendung von Multiplexern, die einen zusätzlichen Zeit- und Kostenaufwand bedingen.
Eine Sammelleitung führt von der Mantissen-ALU 33 zu einem Schiebekodierer
34. Jedes ALU-Element hat einen 4-Bit-Ausgang (d. h. eine
• 509830/0 7 29
Hex-Ziffer), so daß von jeder Ziffer ein Anzeige-Bit gewonnen
wird, das nichts weiter ist als eine logische UND-Verknüpfung der vier Ausgangsbits. Dies wird zur Prüfung des Ergebnisses in
einem der beiden Register A bzw. B auf an erster Stelle stehende hexadezimale Null-Ziffern ausgewertet, ferner, um diese Größe
zu kodieren und Register A oder B nach links zu verschieben, bis keine hexadezimale Null-Ziffer mehr an erster Stelle steht,
um so Präzision von Operation zu Operation zu gewährleisten.
Nimmt man an, daß das Ergebnis, das im A-Register eintrifft,
normalisiert werden soll, so wird das Komplement des A-Registers bzw. Ä" automatisch in die UND-Gatter eingegeben. In jedem UND-Gatter
mit "hohem" Ausgang würde angezeigt, daß die überprüfte
spezielle hexadezimale Ziffer Null ist, da alle ausgegebenen
Eins-Werte ein Komplement aller Nullen sind. Diese spezielle Anzeige der Leitung zum Schiebekodierer 34 wird dann gesetzt.
Die Anzeigen sind mit einem den Schiebekodierer 34 bildenden Prioritätskodierer verbunden, beispielsweise einem 9318-Prioritätskodierer
mit der einzigen Funktion, einen Binärcode für die
höchste enthaltene Priorität anzuzeigen, um so alle Anzeigen in eine Binärgröße umzuwandeln. Die Binärgröße zeigt an, wie
viele hexadezimale Ziffern nach links verschoben werden müssen, um die Zahl zu normalisieren. Dieser Ausgang des Schxebekodierers
34 ist als Skalier-Code bestimmt, der - wie gezeigt - in den Hex-Skalierer
zurückgeführt ist. Der binäre Skalier-Code-Eingang des
Hex-Skalierers 27 sorgt dann automatisch für eine Linksverschiebung
des A- oder B-Registers, um das Mantissen-ALU-Ergebnis zu normalisieren.
Wie zuvor erwähnt, liefert der Schiebekodierer auch eine Anzeige, wenn das überprüfte Register einen Nullwert hat, in welchem Fall
der Prioritätskodierer eine maximale Binärgröße wiedergibt. Die Anzeige, daß die Mantisse Null ist/ stellt eine wertvolle Information
dar, weil, wenn die Resultierende der Mantissen-ALU Null oder der erste in das A-Register eingegebene Operand Null ist,
die gesamte Antwort Null ist und gelöscht werden sollte.
509830/0729
Nachdem so eine allgemeine Erläuterung des Gesamtaufbaus des Gleitkomma-Rechenmechanismus nach der Erfindung gegeben wurde,
können der Hex-Skalierer 27 und die Eingangswähleinheit 28 näher
in Verbindung mit Fig. 2 beschrieben werden, in der die drei Arbeitsregister mit dem A-Register 23, B-Register 24 und dem MQ-Register
22 teilweise wiedergegeben sind, um ihren Aufbau zusammen mit der Eingangswähleinheit 28 und dem Hex-Skalierer 27 zu
veranschaulichen, so daß ein Hex-Skalierer-Datenkanal mit der Hex-Skalierer-Sammelleitung
gebildet wird. Für jedes der Register 22, 23 und 24 ist gezeigt, wie es aus 4-Bit-Universal-Schieberegistern
22', 23' bzw. 24" aufgebaut ist. Somit ist jedes Register 22, 23
und 24 in der Lage, entweder eine Links- oder eine Rechtsverschiebung, eine Paralleleingabe oder einen Haltevorgang auszuführen.
Bei dieser speziellen Ausführung ist jedes Register in vier Bits unterteilt, um eine der 14 hexadezimalen Ziffern wiederzugeben.
Betrachtet man beispielsweise das Al-Register, so erkennt man,
daß es einen 4-Bit-Ausgang, nämlich AO, A1, A2 und A3 hat, wobei das höchstwertige Bit der hexadezimalen Ziffer AO und das niedrigstwertige
Bit A3 ist. Von diesem Register A1 oder seinen entsprechenden Registern B1 oder MQ1 wird das niedrigstwertige Bit,
nämlich entweder A3, B3 oder MQ3, zu einem Multiplexer einer Reihe
Multiplexer 28' geführt, die von der Dekodiersteuerlogik gesteuert
werden, um so entweder die A-, B- oder MQ-Register-Ausgangsleitung
für die Verbindung mit dem Eingang des Hex-Skalierers
auszuwählen. Der Ausgang des Hex-Skalierers 27 wird durch den Inverter 27' invertiert und über die Rechtsverschiebungs-Eingangsleitung
des zugeordneten Registers mit jedem der zugeordneten
4-Bit-Register A, B oder MQ verbunden.
Wie erwähnt, ist der Hex-Skalierer aus Hex-Skaliererteilen aufgebaut,
die je nach Ihrer Verdrahtung eine Verschiebung in einer der beiden Richtungen gestatten und um einen durch einen Skaliercodeeingang
bestimmten Betrag verschieben können. Der Ausgang der Hex-Skaliererteile ist als offener Kollektor geschaltet, so
daß verschiedene weitere Ausgänge mit derselben Sammelleitung
509830/0 7 28
verbunden werden können. Der Ausgang des Multiplexers '28' ist
außerdem mit FPACS 29 und FPACD 31 verbunden. Der Ausgang von
FPACD 29 ist außerdem mit dem Ausgang des Hex-Skalierers 27 verbunden,
so daß die Hex-Skalierer-Sammelleitung entweder ein
FPACS 29-Ausgangssignal oder das Hex-Skalierer 27-Ausgangssignal
führen kann, je nach der Auswahl durch die Dekodiersteuer-Hardware,
was wiederum von dem bestimmten Zeitpunkt in einem Befehl abhängt. Der Hex-Skalierer ist mit einer Eingangssteuerung versehen,
die ein 4-Bit-Skaliercode ist, um eine Verschiebung von
einer der Stellen zwischen O und 15 zusammen mit einem Anzeige-Eingang
zu ermöglichen und so eine Skalierverschiebung nach rechts
oder links festzulegen.
Bei der überprüfung des Verschiebevorgangs des Hex-Skalierers
beim Verschieben von Daten von einem Register in ein anderes, skaliert oder nicht skaliert, wird eine erste Annahme getroffen, daß
der Skaliercode-Eingang Null ist, so daß keine Datenverschiebung bewirkt wird. Für diesen Fall sei ferner angenommen, daß Daten
von dem MQ-Register in das A-Register verschoben werden sollen.
Es braucht nur ein Registerblock, nämlich A1, B1 und MQ1, betrachtet
zu werden, da für A2, B2 und MQ2 etc. bis zu A13, B13 und MQ13
der Betriebsablauf identisch ist. Die Steuerung des Multiplexers
28' für A1, B1 und MQ1 ist so, daß nur das MQ1-Register über den
Multiplexer 28' auf die HS0-Leitung gemultiplext wird. Da der
Skaliercode-Eingang zum Hex-Skalierer 27 Null ist, gelangen die Daten der Leitung HS0 zu der Hex-Skalierer-Ausgangsleitung SH0
der Hex-Skalier-Sammelleitung , um dann durch den Inverter 27·
invertiert zu werden und zu dem RechtsSchiebeeingang der einzelnen
Register MQ1, B1 und A1 zurückzukehren. Wenn nun das MQ-Register und das A-Register so gesteuert werden, daß sie für jeden Taktimpuls
eine Verschiebung um ein Bit nach rechts vornehmen, so ist das MQ-Bit jetzt beim ersten Taktimpuls in die A0-Lage verschoben
worden. Das Bit in der Lage MQ2 befindet sich jetzt in der Lage
MQ3, um dann durch einen folgenden Taktimpuls in eine Lage A0 verschoben zu werden, so daß das zuvor in dieser Lage oder an
dieser Stelle gewesene Bit in die Lage A1 verschoben wird. Mit
509830/0729
vier Taktimpulsen ist somit die gesamte hexadezimale Ziffer in
MQ1 nach A1 verschoben worden. Da dies in allen entsprechenden MQ- und A-Registern gleichzeitig erfolgt, erfolgt eine Registerverschiebung
von MQ nach A dementsprechend in vier Taktimpulsperioden.
Es sei nun ein Zustand angenommen, bei dem die Information skaliert
werden soll, wenn sich ein Operand im Α-Register befindet, und bei dem der Operand um eine hexadezimale Ziffer nach rechts
verschoben werden soll. Der Skaliercode der Hex-Skalierer-Codesammelleitung
wird jetzt Eins, und es wird ein Eingangssignal zur Skalierung nach rechts bestimmt, um das Ausgangssignal für die
Hex-Skalierer-Sammelleitung um eine Ziffer nach rechts zu verschieben,
so daß die Daten auf HS0 jetzt auf das Hex-Skalierer-SH1-Ausgangsniveau
gelangen. Die Steuerung der Multiplexer 28* wird so gewählt, daß die Daten des Α-Registers in den Hex-Skalierer
27 gelangen, der infolge des Skaliercodes die HS0-Leitung mit der SH1-Ausgangsleitung verbindet, um eine Verschiebung einer
hexadezimalen Ziffer nach rechts zu veranlassen. Für das gesamte Register gelangen auf HS1 eintreffende Daten zu SH2, auf HS2 eintreffende
Daten zu SH3 etc. Da sich auf der SH0-Leitung durch Unterlassung keine Daten befinden, ist die Information der Leitung
SH0 Null. Es läßt sich leicht für den gesamten Datenkanal sehen, daß in vier Taktperioden die alten Daten im A1-Register in das
A2-Register usf. durch das gesamte Register bewegt werden. Somit wird eine hexadezimale Verschiebung in vier Taktperioden durchgeführt.
Naturgemäß kann man mittels desselben Mechanismus nach links skalieren.
Dieser Mechanismus wird sehr vorteilhaft für Gleitkomma-Operationen wie Addition und Subtraktion, wo die Mantissen rasch
ausgerichtet werden sollen, so daß ihre Exponenten vor Addition der Mantissen gleich sind. Das Maß der Abweichung zwischen zwei
Exponenten ist nicht von Bedeutung, da der hexadezimale Skalierer hier in nur vier Taktimpulsen für eine Kompensation sorgt,
indem €er richtige Wert auf der Skaliercode-Sammelleitung an den
509830/07 2 9
Eingang des Hex-Skalierers 27 gegeben wird. Die Mantisse wird
dann nach rechts verschoben und am Ende der vier Taktperioden ausgerichtet, so daß ihre Exponenten gleich sind.
Der Hex-Skalierer 27 dient auch zur Normalisierung des resultierenden
Operanden. Normalisierung zeigt an, daß die erste und höchstwertige hexadezimale Ziffer, d. h. A1, B1 oder MQ1, von
Null abweicht. Wenn daher am Ende einer arithmetischen Operation gefunden wird, wie viele als Anfangsziffern stehende hexadezimale
Nullen für die höchstwertigen Stellen vorhanden sind, so kann diese Information in binärcodierter Form auf der Skaliercode-Sammelleitung an den Hex-Skalierer 27 gegeben werden
und die erforderliche Verschiebung nach links erzwingen, um so in nur vier Taktimpulsen für eine Normalisierung zu sorgen. Das
entspricht einer beträchtlichen Zeitersparnis, wenn die Normalisierung über mehr als eine hexadezimale Ziffer erforderlich ist.
Ein weiterer Gesichtspunkt ist die Flexibilität der Speicherung der Information in Form hexadezimaler Ziffern, was weniger Speicherraum
und daher weniger Platz auf der Schaltplatte erfordert und im übrigen eine wirtschaftlichere Speicherung der Information
ermöglicht. Die Hex-Skalier-Sammelleitung ist an beide
FPACS- und FPACD-Zwischenspeicher mit kleiner Kapazität (scratchpad memories) angeschlossen, die an sich die in dem
Gleitkomma-Prozessor verwendeten Akkumulatoren sind. Die FPACS-Einheit
ist mit der Hex-Skalier-Sammelleitung durch eine ODER-Verknüpfung verbunden, und daher ist die Einstellzeit, wenn
keine Information vom Speicher benötigt wird und die Operation von Akkumulator zu Akkumulator erfolgt, derart, daß der Operand
von FPACS einfach durch Deaktivierung des Skalierers 27 und Aktivierung des FPACS-Akkumulators durch die Steuerungschaltung
geholt werden und in ein spezielles Register A, B oder MQ verschoben werden kann, indem einfach das spezielle Register nach
rechts verschoben wird.
B09830/0729
Mit Fig. 2A ist ein detailliertes Schaltbild weiterer Verbindungen
zwischen der Mantissen-ALU 33 und den A- bzw. B-Registern 23, 24 gezeigt. Wie dargestellt, sind die S0 bis S55-Ausgangsleitungen
der 14 die Mantissen-ALU 33 bildenden 4-Bit-Register 33' in unterschiedlicher Weise fest verdrahtet. Speziell werden
die Eingänge der korrespondierenden Register 23* des A-Registers 23 um eine Bit-Stelle nach links verschoben, während
die Eingänge der korrespondierenden Register 24' des B-Registers 24 um eine Bit-Stelle nach rechts verschoben werden. In dem
letztgenannten Register wird ein QUO-Bit in die leere erste höchstwertige Bit-Stelle gesetzt, die den übertrag (CRY-carry)
bei Multiplikations-Operationen mit sich bringen würden, wie sie durch eine herkömmliche Quotienten(QUO)-Logik erhalten werden.
In dem erstgenannten Register wird durch Erweiterung des B14-Registers 24' eine zusätzliche Bit-Stelle für das Ai4-Register
23' geschaffen, um dem Ai4-Register ein niedrigstwertiges
Bit für arithmetische Operationen zuzuführen. Diese- festverdrahteten
Verbindungen sorgen für optimale Multiplikations-ZDivisionsgeschwindigkeit,
da keine Zeit für das Verschieben verlorengeht, wie es für die Multiplikation und Division erforderlich
ist, außerdem die Kosten verringert werden. Additions- und Subtraktionsvorgänge werden nicht betroffen, da in diesen Fällen
das Ergebnis im B-Register 24 durch Zurückführen des Ergebnisses an das A-Register 23 kompensiert wird.
Fig. 3 zeigt ein detailliertes Blockschaltbild der Exponentiallogik
26 der Fig. 1, wie sie eingesetzt wird, um eine ggf. vorhandene
Differenz zwischen den Exponenten der zwei Gleitkomma-Zahlen für arithmetische Operationen wie Addition und Subtraktion
zu wählen, so daß die Exponenten vor Addition der beiden Mantissen gleichgemacht werden können.
Man erkennt, daß, um dies zu erreichen, bei Ungleichheit der Exponenten eine der Mantissen in geeigneter Weise um eine vorgewählte
Zahl hexadezimaler Ziffern verschoben werden muß, so daß die Exponenten gleich werden.
509830/0729
Fig. 3 zeigt eine Exponenten-ALU 41 mit einem von einem Exponenten- Akkumulator (EA) 42 abgenommenen Eingang, der nicht mehr als
eine Erweiterung des A-Registers 23 ist, so daß acht Bits einschließlich
der Vorzeichen- und Exponenten-Daten abgegeben werden. Ähnlich den Rechts- und Links-Verschiebungs-Eingängen zu
dem A-Register 23 wird der Exponenten-Akkumulator 42 mit einem
Rechts-Verschiebungs-Eingang vom FPACS-Akkumulator 29 über den
Inverter 27" und die Hex-Skalier-Sammelleitung sowie einem
Links-Verschiebungs-Eingang vom FPACD-Akkumulator 31 über den
Inverter 32 versorgt. Der zweite Eingang der Exponenten-ALU 41
ist an die EM-Sammelleitung über den Multiplexer 25 angeschlossen.
Beide Eingangssignale der Exponenten-ALU liegen außerdem an einer Zweier-Komplement-Wandler-Exponenten-ALU 43. Die Ausgänge"
der Exponenten-ALU 41 und ihrer Zweier-Komplement-Wandler-ALU werden an einen auf die Steuerlogik ansprechenden Multiplexer
geliefert.
Das Ausgangssignal der Exponenten-ALU (Arithmetik-Logikeinheit/
arithmetic logic unit) 41 wird außerdem an einen Exponentenwählmultiplexer zurückgeführt, der auch mit der EM-Sammelleitung
verbunden ist, so daß im einen Fall der resultierende Exponent einer ALU-Operation parallel in den Exponenten-Akkumulator
42 geladen werden kann. In einem zweiten Fall wird der Exponentenwert auf der EM-Sammelleitung in den Exponenten-Akkumulator 42 geladen,
wenn der EB-Exponentenwert in einer Additions- oder Subtraktions-Operation größer ist. Eine herkömmliche Vorzeichen-Steuereinheit
46 dient zur geeigneten Behandlung des Mantissen-Vorzeichen-Bits, das das erste Bit im Exponenten-Akkumulator 42
ist.
Wie in der allgemeinen Beschreibung oben angegeben, erfolgen in dem Gleitkomma-Verarbeitungsmechanismus nach der Erfindung die
Gleitkomma-Operationen durch eine Änderung verschiedener Zustände des Mechanismus bzw. der Maschine, wie sie durch einen Zustands-Lesespeicher-Code
gesteuert werden, der innerhalb eines
509830/0 7 29
Befehls etwa als Mikrobefehl erzeugt wird, um der Dekodier-Steuer-
und Zustandslogik anzugeben, welcher Zustand als nächstes verwirklicht werden soll. Diese Zustandscodes können durch
eine Vierziffern-Binärzahl für jeden Zustand repräsentiert werden,
wie das in den Maschinenzustands-Fig. 4 bis 8 angegeben
ist. Jeder Maschinenzustand gibt eine Ausführung einer Reihe
von Mikrobefehlen bzw. Mikroinstruktionen wieder.
ist. Jeder Maschinenzustand gibt eine Ausführung einer Reihe
von Mikrobefehlen bzw. Mikroinstruktionen wieder.
Fig. 4 zeigt einen Additions- und Subtraktionszustand, bei dem
eine Speicher-Operation ausgeführt wird, um Daten für den Fall zu übertragen, daß einer der Operanden im Speicher ist. Nachdem
der zweite Operand vom MQ-Register in das entsprechende A- oder
B-Register eingegeben worden ist, befinden sich beide Operanden im Ausgangszustand. Die nächste Zustands-ALU 41 wird mit einem
Signal gespeist, indem eine Exponenten-ALU-Arithmetik-Operation festgelegt wird, die nach Durchführung eine folgende Zustands-ALU
33 mit einem Signal speist, so daß eine Mantissen-ALU-Operation gefordert wird. Wenn jedoch einer der Operanden zu weit
außerhalb des Bereiches (d. h. die Exponentendifferenz ist größer als die Mantissenkapazität) des zweiten Operanden liegt, so wird dadurch praktisch der zweite Operand zu Null, und der nächste verwirklichte Zustand entspricht einem Schreibvorgang.
außerhalb des Bereiches (d. h. die Exponentendifferenz ist größer als die Mantissenkapazität) des zweiten Operanden liegt, so wird dadurch praktisch der zweite Operand zu Null, und der nächste verwirklichte Zustand entspricht einem Schreibvorgang.
Als Folge der Mantissen-ALU-33-Operation können drei Zustände
erzeugt werden, je nachdem, ob die Ergebnisse gleiche Operanden-Vorzeichen-Bits und einen Mantissenübertrag, gleiche Operanden-Vorzeichen-Bits und keinen übertrag oder keine gleichen Operanden-Vorzeichen-Bits enthalten. Im ersten Fall, in dem die Vorzeichen-Bits gleich sind und einen Mantissenübertrag haben, ist ein Verschiebungszustand notwendig, so daß das Ergebnis um eine hexadezimale Ziffer nach rechts verschoben werden kann, um den Exponenten in der erforderlichen Weise zu korrigieren, worauf
ein Schreibvorgang ausgeführt wird. Im zweiten Fall, in dem die Vorzeichen gleich sind und kein Mantissenübertrag vorliegt,
kann ein Schreibvorgang unmittelbar durch die Mantissen-ALU-SS-Operation bewirkt werden, da das Ergebnis normalisiert wird.
erzeugt werden, je nachdem, ob die Ergebnisse gleiche Operanden-Vorzeichen-Bits und einen Mantissenübertrag, gleiche Operanden-Vorzeichen-Bits und keinen übertrag oder keine gleichen Operanden-Vorzeichen-Bits enthalten. Im ersten Fall, in dem die Vorzeichen-Bits gleich sind und einen Mantissenübertrag haben, ist ein Verschiebungszustand notwendig, so daß das Ergebnis um eine hexadezimale Ziffer nach rechts verschoben werden kann, um den Exponenten in der erforderlichen Weise zu korrigieren, worauf
ein Schreibvorgang ausgeführt wird. Im zweiten Fall, in dem die Vorzeichen gleich sind und kein Mantissenübertrag vorliegt,
kann ein Schreibvorgang unmittelbar durch die Mantissen-ALU-SS-Operation bewirkt werden, da das Ergebnis normalisiert wird.
50983 0/0729
Hinsichtlich der dritten Möglichkeit, bei der die Vorzeichen, nicht gleich sind wie beispielsweise bei der Subtraktion, wird
der Normalisierungszustand und sodann ein Schreibzustand angefordert,
in dem der Ergebnis-Operand sowohl in FPACD als auch
FPACS geschrieben wird.
Fig. 5 zeigt Maschinenzustände für eine Gleitkomma-Multiplikations-Operation,
wobei wiederum, wenn beide Operanden im Akkumulator der Gleitkomma-Einheit sind, eine Lade-Operation verlangt
wird. Wenn jedoch nur einer der Operanden im Speicher ist, wird wiederum zunächst eine Speicher-Operation ausgeführt,
um die Daten in die Gleitkomma-Einheit zu überführen, und am Ende dieses Vorgangs wird eine Lade-Operation gefordert, um
die Register in dem Gleitkomma-Akkumulator einzustellen. Im Anschluß an die Lade-Operation wird eine arithmetische ALU-41-Operation
verlangt, um eine Exponenten-Addition und den Beginn der Mantissen-Multiplikation auszuführen, an deren Ende eine Mantissen-ALU-SS-Arithmetik-Operation
angegeben wird, um die verbleibende Mantissen-Multiplikation durchzuführen, die einen
SHCT (Verschiebungszähler - shift counter) umfaßt, der anzeigt, wie lange dieser Zustand die Mantissen-Multiplikations-Operation
fortsetzen soll. Nach Abschluß wird eine Normalisierungs-Operation verlangt, um das Ergebnis zu normalisieren, worauf ein
Schreibvorgang ausgeführt wird, bei dem eine Nullprüfung erfolgt, und der Ergebnis-Operand wird sowohl in FPACD als auch FPACS eingeschrieben.
Fig. 6 zeigt die Maschinenzustände für eine Divisions-Operation, bei der wiederum, wenn beide Operanden in den Gleitkomma-Akkumulatoren
sind, eine Lade-Operation unmittelbar gefordert wird;
wenn jedoch einer der Operanden im Speicher ist, wird zunächst eine Speicher-Operation ausgeführt, bei der Daten in den
Gleitkomma-Mechanismus überführt werden, worauf eine Beladungs-Operation
bewirkt wird. Auf die Lade-Operation folgt eine Exponenten-ALU-41-Arithmetik-Operation, von der eine von drei
509830/0729
möglichen Operationen als Signal weitergegeben werden kann, um verschiedene Operationen zu bewirken. Die erste erfolgt durch
Schaffung eines "Ausgeführt"- oder "Leerlauf"-Zustands, wenn der Teiler Null ist. Der zweite Zustand verlangt eine Verschiebung
falls der Dividend größer als oder gleich dem Divisor ist, da bei der Operation der vorliegenden Gleitkomma-Einheit
der resultierende Quotient kleiner als eine ganze Zahl sein muß, In diesem Fall wird der Dividend um eine hexadezimale Ziffer
nach rechts verschoben und der Exponent um Eins erhöht. Im dritten Fall, wenn der Dividend nicht größer als der Divisor ist,
werden die Exponenten subtrahiert, und der erste Teilzyklus wird begonnen. Sodann wird der Mantissen-ALU-SS-Arithmetikzustand
verlangt, um die verbleibenden Mantissen-Teilzyklen auszuführen, bei denen ein SHCT-Signal (shift counter) anzeigt,
wie lange der gegenwärtige Zustand andauern soll. Nachdem ein vollständiger Teilvorgang ausgeführt worden ist, zeigt ein
SHCT-Signal an, daß ein Verschiebungs-Zustand verwirklicht werden muß, um den in dem MQ-Register befindlichen Quotienten in
das Α-Register zu verschieben und zu bestimmen,■ob das Ergebnis
Null ist. Anschließend an eine Verschiebe-Operation wird ein Schreibvorgang ausgeführt.
Fig. 7 zeigt die Maschinenzustände für eine Lade-Operation vom Speicher zu den Gleitkomma-Akkumulatoren, wobei zunächst eine
Speicher-Operation ausgeführt wird, bei der Daten in das Gleitkomma-Register 22 übertragen werden. Sodann wird eine Lade-
-Operation ausgeführt, um das Α-Register zu laden, das, seinerseits einen Schreibvorgang in den Gleitkomma-Akkumulatoren
FPACS und FPACD auslöst, worauf ein "Leerlauf"-Zustand folgt.
Fig. 8 zeigt den Maschinenzustand für eine Speicher-Operation von dem Gleitpunkt-Quellen-Akkumulator zur Speicher-Sammelleitung,
wo zunächst eine Last-Operation erfolgt, bei der Daten vom FPACS-Akkumulator an das Register 22 übertragen werden. Sodann
wird eine Speicher-Operation bewirkt, um die Daten im
509830/0729
Register 22 auf die Speicher-Sammelleitung auszuschreiben, wonach ein "Leerlauf"-Zustand besteht.
Fig. 9 bis 16 zeigen Flußdiagramme für jeden der mit Fig. 4 bis 8 veranschaulichten Maschinenzustände, wobei diese die zeitlichen
Zustände wiedergeben, wie sie für die einzelnen Maschinenzustand zutreffen. Es sei darauf hingewiesen, daß bei den Hex-Skalierer
durchlaufenden Operationen vier Taktimpulse oder Zeitperioden auftreten, wie das oben erläutert wurde, da je Periode vier
Gruppen von 16 Bits getaktet werden, nämlich ein Bit der hexadezimalen
Ziffer für jede Taktperiode. Im übrigen sprechen die Flußdiagramme für sich selbst.
Was die Arbeitsweise angeht, so sei angenommen, daß ein Computer-Befehl
einen Gleitkomma-Befehl enthält, daß zunächst FPAC0
mit einem ersten Operanden, beispielsweise 1/16 χ 16 , geladen werden soll. In diesem Fall würde das Register 22, wenn es im
Hinblick auf einfache Präzision geladen ist, einen Binärzustand
haben, wie ihn Fig. 17a wiedergibt. Das erste Bit entspricht dem
Vorzeichen-Bit des Operanden und das zweite Bit entspricht dem Vorzeichen des Exponenten, wobei diese Vorzeichen im vorliegenden
Fall beide positiv, jedoch als Null bzw. Eins festgelegt sind. Der Operand wird über die Eingangs-Wähleinheit 28 und den
Hex-Skalierer 27 in der zuvor beschriebenen Weise in das A-Register 23 übertragen, dessen Eingang zur Mantissen-ALU 33 abgefragt
wird, um zu bestimmen, ob die Mantisse durchweg, aus Nullen
besteht. Wenn nicht, wird die Mantisse in das A-Register zurückgeschoben
und dann über die Eingangs-Wähleinheit 28 geleitet, um in FPACS 29 bzw. FPACD 31 abgebildet zu werden. Wenn die
Mantisse Null ist, würde der Exponent gelöscht und dann in FPACS 29 und FPACD 31 geschrieben.
Nachdem jetzt ein Operand geladen worden ist, besteht eine Wahl bezüglich der nächsten Operation, je nach derReihenfolge der
Codes. Es sei angenommen, daß der nächste Befehl einen Zusatzspeicher zu dem FPACD0-Akkumulator anzeigt, wo der zweite
509830/0729
Operand sich in der durch den CPU-Akkumulator bezeichneten Speicher-Nullstelle
befindet. Es sei ferner angenommen, daß der zweite Operand im Speicher der mit Fig. 17b wiedergegebene Wert
ist, der 3/16 χ 16 entsprechen würde. In diesem Fall zeigt das
FPDA-Signal an, wann der zweite Operand sich auf der Speicher-Sammelleitung
befindet und über die Lade-Wähleinheit 21 vom Register 22 angenommen wird.
An dieser Stelle wird die Mantisse des zweiten Operanden über die Eingangs-Wähleinheit 28 direkt durch den Hex-Skalierer 27
in das B-Register 24 geleitet, und der Exponent EB wird über den Multiplexer 25 der EM-Sammelleitung an die Exponenten-ALU 41
geleitet; gleichzeitig wird die Mantisse des ersten Operanden in das A-Register 33 und der Exponent von FPACD 31 in den EA-Akkumulator
42 geladen.
Gleitkomma-Addition besteht aus einem Exponentenvergleich und einer Mantissen-Addition. Die Exponenten der beiden Operanden
werden durch Ausführung einer Subtraktion verglichen. Für die vorliegenden Beispiele wird der einen Exponentenwert 5 aufweisende
zweite Operand von einem einen Exponentenwert 4 aufweisenden Operanden abgezogen, so daß als Ergebnis Eins erhalten
wird, und der Absolutwert der erhaltenen Differenz wird über den Multiplexer 44 an die Skaliercode-Sammelleitung weitergegeben,
um den Hex-Skalierer zu steuern. Es sei andererseits angenommen, daß die größere Exponentenzahl nicht EA sondern EB
ist. In diesem Fall wird die arithmetische Operation in dem Zweierkomponenten-Konverter 43 ausgeführt, und die Übertragsbezeichnung
wirkt auf die Exponenten-Wähleinheit 45 so ein, daß der EB-Exponent im Anschluß an die arithmetische Operation in
den EA-Akkumulator 42 geladen wird.
Da im vorliegenden Beispiel EA größer als EB ist, verlangt der
Hex-Skalierer eine Verschiebung der B-Registermantisse um eine hexadezimale Ziffer nach rechts, so daß die mit Fig. 17c wieder-
509830/07 2 9
gegebene Konfiguration erhalten wird, über das rechte Ende der
Mantisse hinaus verschobene Bits sind verloren und nehmen an der Addition keinen Anteil.
Nach dem Ausgleich werden die Vorzeichen der beiden Operanden in der Vorzeichen-Steuereinheit 46 untersucht, und die Mantissen
werden entsprechend den Regeln der Algebra addiert. Die A-
und B-Register werden addiert, um das mit Fig. 17d wiedergegebene Ergebnis im Register A zu liefern. Zu diesem Zeitpunkt wird
der A-Register-Ausgang durch den Verschiebungscodierer abgefragt, um die Notwendigkeit einer Normalisierung zu bestimmen,
insbesondere, wie viele bedeutsame hexadezimale Nullen vorhanden sind. Sind es keine, wie in diesem Fall, so ist keine Normalisierung
notwendig, und die Decodiersteuer- und Zeitgeberlogik 13 verlangt ein Schreiben der A-Register 23-Daten sowie der EA-Daten
über die Eingangs-Wähleinheit 28 in den FPACS-Akkumulator 29 und den FPACD-Akkumulator 31. Wenn es jedoch notwendig ist,
das Ergebnis im Α-Register mit dem Schiebecodierer 34 zu normalisieren, wird die Zahl hexadezimaler Ziffern an den Hex-Skalierer
27 über die Skaliercode-Sammelleitung weitergegeben, wo eine entsprechende Normalisierung mittels eines speziellen Linksverschiebungsdaten-A-Registers
erfolgt und gleichzeitig der Exponent im EA-Akkumulator in der erforderlichen Weise verkleinert
wird, indem der gleiche Skaliercode-Sammelleitungswert über den Multiplexer 25 an die Exponenten-ALU 4,1 geleitet wird, die den
Wert des Skaliercodes von EA subtrahiert und das Ergebnis über
45 an EA zurückführt. Wenn die Ergebnisdaten in den Speicher geschrieben werden sollen, so erfolgt dies durch Weiterführung
der Ergebnisdaten vom FPACS-Akkumulator 29 über den Inverter 27'
in das Register 22 und sodann mit Hilfe eines FPDA-Impulses über
den Wandler 30 zur Speicher-Sammelschiene und in die gewünschte Speicherstelle. ■
Wie anhand Fig. 2 verständlich, wird, wenn ein Multiplizieroder Teilbefehl verlangt wird, der Ausgang der Exponenten-ALU
41 über die Exponenten-Wähleinheit 45 als das Ergebnis der
50 9830/0729
arithmetischen Operation in den EA-Akkumulator zurückgeleitet.
Bei einer Multiplikations-Operation werden die Mantissen der beiden Operanden miteinander multipliziert, um ein Mantissen-Zwischenergebnis
zu erhalten. Die Exponenten der beiden Zahlen EA und EB werden miteinander addiert. Das Ergebnis der Exponentenbehandlung
wird der Exponent des Zwischenergebnisses. Das Vorzeichen des Zwischenergebnisses wird aus dem Vorzeichen-Bit
der beiden Operanden nach den Regeln der Algebra bestimmt. Wenn die Exponentenverarbeitung entweder einen über- oder aber einen
Unterlauf erzeugt, so wird das Ergebnis bis zum Abschluß festgehalten, bei dem der Statüs-Teil 38 durch das Zustandsregister
39 gesetzt wird.
Bei einer Divisions-Operation, wenn der Operand in FPACD durch
einen Quellen-Operanden dividiert werden soll, werden die beiden Mantissen verglichen, und wenn die FPACD-Mantisse größer als
oder gleich der Quellen-Operanden-Mantisse ist, wird die FPACD-Mantisse um eine hexadezimale Ziffer nach rechts verschoben,
außerdem ihr Exponent um Eins vergrößert. Der Vorgang dauert an, bis die FPACD-Mantisse kleiner als die Quellen-Operanden-Mantisse
ist. Die FPACD-Mantisse wird dann durch die Quellen-Operanden-Mantisse
dividiert, um zu dem Quotienten-Zwischenergebnis zu gelangen. Der Quellen-Operanden-Exponent wird von dem FPACD-Exponenten
subtrahiert, wobei das Ergebnis der Exponent des Zwischenergebnisses wird.
Die Erfindung stellt somit einen Gleitpunkt-Rechenmechanismus mit gesonderten arithmetischen Einheiten für die Exponenten-
und Mantissenteile der Operanden zur Verfügung, wobei die Mantissen-ALU einen hexadezimalen Skalierer enthält, der durch
einen Skaliercode gesteuert ist, um einen entsprechenden 56-Bit-Mantissenwert in vier Taktimpulsen zu verschieben. Die A-
und B-Registereingänge der Mantissen-ALU weisen jeweils 14 4-Bit-Register auf, deren dem niedrigstwertigen Bit entspre-
50 983 0/0729
chende Stelle über mehrere Multiplexer an den Hex-Skalierer-Eingang
angeschlossen ist, dessen äquivalenter Ausgang zum Laden in dieselben entsprechenden 4-Bit-Register zurückgeführt
ist. Die Multiplexer sind außerdem so angeschlossen, daß sie Operanden/Ergebnisse in den A- und B-Registern und dem Gleitkomma-Zwischenspeicher
selektiv in zwei Gleitkomma-Akkumulatoren laden, um die Weitergabe der Daten zu vereinfachen und zu
beschleunigen. Es läßt sich auch eine Normalisierung erzielen, indem ein Skaliercode erzeugt wird, der auf der Zahl der höchstwertigen
hexadezimalen Ziffern beruht, die bis zur Erfassung einer von NuII abweichenden hexadezimalen Ziffer bestimmt werden.
Die Exponenten-ALU sorgt für die Erzeugung eines Absolutwerts der algebraischen Differenz zweier Exponenten als Skaliercode
für die Angleichung des ersten und zweiten Operanden aneinander. Außerdem ist für festverdrahtete Verbindungen zwischen
dem Mantissen-ALU-Ausgang und den A- und B-Registern gesorgt,
um die Verschiebung der Ergebnisse für arithmetische Operationen zu beschleunigen.
Patentansprüche;
509830/0729
Claims (14)
- Patentansprüche :Mit Gleitkomma arbeitender Rechenmechanismus mit einer Anordnung zum Verschieben erster bzw. zweiter Operanden mit ersten und zweiten Mantissen- sowie Exponentenwerten zur Durchführung arithmetischer und logischer Operationen, einer Einrichtung zur Bildung eines Skalen- oder Maßstabsfaktors zur Festlegung der Forderungen hinsichtlich einer Operandenverschiebung sowie einer an eine erste und zweite Registereinrichtung angeschlossenen und zur Aufnahme des Operanden geeigneten arithmetische Logikeinrichtung, gekennzeichnet durch einen auf den Maßstabsfaktor ansprechenden Skalierer zur Verschiebung von Operanden in hexadezimalem Format; die Tatsache, daß jede der Registereinrichtungen eine Gruppe mit 4-Bit-Registern aufweist, wobei korrespondierende 4-Bit-Register für die erste und zweite Registereinrichtung jeweils an eine Gruppe Eingangsleitungen des hexadezimalen Skalierers angeschlossen sind, um in einer ersten Richtung aus einer ausgewählten Registereinrichtung ausgeschrieben zu werden; eine Schalteinrichtung zur selektiven Verbindung eines aus der Gruppe der 4-Bit-Register mit der Gruppe Eingangsleitungen der hexadezimalen Skaliereinrichtung; sowie dadurch, daß die hexadezimale Skaliereinrichtung einen Ausgang hat, der zu einem Eingang des 4-Bit-Registers zurückgeführt ist und auf den Maßstabsfaktor anspricht, um eine Gruppe 4-Bit-Register in der ersten Richtung seriell zu laden und damit einen ausgewählten Operanden zu verschieben.
- 2. Mit Gleitkomma arbeitender Mechanismus nach Anspruch 1, dadurch gekennzeichnet, daß die erste und zweite Registereinrichtung jeweils vierzehn eine Skalierung von 56-Bit-Operanden-Mantissen in vier Taktimpulsen ermöglichende 4-Bit-Register aufweisen.509830/0729
- 3. Mit Gleitkomma arbeitender Rechenmechanismus nach Anspruch 1, dadurch gekennzeichnet, daß die arithmetische Logik-einrichtung einen in Festverdrahtung an den Eingang einer der beiden ersten und zweiten Registereinrichtungen angeschlossenen Ausgang zur Abgabe einer resultierenden Verschiebung einer Bit-Stelle nach rechts aufweist.
- 4. Mit Gleitkomma arbeitender Rechenmechanismus nach Anspruch3, dadurch gekennzeichnet, daß der Ausgang der arithmetischen Logikeinrichtung in Festverdrahtung an den Eingang der anderen der beiden ersten und zweiten Registereinrichtungen zur Abgabe einer resultierenden Verschiebung um eine Bit-Stelle nach links angeschlossen ist.
- 5. Mit Gleitkomma arbeitender Rechenmechanismus nach Anspruch4, gekennzeichnet durch eine Einrichtung zur Kopplung eines Übertragausgangs der arithmetischen Logikeinrichtung an die durch Verschiebung der resultierenden einen Bit-Stelle nach rechts .freigewordene Bit-Stelle aufweist.
- 6. Mit Gleitkomma arbeitender Rechenmechanismus nach Anspruch5, gekennzeichnet durch eine Einrichtung zur Erweiterung der verbleibenden anderen Registereinrichtung durch Schaffung einer zusätzlichen 1-Bit-Stelle und Verbindung der Bit-Stelle mit einer letzten Bit-Stelle der anderen der beiden ersten und zweiten Registereinrichtungen.
- 7. Mit Gleitkomma arbeitender Rechenmechanismus nach Anspruch 1, dadurch gekennzeichnet, daß die arithmetische Logikeinrichtung einen an die erste und zweite Registereinrichtung angeschlossenen Ausgang hat.
- 8. Mit Gleitkomma arbeitender Rechenmechanismus nach Anspruch 1, gekennzeichnet durch eine dritte Registereinrichtung mit einer zum parallelen Laden von einer Speicher-Sammelschiene aus angeschlossenen Gruppe 4-Bit-Register sowie509830/0729dadurch, daß die Schalteinrichtung die niedrigstwertigen Stellen der 4-Bit-Register der dritten Registereinrichtung selektiv an die hexadezimale Skaliereinrichtung anschließt und der Ausgang des hexadezimalen Skalierers außerdem so angeschlossen ist, daß die dritte Registereinrichtung selektiv beladen wird.
- 9. Mit Gleitkomma arbeitender Rechenmechanismus nach Anspruch 1, gekennzeichnet durch eine an die Schalteinrichtung angeschlossene erste und zweite Akkumulatoreinrichtung sowie dadurch, daß die erste Akkumulatoreinrichtung zum selektiven Laden eines der beiden ersten und zweiten Register in serieller Form in einer Richtung an den Ausgang der hexadezimalen Skaliereinrichtung und die zweite Akkumulatoreinrichtung zum seriellen Laden in einer zu der einen Richtung entgegengesetzten anderen Richtung an die erste Registereinrichtung angeschlossen ist.
- 10. Mit Gleitkomma arbeitender Mechanismus nach Anspruch 1 oder 8, dadurch gekennzeichnet, daß die Einrichtung zur Bildung eines Maßstabsfaktors eine Schiebe-Codiereinrichtung aufweist, die an den Ausgang der arithmetischen Logikeinrichtung angeschlossen ist, um bedeutsame Ziffern des Inhalts in einem ausgewählten der beiden ersten und zweiten Register zu zählen, bis die erste von Null abweichende bedeutsame Ziffer erfaßt worden ist, wobei die Zählung einen Maßstabsfaktor zur Normalisierung eines Operanden erzeugt.
- 11. Mit Gleitkomma arbeitender Rechenmechanismus nach Anspruch 10, dadurch gekennzeichnet, daß die Einrichtung zur Bildung eines Maßstabsfaktors zur Subtraktion und Addition von Operanden ferner eine auf die ersten und zweiten Exponentenwerte ansprechende zweite arithmetische Logikeinheit aufweist, um den Absolutwert deren algebraischer Differenz zu bilden und so den Maßstabsfaktor zur Angleichung des ersten und zweiten Operanden zu erzeugen.509830/0729
- 12. Mit Gleitkomma arbeitender Rechenmechanismus nach Anspruch11, dadurch gekennzeichnet, daß die zweite arithmetische Logikeinheit ferner einen auf den größeren der beiden Exponentenwerte ansprechenden Steuersignalausgang abgibt, um die Schalteinrichtung so zu steuern, daß sie den Inhalt des Registers auswählt, das die dem größeren Exponentenwert entsprechende Mantisse hat.
- 13. Mit Gleitkomma arbeitender Rechenmechanismus nach Anspruch12, dadurch gekennzeichnet, daß die zweite arithmetische Logikeinrichtung eine zum seriellen Laden in einer ersten Richtung von der Skaliereinrichtung und zum seriellen Laden in einer ersten Richtung von der ersten Akkumulator-einrichtung angeschlossene vierte Registereinrichtung aufweist, die selektiv an die Schalteinrichtung angeschlossen ist, so daß ihr Inhalt mit dem Inhalt der ersten Registereinrichtung weitergeleitet wird, sowie dadurch, daß die dritte Registereinrichtung einen ersten und zweiten Teil aufweist, die jeweils die Exponenten- und Mantissenwerte eines geladenen Operanden enthalten.
- 14. Mit Gleitkomma arbeitender Rechenmechanismus nach Anspruch 9, dadurch gekennzeichnet, daß die dritte Registereinrichtung selektiv an die Speicher-Sammelschiene angeschlossen ist, um ihren Inhalt darauf auszuschreiben.KN/jn/sg/hs 3509830/0 7 29Leerseite
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US43538374A | 1974-01-21 | 1974-01-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2501985A1 true DE2501985A1 (de) | 1975-07-24 |
Family
ID=23728162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19752501985 Pending DE2501985A1 (de) | 1974-01-21 | 1975-01-18 | Mit gleitkomma arbeitender rechenmechanismus |
Country Status (5)
Country | Link |
---|---|
JP (1) | JPS50108847A (de) |
CA (1) | CA1015065A (de) |
DE (1) | DE2501985A1 (de) |
FR (1) | FR2258666B3 (de) |
GB (1) | GB1475471A (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2900324A1 (de) * | 1978-01-05 | 1979-07-19 | Honeywell Inf Systems | Mikroprogrammierbare arithmetische fliesskommaeinheit |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3429927B2 (ja) * | 1995-10-16 | 2003-07-28 | 三菱電機株式会社 | 浮動小数点演算装置の正規化回路装置 |
WO1998006029A1 (en) * | 1996-08-07 | 1998-02-12 | Valery Yakovlevich Gorshtein | Apparatus and methods for execution of computer instructions |
US5844830A (en) * | 1996-08-07 | 1998-12-01 | Sun Microsystems, Inc. | Executing computer instrucrions by circuits having different latencies |
-
1975
- 1975-01-13 GB GB141475A patent/GB1475471A/en not_active Expired
- 1975-01-13 CA CA217,805A patent/CA1015065A/en not_active Expired
- 1975-01-18 DE DE19752501985 patent/DE2501985A1/de active Pending
- 1975-01-20 FR FR7502652A patent/FR2258666B3/fr not_active Expired
- 1975-01-21 JP JP50009197A patent/JPS50108847A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2900324A1 (de) * | 1978-01-05 | 1979-07-19 | Honeywell Inf Systems | Mikroprogrammierbare arithmetische fliesskommaeinheit |
Also Published As
Publication number | Publication date |
---|---|
FR2258666A1 (de) | 1975-08-18 |
JPS50108847A (de) | 1975-08-27 |
CA1015065A (en) | 1977-08-02 |
GB1475471A (en) | 1977-06-01 |
FR2258666B3 (de) | 1977-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0079471B1 (de) | Schaltungsanordnung und Verfahren zur Bildung von Skalarprodukten und Summen von Gleitkommazahlen mit maximaler Genauigkeit | |
DE2724125C2 (de) | ||
DE2023354C2 (de) | Datenverarbeitungsanlage mit einem Mikrobefehlsspeicher | |
DE2524046C2 (de) | Elektronische Datenverarbeitungsanlage | |
DE2910839A1 (de) | Einrichtung zur ausfuehrung einer speziellen verzweigungsinstruktion | |
DE2712224A1 (de) | Datenverarbeitungsanlage | |
CH644461A5 (de) | Digitale multipliziereinrichtung. | |
DE1549480A1 (de) | Datenverarbeitungsanlage | |
DE2222197C3 (de) | Anordnung zum Auf- bzw. Abrunden von Binärzahlen | |
DE1197650B (de) | Parallel-Addierer | |
DE1549508B2 (de) | Anordnung zur uebertragsberechnung mit kurzer signallaufzeit | |
DE2424756C3 (de) | Elektronischer Rechner | |
DE2830334C2 (de) | ||
DE3303269C2 (de) | ||
DE3440680C2 (de) | ||
DE2364865A1 (de) | Erweitertes speicheradressenbildungssystem eines digitalen rechnersystems | |
DE2310553A1 (de) | Vorrichtung zur durchfuehrung arithmetischer und logischer operationen | |
DE3340362C2 (de) | ||
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE2501985A1 (de) | Mit gleitkomma arbeitender rechenmechanismus | |
DE2523755A1 (de) | Divisionsverarbeitungssystem mit 2n-facher genauigkeit | |
DE1184122B (de) | Addiervorrichtung | |
DE1222290B (de) | Binaere Recheneinrichtung zur Bildung und Akkumulation von Produkten | |
DE1549449A1 (de) | Einrichtung zur Verarbeitung von Gleitkommazahlen | |
DE1549461C3 (de) |