DE102004048945A1 - System monitoring unit - Google Patents

System monitoring unit Download PDF

Info

Publication number
DE102004048945A1
DE102004048945A1 DE200410048945 DE102004048945A DE102004048945A1 DE 102004048945 A1 DE102004048945 A1 DE 102004048945A1 DE 200410048945 DE200410048945 DE 200410048945 DE 102004048945 A DE102004048945 A DE 102004048945A DE 102004048945 A1 DE102004048945 A1 DE 102004048945A1
Authority
DE
Germany
Prior art keywords
monitoring unit
protection
microprocessor
system monitoring
access
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.)
Granted
Application number
DE200410048945
Other languages
German (de)
Other versions
DE102004048945B4 (en
Inventor
Roland Lieder
Ralf Kaiser
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.)
Renesas Electronics Europe GmbH
Original Assignee
Renesas Electronics Europe GmbH
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 Renesas Electronics Europe GmbH filed Critical Renesas Electronics Europe GmbH
Priority to DE200410048945 priority Critical patent/DE102004048945B4/en
Priority to PCT/EP2005/010507 priority patent/WO2006040014A2/en
Publication of DE102004048945A1 publication Critical patent/DE102004048945A1/en
Application granted granted Critical
Publication of DE102004048945B4 publication Critical patent/DE102004048945B4/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • 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/0766Error or fault reporting or storing
    • 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/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2105Dual mode as a secondary aspect

Abstract

Eine Systemüberwachungseinheit überwacht ein Steuerungsgerät mit Mikroprozessor mittels einer Peripherieüberwachungseinheit, welche Zugriffe auf einzelne Peripheriegeräte des Mikroprozessors überwacht und Schutzverletzungen verhindert und meldet, einer Schutzverletzungsverwaltungseinheit, welche gemeldete Schutzverletzungen klassifiziert und mit weiteren Informationen speichert und ausgibt, einer Betriebsmodusüberwachungseinheit, welche bei gemeldeten Schutzverletzungen den Mikroprozessor in einen Supervisor-Modus umschaltet, einer Speicherzugriffsüberwachungseinheit und einer Laufzeitüberwachungseinheit.A system monitor monitors a microprocessor controller by means of a peripheral monitor which monitors accesses to individual microprocessor peripherals and prevents and reports protection violations, a protection violation manager which classifies reported protection breaches and stores and outputs with further information to an operational mode monitor which, upon reported protection violations, suspends the microprocessor in switches a supervisor mode, a memory access monitor, and a runtime monitor.

Description

Die vorliegende Erfindung bezieht sich auf eine Vorrichtung und ein Verfahren zur Überwachung der Funktion eines Steuergerätes mit einem Mikroprozessor.The The present invention relates to a device and a Procedure for monitoring the function of a control unit with a microprocessor.

Je größer und komplexer Programme werden, desto schwieriger wird es, sie auf Fehler zu überprüfen und fehlerfrei zu gestalten. Beim Ausführen auf Multitaskingsystemen können fehlerhafte Programme andere Applikationen oder das Betriebssystem blockieren oder zum Absturz bringen. Dies kann beispielsweise bei Steuergeräten im Kraftfahrzeugbereich gefährlich sein, wenn diese sicherheitsrelevante Aufgaben haben.ever bigger and the more complex it becomes, the more difficult it becomes to make mistakes to check and error-free. When running on multitasking systems can faulty programs other applications or the operating system block or crash. This can for example in control units in the automotive field dangerous be if they have security-related responsibilities.

Um die Folgen fehlerhafter Programme zu begrenzen, werden Benutzerprogramme häufig in einem anderen Betriebsmodus ausgeführt als das Betriebssystem. Dadurch kann man den Zugriff der Benutzerprogramme auf bestimmte Funktionen unterbinden.Around to limit the consequences of faulty programs become user programs often running in a different operating mode than the operating system. This allows the access of the user programs to certain Prevent functions.

Um den Zugriff auf fremde Speicherbereiche zu verhindern, kann man das System durch eine Speicherüberwachungseinheit ergänzen, die unerlaubte Zugriffe meldet oder verhindert. Diese benutzt eine variierende Anzahl von Komparatoren, die an den Adressbus des Mikroprozessors angeschlossen sind und die paarweise nach dem Prinzip "größer als" und "kleiner als" arbeiten. Jeweils ein Schutzblock des Speichers besitzt ein Paar dieser Komparatoren, wodurch festgestellt werden kann, ob eine aktuelle Adresse des Mikroprozessors innerhalb des Schutzblockes liegt oder nicht. Durch eine Klassifikation von Zugriffsrechten kann dann ermittelt werden, ob der aktuelle Speicherzugriff innerhalb des Schutzblockes erlaubt ist oder nicht. Ein nicht erlaubter Zugriff wird als Schutzverletzung bezeichnet und löst eine Ausnahmebehandlung des Betriebssystems aus. Das Betriebssystems seinerseits legt die Zugriffsrechte und die Grenzen der Schutzblöcke fest. Auf diese Weise wird sichergestellt, dass das Gesamtsystem nur innerhalb der festgelegten Speicher bereiche arbeitet. Eine solche Speicherüberwachungseinheit wird z.B. in der Patentschrift US 5657475 offenbart. Das Umprogrammieren der Schutzbereiche einer solchen Vorrichtung kostet jedoch zusätzliche Rechenzeit.In order to prevent access to foreign storage areas, the system can be supplemented by a storage monitoring unit which reports or prevents unauthorized access. This uses a varying number of comparators connected to the address bus of the microprocessor and working in pairs on the principle of "greater than" and "less than". Each one protection block of the memory has a pair of these comparators, whereby it can be determined whether a current address of the microprocessor is within the protection block or not. By a classification of access rights can then be determined whether the current memory access is allowed within the protection block or not. An unauthorized access is called a protection violation and triggers an exception handling of the operating system. The operating system, in turn, sets the access rights and limits of the protection blocks. This ensures that the entire system operates only within the specified memory areas. Such a memory monitoring unit is for example in the patent US 5657475 disclosed. The reprogramming of the protection areas of such a device, however, costs additional computing time.

Um eine Blockade des Systems durch einzelne Applikationen zu verhindern, kann ein sogenannter Watchdog-Timer verwendet werden. Dieser besteht aus einer Uhr, die abläuft und regelmäßig neu gestartet werden muß. Wenn ein Neustart der Uhr unterbleibt, z.B. durch eine blockierende Applikation, wird das gesamte System zurückgesetzt. Das Betriebssystem kann jedoch nicht erkennen, warum die Uhr nicht neu gestartet wurde. Außerdem ist ein Zurücksetzen des Gesamtsystems inbesondere bei Multitaskingsteuersystemen nicht erwünscht, da sonst auch fehlerfrei laufende Steuerfunktionen unterbrochen werden.Around to prevent a blockage of the system by individual applications a so-called watchdog timer can be used. This one exists from a clock that expires and regularly new must be started. If a restart of the watch fails, e.g. by a blocking Application, the entire system is reset. The operating system however, can not see why the clock has not been restarted. Furthermore is a reset of the overall system, especially in multitasking control systems he wishes, otherwise error-free running control functions interrupted become.

Ein weiteres Problem stellen Fehlzugriffe auf Peripheriegeräte dar. Solche Zugriffe lassen sich zur Zeit nur mangelhaft durch eine Speicherzugriffüberwachung unterbinden und dies auch nur dann, wenn die Peripheriegeräte über Speicherzugriffe erreichbar sind.One Another problem is missing access to peripherals. Such accesses can currently only be poorly achieved by a memory access monitoring stop and this only if the peripherals have memory accesses are reachable.

Aufgabe dieser Erfindung ist es, eine Vorrichtung und ein Verfahren zur umfassenderen Überwachung der Funktion eines Steuergerätes mit einem Mikroprozessor bereitzustellen.task This invention is an apparatus and a method for more comprehensive monitoring of Function of a control unit to provide with a microprocessor.

Diese Aufgabe wird gelöst durch eine Vorrichtung nach Anspruch 1 und ein Verfahren nach Anspruch 10. Die Unteransprüche beziehen sich auf vorteilhafte Ausgestaltungen der Erfindung.These Task is solved by an apparatus according to claim 1 and a method according to claim 10. The dependent claims refer to advantageous embodiments of the invention.

1 zeigt eine Übersicht der Systemüberwachung; 1 shows an overview of the system monitoring;

2 zeigt eine Übersicht der Peripherieüberwachung; 2 shows an overview of peripheral monitoring;

3 zeigt eine Übersicht der Schutzverletzungsverwaltung; 3 shows an overview of the protection violation management;

4 zeigt die Verwendung von Alternativregistern für die Speicherzugriffsüberwachung; 4 shows the use of alternate registers for memory access monitoring;

5 zeigt eine weitere Unterteilung von geschützten Bereichen des Speichers; und 5 shows a further subdivision of protected areas of the memory; and

6 zeigt eine Übersicht der Laufzeitüberwachung. 6 shows an overview of runtime monitoring.

Zunächst wird beispielhaft eine Systemüberwachungseinheit (SPU) beschrieben, die eine Peripherieüberwachungseinheit (PPU), eine Schutzverletzungsverwaltungseinheit (PVH) und eine Betriebsmodusüberwachungseinheit (OMM) umfasst, es folgen Beschreibungen einer Speicherzugriffsüberwachungseinheit (MPU) und einer Laufzeitüberwachungseinheit (DSU).First, will an example of a system monitoring unit (SPU), which is a Peripheral Monitoring Unit (PPU), a Protection Violation Management Unit (PVH) and an operation mode monitoring unit (OMM), descriptions of a memory access monitoring unit (MPU) follow. and a runtime monitoring unit (DSU).

Aufgrund ihrer engen Verknüpfung mit internen Funktionen eines Mikroprozessors wird die SPU bevorzugt direkt in den Prozessorkern eingebaut. In diesem Beispiel wird die SPU in die NEC CPU V850/E2 eingebaut.by virtue of their close connection with internal functions of a microprocessor, the SPU is preferred built directly into the processor core. In this example, the SPU built into the NEC CPU V850 / E2.

Die Peripherieüberwachung (PPU) erfüllt die Aufgabe der separaten Überwachung einzelner Peripheriegeräte des Mikroprozessors. Für jedes Perpheriegerät kann die lesende und schreibende Zugriffsberechtigung pro Betriebsmodus des Prozessors eingestellt werden. Bevorzugt erfolgen sämtliche Zugriffe auf die Systemüberwachungseinheit über diese Teilfunktion. Somit ist die Aufgabe dieser Teilfunktion die Sicherung der SPU, inklusive aller Peripheriegeräte, gegen ungewollte falsche Zugriffe durch Programmteile des Gesamtsystems. Hierbei ist das Betriebssystem mit eingeschlossen, denn obwohl der Supervisor-Modus, in dem das Betriebssystem ausgeführt wird, den Zugang zu vielen Teilen ermöglicht, kann auch hier der Zugang explizit blockiert werden.The periphery surveillance (PPU) met the task of separate monitoring individual peripherals of the microprocessor. For every perpheria device can read and write access per operating mode of the processor. Preferably all done Access to the system monitor via this Part function. Thus, the task of this subfunction is the backup the SPU, including all peripherals, against unwanted false ones Accesses by program parts of the overall system. Here it is Operating system included, because although the supervisor mode, where the operating system is running which allows access to many parts, can also be used here Access be explicitly blocked.

2 zeigt die Peripherieüberwachung, die an den Peripheriebus angeschlossen ist wie alle anderen Peripheriegeräte, einschließlich der SPU selbst. Jedoch bildet die Peripherieüberwachung den zentralen Zugang zu allen Peripheriegeräten, einschließlich der SPU, indem sie die Freigabesignale kontrolliert. Sie ist somit zwischen den üblichen Adressdekoder und die Peripheriegeräte geschaltet. Die Implementation der Peripherieüberwachung hängt von der jeweiligen Implementation einzelner Peripheriegeräte ab und muss jeweils angepasst werden. 2 shows the peripheral monitoring connected to the peripheral bus like all other peripherals, including the SPU itself. However, peripheral monitoring provides central access to all peripherals, including the SPU, by controlling the enable signals. It is thus connected between the usual address decoder and the peripherals. The implementation of peripheral monitoring depends on the respective implementation of individual peripheral devices and must be adapted in each case.

PAE Bits (Peripheriezugriffsberechtigungsbits) enthalten die Kodierung, welcher Betriebsmodus des Mikropozessors für welche Teilfunktionen den Zugang in Lese- oder Schreibrichtung freischaltet. Dies betrifft auch die PAE Bits selbst, d.h. auch die Kodie rung der Freigabe für die PAE Bits ist in ihnen selbst gespeichert. Die PAE Bits sind in zwei Klassen unterteilt, nämlich in Systemgeräte und andere Peripheriegeräte.PAE Bits (peripheral access authorization bits) contain the coding, which mode of operation of the microprocessor for which subfunctions Access in the reading or writing direction unlocks. This also applies the PAE bits themselves, i. also the coding of the release for the PAE Bits are stored in themselves. The PAE bits are in two Divided into classes, namely in system devices and other peripherals.

Zu den Systemgeräten zählen besonders sensitive Bereiche des Systems wie DMA, Interrupt, Speicherkonfiguration, Buskonfiguration und die SPU selbst. Diese PAE Bits sind durch eine zusätzliche Sicherheitssequenz zusätzlich geschützt.To the system devices counting particularly sensitive areas of the system such as DMA, interrupt, memory configuration, Bus configuration and the SPU itself. These PAE bits are through a additional Security sequence in addition protected.

Die anderen Peripheriegeräte sind alle übrigen Peripheriegeräte, die keine zusätzliche Sicherheitssequenz benötigen.The other peripherals are all the rest Peripherals the no extra Security sequence need.

Die Sicherheitssequenz besteht aus einem Schreibzugriff auf ein dediziertes Sicherheitsregister und dem unmittelbar folgenden Schreibzugriff auf die PAE Bits. Zwischen den beiden Zugriffen darf kein anderer Peripheriezugriff erfolgen.The Security sequence consists of a write access to a dedicated Security register and the immediately following write access on the PAE bits. There must not be any other peripheral access between the two accesses respectively.

Die PAE Bits enthalten je ein Bit zur Einstellung der Zugangsrechte (Berechtigungen):
Pro Peripheriegerät (4 Bits)

  • – Schreibberechtigung im Supervisor-Modus
  • – Leseberechtigung im Supervisor-Modus
  • – Schreibberechtigung im User-Modus
  • – Leseberechtigung im User-Modus
The PAE bits each contain one bit for setting the access rights (authorizations):
Per peripheral device (4 bits)
  • - Write authorization in supervisor mode
  • - Read authorization in supervisor mode
  • - Write authorization in user mode
  • - Read authorization in user mode

Somit entstehen für n Peripheriegeräte bis zu 4n PAE Konfigurationsbits. Je nach Peripheriegerät können Berechtigungen kombiniert werden, so dass entsprechend weniger PAE Konfigurationsbits benötigt werden.Consequently arise for n peripherals up to 4n PAE configuration bits. Depending on the peripheral device, permissions may be combined, so that correspondingly less PAE configuration bits needed become.

Wenn PAE Konfigurationsbits durch eine Implementation im Register veränderlich sind, muss der Zustand der Konfigurationsbits nach einem Rücksetzen des Systems definiert sein. Dies kann für jedes PAE Konfigurationsbit getrennt festgelegt werden. Sinnvollerweise sollte nach einem Rücksetzen des Systems der Zugang zu allen Peripheriegeräten und Systemgeräten für alle Betriebsmodi sowohl schreibend als auch lesend erlaubt sein. Dies ermöglicht den Lauf alter Programme, die die PPU noch nicht berücksichtigen.If PAE configuration bits changeable by an implementation in the register the state of the configuration bits must be after a reset be defined by the system. This can be done for every PAE configuration bit be set separately. It makes sense to reset after a reset system access to all peripherals and system devices for all modes of operation be allowed to write as well as read. This allows the Run old programs that do not yet consider the PPU.

Nicht jedes PAE Konfigurationsbit muss ein veränderliches Registerbit sein. Stattdessen können auch feste, unveränderliche Werte eingesetzt sein. Sinnvollerweise sollte z.B. die 4-bit Konfiguration des Zugangs zu den PAE Bits selbst (PAE Register) fest eingestellt sein, so daß nur im Supervisor-Modus eine Schreib- und Leseberechtigung für die PAE Bits besteht. Außer einer Erhöhung der Betriebssicherheit bewirkt die feste Einstellung, dass es nicht möglich ist, durch Löschen aller PAE Bits sich die Möglichkeit eines weiteren Zugangs zu allen Peripheriegeräten permanent zu entziehen, was nur durch ein Rücksetzen des Systems aufgehoben werden könnte.Not Each PAE configuration bit must be a variable register bit. Instead, you can also firm, unchanging Values be used. It makes sense to use e.g. the 4-bit configuration access to the PAE bits themselves (PAE register) so that only in the supervisor mode a read and write authorization for the PAE Bits. Except an increase the operational safety causes the firm attitude that it is not possible is, by deleting all PAE bits get the chance permanently withdraw access to all peripherals, which only by a reset of the system could be lifted.

Des weiteren enthält die PPU ein Speicherregister, das die Peripherieadresse speichert, falls eine Schutzverletzung auftritt.Of contains more the PPU is a storage register that stores the peripheral address, if a protection fault occurs.

Eine Schutzverletzung tritt auf, sobald der Mikroprozessor in einem Betriebsmodus auf ein Peripheriegerät auf eine Art und Weise zugreift, die nicht durch die entsprechende PAE Bits explizit erlaubt (konfiguriert) worden ist. Im Falle einer Schutzverletzung wird der Zugriff des Mikroprozessors verhindert und der Zugriffzyklus beendet, sodasss der Mikroprozessor weiterlaufen kann. Gleichzeitig wird die betroffene Peripherieadresse im Speicherregister gespeichert und der Alarm der Schutzverletzung ausgelöst. Ein Alarm der Schutzverletzung wird ebenfalls ausgelöst, wenn die Sicherheitssequenz beim Beschreiben der PAE Bits der Systemgeräte nicht korrekt eingehalten wird. Der Alarm der Schutzverletzung und die gespeicherte betroffene Peripherieadresse werden an die integrierende Teilfunktion PVH weitergeleitet.A Protection fault occurs as soon as the microprocessor is in an operating mode on a peripheral device accesses in a way that is not through the appropriate PAE bits have been explicitly allowed (configured). In case of a Protection violation prevents the access of the microprocessor and the access cycle ends so that the microprocessor continues to run can. At the same time, the affected I / O address is stored in the memory register stored and the alarm of protection fault triggered. One Alarm of protection violation is also triggered when the security sequence not correctly adhered to when describing the PAE bits of the system devices becomes. The alarm of the protection violation and the stored affected Peripheral addresses are forwarded to the integrating subfunction PVH.

Die Schutzverletzungsverwaltung (PVH) ist eine zentrale Sammelstelle für alle Schutzverletzungs-Alarme der SPU (3). Die zentralisierte Anordnung hat den Vorteil, dass das Betriebssystem die Behandlung von und Reaktion auf Schutzverletzungen sehr kompakt und generisch vornehmen kann.The Protection Infringement Administration (PVH) is a central collection point for all SPU infringement alerts ( 3 ). The centralized arrangement has the advantage that the operating system can make the treatment of and response to protection violations very compact and generic.

Des weiteren enthält die Schutzverletzungsverwaltung ein Register für eine Überwachungs-Identifikation (SID). Dieses Register ist über die PPU Funktion beschreibbar, wird im Alarmfall gesichert und ist dann zusammen mit der klassifizierten Alarmursache auslesbar. Dadurch hat das Betriebssystem die Möglichkeit, an zentraler Stelle alle Informationen über Schutzverletzungen zu bekommen und außerdem eine Merkzahl als SID sicher zu hinterlegen (bei Einstellungen der PPU dermaßen, dass der User-Modus keinen Zugriff bekommt), um den letzten Status zu sichern.Of contains more the protection violation management a register for a monitoring identification (SID). This register is over the PPU function is writable, is secured in case of alarm and is then readable together with the classified alarm cause. Thereby the operating system has the option to central office to get all the information about protection violations and also to store a flag as SID (with the settings of the PPU so, that the user mode does not get access) to the last status to secure.

Wenn ein Alarm ausgelöst wird, so wird er klassifiziert und mit eventuellen weiteren Zusatzinformationen zusammen mit dem aktuellen Wert der SID im Alarm-Ursachen-Register gespeichert.If an alarm is triggered it will be classified and with any further additional information stored together with the current value of the SID in the Alarm Cause Register.

Je nach Alarmursache werden noch Zusatzinformationen im Alarm-Ursachen-Register gespeichert. Diese sind wie folgt.ever after alarm cause additional information in the alarm causes register saved. These are as follows.

Figure 00060001
Tabelle 1: Inhalt des Alarm-Ursachen-Registers
Figure 00060001
Table 1: Contents of the Alarm Causes Register

Die Klassifizierung ist wie folgt verschlüsseltt:The Classification is encrypted as follows:

Figure 00070001
Tabelle 2: Klassifizierungskodes der Ursachen für Schutzverletzungs-Alarme
Figure 00070001
Table 2: Classification codes of causes of protection failure alarms

Die Betriebsmodusüberwachung (OMM) ist die automatische Umschaltung der Betriebsmodi Supervisor und User. Diese Funktionalität muss für den Betrieb der SPU folgende Merkmale aufweisen:
Jedes Rücksetzen, jeder Trap oder Interrupt führt zwangsweise in den Supervisor-Modus;
ein durch den speziellen Schutzblock der MPU ausgelöstes Signal beim Einsprung in den Sprungtabellenbereich dieses Schutzblocks führt in den Supervisor-Modus (siehe unten);
wird eine Interrupt-Routine durch den speziellen Rücksprungbefehl (RETI) beendet, wird der Modus eingestellt, welcher vor Eintritt in die Interrupt Routine anlag (User- oder Supervisor-Modus, s.u.);
durch einen speziellen Sprungbefehl (JMPU) (siehe unten) oder durch direktes Ändern des Betriebsmodus (Status-Bit) kann der Supervisor-Modus verlassen werden, und der User-Modus wird eingestellt;
wird der spezielle Rücksprungbefehl (RETI) zum Beenden einer Funktion verwendet, die mit JMPU gerufen wurde, wird der Supervisor-Modus eingestellt; und
eine versuchte Ausführung privilegierter Befehle im User-Modus führt zu einem Trap des Prozessors und somit in den Supervisor-Modus.
The operating mode monitoring (OMM) is the automatic switching of the operating modes Supervisor and User. This functionality must have the following characteristics for the operation of the SPU:
Each reset, every trap or interrupt forcibly enters the supervisor mode;
a signal triggered by the special protection block of the MPU when entering the jump table area of this protection block leads to the supervisor mode (see below);
If an interrupt routine is terminated by the special return command (RETI), the mode is set which was before entry into the interrupt routine (user or supervisor mode, see below);
by a special jump command (JMPU) (see below) or by directly changing the operating mode (status bit), the supervisor mode can be left, and the user mode is set;
if the special return instruction (RETI) is used to terminate a function called with JMPU, the supervisor mode is set; and
attempting to execute privileged commands in user mode results in a trap of the processor and thus in supervisor mode.

Die Speicherzugriffsüberwachung (MPU) ist in der SPU integriert, um die Vollständigkeit der Systemüberwachung zu ermöglichen. Zusätzlich zur bekannten Funktionalität der MPU, die für jeden Schutzblock genau eine Konfiguration vorsieht, bietet die Erweiterung der MPU durch Alternativregister die Möglichkeit, zwei unterschiedliche Konfigurationen für jeden Schutzblock zu bestimmen (4).The memory access monitoring (MPU) is integrated in the SPU to allow the completeness of system monitoring. In addition to the well-known functionality of the MPU, which provides exactly one configuration for each protection block, the extension of the MPU by alternative registers offers the possibility of determining two different configurations for each protection block ( 4 ).

Die Alternativregister der Konfiguration können eine weitere Einstellung des Schutzblokkes speichern, die über die Umschaltung (Wechsel) gegen die Normaleinstellung sehr schnell austauschbar ist. Dies bedeutet, dass das Betriebssystem die Adresseinstellungen und Zugriffsberechtigungen nicht neu programmieren muss, sondern vielmehr nur die Konfigurationen austauscht.The Alternative registers of the configuration may have another setting of the protection block, which can be changed via the changeover can be exchanged very quickly against the normal setting. This means that the operating system has the address settings and access permissions do not have to reprogram, but rather just the configurations exchanges.

Über die Wechselkonfiguration kann nun ausgewählt werden, ob ein Schutzblock (a) in der Normalkonfiguration aktiviert ist, (b) in der Alternativkonfiguration aktiviert ist, (c) nicht aktiviert ist oder (d) der Betriebsmodus des Mikroprozessors entscheidet, welche Konfiguration aktiv ist.About the Switching configuration can now be selected, whether a protection block (a) is activated in the normal configuration, (b) in the alternative configuration is activated, (c) is not activated or (d) the operating mode The microprocessor decides which configuration is active.

Die Einstellung (d) ermöglicht eine schnelle Umschaltung der Konfiguration, sobald der Mikroprozessor seinen Betriebsmodus ändert. Der Betriebsmodus des Prozessors kann zum Beispiel der Supervisor-Modus/User-Modus sein. Wenn man davon ausgeht, dass das Betriebssystem im Supervisor-Modus läuft, während die Applikationen im User-Modus laufen, kann damit die Einstellung der Schutzblöcke für das Betriebssystem anders gesetzt sein als für die Applikationen. Dies ist sinnvoll, da in der Regel das Betriebssystem mehr Zugriffsberechtigungen besitzt als eine Applikation.The Setting (d) allows a quick switchover of the configuration as soon as the microprocessor changes its operating mode. The operating mode of the processor may be, for example, the supervisor mode / user mode be. If one assumes that the operating system in supervisor mode running, while the applications in user mode so that the setting of the protection blocks for the operating system can be different be set as for the applications. This makes sense, since usually the operating system has more access permissions than an application.

Somit ermöglichen die Alternativregister eine Entlastung des Betriebssystem von den Aufgaben der Neueinstellung der Schutzblöcke in vielen Fällen und somit eine deutliche Leistungssteigerung eines Echtzeitsystems.Consequently enable the alternate registers relieve the operating system of the Tasks of readjusting the protection blocks in many cases and thus a significant increase in performance of a real-time system.

Für jeden Schutzblock soll die Möglichkeit bestehen, (a) die Schutzverletzung anzuzeigen (Alarm) und eine Verzweigung des Mikroprozessors ins Betriebssystem zu erzwingen (Trap), die eine zwangsweise Umschaltung des Betriebsmodus in den Supervisor-Modus impliziert.For each protection block there should be the possibility to (a) indicate the protection violation (alarm) and force a branch of the microprocessor into the operating system (trap), which compulsorily implements a circuit of the operating mode in the supervisor mode implied.

Für einen dedizierten Schutzblock soll außer der Möglichkeit (a) zusätzlich die Möglichkeit bestehen, (b) lediglich eine zwangsweise Umschaltung des Betriebsmodus in den Supervisor-Modus zu erzwingen, wenn der Speicherzugriff sich innerhalb eines Teilbereiches des überwachten Speicherbereiches des Schutzblocks befindet (Sprungtabelle). Dazu wird der überwachte Speicherbereich durch einen weiteren Komparator nochmals geteilt (siehe 5).For a dedicated protection block, in addition to the possibility (a), there should be the additional possibility of (b) forcibly forcibly switching the operating mode to the supervisor mode if the memory access is within a subarea of the monitored memory area of the protection block (jump table). For this purpose, the monitored memory area is divided again by another comparator (see 5 ).

Die Funktionalität (b) ist eine Erweiterung, die in Kombination mit den Alternativregistern die Unterstützung von Betriebssystemaufrufen durch Applikationen mit minimalem Leistungsverlust des Systems ermöglicht. Die Vorgehensweise ist wie folgt:
Ein Schutzblock wird angelegt, der die Ausführung von Programmen durch Applikationen (im User-Modus) verbietet, der aber in Option (b) (s.o.) konfiguriert wird. Der Teilbereich des Speicherbereichs dieses Schutzblocks wird mit Programmkode gefüllt, der nur aus Einsprungbefehlen in Betriebssystemfunktionen besteht (OS-Sprungtabelle). Wenn nun eine Applikation eine Betriebssystemfunktion aufrufen will, so springt sie auf den entsprechenden Einsprungbefehl innerhalb des dedizierten Teilbereichs des Schutzblocks, und legt wie üblich ihre Argumente auf dem Stapelspeicher ab. Der Schutzblock erzwingt den Supervisor-Modus, lässt jedoch den Sprung in das Betriebssystem zu. Die Schutzblöcke, die mit automatischer Umschaltung der Alternativregister oder für den Supervisor konfiguriert sind, ermöglichen dem Betriebssystem die Ausführung der Funktion. Die Betriebssystemfunktion legt wie üblich ihre Resultate auf dem Stapelspeicher ab. Am Ende der Funktion des Betriebssystems springt der Prozessor in die Applikation zurück, wobei durch einen speziellen Befehl (JMPU) des Prozessors gleichzeitig wieder der User-Modus eingestellt wird.
The functionality (b) is an extension that, in combination with the alternate registers, enables the support of operating system calls by applications with minimal system power loss. The procedure is as follows:
A protection block is created which prohibits the execution of programs by applications (in user mode), but which is configured in option (b) (see above). The subarea of the memory area of this protection block is filled with program code, which consists only of jump commands in operating system functions (OS jump table). Now, when an application wants to invoke an operating system function, it jumps to the appropriate entry command within the dedicated portion of the protection block, and, as usual, places its arguments on the stack. The protection block enforces supervisor mode but allows the jump to the operating system. The protection blocks, which are configured with automatic switching of the alternate registers or for the supervisor, allow the operating system to perform the function. The operating system function, as usual, stores its results on the stack. At the end of the operation of the operating system, the processor jumps back into the application, with a special command (JMPU) of the processor at the same time the user mode is set again.

Somit hat dieser Aufruf des Betriebssystems keinerlei zusätzlichen Aufwand zur Um-oder Neuprogrammierung der Schutzblöcke zur Folge. Dieser eingesparte Aufwand erhöht die Leistungsfähigkeit des Gesamtsystems, da Betriebssystemaufrufe durch Applikationen in der Regel recht häufig ausgeführt werden.Consequently this call to the operating system has no additional Effort of reprogramming or reprogramming the protection blocks for Episode. This saved effort increases the efficiency of the overall system, since operating system calls by applications usually quite common accomplished become.

Der Alarm der Schutzverletzung und die gespeicherte betroffene Speicheradresse wird für Möglichkeit (a) an die integrierende Teilfunktion PVH weitergeleitet.Of the Guard violation alarm and the stored memory address stored is for Possibility A) forwarded to the integrating partial function PVH.

Durch den Befehl JMPU wird die Callback-Funktionalität (Rückruf] des Betriebssystems an Applikationen bei Interrupts unterstützt. Das Verfahren arbeitet wie folgt:
Ein Interrupt tritt auf und wird vom Prozessor bearbeitet. Dazu schaltet die OMM-Teilfunktion wie definiert in den Supervisor-Betriebsmodus. Das Betriebssystem enthält eine Bearbeitungsfunktion für diesen Interrupt, die nun im Supervisor-Betriebsmodus ausgeführt wird. Eine Applikation enthält ebenfalls eine Bearbeitungsfunktion für diesen Interrupt, die aber im User-Betriebsmodus ablaufen soll. Daher verwendet das Betriebssystem den JMPU-Befehl, um die Bearbeitungsfunktion der Applikation aufzurufen und gleichzeitig den Betriebsmodus in den User-Modus zu wechseln. Der JMPU-Befehl bewirkt außerdem, dass der spezielle Rücksprungsbefehl (RETI) zurück in den Supervisor-Modus führt. Am Ende der Bearbeitungsfunktion der Applikation wird nun RETI ausgeführt, und bei gleichzeitigem Wechsel in den Supervisor-Modus wird ins Betriebssystem zurückgekehrt, wo die Bearbeitungsfunktion der Applikation aufgerufen wurde.
The JMPU command supports the callback functionality of the operating system to applications for interrupts, as follows:
An interrupt occurs and is processed by the processor. To do this, the OMM subfunction switches to the supervisor operating mode as defined. The operating system contains a processing function for this interrupt, which is now executed in Supervisor operating mode. An application also contains a processing function for this interrupt, which, however, should run in the user operating mode. Therefore, the operating system uses the JMPU command to invoke the editing function of the application while switching the operating mode to user mode. The JMPU instruction also causes the special return instruction (RETI) to return to supervisor mode. At the end of the processing function of the application, RETI is executed, and at the same time switching to the supervisor mode returns to the operating system where the processing function of the application was called.

Der Vorteil dieses Verfahrens liegt darin, dass bei geeigneter Konfiguration der Schutzblöcke der MPU (automatische Konfiguration, siehe Einstellung (d) oben) keinerlei zusätzlicher Aufwand zur Um- oder Neuprogrammierung der Schutzblöcke notwendig ist, wenn ein Interrupt innerhalb einer im User-Modus laufenden Applikation bedient werden soll. Dieser eingesparte Aufwand erhöht die Leistungsfähigkeit des Gesamtsystems, da Callback-Funktionen der Applikationen je nach Interrupt-Konfiguration sehr häufig ausgeführt werden.Of the Advantage of this method is that with a suitable configuration the protection blocks the MPU (automatic configuration, see setting (d) above) no additional Costs for reprogramming or reprogramming the protection blocks necessary is when an interrupt is in progress in a user mode Application to be served. This saved effort increases the efficiency of the entire system, since callback functions of the applications depending on Interrupt configuration very often accomplished become.

Die Laufzeitüberwachung (DSU) erfüllt die Aufgabe der getrennten Überwachung der Laufzeit einzelner Applikationen und auch Interrupt-Routinen. Hierfür existieren drei verschiedene Gruppen von Zeitzählern (6).The runtime monitoring (DSU) fulfills the task of separate monitoring of the runtime of individual applications and also interrupt routines. There are three different groups of time counters ( 6 ).

Ein Zeitzähler zur Überwachung der Laufzeit der gerade aktiven Applikation:
Das Echtzeitbetriebssystem wird immer einer Applikation die Rechenzeit des Prozessors zuteilen. Die Laufzeit dieser Applikation bis zu ihrer Rückgabe der Kontrolle an das Betriebssystem kann mit diesem Zeitzähler überwacht werden.
A time counter for monitoring the running time of the currently active application:
The real-time operating system will always allocate the processing time of the processor to an application. The running time of this application until it returns the control to the operating system can be monitored with this timer.

Für jede Intenupt-Prioritätsebene je ein Zeitzähler zur Überwachung der Laufzeit einer Interrupt-Routine (der als Beispiel genannte Prozessor V850/E2 von NEC besitzt 8 Interrupt-Prioritätsebenen):
Die Zeit, die zwischen der Auslösung eines Interrupts einer Prioritätsebene und der Beendigung der Bearbeitung des Interrupts durch den Mikroprozessor verstreicht, kann mit diesen Zeitzählern überwacht werden.
For each intenupt priority level, one time counter each for monitoring the runtime of an interrupt routine (the NEC processor V850 / E2 by way of example has 8 interrupt priority levels):
The time that elapses between the initiation of a priority level interrupt and the completion of the edit Interrupt by the microprocessor elapsed, can be monitored with these counters.

Ein Zeitzähler zur Überwachung der Interruptsperre:
Wenn das Programm des Mikroprozessors Interrupts sperrt (durch den Befehl "Disable Interrupt, DI), wird dieser Zähler in Gang gesetzt. Er stoppt, wenn Interrupts durch den Befehl Enable Interrupts, EI, wieder freigegeben werden.
A time counter for monitoring the interrupts:
When the program of the microprocessor disables interrupts (through the Disable Interrupt, DI command), this counter is started and stops when interrupts are released by the Enable Interrupts command, EI.

Allen Zählern ist gemeinsam, dass sie per Konfiguration auf Startwerte und Laufgeschwindigkeit gesetzt werden. Wenn die Startbedingung eintritt, werden Startwerte und Laufgeschwindigkeit auf die konfigurierten Werte eingestellt, anschließend zählen sie abwärts. Wird der Zählerstand Null erreicht, ist die eingestellte Zeit abgelaufen (d.h. die Laufzeit wurde überschritten), und eine Schutzverletzung gilt als erkannt.all counters is common that they are configured to start values and running speed be set. When the start condition occurs, start values become and running speed set to the configured values, subsequently counting she down. Will the meter reading Reaches zero, the set time has elapsed (i.e., the running time has been exceeded), and a protection violation is considered recognized.

Wenn die Stoppbedingung eintritt, werden die Zähler angehalten. Für jeden Zähler werden Start- und Stoppbedingungen individuell gesteuert. Folgende Tabelle fasst die Start- und Stoppbedingungen zusammen.If the stop condition occurs, the counters are stopped. For each counter Start and stop conditions are individually controlled. The following Table summarizes the start and stop conditions.

Figure 00120001
Tabelle 3: Start- und Stoppbedingungen der Zeitzähler der Laufzeitüberwachung
Figure 00120001
Table 3: Start and stop conditions of the time counters of the runtime monitoring

Die Prioritätsabene ist eine Eigenschaft des jeweiligen Interrupts. Es kann im System oftmals eingestellt werden, welcher Interrupt welche Prioritätsebene besitzt. Wird ein Interrupt der Prioritätsebene n ausgelöst, so wird die Prioritätsebene im Mikroprozessorkern oder der Interruptkontrolle auf diesen Wert gesetzt, sofern nicht bereits eine höhere Prioritätsebene gesetzt ist. Wenn alle Interrupts einer Prioritätsebene durch den Prozessor abgearbeitet sind, so wird der Wert der Prioritätsebene im Mikroprozessorkern oder der Interruptkontrolle auf die nächstniedrigere Ebene erniedrigt, für die noch Interrupts anstehen, die noch nicht abgearbeitet wurden. Liegt kein Interrupt mehr vor, der noch abgearbeitet werden müsste, so wird die Prioritätsebene im Mikroprozessorkern oder der Interruptskontrolle auf weniger als den niedrigsten Wert der Prioritätsebenen gesetzt.The Prioritätsabene is a property of the respective interrupt. It can be in the system often set which interrupt which priority level has. If an interrupt of the priority level n is triggered, then the priority level in the microprocessor core or interrupt control to this value set, if not already a higher priority level is set. When all interrupts a priority level by the processor are processed, the value of the priority level in the microprocessor core or the interrupt control is lowered to the next lower level, for the there are still pending interrupts that have not yet been processed. Lies no interrupt that still needs to be processed, so becomes the priority level in the microprocessor core or the interrupt control to less than the lowest value of the priority levels set.

Der Wert der Prioritätsebene im Mikroprozessorkern oder der Interruptkontrolle ist die Variable der Stoppbedingung für die ILST Zeitzähler. Für jeden Zähler ist genau ein Wert der Prioriätsebene fest zugeordnet; somit existieren für n Ebenen n Zähler.Of the Value of the priority level in the microprocessor core or the interrupt control is the variable the stop condition for the ILST time counter. For each counter is exactly one value of the priority level firmly assigned; thus n counters exist for n levels.

Wenn Interrupts ausgelöst werden, die höhere Prioritätsebenen haben, werden die Zähler der niedrigeren Ebenen nicht angehalten. Dies entspricht der Tatsache, dass die Abarbeitung dieser Interrupts in diesem Fall zurückgestellt wird und somit die Netto-Laufzeit dieser Interrupt-Abarbeitungen entsprechend zunimmt. Somit ist es z.B. möglich, dass für eine niedrige Interrupt-Prioritätsebene eine Schutzverletzung ausgelöst wird, weil zu viele Interrupts mit höherer Priorität ausgelöst wurden.If Interrupts triggered become, the higher priority levels have, are the counters the lower levels did not stop. This corresponds to the fact that the processing of these interrupts in this case deferred and thus the net duration of these interruptions increases accordingly. Thus it is e.g. possible for a low Interrupt priority level a protection violation is triggered because too many interrupts with higher ones priority triggered were.

Im Falle einer Schutzverletzung wird der Alarm an die integrierende Teilfunktion PVH weitergeleitet. Es wird für die drei Zählertypen je ein Alarm zugewiesen. Für die ILST Zeitzähler wird außerdem je ein Bit pro Prioriätsebene gesetzt, deren Laufzeit überschritten wurde.in the In case of a protection violation, the alarm will be sent to the integrating Subfunction PVH forwarded. It will be for the three meter types one alarm each. For the ILST time counter will also one bit per priority level set whose duration exceeded has been.

Claims (18)

Systemüberwachungseinheit für ein Steuerungsgerät mit Mikroprozessor, die folgende Bestandteile umfasst: eine Peripherieüberwachungseinheit, welche Zugriffe auf einzelne Peripheriegeräte des Mikroprozessors überwacht und unbefugte Zugriffsversuche (Schutzverletzungen) verhindert und/oder meldet; eine Schutzverletzungsverwaltungseinheit, welche gemeldete Schutzverletzungen klassifiziert und mit weiteren Informationen über die Schutzverletzung speichert und ausgibt; und eine Betriebsmodusüberwachungseinheit, welche bei gemeldeten Schutzverletzungen den Mikroprozessor in einen Supervisormodus umschaltet.System monitoring unit for a control device with microprocessor, comprising the following components: a Peripheral monitoring unit which monitors accesses to individual peripherals of the microprocessor and unauthorized access attempts (protection violations) prevented and / or reports; a protection violation management unit which reported Classified violations and with more information about the Protection infringement stores and outputs; and an operation mode monitoring unit, which at reported protection violations the microprocessor into a Supervisor mode toggles. Systemüberwachungseinheit nach Anspruch 1, bei der die Peripherieüberwachungseinheit für jedes einzelne Peripheriegerät Zugriffe abhängig vom Betriebsmodus des Mikroprozessors überwacht.System monitoring unit according to claim 1, wherein the peripheral monitoring unit for each one peripheral Accesses dependent monitored by the operating mode of the microprocessor. Systemüberwachungseinheit nach Anspruch 1 oder 2, bei der die Peripherieüberwachungseinheit für jedes einzelne Peripheriegerät Zugriffe abhängig von der Datenrichtung des Zugriffs überwacht.System monitoring unit according to claim 1 or 2, wherein the peripheral monitoring unit for each single peripheral device Accesses dependent monitored by the data direction of the access. Systemüberwachungseinheit nach einem der Ansprüche 1 bis 3, bei der die Peripherieüberwachungseinheit den Zugriff auf sensible Peripheriegeräte des Systems nur nach dem Schreiben einer Sicherheitssequenz erlaubt.System monitoring unit according to one of the claims 1 to 3, in which the peripheral monitoring unit access to sensitive peripherals of the system only after the Write a security sequence allowed. Systemüberwachungseinheit nach einem der Ansprüche 1 bis 4, die zusätzlich eine Speicherzugriffsüberwachungseinheit umfasst, welche unbefugte Zugriffsversuche (Schutzverletzungen) auf geschützte Speicherbereiche verhindert und/oder meldet.System monitoring unit according to one of the claims 1 to 4, in addition a memory access monitoring unit includes which unauthorized access attempts (protection violations) on protected storage areas prevents and / or reports. Systemüberwachungseinheit nach Anspruch 5, bei der die Speicherzugriffsüberwachungseinheit zusätzlich Alternativregister umfasst, in denen alternative Konfigurationen für die geschützten Speicherbereiche gespeichert sind, welche gegen die normalen Konfigurationen der geschützten Speicherbereiche austauschbar sind.System monitoring unit according to claim 5, wherein the memory access monitoring unit additionally comprises alternative registers which stores alternative configurations for the protected storage areas which are contrary to the normal configurations of the protected memory areas are interchangeable. Systemüberwachungseinheit nach Anspruch 5 oder 6, bei der die Speicherzugriffsüberwachungseinheit Komparatoren für eine weitere Unterteilung geschützter Bereiche in Teilbereiche aufweist und einen Zugriff auf einen entsprechend konfigurierten Teilbereich lediglich meldet, so dass die Betriebsmodusüberwachungseinheit den Mikroprozessor in den Supervisormodus umschaltet und einen Sprung in das Betriebssystem zuläßt.System monitoring unit according to claim 5 or 6, wherein the memory access monitoring unit comparators for one further subdivision protected Has areas in subareas and has access to one accordingly configured sub-range only reports, so the operating mode monitoring unit switches the microprocessor to supervisor mode and jumps into the operating system. Systemüberwachungseinheit nach einem der Ansprüche 1 bis 7, die zusätzlich eine Laufzeitüberwachungseinheit aufweist, welche die Laufzeiten von Programmen, Interruptroutinen und/oder Interruptsperren überwacht und eine Überschreitung festgesetzter Laufzeiten als Schutzverletzung meldet.System monitoring unit according to one of the claims 1 to 7, in addition a runtime monitoring unit which shows the runtimes of programs, interrupt routines and / or interrupts monitored and an overrun specified transit times as a protection violation reports. Systemüberwachungseinheit nach Anspruch 8, bei der die Laufzeitüberwachungseinheit die Laufzeiten von Interruptroutinen für jede Interruptprioritätsebene separat überwacht.System monitoring unit according to claim 8, wherein the run-time monitoring unit the durations of Interrupt routines for each interrupt priority level monitored separately. Systemüberwachungsverfahren für ein Steuerungsgerät mit Mikroprozessor, das folgende Schritte umfasst: Überwachen von Zugriffen auf einzelne Peripheriegeräte des Mikroprozessors und Verhindern und/oder Melden unbefugter Zugriffsversuche (Schutzverletzungen); Klassifizieren sowie Speichern und Ausgabe gemeldeter Schutzverletzungen mit weiteren Informationen über die Schutzverletzung; und Umschalten des Mikroprozessors in einen Supervisormodus bei gemeldeten Schutzverletzungen.System monitoring procedures for a control device with microprocessor, which includes the following steps: Monitor of accesses to individual peripherals of the microprocessor and Preventing and / or reporting unauthorized access attempts (protection violations); Classify as well as storing and issuing notified protection violations with others Information about the Protection fault; and Switching the microprocessor into one Supervisor mode for reported protection violations. Systemüberwachungsverfahren nach Anspruch 10, bei dem die Zugriffe auf jedes einzelne Peripheriegerät abhängig vom Betriebsmodus des Mikroprozessors überwacht werden.System monitoring procedures according to claim 10, wherein the accesses to each individual peripheral device depend on the Operating mode of the microprocessor to be monitored. Systemüberwachungsverfahren nach Anspruch 10 oder 11, bei dem die Zugriffe auf jedes einzelne Peripheriegerät abhängig von der Datenrichtung des Zugriffs überwacht werden.System monitoring procedures according to claim 10 or 11, wherein the accesses to each one peripheral dependent be monitored by the data direction of the access. Systemüberwachungsverfahren nach einem der Ansprüche 10 bis 12, bei dem die Zugriffe auf sensible Peripheriegeräte des Systems nur nach dem Schreiben einer Sicherheitssequenz erlaubt werden.System monitoring procedures according to one of the claims 10 to 12, in which the accesses to sensitive peripherals of the system allowed only after writing a security sequence. Systemüberwachungsverfahren nach einem der Ansprüche 10 bis 13, das zusätzlich unbefugte Zugriffsversuche (Schutzverletzungen) auf geschützte Speicherbereiche verhindert und/oder meldet.System monitoring procedures according to one of the claims 10 to 13, in addition Unauthorized access attempts (protection violations) to protected storage areas prevents and / or reports. Systemüberwachungsverfahren nach Anspruch 14, bei dem die normalen Konfigurationen der geschützten Speicherbereiche gegen alternative Konfigurationen für die geschützten Speicherbereiche austauschbar sind, wobei die alternativen Konfigurationen in Alternativregistern gespeichert sind.System monitoring procedures according to claim 14, wherein the normal configurations of the protected memory areas interchangeable with alternative configurations for the protected storage areas where the alternative configurations are in alternate registers are stored. Systemüberwachungsverfahren nach Anspruch 14 oder 15, bei dem die geschützten Bereiche eine weitere Unterteilung in Teilbereiche aufweisen und ein Zugriff auf einen entsprechend konfigurierten Teilbereich lediglich gemeldet wird, so dass der Mikroprozessor in den Supervisormodus umgeschaltet wird und einen Sprung in das Betriebssystem zulässt.System monitoring procedures according to claim 14 or 15, wherein the protected areas are another Subdivision into subregions and have access to one correspondingly configured subarea is only reported, so that the microprocessor is switched to the supervisor mode and allows a jump in the operating system. Systemüberwachungsverfahren nach einem der Ansprüche 10 bis 16, das zusätzlich die Laufzeiten von Programmen, Interruptroutinen und/oder Interruptsperren überwacht und eine Überschreitung festgesetzter Laufzeiten als Schutzverletzung meldet.System monitoring procedures according to one of the claims 10 to 16, in addition monitors the runtimes of programs, interrupt routines and / or interrupts and an overrun specified transit times as a protection violation reports. Systemüberwachungsverfahren nach Anspruch 17, bei dem die Laufzeiten von Interruptroutinen für jede Interruptprioritätsebene separat überwacht werden.System monitoring procedures Claim 17, wherein the runtimes of interrupt routines are for each interrupt priority level monitored separately become.
DE200410048945 2004-10-07 2004-10-07 System monitoring unit Expired - Fee Related DE102004048945B4 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE200410048945 DE102004048945B4 (en) 2004-10-07 2004-10-07 System monitoring unit
PCT/EP2005/010507 WO2006040014A2 (en) 2004-10-07 2005-09-28 System monitoring unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200410048945 DE102004048945B4 (en) 2004-10-07 2004-10-07 System monitoring unit

Publications (2)

Publication Number Publication Date
DE102004048945A1 true DE102004048945A1 (en) 2006-04-20
DE102004048945B4 DE102004048945B4 (en) 2007-10-11

Family

ID=36047986

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200410048945 Expired - Fee Related DE102004048945B4 (en) 2004-10-07 2004-10-07 System monitoring unit

Country Status (2)

Country Link
DE (1) DE102004048945B4 (en)
WO (1) WO2006040014A2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012205988A1 (en) 2012-04-12 2013-10-17 Robert Bosch Gmbh Subscriber station for a bus system and method for transmitting messages between subscriber stations of a bus system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0312194A2 (en) * 1987-10-09 1989-04-19 Hitachi, Ltd. Data processor having two modes of operation
US5202997A (en) * 1985-03-10 1993-04-13 Isolation Systems Limited Device for controlling access to computer peripherals
US5657475A (en) * 1994-05-25 1997-08-12 Intel Corporation System for protecting memory accesses by comparing the upper and lower bounds addresses and attribute bits identifying unauthorized combinations of type of operation and mode of access
WO2003077085A1 (en) * 2002-03-08 2003-09-18 Freescale Semiconductor, Inc. Data processing system with peripheral access protection and method therefor

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3905023A (en) * 1973-08-15 1975-09-09 Burroughs Corp Large scale multi-level information processing system employing improved failsaft techniques
US5263147A (en) * 1991-03-01 1993-11-16 Hughes Training, Inc. System for providing high security for personal computers and workstations

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5202997A (en) * 1985-03-10 1993-04-13 Isolation Systems Limited Device for controlling access to computer peripherals
EP0312194A2 (en) * 1987-10-09 1989-04-19 Hitachi, Ltd. Data processor having two modes of operation
US5657475A (en) * 1994-05-25 1997-08-12 Intel Corporation System for protecting memory accesses by comparing the upper and lower bounds addresses and attribute bits identifying unauthorized combinations of type of operation and mode of access
WO2003077085A1 (en) * 2002-03-08 2003-09-18 Freescale Semiconductor, Inc. Data processing system with peripheral access protection and method therefor

Also Published As

Publication number Publication date
WO2006040014A3 (en) 2006-11-09
DE102004048945B4 (en) 2007-10-11
WO2006040014A2 (en) 2006-04-20

Similar Documents

Publication Publication Date Title
EP0011685B1 (en) Programmable memory protection arrangement for microprocessors and circuitry with such an arrangement
DE102006048115B4 (en) System and method for recording recoverable errors
EP0951673B1 (en) Method for monitoring the execution of software programmes as prescribed
DE69933515T2 (en) peripheral processor
DE4228755C2 (en) Interrupt device for a microprocessor system and associated method
DE112006002908T5 (en) Technique for the communication and synchronization of threads
EP1019819B1 (en) Program controlled unit and method for debugging same
DE2747633A1 (en) IT SYSTEM WITH AN INTERRUPTION DEVICE
DE112004000334T5 (en) Policy-based response to system errors that occur during the operating system runtime
EP1262856B1 (en) Program controlled unit
EP1190319B1 (en) Protection of the core part of a computer against external manipulation
DE4406094C2 (en) Device for operating a control application
EP3080668A1 (en) Method for manipulating a control program of a control device
EP2494488B1 (en) Method for executing security-relevant and non-security-relevant software components on a hardware platform
DE102004048945B4 (en) System monitoring unit
DE102007035586B4 (en) Watchdog device for monitoring an electronic system
DE102014011665A1 (en) System and method for DMA operation with high integrity
EP2287742B1 (en) Program controlled unit
WO2004042592A2 (en) Method for the secure checking of a memory region of a microcontroller in a control device and control device with a protected mikrocontroller
DE112011103361T5 (en) A switch for performing nondestructive and secure deactivation of IC functionality using MEMS and its methods
DE1966991A1 (en) FAIL-SAFE DATA PROCESSING SYSTEM
EP1979910B1 (en) Method and apparatus for controlling access to a data store in an electronic circuit
DE112018002612T5 (en) Vehicle control device
EP1032878B1 (en) Monitoring system for computers
DE102009000874A1 (en) Method for improving analyzability of software error in microcontroller of motor vehicle, involves providing access to conditional information, and providing conditional information for analyzing software error

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: RENESAS ELECTRONICS EUROPE GMBH, 40472 DUESSEL, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0021040000

Ipc: G06F0021820000