-
Die
Erfindung betrifft einen Mikroprozessor gemäß Oberbegriff
von Anspruch 1, ein Verfahren zur Ansteuerung eines Mikroprozessors
gemäß Oberbegriff von Anspruch 8 sowie die Verwendung des
Mikroprozessors in Kraftfahrzeugen.
-
Pipeline-Mikroarchitekturen
bzw. Pipelines stellen eine bekannte Möglichkeit dar, die
Leistung des Verarbeitungskernes in Mikroprozessoren zu erhöhen.
Dabei wird die Abarbeitung von Maschinenbefehlen in aufeinander
folgende Teilaufgaben zerlegt, deren Durchführung überlappend
erfolgt. Diese Überlappung ermöglicht eine Steigerung
des Durchsatzes bei der Abarbeitung von Programmbefehlen bzw. Maschinenbefehlen.
Die Anzahl der pro Taktzyklus bzw. Takteinheit ausgeführten
Befehle kann mit Erweiterungen der Pipeline-Funktionalität
noch erhöht werden. Eine mögliche Erweiterung
bietet beispielsweise die Superskalartechnik an. Mit dieser Technik
werden mehrere Maschinenbefehle aus einer Befehlssequenz gleichzeitig
durch dynamische Zuteilung an parallel arbeitende Funktionseinheiten übergeben.
Der Mikroprozessor wickelt selbst die dynamische Zuteilung während
der Abarbeitung der Befehle ab. Somit geschieht die dynamische Zuteilung
nicht bereits während des Kompilierens.
-
Die
VLIW(Very Long Instruction Word)-Technik stellt eine alternative
Erweiterungsmöglichkeit der Pipeline-Funktionalität
dar. Im Gegensatz zur Superskalartechnik werden bei der VLIW-Technik
die Befehle nicht dynamisch zur Laufzeit prozessorseitig den einzelnen
Funktionseinheiten zugewiesen, sondern der Compiler gruppiert parallel
ausführbare Befehle.
-
Auch
unter Verwendung einer der oben angeführten Erweiterung
kann die Leistung einer Pipeline-Mikroarchitektur durch Pipeline-Konflikte,
auch Pipeline-Hazards genannt, beeinträchtigt werden. Das
Auftreten eines Pipeline-Konfliktes kann zum temporären
Anhalten der Pipeline-Abarbeitung führen, was auch als
Pipeline-Stall bezeichnet wird. Bei einem Pipeline-Stall wird nicht
die gesamte Pipeline blockiert. Während eine Instruktion
angehalten wird, wird typischerweise nur die Ausführung
der nachfolgenden Befehle verzögert, während die
vorausgehenden Befehle weiter ausgeführt werden. Die entstehenden
Lücken in der Pipeline-Abarbeitung werden als Pipelineblasen
bzw. Pipeline-Bubbles bezeichnet.
-
Folgende
Pipeline-Konflikte können beispielhaft in einer Pipeline-Mikroarchitektur
auftreten:
- – Ressourcenkonflikte (Structural
Hazards): Dieser Fall tritt beispielsweise auf, wenn zwei verschiedene
Pipeline-Stufen gleichzeitig auf die gleiche Ressource, wie zum
Beispiel den gleichen single-port Speicher, zugreifen wollen.
- – Datenabhängigkeiten (Data Hazards): Ein
Folgebefehl wartet beispielsweise darauf, dass ein vorheriger Befehl
Daten in einem Register aktualisiert.
- – Konflikte im Kontrollfluss (Control Hazards): Kontrollfluss-Konflikte,
wobei sich beispielsweise die Zieladresse eine Sprungbefehls aus
Daten anderer Befehle ergibt und sich somit die Abarbeitung des
Sprungbefehls um die Auswertungszeit dieser Daten anderer Befehle
verzögern kann. Um ein diesbezügliches Anhalten
der Pipeline-Abarbeitung zu verhindern verwendet bzw. implementiert
man beispielsweise Sprungvorhersagen (Branch-Prediction), welche
spekulativ die Sprungadresse vorher berechnen. Die Abarbeitung läuft
ohne Unterbrechung weiter, wenn sich die Vorhersage als richtig
erwiesen hat. Im Falle einer falschen Sprungvorhersage müssen
allerdings in der Zwischenzeit ausgeführte Befehle verworfen
werden (Pipeline-Flush). Dies nimmt insbesondere für lange
Pipeline-Mikroarchitekturen viel Zeit in Anspruch. Bei einem erneuten
Auffüllen der Pipeline resultieren daraus automatisch Pipeline-Bubbles
in einigen Pipeline-Stufen.
-
Zur
Reduzierung von Pipelineblasen sind bereits verschiedene Techniken
bekannt, die im Compiler oder in der Hardware-Implementierung der
Pipeline bzw. in der Pipeline-Mikroarchitektur wirken. Für den
Compiler wird in der Regel ein Satz von Konfigurationsparametern
gesucht, die für eine vorgegebene Anwendung die Häufigkeit
von Pipeline-Konflikten minimal hält. Auf der Hardwareseite
werden in der Regel zusätzliche Vorkehrungen in die Pipeline-Mikroarchitektur
implementiert, um das Auftreten von Pipelineblasen möglichst
zu verhindern oder eine schnellere Lösung von Pipeline-Konflikten
im Prozessor zu fördern.
-
In
der Druckschrift
WO
2004/111838 A1 wird ein Verfahren beschrieben, das die
durch Datenabhängigkeiten hervorgerufenen Pipeline-Konflikte
teilweise vermeidet. Hierbei sorgen ange passte Pipeline-Stufen dafür,
dass sich zwei auf das gleiche Register zugreifende Befehle nicht
blockieren.
-
Druckschrift
US 2003/0200421 A1 offenbart ein
Verfahren, bei welchem der Prozessor die abzuarbeitenden Befehle
nach mehreren Durchläufen so umordnet, dass die Abarbeitung
möglichst ohne Pipeline-Konflikte durchgeführt
wird. Bei diesen Verfahren sowie in anderen ähnlichen Veröffentlichungen
liegt der Schwerpunkt auf eine Optimierung der Pipeline-Architektur,
um Pipeline-Konflikte zu vermeiden.
-
Druckschrift
EP 0 352 103 A2 schlägt
einen Prozessor und ein Verfahren zum Betreiben einer Pipeline-Verarbeitungseinheit
vor, bei welchem Pipeline-Blasen mittels einer Pipelineblasen-Erfassungseinrichtung
in einem ersten Pipeline-Abschnitt detektiert werden, wonach die
Pipelineblasen durch einen Überschreibvorgang eliminiert
werden.
-
Die
Erfindung hat sich die Aufgabe gestellt einen Mikroprozessor und
ein Verfahren zur Ansteuerung eines Mikroprozessors vorzuschlagen,
welcher eine verbesserte Vermeidung von Pipelineblasen ermöglicht.
-
Die
Aufgabe wird erfindungsgemäß gelöst durch
den Mikroprozessor gemäß Anspruch 1 sowie das
Verfahren gemäß Anspruch 8.
-
Der
Erfindung liegt insbesondere der Gedanke zu Grunde, eine Pipelineblasen-Erfassungseinrichtung
um eine Minimal-Abarbeitungstaktzyklen-Ermittlungseinheit und/oder
eine Re al-Abarbeitungstaktzyklen-Ermittlungseinheit zu ergänzen,
um eine relativ präzise Analyse des Auftretens von Pipelineblasen
zu ermöglichen.
-
Der
erfindungsgemäße Mikroprozessor ist vorzugsweise
geeignet, um Software-Entwicklern eine vertiefte Analyse der Güte
eines Programmcodes hinsichtlich des Auftretens von Pipeline-Konflikten
zu ermöglichen.
-
Mit
bekannten Verfahren zur Reduzierung von Pipelineblasen können
viele Software-Entwickler ihre Beiträge zur Vermeidung
von Pipeline-Konflikten nur begrenzt aktiv auswerten. Ein typischer
Software-Entwickler erhält einen für sein Projekt
vorkonfigurierten Compiler für eine feststehende Pipeline-Mikroarchitektur
in einem Mikroprozessor. Wenn sein Programmcode mit anderen Programmcodes
zusammengefügt wird, kann er bislang nur ungenau abschätzen,
in welchem Maße sein Programmcode Pipeline-Konflikte verursacht.
-
Der
erfindungsgemäße Mikroprozessor und das erfindungsgemäße
Verfahren haben insbesondere den Vorteil, dass Rückmeldungen
hinsichtlich des Pipeline-Verhaltens bzw. des Auftretens von Pipelineblasen
für einen vom Software-Entwickler beliebig ausgewählten
Teil eines Programmcodes bereitgestellt werden können.
Bei einem vorgegebenen Compiler für einen vorhandenen Mikroprozessor mit
optimierter Pipeline-Mikroarchitektur kann dabei ein Software-Entwickler
relativ schnell und einfach analysieren, in wie fern ein Programmteil
an der Erzeugung von Pipeline-Konflikten beteiligt ist. Der Programmcode
kann dadurch hinsichtlich einer Vermeidung von Pipelinebla sen verbessert
werden. Dies kann zweckmäßigerweise dadurch erreicht
werden, dass im Zuge der Verifikation des Programms bzw. Programmcodes
durch den Software-Entwickler die Compiler-Einstellungen im Zusammenwirken
mit der Optimierung des Programmcodes selbst optimiert werden.
-
Die
Pipeline-Mikroarchitektur umfasst vorzugsweise zumindest Teile des
Steuerwerks des Mikroprozessors.
-
Der
Begriff „bearbeiten” umfasst bevorzugt den Begriff „abarbeiten”.
-
Unter
dem Begriff „optimieren” wird zweckmäßigerweise
ein Optimieren hinsichtlich des Vermeidens von Pipelineblasen verstanden.
-
Unter
der Anzahl an Taktzyklen wird vorzugsweise ebenfalls oder alternativ
eine Abarbeitungszeit, insbesondere eine nicht diskrete Abarbeitungszeit,
verstanden.
-
Die
Pipelineblasen-Erfassungseinrichtung weist vorzugsweise zusätzlich
eine Real-Abarbeitungstaktzyklen-Ermittlungseinheit zur Ermittlung
der im Wesentlichen tatsächlichen Anzahl an Abarbeitungstaktzyklen,
in welcher einer oder mehrere Programmbefehle die Pipeline-Mikroarchitektur
durchlaufen und/oder von dieser abgearbeitet werden, auf. Die Real-Abarbeitungstaktzyklen-Ermittlungseinheit umfasst
dabei insbesondere ein Zählerelement.
-
Es
ist bevorzugt, dass der Befehlssatz des Mikroprozessors einen Pipelineblasen-Test-Startbefehl
und einen Pipelineblasen-Test-Stoppbefehl aufweist, mit welchen
die Pipelineblasen-Erfassungseinrichtung so angesteuert werden kann,
dass ein Pipelineblasen-Test gestartet und beendet wird, wodurch die
Pipelineblasen-Erfassungseinrichtung entsprechend aktiviert und
deaktiviert wird.
-
Die
Minimal-Abarbeitungstaktzyklen-Ermittlungseinheit weist vorzugsweise
eine Maschinencode-Abarbeitungstaktzyklen-Zuordnungseinheit auf,
welche die minimale Anzahl an Abarbeitungstaktzyklen des zuletzt
geladenen Befehls aus dem Maschinencode ermittelt.
-
Es
ist zweckmäßig, dass die Pipelineblasen-Erfassungseinrichtung
und die Pipeline-Mikroarchitektur so ausgebildet sind, dass nach
dem Laden des Pipelineblasen-Test-Startbefehls in die Pipeline-Mikroarchitektur
und/oder bei Abarbeitung des Pipelineblasen-Test-Startbefehls in
der Pipeline-Mikroarchitektur die Minimal-Abarbeitungstaktzyklen-Ermittlungseinheit
und die Real-Abarbeitungstaktzyklen-Ermittlungseinheit jeweils gestartet
werden und durch diese die Minimal- und Realanzahl an Abarbeitungstaktzyklen
von einem oder mehreren Befehlen ermittelt wird, wonach die Minimal-Abarbeitungstaktzyklen-Ermittlungseinheit
und die Real-Abarbeitungstaktzyklen-Ermittlungseinheit gestoppt werden,
wenn der Pipelineblasen-Test-Stoppbefehl in die Pipeline-Mikroarchitektur
geladen oder in dieser ausgeführt oder von dieser zurückgeschrieben wird.
-
Die
Real-Abarbeitungstaktzyklen-Ermittlungseinheit weist vorzugsweise
eine Monitoreinheit auf, welche für jeden durch die Pipeline-Mikroarchitektur
bearbeiteten Befehl ein Differenz aus der tatsächlichen
Anzahl an Abarbeitungstaktzyklen und der durch die Minimal-Abarbeitungstaktzyklen-Ermittlungseinheit
ermittelten optimalen Anzahl an Abarbeitungstaktzyklen bildet, falls
die Pipelineblasen-Erfassungseinrichtung aktiv ist, wobei die Monitoreinheit
insbesondere eine Maximalwert-Speichereinheit aufweist, welche den
Wert einer maximalen Differenz speichert.
-
Es
ist bevorzugt, dass die Pipelineblasen-Erfassungseinrichtung eine
Ergebnisspeichereinheit aufweist, welche eingangsseitig mit der
Minimal-Abarbeitungstaktzyklen-Ermittlungseinheit und der Real-Abarbeitungstaktzyklen-Ermittlungseinheit
verbunden ist und in welcher die Summe der optimalen Anzahl an Abarbeitungstaktzyklen
und/oder die Summe der tatsächlichen Anzahl an Abarbeitungstaktzyklen
und/oder eine Differenz dieser Summen gespeichert wird, wobei sich
diese Summen auf die Abarbeitung eines oder mehrerer Programmbefehle
beziehen, insbesondere auf sämtliche Programmbefehle, die
während eines einzelnen Pipelineblasen-Tests die Pipeline-Mikroarchitektur
durchlaufen und/oder von dieser abgearbeitet und/oder bearbeitet
werden.
-
Das
Verfahren wird zweckmäßigerweise ergänzt,
indem das von dem Mikroprozessor abzuarbeitende Programm zumindest
einen Pipelineblasen-Test-Startbefehl und wenigstens einen Pipeli neblasen-Test-Stoppbefehl
aufweist, welche die Minimal-Abarbeitungstaktzyklen-Ermittlungseinheit
und eine Real-Abarbeitungstaktzyklen-Ermittlungseinheit der Pipelineblasen-Erfassungseinrichtung
ansteuern und so ein Pipelineblasen-Test gestartet und beendet wird,
wodurch die Pipelineblasen-Erfassungseinrichtung aktiviert und deaktiviert
wird, indem, insbesondere nach dem Laden des Pipelineblasen-Test-Startbefehls
in die Pipeline-Mikroarchitektur, die Minimal-Abarbeitungstaktzyklen-Ermittlungseinheit
und die Real-Abarbeitungstaktzyklen-Ermittlungseinheit jeweils gestartet
werden und von diesen im Wesentlichen die entsprechende Minimal-
und Realanzahl an Taktzyklen von einem oder mehreren Befehlen ermittelt
wird, wonach die Minimal-Abarbeitungstaktzyklen-Ermittlungseinheit
und die Real-Abarbeitungstaktzyklen-Ermittlungseinheit gestoppt werden,
wenn der Pipelineblasen-Test-Stoppbefehl in der Pipeline-Mikroarchitektur
geladen oder ausgeführt oder zurückgeschrieben
wird. Besonders bevorzugt weist der Programmcode an verschiedenen Stellen
jeweils einen Pipelineblasen-Test-Startbefehl und einen Pipelineblasen-Test-Stoppbefehl
auf, wodurch der Teil des Programmcodes, der von diesen beiden Befehlen
eingeschlossen ist, hinsichtlich des Auftretens von Pipelineblasen
analysiert werden kann und der entsprechende Programmcodeteil, ganz
besonders bevorzugt im Zusammenwirken mit den Compilereinstellungen,
optimiert werden kann.
-
Es
ist zweckmäßig, dass der gesamte erfindungsgemäße
Mikroprozessor oder einzelne Module oder Teile dieses Mikroprozessors
als Code, insbesondere als ein Bitcode, verwirklicht sind, welcher
als Ansteuerung eines logischen Mehrzweck chips, wie besonders bevorzugt
einem FPGA (fieldprogrammable gate array), verwendet wird. Vor allem
bei relativ geringen Stückzahlen können so Kosten
gegenüber der Verwendung von ASICs gespart werden.
-
Die
Erfindung bezieht sich außerdem auf die Verwendung des
Mikroprozessors in Kraftfahrzeugen, insbesondere in Kraftfahrzeugregelungssystemen
und/oder -sicherheitssystemen, dabei besonders bevorzugt in Kraftfahrzeugbremssystemen.
-
Die
Erfindung ist vorzugsweise zur Optimierung von Programmcode durch
einen Software-Entwickler vorgesehen, insbesondere in einem Verifikationsprozess
des Programmcodes.
-
Weitere
bevorzugte Ausführungsformen ergeben sich aus den Unteransprüchen
und den nachfolgenden Beschreibungen von Ausführungsbeispielen
an Hand von Figuren.
-
Es
zeigen in schematischer Darstellung
-
1 ein
Ausführungsbeispiel einer Pipeline-Mikroarchitektur und
einer dieser zugeordneten Pipelineblasen-Erfassungseinrichtung,
-
2 eine
beispielhafte Befehlsabarbeitung eines Pipelineblasen-Tests in einer
Pipeline-Mikroarchitektur, und
-
3 einen
beispielhaften Programmcode, umfassend einen Pipelineblasen-Test-Startbefehl und
einen Pipeli neblasen-Test-Stoppbefehl, wodurch dem Software-Entwickler
eine Analyse der Güte des Programmcodes hinsichtlich des
Auftretens von Pipeline-Konflikten in relativ flexibler Weise ermöglicht
wird.
-
Die
in 1 beispielhaft veranschaulichte Pipeline-Mikroarchitektur 1 umfasst
verschiedene Pipeline-Stufen. Je nach Auslegung der Pipeline-Mikroarchitektur
kann die Anzahl der Stufen stark variieren. In 1 werden
beispielsweise folgende Pipeline-Stufen veranschaulicht:
- – IF (Instruction Fetch) Stufe 10:
In diese Pipeline-Stufe werden der Maschinencode bzw. OP Code 14 und
die dazu gehörenden Daten wie beispielsweise ein Operand
oder eine Zieladresse über den Eingangsbus 15 eingespeist.
- – ID (Instruction Decode) Stufe 11: Nachdem
ein Befehl geladen bzw. geholt wurde, erfolgt die Dekodierung des
Befehls in dieser Stufe 11.
- – EX (Execution) Stufe 12: Nachdem ein Befehl dekodiert
und identifiziert wurde, wird er ausgeführt.
- – WB (Write Back) Stufe 13: In dieser Stufe
wird das Ergebnis mittels des Pipeline-Ausgangsbusses 16 beispielsweise
in ein Register zurückgeschrieben und gegebenenfalls für
weitere Abarbeitungsschritte bereit gehalten.
-
Pipeline-Mikroarchitektur 1 ist
mit Pipelineblasen-Erfassungseinrichtung 2 verbunden. Die über Eingangsbus 4 geholten
Befehle werden auch Pipelineblasen-Erfassungseinrichtung 2 zur
Verfügung gestellt. Sobald der Pipelineblasen-Test-Startbefehl BTON
vorzugsweise in der Stufe 10, IF oder in der Stufe 11,
ID erkannt wird, triggert Pipeline-Mikroarchitektur 1 die
Pipelineblasen-Erfassungseinrichtung 2 über den
Signalpfad 17 zum Start eines Pipelineblasen-Tests, wonach
Pipelineblasen-Erfassungseinrichtung 2 die Pipeline-Abarbeitung überwacht. Hierbei
besteht die Überwachung hauptsächlich darin, Unterschiede
zwischen der theoretisch besten bzw. geringsten Anzahl an Taktzyklenzeiten
und der Anzahl tatsächlich angefallener Taktzyklenzeiten
von Befehlsfolgen zu ermitteln. Nachdem Pipelineblasen-Erfassungseinrichtung 2 gestartet
wird, bestimmt sie die minimale bzw. optimale Anzahl an Taktzyklen
jedes in Stufe 10, IF geholten Befehls mittels Minimal-Abarbeitungstaktzyklen-Ermittlungseinheit 3.
Hierfür weist diese eine Maschinencode-Abarbeitungstaktzyklen-Zuordnungseinheit 6 auf,
mit welcher Minimal-Abarbeitungstaktzyklen-Ermittlungseinheit 3 aus
den Bitwerten bzw. aus dem OP Code der durch Eingangsbus 15 bereitgestellten
Befehle die minimale Anzahl bzw. theoretisch beste Anzahl an Taktzyklen
des in Stufe 10, IF geladenen Befehls ableitet bzw. bestimmt. Über
Signalpfad 17 teilt Pipeline-Mikroarchitektur 1 der
Minimal-Abarbeitungstaktzyklen-Ermittlungseinheit 3 mit,
wann die Stufe 10, IF einen neuen Befehl geholt hat. Zählerelement 5 der Real-Abarbeitungstaktzyklen-Ermittlungseinheit 4 ist mit
Pipeline-Mikroarchitektur 1 über Signalpfade 17, 18 und 19 verbunden
und kann somit im Wesentlichen die tatsächlich erfasste
Anzahl an Taktzyklen eines Befehl oder mehrerer Programmbefehle
bzw. Befehle ermitteln. Eine Differenz aus der tatsächlichen
Anzahl an Abarbeitungstaktzyklen und der durch die Minimal-Abarbeitungstaktzyklen-Ermittlungseinheit 3 ermittel ten
optimalen Anzahl an Abarbeitungstaktzyklen des aktuellen Programmbefehls wird
durch Monitoreinheit 7 der Real-Abarbeitungstaktzyklen-Ermittlungseinheit 4 gebildet.
Somit stellt Monitoreinheit 7 jeweils das Überwachungsergebnis des
zuletzt abgearbeiteten Programmbefehls bereit. Zusätzlich
umfasst Monitoreinheit 7 beispielgemäß eine
Maximalwert-Speichereinheit 20, welche den Wert einer maximalen
Differenz bezogen auf einen abgearbeiteten Befehl speichert, also
die größte Differenz zwischen der theoretisch
geringsten Anzahl an Taktzyklen und der tatsächlich angefallenen
Anzahl an Taktzyklen. Ergebnisspeichereinheit 9 (Accumulator)
ist eingangsseitig mit der Minimal-Abarbeitungs-taktzyklen-Ermittlungseinheit 3 und
mit Real-Abarbeitungs-taktzyklen-Ermittlungseinheit 4 verbunden
und speichert beispielgemäß die Summe der optimalen
Anzahl an Abarbeitungstaktzyklen, die Summe der tatsächlichen
Anzahl an Abarbeitungstaktzyklen und eine Differenz dieser Summen
in jeweils einem Register, wobei sich diese drei Summen auf die
Abarbeitung sämtlicher Programmbefehle beziehen, die während
eines einzelnen Pipelineblasen-Tests durch Pipeline-Mikroarchitektur
abgearbeitet werden.
-
Ergebnisspeichereinheit 9 wird
zurückgesetzt, wenn Minimal-Abarbeitungstaktzyklen-Ermittlungseinheit 3 zum
Start des Pipelineblasen-Tests getriggert wird. Pipelineblasen-Erfassungseinrichtung 2 ist
nur während eines Pipelineblasen-Tests aktiv und liefert
ansonsten, also in einem inaktiven Zustand, keine Ergebnisse. Wenn
ein Pipelineblasen-Test-Stoppbefehl BTOFF die letzte Stufe 13,
WB der Pipeline-Mikroarchitektur 1 erreicht, sendet diese an
Pipelineblasen- Erfassungseinrichtung 2 ein Stopp-Signal.
Daraufhin ist der jeweilige Pipelineblasen-Test beendet und die
in der Pipelineblasen-Erfassungseinrichtung 2 erhaltenen
Ergebnisse bleiben unverändert, bis der nächste
Pipelineblasen-Test-Startbefehl BTON geladen bzw. bearbeitet wird.
-
2 veranschaulicht
einen beispielhaften Ablauf eines Pipelineblasen-Tests, der mit
dem Ereignis 41 gestartet und mit dem Ereignis 43 beendet wird.
Das Ereignis 41 tritt auf, nachdem bzw. wenn der Pipelineblasen-Test-Startbefehl
BTON in die Stufe 10, IF geholt wird. Wenn der Pipelineblasen-Test-Stoppbefehl
BTOFF Befehl die letzte Pipeline-Stufe WB erreicht hat bzw. zurückgeschrieben wird,
tritt das Ereignis 43 auf. Zur Veranschaulichung dient
dabei ein schematischer Ausschnitt 44 aus einem Programm,
welche die Pipelineblasen-Test-Befehle BTON und BTOFF umfasst, die
entsprechende Abarbeitungsfolge der Befehle dieses Programm-Ausschnitts
in einem Pipeline-Abarbeitungsschema 45 in Bezug zum Mikroprozessortakt 46,
clk.
-
Mit
dem oben beschriebenen Verfahren verfügt ein Software-Entwickler über
eine relativ hohe Flexibilität bei der Auswahl des zu untersuchenden Teils
eines Programmcodes 50. 3 veranschaulicht
beispielhaft, wie ein Software-Entwickler beliebig die Pipelineblasen-Test-Befehle
BTON und BTOFF, 51 und 52 in den Programmcode 50 einfügen kann.
-
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
-
- - WO 2004/111838
A1 [0007]
- - US 2003/0200421 A1 [0008]
- - EP 0352103 A2 [0009]