DE4311441A1 - Mikroprozessor - Google Patents

Mikroprozessor

Info

Publication number
DE4311441A1
DE4311441A1 DE4311441A DE4311441A DE4311441A1 DE 4311441 A1 DE4311441 A1 DE 4311441A1 DE 4311441 A DE4311441 A DE 4311441A DE 4311441 A DE4311441 A DE 4311441A DE 4311441 A1 DE4311441 A1 DE 4311441A1
Authority
DE
Germany
Prior art keywords
pipeline
microprocessor
decoder
execution
instruction
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.)
Granted
Application number
DE4311441A
Other languages
English (en)
Other versions
DE4311441C2 (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 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or 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 or 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 or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Microcomputers (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Advance Control (AREA)

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.
Die Erfindung schafft einen Mikroprozessor mit einem Ruhe- Betriebsmodus bzw. "Ruhezustand", welcher an einer Grenze zwi­ schen Befehlen existiert. Im Ruhezustand decodiert der Decodie­ rer keine weiteren, der Grenze nachfolgenden Befehle. Viele an­ dere 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 beschriebene 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-Operatio­ nen.
Im folgenden wird die Erfindung anhand eines in der Zeich­ nung dargestellten Ausführungsbeispiels näher beschrieben. In der Zeichnung zeigen:
Fig. 1 ein Blockschaltbild eines Mikroprozessors nach der Erfindung;
Fig. 2 ein Ablaufdiagramm, das ein Betriebsverfahren eines erfindungsgemäß ausgebildeten Mikroprozes­ sors 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 ist in der Intel-80×86-Familie implementiert und wird folglich 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, welchen 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 dies 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 (15)

1. Mikroprozessor mit einem elektrischen Anschluß (12), dadurch gekennzeichnet,
daß der elektrische Anschluß (12) zur Überführung des Mi­ kroprozessors in einen Ruhezustand mit einem externen elektri­ schen Signal (10) beaufschlagbar ist;
daß ein Interrupt-Prioritätsgeber (24) mit dem elektrischen Anschluß (12) derart verbunden ist, daß bei Anlegen des exter­ nen elektrischen Signals (10) ein Interrupt gesetzt ist;
daß ein Befehlsdecodierer (18) mit dem Interrupt-Priori­ tätsgeber (24) gekoppelt ist; und
daß vom Beaufschlagen des elektrischen Anschlusses (12) mit dem externen elektrischen Signal (10) abhängige Mittel zum An­ halten der Ausführung bei einer nachfolgenden Befehlsgrenze derart vorgesehen sind, daß keine nachfolgenden Befehle für eine Ausführung ausgegeben werden, während der elektrische An­ schluß beaufschlagt ist.
2. Mikroprozessor nach Anspruch 1, dadurch gekennzeichnet, daß eine den Befehlsdecodierer (18) und den Interrupt-Priori­ tätsgeber (24) verbindende Pipeline (15) und ein Pipeline-Zu­ ordner (25) vorgesehen sind und daß die Mittel zum Anhalten der Ausführung den Pipeline-Zuordner (25) steuernde Mittel aufwei­ sen, die den Befehlsdecodierer (18) am Benutzen der Pipeline hindern.
3. Mikroprozessor nach Anspruch 1 oder 2, dadurch gekenn­ zeichnet, daß bei Unterbrechen des externen elektrischen Si­ gnals (10) am elektrischen Anschluß (12) wirksame Startmittel zum Starten einer Operation des Mikroprozessors mit dem zum Zeitpunkt des Unterbrechens vorhandenen Prozessorzustand vorge­ sehen sind.
4. Mikroprozessor nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß ein Bestätigungsanschluß (26) vorgesehen ist, der ein der Ruhezustand des Mikroprozessors anzeigendes Signal zur Verfügung stellt.
5. Mikroprozessor nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß eine eine Steuerlogik enthaltende Ausfüh­ rungseinheit (22) mit dem Befehlsdecodierer (18) verbunden ist.
6. Mikroprozessor nach Anspruch 5, gekennzeichnet durch eine Steuereinheit (14), die den Interrupt-Prioritätsgeber (24), den Pipeline-Zuordner (25) und die Steuerlogik enthält, wobei das Beaufschlagen des elektrischen Anschlusses (12) mit dem elektrischen Signal (10) eine Interrupt-Priorität hat, die den Pipeline-Zuordner (25) so steuert, daß der Befehlsdecodie­ rer (18) am Benutzen der Pipeline (15) gehindert ist.
7. Mikroprozessor nach Anspruch 1, gekennzeichnet durch:
eine sekundäre Steuereinheit (42);
einen mit der sekundären Steuereinheit (42) verbundenen se­ riellen Port (40), wobei der serielle Port (40) so angeordnet ist, daß er Befehle von einer Quelle außerhalb des Mikroprozes­ sors empfangen kann;
eine eine Steuerlogik enthaltende Ausführungseinheit (22); und
eine mit der sekundären Steuereinheit (42), der Ausfüh­ rungseinheit (22) und dem Interrupt-Prioritätsgeber (24) ver­ bundene Pipeline (15).
8. Mikroprozessor nach Anspruch 7, gekennzeichnet durch eine Steuereinheit (14), die den Interrupt-Prioritätsgeber (24), einen Pipeline-Zuordner (25) und eine Steuerlogik ent­ hält, wobei das Beaufschlagen des elektrischen Anschlusses (12) mit dem externen elektrischen Signal (10) eine Interrupt-Prio­ rität hat, die den Pipeline-Zuordner (25) so steuert, daß der Befehlsdecodierer (18) am Benutzen der Pipeline (15) gehindert ist, während der elektrische Anschluß (12) beaufschlagt ist.
9. Verfahren zum Betreiben eines einen externen R/S-An­ schluß und einen Decodierer aufweisenden Mikroprozessors, dadurch gekennzeichnet, daß
  • a) der R/S-Anschluß mit einem Signal beaufschlagt wird; und
  • b) die Ausführung des Decodierers an einer nachfolgenden Befehlsgrenze angehalten wird, so daß die Decodierung an einer Befehlsgrenze stehenbleibt, während der R/S-Anschluß beauf­ schlagt wird.
10. Verfahren nach Anspruch 10, dadurch gekennzeichnet, daß beim Anhalten der Ausführung des Decodierers (Schritt (b)) fer­ ner ein Pipeline-Zuordner so gesteuert wird, daß der Decodierer daran gehindert wird, die Pipeline zu verwenden.
11. Verfahren nach Anspruch 10 oder 11, dadurch gekenn­ zeichnet, daß ein Bestätigungsanschluß mit einem Signal beauf­ schlagt wird, nachdem die Ausführung des Decodierers an der nachfolgenden Befehlsgrenze angehalten wurde.
12. Verfahren nach einem der Ansprüche 10 bis 12, dadurch gekennzeichnet, daß
  • c) die Beaufschlagung des R/S-Anschlusses unterbrochen wird; und
  • d) die Ausführung des Decodierers wiederaufgenommen wird, sobald der R/S-Anschluß nicht mehr beaufschlagt ist.
13. Verfahren nach Anspruch 13, dadurch gekennzeichnet, daß die Beaufschlagung des Bestätigungsanschlusses unterbrochen wird, nachdem der Decodierer die Ausführung wieder aufgenommen hat.
14. Verfahren nach Anspruch 13 oder 14, dadurch gekenn­ zeichnet, daß beim Anhalten der Ausführung des Decodierers ein Pipeline-Zuordner so gesteuert wird, daß der Decodierer daran gehindert wird, die Pipeline zu verwenden, und daß beim Wieder­ aufnehmen der Ausführung des Decodierers im Schritt (d) der Pi­ peline-Zuordner so gesteuert wird, daß die Pipeline zur Verwen­ dung für den Decodierer freigegeben wird.
15. Verfahren nach einem der Ansprüche 10 bis 15, dadurch gekennzeichnet, daß abhängig vom Schritt (a) in einer Steuer­ einheit ein Interrupt hoher Priorität gesetzt wird, und daß der Schritt (b) mit dem Interrupt hoher Priorität ausgelöst wird.
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 true DE4311441A1 (de) 1993-10-28
DE4311441C2 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
DE69908682T2 (de) * 1998-03-20 2004-05-13 Texas Instruments Inc., Dallas 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交互系统及采用该系统的耗材芯片

Citations (3)

* 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
GB1580846A (en) * 1976-06-07 1980-12-03 Amdahl Corp Data processing system
US4998197A (en) * 1987-07-06 1991-03-05 Hitachi, Ltd. Data processor with fast break in program execution by selectively processing either external control signal or external interrupt

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US4724517A (en) * 1982-11-26 1988-02-09 Inmos Limited Microcomputer with prefixing functions
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
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
DE59105872D1 (de) * 1991-03-13 1995-08-03 Siemens Ag 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
DE502004000145D1 (de) * 2004-03-22 2005-12-29 Delphi Tech Inc Verbindungselement für elektrische Leiter

Patent Citations (3)

* 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
GB1580846A (en) * 1976-06-07 1980-12-03 Amdahl Corp Data processing system
US4998197A (en) * 1987-07-06 1991-03-05 Hitachi, Ltd. Data processor with fast break in program execution by selectively processing either external control signal or external interrupt

Also Published As

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

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
DE69215581T2 (de) Fehlertolerantes Mehrrechnersystem
DE69126498T2 (de) Wiederherstellungsverfahren und Gerät für eine Pipeline-Verarbeitungseinheit eines Multiprozessor-systems
DE68928360T2 (de) Hochleistungsrechnersystem mit fehlertoleranter Fähigkeit; Verfahren zum Betrieb desselben
DE3751426T2 (de) Busschnittstellenschaltung für digitalen Datenprozessor.
DE10297856B4 (de) Verfahren und Vorrichtung zum Suspendieren der Ausführung eines Threads, bis ein spezifizierter Speicherzugriff auftritt
DE69903629T2 (de) Prüfung der funktionsfähigkeit eines gerätetreibers
DE69801220T2 (de) Fehlersuchschnittstelle mit kompaktem ablaufdatenspeicher
DE69523549T2 (de) Mikroprozessor mit Fehlersuchsystem
DE69128565T2 (de) Mikrorechner ausgestattet mit einer DMA-Steuerung
DE69225750T2 (de) Datenverarbeitungssystem mit internem Befehlspufferspeicher
DE3586899T2 (de) Instruktionsvorgriffsystem fuer bedingte sprungbefehle in einer zentralen verarbeitungseinrichtung.
DE69432514T2 (de) Leistungssteuerung in einem Computersystem
DE69130858T2 (de) Überlappende Serienverarbeitung
DE3784996T2 (de) Fehlersuchmikroprozessor.
DE19834191C2 (de) Integrierte Schaltungsvorrichtung und ihr Steuerverfahren
DE112011105042T5 (de) Indikatoren zur Aufzeichnung einer letzten Verzweigung für einen Transaktionsspeicher
DE3854369T2 (de) Zentralprozessoreinheit für digitale datenverarbeitungsanordnung mit cache-speicherverwaltungsvorrichtung.
CH654943A5 (de) Pruefeinrichtung fuer mikroprogramme.
DE68922440T2 (de) Gerät und Verfahren zur gleichzeitigen Einreichung von Fehlerunterbrechung und Fehlerdaten zu einem Unterstützungsprozessor.
DE3735828A1 (de) Verfahren und vorrichtung fuer eine anweisungs-wiederanlaufverarbeitung in einer mikroprogramm-gesteuerten datenverarbeitungsvorrichtung
DE112011106079T5 (de) Frühe Weiterleitung von Gewebefehlern
US5056091A (en) Method for handling errors detected in a computer system

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