DE102009024012A1 - Pipeline-Betriebsprozessor und Steuersystem - Google Patents

Pipeline-Betriebsprozessor und Steuersystem Download PDF

Info

Publication number
DE102009024012A1
DE102009024012A1 DE102009024012A DE102009024012A DE102009024012A1 DE 102009024012 A1 DE102009024012 A1 DE 102009024012A1 DE 102009024012 A DE102009024012 A DE 102009024012A DE 102009024012 A DE102009024012 A DE 102009024012A DE 102009024012 A1 DE102009024012 A1 DE 102009024012A1
Authority
DE
Germany
Prior art keywords
command
control information
memory
instruction
pipeline
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.)
Ceased
Application number
DE102009024012A
Other languages
English (en)
Inventor
Motohiko Okabe
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Publication of DE102009024012A1 publication Critical patent/DE102009024012A1/de
Ceased 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/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • 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
    • 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/3824Operand accessing
    • 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/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • 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/46Multiprogramming arrangements

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)
  • Executing Machine-Instructions (AREA)

Abstract

Ein Pipeline-Betriebsprozessor (2) umfasst eine Pipeline-Verarbeitungseinheit (2b) und einen Befehlseinfügungscontroller (2a), der einen Befehl einfügt, wenn Zugriff auf einen Betriebsspeicher (4) angefragt wird, und der die Steuerinformation durch Bert. Wenn ein Steuerprogramm (4a) in Ausführung ist, wird bei Empfang eines Zugriffanfragebefehls, der einen Zugriff auf den Betriebsspeicher (4) anfragt, der Befehlseinfügungscontroller einen NOP-Befehl von der Befehlsdekodiereinheit (2b2) anstelle des Zugriffsanfragebefehls einfügen. Der Zugriffsanfragebefehl wird ausgeführt, während die Pipeline-Verarbeitungseinheit (2b) einen Nicht-Betrieb ausführt, und anschließend wird die Pipeline-Verarbeitung fortgesetzt.

Description

  • Die Erfindung betrifft einen Pipeline-Betriebsprozessor mit einer Pipeline-Betriebsfunktion und ein Steuersystem mit einem gemeinsam genutzten Speicher, der ein Programm, das von dem Pipeline-Betriebsprozessor auszuführen ist und Betriebsdaten speichert. Genauer gesagt, die Erfindung betrifft einen Pipeline-Betriebsprozessor, der die Beeinträchtigung der Betriebseffizienz in dem Fall verringert, in dem ein anderer Prozessor, der den gemeinsam genutzten Speicher ebenfalls benutzt, auf den gemeinsam genutzten Speicher zugreift, und ein Steuersystem, dass den Pipeline-Betriebsprozessor umfasst.
  • Seit einiger Zeit wird ein Pipeline-Betriebsprozessor mit einer Pipeline-Betriebsfunktion eingesetzt, um eine Anforderung für Highspeed-Processing eines Steuersystems zu erfüllen.
  • Bisher wurde ein System mit der in 11 gezeigten Konfiguration bei einem Steuersystem für eine Anlage oder ähnliches verwendet. Das Steuersystem enthält einen Pipeline-Betriebsprozessor 12, der Daten von einer externen Eingabe/Ausgabe-Einheit (I/O-Einheit) wie etwa einem Prozesssensor oder einem Aktuator, mit hoher Geschwindigkeit verarbeitet, General-Purpose-Prozessoren 11a, 11b, die den Pipeline-Betriebsprozessor 12 zur Ausführung verschiedener Arbeitsschritte managen, einen externen Eingabe/Ausgabe-Speicher (I/O-Speicher) 13, der als eine Schnittstelle zum Übertragen von Eingabe- und Ausgabedaten der externen I/O-Vorrichtung dient, und einen Betriebspeicher 14, der ein Steuerprogramm 14a speichert, das von dem Pipeline-Betriebsprozessor 12 auszuführen ist und von dem Pipeline-Betriebsprozessor 12 und den General-Purpose-Prozessoren 11a, 11b gemeinsam genutzt wird.
  • Eine Pipeline-Betriebseinheit 12b enthält eine Befehlshalteeinheit 12b1, eine Befehlsdekodiereinheit 12b2, eine Befehlsausführungs- und -adressenerzeugungseinheit 12b3, Speicherzugriffseinheiten 12b4, 12b5 und eine Schreibeinheit 12b6. Die Pipeline-Betriebseinheit 12b enthält des Weiteren eine Bypass-Steuerschaltung (nicht gezeigt), die Datenwege zwischen diesen Einheiten steuert, eine externe I/O-Speicherzugriffseinheit 12b8, eine Betriebsspeicherzugriffseinheit 12b9 und einen Pipeline-Bus 12b7, der die Einheiten der Pipeline-Verarbeitungseinheit 12b verbindet.
  • Die Pipeline-Verarbeitungseinheit 12b teilt einen Befehl in sechs Grundstufen auf, die jeweils der Befehlshalteeinheit (IF) 12b1, der Befehlsdekodiereinheit (ID) 12b2, der Befehlsausführeinheit (MAR) 12b3, der Speicherzugriffseinheit (MADR, MDR) 12b4 und 12b5 und der Schreibeinheit (WR) 12b6 entsprechen. Diese Befehle werden in paralleler Art verarbeitet, um den Durchsatz bei der Verarbeitung zu erhöhen. Wenn eine Änderung bei dem Betrieb einer geplanten Stufe auftritt, werden die Ausführung der Stufen teilweise angehalten (oder abgebrochen), vom Beginn an neu gestartet oder es ist nötig, die Befehlssequenz zu ändern.
  • Datenrisiken oder -fehler, die aus einem Ladebefehl resultieren, waren ein Grund für eine solche Änderungen. Ein Verfahren zur Voraussage einer Adresse des Ladebefehls zur Verhinderung eines Pipeline-Abbruchs (Pipeline stall) aufgrund von Datenrisiken ist beispielsweise in der japanischen Patentanmeldung Nr. 3435267 offenbart.
  • Die Prinzipien der Pipeline-Verarbeitung und eine Technik zur Lösung verschiedener Fehler bei der Ausführung von Pipeline-Verarbeitungen sind beispielsweise in Kapitel 6, Seite 23 bis 70 von „Computer Architecture and Design" (Band 2) veröffentlicht, das von John L. Hennessy und David A. Patterson geschrieben ist, und von Nikkei Business Publications Inc. am 26. Juni 1996 veröffentlicht wurde.
  • 12A und 12B zeigen typische Betriebszustände von der Pipeline-Verarbeitung des Steuersystems einer Anlage oder Ähnlichem, das den bekannten Pipeline-Betriebsprozessor verwendet, wie er in 11 gezeigt ist.
  • Beispielweise wird jeder der Befehle A bis F in 6 Stufen verarbeitet, wie es in 12A gezeigt ist, und der Betrieb jeder Stufe wird durch ein Taktsignal synchronisiert. Die Ausführung der jeweiligen Befehle wird um eine Stufe verschoben.
  • Herkömmlicherweise, wenn ein gemeinsam genutzter Speicher von einem General-Purpose-Prozessor 11a über eine Speicherzugriffseinheit 12a zugegriffen wird, beispielsweise im Fall, wenn der Befehl B in einer Stufe der Schreibeinheit WR ausgeführt wird, sendet die Speicherzugriffseinheit 12a ein Signal zur Unterbrechung des Betriebs aller Stufen der Pipeline-Verarbeitungseinheit 12b, wie es in 12B gezeigt ist, und greift auf den Betriebsspeicher 14 über die Betriebsspeicherzugriffseinheit 12b9 innerhalb der Haltezeitspanne zu.
  • In einem solchen Fall unterbricht die Haltezeitspanne die zyklische Speicherverarbeitung von Befehlen B bis F, die in Verarbeitung sind, wodurch die Verarbeitungsphasen der Stufen, die von der gestrichelten Linie in 12B umgeben sind, aus einer Betriebsphase eines synchronen Speichers geändert werden, und es ist möglich, dass sie nicht normal ausgeführt werden.
  • Daher müssen die Befehle B bis F erneut ausgeführt werden, nachdem die Pipeline-Verarbeitung gelöscht wurde, wie es in 12B gezeigt ist. Somit wird die Verarbeitungseffizienz des Pipeline-Betriebsprozessors 12 beachtlich verringert. Das heißt, die Leistung der Verarbeitung mit dem herkömmlichen Pipeline-Betriebsprozessor kann aufgrund eines Nachteils beeinträchtigt sein, dass eine Stufe der Pipeline-Verarbeitung, die teilweise läuft, von Beginn an neu gestartet wird, wenn eine Änderung in einem geplanten Betrieb auftritt.
  • Eine Aufgabe der Erfindung ist es, einen Pipeline-Betriebsprozessor und ein Steuersystem mit dem Pipeline-Betriebsprozessor bereitzustellen, die die Pipeline-Verarbeitung fortsetzen können, während verhindert wird, dass ein Fehler bzw. ein Risiko aufgrund von Synchronisationsfehlausrichtung von Datenwegen zwischen Befehlen auftritt, wenn auf einen gemeinsam genutzten Speicher zugegriffen wird, wobei die Beeinträchtigung der Prozesseffizienz des Pipeline-Be triebsprozessors verringert und eine Highspeed-Ausführung eines Steuerprogramms ermöglicht wird.
  • Entsprechend einer erfindungsgemäßen Ausführungsform umfasst das Steuersystem:
    einen oder mehrere General-Purpose-Prozessoren;
    einen Pipeline-Betriebsprozessor mit einer Pipeline-Betriebsfunktion und verbunden mit einem Bus des einen oder der mehrerern General-Purpose-Prozessoren;
    einen ersten Speicher, der ausgestaltet ist, um ein Steuerprogramm, welches von dem Pipeline-Betriebsprozessor ausgeführt wird, und Betriebsdaten zu speichern, wobei das Steuerprogramm und die Betriebsdaten von dem einen oder den mehreren General-Purpose-Prozessoren und dem Pipeline-Betriebsprozessor gemeinsam genutzt werden; und
    einen zweiten Speicher, der ausgestaltet ist, um von dem Pipeline-Betriebsprozessor zugegriffen zu werden und um als Schnittstelle zum Übertragen von Daten zu arbeiten, die der Pipeline-Betriebsprozessor eingibt oder ausgibt;
    wobei der Pipeline-Betriebsprozessor umfasst:
    eine Pipeline-Betriebseinheit mit einer Befehlshalteeinheit, einer Befehlsdekodiereinheit, einer Befehlsausfuhr- und -adressenerzeugungseinheit, einer Speicherzugriffseinheit, einer Schreibeinheit als Stufen zum Aufteilen eines Befehls und zum Ausführen der Befehle parallel, und mit einem Pipeline-Bus, der ausgestaltet ist, um die Stufen zu verbinden, mit einer Befehlszugriffseinheit und einer Befehlszugriffseinheit; und
    einen Befehlseinfügungscontroller, der ausgestaltet ist, um einen ersten Befehl in die Pipeline-Verarbeitungseinheit einzufügen, wenn Zugriff auf den ersten Speicher von einem oder von mehreren General-Purpose-Prozessoren angefordert wird, und der ausgestaltet ist, um die relative Verschiebung der Steuerinformation der Stufen zu korrigieren, um Datenwege zwischen den Stufen zu steuern;
    wobei der Befehlseinfügungscontroller einen Nicht-Betriebs-Befehl von der Befehlsdekodiereinheit anstelle des geplanten darauffolgenden Befehls des Steuerprogramms einfügt, um die Pipeline-Verarbeitungseinheit zur Ausführung eines Nicht-Betriebs zu veranlassen, oder einen Nicht-Betriebs-Befehls, der in dem Steuerprogramm enthalten ist, durch die Befehlsdekodiereinheit erfasst, um die Pipeline-Verarbeitungseinheit zur Ausführung eines Nicht-Betriebs zu veranlassen, in einem Fall, in dem die Befehlshalteeinheit den Befehl von dem ersten Speicher hält und das Steuerprogramm in Ausführung ist, wenn ein Zugriffsanforderungsbefehl, der Zugriff auf den ersten Speicher fordert, von dem einen oder mehreren General-Purpose-Prozessoren empfangen wird, und
    wobei die Pipeline-Verarbeitungseinheit einen darauffolgenden Befehl ausführt und die Ausführung der Pipeline-Verarbeitung ohne Unterbrechung der Verarbeitung des Pipeline-Betriebsprozessors weiter durchführt.
  • Entsprechend einer weiteren Ausführungsform der Erfindung umfasst der Pipeline-Betriebsprozessor:
    eine Pipeline-Verarbeitungseinheit mit einer Pipeline-Verarbeitungsfunktion zur parallelen Verarbeitung eines Steuerprogramms mit einer Befehlshalteeinheit, einer Befehlsdekodiereinheit, einer Befehlsausführungs- und -adressenerzeugungseinheit, einer Speicherzugriffseinheit und einer Schreibeinheit als Stufen zum Aufteilen eines Befehls und zum Ausführen der Befehle parallel, und mit einem Pipeline-Bus, der ausgestaltet ist, um die Stufen zu verbinden; und
    einen Befehlseinfügungscontroller, der ausgestaltet ist, um einen Befehl in die Pipeline-Verarbeitungseinheit einzufügen, wenn Zugriff auf einen ersten Speicher von einem General-Purpose-Prozessor angefordert wird, und der ausgestaltet ist, um die relative Verschiebung der Steuerinformation der Stufen zu korrigieren, um Datenwege zwischen den Stufen zu steuern; und
    wobei der Befehlseinfügungscontroller einen Nicht-Betriebs-Befehl von der Befehlsdekodiereinheit anstelle des geplanten darauffolgenden Befehls des Steuerprogramms einfügt, um die Pipeline-Verarbeitungseinheit zu veranlassen, einen Nicht-Betrieb auszuführen, oder einen in dem Steuerprogramm enthaltenen Nicht-Betriebs-Befehl durch die Befehlsdekodier einheit erkennt, um die Pipeline-Verarbeitungseinheit zu veranlassen, einen Nicht-Betrieb auszuführen, in einem Fall, in dem die Befehlshalteeinheit den Befehl von dem ersten Speicher hält und das Steuerprogramm in Ausführung ist, wenn ein Zugriffsanforderungsbefehl, der einen Zugriff auf den ersten Speicher anfordert, von dem General-Purpose-Prozessor empfangen wird, und
    wobei die Pipeline-Verarbeitungseinheit den darauffolgenden Befehl ausführt und mit der Ausführung der Pipeline-Verarbeitung ohne Unterbrechung der Verarbeitung des Pipeline-Betriebsprozessors fortschreitet.
  • Zusätzliche Aufgaben und Vorteile der Erfindung werden in der folgenden Beschreibung ausgeführt und sind zum Teil offensichtlich angesichts der Beschreibung, oder können durch Anwenden der Erfindung erkannt werden. Die Aufgaben und Vorteile der Erfindung können mittels der Gerätschaften und Kombinationen erzielt werden, die speziell im Folgenden gezeigt sind.
  • Die beiliegenden Zeichnungen, die einen Teil der Beschreibung bilden und in diese aufgenommen sind, zeigen Ausführungsformen der Erfindung und zusammen mit der allgemeinen Beschreibung, die vorangehend gegeben wurde, und der detaillieren Beschreibung der Ausführungsformen, die im Anschluss folgt, dienen sie zur Erläuterung der Prinzipien der Erfindung. In den Zeichnung darstellt:
  • 1 eine Ansicht, die eine Konfiguration des Steuersystems mit einem Pipeline-Betriebsprozessor entsprechend einer erfindungsgemäßen Ausführungsform zeigt;
  • 2 eine Ansicht, die eine Konfiguration eines Pipeline-Betriebsprozessor entsprechend einer Ausführungsform der Erfindung darstellt;
  • 3A und 3B sind Ansichten, die Beispiele des Pipelinesteuerbetriebs darstellen, wenn auf einen Betriebsspeicher (gemeinsam genutzter Speicher) zugegriffen wird;
  • 4 eine Ansicht, die eine Konfiguration eines korrigierten Steuerinformationspuffers entsprechend einer erfindungsgemäßen Ausführungsform darstellt;
  • 5A und 5B Ansichten, die Beispiele des Pipelinesteuerbetriebs des korrigierten Steuerinformationspuffers darstellen;
  • 6 eine Ansicht, die ein weiteres Beispiel eines Pipelinesteuerbetriebs des korrigierten Steuerinformationspuffers zeigt;
  • 7 eine Ansicht, die einen Ausrichtungsfehler darstellt;
  • 8 eine Ansicht, die eine Erkennung des Ausrichtungsfehlers und einem Betrieb eines Befehlseinfügungscontrollers darstellt;
  • 9 eine Ansicht, die ein Betriebsbeispiel des Befehlseinfügungscontrollers darstellt, wenn ein Befehl die Ausführung einer Mehrzahl von Befehlen veranlasst;
  • 10 eine Ansicht, die ein weiteres Betriebsbeispiel des Befehlseinfügungscontrollers darstellt, wenn ein Befehl die Ausführung einer Mehrzahl von Befehlen veranlasst;
  • 11 eine Ansicht, die eine Konfiguration eines Steuersystems entsprechend eines bekannten Pipeline-Betriebsprozessors darstellt; und
  • 12A und 12B Ansichten, die einen Betrieb zum Zugreifen auf einen gemeinsam genutzten Speicher des Steuersystems mit dem bekannten Pipeline-Betriebsprozessor darstellt.
  • Im Folgenden werden Ausführungsformen der Erfindung unter Bezugnahme auf die beiliegenden Zeichnungen beschrieben.
  • Erste Ausführungsform
  • Ein Steuersystem mit einem Pipeline-Betriebsprozessor entsprechend der ersten Ausführungsform der Erfindung wird im Folgenden unter Bezugnahme auf die 1 bis 6 beschrieben. Eine Konfiguration und ein typischer Betrieb der Erfindung werden unter der Bezugnahme auf die 1 und 3A beschrieben.
  • Das Steuersystem mit dem Pipeline-Betriebsprozessor enthält die General-Purpose-Prozessoren 1a und 1b, einen Pipe line-Betriebsprozessor 2, der mit den General-Purpose-Prozessoren 1a und 1b über einen Bus 1c verbunden ist, einen externen Eingabe/Ausgabe-Speicher (I/O-Speicher) 3, der Eingabe und Ausgabedaten einer Eingabe/Ausgabe-Vorrichtung (I/O-Vorrichtung) eines Steuerzielprozesses speichert, und einen Betriebsspeicher 4, der ein Steuerprogramm 4a speichert, das von dem Pipeline-Betriebsprozessor 2 auszuführen ist, und Betriebsdaten für dieses speichert.
  • Der Pipeline-Betriebsprozessor 2 enthält eine Pipeline-Bearbeitungseinheit 2b, die eine Pipeline-Verarbeitung ausführt, und einen Befehlseinfügungscontroller 2a, der einen Befehl in die Pipeline-Bearbeitungseinheit 2b mit einer Mehrzahl von Stufen einfügt, und die Verschiebung von Steuerinformation in Bezugnahme auf Steuerinformation für Stufen zur Steuerung von Datenwegen zwischen den Stufen korrigiert.
  • Der Befehlseinfügungscontroller 2a enthält eine Speicherzugriffseinheit 2a1, welche eine Zugriffsanfrage von dem General-Purpose-Prozessor 1a oder 1b auf den Betriebsspeicher 4 steuert, und einen Befehlseinfüger 2a2, der einen Nicht-Betriebsbefehl NOP-Befehl in eine Befehlsdekodiereinheit 2b2 (die im Anschluss beschrieben wird) einfügt, wenn eine Zugriffsanforderung von dem General-Purpose-Prozessor 1a oder 1b für den Betriebsspeicher 4 empfangen wird.
  • Der Befehlseinfügungscontroller 2a enthält einen korrigierten Steuerinformationspuffer 2a3 und einen Multiplexer 2a4. Wenn der Befehlseinfüger 2a2 den korrigierten Steuerinformationspuffer 2a3 informiert, bezüglich der Einfügung eines NOP-Befehls informiert, oder wenn die Befehlsdekodiereinheit 2b2 den korrigierten Steuerinformationspuffer 2a3 über den Befehleinfüger 2a2 bezüglich der Einfügung eines NDP-Befehls informiert, der vorausgehend in dem Steuerprogramm eingebunden war, speichert der korrigierte Steuerinformationspuffer 2a3 Steuerinformation der Stufen der Pipeline-Bearbeitungseinheit 2b zu dem Zeitpunkt der Einfügung, korrigiert relative Verschiebung zwischen der gespeicherten Steuerinformation und der Steuerinformation der Stufen zum Zeitpunkt der Ausführung eines Befehls, nachfolgend zu dem NOP-Befehl, und gibt die korrigierte Steuerinformation aus. Wenn der NOP-Befehl erzeugt wird, ändert der Muliplexer 2a4 die Steuerinformation der Pipeline-Bearbeitungseinheit 2b zu einem Ausgang des korrigierten Steuerinformationspuffers 2a3 und rekonfiguriert die Information.
  • Die Pipeline-Bearbeitungseinheit 2b, welche die Pipeline-Verarbeitung ausführt, enthält eine Befehlshalteeinheit 2b1, eine Befehlsdekodiereinheit 2b2, eine Befehlsausführungs- und -adressenerzeugungseinheit 2b3, eine Speicheradressenzugriffseinheit 2b4, eine Speicherdatenzugriffseinheit 2b5 und eine Schreibeinheit 2b6 als Stufen, um einen Befehl in Stufen aufzuteilen und Befehle parallel auszuführen. Die Pipeline-Verarbeitungseinheit 2b enthält des Weiteren eine Eingabe/Ausgabe-Speicherzugriffseinheit (I/O-Speicherzugriffseinheit) 2b8, welche den Zugriff auf den I/O-Speicher 3 steuert, und eine Betriebsspeicherzugriffseinheit 2b9, welche den Zugriff auf den Betriebsspeicher 4 steuert, und einen Pipeline-Bus 2b7, der die Bestandteile der Pipeline-Bearbeitungseinheit 2b verbindet.
  • Darüber hinaus enthält die Pipeline-Verarbeitungseinheit 2b eine voreingestellte Steuerinformationseinstelleinheit (nicht gezeigt) für eine Bypasssteuerung von Datenwegen zwischen den Stufen, und eine zugehörige Steuerleitung.
  • Bei der Ausführungsform enthält die Pipeline-Bearbeitungseinheit 2b sechs Einheiten, von der Informationshalteeinheit 2b1 bis zur Schreibeinheit 2b6, in Übereinstimmung mit den sechs Stufen eines Befehls. Jedoch kann die Konfiguration der Pipeline-Verarbeitungseinheit 2b fünf Stufen oder acht Stufen entsprechen. Von der Pipeline-Verarbeitungseinheit 2b wird nur gefordert, dass sie eine Pipeline-Verarbeitungsfunktion hat. Die Anzahl der Stufen ist nicht auf sechs begrenzt.
  • Der I/O-Speicher 3 arbeitet als eine Schnittstelle zur Übertragung von Eingabe- und Ausgabedaten, die mit dem Betrieb des Pipeline-Betriebsprozessors 2 verbunden sind. Die Ausgabedaten werden von der Speicheradressenzugriffseinheit 2b4 über den Pipeline-Bus 2b7 und die I/O-Speicherzugriffseinheit 2b8 in den I/O-Speicher 3 bei einem vorgegebenen Grundbuszyklus des Pipeline-Busses 2b7 beschrieben.
  • Im Gegenzug werden Eingabedaten aus dem I/O-Speicher 3 gelesen und zu der Speicherdatenzugriffseinheit 2b5 über die I/O-Speicherzugriffseinheit 2b8 gesendet.
  • Der Betriebsspeicher 4 enthält einen Synchron-Speicher und Daten werden von der Speicheradressenzugriffseinheit 2b4 über die Betriebsspeicherzugriffseinheit 2b9 in den Betriebsspeicher 4 geschrieben.
  • Im Gegenzug werden Daten von dem Betriebsspeicher 4 synchron mit einem Taktsignal des Pipeline-Bus 2b7 gelesen und zu der Speicherdatenzugriffseinheit 2b5 über die Betriebsspeicherzugriffseinheit 2b9 gesendet.
  • Als Nächstes wird ein typischer Steuerbetrieb des Steuersystems, das wie oben beschrieben aufgebaut ist, für den Fall der Ausführung einer typischen Pipeline-Verarbeitung beschrieben. Wie es durch die punktierten Pfeile in 1 angezeigt ist, führt das Steuerprogramm 4a, das von dem Pipeline-Betriebsprozessor 2 ausgeführt wird, dazu, dass die Befehlshalteeinheit 2b1 eine Anfrage für einen Befehl über den Pipeline-Bus 2b7 durchführt, wobei die Betriebsspeicherzugriffseinheit 2b9 auf den Betriebsspeicher 4 zugreift, und wobei der auszuführende Befehl zu der Befehlsdekodiereinheit 2b2 gesendet wird.
  • Die Symbole IF bis WR in 3A zeigen jeweils die Stufen der Pipeline-Verarbeitung, die jeweils den Stufen entsprechen (einschließlich der Befehlshalteeinheit 2b19 bis zu der Schreibeinheit 2b6). Beispielsweise werden die Befehle A bis F parallel durchgeführt, wobei jeder Befehl in sechs Stufen verarbeitet wird, und die Ausführung der Befehle wird jeweils um eine Stufe verschoben.
  • Als Nächstes wird eine Erläuterung unter Bezug auf 2 und 3B bezüglich des Betriebs gegeben, wenn der Zugriff von dem General-Purpose-Prozessor 1a oder 1b auf den Betriebsspeicher 4 angefordert wird, in dem Fall in dem der Pipeline-Betriebsprozessor 2 den typischen Steuerbetrieb durchführt.
  • Wie es durch die punktierten Linien in 2 angezeigt ist, wenn Zugriff auf den Betriebsspeicher 4 von dem General-Purpose-Prozessor 1a über die Speicherzugriffseinheit 2a1 gefordert wird, fügt der Befehlseinfüger 2a2 einen NOP-Befehl in die Befehlsdekodiereinheit 2b2 anstelle des Befehls E ein, der als nächster auszuführender Befehl geplant ist, wie es 3B gezeigt ist, und die Einheiten der Stufen werden keine Verarbeitung während einer Zeitspanne des NOP-Befehls durchführen.
  • Der Befehlseinfüger 2a2 schreibt oder liest Anfragedaten zu bzw. von dem Betriebsspeicher 4 über die Betriebsspeicherzugriffseinheit 2b9 innerhalb der Zeitspanne des NOP-Befehls, wie es durch die Kettenlinien in 2 angezeigt ist.
  • Der untere Teil von 3B zeigt einen Betrieb des Pipeline-Betriebsprozessors 2 für den Fall eines NOP-Befehls, der zwischen den Befehlen D und E eingefügt ist, in dem Fall, dass der General-Purpose-Prozessor 1a eine Anfrage für den Zugriff auf den Betriebsspeicher 4 veranlasst. Für den Zweck des Vergleichs zeigt der obere Abschnitt der 3B einen herkömmlichen Betrieb, der alle Stufen der Verarbeitung stoppt.
  • Wie es gezeigt ist, wenn ein NOP-Befehl eingefügt wird und die Pipeline-Verarbeitung fortschreitet, müssen die Befehle B bis F, die in Ausführung sind, nicht vollständig gestoppt und neu ausgeführt werden, und eine Verzögerung in der Verarbeitung ist auf eine Stufe beschränkt, die durch Einfügen des NOP-Befehls verursacht wird, im Gegensatz zu dem herkömmlichen Fall, in dem alle Stufen gestoppt werden. Daher ist die Kontinuität der Pipeline-Verarbeitung sichergestellt und die Verschlechterung der Verarbeitungseffizienz aufgrund einer Zugriffsanfrage auf den gemeinsam genutzten Speicher kann verringert werden.
  • Darüber hinaus kann der Zugriff auf den Betriebsspeicher 4 in dem Steuerprogramm eingebunden sein, und der Pipeline-Betriebsprozessor 2 kann den Zugriff ausführen. In einem solchen Fall, wenn die Einfügung eines NOP-Befehls von dem Befehlseinfüger 2a2 mitgeteilt wird, erkennt die Befehlsdeko diereinheit 2b2 den NOP-Befehl, der im Voraus in dem Steuerprogramm eingebunden ist, und weist den Befehlseinfüger 2a2 an. Der Befehlseinfügunger 2a2 informiert den korrigierten Steuerinformationspuffer 2a3 bezüglich der Erzeugung des NOP-Befehls. Nach der Benachrichtigung bezüglich des NOP-Befehls arbeitet der korrigierte Steuerinformationspuffer 2a3 ähnlich dem Fall, in dem der General-Purpose-Prozessor 1a eine Zugriffsanfrage auf den Betriebsspeicher 4 durchführt.
  • Als Nächstes wird unter Bezug auf 2 und die 4 bis 6 eine Konfiguration und ein Betrieb des Befehlseinfügungscontrollers 2a detailliert beschrieben.
  • Wenn der Befehleinfüger 2a2 einen NOP-Befehl von der ID-Dekodiereinheit 2b2 anstelle des Befehls D einfügt, der für die Ausführung geplant ist, wird die relative Position zwischen den Stufen des Befehls, bevor der NOP-Befehl eingefügt wurde, und den Stufen des Befehls nach der Einfügung geändert, wie es in 5B gezeigt ist, nämlich die Phasenbeziehung der Steuerinformation, die eine Abhängigkeitsbeziehung zwischen den Stufen steuert, wird geändert.
  • Daher, wenn der Befehl eingefügt wird, ist es für eine Phase der Steuerinformation, die einen Datenweg zwischen den Stufen steuert, erforderlich, korrigiert zu werden. Der korrigierte Steuerinformationspuffer 2a3 korrigiert die Verschiebung der Steuerinformation. Die Details des korrigierten Steuerinformationspuffers 2a3 werden unter Bezugnahme auf 4 erläutert.
  • Der korrigierte Steuerinformationspuffer 2a3 enthält einen Speicherbankselektor 2a31, der eine Bank zum Speichern der Steuerinformation jedes Mal auswählt, wenn der Befehlseinfügunger 2a2 den NOP-Befehl in die Befehlsdekodiereinheit 2b2 einfügt, wobei ein Steuerinformationsspeicher 2a32, der Bänke mit einer Mehrzahl von Pufferregistern zum Speichern der Steuerinformation enthält, und ein korrigierter Steuerinformationsselektor 2a33, der zur Zeit der Ausführung des Befehls nach dem NOP-Befehl korrigiert, die relative Verschiebung der Steuerinformation zwischen Stufen, die durch die Einfügung des NOP-Befehls verursacht wird, korrigiert, und die korrigierte Information aus der entsprechenden Bank auswählt und sie ausgibt.
  • Der Speicherbankselektor 2a31 enthält eine Eingabeauswahlringpuffereinheit 2a311 und eine Gate-Schaltung 2a312. Die Eingabeauswahlringpuffereinheit 2a311 enthält drei Puffer, die die Anwesenheit oder Abwesenheit von Befehlseinfügung von dem Befehlseinfügunger 2a2 speichern, die synchron mit dem Taktsignal Ck der Pipeline rotieren und während einer Periode stoppen, in der eine Ausgabe von dem Befehlseinfügunger 2a2 existiert, und wobei Hochpegelausgaben als „wahr” (true) angesehen werden. Wenn die Eingabeauswahlringpuffereinheit 2a311 „wahr” ausgibt, empfängt die Gate-Schaltung 2a312 Eingabesteuerinformation für Stufen der Pipeline-Verarbeitungseinheit 2b und überträgt eine Ausgabe von jedem der Ringpuffer, der „wahr” ist, an eine entsprechende Bank.
  • Der korrigierte Steuerinformationsselektor 2a33 enthält eine Ausgabeauswahlringpuffereinheit 2a331 und einen Multiplexer 2a332. Die Ausgabeauswahlringpuffereinheit 2a331 steuert den Steuerinformationsspeicher 2a32 zur Verzögerung der Ausgabe der Steuerinformation, die in den Bänken des Steuerinformationsspeichers 2a32 gespeichert ist für eine Zeitspanne entsprechend der Anzahl von eingefügten Befehlen, d. h. für eine Zeitspanne entsprechend den angehaltenen Stufen. Der Multiplexer 2a332 gibt die Steuerinformation ein, die in einer der drei Bänke (L, M, N) des Steuerinformationsspeichers 2a32 gespeichert ist, und gibt die Steuerinformation aus, die entsprechend der Ausgabe der Ausgabeauswahlringpuffereinheit 2a331 ausgewählt wurde.
  • Die Anzahl von Puffern der Eingabeauswahlringpuffereinheit 2a311, die Anzahl von Puffern der Ausgabeauswahlringpuffereinheit 2a331 und die Anzahl von Bänken des Steuerinformationsspeichers 2a32 werden vorausgehen beruhend auf der Anzahl von Prozessoren bestimmt, die auf den gemeinsam genutzten Speicher 4 zugreifen, und der Anzahl von Malen des Zugriffs pro Stufe in einem Befehl der Pipeline-Verarbeitung. Ein so konfigurierter, synchroner, primärer Speicher ermöglicht die Korrektur von Steuerinformation mit hohen Geschwin digkeit und synchron mit dem Taktsignal der Pipeline-Verarbeitung.
  • Als Nächstes wird ein Steuerbetrieb des korrigierten Steuerinformationspuffers 2a3 mit der obigen Konfiguration beschrieben.
  • Wenn beispielsweise ein Betriebsergebnis der Stufe der Speicherdatenzugriffseinheit (MDR) 2b5 in der Stufe der Befehlsdekodiereinheit 2b2 (ID) verwendet wird, kann die typische Pipeline-Verarbeitung in einer solchen Art arbeiten, dass die Steuerinformation der Speicherdatenzugriffseinheit (MDR) 2b5 entsprechend einem Befehl A von der Stufe der Befehlsdekodiereinheit (ID) 2b2 in Bezug genommen wird. Wenn jedoch in dem Fall, in dem eine Anfrage für den Zugriff auf den Betriebsspeicher 4 erzeugt wird, wenn die Steuerinformation der MDR-Stufe (st1) in Bezug genommen wird, wie in der ID-Stufe (st3) nach der Einfügung des NOP-Befehls, wird die geeignete Steuerinformation durch einen im Anschluss ausgeführten Befehl upgedated, um einen Fehler zu verursachen, und die geeignete Steuerinformation kann nicht verwendet werden.
  • Somit speichert der korrigierte Steuerinformationspuffer 2a3 vorübergehend die geeignete Steuerinformation, so dass auf die Steuerinformation in der ID-Stufe Bezug genommen werden kann.
  • Das heißt, um sequentiell Steuerinformation von aufeinanderfolgenden Stufen in dem Pipeline-Verarbeitungsbetrieb zu speichern und um die Steuerinformation referenzierbar zu machen, enthält der korrigierte Steuerinformationspuffer 2a3, wie es vorangehend beschrieben wurde, den Steuerinformationsspeicher 2a32 mit Bänken, die parallel bezüglich der Eingabe der Steuerinformation ausgestaltet sind, und er enthält den Speicherbankselektor 2a31 und den korrigierten Steuerinformationsselektor 2a33, welcher eine Eingabebedingung oder eine Ausgabebedingung der Steuerinformation auswählt und steuert, beruhend auf der Auswahl von einer der parallelen Bänke und einer Auswahlbedingung, die synchron mit dem Taktsignal Ck rotiert. Der korrigierte Steuerinformationspuffer 2a3 korrigiert die Phasenverschiebung der Steuerin formation zur Zeit der Befehlseinfügung synchron mit dem Taktsignal, und verursacht, dass auf die korrigierte Steuerinformation in den Stufen der Pipeline zugegriffen werden kann, wobei, auch wenn eine Zugriffsanforderung einer Mehrzahl von Befehlen erzeugt wird, die Steuerinformation normal refenziert werden kann.
  • Beispielsweise, wie es in 6 gezeigt ist, in dem Fall, in dem der Befehl B ein Vergleichsbefehl ist, dessen mnemonische Notation gleich groß CMP ist, und der Befehl F ein Bedingungsabzweigungsbefehl ist, der als JMP bezeichnet ist, und der Befehl F auf Steuerinformation Bezug nimmt, die aus dem Befehl B resultieren, wenn ein NOP-Befehl zwischen den Befehlen D und E eingefügt wird, und 3 NOP-Befehle sequentiell zwischen den Befehlen E und F eingefügt werden, wird Steuerinformation für die Stufe der ID von der Stufe der MDR abgeleitet, die geeignet in jeder der Stufen (st3) und den Stufen (st6) bis (st9) gesetzt werden, wie es durch die Pfeile angezeigt ist, nämlich die Steuerinformation einer geeigneten Phase entsprechend dem Fall, in dem die NOP-Befehle nicht eingefügt sind, wird eingestellt, und die Verarbeitung verläuft normal.
  • Zweite Ausführungsform
  • Im Anschluss wird ein Steuersystem mit einem Pipeline-Betriebsprozessor entsprechend der zweiten Ausführungsform der Erfindung unter Bezugnahme auf die 7 und 8 beschrieben.
  • Dieselben Abschnitte, wie jene der ersten Ausführungsform, werden durch die gleichen Bezugszeichen angezeigt und ihre detaillierte Beschreibung wird weggelassen.
  • Bei der zweiten Ausführungsform wird die Pipeline-Verarbeitung vereinfacht, indem geregelt wird, dass der Speicherzugriff auf den Betriebsspeicher 4 einmal in Bezug auf jeden Befehl durchgeführt wird.
  • Im Allgemeinen, wenn auf eine Adresse in einem Speicher-Map zugegriffen wird, erfüllt der Prozessor, der eine festge legte festbleibende Datenmenge handhabt, bei der Ausrichtung entsprechend einem ganzzahligen Vielfach eines geraden Bytes. Der Prozessor befolgt eine 4-Byte-Ausrichtung zum Handhaben von 32-Bit-Daten und eine 2-Byte-Ausrichtung zur Handhabung von 16-Bit-Daten. Des Weiteren wird ein Fehler hierbei als Ausrichtungsfehler bezeichnet. In einem solchen Fall, wie es in 7 gezeigt ist, können Ausrichtungsdaten von 4-Byte für jeden Speicherzugriff geschrieben oder gelesen werden. Wenn jedoch Daten zu einem Ausrichtungsfehler führen, der einen zweifachen Speicherzugriff erfordert, ist es erforderlich, dass die gleiche Befehlseinfügungs- und -steuerinformation gespeichert wird, um eine Mehrzahl von Malen den Speicherzugriff zu ermöglichen und die normale Pipeline-Verarbeitung wird ermöglicht, ohne einen Fehler oder ein Risiko der Steuerinformation aufgrund der mehrfachen Speicherzugriffe zu verursachen.
  • In der Folge, wie es in 8 gezeigt ist, entnimmt in der Befehlsdekodiereinheit 2b2 eine ID-Schaltung 2b12 einen Befehl zum Zugriff auf den Betriebsspeicher 4 und eine Speicheradresse und Datengröße des Befehls, und eine Ausrichtungsdetektionsschaltung 2b13 erkennt einen Ausrichtungsfehler und überträgt das resultierende Detektionssignal an den Befehlseinfügungscontroller 2a2. Somit, mittels des Befehlseinfügungscontrollers 2a kann der Pipeline-Betriebsprozessor 2 in geeigneter Weise den Speicherzugriff zweimal für einen Befehl durchführen, ähnlich der ersten Ausführungsform.
  • Dementsprechend muss beim Speicherzugriff für Daten, der in einem Ausrichtungsfehler resultieren kann, nicht verhindert werden, wenn das Steuerprogramm kompiliert wird, sondern kann von dem Pipeline-Betriebsprozessor ausgeführt werden. Damit wird es möglich, dass der Speicherzugriff auch für Daten variabler Länge mittels des Pipeline-Betriebsprozessors zur Ausführung eines Befehls festgelegter Länge ausführbar wird, wodurch die Verarbeitung durch den Pipeline-Betriebsprozessor schneller wird.
  • Dritte Ausführungsform
  • Im Folgenden wird ein Steuersystem mit einem Pipeline-Betriebsprozessor entsprechend der dritten erfindungsgemäßen Ausführungsform unter Bezugnahme auf die 8 bis 10 beschrieben.
  • Die gleichen Abschnitte, wie jene der ersten Ausführungsform, werden mit den gleichen Bezugszeichen angezeigt und ihre detaillierte Beschreibung wird weggelassen.
  • Bei der dritten Ausführungsform kann mittels eines Befehls zur Verbesserung der Betriebseffizienz von dem Pipeline-Betriebsprozessor 2 auf den I/O-Speicher 3 für eine Mehrzahl von Befehlen zugegriffen werden.
  • Die Befehlsdekodiereinheit 2b2 enthält eine Zugriffsbefehlsdetektionsschaltung 2b14, die in 8 gezeigt ist. Die Zugriffsbefehlsdetektionsschaltung 2b14 detektiert einen Befehl, der in einer ID-Schaltung 2b12 eingestellt ist, um auf den I/O-Speicher 3 des Pipeline-Betriebsprozessors 2 mehrfach zuzugreifen. Bei der Detektion des Befehls für die Zugriffsanfrage informiert die Zugriffsbefehlsdetektionsschaltung 2b14 den Befehlseinfüger 2a2 bezüglich des Befehls, wobei der Befehlseinfüger 2a2 die ID-Schaltung 2b12 bezüglich der Ausführung des Befehls informiert, und der Speicherzugriff entsprechend der Mehrzahl von Malen des Einfügungsbefehls wird über die I/O-Speicherzugriffseinheit 2b8 durchgeführt, bis der Speicherzugriff vollständig ist.
  • Beispielsweise ist in 9 ein Befehl D ein Schreibzugriffsbefehl, dessen mnemonische Notation gleich groß MEM WR ist, und eine Mehrzahl von Befehlen werden zwischen der Ausführung eines Befehls D und der Beendigung des Speicherzugriffs ausgeführt.
  • Bei der Vorbereitung des Falls, in dem Schreibdaten, die von der Ausführung der Befehle A bis C resultieren, bevor der Befehl D direkt an eine MADR-Stufe übertragen wird, wird die Einfügung einer Mehrzahl von Befehlen nachfolgend zu der Ausführung des Befehls D ausgeführt, bis der Speicherzugriff vollständig ist. Daher erzeugt der direkte Transfer von Schreibdaten zwischen den Stufen keinen Datenfehler und der Speicherzugriff des Betriebsspeichers 4 wird ermöglicht.
  • In 10 ist ein Befehl D ein Lesezugriffsbefehl, dessen mnemonische Notation gleich groß MEM RD ist, und die Mehrzahl von Befehlen werden nachfolgend zur Ausführung des Befehls C und zu der Zeit des Beginns der Ausführung des Befehls D eingefügt. Das Vervollständigen des Speicherzugriffs verursacht die Ausführung des Befehls D, das heißt, MEM RD.
  • Bei der Vorbereitung für den Fall, in dem die Ausführung der Befehle E bis H, nachfolgend dem Befehl D, Lesedaten verwenden, die direkt von einer MDR-Stufe übertragen werden, werden die Mehrzahl von Befehlen von dem Start der Ausführung der Befehls D bis unmittelbar vor der Beendigung des Speicherzugriffs eingefügt, und der Befehl D wird anschließend ausgeführt. Daher wird der direkte Transfer von Lesedaten zwischen den Stufen keinen Datenfehler erzeugen, und der Speicherzugriff ist möglich.
  • Gemäß der dritten Ausführungsform wird der Speicherzugriff von dem General-Purpose-Prozessor ermöglicht, wobei Effekte der Pipeline-Steuerung für einen Pipeline-Betriebsprozessor minimiert werden, und wobei die Betriebsleistung des Pipeline-Betriebsprozessors verbessert wird.
  • Die Erfindung ist nicht auf die beschreibenden Ausführungsformen beschränkt. Der Befehlseinfügungscontroller ist nur nötig, um einen NOP-Befehl in einen gemeinsam genutzten Betriebsspeicher einzufügen und um die Verschiebung der Steuerinformation zu korrigieren (Erzeugung eines Fehlers), die zum Zeitpunkt der Einfügung erzeugt wird. Eine Stufenkonfiguration der Pipeline-Verarbeitungseinheit und eine Schaltungskonfiguration des Betriebsspeichers kann verschiedene Modifikationen haben, ohne vom Kern der Erfindung abzuweichen.
  • Zusätzliche Vorteile und Modifikationen werden dem Fachmann ersichtlich sein. Daher ist die Erfindung in ihren breitesten Aspekten nicht auf spezifische Details der repräsentativen Ausführungsformen beschränkt, die hier gezeigt und beschrieben sind. Dementsprechend können verschieden Abwandlun gen vorgenommen werden, ohne vom Geist oder Rahmen des allgemeinen erfinderischen Konzeptes abzuweichen, wie es durch die beiliegenden Ansprüche festgelegt ist, oder von deren Äquivalente.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • - JP 3435267 [0006]
  • Zitierte Nicht-Patentliteratur
    • - Kapitel 6, Seite 23 bis 70 von „Computer Architecture and Design” (Band 2) veröffentlicht, das von John L. Hennessy und David A. Patterson geschrieben ist, und von Nikkei Business Publications Inc. am 26. Juni 1996 [0007]

Claims (13)

  1. Steuersystem, gekenzeichnet durch: einen oder mehrere General-Purpose-Prozessoren (1a, 1b); einen Pipeline-Betriebsprozessor (2) mit einer Pipeline-Verarbeitungsfunktion und verbunden mit einem Bus (1c) des einen oder der mehreren General-Purpose-Prozessoren (1a, 1b); einen ersten Speicher (4), der ausgestaltet ist, um ein Steuerprogramm (4a), das von dem Pipeline-Betriebsprozessor (2) ausgeführt wird, und Betriebsdaten zu speichern, wobei das Steuerprogramm (4a) und die Betriebsdaten von dem einen oder mehreren General-Purpose-Prozessoren (1a, 1b) und dem Pipeline-Betriebsprozessor (2) gemeinsam genutzt werden; und einen zweiten Speicher (3), der ausgestaltet ist, um von dem Pipeline-Betriebsprozessor (2) zugegriffen zu werden, und um als Schnittstelle zum Übertragen von externen Daten zu dienen, die der Pipeline-Betriebsprozessor (2) eingibt oder ausgibt; wobei der Pipeline-Betriebsprozessor (2) enthält: eine Pipeline-Verarbeitungseinheit (2b) mit einer Befehlshalteeinheit (2b1), einer Befehlsdekodiereinheit (2b2), einer Befehlsausfuhr- und -adressenerzeugungseinheit (2b3), einer Speicherzugriffseinheit (2b4, 2b5), einer Schreibeinheit (2b6), um als Stufen einen Befehl aufzuteilen und um Befehle parallel auszuführen, und einen Pipelinebus (2b7), der ausgestaltet ist, um die Stufen zu verbinden, eine Befehlseinfügungseinheit (2b8) und eine Befehlseinfügungungseinheit (2b9); und einen Befehlseinfügungscontroller (2a), der ausgestaltet ist, um einen Befehl in die Pipeline-Verarbeitungseinheit (2b) einzufügen, wenn ein Zugriff auf den ersten Speicher (4) von dem einem oder mehreren General-Purpose-Prozessoren (1a, 1b) gefordert ist, und der ausgestaltet ist, zur Korrektur der relativen Verschiebung der Steuerinformation der Stufen zur Steuerung der Datenwege zwischen den Stufen; wobei der Befehlseinfügungscontroller (2a) einen Nicht-Betriebs-Befehl von der Befehlsdekodiereinheit anstelle eines geplanten darauffolgenden Befehls des Steuerprogramms (4a) einfügt, um die Pipeline-Verarbeitungseinheit (2b) zur Ausführung eines Nicht-Betriebs zu veranlassen, oder einen Nicht-Betriebs-Befehl, der in dem Steuerprogramm (4a) eingebunden ist, durch die Befehlsdekodiereinheit (2b2) detektiert, um die Pipeline-Verarbeitungseinheit (2b) zur Ausführung eines Nicht-Betriebs zu veranlassen, in dem Fall, in dem die Befehlshalteeinheit (2b1) den Befehl von dem ersten Speicher (4) hält und das Steuerprogramm (4a) in Ausführung ist, wenn ein Zugriffsanforderungsbefehl, der einen Zugriff auf den ersten Speicher anfordert, von dem einen oder mehreren General-Purpose-Prozessoren (1a, 1b) empfangen wird, und wobei die Pipeline-Verarbeitungseinheit (2b) einen darauffolgenden Befehl ausführt und die Ausführung der Pipeline-Verarbeitung fortsetzt, ohne Unterbrechung der Verarbeitung des Pipeline-Betriebsprozessors (2).
  2. Steuersystem nach Anspruch 1, dadurch gekennzeichnet, dass der erste Speicher (4) einen synchronen Speicher enthält, und wobei die Befehlszugriffseinheit (2b9) ausgestaltet ist, um in den synchronen Speicher in Synchronisation mit einem Taktsignal von dem Pipeline-Bus (2b7) Daten zu lesen und Daten zu schreiben.
  3. Steuersystem nach Anspruch 1, dadurch gekennzeichnet, dass: die Pipeline-Verarbeitungseinheit (2b) des Weiteren eine erste Speicherzugriffseinheit (2b9) enthält, und wobei der Befehlseinfügungscontroller (2a) ausgestaltet ist, um eine Zugriffsanforderung, die einen Zugriff auf den ersten Speicher (4) anfordert, von dem einen oder mehreren General-Purpose-Prozessoren (1a, 1b) zu empfangen, und um auf den ersten Speicher (4) über die erste Speicherzugriffsein heit (2b9) bei der Ausführung des Nicht-Betriebs-Befehls zuzugreifen.
  4. Steuersystem nach Anspruch 1, dadurch gekennzeichnet, dass der Befehlseinfügungscontroller (2a) umfasst: einen Befehlseinfüger (2a2), der ausgestaltet ist, um einen Nicht-Betriebs-Befehl in die Befehlsdekodiereinheit (2b2) einzufügen, wenn ein Zugriffsanforderungsbefehl von dem einen oder mehreren General-Purpose-Prozessoren (1a, 1b) für den ersten Speicher (4) empfangen wird; einen korrigierten Steuerinformationspuffer (2a3), der ausgestaltet ist, um Steuerinformation der Stufen der Pipeline-Verarbeitungseinheit (2b) zu einer Zeit des Einfügens des Nicht-Betriebs-Befehls, um die relative Verschiebung zwischen der Steuerinformation zu korrigieren, die in dem korrigierten Steuerinformationspuffer (2a3) gespeichert ist, und um Steuerinformation der Stufen zu der Zeit der Ausführung des Befehls nachfolgend auf den Nicht-Betriebs-Befehl zu speichern, und um die korrigierte Steuerinformation auszugeben, wenn die Einfügung des Nicht-Betriebs-Befehls von dem Befehlseinfüger (2a2) mitgeteilt wird, oder wenn der Nicht-Betriebs-Befehl, der in dem Steuerprogramm (4a) eingebunden ist, von der Befehlsdekodiereinheit (2b2) über den Befehlseinfüger (2a2) mitgeteilt wird; und einen ersten Multiplexer (2a4), der ausgestaltet ist, um die Steuerinformation der Pipeline-Verarbeitungseinheit (2b) zu ändern, zu einem Ausgang des korrigierten Steuerinformationspuffers (2a3) und zum Rekonfigurieren der Steuerinformation, wenn der Nicht-Betriebs-Befehl erzeugt wird.
  5. Steuersystem nach Anspruch 4, dadurch gekennzeichnet, dass der korrigierte Steuerinformationspuffer (2a3) enthält: einen Steuerinformationsspeicher (2a32) mit Bänken zum Speichern von Steuerinformation; einen Speicherbankselektor (2a31), der ausgestaltet ist, zur Auswahl von einer oder mehreren Banken zum Speichern der Steuerinformation, jedes Mal, wenn ein Nicht-Betriebs-Befehl eingefügt wird; einen korrigierten Steuerinformationsselektor (2a33), der ausgestaltet ist, um die relative Verschiebung der Steuerinformation, die in den Bänken gespeichert ist, zwischen den Stufen zu korrigieren, die durch das Einfügen des Nicht-Betriebs-Befehls verursacht wird, und die korrigierte Steuerinformation zu der Zeit der Ausführung eines Befehls zu rekonfigurieren, der dem Nicht-Betriebs-Befehl folgt, und um die korrigierte Steuerinformation von einer entsprechenden Bank auszuwählen und auszugeben; und einem zweiten Multiplexer (2a332), der ausgestaltet ist, um eine Ausgabe des korrigierten Steuerinformationsselektors (2a33) und Steuerinformation vor der Einfügung des Nicht-Betriebs-Befehls auszuwählen.
  6. Steuersystem nach Anspruch 1, dadurch gekennzeichnet, dass die Befehlsdekodiereinheit (2b2) umfasst: eine ID-Schaltung (2b12), die ausgestaltet ist, um einen Befehlscode des Befehls zu speichern, der von der Befehlshalteeinheit (2b1) gehalten wird, und eine Adresse des Befehls; und eine Ausrichtungsfehlerdetektionsschaltung (2b13), die ausgestaltet ist, um die Anwesenheit oder Abwesenheit eines Ausrichtungsfehlers zu erkennen, beruhend auf dem Befehlscode und der Adresse, die in der ID-Schaltung (2b12) gespeichert sind; wobei, wenn die Ausrichtungsfehlerdetektionsschaltung (2b13) einen Ausrichtungsfehler entdeckt, der Befehlseinfüger (2a2) bezüglich der Anwesenheit oder Abwesenheit des Ausrichtungsfehlers benachrichtigt wird; und wobei der Befehlseinfüger (2a2) die ID-Schaltung (2b12) bezüglich der Einfügung des Befehlscodes entsprechend der Anwesenheit oder Abwesenheit des Ausrichtungsfehlers benachrichtigt und den Zugriff auf den ersten Speicher (4) beruhend auf der Anwesenheit oder Abwesenheit des Ausrichtungsfehlers durchführt.
  7. Steuersystem nach Anspruch 1, dadurch gekennzeichnet, dass die Befehlsdekodiereinheit (2b2) umfasst: eine ID-Schaltung (2b12), die ausgestaltet ist, um Befehlscode des Befehls zu speichern, der von der Befehlshalteeinheit (2b1) gehalten wird; und einer Zugriffsbefehlsdetektionsschaltung (2b14), die ausgestaltet ist, um einen Anfragebefehl für den Zugriff auf den zweiten Speicher (3) für mehrere Male beruhend auf dem Befehlscode, der in der ID-Schaltung (2b12) gespeichert ist, zu erkennen; wobei, wenn die Zugriffsbefehlsdetektionsschaltung (2b14) den Anfragebefehl zum Zugriff für mehrere Male erkennt, der Befehlseinfüger (2a2) bezüglich der Anzahl von Malen des Zugriffs informiert wird; und wobei der Befehlseinfüger (2a2) die ID-Schaltung (2b12) bezüglich der Einfügung des Befehlscodes entsprechend der Anzahl von Malen zur Ausführung des Zugriffs auf den zweiten Speicher (3) entsprechend der Anzahl von Malen informiert.
  8. Pipeline-Betriebsprozessor, gekennzeichnet durch: eine Pipeline-Verarbeitungseinheit (2b) mit einer Pipeline-Verarbeitungsfunktion zur parallelen Verarbeitung eines Steuerprogramms (4a) und mit einer Befehlshalteeinheit (2b1), einer Befehlsdekodiereinheit (2b2), einer Befehlsausführungs- und -adressenerzeugungseinheit (2b3), einer Speicherzugriffseinheit (2b4, 2b5), und einer Schreibeinheit (2b6), um als Stufen einen Befehl aufzuteilen und parallel Befehle durchzuführen, und einen Pipeline-Bus (2b7), der ausgestaltet ist, um die Stufen zu verbinden; und einen Befehlseinfügungscontroller (2a), der ausgestaltet ist, um einen Befehl in die Pipeline-Verarbeitungseinheit (2b) einzufügen, wenn Zugriff auf einen ersten Speicher (4) von einem General-Purpose-Prozessor (1a, 1b) gefordert wird, und der ausgestaltet ist, um die relative Verschiebung der Steuerinformation der Stufen zur Steuerung der Datenwegen zwischen den Stufen zu korrigieren; und wobei der Befehlseinfügungscontroller (2a) einen Nicht-Betriebs-Befehl von der Befehlsdekodiereinheit (2b2) anstelle eines geplanten darauffolgenden Befehls des Steuerprogramms (4a) einfügt, um die Pipeline-Verarbeitungseinheit (2b) zur Ausführung eines Nicht-Betriebs zu veranlassen, oder einen Nicht-Betriebs-Befehl, der in dem Steuerprogramm (4a) eingebettet ist, durch die Befehlsdekodiereinheit (2b2) erkennt, um die Pipeline-Verarbeitungseinheit (2b) zur Ausführung eines Nicht-Betriebs zu veranlassen, in dem Fall, in dem die Befehlshalteeinheit (2b1) den Befehl von dem ersten Speicher (4) hält und das Steuerprogramm (4a) in Ausführung ist, wenn ein Zugriffsanforderungsbefehl, der einen Zugriff auf den ersten Speicher (4) anfordert, von dem General-Purpose-Prozessor (1a, 1b) empfangen wird, und wobei die Pipeline-Verarbeitungseinheit (2b) den darauffolgenden Befehl ausführt und die Ausführung der Pipeline-Verarbeitung ohne Unterbrechung der Verarbeitung des Pipeline-Betriebsprozessors (2) fortsetzt.
  9. Pipeline-Betriebsprozessor nach Anspruch 8, dadurch gekennzeichnet, dass der erste Speicher (4) einen Synchronspeicher enthält; und wobei der Pipeline-Betriebsprozessor (2b) des Weiteren eine Befehlszugriffseinheit (2b9) enthält, die ausgestaltet ist, um ein Datenlesen und ein Datenschreiben zu dem synchronen Speicher in Synchronisation mit einem Taktsignal von dem Pipeline-Bus (2b7) auszuführen.
  10. Pipeline-Betriebsprozessor nach Anspruch 8, dadurch gekennzeichnet, dass der Befehlseinfügungscontroller (2a) umfasst: einen Befehlseinfüger (2a2), der ausgestaltet ist, um einen Nicht-Betriebs-Befehl in die Befehlsdekodiereinheit (2b2) einzufügen, wenn ein Zugriffsanforderungsbefehl von dem General-Purpose-Prozessor (1a, 1b) für den ersten Speicher (4) empfangen wird; einen korrigierten Steuerinformationspuffer (2a3), der ausgestaltet ist, um Steuerinformation der Stufen der Pipeline-Verarbeitungseinheit (2b) für eine Zeit des Einfügens des Nicht-Betriebs-Befehls, um die relative Verschiebung zwischen der Steuerinformation, die in dem korrigierten Steuerinformationspuffer (2a3) gespeichert ist, zu korrigieren, und um Steuerinformation der Stufen für die Zeit der Einfügung eines Befehls nachfolgend dem Nicht-Betriebs-Befehl, wenn die Einfügung des Nicht-Betriebs-Befehls von dem Befehlseinfüger (2a2) mitgeteilt wird, und zum Ausgeben der korrigierten Steuerinformation, wenn die Einfügung des Nicht-Betriebs-Befehls von dem Befehlseinfüger (2a2) mitgeteilt wird, oder wenn der Nicht-Betriebs-Befehl, der in dem Steuerprogramm (4a) eingebettet ist, von der Befehlsdekodiereinheit (2b2) über den Befehlseinfüger (2a2) mitgeteilt wird, zu speichern; und einen ersten Multiplexer (2a4), der ausgestaltet ist, um die Steuerinformation der Pipeline-Verarbeitungseinheit (2b) zu einem Ausgang des korrigierten Steuerinformationspuffers (2a3) zu wechseln, und die Steuerinformation zu rekonfigurieren, wenn der Nicht-Betriebs-Befehl erzeugt wird.
  11. Pipeline-Betriebsprozessor nach Anspruch 8, dadurch gekennzeichnet, dass der korrigierte Steuerinformationspuffer (2a3) umfasst: einen Steuerinformationsspeicher (2a32) mit Bänken zum Speichern der Steuerinformation; einen Speicherbankselektor (2a31), der ausgestalt ist, um eine der Banken zum Speichern der Steuerinformation, jedes Mal, wenn der Nicht-Betriebs-Befehl eingefügt wird, auszuwählen; einen korrigierten Steuerinformationsselektor (2a33), der ausgestaltet ist, um zum Zeitpunkt der Ausführung des darauffolgenden Befehls, die relative Verschiebung der Steuerinformation, die in jeder der Banken gespeichert ist, zwischen den Stufen zu korrigieren, die durch das Einfügen des Nicht-Betriebs-Befehls verursacht wird, um die korrigierte Steuerinformation von einer entsprechenden Bank zu wählen und auszugeben; und einen zweiten Multiplexer (2a332), der ausgestaltet ist, um eine der Ausgaben von einem korrigierten Steuerinformationsselektor (2a33) und die Steuerinformation vor der Einfügung des Nicht-Betriebs-Befehls auszuwählen.
  12. Pipeline-Betriebsprozessor nach Anspruch 8, dadurch gekennzeichnet, dass die Befehlsdekodiereinheit (2b2) umfasst: eine ID-Schaltung (2b12), die ausgestaltet ist, um einen Befehlscode des Befehls, der von der Befehlshalteeinheit (2b1) gehalten wird, und eine Adresse des Befehls zu speichern, und eine Ausrichtungsfehlerdetektionsschaltung (2b13), die ausgestaltet ist, um die Anwesenheit oder Abwesenheit eines Ausrichtungsfehlers zu erkennen, beruhend auf dem in der ID-Schaltung (2b12) gespeicherten Befehlscode und der Adresse, wobei, wenn die Ausrichtungsfehlerdetektionsschaltung (2b13) den Ausrichtungsfehler detektiert, der Befehlseinfüger (2a2) von der Anwesenheit oder Abwesenheit des Ausrichtungsfehlers informiert wird, und wobei der Befehlseinfüger (2a2) die ID-Schaltung (2b12) bezüglich der Einfügung des Befehlscodes entsprechend der Anwesenheit oder Abwesenheit des Ausrichtungsfehlers informiert, um auf den ersten Speicher (4) zuzugreifen, beruhend auf der Anwesenheit oder Abwesenheit des Ausrichtungsfehlers.
  13. Pipeline-Betriebsprozessor nach Anspruch 8, dadurch gekennzeichnet, dass die Befehlsdekodiereinheit (2b2) umfasst: eine ID-Schaltung (2b12), die ausgestaltet ist, um Befehlscode des Befehls zu speichern, der von der Befehlshalteeinheit (2b1) gehalten wird; und eine Zugriffsbefehlsdetektionsschaltung (2b14), die ausgestaltet ist, um einen Anfragebefehl für den Zugriff auf den zweiten Speicher (3) für mehrere Male beruhend auf dem Be fehlscode, der in der ID-Schaltung (2b12) gespeichert ist, zu erkennen; wobei, wenn die Zugriffsbefehlsdetektionsschaltung (2b14) den Zugriffsbefehl für den Zugriff für mehrere Male erkennt, der Befehlseinfüger (2a2) bezüglich der Anzahl von Malen des Zugriffs informiert wird, und wobei der Befehlseinfüger (2a2) die ID-Schaltung (2b12) bezüglich der Einfügung des Befehlscodes entsprechend der Anzahl der Male zur Ausführung des Zugriffs auf den zweiten Speicher (3) für mehrere Male informiert.
DE102009024012A 2008-08-21 2009-06-05 Pipeline-Betriebsprozessor und Steuersystem Ceased DE102009024012A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008213351A JP5395383B2 (ja) 2008-08-21 2008-08-21 パイプライン演算プロセッサを備える制御システム
JP2008-213351 2008-08-21

Publications (1)

Publication Number Publication Date
DE102009024012A1 true DE102009024012A1 (de) 2010-02-25

Family

ID=41566931

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102009024012A Ceased DE102009024012A1 (de) 2008-08-21 2009-06-05 Pipeline-Betriebsprozessor und Steuersystem

Country Status (6)

Country Link
US (1) US8200950B2 (de)
JP (1) JP5395383B2 (de)
KR (1) KR101092955B1 (de)
CN (1) CN101655784B (de)
DE (1) DE102009024012A1 (de)
TW (1) TWI408601B (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101826052B (zh) * 2010-05-04 2012-07-04 中国人民解放军国防科学技术大学 Nual执行语义微处理器中保持延时一致性的断点实现方法
CN101866281B (zh) * 2010-06-13 2013-05-22 清华大学 一种多周期指令执行方法和装置
US8522076B2 (en) * 2010-06-23 2013-08-27 International Business Machines Corporation Error detection and recovery in a shared pipeline
US9529596B2 (en) * 2011-07-01 2016-12-27 Intel Corporation Method and apparatus for scheduling instructions in a multi-strand out of order processor with instruction synchronization bits and scoreboard bits
US8635501B2 (en) 2011-07-25 2014-01-21 Microsoft Corporation Detecting memory hazards in parallel computing
CN102830953B (zh) * 2012-08-02 2017-08-25 中兴通讯股份有限公司 指令处理方法及网络处理器指令处理装置
US9268597B2 (en) * 2014-04-01 2016-02-23 Google Inc. Incremental parallel processing of data
WO2019021344A1 (ja) * 2017-07-24 2019-01-31 オリンパス株式会社 画像処理装置および撮像装置
CN111857831B (zh) * 2020-06-11 2021-07-20 成都海光微电子技术有限公司 一种存储体冲突优化方法、并行处理器及电子设备
CN111930426A (zh) * 2020-08-14 2020-11-13 西安邮电大学 一种可重构计算的双模指令集架构及其应用方法
KR20240063179A (ko) * 2021-09-26 2024-05-13 세레모픽 인코포레이티드 제어 플로우 공격 검출 기능을 구비한 코어 프로세서 및 용장 브랜치 프로세서
US11921843B2 (en) 2021-09-26 2024-03-05 Ceremorphic, Inc. Multi-threaded secure processor with control flow attack detection

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001095101A2 (en) * 2000-06-02 2001-12-13 Sun Microsystems, Inc. Synchronizing partially pipelined instructions in vliw processors
JP3435267B2 (ja) 1995-11-07 2003-08-11 株式会社東芝 マイクロプロセッサ及びそのロードアドレス予想方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05100844A (ja) * 1991-10-08 1993-04-23 Nec Corp マイクロ・プロセツサのプログラムウエイト制御回路
JPH06161778A (ja) * 1992-11-26 1994-06-10 Fujitsu Ltd マルチフロー命令制御方法及び命令処理装置
US5860000A (en) * 1996-01-31 1999-01-12 Hitachi Micro Systems, Inc. Floating point unit pipeline synchronized with processor pipeline
JP3014682B2 (ja) * 1997-11-21 2000-02-28 松下電器産業株式会社 プログラム制御方法及び装置
US6112297A (en) * 1998-02-10 2000-08-29 International Business Machines Corporation Apparatus and method for processing misaligned load instructions in a processor supporting out of order execution
JP2000298652A (ja) * 1999-04-14 2000-10-24 Mitsubishi Electric Corp マルチプロセッサ
CN1217261C (zh) * 1999-05-13 2005-08-31 Arc国际美国控股公司 用于处理器流水线分段法及再装配的方法以及装置
US6901491B2 (en) * 2001-10-22 2005-05-31 Sun Microsystems, Inc. Method and apparatus for integration of communication links with a remote direct memory access protocol
US6877077B2 (en) * 2001-12-07 2005-04-05 Sun Microsystems, Inc. Memory controller and method using read and write queues and an ordering queue for dispatching read and write memory requests out of order to reduce memory latency
US6891543B2 (en) * 2002-05-08 2005-05-10 Intel Corporation Method and system for optimally sharing memory between a host processor and graphics processor
JP4412905B2 (ja) * 2003-01-28 2010-02-10 パナソニック株式会社 低電力動作制御装置、およびプログラム最適化装置
US7373536B2 (en) 2004-08-04 2008-05-13 Kabushiki Kaisha Toshiba Fine granularity halt instruction
US7278014B2 (en) * 2004-12-02 2007-10-02 International Business Machines Corporation System and method for simulating hardware interrupts
US7437537B2 (en) * 2005-02-17 2008-10-14 Qualcomm Incorporated Methods and apparatus for predicting unaligned memory access
US7814487B2 (en) 2005-04-26 2010-10-12 Qualcomm Incorporated System and method of executing program threads in a multi-threaded processor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3435267B2 (ja) 1995-11-07 2003-08-11 株式会社東芝 マイクロプロセッサ及びそのロードアドレス予想方法
WO2001095101A2 (en) * 2000-06-02 2001-12-13 Sun Microsystems, Inc. Synchronizing partially pipelined instructions in vliw processors

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HENNESSEY,J.L.,et.al.:Computer Organization and Design. 2nd ed. 1998,Morgan Kaufmann Publishers,S.436-445 $Fig.6,4$ *
HENNESSEY,J.L.,et.al.:Computer Organization and Design. 2nd ed. 1998,Morgan Kaufmann Publishers,S.436-445 Fig.6,4
Kapitel 6, Seite 23 bis 70 von "Computer Architecture and Design" (Band 2) veröffentlicht, das von John L. Hennessy und David A. Patterson geschrieben ist, und von Nikkei Business Publications Inc. am 26. Juni 1996

Also Published As

Publication number Publication date
KR20100023731A (ko) 2010-03-04
US20100050026A1 (en) 2010-02-25
TWI408601B (zh) 2013-09-11
JP5395383B2 (ja) 2014-01-22
CN101655784B (zh) 2013-03-06
TW201011644A (en) 2010-03-16
JP2010049500A (ja) 2010-03-04
KR101092955B1 (ko) 2011-12-12
CN101655784A (zh) 2010-02-24
US8200950B2 (en) 2012-06-12

Similar Documents

Publication Publication Date Title
DE102009024012A1 (de) Pipeline-Betriebsprozessor und Steuersystem
DE69028138T2 (de) Mechanismus zur präzisen Behandlung von Ausnahmebedingungen in einem Prozessor mit gepaarten Befehlen
DE69829778T2 (de) Ablaufverfolgungspuffer ausserhalb der pipeline für befehlswiedergabe nach spekulationsfehler
DE69829693T2 (de) Prozessor mit mehrfachprogrammzählern und ablaufverfolgungspuffern ausserhalb einer ausführungspipeline
DE3686991T2 (de) Mechanismus fuer parallele speicherdatenabholung und befehlsausfuehrung in einem prozessor mit reduziertem befehlssatz.
DE4206062C2 (de) Pipelineverarbeitung von Instruktionen
DE112011105042B4 (de) Indikatoren zur Aufzeichnung einer letzten Verzweigung für einen Transaktionsspeicher
DE3108568C2 (de) Informationsverarbeitungseinrichtung
DE19983330B4 (de) Computerprozessor mit einem Wiederholsystem mit einem Stufungsabschnitt zum getakteten Verzögern und Verfahren zum Verarbeiten eines Befehls in einem solchen Prozessor
DE3751356T2 (de) Informationsverarbeitungssystem.
DE69434728T2 (de) Synchronisationssystem und verfahren in einem datencachesystem mit aufgeteiltem pegel
DE68929483T2 (de) Datenprozessor mit einer Befehlseinheit, die einen Cachespeicher und einen ROM aufweist.
DE3750935T2 (de) Verfahren und System zum Erleichtern der Befehlsausführung in einem digitalen Rechner.
DE68924400T2 (de) Fliessbanddatenverarbeitungsvorrichtung.
DE2036729A1 (de) Digital Datenverarbeiter
DE2657848A1 (de) Steuereinheit fuer ein datenverarbeitungssystem
DE2413074A1 (de) Mikroprogrammgesteuerter datenverarbeiter
DE1901036A1 (de) Anordnung fuer die wiederholte Ausfuehrung fehlerhaft ausgefuehrter Funktionen
DE19527031A1 (de) Verbesserte Vorrichtung zum Reduzieren von Verzögerungen aufgrund von Verzweigungen
DE102014003799A1 (de) Systeme und Verfahren zur Übertragungseliminierung mit Bypass-Mehrfachinstanziierungstabelle
DE69632655T2 (de) Pipeline-Datenverarbeitungsanordnung zur Durchführung einer Mehrzahl von untereinander datenabhängigen Datenprozessen
DE112018006127T5 (de) Abschliessen von verbundenen einträgen einer globalen abschlusstabelle in einem out-of-order-prozessor
DE4134387C2 (de) Vorrichtung und Verfahren zum Befehlszuführen in Geräten mit Parallelverarbeitung
DE69030036T2 (de) Pipelineprozessor, der Befehle mit variabler Länge nutzt
DE10136724A1 (de) Ablaufverfolgungssteuerschaltung

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
8110 Request for examination paragraph 44
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final