DE3424962C2 - - Google Patents
Info
- Publication number
- DE3424962C2 DE3424962C2 DE3424962A DE3424962A DE3424962C2 DE 3424962 C2 DE3424962 C2 DE 3424962C2 DE 3424962 A DE3424962 A DE 3424962A DE 3424962 A DE3424962 A DE 3424962A DE 3424962 C2 DE3424962 C2 DE 3424962C2
- Authority
- DE
- Germany
- Prior art keywords
- data
- instruction
- operand
- register
- command
- 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
Links
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/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
-
- 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/3824—Operand accessing
Description
Die Erfindung betrifft ein Datenverarbeitungssystem zur
parallelen Verarbeitung von Befehlsströmen in mehreren
Zyklen nach dem Oberbegriff des Patentanspruchs 1.
Ein derartiges Datenverarbeitungssystem ist durch die Veröffentlichung
Computing Surveys, Vol. 9, No. 1, March 1977,
S. 70-73, bekanntgeworden.
In Fig. 1 ist in einem Register 10 ein Format eines
Speicher-Speicher-Befehls dargestellt, wobei ein Speicher
zwei Operandendaten für eine arithmnetische Operation und
auch das Operationsergebnis speichert. Dieser Befehlstyp
wird nachfolgend als SS-Befehl bezeichnet. In Fig. 1
stellen ein Symbol OP einen Operationscode des SS-Befehls,
L 1 und L 2 Längencodes, die die Länge der zwei Operanden
angeben, B 1 und B 2 Inhaltsangaben allgemeiner Register
(oder Basisregister), die zur Adressierung verwendet werden
und D 1 und D 2 Distanzen dar.
Die höchstwertige Byte-Adresse (oder Kopfadresse)
eines ersten Operanden ist als Summe von (B 1) + D 1 gegeben.
Die niedrigstwertige Byte-Adresse (oder Endadresse)
des Operanden ist als Summe von (B 1) + D 1 + L 1 gegeben, worin
(B 1) den Inhalt des allgemeinen oder Basisregisters darstellt.
In gleicher Weise wird die Kopfadresse eines zweiten Operanden
als die Summe (B 2) + D 2 und dessen Endadresse als Summe (B 2)
+D 2 + L 2 bestimmt. Diese Adressen sind logische Adressen.
Die arithmetische Operation verarbeitet den ersten und zweiten
Operanden und lädt das Ergebnis in die Speicherstelle des
ersten Operanden.
In Fig. 2a ist ein Fluß aufeinanderfolgender Operationen der
SS-Befehle in einem Pipeline-Computer dargestellt. D, A, L, E,
P und S geben in dieser Figur verschiedene Schritte oder Stufen
der Pipeline-Verarbeitungen an. Dabei ist zu beachten, daß
die Verarbeitungen der verschiedenen Befehle sequentiell
in jedem Zyklus initiiert werden, so daß mehrere Befehle
parallel verarbeitet werden können.
Bei der Stufe D wird der Befehl dekodiert und die zur Bestimmung
der logischen Adressen der Operanden nötige Addition ausgeführt.
Bei der Stufe A werden die auf diese Weise bestimmten
logischen Adressen der Operanden in entsprechende reale
Adressen übersetzt. Bei der Stufe L werden die Operandendaten
aus einem Pufferspeicher ausgelesen. Bei der Stufe E werden
arithmetische Operationen oder Berechnungen unter Verwendung
der so erhaltenen Operandendaten ausgeführt. Bei der Stufe P
wird die zum Abspeichern des Operations- oder Berechnungsergebnisses
ermittelte logische Adresse in die reale Adresse
übersetzt.
Bei der Stufe S wird das Ergebnis der arithmetischen Operation
oder Berechnung in einen Pufferspeicher eingeschrieben.
Die Stufen D, A, L, E, P und S werden von einer Stufensteuerschaltung,
die nachfolgend beschrieben wird, gesteuert.
Häufig ist bei den SS-Befehlen die Operandenlänge länger.
Außerdem sind für viele Befehle ziemlich komplizierte Verarbeitungen
nötig. Folglich werden für die bei der Stufe E
ausgeführte arithmetische Verarbeitung zwei oder mehr Zyklen
nötig. In Fig. 2a ist angenommen, daß die aufeinanderfolgenden
Befehle 1 bis 4 jeweils zur Verarbeitung in Stufe E
zwei Zyklen benötigen. Deshalb wird die arithmetische Operation
für den Befehl im Abstand von zwei Zyklen in Schritt E
ausgeführt.
Nun ist es bekannt, daß bei einer Pipeline-Datenverarbeitungseinheit
die Befehle parallel und überlappend verarbeitet
werden. Folglich kann dabei eine Situation entstehen, bei der
das Lesen oder Holen des Operanden für einen nachfolgenden
Befehl vor dem Einschreiben des Operanden eines vorangehenden
Befehls erfolgen muß. Zum Beispiel geht dann die Stufe L
des nachfolgenden Befehls (z. B. Befehl 2) der Stufe S des
vorausgehenden Befehls (z. B. Befehl 1) voran. Wenn die Verarbeitungseinheit
dabei so gebaut ist, daß die Befehlsverarbeitunsfolge
aufrechterhalten bleibt, kann eine Situation
entstehen, bei der der Operand für einen nachfolgenden Befehl
von einem Speicherplatz während des Verarbeitungsablaufs
eines vorangehenden Befehls oder vor der Datenänderung
des Speicherplatzes, die durch einen auf Ausführung wartenden
Befehl erfolgt, geholt wird. Bei dieser Situation muß eine
Kollision erfaßt werden, damit das Holen des Operanden für
den nachfolgenden Befehl verzögert werden kann, bis die Änderung
der Daten des Speicherplatzes für den vorangehenden
Befehl abgeschlossen ist. Genauer gesagt muß im Falle des
obenerwähnten Beispiels die Verarbeitung der Stufe L des
nachfolgenden Befehls verzögert werden, bis die Verarbeitung
der Stufe S des vorangehenden Befehls abgeschlossen ist, damit
eine Kollision vermieden wird. Dieser Verarbeitungstyp
wird allgemein als OSC (Operand Store Compare)-Ereignis
bezeichnet.
Sobald die Bedingung für das obenerwähnte OSC-Ereignis auftritt,
muß das Auslesen des Operanden für den folgenden Befehl
verzögert werden, bis die Verarbeitung im Zusammenhang
mit dem OSC-Ereignis ausgeführt ist. Das bedeutet, daß die
Pipeline-Verarbeitung gestört oder nachteilig beeinflußt
wird, und die Leistungsfähigkeit der Datenverarbeitungseinheit
ist verringert.
In Fig. 2b ist eine Situation dargestellt, bei der die Verarbeitungen
für das OSC-Ereignis für alle die Befehle 1 bis 4
von Fig. 2a ausgeführt werden müssen. Genauer gesagt werden
die durch die Ausführung des Befehls 1 zu ändernden Speicherdaten
vom Befehl 2 benötigt, die durch die Ausführung des
Befehls zu ändernden Speicherdaten vom Befehl 3 benötigt
usw.
Unter den in Fig. 2b dargestellten Umständen werden die Befehle
jeweils im Abstand von 5 Zyklen verarbeitet. Deshalb
wird die Leistungsfähigkeit des Datenverarbeitungssystems
bei dem in Fig. 2b dargestellten Fall entsprechend 3 Zyklen
im Vergleich mit dem in Fig. 2a dargestellten Fall verschlechtert.
In der eingangs genannten Literaturstelle Computing
Surveys, Vol. 9, No. 1, March 1977, S. 70-73, wird der
Fall, bei dem mit einem Befehl i in den gleichen Speicherplatz
eingeschrieben wird, aus dem mit einem nachfolgenden
Befehl j ausgelesen werden soll, als "Konfliktfall" bezeichnet.
In der Veröffentlichung ist der Vorschlag angeführt,
bei Übereinstimmung der Operanden-Adressen, die
durch den vorangehenden und den nachfolgenden Befehl angegeben
sind, einen direkten Datenpfad über einen Datenspeicher
herzustellen zur Übertragung des Operanden des
vorangehenden Befehls zum nachfolgenden Befehl. Dabei wird
von der Voraussetzung ausgegangen, daß die Operanden der
beiden Befehle die gleiche Länge aufweisen. Demgegenüber
betrifft die vorliegende Erfindung ein Datenverarbeitungssystem,
das einen "Kurzschluß-Weg" selbst dann bereitstellt,
wenn die Operanden unterschiedlich lang und willkürlich
adressiert sind.
Der vorliegenden Erfindung liegt die Aufgabe zugrunde,
ausgehend von einem Datenverarbeitungssystem entsprechend
dem Oberbegriff des Patentanspruchs 1 dieses dahingehend
zu verbessern, daß auch bei der Verarbeitung von Operanden
unterschiedlicher Länge und willkürlicher Adressierung
der Operanden im Konfliktfall die Operanden-Daten für den
nachfolgenden Befehl über einen "Kurzschluß-Weg" bereitgestellt
werden.
Gelöst wird diese Aufgabe durch die im kennzeichnenden
Teil des Patentanspruchs 1 angegebenen Merkmale.
Eine zweckmäßige Ausgestaltung bzw. Weiterbildung der Erfindung
ist im Unteranspruch angegeben.
Ein Ausführungsbeispiel der Erfindung wird im folgenden anhand der Zeichnung näher
beschrieben. Es zeigt
Fig. 1 und 3 zusammengenommen ein Blockschaltbild eines
Ausführungsbeispiels einer erfindungsgemäßen
Datenverarbeitungsvorrichtung,
Fig. 2a und 2b Zeitdiagramme, die Beispiele einer schon bekannten
Verarbeitung bei nicht vorhandenem bzw.
vorhandenem OSC-Ereignis darstellen,
Fig. 2c ein Zeitdiagramm, das beispielhaft die Verarbeitung
auf ein OSC-Ereignis gemäß der Lehre der Erfindung
darstellt,
Fig. 4 ein Blockschaltbild eines Ausführungsbeispiels
der OSC-Erfassungsschaltung (20 von Fig. 3),
Fig. 5a beispielhaft den Betrieb der in Fig. 3 dargestellten
Ausricht-Einheiten (36, 37),
Fig. 5b beispielhaft den Betrieb einer in Fig. 6 dargestellten Schiebeeinheit (460),
Fig. 6 ein Blockschaltbild eines Ausführungsbeispiels
eines in Fig. 3 dargestellten Akkumulators (40),
Fig. 7 ein Blockschaltbild einer in Fig. 1 dargestellten
OSC-Steuerschaltung (11), und
Fig. 8 (a) bis (e) beispielhaft den Betrieb der OSC-Steuerschaltung
(11),
Zunächst wird das der Erfindung zugrundeliegende Prinzip erläutert.
Wenn ein zwei oder mehr Zyklen für die Ausführung benötigender
Befehle dekodiert wird, erfolgt die Dekodierung
eines nachfolgenden Befehls verzögert um einen Zyklus, woraufhin
die Verarbeitung zur Erfassung des OSC-Ereignisses ("Konfliktfall") zwischen
dem momentanen Befehl und dem folgenden Befehl sowie zwischen
dem dem momentanen Befehl vorangehenden und dem folgenden Befehl
ausgeführt wird. Nachdem in Stufe D′ (Fig. 2c) ein OSC-
Ereignis erfaßt ist, wird
- a) das Lesen der Operanden für den folgenden Befehl nicht verzögert, sogar wenn die herkömmliche OSC-Erfassungsschaltung das OSC-Ereignis erfaßt hat und verwendet
- b) die arithmetische Einheit oder der Akkumulator das Operationsergebnis, das der vorangehende Befehl erbracht hat als Operandendaten für den folgenden Befehl, statt die Daten aus dem Speicher auszulesen.
Zu diesem Zwecke ist im Akkumulator oder der arithmetischen
Einheit ein Datenregister zur Übertragung des
beim vorangehenden Befehl anfallenden Operationsergebnisses
zur Ausführung des Folgebefehl vorgesehen. Zusätzlich werden die
Daten, die voraussichtlich vom Folgebefehl benötigt werden
bezüglich der Byte-Position ausgerichtet und zuvor in das
Datenregister gesetzt.
Bei der folgenden Beschreibung des Ausführungsbeispiels der Erfindung
wird angenommen, daß das Prinzip auf die Verarbeitung
von Dezimalbefehlen unter allen möglichen SS-Befehlen angewendet wird.
Fig. 2c zeigt ebenfalls ein Zeitdiagramm ähnlich Fig. 2b,
das die erfindungsgemäße Verarbeitung für den Fall, wo das
OSC-Ereignis für alle vier Befehle 1 bis 4 angenommen wird,
veranschaulicht. Die Beschreibung erfolgt nun in Verbindung
mit den einzelnen Verarbeitungsstufen.
Wenn in der in Fig. 1 dargestellten Einrichtung ein Befehlscode
in die Befehlsregistereinheit 10 gesetzt wird, werden
die mit B 1 und B 2 bezeichneten Inhalte der Basisregister aus
einem allgemeinen Register 12 jeweils auf Leistungen 12 A und
12 B in Schritt D ausgelesen. Als Ergebnis
führen Adressaddierer 14 und 15 jeweils die arithmetischen
Operationen (B 1) + D 1 und (B 2) + D 2 auf der Basis der obengenannten
Inhalte B 1 und B 2 und der Distanzen D 1 und D 2, die
jeweils auf Leitungen 10 A und 10 B ausgelesen werde, aus.
Die Additionsergebnisse werden jeweils in Adressregister
16 und 17 für logische Adressen gespeichert. Zusätzlich werden
die Längencodes L 1 und L 2 jeweils über Leitungen 10 C und
10 D in Register 18 und 19 und der Operationscode OP in ein
Register 13 über eine Leitung 10 E geladen. Außerdem wird der
gesamte Befehlscode im Register 10 zu einer OSC-Steuerschaltung
11, die erfindungsgemäß vorgesehen ist, gespeist.
Fig. 7 zeigt ein Blockschaltbild eines Ausführungsbeispiels
der OSC-Steuerschaltung 11 von Fig. 1. Ein Operationscode
OP′, ein Längencode L 1′ eines ersten Operanden, eine Basisregisternummer
B 1′und eine Distanz D 1′ eines augenblicklichen
Befehls, die zuvor im Register 10 standen, werden synchron
mit der Stufe D in ein Register 100 geladen. Zusätzlich werden
die zuvor im Register 100 gespeicherten Inhalte zu einem
weiteren Register 110 ebenfalls synchron mit der Stufe D
transferiert. Auf diese Weise werden die Inhalte der Befehlsregistereinheit
10 jeweils sequentiell bei der Verarbeitungsstufe
D dem Register 100 und von hier dem Register 110 übertragen.
Wenn wir annehmen, daß der Befehlscode einen Dezimalbefehl
angibt, wird die Verarbeitungsstufe D des Folgebefehls im
nächsten Zyklus nicht, sondern stattdessen die Operation der
Stufe D′ initiiert. Bei der Stufe D′wird in der nachfolgend
beschriebenen Weise ein Vergleich zwischen dem augenblicklichen
Dezimalbefehl (als Beispiel Befehl 2), dem zuvor dekodierten
Befehl (z. B. Befehl 1) und einem nachfolgend zu dekodierenden
Befehlscode (beispielsweise Befehl 3) durchgeführt.
Auf die obenerwähnte Weise werden die Operationscodes und
weitere Informationen der Befehle 1, 2 und 3 jeweils in die
Register 110, 100 und 10 gesetzt.
Durch die in Fig. 7 dargestellten Dekoder 102 und 112 werden
jeweils der Operationscode OP des Befehlscodes 3 mit den
Operationscodes OP′ bzw. OP″ der Befehle 2 und 1 verglichen
und die Kombination der Befehle ermittelt, deren Ausführung
ein transferierbares Operationsergebnis erbringt. Falls eine
solche Kombination ermittelt wurde, werden Ausgangsleistungen
102 A und 112 A jeweils auf "1" gesetzt. Eine Vergleicherschaltung
104 führt die Vergleichsoperationen L 1′ L 2, B 1′ =
B 2 und L 1′ + D 1′ = L 2 + D 2 aus. Falls alle diese Bedingungen
erfüllt sine, wird eine Ausgangsleitung 104 A auf "1" gesetzt.
Dadurch werden UND-Glieder 103, 105, 113 und 115 freigegeben
und erzeugen jeweils an Ausgangsleitungen 103 A, 105 A,
113 A und 115 A eine logische "1". Die Operation bei Stufe D′
wird in der obenbeschriebenen Weise ausgeführt.
Des weiteren wird die Bedeutung der obenerwähnten Vergleichsoperation
genauer anhand der Fig. 8, wobei als Beispiel
die Vergleicherschaltung 104 dient, erläutert. Die Darstellungen
in Fig. 8a, b, c, d und e zeigen Situationen, bei
denen das OSC-Ereignis möglicherweise zwischen einem Speicherplatz
R 2 (durch eine schraffierte Fläche dargestellt), dessen
Inhalt auf die Ausführung des Befehls 2 geändert werden soll und
einem Speicherplatz R 3, den der Befehl 3 benötigt, auftritt.
Im Falle der Darstellung von Fig. 8 (a) ist die
vom Befehl 3 benötigte Speicherstelle R 3 völlig vom Speicherplatz
R 2 überdeckt. Dagegen ist bei dem in Fig. 8 (b) dargestellten
Fall die Speicherstelle R 2 völlig von der Speicherstelle
R 3 überdeckt. Die Darstellungen der Fig. 8 (c) und
(d) zeigen Situationen, bei denen sich die Speicherstellen
R 2 und R 3 teilweise überlappen. Die in Fig. 8 (e) dargestellte
Situation ist ein Spezialfall der in Fig. 8 (a) dargestellten
Situation, wobei der Speicherplatz R 3 vom Speicherplatz
R 2 überdeckt ist, die rechten Enden der Speicherplätze
R 2 und R 3 jedoch bündig ausgerichtet sind. Da der durch den
Vergleicher 104 durchgeführte Vergleich ergibt, daß
B 1′ = B 2, d. h. (B 1′) = (B 2), wobei die Klammern die Inhalte
der jeweiligen Register angeben, und daß L 1′+ D 1′ ≧ L 2 + D 2
ist, gilt, daß
(B 1′) + L 1′ + D 1′ ≧ (B 2 + L₂ + D 2 und
L 1′ L 2, was gerade die in Fig. 8 (e) dargestellte Situation angibt.
(B 1′) + L 1′ + D 1′ ≧ (B 2 + L₂ + D 2 und
L 1′ L 2, was gerade die in Fig. 8 (e) dargestellte Situation angibt.
Der logische Pegel der Ausgangsleitung 103 A (Fig. 7) stellt
das Ergebnis des Vergleichs des ersten Operanden des Befehls 2
mit dem zweiten Operanden des Befehls 3 dar. Genauso stellt
der logische Pegel der Ausgangsleistung 105 A das Ergebnis des
Vergleichs des ersten Operanden des Befehls 2 mit dem ersten
Operanden des Befehls 3 dar. Der logische Zustand der Ausgangsleistung
113 A stellt das Ergebnis des Vergleichs des
ersten Operanden des Befehls 1 mit dem zweite Operanden des
Befehls 3 dar und der logische Zustand der Leitung 115 A
stellt das Ergebnis des Vergleichs des ersten Operanden des
Befehls 1 mit dem ersten Operanden des Befehls 3 dar.
Diese Vergleichsergebnisse werden jeweils in die Register 60,
61, 62 und 63 synchron mit Schritt D des Befehls 3 geladen, wie aus Fig. 1 ersichtlich ist.
Der Vergleicher 104 des obenbeschriebenen Ausführungsbeispiels
führt die Vergleichsoperationen aus, die ermitteln, ob L 1′
L 2, B 1′ = B 2 und L 1′ = L 2 + D 2. Jedoch können die
Funktionen der Vergleicher wie nachfolgend erläutert wird
erweitert werden.
Der Ausgang 16 A des Adressregisters 16 für logische Adressen
(Fig. 1) wird in das Register 100 (Fig. 7) statt der Basisregisternummer
B 1 und der Distanz D 1, die der OSC-Steuerung
11 in Fig. 7 eingegeben wird, geladen, und der Ausgang 17 A
des Adressenregister 17 für logische Adressen (Fig. 1) wird
statt der Basisregisternummer B 2 und der Distanz D 2, die
dem Vergleicher 104 eingegeben wurden, verwendet. Mit diesem
Aufbau führt der Vergleicher 104 die Vergleichsoperationen
aus, die ermitteln, ob L 1′ L 2 und (16 A) + L 1′ = (17 A) + L 2
sind, wobei die Klammern jeweils die Inhalte der jeweiligen
Ausgangssignale darstellen. Falls diese Bedingungen aller erfüllt
sind, gibt der Vergleicher 104 auf der Leitung 104 A
ein "1" aus. Genauso wird der Ausgang 16 A dem Vergleicher
106 anstatt B 1 und D 1, der Ausgang 17 A dem Vergleicher
114 statt B 2 und D 2 und der Ausgang 16 A dem Vergleicher 116
statt B 1 und D 1 eingegeben und ähnliche Vergleichsoperationen
ausgeführt. Mit dieser Verfahrensweise ist eine Erfassung
der Koinzidenz der Operandenadressen möglich, wenn
die Inhalte der Basisregister koinzident sind, obwohl ihre
Basisregisternummern verschieden sind. Deshalb ist auch bei
diesem Aufbau eine Verzögerung beim Auslesen der Operanden
der Befehle unnötig.
Danach werden beim Schritt A die Inhalte der Adressregister 16
und 17 für logische Adressen (Fig. 1) jeweils den
Adressenumsetzschaltungen 260 und 270 in Fig. 3 über die Leitungen
16 A und 17 A gespeist und in die jeweiligen realen Adressen
umgesetzt, die daraufhin in die Realadressregister 26 bzw. 27
geladen werden.
Eine Ausrichtsteuerschaltung 280 bestimmt die Anzahl der Schiebeschritte
eines Ausrichters 36 in Abhängigkeit der vom Register
18 (Fig. 1) auf der Leitung 18 A ausgegebenen Längencode
und die niedrigstwertige Teiladresse, die der Adressumsetzung
nicht unterworfen wird und auf der Adressleitung 16 A
erscheint. Genauso bestimmt eine Ausrichtsteuerschaltung 290
die Anzahl der von einem Ausrichter 37 durchzuführenden Schiebeschritte
in Abhängigkeit vom Längencode des Registers 19,
der auf der Leitung 19 A auftritt und die niedrigstwertige Teiladresse,
die auf der Adressleitung 17 A auftritt und nicht der
Adressumsetzung unterworfen sind. Die betrachtende Schiebeanzahl
wird anhand der Fig. 5a beschrieben. In den durch einen
schraffierten Bereich in Fig. 5a dargestellten Operandendaten
ist die niedrigstwertige Byte-Adresse durch (B i ) + D i +
L i (mit i = 1, 2) gemäß der vorigen Beschreibung dargestellt,
und die drei niedrigstwertigen Bitstellen geben die Adresse
der Doppelwortgrenze an. Wenn der Wert dieser drei Bitstellen
durch x gegeben ist, kann das niedrigstwertige Ende der Operandendaten
mit dem niedrigstwertigen Ende der 8-Byte-Stelle durch
das Verschieben der Operandendaten nach rechts um (7-x) Byte
ausgerichtet und in der Folge ausgegeben werden, wie dies in
Fig. 5a im unteren Teil dargestellt ist. Genauer gesagt befindet
sich die Stelle des Dezimalpunkts am rechten Ende im
Falle eines Dezimalbefehls. Demgemäß werden der erste und
der zweite Operand durch die zugeordneten Ausrichter
36 und 37 jeweils so verschoben, daß die Dezimalpunkte dieser
Operanden die niedrigswertige Position haben und nicht vorhandene
Teile der Operanden mit "0" ausgefüllt werden. (Dies wird als
Ausrichtung nach rechts bezeichnet). Wenn beide Operanden nach
rechts ausgerichtet sind, ist die arithmetische Operation vereinfacht,
weil beide Operanden bezüglich der Dezimalpunktposition
koinzident sind.
Die Anzahlen der von den Ausricht-Steuerschaltungen 280 und 290
angegebenen Schiebeschritte werden jeweils in Register 28 und
29 gesetzt.
Die Inhalte der auf den Leitungen 18 A und 19 A auftretenden
Längencodes und die Inhalte der auf den Leitungen 16 A und 17 A
auftretenden logischen Adressen werden ebenfalls zu der in
Fig. 3 dargestellten OSC-Erfassungsschaltung 20 gespeist,
die den Adressenvergleich des augenblicklichen Befehls mit dem
vorangehenden durchführt.
Fig. 4 zeigt ein Blockschaltbild eines Ausführungsbeispiels
der OSC-Erfassungsschaltung 20. Die Leitungen 16 A, 17 A, 18 A
und 19 A speisen (B₁) + D₁, (B₂) + D₂, L₁ und L₂ jeweils
zu den Eingängen von Addierer 201 und 202 und werden, wie
die Figur zeigt, addiert. (B i) + D i und (B i) + D i + L i
(i = 1,2) geben jeweils die höchstwertige Byte-Adresse (Kopfadresse)
und die niedrigswertige Byte-Adresse (Endadresse)
der zur Ausführung des augenblicklichen Befehls auszulesenden
Operandendaten dar. Von diesen werden (B₁) + D₁ und (B₁) +
D₁ + L₁ jeweils in Register 220-1 und 210-1 synchron mit
Schritt A geladen, die Inhalte dieser Register 210-1 und 220-1
sequentiell zu Registern 210-2 und 220-2, . . . , und 210-n und
220-n synchron mit Schritt A übertragen. Entsprechend halten
die Register 210-n und 220-n jeweils die Anfangs- und die
Endadressen der Speicherstellen des Befehls, der dem augenblicklichen
Befehl um n-Befehle vorangeht. Vergleicher 230-1 bis
230-n und 240-1 bis 240-n vergleichen die Adressen dieser
Befehle und ermitteln, ob die für den augenblicklichen Befehl auszulesende
Speicherstelle ganz oder teilweise mit den Speicherstellen
der vorangehenden Befehle überlappen könnten. Wenn
eine Teilüberlappung oder eine volle Überlappung der betrachteten
Speicherplätze von den Vergleichern ermittelt wurde,
gehen die entsprechenden Ausgangsleitungen 230 A-1, . . . , 230 A-n;
240 A-1, . . . , 240 A-n der Vergleicher auf eine logische "1".
Die Ausgangssignale der Vergleicher 230-1 bis 230-n und 240-1
bis 240-n werden durch ein ODER-Glied 235 oderverknüpft,
dessen Ausgang der in Fig. 3 dargestellten Stufensteuerschaltung
250 über eine Signalleitung 20 A übertragen wird.
Wenn die Signalleitung 20 A-1 auf logisch "1" gesetzt wird,
d. h. wenn irgendeine der Ausgangsleitungen 230 A-1, . . . ,
230 A-n 240 A-1, . . . 240 A-n auf logisch "1" gesetzt ist,
verzögert die Stufensteuerschaltung 250 das Auslesen der
Operanden für den momentanen Befehl bis das OSC-Ereignis
beseitigt ist.
In diesem Falle funktioniert die
OSC-Steuerschaltung 11 so, daß wenn das OSC-Ereignis auf die
zuvor beschriebene Weise erfaßt ist, die in die Register
60, 61, 62 und 63 (Fig. 1) gesetzten Inhalte der OSC-Erfassungsschaltung
20 übertragen werden, die damit den Betrieb
der Vergleicher 230-1, 240-1, 230-2 und 240-2 (Fig. 4)
sperrt, wodurch die Ausgänge dieser Vergleicher logische "0"
sind. Dadurch werden die Operanden für den augenblicklichen Befehl
als Blinddaten ausgelesen. Die OSC-Steuerschaltung 11 (Fig. 1)
ist so aufgebaut, daß sie die Situation gemäß Fig. 8 (e)
erfaßt, wohingegen die OSC-Steuerschaltung 20 (Fig. 3) so
ausgebaut ist, daß sie sämtliche der in Fig. 8 (a), (b),
. . . , und (e) erfaßt. Deshalb erhält die OSC-Steuerschaltung 11
die Priorität, obwohl das von ihr erfaßte OSC-Ereignis natürlich
auch von der OSC-Steuerschaltung 20 erfaßt ist.
Die Daten auf den Leitungen 60 A, . . . , 63 A und der Leitung
13 A werden jeweils in die Register 70, . . . , 73 und 23 synchron
mit Schritt A geladen, wie dies in Fig. 3 dargestellt ist.
Danach werden beim Schritt L die Operandendaten aus den Pufferspeichern
34 und 35 ("erster Datenspeicher") mittels der in den Realadressregistern
26 und 27 stehenden realen Adressen ausgelesen, wie Fig. 3
zeigt. Die aus den Pufferspeichern 34 und 35 ausgelesenen
Daten werden dann durch die zuvor erwähnte Ausrichtung nach
rechts ausgerichtet und die nicht vorhandenen Bytes mit Nullen aufgefüllt
und danach zur arithmetischen Verarbeitung der
arithmetischen Einheit 40 über Leitungen 36 A und 37 A eingespeist.
Zusätzlich werden auch die Inhalte der Register 70, 71, 72
und 73 sowie des Registers 23 der arithmetischen Einheit 40 über
Leitungen 70 A, 71 A, 72 A und 73 A sowie der Leitung 23 A eingespeist.
Fig. 6 zeigt ein Ausführungsbeispiel der arithmetischen Einheit 40.
Diese zeigt, daß die höchstwertige Byte-Adresse (B₁) + D₁
des Adressregisters 26 für reale Adressen einem A-Register 34
durch eine Leitung 26 A übertragen wird. Zusätzlich wird ein
der Anzahl der durch den Ausrichter 36 für den ersten Operanden
ausgeführten Schiebeschritte äquivalenter Wert in ein Register
431 durch eine Leitung 28 A geladen. Der Operationscode OP,
der vom Register 23 über eine Leitung 23 A erhältlich ist, wird
zum Eingang einer Mikrobefehlssteuerung 400 übertragen. Die
von den Ausrichtern 36 und 37 ausgegebenen ersten und zweiten
Operandendaten werden jeweils den Wählgliedern 490 und 491
über Leitungen 36 A und 37 A eingespeist. Das Wählglied 490
wählt die Leitung 36 A für das erste Operandendatum, wenn beide
Leitungen 71 A und 73 A logisch "0" führen und wählt eine
Datenleitung 481 A eines W 2-Registers 481, wenn die Leitungen
71 A und 73 A jeweils "0" und "1"-Pegel haben. Falls die
Leitungen 71 A und 73 A beide "1"-Pegel oder jeweils "1" und "0"-
Pegel haben, wird eine Datenleitung 480 A eines W 1-Registers
480 gewählt. Das gewählte Datum, wird dann auf einer Leitung
490 A ausgegeben. Gleicherweise wählt das Wählglied 491
eine Leitung 37 A für das zweite Operandendatum, wenn beide
Leitungen 70 A und 72 A "0"-Pegel haben und eine Datenleitung
481 A eines W2-Registers 481, wenn die Leitungen 70 A und 72 A
jeweils "0" und "1"-Pegel haben. Falls die Leitungen 70 A und
72 A entweder beide "1" oder jeweils "1" und "0"-Pegel haben,
wird die Datenleitung 480 A des W 1-Register 480 gewählt. Die
gewählten Daten werden dann auf einer Leitung 491 A ausgegeben.
Die Daten auf der Leitung 490 A und 491 A werden jeweils in ein
X-Register 410 und Y-Register 420 synchron mit Schritt L
gesetzt. Die Bedeutung der obengenannten Wählglieder wird
nachfolgend beschrieben.
Ein Dezimalbefehl wird in Schritt E beispielsweise in zwei
Zyklen ausgeführt. Im ersten Zyklus wird die Operation oder
Berechnung durch einen Paralleladdierer 440 für die jeweils
im X-Register 410 und Y-Register 420 stehenden Operandendaten
ausgeführt und das Ergebnis der Operation wieder in der X-Register
410 geladen. Die Ausführung der Operation (Addition oder
Substraktion) durch den Paralleladdierer 400 wird durch die
Mikrobefehlssteuerung 400 gesteuert.
Im zweiten Zyklus der Stufe E wird das X-Register 410 von
einem Eingangswählglied 450 für den Schieber 460 gewählt,
der die Schiebeoperation entgegengesetzt zur Schieberichtung
des Ausrichters 36 ausführt. Insbesondere führt der Schieber
460 die Verschiebung nach links entsprechend der Verschiebung
nach rechts des Ausrichters 36 gemäß Fig. 5b aus. Das
Ergebnis des so erfolgten Zurückschiebens wird in ein S-Register
470 geladen. Der Betrieb des Schiebers 460 wird von der
Mikrobefehlssteuerung 400 in Abhängigkeit von dem durch das
Register 431 gelieferten Signal, das die Anzahl der Schiebeschritte
angibt, gesteuert.
Die arithmetische Einheit 40 enthält das W 1-Register 480 und das W 2-Register
481 gemäß einem Merkmal der Erfindung. Im zweiten Zyklus
des Schritts E werden die Daten auf der Ausgangsleitung 450 A
des Wählglieds 450 in das W 1-Register 480 geladen, dessen
Inhalt wiederum in das W 2-Register 481, gesteuert von der
Mikrobefehlssteuerung 400, geladen wird. In das W 1-Register 480
wird somit das nach rechts ausgerichtete Rechenergebnis, wie
Fig. 5b zeigt, gesetzt. Diese Operationsart wird einmal pro
Befehl ausgeführt. Entsprechend wird das nach rechts ausgerichtete
Rechenergebnis des den augenblicklichen Befehl unmittelbar
vorangehenden Befehls in das W 2-Register 481 geladen.
Bei Schritt P wird der erste Operand, das ist die Adressinformation
zum Einschreiben des Rechenergebnisses das im A-Register
430 steht, zur Adressumsetzschaltung 52 (Fig. 3) über die
Leitung 40 A übertragen und in die entsprechende Realadresse
umgesetzt, die dann in das in Fig. 3 gezeigte Realadressregister
54 geladen wird. Andererseits wird das im S-Register
470 stehende Rechenergebnis zum Register 56 über die
Leitung 40 B (Fig. 3) übertragen.
Danach wird beim Schritt S der Inhalt des Registers 56 in die
Pufferspeicher 34 und 35 mittels der durch den Inhalt der
Realadressregister 54 angegebenen Realadressen eingeschrieben.
Die vorangehende Beschreibung behandelte im Detail die einzelnen
Schritte D, A, L, E, P und S.
Es soll hier erwähnt werden, daß die rechtsbündig ausgerichteten
Operationsergebnisse für die Befehle 2 und 1 jeweils in
das W 1-Register 480 und W 2-Register 481 beim Schritt L
gesetzt werden und daß die obenerwähnte Operation des Wählglieds
490 in Abhängigkeit von den Signalen der Leitungen 70 A und
71 A ausgeführt wird, die die Erfassung des OSC-Ereignisses
für die Befehle 3 und 2 angeben, während die Operation des
Wählglieds 491 abhängig von den Signalen auf den Leitungen
72 A und 73 A erfolgt, die das Ergebnis der Erfassung des OSC-
Ereignisses für die Befehle 3 und 1 angeben. Falls beide
Leitungen 71 A und 73 A beispielsweise gleichzeitig eine logische
"1" haben, das ist, wenn die Operationsergebnisse für die
Befehle 1 uns 2 für die Ausführung des Befehls 3 als erstes
Operandendatum verwendet werden sollen, wird die Leitung 71 A
mit Priorität über die Leitung 73 A gewählt. Dadurch kann für
die Ausführung des Befehls 3 das Operationsergebnis des
Befehls 2 verwendet werden, das ein gegenüber dem Befehl 1 neueres
Datum ist.
Wir nehmen nun beispielsweise an, daß die Leitung 71 A "1"-Pegel
hat. Dies bedeutet, daß das OSC-Ereignis für die ersten Operanden
der Befehle 3 und 2 auftritt. Zu dieser Zeit tritt auf
der Leitung 36 A das erste Operandendatum für den Befehl 3 auf,
das vom Ausrichter 36 rechtsbündig ausgerichet ist. Da dieses
Operandendatum vor dem Speichern des Operationsergebnisses
des Befehls 2 vorhanden ist, kann die Berechnung nicht richtig
ausgeführt werden. Um dennoch die Operation richtig auszuführen,
muß das Operationsergebnis des Befehls 2 als erstes Operandendatum
für den Befehl 3 verwendet werden. Dazu wird vom
Wählglied 490 die Ausgangsleitung 480 A des W 1-Registers 480
gewählt. In diesem Falle wird eine Operation ausgeführt, die
zu der vom Ausrichter 36 durchgeführten Operation äquivalent
ist. Dementsprechend wird das rechtsbündig ausgerichtete
Operationsergebnis vom Wähler 90 in das W 1-Register 480
gesetzt und nicht besetzte Operandenstellen mit Nullen aufgefüllt.
Auf diese Weise wird das Rechenergebnis für die Befehle 2 und
1 für die Ausführung des Befehls 3 verwendbar. Der Transfer
dieses Operationsergebnisses zwischen Befehl 3 und dem folgenden
(z. B Befehl 4) kann in kontinuierlicher Weise durch
Plazieren des rechtsbündig ausgerichteten Operationsergebnisses
in das W 1-Register 480 beim Schritt E des Befehls 3
erfolgen.
Die bis hierin beschriebenen Operationsschritte sind in Fig. 2c
mit der Annahme dargestellt, daß die Befehle 1, 2 und 3
Dezimal-Additions/Subtraktionsbefehle sind. Es ist deutlich,
daß der Start der Stufen D um einen Zyklus verzögert und stattdessen
die Stufe D' aktiviert ist, die die OSC-Steuerschaltung
11 in Betrieb nimmt. Trotz der Verzögerung der Stufe D für
die Befehle 2, 3 und 4 um einen Zyklus kann das Operationsergebnis
im Abstand von zwei Zyklen erhalten werden, wodurch dieselbe
Leistungsfähigkeit wie dies Fig. 2a für den konventionellen
Fall ohne OSC-Ereignis darstellt, sichergestellt ist.
Da das herkömmliche System weder die OSC-Steuerschaltung
11 in Betrieb nimmt. Trotz der Verzögerung der Stufe D für
die Befehle 2, 3 und 4 um einen Zyklus kann das Operationsergebnis
im Abstand von zwei Zyklen erhalten werden, wodurch
dieselbe Leistungsfähigkeit wie dies Fig. 2a für den
konventionellen Fall ohne OSC-Ereignis darstellt, sichergestellt ist.
Da das herkömmliche System weder die OSC-Steuerschaltung
11 noch die Leitung 60 A, . . . , 63 A aufweist, kann
das von der OSC-Erfassungsschaltung 20 erfaßte OSC-Ereignis
nicht unterdrückt werden, wodurch das Auslesen der Operanden
für den nachfolgenden Befehl unnötig durch die Stufensteuerschaltung
250 verzögert wird, wie aus dem Zeitdiagramm der
Fig. 2a ersichtlich ist.
Die vorliegende Erfindung wurde anhand von Ausführungsbeispielen
unter Annahme von Dezimalbefehlen beschrieben. Es
ist jedoch selbstverständlich, daß die Erfindung auf andere
Befehlstypen, die die rechtsbündige Ausrichtung für die
Ausführung benötigen, genauso wie für die SS-Befehle anwendbar ist.
Die obige Beschreibung machte deutlich, daß das Operationsergebnis
eines vorangehenden Befehls direkt zur Verwendung
für die Verarbeitung des nachfolgenden Befehls innerhalb der
arithmetischen Einheit verwendbar ist, ohne daß ein Abspeichern
nötig wäre, wenn der nachfolgende Befehl die in zumindest
einem Teil des Speicherplatzes gespeicherten Operandendaten,
die vom vorangehenden Befehl geändert wurden, benötigt,
so daß die Verarbeitung des folgenden Befehls zu einem früheren
Zeitpunkt initiiert werden kann.
Dadurch kann die vom bislang bekannten Pipeline-Verarbeitungssystem
bekannte Aussatzzeit vermieden werden und im Mittel die
arithmetische Verarbeitung mit wesentlich erhöhter Geschwindigkeit
ausgeführt werden.
Claims (2)
1. Datenverarbeitungssystem zur parallelen Verarbeitung
von Befehlsströmen in mehreren Zyklen, wobei ein vorangehender
Befehl eine Anweisung zum Einschreiben von Daten
eines Operanden in einen ersten Datenspeicher (34, 35)
enthalten kann und ein nachfolgender Befehl eine Anweisung
zum Auslesen von Daten eines Operanden vom ersten Datenspeicher
(34, 35) im selben Verarbeitungszyklus enthalten
kann, wobei in dem Fall (Konfliktfall), daß die Operanden-
Adressen, die durch den vorangehenden und den nachfolgenden
Befehl angegeben sind, miteinander übereinstimmen, ein
direkter Datenpfad zur Übertragung des Operanden des
vorangehenden Befehls zum nachfolgenden Befehl über einen
zweiten Datenspeicher (480, 481) vorgesehen ist,
gekennzeichnet durch
gekennzeichnet durch
- - eine erste Steuerschaltung (11), die aufgrund von Datenlängenangaben (Li) der Speicherbereiche und von Operanden- Adressen (Bi) zur Anzeige der Begrenzungen (Enden) des vorangegangenen und des nachfolgenden Befehls einen Konfliktfall erkennt, daß ein erster Speicherbereich (R 3, Fig. 8), bestimmt durch den vorangehenden Befehl für die ersten Operanden-Daten, der gleiche oder ein Teil eines zweiten Speicher-Bereichs (R 2) ist, der durch den nachfolgenden Befehl für die zweiten Operanden-Daten bestimmt ist, und
- - eine zweite Steuerschaltung Wählglied (490, 491), die mit der ersten Steuerschaltung (11) und dem zweiten Daten-Speicher (480, 481) verbunden ist, und im Konfliktfall anspricht und die zweiten Operanden-Daten, die vom nachfolgenden Befehl gebraucht werden, aus dem zweiten Daten-Speicher (480, 481) bereitstellt.
2. Datenverarbeitungssystem nach Anspruch 1,
dadurch gekennzeichnet,
daß die erste Steuerschaltung (11) die (logischen) Operanden-
Adressen des vorangegangenen und des nachfolgenden Befehls
auf Übereinstimmung der Lage der Enden der Speicherplätze
(R 2, R 3) überprüft (B 1′ = B 2).
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58123246A JPS6015746A (ja) | 1983-07-08 | 1983-07-08 | デ−タ処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3424962A1 DE3424962A1 (de) | 1985-01-17 |
DE3424962C2 true DE3424962C2 (de) | 1988-09-22 |
Family
ID=14855821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3424962A Granted DE3424962A1 (de) | 1983-07-08 | 1984-07-06 | Datenverarbeitungsverfahren und vorrichtung zur durchfuehrung desselben |
Country Status (3)
Country | Link |
---|---|
US (1) | US4916606A (de) |
JP (1) | JPS6015746A (de) |
DE (1) | DE3424962A1 (de) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6339036A (ja) * | 1986-08-01 | 1988-02-19 | Nec Corp | パイプライン処理方式 |
JPS6386033A (ja) * | 1986-09-30 | 1988-04-16 | Fujitsu Ltd | パイプライン処理方式 |
JPS63170736A (ja) * | 1987-01-09 | 1988-07-14 | Toshiba Corp | マイクロプロセツサ |
US5197141A (en) * | 1988-01-30 | 1993-03-23 | Nec Corporation | Software controlled method of issuing hardware control commands to memory controller from prefetch unit by combining request code and address specified in program instructions |
JPH0774994B2 (ja) * | 1988-09-21 | 1995-08-09 | 株式会社日立製作所 | バッファ記憶制御装置のosc検出方式 |
JP2810068B2 (ja) * | 1988-11-11 | 1998-10-15 | 株式会社日立製作所 | プロセッサシステム、コンピュータシステム及び命令処理方法 |
US5226126A (en) * | 1989-02-24 | 1993-07-06 | Nexgen Microsystems | Processor having plurality of functional units for orderly retiring outstanding operations based upon its associated tags |
US5781753A (en) | 1989-02-24 | 1998-07-14 | Advanced Micro Devices, Inc. | Semi-autonomous RISC pipelines for overlapped execution of RISC-like instructions within the multiple superscalar execution units of a processor having distributed pipeline control for speculative and out-of-order execution of complex instructions |
DE69032812T2 (de) * | 1989-07-07 | 1999-04-29 | Hitachi Ltd | Vorrichtung und Verfahren zur parallelen Verarbeitung |
US5278960A (en) * | 1989-08-16 | 1994-01-11 | Nec Corporation | Information processing apparatus having detecting means for operand overlaps |
JP2816248B2 (ja) * | 1989-11-08 | 1998-10-27 | 株式会社日立製作所 | データプロセッサ |
JPH03154947A (ja) * | 1989-11-13 | 1991-07-02 | Nec Corp | 情報処理装置 |
US5276822A (en) * | 1989-11-15 | 1994-01-04 | Matsushita Electric Industrial Co., Ltd. | System with enhanced execution of address-conflicting instructions using immediate data latch for holding immediate data of a preceding instruction |
JPH04140892A (ja) * | 1990-02-05 | 1992-05-14 | Internatl Business Mach Corp <Ibm> | 制御データをエンコードする装置及び方法 |
JPH04156613A (ja) * | 1990-10-20 | 1992-05-29 | Fujitsu Ltd | 命令バッファ装置 |
KR100272622B1 (ko) * | 1991-05-08 | 2000-11-15 | 가나이 쓰도무 | 데이타 처리장치 |
US5522052A (en) * | 1991-07-04 | 1996-05-28 | Matsushita Electric Industrial Co. Ltd. | Pipeline processor for processing instructions having a data dependence relationship |
US5363495A (en) * | 1991-08-26 | 1994-11-08 | International Business Machines Corporation | Data processing system with multiple execution units capable of executing instructions out of sequence |
US5283874A (en) * | 1991-10-21 | 1994-02-01 | Intel Corporation | Cross coupling mechanisms for simultaneously completing consecutive pipeline instructions even if they begin to process at the same microprocessor of the issue fee |
JPH0612107A (ja) * | 1992-06-02 | 1994-01-21 | Mitsubishi Electric Corp | シーケンス演算プロセッサおよびシーケンス演算処理装置 |
US5471628A (en) * | 1992-06-30 | 1995-11-28 | International Business Machines Corporation | Multi-function permutation switch for rotating and manipulating an order of bits of an input data byte in either cyclic or non-cyclic mode |
US5386534A (en) * | 1992-10-27 | 1995-01-31 | Motorola, Inc. | Data processing system for generating symmetrical range of addresses of instructing-address-value with the use of inverting sign value |
US6073231A (en) * | 1993-10-18 | 2000-06-06 | Via-Cyrix, Inc. | Pipelined processor with microcontrol of register translation hardware |
EP0650116B1 (de) * | 1993-10-21 | 1998-12-09 | Sun Microsystems, Inc. | Gegenflusspipelineprozessor |
US5619664A (en) * | 1994-01-04 | 1997-04-08 | Intel Corporation | Processor with architecture for improved pipelining of arithmetic instructions by forwarding redundant intermediate data forms |
US5802346A (en) * | 1995-06-02 | 1998-09-01 | International Business Machines Corporation | Method and system for minimizing the delay in executing branch-on-register instructions |
US5826072A (en) * | 1995-11-13 | 1998-10-20 | Oasis Design, Inc. | Pipelined digital signal processor and signal processing system employing same |
US5838939A (en) * | 1997-05-09 | 1998-11-17 | Sun Microsystems, Inc. | Multi-issue/plural counterflow pipeline processor |
US8078845B2 (en) * | 2005-12-16 | 2011-12-13 | Freescale Semiconductor, Inc. | Device and method for processing instructions based on masked register group size information |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5392638A (en) * | 1977-01-25 | 1978-08-14 | Nec Corp | Information processing unit |
JPS5621240A (en) * | 1979-07-27 | 1981-02-27 | Hitachi Ltd | Information processor |
JPS5731049A (en) * | 1980-07-31 | 1982-02-19 | Nec Corp | Information processing equipment |
JPS6028015B2 (ja) * | 1980-08-28 | 1985-07-02 | 日本電気株式会社 | 情報処理装置 |
JPS5858653A (ja) * | 1981-10-02 | 1983-04-07 | Hitachi Ltd | デ−タ処理装置 |
JPS58189739A (ja) * | 1982-04-30 | 1983-11-05 | Hitachi Ltd | デ−タ処理システム |
JPH063584B2 (ja) * | 1983-12-19 | 1994-01-12 | 株式会社日立製作所 | 情報処理装置 |
-
1983
- 1983-07-08 JP JP58123246A patent/JPS6015746A/ja active Granted
-
1984
- 1984-07-06 DE DE3424962A patent/DE3424962A1/de active Granted
-
1987
- 1987-07-20 US US07/075,528 patent/US4916606A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPS6015746A (ja) | 1985-01-26 |
JPH0545985B2 (de) | 1993-07-12 |
US4916606A (en) | 1990-04-10 |
DE3424962A1 (de) | 1985-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3424962C2 (de) | ||
DE2724125C2 (de) | ||
DE2753062C2 (de) | Einrichtung zur wiederholten Durchführung von Programmschleifen | |
DE2846495C2 (de) | Zentraleinheit | |
DE69738188T2 (de) | Verfahren und apparat für eine erhöhte genauigkeit bei der verzweigungsvorhersage in einem superskalaren mirkroprozessor | |
DE2542751C2 (de) | Datenverarbeitungsanlage | |
DE2023354C2 (de) | Datenverarbeitungsanlage mit einem Mikrobefehlsspeicher | |
DE2524046C2 (de) | Elektronische Datenverarbeitungsanlage | |
DE1549523B2 (de) | Datenverarbeitungsanlage | |
DE2855106A1 (de) | Einrichtung zur durchfuehrung von instruktionsverzweigungen | |
DE2230102A1 (de) | Rechenwerk fuer variable wortlaengen | |
DE2829668A1 (de) | Kanaldatenpufferspeicher | |
DE2712224A1 (de) | Datenverarbeitungsanlage | |
DE3043653C2 (de) | Datenverarbeitungsanlage | |
DE2935906A1 (de) | Mikrokomputer | |
DE2332971C2 (de) | Mikroprogrammsteuereinrichtung | |
DE3900246C2 (de) | ||
DE2739525C2 (de) | Rechner | |
DE2702722C2 (de) | Einrichtung zur Verarbeitung nicht direkt ausführbarer Instruktionen | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE1499224C3 (de) | Datenverarbeitungsanlage mit Kellerspeichereinrichtungen | |
DE2747304C3 (de) | Einrichtung zur Mikrobefehlssteuerung | |
DE2952163C2 (de) | Datenverarbeitungsanlage mit einem ersten und einem zweiten Prozessor | |
DE2349253C3 (de) | Rechnersystem | |
DE2906685A1 (de) | Instruktionsdecodierer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |