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
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000012545 processing Methods 0.000 claims description 17
- 238000012790 confirmation Methods 0.000 claims description 8
- 230000001960 triggered effect Effects 0.000 claims description 4
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 claims 1
- 230000015654 memory Effects 0.000 abstract description 22
- 230000006870 function Effects 0.000 abstract description 6
- 230000004048 modification Effects 0.000 abstract 2
- 238000012986 modification Methods 0.000 abstract 2
- 238000010586 diagram Methods 0.000 description 4
- 230000007257 malfunction Effects 0.000 description 3
- 238000013024 troubleshooting Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 2
- 101150087426 Gnal gene Proteins 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000004171 remote diagnosis Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection 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/2236—Detection 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
- G06F11/3656—Software debugging using additional hardware using a specific debug interface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
- G06F9/3869—Implementation 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.
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)
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)
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 |
-
1992
- 1992-08-28 GB GB9218303A patent/GB2266605B/en not_active Expired - Lifetime
- 1992-09-30 CN CN92112044A patent/CN1040158C/zh not_active Expired - Lifetime
- 1992-10-22 KR KR1019920019430A patent/KR930022195A/ko not_active Application Discontinuation
-
1993
- 1993-01-27 JP JP5029708A patent/JPH0689201A/ja active Pending
- 1993-04-07 DE DE4311441A patent/DE4311441C2/de not_active Expired - Lifetime
-
1994
- 1994-10-31 US US08/332,373 patent/US5488728A/en not_active Expired - Lifetime
-
1998
- 1998-06-22 HK HK98105914A patent/HK1006883A1/xx not_active IP Right Cessation
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 |