DE2161886A1 - Befehlsausführungssystem in einer elektronischen Datenverarbeitungsanlage - Google Patents
Befehlsausführungssystem in einer elektronischen DatenverarbeitungsanlageInfo
- Publication number
- DE2161886A1 DE2161886A1 DE19712161886 DE2161886A DE2161886A1 DE 2161886 A1 DE2161886 A1 DE 2161886A1 DE 19712161886 DE19712161886 DE 19712161886 DE 2161886 A DE2161886 A DE 2161886A DE 2161886 A1 DE2161886 A1 DE 2161886A1
- Authority
- DE
- Germany
- Prior art keywords
- command
- execution
- instruction
- logic circuit
- register
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims description 14
- 230000015654 memory Effects 0.000 claims description 40
- 230000005540 biological transmission Effects 0.000 claims description 17
- 230000006870 function Effects 0.000 claims description 16
- 238000012546 transfer Methods 0.000 claims description 15
- 230000008859 change Effects 0.000 claims description 5
- 230000004048 modification Effects 0.000 claims description 4
- 238000012986 modification Methods 0.000 claims description 4
- 125000000524 functional group Chemical group 0.000 claims 1
- 230000004044 response Effects 0.000 claims 1
- 238000010200 validation analysis Methods 0.000 claims 1
- 230000009466 transformation Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000000903 blocking effect Effects 0.000 description 8
- 230000001629 suppression Effects 0.000 description 4
- 238000013502 data validation Methods 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000010387 memory retrieval Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30072—Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30192—Instruction operation extension or modification according to data descriptor, e.g. dynamic data typing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3838—Dependency mechanisms, e.g. register scoreboarding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3838—Dependency mechanisms, e.g. register scoreboarding
- G06F9/384—Register renaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Description
2161816
Böblingen, den 10. Dezember 1971
Jo-nr
Anmelderin: International Business Machines
Corporation, Armonk, N. Y. 10
Amtliches Aktenzeichen: Neuanmeldung Aktenzeichen d. Anmelderin: Docket PO 9-70-015
Befehlsausführungssystem in einer elektronischen Datenverarbeitungsanlage
Die Erfindung betrifft ein Befehlsausführungssystem in
einer elektronischen Datenverarbeitungsanlage mit einer Recheneinheit und einer Ausführungseinheit für die Speicherung
eines Befehls zur Steuerung der Recheneinheit.
Befehlsausführungseinheiten dienen innerhalb der digitalen elektronischen Datenverarbeitungsanlage zur Ausführung der
Befehle eines Programms und beinhalten in aller Regel arithmetische und logische Einheiten.
Typische Befehlsausführungseinheiten sind beispielsweise in den US-Patentschriften 3 346 851 und 3 462 744 ausführlich
beschrieben. In der zuerst genannten Patentschrift besitzt die Ausführungseinheit mehrere Funktionseinheiten
po 9-70-015 209828/1094
und eine Auswertetafel für die Befehlssteuerung, die die gleichzeitige Ausführung mehrerer Befehle von einem Programm
her ermöglichen.
Diese bekannte Befehlsausführungseinheit besitzt jedoch den Nachteil, daß sie keine flexible Anpassung der Zahl der vefwendeten
Funktionseinheiten an die augenblickliche Belastung des Systems vornehmen kann.
Die in der zuletzt genannten Patentschrift beschriebene Befehlsausführungseinheit erfordert, daß jeder Funktionseinheit eine feste Zahl von Registern zugeordnet ist.
Diese feste Zahl muß aber nach der maximalen Kapazität des Systems bestimmt sein. Hieraus ergibt sich der Nachteil,
daß die Zahl der Register nicht nach wirtschaftlichen Gesichtspunkten bestimmt werden kann.
Es ist daher die Aufgabe der vorliegenden Erfindung, die genannten Nachteile bekannter Befehlsausführungseinheiten
zu vermeiden.
Es ist insbesondere die Aufgabe der vorliegenden Erfindung, den Wirkungsgrad von elektronischen Datenverarbeitungsanlagen
zu verbessern, indem wirkungsvollere Befehlsausführungseinheiten in einer Anordnung verwendet werden,
die eine gleichzeitige Ausführung unabhängiger Befehlsströme gestattet, während sie die wesentliche Struktur,
PO 9-70-015
209828/1094
die einem Befehlsstrom innewohnt, bewahrt.
Schließlich ist es eine Aufgabe der Erfindung, eine neue und verbesserte Anordnung anzugeben, die eine unabhängige
Ausführung unabhängiger Folgen von Gleitkommabefehlen gestattet. Diese unabhängigen Folgen werden durch Ladeinstruktionen
definiert, wobei die Folgen beginnen, wenn ein Gleitkomma-Ladebefehl festgestellt wird. Normalerweise
besitzt die Gleitkommaeinrichtung Sperren, die erzwingen, daß derartige Folgen serial ausgeführt werden.
Für ein Befehlsausführungssystem in einer elektronischen
Datenverarbeitungsanlage mit einer Recheneinheit und einer Ausführungseinrichtung für die Speicherung eines Befehls
zur Steuerung der Recheneinheit besteht die Erfindung darin, daß ferner mehrere Datenspeicher in Verbindung mit der
durch die in der Ausführungseinheit gespeicherten Befehle gesteuerten Befehlsausführung in der Recheneinheit vorgesehen
sind, daß weiter eine Einrichtung zur Spezifizierung eines der Datenspeicher in Zusammenhang mit der Ausführung
eines Befehls, ferner eine Speicherlogikschaltung, die auf einen Befehl anspricht, um ein Kennzeichen des spezifizierten
Speichers zu speichern, und daß "schließlich eine Modifizier
ungs logikschaltung vorgesehen sind, die auf die Speicherlogikschaltung anspricht, indem sie in einen nachfolgenden
Befehl das Kennzeichen des ausgewählten Datenspeichers durch die Speicherlogikschaltung einfügt.
po 9-70-015 209828/1094
Weitere Merkmale, vorteilhafte Ausgestaltungen und Weiterbildung des Gegenstandes der Erfindung sind den Unteransprüchen
zu entnehmen.
Das Befehlsausführungssystem gemäß der Erfindung besitzt also gegenüber den bekannten Systemen im wesentlichen den
Vorteil eines flexibleren Betriebs, da gemäß der Erfindung ein gemeinsamer Pool von Registern vorgesehen ist, aus dem
einzelne Register den Funktionseinheiten zugeteilt werden können, wodurch dynamisch die Befehlsausführungskapazität
bestimmter Funktionseinheiten in Abhängigkeit von der tatsächlich vorliegenden Belastung des Systems vergrößert oder
verkleinert werden kann.
Ein Ausführungsbeispiel der Erfindung ist in den Zeichnungen dargestellt und wird anschließend näher beschrieben.
Es zeigen:
Fig. 1 ein Blockdiagramm eines die Erfindung enthaltenden Rechnersystems,
Fig. 2 ein Blockdiagramm der Gleitkomma-Ausführungseinheit des in Fig. 1 gezeigten Systems,
Fig. 3a das Format der von der Instruktionseinheit übertragenen Instruktion,
po 9-70-015 209828/1094
Fig. 3b das Format der veränderten Instruktionen, wie sie
in den Befehlsregisterstapel gesetzt werden,
Fig. 4 ein Blockdiagramm der Transformationslogikschaltung,
Fig. 5 ein Blockdiagramm des Befehlsregisterstapels,
Fig. 6a bis 6f logische Diagramme der Quellen-Senkenkomponente der Sperrlogikschaltung,
Fig. 7 ein logisches Diagramm der Reihenfolgeunterdrückungskomponente
der Sperrschaltung und
Fig. 8 ein logisches Diagramm der Freie-Listen-Logikschaltung.
Die in Fig. 1 gezeigte Rechnerorganisation umfaßt einen Hauptspeicher 10, ein Ein-/Ausgabemodul (I/0-Modul) 20,
eine Zentrale Verarbeitungseinheit (CPU) 12 einschl. einer Befehlseinheit 14, eine Ausführungseinheit 16 und ein
Leitungssteuermodul 18, welches die Verbindungen zwischen den genannten Einheiten über die Leitung 22 steuert.
Einzelheiten der Ausführungseinheit 16 sind in Fig. 2 gezeigt. Von der Befehlseinheit 14 kommende Instruktionen
werden in die Vorverriegelungs-Register 30 geladen. Die Instruktionen stehen im Vorverriegelungs-Register 30
während eines die Transformationslogikschaltung 32 be-
po 9-70-015 2 0 9 8 2 8/1094
nutzenden Umbenennungszyklus und werden dann in den Befehlsregisterstapel
(I/R-Stapel) 34 übertragen, der aus 5 Registern besteht, welche Gleitkomma-Instruktionen enthalten,
die auf die Ausführung warten. Mit dem Instruktionsregisterstapel 34 ist eine Sperrlogikschaltung 36 gekoppelt, die
sicherstellt, daß außerhalb der Reihenfolge ausgeführte Instruktionen dieselben Ergebnisse erzielen, als ob sie in
der richtigen REihenfolge ausgeführt worden wären. Außerdem belegt die Sperrlogikschaltung die Recheneinheit, soweit
die Befehlscodes das gestatten, dadurch, daß bis zu 5 Befehle pro Zyklus berücksichtigt werden.
Die Sperrlogikschaltung 36 gestattet die Übertragung eines
Befehles vom Befehlsregister stapel (I/R__Stapel) 34 über die Ausgangstore 38 zum Ausführungsregister 40. Das Ausführungsregister
40 hält den Befehl zur Auswahl des Addierteiles 42a oder des Multiplikations-/Divisionsteiles (M/D-Teiles)
42B der Recheneinheit 42, steuert die ausgewählte Einheit und wählt den Inhalt von 2 Registern des Arbeitsregisterstapels
(W/R-Stapel) 44 zur Benutzung durch die Recheneinheit 42. Der Inhalt dieser ausgewählten Register
wird über die Ausgangstore 46 an die Recheneinheit übertragen.
Daten werden in den W/R-Stapel 44 über die Eingangstore 4
von der Recheneinheit 42 über die Leitungen 50 oder von der Sammelleitung 22 über die Leitungen 66 geladen. Die
po 9-70-015 209828/1094
Datengültigkeits-Schaltung (V-Logik) 52 enthält eine Einrichtung für Kennzeichenbits, die jedem Arbeitsregister im
W/R-Stapel 44 entsprechen. Die Dateneingabe in ein bestimmtes Arbeitsregister setzt ein entsprechendes Kennzeichenbit
in die V-Logikschaltung 52, welches durch die Sperrlogikschaltung 36 abgefühlt wird. Die Freie Liste-Logikschaltung
reagiert auf Anforderungssignale über die Leitungen 56 von der Befehlseinheit 14 und auf Freigabesignale
vom Ausführungsregister 40 über die Leitungen 58 und liefert Anzeigen für den Zustand der Arbeitsregister
im W/R-Stapel 44 an die Befehlseinheit 14 über die Leitungen 60. Außerdem werden durch die Befehlseinheit 14
zusätzliche Steuerinformationen über die Leitungen 62 geliefert,
und die Befehlseinheit 14 empfängt weitere Informationen von der Ausführungseinheit 16 über die Leitungen
64.
Die Zusammensetzung des von der Befehlseinheit 14 an das Vorverriegelungs-Register 30 übertragenen Befehlswortes
ist in Fig. 3a gezeigt. Dieses Befehlswort enthält einen 8 Bit großen Operationscode 70, der den Gleitkomma-Befehlscode
angibt; ein 4 Bit großes Rl-FeId 72, welches das durch den Programmierer vorgeschriebene Gleitkommaregister
bezeichnet; ein 8 Bit großes R2-Feld 74, welches in hohe und niedere Halbfelder 76, 78 geteilt wird; ein
Gültigkeitsbit (V) 80, welches angibt, daß die Instruktion gültig ist und nach Modifikation durch die Schaltung 34
po 9-70-015 209828/1094
an den I/R-Stapel 34 beim nächsten Zyklus ausgeleitet werden kann; zwei Bedingungsbits, das Cl-Bit 82 und das C2-Bit 84,
von denen das Cl-Bit 82 besagt, daß der Befehl ein bedingter Befehl ist und nicht ausgeführt werden darf, bevor
eine bedingte Verzweigung gelöst und das Bit zurückgestellt ist; und das C2-Bit 84 bedeutet, daß der Befehl ein
auf zweiter Ebene bedingt abgerufener Befehl ist und als solcher im Register 32 gehalten wird, bis die erste Bedingungsebene
gelöst ist; ein LVCC-Bit 86, welches angibt, daß dieser Befehl der letzte einen Bedingungscode festsetzende
Befehl ist, den die Befehlseinheit 14 angetroffen hat und zurückgestellt wird, wenn die Einheit 14
einen anderen einen Bedingungscode setzenden Befehl antrifft,
bevor die bedingte Verzweigung auftritt; ein Ladebit (LD) 88, mit dem die Transformationsschaltung 32
gesteuert wird (wenn die Ladung bedingt, das LD-Bit 82
also gesetzt ist, nimmt die Einheit 14 keine weiteren Befehle an, bis die Bedingung aufgelöst ist); ein Speicherbit
(SP) 90, welches die 5 Bits des R2-Feldes zur Umgehung
der Transformationsschaltung 32 und direkten Übertragung in den I/R-Stapel 34 veranlaßt, sowie ein Erweiterungs-Präzisionsbit
92 (EXP-Bit), welches die Befehlsart bezeichnet und den Befehl im Register 32 festhält, bis alle
Befehle im I/R-Stapel 34 ausgeführt sind (dann wird der Befehl direkt vom Vorverriegelungsregister 30 auf das
Ausführungsregister 40 gesendet).
9-70-015 209828/1094
Die von der Befehlseinheit 14 über die Leitungen 62 geleiteten Steuersignale enthalten ein LVCC-Rückstellsignal,
welches anzeigt, daß durch die Befehlseinheit 14 ein weiterer, einen Bedingungscode setzender Befehl abgefühlt wurde, so
daß alle vorhergehenden LVCC-Bits zurückgestellt sein sollten. Zu den Signalen gehören weiter zwei Rückstellbedingungssignale,
eines für die erste Ebene (Bit 82) und eines für die zweite Ebene (Bit 84) sowie zwei Ungültigkeits—
Bedingungssignale (eines für jede Bedingungsebene), von denen jedes die Bedxngungsbefehle durch Löschen des Gültigkffiitsbits
ungültig macht als Funktion der Auflösung einer bedingten Verzweigung, da der (die) gewählte(n) Befehl(e)
falsch war (en).
Die Signale über die Leitungen 64 von der Ausführungseinheit 16 an die Befehlseinheit 14 umfassen ein Signal
"Operation abgeschlossen", welches anzeigt, daß die vorher an die Ausführungseinheit gesendeten Befehle beendet sind,
ein Signal, welches anzeigt, daß ein Register im I/R-Stapel
34 leer ist, so daß ein Befehl vom Register 30 aufgenommen werden kann, und ein Signal, welches anzeigt, daß das Register
30 leer ist.
Im Kabel 60 liegen 3 2 Leitungen, je eine für ein Arbeitsregister im W/R-Stapel 44. Diese Leitungen geben der Befehlseinheit
das Arbeitsregister an, welches aufgrund einer Anforderung von der Befehlseinheit über die Leitung 56
po o-7o~oi5 209828/1094
-ΙΟ-
gewählt wurde. Diese gelieferte Ausgabe (typischerweise
hohe und niedrige Adressen, die zwei Register - effektiv also ein Doppelregister - bezeichnen), wird in das R2-Feld
durch die Befehlseinheit 14 eingesetzt, bevor der Befehl an das Vorverriegelungsregister 30 übertragen wird.
Die Transformationsschaltung 32 fühlt den Inhalt der Rl- und
R2-Felder 72 bzw. 74 ab und setzt den modifizierten Inhalt in das RTl-FeId 96 und das RT2-Feld 98 des in Fig. 3b gezeigten
Befehlsformates. Dieses Befehlsformat enthält denselben Operationscode 70 sowie die Bits 80, 82, 86, 88 und
90. Außerdem erfolgt zwischen dem Register 30 und dem I/R-Stapel 34 eine ausreichende Decodierung zur Bezeichnung des
durch den Befehl benötigten Teiles der Recheneinheit, wobei das Bit 100 gesetzt wird, wenn der Befehl mit dem Addier—
teil 42a arbeitet, das Bit 102, wenn ein Multiplikationsbefehl und das Bit 104, wenn ein Divisionsbefehl vorliegt.
Einzelheiten der Transformationsschaltung 32 sind in Fig. 4 gezeigt. Diese Schaltung gestattet die Benutzung eines der
32 Arbeitsregister im Stapel 44 im Austausch als 'RX-Befehlspuffer
oder als eines von 4 Gleitkommaregistern. Unter einem RX-Befehl soll ein Befehl verstanden sein, dessen einer
Operand sich in einem Allgemeinen Registerjund der andere sich im Speicher befindet und dessen Adresse indiziert.
Wenn der Programmierer eines der 4 Gleitkommaregister 0, 2, 4 oder 6 wählt, wählt die Befehlseinheit 14 daraufhin
po 9-70-015 209828/109/*
eines der 16 Doppelwortregister im W/R-Stapel 44 als Gleitkommaregister für die Benutzung durch nachfolgende
Befehle aus. In ähnlicher Weise wählt die Einheit 14 ein verfügbares Arbeitsregister zur Benutzung als Quellenregister
in RX-Befehlen. Jeder in das Vorverriegelungsregister 30 geladene Befehl wird durch die Transformationsschaltung 32 so bearbeitet, daß ein veränderter Befehl erzeugt
wird (die Felder RTl und RT2 werden als Funktion des Operationscodes 70 und der Felder Rl und R2 erzeugt), und
ein jeder derartige Befehl wird in das niedrigste Befehlsregister 185 im I/R-Stapel 34 geladen.
Der Inhalt der Felder RT 1 und RT 2 wird durch die Befehlsart
bestimmt. Bei einem Ladebefehl (LD) wird die Bezeichnung eines gewählten Arbeitsregisters im W/R-Stapel 44 in
die Transformationsliste 106 geladen und beide Felder mit der Bezeichnung des Arbeitsregisters im W/R-Stapel 44, die
durch das neue von def Befehlseinheit für die Verwendung als Gleitkommaregister gewählte Register ersetzt wurde.
Bei einem Register-Register-Befehl (RR-Befehl) wird auf die Transformationsliste 106 in der Transformationsschaltung
32 Bezug genommen und die Adresse von zwei vorher gewählten Registern im W/R-Stapel 44 in die Felder RT 1
bzw. RT 2 geleitet. Bei einem RX-Befehl (ausgenommen der Ladebefehl) hat die Einheit 14 ein Pufferregister im W/R-Stapel
44 gewählt, nach der Bestimmung durcji die Verfügbarkeitsanzeige
von der Freie Liste Logikschaltung 54 über
po 9-70-015 209828/1094
die Leitungen 60. Das Rl-FeId des RX-Befehles bezeichnet das
prograramgewählte Gleitkomma—Register (Senke) und das R2-Feld
das als Bestimmungsregister gewählte Arbeitsregister für den Datenabruf (Quelle). Bei einem Speicherbefehl geben die 5
werthohen Bits des R2-Feldes ein Reihenfolgekennzeichen an,
welches auf das Leitungssteuermodul 18 mit den Speicherdaten gegeben wird und teilweise die richtige Speicheradresse bezeichnet.
Gemäß Darstellung in Fig. 4 enthält die Transformationsschaltung eine Transformationsliste 106, die die 4 Register
110, 112, 114 und 116 umfaßt, welche den vorher genannten funktioneilen Gleitkomma-Registern 0, 2, 4 und 6 entsprechen.
Wie bereits gesagt, bezeichnet bei einem Ladebefehl das Rl-FeId 72 das jeweilige programmgewählte Gleitkomma-Register
und das R2-Feld das Arbeitsregister des W/R-Stapels 44, welches durch die Befehlseinheit 14 gewählt wurde. Das UND-Glied 120
wird durch eine decodierte Ladebefehlsanzeige LD der Figur
(bei 122 wiedergegeben) vorbereitet, und der Inhalt des Rl-Feldes wird durch ein UND-Glied 120 geleitet, um das Tor 124
vorzubereiten. Wenn das Tor 124 durch einen Impuls auf der Leitung 126 geprüft wird, bereitet der zugehörige decodierte
RR-Befehl 156 das UND-Glied 158 vor, welches seinerseits wieder ein vorgeschriebenes Tor einer zweiten Gruppe von
Aüsgangstoren 160 zur Übertragung der vorgeschriebenen Umbenennung nach außen übäer die ODER-Glieder 138 an die
Bedingungsglieder 140 vorbereitet. Aufgrund des Leitimpulses
po 9-70-015 209828/1094
auf der Leitung 142 werden diese Arbeitsregisterbezeichnungen
in die Felder RT 1 bzw. RT 2 zusammen mit dem Operationscode direkt vom Register 30 durch die Tore 142 und den
Steuerbits durch die Tore 144 geladen (einschl, zugefügter Steuerbits auf der Basis der Decodierung).
Bei einem RX-Befehl (Laden ausgenommen) erhält die Einheit
eine Registerbezeichnung von der Freie Liste Logikschaltung 54 als Bestimmungsxegister für einen abgerufenen Quellenoperanden.
Das Rl-FeId des Befehles im Register 30 enthält den echten FPR-Namen (FPR ist eine Bezeichnung für
Gleitkommaregister) und das R2-Feld die Bezeichnung des gewählten Quellenregisters. Die decodierte RX-Befehls- ·
anzeige 170 bereitet das UND-Glied 172 vor, und das Feld R2
wird durch das ODER-Glied 138 zu den Bedingungstoren geleitet. Die Umbenennung des durch das Rl-FeId benannten
Gleitkomma-Registers wird an die Tore 134 geleitet. Der Leitimpuls auf der Leitung 142 prüft dann die Tore 134,
140, 144 und 146 zur Übertragung des revidierten RX-Befehlsformates
in das unterste Register des I/R-Stapels in ähnlicher Weise, wie es oben beschrieben wurde.
Handelt es sich um einen Speicherbefehl, so bleiben die drei wertniederen Bits des R2-Feldes ungenutzt, und die 5 werthohen Bits stellen ein zur Erzeugungszeit der effektiven
Adresse von der Einheit 14 zugeordnetes Reihenfolgekennzeichen dar, welches zusammen mit den Speicherdaten
po 9-70-015 209828/1094
auf das Leitungssteuermodul 18 gesetzt werden, um diesem
die richtige Speicheradresse anzugeben. Das Rl-Feld des
Speicherbefehles bezeichnet das Gleitkomma—Register, dessen
Inhalt die Quelle des in den Hauptspeicher 10 zu setzenden Operanden sein soll und durch die Ausgangstore 132 auf die
Bedingungstore 134 zum Laden der angegebenen Registerbezeichnung in das RT 1-Feld geleitet wird. Das R2-Feld
wird durch das ODER-Glied 138 und die Tore 14O auf das
RT2-Feld 98 geleitet.
Wie in Fig. 5 gezeigt ist, enthält der I/R-Stapel 34 5 Register 181 bis 185, welche auf ihre Ausführung wartende
Gleitkomma-Befehle enthalten. Ein Befehl tritt unten in den Stapel (Register 185) ein und steigt in jedem Zyklus
um eine Stelle nach oben, wenn dort oben ein Register zur Verfügung steht. Ein Register wird z.B. dadurch verfügbar gemacht, daß ein Befehl auf das Ausführungsregister
gesendet, das Gültigkeitsbit 80 dabei gelöscht und diese Bits dazu benutzt werden, verfügbare Register festzustellen.
Aus Fig. 5 ist zu ersehen, daß der I/R-Stapel 34 5 Register 181 bis 185 und eine Aufstiegsschaltung 186 enthält, die
auf die Gültigkeitsbits 80-1 bis 80—5 der in den Registern 180 bis 185 gespeicherten Befehle anspricht. Ein Befehl
wird in das Register 185 vom Register 3O über die Transformationsschaltung
32 und die Leitungen 188 geladen. Befehle werden von den Registern 181 bis 185 über die Ausgangstore
191 bis 195 und das ODER-Glied 196 übertragen
po 9-70-015 209828/10 9 4
auf das Ausführungsregister 40 als Funktion der über die Ausgangsleitungen 198 von der Sperrschaltung 36 kommenden
Signale. Ein Signal auf einer der Leitungen 198 bereitet einen entsprechenden Satz von Toren für die Übertragung
vor, und ein anschließendes Signal auf der Leitung 482 setzt das Gültigkeitsbit 80 des übertragenen Befehles zurück.
Nach Beendigung der Übertragung prüft die Aufstiegsschaltung 186 aufgrund eines auf die Leitung 200 gegebenen Leitimpulses
die UND-Glieder 201 bis 204 und überträgt als Funktion der Lage des verfügbaren leeren Registers die Befehle
nach oben jeweils in das nächsthöhere Register. Wenn die Sperrschaltung 36 z.B. vorschreibt, daß der im
Register 182 gespeicherte Befehl übertragen werden soll, wird das Tor 192 vorbereitet. Nachdem die Übertragung
stattgefunden hat, wird das Gültigkeitsbit 82-2 gelöscht, und die Aufstiegsschaltung 186 stellt die Verfügbarkeit
des Registers 182 fest und bereitet daraufhin die Tore 205-2, 205-3 und 205-4 der Reihe nach über die Verzögerungsschaltungen 206 bis 208 und die ODER-Glieder 210 bis 212
vor zur übertragung der Befehle aus den Registern 183 bis 185 in die Register 182 bis 184 und stellt auf diese Weise
das Register 185 zum Empfang weiterer Befehle vom Register 30 zur Verfügung, wie durch ein Ausgangssignal vom ODER-Glied
214 auf der Leitung 206 angezeigt wird.
Die Sperr schaltung 36 soll|sicherstellen, daß die Ausführung
von Befehlen aufterhalb einer vorgegebenen Reihenfolge zu
po 9-70-015 209828/1094
—J. ο—
denselben Ergebnissen führt wie die Ausführung der Befehle
in der Reihenfolge, und durch Berücksichtigung von bis zu 5 Befehlen in jedem Zyklus wird die Recheneinheit 42 soweit
belegt gehalten, wie es die Befehle gestatten. Im vorliegenden Ausführungsbeispiel werden dafür 5 verschiedene
Sperren benutzt:
Quelle - Senke-Sperre,
Datengültigkeitssperre,
Einheiten-Belegungssperre,
Kabelbelegungssperre und
Reihenfolgeunterdrückungssperre.
Datengültigkeitssperre,
Einheiten-Belegungssperre,
Kabelbelegungssperre und
Reihenfolgeunterdrückungssperre.
Dies Quelle - Senke-Sperre fragt die RT 1- und RT 2-Felder
eines jeden auf Ausführung wartenden Befehles ab, und wenn zwei oder mehr Befehle auf dasselbe Arbeitsregister Bezug
nehmen, muß der neuere Befehl evtl. gesperrt werden, um die Integrität der Ergebnisse sicherzustellen. Die Datengültigkeitssperre
sperrt einen Befehl von der Ausführung aus, wenn die Daten in dem durch die Felder RT 1 und RT 2 angegebenen
Register ungültig sind, z.B. dadurch, daß die Daten das Ergebnis der Au^ührung eines früheren Befehles
sind, der noch weiter verarbeitet wird, oder daß angeforderte Daten noch nicht zurückgebracht wurden (Speicherabruf läuft
noch). Die Einheitenbelegungssperre gilt nur für Multiplikations- und Divisionsbefehle, da der M/D-Teil 42B in
Fig. 2 nicht bei jedem Zyklus neue Befehle aufnehmen kann.
po *-7o-oi5 209828/1094
2167886
Während ein Multiplikations- oder Divisionsbefehl ausgeführt
wird, setzt er ein entsprechendes Belegungsbit, welches zwei Zyklen früher wieder abgeschaltet und dadurch die Einheitenbelegungs
sperre wieder aufgehoben wird, als die Einheit einen weiteren Befehl annehmen kann. Auf diese Weise kann ein
Zyklus für eine erfolgreiche Sperre und ein weiterer zum
übertragen neuer Operanden so genutzt werden, daß die Einheit ohne Verlust eines Zyklus gebraucht werden kann. Wo
nur eine Ergebnisrückleitung von der Recheneinheit 42 zum
W/R-Stapel 44 zur Verfügung steht, kann kein Befehl zur Ausführung gegeben werden, der gleichzeitig mit einem anderen
früher zur Ausführung gegebenen Befehl beendet ist, und
diese Bedingung wird durch die Leitungsbelegungssperre
überwacht. Die Reihenfolgeunterdruckungssperre wählt
schließlich den ältesten Befehl im I/R-Stapel 34, der nicht anderweitig gesperrt ist, und gestattet seine Überleitung
in das Ausführungsregister 40.
Zyklus für eine erfolgreiche Sperre und ein weiterer zum
übertragen neuer Operanden so genutzt werden, daß die Einheit ohne Verlust eines Zyklus gebraucht werden kann. Wo
nur eine Ergebnisrückleitung von der Recheneinheit 42 zum
W/R-Stapel 44 zur Verfügung steht, kann kein Befehl zur Ausführung gegeben werden, der gleichzeitig mit einem anderen
früher zur Ausführung gegebenen Befehl beendet ist, und
diese Bedingung wird durch die Leitungsbelegungssperre
überwacht. Die Reihenfolgeunterdruckungssperre wählt
schließlich den ältesten Befehl im I/R-Stapel 34, der nicht anderweitig gesperrt ist, und gestattet seine Überleitung
in das Ausführungsregister 40.
Die zur Quellen - Senke-Sperre gehörenden Diagramme sind
in den Fig. 6a bis 6f gezeigt. Typischerweise benötigt
jeder auf Ausführung wartende Befehl ein oder zwei Register für die Quellenoperanden und ein Register für eine Ergebnis-Senke. Für die Quellen - Senken-Sperre gibt das RT 1-Feld
sowohl eine Quelle als auch eine Senke an, während das RT 2-FeId nur eine Quelle bezeichnen kann. Bei diesen Annahmen
erfolgt die Quellen - Senken-Sperrung mit drei Vergleichen
zwischen jedem Befehlspaar gemäß der Darstellung in Fig. 6a.
in den Fig. 6a bis 6f gezeigt. Typischerweise benötigt
jeder auf Ausführung wartende Befehl ein oder zwei Register für die Quellenoperanden und ein Register für eine Ergebnis-Senke. Für die Quellen - Senken-Sperre gibt das RT 1-Feld
sowohl eine Quelle als auch eine Senke an, während das RT 2-FeId nur eine Quelle bezeichnen kann. Bei diesen Annahmen
erfolgt die Quellen - Senken-Sperrung mit drei Vergleichen
zwischen jedem Befehlspaar gemäß der Darstellung in Fig. 6a.
po 9-70-015 209828/109 4
Ein erster Vergleich 220 zwischen den RT 1-Feldern der älteren
und neueren Befehle stellt sicher, daß der neuere Befehl ein Register erst als Quelle benutzt, wenn der ältere Befehl
ein Ergebnis zu dieser Senke zurückgeführt hat. Der zweite Vergleich 222 stellt sicher, daß der neuere Befehl ein Register
erst als Senke benutzt, wenn der ältere Befehl es als Quelle benutzt hat. Der dritte Vergleich 224 stellt sicher,
daß der neuere Befehl ein Register erst als Quelle benutzt, wenn das richtige Ergebnis durch den älteren Befehl in
dieses Register gesetzt worden ist.
Fig. 6b zeigt die 12 für die durch das Register 185 angegebenen Namen erforderlichen Vergleiche. Die gesamte
Quellen - Senken-Sperrung in einem solchen Ausführungsbeispiel benötigt 30 Vergleiche. Gemäß Darstellung in den
Fig. 6a und 6b brauchen solche Vergleiche nur aufwärts durchgeführt zu werden, da die ältesten Befehle im Stapel
oben und die jüngsten unten liegen.
Ein Schaltdiagramm der Quellen - Senken-Sperre ist in Fig. 6c
gezeigt. Nach Darstellung in den Fig. 6d, 6e und 6f arbeitet diese Sperre mit drei verschiedenen Arten von Vergleicherschaltungen.
In einem ersten Vergleich 220, dargestellt in Fig. 6d, werden die RT 1-Bits 250 und das zu einem Befehl
gehörige Gültigkeitsbit 252 verglichen mit den RT 1-Bits 2 und dem Gültigkeitsbit 256 des Befehles im nächsthöheren
Register. Das Ausgangssignal einer Antivalenz-Vergleicher—
po 9-70-015 209828/1094
schaltung 258 zeigt das Fehlen eines Vergleiches an und erzeugt ein Ausgangssignal vom ODER-Glied 260 zur Aufhebung
des Sperrsignales vom Ausgang des Inverters 262.
Der zweite Vergleichstyp ist in Fig. 6e gezeigt, wo das RTl-Bit und das Gültigkeitsbit 270 in einem niedrigen Register
mit dem RT 2- Bit und dem Gültigkeitsbit 272 in einem höheren Register durch die Vergleicherschaltungen 274, das
ODER-Glied 276 und den Inverter 278 ähnlich wie bei der Schaltung in Fig. 6d verglichen werden. Wenn ein Vergleich
auftritt, wird auf der Leitung 280 ein Ausgangssignal erzeugt.
Dieses Verriegelungssignal wird jedoch durch den Inverter 282 und das UND-Glied 284 gesperrt, wenn es sich
um einen Speicherbefehl handelt.
Bei der dritten Vergleichsart 224 wird zwischen dem RT 2-Bit und dem Gültigkeitsbit 290 in einem niedrigen Register und
dem RT 1-Bit und dem Gültigkeitsbit 292 in einem höheren Register verglichen durch Vergleicher-schaltungen 294, ein
ODER-Glied 296 und einen Inverter 298 und ein Sperrsignal auf der Leitung 300 erzeugt. Wiederum wird über den Inverter
302 und das UND-Glied 304 die Sperre in ähnlicher Weise verhindert wenn im niederen Register ein Speicherbefehl steht.
In Fig. 6c ist die Quellen - Senken-Sperrschaltung gezeigt.
Signale vom RT 1-Feld des Befehles im ersten Befehlsregister
181 werden auf die Vergleicherschaltungen 310, 314, 318 und
po 9-70-015 209828/1094
_20_. 2131888
322 der in Fig. 6f gezeigten Art und auf die Vergleicherschaltungen 312; 316, 320 und 324 der in Pig: 6d gezeigten
Art geleitet. Signale aus dein RT 2-Feld in diesem Register
werden auf die Vergleicherichaitungen 230, 232» 234 und 236
der in Fig. 6e gezeigten Art geleitet. In ähnlicher Weise
werden Signale vom RT 1-Feld des Befehles im zweiten Register
182 an die zweiten Eingänge der Vergleicherschaltüngen 312 und 330 und die ersten Eingänge der Vergleicherschaitungen
340, 342, 344, 346, 348 und 350 angelegt. Das RT 1-FeId
des dritten Registers 183 wird an die zweiten Eingänge der Vergleicherschaltungen 316 und 342, 332 und 352
unct die ersten Eingänge der Vergleicherschaltungen 360, 362,
364 und 366 angelegt. Die Signale vom RT 2-Feld werden an
die zweiten Eingänge der Vergleichersehaltungen 314 und 340
und an die ersten Eingänge der Vergleichersehaltungen 370
ütid 372 angelegt. Das RT 1-Feld des Befehles im 4. Register
i84 wird auf die zweiten Eingänge der Vergleichersehaltungen 320*346, 362, 334, 354 und 370 und auf die ersten Eingänge
ψ der Vergleichersehaltungen 374 und 376 geliefert, während
das RT 2-Feld des Befehles auf die zweiten Eingänge der Vergleichersehaltungen 318, 340 und 360 und die ersten Eingänge
der Vergleichsschaltung 378 geleitet Wird; Das RT 1-FeId
des Befehles im Register 185 wird auf den zweiten Eingang der Vergleichersehaltungen 324, 350, 366, 376, 336,
356, 372 und 378 geleitet und das RT 2-Feld dieser Instruktion auf die zweiten Eingänge der Vergleichersehaltungen 322, 348,
364 und 374.
PO 9-70-015 209828/1094
Wenn eine Vergleicherschaltung ein Ausgangssignal liefert, erzeugt sie ein Sperrsignal. Das Sperrsignal für das zweite
Register 182 wird über das ODER-Glied 380 auf die Leitung 382,
für das dritte Register 183 über das ODER-Glied 384 auf die Leitung 386, für das vierte Register 184 über das ODER-Glied
388 auf die Leitung 390 und für das 5. Register 185 über das ODER-Glied 392 auf die Leitung 394 geleitet.
Die Datengültigkextssperre fühlt die zu den Arbeitsregistern im W/R-Stapel 44 gehörenden Zustandsbits ab, die durch die
Felder RT 1 und RT 2 eines jeden Befehles im I/R-Stapel 34
angegeben sind.Wenn Daten in einem Register im W/R-Stapel gespeichert werden, wird entsprechend obiger Beschreibung
das entsprechende Gültigkeitsbit in der Schaltung 52 gesetzt* Die Felder RT 1 und RT 2 eines jeden Befehles im I/R-Stapel
34 werden decodiert und das resultierende Ausgangssignal in jedem Sperrzyklus über die Leitungen 400 an die
Schaltung 52 zum Prüfen des Datengültigkeitsbits des entsprechenden
Arbeits-registers im W/R-Stapel 44 geleitet. Wenn dieses Gültigkeitsbit nicht gesetzt ist, wird ein Signal
über die Leitungen 402 als Datengültigkeits-Sperrsignal für dieses Register zurückgegeben, um die Benutzung des Befehles
in diesem Register im nächsten Ausfuhrungszyklus zu
verhindern. Die Daten können aus zwei Gründen gültig sein. Das angegebene Register kann ein Senkenregister für das
Ergebnis eines vorhergehenden Befehles sein, der noch in der Ausführung läuft, oder das die Operanden liefernde
po 9-70-015 2098 2 8/1094
2151886
Gerät kann eine angeforderte übertragung eines Operanden
aus dem -Speicher 10 noch nicht abgeschlossen haben. Damit
ein Befehl nicht "Daten gültig" gesperrt wird, müssen alle
RT-Adressen Gültigkeitsbits haben (ausgenommen der Ladebefehl und das RT2-Feld eines Speicherbefehles). Die durch
die Felder RT 1 und RT 2 eines Befehles bezeichneten Datengültigkeitsbits werden durch Signale auf der Leitung 404 und
406 bei Ausführung des Befehles zurückgestellt.
Eine ähnliche Sperre ist die Einheitenbelegungssperre, die in diesem Ausführungsbeispiel nur für Multiplikations—
und Divisionsbefehle gilt und die nachfolgende Verwendung des M/D-Teiles 42B durch einen anderen Befehl verhindert,
bis ein vorhergehender Befehl soweit abgeschlossen ist, daß dieser Teil weiterverwendet werden kann. Im vorliegenden
Ausführungsbeispiel wird das Einheiten-Belegungsbit abgeschaltet und das Sperrsignal von der Leitung 408 genommen,
zwei Zyklen, bevor die Einheit tatsächlich einen weiteren Befehl annehmen kann. Dadurch steht ein Zyklus für eine
erfolgreiche Sperrung und ein weiterer zur Übertragung neuer Operanden zur Verfügung, so daß der M/D-Teil ohne Verlust
eines Zyklus wieder benutzt werden kann. In ähnlicher Weise kann die Sperrung einer Leitung erwünscht sein, wenn z.B.
nur eine Ergebnisrückleitung von der Recheneinheit zum W/R-Stapel 44 vorhanden ist. Bei dieser Sperre wird ein
Befehl mit einem anderen vorhergehenden unvollständigen Befehl gesperrt, wenn der zweite Befehl zur selben Zeit ab—
po 9-70-015 209828/1094
geschlossen wäre wie der vorhergehende Befehl. Diese Sperre
wird durch ein Signal auf der Leitung 410 angezeigt.
Schließlieh ist in Fig.- 7 noch die Reihenfolgeunterdrückungs sperre
gezeigt. Diese Sperrschaltung Wählt den ältesten Befehl
im I/R-Stapel 34 , der nicht anderweitig gesperrt ist. Gemäß Darstellung in Fig. 7 werden die Sperrsignale eines
jeden Registers auf entsprechende ODER-Glieder 420, 422, 424, 426 und 428 geleitet. Das Ausgangssignäl des ODER-Gliedes
wird über einen entsprechenden Inverter 430 bis 438 an einen Eingang der UND-Glieder 440 bis 448 angelegt.
Ein durch das Befehlsgültigkeitsbit 80 geleitetes Signal wird an einen zweiten Eingang 450 bis 458 eines jeden UND-Gliedes
angelegt. Wenn der Befehl im ersten Befehlsregister 181 ein gültiger ist und seine Sperr-ODER-Schaltuhg 420 kein
Ausgangssignal liefert, ist das UND-Glied 440 vorbereitet und liefert ein Ausgangssignal über die Leitung 460 als
Tor-Vorbereitungssignal für die Übertragung des Befehles
aus diesem Register in das Ausführungsregister 4Ö und sperrt über den Inverter 470 Übertragungen von allen anderen Registern
im I/R-Stapel 34. Nach Übertragung des Befehles prüft ein auf die Leitung 478 geleiteter Impuls das vorbereitete
UND-Glied 480, und sein Ausgangssignal wird auf die Leitung 482 zum Rückstellen des Gültigkeitsbit 80 im
entsprechenden Register im I/R-Stapel 34 geleitet. Dadurch wird eine freie Stelle im I/R-Stapel 34 angezeigt, so daß
die Befehle im Stapel aufgrund eines Leitimpulses auf der
PO 9-70-015 209828/1094
Leitung 200 in die 4 obersten Register aufsteigen können,
und das 5. Register 185 zum Empfang eines weiteren Befehles von dem Vorverriegelungsregister 30 freigeben.
Sollte der Befehl im Register 181 nicht gültig sein (z.B. durch eine gerade gelöste Bedingung, die diesen Befehl ungültig
gemacht hat) oder der Befehl gesperrt sein, z.B. durch das Einheiten-Belegt-Sperrsignal auf der Leitung 408-1, dann
. liefert das UND-Glied 440 kein Ausgangssignal, und der Inverter
470 erzeugt ein Ausgangssignal, um den 3. Eingang der UND-Glieder 424 bis 448 vorzubereiten. Wenn die beiden
anderen Eingänge auch vorbereitet sind, gestattet das resultierende Signal auf der Ausgangsleitung 462 die Übertragung
eines Befehles vom Befehlsregister 182 auf das Aus-, führungsregister 40 und nach Abschluß dieser Übertragung
die Rückstellung des Gültigkeitsbits dieses Befehls durch ein Ausgangssignal vom UND-Glied 480-2. WEnn beide Register
verriegelt sind, werden die Register 183 bis 185 in ähnlicher
" Weise der Reihe nach auf einen Befehl überprüft, der zur Übertragung
in das Ausführungsregis;(ter 40 verfügbar ist.
Einzelheiten der Freie Liste-Logikschaltung 54 sind in Fig. gezeigt. Diese Schaltung bezeichnet die Register im W/R-Stapel
44, die für die Wahl durch die Befehlseinheit 14 zur Verfügung stehen. Wenn das Register als Gleitkomma-Register
gewählt wirfly bleibt es gewählt, bis diese Wahl durch einen
anderen Ladebefehl geändert wird. Wenn das Register als Puffer-
po 9-70-015 209828/1094
ORIQiMAL INSPECTED
register zu verwenden ist, kann es zur Verfügung gestellt werden, sobald das RT 2-Feld im Ausführungsregister 40 steht.
Somit wird durch das RT 2-FeId eines Ausführungsbefehles
(ausgenommen Speicherbefehl) angegebene Register freigegeben, wenn dieser Befehl im Ausführungsregister 40 steht. Im Ausführungsregister
40 wird der Operationscode decodiert, und, wenn der Befehl ein RX-Befehl ist, auf der Leitung 500 ein
Ausgangssignal erzeugt, um einen Eingang des UND-Gliedes 502 vorzubereiten. Ist der vorliegende Befehl kein Speicherbefehl,
bereitet das Ausgangssignal auf der Leitung 504 vom Inverter 506 den zweiten Eingang des UND-Gliedes 502 vor. Wenn ein
Leitimpuls auf die Leitung 508 gegeben wird, wird dieser vom UND-Glied 502 an die Prüftore 510 und 512 weitergeleitet.
Diese Tore leiten die Bits des RT 2-Feldes an die Decodierer
514 und 516,- und das resultierende Ausgangs signal auf einer
der 16 Leitungen vom Decodierer setzt die entsprechenden Flip-Flops 520-1 bis 520-16, 522-1 bis 522-16 und liefert
so eine Anzeige für die Verfügbarkeit der diesen Flip—Flops
entsprechenden Register. Das "1"-Ausgangssignal eines jeden
Flip-Flops bereitet ein UND-Glied 530 vor und trennt außerdem die vorbereiteten Eingänge von allen nachfolgenden UND-Gliedern
530 über den Inverter 532 und die ODER-Glieder 534 ab. Somit wird ein UND-Glied 530 vorbereitet, welches demfiöchsten
Register entspricht, das gemäß dem Setzen der Flip-Flops 520, 522 in jedem der hohen und niedrigen Abschnitte des
W/R-Stapels 44 zur Verfügung steht. Wenn das ODER-Glied 534-16 oder 534-32 kein Ausgangssignal liefert, werden
P0 9-70-015 209828/1094
Signale über die Inverter 536-1 oder 536-2 über die Leitungen
58 an die Befehlseinheit 14 gegeben und zeigen an, daß kein Register zur Verfügung steht. Wenn die Befehlseinheit 14
ein Arbeitsregister wählen will, wird ein Signaler die Leitung 538-1 und/oder 538-2 gesendet. (Ein Doppelregister kann durch
gleichzeitige Impulssteuerung der entsprechenden Flip-Flops 520 und 522 gewählt werden). Das Ausgangssignal des vorbereiteten
UND-Gliedes 530 wird an den Codierer 540 geleitet, f der ein Codier-Ausgangssignal auf den Leitungen 58 für die
Befehlseinheit 14 erzeugt. In jedem Zyklus wird ein Leitimpuls auf die Leitung 542 gegeben und durch die vorbereitete
Torschaltung 544 weitergeleitet, um ein Ausgangssignal auf
der zugehörigen Leitung im Kabel 546 zu erzeugen, mit welchem das entsprechende Flip-Flop 520 und/oder 522 zurückgestellt
wird als Anzeige dafür, daß die Befehlseinheit 14 das durch dieses Flip-Flop bezeichnete Arbeitsregister reserviert hat.
^ Wenn der Befehl in dem in Fig. 2 gezeigten Ausführungsregister
40 steht, wird mit seinem Operationscode die Recheneinheit gesteuert, und mit dem RT 1-Feld 96 und dem RT 2-Feld 98
werden entsprechende Ausgangstore 46 des W/R-Stapels 44 vorbereitet
zur Übertragung ihres Inhaltes an die Recheneinheit zwecks Verwendung bei der Verarbeitung des Befehles. Jedes
Laden von Daten in den W/R-Stapel, entweder von der Sammelleitung über die Leitungen 46 oder von der Recheneinheit 42
über die Leitungen 50, setzt ein entsprechendes Gültigkeits— bit in der V-Logikschaltung 52, und jede Datenübertragung
po 9-70-015 209828/1094
von einem Register löscht die entsprechenden Gültigkeitsbits,
so daß die Benutzung der Arbeitsregister auf diese Weise über die Datengültigkeits-Sperrschaltung gesteuert wird. Wenn der
Befehl im Ausführungsregister 40 ein Speicher- oder Vergleichsbefehl ist, (sie verändern den Ihhalt des angezeigten Senkenregisters
nicht), wird diese Rückstellung verhindert. Abhängig
von der Art des Befehles werden null, einer oder zwei Operanden aus dem W/R—Stapel 44 ausgeleitet. Bei Befehlen, die
den Addierer benutzen, wird der Name des Senkenregisters vom Ausführungsregister 40 in eine Reihenfolgeeinrichtung übertragen,
um eine Zyklusverzögerung vor der Ausführung zu erreichen und dann die entsprechenden Eingangstore 48 zum
Speichern des Ergebnisses zu öffnen. Bei Multiplikationsund Divisionsbefehlen wird die Senkenregisteradreese angegeben
durch die REihenfοlgeeinrichtung, wenn der M/D—Teil
42B 3 Zyklen vor dem Ende steht. Diese Adresse wird im nächsten Zyklus decodiert, das Datengültigkeitsbit für dieses
Register im nächsten Zyklus gesetzt, und im dritten Zyklus wjerden die zugehörigen Eingangstore 48 zum Empfang des Ergebnisses
vorbereitet. Sollte diese Adresse auch in den Feldern RT 1 oder RT 2 des dann im Ausführungsregister 40
stehenden Befehles erscheinen, wird ein Umgehungstor geöffnet,
der Operand in die entsprechende Recheneinheit 42 geleitet und dann das zugehörige Datengültigkeitsbit gelöscht.
In einer Gleitkomma-Recheneinheit ist nur ein Befehl mit po 9-70-015 209828/1094
erweiterter Genauigkeit gleichzeitig zulässig, da 3 bis 4 volle Register und eine längere Ausführüngszeit benötigt
werden. Wenn ein solcher Befehl die Vorverriegelungsregister
30 erreicht, wird daher von der Befehlseinheit kein weiterer Befehl entgegengenommen, und alle vorher in
die Ausführungseinheit 16 von der Befehlseinheit 14 eingegebenen Befehle werden ausgeführt, mit Ausnahme des Befehles
im Vorverriegelungsregister 30. Dieser Befehl wird dann direkt in das Ausführungsregister 40 und ein zweites
Äusführungsregister übertragen, welches die hinzugefügten Registernämen enthält. Die Felder Rl und R2 des Befehles
mit erweiterter Genauigkeit durchlaufen die Transformationslogikschaltüng
32 zur Berücksichtigung evtl. vorgenommener Ümbenennungen, es gilt jedoch nur die Datengültigkeitssperre"
der Sperrlogikschaltung 36. Wenn der Befehl mit erweiterter Genauigkeit einmal im Ausführungsregister 40 steht,
kann der I/R-Stapel mit der Nachfüllung beginnen; weitere
Befehle gelangen jedoch erst zur Ausführung, wenn der Befehl mit erweiterter Genauigkeit fertig ausgeführt ist.
PO 9-70-015 209828/109/. ORIGINAL INSPECTED
Claims (1)
- Patentansprüchelj Befehlsausführungssystem in einer elektronischen Datenverarbeitungsanlage mit einer Recheneinheit und einer Ausführungseinrichtung für die Speicherung eines Befehls zur Steuerung der Recheneinheit, dadurch gekennzeichnet, daß ferner weitere Datenspeicher (44; Fig. 2) in Verbindung mit der durch die in der Ausführungseinheit (34) gespeicherten Befehle gesteuerten Befehlsausführung in der Recheneinheit vorgesehen sind, daß weiter eine Einrichtung zur Spezifizierung eines der Datenspeicher im Zusammenhang mit der Ausführung eines Befehls, daß ferner eine Speicherlogikschaltung, die auf einen Befehl anspricht, um ein Kennzeichen des spezifizierten Speichers zu speichern, und daß schließlich eine Modifizierungslogikschaltung vorgesehen sind, die auf die Speicherlogikschaltung anspricht, indem sie in einen nachfolgenden Befehl das Kennzeichen des ausgewählten Datenspeichers durch die Speicherlogiks chaltung einfügt.2. Befehlsausführungssystem nach Anspruch 1, dadurch gekennzeichnet, daß jeder Befehl ein Feld zur Spezifizierung eines der Datenspeicher besitzt und ferner die Speicherlogikschaltung eine Anzahl von Speichern und eine Einrichtung, die auf das genanntepo 9-70-015 209828/109/»2161885 30Feld In einem ersten Befehl anspricht, um den Inhalt des Speichers in der Speicherlogikschaltung zu verändern, aufweist, wobei die Modifizierungslogikschal tung den Inhalt des Speichers in der Speicherlogikschaltung als Funktion des genannten Feldes eines nachfolgenden Befehls ausliest.3. Befehlsausführungssystem nach Anspruch 2, dadurch gekennzeichnet, daß jeder Befehl mehrere Felder zur Spezifizierung mehrerer Datenspeicher besitzt.4. Befehlsausführungssystem nach einem oder mehreren der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß ferner eine Datenlogikschaltung für die Speicherung von Gültigkeitsangaben der in den Datenspeichern gespeicherten Daten vorgesehen ist.5. Einrichtung nach einem oder mehreren der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß ferner eine Sperrlogikschaltung vorgesehen ist, die auf die Datenlogikschaltung anspricht, indem sie die Übertragung von Befehlen zu der Ausführungseinrichtung steuert.6. Befehlsausführungssystem nach einem oder mehreren der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß die Speicherlogikschaltung mehrere Speicherplätze fürpo 9-70-015 2 0 9 8 2 8 /10 9 4die Speicherung von Angäben besitzt, die bestimmten mit Prögrämmnamen versehenen Registern entsprechen.7. Befehlsausführungssystem nach einem öder mehreren der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß ferner mehrere Befehlsspeicher für die Aufbewahrung von Befehlen vorgesehen sind, die auf eine übertragung zu der Ausführungseinrichtung warten, und daß ferner eine Sperrlogikschaltung für die Steuerung der Befehlsübertragung von den Befehlsspeichern zu der Ausführungsvorrichtung vorgesehen ist.8. Befehlsausführungssystem nach einem öder mehreren der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß ferner eine Verfügbarkeitslogikschaltung für die Lieferung der Kennzeichen der Datenspeicher für die Verwendung im Zusammenhang mit der Ausführung der Befehle und weiterhin eine Einrichtung für die Veränderung der Kennzeichen in der Verfügbarkeitslogikschaltung als Funktion der Ausführung der Befehle vorgesehen sind.9. Befehlsausführungssystem nach einem oder mehreren der Ansprüche 1 bis 8, dadurch gekennzeichnet, daß die Sperrlogikschaltung eine Vorranglogik für die Freigabe des ältesten nicht gesperrten Befehls im Befehlsspeicher enthält.PO 9-70-015 209828/109410. Befehlsausführungssystem nach, einem oder mehreren der Ansprüche 1 bis 9, dadurch, gekennzeichnet, daß die Recheneinheit mehrere Untereinheiten und ferner eine Sperrlogik für die Freigabe von Befehlen für die Übertragung zu der Ausführungseinrichtung als Funktion der Verfügbarkeit der Untereinheiten, besitzt.11. Befehlsausführungssystem nach einem oder mehreren der Ansprüche 1 bis 10, dadurch gekennzeichnet, daß ferner eine Verfügbarkeitslogikschaltung für die Lieferung von Kennzeichen der Datenspeicher, die für die Verwendung im Zusammenhang mit der Ausführung von Instruktionen verfügbar sind und eine Änderungseinrichtung zur Änderung der Kennzeichen in der Verfügbarkeitslogik als Funktion der Ausführung der Befehle vorgesehen ist.12. Befehlsausführungssystem nach einem oder mehreren der Ansprüche 1 bis 11, dadurch|gekennzeichnet, daß der Befehl mehrere Felder zur Spezifizierung von Datenspeichern besitzt und das System ferner eine Sperrlogikschaltung enthält, für die Steuerung der Übertragung von Befehlen zu der Ausführungseinrichtung als Funktion des Inhalts der genannten Felder aufeinanderfolgender Befehle.PO 9-70-015 209828/1094ORIGINAL INSPECTED3-3. Befehlsausführungssystem nach Anspruch 12, dadurch gekennzeichnet, daß das System ferner eine Datenlogikschaltung für die Speicherung von Gültigkeitskennzeichen der in den Datenspeichern gespeicherten Daten vorgesehen ist.14. Befehlsausführungssystem nach Anspruch 13, dadurch gekennzeichnet, daß die Sperrlogikschaltung ferner eine Logik enthält, die auf die Datenlogikschaltung anspricht und die übertragung der Befehle zu der Ausführungseinrichtung steuert.15. Befehlsausführungssystem nach Anspruch 14, dadurch gekennzeichnet, daß die Recheneinheit mehrere Untereinheiten besitzt und die Sperrlogikschaltung weiterhin eine Logik für die Freigabe der Befehle für die Übertragung zu der Ausführungseinrichtung als Funktion der Verfügbarkeit der genannten Untereinheiten besitzt.16. Befehlsausführungssystem nach Anspruch 15, dadurch gekennzeichnet, daß die Sperrlogikschaltung ferner eine Vorranglogik enthält, für die Freigabe des ältesten nicht gesperrten Befehls im Befehlsspeicher für die Übertragung zu der Ausführungseinrichtung.PO 9-70-015 209828/109417. Befehlsausführungssystem nach, Anspruch. 16, dadurch gekennzeichnet, daß ferner eine Verfügbarkeitslogikschaltung für die Lieferung von Kennzeichen der Datenspeicher für die Verwendung im Zusammenhang mit der Ausführung der Befehle und eine Änderungseinrichtung zur Änderung der Kennzeichen in der Verfügbarkeitslogikschaltung als Funktion von Befehlsanforderungen und —ausführungen vorgesehen sind.18. Befehlsausführungssystem nach, einem oder mehreren der Ansprüche 1 bis 17, dadurch gekennzeichnet, daß ferner Senken- und Quellen-Operandenbestimmungen vorgesehen sind, wobei die Quellenbestimmungen den Ort eines Operanden und die SenkenbeStimmungen den Ort angeben, an dem das Ergebnis der Ausführung dieses Befehls erwartet wird, und daß ferner die Recheneinheit folgende Funktionsgruppen aufweist:Eine Ausführungseinrichtung für die Speicherung eines Befehls für die Steuerung der Recheneinheit,mehrere Operandenregister, wobei jedem eine Kennzeichenanordnung zugeordnet ist, für die Angabe der Natur der in ihm gespeicherten Daten,PO 9-70-015 209828/1094eine Einrichtung zur Einfügung von Kennzeichen eines ersten der Operandenregister, um einen Quellenoperanden aufzunehmen, der einen Speicherabruf erfordert, und eines zweiten der Operandenregister, um das Ergebnis der Ausführung eines Befehls in einem Befehl aufzunehmen, um einen modifizierten Befehl zu generieren, undeine Einrichtung zur übertragung des modifizierten Befehls zu der Ausführungseinrichtung für die Steuerung der Recheneinheit bei der übertragung und Datenmanipulation zwischen den Operandenregistern, wie sie von den Quellen- und Senken-Operandenbestimmungen in dem modifizierten Befehl spezifiziert sind und der Recheneinheit.19. Befehlsausführungssystem nach Anspruch 18, dadurch gekennzeichnet, daß ferner eine Verfügbarkeitslogikschaltung für die Lieferung von Kennzeichen der Operandenregister,Sie für eine Verwendung im Zusammenhang mit der Ausführung der Befehle verfügbar sind und eine Einrichtung zur Änderung der Kennzeichen in der Verfügbarkeitslogikschaltung als Funktion der Ausführung der Befehle vorgesehen sind.po 9-70-015 209828/1094ORIGINAL INSPECTED20. Befehlsausfühxungssystem nach. Anspruch 19, dadurch gekennzeichnet, daß ferner mehrere Befehlsregister für die Speicherung der modifizierten Befehle, die eine Übertragung zu der Ausführungseinrichtung erwarten, und eine Sperrlogikschaltung für die Steuerung der Übertragung der Befehle von den Befehlsregistern zu der Ausführungseinrichtung vorgesehen sind.21. Befehlsausführungssystem nach Anspruch 20, dadurch gekennzeichnet, daß die Recheneinheit Additions- und Multiplikations/Divisions-Untereinheiten besitzt und ferner die Sperrlogikschaltung folgende Funktionseinheiten aufweist:Eine Quelle-Senke-Logikschaltung für die Steuerung der Übertragung von Befehlen zu der Ausführungseinrichtung als Funktion der Quellen- und Senken-Operandenkennzeichen in den modifizierten Befehlen,eine Operandengültigkeitslogikschaltung für die Steuerung der Übertragung der Befehle zu der Ausführungseinrichtung als Funktion der Kennzeichen,eine Untereinheitenverfügbarkeitslogikschaltung für die Steuerung der übertragung der Befehle zu der Ausführungseinrichtung als Funktion derPO 9-70-015 209828/1094Verfügbarkeit der Untereinheiten der Recheneinheitund eine Vorranglogikschaltung für die Steuerung der Übertragung des ältesten nicht gesperrten Befehls in den Befehlsregistern der Ausführungseinrichtung .22. Befehlsausführungssystem nach Anspruch 18, dadurch gekennzeichnet, daß die Eingabeanordnung für die Kennzeichen noch folgende Funktionseinheiten enthält:Eine Einrichtung für die Speicherung der Kennzeichen mehrerer Operandenregister, eine Einrichtung, die auf einen ersten Befehl anspricht, um das Kennzeichen eines Operandenregisters, das in der genannten Eingabevorrichtung für das Kennzeichen gespeichert ist, zu verändern, eine Einrichtung, die auf einen zweiten Befehl für die Modifizierung eines Befehls anspricht, um ein Operandenregisterkennzeichen, das in der Eingabevorrichtung für das Kennzeichen gespeichert ist, und das Kennzeichen eines zweiten Operandenregisters in dem zweiten Befehl einzugeben, und eine Einrichtung, die auf einen dritten Befehl anspricht, um zwei Operandenregisterkennzeichen einzufügen, die in dem dritten Befehl in derPO 9-70-015 209828/1094genannten Eingabevorrichtung für das Kennzeichen . gespeichert sind.23. Befehlsausführungssystem nach Anspruch 22, dadurch gekennzeichnet, daß ferner eine Verfügbarkeitslogikschaltung vorgesehen ist, die folgende Funktionseinheiten besitzt:Eine Einrichtung zur Lieferung der Operandenregisterkennzeichen, die für eine Verwendung im Zusammenhang mit der Ausführung der Befehle verfügbar sind, eine Einrichtung zur Veränderung der Verfügbarkeitskennzeichen als Funktion von Befehlsanforderungen und -ausführung, wobei das Kennzeichen des zweiten Operandenregisters in den ersten Befehl in Abhängigkeit von den Verfügbarkeitskennzeichen der Operandenregister eingefügt wird, und die Verfügbarkeitskennzeibhen von der Verfügbarkeitslogikschaltung geliefert werden, daß weiterhin die genannte Veränderungseinrichtung das Verfügbarkeitskennzeichen des Operandenregisters, das von dem zweiten Operandenregisterkennzeichen in dem zweiten Befehl identifiziert wird, in Abhängigkeit von einem Signal der Ausführungseinrichtung verändert, wenn sich der zweite Befehl in der Ausführungseinrichtung befindet.po 9-70-015 209828/10943*Leerseite
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10070470A | 1970-12-22 | 1970-12-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2161886A1 true DE2161886A1 (de) | 1972-07-06 |
DE2161886C2 DE2161886C2 (de) | 1985-01-17 |
Family
ID=22281112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2161886A Expired DE2161886C2 (de) | 1970-12-22 | 1971-12-14 | Befehlsausführungseinheit in einer elektronischen Datenverarbeitungszentrale für die gleichzeitige Verarbeitung mehrerer Befehle |
Country Status (5)
Country | Link |
---|---|
US (1) | US3718912A (de) |
JP (1) | JPS534779B1 (de) |
DE (1) | DE2161886C2 (de) |
FR (1) | FR2119338A5 (de) |
GB (1) | GB1306669A (de) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3909789A (en) * | 1972-11-24 | 1975-09-30 | Honeywell Inf Systems | Data processing apparatus incorporating a microprogrammed multifunctioned serial arithmetic unit |
DE2309029C2 (de) * | 1973-02-23 | 1985-10-03 | Nixdorf Computer Ag, 4790 Paderborn | Elektronische Digital-Datenverarbeitungs-Anlage mit Mikroprogrammsteuerung |
US3962706A (en) * | 1974-03-29 | 1976-06-08 | Massachusetts Institute Of Technology | Data processing apparatus for highly parallel execution of stored programs |
US4153932A (en) * | 1974-03-29 | 1979-05-08 | Massachusetts Institute Of Technology | Data processing apparatus for highly parallel execution of stored programs |
US4149240A (en) * | 1974-03-29 | 1979-04-10 | Massachusetts Institute Of Technology | Data processing apparatus for highly parallel execution of data structure operations |
DE2555963C2 (de) * | 1975-12-12 | 1982-10-28 | Ibm Deutschland Gmbh, 7000 Stuttgart | Einrichtung zur Funktionsmodifizierung |
DE2937777C2 (de) * | 1979-09-19 | 1982-04-08 | Ibm Deutschland Gmbh, 7000 Stuttgart | Steuereinrichtung in einer elektronischen Datenverarbeitungsanlage zur Programmunterbrechung und für die Durchführung erzwungener Operationen |
JPS5932045A (ja) * | 1982-08-16 | 1984-02-21 | Hitachi Ltd | 情報処理装置 |
US4807115A (en) * | 1983-10-07 | 1989-02-21 | Cornell Research Foundation, Inc. | Instruction issuing mechanism for processors with multiple functional units |
US5729757A (en) * | 1985-05-20 | 1998-03-17 | Shekels; Howard D. | Super-computer system architectures using status memory to alter program |
US4903196A (en) * | 1986-05-02 | 1990-02-20 | International Business Machines Corporation | Method and apparatus for guaranteeing the logical integrity of data in the general purpose registers of a complex multi-execution unit uniprocessor |
NL8800071A (nl) * | 1988-01-13 | 1989-08-01 | Philips Nv | Dataprocessorsysteem en videoprocessorsysteem, voorzien van een dergelijk dataprocessorsysteem. |
US5280620A (en) * | 1988-12-16 | 1994-01-18 | U.S. Philips Corporation | Coupling network for a data processor, including a series connection of a cross-bar switch and an array of silos |
US5214765A (en) * | 1989-08-31 | 1993-05-25 | Sun Microsystems, Inc. | Method and apparatus for executing floating point instructions utilizing complimentary floating point pipeline and multi-level caches |
US5150470A (en) * | 1989-12-20 | 1992-09-22 | International Business Machines Corporation | Data processing system with instruction queue having tags indicating outstanding data status |
JP2622008B2 (ja) * | 1990-03-08 | 1997-06-18 | 甲府日本電気株式会社 | 情報処理装置 |
JP2834292B2 (ja) * | 1990-08-15 | 1998-12-09 | 株式会社日立製作所 | データ・プロセッサ |
EP0495162A3 (en) * | 1991-01-16 | 1994-05-18 | Ibm | Storage management |
US5539911A (en) * | 1991-07-08 | 1996-07-23 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
US5493687A (en) | 1991-07-08 | 1996-02-20 | Seiko Epson Corporation | RISC microprocessor architecture implementing multiple typed register sets |
WO1993020505A2 (en) * | 1992-03-31 | 1993-10-14 | Seiko Epson Corporation | Superscalar risc instruction scheduling |
JP3637920B2 (ja) * | 1992-05-01 | 2005-04-13 | セイコーエプソン株式会社 | スーパースケーラマイクロプロセサに於て命令をリタイアさせるシステム及び方法 |
DE69330889T2 (de) | 1992-12-31 | 2002-03-28 | Seiko Epson Corp | System und Verfahren zur Änderung der Namen von Registern |
US5628021A (en) * | 1992-12-31 | 1997-05-06 | Seiko Epson Corporation | System and method for assigning tags to control instruction processing in a superscalar processor |
US5761473A (en) * | 1993-01-08 | 1998-06-02 | International Business Machines Corporation | Method and system for increased instruction synchronization efficiency in a superscalar processsor system utilizing partial data dependency interlocking |
US5537559A (en) * | 1994-02-08 | 1996-07-16 | Meridian Semiconductor, Inc. | Exception handling circuit and method |
US7415601B2 (en) * | 2002-06-28 | 2008-08-19 | Motorola, Inc. | Method and apparatus for elimination of prolog and epilog instructions in a vector processor using data validity tags and sink counters |
US7140019B2 (en) | 2002-06-28 | 2006-11-21 | Motorola, Inc. | Scheduler of program instructions for streaming vector processor having interconnected functional units |
US6934938B2 (en) * | 2002-06-28 | 2005-08-23 | Motorola, Inc. | Method of programming linear graphs for streaming vector computation |
US7159099B2 (en) * | 2002-06-28 | 2007-01-02 | Motorola, Inc. | Streaming vector processor with reconfigurable interconnection switch |
US7290122B2 (en) * | 2003-08-29 | 2007-10-30 | Motorola, Inc. | Dataflow graph compression for power reduction in a vector processor |
JP3926809B2 (ja) * | 2004-07-27 | 2007-06-06 | 富士通株式会社 | 分岐命令制御装置、および制御方法。 |
US7945768B2 (en) * | 2008-06-05 | 2011-05-17 | Motorola Mobility, Inc. | Method and apparatus for nested instruction looping using implicit predicates |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3346851A (en) * | 1964-07-08 | 1967-10-10 | Control Data Corp | Simultaneous multiprocessing computer system |
US3462744A (en) * | 1966-09-28 | 1969-08-19 | Ibm | Execution unit with a common operand and resulting bussing system |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BE621075A (de) * | 1961-08-17 | |||
US3425039A (en) * | 1966-06-27 | 1969-01-28 | Gen Electric | Data processing system employing indirect character addressing capability |
US3461434A (en) * | 1967-10-02 | 1969-08-12 | Burroughs Corp | Stack mechanism having multiple display registers |
US3544974A (en) * | 1968-04-01 | 1970-12-01 | Ibm | Data processing system including buffered operands and means for controlling the sequence of processing of same |
US3614741A (en) * | 1970-03-23 | 1971-10-19 | Digital Equipment Corp | Data processing system with instruction addresses identifying one of a plurality of registers including the program counter |
-
1970
- 1970-12-22 US US00100704A patent/US3718912A/en not_active Expired - Lifetime
-
1971
- 1971-09-20 GB GB4366271A patent/GB1306669A/en not_active Expired
- 1971-11-02 JP JP8681671A patent/JPS534779B1/ja active Pending
- 1971-11-16 FR FR7141954A patent/FR2119338A5/fr not_active Expired
- 1971-12-14 DE DE2161886A patent/DE2161886C2/de not_active Expired
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3346851A (en) * | 1964-07-08 | 1967-10-10 | Control Data Corp | Simultaneous multiprocessing computer system |
US3462744A (en) * | 1966-09-28 | 1969-08-19 | Ibm | Execution unit with a common operand and resulting bussing system |
Also Published As
Publication number | Publication date |
---|---|
JPS534779B1 (de) | 1978-02-21 |
GB1306669A (en) | 1973-02-14 |
FR2119338A5 (de) | 1972-08-04 |
US3718912A (en) | 1973-02-27 |
DE2161886C2 (de) | 1985-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2161886C2 (de) | Befehlsausführungseinheit in einer elektronischen Datenverarbeitungszentrale für die gleichzeitige Verarbeitung mehrerer Befehle | |
DE2224537C2 (de) | Einrichtung und Verfahren zur Instruktionsauswahl in einem Fließbandprozessor | |
DE2023354C2 (de) | Datenverarbeitungsanlage mit einem Mikrobefehlsspeicher | |
DE69133302T2 (de) | Registerabbildung in einem einzigen Taktzyklus | |
DE2234867C2 (de) | Anordnung in einer Datenverarbeitungsanlage zum Steuern der Verarbeitung zweier voneinander unabhängiger Befehlsfolgen | |
DE69738188T2 (de) | Verfahren und apparat für eine erhöhte genauigkeit bei der verzweigungsvorhersage in einem superskalaren mirkroprozessor | |
DE2714805A1 (de) | Datenverarbeitungssystem | |
DE2415900A1 (de) | Rechenautomat mit mehreren mit je einem vorratsspeicher versehenen rechenanlagen | |
DE2524229A1 (de) | Datenverarbeitungssystem mit pyramidenfoermiger hierarchie des steuerflusses | |
CH650600A5 (de) | Zentralprozessoreinheit einer datenverarbeitungsanlage mit operationscode-erweiterungsregister. | |
DE2657848A1 (de) | Steuereinheit fuer ein datenverarbeitungssystem | |
DE1285220B (de) | Datenverarbeitungssystem mit mehreren selbstaendigen Recheneinheiten | |
DE2036729A1 (de) | Digital Datenverarbeiter | |
DE4207158A1 (de) | Speicher-zugriffssteuerung | |
DE2054830A1 (de) | Informationsverarbeitungssystem mit wortstrukturiertem Speicher und Verfahren fur einen Zugriff zu einem derar tigen Speicher | |
DE1499206B2 (de) | Rechenanlage | |
DE1549474B2 (de) | Anordnung in einer elektronischen digitalen Datenverarbeitungsanlage zur Ausführung eines ersten Befehls und gleichzeitigen Decodierung eines folgenden Befehls | |
DE2617485C3 (de) | Schaltungsanordnung für Datenverarbeitungsanlagen zur Abarbeitung von Mikrobefehlsfolgen | |
DE2720864A1 (de) | Verfahren und anordnung zum lueckenfreien einspeichern einer anzahl von datenblocks unbestimmter laenge | |
DE3105115C2 (de) | ||
DE2221926C3 (de) | Datenverarbeitungsanlage mit wenigstens einem in Verbindung mit mehreren Peripheriegeräten stehenden Prozessor | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE2906685A1 (de) | Instruktionsdecodierer | |
DE2747304A1 (de) | Einrichtung zur mikrobefehlssteuerung | |
DE2316321C2 (de) | Schaltungsanordnung an der Schnittstelle zwischen einer Steuerung eines Rechenwerkes und einem Hauptspeichers einer Rechenanlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OD | Request for examination | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |