DE4313594A1 - Mikroprozessor - Google Patents
MikroprozessorInfo
- Publication number
- DE4313594A1 DE4313594A1 DE4313594A DE4313594A DE4313594A1 DE 4313594 A1 DE4313594 A1 DE 4313594A1 DE 4313594 A DE4313594 A DE 4313594A DE 4313594 A DE4313594 A DE 4313594A DE 4313594 A1 DE4313594 A1 DE 4313594A1
- Authority
- DE
- Germany
- Prior art keywords
- command
- mode
- processor
- execution unit
- driven
- 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
Links
- 239000000523 sample Substances 0.000 claims abstract description 80
- 238000000034 method Methods 0.000 claims description 38
- 238000012790 confirmation Methods 0.000 claims description 11
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 230000000977 initiatory effect Effects 0.000 claims 1
- 238000012360 testing method Methods 0.000 abstract description 22
- 238000012986 modification Methods 0.000 abstract description 3
- 230000004048 modification Effects 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 7
- 238000013024 troubleshooting Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 241001432959 Chernes Species 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000027455 binding Effects 0.000 description 1
- 238000009739 binding Methods 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 150000002500 ions Chemical class 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910000648 terne Inorganic materials 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition 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
- G06F11/3656—Software debugging using additional hardware using a specific debug interface
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31705—Debugging aspects, e.g. using test circuits for debugging, using dedicated debugging test circuits
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318555—Control logic
-
- 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
- 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/30181—Instruction operation extension or modification
-
- 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/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- 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/3877—Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor
- G06F9/3879—Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
-
- 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
Description
Die Erfindung bezieht sich auf Computerprozessoren; insbe
sondere betrifft die Erfindung einen Betriebsmodus für die Dia
gnose und Beseitigung von Fehlern der Computer-Hardware und
-Software.
Ein Mikroprozessor ist das Herz der meisten gegenwärtig ge
bräuchlichen Computer und bildet einen zentralen Ort für viele
Funktionen, welche durch Ausführen einer Serie von Befehlen re
alisiert werden. Mikroprozessoren weisen charakteristischer
weise eine Steuereinheit zum Überwachen und Leiten der Funk
tionseinheiten auf, welche gemeinsam Befehle ausführen. Insbe
sondere überwacht und steuert die Steuereinheit den Befehlsfluß
durch die Stufen der Verarbeitung. Die auszuführenden Befehle
sind im allgemeinen in einem Computerspeicher, wie beispiels
weise einem Nur-Lese-Speicher (ROM) oder einem RAM gespeichert.
Der Steuerung durch die Steuereinheit unterworfen holt eine
Heranhol-Einheit jeden Befehl aus dem Speicher heran. Die Be
fehle werden dann ggf. decodiert und an eine Ausführungseinheit
angelegt. Die Ausführungseinheit kann eine Anzahl von Mehr
zweckregistern, eine arithmetische Einheit (ALU), Steuerregi
ster und Steuerlogik enthalten. Die in den Registern gespei
cherten Daten, welche insgesamt den "Prozessorzustand" reprä
sentieren, werden oftmals während des Betriebs der Ausführungs
einheit modifiziert. Bei vielen unterschiedlichen Stufen der
Entwicklung eines Computerprodukts kann es höchst nützlich
sein, den Prozessorzustand während des Betriebs überprüfen und
modifizieren zu können oder die Operation der ALU und der
Steuerlogik mit Testdaten zu testen. Jedoch ist ein direkter
Zugriff auf die Ausführungseinheit im allgemeinen infolge der
damit verbundenen Verringerung der Leistungsfähigkeit und der
sich ergebenden Kosten nicht praktikabel, insbesondere bei
einem massenhaft produzierten Mikroprozessor.
Zusätzlich zur Untersuchung und Modifizierung des Prozes
sorzustands kann es nützlich sein, den Systemspeicher und den
Eingabe/Ausgabe(I/O)-Raum zu überprüfen und zu ändern. Während
der Entwicklung eines Computers beispielsweise wäre diese
Fähigkeit vorteilhaft, um Interaktionen zwischen den vielen in
tegrierten Schaltungen, Peripheriekomponenten und dem Mikropro
zessor zu analysieren. Bei der Entwicklung von Software auf Sy
stemebene und von Anwendungsprogrammen, die auf dem System ab
gearbeitet werden sollen, kann die Fähigkeit, Kenntnisse über
den Prozessorzustand zu erhalten, die Bemühungen bei der Besei
tigung von Fehlern beträchtlich erleichtern.
Beim Entwurf eines einen Mikroprozessor verwendenden Com
puters oder bei der Beseitigung der vielen unvermeidbar während
der Entwicklung eines Computerprodukts auftretenden Probleme
kann ein In-Circuit-Emulator (ICE) verwendet werden. Ein In-
Circuit-Emulator ist ein speziell konstruiertes Werkzeug, das
die Funktionen des von ihm zu unterstützenden Mikroprozessors
nachbildet und zusätzliche eingebaute Merkmale aufweist, die
die Bemühungen zur Fehlerbeseitigung beträchtlich erleichtern.
Im Betrieb wird ein In-Circuit-Emulator physisch anstelle des
Mikroprozessors in dessen Steckplatz auf der Leiterplatte ein
gesetzt. In-Circuit-Emulatoren implementieren einen alternati
ven Speicherraum, der verwendet wird, um den Prozessorzustand
und andere für die spätere Analyse relevante Daten zu spei
chern. In-Circuit-Emulatoren haben Nachteile, insbesondere hö
here Kosten pro Einheit im Vergleich zu den massenhaft produ
zierten Mikroprozessoren; sie sind nicht in der Lage, ein Pro
blem innerhalb des Mikroprozessors selbst zu erkennen, und ver
ursachen größere Arbeitskosten beim physischen Einsetzen des
In-Circuit-Emulators in den Steckplatz sowie einen größeren
Aufwand für den zugeordnete alternativen Speicherraum, für Ver
bindungen und andere Ausrüstungen.
Um integrierte Schaltungen auf einer Leiterplatte zu
testen, wird ein Schaltungstester verwendet, der als ein
"Nagelbrett" bezeichnet werden kann. Der Tester wird an die
Leiterplatte angeklemmt, und jeder Draht der Baueinheit ist mit
einem zugehörigen Stift an dem Tester verbunden. Nachdem der
Tester mit jedem der Drähte verbunden ist, wird ein Testmuster
angelegt, um die Schaltung zu testen, und die Informationen
werden in einem alternativen Adreßraum gespeichert. Mit zuneh
mend kleineren Geometrien und höheren Dichten wird es unprak
tikabel, einen Stift für jeden Draht der Schaltung vorzusehen.
Darüberhinaus wechseln bei höheren Betriebsgeschwindigkeiten
die Signale schneller, als der Tester sie erfassen kann, ohne
den Betrieb des Systems zu stören. Um dem Problem des Testens
integrierter Schaltung zu begegnen, wurde ein IEEE-
"Randabtast"-Standard ("boundary scan"-Standard) entwickelt.
Bei einer Randabtastungsschaltung (boundary scan circuit)
schlängelt sich eine einfache serielle Verbindung durch die ge
samte Leiterplatte, um die Schaltung zu testen. Der Zugriff
wird durch einen Test-Zugriffs-Port (TAP) ermöglicht, der Teil
jedes dem Standard entsprechenden Chips ist.
Probleme können während der Entwicklung eines Programms
durch einen Anwendungsprogrammierer oder beim Integrieren des
Programms in die Plattform oder später während der Ausführung
eines Programms durch einen Anwender auftreten. Beispielsweise
kann der Mikroprozessor einfach anhalten, oder er kann sinnlose
Daten ausgeben oder Daten im Speicher zerstören. Die Lokalisie
rung der Ursache eines solchen Problems kann extrem schwierig
sein. Um den Anwendungsprogrammierer bei seinen Entwicklungsan
strengungen zu unterstützen, wurden Fehlerbeseitigungswerkzeuge
entwickelt. Die Fehlerbeseitigungswerkzeuge können in die Hard
ware eines Computers eingebaut sein, oder sie können eine Soft
ware-Hardware-Kombination enthalten.
Manchmal bezieht sich der Fehler auf die Software, und es
kann ein Software-Debugger ausreichend sein, um die Ursache des
Fehlers zu isolieren. Software-Debugger sind Maschinencodepro
gramme, die auf der Systemebene ausgeführt werden. Bei einer
bekannten Fehlerbeseitigungsmethode werden Unterbrechungspunkte
an bestimmten Stellen im Befehlscode des Programms gesetzt. Die
Unterbrechungspunkte halten die Programmabarbeitung an der
nächsten geeigneten Stelle an und versetzen die Programmabar
beitung in einen Fehlerbeseitigungsmodus. Da der normale Ablauf
der Programmabarbeitung von einem Unterbrechungspunkt unter
brochen wird, ist dieser oftmals wie ein Interrupt implemen
tiert.
Software-Debugger können in einigen Fällen für eine Fehler
beseitigung ausreichend sein; wenn jedoch das System nicht be
triebsfähig ist, können die Debugger-Programme nicht abgearbei
tet werden. Darüberhinaus ist ein Software-Debugger nicht für
Hardware-Probleme, Firmware-Probleme und Zeitgabe-Probleme
brauchbar. Ein Software-Debugger arbeitet nicht in Echtzeit
(d. h. er verlangsamt die Abarbeitung des Programms durch Einfü
gen zusätzlicher Schritte). Folglich ist ein Software-Debugger
nicht für von der Zeitgabe abhängige Probleme brauchbar, bei
welchen die zeitliche Synchronisation wichtig ist. Wenn ein
solches Problem auftritt, erfordert eine vollständige Analyse
im allgemeinen zusätzliche Hardware, wie beispielweise einen
In-Circuit-Emulator oder einen anderen Hardware-Debugger.
Wenn ein Mikroprozessor eines installierten Computersystems
eine Störungssuche oder Fehlerbeseitigung erforderlich macht,
kann ein Serviceruf erforderlich sein. Das Ergebnis eines Ser
vicerufs ist oftmals ein unzufriedener Kunde, ein zeitweilig
abgeschalteter Computer, unnötiger Aufwand und ein Verlust an
Reputation. Von Vorteil wäre ein Mikroprozessor, der von einer
entfernten Stelle aus diagnostiziert werden kann.
Es wäre ferner ein Vorteil, einen Mikroprozessor mit einer
Schaltung zu schaffen, die unter Verwendung von durch ein ex
ternes Signal angelegten Befehlen den Prozessorzustand son
dieren und Befehle ohne Beeinflussung dieses Zustandes ausfüh
ren kann. Zusätzlich wäre es von Vorteil, wenn die Schaltung
Hardware und Pins verwendet, die bereits auf dem Chip vorhanden
sind, so daß die Kosten der Implementierung der Schaltung ge
ring sind und folglich ihr Einbau in massenhaft produzierte Mi
kroprozessoren für den Kunden kosteneffektiv wäre. Ein solcher
Mikroprozessor würde Anwendung finden bei Computerentwicklern,
-herstellern, Systemprogrammierern, Anwendungsprogrammierern
und Kunden-Servicepersonal.
Die Erfindung schafft einen externen Befehlsmodus zum di
rekten Zugreifen auf den Prozessorzustand und die Ausführungs
einheit in Abhängigkeit von extern erzeugten Kommandos und Be
fehlen. Ein Vorteil des externen Befehlsmodus ist die Testbar
keit des Mikroprozessors. Auch schafft der externe Befehlsmodus
eine Möglichkeit, den Betrieb des Mikroprozessors zu über
wachen. Ein Systementwickler oder Wartungsingenieur kann den
Prozessorzustand überprüfen und modifizieren, ohne dabei die
Inhalte der Register zu beeinflussen, einschließlich der Re
gister, die nur für ein Programm auf einem Supervisorniveau
oder ein privilegiertes Programm sichtbar wären. Im bevorzugten
Ausführungsbeispiel kann auf sämtliche Register und Zähler zu
gegriffen werden. Außerdem kann der Benutzer die Inhalte des
Speichers und des I/O-Raumes überprüfen und modifizieren. Es
sind Befehle vorgesehen, um auf die Gleitkommaeinheit und be
liebige andere parallele Verarbeitungseinheiten zuzugreifen.
Auch kann jeder von der Ausführungseinheit ausführbare Befehl
über den externen Befehlsmodus ausgeführt werden.
Der externe Befehlsmodus ermöglicht einen direkten Zugriff
auf die Ausführungseinheit und vermeidet ein implizites Aktua
lisieren, das den Zustand des Prozessors beeinflussen und folg
lich ein Sichern des Prozessorzustandes erfordern würde. Weil
der Prozessorzustand nicht geändert wird, ist die Notwendigkeit
zum Sichern des Prozessorzustandes in einen alternativen Spei
cher beseitigt. Ein anderer Vorteil ist die Verwendung von her
kömmlichen, bereits für einen anderen Zweck auf dem Chip vor
handenen Schaltungen mit geringen Modifikationen und die Ver
wendung eines Standard-Kommunikationsprotokolls, das mit Se
rienkomponenten implementiert werden kann. Im bevorzugten Aus
führungsbeispiel werden die externen Kommandos und Befehle über
einen Standard-Test-Zugriffs-Port (TAP - Test Access Port) zu
geführt, der entsprechend dem Randabtast-Standard IEEE 1149.1
entwickelt wurde und der das Joint-Test-Access-Group(JTAG)-Pro
tokoll für die Kommunikationen verwendet. Das Verwenden dieses
Ports bedeutet, daß keine zusätzlichen Pins erforderlich sind,
um den Sondierungsmodus zu implementieren, wodurch Kosten ge
spart werden. Der externe Befehlsmodus ist auf Prozessoren mit
einer Pipeline anwendbar und auf Prozessoren, bei denen mehrere
Pipelines parallel arbeiten.
Die Erfindung ist in einer Computerschaltung verkörpert,
die jeweils in einem von zumindest zwei Moden arbeitet. In ei
nem prozessorgetriebenen Modus, welcher ein herkömmlicher Modus
des Computerbetriebs ist, reagiert die Schaltung auf eine Serie
von in dem Computerspeicher gespeicherten Befehlen. In dem ex
ternen Befehlsmodus, der in dem bevorzugten Ausführungsbeispiel
"Sondierungsmodus" genannt wird, reagiert die Schaltung auf ex
tern erzeugte Kommandos und Befehle, die durch einen Zugriffs
port fließen. Die Computerschaltung enthält eine Modusauswahl
einheit zum Auswählen zwischen dem Sondierungsmodus und dem
prozessorgetriebenen Modus des Betriebs. Im bevorzugten Ausfüh
rungsbeispiel sind drei Verfahren zum Auswählen des externen
Befehlsmodus vorgesehen. Ein erstes Verfahren benutzt einen
"Run/Stop"(R/S)-Pin genannten externen Anschluß, der an dem Mi
kroprozessor zur Verfügung gestellt wird. Ein zweites Verfahren
verwendet einen über den Zugriffsport eingegebenen externen Be
fehl. Ein drittes Verfahren verwendet eine Fehlerbeseitigungs-
Ausnahme, die normalerweise durch einen Software-Debug-Manager
gehandhabt wird. Für eine geeignete Anzeige, ob sich die Schal
tung im externen Befehlsmodus befindet, ist ein zusätzlicher
"Bestätigungspin" genannter Anschluß vorgesehen, um anzuzeigen,
daß die Ausführungseinheit bereit ist, ein externes Signal zu
akzeptieren.
Die Computerschaltung enthält einen prozessorgetriebenen
Befehlspfad, einen externen Befehlspfad und eine Ausführungs
einheit. Der prozessorgetriebene Befehlspfad holt im Speicher
des Computers gespeicherte Befehle heran und legt sie unter
Steuerung des Prozessors an die Ausführungseinheit an. Der ex
terne Befehlspfad stellt der Ausführungseinheit extern erzeugte
Befehle unter externer Steuerung zur Verfügung. Der aktuell an
die Ausführungseinheit anzulegende Befehl wird durch einen Mul
tiplexer ausgewählt, der von einer zentralen Steuereinheit ab
hängig ist, die auf die Modusauswahleinheit anspricht. Mit an
deren Worten, jeder Pfad schafft ein Eingangssignal für einen
Multiplexer, der den aktuell an die Ausführungseinheit anzule
genden Befehlspfad auswählt.
Der prozessorgetriebene Befehlspfad aktualisiert implizit
die Prozessorzustandsinformationen, bevor er seinen Befehl an
die Ausführungseinheit anlegt. Die Prozessorzustandsinforma
tionen enthalten den Befehlszeiger. In Ausführungsbeispielen,
die einen Decodierer und einen Vor-Heranholer für Befehle
variabler Länge aufweisen, umfaßt das implizite Verhalten des
prozessorgetriebenen Pfades auch das Heranholen eines nächsten
Befehls, das Berechnen seiner Länge und das entsprechende Ein
stellen des Befehlszeigers. Der externe Befehlspfad aktuali
siert nicht implizit die Zustandsinformation, bevor sein Befehl
an die Ausführungseinheit angelegt wird. In Ausführungsbeispie
len, die einen Decodierer enthalten, wird dieses implizite Ver
halten im externen Befehlsmodus vermieden, indem der Decodierer
umgangen wird und der Befehl direkt an die Ausführungseinheit
geliefert wird.
Der prozessorgetriebene Befehlspfad enthält ein Sondie
rungsbefehlsregister (PIR - Probe Instruction Register) genann
tes Befehlsregister, zum Laden und Halten eines Befehls, der
durch die Ausführungseinheit gelesen werden soll. Ein Zugriffs
port bearbeitet den Informationsfluß zwischen einer externen
Signalquelle und dem Befehlsregister. Außerdem ist ein Sondie
rungsdatenregister (PDR - Probe Data Register) genanntes Daten
register vorgesehen, das entsprechend dem Befehl in dem Be
fehlsregister von dem Zugriffsport oder der Ausführungseinheit
geladen bzw. gelesen werden kann.
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 der Struktur eines Zugriffsports
und eines Prozessors sowie ihrer Schnittstelle;
Fig. 2 ein Ablaufdiagramm, das die im prozessorgetriebenen
Modus und die im externen Befehlsmodus auftretenden
Schritte zeigt;
Fig. 3 ein Ablaufdiagramm, das die in dem Sondierungsmodus
des bevorzugten Ausführungsbeispiels auftretenden
Schritte näher darstellt;
Fig. 4 ein Ablaufdiagramm, das die Auswahl des Sondierungs
modus zum Handhaben einer Fehlerbeseitigungsausnahme
veranschaulicht; und
Fig. 5 ein Ablaufdiagramm, das ein Verfahren zum Zugreifen
auf den Sondierungsmodus durch eine Fehlerbeseiti
gungsausnahme veranschaulicht.
Im folgenden wird auf Fig. 1 Bezug genommen, in welcher ein
eine Prozessoreinheit 10 und einen Zugriffsport 12 veranschau
lichendes Blockschaltbild gezeigt ist. Im bevorzugten Ausfüh
rungsbeispiel sind diese Strukturen, die Prozessoreinheit 10
und der Zugriffsport 12, auf einem einzigen Halbleiterchipbau
stein untergebracht. Bei anderen Ausführungsbeispielen können
die darin beschriebenen Funktionen durch entsprechende Einhei
ten auf separaten Chips ausgeführt werden.
Der Prozessor 10 weist einen prozessorgetriebenen Befehls
pfad 14 auf. In diesem prozessorgetriebenen Befehlspfad 14 sind
Anordnungen zum Anlegen von Befehlen an eine Ausführungseinheit
enthalten. Diese Anordnungen können beliebige herkömmliche An
ordnungen sein. Der prozessorgetriebene Befehlspfad 14 kann
Einheiten zum Cache-Speichern, Heranholen, Puffern, (ggf. er
forderlichen) Decodieren und erneuten Puffern (vor der Ausfüh
rung) von Befehlen enthalten. In dem prozessorgetriebenen Be
fehlspfad 14 befinden sich Komponenten, welche in herkömmlicher
Weise durch eine zentrale Steuereinheit 16 gesteuert werden. Um
ihre Funktionen ausführen zu können, enthält die zentrale
Steuereinheit 16 herkömmliche Steuerlogik, die zum Überwachen
und Steuern der Operationen des Prozessors 10 einschließlich
des prozessorgetriebenen Befehlspfads 14 erforderlich ist. Ein
durch den prozessorgetriebenen Befehlspfad 14 zur Verfügung ge
stellter Befehl wird an einen Multiplexer 18 geliefert, welcher
wiederum den Befehl an eine Ausführungseinheit 20 anlegt. Die
Ausführungseinheit 20 kann eine Anzahl von Mehrzweckregistern,
eine arithmetische Einheit (ALU), Steuerregister und Steuerlo
gik enthalten. Die Ausführungseinheit 20 kann auf einen Spei
cher 21 zugreifen. Ein Co-Prozessor, wie beispielsweise eine
Gleitkommaeinheit 22, kann mit der Ausführungseinheit 20 ver
bunden sein, um zusätzliche Funktionen neben dem normalerweise
in der Ausführungseinheit ausgeführten Funktionen zur Verfügung
zu stellen. Ein I/O-Raum 23 kann außerdem mit der Ausführungs
einheit 20 verbunden sein.
Innerhalb der zentralen Steuereinheit 16 gibt es eine Logik
zur Modusauswahl, wie sie durch eine Modusauswahleinheit 24
dargestellt ist. Im bevorzugten Ausführungsbeispiel kann der
Sondierungsmodus durch eines von drei Verfahren ausgewählt wer
den, welche detaillierter später beschrieben werden. Kurz zu
sammengefaßt: Ein Verfahren überprüft die Inhalte des Sondie
rungsmodus-Steuerregisters 26 nach dem Auftreten einer Fehler
beseitigungsausnahme um festzustellen, ob auf den Sondierungs
modus zugegriffen oder ein Software-Debugger aufgerufen werden
soll. Das Zugreifen auf den Sondierungsmodus über das Sondie
rungsmodus-Steuerregister 26 wird näher anhand von Fig. 4 be
schrieben. Ein anderes Verfahren des Auswählens eines Modus
verwendet ein Aktivieren eines Run/Stop-Pins 30, der an der Au
ßenseite des Mikroprozessorchips vorgesehen ist. Wenn ein Si
gnal an den Run/Stop-Pin 30 angelegt wird, stoppt die zentrale
Steuereinheit 16 den Betrieb des Prozessors 10 an einer Be
fehlsgrenze. Kurz zusammengefaßt: Wenn ein Signal an den
Run/Stop-Pin 30 angelegt wird, wird der Betrieb des Prozessors
10 an der nächsten Befehlsgrenze angehalten. Eine
"Befehlsgrenze" wird von Standpunkt der Ausführungseinheit aus
gesehen. Eine Befehlsgrenze kann als der Punkt zwischen Befeh
len definiert werden, an dem die Ausführungseinheit ihre sämt
lichen Änderungen vom Registern und des Speichers für einen er
sten Befehl abgeschlossen hat, aber bevor sie beginnt, Änderun
gen der Register, Flags und des Speichers für den nächsten in
der Pipeline folgenden Befehl vorzunehmen. Wenn der Prozessor
dadurch angehalten wird, bleibt die Ausführungseinheit 20 für
eine Ausführung von Operationen verfügbar, der prozessorgetrie
bene Befehlspfad 14 wird jedoch daran gehindert, weitere Be
fehle an die Ausführungseinheit 20 auszugeben. Ein weiteres
Verfahren des Zugreifens auf den Sondierungsmodus bedient sich
des unten beschriebenen Zugriffsports 12.
Durch den Zugriffsport 12 wird ein externer Befehlspfad zur
Verfügung gestellt, der in dem externen Befehlsmodus verwendet
wird. Ein externes Signal 32 stellt Kommandos sowie Daten und
Befehle einer Schnittstelleneinheit 34 innerhalb des Zugriffs
ports 12 zur Verfügung. Das externe Signal 32 wird durch eine
externe Steuereinheit, wie beispielsweise einen Hardware-Debug
ger, einen In-Circuit-Emulator, einer mit einem Diagnoseprozes
sor verbundenen Steuereinheit oder einen Leiterplattentester
während der Herstellung zur Verfügung gestellt. Die Schnitt
stelleneinheit 34 ist mit einem Sondierungsbefehlsregister
(PIR) 36 und einem Sondierungsdatenregister (PDR) 38 verbunden.
Die Schnittstelleneinheit 34 enthält Steuerlogik 40, welche mit
der zentralen Steuereinheit 16 verbunden ist. Definitionsgemäß
ist ein "Kommando" eine Anweisung an den Zugriffsport 12, wel
cher eine Funktion ausführt oder ein Kommando ausgibt, bei
spielsweise ein Kommando zum Ausführen eines in dem Sondie
rungsbefehlsregister 36 gespeicherten Befehls, zum Unterbrechen
des Betriebs des Prozessors 10 oder zum Auswählen des externen
Befehlsmodus. Ein "Befehl" oder "Mikrobefehl" ist eine in dem
Sondierungsbefehlsregister 36 gespeicherte Instruktion, die in
der Ausführungseinheit 20 ausgeführt werden soll.
Das Sondierungsbefehlsregister (PIR) 36 ist mit einem Ein
gang des Multiplexers 18 verbunden. Wenn der Prozessor in den
externen Befehlsmodus eingetreten ist, steuert die zentrale
Steuereinheit 16 den. Multiplexer derart, daß die Inhalte des
Sondierungsbefehlsregister 36 an die Ausführungseinheit ange
legt werden. Das Sondierungsdatenregister 38 ist ebenfalls mit
der Ausführungseinheit 20 verbunden, welche dessen Inhalte le
sen und Daten in ihm speichern kann. Das Sondierungsdatenregi
ster 38 wird für den Transfer von Daten zur und von der Ausfüh
rungseinheit 20 verwendet. Das Sondierungsdatenregister 38 wird
bei Verwendung in einer Operation mit Hilfe des externen Si
gnals 32 geladen, bevor mit der Ausführung eines in dem Sondie
rungsbefehlsregister 36 gespeicherten Befehls begonnen wird.
Wenn nach einer Befehlsausführung in der Ausführungseinheit 20
als Folge eines von dem Sondierungsbefehlsregister 36 zur Ver
fügung gestellten Befehls Daten in das Sondierungsdatenregister
38 gebracht wurden, dann können darüberhinaus diese Daten über
die Schnittstelle 34 zu einem beliebigen Zeitpunkt nach ihrer
Speicherung in das Sondierungsdatenregister 38 ausgelesen wer
den.
In dem bevorzugten Ausführungsbeispiel ist der Zugriffsport
12 ein Standard-Test-Zugriffs-Port (TAP), der entsprechend dem
Randabtast-Standard IEEE 1149.1 konstruiert ist. Außerdem ver
wendet der Zugriffsport 12 das Kommunikationsprotokoll der
Joint Test Access Group (JTAG). Als Teil der JTAG-Anforderungen
werden Minimalmerkmale für einen solchen TAP gefordert. Die
IEEE-Spezifikation 1149.1 spezifiziert einen Mechanismus zum
Hinzufügen zusätzlicher Merkmale zu dem TAP. Bei dem bevorzug
ten Ausführungsbeispiel sind das Sondierungsbefehlsregister 36
und das Sondierungsdatenregister als "Testdatenregister" gemäß
diesem Mechanismus zum Hinzufügen zusätzlicher Merkmale gemäß
der IEEE-Spezifikation 1149.1 implementiert. Es sind TAP-Be
fehle vorgesehen, um auf diese Register 36 und 38 zuzugreifen
und um die durch den Block 40 dargestellte Steuerung auszufüh
ren. Insgesamt hat der Zugriffsport 12 eine JTAG-Schnittstelle,
wie sie im IEEE-Standard 1149.1 beschrieben ist, welche ein
Austauschen von Daten und Befehlen zwischen dem Zugriffsport 12
und einem externen Signal 32 gestattet. Entsprechend dem IEEE-
Standard 1149.1 bilden 5 Pins (nicht gezeigt) eine serielle
Schnittstelle zwischen dem Signal 32 und dem Prozessor 10.
Diese Pins enthalten den Testdateneingabe-Pin (TDI-Pin) und den
Testdatenausgabe-Pin (TDO-Pin). Der TDI-Pin wird verwendet, um
in serieller Weise Daten oder Befehle in den Zugriffsport 12 zu
schieben. Über den TDO-Pin werden die Antwortdaten hinausge
schoben. Der Testmodusauswahl-Pin (TMS-Pin) wird verwendet, um
den Zustand der Zugriffsport-Steuereinrichtung zu steuern. Der
Testtakt (TCK) wird über den TCK-Pin zur Verfügung gestellt;
typischerweise werden die Eingangssignale mit der ansteigenden
Flanke dieses Signals abgetastet. Der Testlogik-Rücksetzzu
stand-Pin (TRST-Pin) zwingt die Zugriffsport-Steuereinrichtung
in den Rücksetzzustand der Testlogik. Weitere Informationen
sind dem IEEE-Standard 1149.1 zu entnehmen.
Der Zugriffsport 12 implementiert ein Kommando "WRITE PIR",
welches verwendet wird, um einen Mikrobefehl zur Auslieferung
an die Ausführungseinheit aufzubauen. Der Zugriffsport 12 im
plementiert auch ein Kommando "SUBMIT PIR" um anzuzeigen, daß
das Sondierungsbefehlsregister 36 einen gültigen Mikrobefehl
enthält und daß die Ausführung innerhalb der Ausführungseinheit
20 beginnen soll. Die Inhalte des Sondierungsbefehlsregisters
36 werden nur über den Zugriffsport 12 eingeschrieben und sind
nicht von der Ausführungseinheit 20 schreibbar. Mikrobefehle
können für sich wiederholende Operationen, wie beispielsweise
das Lesen oder Schreiben von Speicherblöcken, erneut vorgelegt
werden. Es ist dann nicht erforderlich, das Sondierungsbefehls
register 36 erneut zu beschreiben, wenn der Befehl an die Aus
führungseinheit 20 erneut angelegt werden soll.
Im folgenden wird auf Fig. 2 Bezug genommen, in welche ein
Ablaufdiagramm einer Sequenz von Schritten zeigt, die auftre
ten, wenn der prozessorgetriebene Modus ausgewählt wird, und
die außerdem eine Sequenz von Schritten zeigt, die auftreten,
wenn der externe Befehlsmodus ausgewählt wird. Beginnend bei
dem Startblock an der Spitze des Ablaufdiagramms gemäß Fig. 2
wird eine Auswahl getroffen (wie durch den Block 50 darge
stellt), um den prozessorgetriebenen Modus oder den externen
Befehlsmodus auszuwählen. Auf der Grundlage dieser Auswahl er
folgt eine Entscheidung, wie sie durch den Entscheidungsblock
52 dargestellt ist. Wenn der prozessorgetriebene Modus ausge
wählt wurde, wird ein Befehl aus dem Speicher herangeholt
(Block 54). Der Befehl wird decodiert (Block 55). Als nächstes
werden die Zustandsinformationen, wie beispielsweise der Be
fehlszeiger, im Prozessor 10 implizit aktualisiert (Block 56).
Dann wird ein Mikrobefehl ausgegeben (Block 57). Dieser Mikro
befehl wird ausgeführt (Block 58). Bei einem Entscheidungsblock
59 wird bestimmt, ob weitere Mikrobefehle zum Abschließen der
Ausführung des herangeholten Befehls erforderlich sind. Wenn
weitere Mikrobefehle nötig sind, dann wird ein Mikroprogramm-
Zuordner aufgerufen (Block 60). Der Mikroprogramm-Zuordner gibt
einen nächsten Mikrobefehl aus (Block 61), und der Ablauf kehrt
dann zum Anfang der Schleife zurück, um den Mikrobefehl aus zu
führen (Block 58). Bei einigen Prozessoren ist es möglich, daß
der herangeholte Befehl die Ausgabe vieler Mikrobefehle erfor
dert, bevor seine Ausführung abgeschlossen ist. Bei anderen
Prozessoren, wie beispielsweise RISC-Prozessoren ist die Deco
dierung des herangeholten Befehls minimal, bevor er an die Aus
führungseinheit 20 angelegt wird.
Die Operation des Prozessors vom Heranholen bis zum Deco
dieren und Aktualisieren der Zustandsinformationen kann durch
das folgende Beispiel veranschaulicht werden. Bei diesem Bei
spiel wird ein nicht-decodierter Befehl variabler Länge aus dem
Speicher herangeholt (Block 54). Gemäß der Annahme dieses Bei
spiels soll eine Decodierung erforderlich sein. Die Länge des
Befehls ist unbestimmt und der Befehl wird decodiert. Auf der
Grundlage der Länge des Befehls werden die Zustandsinformatio
nen (z. B. der Befehlszeiger) des Befehls aktualisiert.
Im folgenden wird wieder auf Fig. 2 Bezug genommen. Nachdem
keine weiteren Mikrobefehle erforderlich sind, wird die Ausfüh
rung des herangeholten Befehls abgeschlossen. Um die prozessor
getriebene Schleife abzuschließen, kehrt die Operation von dem
Entscheidungsblock 59 zu der Stelle vor dem Auswahlblock 50 zu
rück, bei welchem der prozessorgetriebene Modus oder der ex
terne Befehlsmodus ausgewählt wird. Im Betrieb wird die
Schleife des prozessorgetriebenen Modus üblicherweise viele
Male ausgeführt, bevor eine Auswahl getroffen wird, in den ex
ternen Befehlsmodus zu gehen. Die durch den Block 50 darge
stellte Auswahl eines Modus wird detaillierter anhand von Fig.
4 in einem späteren Teil der Beschreibung ausgeführt.
Wenn anstelle des prozessorgetriebenen Modus der externe
Befehlsmodus ausgewählt wurde, dann kann ein extern erzeugter
Befehl angelegt werden (Operationsblock 70). Wie durch den Ent
scheidungsblock 72 dargestellt, wartet dann der Prozessor auf
das Ausführungskommando und führt den Befehl nach Empfang des
Kommandos aus (Block 74). Um die Schleife des externen Befehls
abzuschließen, kehrt die Operation nach der Ausführung zum
Block 50 zurück, bei welchem eine Auswahl zwischen dem prozes
sorgetriebenen Modus und dem externen Befehlsmodus getroffen
werden kann. Folgt man der Schleife des externen Befehls erneut
(wenn der externe Befehlsmodus ausgewählt wurde), so wartet der
Prozessor, bis ein extern erzeugter Befehl angelegt worden ist,
das Ausführungskommando empfangen wurde (wie dargestellt durch
Block 72) und der Befehl ausgeführt worden ist (wie dargestellt
in Block 74). Die Abarbeitung des externen Befehlsmodus ist un
ten näher anhand von Fig. 3 dargestellt. Im bevorzugten Ausfüh
rungsbeispiel wird der externe Befehlsmodus als
"Sondierungsmodus" bezeichnet, weil er verwendet werden kann,
um das Computersystem einschließlich der Ausführungseinheit,
ihrer Register, des Speichers und der Gleitkommaeinheit zu te
sten.
Im folgenden wird auf Fig. 3 Bezug genommen, welche ein die
Operationsweise des als "Sondierungsmodus" bezeichneten exter
nen Befehlsmodus in dem bevorzugten Ausführungsbeispiel veran
schaulicht. Block 80 stellt dar, daß der Sondierungsmodus aus
gewählt worden ist. Nach der Auswahl des Sondierungsmodus ver
geht eine gewisse Zeit, bevor sich der Prozessor tatsächlich in
dem Sondierungsmodus befindet und bereit ist, einen Sondie
rungsmodusbefehl auszuführen. Wie in einem Entscheidungsblock
82 dargestellt, wartet der Prozessor 10, bis er in dem Sondie
rungsmodus ist, bevor er fortfährt. Im bevorzugten Ausführungs
beispiel wartet der Prozessor 10, bis der aktuell ausgeführte
Befehl sämtliche Modifikationen von Registern abgeschlossen
hat. Als nächste Operation (Block 84) wird ein Signal an den
Bestätigungspin 86 angelegt. Der Bestätigungspin 86 in Fig. 1
gezeigt. Aus dem Ablaufdiagramm gemäß Fig. 3 geht hervor, daß
der Bestätigungspin 86 aktiviert wird, um anzuzeigen, daß der
Prozessor sich in dem Sondierungsmodus befindet und zur Ausfüh
rung von Befehlen bereit ist. Als nächstes (dargestellt im Ent
scheidungsblock 88) wartet die Operation, bis vom Zugriffsport
12 ein Kommando zum Ausführen eines Befehls empfangen wurde.
Nachdem das Kommando empfangen worden ist, wird der Bestäti
gungspin 86 deaktiviert (Block 90), um anzuzeigen, daß die Aus
führungseinheit 20 den in dem Sondierungsbefehlsregister (PIR)
36 gespeicherten Befehl akzeptiert und mit seiner Ausführung
begonnen hat. Die Ausführung wird bis zum ihrem Abschluß fort
gesetzt (Block 92). Nachdem die Ausführung abgeschlossen ist,
wird der Bestätigungspin 86 aktiviert (Block 94). Nach der Ope
ration kehrt der Prozessor 10 zu dem Zustand vor dem Entschei
dungsblock 88 zurück.
Wenn während der Ausführung Daten zu dem Sondierungsdaten
register (PDR) 38 geschrieben wurden, so kann ein zusätzlicher
Schritt durch den Betreiber ausgeführt werden, um die Daten
über den Zugriffsport auszulesen. Wie in dem Block 96 veran
schaulicht, können dann, wenn die Daten in das PDR 38 während
der Ausführung geschrieben worden sind, bei einem nächsten
Schritt die Daten aus dem PDR über den Zugriffsport 12 ausgele
sen werden (Block 98). Wenn jedoch während der Ausführung keine
Daten in das PDR 38 geschrieben worden sind, dann ist keine
weitere Aktivität erforderlich (Block 99).
Im folgenden wird auf die obere rechte Seite der Darstel
lung gemäß Fig. 3 Bezug genommen, wo zwei Blöcke das Fließen
von Informationen in die Register 36 und 38 veranschaulichen.
Beim Block 100 wird das Sondierungsbefehlsregister 36 über den
Zugriffsport 12 geladen. Beim Block 102 wird das Sondierungsda
tenregister 38 über den Zugriffsport 12 geladen. Wie in Fig. 3
gezeigt ist, werden diese Informationen vorzugsweise vor dem
Entscheidungsblock 88 zur Verfügung gestellt, in welchem ein
Ausführungskommando empfangen wird. Es sei jedoch angemerkt,
daß die Operationen in den Blöcken 100 und 102 nicht an ein
spezielles Ereignis an einer anderen Stelle des Ablaufdiagramms
gebunden sind. Bei der Operation des bevorzugten Ausführungs
beispiels wird das Laden des Sondierungsbefehlsregisters 36 und
des Sondierungsdatenregisters 38 unabhängig von den restlichen
Operationen ausgeführt. Folglich ist es aus der Perspektive
eines Benutzers des Sondierungsmodus vorteilhaft, daß der Be
nutzer weiß, ob sich ein einwandfreier Befehl in dem Sondie
rungsbefehlsregister befindet, bevor ein Kommando zum Ausführen
des Befehls ausgegeben wird, und daß der Prozessor 10 zum Ak
zeptieren eines Kommandos bereit ist, wie es durch den Bestäti
gungspin 86 angezeigt wird. Wenn darüberhinaus Daten zum Aus
führen des Kommandos erforderlich sind, muß der Benutzer si
chern, daß einwandfreie Daten in dem Sondierungsdatenregister
zur Verfügung gestellt werden, bevor die Ausführung des Befehls
aufgenommen wird.
Im folgenden soll der Mechanismus zum Auswählen des Sondie
rungsmodus erörtert werden. Es wurde anhand von Fig. 1 darge
legt, daß die Modusauswahl in dem Modusauswahlblock 24 der
zentralen Steuereinheit 16 stattfindet. Unter Bezugnahme auf
Fig. 2 wurde gesagt, daß eine Auswahl zwischen dem prozessorge
triebenen Modus und dem externen Befehlsmodus in einem Opera
tionsblock 50 getroffen wird. In Fig. 3 wurde angenommen (Block
80), daß der Sondierungsmodus ausgewählt wurde. Im bevorzugten
Ausführungsbeispiel kann die Auswahl des Sondierungsmodus durch
eines von drei Verfahren ausgeführt werden: Ein erstes Verfah
ren basiert auf einem Kommando, das über den Zugriffsport 12
ausgegeben wird, ein zweites Verfahren beruht auf einem Fehler
beseitigungsmechanismus, der entweder in dem prozessorgetriebe
nen Befehlspfad 14 oder der Ausführungseinheit 20 vorgesehen
ist, und ein drittes Verfahren verwendet den Run/Stop-Pin 30.
Bei dem ersten und dem dritten Verfahren des bevorzugten
Ausführungsbeispiels hat der Übergang in den Sondierungsmodus
gemeinsame Charakteristiken. Innerhalb der Modusauswahleinheit
24 kann ein Interrupt-Prioritätsgeber vorgesehen sein, welcher
die Unterbrechung des Prozessors 10 überwacht und steuert. Das
erste und das dritte Verfahren arbeiten über den Interrupt-
Prioritätsgeber. Im bevorzugten Ausführungsbeispiel erzeugen
diese Verfahren ein Interrupt hoher Priorität in dem Interrupt-
Prioritätsgeber, der die Operation des prozessorgetriebenen Be
fehlspfades an der nächsten Befehlsgrenze anhält, und einen
Eingang in den Multiplexer 18 auswählt, so daß ein Befehlspfad
aus dem Sondierungsbefehlsregister 36 zur Verfügung gestellt
wird. Darüberhinaus wird, nachdem die Auswahl des Sondierungs
modus abgeschlossen ist, ein Signal an den Bestätigungspin 86
angelegt, um anzuzeigen, daß die Ausführungseinheit bereit ist,
Sondierungsmodusbefehle zu empfangen.
Bei dem ersten Verfahren zum Zugreifen auf den Sondierungs-
bzw. Ruhemodus, wird ein Kommando in dem externen Signal 32
über die Schnittstelle 34 gesendet. Die Steuerlogik 40 stellt
fest, ob das Kommando zum Zugreifen auf den Sondierungsmodus
ausgegeben wurde. Wenn dies der Fall ist, stellt sie ein Signal
für die Modusauswahleinheit 24 innerhalb der zentralen
Steuereinheit zur Verfügung. Alternativ dazu stellt das
Run/Stop-Pin 30 der Modusauswahleinheit 24 ein ähnliches Signal
zur Verfügung.
Im folgenden wird auf die Fig. 4 und 5 Bezug genommen, wel
che Ablaufdiagramme sind, die in dem bevorzugten Ausführungs
beispiel ein Zugreifen auf den Sondierungsmodus über eine Feh
lerbeseitigungsausnahme darstellen. Der Block 110 veranschau
licht eine Auswahl eines Benutzers vor Beginn einer Fehlerbe
seitigungs-Sitzung, wo er beispielsweise angibt, welche Fehler
beseitigungsausnahmen den Sondierungsmodus und welche einen
Fehlerbeseitigungs-Handler 112 (Fig. 1) aufrufen sollen. Im be
vorzugten Ausführungsbeispiel ist ein Sondierungsmodus-Steuer
register (PMCR) Teil des Prozessorzustands, der innerhalb des
Sondierungsmodus durch einen Befehl modifiziert werden kann.
Dieses Steuerregister enthält ein Einzelbit-Flag, das Inter
rupt-Umadressier-Flag (IR-Flag), das abgefragt wird, wenn Un
terbrechungspunkt-Ausnahmen erfaßt wurden, wie es weiter unten
detaillierter beschrieben wird. Als nächstes wird eine festge
stellt (wie im Entscheidungsblock 114 dargestellt), ob der Son
dierungsmodus ausgewählt wurden. Wenn der Sondierungsmodus aus
gewählt wurde, wird in den Sondierungsmodus übergegangen (Block
115). Als nächstes wird ein Befehl über den Zugriffsport 12
ausgegeben, um das IR-Flag in dem Sondierungsmodus-Steuerre
gister (PMCR) 27 zu setzen (Block 116). Danach verläßt der Pro
zessor den Sondierungsmodus (Block 117), und der Betrieb wird
am Block 118 fortgesetzt. Wenn der Sondierungsmodus nicht aus
gewählt worden ist, so wird ausgehend vom Entscheidungsblock
114 der Fehlerbeseitigungs-Handler 112 ausgeführt (Block 119).
Im folgenden wird auf das Ablaufdiagramm gemäß Fig. 5 Bezug
genommen, in welchem bei "Start" die Operation des Prozessors
10 beginnt. Nach dem Start wird ein Befehl herangeholt (Block
120). Wenn kein Unterbrechungspunkt-Fehler erfaßt wird
(Entscheidungsblock 122), dann wird der Befehl decodiert (Block
124). Die Erfassung des Unterbrechungspunkts kann vor oder
gleichzeitig mit dem Decodieren im Block 124 auftreten. Als
nächstes wird der Befehl ausgeführt (Block 126). Ein "Fehler"-
Unterbrechungspunkt ist definiert als eine Ausnahme, die vor
Ausführung eines Befehls bedient wird. Ein "Trap"-Unter
brechungspunkt ist definiert als eine Ausnahme, die nach dem
Abschluß des Befehls, der diese Ausnahme erzeugte, bedient
wird. Wenn während der Ausführung des Befehls (Block 126) kein
Unterbrechungspunkt-Trap erfaßt wurde (wie dargestellt in einem
Entscheidungsblock 128), dann wird die Schleife beginnend mit
dem Heranholen des Befehls (Block 120), dem Decodieren des Be
fehls (Block 124) usw. wiederholt.
Wenn der Unterbrechungspunkt-Fehler in dem Entscheidungs
block 122 nach dem Decodieren erfaßt worden ist, oder wenn ein
Unterbrechungspunkt-Trap während der Ausführung im Block 126
erfaßt worden ist, dann wird das IR-Flag in dem Sondierungsmo
dus-Steuerregister 26 überprüft, um zu sehen, ob es gesetzt
ist, wie dies in einem Entscheidungsblock 130 dargestellt ist.
Wenn das IR-Flag gesetzt ist, dann tritt der Prozessor ohne
Ausführung zusätzlicher Befehle in den Sondierungsmodus ein
(Block 132). Wenn jedoch das IR-Flag nicht gesetzt ist, dann
wird der Unterbrechungspunkt über den Fehlerbeseitigungs-Hand
ler gehandhabt, wie es durch den Block 134 veranschaulicht ist.
Die Arbeitsweise des Fehlerbeseitigungs-Handlers (Block 134) ist
eine herkömmliche Art der Handhabung der Fehlerbeseitigung und
der Unterbrechungspunkte.
Um den Sondierungsmodus zu verlassen, wurden zwei Verfahren
implementiert. Bei einem Verfahren wird das Run/Stop-Pin 30
(Fig. 1) einfach deaktiviert, beispielsweise indem es auf eine
geringe Spannung herabgezogen wird, sofern es "aktiv hoch" ist.
Bei einem anderen Verfahren wird ein Kommando aus der Steuerlo
gik 50 ausgegeben, welches die Modusauswahleinheit 24 anweist,
den prozessorgetriebenen Modus auszuwählen. Dieses Kommando hat
jedoch keine Wirkung, wenn der Run/Stop-Pin 30 aktiv ist. D.h.,
die Aktivierung des Run/Stop-Pins 30 überschreibt bei dieser
Implementierung ein über den Zugriffsport 12 eingehendes exter
nes Kommando.
Das Format des Sondierungsmodusbefehl wird unten erörtert.
Wie oben gesagt, wird ein in der Ausführungseinheit 20 auszu
führender Sondierungsmodusbefehl zunächst in dem Sondierungsbe
fehlsregister (PIR) 36 gespeichert. Dieser Befehl wird dann
direkt über den Multiplexer 18 zur Ausführungseinheit 20 gelie
fert. Folglich muß das Format des Befehls innerhalb des Sondie
rungsbefehlsregister 36 derartig sein, daß es von der Ausfüh
rungseinheit 20 ausführbar ist. Damit ein Befehl von der Aus
führungseinheit 20 erkennbar ist, muß er ein Format haben, das
eine Untermenge der innerhalb der Ausführungseinheit 20 aus
führbaren Befehle ist. Infolge der großen Vielfalt von Befehlen
in unterschiedlichen Computerarchitekturen gibt die Erfindung
keine bestimmte Form von Befehlen oder Befehls-Untermengen für
einen über das Sondierungsbefehlsregister 36 zur Verfügung ge
stellten Befehl an. Im allgemeinen sind diese Befehle einfache
Lade/Speicher-Befehle zum Testen des Zustandes des Prozessors
10, insbesondere der Register innerhalb der Ausführungseinheit
20. Es sind jedoch komplexere Operationen ausführbar und
tatsächlich ist jeder beliebige durch die Ausführungseinheit 20
erkennbare Befehl darin ausführbar. Solche Operationen
schließen den Zugriff auf sekundäre Speicher, den Zugriff auf
periphere Komponenten und arithmetische Operationen innerhalb
der Ausführungseinheit 20 ein. Die in dem bevorzugten Ausfüh
rungsbeispiel implementierten Befehle sind im folgenden be
schrieben. Die Erfindung ist jedoch nicht auf diese speziellen
Mikrobefehle beschränkt. Im Sondierungsmodus des bevorzugten
Ausführungsbeispiels kann der Mikroprozessor einfache
Lade/Speicher-Befehle akzeptieren. Die Befehle sind eine Un
termenge des innerhalb der Ausführungseinheit 20 ausführbaren
Mikroprogramms und umgehen den prozessorgetriebenen Befehlspfad
14 wie oben beschrieben. Sondierungsmodusbefehle gestatten ein
Schreiben und Lesen sämtlicher für den Programmierer sichtbarer
Register. Zusätzlich kann auf den Speicher und den
I/O(Eingabe/Ausgabe)-Raum zugegriffen werden. Im Sondierungsmo
dus bleiben externe Interrupts anhängig und werden nicht be
dient, bis der Sondierungsmodus verlassen wurde. Andere Opera
tionen, die während der Ausführung asynchron auftreten können,
wie beispielsweise Snooping- und Rückschreib-Operationen, tre
ten auf normale Weise während des Sondierungsmodus auf.
Wie oben erörtert, hält das Sondierungsbefehlsregister 36
einen Befehl. Im bevorzugten Ausführungsbeispiel enthält das
Sondierungsbefehlsregister 36 ein Befehlswort festen Formats,
welches Felder für "Befehlscodes", Quellen- und Zielregister
und für die Direktdaten enthält. Das Sondierungsdatenregister
38 wird verwendet, um Datenwerte mit der Ausführungseinheit 20
auszutauschen. Um beispielsweise ein Register innerhalb der
Ausführungseinheit 20 zu lesen, würde ein Befehl von dem Son
dierungsbefehlsregister 36 ausgegeben werden, der den Inhalt
des gewünschten Registers in das Sondierungsdatenregister 38
schreibt, und dann das Sondierungsdatenregister 38 über den Zu
griffsport 12 ausliest. In einer ähnlichen Weise kann ein Spei
cher, Hauptspeicher oder sekundärer Speicher, überprüft werden
durch Ausgabe eines Befehls zum Lesen aus dem Speicher in ein
temporäres Register innerhalb der Ausführungseinheit 20 und an
schließendem Lesen dieses temporären Registers in das Sondie
rungsdatenregister 38. Ein anderes Register ist das oben be
schriebene Sondierungssteuerregister.
Die Erfindung wurde in einem Prozessor implementiert, der
zwei Pipelines, eine "u"-Pipeline und eine "v"-Pipeline auf
weist. Der in dem Sondierungsmodus ausgeführte Befehl, welcher
als "Mikrobefehl" bezeichnet werden kann, hat die volle Kon
trolle sowohl über die u- als auch v-Pipeline.
Das Sondierungsbefehlsregister enthält zwei Hauptfelder,
eines zum Steuern der Integer-u-Pipeline und ein beinahe iden
tisches Feld zum Steuern der Integer-v-Pipeline. Das u-Pipe
line-Feld kann außerdem verwendet werden, um auf den Gleit
kommaprozessorzustand zuzugreifen. Wenn es einen Architekturzu
stand gibt, der über Befehlsgrenzen hinweg erhalten wird, ist
es zweckmäßig, daß auf ihn über den Sondierungsmodus zugegrif
fen werden kann. Beispielsweise hat der 80×86 zusätzlich zu den
Mehrzweckregistern Gleitkommaregister und Segmentregister. Die
Erfindung schafft eine Schaltung und ein Verfahren zum Zugrei
fen auf diese Register über den Sondierungsmodus.
Claims (30)
1. Computerschaltung, die in einem prozessorgetriebenen Mo
dus arbeiten kann und dabei auf eine Serie von in einem Com
puterspeicher gespeicherten Befehlen anspricht und die außerdem
in einem externen Befehlsmodus arbeiten kann und dabei auf
einen extern erzeugten Befehl und ein extern erzeugtes Kommando
anspricht,
gekennzeichnet durch
Modusauswahlmittel (24, 26, 30) zum Auswählen des externen Befehlsmodus oder des prozessorgetriebenen Modus;
eine Ausführungseinheit (20) zum Ausführen von Befehlen; einen Multiplexer (18), der einen ausgewählten Befehl der Ausführungseinheit (20) zur Verfügung stellt;
einen prozessorgetriebenen Befehlspfad (14) zum Anlegen der gespeicherten Befehle an einen Eingang des Multiplexers (18);
einen externen Befehlspfad (34, 36) zum Anlegen des extern erzeugten Befehls an einen Eingang des Multiplexers (18); und
auf die Modusauswahlmittel (24, 26, 30) ansprechende Mittel (16) zum Steuern des Multiplexers (18) derart, daß der Multi plexer (18)
während des Betriebs im prozessorgetriebenen Modus einen gespeicherten Befehl aus dem prozessorgetriebenen Befehlspfad (14) und
während des Betriebs im externen Befehlsmodus ein extern erzeugten Befehl aus dem externen Befehlspfad (34, 36) auswählt.
Modusauswahlmittel (24, 26, 30) zum Auswählen des externen Befehlsmodus oder des prozessorgetriebenen Modus;
eine Ausführungseinheit (20) zum Ausführen von Befehlen; einen Multiplexer (18), der einen ausgewählten Befehl der Ausführungseinheit (20) zur Verfügung stellt;
einen prozessorgetriebenen Befehlspfad (14) zum Anlegen der gespeicherten Befehle an einen Eingang des Multiplexers (18);
einen externen Befehlspfad (34, 36) zum Anlegen des extern erzeugten Befehls an einen Eingang des Multiplexers (18); und
auf die Modusauswahlmittel (24, 26, 30) ansprechende Mittel (16) zum Steuern des Multiplexers (18) derart, daß der Multi plexer (18)
während des Betriebs im prozessorgetriebenen Modus einen gespeicherten Befehl aus dem prozessorgetriebenen Befehlspfad (14) und
während des Betriebs im externen Befehlsmodus ein extern erzeugten Befehl aus dem externen Befehlspfad (34, 36) auswählt.
2. Computerschaltung nach Anspruch 1, dadurch gekennzeich
net, daß der prozessorgetriebene Befehlspfad (14) einen De
codierer aufweist, der einen Befehlszeiger gleichzeitig mit dem
Decodieren eines Befehls aktualisiert.
3. Computerschaltung nach Anspruch 1 oder 2, dadurch ge
kennzeichnet daß der externe Befehlspfad (34, 36) ein Befehls
register (36) zum Speichern eines extern erzeugten Befehls auf
weist.
4. Computerschaltung nach einem der Ansprüche 1 bis 3, da
durch gekennzeichnet, daß die Modusauswahlmittel (24, 26, 30)
einen Run/Stop-Pin (30) aufweisen, der bei Aktivierung den Be
trieb des prozessorgetriebenen Befehlspfads (14) anhält.
5. Computerschaltung nach einem der Ansprüche 1 bis 4, da
durch gekennzeichnet, daß die Modusauswahlmittel (24, 26, 30)
eine Steuerlogik enthalten, die auf ein extern erzeugtes Kom
mando anspricht, um den Betrieb des prozessorgetriebenen Be
fehlspfads (14) anzuhalten.
6. Computerschaltung nach einem der Ansprüche 1 bis 5, da
durch gekennzeichnet, daß die Modusauswahlmittel (24, 26, 30)
ein Sondierungsmodus-Steuerregister (26) mit einem Befehls-Um
adressier-Flag (IR-Flag) aufweisen zum Anhalten des Betriebs
des prozessorgetriebenen Befehlspfads (14), wenn eine Fehlerbe
seitigungsausnahme während des Betriebs des prozessorgetrie
benen Befehlspfads (14) auftritt.
7. Computerschaltung nach einem der Ansprüche 1 bis 6, ge
kennzeichnet durch einen Bestätigungspin (86), der ein Signal
zur Verfügung stellt, welches anzeigt, ob sich der Prozessor
(10) in dem externen Befehlsmodus befindet und zum Ausführen
eines extern erzeugten Befehls bereit ist.
8. Computerschaltung mit einem Prozessor (10), die in einem
prozessorgetriebenen Modus arbeiten kann und dabei eine Reihe
von in einem Computerspeicher gespeicherten Befehlen ausführt
und die außerdem in einem Sondierungsmodus arbeiten kann, und
dabei ein externes Signal (32) empfängt, das extern erzeugte
Kommandos und einen Sondierungsmodusbefehl und Sondierungsmo
dusdaten enthalten kann,
gekennzeichnet durch
Modusauswahlmittel (24, 26, 30) zum Auswählen zwischen dem prozessorgetriebenen Modus und dem Sondierungsmodus;
einen Zugriffsport (12) mit Mitteln (34) zum Empfangen und Senden des externen Si gnals (32);
Mitteln zum Senden von Informationen zu dem Prozessor (10) und Empfangen von Informationen aus dem Prozessor; und
einer Steuerlogik zum Steuern der Schnittstelle zwi schen dem Zugriffsport (12) und dem Prozessor (10); und ein Sondierungsbefehlsregister (36) zum Halten eines mit dem externen Signal (32) empfangenen Sondierungsmodusbefehls;
ein Sondierungsdatenregister (38) zum Halten von Daten;
eine Ausführungseinheit (20) zum Ausführen von Befehlen; und
einen Multiplexer (18), der einen der Ausführungseinheit (20) zur Verfügung zu stellenden Befehl auswählt, wobei der Multiplexer (18) aus einem einen Befehl aus dem prozessorge triebenen Pfad (14) enthaltenden Eingangssignal und einem Son dierungsmodusbefehl aus dem Sondierungsbefehlsregister (36) auswählt.
Modusauswahlmittel (24, 26, 30) zum Auswählen zwischen dem prozessorgetriebenen Modus und dem Sondierungsmodus;
einen Zugriffsport (12) mit Mitteln (34) zum Empfangen und Senden des externen Si gnals (32);
Mitteln zum Senden von Informationen zu dem Prozessor (10) und Empfangen von Informationen aus dem Prozessor; und
einer Steuerlogik zum Steuern der Schnittstelle zwi schen dem Zugriffsport (12) und dem Prozessor (10); und ein Sondierungsbefehlsregister (36) zum Halten eines mit dem externen Signal (32) empfangenen Sondierungsmodusbefehls;
ein Sondierungsdatenregister (38) zum Halten von Daten;
eine Ausführungseinheit (20) zum Ausführen von Befehlen; und
einen Multiplexer (18), der einen der Ausführungseinheit (20) zur Verfügung zu stellenden Befehl auswählt, wobei der Multiplexer (18) aus einem einen Befehl aus dem prozessorge triebenen Pfad (14) enthaltenden Eingangssignal und einem Son dierungsmodusbefehl aus dem Sondierungsbefehlsregister (36) auswählt.
9. Computerschaltung nach 8, gekennzeichnet durch Mittel
zum Initiieren der Ausführung eines in dem Sondierungsbefehls
register (36) gespeicherten Befehls, die auf ein extern er
zeugtes Kommando ansprechen.
10. Computerschaltung nach Anspruch 8 oder 9, dadurch ge
kennzeichnet, daß die Modusauswahlmittel einen Run/Stop-Pin (30)
enthalten, der den Betrieb des prozessorgetriebenen Be
fehlspfads (14) anhält, wenn er aktiviert ist.
11. Computerschaltung nach einem der Ansprüche 8 bis 10,
dadurch gekennzeichnet, daß die Modusauswahlmittel eine Steuer
logik zum Anhalten des Betriebs des prozessorgetriebenen Be
fehlspfads (14) enthalten, die auf ein extern erzeugtes Kom
mando anspricht.
12. Computerschaltung nach einem der Ansprüche 8 bis 11,
dadurch gekennzeichnet, daß die Modusauswahlmittel ein Sondie
rungsmodus-Steuerregister (26) mit einem Befehls-Umadressier-
Flag aufweisen, das den Betrieb des prozessorgetriebenen Be
fehlspfads (14) anhält, wenn eine Fehlerbeseitigungsausnahme
während des Betriebs im prozessorgetriebenen Modus auftritt.
13. Computerschaltung nach einem der Ansprüche 8 bis 12,
gekennzeichnet durch einen Bestätigungspin (86), der ein Signal
zur Verfügung stellt, das anzeigt, ob sich der Prozessor (10)
in dem Sondierungsmodus befindet und zum Ausführen eines in dem
Sondierungsbefehlsregister (36) gespeicherten Befehls bereit
ist.
14. Mikroprozessor (10), der selektiv in einem prozessorge
triebenen Modus arbeiten kann, in welchem der Mikroprozessor
auf eine Serie von in einem Computerspeicher gespeicherten Be
fehlen anspricht, und der in einem externen Befehlsmodus arbei
ten kann, in welchem der Mikroprozessor (10) auf extern er
zeugte Befehle anspricht,
gekennzeichnet durch
Mittel (24, 30) zum Auswählen zwischen dem externen Be fehlsmodus und dem prozessorgetriebenen Modus;
eine Ausführungseinheit (20) zum Ausführen von Befehlen;
Mittel (18, 36), die einen extern erzeugten Befehl an die Ausführungseinheit (20) anlegen, wenn der externe Befehlsmodus ausgewählt ist;
Mittel (18, 14), die einen gespeicherten Befehl an die Aus führungseinheit (20) anlegen, wenn der prozessorgetriebene Mo dus ausgewählt ist;
Aktualisierungsmittel, die implizit bei ausgewähltem pro zessorgetriebenen Modus die Prozessorzustandsinformationen ak tualisieren, bevor der gespeicherte Befehl an die Ausführungs einheit (20) angelegt wird, wobei die Prozessorzustandsinforma tionen einen Befehlszeiger enthalten; und
Mittel, die ein Umgehen der Aktualisierungsmittel bewirken, wenn der externe Befehlsmodus ausgewählt ist.
Mittel (24, 30) zum Auswählen zwischen dem externen Be fehlsmodus und dem prozessorgetriebenen Modus;
eine Ausführungseinheit (20) zum Ausführen von Befehlen;
Mittel (18, 36), die einen extern erzeugten Befehl an die Ausführungseinheit (20) anlegen, wenn der externe Befehlsmodus ausgewählt ist;
Mittel (18, 14), die einen gespeicherten Befehl an die Aus führungseinheit (20) anlegen, wenn der prozessorgetriebene Mo dus ausgewählt ist;
Aktualisierungsmittel, die implizit bei ausgewähltem pro zessorgetriebenen Modus die Prozessorzustandsinformationen ak tualisieren, bevor der gespeicherte Befehl an die Ausführungs einheit (20) angelegt wird, wobei die Prozessorzustandsinforma tionen einen Befehlszeiger enthalten; und
Mittel, die ein Umgehen der Aktualisierungsmittel bewirken, wenn der externe Befehlsmodus ausgewählt ist.
15. Mikroprozessor nach Anspruch 14, dadurch gekennzeich
net, daß die Mittel (18, 14) zum Anlegen eines gespeicherten
Befehls an die Ausführungseinheit (20) ferner einen Decodierer
enthalten, der den Befehlszeiger aktualisiert, bevor der deco
dierte Befehl an die Ausführungseinheit (20) angelegt wird.
16. Mikroprozessor nach Anspruch 14 oder 15, dadurch ge
kennzeichnet, daß die Mittel (18, 36) zum Anlegen eines extern
erzeugten Befehls an die Ausführungseinheit (20) ein Befehlsre
gister (36) zum Speichern eines extern erzeugten Befehls ent
halten.
17. Mikroprozessor nach einem der Ansprüche 14 bis 16, da
durch gekennzeichnet, daß ein Bestätigungspin (86) vorgesehen
ist, der ein Signal zur Verfügung stellt, das anzeigt, ob der
Prozessor (10) sich in dem externen Befehlsmodus befindet und
zum Ausführen eines extern erzeugten Befehls bereit ist.
18. Verfahren zum Betreiben eines einen Pipeline-Befehls
fluß durch einen prozessorgetriebenen Befehlspfad aufweisenden
Mikroprozessor durch externe Befehle, wobei Zustandsinformatio
nen, einschließlich eines Befehlszeigers implizit aktualisiert
werden, bevor ein Befehl an eine Ausführungseinheit angelegt
wird,
dadurch gekennzeichnet,
daß ein ein externes Signal mit der Ausführungseinheit kop pelnder externer Befehlspfad zur Verfügung gestellt wird, über den die implizite Aktualisierung des prozessorgetriebenen Be fehlspfads umgangen wird;
daß ein Befehl über den externen Befehlspfad zur Ausführung in der Ausführungseinheit angelegt und in der Ausführungsein heit ausgeführt wird.
daß ein ein externes Signal mit der Ausführungseinheit kop pelnder externer Befehlspfad zur Verfügung gestellt wird, über den die implizite Aktualisierung des prozessorgetriebenen Be fehlspfads umgangen wird;
daß ein Befehl über den externen Befehlspfad zur Ausführung in der Ausführungseinheit angelegt und in der Ausführungsein heit ausgeführt wird.
19. Verfahren nach Anspruch 18, dadurch gekennzeichnet,
daß in dem externen Befehlspfad ein Befehlsregister zur Verfügung gestellt wird;
daß beim Anlegen des Befehls über den externen Befehlspfad der Befehl in dem Befehlsregister gespeichert wird; und
daß beim Ausführen des Befehls in der Ausführungseinheit das Befehlsregister gelesen wird.
daß in dem externen Befehlspfad ein Befehlsregister zur Verfügung gestellt wird;
daß beim Anlegen des Befehls über den externen Befehlspfad der Befehl in dem Befehlsregister gespeichert wird; und
daß beim Ausführen des Befehls in der Ausführungseinheit das Befehlsregister gelesen wird.
20. Verfahren nach Anspruch 18 oder 19, dadurch gekenn
zeichnet,
daß ein externer Datenpfad zur Verfügung gestellt wird, über den das externe Signal mit der Ausführungseinheit gekop pelt wird, wobei in dem externen Datenpfad ein Datenregister zur Verfügung gestellt wird, das in Abhängigkeit von der Steue rung durch ein externes Signal beschrieben oder gelesen wird;
daß Daten in das Datenregister gespeichert und mit Hilfe des externen Signals ausgelesen werden, wenn der Befehl die An weisung zum Lesen des Prozessorzustands oder anderer Daten aus der Ausführungseinheit enthält; und
daß mit Hilfe des externen Signals Daten in dem Datenregi ster gespeichert werden, und dann das Datenregister von der Ausführungseinheit gelesen wird, wenn der Befehl die Anweisung zum Schreiben von Daten zur Ausführungseinheit entfällt.
daß ein externer Datenpfad zur Verfügung gestellt wird, über den das externe Signal mit der Ausführungseinheit gekop pelt wird, wobei in dem externen Datenpfad ein Datenregister zur Verfügung gestellt wird, das in Abhängigkeit von der Steue rung durch ein externes Signal beschrieben oder gelesen wird;
daß Daten in das Datenregister gespeichert und mit Hilfe des externen Signals ausgelesen werden, wenn der Befehl die An weisung zum Lesen des Prozessorzustands oder anderer Daten aus der Ausführungseinheit enthält; und
daß mit Hilfe des externen Signals Daten in dem Datenregi ster gespeichert werden, und dann das Datenregister von der Ausführungseinheit gelesen wird, wenn der Befehl die Anweisung zum Schreiben von Daten zur Ausführungseinheit entfällt.
21. Verfahren nach einem der Ansprüche 8 bis 20, dadurch
gekennzeichnet, daß das Ausführen des Befehls durch Anlegen
eines extern erzeugten Kommandos an eine Steuereinheit initi
iert wird.
22. Verfahren zum Betreiben eines Mikroprozessors, dadurch
gekennzeichnet,
daß ein Betriebsmodus zum Ausführen von Befehlen ausgewählt wird, wobei der Modus ein Sondierungsmodus oder ein prozessor getriebener Modus sein kann;
daß bei Auswahl des prozessorgetriebenen Modus Befehle da durch ausgeführt werden, daß
ein Befehl aus einem Speicher herangeholt und einem Decodierer zur Verfügung gestellt wird,
der Befehl decodiert wird, um einen oder mehrere Mi krobefehle zur Verfügung zu stellen, die nacheinander an eine Ausführungseinheit angelegt werden,
Prozessorzustandsinformationen einschließlich eines Befehlszeigers aktualisiert werden und
die von dem Decodierer angelegten Mikrobefehle aus ge führt werden; und
daß bei Auswahl des Sondierungsmodus Befehle dadurch ausge führt werden, daß
ein extern erzeugter Befehl zur Verfügung gestellt wird und
der extern erzeugte Befehl ausgeführt wird, ohne den Befehlszeiger und andere Prozessorzustandsinformationen implizit zu aktualisieren.
daß ein Betriebsmodus zum Ausführen von Befehlen ausgewählt wird, wobei der Modus ein Sondierungsmodus oder ein prozessor getriebener Modus sein kann;
daß bei Auswahl des prozessorgetriebenen Modus Befehle da durch ausgeführt werden, daß
ein Befehl aus einem Speicher herangeholt und einem Decodierer zur Verfügung gestellt wird,
der Befehl decodiert wird, um einen oder mehrere Mi krobefehle zur Verfügung zu stellen, die nacheinander an eine Ausführungseinheit angelegt werden,
Prozessorzustandsinformationen einschließlich eines Befehlszeigers aktualisiert werden und
die von dem Decodierer angelegten Mikrobefehle aus ge führt werden; und
daß bei Auswahl des Sondierungsmodus Befehle dadurch ausge führt werden, daß
ein extern erzeugter Befehl zur Verfügung gestellt wird und
der extern erzeugte Befehl ausgeführt wird, ohne den Befehlszeiger und andere Prozessorzustandsinformationen implizit zu aktualisieren.
23. Verfahren nach Anspruch 22, dadurch gekennzeichnet, daß
ein Bestätigungspin aktiviert wird, wenn der Sondierungsmodus
ausgewählt wurde und der Prozessor bereit ist, einen Befehl
auszuführen.
24. Verfahren nach Anspruch 22 oder 23, dadurch gekenn
zeichnet, daß im Falle der Auswahl des Sondierungsmodus bei der
Ausführung der extern erzeugten Befehle ferner
ein extern erzeugter Befehl in einem Befehlsregister ge
speichert wird und
das Befehlsregister gelesen wird, um den gespeicherten ex
tern erzeugten Befehl auszuführen.
25. Verfahren nach einem der Ansprüche 22 bis 24, dadurch
gekennzeichnet, daß Daten aus der Ausführungseinheit in ein Da
tenregister gespeichert und dann aus dem Datenregister gelesen
werden, wenn der extern erzeugte Befehl ein Lesen der Daten aus
der Ausführungseinheit anweist.
26. Verfahren nach einem der Ansprüche 22 bis 25, dadurch
gekennzeichnet, daß Daten in ein Datenregister gespeichert und
dann die Daten aus dem Datenregister in die Ausführungseinheit
ausgelesen werden, wenn der extern erzeugte Befehl ein Schrei
ben der Daten in die Ausführungseinheit anweist.
27. Verfahren nach einem der Ansprüche 22 bis 26, dadurch
gekennzeichnet, daß die Ausführung des extern erzeugten Befehls
durch Anlegen eines extern erzeugten Kommandos an eine
Steuereinheit initiiert wird.
28. Verfahren nach einem der Ansprüche 22 bis 27, dadurch
gekennzeichnet, daß beim Auswählen des Betriebsmodus ein exter
ner Pin aktiviert und der prozessorgetriebene Befehlspfad so
gesteuert wird, daß das Heranholen, Decodieren und Aktuali
sieren des prozessorgetriebenen Modus angehalten wird.
29. Verfahren nach einem der Ansprüche 22 bis 28, dadurch
gekennzeichnet, daß beim Auswählen des Betriebsmodus ein Signal
an die Steuerlogik angelegt wird, die die Heranhol-, Decodier-
und Aktualisier-Operationen des prozessorgetriebenen Betriebs
modus anhält.
30. Verfahren nach einem der Ansprüche 22 bis 29, dadurch
gekennzeichnet, daß beim Auswählen des Betriebsmodus
ein Interrupt-Umadressier-Flag in einem Sondierungsmodus- Steuerregister gesetzt wird,
während des Betriebs in dem prozessorgetriebenen Modus eine Fehlerbeseitigungsausnahme erfaßt wird,
das Interrupt-Umadressier-Flag getestet wird, um festzu stellen, ob es gesetzt wurde, und
der Sondierungsmodus mit einer Steuerlogik ausgewählt wird, die die Heranhol-, Decodier- und Aktualisier-Operationen des prozessorgetriebenen Betriebsmodus anhält, wenn das Interrupt- Umadressier-Flag gesetzt wurde.
ein Interrupt-Umadressier-Flag in einem Sondierungsmodus- Steuerregister gesetzt wird,
während des Betriebs in dem prozessorgetriebenen Modus eine Fehlerbeseitigungsausnahme erfaßt wird,
das Interrupt-Umadressier-Flag getestet wird, um festzu stellen, ob es gesetzt wurde, und
der Sondierungsmodus mit einer Steuerlogik ausgewählt wird, die die Heranhol-, Decodier- und Aktualisier-Operationen des prozessorgetriebenen Betriebsmodus anhält, wenn das Interrupt- Umadressier-Flag gesetzt wurde.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US87464292A | 1992-04-27 | 1992-04-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE4313594A1 true DE4313594A1 (de) | 1993-10-28 |
DE4313594C2 DE4313594C2 (de) | 1998-09-17 |
Family
ID=25364236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4313594A Expired - Lifetime DE4313594C2 (de) | 1992-04-27 | 1993-04-26 | Mikroprozessor |
Country Status (5)
Country | Link |
---|---|
US (1) | US5479652B1 (de) |
JP (1) | JP2824978B2 (de) |
DE (1) | DE4313594C2 (de) |
FR (1) | FR2690539B1 (de) |
GB (1) | GB2266606B (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19952272B4 (de) * | 1998-10-30 | 2007-05-31 | Advantest Corp. | Verfahren und System zum Prüfen von auf eingebetteten Bausteinen basierenden integrierten Systemchip-Schaltungen |
Families Citing this family (178)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5848289A (en) * | 1992-11-27 | 1998-12-08 | Motorola, Inc. | Extensible central processing unit |
EP0652516A1 (de) * | 1993-11-03 | 1995-05-10 | Advanced Micro Devices, Inc. | Integrierter Mikroprozessor |
GB2289147B (en) * | 1994-04-25 | 1998-04-15 | Advanced Risc Mach Ltd | Testing data processing apparatus |
JP3313007B2 (ja) | 1995-04-14 | 2002-08-12 | 三菱電機株式会社 | マイクロコンピュータ |
US5699506A (en) * | 1995-05-26 | 1997-12-16 | National Semiconductor Corporation | Method and apparatus for fault testing a pipelined processor |
US5694589A (en) * | 1995-06-13 | 1997-12-02 | Intel Corporation | Instruction breakpoint detection apparatus for use in an out-of-order microprocessor |
JP3846939B2 (ja) * | 1995-08-30 | 2006-11-15 | フリースケール セミコンダクター インコーポレイテッド | データプロセッサ |
US5964893A (en) * | 1995-08-30 | 1999-10-12 | Motorola, Inc. | Data processing system for performing a trace function and method therefor |
US5544311A (en) * | 1995-09-11 | 1996-08-06 | Rockwell International Corporation | On-chip debug port |
WO1997015001A2 (en) * | 1995-10-06 | 1997-04-24 | Patriot Scientific Corporation | Risc microprocessor architecture |
EP0788057B1 (de) * | 1996-01-31 | 2003-05-02 | Compaq Computer Corporation | Rechnersystem mit einem Modem ohne Steuerung |
US5838897A (en) * | 1996-02-27 | 1998-11-17 | Cyrix Corporation | Debugging a processor using data output during idle bus cycles |
US5889981A (en) * | 1996-05-07 | 1999-03-30 | Lucent Technologies Inc. | Apparatus and method for decoding instructions marked with breakpoint codes to select breakpoint action from plurality of breakpoint actions |
GB9611715D0 (en) * | 1996-06-05 | 1996-08-07 | Int Computers Ltd | Peripheral device control |
US5826105A (en) * | 1996-06-10 | 1998-10-20 | Standard Microsystems Corporation | System for using an external CPU to access multifunction controller's control registers via configuration registers thereof after disabling the embedded microprocessor |
US5768152A (en) * | 1996-08-28 | 1998-06-16 | International Business Machines Corp. | Performance monitoring through JTAG 1149.1 interface |
US5887003A (en) * | 1996-09-10 | 1999-03-23 | Hewlett-Packard Company | Apparatus and method for comparing a group of binary fields with an expected pattern to generate match results |
US6003107A (en) * | 1996-09-10 | 1999-12-14 | Hewlett-Packard Company | Circuitry for providing external access to signals that are internal to an integrated circuit chip package |
US5867644A (en) * | 1996-09-10 | 1999-02-02 | Hewlett Packard Company | System and method for on-chip debug support and performance monitoring in a microprocessor |
US5881224A (en) * | 1996-09-10 | 1999-03-09 | Hewlett-Packard Company | Apparatus and method for tracking events in a microprocessor that can retire more than one instruction during a clock cycle |
US5793776A (en) * | 1996-10-18 | 1998-08-11 | Samsung Electronics Co., Ltd. | Structure and method for SDRAM dynamic self refresh entry and exit using JTAG |
US6018815A (en) * | 1996-10-18 | 2000-01-25 | Samsung Electronics Co., Ltd. | Adaptable scan chains for debugging and manufacturing test purposes |
US5805608A (en) * | 1996-10-18 | 1998-09-08 | Samsung Electronics Co., Ltd. | Clock generation for testing of integrated circuits |
US5956476A (en) * | 1996-10-31 | 1999-09-21 | Hewlett Packard Company | Circuitry and method for detecting signal patterns on a bus using dynamically changing expected patterns |
US5880671A (en) * | 1996-10-31 | 1999-03-09 | Hewlett-Packard Company | Flexible circuitry and method for detecting signal patterns on a bus |
US5983017A (en) * | 1996-11-12 | 1999-11-09 | Lsi Logic Corporation | Virtual monitor debugging method and apparatus |
US5935266A (en) * | 1996-11-15 | 1999-08-10 | Lucent Technologies Inc. | Method for powering-up a microprocessor under debugger control |
US5812562A (en) * | 1996-11-15 | 1998-09-22 | Samsung Electronics Company, Ltd. | Low cost emulation scheme implemented via clock control using JTAG controller in a scan environment |
US5956477A (en) * | 1996-11-25 | 1999-09-21 | Hewlett-Packard Company | Method for processing information in a microprocessor to facilitate debug and performance monitoring |
US6009539A (en) * | 1996-11-27 | 1999-12-28 | Hewlett-Packard Company | Cross-triggering CPUs for enhanced test operations in a multi-CPU computer system |
US5881217A (en) * | 1996-11-27 | 1999-03-09 | Hewlett-Packard Company | Input comparison circuitry and method for a programmable state machine |
US5828824A (en) * | 1996-12-16 | 1998-10-27 | Texas Instruments Incorporated | Method for debugging an integrated circuit using extended operating modes |
US6065106A (en) * | 1996-12-20 | 2000-05-16 | Texas Instruments Incorporated | Resuming normal execution by restoring without refetching instructions in multi-word instruction register interrupted by debug instructions loading and processing |
DE69728513T2 (de) * | 1996-12-20 | 2005-04-07 | Texas Instruments Inc., Dallas | Prozessortestanschluss mit Abtastketten und Datenströmung |
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 |
US6052811A (en) * | 1997-04-15 | 2000-04-18 | Intel Corporation | Method and apparatus for locating critical speed paths in integrated circuits using JTAG protocol |
JP3151808B2 (ja) * | 1997-07-16 | 2001-04-03 | 日本電気株式会社 | 集積回路装置、回路検査装置および方法 |
US6023759A (en) * | 1997-09-30 | 2000-02-08 | Intel Corporation | System for observing internal processor events utilizing a pipeline data path to pipeline internally generated signals representative of the event |
US6185703B1 (en) | 1997-10-10 | 2001-02-06 | Intel Corporation | Method and apparatus for direct access test of embedded memory |
US6356960B1 (en) | 1997-10-29 | 2002-03-12 | Sgs-Thomson Microelectronics Limited | Microprocessor having an on-chip CPU fetching a debugging routine from a memory in an external debugging device in response to a control signal received through a debugging port |
US6374367B1 (en) | 1997-11-26 | 2002-04-16 | Compaq Computer Corporation | Apparatus and method for monitoring a computer system to guide optimization |
US6549930B1 (en) | 1997-11-26 | 2003-04-15 | Compaq Computer Corporation | Method for scheduling threads in a multithreaded processor |
US6442585B1 (en) | 1997-11-26 | 2002-08-27 | Compaq Computer Corporation | Method for scheduling contexts based on statistics of memory system interactions in a computer system |
US6195748B1 (en) | 1997-11-26 | 2001-02-27 | Compaq Computer Corporation | Apparatus for sampling instruction execution information in a processor pipeline |
US5923872A (en) * | 1997-11-26 | 1999-07-13 | Digital Equipment Corporation | Apparatus for sampling instruction operand or result values in a processor pipeline |
US6237059B1 (en) | 1997-11-26 | 2001-05-22 | Compaq Computer Corporation | Method for estimating statistics of properties of memory system interactions among contexts in a computer system |
US6148396A (en) * | 1997-11-26 | 2000-11-14 | Compaq Computer Corporation | Apparatus for sampling path history in a processor pipeline |
US6119075A (en) * | 1997-11-26 | 2000-09-12 | Digital Equipment Corporation | Method for estimating statistics of properties of interactions processed by a processor pipeline |
US6092180A (en) * | 1997-11-26 | 2000-07-18 | Digital Equipment Corporation | Method for measuring latencies by randomly selected sampling of the instructions while the instruction are executed |
US6070009A (en) * | 1997-11-26 | 2000-05-30 | Digital Equipment Corporation | Method for estimating execution rates of program execution paths |
US6332178B1 (en) | 1997-11-26 | 2001-12-18 | Compaq Computer Corporation | Method for estimating statistics of properties of memory system transactions |
US6163840A (en) * | 1997-11-26 | 2000-12-19 | Compaq Computer Corporation | Method and apparatus for sampling multiple potentially concurrent instructions in a processor pipeline |
US5809450A (en) * | 1997-11-26 | 1998-09-15 | Digital Equipment Corporation | Method for estimating statistics of properties of instructions processed by a processor pipeline |
US6000044A (en) * | 1997-11-26 | 1999-12-07 | Digital Equipment Corporation | Apparatus for randomly sampling instructions in a processor pipeline |
US5964867A (en) * | 1997-11-26 | 1999-10-12 | Digital Equipment Corporation | Method for inserting memory prefetch operations based on measured latencies in a program optimizer |
US6230119B1 (en) * | 1998-02-06 | 2001-05-08 | Patrick Michael Mitchell | Integrated circuit with embedded emulator and emulation system for use with such an integrated circuit |
US5968188A (en) | 1998-03-10 | 1999-10-19 | Grammar Engine | System for providing real-time code coverage |
US6574590B1 (en) * | 1998-03-18 | 2003-06-03 | Lsi Logic Corporation | Microprocessor development systems |
EP0943995A3 (de) * | 1998-03-20 | 2000-12-06 | Texas Instruments Incorporated | Prozessor mit Echtzeit-Einfügung von externen Befehlen zur Fehlerbeseitigung ohne Fehlerbeseitigungsmonitor |
US6687865B1 (en) * | 1998-03-25 | 2004-02-03 | On-Chip Technologies, Inc. | On-chip service processor for test and debug of integrated circuits |
US6185523B1 (en) * | 1998-10-05 | 2001-02-06 | International Business Machines Corporation | Apparatus and method for computer system interrupt emulation |
US6374370B1 (en) | 1998-10-30 | 2002-04-16 | Hewlett-Packard Company | Method and system for flexible control of BIST registers based upon on-chip events |
US6543048B1 (en) * | 1998-11-02 | 2003-04-01 | Texas Instruments Incorporated | Debugger with real-time data exchange |
US6266793B1 (en) | 1999-02-26 | 2001-07-24 | Intel Corporation | JTAG boundary scan cell with enhanced testability feature |
US6233675B1 (en) * | 1999-03-25 | 2001-05-15 | Rise Technology Company | Facility to allow fast execution of and, or, and test instructions |
US6711684B1 (en) | 1999-06-08 | 2004-03-23 | General Instrument Corporation | Variable security code download for an embedded processor |
US6961930B1 (en) | 1999-09-22 | 2005-11-01 | Hewlett-Packard Development Company, L.P. | Efficient, transparent and flexible latency sampling |
US6820195B1 (en) | 1999-10-01 | 2004-11-16 | Hitachi, Ltd. | Aligning load/store data with big/little endian determined rotation distance control |
US7260745B1 (en) | 1999-10-01 | 2007-08-21 | Stmicroelectronics Ltd. | Detection of information on an interconnect |
US6772325B1 (en) * | 1999-10-01 | 2004-08-03 | Hitachi, Ltd. | Processor architecture and operation for exploiting improved branch control instruction |
US6859891B2 (en) | 1999-10-01 | 2005-02-22 | Stmicroelectronics Limited | Apparatus and method for shadowing processor information |
US6629115B1 (en) | 1999-10-01 | 2003-09-30 | Hitachi, Ltd. | Method and apparatus for manipulating vectored data |
US6557119B1 (en) | 1999-10-01 | 2003-04-29 | Stmicroelectronics Limited | Microcomputer debug architecture and method |
US7793261B1 (en) | 1999-10-01 | 2010-09-07 | Stmicroelectronics Limited | Interface for transferring debug information |
US6553460B1 (en) | 1999-10-01 | 2003-04-22 | Hitachi, Ltd. | Microprocessor having improved memory management unit and cache memory |
US6412047B2 (en) | 1999-10-01 | 2002-06-25 | Stmicroelectronics, Inc. | Coherency protocol |
US6591369B1 (en) | 1999-10-01 | 2003-07-08 | Stmicroelectronics, Ltd. | System and method for communicating with an integrated circuit |
US6629207B1 (en) | 1999-10-01 | 2003-09-30 | Hitachi, Ltd. | Method for loading instructions or data into a locked way of a cache memory |
US6601189B1 (en) | 1999-10-01 | 2003-07-29 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
US6530047B1 (en) | 1999-10-01 | 2003-03-04 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
US6298394B1 (en) | 1999-10-01 | 2001-10-02 | Stmicroelectronics, Ltd. | System and method for capturing information on an interconnect in an integrated circuit |
US6487683B1 (en) | 1999-10-01 | 2002-11-26 | Stmicroelectronics Limited | Microcomputer debug architecture and method |
US6826191B1 (en) | 1999-10-01 | 2004-11-30 | Stmicroelectronics Ltd. | Packets containing transaction attributes |
US6408381B1 (en) | 1999-10-01 | 2002-06-18 | Hitachi, Ltd. | Mechanism for fast access to control space in a pipeline processor |
US6693914B1 (en) | 1999-10-01 | 2004-02-17 | Stmicroelectronics, Inc. | Arbitration mechanism for packet transmission |
US6598128B1 (en) | 1999-10-01 | 2003-07-22 | Hitachi, Ltd. | Microprocessor having improved memory management unit and cache memory |
US6502210B1 (en) | 1999-10-01 | 2002-12-31 | Stmicroelectronics, Ltd. | Microcomputer debug architecture and method |
US6684348B1 (en) | 1999-10-01 | 2004-01-27 | Hitachi, Ltd. | Circuit for processing trace information |
JP2001142692A (ja) * | 1999-10-01 | 2001-05-25 | Hitachi Ltd | 2つの異なる固定長命令セットを実行するマイクロプロセッサ、マイクロコンピュータおよび命令実行方法 |
US6434665B1 (en) | 1999-10-01 | 2002-08-13 | Stmicroelectronics, Inc. | Cache memory store buffer |
US6449712B1 (en) | 1999-10-01 | 2002-09-10 | Hitachi, Ltd. | Emulating execution of smaller fixed-length branch/delay slot instructions with a sequence of larger fixed-length instructions |
US6665816B1 (en) | 1999-10-01 | 2003-12-16 | Stmicroelectronics Limited | Data shift register |
US6732307B1 (en) | 1999-10-01 | 2004-05-04 | Hitachi, Ltd. | Apparatus and method for storing trace information |
US6918065B1 (en) | 1999-10-01 | 2005-07-12 | Hitachi, Ltd. | Method for compressing and decompressing trace information |
US6615370B1 (en) | 1999-10-01 | 2003-09-02 | Hitachi, Ltd. | Circuit for storing trace information |
US6567932B2 (en) | 1999-10-01 | 2003-05-20 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
US6928073B2 (en) * | 1999-10-01 | 2005-08-09 | Stmicroelectronics Ltd. | Integrated circuit implementing packet transmission |
US6457118B1 (en) | 1999-10-01 | 2002-09-24 | Hitachi Ltd | Method and system for selecting and using source operands in computer system instructions |
US6633971B2 (en) | 1999-10-01 | 2003-10-14 | Hitachi, Ltd. | Mechanism for forward data in a processor pipeline using a single pipefile connected to the pipeline |
US6460174B1 (en) | 1999-10-01 | 2002-10-01 | Stmicroelectronics, Ltd. | Methods and models for use in designing an integrated circuit |
US6701405B1 (en) | 1999-10-01 | 2004-03-02 | Hitachi, Ltd. | DMA handshake protocol |
US6542983B1 (en) | 1999-10-01 | 2003-04-01 | Hitachi, Ltd. | Microcomputer/floating point processor interface and method |
US6574651B1 (en) | 1999-10-01 | 2003-06-03 | Hitachi, Ltd. | Method and apparatus for arithmetic operation on vectored data |
US6598177B1 (en) | 1999-10-01 | 2003-07-22 | Stmicroelectronics Ltd. | Monitoring error conditions in an integrated circuit |
US6779145B1 (en) | 1999-10-01 | 2004-08-17 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
US6412043B1 (en) | 1999-10-01 | 2002-06-25 | Hitachi, Ltd. | Microprocessor having improved memory management unit and cache memory |
US6463553B1 (en) | 1999-10-01 | 2002-10-08 | Stmicroelectronics, Ltd. | Microcomputer debug architecture and method |
US7000078B1 (en) * | 1999-10-01 | 2006-02-14 | Stmicroelectronics Ltd. | System and method for maintaining cache coherency in a shared memory system |
US7072817B1 (en) | 1999-10-01 | 2006-07-04 | Stmicroelectronics Ltd. | Method of designing an initiator in an integrated circuit |
US6351803B2 (en) | 1999-10-01 | 2002-02-26 | Hitachi Ltd. | Mechanism for power efficient processing in a pipeline processor |
US7266728B1 (en) | 1999-10-01 | 2007-09-04 | Stmicroelectronics Ltd. | Circuit for monitoring information on an interconnect |
US6349371B1 (en) | 1999-10-01 | 2002-02-19 | Stmicroelectronics Ltd. | Circuit for storing information |
US6590907B1 (en) | 1999-10-01 | 2003-07-08 | Stmicroelectronics Ltd. | Integrated circuit with additional ports |
US6546480B1 (en) | 1999-10-01 | 2003-04-08 | Hitachi, Ltd. | Instructions for arithmetic operations on vectored data |
US6675374B2 (en) | 1999-10-12 | 2004-01-06 | Hewlett-Packard Development Company, L.P. | Insertion of prefetch instructions into computer program code |
US6378092B1 (en) * | 1999-10-15 | 2002-04-23 | Hewlett-Packard Company | Integrated circuit testing |
US6367032B1 (en) * | 1999-10-21 | 2002-04-02 | Sony Corporation Of Japan | Method and system for debugging a microprocessor core |
JP4190114B2 (ja) * | 1999-11-10 | 2008-12-03 | 株式会社ルネサステクノロジ | マイクロコンピュータ |
US6643800B1 (en) * | 2000-02-02 | 2003-11-04 | Hewlett-Packard Development Company, L.P. | Method and apparatus for testing microarchitectural features by using tests written in microcode |
US6348811B1 (en) | 2000-06-28 | 2002-02-19 | Intel Corporation | Apparatus and methods for testing simultaneous bi-directional I/O circuits |
US6377103B1 (en) | 2000-06-28 | 2002-04-23 | Intel Corporation | Symmetric, voltage-controlled CMOS delay cell with closed-loop replica bias |
US6348826B1 (en) | 2000-06-28 | 2002-02-19 | Intel Corporation | Digital variable-delay circuit having voltage-mixing interpolator and methods of testing input/output buffers using same |
US7765095B1 (en) | 2000-10-26 | 2010-07-27 | Cypress Semiconductor Corporation | Conditional branching in an in-circuit emulation system |
US8149048B1 (en) | 2000-10-26 | 2012-04-03 | Cypress Semiconductor Corporation | Apparatus and method for programmable power management in a programmable analog circuit block |
US7127630B1 (en) | 2000-10-26 | 2006-10-24 | Cypress Semiconductor Corp. | Method for entering circuit test mode |
US8103496B1 (en) | 2000-10-26 | 2012-01-24 | Cypress Semicondutor Corporation | Breakpoint control in an in-circuit emulation system |
US6724220B1 (en) | 2000-10-26 | 2004-04-20 | Cyress Semiconductor Corporation | Programmable microcontroller architecture (mixed analog/digital) |
US8176296B2 (en) | 2000-10-26 | 2012-05-08 | Cypress Semiconductor Corporation | Programmable microcontroller architecture |
US6823282B1 (en) * | 2000-10-26 | 2004-11-23 | Cypress Semiconductor Corporation | Test architecture for microcontroller providing for a serial communication interface |
US8160864B1 (en) | 2000-10-26 | 2012-04-17 | Cypress Semiconductor Corporation | In-circuit emulator and pod synchronized boot |
US6754867B2 (en) | 2000-12-28 | 2004-06-22 | Intel Corporation | Method of determining non-accessible device I/O pin speed using on chip LFSR and MISR as data source and results analyzer respectively |
US7180352B2 (en) * | 2001-06-28 | 2007-02-20 | Intel Corporation | Clock recovery using clock phase interpolator |
US7406674B1 (en) | 2001-10-24 | 2008-07-29 | Cypress Semiconductor Corporation | Method and apparatus for generating microcontroller configuration information |
US7009416B1 (en) * | 2001-10-29 | 2006-03-07 | Juniper Networks, Inc. | Systems and methods for monitoring integrated circuit internal states |
US8078970B1 (en) | 2001-11-09 | 2011-12-13 | Cypress Semiconductor Corporation | Graphical user interface with user-selectable list-box |
US8042093B1 (en) | 2001-11-15 | 2011-10-18 | Cypress Semiconductor Corporation | System providing automatic source code generation for personalization and parameterization of user modules |
US8069405B1 (en) | 2001-11-19 | 2011-11-29 | Cypress Semiconductor Corporation | User interface for efficiently browsing an electronic document using data-driven tabs |
US7844437B1 (en) | 2001-11-19 | 2010-11-30 | Cypress Semiconductor Corporation | System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit |
US7770113B1 (en) | 2001-11-19 | 2010-08-03 | Cypress Semiconductor Corporation | System and method for dynamically generating a configuration datasheet |
US6971004B1 (en) | 2001-11-19 | 2005-11-29 | Cypress Semiconductor Corp. | System and method of dynamically reconfiguring a programmable integrated circuit |
US7774190B1 (en) | 2001-11-19 | 2010-08-10 | Cypress Semiconductor Corporation | Sleep and stall in an in-circuit emulation system |
US8103497B1 (en) | 2002-03-28 | 2012-01-24 | Cypress Semiconductor Corporation | External interface for event architecture |
US7308608B1 (en) | 2002-05-01 | 2007-12-11 | Cypress Semiconductor Corporation | Reconfigurable testing system and method |
US6971045B1 (en) * | 2002-05-20 | 2005-11-29 | Cyress Semiconductor Corp. | Reducing tester channels for high pinout integrated circuits |
US7761845B1 (en) | 2002-09-09 | 2010-07-20 | Cypress Semiconductor Corporation | Method for parameterizing a user module |
US7305586B2 (en) * | 2003-04-25 | 2007-12-04 | International Business Machines Corporation | Accessing and manipulating microprocessor state |
US7296187B1 (en) * | 2003-07-14 | 2007-11-13 | Zilog, Inc. | Hardware debug device having script-based host interface |
US7437623B2 (en) * | 2003-11-05 | 2008-10-14 | Texas Instruments Incorporated | Apparatus and method for performing speculative reads from a scan control unit using FIFO buffer units |
US7457986B2 (en) * | 2003-11-05 | 2008-11-25 | Texas Instruments Incorporated | Apparatus and method for using variable end state delay to optimize JTAG transactions |
US7434205B1 (en) | 2004-02-19 | 2008-10-07 | Steenhagen Shawn K | Virtual type interpretation, interaction and detection |
US7295049B1 (en) | 2004-03-25 | 2007-11-13 | Cypress Semiconductor Corporation | Method and circuit for rapid alignment of signals |
US8069436B2 (en) | 2004-08-13 | 2011-11-29 | Cypress Semiconductor Corporation | Providing hardware independence to automate code generation of processing device firmware |
US8286125B2 (en) | 2004-08-13 | 2012-10-09 | Cypress Semiconductor Corporation | Model for a hardware device-independent method of defining embedded firmware for programmable systems |
US7332976B1 (en) | 2005-02-04 | 2008-02-19 | Cypress Semiconductor Corporation | Poly-phase frequency synthesis oscillator |
US7840845B2 (en) * | 2005-02-18 | 2010-11-23 | Intel Corporation | Method and system for setting a breakpoint |
JP4211751B2 (ja) * | 2005-03-25 | 2009-01-21 | セイコーエプソン株式会社 | 集積回路装置 |
US7400183B1 (en) | 2005-05-05 | 2008-07-15 | Cypress Semiconductor Corporation | Voltage controlled oscillator delay cell and method |
US8089461B2 (en) | 2005-06-23 | 2012-01-03 | Cypress Semiconductor Corporation | Touch wake for electronic devices |
US8085067B1 (en) | 2005-12-21 | 2011-12-27 | Cypress Semiconductor Corporation | Differential-to-single ended signal converter circuit and method |
US8067948B2 (en) | 2006-03-27 | 2011-11-29 | Cypress Semiconductor Corporation | Input/output multiplexer bus |
US8245199B2 (en) * | 2006-05-05 | 2012-08-14 | International Business Machines Corporation | Selectively marking and executing instrumentation code |
US7783866B2 (en) * | 2006-05-05 | 2010-08-24 | International Business Machines Corporation | Method and apparatus for executing instrumentation code using processor instructions |
US8130025B2 (en) | 2007-04-17 | 2012-03-06 | Cypress Semiconductor Corporation | Numerical band gap |
US8040266B2 (en) | 2007-04-17 | 2011-10-18 | Cypress Semiconductor Corporation | Programmable sigma-delta analog-to-digital converter |
US7737724B2 (en) | 2007-04-17 | 2010-06-15 | Cypress Semiconductor Corporation | Universal digital block interconnection and channel routing |
US8516025B2 (en) | 2007-04-17 | 2013-08-20 | Cypress Semiconductor Corporation | Clock driven dynamic datapath chaining |
US8092083B2 (en) | 2007-04-17 | 2012-01-10 | Cypress Semiconductor Corporation | Temperature sensor with digital bandgap |
US8026739B2 (en) | 2007-04-17 | 2011-09-27 | Cypress Semiconductor Corporation | System level interconnect with programmable switching |
US9564902B2 (en) | 2007-04-17 | 2017-02-07 | Cypress Semiconductor Corporation | Dynamically configurable and re-configurable data path |
US8065653B1 (en) | 2007-04-25 | 2011-11-22 | Cypress Semiconductor Corporation | Configuration of programmable IC design elements |
US9720805B1 (en) | 2007-04-25 | 2017-08-01 | Cypress Semiconductor Corporation | System and method for controlling a target device |
US8266575B1 (en) | 2007-04-25 | 2012-09-11 | Cypress Semiconductor Corporation | Systems and methods for dynamically reconfiguring a programmable system on a chip |
US8049569B1 (en) | 2007-09-05 | 2011-11-01 | Cypress Semiconductor Corporation | Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes |
US9448964B2 (en) | 2009-05-04 | 2016-09-20 | Cypress Semiconductor Corporation | Autonomous control in a programmable system |
US9785508B2 (en) | 2014-09-10 | 2017-10-10 | Nxp Usa, Inc. | Method and apparatus for configuring I/O cells of a signal processing IC device into a safe state |
JP6338114B2 (ja) | 2015-06-25 | 2018-06-06 | 京セラドキュメントソリューションズ株式会社 | Icチップ |
US9810739B2 (en) * | 2015-10-27 | 2017-11-07 | Andes Technology Corporation | Electronic system, system diagnostic circuit and operation method thereof |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4399505A (en) * | 1981-02-06 | 1983-08-16 | Data General Corporaton | External microcode operation in a multi-level microprocessor |
Family Cites Families (64)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3639911A (en) * | 1970-06-10 | 1972-02-01 | Incoterm | Digital processor having automatic conflict-resolving logic |
US3805245A (en) * | 1972-04-11 | 1974-04-16 | Ibm | I/o device attachment for a computer |
US3937938A (en) * | 1974-06-19 | 1976-02-10 | Action Communication Systems, Inc. | Method and apparatus for assisting in debugging of a digital computer program |
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 |
US4236204A (en) * | 1978-03-13 | 1980-11-25 | Motorola, Inc. | Instruction set modifier register |
US4200912A (en) * | 1978-07-31 | 1980-04-29 | Motorola, Inc. | Processor interrupt system |
US4422141A (en) * | 1979-07-30 | 1983-12-20 | Bell Telephone Laboratories, Incorporated | Microprocessor architecture for improved chip testability |
JPS5660959A (en) * | 1979-10-23 | 1981-05-26 | Toshiba Corp | Diagnostic system |
IT1126475B (it) * | 1979-12-03 | 1986-05-21 | Honeywell Inf Systems | Apparato di comunicazione tra piu' processori |
US4312066A (en) * | 1979-12-28 | 1982-01-19 | International Business Machines Corporation | Diagnostic/debug machine architecture |
JPS56115525A (en) * | 1980-02-18 | 1981-09-10 | Chiyou Lsi Gijutsu Kenkyu Kumiai | Manufacture of semiconductor device |
US4350904A (en) * | 1980-09-22 | 1982-09-21 | Bell Telephone Laboratories, Incorporated | Current source with modified temperature coefficient |
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 |
US4455622A (en) * | 1982-03-05 | 1984-06-19 | Burroughs Corporation | Bit-oriented line adapter system |
US4680698A (en) * | 1982-11-26 | 1987-07-14 | Inmos Limited | High density ROM in separate isolation well on single with chip |
JPS59208657A (ja) * | 1983-05-13 | 1984-11-27 | Matsushita Electric Ind Co Ltd | 内部テスト機能を有するlsiマイクロプロセツサ |
US4644494A (en) * | 1984-02-06 | 1987-02-17 | Sundstrand Data Control, Inc. | Solid state memory for aircraft flight data recorder systems |
EP0153764B1 (de) * | 1984-03-02 | 1993-11-03 | Nec Corporation | Informationsverarbeitungseinheit mit Unterbrechungsfunktion |
US4719565A (en) * | 1984-11-01 | 1988-01-12 | Advanced Micro Devices, Inc. | Interrupt and trap handling in microprogram sequencer |
US4734882A (en) * | 1985-04-01 | 1988-03-29 | Harris Corp. | Multilevel interrupt handling scheme |
US5027273A (en) * | 1985-04-10 | 1991-06-25 | Microsoft Corporation | Method and operating system for executing programs in a multi-mode microprocessor |
US4674089A (en) * | 1985-04-16 | 1987-06-16 | Intel Corporation | In-circuit emulator |
US4720811A (en) * | 1985-04-26 | 1988-01-19 | Hitachi, Ltd. | Microprocessor capable of stopping its operation at any cycle time |
JPS625446A (ja) * | 1985-07-01 | 1987-01-12 | Hitachi Ltd | マイクロプロセツサの制御方法および装置 |
US4677586A (en) * | 1985-06-04 | 1987-06-30 | Texas Instruments Incorporated | Microcomputer device having test mode substituting external RAM for internal RAM |
JPS6168647A (ja) * | 1985-09-20 | 1986-04-09 | Nec Corp | データ処理装置 |
US5036453A (en) * | 1985-12-12 | 1991-07-30 | Texas Instruments Incorporated | Master/slave sequencing processor |
US4907150A (en) * | 1986-01-17 | 1990-03-06 | International Business Machines Corporation | Apparatus and method for suspending and resuming software applications on a computer |
US5125088A (en) * | 1986-09-08 | 1992-06-23 | Compaq Computer Corporation | Computer system speed control at continuous processor speed |
JPH06103472B2 (ja) * | 1986-10-29 | 1994-12-14 | 日本電気株式会社 | デバツグ用マイクロプロセツサ |
EP0273070B1 (de) * | 1986-12-30 | 1992-04-29 | International Business Machines Corporation | Einrichtung und Verfahren zur Erweiterung des Befehlssatzes und der Funktionen eines Rechners |
JPS63240639A (ja) * | 1987-03-27 | 1988-10-06 | Nec Corp | マイクロコンピユ−タ |
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 |
US5263143A (en) * | 1988-07-11 | 1993-11-16 | Star Semiconductor Corporation | Real time probe device for internals of signal processor |
US4945536A (en) * | 1988-09-09 | 1990-07-31 | Northern Telecom Limited | Method and apparatus for testing digital systems |
JPH02105942A (ja) * | 1988-10-14 | 1990-04-18 | Nec Corp | マイクロコンピュータ |
JPH031231A (ja) * | 1989-02-09 | 1991-01-07 | Nec Corp | マイクロプログラム制御装置 |
JPH0719215B2 (ja) * | 1989-06-01 | 1995-03-06 | 三菱電機株式会社 | マイクロプロセッサ |
US4949360A (en) * | 1989-08-08 | 1990-08-14 | International Business Machines Corporation | Synchronizing circuit |
US5136714A (en) * | 1989-12-04 | 1992-08-04 | International Business Machines Corporation | Method and apparatus for implementing inter-processor interrupts using shared memory storage in a multi-processor computer system |
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 |
JPH03217988A (ja) * | 1990-01-23 | 1991-09-25 | Matsushita Electric Ind Co Ltd | 1チップマイクロコンピュータ |
JP2526688B2 (ja) * | 1990-02-22 | 1996-08-21 | 三菱電機株式会社 | プログラマブルコントロ―ラおよびシ―ケンスプログラムの部分実行方法 |
US5228039A (en) * | 1990-05-09 | 1993-07-13 | Applied Microsystems Corporation | Source-level in-circuit software code debugging instrument |
US5265005A (en) * | 1990-08-31 | 1993-11-23 | Allen-Bradley Company, Inc. | Processor for a programmable controller |
US5175853A (en) * | 1990-10-09 | 1992-12-29 | Intel Corporation | Transparent system interrupt |
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 |
GB9111179D0 (en) * | 1991-05-23 | 1991-07-17 | Motorola Gmbh | An implementation of the ieee 1149.1 boundary-scan architecture |
US5636363A (en) * | 1991-06-14 | 1997-06-03 | Integrated Device Technology, Inc. | Hardware control structure and method for off-chip monitoring entries of an on-chip cache |
US5274826A (en) * | 1991-08-30 | 1993-12-28 | Intel Corporation | Transparent system interrupts with automated input/output trap restart |
US5274834A (en) * | 1991-08-30 | 1993-12-28 | Intel Corporation | Transparent system interrupts with integrated extended memory addressing |
US5291604A (en) * | 1991-08-30 | 1994-03-01 | Intel Corporation | Transparent system interrupts with automated halt state restart |
US5353424A (en) * | 1991-11-19 | 1994-10-04 | Digital Equipment Corporation | Fast tag compare and bank select in set associative cache |
DE4309532C2 (de) * | 1992-03-25 | 1996-10-31 | Intel Corp | Verfahren zum Sichern einer Systemabbildung eines Computersystems auf einer permanenten Speichereinrichtung sowie ein Computersystem |
-
1992
- 1992-08-28 GB GB9218391A patent/GB2266606B/en not_active Expired - Lifetime
- 1992-11-06 FR FR9213374A patent/FR2690539B1/fr not_active Expired - Fee Related
-
1993
- 1993-01-06 JP JP5015867A patent/JP2824978B2/ja not_active Expired - Fee Related
- 1993-04-26 DE DE4313594A patent/DE4313594C2/de not_active Expired - Lifetime
-
1994
- 1994-10-21 US US08327229 patent/US5479652B1/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4399505A (en) * | 1981-02-06 | 1983-08-16 | Data General Corporaton | External microcode operation in a multi-level microprocessor |
Non-Patent Citations (1)
Title |
---|
US-Z: "Computer Design", April 1985, S. 157-162 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19952272B4 (de) * | 1998-10-30 | 2007-05-31 | Advantest Corp. | Verfahren und System zum Prüfen von auf eingebetteten Bausteinen basierenden integrierten Systemchip-Schaltungen |
Also Published As
Publication number | Publication date |
---|---|
FR2690539B1 (fr) | 1995-10-13 |
US5479652B1 (en) | 2000-05-02 |
JP2824978B2 (ja) | 1998-11-18 |
FR2690539A1 (fr) | 1993-10-29 |
JPH05334114A (ja) | 1993-12-17 |
US5479652A (en) | 1995-12-26 |
GB9218391D0 (en) | 1992-10-14 |
DE4313594C2 (de) | 1998-09-17 |
GB2266606B (en) | 1996-02-14 |
GB2266606A (en) | 1993-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4313594C2 (de) | Mikroprozessor | |
DE3903835C2 (de) | ||
DE2953432C1 (de) | Vorrichtung zum Testen eines Mikroprogramms | |
DE2722099C2 (de) | ||
DE60212271T2 (de) | Eingebauter Selbsttest mit eingebautem Speicher und Prozessor in einer ASIC Vorrichtung | |
DE102006009224B4 (de) | Auswahl eines Testalgorithmus in einer Steuerung für eingebauten Speicherselbsttest | |
US6052774A (en) | Apparatus and method for identifying exception routines indicated by instruction address issued with an instruction fetch command | |
DE69919404T2 (de) | On-line fehlerbeseitigungs- und ablaufverfolgungssytem und verfahren | |
DE69720821T2 (de) | Fehlersuchsystem für Programme mit einer graphischen Benutzerschnittstelle | |
DE60023882T2 (de) | System auf einem Chip mit reprogrammierbarem Testgerät, Fehlerbeseitiger und Busüberwachung | |
DE4206062C2 (de) | Pipelineverarbeitung von Instruktionen | |
DE19831761A1 (de) | Prüfung einer integrierten Schaltungsvorrichtung während der Anbringung an einer Leiterplatte | |
DE19834191C2 (de) | Integrierte Schaltungsvorrichtung und ihr Steuerverfahren | |
DE4311441C2 (de) | Verfahren zum Betreiben eines Mikroprozessors mit einem externen Anschluß | |
DE4418892C2 (de) | Mikrocomputer | |
DE102004009693A1 (de) | Technik zum Kombinieren eines Abtasttests und eines eingebauten Speicherselbsttests | |
DE4329336A1 (de) | Einrichtung und Verfahren zur Identifizierung eines Computer-Mikroprozessors | |
EP1720100A1 (de) | Verfahren und Vorrichtung zur Emulation einer programmierbaren Einheit | |
DE102009019961A1 (de) | Vorrichtung, Systeme und Verfahren zum effizienten Verwenden von Hardware-Ressourcen für einen Softwaretest | |
DE102006019292A1 (de) | Modellieren programmierbarer Einrichtungen | |
EP0104635A2 (de) | Verfahren und Anordnung zum Prüfen eines digitalen Rechners | |
WO2004049159A2 (de) | Einrichtung und verfahren zur analyse von eingebetteten systemen | |
DE102004034766A1 (de) | Fehlererfassungsverfahren und System für Prozessoren, das verriegelungsschrittweise betriebene gleichzeitige Teilprozesse verwendet | |
DE2461592C3 (de) | Anordnung zur Durchführung von Wartungsoperationen bei einem Datenverarbeitungssystem | |
EP2962205A1 (de) | Mehrkern-prozessorsystem mit fehleranalysefunktion |
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 |