Nothing Special   »   [go: up one dir, main page]

DE2421130C2 - - Google Patents

Info

Publication number
DE2421130C2
DE2421130C2 DE2421130A DE2421130A DE2421130C2 DE 2421130 C2 DE2421130 C2 DE 2421130C2 DE 2421130 A DE2421130 A DE 2421130A DE 2421130 A DE2421130 A DE 2421130A DE 2421130 C2 DE2421130 C2 DE 2421130C2
Authority
DE
Germany
Prior art keywords
bit
operands
operand
signals
bits
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE2421130A
Other languages
English (en)
Other versions
DE2421130A1 (de
Inventor
Dee Edwin San Jose Calif. Us Larsen
Michael Reid Santa Clara Calif. Us Clements
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.)
Fujitsu IT Holdings Inc
Original Assignee
Amdahl Corp
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 Amdahl Corp filed Critical Amdahl Corp
Publication of DE2421130A1 publication Critical patent/DE2421130A1/de
Application granted granted Critical
Publication of DE2421130C2 publication Critical patent/DE2421130C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/02Comparing digital values
    • G06F7/026Magnitude comparison, i.e. determining the relative order of operands based on their numerical value, e.g. window comparator
    • 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

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Executing Machine-Instructions (AREA)
  • Complex Calculations (AREA)

Description

Die Erfindung bezieht sich auf eine Vorrichtung zur Datenverarbeitung, in welcher zwei Operanden, die je aus einer Vielzahl von der höchsten bis zur niedrigsten Wertigkeit angeordneter Bits bestehen, zur Ausführung von Befehlen verwendet werden, nach dem Oberbegriff des Patentanspruchs 1. Solche und ähnliche Datenverarbeitungsvorrichtungen sind bereits bekannt (US-PS 28 84 616), ebenso wie die Bearbeitung von Vergleichssignalen in weiteren Logikstufen (US-PS 31 434 645).
Bei solchen Datenverarbeitungssystemen werden häufig einen Operandenvergleich erfordernde Befehle anhand aufeinanderfolgender Additionen oder Subtraktionen ausgeführt, zu deren vollständiger Durchführung eine Vielzahl von Rekursivzyklen oder Rekursivfolgen von Arbeitsgängen der Befehlseinheit erforderlich ist. Derartige Systeme benötigen verhältnismäßig lange Ausführungszeiten.
Die Auswirkungen langer Ausführungszeiten wie z. B. aufgrund von Rekursivfolgen von Arbeitsgängen kumulieren in Systemen, in welchen Befehle vorabgerufen oder vorgespeichert werden. Wenn beispielsweise ein Verzweigungsbefehl durch einen Operandenvergleich im Hinblick auf eine Gleichheitsbeziehung wie z. B. Gleichheit oder Ungleichheit bedingt ist, muß eine Entscheidung getroffen werden, ob eine durch den Verzweigungsbefehl angegebene zielgerichtete Befehlsfolge oder die unveränderte Nichtverzweigungs-Befehlsfolge durchgeführt werden soll. Zwar könnte durch Vorabfrage und Vorspeicherung beider Befehlsfolgen eine Verzögerung vermieden werden, jedoch müßten für diese Lösung aufwendige redundante Vorrichtungen vorhanden sein. Andererseits wird durch das Warten auf die Ausführung des Befehls und die entsprechende Einstellung der Bedingungskodes wertvolle Verarbeitungszeit verschenkt. Daher besteht ein Bedarf nach neuartigen Operandenvergleichern, die Vergleiche mit hoher Geschwindigkeit ausführen und die frühzeitige Einstellung der Bedingungskodes ermöglichen.
Der Erfindung liegt die Aufgabe zugrunde, eine der eingangs genannten Gattung entsprechende Vorrichtung zur Datenverarbeitung zu schaffen, welche eine ganz besonders rasche Erzeugung der Zustandskodes ermöglicht und Verzögerungen bei der Durchführung von Befehlen vermeidet, welche von den Eigenschaften zweier Operanden abhängen, wie z. B. Verzweigungsbefehlen.
Diese Aufgabe wird erfindungsgemäß durch die in dem Patentanspruch 1 genannten Merkmale gelöst.
Eine vorteilhafte Ausgestaltung der Erfindung ist im Patentanspruch 2 genannt.
Die frühzeitige Erzeugung der Zustandskodes geschieht durch einen Vergleich von Bit zu Bit der Bitstellungen jedes Operanden derart, daß eine vorbestimmte Gleichheitsbeziehung festgestellt wird, wobei unter der Gleichheitsbeziehung die erste Gleichheit oder Ungleichheit in einander entsprechenden Bits zu vestehen ist, die von einer höheren zu einer niederen Wertigkeit der Bits fortschreitend festgestellt wird. Das Kriterium zur Interpretierung des Vergleichs der Operanden wird in den Tabellen I bis IV weiter unten (siehe Seiten 10-14 der DE-OS 24 21 130) gegeben. Die Durchführung des Vergleichs durch den Operandenvergleicher erfolgt mit gegenüber dem bisherigen Stand der Technik außerordentlich hoher Geschwindigkeit. Durch den bitweisen Vergleich wird die erste Gleichheitsbeziehung zwischen einander entsprechenden Bits ermittelt, welche entweder Identität, d. h. einander entsprechende Bits gleich sind, oder Nichtidentität, d. h. daß einander entsprechende Bits ungleich sind, ergibt. Der Vergleich wird für positive und negative Operanden in Festkommaarithmetik oder in normalisierter Gleitkommaarithmetik ausgeführt. Die ermittelten Vergleichswerte sind "größer als", "kleiner als", "gleich" und "Überlauf" im Falle von Festkommaadditionen und -subtraktion. Bei Gleitkommaarithmetik ist die erste Gleichheitsbeziehung Nichtidentität. In entsprechender Weise ist bei Festkommaarithmetik, wenn beide Operanden positiv oder beide Operanden negativ sind, die erste Gleichheitsbeziehung Nichtidentität. Bei Festkommaarithmetik ist für Operanden mit entgegengesetztem Vorzeichen die erste Gleichheitsbeziehung Identität.
Bei Überlaufanzeige wird die Gleichheitsbeziehung mit Signalen kombiniert, welche angeben, ob es sich um eine Substraktions- oder eine Additionsinstruktion handelt.
Gemäß einer bevorzugten Ausführungsform der Erfindung werden zwei 32-bit-Operanden bitweise gleichzeitig und parallel zueinander verglichen, um die erste Gleichheitsbeziehung zu ermitteln.
Im folgenden wird die Erfindung anhand der Zeichnungen näher erläutert.
Fig. 1 ist ein Blockschaltbild eines Datenverarbeitungssystems, wobei die den erfindungsgemäßen Operandenvergleicher enthaltende Ausführungseinheit in weiteren Einzelheiten dargestellt ist.
Fig. 2 ist ein Blockschaltbild des erfindungsgemäßen Operandenvergleichers, der in die Logikblockstufen I, II, III, IV, V, VI, VII und VIII organisiert ist;
Fig. 3 sind schematische Darstellungen der Schaltungen innerhalb der Blöcke I, II, und III der Schaltung von Fig. 2;
Fig. 4 ist eine schematische Darstellung von Schaltungen innerhalb des Blocks III der Schaltung von Fig. 2;
Fig. 5 sind schematische Darstellungen der Schaltungen innerhalb des Blocks IV der Schaltung von Fig. 2;
Fig. 6 sind schematische Darstellungen der Schaltungen innerhalb des Blocks IV der Schaltung von Fig. 2;
Fig. 7 sind schematische Darstellungen von Schaltungen innerhalb des Blocks IV der Schaltung von Fig. 2;
Fig. 8 sind schematische Darstellungen von Schaltungen innerhalb des Blocks V der Schaltung von Fig. 2;
Fig. 9 sind schematische Darstellung von Schaltungen innerhalb des Blocks V der Schaltung von Fig. 2;
Fig. 10 sind schematische Darstellungen von Ausgangsschaltungen innerhalb der Blöcke VI, VII und VIII der Schaltung von Fig. 2;
Fig. 11 sind schematische Darstellungen von Schaltungen in Block VI der Schaltung von Fig. 2.
Das in Fig. 1 schematisch dargestellte Datenverarbeitungssystem besteht aus einem Hauptspeicher 2, einer Speichersteuerenheit 4, einer Instruktions- oder Befehlseinheit 8, einer Ausführungseinheit 10, einer Kanaleinheit 6 mit zugeordneten Ein- und Ausgabevorrichtungen und einem Bedienungspult 12. Das in Fig. 1 dargestellte Datenverarbeitungssystem arbeitet gesteuert durch Instruktionen, wobei eine organisierte Gruppe von Instruktionen ein Programm bildet. Instruktionen und die Daten, auf welche die Instruktionen einwirken, werden über die Ein-Ausgabevorrichtungen durch die Kanalheit 6 und durch die Speichersteuereinheit 4 hindurch in den Hauptspeicher 2 eingeführt. Vom Hauptspeicher 2 werden Instruktionen über die Speichersteuereinheit 4 durch die Instruktionseinheit 8 abgerufen (fetched), verarbeitet und steuern die Ausführung innerhalb der Ausführungseinheit 10. Das in Fig. 1 dargestellte Datenverarbeitungssystem ist aus Zweckmäßigkeitsgründen kompatibel mit den Systemen IBM 360 und IBM 370.
Zur Einführung sei hier ausgeführt, daß das Informationsformat bei diesem Datenverarbeitungssystem acht Bits zu einer Grundspeichereinheit organisiert, welche als "Byte" bezeichnet ist. Jedes Byte weist außerdem typischwerweise ein neuntes Paritätsbit zur Fehlerermittlung auf. Obwohl in der nachstehenden Beschreibung das neunte Bit in jedem Byte nicht ausdrücklich erwähnt ist, soll jedem Byte ein Paritätsbit zugeordnet sein, und das System soll in an sich bekannter Weise eine normale Paritätsprüfschaltung enthalten.
Zwei Bytes sind zu einem als Halbwort bezeichneten größeren Feld organisiert, und vier Bytes oder zwei Halbwörter sind zu einem als Wort bezeichneten, noch größeren Feld organisiert. Zwei Wörter bilden ein Doppelwort. Ein Wort besteht aus vier aufeinanderfolgenden Bytes. Diese Definitionen liegen der Beschreibung zugrunde, wobei jedoch vorausgesetzt werden soll, daß Wörter oder Bytes jeder beliebigen Anzahl von Bits entsprechen können.
Innerhalb des Datenverarbeitungssystems können unterschiedliche Datenformate verwendet werden, so daß demzufolge Instruktionen und Operanden unterschiedlicher Länge aufweisen, je nachdem welche Operation auszuführen ist. Die Instruktionsformate umfassen RR, RX, RS, SI und SS. Als typisches Beispiel umfaßt die RX-Instruktion einen 8-bit-OP-Kode, einen 4-bit-R 1-Kode, einen 4-bit-X 2-Kode, einen 4-bit-B 2-Kode und einen 12-bit- p 2-Kode. Der OP-Kode spezifiziert eine von 256 möglichen Instruktionen. Die Felder R 1, X 2 und B 2 identifizieren jeweils eines von 16 allgemeinen Registern. Das Feld D 2 enthält eine Verschiebungszahl (displacement number) zwischen null und 2¹². Als Beispiel für die RX-Instruktion addiert die Additionsinstruktion, abgekürzt ADD-Instruktion, den Inhalt des durch das Feld R 1 identifizierten Registers zum Inhalt der Hauptspeicherstelle, welche adressiert ist durch die Summe der Zahl im Feld D 2, addiert zum Inhalt des durch das Feld X 2 identifizierten Registers und wiederum addiert zum Inhalt des durch das Feld B 2 identifizierten Registers. Das Ergebnis wird in das Register eingegeben, welches durch das Feld R 1 identifiziert ist. Die RX-Instruktionen machen zwei Zugriffe zum Speicher für die Ausführung erforderlich, nämlich einen Zugriff zum Abrufen der Instruktion, und einen weiteren Zugriff zum Abrufen eines der beiden Operanden. Die RR-Instruktionen machen einen Speicherzugriff erforderlich, wohingegen die SS-Instruktionen drei oder mehrere Speicherzugriffe benötigen.
Die in Fig. 1 dargestellte Ausführungseinheit 10 umfaßt mehrere, mit 18, 19, 30 und 32 bezeichnete Funktionseinheiten, sowie eine als LUCK-Einheit 20 bezeichnete Funktionseinheit. Daten gelangen in die Ausführungseinheit 10 durch die LUCK- Einheit 20 über die Eingangs-Vielfachleitungen 285 und 286. Diese Eingangsdaten werden verarbeitet und führen zu einem Ergebnis in den allgemein mit 24, 25, 28 und 29 bezeichneten Registern. Die Daten in den Registern 24-29 werden anschließend über Gatter durch eine oder mehrere der anderen Funktionseinheiten 18, 19, 30 oder 32 durchgeschaltet, um im R-Register 34 ein Ergebnis zu bilden. Außerdem umfaßt die Ausführungseinheit 10 als Teil ihrer Steuerung Zustandstriggerschaltungen 141, einen Op-Dekoder 142 und verschiedene Zähler 143, welche zur Taktsteuerung innerhalb des Datenverarbeitungssystems dienen. Der Op-Dekoder 142 ist so geschaltet, daß ihm die gerade verarbeitete Instruktion von der Instruktionseinheit 8 in einem durch die Zähler 143 spezifizierten Zeitpunkt zugeführt wird, vorausgesetzt, daß eine entsprechende Zustandstriggerschaltung 141 anzeigt, daß eine Zustandskodebestimmung im laufenden Verarbeitungsgang erfolgen soll. Die Zustandstriggerschaltungen, im nachfolgenden kurz Trigger genannt, welche mit 141 bezeichnet sind, sowie der Dekoder 142 und die Zähler 143 dienen zur Einstellung entsprechender Steuer-Triggerschaltungen 145, vermittels welcher über die Leitungen 146 der durch den Operandenvergleicher 274 in der LUCK-Einheit 20 auszuführende Vergleich gesteuert wird. Wenn der Vergleich der in die LUCK-Einheit 20 eingeführten Operanden anzeigt, daß der Zustandskode für die Anzeige einer Verzweigung eingestellt werden soll, wird ein Ausgangssignal vom Operandenvergleicher 274 über die Leitungen 147 der Instruktionseinheit 8 zugeführt, in welcher dieses Signal dazu führt, daß die Instruktionsverarbeitungssteuerungen die von dem Zustandskode abhängige korrekte Entscheidung treffen.
Die LUCK-Einheit 20 bewirkt logische Operationen, Vergleiche, Zählvorgänge und Prüffunktionen an den Operanden OP 2 und OP 1, welche über die 32-bit-Vielfachleitungen 285 und 286 eingegeben werden. Die LUCK-Einheit 20 umfaßt allgemein fünf oder mehrere Logikstufen und mehrere Datenwege mit die angezeigten Funktionen darstellenden Ausgängen. Die erste Logikstufe I weist herkömmliche Phasenteiler 266 und 267 auf, welche aus den unipolaren Eingangssignalen in den Vielfachleitungen 285 und 286 bipolare Ausgangssignale bilden, die den Logikblöcken 270 und 271 zugeführt werden. Der Logikblock 270 führt Exklusiv-ODER-Funktionen an den Eingangsoperanden aus und liefert ein Ausgangssignal in der Vielfachleitung 283, sowie ein Eingangssignal für den Operandenvergleicher 274. Der Logikblock 271 führt Exklusiv-NOR-Funktionen an den Eingangsoperanden aus und liefert an seinem Ausgang ein Eingangssignal zum Operandenvergleicher 274. Einzelheiten des Operandenvergleichers 274 von Fig. 1: Der Operandenvergleicher 274 vergleicht das Eingangssignal OP 1 in der Vielfachleitung 286 mit dem Eingangssignal OP 2 in der Vielfachleitung 285. In Fig. 2 sind weitere Einzelheiten des Operandenvergleichers einschließlich der Phasenspalter 266 und 267 und der Logikblöcke 270 und 271 von Fig. 1 dargestellt. Die Phasenteiler 266 und 267, der Exklusiv-ODER-Logikblock 270 und der Exklusiv-NOR-Logikblock 271 bilden einen Teil des Operandenvergleichers, können jedoch auch als getrennte Einheiten ausgebildet sein, welche die erforderlichen Eingangssignale für den Operandenvergleicher 274 und die übrige Schaltung von Fig. 1 liefern. Wie Fig. 1 zeigt, werden dem Operandenvergleicher 274 zusätzliche Eingangssignale über die Vielfachleitung 146 von der Steuer- Triggerschaltung 145 und der Takt- und Steuerschaltung 924 zugeführt. Die Vielfachleitung 146 ermittelt Kriterien aus einer Dekodierung des Operationskodes der gerade in der LUCK-Einheit 20 verarbeiteten Instruktion und bildet Kriterien aus, durch welche der jeweils durch den Operandenvergleicher auszuführende Vergleich spezifiziert wird. Der Operandenvergleicher ermittelt, ob die Eingangsoperanden in den Vielfachleitungen 285 und 286 größer, kleiner oder gleich groß sind oder nicht und ermittelt außerdem, wenn eine Addition oder eine Subtraktion vorgegeben ist, ob ein Überlaufzustand besteht. Die Ergebnisse des Vergleichs werden vom Vergleicher 274 über die Leitungen 147 abgegeben. Diese Leitungen führen die vier Signale Zustandskode-gültig (CCV), Zustandskode-gleich-null (CC=0), Zustandskode-gleich-eins (CC=1) und Zustandskode-gleich-drei (CC=3). Wenn das Zustandskode-gültig- oder CCV-Signal erregt ist und die drei anderen Leitungen stromlos sind, wird aufgrund eines Fehlers der Konditionskode-gleich-zwei (CC=2)-Zustand angesetzt. Das Signal Zustandskode-gleich-null heißt, daß OP 1 gleich ist OP 2. Zustandskode-gleich-eins heißt, daß OP 1 kleiner ist als OP 2 in der Vergleichsinstruktion und weiter, daß das Ergebnis kleiner ist als null in den Additions- und Subtraktionsinstruktionen. Zustandskode-gleich-zwei heißt, daß OP 2 kleiner ist als OP 1 in der Vergleichsinstruktion und weiterhin, daß die Summe größer ist als null in den Additions- und Subtraktionsinstruktionen. Zustandskodegleich-drei heißt, daß eine Addition oder eine Subtraktion vorgegeben ist und daß diese Addition oder Subtraktion zu einem Überlauf führt. Ein Überlauf erfolgt dann, wenn der Übertrag in das Vorzeichenbit nicht das gleiche ist wie der Übertrag aus dem Vorzeichenbit. Der Wert des Zustandskodes wird über die Leitungen 147 an die Instruktionseinheit 8 angelegt und in dieser zur Steuerung der Instruktionsverarbeitung verwendet. Bei den vorgenannten Zustandskodeeinstellungen handelt es sich um typische Einstellungen. Im allgemeinen werden Zustandskodeeinstellungen zur Anzeige vieler unterschiedlicher Zustände innerhalb eines Datenverarbeitungssystems wie z. B. im System IBM 370 verwendet. Beim System der Fig. 1 sind für Festkommaarithmetik positive Zahlen in binärer Schreibweise und negative Zahlen in 2′er Komplementärbinärschreibweise, wobei das Bit hoher Ordnung das Vorzeichen angibt. Für Gleitkommaarithmetik gibt das Bit hoher Ordnung das Vorzeichen an, die nächsten sieben Bits von der hohen zur niedrigen Ordnung geben einen Exponenten an, während die übrigen vierundzwanzig Bits einen Bruchteil angeben. Beim Operandenvergleicher nach der Erfindung sind die Bruchteile von Gleitkommaoperanden auf Hexadezimalziffernbasis normalisiert, um sämtliche hexadezimalen Nullen hoher Ordnung zu eliminieren. Die logischen Funktionen des in Fig. 2 dargestellten Operandenvergleichers werden nun anhand der nachstehenden Tabelle I bis IV näher erläutert. In diesen Tabellen werden die Operanden OP 1 und OP 2 bitweise, d. h. Bit um Bit verglichen. Jedes Bit in Operand OP 1 wird mit dem entsprechenden im Operanden OP 2 in einer Reihenfolge verglichen, welche vom Bit hoher Ordnung zum Bit niedriger Ordnung fortschreitet. Die Vergleiche erfolgen entsprechend einer Anzahl von Regeln, die in den nachstehenden Tabellen angegeben sind. Wenn im Falle von Festkommaarithmetik die Operanden OP 1 und OP 2 entweder beide positiv oder beide negativ sind, lassen sich die Vergleichsregeln in der nachstehenden Tabelle I wie folgt zusammenfassen: In Tabelle I gibt die mit "ERSTE DIFF BIT STELLUNG" bezeichnete Spalte an, ob eine Ungleichheitsbeziehung ("DIFF" oder Differenz soll Nichtidentität bedeuten) während des bitweisen Vergleichs von erstem und zweitem Operanden, die der Schaltung von Fig. 2 zugeführt werden, ermittelt wird. Die "ERSTE" Bitstellung, in welcher eine Ungleichheit besteht, ist diejenige Stellung, welche bei Beginn mit dem Bit höchster Ordnung und Fortschreiten zu dem Bit niedrigster Ordnung während des bitweisen Gleichheitsvergleichs ermittelt wird. Die mit OP 1 bezeichnete Spalte gibt an, ob der Operand OP 1 positiv (pos) oder negativ (neg) ist und ob das erste "Differenzbit" ("DIFF" BIT) für OP 1 eine eines (1) oder eine Null (0) ist, was in den Fällen 3-6 durch die nachgestellten Ziffern 1 bzw. 0 angezeigt ist. Die Spalte OP 2 gibt für den Operanden OP 2 die gleiche Information wie die Spalte OP 1 für den ersten Operanden an. Die Spalte VGL = Vergleich gibt die Beziehung zwischen OP 1 und OP 2 an, wenn die in den vorstehenden drei Spalten angegebenen Bedingungen herrschen. Die Vergleichsbeziehung von OP 1 und OP 2 ist ein Größenvergleich. Die mit "Schaltung" bezeichnete letzte Spalte gibt den jeweiligen Schaltungsblock in Fig. 2, in welchem der dargestellte Vergleich ausgeführt wird. In den Fällen 1 und 2 von Tabelle I sind die Bedingungen angegeben, daß jedes Bit in Operand OP 1 identisch ist dem jeweils entsprechenden Bit im Operanden OP 2. Unter diesen Bedingungen ist OP 1 gleich OP 2, wenn beide Operanden entweder positiv oder negativ sind. In den Fällen 3 und 4 von Tabelle I sind beide Operanden positiv. Die erste Bitstellung in der Gleichheitsbestimmung, in welcher die erste Ungleichheit auftritt, gibt vor, welcher Operand größer ist. Bei den hier dargestellten Beispielen ist der Operand, der in der ersten Ungleichheitsstellung eine Eins (1) aufweist, größer als der andere Operand, der in der entsprechenden Bitstellung eine Null (0) aufweist. In den Fällen 5 und 6 von Tabelle I sind beide Operanden negativ. Der Operand, welcher in der ersten Ungleichheitsstellung die Null aufweist, ist größer als der andere Operand, welcher in der entsprechenden Bitstellung eine Eins aufweist. Wenn bei Festkommaarithmetik die Operanden OP 1 und OP 2 entgegengesetztes Vorzeichen aufweisen, d. h. der eine Operand positiv und der andere Operand negativ ist, lassen sich die Vergleichsregeln wie folgt in Tabelle II zusammenfassen: In Tabelle II gibt die mit "ERSTE "SAM" BIT STELLUNG" bezeichnete Spalte an, ob eine Gleichheitsbeziehung ("SAM" steht als Abkürzung für "SAME", das englische Wort "gleich") während des bitweisen Vergleichs ermittelt wird. In Tabelle II ist der positive Operand (pos) in gerader Binärschreibweise dargestellt, während der negative Operand (neg) in 2′er Komplementärschreibweise dargestellt ist. Wie oben werden die Operanden auf Gleichheit bitweise verglichen, wobei die Reihenfolge von dem Bit höchster Ordnung zum Bit niedrigster Ordnung verläuft. Während die Vergleichsreihenfolge logisch von hoch zu niedrig erfolgt, wird der tatsächliche Vergleich vorzugsweise parallel und gleichzeitig auf Zeitbasis durchgeführt. Im Falle von Tabelle II erfolgt der Vergleich, um die erste Identität (beide Einsen oder beide Nullen) zu ermitteln, welche durch die Spalte "ERSTE "SAM" Bit STELLUNG" (erste Bitstellung mit gleichen Bits) angezeigt ist. In den Fällen 1 und 2 von Tabelle II ist kein Bit in den einander entsprechenden Bitstellen gleich. Unter diesen Bedingungen ist der Absolutwert des positiven Operanden kleiner als der Absolutwert des negativen Operanden. In den Fällen 3 und 4 von Tabelle II handelt es sich bei der ersten Stellung mit gleichen Bits um eine Stellung, in welcher diese Bits Nullen sind. Unter diesen Bedingungen ist der Absolutwert des positiven Operanden kleiner als der Absolutwert des negativen Operanden. In den Fällen 5 und 6 von Tabelle II sind in der ersten Stellung mit identischen Bits die betreffenden Bits Einsen. Unter diesen Bedingungen ist der Absolutwert des positiven Operanden größer oder gleich dem Absolutwert des negativen Operanden. In den Fällen 7 und 8 von Tabelle II handelt es sich bei der ersten Stellung mit identischen Bits um eine Stellung, in welcher die Bits beide Einsen sind, wobei außerdem alle nachfolgenden Bits niedriger Ordnung Nullen sind. Unter diesen Bedingungen sind positiver und negativer Operand gleich. Im Falle normalisierter Gleitkommaarithmetik sind die Vergleichsregeln die gleichen wie die vorstehend in Tabelle I für positive Operanden angegebenen, mit der Ausnahme, daß das erste Bit in jedem Gleitkommaoperanden getrennt behandelt werden muß, da es sich dabei um das Vorzeichenbit handelt. Der Vergleich ist gültig für die ersten sieben Bits, welche den Exponenten spezifizieren, sowie auch für die übrigen 24 Bits, welche einen Bruchteil spezifizieren. Es muß nicht festgestellt werden, ob ein Bruchteilbit oder ein Exponentenbit an der ersten Differenzbitstellung steht, welche in der Gleichheitssuche ermittelt wird. Zusammenfassend läßt sich sagen, daß der Operandenvergleicher 274 die Größen von OP 1 und OP 2 sowohl für normalisierte Gleitkommaarithmetik als auch für Festkommaarithmetik und für positive und negative Operanden vergleicht, wobei die gleichen allgemeinen Vergleichsregeln gültig sind. Dazu ist zu bemerken, daß die Gleichheitssuche (Suche nach Identität) anhand der in Tabelle II dargestellten Vorgänge umgekehrt ist zur Gleichheitssuche (auf Nichtidentität) für die in Tabelle I dargestellten Operationen.
Außer dem anhand der Tabellen I und II dargestellten Größenvergleich ermitelt der in Fig. 2 dargestellte Operandenvergleicher auch Überlaufbedingungen bei Addition und Subtraktion von Operanden, wobei die Operanden tatsächlich nicht addiert oder subtrahiert werden. Eine Instruktion, welche Operationen mit zwei Operanden angibt, führt im Falle der Addition zu einer Summe und im Falle der Subtraktion zu einer Differenz, welche die Kapazität des Datenverarbeitungssystems überschreitet. Eine Möglichkeit, um festzustellen, ob ein Überlauf erfolgt oder nicht, ist, die spezifizierte Instruktion tatsächlich auszuführen und dadurch festzustellen, ob ein Überlauf stattfindet oder nicht. Entsprechend der Erfindung wird dagegen bevorzugt ein Vergleich der Operanden vorgenommen, wobei der Operationskode der Additions- und Subtraktionsinstruktion dekodiert wird.
Die Formatregeln in einem typischen System für die Operanden sind die gleichen wie die anhand von Tabellen I und II beschriebenen. Bei Festkommaarithmetik sind Binärziffern in binärer Schreibweise und negativen Ziffern in 2′er Komplementärschreibweise. Das erste Bit hoher Ordnung ist das Vorzeichenbit, welches für positive Zahlen und für negative Zahlen eine Eins ist.
Die Überlaufanzeige soll zunächst anhand einer Addition beschrieben werden, bei welcher die Operanden OP 1 und OP 2 entsprechend einer Instruktion addiert werden. Die Operanden OP 1 und OP 2 liegen als Eingänge an dem Vergleicher der Fig. 2,wobei sich die Operationsregeln im Falle einer Addition wie nachstehend in Tabelle III angegeben zusammenfassen lassen:
Tabelle III
(Additionsüberlauf)
In Tabelle III werden die Operanden OP 1 und OP 2 auf Identitäts- Gleichheitsbeziehung bitweise von dem Bit höchster Ordnung ausgehend fortlaufend bis hin zum Bit niedrigster Ordnung verglichen. Die mit ERSTE "SAM" BIT STELLUNG bezeichnete Spalte gibt an, ob ein Bit in dem einen Operanden das gleiche (Identität) ist wie das entsprechende Bit im anderen Operanden. Im Falle 1 wird die Identitäts- oder Gleichheitsbeziehung in keiner der einander entsprechenden Bitstellen festgestellt, so daß mit beiden Operanden positiv kein Überlauf besteht. Im Falle 2 besteht die Gleichheitsbeziehung der Identität für die ersten einander entsprechenden Bits aus Nullen, und da beide Operanden positiv sind, besteht kein Überlauf. Im Falle 3 sind die ersten Identitätsbits Einsen, und da beide Operanden positiv sind, wird ein Überlaufzustand ermittelt. Im Falle 4 wird keine Identität in einander entsprechenden Bits gefunden, und da beide Operanden negativ sind, besteht ein Überlaufzustand. Im Fall 5 sind die ersten Identitätsbits Nullen, und da beide Operanden negativ sind, besteht ein Überlaufzustand. Im Fall 6 sind die ersten Identitätsbits Einsen, und da beide Operanden negativ sind, besteht kein Überlaufzustand. In den Fällen 7 und 8 besteht für jede Gleichheitsbeziehung zwischen einem negativen und einem positiven Operanden kein Überlaufzustand. Die Überlaufzustandsermittlung im Vergleicher der Fig. 2 bei Subtraktion von OP 2 von OP 1 erfolgt entsprechend den in der nachstehenden Tabelle IV zusammengefaßten Regeln: Der Vergleich der Operanden OP 1 und OP 2 erfolgt bitweise von den Bits hoher Ordnung zu den Bits niedriger Ordnung, wobei das Vorzeichenbit hoher Ordnung unberücksichtigt bleibt. Für Subtraktion ist die gesuchte Gleichheitsbeziehung Nichtidentität, d. h. das erste Auftreten eines Unterschiedes ("DIFF") zwischen den einander entsprechenden Bits in OP 1 und OP 2. Im Fall 1 der Tabelle IV wird die Gleichheitsbeziehung nicht gefunden, da keines der einander entsprechenden Bits einen Unterschied zeigt, so daß wenn OP 1 positiv und OP 2 negativ ist, ein Überlaufzustand besteht. Im Fall 2 wird kein Unterschied gefunden, die Gleichheitsbeziehung der Nichtidentität besteht nicht und da OP 1 negativ und OP 2 positiv ist, besteht kein Überlaufzustand. Im Fall 3 wird die Gleichheitsbeziehung für eine positive Eins für OP 1 und eine negative Null für OP 2 gefunden, wodurch ein Überlaufzustand erzeugt wird. Im Fall 4 wird die Gleichheitsbeziehung mit einer positiven Null für OP 1 und einer negativen Eins für OP 2 gefunden, wodurch kein Überlaufzustand erzeugt wird. Im Fall 5 wird die Gleichheitsbeziehung mit einem negativen Eins für OP 1 und einer positiven Null für OP 2 gefunden, wodurch kein Überlaufzustand erzeugt wird. Im Fall 6 wird die Gleichheitsbeziehung mit einer negativen Null für OP 1 und einer positiven Eins für OP 2 gefunden, wodurch ein Überlaufzustand erzeugt wird. Im Fall 7 wird die Gleichheitsbeziehung für beide positiven Operanden OP 1 und OP 2 gefunden, wodurch kein Überlaufzustand erzeugt wird. Im Fall 8 wird die Gleichheitsbeziehung für beide Operanden OP 1 und OP 2 negativ gefunden, bei welcher kein Überlaufzustand erzeugt wird. In den Tabellen I, II, III und IV sind die logischen Vergleiche angegeben, welche durch den Operandenvergleicher 274 in den Fig. 1 und 2 ausgeführt werden. Alle Vergleiche beruhen sowohl für Größenvergleich als auch für Überlaufermittlung auf einer gemeinsamen Vergleichstechnik. Diese Vergleichstechnik besteht aus einem bitweisen, d. h. Bit um Bit fortschreitenden Vergleich der Bitstellen beider Operanden zwecks Ermittlung einer vorbestimmten Gleichheitsbeziehung. Diese Gleichheitsbeziehung ist die erste Identität oder erste Nichtidentität in einander entsprechenden Bits, welche in der Reihenfolge von Bits hoher Ordnung zu Bits niedriger Ordnung geprüft werden. Die Kriterien für die Interpretation des Operandenvergleichs sind in den vorstehenden vier Tabellen angegeben. Diese Kriterien sind die Vorzeichen der Operanden (positiv oder negativ), der Arithmetiktyp (Gleitkomma oder Festkomma), der Wert (Eins oder Null) der die Identitätsbeziehung aufweisenden ersten Bitstelle und die Beschaffenheit der auszuführenden Operation (Addition, Subtraktion, Vergleich usw.). Der in Fig. 2 schematisch dargestellte Operandenvergleicher weist acht Logikstufen I bis VIII auf. In der Stufe I entsprechen die Phasenteiler 266 und 267 den die gleichen Bezugszeichen aufweisenden Phasenteilern von Fig. 1, welche jeweils an die 32-bit-Eingangs-Vielfachleitung 285 bzw. 286 angelegt sind. Der Operand OP 1 wird über die Vielfachleitung 286 zugeführt und besteht aus den 32 bits +a (0), +a (1), . . . +a (31), welche in Block I-1 als +a (0 . . . 31) bezeichnet sind. Der Block I-1 weist 32 Phasenteiler, nämlich einen für jeden der 32 Eingänge auf, welche die 32 bipolaren Ausgänge ±a (0), ±a (1), . . . ±a (31) liefern, die als ±a (0) . . . 31) bezeichnet sind. In entsprechender Weise werden dem Block I-2 die 32 Eingänge +b (0), +b (1), +b (2), . . . +b (31) zugeführt, die als +b (0 . . . 31) bezeichnet sind und die 32 Paare bipolarer Ausgangssignale ±b (0), ±b (1), . . . ±b (31) liefern, welche als ±b (0 . . . 31) bezeichnet sind. In Fig. 3 sind die Blöcke I-1 und I-2 in weiteren Einzelheiten in Verbindung mit einer typischen einzelnen Bistelle für das Bit 0 dargestellt. In Fig. 3 bilden die +a (0)-Eingänge die -a 0)- und die +a (0)-Ausgänge. Das Null-Bit (0) ist typisch für die 32 bits, welche durch "X 32" in den rechten unteren Ecken der Blöcke I-1 und I-2 dargestellt sind. Das Eingangssignal +b (0) wird in entsprechender Weise phasengespalten und bildet die bipolaren Ausgangssignale -b (0) und +b (0) oder vereinfacht ±b (0).
Die Ausgangssignale beider Blöcke I-1 und I-2 von Fig. 2 sind als Eingänge an die Blöcke II-1 bis II-4 in der zweiten Logikstufe II geschaltet.
In Fig. 2 bilden die mit 270 bezeichneten Logikstufen II-1 die Exklusiv-ODER-Werte der entsprechenden Bits von OP 1 und OP 2. Die Eingänge ±a (0 . . . 31) und ±b (0 . . . 31), welche von der Logikstufe I geliefert werden, bilden die 32 Ausgangssignale -DIF (0 . . . 31).
Die in Fig. 3 dargestellte Schaltung II-1 für das Bit 0 ist typisch für die 32 Exklusiv-ODER-Schaltungen. Die Eingänge +a (0), +b (0), -a (0) und -b (0) werden kombiniert und bilden das Exklusiv-ODER-Ausgangssignal -DIF (0). Das -DIF (0)-Ausgangssignal ist eine Eins, wenn die Eingangsbits +a (0) und +b (0) der Operanden OP 1 und OP 2 gleich sind, und ist eine Null, wenn diese Bits unterschiedlich sind. Der mit 271 bezeichnete Block II-2 von Fig. 2 bildet den Exklusiv-NOR-Wert der Eingangsoperanden auf bitweiser Basis und bildet die 32 Ausgangssignale -SAM (0 . . . 31) aus.
Der Block II-2 in Fig. 3 zeigt eine typische Exklusiv-NOR-Schaltung für das Bit 0. Die Eingägne -a (0), +b (0), +a (0) und -b (0) erzeugen das Ausgangssignal +DIF (0).
In Fig. 2 bildet der Block II-3 ODER/NOR und UND/NAND-Kombinationen der Nullbits von OP 1 und OP 2. Da die Nullbits die Vorzeichenbits darstellen, geben die Ausgangssignale der Schaltung von Block II-3 die positiven und negativen Vorzeichenverhältnisse zwischen OP 1 und OP 2 vor. Fig. 3 zeigt Einzelheiten der Vorzeichenbitvergleiche in Block II-3. So stellt beispielsweise das Gatter 920 ein typisches Gatter, an welchem die Eingangsbits +a (0) und +b (0) zu den Ausgangssignalen +OPS POS und -OPS POS führen. Das Gatter 920 führt die logischen Funktionen eines NOR/ODER- Gatters für positive Eingangssignale aus. Andererseits führt das Gatter auch die logischen Funktionen eines NAND/UND-Gatters für negative Eingangssignale aus. Dementsprechend bildet das Gatter 920 zur Ausbildung der Ausgangssignale +OPS POS die ODER/NOR-Funktion von +a (0) und +b (0). Andererseits kann das Gatter 920 auch die UND/NAND-Funktion von -a (0) und -b (0) ausführen. Das Gatter 920 ist typisch für die Gatter im erfindungsgemäßen Operandenvergleicher. Alle diesem Gatter 920 entsprechenden Gatter lassen sich als NOR/ODER-Gatter für positive Eingangssignale oder als NAND-Gatter für negative Eingangssignale bezeichnen. Die logischen Funktionen sind wie angedeutet unabhängig von der jeweils bevorzugten Nomenklatur.
In Fig. 2 bildet der Block II-4 insgesamt 32 ODER-Verknüpfungen an jedem der entsprechenden Bits 0 bis 32 für OP 1 und OP 2, welche die 32 Ausgangssignale -Z (0 . . . 31) bilden.
Der Block II-4 von Fig. 3 ist typisch für die 32 Bits, insbesondere Bit 0. Die Eingangssignale +a (0) und +b (0) erzeugen das ODER-Ausgangssignal -Z (0), das eine Eins ist, wenn eines der beiden Eingangssignale nicht Null ist.
Die Blöcke III-1, III-2 und III-3 von Fig. 2 bilden logische UND-Werte von Ausgangssignalgruppen der Schaltungen in Stufe II. So kombiniert insbesondere der Block III-1 die Signalgruppen -DIF (0 . . . 31) logisch und bildet wie in Einzelheiten in den Fig. 3 und 4 dargestellt die Gruppendifferenzsignale -DIF (G).
Anhand Block III-1A von Fig. 3 und Block III-1B von Fig. 4 soll nunmehr eine typische Schaltung beschrieben werden. Die Schaltung mit den Eingängen -DIF (14) und -DIF (15) bildet die logische NAND-Verknüpfung dieser Signale und liefert das Ausgangssigal -DIF (14-15). Sämtliche anderen Schaltungen in Block III-1A werden einmal (X 1) verwendet, um die angezeigten NAND-Ausgangssignale zu liefern. In Fig. 4 und Block III-1B werden einige Schaltungen mehrfach verwendet. So erzeugt beispielsweise die Schaltung mit den Eingängen -DIF (14) und -DIF (15) im Schaltungsblock III-1B den NAND-Ausgang -DIF (14-15). Wie durch das Symbol X 2 angedeutet, wird diese Schaltung doppelt verwendet und bildet durch NAND-Verknüpfung der Eingangssignale -DIF (22) und -DIF (23) das Ausgangssignal -DIF (22-23). In entsprechender Weise ist die zweite Schaltung von oben in Block III-1B von Fig. 4 insgesamt vierfach (X 4) dupliziert. Die erste Verwendung dieser Schaltung ist mit den Eingängen -DIF (1), -DIF (2) und -DIF (3), welche durch NAND-Verknüpfung das Ausgangssignal -DIF (1-3) bilden. Diese Schaltung wird ein zweites, drittes und viertes Mal verwendet, bis bei der vierten Verwendung die Eingangssignale -DIF (25), -DIF (26), -DIF (27) durch NAND-Verknüpfung das Ausgangssignal -DIF (25-27) bilden.
Der Block III-2 von Fig. 2 bildet die NAND-Verknüpfungen der Signalgruppen -SAM (0 . . . 31), welche von Block II-2 geliefert werden. Die Ausgangssignale des Blocks III-2 sind die in Fig. 4 dargestellten Gruppen-UND-Signale -SAM (G). In Fig. 4 werden die Schaltungen von Block III-2 ebenfalls wie dargestellt doppelt verwendet.
In Fig. 2 bildet der Block III-3 die Gruppen-NAND-Verknüpfungen von Signalkombinationen -Z (0 . . . 31), welche von Block II-4 geliefert werden. Einzelheiten der Schaltung von Block III-3 sind in Fig. 4 dargestellt.
In Fig. 2 besteht die Logikstufe IV aus den Blöcken IV-1, IV-2, IV-3, IV-4 und IV-5. Der Block IV-1 bildet durch UND-Verknüpfung Kombinationen der Signale -DIF (0 . . . 31), -a (1 . . . 31), -SAM (G) und -SAM (X) und bildet die vier Ausgangssignale +ERSTE DIF (A . . . D). Ein Ausgangssignal von Block IV-1 zeigt an, daß in der ersten Bitstelle ein Unterschied zwischen entsprechenden Bits in OP 1 und OP 2 besteht, indem OP 1 an dieser Stelle eine Eins (und OP 2 notwendigerweise eine Null) aufweist. Der in Fig. 5 dargestellte Block IV-1 weist vier Schaltungsgruppen auf, welche die Ausgangssignale +ERSTE DIF (A), +ERSTE DIF (B), +ERSTE DIF (C), und +ERSTE DIF (D), erzeugen. Wenn diese vier Signale ihrerseits in ODER-Verknüpfungen verbunden werden, bedeutet eine Eins, daß die erste Unterschiedsbitstelle eine Eins in Operand OP 1 ist. In den Schaltungen, welche das erste Ausgangssignal +ERSTE DIF (A) erzeugen, sind sieben UND- Gatter an ihren Ausgängen logisch in ODER-Schaltung miteinander verknüpft. Das Gatter mit den Eingängen -DIF (1) und -a (1) bildet eine logische UND-Verknüpfung dieser Eingänge und erzeugt das Ausgangssignal +DIF (1). Wenn +DIF (1) eine Eins ist, ist dadurch angezeigt, daß Bit 1 von Operand OP 1 eine Eins ist, wenn zwischen Bit 1 von OP 1 und OP 2 eine Differenz besteht. In Fig. 5 erzeugt das Gatter mit den Eingängen -SAM (1), -DIF (2) und -a (2) ein Ausgangssignal, wenn sämtliche Bits höherer Ordnung von Bit 2 (mit Ausnahme des Vorzeichenbits) gleich sind, die entsprechenden Bits 2 von OP 1 und OP 2 unterschiedlich sind und Bit 2 in Operand OP 1 eine Eins ist. In Fig. 5 erzeugt das Gatter mit den Eingängen -SAM (1-3), -DIF (4) und -a (4) ein Ausgangssignal, wenn sämtliche Bits höherer Ordnung von Bit 4 an gleich sind, Bit 4 in OP 1 und OP 2 unterschiedlich ist und Bit 4 in Operand OP 1 eine Eins ist. In entsprechender Weise werden die Gatter von Block IV-1 mit den Eingängen -a (17) und -a (25) abgetastet, um zu ermitteln, ob ein Unterschied in den entsprechenden Bits besteht und ob alle Bits hoher Ordnung mit Ausnahme des Vorzeichenbits gleich sind. Wenn eines der sieben angedeuteten Gatter ein Ausgangssignal erzeugt, erzeugt die DOT-ODER-Verknüpfung ein Ausgangssignal, welches zur Entstehung des Signals +ERSTE DIF (A) führt.
Die zweite Gatterspalte in Fig. 5 gilt für die Bitstellen 20, 18, 14, 12, 10, 7, 5 und 3 und erzeugt ein Ausgangssignal bei +ERSTE DIF (B), wenn für eines dieser Bits das OP 1-Bit eine Eins ist, sämtliche Bits höherer Ordnung für beide Operanden gleich sind und die entsprechende Bitstelle in OP 2 eine Null ist. Die vier Signale +ERSTE DIF (A . . . D), suchen zusammen sämtliche Bits 1 bis 31 ab, so daß ein logisches ODER dieser vier Signale anzeigt, daß bei erstmaliger Erregung ein Unterschied aus einer 1 in OP 1 besteht. Die Schaltung von Block IV-1 in Fig. 5 führt die erste Differenzsuche aus, welche in Verbindung mit den vorstehenden Tabellen Iund IV erforderlich ist. In Fig. 2 erhält der Block IV-2 die Gruppen-UND-Signale -DIF (G), und als -DIF (X) bezeichnete ausgewählte einzelne -DIF (0 . . . 31)-Signale zugeführt und erzeugt die Ausgangssignale ±DIF (0 . . . 31) und ±DIF (1 . . . 31). Die Signale ±DIF (0 . . . 31) und ±DIF (1 . . . 31) zeigen an, daß eine Differenz an jeder Bitstelle 0 bis 31 bzw. 1 bis 31 besteht. Die Einzelheiten des Blocks IV-2 sind in Fig. 7 dargestellt. Die Eingänge -DIF (1-24), -DIF (25-29), -DIF (30), -DIF (31) und -DIF (0) werden logisch UND-Verknüpft zum Ausgangssignal +DIF (0-31), sowie logisch NAND-verknüpft zum Ausgangssignal -DIF (0-31). Die Ausgänge für Bits 1 bis 31 werden in entsprechender Weise gebildet, mit dem Unterschied, daß das Eingangssignal für Bit 0 nicht an das UND/NAND-Gatter angelegt ist.
In Fig. 2 zeigt der Block IV-3 bei Erregung an, daß die ersten, in einander entsprechenden Bitstellen von OP 1 und OP 2 identischen Bits Einsen sind. Der Block IV-3 weist die Eingänge -SAM (0 . . . 31), -a (1 . . . 31), -DIF (X) auf. Die Einzelheiten des Blocks IV-3 sind in Fig. 6 dargestellt und analog zu dem vorstehend beschriebenen Block IV-1. In Fig. 6 wird jede Bitstelle von 1 bis 31 auf Identität geprüft, unter der Bedingung, daß sämtliche Bits hoher Ordnung mit Ausnahme des Vorzeichenbits unterschiedlich sind. Die Ausgänge jeder Bitstelle werden durch ODER-Verknüpfung zu den vier Signalen +ERSTE SAM (A . . . D) geformt, die bei ODER-Verknüpfung und nach Erregung anzeigen, daß das erste Gleichheitsbit eine Eins ist. Der Block IV-3 erzeugt außerdem die Ausgänge -ERSTE 1 SAM für jede der Bitstellen 1 bis 31. So zeigt beispielsweise das Ausgangssignal -ERSTE 1 SAM (25) an, daß die Bitstelle 25 die erste Bitstelle mit Gleichheit ist.
Die Schaltung von Block IV-3 von Fig. 3 führt die gleiche Suche in Verbindung mit den vorstehenden Tabellen II und III aus.
Der in Fig. 2 dargestellte Block IV-4 verwendet eine Kombination von -SAM-Signalen für sämtliche Bits 0 bis 31 oder 1 bis 31 zwecks Herleitung von Identitätsbeziehungen mit oder ohne Vorzeichen für OP 1 und OP 2. So verknüpft insbesondere die erste Schaltung von Block IV-4 in Fig. 7 durch UND- und NAND- Verknüpfung die Eingangssignale -SAM (1-24), -SAM (25-29), -SAM (30) und -SAM (31), um die Identität von OP 1 und OP 2 unter Nichtbeachtung des 0-Bits hoher Ordnung anzuzeigen. Die zweite Schaltung des Blocks IV-4 führt den UND-NAND-Vergleich außerdem einschließlich des 0-Bits aus. Die dritte Schaltung von Block IV-4 in Fig. 7 erzeugt die gleichen Ausgangssignale wie die erste Schaltung und zeigt an, daß sämtlche Bits in den Opeanden OP 1 und OP 2 von 1 bis 31 identisch sind, wobei die dritte Schaltung aus Stromversorgungsgründen zusätzlich zur ersten Schaltung eingeschlossen ist. Die Schaltung IV-2 (2) wird für die Bedingungen verwendet, welche in den Fällen 1 und 2 der vorstehenden Tabelle I genannt sind. Der Block IV-5 von Fig. 2 erhält Eingangssignale -Z (G) von dem Gruppen-NAND-Block III-3 und ausgewählte der Signale -Z (0 . . . 31) von den ODER-Gattern des Blocks II-4. Die Funktion des Blocks IV-5 besteht darin, Ausgangssignale -ZR zu erzeugen, welche angeben, daß sämtliche Bits niedriger Ordnung Nullen sind, beginnend mit einander entsprechenden, unterschiedlichen Bits in beiden Operanden. In Fig. 7 sind die Einzelheiten von Block IV-5 dargestellt. Als typisches Gatter verknüpft das Gatter mit den Eingängen -Z (3), -Z (4-7) und -Z (8-31) bei seiner entsprechenden Ansteuerung durch NAND-Verknüpfung diese Eingangssignale und erzeugt ein Ausgangssignal -ZR 3. Das Eingangssignal -Z (3) zeigt an, daß in OP 1 und OP 2 beide Bits 3 Nullen sind. Das Eingangssignal -Z (4-7) zeigt an, daß sämtliche Bits 4 bis 7 in beiden Operanden Nullen sind. Das Eingangssignal -Z (8-31) zeigt an, daß sämtliche Bits 8 bis 31 in beiden Operanden Nullen sind. Das Ausgangssignal -ZR 3 zeigt daber an, daß sämtliche Bits 3 bis 31 einschließlich in beiden Operanden Nullen sind. In entsprechender Weise erzeugen sämtliche anderen Gatter in Block IV-5 von Fig. 7 Signale, welche anzeigen, daß sämtliche Bits niedriger Ordnung einschließlich der nachgestellten Ziffer bis hin zu Bit 31 einschließlich identisch gleich Null sind in beiden Operanden. Der Nullzustand von Bits niedriger Ordnung, welcher durch die Schaltung IV-5 erzeugt wird, wird für die Fälle 7 und 8 der Tabelle II verwendet. In Fig. 2 erhält der Block V-1 die Eingangssignale +ERSTE DIF (A . . . D) zugeführt und verknüpft diese durch ODER- oder NOR- Verknüpfung zur Erzeugung der Ausgangssignale ±ERSTE DIF PLUS. Wie in Block V-1 von Fig. 9 im einzelnen angedeutet, besteht die Funktion des Blocks V-1 darin, eine ODER-Verknüpfung der Eingangssignale und Ausgangssignale zu bilden, durch welche angezeigt wird, daß der erste Unterschied in entsprechenden Bits von OP 1 und OP 2 von hoher Ordnung zu niedriger Ordnung eine Eins in OP 1 und eine Null in OP 2 ist. Der Block V-2 in Fig. 2 erhält die vier Eingangssignale +ERSTE SAM (A . . . D) zugeführt und bildet eine ODER- oder NOR- Verknüpfung derselben zwecks Herleitung der Ausgangssignale ±ERSTE SAM PLUS. Die ODER-NOR-Verknüpfung ist in Einzelheiten in Block V-2 dargestellt. Die Ausgänge ±ERSTE SAM PLUS zeigen an, daß an der ersten Stelle von der hohen zur nierigen Ordnung, in welcher einander entsprechende Bits von OP 1 und OP 2 identisch sind, die Indentität aus einer Eins besteht. Der Block V-3 von Fig. 2 bildet die NOR-Verknüpfung der Eingänge +ERSTE SAM (A . . . D), +DIF (0-31), -DIF (0) und +a (0) zwecks Bildung der Ausgangssignale -UN 1 und -UN 2. Die Einzelheiten von Block V-3 sind in Fig. 9 dargestellt, in welcher die erste Schaltung das Ausgangssignal -UN 1, und die zweite Schaltung das Ausgangssignal -UN 2 erzeugt. In der ersten Schaltung ist das obere Gatter ein NOR-Gatter, welches bei Vorhandensein einer Gleichheit anzeigt, ob diese erste Gleichheit eine Eins ist. Das untere Gatter ist ein NAND-Gatter, welches anzeigt, daß nicht alle Bits 0 bis 31 unterschiedlich sind, +DIF (0-31), und daß Bit 0 unterschiedlich, -DIF (0), sowie daß OP 1 positiv, +a (0) ist. Das Ausgangssignal -UN 1 ist ein ODER-Wert der negativen Ausgangssignale beider Gatter und zeigt an, daß OP 1 größer oder gleich ist in Absolutwert zu OP 2. Die Schaltung V-3-1 von Fig. 9 wird verwendet bei Ausführung des Vergleichs im Falle 5 der vorstehenden Tabelle II. In entsprechender Weise zeigt die zweite Schaltung von Block V-3 in Fig. 9 an, daß OP 2 größer oder gleich ist im Absolutwert zu OP 1, wie in Fall 6 von vorstehender Tabelle II angegeben. Der Block V-4 von Fig. 2 bildet die UND-Verknüpfung der Signale -ERSTE 1 SAM (1 . . . 31), -DIF (0) und -ZR und bildet die Ausgangssignale +OP 1 = OP 2 (A . . . D). Die Funktion von Block V-4 besteht darin, bei unterschiedlichen 0-Bits (Operanden entgegengesetzten Vorzeichens) und erster Gleichheit in Form einer Eins anzuzeigen, daß sämtliche Bits niedriger Ordnung von der ersten Gleichheitsbitstelle an Nullen sind.
In Fig. 8 sind Einzelheiten von Block V-4 dargestellt. Dieser weist vier Schaltungen auf, welche die vier Signale OP 1 = OP 2 (A . . . D) erzeugen. Das erste Gatter, welches dem ersten Signal +OP 1 = OP 2 (A) zugeordnet ist, ist typisch für sämtliche Gatter und weist die Eingänge -DIF (0), -ERSTE 1 SAm (1) und -ZR (2) auf. Dieses Gatter führt die UND-Verknüpfung dieser Eingangssignale aus, durch welche angezeigt wird, daß die ersten Bits Null (0) unterschiedlich sind, das erste Gleichheitsbit eine Eins (1) ist und sämtliche Bits niedriger Ordnung (d. h. die Bits 2 bis 31) in beiden Operanden Nullen sind. Der Ausgang des ersten Gatters wird durch ODER-Verknüpfung mit den Ausgängen sieben weiterer UND-Gatter verknüpft und bildet das erste Ausgangssignal +OP 1 = OP 2 (A). In entprechender Weise verknüpfen die anderen drei Schaltungen in Block V-4 und bilden die vier angezeigten Signale +OP 1 = OP 2 (A . . . D), welche wie in Verbindung mit Fig. 11 beschrieben bei ODER- Verknüpfung anzeigen, daß OP 1 gleich ist OP 2. In Fig. 2 erhält der Block V-5 die Eingangssignale +ERSTE SAM (A . . . D), -DIF (0), +b (0) und +a (0) zugeführt und erzeugt die Ausgangssignale -AR 1 und -AR 2. Die Einzelheiten des Blocks V-5 sind in Fig. 9 dargestellt, aus welchem ersichtlich ist, daß das Signal -AR 1 durch eine ODER-Verknüpfung der negativen Ausgänge beider Gatter erzeugt wird. Das erste Gatter ist ein NOR-Gatter, welches anzeigt, daß das erste Gleichheitsbit ein Bit 1 ist. Das zweite Gatter zeigt an, daß das Bit 0 unterschiedlich ist und das Bit 0 von OP 2 keine 1 ist. Das Signal -AR 2 wird unter den gleichen Bedingungen erzeugt, mit der Ausnahme, daß Bit 0 von Operand nicht eine 1 ist. Die Stufen VI, VII und VIII der Schaltung von Fig. 2 erhalten Eingangssignale von den vorhergehenden Stufen I bis V zugeführt und entwickeln weitere Gleichheitsbeziehungen, die typischerweise dazu verwendet werden, Konditions- oder Zustandskodesignale in den Ausgangsleitungen 147 einzustellen. Die Einzelheiten der Blöcke VI, VII und VIII von Fig. 2 sind in den Fig. 10 und 11 dargestellt. Fig. 11 zeigt sechzehn Schaltungen, welche von 0 bis 15 durchnumeriert sind. Die Schaltungen VI-4 stellen die Ausgänge für die Fälle 3 und 6 der vorstehenden Tabelle I dar. Für die Schaltung VI-4 von Fig. 11 und für den Fall 3 der vorstehenden Tabelle I ergibt sich die Beziehung, daß der Absolutwert von OP 1 größer ist als der Absolutwert von OP 2, was immer dann der Fall ist, wenn ein Ausgangssignal +OP 1 <OP 2 LS vorhanden ist. Dieses Signal wird in der Schaltung VI-4 durch ODER-Verknüpfung der Ausgänge der beiden UND-Gatter erzeugt. Das erste UND-Gatter wird immer dann angeschaltet, wenn beide Operanden positiv (-OPS POS) sind und der erste Unterschied eine 1 in OP 1 (-ERSTE DIF POS) ist. Das zweite UND-Gatter liefert ein Ausgangssignal, wenn beide Operanden negativ (-OPS NEG) sind, die Bits 1 bis 31 nicht alle gleich sind (+SAM (1-31)) und wenn der erste Unterschied eine 1 in OP 1 (+ERSTE DIF POS) ist. In der Schaltung VI-4 ist das oberste Gatter in Betrieb für Fall 3 von Tabelle I, während das unterste Gatter in Betrieb ist für Fall 6 von Tabelle I.
In entsprechender Weise wird die Schaltung VI-3 für die Fälle 4 und 5 der Tabelle I benutzt.
Die Fälle 1 bis 4 von Tabelle II werden entsprechend Fig. 11 durch die Schaltungen VI-9, VI-10, VI-11 bzw. VI-12 gedeckt. Die Fälle 5 und 6 von Tabelle II werden durch die Schaltungen V-3-1 bzw. V-3-2 wie oben beschrieben ausgeführt. Die Fälle 7 und 8 von Tabelle II werden gedeckt durch die positiven Ausgänge der Schaltungen VI-0.
Die anderen Schaltungen VI-1, VI-2, VI-5, VI-6-VI-7, VI-8, VI-13, VI-14 und VI-15 in Fig. 11 stellen weitere interessierende Gleichheitsbeziehungen dar, die entsprechend der Erfindung ermittelt werden können. Die in Fig. 11 veranschaulichten Gleichheitsbeziehungen stellen jedoch lediglich Veranschaulichungsbeispiele dar und umfassen keineswegs sämtliche Möglichkeiten. So lassen sich beispielsweise die Schaltungen VI-14 und VI-15 zur Klärung der Mehrdeutigkeit in den Fällen 5 und 6 von Tabelle II verwenden, bei welcher es darum geht, ob die Gleichheitsbeziehung besteht oder ob einer der beiden Operanden größer oder kleiner als der jeweils andere ist. Wie in den Schaltungen VI-14 und VI-15 angedeutet, wird die Abwesenheit von Fall 7 und Fall 8 der Bedingungen von Tabelle II dazu verwendet, anzuzeigen, daß die Ungleichheit der Fälle 5 und 6 als Ergebnis erscheinen muß.
Die in Fig. 10 dargestellte Ausgangsschaltung 922 stellt einen Teil der Blöcke VI, VII und VIII von Fig. 2 dar. Die Schaltung 922 erhält Eingangssignale von Block VI der Fig. 11 und von den anderen Blöcken der Fig. 2 zugeführt und liefert Ausgangssignale in den vier Leitungen 147. Insbesondere werden die Größensteuersignale der Schaltung von Fig. 11 als Eingangssignale an die UND-Gatter M 1 bis M 6 angelegt. So ist beispielsweise das Ausgangssignal der Schaltung IV-4-2 der Fig. 7 und das Ausgangssignal der Schaltung VI-0 an die UND-Gatter M 1 bzw. M 2 angelegt. Diese Eingangssignale werden durch eine UND-Verknüpfung mit dem Ausgangssignal der Steuerschaltung 931 bzw. 932 verknüpft und bilden Eingangssignale an dem ODER-Gatter 950. Im angesteuerten Zustand liefert das ODER-Gatter 950 ein Ausgangssignal, durch welches angezeigt ist, daß die Leitung für Zustandskode-gleich-null (CC=0) der vier Ausgangsleitungen 147 erregt werden muß.
In entsprechender Weise kombinieren die UND-Gatter M 3 bis M 3 Steuersignale von den Steuerschaltungen 932 bis 936 mit Ausgangssignalen der Schaltungen V-3-2, VI-10. VI-12 bzw. VI-3. Diese Ausgangssignale der UND-Gatter M 3 bis M 6 werden im Gatter 951 ODER-verknüpft und bilden auf einer der vier Leitungen 147 das Signal Zustandskode-gleich-eins (CC=1).
Das Ausgangssignal Zustandskode-gültig (CCV) erscheint außerdem auf einer der Leitungen 147 und wird durch die Schaltung 949 erzeugt.
Die in Fig. 10 dargestellten Einrück- oder Halteschaltungen (latch circuits) L 1 bis L 8 dienen dazu, in den Gattern OF 1 bis OF 8 erzeugte Überlaufbedingungen zu speichern. Die Überlaufbedingungen in den Gattern OF 1 bis OF 8 entsprechen den vorstehend in Verbindung mit den Fällen 3, 4 und 5 der Tabelle III und den Fällen 1, 3 und 6 der Tabelle IV beschriebenen Bedingungen. Wie anhand der Betrachtung von Gatter OF 1 in Fig. 10 und aus Fig. 1 ersichtlich ist, wird das Eingangssignal -A CYC 1 von den Steuer-Triggerschaltungen 145 über die Leiung 146 von Fig. 1 erzeugt und gibt als Dekodierung des Operationskodes an, daß eine Additionsinstruktion spezifiziert ist. Das zweite Eingangssignal gibt an, daß beide Operanden OP 1 und OP 2 negativ sind, während das dritte Eingangssignal angibt, daß nicht in jeder Bitstelle 1 bis 31 eine Differenz vorhanden ist. Das Ausgangssignal von Gatter O 1 wird in die Halteschaltung L 1 eingerückt. Das zweite Gatter OF 2 liefert ein Ausgangssignal, wenn die erste Gleichheitsstelle ein 1-Bit ist. Dieses Signal wird in L 2 gespeichert und in Gatter 957 einer UND- Verknüpfung unterworfen. Das UND-Gatter behandelt die Eingangssignale als negativ, so daß das Eingangssignal von L 2 ein Signal ist, welches anzeigt, daß das erste Gleichheitsbit in den entsprechenden Bits von OP 1 und OP 2 keine 1 ist und daher eine 0 sein muß. Die Kombination der Zustände von OF 2 und OF 1 genügt den Erfordernissen von Fall 5 in Tabelle III. In entsprechender Weise genügt die Kombination der Gatter OF 2 und OF 3 den Bedingungen von Fall 3 in Tabelle III. Das Gatter OF 4 von Fig. 10 genügt den Bedingungen von Fall 4 in Tabelle III. Wie anhand Fig. 10 und Tabelle IV ersichtlich, erzeugt das Gatter OF 6 ein Ausgangssignal, welches anzeigt, daß die erste Differenz eine 1 in OP 1 ist und reziprok, daß die erste Differenz eine 0 in OP 2 ist. Gatter OF 5 in Kombination mit Gatter OF 6 genügt nach UND-Verknüpfung hinter den Schaltungen L 5 und L 6 in Gatter 957 der Bedingung von Fall 3 in Tabelle IV. In entsprechender Weise genügt die Kombination der Gatter OF 6 und OF 7 der Bedingung von Fall 3 in Tabelle IV. Schließlich genügt das Gatter OF 8 der Bedingung von Fall 1 in Tabelle IV. Die Ausgänge der Halteschaltungen L 4 und L 8 durchlaufen Inverter 958 und werden zusammen mit den Ausgängen der UND-Gatter 957 in ODER-Verknüpfung gebracht, um das Ausgangssignal Zustandskode-gleich-3 (CC=3) zu bilden, welches einen der vier Ausgänge in den Leitungen 147 bildet.
Wie anhand Fig. 10 ersichtlich, werden die durch die Steuerschaltungen 931 bis 936 (die typischerweise Halteschaltungen wie die Halteschaltungen 941 bis 948 aufweisen) und die Halteschaltungen 941 bis 948 erzeugten Steuersignel gemeinsam mit der Takt- und Steuerschaltung 924 von Fig. 1 und den Ausgängen der Steuer-Triggerschaltungen 145 erzeugt. Die Eingangssignale in den Leitungen 285 und 286 werden als Ausgangssignale von (nicht dargestellten) Halteschaltungen in einer Taktperiode erzeugt, die Information durchläuft den Operandenvergleicher von Fig. 2 und wird in der nächstfolgenden Taktperiode in Halteschaltungen wie z. B. L 1 bis L 8 von z. B. Fig. 8 gespeichert. Die Halteschaltungen können einen Teil des erfindungsgemäßen Operandenvergleichers bilden oder nach freier Wahl des Konstrukteurs auch getrennt von dieser ausgebildet sein. Wenn der Vergleich nicht innerhalb der Taktperiode des Datenverarbeitungssystems ausgeführt werden kann, werden Halteschaltungen verwendet, um Daten wo erforderlich an einem Vergleichszwischenpunkt zu speichern. Der Vergleich wird dann in einer zweiten oder nachfolgenden Taktperiode vervollständigt. Der erfindungsgemäße Operandenvergleicher wird dann verwendet, wenn der Zustandskode zu Ende des Takts E 1 der Instruktionsverarbeitungseinheit eingestellt werden soll. Dementsprechend sind die Takt- und Steuersignale in Fig. 10 und die Eingangssignale zu dem Operandenvergleicher von Fig. 2 und im System von Fig. 1 allgemein wirksam während der beiden vor dem Takt E 1 liegenden Takte, d. h. während OP 1 für Operandenpufferzugriffsbeginn und OP 2 für Operandenzugriffsende. Vor oder während dieser Periode wird der Operationskode der Zustandskodeeinstellinstruktion dekodiert, um die Steuer-Triggerschaltungen 145 einzustellen. Wie aus Fig. 10 ersichtlich, zeigt das Signal -A CYC 1 eine Addition, und das Signal -S CYC 1 eine Subtraktion an, die anderen Takt- und Steuersignale liegen als Eingangssignale an den Gattern von Fig. 10 und dienen zur Ansteuerung der Ausgangssignale in den Leitungen 147 bei Beendigung des Takts E 1. Zur Darstellung der Arbeitsweise des erfindungsgemäßen Operandenvergleichers soll ein Vergleich von zwei Gleitkommaoperanden entsprechend Tabelle I, Fall 4 wie folgt beschrieben werden, wobei OP 1 gleich +1/2 × 16 -23 und OP 2 gleich +3/4 × 16 -63 ist:
Der Vergleich von OP 1 und OP 2 beginnt mit dem OP 1-Eingang in der Vielfachleitung 286 und dem OP 2-Eingang in der Vielfachleitung 285 von Fig. 2, wobei diese in den Blöcken I-1 und I-2 phasengeschaltet werden und Eingangssignale zu den Blöcken der Stufe II bilden. In Block II-1 wird die Schaltung -DIF (9) erregt und zeigt eine Differenz in Bit 9 von OP 1 an. Keine der anderen Schaltungen in Block II-1 wird erregt. In Block II-2 werden die Schaltungen -SAM (0 . . . 8) und -SAM (10 . . . 31) erregt, wohingegen die Schaltung -SAM (9) nicht erregt wird. In Block II-3 wird das Signal +OPS POS erregt, da beide Operanden OP 1 und OP 2 positiv sind, wie durch Nullen in den Bits hoher Ordnung (d. h. den am weitesten links stehenden Bits) angedeutet ist. In Block II-4 werden die Signale -Z (0 . . . 6) und die Signale -Z (10 . . . 31) erregt und zeigen Nullen in sämtlichen Bits mit Ausnahme der Bits 7, 8 und 9 von OP 1 und OP 2 an. In Block III-1 wird keines der Gruppendifferenzsignale -DIF (G) erregt. In Block III-2 sind die Gruppensignale -SAM (14-15), -SAM (22-23), -SAM (1-3), -SAM (17-19), -SAM (25-27), SAM (1-5), -SAM (17-21), -SAM (25-29), -SAM (1-8), -SAM (0-7), -SAM (16-23) und -SAM (24-31) erregt. In Block III-2 sind die Gruppensignale -Z (28-31), -Z (20-23), -Z (12-15), -Z (24-31) und -Z (16-31) erregt. Die Gruppensignale -Z (8-31) und -Z (4-7), welche eines oder mehrere der Bits 7, 8 und 9 einschließen, sind die einzigen, nicht erregten Signale.
In Block IV-1, der in Einzelheiten in Fig. 5 dargestellt ist, ist das Gatter mit den Eingängen -SAM (1-8), -DIF (9) und -a (9) das einzige Gatter, welches angesteuert werden könnte. Dieses UND-Gatter wird jedoch nicht angesteuert, weil das Signal -a (9) null ist. Daher ist keines der Signale +ERSTE DIF (A), +ERSTEDIF (B), +ERSTE DIF (C) und +ERSTE DIF (D) erregt. In Block IV-2 ist keine Schaltung erregt. In Block IV-3 ist keine Schaltung erregt. In Block IV-4 ist keine Schaltung erregt. In Block IV-5 sind die Signale -ZR (10 . . . 31) erregt,
In Block V-1 Fig. 9 ist die Schaltung nicht erregt, weil keine der Schaltungen in Block IV-1 erregt ist. In Block V-2 ist keine Schaltung erregt, weil in Block IV-3 keine Schaltung erregt ist. In Block V-4 ist keine Schaltung erregt.
Wie anhand Fig. 4 ersichtlich, ist die Schaltung VI-3 erregt und erzeugt ein logisches Ausgangssignal +OP 1 < OP 2 LS, weil das Eingangssignal -OPS POS von Block II-3 und das Eingangssignal +ERSTE DIF PLUS von Block V-1 (Fig. 9) gleichzeitig angelegt sind. Das Ausgangssignal +OP 1 < OP 2 LS ist Eingangssignal am Gatter M 6 von Fig. 10. Das Ausgangssignal von Gatter M 6, welches an einem von der Steuerung 936 vorgegebenen Zeitpunkt erzeugt wird, beaufschlagt das Gatter 951 und erregt eine der Ausgangsleitungen 147, wodurch angezeigt ist, daß der Zustand CC = 1 besteht. Die Steuerung 936 für die typische Gleitkommavergleichsinstruktion ist während des Segments E 1 dieser Instruktion erregt. In den folgenden Beispielen von Tabelle II, Tabelle III und Tabelle IV läßt sich die Arbeitsweise des Operandenvergleichers in den Schaltungen von Fig. 2 in gleicher Weise wie vorstehend für Tabelle I ausgeführt verfolgen. Als Beispiel sei hier lediglich ein Vorgang in Festkommaarithmetik nach Fall 4 der Tabelle II angegeben, bei dem der 32-bit-Operand OP 1 gleich -4 in 2′er Komplementärschreibweise ist, während der 32-bit-Operand OP 2 gleich +2 in Binärschreibweise ist: Ein Beispiel für Tabelle III, Fall 3 bei Festkomma-Additionsinstruktion sei für den Fall angeführt, daß OP 1 den Wert +1,610612736 × 10⁹ und OP 2 den gleichen Wert aufweist: Als Beispiel für Tabelle IV, Fall 6 für Festkommasubtraktionsinstruktion sei angenommen, daß OP 2 einen Wert +1,610612736 × 10⁹ aufweist und von OP 1 subtrahiert wird, welches den Wert -2,147418113 × 10⁹ aufweist: Ein Überlauf besteht in den Beispielen für die Tabellen III und IV, weil die maximale negative Zahl (32 Nullen) -2,147483648 × 10⁹ und die maximale positive Zahl +2,147483647 × 10⁹ ist.

Claims (2)

1. Vorrichtung zur Datenverarbeitung, in welcher zwei Operanden, die je aus einer Vielzahl von der höchsten bis zur niedrigsten Wertigkeit angeordneter Bits bestehen, zur Ausführung von Befehlen verwendet werden, wobei jeweils der in Ausführung begriffene Befehl einen zur Identifizierung des in Ausführung begriffenen Befehls und der Operationsart (Gleitkommaarithmetik, Festkommaarithmetik mit zwei negativen oder zwei positiven Operanden oder mit einem negativen und einem positiven Operanden oder Überlaufarithmetik) dienenden Operationskode aufweist, die einen Operandenvergleicher (274) enthält, der Schaltungen aufweist, welche dazu dienen, gleichzeitig einander entsprechende Bits in den beiden Operanden zu vergleichen, von der höchsten bis zur niedrigsten Wertigkeit fortschreitend das erste Auftreten von Gleichheit oder Ungleichheit einander entsprechender Bits zu ermitteln und einen der Ausführung eines Befehls zugeordneten Konditions- oder Zustandskode zu bestimmen, und die eine zusätzliche Steuerschaltung (145) enthält, welche dazu dient, Steuersignale während der Bestimmung des Zustandskodes vorübergehend zu speichern, sie (über Leitungen 146) dem Operandenvergleicher (274) zuzuleiten und diesen zu veranlassen, jeweils passend Gleichheit oder Ungleichheit auszuwählen, dadurch gekennzeichnet,
daß ein Operationskode-Dekoder (142) zum Dekodieren des Operationskodes des auszuführenden Befehls vorgesehen ist,
daß der Dekodiervorgang die in der Steuerschaltung (145) zu speichernden Steuersignale liefert,
daß die Schaltungen des Operandenvergleichers (274) entsprechend dem Operationskode des in Ausführung begriffenen Befehls gesteuert werden, um zu bestimmen, ob der eine der über je eine Vielfachleitung (285, 286) zugeführten Eingangsoperanden im Vergleich zu dem anderen größer, kleiner oder gleich ist,
und daß das Ausgangssignal aus dem Operandenvergleicher (274) den Zustandskode als eine Funktion dieser Bestimmung (über Leitungen 147) liefert und der so gewonnene Zustandskode zum Steuern der von der Datenverarbeitungsvorrichtung durchzuführenden Operationsart dient.
2. Vorrichtung zur Datenverarbeitung nach Anspruch 1, dadurch gekennzeichnet, daß die Schaltungen des Operandenvergleichers (274) EXKLUSIV-ODER-Gatter (270) zur Bildung des EXKLUSIV-ODER-Wertes auf einer bitweisen Basis für die Bildung von -DIF-Signalen und EXKLUSIV- NOR-Gatter (271) zur Bildung des EXKLUSIV-NOR-Wertes der Operanden auf einer bitweisen Basis für die Bildung von -SAM-Signalen aufweisen, wobei die -DIF-Signale und die -SAM-Signale die Ungleichheit bzw. Gleichheit der Operanden anzeigen.
DE2421130A 1973-05-14 1974-05-02 Operandenvergleicher Granted DE2421130A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US00360331A US3825895A (en) 1973-05-14 1973-05-14 Operand comparator

Publications (2)

Publication Number Publication Date
DE2421130A1 DE2421130A1 (de) 1974-12-05
DE2421130C2 true DE2421130C2 (de) 1987-07-16

Family

ID=23417529

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2421130A Granted DE2421130A1 (de) 1973-05-14 1974-05-02 Operandenvergleicher

Country Status (6)

Country Link
US (1) US3825895A (de)
JP (1) JPS5629303B2 (de)
CA (1) CA1022682A (de)
DE (1) DE2421130A1 (de)
FR (1) FR2230015B1 (de)
GB (1) GB1453769A (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4007439A (en) * 1975-08-18 1977-02-08 Burroughs Corporation Select high/low register method and apparatus
US4683546A (en) * 1984-01-03 1987-07-28 Motorola, Inc. Floating point condition code generation
KR910006142B1 (ko) * 1984-01-03 1991-08-16 모토로라 인코포레이티드 부동점 상태 코드 발생방법 및 장치
JPS6111003U (ja) * 1984-06-27 1986-01-22 パイオニア株式会社 コ−ドクランパ−
US4967351A (en) * 1986-10-17 1990-10-30 Amdahl Corporation Central processor architecture implementing deterministic early condition code analysis using digit based, subterm computation and selective subterm combination
AU606559B2 (en) * 1987-12-24 1991-02-07 Nec Corporation Circuit for comparing a plurality of binary inputs
JPH0776911B2 (ja) * 1988-03-23 1995-08-16 松下電器産業株式会社 浮動小数点演算装置
GB2317248B (en) 1996-09-02 2001-08-15 Siemens Plc Floating point number data processing means
GB9618262D0 (en) * 1996-09-02 1996-10-16 Siemens Plc Floating point number data processing means for microcontrollers
US6298365B1 (en) * 1999-02-24 2001-10-02 International Business Machines Corporation Method and system for bounds comparator
US7895419B2 (en) 2008-01-11 2011-02-22 International Business Machines Corporation Rotate then operate on selected bits facility and instructions therefore
US20090182984A1 (en) * 2008-01-11 2009-07-16 International Business Machines Corporation Execute Relative Long Facility and Instructions Therefore
US20090182992A1 (en) * 2008-01-11 2009-07-16 International Business Machines Corporation Load Relative and Store Relative Facility and Instructions Therefore
US9280480B2 (en) 2008-01-11 2016-03-08 International Business Machines Corporation Extract target cache attribute facility and instruction therefor
US20090182985A1 (en) * 2008-01-11 2009-07-16 International Business Machines Corporation Move Facility and Instructions Therefore
US7739434B2 (en) 2008-01-11 2010-06-15 International Business Machines Corporation Performing a configuration virtual topology change and instruction therefore
US7870339B2 (en) * 2008-01-11 2011-01-11 International Business Machines Corporation Extract cache attribute facility and instruction therefore
US7734900B2 (en) * 2008-01-11 2010-06-08 International Business Machines Corporation Computer configuration virtual topology discovery and instruction therefore
US20090182988A1 (en) * 2008-01-11 2009-07-16 International Business Machines Corporation Compare Relative Long Facility and Instructions Therefore

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2884616A (en) * 1954-04-30 1959-04-28 Rca Corp Multiple character comparator
US3143645A (en) * 1961-02-01 1964-08-04 Hughes Aircraft Co Two-way data compare-sort apparatus
US3241114A (en) * 1962-11-27 1966-03-15 Rca Corp Comparator systems
CH431145A (de) * 1963-04-22 1967-02-28 Licentia Gmbh Digitales Vergleichsglied
US3316535A (en) * 1965-04-02 1967-04-25 Bell Telephone Labor Inc Comparator circuit
US3390378A (en) * 1965-10-22 1968-06-25 Nasa Usa Comparator for the comparison of two binary numbers
US3492644A (en) * 1966-03-02 1970-01-27 Monroe Int Parallel comparator using transistor logic
US3601804A (en) * 1969-03-14 1971-08-24 British Aircraft Corp Ltd Digital comparator utilizing dual circuits for self-checking
US3660823A (en) * 1970-07-20 1972-05-02 Honeywell Inc Serial bit comparator with selectable bases of comparison

Also Published As

Publication number Publication date
FR2230015B1 (de) 1978-03-24
US3825895A (en) 1974-07-23
JPS5054258A (de) 1975-05-13
FR2230015A1 (de) 1974-12-13
JPS5629303B2 (de) 1981-07-07
DE2421130A1 (de) 1974-12-05
CA1022682A (en) 1977-12-13
GB1453769A (en) 1976-10-27

Similar Documents

Publication Publication Date Title
DE2421130C2 (de)
DE2616717C2 (de) Digitales Addierwerk
DE3486211T2 (de) Kodebestimmung mit einem auf Halbaddierer basierten Operandenvergleicher.
DE19914210B4 (de) Verfahren und Prozessor für eine gestaffelte Ausführung einer Anweisung
DE3991231C2 (de) Vektorprozessor und Verfahren zum Suchen einer Stichwortzeichenfolge in einer Textzeichenfolge
DE68907518T2 (de) Inhaltsadressierte Speicheranordnung.
DE3840969C2 (de)
DE2714805A1 (de) Datenverarbeitungssystem
DE3689389T2 (de) Datenverarbeitungsprozessor.
DE69027932T2 (de) Cpu-pipeline mit registerfile-bypass durch adressvergleich bei aktualisierungen/zugriffen
DE2658248C2 (de)
DE2712224A1 (de) Datenverarbeitungsanlage
DE3121742C2 (de) Mikroprogramm-Steuereinrichtung
DE4334294C1 (de) Prozessor für Zeichenketten variabler Länge
DE1197650B (de) Parallel-Addierer
DE4403917A1 (de) Vorrichtung zum Berechnen einer Besetzungszählung
DE3688806T2 (de) Instruktionsprozessor.
DE2900586C2 (de) Anordnung zum Decodieren von Codewörtern variabler Länge
DE19628039B4 (de) Speicheradressen-Steuerschaltung
DE2403039C2 (de) Einrichtung zur Befehlsausführung in einer adressenerweiterten elektronischen Datenverarbeitungsanlage
DE102014105218A1 (de) Suchvorrichtung mit Verwendung von endlichen Automaten für Teilworte
DE69424387T2 (de) Verfahren und Gerät zum Modifizieren des Inhalts eines Registers
DE2952072C2 (de) Rechenschaltung zum Addieren oder Subtrahieren binär codierter Dezimalzahlen
DE3688434T2 (de) Schneller bcd/binaer-addierer.
DE3104256C2 (de)

Legal Events

Date Code Title Description
OD Request for examination
D2 Grant after examination
8364 No opposition during term of opposition