DE2900324A1 - Mikroprogrammierbare arithmetische fliesskommaeinheit - Google Patents
Mikroprogrammierbare arithmetische fliesskommaeinheitInfo
- Publication number
- DE2900324A1 DE2900324A1 DE19792900324 DE2900324A DE2900324A1 DE 2900324 A1 DE2900324 A1 DE 2900324A1 DE 19792900324 DE19792900324 DE 19792900324 DE 2900324 A DE2900324 A DE 2900324A DE 2900324 A1 DE2900324 A1 DE 2900324A1
- Authority
- DE
- Germany
- Prior art keywords
- bit
- chips
- mantissa
- control
- circuit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000015654 memory Effects 0.000 claims description 82
- 238000012545 processing Methods 0.000 claims description 29
- 230000006870 function Effects 0.000 claims description 27
- 238000012360 testing method Methods 0.000 claims description 25
- 230000001143 conditioned effect Effects 0.000 claims description 21
- 238000007667 floating Methods 0.000 claims description 21
- 238000002360 preparation method Methods 0.000 claims description 21
- 238000000034 method Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 16
- 238000003860 storage Methods 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 12
- 238000012546 transfer Methods 0.000 claims description 10
- 230000000295 complement effect Effects 0.000 claims description 8
- 238000006073 displacement reaction Methods 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 claims description 5
- 239000004020 conductor Substances 0.000 claims 12
- 230000003750 conditioning effect Effects 0.000 claims 1
- 230000008520 organization Effects 0.000 claims 1
- 230000001850 reproductive effect Effects 0.000 claims 1
- 239000000872 buffer Substances 0.000 description 17
- 239000011159 matrix material Substances 0.000 description 11
- 238000010606 normalization Methods 0.000 description 6
- 238000007792 addition Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000009826 distribution Methods 0.000 description 4
- 101000980673 Homo sapiens Multicilin Proteins 0.000 description 3
- 102100024179 Multicilin Human genes 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 239000013256 coordination polymer Substances 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000012432 intermediate storage Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 206010011878 Deafness Diseases 0.000 description 1
- OFFWOVJBSQMVPI-RMLGOCCBSA-N Kaletra Chemical compound N1([C@@H](C(C)C)C(=O)N[C@H](C[C@H](O)[C@H](CC=2C=CC=CC=2)NC(=O)COC=2C(=CC=CC=2C)C)CC=2C=CC=CC=2)CCCNC1=O.N([C@@H](C(C)C)C(=O)N[C@H](C[C@H](O)[C@H](CC=1C=CC=CC=1)NC(=O)OCC=1SC=NC=1)CC=1C=CC=CC=1)C(=O)N(C)CC1=CSC(C(C)C)=N1 OFFWOVJBSQMVPI-RMLGOCCBSA-N 0.000 description 1
- 235000010716 Vigna mungo Nutrition 0.000 description 1
- 244000042295 Vigna mungo Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002996 emotional effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/3808—Details concerning the type of numbers or the way they are handled
- G06F2207/3812—Devices capable of handling different types of numbers
- G06F2207/382—Reconfigurable for different fixed word lengths
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/3808—Details concerning the type of numbers or the way they are handled
- G06F2207/3828—Multigauge devices, i.e. capable of handling packed numbers without unpacking them
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)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
- Complex Calculations (AREA)
Description
DIPL-INCHEINZBARDEHLE München, 5.1.
PATENTANWÄLTE — ZH """" 2900324
Aktenzeichen: Unser Zeichen: P 2R2O
Anmelder: Honeywell Information Systems, Tnc.
200 Smith Street
Waltham, Mass., U.S.A.
Waltham, Mass., U.S.A.
Mikroprogrammxerbare arithmetische Fließkommaeinheit
Kanzlei: Herrnstraße 15, München 23
§09629/0662
ORIGINAL INSPECTED
DIPL. ING. HEINZ BARDEHLE DIPL. CHEM. DR. PETER FÜRNISS
München,
Aktenzeichen:
Anmelder:
Anmelder:
Unser Zeichen:
Die vorliegende Erfindung bezieht sich auf arithmetische Rechnereinheiten und insbesondere auf arithmetische Einheiten,
die Fließkommaoperationen durchführen.
Allgemein wurden arithmetische Rechnereinheiten dahingehend ausgelegt, daß sie mehr Flexibilität bei den erforderlichen
Operationsarten sicherstellen. Beispielsweise sind gewisse arithmetische Verarbeitungseinheiten erforderlich, um befehlsspezifizierte
Operationen mit unterschiedlichen Operandenformen zu verarbeiten. Genauer gesagt besitzen im Falle
von arithmetischen Fließkommaoperationen gewisse Befehle wie beispielsweise die, die Multiplikations- und Divisonsoperationen
anzeigen, die Operanden einen kurzen Mantissenwert (beispielsweise 56 Bitwerte). Bei anderen Befehlen, beispielsweise
denen, bei denen Additions- und Subtraktionsoperationen bezeichnet werden, können die Operanden lange
Mantissenwerte (beispielsweise 64 Bit) in gewissen Phasen ihrer Durchführung aufweisen.
Um den langen und kurzen Operandenanforderungen derartiger Befehle angepaßt zu sein, besitzen Datenverarbeitungseinheiten
getrennte Exponent- und Mantissenabschnitte, bei denen die Mantissenabschnitte vergrößert sind, um eine ausreichende
Anzahl von Stufen zur Behandlung der größten Mantissenwertgröße, die verarbeitet werden muß, zu besitzen.
Es wurde herausgefunden, daß diese Anordnung beträchtlich zum Umfang der Schaltungen innerhalb der arithmetischen Verarbei-
Kanzlei: Herrnstraße 15, München 33
09829/086
INSPECTED
ZG -
tungseinheit beiträgt, was zu einem vergrößerten Raumbedarf und zu erhöhten Kosten führt.
Demgemäß ist es Aufgabe der vorliegenden Erfindung, eine arithmetische Einheit zu schaffen, die unterschiedliche Arten
von Fließkommaoperanden bei einem Minimalaufwand von zusätzlichen Schaltungen behandeln kann.
Ein weiteres Ziel der vorliegenden Erfindung liegt darin, eine arithmetische Einheit zu schaffen, die Mantissen- und Exponentwerte
ohne eine nachteilige Durchführung verarbeiten kann.
Die obigen Ziele werden in einer einzigen mikroprogr aminiert en,
gesteuerten Fließkommaeinheit verwirklicht, die einen mikroprogrammierten
Steuerabschnitt und eine Vielzahl von arithmetischen und logischen und Übertragsvorbereitungsschaltungen
aufweist. Die Stufen sind in zwei arithmetische und logische Abschnitte aufgeteilt, von denen jeder eine unterschiedliche
vorgegebene Anzahl von in Reihe verbundenen Stufen besitzt. Ein Abschnitt wird zur Verarbeitung der Exponentwerte oder
langer Mantissenwerte verwendet. Der andere Abschnitt besitzt eine andere Anzahl von reihenverbundenen Stufen, die miteinander
verbunden sind, um die Mantissenwerte der Fließkommaoperanden zu verarbeiten.
Die Einheit besitzt weiterhin Steuerschaltungen, die sowohl
die arithmetische als auch die logischen Einheitsabschnitte miteinander verbinden, und die die Übertragsvorbereitungsschaltungen
miteinander verbinden. Die Steuerschaltungen
teilen, bzw. verbinden wahlweise in Ansprache auf Signale von dem mikroprogramitiierten Steuerabschnitt die beiden Abschnitte
für den Betrieb als eine einzige Einheit zur Verarbeitung der Matissenwerte und als zwei Einheiten zur Verarbeitung von
Exponent- und Mantissenwerten unabhängig voneinander.
Θ09829/Ο662
.-..-:. !.^"»ORIGINAL INSPECTED
- 2300324
Die SteuerSchaltungen verhindern und ermöglichen wahlweise
die Übertragung der durch die Übertragsvorbereitungsschaltung erzeugten Überträge durch zwei arithmetische und logische
Einheitsabschnitte, wenn sie unabhängig voneinander (das heißt gespalten) und zusammen in einem Abschnitt (das
heißt verbunden) verarbeitet werden.
In der bevorzugten Ausführungsform der vorliegenden Erfindung besitzt der Steuerspeicherabschnitt einen adressierbaren ·
Steuerspeicher mit Folgen von Mikrobefehlsworten. Gemäß der vorliegenden Erfindung besitzt jedes Mikrobefehlswort ein
Ein-Bit-Feld, das codiert ist, um zu spezifizieren, ob die
beiden Abschnitte unabhängig voneinander (geteilt) oder zusammen als einziger Abschnitt (verbunden) während des Operationszyklus1
verarbeitet werden sollen, indem das spezielle Mikrobefehlswort adressiert ist und aus dem Steuerspeicher
ausgelesen wird. Das heißt, jedes CRSPLT-FeId des Mikrobefehlswortes
erzeugt bei Auslese aus dem Steuerspeicher Signale, die die verschiedenen Steuerschaltungen innerhalb der
mikroprogrammierten, gesteuerten Verarbeitungseinheit zum
Betrieb als zwei Abschnitte oder als einzigen Abschnitt bedingen.
Gemäß der vorliegenden Erfindung können die Steuerschaltungen unter der Mikroprogrammsteuerung auch so konditioniert werden,
daß sie ein einziges Bit-Verschieben von langen Mantissenwerten ausführen. Für diesen Fall werden die beiden Abschnitte
miteinander an den Zwischenstellen zwischen den beiden Abschnitten durch die Steuerschaltungen verbunden. Wenn natürlich
ein Schieben des Exponenten- oder Mantissenwertes erforderlich ist, verursachen die Steuerschaltungen unter der Mikroprogrammsteuerung
eine Unterbrechung zwischen den beiden Abschnitten. Bei der Unterbrechung führen die Steuerschaltungen einen
Nullwert in den speziellen, zu verschiebenden Wert ein (das heißt den Wert, der sich von der Unterbrechungsstelle weg
bewegt). Auch andere Abschnitte jedes Mikrobefehlsworts sind codiert, um geeignegte Überträge als Eingänge in die Übertrags-
909829/0062
ORIGINAL INSPECTED
Vorbereitungsschaltungen anzugeben, die für geeignete Operationen erforderlich sind.
Die mikroprograitimierte, gesteuerte arithmetische Verarbeitungseinheit
gemäß der vorliegenden Erfindung besitzt weiterhin Nulldetektorschaltungen, die verwendet werden, um die
Fließkommaoperanden zu normieren. Die Normierung bezieht sich auf die Operation, den Mantissenwert so groß wie möglich zu
machen, indem der Mantissenwert so weit wie möglich nach links verschoben wird, um die führenden Nullen zu eliminieren,
während zugleich der Exponentwert für jede Linksverschiebung um eins reduziert wird. Die Nulldetektorschaltung
besitzt Schaltungen zur Erzeugung einer Zählung der Verschiebungen, die die Anzahl der führenden Nullstellen in dem Mantissenwert
spezifiziert, und zur Erzeugung und Speicherung eines Ausgangssignals, das anzeigt, wenn der Mantissenwert
nur Nullen enthält. Die Nulldetektorschaltungen sind mit
einem vorgegebenen Ausgangsanschluß jeder Stufe in beiden Abschnitten verbunden, um von dort ein Steuersignal zu empfangen.
Jede arithmetische und logische Stufe besitzt Schaltungen, die das Steuersignal am Ausgangsanschluß auf
eine binäre Eins setzen, wenn der Stellenausgang der Stufe, der er zugeordnet ist, einen Ausgangswert oder ein Ergebnis
von null besitzt.
Gemäß der Lehre der vorliegenden Erfindung legen die Steuerschaltungen
Eingangssignale an die Nulldetektorschaltungen, um wahlweise die Schaltungen zu konditionieren, um Steuersignale
von allen Stufen beider Abschnitte zu prüfen oder lediglich die Steuersignale von den Stufen des Mantissenabschnitts
zu überprüfen.
Diese Anordnung ermöglicht es der mikroprogrammierten arithmetischen
und logischen Einheit festzustellen, ob ein langer oder kurzer Mantissenwert alles Nullen enthält, ungeachtet
der Operationen, die in beiden Abschnitten durchgeführt werden müssen. Da die Nullanzeige in den Detektorschaltungen
§09829/0862
ORIGINAL INSPECTED
ζβ
gespeichert wird, steht sie zur Abfrage während eines nachfolgenden
Operationszyklus1 zur Verfügung.
Da während jedes Operationszyklus1 die beiden Abschnitte
gemäß der vorliegenden Erfindung gespalten und verbunden werden können, können unabhängige Operationen, für die Exponent-
und Mantissenwerte notwendig sind, parallel durchgeführt werden. Dies ermöglicht es, daß arithmetische Befehlsverarbeitungen mit im wesentlichen derselben Rate durchgeführt
werden, wie wenn das Verarbeiten durch zwei getrennte Einheiten durchgeführt würde.
Die neuartigen Merkmale, die die vorliegende Erfindung lehrt, werden mit ihrer Anordnung und ihrem Verfahren, sowie zugehörige
weitere Vorteile und Ziele, aus der folgenden Beschreibung in Zusammenhang mit den zugehörigen Zeichnungen besser
verständlich. Es ist jedoch ausdrücklich festzuhalten, daß jede der Figuren nur zum Zwecke der Darstellung und Beschreibung
gedacht ist und keine Begrenzung der vorliegenden Erfindung darstellen soll.
Fig. 1 ist ein Blockdiagramm des Systems, das die vorliegende Erfindung verwendet.
Fig. 2 ist ein Blockdiagramm eines wissenschaftlichen Rechners nach Fig. 1, der die vorliegende Erfindung verwendet
.
Fig. 3 zeigt ein Blockdiagramm einer erfindungsgemäßen Vorrichtung.
Fig. 4a zeigt in größerer Einzelheit die Übertragsvorbereitungsschaltungen
40-82 nach Figuren 2 und 3.
Fig. 4b zeigt in größeren Einzelheiten den Detektor 40-86 für führende Nullen, den Exponentunterschieddetektor 40-88
und die Schaltungen für die Schiebesteuerungslogik 40-72 in Figuren 2 und 3.
Fig. 5 zeigt in Blockform das Mikroprozessorchip, das zum Aufbau der bevorzugten Ausführungsform der vorliegenden
Erfindung verwendet wird.
909829/0632
ORIGINAL INSPECTED
so
Fig. 6 zeigt im einzelnen das Mikroprozessorchip nach Fig. und die Vorrichtung nach Fig. 3.
Fig. 7 zeigt das Format der Mikrobefehlswörter in Übereinstimmung
mit der vorliegenden Erfindung, die in dem Steuerspeicherabschnitt von Fig. 2 enthalten sind.
Fig. 8 ist ein Flußdiagramm, das zur Erklärung der Operation der vorliegenden Erfindung verwendet wird.
Fig. 1 stellt ein System dar, das die erfindungsgemäße Vorrichtung
verwendet. Wie der Figur zu entnehmen ist, ist eine Hauptdatenleitung 10 vorgesehen, die an einen Hauptspeicher
(main memory = MM) 3 0 angeschlossen ist, an eine zentrale Recheneinheit 20 (central processor unit = CPU), an einen
wissenschaftlichen Befehlsverarbeiter 40 (scientific instruction processor = SIP) und verschiedene periphere Steuerungen,
wie beispielsweise die Steuerung 50, die den Betrieb einer Anzahl von peripheren Vorrichtungen 52 steuern. Jede der mit
der Datenleitung 10 verbundene Vorrichtung kann den Hauptspeicher 3 0 oder jede andere Einheit, die mit der Datenleitung
verbunden ist, ansteuern. Wie hier dargestellt, besitzt die Datenleitung 10 eine Anzahl von Steuerleitungen, Adreßleitungen
und Datenleitungen zur Übertragung von Befehlen und Daten. Für weitere Informationen, die den Betrieb des Systems nach
Fig. 1 betreffen, wird Bezug genommen auf die US-Patentschrift 3 993 981.
Fig. 2 zeigt ein Blockdiagramm der Hauptabschnitte der wissenschaftlichen
Befehlsverarbeitung (SIP) 40, die sich auf die vorliegende Erfindung beziehen.
In Fig. 2 ist zu sehen, daß die SIP 40 eine Anzahl von Abschnitten
besitzt. Die Abschnitte sind ein Datenleitungs- oder
Bussteuerabschnitt 40-2, ein Registerabschnitt 40-4, ein
Steuerspeicherabschnitt 40-6, ein Schiebelogikabschnitt 40-7 und ein Mikroprozessorabschnitt 40-8. Der Abschnitt 40-2 besitzt
eine Busfragelogik und eine Busantwortlogik in den
909829/0662
ν-, -, ORIGINAL INSPECTED
Blöcken 40-20, bzw. 40-22. Diese Schaltungen ermöglichen es der SIP 40, über den Bus 10 unter Steuerung des Abschnittes
40-6 Verbindungen aufzunehmen.
Der Registerabschnitt 40-4 besitzt eine Vielzahl von Registern 40-40 bis 40-48, die miteinander wie dargestellt verbunden
sind. Vier dieser Register 40-4, 40-42, 40-44 und 40-48 liefern Eingangssignale, um die Logikschaltungen eines
Blocks 40-66 im Abschnitt 40-6 zu testen. Das Funktionsregister 40-40 ist ein 6-3it-Register, das einen Funktionscode
speichert, der den Adreßleitungen des Bus 10 während eines
Eingangs- oder eines Ausgangsbuszyklus' der Operation zugeführt
wird. Danach prüft die SIP 40 unter Mikroprogrammsteuerung die Inhalte der Register 40-40 durch die Testlogik
40-66 und führt den spezifizierten Befehl aus. Die ausgewählten Mikroprogrammroutinen bestimmen die Information und
steuern die Übertragung dieser Information zwischen dem Bus 10 und den verschiedenen Registern, Datenleitungen und Abschnitten
von SIP 40. Das Adreßregister 40-42 ist ein 22-Bit-Register, das üblicherweise zur Speicherung einer Hauptspeicheroperandenadresse
verwendet wird, die über die Adreßleitung von Bus 10 empfangen wird, wenn SIP 40 einen Ausgangsbefehl
von der CPU 20 annimmt.
Das nächste Register 40-44 (Aufgabenregister) ist ein 12-Bit-Register,
das verwendet wird, um ein erstes Wort eines wissenschaftlichen Befehls, der von der Datenleitung des Bus 10 empfangen
wird, zu speichern, wenn die SIP 40 einen Ausgangsbefehl von der CPU 20 annimmt. Die SIP 40 decodiert unter der
Mikroprogrammsteuerung das erste Befehlswort über die in den nächsten Adreßerzeugungsschaltungsblöcken 40-64 enthaltenen
Schaltungen und erzeugt die Startadresse der Mikroprogrammroutine, die zur Verarbeitung dieses Befehls erforderlich ist.
Ebenfalls werden gewisse Bits dieses Registers dazu verwendet, zu spezifizieren, welches wissenschaftliche Akkumulatorregister
verwendet werden soll. Beispielsweise spezifizieren die Bit-Positionen 2 und 3 das wissenschaftliche Akkumulator- oder
909829/0682
••; ORIGINAL INSPECTED
Zwischenspeicherregister, das als A-Operandquelle/Ergebnisablage
für den laufenden Befehl verwendet wird. Die Aufgabenregisterbit-Positionen
14 und 15 spezifizieren das wissenschaftliche Akkumulatorregister, das als B-Operand (effektive
Adresse) für den laufenden Befehl verwendet wird.
Das Modusregister 40-48 ist ein 8-Bit-Register, das die von
der CPU 20 erhaltene Information speichert. Die Information wird zuerst von der Datenleitung des Bus 10 aufgenommen und
in das Busdatenregister 40-46 geladen. Danach werden die Inhalte des Registers 40-46 über die Abschnitte 40-3 und 40-7
übertragen und in das Register 40-43 geladen. Die Information wird verwendet, um die Durchführung der Mikrobefehlsfolgen
zu steuern, die der Operandenlänge oder zum Runden/Abschneiden der Operation dienen.
Die Busdatenregister 40-46 und 40-47, die als BD1 und BD2 bezeichnet sind, sind 16-Bit-Register, die verwendet werden,
um die von der Datenleitung des Bus 10 bezogenen Informationen zu speichern. Das Register 40-46 empfängt üblicherweise
Daten, die aus Einwort-Operationen entstehen (beispielsweise Befehlswort von der CPU 20), während das Register 40-47 üblicherweise
Daten aufnimmt, die von Doppelwort-Operationen (zweites Wort einer doppelten Integergröße oder ganzen Zahl
von der CPU 20) herrühren.
Der Steuerabschnitt 40-6 besitzt einen Steuerspeicher 40-60,
der aus 1024 Lesespeichern (read only storage = ROS) aufgebaut ist, von denen jeder 64 Bits aufweist, ein ROS-Lokalregister
40-62 zur Speicherung eines Mikrobefehlsworts, das aus dem Steuerspeicher 40-60 während eines Operationszyklus1
ausgelesen worden ist, eine Unterbefehlsgeneratorschaltung
40-63 zur Decodierung und Verteilung von Steuersignalen zu den verschiedenen Abschnitten der SIP 40, Schaltungen 40-64
zur Erzeugung der nächsten ROS-Adresse und eine Testlogikschaltung in Block 40-66. Wie hier erklärt, erzeugen die
Schaltungen 40-64 üblicherweise die Adresse der nächsten
909829/0662
ORIGINAL INSPECTED
SS
Speicherstelle als Funktion eines nächsten AdreSfeldes des
Mikrobefehlsworts und Ausgangssignalen von den Testlogikschaltungen 40-66. Das heißt, die Testlogikschaltungen 40-66
wählen eine der 64 möglichen Testbedingungen aus, die auf der Codierung eines anderen Feldes des Mikrobefehlswortes
basieren. Die Ausgangssignale, die in Verbindung mit dem nächsten Adressenfeld erzeugt werden, werden verwendet, um
die nächste Adresse zu bilden.
Wie bereits erwähnt, erzeugen die Schaltungen 40-64 zusätzlich die nächste Adresse für den ersten Speicherplatz des
Mikroprogramms zur Verarbeitung des Befehls durch Decodierung des Befehlswortes, das in dem Aufgabenregister 40-44
gespeichert ist. In der vorliegenden Erfindung können die Testlogikschaltungen 40-66 und die AdreßerZeugungsschaltungen
40-64 in ihrer Auslegung wie bisher üblich betrachtet werden. Beispielsweise können sie die Schaltungsformen besitzen, die
in dem US-Patent 3 909 800 beschrieben sind, über das ebenfalls die Anmelderin verfügt.
Die verschiedenen erwähnten Felder sind in dem Format des Mikrobefehlswortes in Fig. 8 dargestellt. Aus dieser Figur
ist zu entnehmen, daß jedes Mikrobefehlswort 19 unterschiedliche Felder besitzt, die mit DA bis CK bezeichnet sind. Diese
Felder werden wie folgt verwendet:
1. Das Direktadressenfeld (DA) besitzt die Bits 0 bis 3 des
Mikrobefehlsworts. Dieses Feld liefert eine direkte Adresse, die verwendet wird, um einen der 16 Unterspeicher, die in
dem wissenschaftlichen Speicher enthalten sind, auszuwählen.
2. Das A-Wahlfeld (AS) besitzt die Bits 4 und 5 des Mikrobefehlsworts
und wird verwendet, um auszuwählen, welcher der vier Eingänge des A-Adreßmultiplexers 40-840 ausgewählt
wird.
3. Das B-Wahlfeld (BS) besitzt die Bits 6 und 7 des Mikrobefehl sworts und wird verwendet, um einen der vier Eingänge
des B-Adreßmultiplexers 40-842 auszuwählen.
ORIGINAL INSPECTED
3<t
.
4. Das Exponentquellenfeld (ES) besitzt die Bits 9 bis 11
des Mikrobefehlswortes und steuert die; Addierungseingangsmultiplexer
für die Bits 56 bis 63 des Fließkommaworts (das heißt, den Exponentteil des Wortes). Deshalb bestimmt
das ES-FeId die Operandenquelle für die A- und B-Eingänge
der jeder Exponentenstelle zugeordneten Addierungseinheit.
5. Das Mantissenquellenfeld (MS) besitzt die Bits 13 bis 15
des Mikrobefehlswortes und steuert die Addierungseingangsmultiplexer
für die Bits 0 bis 55 des Fließkommaworts (das heißt den Mantissenteil des Wortes). Deshalb bestimmt
das MS-FeId die Operandenquelle für die A- und B-Eingänge der jeder Mantissenstelle zugeordneten Addierungseinheit.
6. Das externe Busfunktionsfeld (BF) besitzt die Bits 16 bis
19 des Mikrobefehlswortes und wird verwendet, um verschiedene
der externen Bus- (interface) zugeordneten Verarbeitungsoperationen
zu steuern.
7. Das Verschiebungssteuerungsfeld (SC) besitzt die Bits 21
bis 23 des Mikrobefehlswortes und wird verwendet, um die durch die Vielfachstellen-Verschiebungsschaltungen bewirkten
Operationsarten zu steuern.
3. Das Exponentfunktionsfeld (EF) besitzt die Bits 25 bis 27 des Mikrobefehlswortes. Diese drei Bits schaffen eine
Steuerung für alle Operationen innerhalb der arithmetischen Logikeinheit, die jeder Exponentenstelle (das heißt den
Bits 56 bis 63 des Fließkommaworts) zugeordnet ist. 9. Das Mantissenfunktionsfeld (MF) besitzt die Bits 29 bis
31 des Mikrobefehlswortes. Diese drei Bits liefern eine Steuerung für alle Operationen innerhalb der arithmetischen
Logikeinheit, die jeder Mantissenstelle (das heißt den Bits 0 bis 55 des Fließkommaworts) zugeordnet ist.
10. Das Testbedingungsfeld (TC) besitzt die Bits 32 bis 35
des Mikrobefehlsworts. Dieses Feld wird in Verbindung mit einem Zweigmaskenfeld (BM) verwendet, um die speziellen
Testfunktionen auszuwählen, die zur Erzeugung der nächsten Steuerspeicheradresse verwendet werden.
11..Das Zweigmaskenfeld (BM) besitzt die Bits 36 bis 39 des
Mikrobefehlswortes. Wie erwähnt, wird dieses Feld in Ver-
§09829/0662
ORIGINAL INSPECTED
bindung mit dem TC-FeId verwendet, um die spezielle Testfunktion
auszuwählen, die zur Erzeugung der nächsten Adresse verwendet wird.
12. Das Exponentbestimmungsfeld (ED) besitzt die Bits 41 bis 43 des Mikrobefehlsworts. Dieses Feld steuert die drei
Sets des Multiplexers, der dem Exponentabschnitt des Fließkommaworts (das heißt Bits 56 bis 63) zugeordnet
ist, wodurch alle Datenbewegungen und Verschiebungsoperationen innerhalb des Mikroprozessors ALU (Exponentstellen)
gesteuert werden.
13. Das Mantissenbestimmungsfeld (MD) besitzt die Bits 45
bis 47 des Mikrobefehlswortes. Dieses Feld steuert die drei Sets des Multiplexers, der dem Mantissenabschnitt
des Fließkommaworts (das heißt Bits 0 bis 55) zugeordnet ist, wodurch alle Datenbewegungen und Verschiebungsoperationen
innerhalb des Mikroprozessors ALU (Mantissenstellen) gesteuert werden.
14. Allgemeines Feld (GP) besitzt die Bits 48 bis 53 des Mikrobefehlswortes. Das GP-FeId wird verwendet, um entweder
Konstanten oder SIP-Unterbefehle, abhängig von dem
Zustand des Bits 48 (das heißt Bit 48 logisch wahr erzeuge Unterbefehls, Bit 48 logisch falsch - erzeuge
Konstanten) zu erzeugen.
15. Das Feld für die nächste Adresse (NA) besitzt die Bits
54 bis 63 des Mikrobefehlswortes und bestimmt die nächste folgende Adresse.
16. Das Matrixsteuerungsfeld (MC) besitzt die Bits 8 und 12 des Mikrobefehlswortes. Diese Bits bestimmten die Verschiebungsquelle
(Verschiebungszählung) für die Matrixschiebeschaltung .
17. Das Split- oder Aufteilfeld (SP) umfaßt das Bit 20 des Mikrobefehlswortes. Erfindungsgemäß bestimmt die Codierung
dieses Bits, ob die Exponent- oder Mantissenteile des Fließkommawortes getrennt oder als einziger Operand durch
die Stufen des Mikroprozessorabschnitts 40-8 verarbeitet werden. Wie erklärt, werden die Mantissen- und Exponentabschnitte
getrennt und unabhängig voneinander verarbeitet,
909829/0682
ORIGINAL INSPECTED
wenn Bit 20 bestimmt, daß CRSPLT eine binäre Eins ist. Wenn das CRSPLT-Bit 20 eine binäre Null ist, werden die
beiden Teile als ein einziger Operand behandelt.
18. Das Carry-In-FeId (CI) besitzt die Bits 24 und 28 des
Mikrobefehlswortes. Diese Bits versorgen die Carry- oder Übertragseingänge für die Exponent- bzw. Mantissenabschnitte
des Fließkommawortes.
19. Das Taktsteuerungsfeld (CK) besitzt die Bits 40 und 44 des Mikrobefehlswortes und bildet die Steuerungsspeicherzykluszeit.
Der Mikroprozessorabschnitt 40-8 besitzt eine Mikroprozessoreinheit
40-80 und A- und B-Adreßmultiplexer-Schaltungen eines
Blocks 40-84, RAM-Schiebesteuerungsschaltungen 40-86, eine Anzahl von Carry- oder Übertragserzeugungsschaltungen eines
Blocks 40-82, einen Detektor 40-86 für die führenden Nullen und einen Detektor 40-88 für die Exponentdifferenz. Der Abschnitt
40-80 ist aus 17 large-scale-integrates (LSI) Mikroprozessorchips
aufgebaut, die in Fig. 3 mit 40-800 bis 40-832 bezeichnet sind. In einer bevorzugten Ausführungsform entspricht
das Chip dem Typ 2901-Chips der Advanced Micro Devices Inc. Jedes dieser Chips, die in Blockform in Fig. 4
dargestellt sind, verarbeitet vier Bits. 16 derartiger Chips können, wie in Fig. 3 dargestellt, miteinander verbunden werden,
um eine 64-Bit- oder eine 56-Bit- oder eine 8-Bit-Mikroprozessoreinheit,
wie hier erklärt, zu bilden. Die ersten 14 Chips, die den Bits 0 bis 55 entsprechen, speichern und
verarbeiten die Mantissenwerte einer Fließkommazahl. Die nächsten zwei Chips speichern und verarbieten entweder die
Exponentwerte oder zusätzliche, am wenigsten signifikante Mantissenwerte der Fließkommazahl. Ein letztes Chip speichert
das Dezimalkomma und die Vorzeichenwerte, wie hier erklärt wird.
Wie aus Fig. 2 zu ersehen ist, ist der Mikroprozessorabschnxtt 40-80 horizontal in einer Anzahl von RAM-Schiebe- und Multiplexer-Abschnitten,
Q-Shift- und Q-Register-Abschnitte, wis-
909929/0662
ORiGiNAL INSPECTED
wenschaftliche Speicherabschnitte, Wahlabschnitte, arithmetische
und logische (ALU) Abschnitte und Ausgangsmultiplexer-Abschnitte unterteilt. Fig. 5 zeigt in größeren Einzelheiten
die Abschnitte jedes Chips. Zusätzlich besitzen die RAM-Schiebe- und Multiplexer-Abschnitte zwei 64-Bit-Multiplexer-Schaltungen,
die sowohl für Schiebeoperationen als auch für übliche Datenübertragungen verwendet werden. Das heißt, diese
Schaltungen liefern eine direkte Übergabe oder eine Verschiebung der Daten von links nach rechts, bevor sie in die Speicherabschnitte
geladen werden.
Wie in Fig. 3 dargestellt, sind die RAM-Schiebeverbindungen
zwischen den Chips, die Mantissenwerte und die Exponentenwerte speichern, in vorbestiiranter Weise in Übereinstimmung mit der
vorliegenden Erfindung angeordnet. Das heißt, der RF3 RAM-Schiebeausgangsanschluß
des Chips, der das letzte signifikante Mantissenbit (das heißt Bit 55 von Chip 40-828) speichert,
liegt an einem Dateneingangsanschluß einer Multiplexer-Schaltung 40-810, deren Ausgang den RFO RAI-I-Schiebeeingang des
signifikantesten Exponentenbits (das heißt Bis 56 von Chip 40-830) ansteuert. Den anderen Datenexngangsanschluß erdet
die Multiplexer-Schaltung 40-811.
Zusätzlich kann aus Fig. 3 entnommen werden, daß der RFO RAM-Schiebeausgangsanschluß
von 40-830 den einen Dateneingangsanschluß eines weiteren Multiplexers 40-813 ansteuert, deren
Ausgang mit dem RF3 RAM-Schiebeeingang von Chip 40-828 verbunden ist. Der andere Datenexngangsanschluß der Multiplexer-Schaltung
40-813 ist geerdet. Beide Multiplexer-Schaltungen 40-811 und 40-813 werden durch Signale CRSPLT 10 und
CREDL110 gesteuert, die vom Steuerabschnitt 40-6 in Fig. 2
erzeugt werden, und enthalten den Block 40-81.
Im einzelnen wird das Signal CREDL110 binär Null, wenn die
Inhalte der Exponent-/Schutzchips 40-830 und 40-832 nach rechts verschoben werden. Das Signal CREDL110 ermöglicht den
Betrieb der Multiplexer-Schaltung 40-811. Umgekehrt wird das
09829/0682
ORIGINAL INSPECTED
SS
Signal CRED110 auf binär Eins gesetzt, wenn die Inhalte der
Exponent-VSchutzchips 40-830 und 40-832 mich links verschoben
sind. Das Signal CREDL110, das durch eine Inverterschaltung 40-815 invertiert wird, steuert die Operation der Multiplexer-Schaltung
40-813.
Es ist der Zustand des Signals CRSPLT10, das festsetzt, ob die Chipstufen als zwei Abschnitte oder als ein einziger Abschnitt
betrieben werden. Insbesondere, wenn das Signal CRSPLT10 eine binäre Null darstellt, was "verbundenen" Betrieb
spezifiziert und das Signal CREDL110 eine binäre Eins (Verschiebung
nach links) ist, wird der Ausgang ERRSDX10 des RFO-Anschlusses der am signifikantesten Bitstelle des Exponentenchips
40-830 durch die Multiplexer-Schaltung 40-813 zum RF3-Anschluß der letzten signifikanten Bitstelle des Mantissenchips
40-823 verschoben. Wenn jedoch das Signal CREDL110 eine binäre Null (Verschiebung nach rechts) darstellt, wird
der Ausgang ERRSDE10 vom RF3-Anschluß der letzten signifikanten Bitstelle des Mantissenchips 40-823 durch die Multiplexer-Schaltung
40-811 in den RFO-Anschluß der am meisten signifikanten Bitstelle des Exponentchips 40-83 0 geschoben.
Wenn das Signal CRSPLT10 eine binäre Eins ist, die "aufgespaltenen"
Betrieb spezifiziert, und das Signal CREDL110 eine binäre Eins (Verschiebung nach links) darstellt, wird
eine binäre Null (geerdet) durch die Multiplexer-Schaltung 4 0-813 zum RF3-Anschluß der letzten signifikanten Bitposition
des Mantissenchips 40-828 geschoben. Wenn jedoch das Signal CREDL110 eine binäre Null (Verschiebung nach rechts) darstellt,
wird eine binäre Null durch die Multiplexer-Schaltung 40-811 zum RFO-Anschluß der am meisten signifikanten Bitstelle des
Exponentenchips 40-830 geschoben.
Wie in Fig. 3 dargestellt, sind die Verschiebeverbindungen zwischen den Chips, die die Mantissenwerte speichern, in vorgegebener
Weise wie in der Patentanmeldung "Apparatus for performing floating point arithmetic operation using sub-
909829/0662
ORIGINAL INSPECTED
multiple storage" von David E Cushing mit dem Aktenzeichen 815 891, angemeldet am 15. Juli 1977 beim US-Patentamt vom
Anmelder der vorliegenden Anmeldung, angeordnet. Das heißt, daß der Q3-Verschiebungsausgang jedes Chips mit dem Eingang
QO jedes dritten Chips verbunden ist (das heißt der Q3-Ausgang von Chip 1 liegt am QO-Eingang von Chip 4). Dies ermöglicht
das Verschieben nach rechts von acht Bitstellungen (zwei hexadezimale Stellen) innerhalb eines einzigen Schiebezyklus1
der Operation. Die Q-Schiebeverbindungen zwischen den Chips, die die Exponentwerte speichern, sind in gleicher
Weise angeordnet.
Die Q-Schiebe- und Q-Registerabschnitte besitzen eine 64-Bit-Multiplexer-Schaltung
und ein 64-Bit-Q-Register zur Speicherung der Bits des Multipliers. Der 64-Bit-Multiplexer
ermöglicht eine direkte übertragung oder eine Verschiebung nach links oder nach rechts der Multiplizierer-Bits, bevor
sie in das Q-Register geladen werden.
Der wissenschaftliche Speicherabschnitt enthält 16 64-Bits-Speicherstellen,
wobei zwei getrennte Anordnungen der 16 Stellen zugleich zum Zugriff bereitstehen, um sowohl einen
A- als auch einen B-Operanden zu schaffen. Wie hier erklärt, werden die Speicherstellen durch die A- und B-Adreßmultiplexer-Schaltungen
von Block 40-84 adressiert. Die Stellen 1, 2 und 3 dienen als wissenschaftliche Zwischenspeicher SA1,
SA2 und SA3, während die restlichen Stellen für zwischenzeitliche Speicherungen verwendet werden. Wie erklärt, werden die
Zwischenspeicher mit Operandenwerten durch Befehle auf übliche Weise geladen. Kurz gesagt werden die Datenbits der ersten
beiden Wörter (32 Bits) eines Vier-Wort-Operanden, der auf die Datenleitungen des Bus 10 durch die CPU gelegt wurde, in
die Busdatenregister 40-46 und 40-47 geladen. Die beiden ersten Wörter in diesen Registern, die einem Eingangsbus zugeführt
werden, werden durch die Schiebelogikschaltungen 40-70 des Abschnitts 40-7 ohne Verschieben übertragen und einem
Ausgangsbus zugeführt. Von dort werden die beiden ersten
909829/0862
ORIGINAL INSPECTED
Wörter durch die arithmetische und logische Einheit geführt und in einem der Zwischenspeicherstellen des wissenschaftlichen
Speicherabschnitts gespeichert.
Die nächsten beiden Wörter des Vier-Wort-Operanden, der von
dem CPU 10 empfangen wird, werden zu den Schiebelogikschaltungen
40-70 übertragen und durch 32 Bit-Positionen durch den Schiebeabschnitt 4-7 verschoben. Die Wörter werden danach
durch die arithmetischen und logischen Abschnitte geführt und in der gleichen Zwischenspeicherstelle gespeichert. In dem
Modusregister 4-44 sind gewisse Bitpositionen auf vorgegebene Zustände gesetzt, um der SIP 40 die Länge der gespeicherten
Operanden anzuzeigen (das heißt, daß die spezielle Zwischenspeicherstelle einen 4-Wort-Operanden speichert). Die
den Stellen zugewiesenen Adressen 1.., und 3*, dienen als
wissenschaftliche Zwischenspeicher oder Akkumulatoren SA1, SA2, SA3, wie oben erwähnt. Die den Stellen zugewiesenen Adressen
0.,, 4..,., 5.c, S.r und Ί. c dienen als Arbeitszwischen-Io
Io Ib id id
speicher und beziehen sich nicht auf die vorliegende Erfindung.
Die Selektor- oder Wahlabschnitte besitzen zwei 64-Bit-Latches,
16 Paare von 2 zu 1 Dateneingangsmultiplexern und 16 3 zu 1 Dateneingangsmultiplexern. Wie hier erklärt,ermöglichen
es die Datenexngangsmultiplexer, daß Datensignale von dem Eingangsbus über die Eingangsanschlüsse DO bis D3, die
beiden Latch-Einheiten oder das Q-Register den ALU-Abschnitten zugeführt werden. Die beiden Latch-Einheiten halten die aus
den wissenschaftlichen Speicherabschnitten ausgelesenen Datensignale, um sicherzustellen, daß genügend Zeit zur Durchführung
der Paralleloperationen während der Lese- und Abfrageoperationen bereitsteht.
Die ALU-Abschnitte führen alle üblichen arithmetischen und logischen Operationen einschließlich der Erzeugung des Übertrags,
des Overflows oder Überlaufs, des Ergebnisvorzeichens und alle Null-Erfassungen, Exn-Komplement- und Zwei-Komplementarithmetik
durch, wie hier erklärt, werden die Eingangs-Bit-
909829/0662
ORIGINAL INSPECTED
signale 13 bis 15 vom Steuerspeicher 40-60 codiert, um zu
bestimmen, welche der drei möglichen binären arithmetischen und fünf logischen Operationen durchgeführt werden sollen.
Wie aus Fig. 3 zu ersehen ist, bilden Signale von den Übertragserzeugungsanschlüssen
(G) und den Übertragsfortpflanzungsanschlüssen (P) jeder der Chipabschnitte in Verbindung
mit dem Übertragserzeugungschip 40-82a bis 40-82f des Blocks 40-82 Vorbereitungsschaltungen, die bestimmen, wenn die Signale,
die an die Übertragsexngangsanschlüsse (CN) angelegt werden, durch die verschiedenen Chipabschnitte fortgeführt
werden sollen. Mit der Ausnahme, die unter Bezugnahme auf Fig. 4 hier erklärt wurde, können die übertragsvorbereitungschip-Schaltungen
des Blocks 40-82 herkömmlich im Aufbau sein und beispielsweise aus standardisierten integrierten Schaltungen
wie zum Beispiel dem Typ SN74S182 der Texas Instruments
Inc. aufgebaut werden.
Wie aus Fig. 3 entnommen werden kann, sind die Übertragsvorbereitungsschaltungen
40-82a bis 40-82f in größeren Einzelheiten dargestellt, wobei die Schaltung 40-82f gemäß der
vorliegenden Erfindung angeschlossen ist. Insbesondere werden die Steuerspeichersignale CRSPLT10 und CRMCIN10 über ein
AND-Gatter 40-822 und eine Inverterschaltung 40-824 einem Eins erzeugenden Übertragseingangsanschluß der Schaltung
40-82f zugeführt. Das Signal CRSPLT10 wird ebenso einem Fortpflanzungsübertragseingangsanschluß der Schaltung 40-82f
zugeführt.
Wie aus Fig. 3 zu sehen ist, liegt das Signal CRMCIN10 auch als Übertragseingang (CN) an jeder der Schaltungen 40-82a
und 40-82d. Ein weiteres Steuerspeichersignal CRECIN10 liegt als Übertragseingang an Schaltung 40-82f. Die bezeichneten
arithmetischen und logischen Einheitschipausgänge G und P~ liegen an den anderen Eingangsanschlußsätzen, wie es dargestellt
ist. Während Subtraktionen sind die Steuerspeicher-
909829/0662
ORIGINAL INSPECTED
Übertragssignale CRECIN1O und CRMCIN1O binäre Einsen, um das
korrekte Ergebnis durch eine Einser-Komplementaddition zu bilden. Im Falle von Additionen sind diese Signale binäre
Nullen.
Es ist jedoch festzuhalten, daß beim Übertragseingang
CIND10 zum am letzten signifikanten Mantissenchip 40-823 der am meisten signifikante Exponent durch den Zustand des
Steuerspeichersignals CRSPLT10 gesteuert wird. Wenn das Signal CRSPLT10 eine binäre Eins (geteilte Operation) ist,
werden die normalen Überträge von den P-Anschlüssen der Chips 40-828, 40-830 und 40-832 nicht durch die Schaltung 40-82f
durchgeführt. Statt dessen wiiid das Übertragssignal CIND1 0
lediglich als Funktion des Zustande des Steuerspeichersignals CRMCIN10 erzeugt. Das heißt, das Signal MRGBRLOO wird binär
Eins oder binär Null in Übereinstimmung mit dem Zustand des Signals CRMCIN10. Das andere Übertragssignal, CINE10, bleibt
ungeändert (das heißt, in üblicher Weise erzeugt).
Die Ausgangsmultiplexer-Abschnitte besitzen einen 64-Bit-Multiplexer.
Dieser Multiplexer empfängt Daten entweder direkt von dem wissenschaftlichen Speicherabschnitt über eines der
Latch-Glieder oder von der ALU. Der Multiplexer legt Ausgangssignale
an den Eingangsbus zur Verteilung zu den verschiedenen Abschnitten der SIP 40. Der letzte Abschnitt 48-84,
wie aus Fig. 3 zu sehen ist, besitzt eine A-Adreßmultiplexer-Schaltung
40-840 und eine B-Adreßmultiplexer-Schaltung 40-842.
Diese Schaltungen liefern 4-Bit-A-Wahladressen und 4-Bit-B-Wahladressen,
die an die Eingangsanschlüsse AO bis A4 und BO bis B4 jedes der Chipabschnitte, wie in Fig. 3 dargestellt,
angelegt werden. Die A-Wahladresse veranlaßt, daß die 64-Bit-Inhalte
einer ausgewählten Stelle ausgelesen werden und als A-Operandeingang zur Verwendung durch die ALU oder zur
Verteilung als Ausgangssignal verwendet werden.
Vier Sätze von Eingangssignalen, die an die A-Adreßmultiplexer-Schaltung
40-840 angelegt werden, besitzen die Bits 0 bis 3
909829/0662
ORIGINAL INSPECTED
des Steuerspeichers 40-60, die Signale MLTSS010 bis MLTSS210
und die Bitsignale 2 und 3 vom Aufgabenregister 40-44. Die
Steuerbits 4 und 5 werden codiert, um zu bezeichnen, welcher der vier Sätze von Eingängen zur Erzeugung der A-Wahl-Adreßsignale,
die den Eingängen AO bis A3 zugeführt werden soll, ausgesucht wird. Die Steuerspeicherbits 0 bis 3 werden codiert,
um direkt eine beliebige der 16 wissenschaftlichen Speicherstellen zu adressieren.
Die Signale MLTSS010 bis MTSS210 entsprechen den Signalen, die von den Q-Registerbispositionen 47, 51 und 55 den Q-Verschiebungsausgangs-Anschlüssen
der Chipabschnitte 12, 13 und 14 in Fig. 3 zugeführt werden.
Die Aufgabenregisterbits 2 und 3 werden verwendet, um eine der drei wissenschaftlichen Zwischenspeicherstellen zu adressieren,
die die Adressen 1 bis 3 haben und verwendet werden, um den Α-Operanden oder die Ergebnisdaten zu speichern. Die
Aufgabenregisterbits 14 und 15 werden verwendet, um eine weitere der drei wissenschaftlichen Zwischenspeicherstellen
zu adressieren, die zur Speicherung der P-Operandenquellendaten
verwendet werden.
Die B-Wahladresse sorgt dafür, daß die 64-Bit-Inhalte der
ausgewählten Speicherstelle ausgelesen werden und als B-Operand zur Verwendung durch die ALU oder zur Verteilung als
Ausgangssignal angelegt werden. Die vier Sätze der Eingangssignale, die an die B-Adreßmultiplexer-Schaltung 40-842 angelegt
werden, umfassen die Steuerspeicherbits 6 und 7, die Steuerspeicherbits 60 bis 63, die Aufgabenregisterbitsignale
2 und 3 und die Aufgabenregisterbitsignale 14 und 15. Die
letzten beiden Sätze von Eingängen bewirken die gleiche Operation, wie oben bezüglich der A-Adreßmultiplexer-Schaltung
40-840 angezeigt. Die Steuerspeicherbits 6 und 7 werden codiert, um zu bezeichnen, welche Eingangssätze verwendet werden,
um die B-Wahl-Adreßsignale, die den Eingängen BO bis
B3 zugeführt werden, erzeugt werden. Die Steuerspeicherbits
60 bis 63 sind codiert, um eine der 16 wissenschaftlichen Speicherstellen zu adressieren.
909829/0662
ORIGINAL INSPECTED
Der Verschiebungslogikschaltungsabschnitt 40-7 wird verwendet, um entweder den Exponenten- oder den Mantissenabschnitt einer
Fließkoiratiazahl vor (beispielsweise Normierung) oder während
der Durchführung eines wissenschaftlichen Befehls zu verschieben. Wie aus Fig. 3 entnommen werden kann, besitzt dieser
Abschnitt vier 16 χ 16 Vielfachstellen-Verschiebungsmatrix-Chips 40-7Oa bis 40-7Od und logische Schaltungen in Block
40-72. Das Verschiebungsnetzwerk kann im Aufbau zum Zwecke der vorliegenden Erfindung herkömmlich ausgelegt werden. Beispielsweise
können die Netzwerke die Form der Matri'xverschiebungseinheit besitzen, die in dem US-Patent Nr. 3 818 203
offenbart ist.
Die Dateneingangsleitungen IO bis 115 der Verschiebungsmatrix-Chips
40-7Oa bis 40-7Od sind mit dem Eingangsbus zur Aufnahme der Datenbits (Exponent- oder Matissenanteil) der zu verschiebenden
Zahl verbunden. Die spezielle Operationsart (das heißt Verschiebung, nach rechts rotierende Arithmetik), die durchgeführt
werden soll, wird durch die Codierung der Steuerspeicherbits 21 bis 23 bestimmt, die den Funktionseingangsanschlüssen
S0-S1 und R0-R1 der Matrixverschiebungs-Chips 40-7Oa bis 40-7Od angelegt sind.
Wie aus Fig. 3 zu entnehmen ist, besitzt jedes Matrixverschiebungs-Chip
einen Satz von Verschiebungseingangsanschlüssen DO bis D3, die die Verschiebung der Bits von den Dateneingangsleitungen
10 bis 115 zu einem Satz von Datenausgangsleitungen 10 bis 115 zu einem Satz von Datenausgangsleitungen
OO bis 015 (das heißt von dem Eingangsbus zum Ausgangsbus) steuern. Beispielsweise soll angenommen werden, daß die
Steuerspeicherbits 21 bis 23 codiert sind, um einen Wert von 110 (was eine Rechtsverschiebungsoperation spezifiziert) zu
haben und der Verschiebungswert auf einen Wert von 0001 (Verschiebung um eine Stelle) codiert ist. Unter diesen
Bedingungen wird das Bit, das am iO-Eingangsanschluß (das
909829/0662
ORlGtNAL INSPECTED
-F-
heißt das Bit O) um eine Bitstellung verschoben und am Ausgangsanschluß 01 angelegt. Da jedoch der Ausgangsanschluß
01 dem Ausgangsbusbit 4 entspricht, wird das Bit 0 vier Bits oder eine hexadezimale Stelle verschoben, wie es durch den
Verschiebungscodewert von 0001 gefordert wurde.
Die Schaltungen des Blocks 40-72 erzeugen die codierten Verschiebungswerte.
Wie hier unter Bezugnahme auf die Fig. 4b erklärt wurde, besitzen diese Schaltungen Multiplexer-Chips,
die, herkömmlich im Aufbau, Signale von anderen Quellen wie zum Beispiel der Detektorschaltung 40-86 für die führenden Nullen
für Normierungsoperationen, die Exponentdifferenzdetektor-Schaltung
40-88 für Angleichungsoperationen auswählen, die spezifizieren, wieviele Stellenverschiebungen durchgeführt
werden müssen, und einer konstanten Erzeugungsschaltung.
Wie aus der Fig. 4b zu ersehen ist, empfangen die Multiplexer-Schaltungen
40-722a bis 40-722d einen unterschiedlichen Satz von EingangsSignalen von der Detektorschaltung 40-86 für die
führenden Nullen, der Exponentdifferenzdetektorschaltung
4 0-88, den SteuerSpeicherbitpositionen 0 bis 3 und den Steuerspeicherbitpositionen
60 bis 63. Wie angegeben, wird die Auswahl eines speziellen Satzes von Eingangssignalen durch
die Codierung der Steuerspeicherbits 8 und 12 gebildet (das heißt, "00" wählt die Signale CRMAD010 bis CRMAD310, während
"11" die Signale CRNAB610 bis CRNAB910 auswählt). Die Verschiebungsausgangswerte
DO bis D3 der Schaltungen 40-722a bis 40-722d werden den DO- bis D3-Anschlüssen jeder der
Verschiebungsmatrizen 40-7Oa bis 40-7Od zugeführt.
Wie aus Fig. 4b zu ersehen ist, besitzt die Detektorschaltung 40-86 für die führenden Nullen ein Paar Prioritätscodierschaltungen
40-860 und 40-862, vier Normierungs-Flip-Flops 40-864 bis 40-870, ein Null-Flip-Flop 40-872 und eine Mehrzahl
von AND-Gattern 40-874, 40-876 und 40-878. Zusätzlich sind erfindungsgemäß ein Paar OR-Gatter 40-880 und 40-882
angeschlossen, um wahlweise Ausgangssignale anzulegen, die
909829/0882
ORlGfNAL INSPECTED
durch die Exponentchips 40-830 und 40-832 in Übereinstimmung mit dem Zustand des Steuerspeichersignals CRSPLT10 erzeugt
werden, wie erklärt wurde.
Die in Reihe verbundenen Prioritätscodierschaltungen 40-860 und 40-862 sind so angeschlossen, daß sie die F=0-Ausgangssignale
von jedem der Chips 40-8-2 bis 40-832 empfangen. Wie hier erklärt wurde, bringt jedes Chip das F=O-Ausgangssignal
auf eine binäre Eins, um das Erfassen eines Nullstellen-Ausgangsergebnisses anzuzeigen. Die Prioritätscodierschaltungen
40-860 und 40-862 konvertieren die 16 F=0-Ausgangssignale in eine Verschiebungszählung, die die Anzahl der führenden
Nullstellen in der Mantisse angibt. Die Verschiebungszählung wird in den Flip-Flops 40-864 bis 40-870 gespeichert.
Insbesondere wirde jede Codierschaltung aus den ICs SN74148,
hergestellt von der Texas Instruments, Inc., aufgebaut und konvertiert 8 Eingangssignale in einen 3-Bit-Binär-(Oktal-)
Code. Die.oktale Codierung wird durch ein Verbinden des Einschaltausgangs EO der Schaltung 40-860 mit dem Einschalteingang
E1 der Schaltung 40-862 ausgeweitet. Die Ausgänge der Codierschaltungen 40-860 und 40-862 sind mit den AND-Gattern
40-874 bis 40-878 kombiniert, um die Vier-Bit-Verschiebungszählung mit einem Wert von 0 bis 15 zu erzeugen.
Wie aus Fig. 4b zu sehen ist, ermöglicht der Zustand des Steuersignales CRSPLT10 ein Testen der Mantissen-Bits 0 bis
55 oder ein Testen der Bits 0 bis 63 für Nullen. Wenn das Steuersignal CRSPLT10 eine binäre Eins ist, werden die beiden
letzten F=0-Werte binäre Einsen, um anzuzeigen, daß die letzten beiden Stellen Nullen waren. Das bedeutet, wenn die Bits
0 bis 55 alle null sind, ein Nicht-gleich-null-Signal MR64E000
zu binär null schaltet, was den Null-Flip-Flop .40-872 veranlaßt, auf eine binäre Null zu schalten. Das Ausgangssignal
MR640F00 vom Flip-Flop 40-872 wird als Testeingang an die Testlogikschaltungen des Blocks 40-66 gelegt.
90982 9/0662
f ORiGiNAL TNSPECTED
Wenn jedoch das Steuersignal CRSPLT10 eine binäre Null ist,
werden die F=O-Signale von den Exponent-Chips 40-830 und 40-832 als Eingänge für die beiden letzten Stellen an die
Codierschaltung 40-862 gelegt.
Die Exponentdifferenz-Detektorschaltung 40-88 besitzt eine ALU Punktionsgeneratorschaltung 40-888, die aus einer
74S381-Schaltung, hergestellt durch die Texas Instruments, Inc., aufgebaut ist, sowie vier Equalisations- oder Abgleich-Flip-Flops
40-890 bis 40-896. Die Erzeugungsschaltung 40-883 konvertiert die Signale, die an den B-Eingangsanschlüssen
anliegen und repräsentativ für eine positive oder negative Exponentdifferenz sind, zu einem absoluten Wert.
Der erzeugte Verschiebungszahlwert wird in den Ausgleich-Flip-Flops
40-890 bis 40-896 gespeichert und gibt an, um wieviele Verschiebungen nach rechts der Mantissenwert, der einen
kleinen Exponenten besitzt, verschoben werden muß, um den Exponentenwert den beiden Operanden, die addiert oder subtrahiert
werden, anzupassen. Im einzelnen wird ein Übertragssignal ERCOUT10 auf binär Null während der Subtraktion der
Exponentenwerte gesetzt, wenn zwischen ihnen eine negative Differenz besteht. Dies konditioniert die ALU Erzeugungsschaltung 40-888 zur Subtraktion der Exponentdifferenzsxgnale
von den an den A-Eingangsanschlüssen angelegten Nullsignalen.
Wie aus Fig. 3 zu ersehen ist, besitzt die Schaltung 40-72 eine read only memory (ROM) 40-720 Funktions/Konstanten-ErZeugungsschaltung,
die zur Erleichterung der Erklärung so dargestellt ist, daß sie direkt mit den Verschiebungsschaltungen
verbunden ist. Signale vom Steuerspeicher 40-60 werden an die Eingangsschaltungen der ROM-Schaltung 40-720 gelegt.
Die Schaltung 40-720, die auf herkömmliche Weise ausgelegt ist, erzeugt eine Konstante, die repräsentativ für eine Verschiebungszählrate
ist, die spezifiziert, wieviele Stellenverschiebungen (Mantissenstellen) durch die Verschiebungseinheit 40-70 durchgeführt werden müssen. Somit arbeitet die
909829/0662
ORIGINAL INSPECTED
ff
ROM-Schaltung 40-720 auch zur Konvertierung der Signalsätze, die an ihren Eingangsschaltungen angelegt sind, zu einer
Verschiebungs zählrate.
Das Mikroprozessor-Chip nach den Figuren 5 und 6, das verwendet wird, um die Mikroprozessor-Abschnitte in den Figuren
2 und 3 aufzubauen, wird nun im einzelnen besprochen. Zuerst wird Bezug auf Fig. 5 genommen, in der zu sehen ist, daß
jedes Chip 38. Anschlüsse besitzt, zu denen die Anschlüsse einer Versorgungsspannung (Anschluß OE) und ein Takteingang
Anschluß CP) gehören. Die Anschlüsse DO bis D3 sind angeschlossen,
um Datensignale von dem Ausgangsbus zu empfangen. Die Anschlüsse P und G liefern Ausgangssignale zu einer der
Stufen der Übertragsvorbereitungsschaltungen. Der Übertrag-Ein-(CN)Anschluß
empfängt ein Eingangssignal von derartigen Vorbereitungsschaltungen, wie bereits erwähnt. Ein weiterer
Übertragsausgangsanschluß (CN + 4) wird verwendet, um einen Übertragsausgang für den Fall einer Subtraktion zu schaffen.
Der Verschiebung-Aus/Verschiebung-Ein-(RFO)Anschluß empfängt
ein Eingangssignal von dem Verschiebungs-Aus-ZVerschiebungs-Ein- (RF-,) Anschluß eines vorhergehenden Chips. Der Verschiebung-Q-Aus-ZVerschiebung-Q-Ein-(QO)Anschluß
empfängt ein Eingangssignal von dem Verschiebungs-Aus-ZVerschiebungs-Ein-(Q3)Anschluß
eines vorhergehenden Chips. Der Funktionssignal-0-Anschluß
(F=O) sorgt für das Erfassen eines Null-Ergebnisses. Der Überlauf- oder Overflow-(OVF) Anschluß und
der Ausgangsanschluß für das signifikanteste Bit (FO) liefern zusätzliche Anzeigen, die nicht im Zusammenhang mit der vorliegenden
Erfindung stehen.
Die Anschlüsse YO bis Y3 sind so angeschlossen, daß sie Ausgangssignale
für die Verschiebungsmatrix-Chips bilden, während die Anschlüsse 10 bis 18 so angeschlossen sind, daß sie
Steuersignale empfangen, die von den SteuerSpeicher-Mikrobefehls
feldern MS, MF und MD oder ES, EF und ED in Fig. für die Mantissenstellen oder Exponentstellen erhalten. Die
909829/0662
ORIGINAL INSPECTED
Anschlüsse AO bis A3 und BO bis B3 sind, wie oben erwähnt,
so angeschlossen, daß sie die Α-Wahl- und B-Wahl-Adreßsignale von den Schaltungen in Block 40-84 empfangen.
Es wird jetzt Bezug auf Fig. 6 genommen, aus der zu entnehmen ist, daß jedes Chip, das durch das Chiß 2 repräsentiert wird,
ein 16-Wort-durch-4-Bit-RAM 40-918 und eine schnelle ALU
40-902 besitzt. Unter der Steuerung der 4-Bit-Adresse, die den Anschlüssen AO bis A3 angelegt wird, werden die Inhalte
jeder der 16 Wortstellen zu einem Satz von A Anschlüssen ausgelesen. Gleichermaßen werden unter der Steuerung der
4-Bit-Adresse, die den Anschlüssen BO bis B3 angelegt wird, die Inhalte jeder der gleichen 16 Wortstellen zu einem Satz
von B Anschlüssen ausgelesen.
Wenn sie durch ein Signal angesteuert werden, das einem RAMEN-Eingang
durch die ALU-Bestimmungsdecodierschaltungen des Blocks 40-926 zugeführt wird, werden neue Datensignale, die
über eine Drei-Eingangs-Multiplexerschaltung 40-92 0 zugeführt
werden, in die Wortstellen geschrieben, die durch die B-Wahl-Adreßsignale
definiert werden. Wie aus Fig. 6 zu sehen ist, sind die Eingänge der Dreifach-Eingangs-Multiplexerschaltung
40-920 so angeschlossen, daß sie es ermöglichen, daß die Eingangssignale von den ALU 40-920-Ausgangsanschlüssen FO bis
F4 nach rechts um eine Bitstelle, nach links um eine Bitstelle oder in keine Richtung unter der Steuerung der Schaltungen
des Blocks 40-926 verschoben werden, bevor sie in die bezeichnete Speicherstelle geschrieben werden.
Die A-Ausgangsanschlüsse und die B-Ausgangsanschlüsse sind mit
einem Satz von A-Latch-Gliedern bzw. einem Satz von B-Latch-Gliedern
verbunden. Diese Latch-Glieder speichern die Signale, die ihnen übertragen worden sind, während des Intervalls, in
dem das Signal, das an dem Takteingang CP liegt, eine binäre Null ist. Dies schließt die Möglichkeit eines Verlorengehens
aus, das auftreten kann während des Intervalls, in dem neue
909829/0682
ORIGINAL INSPECTED
So
Daten in den RAM 40-918 geschrieben werden. Wie erwähnt, ist die ALU, die durch die Signale konditioniert wird, die an
die Anschlüsse 13 bis 15, decodiert durch die Schaltungen
des Blocks 40-906, angelegt werden, in der Lage, irgendeine der drei binären arithmetischen oder fünf logischen Operationen
durchzuführen, wenn die zwei 4-Bit-Eingangssignale an die R-Operanden oder S-Operanden Eingangsanschlüsse angelegt
werden.
Die R-Operanden-Eingangsanschlüsse empfangen Signale direkt
von den Anschlüssen DO bis D3 oder von den A-Latch-Gliedern 40-916 über eine Zwei-Eingangs-Multiplexerschaltung 40-908,
wie es in Fig. 5 dargestellt ist.
Die S.Operanden-Eingangsanschlüsse empfangen Signale von den
A-Latch-Gliedern 40-916, den B-Latch-Gliedern 40-914 oder von dem Q-Register 40-92 2 über eine Drei-Eingangs-Multiplexerschaltung
40-910. Die Multiplexer 40-908 und 40-910 stehen unter der Steuerung der Signale, die an den Anschlüssen 10
bis 12 anliegen, die durch die Operandendecodierungs-Schaltungen des Blocks 40-912 decodiert sind. Die Anschlüsse
DO bis D3 werden verwendet, um Datensignale in die Arbeitsregister des Chips zu laden und die Inhalte der RAM-Speicherstellen
zu modifizieren. Das Q-Register 40-922 ist ein 4-Bit-Register, das, wie bereits erwähnt, verwendet wird, um
die Multipliziereinheit während Multiplikations-Operationen zu speichern.
Die ALU Ausgangssignale, die an den Anschlüssen FO bis F3 anstehen,
werden dem einen Eingang eines Zwei-Eingang-Ausgang-Multiplexers zu einem Eingang des Drei-Eingangs-Multiplexers
40-920 und zu einem Eingang eines Drei-Eingangs-Multiplexers 40-924, der dem Q-Register 40-922 zugeordnet ist, angelegt.
Die tatsächliche Bestimmung (das heißt Datenausgang am Anschluß YO bis" Y3, Eingang zum RAM 40-918 oder Q-Register
40-922) wird durch die Signale ausgewählt, die an den Anschlüssen 16 bis 18 anliegen, die durch die Schaltungen des
Blocks 40-926 decodiert sind.
909819/0662
ORiGtNAL INSPECTED
Wie aus Fig. 6 ersehen werden kann, wird die Multiplizierschaltung
40-904 verwendet, um Signale auszuwählen, die aus dem Α-Anschluß des RAM 40-918 ausgelesen sind, oder Signale
von den Ausgangsanschlüssen FO bis F4 der ALU 40-902. Die Auswahl geschieht unter der Steuerung der Signale, die an
die Anschlüsse 16 bis 18 angelegt sind, wie oben erwähnt.
Die Multiplexer-Schaltung 40-920 liefert Eingänge von drei Quellen einschließlich der ALU 40-902.
Dadurch wird es den ALU Ausgängen ermöglicht, unverschoben, nach rechts um eine Stelle verschoben (das heißt dividiert
durch 2) oder nach links um eine Stelle verschoben (das heißt x2) gespeichert zu werden. Es dürfte einleuchten, daß
die Verschiebungsschaltungen Anschlüsse RFO bis RF3 besitzen, die die Pufferansteuerungsschaltungen 40-934 bzw. 40-946 verbindenBei
Verschiebung nach links wird die Ansteuerungsschaltung 40-934 versorgt und der RFO-Multiplexer-Eingang
angesteuert. Bei einer Verschiebung nach rechts wird die Ansteuerungsschaltung 40-936 versorgt und der RF3-Muitiplexer-Eingang
angesteuert. Falls keine Verschiebung stattfindet, werden weder die Ansteuerungsschaltung 40-934 noch die
Schaltung 40-936 versorgt und die oben erwähnten Mutiplexer-Eingänge nicht ausgewählt. Die Auswahl der Operationen findet
unter der Steuerung der an den Anschlüssen 16 bis 18 angelegt
ten Signale statt.
Gleichermaßen wird das Q-Register 40-922 ebenfalls mit der Drei-Eingangs-Multiplizierschaltung 40-924 verbunden, die
ebenfalls Schiebeschaltungen besitzt. Dies ermöglicht es, daß die ALU Ausgangssignale unverschoben, nach rechts um eine
Stelle verschoben (das heißt x2) oder nach links um eine Stelle verschoben (das heißt dividiert durch 2) gespeichert
werden. Die Verschiebeschaltungen besitzen Anschlüsse QO und Q3, die mit den Pufferansteuerungsschaltungen 40-932, bzw.
40-930 verbunden sind. Bei Verschiebung nach links wird die Pufferschaltung 40-932 angesteuert und der Q0-Multiplexer-Eingang
versorgt. Bei Verschiebung nach rechts wird die
909829/0662
Pufferschaltung 40-930 angesteuert und der Q3-Multiplexer-Eingang
versorgt. Findet keine Verschiebung statt, werden weder die Pufferschaltung 40-932 noch die Schaltung 40-930
angesteuert und die oben erwähnten Multiplexer-Eingänge werden nicht gewählt. Wiederum werden die Verschiebungsoperationen unter der Steuerung der Signale gewählt, die
an den Anschlüssen 16 bis 13 liegen. Datensignale werden in
das Q-Register 40-922 unter der Steuerung der Signale getaktet, die an dem Taktexngangsanschluß CP liegen.
Fig. 6 stellt auch die Art und Weise dar, in der die Ausgangsanschlüsse
YO bis Y3 des zweiten Chips mit einem anderen der Eingangsanschlüsse jeder der Vielfachpositions-Verschiebungsschaltungschips
40-7Oa bis 40-7Oe über den Eingangsbus verbunden sind. Zusätzlich zeigt Fig. 6 die Verschiebungsschaltungsanschlüsse
von dem Ausgangsbus zu den Dateneingangsanschlüssen DO bis D3 des Chip 2.
Die Taktschaltungen des Blocks 40-9 erzeugen Taktsignale, die den verschiedenen Abschnitten der Fig. 1 zugeführt werden.
Diese Schaltungen können im Rahmen der vorliegenden Erfindung als herkömmlich im Aufbau angesehen werden. Die Schaltungen
40-9 empfangen Eingangssignale von unterschiedlichen Registern
und vom Steuerregister 40-9. Die Signale der Register werden mit den Signalen vom Register 40-9 kombiniert, um die
Rate und den Betrieb der Taktschaltungen 40-9 zu steuern. Beispielsweise verhindert die Abwesenheit der Signale von
unterschiedlichen Registern den Betrieb der Taktschaltungen 40-9.
Unter Bezugnahme auf die Figuren 1 bis 7 und das Flußdiagramm in Fig. 8 wird die Wirkungsweise der vorliegenden Erfindung
nunmehr beschrieben. Vor dem Beispiel ist es wünschenswert, kurz zu diskutieren die Art und Weise, in der Fließkomma-Additionen-
und -Subtraktionen bewirkt werden. Alle Zahlen in hexadezimaler Fließkommanotation besitzen eine Mantisse, die
niedriger als eins ist und einen Exponenten, dessen Teil der
909829/0662
ORIGINAL INSPECTED
Zahl die Größe angibt. Der Bereich der Exponenten geht von +63.. „ bos -64.. 0 in dem vorliegenden System.
Für Zahlen größer als eins wird das hexadezimale Komma nach
links (das heißt dividiert durch 16) geschoben, bis die am weitesten links stehende Stelle 1, die nicht null ist, rechts
des hexadezimalen Kommas liegt. Für Zahlen, die bereits Brüche sind, wird das hexadezimale Komma nach rechts verschoben
(das heißt multipliziert mit 16), bis die erste Stelle, die nicht null ist, angetroffen wird. In einem solchen Fall sind
alle Zahlen Brüche, die größer oder gleich 1/2 sind, jedoch kleiner als 1, sie werden "normiert" genannt. Für zusätzliches
Quellenmaterial, das sich auf Normierungen bezieht, wird Bezug genommen auf das Kapitel 15 des Textes "The Logic of Computer
Arithmetic" von Ivan Flores, veröffentlicht von Prentice-Hall,
Inc., 1963.
Im vorliegenden Beispiel soll angenommen werden, daß die Operation
eine Subtraktion ist mit einem Operandenwert, der in einem wissenschaftlichen Zwischenspeicher 1 (SA1) gespeichert
ist'urid einem Operandenwert, der in einer Speicherstelle gespeichert
ist, die durch die effektive Adresse eines zu verarbeitenden Befehls spezifiziert wird. Der Speicherapparat
soll kurz (das heißt eine Länge von zwei Wörtern) sein und nicht normiert, während der SA1-Operand lang (das heißt eine
Länge von vier Wörtern) und normiert sein soll.
Es wird jetzt Bezug genommen auf das Flußdiagramm in Fig. 8. Diese Figur zeigt die durchgeführten Operationen während
verschiedener Operationszyklen. Die verschiedenen Abkürzungen,
die verwendet werden, und ihre Bedeutung sind folgende:
909829/0662
ORIGINAL INSPECTED
1. S= Vorzeichen (engl. sign);
2. M= Matisse;
3. X= Exponent;
4. T= zwischenzeitliches Register mit Adresse 0;
5. BI = Eingangsbus;
6. BO = Ausgangsbus;
7.(A) = Inhalt der durch die Adresse in Klammern
(das heißt, A) spezifizierte Speicherstelle.
Im Flußdiagramm von Fig. 8 kann erkannt werden, daß der Mikroprozessor-Abschnitt 40-8 der SIP 40 unter der Mikroprogrammsteuerung
die Operationen während eines Operationszyklus1 durchführt, der als % SAD-MEM bezeichnet wird, wobei
ein Mikrobefehlswort in der Stelle 3C4 gespeichert ist und zum Steuerregister 40-62 ausgelesen wird. Dies tritt auf,
nachdem die SIP eine Operandenadresse von der CPU 20, die in das Register 40-42 geladen wurde, empfangen hat. Das heißt,
die Taktschaltungen 40-9 sind abgeschaltet und verhindern die Auslese des nächsten Mikrobefehlswortes von der Stelle 3C4,
bis ein Signal vom Register 40-42 empfangen wird, das anzeigt, daß das Register über den Bus 10 geladen wurde. Zu diesem
Zeitpunkt werden die Schaltungen 40-9 zur Erzeugung weiterer Taktsignale angesteuert, die die Auslese des Mikrobefehlswortes von der Speicherstelle 3C4 veranlassen.
Das ausgelesene Mikrobefehlswort wird codiert, damit das DA-FeId
die Adresse #0 spezifiert, das B-Adreßwahlfeld (BS) direkt spezifiert, das Mantissenquellenfeld (MS) das Q-Register
spezifiziert, die Mantissenfunktion (MF) das AND- und das Mantissenbestimmungsfeld (MD) den RAM-Speicher spezifiziert.
Während dieses Zyklus' wird der erste 56-Bit-Mantissenabschnitt
des Zwischenspeicherplatzes MT durch das DA-FeId adressiert, das über die B-Adreß-Multiplexerschaltungen 4 0-482
angelegt wird. Die Inhalte der Q-Register laufen über AND-Glieder, was als Ergebnis eine Null erzeugt. Dieses Null-
909829/0662
INSPECTED
SS
Ergebnis wird in die ersten 56 Bit-Stellen des Speicherplatzes MT geschrieben, der durch die iMultiplexer-Schaltungen
40-482 adressiert wird. Diese Operation führt dazu, daß alle Nullen in die Mantissenabschnitte der Zwischenspeicherstelle
MT gesetzt werden, die durch die Codierung des DA-Feldes ausgewählt werden. Das nächste Adreß-NA-Feld des
Mikrobefehls konditioniert die Schaltungen 40-64, um die Stelle 041 zu adressieren, wie es aus Fig. 8 entnommen
werden kann.
Während des nächsten Operationszyklus' wird das Mikrobefehlswort, das in Speicherstelle 041 gespeichert ist, in das
Steuerregister 40-62 ausgelesen. Das Busfunktionsfeld (BF) dieses Wortes wird codiert, damit die Bussteuerschaltungen
des Blockes 40-2 eine Speicherleseabfrage auf dem Bus 10 erzeugen, die spezifiziert, der Hauptspeicher 30 ausgelesen
wird und die beiden Operandenwörter, die bei der Adresse gespeichert sind, vorher in das Register 40-42 zu übertragen
zur SIP 40 geladen werden. Im Rahmen der vorliegenden Erfindung kann angenommen werden, daß diese Operation in herkömmlicher
Weise durchgeführt wird.
Wie aus Fig. 8 zu sehen ist, führt das nächste Adressenfeld des Mikrobefehlswortes dazu, daß der Steuerspeicher 40-60
zur Speicherstelle 032 weiterläuft. Bevor jedoch diese Sequenz auftritt, stellen die Taktschaltungen 40-9 ihren
Betrieb ein, bis das erste Operandenwort vom Hauptspeicher in das BD1-Register 40-46 geladen ist. Dann werden die Inhalte
des Mikrobefehlswortes, das in Speicherstelle 032 gespeichert ist, zum Register 40-62 zur Decodierung ausgelesen.
Das Mikrobefehlswort ist auf folgende Weise codiert: Das DA-FeId spezifiziert Adresse 0; die AS-, BS- und MC-Felder
spezifizieren jeweils das DA-FeId als Adreßquelle; die
Exponentquellen- und Mantissenquellenfelder spezifizieren beide die D-Eingänge; die Exponentfunktions- und Mantissenfunktionsfelder
spezifizieren beide OR; das Exponent-
909829/068 2
ORlGfNAL INSPECTED
bestimmungsfeld (ED) spezifiziert eine RAM-Rechtsverschiebung
und das Matrixsteuerfeld (SC) spezifiziert eine Rechtsdrehung. Wie in Fig. 8 angezeigt, ist das Teilungsbitfeld des
Mikrobefehlswortes codiert, um eine "Teilungs"-Operation in Übereinstimmung mit der vorliegenden Erfindung zu spezifizieren
(CRSPLT10 ist eine binäre Eins). Bis hierher spielte es keine Rolle, welchen Wert dieses Feld beinhaltete, da die
Operationstypen, die unter der Mikroprogrammsteuerung durchgeführt wurden, nicht berührt wurden. In solchen Fällen ist
das Teilungssteuerfeld üblicherweise eine binäre Eins.
Jedoch haben in diesem Zyklus die Exponent- und Vorzeichenstellen,
die vom Hauptspeicher 30 empfangen werden, die Form eines 7-Bit-Exponenten und ein Vorzeichen-Bit (das heißt
"XXXX XXXS") und werden in eine Form konvertiert, die einen 8-Bit-Exponenten besitzt und ein 4-Bit-Vorzeichen, die verwendet
wird für arithmetische Operationen durch die SIP 40 (das heißt, OXXX XXXX SOOO) . Dies bedeutet, daß die beiden
Gruppen von Stufen unabhängig voneinander betrieben werden, um ein Verschieben des Vorzeichenbits (S), das nach rechts
um eine Bitstellung verschoben werden soll, zu ermöglichen, und es in die am meisten signifikante Bitstellung des Vorzeichenchips
40-800 zu placieren.
Insbesondere wird die DA-Feldbezeichnungsadresse 0 ausgewählt
als Adresse, die über die A-Adreßmultiplexer- und B-Adreßmultiplexer-Schaltungen
40-480 und 40-482 an die A- und B-Adreßeingänge der Stufen 40-800 bis 40-832 angelegt werden
soll. Dies ermöglicht die Auslese der Inhalte der Speicherstellen MT zum Eingangsbus. Wie aus Fig. 8 zu entnehmen ist,
werden die ersten Wortinhalte des BD1-Registers 40-46 dem Eingangsbus zugeführt; Zu diesem Zeitpunkt werden die Matrixschiebeschaltungen
40-7Oa bis 40-7Od konditioniert, um eine Rechtsdreh-Operation der Nullstellen durchzuführen (das
heißt ein Vorbeilaufenlassen der Daten ohne Verschieben). Die Exponent- und Vorzeichenchips werden konditioniert, um
0 9829/066 2 0R,gWal ,nspected
ST-
eine 1-Bit-Verschiebung durchzuführen, bei der das am wenigsten
signifikante Bit vom Anschluß RF3 des Chips 40-832 in den RFO-Anschluß des Vorzeichenchips 40-800 verschoben wird.
Das Teilungssteuerungsbitsignal CRSPLT10 konditioniert die Multiplexer-Schaltung 40-811 zur Auswahl einer binären Null
als Wert, der in die am meisten signifikante Bitstelle des Exponentenchips 40-830 geschoben werden soll, während die
Multiplexer-Schaltung 40-811 für eine Verschiebung nach rechts
durch das Signal CRED110 (das heißt gesetzt auf eine binäre
Null) angesteuert wird. Zu diesem Zeitpunkt sind die Exponentenchips 40-830 und 40-832 durch das ED-FeId konditioniert,
um eine 1-Bit-RAM-Rechtsverschiebung durchzuführen, während
die Mantissenchips 40-802 bis 40-828 nicht verschoben werden (das heißt die Mantissenquellen-, Mantissenfunktions- und
Mantissenbestimmungsfelder spezifizieren keine Rechtsverschiebung)
.
Das Ergebnis der obigen Operation ist, daß die Exponentstellen (Bits 0 bis 7) die vom Hauptspeicher 30 empfangen wurden und
in dem BDI-Register 40-46 gespeichert wurden, in die Exponentchips 40-830 und 40-832 in dem korrekten Format, wie oben diskutiert
wurde, geladen werden.
Wie aus Fig. 8 zu entnehmen ist, werden in dem gleichen Zyklus gewisse Bits innerhalb des Mode-Registers 40-48 durch das
Testbedingungsfeld (TC) ausgewählt, um einzurichten, ob die Länge des Operanden vom Speicher lang oder kurz ist. Da in
diesem Beispiel die Länge kurz ist, führen die nächsten Adreßschaltungen 40-64 dazu, daß das Mikrobefehlswort, das
in Speicherstelle OCO gespeichert ist, in das Steuerregister 40-62 ausgelesen wird.
Das Mikrobefehlswort ist auf folgende Weise codiert: Das
AS-FeId spezifiziert Register 40-44; das BS-FeId spezifiziert
das DA-FeId, das die Nullen speichert, die Exponentenquelle (ES) spezifiziert die A-B-Latch-Glieder, die Exponentfunktion
909829/0862
ORIGINAL INSPECTED
(EF) spezifiziert ein Subtraktionsergebnis, die Exponentenbestimmung
(ED) spezifiziert das Q-Register, die Mantissenquelle (MS) spezifiziert die A-Latch-Glieder, die Mantissenfunktion
(MF) spezifiziert ADD, das MCIN-FeId spezifiziert keinen Mantissenübertrag, und das ECIN-FeId spezifiziert einen
Exponentenübertrag. Zusätzlich wird das Teilungssteuerbit auf binär Eins gesetzt, da der Mantissenabschnitt zu überprüfen
ist.
Während dieses Zyklus1 werden die Exponentwerte der beiden
Operanden subtrahiert. Das heißt der Exponentabteil des Operanden wird im Zwischenspeicher SA1 gespeichert, wie durch
den Befehl spezifiziert, welcher als gespeichert in dem.
Aufgabenregister 40-44 angenommen werden kann, und der Exponentenabschnitt des Operanden, der vom Hauptspeicher 30
empfangen wurde, wird im Zwischenspeicher 0 gespeichert. Der Grund ist, um die Größe der Angleichungsverschiebung zu
bestimmen, falls eine erforderlich ist.
Die A-Adreßmultiplexerschaltungen 40-480 werden durch das
AS-FeId konditioniert, um den Exponentchipstufen die Adressen
innerhalb des ursprünglichen Befehls zuzuführen, während die B-Adreßmultiplexerschaltungen 40-482 konditioniert werden, um
die Null-Adresse vom DA-FeId abzulegen. Die Exponentchipstufen werden durch das EF-FeId konditioniert, um eine Subtraktion
mit einem Übertrag durchzuführen, während zugleich die Mantissenchipstufen konditioniert werden, um eine Addition
ohne Übertrag zu bewirken.
Erfindungsgemäß arbeitet das Teilungssteuerbis so, daß es die Übertragssignale, die durch die Mantissen- und Exponentchipstufen
erzeugt werden, getrennt hält. Das heißt, es verhindert, daß das Ergebnis, das durch die Mantissenchipstufen
erzeugt wird, durch irgendwelche Überträge, die durch die Exponentchipstufen erzeugt werden, beeinträchtigt wird, und
umgekehrt.
909829/0662
ORIGINAL INSPECTED
Das kann aus der Fig. 4b entnommen werden. Das heißt, das Exponenten-Carry-in- oder Übertragssignal CRECIN10 ist eine
binäre Eins, das Mantissen-Carry-in-Signal CRMCIN10 ist eine binäre Null, während das Teilungsbitsignal CRSPLT10
eine binäre Eins ist. Das Signal'CRSPLT10 verhindert irgendwelche
Übertragsfortpflanzung von den vorherigen Stufen (das heißt der Anschluß P ist eine binäre Eins, was anzeigt,
daß kein Übertrag fortgeführt wurde). Da das Signal CRMCIN10 eine binäre Null ist, wird kein Übertrag erzeugt, und das
Carry-in-Signal CIND10 wird auf binär null gesetzt. Die restlichen
Überträge werden üblicherweise erzeugt (das heißt CINE10 während einer Subtraktion ist eine binäre Null).
Wie aus Fig. 8 entnommen werden kann, wird während dieses Zyklus1 die Exponentendifferenz, die dem Eingangsbus (das
heißt BIMS60-BIMS63) zugeführt wird, in einen absoluten Wert durch die Funktionsgeneratorschaltung 40-888 konvertiert.
Dieser Wert (XF) wird in die Flip-Flops 40-890 bis 40-896 in Fig. 4b geladen und dem Eingangsbus zugeführt.
Der Vorzeichenstelle des in dem SA1 gespeicherten Operanden wird das Komplement der Vorzeichenstelle des in der Zwischenspeicherstelle
0 (das heißt ST) gespeicherten Operanden hinzugefügt. Das Ergebnis wird in dem Q-Register der Vorzeichenchipstufe
40-800 gespeichert. Da angenommen wird, daß die Vorzeichen beide gleich sind (beide positiv), ist der
Q-Bit-Null-Registerwert Eins.
Zusätzlich wird die am meisten signifikante Stelle des Mantissenabschnittes
des Operanden, der von dem Hauptspeicher empfangen wird und über die B-Latch-Glieder dem Chip ALU zugeführt
wird, während dieses Zyklus auf den Wert null getestet. Falls er null ist, enthält der Mantissenabschnitt des Speicher-Operanden
eine oder mehrere führende Nullen und muß normiert werden. Da dieser Operand nicht normiert ist, ist der F=O-Ausgang
des Chips 40-802, der zu der Testlogikschaltung 4 0-66 geführt wird, eine binäre Eins. Das Testzustandsfeld
(TC) und das Zweigmaskenfeld (BM) des Mikrobefehlswortes
909829/0662
ORIGINAL INSPECTED
wird codiert, um das F=O-Ausgangssignal zur Verzweigung zur
nächsten Speicherstelle auszuwählen.
Wie aus Fig. 8 entnommen werden kann, führen die nächsten Adressenschaltungen 40-64 dazu, daß der Steuerspeicher 40-60
das Mikrobefehlswort von der Speicherstelle 033 ausliest. Dieses Mikrobefehlswort ist wie folgt codiert: AS, BS und
MC-Felder, von denen jedes so codiert ist, daß es das DA-FeId als eine Adreßquelle auswählt, die Mantissenquelle
(MS) spezifiziert die D-Eingänge, die Mantissenfunktion (MF) spezifiziert OR, das Mantissenbestimmungsfeld (MD) spezifiziert
RAM, und das Matrixsteuerungsfeld (SC) spezifiziert eine Rechtsdrehung. Zusätzlich wird das Teilungsbitfeld
codiert, um zu spezifizieren, daß die Gruppen von Stufen geteilt sind.
Wie aus Fig. 8 ersehen werden kann, wird, bevor das Mikrobefehlswort
decodiert werden kann, der Betrieb der Taktschaltungen
40-9 eingestellt, bis das zweite Operandenwort vom Hauptspeicher 30 erhalten wurde. Als Ergebnis obiger Operationen
enthält die Speicherstelle MT die ersten acht signifikantesten Bits der Mantisse, wobei die vorderste Stelle den
Wert null besitzt.
Die 32 Null-Bits, die vorher an der Speicherstelle 0 erzeugt
wurden (das heißt durch obige Operation ungeändert), werden zusammen mit dem Inhalt der BD1-Register 40-46, die noch das
erste Wort des Speicheroperanden enthalten, und dem BD2-Register 40-47, das das zweite enthält, dem Eingangsbus, wie in
Fig. 8 dargestellt, zugeführt. Diese Bits werden durch die Schiebeschaltungen 40-7Oa bis 40-7Od zum Ausgangsbus ohne
Abänderung geführt (das heißt, gedreht durch 0 MC = 0). Von dort aus wird der gesamte 24-Bit-Mantissenabschnitt des
SpeicherOperanden und die 32 Null-Bits in die Speicherstelle
(MT), die durch den Null-Adressenwert, der in dem DA-FeId enthalten ist, spezifiziert werden, eingeschrieben.
909829/0662
ORIGINAL INSPECTED
Während dieses Zyklus1 arbeitet die Detektorschaltung 40-82
für die vorderen Nullen in Fig. 4b, um den 56-Bit- oder
14-Stellen-Mantissenwert zu überprüfen, um zu bestimmen, ob
alle Nullen enthalten. Erfindungsgemäß setzt das Teilungssteuerbit
die beiden letzten Stellen (Exponentenstellen) auf Null. Dies ermöglicht den Test von nur 14 Stellen der Mantisse.
Das Ergebnis eines derartigen Tests wird in dem Null-Flip-Flop 40-872 zum nachfolgenden Testen gespeichert. Da
angenommen wurde, daß die Mantisse nicht nur Nullen enthält, wird das Flip-Flop 40-872 auf eine binäre Eins gesetzt.
Wie aus Fig. 8 entnommen werden kann, werden die Ausgangssignale, die durch die Codierschaltungen 40-860 und 40-862
erzeugt werden und die die Anzahl der führenden Nullen, die in der 14-Stellen-Mantisse enthalten sind, anzeigen, in die
Normierungs-Flip-Flops 40-864 bis 40-870 geladen. Die Schaltungen 40-64 werden durch das nächste Adressenfeld des
Mikrobefehlswortes konditioniert, damit der Steuerspeicher 40-60 die Speicherstelle 006 adressiert.
Während dieses Zyklus1 wird das Mikrobefehlswort, das zum
Steuerregister 40-62 ausgelesen wurde, wie folgt codiert: Die AS- und BS-Felder spezifizieren beide das DA-FeId als
eine Adreßquelle, das MC-Feld spezifiziert die NORM-Flip-Flops
als Quelle, das ES-FeId spezifiziert die D-Eingänge-A-Latch-Glieder,
das EF-FeId spezifiziert das Subraktionsergebnis, das ECIN-FeId spezifiziert einen Übertrag, das
ED-FeId den RAM-Y, das MS-FeId die D-Eingänge, das MF-FeId
spezifiziert OR, das MD-Feld spezifiziert den RAM und das SC-FeId eine Verschiebung nach links .
Die 56-Bit-Mantisse, die im Speicher 0 gespeichert ist, wie
durch das Null-codierte DA-FeId spezifiziert, wird zum Eingangsbus
ausgelesen. Die letzten beiden signifikanten Stellen (Exponent) werden auf Null durch das allgemeine Steuerfeld
(GP) des Mikrobefehlswortes gesetzt. Das heißt, die
909829/0662
ORIGINAL INSPECTED
Tristate- oder Dreifach-Eingangsanschlüsse der beiden Exponentchips
werden auf binäre Eins gesetzt, während eine Gesamt-Null-Konstante, die durch ein ROM-Chip, das ähnlich der
Schaltung 40-720 ist, erzeugt wird und dem Eingangsbus zugeführt wird. Als nächstes wird die Verschiebungszählrate, die
in den NORM-Flip-Flops 40-864 bis 40-870 gespeichert ist, DO- bis D3-Eingängen der Schiebeschaltungen 40-7Oa bis 40-7Od
über die Multiplexer-Schaltungen 40-722a bis 40-722d zugeführt.
Die 56-Bit-Mantisse wird nach links um die Anzahl der Stellen verschoben, die durch die Verschiebungszählung angegeben
wird, und das Ergebnis, das zum Ausgangsbus geführt ist, wird zurück in die Speicherstelle 0 (MT) geschrieben. Auch während
dieses Zyklus1 wird die Zählrate, die in den NORM-Flip-Flops
40-864 bis 40-870 gespeichert ist, vom Exponentenwert, der in der Speicherstelle 0 gespeichert ist, subtrahiert.
Es ist festzuhalten, daß, während der Zustand des Teilungssteuerbits
binär Eins ist, dieses jedoch für diesen Zyklus nicht wesentlich ist. Der Grund dafür ist, daß ein übertrag
von dem Exponentenchip in die Mantissenchips das Ergebnis nicht beeinträchtigt, da die Chips so eingestellt sind, daß
sie zu diesem Zeitpunkt eine OR-Operation durchführen. Während des letzten Zyklusteils konditionieren das Testbedingungsfeld
(TC) und das Zweigmaskenfeld (BM) des Mikrobefehlswortes die Schaltungen 40-66, um den Zustand des Null-Flip-Flops
40-872 zu testen. Da die Mantissenbits nicht alle Null waren, liest der Steuerspeicher 4 0-60 das in der Speicherstelle
0C9 gespeicherte Mikrobefehlswort aus.
Das in der Speicherstelle 0C9 gespeicherte Mikrowort ist wie folgt codiert: Das AS-FeId spezifiziert das Register 40-44
als Adreßquelle (SA1), das BS-FeId das DA-FeId, das nur
Nullen enthält, das ES-FeId die A- und B-Latch-Glieder, das
EF-FeId das Subtraktionsergebnis, das ECIN-FeId einen Übertrag,
das ED-FeId das Q-Register, das MS-FeId die A-Latch-Glieder,
das MF-FeId eine Addition, und das MCIN-FeId keinen
909829/0682
ORIGINAL INSPECTED
Übertrag. Während dieses Zyklus1 wird der Exponentteil des
SpeicherOperanden, der in der Speicherstelle 0 gespeichert
ist und durch die DA-Feldadresse ausgewählt wird, von dem
Exponententeil des Operanden, der in SA1 gespeichert ist, und durch die Signale im Aufgabehregister 40-44 ausgewählt
wird, subtrahiert. Das Ergebnis dieser Subtraktion wird in dem Q-Register der Exponentchipstufen 40-830 und 40-832
gespeichert. Das Teilungssteuerbit ist für das Ausmaß des Trennens der Überträge wichtig und deshalb binär Eins (das
heißt es verhindert übertrag in das Vorzeichenchip).
Wie aus Fig. 8 zu ersehen, werden Signale, die repräsentativ für die Exponentendifferenz sind, in einen absoluten Wert
durch die Funktionsgeneratorschaltung 40-888 konvertiert und in den EQUIZ-Flip-Flops 40-89 0 bis 40-896 gespeichert.
Der Vorzeichenstellenwert des Operanden, der in SA1 gespeichert ist, wird ebenfalls ohne einen Übertrag zu dem Komplement
des Vorzeichenwertes des Speicheroperanden, der in der Speicherstelle 0 gespeichert ist, hinzugefügt, um zu bestimmen,
ob die Vorzeichen gleich sind. Da sie es sind, ist das Ergebnis, das in dem Q-Registerbit 0 der Vorzexchenchipstufe
40-800 gespeichert wird, eine Eins.
Während des letzten Zyklusteils bilden die Testlogikschaltungen 40-66 unter der Steuerung der TC- und BM-Felder das
nächste Mikrobefehlswort, das von dem Steuerspeicher 40-60 auszulesen ist. Da die durchgeführte Operation eine Subtraktion
ist und die Vorzeichen beider Operanden gleich sind, tritt der Steuerspeicher 40-60 als nächstes in eine Subtraktionsroutine
ein. Da jedoch die Exponentendifferenz nicht Null ist, veranlaßt die nächste Adressenschaltung 40-64 den
Steuerspeicher 40-60, das Mikrobefehlswort, das in der Speicherstelle 102 gespeichert ist, auszulesen.
Das Mikrobefehlswort ist wie folgt codiert: Die AS- und BS-Felder spezifizieren beide die Aufgabenregister 40-44 als
Adreßquelle, das MC-Feld spezifiziert die EQUIZ-Flip-Flops
909829/0662
ORlGfNAL INSPECTED
als Quelle, das ES-FeId die D-Eingänge, das EF-FeId spezifiziert
OR, das ED-FeId spezifiziert RAM-Y, das MS-FeId die D-Eingänge, das MF-FeId OR, das MD-Feld RAM und das SC-FeId
eine Verschiebung nsch. rechts.
Während dieses Zyklus1 wird der Mantissenabschnitt des
Operanden, der in SA1 gespeichert ist,und durch die Inhalte
der Register 40-44 spezifiziert ist, über den Eingangsbus ausgelesen und den Schiebeschaltungen 40-7Oa bis 40-7Od zugeführt.
Danach wird der Mantissenanteil nach rechts um die Anzahl der Stellen verschoben, die durch den Wert spezifiziert
wird, der in den EQUIZ-Flip-Flops 40-890 bis 40-896 gespeichert
ist, und zugleich werden führende Nullen anstelle der verschobenen Stellen eingefügt.
Es ist festzuhalten, daß die Mantissenstellen in die Exponentchipstufen
40-830 und 40-832 durch die Schiebeschaltungen 40-7Oa bis 40-7Od geschoben werden. Deshalb hat der Zustand
des TeilungsSteuerungsbits keinen Einfluß auf diese Operation.
Jedoch ist festzuhalten, daß die erfindungsgemäße Anordnung
eine Speicherung innerhalb der zwei zusätzlichen Stellenpositionen ermöglicht, was eine vergrößerte Genauigkeit und
Präzision in der arithmetischen Operation bildet. Das heißt, daß nach dem Verschieben die beiden am wenigsten signifikanten
Stufen Stellenwerte enthalten könnten, die bedeutend zur Erzeugung des endgültigen Resultates sind.
Wie aus Fig. 8 entnommen werden kann, wird der verschobene Mantissenabschnitt, der dem Eingangsbus durch die Schiebeschaltungen
zugeführt wird, zurück in die vollen 64 Bitstellen der Speicherstelle SA1, die durch das Aufgabenregister
40-44 spezifiziert wird, zurückgeschrieben, wodurch die vergrößerte, oben erwähnte Präzision geschaffen wird. Als
nächstes veranlassen die Adreßschaltungen 40-64 den Steuerspeicher 40-60, das in der Speicherstelle 124 eingespeicherte
Mikrobefehlswort auszulesen.
909829/0662
ORIGINAL INSPECTED
Das ausgelesene Mikrobefehlswort ist wie folgt codiert:
Das AS-FeId spezifiziert als Adressenquelle das DA-FeId,
das den Wert 4 enthält, das BS-FeId spezifiziert das Aufgabenregister
40-44 als Adreßquelle, das ES-FeId die A- und B-Latch-Glieder, das EF-FeId ein Exklusiv-OR, und das ED-FeId
spezifiziert RAM-Y. Während dieses Zyklus1 wird die
Vorzeichenstellenchipstufe 40-800 so konditioniert, daß sie das Vorzeichenbit mit Exklusiv-Or verarbeitet, das in der
Speicherstelle SA1 enthalten ist, die durch das Register 4 0-44 mit einer vorher in der Speicherstelle 4 gespeicherten
Konstante spezifiziert ist, die durch das DA-FeId angegeben wird. Dies ergänzt den Vorzeichenstellenwert und setzt ihn in
die geeignete Form. Diese Operation steht jedoch mit der vorliegenden Erfindung nicht in Zusammenhang und wird deshalb
nicht weiter besprochen.
Als nächstes konditionieren die Adreßschaltungen 40-64 den Steuerspeicher 40-60 zur Auslese des Mikrobefehlswortes von
der Speicherstelle OAA. Es ist dieses Mikrobefehlswort, das die 16 Chipstufen konditioniert, um den 64-Bit-Operanden,
der in der Speicherstelle SAl gespeichert ist, von dem 64
BitspeicherOperanden, der in der Speicherstelle 0 (MT) gespeichert
ist, zu subtrahieren.
Das Mikrobefehlswort ist wie folgt codiert: Das AS-FeId
spezifiziert das DA-FeId, das alles Nullen enthält, das BS-FeId das Aufgabenregister 40-44 als Adreßquelle, das
ES-FeId die B-Latch-Glieder, das ES-FeId die Subtraktion,
das ECIN-FeId einen Übertrag, das ED-FeId spezifiziert
RAM-Y, das MS-FeId die A- und B-Latch-Glieder, das MS-FeId
die Subtraktion, das MCIN-FeId einen Übertrag und das MC-Feld
RAM-Y. Erfindungsgemäß wird das Teilungssteuerfeld gesetzt, um eine "verbundene" Operation zu spezifizieren. Das
heißt das Steuersignal CRSPLT 10 ist binär Null.
Wie aus Fig. 4a zu sehen ist, werden, da CRSPLT10 eine binäre
Null ist, die Übertrags- und Fortpflanzungssignale (GP)
909829/0682
ORIGINAL INSPECTED
die durch die Exponentchipstufen erzeugt werden, zu den
Mantissenstufen weitergeführt. Somit liefert die Anordnung die oben erwähnte Präzision bei der Verwendung eines Minimums
von Hardware. Das heißt, wenn die Werte, die in den Mantissen- und Exponentchipstufen gespeichert sind, von den 56 Mantissenbits
und den beiden Null-Exponentenstellen subtrahiert werden, sind diese "Borg"-Signale, die so erzeugt werden, in das endgültige
Ergebnis eingeschlossen. Das Ergebnis der Subtraktion wird zurück in die Speicherstelle SA1 geschrieben.
Während der Subtraktion ist festzuhalten, daß das Ergebnis, das den ALU Einheiten der Chipstufen zugeführt wird, den
Detektor 40-86 für die führenden Nullen ansteuert, um festzustellen, ob irgendwelche führenden Nullen erzeugt wurden.
Da das Steuersignal CRSPLT10 eine binäre Null ist, prüfen die Prioritätscodierschaltungen 40-860 und 40-862 alle 16
Stellen, wodurch sie irgendwelche beliebigen Nullresultate, die durch die Exponentchipstufen 40-830 und 40-832 erzeugt
wurden, einschließen (das heißt Überwachungsgebiet). Der erzeugte Wert wird in den NORM-Flip-Flops 40-864 und 40-870 zur
Verwendung im nächsten Operationszyklus für eine Renormierung des Ergebnisses gespeichert.
Wie aus Fig. 8 entnommen werden kann, werden während des letzten Abschnitts des Zyklus' die Inhalte des Mode-Registers
40-48 überprüft, um festzustellen, ob die Zwischenspeicherlänge lang (das heißt 64 Bits) ist und nicht rund. Da dem im
vorliegenden Falle so ist, führen die Adreßschaltungen dazu, daß der Steuerspeicher 40-60 das Mikrobefehls wort von der*.
Speicherstelle 112 ausliest.
Das ausgelesene Mikrobefehlswort ist wie folgt codiert: Die AS- und BS-Felder spezifizieren beide die Aufgabenregister
4 0-44 als Adreßquelle, das MC-Feld spezifiziert die NORM-Flip-Flops, das ES- und MS-FeId jeweils die D-Eingänge, das
EF- und MF-FeId jeweils ein OR, das ED- und MD-Feld jeweils
RAM und das SC-FeId eine Verschiebung nach links. Da diese
909829/0662
ORIGINAL INSPECTED
Operationen lediglich die Schiebeschaltungen 40-7Oa bis 40-7Od berühren, ist es unnötig, daß das TeilungsSteuerbit
auf binär Eins, wie es ist, gesetzt wird.
Während dieses Zyklus' wird das Ergebnis, das in der Speicherstelle
SA1 gespeichert ist, nach links um die Anzahl der durch die Inhalte der NORM-Flip-Flops spezifizierten Stellen
verschoben, die den DO- bis D3-Eingangsanschlüssen der Schiebeschaltungen 40-7Oa bis 40-7Od zugeführt werden. Das
Verschiebungsergebnis wird danach in die Speicherstelle SA1 geschrieben. Als nächstes läßt die Schaltung 40-64 den
Steuerspeicher 40-60 das Mikrobefehlswort, das in der Steuerspeicherstelle
056 gespeichert ist, auslesen.
Das ausgelesene Mikrobefehlswort ist wie folgt codiert: Das AS-FeId spezifiziert das DA-FeId, das alles Nullen enthält,
das BS-FeId das Aufgabenregister 40-44 als Adreßquelle, das ES-FeId die A- und B-Latch-Glieder, das EF-FeId eine Subtraktion,
das ECIN-FeId einen übertrag und das ED-FeId
spezifiziert RAM-Y. Während dieses Zyklus' subtrahiert die SIP 40 den Exponentwert (#X) von dem Wert, der vorher als
der Exponent des Ergebnisses berechnet wurde. Das heißt, falls eine Nachnormierung durchgeführt wurde, wird der Ergebnisexponent
während dieses Zyklus' durch die angegebene Subtraktion korrigiert. Wiederum ist der Zustand des Steuerspeicherbits
für diese Operation nicht, von Bedeutung,
Wie aus Fig. 8 zu ersehen ist, tritt die SIP 40 in einen $YOUR MOVE-Zyklus, in dem sie der CPU 20 signalisiert, daß
sie die Subtraktionsoperation durchgeführt hat.
Aus dem Vorangegangenen ist zu ersehen, wie die erfindungsgemäße Vorrichtung in der Lage ist, arithmetische Operationen
bei einem Minimum von operativem Aufwand und mit dem erforderlichen Präzisionsgrad durchzuführen.
909829/0662 ■
ORIGINAL INSPECTED
Zusätzlich zur oben beschriebenen Operation kann die vorliegende Erfindung im Zusammenhang mit der in der US-Patentanmeldung
Aktenzeichen 815 891 offenbarten Vorrichtung verwendet werden. Dort sind gewisse Erzeugungen von partiellen
Produkten besprochen, zu denen Ein-Bit-Verschiebungen gehören. Unter Verwendung der vorliegenden Erfindung wird das Teilungssteuerbit
innerhalb des Mikrobefehlsworts, das während eines speziellen Operationszyklus1 ausgelesen wird, zur Spezifizierung
einer "Verbindung" gesetzt. Dies würde die Fortpflanzung der Überträge von den Exponentchipstufen zu den Mantissenchipstufen
während Additions- und Verschiebungsoperationen ermöglichen.
Dadurch, daß die beiden Abschnitte des arithmetischen Teils der vorliegenden Erfindung während jedes beliebigen Operationszyklus1
unter Mikroprogrammsteuerung "geteilt" oder "verbunden" werden können, wird eine Befehlsausführung ermöglicht,
die so wirkungsvoll durchgeführt werden kann, als wenn sie durch zwei getrennte Einheiten durchgeführt würde.
Es dürfte einleuchten, daß die Konvention, die zur Ortsbestimmung der Chipbitstellen in der bevorzugten Ausführung
der vorliegenden Erfindung eine ist, in der die signifikanteste Bitstellung mit "3" (Q3, F3) bezeichnet worden ist. Die
Hersteller von Mikroprozessorchips können unterschiedliche Konventionen zur Beschreibung ihrer Chips verwenden, was zu
Abänderungen der speziellen Anschlußverbindungen führt, wenn sie in der bevorzugten Ausführung miteinander verbunden
werden. Beispielsweise verwendet der Hersteller Advanced Micro Devices Inc. eine Konvention, die entgegengesetzt zu
der in Verbindung mit der bevorzugten Ausführungsform beschriebenen
ist. Somit wären die QO, Q3 und FO, F3-Anschlüsse miteinander zu vertauschen, wenn derartige Chips in der vorliegenden
Erfindung verwendet werden.
Es dürfte dem Fachmann einleuchten, daß viele Änderungen in der bevorzugten Ausführungsform der vorliegenden Erfindung
909829/0882
ORIGINAL fNSPECTED
gemacht werden können. Beispielsweise kann der Mikroprozessor der vorliegenden Erfindung mit anderen Chips, beispielsweise
dem AMD2901A, ebenfalls hergestellt von der Advanced Micro Devices, Inc., und der MMI6701, hergestellt durch die Monolithic
Memories, Inc., ausgetauscht werden. Es dürfte auch einleuchten, daß derartige Chips unter Verwendung unterschiedlicher
Technologien, CML, I2L usw., hergestellt werden können.
Um ein unbilliges Eingrenzen der Beschreibung innerhalb des Rahmens eines Durchschnittsfachmanns zu verhindern, wurde ein
Blockdiagramm angehängt mit einer detaillierten funktionellen Beschreibung jedes Blocks und einer genauen Identifizierung
der Schaltung, die es darstellt. Der jeweilige Fachmann kann wahlweise Elemente und Komponenten wie zum Beispiel Flip-Flops,
Schieberegister etc. aus seiner eigenen Kenntnis oder von üblichen Standardbezugsquellen auswählen, wie zum Beispiel
"Arithmetic Operations in Digital Computers", von R.K. Richards (Van Nostrand Publishing Company), "Computer
Design Fundamentals" von Chu (McGraw-Hill Book Company, Inc.) und "Pulse, Digital and Switiching Waveforms" von Millman
and Taub (McGraw-Hill Book Company, Inc.).
Während hier die beste bekannte Form der Erfindung dargestellt und beschrieben wurde, können in dem oben beschriebenen System
gewisse Änderungen gemacht werden, ohne von dem Rahmen und Gedanken der Erfindung, wie er in den Ansprüchen zum Ausdruck
kommt, abzuweichen,und in manchen Fällen können gewisse Merkmale der Erfindung vorteilhafterweise ohne eine entsprechende
Verwendung anderer Merkmale angewandt werden.
909829/0662
ORIGINAL INSPECTED
Claims (1)
- PatentansprücheMikroprograinmierbare arithmetische Prozeßeinheit zur Durchführung einer arithmetischen Operation mit einem Operandenpaar, gekennzeichnet durch1. einen mikroprogrammierbaren Steuerabschnitt mit1.1 einem adressierbaren Zyklussteuerspeicher mit einer Vielzahl von Speicherstellen zur Speicherung einer entsprechenden Anzahl von Mikrobefehlsworten, von denen jedes ein Steuerfeld besitzt, das codiert ist, um eine körperliche, organisatorische Charakteristik der Einheit anzuzeigen, und1.2 einem Ausgangsregister, das mit dem Steuerspeicher zur Speicherung eines Mikrobefehlswortes verbunden ist, das während eines Operationszyklus1 des Steuerspeichers ausgelesen würde,2. eine Adreßeinrichtung, die mit dem Steuerspeicher verbunden ist, um eine Adresse zur Bezugnahme auf eine der Vielzahl von Speicherstellen während des Operationszyklus zuzuführen,3. eine Arithmetik- und Logikeinheit mit einer Vielzahl von Gruppen von Multibit-Mikroprozessorchips, wobei jede Gruppe "eine vorbestimmte Anzahl dieser Chips besitzt, die so miteinander verbunden sind, daß sie in Tandemanordnung arbeiten und wobei jedes Chip mit dem Ausgangsregister verbunden ist und folgendes aufweist:einen Arithmetik-Logik-Einheitabschnitt und3.1 3.2einen Vielfachbit-adressierbaren Speicher mit wahlfreiem Zugriff. (RAM), der mit der Arithmetik-Logik-Kanzlei: Herrnstraße 15, München 33909829/0662ORIGINAL INSPECTED29U0-324Einheit verbunden ist, wobei jeder Speicherabschnitt eine Vielzahl von Vielfachbitspeicherstellen und einen Vielfachbit-RAM-Schieberegister-Multiplexerabschnitt aufweist, der mit dem RAM-Abschnitt verbunden ist, und4. eine Steuerschaltung, die mit einem vorbestimmten Chip, der innerhalb jeder der Gruppen enthalten ist, verbunden ist, wobei die Steuerschaltung mit dem Ausgangsregister verbunden ist und in Ansprache auf jedes Mikrobefehlswort, das von der Steuerschaltung während jedes Operationszyklus' ausgelesen wird, anspricht, um wahlweise die Chipgruppen zum Betrieb an zwei unabhängige Abschnitte oder an einen einzigen Abschnitt in Übereinstimmung mit der Codierung des Teilungssteuerfeldes zu verbinden, die zur Durchführung der arithmetischen Operation bei dem Paar von Operanden erforderlich ist.2. Verarbeitungseinheit nach Anspruch 2, dadurch gekennzeichnet, daß die Steuerschaltung enthält: eine erste Multiplexerschaltung, die eine Anzahl von Dateneingangsanschlüssen, mindestens einen Wahleingangsanschluß, einen Ansteuerungseingangsanschluß und wenigstens einen Ausgangsanschluß besitzt, eine zweite Multiplexerschaltung, die eine Anzahl von Dateneingangsanschlüssen, einen ersten Dateneingangsanschluß, der mit dem Ausgangsanschluß der ersten Multiplexerschaltung verbunden ist, wenigstens einen Wahleingangsanschluß, einen Ansteuerungseingangsanschluß und wenigstens einen Ausgangsanschluß besitzt, der mit einem ersten Dateneingangsanschluß der ersten Multiplexerschaltung verbunden ist,einen Leiter, der die ersten Dateneingangsanschlüsse der ersten und der zweiten Multiplexerschaltungen jeweils mit dem vorbestimmten Chip innerhalb jeder der Gruppen verbindet , und
eine Vorrichtung zur Verbindung der Wahleingangsanschlüsse§09829/0062ORIGINAL INSPECTED-3- 2300324und der Ansteuerungseingangsanschlüsse mit dem Ausgangsregister, wobei die erste und die zweite Multiplexerschaltung wahlweise zum Betrieb in Ansprache auf jedes Mikrobefehlswort angesteuert werden, das von dem Steuerspeicher während jedes Operationszyklus' ausgelesen wird, um wahlweise jeden der vorbestimmten Chips miteinander zu verbinden, um Signale zwischen den Dateneingangsanschlüssen der ersten und der zweiten Multiplexerschaltung zu übertragen, wie es _zur Durchführung der arithmetischen Operation erforderlich ist.3. Einheit nach Anspruch 2, dadurch gekennzeichnet, daß jedes Operandenpaar einen Mantissenabschnitt und einen Exponentenabschnitt aufweist, jeweils eine Anzahl von binär codierten Stellen besitzt, eine erste der Chipgruppen so angeschlossen ist, daß sie die Stellen des Mantissenabschnitts speichern und verarbeiten und eine zweite der Chipgruppen so angeschlossen ist, daß sie die Stellen des Exponentenabschnittes speichern und verarbeiten, und daß der Ausgangsanschluß der ersten Multiplexer schaltung mit der vorgegebenen einen der ersten Chipgruppe verbunden ist, die den hinteren Stellen des Mantissenabschnitts entspricht und der Ausgangsanschluß des zweiten Multiplexers mit der vorgegebnen einen der zweiten Chipgruppe verbunden ist, die der vordersten Stelle des Exponentenabschnitts entspricht, wobei die erste und die zweite Mutliplexerschaltung wahlweise konditioniert werden, um die Signale zwischen dem hintersten Mantxssenstellenabschnitt und dem vordersten Expoentenstellenabschnitt zu übertragen, um eine vergrößerte Präzision in der Verarbeitung des Operandenpaars zu schaffen, wenn die erste und die zweite Chipgruppe nicht so angeschlossen sind, daß sie einen getrennten Betrieb parallel für die Mantissen- und Exponentenabschnitte durchführen .§09820/06 θ iMMörcUlSDEinheit nach Anspruch 3, dadurch gekennzeichnet, daß zweite Dateneingangsanschlüsse der ersten und der zweiten Multiplexerschaltung jeweils so angeschlossen sind, daß ein binäres Nulldatensignal zugeführt wird zur übertragung zu den Ausgangsanschlüssen der ersten und der zweiten Multiplexerschaltung, und daß die Vorrichtung zur Verbindung einen Leiter zur Zuführung eines Signals, das repräsentativ für die Codierung des Steuerfeldes ist, zu den Wahleingangsanschlüssen aufweist, und eine Schaltung vorhanden ist zur Zuführung von Schiebesteuersignalen, die in Ansprache auf ein weiteres Steuerfeld des Mikrobefehlswortes erzeugt wird, zu den Ansteuerungseingangsanschlüssen, wobei diese Schaltung wahlweise die erste oder die zweite Multiplexerschaltung zur Verschiebung der Inhalte der Mantissen-und der Exponentenstellen in einer Richtung ansteuert, die durch die Codierung des weiteren Steuerfeldes spezifiziert wird.Einheit nach Anspruch 4, dadurch gekennzeichnet, daß das Steuerfeld so codiert ist, daß es ein Teilungsbit besitzt, das, wenn es in einem ersten Zustand codiert ist, spezifiziert, daß die erste und die zweite Gruppe von Chips unabhängig Signale verarbeitet, die den Mantissen- und Exponentenstellenwerten zugeführt werden, als getrennte Operanden, und das Teilungsbit, wenn es in einem zweiten Zustand codiert ist, spezifiziert, daß die ersten und zweiten Gruppen von Chips die Signale, die den Mantissen- und Exponentstellenwerten zugeführt werden, als einen einzigen Operanden verarbeitet.Einheit nach Anspruch 5, dadurch gekennzeichnet, daß der erste Zustand einer binären Eins entspricht und der zweite Zustand einer binären Null, wobei das Teilungsbit jedes Mikrobefehlswortes üblicherweise in eine binäre Eins bei Abwesenheit des Erfordernisses codiert ist, um die erste und die zweite Chipgruppe als eine einzige Einheit zu verarbeiten.909829/0662ORIGINAL INSPECTED7. Einheit nach Anspruch 5, dadurch gekennzeichnet, daß das weitere Steuerfeld zumindest ein Mantissenverschiebebit besitzt und die Schaltung eine Leiterschaltung und eine Inverterschaltung zur Zuführung eines Signals aufweist, das dem Mantissenschiebebit entspricht und eines Signals, das dem Komplement des Mantissenschiebebits entspricht, jeweils zu der zweiten bzw. der ersten Multiplexerschaltung, wobei das Mantissenschiebebit, wenn es in einem ersten Zustand codiert ist, ein Verschieben der Inhalte der Mantissen- und Exponentstellen von rechts nach links durch die erste Multiplexerschaltung spezifiziert und das Mantissenschiebebit, wenn es in einem zweiten Zustand codiert ist, ein Verschieben der Inhalte der Mantissen- und Exponentstellen von links nach rechts durch die zweite Multiplexerschaltung spezifiziert.8. Einheit nach Anspruch 7, dadurch gekennzeichnet, daß das Teilungsbit und das Mantissenschiebebit jeweils, wenn es im ersten Zustand ist, die erste Multiplexerschaltung konditioniert, um eine binäre Null in die hinterste Mantissenstelle zu schieben und das Teilungsbit, wenn es im ersten Zustand ist und das Schiebebit in dem zweiten Zustand ist, den zweiten Multiplexer konditioniert, um ein binäres Nullsignal in die vorderste Exponentstelle zu schieben.9. Einheit nach Anspruch 1, dadurch gekennzeichnet, daß sie weiterhin folgendes aufweist:eine Vielzahl von übertragsvorbereitungschipschaltungen, jeweils mit einer Anzahl von unterschiedlichen Vielfachbit-Mikroprozessorchips aus den Gruppen verbunden, um Ausgangsüberträge und Fortpflanzungssignale, wie erforderlich für eine Vorbereitungsoperation, zu erzeugen, undeine Vorrichtung zur Verbindung einer vorbestimmten Schaltung aus der Vielzahl von Übertragsvorbereitungschipschaltungen mit dem SteuerSpeicherausgangsregister, wobei die Verbindungsvorrichtung so konditioniert ist, daß sie wahlweise es verhindert, daß die vorbestimmte009829/0662ORIGINAL INSPECTED2300324Übertragsvorbereitungschipschaltung das Übertragssignal zwischen der ersten und der zweiten Gruppe von Chips in Übereinstimmung mit der Codierung des Steuerfeldes während des Operationszyklus1 fortpflanzt.10. Einheit nach Anspruch 9, dadurch gekennzeichnet, daß das Steuerfeld codiert ist, um ein Teilungssteuerbit zu besitzen, jedes der Operandenpaar einen Mantissenabschnitt und einen Exponentenabschnitt aufweist, die jeweils eine Anzahl von binär codierten Stellen enthalten, eine erste der Gruppen von Chips so angeschlossen ist, daß sie die Stellen des Mantissenabschnittes speichert und bearbeitet und eine zweite der Gruppen so angeschlossen ist, daß sie die Stellen des Exponentabschnittes speichert und bearbeitet, und daß jedes der Vielfachbit-Mikroprozessorchips einen Übertragseingangsanschluß zur Aufnahme eines Übertragsvorbereitungssignals von einem der Übertragsvorbereitungschips aufweist, jedes Übertragsvorbereitungschip eine Vielzahl von Übertragsfortpflanzungs-Eingangsanschlüssen, eine entsprechende Anzahl von Übertragserzeugungs-Eingangsanschlüssen und eine Vielzahl von Übertragsausgangsanschlüssen besitzt, die mit unterschiedlichen Chips verbunden sind, die Verbindung einen Leiter und Torglieder aufweist, um wahlweise ein Signal, das repräsentativ für das Teilungssteuerungsbit ist, an eine der Vielzahl von übertragsfortpflanzungs-Eingangsanschlüssen und an einen der Übertragserzeugungs-Eingangsanschlüssen des vorbestimmteh Chips anzulegen, wobei das Teilungschip, wenn es in einem ersten Zustand codiert ist, die Anbringung eines übertragseingangssignales zu dem Übertragseingangsanschluß der letzten Mantissenstelle, die von den Überträgen von den Exponentstellen erzeugt werden, zu verhindern.11. Einheit nach Anspruch 10, dadurch gekennzeichnet, daß jedes Mikrobefehlswort weiterhin ein Mantissenübertragsfeld und ein Exponentübertragsfeld aufweist, um ein Mantissenübertragsbit und ein Exponentübertragsbit zu009829/066^'·"·-'■-■>'-·'-·:■ .--VK? ORIGINAL INSPECTEDbesitzen,die Torvorrichtung ein AND-Gatter aufweist, um die Signale zu kombinieren, die dem Teilungsbit und dem Mantissenübertragsbit entsprechen, und jedes der Übertragsvorbereitungschips weiterhin einen Übertragseingangsanschluß aufweist, wobei der Übertragsanschluß des vorbestimmten Übertragsvorberextungschxps so angeschlossen ist, daß er ein Signal empfängt, das dem Exponentübertragsbit entspricht, um ein Übertragsausgangssignal zu erzeugen, das der hintersten Mantissenstellen und der vorderen Exponentstelle in Übereinstimmung mit der Codierung des Teilungssteuerbits zugeführt wird.12. Verarbeitungseinheit nach Anspruch 1, dadurch gekennzeichnet, daß jedes der Vielfachchips eine Vorrichtung zur Erzeugung eines Ausgangssignales an einem F=O-Ausgangsanschluß aufweist, um anzuzeigen, wenn das Ergebnis, das durch das Chip erzeugt wurde, Null entspricht, und weiterhin die Verarbeitungseinheit eine Detektorschaltung für führende Nullen besitzt, die folgendes aufweist:einen ersten Prioritätscodierer mit einer Anzahl von Eingangsanschlüssen, wobei jeder Eingangsanschluß mit dem F=G-Ausgangsanschluß eines unterschiedlichen Chips aus der Anzahl der ersten Gruppe verbunden ist, einen zweiten Prioritätscodierer, der in Reihe mit dem ersten Prioritätscodierer verbunden ist und die gleiche Anzahl von Eingangsanschlüssen hat, wobei eine Gruppe aus der Anzahl von Eingangsanschlüssen jeweils mit dem F=O-Ausgangsanschluß eines unterschiedlichen der restlichen Chips der ersten Gruppe verbunden ist, eine Torvorrichtung, die mit dem Ausgangsregister verbunden ist, den F=O-Ausgangsanschlüssen jedes der Chips aus der zweiten Gruppe und den restlichen aus der Anzahl der Eingangsanschlüsse des zweiten Codierers, und eine erste bistabile Vorrichtung, die mit der zweiten Prioritätsschaltung zur Speicherung eines Nullindikatorsignals verbunden ist, das durch die erste und die zweiteORIGINAL INSPECTEDPrioritätsschaltung erzeugt wird, wobei die Torvorrichtung in Ansprache auf jedes Mikrobefehlswort betrieben wird, um wahlweise die F=O-Ausganganschlüsse der zweiten Chipgruppe als Eingänge der zweiten Prioritätsschaltung zuzuführen, um die Speicherung des Nullindikatorsignals zu ermöglichen, das repräsentativ dafür ist, ob alle Chips der ersten und der zweiten Gruppe oder nur die Chips der ersten Gruppe null Ergebnisse erzeugt haben.13. Verarbeitungseinheit nach Anspruch 12, dadurch gekennzeichnet, daß das Steuerfeld jedes Mikrobefehlswortes ein Teilungssteuerbit aufweist und die Torvorrichtung eine Vielzahl von OR-Gattern besitzt, wobei jedes OR-Gatter so angeschlossen ist, daß es ein Signal empfängt, das dem Teilungssteuerbit entspricht, jede Mehrzahl der OR-Gatter so konditioniert ist durch das Teilungssteuerbit, wenn es in einem ersten Zustand codiert ist, daß ein vorgegebenes Ausgangssignal an einen entsprechenden der restlichen Eingangsanschlüsse der zweiten Codierschaltung angelegt wird, und daß jede Vielzahl von OR-Gattern so konditioniert ist durch das Teilungssteuerbit, wenn es in einem zweiten Zustand codiert ist, daß ein Signal von einem entsprechenden F=O-Ausgangsanschluß der zweiten Gruppe von Chips zugeführt wird.14. Verarbeitungseinheit nach Anspruch 13, dadurch gekennzeichnet, daß der erste Zustand und die vorbestimmten Ausgangssignale jeweils einer binären Eins entsprechen und der zweite Zustand einer binären Null entspricht.15. Verarbeitungseinheit nach Anspruch 13, dadurch gekennzeichnet, daß der. mikroprogrammierte Steuerabschnitt weiterhin eine Testlogikschaltung zur Erzeugung einer Adresse aufweist, die mit der Adressiervorrichtung und dem Ausgangsregister verbunden ist, und daß die Einheit weiterhin eine Vorrichtung zur Verbindung der bistabilen Vorrichtung mit der Testlogik besitzt, die es ermöglicht,909829/0662ORIGINAL INSPECTEDdaß der Nullindikator durch eines der Mikrobefehlswörter, das während eines nachfolgenden Operationszyklus' ausgelesen wird, getestet wird.16. Einheit nach Anspruch 13, dadurch gekennzeichnet, daß jedes der Chips weiterhin folgendes aufweist: eine Gruppe von Dateneingangsanschlüssen, die mit der arithmetischen und logischen Einheit, die zugeordnet ist, verbunden sind, undeine Gruppe von Datenausgangsanschlüssen, die betriebsmäßig mit der zugehörigen arithmetischen und logischen Einheit verbunden sind, wobei der Detektor für die führenden Nullen eine Vielzahl von bistabilen Vorrichtungen besitzt, die mit der ersten und der zweiten Prioritätsschaltung gekoppelt sind, um Schiebezählsignale zu speichern, die durch die erste und die zweite Prioritätscodierungsschaltungen erzeugt worden sind und die die Anzahl der führenden Nullen angeben, und die Einheit weiterhin eine Vielfachstellenverschiebungs-Vorrichtung besitzt, die mit der Vielzahl von bistabilen Vorrichtungen verbunden ist und eine Anzahl von Eingangsanschlüssen aufweist, von denen jeder mit einer unterschiedlichen Datenausgangsanschlußgruppe jedes Chips verbunden ist, weiterhin eine Vielzahl von Ausgangsanschlüssen, wobei jeder Ausgangsanschluß mit einer unterschiedlichen Datenexngangsanschlußgruppe jedes Chips verbunden ist, und schließlich eine Anzahl von Eingangssteueranschlüssen, die so angeschlossen sind, daß sie die Schiebezählsignale empfangen, wobei die Verschiebungseinheiten durch die Verschiebungszählsignale so konditioniert sind, daß sie die Signale verschieben, die durch die erste und die zweite Gruppe von Chips an die Datenausgangsanschlüsse durch die Anzahl der Nullstellen geführt wird, die in allen Chips der ersten und der zweiten Gruppe oder nur in den Chips der ersten Gruppe, je nach Spezifizierung durch die Codierung des Teilungssteuerbits, vorhanden sind.909829/0662ORIGINAL INSPECTED230032417. Mikroprogrammierbare Vorrichtung zur Durchführung einer arithmetischen Operation mit einem Paar von Operanden, wobei jeder Operand einen ersten und einen zweiten Abschnitt aufweist, gekennzeichnet durch einen adressierbaren Zyklussteuerspeicher mit einer Vielzahl von Speicherstellen zur Speicherung einer entsprechenden Anzahl von Mikrobefehlswörtern, von denen jedes eine Anzahl von Steuerfeldern enthält, wobei eines der Steuerfelder ein Teilungssteuerbit aufweist, das codiert ist, um die körperliche Organisation der Vorrichtung während der Durchführung einer arithmetischen Operation mit dem Operandenpaar zu spezifizieren, ein Ausgangsregister, das mit dem Steuerspeicher verbunden ist, um ein Mikrobefehlswort, das während eines Operationszyklus' ausgelesen ist, zu speichern, eine Adreßvorrichtung,die mit dem Steuerspeicher verbunden ist, um eine Adresse zur Auswahl einer der Vielzahl von Speicherstellen während des Operationszyklus' zu liefern,eine erste Anzahl von Vielfachbit-Mikroprozessorchips, die angeschlossen sind, um in Tandemweise für die Erarbeitung von Signalen zu operieren, die dem ersten Abschnitt der Operanden entsprechen, eine zweite Anzahl von Vielfachbit-Mikroprozessorchips, die so angeschlossen sind, daß sie in Tandemweise zur Verarbeitung der Signale operieren, die dem zweiten Abschnitt der Operanden entsprechen, wobei jedes Chip der ersten und der zweiten Anzahl von Chips eine arithmetische und eine logische Einheit aufweist, einen adressierbaren Vielfachbit-Speicher mit wahlfreiem Zugriff, der mit der arithmetischen Logikeinheit verbunden ist, und eine Vielzahl von Vielfachbit-Speicherstellungen besitzt, und ein Vielfachbit-RAM-Schieberegister und einen Multiplexer, und eine Multiplexer-Steuerschaltung, die mit einem vorbestimmten Chip aus der ersten und der zweiten Anzahl von Chips verbunden ist, wobei diese Steuerschaltung mit dem§09829/0662ORIGINAL INSPECTEDAusgangsregister verbunden ist und in Ansprache auf das Teilungssteuerbit jedes Mikrobefehlswortes, das aus dem Steuerspeicher während jedes Operationszyklus1 ausgelesen wird, betrieben wird, um wahlweise die erste und die zweite Anzahl von Chips zur "Verarbeitung des ersten und des zweiten Operandenteils als einzigen Operanden oder als getrennte Operanden in Übereinstimmung mit der Codierung des Teilungssteuerbits zu verbinden.18. Vorrichtung nach Anspruch 17, dadurch gekennzeichnet, daß die Steuerschaltung folgende Teile aufweist: eine erste Multiplexer-Schaltung, die eine Anzahl von Dateneingangsanschlüssen, mindestens einen Wahleingangsanschluß, einen Versorgungseingangsanschluß und zumindest einen Ausgangsanschluß besitzt, eine zweite Multiplexer-Schaltung, die eine Anzahl von Dateneingangsanschlüssen besitzt, von denen ein erster Dateneingangsanschluß mit dem Ausgangsanschluß der ersten Multiplexer-Schaltung verbunden ist, wenigstens einen Wahleingangsanschluß, einen Versorgungs- oder Ansteuerungseingang und zumindest einen Ausgangsanschluß, der mit einem ersten Dateneingangsanschluß der ersten Multiplexer-Schaltung verbunden ist,einen Leiter, der die ersten Dateneingangsanschlüsse der ersten und der zweiten Multiplexer-Schaltungen jeweils mit dem vorausgewählten Chip aus der ersten und zweiten Anzahl von Chips verbindet, und eine Vorrichtung zur Verbindung der Wahleingangsanschlüsse und der Ansteuerungsanschlüsse mit dem Ausgangsregister, wobei die erste und die zweite Multiplexer-Schaltung wahlweise betriebsmäßig in Ansprache auf jedes Mikrobefehlswort, das aus dem Steuerspeicher während jedes Operationszyklus1 ausgelesen wurde, angesteuert werden, um wahlweise jedes vorbestimmte Chip zur Übertragung von Signalen zwischen den Dateneingangsanschlüssen der ersten und der zweiten Multiplexer-Schaltung zu verbinden, wie es zur Durchführung der arithmetischen Operation notwendig ist.909620/0662INSPECTED19. Vorrichtung nach Anspruch 18, dadurch gekennzeichnet, daß die ersten und die zweiten Abschnitte einem Mantissen- und einem Exponentenabschnitt entsprechen, von denen jeder eine Anzahl von binär codierten Stellen besitzt, und der AusgangsanschluS der ersten Multiplexer-Schaltung mit dem vorbestimmten aus der ersten Anzahl von Chips entspricht, der der hintersten Stelle des Mantissenabschnitts entspricht und der Ausgangsanschluß der zweiten Multiplexer-Schaltung mit dem vorbestimmten der zweiten Anzahl von Chips verbindet, der der vordersten Stelle des Exponentenabschnitts entspricht, und die erste und die zweite Multiplexer-Schaltung wahlweise konditioniert werden, um die Signale zwischen der hintersten Mantissenstelle und der vordersten Exponentenstelle zu übertragen, um eine vergrößerte Präzision in der Verarbeitung des Operandenpaares zu schaffen, wenn die erste und die zweite Anzahl von Chips nicht miteinander verbunden sind, um getrennte Operationen parallel mit den Mantissen- und Exponentenabschnitten durchzuführen.20. Vorrichtung nach Anspruch 19, dadurch gekennzeichnet, daß die zweiten Dateneingangsanschlüsse der ersten und der zweiten Multiplexer-Schaltungen jeweils angeschlossen sind, um ein binäres Nulldatensignal zur Übertragung den Ausgangsanschlüssen der ersten und der zweiten Multiplexer-Schaltungen zuzuführen, und die Vorrichtung zur Verbindung einen Leiter zur Anlegung eines Signals, das repräsentativ für die Codierung des Teilungssteuerbits an die Wahleingangsanschlüsse, sowie eine Schaltung aufweist, um Schiebesteuersignale, die in Ansprache auf ein anderes der Vielzahl von Steuerfeldern des Mikrobefehlswortes erzeugt sind, an die Ansteuerungseingangsanschlüsse anzulegen, wobei die Schaltung wahlweise die erste oder die zweite Multiplexer-Schaltung ansteuert, um die Inhalte der Mantissen- und Exponentstellen in eine Richtung zu verschieben, die durch die Codierung des anderen Steuerfeldes bestimmt ist..909329/0662ORIGINAL INSPECTED21. Vorrichtung nach Anspruch 20, dadurch gekennzeichnet, daß das Teilungsbit, wenn es in einem ersten Zustand codiert ist, spezifiziert, daß die erste und die zweite Anzahl von Chips unabhängig Signale als getrennte Operanden verarbeitet, die den Mantissen- und Exponentstellen zugeführt werden, und daß das Teilungsbit, wenn es in einem zweiten Zustand codiert ist, spezifiziert, daß die erste und die zweite Anzahl von Chips die Signale, die den Mantissen- und Exponentstellen zugeführt werden, als einen einzigen Operanden verarbeitet.22. Vorrichtung nach Anspruch 21, dadurch gekennzeichnet, daß der erste Zustand einer binären Eins entspricht und der zweiten Zustand einer binären Null, das Teilungsbit jedes Mikrobefehlswortes üblicherweise in eine binäre Eins codiert ist bei Abwesenheit der Notwendigkeit, die erste und die zweite Anzahl von Chips als eine einzige Einheit zu verarbeiten.23. Vorrichtung nach Anspruch 21, dadurch gekennzeichnet, daß das weitere Steuerfeld zumindest ein Mantxssenschiebebit besitzt, und daß die Schaltung einen Leiter und einen Inverter aufweist, um ein Signal, das dem Mantxssenschiebebit, und ein Signal, das dem Komplement des Mantissenschiebebits entspricht, jeweils an die erste und die zweite Multiplexer-Schaltung zu legen, wobei das Mantissenschiebebit, wenn es in einem ersten Zustand codiert ist, eine Verschiebung der Inhalte der Mantissen- und Exponentstellen von rechts nach links durch die erste Multiplexer-Schaltung spezifiziert und, wenn es in einem zweiten Zustand codiert ist, eine Verschiebung der Inhalte der Mantissen- und Exponentstellen von links nach rechts durch die zweite Multiplexer-Schaltung spezifiziert.24. Vorrichtung nach Anspruch 23, dadurch gekennzeichnet, daß das Teilungsbit und das Mantissenschiebebit jeweils,§09829/06^2ORIGINAL INSPECTEDwenn sie im ersten Zustand sind, die erste Multiplexer-Schaltung konditionieren, um ein binäres Nullsignal in die hinterste Mantissenstelle zu schieben, und das Teilungsbit, wenn es in dem ersten Zustand ist und das Schiebebit in dem zweiten Zustand, die zweite Multiplexer-Schaltung konditionieren, um ein binäres Nullsignal in die vorderste Exponentstelle zu schieben.25. Vorrichtung nach Anspruch 17, weiterhin gekennzeichnet durch eine Vielzahl von Übertragsvorbereitungschip-Schaltungen, von denen jede mit einer Anzahl von unterschiedlichen Vielfachbit-Mikroprozessorchips aus einer ersten und einer zweiten Anzahl verbunden ist, um Ausgangsübertrags- und Fortpflanzungssignale zu erzeugen, wie sie für eine Vorbereitungsoperation erforderlich sind, und eine Vorrichtung zur Verbindung einer vorbestimmten Vorbereitungsübertragschip-Schaltung aus der Vielzahl mit dem Steuerspexcherausgangsregxster, wobei diese Vorrichtung so konditioniert ist, daß sie wahlweise die ausgewählte Vorbereitungsübertragschip-Schaltung daran hindert, die Übertragsfortpflanzungssignale zwischen dem ersten und dem zweiten Chip in Übereinstimmung mit der Anzahl der Codierung des Teilungssteuerbits während des Operationszyklus1 zu hindern.26. Vorrichtung nach Anspruch 25, dadurch gekennzeichnet, daß der erste und der zweite Abschnitt jeweils einem Mantissenabschnitt bzw. einem Exponentenabschnitt entspricht, und jeder Abschnitt eine Anzahl von binär codierten Stellen aufweist, und daß jedes der Vielfachbit-Mikroprozessorchips einen Übertragsanschluß zur Aufnahme eines Übertragsvorbereitungssignals von einem der Übertragsvorbereitungschips aufweist, jedes der Übertragsvorbereitungschips eine Anzahl von Übertragsfortführungs-Eingangsanschlüssen, eine entsprechende Anzahl von Übertragserzeugungs-Eingangsanschlüssen und eine Vielzahl von Übertragsausgangsanschlüssen aufweist,§09823/0662ORIGINAL INSPECTEDdie mit verschiedenen Chips verbunden sind, und die Vorrichtung zur Verbindung einen Leiter und Gatter aufweist, um ein Signal, das repräsentativ für das Teilungssteuerungsbit ist, einem der Vielzahl der Übertragsfortführungs-Eingangsanschlüsse bzw. einem der Übertragserzeugungs-Eingangsanschlüsse des vorbestimmten Chips zugeführt wird, wobei das Teilungsbit, wenn es in einem ersten Zustand codiert ist,die Anlegung eines Übertragseingangssignals an den Übertragseingangsanschluß der letzten Mantissenstelle verhindert,. das vorn den Überträgen von den Exponentstellen erzeugt wird.27. Vorrichtung nach Anspruch 26, dadurch gekennzeichnet, daß die Vielzahl von Steuerfeldern jedes Mikrobefehlswortes weiterhin ein Mantissenübertragsfeld und ein Exponentenübertragsfeld aufweist, die codiert sind, um ein Mantissenübertragsbit und ein Exponentenübertragsbit jeweils zu beinhalten, und daß die Gatter ein AND-Gatter zur Kombinierung der Signale aufweisen, die dem Teilungsbit und dem Mantissenübertragsbit entsprechen, und daß jedes der Übertragsvorbereitungschips weiterhin einen Übertragsanschluß besitzt, wobei dieser Übertragsanschluß des vorbestimmten Übertragsvorbereitungschips so angeschlossen ist, daß er ein Signal empfängt, das dem Exponentenübertragsbit entspricht, um Übertragsausgangssignale zu erzeugen, die der am wenigsten signifikanten Mantissenstelle und der am meisten signifikanten Exponentenstelle in Abhängigkeit von der Codierung des TeilungsSteuerungsbits zugeführt werden.28. Vorrichtung nach Anspruch 17, dadurch gekennzeichnet, daß jedes der Vielfachbit-Chips eine Vorrichtung zur Erzeugung eines Ausgangssignals an dem F=O-Ausgangsanschluß aufweist, um anzuzeigen, wenn das Ergebnis, das durch dieses Chip erzeugt wurde, Null ist, und daß die Verarbeitungseinheit eine Detektorschaltung für führende Nullen besitzt mit909829/0652ORIGINAL INSPECTEDeiner ersten Prioritätscodierschaltung mit einer Anzahl von Eingangsanschlüssen, wobei jeder Eingangsanschluß mit dem F=O-Ausgangsanschluß eines anderen aus einer Anzahl der ersten Chip-Anzahl verbunden wird, einer zweiten Prioritätscodierschaltung, die in Reihe mit der ersten Prioritätscodierschaltung verbunden ist und eine Anzahl von Eingangsanschlüssen besitzt sowie eine Gruppe der Anzahl von Eingangsanschlüssen, die jeweils mit dem F=O-Ausgangsanschluß eines unterschiedlichen der restlichen Chips aus der ersten Anzahl verbunden ist,einer Gattervorrichtung, die mit dem Ausgangsregister mit den F=O-Ausgangsanschlüssen jeder der zweiten Anzahl der Chips und mit den restlichen Eingangsanschlüssen der zweiten Codierschaltung verbunden ist, und einer ersten bistabilen Vorrichtung, die mit der zweiten Prioritätsschaltung verbunden ist, um ein Nullindikatorsignal zu speichern, das durch die erste und die zweite Prioritätsschaltung erzeugt wurde, wobei die Gattervorrichtung in Ansprache auf jedes Mikrobefehlswort betrieben wird, um wahlweise die F=O-Ausgangsanschlüsse der zweiten Chip-Anzahl als Eingänge der zweiten Prioritätsschaltung zuzuführen, um die Speicherung des Nullindikatorsignals zu ermöglichen, das repräsentativ dafür ist, ob alle Chips der ersten und der zweiten Anzahl, oder nur die Chips der ersten Anzahl null Ergebnisse erzeugt haben.29. Vorrichtung nach Anspruch 28, dadurch gekennzeichnet, daß jedes Chip weiterhin aufweist:eine Gruppe von Dateneingangsanschlüssen, die betriebsmäßig mit der arithmetischen und logischen Einheit,die ihnen zugeordnet ist, verbunden sind, und eine Gruppe von Datenausgangsanschlüssen, die operativ mit der zugehörigen arithmetischen und logischen Einheit verbunden sind, wobei die Detektorschaltungen für die führenden Nullen eine Vielzahl von bistabilen Vorrich-ORIGINAL INSPECTEDtungen besitzt, die mit den ersten und zweiten Prioritätsschaltungen verbunden sind, um die Verschiebungszählratensignale zu speichern, die durch die erste und die zweite Prioritätscodierschaltung erzeugt wurden, und die die Anzahl der führenden Nullen angeben, eine Vielfachstellenverschiebung, die mit der Vielzahl bistabiler Vorrichtungen verbunden ist, wobei diese Verschiebungsvorrichtung eine Anzahl von Eingangsanschlüssen, jeweils verbunden mit einem unterschiedlichen Datenausgangsanschluß jeder Gruppe des Chips,eine entsprechende Anzahl von Ausgangsanschlüssen, jeweils mit einem unterschiedlichen Dateneingangsanschluß der Gruppe des Chips, und-einer Anzahl von Steuereingangsanschlüssen aufweist, die zum Empfang der Schiebezählratensignale angeschlossen sind, wobei die Verschiebungseinheit durch die Verschiebungszählratensignale so konditioniert wird, daß die Signale, die durch die erste und die zweite Anzahl der Chips an die Datenausgangsanschlüsse angelegt werden, um die Anzahl der Nullstellen verschoben werden, die in allen Chips der ersten und der zweiten Anzahl oder nur in der ersten Anzahl, abhängig von der Codierung des Teilungssteuerbits, vorhanden sind.30. Vorrichtung nach Anspruch 17, dadurch gekennzeichnet, daß das erste und das zweite Steuerfeld einer vorbestimmten Anzahl von Mikrobefehlswörtern codiert sind, um gleiche Funktionen zu spezifizieren, und daß erste und zweite Steuerfelder einer weiteren vorbestimmten Anzahl von Mikrobefehlswörtern codiert sind, um ungleiche Funktionen zu bestimmen, um die erste und die zweite Anzahl von Chips als eine einzige Einheit oder als zwei getrennte Einheiten zu betreiben.31. Mikroprogrammgesteuerte Vorrichtung zur Durchführung von arithmetischen Operationen mit einem Paar Fließkommaoperanden, wobei jeder Operand einen Mantissenabschnitt und einen Exponentenabschnitt mit einer Vielzahl von§09820/0603ORIGINAL INSPECTEDhexadezimal codierten Stellen besitzt, gekennzeichnet durcheinen im Zyklus arbeitenden adressierbaren Steuerspeicher mit einer Vielzahl von Speicherstellen zur Speicherung einer entsprechenden Anzahl von Mikrobefehlswörtern, jeweils mit einer Vielzahl von Steuerfeldern, von denen eines eine Teilungsbitcodierung aufweist, um Verbindungscharakteristiken innerhalb der Vorrichtung anzuzeigen,ein Ausgangsregister, das mit dem Steuerspeicher verbunden ist, um ein Mikrobefehlswort zu speichern, das während eines Operationszyklus' des Steuerspeichers ausgelesen wurde,eine Adressierungsvorrichtung, die mit dem Steuerspeicher verbunden ist, um eine Adresse zur Auswahl einer der Vielzahl von Speicherstellen während des Operationszyklus1 anzuliegen,eine erste und eine zweite Anzahl von Chips, die miteinander verbunden sind, um in Tandemart zur Verarbeitung der Stellen des Mantissenabschnitts und des Exponentenabschnitts zu dienen, wobei jedes Chip eine Anzahl von Anschlüssen und eine arithmetische Logikeinheit mit einem ersten und einem zweiten Satz von Eingangsanschlüssen zur Aufnahme des ersten bzw. des zweiten Operanden, die dem Mantissen- und Exponentenanteil entsprechen, einen Vielfachbit-adressierbaren RAM-Abschnitt, der mit der arithmetischen Logikeinheit verbunden ist, wobei jeder Speicherabschnitt eine Vielzahl von Stellenspeicherplätzen besitzt, einen Vielfachbit-RAM-Verschiebungs- und Multiplexer-Abschnitt, der mit dem RAM-Abschnitt verbunden ist und mit der ersten und der zweiten Anzahl von Eingangsanschlüssen, und einen Leiter aufweist, der die ersten und zweiten Anschlüsse jedes Chips mit den zweiten bzw. ersten Anschlüssen eines nächstfolgenden und eines vorhergehenden Chips verbindet, um das Verschieben der Mantissen- und Exponentstellen um eine Bitstelle in vorgegebener Richtung während des Operationszyklus' zu ermöglichen, und09829/0662ORlGiNAL INSPECTEDeine Steuerschaltung, die mit den ersten und zweiten Anschlüssen eines vorbestimmten Chips innerhalb jeder der Anzahl verbunden ist, wobei diese Steuerschaltung mit dem Ausgangsregister verbunden ist und in Ansprache auf jedes Mikrobefehlswort, das von dem Steuerspeicher während jedes Zyklus' ausgelesen wird, betrieben wird, um wahlweise die Anzahl von Chips für die Operation als zwei unabhängige Abschnitte oder als einen einzigen Abschnitt in Übereinstimmung mit der Codierung des Teilungssteuerbits zu verbinden, wie es für die Durchführung der arithmetischen Operation mit dem Operandenpaar erforderlich ist.32. Vorrichtung nach Anspruch 31, dadurch gekennzeichnet, daß die Steuerschaltungeine erste Multiplexer-Schaltung, die eine Anzahl von Dateneingangsanschlüssen, mindestens einen Wahleingangsanschluß, einen Ansteuerungseingangsanschluß und zumindest einen Ausgangsanschluß besitzt, eine zweite Multiplexer-Schaltung, die eine Anzahl von Dateneingangsanschlüssen, wobei ein erster Dateneingangsanschluß mit dem Ausgangsanschluß der ersten Multiplexer-Schaltung verbunden ist, zumindest einen Wahleingangsanschluß, einen Ansteuerungseingangsanschluß und zumindest einen Ausgangsanschluß besitzt, der mit einem ersten Dateneingangsanschluß der ersten Multiplexer-Schaltung verbunden ist,einen Leiter, der die ersten Dateneingangsanschlüsse der ersten und der zweiten Multiplexer-Schaltung jeweils mit den ersten und zweiten Anschlüssen eines vorgegebenen Chips aus jeder der Anzahl verbindet, und eine Vorrichtung zur Verbindung der Wahleingangsanschlüsse und der Ansteuerungseingangsanschlüsse mit dem Ausgangsregister aufweist, wobei die erste und die zweite Multiplexer-Schaltung wahlweise zum Betrieb in Ansprache auf jedes Mikrobefehlswort, das von dem Steuerspeicher während jedes Operationszyklus1 ausgelesen ist, ange-ORIGINAL INSPECTEDsteuert wird, um wahlweise jedes vorbestimmte Chip zur Übertragung von Signalen zwischen den Dateneingangsanschlüssen der ersten und der zweiten Multiplexer-Schaltung von Paaren der ersten und der zweiten Anschlüsse der vorbestimmten Chips zu verbinden, wie es zur Durchführung der arithmetischen Operation erforderlich ist.33. Vorrichtung nach Anspruch 32, dadurch gekennzeichnet,daß der Ausgangsanschluß der ersten Multiplexer-Schaltung mit dem vorgegebenen der ersten Anzahl von Chips verbunden ist, der der letzten Stelle des Mantissenabschnittes entspricht, und der Ausgangsanschluß der zweiten Multiplexer-Schaltung mit dem vorgegebenen der zweiten Anzahl von Chips verbunden ist, der der ersten Stelle des Exponentenabschnittes entspricht, und daß die erste und die zweite Multiplexer-Schaltung wahlweise angesteuert werden, um die Signale zwischen der letzten Mantissenstelle und der ersten Exponentenstelle und den ersten und den zweiten "Anschlüssen zu übertragen, um eine verbesserte Präzision bei der Verarbeitung des Operandenpaares zu schaffen, wenn die erste und die zweite Anzahl von Chips nicht miteinander verbunden sind, um getrennte Verarbeitungen parallel zueinander von Mantissen- und Exponentenabschnitten durchzuführen.34. Vorrichtung nach Anspruch 33, dadurch gekennzeichnet, daß zweite Dateneingangsanschlüsse der ersten und der zweiten Multiplexer-Schaltung jeweils angeschlossen sind, um ein binäres Nulldatensignal zur übertragung zu den Ausgangsanschlüssen der ersten und der zweiten Multiplexer-Schaltung anzulegen, und daß die Vorrichtung zur Verbindung einen Leiter zur Zuführung eines Signals, das repräsentativ für die Codierung des Steuerfeldes ist, zu den Wahleingangsanschlüssen, und eine Schaltung zur Zuführung der Verschiebungssteuersignale aufweist, die in Ansprache auf eine andere der Anzahl von Steuerfeldern909829/0662ORIGINAL INSPECTEDdes Mikrobefehlswortes erzeugt worden sind, um die Eingangsansehlüsse anzusteuern, wobei die Schaltung wahlweise die erste und die zweite Multiplexer-Schaltung zur Verschiebung der Inhalte der Mantissen- und Exponentstellen in eine Richtung ansteuert, die durch die Codierung des anderen Steuerfeldes spezifiziert wird.35. Vorrichtung nach Anspruch 34, dadurch gekennzeichnet, daß die Operanden Vorzeichenabschnitte besitzen, das Teilungsbit bei Codierung in einem ersten Zustand spezifiziert, daß die erste und zweite Anzahl von Chips unabhängig bei angelegten Signalen die Mantissen- und Exponentenstellen als getrennte Operanden verarbeitet und das Teilungschip, wenn in einem zweiten Zustand codiert, spezifiziert, daß die erste und die zweite Anzahl von Chips bei den angelegten Signalen die Mantissen- und Exponentstellen als einen einzigen Operanden verarbeiten, wobei die erste Anzahl von Chips ein Chip zur Verarbeitung des Vorzeichenabschnitts des Operanden in Übereinstimmung mit der Codierung eines vorbestimmten Steuerfeldes aufweist.36. Vorrichtung nach Anspruch 35, dadurch gekennzeichnet, daß der erste Zustand einer binären Eins entspricht und der zweite Zustand einer binären Null, das Teilungsbit jedes Mikrobefehlswortes üblicherweise in eine binäre Eins codiert ist bei Abwesenheit der Notwendigkeit, die erste und zweite Anzahl von Chips als eine einzige Einheit zu betreiben.37. Vorrichtung nach Anspruch 35, dadurch gekennzeichnet, daß ein weiteres Steuerfeld zumindest ein Mantissenverschiebungsbit aufweist und die Schaltung weiterhin einen Leiter und einen Inverter aufweist, um den ersten und den zweiten Multiplexer-Schaltungen ein Signal zuzuführen, das dem Mantissenverschiebungsbit entspricht, und ein Signal, das dem Komplement des Mantissenver-§09829/0662 ■ ■ORIGINAL INSPECTEDSchiebungsbit entspricht, wobei das Mantissenverschiebungsbit, wenn es in einem ersten Zustand codiert ist, eine Verschiebung des Inhaltes der Mantissen- und Exponentenstellen von rechts nach links durch den ersten Multiplexer und, wenn es in einem zweiten Zustand codiert ist, ein Verschieben der Inhalte der Mantissen- und Exponentstellen von links nach rechts durch den zweiten Multiplexer spezifiziert.38. Vorrichtung nach Anspruch 31, weiterhin gekennzeichnet durch eine Vielzahl von Übertragsvorbereitungs-Chipschaltungen, die jede mit einer Anzahl von unterschiedlichen Gruppen von Vielfachbit-Mikroprozessorchips zur Erzeugung von Übertragsausgangs- und Forführungssignalen verbunden sind, wie es für eine Vorbereitungsoperation notwendig ist, undeine Vorrichtung zur Verbindung einer vorbestimmten übertragsvorbereitungs-Chipschaltung mit dem Steuerspeicherausgangsregister, wobei diese Vorrichtung so konditioniert wird, daß sie wahlweise die übertragsvorbereitungs-Chipschaltung daran hindert, die Übertragssignale zwischen der ersten und der zweiten Anzahl von Chips in Übereinstimmung mit der Codierung des Steuerfeldes während des Operationszyklus1 fortzuführen.39. Vorrichtung nach Anspruch 31, dadurch gekennzeichnet, daß jedes Vielfachbitchip eine Vorrichtung zur Erzeugung eines F=O-Ausgangssignales an einem der Anschlüsse besitzt, um anzuzeigen, wenn das Ergebnis, das durch das Chip erzeugt wurde, null ist, und daß die Verarbeitungseinheit einen Detektor für führende Nullen besitzt miteiner ersten Prioritätscodierschaltung mit einer Anzahl von Eingangsanschlüssen, wobei jeder Eingangsanschluß mit dem F=O-Ausgangsanschluß eines anderen von einer Anzahl von Chips aus der ersten Anzahl verbunden ist,einem zweiten Prioritätscodierer, der in Reihe mit demORIGINAL INSPECTED .ersten Prioritätscodierer verbunden ist und die Anzahl von Eingangsanschlüssen hat, eine Gruppe der Anzahl von Eingangsanschlüssen, von denen jede mit dem F=O-Ausgangsanschluß eines anderen der restlichen Chips aus der ersten Anzahl verbunden ist,einer Gattervorrichtung, die mit dem Ausgangsregister verbunden ist, den F=O-Ausgangsanschlüssen jedes der Chips der zweiten Anzahl und den restlichen der ersten Anzahl der Eingangsanschlüsse der zweiten Codierschaltung, undeiner ersten bistabilen Vorrichtung, die mit der zweiten Prioritatsschaltung verbunden ist, um ein Nullindikatorsignal zu speichern, das durch die erste und die zweite Prioritätsschaltung erzeugt wird, wobei die Gattervorrichtung in Ansprache auf jedes Mikrobefehlswort arbeitet, um wahlweise die F=O-Ausgangsanschlüsse der zweiten Anzahl von Chips als Eingänge der zweiten Prioritätsschaltung zuzuführen, um die Speicherung des Nullindikatorsignals zu ermöglichen, das repräsentativ dafür ist, ob alle der ersten und der zweiten Anzahl von Chips oder nur die erste Anzahl von Chips das Null-Resultat erzeugt haben.40. Vorrichtung nach Anspruch 31, dadurch gekennzeichnet, daß das erste und das zweite aus der Vielzahl von Steuerfeldern einer vorgegebenen Anzahl von Mikrobefehlswörtern codiert sind, um gleiche Funktionen zu spezifizieren, und daß erste und zweite Steuerfelder von anderen vorbestimmten Mikrobefehlswörtern codiert sind, um ungleiche Funktionen zu spezifizieren, um die erste und die zweite Anzahl von Chips als eine einzige Einheit oder als zwei getrennte Einheiten zu betreiben.§098^9/0661ORIGINAL INSPECTED
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/867,242 US4161784A (en) | 1978-01-05 | 1978-01-05 | Microprogrammable floating point arithmetic unit capable of performing arithmetic operations on long and short operands |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2900324A1 true DE2900324A1 (de) | 1979-07-19 |
DE2900324C2 DE2900324C2 (de) | 1989-01-19 |
Family
ID=25349402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19792900324 Granted DE2900324A1 (de) | 1978-01-05 | 1979-01-05 | Mikroprogrammierbare arithmetische fliesskommaeinheit |
Country Status (7)
Country | Link |
---|---|
US (1) | US4161784A (de) |
JP (1) | JPS5498146A (de) |
AU (1) | AU518371B2 (de) |
CA (1) | CA1120594A (de) |
DE (1) | DE2900324A1 (de) |
FR (1) | FR2414227B1 (de) |
GB (1) | GB2015783B (de) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2949375A1 (de) * | 1978-12-11 | 1980-06-19 | Data General Corp | Gleitkommaprozessor |
DE3134746A1 (de) * | 1980-09-02 | 1982-04-15 | ITALTEL Società Italiana Telecomunicazioni S.p.A., 20149 Milano | Steuereinheit fuer einen ein-ausgabe-modul eines rechners |
Families Citing this family (133)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4954951A (en) * | 1970-12-28 | 1990-09-04 | Hyatt Gilbert P | System and method for increasing memory performance |
US5526506A (en) * | 1970-12-28 | 1996-06-11 | Hyatt; Gilbert P. | Computer system having an improved memory architecture |
US5459846A (en) * | 1988-12-02 | 1995-10-17 | Hyatt; Gilbert P. | Computer architecture system having an imporved memory |
JPS5833572B2 (ja) * | 1977-10-21 | 1983-07-20 | 株式会社東芝 | 情報処理方式 |
US4293907A (en) * | 1978-12-29 | 1981-10-06 | Bell Telephone Laboratories, Incorporated | Data processing apparatus having op-code extension register |
US4240144A (en) * | 1979-01-02 | 1980-12-16 | Honeywell Information Systems Inc. | Long operand alignment and merge operation |
US4310879A (en) * | 1979-03-08 | 1982-01-12 | Pandeya Arun K | Parallel processor having central processor memory extension |
US4308589A (en) * | 1979-11-08 | 1981-12-29 | Honeywell Information Systems Inc. | Apparatus for performing the scientific add instruction |
US4598358A (en) * | 1980-02-11 | 1986-07-01 | At&T Bell Laboratories | Pipelined digital signal processor using a common data and control bus |
US4360891A (en) * | 1980-04-14 | 1982-11-23 | Sperry Corporation | Address and data interface unit |
JPS56147260A (en) * | 1980-04-18 | 1981-11-16 | Nec Corp | Lsi for digital signal processing |
US4418383A (en) * | 1980-06-30 | 1983-11-29 | International Business Machines Corporation | Data flow component for processor and microprocessor systems |
US4422143A (en) * | 1980-11-24 | 1983-12-20 | Texas Instruments Incorporated | Microprocessor ALU with absolute value function |
US4366548A (en) * | 1981-01-02 | 1982-12-28 | Sperry Corporation | Adder for exponent arithmetic |
US4484276A (en) * | 1981-02-19 | 1984-11-20 | Sperry Corporation | Shift matrix preselector control circuit |
US4493025A (en) * | 1981-05-22 | 1985-01-08 | Data General Corporation | Digital data processing system using unique means for comparing operational results and locations at which such results are to be stored |
US4468748A (en) * | 1981-06-11 | 1984-08-28 | Data General Corporation | Floating point computation unit having means for rounding the floating point computation result |
US4476537A (en) * | 1981-06-11 | 1984-10-09 | Data General Corporation | Fixed point and floating point computation units using commonly shared control fields |
US4720783A (en) * | 1981-08-24 | 1988-01-19 | General Electric Company | Peripheral bus with continuous real-time control |
US4577282A (en) * | 1982-02-22 | 1986-03-18 | Texas Instruments Incorporated | Microcomputer system for digital signal processing |
US4491910A (en) * | 1982-02-22 | 1985-01-01 | Texas Instruments Incorporated | Microcomputer having data shift within memory |
US4586131A (en) * | 1982-02-22 | 1986-04-29 | Texas Instruments Incorporated | Microcomputer having data move circuits for within-memory shift of data words |
US4612628A (en) * | 1983-02-14 | 1986-09-16 | Data General Corp. | Floating-point unit constructed of identical modules |
US4914578A (en) * | 1983-04-18 | 1990-04-03 | Motorola, Inc. | Method and apparatus for interrupting a coprocessor |
JPS6043751A (ja) * | 1983-08-18 | 1985-03-08 | Hitachi Ltd | 情報処理装置 |
US5093775A (en) * | 1983-11-07 | 1992-03-03 | Digital Equipment Corporation | Microcode control system for digital data processing system |
US4660143A (en) * | 1984-09-24 | 1987-04-21 | The United States Of America As Represented By The Secretary Of The Air Force | Programmable realtime interface between a Block Floating Point processor and memory |
US5034879A (en) * | 1984-10-01 | 1991-07-23 | Unisys Corp. (Formerly Burroughs Corp.) | Programmable data path width in a programmable unit having plural levels of subinstruction sets |
US4773035A (en) * | 1984-10-19 | 1988-09-20 | Amdahl Corporation | Pipelined data processing system utilizing ideal floating point execution condition detection |
US4736317A (en) * | 1985-07-17 | 1988-04-05 | Syracuse University | Microprogram-coupled multiple-microprocessor module with 32-bit byte width formed of 8-bit byte width microprocessors |
US4858115A (en) * | 1985-07-31 | 1989-08-15 | Unisys Corporation | Loop control mechanism for scientific processor |
US4763294A (en) * | 1985-12-19 | 1988-08-09 | Wang Laboratories, Inc. | Method and apparatus for floating point operations |
JPS62229436A (ja) * | 1986-03-31 | 1987-10-08 | Toshiba Corp | 二進数デ−タ判別回路 |
US4841435A (en) * | 1986-10-29 | 1989-06-20 | Saxpy Computer Corporation | Data alignment system for random and block transfers of embedded subarrays of an array onto a system bus |
US4800516A (en) * | 1986-10-31 | 1989-01-24 | Amdahl Corporation | High speed floating-point unit |
US4839801A (en) * | 1986-11-03 | 1989-06-13 | Saxpy Computer Corporation | Architecture for block processing computer system |
US5226170A (en) * | 1987-02-24 | 1993-07-06 | Digital Equipment Corporation | Interface between processor and special instruction processor in digital data processing system |
US5091845A (en) * | 1987-02-24 | 1992-02-25 | Digital Equipment Corporation | System for controlling the storage of information in a cache memory |
US5032986A (en) * | 1987-07-28 | 1991-07-16 | Texas Instruments Incorporated | Data processing device with parallel circular addressing hardware |
US4901268A (en) * | 1988-08-19 | 1990-02-13 | General Electric Company | Multiple function data processor |
US5062041A (en) * | 1988-12-29 | 1991-10-29 | Wang Laboratories, Inc. | Processor/coprocessor interface apparatus including microinstruction clock synchronization |
EP0871108B1 (de) * | 1991-03-11 | 2000-09-13 | MIPS Technologies, Inc. | Rückwärts kompatible Rechnerarchitektur mit erweiterten Wortbreiten und Adressraum |
US5375080A (en) * | 1992-12-18 | 1994-12-20 | Xerox Corporation | Performing arithmetic on composite operands to obtain a binary outcome for each multi-bit component |
GB2274730B (en) * | 1993-01-30 | 1997-05-28 | Motorola Inc | A mantissa addition system for a floating point adder |
EP0651321B1 (de) * | 1993-10-29 | 2001-11-14 | Advanced Micro Devices, Inc. | Superskalarmikroprozessoren |
DE69427265T2 (de) | 1993-10-29 | 2002-05-02 | Advanced Micro Devices, Inc. | Superskalarbefehlsdekoder |
US5878245A (en) | 1993-10-29 | 1999-03-02 | Advanced Micro Devices, Inc. | High performance load/store functional unit and data cache |
US5689672A (en) * | 1993-10-29 | 1997-11-18 | Advanced Micro Devices, Inc. | Pre-decoded instruction cache and method therefor particularly suitable for variable byte-length instructions |
US5574928A (en) * | 1993-10-29 | 1996-11-12 | Advanced Micro Devices, Inc. | Mixed integer/floating point processor core for a superscalar microprocessor with a plurality of operand buses for transferring operand segments |
EP0651332B1 (de) | 1993-10-29 | 2001-07-18 | Advanced Micro Devices, Inc. | Linearadressierter Mikroprozessorcachespeicher |
EP0651324B1 (de) * | 1993-10-29 | 2006-03-22 | Advanced Micro Devices, Inc. | Spekulative Befehlswarteschlange für Befehle mit variabler Byteslänge |
DE69424626T2 (de) * | 1993-11-23 | 2001-01-25 | Hewlett-Packard Co., Palo Alto | Parallele Datenverarbeitung in einem Einzelprozessor |
US5541865A (en) * | 1993-12-30 | 1996-07-30 | Intel Corporation | Method and apparatus for performing a population count operation |
DE69519449T2 (de) * | 1994-05-05 | 2001-06-21 | Conexant Systems, Inc. | Raumzeigersdatenpfad |
US5696955A (en) * | 1994-06-01 | 1997-12-09 | Advanced Micro Devices, Inc. | Floating point stack and exchange instruction |
US5642306A (en) * | 1994-07-27 | 1997-06-24 | Intel Corporation | Method and apparatus for a single instruction multiple data early-out zero-skip multiplier |
US5574670A (en) * | 1994-08-24 | 1996-11-12 | Advanced Micro Devices, Inc. | Apparatus and method for determining a number of digits leading a particular digit |
US6738793B2 (en) | 1994-12-01 | 2004-05-18 | Intel Corporation | Processor capable of executing packed shift operations |
US6275834B1 (en) * | 1994-12-01 | 2001-08-14 | Intel Corporation | Apparatus for performing packed shift operations |
EP1302848B1 (de) * | 1994-12-01 | 2006-11-02 | Intel Corporation | Ein Mikroprozessor mit Mulitplizierungsoperation |
ZA9510127B (en) * | 1994-12-01 | 1996-06-06 | Intel Corp | Novel processor having shift operations |
CN1326033C (zh) | 1994-12-02 | 2007-07-11 | 英特尔公司 | 可以对复合操作数进行压缩操作的微处理器 |
US5819101A (en) * | 1994-12-02 | 1998-10-06 | Intel Corporation | Method for packing a plurality of packed data elements in response to a pack instruction |
US5687359A (en) * | 1995-03-31 | 1997-11-11 | International Business Machines Corporation | Floating point processor supporting hexadecimal and binary modes using common instructions with memory storing a pair of representations for each value |
US5752001A (en) * | 1995-06-01 | 1998-05-12 | Intel Corporation | Method and apparatus employing Viterbi scoring using SIMD instructions for data recognition |
US6643765B1 (en) | 1995-08-16 | 2003-11-04 | Microunity Systems Engineering, Inc. | Programmable processor with group floating point operations |
US5721892A (en) * | 1995-08-31 | 1998-02-24 | Intel Corporation | Method and apparatus for performing multiply-subtract operations on packed data |
US6385634B1 (en) | 1995-08-31 | 2002-05-07 | Intel Corporation | Method for performing multiply-add operations on packed data |
US7395298B2 (en) * | 1995-08-31 | 2008-07-01 | Intel Corporation | Method and apparatus for performing multiply-add operations on packed data |
US5983253A (en) * | 1995-09-05 | 1999-11-09 | Intel Corporation | Computer system for performing complex digital filters |
US6058408A (en) * | 1995-09-05 | 2000-05-02 | Intel Corporation | Method and apparatus for multiplying and accumulating complex numbers in a digital filter |
US6237016B1 (en) | 1995-09-05 | 2001-05-22 | Intel Corporation | Method and apparatus for multiplying and accumulating data samples and complex coefficients |
US5936872A (en) * | 1995-09-05 | 1999-08-10 | Intel Corporation | Method and apparatus for storing complex numbers to allow for efficient complex multiplication operations and performing such complex multiplication operations |
US6470370B2 (en) | 1995-09-05 | 2002-10-22 | Intel Corporation | Method and apparatus for multiplying and accumulating complex numbers in a digital filter |
US5761105A (en) * | 1995-09-26 | 1998-06-02 | Advanced Micro Devices, Inc. | Reservation station including addressable constant store for a floating point processing unit |
US5748516A (en) * | 1995-09-26 | 1998-05-05 | Advanced Micro Devices, Inc. | Floating point processing unit with forced arithmetic results |
US5878266A (en) * | 1995-09-26 | 1999-03-02 | Advanced Micro Devices, Inc. | Reservation station for a floating point processing unit |
US5822459A (en) * | 1995-09-28 | 1998-10-13 | Intel Corporation | Method for processing wavelet bands |
US5796974A (en) * | 1995-11-07 | 1998-08-18 | Advanced Micro Devices, Inc. | Microcode patching apparatus and method |
US5984515A (en) * | 1995-12-15 | 1999-11-16 | Intel Corporation | Computer implemented method for providing a two dimensional rotation of packed data |
US5935240A (en) * | 1995-12-15 | 1999-08-10 | Intel Corporation | Computer implemented method for transferring packed data between register files and memory |
US5815421A (en) * | 1995-12-18 | 1998-09-29 | Intel Corporation | Method for transposing a two-dimensional array |
US5757432A (en) * | 1995-12-18 | 1998-05-26 | Intel Corporation | Manipulating video and audio signals using a processor which supports SIMD instructions |
US5701508A (en) * | 1995-12-19 | 1997-12-23 | Intel Corporation | Executing different instructions that cause different data type operations to be performed on single logical register file |
US5852726A (en) * | 1995-12-19 | 1998-12-22 | Intel Corporation | Method and apparatus for executing two types of instructions that specify registers of a shared logical register file in a stack and a non-stack referenced manner |
US5835748A (en) * | 1995-12-19 | 1998-11-10 | Intel Corporation | Method for executing different sets of instructions that cause a processor to perform different data type operations on different physical registers files that logically appear to software as a single aliased register file |
US6792523B1 (en) * | 1995-12-19 | 2004-09-14 | Intel Corporation | Processor with instructions that operate on different data types stored in the same single logical register file |
US5940859A (en) | 1995-12-19 | 1999-08-17 | Intel Corporation | Emptying packed data state during execution of packed data instructions |
AU1465497A (en) * | 1995-12-19 | 1997-07-28 | Intel Corporation | A computer system performing a two-dimensional rotation of packed data representing multimedia information |
US5857096A (en) * | 1995-12-19 | 1999-01-05 | Intel Corporation | Microarchitecture for implementing an instruction to clear the tags of a stack reference register file |
US6036350A (en) * | 1995-12-20 | 2000-03-14 | Intel Corporation | Method of sorting signed numbers and solving absolute differences using packed instructions |
US5787026A (en) * | 1995-12-20 | 1998-07-28 | Intel Corporation | Method and apparatus for providing memory access in a processor pipeline |
US5907842A (en) * | 1995-12-20 | 1999-05-25 | Intel Corporation | Method of sorting numbers to obtain maxima/minima values with ordering |
US5742529A (en) * | 1995-12-21 | 1998-04-21 | Intel Corporation | Method and an apparatus for providing the absolute difference of unsigned values |
US5880979A (en) * | 1995-12-21 | 1999-03-09 | Intel Corporation | System for providing the absolute difference of unsigned values |
US5983257A (en) * | 1995-12-26 | 1999-11-09 | Intel Corporation | System for signal processing using multiply-add operations |
US5793661A (en) * | 1995-12-26 | 1998-08-11 | Intel Corporation | Method and apparatus for performing multiply and accumulate operations on packed data |
US5740392A (en) * | 1995-12-27 | 1998-04-14 | Intel Corporation | Method and apparatus for fast decoding of 00H and OFH mapped instructions |
US6092184A (en) * | 1995-12-28 | 2000-07-18 | Intel Corporation | Parallel processing of pipelined instructions having register dependencies |
US5835392A (en) * | 1995-12-28 | 1998-11-10 | Intel Corporation | Method for performing complex fast fourier transforms (FFT's) |
US5764943A (en) * | 1995-12-28 | 1998-06-09 | Intel Corporation | Data path circuitry for processor having multiple instruction pipelines |
US5862067A (en) * | 1995-12-29 | 1999-01-19 | Intel Corporation | Method and apparatus for providing high numerical accuracy with packed multiply-add or multiply-subtract operations |
US5621674A (en) * | 1996-02-15 | 1997-04-15 | Intel Corporation | Computer implemented method for compressing 24 bit pixels to 16 bit pixels |
US6009191A (en) * | 1996-02-15 | 1999-12-28 | Intel Corporation | Computer implemented method for compressing 48-bit pixels to 16-bit pixels |
US5959636A (en) * | 1996-02-23 | 1999-09-28 | Intel Corporation | Method and apparatus for performing saturation instructions using saturation limit values |
US5822232A (en) * | 1996-03-01 | 1998-10-13 | Intel Corporation | Method for performing box filter |
US6070237A (en) * | 1996-03-04 | 2000-05-30 | Intel Corporation | Method for performing population counts on packed data types |
US5831885A (en) * | 1996-03-04 | 1998-11-03 | Intel Corporation | Computer implemented method for performing division emulation |
US5835782A (en) * | 1996-03-04 | 1998-11-10 | Intel Corporation | Packed/add and packed subtract operations |
US6049864A (en) * | 1996-08-20 | 2000-04-11 | Intel Corporation | Method for scheduling a flag generating instruction and a subsequent instruction by executing the flag generating instruction in a microprocessor |
US5881279A (en) * | 1996-11-25 | 1999-03-09 | Intel Corporation | Method and apparatus for handling invalid opcode faults via execution of an event-signaling micro-operation |
US6014684A (en) | 1997-03-24 | 2000-01-11 | Intel Corporation | Method and apparatus for performing N bit by 2*N-1 bit signed multiplication |
US6081824A (en) * | 1998-03-05 | 2000-06-27 | Intel Corporation | Method and apparatus for fast unsigned integral division |
US6418529B1 (en) * | 1998-03-31 | 2002-07-09 | Intel Corporation | Apparatus and method for performing intra-add operation |
US7395302B2 (en) | 1998-03-31 | 2008-07-01 | Intel Corporation | Method and apparatus for performing horizontal addition and subtraction |
US7392275B2 (en) * | 1998-03-31 | 2008-06-24 | Intel Corporation | Method and apparatus for performing efficient transformations with horizontal addition and subtraction |
US6041404A (en) | 1998-03-31 | 2000-03-21 | Intel Corporation | Dual function system and method for shuffling packed data elements |
US6199089B1 (en) | 1998-09-18 | 2001-03-06 | Ati International Srl | Floating point arithmetic logic unit rounding using at least one least significant bit |
US6205461B1 (en) | 1998-09-18 | 2001-03-20 | Ati International Srl | Floating point arithmetic logic unit leading zero count using fast approximate rounding |
US6272512B1 (en) | 1998-10-12 | 2001-08-07 | Intel Corporation | Data manipulation instruction for enhancing value and efficiency of complex arithmetic |
FR2802660B1 (fr) * | 1999-12-21 | 2002-11-29 | St Microelectronics Sa | Procede pour effectuer des operations avec une arithmetique variable |
US6725360B1 (en) * | 2000-03-31 | 2004-04-20 | Intel Corporation | Selectively processing different size data in multiplier and ALU paths in parallel |
US7155601B2 (en) * | 2001-02-14 | 2006-12-26 | Intel Corporation | Multi-element operand sub-portion shuffle instruction execution |
US20040054877A1 (en) | 2001-10-29 | 2004-03-18 | Macy William W. | Method and apparatus for shuffling data |
US7818356B2 (en) | 2001-10-29 | 2010-10-19 | Intel Corporation | Bitstream buffer manipulation with a SIMD merge instruction |
US7430578B2 (en) * | 2001-10-29 | 2008-09-30 | Intel Corporation | Method and apparatus for performing multiply-add operations on packed byte data |
US7624138B2 (en) | 2001-10-29 | 2009-11-24 | Intel Corporation | Method and apparatus for efficient integer transform |
US7631025B2 (en) * | 2001-10-29 | 2009-12-08 | Intel Corporation | Method and apparatus for rearranging data between multiple registers |
US7685212B2 (en) * | 2001-10-29 | 2010-03-23 | Intel Corporation | Fast full search motion estimation with SIMD merge instruction |
US7739319B2 (en) * | 2001-10-29 | 2010-06-15 | Intel Corporation | Method and apparatus for parallel table lookup using SIMD instructions |
US7725521B2 (en) * | 2001-10-29 | 2010-05-25 | Intel Corporation | Method and apparatus for computing matrix transformations |
US7047383B2 (en) * | 2002-07-11 | 2006-05-16 | Intel Corporation | Byte swap operation for a 64 bit operand |
US8078836B2 (en) | 2007-12-30 | 2011-12-13 | Intel Corporation | Vector shuffle instructions operating on multiple lanes each having a plurality of data elements using a common set of per-lane control bits |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1549478B1 (de) * | 1966-09-13 | 1970-08-27 | Ibm | Gleitkomma-Rechenwerk zur schnellen Addition oder Subtraktion binaerer Operanden |
GB1390384A (en) * | 1971-06-28 | 1975-04-09 | Burroughs Corp | Microprogramme computer |
DE2501985A1 (de) * | 1974-01-21 | 1975-07-24 | Data General Corp | Mit gleitkomma arbeitender rechenmechanismus |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BE629725A (de) * | 1962-03-29 | |||
US3287703A (en) * | 1962-12-04 | 1966-11-22 | Westinghouse Electric Corp | Computer |
US3571803A (en) * | 1968-06-04 | 1971-03-23 | Bell Telephone Labor Inc | Arithmetic unit for data processing systems |
US3751650A (en) * | 1971-06-28 | 1973-08-07 | Burroughs Corp | Variable length arithmetic unit |
US3725649A (en) * | 1971-10-01 | 1973-04-03 | Raytheon Co | Floating point number processor for a digital computer |
DE2222195A1 (de) * | 1972-05-05 | 1973-11-22 | Siemens Ag | Anordnung zur verarbeitung von operanden von programmen |
US3987291A (en) * | 1975-05-01 | 1976-10-19 | International Business Machines Corporation | Parallel digital arithmetic device having a variable number of independent arithmetic zones of variable width and location |
-
1978
- 1978-01-05 US US05/867,242 patent/US4161784A/en not_active Expired - Lifetime
- 1978-12-21 CA CA000318364A patent/CA1120594A/en not_active Expired
-
1979
- 1979-01-02 AU AU43045/79A patent/AU518371B2/en not_active Ceased
- 1979-01-05 FR FR7900272A patent/FR2414227B1/fr not_active Expired
- 1979-01-05 DE DE19792900324 patent/DE2900324A1/de active Granted
- 1979-01-05 GB GB7900404A patent/GB2015783B/en not_active Expired
- 1979-01-05 JP JP57279A patent/JPS5498146A/ja active Granted
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1549478B1 (de) * | 1966-09-13 | 1970-08-27 | Ibm | Gleitkomma-Rechenwerk zur schnellen Addition oder Subtraktion binaerer Operanden |
GB1390384A (en) * | 1971-06-28 | 1975-04-09 | Burroughs Corp | Microprogramme computer |
DE2501985A1 (de) * | 1974-01-21 | 1975-07-24 | Data General Corp | Mit gleitkomma arbeitender rechenmechanismus |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2949375A1 (de) * | 1978-12-11 | 1980-06-19 | Data General Corp | Gleitkommaprozessor |
DE3134746A1 (de) * | 1980-09-02 | 1982-04-15 | ITALTEL Società Italiana Telecomunicazioni S.p.A., 20149 Milano | Steuereinheit fuer einen ein-ausgabe-modul eines rechners |
Also Published As
Publication number | Publication date |
---|---|
AU518371B2 (en) | 1981-09-24 |
FR2414227B1 (fr) | 1987-12-31 |
GB2015783B (en) | 1982-05-19 |
GB2015783A (en) | 1979-09-12 |
FR2414227A1 (fr) | 1979-08-03 |
JPS618446B2 (de) | 1986-03-14 |
US4161784A (en) | 1979-07-17 |
JPS5498146A (en) | 1979-08-02 |
CA1120594A (en) | 1982-03-23 |
DE2900324C2 (de) | 1989-01-19 |
AU4304579A (en) | 1979-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2900324A1 (de) | Mikroprogrammierbare arithmetische fliesskommaeinheit | |
DE69430838T2 (de) | Schaltung und Verfahren zur parallelen Verschiebung und Addition | |
DE19540102C2 (de) | Verfahren und Gleitkomma-Recheneinheit mit einer Logik für eine Vierfach-Präzisions-Arithmetik | |
DE68928376T2 (de) | Vorrichtung zum multiplizieren, teilen und ziehen der quadratwurzel | |
DE69430510T2 (de) | Arithmetik-Logikschaltung mit drei Eingängen | |
DE69430516T2 (de) | Arithmetisch-logische Einheit mit drei Eingängen, die die Summe einer ersten und einer zweiten booleschen Kombination berechnet | |
DE69428499T2 (de) | Bedingtes Speicherladen von einem Registerpaar | |
DE2755273C2 (de) | ||
DE3788965T2 (de) | Steuerungsschaltung für Zweirichtungsverschiebung mit variabler Anzahl. | |
DE69233361T2 (de) | Ein-Chip-Mikrocomputer | |
DE69032891T2 (de) | Verfahren und Gerät zur Ausführung mathematischer Funktionen mit Hilfe polynomialer Annäherung und eines Multiplizierers rechteckigen Seitenverhältnisses | |
DE2616717C2 (de) | Digitales Addierwerk | |
DE69811877T2 (de) | ARITHMETISCHER PROZESSOR, der endliche Felder Arithmetik und ganzzahlige modular Arithmetik kombiniert. | |
DE68927966T2 (de) | Prozessor für Gleitkommazahlen und ganze Zahlen mit Dividier- und Quadratwurzelfunktionen | |
DE69132517T2 (de) | Gleitkommaprozessor | |
DE1237363B (de) | Arithmetisch-Logische-Einheit | |
DE3306084A1 (de) | Rechnerarchitektur zur gleitkomma -addition | |
DE2421130C2 (de) | ||
DE69227348T2 (de) | DIVIDIERSCHALTUNG FüR GLEITKOMMAZAHLEN | |
DE3888230T2 (de) | Einrichtung und Verfahren zur Durchführung einer Schiebeoperation mit einer Multipliziererschaltung. | |
DE3786633T2 (de) | Zweiunddreissig-Bit-Bitscheibe. | |
DE3701599C2 (de) | ||
DE3852576T2 (de) | Einrichtung und Verfahren für eine erweiterte Arithmetik-Logik-Einheit zur Beschleunigung der ausgewählten Operationen. | |
DE2830334C2 (de) | ||
DE3314035C2 (de) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8128 | New person/name/address of the agent |
Representative=s name: BARDEHLE, H., DIPL.-ING., PAT.-ANW., 8000 MUENCHEN |
|
8127 | New person/name/address of the applicant |
Owner name: HONEYWELL BULL INC., MINNEAPOLIS, MINN., US |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |