DE2900324A1 - Mikroprogrammierbare arithmetische fliesskommaeinheit - Google Patents

Mikroprogrammierbare arithmetische fliesskommaeinheit

Info

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
Application number
DE19792900324
Other languages
English (en)
Other versions
DE2900324C2 (de
Inventor
David E Cushing
Steven A Tague
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bull HN Information Systems Inc
Original Assignee
Honeywell Information Systems Italia SpA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honeywell Information Systems Italia SpA filed Critical Honeywell Information Systems Italia SpA
Publication of DE2900324A1 publication Critical patent/DE2900324A1/de
Application granted granted Critical
Publication of DE2900324C2 publication Critical patent/DE2900324C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • G06F5/012Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising in floating-point computations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3812Devices capable of handling different types of numbers
    • G06F2207/382Reconfigurable for different fixed word lengths
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3828Multigauge 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)
  • Complex Calculations (AREA)
  • Advance Control (AREA)

Description

DIPL-INCHEINZBARDEHLE München, 5.1.
DIPL. CHEM. DR. PETER FÜRNISS
PATENTANWÄLTE — ZH """" 2900324
Aktenzeichen: Unser Zeichen: P 2R2O
Anmelder: Honeywell Information Systems, Tnc. 200 Smith Street
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
PATENTANWÄLTE
München,
Aktenzeichen:
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)

  1. Patentansprüche
    Mikroprograinmierbare arithmetische Prozeßeinheit zur Durchführung einer arithmetischen Operation mit einem Operandenpaar, gekennzeichnet durch
    1. einen mikroprogrammierbaren Steuerabschnitt mit
    1.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, und
    1.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 und
    3.1 3.2
    einen Vielfachbit-adressierbaren Speicher mit wahlfreiem Zugriff. (RAM), der mit der Arithmetik-Logik-
    Kanzlei: Herrnstraße 15, München 33
    909829/0662
    ORIGINAL INSPECTED
    29U0-324
    Einheit verbunden ist, wobei jeder Speicherabschnitt eine Vielzahl von Vielfachbitspeicherstellen und einen Vielfachbit-RAM-Schieberegister-Multiplexerabschnitt aufweist, der mit dem RAM-Abschnitt verbunden ist, und
    4. 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/0062
    ORIGINAL INSPECTED
    -3- 2300324
    und 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 θ i
    MMörcUlSD
    Einheit 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/0662
    ORIGINAL INSPECTED
    7. 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, und
    eine 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 vorbestimmte
    009829/0662
    ORIGINAL INSPECTED
    2300324
    Ü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 zu
    009829/066^
    '·"·-'■-■>'-·'-·:■ .--VK? ORIGINAL INSPECTED
    besitzen,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 zweite
    ORIGINAL INSPECTED
    Prioritä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/0662
    ORIGINAL INSPECTED
    daß 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, und
    eine 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/0662
    ORIGINAL INSPECTED
    2300324
    17. 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/0662
    ORIGINAL INSPECTED
    Ausgangsregister 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/0662
    INSPECTED
    19. 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/0662
    ORIGINAL INSPECTED
    21. 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^2
    ORIGINAL INSPECTED
    wenn 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/0662
    ORIGINAL INSPECTED
    die 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 mit
    909829/0652
    ORIGINAL INSPECTED
    einer 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 INSPECTED
    tungen 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/0603
    ORIGINAL INSPECTED
    hexadezimal codierten Stellen besitzt, gekennzeichnet durch
    einen 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, und
    09829/0662
    ORlGiNAL INSPECTED
    eine 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 Steuerschaltung
    eine 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 INSPECTED
    steuert 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 Steuerfeldern
    909829/0662
    ORIGINAL INSPECTED
    des 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 INSPECTED
    Schiebungsbit 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, und
    eine 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 mit
    einer 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 dem
    ORIGINAL 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, und
    einer 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/0661
    ORIGINAL INSPECTED
DE19792900324 1978-01-05 1979-01-05 Mikroprogrammierbare arithmetische fliesskommaeinheit Granted DE2900324A1 (de)

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)

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

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5459846A (en) * 1988-12-02 1995-10-17 Hyatt; Gilbert P. Computer architecture system having an imporved memory
US5526506A (en) * 1970-12-28 1996-06-11 Hyatt; Gilbert P. Computer system having an improved memory architecture
US4954951A (en) * 1970-12-28 1990-09-04 Hyatt Gilbert P System and method for increasing memory performance
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
US4476537A (en) * 1981-06-11 1984-10-09 Data General Corporation Fixed point and floating point computation units using commonly shared control fields
US4468748A (en) * 1981-06-11 1984-08-28 Data General Corporation Floating point computation unit having means for rounding the floating point computation result
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
DE69429061T2 (de) * 1993-10-29 2002-07-18 Advanced Micro Devices, Inc. Superskalarmikroprozessoren
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
EP0651320B1 (de) * 1993-10-29 2001-05-23 Advanced Micro Devices, Inc. Superskalarbefehlsdekoder
EP0651332B1 (de) 1993-10-29 2001-07-18 Advanced Micro Devices, Inc. Linearadressierter Mikroprozessorcachespeicher
DE69434669T2 (de) * 1993-10-29 2006-10-12 Advanced Micro Devices, Inc., Sunnyvale Spekulative Befehlswarteschlange für Befehle mit variabler Byteslänge
US5878245A (en) 1993-10-29 1999-03-02 Advanced Micro Devices, Inc. High performance load/store functional unit and data cache
EP0654733B1 (de) * 1993-11-23 2000-05-24 Hewlett-Packard Company Parallele Datenverarbeitung in einem Einzelprozessor
US5541865A (en) * 1993-12-30 1996-07-30 Intel Corporation Method and apparatus for performing a population count operation
EP0681236B1 (de) * 1994-05-05 2000-11-22 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
ZA9510127B (en) * 1994-12-01 1996-06-06 Intel Corp Novel processor having shift operations
EP1302848B1 (de) * 1994-12-01 2006-11-02 Intel Corporation Ein Mikroprozessor mit Mulitplizierungsoperation
US6275834B1 (en) * 1994-12-01 2001-08-14 Intel Corporation Apparatus for performing packed shift operations
US6738793B2 (en) 1994-12-01 2004-05-18 Intel Corporation Processor capable of executing packed shift operations
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
CN1094610C (zh) 1994-12-02 2002-11-20 英特尔公司 可以对复合操作数进行压缩操作和拆开操作的微处理器
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
US7395298B2 (en) * 1995-08-31 2008-07-01 Intel Corporation Method and apparatus for performing multiply-add operations on packed data
US6385634B1 (en) * 1995-08-31 2002-05-07 Intel Corporation Method for performing multiply-add operations on packed data
US5721892A (en) * 1995-08-31 1998-02-24 Intel Corporation Method and apparatus for performing multiply-subtract operations on packed data
US5983253A (en) * 1995-09-05 1999-11-09 Intel Corporation Computer system for performing complex digital filters
US6470370B2 (en) 1995-09-05 2002-10-22 Intel Corporation Method and apparatus for multiplying and accumulating complex numbers in a digital filter
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
US6237016B1 (en) 1995-09-05 2001-05-22 Intel Corporation Method and apparatus for multiplying and accumulating data samples and complex coefficients
US6058408A (en) * 1995-09-05 2000-05-02 Intel Corporation Method and apparatus for multiplying and accumulating complex numbers in a digital filter
US5878266A (en) * 1995-09-26 1999-03-02 Advanced Micro Devices, Inc. Reservation station 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
US5761105A (en) * 1995-09-26 1998-06-02 Advanced Micro Devices, Inc. Reservation station including addressable constant store 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
US5757432A (en) * 1995-12-18 1998-05-26 Intel Corporation Manipulating video and audio signals using a processor which supports SIMD instructions
US5815421A (en) * 1995-12-18 1998-09-29 Intel Corporation Method for transposing a two-dimensional array
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
WO1997024681A1 (en) * 1995-12-19 1997-07-10 Intel Corporation A computer system performing a two-dimensional rotation of packed data representing multimedia information
US5940859A (en) * 1995-12-19 1999-08-17 Intel Corporation Emptying packed data state during execution of packed data instructions
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
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
US6036350A (en) * 1995-12-20 2000-03-14 Intel Corporation Method of sorting signed numbers and solving absolute differences using packed instructions
US5907842A (en) * 1995-12-20 1999-05-25 Intel Corporation Method of sorting numbers to obtain maxima/minima values with ordering
US5787026A (en) * 1995-12-20 1998-07-28 Intel Corporation Method and apparatus for providing memory access in a processor pipeline
US5880979A (en) * 1995-12-21 1999-03-09 Intel Corporation System for providing the absolute difference of unsigned values
US5742529A (en) * 1995-12-21 1998-04-21 Intel Corporation Method and an apparatus 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
US5835392A (en) * 1995-12-28 1998-11-10 Intel Corporation Method for performing complex fast fourier transforms (FFT's)
US6092184A (en) * 1995-12-28 2000-07-18 Intel Corporation Parallel processing of pipelined instructions having register dependencies
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
US5835782A (en) * 1996-03-04 1998-11-10 Intel Corporation Packed/add and packed subtract operations
US5831885A (en) * 1996-03-04 1998-11-03 Intel Corporation Computer implemented method for performing division emulation
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
US7395302B2 (en) 1998-03-31 2008-07-01 Intel Corporation Method and apparatus for performing horizontal addition and subtraction
US6418529B1 (en) * 1998-03-31 2002-07-09 Intel Corporation Apparatus and method for performing intra-add operation
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
US6205461B1 (en) 1998-09-18 2001-03-20 Ati International Srl Floating point arithmetic logic unit leading zero count using fast approximate rounding
US6199089B1 (en) 1998-09-18 2001-03-06 Ati International Srl Floating point arithmetic logic unit rounding using at least one least significant bit
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
US7430578B2 (en) * 2001-10-29 2008-09-30 Intel Corporation Method and apparatus for performing multiply-add operations on packed byte data
US7631025B2 (en) * 2001-10-29 2009-12-08 Intel Corporation Method and apparatus for rearranging data between multiple registers
US20040054877A1 (en) 2001-10-29 2004-03-18 Macy William W. Method and apparatus for shuffling data
US7685212B2 (en) * 2001-10-29 2010-03-23 Intel Corporation Fast full search motion estimation with SIMD merge instruction
US7725521B2 (en) * 2001-10-29 2010-05-25 Intel Corporation Method and apparatus for computing matrix transformations
US7818356B2 (en) 2001-10-29 2010-10-19 Intel Corporation Bitstream buffer manipulation with a SIMD merge instruction
US7624138B2 (en) 2001-10-29 2009-11-24 Intel Corporation Method and apparatus for efficient integer transform
US7739319B2 (en) * 2001-10-29 2010-06-15 Intel Corporation Method and apparatus for parallel table lookup using SIMD instructions
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)

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

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

Patent Citations (3)

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

* Cited by examiner, † Cited by third party
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
GB2015783A (en) 1979-09-12
FR2414227B1 (fr) 1987-12-31
AU518371B2 (en) 1981-09-24
JPS618446B2 (de) 1986-03-14
FR2414227A1 (fr) 1979-08-03
CA1120594A (en) 1982-03-23
US4161784A (en) 1979-07-17
DE2900324C2 (de) 1989-01-19
AU4304579A (en) 1979-07-12
GB2015783B (en) 1982-05-19
JPS5498146A (en) 1979-08-02

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
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.
DE2222197A1 (de) Anordnung zur Auf- bzw. Abrundung von Zweierkomplement-Zahlen
DE3852576T2 (de) Einrichtung und Verfahren für eine erweiterte Arithmetik-Logik-Einheit zur Beschleunigung der ausgewählten Operationen.
DE2830334C2 (de)
DE3701599A1 (de) Vielfunktions-arithmetisch-logische-schaltung
DE3314035C2 (de)
DE69629646T2 (de) Verfahren zur durchführung einer &#34;rotate through carry&#34; operatiion

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