DE102013204037B4 - Mikrocomputer - Google Patents

Mikrocomputer Download PDF

Info

Publication number
DE102013204037B4
DE102013204037B4 DE102013204037.7A DE102013204037A DE102013204037B4 DE 102013204037 B4 DE102013204037 B4 DE 102013204037B4 DE 102013204037 A DE102013204037 A DE 102013204037A DE 102013204037 B4 DE102013204037 B4 DE 102013204037B4
Authority
DE
Germany
Prior art keywords
interrupt
enable state
state information
cause
program
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.)
Active
Application number
DE102013204037.7A
Other languages
English (en)
Other versions
DE102013204037A1 (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 DE102013204037A1 publication Critical patent/DE102013204037A1/de
Application granted granted Critical
Publication of DE102013204037B4 publication Critical patent/DE102013204037B4/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

Abstract

Ein Mikrocomputer enthält einen ersten Speicher (3), der eine Interrupt-Einstelltabelle (34) für mehrere Interrupt-Ursachen speichert. Für jede Interrupt-Ursache gibt die Interrupt-Einstelltabelle (34) auf einer Programm-um-Programm-Basis an, ob eine Interrupt-Einstellung konfigurierbar ist. Als Antwort auf eine Eingabe einer Freigabe-Interrupt-Anweisung nimmt der Mikrocomputer Bezug auf die Interrupt-Einstelltabelle (34), spezifiziert die Interrupt-Ursache, in Bezug auf die die Interrupt-Einstellung konfigurierbar ist, und gibt den Interrupt für die spezifizierte Interrupt-Ursache frei. Als Antwort auf eine Erzeugung der Interrupt-Ursache während einer Programmausführung unterbricht der Mikrocomputer die Programmausführung und führt einen Interrupt-Prozess, der der erzeugten Interrupt-Ursache entspricht, aus, wenn der Interrupt für die erzeugte Interrupt-Ursache von dem Interrupt-Freigabeabschnitt freigegeben wird (S40, S50).

Description

  • Die vorliegende Erfindung betrifft einen Mikrocomputer, der mehrere Programme ausführt.
  • Ein typischer Mikrocomputer ist mit einer peripheren Schaltung und einer Interrupt-Steuerung (Unterbrechungssteuerung) zusätzlich zu einer CPU und einem Speicher ausgerüstet (siehe beispielsweise JP 3209144 B ). Die Interrupt-Steuerung verwaltet Interrupt-Anforderungen (Interrupt-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 entspriqht, an die CPU auf der Grundlage von voreingestellten Prioritäten der Interrupt-Anforderungen, die auf einer Interrupt-Anforderungum-Interrupt-Anforderung-Basis voreingestellt werden, aus. Wenn die CPU das Interrupt-Anforderungssignal in einem Interrupt-Freigabezustand (enabled) empfängt, gibt die CPU den Interrupt frei. Wenn die CPU das Interrupt-Anforderungssignal in einem Interrupt-Sperrzustand (disabled) empfängt, sperrt bzw. verhindert 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 sind. Wenn die CPU eine Sperr-Interrupt-Anweisung (auch als DI-Anweisung bezeichnet) ausführt, gelangt die CPU in den Interrupt-Sperrzustand, in dem Interrupts mit der Ausnahme einiger Interrupts wie beispielsweise eines NMI und Ähnlichem gesperrt sind.
  • In einem typischen Mikrocomputer werden jedoch die Interrupts mit der Ausnahme einiger Interrupts wie beispielsweise des NMI und Ähnlichem als Antwort auf die Ausführung der EI-Anweisung und der DI-Anweisung gemeinsam freigegeben und gesperrt. Somit wird es unmöglich, die Interrupts derart einzustellen, dass die Interrupts wahlweise auf einer Programmbasis freigegeben und gesperrt werden.
  • Weiterer relevanter Stand der Technik ist bekannt aus der DE 20 2008 016 892 U1 und der US 7 209 994 B1 .
  • Im Hinblick auf das obige Problem ist es eine Aufgabe der vorliegenden Erfindung, eine Technik zu schaffen, die Interrupts derart einstellen kann, dass die Interrupts wahlweise auf einer Programmbasis freigegeben und gesperrt werden.
  • Die Lösung der Aufgabe erfolgt durch die Merkmale des Anspruchs 1.
  • Gemäß einer beispielhaften Ausführungsform enthält ein Mikrocomputer zum Ausführen mehrerer Programme 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 eines Interrupts speichert. Jede Interrupt-Einstellinformation gibt auf einer Programm-um-Programm-Basis 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 die Eingabe einer Freigabe-Interrupt-Anweisung, die die Einstellung zum Freigeben des Interrupts anweist, 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 der Interrupt-Einstellinformation, die dem Programm entspricht, das derzeitig ausgeführt wird, und gibt den Interrupt für die spezifizierte Ursache eines Interrupts frei. Als Antwort auf die Eingabe einer Sperr-Interrupt-Anweisung, die die Einstellung zum Sperren des Interrupts anweist, 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 der Interrupt-Einstellinformation, die dem Programm entspricht, das derzeitig ausgeführt wird, und sperrt den Interrupt für die spezifizierte Ursache eines Interrupts. Als Antwort auf die Erzeugung der Ursache eines Interrupts während einer Programmausführung unterbricht der Interrupt-Prozessausführungsabschnitt die Programmausführung 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 bzw. sperrt 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äß Obigem kann der Mikrocomputer durch Bezugnahme auf die Interrupt-Einstelltabelle die Ursache eines Interrupts, in Bezug auf die die Interrupt-Einstellung (die Einstellung zum Freigeben und Sperren des Interrupts) konfigurierbar ist, in Bezug auf das Programm, das derzeitig ausgeführt wird, spezifizieren. Dann kann der Interrupt für die spezifizierte Ursache eines Interrupts, in Bezug auf die die Interrupt-Einstellung konfigurierbar ist, bei Eingabe der EI-Anweisung freigegeben werden und bei Eingabe der DI-Anweisung gesperrt werden. Daher ist es möglich, Interrupts derart einzustellen, dass die Interrupts wahlweise auf einer Programm-um-Programm-Basis freigegeben und gesperrt werden.
  • Der obige Mikrocomputer kann außerdem einen zweiten Speicher und einen Informationsbewegungsabschnitt enthalten und wie folgt aufgebaut sein. Der zweite Speicher enthält einen Interrupt-Freigabezustandsspeicherbereich, der Interrupt-Freigabezustandsinformationen für mehrere Ursachen von Interrupts speichert. Für das Programm, das derzeitig ausgeführt wird, gibt jede Interrupt-Freigabezustandsinformation an, ob der Interrupt für eine jeweilige Ursache eines Interrupts freigegeben oder gesperrt wird. Der Interrupt-Freigabeabschnitt gibt den Interrupt für die spezifizierte Ursache eines Interrupts durch Konfigurieren der 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 den Interrupt für die spezifizierte Ursache eines Interrupts durch Konfigurieren der 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. Als Antwort auf eine Änderung des ausgeführten Programms in ein bestimmtes Programm sichert der Informationsbewegungsabschnitt die Interrupt-Freigabezustandsinformation durch Aufzeichnen der Interrupt-Freigabezustandsinformation, die vor der Änderung des ausgeführten Programms in das bestimmte Programm vorhanden ist, stellt die Interrupt-Freigabezustandsinformation durch Aufzeichnen der Interrupt-Freigabezustandsinformation von den gespeicherten Interrupt-Freigabezustandsinformationen, die dem bestimmten Programm entspricht, das das Programm nach der Änderung ist, wieder her.
  • Gemäß der obigen Konfiguration wird die Interrupt-Freigabezustandsinformation als Antwort auf die Änderung des ausgeführten Programms gesichert, und anschließend wird als Antwort auf die Änderung des ausgeführten Programms in ein bestimmtes Programm eine spezielle Interrupt-Freigabezustandsinformation aus den gesicherten Interrupt-Freigabezustandsinformationen wiederhergestellt, wobei die spezielle Interrupt-Freigabezustandsinformation die Interrupt-Freigabezustandsinformation ist, die dem bestimmten Programm (dem Programm nach der Änderung) entspricht. Wenn das ausgeführte Programm geändert wird und dann das ausgeführte Programm ein oder mehrere Male geändert wird und als Ergebnis dessen das ausgeführte Programm zu dem anfänglichen Programm zurückkehrt, kann der Anfangszustand der Interrupt-Freigabezustandsinformation sogar dann wiederhergestellt werden, wenn es eine Änderung der Interrupt-Freigabezustandsinformation während der Ausführung eines anderen Programms gibt.
  • 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 vor der Änderung des ausgeführten Programms vorhanden ist, 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.
  • Gemäß der obigen Konfiguration des Mikrocomputers sichert der Informationsbewegungsabschnitt als Antwort auf eine Änderung des ausgeführten Programms diejenige Interrupt-Freigabezustandsinformation für die Ursache eines Interrupts, in Bezug auf die die Interrupt-Einstellung konfigurierbar ist, von den Interrupt-Freigabezustandsinformationen, die dem Programm entsprechen, das vor der Änderung ausgeführt wurde. Danach stellt der Informationsbewegungsabschnitt als Antwort auf eine Änderung des ausgeführten Programms diejenige Interrupt-Freigabezustandsinformation, die dem Programm entspricht, das vor der Änderung ausgeführt wurde, aus den gesicherten Interrupt-Freigabezustandsinformationen wieder her. Daher kann hinsichtlich der Interrupt-Freigabezustandsinformation, die der Interrupt-Ursache entspricht, in Bezug auf die die Interrupt-Einstellung nicht konfigurierbar ist, die Interrupt-Freigabezustandsinformation, die durch ein anderes Programm geändert wurde, sogar dann gehalten bzw. gespeichert werden, wenn das ausgeführte Programm geändert wird und dann das ausgeführte Programm ein oder mehrere Male weiter geändert wird und als Ergebnis dessen das ausgeführte Programm zu dem anfänglichen Programm zurückkehrt. Dieses basiert auf der Idee, dass es hinsichtlich der Interrupt-Ursache, in Bezug auf die die Interrupt-Einstellung nicht konfigurierbar ist, nicht notwendig ist, die Interrupt-Freigabezustandsinformation zu halten bzw. speichern, wenn das ausgeführte Programm wieder zu dem anfänglichen Programm zurückkehrt. Da es nicht notwendig ist, sämtliche Interrupt-Freigabezustandsinformationen, die in dem Interrupt-Freigabezustandsspeicherbereich des zweiten Speichers gespeichert sind, zu sichern und wiederherzustellen, können der benötigte Speicherbereich und die Verarbeitungslast zum Sichern der Interrupt-Freigabezustandsinformationen verringert werden.
  • Die Aufgabe, 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 gemäß 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;
    • 8 eine Interrupt-Einstelltabelle gemäß einer vierten und fünften Ausführungsform;
    • 9 ein Zeitdiagramm, das eine Änderung einer Interrupt-Freigabezustandsinformation gemäß der vierten Ausführungsform darstellt; und
    • 10 ein Zeitdiagramm, das eine Änderung einer Interrupt-Freigabezustandsinformation gemäß der fünften Ausführungsform 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, einem RAM 4, Peripherievorrichtungen 5, 6, 7, 8, 9, eine Interrupt-Steuerung 10 und einen Bus 11, der diese Komponenten miteinander verbindet. In dem Mikrocomputer 1 führt die CPU 2 Programme, die in dem ROM 3 gespeichert sind, aus, wodurch verschiedene Verarbeitungen durchgeführt werden.
  • Die Peripherievorrichtungen 5, 6, 7, 8, 9 sind periphere Schaltungen in Bezug auf die CPU 2. Die Peripherievorrichtungen 5, 6, 7, 8, 9 können ein AD-Wandler, eine I/O oder Ähnliches sein. Die Peripherievorrichtungen 5, 6, 7,8, 9 sind mit Sensoren (nicht gezeigt) zum Erfassen verschiedener Fahrzeugzustände und/oder einem Betriebsschalter bzw. Betätigungsschalter (nicht gezeigt) zum Eingeben eines Befehls von einem Fahrzeuginsassen verbunden. Eine Erfassungsinformation von dem Sensor und/oder eine Betriebsinformation von dem Betriebsschalter werden/wird von den Peripherievorrichtungen 5, 6, 7, 8, 9 ausgegeben.
  • Die Interrupt-Steuerung 10 weist eine Funktion zum Empfangen von Signalen auf, die die Erzeugung verschiedener Ursachen von Interrupts angeben. Man beachte, dass Prioritäten für jeweilige Ursachen von Interrupts voreingestellt sind. Auf der Grundlage der Prioritäten jeweiliger Ursachen von Interrupts, die durch die eingegebenen Signale angegeben werden, gibt die Interrupt-Steuerung 10 ein Interrupt-Anforderungssignal, das der Ursache eines Interrupts mit der höchsten Priorität entspricht, an die CPU 2 aus. Wenn die Peripherievorrichtung 5, 6, 7, 8, 9 die Erfassungsinformation und/oder die Betriebsinformation ausgibt, bestimmt die Interrupt-Steuerung 10, dass eine Ursache eines Interrupts #1, #2, #3, #4, #5 erzeugt wurde. Die Ursachen von Interrupts #1, #2, #3, #4, #5 entsprechen jeweils den Peripherievorrichtungen 5, 6, 7, 8, 9. Im Folgenden werden aus Vereinfachungsgründen die Ursachen von Interrupts #1, #2, #3, #4, #5 jeweils als Interrupt-Ursachen #1, #2, #3, #4, #5 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 32 (Betriebssystem-Programm) 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), das als eine Basis zum Ausführen des Fahrzeugsteuerprogramms 31 dient, zu steuern. Das Hypervisor-Programm 33 ist vorgesehen, um das OS zu verwalten, so dass von der CPU 2 mehrere OS parallel ausgeführt werden können. Vorrechtsniveaus (Prioritäten) 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 auf den RAM 4 durch das Programm eingeschränkt sind.
  • Das Fahrzeugsteuerprogramm 31 enthält mehrere Programme 311, 312, 313. Es sind den Programmen 311, 312, 313, 32, 33 jeweilige Identifikationsnummern (ID-Nummern) 001, 002, 003, 004, 005 zugeordnet.
  • Der ROM 3 speichert eine Interrupt-Einstelltabelle 34. Für jede der Interrupt-Ursachen #1, #2, #3, #4, #5 legt die Interrupt-Einstelltabelle 34 auf einer Programm-um-Programm-Basis fest, ob eine Freigabe-Interrupt-Anweisung (auch als EI-Anweisung bezeichnet) und eine Sperr-Interrupt-Anweisung (auch als DI-Anweisung bezeichnet) akzeptabel 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 eines nicht maskierbaren Interrupts (NMI) und Ähnlichem.
  • Wenn in der vorliegenden Ausführungsform die ID-Nummer „001“ ist, werden die EI-Anweisung und die DI-Anweisung in Bezug auf die Interrupt-Ursache #1 akzeptiert. Wenn die ID-Nummer „002“ ist, werden die EI-Anweisung und die DI-Anweisung in Bezug auf die Interrupt-Ursachen #1, #2 akzeptiert. Wenn die ID-Nummer „003“ ist, werden die EI-Anweisung und die DI-Anweisung in Bezug auf die Interrupt-Ursachen #1, #2, #3 akzeptiert. Wenn die ID-Nummer „004“ ist, werden die EI-Anweisung und die DI-Anweisung in Bezug auf die Interrupt-Ursachen #1, #2, #3, #4 akzeptiert. Wenn die ID-Nummer „005“ ist, werden die EI-Anweisung und die DI-Anweisung in Bezug auf die Interrupt-Ursachen #1, #2, #3, #4, #5 akzeptiert.
  • Die CPU 2 enthält eine Verarbeitungseinheit 21 zur Programmausführung und eine Registergruppe 22 zum Speichern von Daten, die von der Verarbeitungseinheit 21 verwendet werden. Insbesondere besteht die Registergruppe 22 aus mehreren Registern zum Speichern von Daten, die von der Verarbeitungseinheit 21 verwendet werden. Die CPU 2 führt eine Verarbeitung auf der Grundlage eines vorbestimmten Verarbeitungsprogramms durch. Ein Identifikationsnummernspeicherbereich SR1, ein Interrupt-Einstellspeicherbereich SR2 und ein Interrupt-Freigabezustandsspeicherbereich SR3 sind in den Registern der Registergruppe 22 vorgesehen.
  • Der Identifikationsnummernspeicherbereich SR1 speichert eine Identifikationsnummerinformation, die die ID-Nummer des Programms, das derzeitig von der CPU 2 ausgeführt wird, angibt. Der Interrupt-Einstellspeicherbereich SR2 speichert Interrupt-Einstellinformationen für jeweilige Interrupt-Ursachen #1, #2, #3, #4, #5. Die Interrupt-Einstellinformation für eine jeweilige Interrupt-Ursache gibt an, ob eine Interrupt-Einstellung zu dem derzeitigen Zeitpunkt konfigurierbar ist. Der Interrupt-Freigabezustandsspeicherbereich SR3 speichert Interrupt-Einstellinformationen für jeweilige Interrupt-Ursachen #1, #2, #3, #4, #5. Die Interrupt-Einstellinformation für eine jeweilige Interrupt-Ursache gibt an, ob die EI-Anweisung und die DI-Anweisung in Bezug auf die jeweilige Interrupt-Ursache zu dem derzeitigen Zeitpunkt akzeptiert bzw. angenommen werden.
  • Bei Empfang eines Interrupt-Anforderungssignals entsprechend den jeweiligen Interrupt-Ursachen #1, #2, #3, #4, #5 von der Interrupt-Steuerung 10 bestimmt die CPU 2 auf der Grundlage der Interrupt-Freigabezustandsinformationen, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 gespeichert sind, ob der Interrupt zu akzeptieren ist.
  • Ein Interrupt-Einstellprozess und ein Interrupt-Anforderungsbestimmungsprozess, die von der CPU 2 des Mikrocomputers 1 durchgeführt werden, werden im Folgenden mit Bezug auf die 2 und 3 beschrieben. Die CPU 2 führt während ihres Betriebs den Interrupt-Einstellprozess und den Interrupt-Anforderungsbestimmungsprozess wiederholt durch.
  • In dem Interrupt-Einstellprozess bestimmt die CPU 2 zunächst, ob eine Änderung einer ID-Nummer des Programms, das von der CPU 2 ausgeführt wird, vorliegt, wie es in 2 gezeigt ist. Wenn keine Änderung der ID-Nummer vorliegt (NEIN in S10), schreitet der Prozess zu S40. Wenn eine Änderung der ID-Nummer vorliegt (JA in S10), führt die CPU 2 S20 durch. In S20 speichert die CPU 2 die Identifikationsnummerinformation, die die ID-Nummer des Programms angibt, das von der CPU 2 ausgeführt wird, in dem Identifikationsnummernspeicherbereich SR1. In S30 speichert die CPU 2 die Interrupt-Einstellinformation, die der Identifikationsnummer des ausgeführten Programms entspricht, in dem Interrupt-Einstellspeicherbereich SR2. Wenn die CPU 2 beispielsweise das Programm 312 ausführt, speichert die CPU 2 die Identifikationsnummerinformation, die angibt, dass die ID-Nummer „002“ ist, in dem Identifikationsnummernspeicherbereich SR1, und außerdem speichert die CPU 2 die Interrupt-Einstellinformation, die angibt, dass die EI-Anweisung und die DI-Anweisung in Bezug auf die Interrupt-Ursachen #1, #2 akzeptiert werden und dass die EI-Anweisung und die DI-Anweisung in Bezug auf die Interrupt-Ursachen #3, #4, #5 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 mit Bezug auf die Interrupt-Einstellinformationen, die in dem Interrupt-Einstellspeicherbereich SR2 gespeichert sind, von den Interrupt-Ursachen #1, #2, #3, #4, #5 diejenige Interrupt-Ursache, in Bezug auf die die Annahme (das Akzeptieren) 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 in Bezug auf die spezifizierte Interrupt-Ursache freigegeben wird. Nach S50 schreitet der Prozess zu S60. Wenn die ID-Nummer beispielsweise „002“ 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 mit Bezug auf die Interrupt-Einstellinformationen, die in dem Interrupt-Einstellspeicherbereich SR2 gespeichert sind, von den Interrupt-Ursachen #1, #2, #3, #4, #5 diejenige Interrupt-Ursache, in Bezug auf die die Annahme der EI-Anweisung und der DI-Anweisung freigegeben ist. 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 spezifiziert Interrupt-Ursache freigegeben wird. Nach S70 wird der Interrupt-Einstellprozess beendet. Wenn die ID-Nummer beispielsweise „002“ ist, wird, da die Annahme der EI-Anweisung und der DI-Anweisung in Bezug auf die Interrupt-Ursachen #1, #2 freigegeben ist, die Interrupt-Freigabezustandsinformation derart neu geschrieben, dass der Interrupt in Bezug auf die Interrupt-Ursachen #1, #2 freigegeben 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 (S110: NEIN), wird der Interrupt-Anforderungsbestimmungsprozess beendet. Wenn das Interrupt-Anforderungssignal eingegeben wurde (S110: JA), schreitet der Prozess zu S120. Durch Bezugnahme auf die Interrupt-Freigabezustandsinformation, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 gespeichert ist, bestimmt die CPU 2, ob die Ursache eines Interrupts, die durch das Interrupt-Anforderungssignal (d. h. eine der Interrupt-Ursachen #1, #2, #3, #4, #5) angegeben wird, 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 311, 312, 313, 32, 33), und außerdem führt die CPU 2 einen Interrupt-Prozess aus, der der Ursache eines Interrupts, die durch das Interrupt-Anforderungssignal angegeben wird, entspricht. Nach S130 wird der Interrupt-Anforderungsbestimmungsprozess beendet.
  • Im Folgenden wird mit Bezug auf 4 ein Beispiel einer Änderung einer Interrupt-Freigabezustandsinformation beschrieben. In diesem Beispiel ändert sich die ID-Nummer aus Vereinfachungsgründen nur zwischen „001“, „002“ und „003“.
  • Wie es in 4 gezeigt ist, wird zu einem Zeitpunkt t0 angenommen, dass die ID-Nummer „001“ ist und die Interrupt-Freigabezustandsinformation in Bezug auf das Programm 311 auf ihren Anfangszustand eingestellt ist, bei dem „Interrupt freigegeben“ für die Interrupt-Ursachen #1, #2 eingestellt ist und „Interrupt gesperrt“ für die Interrupt-Ursache #3 eingestellt ist (siehe 4 für die Interrupt-Freigabezustandsinformation „IPOO“). 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 die ID-Nummer „001“ ist, die EI-Anweisung in Bezug auf die Interrupt-Ursache #1 akzeptiert bzw. angenommen wird.
  • Danach ändert sich die ID-Nummer von „001“ in „002“ zu einem Zeitpunkt t2, und die Interrupt-Freigabezustandsinformation in Bezug auf das Programm 312 wird auf ihren Anfangszustand eingestellt, bei 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 „IP02“ in 4). 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 „IP03“). Dieses kommt daher, dass, wenn die ID-Nummer „002“ ist, die DI-Anweisung in Bezug auf die Interrupt-Ursachen #1, #2 akzeptiert bzw. angenommen wird.
  • Danach ändert sich die ID-Nummer von „002“ in „003“ zu einem Zeitpunkt t4, und die Interrupt-Freigabezustandsinformation in Bezug das Programm 313 wird auf ihren Anfangszustand eingestellt, bei 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 „IP04“ in 4). 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 „IP05“). Dieses kommt daher, dass, wenn die ID-Nummer „003“ ist, die EI-Anweisung in Bezug auf die Interrupt-Ursachen #1, #2, #3 akzeptiert bzw. angenommen wird.
  • Wenn sich die ID-Nummer von „003“ in „002“ 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 „IP06“). Dieses kommt daher, dass, wenn die ID-Nummer „002“ ist, die DI-Anweisung in Bezug auf die Interrupt-Ursachen #1, #2 akzeptiert bzw. angenommen wird.
  • Wenn sich die ID-Nummer von „002“ in „001“ 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 „IP07“). Dieses kommt daher, dass, wenn die ID-Nummer „001“ ist, die DI-Anweisung in Bezug auf die Interrupt-Ursache #1 akzeptiert bzw. angenommen 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 Interrupt-Ursache #2 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP08“). Dieses kommt daher, dass, wenn die ID-Nummer „001“ ist, die EI-Anweisung in Bezug auf die Interrupt-Ursache #1 akzeptiert bzw. angenommen wird.
  • Wenn sich danach die ID-Nummer von „001“ in „003“ 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 „IP09“). Dieses kommt daher, dass, wenn die ID-Nummer „003“ ist, die DI-Anweisung in Bezug auf die Interrupt-Ursachen #1, #2, #3 akzeptiert bzw. angenommen wird.
  • In der obigen Konfiguration ist der Mikrocomputer 1 in der Lage, mehrere Programme 311, 312, 313, 32, 33 auszuführen. Der Rom 3 speichert die Interrupt-Einstelltabelle 34, die Interrupt-Einstellinformationen für mehrere Ursachen von Interrupts #1, #2, #3, #4, #5 (Interrupt-Ursachen #1, #2, #3, #4, #5) speichert. Jede Interrupt-Einstellinformation gibt auf einer Programm-um-Programm-Basis (Programme 311, 312, 313, 32, 33) 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 die Eingabe der Freigabe-Interrupt-Anweisung (EI-Anweisung) nimmt die CPU 2 Bezug auf die Interrupt-Einstelltabelle 34, die in dem ROM 3 gespeichert ist, spezifiziert die Ursache eines Interrupts, in Bezug auf die die Interrupt-Einstellung konfigurierbar ist, auf der Grundlage der Interrupt-Einstellinformation, die dem Programm entspricht, das derzeitig ausgeführt wird, und gibt den Interrupt in Bezug auf die spezifizierte Ursache eines Interrupts frei (S40, S50). Als Antwort auf die Eingabe der Sperr-Interrupt-Anweisung (DI-Anweisung) nimmt die CPU 2 Bezug auf die Interrupt-Einstelltabelle 34, die in dem ROM 3 gespeichert ist, spezifiziert die Ursache eines Interrupts, in Bezug auf die die Interrupt-Einstellung konfigurierbar ist, auf der Grundlage der Interrupt-Einstellinformation, die dem Programm entspricht, das derzeitig ausgeführt wird, und sperrt den Interrupt in Bezug auf die spezifizierte Ursache eines Interrupts. Danach unterbricht die CPU 2 als Antwort auf die Erzeugung der Ursache eines Interrupts während der Programmausführung die Programmausführung und führt einen Interrupt-Prozess aus, der der erzeugten Ursache eines Interrupts entspricht (S130), wenn der Interrupt für die erzeugte Ursache eines Interrupts freigegeben ist (JA in S120), und verhindert den Interrupt-Prozess, der der erzeugten Ursache eines Interrupts entspricht, wenn der Interrupt für die erzeugte Ursache eines Interrupts gesperrt ist (NEIN in S120).
  • 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 Einstellung zum Freigeben und Sperren des Interrupts) konfigurierbar ist, für das Programm, das derzeitig ausgeführt wird, spezifizieren. Dann kann der Interrupt für die spezifizierte Ursache eines Interrupts, in Bezug auf die die Interrupt-Einstellung konfigurierbar ist, auf die Eingabe der EI-Anweisung hin freigegeben werden und auf die Eingabe der DI-Anweisung hin gesperrt werden. Daher ist es möglich, Interrupts derart einzustellen, dass die Interrupts wahlweise auf einer Programm-um-Programm-Basis freigegeben und gesperrt werden.
  • In der vorliegenden Ausführungsform kann der ROM 3 einem Beispiel einer ersten Speichereinrichtung und außerdem einem Beispiel eines ersten Speichers entsprechen. Die CPU 2, die S40, S50 durchführt, kann einem Beispiel einer Interrupt-Freigabeeinrichtung und ebenfalls einem Beispiel eines Interrupt-Freigabeabschnitts entsprechen. Die CPU 2, die S60, S70 durchführt, kann einem Beispiel einer Interrupt-Sperrein-richtung und ebenfalls einem Beispiel eines Interrupt-Sperrabschnitts entsprechen. Die CPU 2, die S110 bis S130 durchführt, kann einem Beispiel einer Interrupt-Prozessausführungseinrichtung und außerdem einem Beispiel eines Interrupt-Prozessausführungsabschnitts entsprechen.
  • (Zweite Ausführungsform)
  • Im Folgenden wird eine zweite Ausführungsform mit Bezug auf die Zeichnungen beschrieben. Hier wird der Unterschied der vorliegenden Ausführungsform 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 als eine Funktion zum Sichern und Wiederherstellen der Interrupt-Freigabezustandsinformation ist, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 gespeichert ist. Insbesondere speichert die Informationsbewegungseinheit 23 als Antwort auf eine Änderung der ID-Nummer des derzeitig ausgeführten Programms eine bestimmte Interrupt-Freigabezustandsinformation, die die Interrupt-Freigabezustandsinformation ist, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 vor der Änderung der ID-Nummer gespeichert ist, in einem Informationsspeicherbereich der Informationsbewegungseinheit 23 durch Zuordnen der bestimmten Interrupt-Freigabezustandsinformation zu der ID-Nummer. Danach extrahiert die Informationsbewegungseinheit 23 als Antwort auf eine Änderung der ID-Nummer des derzeitig ausgeführten Programms in eine spezielle ID-Nummer die Interrupt-Freigabezustandsinformation, die derselben ID-Nummer (spezielle ID-Nummer, d. h. ID-Nummer nach der Änderung) zugeordnet ist, aus dem Informationsspeicherbereich der Informationsbewegungseinheit 23 und speichert außerdem die extrahierte Interrupt-Freigabezustandsinformation.
  • Im Folgenden wird ein Beispiel einer Änderung einer Interrupt-Freigabezustandsinformation mit Bezug auf 6 beschrieben. In diesem Beispiel ändert sich die ID-Nummer aus Vereinfachungsgründen nur zwischen „001“, „002“ und „003“.
  • Wie es in 6 gezeigt ist, wird angenommen, dass zu einem Zeitpunkt t0 die ID-Nummer „001“ ist und die Interrupt-Freigabezustandsinformation in Bezug auf das Programm 311 auf ihren Anfangszustand eingestellt ist, bei 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 die Interrupt-Ursache #2 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP21“). Dieses kommt daher, dass, wenn die ID-Nummer „001“ ist, die EI-Anweisung in Bezug auf die Interrupt-Ursache #1 akzeptiert wird.
  • Danach ändert sich die ID-Nummer von „001“ in „002“ zu einem Zeitpunkt t2, und die Interrupt-Freigabezustandsinformation in Bezug auf das Programm 312 wird auf ihren Anfangszustand eingestellt, bei dem „Interrupt freigegeben“ für die Interrupt-Ursachen #1, #2 eingestellt wird und „Interrupt gesperrt“ für die Interrupt-Ursache #3 eingestellt wird (siehe Interrupt-Freigabezustandsinformation „IP22“). Außerdem wird die Interrupt-Freigabezustandsinformation „IP21 “, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 vor der Änderung der ID-Nummer in „002“ gespeichert wurde, 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 „IP23“). Dieses kommt daher, dass, wenn die ID-Nummer „002“ist, die DI-Anweisung in Bezug auf die Interrupt-Ursachen #1, #2 akzeptiert wird.
  • Danach ändert sich die ID-Nummer von „002“ in „003“ zu einem Zeitpunkt t4, und die Interrupt-Freigabezustandsinformation in Bezug auf das Programm 313 wird auf ihren Anfangszustand eingestellt, bei dem „Interrupt freigegeben“ für die Interrupt-Ursachen #1, #2 eingestellt wird und „Interrupt gesperrt“ für die Interrupt-Ursache #3 eingestellt wird (siehe Interrupt-Freigabezustandsinformation „IP24“). Außerdem wird die Interrupt-Freigabezustandsinformation „IP23“), die in dem Interrupt-Freigabezustandsspeicherbereich SR3 vor der Änderung der ID-Nummer in „003“ gespeichert wurde, in der Informationsbewegungseinheit 23 gesichert. 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 „IP25“). Dieses kommt daher, dass, wenn die ID-Nummer „003“ ist, die EI-Anweisung in Bezug auf die Interrupt-Ursachen #1, #2, #3 akzeptiert wird.
  • Wenn sich danach die ID-Nummer von „003“ in „002“ zu einem Zeitpunkt t6 ändert, wird die Interrupt-Freigabezustandsinformation „IP23“, die in der Informationsbewegungseinheit 23 gesichert wurde, in dem Interrupt-Freigabezustandsspeicherbereich SR3 wiederhergestellt (siehe Pfeil AL11). Dementsprechend wird „gesperrt“ für die Interrupt-Ursachen #1, #2, #3 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP26“). Außerdem wird die Interrupt-Freigabezustandsinformation „IP25“, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 vor der Änderung der ID-Nummer in „002“ gespeichert wurde, in der Informationsbewegungseinheit 23 gesichert. 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 „IP27“). Dieses kommt daher, dass, wenn die ID-Nummer „002“ ist, die DI-Anweisung in Bezug auf die Interrupt-Ursachen #1, #2 akzeptiert wird.
  • Wenn sich danach die ID-Nummer von „002“ in „001“ zu einem Zeitpunkt t8 ändert, wird die Interrupt-Freigabezustandsinformation „IP21“, die in der Informationsbewegungseinheit 23 gesichert wurde, in dem Interrupt-Freigabezustandsspeicherbereich SR3 wiederhergestellt (siehe Pfeil AL12). Dementsprechend wird „freigegeben“ für die Interrupt-Ursachen #1, #2 eingestellt und „gesperrt“ wird für die Interrupt-Ursache #3 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP28“). Außerdem wird die Interrupt-Freigabezustandsinformation „IP27“, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 vor der Änderung der ID-Nummer in „001“ gespeichert wurde, in der Informationsbewegungseinheit 23 gesichert. 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 „IP29“). Dieses kommt daher, dass, wenn die ID-Nummer „001“ 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 „IP30“). Dieses kommt daher, dass, wenn die ID-Nummer „001“ ist, die DI-Anweisung in Bezug auf die Interrupt-Ursache #1 akzeptiert wird.
  • Wenn sich danach die ID-Nummer von „001“ in „003“ zu einem Zeitpunkt t11 ändert, wird die Interrupt-Freigabezustandsinformation „IP25“, die in der Informationsbewegungseinheit 23 gesichert wurde, in dem Interrupt-Freigabezustandsspeicherbereich SR3 wiederhergestellt (siehe Pfeil AL13). Dementsprechend wird „freigegeben“ für die Interrupt-Ursachen #1, #2, #3 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP31“). Außerdem wird die Interrupt-Freigabezustandsinformation „IP30“, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 vor der Änderung der ID-Nummer in „003“ gespeichert wurde, 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 „IP32“). Dieses kommt daher, dass, wenn die ID-Nummer „003“ ist, die DI-Anweisung in Bezug auf die Interrupt-Ursachen #1, #2, #3 akzeptiert wird.
  • In der obigen Konfiguration des Mikrocomputers 1 enthält die Registergruppe 22 den Interrupt-Freigabezustandsspeicherbereich SR3, der Interrupt-Freigabezustandsinformationen für mehrere Interrupt-Ursachen #1, #2, #3, #4, #5 speichert. In Bezug auf das Programm, das derzeitig ausgeführt wird, gibt jede Interrupt-Freigabezustandsinformation an, ob der Interrupt in Bezug auf eine jeweilige Ursache eines Interrupts freigegeben oder gesperrt wird. Der Mikrocomputer 1 (S50) gibt den Interrupt in Bezug auf die spezifizierte Interrupt-Ursache durch Konfigurieren derjenigen Interrupt-Freigabezustandsinformation, die der spezifizierten Ursache eines Interrupts entspricht, von den Interrupt-Freigabezustandsinformationen, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 gespeichert sind, frei, so dass der Interrupt in Bezug auf die spezifizierte Ursache eines Interrupts freigegeben wird. Auf ähnliche Weise sperrt der Mikrocomputer 1 (S70) den Interrupt in Bezug auf 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 SR3 gespeichert sind, so dass der Interrupt in Bezug auf die spezifizierte Ursache eines Interrupts gesperrt wird. Außerdem bestimmt der Mikrocomputer 1 (S120), ob der Interrupt-Prozess, der der erzeugten Ursache eines Interrupts entspricht, auszuführen oder zu verhindern ist, durch Bezugnahme auf die Interrupt-Freigabezustandsinformationen, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 gespeichert sind.
  • Als Antwort auf eine Änderung des ausgeführten Programms in ein bestimmtes Programm sichert die Informationsbewegungseinheit 23 die Interrupt-Freigabezustandsinformation durch Aufzeichnen der Interrupt-Freigabezustandsinformation, die vor der Änderung des ausgeführten Programms in das bestimmte Programm vorhanden ist, und stellt die Interrupt-Freigabezustandsinformation durch Aufzeichnen derjenigen Interrupt-Freigabezustandsinformation, die dem bestimmten Programm entspricht, das das Programm nach der Änderung ist, von den gespeicherten Interrupt-Freigabezustandsinformationen wieder her.
  • Gemäß der obigen Konfiguration wird die Interrupt-Freigabezustandsinformation als Antwort auf die Änderung des ausgeführten Programms gesichert. Danach wird als Antwort auf die Änderung des ausgeführten Programms in ein bestimmtes Programm eine spezielle Interrupt-Freigabezustandsinformation von den gesicherten Interrupt-Freigabezustandsinformationen wiederhergestellt, wobei die spezielle Interrupt-Freigabezustandsinformation diejenige Interrupt-Freigabezustandsinformation ist, die dem bestimmten Programm (dem Programm nach der Änderung) entspricht. Wenn das ausgeführte Programm geändert wird und dann das ausgeführte Programm ein oder mehrere Male weiter geändert wird und als Ergebnis dessen das ausgeführte Programm zu dem anfänglichen Programm zurückkehrt, kann daher der Anfangszustand der Interrupt-Freigabezustandsinformation sogar dann wiederhergestellt werden, wenn eine Änderung der Interrupt-Freigabezustandsinformation während der Ausführung eines anderen Programms vorliegt.
  • 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 einer Informationsbewegungseinrichtung und ebenfalls einem Beispiel eines Informationsbewegungsabschnitts entsprechen.
  • (Dritte Ausführungsform)
  • Im Folgenden wird eine dritte Ausführungsform mit Bezug auf die Zeichnungen beschrieben. Im Folgenden wird der Unterschied zu der zweiten Ausführungsform beschrieben.
  • Der Mikrocomputer 1 der dritten Ausführungsform und derjenige der ersten Ausführungsform unterscheiden sich in der Funktion der Informationsbewegungseinheit 23 und sind hinsichtlich der anderen Punkte gleich. Insbesondere weist die Informationsbewegungseinheit 23 die folgende Funktion auf. Auf der Grundlage der Interrupt-Einstellinformation, die in dem Interrupt-Einstellspeicherbereich SR2 gespeichert ist, spezifiziert die Informationsbewegungseinheit 23 von den Interrupt-Ursachen #1, #2, #3, #4, #5 diejenige Interrupt-Ursache, in Bezug auf die die Interrupt-Einstellung konfigurierbar ist. Danach sichert die Informationsbewegungseinheit 23 von den Interrupt-Freigabezustandsinformationen, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 gespeichert sind, nur diejenige Interrupt-Freigabezustandsinformation, die der spezifizierten Interrupt-Ursache entspricht, und stellt diese wieder her. Als Antwort auf die Änderung der ID-Nummer von „001“ in „002“ sichert die Informationsbewegungseinheit 23 beispielsweise von den Interrupt-Freigabezustandsinformationen, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 gespeichert sind, nur diejenige Interrupt-Freigabezustandsinformation, die der Interrupt-Ursache #1 entspricht. Als Antwort auf die Änderung der ID-Nummer von „002“ in „003“ sichert die Informationsbewegungseinheit 23 nur diejenigen Interrupt-Freigabezustandsinformationen, die den Interrupt-Ursachen #1, #2 entsprechen. Außerdem stellt die Informationsbewegungseinheit 23 beispielsweise als Antwort auf die Änderung der ID-Nummer von „001“ in „002“ nur diejenigen Interrupt-Freigabezustandsinformationen wieder her, die den Interrupt-Ursachen #1, #2 entsprechen.
  • Im Folgenden wird ein Beispiel einer Änderung einer Interrupt-Freigabezustandsinformation mit Bezug auf 7 beschrieben. In diesem Beispiel ändert sich die ID-Nummer aus Vereinfachungsgründen nur zwischen „001“, „002“ und „003“.
  • Wie es in 7 gezeigt ist, wird angenommen, dass zu einem Zeitpunkt t0 die ID-Nummer „001“ ist und die Interrupt-Freigabezustandsinformation in Bezug auf das Programm 311 auf ihren Anfangszustand eingestellt wird, bei 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 „IP40“). 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 „IP41“). Dieses kommt daher, dass, wenn die ID-Nummer „001“ ist, die EI-Anweisung in Bezug auf die Interrupt-Ursache #1 akzeptiert wird.
  • Danach ändert sich die ID-Nummer von „001“ in „002“ zu einem Zeitpunkt t2, und die Interrupt-Freigabezustandsinformation in Bezug auf das Programm 312 wird auf ihren Anfangszustand eingestellt, bei 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 „IP42“). Außerdem wird von der Interrupt-Freigabezustandsinformation „IP41 “, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 vor der Änderung in die ID-Nummer „002“ gespeichert wurde, 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 „IP43“). Dieses kommt daher, dass, wenn die ID-Nummer „002“ ist, die DI-Anweisung in Bezug auf die Interrupt-Ursachen #1, #2 akzeptiert wird.
  • Danach ändert sich die ID-Nummer von „002“ in „003“ zu einem Zeitpunkt t4, und die Interrupt-Freigabezustandsinformation in Bezug auf das Programm 313 wird auf ihren Anfangszustand eingestellt, bei 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 „IP44“). Außerdem werden von der Interrupt-Freigabezustandsinformation „IP43“, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 vor der Änderung der ID-Nummer „003“ gespeichert wurde, nur diejenigen Interrupt-Freigabezustandsinformationen, die den Interrupt-Ursachen #1, #2 entsprechen, in der Informationsbewegungseinheit 23 gesichert. 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 „IP45“). Dieses kommt daher, dass, wenn die ID-Nummer „003“ ist, die EI-Anweisung in Bezug auf die Interrupt-Ursachen #1, #2, #3 akzeptiert wird.
  • Wenn sich danach die ID-Nummer von „003“ in „002“ zu einem Zeitpunkt t6 ändert, wird die Interrupt-Freigabezustandsinformation „IP43“, die in der Informationsbewegungseinheit 23 gesichert wurde, in dem Interrupt-Freigabezustandsspeicherbereich SR3 wiederhergestellt (siehe Pfeil AL21). Dementsprechend wird „freigegeben“ für die Interrupt-Ursache #3 eingestellt und „gesperrt“ wird für die Interrupt-Ursachen #1, #2 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP46“). Außerdem werden von der Interrupt-Freigabezustandsinformation „IP45“, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 vor der Änderung der ID-Nummer in „002“ gespeichert wurde, diejenigen Interrupt-Freigabezustandsinformationen, die den Interrupt-Ursachen #1, #2, #3 entsprechen, in der Informationsbewegungseinheit 23 gesichert. Wenn die DI-Anweisung in die CPU 2 zu einem Zeitpunkt t7 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 „IP47“). Dieses kommt daher, dass, wenn die ID-Nummer „002“ ist, die DI-Anweisung in Bezug auf die Interrupt-Ursachen #1, #2 akzeptiert wird.
  • Wenn sich danach die ID-Nummer von „002“ in „001“ zu einem Zeitpunkt t8 ändert, wird die Interrupt-Freigabezustandsinformation „IP41“, die in der Informationsbewegungseinheit 23 gesichert wurde, in dem Interrupt-Freigabezustandsspeicherbereich SR3 wiederhergestellt (siehe Pfeil AL22). Dementsprechend wird „freigegeben“ für die Interrupt-Ursachen #1, #3 eingestellt und „gesperrt“ wird für die Interrupt-Ursache #2 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP48“). Außerdem werden von der Interrupt-Freigabezustandsinformation „IP47“, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 vor der Änderung der ID-Nummer in „001“ gespeichert wurde, nur diejenigen Interrupt-Freigabezustandsinformationen, die den Interrupt-Ursachen #1, #2 entsprechen, in der Informationsbewegungseinheit 23 gesichert. Wenn die EI-Anweisung in die CPU 2 zu einem Zeitpunkt t9 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 „IP49“). Dieses kommt daher, dass, wenn die ID-Nummer „001“ 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 „IP50“). Dieses kommt daher, dass, wenn die ID-Nummer „001“ ist, die DI-Anweisung in Bezug auf die Interrupt-Ursache #1 akzeptiert wird.
  • Wenn sich danach die ID-Nummer von „001“ in „003“ zu einem Zeitpunkt t11 ändert, wird die Interrupt-Freigabezustandsinformation „IP45“, die in der Informationsbewegungseinheit 23 gesichert wurde, in dem Interrupt-Freigabezustandsspeicherbereich SR3 wiederhergestellt (siehe Pfeil AL23). Dementsprechend wird „freigegeben“ für die Interrupt-Ursachen #1, #2, #3 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP51“). Außerdem wird von der Interrupt-Freigabezustandsinformation „IP50“, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 vor der Änderung der ID-Nummer in „003“ gespeichert wurde, 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 „IP52“). Dieses kommt daher, dass, wenn die ID-Nummer „003“ 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 diejenige 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 vor der Änderung in das ausgeführte Programm ausgeführt wurde, 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 SR3 gespeichert wurden. Daher kann hinsichtlich der Interrupt-Freigabezustandsinformation, die der Interrupt-Ursache entspricht, in Bezug auf die die Interrupt-Einstellung nicht konfigurierbar ist, die Interrupt-Freigabezustandsinformation, die durch ein anderes Programm geändert wurde, gehalten bzw. gespeichert werden, wenn das ausgeführte Programm geändert wird und dann das ausgeführte Programm ein oder mehrere Male weiter geändert wird und als Ergebnis dessen das ausgeführte Programm zu dem anfänglichen Programm zurückkehrt. Dieses basiert auf der Idee, dass es hinsichtlich der Interrupt-Ursache, in Bezug auf die die Interrupt-Einstellung nicht konfigurierbar ist, nicht notwendig ist, die Interrupt-Freigabezustandsinformation zu halten bzw. speichern, wenn das ausgeführte Programm zu dem anfänglichen Programm zurückkehrt. Da es nicht notwendig ist, sämtliche Interrupt-Freigabezustandsinformationen, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 der Registergruppe 22 gespeichert sind, zu sichern, können ein benötigter Speicherbereich und eine Verarbeitungslast zum Sichern der Interrupt-Freigabezustandsinformationen verringert werden.
  • (Vierte Ausführungsform)
  • Im Folgenden wird eine vierte Ausführungsform mit Bezug auf die Zeichnungen beschrieben. Es wird hier der Unterschied zu der zweiten Ausführungsform beschrieben.
  • Der Mikrocomputer 1 der vierten Ausführungsform und derjenige der zweiten Ausführungsform unterscheiden sich in der Konfiguration der Interrupt-Einstelltabelle 34 und sind in den anderen Punkten gleich. Insbesondere ist die Interrupt-Einstelltabelle 34 der vorliegenden Ausführungsform wie folgt aufgebaut. Wie es in 8 gezeigt ist, werden, wenn die ID-Nummer „001“ ist, die EI-Anweisung und die DI-Anweisung in Bezug auf die Interrupt-Ursache #1 akzeptiert. Wenn die ID-Nummer „002“ ist, werden die EI-Anweisung und die DI-Anweisung in Bezug auf die Interrupt-Ursache #2 akzeptiert. Wenn die ID-Nummer „003“ ist, werden die EI-Anweisung und die DI-Anweisung in Bezug auf die Interrupt-Ursache #3 akzeptiert. Wenn die ID-Nummer „004“ ist, werden die EI-Anweisung und die DI-Anweisung in Bezug auf die Interrupt-Ursachen #1, #2, #3, #4 akzeptiert. Wenn die ID-Nummer „005“ ist, werden die EI-Anweisung und die DI-Anweisung in Bezug auf die Interrupt-Ursachen #1, #2, #3, #4, #5 akzeptiert.
  • Im Folgenden wird ein Beispiel einer Änderung einer Interrupt-Freigabezustandsinformation mit Bezug auf 9 beschrieben. In diesem Beispiel ändert sich die ID-Nummer aus Vereinfachungsgründen nur zwischen „001“, „002“ und „003“.
  • Wie es in 9 gezeigt ist, wird angenommen, dass zu einem Zeitpunkt t0 die ID-Nummer „001“ ist und die Interrupt-Freigabezustandsinformation in Bezug auf das Programm 311 auf ihren Anfangszustand eingestellt ist, bei 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 „IP60“). 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 „IP61“). Dieses kommt daher, dass, wenn die ID-Nummer „001“ ist, die EI-Anweisung in Bezug auf die Interrupt-Ursache #1 akzeptiert wird.
  • Danach ändert sich die ID-Nummer von „001“ in „002“ zu einem Zeitpunkt t2, und die Interrupt-Freigabezustandsinformation in Bezug auf das Programm 312 wird auf ihren Anfangszustand eingestellt, bei 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 „P62“). Außerdem wird die Interrupt-Freigabezustandsinformation „IP61“, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 vor der Änderung der ID-Nummer in „002“ gespeichert wurde, in der Informationsbewegungseinheit 23 gesichert. Wenn die DI-Anweisung in die CPU 2 zu einem Zeitpunkt t3 eingegeben wird, wird „Interrupt freigegeben“ für die Interrupt-Ursache #1 eingestellt und „Interrupt gesperrt“ wird für die Interrupt-Ursachen #2, #3 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP63“). Dieses kommt daher, dass, wenn die ID-Nummer „002“ ist, die DI-Anweisung in Bezug auf die Interrupt-Ursache #2 akzeptiert wird.
  • Danach ändert sich die ID-Nummer von „002“ in „003“ zu einem Zeitpunkt t4, und die Interrupt-Freigabezustandsinformation in Bezug auf das Programm 313 wird auf ihren Anfangszustand eingestellt, bei 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 „IP64“). Außerdem wird die Interrupt-Freigabezustandsinformation „IP63“, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 vor der Änderung der ID-Nummer in „003“ gespeichert wurde, in der Informationsbewegungseinheit 23 gesichert. Wenn die DI-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 „IP65“). Dieses kommt daher, dass, wenn die ID-Nummer „003“ ist, die EI-Anweisung in Bezug auf die Interrupt-Ursache #3 akzeptiert wird.
  • Wenn sich danach die ID-Nummer von „003“ in „002“ zu einem Zeitpunkt t6 ändert, wird die Interrupt-Freigabezustandsinformation „IP63“, die in der Informationsbewegungseinheit 23 gesichert wurde, in dem Interrupt-Freigabezustandsspeicherbereich SR3 wiederhergestellt (siehe Pfeil AL31). Dementsprechend wird „Interrupt freigegeben“ für die Interrupt-Ursache #1 eingestellt und „Interrupt gesperrt“ wird für die Interrupt-Ursachen #2, #3 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP66“). Außerdem wird die Interrupt-Freigabezustandsinformation „IP65“, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 vor der Änderung der ID-Nummer in „002“ gespeichert wurde, in der Informationsbewegungseinheit 23 gesichert. Wenn die DI-Anweisung in die CPU 2 zu einem Zeitpunkt t7 eingegeben wird, wird „Interrupt freigegeben“ für die Interrupt-Ursache #1 eingestellt und „Interrupt gesperrt“ wird für die Interrupt-Ursachen #2, #3 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP63“). Dieses kommt daher, dass, wenn die ID-Nummer „002“ ist, die DI-Anweisung in Bezug auf die Interrupt-Ursache #2 akzeptiert wird.
  • Wenn sich danach die ID-Nummer von „002“ in „001“ zu einem Zeitpunkt t8 ändert, wird die Interrupt-Freigabezustandsinformation „IP61“, die in der Informationsbewegungseinheit 23 gesichert wurde, in dem Interrupt-Freigabezustandsspeicherbereich SR3 wiederhergestellt (siehe Pfeil AL32). 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 „IP68“). Außerdem wird die Interrupt-Freigabezustandsinformation „IP67“, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 vor der Änderung der ID-Nummer in „001“ gespeichert wurde, in der Informationsbewegungseinheit 23 gesichert. 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 „IP69“). Dieses kommt daher, dass, wenn die ID-Nummer „001“ 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 „IP70“). Dieses kommt daher, dass, wenn die ID-Nummer „001“ ist, die DI-Anweisung in Bezug auf die Interrupt-Ursache #1 akzeptiert wird.
  • Wenn sich danach die ID-Nummer von „001“ in „003“ zu einem Zeitpunkt t11 ändert, wird die Interrupt-Freigabezustandsinformation „IP65“, die in der Informationsbewegungseinheit 23 gesichert wurde, in dem Interrupt-Freigabezustandsspeicherbereich SR3 wiederhergestellt (siehe Pfeil AL33). Dementsprechend wird „Interrupt freigegeben“ für die Interrupt-Ursachen #1, #2, #3 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP71“). Außerdem wird die Interrupt-Freigabezustandsinformation „IP70“, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 vor der Änderung der ID-Nummer in „003“ gespeichert wurde, in der Informationsbewegungseinheit 23 gesichert. Wenn die DI-Anweisung in die CPU 2 zu einem Zeitpunkt t12 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 „IP72“). Dieses kommt daher, dass, wenn die ID-Nummer „003“ ist, die EI-Anweisung in Bezug auf die Interrupt-Ursache #3 akzeptiert wird.
  • (Fünfte Ausführungsform)
  • Im Folgenden wird eine fünfte Ausführungsform mit Bezug auf die Zeichnungen beschrieben. Es wird hier der Unterschied zu der dritten Ausführungsform beschrieben.
  • Der Mikrocomputer 1 der fünften Ausführungsform und derjenige der dritten Ausführungsform unterscheiden sich in der Konfiguration der Interrupt-Einstelltabelle 34 und sind in den anderen Punkten gleich. Insbesondere ist die Interrupt-Einstelltabelle 34 der fünften Ausführungsform wie folgt aufgebaut. Wie es in 8 gezeigt ist, werden, wenn die ID-Nummer „001“ ist, die EI-Anweisung und die DI-Anweisung in Bezug auf die Interrupt-Ursache #1 akzeptiert. Wenn die ID-Nummer „002“ ist, werden die EI-Anweisung und die DI-Anweisung in Bezug auf die Interrupt-Ursache #2 akzeptiert. Wenn die ID-Nummer „003“ ist, werden die EI-Anweisung und die DI-Anweisung in Bezug auf die Interrupt-Ursache #3 akzeptiert. Wenn die ID-Nummer „004“ ist, werden die EI-Anweisung und die DI-Anweisung in Bezug auf die Interrupt-Ursachen #1, #2, #3, #4 akzeptiert. Wenn die ID-Nummer „005“ ist, werden die EI-Anweisung und die DI-Anweisung in Bezug auf die Interrupt-Ursachen #1, #2, #3, #4, #5 akzeptiert.
  • Im Folgenden wird ein Beispiel einer Änderung einer Interrupt-Freigabezustandsinformation mit Bezug auf 10 beschrieben. In diesem Beispiel ändert sich die ID-Nummer aus Vereinfachungsgründen nur zwischen „001“, „002“ und „003“.
  • Wie es in 10 gezeigt ist, wird angenommen, dass die ID-Nummer „001“ zu einem Zeitpunkt t0 ist und die Interrupt-Freigabezustandsinformation in Bezug auf das Programm 311 auf ihren Anfangszustand eingestellt wird, bei 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 „IP80“). 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 „IP81 “). Dieses kommt daher, dass, wenn die ID-Nummer „001“ ist, die EI-Anweisung in Bezug auf die Interrupt-Ursache #1 akzeptiert wird.
  • Danach ändert sich die ID-Nummer von „001“ in „002“ zu einem Zeitpunkt t2, und die Interrupt-Freigabezustandsinformation in Bezug auf das Programm 312 wird auf ihren Anfangszustand eingestellt, bei 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 „IP82“). Außerdem wird von der Interrupt-Freigabezustandsinformation „IP81 “, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 vor der Änderung der ID-Nummer in „002“ gespeichert wurde, 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 freigegeben“ für die Interrupt-Ursache #1 eingestellt und „Interrupt gesperrt“ wird für die Interrupt-Ursachen #2, #3 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP83“). Dieses kommt daher, dass, wenn die ID-Nummer „002“ ist, die DI-Anweisung in Bezug auf die Interrupt-Ursache #2 akzeptiert wird.
  • Danach ändert sich die ID-Nummer von „002“ in „003“ zu einem Zeitpunkt t4, und die Interrupt-Freigabezustandsinformation in Bezug auf das Programm 313 wird auf ihren Anfangszustand eingestellt, bei 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 „IP84“). Außerdem wird von der Interrupt-Freigabezustandsinformation „IP83“, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 vor der Änderung der ID-Nummer in „003“ gespeichert wurde, nur diejenige Interrupt-Freigabezustandsinformation, die der Interrupt-Ursache #2 entspricht, in der Informationsbewegungseinheit 23 gesichert. 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 „IP85“). Dieses kommt daher, dass, wenn die ID-Nummer „003“ ist, die EI-Anweisung in Bezug auf die Interrupt-Ursache #3 akzeptiert wird.
  • Wenn sich danach die ID-Nummer von „003“ in „002“ zu einem Zeitpunkt t6 ändert, wird die Interrupt-Freigabezustandsinformation „IP83“, die in der Informationsbewegungseinheit 23 gesichert wurde, in dem Interrupt-Freigabezustandsspeicherbereich SR3 wiederhergestellt (siehe Pfeil AL41). Dementsprechend wird „freigegeben“ für die Interrupt-Ursachen #1, #3 eingestellt und „gesperrt“ wird für die Interrupt-Ursache #2 eingestellt (siehe Interrupt-Freigabezustandsinformation „IP86“). Außerdem wird von der Interrupt-Freigabezustandsinformation „IP85“, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 vor der Änderung der ID-Nummer in „002“ gespeichert wurde, nur diejenige Interrupt-Freigabezustandsinformation, die der Interrupt-Ursache #3 entspricht, in der Informationsbewegungseinheit 23 gesichert. Wenn die DI-Anweisung in die CPU 2 zu einem Zeitpunkt t7 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 „IP87“). Dieses kommt daher, dass, wenn die ID-Nummer „002“ ist, die DI-Anweisung in Bezug auf die Interrupt-Ursache #2 akzeptiert wird.
  • Wenn sich danach die ID-Nummer von „002“ in „001“ zu einem Zeitpunkt t8 ändert, wird die Interrupt-Freigabezustandsinformation „IP81“, die in der Informationsbewegungseinheit 23 gesichert wurde, in dem Interrupt-Freigabezustandsspeicherbereich SR3 wiederhergestellt (siehe Pfeil AL42). 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 „IP88“). Außerdem wird von der Interrupt-Freigabezustandsinformation „IP87“, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 vor der Änderung der ID-Nummer in „001“ gespeichert wurde, nur diejenige Interrupt-Freigabezustandsinformation, die der Interrupt-Ursache #2 entspricht, in der Informationsbewegungseinheit 23 gesichert. Wenn die EI-Anweisung in die CPU 2 zu einem Zeitpunkt t9 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 „IP89“). Dieses kommt daher, dass, wenn die ID-Nummer „001“ 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 „IP90“). Dieses kommt daher, dass, wenn die ID-Nummer „001“ ist, die DI-Anweisung in Bezug auf die Interrupt-Ursache #1 akzeptiert wird.
  • Wenn sich danach die ID-Nummer von „001“ in „003“ zu einem Zeitpunkt t11 ändert, wird die Interrupt-Freigabezustandsinformation „IP85“, die in der Informationsbewegungseinheit 23 gesichert wurde, in dem Interrupt-Freigabezustandsspeicherbereich SR3 wiederhergestellt (siehe Pfeil AL43). Dementsprechend 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 „IP91“). Außerdem wird von der Interrupt-Freigabezustandsinformation „IP90“, die in dem Interrupt-Freigabezustandsspeicherbereich SR3 vor der Änderung der ID-Nummer in „003“ gespeichert wurde, 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 „IP92“). Dieses kommt daher, dass, wenn die ID-Nummer „003“ ist, die DI-Anweisung in Bezug auf die Interrupt-Ursache #3 akzeptiert wird.
  • Die Ausführungsformen der vorliegenden Erfindung sind nicht auf die oben beschriebenen Ausführungsformen beschränkt und können verschiedene Formen aufweisen, von denen Beispiele im Folgenden beschrieben werden. In den obigen Ausführungsformen wird als Antwort auf die EI-Anweisung oder die DI-Anweisung 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, 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 beispielsweise die Verarbeitungseinheit 21 die Interrupt-Freigabezustandsinformation durch Ausführen verschiedener Anweisungen sichern und wiederherstellen, ohne eine Hardware wie die Informationsbewegungseinheit 23 zu verwenden.
  • In den obigen Ausführungsformen ist der Identifikationsnummernspeicherbereich SR1 in der Registergruppe 22 enthalten. Alternativ kann der Identifikationsnummernspeicherbereich SR1 in dem RAM 4 enthalten 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.

Claims (3)

  1. Mikrocomputer zum Ausführen mehrerer Programme eines Fahrzeugsteuerprogramms, das auf einem Betriebssystem ausgeführt wird, wobei den Programmen verschiedene Identifikationsnummern zugeordnet sind, wobei der Mikrocomputer aufweist: einen ersten Speicher (3), der eine Interrupt-Einstelltabelle (34) speichert, die Interrupt-Einstellinformationen für mehrere Ursachen eines Interrupts speichert, wobei jede Interrupt-Einstellinformation auf einer Programm-um-Programm-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 anweist, Bezug auf die Interrupt-Einstelltabelle (34), 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 der Interrupt-Einstellinformation, die dem Programm entspricht, 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 anweist, Bezug auf die Interrupt-Einstelltabelle (34), 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 der Interrupt-Einstellinformation, die dem Programm entspricht, 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 Programmausführung die Programmausführung 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), wobei der Mikrocomputer ferner aufweist: einen Informationsbewegungsabschnitt (23), der als Antwort auf eine Änderung der Identifikationsnummer des ausgeführten Programms in eine Identifikationsnummer eines bestimmten Programms die Interrupt-Freigabezustandsinformation durch Aufzeichnen der Interrupt-Freigabezustandsinformation, die vor der Änderung der Identifikationsnummer des ausgeführten Programms in die Identifikationsnummer des bestimmten Programms vorhanden ist, sichert, und die Interrupt-Freigabezustandsinformation von den gespeicherten Interrupt-Freigabezustandsinformationen, die der Identifikationsnummer des bestimmten Programms entspricht, das das Programm nach der Änderung ist, wiederherstellt.
  2. Mikrocomputer nach Anspruch 1, der außerdem aufweist: einen zweiten Speicher (22), der einen Interrupt-Freigabezustandsspeicherbereich (SR3) enthält, der Interrupt-Freigabezustandsinformationen für mehrere Ursachen von Interrupts speichert, wobei in Bezug auf das Programm, das derzeitig ausgeführt wird, 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 (SR3) gespeichert sind, so 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 derjenigen Interrupt-Freigabezustandsinformation, die der spezifizierten Ursache eines Interrupts entspricht, von den Interrupt-Freigabezustandsinformationen, die in dem Interrupt-Freigabezustandsspeicherbereich (SR3) gespeichert sind, so 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 (SR3) gespeichert sind, bestimmt, ob der Interrupt-Prozess, der der erzeugten Ursache eines Interrupts entspricht, ausgeführt oder verhindert wird, der Mikrocomputer außerdem aufweist: einen Informationsbewegungsabschnitt (23), der als Antwort auf eine Änderung des ausgeführten Programms in ein bestimmtes Programm die Interrupt-Freigabezustandsinformation durch Aufzeichnen der Interrupt-Freigabezustandsinformation, die vor der Änderung des ausgeführten Programms in das bestimmte Programm vorhanden ist, sichert, und die Interrupt-Freigabezustandsinformation durch Aufzeichnen derjenigen Interrupt-Freigabezustandsinformation von den gespeicherten Interrupt-Freigabezustandsinformationen, die dem bestimmten Programm entspricht, das das Programm nach der Änderung ist, 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 vor der Änderung des ausgeführten Programms vorhanden war, 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.
DE102013204037.7A 2012-03-13 2013-03-08 Mikrocomputer Active DE102013204037B4 (de)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
DE102013204037A1 DE102013204037A1 (de) 2013-09-19
DE102013204037B4 true DE102013204037B4 (de) 2019-06-06

Family

ID=49044172

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013204037.7A Active DE102013204037B4 (de) 2012-03-13 2013-03-08 Mikrocomputer

Country Status (2)

Country Link
JP (1) JP5561295B2 (de)
DE (1) DE102013204037B4 (de)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3209144B2 (ja) 1997-06-06 2001-09-17 日本電気株式会社 マイクロプロセッサ
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
DE202008016892U1 (de) 2007-12-21 2009-04-16 Opensynergy Gmbh Kraftfahrzeug-Steuervorrichtung

Family Cites Families (7)

* 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 間引きレジスタ制御回路
JPH06282431A (ja) * 1993-03-29 1994-10-07 Hitachi Ltd マイクロプロセッサ
JP2001216172A (ja) * 1997-09-12 2001-08-10 Hitachi Ltd マルチos構成方法
JP2009093344A (ja) * 2007-10-05 2009-04-30 Denso Corp マイクロコンピュータ、その使用方法、及び電子制御装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3209144B2 (ja) 1997-06-06 2001-09-17 日本電気株式会社 マイクロプロセッサ
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
DE202008016892U1 (de) 2007-12-21 2009-04-16 Opensynergy Gmbh Kraftfahrzeug-Steuervorrichtung

Also Published As

Publication number Publication date
DE102013204037A1 (de) 2013-09-19
JP2013190930A (ja) 2013-09-26
JP5561295B2 (ja) 2014-07-30

Similar Documents

Publication Publication Date Title
DE102007025397B4 (de) System mit mehreren Prozessoren und Verfahren zu seinem Betrieb
DE10211889B4 (de) Verarbeitungseinheit zur Ausführung von Ereignisprozessen in Echtzeit ohne Verursachung einer Prozessstörung
DE112010005400T5 (de) System für gegenseitige Überwachung von Mikrocomputern und ein Verfahren für gegenseitige Überwachung von Mikrocomputern
EP2513796B1 (de) Verfahren zum betreiben einer recheneinheit
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
DE1269394B (de) Schaltungsanordnung zur Bestimmung des Vorrangsverhaeltnisses zwischen mehreren Eingangsgroessen fuer programmgesteuerte Datenverarbeitungssysteme
DE102015220884B4 (de) Bildverarbeitungsvorrichtung
DE2336020C3 (de) Adressen-Berechnungsschaltung für Paritätsfehler-Korrekturprogramme
DE102012209789B4 (de) Fahrzeuggebundene elektrische steuervorrichtung
WO2015086357A1 (de) Verfahren zur beeinflussung eines steuerprogramms eines steuergeräts
DE112012002647B4 (de) Erkennen eines durch Interrupt-Verarbeitung verursachten anormalen Betriebs
DE102013204037B4 (de) Mikrocomputer
DE102014011665A1 (de) System und Verfahren für DMA-Betrieb mit hoher Integrität
DE10062995A1 (de) Unterbrecher-Steuereinrichtung
DE60125854T2 (de) Abnehmbare elektronische Vorrichtung zur Erhöhung der Funktionalität eines Hauptprozessors und Steuerungsverfahren dazu
DE102013204045B4 (de) Mikrocomputer
DE102007015507B4 (de) Prozessor mit einem ersten und einem zweiten Betriebsmodus und Verfahren zu seinem Betrieb
DE112013007143T5 (de) Computersystem und Steuerungsverfahren
DE102016206490A1 (de) Elektronische steuereinheit
DE112020001541T5 (de) Informationsverarbeitungsvorrichtung, beweglicher gegenstand und informationsverarbeitungsverfahren
DE112020002650T5 (de) Fahrzeugvorrichtung
DE10062996B4 (de) Unterbrecher-Steuereinrichtung mit Prioritätsvorgabe
DE102012204644B4 (de) Steuervorrichtung
DE102012208753A1 (de) Mikrocomputer mit einzelkern

Legal Events

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

Effective date: 20140912

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