DE4311441C2 - Verfahren zum Betreiben eines Mikroprozessors mit einem externen Anschluß - Google Patents

Verfahren zum Betreiben eines Mikroprozessors mit einem externen Anschluß

Info

Publication number
DE4311441C2
DE4311441C2 DE4311441A DE4311441A DE4311441C2 DE 4311441 C2 DE4311441 C2 DE 4311441C2 DE 4311441 A DE4311441 A DE 4311441A DE 4311441 A DE4311441 A DE 4311441A DE 4311441 C2 DE4311441 C2 DE 4311441C2
Authority
DE
Germany
Prior art keywords
microprocessor
processing unit
decoder
instruction
instructions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE4311441A
Other languages
English (en)
Other versions
DE4311441A1 (de
Inventor
Robert S Dreyer
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of DE4311441A1 publication Critical patent/DE4311441A1/de
Application granted granted Critical
Publication of DE4311441C2 publication Critical patent/DE4311441C2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3656Software debugging using additional hardware using a specific debug interface
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • 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, 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3854Instruction completion, e.g. retiring, committing or graduating
    • G06F9/3858Result writeback, i.e. updating the architectural state or memory
    • 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, look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • 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, look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking

Description

Die Erfindung bezieht sich auf Mikroprozessoren; insbeson­ dere betrifft die Erfindung einen Mikroprozessor, dessen Ruhe­ zustand über einen externen elektrischen Anschluß ausgelöst wird. Wenn ein Signal an den elektrischen Anschluß angelegt wird, geht der Mikroprozessor in den Ruhezustand, in welchem der Mikroprozessor eingeschaltet ist, aber keine Befehle aus­ führt.
Herkömmliche Mikroprozessoren arbeiten unter der Steuerung einer von einem Programmierer vorgegebenen Befehlsfolge. Die Befehle können in Form von in einem Speicher gespeicherten Ma­ krobefehlen vorliegen, die an einen Decodierer angelegt und von letzterem in eine Serie von Mikrobefehlen decodiert werden. Mi­ krobefehle sind eine Reihe von Binärzahlen in einer Form, die eine Ausführungseinheit verstehen kann. Die Mikrobefehle werden nacheinander vom Befehlsdecodierer an die Ausführungseinheit angelegt.
Für einen schnelleren Betrieb verwenden viele Mikroprozes­ soren ein "Pipelining", das ist eine Implementierungstechnik, bei welcher mehrere Befehle überlappend ausgeführt werden. Eine Pipeline enthält mehrere Stufen, die nacheinander ausgeführt werden. Die Befehle bewegen sich von einer Stufe zur nächsten; nachdem ein Befehl eine Stufe durchlaufen und sich zur nächsten Stufe bewegt hat, bewegt sich der folgende Befehl in die erste Stufe, um den Platz des vorangegangenen Befehls einzunehmen. Auf diese Weise können Befehle schnell herangeholt, decodiert und ausgeführt werden. Ein Beispiel einer Pipeline-Betriebs­ weise liegt vor, wenn Makrobefehle in Mikrobefehle decodiert und diese nacheinander an die Ausführungseinheit oder einen "Datenpfad" angelegt werden, welche bzw. welcher die Mikrobe­ fehle ausführt, um die darin spezifizierten Operationen auszu­ führen. Die Ausführungseinheit kann eine Anzahl von Mehrzweck­ registern, eine arithmetische Einheit (ALU), Steuerregister und Steuerlogik enthalten. Der Befehlsfluß durch eine Pipeline hin­ durch wird von einer zentralen Steuereinheit gesteuert.
Wenn während der Ausführung eines Programms ein Problem entsteht, das das Ergebnis einer Hardware-Fehlfunktion oder ei­ nes Softwarefehlers sein kann (wenn beispielsweise der Mikro­ prozessor einfach anhält oder wenn er beginnt, sinnlose Daten auszugeben), kann die Lokalisierung der Ursache des Problems extrem schwierig sein. Typischerweise ist ein Software-Debugger ausreichend, wenn ein Software-Fehler auftritt. Wenn eine Hard­ ware-Fehlfunktion auftritt, ist ein Mechanismus auf niedrigerem Niveau erforderlich, wie beispielsweise ein In-Circuit-Emulator oder eine andere Hardware-Fehlerbeseitigungseinrichtung.
Wenn der Mikroprozessor eine Komponente eines an einem ent­ fernten Ort installierten Computers ist, kann die Diagnose durch einen Experten, der von einem Kunden aufgrund einer Re­ klamation angerufen wird, besonders schwierig sein. Wenn das System sich abgeschaltet hat oder "abgestürzt" ist, kann eine direkte Tastatursteuerung unmöglich sein. Selbst wenn die Ta­ statur verwendbar ist, kann der das Problem analysierende Ex­ perte sich irgendwo entfernt aufhalten. In diesem Fall ist üb­ licherweise ein aufwendiger Service-Anruf erforderlich. Es wäre von Vorteil, einen Mikroprozessor zu schaffen, der von einem entfernten Ort aus diagnostiziert werden kann.
Um das Ermitteln der Ursache eines Problems zu unterstüt­ zen, wäre es insbesondere von Vorteil, einen Mikroprozessor zu schaffen, der von außen ohne Softwareeingriffe oder -steuerung angehalten werden kann, so daß der Mikroprozessor analysiert werden kann, um die Ursache des Problems zu ermitteln.
Auch können Probleme auftreten, wenn ein Programm zum er­ sten Mal durch einen Anwendungsprogrammierer entwickelt wird. Um den Anwendungsprogrammierer bei seinen Entwicklungsaufgaben zu unterstützen, wurden Fehlerbeseitigungswerkzeuge entwickelt. Die Fehlerbeseitigungswerkzeuge können in die Hardware eines Computers eingebaut sein oder eine Software-Hardware-Kombina­ tion enthalten. Bei einer Fehlerbeseitigungstechnik werden Un­ terbrechungspunkte an einigen Stellen des Programmcodes ge­ setzt. Gelangt das Programm an diese Unterbrechungspunkte, kön­ nen diese die Programmabarbeitung an der nächsten geeigneten Stelle anhalten und in einen Fehlerbeseitigungsmodus umschal­ ten. Weil der normale Fluß der Programmabarbeitung durch einen Unterbrechungspunkt unterbrochen ist, kann er als Interrupt be­ handelt werden.
Wenn ein durch einen Unterbrechungspunkt oder durch irgend­ eine andere Art eines lnterrupts verursachte Unterbrechung auf­ tritt, ist es üblich, daß der Inhalt des Befehlszeigers in einen Kellerspeicher abgelegt wird und daß auch die Inhalte von einem oder mehreren Registern gesichert werden. Diese lnforma­ tionen, der Befehlszeiger ebenso wie die Inhalte bestimmter Re­ gister und Flags, werden aus verschiedenen Gründen gesichert. Ein Grund ist, daß der Prozessorzustand Informationen enthalten kann, die für ein erfolgreiches Arbeiten der aufgerufenen Rou­ tine wesentlich sind, wie beispielsweise der Befehlszeiger, Flags und Bedingungscodes. Ein anderer Grund ist, daß das Si­ chern dieser Informationen vorteilhaft ist für eine Wiederauf­ nahme der Programmabarbeitung nach Beenden der Abarbeitung des Interrupts an der Stelle, an der das Interrupt auftrat. Ein Si­ chern dieser Informationen beansprucht Zeit und verlangsamt die Interruptverarbeitung. Darüberhinaus kann der einfache Vorgang des Sicherns der Register oder des Lesens von Befehlen für eine Serviceroutine die Diagnosebemühungen stören, insbesondere im Zusammenhang mit Cache-Konsistenzproblemen.
Um den Betrieb eines Mikroprozessors nach bekannten Verfah­ ren anzuhalten, kann ein Signal an einen "Halte"-Pin angelegt werden. Der aktivierte Halte-Pin hindert den Mikroprozessor, Informationen zwischen dem Cache- und dem Hauptspeicher über den Speicherbus auszutauschen. Der Halte-Pin ist insbesondere vorteilhaft bei DMA-Operationen (direkter Speicherzugriff). Wenn das Halte-Pin-Signal angelegt ist, setzt der Mikroprozes­ sor seine Operationen jedoch fort, bis diese die Verwendung des Speicherbusses erfordern, und erst dann beendet er seinen Be­ trieb. Folglich ist es unbestimmt, an welcher Stelle und wann der Mikroprozessor anhält. Wenn der Mikroprozessor einen eige­ nen Cache-Speicher hat, ein bei Mikroprozessoren übliches Merk­ mal, erhöht sich diese Unbestimmtheit. Ein Cache-Speicher spei­ chert häufig benutzte Befehle und Daten. Bei einem Mikroprozes­ sor mit einem Cache-Speicher können sich die Operationen für eine ziemlich lange Zeit unter Verwendung der Cache-Befehle und -Daten fortsetzen, ohne daß auf den Hauptspeicher zugegriffen werden muß. In diesem Fall kann es sein, daß der Mikroprozes­ sorbetrieb für eine sehr lange Zeitspanne nach dem Anlegen des Halte-Pin-Signals nicht stoppt.
Andere Verfahren (US-PS 4 010 448, US-PS 4 998 197 oder GB-PS 1 580 846) ermöglichen das kontrollierte Anhalten eines Mikroprozessors an der Grenze zwischen zwei Befehlen durch Anlegen eines externen Signals. Die bekannten Verfahren sind aber nicht in der Lage, einen mit einer "Pipeline" arbeitenden Mikroprozessor, dessen Makrobefehle zunächst in Mikrobefehle übersetzt werden, wohldefiniert zwischen zwei Makrobefehlen anzuhalten.
Aufgabe der Erfindung ist es daher, den Mikroprozessor so zu beteiben, daß er wohldefiniert an der Grenze zwischen zwei Makrobefehlen angehalten werden kann.
Diese Aufgabe wird mit dem im Patentanspruch 1 an­ gegebenen Verfahren gelöst.
Die Erfindung schafft einen Mikroprozessor mit einem Ruhe-Betriebsmodus bzw. "Ruhezustand", welcher an einer Grenze zwischen Befehlen existiert. Im Ruhe­ zustand decodiert der Decodierer keine weiteren, der Grenze nachfolgenden Befehle. Viele andere Mikroprozessorfunktionen bleiben jedoch betriebsfähig. Die Erfindung ist vorteilhaft beim Implementieren von Fehlerbesei­ tigungs- und Ferndiagnose-Systemen und außerdem beim Synchroni­ sieren von parallel arbeitenden Mikroprozessoren.
Der hier verwendete Mikroprozessor weist einen "Run/Stop- Pin" bzw. "R/S-Pin" genannten elektrischen Anschluß auf, der zur Aufnahme eines elektrischen Signals am Mikroprozessorchip angeordnet ist. Der Mikroprozessor weist eine Pipeline mit ei­ nem Befehlsdecodierer und einer Ausführungseinheit und eine zentrale Steuereinheit mit einem Interrupt-Prioritätsgeber und einem Pipeline-Zuordner auf. Die zentrale Steuereinheit über­ wacht und steuert den Befehlsdecodierer und mit Hilfe ihres Pi­ peline-Zuordners den Fluß der Befehle durch die Pipeline. Der R/S-Pin ist mit der zentralen Steuereinheit, insbesondere mit dem Interrupt-Prioritätsgeber verbunden. Es ist ein zusätzli­ cher Anschluß vorgesehen, welcher "Bestätigungspin" genannt wird und anzeigt, wann der Mikroprozessor im Ruhezustand ist. Darüberhinaus kann eine zusätzliche Schaltungsanordnung mit der Ausführungseinheit und der Steuereinheit des Mikroprozessors verbunden sein, um ihm direkt Befehle und Steuerinformationen zur Verfügung zu stellen, während die Aktualisierung des Be­ fehlszeigers umgangen wird, welche typischerweise als Teil des Decodierens und Ausgebens eines Befehls ausgeführt wird.
Nach dem erfindungsgemäßen Verfahren wird das R/S-Pin-Si­ gnal angelegt, um auf den Ruhemodus zuzugreifen. Während das R/S-Pin-Signal ansteht, verbleibt der Mikroprozessor in dem Ru­ hemodus. Wenn das Signal vom R/S-Pin weggenommen wird, wird die Befehlsausführung an der Stelle wieder aufgenommen, an der sie unterbrochen wurde.
Wenn das Ruhemodus-Signal angelegt wird, wird in dem Inter­ rupt-Prioritätsgeber ein Interrupt hoher Priorität vermerkt. Im Ergebnis hält der Decodierer die Operation an, die dem Abschluß des gerade ausgeführten Befehls folgt, und stellt den Start des in der Pipeline unmittelbar folgenden Befehls zurück, wobei der Mikroprozessor an einer Befehlsgrenze angehalten wird. Ein Zu­ rückstellen (backing up) ist infolge der Pipeline des Mikropro­ zessors erforderlich, in welcher frühe Stufen der Pipeline die Ausführung beginnen, bevor die Ausführung des vorangegangenen Befehls abgeschlossen ist. Nachdem die Operation angehalten wurde, ist der Mikroprozessor im Ruhezustand, und der Bestäti­ gungspin zeigt dies an. Im bevorzugten Ausführungsbeispiel wird der Befehlsdecodierer vom Pipeline-Zuordner angehalten, welcher es der Steuerung der Pipeline zwischen dem Decodierer und der Ausführungseinheit nicht gestattet, den Decodierer zu passie­ ren, wodurch der Decodierer am Anlegen weiterer Befehle gehin­ dert wird.
Eine "Befehlsgrenze" wird vom Standpunkt der Ausführungs­ einheit gesehen. Eine Befehlsgrenze kann als der Punkt zwischen Befehlen definiert werden, an dem die Ausführungseinheit all ihre Änderungen der Register, Flags und Speicher für einen er­ sten Befehl beendet, aber bevor sie die Änderungen der Regi­ ster, Flags und Speicher für den nächsten in der Pipeline fol­ genden Befehl begonnen hat.
An einer Befehlsgrenze im Ruhemodus kann der Decodierer keine weiteren Befehle an die Ausführungseinheit ausgeben, wäh­ rend das R/S-Pin-Signal angelegt bleibt; aber der Taktgeber ar­ beitet normal, und andere Mikroprozessorfunktionen sind be­ triebsfähig. Die Steuerung ist extern; das Pin-Signal kann nicht überschrieben werden, es sei denn, das R/S-Pin-Signal wird unterbrochen.
Der Mikroprozessor kann zusätzliche Schaltungen enthalten, wie beispielsweise eine sekundäre Steuereinheit zum Ausgeben einfacher Befehle. lm Ruhemodus kann diese sekundäre Steuerein­ heit verwendet werden, um Befehle direkt und unter Umgehung des Decodierers der Ausführungseinheit zur Verfügung zu stellen. Darüberhinaus kann ein serieller Port vorgesehen sein, der mit der sekundären Steuereinheit verbunden ist, um Befehle und an­ dere Informationen einzugeben, während der Mikroprozessor im Ruhemodus ist.
Die Erfindung hat eine Anzahl von Vorteilen, einschließlich eines sehr schnellen Interrupts und eines externen Zugriffs auf dieses Interrupt. Die Erfindung ist bei jeder Operation anwend­ bar, bei welcher der Mikroprozessor angehalten werden muß. Die Erfindung ist nützlich für Bussteuerungs-, Fehlerbeseitigungs-, Diagnose-, Multiprozessor-Synchronisations- und DMA-Operationen.
Im folgenden wird die Erfindung anhand eines in der Zeich­ nung dargestellten Ausführungsbeispiels näher beschrieben. In der Zeichnung zeigt:
Fig. 1 ein Blockschaltbild eines verwendeten Mikroprozessors;
Fig. 2 ein Ablaufdiagramm, das das erfindungsgemäße Verfahren zum Betreiben des in Fig. 1 dargestellten Mikroprozessors veranschaulicht; und
Fig. 3 ein Diagramm einer Serie von Befehlen in einer Pipeline zur Veranschaulichung der Pipeline-Be­ triebsweise und einer Befehlsgrenze.
Die Erfindung wird am besten verständlich durch Bezugnahme auf die Zeichnung, in der gleiche Teile mit gleichen Bezugszei­ chen bezeichnet sind.
Die Erfindung kann in der Intel-80×86-Familie implementiert werden und wird im Sinne dieser speziellen Architektur be­ schrieben. Die Erfindung kann jedoch auch in anderen Mikropro­ zessorarchitekturen implementiert werden und ist demzufolge nicht auf das beschriebene Ausführungsbeispiel beschränkt.
Im folgenden wird auf Fig. 1 Bezug genommen. Ein elektri­ sches Signal 10 wird in digitaler Form an einen Run/Stop(R/S)- Pin 12 angelegt. Der R/S-Pin 12 ist an der Außenseite eines Standard-Mikroprozessorchips angeordnet, wobei es die Form ei­ nes herkömmlichen elektrischen Anschlusses hat.
Es ist eine zentrale Steuereinheit 14 vorgesehen, die eine Vielzahl von bei herkömmlichen Computern üblichen Funktionen ausführt. Eine Pipeline 15 wird von der zentralen Steuereinheit 14 gesteuert. Die Pipeline 15 kann eine beliebige herkömmliche Konfiguration annehmen, beispielsweise die des Intel-i486-Mi­ kroprozessors, der weit verbreitet ist.
Die Pipeline 15 des bevorzugten Ausführungsbeispiels ent­ hält eine Heranhol-Einheit 17 zum Puffern von Makrobefehlen zwischen der Speicheranordnung und einem Befehlsdecodierer 18, einen Mikroprogrammspeicher und -zuordner 19, der die Mikrobe­ fehle speichert, auf die zum Decodieren eines komplexen Makro­ befehls in eine Sequenz von Mikrobefehlen vom Decodierer 18 zu­ gegriffen wird, und einen Multiplexer 20 zum Auswählen zwischen dem Decodierer 18 und dem Mikrobefehlsspeicher und -zuordner 19. Der Ausgang des Multiplexers 20 ist an eine Ausführungsein­ heit 22 angelegt.
Die zentrale Steuereinheit 14 weist einen Interrupt-Priori­ tätsgeber 24 auf. Der R/S-Pin 12 ist mit dem Interrupt-Priori­ tätsgeber 24 verbunden, welcher Flags enthalten kann, die si­ gnalisieren, ob ein Interrupt angefordert wurde. Innerhalb des Interrupt-Prioritätsgebers 24 fordert das Signal des R/S-Pins 12 ein lnterrupt sehr hoher Priorität an, welches die Pipeline 15 an einer Befehlsgrenze stoppt; d. h. nachdem die Ausführung des gegenwärtig ausgeführten Befehls beendet und der Prozessor­ zustand (z. B. die Register) aktualisiert worden ist. Im bevor­ zugten Ausführungsbeispiel weist die zentrale Steuereinheit 14 einen Pipeline-Zuordner 25 auf, welcher den Fluß der Befehle durch die Pipeline 15 steuert. Um die Pipeline 15 an einer Be­ fehlsgrenze anzuhalten, gestattet der Pipeline-Zuordner 25 den Abschluß der Ausführungsstufe und die Aktualisierung des Pro­ zessorzustandes für einen ersten Befehl. Der in der Pipeline nächste Befehl wird jedoch zurückgestellt (backed up), so daß der folgende Befehl nicht vollständig ausgeführt wird und der Decodierer 18 bereitsteht, um diesen Befehl wieder auszugeben. Im Ergebnis steuert der Pipeline-Zuordner 25 der zentralen Steuereinheit 14 die Pipeline 15 so, daß keine weiteren Befehle der Ausführungseinheit 22 zur Verfügung gestellt werden. Die Pipeline und die Befehlsgrenzen werden unten anhand von Fig. 3 näher erläutert. Bei anderen Ausführungsbeispielen können an­ dere Verfahren zum Anhalten des Befehlsdecodierers 18 benutzt werden. Beispielsweise kann eine Steuerschaltung vorgesehen sein, welche die Operation des Befehlsdecodierers 18 direkt an­ hält oder das Anlegen des nächsten Befehls an den Decodierer 18 verhindert.
Die Pipeline 15 und die zentrale Steuereinheit 14 kommuni­ zieren durch Austauschen von Signalen. Die zentrale Steuerein­ heit 14 erkennt, wann die Ausführung abgeschlossen ist (eine Befehlsgrenze die Ausführungsstufe passiert hat) und die Pipe­ line 15 gestoppt hat. Wenn diese Stoppbedingung erfaßt wird, ist der Mikroprozessor im Ruhezustand. Dann sendet die zentrale Steuereinheit 14 ein Signal an den Bestätigungspin 26, der an der Außenseite des Mikroprozessors angeordnet ist. Dieser Be­ stätigungspin 26 kann mit irgendeinem geeigneten Detektor ver­ bunden sein, beispielsweise mit einem Sensor 28 zum Erfassen des Ruhezustandes.
Die Ausführungseinheit 22 enthält eine Anzahl von Registern 30, welche Mehrzweckregister, Steuerregister und andere Regi­ ster enthalten, die für den bestimmten Mikroprozessor geeignet sind. Die Ausführungseinheit 22 weist außerdem eine arithme­ tisch-logische Einheit (ALU) 31 zum Ausführen arithmetischer Operationen auf. Während einer typischen Verarbeitung wird an die Ausführungseinheit 22 eine Reihe von Mikrobefehlen aus dem Decodierer 18 bei einfachen Makrobefehlen oder aus dem Mikro­ programmspeicher- und -zuordner 19 bei komplexeren Makrobefeh­ len angelegt. Wenn beispielsweise ein vom Decodierer 18 zu de­ codierender Befehl komplex ist, dann wird der Mikroprogramm-Zu­ ordner 19 aufgerufen, eine Sequenz von Mikrobefehlen zu lie­ fern, die nacheinander an die Ausführungseinheit 22 zur Ausfüh­ rung gesendet werden.
Die Pipeline 15 erhält Makrobefehle und Daten aus einem Speicher in irgendeiner herkömmlichen Weise. Ein Befehls-Cache- Speicher 32 ist vorgesehen, um Befehle an die Heranhol-Einheit 17 anzulegen. Der Befehls-Cache 32 ist mit einer Busschnitt­ stelleneinheit 33 verbunden, welche außerdem mit einem Daten- Cache 34, einem Puffer 36 und einem Hauptspeicher 38 verbunden ist. Die Steuerung des Befehls-Cache 31, der Busschnittstellen­ einheit 33, des Daten-Cache 34 und des Puffers 36 wird durch die zentrale Steuereinheit 14 ausgeführt.
Ein serieller Port 50 kann vorgesehen sein, um Informatio­ nen aus einer externen Quelle in den Mikroprozessor zu leiten, während dieser in dem Ruhezustand ist. Der serielle Port 40 kann arbeiten, während der Befehlsdecodierer 18 nicht arbeitet, und folglich weist der serielle Port 40 eine Schaltungsanord­ nung zum Ausführen von Kommunikationsfunktionen unabhängig vom Rest des Mikroprozessors auf. Eine sekundäre Steuereinheit 42 kann mit dem seriellen Port 40 verbunden sein, um zusätzliche Funktionen zur Verfügung zu stellen, wie beispielsweise das Empfangen und Speichern von Daten und Befehlen, welche über den seriellen Port 40 gesendet werden können. Die sekundäre Steuereinheit 42 kann eine Steuerlogik und verschiedene Regi­ ster zum Speichern von Befehlen oder Daten oder anderen nützli­ chen Informationen enthalten. In einigen Ausführungsbeispielen können die Schaltungen der sekundären Steuereinheit 42 in die Schaltungen des seriellen Ports 40 integriert sein.
Die sekundäre Steuereinheit 42 ist mit der Ausführungsein­ heit 22 über den Multiplexer 20 gekoppelt. Die sekundäre Steuereinheit 42 ist außerdem mit der zentralen Steuereinheit 14 verbunden, um Steuerungs- und Protokoll-Informationen anzu­ legen. Zusammen mit dem seriellen Port 40 kann die sekundäre Steuereinheit 42 vorteilhaft für eine externe Steuerung während der Fehlerbeseitigung und der Diagnose von Fehlern oder Fehl­ funktionen sein.
Im folgenden wird auf Fig. 2 Bezug genommen, in welcher ein Ablaufdiagramm die Betriebsweise des R/S-Pins 12 beim Auslösen des Ruhezustands darstellt. Durch irgendein herkömmliches Mit­ tel wird das R/S-Pin-Signal angelegt (Block 50). Wenn bei­ spielsweise der R/S-Pin 12 bei niedrigem Pegel aktiv ist, dann wird das elektrische Signal 10 auf einen niedrigen Pegel ge­ trieben. Im Ergebnis wird ein Interrupt hoher Priorität ge­ setzt, wie dargestellt im Kasten 52. Dann wartet der Mikropro­ zessor, wie im Entscheidungsblock 54 dargestellt, auf die näch­ ste die Ausführungsstufe passierende Befehlsgrenze. Befehls­ grenzen und die Ausführungsstufe werden detaillierter anhand von Fig. 3 beschrieben. Wenn die Grenze erreicht ist, wird der Decodierer 18 daran gehindert, weitere Mikrobefehle auszugeben (Block 56). Das Verhindern von Mikrobefehlsausgaben hat die Folge, daß eine Änderung oder Aktualisierung des Befehlszeigers verhindert wird. Wenn die Ausführung des Decodierers 18 ange­ halten wurde, wird das Signal des Bestätigungspins 26 ausgege­ ben (Kasten 58), um einen Sensor 28 oder irgendein anderes Er­ fassungsmittel darüber zu informieren, daß der Mikroprozessor im Ruhezustand ist und keine Befehle ausführt. Wie im Entschei­ dungsblock 60 dargestellt, bleibt der Mikroprozessor in dem Ru­ hezustand, bis das Signal des R/S-Pins 12 deaktiviert wird. Ist dies der Fall, wird die normale Arbeitsweise des Decodierers 18 und des Rests der Pipeline 15 wieder aufgenommen (Block 62), und das Signal des Bestätigungspins 26 wird deaktiviert (Block 64).
Im folgenden wird auf Fig. 3 Bezug genommen, in welcher ein Diagramm die Pipeline-Betriebsweise und die Befehlsgrenze bei dem beschriebenen Ausführungsbeispiel der Erfindung veranschau­ licht. Die Stufen der Pipeline sind durch die Einträge entlang der linken Spalte der Tabelle von Fig. 3 bezeichnet. Die Zeit­ intervalle zwischen den Befehlsschritten sind durch die hori­ zontalen Zahlen T1, T2, usw. veranschaulicht. Die erste Stufe der Pipeline ist die Stufe "PF" bzw. die Heranhol-Stufe (prefetch stage), die von der Heranhol-Einheit ausgeführt wird. In dieser Stufe wird ein mit einem "I" bezeichneter Makrobefehl aus dem Cache-Speicher oder einem anderen Speicher geholt und vor der Weitergabe an die Decodiereinheit 18 gepuffert. Die Stufe "D1" enthält die Befehlsdecodierung, die im beschriebenen Ausführungsbeispiel innerhalb des Decodierers 18 und des Mikro­ programmspeichers- und -zuordners 19 ausgeführt wird. Die aus­ gegebenen Mikrobefehle sind durch ein "i" bezeichnet. In der Stufe "D2" wird die Adreßerzeugungsverarbeitung (die Segmentie­ rungs- und Seitenwechsel-Operationen) an den Mikrobefehlen aus­ geführt. Die Stufe "EX" enthält die gesamte Ausführung, die durch den Mikrobefehl angefordert wurde. Der Stufe EX folgt die letzte Stufe, die "WB"- bzw. "Writeback"-Stufe. In dieser Stufe werden die Daten, die entweder in der Ausführungsstufe berech­ net oder aus dem Speicher gelesen wurden, in die Registerdatei geschrieben und die Flags aktualisiert.
Es sei zur Veranschaulichung angenommen, daß die Heranhol- Einheit (PF), beginnend mit dem Zeitpunkt T1, den Makrobefehl I1 in ihrem Puffer hat. Der Makrobefehl I0 wurde der Stufe D1 zur Verfügung gestellt. Daraufhin hat die D1-Einheit eine Serie von Mikrobefehlen einschließlich der Mikrobefehle i01, i02 und i03 ausgegeben. Der Mikrobefehl i01 wurde durch die Stufen zur Stufe EX durchgeleitet, der Mikrobefehl i02 durch die Pipeline zur Stufe D2, und der Mikrobefehl i03 wird von der Stufe D1 zur nächsten Zeit T2 ausgegeben. Im Zeitintervall T2 muß die Stufe D1 einen weiteren Mikrobefehl i04 ausgeben, der Mikrobefehl i03 wurde zur Stufe D2 weitergeleitet und der Mikrobefehl i02 ist in der Stufe EX. Die Ausführung des Mikrobefehls i01 wurde ab­ geschlossen, der Prozessorzustand wurde aktualisiert, und der Befehl befindet sich jetzt in der Stufe WB. Bei diesem Beispiel ist der letzte vom Makrobefehl I0 ausgegebene Mikrobefehl i04. Folglich wird im nächsten Zeitintervall T3 der nächste Makrobe­ fehl I1 in die Stufe D1 bewegt, und sein erster Mikrobefehl i11 wird ausgegeben. Eine Befehlsgrenze ist zwischen diesem Mikro­ befehl i11 und dem letzten Mikrobefehl i04 des vorangegangenen Makrobefehls I0 definiert. Die Definition der Befehlsgrenze bleibt in den folgenden Zeitintervallen T4 und T5 der Pipeline 15 erhalten.
Im Zeitintervall T5 wird dann die Ausführungsstufe des letzten vom Makrobefehl I0 ausgegebenen Mikrobefehl i04 abge­ schlossen, und der Befehl ist jetzt in der WB-Stufe. Bevor der Mikrobefehl i11 die Gelegenheit hatte, sich in die WB-Stufe zu bewegen, kann im nächsten Zeitintervall T6 der Ruhemodus imple­ mentiert werden. Der Ruhemodus kann in der oben beschriebenen Weise ausgelöst werden. Innerhalb des Sondierungsmodus im Zei­ tintervall T6 kann auf die Stufen D2, EX und WB durch ein an­ deres Mittel, wie beispielsweise die anhand von Fig. 1 be­ schriebene sekundäre Steuereinheit 42 zugegriffen werden. In­ nerhalb des Ruhemodus wurde die Stufe D1 zurückgestellt (backed up), so daß der erste nach Verlassen des Sondierungsmodus aus­ zugebende Mikrobefehl der erste Mikrobefehl i11 des Makrobe­ fehls I1 ist. Während der gesamten Dauer des Ruhemodus wird die Stufe D1 nicht weiterbewegt oder auf andere Weise geändert, und folglich werden der Befehlszeiger und andere Prozessorzustands­ informationen nicht aktualisiert, es sei denn, sie werden von durch die sekundäre Steuereinheit 42 fließenden Befehlen speziell instruiert, so zu verfahren.

Claims (10)

1. Verfahren zum Betreiben eines Mikroprozessors mit einem externen Anschluß (12), einer Verarbeitungseinheit (22) und einem Decodierer (18), der mit der Verarbeitungseinheit (22) gekoppelt ist, wobei der Mikroprozessor eine Folge von Makrobefehlen ausführt, und wobei nach deren Ausführung ein aktualisierter Prozessorzustand in Abhängigkeit von dem zuletzt ausgeführten Makrobefehl erreicht wird, wobei das Verfahren die folgenden Schritte enthält:
  • a) Beaufschlagen des externen Anschlusses (12) mit einem externen Signal (10), während der Mikroprozessor einen Makrobefehl ausführt;
  • b) Fortsetzen der Ausführung des Makrobefehls bis zum Erreichen des aktualisierten Prozessorzustands und
  • c) anschließendes Anhalten der Ausführung der Makrobefehle in der Verarbeitungseinheit (22);
dadurch gekennzeichnet, daß
  • d) jeder Makrobefehl vom Decodierer (18) in einen oder mehrere Mikrobefehle decodiert wird;
  • e) alle Mikrobefehle des aktuellen Makrobefehls nach Schritt a) vollständig ausgeführt werden, bevor die Verarbeitungseinheit (22) angehalten wird;
  • f) der Decodierer (18) und ein mit der Verarbeitungseinheit (22) gekoppelter Mikroprogramm-Zuordner (19) mit Signalen beaufschlagt werden, welche die Ausgabe von Mikrobefehlen aus dem Decodierer (18) und dem Mikroprogramm-Zuordner (19) an die Verarbeitungseinheit (22) sperren; und
  • g) alle Mikrobefehle, die sich bis dahin in der Verarbeitungseinheit befinden, aus der Verarbeitungseinheit (22) gelöscht werden.
2. Verfahren nach Anspruch 1, wobei der Mikroprozessor eine Steuereinheit (14) mit einem Pipeline-Zuordner (25) enthält, der im Schritt f) so gesteuert wird, daß der Decodierer (18) und der Mikroprogramm-Zuordner (19) für die Ausgabe von Mikrobefehlen an die Verarbeitungseinheit (22) gesperrt sind.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß ein Bestätigungsanschluß (26) mit einem Signal beaufschlagt wird, nachdem der Decodierer (18) an der folgenden Befehlsgrenze angehalten wurde.
4. Verfahren nach einem der Ansprüche 1 bis 3, wobei in Abhängigkeit des Schritts a) ein Unterbrechungssignal mit hoher Priorität in einer Steuereinheit (14) angezeigt wird, so daß die Schritte b) bis g) mit hoher Priorität ausgelöst werden.
5. Verfahren nach einem der Ansprüche 1 bis 4, wobei der Mikroprogramm-Zuordner eine vorgegebene Folge von Mikrobefehlen in Abhängigkeit des aktuell ausgeführten Makrobefehls zur Verfügung stellt, und wobei Schritt e) beinhaltet, daß die Verarbeitungseinheit (22) mit all denjenigen Mikrobefehlen aus dem Mikroprogramm-Zuordner (19) versorgt wird, die zur vorgegebenen Folge von Mikrobefehlen des aktuell ausgeführten Makrobefehls gehören.
6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß
  • h) die Beaufschlagung des externen Anschlusses (12) unterbrochen wird; und
  • i) die Verarbeitungseinheit (22) durch den Decodierer (18) mit Befehlen versorgt wird, nachdem die Beaufschlagung des externen Anschlusses (12) unterbrochen wurde.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß in Abhängigkeit vom Unterbrechen der Beaufschlagung des externen Anschlusses (12) in Schritt h) die Beaufschlagung des Bestätigungsanschlusses (26) unterbrochen wird.
8. Verfahren nach Anspruch 6 oder 7, wobei der Schritt i) beinhaltet, daß der Pipeline-Zuordner (25) derart gesteuert wird, daß dem Decodierer (18) erlaubt wird, die Verarbeitungseinheit (22) mit Mikrobefehlen zu versorgen.
9. Verfahren nach einem der Ansprüche 1 bis 8, wobei der Mikroprozessor einen Befehls-Port (40) zum Empfangen von Befehlen einer zum Mikroprozessor äußeren Quelle enthält, und wobei die Verarbeitungseinheit (22) sowohl an den Befehls-Port (40) als auch an den Decodierer (18) gekoppelt ist, und wobei im Anschluß an die Schritte f) und g) Befehle von der externen Quelle über den Befehls-Port (40) zur Verarbeitungseinheit (22) geleitet und ausgeführt werden.
DE4311441A 1992-04-27 1993-04-07 Verfahren zum Betreiben eines Mikroprozessors mit einem externen Anschluß Expired - Lifetime DE4311441C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US87471692A 1992-04-27 1992-04-27

Publications (2)

Publication Number Publication Date
DE4311441A1 DE4311441A1 (de) 1993-10-28
DE4311441C2 true DE4311441C2 (de) 1997-07-17

Family

ID=25364407

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4311441A Expired - Lifetime DE4311441C2 (de) 1992-04-27 1993-04-07 Verfahren zum Betreiben eines Mikroprozessors mit einem externen Anschluß

Country Status (7)

Country Link
US (1) US5488728A (de)
JP (1) JPH0689201A (de)
KR (1) KR930022195A (de)
CN (1) CN1040158C (de)
DE (1) DE4311441C2 (de)
GB (1) GB2266605B (de)
HK (1) HK1006883A1 (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0540730A (ja) * 1991-08-06 1993-02-19 Mitsubishi Electric Corp マイクロコンピユータ
JP2734992B2 (ja) * 1994-07-25 1998-04-02 日本電気株式会社 情報処理装置
US5678003A (en) * 1995-10-20 1997-10-14 International Business Machines Corporation Method and system for providing a restartable stop in a multiprocessor system
US5983340A (en) * 1995-12-07 1999-11-09 Conexant Systems, Inc. Microprocessor system with flexible instruction controlled by prior instruction
US6112298A (en) * 1996-12-20 2000-08-29 Texas Instruments Incorporated Method for managing an instruction execution pipeline during debugging of a data processing system
US5915083A (en) * 1997-02-28 1999-06-22 Vlsi Technology, Inc. Smart debug interface circuit for efficiently for debugging a software application for a programmable digital processor device
US6112316A (en) * 1997-12-03 2000-08-29 Micron Electronics, Inc. System for use of bus parking states to communicate diagnostic information
US6092219A (en) * 1997-12-03 2000-07-18 Micron Technology, Inc. Method for use of bus parking states to communicate diagnostic information
US6405335B1 (en) 1998-02-25 2002-06-11 Texas Instruments Incorporated Position independent testing of circuits
EP0943996B1 (de) * 1998-03-20 2003-06-11 Texas Instruments Incorporated Prozessor mit Echtzeit-Ablaufsteuerung zur Fehlerbeseitigung ohne Fehlerbeseitigungsmonitor
US7058862B2 (en) * 2000-05-26 2006-06-06 Texas Instruments Incorporated Selecting different 1149.1 TAP domains from update-IR state
US6601183B1 (en) * 1999-09-30 2003-07-29 Silicon Graphics, Inc. Diagnostic system and method for a highly scalable computing system
US6728915B2 (en) 2000-01-10 2004-04-27 Texas Instruments Incorporated IC with shared scan cells selectively connected in scan path
US6769080B2 (en) 2000-03-09 2004-07-27 Texas Instruments Incorporated Scan circuit low power adapter with counter
US20030100133A1 (en) * 2001-11-26 2003-05-29 Eidson Michael A. System-on-chip breakpoint synchronization
JP4409349B2 (ja) * 2004-04-27 2010-02-03 Okiセミコンダクタ株式会社 デバッグ回路およびデバッグ制御方法
US7840845B2 (en) * 2005-02-18 2010-11-23 Intel Corporation Method and system for setting a breakpoint
US8683261B2 (en) * 2011-07-20 2014-03-25 International Business Machines Corporation Out of order millicode control operation
US9223714B2 (en) 2013-03-15 2015-12-29 Intel Corporation Instruction boundary prediction for variable length instruction set
CN111857813A (zh) * 2015-05-18 2020-10-30 北京忆芯科技有限公司 调度微指令序列的方法及装置
US10776115B2 (en) * 2015-09-19 2020-09-15 Microsoft Technology Licensing, Llc Debug support for block-based processor
CN109460254B (zh) * 2018-09-25 2021-03-19 杭州旗捷科技有限公司 一种指令处理方法、cpu交互系统及采用该系统的耗材芯片

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4010448A (en) * 1974-10-30 1977-03-01 Motorola, Inc. Interrupt circuitry for microprocessor chip
US4149244A (en) * 1976-06-07 1979-04-10 Amdahl Corporation Data processing system including a program-executing secondary system controlling a program-executing primary system
US4403287A (en) * 1981-08-24 1983-09-06 Bell Telephone Laboratories, Incorporated Microprocessor architecture having internal access means
US4547849A (en) * 1981-12-09 1985-10-15 Glenn Louie Interface between a microprocessor and a coprocessor
US4680698A (en) * 1982-11-26 1987-07-14 Inmos Limited High density ROM in separate isolation well on single with chip
US5036453A (en) * 1985-12-12 1991-07-30 Texas Instruments Incorporated Master/slave sequencing processor
US5125088A (en) * 1986-09-08 1992-06-23 Compaq Computer Corporation Computer system speed control at continuous processor speed
JPS63250702A (ja) * 1987-04-07 1988-10-18 Hitachi Ltd シ−ケンスコントロ−ラ
US5032983A (en) * 1987-04-10 1991-07-16 Tandem Computers Incorporated Entry point mapping and skipping method and apparatus
US5329471A (en) * 1987-06-02 1994-07-12 Texas Instruments Incorporated Emulation devices, systems and methods utilizing state machines
DE3856067T2 (de) * 1987-07-06 1998-06-10 Hitachi Ltd Datenprozessor mit einer Unterbrechungsfunktion
US4896289A (en) * 1987-07-29 1990-01-23 Xitron, Inc. Expansion interface board system for connecting several personal computers to an electronic typesetter connected to a host personal computer
JPH0198313A (ja) * 1987-10-09 1989-04-17 Nec Corp 同期化回路
US5084814A (en) * 1987-10-30 1992-01-28 Motorola, Inc. Data processor with development support features
US5056015A (en) * 1988-03-23 1991-10-08 Du Pont Pixel Systems Limited Architectures for serial or parallel loading of writable control store
US4945536A (en) * 1988-09-09 1990-07-31 Northern Telecom Limited Method and apparatus for testing digital systems
JPH031231A (ja) * 1989-02-09 1991-01-07 Nec Corp マイクロプログラム制御装置
US4949360A (en) * 1989-08-08 1990-08-14 International Business Machines Corporation Synchronizing circuit
US5276824A (en) * 1990-01-08 1994-01-04 Motorola, Inc. Data processor having a multi-stage instruction pipe and selection logic responsive to an instruction decoder for selecting one stage of the instruction pipe
JP2526688B2 (ja) * 1990-02-22 1996-08-21 三菱電機株式会社 プログラマブルコントロ―ラおよびシ―ケンスプログラムの部分実行方法
US5128970A (en) * 1990-12-20 1992-07-07 Unisys Corporation Non-return to zero synchronizer
EP0503117B1 (de) * 1991-03-13 1995-06-28 Siemens Aktiengesellschaft Prozessorschaltung
US5254942A (en) * 1991-04-25 1993-10-19 Daniel D'Souza Single chip IC tester architecture
US5353424A (en) * 1991-11-19 1994-10-04 Digital Equipment Corporation Fast tag compare and bank select in set associative cache
US5281664A (en) * 1992-07-20 1994-01-25 Ford Motor Company Polymer compositions and methods of making same
ATE311022T1 (de) * 2004-03-22 2005-12-15 Delphi Tech Inc Verbindungselement für elektrische leiter

Also Published As

Publication number Publication date
GB2266605A (en) 1993-11-03
DE4311441A1 (de) 1993-10-28
CN1040158C (zh) 1998-10-07
JPH0689201A (ja) 1994-03-29
GB2266605B (en) 1995-10-11
US5488728A (en) 1996-01-30
CN1078319A (zh) 1993-11-10
KR930022195A (ko) 1993-11-23
GB9218303D0 (en) 1992-10-14
HK1006883A1 (en) 1999-03-19

Similar Documents

Publication Publication Date Title
DE4311441C2 (de) Verfahren zum Betreiben eines Mikroprozessors mit einem externen Anschluß
DE4313594C2 (de) Mikroprozessor
DE69633166T2 (de) Integrierter schaltkreis mit mehreren funktionen und gemeinsamer verwendung mehrerer interner signalbusse zur verteilung der steuerung des buszugriffes und der arbitration
DE69817725T2 (de) Mikroprozessor Testsystem
US4312066A (en) Diagnostic/debug machine architecture
DE10297856B4 (de) Verfahren und Vorrichtung zum Suspendieren der Ausführung eines Threads, bis ein spezifizierter Speicherzugriff auftritt
DE69432514T2 (de) Leistungssteuerung in einem Computersystem
DE69930614T2 (de) VERFAHREN UND GERÄT ZUM HANDHABEN VON mehrfachen flanken- und zustandsausgelösten unterbrechungen
DE2722099C2 (de)
DE19834191C2 (de) Integrierte Schaltungsvorrichtung und ihr Steuerverfahren
DE3801361A1 (de) Verfahren und einrichtung zum detektieren und fuer die spezialbehandlung von memory-mapped eingabe/ausgabereferenzen in einem pipelinemikroprozessor
US6052774A (en) Apparatus and method for identifying exception routines indicated by instruction address issued with an instruction fetch command
DE3735828C2 (de) Verfahren zur Wiederaufnahme der Ausführung von Anweisungen nach einer Unterbrechung in einer mikroprogrammgesteuerten Datenverarbeitungsvorrichtung
DE69908682T2 (de) Prozessor mit Echtzeit-Ablaufsteuerung zur Fehlerbeseitigung ohne Fehlerbeseitigungsmonitor
CH654943A5 (de) Pruefeinrichtung fuer mikroprogramme.
DE3933849A1 (de) Prozessorgesteuerte schnittstelle
DE102009019961A1 (de) Vorrichtung, Systeme und Verfahren zum effizienten Verwenden von Hardware-Ressourcen für einen Softwaretest
DE19824289C2 (de) Pipelineverarbeitungsmaschine
US5678003A (en) Method and system for providing a restartable stop in a multiprocessor system
EP1565825A2 (de) Einrichtung und verfahren zur analyse von eingebetteten systemen
DE10063644B4 (de) Lokales Anhalten und Gefahrerfassung in einem superskalaren Pipeline-Mikroprozessor zum Vermeiden eines erneuten Lesens einer Registerdatei
DE4228754C2 (de) Unterbrechungseinrichtung für ein Mikroprozessorsystem und Verfahren zum zuverlässigen Unterbrechen einer CPU
DE4010895C2 (de) Mikroprozessor mit Befehlsdecodiereinrichtung
DE69725808T2 (de) Mikrorechner mit Selbstprüfungseinheit
DE19914487A1 (de) Verfahren und Vorrichtung zum Sicherstellen der Datenkonsistenz zwischen einem Ein/Ausgabekanal und einem Prozessor

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
D2 Grant after examination
8364 No opposition during term of opposition
R071 Expiry of right
R071 Expiry of right