DE10208765A1 - Datenverarbeitungsvorrichtung - Google Patents
DatenverarbeitungsvorrichtungInfo
- Publication number
- DE10208765A1 DE10208765A1 DE10208765A DE10208765A DE10208765A1 DE 10208765 A1 DE10208765 A1 DE 10208765A1 DE 10208765 A DE10208765 A DE 10208765A DE 10208765 A DE10208765 A DE 10208765A DE 10208765 A1 DE10208765 A1 DE 10208765A1
- Authority
- DE
- Germany
- Prior art keywords
- error
- memory
- data processing
- processing device
- computing unit
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/073—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Storage Device Security (AREA)
Abstract
Die Erfindung betrifft eine Datenverarbeitungsvorrichtung mit einer Recheneinheit (1), einer Speicherkomponente und einer Abbildungsvorrichtung (3) zur Abbildung der Adressen eines virtuellen Speichers (4) auf Adressen eines physikalischen Speichers (5) und der Speicherkomponente, wobei die Durchführung einer Abbildung durch die Recheneinheit (1) veranlaßt ist. Die erfindungsgemäße Datenverarbeitungsvorrichtung ist dadurch gekennzeichnet, daß Mittel (6) vorgesehen sind, durch die bei Auftreten eines Fehlers bei der Abbildung in der Abbildungsvorrichtung (3) eine Speicherung von Fehlerrandbedingungen in einem für die Recheneinheit zugreifbaren Speicher (2) durchführbar ist.
Description
- Die Erfindung betrifft eine Datenverarbeitungsvorrichtung mit einer Recheneinheit, einer Speicherkomponente und einer Abbildungsvorrichtung zur Abbildung der Adressen eines virtuellen Speichers auf Adressen eines physikalischen Speichers in der Speicherkomponente, wobei die Durchführung einer Abbildung durch die Recheneinheit veranlaßt ist.
- Datenverarbeitungsvorrichtungen die mit einem virtuellen und einem physikalischen Speicher arbeiten, sind aus dem Stand der Technik in vielfältiger Weise bekannt. Das Arbeiten mit virtuellen Speichern ermöglicht eine weitgehend beliebige Zuordnung zwischen logischen Adressen des Prozessors, im folgenden als virtueller Speicher bezeichnet, und den physikalischen Adressen des Speichers. Dabei lassen sich beispielsweise für jedes Speichersegment Attribute angeben, wie z. B. Schreibschutz, der von dem Benutzer oder von sonstigen Randbedingungen abhängt. Dabei müssen die logischen Adressen auf die Adressen des physikalischen Speichers abgebildet werden. Diese Abbildung geschieht mit einer Tabelle, die in der Abbildungsvorrichtung hinterlegt ist.
- Bei solchen Abbildungsvorgängen können eine Vielzahl von Fehlern auftreten, die eine Fortsetzung des Programms bzw. des Abbildungsvorgangs unmöglich oder unerwünscht machen. In einem solchen Fall erfolgt eine Rückmeldung an die Recheneinheit, damit auf das Auftreten des Fehlers reagiert werden kann. Dabei wird in der Regel ein Fehlercode übermittelt, der eine Eingrenzung des Fehlers möglich macht. Demnach kann z. B. unterschieden werden, ob es sich bei dem Fehler um ein Problem bei einer Fließkomma-Operation, eine Speicherschutzverletzung oder den Versuch, einen privilegierten Befehl auszuführen, handelt. Bei einer solchen Konfiguration ist es zwar möglich, den Fehler einzugrenzen, allerdings sind die tatsächlichen Fehlerursachen nicht ermittelbar.
- Aufgabe der Erfindung ist es daher, eine Datenverarbeitungsvorrichtung anzugeben, bei der nach Auftreten eines Fehlers auf einfache Weise eine genaue Fehlerermittlung durchführbar ist.
- Diese Aufgabe wird durch eine Datenverarbeitungsvorrichtung der eingangs genannten Art gelöst, die dadurch gekennzeichnet ist, daß Mittel vorgesehen sind, durch die bei Auftreten eines Fehlers bei der Abbildung in der Abbildungsvorrichtung eine Speicherung von Fehlerrandbedingungen in einem für die Recheneinheit zugreifbaren Speicher durchführbar ist.
- Bei der erfindungsgemäßen Datenverarbeitungsvorrichtung wird demnach nicht nur eine Fehlernummer bereitgestellt, sondern bei der späteren Fehlerbehandlung kann das Umfeld untersucht werden, in dem die abgebrochene Operation zu einem Fehler geführt hat.
- Die im Rahmen der vorliegenden Erfindung verwendete Bezeichnung "Fehler" bezieht sich auf Ausnahmebedingungen, wenn es zu einer Programmflußunterbrechung aufgrund eines Fehlerzustandes kommt, der bei der Bearbeitung einer Instruktion aufgetreten ist. Es besteht also ein kausaler Zusammenhang zwischen der ausgeführten Instruktion und der Ausnahmebedingung bzw. dem Fehler. Es handelt sich um sogenannte synchrone Ausnahmebedingungen, die auch als Traps bezeichnet werden.
- Durch die genaue Ermittlung der Fehlerursache wird die Möglichkeit geschaffen, die Randbedingungen der Ausführung des ursprünglich abgebrochenen Befehls gezielt so zu verändern, daß eine Fortsetzung des Programms möglich ist.
- Der Umfang der gespeicherten Randbedingungen ist vom jeweiligen Einsatz abhängig, vorteilhaft ist jedoch, neben einem Fehlercode zumindest eine der folgenden Fehlerrandbedingungen zu speichern: die abzubildende virtuelle Adresse, die Zugriffsart, den Rechtestatus, die Identifikation eines Anfordernden, den gegenwärtigen Zustand des virtuellen Speichers oder den gegenwärtigen Zustand des physikalischen Speichers.
- Besonders vorteilhaft ist der Einsatz einer erfindungsgemäßen Datenverarbeitungsvorrichtung bei einer Chipkarte. Aufgrund des typischen Einsatzgebietes von Chipkarten werden besonders viele sicherheitsrelevante Operationen durchgeführt. Insbesondere bei diesen ist es von Wichtigkeit, die genaue Ursache des Auftretens eines Fehlers feststellen zu können.
- Die Erfindung wird nachfolgend anhand eines Ausführungsbeispiels näher erläutert. Die Figur zeigt eine schematische Darstellung einer erfindungsgemäßen Datenverarbeitungsvorrichtung.
- Eine Recheneinheit 1, im Folgenden als CPU bezeichnet, arbeitet mit Adressen eines virtuellen Speichers 4. Die Umwandlung einer logischen Adresse im virtuellen Speicher 4 durch eine Abbildungsvorrichtung 3 wird durch die CPU 1 angestoßen. Die Abbildungsvorrichtung ist zudem mit einem physikalischen Speicher 5 verbunden. Soweit entspricht die dargestellte Datenverarbeitungsvorrichtung dem in der Beschreibungseinleitung angesprochenen Stand der Technik.
- Um eine spätere Analyse von Fehlerrandbedingungen zu ermöglichen, sind Mittel 6 vorgesehen, durch die bei Auftreten eines Fehlers bei der Abbildung in der Abbildungsvorrichtung 3 eine Speicherung von Fehlerrandbedingungen in einem für die CPU 1 zugreifbaren Speicher 2 erfolgt. Vorrichtungen zum Erkennen des Auftretens eines Fehlers sind in der Abbildungsvorrichtung 3 implementiert und sind auch im Stand der Technik üblich, wobei nach dem Auftreten eines Fehlers ein Fehlercode, also eine fehlerspezifische Nummer, an die CPU 1 zurückgemeldet wird. Erfindungsgemäß werden gleichzeitig Fehlerrandbedingungen in einem für die CPU 1 zugreifbaren Speicher 2 abgelegt.
- Besonders von Bedeutung erscheinen für die Ermittlung der zugrundeliegenden Ursachen die folgenden Randbedingungen:
- Der Programmzähler, auch Program Counter oder Instruction Pointer genannt, identifiziert die Adresse der fehlerbehaftete Instruktion.
- Sofern unterschiedliche Befehlslängen existieren, z. B. 16 oder 32 Bit, sollte die entsprechende Länge codiert und bereitgehalten werden, z. B. "0" für 16 Bit oder "1" für 32 Bit.
- Die Codierung der Instruktion, auch Instruktionsformat oder OP-Code genannt, wird unverändert und/oder entsprechend einer Grobklassifizierung wie Sprung, Speicherzugriff, Arithmetik, Operation usw. festgehalten. Die entsprechenden Programmierbefehle sind Read, Write, Modify, Execute.
- Bei Operationen, die Adreßoperanden beinhalten, werden diese in einem Registersatz hinterlegt. Diese Adreßoperanden können logische bzw. virtuelle Speicher- oder Peripheraladressen, Registeradressen oder Sprungadressen sein. Bestimmten Operationen wie z. B. Multi-Zyklus-Instruktionen können hierbei auch auf eine Vielzahl von logischen Adressen zugreifen. Neben der logischen Adresse kann auch die physikalische Adresse gespeichert werden. Die virtuelle Adresse und die physikalische Adresse unterscheiden sich dabei oft in ihrer Länge, beispielsweise beträgt die Länge der virtuellen Adresse 32 Bit, während die Länge der physikalischen Zieladresse 20 Bit beträgt. In einigen Fällen beinhaltet die Übersetzung der virtuellen Adresse in die physikalische Adresse mehrstufige Tabellenzugriffe, die wiederum Speicherzugriffe darstellen. In diesem Fall werden auch die Zwischenadressen gespeichert.
- Der Rechtestatus einer auszuführenden Instruktion, z. B. privilegiert oder unprivilegiert, ist der aufrufenden Anwendung, einem Benutzer oder dem Betriebssystemkern zugeordnet. Der vorliegenden Rechtestatus sowie die tatsächlich für die Ausführung dieses Zugriffs erforderlichen Rechte werden ebenfalls in einem Register bereitgehalten. Unter "erforderliche Rechte" werden die bei Speicherschutzmechanismen existierenden Attribute einer bestimmten Speicherorganisationseinheit verstanden, z. B. Read-Only, Write-Only oder ausführbarer Code.
- Darüber hinaus wird die Identifikationsnummer des Fehlertyps wie im Stand der Technik gespeichert.
- Eine wichtige Rolle spielt die Identifikation des Anfordernden. So können Anforderungen von der CPU, aus einem Cache oder von einem weiteren Controller unterschiedliche Rechte besitzen. Während eine bestimmte Operation, die von der CPU selber veranlaßt ist, fehlerfrei abläuft, können sich bei der Anforderung der gleichen Operation durch einen weiteren Controller Fehler ergeben, da dieser weitere Controller nicht die erforderlichen Rechte zur Durchführung der Operation besitzt.
- In der beschriebenen Datenverarbeitungsvorrichtung ist der CPU 1 eine Fehlerbehandlungsvorrichtung 7 zugeordnet, die nach der Mitteilung des Fehlercodes von der Abbildungsvorrichtung 3 die in dem Speicher 2 abgelegten Daten über die Fehlerrandbedingungen untersucht, um die Fehler zu ermitteln. Der für die CPU zugreifbare Speicher 2 kann dabei durch die Register der CPU gebildet werden.
- Das Festhalten weiterer Fehlerrandbedingungen liegt im Rahmen des fachmännischen Könnens und ist daher von der Erfindung umfaßt. Bezugszeichenliste 1 Recheneinheit
2 Speicher
3 Abbildungsvorrichtung
4 virtueller Speicher
5 physikalischer Speicher
6 Mittel zur Speicherung von Fehlerrandbedingungen
7 Fehlerbehandlungsvorrichtung
Claims (5)
1. Datenverarbeitungsvorrichtung mit
einer Recheneinheit (1),
einer Speicherkomponente und
einer Abbildungsvorrichtung (3) zur Abbildung der Adressen eines virtuellen Speichers (4) auf Adressen eines physikalischen Speichers (5) in der Speicherkomponente, wobei die Durchführung einer Abbildung durch die Recheneinheit veranlaßt ist,
dadurch gekennzeichnet, daß
Mittel (6) vorgesehen sind, durch die bei Auftreten eines Fehlers bei der Abbildung in der Abbildungsvorrichtung (3) eine Speicherung von Fehlerrandbedingungen in einem für die Recheneinheit zugreifbaren Speicher (2) durchführbar ist.
einer Recheneinheit (1),
einer Speicherkomponente und
einer Abbildungsvorrichtung (3) zur Abbildung der Adressen eines virtuellen Speichers (4) auf Adressen eines physikalischen Speichers (5) in der Speicherkomponente, wobei die Durchführung einer Abbildung durch die Recheneinheit veranlaßt ist,
dadurch gekennzeichnet, daß
Mittel (6) vorgesehen sind, durch die bei Auftreten eines Fehlers bei der Abbildung in der Abbildungsvorrichtung (3) eine Speicherung von Fehlerrandbedingungen in einem für die Recheneinheit zugreifbaren Speicher (2) durchführbar ist.
2. Datenverarbeitungsvorrichtung nach Anspruch 1,
dadurch gekennzeichnet, daß
neben einem Fehlercode zumindest eine der folgenden
Fehlerrandbedingungen gespeichert wird:
die abzubildende virtuelle Adresse,
die Zugriffsart,
der Rechtestatus,
die Identifikation eines Anfordernden,
der gegenwärtige Zustand eines virtuellen Speichers oder eines Bereichs des virtuellen Speichers oder
der gegenwärtige Zustand des physikalischen Speichers oder eines Bereichs des physikalischen Speichers.
die abzubildende virtuelle Adresse,
die Zugriffsart,
der Rechtestatus,
die Identifikation eines Anfordernden,
der gegenwärtige Zustand eines virtuellen Speichers oder eines Bereichs des virtuellen Speichers oder
der gegenwärtige Zustand des physikalischen Speichers oder eines Bereichs des physikalischen Speichers.
3. Datenverarbeitungsvorrichtung nach Anspruch 1 oder 2,
dadurch gekennzeichnet, daß
eine Fehlerbehandlungsvorrichtung (7) vorgesehen ist zur
Behandlung eines Fehlers unter Verwendung der in dem für die
Recheneinheit (1) zugreifbaren Speicher abgelegten
Fehlerrandbedingungen.
4. Datenverarbeitungsvorrichtung nach Anspruch 3,
dadurch gekennzeichnet, daß
die Fehlerbehandlungsvorrichtung der Recheneinheit (1)
zugeordnet ist.
5. Chipkarte,
dadurch gekennzeichnet, daß
daß sie eine Datenverarbeitungsvorrichtung nach einem der
Ansprüche 1 bis 4 aufweist.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10208765A DE10208765A1 (de) | 2002-02-28 | 2002-02-28 | Datenverarbeitungsvorrichtung |
PCT/DE2003/000096 WO2003073288A2 (de) | 2002-02-28 | 2003-01-15 | Speicherung von fehlerrandbedingungen beim auftreten eines fehlers während der abbildung von virtuellen auf physikalischen adressen |
TW92101685A TW200307866A (en) | 2002-02-28 | 2003-01-27 | Data processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10208765A DE10208765A1 (de) | 2002-02-28 | 2002-02-28 | Datenverarbeitungsvorrichtung |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10208765A1 true DE10208765A1 (de) | 2003-09-18 |
Family
ID=27762506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10208765A Ceased DE10208765A1 (de) | 2002-02-28 | 2002-02-28 | Datenverarbeitungsvorrichtung |
Country Status (3)
Country | Link |
---|---|
DE (1) | DE10208765A1 (de) |
TW (1) | TW200307866A (de) |
WO (1) | WO2003073288A2 (de) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7886126B2 (en) | 2005-01-14 | 2011-02-08 | Intel Corporation | Extended paging tables to map guest physical memory addresses from virtual memory page tables to host physical memory addresses in a virtual machine system |
US7555628B2 (en) | 2006-08-15 | 2009-06-30 | Intel Corporation | Synchronizing a translation lookaside buffer to an extended paging table |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6240531B1 (en) * | 1997-09-30 | 2001-05-29 | Networks Associates Inc. | System and method for computer operating system protection |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6446224B1 (en) * | 1995-03-03 | 2002-09-03 | Fujitsu Limited | Method and apparatus for prioritizing and handling errors in a computer system |
-
2002
- 2002-02-28 DE DE10208765A patent/DE10208765A1/de not_active Ceased
-
2003
- 2003-01-15 WO PCT/DE2003/000096 patent/WO2003073288A2/de not_active Application Discontinuation
- 2003-01-27 TW TW92101685A patent/TW200307866A/zh unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6240531B1 (en) * | 1997-09-30 | 2001-05-29 | Networks Associates Inc. | System and method for computer operating system protection |
Non-Patent Citations (4)
Title |
---|
EN-US * |
http://support.microsoft.com/default.aspx?scid=KB * |
Q264938 (vom 8. Juni 2000) * |
Q268180 (vom 18. Januar 2001) * |
Also Published As
Publication number | Publication date |
---|---|
TW200307866A (en) | 2003-12-16 |
WO2003073288A2 (de) | 2003-09-04 |
WO2003073288A3 (de) | 2004-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10297433B4 (de) | Speicherverwaltungseinheit, Verfahren zum Bereitstellen einer Speicherzugriffssicherheit auf der Basis einer linearen Adresse und Prozessor | |
DE3587622T2 (de) | Emulationseinrichtung in einem Datenverarbeitungssystem. | |
DE19635204A1 (de) | Ausnahme-Sicherheitsschaltung | |
DE69930614T2 (de) | VERFAHREN UND GERÄT ZUM HANDHABEN VON mehrfachen flanken- und zustandsausgelösten unterbrechungen | |
EP0011685B1 (de) | Programmierbare Speicherschutzeinrichtung für Mikroprozessorsysteme und Schaltungsanordnung mit einer derartigen Einrichtung | |
DE2416609C2 (de) | Datenverarbeitungsanlage mit einer zentralen Verarbeitungseinheit und Multiprogrammierung mit mehreren Programmunterbrechungs-Prioritätsstufen | |
DE3650532T2 (de) | Speicher mit programmierbarem Zugang | |
DE68907518T2 (de) | Inhaltsadressierte Speicheranordnung. | |
DE69432245T2 (de) | Mikrorechner mit Speicherleseschutz | |
DE60224774T2 (de) | Datenverarbeitungssystem mit Lese-, Änderungs- und Schreibeinheit | |
DE68929080T2 (de) | Anordnung zum Speichern von Informationen für einen Datenanbieterprozessor | |
DE2718551C3 (de) | Adressenumsetzer | |
EP1358558B1 (de) | Mikroprozessorschaltung für datenträger und verfahren zum organisieren des zugriffs auf in einem speicher abgelegten daten | |
DE3809831C2 (de) | ||
EP0500973A1 (de) | Initialisierungsroutine im EEPROM | |
DE10297494T5 (de) | System und Verfahren zum Behandeln von Gerätezugriffen auf einen Speicher mit erhöhter Speicherzugriffssicherheit | |
DE3911721C2 (de) | ||
DE10297686B4 (de) | System und Verfahren zum Steuern der Zugriffe zwischen einzelnen Geräten innerhalb eines Computersystems | |
DE60010847T2 (de) | Verfahren zur Fehlerbeseitigung in einem Thread-Programm | |
DE3410497A1 (de) | Rechneranordnung | |
DE2755656A1 (de) | Einrichtung zum speicherschutz fuer digitalspeicher | |
DE10202758A1 (de) | DMA-Controller sowie Verfahren und Computersystem mit einem solchen | |
DE10208765A1 (de) | Datenverarbeitungsvorrichtung | |
DE102019128156A1 (de) | Verfahren zur Überprüfung eines FPGA-Programms | |
DE19709975C2 (de) | Mikrocomputer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8131 | Rejection |