DE102013204045A1 - Mikrocomputer - Google Patents

Mikrocomputer Download PDF

Info

Publication number
DE102013204045A1
DE102013204045A1 DE102013204045A DE102013204045A DE102013204045A1 DE 102013204045 A1 DE102013204045 A1 DE 102013204045A1 DE 102013204045 A DE102013204045 A DE 102013204045A DE 102013204045 A DE102013204045 A DE 102013204045A DE 102013204045 A1 DE102013204045 A1 DE 102013204045A1
Authority
DE
Germany
Prior art keywords
interrupt
enable state
cause
state information
setting
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
DE102013204045A
Other languages
English (en)
Other versions
DE102013204045B4 (de
Inventor
Nobuyuki Kondoh
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.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Publication of DE102013204045A1 publication Critical patent/DE102013204045A1/de
Application granted granted Critical
Publication of DE102013204045B4 publication Critical patent/DE102013204045B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)
  • Bus Control (AREA)

Abstract

Es wird ein Mikrocomputer zum Ausführen von Programmen mit Vorrechtsniveaus beschrieben. Der Mikrocomputer enthält einen Prozessor (21) und einen ersten Speicher (3), der eine Interrupt-Einstelltabelle speichert, die auf einer Prioritätsniveau-Basis angibt, ob eine Interrupt-Einstellung in Bezug auf eine jeweilige Interrupt-Ursache konfigurierbar ist. Als Antwort auf eine Eingabe einer EI-Anweisung oder einer DI-Anweisung nimmt der Prozessor (21) Bezug auf die Interrupt-Einstelltabelle und gibt den Interrupt, in Bezug auf die die Interrupt-Einstellung konfigurierbar ist, frei oder sperrt diesen. Als Antwort auf eine Erzeugung der Interrupt-Ursache während einer Ausführung des Programms führt der Prozessor (21) einen Interrupt-Prozess aus, wenn der Interrupt freigegeben ist, und verhindert den Interrupt-Prozess, wenn der Interrupt gesperrt ist.

Description

  • Die vorliegende Erfindung betrifft einen Mikrocomputer, der mehrere Programme mit unterschiedlichen Vorrechtsniveaus (Prioritäten) ausführt.
  • Ein typischer Mikrocomputer ist mit einer peripheren Schaltung und einer Interrupt-Steuerung (Unterbrechungs-Steuerung) zusätzlich zu einer CPU und einem Speicher ausgerüstet (siehe beispielsweise JP 3209144 B ). Die Interrupt-Steuerung verwaltet Interrupt-Anforderungen bzw. -Aufrufe von peripheren Schaltungen mittels Massenverwaltung. Wenn mehrere Interrupt-Anforderungen gleichzeitig erzeugt werden, gibt die Interrupt-Steuerung ein Interrupt-Anforderungssignal, das der Interrupt-Anforderung mit der höchsten Priorität entspricht, an die CPU auf der Grundlage der voreingestellten Prioritäten der Interrupt-Anforderungen, die auf einer Interrupt-Anforderung-um-Interrupt-Anforderung-Basis voreingestellt sind, aus. Wenn die CPU das Interrupt-Anforderungssignal in einem Interrupt-Freigabezustand empfängt, erlaubt die CPU den Interrupt bzw. gibt diesen frei. Wenn die CPU das Interrupt-Anforderungssignal in einem Interrupt-Sperrzustand empfängt, verhindert bzw. sperrt die CPU den Interrupt.
  • Wenn die CPU eine Freigabe-Interrupt-Anweisung (auch als EI-Anweisung bezeichnet) ausführt, gelangt die CPU in den Interrupt-Freigabezustand, in dem Interrupts mit der Ausnahme einiger Interrupts wie beispielsweise eines nicht maskierbaren Interrupts (auch als NMI bezeichnet) und Ähnlichem freigegeben werden. Wenn die CPU eine Sperr-Interrupt-Anweisung (auch als DI-Anweisung bezeichnet) ausführt, gelangt die CPU in den Interrupt-Sperrzustand, bei dem Interrupts mit Ausnahme einiger Interrupts wie beispielsweise eines NMI und Ähnlichem gesperrt werden.
  • Gemäß einer von dem Erfinder der vorliegenden Anmeldung durchgeführten Studie kann ein Mikrocomputer derart ausgebildet sein, dass Vorrechtsniveaus für mehrere von einer CPU ausführbare Programme auf einer Programm-um-Programm-Basis eingestellt werden und, wenn das Vorrechtsniveau eines Programms niedriger ist, die Anweisungen, die von dem Programm ausführbar sind, und der Zugriff des Programms auf den Speicher eingeschränkt werden.
  • In einem typischen Mikrocomputer werden jedoch die Interrupts als Antwort auf die Ausführung der EI-Anweisung und der DI-Anweisung mit der Ausnahme einiger Interrupts wie beispielsweise des NMI und Ähnlichem gemeinsam freigegeben und gesperrt. Somit ist es in Fällen, in denen die Vorrechtsniveaus eingestellt bzw. festgelegt sind, unmöglich, die Interrupts derart einzustellen, dass die Interrupts wahlweise auf einer Vorrechtsniveaubasis freigegeben und gesperrt werden.
  • Im Hinblick darauf ist es eine Aufgabe der vorliegenden Erfindung, eine Technik zu schaffen, die es möglich macht, Interrupts derart einzustellen, dass die Interrupts wahlweise auf einer Vorrechtsniveaubasis freigegeben und gesperrt werden.
  • Gemäß einem Beispiel der vorliegenden Erfindung enthält ein Mikrocomputer zum Ausführen mehrerer Programme, die jeweils ein Vorrechtsniveau aufweisen, einen ersten Speicher, einen Interrupt-Freigabeabschnitt, einen Interrupt-Sperrabschnitt und einen Interrupt-Prozessausführungsabschnitt. Der erste Speicher speichert eine Interrupt-Einstelltabelle, die Interrupt-Einstellinformationen für mehrere Ursachen von Interrupts aufweist. Auf einer Vorrechtsniveau-um-Vorrechtsniveau-Basis gibt die Interrupt-Einstellinformation an, ob eine Interrupt-Einstellung, die eine Einstellung zum Freigeben oder Sperren eines Interrupts in Bezug auf eine jeweilige Ursache eines Interrupts ist, konfigurierbar ist. Als Antwort auf eine Eingabe einer Freigabe-Interrupt-Anweisung, die die Einstellung zum Freigeben des Interrupts betrifft, nimmt der Interrupt-Freigabeabschnitt Bezug auf die Interrupt-Einstelltabelle, die in dem ersten Speicher gespeichert ist, spezifiziert die Ursache eines Interrupts, in Bezug auf die die Interrupt-Einstellung konfigurierbar ist, auf der Grundlage des Vorrechtsniveaus des Programms, das derzeitig ausgeführt wird, und gibt den Interrupt für die spezifizierte Ursache eines Interrupts frei. Als Antwort auf eine Eingabe einer Sperr-Interrupt-Anweisung, die die Einstellung zum Sperren des Interrupts betrifft, nimmt der Interrupt-Sperrabschnitt Bezug auf die Interrupt-Einstelltabelle, die in dem ersten Speicher gespeichert ist, spezifiziert die Ursache eines Interrupts, in Bezug auf die die Interrupt-Einstellung konfigurierbar ist, auf der Grundlage des Vorrechtsniveaus des Programms, das derzeitig ausgeführt wird, und sperrt den Interrupt für die spezifizierte Ursache eines Interrupts. Als Antwort auf eine Erzeugung der Ursache eines Interrupts während einer Ausführung des Programms unterbricht der Interrupt-Prozessausführungsabschnitt die Ausführung des Programms und führt einen Interrupt-Prozess, der der erzeugten Ursache eines Interrupts entspricht, aus, wenn der Interrupt für die erzeugte Ursache eines Interrupts von dem Interrupt-Freigabeabschnitt freigegeben wird, und verhindert den Interrupt-Prozess, der der erzeugten Ursache eines Interrupts entspricht, wenn der Interrupt für die erzeugte Ursache eines Interrupts von dem Interrupt-Sperrabschnitt gesperrt wird.
  • Gemäß der obigen Konfiguration kann der Mikrocomputer durch Bezugnahme auf die Interrupt-Einstelltabelle die Ursache eines Interrupts, in Bezug auf die die Interrupt-Einstellung zum Freigeben oder Sperren des Interrupts konfigurierbar ist, entsprechend dem Vorrechtsniveau des Programms, das derzeitig ausgeführt wird, spezifizieren. Außerdem kann als Antwort auf die Eingabe der Freigabe-Interrupt-Anweisung der Interrupt für die Ursache eines Interrupts, in Bezug auf die die Interrupt-Einstellung als konfigurierbar spezifiziert wird, freigegeben werden. Außerdem kann als Antwort auf die Eingabe der Sperr-Interrupt-Anweisung der Interrupt für die Ursache eines Interrupts, in Bezug auf die die Interrupt-Einstellung als konfigurierbar spezifiziert wird, gesperrt werden. Daher ist es auf einer Vorrechtsniveau-um-Vorrechtsniveau-Basis möglich, Interrupts derart einzustellen, dass die Interrupts wahlweise auf einer Vorrechtsniveaubasis freigegeben und gesperrt werden.
  • Der obige Mikrocomputer kann außerdem einen zweiten Speicher enthalten, der einen Interrupt-Freigabezustandsspeicherbereich enthält, der Interrupt-Freigabezustandsinformationen für die Ursachen von Interrupts speichert. In Bezug auf das Programm, das derzeitig ausgeführt wird, gibt die Interrupt-Freigabezustandsinformation an, ob der Interrupt für eine jeweilige Ursache eines Interrupts freigegeben oder gesperrt wird. Außerdem kann der obige Mikrocomputer wie folgt aufgebaut sein. Der Interrupt-Freigabeabschnitt gibt den Interrupt für die spezifizierte Ursache eines Interrupts durch Konfigurieren derjenigen Interrupt-Freigabezustandsinformation, die der spezifizierten Ursache eines Interrupts entspricht, von den Interrupt-Freigabezustandsinformationen, die in dem Interrupt-Freigabezustandsspeicherbereich gespeichert sind, frei, so dass der Interrupt für die spezifizierte Ursache eines Interrupts freigegeben wird. Der Interrupt-Sperrabschnitt sperrt die Interrupt für die spezifizierte Ursache eines Interrupts durch Konfigurieren derjenigen Interrupt-Freigabezustandsinformation, die der spezifizierten Ursache eines Interrupts entspricht, von den Interrupt-Freigabezustandsinformationen, die in dem Interrupt-Freigabezustandsspeicherbereich gespeichert sind, so dass der Interrupt für die spezifizierte Ursache eines Interrupts gesperrt wird. Der Interrupt-Prozessausführungsabschnitt bestimmt durch Bezugnahme auf die Interrupt-Freigabezustandsinformationen, die in dem Interrupt-Freigabezustandsspeicherbereich gespeichert sind, ob der Interrupt-Prozess, der der erzeugten Ursache eines Interrupts entspricht, ausgeführt oder verhindert wird. Außerdem enthält der Mikrocomputer einen Informationsbewegungsabschnitt. Als Antwort auf eine Änderung des ausgeführten Programms und eine Erhöhung des Vorrechtsniveaus des ausgeführten Programms sichert der Informationsbewegungsabschnitt die Interrupt-Freigabezustandsinformation durch Aufzeichnen der Interrupt-Freigabezustandsinformation, die vor der Erhöhung des Vorrechtsniveaus vorhanden ist. Als Antwort auf eine Änderung des ausgeführten Programms und eine Verringerung des Vorrechtsniveaus des ausgeführten Programms stellt der Informationsbewegungsabschnitt die Interrupt-Freigabezustandsinformation durch Aufzeichnen derjenigen Interrupt-Freigabezustandsinformation von der aufgezeichneten Interrupt-Freigabezustandsinformation, die dem Programm entspricht, das derzeitig ausgeführt wird, in dem Interrupt-Freigabezustandsspeicherbereich des zweiten Speichers wieder her.
  • Gemäß der obigen Konfiguration wird die Interrupt-Freigabezustandsinformation gesichert, wenn sich das Vorrechtsniveau erhöht. Wenn sich danach das Vorrechtsniveau verringert, wird die Interrupt-Freigabezustandsinformation wiederhergestellt. Wenn eine Änderung des ausgeführten Programms das Vorrechtsniveau erhöht und danach eine Änderung des ausgeführten Programms das Vorrechtsniveau zurück auf ein Anfangsniveau verringert, kann daher die Interrupt-Freigabezustandsinformation in ihren Ursprung wiederhergestellt werden (d. h. die Interrupt-Freigabezustandsinformation vor der Erhöhung des Vorrechtsniveaus), und zwar sogar dann, wenn eine Änderung der Interrupt-Freigabezustandsinformation während der Ausführung des Programms mit einem hohen Vorrechtsniveau durchgeführt wurde.
  • Der obige Mikrocomputer kann wie folgt aufgebaut sein. Der Informationsbewegungsabschnitt sichert die Interrupt-Freigabezustandsinformation durch Spezifizieren der Ursache eines Interrupts, in Bezug auf die die Interrupt-Einstellung konfigurierbar ist, auf der Grundlage der Interrupt-Freigabezustandsinformation, die dem Programm entspricht, das derzeitig ausgeführt wird, und Aufzeichnen derjenigen Interrupt-Freigabezustandsinformation, die der spezifizierten Ursache eines Interrupts entspricht, in Bezug auf die die Interrupt-Einstellung konfigurierbar ist, von den Interrupt-Freigabezustandsinformationen, die in dem Interrupt-Freigabezustandsspeicherbereich gespeichert sind.
  • Gemäß der obigen Konfiguration wird die Interrupt-Freigabezustandsinformation für die Ursache eines Interrupts, in Bezug auf die die Interrupt-Einstellung konfigurierbar ist, als Antwort auf eine Erhöhung des Vorrechtsniveaus gesichert. Danach wird als Antwort auf eine Verringerung des Vorrechtsniveaus die Interrupt-Freigabezustandsinformation für die Ursache eines Interrupts, in Bezug auf die die Interrupt-Einstellung konfigurierbar ist, wiederhergestellt. Daher kann hinsichtlich der Interrupt-Freigabezustandsinformation für die Ursache eines Interrupts, in Bezug auf die die Interrupt-Einstellung nicht konfigurierbar ist, die Interrupt-Freigabezustandsinformation zu dem Zeitpunkt des hohen Vorrechtsniveaus sogar dann, wenn das Vorrechtsniveau zu seinem Ursprungsniveau zurückkehrt, gehalten bzw. gespeichert werden. Dieses basiert auf der Idee, dass hinsichtlich der Interrupt-Ursache, in Bezug auf die die Interrupt-Einstellung nicht konfigurierbar ist, die Interrupt-Freigabezustandsinformation nicht gehalten bzw. gespeichert werden muss, wenn das Vorrechtsniveau zu dem Ursprungsniveau zurückkehrt. Da es nicht notwendig ist, sämtliche Interrupt-Freigabezustandsinformationen, die in dem Interrupt-Freigabezustandsspeicherbereich des zweiten Speichers gespeichert werden, zu sichern und wiederherzustellen, können ein benötigter Speicherbereich und eine Verarbeitungslast zum Sichern der Interrupt-Freigabezustandsinformation verringert werden.
  • Die obige und weitere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden anhand der folgenden detaillierten Beschreibung mit Bezug auf die zugehörigen Zeichnungen deutlich. Es zeigen:
  • 1 ein Blockdiagramm, das einen Mikrocomputer einer ersten Ausführungsform darstellt;
  • 2 ein Flussdiagramm, das einen Interrupt-Einstellprozess darstellt;
  • 3 ein Flussdiagramm, das einen Interrupt-Anforderungsbestimmungsprozess darstellt;
  • 4 ein Zeitdiagramm, das eine Änderung einer Interrupt-Freigabezustandsinformation gemäß der ersten Ausführungsform darstellt;
  • 5 ein Blockdiagramm, das einen Mikrocomputer gemäß einer zweiten Ausführungsform darstellt;
  • 6 ein Zeitdiagramm, das eine Änderung einer Interrupt-Freigabezustandsinformation gemäß der zweiten Ausführungsform darstellt;
  • 7 ein Zeitdiagramm, das eine Änderung einer Interrupt-Freigabezustandsinformation gemäß einer dritten Ausführungsform darstellt; und
  • 8 ein Diagramm, das eine Zuordnung von Vorrechtsniveaus zu Programmen darstellt.
  • (Erste Ausführungsform)
  • Im Folgenden wird eine erste Ausführungsform mit Bezug auf die Zeichnungen beschrieben.
  • Ein Mikrocomputer 1 ist in einem Fahrzeug montiert. Wie es in 1 gezeigt ist, enthält der Mikrocomputer 1 eine CPU 2, einen ROM 3, einen RAM 4, Peripherievorrichtungen 5, 6, 7, eine Interrupt-Steuerung 8 und einen Bus 9, der diese Komponenten miteinander verbindet. In dem Mikrocomputer 1 führt die CPU 2 ein Programm, das in dem ROM 3 gespeichert ist, aus, wodurch verschiedene Verarbeitungen durchgeführt werden.
  • Die Peripherievorrichtungen 5, 6, 7 sind periphere Schaltungen in Bezug auf die CPU 2. Die Peripherievorrichtungen 5, 6, 7 können ein AD-Wandler, eine I/O oder Ähnliches sein. Die Peripherievorrichtungen 5, 6, 7 sind mit Sensoren (nicht gezeigt) zum Erfassen verschiedener Fahrzeugzustände und/oder einem Betriebsschalter (nicht gezeigt) zum Eingeben eines Befehls von einem Fahrzeuginsassen verbunden. Erfassungsinformationen von dem Sensor und/oder Betriebsinformationen von dem Betriebsschalter werden von den Peripherievorrichtungen 5, 6, 7 ausgegeben.
  • Die Interrupt-Steuerung 8 weist eine Funktion zum Empfangen von Signalen auf, die eine Erzeugung verschiedener Ursachen von Interrupts angeben. Man beachte, dass Prioritäten für jeweilige Ursachen eines Interrupts voreingestellt sind. Auf der Grundlage der Prioritäten der jeweiligen Ursachen eines Interrupts, die durch die eingegebenen Signale angegeben werden, gibt die Interrupt-Steuerung 8 ein Interrupt-Anforderungssignal, das der Ursache eines Interrupts mit der höchsten Priorität entspricht, an die CPU 2 aus. Wenn die Peripherievorrichtungen 5, 6, 7 die Erfassungsinformationen und/oder die Betriebsinformationen ausgeben, bestimmt die Interrupt-Steuerung 8, dass eine Ursache eines Interrupts #1, #2, #3 erzeugt wird. Die Ursachen eines Interrupts #1, #2, #3 entsprechen jeweils den Peripherievorrichtungen 5, 6, 7. Im Folgenden werden aus Vereinfachungsgründen die Ursachen eines Interrupts #1, #2, #3 jeweils als Interrupt-Ursachen #1, #2, #3 bezeichnet.
  • Der ROM 3 ist ein nichtflüchtiger Speicher und speichert verschiedene Verarbeitungsprogramme. In der vorliegenden Ausführungsform speichert der ROM 3 ein Fahrzeugsteuerprogramm 31, ein OS-Programm (Betriebssystem-Programm) 32 und ein Hypervisor-Programm 33. Das Fahrzeugsteuerprogramm 31 ist vorgesehen, um einen Verbrennungsmotor oder Ähnliches des Fahrzeugs zu steuern. Das OS-Programm 32 ist vorgesehen, um ein Betriebssystem (OS) zu steuern, das als eine Basis zum Ausführen des Fahrzeugsteuerprogramms 31 dient. Das Hypervisor-Programm 33 ist vorgesehen, um das OS zu verwalten, so dass die CPU 2 mehrere OS parallel ausführen kann. Vorrechtsniveaus des Fahrzeugsteuerprogramms 31, des OS-Programms 32 und des Hypervisor-Programms 33 sind jeweils „niedrig“, „mittel“ und „hoch“. Man beachte, dass, wenn das Vorrechtsniveau niedriger ist, die Anweisung, die von dem Programm ausführbar ist, und der Zugriff des Programms auf den RAM 4 eingeschränkt werden.
  • Der ROM 3 speichert eine Interrupt-Einstelltabelle 34. Für jede der Interrupt-Ursachen #1, #2, #3 legt die Interrupt-Einstelltabelle 34 auf einer Vorrechtsniveaubasis fest, ob eine Freigabe-Interrupt-Anweisung (hier auch als EI-Anweisung bezeichnet) und eine Sperr-Interrupt-Anweisung (hier auch als DI-Anweisung bezeichnet) akzeptierbar bzw. annehmbar sind. Die EI-Anweisung ist eine Anweisung zum gemeinsamen Freigeben von Interrupts mit der Ausnahme einiger Interrupts wie beispielsweise eines nicht maskierbaren Interrupts (NMI) und Ähnlichem. Die DI-Anweisung ist eine Anweisung zum gemeinsamen Sperren von Interrupts mit der Ausnahme einiger Interrupts wie beispielsweise des NMI und Ähnlichem.
  • Wenn in der vorliegenden Ausführungsform das Vorrechtsniveau „niedrig“ ist, werden die EI-Anweisung und die DI-Anweisung in Bezug auf die Interrupt-Ursache #1 akzeptiert. Wenn das Vorrechtsniveau „mittel“ ist, werden die EI-Anweisung und die DI-Anweisung in Bezug auf Interrupt-Ursachen #1, #2 akzeptiert. Wenn das Vorrechtsniveau „hoch“ ist, werden die EI-Anweisung und die DI-Anweisung in Bezug auf die Interrupt-Ursachen #1, #2, #3 akzeptiert.
  • Die CPU 2 enthält einen Prozessor 21 und eine Registergruppe 22. Der Prozessor 21 führt ein Programm aus. Die Registergruppe 22 besteht aus mehreren Registern zum Speichern von Daten, die von dem Prozessor 21 verwendet werden. Die CPU 2 führt eine Verarbeitung auf der Grundlage eines vorbestimmten Verarbeitungsprogramms durch. Ein Vorrechtsniveauspeicherbereich SR1, ein Interrupt-Einstellspeicherbereich SR2 und ein Interrupt-Freigabezustandsspeicherbereich SR3 sind in den Registern der Registergruppe 22 enthalten.
  • Der Vorrechtsniveauspeicherbereich SR1 speichert Vorrechtsniveauinformationen. Die Vorrechtsniveauinformation gibt ein Vorrechtsniveau des Programms, das derzeitig von der CPU 2 ausgeführt wird, an. Der Interrupt-Einstellspeicherbereich SR2 speichert Interrupt-Einstellinformationen für die Interrupt-Ursachen #1, #2, #3. Die Interrupt-Einstellinformation gibt an, ob die Interrupt-Einstellung zu dem derzeitigen Zeitpunkt geändert werden kann. Der Interrupt-Freigabezustandsspeicherbereich SR3 speichert Interrupt-Freigabezustandsinformationen für Interrupt-Ursachen #1, #2, #3. Die Interrupt-Freigabezustandsinformation gibt an, ob die EI-Anweisung und die DI-Anweisung zu dem derzeitigen Zeitpunkt akzeptiert werden.
  • Bei Empfang des Interrupt-Anforderungssignals entsprechend den Interrupt-Ursachen #1, #2, #3 von der Interrupt-Steuerung 8 bestimmt die CPU 2 auf der Grundlage der Interrupt-Freigabezustandsinformation, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 gespeichert ist, ob der Interrupt akzeptiert wird,.
  • Im Folgenden werden ein Interrupt-Einstellprozess und ein Interrupt-Anforderungsbestimmungsprozess, die von der CPU 2 des Mikrocomputers 1 durchgeführt werden, mit Bezug auf die 2 und 3 beschrieben. Die CPU 2 führt während ihres Betriebs wiederholt den Interrupt-Einstellprozess und den Interrupt-Anforderungsbestimmungsprozess durch.
  • In dem Interrupt-Einstellprozess bestimmt die CPU 2 zunächst, ob eine Änderung eines Vorrechtsniveaus des Programms, das von der CPU 2 ausgeführt wird, vorliegt, wie es in 2 gezeigt ist. Wenn keine Änderung eines Vorrechtsniveaus vorliegt (NEIN in S10), schreitet der Prozess zu S40. Wenn eine Änderung eines Vorrechtsniveaus vorliegt (JA in S10), führt die CPU 2 S20 durch. In S20 speichert die CPU 2 eine Vorrechtsniveauinformation, die das Vorrechtsniveau des ausgeführten Programms angibt, in dem Vorrechtsniveauspeicherbereich SR1. In S30 speichert die CPU 2 die Interrupt-Einstellinformation, die dem Vorrechtsniveau des ausgeführten Programms entspricht, in dem Interrupt-Einstellspeicherbereich SR2. Wenn die CPU 2 beispielsweise das OS-Programm 32 ausführt, speichert die CPU 2 eine Vorrechtsniveauinformation, die angibt, dass das Vorrechtsniveau „mittel“ ist, in dem Vorrechtsniveauspeicherbereich SR1, und außerdem speichert die CPU 2 eine Interrupt-Einstellinformation, die angibt, dass die EI-Anweisung und die DI-Anweisung in Bezug auf die Interrupt-Ursachen #1, #2 akzeptiert werden und die EI-Anweisung und die DI-Anweisung in Bezug auf die Interrupt-Ursache #3 nicht akzeptiert werden, in dem Interrupt-Einstellspeicherbereich SR2.
  • In S40 bestimmt die CPU 2, ob die EI-Anweisung in die CPU 2 eingegeben wurde. Wenn die EI-Anweisung nicht eingegeben wurde (NEIN in S40), schreitet der Prozess zu S60. Wenn die EI-Anweisung eingegeben wurde (JA in S40), schreitet der Prozess zu S50. In S50 spezifiziert die CPU 2 durch Bezugnahme auf die Interrupt-Einstellinformation, die in dem Interrupt-Einstellspeicherbereich SR2 gespeichert ist, von den Interrupt-Ursachen #1, #2, #3 diejenige Interrupt-Ursache, in Bezug auf die die Annahme der EI-Anweisung und der DI-Anweisung freigegeben wird. Außerdem schreibt die CPU 2 die Interrupt-Freigabezustandsinformation, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 gespeichert ist, neu, so dass der Interrupt für die spezifizierte Interrupt-Ursache freigegeben wird. Nach S50 schreitet der Prozess zu S60. Wenn beispielsweise das Vorrechtsniveau „mittel“ ist, wird die Annahme der EI-Anweisung und der DI-Anweisung in Bezug auf die Interrupt-Ursachen #1, #2 freigegeben. Somit wird die Interrupt-Freigabezustandsinformation neu geschrieben, so dass der Interrupt in Bezug auf die Interrupt-Ursachen #1, #2 freigegeben wird.
  • In S60 bestimmt die CPU 2, ob die DI-Anweisung in die CPU 2 eingegeben wurde. Wenn die DI-Anweisung nicht eingegeben wurde (NEIN in S60), beendet die CPU 2 den Interrupt-Einstellprozess. Wenn die DI-Anweisung eingegeben wurde (JA in S60), schreitet der Prozess zu S70. In S70 spezifiziert die CPU 2 durch Bezugnahme auf die Interrupt-Einstellinformation, die in dem Interrupt-Einstellspeicherbereich SR2 gespeichert ist, von den Interrupt-Ursachen #1, #2, #3 diejenige Interrupt-Ursache, in Bezug auf die die EI-Anweisung und die DI-Anweisung freigegeben werden. Außerdem schreibt die CPU 2 die Interrupt-Freigabezustandsinformation, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 gespeichert ist, neu, so dass der Interrupt für die spezifizierte Interrupt-Ursache gesperrt wird. Nach S70 wird der Interrupt-Einstellprozess beendet. Wenn das Vorrechtsniveau beispielsweise „mittel“ ist, wird die Annahme der EI-Anweisung und der DI-Anweisung in Bezug auf die Interrupt-Ursachen #1, #2 freigegeben. Somit wird die Interrupt-Freigabezustandsinformation neu geschrieben, so dass der Interrupt für die Interrupt-Ursachen #1, #2 gesperrt wird.
  • Wie es in 3 gezeigt ist, bestimmt die CPU 2 in dem Interrupt-Anforderungsbestimmungsprozess zunächst, ob das Interrupt-Anforderungssignal in die CPU 2 eingegeben wurde. Wenn das Interrupt-Anforderungssignal nicht eingegeben wurde (NEIN in S110), wird der Interrupt-Anforderungsbestimmungsprozess beendet. Wenn das Interrupt-Anforderungssignal eingegeben wurde (JA in S110), schreitet das Programm zu S120. In S120 bestimmt die CPU 2 durch Bezugnahme auf die Interrupt-Freigabezustandsinformation, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 gespeichert ist, ob die Ursache eines Interrupts, die durch das Interrupt-Anforderungssignal angegeben wird (d. h. eine der Interrupt-Ursachen #1, #2, #3), freigegeben ist. Wenn die Ursache eines Interrupts, die durch das Interrupt-Anforderungssignal angegeben wird, nicht freigegeben ist (NEIN in S120), wird der Interrupt-Anforderungsbestimmungsprozess beendet. Wenn die Ursache eines Interrupts, die durch das Interrupt-Anforderungssignal angegeben wird, freigegeben ist (JA in S120), schreitet der Prozess zu S130. In S130 unterbricht die CPU 2 das Programm, das ausgeführt wird (d. h. eines der Programme 31, 32, 33), und außerdem führt die CPU 2 einen Interrupt-Prozess aus, der der Ursache eines Interrupts entspricht, die durch das Interrupt-Anforderungssignal angegeben wird. Nach S130 wird der Interrupt-Anforderungsbestimmungsprozess beendet.
  • Im Folgenden wird ein Beispiel einer Änderung einer Interrupt-Freigabezustandsinformation mit Bezug auf 4 beschrieben. Wie es in 4 gezeigt ist, wird angenommen, dass das Vorrechtsniveau zu einem Zeitpunkt t0 „niedrig“ ist und sich der Interrupt-Freigabezustand in seinem Anfangszustand befindet. In dem Anfangszustand ist „Interrupt freigegeben“ für die Interrupt-Ursachen #1, #2 eingestellt und „Interrupt gesperrt“ ist für die Interrupt-Ursache #3 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP00“ in 4). Wenn die EI-Anweisung in die CPU 2 zu einem Zeitpunkt t1 eingegeben wird, wird „Interrupt freigegeben“ für die Interrupt-Ursachen #1, #2 eingestellt und „Interrupt gesperrt“ wird für die Interrupt-Ursache #3 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP01“). Dieses kommt daher, dass, wenn das Vorrechtsniveau „niedrig“ ist, die EI-Anweisung in Bezug auf die Interrupt-Ursache #1 akzeptiert wird.
  • Wenn sich das Vorrechtsniveau von „niedrig“ in „mittel“ zu einem Zeitpunkt t2 ändert und die DI-Anweisung in die CPU 2 zu einem Zeitpunkt t3 eingegeben wird, wird „Interrupt gesperrt“ für die Interrupt-Ursachen #1, #2, #3 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP02“). Dieses kommt daher, dass, wenn das Vorrechtsniveau „mittel“ ist, die DI-Anweisung in Bezug auf die Interrupt-Ursachen #1, #2 akzeptiert wird.
  • Wenn sich danach das Vorrechtsniveau von „mittel“ in „hoch“ zu einem Zeitpunkt t4 ändert und die EI-Anweisung in die CPU 2 zu einem Zeitpunkt t5 eingegeben wird, wird „Interrupt freigegeben“ für die Interrupt-Ursachen #1, #2, #3 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP03“). Dieses kommt daher, dass, wenn das Vorrechtsniveau „hoch“ ist, die EI-Anweisung in Bezug auf die Interrupt-Ursachen #1, #2, #3 akzeptiert wird.
  • Wenn sich das Vorrechtsniveau von „hoch“ in „mittel“ zu einem Zeitpunkt t6 ändert und die DI-Anweisung in die CPU 2 zu einem Zeitpunkt t7 eingegeben wird, wird „Interrupt gesperrt“ für die Interrupt-Ursachen #1, #2 eingestellt und „Interrupt freigegeben“ wird für die Interrupt-Ursache #3 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP04“). Dieses kommt daher, dass, wenn das Vorrechtsniveau „mittel“ ist, die DI-Anweisung in Bezug auf die Interrupt-Ursachen #1, #2 akzeptiert wird.
  • Wenn sich das Vorrechtsniveau von „mittel“ in „niedrig“ zu einem Zeitpunkt t8 ändert und die DI-Anweisung in die CPU 2 zu einem Zeitpunkt t9 eingegeben wird, wird „Interrupt gesperrt“ für die Interrupt-Ursachen #1, #2 eingestellt und „Interrupt freigegeben“ wird für die Interrupt-Ursache #3 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP05“). Dieses kommt daher, dass, wenn das Vorrechtsniveau „niedrig“ ist, die DI-Anweisung in Bezug auf die Interrupt-Ursache #1 akzeptiert wird. Wenn die EI-Anweisung in die CPU 2 zu einem Zeitpunkt t10 eingegeben wird, wird „Interrupt freigegeben“ für die Interrupt-Ursachen #1, #3 eingestellt und „Interrupt gesperrt“ wird für die Interrupt-Ursache #2 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP06“). Dieses kommt daher, dass, wenn das Vorrechtsniveau „niedrig“ ist, die EI-Anweisung in Bezug auf die Interrupt-Ursache #1 akzeptiert wird.
  • Wenn sich das Vorrechtsniveau danach von „niedrig“ in „hoch“ zu einem Zeitpunkt t11 ändert und die DI-Anweisung in die CPU 2 zu einem Zeitpunkt t12 eingegeben wird, wird „Interrupt gesperrt“ für die Interrupt-Ursachen #1, #2, #3 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP07“). Dieses kommt daher, dass, wenn das Vorrechtsniveau „hoch“ ist, die DI-Anweisung in Bezug auf die Interrupt-Ursachen #1, #2, #3 akzeptiert wird.
  • Gemäß der obigen Konfiguration ist der Mikrocomputer 1 in der Lage, mehrere Programme 31, 32, 33, denen unterschiedliche Vorrechtsniveaus zugewiesen sind, auszuführen. Die Interrupt-Einstelltabelle 34 ist in dem ROM 3 des Mikrocomputers 1 gespeichert. Die Interrupt-Einstelltabelle 34 speichert die Interrupt-Einstellinformationen für mehrere Ursachen von Interrupts #1, #2, #3 (Interrupt-Ursachen #1, #2, #3). Für jede Ursache eines Interrupts #1, #2, #3 gibt die Interrupt-Einstellinformation auf einer Vorrechtsniveau-um-Vorrechtsniveau-Basis an, ob die Interrupt-Einstellung, die eine Einstellung zum Freigeben oder Sperren des Interrupts ist, konfigurierbar ist. Als Antwort auf eine Eingabe der Freigabe-Interrupt-Anweisung (EI-Anweisung) nimmt der Mikrocomputer 1 Bezug auf die Interrupt-Einstelltabelle 34, die in dem ROM 3 gespeichert ist, und spezifiziert die Ursache eines Interrupts, in Bezug auf die die Interrupt-Einstellung konfigurierbar ist, auf der Grundlage des Vorrechtsniveaus des Programms, das derzeitig ausgeführt wird (S40). Außerdem gibt der Mikrocomputer 1 den Interrupt für die spezifizierte Ursache eines Interrupts frei (S50). Als Antwort auf eine Eingabe einer Sperr-Interrupt-Anweisung (EI-Anweisung) nimmt der Mikrocomputer 1 Bezug auf die Interrupt-Einstelltabelle 34, die in dem ROM 3 gespeichert ist, und spezifiziert die Ursache eines Interrupts, in Bezug auf die die Interrupt-Einstellung konfigurierbar ist, auf der Grundlage des Vorrechtsniveaus des Programms, das derzeitig ausgeführt wird (S60). Außerdem sperrt der Mikrocomputer 1 den Interrupt für die spezifizierte Ursache eines Interrupts (S70). Wenn die Ursache eines Interrupts während der Ausführung des Programms erzeugt wird, bestimmt der Mikrocomputer 1, ob der Interrupt für die erzeugte Ursache eines Interrupts freigegeben oder gesperrt wird. Wenn der Interrupt für die erzeugte Ursache eines Interrupts freigegeben wird (JA in S120), unterbricht der Mikrocomputer 1 die Ausführung des Programms und führt den Interrupt-Prozess entsprechend der erzeugten Ursache eines Interrupts aus (S130). Wenn der Interrupt für die erzeugte Ursache eines Interrupts gesperrt wird (NEIN in S120), verhindert der Mikrocomputer 1 den Interrupt-Prozess, der der erzeugten Ursache eines Interrupts entspricht.
  • Gemäß der obigen Konfiguration kann der Mikrocomputer 1 durch Bezugnahme auf die Interrupt-Einstelltabelle 34 die Ursache eines Interrupts, in Bezug auf die die Interrupt-Einstellung, die die Einstellung zum Freigeben oder Sperren des Interrupts ist, konfigurierbar ist, gemäß dem Vorrechtsniveau des derzeitig ausgeführten Programms spezifizieren. Dann wird der Interrupt für die spezifizierte Ursache eines Interrupts, in Bezug auf die die Interrupt-Einstellung konfigurierbar ist, bei Eingabe der EI-Anweisung freigegeben und bei Eingabe der DI-Anweisung gesperrt. Auf diese Weise kann der Interrupt, in Bezug auf den „Interrupt freigegeben“ und „Interrupt gesperrt“ änderbar sind, auf einer Vorrechtsniveau-um-Vorrechtsniveau-Basis eingestellt werden.
  • In der vorliegenden Ausführungsform kann der ROM einem Beispiel eines ersten Speichers und auch einem Beispiel einer ersten Speichereinrichtung entsprechen. Die CPU 2, die S40 und S50 durchführt, kann einem Beispiel eines Interrupt-Freigabe-abschnitts und außerdem einem Beispiel einer Interrupt-Freigabeeinrichtung entsprechen. Die CPU 2, die S60 und S70 durchführt, kann einem Beispiel eines Interrupt-Sperrabschnitts und ebenfalls einem Beispiel einer Interrupt-Sperreinrichtung entsprechen. Die CPU 2, die S110 bis S130 durchführt, kann einem Beispiel eines Interrupt-Prozessausführungsabschnitts und ebenfalls einem Beispiel einer Interrupt-Prozessausführungseinrichtung entsprechen.
  • (Zweite Ausführungsform)
  • Im Folgenden wird eine zweite Ausführungsform mit Bezug auf die Zeichnungen beschrieben. Es wird hier der Unterschied zu der ersten Ausführungsform beschrieben.
  • Wie es in 5 gezeigt ist, unterscheiden sich der Mikrocomputer 1 der zweiten Ausführungsform und derjenige der ersten Ausführungsform in dem Vorhandensein einer Informationsbewegungseinheit 23 und sind hinsichtlich der anderen Punkte gleich. Die Informationsbewegungseinheit 23 ist eine Hardware, die eine Funktion zum Sichern und Wiederherstellen der Interrupt-Freigabezustandsinformation, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 gespeichert ist, aufweist. Insbesondere wenn das Vorrechtsniveau erhöht wird, zeichnet die Informationsbewegungseinheit die Interrupt-Freigabezustandsinformation, die in dem Interrupt-Freigabezustandsspeicherbereich aufgezeichnet wurde, bevor das Vorrechtsniveau höher geworden ist, in einem Informationsspeicherbereich der Informationsbewegungseinheit 23 derart auf, dass die Interrupt-Freigabezustandsinformation dem Vorrechtsniveau zugeordnet wird. Wenn danach das Vorrechtsniveau kleiner wird, extrahiert die Informationsbewegungseinheit 23 die Interrupt-Freigabezustandsinformation, die dem niedrigeren Vorrechtsniveau zugeordnet ist, aus dem Informationsspeicherbereich der Informationsbewegungseinheit 23.
  • Im Folgenden wird ein Beispiel einer Änderung einer Interrupt-Freigabezustandsinformation mit Bezug auf 6 beschrieben. Wie es in 6 gezeigt ist, wird angenommen, dass das Vorrechtsniveau zu einem Zeitpunkt t0 „niedrig“ ist und die Interrupt-Freigabezustandsinformation in ihrem Anfangszustand ist, in dem „Interrupt freigegeben“ für die Interrupt-Ursachen #1, #2 eingestellt ist und „Interrupt gesperrt“ für die Interrupt-Ursache #3 eingestellt ist (siehe Interrupt-Freigabezustandsinformation „IP10’“). Wenn die EI-Anweisung in die CPU 2 zu einem Zeitpunkt t1 eingegeben wird, wird „Interrupt freigegeben“ für die Interrupt-Ursachen #1, #2 eingestellt und „Interrupt gesperrt“ wird für die Interrupt-Ursache #3 eingestellt (siehe Interrupt-Freigabezustandsin-formation „IP11“). Dieses kommt daher, dass, wenn das Vorrechtsniveau „niedrig“ ist, die EI-Anweisung in Bezug auf die Interrupt-Ursache #1 akzeptiert wird.
  • Wenn sich das Vorrechtsniveau danach von „niedrig“ in „mittel“ zu einem Zeitpunkt t2 ändert, wird die Interrupt-Freigabezustandsinformation IP11, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 aufgezeichnet wurde, bevor das Vorrechtsniveau „mittel“ wurde, gesichert und in der Informationsbewegungseinheit 23 aufgezeichnet. Wenn die DI-Anweisung in die CPU 2 zu einem Zeitpunkt t3 eingegeben wird, wird „Interrupt gesperrt“ für die Interrupt-Ursachen #1, #2, #3 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP12“). Dieses kommt daher, dass, wenn das Vorrechtsniveau „mittel“ ist, die DI-Anweisung in Bezug auf die Interrupt-Ursachen #1, #2 akzeptiert wird.
  • Wenn sich danach das Vorrechtsniveau von „mittel“ in „hoch“ zu einem Zeitpunkt t4 ändert, wird die Interrupt-Freigabezustandsinformation IP12, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 aufgezeichnet wurde, bevor das Vorrechtsniveau „hoch“ wurde, gesichert und in der Informationsbewegungseinheit 23 aufgezeichnet. Wenn die EI-Anweisung in die CPU 2 zu einem Zeitpunkt t5 eingegeben wird, wird „Interrupt freigegeben“ für die Interrupt-Ursachen #1, #2, #3 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP13“). Dieses kommt daher, dass, wenn das Vorrechtsniveau „hoch“ ist, die EI-Anweisung in Bezug auf die Interrupt-Ursachen #1, #2, #3 akzeptiert wird.
  • Wenn sich danach das Vorrechtsniveau von „hoch“ in „mittel“ zu einem Zeitpunkt t6 ändert, wird die Interrupt-Freigabezustandsinformation IP12, die in der Informationsbewegungseinheit 23 gesichert wurde, in dem Interrupt-Freigabezustandsspeicherbereich SR3 wiederhergestellt (siehe Pfeil AL11). Dementsprechend wird „Interrupt gesperrt“ für die Interrupt-Ursachen #1, #2, #3 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP14“). Wenn die DI-Anweisung in die CPU 2 zu einem Zeitpunkt t7 eingegeben wird, wird „„Interrupt gesperrt“ für die Interrupt-Ursachen #1, #2, #3 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP15“). Dieses kommt daher, dass, wenn das Vorrechtsniveau „mittel“ ist, die DI-Anweisung in Bezug auf die Interrupt-Ursachen #1, #2 akzeptiert wird.
  • Wenn sich danach das Vorrechtsniveau von „mittel“ in „niedrig“ zu einem Zeitpunkt t8 ändert, wird die Interrupt-Freigabezustandsinformation IP11, die in der Informationsbewegungseinheit 23 gesichert wurde, in dem Interrupt-Freigabezustandsspeicherbereich SR3 wiederhergestellt (siehe Pfeil AL12). Dementsprechend wird „Interrupt freigegeben“ für die Interrupt-Ursachen #1, #2 eingestellt und „Interrupt gesperrt“ wird für die Interrupt-Ursache #3 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP16“). Wenn die EI-Anweisung in die CPU 2 zu einem Zeitpunkt t9 eingegeben wird, wird „Interrupt freigegeben“ für die Interrupt-Ursachen #1, #2 eingestellt und „Interrupt gesperrt“ wird für die Interrupt-Ursache #3 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP17“). Dieses kommt daher, dass, wenn das Vorrechtsniveau „niedrig“ ist, die EI-Anweisung in Bezug auf die Interrupt-Ursache #1 akzeptiert wird. Wenn die DI-Anweisung in die CPU 2 zu einem Zeitpunkt t10 eingegeben wird, wird „Interrupt freigegeben“ für die Interrupt-Ursache #2 eingestellt und „Interrupt gesperrt“ wird für die Interrupt-Ursachen #1, #3 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP18“). Dieses kommt daher, dass, wenn das Vorrechtsniveau „niedrig“ ist, die DI-Anweisung in Bezug auf die Interrupt-Ursache #1 akzeptiert wird.
  • Wenn sich danach das Vorrechtsniveau von „niedrig“ in „hoch“ zu einem Zeitpunkt t11 ändert, wird die Interrupt-Freigabezustandsinformation IP18, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 aufgezeichnet wurde, bevor sich das Vorrechtsniveau in „hoch“ geändert hat, gesichert und in der Informationsbewegungseinheit 23 aufgezeichnet. Wenn die DI-Anweisung in die CPU 2 zu einem Zeitpunkt t12 eingegeben wird, wird „Interrupt gesperrt“ für die Interrupt-Ursachen #1, #2, #3 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP19“). Dieses kommt daher, dass, wenn das Vorrechtsniveau „hoch“ ist, die DI-Anweisung in Bezug auf die Interrupt-Ursachen #1, #2, #3 akzeptiert wird.
  • In der vorliegenden Ausführungsform ist die Registergruppe 22 mit dem Interrupt-Freigabezustandsspeicherbereich SR3 versehen, der die Interrupt-Freigabezustandsinformationen für die Interrupt-Ursachen #1, #2, #3 speichert. Für jede Interrupt-Ursache gibt die Interrupt-Freigabezustandsinformation an, ob der Interrupt in Bezug auf das Programm, das derzeitig ausgeführt wird, freigegeben oder gesperrt wird. Der Mikrocomputer 1 gibt den Interrupt für die spezifizierte Interrupt-Ursache durch Konfigurieren derjenigen Interrupt-Freigabezustandsinformation, die der spezifizierten Interrupt-Ursache entspricht, von den Interrupt-Freigabezustandsinformationen, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 gespeichert sind, frei (S50). Insbesondere gibt der Mikrocomputer 1 den Interrupt für die spezifizierte Interrupt-Ursache durch Konfigurieren der Interrupt-Freigabezustandsinformation, die der spezifizierten Interrupt-Ursache entspricht, derart, dass die konfigurierte Interrupt-Freigabezustandsinformation angibt, dass der Interrupt freigegeben ist, frei. Auf ähnliche Weise wird der Interrupt für die spezifizierte Interrupt-Ursache gesperrt (S70). Außerdem bestimmt der Mikrocomputer 1 durch Bezugnahme auf die Interrupt-Freigabezustandsinformationen, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 gespeichert sind, ob der Interrupt-Prozess, der der erzeugten Interrupt-Ursache entspricht, durchgeführt oder verhindert werden sollte (S120).
  • Als Antwort auf eine Änderung des ausgeführten Programms und eine Erhöhung des Vorrechtsniveaus des ausgeführten Programms sichert die Informationsbewegungseinheit 23 die Interrupt-Freigabezustandsinformation durch Aufzeichnen derjenigen Interrupt-Freigabezustandsinformation, die vor der Erhöhung des Vorrechtsniveaus vorlag. Als Antwort auf eine Änderung des ausgeführten Programms und eine Verringerung des Vorrechtsniveaus des ausgeführten Programms stellt die Informationsbewegungseinheit 23 die Interrupt-Freigabezustandsinformation durch Aufzeichnen derjenigen Interrupt-Freigabezustandsinformation von den gespeicherten Interrupt-Freigabezustandsinformationen, die dem derzeitig ausgeführten Programm entspricht, in dem Interrupt-Freigabezustandsspeicherbereich 23 der Registergruppe 22 (zweiter Speicher) wieder her.
  • Somit sichert der Mikrocomputer 1 die Interrupt-Freigabezustandsinformation als Antwort auf eine Erhöhung des Vorrechtsniveaus und stellt die Interrupt-Freigabezustandsinformation als Antwort auf eine Verringerung des Vorrechtsniveaus wieder her. Wenn eine Änderung des ausgeführten Programms das Vorrechtsniveau erhöht und danach eine Änderung des ausgeführten Programms das Vorrechtsniveau zurück auf ein Ursprungsniveau bzw. Anfangsniveau verringert, kann daher die Interrupt-Freigabezustandsinformation sogar dann zu ihrem Anfangszustand zurückkehren (d. h. die Interrupt-Freigabezustandsinformation vor der Erhöhung des Vorrechtsniveaus), wenn eine Änderung der Interrupt-Freigabezustandsinformation während der Ausführung des Programms mit einem hohen Vorrechtsniveau durchgeführt wurde.
  • In der vorliegenden Ausführungsform kann die Registergruppe 22 einem Beispiel eines zweiten Speichers und außerdem einem Beispiel einer zweiten Speichereinrichtung entsprechen. Die Informationsbewegungseinheit 23 kann einem Beispiel eines Informationsbewegungsabschnitts und ebenfalls einem Beispiel einer Informationsbewegungseinrichtung entsprechen.
  • (Dritte Ausführungsform)
  • Im Folgenden wird eine dritte Ausführungsform mit Bezug auf die Zeichnungen beschrieben. Es wird hier ein Unterschied zu der zweiten Ausführungsform beschrieben.
  • Der Mikrocomputer 1 der dritten Ausführungsform und derjenige der zweiten Ausführungsform unterscheiden sich in der Funktion einer Informationsbewegungseinheit 23 und sind in anderen Punkten gleich. Insbesondere weist die Informationsbewegungseinheit 23 die folgende Funktion auf. Auf der Grundlage der Interrupt-Einstellinformationen, die in dem Interrupt-Einstellspeicherbereich SR2 gespeichert sind, spezifiziert die Informationsbewegungseinheit 23 von den Interrupt-Ursachen #1, #2, #3 diejenige Interrupt-Ursache, in Bezug auf die die Interrupt-Einstellung konfigurierbar ist. Danach sichert die Informationsbewegungseinheit 23 nur diejenige Interrupt-Freigabezustandsinformation, die der spezifizierten Interrupt-Ursache entspricht, von den Interrupt-Freigabezustandsinformationen, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 gespeichert sind, und stellt diese wieder her. Als Antwort auf eine Änderung des Vorrechtsniveaus von „niedrig“ in „mittel“ sichert die Informationsbewegungseinheit 23 beispielsweise nur die Interrupt-Freigabezustandsinformation, die der Interrupt-Ursache #1 entspricht, von den Interrupt-Freigabezustandsinformationen, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 gespeichert sind. Als Antwort auf eine Änderung des Vorrechtsniveaus von „mittel“ in „hoch“ sichert die Informationsbewegungseinheit 23 nur die Interrupt-Freigabezustandsinformationen, die den Interrupt-Ursachen #1, #2 entsprechen. Außerdem stellt die Informationsbewegungseinheit 23 als Antwort auf beispielsweise eine Änderung des Vorrechtsniveaus von „hoch“ in „mittel“ nur die Interrupt-Freigabezustandsinformationen, die den Interrupt-Ursachen #1, #2 entsprechen, wieder her.
  • Im Folgenden wird ein Beispiel einer Änderung einer Interrupt-Freigabezustandsinformation mit Bezug auf 7 beschrieben. Wie es in 7 gezeigt ist, wird angenommen, dass das Vorrechtsniveau zu einem Zeitpunkt t0 „niedrig“ ist und die Interrupt-Freigabezustandsinformation auf ihrem Anfangszustand ist, in dem „Interrupt freigegeben“ für die Interrupt-Ursachen #1, #2 eingestellt ist und „Interrupt gesperrt“ für die Interrupt-Ursache #3 eingestellt ist (siehe Interrupt-Freigabezustandsinformation „IP20“). Wenn die EI-Anweisung in die CPU 2 zu einem Zeitpunkt t1 eingegeben wird, wird „Interrupt freigegeben“ für die Interrupt-Ursachen #1, #2 eingestellt und „Interrupt gesperrt“ wird für die Interrupt-Ursache #3 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP21“). Dieses kommt daher, dass, wenn das Vorrechtsniveau „niedrig“ ist, die EI-Anweisung in Bezug auf die Interrupt-Ursache #1 akzeptiert wird.
  • Wenn sich danach das Vorrechtsniveau von „niedrig“ in „mittel“ zu einem Zeitpunkt t2 ändert, wird nur die Interrupt-Freigabezustandsinformation, die der Interrupt-Ursache #1 entspricht, in der Informationsbewegungseinheit 23 gesichert. Insbesondere wird von der Interrupt-Freigabezustandsinformation IP21, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 aufgezeichnet wurde, bevor sich das Vorrechtsniveau in „mittel“ geändert hat, nur diejenige Interrupt-Freigabezustandsinformation, die der Interrupt-Ursache #1 entspricht, in der Informationsbewegungseinheit 23 gesichert. Wenn die DI-Anweisung in die CPU 2 zu einem Zeitpunkt t3 eingegeben wird, wird „Interrupt gesperrt“ für die Interrupt-Ursachen #1, #2, #3 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP22“). Dieses kommt daher, dass, wenn das Vorrechtsniveau „mittel“ ist, die DI-Anweisung in Bezug auf die Interrupt-Ursachen #1, #2 akzeptiert wird.
  • Wenn sich danach das Vorrechtsniveau von „mittel“ in „hoch“ zu einem Zeitpunkt t4 ändert, sichert die Informationsbewegungseinheit 23 nur diejenigen Interrupt-Freigabezustandsinformationen, die den Interrupt-Ursachen #1, #2 entsprechen, von der Interrupt-Freigabezustandsinformation IP21, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 gespeichert wurde, bevor sich das Vorrechtsniveau in „mittel“ geändert hat. Wenn die EI-Anweisung in die CPU 2 zu einem Zeitpunkt t5 eingegeben wird, wird „Interrupt freigegeben“ für die Interrupt-Ursachen #1, #2, #3 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP23“). Dieses kommt daher, dass, wenn das Vorrechtsniveau „hoch“ ist, die EI-Anweisung in Bezug auf die Interrupt-Ursachen #1, #2, #3 akzeptiert wird.
  • Wenn sich danach das Vorrechtsniveau von „hoch“ in „mittel“ zu einem Zeitpunkt t6 ändert, wird die Interrupt-Freigabezustandsinformation IP22, die den Interrupt-Ursachen #1, #2 entspricht und in der Informationsbewegungseinheit 23 gesichert wurde, in dem Interrupt-Freigabezustandsspeicherbereich SR3 wiederhergestellt (siehe Pfeil AL21). Dementsprechend wird „Interrupt gesperrt“ für die Interrupt-Ursachen #1, #2 eingestellt und „Interrupt freigegeben“ wird für die Interrupt-Ursache #3 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP24“). Wenn die DI-Anweisung in die CPU 2 zu einem Zeitpunkt t7 eingegeben wird, wird „Interrupt gesperrt“ für die Interrupt-Ursachen #1, #2 eingestellt und „Interrupt freigegeben“ wird für die Interrupt-Ursache #3 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP24“). Dieses kommt daher, dass, wenn das Vorrechtsniveau „mittel“ ist, die DI-Anweisung in Bezug auf die Interrupt-Ursachen #1, #2 akzeptiert wird.
  • Wenn sich danach das Vorrechtsniveau von „mittel“ in „niedrig“ zu einem Zeitpunkt t8 ändert, wird die Interrupt-Freigabezustandsinformation IP21, die der Interrupt-Ursache #1 entspricht und in der Informationsbewegungseinheit 23 gesichert wurde, in dem Interrupt-Freigabezustandsspeicherbereich SR3 wiederhergestellt (siehe Pfeil AL22). Dementsprechend wird „Interrupt freigegeben“ für die Interrupt-Ursachen #1, #3 eingestellt und „Interrupt gesperrt“ wird für die Interrupt-Ursache #2 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP26“). Wenn die EI-Anweisung in die CPU 2 zu einem Zeitpunkt t8 eingegeben wird, wird „Interrupt freigegeben“ für die Interrupt-Ursachen #1, #3 eingestellt und „Interrupt gesperrt“ wird für die Interrupt-Ursache #2 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP27“). Dieses kommt daher, dass, wenn das Vorrechtsniveau „niedrig“ ist, die EI-Anweisung in Bezug auf die Interrupt-Ursache #1 akzeptiert wird. Wenn die DI-Anweisung in die CPU 2 zu einem Zeitpunkt t10 eingegeben wird, wird „Interrupt freigegeben“ für die Interrupt-Ursache #3 eingestellt und „Interrupt gesperrt“ wird für die Interrupt-Ursachen #1, #2 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP28“). Dieses kommt daher, dass, wenn das Vorrechtsniveau „niedrig“ ist, die DI-Anweisung in Bezug auf die Interrupt-Ursache #1 akzeptiert wird.
  • Wenn sich danach das Vorrechtsniveau von „niedrig“ in „hoch“ zu einem Zeitpunkt t11 ändert, wird nur die Interrupt-Freigabezustandsinformation, die der Interrupt-Ursache #1 entspricht, in der Informationsbewegungseinheit 23 gesichert. Insbesondere wird von der Interrupt-Freigabezustandsinformation IP28, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 aufgezeichnet wurde, bevor sich das Vorrechtsniveau in „hoch“ geändert hat, nur diejenige Interrupt-Freigabezustandsinformation, die der Interrupt-Ursache #1 entspricht, in der Informationsbewegungseinheit 23 gesichert. Wenn die DI-Anweisung in die CPU 2 zu einem Zeitpunkt t12 eingegeben wird, wird „Interrupt gesperrt“ für die Interrupt-Ursachen #1, #2, #3 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP29“). Dieses kommt daher, dass, wenn das Vorrechtsniveau „hoch“ ist, die DI-Anweisung in Bezug auf die Interrupt-Ursachen #1, #2, #3 akzeptiert wird.
  • Gemäß der obigen Konfiguration des Mikrocomputers 1 sichert die Informationsbewegungseinheit 23 die Interrupt-Freigabezustandsinformation durch Spezifizieren der Ursache eines Interrupts, in Bezug auf die die Interrupt-Einstellung konfigurierbar ist, auf der Grundlage der Interrupt-Freigabezustandsinformation, die dem derzeitig ausgeführten Programm entspricht, und Aufzeichnen der Interrupt-Freigabezustandsinformation, die der spezifizierten Ursache eines Interrupts entspricht, in Bezug auf die die Interrupt-Einstellung konfigurierbar ist, von den Interrupt-Freigabezustandsinformationen, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 gespeichert sind. Aufgrund dessen ist es hinsichtlich der Interrupt-Freigabezustandsinformation, die der Interrupt-Ursache entspricht, in Bezug auf die die Interrupt-Einstellung nicht konfigurierbar ist, sogar dann, wenn das Vorrechtsniveau zu dem Anfangsniveau zurückkehrt, möglich, die Interrupt-Freigabezustandsinformation, die zu dem Zeitpunkt des hohen Vorrechtsniveaus vorhanden ist, zu halten bzw. speichern. Dieses basiert auf der Idee, dass hinsichtlich der Interrupt-Ursache, in Bezug auf die die Interrupt-Einstellung nicht konfigurierbar ist, die Interrupt-Freigabezustandsinformation nicht gehalten bzw. gespeichert werden muss, wenn das Vorrechtsniveau zu dem Anfangsniveau zurückkehrt. Da es nicht notwendig ist, sämtliche Interrupt-Freigabezustandsinformationen, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 der Registergruppe 22 gespeichert sind, zu sichern und wiederherzustellen, können ein benötigter Speicherbereich und eine Verarbeitungslast zum Sichern der Interrupt-Freigabezustandsinformationen verringert werden.
  • Die Ausführungsformen der vorliegenden Erfindung sind nicht auf die oben dargestellten Ausführungsformen beschränkt. Die Ausführungsformen der vorliegenden Erfindung können verschiedene Formen annehmen, für die im Folgenden einige Beispiele beschrieben sind.
  • In den obigen Ausführungsformen wird die Interrupt-Freigabezustandsinformation, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 gespeichert ist, durch Bezugnahme auf die Interrupt-Einstellinformation, die in dem Interrupt-Einstellspeicherbereich SR2 gespeichert ist, als Antwort auf die EI-Anweisung oder die DI-Anweisung neu geschrieben (S40 bis S70), da ein typischer Mikrocomputer die EI-Anweisung und die DI-Anweisung unterstützt. Alternativ kann der Mikrocomputer eine andere Interrupt-Freigabe-Anweisung als die EI-Anweisung und eine andere Interrupt-Sperr-Anweisung als die DI-Anweisung unterstützen und die Interrupt-Freigabezustandsinformation als Antwort auf die Eingabe der anderen Interrupt-Freigabe-Anweisung und der anderen Interrupt-Sperr-Anweisung neu schreiben.
  • In der zweiten Ausführungsform sichert die Informationsbewegungseinheit 23 die Interrupt-Freigabezustandsinformation und stellt diese wieder her. Alternativ kann der Prozessor 21 die Interrupt-Freigabezustandsinformation durch Ausführen verschiedener Anweisungen sichern und wiederherstellen, ohne eine Hardware wie beispielsweise die Informationsbewegungseinheit 23 zu verwenden.
  • In den obigen Ausführungsformen ist der Vorrechtsniveauspeicherbereich SR1 in der Registergruppe 22 enthalten. Alternativ kann der Vorrechtsniveauspeicherbereich SR1 in dem RAM 4 enthalten sein.
  • In den obigen Ausführungsformen sind die Vorrechtsniveaus „niedrig“, „mittel“ und „hoch“ jeweils dem Fahrzeugsteuerprogramm 31, dem OS-Programm und dem Hypervisor-Programm 33 zugeordnet. Alternativ kann, wie es beispielsweise in 8 gezeigt ist, das Vorrechtsniveau „hoch“ anderen Programmen als dem Hypervisor-Programm zugeordnet sein. Das Vorrechtsniveau „hoch“ kann beispielsweise einem Vorrichtungsverwalter, einem Mikrokernel, einem OS oder Ähnlichem zugeordnet sein. Das Vorrechtsniveau „mittel“ kann anderen Softwareprogrammen als dem OS zugeordnet sein.
  • Die vorliegende Erfindung ist nicht auf die obigen Ausführungsformen und Modifikationen beschränkt. Das heißt, die obigen Ausführungsformen und Modifikationen können auf verschiedene Arten modifiziert werden, ohne von dem Bereich der vorliegenden Erfindung abzuweichen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 3209144 B [0002]

Claims (3)

  1. Mikrocomputer zum Ausführen mehrerer Programme, die jeweils ein Vorrechtsniveau aufweisen, wobei der Mikrocomputer aufweist: einen ersten Speicher (3), der eine Interrupt-Einstelltabelle speichert, die Interrupt-Einstellinformationen für mehrere Ursachen von Interrupts speichert, wobei jede Interrupt-Einstellinformation auf einer Vorrechtsniveau-um-Vorrechtsniveau-Basis angibt, ob eine Interrupt-Einstellung, die eine Einstellung zum Freigeben oder Sperren eines Interrupts für eine jeweilige Ursache eines Interrupts ist, konfigurierbar ist; einen Interrupt-Freigabeabschnitt (S40, S50), der als Antwort auf eine Eingabe einer Freigabe-Interrupt-Anweisung, die die Einstellung zum Freigeben des Interrupts betrifft, Bezug auf die Interrupt-Einstelltabelle, die in dem ersten Speicher (3) gespeichert ist, nimmt, die Ursache eines Interrupts, in Bezug auf die die Interrupt-Einstellung konfigurierbar ist, auf der Grundlage des Vorrechtsniveaus des Programms, das derzeitig ausgeführt wird, spezifiziert, und den Interrupt für die spezifizierte Ursache eines Interrupts freigibt; einen Interrupt-Sperrabschnitt (S60, S70), der als Antwort auf eine Eingabe einer Sperr-Interrupt-Anweisung, die die Einstellung zum Sperren des Interrupts betrifft, Bezug auf die Interrupt-Einstelltabelle, die in dem ersten Speicher (3) gespeichert ist, nimmt, die Ursache eines Interrupts, in Bezug auf die die Interrupt-Einstellung konfigurierbar ist, auf der Grundlage des Vorrechtsniveaus des Programms, das derzeitig ausgeführt wird, spezifiziert, und den Interrupt für die spezifizierte Ursache eines Interrupts sperrt; und einen Interrupt-Prozessausführungsabschnitt (S110-S130), der als Antwort auf eine Erzeugung der Ursache eines Interrupts während einer Ausführungsform des Programms die Ausführung des Programms unterbricht und einen Interrupt-Prozess, der der erzeugten Ursache eines Interrupts entspricht, ausführt, wenn der Interrupt für die erzeugte Ursache eines Interrupts von dem Interrupt-Freigabeabschnitt freigegeben wird (S40, S50), und den Interrupt-Prozess, der der erzeugten Ursache eines Interrupts entspricht, verhindert, wenn der Interrupt für die erzeugte Ursache eines Interrupts von dem Interrupt-Sperrabschnitt gesperrt wird (S60, S70).
  2. Mikrocomputer nach Anspruch 1, der außerdem aufweist: einen zweiten Speicher (22), der einen Interrupt-Freigabezustandsspeicherbereich enthält, der Interrupt-Freigabezustandsinformationen für die Ursachen von Interrupts speichert, wobei in Bezug auf das derzeitig ausgeführte Programm jede Interrupt-Freigabezustandsinformation angibt, ob der Interrupt für eine jeweilige Ursache eines Interrupts freigegeben oder gesperrt wird, wobei der Interrupt-Freigabeabschnitt (S40, S50) den Interrupt für die spezifizierte Ursache eines Interrupts durch Konfigurieren derjenigen Interrupt-Freigabezustandsinformation, die der spezifizierten Ursache eines Interrupts entspricht, von den Interrupt-Freigabezustandsinformationen, die in dem Interrupt-Freigabezustandsspeicherbereich gespeichert sind, derart, dass der Interrupt für die spezifizierte Ursache eines Interrupts freigegeben wird, freigibt; der Interrupt-Sperrabschnitt (S60, S70) den Interrupt für die spezifizierte Ursache eines Interrupts durch Konfigurieren der Interrupt-Freigabezustandsinformation, die derjenigen spezifizierten Ursache eines Interrupts entspricht, von den Interrupt-Freigabezustandsinformationen, die in dem Interrupt-Freigabezustandsspeicherbereich gespeichert sind, derart, dass der Interrupt für die spezifizierte Ursache eines Interrupts gesperrt wird, sperrt; der Interrupt-Prozessausführungsabschnitt (S110–S130) durch Bezugnahme auf die Interrupt-Freigabezustandsinformationen, die in dem Interrupt-Freigabezustandsspeicherbereich gespeichert sind, bestimmt, ob der Interrupt-Prozess, der der erzeugten Ursache eines Interrupts entspricht, ausgeführt oder verhindert wird, und der Mikrocomputer außerdem aufweist: einen Informationsbewegungsabschnitt (23), der als Antwort auf eine Änderung des ausgeführten Programms und eine Erhöhung des Vorrechtsniveaus des ausgeführten Programms die Interrupt-Freigabezustandsinformation durch Aufzeichnen der Interrupt-Freigabezustandsinformation, die vor der Erhöhung des Vorrechtsniveaus vorhanden war, sichert; als Antwort auf eine Änderung des ausgeführten Programms und eine Verringerung des Vorrechtsniveaus des ausgeführten Programms die Interrupt-Freigabezustandsinformation durch Aufzeichnen derjenigen Interrupt-Freigabezustandsinformation von den gespeicherten Interrupt-Freigabezustandsinformationen, die dem derzeitig ausgeführten Programm entspricht, in dem Interrupt-Freigabezustandsspeicherbereich des zweiten Speichers (22) wiederherstellt.
  3. Mikrocomputer nach Anspruch 2, wobei der Informationsbewegungsabschnitt (23) die Interrupt-Freigabezustandsinformation sichert durch Spezifizieren der Ursache eines Interrupts, in Bezug auf die die Interrupt-Einstellung konfigurierbar ist, auf der Grundlage der Interrupt-Freigabezustandsinformation, die dem derzeitig ausgeführten Programm entspricht, und Aufzeichnen der Interrupt-Freigabezustandsinformation, die der spezifizierten Ursache eines Interrupts entspricht, in Bezug auf die die Interrupt-Einstellung konfigurierbar ist, von den Interrupt-Freigabezustandsinformationen, die in dem Interrupt-Freigabezustandsspeicherbereich gespeichert sind.
DE102013204045.8A 2012-03-13 2013-03-08 Mikrocomputer Active DE102013204045B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012-055882 2012-03-13
JP2012055882A JP5561294B2 (ja) 2012-03-13 2012-03-13 マイクロコンピュータ

Publications (2)

Publication Number Publication Date
DE102013204045A1 true DE102013204045A1 (de) 2013-09-19
DE102013204045B4 DE102013204045B4 (de) 2023-04-20

Family

ID=49044173

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013204045.8A Active DE102013204045B4 (de) 2012-03-13 2013-03-08 Mikrocomputer

Country Status (2)

Country Link
JP (1) JP5561294B2 (de)
DE (1) DE102013204045B4 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9779043B2 (en) * 2015-11-16 2017-10-03 International Business Machines Corporation Techniques for handling queued interrupts in a data processing system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3209144B2 (ja) 1997-06-06 2001-09-17 日本電気株式会社 マイクロプロセッサ

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05108383A (ja) * 1991-10-18 1993-04-30 Fujitsu Ltd 仮想計算機システムの割込みマスク方式
JPH05113887A (ja) * 1991-10-22 1993-05-07 Nec Corp コンピユータシステム
JPH05233319A (ja) * 1992-02-24 1993-09-10 Shikoku Nippon Denki Software Kk レジスタ退避方式
JPH06259251A (ja) * 1993-03-10 1994-09-16 Matsushita Electric Ind Co Ltd 間引きレジスタ制御回路
JP2001216172A (ja) * 1997-09-12 2001-08-10 Hitachi Ltd マルチos構成方法
JP2003241979A (ja) * 2002-02-15 2003-08-29 Fujitsu Ltd 割込マスク制御方法および割込マスク制御プログラム
US7209994B1 (en) * 2004-05-11 2007-04-24 Advanced Micro Devices, Inc. Processor that maintains virtual interrupt state and injects virtual interrupts into virtual machine guests
JP2009093344A (ja) * 2007-10-05 2009-04-30 Denso Corp マイクロコンピュータ、その使用方法、及び電子制御装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3209144B2 (ja) 1997-06-06 2001-09-17 日本電気株式会社 マイクロプロセッサ

Also Published As

Publication number Publication date
DE102013204045B4 (de) 2023-04-20
JP5561294B2 (ja) 2014-07-30
JP2013190929A (ja) 2013-09-26

Similar Documents

Publication Publication Date Title
DE102007025397B4 (de) System mit mehreren Prozessoren und Verfahren zu seinem Betrieb
DE69836604T2 (de) Unterbrechungssteuerungsgerät und -system, Unterbrechungsverarbeitungsverfahren und Speichermedium zur Speicherung eines Unterbrechungsverarbeitungsprogramms
DE112010005400T5 (de) System für gegenseitige Überwachung von Mikrocomputern und ein Verfahren für gegenseitige Überwachung von Mikrocomputern
DE102013014172A1 (de) Schutz globaler register in einem multithreaded-prozessor
DE112006002908T5 (de) Technik für die Kommunikation und Synchronisation von Threads
DE102015107654A1 (de) Dienst und System zum Unterstützen eines kohärenten Datenzugriffs auf einem Multicore-Controller
DE102009054637A1 (de) Verfahren zum Betreiben einer Recheneinheit
DE112019005584T5 (de) Arithmetiksteuervorrichtung
DE102012209789B4 (de) Fahrzeuggebundene elektrische steuervorrichtung
DE102018114322A1 (de) Architektur und Dienste zur Unterstützung der rekonfigurierbaren Synchronisation in einem Multiprozessorsystem
DE112012002647B4 (de) Erkennen eines durch Interrupt-Verarbeitung verursachten anormalen Betriebs
DE102013204045A1 (de) Mikrocomputer
DE102013204037B4 (de) Mikrocomputer
DE102016224206A1 (de) Fahrzeugsteuervorrichtung
DE112004001564T5 (de) Low-contention Lock
DE112013007143T5 (de) Computersystem und Steuerungsverfahren
DE102016219449A1 (de) Parallelisierungsverfahren, Parallelisierungswerkzeug und fahrzeugverbaute Einrichtung
DE102016206490A1 (de) Elektronische steuereinheit
DE112020007310T5 (de) Informations-verarbeitungssystem und steuerungsverfahren für eininformations-verarbeitungssystem
DE102017200571A1 (de) Datenverarbeitungseinrichtung
DE102007015507A1 (de) Prozessor mit einem ersten und einem zweiten Betriebsmodus und Verfahren zu seinem Betrieb
DE102017211564A1 (de) Elektronische steuereinheit
DE102012208753A1 (de) Mikrocomputer mit einzelkern
DE102014215561A1 (de) Mikrocomputer
DE102012204644B4 (de) Steuervorrichtung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R012 Request for examination validly filed

Effective date: 20140912

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R084 Declaration of willingness to licence