DE4222275C2 - Parallelprozessor und Betriebsverfahren für diesen - Google Patents
Parallelprozessor und Betriebsverfahren für diesenInfo
- Publication number
- DE4222275C2 DE4222275C2 DE4222275A DE4222275A DE4222275C2 DE 4222275 C2 DE4222275 C2 DE 4222275C2 DE 4222275 A DE4222275 A DE 4222275A DE 4222275 A DE4222275 A DE 4222275A DE 4222275 C2 DE4222275 C2 DE 4222275C2
- Authority
- DE
- Germany
- Prior art keywords
- command
- instruction
- commands
- address
- instructions
- 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 - Lifetime
Links
- 238000011017 operating method Methods 0.000 title claims description 6
- 230000015654 memory Effects 0.000 claims description 26
- 238000004364 calculation method Methods 0.000 claims description 16
- 230000006870 function Effects 0.000 claims description 8
- 238000012546 transfer Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims 3
- 238000010586 diagram Methods 0.000 description 5
- 238000010276 construction Methods 0.000 description 4
- 238000000034 method Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000001035 drying Methods 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000012545 processing Methods 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 or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3814—Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
-
- 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 or look ahead
- G06F9/3802—Instruction prefetching
-
- 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 or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3816—Instruction alignment, e.g. cache line crossing
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
Die Erfindung bezieht sich auf einen Parallelprozessor und ein Betriebsverfahren für diesen. Insbesondere
bezieht sie sich auf einen Prozessor vom superskalaren Typ (im folgenden
als Superskalarprozessor bezeichnet) und auf ein Betriebsverfahren
für diesen, mit dem insbesondere das Holen von
Befehlen bewerkstelligt wird.
Der Superskalarprozessor ist ein Prozessor, der die folgenden
Merkmale aufweist:
- (1) Gleichzeitiges Holen einer Mehrzahl von Befehlen,
- (2) Vorhandensein einer Mehrzahl von Funktionseinheiten und gleichzeitiges Ausführen einer Mehrzahl von Befehlen unter Verwendung dieser Einheiten und
- (3) Herausfinden von Befehlen, die gleichzeitig ausgeführt werden können, aus der gleichzeitig geholten Mehrzahl von Befehlen, und Verteilen dieser gleichzeitig ausführbaren Befehle an entsprechende Funktionseinheiten.
Fig. 1 ist eine Darstellung, die den allgemeinen Aufbau eines
Superskalarprozessors zeigt. In Fig. 1 weist der Superskalarprozessor
einen Befehls-Cache (Befehlsspeicher) 1 zum Speichern
von Befehlen, eine Befehlsholstufe (IF) 2 zum Übertragen der
Adressen zu holender Befehle an den Befehlsspeicher 1 und eine
Befehlsdekodierungsstufe (ID) 3 zum Ausführen von Operationen
wie dem Dekodieren der Mehrzahl von aus dem Befehlsspeicher geholten
Befehlen 1, dem Lesen eines Befehles eines Register-Files
und dem Ausführen eines Abzweig-Befehles auf. Die Befehlsdekodierungsstufe
(ID) 3 hat auch eine Funktion des Herausfindens
gleichzeitig ausführbarer Befehle aus der dekodierten
Mehrzahl von Befehlen und des Verteilens (Ausgebens) dieser
gleichzeitig ausführbaren Befehle an eine entsprechende der
Funktionseinheiten 4a, 4b, 5 und 6. Die Funktionseinheiten 4a,
4b, 5 und 6 können Befehle parallel zueinander ausführen. In
der in Fig. 1 gezeigten Struktur sind Integer-Berechnungseinheiten
4a und 4b zum Ausführen einer Integer-Addition etc.,
eine Einheit 5 zum Ausführen einer Datenspeicherung in einen
Daten-Cache (Datenspeicher) 7 oder zum Laden von Daten daraus
und eine Einheit 6 zum Ausführen einer Gleitkommarechnung vorgesehen.
Im Superskalarprozessor sind die Befehlsholstufe (IF-Stufe) 2,
die Befehlsdekodierungsstufe (ID-Stufe) 3 und die Funktionseinheiten
4a, 4b, 5 und 6 aneinandergereiht ("pipelined"). Die
Funktionseinheiten 4a und 4b enthalten eine Ausführungsstufe
EXC zum Ausführen eines von der Dekoderstufe 3 gegebenen
Befehls und eine Rückschreibstufe (WB-Stufe) zum Einschreiben
des Ergebnisses der Ausführung in ein Register-File (nicht
gezeigt).
Eine Speicherzugriffseinheit 5 enthält eine Adreßberechnungsstufe
(ADR-Stufe) zum Berechnen der Adresse des Daten-Cache 7
entsprechend einem Befehl von der Befehlsdekoderstufe 3, eine
Speicherzugriffsstufe (MEM-Stufe) zum Ausführen eines Zugriffes
auf den Daten-Cache 7 entsprechend der berechneten Adresse und
eine Rückschreibstufe (WB-Stufe) zum Schreiben der geladenen
Daten vom Daten-Cache 7 in das Register-File.
Die Gleitkommaberechnungseinheit 6 enthält drei Befehlsstufen
EXC1, EXC2 und EXC3 zum Ausführen eines Befehls von der Befehlsdekoderstufe
3 und eine Rückschreibstufe WB zum Schreiben
des Ergebnisses der Befehlsausführung in das Register-File.
Im Superskalarprozessor wird, wie oben beschrieben, eine Mehrzahl
von Befehlen vom Befehls-Cache 1 zur gleichen Zeit geholt.
Unter der Mehrzahl von gleichzeitig geholten Befehlen werden in
der Dekoderstufe 3 Befehle, die gleichzeitig ausgeführt werden
können, ermittelt und die ermittelten Befehle an die entsprechenden
Funktionseinheiten ausgegeben. Die Funktionseinheiten
4a, 4b, 5 und 6 können Befehle parallel zueinander ausführen.
Beim Superskalarprozessor kann im Vergleich zu einem herkömmlichen
Prozessor eine verbesserte Verarbeitungsgeschwindigkeit
erreicht werden, da eine Mehrzahl von Befehlen zur gleichen
Zeit ausgeführt wird.
Fig. 2 zeigt schematisch das Wesen des Aufbaues einer Befehlsholstufe
(IF) und einer Befehlsdekoderstufe (ID-Stufe) in einem
herkömmlichen Superskalarprozessor. Bei dem in Fig. 2 gezeigten
Aufbau des Superskalarprozessors werden vier Befehle
gleichzeitig geholt und dekodiert.
Gemäß Fig. 2 enthält die Befehlsholstufe (IF) einen Programmzähler
(PC) zum Halten der ersten Befehlsadresse einer Mehrzahl
von Befehlen, die vom Befehls-Cache 1 zu holen sind. In der Befehlsholstufe
(IF) legt der Programmzähler 8 einen Zeiger IC_addr
an den Befehls-Cache 1 an und liest gleichzeitig die entsprechenden
Befehle (vier Befehle). Die Adresse vom Programmzähler
8 wird in einem Addierer 9 (wenn alle vier Befehle ausgegeben
sind) einer Addition von 16 unterzogen. Der Ausgang des
Addierers 9 liefert eine Holadresse im nächsten Zyklus. Die
Adressen vom Programmzähler 8 umfaßt 30 Bit <31 : 2<, und die
signifikanteren 28 Bit <31 : 4< werden an den Befehls-Cache 1
angelegt. Die Schreibweise <31 : 2< kennzeichnet, daß das signifikanteste
Adreßbit A31 und das am wenigsten signifikante
Adreßbit A2 ist.
Der Befehls-Cache 1 liest die vier Befehle entsprechend der
Adresse <31 : 4< der angelegten 28 Bit, aktiviert ein Signal
IC_ready, das das Lesen dieser Befehle kennzeichnet, überträgt
das Signal auf eine Signalleitung 10 und überträgt Werte IC_
data auf den Befehls-Bus 11.
Eine Fehlausrichtungs-Berechnungseinheit 17 berechnet die
Grenzen von Worten in den vier vom Befehls-Cache 1 ausgelesenen
Befehlen (IR1, IR2, IR3 und IR4) oder den Daten IC_data und berechnet
ein Signal misalignment, das die Grenze repräsentiert.
Die Berechnung der Grenze der Worte wird auf der Grundlage
einer Adresse <3 : 2< der niedrigst signifikanten 2 Bit vom
Programmzähler ausgeführt, was später im einzelnen beschrieben
werden wird.
Die Befehlsdekodierungsstufe (ID-Stufe) enthält Befehlsregister
12a, 12b, 12c und 12d zum zeitweiligen Zwischenspeichern von aus
dem Befehls-Cache 1 ausgelesenen Befehlen und einem Befehlsdekoder
13 zum Dekodieren der in den Befehlsregistern 12a bis 12d
gespeicherten Befehle IR1, IR2, IR3 und IR4 und ein Register 14
zum Zwischenspeichern bzw. Verriegeln des Signales IC_ready vom
Befehls-Cache 1.
Die Befehle IR1, IR2, IR3 und IR4 vom Befehls-Cache 1 werden
unzusammenhängend bzw. unkonditioniert in die Befehlsregister
12a bis 12d eingeschrieben. Der Wert IC_data vom Befehls-Cache
1 enthält vier parallele Befehle IR1, IR2, IR3 und IR4.
Ob die in die Befehlsregister 12a bis 12d geschriebenen Befehle
verfügbar sind oder nicht, wird auf der Grundlage dessen
bestimmt, ob das vom Befehls-Cache 1 erzeugte Signal IC_ready
anliegt oder nicht. Das Register 14 speichert das Signal
IC_ready zum Kennzeichnen dessen, ob die in den Befehlsregistern
12a bis 12d gespeicherten Befehle IR1 bis IR4 verfügbar
sind oder nicht. Das Zwischenspeichersignal wird im folgenden
mit dem Präfix "ia" bezeichnet.
Der Befehlsdekoder 13 erzeugt Operationscodes code 1, code 2,
code 3 und code 4, die Befehlsausführungen in den entsprechenden
Funktionseinheiten auf der Grundlage von darin vorprogrammierten
Befehlscodes kennzeichnen, und überträgt die erzeugten
Codes auf Signalleitungen 15a, 15b, 15c bzw. 15d. Der Befehlsdekoder
13 überträgt auch - unter Bezug auf Befehle, die auf
die Funktionseinheiten ausgegeben werden können - Flags ia_out
1, ia_out 2, ia_out 3 und ia_out 4 zum Kennzeichnen dessen, daß
diese Befehle auf Signalleitungen 16a, 16b, 16c und 16d ausgebbar
(verfügbar) sind.
Diese Operationscodes code 1 bis code 4 und die Verfügbarkeits-Flags
ia_out 1 bis ia_out 4 werden an die Ausführungsstufen
EXC1 oder ADR der jeweils entsprechenden Funktionseinheiten
übertragen.
Diese Operationscodes code 1 bis code 4 werden in den entsprechenden
Funktionseinheiten ausgeführt. Für die Art und Weise
ihrer Ausführung sind verschiedene Verfahren vorgesehen bzw.
wurden vorgeschlagen. Allgemein wird eine Operation in einer
entsprechenden Funktionseinheit entsprechend einem angelegten
Operationscode ausgeführt.
Aus dem Befehls-Cache 1 werden vier Befehle gleichzeitig ausgelesen.
Wie weiter unten im einzelnen beschrieben wird, ist es
jedoch nicht möglich, aus dem Befehls-Cache 1 gleichzeitig vier
Befehle aus beliebigen Adressen auszulesen. Die Adressen, aus
denen die vier Befehle aus dem Befehls-Cache 1 gleichzeitig
ausgelesen werden können, werden durch die Grenzen von vier
Worten bestimmt. Nachfolgend wird eine Beschreibung des Lesens
dieser vier Befehle unter Bezugnahme auf die Zustände gegeben,
in denen Befehle im Befehls-Cache 1 gespeichert sind:
Wenn eine Holadresse (der Ausgang PC des Programmzählers) 4n
ist, können der Befehl 0, der Befehl 1, der Befehl 2 und der
Befehl 3 ausgelesen werden. Wenn die Holadresse (der Zeiger PC)
4n+8 ist, können der Befehl 2, der Befehl 3, der Befehl 4 und
der Befehl 5 nicht ausgelesen werden. In diesem Falle gibt der Befehls-
Cache 1 den Befehl 0, den Befehl 1, den Befehl 2 und den
Befehl 3 aus. Wenn die Befehlsdekodierungsstufe (ID-Stufe) die
angelegten Befehle in das Befehlsregister 12 übernimmt, nehmen
die Befehlsregister 12c und 12d die als IR3 und IR4 angelegten
Befehle auf, aber die Befehlsregister 12a und 12b nehmen die
angelegten Befehle, nämlich den Befehl 0 und den Befehl 1,
nicht als Befehle IR1 und IR2 auf. Die Register 12a und 12b
sind rückgesetzt. Genauer gesagt, speichern die Register 12a
und 12b einen Befehl "nop (kein Betrieb)".
Die Information zum Rückstellen des Befehlsregisters 12 wird
durch Berechnen der Verschiebung des vom Programmzähler (PC) 8
erzeugten Zeigers PC von der Grenze der vier Worte oder dem Betrag
der Fehlausrichtung erzeugt. Die Berechnung des Fehlausrichtungsbetrages
wird durch die Fehlausrichtungs-Berechnungseinheit
17 ausgeführt. Die Fehlausrichtungs-Berechnungseinheit
17 erzeugt eine Information misalign über die Fehlausrichtung
vom PC <3 : 2< der wenigsten signifikanten 2 Bit des Zeigers PC
vom Programmzähler 8 und überträgt die erzeugte Information auf
das Befehlsregister 12. Die Fehlausrichtungsinformation
misalign hat 3 Bit <3 : 1<, und die Bit der 3-Bit-Werte <3 : 1<
werden an die Befehlsregister 12a, 12b bzw. 12c geliefert. Der
Addierer 9 addiert den Wert der Anzahl der ausgegebenen
Befehle ×4 zum Zeiger PC durch ein Signal von einem (nicht gezeigten)
Pfad vom Befehlsdekoder 13.
Fig. 3A ist eine Darstellung in Tabellenform, die eine durch
die Fehlausrichtungs-Berechnungseinheit 17 ausgeführte logische
Operation zeigt, und Fig. 3B zeigt den logischen Aufbau der
Fehlausrichtungs-Berechnungseinheit 17. Wenn der Zeiger PC
<3 : 2< z. B. "00" ist, bedeutet dies, daß Befehle von der
Grenze der Worte ausgelesen werden. Genauer gesagt, ist der Betrag
der Fehlausrichtung in diesem Falle 0. Die Fehlausrichtungsinformation
misalign <3 : 1< stellt in Übereinstimmung mit
den Beträgen der Fehlausrichtung 0, 1, 2 bzw. 3 das Register
12a, 12a und 12b, das Register 12a und die Register 12b und 12c
zurück. Wie in Fig. 3C gezeigt, werden die folgenden vier
Befehle nicht geholt, bis nicht eine Gruppe von vier Befehlen
insgesamt ausgegeben ist. Diese Gruppe von vier Befehlen wird
wiederholt geholt, bis alle von ihnen ausgegeben sind.
Vier Befehle können nur gleichzeitig von der Grenze der vier
Worte des Befehls-Cache 1 ausgelesen werden, da der Cache-Speicher
1 aus vier Speichern aufgebaut ist und die vier Speicher
durch eine Adresse IC_addr zugegriffen werden. Dieser Aufbau
ist in Fig. 4 gezeigt.
Wie Fig. 4 zeigt, enthält der Befehls-Cache 1 vier Speicher
19a, 19b, 19c und 19d. Der Speicher 19a speichert einen Befehl
einer Adresse 16m (16m ist eine beliebige ganze Zahl). Der
Speicher 19b speichert einen Befehl einer Adresse 16m+4. Der
Speicher 19c speichert einen Befehl einer Adresse 16m+8. Der
Speicher 19d speichert einen Befehl einer Adresse 16m+12. Ein
Befehl besteht aus 32 Bit und ist über vier Adressen gespeichert.
Die gleiche Holadresse IC_addr wird an diese vier
Speicher 19a bis 19d angelegt. Gleichzeitig auszulesende
Befehle sind in den gleichen Adressen der Speicher 19a bis 19d
gespeichert. Daher werden vier serielle Befehle, ein Befehl 4M,
ein Befehl 4M+1, ein Befehl 4M+2 und ein Befehl 4M+3, aus
der Adresse 16m der 4-Wort-Grenze aus dem Cache 1 ausgelesen.
Vier Befehle, die bei einer Adresse beginnen, die nicht an der
4-Worte-Grenze liegt, beispielsweise bei einer Adresse 16m+4,
können jedoch nicht gleichzeitig ausgelesen werden. In diesem
Falle werden die Befehle der Adressen 16m, 16m+4, 16m+8 und
16m+12 wieder ausgelesen. Es ist zu beachten, daß die Holadresse
IC_addr die am wenigsten signifikanten 2 Bit <3 : 2<
innerhalb des Zeigers PC <31 : 2< des Programmzählers 8 nicht
enthält.
Das Erzeugen zweier Holadressen und das Vorsehen einer Schaltung
zum Verschieben einer Ausgabe vom Befehls-Cache 1 entsprechend
den Adreßwerten ermöglicht es, vier Befehle von einer beliebigen
Adresse aus dem Befehls-Cache 1 auszulesen. Das Vorsehen
einer solchen Struktur vergrößert jedoch die Zeit zum Zugreifen
auf den Befehls-Cache 1 und beeinträchtigt die hohe Arbeitsgeschwindigkeit
eines Prozessors.
Das herkömmliche Verfahren zum Holen eines Befehls, der nicht
an einer 4-Worte-Grenze liegt, erfordert eine Rückstellschaltung
für die Befehlsregister 12a, 12b und 12c. Die Anzahl von
für die Befehlsregister 12 erforderlichen Transistoren steigt
im Ergebnis dessen an, was bezüglich des Leistungsverbrauches,
der belegten Chipfläche etc. zu Nachteilen führt.
Fig. 5 zeigt den Aufbau einer herkömmlichen Latchschaltung,
die üblicherweise in einem Register verwendet wird, und Fig. 6
zeigt den Aufbau einer Latchschaltung (Zwischenspeicherschaltung)
mit einem Rückstellanschluß. Das in den Fig. 5 und 6
gezeigte Signal "Takt" ist ein Taktsignal zum Ansteuern dieses
Superskalarprozessors und definiert den Zyklus des Aneinander
reihungs("pipelining")-Betriebes.
Eine Inverterschaltung erfordert mindestens zwei Transistoren,
das heißt komplementär miteinander verbunden einen p-Kanal-MOS
(PMOS-)-Transistor (Feldeffekttransistor mit isoliertem Gate)
und einen n-Kanal-MOS(NMOS)-Transistor. Im Falle des in Fig. 5
gezeigten Aufbaues der Latchschaltung werden dementsprechend
zehn Transistoren benötigt.
Der Aufbau der Latchschaltung mit Rückstellanschluß, wie er in
Fig. 6 gezeigt ist, erfordert eine Zwei-Eingangs-NOR-Schaltung
der Rückstellfunktion. Die Zwei-Eingangs-NOR-Schaltung enthält
üblicherweise zwei NMOS-Transistoren, die zum Entladen eines
Ausgangsabschnittes auf ODER-Art geschaltet sind, und zwei
PMOS-Transistoren zum Laden des Ausgangsabschnittes, die auf
UND-Art geschaltet sind. Das heißt, die NOR-Schaltung NR2 er
fordert vier Transistoren. Die Latchschaltung mit Rückstell
anschluß, die in Fig. 6 gezeigt ist, erfordert also insgesamt
12 Transistoren.
Im Vergleich zu einem Aufbau unter Verwendung einer herkömm
lichen Latchschaltung werden für das in Fig. 2 gezeigte Be
fehlsregister 12, wenn die Latchschaltung mit Rückstellan
schluß für die drei Befehlsregister 12a, 12b und 12c verwendet
wird, zusätzlich 192 (2×32×3) Transistoren benötigt (die Be
fehlslänge ist 32 Bit).
Bei der Latchschaltung mit Rückstellanschluß (siehe Fig. 6)
ist infolge ihrer Gatterschaltung zum Rückstellen die An
sprechzeit gegenüber der in Fig. 5 gezeigten herkömmlichen
Latchschaltung größer, was zu einer Verlängerung der Zyklus
zeit führt.
Aus der Druckschrift
"JEEE Transactions on Computers", Vol. 39, No. 3, März 1990, pp.349-359,
sind Parallelprozessoren mit mehreren Funktionseinheiten, bei denen
mehrere Befehle zugleich aus dem Befehlsspeicher abgerufen, in
Befehlsregistern gespeichert, einer Dekodiereinrichtung zugeführt
und auf Ausführbarkeit überprüft werden, bekannt.
Es ist Aufgabe der Erfindung, einen Parallelprozessor und ein Betriebsverfahren für diesen anzuge
ben, bei dem das in der Vorstufe eines Befehlsdekoders vorge
sehene Befehlsregister eine verringerte Anzahl von Transisto
ren aufweist, der eine verringerte Zykluszeit hat und der über
eine Steuerfunktion zum Holen eines Befehls, der nicht an einer
4-Wort-Grenze liegt, verfügt.
Die Aufgabe wird durch einen Parallelprozessor nach Anspruch 1
bzw. durch ein Betriebsverfahren nach
Anspruch 6 gelöst.
Das Befehlsregister ist aus einer gewöhnlichen Latchschaltung
gebildet, und daher kann die Anzahl von Transistoren, die das
Befehlsregister bilden, verringert werden.
Zweckmäßige Ausgestaltungen ergeben sich aus den Unteran
sprüchen.
Es folgt die Erläuterung eines Ausführungsbeispieles anhand der
Figuren.
Von den Figuren zeigt:
Fig. 1 eine Darstellung des Gesamtaufbaues eines Super
skalarprozessors,
Fig. 2 eine Darstellung, die die Befehlsholstufe und die
Befehlsdekodierungsstufe eines herkömmlichen Su
perskalarprozessors schematisch zeigt,
Fig. 3A, B, C Darstellungen, die die Logik, den Aufbau und die
Befehlsholfolgen einer Fehlausrichtungs-Berech
nungseinheit zeigen,
Fig. 4 eine Darstellung, die schematisch den Aufbau
eines Befehls-Cache zeigt,
Fig. 5 eine Darstellung, die den Aufbau einer Latch
schaltung ohne Rückstellanschluß zeigt,
Fig. 6 eine Darstellung, die den Aufbau einer Latch
schaltung mit Rückstellanschluß zeigt, und
Fig. 7 eine Darstellung, die den Aufbau des mit dem Be
fehlsholvorgang verbundenen Teils eines Super
skalarprozessors entsprechend einer Ausführungs
form der Erfindung zeigt.
Fig. 7 zeigt den wesentlichen Teil eines Parallelprozessors
entsprechend einer Ausführungsform.
Wie Fig. 7 zeigt, sind Befehlsregister 12a bis 12d jeweils
durch eine herkömmliche Latchschaltung - wie sie in Fig. 5 ge
zeigt ist - gebildet, die ihrer Rückstellfunktion beraubt sind.
Verfügbarkeits-Flag-Register 20a bis 20d sind entsprechend den
Befehlsregistern 12a bis 12d vorgesehen. Das Verfügbarkeits-
Flag-Register 20a speichert ein Flag ia1, das die Verfügbar
keit eines Befehls IR1 zum Speichern im Befehlsregister 12a an
zeigt. Das Verfügbarkeits-Flag-Register 20b speichert ein Ver
fügbarkeits-Flag ia2, das die Verfügbarkeit eines Befehls IR2
zum Speichern im Befehlsregister 12b anzeigt. Das Verfügbar
keits-Flag-Register 20c speichert ein Verfügbarkeits-Flag ia3,
das die Verfügbarkeit eines Befehls IR3 zum Speichern im Be
fehlsregister 12c angibt. Das Verfügbarkeits-Flag-Register 20d
speichert ein Flag ia4, das die Verfügbarkeit eines Befehls
IR2 zum Speichern im Befehlsregister 12d angibt.
Bei dem in Fig. 7 gezeigten Aufbau ist kein Register zum Spei
chern eines Signales IC_ready, das das Liefern eines Befehls
vom Befehls-Cache 1 anzeigt, vorgesehen.
Bei dem in Fig. 7 gezeigten Aufbau ist im Falle einer Fehlaus
richtung das Verfügbarkeits-Flag ia, das mit dem entsprechenden
Befehlsregister verbunden ist, ausgeschaltet. Genauer gesagt,
werden die folgenden logischen Zustände erreicht:
ia1 = IC_ready * /misalign <1<
ia2 = IC_ready * /misalign <2<
ia3 = IC_ready * /misalign <3<
ia4 = IC_ready,
ia2 = IC_ready * /misalign <2<
ia3 = IC_ready * /misalign <3<
ia4 = IC_ready,
wobei das Symbol "*" einen logischen Multiplikationsvorgang und
das Symbol "/" eine Negation bezeichnet. Die oben dargestellten
logischen Zustände werden durch einen Inverter 22 zum Empfangen
des Signals IC_ready vom Befehls-Cache 1 und NOR-Schaltungen
21a, 21b und 21c realisiert, die an ihrem einen Eingang den
Ausgang des Inverters 22 und an ihrem anderen Eingang die ent
sprechenden Bits der Fehlausrichtungs-Information misalign
<3 : 1< von der Fehlausrichtungs-Berechnungseinheit 17 aufneh
men. Der Ausgang der NOR-Schaltung 21a wird an das Verfügbar
keits-Flag-Register 20a geführt. Der Ausgang der NOR-Schaltung
21 wird an das Verfügbarkeits-Flag-Register 20b geführt. Der
Ausgang der NOR-Schaltung 21c wird an das Verfügbarkeits-Flag-
Register 20c geführt.
Wenn das Verfügbarkeits-Flag aus ist, wird bei einem herkömmli
chen Verfahren ein entsprechend dem Signal IC_ready vorge
sehenes Ausgebbarkeits-Anzeigeflag ia_out ausgeschaltet. Genau
er gesagt, bestimmt der Befehlsdekoder 3 die Werte der Ausgeb
barkeits-Anzeigeflags ia_out1 bis ia_out4 entsprechend den an
den Befehlen IR1 bis IR4 angebrachten Verfügbarkeits-Flags ia1
bis ia4. Exakt wird im Befehlsdekoder 3 das folgende
ausgeführt:
ia_out1 = ia1 * (Bedingung, unter der IR1 ausgegeben werden kann)
ia_out2 = ia2 * (Bedingung, unter der IR2 ausgegeben werden kann)
ia_out3 = ia3 * (Bedingung, unter der IR3 ausgegeben werden kann)
ia_out4 = ia4 * (Bedingung, unter der IR4 ausgegeben werden kann)
ia_out2 = ia2 * (Bedingung, unter der IR2 ausgegeben werden kann)
ia_out3 = ia3 * (Bedingung, unter der IR3 ausgegeben werden kann)
ia_out4 = ia4 * (Bedingung, unter der IR4 ausgegeben werden kann)
In den angeführten logischen Ausdrücken bezeichnet "*" einen
logischen Multiplikationsvorgang und "/" eine Negation. Der
Aufbau der Fehlausrichtungs-Berechnungseinheit 17 ist ähnlich
der einer herkömmlichen.
Da die das Befehlsregister 12 bildende Latchschaltung bei dem
in Fig. 7 gezeigten Schaltungsaufbau keine Rückstellfunktion
erfordert, sind 192 Transistoren nicht erforderlich. Weiterhin
können, da das Register 14 nicht länger notwendig ist, weitere
zehn Transistoren eingespart werden. Die Anzahl der Transisto
ren der Bauteile wird um 40 (4×10) Transistoren, die für das
für das Befehlsregister 12 vorgesehene Verfügbarkeits-Flag-Re
gister 20 erforderlich sind, 12 (3×4) Transistoren für die NOR-
Schaltung 21 und zwei Transistoren für den Inverter 21 erhöht.
Mit anderen Worten, wird bei dem in Fig. 7 gezeigten Aufbau
die Gesamtzahl der Transistoren gegenüber dem in Fig. 2
gezeigten Aufbau um 148 verringert.
Wie oben dargelegt, kann mit der Erfindung die Anzahl der
Transistoren zur Bildung einer Schaltung zum Einstellen der
Ausrichtung bzw. zum Berechnen der Fehlausrichtung erheblich
verringert werden. Weiterhin kann, da im Befehlsregister keine
Rückstellfunktion vorgesehen ist, die Ansprechzeit des Befehls-
Register verkürzt werden, was Verbesserungen der Leistungsfähig
keit, insbesondere beim Hochgeschwindigkeitsbetrieb, eines Pa
rallelprozessors erbringt.
Claims (6)
1. Parallelprozessor mit
einer Mehrzahl von Funktionseinheiten (4a, 4b, 5, 6), jeweils zur Ausführung einer vorbestimmten Funktion,
einer Dekodiereinrichtung (13) zum gleichzeitigen Holen einer Mehrzahl von Befehlen aus einem Befehlsspeicher (1), zum Herausfinden gleichzeitig ausführbarer Befehle unter den gehol ten Befehlen und zum Ausgeben dieser gleichzeitig ausführbaren Befehle an die entsprechenden Funktionseinheiten,
einer Mehrzahl von Befehlsregistereinrichtungen (12a, 12b, 12c, 12d) zum jeweiligen Speichern der vom Befehlsspeicher (1) geholten Befehle,
gekennzeichnet durch
eine Mehrzahl von Verfügbarkeitsdaten-Registereinrichtungen (20a, 20b, 20c, 20d), die jeweils entsprechend der Mehrzahl von Befehlsregistereinrichtungen angeordnet sind, zum Speichern von Daten, die Tatsache kennzeichnen, daß der in der entsprechenden Befehlsregistereinrichtung ge speicherte Befehl verfügbar ist, wobei die gespeicherten Befehle (IR1 bis IR4) in der Befehlsre gistereinrichtung (12a bis 12d) und die Werte (ia1 . . . ia4) der Verfügbarkeitsdaten-Registereinrichtung (20a bis 20d) parallel zueinander an die Dekodereinrichtung (13) geliefert werden,
eine Adressenerzeugungseinrichtung (8) zum Erzeugen einer Hol adresse (IC_addr) des Befehlsspeichers (1),
eine Fehlausrichtungs-Berechnungseinrichtung (17) zur Erzeu gung einer Fehlausrichtungs-Information (misalign <1<, <2<, <3<) zwischen der ersten Adresse der gleichzeitig aus dem Befehlsspeicher ausgelesenen Mehrzahl von Befehlen und der Holadresse und
eine Verfügbarkeitsdaten-Erzeugungseinrichtung (21a, 21b, 21c, 22) zum Erzeugen der Verfügbarkeitsdaten (ia1 . . . ia4) für jeden der Mehrzahl von Befehlen (IR1 bis IR4), die gleichzeitig aus dem Befehlsspeicher ausgelesen werden, aus einem Befehlsübertra gungssignal (IC_ready) vom Befehlsspeicher (1) und der Fehl ausrichtungsinformation (misalign <1<, <2<, <3<) von der Fehl ausrichtungs-Berechnungseinrichtung (17) und zum Einschreiben der erzeugten Verfügbarkeitsdaten in die zugeordnete Verfügbar keitsdaten-Registereinrichtung (20a bis 20d).
einer Mehrzahl von Funktionseinheiten (4a, 4b, 5, 6), jeweils zur Ausführung einer vorbestimmten Funktion,
einer Dekodiereinrichtung (13) zum gleichzeitigen Holen einer Mehrzahl von Befehlen aus einem Befehlsspeicher (1), zum Herausfinden gleichzeitig ausführbarer Befehle unter den gehol ten Befehlen und zum Ausgeben dieser gleichzeitig ausführbaren Befehle an die entsprechenden Funktionseinheiten,
einer Mehrzahl von Befehlsregistereinrichtungen (12a, 12b, 12c, 12d) zum jeweiligen Speichern der vom Befehlsspeicher (1) geholten Befehle,
gekennzeichnet durch
eine Mehrzahl von Verfügbarkeitsdaten-Registereinrichtungen (20a, 20b, 20c, 20d), die jeweils entsprechend der Mehrzahl von Befehlsregistereinrichtungen angeordnet sind, zum Speichern von Daten, die Tatsache kennzeichnen, daß der in der entsprechenden Befehlsregistereinrichtung ge speicherte Befehl verfügbar ist, wobei die gespeicherten Befehle (IR1 bis IR4) in der Befehlsre gistereinrichtung (12a bis 12d) und die Werte (ia1 . . . ia4) der Verfügbarkeitsdaten-Registereinrichtung (20a bis 20d) parallel zueinander an die Dekodereinrichtung (13) geliefert werden,
eine Adressenerzeugungseinrichtung (8) zum Erzeugen einer Hol adresse (IC_addr) des Befehlsspeichers (1),
eine Fehlausrichtungs-Berechnungseinrichtung (17) zur Erzeu gung einer Fehlausrichtungs-Information (misalign <1<, <2<, <3<) zwischen der ersten Adresse der gleichzeitig aus dem Befehlsspeicher ausgelesenen Mehrzahl von Befehlen und der Holadresse und
eine Verfügbarkeitsdaten-Erzeugungseinrichtung (21a, 21b, 21c, 22) zum Erzeugen der Verfügbarkeitsdaten (ia1 . . . ia4) für jeden der Mehrzahl von Befehlen (IR1 bis IR4), die gleichzeitig aus dem Befehlsspeicher ausgelesen werden, aus einem Befehlsübertra gungssignal (IC_ready) vom Befehlsspeicher (1) und der Fehl ausrichtungsinformation (misalign <1<, <2<, <3<) von der Fehl ausrichtungs-Berechnungseinrichtung (17) und zum Einschreiben der erzeugten Verfügbarkeitsdaten in die zugeordnete Verfügbar keitsdaten-Registereinrichtung (20a bis 20d).
2. Parallelprozessor nach Anspruch 1, dadurch gekenn
zeichnet, daß die Befehlsregistereinrichtung (12a bis 12d) eine
nicht rückstellbare Latchschaltung aufweist.
3. Parallelprozessor nach Anspruch 1 oder 2, dadurch
gekennzeichnet, daß die Verfügbarkeitsdaten-Registereinrich
tung (20a bis 20d) eine nicht rückstellbare Latchschaltung auf
weist.
4. Parallelprozessor nach einem der Ansprüche 1 bis 3, dadurch
gekennzeichnet, daß die Fehlausrichtungsinformation (misalign
<1<, <2<, <3<) der Fehlausrichtungs-Berechnungseinrichtung (17)
eine Befehlsspezifizierungsinformation zum Spezifizieren eines
Befehls zwischen der Holadresse und der ersten Adresse aufweist
und die Verfügbarkeitsdaten-Erzeugungseinrichtung (21a bis 21c,
22) aufweist:
- (a) eine Einrichtung zum Übertragen des Befehlsübertragungssi gnals (IC_ready) als Verfügbarkeitswert für den Befehl der letzten Adresse unter den gleichzeitig geholten Befehlen und
- (b) eine Einrichtung zum Erzeugen des Verfügbarkeitswertes je des der Befehle aus der Befehlsspezifizierungsinformation und dem Befehlsübertragungssignal für jeweilige Befehle zwischen der ersten Adresse und der letzten Adresse.
5. Parallelprozessor nach einem der Ansprüche 1 bis 4, dadurch
gekennzeichnet, daß die Dekodiereinrichtung (13) eine Einrich
tung zum Empfangen des Befehls von der Befehlsregistereinrich
tung (12a bis 12d) und des Wertes von der Verfügbarkeitsdaten-
Registereinrichtung (20a bis 20d) zum Herausfinden der gleich
zeitig ausführbaren Befehle und zum Erzeugen eines Ausgebbar
keitsanzeige-Flag (ia_out1 . . . ia_out4) für jeden der Befehle aus den Verfügbarkeits
daten und Ausführbarkeits-Anzeigedaten,
die die Bedingung anzeigen, unter der der Befehl ausgegeben werden kann,
aufweist.
6. Betriebsverfahren für einen Parallelprozessor mit einer
Mehrzahl von Funktionseinheiten (4a, 4b, 5, 6), jeweils zum
Ausführen einer vorbestimmten Funktion, der zum gleichzeitigen
Ausführen einer Mehrzahl von Befehlen in der Lage ist, mit den
Schritten:
Erzeugen eines Adreßzeigers (PC) und gleichzeitiges Holen einer Mehrzahl von Befehlen mit gleicher Länge aus einem Befehlsspeicher (1), der eine Mehrzahl von Speichern aufweist und in dem gleichzeitig zu holende Befehle in gleichen Adressen der jeweiligen Speicher gespeichert sind, wobei der Adreßzeiger eine die erste Adresse der Mehrzahl von Befehlen angebende Holadresse (IC_addr) und eine die Fehlaus richtung zwischen der Holadresse und dem Adreßzeiger angebende Fehlausrichtungsadresse aufweist und der Befehlsspeicher (1) ein Befehlsübertragungs-Flag (IC_ready) zum Zeitpunkt der Übertragung der Befehle erzeugt,
Speichern der Mehrzahl von Befehlen (IR1 bis IR4) parallel in einer nicht rückstellbaren Befehlsregistereinrichtung (12a bis 12d),
Erzeugen von Verfügbarkeitsdaten (ia1 . . . ia4) zum Anzeigen der Verfügbarkeit/Nichtverfügbarkeit jedes der Mehrzahl der Befehle entsprechend der Fehlausrichtungs-Adresse (misalign <1<, <2<, <3<) und des Befehlsübertragungs-Flags und
Speichern der so erzeugten Verfügbarkeitsdaten (ia1 . . . ia4) entsprechend jedem der Befehle (IR1 bis IR4),
Empfangen der Befehle (IR1 bis IR4) von den Befehlsregistereinrichtungen (12a bis 12d) und der Verfügbarkeitsdaten (ia1 . . . ia4) parallel zueinander in einer Dekodereinrichtung (13), Herausfinden der gleich zeitig ausführbaren Befehle, Erzeugen eines Ausgebbarkeitsanzeige- Flag (ia_out1 . . . ia_out4) für jeden der Befehle aus dem Verfügbarkeitsdatum und der Anzeige der gleichzeitigen Ausführbarkeit, die die Bedingung angibt, unter der der Befehl ausgegeben werden kann, und Ausgeben des Ausgebbarkeitsanzeige-Flag (ia_out . . . ia_out4) und des ausführbaren Befehls (code 1 . . . code 4) in Verbindung zu einer entsprechenden Funktionseinheit.
Erzeugen eines Adreßzeigers (PC) und gleichzeitiges Holen einer Mehrzahl von Befehlen mit gleicher Länge aus einem Befehlsspeicher (1), der eine Mehrzahl von Speichern aufweist und in dem gleichzeitig zu holende Befehle in gleichen Adressen der jeweiligen Speicher gespeichert sind, wobei der Adreßzeiger eine die erste Adresse der Mehrzahl von Befehlen angebende Holadresse (IC_addr) und eine die Fehlaus richtung zwischen der Holadresse und dem Adreßzeiger angebende Fehlausrichtungsadresse aufweist und der Befehlsspeicher (1) ein Befehlsübertragungs-Flag (IC_ready) zum Zeitpunkt der Übertragung der Befehle erzeugt,
Speichern der Mehrzahl von Befehlen (IR1 bis IR4) parallel in einer nicht rückstellbaren Befehlsregistereinrichtung (12a bis 12d),
Erzeugen von Verfügbarkeitsdaten (ia1 . . . ia4) zum Anzeigen der Verfügbarkeit/Nichtverfügbarkeit jedes der Mehrzahl der Befehle entsprechend der Fehlausrichtungs-Adresse (misalign <1<, <2<, <3<) und des Befehlsübertragungs-Flags und
Speichern der so erzeugten Verfügbarkeitsdaten (ia1 . . . ia4) entsprechend jedem der Befehle (IR1 bis IR4),
Empfangen der Befehle (IR1 bis IR4) von den Befehlsregistereinrichtungen (12a bis 12d) und der Verfügbarkeitsdaten (ia1 . . . ia4) parallel zueinander in einer Dekodereinrichtung (13), Herausfinden der gleich zeitig ausführbaren Befehle, Erzeugen eines Ausgebbarkeitsanzeige- Flag (ia_out1 . . . ia_out4) für jeden der Befehle aus dem Verfügbarkeitsdatum und der Anzeige der gleichzeitigen Ausführbarkeit, die die Bedingung angibt, unter der der Befehl ausgegeben werden kann, und Ausgeben des Ausgebbarkeitsanzeige-Flag (ia_out . . . ia_out4) und des ausführbaren Befehls (code 1 . . . code 4) in Verbindung zu einer entsprechenden Funktionseinheit.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3168063A JP2779557B2 (ja) | 1991-07-09 | 1991-07-09 | 並列演算処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE4222275A1 DE4222275A1 (de) | 1993-01-21 |
DE4222275C2 true DE4222275C2 (de) | 1995-12-21 |
Family
ID=15861145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4222275A Expired - Lifetime DE4222275C2 (de) | 1991-07-09 | 1992-07-07 | Parallelprozessor und Betriebsverfahren für diesen |
Country Status (3)
Country | Link |
---|---|
US (1) | US5504923A (de) |
JP (1) | JP2779557B2 (de) |
DE (1) | DE4222275C2 (de) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0583089B1 (de) | 1992-08-12 | 2000-01-26 | Advanced Micro Devices, Inc. | Befehlsdecoder |
JP2760273B2 (ja) * | 1993-12-24 | 1998-05-28 | 日本電気株式会社 | 演算装置及びその制御方法 |
US5991869A (en) * | 1995-04-12 | 1999-11-23 | Advanced Micro Devices, Inc. | Superscalar microprocessor including a high speed instruction alignment unit |
US5872947A (en) * | 1995-10-24 | 1999-02-16 | Advanced Micro Devices, Inc. | Instruction classification circuit configured to classify instructions into a plurality of instruction types prior to decoding said instructions |
US6049863A (en) * | 1996-07-24 | 2000-04-11 | Advanced Micro Devices, Inc. | Predecoding technique for indicating locations of opcode bytes in variable byte-length instructions within a superscalar microprocessor |
US5867680A (en) * | 1996-07-24 | 1999-02-02 | Advanced Micro Devices, Inc. | Microprocessor configured to simultaneously dispatch microcode and directly-decoded instructions |
US5881260A (en) * | 1998-02-09 | 1999-03-09 | Hewlett-Packard Company | Method and apparatus for sequencing and decoding variable length instructions with an instruction boundary marker within each instruction |
US6438664B1 (en) | 1999-10-27 | 2002-08-20 | Advanced Micro Devices, Inc. | Microcode patch device and method for patching microcode using match registers and patch routines |
DE10043003A1 (de) * | 2000-09-01 | 2002-03-14 | Infineon Technologies Ag | Programmgesteuerte Einheit |
JP2009230610A (ja) * | 2008-03-25 | 2009-10-08 | Kawai Musical Instr Mfg Co Ltd | 命令処理装置及び命令処理方法。 |
US9223714B2 (en) | 2013-03-15 | 2015-12-29 | Intel Corporation | Instruction boundary prediction for variable length instruction set |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2702586C3 (de) * | 1977-01-22 | 1979-07-05 | Standard Elektrik Lorenz Ag, 7000 Stuttgart | Schaltungsanordnung zum Steuern des Speicherzugriffs bei einem Rechner |
US4295193A (en) * | 1979-06-29 | 1981-10-13 | International Business Machines Corporation | Machine for multiple instruction execution |
US4847755A (en) * | 1985-10-31 | 1989-07-11 | Mcc Development, Ltd. | Parallel processing method and apparatus for increasing processing throughout by parallel processing low level instructions having natural concurrencies |
JPS62152043A (ja) * | 1985-12-26 | 1987-07-07 | Nec Corp | 命令コ−ドアクセス制御方式 |
DE3751503T2 (de) * | 1986-03-26 | 1996-05-09 | Hitachi Ltd | Datenprozessor in Pipelinestruktur mit der Fähigkeit mehrere Befehle parallel zu dekodieren und auszuführen. |
US5051940A (en) * | 1990-04-04 | 1991-09-24 | International Business Machines Corporation | Data dependency collapsing hardware apparatus |
JPH0810430B2 (ja) * | 1986-11-28 | 1996-01-31 | 株式会社日立製作所 | 情報処理装置 |
US5201057A (en) * | 1987-01-22 | 1993-04-06 | Uht Augustus K | System for extracting low level concurrency from serial instruction streams |
JP2729795B2 (ja) * | 1987-11-19 | 1998-03-18 | 株式会社日立製作所 | 並列計算機及びその制御方法 |
US5073855A (en) * | 1989-06-30 | 1991-12-17 | Bull Hn Information Systems Inc. | Resource conflict detection method and apparatus included in a pipelined processing unit |
JP2818249B2 (ja) * | 1990-03-30 | 1998-10-30 | 株式会社東芝 | 電子計算機 |
-
1991
- 1991-07-09 JP JP3168063A patent/JP2779557B2/ja not_active Expired - Lifetime
-
1992
- 1992-07-07 DE DE4222275A patent/DE4222275C2/de not_active Expired - Lifetime
-
1994
- 1994-09-19 US US08/305,983 patent/US5504923A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2779557B2 (ja) | 1998-07-23 |
US5504923A (en) | 1996-04-02 |
JPH0520068A (ja) | 1993-01-29 |
DE4222275A1 (de) | 1993-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4305442C2 (de) | Verfahren und Vorrichtung zum Erzeugen eines Testvektors | |
DE69129569T2 (de) | Maschine mit sehr langem Befehlswort für leistungsfähige Durchführung von Programmen mit bedingten Verzweigungen | |
DE3689923T2 (de) | Dreiphasen-Pipeline-Signalprozessor. | |
DE69530520T2 (de) | Computerprogrammprodukt zur Verwendung von Mehrfachbefehlssätzen | |
DE2755273C2 (de) | ||
DE3750935T2 (de) | Verfahren und System zum Erleichtern der Befehlsausführung in einem digitalen Rechner. | |
DE2907181C2 (de) | Prozessor mit einem Befehlssatz-Modifizierregister | |
DE69017178T2 (de) | Datenverarbeitungssystem mit Vorrichtung zur Befehlskennzeichnung. | |
DE1499722C2 (de) | Einrichtung zur Modifizierung von Informationswörtern | |
DE3751297T2 (de) | Schaltung zur Programmsteuerung. | |
DE3424962C2 (de) | ||
DE69738188T2 (de) | Verfahren und apparat für eine erhöhte genauigkeit bei der verzweigungsvorhersage in einem superskalaren mirkroprozessor | |
DE68907518T2 (de) | Inhaltsadressierte Speicheranordnung. | |
DE2023354C2 (de) | Datenverarbeitungsanlage mit einem Mikrobefehlsspeicher | |
DE2542751C2 (de) | Datenverarbeitungsanlage | |
DE3586603T2 (de) | Datenprozessor fuer interpretierende und kompilierte sprache. | |
DE69418146T2 (de) | Temporärer Registersatz für einen superpipeline-superskalaren Prozessor | |
DE2714805A1 (de) | Datenverarbeitungssystem | |
DE2524046C2 (de) | Elektronische Datenverarbeitungsanlage | |
DE4222275C2 (de) | Parallelprozessor und Betriebsverfahren für diesen | |
DE19506990A1 (de) | Einrichtung zur Datenumleitung in einem Prozessor mit mehreren Ausführungseinheiten | |
EP0325677B1 (de) | Schaltungsanordnung und Steuerverfahren eines Befehlspufferspeichers in einer Datenverarbeitungsanlage | |
DE4134387C2 (de) | Vorrichtung und Verfahren zum Befehlszuführen in Geräten mit Parallelverarbeitung | |
DE69130233T2 (de) | Verfahren und gerät um ein sperrungscache einzusetzen | |
DE2533737A1 (de) | Datenprozessor |
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 | ||
8328 | Change in the person/name/address of the agent |
Representative=s name: PRUFER & PARTNER GBR, 81545 MUENCHEN |
|
R071 | Expiry of right | ||
R071 | Expiry of right |