DE69114321T2 - Zum Durchführen der Unterbrechungsverschachtelungsfunktion geeignetes Unterbrechungssteuerungsgerät. - Google Patents

Zum Durchführen der Unterbrechungsverschachtelungsfunktion geeignetes Unterbrechungssteuerungsgerät.

Info

Publication number
DE69114321T2
DE69114321T2 DE69114321T DE69114321T DE69114321T2 DE 69114321 T2 DE69114321 T2 DE 69114321T2 DE 69114321 T DE69114321 T DE 69114321T DE 69114321 T DE69114321 T DE 69114321T DE 69114321 T2 DE69114321 T2 DE 69114321T2
Authority
DE
Germany
Prior art keywords
priority
interrupt
interrupt request
information
generated
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.)
Expired - Fee Related
Application number
DE69114321T
Other languages
English (en)
Other versions
DE69114321D1 (de
Inventor
Satomi Ishimoto
Osamu Matsushima
Masaki Nasu
Masahiro Nomura
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.)
NEC Electronics Corp
Original Assignee
NEC Corp
Nippon Electric Co Ltd
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 NEC Corp, Nippon Electric Co Ltd filed Critical NEC Corp
Publication of DE69114321D1 publication Critical patent/DE69114321D1/de
Application granted granted Critical
Publication of DE69114321T2 publication Critical patent/DE69114321T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control

Landscapes

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

Description

    Hintergrund der Erfindung Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft eine Unterbrechungssteuerung zur Verwendung in einem Mikrocomputer und insbesondere eine Unterbrechungssteuerung mit einer Unterbrechungspriorität-Steuerfunktion.
  • Beschreibung des zugehörigen Standes der Technik
  • Allgemein ist eine Unterbrechungssteuerung zwischen einer zentralen Verarbeitungseinheit (CPU) und einer Vielzahl peripherer Eingabe-/ausgabe-(I/O)- Vorrichtungen angeordnet worden, und in normalen Fällen hat sie die folgenden Funktionen:
  • (1) Sie dient zum Bestätigen einer Unterbrechungsanfrage von jeder der peripheren Vorrichtungen und zum Bringen einer Unterbrechungsverarbeitungsanfrage zur CPU;
  • (2) wenn von einer Vielzahl peripherer Vorrichtungen eine Vielzahl von Unterbrechungsanfragen gleichzeitig erzeugt wird, dient sie zum Auswählen und Bestätigen einer Unterbrechungsanfrage gemäß dem Prioritätsrang und zum Bringen einer entsprechenden Unterbrechungsverarbeitungsanfrage zur CPU; und
  • (3) wenn die CPU gerade eine Unterbrechungsverarbeitung basierend auf der Unterbrechungsanfrage ausführt, während eine weitere Unterbrechungsanfrage mit einer Priorität, die höher als jene der Unterbrechungsanfrage entsprechend der gerade ausgeführten Unterbrechungsverarbeitung ist, dient sie zum Bestätigen der Unterbrechungsanfrage mit der hohen Priorität und zum Bringen einer entsprechenden Unterbrechungsverarbeitungsanfrage zur CPU. Diese Funktion wird eine "Unterbrechungs-Verschachtelungsfunktion" genannt, die auf der Prioritätsreihenfolgesteuerung basiert.
  • Bei der oben angegebenen Unterbrechungsfunktion ist eine Unterbrechungsanfrage, die während einer Ausführung der Unterbrechungsverarbeitung der CPU bestätigt werden kann, auf solche beschränkt, die eine Priorität haben, die höher als jene der Unterbrechungsanfrage ist, die der gerade ausgeführten Unterbrechungsverarbeitung entspricht. Daher wird, selbst wenn eine Unterbrechungsanfrage mit derselben Priorität wie jener der Unterbrechungsanfrage, die der gerade ausgeführten Unterbrechungsverarbeitung entspricht, erzeugt wird, die später erzeugte Unterbrechung nicht bestätigt, und sie wird daher in einem noch nicht behandelten Zustand unentschieden gelassen.
  • In letzter Zeit sind Mikrocomputer auf verschiedenen Anwendungsgebieten verwendet worden, und bei einigen zu realisierenden Systemen wird gewünscht, die Unterbrechungs-Verschachtelungsfunktion für eine Unterbrechungsanfrage mit derselben Priorität wie jener der Unterbrechungsanfrage auszuführen, die der gerade ausgeführten Unterbrechungsverarbeitung entspricht. Jedoch ist eine Unterbrechungssteuerung mit einer solchen Funktion noch nicht vorgeschlagen worden. Daher ist diese Funktion softwaremäßig basierend auf einem Programm realisiert worden.
  • Gemäß der EP-A-0 230 512 ist es möglich, eine neue Unterbrechungsanfrage zuzulassen, während eine Unterbrechung derselben Priorität in einem Hintergrundmodus behandelt wird.
  • Gemäß MICROPROCESSORS AND MICROSYSTEMS, Bd. 10,10.5, Juni 1986, London, Seiten 258-267 kann eine Unterbrechungsmodus-Ausführung höchster Priorität durch eine andere Unterbrechung derselben Priorität unterbrochen werden.
  • Zusammenfassung der Erfindung
  • Demgemäß ist es eine Aufgabe der vorliegenden Erfindung, eine Unterbrechungssteuerung zu schaffen, die die Unterbrechungs-Verschachtelungsfunktion für eine später erzeugte Unterbrechungsanfrage ausführen kann, die dieselbe Priorität wie jene einer Unterbrechungsanfrage hat, die einer gerade ausgeführten Unterbrechungsverarbeitung entspricht.
  • Eine weitere Aufgabe der vorliegenden Erfindung ist es, eine Unterbrechungssteuerung zu schaffen, die nicht nur in Systemen verwendet werden kann, bei denen erforderlich ist, daß sie eine Unterbrechungs-Verschachtelungsfunktion für eine später erzeugte Unterbrechungsanfrage mit derselben Priorität wie jener einer Unterbrechungsanfrage haben, die einer gerade ausgeführten Unterbrechungsverarbeitung entspricht, sondern auch in Systemen, für die es nicht erforderlich ist, dieselbe Unterbrechungs-Verschachtelungsfunktion zu haben.
  • Die obigen und andere Ziele der vorliegenden Erfindung werden gemäß der vorliegenden Erfindung durch eine Unterbrechungssteuerung erreicht, die folgendes aufweist: eine Vorrichtung zum Halten einer Prioritätsinformation, die durch Bestimmen einer Priorität erhalten wird, die aus einer Vielzahl von Prioritäten für jede einer Vielzahl von Unterbrechungsanfragen ausgewählt wird, ein Flag zum Anzeigen, ob eine Verschachtelung für eine Unterbrechungsanfrage zugelassen ist oder nicht, die wenigstens eine vorbestimmte Priorität der Vielzahl von Prioritäten hat, und eine Steuereinrichtung, die auf der Basis der in der Einrichtung gehaltenen Prioritätsinformation und einer in dem Flag gehaltenen Information auf solche Weise arbeitet, daß dann, wenn während einer Ausführung einer Unterbrechungsverarbeitung mit der vorbestimmten Priorität eine Unterbrechungsanfrage erzeugt wird, wenn die in dem Flag gehaltene Information in einem ersten Zustand ist, die Steuereinrichtung die erzeugte Unterbrechungsanfrage nur bestätigt, wenn die Priorität der erzeugten Unterbrechungsanfrage höher als die vorbestimmte Priorität ist, und wenn die in dem Flag gehaltene Information in einem zweiten Zustand ist, die Steuereinrichtung die erzeugte Unterbrechungsanfrage nicht nur bestätigt, wenn die Priorität der erzeugten Unterbrechungsanfrage höher als die vorbestimmte Priorität ist, sondern auch dann, wenn die Priorität der erzeugten Unterbrechungsanfrage dieselbe wie die vorbestimmte Priorität ist.
  • Bei dem oben angegebenen Aufbau ist es möglich, die Verschachtelungsfunktion für eine Vielzahl von Unterbrechungsanfragen mit der vorbestimmten Priorität auszuführen. Zusätzlich wird durch die in dem Flag gesetzte Information gesteuert, ob die Verschachtelungsfunktion realisiert wird oder nicht.
  • Bei einem bevorzugten Ausführungsbeispiel enthält die Steuereinrichtung eine Einrichtung zum Erzeugen einer In-Betrieb-Prioritätsinformation, die eine für die gerade ausgeführte Unterbrechungsverarbeitung bestimmte Priorität anzeigt, eine Einrichtung zum Ändern eines Inhalts der In-Betrieb-Prioritätsinformation, um eine Priorität anzuzeigen, die niedriger als die vorbestimmte Priorität ist, wenn die für die gerade ausgeführte Unterbrechungsverarbeitung bestimmte Priorität die vorbestimmte Priorität ist und wenn die in dem Flag gehaltene Information in dem zweiten Zustand ist, und eine Einrichtung zum Bestätigen der während der Ausführung der Unterbrechungsverarbeitung erzeugten Unterbrechungsanfrage, wenn die während der Ausführung der Unterbrechungsverarbeitung erzeugte Unterbrechungsanfrage höher als die durch die In-Betrieb-Prioritätsinformation angezeigte Priorität ist.
  • Bei einem weiteren bevorzugten Ausführungsbeispiel enthält die Steuereinrichtung eine Einrichtung zum Erzeugen einer In-Betrieb-Prioritätsinformation, die eine für die gerade ausgeführte Unterbrechungsverarbeitung bestimmte Priorität anzeigt, eine Einrichtung zum Vergleichen der während der Ausführung der Unterbrechungsverarbeitung erzeugten Unterbrechungsanfrage mit der durch die In-Betrieb- Prioritätsinformation angezeigten Priorität, und eine Einrichtung zum Bestätigen der erzeugten Unterbrechungsanfrage, wenn ein von der Vergleichseinrichtung ausgegebenes Vergleichsergebnis auf einem ersten Pegel ist, und zum Nichtbestätigen der erzeugten Unterbrechungsanfrage, wenn das von der Vergleichseinrichtung ausgegebene Vergleichsergebnis auf einem zweiten Pegel ist. Wenn die in dem Flag gehaltene Information im ersten Zustand ist, arbeitet die Vergleichseinrichtung, um das Vergleichsergebnis nur dann auf den ersten Pegel zu bringen, wenn die während der Ausführung der Unterbrechungsverarbeitung erzeugte Unterbrechungsanfrage höher als die durch die In-Betrieb-Prioritätsinformation angezeigte Priorität ist. Wenn die in dem Flag gehaltene Information im zweiten Zustand ist, arbeitet die Vergichseinrichtung, um das Vergleichsergebnis nicht nur auf den ersten Pegel zu bringen, wenn die während der Ausführung der Unterbrechungsverarbeitung erzeugte Unterbrechungsanfrage höher als die durch die In-Betrieb- Prioritätsinformation angezeigte Priorität ist, sondern auch, wenn die während der Ausführung der Unterbrechungsverarbeitung erzeugte Unterbrechungsanfrage dieselbe wie die durch die In-Betrieb-Prioritätsinformation angezeigte Priorität ist.
  • Die obigen und weitere Gegenstände, Merkmale und Vorteile der vorliegenden Erfindung werden aus der folgenden Beschreibung bevorzugter Ausführungsbeispiele der Erfindung unter Bezugnahme auf die beigefügten Zeichnungen klar.
  • Kurze Beschreibung der Zeichnungen
  • Fig. 1 ist ein Blockdiagramm eines Mikrocomputers, der ein erstes Ausführungsbeispiel der Unterbrechungssteuerung gemäß der vorliegenden Erfindung enthält;
  • Fig. 2 ist ein Blockdiag ramm eines inneren Aufbaus der Verschachtelungssteuerung, die in dem in Fig. 1 gezeigten Mikrocomputer enthalten ist;
  • Fig. 3 ist ein Blockdiagramm eines inneren Aufbaus des In-Betrieb- Prioritätsinformationsgenerators, der in dem in Fig. 1 gezeigten Mikrocomputer enthalten ist;
  • Fig. 4 zeigt eine Beziehung zwischen Eingangsdaten und Ausgangsdaten in dem In-Betrieb-Prioritätsinformationsdecodierer, der in Fig. 2 gezeigt ist;
  • Fig. 5 ist ein Blockdiagramm eines inneren Aufbaus eines weiteren Beispiels des In-Betrieb-Prioritätsinformationsgenerators;
  • Fig. 6 ist ein Blockdiagramm eines inneren Aufbaus eines weiteren Beispiels des In-Betrieb-Prioritätsinformationsgenerators;
  • Fig. 7 ist ein Blockdiagramm eines inneren Aufbaus einer Verschachtelungssteuerung, die in einem zweiten Ausführungsbeispiel der Unterbrechungssteuerung gemäß der vorliegenden Erfindung enthalten ist;
  • Fig. 8 ist ein Blockdiagramm eines inneren Aufbaus eines In-Betrieb- Prioritätsinformationsgenerators, der in dem zweiten Ausführungsbeispiel der Unterbrechungssteuerung gemäß der vorliegenden Erfindung enthalten ist; und
  • Fig. 9 zeigt eine Beziehung zwischen Eingangsdaten und Ausgangsdaten in dem in Fig. 7 gezeigten Prioritätskomparator.
  • Beschreibung der bevorzugten Ausführungsbeispiele
  • Nun werden Ausführungsbeispiele der Unterbrechungssteuerung gemäß der vorliegenden Erfindung unter Bezugnahme auf die beigefügten Zeichnungen beschrieben. Da jedoch die hierin zuvor erklärten Funktionen (1) und (2) und wohlbekannte verschiedene Funktionen einschließlich einer Unterbrechungsmaskenfunktion und einer Unterbrechungsvektor-Informationserzeugungsfunktion keine direkte Beziehung zu der vorliegenden Erfindung haben, wird ein zum Realisieren dieser Funktionen notwendiger Aufbau weggelassen, und nur die Unterbrechungsverschachtelung wird gezeigt und erklärt. In der folgenden Beschreibung und in allen Figuren sind denselben Funktionsteilen dieselben Bezugszeichen zugeordnet, und eine doppelte Erklärung wird vermieden.
  • Unter Bezugnahme auf Fig. list ein Blockdiagramm eines Mikrocomputers gezeigt, der eine Unterbrechungssteuerung 1 gemäß einem ersten Ausführungsbeispiel der vorliegenden Erfindung enthält. Die Unterbrechungssteuerung 1 ist zwischen einer zentralen Verarbeitungseinheit (CPU) 2 und einer Gruppe peripherer Eingabe-/ Ausgabe-(I/O)-Vorrichtungen 3 angeordnet und empfängt acht Arten von Unterbrechungsanfragen von den peripheren I/O-Vorrichtungen 3 in der Form von Unterbrechungsanfragesignalen 3-0 bis 3-7. Wenn eine Unterbrechungsanfrage bestätigt wird, erzeugt die Unterbrechungssteuerung 1 ein Unterbrechungsverarbeitungsanfragesignal 11 zu der CPU 2. Andererseits gibt die CPU 2 ein Unterbrechungsverarbeitungs-Bestätigungssignal 21, das anzeigt, daß eine Unterbrechungsverarbeitungsanfrage bestätigt ist, und ein Unterbrechungsverarbeitungs-Beendigungssignal 22, das anzeigt, daß die bestätigte Unterbrechungsverarbeitung beendet worden ist, zu der Unterbrechungssteuerung 1 aus. Die Unterbrechungssteuerung 1, die CPU 2 und die peripheren I/O-Vorrichtungen 3 sind mittels eines Adressen-/Datenbusses 4 miteinander gekoppelt, so daß ein erforderliches Lesen/Schreiben von Daten über den Bus 4 durchgeführt wird.
  • Die Unterbrechungssteuerung 1 enthält eine Verschachtelungssteuerung 10 und einen In-Betrieb-Prioritätsinformationsgenerator 50. Die Unterbrechungsanfragesignale 3-0 bis 3-7 werden der Verschachtelungssteuerung 10 zugeführt, und die Verschachtelungssteuerung 10 erzeugt das Unterbrechungsverarbeitungsanfragesignal 11. Das Unterbrechungsverarbeitungs-Bestätigungssignal 21 und das Unterbrechungsverarbeitungs-Beendigungssignal 22, die durch die CPU 2 erzeugt werden, werden jeweils der Verschachtelungssteuerung 10 und dem In-Betrieb- Prioritätsinformationsgenerator 50 zugeführt. Die Verschachtelungssteuerung 10 gibt eine bestätigte Unterbrechungsprioritätsinformation 12, die eine für die bestätigte Unterbrechungsanfrage bestimmte Priorität anzeigt, zu dem In-Betrieb- Prioritätsinformationsgenerator 50 aus, und andererseits führt der In-Betrieb- Prioritätsinformationsgenerator 50 der Verschachtelungssteuerung 10 In-Betrieb- Prioritätsinformation 51 zu, die eine Priorität einer gerade von der CPU 2 ausgeführten U nterbrechungsverarbeitung anzeigt.
  • Gemäß Fig. 2 enthält die Verschachtelungssteuerung 10 Unterbrechungs- Unterscheidungsschaltungen 200 (200-0 bis 200-7), die jeweils entsprechend den Unterbrechungsanfragesignalen 3-0 bis 3-7 vorgesehen sind. Da diese Unterbrechungs-Unterscheidungsschaltungen 200-0 bis 200-7 denselben Aufbau haben, ist in Fig. 2 ein innerer Aufbau nur der Unterbrechungs-Unterscheidungsschaltung 200- 0 gezeigt. Die Unterbrechungs-Unterscheidungsschaltung 200 hat ein Unterbrechungsflag 201, ein UND-Gatter 202, ein ODER-Gatter 203, einen Prioritätskomparator 204 und ein Prioritätsbestimmungsregister 205, die verbunden sind, wie es in Fig. 2 gezeigt ist. Wenn ein entsprechendes Unterbrechungsanfragesignal 3 erzeugt wird, wird das Unterbrechungsflag 201 in einen gesetzten Zustand gebracht und führt eine logische "1" zu dem zugehörigen UND-Gatter 202. Das Prioritätsbestimmungsregister 205 hat zwei Bits PR1 und PR0 (PR1 ist eine höhere Stelle) zum Halten einer Prioritätsreihenfolge oder eines Prioritätspegels, die bzw. der für die entsprechende Unterbrechungsanfrage bestimmt ist.
  • Bei diesem Ausführungsbeispiel können vier Prioritätspegel derart gesetzt werden, daß die Priorität in der genannten Reihenfolge von (0,0), (0,1), (1,0) und (1,1) der zwei Bits PR1 und PR0 des Prioritätsbestimmungsregisters 205 niedriger wird. Wenn nämlich die zwei Bits PR1 und PR0 des Prioritätsbestimmungsregisters 205 (0,0) sind, zeigt es die höchste Priorität, und wenn die zwei Bits PR1 und PR0 des Prioritätsbestimmungsregisters 205 (1,1) sind, zeigt es die niedrigste Priorität. Als Ergebnis wird wenigstens ein Prioritätspegel für eine Vielzahl von Unterbrechungsanfragen bestimmt. Für jede der Unterbrechungsanfragen 3-0 bis 3-7 wird einer der vier Prioritätspegel durch die CPU 2 bestimmt, d.h. er kann durch Verwendung eines Programms frei gesetzt werden.
  • Der Prioritätskomparator 204 empfängt und vergleicht die durch die zwei Bits PR1 und PR0 des Prioritätsbestimmungsregisters 205 gegebene Priorität und eine In- Betrieb-Priorität 501 und 502 (501 ist eine hohe Stelle und 502 ist eine niedrige Stelle), die von einem In-Betrieb-Informationsdecodierer 500 zugeführt wird, der hierin nachfolgend erklärt wird. Wenn die durch das Prioritätsbestimmungsregister 205 gegebene Priorität höher als die von dem In-Betrieb-Informationsdecodierer 500 zugeführte In-Betrieb-Priorität 501 und 502 ist, erzeugt der Prioritätskomparator 204 eine Ausgabe 206 einer logischen "1", die durch das ODER-Gatter 203 zu dem UND-Gatter 202 geführt wird. Das ODER-Gatter 203 empfängt auch eine Ausgabe 503 von dem In-Betrieb-Informationsdecodierer 500.
  • Somit beurteilt, wenn eine entsprechende Unterbrechungsanfrage 3 erzeugt ist, jede Unterbrechungs-Unterscheidungsschaltung 200 auf der Basis des Inhalts des Prioritätsbestimmungsregisters 205 und der von dem In-Betrieb-Informationsdecodierer 500 zugeführten In-Betrieb-Prioritätsinformation, ob die erzeugte entsprechende Unterbrechungsanfrage 3 bestätigt werden soll oder nicht. Wenn die Unterbrechungsanfrage 3 bestätigt wird, erzeugt die Unterbrechungs- Unterscheidungsschaltung 200 eine entsprechende Unterbrechungsausgabe 207 von logisch "1 ".
  • Unterscheidungsausgaben 207-0 bis 207-7 der acht Unterbrechungs- Unterscheidungsschaltungen 200-0 bis 200-7 werden einem ODER-Gatter 300 zugeführt, das das Unterbrechungsverarbeitungsanfragesignal 11 ausgibt. Somit wird, wenn die Unterbrechungsanfrage erzeugt ist, die Unterbrechungsverarbeitungsanfrage zu der CPU 2 erzeugt. Wenn die CPU 2 die Unterbrechungsverarbeitungsanfrage bestätigt, sendet die CPU das Unterbrechungsverarbeitungs- Bestätigungssignal 21 zu der Verschachtelungssteuerung 10.
  • In Antwort auf dieses Unterbrechungsverarbeitungs-Bestätigungssignal 21 und die Unterscheidungsausgaben 207-0 bis 207-7 der acht Unterbrechungs- Unterscheidungsschaltungen 200-0 bis 200-7 aktiviert eine Unterbrechungsflag- Rücksetzschaltung 100 eines von Flag-Rücksetzsignalen 100-0 bis 100-7, das der bestätigten Unterbrechungsanfrage entspricht, so daß ein entsprechendes Unterbrechungsfiag 201 rückgesetzt wird.
  • Wenn die Unterbrechungsanfrage bestätigt wird, ist es notwendig, den Prioritätspegel der bestätigten Unterbrechungsanfrage zu erfassen, und dem In-Betrieb-Informationsgenerator 50 den erfaßten Prioritätspegel anzuzeigen. Zu diesem Zweck sind acht Decodierer 400-0 bis 400-7 für eine bestätigte Unterbrechungsprioritätsinformation jeweils entsprechend den acht Unterbrechungs- Unterscheidungsschaltungen 200-0 bis 200-7 vorgesehen. Diese Decodierer haben denselben Aufbau und ein innerer Aufbau nur des Decodierers 400-0 für eine bestätigte Unterbrechungsprioritätsinformation ist gezeigt.
  • Der Decodierer 400 für eine bestätigte Unterbrechungsprioritätsinformation enthält vier UND-Gatter 401 bis 404 mit Eingängen, die, wie es gezeigt ist, zum Empfangen von vier Eingangssignalen angeschlossen sind. Ein erstes Eingangssignal zu dem Decodierer 400 ist das Unterbrechungsverarbeitungs-Bestätigungssignal 21 von der CPU 2, und ein zweites Eingangssignal ist die Unterscheidungsausgabe 207 der entsprechenden Unterbrechungs-Unterscheidungsschaltung 200. Ein drittes und ein viertes Eingangssignal sind die zwei Bits PR1 und PR0 des Prioritäts- Bestimmungsregisters 205 in der entsprechenden Unterbrechungs Unterscheidungsschaltung 200. Daher erzeugt, wenn man beispielsweise annimmt, daß die Unterbrechungsanfrage 3-0 bestätigt wird und die bestätigte Unterbrechungsanfrage 3-0 den Prioritätspegel (0,0) hat, das UND-Gatter 401 ein Signal von logisch "1" in Antwort auf das Unterbrechungsverarbeitungs-Bestätigungssignal 21. Wenn die Prioritätsordnung (0,1), (1,0) oder (1,1) ist, gibt das jeweilige UND-Gatter 402, 403 oder 404 das Signal von logisch "1" aus. Die Ausgaben der vier UND- Gatter 401 bis 404 werden als Bit-Signale 12-0 bis 12-3 zugeführt, die die bestätigte Unterbrechungsprioritätsinformation 12 bilden. Da die vier Prioritätspegel gesetzt werden können, wie es hierin zuvor angegeben ist, wird nämlich die bestätigte Unterbrechungsprioritätsinformation 12 aus vier Bits gebildet, so daß ein Bit der bestätigten Unterbrechungsprioritätsinformation 12 entsprechend dem Prioritätspegel der bestätigten Unterbrechungsanfrage aktiviert wird.
  • Auf der Basis der bestätigten Unterbrechungsprioritätsinformation 12 erzeugt der In- Betrieb-Prioritätsinformationsgenerator 50 die In-Betrieb-Prioritätsinformation 51 in Relation zu der Priorität der gerade von der CPU 2 ausgeführten Unterbrechungsverarbeitung. Diese In-Betrieb-Prioritätsinformation 51 wird auch aus Vier-Bit- Signalen 51-1 bis 51-3 gebildet. Grundsätzlich werden, wenn die Priorität der gerade durch die CPU 2 ausgeführten Unterbrechungsverarbeitung jeweils (0,0), (0,1), (1,0) oder (1,1) ist, die jeweiligen Bit-Signale 51-0, 51-1, 51-2 oder 51-3 zu logisch "1" gebracht.
  • Auf der Basis der In-Betrieb-Prioritätsinformation 51 steuert der In-Betrieb- Prioritätsinformationsdecodierer 500 den logischen Pegel der Ausgangs-Bit-Signale 501, 502 und 503, wie es in Fig. 4 gezeigt ist. Wenn nämlich alle Bit-Signale 51-1 bis 51-3 der In-Betrieb-Prioritätsinformation 51 "0" sind, bringt der Decodierer 500 das Bit-Signal 503 zu "1", so daß die Unterbrechungs-Unterscheidungsschaltung 200 arbeitet, um die erzeugte Unterbrechungsanfrage 3 ungeachtet der Ausgabe 206 des Komparators 204 zu bestätigen. In den anderen Situationen, nämlich dann, wenn die Bit-Signale 51-1 bis 51-3 der In-Betrieb-Prioritätsinformation 51 nicht alle "0" sind, erzeugt der Decodierer 500 die Ausgangsbits 501 und 502, die die In- Betrieb-Priorität zeigen, auf der Basis der Position des Bits "1" in einem Muster der Bit-Signale 51-1 bis 51-3, wie es in Fig. 4 gezeigt ist.
  • Gemäß Fig. 3 enthält der In-Betrieb-Prioritätsinformationsgenerator 50 vier Setz- Rücksetz-(S-R)-Flip-Flops 601 bis 604 mit einem Setz-Anschluß 5, der angeschlossen ist, um die jeweiligen Bit-Signale 12-0 bis 12-3 der bestätigten Prioritätsinformation 12 zu empfangen. Zusätzlich ist ein Flag 700 vorgesehen, das anzeigt, ob die Verschachtelung der Unterbrechungsanfrage desselben Prioritätspegels erlaubt ist oder nicht. Dieses Flag kann mittels einer programmierten Verarbeitung durch die CPU 2 zur logischen "0" oder logischen "1" geschrieben und neu geschrieben werden. Bei diesem Ausführungsbeispiel wird, wenn das Flag 700 auf logisch "1" gesetzt ist, die Verschachteung für denselben Prioritätspegel verhindert, und wenn das Flag 700 auf logisch "0" gesetzt ist, wird die Verschachtelung für denselben Prioritätspegel zugelassen. Darüber hinaus ist der Prioritätspegel, der die Verschachtelung desselben Pegels zuläßt, nur der Pegel (1,1), nämlich der niedrigste Prioritätspegel.
  • Zu diesem Zweck werden Q-Ausgaben der Flip-Flops 601 bis 603 ohne Abänderung der In-Betrieb-Prioritätsinformation 51 als die Bit-Signale 51-0 bis 51-2 zugeführt. Andererseits werden die Q-Ausgabe des Flip-Flops 604 und eine Ausgabe 701 des Flags 700 einem UND-Gatter 750 eingegeben, so daß ein logisches Produkt der Q-Ausgabe des Flip-Flops 604 und eine Ausgabe 701 des Flags 700 der In-Betrieb-Prioritätsinformation 51 als das Bit-Signal 51-3 zugeführt wird.
  • Bei diesem Aufbau wird, selbst wenn die Unterbrechungsanfrage des Prioritätspegels (1,1) bestätigt wird und das Flip-Flop 604 durch das Signal 12-3 gesetzt wird, das in Antwort auf das Unterbrechungsverarbeitungs-Bestätigungssignal 21 erzeugt wird, das durch die CPU 2 erzeugt wird, die eine Unterbrechungsverarbeitung entsprechend der bestätigten Unterbrechungsanfrage begonnen hat, wenn das Flag 700 auf "0" gesetzt ist, die Q-Ausgabe des Fiip-Flops 604 maskiert, so daß das Bit- Signal 51-3 auf "0" beibehalten wird. Andererseits wird, wenn das Flag 700 auf "1 gesetzt wird, wenn das Flip-Flop 604 gesetzt wird, das Bit-Signal 51-3 auf "1" gebracht.
  • Die Flip-Flops 601 bis 604 werden jeweils durch eine Ausgabe der UND-Gatter 605 bis 608 rückgesetzt, die Eingänge aufweisen, die Eingangssignale empfangen, wie es in den Zeichnungen gezeigt ist. Daher wird, wenn eine Vielzahl von Flip-Flops in dem gesetzten Zustand ist, das an der höchsten Stelle positionierte Flip-Flop zuerst von dem Unterbrechungsverarbeitungs-Beendigungssignal 22 rückgesetzt. Bei diesem Aufbau wird, selbst wenn die Unterbrechungsverschachtelung durchgeführt wird, die bestätigte Information der Unterbrechungsanfrage niedrigeren Pegeis niemals verloren.
  • Nun wird die Operation der Schaltungen unter der Annahme erklärt, daß die Unterbrechungsanfragen 3-0 bis 3-7 jeweils zu Prioritäten von (0,0), (0,1), (0,1), (1,0), (1,0), (1,1), (1,1) und (1,1) bestimmt sind.
  • Nun wird angenommen, daß die Unterbrechungsanfrage 3-5 erzeugt und bestätigt wurde. Die bestätigte Unterbrechungsprioritätsinformation 12 wird auf "0001" gebracht, so daß das Flip-Flop 604 gesetzt wird. Andererseits beginnt die CPU 2 die Unterbrechungsverarbeitung entsprechend der Unterbrechungsanfrage 3-5.
  • Wenn das Flag 700 auf "1" gesetzt wird, wird die In-Betrieb-Prioritätsinformation 51 auf "0001" gebracht. In Antwort auf diese In-Betrieb-Prioritätsinformation 51 bringt der Decodierer 500 das Ausgangssignal 503 auflogisch "0" und die In-Betrieb- Prioritätssignale 501 und 502 in einen Zustand von (1,1). Unter dieser Bedingung behält der Prioritätskomparator 204 der entsprechenden Unterbrechungs- Unterscheidungsschaltung 200-7, selbst wenn die Unterbrechungsanfrage 3-7 erzeugt wird, da die Unterbrechungsanfrage 3-7 den bestimmten Prioritätspegel von (1,1) hat, seine Ausgabe 206 auf der logischen "0" bei. Daher wird die Unterbrechungsanfrage 3-7 nicht bestätigt, und demgemäß wird sie in einem noch nicht ausgeführten Zustand aufbewahrt.
  • Andererseits bringt, wenn eine Unterbrechung mit dem bestimmten Prioritätspegel, der höher als der Prioritätspegel von (1,1) ist, beispielsweise die Unterbrechungsanfrage 3-1, erzeugt wird, der Prioritätskomparator 204 der entsprechenden Unterbrechungs-Unterscheidungsschaltung 200-1 seine Ausgabe 206 auflogisch "1". Daher wird die Unterbrechungsanfrage 3-1 bestätigt, und das Unterbrechungsverarbeitungsanfragesignal 11 zur CPU 2 wird erzeugt. In Antwort auf das Unterbrechungsverarbeitungsanfragesignal 11 unterbricht die CPU 2 die Verarbeitung für die Unterbrechungsanfrage 3-5 und speichert Daten, die zur Zeit eines Rücksprungs erforderlich sind, in einem Stapelbereich (nicht gezeigt) eines Speichers (nicht gezeigt). Danach beginnt die CPU 2 die Verarbeitung für die Unterbrechungsanfrage 3-1. Als Ergebnis wird die bestätigte Unterbrechungs-Bestimmungsinformation 12 auf "0100" gebracht, und die In-Betrieb-Prioritätsinformation 51 wird auf "0101" gebracht.Somit ändert der Decodierer 500 die In-Betrieb-Priorität 501 und 502 in einen Zustand von (0,1). Als Ergebnis wird während der Ausführung der Verarbeitung für die Unterbrechungsanfrage 3-1, wenn die Unterbrechungsanfrage 3-0 erzeugt wird, die Anfrage bestätigt, aber selbst wenn die anderen Unterbrechungsanfragen erzeugt werden, werden sie nie bestätigt.
  • Wenn die Verarbeitung für die Unterbrechungsanfrage 3-1 beendet worden ist, erzeugt die CPU 2 sofort das Verarbeitungs-Beendigungssignal 22 und springt zu den gespeicherten Daten zurück, um die Verarbeitung für die Unterbrechungsanfrage 3- 5 erneut zu beginnen. In Antwort auf das Verarbeitungs-Beendigungssignal 22 wird das Flip-Fiop 602 rückgesetzt, aber das Flip-Flop 604 wird nicht rückgesetzt. Als Ergebnis wird die In-Betrieb-Priorität zu (1,1) zurückgebracht.
  • Wie es oben angegeben ist wird, wenn das Flag 700 auf "1" gesetzt ist, die Verschachtelung für Unterbrechungsanfragen 3-5 bis 3-7, die für die Priorität von (1,1) bestimmt sind, verhindert, aber die Verschachteung für eine Unterbrechungsanfrage mit einer höheren Priorität wird zugelassen.
  • Andererseits wird, wenn die Unterbrechungsanfrage 3-5 bestätigt wird, wenn das Flag 700 in dem "0"-Zustand ist, die Q-Ausgabe des Flip-Flops 604 durch das UND- Gatter 750 maskiert, so daß die In-Betrieb-Prioritätsinformation 51 zu "0000" gebracht wird. Demgemäß wird, wenn die für dieselbe Priorität wie jene der Unterbrechungsanfrage 3-5 bestimmte Unterbrechungsanfrage 3-6 oder 3-7 erzeugt wird, die später erzeugte Unterbrechungsanfrage mit demselben Prioritätspegel bestätigt. Die CPU 2 unterbricht die Verarbeitung für die Unterbrechungsanfrage 3-5 und führt eine Verarbeitung für die später erzeugte Unterbrechungsanfrage 3-6 oder 3-7 aus. Wenn diese Verarbeitung beendet worden ist und das Beendigungssignal 22 erzeugt wird, wird das Flip-Fiop 604 rückgesetzt. Jedoch wird, da die Q-Ausgabe des Flip-Flops 604 durch das UND-Gatter 750 maskiert wird, das Rücksetzen des Flip- Flops 605 keinen Einfluß haben.
  • Wie es aus der obigen Beschreibung klar wird, wird dann, wenn das Flag 700 auf "0" gesetzt wird, die Verschachtelung zwischen den Unterbrechungsanfragen mit dem niedrigsten Prioritätspegel ermöglicht. Aber dann, wenn das Flag 700 auf "1" gesetzt wird, wird die Unterbrechungsverschachtelung gemäß der normalen Prioritätsreihenfolge ausgeführt.
  • Wendet man sich der Fig. 5 zu, ist dort ein weiteres Beispiel des In-Betrieb- Prioritätsinformationsgenerators 50 gezeigt. Bei diesem Beispiel ist das UND-Gatter 750 für das Bit-Signal 12-3 der bestätigten Prioritätsinformation 12 vorgesehen. Das UND-Gatter 750 arbeitet nämlich, um die Q-Ausgabe des Flip-Flops 604 bei dem in Fig. 3 gezeigten Beispiel zu maskieren, aber bei dem in Fig. 5 gezeigten Beispiel zum Maskieren eines gesetzten Signals, das dem Flip-Fiop 604 zugefügt werden soll. Daher arbeitet das in Fig. 5 gezeigte Beispiel im wesentlichen gleich dem Beispiel, das in Fig. 3 gezeigt ist, und kann eine Funktion ausüben, die im wesentlichen gleich der bie dem in Fig. 3 gezeigten Beispiel ist.
  • Der Prioritätspegel, bei dem die Unterbrechungsverschachtelung auf demselben Prioritätspegel ermöglicht wird, ist beim oben angegebenen Ausführungsbeispiel auf den niedrigsten Prioritätspegel (1,1) begrenzt, aber für die Verschachtelung zwischen Unterbrechungsanfragen desselben Prioritätspegels kann ein beliebiger Prioritätspegel ausgewählt werden, und zwar durch derartiges Entwickeln des Aufbaus des In-Betrieb-Prioritätsinformationsgenerators 50, daß er diese Anforderung erfüllt.
  • In Fig. 6 ist ein Beispiel des In-Betrieb-Prioritätsinformationsgenerators 50 gezeigt, der die Anforderung erfüllen kann.
  • Vier Verschachtelungs-Zulassungsflags 801 bis 804 sind entsprechend den jeweiligen vier Prioritätspegeln vorgesehen. Die Q-Ausgaben der Flip-Flops 601 bis 604 werden durch UND-Gatter 811 bis 814 jeweils auf der Basis von Information maskiert oder nicht maskiert, die in den Flags 801 bis 804 gehalten wird. Ausgänge der UND-Gatter 812, 813 und 814 sind jeweils mit ODER-Gattern 816, 817 und 188 verbunden. Diese ODER-Gatter 816, 817 und 818 sind angeschlossen, um auch eine Ausgabe der jeweiligen UND-Gatter 812, 813 und 814 zu empfangen, von denen jedes eine invertierte Information eines Flags einer genau höheren Stelle und die Q-Ausgabe eines Flip-Flops einer genau höheren Stelle empfängt.
  • Beispielsweise werden zum Zulassen der Verschachtelung zwischen Unterbrechungsanfragen des Prioritätspegels (0,0) und der Verschachtelung zwischen Unterbrechungsanfragen des Prioritätspegels (1,0) die Flags 801, 802, 803 und 804 jeweils auf "0", "1","0" und "1" gesetzt. Nun wird unter der Annahme, daß eine Unterbrechungsanfrage des Prioritätspegels (0,0) bestätigt wird, das Flip-Flop 601 gesetzt, aber die Q-Ausgabe des Flip-Flops 601 wird durch das UND-Gatter 811 maskiert. Andererseits gibt das UND-Gatter 821 die logische "1" aus, die durch das ODER-Gatter 816 als das Bit-Signal 51-1 von "1" in der In-Betrieb- Prioritätsinformation 51 zugeführt wird. Die CPU 2 führt nämlich eine Verarbeitung für die Unterbrechungsanfrage des höchsten Prioritätspegels (0,0) aus, aber der In- Betrieb-Prioritätspegel von (0,1) wird den jeweiligen Unterbrechungs- Unterscheidungsschaltungen 200 zugeführt. Demgemäß wird, wenn eine weitere für die höchste Priorität bestimmte Unterbrechungsanfrage erzeugt wird, diese bestätigt. Natürlich wird, wenn gerade eine Unterbrechungsverarbeitung für eine Unterbrechungsanfrage des Prioritätspegels (1,0) ausgeführt wird, wenn eine für die höchste Priorität bestimmte Unterbrechungsanfrage erzeugt wird, diese bestätigt.
  • Bei dem oben angegebenen Ausführungsbeispiel wird während einer Ausführung der Unterbrechungsverarbeitung für die Unterbrechungsanfrage, wenn eine weitere für denselben Prioritätspegel bestimmte Unterbrechungsanfrage erzeugt wird, diese bestätigt, und eine entsprechende Verarbeitung wird ausgeführt. In dieser Situation sollte, selbst wenn die Unterbrechungsverarbeitung für die spätere Unterbrechungsanfrage desselben Prioritätspegels beendet wird, das Flip-Flop 601 nicht rückgesetzt werden, weil die unterbrochene Verarbeitung für die frühere Unterbrechungsanfrage des Prioritätspegels (0,0) noch nicht beendet worden ist. Zu diesem Zweck sind ein UND-Gatter 831, ein Aufwärts-/Abwärtszähler 841 und ein Zahl-"1"- Detektor 851 für den höchsten Prioritätspegel vorgesehen, und eine Ausgabe des Detektors 851 wird einem UND-Gatter 861 zum Rücksetzen zugeführt. Ein zweiter Eingang des UND-Gatters 861 ist angeschlossen, um das Unterbrechungsverarbeitungs-Beendigungssignal 22 zu empfangen, und ein Ausgang des UND-Gatters 861 ist an einen Rücksetzanschluß R des Flip-Flops 601 angeschlossen.
  • Der Aufwärts-/Abwärtszähler 841 hat einen Aufwärtsanschluß U, der angeschlossen ist, um das Bit-Signal 12-0 der bestätigten Unterbrechungsprioritätsinformation 12 zu empfangen, und einen Abwärtsanschluß D, der an einen Ausgang des UND- Gatters 831 angeschlossen ist, das wiederum die Q-Ausgabe des Flip-Flops 601 und das Unterbrechungsverarbeitungs-Beendigungssignal 22 empfängt. Der Detektor 851 arbeitet, um zu erfassen, ob der Zahlenwert des Zählers 841 "1" ist oder nicht, und um eine Ausgabe von logisch "1" zu erzeugen, wenn der Zahlenwert "1" des Zählers 841 erfaßt wird.
  • Daher wird bei der obigen Beschreibung, wenn die Unterbrechungsverarbeitung für die zuletzt erzeugte Unterbrechungsanfrage desselben Prioritätspegels beendet und das Unterbrechungsverarbeitungs-Beendigungssignal 22 erzeugt wird, der Zahlenwert des Zählers 841 "2", und daher wird die Ausgabe des Detektors 851 "0". Das bedeutet, daß das Flip-Flop 601 nicht rückgesetzt wird. Nachdem die unterbrochene Verarbeitung erneut begonnen worden ist, wird dann, wenn die erneut begonnene Verarbeitung beendet ist, der Zahlenwert des Zählers 841 auf "1" gebracht. Zu dieser Zeit wird das Flip-Flop 601 rückgesetzt. Aus gleichen Gründen sind UND-Gatter 832 und 833, Aufwärts-/Abwärts-Zähler 842 und 843 und Zahl-"1"-Detektoren 852 und 853 jeweils für die Flip-Flops 602 und 603 vorgesehen.
  • Die oben angegebenen Ausführungsbeispiele sind aufgebaut, um ein Zulassen und ein Verhindern der Verschachtelung für eine zweite Unterbrechungsanfrage desselben Prioritätspegels während der Ausführung der Unterbrechungsverarbeitung des ausgewählten Prioritätspegels zu steuern. Jedoch ist es möglich, die Verschachtelung für eine zweite Unterbrechungsanfrage desselben Prioritätspegels während der Ausführung der Unterbrechungsverarbeitung irgendeines beliebigen Prioritätspegels ungeachtet des Prioritätspegels der gerade ausgeführten Unterbrechungsverarbeitung zu steuern. Ein weiteres Ausführungsbeispiel für diesen Zweck ist in Fig. 7 gezeigt.
  • Bei diesem Ausführungsbeispiel ist ein Verschachtelungs-Zulassungsflag 900 in der Verschachtelungssteuerung 10 vorgesehen und ein Ausgang 901 des Flags 900 ist gemeinsam an den Prioritätskomparator 204 der Unterbrechungs- Unterscheidungsschaltungen 200-0 bis 200-7 angeschlossen. Nämlich jeder Prioritätskomparator 204 antwortet nicht nur auf die bestimmte Priorität (PR1, PR0) des Prioritäts-Bestimmungsregisters 205 und den In-Betrieb-Prioritätspegel (501, 502), sondern auch auf die Ausgabe 901 des Verschachtelungs-Zulassungsflags 900, so daß er das Vergleichsergebnis erzeugt, wie es in Fig. 9 gezeigt ist.
  • Wenn das Verschachtelungs-Zulassungsflag 900 auf "1" gesetzt ist, um die Flag- Information 901 von "1" auszugeben, erzeugt jeder Prioritätskomparator 204 die Ausgabe 206 von logisch "1" nur dann, wenn die bestimmte Priorität (PR1, PR0) des Prioritäts-Bestimmungsregisters 205 höher als der In-Betrieb-Prioritätspegel (501, 502) ist, was genauso wie beim oben angegebenen Ausführungsbeispiel ist. Andererseits erzeugt, wenn das Verschachtelungs-Zulassungsflag 900 auf "0" gesetzt ist, jeder Prioritätskomparator 204 die Ausgabe 206 von logisch "1" nicht nur dann, wenn die bestimmte Priorität (PR1, PR0) des Prioritäts-Bestimmungsregisters 205 höher als der In-Betrieb-Prioritätspegel (501, 502) ist, sondern auch dann, wenn die bestimmte Priorität (PR1, PR0) des Prioritäts-Bestimmungsregisters 205 gleich dem In-Betrieb-Prioritätspegel (501, 502) ist.
  • Somit wird, welchen Prioritätspegel die gerade ausgeführte Verarbeitung auch immer hat, wenn eine zweite Unterbrechungsanfrage mit demselben Prioritätspegel wie jenem der gerade ausgeführten Unterbrechungsverarbeitung erzeugt wird, die zweite Unterbrechungsanfrage bestätigt, wenn das Verschachtelungs- Zulassungsflag 900 "0" ist, und eine Verarbeitung für die zweite Unterbrechungsanfrage wird ausgeführt. Natürlich wird dann, wenn eine zweite Unterbrechungsanfrage des Prioritätspegels erzeugt wird, der höher als jener der gerade ausgeführten Unterbrechungsverarbeitung ist, die zweite Unterbrechungsanfrage bestätigt, aber die Unterbrechungsanfrage mit einem niedrigeren Prioritätspegel wird aufbewahrt. Wenn das Verschachtelungs-Zulassungsflag 900 "1" ist, wird nur eine Unterbrechungsanfrage des Prioritätspegels bestätigt, der höher als jener der gerade ausgeführten Unterbrechungsverarbeitung ist.
  • Bei diesem Ausführungsbeispiel kann der In-Betrieb-Prioritätsinformationsgenerator 50 aufgebaut sein, wie es in Fig. 8 gezeigt ist. Wie es aus einem Vergleich zwischen den Fig. 6 und 8 zu sehen ist, enthält der in Fig. 8 gezeigte In-Betrieb- Prioritätsinformationsgenerator 50 kein Verschachtelungs-Zulassungsflag und zugehörige Gatter, sondern enthält zusätzlich eine Flip-Flop-Rücksetzsteuerschaltung, die für das Flip-Flop 604 vorgesehen ist und die ein UND-Gatter 834, einen Aufwärts-/Abwärts-Zähler 844 und einen Zahl-"1 "-Detektor 854 aufweist.
  • In dem in Fig. 8 gezeigten In-Betrieb-Prioritätsinformationsgenerator 50 ist es möglich, das Zulassungsflag 900 für jede der Unterbrechungs- Unterscheidungsschaltungen 200 vorzusehen, was genauso wie bei dem in Fig. 6 gezeigten Beispiel ist. Bei diesem abgeänderten Beispiel ist es möglich, die Verschachtelungssteuerung für Unterbrechungsanfragen derselben Priorität für jede der Unterbrechungen 3-0 bis 3-7 auszuwählen.
  • Wie es aus dem Obigen erkannt wird, kann die Unterbrechungssteuerung gemäß der vorliegenden Erfindung die Unterbrechungsverschachtelung nicht nur für eine Unterbrechungsanfrage eines höheren Prioritätspegels ausführen, sondern auch für eine Unterbrechungsanfrage desselben Prioritätspegels. Daher kann die Unterbrechungssteuerung gemäß der vorliegenden Erfindung die Leistungsfähigkeit und Funktion aufgebauter Systeme erhöhen.
  • Die Erfindung ist somit unter Bezugnahme auf die bestimmten Ausführungsbeispiele gezeigt und beschrieben worden. Anstelle eines Verwendens der Aufwärts-/Abwärts-Zähler in den in den Fig. 6 und 8 gezeigten In-Betrieb- Prioritätsinformationsgeneratoren ist es möglich, das Verarbeitungs- Beendigungssignal 22 zu maskieren, wenn die Verarbeitung der durch die Verschachtelung mit demselben Prioritätspegel verursachten Unterbrechung beendet ist. Zusätzlich ist es möglich, die Anzahl der Unterbrechungsanfragen und die Anzahl der Prioritätspegel zu verändern oder zu modifizieren.

Claims (3)

1.Unterbrechungssteuerung, die folgendes aufweist: eine Einrichtung zum Halten einer Prioritätsinformation, die durch Bestimmen einer Priorität erhalten wird, die aus einer Vielzahl von Prioritäten für jede einer Vielzahl von Unterbrechungsanfragen ausgewählt wird, ein Flag zum Anzeigen, ob eine Verschachtelung für eine Unterbrechungsanfrage zugelassen wird oder nicht, die wenigstens eine vorbestimmte Priorität der Vielzahl von Prioritäten aufweist, und eine Steuereinrichtung, die auf der Basis der in der Einrichtung gehaltenen Prioritätsinformation und einer in dem Flag gehaltenen Information derart arbeitet, daß dann, wenn während eines Ausführens einer Unterbrechungsverarbeitung mit der vorbestimmten Priorität eine Unterbrechungsanfrage erzeugt wird, wenn die in dem Flag gehaltene Information in einem ersten Zustand ist, die Steuereinrichtung die erzeugte Unterbrechungsanfrage nur bestätigt, wenn die Priorität der erzeugten Unterbrechungsanfrage höher als die vorbestimmte Priorität ist, und wenn die in dem Flag gehaltene Information in einem zweiten Zustand ist, die Steuereinrichtung die erzeugte Unterbrechungsanfrage nicht nur bestätigt, wenn die Priorität der erzeugten Unterbrechungsanfrage höher als die vorbestimmte Priorität ist, sondern auch, wenn die Priorität der erzeugten Unterbrechungsanfrage dieselbe wie die vorbestimmte Priorität ist.
2. Unterbrechungssteuerung nach Anspruch 1, wobei die Steuereinrichtung eine Einrichtung zum Erzeugen einer In-Betrieb-Prioritätsinformation enthält, die eine für die gerade ausgeführte Unterbrechungsverarbeitung bestimmte Priorität anzeigt, eine Einrichtung zum Ändern eines Inhalts der In-Betrieb- Prioritätsinformation, um eine Priorität anzuzeigen, die niedriger als die vorbestimmte Priorität ist, wenn die für die gerade ausgeführte Unterbrechungsverarbeitung bestimmte Priorität die vorbestimmte Priorität ist und wenn die in dem Flag gehaltene Information in dem zweiten Zustand ist, und eine Einrichtung zum Bestätigen der während einer Ausführung der Unterbrechungsverarbeitung erzeugten Unterbrechungsanfrage, wenn die während einer Ausführung der Unterbrechungsverarbeitung erzeugte Unterbrechungsanfrage höher als die Priorität ist, die durch die In-Betrieb-Prioritätsinformation angezeigt wird.
3. Unterbrechungssteuerung nach Anspruch 1, wobei die Steuereinrichtung eine Einrichtung zum Erzeugen einer In-Betrieb-Prioritätsinformation enthält, die eine für die gerade ausgeführte Unterbrechungsverarbeitung bestimmte Priorität anzeigt, eine Einrichtung zum Vergleichen der während einer Ausführung der Unterbrechungsverarbeitung erzeugten Unterbrechungsanfrage mit der Priorität, die durch die In-Betrieb-Prioritätsinformation angezeigt wird, und eine Einrichtung zum Bestätigen der erzeugten Unterbrechungsanfrage, wenn ein von der Vergleichseinrichtung ausgegebenes Vergleichsergebnis auf einem ersten Pegel ist, und zum Nichtbestätigen der erzeugten Unterbrechungsanfrage, wenn das von der Vergleichseinrichtung ausgegebene Vergleichsergebnis auf einem zweiten Pegel ist, wobei die Vergleichseinrichtung derart arbeitet, daß dann, wenn die in dem Flag gehaltene Information in dem ersten Zustand ist, die Vergleichseinrichtung arbeitet, um das Vergleichsergebnis nur auf den ersten Pegel zu bringen, wenn die während einer Ausführung der Unterbrechungsverarbeitung erzeugte Unterbrechungsanfrage höher als die Priorität ist, die durch die In-Betrieb-Prioritätsinformation angezeigt wird, und wenn die in dem Flag gehaltene Information in dem zweiten Zustand ist, die Vergleichseinrichtung arbeitet, um das Vergleichsergebnis nicht nur auf den ersten Pegel zu bringen, wenn die während einer Ausführung der Unterbrechungsverarbeitung erzeugte Unterbrechungsanfrage höher als die Priorität ist, die durch die In-Betrieb-Prioritätsinformation angezeigt wird, sondern auch, wenn die während einer Ausführung der Unterbrechungsverarbeitung erzeugte Unterbrechungsanfrage dieselbe wie die Priorität ist, die durch die In-Betrieb- Prioritätsinformation angezeigt wird.
DE69114321T 1990-02-20 1991-02-20 Zum Durchführen der Unterbrechungsverschachtelungsfunktion geeignetes Unterbrechungssteuerungsgerät. Expired - Fee Related DE69114321T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP4014490 1990-02-20
JP4608590 1990-02-26

Publications (2)

Publication Number Publication Date
DE69114321D1 DE69114321D1 (de) 1995-12-14
DE69114321T2 true DE69114321T2 (de) 1996-07-18

Family

ID=26379581

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69114321T Expired - Fee Related DE69114321T2 (de) 1990-02-20 1991-02-20 Zum Durchführen der Unterbrechungsverschachtelungsfunktion geeignetes Unterbrechungssteuerungsgerät.

Country Status (3)

Country Link
US (1) US5410715A (de)
EP (1) EP0443557B1 (de)
DE (1) DE69114321T2 (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06161779A (ja) * 1992-11-17 1994-06-10 Fujitsu Ltd データ処理装置の割込み制御方式
EP0672278B1 (de) * 1993-03-25 1996-05-22 Taligent, Inc. Mehrstufiges unterbrechungssystem
US5745770A (en) * 1993-12-27 1998-04-28 Intel Corporation Method and apparatus for servicing simultaneous I/O trap and debug traps in a microprocessor
GB2303949B (en) * 1994-06-15 1999-07-14 Intel Corp Computer system with peripheral control functions integrated into host CPU
KR0156173B1 (ko) * 1995-11-21 1998-11-16 문정환 인터럽트 발생회로
US5850558A (en) * 1995-12-19 1998-12-15 Advanced Micro Devices System and method for referencing interrupt request information in a programmable interrupt controller
US5737240A (en) * 1996-01-25 1998-04-07 International Business Machines Corporation Programmable hardware mailbox message technique and system
US6021446A (en) * 1997-07-11 2000-02-01 Sun Microsystems, Inc. Network device driver performing initial packet processing within high priority hardware interrupt service routine and then finishing processing within low priority software interrupt service routine
IT1308343B1 (it) * 1999-02-03 2001-12-11 St Microelectronics Srl Procedimento per arbitrare priorita' di interruzione tra periferichein un sistema basato su microprocessore
DE10063936A1 (de) * 2000-12-20 2002-06-27 Thomson Brandt Gmbh Interrupt Controller für einen Mikroprozessor
US7328294B2 (en) * 2001-12-03 2008-02-05 Sun Microsystems, Inc. Methods and apparatus for distributing interrupts
US20030204655A1 (en) * 2002-04-24 2003-10-30 Schmisseur Mark A. Prioritizing vector generation in interrupt controllers
US7043582B2 (en) * 2002-09-06 2006-05-09 Intel Corporation Self-nesting interrupts
WO2004114132A1 (ja) * 2003-06-20 2004-12-29 Fujitsu Limited 割り込み制御方法、割り込み制御装置及び割り込み制御プログラム
US8108375B2 (en) * 2003-10-30 2012-01-31 International Business Machines Corporation Processing database queries by returning results of a first query to subsequent queries
US20050097083A1 (en) * 2003-10-30 2005-05-05 International Business Machines Corporation Apparatus and method for processing database queries
US7206884B2 (en) * 2004-02-11 2007-04-17 Arm Limited Interrupt priority control within a nested interrupt system
US7607133B2 (en) * 2004-02-11 2009-10-20 Arm Limited Interrupt processing control
JP2005242806A (ja) * 2004-02-27 2005-09-08 Renesas Technology Corp データ処理装置
JP5508903B2 (ja) * 2010-03-05 2014-06-04 ルネサスエレクトロニクス株式会社 情報処理装置、半導体集積回路装置および異常検出方法
US20160378698A1 (en) * 2015-06-26 2016-12-29 Intel IP Corporation Instruction and logic for real-time behavior of interrupts
CN113986789B (zh) * 2021-09-19 2024-04-23 山东云海国创云计算装备产业创新中心有限公司 一种防止中断丢失的方法和中断控制器

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4398244A (en) * 1980-05-07 1983-08-09 Fairchild Camera & Instrument Corporation Interruptible microprogram sequencing unit and microprogrammed apparatus utilizing same
US4488227A (en) * 1982-12-03 1984-12-11 Honeywell Information Systems Inc. Program counter stacking method and apparatus for nested subroutines and interrupts
JPH0792782B2 (ja) * 1985-09-30 1995-10-09 富士通株式会社 処理実行システム
US4792890A (en) * 1985-12-31 1988-12-20 International Business Machines Corp. Method for resolving conflicts between interrupt sources sharing the same priority level
US5050067A (en) * 1987-08-20 1991-09-17 Davin Computer Corporation Multiple sliding register stacks in a computer

Also Published As

Publication number Publication date
EP0443557B1 (de) 1995-11-08
EP0443557A2 (de) 1991-08-28
US5410715A (en) 1995-04-25
EP0443557A3 (en) 1991-11-13
DE69114321D1 (de) 1995-12-14

Similar Documents

Publication Publication Date Title
DE69114321T2 (de) Zum Durchführen der Unterbrechungsverschachtelungsfunktion geeignetes Unterbrechungssteuerungsgerät.
EP0010198B1 (de) Vorrichtung zur Steuerung des Seitenaustausches in einem Datenverarbeitungssystem mit virtuellem Speicher
DE3751164T2 (de) Datenprozessor mit verschiedenen Unterbrechungsverarbeitungsarten.
DE69714472T2 (de) Verfahren zum überprüfen eines integrierten speichers mit hilfe einer integrierten dma-schaltung
DE3783370T2 (de) Schaltung zur blockierungsverhinderung von hochprioritaetsanforderungen an eine systemsteuerung.
DE69023018T2 (de) Prozessor-Unterbrechungssteuerung.
DE2847216C2 (de) Datenverarbeitungsanlage mit Mehrprogrammbetrieb
DE60224774T2 (de) Datenverarbeitungssystem mit Lese-, Änderungs- und Schreibeinheit
DE2744531A1 (de) Elektronische datenverarbeitungsanlage
DE68915074T2 (de) Integrierte Zeitgeberschaltung mit mehreren Kanälen und zugeordnetem Bedienungsprozessor.
DE2611907A1 (de) Dv-system mit einer prioritaets- unterbrechungs-anordnung
DE69228090T2 (de) Datenverarbeitungs-System und -Verfahren mit sperrbaren Speichergebieten
DE68920929T2 (de) Zeitgeberkanal mit mehreren Zeitgeberreferenzmerkmalen.
DE68919018T2 (de) Zeitgeberkanal mit Übereinstimmungserkennungsmerkmalen.
DE2657848A1 (de) Steuereinheit fuer ein datenverarbeitungssystem
DE68922545T2 (de) Zugeordneter Dienstprozessor mit Übertragungsmöglichkeiten zwischen Kanälen.
DE2722124A1 (de) Anordnung zum feststellen des prioritaetsranges in einem dv-system
DE3750045T2 (de) Unterbrechungssteuerungsvorrichtung für eine virtuelle Maschine mit einer Vielzahl von Verarbeitungseinheiten.
EP0062141B1 (de) Schaltungsanordnung zur Eingabe von Steuerbefehlen in ein Mikrocomputersystem
DE2611975A1 (de) Dv-system mit einer einrichtung zur zuordnung von prozessen zu einem prozessor auf einer prioritaetsbasis
EP0799441B1 (de) Verfahren zur steuerung von technischen vorgängen
DE2064383B2 (de) Datenverarbeitungsanlage mit mehreren zentralen Verarbeitungseinrichtungen
DE69017367T2 (de) Schaltung zur Prüfbarkeit.
DE202004021684U1 (de) Einrichtungen und Vorrichtungen zur Verwendung bei einem Scheduling
DE3852261T2 (de) Prioritätszugriffssteuerungssystem zum Hauptspeicher für Rechner.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: NEC ELECTRONICS CORP., KAWASAKI, KANAGAWA, JP

8339 Ceased/non-payment of the annual fee