[go: up one dir, main page]

DE10208765A1 - Datenverarbeitungsvorrichtung - Google Patents

Datenverarbeitungsvorrichtung

Info

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
Application number
DE10208765A
Other languages
English (en)
Inventor
Berndt M Gammel
Chrsitian May
Ralph Ledwa
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE10208765A priority Critical patent/DE10208765A1/de
Priority to PCT/DE2003/000096 priority patent/WO2003073288A2/de
Priority to TW92101685A priority patent/TW200307866A/zh
Publication of DE10208765A1 publication Critical patent/DE10208765A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0706Error 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/073Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0751Error 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 Inhalt des Programmzähler
  • Der Programmzähler, auch Program Counter oder Instruction Pointer genannt, identifiziert die Adresse der fehlerbehaftete Instruktion.
  • Die Befehlslänge
  • 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.
  • Das Instruktionsformat
  • 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.
  • Die Zieladresse
  • 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
  • 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.
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.
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.
DE10208765A 2002-02-28 2002-02-28 Datenverarbeitungsvorrichtung Ceased DE10208765A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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