PatentDe  


Dokumentenidentifikation DE19506990A1 07.09.1995
Titel Einrichtung zur Datenumleitung in einem Prozessor mit mehreren Ausführungseinheiten
Anmelder Intel Corp., Santa Clara, Calif., US
Erfinder Colwell, Robert P., Portland, Oreg., US;
Fetterman, Michael A., Hillsboro, Oreg., US;
Glew, Andrew F., Hillsboro, Oreg., US;
Hinton, Glenn J., Portland, Oreg., US;
Papworth, David B., Beaverton, Oreg., US
Vertreter Zenz, Helber, Hosbach & Partner, 45133 Essen
DE-Anmeldedatum 28.02.1995
DE-Aktenzeichen 19506990
Offenlegungstag 07.09.1995
Veröffentlichungstag im Patentblatt 07.09.1995
IPC-Hauptklasse G06F 9/38
IPC-Nebenklasse G06F 9/28   
Zusammenfassung Die Einrichtung erhöht den Durchsatz der von einem komplexen Mikroprozessor ausgeführten Instruktionen durch geeignete Umgehungseinrichtungen (51-56). Die Funktionseinheiten (IEU0, FEU0) innerhalb des Datenpfades werden mit einer Umgehungs-Multiplexerlogik versehen, die es den am Ausgang einer Ausführungseinheit anliegenden Ergebnisdaten von einer ausgeführten Instruktion ermöglicht, nicht nur zu einer die Instruktionen abfertigenden Reservierungsstation (20) zurückgeschrieben zu werden, sondern auch sofort als Quelldaten einer abhängigen Instruktion am Eingang einer anderen oder derselben Ausführungseinheit (31, 32, 35, 37) zur Verfügung zu stehen.

Beschreibung[de]

Die vorliegende Erfindung betrifft das Gebiet der Mikroprozessorarchitektur. Insbesondere betrifft die vorliegende Erfindung das Vorbeileiten (Bypassing) von Daten innerhalb komplexer Mikroprozessoren, um den Instruktionsdurchsatz zu erhöhen.

Mit fortschreitender Computerentwicklung streben die Mikroprozessorentwickler nach der Entwicklung von Chips, die eine höhere Leistung und eine schnellere Verarbeitung aufweisen. Die anfänglichen Fortschritte waren im wesentlichen darauf konzentriert, die Anzahl der Transistoren einer einen einzigen Mikroprozessor enthaltenden integrierten Schaltung zu erhöhen. Diese Entwicklung geht bei den heutigen Mikroprozessoren weiter, bei denen nun buchstäblich Millionen von Transistoren auf einem einzigen Chip angeordnet sind. Die weitere Integration hat es ermöglicht, daß die Prozessortaktraten mit der erhöhten Transistordichte stark erhöht wurden.

Durch das Überwinden von physikalischen Grenzen wird das Letzte an Leistungsfähigkeit herausgeholt. Mikroprozessoren sind in einzelne Funktionsblöcke aufgeteilt, durch welche Instruktionen jeweils eine Stufe pro Zeiteinheit weitergegeben werden. Dies ermöglicht eine Pipelineverarbeitung von Instruktionen, so daß eine zweite Instruktion an der ersten Stufe starten kann, wenn eine Instruktion die erste Verarbeitungsstufe beendet hat und zu der zweiten Stufe übertragen wird. Auf diese Weise sorgt die Pipelineverarbeitung selbst in den Fällen, wo jede Instruktion eine Anzahl von Taktzyklen zur Beendigung aller Verarbeitungsstufen benötigt, dafür, daß Instruktionen in jedem Taktzyklus beendet werden. Dieser Ein-Zyklus- Durchsatz eines Pipeline-Mikroprozessors erhöht die Gesamtleistung von Computersystemen stark.

Andere Verbesserungen des Mikroprozessor-Designs sind die Entwicklung von superskalaren Mikroprozessoren, die in der Lage sind, mehr als eine Instruktion pro Taktzyklus an der Anfangsstufe der Pipeline starten zu lassen. Ebenso werden in einem superskalaren Mikroprozessor oft mehr als eine Instruktion in jedem Taktzyklus beendet. Andere Entwicklungsfortschritte sind die Vereinfachung der Instruktionssätze eines Mikroprozessors, wobei Mikroprozessoren mit reduziertem Instruktionssatz (RISC) entwickelt wurden. Diese Mikroprozessoren nutzen die Tatsache, daß viele einfache Instruktionen häufiger ausgeführt werden als einige komplizierte Instruktionen. Durch das Eliminieren der komplizierten Instruktionen aus dem Instruktionssatz wird eine schnellere Ausführungspipeline geschaffen. Komplizierte Instruktionen werden durch Kombinationen der einfacheren Instruktionen ausgeführt.

Damit Mikroprozessoren mit Pipelineverarbeitung effizienter arbeiten, muß eine Instruktions-Heranholeinheit am Kopf der Pipeline die Pipeline kontinuierlich mit einem Instruktionsstrom versorgen. Jedoch hindern bedingte Verzweigungsinstruktionen innerhalb eines Instruktionsstroms eine Instruktions-Heranholeinheit an dem Kopf einer Pipeline solange daran, die richtige Instruktion heranzuholen, bis die Bedingung gelöst ist. Da diese Bedingung erst weiter unten in der Pipeline gelöst wird, ist die Instruktions-Heranholeinheit nicht in der Lage, richtige Instruktionen heranzuholen.

Zur Lösung dieses Problems verwenden viele Mikroprozessoren mit Pipelineverarbeitung Verzweigungsvorhersagemechanismen, die das Ergebnis von Verzweigungen vorhersagen und dann nachfolgende Instruktionen entsprechend der Verzweigungsvorhersage heranholen. Die Verzweigungsvorhersage geschieht unter Verwendung eines Verzweigungszielpuffers (BTB - Branch Target Buffer), der die Geschichte einer Verzweigungsinstruktion auf der Basis des Instruktionszeigers oder der Instruktionsadresse dieser Instruktion speichert. Jedesmal, wenn eine Verzweigungsinstruktion herangeholt wird, sagt der Verzweigungszielpuffer unter Verwendung der Verzweigungsgeschichte die Zieladresse der Verzweigung vorher. Als spekulative Ausführung wird es bezeichnet, wenn Instruktionen initiiert und beendet werden, bevor man weiß, ob es die richtigen Instruktionen sind. Die spekulative Ausführung enthält üblicherweise die Vorhersage mit einem BTB.

Neben der spekulativen Ausführung sind durch die Implementierung einer Außer-der-Reihe-Abfertigung (out-of-order dispatch) von Instruktionen zu den Ausführungseinheiten beträchtliche Anstiege des Instruktionsdurchsatzes erzielbar. Viele Experimente haben bestätigt, daß ein typischer Von- Neumann-Befehlscode durch Verwendung der ungeordneten Ausführung beträchtliche Parallelität und damit eine potentielle Leistungsverstärkung schafft. Außer-der-Reihe-Ausführung ist möglich, wenn eine bestimmte Instruktion nicht von vorangehenden Instruktionen abhängt, indem sie ein Ergebnis vor der Ausführung benötigt. Mit der Außer-der-Reihe-Ausführung kann sich eine beliebige, bis zu der Anzahl der Pipelinestufen aller Funktionseinheiten gehende Anzahl von Instruktionen in den Ausführungseinheiten in der Ausführung befinden.

In einem eine Außer-der-Reihe-Ausführung verwendendem Prozessor wird die Instruktionsausgabe abgebrochen, wenn es einen Konflikt bei einer Funktionseinheit gibt oder wenn eine ausgegebene Instruktion von einem Ergebnis einer Instruktion abhängt, das noch nicht berechnet wurde. Um Abbrüche zu verhindern oder ihre Auswirkungen zu mildern, wurde in früheren Veröffentlichungen die Schaffung eines als Reservierungsstation (RS) bekannten Puffers zwischen der Decodier- und der Ausführungsstufe beschrieben. Der Prozessor dekodiert Instruktionen und gibt sie in die Reservierungsstation ein, solange dort Platz in dem Puffer ist, und er untersucht gleichzeitig die Instruktionen in der Reservierungsstation, um diejenigen Instruktionen zu finden, die zu den Ausführungseinheiten abgefertigt werden können (d. h. Instruktionen, für die Quelloperanden und Ausführungseinheiten verfügbar sind) . Instruktionen mit bereitgestellten Daten werden von der Reservierungsstation mit wenig Rücksicht auf ihre ursprüngliche Programmreihenfolge abgefertigt. Für eine weitere Beschreibung der Verwendung einer Reservierungsstation und der Ausführung außer der Reihe sei verwiesen auf: Mike Johnson, Superscalar Microprocessor Design, Prentice-Hall, Inc., 1991, Kapitel 3 und 7.

Unabhängig von den die Geschwindigkeit und die Leistung erhöhenden Designs eines gegebenen Prozessors sind die meisten Prozessoren im allgemeinen in Hauptverarbeitungsblöcke unterteilt. Im allgemeinen werden separate Funktionseinheiten für Integer-Operationen, Gleitkomma-Operationen, Speicheroperationen usw. vorgesehen. Außerdem kann es sich in einigen Architekturen als effizient erweisen, bestimmte, häufig verwendete Funktionseinheiten, wie beispielsweise die Integer-Ausführungseinheit, doppelt vorzusehen. In einem außer der Reihe ausführenden Prozessor ist es häufig möglich, daß die Ergebnisse einer von einer Funktionseinheit ausgeführten Operation von einer anderen, von einer anderen Funktionseinheit ausgeführten Operation benötigt werden.

Aufgabe der Erfindung ist es, die Systemgeschwindigkeit und die Systemleistung durch Erhöhen des Instruktionsdurchsatzes zu vergrößern. Diese Aufgabe wird erfindungsgemäß gelöst durch eine Einrichtung mit den Merkmalen des Anspruchs 1.

Die vorliegende Erfindung schafft eine Einrichtung, die Ergebnisdaten von einer Ausführungseinheit direkt einer nächsten Ausführungseinheit zur Verfügung stellt, die eine abhängige Instruktion ausführen kann, ohne eine zusätzliche Verarbeitung der Ergebnisdaten vor der zeitlichen Einplanung (Scheduling) der abhängigen Instruktion zu erfordern.

Nach dem Vorstehenden ist es klar, daß eine Einrichtung zum schnellen Datenaustausch zwischen verschiedenen in komplexen Mikroprozessoren implementierten Ausführungseinheiten benötigt wird. Deshalb schafft die Erfindung ein umfassendes Umgehungsverfahren und eine umfassende Umgehungseinrichtung, um den Austausch von Ergebnisdaten der Ausführungseinheiten wirksam zwischen den Ausführungseinheiten in einem Mikroprozessor zu ermöglichen.

Die vorliegende Erfindung sieht dazu mehrere Umgehungs- Multiplexer vor, die in einem Mikroprozessor-Datenpfad mit mehreren Ausführungseinheiten implementiert sind. Die Ergebnisdaten von jeder Ausführungseinheit werden entlang eines Rückschreibpfades ausgesendet. Eine Mehrzahl von Umgehungs-Multiplexern, die mit den Eingängen der Ausführungseinheiten gekoppelt sind, nehmen die Ergebnisdaten von den Rückschreibpfaden auf und stellen diese Daten der zugehörigen Ausführungseinheit als Eingangsdatenquelle zur Verfügung. Die Freigabesignale zu der Mehrzahl der Umgehungs-Mutliplexer werden von einer dem Ausführungspfad des Mikroprozessors zugeordneten Einplanungslogik gesteuert.

In dem bevorzugten und implementierten Ausführungsbeispiel der vorliegenden Erfindung sind mehrere Ausführungseinheiten in einem außer der Reihe ausführenden Mikroprozessor vorgesehen. Auszuführende Instruktionen werden in einem als Reservierungsstation bezeichneten Instruktionspuffer zwischengespeichert. Die Reservierungsstation puffert die Instruktionen solange, bis alle benötigten Quelldaten für eine Instruktion verfügbar sind und eine benötigte Ausführungseinheit verfügbar ist. Die Reservierungsstation fertigt die Instruktion über irgendeinen der verschiedenen Abfertigungs-Ports ab, mit denen die Ausführungseinheiten gekoppelt sind. Ergebnisdaten der Ausführungseinheit werden einem Umordnungspuffer zum Wiederherstellen der ursprünglichen Programmreihenfolge zur Verfügung gestellt. Die Ergebnisdaten werden außerdem über den Rückschreibpfad der Reservierungsstation für abhängige Instruktionen, die möglicherweise auf diese Ergebnisdaten als benötigte Quelldaten warten, zur Verfügung gestellt. An dem Eingangspfad zu den Ausführungseinheiten sind mehrere Umgehungs-Multiplexer angeordnet, die in der Lage sind, die Ergebnisdaten direkt von den Rückschreibpfaden aufzunehmen und die Daten als Eingangsquelldaten einer zugehörigen Ausführungseinheit zur Verfügung zu stellen.

Das bevorzugte Ausführungsbeispiel der Erfindung weist eine Einplanungslogik in der Reservierungsstation auf, die weiß, wenn eine vorgegebene Ausführungseinheit Ergebnisdaten über den Rückschreibpfad zur Verfügung stellt. Wenn die Einplanungslogik weiß, daß Ergebnisdaten zur Ausführung einer anderen Instruktion durch eine Ausführungseinheit benötigte Eingangsquelldaten darstellen, legt die Einplanungslogik der Reservierungsstation ein Freigabesignal an den erforderlichen Umgehungs-Multiplexer an, um die Ergebnisdaten von dem Rückschreibpfad direkt zu einem Quelldateneingang der Ausführungseinheit zu senden, die die abhängige Instruktion ausführt. Diese Daten können zu anderen Ausführungseinheiten oder zu der gleichen Ausführungseinheit, die die nun als Quelldaten für die andere Instruktion verwendeten Ergebnisdaten erzeugt hat, verwendet werden. Durch das Schaffen einer umfassenden Umgehungsmöglichkeit, erhöht die vorliegende Erfindung den Instruktionsdurchsatz eines komplexen Mikroprozessors.

Im folgenden wird die Erfindung anhand eines in der Zeichnung dargestellten Ausführungsbeispiels näher erläutert. In der Zeichnung zeigen:

Fig. 1 eine schematische Darstellung der Computerarchitektur, in der die Erfindung implementiert werden kann;

Fig. 2 ein Blockschaltbild, das einen die Erfindung enthaltenden Teil des Mikroprozessors darstellt;

Fig. 3 ein detaillierteres Blockschaltbild eines außer der Reihe ausführenden Mikroprozessorkerns, der ein Ausführungsbeispiel der Erfindung enthält; und

Fig. 4 eine detailliertere Darstellung eines Teils des außer der Reihe ausführenden Mikroprozessorkerns mit einer erfindungsgemäßen Umgehungs-Einrichtung.

Die vorliegende Erfindung stellt eine Umgehungs-Einrichtung zur Verfügung, um den Instruktionsdurchsatz für einen Mikroprozessor mit mehreren Ausführungseinheiten zu erhöhen. In der folgenden Beschreibung werden zahlreiche spezielle Details genannt, beispielsweise spezielle Datenpfade und spezielle Kopplungsarten eines bevorzugten Ausführungsbeispiels, um ein besseres Verständnis der Erfindung zu ermöglichen. Es ist für den Fachmann jedoch klar, daß die vorliegende Erfindung in einer wesentlich allgemeineren Form dort verwendet werden kann, wo die Vorteile der Erfindung wünschenswert sind. In anderen Fällen sind bekannte Steuerstrukturen und Schaltungen auf Gatterebene nicht im Detail gezeigt, um das Verständnis der Erfindung nicht unnötig zu erschweren. Insbesondere werden viele von verschiedenen Logiken und Multiplexer-Schaltungen auszuführende Funktionen beschrieben. Aufgrund dieser Beschreibung ist der Fachmann in der Lage, ohne übermäßige Versuche die erforderliche Logik und die erforderlichen Multiplexer-Schaltungen zu implementieren.

In Fig. 1 ist ein typisches Computersystem dargestellt, das einen die Erfindung implementierenden Mikroprozessor verwendet. Ein Computer 100 weist drei Hauptkomponenten auf. Die erste dieser Hauptkomponenten ist die Eingabe/Ausgabe(I/O)-Schaltung 101, die zum Austausch von geeignet strukturierten Informationen mit anderen Teilen des Computers 100 sowie mit externen Geräten verwendet wird. Weitere Komponenten des Computers 100 sind eine Verarbeitungseinheit (CPU) 102 und ein Speicher 103. Diese beiden letztgenannten Einrichtungen sind in den meisten Universalrechnern und in fast allen Spezialrechnern zu finden. Viele kommerziell erhältliche Computer mit unterschiedlichen Fähigkeiten können mit einem die Erfindung implementierenden Prozessor verwendet werden.

In Fig. 1 ist außerdem eine in der typischen Ausführungsform als Tastatur dargestellte Eingabeeinrichtung 105 gezeigt. Außerdem ist als Eingabeeinrichtung ein Grafiktableau 107 dargestellt. Es ist jedoch klar, daß die Eingabeeinrichtung auch jede andere Art von bekannten Eingabeeinrichtungen (natürlich einschließlich eines anderen Computers) sein kann. Eine Massenspeichereinrichtung 104 ist mit der I/O-Schaltung 101 gekoppelt und stellt zusätzliche Speichermöglichkeiten für den Rechner 100 zur Verfügung. Der Massenspeicher kann andere Programme enthalten und kann ein magnetisches oder optisches Plattenlaufwerk sein. Es ist klar, daß die in dem Massenspeicher 104 gespeicherten Daten in bestimmten Fällen in üblicher Weise in den Rechnern 100 als Teil des Speichers 103 integriert werden können.

Außerdem sind drei typische Computeranzeigeeinrichtungen dargestellt, ein Anzeigebildschirm 108, ein Plotter 109 und ein Laserdrucker 110. Jede Anzeigeeinrichtung kann zum Anzeigen von Bildern oder Dokumenten oder anderen von dem Computer 100 verwendeten Daten eingesetzt werden. Eine Cursor-Steuereinrichtung 106, beispielsweise eine Maus, ein Trackball oder ein Stift sind ebenfalls mit der I/O-Schaltung 101 gekoppelt. Andere geeignete Zeigereinrichtungen können verwendet werden.

Das bevorzugte Ausführungsbeispiel der vorliegenden Erfindung ist dafür vorgesehen, in einem Mikroprozessor ausgeführt zu werden, der den Instruktionssatz des bekannten Mikroprozessors mit Intel-Architektur ausführt. Die vorliegende Erfindung kann jedoch in jeder anderen Mikroprozessor-Architektur verwendet werden, in welcher eine Reservierungsstation verwendet wird, um Instruktionen zu speichern, bis Daten- und Ressourcenabhängigkeiten gelöst sind. Eine Vielzahl von Mikroprozessoren kann die Vorteile der vorliegenden Erfindung nutzen, und zwar unabhängig davon, ob diese Mikroprozessoren einen einzelnen Chip oder mehrere Chips beanspruchen und unabhängig davon, ob die zur Herstellung des Chips verwendeten Materialien Silizium oder Galliumarsenid enthalten.

Der erfindungsgemäße Mikroprozessor dekodiert vor dem Ausführen der Instruktionen eines Mikroprozessors mit Intel- Architektur diese in eine einfachere, stilisierte Sequenz von "Mikrobefehlen". Die Mikrobefehle werden dann analysiert und entsprechend den aufgelösten Abhängigkeiten erneut eingeplant, wobei die Außer-der-Reihe-Ausführung implementiert wird. Die unten gezeigte Sequenz zeigt das Abbilden von sechs Instruktionen des Dhrystone-Testprogramms in ihre Mikrobefehle ("Gn" heißt allgemeines Register n (General register n)):



Wie zu sehen ist, wird die PUSH-Instruktion (Einkeller-Instruktion) des BP-Registers in zwei Mikrobefehle konvertiert. Der erste Mikrobefehl führt das Speichern des Registers aus und der zweite paßt den Stapelspeicherzeiger (oder Kellerspeicherzeiger) an. Diese beiden Mikrobefehle hängen nicht voneinander ab. Der der PUSH-Instruktion entsprechende "Mikrobefehl" wurde explizit geschrieben, um, wo dies möglich ist, eine maximale Parallelität zu ermöglichen. Wie zu sehen ist, werden einige komplexe Instruktionen in mehrere Mikrobefehle übersetzt, die untereinander einen Bezug haben können oder nicht. Einfache Instruktionen (wie beispielsweise XOR oder ADD) werden direkt in einen einzigen Mikrobefehl abgebildet.

Fig. 2 zeigt ein Blockschaltbild eines spekulativen außer der Reihe ausführenden Prozessors. Der Prozessor weist eine Instruktionsheranholeinheit (IFU - instruction fetch unit) 102 auf, die mit einem Verzweigungszielpuffer (BTB - branch target buffer) 104 und einem Instruktionsdecodierer (ID) 106 gekoppelt ist. Auf der Basis des von dem BTB 104 der IFU 102 zur Verfügung gestellten Instruktionszeigers (IP - instruction pointer), holt die IFU 102 die Makroinstruktion heran, die an derjenigen Adresse im (nicht dargestellten) Speicher gefunden wird, auf die vom IP gezeigt wird. Die Instruktion wird vom Instruktionsdecodierer 106 in einen oder mehrere Mikrobefehle decodiert. Ein solches Decodierverfahren findet in den Intel-Mikroprozessor-Architekturen statt. Der Instruktionsdecodierer 106 überträgt den Strom von Mikrobefehlen zu einer Register-Alias- Tabelle (RAT) 114 und zu einem Zuweiser (ALLOC) 112. Bei einem Ausführungsbeispiel gibt der Instruktionsdecodierer 106 bis zu drei geordnete Mikrobefehle während jedes Zyklusses des Prozessors aus.

Der Zuweiser 112 weist jedem eingehenden Mikrobefehl eine Stelle in dem Umordnungspuffer (ROB - re-order buffer) 40 zu, wobei die logische Zieladresse (LDST - logical destination) des Mikrobefehls in eine zugehörige physikalische Zieladresse (PDST) in dem ROB abgebildet wird. Eine Register-Alias-Tabelle (RAT) 114 verwaltet diese Abbildung.

Der Inhalt eines ROB-Registers wird an einer Stelle einer realen Registerdatei (RRF - real register file) 110 abgelegt. Die RAT 114 speichert auf diese Weise auch ein Gültig-Bit der realen Registerdatei (RRFV - real register file valid bit), das anzeigt, ob der von der logischen Adresse angegebene Wert nach der Ablage an der physikalischen Adresse in dem ROB oder in der RRF zu finden ist. Auf der Basis dieser Abbildung verbindet die RAT 114 auch jede logische Quelladresse mit einer zugehörigen Stelle in dem ROB oder der RRF (der Quelloperand einer Instruktion muß im allgemeinen das Ziel einer vorangegangenen Instruktion gewesen sein).

Jeder eingehende Mikrobefehl wird außerdem von dem Zuweiser 112 einem Eintrag in der Reservierungsstation 20 zugewiesen und in diesen geschrieben. Die Reservierungsstation (RS) 20 assembliert die Mikrobefehle, die auf die Ausführung durch eine geeignete Ausführungseinheit warten, beispielsweise die Integer-Ausführungseinheit (IEU - integer execution unit) 34 oder die Speicher-Ausführungseinheit (MEMEU) 117.

In Fig. 3 ist ein Teil des erfindungsgemäßen Mikroprozessors detailliert dargestellt. Bei dem bevorzugten Ausführungsbeispiel implementiert der Mikroprozessor die Außer-der- Reihe-Ausführung. Der in Fig. 3 dargestellte Teil des Mikroprozessors kann als der außer der Reihe ausführende Kern des Mikroprozessors betrachtet werden. Das erste Element des in Fig. 3 dargestellten Kerns ist die Reservierungsstation 20. Die Reservierungsstation ist ein den Funktionseinheiten vorgeschalteter Puffer, der die Mikrobefehle hält, die auf zur Ausführung benötigte Ressourcen warten. Diese benötigten Ressourcen enthalten Quelldatenoperanden (die vorangegangene Mikrobefehle möglicherweise noch nicht erzeugt haben) und eine zum Ausführen des Mikrobefehls verfügbare Funktionseinheit.

Die Reservierungsstation führt verschiedene Funktionen aus. Sie dient als Puffer für Instruktionen und für Quelldaten, die verfügbar sind oder werden. Die Reservierungsstation hält wartende Instruktionen und "überwacht" "auf der Suche" nach Quelldaten, die sie für ihre Mikrobefehle benötigt, alle Ergebnis/Rückschreib-Busse von allen anderen Ausführungseinheits- Schnittstellen. Wenn die gesuchten Daten auf dem Ergebnisbus 120 ankommen, greift die Reservierungsstation diese und schreibt diese in das geeignete Quelldatenfeld.

Sobald alle Quelloperanden für einen Mikrobefehl in der Reservierungsstation sind, bestimmt die Reservierungsstation, wann eine geeignete Ausführungseinheit verfügbar ist, und plant den mit bereitgestellten Daten versehenen Mikrobefehl zur Abfertigung zu einer verfügbaren Ausführungseinheit ein. Die Erfindung betrifft das Einplanen der Abfertigung der Mikrobefehle.

Die Reservierungsstation 20 der Fig. 3 ist mit fünf Abfertigungs-Ports dargestellt. In erster Linie werden bei dem dargestellten Ausführungsbeispiel Mikrobefehle über entweder den Abfertigungs-Port 0 oder den Abfertigungs-Port 1 abgefertigt. Bei dem bevorzugten Ausführungsbeispiel sind fünf Ausführungseinheiten mit dem Abfertigungs-Port 0 der Reservierungsstation 20 gekoppelt. Das sind die Gleitkomma- Additionseinheit (Fadd) 31, die Gleitkomma- und Integer-Multiplikationseinheit (I/F Mult) 32, die Gleitkomma Divisionseinheit (Fdiv/Idiv) 33, die Integer-Ausführungseinheit (IEU[0]) 34 und eine hybride, fest verdrahtete Logikeinheit (Wire) 35. Der komplexe Instruktionssatz der Intel-Mikroprozessorarchitektur wird, wie bereits beschrieben wurde, auf einen einfacheren Mikrobefehlsstrom reduziert. Diese Mikrobefehle werden, wenn sie von der Reservierungsstation abgefertigt werden, von den verschiedenen Ausführungseinheiten abgearbeitet. Viele Anwendungsprogramme verwenden häufig die Integer-Ausführungseinheit. Die Integer- Ausführungseinheit 34 ist so konzipiert, daß sie in der Lage ist, Mikrobefehle mit bereitgestellten Daten in einem Taktzyklus zu verarbeiten. Sie wird deshalb als eine 1-Zyklus-Funktionseinheit bezeichnet. Die Integer-Ausführungseinheit 34 empfängt Daten mit einer Breite von 32 Bits. Die Gleitkomma- Ausführungseinheiten 31, 32 und 33 führen kompliziertere Aufgaben aus, wenn sie Mikrobefehle mit bereitgestellten Daten empfangen. Diese Funktionseinheiten empfangen Eingangsströme mit einer Breite von 86 Bits für Quelldaten.

Bei dem bevorzugten Ausführungsbeispiel erfordert eine Gleitkommaadditionsinstruktion drei Taktzyklen und eine Gleitkommamultiplikationsinstruktion fünf Taktzyklen zu ihrer Ausführung. Gleitkommadivisionen und Quadratwurzelberechnungen, die beide von der Gleitkommadivisionseinheit 33 ausgeführt werden, haben in Abhängigkeit von der für ihr Ergebnis benötigten Genauigkeit Latenzzeiten variabler Länge. Die festverdrahtete Logikeinheit 35 ist eine hybride Ausführungseinheit, die in dem bevorzugten Ausführungsbeispiel für verschiedene andere Instruktionen implementiert ist. Sie ähnelt einer Gleitkommaeinheit dadurch, daß der Eingangsstrom 86 Bit breite Quelldaten aufnimmt, aber verhält sich mehr wie eine Integer- Ausführungseinheit, da sie ihre Operationen in einem einzigen Taktzyklus ausführt.

Der Abfertigungs-Port 1 der Reservierungsstation 20 ist auch mit zwei Ausführungseinheiten gekoppelt. Es sind eine Integer-Ausführungseinheit (IEU[1]) 36 und eine Sprung-Einheit (Jump) 37. Die Integer-Ausführungseinheit 36 kann identisch zu der Ausführungseinheit 34 sein, oder sie kann zusätzliche und/oder unterschiedliche Funktionen haben. Zwei Integer- Ausführungseinheiten sind aufgrund des zumeist üblichen hohen Anteils der Integer-Mikrobefehle vorgesehen, wodurch die Leistung des gesamten Systems verbessert wird. Natürlich können andere Mikroprozessoren in Abhängigkeit von den Designaufgaben mehr oder weniger Ausführungseinheiten enthalten.

Nachdem eine Ausführungseinheit einen Mikrobefehl ausgeführt hat, schreibt sie das Ergebnis über einen Rückschreibbus 120 zu dem Umordnungspuffer 40 zurück. Der Umordnungspuffer 40 dient als die Stelle, an der die Ergebnisse der außer der Reihe ausgeführten Mikrobefehle derart gesammelt werden, daß sie später in der richtigen Von-Neumann- Programmreihenfolge in den Maschinenstatus festgeschrieben (committed) werden können; die Register für die verbindlichen (committed) Zustände sind in der RRF. Somit ist der Umordnungspuffer die Stelle, wo der außer der Reihe ausführende Kern den Instruktionsstrom in dessen ursprüngliche Programmreihenfolge reassembliert, bevor er ihn in den verbindlichen Zustand festlegt. Zur gleichen Zeit, zu der die Ausführungseinheiten zu dem Umordnungspuffer 40 zurückschreiben, können sie zu der Reservierungsstation 20 zurückschreiben. Es kann sein, daß das Ergebnis einer Ausführungseinheit einen Quelloperanden zur Verfügung stellt, der für die Ausführung eines in der Reservierungsstation wartenden anderen Mikrobefehls benötigt wird. In ähnlicher Weise kann ein Ergebnis von einer Ausführungseinheit sofort zu einer anderen (oder derselben) Ausführungseinheit umgeleitet werden, wenn eine abhängige Instruktion bereits abgefertigt wurde.

Bei dem bevorzugten Ausführungsbeispiel des außer der Reihe ausführenden Mikroprozessors ist die Reservierungsstation 20für die Einplanung der Abfertigung der Instruktionen für die verschiedenen oben beschriebenen Ausführungseinheiten verantwortlich. Die Einplanungslogik der Reservierungsstation 20 weiß beim Abfertigen einer Instruktion zu einer Ausführungseinheit, wann es zu erwarten ist, daß Ergebnisdaten für eine vorgegebene Instruktion über die Rückschreibbusse zurückgeschrieben werden. Ferner arbeitet die Reservierungsstation wie ein Assoziativ- oder inhaltsadressierbarer Speicher (CAM), in dem die CAM-Vergleichstechniken zur Feststellung verwendet werden können, daß Rückschreibdaten benötigte Quelldaten für eine auf die Zuteilung in der Reservierungsstation wartende abhängige Instruktion liefern.

In Fig. 4 ist ein Teil des außer der Reihe ausführenden Mikroprozessorkerns detaillierter dargestellt, der die vorliegende Erfindung implementiert. Es sind nur die Ausführungseinheiten dargestellt, die mit den Abfertigungs-Ports 0 und 1 gekoppelt sind. Es ist klar, daß die anhand der Abfertigungs- Ports 0 und 1 im folgenden beschriebenen Prinzipien und Ausführungsformen auch auf die über die Abfertigungs-Ports 2, 3 und 4 des bevorzugten Ausführungsbeispiels versorgten Funktionseinheiten übertragen werden können.

Wie oben beschrieben wurde, empfangen die IEU[0] und eine Gruppe aus Gleitkomma-Ausführungseinheiten Instruktionen über den Abfertigungs-Port 0 der Reservierungsstation 20. Die IEU[1] und die Sprungeinheit 37 empfangen Instruktionen über den Abfertigungs-Port 1. Die mit dem Abfertigungs-Port 0 gekoppelten Funktionseinheiten schreiben Ergebnisdaten über den Rückschreibbus 120 zurück, der über den Rückschreib(WB)-Port 0 mit der Reservierungsstation 20 dem ROB 40 gekoppelt ist. IEU[1] und die Sprungeinheit 37, die Instruktionen von dem Abfertigungs-Port 1 empfangen, schreiben Ergebnisdaten über den Rückschreibbus 121 zurück, der mit der Reservierungsstation 20 über den Rückschreib-Port 1 gekoppelt ist. Bei dem bevorzugten Ausführungsbeispiel enthält der Mikroprozessor einen dritten Rückschreib-Bus 122, den die Speicherfunktionseinheiten verwenden, um Ergebnisdaten zurückzuschreiben. Der Rückschreibbus 122ist mit der Reservierungsstation 20 über den Rückschreib-Port 2 gekoppelt.

Fig. 4 zeigt, daß der außer der Reihe ausführende Kern des Mikroprozessors des bevorzugten Ausführungsbeispiels mehrere zur Implementierung der Erfindung verwendete Umgehungs- Multiplexer aufweist. Beispielsweise sind die Umgehungs-Multiplexer 51 und 52 mit dem Eingabepfad der IEU[0] gekoppelt. In ähnlicher Weise sind die Umgehungs-Multiplexer 53 und 54 mit dem Eingabepfad der IEU[1] gekoppelt. Ferner sind die Umgehungs-Multiplexer 55 und 56 mit dem Eingabepfad zu all den Gleitkomma-Einheiten gekoppelt, die Instruktionen über den Abfertigungs-Port 0 empfangen.

Die in Fig. 4 dargestellten Umgehungs-Multiplexer (Bypass- Mux) sind jeweils so geschaltet, daß sie Quelldaten 1 und Quelldaten 2 von dem Abfertigungs-Port, mit dem sie gekoppelt sind, sowie von jedem Rückschreibbus empfangen können. In Fig. 4 ist nur das Liefern von Quellenoperandendaten 1 und 2 an die Ausführungseinheiten dargestellt. Es ist jedoch klar, daß eine Reservierungsstation beim Abfertigen einer Instruktion zu einer Ausführungseinheit grundsätzlich sowohl den Instruktionsbefehlscode als auch die Quelloperanden 1 und 2 liefert. Darüber hinaus können weitere Informationen, beispielsweise Flag- und Fehlerinformationen zwischen Einheiten innerhalb des Mikroprozessors ausgetauscht werden.

Fig. 4 zeigt, daß die Umgehungs-Multiplexer mit "Bypass- Steuerung" bezeichnete Auswahlleitungs-Freigabesignale empfangen. Die Umgehungs-Steuersignale werden von der Reservierungsstation 20 zur Steuerung der Freigabe der Umgehungs-Multiplexer zur Verfügung gestellt. Die Reservierungsstationslogik bestimmt, wenn ein Operand für eine abhängige Instruktion über einen der Rückschreibbusse als Ergebnisdaten von einer Funktionseinheit zurückgeschrieben wird. Wenn eine Instruktion in der Reservierungsstation vorliegt, die alle benötigten Komponenten bis auf einen Quellenoperanden aufweist, und dieser Quellenoperand das Ergebnis einer vorher abgefertigten Instruktion ist, kann die Reservierungsstation die Abfertigung der wartenden Instruktion vor dem Empfang des benötigten Quellenoperanden planen. Die Reservierungsstation fertigt die wartende Instruktion und den bereits in der Reservierungsstation gespeicherten Quellenoperanden zu der für diese Instruktion ausgewählten Funktionseinheit ab. Gleichzeitig zu der Abfertigung der Instruktion von der Reservierungsstation zu der Ausführungseinheit liefert die Reservierungsstation dem der empfangenen Ausführungseinheit zugeordneten Umgehungs-Multiplexer ein Steuersignal, das die zu liefernden Ergebnisdaten von dem Rückschreibbus an die Ausführungseinheit als benötigte Quellenoperanden-Eingangsdaten sendet.

Wenn ein bereits in der Reservierungsstation 20 gespeicherter Operand der Quelloperand 1 für eine von der IEU[0] abzufertigende Instruktion ist, wird die Reservierungsstation den Befehlscode und den Quelloperanden zu der Ausführungseinheit abfertigen. Der Reservierungsstation wird außerdem ein Umgehungs-Steuersignal dem Quelle1-Umgehungs-Multiplexer 51 liefern, das den Multiplexer anweist, den von dem Abfertigungs- Port 0 der Reservierungsstation empfangenen Quelloperanden 1 an den IEU[0]-Quelloperand1-Eingang anzulegen. Wenn der zweite Quelloperand aus Ergebnisdaten von einer vorher ausgeführten Instruktion besteht, die von der Ausführungseinheit IEU[1] zurückgeschrieben werden, sendet die Reservierungsstation das zugehörige Umgehungs-Steuersignal an den Quelle2-Umgehungs- Multiplexer 52. Das Steuersignal weist den Quelle2-Umgehungs- Multiplexer 52 an, die Ergebnisdaten von dem Rückschreibbus 121 zu dem Quelloperand2-Eingang der IEU[0] weiterzuleiten. Auf diese Weise kann die in der Reservierungsstation vorliegende Instruktion früher abgefertigt werden, als es dann möglich wäre, wenn sie darauf warten müßte, daß die Ergebnisdaten von der IEU[1] in die Reservierungsstation geschrieben werden und wenn sie dann die Abfertigung zu der IEU[0] einplanen müßte.

Bei dem bevorzugten Ausführungsbeispiel sind zwei Sätze von Quellel- und Quelle2-Umgehungs-Multiplexern für die über den Abfertigungs-Port 0 der Reservierungsstation 20 Instruktionen empfangenden Funktionseinheiten vorgesehen. Die IEU[0]-Funktionseinheit hat ihren eigenen Satz von Quellen-Umgehungs- Multiplexern 51 und 22, während die Gruppe von Gleitkomma- Ausführungseinheiten sich die Quellen-Umgehungs-Multiplexer 55 und 56 teilt. Jeder dieser Multiplexer ist, genauso wie die für die anderen Funktionsblöcke vorgesehenen Umgehungs-Multiplexer, in der Lage, von der Reservierungsstation abgefertigte Daten genauso wie von jedem der Rückschreibbusse 120, 121 oder 122 direkt abgegriffene Daten zu empfangen. Getrennte Umgehungs- Multiplexer sind für die IEU[0]-Funktionseinheit vorgesehen, da dies zu einer geringeren Belastung der Umgehungs-Multiplexer führt und auf diese Weise eine höhere Taktgeschwindigkeit erzielt werden kann. Die Gleitkomma-Ausführungseinheiten weisen eine größere Latenztoleranz auf, so daß es effizienter sein kann, die Umgehungs-Multiplexer 55 und 56 gemeinsam zu verwenden, anstelle separate Multiplexer für jede Funktionseinheit vorzusehen. Alternativ können sich alle von dem Abfertigungs- Port 0 Instruktionen empfangenen Ausführungseinheiten einen Satz von Umgehungs-Multiplexern in den Fällen teilen, wo Geschwindigkeitsbetrachtungen von geringerer Bedeutung sind. Genauso kann jede vom Abfertigungs-Port 0 Instruktionen empfangene Ausführungseinheit eigene Umgehungs-Multiplexer aufweisen. Das Verwenden einzelner Umgehungs-Multiplexer 51 und 52 für die IEU[0] verbessert einen Pfad mit kritischer Geschwindigkeit und ermöglicht es diesem Multiplexer außerdem, spezielle Datenmanipulationsfunktionen aufzuweisen, die für das Senden von Daten an die IEU[0] benötigt werden können.

Obwohl Fig. 4 nur die mit dem Abfertigungs-Port 0 und dem Abfertigungs-Port 1 gekoppelten Funktionseinheiten und Umgehungs-Multiplexer darstellt, ist es klar, daß eine entsprechende Umgehungs-Schaltung für die von den Abfertigungs-Ports 2, 3 und 4 Instruktionen empfangenden Funktionseinheiten vorgesehen sein kann. Bei dem bevorzugten Ausführungsbeispiel empfängt nur die Speichere-Daten-Funktionseinheit über den Abfertigungs-Port 4 von der Reservierungsstation 20 Instruktionen. Aus diesem Grund benötigt eine über den Abfertigungs-Port 4 abgefertigte Instruktion nur einen einzigen Quelloperanden, und deshalb muß dort nur ein Umgehungs-Multiplexer vorgesehen werden. Natürlich sollten alle mit Instruktionen über die Abfertigungs-Ports 2, 3 oder 4 empfangenden Ausführungseinheiten gekoppelten Umgehungs-Multiplexer zur Optimierung ihrer Umgehungs-Wirksamkeit so ausgestattet sein, daß sie nicht nur von der Reservierungsstation 20 abgefertigte Daten, sondern auch direkt abgegriffene Daten von jedem der Rückschreibbusse 120, 121 und 122 empfangen.

Wichtig ist außerdem, daß, wenn ein Quelloperand direkt zu einer Funktionseinheit umgeleitet wird, er außerdem in den ROB 40 geschrieben wird und der Reservierungsstation 20 angeboten wird. Dies muß geschehen, da die Ergebnisdaten auf dem Rückschreibbus möglicherweise von mehr als einer wartenden Instruktion in der Reservierungsstation benötigt werden. Außerdem ist es möglich, daß das Ergebnis der Lade-Daten-Instruktion aufgrund eines Cache-Speicher-Fehlversuchs nicht verfügbar ist, wenn beispielsweise eine Ausführungseinheit zwei umgeleitete Operanden empfängt, einen von dem Rückschreibbus 121 als Ausgangssignal von der IEU[1] und einen anderen Operanden als Ergebnis einer Lade-Speicherdaten-Instruktion, die über den Rückschreibbus 122 zurückgeschrieben wird. In diesem Fall sollten die Ergebnisdaten von der IEU[1] zusammen mit der wartenden Instruktion in der Reservierungsstation zwischengespeichert werden, und es sollte der empfangenen Funktionseinheit erlaubt werden, mit anderen Instruktionen fortzufahren, bis die Speicheroperation beendet ist. Indem die wartenden Daten nicht in der Ausführungseinheit sondern statt dessen in der Reservierungsstation latch-gespeichert werden, bleiben die Vorteile der Außer-der-Reihe-Ausführung erhalten, so daß die Ausführungseinheit weiter völlig unabhängige Operationen ausführen kann.


Anspruch[de]
  1. 1. Einrichtung zum Verarbeiten von Instruktionsdaten in einem Mikroprozessor, gekennzeichnet durch:

    einen Instruktionspuffer (20) zum Zwischenspeichern von Instruktionen und zum Einplanen der Abfertigung einer Instruktion, wenn für diese Instruktion erste und zweite Quelloperanden verfügbar sind;

    eine erste Mehrzahl von Ausführungseinheiten (31-37), die im Datenaustausch mit dem Instruktionspuffer (20) stehen, zum Empfangen einer Instruktion mit ersten und zweiten Quelloperanden und zum Ausführen dieses Instruktion zum Erzeugen von Ergebnisdaten;

    einen mit der ersten Mehrzahl von Ausführungseinheiten gekoppelten ersten Rückschreibpfad (120) zum Übertragen der Ergebnisdaten von den Ausführungseinheiten;

    wenigstens ein erstes und zweites Paar von Umgehungs- Multiplexern für erste und zweite Quelloperanden, von denen jeder zwischen wenigstens einer der ersten Mehrzahl von Ausführungseinheiten (31 bis 35) und dem Instruktionspuffer (20) angeordnet ist, wobei jeder Umgehungs-Multiplexer auf von dem Instruktionspuffer erzeugte Steuersignale anspricht und von denen jeder mit dem ersten Rückschreibpfad (120) gekoppelt ist, wobei der Instruktionspuffer die Umgehungs- Multiplexer derart ansteuert, daß diese die Ergebnisdaten von dem Rückschreibpfad direkt an eine der Mehrzahl von Ausführungseinheiten schreiben können.
  2. 2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß der Instruktionspuffer einen ersten Abfertigungs-Port (0) zum Abfertigen von Instruktionen und Quelloperanden aufweist, wobei die erste Mehrzahl von Ausführungseinheiten eine erste Integer-Ausführungseinheit (34) und eine erste Mehrzahl von Gleitkomma-Ausführungseinheiten (31, 32, 35) enthält, wobei die erste Integer-Ausführungseinheit (34) und die erste Mehrzahl von Gleitkomma-Ausführungseinheiten (31, 32, 35) jeweils so angeordnet sind, daß sie über den ersten Abfertigungs-Port (0) abgefertigte Instruktionen empfangen und Ergebnisdaten über den ersten Rückschreibpfad (120) senden.
  3. 3. Einrichtung nach Anspruch 2, dadurch gekennzeichnet, daß das erste Paar von Umgehungs-Multiplexern für erste und zweite Quelloperanden mit den Quelloperandeneingängen der ersten Integer-Ausführungseinheit (34) gekoppelt ist und Daten von dem Instruktionspuffer (20) und dem ersten Rückschreibpfad (120) empfangen kann, wobei das erste Paar von Umgehungs-Multiplexern Ergebnisdaten in Abhängigkeit von einem von dem Instruktionspuffer erzeugten Steuersignal selektiv von dem Rückschreibpfad als Quelloperanden-Eingangsdaten zu der ersten Ausführungseinheit sendet.
  4. 4. Einrichtung nach Anspruch 2 oder 3, dadurch gekennzeichnet, daß das zweite Paar von Umgehungs-Multiplexern für erste und zweite Quelloperanden mit den Quelloperandeneingängen der ersten Mehrzahl von Gleitkomma-Ausführungseinheiten (31, 32, 35) gekoppelt ist und Daten von dem Instruktionspuffer (20) und dem ersten Rückschreibpfad (120) empfangen kann, wobei das zweite Paar von Umgehungs-Multiplexern Ergebnisdaten in Abhängigkeit von einem von dem Instruktionspuffer erzeugten Steuersignal selektiv als Quelloperanden-Eingangsdaten an eine ausgewählte Ausführungseinheit der ersten Mehrzahl von Gleitkomma-Ausführungseinheiten sendet.
  5. 5. Einrichtung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß der Instruktionspuffer (20) einen zweiten Abfertigungs-Port (1) zum Abfertigen von Instruktionen und Quelloperanden aufweist, wobei der Mikroprozessor einen zweiten Rückschreibpfad (121) und eine zweite Integer- Ausführungseinheit (36) aufweist, um Instruktionen und Quelloperanden von dem Instruktionspuffer über den zweiten Abfertigungs-Port zu empfangen, wobei die zweite Integer-Ausführungseinheit mit dem zweiten Rückschreibpfad zum Übertragen von Ergebnisdaten von der zweiten Integer-Ausführungseinheit gekoppelt ist.
  6. 6. Einrichtung nach Anspruch 5, dadurch gekennzeichnet, daß sie ein drittes Paar von Umgehungs-Muliplexern für erste und zweite Quelloperanden aufweist, die mit den Quelloperandeneingängen der zweiten Integer-Ausführungseinheit (36) gekoppelt sind und Daten von dem Instruktionspuffer (20) und dem zweiten Rückschreibpfad (121) empfangen können, wobei das dritte Paar von Umgehungs-Multiplexern in Abhängigkeit von einem von dem Instruktionspuffer erzeugten Steuersignal selektiv Ergebnisdaten als Quelloperanden-Eingangsdaten an die zweite Integer-Ausführungseinheit sendet.
  7. 7. Einrichtung nach Anspruch 6, dadurch gekennzeichnet, daß das erste, zweite und dritte Paar von Umgehungs-Multiplexern mit dem ersten Rückschreibpfad (120) und dem zweiten Rückschreibpfad (121) gekoppelt sind, um das direkte Abgreifen von Ergebnisdaten von dem ersten und/oder zweiten Rückschreibpfad über das erste, zweite oder dritte Paar von Quelloperanden-Umgehungs-Multiplexern zu ermöglichen.
  8. 8. Einrichtung nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß der Instruktionspuffer (20) einen dritten Abfertigungs-Port zum Abfertigen von Instruktionen und Quelloperanden aufweist und daß der Mikroprozessor eine Speicherausführungseinheit (40) zum Empfangen von Instruktionen über den dritten Abfertigungs-Port des Instruktionspuffers und einen Ergebnisdaten von der Speicher-Ausführungseinheit empfangenden dritten Rückschreibpfad (122) aufweist.
  9. 9. Einrichtung nach Anspruch 8, dadurch gekennzeichnet, daß ein viertes Paar von Umgehungs-Multiplexern mit den Quelloperandeneingängen der Speicher-Ausführungseinheit (117) gekoppelt ist und Daten von dem Instruktionspuffer (20) und dem dritten Rückschreibpfad empfangen kann, wobei das vierte Paar von Umgehungs-Multiplexern in Abhängigkeit von einem von dem Instruktionspuffer erzeugten Steuersignal selektiv Ergebnisdaten als Quelloperanden-Eingangsdaten an die Speicher- Ausführungseinheit sendet.
  10. 10. Einrichtung nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, daß jedes Paar von Umgehungs-Multiplexern für erste und zweite Quelloperanden mit dem Instruktionspuffer gekoppelt ist, wobei der erste, zweite und dritte Rückschreibpfad (120 bis 122) einen Umgehungs-Mechanismus für Ergebnisdaten zur Verfügung stellen, die als Quelloperanden- Eingangsdaten in Abhängigkeit von von dem Instruktionspuffer (20) erzeugten Steuersignalen von einem der Paare der Umgehungs-Multiplexer (51 bis 56) weitergeleitet werden sollen.
  11. 11. Computersystem mit einem Mikroprozessor mit einer Einrichtung zum Verarbeiten von Instruktionsdaten nach einem der Ansprüche 1 bis 10, wobei es außerdem aufweist:

    eine mit der Computereinrichtung gekoppelte Eingabe/Ausgabe (1/0)-Einrichtung (101) als Kommunikationsschnittstelle;

    ein mit der I/O-Einrichtung gekoppeltes Speichermittel zum Speichern von Instruktionen und Computerdaten; und

    mit der I/O-Einrichtung gekoppelte Dateneingabemittel (105 bis 107), um mit einem Computerbenutzer über Dateneingaben und Datenausgaben zu kommunizieren.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com