DE10026017A1 - Vorabruf-Puffer - Google Patents

Vorabruf-Puffer

Info

Publication number
DE10026017A1
DE10026017A1 DE10026017A DE10026017A DE10026017A1 DE 10026017 A1 DE10026017 A1 DE 10026017A1 DE 10026017 A DE10026017 A DE 10026017A DE 10026017 A DE10026017 A DE 10026017A DE 10026017 A1 DE10026017 A1 DE 10026017A1
Authority
DE
Germany
Prior art keywords
prefetch buffer
commands
prefetch
data
command sequence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE10026017A
Other languages
English (en)
Other versions
DE10026017B4 (de
Inventor
Balraj Singh
Venkat Mattela
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies North America Corp
Original Assignee
Infineon Technologies North America Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies North America Corp filed Critical Infineon Technologies North America Corp
Publication of DE10026017A1 publication Critical patent/DE10026017A1/de
Application granted granted Critical
Publication of DE10026017B4 publication Critical patent/DE10026017B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3814Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching

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)
  • Executing Machine-Instructions (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

Es wird ein Verfahren und eine Vorrichtung zum Erzeugen einer Mehrzahl von ausgerichteten Befehlen aus einer durch eine Speichereinheit zur Verfügung gestellten Befehlsfolge zur Ausführung in einem Pipeline-Mikroprozessor beschrieben. Der Mikroprozessor umfasst einen Vorabruf-Puffer, wobei der Vorabruf-Puffer vorabgerufene Befehle und zusätzliche Informationen über die Gültigkeit und Größe des Vorabruf-Puffers speichert. Der Voraubruf-Puffer dient bei dem Verfahren beziehungsweise in der Vorrichtung zum Puffern eines Teils einer Befehlsfolge. Die aktuell ausgerichtete Befehlsfolge wird durch den Vorabruf-Puffer oder direkt durch aus dem Speicher abgerufene Befehle oder durch eine Kombination von vorabgerufenen Befehlen und aktuell abgerufenen Befehlen ausgegeben.

Description

Hintergrund der Erfindung
Die Erfindung betrifft ein Verfahren und eine Anordnung zum Vor-Abrufen und zum Abgleichen einer Befehlsfolge (Befehlsstrom), die durch eine Speichereinheit zur Verfügung gestellt wird. Moderne Mikroprozessoren können mehrere Befehle parallel ausführen. Solche Mikroprozessoren haben in allgemeine eine Pipeline-Struktur und umfassen mehrere Ausführungseinheiten, um Befehle parallel auszuführen. Ein Mikroprozessor kann zum Beispiel eine Lade- und Speicher- Ausführungseinheit zum Durchführen von Lade- und Speicher- Befehlen sowie eine arithmetische logische Einheit zum Ausführen von Daten beeinflussenden Befehlen umfassen. Ferner ist es möglich, dass ein 32 Bit Mikroprozessor Befehle mit variabler Länge, zum Beispiel 16 Bit Befehle und 32 Bit Befehle ausführt.
Um eine solche Pipeline-Struktur mit den entsprechenden Befehlen aus dem Speicher zu versorgen, wird üblicherweise eine Anfrage an die Speichereinheit gerichtet. Die Speichereinheit muss die entsprechende Anzahl von Befehlen aus dem Speicher laden und der Abruf-Einheit diese Befehle zuführen. Da Speichersysteme im Vergleich zu Ausführungseinheiten im allgemeinen langsamer sind, bildet eine solche Anordnung einen Flaschenhals bei der Ausführung von Befehlen. Insbesondere dann, wenn es zu einer sogenannten Grenzüberschreitung kommt, können die Speichersysteme die angeforderten Daten und Befehle nicht mit einem einzigen Zugriff abrufen. Ein Speichersystem ist im allgemeinen in Zeilen und Spalten organisiert. Zu einem Zeitpunkt kann nur auf eine einzige Zeile zugegriffen werden. Wenn die Start- und End-Adressen einer angeforderten Befehlsfolge nicht innerhalb einer einzigen Zeile liegen, muss das Speichersystem somit die angeforderten Befehle teilweise aus einer Speicherzeile und teilweise aus der folgenden Speicherzeile abrufen. Folglich benötigt das Speichersystem zusätzliche Zyklen, bis alle Informationen abgerufen worden sind.
Zusammenfassung der Erfindung
Der Erfindung liegt deshalb die Aufgabe zugrunde, ein Verfahren und eine Vorrichtung zum Erzeugen einer Mehrzahl von abgeglichenen Befehlen aus einer Befehlsfolge zu schaffen.
Diese Aufgabe wird mit einem Verfahren und einer Vorrichtung zum Erzeugen einer Mehrzahl von abgeglichenen Befehlen aus einer Befehlsfolge, die durch eine Speichereinheit zur Ausführung in einem Pipeline-Mikroprozessor zur Verfügung gestellt wird, gelöst. Der Mikroprozessor umfasst einen oder mehrere Vorabruf-Puffer, wobei die Vorabruf-Puffer vorabgerufene Befehle und zusätzliche Informationen über die Gültigkeit und die Größe des Vorabruf-Puffers speichern. Das Verfahren und die Vorrichtung benutzen die Vorabruf-Puffer zum Puffern eines Teils einer Befehlsfolge eines Programms. Die ausgerichtete Befehlsfolge wird entweder aus den Vorabruf-Puffern oder direkt aus dem Speicher abgerufenen Befehlen oder aus einer Kombination von vorabgerufenen Befehlen und tatsächlich abgerufenen Befehlen zusammengesetzt.
Bei einem Verfahren zum Erzeugen einer Mehrzahl von ausgerichteten Befehlen aus einer durch eine Speichereinheit zur Verfügung gestellten Befehlsfolge zur Ausführung in einem Pipeline-Mikroprozessor gemäß der Erfindung umfasst der Mikroprozessor einen Vorabruf-Puffer, wobei der Vorabruf-Puffer vorabgerufene Befehle und zusätzliche Informationen über die Menge von gültigen Daten in dem Vorabruf-Puffer speichert. Das Verfahren umfasst folgende Schritte:
  • - in dem Fall, in dem der Vorabruf-Puffer ungültige Daten enthält:
    • 1. a) Anfordern einer Befehlsfolge und Speichern der Befehlsfolge in dem Vorabruf-Puffer;
    • 2. b) Setzen der Daten für Gültigkeit in dem Vorabruf-Puffer;
    • 3. c) Herausgeben einer angeforderten Anzahl von Befehlen aus der angeforderten Befehlsfolge;
    • 4. d) In Abhängigkeit davon, wieviele Befehle herausgegeben wurden, Reduzieren der Größen-Daten in dem Vorabruf-Puffer;
    • 5. e) Ungültigmachen der Gültigkeitsdaten, nachdem alle Befehle aus dem Vorabruf-Puffer herausgegeben worden sind;
    • 6. in dem Fall, in dem der Vorabruf-Puffer gültige Daten enthält:
    • 7. f) Herausgeben einer angeforderten Anzahl von Befehlen aus dem Vorabruf-Puffer;
    • 8. g) In Abhängigkeit davon, wieviele Befehle herausgegeben wurden, Reduzieren der Größen-Daten in dem Vorabruf-Puffer;
    • 9. h) Ungültigmachen der Gültigkeitsdaten, nachdem alle Befehle aus dem Vorabruf-Puffer herausgegeben worden sind.
Ein zweites erfindungsgemäßes Verfahren zum Erzeugen einer Mehrzahl von ausgerichteten Befehlen aus einer durch eine Speichereinheit zur Verfügung gestellten Befehlsfolge zur Ausführung in einem Pipeline-Mikroprozessor umfasst einen ersten und einen zweiten Vorabruf-Puffer, wobei die Vorabruf-Puffer vorabgerufene Befehle und zusätzliche Informationen über die Menge von gültigen Daten der Vorabruf-Puffer speichern. Das Verfahren umfasst folgende Schritte:
  • - in dem Fall, in dem beide Vorabruf-Puffer ungültige Daten umfassen:
    • 1. a) Anfordern einer Befehlsfolge und Speichern der Befehlsfolge in dem ersten Vorabruf-Puffer;
    • 2. b) Setzen der Daten für Gültigkeit in dem ersten Vorabruf- Puffer;
    • 3. c) Herausgeben einer angeforderten Anzahl von Befehlen aus der angeforderten Befehlsfolge;
    • 4. d) In Abhängigkeit davon, wieviele Befehle herausgegeben wurden, Reduzieren der Größen-Daten in dem ersten Vorabruf- Puffer;
    • 5. e) Ungültigmachen der Gültigkeitsdaten, nachdem alle Befehle aus dem ersten Vorabruf-Puffer herausgegeben worden sind;
    • 6. in dem Fall, in dem einer oder beide Vorabruf-Puffer gültige Daten enthalten:
    • 7. f) Herausgeben einer angeforderten Anzahl von Befehlen aus einem Vorabruf-Puffer;
    • 8. g) In Abhängigkeit davon, wie viele Befehle herausgegeben wurden, Reduzieren der Größen-Daten in dem einen Vorabruf- Puffer;
    • 9. h) Ungültigmachen der Gültigkeitsdaten, nachdem alle Befehle aus dem einen Vorabruf-Puffer herausgegeben worden sind.
Eine erfindungsgemäße Vorrichtung zum Erzeugen einer Mehrzahl von ausgerichteten Befehlen aus einer durch eine Speichereinheit zur Verfügung gestellten Befehlsfolge zur Ausführung in einem Pipeline-Mikroprozessor umfasst:
  • - einen ersten, mit der Speichereinheit verbundenen Vorabruf-Puffer, wobei der erste Vorabruf-Puffer vorabgerufene Befehle und zusätzliche Informationen über die Gültigkeit und Größe des ersten Vorabruf-Puffers speichert;
  • - eine erste Mehrzahl von Multiplexern mit Eingängen, die mit dem ersten Vorabruf-Puffer und der Speichereinheit zur Auswahl einer bestimmten Anzahl von Befehlen verbunden sind, sowie mit Ausgängen,
  • - eine zweite Mehrzahl von Multiplexern mit Eingängen, die mit den Ausgängen der ersten Multiplexer zum Ausrichten der gewählten Befehle verbunden sind.
Diese Vorrichtung kann in einfacher Weise so erweitert werden, dass sie einen zweiten oder mehr Vorabruf-Puffer umfasst, um einen Teil der Befehlsfolge eines Programms zwischenzuspeichern. Die Länge der vorabgerufenen Befehlsfolge ist von der Größe der Vorabruf-Puffer abhängig.
Die Vorabruf-Puffer umfassen vorzugsweise ein Datenfeld zum Speichern von zusätzlichen Steuerdaten wie zum Beispiel der Gültigkeit, der Größe von nicht-herausgegebenen Befehlen der gespeicherten Befehlsfolge und des Alters, das anzeigt, welcher Vorabruf-Puffer ältere Daten enthält.
Eine Ausrichteinheit kann in einfacher Weise entweder durch Multiplexer, Verschieber oder Ringverschieber gebildet werden. Da bei den bevorzugten Ausführungsformen nur eine Verschiebung nach rechts auftritt, können anstelle eines Verschiebers Multiplexer verwendet werden. Natürlich kann der Verschieber in beiden Richtungen, das heißt in Form einer Verschiebung nach links und rechts, zum Beispiel in Abhängigkeit von dem Alter der Daten arbeiten.
Kurze Beschreibung der Zeichnungen
Fig. 1 zeigt ein Blockschaltbild einer ersten Ausführungsform der Erfindung.
Fig. 2 zeigt die Struktur eines Vorabruf-Puffers gemäß der Erfindung.
Fig. 3 zeigt ein erstes Beispiel für die Verteilung von Befehlen.
Fig. 4 zeigt ein zweites Beispiel für die Verteilung von Befehlen.
Fig. 5 zeigt ein drittes Beispiel für die Verteilung von Befehlen.
Fig. 6 zeigt in Form einer Tabelle, wie die Multiplexer gemäß Fig. 1 geschaltet werden.
Fig. 7 zeigt eine zweite Ausführungsform der Erfindung.
Beschreibung der Ausführungsformen der Erfindung
Gemäß Fig. 1 speichert eine Speichereinheit 1 ein Programm, das mit einer Mehrzahl von sequentiell gespeicherten Befehlen auszuführen ist. Die Speichereinheit 1 hat einen Ausgang, der aus 64 Bit Leitungen besteht. Der Speicher ist in Form von Zeilen und Spalten organisiert, wobei die Größe (Länge) einer Zeile die maximale Größe von Daten definiert, auf die parallel zugegriffen werden kann. Bei dieser Ausführungsform beträgt die Zeilengröße 256 Bit und die Ausgangsgröße des Speichersystems 64 Bit, wodurch die Wahrscheinlichkeit einer Grenzüberschreitung reduziert wird. Immer dann, wenn eine Anforderung zur Bereitstellung weiterer Befehle zu der Speichereinheit 1 übertragen wird, stellt diese eine ausgerichtete Befehlsfolge, die aus 8 Byte oder 64 Bit besteht, zur Verfügung. In Abhängigkeit von der Busbreite der Speichereinheit kann eine Anordnung mit mehr oder weniger Bit implementiert werden. Die Zugriffszeit wird im allgemeinen durch die Geschwindigkeit des Speichers, durch die Tatsache, ob gespeicherte Befehle auszurichten sind sowie durch jede Grenzüberschreitung bestimmt und kann so kurz wie ein Zyklus sein. Somit wird bei dieser Ausführungsform jede Anforderung für weitere Befehle immer zur Erzeugung einer 64 Bit Befehlsfolge führen, die im Falle einer linearen Programmsequenz ausgerichtet oder im Falle von Sprüngen zu einer Adresse, die sich von einem Vielfachen von 64 unterscheidet, nichtausgerichtet sein kann. Wenn eine Grenzüberschreitung auftritt, wird eine zusätzliche Verzögerung eingebaut, bis alle angeforderten Befehle durch das Speichersystem abgerufen worden sind. Neben der Zugriffsgeschwindigkeit des Speichers kann somit eine notwendige Ausrichtung oder eine Anforderung im Falle einer Grenzüberschreitung zusätzliche Zeit in Anspruch nehmen und den Abruf von Befehlen verlangsamen.
Mit der Erfindung wird eine besondere Vorabruf-Puffer- Anordnung geschaffen. Eine Vorabruf-Puffer-Steuereinheit 3 führt der Speichereinheit 1 entsprechende Startbefehl- Adressen zu. Ein erster Vorabruf-Puffer 4 ist vorgesehen, der durch die Vorabruf-Puffer-Steuereinheit 3 gesteuert wird. Weiterhin ist ein zweiter Vorabruf-Puffer 5 vorgesehen, der ebenfalls durch die Vorabruf-Puffer- Steuereinheit 3 gesteuert wird. Beide Vorabruf-Puffer 4 und 5 weisen einen ersten Abschnitt 4a, 5a zum Speichern von 64 Bit einer Befehlsfolge und einen zweiten Abschnitt 4b, 5b für Steuerinformationen auf. Der erste Abschnitt 4a, 5a ist mit dem Ausgang 2 der Speichereinheit 1 verbunden. Der zweite Abschnitt 4b, 5b ist entsprechend mit der Vorabruf- Puffer-Steuereinheit 3 verbunden. Außerdem sind vier Multiplexer 6, 7, 8 und 9 mit drei 16 Bit Eingängen und einem 16 Bit Ausgang vorgesehen. Der Ausgang 2 der Speichereinheit 1 wird in vier 16 Bit Unterbusse aufgeteilt. Jeder 16 Bit Unterbus ist mit einem ersten Eingang der Multiplexer 6, 7, 8 beziehungsweise 9 verbunden. In ähnlicher Weise sind die Inhalte des Vorabruf-Puffers 4 und des Vorabruf-Puffers 5 in vier 16 Bit Abschnitte aufgeteilt. Jeder 16 Bit Abschnitt des Vorabruf-Puffers 4 ist mit den zweiten Eingängen der Multiplexer 6, 7, 8 beziehungsweise 9 verbunden. Jeder 16 Bit Abschnitt des Vorabruf-Puffers 5 ist in ähnlicher Weise mit den dritten Eingängen jedes Multiplexers 6, 7, 8 beziehungsweise 9 verbunden. Ferner ist ein zweiter Satz von vier Multiplexern 10, 11, 12 und 13 mit drei 16 Bit Eingängen und einem 16 Bit Ausgang vorgesehen. Der erste Eingang jedes Multiplexers 10, 11, 12 und 13 ist mit dem Ausgang des Multiplexers 6 verbunden. Der zweite Eingang jedes Multiplexers 10, 11, 12 und 13 ist mit dem Ausgang des Multiplexers 7 verbunden. In gleicher Weise sind die dritten und vierten Eingänge der Multiplexer 10, 11, 12 und 13 mit den Ausgängen der Multiplexer 8 beziehungsweise 9 verbunden. An den Ausgängen der Multiplexer 10, 11, 12 und 13 liegt die ausgerichtete Befehlsfolge an, die den entsprechenden Decodier-Einheiten der Pipeline-Struktur zugeführt wird. Zur Steuerung der Multiplexer 6, 7, 8, 9, 10, 11, 12 und 13 ist eine Multiplexer-Steuereinheit 14 vorgesehen. Die Multiplexer-Steuereinheit 14 ist weiterhin mit Steuerbits des zweiten Abschnittes 4b, 5b der Vorabruf- Puffer 4 und 5 verbunden.
Fig. 2 zeigt, wie jeder Vorabruf-Puffer 4, 5 strukturiert ist. Der erste Abschnitt der Vorabruf-Puffer 4, 5 besteht aus 64 Bit von Befehlsdaten, die in vier Gruppen nämlich Bits 0 bis 15, Bits 16 bis 31, Bits 32 bis 47 und Bits 48 bis 63 unterteilt sind. Der zweite Abschnitt 4b, 5b der Vorabruf-Puffer 4, 5 stellt ein Gültigkeits-Bit dar, das die Gültigkeit eines Dateneintrags in den ersten Abschnitt 4a, 5a anzeigt. Ein zweites Bit, das sogenannte Alters-Bit zeigt an, welcher Vorabruf-Puffer 4 oder 5 ältere Daten enthält. Außerdem sind zwei weitere Bits vorgesehen, um anzuzeigen, wieviele 16 Bit Worte von gespeicherten Befehlen in dem ersten Abschnitt 4a, 5a zuvor herausgegeben worden sind.
Die Funktion der in Fig. 1 gezeigten Ausführungsform soll nun im Detail anhand der Fig. 3, 4 und 5 beschrieben werden. Es sei angenommen, dass ein Mikroprozessor mit der in Fig. 1 gezeigten Anordnung entweder einen 16 Bit Befehl oder zwei 16 Bit Befehle oder einen 16 Bit Befehl und einen 32 Bit Befehl oder zwei 32 Bit Befehle erzeugen kann. Demgemäß können in Abhängigkeit davon, wie viele Byte einer Befehlsfolge erzeugt worden sind, die folgenden Fälle auftreten. Zu Beginn der Ausführung eines Programms enthalten beide Vorabruf-Puffer gemäß Fig. 3 ungültige Daten, was durch eine 0 an der Gültigkeits-Bit-Stelle jedes Vorabruf-Puffers 4, 5 angezeigt wird. Folglich wird eine Anforderung zum Erzeugen von 64 Bit Befehlen zu der Speichereinheit 1 übermittelt. Die Speichereinheit 1 erzeugt die erste Befehlsfolge an ihrem Ausgang 2. Die Vorabruf- Puffer-Steuereinheit 3 steuert den Vorabruf-Puffer 4, um die erzeugte Befehlsfolge in dem ersten Abschnitt 4a des Vorabruf-Puffers 4 zu speichern. Die Multiplexer 6, 7, 8 und 9 sind alle zu dem Eingang 1 geschaltet, um die durch die Speichereinheit 1 erzeugte Befehlsfolge an ihre entsprechenden Ausgänge zu führen. Der Multiplexer 10 ist zu dem Eingang 1, der Multiplexer 11 ist zu dem Eingang 2, der Multiplexer 12 ist zu dem Eingang 3 und der Multiplexer 13 ist zu dem Eingang 4 geschaltet. Somit liegen an den Ausgängen 10a, 11a, 12a und 13a der Multiplexer 10, 11, 12 und 13 die gleichen Ausgangssignale wie am Ausgang 2 der Speichereinheit 1 an.
Es soll nun angenommen werden, dass nur ein 16 Bit Befehl der erzeugten Befehlsfolge ausgeführt werden kann. Die Vorabruf-Puffer-Steuereinheit 3 schreibt somit eine "1" in das Gültigkeits-Bit des Vorabruf-Puffers 4, eine "0" in das Alters-Bit des zweiten Abschnitts 4b des Vorabruf-Puffers 4 und eine "01" in das Größenfeld des zweiten Abschnitts 4b des Vorabruf-Puffers 4. Der zweite Abschnitt 4b des Vorabruf-Puffers 4 zeigt nun an, dass gültige Daten in dem ersten Abschnitt 4a des Vorabruf-Puffers gespeichert sind und dass das erste 16 Bit Wort der gespeicherten Befehlsfolge herausgegeben worden ist.
Ferner sei angenommen, dass in dem folgenden Zyklus nur ein weiterer 16 Bit Befehl herausgegeben werden kann. Die folgenden, in Fig. 4 gezeigten Zustände würden sich ergeben. Da der Vorabruf-Puffer 5 leer ist, wird wieder eine Anforderung zur Erzeugung einer weiteren 64 Bit Befehlsfolge zu der Speichereinheit 1 übertragen. Die Speichereinheit 1 erzeugt am Ausgang 2 eine neue Befehlsfolge, die sequentiell zu der ersten Befehlsfolge ist und in dem zweiten Vorabruf- Puffer 5 gespeichert wird. Das Gültigkeitsbit des zweiten Abschnitts 5b des Vorabruf-Puffers 5 wird auf "1" gesetzt, das Altersbit erhält den Wert "1", der jüngere Daten als in dem Vorabruf-Puffer 4 anzeigt, und das Größenbit wird auf den Wert "0" gesetzt, der anzeigt, dass keine Befehle durch den zweiten Vorabruf-Puffer 5 herausgegeben worden sind. Da der Vorabruf-Puffer 4 anzeigt, dass nur ein 16 Bit Wort der gespeicherten Befehlsfolge herausgegeben worden ist, wird der Multiplexer 8 zu dem Eingang 2 geschaltet, um an seinem Ausgang die Bits 16 bis 31 des Vorabruf-Puffers 4 zur Verfügung zu stellen. In gleicher Weise werden die Multiplexer 7 und 6 zu dem Eingang 2 geschaltet, um die Bits 32 bis 47 und 48 bis 63 an ihre entsprechenden Ausgänge zu führen. Der Multiplexer 9 wird zu dem Eingang 1 geschaltet, um die ersten 16 Bit der durch die Speichereinheit 1 erzeugten Befehlsfolge zur Verfügung zu stellen. Um diese Befehlsfolge auszurichten, wird der Multiplexer 13 zu dem Eingang 3, der Multiplexer 12 zu dem Eingang 2, der Multiplexer 11 zu dem Eingang 1 und der Multiplexers 10 zu dem Eingang 4 geschaltet. Somit steht an den Ausgängen 10a, 11a, 12a und 13a eine ausgerichtete Befehlsfolge zur Verfügung, die mit dem Bit 16 des Vorabruf-Puffers 4 beginnt.
Wie bereits erwähnt wurde, wird in dem Fall, in dem in diesem Zyklus nur ein 16 Bit Befehl herausgegeben wird, das Größenbit des zweiten Abschnitts 4b des Vorabruf-Puffers 4 auf den Wert "10" gesetzt, der anzeigt, dass insgesamt zwei 16 Bit Worte der gespeicherten Befehlsfolge herausgegeben worden sind. In dem Abschnitt 5b des Vorabruf-Puffers 5 bleibt das Gültigkeitsbit auf dem Wert "1", das Altersbit auf dem Wert "1", der jüngere Daten als in dem Vorabruf- Puffer 4 anzeigt, und das Größenfeld behält den Wert "0", der anzeigt, dass bis jetzt kein Befehl aus der in dem ersten Abschnitt 5a des Vorabruf-Puffers 5 gespeicherten Befehlsfolge herausgegeben worden ist.
In dem folgenden Zyklus wird keine Anforderung an die Speichereinheit 1 gerichtet, da beide Vorabruf-Puffer gültige Daten enthalten und somit mehr als 64 Bits der Befehle verfügbar sind. Fig. 5 zeigt, wie die Multiplexer in dem folgenden Zyklus geschaltet werden. Die Multiplexer 6 und 7 werden auf den Eingang 2 geschaltet, während die Multiplexer 8 und 9 auf den Eingang 3 geschaltet werden. Der Multiplexer 10 wird auf den Eingang 3, der Multiplexer 11 auf den Eingang 4, der Multiplexer 12 auf den Eingang 1 und der Multiplexer 13 auf den Eingang 2 geschaltet. An den Ausgängen 10a, 11a, 12a und 13a steht wiederum ein Maximum von 64 Bits einer ausgerichteten Befehlsfolge zur Verfügung. In Abhängigkeit davon, wieviele 16 Bit Worte herausgegeben werden, werden die entsprechenden Steuerbits in dem zweiten Abschnitt der Vorabruf-Puffer 4 und 5 gesetzt. Wenn zum Beispiel, wie es in Fig. 5 gezeigt ist, in dem folgenden Zyklus ein 16 Bit Befehl und ein 32 Bit Befehl herausgegeben wird, wird das Gültigkeitsbit des Vorabruf-Puffers 4 auf den Wert "0" gesetzt, da alle in dem ersten Abschnitt 4a des Vorabruf-Puffers 4 gespeicherten Befehle herausgegeben worden sind. Weiterhin wird das Feld des Größenbits des zweiten Abschnitts 5b des Vorabruf-Puffers 5 auf den Wert "01" gesetzt, der anzeigt, dass ein 16 Bit Wort der in dem ersten Abschnitt 5a des Vorabruf-Puffers 5 gespeicherten Befehlsfolge herausgegeben worden ist. Schließlich wird das Altersbit auf den Wert "0" gesetzt, da der Vorabruf-Puffer 5 nun die ältesten Daten speichert.
Solange ein Sprungbefehl nicht eine nichtsequentielle Befehlsadresse anfordert, wird eine 64 Bit Befehlsfolge immer entweder direkt aus der Speichereinheit 1 oder von einem oder beiden Vorabruf-Puffern 4, 5 vorhanden sein. Wenn ein Minimum von einem Befehl herausgegeben wird, werden mindestens 16 Bit der gespeicherten Befehlsfolge von einem Vorabruf-Puffer herausgegeben. Somit kann der Fall, in dem beide Vorabruf-Puffer voll besetzt sind, nur auftreten, wenn die Pipelines blockiert sind und keine neuen Befehle aufnehmen können. Wenn ein Minimum von einem herausgegebenen Befehl garantiert wird, ist das Altersbit im allgemeinen redundant und kann aus den zwei Größenbit-Feldern extrahiert werden. Derjenige Vorabruf-Puffer, dessen Größenbit sich von dem Wert "00" unterscheidet, ist der Vorabruf-Puffer mit der älteren Befehlsfolge.
Fig. 6 zeigt eine Tabelle mit allen möglichen Fällen, in denen die Multiplexer zu schalten sind. Fig. 6 zeigt auch die Fälle, in denen beide Vorabruf-Puffer 4 und 5 gültige Daten enthalten und beide Größenfelder auf den Wert "0" gesetzt sind, der anzeigt, dass kein Befehl aus einem der Vorabruf-Puffer herausgegeben worden ist. Ein solcher Fall ist nur möglich, wenn unmittelbar nachdem Befehle herausgegeben wurden, eine weitere Anforderung zur Erzeugung einer neuen Befehlsfolge an die Speichereinheit 1 gerichtet wird, oder wenn aufgrund blockierter Pipelines kein Befehl herausgegeben werden kann. Eine zusätzliche Anforderung kann insbesondere dann ausgeführt werden, wenn zusätzliche Zeit zwischen dem Herausgeben von Befehlen und dem nächsten Abruf von Befehlen irgendwann nach dem Herausgegeben übrig ist. Dies wird vorzugsweise nach dem Setzen der zusätzlichen Informationen in einem oder beiden Vorabruf-Puffern 4, 5 durchgeführt. Zu dieser Zeit ist genau bekannt, ob einer oder beide Vorabruf-Puffer 4, 5 leer sind. Somit würde jedesmal dann, wenn Befehle herausgegeben werden und einer oder beide Vorabruf-Puffer leer sind, was durch das Gültigkeitsbit angezeigt wird, durch eine Anforderung an die Speichereinheit 1 eine weitere 64 Bit Befehlsfolge erzeugt werden, die in einem oder beiden Vorabruf-Puffern 4 oder 5 gespeichert werden würde. Mit dieser Ausführungsform wird sichergestellt, dass zu dem Zeitpunkt der nächsten Anforderung in den meisten Fällen abgesehen von Sprungbefehlen beide Vorabruf-Puffer 4 und 5 gültige Daten enthalten.
Wie bereits erwähnt wurde, kann die in Fig. 1 gezeigte Anordnung Befehle nur während der sequentiellen Ausführung einer Befehlsfolge erzeugen. Im Falle eines Sprungbefehls muss das Gültigkeitsbit von beiden Vorabruf-Puffern 4 und 5 auf den Wert "0" gesetzt werden, der ungültige Daten anzeigt. Eine Sprung-Vorhersageeinheit kann die entsprechende Adresse der Vorabruf-Puffer-Steuereinheit 3 zuführen, um eine neue Befehlsfolge zu erzeugen. Im Falle einer sequentiellen Befehlsausführung wird mit der an Hand von Fig. 1 beschriebenen Ausführungsform ein wirksames Mittel zum Zuführen einer ausgerichteten Befehlsfolge zu Decodereinheiten von entsprechenden Pipelines in einem Multi-Pipeline-System geschaffen, mit dem Geschwindigkeitsverluste auf Grund von Grenzüberschreitungen oder langsamen Speichersystemen kompensiert werden können.
Fig. 7 zeigt eine zweite Ausführungsform der Erfindung. Diese Ausführungsform stellt eine vereinfachte Version der in Fig. 1 gezeigten Anordnung dar. Bei dieser Ausführungsform ist nur ein Vorabruf-Puffer 20 vorgesehen. Der zweite Abschnitt des Vorabruf-Puffers 20 enthält nur ein Gültigkeitsbit und ein Größenbit-Feld. Der Speicher 1 weist einen Ausgang 2 mit 64 Bit Leitungen auf, die in vier 16 Bit Unter-Busse aufgeteilt sind. Weiterhin sind vier Multiplexer mit zwei 16 Bit Eingängen und einem 16 Bit Ausgang vorgesehen. Die ersten Eingänge der Multiplexer 21, 22, 23 und 24 sind mit einer der 16 Bit Leitungen des Speicher- Ausgangs 2 verbunden. Die zweiten Eingänge der Multiplexer 21, 22, 23 und 24 sind mit einem entsprechenden 16 Bit Feld des Vorabruf-Puffers 20 verbunden. Die Ausgänge der Multiplexer 21, 22, 23 und 24 sind mit dem Eingang eines 64 Bit Ring-Verschiebers 25 verbunden. Anstelle des Ring- Verschiebers 25 kann auch eine Anordnung mit Multiplexern 10, 11, 12 und 13 gemäß Fig. 1 verwendet werden.
Wenn der Speicher 1 schnell genug ist und die Grenzüberschreitung nur einen geringen Einfluss hat, ist nur ein Vorabruf-Puffer 20 erforderlich, um die Befehlsfolge auszurichten. Wenn der Vorabruf-Puffer 20 leer ist, wird durch eine Anforderung an den Speicher 1 für eine folgende 64 Bit Befehlsfolge eine Befehlsfolge am Ausgang 2 erzeugt, die ausgerichtet ist und über die Multiplexer 21, 22, 23, 24 und den Ring-Verschieber 25 zu den Ausgängen 25a, 25b, 25c und 25d übertragen werden kann. Die Befehlsfolge wird parallel in dem Vorabruf-Puffer 20 gespeichert. In Abhängigkeit davon, wieviele 16 Bit Worte der Befehlsfolge herausgegeben werden, muss die Befehlsfolge in einem folgenden Zyklus ausgerichtet werden. In dem folgenden Zyklus erzeugt die Speichereinheit 1 eine weitere 64 Bit Befehlsfolge, die mit dem in dem Vorabruf-Puffer 20 gespeicherten nicht-herausgegebenen Abschnitt der Befehlsfolge kombiniert wird. Solange der Vorabruf-Puffer 20 gültige Daten enthält, was durch das Gültigkeitsbit angezeigt wird, bleibt die Adresse der aus der Speichereinheit 1 angeforderten Befehlsfolge unverändert. Wenn das Gültigkeitsbit des Vorabruf-Puffers 20 auf den Wert "0" gesetzt wird, der anzeigt, dass alle gespeicherten Befehle ausgegeben worden sind, wird eine durch die Speichereinheit 1 zugeführte sequentielle Befehlsfolge in dem Vorabruf-Puffer 20 gespeichert. Das Größenbit-Feld in dem Vorabruf-Puffer 20 wird entsprechend der Anzahl von 16 Bit Worten der durch den Speicher 1 zugeführten Befehlsfolge gesetzt, die ausgegeben worden sind.

Claims (13)

1. Verfahren zum Erzeugen einer Mehrzahl von ausgerichteten Befehlen aus einer durch eine Speichereinheit zur Verfügung gestellten Befehlsfolge zur Ausführung in einem Pipeline- Mikroprozessor mit einem Vorabruf-Puffer, wobei der Vorabruf-Puffer vorabgerufene Befehle und zusätzliche Informationen über die Gültigkeit und Größe des Vorabruf- Puffers speichert, mit folgenden Schritten:
  • - in dem Fall, in dem der Vorabruf-Puffer ungültige Daten enthält:
    • 1. a) Anfordern einer Befehlsfolge und Speichern der Befehlsfolge in dem Vorabruf-Puffer;
    • 2. b) Setzen der Daten für Gültigkeit in dem Vorabruf-Puffer;
    • 3. c) Herausgeben einer angeforderten Anzahl von Befehlen aus der angeforderten Befehlsfolge;
    • 4. d) In Abhängigkeit davon, wieviele Befehle herausgegeben wurden, Reduzieren der Größen-Daten in dem Vorabruf-Puffer;
    • 5. e) Ungültigmachen der Gültigkeitsdaten, nachdem alle Befehle aus dem Vorabruf-Puffer herausgegeben worden sind;
  • - in dem Fall, in dem der Vorabruf-Puffer gültige Daten enthält:
    • 1. f) Herausgeben einer angeforderten Anzahl von Befehlen aus dem Vorabruf-Puffer;
    • 2. g) In Abhängigkeit davon, wieviele Befehle herausgegeben wurden, Reduzieren der Daten für die Anzahl von in dem Vorabruf-Puffer gespeicherten Befehlen;
    • 3. h) Ungültigmachen der Gültigkeitsdaten, nachdem alle Befehle aus dem Vorabruf-Puffer herausgegeben worden sind.
2. Verfahren nach Anspruch 1, bei dem in dem Fall, in dem in Schritt f.) die Anzahl von gespeicherten Befehlen geringer ist, als die Anzahl von angeforderten Befehlen, eine weitere Befehlsfolge aus der Speichereinheit angefordert wird und die notwendigen Befehle aus der weiteren Befehlsfolge mit den vorabgerufenen Befehlen kombiniert werden.
3. Verfahren zum Erzeugen einer Mehrzahl von ausgerichteten Befehlen aus einer durch eine Speichereinheit zur Verfügung gestellten Befehlsfolge zur Ausführung in einem Pipeline- Mikroprozessor mit einem ersten und einem zweiten Vorabruf- Puffer, wobei die Vorabruf-Puffer vorabgerufene Befehle und zusätzliche Informationen über die Gültigkeit und Größe der Vorabruf-Puffer speichern, mit folgenden Schritten:
  • - in dem Fall, in dem beide Vorabruf-Puffer ungültige Daten umfassen:
    • 1. a) Anfordern einer Befehlsfolge und Speichern der Befehlsfolge in dem ersten Vorabruf-Puffer;
    • 2. b) Setzen der Daten für Gültigkeit in dem ersten Vorabruf- Puffer;
    • 3. c) Herausgeben einer angeforderten Anzahl von Befehlen aus der angeforderten Befehlsfolge;
    • 4. d) In Abhängigkeit davon, wieviele Befehle herausgegeben wurden, Reduzieren der Größen-Daten in dem ersten Vorabruf- Puffer;
    • 5. e) Ungültigmachen der Gültigkeitsdaten, nachdem alle Befehle aus dem ersten Vorabruf-Puffer herausgegeben worden sind;
  • - in dem Fall, in dem einer oder beide Vorabruf-Puffer gültige Daten enthalten:
    • 1. f) Herausgeben einer angeforderten Anzahl von Befehlen aus dem einen Vorabruf-Puffer;
    • 2. g) In Abhängigkeit davon, wie viele Befehle herausgegeben wurden, Reduzieren der Größen-Daten in dem einen Vorabruf- Puffer;
    • 3. h) Ungültigmachen der Gültigkeitsdaten, nachdem alle Befehle aus dem einen Vorabruf-Puffer herausgegeben worden sind.
4. Verfahren nach Anspruch 3, bei dem in dem Fall, in dem in Schritt f.) die Anzahl von gespeicherten Befehlen geringer ist, als die Anzahl von angeforderten Befehlen, die notwendigen Befehle aus dem anderen Vorabruf-Puffer mit den vorabgerufenen Befehlen aus dem anderen Vorabruf-Puffer kombiniert werden.
5. Verfahren nach Anspruch 3, bei dem vor dem Schritt f.) folgende Schritte eingefügt werden:
  • 1. e1) Anfordern einer Befehlsfolge und Speichern der Befehlsfolge in dem entsprechend anderen Vorabruf-Puffer;
  • 2. e2) Setzen der Daten für Gültigkeit in dem anderen Vorabruf-Puffer.
6. Verfahren nach Anspruch 3, bei dem in Schritt g.) zusätzliche Informationen in beiden Vorabruf-Puffern gesetzt werden, die anzeigen, welcher Vorabruf-Puffer in Bezug auf eine Befehlssequenz ältere Befehle enthält.
7. Verfahren nach Anspruch 3, bei dem nach dem Schritt f.) in dem Fall, in dem ein Vorabruf-Puffer ungültige Daten enthält, ein Schritt des Anforderns einer Befehlsfolge und des Speicherns der Befehlsfolge in dem entsprechend anderen Vorabruf-Puffer eingefügt wird.
8. Verfahren nach Anspruch 3, bei dem nach dem Schritt c.) ein Schritt des Anforderns einer Befehlsfolge und des Speicherns der Befehlsfolge in dem entsprechend anderen Vorabruf-Puffer eingefügt wird.
9. Vorrichtung zum Erzeugen einer Mehrzahl von ausgerichteten Befehlen aus einer durch eine Speichereinheit zur Verfügung gestellten Befehlsfolge zur Ausführung in einem Pipeline-Mikroprozessor mit:
  • - einem ersten, mit der Speichereinheit verbundenen Vorabruf-Puffer, wobei der erste Vorabruf-Puffer vorabgerufene Befehle und zusätzliche Informationen über die Gültigkeit und Größe des ersten Vorabruf-Puffers speichert;
  • - einer ersten Mehrzahl von Multiplexern mit Eingängen, die mit dem ersten Vorabruf-Puffer und der Speichereinheit zur Auswahl einer bestimmten Anzahl von Befehlen verbunden sind, sowie mit Ausgängen,
  • - einer zweiten Mehrzahl von Multiplexern mit Eingängen, die mit den Ausgängen der ersten Multiplexer zum Ausrichten der gewählten Befehle verbunden sind.
10. Vorrichtung nach Anspruch 9, bei der mindestens ein zweiter Vorabruf-Puffer vorgesehen ist, der mit der Speichereinheit und mit Eingängen der ersten Multiplexer verbunden ist.
11. Vorrichtung nach Anspruch 10, bei der der erste und zweite Vorabruf-Puffer Informationen darüber enthält, welcher der Vorabruf-Puffer ältere Befehle enthält.
12. Vorrichtung nach Anspruch 10, mit einer Vorabruf-Puffer-Steuereinheit zur Auswahl und zur Lese-/Schreib-Steuerung der ersten und zweiten Vorabruf- Puffer und zum Aktualisieren der zusätzlichen Informationen in den ersten und zweiten Vorabruf-Puffern.
13. Vorrichtung nach Anspruch 10, bei der jede durch die Speichereinheit zur Verfügung gestellte Befehlsfolge mindestens vier Worte umfasst, die eine Mehrzahl von Befehlen beinhalten und jeder Vorabruf- Puffer mindestens vier Worte speichert, die eine Mehrzahl von Befehlen beinhalten, und wobei die ersten Multiplexer aus mindestens vier Multiplexern mit drei Eingängen bzw. einem Ausgang bestehen, zur Auswahl von einem der Worte aus einer der Befehlsfolgen oder Vorabruf-Puffer, und wobei die zweiten Multiplexer aus mindestens vier Multiplexern bestehen, die vier Eingänge bzw. einen Ausgang aufweisen, zum Ausrichten der gewählten Worte aus den ersten Multiplexern.
DE10026017A 1999-05-26 2000-05-25 Vorabruf-Puffer mit Gültigkeitswerten zur Bereitstellung von abgeglichenen Befehlen Expired - Fee Related DE10026017B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/320,833 1999-05-26
US09/320,833 US6981127B1 (en) 1999-05-26 1999-05-26 Apparatus and method for aligning variable-width instructions with a prefetch buffer

Publications (2)

Publication Number Publication Date
DE10026017A1 true DE10026017A1 (de) 2000-12-28
DE10026017B4 DE10026017B4 (de) 2007-02-08

Family

ID=23248048

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10026017A Expired - Fee Related DE10026017B4 (de) 1999-05-26 2000-05-25 Vorabruf-Puffer mit Gültigkeitswerten zur Bereitstellung von abgeglichenen Befehlen

Country Status (2)

Country Link
US (1) US6981127B1 (de)
DE (1) DE10026017B4 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7584234B2 (en) * 2002-05-23 2009-09-01 Qsigma, Inc. Method and apparatus for narrow to very wide instruction generation for arithmetic circuitry
US7082516B1 (en) * 2000-09-28 2006-07-25 Intel Corporation Aligning instructions using a variable width alignment engine having an intelligent buffer refill mechanism
US20080162879A1 (en) * 2006-12-29 2008-07-03 Hong Jiang Methods and apparatuses for aligning and/or executing instructions
US20080162522A1 (en) * 2006-12-29 2008-07-03 Guei-Yuan Lueh Methods and apparatuses for compaction and/or decompaction
CN111258654B (zh) * 2019-12-20 2022-04-29 宁波轸谷科技有限公司 指令分支预测方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4811284A (en) * 1984-03-08 1989-03-07 International Business Machines Corporation Computer terminal system with memory shared between remote devices
GB2263985B (en) * 1992-02-06 1995-06-14 Intel Corp Two stage window multiplexors for deriving variable length instructions from a stream of instructions
US5835967A (en) * 1993-10-18 1998-11-10 Cyrix Corporation Adjusting prefetch size based on source of prefetch address
US5640526A (en) 1994-12-21 1997-06-17 International Business Machines Corporation Superscaler instruction pipeline having boundary indentification logic for variable length instructions
US5680564A (en) * 1995-05-26 1997-10-21 National Semiconductor Corporation Pipelined processor with two tier prefetch buffer structure and method with bypass
US5822559A (en) 1996-01-02 1998-10-13 Advanced Micro Devices, Inc. Apparatus and method for aligning variable byte-length instructions to a plurality of issue positions
US5854911A (en) * 1996-07-01 1998-12-29 Sun Microsystems, Inc. Data buffer prefetch apparatus and method
US5909566A (en) * 1996-12-31 1999-06-01 Texas Instruments Incorporated Microprocessor circuits, systems, and methods for speculatively executing an instruction using its most recently used data while concurrently prefetching data for the instruction
US5968163A (en) * 1997-03-10 1999-10-19 Advanced Micro Devices, Inc. Microcode scan unit for scanning microcode instructions using predecode data
US6122729A (en) * 1997-05-13 2000-09-19 Advanced Micro Devices, Inc. Prefetch buffer which stores a pointer indicating an initial predecode position

Also Published As

Publication number Publication date
DE10026017B4 (de) 2007-02-08
US6981127B1 (en) 2005-12-27

Similar Documents

Publication Publication Date Title
DE69133302T2 (de) Registerabbildung in einem einzigen Taktzyklus
DE69929936T2 (de) Verfahren und Vorrichtung zum Abrufen von nicht-angrenzenden Befehlen in einem Datenverarbeitungssystem
DE69534113T2 (de) Kompression der Befehlswörter eines Rechners
DE60036016T2 (de) Schnell multithreading für eng gekoppelte multiprozessoren
DE69434728T2 (de) Synchronisationssystem und verfahren in einem datencachesystem mit aufgeteiltem pegel
DE69738188T2 (de) Verfahren und apparat für eine erhöhte genauigkeit bei der verzweigungsvorhersage in einem superskalaren mirkroprozessor
DE4211222A1 (de) Verfahren und vorrichtung zur abzweigungs-vorhersage unter verwendung einer abzweigungs-vorhersagetabelle
DE19855806A1 (de) Vorrichtung und Verfahren zum Durchführen von Unterprogrammaufruf- und Rücksprungoperationen
DE102004013676A1 (de) Schleifenbetrieb mit null Overhead in einem Mikroprozessor mit Anweisungspuffer
DE2415900A1 (de) Rechenautomat mit mehreren mit je einem vorratsspeicher versehenen rechenanlagen
DE4335475A1 (de) Datenverarbeitungseinrichtung mit Cache-Speicher
DE2117936A1 (de) Mikroprogrammgesteuerte Zentraleinheit eines elektronischen Datenverarbeitungssystems
DE3114921C2 (de) Mikroprogramm-Speicheranordnung
WO2007017373A1 (de) Vorrichtung und verfahren zur speicherung von daten und/oder befehlen in einem rechnersystem mit wenigstens zwei verarbeitungseinheiten und wenigstens einem ersten speicher oder speicherbereich für daten und/oder befehle
DE19526008A1 (de) Vertikal partitionierter, primärer Befehls-Cache-Speicher
DE4134392C2 (de) Verfahren und Vorrichtung zum Ungültigmachen von Befehlen in Geräten mit Parallelverarbeitung
DE2617485A1 (de) Verfahren und schaltungsanordnung zur abarbeitung von mikrobefehlsfolgen in datenverarbeitungsanlagen
DE2906685C2 (de)
DE19533962A1 (de) Verfahren und Schaltung zum vorauseilenden Holen von Befehlen/Daten mit einem Prefetch-Cache für Befehle/Daten, auf die nicht zugegriffen worden ist
DE10026017B4 (de) Vorabruf-Puffer mit Gültigkeitswerten zur Bereitstellung von abgeglichenen Befehlen
DE112004001248B4 (de) Mikroprozessor und Verfahren zum Ausführen einer index-behafteten Speicher-zu-Lade-Weiterleitung
DE10025952B4 (de) Datenverarbeitungseinheit mit einer Superscaler-Struktur sowie Verfahren zum Zuführen einer Mehrzahl von Befehlen
DE60216016T2 (de) Mikroprozessor mit Aufrechterhaltung der Speicherübereinstimmung
DE102005037234A1 (de) Vorrichtung und Verfahren zur Speicherung von Daten und/oder Befehlen in einem Rechnersystem mit wenigstens zwei Ausführungseinheiten und wenigstens einem ersten Speicher oder Speicherbereich für Daten und/oder Befehle
DE2949571A1 (de) Cachespeichereinheit fuer die verwendung in verbindung mit einer datenverarbeitungseinheit

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8125 Change of the main classification

Ipc: G06F 9/38

8364 No opposition during term of opposition
R082 Change of representative
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee