DE69118833T2 - Unterbrechungssteuerung - Google Patents

Unterbrechungssteuerung

Info

Publication number
DE69118833T2
DE69118833T2 DE69118833T DE69118833T DE69118833T2 DE 69118833 T2 DE69118833 T2 DE 69118833T2 DE 69118833 T DE69118833 T DE 69118833T DE 69118833 T DE69118833 T DE 69118833T DE 69118833 T2 DE69118833 T2 DE 69118833T2
Authority
DE
Germany
Prior art keywords
signal
interrupt request
interrupt
output
brought
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
DE69118833T
Other languages
English (en)
Other versions
DE69118833D1 (de
Inventor
Yukihiro Nishiguchi
Tadashi Shibuya
Tomikazu Suzuki
Yasufumi Takamine
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
Priority claimed from JP2297475A external-priority patent/JP2567988B2/ja
Priority claimed from JP2411473A external-priority patent/JP2702291B2/ja
Priority claimed from JP2411472A external-priority patent/JP2702290B2/ja
Priority claimed from JP3012911A external-priority patent/JPH04235635A/ja
Application filed by NEC Corp, Nippon Electric Co Ltd filed Critical NEC Corp
Application granted granted Critical
Publication of DE69118833D1 publication Critical patent/DE69118833D1/de
Publication of DE69118833T2 publication Critical patent/DE69118833T2/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
    • 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

Landscapes

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

Description

    Hintergrund der Erfindung Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft eine Unterbrechungssteuerung, und insbesondere eine Unterbrechungssteuerung zur Verwendung in einem Mikrocomputer, die die bevorzugte Reihenfolge oder den Prioritätspegel zum Unterbrechen von Anfragen bestimmen kann.
  • Beschreibung des zugehörigen Standes der Technik
  • Ein Mikrocomputer enthält eine Unterbrechungssteuerung zum Verarbeiten verschiedener Unterbrechungsanfragen. Eine typische herkömmliche Unterbrechungssteuerung enthält einen Abtastzähler, der eine gegebene Anzahl von Prioritätspegeln aufeinanderfolgend abtastet, um eine derartige Prioritätspegel- Unterbrechungssteuerung zu realisieren, daß dann, wenn gerade eine Unterbrechungsverarbeitung mit niedrigem Prioritätspegel ausgeführt wird, durch Unterbrechen eine weitere Unterbrechungsverarbeitung mit hohem Prioritätspegel ausgeführt werden kann, aber dann, wenn gerade eine Unterbrechungsverarbeitung mit hohem Prioritätspegel ausgeführt wird, keine weitere Unterbrechungsverarbeitung mit niedrigerem Prioritätspegel ausgeführt werden kann.
  • Jedoch wird bei der herkömmlichen Unterbrechungssteuerung, da die Prioritätspegel vom Abtastzähler aufeinanderfolgend abgetastet werden, die Zeit für einen Abtastoperations-Zyklus um so länger, je größer die Anzahl von Prioritätspegeln ist. Bei letzten hochentwickelten Mikrocomputern ist die Anzahl von Unterbrechungs- Anfragesignalen groß, und die Anzahl von Prioritätspegeln wird auch groß, um eine leistungsfähige Steuerung zu realisieren. Als Ergebnis wird eine maximale Zeit ab dem Moment, zu dem ein Unterbrechungssignal erzeugt wird, bis zu dem Moment, zu dem das Unterbrechungssignal bestätigt wird, lang. Dies ist nicht für Mikrocomputer geeignet, die für eine Echtzeitsteuerung geeignet sind.
  • Zusammenfassung der Erfindung
  • Demgemäß ist es eine Aufgabe der vorliegenden Erfindung, eine Unterbrechungssteuerung zu schaffen, die den oben angegebenen Nachteil der herkömmlichen überwindet.
  • Es ist eine weitere Aufgabe der vorliegenden Erfindung, eine Unterbrechungssteuerung zu schaffen, die verschiedene Prioritätspegel von Unterbrechungsanfragen selbst dann mit hoher Geschwindigkeit steuern kann, wenn die Anzahl von Prioritätspegeln größer geworden ist.
  • Die obigen und andere Aufgaben der vorliegenden Erfindung werden gemäß der vorliegenden Unterbrechung durch eine Unterbrechungssteuerung gelöst, die folgendes aufweist: eine Vielzahl von n-Bit-Prioritätsbit-Registern zum Zuordnen von &sub2;n Prioritätspegeln zu einer Vielzahl von Unterbrechungs-Anfragesignalen (wobei n eine ganze Zahl nicht kleiner als 2 ist), einen Stufenzähler zum sequentiellen und wiederholten Erzeugen von (n+1) Zeitgabesignalen, die zum Abtasten der Prioritätspegel der Unterbrechungs-Anfragesignale verwendet werden, ein Register für einen Prioritätspegel während einer Ausführung zum Speichern des Inhalts des Prioritätsbit-Registers des Unterbrechungs-Anfragesignals entsprechend einer gerade ausgeführten Unterbrechungsverarbeitung, eine Unterbrechungs- Anfragesignal-Steuereinrichtung zum Vergleichen des Inhalts des Registers für einen Prioritätspegel während einer Ausführung mit Inhalten der Prioritätsbit-Register der gerade erzeugten Unterbrechungs-Anfragesignale einschließlich des Prioritätsbit-Registers des Unterbrechungs-Anfragesignals entsprechend der gerade ausgeführten Unterbrechungsverarbeitung synchron zu den "n" Zeitgabesignalen in der Reihenfolge des Bits an der höchsten Stelle zum Bit an der niedrigsten Stelle, wobei die Unterbrechungs-Anfragesignal-Steuereinrichtung arbeitet, um ein Unterbrechungs-Anfragesignal mit dem Bit höchster Priorität aus den gerade erzeugten Unterbrechungs-Anfragesignalen zu erfassen, wobei die Unterbrechungs- Anfragesignal-Steuereinrichtung auch derart arbeitet, daß dann, wenn eine Vielzahl von Unterbrechungs-Anfragesignalen mit dem Bit höchster Priorität erfaßt werden, die Unterbrechungs-Anfragesignal-Steuereinrichtung ein Unterbrechungs- Anfragesignal gemäß einer vorbestimmten Reihenfolge synchron zu einem Zeitgabesignal auswählt, das den "n" Zeitgabesignalen folgt, und eine Einrichtung zum Erzeugen eines Unterbrechungsverarbeitungs-Anfragesignals, wenn die Unterbrechungs-Anfragesignal-Steuereinrichtung ein Unterbrechungs-Anfragesignal mit dem höchsten Prioritätspegel erfaßt.
  • Die obigen und andere Aufgaben, 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 typischen herkömmlichen Mikrocomputers;
  • Fig. 2 ist ein Blockdiagramm eines typischen herkömmlichen Beispiels der Unterbrechungssteuerung, die im in Fig. 1 gezeigten Mikrocomputer eingebaut ist;
  • Fig. 3 ist ein Zeitdiagramm, das eine Operation der in Fig. 2 gezeigten Unterbrechungssteuerung darstellt;
  • Fig. 4 ist ein Blockdiagramm eines ersten Ausführungsbeispiels der Unterbrechungssteuerung gemäß der vorliegenden Erfindung;
  • Fig. 5 ist ein logisches Schaltungsdiagramm des bei der in Fig. 4 gezeigten Unterbrechungssteuerung verwendeten Stufenzählers;
  • Fig. 6 ist ein logisches Schaltungsdiagramm der Unterbrechungs- Anfragesignal-Steuerung, die bei der in Fig. 4 gezeigten Unterbrechungssteuerung verwendet wird;
  • Fig. 7 ist ein logisches Schaltungsdiagramm der Bestätigungs- Unterbrechungs-Anfragesignal-Steuerung, die bei der in Fig. 4 gezeigten Unterbrechungssteuerung verwendet wird;
  • Fig. 8 ist ein Zeitdiagramm zum Darstellen der Operation der in Fig. 4 gezeigten Unterbrechungssteuerung;
  • Fig. 9 ist ein Blockdiagramm eines zweiten Ausführungsbeispiels der Unterbrechungssteuerung gemäß der vorliegenden Erfindung;
  • Fig. 10 ist ein logisches Schaltungsdiagramm des Stufenzählers, der bei der in Fig. 9 gezeigten Unterbrechungssteuerung verwendet wird;
  • Fig. 11 ist ein logisches Schaltungsdiagramm der Unterbrechungs- Anfragesignal-Steuerung, die bei der in Fig. 9 gezeigten Unterbrechungssteuerung verwendet wird;
  • Fig. 12 ist ein logisches Schaltungsdiagramm der Betätigungs- Unterbrechungs-Anfragesignal-Steuerung, die bei der in Fig. 9 gezeigten Unterbrechungssteuerung verwendet wird;
  • Fig. 13 ist ein Blockdiagramm eines dritten Ausführungsbeispiels der Unterbrechungssteuerung gemäß der vorliegenden Erfindung;
  • Fig. 14 ist ein logisches Schaltungsdiagramm des Stufenzählers, der bei der in Fig. 13 gezeigten Unterbrechungssteuerung verwendet wird;
  • Fig. 15 ist ein logisches Schaltungsdiagramm der Sperrverhinderungs- Unterbrechungs-Anfragesignal-Steuerung, die bei der in Fig. 13 gezegiten Unterbrechungssteuerung verwendet wird;
  • Fig. 16 ist ein Zeitdiagramm zum Darstellen der Operation der in Fig. 13 gezeigten Unterbrechungssteuerung;
  • Fig. 17 ist ein Blockdiagramm eines vierten Ausführungsbeispiels der Unterbrechungssteuerung gemäß der vorliegenden Erfindung;
  • Fig. 18 ist ein logisches Schaltungsdiagramm des Stufenzählers, der bei der in Fig. 17 gezeigten Unterbrechungssteuerung verwendet wird;
  • Fig. 19 ist ein logisches Schaltungsdiagramm der Sperrverhinderungs- Unterbrechungs-Anfragesignal-Steuerung, die bei der in Fig. 17 gezeigten Unterbrechungssteuerung verwendet wird;
  • Fig. 20 ist ein Blockdiagramm eines fünften Ausführungsbeispiels der Unterbrechungssteuerung gemäß der vorliegenden Erfindung;
  • Fig. 21 ist ein logisches Schaltungsdiagramm des Stufenzählers, der bei der in Fig. 20 gezeigten Unterbrechungssteuerung verwendet wird;
  • Fig. 22 ist ein logisches Schaltungsdiagramm der Unterbrechungs- Anfragesignal-Steuerung, die bei der in Fig. 20 gezeigten Unterbrechungssteuerung verwendet wird;
  • Fig. 23 ist ein logisches Schaltungsdiagramm der Bestätigungs- Unterbrechungs-Anfragesignal-Steuerung, die bei der in Fig. 20 gezeigten Unterbrechungssteuerung verwendet wird;
  • Fig. 24 ist ein Zeitdiagramm zum Darstellen der Operation der in Fig. 20 gezeigten Unterbrechungssteuerung;
  • Fig. 25 ist ein Blockdiagramm eines sechsten Ausführungsbeispiels der Unterbrechungssteuerung gemäß der vorliegenden Erfindung;
  • Fig. 26 ist ein logisches Schaltungsdiagramm des Stufenzählers, der bei der in Fig. 25 gezeigten Unterbrechungssteuerung verwendet wird;
  • Fig. 27 ist ein logisches Schaltungsdiagramm der Unterbrechungs- Anfragesignal-Steuerung, die bei der in Fig. 25 gezeigten Unterbrechungssteuerung verwendet wird;
  • Fig. 28 ist ein logisches Schaltungsdiagramm der Bestätigungs- Unterbrechungs-Anfragesignal-Steuerung, die bei der in Fig. 25 gezeigten Unterbrechungssteuerung verwendet wird;
  • Fig. 29 ist ein Diagramm eines siebten Ausführungsbeispiels der Unterbrechungssteuerung gemäß der vorliegenden Erfindung;
  • Fig. 30 ist ein logisches Schaltungsdiagramm des Stufenzählers, der bei der in Fig. 29 gezeigten Unterbrechungssteuerung verwendet wird;
  • Fig. 31 ist ein logisches Schaltungsdiagramm der Unterbrechungs- Anfragesignal-Steuerung, die bei der in Fig. 29 gezeigten Unterbrechungssteuerung verwendet wird;
  • Fig. 32 ist ein logisches Schaltungsdiagramm der Bestätigungs- Unterbrechungs-Anfragesignal-Steuerung, die bei der in Fig. 29 gezeigten Unterbrechungssteuerung verwendet wird;
  • Fig. 33 ist ein Zeitdiagramm zum Darstellen der Operation der in Fig. 29 gezeigten Unterbrechungssteuerung;
  • Fig. 34 ist ein Blockdiagramm eines achsten Ausführungsbeispiels der Unterbrechungssteuerung gemäß der vorliegenden Erfindung;
  • Fig. 35 ist ein logisches Schaltungsdiagramm des Stufenzählers, der bei der in Fig. 34 gezeigten Unterbrechungssteuerung verwendet wird;
  • Fig. 36 ist ein logisches Schaltungsdiagramm der Unterbrechungs- Anfragesignal-Steuerung, die bei der in Fig. 34 gezeigten Unterbrechungssteuerung verwendet wird; und
  • Fig. 37 ist ein logisches Schaltungsdiagramm der Bestätigungs- Unterbrechungs-Anfragesignal-Steuerung, die bei der in Fig. 34 gezeigten Unterbrechungssteuerung verwendet wird.
  • Beschreibung der bevorzugten Ausführungsbeispiele
  • In Fig. 1 ist ein Blockdiagramm eines typischen herkömmlichen Mikrocomputers gezeigt. Der gezeigte Mikrocomputer enthält eine CPU (zentrale Verarbeitungseinheit) 100, einen Speicherblock 200, eine Unterbrechungssteuerung 300 und einen peripheren Funktionsblock 400, die miteinander durch einen internen Datenbus und andere Signalleitungen und Busse gekoppelt sind. Ein Befehl wird aus einem Programmspeicher innerhalb des Speicherblocks 200 ausgelesen und durch die CPU 100 ausgeführt. Andererseits wird der periphere Funktionsblock 400 derart gesteuert, daß er durch den internen Datenbus auf die CPU 100 zugreift, um Daten zur CPU zu schreiben und um Daten aus der CPU zu lesen. Jedoch arbeitet der periphere Funktionsblock 400 unabhängig von der CPU 10.
  • Der periphere Funktionsblock 400 enthält verschiedene Funktionen, wie beispielsweise einen Zeitgeber, eine serielle Schnittstelle, etc. Wenn der periphere Funktionsblock 400 einen speziellen Zustand erfaßt, wie beispielsweise dann, wenn der Zeitgeber einen bestimmten Wert erreicht, oder dann, wenn ein Empfang serieller Daten beendet worden ist, erzeugt der periphere Funktionsblock 400 ein Unterbrechungs-Anfragesignal INT, um die CPU 100 über eine Erzeugung des speziellen Zustandes zu informieren.
  • Das Unterbrechungs-Anfragesignal INT wird der Unterbrechungssteuerung 300 zugeführt. Die Unterbrechungssteuerung 300 untersucht, ob zugelassen wird, daß die empfangene Unterbrechungsanfrage zur CPU 100 gesendet wird (Unterbrechungsfreigabe), oder nicht, ob eine weitere Unterbrechungsanfrage existiert oder nicht, und die bevorzugte Reihenfolge (den Prioritätspegel) der empfangenen Unterbrechungsanfrage. Wenn eine erforderliche Bedingung erfüllt ist, überträgt die Unterbrechungssteuerung 300 die Unterbrechungsanfrage zur CPU 100; d.h. sie gibt ein Unterbrechungsverarbeitungs-Anfragesignal INTRQ zur CPU 100 aus.
  • Wenn die CPU 100 das Unterbrechungsverarbeitungs-Anfragesignal INTRQ empfängt, gibt die CPU verschiedene Steuersignale CNT mit einem Signal, das anzeigt, daß die Unterbrechungsanfrage bestätigt ist, zur Unterbrechungssteuerung 300 aus. Zusätzlich unterbricht die CPU, die die Unterbrechungsanfrage bestätigt hat, eine gerade ausgeführte Verarbeitung und beginnt eine Verarbeitung entsprechend dem Unterbrechungs-Anfragesignal INT auszuführen, nämlich für eine periphere Funktionseinheit, die das Unterbrechungs-Anfragesignal INT erzeugt.
  • Hier wird die bevorzugte Reihenfolge des Unterbrechungs-Anfragesignals INT beschrieben. In dem Fall, daß es eine Vielzahl von Unterbrechungs-Anfragesignalen INT gibt, werden diese Unterbrechungs-Anfragesignale aufgeteilt in ein Unterbrechungs-Anfragesignal INT, das ein dringendes Ausführen einer Unterbrechungsverarbeitung anfordert (dies wird hierin nachfolgend "dringende Unterbrechungsanfrage" genannt), und in eine weitere Unterbrechungsanfrage INT, für die zugelassen ist, daß sie später verarbeitet wird (diese wird hierin nachfolgend "gewöhnliche Unterbrechungsanfrage" gennant). Wenn die dringende Unterbrechungsanfrage erzeugt wird, wenn gerade eine Verarbeitung für eine gewöhnliche Unterbrechungsanfrage ausgeführt wird, ist es erforderlich, daß eine Verarbeitung für eine dringende Unterbrechungsanfrage gegenüber der Verarbeitung für die ausgeführte gewöhnliche Unterbrechungsanfrage bevorzugt ausgeführt wird, durch Unterbrechen oder Trennen der Verarbeitung für die gerade verarbeitete gewöhnliche Unterbrechungsanfrage.
  • Daher ist es nötig, jeder Unterbrechungsanfrage INT einen unterschiedlichen Prioritätspegel zu geben. In diesem Fall muß die Steuerung mit der Auswirkung durchgeführt werden, daß eine Verarbeitung für eine Unterbrechungsanfrage, der ein hoher Prioritätspegel zugeordnet ist, durch Unterbrechen oder Nicht-Fortführen der Ausführung einer Verarbeitung für eine Unterbrechungsanfrage ausgeführt wird, der ein niedriger Prioritätspegel zugeordnet ist, wenn gerade die Verarbeitung für die Unterbrechungsanfrage mit niedrigen Prioritätspegeln ausgeführt wird. Die oben angegebene Prioritätspegelsteuerung wird in der Unterbrechungssteuerung 300 ausgeführt.
  • In Fig. 2 ist ein Blockdiagramm eines typischen herkömmlichen Beispiels der Unterbrechungssteuerung 300 gezeigt. Bei dem gezeigten Beispiel ist der Prioritätspegel in vier Pegel aufgeteilt.
  • In Fig. 2 bezeichnen INT0, INT1, INT2 und INT3 verschiedene Unterbrechungs- Anfragesignale, die jeweils vom peripheren Funktionsblock 400 zugeführt werden. Die Unterbrechungs-Anfragesignale INT0, INT1, INT2 und INT3 werden jeweiligen Unterbrechungs-Anfragesignal-Steuerungen 3I, 3J, 3K und 3L zugeführt. Da die Unterbrechungs-Anfragesignal-Steuerungen 3I, 3J, 3K und 3L denselben Aufbau haben, wird im folgenden nur die Unterbrechungs-Anfragesignal-Steuerung 31 beschrieben.
  • Wenn eine Unterbrechungsanfrage erzeugt wird und das Unterbrechungs- Anfragesignal INT0 auf "1" gebracht wird, wird ein Unterbrechungsanfrage- Flagregister 32 auf "1" gesetzt. Die CPU 100 bestimmt eine Adresse der Unterbrechungs-Anfragesignal-Steuerung 31 durch einen internen Adressenbus AD und gibt Daten zum internen Datenbus 1 aus und erzeugt ein Schreibsignal WE. In Antwort auf diese Signale bringt eine Schreibsignal-Steuerung 8 ihre Ausgabe WS1 auf "1", so daß entsprechende Datenstücke, die von der CPU 100 ausgegeben werden, vom internen Datenbus 1 zu einem Maskenbit-Register 31 und zu Prioritätsbit- Registern 33A bw. 33B geschrieben werden.
  • Wenn ein Inhalt des Maskenbit-Registers 31 "1" ist, wird eine Ausgabe eines AND- Gatters AG11 durch einen Inverter IV7 auf "0" festgehalten. Andererseits wird dann, wenn der Inhalt des Maskenbit-Registers 31 "0" ist, die Ausgabe des AND-Gatters AG11 durch ein Unterbrechungs-Freigabesignal EI und einen Inhalt des Unterbrechungsanfrage-Flagregisters 32 bestimmt. Wenn das Unterbrechungs- Freigabesignal EI "1" ist, wird die Unterbrechungsverarbeitung freigegeben oder zugelassen.
  • Die Prioritätsbit-Register 33A und 33B bilden Bits, die einen Prioritätspegel des Unterbrechungs-Anfragesignals INT0 bestimmen. Die Prioritätsbits aus zwei Bits können vier Prioritätspegel von "0", "1", "2" und "3" bestimmen. "0" zeigt den höchsten Prioritätspegel und "3" zeigt den niedrigsten Prioritätspegel. Das Prioritätsbit- Register 33A entspricht einem Bit an einer hohen Stelle und das Prioritätsbit- Register 33B entspricht einem Bit an einer niedrigen Stelle.
  • Ein Komparator 36 vergleicht unaufhörlich eine Ausgabe eines Abtastzählers 10 mit dem Inhalt der Prioritätsbit-Register 33A und 33B. Wenn eine Übereinstimmung erzielt wird, bringt der Komparator 36 seine Ausgabe EQ auf "1". Daher wird dann, wenn der Inhalt des Maskenbit-Registers 31 "0" ist und das Unterbrechungs- Freigabesignal EI "1" ist, wenn das Unterbrechungs-Anfragesignal INT0 auf "1" gebracht ist und wenn die Ausgabe EQ des Komparators 36 auf "1" gebracht ist, eine Ausgabe RA eines AND-Gatters AG35 auf "1" gebracht, und daher wird eine Ausgabe eines OR-Gatters OG1 auf "1" gebracht.
  • CLK bezeichnet einen Zeittakt und wird direkt und über einen Inverter IV31 einer (Zwischen-)Speicherschaltung 9A zugeführt. Die (Zwischen-)Speicherschaltung 9A speichert die Ausgabe des OR-Gatters OG1 in einer Zeit von "1" des Zeittaktes CLK (zwischen) und gibt ihren Inhalt in einer Zeit von "0" des Zeittaktes CLK aus.
  • Der Abtastzähler 10 tastet die Prioritätspegel ab. Insbesondere erzeugt der Abtastzähler 10 aufeinanderfolgend und zyklisch ein Paar von Abtastsignalen SC1 und SC2, so daß die Prioritätspegel im Normalfall aufeinanderfolgend zyklisch in der Reihenfolge von "0" T "1" T "2" T "3" T "0"... abgetastet werden. Jedoch dann, wenn der Inhalt des Abtastzählers 10 mit einer Ausgabe ISPR0 eines Registers für einen gerade ausgeführten Prioritätspegel 7B übereinstimmt, wird der Abtastzähler 10 gelöscht und beginnt seine Zähloperation erneut von "0" aus. Wenn der Inhalt des Registers für einen gerade ausgeführten Prioritätspegel 7B "2" ist, tastet der Abtastzähler 10 in der Reihenfolge von "0" T "1" T "2" T "0"... aufeinanderfolgend und zyklisch ab. Andererseits hält der Abtastzähler 10 dann, wenn die Ausgabe des OR-Gatters OG1 "1" ist, seine Zähloperation an und hält daher seinen Zählinhalt.
  • Das Register für einen gerade ausgeführten Prioritätspegel 7B hält den Prioritätspegel einer Unterbrechungsanfrage entsprechend einer Unterbrechungsverarbeitung, die gerade durch die CPU 100 ausgeführt wird. Wenn ein Signal OEVC (das eines der Steuersignale CNT ist, die durch die CPU 100 erzeugt werden) "1" ist, liest das Register für einen gerade ausgeführten Prioritätspegel 7B die Ausgaben SC1 und SC2 des Abtastzählers 10. Zu dieser Zeit wird der Inhalt des Registers für einen gerade ausgeführten Prioritätspegel 7B, der im Register für einen gerade ausgeführten Prioritätspegel 7B gespeichert worden ist, im Register für einen gerade ausgeführten Prioritätspegel 7B gehalten, aber ein höherer Prioritätspegel, der im Register für einen gerade ausgeführten Prioritätspegel 7B gespeichert ist, und der vom Register für einen gerade ausgeführten Prioritätspegel 7B neu ausgelesene Prioritätspegel wird als Ausgabe ISPR0 des Registers für einen gerade ausgeführten Prioritätspegel 7B ausgegeben.
  • Wenn das Signal OEVC ausgegeben wird, wenn die Ausgabe des AND-Gatters AG35 der Unterbrechungs-Anfragesignal-Steuerungen 3I bis 3L auf "1" gebracht wird, wird eine entsprechende Unterbrechungsvektoradresse von einer Vektoradressentabelle 5 über einen Ausgangspuffer 6 zum internen Datenbus 1 ausgelesen. Die CPU 100 untersucht die Art des Unterbrechungs-Anfragesignals auf der Basis der Unterbrechungsvektoradresse.
  • Wenn ein Signal CLRIF, das eines der Steuersignale CNT der CPU 100 ist, auf "1" gebracht wird, wird eine Ausgabe einer AND-Schaltung AG 34 auf "1" gebracht, und daher wird das Unterbrechungsanfrage-Flagregister 32 auf "0" rückgesetzt Übrigens wird ein Rücksetzsignal RESET zum Initialisieren der Unterbrechungssteuerung 300 verwendet. Wenn das Rücksetzsignal RESET auf "1" gebracht wird, wird das Unterbrechungsanfrage-Flagregister 32 auf "0" gebracht, und das Maskenbit- Register 31 wird auf "1" gebracht. Die Prioritätsbit-Register 33A und 33B werden auf "1,1" gebracht, und das Register für einen gerade ausgeführten Prioritätspegel 7B wird in einen Zustand initialisiert, in dem keine Unterbrechungsverarbeitung ausgeführt wird.
  • Nun wird eine Operation unter Bezugnahme auf das Zeitdiagramm der Fig. 3 erklärt, und zwar unter der Annahme, daß das Maskenbit-Register 31 der vier Unterbrechungs-Anfragesignal-Steuerungen 31, 3J, 3K und 3L (die jeweils den Unterbrechungs-Anfragesignalen INT0, INT1, INT2 und INT3 entsprechen) jeweils auf "0", "0", "0" und "0" gesetzt sind und daß die Prioritätsbit-Register 33A und 33B der vier Unterbrechungs-Anfragesignal-Steuerungen 3I, 3J, 3K und 3L jeweils auf "1, 0" (Prioritätspegel "2"), "1, 0" (Prioritätspegel "2"), "0, 0" (Prioritätspegel "0") und "0,1" (Prioritätspegel "1") gesetzt sind.
  • In Fig. 3 erzeugt dann, wenn das Unterbrechungs-Anfragesignal INT0 zu einer Zeit des Taktes T2 erzeugt wird, da die Ausgaben SC1 und SC2 des Abtastzählers 10 zur Zeit T4 den Prioritätspegel "2" zeigen, der Komparator 36 das Koinzidenzsignal EQ von "1", und die Ausgabe RA des AND-Gatters AG 35 wird auf "1" gebracht. Als Ergebnis wird die Ausgabe des OR-Gatters OG1 auf "1" gebracht, und daher wird der Inhalt des Abtastzählers 10 beim Pegel "2" angehalten. Zur Zeit T5 wird das Unterbrechungsverarbeitungs-Anfragesig nal INTRQ auf "1" gebracht. Die Unterbrechungsanfrage INT0 wird nämlich bestätigt, und die Unterbrechungsverarbeitung wird bei der CPU 100 angefordert. In Übereinstimmung mit dem Unterbrechungsverarbeitungs-Anfragesignal INTRQ bringt die CPU 100 das Signal OEVC zur Zeit T6 auf "1". Zur Zeit T7 zeigt die Ausgabe ISPR0 des Registers für einen gerade ausgeführten Prioritätspegel 7B den Prioritätspegel "2".
  • Hier wird dann, wenn die CPU 100 das Signal CLRIF auf "1" bringt, der Inhalt des Unterbrechungsanfrage-Flagregisters 32 gelöscht. Demgemäß werden die Ausgaben der AND-Gatter AG11 und AG35 auf "0" gebracht, und die Ausgabe des OR- Gatters OG1 wird auch auf "0" gebracht. Als Ergebnis wird, da zur Zeit T8 der Inhalt des Abtastzählers 10 mit der Ausgabe ISPR0 des Registers für einen gerade ausgeführten Prioritätspegel 7B übereinstimmt, der Abtastzähler gelöscht, und er beginnt die Abtastoperation erneut vom Prioritätspegel "0" aus.
  • Zur Zeit T10 wird dann, wenn das Unterbrechungs-Anfragesignal INT2 erzeugt wird, da zur Zeit T11 die Ausgaben SC1 und SC2 des Abtastzählers 10 mit dem Inhalt der Prioritätsbit-Register 33A und 33B in der Unterbrechungs-Anfragesignal- Steuerung 3K übereinstimmen, das Unterbrechungsverarbeitungs-Anfragesignal INTRQ auf "1" gebracht, und daher wird die Unterbrechungsanfrage INT2 des Prioritätspegels "0" bestätigt. Als Ergebnis wird der Inhalt des Abtastzählers 10 nach der Zeit T11 auf "0" fixiert.
  • Danach erzeugt selbst dann, wenn das Unterbrechungs-Anfragesignal INT3 zur Zeit T14 erzeugt wird, da der Inhalt des Abtastzählers 10 "0" ist, der Komparator 36 in der Unterbrechungs-Anfragesignal-Steuerung 3L kein Koinzidenzsignal EQ, und daher wird nicht bestätigt, daß das Unterbrechungs-Anfragesignal INT3 (Prioritätspegel "3") einen Prioritätspegel hat, der niedriger als jener des Unterbrechungs-Anfragesignals INT2 (Prioritätspegel "3") ist, für welchen die Verarbeitung gegenwärtig ausgeführt wird.
  • Wenn die Unterbrechungsverarbeitung beendet ist, erzeugt die CPU 100 das Signal CLRIP. Wenn die CPU 100 zur Zeit T15 CLRIP auf "1" bringt, setzt das Register für einen gerade ausgeführten Prioritätspegel 7B zur Zeit T16 den Prioritätspegel "0" zurück, der gegenwärtig zum Abtastzähler 10 ausgegeben wird, und gibt den Prioritätspegel "2" genau vor dem Prioritätspegel "2" aus. Als Ergebnis tastet der Abtastzähler 10 wieder aufeinanderfolgend in der Reihenfolge von "0" T "1" T "2" T "0" T ... ab.
  • Wie es aus dem Obigen zu sehen ist, ist die herkömmliche Unterbrechungssteuerung derart, daß der Abtastzähler 10 die Prioritätspegel für die Unterbrechungs- Prioritätspegelsteuerung aufeinanderfolgend abtastet, so daß dann, wenn gerade eine Unterbrechungsverarbeitung mit niedrigem Prioritätspegel ausgeführt wird, durch eine Unterbrechung eine weitere Unterbrechungsverarbeitung mit hohem Prioritätspegel ausgeführt werden kann. Jedoch dann, wenn gerade eine Unterbrechungsverarbeitung mit hohem Prioritätspegel ausgeführt wird, kann keine weitere Unterbrechungsverarbeitung mit niedrigem Prioritätspegel ausgeführt werden.
  • Jedoch wird bei der herkömmlicen Unterbrechungssteuerung, da die Prioritätspegel aufeinanderfolgend abgetastet werden, die Zeit für einen Zyklus der Abtastoperation um so länger, je größer die Anzahl von Prioritätspegeln ist. Bei in letzter Zeit entwickelten Mikrocomputern ist die Anzahl von Unterbrechungs-Anfragesignalen groß, und die Anzahl von Prioritätspegeln wird ebenso groß, wie beispielsweise 8 bis 16, um eine leistungsfähige Steuerung zu realisieren. Wenn der Prioritätspegel auf acht Pegel aufgeteilt wird, sind acht Zeittakte erforderlich, bis ein Zyklus der Abtastoperation beendet wird. In diesem Fall erfordert eine Zeit ab dem Moment, zu dem das Unterbrechungssignal erzeugt wird, bis zu dem Moment, zu dem das Unterbrechungssignal bestätigt wird, maximal 16 Zeittakte. Diese Zeit wird hierin nachfolgend "Reaktionszeit" genannt. Demgemäß wird die oben angegebene herkömmliche Unterbrechungssteuerung für Mikrocomputer ungeeignet, die für eine Echtzeitsteuerung geeignet sind, da die Reaktionszeit lang ist.
  • Ausführungsbeispiel 1
  • In Fig. 4 ist ein Blockdiagramm eines ersten Ausführungsbeispiels der Unterbrechungssteuerung gemäß der vorliegenden Erfindung gezeigt. In Fig. 4 sind Elemente, die gleich jenen sind, die in den Fig. 1 bis 3 gezeigt sind, die gleichen Bezugszeichen zugeordnet, und deren Erklärung wird weggelassen. Das bedeutet, daß nur Teile erklärt werden, die unterschiedlich von der herkömmlichen Unterbrechungssteuerung sind.
  • In Fig. 4 erzeugt ein Stufenzähler 2 für eine Zeitsteuerung ein Zeitsignal STG1, STG2, STG3 und STG0 zum Abtasten des Prioritätspegels einer Unterbrechungsanfrage.
  • Ein Register für einen gerade ausgeführten Prioritätspegel 7 liest den Prioritätspegel, der von einer Unterbrechungs-Anfragesignal-Steuerung 3A bis 3D ausgegeben wird, zur Zeit von "1" des Signals OEVC und gibt ein Paar von Ausgangssignalen ISPR1 und ISPR0 synchron zu einem Zeittakt CLK aus, der neben dem Signal OEVC auftritt. Das Paar von Ausgangssignalen ISPR1 und ISPR0 wird durch Codieren des höchsten Prioritätspegels der im Register für einen gerade ausgeführten Prioritätspegel 7 gespeicherten Prioritätspegel erhalten. Zusätzlich bringt dann, wenn kein Unterbrechungssignal bestätigt wird, das Register für einen gerade ausgeführten Prioritätspegel ein Signal ENISPR auf "0". Wenn andererseits ein Prioritätspegel im Register für einen gerade ausgeführten Prioritätspegel 7 gespeichert ist, wird das Signal ENISPR auf "1" gebracht. Zusätzlich arbeitet das Register für einen gerade ausgeführten Prioritätspegel 7 zum Antworten auf ein Signal CLRIP, um einen aktuellen Prioritätspegel zu löschen und einen Prioritätspegel genau vor dem aktuellen Prioritätspegel auszugeben. Hier hat das Signal ISPR1 eine Gewichtung von "2", und das Signal ISPR0 hat eine Gewichtung von "1".
  • Eine (Zwischen-)Speicherschaltung 9 speichert die Ausgabe des OR-Gatters OG1 (zwischen), wenn das Zeitsignal STG3 "1" ist und der Zeittakt CLK "0" ist, und gelangt dazu, die (zwischen-)gespeicherten Daten in Antwort auf den nächsten Zeittakt auszugeben, so daß die Ausgabe der (Zwischen-)Speicherschaltung 9 über ein AND-Gatter AG2 als Unterbrechungsverarbeitungs-Anfragesignal INTRQ zur Zeit von "1" des Zeitsignals STG0 ausgegeben wird. Die (Zwischen-)Speicherschaltung 9 wird durch ein Rücksetzsignal RESET und ein Signal CLRIF rückgesetzt
  • Drei P-Kanal-MOS-Transistoren Q1 bis Q3 werden leitend gemacht, wenn eine Ausgabe eines Inverters IV1 "0" wird, d.h. wenn der Zeittakt CLK "1" ist, so daß ein Signal SLPRH, ein Signal CM1 und ein Signal CM2 jeweils auf eine Versorgungsspannung von VDD, nämlich auf "1", gebracht werden. Eine Signalleitung für jedes der Signale, nämlich das Signal SLPRH, das Signal CM1 und das Signal CM2, ist an einen Kondensator (nicht gezeigt) angeschlossen, der während jeder Periode auf "1" vorgeladen wird, in der der Takt "1" ist. Das Signal SLPRH ist ein Vektorunterbrechungs-Anfragesignal, und das Signal CM1 und das Signal CM2 sind Unterbrechungs-Prioritätspegel-Entscheidungssignale.
  • Ein Ausgangssignal CMOT der Unterbrechungs-Anfragesignal-Steuerung 3D wird als Eingangssignal CMIN zur Unterbrechungs-Anfragesignal-Steuerung 3C geführt, und ein Ausgangssignal CMOT der Unterbrechungs-Anfragesignal-Steuerung 3C wird als Eingangssignal CMIN zur Unterbrechungs-Anfragesignal-Steuerung 3B geführt. Gleichermaßen wird ein Ausgangssignal CMOT der Unterbrechungs- Anfragesignal-Steurung 3B als Eingangssignal CMIN zur Unterbrechungs- Anfragesignal-Steuerung 3A geführt, und ein Ausgangssignal CMOT der Unterbrechungs-Anfragesignal-Steuerung 3A wird als Eingangssignal CMIN zur Bestätigungs-Unterbrechungsanfragesteuerung 4 geführt.
  • In Fig. 5 ist ein logisches Schaltungsdiagramm des Stufenzählers 2 gezeigt.
  • In einem Anfangszustand wird dann, wenn das Rücksetzsignal RESET auf "1" gebracht wird, eine (Zwischen-)Speicherschaltung L1 zur Zeit von "0" des Zeittaktes CLK auf "1" initialisiert, und gleichermaßen werden (Zwischen-)Speicherschaltungen L3 und L5 auf "0" initialisiert, und ein (Zwischen-)Speicher vom RS-Typ L7 wird auf "0" initialisiert. Demgemäß wird zur Zeit von "1" eines nächsten Zeittaktes CLK eine (Zwischen-)Speicherschaltung L2 auf "1" gebracht, und (Zwischen-)Speicherschaltungen L4 und L6 werden auf "0" gebracht.
  • Wenn der nächste Zeittakt CLK "0" wird, wird das Zeitsignal STG1 von einem AND- Gatter AGB ausgegeben. Wenn das Rücksetzsignal RESET auf "0" gebracht wird, wird die Ausgabe "1" der (Zwischen-)Speicherschaltung L2 über ein AND-Gatter AG3 in die (Zwischen-)Speicherschaltung L3 (zwischen-)gespeichert, wenn der Zeittakt CLK "0" ist.
  • Gleichermaßen wird dann, wenn der Zeittakt CLK "1" ist, die Ausgabe der (Zwischen-)Speicherschaitung L3 in die (Zwischen-)Speicherschaltung L4 (zwischen-)gespeichert, so daß die (Zwischen-)Speicherschaltung L4 auf "1" gebracht wird, was über ein AND-Gatter AG4 in die (Zwischen-)Speicherschaltung L5 (zwischen-)gespeichert wird, wenn der Zeittakt CLK "0" ist.
  • Hier wird unter der Annahme, daß das Signal CLRIF "0" ist und das Signal SLPRH "0" ist, eine Ausgabe eines Inverters IV5 "1", und eine Ausgabe eines Inverters IV6 wird "0", so daß die (Zwischen-)Speicherschaltung L7 auf "0" gehalten wird. Daher werden die Ausgaben der AND-Gatter AG6 und AG7 "0", und die Ausgabe des OR- Gatters OG5 wird "0", so daß dann, wenn der Zeittakt CLK "0" wird, die Ausgabe "0" des OR-Gatters OG5 über das OR-Gatter OG3 in die (Zwischen-)Speicherschaltung L1 (zwischen-)gespeichert wird.
  • Als nächstes wird dann, wenn der Zeittakt CLK auf "1" gebracht wird, die (Zwischen-)Speicherschaltung L2 auf "0" gebracht, und die (Zwischen-)Speicherschaltung L4 wird auf "1" gebracht. Wenn der Zeittakt CLK "0" wird, wird das Zeitsignal STG2 auf "1" gebracht.
  • Wenn ein nächster Zeittakt CLK "0" ist, wird die (Zwischen-)Speicherschaltung L5 auf "1" gebracht, und wenn der Zeittakt CLK als nächstes auf "1" gebracht wird, wird die (Zwischen-)Speicherschaltung L5 auf "0" gebracht, und die (Zwischen-)Speicherschaltung L6 wird auf "1" gebracht. Wenn der Zeittakt CLK "0" wird, wird das Zeitsignal STG3 auf "1" gebracht.
  • Wenn das Signal SLPRH "0" ist, wird die (Zwischen-)Speicherschaltung L7 keineswegs auf "1" gebracht, und "1" und "0" werden aufeinanderfolgend und zyklisch durch die (Zwischen-)Speicherschaltungen L1 und L2, die (Zwischen-)Speicherschaltungen L3 und L4 und die (Zwischen-)Speicherschaltung L5 und L6 übertragen, so daß die Zeitsignale STG1, STG2 und STG3 aufeinanderfolgend erzeugt werden.
  • Andererseits wird dann, wenn das Signal SLPRH "1" ist, die Ausgabe des Inverters IV6 auf "1" gebracht. Daher wird dann, wenn die Ausgabe der (Zwischen-)Speicherschaltung L6 "1" ist, die (Zwischen-)Speicherschaltung L7 auf "1" gesetzt, wenn der Zeittakt CLK "0" ist.
  • Wenn der Zeittakt CLK "1" wird, wird eine (Zwischen-)Speicherschaltung L8 auf "1" gebracht, so daß das Zeitsignal STG0 ausgegeben wird.
  • Wenn das Signal SLPRH "1" ist, da die Ausgabe der AND-Schaltung AG6 "0" wird, wird die Ausgabe des OR-Gatters OG5 auf "0" gebracht. Daher wird kein Zeitsignal STG1 erzeugt, bis das Signal CLRIF auf "1" gebracht ist.
  • Danach wird, wenn das Signal CLRIF auf "1" gebracht ist, die Ausgabe des AND- Gatters AG7 "1". Demgemäß wird dann, wenn der Zeittakt CLK "0" wird, die (Zwischen-)Speicherschaltung L1 auf "0" gebracht. Andererseits wird dann, wenn das Signal CLRIF auf "1" gebracht wird, da die Ausgabe des OR-Gatters OG4 auf "1" gebracht ist, die (Zwischen-)Speicherschaltung L7 rückgesetzt. Demgemäß wird das Zeitsignal STG1 nach dem Zeitsignal STG0 erzeugt.
  • In Fig. 6 ist ein logisches Schaltungsdiagramm der Unterbrechungs-Anfragesignal- Steuerung 3A gezeigt. Da die Unterbrechungs-Anfragesignal-Steuerungen 3A bis 3D denselben Aufbau haben, ist nur die Unterbrechungs-Anfragesignal-Steuerung 3A gezeigt.
  • Wenn das Unterbrechungs-Anfragesignal INT0 eingegeben wird, wenn der Inhalt des Maskenbit-Registers 31 "0" ist und das Unterbrechungs-Freigabesignal EI "1" ist, wird die Ausgabe des AND-Gatters AG11 auf "1" gebracht.
  • Das Prioritätsbit-Register 33A hat eine Gewichtung von "2" und das Prioritätsbit- Register 33B hat eine Gewichtung von "1". Wenn das Prioritätsbit-Register 33A "0" ist, ist die Ausgabe des Inverters IV8 "1".
  • Wenn das Zeitsignal STG1 auf "1" gebracht wird, wird die Ausgabe des AND- Gatters AG12 zur Zeit von "0" des Zeittaktes CLK auf "1" gebracht, so daß ein N- Kanal-Tranistor Q4 eingeschaltet wird, um das Signal CM1 auf "0" zu bringen.
  • Wie es oben angegeben ist, ist das Signal CM1 durch Vorladen auf "1" gebracht worden, wenn der Zeittakt CLK "1" ist. Jedoch dann, wenn die Ausgabe des AND- Gatters AG12 "1" wird, wird das Signal CM1 auf "1" gebracht. Gleichzeitig wird ein (Zwischen-)Speicher vom RS-Typ 34 über ein OR-Gatter OG 7 und ein AND-Gatter AG13 auf "1" gebracht.
  • Als nächstes wird dann, wenn der Zeittakt CLK auf "1" gebracht wird, eine (Zwischen-)Speicherschaltung 35 auf "1" gebracht. Wenn das Zeitsignal STG3 auf "1" gebracht wird, wird eine Ausgabe eines AND-Gatters AG17 auf "1" gebracht. Als Ergebnis wird eine Ausgabe eines Inverters IV14 auf "0" gebracht, und daher wird ein N-Kanal-MOS-Transistor Q8 nichtleitend gemacht. Daher ist das Eingangssignal CMIN, das durch einen eingeschalteten P-Kanal-MOS-Transistor Q7 vorgeladen worden ist, wenn ein vorangehender Zeittakt CLK "0" war, "1". Andererseits wird dann, wenn das Ausgangssignal CMOT, das über die Bestätigungs- Unterbrechungsanfragesteuerung 4 auf Erde gelegt wird, "0" ist, eine Ausgabe eines Inverters IN15 auf "1" gebracht. Demgemäß wird eine Ausgabe eines AND- Gatters AG18 auf "1" gebracht, und daher wird das Signal RA ausgegeben.
  • Wenn das Prioritätsbit-Register 33B "0" ist und die (Zwischen-)Speicherschaltung 35 "1" ist, wenn das Zeitsignal STG2 "1" wird, wird eine Ausgabe eines AND- Gatters AG14 zur Zeit von "0" des Zeittaktes CLK auf "1" gebracht. Daher wird ein N-Kanal-MOS-Transistor Q5 eingeschaltet, um das Signal CM2 auf "0" zu bringen. Wie es oben angegeben ist, ist das Signal CM2 durch Vorladen auf "1" gebracht worden, wenn der Zeittakt CLK "1" ist. Jedoch dann, wenn die Ausgabe des AND- Gatters AG14 "1" wird, wird das Signal CM2 auf "0" gebracht.
  • Eine Ausgabe eines AND-Gatters AG15 wird auf "1" gebracht, wenn das Prioritätsbit-Register 33B "1", das Signal CM2 "0" und das Zeitsignal STG2 "1" ist. Eine Ausgabe eines AND-Gatters AG16 wird zur Zeit von "0" des Zeittaktes CLK auf "1" gebracht, wenn das Signal RA "0", "0" und das Zeitsignal STG3 "1" ist. Wenn die Ausgabe des AND-Gatters AG15 "1" ist, oder wenn das Rücksetzsignal RESET "1" ist, oder wenn das Signal CLRIF "1" ist, oder wenn die Ausgabe des AND-Gatters AG16, wird eine Ausgabe eines OR-Gatters OG8 auf "1" gebracht. Danach wird dann, wenn ein nächster Zeittakt CLK "0" wird, die RS- (Zwischen-)Speicherschaltung 34 auf "0" zurückgesetzt.
  • Wenn die Ausgabe des OR-Gatters OG8 "0" ist, wird eine Ausgabe eines Inverters IV11 auf "1" gebracht. Wenn die Ausgabe der (Zwischen-)Speicherschaltung 35 "1" ist und das Zeitsignal STG3 "1" ist, wird eine Ausgabe einer NAND-Schaltung NAG1 als "0" ausgegeben, so daß ein N-Kanal-MOS-Transistor Q6 ausgeschaltet wird.
  • Daher wird das Signal SLPRH auf "1" gebracht. Wenn die Ausgabe der (Zwischen-)Speicherschaltung 35 "1" ist und wenn die Zeitsignale STG1, STG2 und STG3 "0" sind, nämlich dann, wenn das Zeitsignal STG0 "1" ist, wird die Ausgabe des AND-Gatters AG19 auf "1" gebracht, so daß die Ausgaben der Prioritätsbit- Register 33A und 33B über Ausgangspuffer B1 und B2 als Signale PR1 und PR0 ausgelesen werden.
  • In Fig. 7 ist ein logisches Schaltungsdiagramm der Bestätigungs-Unterbrechungs- Anfragesignal-Steuerung 4 gezeigt. In Fig. 7 arbeiten Elemente, die jenen entsprechen, die in Fig. 6 gezeigt sind, auf ähnliche Weise, und daher wird deren Erklärung weggelassen.
  • Die in Fig. 7 gezeigte Schaltung ist von der in Fig. 6 gezeigten Schaltung in folgenden Punkten unterschiedlich: Die Ausgabe der AND-Schaltung AG11, die in Fig. 6 gezeigt ist, ist das Signal ENISPR, und die Ausgaben der Prioritätsbit-Register 33A und 33B sind durch die Signale INPR1 und ISPR0 ersetzt. Zusätzlich sind die AND- Schaltungen AG20, AG19, AG17, AG18 und AG16, die NAND-Schaltung NAG1, Die N-Kanal-MOS-Transistoren Q6 und Q8, der P-Kanal-MOS-Transistor Q7, die Inverter IV11, IV14, IV15, IV16, IV13 und das NOR-Gatter NOG1 weggelassen. Das Signal RA ist weggelassen. Daher ist die in Fig. 7 gezeigte Schaltung in anderen Punkten dieselbe wie die in Fig. 6 gezeigte Schaltung. Demgemäß entsprechen ein RS-(Zwischen-)Speicher 41 und ein (Zwischen-)Speicher 42 jeweils dem RS- (Zwischen-)Speicher 34 und dem (Zwischen-)Speicher 45. AND-Gatter AG21, AG22, AG23, AG24, AG25, AG26 und AG27 entsprechen den AND-Gattern AG12, AG13, AG14, AG15, AG17, AG16 und AG18. Ein OR-Gatter OG10 entspricht dem OR-Gatter OG8, und Inverter IV17, IV18, IV19, IV20, IV21, IV22, IV23 und IV24 entsprechen jeweils den Invertern IV8, IV9, IV10, IV12, IV14, IV15, IV13 und IV16. N-Kanal-MOS-Transistoren Q9, Q10 und Q11 und ein P-Kanal-Transistor Q12 entsprechen jeweils den N-Kanal-MOS-Transistoren Q4, Q5 und Q8 und dem P-Kanal- Transistor Q7.
  • Nun wird eine Operation des ersten Ausführungsbeispiels der Unterbrechungssteuerung unter Bezugnahme auf Fig. 8 erklärt, die das Zeitdiagramm zum Darstellen der Operation der Unterbrechungssteuerung zeigt.
  • Hier ist wie bei der Operation des herkömmlichen Beispiels angenommen, daß das Maskenbit-Register 31 der vier Unterbrechungs-Anfragesignal-Steuerungen 3A, 3B, 3C und 3D (die den jeweiligen Unterbrechungs-Anfragesignalen INT0, INT1, INT2 und INT3 entsprechen) jeweils auf "0", "0", "0" und "0" gesetzt ist, und daß die Prioritätsbit-Register 33A und 33B der vier Unterbrechungs-Anfragesignal- Steuerungen 3A, 3B, 3C und 3D jeweils auf "1, 0" (Prioritätspegel "2"), "1, 0" (Prioritätspegel "2"), "0, 0" (Prioritätspegel "0") und "0,1" (Prioritätspegel "1") gesetzt sind. Zusätzlich ist das Signal EI "1".
  • Die Zeitsignale STG1, STG2, STG3 werden aufeinanderfolgend durch abwechselndes Wiederholen von "1" und "0" ausgegeben. Zur Zeit T3 wird das Unterbrechungs-Anfragesignal INT1 auf "1" gebracht und der Inhalt des Unterbrechungsanfrage-Flagregisters 32 wird auf "1" gebracht. Zu dieser Zeit wird, da noch kein Unterbrechungs-Anfragesignal bestätigt worden ist und das Ausgangssignal ENISPR des Registers für einen gerade ausgeführten Prioritätspegel 7 "0" ist, die Ausgabe des AND-Gatters AG21 der Bestätigungs-Unterbrechungsanfragesteuerung 4 auf "0" gehalten. Gleichermaßen wird die Ausgabe des AND-Gatters AG12 in den Unterbrechungs-Anfragesignal-Steuerungen 3A, 3C und 3D jeweils auf "0", "0" bzw. "0" gehalten. Daher wird das Signal CM1 auf "1" gehalten.
  • Als Ergebnis wird der RS-(Zwischen-)Speicher 34 zur Zeit T4 auf "1" gebracht, wenn der Zeittakt CLK "0" ist.
  • Zur Zeit T6 wird die Ausgabe der (Zwischen-)Speicherschaltung 35 auf "1" gebracht, und dann, wenn das Zeitsignal STG3 auf "1" gebracht wird, wird die Ausgabe des AND-Gatters AG17 auf "1" gebracht, so daß das in einem genau vorangehenden Zeittakt CLK auf "1" vorgeladene Eingangssignal CMIN durch den ausgeschalteten MOS-Transistor Q8 isoliert wird. Da die Ausgaben der Inverter IV21 und IV14 der Bestätigungs-Unterbrechungsanfragesteuerung 4 und der Unterbrechungs-Anfragesignal-Steuerung 3A "1" sind, werden die Eingaben der Inverter IV22 und IV15 geerdet, und daher werden die Ausgaben der Inverter IV22 und IV15 auf "1" gebracht. Andererseits wird das Eingangssignal CMIN auf "1" vorgeladen. Daher wird die Ausgabe des AND-Gatters AG18 auf "1" gebracht. Das Signal RA wird nämlich auf "1" gebracht. Da das Prioritätsbit-Register 33B "1" ist, wird die Ausgabe des AND-Gatters AG14 "0", und daher wird das Signal CM2 "1". Da das Signal CM2 "1" ist und die Ausgabe des Inverters IV12 "0" ist, ist die Ausgabe des AND-Gatters AG15 "0", und daher wird die RS-(Zwischen-)Speicherschaltung 34 nicht rückgesetzt. Da das Signal RA, das dem Unterbrechungs-Anfragesignal INT1 entspricht, "1" ist, wenn der Zeittakt CLK "0" wird, wird die (Zwischen-)Speicherschaltung 9 auf "1" gebracht. Zusätzlich wird dann, wenn das Zeitsignal STG3 "1" wird, die Ausgabe des NAND-Gatters NAG1 auf "0" gebracht, und daher wird das Signal SLPRH auf "1" gehalten.
  • Als Ergebnis wird zur Zeit T7 das Zeitsignal STG0 erzeugt. Da das Zeitsignal STG0 "1" ist und die Ausgabe der (Zwischen-)Speicherschaltung 9 "1" wird, wird das Unterbrechungsverarbeitungs-Anfragesignal 1 NTRQ "1", so daß die Unterbrechungsverarbeitung zur CPU 100 erforderlich ist.
  • Wenn das Signal OEVC von der CPU 100 zur Zeit T9 ausgegeben wird, wird eine Vektoradresse, die dem Unterbrechungs-Anfragesignal INT1 entspricht, über den Ausgangspuffer 6 zum internen Datenbus 1 ausgelesen, und der Inhalt der Prioritätsbit-Register 33A und 33B, der dem Unterbrechungs-Anfragesignal INT1 entspricht, wird durch das Register für einen gerade ausgeführten Prioritätspegel 7 gelesen und (zwischen-)gespeichert.
  • Zur Zeit T10 wird die Ausgabe des Registers für einen gerade ausgeführten Prioritätspegel 7 auf den Prioritätspegel "2" gebracht, so daß das Ausgangssignal ISPR1 auf "1" gebracht wird und das Ausgangssignal ISPR0 auf "0" gebracht wird, und das Signal ENISPR wird auf "1" gebracht. Zusätzlich wird das Signal CLRIF von der CPU 100 ausgegeben. Wenn der Zeittakt "0" wird, wird die RS- (Zwischen-)Speicherschaltung L7 "0", und die (Zwischen-)Speicherschaltung L8 wird "0".
  • Zur nächsten Zeit T11 wird das Zeitsignal STG1 erzeugt.
  • Wenn das Unterbrechungs-Anfragesignal INT2 zur Zeit T13 erzeugt wird, wird die Ausgabe des AND-Gatters AG12 in der Unterbrechungs-Anfragesignal-Steuerung 3C zur Zeit T14 auf "1" gebracht. Wenn der Zeittakt CLK "0" wird, wird die RS- (Zwischen-)Speicherschaltung 34 "1". Da die Ausgabe des AND-Gatters 21 "0" ist und die Ausgabe des AND-Gatters AG22 "0" ist, wird die RS- (Zwischen-)Speicherschaltung 41 auf "0" gehalten. Daher werden, ähnlich wie beim Unterbrechungs-Anfragesignal INT1, die Zeitsignale STG2, STG3 und STG0 zu den Zeiten T15, T16 und T17 erzeugt. Das Unterbrechungsverarbeitungs-Anfragesignal INTRQ wird zu einer Zeit (T17), die der Zeit T16 am nächsten ist, auf "1" gebracht.
  • Wenn das Signal OEVC durch die CPU 100 auf "1" gebracht wird, speichert das Register für einen gerade ausgeführten Prioritätspegel 7 den Prioritätspegel "0" (zwischen). Zusätzlich gibt der Stufenzähler in Antwort auf das Signal CLRIF die Zeitsignale ab dem Zeitsignal STG1 aufeinanderfolgend aus.
  • Wenn das Unterbrechungs-Anfragesignal INT3 zur Zeit T19 erzeugt wird, beginnt eine Operation eines Prüfens des Prioritätspegels des Unterbrechungs- Anfragesignals INT3 zur Zeit T20.
  • Da die Ausgangssignale ISPR1 und ISPR0 des Registers für einen gerade ausgeführten Prioritätspegel 7 jeweils "0" und "0" sind, wird die Ausgabe des AND-Gatters AG21 auf "1" gebracht, und das Signal CM1 wird auf "0" gebracht. Als Ergebnis wird, da die Ausgabe des AND-Gatters AG13 in der Unterbrechungs-Anfragesignal- Steuerung bei D auf "0" gehalten wird, die Ausgabe des RS-(Zwischen-)Speichers 34 auf "0" gehalten. Daher wird das Signal RA selbst zur Zeit T22 auf "0" gehalten. Zusätzlich wird das Unterbrechungsverarbeitungs-Anfragesignal INTRQ zur Zeit T23 nicht erzeugt. Demgemäß kann das Unterbrechungs-Anfragesignal INT3 mit dem Prioritätspegel "1" die Unterbrechungsverarbeitugn des Unterbrechungs- Anfragesignals INT1 mit dem Prioritätspegel "0" nicht unterbrechen.
  • Zur Zeit 23 wird dann, wenn das Signal CLRIP erzeugt wird, der Inhalt des Registers für einen gerade ausgeführten Prioritätspegel 7 auf den genau vorangehenden Prioritätspegel "2" zurückgebracht.
  • Zur Zeit T26 wird dann, wenn das Unterbrechungs-Anfragesignal INT0 erzeugt wird, da die Ausgangssignale ISPR1 und ISPR0 des Registers für einen gerade ausgeführten Prioritätspegel 7 zur Zeit T27 jeweils "1" und "0" sind, die Ausgabe des AND-Gatters AG21 "0", und das Signal CM1 wird "1". Die Ausgabe des AND- Gatters AG22 wird "1", so daß die RS-(Zwischen-)Speicherschaltung 41 gesetzt wird. Wenn der Zeittakt CLK "1" wird, wird die Ausgabe der (Zwischen-)Speicherschaltung 42 auf "1" gebracht. Da ISPRQ "0" ist, wird die Ausgabe des AND-Gatters AG23 auf "0" gehalten, und das Signal CM2 wird auf "1" gehalten.
  • Demgemäß wird die Ausgabe des AND-Gatters 24 auf "0" gehalten, und die Ausgabe des OR-Gatters OG10 wird auch auf "0" gehalten, und daher wird die RS- (Zwischen-)Speicherschaltung 41 nicht rückgesetzt.
  • Da der Prioritätspegel (Pegel 2) des Unterbrechungs-Anfragesignals INT0 derselbe wie jener des vorangehenden ist, ist auch der Inhalt der Prioritätsbit-Register 33A und 33B derselbe, und die Unterbrechungs-Anfragesignal-Steuerung 3A arbeitet auf gleiche Weise, so daß die Ausgabe der (Zwischen-)Speicherschaltung 35 "1" wird.
  • Zur Zeit von "1" des Zeitsignals STG3 werden die Ausgabe des AND-Gatters AG25 der Bestätigungs-Unterbrechungsanfragesteuerung 4 und die Ausgabe des AND- Gatters AG17 der Unterbrechungs-Anfragesignal-Steuerung 3A jeweils auf "1" gebracht, und daher werden Ausgaben der Inverter IV21 und IV14 auf "0" gebracht, so daß die MOS-Transistoren Q12 und Q8 ausgeschaltet werden. Demgemäß wird nur das geerdete Ausgangssignal CMOT der Bestätigungs- Unterbrechungsanfragesteuerung 4 "0", und das Eingangssignal CMIN der Bestätigungs-Unterbrechungsanfragesteuerung 4 und das Eingangssignal CMIN und das Ausgangssignal CMOT der Unterbrechungs-Anfragesignal-Steuerung 3A werden auf "1" gehalten, da das Signal CMIN vorgeladen worden ist, wenn der Zeittakt CLK "1" war.
  • Daher wird die Ausgabe des Inverters IV22 der Bestätigungs- Unterbrechungsanfragesteuerung 4 "1", und die Ausgabe des AND-Gatters AG27 wird auf "1" gebracht, so daß die Ausgabe des Inverters IV23 auf "0" gebracht wird, und auch die Ausgabe des AND-Gatters AG26 auf "0" gebracht wird. Demgemäß wird auch die Ausgabe des OR-Gatters OG10 auf "0" gebracht. In der Unterbrechungs-Anfragesignal-Steuerung 3A wird andererseits die Ausgabe des Inverters IVIS "0", und die Ausgabe des AND-Gatters AG18 wird auch "0", so daß das Signal RA auf "0" gehalten wird. Gleichzeitig wird die Ausgabe des Inverters IV13 auf "1" gebracht, und die Ausgabe des AND-Gatters AG16 wird auf "1" gebracht, so daß die Ausgabe des OR-Gatters OG8 auf "1" gebracht und die RS- (Zwischen-)Speicherschaltung 34 rückgesetzt wird. Das Unterbrechungs- Anfragesignal INT0 wird nämlich nicht bestätigt, und daher wird kein Unterbrechungsverarbeitungs-Anfragesignal INTRQ ausgegeben.
  • Danach wird dann, obwohl es im Zeitdiagramm nicht gezeigt ist, wenn keine Unterbrechungsanfrage nicht bestätigt worden ist, wenn die Unterbrechungs- Anfragesignale mit dem Prioritätspegel "0" und die Inhalte "0" und "0" der Prioritätsbit-Register 33A und 33B erzeugt werden, nämlich dann, wenn zwei Unterbrechungsanfragen mit demselben Prioritätspegel erzeugt werden, die Ausgabe des AND-Gatters AG17 der Unterbrechungs-Anfragesignal-Steuerungen 3A und 3B zur Zeit von "1" des Zeitsignals STG3 auf "1" gebracht, und daher wird die Ausgabe des lnverters IV14 auf "0" gebracht, so daß der MOS-Transistor Q8 in beiden Unterbrechungs-Anfragesignal-Steuerungen 3A und 3B ausgeschaltet wird.
  • Wie es oben angegeben ist, ist, da zu dieser Zeit keine Unterbrechungsanfrage nicht bestätigt ist, die Ausgabe des (Zwischen-)Speichers 42 der Bestätigungs- Unterbrechungsanfragesteuerung 4 "0", und daher ist die Ausgabe des AND- Gatters AG25 "0", und die Ausgabe des Inverters IV21 ist auch "0". Demgemäß ist der MOS-Transistor Q21 in einem eingeschalteten Zustand. Somit ist das Ausgangssignal CMOT der Unterbrechungs-Anfragesignal-Steuerung 3A geerdet und ist daher auf "0" gebracht. Andererseits sind das Eingangssignal CMIN der Unterbrechungs-Anfragesignal-Steuerung 3A und die Ausgabe CMOT und das Eingangssignal CMIN der Unterbrechungs-Anfragesignal-Steuerung 3A "1". Daher wird nur die Ausgabe des Inverters IV15 der Unterbrechungs-Anfragesignal-Steuerung 3A auf "1" gebracht, und demgemäß wird die Ausgabe des AND-Gatters AG18, nämlich das Signal RA, das dem Unterbrechungs-Anfragesignal INT0 entspricht, auf "1" gebracht. Jedoch wird die Ausgabe des Inverters IV15 der Unterbrechungs- Anfragesignal-Steuerung 3B auf "0" gebracht, und demgemäß wird die Ausgabe des AND-Gatters AG18, nämlich das Signal RA, das dem Unterbrechungs- Anfragesignal INT1 entspricht, auf "0" gebracht. Somit hat dann, wenn die Unterbrechungs-Anfragesignale INT0 und Int1 mit demselben Prioritätspegel erzeugt werden, das Unterbrechungs-Anfragesignal INT0 eine Priorität über das Unterbrechungs-Anfragesignal INT1.
  • Wie es oben angegeben ist, wird dann, wenn eine Unterbrechungsverarbeitung mit hohem Prioritätspegel während des Ausführens einer Unterbrechungsverarbeitung mit niedrigem Prioritätspegel angefordert wird, der Priroitätspegel in der Reihenfolge der Gewichtung von einem Prioritätsbit mit großer Gewichtung zu einem Prioritätsbit mit geringer Gewichtung abgetastet. Daher kann die Unterbrechungssteuerung auf die Unterbrechungsanfrage mit einer Geschwindigkeit antworten, die höher als jene der herkömmlichen Unterbrechungssteuerung ist. Zusätzlich wird dann, wenn eine Unterbrechungsanfrage mit demselben Prioritätspegel wie jenem der gerade ausgeführten Unterbrechungsverarbeitung erzeugt wird und wenn zwei oder mehrere Unterbrechungsanfragen mit demselben Prioritätspegel gleichzeitig erzeugt werden, eine Unterbrechungsanfrage mit hoher Vorgabe (hoch in der durch eine Schaltung eingestellten bevorzugten Reihenfolge) bestätigt, aber eine Unterbrechungsanfrage mit niedriger Vorgabe wird nicht bestätigt.
  • Daher kann die oben angegebene Unterbrechungssteuerung verschiedene Unterbrechungsanfragen mit hoher Geschwindigkeit flexibel bearbeiten.
  • Ausführungsbeispiel 2
  • In Fig. 9 ist ein Blockdiagramm eines zweiten Ausführungsbeispiels der Unterbrechungssteuerung gemäß der vorliegenden Erfindung gezeigt.
  • Das zweite Ausführungsbeispiel ist darin unterschiedlich vom ersten Ausführungsbeispiel, daß der Prioritätspegel in 8 Pegel aufgeteilt ist. Aufgrund dieser Abänderung enthält das zweite Ausführungsbeispiel einen Stufenzähler 2A, der abgeändert ist, wie es in Fig. 10 gezeigt ist, und Unterbrechungs-Anfragesignal-Steuerungen 3E bis 3J, die abgeändert sind, wie es in Fig. 11 gezeigt ist, und eine Bestätigungs- Unterbrechungsanfragesteuerung 4A, die abgeändert ist, wie es in Fig. 12 gezeigt ist.
  • In Fig. 9 sind Elementen, die gleich jenen sind, die in Fig. 4 gezeigt sind, dieselben Bezugszeichen zugeordnet, und deren Erklärung wird weggelassen. Das in Fig. 9 gezeigte zweite Ausführungsbeispiel ist vom in Fig. 4 gezeigten Ausführungsbeispiel bezüglich des Aufbaus darin unterschiedlich, daß der Stufenzähler 2A ein Zeitsignal STG4 erzeugt, und daß ein Signal CM3 gemeinsam den Unterbrechungs- Anfragesignal-Steuerungen 3E bis 3H zugeführt wird.
  • Eine Signalleitung des Signals CM3 ist an einen P-Kanal-MOS-Transistor Q13 angeschlossen, wie die Signalleitungen für das Signal CM1 und das Signal CM2. Die Unterbrechungs-Anfragesignal-Steuerungen 3E bis 3H erzeugen ein Signal PR2, das dem Register für einen gerade ausgeführten Prioritätspegel 7 zugeführt wird. Das Register für einen gerade ausgeführten Prioritätspegel 7 erzeugt ein Signal ISPR2 zur Bestätigungs-Unterbrechungsanfragesteuerung 4A. Hier hat das Signal PR2 eine Gewichtung von "4" für das Prioritätsbit und das Signal ISPR2 hat eine Gewichtung von "4" für den gerade ausgeführten Prioritätspegel.
  • In Fig. 10 sind Elementen, die gleich jenen sind, die in Fig. 5 gezeigt sind, dieselben Bezugszeichen zugeordnet, und deren Erklärung wird weggelassen. Der in Fig. 10 gezeigte Stufenzähler 2A ist bezüglich des Aufbaus vom in Fig. 5 gezeigten Stufenzähler 2 darin unterschiedlich, daß AND-Gatter AG28 und AG29, ein Inverter IV25 und (Zwischen-)Speicherschaltungen L9 und L10 hinzugefügt sind, und daß ein Zeitsignal STG4 als Ausgangssignal hinzugefügt ist. Der Stufenzähler 2A arbeitet gleich dem Stufenzähler 2, der in Fig. 2 gezeigt ist, aber da das Zeitsignal STG4 neben dem Zeitsignal STG3 erzeugt wird, wird das Abtastsignal in einer Weise von STG1 T STG2 T STG3 T STG4 ... erzeugt.
  • Fig. 11 zeigt nur die Unterbrechungs-Anfragesignal-Steuerung 3E, da die Unterbrechungs-Anfragesignal-Steuerungen 3E bis 3H bezüglich des Aufbaus gleich sind. In Fig. 11 sind Elementen, die gleich jenen sind, die in Fig. 6 gezeigt sind, dieselben Bezugszeichen zugeordnet, und deren Erklärung wird weggelassen. Die in Fig. 11 gezeigte Unterbrechungs-Anfragesignal-Steuerung 3E ist bezüglich des Aufbaus in folgenden Punkten von der in Fig. 6 gezeigten Unterbrechungs-Anfragesignal- Steuerung 3A unterschiedlich: In der in Fig. 11 gezeigten Unterbrechungs- Anfragesignal-Steuerung 3E sind das Signal CM3, das Zeitsignal STG4, Inverter IV26 und IV27, AND-Gatter AG30 und AG31, ein N-Kanal-MOS-Transistor Q41, ein Ausgangspuffer B3 und ein Prioritätsbit-Register 33C hinzugefügt. Zusätzlich ist das OR-Gatter OG11 auf einen Typ mit 5 Eingängen abgeändert, und das NOR-Gatter NOG2 ist auf einen Typ mit 4 Eingängen abgeändert.
  • Das NOR-Gatter NOG2 ist angeschlossen, um das hinzugefügte Zeitsignal STG4 zu empfangen. Die Inverter IV8 und IV9 sind angeschlossen, um die Ausgaben der Prioritätsbit-Register 33C und 33A anstelle der Ausgaben der Prioritätsbit-Register 33A und 33B zu empfangen. Das Prioritätsbit-Register 33C hat eine Gewichtung von "4", und daher können die Prioritätsbit-Register 33A bis 33C 8 Prioritätspegel "0" bis "7" ausdrücken. Demgemäß wird der Prioritätspegel in einer derartigen Reihenfolge abgetastet, daß die Gewichtung von "4" durch das Zeitsignal STG1 abgetastet wird, die Gewichtung von "2" durch das Zeitsignal STG2 abgetastet wird, und die Gewichtung von "1" durch das Zeitsignal STG3 abgetastet wird.
  • Die in Fig. 11 gezeigte Schaltung arbeitet gleich der in Fig. 6 gezeigten Schaltung, außer daß dem Prioritätsbit ein Bit hinzugefügt ist. Wenn das Zeitsignal STG4 erzeugt wird, wenn die RS-(Zwischen-)Speicherschaltung 34 auf "0" zurückgesetzt wird, wird das Signal SLPRH auf "1" gebracht, und daher wird das nächste Zeitsignal STG0 so erzeugt, daß die Unterbrechungsanfrage bestätigt wird.
  • In Fig. 12 sind Elementen, die gleich jenen sind, die in Fig. 8 gezeigt sind, dieselben Bezugszeichen zugeordnet, und deren Erklärung wird weggelassen. Die in Fig. 12 gezeigte Bestätigungs-Unterbrechungsanfragesteuerung ist bezüglich des Aufbaus von der in Fig. 8 gezeigten Bestätigungs-Unterbrechungsanfragesteuerung darin unterschiedlich, daß das Signal CM3 und das Zeitsignal STG4 hinzugefügt sind, und daß Inverter IV28, IV29 und IV30, AND-Gatter AG32 und AG33, N-Kanal-MOS- Transistoren Q15 und Q16 und ein NAND-Gatter NAG2 hinzugefügt sind. Das Signal ISPR2 wird dem Inverter IV17 zugeführt, und das Signal ISPR1 wird dem Inverter IV18 zugeführt. Das Signal ISPRQ wird zum Inverter IV28 eingegeben. Die in Fig. 12 gezeigte Bestätigungs-Unterbrechungsanfragesteuerung tastet die Prioritätspegel mit der Gewichtung von "4" wie die in Fig. 11 gezeigte Unterbrechungs- Anfragesignal-Steuerung ab.
  • Wie es oben angegeben ist, ist das zweite Ausführungsbeispiel derart, daß die acht Prioritätspegel mit den drei Zeiten in der Reihenfolge der Gewichtung "4" T der Gewichtung "2" T der Gewichtung "1" gesteuert werden. Bei dieser Steueroperation wird das Ausgangssignal CMOT der Bestätigungs- Unterbrechungsanfragesteuerung 4A zur Zeit des Zeitsignals STG4 wie beim ersten Ausführungsbeispiel geerdet, und das Ausgangssignal CMOT und das Eingangssignal CMIN der Unterbrechungs-Anfragesignal-Steuerungen 3E bis 3H werden auf die hierin zuvor angegebene Weise angeschlossen. Mit dieser Verbindung kann, wenn zwei oder mehrere Unterbrechungsanfragen mit demselben Prioritätspegel erzeugt werden, die Prioritätspegelsteuerung basierend auf den Vorgabewerten mit einer Zeitgabe realisiert werden.
  • Wie es aus dem Obigen zu sehen ist, können dann, wenn der Prioritätspegel in 16 (2&sup4;) Pegel aufgeteilt ist, die Prioritätspegel mit 5 Zeitgaben abgetastet werden. Demgemäß können dann, wenn der Prioritätspegel in 2n Pegel aufgeteilt ist, die Prioritätspegeluntersuchung und -steuerung für Unterbrechungsanfragen mit (n+1) Zeitgaben beendet werden.
  • Ausführungsbeispiel 3
  • In Fig. 13 ist ein Blockdiagramm eines dritten Ausführungsbeispiels der Unterbrechungssteuerung gemäß der vorliegenden Erfindung gezeigt. Elementen, die gleich jenen sind, die in Fig. 4 gezeigt sind, sind dieselben Bezugszeichen zugeordnet, und deren Erklärung wird weggelassen.
  • Wie es aus einem Vergleich zwischen den Fig. 4 und 13 zu sehen ist, ist das dritte Ausführungsbeispiel dadurch charakterisiert, daß eine Sperrverhinderungs- Unterbrechungs-Anfragesignal-Steuerung 4B vorgesehen ist, was unterschiedlich vom ersten Ausführungsbeispiel ist.
  • Das Register für einen gerade ausgeführten Prioritätspegel 7 liest das Signal RA von der Sperrverhinderungs-Unterbrechungs-Anfragesignal-Steuerung 4B, wenn das Signal OEVC "1" wird. Das Signal RA ist ein Signal zum Vorbereiten einer Vektortabelle.
  • Zusätzlich bringt dann, wenn kein Unterbrechungs-Anfragesignal INT0 bis INT3 bestätigt wird, oder wenn das Signal RA von der Sperrverhinderungs- Unterbrechungs-Anfragesignal-Steuerung 4B ausgegeben und im Register für einen gerade ausgeführten Prioritätspegel 7 (zwischen-)gespeichert wird, das Register für einen gerade ausgeführten Prioritätspegel 7 ein Signal ENISPR auf "0". Demgemäß zeigt das Signal ENISPR ein Vorhandenseinlnichtvorhandensein eines Speichers im Register für einen gerade ausgeführten Prioritätspegel 7 an, und wird auf "0" gehalten, wenn kein Prioritätspegel im Register für einen gerade ausgeführten Prioritätspegel 7 gespeichert ist, und wird auf "1" gebracht, wenn ein Prioritätspegel im Register für einen gerade ausgeführten Prioritätspegel 7 gespeichert ist. Andererseits wird dann, wenn ein Prioritätspegel im Register für einen gerade ausgeführten Prioritätspegel 7 gespeichert ist und das Signal RA, das von der Sperrverhinderungs-Unterbrechungs-Anfragesignal-Steuerung 4B ausgegeben wird, nicht im Register für einen gerade ausgeführten Prioritätspegel 7 (zwischen-)gespeichert wird, das Signal ENISPR auf "1" gebracht.
  • Zusätzlich arbeitet das Register für einen gerade ausgeführten Prioritätspegel 7 in Antwort auf das Signal CLRIP (das Löschsignal mit höchstem Pegel) zum Löschen des höchsten Prioritätspegel der Prioritätspegel, die gegenwärtig im Register für einen gerade ausgeführten Prioritätspegel 7 gespeichert sind, und gibt einen neben dem gelöschten höchsten Prioritätspegel höchsten Prioritätspegel aus.
  • Weiterhin bringt dann, wenn das Signal RA, das von der Sperrverhinderungs- Unterbrechungs-Anfragesignal-Steuerung 4B ausgegeben wird, im Register für einen gerade ausgeführten Prioritätspegel 7 (zwischen-)gespeichert wird, das Register für einen gerade ausgeführten Prioritätspegel 7 ein Signal NMIDI 46 auf "0", das einem AND-Gatter 47 zugeführt wird, das das Signal EI empfängt. Das Signal NMIDI 46 ist ein Andernfalls-Unterbrechungsverhinderungssignal zum Verhindern (wenn das Signal NMIDI 46 "0" ist) aller anderen Unterbrechungen während einer Periode, in der eine Unterbrechungsverarbeitung NMI ausgeführt wird.
  • Das Ausgangssignal CMOT der Bestätigungs-Unterbrechungsanfragesteuerung 4 ist an ein Eingangssignal CMIN der Sperrverhinderungs-Unterbrechungs- Anfragesignal-Steuerung 4B angeschlossen, und das Ausgangssignal CMOT der Sperrverhinderungs-Unterbrechungs-Anfragesignal-Steuerung 4B ist über einen N- Kanal-MOS-Transistor 4B geerdet, der ausgeschaltet wird, wenn der Zeittakt "1" ist, so daß die Pegel des Ausgangssignals CMOT und des Eingangssignals CMIN (die Vorgabe-Prioritätspegel-Entscheidungssignale sind), beibehalten werden, wie sie sind.
  • In Fig. 14 ist ein logisches Schaltungsdiagramm des Stufenzählers 2 gezeigt, der bei der in Fig. 13 gezeigten Unterbrechungssteuerung verwendet wird. Der in Fig. 14 gezeigte Stufenzähler 2 ist von dem in Fig. 5 gezeigten Stufenzähler 2 darin unterschiedlich, daß der Inverter IV5 weggelassen ist und das Signal SLPRH zum AND-Gatter AG6 nur über den Inverter IV6 zugeführt wird.
  • Daher wird dann, wenn das Signal SLPRH "1" ist, die (Zwischen-)Speicherschaltung L7 nie auf "1" gebracht, und "1" und "0" werden über die (Zwischen-)Speicherschaltungen L1 und L2, die (Zwischen-)Speicherschaltungen L3 und L4 und die (Zwischen-)Speicherschaltungen L5 und L6 aufeinanderfolgend und zyklisch übertragen, so daß die Zeitsignale STG1, STG2 und STG3 aufeinanderfolgend erzeugt werden.
  • Andererseits wird dann, wenn das Signal SLPRH "0" ist, die Ausgabe des Inverters IV6 auf "1" gebracht. Daher wird dann, wenn die Ausgabe der (Zwischen-)Speicherschaltung L6 "1" ist, die (Zwischen-)Speicherschaltung L7 auf "1" gesetzt, wenn der Zeittakt CLK "0" ist.
  • Wenn der Zeittakt CLK "1" wird, wird eine (Zwischen-)Speicherschaltung L8 auf "1" gebracht, so daß das Zeitsignal STG0 ausgegeben wird.
  • Wenn das Signal SLPRH wieder "1" ist, da die Ausgabe der AND-Schaltung AG6 "0" wird, wird die Ausgabe des OR-Gatters OG5 auf "0" gebracht. Daher wird kein Zeitsignal STG1 erzeugt, bis das Signal CLRIF auf "1" gebracht ist.
  • In anderen Punkten arbeitet der in Fig. 14 gezeigte Stufenzähler 2 gleich dem in Fig. 5 gezeigten Stufenzähler 2.
  • Die Unterbrechungs-Anfragesignal-Steuerungen 3A bis 3D sind bezüglich des Aufbaus dieselben wie jene, die in Fig. 6 gezeigt sind, und die Bestätigungs- Unterbrechungs-Anfragesignal-Steuerung 4 ist bezüglich des Aufbaus dieselbe wie jene, die in Fig. 7 gezeigt ist. Daher wird eine detaillierte Beschreibung dieser Elemente weggelassen.
  • In Fig. 15 ist ein logisches Schaltungsdiagramm der Sperrverhinderungs- Unterbrechungs-Anfragesignal-Steuerung 4B gezeigt, die bei der in Fig. 13 gezeigten Unterbrechungssteuerung verwendet wird.
  • Ein RS-(Zwischen-)Speicher 512 wird auf "1" gesetzt, wenn das Signal NM1 "1" ist, und wird rückgesetzt, wenn das Rücksetzsignal RESET von "1" zugeführt wird oder wenn eine Ausgabe eines AND-Gatters 510 durch das Signal CLRIF von "1" und eine Ausgabe Q von "1" der RS-(Zwischen-)Speicherschaltung 512 "1" wird.
  • Wenn der Q-Ausgang der RS-(Zwischen-)Speicherschaltung 512 "1" ist, wird eine Ausgabe eines AND-Gatters 541 zur Zeit des Zeitsignals STG3 auf "1" gebracht, so daß ein N-Kanal-MOS-Transistor 544 über einen Inverter 542 ausgeschaltet wird. Da das Signal CMOT direkt geerdet ist und daher "0" ist, wird das Signal CMIN auf "1" vorgeladen, wenn der Zeittakt "1" ist. Daher wird das von einem AND-Gatter 543 ausgegebene Signal RA auf "1" gebracht. Wenn dieses Signal RA "0" ist, wird eine Ausgabe eines AND-Gatters 549 beim Zeitsignal STG3 von "1" auf "1" gebracht, wenn der Zeittakt CLK "0" wird.
  • Ein OR-Gatter 500 bringt seine Ausgabe auf "1", wenn das Signal CLRIF, das Signal RESET oder die Ausgabe des AND-Gatters 549 "1" ist. Eine Ausgabe eines AND-Gatters 535 wird auf "1" gebracht, wenn der Q-Ausgang der RS- (Zwischen-)Speicherschaltung 512 "1" ist, eine Ausgabe eines Inverters 533 "1" ist (nämlich die Ausgabe des OR-Gatters 500 "0" ist), das Zeitsignal STG3 "1" ist und der Zeittakt CLK "0" ist. Zu dieser Zeit wird ein N-Kanal-MOS-Transistor 534 eingeschaltet, und daher wird das Signal SLPRH auf "0" gebracht.
  • Weiterhin bildet, da die Sperrverhinderungs-Unterbrechungs-Anfragesignal- Steuerung 4B weder ein Prioritätsbit noch ein Maskenbit zum Maskieren der Unterbrechungsanfrage aufweist und nicht durch das Signal EI beeinflußt wird, das Signal NMI, das zur Sperrverhinderungs-Unterbrechungs-Anfragesignal-Steuerung 4B zugeführt wird, ein Unterbrechungs-Anfragesignal, dem es nicht möglich ist, die Bestätigung des Unterbrechungs-Anfragesignals zu sperren.
  • Nun wird eine Operation des dritten Ausführungsbeispiels der Unterbrechungssteuerung unter Bezugnahme auf Fig. 16 erklärt, die das Zeitdiagramm zum Darstellen der Operation der Unterbrechungssteuerung zeigt.
  • Das dritte Ausführungsbeispiel arbeitet unter derselben Bedingung wie das erste Ausführungsbeispiel. In diesem Fall ist die Operation vor der Zeit T26 dieselbe wie die entsprechende Operation des ersten Ausführungsbeispiels, und daher wird die Operation nur ab der Zeit T26 erklärt.
  • Zur Zeit T26 wird dann, wenn das Unterbrechungs-Anfragesignal INT0 erzeugt wird, da die Ausgangssignale ISPR1 und ISPR0 des Registers für einen gerade ausgeführten Prioritätspegel 7 zur Zeit T27 jeweils "1" und "0" sind, die Ausgabe des AND-Gatters AG21 "0" und das Signal CM1 wird "1". Die Ausgabe des AND-Gatters AG22 wird "1", so daß die RS-(Zwischen-)Speicherschaltung 41 gesetzt wird. Wenn der Zeittakt CLK "1" wird, wird die Ausgabe der (Zwischen-)Speicherschaltung 42 auf "1" gebracht. Da ISPR0 "0" ist, wird die Ausgabe des Inverters IV18 "1", und die Ausgabe des AND-Gatters AG23 wird "1". Zur Zeit T28 wird dann, wenn das Zeitsignal STG2 ausgegeben wird, das Signal CM2 "0". Jedoch wird, da ISPR0 "0" ist, die Ausgabe des AND-Gatters 24 auf "0" gehalten, und daher wird auch die Ausgabe des OR-Gatters OG10 auf "0" gehalten. Demgemäß wird die RS- (Zwischen-)Speicherschaltung 41 nicht rückgesetzt.
  • Da der Prioritätspegel (Pegel 2) des Unterbrechungs-Anfragesignals INT0 derselbe wie jener des vorangehenden ist, ist auch der Inhalt der Prioritätsbit-Register 33A und 33B derselbe, und die Unterbrechungs-Anfragesignal-Steuerung 3A arbeitet auf gleiche Weise, so daß die Ausgabe der (Zwischen-)Speicherschaltung 35 "1" wird.
  • Zur Zeit von "1" des Zeitsignals STG3 werden die Ausgabe des AND-Gatters AG25 der Bestätigungs-Unterbrechungsanfragesteuerung 4 und die Ausgabe des AND- Gatters AG17 der Unterbrechungs-Anfragesignal-Steuerung 3A jeweils auf "1" gebracht, und daher werden Ausgaben der Inverter IV21 und IV14 auf "0" gebracht, so daß die MOS-Transistoren Q12 und Q8 ausgeschaltet werden.
  • Demgemäß ist nur das geerdete Ausgangssignal CMOT der Bestätigungs- Unterbrechungsanfragesteuerung 4 "0", und das Eingangssignal CMIN der Bestätigungs-Unterbrechungsanfragesteuerung 4 und das Eingangssignal CMIN und das Ausgangssignal CMOT der Unterbrechungs-Anfragesignal-Steuerung 3A werden auf "1" gehalten, da das Signal CMIN vorgeladen worden ist, als der Zeittakt CLK "1" war.
  • Daher wird die Ausgabe des Inverters IV22 der Bestätigungs- Unterbrechungsanfragesteuerung 4 "1", und die Ausgabe des AND-Gatters AG26 wird auf "1" gebracht, so daß die Ausgabe des Inverters IV23 auf "0" gebracht wird und die Ausgabe des AND-Gatters AG26 auch auf "0" gebracht wird. Demgemäß wird auch die Ausgabe des OR-Gatters OG10 auf "0" gebracht.
  • In der Unterbrechungs-Anfragesignal-Steuerung 3A wird andererseits die Ausgabe des Inverters IV15 "0", und die Ausgabe des AND-Gatters AG18 wird auch "0", so daß das Signal RA auf "0" gehalten wird. Gleichzeitig wird die Ausgabe des Inverters IV13 auf "1" gebracht, und die Ausgabe des AND-Gatters AG16 wird auf "1" gebracht, so daß die Ausgabe des OR-Gatters OG8 auf "1" gebracht wird und die RS-(Zwischen-)Speicherschaltung 34 rückgesetzt wird. Das bedeutet, daß das Unterbrechungs-Anfragesignal INT0 nicht bestätigt wird, und daher wird kein Unterbrechungsverarbeitungs-Anfragesignal INTRQ ausgegeben.
  • Zur Zeit T29 wird das Signal NMI erzeugt. Da, wie es hierin zuvor angegeben ist, die Sperrverhinderungs-Unterbrechungsanfragesteuerung 4B nicht durch die Prioritätsbitsteuerung, das Maskenbit und das Signal EI beeinflußt ist, wird die Ausgabe des AND-Gafters 541 zur Zeit T30 unbedingt auf "1" gebracht, wenn das Zeitsignal STG1 "1" ist. Daher wird der N-Kanal-MOS-Transistor über den Inverter 543 ausgeschaltet. Zur Zeit T32 wird, da der Q-Ausgang der RS-(Zwischen)Speicherschaltung 512 "1" wird, wenn das Zeitsignal STG3 "1" ist und der Zeittakt CLK "0" ist, die Ausgabe des RND-Gatters 535 auf "1" gebracht, so daß der N- kanal-Transistor 534 eingeschaltet wird, und daher wird das Signal SLPRH auf "0" gebracht.
  • Zusätzlich wird zur Zeit T32 das Signal CMIN auf "1" gehalten, da das Signal CMIN auf "1" vorgeladen worden ist, wenn ein genau vorangehender Zeittakt CLK "1" ist. Andererseits ist, da das Signal CMOT der Sperrverhinderungs- Unterbrechungsanfragesteuerung 4B direkt geerdet ist, das Signal CMOT "0". Daher wird das vom AND-Gatter 543 ausgegebene Signal RA "1", und daher wird das Unterbrechungsverarbeitungs-Anfragesignal INTRQ zur Zeit T33 zur CPU 100 ausgegeben, wenn das Zeitsignal STG0 "1" ist.
  • Nun werden die folgenden Situationen betrachtet, obwohl sie nicht im Zeitdiagramm gezeigt sind: Wenn keine Unterbrechungsanfrage nicht bestätigt worden ist, wenn die Unterbrechungs-Anfragesignale mit dem Prioritätspegel "0" und die Inhalte "0" und "0" der Prioritätsbit-Register 33A und 33B erzeugt werden, nämlich dann, wenn zwei Unterbrechungsanfragen mit demselben Prioritätspegel erzeugt werden, wird die Ausgabe des AND-Gatters AG17 der Unterbrechungs-Anfragesignal- Steuerungen 3A und 3B zur Zeit von "1" des Zeitsignals STG3 auf "1" gebracht, und daher wird die Ausgabe des Inverters IV14 auf "0" gebracht, so daß der MOS- Transistor Q8 in beiden Unterbrechungs-Anfragesignal-Steuerungen 3A und 3B ausgeschaltet wird.
  • Wie es oben angegeben ist, ist, da zu dieser Zeit keine Unterbrechungsanfrage nicht bestätigt ist, die Ausgabe des (Zwischen-)Speichers 42 der Bestätigungs- Unterbrechungsanfragesteuerung 4 "0", und daher ist die Ausgabe des AND- Gatters AG25 "0", und die Ausgabe des Inverters IV21 ist auch "0". Demgemäß ist der N-Kanal-MOS-Transistor Q21 in einem eingeschalteten Zustand. Gleichermaßen ist auch der N-Kanal-MOS-Transistor 544 der Sperrverhinderungs- Unterbrechungsanfragesteuerung 4B in einem eingeschalteten Zustand. Somit ist das Ausgangssignal CMOT der Unterbrechungs-Anfragesignal-Steuerung 3A geerdet und ist daher auf "0" gebracht. Andererseits sind das Eingangssignal CMIN der Unterbrechungs-Anfragesignal-Steuerung 3A und die Ausgabe CMOT und das Eingangssignal CMIN der Unterbrechungs-Anfragesignal-Steuerung 3A "1". Daher wird nur die Ausgabe des Inverters IV15 der Unterbrechungs-Anfragesignal-Steuerung 3A auf "1" gebracht, und demgemäß wird die Ausgabe des AND-Gatters AG18, nämlich das Signal RA, das dem Unterbrechungs-Anfragesignal INT0 entspricht, auf "1" gebracht. Jedoch wird die Ausgabe des Inverters IV15 der Unterbrechungs- Anfragesignal-Steuerung 3B auf "0" gebracht, und demgemäß wird die Ausgabe des AND-Gatters AG18, nämlich das Signal RA, das dem Unterbrechungs- Anfragesignal INT1 entspricht, auf "0" gebracht. Somit hat dann, wenn die Unterbrechungs-Anfragesignale INT0 und INT1 mit demselben Prioritätspegel erzeugt werden, das Unterbrechungs-Anfragesignal INT0 eine Priorität über das Unterbrechungs-Anfragesignal INT1.
  • Zusätzlich wird dann, wenn keine Unterbrechungsanfrage nicht bestätigt worden ist, wenn ein Unterbrechungs-Anfragesignal INT0 mit dem Prioritätspegel "0" und die Inhalte "0" und "0" der Prioritätsbit-Register 33A und 33B und das Unterbrechungs- Anfragesignal NMI fortlaufend erzeugt werden, die Ausgabe des AND-Gatters AG17 der Unterbrechungs-Anfragesignal-Steuerung 3A zur Zeit von "1" des Zeitsignals STG3 auf "1" gebracht, und die Ausgabe des AND-Gatters 542 der Sperrverhinderungs-Unterbrechungsanfragesteuerung 4B wird auch auf "1" gebracht. Als Ergebnis wird der MOS-Transistor Q8 in der Unterbrechungs-Anfragesignal-Steuerung 3A ausgeschaltet, und daher ist das Signal CMIN "1", weil es vorgeladen worden ist, als der Takt CLK "1" war. Andererseits wird der MOS-Transistor 544 in der Sperrverh inderungs-Unterbrechungsanfragesteuerung 4B ausgeschaltet, und daher ist das Signal CMIN "1", weil es vorgeladen worden ist, als der Takt CLK "1" war. Jedoch wird, da das Signal CMOT der Unterbrechungs-Anfragesignal-Steuerung 3A mit dem Signal CMIN der Sperrverhinderungs-Unterbrechungsanfragesteuerung 4B verbunden ist, das Signal CMOT der Unterbrechungs-Anfragesignal-Steuerung 3A auf "1" gehalten. Demgemäß wird das vom AND-Gatter AG18 in der Unterbrechungs-Anfragesignal-Steuerung 3A ausgegebene Signal RA auf "0" gehalten, und daher wird das Unterbrechungs-Anfragesignal INT0 nicht bestätigt. Andererseits wird, da das Signal CMOT der Sperrverhinderungs- Unterbrechungsanfragesteuerung 4B direkt geerdet ist und daher auf "0" liegt, das von der AND-Schaltung 543 in der Sperrverhinderungs Unterbrechungsanfragesteuerung 4B ausgegebene Signal RA auf "1" gebracht, und daher hat das Signal NMI eine Präferenz.
  • Weiterhin wird dann, wenn eine Unterbrechungsanfrage mit dem Prioritätspegel schon bestätigt worden ist, wenn das Signal NMI erzeugt wird, die Ausgabe des AND-Gatters AG27 der Bestätigung s-Unterbrechungsanfragesteuerung 4 nicht "1", und andererseits wird die Ausgabe des AND-Gatters 543 der Sperrverhinderungs- Unterbrechungsanfragesteuerung 4B beim Zeitsignal STG3 auf "1" gebracht, so daß das Unterbrechungsverarbeitungs-Anfragesignal INTRQ synchron zum Zeitsignal STG0 zur CPU 100 ausgegeben wird. Das Signal NMI kann nämlich die Verarbeitung der Unterbrechungsverarbeitung mit dem Prioritätspegel "0" unterbrechen.
  • Wenn das Signal RA von "1" von der Sperrverhinderungs- Unterbrechungsanfragesteuerung 4B ausgegeben wird, bringt das Register für einen gerade ausgeführten Prioritätspegel 7 das Signal ENISPR auf "0", die AND- Gatter AG22 und AG21 werden auf "0" festgehalten, und daher wird die RS- (Zwischen-)Speicherschaltung 41 nicht gesetzt. Zusätzlich bringt das Register für einen gerade ausgeführten Prioritätspegel 7 das Signal NMIDI 46 auf "0", so daß die Ausgabe des AND-Gatters 47 auf "0" gebracht wird. Daher wird die Ausgabe des AND-Gatters AG11 in den Unterbrechungs-Anfragesignal-Steuerungen 3A bis 3D auf "0" festgehalten, und daher werden die Unterbrechungs-Anfragesignale INT0, INT1, INT2 und INT3 nicht mehr bestätigt. Das Signal NMI hat nämlich den hohen Prioritätspegel.
  • Wie es oben angegeben ist, wird dann, wenn während der Ausführung einer Unterbrechungsverarbeitung mit niedrigem Prioritätspegel eine Unterbrechungsverarbeitung mit hohem Prioritätspegel angefordert wird, der Prioritätspegel in der Reihenfolge der Gewichtung von einem Prioritätsbit höherer Gewichtung zu einem Prioritätsbit geringerer Gewichtung abgetastet. Daher kann die Unterbrechungssteuerung auf die Unterbrechungsanfrage mit einer Geschwindigkeit antworten, die höher als jene der herkömmlichen Unterbrechungssteuerung ist. Zusätzlich wird dann, wenn eine Unterbrechungsanfrage mit demselben Prioritätspegel wie jenem der gerade ausgeführten Unterbrechungsverarbeitung erzeugt wird und wenn zwei oder mehrere Unterbrechungsanfragen mit demselben Prioritätspegel gleichzeitig erzeugt werden, eine Unterbrechungsanfrage mit einer hohen Vorgabe (hoch in der Reihenfolge der durch eine Schaltung eingestellten Präferenz) bestätigt, aber eine Unterbrechungsanfrage mit einer niedrigen Vorgabe wird nicht bestätigt. Die Unterbrechungsanfrage wird nämlich in der Reihenfolge von NMI, INT0, INT1, INT2 und INT3 bestätigt.
  • Zusätzlich hat, da die Sperrverhinderungs-Unterbrechungsanfragesteuerung 4B vorgesehen ist, selbst dann, wenn die NMI-Unterbrechungsanfrage mit der Unterbrechungsanfrage mit dem Prioritätspegel "0" konkurriert, die NMI- Unterbrechungsanfrage eine Präferenz über die Unterbrechungsanfrage mit dem Prioritätspegel "0". Die NMI-Unterbrechungsanfrage kann unterbrechen, obwohl die Unterbrechungsanfrage mit dem Prioritätspegel "0" bestätigt ist. Andererseits kann die Sperrverhinderungs-Unterbrechungsanfragesteuerung 4B gleich wie die Unterbrechungs-Anfragesignal-Steuerungen 3A bis 3D gesteuert werden, ohne dazu eine spezielle Steuerung zu benötigen.
  • Daher kann die oben angegebene Unterbrechungssteuerung verschiedene Unterbrechu ngsanfragen mit einer hohen Geschwindigkeit flexibel bearbeiten.
  • Ausführungsbeispiel 4
  • In Fig. 17 ist ein Blockdiagramm eines vierten Ausführungsbeispiels der Unterbrechungssteuerung gemäß der vorliegenden Erfindung gezeigt.
  • Das vierte Ausführungsbeispiel ist vom dritten Ausführungsbeispiel darin unterschiedlich, daß der Prioritätspegel in 8 Pegel aufgeteilt ist. Aufgrund dieser Abänderung enthält das zweite Ausführungsbeispiel einen Stufenzähler 2A, der abgeändert ist, wie es in Fig. 18 gezeigt ist, und Unterbrechungs-Anfragesignal-Steuerungen 3E bis 3J, die abgeändert sind, wie es in Fig. 11 gezeigt ist, und eine Bestätigungs- Unterbrechungsanfragesteuerung 4A, die abgeändert ist, wie es in Fig. 12 gezeigt ist, und eine Sperrverhinderungs-Unterbrechungssteuerung 4B, die abgeändert ist, wie es in Fig. 19 gezeigt ist. Daher wird eine Erklärung der Unterbrechungs- Anfragesignal-Steuerungen 3E bis 3J und der Bestätigungs- Utnerbrechugnsanfragesteuerung 4A weggelassen.
  • Zusätzlich ist die Abänderung der in Fig. 14 gezeigten Schaltung gegenüber der in Fig. 18 gezeigten Schaltung auf die gleiche Weise wie die Abänderung der in Fig. 5 gezeigten Schaltung gegenüber der in Fig. 10 gezeigten Schaltung durchgeführt. Daher wird eine Erklärung der in Fig. 18 gezeigten Schaltung weggelassen. Weiterhin besteht die Abänderung der in Fig. 15 gezeigten Schaltung gegenüber der in Fig. 19 gezeigten Schaltung nur darin, daß das Zeitsignal STG4 anstelle des Zeitsignals STG3 eingegeben wird.
  • Daher ist das vierte Ausführungsbeispiel derart, daß die acht Prioritätspegel mit den drei Zeitgaben in der Reihenfolge der Gewichtung "4" T der Gewichtung "2" T der Gewichtung "1" gesteuert werden. Bei dieser Steueroperation wird das Ausgangssignal CMOT der Sperrverhinderungs-Unterbrechungsanfragesteuerung 4C zur Zeit des Zeitsignals STG4 geerdet, und zwar gleich wie beim dritten Ausführungsbeispiel, und das Ausgangssignal CMOT und das Eingangssignal CMIN der Unterbrechungs-Anfragesignal-Steuerungen 3E bis 3H und der Sperrverhinderungs- Unterbrechungsanfragesteuerung 4C sind auf die hierin zuvor angegebene Weise verbunden. Mit dieser Verbindung kann dann, wenn zwei oder mehrere Unterbrechungsanfragen mit demselben Prioritätspegel erzeugt werden, die Prioritätspegelsteuerung basierend auf den Vorgabewerten mit einer Zeitgabe realisiert werden.
  • Ausführungsbeispiel 5
  • In Fig. 20 ist ein Blockdiagramm eines fünften Ausführungsbeispiels der Unterbrechungssteuerung gemäß der vorliegenden Erfindung gezeigt. In Fig. 20 sind Elementen, die gleich jenen sind, die in den Fig. 1 bis 19 gezeigt sind, dieselben Bezugszeichen zugeordnet, und deren Erklärung wird weggelassen. Es werden nämlich nur Teile erklärt, die unterschiedlich von der in den Fig. 1 bis 19 gezeigten Unterbrechungssteuerung sind.
  • Das fünfte Ausführungsbeispiel ist vom ersten Ausführungsbeispiel darin unterschiedlich, daß ein (Zwischen-)Speicher 48A als Einrichtung zum Zuordnen entweder der Vektorunterbrechungsverarbeitung oder einer Makrodienstverarbeitung vorgesehen ist. In diesem Zusammenhang sind die Unterbrechungs-Anfragesignal- Steuerungen 3A bis 3D dafür aufgebaut, die Unterbrechungsanfrage mit maximal "n" Zeitgaben gemäß dem Prioritätspegel zu erfassen, der jeder der Unterbrechungs-Anfragesignal-Steuerungen 3A bis 3D zugeordnet ist, und gemäß der Verarbeitung, die durch den (Zwischen-)Speicher 48A zugeordnet ist.
  • Ein Register für einen gerade ausgeführten Prioritätspegel 7 liest den Prioritätspegel, der von der Unterbrechungs-Anfragesignal-Steuerung 3A bis 3D ausgegeben wird, zur Zeit von "1" des Signals OEVC, wenn die Ausgabe der (Zwischen-)Speicherschaltung 48A "0" ist, und ein Paar von Ausgangssignalen ISPR1 und ISPR0 synchron zu einem Zeittakt CLK ausgibt, der am nächsten zum Signal OEVC auftritt. Die Ausgabe der (Zwische-)Speicherschaltung 48A wird "1", wenn der Makrodienst ausgeführt wird. Das Paar von Ausgangssignalen ISPR1 und ISPR0 wird durch Codieren des höchsten Prioritätspegels von Prioritätspegeln erhalten, die im Register für einen gerade ausgeführten Prioritätspegel 7 gespeichert sind. Zusätzlich bringt dann, wenn kein Unterbrechungs-Anfragesig nal bestätigt wird, das Register für einen gerade ausgeführten Prioritätspegel 7 ein Signal ENISPR auf "0". Andererseits wird ein Prioritätspegel im Register für einen gerade ausgeführten Prioritätspegel 7 gespeichert, und das Signal ENISPR wird auf "1" gebracht. Zusätzlich arbeitet das Register für einen gerade ausgeführten Prioritätspegel 7 zum Antworten auf ein Signal CLRIP, um einen aktuellen Prioritätspegel zu löschen und einen Prioritätspegel genau vor dem aktuellen Prioritätspegel auszugeben. Das Signal CLRIP ist ein Signal zum Löschen der (Zwischen-)Speicherschaltung 48A, die den Makrodienst zuordnet. Hier hat das Signal ISPR1 eine Gewichtung von "2", und das Signal ISPR0 hat eine Gewichtung von "1".
  • Eine (Zwischen-)Speicherschaltung 9 speichert die Ausgabe des OR-Gatters OG1 (zwischen), wenn das Zeitsignal STG3 oder das Zeitsignal STG1 "1" und der Zeittakt CLK "0" ist, und gelangt dazu, die (zwischen-)gespeicherten Daten in Antwort auf den nächsten Zeittakt auszugeben, so daß die Ausgabe der (Zwischen-)Speicherschaltung 9 über ein AND-Gatter AG2 als Unterbrechungsverarbeitungs-Anfragesignal INTRQ zur Zeit von "1" des Zeitsignals STG0 ausgegeben wird. Die (Zwischen-)Speicherschaltung 9 wird durch ein Rücksetzsignal RESET und ein Signal CLRIF (ein Unterbrechungsanfrage-Flag-Löschsignal) und ein Signal CLRMS (ein Makrodienstanfragebit-(Zwischen-)Speicher-Löschsignal) auf "0" rückgesetzt.
  • Die (Zwischen-)Speicherschaltung 48A speichert die Ausgabe des OR-Gatters OG1 beim Zeitsignal SG1 (zwischen), wenn der Zeittakt CLK "0" ist, und gelangt dazu, die (zwischen-)gespeicherten Daten in Antwort auf den nächsten Zeittakt auszugeben. Zusätzlich gibt die (Zwischen-)Speicherschaltung 48A beim Zeitsignal STG0 ein Signal MSINTRQ über ein AND-Gatter 49 aus. Dieses Signal MSINTRQ ist ein Makrodienst-Unterbrechungsverarbeitungs-Anfragesignal zur CPU 100. Die (Zwischen-)Speicherschaltung 48A wird durch das Rücksetzsignal RESET, das Signal CLRIF und das Signal CLRMS auf "0" rückgesetzt Das Signal CLRMS wird bei der Ausführung der Makrodienste zum Löschen eines Verarbeitungszuordnungsbit(Zwischen-)Speichers 160 (Bit MSINT) erzeugt, der die Unterbrechung durch den Makrodienst zuordnet.
  • Das Signal CMOT der Bestätigungs-Unterbrechungsanfragesteuerung 4 wird über den N-Kanal-MOS-Transistor 48 geerdet, der eingeschaltet wird, wenn die Ausgabe des Inverters IV1 (ein invertiertes Signal des Taktes CLK) "1" ist. Sonst wird das Signal CMIN der Unterbrechungs-Anfragesignal-Steuerung mit einem Signal DMS des Stufenzählers 2 verbunden. Dieses Signal DMS ist ein Makrodienst-Verarbeitungszuordnungssignal, das synchron zum Zeitsignal STG1 eingegeben wird, wenn der Makrodienst zugeordnet ist.
  • In Fig. 21 ist ein logisches Schaltungsdiagramm des in Fig. 20 gezeigten Stufenzählers 2 gezeigt.
  • In einem Anfangszustand wird, wenn das Rücksetzsignal RESET auf "1" gebracht wird, eine (Zwischen-)Speicherschaltung 321 zur Zeit von "0" des Zeittaktes CLK auf "1" initialisiert, und gleichermaßen werden (Zwischen-)Speicherschaltung 323 und 325 auf "0" initialisiert, und ein (Zwischen-)Speicher vom RS-Typ 327 wird auf "0" initialisiert. Demgemäß wird eine (Zwischen-)Speicherschaltung 322 zur Zeit von "1" eines nächsten Zeittaktes CLK auf "1" gebracht, und (Zwischen-)Speicherschaltungen 324 und 326 werden auf "0" gebracht.
  • Wenn der nächste Zeittakt CLK "0" wird, wird das Zeitsignal STG1 von einem AND- Gatter 342 ausgegeben. Wenn das Rücksetzsignal RESET auf "0" gebracht wird, wird die Ausgabe "1" der (Zwischen-)Speicherschaltung 322 über ein AND-Gatter 343 in die (Zwischen-)Speicherschaltung 323 (zwischen-)gespeichert, wenn der Zeittakt CLK "0" ist.
  • Gleichermaßen wird dann, wenn der Zeittakt CLK "0" ist, die Ausgabe der (Zwischen-)Speicherschaltung 323 in die (Zwischen-)Speicherschaltung 324 (zwischen-)gespeichert, so daß die (Zwischen-)Speicherschaltung 324 auf "1" gebracht wird, was über ein AND-Gatter 331 in die (Zwischen-)Speicherschaltung 325 (zwischen-)gespeichert wird, wenn der Zeittakt CLK "0" ist.
  • Hier ist unter der Annahme, daß das Signal CLRIF und das Signal CLRMS "0" sind und daß das Signal SLPRH "1" und das Signal DMS "0" ist, eine Ausgabe eines lnverters 341 "0" und die Ausgabe des AND-Gatters 332 "0", so daß die (Zwischen-)Speicherschaltung 327 auf "0" gehalten wird. Daher sind die Ausgaben der AND-Gatter 339 und 340 "0", und die Ausgabe des OR-Gatters 331 ist "0", so daß dann, wenn der Zeittakt CLK "0" wird, die Ausgabe "0" des OR-Gatters 338 über das OR-Gatter 329 in die (Zwischen-)Speicherschaltung 321 (zwischen-)gespeichert wird.
  • Als nächstes wird, wenn der Zeittakt CLK auf "1" gebracht wird, die (Zwischen-)Speicherschaltung 322 auf "0" gebracht, und die (Zwischen-)Speicherschaltung 324 wird auf "1" gebracht. Wenn der Zeittakt CLK "0" wird, wird das Zeitsignal STG2 auf "1" gebracht.
  • Wenn ein nächster Zeittakt CLK "0" ist, wird die (Zwischen-)Speicherschaltung 325 auf "1" gebracht, und wenn der Zeittakt CLK das nächste Mal auf "1" gebracht wird, wird die (Zwischen-)Speicherschaltung 325 auf "0" gebracht, und die (Zwischen-)Speicherschaltung 326 wird auf "1" gebracht. Wenn der Zeittakt CLK "0" wird, wird das Zeitsignal STG3 auf "1" gebracht.
  • Wenn das Signal SLPRH "1" ist, werden "1" und "0" aufeinanderfolgend und zyklisch über die (Zwischen-)Speicherschaltungen 321 und 322, die (Zwischen-)Speicherschaltung 323 und 324 und die (Zwischen-)Speicherschaltungen 325 und 326 übertragen, so daß die Zeitsignale STG1, STG2 und STG3 aufeinanderfolgend erzeugt werden.
  • Andererseits wird dann, wenn das Signal SLPRH "0" ist, die Ausgabe des Inverters 341 auf "1" gebracht. Daher wird, wenn die Ausgabe der (Zwischen-)Speicherschaltung 326 "1" ist, die (Zwischen-)Speicherschaltung 327 auf "1" gesetzt, wenn der Zeittakt CLK "0" ist.
  • Wenn der Zeittakt CLK "1" wird, wird eine (Zwischen-)Speicherschaltung 328 auf "1" gebracht, so daß das Zeitsignal STG0 ausgegeben wird.
  • Wenn das Signal SLPRH "0" ist, da die Ausgabe der AND-Schaltung 339 "0" wird, wird die Ausgabe des OR-Gatters 338 auf "0" gebracht. Daher wird das Zeitsignal STG1 nicht erzeugt, bis das Signal CLRIF oder das Signal CLRMS auf "1" gebracht wird.
  • Danach wird dann, wenn das Signal CLRIF auf "1" gebracht wird, die Ausgabe des AND-Gatters 340 "1". Demgemäß wird dann, wenn der Zeittakt CLK "0" wird, die (Zwischen-)Speicherschaltung 321 auf "0" gebracht. Andererseits wird, wenn das Signal CLRIF auf "1" gebracht wird, da die Ausgabe des OR-Gatters 333 auf "1" gebracht wird, die (Zwischen-)Speicherschaltung 327 rückgesetzt. Demgemäß wird das Zeitsignal STG1 nach dem Zeitsignal STG0 erzeugt.
  • Wenn das Signal DMS "1" ist, wird die Ausgabe des Inverters 350 "0", und die Ausgabe des AND-Gatters 330 wird auf "0" gebracht, so daß die Erzeugung der Zeitsignale STG2 und STG3 verhindert wird. Wenn das Zeitsignal STG1 "1" wird, wird die Ausgabe des AND-Gatters 351 auf "1" gebracht, was bewirkt, daß der RS- (Zwischen-)Speicher 327 und der (Zwischen-)Speicher 328 über das OR-Gatter 352 auf "1" gebracht wird, so daß das Zeitsignal STG0 erzeugt wird. Da das Zeitsignal STG3 nicht erzeugt wird, wird das Zeitsignal STG1 nicht erzeugt, bis das Signal CLRIF oder das Signal CLRMS auf "1" gebracht wird.
  • Wenn das Signal CLRMS "1" wird, wird die Ausgabe des AND-Gatters 353 "1", und daher wird dann, wenn der Takt CLK "0" wird, der (Zwischen-)Speicher 321 auf "1" gebracht. Da die Ausgabe des OR-Gatters 333 durch das Signal CLRMS bestimmt wird, wird der RS-(Zwischen-)Speicher 327 auf "0" rückgesetzt Daher wird das Zeitsignal STG1 nach dem Zeitsignal STG0 erzeugt.
  • In Fig. 22 ist ein logisches Schaltungsdiagramm der in Fig. 20 erzeugten Unterbrechungs-Anfragesignal-Steuerung 3A gezeigt. Da die Unterbrechungsanfagesignal- Steuerungen 3A bis 3D denselben Aufbau haben, ist nur die Unterbrechungs- Anfragesignal-Steuerung 3A gezeigt.
  • Wenn das Unterbrechungs-Anfragesignal INT0 eingegeben wird, wenn der Inhalt des Maskenbit-Registers 111 "0" ist und das Unterbrechungsanfrage-Flag 112 "1" ist, und wenn das Unterbrechungs-Freigabesignal EI "1" ist und ein Bit MSINT 160 "0" ist, wird die Ausgabe des AND-Gatters 114 auf "1" gebracht. Das Bit MSINT 160 ordnet die Makrodienstverarbeitung zu, wenn es "1" ist, und eine Vektorunterbrechung, wenn es "0" ist. Das Bit MSINT 160 kann durch die CPU 100 neu geschrieben werden und durch das Rücksetzsignal RESET und das Signal CLRMS auf "0" rückgesetzt werden. Das Prioritätsbit-Register 116 hat eine Gewichtung von "2" und das Prioritätsbit-Register 117 hat eine Gewichtung von "1".
  • Wenn das Prioritätsbit-Register 116 "0" ist, ist die Ausgabe des Inverters 120 "1". Wenn das Zeitsignal STG1 auf "1" gebracht wird, wird die Ausgabe des AND- Gatters 121 zur Zeit von "0" des Zeittaktes CLK auf "1" gebracht, so daß ein N- Kanal-Tranistor 122 eingeschaltet wird, um das Signal CM1 auf "0" zu bringen.
  • Wie es oben angegeben ist, ist das Signal CM1 durch das Vorladen auf "1" gebracht worden, wenn der Zeittakt CLK "1" ist. Jedoch dann, wenn die Ausgabe des AND-Gatters 121 "1" wird, wird das Signal CM1 auf "1" gebracht. Gleichzeitig wird ein (Zwischen-)Speicher vom RS-Typ 126 über ein OR-Gatter 124 und ein AND- Gatter 125 auf "1" gesetzt.
  • Als nächstes wird dann, wenn der Zeittakt CLK auf "1" gebracht wird, eine (Zwischen-)Speicherschaltung 127 auf "1" gebracht. Wenn das Zeitsignal STG3 auf "1" gebracht wird, wird eine Ausgabe eines AND-Gatters 141 auf "1" gebracht. Als Ergebnis wird eine Ausgabe eines Inverters 142 über ein OR-Gatter 166 auf "0" gebracht, und daher wird ein N-Kanal-MOS-Transistor 144 nichtleitend gemacht. Daher ist das Eingangssignal CMIN, das durch einen P-Kanal-MOS-Transistor 146 vorgeladen worden ist, der eingeschaltet wird, wenn ein vorangehender Zeittakt CLK "0" war, "1". Andererseits wird dann, wenn das Ausgangssignal CMOT, das über die Bestätigungs-Unterbrechungsanfragesteuerung 4 geerdet ist, "0" ist, eine Ausgabe eines Inverters IN15 auf "1" gebracht. Demgemäß wird eine Ausgabe eines AND-Gatters 143 auf "1" gebracht, und daher wird das Signal RA zum Vorbereiten einer Vektoradressentabelle 5 ausgegeben.
  • Wenn das Zeitsignal STG2 "1" wird, wenn das Prioritätsbit-Register 117 "0" ist und die (Zwischen-)Speicherschaltung 127 "1" ist, wird eine Ausgabe eines AND-Gatters 128 zur Zeit von "0" des Zeittaktes CLK auf "1" gebracht. Daher wird ein N-Kanal- MOS-Transistor 129 eingeschaltet, um das Signal CM2 auf "0" zu bringen. Wie es oben angegeben ist, ist das Signal CM2 durch das Vorladen auf "1" gebracht worden, als der Zeittakt CLK "1" war. Jedoch dann, wenn die Ausgabe des AND- Gafters 128 "1 "wird, wird das Signal CM2 auf "0" gebracht.
  • Eine Ausgabe eines AND-Gatters 132 wird auf "1" gebracht, wenn das Prioritätsbit- Register 117 "1", das Signal CM2 "0" und das Zeitsignal STG2 "1" ist. Eine Ausgabe eines AND-Gatters 149 wird zur Zeit von "0" des Zeittaktes CLK auf "1" gebracht, wenn das Signal RA "0" ist und das Zeitsignal STG3 "1" ist. Wenn die Ausgabe des AND-Gatters 132 "1" ist, oder wenn das Rücksetzsignal RESET "1" ist, oder wenn das Signal CLRIF "1" ist, oder wenn das Signal CLRMS "1" ist, oder wenn die Ausgabe eines AND-Gatters 149 "1" ist, wird eine Ausgabe eines OR-Gatters 140 auf "1" gebracht. Danach wird dann, wenn ein nächster Zeittakt CLK "0" wird, die RS- (Zwischen-)Speicherschaltung 126 auf "0" rückgesetzt.
  • Wenn die Ausgabe des OR-Gatters 140 "0" ist, wird eine Ausgabe eines Inverters 133 auf "1" gebracht. Wenn die Ausgabe der (Zwischen-)Speicherschaltung 127 "1" ist und das Zeitsignal STG3 "1" ist, wird eine Ausgabe einer AND-Schaltung 135 als "1" ausgegeben, so daß ein N-Kanal-MOS-Transistor 134 eingeschaltet wird. Daher wird das Signal SLPRH auf "0" gebracht.
  • Wenn die Ausgabe der (Zwischen-)Speicherschaltung 127 "1" ist, und wenn die Zeitsignale STG1, STG2 und STG3 "0" sind, nämlich dann, wenn das Zeitsignal STG0 "1" ist, wird die Ausgabe des AND-Gatters 136 auf "1" gebracht, so daß die Ausgaben der Prioritätsbit-Register 116 und 117 über Ausgangspuffer 138 und 139 als Signale PR1 und PR0 ausgegeben werden.
  • Als nächstes wird dann, wenn das Bit MSINT 150 "1" und das Maskenbit 111 "0" ist, eine Ausgabe eines AND-Gatters 162 auf "1" gebracht, wenn das Unterbrechungs- Anfragesignal INT0 erzeugt wird. Wenn das Zeitsignal STG1 "1" wird, wird die Ausgabe des AND-Gatters 165 auf "1" gebracht, was die Ausgabe des Inverters 142 über das OR-Gatter 166 auf "0" bringt. Daher wird der N-Kanal-MOS-Transistor 144 nichtleitend gemacht. Das Signal CMIN, das durch den P-Kanal-MOS-Transistor 146 auf "1" vorgeladen worden ist, als der vorangehende Takt CLK "0" war, wird an das AND-Gatter 143 angelegt. Zusätzlich wird das Signal CMOT, das über den N- Kanal-Transistor 48 in der Bestätigungs-Unterbrechungsanfragesteuerung 4 geerdet ist, über einen Inverter 145 zum AND-Gatter 143 geführt. Daher wird die Ausgabe des AND-Gatters 143 auf "1" gebracht, und das Signal RA wird erzeugt.
  • Eine (Zwischen-)Speicherschaltung 167 speichert das Signal RA in Antwort auf die Zeitsignale STG1 oder STG3 (zwischen), und der Inhalt des (Zwischen-)Speichers 167 wird in Antwort auf den Takt CLK zu einem weiteren (Zwischen-)Speicher 168 übertragen. Wenn der (Zwischen-)Speicher 168 "1" ist, wenn das Signal CLRIF eingegeben wird, wird das Unterbrechungsanfrage-Flag 112 gelöscht, und wenn das Signal CLRMS eingegeben wird, wird das Bit MSINT 160 gelöscht. In jedem Fall wird gleichzeitig der (Zwischen-)Speicher 167 gelöscht. Wenn das Signal CLRMS eingegeben wird, da das Unterbrechungsanfrage-Flag 112 nicht gelöscht wird, wird die Unterbrechungs-Prioritätspegeluntersuchung der Vektorunterbrechung sofort begonnen.
  • In Fig. 23 ist ein logisches Schaltungsdiagramm der in Fig. 20 gezeigten Bestätigungs-Unterbrechungs-Anfragesignal-Steuerung 4 gezeigt. In Fig. 23 arbeiten Elemente, die jenen entsprechen, die in Fig. 22 gezeigt sind, auf gleiche Weise, und daher wird eine Erklärung weggelassen.
  • Die in Fig. 23 gezeigte Schaltung ist von der in Fig. 22 gezeigten Schaltung in folgenden Punkten unterschiedlich: Die Ausgabe der in Fig. 22 gezeigten AND- Schaltung 114 ist das Signal ENISPR, und die Ausgaben der Prioritätsbit-Register 116 und 117 sind durch die Signale INPR1 und ISPR0 ersetzt. Zusätzlich sind die AND-Schaltungen 110, 114, 135, 136, 162 und 164, die N-Kanal-MOS-Transistoren 134, die Inverter 119 und 133, das NOR-Gatter 137, die OR-Gatter 113, 161, 163, 166 und 169, das Maskenbit 111, das Unterbrechungsanfrage-Flag 112 und die (Zwischen-)Speicher 160, 167 und 168 weggelassen. Das Signal RA und die Signale SLPRH sind weggelassen. Daher ist die in Fig. 23 gezeigte Schaltung in anderen Punkten dieselbe wie die in Fig. 22 gezeigte Schaltung. Demgemäß entsprechen ein RS-(Zwischen-)Speicher 41 und ein (Zwischen-)Speicher 42 dem RS- (Zwischen-)Speicher 126 bzw. dem (Zwischen-)Speicher 45. AND-Gatter 423, 425, 429, 432, 442, 449 und 443 entsprechen den AND-Gattern 121, 125, 128, 132, 141, 149 und 143. Ein OR-Gatter 440 entspricht dem OR-Gatter 140, und Inverter 420, 423, 430, 431, 442, 445, 448 und 447 entsprechen den jeweiligen Invertern 120, 123, 130, 131, 142, 145, 148 und 147. N-Kanal-MOS-Transistoren 442, 429 und Transistoren 122, 129 und 144 und dem P-Kanal-Transistor 146.
  • Nun wird eine Operation des fünften Ausführungsbeispiels der Unterbrechungssteuerung unter Bezugnahme auf Fig. 24 erklärt, die das Zeitdiagramm zum Darstellen der Operation der Unterbrechungssteuerung zeigt.
  • Hier ist angenommen, daß das Maskenbit-Register 111 der vier Unterbrechungs- Anfragesignal-Steuerungen 3A, 3B, 3C und 3D (die den jeweiligen Unterbrechungs- Anfragesignalen INT0, INT1, INT2 und INT3 entsprechen) jeweils auf "0", "0", "0" und "0" gesetzt sind, und daß die Bits MSINT 160 der vier Unterbrechungs- Anfragesignal-Steuerungen 3A, 3B, 3C und 3D jeweils auf "1", "0", "0" und "0" gesetzt sind, und es ist auch angenommen, daß die Prioritätsbit-Register 33A und 33B der vier Unterbrechungs-Anfragesignal-Steuerungen 3A, 3B, 3C und 3D jeweils auf "1, 0" (Prioritätspegel "2"), "1, 0" (Prioritätspegel "2"), "0, 0" (Prioritätspegel "0") und "0, 1" (Prioritätspegel "1") gesetzt sind. Zusätzlich ist das Signal EI "1". Daher ist der Zustand außer für die Bits MSINT 160 derselbe wie bei der Operation des herkömmlichen Beispiels.
  • In diesem Fall ist die Operation vor der Zeit T26 dieselbe wie die entsprechende Operation des ersten Ausführungsbeispiels und daher wird nur eine Operation bis zur Zeit T24 erklärt.
  • Zur Zeit T27 wird, wenn das Unterbrechungs-Anfragesignal INT0 erzeugt wird, das Zeitsignal STG1 zur Zeit T29 erzeugt, und die Ausgabe des AND-Gatters 165 wird auf "1" gebracht, so daß das Signal RA ähnlich wie das Unterbrechungs- Anfragesignal INT1 erzeugt wird. Zur Zeit T30 werden das Unterbrechungsverarbeitungs-Anfragesignal INTRQ und das Signal MSINTRQ erzeugt.
  • Die CPU 100 bringt das Signal OEVC auf "1" und eine Adresse der Vektoradressentabelle 5 wird zum internen Datenbus 1 ausgegeben. Zu dieser Zeit wird, da die (Zwischen-)Speicherschaltung 48A "1" ist, die Ausgabe des AND-Gatters 51 nicht auf "1" gebracht, und daher ändert sich der Wert des Registers für einen gerade ausgeführten Prioritätspegel 7 nicht. Daher wird das Signal CLRMS ausgegeben, das Bit MSINT 160 wird gelöscht, und das Zeitsignal STG1 wird gleichzeitig vom Stufenzähler 2 ausgegeben. Da das Unterbrechungsanfrage-Flag 112 in der Unterbrechungs-Anfragesignal-Steuerung 3A auf "1" gehalten wird, wird die Unterbrechungs-Prioritätspegeluntersuchung wieder begonnen.
  • Zur Zeit T35 wird, da die Ausgangssignale ISPR1 und ISPR0 des Registers für einen gerade ausgeführten Prioritätspegel 7 zur Zeit T27 jeweils "1" und "0" sind, die Ausgabe des AND-Gatters 421 "0", und das Signal CM1 wird "1". Die Ausgabe des AND-Gatters 425 wird "1", so daß die RS-(Zwischen-)Speicherschaltung 426 gesetzt wird. Wenn der Zeittakt CLK "1" wird, wird die Ausgabe der (Zwischen-)Speicherschaltung 427 auf "1" gebracht. Da ISPR0 "0" ist, wird die Ausgabe des AND-Gatters 428 "1", und das Signal CM2 wird auf "1" gehalten. Demgemäß wird die Ausgabe des AND-Gatters 432 auf "0" gehalten, und daher wird auch die Ausgabe des OR-Gatters 440 auf "0" gehalten. Demgemäß wird die RS- (Zwischen-)Speicherschaltung 426 nicht rückgesetzt.
  • Da der Prioritätspegel (Pegel 2) des Unterbrechungs-Anfragesignals INT0 derselbe wie jener des vorangehenden ist, ist auch der Inhalt der Prioritätsbit-Register 116 und 117 derselbe, und die Unterbrechungs-Anfragesignal-Steuerung 3A arbeitet auf gleiche Weise, so daß die Ausgabe der (Zwischen-)Speicherschaltung 127 "1" wird.
  • Zur Zeit von "1" des Zeitsignals STG3 werden die Ausgabe des AND-Gatters 441 der Bestätigungs-Unterbrechungsanfragesteuerung 4 und die Ausgabe des AND- Gatters 141 der Unterbrechungs-Anfragesignal-Steuerung 3A jeweils auf "1" gebracht, und daher werden Ausgaben der Inverter 442 und 142 auf "0" gebracht, so daß die MOS-Transistoren 444 und 144 ausgechaltet werden.
  • Demgemäß ist nur das geerdete Ausgangssignal CMOT der Bestätigungs- Unterbrechungsanfragesteuerung 4 "0", und das Eingangssignal CMIN der Bestätigungs-Unterbrechungsanfragesteuerung 4 und das Eingangssignal CMIN und das Ausgangssignal CMOT der Unterbrechungs-Anfragesignal-Steuerung 3A werden auf "1" gehalten, da das Signal CMIN vorgeladen worden ist, als der Zeittakt CLK "1" war.
  • Daher wird die Ausgabe des Inverters 445 der Bestätigungs- Unterbrechungsanfragesteuerung 4 "1", und die Ausgabe des AND-Gatters 443 wird auf "1" gebracht, so daß die Ausgabe des Inverters 448 auf "0" gebracht wird und die Ausgabe des AND-Gatters 449 auch auf "0" gebracht wird. Demgemäß wird auch die Ausgabe des OR-Gatters 440 auf "0" gebracht.
  • In der Unterbrechungs-Anfragesignal-Steuerung 3A wird andererseits die Ausgabe des Inverters 145 "0", und die Ausgabe des AND-Gatters 143 wird auch "0", so daß das Signal RA auf "0" gehalten wird. Gleichzeitig wird die Ausgabe des Inverters 148 auf "1" gebracht, und die Ausgabe des AND-Gatters 149 wird auf "1" gebracht, so daß die Ausgabe des OR-Gatters 140 auf "1" gebracht wird und die RS- (Zwischen-)Speicherschaltung 126 zurückgesetzt wird. Das Unterbrechungs- Anfragesignal INT0 wird nämlich nicht bestätigt, und daher wird das Unterbrechungsverarbeitungs-Anfragesignal 1 NTRQ nicht ausgegeben. Anders ausgedrückt wird die Unterbrechungsanfrage mit demselben Prioritätspegel wie jenem der gerade ausgeführten Unterbrechungsverarbeitung nicht bestätigt.
  • Obwohl es im Zeitdiagramm nicht gezeigt ist, arbeitet dann, wenn keine Unterbrechungsanfrage nicht bestätigt worden ist, wenn die Unterbrechungs-Anfragesignale mit dem Prioritätspegel "0" und die Inhalte "0" und "0" der Prioritätsbit-Register 33A und 33B erzeugt werden, nämlich dann, wenn zwei Unterbrechungsanfragen mit demselben Prioritätspegel erzeugt werden, das fünfte Ausführungsbeispiel gleich dem ersten und dem dritten Ausführungsbeispiel Nämlich auch beim fünften Ausführungsbeispiel hat dann, wenn die Unterbrechungs-Anfragesignale INT0 und INT1 mit demselben Prioritätspegel erzeugt werden, das Unterbrechungs-Anfragesignal INT0 eine Priorität über das Unterbrechungs-Anfragesignal INT1.
  • Wie es oben angegeben ist, wird dann, wenn während der Ausführung einer Unterbrechungsverarbeitung mit niedrigem Prioritätspegel eine Unterbrechungsverarbeitung mit hohem Prioritätspegel angefordert wird, der Prioritätspegel in der Reihenfolge der Gewichtung von einem Prioritätsbit mit großer Gewichtung zu einem Prioritätsbit mit geringer Gewichtung abgetastet. Daher kann die Unterbrechungssteuerung auf die Unterbrechungsanfrage mit einer Geschwindigkeit antworten, die höher als jene der herkömmlichen Unterbrechungssteuerung ist. Zusätzlich wird, wenn eine Unterbrechungsanfrage mit demselben Prioritätspegel wie jenem der gerade ausgeführten Unterbrechungsverarbeitung erzeugt wird und wenn zwei oder mehrere Unterbrechungsanfragen mit demselben Prioritätspegel gleichzeitig erzeugt werden, eine Unterbrechungsanfrage mit hoher Vorgabe (hoch in der Reihenfolge der durch eine Schaltung eingestellten Präferenz) bestätigt, aber eine Unterbrechungsanfrage mit niedriger Vorgabe wird nicht bestätigt. Zusätzlich kann das fünfte Ausführungsbeispiel die Makrodienstverarbeitung bearbeiten. Daher kann die Unterbrechungssteuerung, wie sie oben angegeben ist, verschiedene Unterbrechungsanfragen mit hoher Geschwindigkeit bearbeiten.
  • Ausführungsbeispiel 6
  • In Fig. 25 ist ein Blockdiagramm eines sechsten Ausführungsbeispiels der Unterbrechungssteuerung gemäß der vorliegenden Erfindung gezeigt.
  • Das sechste Ausführungsbeispiel ist vom fünften Ausführungsbeispiel darin unterschiedlich, daß der Prioritätspegel in 8 Pegel aufgeteilt ist. Aufgrund dieser Abänderung enthält das zweite Ausführungsbeispiel einen Stufenzähler 2A, der abgeändert ist, wie es in Fig. 26 gezeigt ist, und Unterbrechungs-Anfragesignal-Steuerungen 3E bis 3J, die abgeändert sind, wie es in Fig. 27 gezeigt ist, und eine Bestätigungs- Unterbrechungsanfragesteuerung 4A, die abgeändert ist, wie es in Fig. 28 gezeigt ist.
  • Zusätzlich ist die Abänderung der in Fig. 21 gezeigten Schaltung zu der in Fig. 26 gezeigten Schaltung auf dieselbe Weise durchgeführt, wie die Abänderung der in Fig. 5 gezeigten Schaltung zu der in Fig. 10 gezeigten Schaltung. Die Abänderung der in Fig. 22 gezeigten Schaltung zu der in Fig. 27 gezeigten Schaltung ist auf dieselbe Weise durchgeführt, wie die Abänderung der in Fig. 6 gezeigten Schaltung zu der in Fig. 11 gezeigten Schaltung. Die Abänderung der in Fig. 23 gezeigten Schaltung zu der in Fig. 27 gezeigten Schaltung ist auf dieselbe Weise durchgeführt, wie die Abänderung der in Fig. 7 gezeigten Schaltung zu der in Fig. 12 gezeigten Schaltung. Daher wird eine Erklärung des Stufenzählers 2A, der Unterbrechungs- Anfragesignal-Steuerungen 3E bis 3J und der Bestätigungs- Unterbrechungsanfragesteuerung 4A weggelassen.
  • Daher ist das sechste Ausführungsbeispiel derart, daß die acht Prioritätspegel mit den drei Zeitgaben in der Reihenfolge der Gewichtung "4" T der Gewichtung "2" T der Gewichtung "1" gesteuert werden. Bei dieser Steueroperation wird das Ausgangssignal CMOT der Sperrverhinderungs-Unterbrechungsanfragesteuerung 4C zur Zeitgabe des Zeitsignals STG4 geerdet, wie beim dritten Ausführungsbeispiel, und das Ausgangssignal CMOT und das Eingangssignal CMIN der Unterbrechungs- Anfragesignal-Steuerungen 3E bis 3H werden auf dieselbe Weise angeschlossen, wie es hierin zuvor angegeben ist. Mit dieser Verbindung kann dann, wenn zwei oder mehrere Unterbrechungsanfragen mit demselben Prioritätspegel erzeugt werden, die Prioritätspegelsteuerung basierend auf den Vorgabewerten mit einer Zeitgabe realisiert werden.
  • Ausführungsbeispiel 7
  • In Fig. 29 ist ein Blockdiagramm eines siebten Ausführungsbeispiels der Unterbrechungssteuerung gemäß der vorliegenden Erfindung gezeigt. Das siebte Ausführungsbeispiel ist eine derartige Vereinfachung des ersten Ausführungsbeispiels, daß nur die Zeitsignale STG1, STG2 und STG0 erzeugt werden. In Fig. 29 sind Elementen, die gleich oder entsprechend jenen sind, die in Fig. 4 gezeigt sind, dieselben Bezugszeichen zugeordnet. Da das siebte Ausführungsbeispiel dasselbe wie das erste Ausführungsbeispiel ist, außer daß das Zeitsignal STG3 nicht erzeugt wird, wird die Erklärung des Aufbaus und der Operation weggelassen.
  • In Fig. 30 ist ein logisches Schaltungsdiagramm des Stufenzählers 2 gezeigt, der bei der in Fig. 29 gezeigten Unterbrechungssteuerung verwendet wird. Obwohl es in Fig. 30 Bezugszeichen gibt, die sich von jenen unterscheiden, die in Fig. 5 angegeben sind, wird, da Elemente, die bezüglich der Schaltungsfunktion jenen entsprechen, die in Fig. 5 gezeigt sind, auf dieselbe Weise arbeiten, die Operation der Schaltung der Fig. 30 weggelassen.
  • Wendet man sich nun der Fig. 31 zu, ist dort ein logisches Schaltungsdiagramm der Unterbrechungs-Anfragesignal-Steuerung gezeigt, die bei der in Fig. 29 gezeigten Unterbrechungssteuerung verwendet wird. Ähnlich zur Fig. 30 wird, obwohl in Fig. 31 Bezugszeichen angegeben sind, die unterschiedlich von jenen sind, die in Fig. 6 angegeben sind, da Elemente, die bezüglich der Schaltungsfunktion jenen entsprechen, die in Fig. 6 gezeigt sind, auf dieselbe Weise arbeiten, die Operation der Schaltung der Fig. 31 weggelassen.
  • In Fig. 32 ist ein logisches Schaltungsdiagramm der Bestätigungs- Unterbrechungsanfragesteuerung gezeigt, die bei der in Fig. 29 gezeigten Unterbrechungssteuerung verwendet wird. Gleich zur Fig. 30 wird, obwohl in Fig. 32 Bezugszeichen angegeben sind, die sich von jenen unterscheiden, die in Fig. 7 angegeben sind, da Elemente, die bezüglich der Schaltungsfunktion jenen entsprechen, die in Fig. 7 gezeigt sind, auf dieselbe Weise arbeiten, die Operation der Schaltung der Fig. 32 weggelassen.
  • Fig. 33 ist ein Zeitdiagramm zum Darstellen der Operation der in Fig. 29 gezeigten Unterbrechungssteuerung. Das siebte Ausführungsbeispiel arbeitet gleich dem ersten Ausführungsbeispiel, außer der Tatsache, daß das Zeitsignal STG3 nicht erzeugt wird, und eine Erklärung der Operation wird weggelassen.
  • Ausführungsbeispiel 8
  • In Fig. 34 ist ein Blockdiagramm eines achten Ausführungsbeispiels der Unterbrechungssteuerung gemäß der vorliegenden Erfindung gezeigt.
  • Das achte Ausführungsbeispiel ist vom siebten Ausführungsbeispiel darin unterschiedlich, daß der Prioritätspegel in 8 Pegel aufgeteilt ist. Aufgrund dieser Abänderung enthält das zweite Ausführungsbeispiel einen Stufenzähler 2A, der abgeändert ist, wie es in Fig. 35 gezeigt ist, und Unterbrechungs-Anfragesignal-Steuerungen 3E bis 3J, die abgeändert sind, wie es in Fig. 36 gezeigt ist, und eine Bestätigungs- Unterbrechungsanfragesteuerung 4A, die abgeändert ist, wie es in Fig. 37 gezeigt ist.
  • In Fig. 35 wird, obwohl in ihr Bezugszeichen angegeben sind, die sich von jenen unterscheiden, die in Fig. 6 angegeben sind, da Elemente, die bezüglich der Schaltungsfunktion jenen entsprechen, die in Fig. 6 gezeigt sind, auf dieselbe Weise arbeiten, die Operation der Schaltung der Fig. 35 weggelassen.
  • Gleich zur Fig. 35 wird in Fig. 36, obwohl in ihr Bezugszeichen angegeben sind, die sich von jenen unterscheiden, die in Fig. 11 angegeben sind, da Elemente, die bezüglich der Schaltungsfunktion jenen entsprechen, die in Fig. 11 gezeigt sind, auf dieselbe Weise arbeiten, die Operation der Schaltung der Fig. 36 weggelassen.
  • Ebenso gleich zur Fig. 35 wird in Fig. 37, obwohl in ihr Bezugszeichen angegeben sind, die sich von jenen unterscheiden, die in Fig. 12 angegeben sind, da Elemente, die bezüglich der Schaltungsfunktion jenen entsprechen, die in Fig. 12 gezeigt sind, auf dieselbe Weise arbeiten, die Operation der Schaltung der Fig. 37 weggelassen.
  • Wie es aus den unter Bezugnahme auf die beigefügten Zeichnungen erklärten Ausführungsbeispielen klar wird, ist die Unterbrechungssteuerung gemäß der vorliegenden Erfindung dadurch gekennzeichnet, daß dann, wenn die Prioritätspegel 2n oder kleiner sind, die Prioritätspegel in der Reihenfolge von 2n T 2n-2 T ... 2&sup0; abgetastet werden und die Prioritätspegel basierend auf den Vorgabewerten bei nur einer Zeitgabe abgetastet werden. Daher kann, selbst wenn Unterbrechungsanfragen mit denselben Prioritätspegeln miteinander konkurrieren, ein Unterbrechungs- Anfragesignal mit dem höchsten Prioritätspegel aus den konkurrierenden Unterbrechungsanfragen mit nur (n+1) Zeitgaben erfaßt werden.
  • Die Erfindung ist somit unter Bezugnahme auf die spezifischen Ausführungsbeispiele gezeigt und beschrieben worden. Jedoch sollte angemerkt werden, daß die vorliegende Erfindung keineswegs auf die Details der dargestellten Strukturen beschränkt ist, sondern Änderungen und Abänderungen durchgeführt werden können.

Claims (5)

1. Unterbrechungssteuerung, die folgendes aufweist: eine Vielzahl von n-Bit- Prioritätsbit-Registern zum Zuordnen von 2n Prioritätspegeln zu einer Vielzahl von Unterbrechungs-Anfragesignalen (wobei n eine ganze Zahl nicht kleiner als 2 ist), einen Stufenzähler zum sequentiellen und wiederholten Erzeugen von (n+1) Zeitgabesignalen, die zum Abtasten der Prioritätspegel der Unterbrechungs-Anfragesig nale verwendet werden, ein Register für Prioritätspegel während einer Ausführung zum Speichern des Inhalts des Prioritätsbit- Registers des Unterbrechungs-Anfragesignals entsprechend einer gerade ausgeführten Unterbrechungsverarbeitung, eine Unterbrechungs- Anfragesignal-Steuereinrichtung zum Vergleichen des Inhalts des Registers für Prioritätspegel während einer Ausführung mit Inhalten der Prioritätsbit- Register der erzeugten Unterbrechungs-Anfragesignale einschließlich des Prioritätsbit-Registers des Unterbrechungs-Anfragesignals entsprechend der gerade ausgeführten Unterbrechungsverarbeitung synchron zu den "n" Zeitgabesignalen in der Reihenfolge des Bits an der höchsten Stelle zum Bit an der niedrigsten Stelle, wobei die Unterbrechungs-Anfragesig nal-Steuereinrichtung arbeitet, um ein Unterbrechungs-Anfragesignal mit dem Bit höchster Priorität aus den gerade erzeugten Unterbrechungs-Anfragesignalen zu erfassen, wobei die Unterbrechungs-Anfragesignal-Steuereinrichtung auch derart arbeitet, daß dann, wenn eine Vielzahl von Unterbrechungs-Anfragesignalen mit dem Bit höchster Priorität erfaßt wird, die Unterbrechungs-Anfragesignal- Steuereinrichtung ein Unterbrechungs-Anfragesignal gemäß einer vorbestimmten Reihenfolge synchron zu einem Zeitgabesignal auswählt, das den "n" Zeitgabesignalen folgt, und eine Einrichtung zum Erzeugen eines Unterbrechungsverarbeitungs-Anfragesignals, wenn die Unterbrechungs-Anfragesig nal- Steuereinrichtung ein Unterbrechungs-Anfragesignal mit dem höchsten Prioritätspegel erfaßt.
2. Unterbrechungssteuerung nach Anspruch 1, wobei die jeweiligen Bits des Prioritätsbit-Registers derart eingestellt sind, daß sie eine Gewichtung von 2(N-1) haben (wobei N = 1 bis n gilt).
3. Unterbrechungssteuerung nach Anspruch 2, wobei der Inhalt des Prioritätsbit- Registers in der Reihenfolge von einem Bit mit großer Gewichtung zu einem Bit mit geringer Gewichtung erfaßt wird.
4. Unterbrechungssteuerung nach Anspruch 1, die weiterhin eine Unterbrechungssperrverhinderungs-Unterbrechungs-Anfragesignalsteuerung zum Erfassen eines eingegebenen Unterbrechungssperrverhinderungs- Unterbrechungs-Anfragesignals in der vorbestimmten Reihenfolge mit einer einzigen Zeitgabe enthält.
5. Unterbrechungssteuerung nach Anspruch 1, die weiterhin eine Verarbeitungs- Zuordnungseinrichtung zum Zuordnen einer aus einer Vektorunterbrechungsverarbeitung und einer Makrodienstverarbeitung ausgewählten Verarbeitung enthält.
DE69118833T 1990-11-02 1991-11-04 Unterbrechungssteuerung Expired - Fee Related DE69118833T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2297475A JP2567988B2 (ja) 1990-11-02 1990-11-02 割込みコントローラ
JP2411473A JP2702291B2 (ja) 1990-12-18 1990-12-18 割込みコントローラ
JP2411472A JP2702290B2 (ja) 1990-12-18 1990-12-18 割込みコントローラ
JP3012911A JPH04235635A (ja) 1991-01-09 1991-01-09 割込みコントローラ

Publications (2)

Publication Number Publication Date
DE69118833D1 DE69118833D1 (de) 1996-05-23
DE69118833T2 true DE69118833T2 (de) 1997-01-02

Family

ID=27455896

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69118833T Expired - Fee Related DE69118833T2 (de) 1990-11-02 1991-11-04 Unterbrechungssteuerung

Country Status (4)

Country Link
US (1) US5481729A (de)
EP (1) EP0489260B1 (de)
KR (1) KR950014373B1 (de)
DE (1) DE69118833T2 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69426625T2 (de) * 1994-09-28 2001-09-06 St Microelectronics Srl Steuerungseinheit für Unterbrechungskanäle in einem Mikrokontroller
KR100313945B1 (ko) * 1999-03-03 2001-11-15 김영환 다단 인터럽트 제어 장치
US9563590B2 (en) * 2014-03-17 2017-02-07 Nxp Usa, Inc. Devices with arbitrated interface busses, and methods of their operation
US9361027B1 (en) * 2014-12-16 2016-06-07 Texas Instruments Incorporated System and method for fast modification of register content

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4091447A (en) * 1976-07-19 1978-05-23 Union Carbide Corporation Interrupt control system for a microcomputer
DE2659662C3 (de) * 1976-12-30 1981-10-08 Ibm Deutschland Gmbh, 7000 Stuttgart Prioritätsstufengesteuerte Unterbrechungseinrichtung
US4271468A (en) * 1979-11-06 1981-06-02 International Business Machines Corp. Multiprocessor mechanism for handling channel interrupts
IT1129371B (it) * 1980-11-06 1986-06-04 Cselt Centro Studi Lab Telecom Commutatore di messaggi a struttura distribuita su canale ad accesso casuale per colloquio a messaggi tra unita elaborative
US4689739A (en) * 1983-03-28 1987-08-25 Xerox Corporation Method for providing priority interrupts in an electrophotographic machine
DE3472177D1 (en) * 1983-07-19 1988-07-21 Nec Corp Apparatus for controlling a plurality of interruption processings
US4633394A (en) * 1984-04-24 1986-12-30 International Business Machines Corp. Distributed arbitration for multiple processors
JPS619748A (ja) * 1984-06-25 1986-01-17 Nec Corp 入出力制御装置
US4734882A (en) * 1985-04-01 1988-03-29 Harris Corp. Multilevel interrupt handling scheme
US4761732A (en) * 1985-11-29 1988-08-02 American Telephone And Telegraph Company, At&T Bell Laboratories Interrupt controller arrangement for mutually exclusive interrupt signals in data processing systems
JPS63238630A (ja) * 1987-03-26 1988-10-04 Toshiba Corp マイクロプロセツサの割込み制御装置
JPH0212432A (ja) * 1988-06-30 1990-01-17 Nec Corp データ処理装置
US5126944A (en) * 1988-11-17 1992-06-30 Nec Corporation Data processing apparatus for producing in sequence pulses having variable width at output ports
JP2855298B2 (ja) * 1990-12-21 1999-02-10 インテル・コーポレーション 割込み要求の仲裁方法およびマルチプロセッサシステム

Also Published As

Publication number Publication date
EP0489260A2 (de) 1992-06-10
KR950014373B1 (ko) 1995-11-25
EP0489260B1 (de) 1996-04-17
US5481729A (en) 1996-01-02
EP0489260A3 (en) 1992-08-05
DE69118833D1 (de) 1996-05-23
KR920010462A (ko) 1992-06-26

Similar Documents

Publication Publication Date Title
DE68923944T2 (de) RAM mit doppelten Ein/Ausgängen.
DE2522748C2 (de) Peripheriekopplungsadapter zur Steuerung der Informationsübertragung zwischen einer Datensammelleitung eines Zentralprozessors und daran angeschlossenen peripheren Einheiten
DE69120586T2 (de) Rechnersystem mit synchronem Bus
DE68927907T2 (de) Einchipmikrorechner
DE3687724T2 (de) Digitalprozessorsteuerung.
DE3751297T2 (de) Schaltung zur Programmsteuerung.
DE4035405C2 (de)
DE3689357T2 (de) Digitaler Lese-/Schreibspeicher.
DE3650532T2 (de) Speicher mit programmierbarem Zugang
DE4118331A1 (de) Bussystem zur anwendung bei einem informationsverarbeitungsgeraet
DE4207945C2 (de) Multiport-Speicher und Verfahren zum Entscheiden eines Zugriffskonflikts darin
DE3689595T2 (de) Datenverarbeitungssystem.
DE69026479T2 (de) Datenprozessor mit Wartezustandsteuerungseinheit
DE19828620B4 (de) Während des Betriebs aufteilbarer Computerbus für einen verbesserten Betrieb mit sich ändernden Bustaktfrequenzen
DE69114321T2 (de) Zum Durchführen der Unterbrechungsverschachtelungsfunktion geeignetes Unterbrechungssteuerungsgerät.
DE3750028T2 (de) Pipelineprozessor mit schwacher Kopplung.
DE69026367T2 (de) Prioritätsvorrichtung mit programmierbarer knotenverweilzeit
DE68919464T2 (de) Halbleiterspeichereinrichtung, die einen Speicher mit Seriengriff aufweist.
DE2524046A1 (de) Elektronische datenverarbeitungsanlage
DE3502147A1 (de) Datenverarbeitungssystem mit verbesserter pufferspeichersteuerung
DE69118833T2 (de) Unterbrechungssteuerung
DE69017367T2 (de) Schaltung zur Prüfbarkeit.
DE3789471T2 (de) Mikrocomputer.
DE19831350A1 (de) Halbleiterschaltungsvorrichtung, die synchron mit einem Taktsignal arbeitet, und Verfahren der Verwendung einer Halbleiterschaltungsvorrichtung, die synchron mit einem Taktsignal arbeitet
DE4210109C2 (de) Sortiervorrichtung zum Sortieren von Daten und Sortierverfahren

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