PlusPedia wird derzeit technisch modernisiert. Aktuell laufen Wartungsarbeiten. Für etwaige Unannehmlichkeiten bitten wir um Entschuldigung; es sind aber alle Artikel zugänglich und Sie können PlusPedia genauso nutzen wie immer.

Neue User bitte dringend diese Hinweise lesen:

Anmeldung - E-Mail-Adresse Neue Benutzer benötigen ab sofort eine gültige Email-Adresse. Wenn keine Email ankommt, meldet Euch bitte unter NewU25@PlusPedia.de.

Hinweis zur Passwortsicherheit:
Bitte nutzen Sie Ihr PlusPedia-Passwort nur bei PlusPedia.
Wenn Sie Ihr PlusPedia-Passwort andernorts nutzen, ändern Sie es bitte DORT bis unsere Modernisierung abgeschlossen ist.
Überall wo es sensibel, sollte man generell immer unterschiedliche Passworte verwenden! Das gilt hier und im gesamten Internet.
Aus Gründen der Sicherheit (PlusPedia hatte bis 24.07.2025 kein SSL | https://)

Bei PlusPedia sind Sie sicher: – Wir verarbeiten keine personenbezogenen Daten, erlauben umfassend anonyme Mitarbeit und erfüllen die Datenschutz-Grundverordnung (DSGVO) vollumfänglich. Es haftet der Vorsitzende des Trägervereins.

PlusPedia blüht wieder auf als freundliches deutsches Lexikon.
Wir haben auf die neue Version 1.43.3 aktualisiert.
Wir haben SSL aktiviert.
Hier geht es zu den aktuellen Aktuelle Ereignissen

CPU Exceptions: Unterschied zwischen den Versionen

Aus PlusPedia
Zur Navigation springen Zur Suche springen
Michelle DuPont (Diskussion | Beiträge)
new
 
Fmrauch (Diskussion | Beiträge)
allgemeines Bild raus
 
(6 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 7: Zeile 7:
** ''Aborts'':  Das sind die schwerwiegendsten Fälle von ''CPU Exceptions''. Oft ist die Quelle der Ursache nicht ermittelbar.  
** ''Aborts'':  Das sind die schwerwiegendsten Fälle von ''CPU Exceptions''. Oft ist die Quelle der Ursache nicht ermittelbar.  
* Außerdem werden ''CPU Exceptions'' auch in die drei Exceptiontypen ''benign'', ''contributory'' und ''page fault'' eingeteilt. Dabei sind ''CPU Exceptions'' des Typs ''benign'' eher harmlose Fehler, die meist keine weiteren Folgen haben. ''CPU Exceptions'' des Typs ''contributory'' sind Fehler, die einen Einfluss auf den weiteren Programmverlauf haben könnten, wie bsp. ein ''Stack Overflow''. ''CPU Exceptions'' des Typs ''page fault'' signalisieren, dass versucht wurde auf eine Seite zuzugreifen, die derzeit nicht im Speicher verfügbar ist. <ref>Trutz Eyke Podschun: ''Das Assembler-Buch - Grundlagen, Einführung und Hochsprachnoptimierung'', Addison-Wesley Verlag, 2002, Seite 499 bis 529</ref>
* Außerdem werden ''CPU Exceptions'' auch in die drei Exceptiontypen ''benign'', ''contributory'' und ''page fault'' eingeteilt. Dabei sind ''CPU Exceptions'' des Typs ''benign'' eher harmlose Fehler, die meist keine weiteren Folgen haben. ''CPU Exceptions'' des Typs ''contributory'' sind Fehler, die einen Einfluss auf den weiteren Programmverlauf haben könnten, wie bsp. ein ''Stack Overflow''. ''CPU Exceptions'' des Typs ''page fault'' signalisieren, dass versucht wurde auf eine Seite zuzugreifen, die derzeit nicht im Speicher verfügbar ist. <ref>Trutz Eyke Podschun: ''Das Assembler-Buch - Grundlagen, Einführung und Hochsprachnoptimierung'', Addison-Wesley Verlag, 2002, Seite 499 bis 529</ref>
=== Liste der CPU Exceptions ===
{| {{Prettytable}}
! Vektor || Bezeichnung || Typ || Fehlercode
|-
| 0x00 || #DE - [[CPU Exception Divide Error|Divide Error]] || Fault || nein
|-
| 0x01 || #DB - [[Exception#Debug | Debug]] || Fault/Trap || nein
|-
| 0x02 || #NMI - [[Non Maskable Interrupt]] || - || nein
|-
| 0x03 || #BP - [[Exception#Breakpoint | Breakpoint]] || Trap || nein
|-
| 0x04 || #OF - [[Exception#Overflow | Overflow]] || Trap || nein
|-
| 0x05 || #BR - [[Exception#Bound_Range | Bound Range]] || Fault || nein
|-
| 0x06 || #UD - [[CPU Exception Invalid Opcode|Invalid Opcode]] || Fault || nein
|-
| 0x07 || #NM - [[Exception#Device_Not_Available | Device Not Available]] || Fault || nein
|-
| 0x08 || #DF - [[Exception#Double_Fault | Double Fault]] || Abort || ja
|-
| 0x09 || [[Exception#Coprocessor_Segment_Overrun | Coprocessor Segment Overrun]] || - || nein
|-
| 0x0a || #TS - [[CPU Exception Invalid TSS|Invalid TSS]] || Fault || ja
|-
| 0x0b || #NP - [[Exception#Segment_not_Present | Segment not Present]] || Fault || ja
|-
| 0x0c || #SS - [[CPU Exception Stack Segment Fault|Stack Fault]] || Fault || ja
|-
| 0x0d || #GP - [[Exception#General_Protection | General Protection]] || Fault || ja
|-
| 0x0e || #PF - [[Exception#Page_Fault | Page Fault]] || Fault || ja
|- bgcolor="#bbb"
| 0x0f || ''Reserviert'' || - || -
|-
| 0x10 || #MF - [[Exception#x87_Floating_Point | x87 Floating Point]] || Fault || nein
|-
| 0x11 || #AC - [[Exception#Alignment_Check | Alignment Check]] || Fault || ja
|-
| 0x12 || #MC - [[Exception#Machine_Check | Machine Check]] || Abort || nein
|-
| 0x13 || #XF - [[Exception#SIMD_Floating_Point | SIMD Floating Point]] || Fault || nein
|- bgcolor="#bbb"
| 0x14-0x1d || ''Reserviert'' || - || -
|-
| 0x1e || #SX - Security-sensitive event in Host || - || ja
|- bgcolor="#bbb"
| 0x1f || ''Reserviert'' || - || -
|}
== Links und Quellen ==
== Links und Quellen ==
=== Siehe auch ===
=== Siehe auch ===

Aktuelle Version vom 25. August 2021, 21:35 Uhr

CPU Exceptions sind definierte Ausnahmefälle in der x86-Architektur, bei denen die CPU selber eine definierte Routine (Interrupt) auslöst

Details

  • Den CPU Exceptions werden die Interrupts 0 bis 31 zugeordnet.
  • Man teilt die CPU Exceptions in drei Klassen ein:
    • Faults: Das sind "Stolpersteine", nach deren Beseitigung das Programm ohne Probleme fortgesetzt werden kann. Bei einem Fault stellt der Prozessor deshalb den Zustand wieder her, der vor der Ausführung des Befehls herrschte, der zur CPU Exception führte.
    • Traps: Das sind Fehler, die nicht mehr korrigierbar sind. Die Rücksprungadresse für den Exception-Handler zeigt deshalb auf die Adresse des Befehls, der dem Befehl unmittelbar folgt.
    • Aborts: Das sind die schwerwiegendsten Fälle von CPU Exceptions. Oft ist die Quelle der Ursache nicht ermittelbar.
  • Außerdem werden CPU Exceptions auch in die drei Exceptiontypen benign, contributory und page fault eingeteilt. Dabei sind CPU Exceptions des Typs benign eher harmlose Fehler, die meist keine weiteren Folgen haben. CPU Exceptions des Typs contributory sind Fehler, die einen Einfluss auf den weiteren Programmverlauf haben könnten, wie bsp. ein Stack Overflow. CPU Exceptions des Typs page fault signalisieren, dass versucht wurde auf eine Seite zuzugreifen, die derzeit nicht im Speicher verfügbar ist. [1]

Liste der CPU Exceptions

Vektor Bezeichnung Typ Fehlercode
0x00 #DE - Divide Error Fault nein
0x01 #DB - Debug Fault/Trap nein
0x02 #NMI - Non Maskable Interrupt - nein
0x03 #BP - Breakpoint Trap nein
0x04 #OF - Overflow Trap nein
0x05 #BR - Bound Range Fault nein
0x06 #UD - Invalid Opcode Fault nein
0x07 #NM - Device Not Available Fault nein
0x08 #DF - Double Fault Abort ja
0x09 Coprocessor Segment Overrun - nein
0x0a #TS - Invalid TSS Fault ja
0x0b #NP - Segment not Present Fault ja
0x0c #SS - Stack Fault Fault ja
0x0d #GP - General Protection Fault ja
0x0e #PF - Page Fault Fault ja
0x0f Reserviert - -
0x10 #MF - x87 Floating Point Fault nein
0x11 #AC - Alignment Check Fault ja
0x12 #MC - Machine Check Abort nein
0x13 #XF - SIMD Floating Point Fault nein
0x14-0x1d Reserviert - -
0x1e #SX - Security-sensitive event in Host - ja
0x1f Reserviert - -

Links und Quellen

Siehe auch

Weblinks

Bilder / Fotos

Videos

Quellen

Literatur

  • Trutz Eyke Podschun: Das Assembler-Buch - Grundlagen, Einführung und Hochsprachnoptimierung, Addison-Wesley Verlag, 2002, Seite 499 bis 529

Naviblock

Einzelnachweise

  1. Trutz Eyke Podschun: Das Assembler-Buch - Grundlagen, Einführung und Hochsprachnoptimierung, Addison-Wesley Verlag, 2002, Seite 499 bis 529

Andere Lexika