DE19983589B4 - Hochfrequenz-Pipeline-Entkopplungswarteschlangengestaltung - Google Patents
Hochfrequenz-Pipeline-Entkopplungswarteschlangengestaltung Download PDFInfo
- Publication number
- DE19983589B4 DE19983589B4 DE19983589T DE19983589T DE19983589B4 DE 19983589 B4 DE19983589 B4 DE 19983589B4 DE 19983589 T DE19983589 T DE 19983589T DE 19983589 T DE19983589 T DE 19983589T DE 19983589 B4 DE19983589 B4 DE 19983589B4
- Authority
- DE
- Germany
- Prior art keywords
- read
- write
- signal
- processor
- queue
- 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 - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
- G06F5/10—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
-
- 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/3867—Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
-
- 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/3867—Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
- G06F9/3871—Asynchronous instruction pipeline, e.g. using handshake signals between stages
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Multi Processors (AREA)
Abstract
Verfahren
zum Beschleunigen der Verarbeitung einer Vielzahl von Befehlen in
einem Prozessor, wobei das Verfahren die Schritte umfaßt:
a. Bereitstellen einer Mehrzahl von Pipelineeinheiten (502) zum Verarbeiten einer Vielzahl von Befehlen, wobei jede der Mehrzahl von Pipeline-Einheiten eine Mehrzahl von Pipelinestufen (300, 302, 304, 308) aufweist; und
b. Bereitstellen einer entkoppelnden Warteschlange (306) zum Entkoppeln wenigstens einer der Pipelinestufen (304) von einer anderen (308), wobei die entkoppelnde Warteschlange sowohl Lese- als auch Schreiboperationen aus der bzw. in die Warteschlange innerhalb eines einzigen Taktzyklus (900) des Prozessors unterstützt, indem die Warteschlange einander nicht überlappende Lese- bzw. Schreibsignale in dem Taktzyklus erzeugt, wobei die Leseoperation während des aktiven Lesesignals und die Schreiboperation während des aktiven Schreibsignals stattfindet.
a. Bereitstellen einer Mehrzahl von Pipelineeinheiten (502) zum Verarbeiten einer Vielzahl von Befehlen, wobei jede der Mehrzahl von Pipeline-Einheiten eine Mehrzahl von Pipelinestufen (300, 302, 304, 308) aufweist; und
b. Bereitstellen einer entkoppelnden Warteschlange (306) zum Entkoppeln wenigstens einer der Pipelinestufen (304) von einer anderen (308), wobei die entkoppelnde Warteschlange sowohl Lese- als auch Schreiboperationen aus der bzw. in die Warteschlange innerhalb eines einzigen Taktzyklus (900) des Prozessors unterstützt, indem die Warteschlange einander nicht überlappende Lese- bzw. Schreibsignale in dem Taktzyklus erzeugt, wobei die Leseoperation während des aktiven Lesesignals und die Schreiboperation während des aktiven Schreibsignals stattfindet.
Description
- Diese Erfindung bezieht sich auf ein Verfahren zum Beschleunigen der Verarbeitung einer Vielzahl von Befehlen in einem Prozessor mit mehreren Pipelinestufen, von denen wenigstens zwei durch eine Warteschlange entkoppelt sind sowie auf einen Prozessor mit mehreren jeweils mehrere Pipelinestufen aufweisenden Pipelineeinheiten und wenigstens einer Warteschlange, die zwischen zwei Pipelinestufen angeordnet ist und diese entkoppelt.
- Prozessorkonstrukteure haben stets versucht, die Zeitdauer zu verringern, die ein Prozessor benötigt, um ein Programm auszuführen. Eine Technik zur Erhöhung der Leistung eines Prozessors besteht darin, daß die beim Ausführen mehrerer Befehle involvierten Schritte sich einander überlappen. Diese Technik ist als Pipeline-Verschachtelung bekannt. Jeder Schritt in der Pipeline oder jede Pipelinestufe schließt einen Teil eines Befehls ab. Von den Pipelinestufen ist jeweils eine mit einer nächsten verbunden, so daß sie eine Pipeline bilden, wobei die Befehle an einem Ende eintreten, die Stufen entlang verarbeitet werden und am anderen Ende die Pipeline verlassen. Da die Pipeline-Verschachtelung eine Parallelität zwischen den Befehlen in einem sequentiellen Befehlsstrom ausnutzt, erbringt sie eine Verringerung der durchschnittlichen Ausführungszeit pro Befehl.
- Da die Befehlsausführung in den verschiedenen Pipelinestufen bei verschiedenen Geschwindigkeiten voranschreitet, umfaßt eines der Verfahren das Einfügen von Warteschlangen in die Pipeline zum Entkoppeln dieser Pipelinestufen, um die optimale Leistung einer Pipeline zu sichern. Diese Lösung ist beispielweise aus dem US-Patent Nr. 5,325,495 bekannt. Wenn beispielsweise eine Warteschlange zwischen einer Abrufstufe und einer Decodierstufe einer Pipeline eingefügt wird, kann ein Prozessor die Befehle in der Abrufstufe lesen und sie in der eingefügten Warteschlange speichern. Statt auf die Ausgabe der Ab rufstufe zu warten, kann der Prozessor Befehle direkt aus der Warteschlange gewinnen und mit deren Decodierstufe fortfahren. Im Ergebnis wurden die Ausführung der Abrufstufe und der Decodierstufe entkoppelt. Mit anderen Worten, die beiden Stufen können ihre jeweiligen Aufgaben unabhängig voneinander ausführen.
- Obwohl der beschriebene Entkopplungswarteschlangenmechanismus die Leistung einer Pipeline verbessert, können seine Beschränkungen die fortgesetzten Konstruktionsbemühungen, Prozessoren zu beschleunigen, noch behindern. In dem Maße, wie ein Prozessor seine Pipelinestufen weiter aufspaltet und seine Taktgeschwindigkeit erhöht, können die Dauer der Einrichtzeit (Setup Time) der Entkopplungswarteschlange und ihre Verzögerung zum Ausführen entweder einer Lese- oder einer Schreiboperation angesichts eines abnehmenden Taktzyklus untragbar lang werden. Wenn ein derartiger Overhead gleich dem Taktzyklus des Prozessors wird, ist keine weitere Pipeline-Verschachtelung bei der Verbesserung der Leistung eines Prozessors nützlich.
- Aufgabe der Erfindung ist es, ein verbessertes Verfahren und einen verbesserten Prozessor zum Beschleunigen der Verarbeitung einer Vielzahl von Befehlen zu schaffen, wobei gleichzeitig Overheads hinsichtlich der Einrichtzeit und der Zeiten für Lese- und Schreiboperationen an der Warteschlange vermieden werden.
- Diese Aufgabe wird erfindungsgemäß durch ein Verfahren mit den Merkmalen des Anspruchs 1, einen Prozessor mit den Merkmalen des Anspruchs 7 sowie ein Computersystem mit den Merkmalen des Anspruchs 14 gelöst.
- Der Prozessor weist eine Mehrzahl von Pipeline-Einheiten auf, um eine Vielzahl von Befehlen zu verarbeiten. Jede der Pipeline-Einheiten weist mehrere Pipelinestufen auf. Ferner wird eine sich selbst taktende (self-timed) Warteschlange bereitgestellt, um wenigstens eine der erwähnten Pipelinestufen von einer anderen zu entkoppeln, wobei die sich selbst taktende Warteschlange sowohl Lese- als auch Schreiboperationen innerhalb eines einzigen Taktzyklus des Prozessors unterstützt.
- Vorteilhafte und/oder bevorzugte Weiterbildungen der Erfindung sind in den Unteransprüchen gekennzeichnet.
- Die vorliegende Erfindung wird beispielhaft und in nicht einschränkender Weise anhand der Figuren der begleitenden Zeichnungen veranschaulicht, in welchen gleiche Bezugszeichen auf ähnliche Elemente verweisen und in welchen:
-
1 eine herkömmliche Pipeline zur Verarbeitung von Befehlen veranschaulicht. -
2 veranschaulicht die Sequenz zur Verarbeitung von Befehlen gemäß der Pipeline in1 . -
3 veranschaulicht eine Blockdarstellung einer speziellen Anwendung der vorliegenden Erfindung. -
4 veranschaulicht eine Blockdarstellung eines Ausführungsbeispiels der vorliegenden Erfindung. -
5 veranschaulicht eine Mehrzweckcomputersystemarchitektur. -
6 veranschaulicht ein Ablaufdiagramm für eine Steuerlogikeinheit eines Ausführungsbeispiels der vorliegenden Erfindung. -
7 veranschaulicht ein Ablaufdiagramm für die Schreibzeiger- und Lesezeigermanipulation der Steuerlogikeinheit der vorliegenden Erfindung. -
8a veranschaulicht ein Beispiel, bei dem der Schreibzeiger und der Lesezeiger auf denselben Eintrag in der Datenspeichereinheit der vorliegenden Erfindung zeigen. -
8b veranschaulicht ein Beispiel in der Datenspeichereinheit der vorliegenden Erfindung, bei dem der Lesezeiger umgelaufen (wrapped around) ist und der WR-Modus aktiviert wird. -
8c veranschaulicht ein Beispiel in der Datenspeichereinheit der vorliegenden Erfindung, bei dem der Schreibzeiger umgelaufen und der RW-Modus aktiviert ist. -
9 veranschaulicht ein Zeitdiagramm des Erzeugens eines Schreibsignals und eines Lesesignals innerhalb eines Prozessortaktzyklus. - DETAILLIERTE BESCHREIBUNG
- Es werden ein Verfahren und eine Einrichtung zum Beschleunigen der Verarbeitung einer Vielzahl von Befehlen in einem Prozessor beschrieben. In der folgenden Beschreibung werden zahlreiche spezielle Details angegeben, wie beispielsweise eine Steuerlogikeinheit, eine Datenspeichereinheit und Zeitgabeerzeugungseinheit, etc., um ein besseres Verständnis der vorliegenden Erfindung zu erreichen. Für einen Durchschnittsfachmann ist es jedoch klar, daß die Erfindung auch ohne diese speziellen Details ausgeführt werden kann. An anderen Stellen werden gut bekannte Elemente und Theorien, wie beispielsweise das Prozessordesign, Registersatz, Pipeline, Einrichtzeit, etc., nicht besonders detailliert erörtert, um ein unnötiges Verdecken der vorliegenden Erfindung zu vermeiden.
-
1 veranschaulicht eine herkömmliche Pipeline zum Verarbeiten von Befehlen. Die Verarbeitung solcher Befehle besteht aus vier Stufen: Befehlsabruf100 (mit F bezeichnet), Befehlsdecodierung102 (mit D bezeichnet), Operandenadressenberechnung104 (mit A bezeichnet) und Ausführung/Operandenabruf/Operandenspeicherung106 (mit X bezeichnet). Jede dieser Schritte wird zu einer Pipelinestufe und führt zu dem in2 gezeigten Ausführungsmuster. Während jeder Befehl noch vier Taktzyklen benötigt, führt die Hardware während jedes Taktzyklus jeweils irgendeinen Teil von vier unterschiedlichen Befehlen aus. Obwohl die Pipeline-Verschachtelung nicht die Ausführungszeit eines einzelnen Befehls verringert, erhöht sie die Anzahl der Befehle, die pro Zeiteinheit abgeschlossen werden. - Nachdem kurz die herkömmlichen Pipeline-Prinzipien erörtert worden sind, veranschaulicht
3 eine Blockdarstel lung einer speziellen Anwendung der vorliegenden Erfindung. Für einen Durchschnittsfachmann ist es klar, wie die Blockdarstellung auf andere Pipelinestufen in einem Prozessor angewendet wird. Zusätzlich veranschaulicht4 eine Blockdarstellung eines Ausführungsbeispiels der vorliegenden Erfindung. Die Blockdarstellung kann in verschiedenen Arten von Prozessoren innerhalb unterschiedlicher Mehrzweckcomputersysteme implementiert werden. Ein derartiges Computersystem ist in5 veranschaulicht. - Diese Computersystemarchitektur umfaßt einen Prozessor
500 mit einer die vorliegende Erfindung enthaltenden Pipeline-Einheit502 zum Verarbeiten von Audio-, Video- und Dateninformationen, der mit einem Buselement504 zum Austauschen von Informationen gekoppelt ist, einen mit dem Buselement504 gekoppelten Speicher506 mit wahlfreiem Zugriff zum Speichern statischer Informationen und von Befehlen für den Prozessor500 , eine mit dem Buselement504 gekoppelte Datenspeichereinrichtung512 , wie beispielsweise eine Magnetplatte und ein Plattenlaufwerk, zum Speichern eines Betriebssystems516 und von Informationen und Befehlen, ein mit dem Buselement504 gekoppeltes lesbares Medium514 , wie beispielsweise eine Diskette oder eine CD, zum Wiedergewinnen von Informationen und Befehlen für den Prozessor500 , eine mit dem Buselement504 gekoppelte Anzeigeeinrichtung508 zum Anzeigen von Informationen an den Computerbenutzer und eine mit dem Buselement504 gekoppelte alphanumerische oder andere herkömmliche Eingabeeinrichtung510 zum Übermitteln von Informationen und Befehlsauswahlen an den Prozessor500 . - Betriebsweise der vorliegenden Erfindung
- Die vorliegende Erfindung ist ein Verfahren und eine Einrichtung zum Beschleunigen der Verarbeitung einer Vielzahl von Befehlen in einem Prozessor. Insbesondere entkoppelt die vorliegende Erfindung nicht nur eine Pipelinestufe in einer Pipeline-Einheit eines Prozessors von einer anderen, sie unterstützt darüber hinaus sowohl Lese- als auch Schreiboperationen aus demselben Datenspeicherort innerhalb eines einzigen Taktzyklus des Prozessors. Darüber hinaus erzeugt die vorliegende Erfindung ihr eigenes nichtüberlappendes Lese- und Schreibsignal, um die richtigen Lese- und Schreiboperationen auszulösen. Diese Lese- und Schreibsignale bleiben für eine Mindestdauer aktiv, um die gewünschten Operationen abzuschließen und um die Einrichtzeit-Anforderungen einer nachfolgenden Logikstufe zu erfüllen. Die Erfindung enthält darüber hinaus eine Logik zum Bestimmen der effektivsten Sequenz zum Ausführen der Lese- und Schreiboperationen.
- Eine Anwendung der Erfindung ist ein Mehrzweckcomputersystem, das auf speziellen Komponenten arbeitet, wie sie in
3 veranschaulicht sind. Insbesondere werden ausgewählte Pipelinestufen in der Pipeline-Einheit502 in Verbindung mit der vorliegenden Erfindung verwendet, um die Funktionalität der Entkopplungswarteschlange306 zu demonstrieren. Nachdem das Betriebssystem516 auf der Datenspeichereinrichtung512 Befehle entweder von der Datenspeichereinrichtung512 oder dem lesbaren Medium514 lädt, richtet es außerdem die erforderliche Umgebung für die Ausführung der Befehle ein. Die Befehle für den Prozessor500 werden typischerweise in einem Speicher506 mit wahlfreiem Zugriff gespeichert. - Block
300 liest Befehle variabler Länge aus dem Speicher. Dann führt der Block302 ein Rotieren und Ausrichten dieser gelesenen Informationen aufgrund der aus der Vor-Decodierung des Blocks304 abgeleiteten Anzahl von Bytes durch. Die Blöcke300 ,302 und304 können zusammen als Pipelinestufe F100 betrachtet werden, wie sie in1 gezeigt ist. Da die Entkopplungswarteschlange306 Ausgaben aus dem Block304 speichert, braucht die Befehlsdecodiereinheit308 oder Pipelinestufe D102 in1 nicht auf den Abschluß der Pipelinestufe F100 zu warten. Stattdessen kann die Befehlsdecodiereinheit308 fortfahren, indem sie die gespeicherten Befehle aus der Entkopplungswarteschlange306 verarbeitet. Mit anderen Worten, die Operationen der Pipelinestufe F100 und der Pipelinestufe D102 wurden durch Verwendung der Entkopplungswarteschlange306 entkoppelt. - Es sei betont, daß, obwohl spezielle Pipelinestufen verwendet wurden, um die vorliegende Erfindung zu beschreiben, die Erfindung in anderen Pipelinestufen ohne Überschreitung ihres Umfangs enthalten sein kann. Beispielsweise kann die Entkopplungswarteschlange
306 zwischen die Pipelinestufe D102 und die Pipelinestufe A104 eingefügt werden. Darüber hinaus ist es für den Durchschnittsfachmann klar, daß die vorliegende Erfindung auf mehr als die vier in1 veranschaulichten Pipelinestufen angewendet werden kann oder auf mehrere Pipelines innerhalb eines Prozessors sowie auf mehrere Prozessoren innerhalb des Beispielcomputersystems gemäß5 , ohne vom Umfang der vorliegenden Erfindung abzuweichen. - Der Mechanismus der Entkopplungswarteschlange
306 in3 ist genauer in4 dargelegt. Insbesondere enthält die Entkopplungswarteschlange306 eine Steuerlogikeinheit400 , eine Zeitgabe- oder Takt-Erzeugungseinheit402 und eine Datenspeichereinheit404 . Bei einem Ausführungsbeispiel der vorliegenden Erfindung ist die Datenspeichereinheit404 ein Registersatz. -
4 und6 veranschaulichen ein Ausführungsbeispiel der Steuerlogikeinheit400 . In Übereinstimmung mit ihrer externen Eingabe406 und ihren internen Zeigerberechnungen erzeugt die Steuerlogikeinheit400 ein Steuersignal410 , um den gewünschten Lese- und Schreibmodus für die Entkopplungswarteschlange306 anzuzeigen. Insbesondere beginnt die Steuerlogikeinheit400 , indem sie die Zeitgabeerzeugungseinheit402 auf den Schreiboperation-zuerst-Leseoperation-später-Modus (als WR-Modus bezeichnet) im Schritt600 einrichtet. Wenn die Steuerlogikeinheit400 den Ort oder Speicherplatz in der Datenspeichereinheit404 zum Einschreiben eingehender Daten412 oder zum Lesen auslaufender Daten414 berechnet, hält die Steuerlogikeinheit400 unabhängige Schreib- und Lesezeiger aufrecht, um die berechneten Orte zu verfolgen. - Auf der Grundlage der Werte dieser beiden Zeiger oder des Werts ihrer externen Eingabe
406 bestimmt die Steuerlogikeinheit400 im Schritt602 , ob die Datenspeichereinheit404 ausreichend Kapazität aufweist, um das Aufnehmen eingehender Daten412 fortzusetzen. Wenn der Schreibzeiger und der Lesezeiger eine volle Datenspeichereinheit404 anzeigen oder wenn der externe Eingang406 ein Steckenbleiben (stall) in der vorhergehenden Pipelinestufe anzeigt, gibt die Steuerlogikeinheit400 im Schritt604 ein Steuersignal410 an die Zeitgabeerzeugungseinheit402 aus, damit diese in den Leseoperation-zuerst-Schreiboperation-später-Modus (als RW-Modus bezeichnet) umschaltet. Anderenfalls wird der WR-Modus fortgesetzt. - Auf eine ähnliche Weise überprüft die Steuerlogikeinheit
400 auf der Grundlage der Schreibzeiger- und Lesezeigerwerte im Schritt606 , ob die Leseoperationen an auslaufenden Daten414 die Datenspeichereinheit404 entleert (depleted) haben. In Abhängigkeit vom Ausgang des Schritts606 und vom aktuellen Zustand der Steuerlogikeinheit400 wechselt entweder der RW-Modus zurück in den WR-Modus oder bleibt der Zustand, RW-Modus oder WR-Modus, unverändert. - In Verbindung mit den in den
8a ,8b und8c gezeigten Beispielen und der in4 gezeigten Blockdarstellung veranschaulicht7 die erörterten Lesezeiger- und Schreibzeigeroperationen näher. Im Schritt700 zeigen bei Verwendung einer Datenspeichereinheit404 mit fünf Einträgen, wie sie in8a gezeigt ist, der Lesezeiger800 (als RP800 bezeichnet) und der Schreibzeiger802 (als WP802 bezeichnet) anfänglich auf denselben ersten Eintrag, und die Steuerlogikeinheit400 beginnt mit dem WR-Modus. Wenn eingehende Daten412 in die Datenspeichereinheit404 eintreten, wird WP802 im Schritt702 inkrementiert. In ähnlicher Weise wird dann, wenn auslaufende Daten414 die Datenspeichereinheit404 verlassen, RP800 im Schritt702 ebenfalls inkrementiert. wenn einer der Zeiger das Ende der Datenspeichereinheit404 oder den Eintrag5 erreicht, läuft der Zeiger um und beginnt beim Eintrag1 von vorn. -
8b demonstriert ein mögliches Szenarium, bei dem RP800 umgelaufen ist und die Datenspeichereinheit404 leer ist. Insbesondere dann, wenn WP802 vom Eintrag1 zum Eintrag5 vorgerückt und wieder zum Eintrag2 umgelaufen ist und wenn RP800 ebenfalls auf ähnliche Weise vorgerückt wurde, wurden sämtliche eingehenden Daten412 , die bereits in die Datenspeichereinheit404 eingeschrieben wurden, als auslaufende Daten414 ausgelesen. Wenn im Schritt704 RP800 und WP802 auf denselben Eintrag2 verweisen und im Schritt706 festgestellt worden ist, daß RP800 umgelaufen ist, wird der WR-Modus im Schritt710 fortgesetzt. Mit anderen Worten, Schreiboperationen müssen zunächst stattfinden, bevor irgendwelche weiteren Leseoperationen erfolgen können. Wenn die Schreiboperation ausgeführt wird, wird WP802 zum Eintrag2 vorgerückt, während RP800 beim Eintrag2 verbleibt. - Andererseits bietet
8c ein alternatives Szenarium, bei dem die Datenspeichereinheit404 voll ist. Analog der vorhergehenden Diskussion wird dann, wenn RP800 und WP802 im Schritt704 auf denselben Eintrag verweisen und von WP802 im Schritt708 festgestellt wird, daß er umgelaufen ist, der WR-Modus in den RW-Modus im Schritt712 geändert. Genauer gesagt, müssen dann Leseoperationen vor irgendwelchen nachfolgenden Schreiboperationen auftreten, da die Datenspeichereinheit404 keine weiteren eingehenden Daten akzeptieren kann. Wenn die Leseoperation ausgeführt wird, wird RP800 auf den Eintrag3 inkrementiert, während WP802 beim Eintrag2 verbleibt. - Obwohl Details in einem Ausführungsbeispiel der vorliegenden Erfindung verwendet wurden, um einen bestimmten Modusumschaltmechanismus und Operationen einer Steuerlogikeinheit
400 zu beschreiben, ist es für einen Durchschnitts fachmann klar, daß andere Verfahren verwendet werden können, um dieselben Ziele zu erreichen, ohne vom Umfang der Erfindung abzuweichen. Beispielsweise kann die Modusumschaltintelligenz Teil der Datenspeichereinheit404 sein. Darüber hinaus könnte in Erwägung gezogen werden, daß die in den6 und7 veranschaulichten logischen Schritte in abweichenden Reihenfolgen angeordnet werden können und aber noch die gleichen Ergebnisse hervorbringen. Beispielsweise könnten der Schritt606 und der Schritt602 in6 oder der Schritt706 und der Schritt708 in7 mit geringfügigen Modifikationen ausgetauscht werden, ohne den Ausgang zu beeinflussen. - Nachdem die Interaktionen zwischen den verschiedenen Komponenten in der Entkopplungswarteschlange
306 beschrieben worden sind, veranschaulicht4 in Verbindung mit9 die Operationen der Zeitgabe- oder Takt-Erzeugungseinheit402 . In Übereinstimmung mit dem Steuersignal410 aus der Steuerlogikeinheit400 erzeugt die Zeitgabeerzeugungseinheit402 ein entsprechendes Signal an die Datenspeichereinheit404 , um die Schreib- und Leseoperationen der Datenspeichereinheit404 zu initiieren. Beispielsweise dann, wenn das Steuersignal410 den WR-Modus anzeigt, löst die ansteigende Flanke des Prozessortakts416 ein Schreibsignal418 aus. Wenn andererseits das Steuersignal410 den RW-Modus anzeigt, löst die ansteigende Flanke des Prozessortakts416 ein Lesesignal420 aus. - Innerhalb der Dauer
900 eines einzigen Prozessortaktzyklus wird dann, wenn das Steuersignal410 einen WR-Modus anzeigt, ein nicht-überlappendes Schreibsignal418 für eine Dauer902 , wie sie in9 gezeigt ist, aktiv. Während dieser Zeit schließt die von dem Schreibsignal418 ausgelöste Schreiboperation das Schreiben der eingehenden Daten412 in die Datenspeichereinheit404 ab. Nach dem Abschluß ihrer Schreiboperation gibt die Datenspeichereinheit404 ein Abschlußsignal422 an die Zeitgabeerzeugungseinheit402 aus. An diesem Punkt fällt die Taktflanke des Schreibsignals418 ab und löst ein nachfolgendes nicht-überlappendes Lesesignal420 aus. Nach einer gewissen Verzögerung von einer Dauer912 wird das Lesesignal420 an die Datenspeichereinheit404 gesendet, um seine zugehörige Leseoperation auszulösen. Ähnlich dem Schreibsignal418 bleibt das Lesesignal420 aktiv, bis die Leseoperation abgeschlossen ist. Zusätzlich bleibt es ebenfalls aktiv für eine Dauer906 , um irgendwelche Mindest-Einrichtzeit-Anforderungen einer nachfolgenden Logikstufe zu befriedigen. Im Ergebnis kann die nachfolgende Logikstufe sofort Gebrauch von der verbleibenden Zeit, der Dauer908 , machen, um irgendwelche erforderlichen Operationen auszuführen. - Ähnliche Prinzipien gelten, wenn das Steuersignal
410 einen RW-Modus anzeigt; an Stelle eines für eine Dauer902 aktiv bleibenden nicht-überlappenden Schreibsignals418 bleibt ein nicht-überlappendes Lesesignal420 während dieser Zeit aktiv. Das nicht-überlappende Schreibsignal418 wird von der fallenden Taktflanke des Lesesignals420 ausgelöst und bleibt für eine Dauer904 aktiv. - Wie demonstriert worden ist, unterstützt die vorliegende Erfindung sowohl eine Leseoperation als auch eine Schreiboperation innerhalb eines Prozessortaktzyklus. Da darüber hinaus die Operationen einander nicht überlappen, kann die Leseoperation aus einem Eintrag in der Datenspeichereinheit
404 lesen und die Schreiboperation kann in denselben Eintrag einschreiben. Verwenden wir8a als Veranschaulichung, die Leseoperation kann zunächst Daten aus dem Eintrag1 lesen, und die Schreiboperation kann dann in demselben Prozessortaktzyklus in den Eintrag1 einschreiben. - Somit wurden ein Verfahren und eine Einrichtung zum Beschleunigen der Verarbeitung einer Vielzahl von Befehlen in einem Prozessor offenbart. Obwohl die vorliegende Erfindung insbesondere unter Bezugnahme auf die Figuren beschrieben worden ist, ist es für einen Durchschnittsfachmann klar, daß die vorliegende Erfindung in einer beliebigen Anzahl von Systemen mit Prozessoren, welche eine Pipelinefunktionalität bereitstellen, erscheinen kann. Es ist ferner vorgesehen, daß viele Änderungen und Modifikationen von einem Fachmann vorgenommen werden können, ohne vom Geist und Umfang der vorliegenden Erfindung abzuweichen.
Claims (14)
- Verfahren zum Beschleunigen der Verarbeitung einer Vielzahl von Befehlen in einem Prozessor, wobei das Verfahren die Schritte umfaßt: a. Bereitstellen einer Mehrzahl von Pipelineeinheiten (
502 ) zum Verarbeiten einer Vielzahl von Befehlen, wobei jede der Mehrzahl von Pipeline-Einheiten eine Mehrzahl von Pipelinestufen (300 ,302 ,304 ,308 ) aufweist; und b. Bereitstellen einer entkoppelnden Warteschlange (306 ) zum Entkoppeln wenigstens einer der Pipelinestufen (304 ) von einer anderen (308 ), wobei die entkoppelnde Warteschlange sowohl Lese- als auch Schreiboperationen aus der bzw. in die Warteschlange innerhalb eines einzigen Taktzyklus (900 ) des Prozessors unterstützt, indem die Warteschlange einander nicht überlappende Lese- bzw. Schreibsignale in dem Taktzyklus erzeugt, wobei die Leseoperation während des aktiven Lesesignals und die Schreiboperation während des aktiven Schreibsignals stattfindet. - Verfahren nach Anspruch 1, wobei die Warteschlange (
306 ) eine Steuerlogikeinheit (400 ), eine Zeitgabeerzeugungseinheit (402 ) und eine Datenspeichereinheit(404 ) aufweist und wobei die Zeitgabeerzeugungseinheit (402 ) das nicht-überlappende Schreibsignal (418 ) zum Auslösen der Schreiboperation innerhalb des einzigen Taktzyklus erzeugt; das nicht-überlappende Lesesignal (420 ) zum Auslösen der Leseoperation innerhalb desselben einzigen Taktzyklus erzeugt; und sichert, daß das Schreib- und das Lesesignal für eine Mindestdauer (902 ;904 ) aktiv bleiben, so daß sie die zugehörige Schreib- bzw. Leseoperation abschließen und die Ein richtzeitanforderungen einer nachfolgenden Logikstufe erfüllen. - Verfahren nach Anspruch 2, wobei die Reihenfolge der Durchführung der Schreiboperation und der Leseoperation in dem Taktzyklus austauschbar ist, so daß entweder die Leseoperation der Schreiboperation folgt oder die Schreiboperation der Leseoperation folgt.
- Verfahren nach einem der Ansprüche 1 bis 3, wobei die Schreib- und Leseoperationen an demselben Eintrag der Warteschlange durchgeführt werden können.
- Verfahren nach Anspruch 3, wobei die Steuerlogikeinheit die Reihenfolge der Schreib- und Leseoperationen bestimmt; und die Zeitgabeerzeugungseinheit instruiert, die Schreib- und Lesesignale (
418 ,420 ) entsprechend der Reihenfolge zu erzeugen. - Verfahren nach Anspruch 2, wobei die Zeitgabeerzeugungseinheit ein erstes Signal (
902 ) erzeugt, welches entweder das Schreibsignal oder das Lesesignal ist, und ein zweites Signal (904 ), welches entweder das Schreibsignal oder das Lesesignal ist, wobei das erste Signal (902 ) von einer ansteigenden Flanke eines Taktsignals des Prozessors ausgelöst wird; und das zweite Signal (904 ) von einer abfallenden Flanke des ersten Signals ausgelöst wird. - Prozessor, aufweisend: eine Mehrzahl von Pipeline-Einheiten (
502 ) zum Verarbeiten einer Vielzahl von Befehlen, wobei jede der Mehrzahl von Pipeline-Einheiten (502 ) eine Mehrzahl von Pipelinestufen (300 ,302 ,304 ,308 ) aufweist; und eine entkoppelnde Warteschlange (306 ) zum Entkoppeln wenigstens einer der Pipelinestufen (304 ) von einer anderen (308 ), wobei die entkoppelnde Warteschlange sowohl Lese- als auch Schreiboperationen aus der bzw. in die Warteschlange innerhalb eines einzigen Taktzyklus (900 ) des Prozessors unterstützt, indem eine Zeitgabeerzeugungseinheit (402 ) der Warteschlange einander nicht überlappende Lese- bzw. Schreibsignale in dem Taktzyklus erzeugt und an eine Datenspeichereinheit (404 ) der Warteschlange ausgibt, wobei die Leseoperation während des aktiven Lesesignals und die Schreiboperation während des aktiven Schreibsignals stattfindet. - Prozessor nach Anspruch 7, wobei die Zeitgabeerzeugungseinheit (
402 ) das nicht-überlappende Schreibsignal (418 ) zum Auslösen der Schreiboperation innerhalb des einzigen Taktzyklus erzeugt; das nicht-überlappende Lesesignal (420 ) zum Auslösen der Leseoperation innerhalb desselben einzigen Taktzyklus erzeugt; und sichert, daß das Schreib- und das Lesesignal (418 ,420 ) für eine Mindestdauer (902 ,904 ) aktiv bleiben, um die zugehörige Lese- und Schreiboperation abzuschließen und eine Einrichtzeitanforderung einer nachfolgenden Logikstufe (308 ) zu erfüllen. - Prozessor nach Anspruch 8, wobei die Reihenfolge der Durchführung der Schreib- und Leseoperationen in dem Taktzyklus austauschbar ist.
- Prozessor nach Anspruch 7, wobei die Schreib- und Leseoperationen an demselben Eintrag der Datenspeichereinheit (
404 ) durchgeführt werden können. - Prozessor nach Anspruch 9, wobei eine Steuerlogikeinheit (
400 ) die Reihenfolge der Schreib- und Leseoperationen bestimmt; und mit der Zeitgabeerzeugungseinheit gekoppelt ist, um diese zu instruieren, die Schreib- und Lesesignale gemäß der Reihenfolge zu erzeugen. - Prozessor nach Anspruch 8, wobei die Zeitgabeerzeugungseinheit (
402 ) ein erstes Signal, entweder das Schreibsignal oder das Lesesignal, und ein zweites Signal, entweder das Schreibsignal oder das Lesesignal, erzeugt, wobei das erste Signal (902 ) von einer ansteigenden Flanke eines Taktsignals des Prozessors ausgelöst wird; und das zweite Signal (904 ) von einer abfallenden Flanke des ersten Signals ausgelöst wird. - Prozessor nach Anspruch 7, wobei die Datenspeichereinheit ein Registersatz ist.
- Computersystem, aufweisend: einen Prozessor nach einem der Ansprüche 7 bis 13; und ein Buselement, das eine Speichereinrichtung und den Prozessor koppelt, wobei die Speichereinrichtung ein Betriebssystem enthält.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/160,364 | 1998-09-24 | ||
US09/160,364 US6112295A (en) | 1998-09-24 | 1998-09-24 | High frequency pipeline decoupling queue with non-overlapping read and write signals within a single clock cycle |
PCT/US1999/021864 WO2000017744A1 (en) | 1998-09-24 | 1999-09-20 | High frequency pipeline decoupling queue design |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19983589T1 DE19983589T1 (de) | 2001-08-09 |
DE19983589B4 true DE19983589B4 (de) | 2005-01-27 |
Family
ID=22576577
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19983589T Expired - Fee Related DE19983589B4 (de) | 1998-09-24 | 1999-09-20 | Hochfrequenz-Pipeline-Entkopplungswarteschlangengestaltung |
Country Status (6)
Country | Link |
---|---|
US (1) | US6112295A (de) |
CN (1) | CN1158598C (de) |
AU (1) | AU6055199A (de) |
DE (1) | DE19983589B4 (de) |
GB (1) | GB2357874B (de) |
WO (1) | WO2000017744A1 (de) |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7058793B1 (en) * | 1999-12-20 | 2006-06-06 | Unisys Corporation | Pipeline controller for providing independent execution between the preliminary and advanced stages of a synchronous pipeline |
SG108240A1 (en) * | 2000-02-23 | 2005-01-28 | Ntt Docomo Inc | Multi-carrier cdma radio transmitting method and apparatus, and channel estimation method and apparatus for multi-carrier cdma radio transmitting system |
US8082401B2 (en) * | 2009-03-25 | 2011-12-20 | Qualcomm Incorporated | Self-timing for a multi-ported memory system |
JP2011090592A (ja) * | 2009-10-26 | 2011-05-06 | Sony Corp | 情報処理装置とその命令デコーダ |
US10163479B2 (en) | 2015-08-14 | 2018-12-25 | Spin Transfer Technologies, Inc. | Method and apparatus for bipolar memory write-verify |
US10446210B2 (en) | 2016-09-27 | 2019-10-15 | Spin Memory, Inc. | Memory instruction pipeline with a pre-read stage for a write operation for reducing power consumption in a memory device that uses dynamic redundancy registers |
US10192601B2 (en) * | 2016-09-27 | 2019-01-29 | Spin Transfer Technologies, Inc. | Memory instruction pipeline with an additional write stage in a memory device that uses dynamic redundancy registers |
US11119910B2 (en) | 2016-09-27 | 2021-09-14 | Spin Memory, Inc. | Heuristics for selecting subsegments for entry in and entry out operations in an error cache system with coarse and fine grain segments |
US11119936B2 (en) | 2016-09-27 | 2021-09-14 | Spin Memory, Inc. | Error cache system with coarse and fine segments for power optimization |
US10818331B2 (en) | 2016-09-27 | 2020-10-27 | Spin Memory, Inc. | Multi-chip module for MRAM devices with levels of dynamic redundancy registers |
US10360964B2 (en) | 2016-09-27 | 2019-07-23 | Spin Memory, Inc. | Method of writing contents in memory during a power up sequence using a dynamic redundancy register in a memory device |
US10192602B2 (en) | 2016-09-27 | 2019-01-29 | Spin Transfer Technologies, Inc. | Smart cache design to prevent overflow for a memory device with a dynamic redundancy register |
US10437491B2 (en) | 2016-09-27 | 2019-10-08 | Spin Memory, Inc. | Method of processing incomplete memory operations in a memory device during a power up sequence and a power down sequence using a dynamic redundancy register |
US10460781B2 (en) | 2016-09-27 | 2019-10-29 | Spin Memory, Inc. | Memory device with a dual Y-multiplexer structure for performing two simultaneous operations on the same row of a memory bank |
US11151042B2 (en) | 2016-09-27 | 2021-10-19 | Integrated Silicon Solution, (Cayman) Inc. | Error cache segmentation for power reduction |
US10437723B2 (en) | 2016-09-27 | 2019-10-08 | Spin Memory, Inc. | Method of flushing the contents of a dynamic redundancy register to a secure storage area during a power down in a memory device |
US10628316B2 (en) | 2016-09-27 | 2020-04-21 | Spin Memory, Inc. | Memory device with a plurality of memory banks where each memory bank is associated with a corresponding memory instruction pipeline and a dynamic redundancy register |
US10546625B2 (en) | 2016-09-27 | 2020-01-28 | Spin Memory, Inc. | Method of optimizing write voltage based on error buffer occupancy |
US10366774B2 (en) | 2016-09-27 | 2019-07-30 | Spin Memory, Inc. | Device with dynamic redundancy registers |
US10656994B2 (en) | 2017-10-24 | 2020-05-19 | Spin Memory, Inc. | Over-voltage write operation of tunnel magnet-resistance (“TMR”) memory device and correcting failure bits therefrom by using on-the-fly bit failure detection and bit redundancy remapping techniques |
US10489245B2 (en) | 2017-10-24 | 2019-11-26 | Spin Memory, Inc. | Forcing stuck bits, waterfall bits, shunt bits and low TMR bits to short during testing and using on-the-fly bit failure detection and bit redundancy remapping techniques to correct them |
US10529439B2 (en) | 2017-10-24 | 2020-01-07 | Spin Memory, Inc. | On-the-fly bit failure detection and bit redundancy remapping techniques to correct for fixed bit defects |
US10481976B2 (en) | 2017-10-24 | 2019-11-19 | Spin Memory, Inc. | Forcing bits as bad to widen the window between the distributions of acceptable high and low resistive bits thereby lowering the margin and increasing the speed of the sense amplifiers |
US10811594B2 (en) | 2017-12-28 | 2020-10-20 | Spin Memory, Inc. | Process for hard mask development for MRAM pillar formation using photolithography |
US10424726B2 (en) | 2017-12-28 | 2019-09-24 | Spin Memory, Inc. | Process for improving photoresist pillar adhesion during MRAM fabrication |
US10516094B2 (en) | 2017-12-28 | 2019-12-24 | Spin Memory, Inc. | Process for creating dense pillars using multiple exposures for MRAM fabrication |
US10395711B2 (en) | 2017-12-28 | 2019-08-27 | Spin Memory, Inc. | Perpendicular source and bit lines for an MRAM array |
US10395712B2 (en) | 2017-12-28 | 2019-08-27 | Spin Memory, Inc. | Memory array with horizontal source line and sacrificial bitline per virtual source |
US10360962B1 (en) | 2017-12-28 | 2019-07-23 | Spin Memory, Inc. | Memory array with individually trimmable sense amplifiers |
US10891997B2 (en) | 2017-12-28 | 2021-01-12 | Spin Memory, Inc. | Memory array with horizontal source line and a virtual source line |
US10367139B2 (en) | 2017-12-29 | 2019-07-30 | Spin Memory, Inc. | Methods of manufacturing magnetic tunnel junction devices |
US10424723B2 (en) | 2017-12-29 | 2019-09-24 | Spin Memory, Inc. | Magnetic tunnel junction devices including an optimization layer |
US10784439B2 (en) | 2017-12-29 | 2020-09-22 | Spin Memory, Inc. | Precessional spin current magnetic tunnel junction devices and methods of manufacture |
US10840439B2 (en) | 2017-12-29 | 2020-11-17 | Spin Memory, Inc. | Magnetic tunnel junction (MTJ) fabrication methods and systems |
US10546624B2 (en) | 2017-12-29 | 2020-01-28 | Spin Memory, Inc. | Multi-port random access memory |
US10886330B2 (en) | 2017-12-29 | 2021-01-05 | Spin Memory, Inc. | Memory device having overlapping magnetic tunnel junctions in compliance with a reference pitch |
US10840436B2 (en) | 2017-12-29 | 2020-11-17 | Spin Memory, Inc. | Perpendicular magnetic anisotropy interface tunnel junction devices and methods of manufacture |
US10438995B2 (en) | 2018-01-08 | 2019-10-08 | Spin Memory, Inc. | Devices including magnetic tunnel junctions integrated with selectors |
US10438996B2 (en) | 2018-01-08 | 2019-10-08 | Spin Memory, Inc. | Methods of fabricating magnetic tunnel junctions integrated with selectors |
US10446744B2 (en) | 2018-03-08 | 2019-10-15 | Spin Memory, Inc. | Magnetic tunnel junction wafer adaptor used in magnetic annealing furnace and method of using the same |
US10784437B2 (en) | 2018-03-23 | 2020-09-22 | Spin Memory, Inc. | Three-dimensional arrays with MTJ devices including a free magnetic trench layer and a planar reference magnetic layer |
US20190296228A1 (en) | 2018-03-23 | 2019-09-26 | Spin Transfer Technologies, Inc. | Three-Dimensional Arrays with Magnetic Tunnel Junction Devices Including an Annular Free Magnetic Layer and a Planar Reference Magnetic Layer |
US11107974B2 (en) | 2018-03-23 | 2021-08-31 | Spin Memory, Inc. | Magnetic tunnel junction devices including a free magnetic trench layer and a planar reference magnetic layer |
US11107978B2 (en) | 2018-03-23 | 2021-08-31 | Spin Memory, Inc. | Methods of manufacturing three-dimensional arrays with MTJ devices including a free magnetic trench layer and a planar reference magnetic layer |
US10411185B1 (en) | 2018-05-30 | 2019-09-10 | Spin Memory, Inc. | Process for creating a high density magnetic tunnel junction array test platform |
US10600478B2 (en) | 2018-07-06 | 2020-03-24 | Spin Memory, Inc. | Multi-bit cell read-out techniques for MRAM cells with mixed pinned magnetization orientations |
US10593396B2 (en) | 2018-07-06 | 2020-03-17 | Spin Memory, Inc. | Multi-bit cell read-out techniques for MRAM cells with mixed pinned magnetization orientations |
US10692569B2 (en) | 2018-07-06 | 2020-06-23 | Spin Memory, Inc. | Read-out techniques for multi-bit cells |
US10559338B2 (en) | 2018-07-06 | 2020-02-11 | Spin Memory, Inc. | Multi-bit cell read-out techniques |
US10650875B2 (en) | 2018-08-21 | 2020-05-12 | Spin Memory, Inc. | System for a wide temperature range nonvolatile memory |
US11114136B2 (en) * | 2018-08-21 | 2021-09-07 | Marcon International Inc | Circuit, system, and method for reading memory-based digital identification devices in parallel |
US10699761B2 (en) | 2018-09-18 | 2020-06-30 | Spin Memory, Inc. | Word line decoder memory architecture |
US11621293B2 (en) | 2018-10-01 | 2023-04-04 | Integrated Silicon Solution, (Cayman) Inc. | Multi terminal device stack systems and methods |
US10971680B2 (en) | 2018-10-01 | 2021-04-06 | Spin Memory, Inc. | Multi terminal device stack formation methods |
US11107979B2 (en) | 2018-12-28 | 2021-08-31 | Spin Memory, Inc. | Patterned silicide structures and methods of manufacture |
JP2022143544A (ja) * | 2021-03-17 | 2022-10-03 | 富士通株式会社 | 演算処理装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5325495A (en) * | 1991-06-28 | 1994-06-28 | Digital Equipment Corporation | Reducing stall delay in pipelined computer system using queue between pipeline stages |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4058773A (en) * | 1976-03-15 | 1977-11-15 | Burroughs Corporation | Asynchronous self timed queue |
KR0123239B1 (ko) * | 1994-07-06 | 1997-11-26 | 김주용 | 선입선출방식(fifo) 메모리 |
US5956748A (en) * | 1997-01-30 | 1999-09-21 | Xilinx, Inc. | Asynchronous, dual-port, RAM-based FIFO with bi-directional address synchronization |
US5918034A (en) * | 1997-06-27 | 1999-06-29 | Sun Microsystems, Inc. | Method for decoupling pipeline stages |
US5961615A (en) * | 1997-12-31 | 1999-10-05 | Intel Corporation | Method and apparatus for queuing data |
-
1998
- 1998-09-24 US US09/160,364 patent/US6112295A/en not_active Expired - Lifetime
-
1999
- 1999-09-20 CN CNB998114022A patent/CN1158598C/zh not_active Expired - Fee Related
- 1999-09-20 DE DE19983589T patent/DE19983589B4/de not_active Expired - Fee Related
- 1999-09-20 WO PCT/US1999/021864 patent/WO2000017744A1/en active Application Filing
- 1999-09-20 GB GB0106055A patent/GB2357874B/en not_active Expired - Fee Related
- 1999-09-20 AU AU60551/99A patent/AU6055199A/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5325495A (en) * | 1991-06-28 | 1994-06-28 | Digital Equipment Corporation | Reducing stall delay in pipelined computer system using queue between pipeline stages |
Also Published As
Publication number | Publication date |
---|---|
DE19983589T1 (de) | 2001-08-09 |
WO2000017744A1 (en) | 2000-03-30 |
US6112295A (en) | 2000-08-29 |
GB2357874B (en) | 2003-05-28 |
GB0106055D0 (en) | 2001-05-02 |
CN1320238A (zh) | 2001-10-31 |
AU6055199A (en) | 2000-04-10 |
CN1158598C (zh) | 2004-07-21 |
GB2357874A (en) | 2001-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19983589B4 (de) | Hochfrequenz-Pipeline-Entkopplungswarteschlangengestaltung | |
DE19580990C2 (de) | Verfahren und Einrichtung zum Ausführen verzögerter Transaktionen | |
DE10085375B4 (de) | Verfahren und Einrichtung für einen pipeline-verschachtelten Multi-Thread-Befehlsdecodierer | |
DE19983330B4 (de) | Computerprozessor mit einem Wiederholsystem mit einem Stufungsabschnitt zum getakteten Verzögern und Verfahren zum Verarbeiten eines Befehls in einem solchen Prozessor | |
DE69636861T2 (de) | Mikroprozessor mit Lade-/Speicheroperation zu/von mehreren Registern | |
DE19914210B4 (de) | Verfahren und Prozessor für eine gestaffelte Ausführung einer Anweisung | |
DE4222776C2 (de) | Parallelverarbeitungseinheit und Verfahren zum Ausführen von Befehlen | |
DE19882486B4 (de) | Synchroner, nicht-flüchtiger Seitenmodus-Speicher | |
DE112005002416B4 (de) | Prozessor und System mit einer sowie Verfahren für eine Frequenz- und Spannungsskalierungsarchitektur | |
DE3914265C2 (de) | ||
DE2555963C2 (de) | Einrichtung zur Funktionsmodifizierung | |
DE60033994T2 (de) | Verfahren und System zur Ausgabe an und zum Ordnen von Befehlen in einem Festplattenlaufwerk | |
DE3424962C2 (de) | ||
DE19506435C2 (de) | Verfahren und Einrichtung zum Vermeiden von Rückschreibkonflikten zwischen einen gemeinsamen Rückschreibpfad verwendenden Ausführungseinheiten | |
DE19506990A1 (de) | Einrichtung zur Datenumleitung in einem Prozessor mit mehreren Ausführungseinheiten | |
DE19983098B4 (de) | Mehrfach-Bitanzeige zur Behandlung von Schreib-nach-Schreib-Fehlern und zur Eliminierung von Bypass-Komparatoren | |
DE2234867A1 (de) | Anordnung in datenverarbeitungsanlagen zum steuern der verarbeitung zweier voneinander unabhaengiger programme | |
DE4018481C2 (de) | ||
DE69922238T2 (de) | Mechanismus zur blockierung von ladeoperationen auf adressengeneration von speicherbefehlen und universeller abhängigkeitsvektor | |
DE19945993B4 (de) | Plattenschreibvollendungssystem | |
DE4216905A1 (de) | Superskalarprozessor | |
DE4403917A1 (de) | Vorrichtung zum Berechnen einer Besetzungszählung | |
DE2813080A1 (de) | Einrichtung zur speicheradressierung | |
DE19526008A1 (de) | Vertikal partitionierter, primärer Befehls-Cache-Speicher | |
DE10084982B4 (de) | Steuern einer Burst-Sequenz in synchronen Speichern |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8364 | No opposition during term of opposition | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |
Effective date: 20110401 |