DE4313594C2 - Mikroprozessor - Google Patents
MikroprozessorInfo
- Publication number
- DE4313594C2 DE4313594C2 DE4313594A DE4313594A DE4313594C2 DE 4313594 C2 DE4313594 C2 DE 4313594C2 DE 4313594 A DE4313594 A DE 4313594A DE 4313594 A DE4313594 A DE 4313594A DE 4313594 C2 DE4313594 C2 DE 4313594C2
- Authority
- DE
- Germany
- Prior art keywords
- command
- mode
- processor
- external
- microprocessor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 239000000523 sample Substances 0.000 claims abstract description 75
- 238000000034 method Methods 0.000 claims description 34
- 238000012790 confirmation Methods 0.000 claims description 10
- 230000006870 function Effects 0.000 claims description 8
- 230000000977 initiatory effect Effects 0.000 claims 1
- 238000012360 testing method Methods 0.000 abstract description 23
- 238000012986 modification Methods 0.000 abstract description 3
- 230000004048 modification Effects 0.000 abstract description 3
- 238000011161 development Methods 0.000 description 5
- 230000018109 developmental process Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000003379 elimination reaction 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
- 230000008030 elimination Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013024 troubleshooting Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000005755 formation reaction Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 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
- 229940036310 program Drugs 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
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 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 einen Mikroprozessor nach
dem Oberbegriff des Patentanspruchs 1 sowie auf ein Verfah
ren zum Betreiben eines Mikroprozessors nach dem Oberbegriff
des Patentanspruchs 10.
Ein Mikroprozessor ist das Herz der meisten gegenwärtig
gebräuchlichen Computer und bildet einen zentralen Ort für
viele Funktionen, welche durch Ausführen einer Serie von Be
fehlen realisiert werden. Mikroprozessoren weisen charakte
ristischerweise eine Steuereinheit zum Überwachen und Leiten
der Funktionseinheiten auf, welche gemeinsam Befehle
ausführen. Insbesondere überwacht und steuert die Steuer
einheit den Befehlsfluß durch die Stufen der Verarbeitung.
Die auszuführenden Befehle sind im allgemeinen in einem Com
puterspeicher, wie beispielsweise 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 Befehle werden dann ggf.
decodiert und an eine Ausführungseinheit angelegt. Die Aus
führungseinheit kann eine Anzahl von Mehrzweckregistern,
eine arithmetische Einheit (ALU), Steuerregister und Steu
erlogik enthalten. Die in den Registern gespeicherten Daten,
welche insgesamt den "Prozessorzustand" repräsentieren,
werden oftmals während des Betriebs der Ausführungseinheit
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 di
rekter Zugriff auf die Ausführungseinheit im allgemeinen in
folge der damit verbundenen Verringerung der Leistungsfähig
keit und der sich ergebenden Kosten nicht praktikabel, ins
besondere bei einem massenhaft produzierten Mikroprozessor.
Zusätzlich zur Untersuchung und Modifizierung des Pro
zessorzustands 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 wäre diese Fähigkeit
vorteilhaft, um Interaktionen zwischen den vielen inte
grierten Schaltungen, Peripheriekomponenten und dem Mikro
prozessor zu analysieren. Bei der Entwicklung von Software
auf Systemebene und von Anwendungsprogrammen, die auf dem
System abgearbeitet werden sollen, kann die Fähigkeit,
Kenntnisse über den Prozessorzustand zu erhalten, die Bemü
hungen bei der Beseitigung von Fehlern beträchtlich er
leichtern.
Beim Entwurf eines einen Mikroprozessor verwendenden
Computers oder bei der Beseitigung der vielen unvermeidbar
während der Entwicklung eines Computerprodukts auftretenden
Probleme kann ein In-Circuit-Emulator (ICE) verwendet wer
den. Ein In-Circuit-Emulator ist ein speziell konstruiertes
Werkzeug, das die Funktionen des von ihm zu unterstützenden
Mikroprozessors nachbildet und zusätzliche eingebaute Merk
male aufweist, die die Bemühungen zur Fehlerbeseitigung be
trächtlich erleichtern. Im Betrieb wird ein In-Circuit-Emu
lator physisch anstelle des Mikroprozessors in dessen Steck
platz auf der Leiterplatte eingesetzt. In-Circuit-Emulatoren
implementieren einen alternativen Speicherraum, der
verwendet wird, um den Prozessorzustand und andere für die
spätere Analyse relevante Daten zu speichern. In-Circuit-
Emulatoren haben Nachteile, insbesondere höhere Kosten pro
Einheit im Vergleich zu den massenhaft produzierten Mikro
prozessoren; sie sind nicht in der Lage, ein Problem inner
halb des Mikroprozessors selbst zu erkennen, und verursachen
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
Verbindungen 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 In
formationen werden in einem alternativen Adreßraum gespei
chert. Mit zunehmend kleineren Geometrien und höheren Dich
ten wird es unpraktikabel, einen Stift für jeden Draht der
Schaltung vorzusehen. Darüber hinaus 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 Randabtastungsschal
tung (boundary scan circuit) schlängelt sich eine einfache
serielle Verbindung durch die gesamte 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 Aus
führung eines Programms durch einen Anwender auftreten. Bei
spielsweise kann es vorkommen, daß der Mikroprozessor ein
fach anhält, oder daß er sinnlose Daten ausgibt oder Daten
im Speicher zerstört. Die Lokalisierung der Ursache eines
solchen Problems kann extrem schwierig sein. Um den Anwen
dungsprogrammierer bei seinen Entwicklungsanstrengungen zu
unterstützen, wurden Fehlerbeseitigungswerkzeuge entwickelt.
Die Fehlerbeseitigungswerkzeuge können in die Hardware eines
Computers eingebaut sein, oder sie können eine Software-
Hardware-Kombination enthalten.
Manchmal bezieht sich der Fehler auf die Software, und
es kann ein Software-Debugger ausreichend sein, um die Ursa
che des Fehlers zu isolieren. Software-Debugger sind Maschi
nencodeprogramme, 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 Programmabarbeitung in einen Fehlerbeseiti
gungsmodus. Da der normale Ablauf der Programmabarbeitung
von einem Unterbrechungspunkt unterbrochen wird, ist dieser
oftmals wie ein Interrupt implementiert.
Software-Debugger können in einigen Fällen für eine Feh
lerbeseitigung ausreichend sein; wenn jedoch das System
nicht betriebsfähig ist, können die Debugger-Programme nicht
abgearbeitet werden. Darüber hinaus 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än
gige Probleme brauchbar, bei welchen die zeitliche Synchro
nisation wichtig ist. Wenn ein solches Problem auftritt, er
fordert eine vollständige Analyse im allgemeinen zusätzliche
Hardware, wie beispielsweise einen In-Circuit-Emulator oder
einen anderen Hardware-Debugger.
Wenn ein Mikroprozessor eines installierten Computer
systems eine Störungssuche oder Fehlerbeseitigung erforder
lich macht, kann ein Serviceruf erforderlich sein. Das Er
gebnis eines Servicerufs 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 diagno
stiziert werden kann.
Aus der US-Patentschrift 4,399,505 ist ein Computer
system bekannt, bei dem eine CPU entweder eigene Befehle
oder Befehle einer externen Einheit empfängt und ausführt.
Dieser Prozessor ist jedoch nicht geeignet, zu Diagnose
zwecken von außen genauer untersucht zu werden. Ein Artikel
der US-Zeitschrift "Computer-Design", April 1985, S. 157-162,
beschreibt ein Computersystem, bei dem der Prozessor
zustand untersucht werden kann. Dazu müssen vier zusätzliche
Pins, zusätzliche Register zum Zwischenspeichern aller Regi
sterwerte des Prozessors und ein zusätzlicher Multiplexer
vorgesehen werden.
Aufgabe der Erfindung ist es, einen Mikroprozessor mit
Hilfe von Testbefehlen und Testdaten untersuchen zu können,
ohne den Zustand des im normalen Betrieb verwendeten Be
fehlspfades zu ändern.
Diese Aufgabe wird erfindungsgemäß durch einen Mikropro
zessor mit den Merkmalen des Patentanspruchs 1 bzw. ein
Verfahren mit den Merkmalen des Patentanspruchs 10 gelöst.
Die Erfindung schafft einen externen Befehlsmodus zum
direkten Zugreifen auf den Prozessorzustand und die Ausfüh
rungseinheit in Abhängigkeit von extern erzeugten Kommandos
und Befehlen. Ein Vorteil des externen Befehlsmodus ist die
verbesserte Testbarkeit des Mikroprozessors. Auch schafft
der externe Befehlsmodus eine Möglichkeit, den Betrieb des
Mikroprozessors zu überwachen. Ein Systementwickler oder
Wartungsingenieur kann den Prozessorzustand überprüfen und
modifizieren, ohne dabei die Inhalte der Register zu beein
flussen, einschließlich der Register, die nur für ein Pro
gramm auf einem Supervisorniveau oder ein privilegiertes
Programm sichtbar wären. Im bevorzugten Ausführungsbeispiel
kann auf sämtliche Register und Zähler zugegriffen werden.
Außerdem kann der Benutzer die Inhalte des Speichers und des
I/O-Raumes überprüfen und modifizieren. Es sind Befehle vor
gesehen, um auf die Gleitkommaeinheit und beliebige andere
parallele Verarbeitungseinheiten zuzugreifen. Auch kann je
der von der Ausführungseinheit ausführbare Befehl über den
externen Befehlsmodus ausgeführt werden.
Der externe Befehlsmodus ermöglicht einen direkten Zu
griff auf die Ausführungseinheit und vermeidet ein implizi
tes Aktualisieren, das den Zustand des Prozessors beein
flussen und folglich ein Sichern des Prozessorzustands er
fordern würde. Weil der Prozessorzustand nicht geändert
wird, ist die Notwendigkeit zum Sichern des Prozessorzu
stands in einen alternativen Speicher beseitigt. Ein anderer
Vorteil ist die Verwendung von herkömmlichen, bereits für
einen anderen Zweck auf dem Chip vorhandenen Schaltungen mit
geringen Modifikationen und die Verwendung eines Standard-
Kommunikationsprotokolls, das mit Serienkomponenten
implementiert werden kann. Im bevorzugten Ausführungsbei
spiel werden die externen Kommandos und Befehle über einen
Standard-Test-Zugriffs-Port (TAP - Test Access Port) zuge
führt, der entsprechend dem Randabtast-Standard IEEE 1149.1
entwickelt wurde und der das Joint-Test-Access-Group(JTAG)-
Protokoll für die Kommunikationen verwendet. Das Verwenden
dieses Ports bedeutet, daß keine zusätzlichen Pins erforder
lich sind, um den Sondierungsmodus zu implementieren, wo
durch Kosten gespart werden. Der externe Befehlsmodus ist
auf Prozessoren mit einer Pipeline anwendbar und auf Prozes
soren, bei denen mehrere Pipelines parallel arbeiten.
Die Erfindung verwendet eine Schaltung, die jeweils in
einem von zumindest zwei Moden arbeitet. In einem pro
zessorgesteuerten Modus, welcher ein herkömmlicher Modus des
Computerbetriebs ist, reagiert die Schaltung auf eine Serie
von in dem Computerspeicher gespeicherten Befehlen. In dem
externen Befehlsmodus, der in dem bevorzugten Ausführungs
beispiel "Sondierungsmodus" genannt wird, reagiert die
Schaltung auf extern erzeugte Kommandos und Befehle, die
durch einen Zugriffsport fließen. Die Computerschaltung
enthält eine Modusauswahleinheit zum Auswählen zwischen dem
Sondierungsmodus und dem prozessorgesteuerten Modus des Be
triebs. Im bevorzugten Ausführungsbeispiel sind drei Ver
fahren zum Auswählen des externen Befehlsmodus vorgesehen.
Ein erstes Verfahren benutzt einen "Run/Stop"(R/S)-Pin ge
nannten externen Anschluß, der an dem Mikroprozessor vorge
sehen wird. Ein zweites Verfahren verwendet einen über den
Zugriffsport eingegebenen externen Befehl. Ein drittes Ver
fahren verwendet eine Fehlerbeseitigungs-Ausnahme, die nor
malerweise durch einen Software-Debug-Manager gehandhabt
wird. Für eine geeignete Anzeige, ob sich die Schaltung im
externen Befehlsmodus befindet, ist ein zusätzlicher
"Bestätigungspin" genannter Anschluß vorgesehen, um anzuzei
gen, daß die Ausführungseinheit bereit ist, ein externes
Signal zu akzeptieren.
Die Schaltung enthält einen prozessorgesteuerten Be
fehlspfad, einen externen Befehlspfad und eine Ausführungs
einheit. Der prozessorgesteuerte Befehlspfad holt im Spei
cher des Computers gespeicherte Befehle heran und legt sie
unter Steuerung des Prozessors an die Ausführungseinheit an.
Der externe 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 Multiplexer ausgewählt, der von einer zentralen
Steuereinheit abhängig ist, die auf die Modusauswahleinheit
anspricht. Mit anderen Worten, jeder Pfad schafft ein
Eingangssignal für einen Multiplexer, der den aktuell an die
Ausführungseinheit anzulegenden Befehlspfad auswählt.
Der prozessorgesteuerte Befehlspfad aktualisiert impli
zit die Prozessorzustandsinformationen, bevor er seinen Be
fehl an die Ausführungseinheit anlegt. Die Prozessorzu
standsinformationen umfassen den Befehlszeiger. In Ausfüh
rungsbeispielen, die einen Decodierer und einen Vor-Heranho
ler für Befehle variabler Länge aufweisen, umfaßt das impli
zite Verhalten des prozessorgesteuerten Pfades auch das Her
anholen eines nächsten Befehls, das Berechnen seiner Länge
und das entsprechende Einstellen des Befehlszeigers. Der
externe Befehlspfad aktualisiert nicht die Zustandsinforma
tion, bevor sein Befehl an die Ausführungseinheit angelegt
wird. In Ausführungsbeispielen, die einen Decodierer ent
halten, wird dieses implizite Verhalten im externen Be
fehlsmodus vermieden, indem der Decodierer umgangen wird und
der Befehl direkt an die Ausführungseinheit geliefert wird.
Der externe Befehlspfad enthält ein Sondierungsbefehls
register (PIR - Probe Instruction Register) genanntes Be
fehlsregister, zum Laden und Halten eines Befehls, der durch
die Ausführungseinheit gelesen werden soll. Ein Zugriffsport
bearbeitet den Informationsfluß zwischen einer externen
Signalquelle und dem Befehlsregister. Außerdem ist ein Son
dierungsdatenregister (PDR - Probe Data Register) genanntes
Datenregister vorgesehen, das entsprechend dem Befehl in dem
Befehlsregister von dem Zugriffsport oder der Ausfüh
rungseinheit geladen bzw. gelesen werden kann.
Ein weiterer Vorteil der Erfindung besteht darin, daß
Hardware und Pins verwendet werden, die bereits auf dem Chip
vorhanden sind, so daß die Kosten der Implementierung der
Schaltung gering sind und folglich ihr Einbau in massenhaft
produzierte Mikroprozessoren für den Kunden kosteneffektiv
ist. Ein solcher Mikroprozessor findet Anwendung bei
Computerentwicklern, -herstellern, Systemprogrammierern,
Anwendungsprogrammierern und Kunden-Servicepersonal.
Vorteilhafte Weiterbildungen der Erfindung sind in den
Unteransprüchen gekennzeichnet.
Im folgenden wird die Erfindung anhand eines in der
Zeichnung dargestellten Ausführungsbeispiels näher be
schrieben. In der Zeichnung zeigen:
Fig. 1 ein Blockschaltbild der Struktur eines Zu
griffsports und eines Prozessors sowie ihrer
Schnittstelle;
Fig. 2 ein Ablaufdiagramm, das die im prozessorgesteuer
ten Modus und die im externen Befehlsmodus auf
tretenden Schritte zeigt;
Fig. 3 ein Ablaufdiagramm, das die in dem Sondierungsmo
dus des bevorzugten Ausführungsbeispiels auftre
tenden Schritte näher darstellt;
Fig. 4 ein Ablaufdiagramm, das die Auswahl des Sondie
rungsmodus zum Handhaben einer Fehlerbeseiti
gungsausnahme veranschaulicht; und
Fig. 5 ein Ablaufdiagramm, das ein Verfahren zum Zugrei
fen auf den Sondierungsmodus durch eine Fehlerbe
seitigungsausnahme veranschaulicht.
Im folgenden wird auf Fig. 1 Bezug genommen, in welcher
ein eine Prozessoreinheit 10 und einen Zugriffsport 12 ver
anschaulichendes Blockschaltbild gezeigt ist. Im bevorzugten
Ausführungsbeispiel sind diese Strukturen, die Pro
zessoreinheit 10 und der Zugriffsport 12, auf einem einzigen
Halbleiterchipbaustein untergebracht. Bei anderen Ausfüh
rungsbeispielen können die darin beschriebenen Funktionen
durch entsprechende Einheiten auf separaten Chips ausgeführt
werden.
Der Prozessor 10 weist einen prozessorgesteuerten Be
fehlspfad 14 auf. In diesem prozessorgesteuerten Befehlspfad
14 sind Anordnungen zum Anlegen von Befehlen an eine
Ausführungseinheit enthalten. Diese Anordnungen können be
liebige herkömmliche Anordnungen sein. Der prozessorgesteu
erte Befehlspfad 14 kann Einheiten zum Cache-Speichern, Her
anholen, Puffern, (ggf. erforderlichen) Decodieren und er
neuten 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 von 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 auszu
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/Speichere-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/Speichere-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 (17)
1. Mikroprozessor (10) mit einer Ausführungseinheit (20)
zum Ausführen von Befehlen, wobei der Mikroprozessor in ei
nem prozessorgesteuerten Modus arbeiten kann und dabei eine
Reihe von in einem Computerspeicher gespeicherten Befehlen
ausführt,
dadurch gekennzeichnet,
daß der Mikroprozessor (10) in einen externen Befehlsmo dus überführbar ist, wobei er ein externes Signal empfängt, das einen externen Befehl spezifiziert; und
daß der Mikroprozessor (10) aufweist:
Modusauswahlmittel (24, 26, 30) zum Auswählen des pro zessorgesteuerten Modus oder des externen Befehlsmodus:
eine Ausführungseinheit (20) zum Ausführen von Befehlen;
einen Multiplexer (18), der einen Befehl auswählt und der Ausführungseinheit (20) zur Verfügung stellt;
einen prozessorgesteuerten Befehlspfad (14), der die ge speicherten Befehle zwischenspeichert und an einen ersten Eingang des Multiplexers (18) anlegt,
einen externen Befehlspfad (34, 36), der den externen Befehl an einen zweiten Eingang des Multiplexers (18) an legt, und
eine mit dem Multiplexer (18) und dem prozessorgesteu erten Befehlspfad (14) gekoppelte Steuereinheit (16), die den Multiplexer (18) derart steuert, daß der Multiplexer (18) während des Betriebs im prozessorgesteuerten Modus ei nen Befehl aus dem prozessorgesteuerten Befehlspfad (14) und während des Betriebs im externen Befehlsmodus einen externen Befehl aus dem externen Befehlspfad (34, 36) auswählt, wobei die Steuereinheit (16) den prozessorgesteuerten Befehlspfad (14) während des Betriebs im externen Befehlsmodus anhält.
daß der Mikroprozessor (10) in einen externen Befehlsmo dus überführbar ist, wobei er ein externes Signal empfängt, das einen externen Befehl spezifiziert; und
daß der Mikroprozessor (10) aufweist:
Modusauswahlmittel (24, 26, 30) zum Auswählen des pro zessorgesteuerten Modus oder des externen Befehlsmodus:
eine Ausführungseinheit (20) zum Ausführen von Befehlen;
einen Multiplexer (18), der einen Befehl auswählt und der Ausführungseinheit (20) zur Verfügung stellt;
einen prozessorgesteuerten Befehlspfad (14), der die ge speicherten Befehle zwischenspeichert und an einen ersten Eingang des Multiplexers (18) anlegt,
einen externen Befehlspfad (34, 36), der den externen Befehl an einen zweiten Eingang des Multiplexers (18) an legt, und
eine mit dem Multiplexer (18) und dem prozessorgesteu erten Befehlspfad (14) gekoppelte Steuereinheit (16), die den Multiplexer (18) derart steuert, daß der Multiplexer (18) während des Betriebs im prozessorgesteuerten Modus ei nen Befehl aus dem prozessorgesteuerten Befehlspfad (14) und während des Betriebs im externen Befehlsmodus einen externen Befehl aus dem externen Befehlspfad (34, 36) auswählt, wobei die Steuereinheit (16) den prozessorgesteuerten Befehlspfad (14) während des Betriebs im externen Befehlsmodus anhält.
2. Mikroprozessor nach Anspruch 1, dadurch gekennzeich
net, daß die Modusauswahlmittel (24, 26, 30) einen Run/Stop-
Pin (30) aufweisen, wobei bei dessen Ansteuerung der Betrieb
des prozessorgesteuerten Befehlspfads (14) angehalten wird.
3. Mikroprozessor nach Anspruch 1 oder 2, dadurch ge
kennzeichnet, daß die Modusauswahlmittel (24, 26, 30) eine
Modusauswahleinheit (24) enthalten, die auf ein externes
Kommando anspricht, um den Betrieb des prozessorgesteuerten
Befehlspfads (14) anzuhalten.
4. Mikroprozessor nach einem der Ansprüche 1 bis 3, da
durch gekennzeichnet, daß die Modusauswahlmittel (24, 26,
30) ein Sondierungsmodus-Steuerregister (26) mit einem
Befehls-Umadressier-Flag (IR-Flag) aufweisen zum Anhalten
des Betriebs des prozessorgesteuerten Befehlspfads (14),
wenn eine Fehlerbeseitigungsausnahme während des Betriebs
des prozessorgesteuerten Befehlspfads (14) auftritt.
5. Mikroprozessor nach einem der Ansprüche 1 bis 4, da
durch gekennzeichnet, daß der externe Befehlspfad aufweist:
einen Zugriffsport (12) mit
einer Schnittstelle (34) zum Empfangen und Senden des externen Signals (32);
einer Steuerlogik (40) zum Steuern der Schnitt stelle zwischen dem Zugriffsport (12) und dem Mikro prozessor (10);
ein Sondierungsbefehlsregister (36) zum Halten eines mit dem externen Signal (32) empfangenen Befehls; und
ein Sondierungsdatenregister (38) zum Halten von Daten.
einen Zugriffsport (12) mit
einer Schnittstelle (34) zum Empfangen und Senden des externen Signals (32);
einer Steuerlogik (40) zum Steuern der Schnitt stelle zwischen dem Zugriffsport (12) und dem Mikro prozessor (10);
ein Sondierungsbefehlsregister (36) zum Halten eines mit dem externen Signal (32) empfangenen Befehls; und
ein Sondierungsdatenregister (38) zum Halten von Daten.
6. Mikroprozessor nach einem der Ansprüche 1 bis 5, ge
kennzeichnet durch eine zweite Steuereinheit (40) zum Ini
tiieren der Ausführung eines in dem Sondierungsbefehlsregi
ster (36) gespeicherten Befehls, die auf einen externen Be
fehl ansprechen.
7. Mikroprozessor nach einem der Ansprüche 1 bis 6, ge
kennzeichnet durch einen Bestätigungspin (86), der ein
Signal zur Verfügung stellt, das anzeigt, ob sich der Mikro
prozessor (10) im externen Befehlsmodus befindet und zum
Ausführen eines im Sondierungsbefehlsregister (36) gespei
cherten Befehls bereit ist.
8. Mikroprozessor nach einem der Ansprüche 1 bis 7, ge
kennzeichnet durch
Aktualisierungsmittel, die bei ausgewähltem prozessorge steuertem Modus Mikroprozessor-Zustandsinformationen aktua lisieren, bevor der gespeicherte Befehl an die Ausführungs einheit (20) angelegt wird, wobei die Mikroprozessor- Zustandsinformationen einen Befehlszeiger enthalten; und durch
eine Steuerlogik, die ein Umgehen der Aktualisierungs mittel bewirkt, wenn der externe Befehlsmodus ausgewählt ist.
Aktualisierungsmittel, die bei ausgewähltem prozessorge steuertem Modus Mikroprozessor-Zustandsinformationen aktua lisieren, bevor der gespeicherte Befehl an die Ausführungs einheit (20) angelegt wird, wobei die Mikroprozessor- Zustandsinformationen einen Befehlszeiger enthalten; und durch
eine Steuerlogik, die ein Umgehen der Aktualisierungs mittel bewirkt, wenn der externe Befehlsmodus ausgewählt ist.
9. Mikroprozessor nach einem der Ansprüche 1 bis 8, da
durch gekennzeichnet, daß der prozessorgesteuerte Befehls
pfad (14) einen Decodierer enthält, der den Befehlszeiger
aktualisiert, bevor der decodierte Befehl an die Ausfüh
rungseinheit (20) angelegt wird.
10. Verfahren zum Betreiben eines Mikroprozessors (10),
wobei in einem prozessorgesteuerten Modus Befehle ausge
führt werden, indem
ein Befehl aus einem Speicher herangeholt und einem Decodierer zur Verfügung gestellt wird,
der Befehl decodiert wird, um einen oder mehrere Mikrobefehle zu gewinnen, die nacheinander an eine Ausführungseinheit (20) angelegt werden,
Mikroprozessor-Zustandsinformationen einschließlich eines Befehlszeigers aktualisiert werden und
die von dem Decodierer angelegten Mikrobefehle aus geführt werden;
dadurch gekennzeichnet,
daß entweder der prozessorgesteuerte Modus oder ein ex ternen Befehlsmodus ausgewählt wird;
daß bei Auswahl des externen Befehlsmodus Befehle ausgeführt werden, indem
wenigstens ein externer Befehl zur Verfügung ge stellt wird und der wenigstens eine externe Befehl ausgeführt wird, ohne den Befehlszeiger und andere Mikroprozessor-Zustandsinformationen im prozessor gesteuerten Befehlspfad (14) zu aktualisieren.
ein Befehl aus einem Speicher herangeholt und einem Decodierer zur Verfügung gestellt wird,
der Befehl decodiert wird, um einen oder mehrere Mikrobefehle zu gewinnen, die nacheinander an eine Ausführungseinheit (20) angelegt werden,
Mikroprozessor-Zustandsinformationen einschließlich eines Befehlszeigers aktualisiert werden und
die von dem Decodierer angelegten Mikrobefehle aus geführt werden;
dadurch gekennzeichnet,
daß entweder der prozessorgesteuerte Modus oder ein ex ternen Befehlsmodus ausgewählt wird;
daß bei Auswahl des externen Befehlsmodus Befehle ausgeführt werden, indem
wenigstens ein externer Befehl zur Verfügung ge stellt wird und der wenigstens eine externe Befehl ausgeführt wird, ohne den Befehlszeiger und andere Mikroprozessor-Zustandsinformationen im prozessor gesteuerten Befehlspfad (14) zu aktualisieren.
11. Verfahren nach Anspruch 10, dadurch gekennzeichnet,
daß im externen Befehlsmodus ein externer Befehl in ei nem externen Befehlsregister (36) gespeichert wird; und
daß das Befehlsregister (36) gelesen wird, wenn der Be fehl ausgeführt werden soll.
daß im externen Befehlsmodus ein externer Befehl in ei nem externen Befehlsregister (36) gespeichert wird; und
daß das Befehlsregister (36) gelesen wird, wenn der Be fehl ausgeführt werden soll.
12. Verfahren nach Anspruch 10 oder 11, dadurch gekenn
zeichnet,
daß ein externer Datenpfad (12) gebildet wird, über den das externe Signal mit der Ausführungseinheit (10) gekoppelt wird, wobei in dem externen Datenpfad ein Datenregister (38) zur Verfügung gestellt wird, das in Abhängigkeit von der Steuerung durch ein externes Signal beschrieben oder gelesen werden kann;
daß Daten in das Datenregister (38) gespeichert und mit Hilfe des externen Signals ausgelesen werden, wenn der Be fehl die Anweisung zum Lesen des Mikroprozessor-Zustands oder anderer Daten aus der Ausführungseinheit (10) enthält; und
daß mit Hilfe des externen Signals Daten im Datenregi ster (38) gespeichert werden und dann das Datenregister von der Ausführungseinheit gelesen wird, wenn der Befehl die Anweisung zum Schreiben von Daten zur Ausführungseinheit (10) enthält.
daß ein externer Datenpfad (12) gebildet wird, über den das externe Signal mit der Ausführungseinheit (10) gekoppelt wird, wobei in dem externen Datenpfad ein Datenregister (38) zur Verfügung gestellt wird, das in Abhängigkeit von der Steuerung durch ein externes Signal beschrieben oder gelesen werden kann;
daß Daten in das Datenregister (38) gespeichert und mit Hilfe des externen Signals ausgelesen werden, wenn der Be fehl die Anweisung zum Lesen des Mikroprozessor-Zustands oder anderer Daten aus der Ausführungseinheit (10) enthält; und
daß mit Hilfe des externen Signals Daten im Datenregi ster (38) gespeichert werden und dann das Datenregister von der Ausführungseinheit gelesen wird, wenn der Befehl die Anweisung zum Schreiben von Daten zur Ausführungseinheit (10) enthält.
13. Verfahren nach einem der Ansprüche 10 bis 12, da
durch gekennzeichnet, daß das Ausführen des Befehls durch
Anlegen eines externen Kommandos an eine Steuereinheit (40)
initiiert wird.
14. Verfahren nach einem der Ansprüche 10 bis 13, da
durch gekennzeichnet, daß ein Bestätigungspin (86) beauf
schlagt wird, um anzuzeigen, daß der externe Befehlsmodus
ausgewählt wurde und der Mikroprozessor bereit ist, einen
Befehl auszuführen.
15. Verfahren nach einem der Ansprüche 10 bis 14, da
durch gekennzeichnet, daß zum Auswählen des Betriebsmodus
ein externer Pin (30) mit einem Signal beaufschlagt und der
prozessorgesteuerte Befehlspfad so gesteuert wird, daß die
Heranhol-, Decodier- und Aktualisier-Operationen im
prozessorgesteuerten Modus angehalten werden.
16. Verfahren nach Anspruch 15, dadurch gekennzeichnet,
daß beim Auswählen des Betriebsmodus ein Signal an eine
Steuerlogik (26) angelegt wird, die die Heranhol-, Decodier-
und Aktualisier-Operationen des prozessorgesteuerten Be
triebsmodus anhält.
17. Verfahren nach Anspruch 15 oder 16, dadurch gekenn
zeichnet, daß beim Auswählen des Betriebsmodus
ein Interrupt-Umadressier-Flag in einem Sondierungs modus-Steuerregister (26) gesetzt wird;
während des Betriebs im prozessorgesteuerten Modus eine Fehlerbeseitigungsausnahme erfaßt wird;
das Interrupt-Umadressier-Flag getestet wird, um festzu stellen, ob es gesetzt wurde; und
der externen Befehlsmodus mit einer Steuerlogik ausgewählt wird, die die Heranhol-, Decodier- und Aktualisier-Operatio nen des prozessorgesteuerten Betriebsmodus anhält, wenn das Interrupt-Umadressier-Flag gesetzt wurde.
ein Interrupt-Umadressier-Flag in einem Sondierungs modus-Steuerregister (26) gesetzt wird;
während des Betriebs im prozessorgesteuerten Modus eine Fehlerbeseitigungsausnahme erfaßt wird;
das Interrupt-Umadressier-Flag getestet wird, um festzu stellen, ob es gesetzt wurde; und
der externen Befehlsmodus mit einer Steuerlogik ausgewählt wird, die die Heranhol-, Decodier- und Aktualisier-Operatio nen des prozessorgesteuerten 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 DE4313594A1 (de) | 1993-10-28 |
DE4313594C2 true 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) |
Families Citing this family (179)
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 |
JP3739797B2 (ja) * | 1995-10-06 | 2006-01-25 | パトリオット サイエンティフィック コーポレイション | 縮小命令セット・コンピューター・マイクロプロセッサーの構造 |
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 |
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 |
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 |
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 |
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 |
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 |
US5880671A (en) * | 1996-10-31 | 1999-03-09 | Hewlett-Packard Company | Flexible circuitry and method for detecting signal patterns on a bus |
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 |
US5983017A (en) * | 1996-11-12 | 1999-11-09 | Lsi Logic Corporation | Virtual monitor debugging method and apparatus |
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 |
US5935266A (en) * | 1996-11-15 | 1999-08-10 | Lucent Technologies Inc. | Method for powering-up a microprocessor under debugger control |
US5956477A (en) * | 1996-11-25 | 1999-09-21 | Hewlett-Packard Company | Method for processing information in a microprocessor to facilitate debug and performance monitoring |
US5881217A (en) * | 1996-11-27 | 1999-03-09 | Hewlett-Packard Company | Input comparison circuitry and method for a programmable state machine |
US6009539A (en) * | 1996-11-27 | 1999-12-28 | Hewlett-Packard Company | Cross-triggering CPUs for enhanced test operations in a multi-CPU computer system |
US5828824A (en) * | 1996-12-16 | 1998-10-27 | Texas Instruments Incorporated | Method for debugging an integrated circuit using extended operating modes |
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 |
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 |
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 |
US6549930B1 (en) | 1997-11-26 | 2003-04-15 | Compaq Computer Corporation | Method for scheduling threads in a multithreaded processor |
US6332178B1 (en) | 1997-11-26 | 2001-12-18 | Compaq Computer Corporation | Method for estimating statistics of properties of memory system transactions |
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 |
US6119075A (en) * | 1997-11-26 | 2000-09-12 | Digital Equipment Corporation | Method for estimating statistics of properties of interactions processed by 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 |
US6163840A (en) * | 1997-11-26 | 2000-12-19 | Compaq Computer Corporation | Method and apparatus for sampling multiple potentially concurrent instructions 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 |
US6195748B1 (en) | 1997-11-26 | 2001-02-27 | Compaq Computer Corporation | Apparatus for sampling instruction execution information in a processor pipeline |
US6374367B1 (en) | 1997-11-26 | 2002-04-16 | Compaq Computer Corporation | Apparatus and method for monitoring a computer system to guide optimization |
US6148396A (en) * | 1997-11-26 | 2000-11-14 | Compaq Computer Corporation | Apparatus for sampling path history in a processor pipeline |
US6070009A (en) * | 1997-11-26 | 2000-05-30 | Digital Equipment Corporation | Method for estimating execution rates of program execution paths |
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 |
US6000044A (en) * | 1997-11-26 | 1999-12-07 | Digital Equipment Corporation | Apparatus for randomly sampling 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 |
US5923872A (en) * | 1997-11-26 | 1999-07-13 | Digital Equipment Corporation | Apparatus for sampling instruction operand or result values in a processor pipeline |
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 |
WO1999048001A1 (en) * | 1998-03-18 | 1999-09-23 | Lsi Logic Corporation | Improvements in 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 |
US6249893B1 (en) * | 1998-10-30 | 2001-06-19 | Advantest Corp. | Method and structure for testing embedded cores based system-on-a-chip |
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 |
US7793261B1 (en) | 1999-10-01 | 2010-09-07 | Stmicroelectronics Limited | Interface for transferring debug information |
US6859891B2 (en) | 1999-10-01 | 2005-02-22 | Stmicroelectronics Limited | Apparatus and method for shadowing processor information |
US6408381B1 (en) | 1999-10-01 | 2002-06-18 | Hitachi, Ltd. | Mechanism for fast access to control space in a pipeline processor |
US6701405B1 (en) | 1999-10-01 | 2004-03-02 | Hitachi, Ltd. | DMA handshake protocol |
US6457118B1 (en) | 1999-10-01 | 2002-09-24 | Hitachi Ltd | Method and system for selecting and using source operands in computer system instructions |
US6567932B2 (en) | 1999-10-01 | 2003-05-20 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
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 |
US6591369B1 (en) | 1999-10-01 | 2003-07-08 | Stmicroelectronics, Ltd. | System and method for communicating with an integrated circuit |
US6460174B1 (en) | 1999-10-01 | 2002-10-01 | Stmicroelectronics, Ltd. | Methods and models for use in designing an integrated circuit |
US6629115B1 (en) | 1999-10-01 | 2003-09-30 | Hitachi, Ltd. | Method and apparatus for manipulating vectored data |
US7000078B1 (en) | 1999-10-01 | 2006-02-14 | Stmicroelectronics Ltd. | System and method for maintaining cache coherency in a shared memory system |
JP2001142692A (ja) * | 1999-10-01 | 2001-05-25 | Hitachi Ltd | 2つの異なる固定長命令セットを実行するマイクロプロセッサ、マイクロコンピュータおよび命令実行方法 |
US6918065B1 (en) | 1999-10-01 | 2005-07-12 | Hitachi, Ltd. | Method for compressing and decompressing trace information |
US6298394B1 (en) | 1999-10-01 | 2001-10-02 | Stmicroelectronics, Ltd. | System and method for capturing information on an interconnect in an integrated circuit |
US6412047B2 (en) | 1999-10-01 | 2002-06-25 | Stmicroelectronics, Inc. | Coherency protocol |
US6557119B1 (en) | 1999-10-01 | 2003-04-29 | Stmicroelectronics Limited | Microcomputer debug architecture and method |
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 |
US6615370B1 (en) | 1999-10-01 | 2003-09-02 | Hitachi, Ltd. | Circuit for storing trace information |
US6349371B1 (en) | 1999-10-01 | 2002-02-19 | Stmicroelectronics Ltd. | Circuit for storing information |
US6463553B1 (en) | 1999-10-01 | 2002-10-08 | Stmicroelectronics, Ltd. | Microcomputer debug architecture and method |
US6574651B1 (en) | 1999-10-01 | 2003-06-03 | Hitachi, Ltd. | Method and apparatus for arithmetic operation on vectored data |
US6684348B1 (en) | 1999-10-01 | 2004-01-27 | Hitachi, Ltd. | Circuit for processing trace information |
US6553460B1 (en) | 1999-10-01 | 2003-04-22 | Hitachi, Ltd. | Microprocessor having improved memory management unit and cache memory |
US6542983B1 (en) | 1999-10-01 | 2003-04-01 | Hitachi, Ltd. | Microcomputer/floating point processor interface and method |
US6732307B1 (en) | 1999-10-01 | 2004-05-04 | Hitachi, Ltd. | Apparatus and method for storing trace information |
US6598128B1 (en) | 1999-10-01 | 2003-07-22 | Hitachi, Ltd. | Microprocessor having improved memory management unit and cache memory |
US6546480B1 (en) | 1999-10-01 | 2003-04-08 | Hitachi, Ltd. | Instructions for arithmetic operations on vectored data |
US6412043B1 (en) | 1999-10-01 | 2002-06-25 | Hitachi, Ltd. | Microprocessor having improved memory management unit and cache memory |
US7260745B1 (en) | 1999-10-01 | 2007-08-21 | Stmicroelectronics Ltd. | Detection of information on an interconnect |
US6590907B1 (en) | 1999-10-01 | 2003-07-08 | Stmicroelectronics Ltd. | Integrated circuit with additional ports |
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 |
US7072817B1 (en) | 1999-10-01 | 2006-07-04 | Stmicroelectronics Ltd. | Method of designing an initiator in an integrated circuit |
US6693914B1 (en) | 1999-10-01 | 2004-02-17 | Stmicroelectronics, Inc. | Arbitration mechanism for packet transmission |
US6351803B2 (en) | 1999-10-01 | 2002-02-26 | Hitachi Ltd. | Mechanism for power efficient processing in a pipeline processor |
US6820195B1 (en) | 1999-10-01 | 2004-11-16 | Hitachi, Ltd. | Aligning load/store data with big/little endian determined rotation distance control |
US6530047B1 (en) | 1999-10-01 | 2003-03-04 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
US6502210B1 (en) | 1999-10-01 | 2002-12-31 | Stmicroelectronics, Ltd. | Microcomputer debug architecture and method |
US6779145B1 (en) | 1999-10-01 | 2004-08-17 | Stmicroelectronics Limited | System and method for communicating with an integrated circuit |
US6665816B1 (en) | 1999-10-01 | 2003-12-16 | Stmicroelectronics Limited | Data shift register |
US6598177B1 (en) | 1999-10-01 | 2003-07-22 | Stmicroelectronics Ltd. | Monitoring error conditions in an integrated circuit |
US7266728B1 (en) | 1999-10-01 | 2007-09-04 | Stmicroelectronics Ltd. | Circuit for monitoring information on an interconnect |
US6772325B1 (en) * | 1999-10-01 | 2004-08-03 | Hitachi, Ltd. | Processor architecture and operation for exploiting improved branch control instruction |
US6601189B1 (en) | 1999-10-01 | 2003-07-29 | Stmicroelectronics Limited | 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 |
US6928073B2 (en) * | 1999-10-01 | 2005-08-09 | Stmicroelectronics Ltd. | Integrated circuit implementing packet transmission |
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 |
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 |
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 |
US7765095B1 (en) | 2000-10-26 | 2010-07-27 | Cypress Semiconductor Corporation | Conditional branching in an in-circuit emulation system |
US6724220B1 (en) | 2000-10-26 | 2004-04-20 | Cyress Semiconductor Corporation | Programmable microcontroller architecture (mixed analog/digital) |
US6823282B1 (en) * | 2000-10-26 | 2004-11-23 | Cypress Semiconductor Corporation | Test architecture for microcontroller providing for a serial communication interface |
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 |
US8176296B2 (en) | 2000-10-26 | 2012-05-08 | Cypress Semiconductor Corporation | Programmable microcontroller architecture |
US8103496B1 (en) | 2000-10-26 | 2012-01-24 | Cypress Semicondutor Corporation | Breakpoint control in an in-circuit emulation system |
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 |
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 |
US7774190B1 (en) | 2001-11-19 | 2010-08-10 | Cypress Semiconductor Corporation | Sleep and stall in an in-circuit emulation system |
US6971004B1 (en) | 2001-11-19 | 2005-11-29 | Cypress Semiconductor Corp. | System and method of dynamically reconfiguring a programmable integrated circuit |
US8069405B1 (en) | 2001-11-19 | 2011-11-29 | Cypress Semiconductor Corporation | User interface for efficiently browsing an electronic document using data-driven tabs |
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 |
US7737724B2 (en) | 2007-04-17 | 2010-06-15 | Cypress Semiconductor Corporation | Universal digital block interconnection and channel routing |
US8130025B2 (en) | 2007-04-17 | 2012-03-06 | Cypress Semiconductor Corporation | Numerical band gap |
US8092083B2 (en) | 2007-04-17 | 2012-01-10 | Cypress Semiconductor Corporation | Temperature sensor with digital bandgap |
US9564902B2 (en) | 2007-04-17 | 2017-02-07 | Cypress Semiconductor Corporation | Dynamically configurable and re-configurable data path |
US8026739B2 (en) | 2007-04-17 | 2011-09-27 | Cypress Semiconductor Corporation | System level interconnect with programmable switching |
US8516025B2 (en) | 2007-04-17 | 2013-08-20 | Cypress Semiconductor Corporation | Clock driven dynamic datapath chaining |
US8040266B2 (en) | 2007-04-17 | 2011-10-18 | Cypress Semiconductor Corporation | Programmable sigma-delta analog-to-digital converter |
US8266575B1 (en) | 2007-04-25 | 2012-09-11 | Cypress Semiconductor Corporation | Systems and methods for dynamically reconfiguring a programmable system on a chip |
US9720805B1 (en) | 2007-04-25 | 2017-08-01 | Cypress Semiconductor Corporation | System and method for controlling a target device |
US8065653B1 (en) | 2007-04-25 | 2011-11-22 | Cypress Semiconductor Corporation | Configuration of programmable IC design elements |
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 |
DE3587643T2 (de) * | 1984-03-02 | 1994-03-24 | Nec Corp | 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 |
JPS625446A (ja) * | 1985-07-01 | 1987-01-12 | Hitachi Ltd | マイクロプロセツサの制御方法および装置 |
US4720811A (en) * | 1985-04-26 | 1988-01-19 | Hitachi, Ltd. | Microprocessor capable of stopping its operation at any cycle time |
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 | 日本電気株式会社 | デバツグ用マイクロプロセツサ |
DE3685117D1 (de) * | 1986-12-30 | 1992-06-04 | Ibm | 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 |
US5274834A (en) * | 1991-08-30 | 1993-12-28 | Intel Corporation | Transparent system interrupts with integrated extended memory addressing |
US5274826A (en) * | 1991-08-30 | 1993-12-28 | Intel Corporation | Transparent system interrupts with automated input/output trap restart |
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 * |
Also Published As
Publication number | Publication date |
---|---|
JP2824978B2 (ja) | 1998-11-18 |
GB9218391D0 (en) | 1992-10-14 |
DE4313594A1 (de) | 1993-10-28 |
FR2690539A1 (fr) | 1993-10-29 |
FR2690539B1 (fr) | 1995-10-13 |
GB2266606A (en) | 1993-11-03 |
JPH05334114A (ja) | 1993-12-17 |
US5479652B1 (en) | 2000-05-02 |
GB2266606B (en) | 1996-02-14 |
US5479652A (en) | 1995-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4313594C2 (de) | Mikroprozessor | |
DE3903835C2 (de) | ||
DE19834191C2 (de) | Integrierte Schaltungsvorrichtung und ihr Steuerverfahren | |
DE69830718T2 (de) | Ablaufdaten-cachespeicher fuer mikroprozessorbasierte anordung | |
DE2953432C1 (de) | Vorrichtung zum Testen eines Mikroprogramms | |
DE69737732T2 (de) | Nachrichtenübertragungsverfahren für eine Testzugriffsportsteuerungsvorrichtung (TAP) | |
US4312066A (en) | Diagnostic/debug machine architecture | |
DE60212271T2 (de) | Eingebauter Selbsttest mit eingebautem Speicher und Prozessor in einer ASIC Vorrichtung | |
DE69915377T2 (de) | Auf-chip fehlersuchsystem | |
EP0503117B1 (de) | Prozessorschaltung | |
DE4311441C2 (de) | Verfahren zum Betreiben eines Mikroprozessors mit einem externen Anschluß | |
DE4434895C2 (de) | Verfahren und Vorrichtung zur Behandlung von Ausnahmebedingungen | |
DE102004009693A1 (de) | Technik zum Kombinieren eines Abtasttests und eines eingebauten Speicherselbsttests | |
EP0104635A2 (de) | Verfahren und Anordnung zum Prüfen eines digitalen Rechners | |
DE19604251C2 (de) | Emulationsvorrichtung für Microcomputer, Verfahren zur Erfassung einer Vielzahl von Statusdaten und Fehlerbeseitigungssystem | |
DE69815006T2 (de) | Datenverarbeitungseinheit mit Fehlerbeseitungsmöglichkeiten | |
DE2658864A1 (de) | Pruefsystem fuer eine mikroprogrammierte verarbeitungseinheit | |
EP1565825A2 (de) | Einrichtung und verfahren zur analyse von eingebetteten systemen | |
DE2461592A1 (de) | Anordnung zur durchfuehrung von wartungsoperationen bei einem datenverarbeitungssystem | |
DE112008001590B4 (de) | Prozessorbetriebsinspektionssystem und Betriebsinspektionsschaltung | |
DE102009012768B4 (de) | JTAG Nachrichtenbox | |
DE60010847T2 (de) | Verfahren zur Fehlerbeseitigung in einem Thread-Programm | |
DE69915788T2 (de) | Mikrokontrollgerät mit Fehlerbeseitigungsunterstützung | |
DE19635284C2 (de) | Ein-Chip-Prozessor mit extern ausgeführter Testfunktion | |
DE2622140C3 (de) | Einrichtung zur Steuerung manueller Operationen |
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 |