DE10208784A1 - System und Verfahren zum Überwachen unausgerichteter Speicherzugriffe - Google Patents
System und Verfahren zum Überwachen unausgerichteter SpeicherzugriffeInfo
- Publication number
- DE10208784A1 DE10208784A1 DE10208784A DE10208784A DE10208784A1 DE 10208784 A1 DE10208784 A1 DE 10208784A1 DE 10208784 A DE10208784 A DE 10208784A DE 10208784 A DE10208784 A DE 10208784A DE 10208784 A1 DE10208784 A1 DE 10208784A1
- Authority
- DE
- Germany
- Prior art keywords
- error
- memory access
- trap
- handler
- misaligned
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3471—Address tracing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
Ein System überwacht unausgerichtete Speicherzugriffe durch einen Prozessor eines Computersystems. Der Prozessor erzeugt automatisch einen Fehler beim Versuch eines unausgerichteten Speicherzugriffs. Unausgerichteter-Speicherzugriff-Fehler werden ansprechend auf einen Fehler deaktiviert, der durch einen ersten fehlerverursachenden Befehl erzeugt wird. Der erste fehlerverursachende Befehl wird ausgeführt. Eine Falle wird erzeugt durch Ausführen des ersten fehlerverursachenden Befehls. Unausgerichteter-Speicherzugriff-Fehler werden ansprechend auf die Falle aktiviert.
Description
Die vorliegende Erfindung bezieht sich auf das Überwachen
unausgerichteter Speicherzugriffe in Computersystemen und
insbesondere auf das Überwachen unausgerichteter Speicher
zugriffe in Computersystemen, die Hardware-Einzelschritt
betrieb verwenden.
Computersysteme umfassen mindestens einen Prozessor und ei
nen Speicher. Der Speicher speichert Anwendungsprogrammbe
fehle, Daten und ein Betriebssystem. Das Betriebssystem
steuert den Prozessor und den Speicher für Systemoperatio
nen und zum Ausführen der Anwendungsprogrammbefehle.
Daten, die in einem Speicher eines Computersystems gespei
chert sind, können entlang natürlicher Grenzen gespeichert
werden oder können grenzüberschreitend sein. Für bestes
Verhalten sollten die Daten an natürlichen Speichergrenzen
ausgerichtet sein. Wenn ein Datenartikel eine natürliche
Grenze überschreitet und auf mehr als einer Leitung gespei
chert wird, sind mehrere Zugriffe erforderlich, um die Da
ten zu erhalten, wodurch das Systemverhalten vermindert
wird. Die Software richtet Datenwerte vorzugsweise aus, um
eine mögliche Verhaltensverschlechterung zu verhindern.
Es wäre wünschenswert, unausgerichtete Speicherzugriffe
durch ein Anwendungsprogramm zu Zwecken des Modifizierens
der Software zu überwachen, zu zählen und nachzuverfolgen,
um das Verhalten zu steigern oder für andere Zwecke. Eine
aktuelle Lösung für das Überwachen der Ausführung von Be
fehlen in einem Anwendungsprogramm ist es, einen Software
emulator zu bauen, um fehlerverursachende Befehle zu hand
haben, so daß eine Ausführung fortfahren kann, wenn ein
Fehler auftritt. Diese Lösung ist jedoch sehr komplex und
erfordert das Entwickeln einer Software, die den Prozessor
zustand aktualisieren kann, als ob ein fehlerverursachender
Befehl ausgeführt worden wäre.
Es wurden ferner Softwarefehlersuchprogramme entwickelt, um
die Ausführung von Anwendungsprogrammbefehlen zu überwa
chen. Softwarefehlersuchprogramme verwenden üblicherweise
ein Einzelschrittmerkmal. Ein Einzelschrittmerkmal kann in
der Software implementiert sein oder ein Hardwaremerkmal
sein, das durch den Prozessor bereitgestellt ist. Ein Ein
zelschrittmerkmal wurde durch Softwarefehlersuchprogramme
verwendet, um einen Befehl nach dem anderen durch ein An
wendungsprogramm zu schreiten, um zu überwachen, wie sich
der Prozessorzustand nach jedem Befehl ändert, und um Feh
ler basierend auf den Änderungen in dem Prozessorzustand zu
identifizieren. Ein Hardware-Einzelschrittmerkmal wurde vo
rangehend nicht als Teil einer Lösung für das Überwachen,
Zählen und Nachverfolgen unausgerichteter Speicherzugriffe
in einem Anwendungsprogramm verwendet.
Es wäre wünschenswert, eine vereinfachte Lösung zum Überwa
chen, Zählen und Nachverfolgen unausgerichteter Speicher
zugriffe durch ein Anwendungsprogramm zu schaffen, ohne die
Anforderung zum Bauen eines komplexen Softwareemulators.
Es ist die Aufgabe der vorliegenden Erfindung, ein Verfah
ren zum Überwachen unausgerichteter Speicherzugriffe, ein
Verfahren zum Ausführen von Befehlen, ein Computersystem
und ein computerlesbares Medium zu schaffen, die eine ein
fache Überwachung von unausgerichteten Speicherzugriffen
ermöglichen.
Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1
oder 11, ein Computersystem gemäß Anspruch 20 und ein com
puterlesbares Medium gemäß Anspruch 23 gelöst.
Die vorliegende Erfindung schafft ein Computersystem und
ein Verfahren zum Überwachen unausgerichteter Speicher
zugriffe durch einen Prozessor eines Computersystems. Der
Prozessor erzeugt automatisch einen Fehler bei dem Versuch
eines unausgerichteten Speicherzugriffs. Fehler unausge
richteter Speicherzugriffe werden ansprechend auf Fehler
deaktiviert, die durch einen ersten fehlerverursachenden
Befehl erzeugt werden. Der erste fehlerverursachende Befehl
wird ausgeführt. Eine Falle wird durch Ausführen eines er
sten fehlerverursachenden Befehls erzeugt. Fehler unausge
richteter Speicherzugriffe werden ansprechend auf die Falle
aktiviert.
Bei einem Ausführungsbeispiel werden Unausgerichteter-
Speicherzugriff-Fehler aktiviert, bevor der erste fehler
verursachende Befehl ausgeführt wird.
Bei einem Ausführungsbeispiel wird ein Fehlerhandhaber ver
anlaßt, den Fehler zu verarbeiten. Der Schritt des Deakti
vierens Unausgerichteter-Speicherzugriff-Fehler wird durch
den Fehlerhandhaber durchgeführt.
Bei einem Ausführungsbeispiel wird ein Fallenhandhaber ver
anlaßt, die Falle zu verarbeiten. Der Schritt des Aktivie
rens Unausgerichteter-Speicherzugriff-Fehler wird durch den
Fallenhandhaber durchgeführt.
Bei einem Ausführungsbeispiel wird ein Einzelschrittmodus
des Prozessors ansprechend auf den Fehler aktiviert. Der
Einzelschrittmodus wird durch Einstellen eines Feldes in
einem Systemregister des Prozessors aktiviert.
Bei einem Ausführungsbeispiel werden die Zustandsinforma
tionen ansprechend auf den Fehler gespeichert. Die Zu
standsinformationen umfassen die Anzahl von Befehlen, die
einen Fehler verursacht haben, und eine Identifikation von
Befehlen, die einen Fehler verursacht haben.
Eine Form der vorliegenden Erfindung schafft ein Verfahren
zum Ausführen von Befehlen durch einen Prozessor eines Com
putersystems, das durch ein Betriebssystem gesteuert wird.
Ein Unausgerichteter-Speicherzugriff-Fehler wird basierend
auf der versuchten Ausführung eines ersten Befehls erzeugt.
Unausgerichteter-Speicherzugriff-Fehler werden ansprechend
auf den Unausgerichteter-Speicherzugriff-Fehler deakti
viert. Ein Einzelschrittmodus wird ansprechend auf den Un
ausgerichteter-Speicherzugriff-Fehler aktiviert. Der erste
Befehl wird ausgeführt, wodurch eine Einzelschrittfalle er
zeugt wird. Unausgerichteter-Speicherzugriff-Fehler werden
ansprechend auf die Einzelschrittfalle aktiviert. Der Ein
zelschrittmodus wird ansprechend auf die Einzelschrittfalle
deaktiviert.
Eine Form der vorliegenden Erfindung schafft ein Computer
system, das einen Prozessor umfaßt. Ein Speicher speichert
ein Anwendungsprogramm mit Anwendungsbefehlen. Ein in dem
Speicher gespeichertes Betriebssystem steuert den Prozes
sor. Das Betriebssystem umfaßt einen Fehlerhandhaber und
einen Fallenhandhaber. Der Fehlerhandhaber deaktiviert Un
ausgerichteter-Speicherzugriff-Fehler und aktiviert einen
Einzelschrittmodus ansprechend auf einen Unausgerichteter-
Speicherzugriff-Fehler. Der Fallenhandhaber aktiviert Un
ausgerichteter-Speicherzugriff-Fehler und deaktiviert den
Einzelschrittmodus ansprechend auf eine Einzelschrittfalle.
Eine Form der vorliegenden Erfindung schafft ein computer
lesbares Medium, das ein Betriebssystem zum Steuern eines
Prozessors eines Computersystems aufweist, um ein Verfahren
zum Überwachen unausgerichteter Speicherzugriffe durchzu
führen. Das Verfahren umfaßt das Deaktivieren Unausgerich
teter-Speicherzugriff-Fehler ansprechend auf einen Fehler,
der durch einen ersten fehlerverursachenden Befehl erzeugt
wird. Der erste fehlerverursachende Befehl wird ausgeführt.
Eine Falle wird durch Ausführen des ersten fehlerverursa
chenden Befehls erzeugt. Unausgerichteter-Speicherzugriff-
Fehler werden ansprechend auf die Falle aktiviert.
Die vorliegende Erfindung schafft eine vereinfachte Lösung
für das Überwachen, Zählen und Nachverfolgen unausgerichte
ter Speicherzugriffe durch ein Anwendungsprogramm. Bei ei
nem Ausführungsbeispiel wird ein Hardware-
Einzelschrittmerkmal eines Prozessors verwendet, um unaus
gerichtete Speicherzugriffe für besondere Befehle temporär
zu aktivieren und zu deaktivieren. Die Erfindung beseitigt
den Bedarf nach dem Bauen eines komplexen Softwareemula
tors.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung
werden nachfolgend Bezug nehmend auf die beiliegenden
Zeichnungen näher erläutert. Es zeigen:
Fig. 1 ein Blockdiagramm eines Computersystems gemäß der
vorliegenden Erfindung, das unausgerichtete Spei
cherzugriffe überwacht;
Fig. 2 ein Flußdiagramm, das einen Prozeß zum Überwachen
unausgerichteter Speicherzugriffe durch ein An
wendungsprogramm gemäß der vorliegenden Erfindung
darstellt; und
Fig. 3 ein Flußdiagramm, das ein Ausführungsbeispiel ei
nes Ausrichtungsprüfungs-Modifikationsprozesses
darstellt.
Ein Computersystem gemäß der vorliegenden Erfindung ist im
allgemeinen bei 30 in Fig. 1 dargestellt. Das Computersy
stem 30 umfaßt mindestens einen Prozessor, wie z. B. den
Prozessor 32, zum Durchführen von Sequenzen logischer Ope
rationen. Das Computersystem 30 umfaßt ferner einen Spei
cher 52 zum Speichern von Befehlen und Daten zur Verwendung
durch den Prozessor 32. Ein Betriebssystem 60 ist in dem
Speicher 52 gespeichert und steuert den Prozessor 32 und
den Speicher 52 für Systemoperationen und zum Ausführen von
Anwendungsprogrammbefehlen, die in dem Speicher 52 gespei
chert sind. Der Speicher 52 umfaßt üblicherweise einen Di
rektzugriffsspeicher (RAM; RAM = Random Access Memory), ei
nen nichtflüchtigen Speicher und ein Festplattenlaufwerk,
kann aber jeglichen bekannten Speichertyp umfassen.
Der Prozessor 32 umfaßt einen Anwendungsregistersatz 34 und
einen Systemregistersatz 44. Ein Architekturzustand des
Computersystems 30 ist durch den Anwendungsregistersatz 34,
den Systemregistersatz 44 und den Speicher 52 dargestellt.
Der Anwendungsregistersatz 34 umfaßt Register, die für An
wendungsprogramme verfügbar sind, die in dem Speicher 52
gespeichert sind. Der Systemregistersatz 44 liefert System
registerressourcen für Prozeßsteuerung, Unterbrechungshand
habung, Schutz, Fehlersuche, Verhaltensüberwachung und ähn
liches. Der Systemregistersatz 44 ist im allgemeinen nur
für das Betriebssystem 60 sichtbar.
Beispielregister, die in einem Anwendungsregistersatz 34
umfaßt sein können, umfassen allgemeine Register, Gleit
punktregister, Vergleichsergebnisregister, Verzweigungsin
foxmationsregister, Befehlszeiger, Aktueller-Rahmen-
Kennzeichner, Prozeßidentifizierer und eine Benutzermaske.
Beispielregister, die in dem Systemregistersatz 44 umfaßt
sein können, umfassen Regionenregister, Schutzschlüsselre
gister, Fehlersuch-Zwischenstopp-Register, maschinenspezi
fische Register und Steuerregister. Der Systemregistersatz
44 umfaßt ein Prozessorstatusregister (PSR) 46, das die
Steuerinformationen beibehält, um die aktuelle Ausführungs
umgebung für den momentan laufenden Prozeß des Prozessors
32 zu definieren.
Das PSR 46 umfaßt ein Ausrichtungsprüfungs- (ac = alignment
check) Feld 46A. Wenn das PSR.ac-Feld 46A eingestellt ist,
resultieren unausgerichtete Speicherzugriffe bei einem Un
ausgerichteter-Speicherzugriff-Fehler. Es gibt verschiedene
unterschiedliche Typen unausgerichteter Speicherzugriffe,
die bei einem Unausgerichteter-Speicherzugriff-Fehler re
sultieren können, wie z. B. Zugriffe, die eine Cache-
Leitung oder Seitengrenze überschreiten, und ausgerichtete
Semaphorreferenzen. Wenn das PSR.ac-Feld 46A eingestellt
ist, resultieren Datenspeicherreferenzen, die nicht an ei
ner Grenze von der Größe des Operanden ausgerichtet sind,
in einem Unausgerichteter-Speicherzugriff-Fehler. 1-, 2-,
4-, 8-, 10- und 16-Byte-Bezugsgrößen sollten auf 1-, 2-, 4-,
8-, 10- bzw. 16-Byte-Grenzen ausgerichtet sein, um die
Erzeugung eines Unausgerichteter-Speicherzugriff-Fehlers zu
verhindern. Wenn ein PSR.ac-Feld 46A eingestellt ist und
die Datenadresse, die die Referenz ist, ist nicht auf die
natürliche Größe einer Last-, Speicher- oder Semaphor-
Operation ausgerichtet, wird ein Unausgerichteter-
Speicherzugriff-Fehler erzeugt.
Der Prozessor 32 kann mit Einzelschritten durch die Anwen
dungsbefehle gehen, durch Aktivieren des Einzelschrittfel
des (PSR.ss; ss = single step) 46B des PSR 46. Wenn eine
Einzelschrittoperation aktiviert ist, führt eine erfolgrei
che Ausführung eines Befehls zu einer Einzelschrittfalle.
Der Systemregistersatz 44 umfaßt Steuerregister 47. Die
Steuerregister 47 umfassen ein Störstatusregister (ISR; ISR
interruption status register) 48, ein Störvektoradreß-
(IVA-; IVA = interruption vector address) Register 50 und
ein Störprozessorstatusregister (IPSR; IPSR = interruption
processor status register) 51. Das ISR 48 empfängt Informa
tionen von dem Prozessor 32, die mit der Eigenschaft einer
Unterbrechung in Beziehung stehen. Das ISR 48 enthält In
formationen über den Ausnahmebefehl und dessen Eigenschaf
ten, wie z. B. ob der Ausnahmebefehl eine Lese-, Schreib-,
Ausführ-, spekulative oder Nichtzugriffs-Operation durchge
führt hat. Fehler- und fallenspezifische Informationen wer
den in einem Codefeld (ISR.code) 48A des ISR 48 gespei
chert. Das IVA-Register 50 spezifiziert eine Basisadresse
der Störvektortabelle (IVT; IVT = interruption vector
table) 62 (unten erörtert). Das IPSR 51 empfängt den Wert
des PSR 46 bei einer Unterbrechung. Das IPSR 51 wird ver
wendet, um das PSR 46 nach einer Rückkehr von einer Unter
brechung zu aktualisieren. Wie das PSR 46 umfaßt das IPSR
51 ein Ausrichtungsprüfungs- (ac-) Feld 51A und ein Einzel
schritt- (ss-) Feld 51B.
Der Speicher 52 speichert ein Anwendungsprogramm 54 mit An
wendungsbefehlen. Der Speicher 52 speichert ferner einen
Ausrichtungsprüfungs-Modifikationsprozeß 56. Das Betriebs
system 60, das in dem Speicher 52 gespeichert ist, umfaßt
die IVT 62. Die IVT 62 speichert eine Mehrzahl von Unter
brechungshandhabern. Die IVT 62 speichert Unausgerichteter-
Speicherzugriff-Fehlerhandhaber 62A und einen Ein
zelschrittfallenhandhaber 62B. Zusätzlich zu der Verwendung
der IVT 62, um bestimmte Unterbrechungen zu handhaben, kön
nen Unterbrechungen durch andere Prozesse gehandhabt wer
den.
Eine Unterbrechung ist ein Ereignis, das verursacht, daß
die Hardware die Ausführung des aktuellen Befehlsstroms au
tomatisch stoppt und die Ausführung einer Befehlsadresse
entsprechend einem Unterbrechungshandhaber für diese Unter
brechung startet. Unterbrechungen umfassen Fehler und Fal
len. Eine Falle tritt auf, wenn ein Betriebssystemeingriff
erforderlich ist, bevor dem aktuellen Befehl ausgeführt
werden kann. Eine Falle tritt auf, wenn ein Betriebssystem
eingriff erforderlich ist, nachdem der aktuelle Befehl ab
geschlossen wurde. Unterbrechungen werden durch das
Betriebssystem 60 bei einer Adresse gehandhabt, die durch
die Basisposition der IVT 62 bestimmt wird (spezifiziert
durch ein IVA-Register 50), versetzt um einen Betrag
basierend auf der bestimmten Unterbrechung, die aufgetreten
ist. Jede Unterbrechung hat einen eigenen entworfenen Ver
satz in IVT 62.
Wenn eine Unterbrechung auftritt, stoppt der Prozessor 32
die Ausführung an dem aktuellen Befehlszeiger (IP, IP = in
struction pointer), stellt den aktuellen Privilegienpegel
auf Null (den höchsten Privilegienpegel) ein und beginnt
mit dem Abrufen von Befehlen von der Adresse des Eingangs
punkts zu dem Unterbrechungshandhaber in der IVT 62 für die
bestimmte Unterbrechung, die aufgetreten ist. Die Unterbre
chungshandhaber können vollkommen innerhalb der IVT 62 ent
halten sein oder die Handhaber können sich verzweigen, um
außerhalb der IVT 62 zu codieren, wenn mehr Raum erforder
lich ist.
Die Position der Unterbrechungshandhaber innerhalb der IVT
62 ist durch einen Unterbrechungsvektor spezifiziert. Bei
einem Ausführungsbeispiel sind mehr Unterbrechungen vorhan
den als Unterbrechungsvektoren in der IVT 62 vorhanden
sind. Somit besteht ein Viele-zu-Eins-Verhältnis zwischen
Unterbrechungen und Unterbrechungsvektoren. Ein Handhaber,
der einem bestimmten Unterbrechungsvektor zugeordnet ist,
kann die bestimmte Unterbrechung bestimmen, die durch das
Lesen des ISR.code 48A aufgetreten ist. Nachdem eine Unter
brechung durch einen Unterbrechungshandhaber verarbeitet
wurde, wird ein Rückkehr-Von-Unterbrechung-Befehl (rfi-
Befehl; rfi = return from interruption) durch den Prozessor
32 ausgeführt und vorangehende gespeicherte Prozessorzu
standsinformationen werden verwendet, um den Prozessorzu
stand wiederherzustellen.
Bei einem Ausführungsbeispiel erzeugt der Prozessor 32 ei
nen unausgerichteten Referenzvektor, wenn ein Unausgerich
teter-Zugriff-Fehler auftritt. Ein Unausgerichteter-
Zugriff-Fehler wird ferner als ein Unausgerichtete-Daten-
Referenzfehler bezeichnet. Basierend auf der Basisadresse
der IVT 62, die in dem IVA-Register 50 enthalten ist, und
dem Versatz, der dem unausgerichteten Referenzvektor zuge
ordnet ist, springt der Prozessor 32 zu dem Unausgerichte
ter-Zugriff-Fehlerhandhaber 62A, um den unausgerichteten
Zugriffsfehler zu handhaben. Der Unausgerichteter-Zugriff-
Fehlerhandhaber 62A wird nachfolgend ferner detaillierter
erörtert.
Bei einem Ausführungsbeispiel erzeugt der Prozessor 32 ei
nen Einzelschrittfallen-Unterbrechungsvektor, wenn eine
Einzelschrittfalle auftritt. Basierend auf der Basisadresse
der IVT 62, die in dem IVA-Register 50 enthalten ist, und
dem Versatz, der dem Einzelschrittfallen-
Unterbrechungsvektor zugeordnet ist, springt der Prozessor
32 zu dem Einzelschrittfallenhandhaber 62B, um die Einzel
schrittfalle zu handhaben. Der Einzelschrittfallenhandhaber
62B wird nachfolgend ferner detaillierter erörtert.
Fig. 2 stellt ein Flußdiagramm eines Prozesses 200 zum
Überwachen von unausgerichteten Speicherzugriffen durch das
Anwendungsprogramm 54 gemäß der vorliegenden Erfindung dar.
Ein erster Schritt bei dem Prozeß 200 ist das Aktivieren
Unausgerichteter-Zugriff-Fehler (Schritt 202). Bei einem
Ausführungsbeispiel aktiviert der Prozessor 32 Unausgerich
teter-Zugriff-Fehler durch Einstellen des PSR.ac-Feldes 46A
in dem PSR 46.
Als nächstes ruft der Prozessor 32 auf, decodiert und ver
sucht einen Befehl von dem Anwendungsprogramm 54 bei
Schritt 204 auszuführen. Bei Schritt 206 führt eine erfolg
reiche Ausführung des Befehls zu einer Einzelschrittfalle,
wenn das Einzelschrittfallenfeld (PSR.ss 46B) aktiviert
ist, und der Einzelschrittfallenhandhaber 62B wird bei
Schritt 208 aufgerufen (wird unten erörtert). Wenn die ver
suchte Ausführung des Befehls zu der Erzeugung eines unaus
gerichteten Referenzvektors führt, wird der Unausgerichte
ter-Zugriff-Fehlerhandhaber 62A bei Schritt 216 aufgerufen.
Wenn weder ein Einzelschrittfallen-Vektor noch ein ausge
richteter Referenzvektor erzeugt wird, springt der Prozeß
200 zu Schritt 204 und der nächste Befehl wird abgerufen,
decodiert und die Ausführung dieses Befehls wird versucht.
Wenn er bei Schritt 216 aufgerufen wird, speichert der Un
ausgerichteter-Zugriff-Fehlerhandhaber 62A Zustandsinforma
tionen 64 bei Schritt 226 in dem Speicher 52. Bei einem
Ausführungsbeispiel umfassen die Zustandsinformationen 64
Prozessorzustandsinformationen, wie in dem PSR 46 spezifi
ziert ist. Die Zustandsinformationen 64 umfassen ferner
vorzugsweise jegliche Informationen, die bei einem späteren
Analysieren des unausgerichteten Zugriffsfehlers hilfreich
sein können, einschließlich welcher Befehl einen Fehler
verursacht hat, was der Zustand des Prozessors 32 war, als
der Unausgerichteter-Zugriff-Fehler auftrat, die Anzahl Un
ausgerichteter-Zugriff-Fehler, die während der Ausführung
eines Anwendungsprogramms 54 auftragen, sowie andere Infor
mationen.
Als nächstes deaktiviert der Unausgerichteter-Zugriff-
Fehlerhandhaber 62A Unausgerichteter-Zugriff-Fehler bei
Schritt 228. Bei einem Ausführungsbeispiel deaktiviert der
Unausgerichteter-Zugriff-Fehlerhandhaber 62A Unausgerichte
ter-Zugriff-Fehler durch Ausführen eines Ausrichtungsprü
fungsmodifikationsprozesses 56. Fig. 3 zeigt ein Flußdia
gramm eines Ausführungsbeispiels eines Ausrichtungsprü
fungs-Modifikationsprozesses 56. Der Ausrichtungsprüfungs-
Modifikationsprozeß 56 umfaßt einen Schritt 402 des Spei
cherns des Werts des IPSR.ac 51A in einer Datenstruktur.
Bei Schritt 404 wird der Wert in der Datenstruktur, der das
IPSR.ac 51A darstellt, auf den gewünschten Wert (z. B. 0)
geändert, um Unausgerichteter-Zugriff-Fehler zu deaktivie
ren. Bei Schritt 406 wird das IPSR 51 basierend auf den in
der Datenstruktur gespeicherten Daten aktualisiert. Nachdem
das Aktualisieren durchgeführt wurde, enthält das IPSR.ac
51A den gewünschten Wert, um Unausgerichteter-Zugriff-
Fehler (z. B. IPSR.ac 51A = 0) zu deaktivieren. Bei Schritt
408 wird eine Rückkehr-Von-Unterbrechung (rfi; rfi = return
from interruption) durchgeführt. Eine Rückleitung von der
Unterbrechung verursacht, daß das PSR 46 von dem IPSR 51
aktualisiert wird. Somit enthält das PSR.ac 46A den ge
wünschten Wert, um Unausgerichteter-Zugriff-Fehler nach der
Rückleitung von der Unterbrechung zu deaktivieren (z. B.
PSR.ac 46A = 0).
Als letztes aktiviert der Unausgerichteter-Zugriff-
Fehlerhandhaber 62A den Einzelschrittmodus, wie bei Schritt
230 in Fig. 2 gezeigt ist. Der Unausgerichteter-Zugriff-
Fehlerhandhaber 62A aktiviert den Einzelschrittmodus durch
Aktivieren des Einzelschrittfeldes PSR.ss 46B in dem PSR
46. Bei einem Ausführungsbeispiel aktiviert der Unausge
richteter-Zugriff-Fehlerhandhaber 62A das Einzelschrittfeld
PSR.ss 46B auf die gleiche Weise und in dem gleichen Pro
zeß, in dem der Unausgerichteter-Zugriff-Fehlerhandhaber
62A das PSR.ac-Feld 46A modifiziert (oben Bezug nehmend auf
Fig. 3 erörtert). Genauer gesagt speichert der Unausgerich
teter-Zugriff-Fehlerhandhaber 62A bei Schritt 402 den Wert
des IPSR.ss 51B in einer Datenstruktur. Bei Schritt 404
wird der Wert in der Datenstruktur, der das IPSR.ss 51B
darstellt, geändert, um den Einzelschrittmodus zu aktivie
ren. Bei Schritt 406 wird das IPSR 51 basierend auf den in
der Datenstruktur gespeicherten Daten aktualisiert. Nachdem
das Aktualisieren durchgeführt wurde, IPSR.ss 51B = 1. Bei
Schritt 408 wird eine Rückkehr-Von-Unterbrechung (rfi)
durchgeführt. Eine Rückkehr-Von-Unterbrechung verursacht,
daß das PSR 46 von dem IPSR 51 aktualisiert wird. Somit
enthält das PSR.ss 46B nach der Rückleitung von der Unter
brechung den gewünschten Wert (z. B. PSR.ss 46B = 1).
Als nächstes kehrt der Fluß zu Schritt 204 zurück, um den
aktuellen Befehl auszuführen. Nach der Ausführung des aktu
ellen Befehls wird eine Einzelschrittfalle bei Schritt 206
erzeugt und ein Einzelschrittfallenhandhaber 62B wird bei
Schritt 208 aufgerufen, da das Einzelschrittfallenfeld
PSR.ss 46B aktiviert wurde. Bei Schritt 210 aktiviert der
Einzelschrittfallenhandhaber 62B Unausgerichteter-Zugriff-
Fehler durch Einstellen des PSR.ac-Feldes 46A in dem PSR
46. Bei Schritt 212 deaktiviert der Einzelschrittfallen
handhaber 62B den Einzelschrittmodus. Bei einem Ausfüh
rungsbeispiel deaktiviert der Einzelschrittfallenhandhaber
62B den Einzelschrittmodus durch Deaktivieren des Einzel
schrittfallenfeldes PSR.ss 46B in dem PSR 46 auf die glei
che Weise, wie oben diskutiert das PSR.ss 46B aktiviert
wird. Bei einem Ausführungsbeispiel speichert der Ein
zelschrittfallenhandhaber 62 ferner Zustandsinformationen
64, die den aktuellen Zustand des PSR 46 vor jeglichen Mo
difikationen durch den Einzelschrittfallenhandhaber 62B um
fassen. Der Fluß kehrt dann zurück zu Schritt 204, wo der
nächste Befehl abgerufen, decodiert und die Ausführung des
Befehls versucht wird.
Die vorliegende Erfindung ist nicht auf einen Typ von Pro
zessor begrenzt, sondern trifft auf jeden Prozessor zu, der
eine Einzelschritt- und Unterbrechungsfunktionalität lie
fert, einschließlich, aber nicht begrenzt auf, eine IA-64-
Prozessorarchitektur.
Claims (26)
1. Verfahren zum Überwachen von unausgerichteten Spei
cherzugriffen durch einen Prozessor (32) eines Compu
tersystems (30), wobei der Prozessor automatisch einen
Unausgerichteter-Speicherzugriff-Fehler erzeugt, wenn
ein unausgerichteter Speicherzugriff versucht wird,
wobei das Verfahren folgende Schritte aufweist:
Deaktivieren (228) von Unausgerichteter- Speicherzugriff-Fehlern ansprechend auf einen Fehler, der durch einen ersten fehlerverursachenden Befehl er zeugt wird;
Ausführen (204) des ersten fehlerverursachenden Be fehls;
Erzeugen (206) einer Falle durch Ausführen des ersten fehlerverursachenden Befehls; und
Aktivieren (210) von Unausgerichteter-Speicherzugriff- Fehlern ansprechend auf die Falle.
Deaktivieren (228) von Unausgerichteter- Speicherzugriff-Fehlern ansprechend auf einen Fehler, der durch einen ersten fehlerverursachenden Befehl er zeugt wird;
Ausführen (204) des ersten fehlerverursachenden Be fehls;
Erzeugen (206) einer Falle durch Ausführen des ersten fehlerverursachenden Befehls; und
Aktivieren (210) von Unausgerichteter-Speicherzugriff- Fehlern ansprechend auf die Falle.
2. Verfahren gemäß Anspruch 1, das ferner folgenden
Schritt aufweist:
Aktivieren (202) von Unausgerichteter-Speicherzugriff- Fehlern vor dem Ausführen des ersten fehlerverursa chenden Befehls.
Aktivieren (202) von Unausgerichteter-Speicherzugriff- Fehlern vor dem Ausführen des ersten fehlerverursa chenden Befehls.
3. Verfahren gemäß Anspruch 1 oder 2, das ferner folgen
den Schritt aufweist:
Aufrufen eines Fehlerhandhabers (62A), um den Fehler zu verarbeiten (216).
Aufrufen eines Fehlerhandhabers (62A), um den Fehler zu verarbeiten (216).
4. Verfahren gemäß Anspruch 3, bei dem ein Schritt des
Deaktivierens (228) von Unausgerichteter-
Speicherzugriff-Fehlern durch den Fehlerhandhaber
(62A) durchgeführt wird.
5. Verfahren gemäß einem der Ansprüche 1 bis 4, das fer
ner folgenden Schritt aufweist:
Aufrufen eines Fallenhandhabers (62B), um die Falle zu verarbeiten (208).
Aufrufen eines Fallenhandhabers (62B), um die Falle zu verarbeiten (208).
6. Verfahren gemäß Anspruch 5, wobei der Schritt des Ak
tivierens von Unausgerichteter-Speicherzugriff-Fehlern
durch den Fallenhandhaber (62B) durchgeführt wird.
7. Verfahren gemäß einem der Ansprüche 1 bis 6, das fer
ner folgenden Schritt aufweist:
Aktivieren (230) eines Einzelschrittmodus des Prozes sors ansprechend auf den Fehler.
Aktivieren (230) eines Einzelschrittmodus des Prozes sors ansprechend auf den Fehler.
8. Verfahren gemäß Anspruch 7, das ferner folgenden
Schritt aufweist:
Einstellen eines Feldes (46B) in einem Systemregister (46) des Prozessors, um den Einzelschrittmodus zu ak tivieren (230).
Einstellen eines Feldes (46B) in einem Systemregister (46) des Prozessors, um den Einzelschrittmodus zu ak tivieren (230).
9. Verfahren gemäß einem der Ansprüche 1 bis 8, das fer
ner folgenden Schritt aufweist:
Speichern von Zustandsinformationen ansprechend auf den Fehler.
Speichern von Zustandsinformationen ansprechend auf den Fehler.
10. Verfahren gemäß Anspruch 9, bei dem die Zustandsinfor
mationen die Anzahl von Befehlen umfassen, die einen
Fehler verursacht haben, und eine Identifikation der
Befehle, die einen Fehler verursacht haben.
11. Verfahren des Ausführens von Befehlen durch einen Pro
zessor (32) eines Computersystems (30), das durch ein
Betriebssystem (60) gesteuert wird, wobei das Verfah
ren folgende Schritte aufweist:
Erzeugen (214) eines Unausgerichteter-Speicherzugriff- Fehlers basierend auf der versuchten Ausführung eines ersten Befehls;
Deaktivieren (228) von Unausgerichteter- Speicherzugriff-Fehlern ansprechend auf den Unausge richteter-Speicherzugriff-Fehler;
Aktivieren (230) eines Einzelschrittmodus ansprechend auf den Unausgerichteter-Speicherzugriff-Fehler;
Ausführen (204) des ersten Befehls wodurch eine Ein zelschrittfalle erzeugt wird (206);
Aktivieren (210) von Unausgerichteter-Speicherzugriff- Fehlern ansprechend auf die Einzelschrittfalle; und
Deaktivieren (212) des Einzelschrittmodus ansprechend auf die Einzelschrittfalle.
Erzeugen (214) eines Unausgerichteter-Speicherzugriff- Fehlers basierend auf der versuchten Ausführung eines ersten Befehls;
Deaktivieren (228) von Unausgerichteter- Speicherzugriff-Fehlern ansprechend auf den Unausge richteter-Speicherzugriff-Fehler;
Aktivieren (230) eines Einzelschrittmodus ansprechend auf den Unausgerichteter-Speicherzugriff-Fehler;
Ausführen (204) des ersten Befehls wodurch eine Ein zelschrittfalle erzeugt wird (206);
Aktivieren (210) von Unausgerichteter-Speicherzugriff- Fehlern ansprechend auf die Einzelschrittfalle; und
Deaktivieren (212) des Einzelschrittmodus ansprechend auf die Einzelschrittfalle.
12. Verfahren gemäß Anspruch 11, das ferner folgenden
Schritt aufweist:
Aktivieren von Unausgerichteter-Speicherzugriff- Fehlern vor dem Ausführen der Befehle.
Aktivieren von Unausgerichteter-Speicherzugriff- Fehlern vor dem Ausführen der Befehle.
13. Verfahren gemäß Anspruch 11 oder 12, das ferner fol
genden Schritt aufweist:
Aufrufen eines Fehlerhandhabers, um den Unausgerichte ter-Speicherzugriff-Fehler zu verarbeiten.
Aufrufen eines Fehlerhandhabers, um den Unausgerichte ter-Speicherzugriff-Fehler zu verarbeiten.
14. Verfahren gemäß Anspruch 13, bei dem die Schritte des
Deaktivierens von Unausgerichteter-Speicherzugriff-
Fehlern und das Aktivieren eines Einzelschrittmodus
durch den Fehlerhandhaber durchgeführt werden.
15. Verfahren gemäß einem der Ansprüche 11 bis 14, das
ferner folgenden Schritt aufweist:
Aufrufen eines Fallenhandhabers, um die Einzelschritt falle zu verarbeiten.
Aufrufen eines Fallenhandhabers, um die Einzelschritt falle zu verarbeiten.
16. Verfahren gemäß Anspruch 15, bei dem die Schritte des
Aktivierens von Unausgerichteter-Speicherzugriff-
Fehlern und des Deaktivierens des Einzelschrittmodus
durch den Fallenhandhaber durchgeführt werden.
17. Verfahren gemäß einem der Ansprüche 11 bis 16, das
ferner folgenden Schritt aufweist:
Einstellen eines Feldes in einem Systemregister des Prozessors, um den Einzelschrittmodus zu aktivieren.
Einstellen eines Feldes in einem Systemregister des Prozessors, um den Einzelschrittmodus zu aktivieren.
18. Verfahren gemäß einem der Ansprüche 11 bis 17, das
ferner folgenden Schritt aufweist:
Speichern von Zustandsinformationen ansprechend auf den Unausgerichteter-Speicherzugriff-Fehler.
Speichern von Zustandsinformationen ansprechend auf den Unausgerichteter-Speicherzugriff-Fehler.
19. Verfahren gemäß Anspruch 18, bei dem die Zustandsin
formationen die Anzahl von Befehlen umfassen, die ei
nen Fehler verursacht haben, und eine Identifikation
der Befehle, die einen Fehler verursacht haben.
20. Computersystem (30), das folgende Merkmale aufweist:
einen Prozessor (32);
einen Speicher (52) zum Speichern eines Anwendungspro gramms (54), das Anwendungsbefehle aufweist; und
ein Betriebssystem (60), das zum Steuern des Prozes sors in dem Speicher gespeichert ist, wobei das Be triebssystem einen Fehlerhandhaber (62A) und einen Fallenhandhaber (62B) umfaßt, wobei der Fehlerhandha ber Unausgerichteter-Speicherzugriff-Fehler deakti viert (228) und einen Einzelschrittmodus ansprechend auf einen Unausgerichteter-Speicherzugriff-Fehler (214) aktiviert (230), wobei der Fallenhandhaber Un ausgerichteter-Speicherzugriff-Fehler (210) aktiviert und den Einzelschrittmodus (212) ansprechend auf eine Einzelschrittfalle (206) deaktiviert.
einen Prozessor (32);
einen Speicher (52) zum Speichern eines Anwendungspro gramms (54), das Anwendungsbefehle aufweist; und
ein Betriebssystem (60), das zum Steuern des Prozes sors in dem Speicher gespeichert ist, wobei das Be triebssystem einen Fehlerhandhaber (62A) und einen Fallenhandhaber (62B) umfaßt, wobei der Fehlerhandha ber Unausgerichteter-Speicherzugriff-Fehler deakti viert (228) und einen Einzelschrittmodus ansprechend auf einen Unausgerichteter-Speicherzugriff-Fehler (214) aktiviert (230), wobei der Fallenhandhaber Un ausgerichteter-Speicherzugriff-Fehler (210) aktiviert und den Einzelschrittmodus (212) ansprechend auf eine Einzelschrittfalle (206) deaktiviert.
21. Computersystem gemäß Anspruch 20, bei dem der Feh
lerhandhaber Zustandsinformationen in dem Speicher
speichert.
22. Computersystem gemäß Anspruch 21, bei dem die Zu
standsinformationen die Anzahl von Befehlen umfassen,
die einen Fehler verursacht haben und eine Identifika
tion der Befehle, die einen Fehler verursacht haben.
23. Computerlesbares Medium, das Befehle für ein Betriebs
system zum Steuern eines Prozessors eines Computersy
stems enthält, um ein Verfahren des Überwachens unaus
gerichteter Speicherzugriffe durchzuführen, wobei das
Verfahren folgende Merkmale aufweist:
Deaktivieren (228) Unausgerichteter-Speicherzugriff- Fehler ansprechend auf einen Fehler, der durch einen ersten fehlerverursachenden Befehl verursacht wird;
Ausführen (204) des ersten fehlerverursachenden Be fehls;
Erzeugen (206) einer Falle durch ein Ausführen des er sten fehlerverursachenden Befehls; und
Aktivieren (210) Unausgerichteter-Speicherzugriff- Fehler ansprechend auf die Falle.
Deaktivieren (228) Unausgerichteter-Speicherzugriff- Fehler ansprechend auf einen Fehler, der durch einen ersten fehlerverursachenden Befehl verursacht wird;
Ausführen (204) des ersten fehlerverursachenden Be fehls;
Erzeugen (206) einer Falle durch ein Ausführen des er sten fehlerverursachenden Befehls; und
Aktivieren (210) Unausgerichteter-Speicherzugriff- Fehler ansprechend auf die Falle.
24. Computerlesbares Medium gemäß Anspruch 23, bei dem das
Verfahren ferner folgenden Schritt ausweist:
Aktivieren (202) von Unausgerichteter-Speicherzugriff- Fehlern vor dem Ausführen des ersten fehlererzeugenden Befehls.
Aktivieren (202) von Unausgerichteter-Speicherzugriff- Fehlern vor dem Ausführen des ersten fehlererzeugenden Befehls.
25. Computerlesbares Medium gemäß Anspruch 23 oder 24, bei
dem das Verfahren ferner folgenden Schritt aufweist:
Aufrufen eines Fehlerhandhabers (62A), um den Fehler zu verarbeiten (216).
Aufrufen eines Fehlerhandhabers (62A), um den Fehler zu verarbeiten (216).
26. Computerlesbares Medium gemäß Anspruch 25, bei dem ein
Schritt des Deaktivierens (228) Unausgerichteter-
Speicherzugriff-Fehler durch den Fehlerhandhaber (62A)
durchgeführt wird.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US09/800,283 US6772372B2 (en) | 2001-03-06 | 2001-03-06 | System and method for monitoring unaligned memory accesses |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| DE10208784A1 true DE10208784A1 (de) | 2002-09-26 |
Family
ID=25177978
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE10208784A Withdrawn DE10208784A1 (de) | 2001-03-06 | 2002-02-28 | System und Verfahren zum Überwachen unausgerichteter Speicherzugriffe |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US6772372B2 (de) |
| JP (1) | JP2002268915A (de) |
| DE (1) | DE10208784A1 (de) |
| GB (1) | GB2373891A (de) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CA2383832A1 (en) * | 2002-04-24 | 2003-10-24 | Ibm Canada Limited-Ibm Canada Limitee | System and method for intelligent trap analysis |
| US7076631B2 (en) * | 2003-04-14 | 2006-07-11 | Adtran, Inc. | Mechanism for on-the-fly handling of unaligned memory accesses |
| US20050198421A1 (en) * | 2004-03-08 | 2005-09-08 | Nalawadi Rajeev K. | Method to execute ACPI ASL code after trapping on an I/O or memory access |
| JP2006178867A (ja) * | 2004-12-24 | 2006-07-06 | Nec Saitama Ltd | フラッシュメモリを用いたcpuシステム、フラッシュメモリ保護回路およびそのフラッシュメモリ保護方法 |
| GB2482710A (en) | 2010-08-12 | 2012-02-15 | Advanced Risc Mach Ltd | Enabling stack access alignment checking independently of other memory access alignment checking |
| WO2019240485A1 (ko) * | 2018-06-14 | 2019-12-19 | 삼성전자 주식회사 | 이상 환경으로부터 어플리케이션을 보호하는 전자 장치 및 그 동작 방법 |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4809160A (en) | 1985-10-28 | 1989-02-28 | Hewlett-Packard Company | Privilege level checking instruction for implementing a secure hierarchical computer system |
| US4912707A (en) * | 1988-08-23 | 1990-03-27 | International Business Machines Corporation | Checkpoint retry mechanism |
| US5134701A (en) | 1989-02-10 | 1992-07-28 | Hewlett-Packard Co. | Test apparatus performing runtime replacement of program instructions with breakpoint instructions for processor having multiple instruction fetch capabilities |
| US5201043A (en) * | 1989-04-05 | 1993-04-06 | Intel Corporation | System using both a supervisor level control bit and a user level control bit to enable/disable memory reference alignment checking |
| GB2230118B (en) | 1989-04-05 | 1992-12-23 | Intel Corp | Microprocessor providing selectable alignment checking on memory references |
| US5450586A (en) | 1991-08-14 | 1995-09-12 | Hewlett-Packard Company | System for analyzing and debugging embedded software through dynamic and interactive use of code markers |
| EP0537721B1 (de) | 1991-10-15 | 1998-11-25 | Hewlett-Packard Company | Hardwarekonfiguriertes Betriebssystemkern für einen Multitaskprozessor |
| US5649142A (en) * | 1991-10-24 | 1997-07-15 | Intel Corporation | Method and apparatus for translating addresses using mask and replacement value registers and for accessing a service routine in response to a page fault |
| US5596717A (en) | 1995-06-07 | 1997-01-21 | Texas Instruments Incorporated | Four state token passing alignment fault state circuit for microprocessor address misalignment fault generation |
| US5742755A (en) | 1996-02-20 | 1998-04-21 | Cyrix Corporation | Error-handling circuit and method for memory address alignment double fault |
| US6205560B1 (en) * | 1996-02-27 | 2001-03-20 | Via-Cyrix, Inc. | Debug system allowing programmable selection of alternate debug mechanisms such as debug handler, SMI, or JTAG |
| US5832205A (en) * | 1996-08-20 | 1998-11-03 | Transmeta Corporation | Memory controller for a microprocessor for detecting a failure of speculation on the physical nature of a component being addressed |
| US5915114A (en) | 1997-02-14 | 1999-06-22 | Hewlett-Packard Company | Dynamic trace driven object code optimizer |
| US6085312A (en) * | 1998-03-31 | 2000-07-04 | Intel Corporation | Method and apparatus for handling imprecise exceptions |
| US6282637B1 (en) * | 1998-12-02 | 2001-08-28 | Sun Microsystems, Inc. | Partially executing a pending atomic instruction to unlock resources when cancellation of the instruction occurs |
| US6587966B1 (en) * | 2000-04-25 | 2003-07-01 | Hewlett-Packard Development Company, L.P. | Operating system hang detection and correction |
-
2001
- 2001-03-06 US US09/800,283 patent/US6772372B2/en not_active Expired - Fee Related
-
2002
- 2002-01-28 GB GB0201892A patent/GB2373891A/en not_active Withdrawn
- 2002-02-22 JP JP2002046398A patent/JP2002268915A/ja active Pending
- 2002-02-28 DE DE10208784A patent/DE10208784A1/de not_active Withdrawn
Also Published As
| Publication number | Publication date |
|---|---|
| US20020129301A1 (en) | 2002-09-12 |
| JP2002268915A (ja) | 2002-09-20 |
| GB0201892D0 (en) | 2002-03-13 |
| US6772372B2 (en) | 2004-08-03 |
| GB2373891A (en) | 2002-10-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE10206422A1 (de) | System und Verfahren zum Überwachen der Ausführung privilegierter Befehle | |
| DE69614515T2 (de) | Software-emulationssystem mit dynamischer übersetzung von emulierten befehlen zur erhöhung der verarbeitungsgeschwindigkeit | |
| DE69621493T2 (de) | Hardwareunterstützung zur schnellen Emulation von nicht-implementierten Befehlen | |
| DE3650413T2 (de) | Verfahren und Vorrichtung zur Annulierung eines Befehls. | |
| DE2722099C2 (de) | ||
| DE69903629T2 (de) | Prüfung der funktionsfähigkeit eines gerätetreibers | |
| DE69505717T2 (de) | Verfahren und Vorrichtung zur Feststellung und Durchführung von kreuzweisen Unterprogrammanrufen | |
| DE69810064T2 (de) | Verfahren und Anordnung zur Veränderung der Durchführung eines Nachfolgebefehls in einem Dataprozessor | |
| DE69216020T2 (de) | Verbessertes fehlersuchsystem und -verfahren, besonders für die fehlersuche in einer multi-architekturumgebung | |
| DE69811474T2 (de) | Rechnerarchitektur zur aufschiebung von exceptions statischer spekulativer befehle | |
| DE3855029T2 (de) | Supervisorverfahren für ein Rechnerbetriebssystem | |
| DE60224774T2 (de) | Datenverarbeitungssystem mit Lese-, Änderungs- und Schreibeinheit | |
| DE60115976T2 (de) | Rechnersystem und Interruptvorgang | |
| DE69618221T2 (de) | Mechanismus zur wartung objektorientierter "methoden" der keine unterbrechung des computersystems erfordert | |
| DE69622832T2 (de) | Vorrichtung und verfahren für kooperative unterbrechungen in einer preemptiven prozessablauffolgeplanungsumgebung | |
| DE69908682T2 (de) | Prozessor mit Echtzeit-Ablaufsteuerung zur Fehlerbeseitigung ohne Fehlerbeseitigungsmonitor | |
| DE102013219856A1 (de) | Handhaben von potentiell ungültigen Ergebnissen während Vorauslaufen | |
| DE69621405T2 (de) | Verarbeitungssystem, prozessor, befehlsstromspeicher und kompilierer | |
| DE69128908T2 (de) | Verfahren zum Durchführen von erlässlichen Befehlen in einem Rechner | |
| DE69320741T2 (de) | Verfahren und Einrichtung zur Emulation der Umgebung eines Mikroprozessors | |
| DE69807021T2 (de) | Verfahren und Geraet zur Implementierung von mehrfachen Ruecksprungstellen | |
| DE2364323C2 (de) | Verfahren zur Behandlung von Unterbrechungsbedingungen in einer Datenverarbeitungsanlage | |
| DE3850906T2 (de) | Gastmaschinenablaufsteuerungssystem für virtuelles Maschinensystem. | |
| DE10208784A1 (de) | System und Verfahren zum Überwachen unausgerichteter Speicherzugriffe | |
| DE69510966T2 (de) | Verfahren zur Lenkung von Instruktionen in einem Rechnersystem und Rechnersystem zur Durchführung dieses Verfahrens |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| OP8 | Request for examination as to paragraph 44 patent law | ||
| 8130 | Withdrawal |