[go: up one dir, main page]

DE69123794T2 - Unterbrechungssteuerung - Google Patents

Unterbrechungssteuerung

Info

Publication number
DE69123794T2
DE69123794T2 DE69123794T DE69123794T DE69123794T2 DE 69123794 T2 DE69123794 T2 DE 69123794T2 DE 69123794 T DE69123794 T DE 69123794T DE 69123794 T DE69123794 T DE 69123794T DE 69123794 T2 DE69123794 T2 DE 69123794T2
Authority
DE
Germany
Prior art keywords
interrupt
interrupt request
register
controller
generation
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
DE69123794T
Other languages
English (en)
Other versions
DE69123794D1 (de
Inventor
Takashi Miyamori
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Publication of DE69123794D1 publication Critical patent/DE69123794D1/de
Application granted granted Critical
Publication of DE69123794T2 publication Critical patent/DE69123794T2/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

Landscapes

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

Description

  • Die vorliegende Erfindung betrifft einen Interruptsteuerer, der Anforderungen für Interruptverarbeitung von äußeren Vorrichtungen an einen Prozessor überträgt.
  • Beschreibung des Standes der Technik
  • Herkömmlicherweise wird in einem mit einem Interruptsteuerer versehenen System eine Interruptanforderung von einer äußeren Vorrichtung an einen Prozessor dem Prozessor durch einen Interruptsteuerer zugeordnet.
  • Die Interruptanforderung von der äußeren Vorrichtung wird dem Interruptsteuerer in der Form eines Flankentriggerimpulses oder eines Niveautriggerimpulses auf einem Interruptanforderungssignal zugewiesen. Im Falle eines Flankentriggerimpulses wird der Interrupt angefordert, wenn das Interruptsignal von einem hohen Niveau zu einem niedrigen Niveau oder von einem niedrigen Niveau zu einem hohen Niveau geändert wird. Jedoch wird im Fall eines Niveautriggerimpulses der Interrupt von einem Niedrigniveauzustand oder von einem Hochniveauzustand eines Interruptanforderungssignals angefordert. Die Auswahl, welches dieser Triggerimpulse verwendet wird, wird durch den Interruptsteuerer vorgenommen.
  • In dem Fall, wo der Interrupt durch einen Flankentriggerimpuls angefordert wird, erkennt der Interruptsteuerer die Erzeugung einer Interruptanfrage von einer äußeren Vorrichtung, wenn der Flankentriggerimpuls in den Interruptanforderungssignal erzeugt wird, und geht den Interrupterzeugungszustand ein. Das Interruptanforderungssignal an den Prozessor wird dann gültig gemacht, und die Interruptverarbeitung wird vom Steuerer angefordert.
  • Dem folgend wird, wenn der Prozessor auf die Interruptanforderung von dem Steuerer antwortet, der Interruptsteuerer durch ein Interruptbestätigungssignal, welches durch einen Prozessor während dieses Interruptbestätigungszyklus geltend gemacht wird, von dem Interrupterzeugungszustand freigegeben. Oder alternativ wird der Interruptsteuerer durch das Programm während der Interruptverarbeitung, entsprechend zu dieser Interruptanforderung, von dem Interrupterzeugungszustand freigegeben. Der Interruptsteuerer geht, wenn er von dem Interrupterzeugungszustand freigegeben wird, einen Interrupt- Nichterzeugungszustand ein.
  • Bei einem Interruptsteuerer, der zwischen zwei Zuständen dieses Typs wechselt, kann, falls ein zusätzliches Interruptanforderungssignal als ein Flankentriggerimpuls von einer äußeren Vorrichtung in dem Interrupterzeugungszustand zugeordnet wird, der Flankentriggerimpuls nicht erkannt werden. Aus diesem Grund kann der Interruptsteuerer im Interrupterzeugungszustand nicht erkennen, ob oder ob nicht ein Flankentriggerimpuls in dem Interruptanforderungssignal wiedererzeugt worden ist und kann nicht unterscheiden, ob die Interruptanforderung mittels einer Flankentriggerimpuls- Interruptanforderung gemacht worden ist, oder ob die Interruptanforderung durch eine Vielzahl von Flankentriggerimpuls-Interruptanforderungen gemacht wurde.
  • JP-A-61 183 745 zeigt einen Steuerer mit einer Bank von Registern für eine einzige Interruptanforderungsleitung. Es gibt einen Kanalauswähler, um ein nächstes freies Register zuzuordnen, um einen zweiten und folgende Interruptzustände auf der Anforderungsleitung zu speichern. Mittel, um jedes der gespeicherten Interruptzustände zu verarbeiten, einschließlich eines Interruptanforderungsregisters, sind vorgesehen. Sobald ein Interruptantwortsignal inaktiv wird, wird der nächste gespeicherte Anforderungszustand durchgestellt, um verarbeitet zu werden.
  • IBM Technical Disclosure Bulletin, Bd. 32, Nr. 8A zeigt einen Mechanismus für eine Vielzahl von Vorrichtungen, um einen flankensensitiven Interrupt zu teilen.
  • Zusammenfassung der Erfindung
  • Es ist Aufgabe der vorliegenden Erfindung, unter gebührender Berücksichtigung der Nachteile solcher herkömmlichen Vorrichtungen, einen Interruptsteuerer mit der Funktion des Zuweisens von über den Zustand der Erzeugung von einer Vielzahl von Interruptanforderungen (z.B. die Zahl der Erzeugung von Interruptanforderung u.ä.) aufgezeichneter Daten zu einem Prozessor vorzusehen.
  • Nach der vorliegenden Erfindung ist ein Steuerer, wie in Anspruch 1 ausgeführt, vorgesehen. Bevorzugte Merkmale sind in den abhängigen Ansprüchen ausgeführt.
  • Der Interruptsteuerer der vorliegenden Erfindung empfängt und zeichnet den Erzeugungszustand von Interruptanforderungssignalen, die von einer Vielzahl von externen Vorrichtungen angefordert werden, auf.
  • Demzufolge ist die Zuverlässigkeit des Systems verbessert, sogar in dem Fall, wo Interruptanforderungssignale eine Vielzahl von Malen von der gleichen äußeren Vorrichtung erzeugt worden sind, da der Interruptanforderungszustand aufgezeichnet werden kann und die Verarbeitung entsprechend dieser aufgezeichneten Daten ausgeführt werden kann.
  • Kurze Beschreibung der Zeichnungen
  • Fig. 1 zeigt ein Diagramm der Konfiguration eines Ausführungsbeispiels eines Interruptsteuerers der vorliegenden Erfindung;
  • Fig. 2 zeigt ein Diagramm der Konfiguration eines Interruptsteuerregisters, das in dem Interruptsteuerer aus Fig. 1 enthalten ist;
  • Fig. 3 zeigt ein Diagramm der Konfigurierung eines Kanalauswählers, der in dem Interruptsteuerer aus Fig. 1 enthalten ist;
  • Fig. 4 zeigt ein Diagramm des Verhältnisses zwischen den Werten von Adreßbussignalen und dem zugeordneten Interruptsteuerregister;
  • Fig. 5 zeigt ein Schaltdiagramm eines in einem Interruptsteuerregister enthaltenen ES-Bitfeldes;
  • Fig. 6 und Fig. 7 sind Zeitdiagramme, die die Funktion des in dem Interruptsteuerregister aus Fig. 5 enthaltenen ES- Bitfeldes zeigen;
  • Fig. 8 zeigt ein Prozeßflußdiagramm des Interruptsteuerers aus Fig. 1;
  • Fig. 9 zeigt ein Diagramm der Konfiguration eines Flankenzählregisters, das in einem anderen Ausführungsbeispiel der vorliegenden Erfindung verwendet wird;
  • Fig. 10 zeigt ein Diagramm der Entsprechung zwischen dem Wert von Adreßbussignalen und dem zugeordneten Register;
  • Fig. 11 zeigt ein Schaltdiagramm des Flankenzählregisters aus Fig. 9;
  • Fig. 12 zeigt ein Zeitdiagramm der Funktion des Flankenzählregisters aus Fig. 9.
  • Detaillierte Beschreibung der bevorzugten Ausführungsbeispiele
  • Andere Merkmale dieser Erfindung werden offensichtlich im Verlauf der folgenden Beschreibung von beispielhaften Ausführungsbeispielen, die zur Veranschaulichung der Erfindung gegeben werden und nicht zu deren Beschränkung gedacht sind.
  • Fig. 1 zeigt ein Blockdiagramm der Konfiguration eines ersten Ausführungsbeispiels eines Interruptsteuerers der vorliegenden Erfindung. In dem in der Zeichnung gezeigten Ausführungsbeispiel wird, wenn während der Interruptsteuerer in dem Interrupterzeugungszustand ist, ein weiterer Flankentriggerimpuls auf einer Interruptanforderungsleitung erzeugt wird, ein Flag gesetzt, dann wird dieser Flagzustand von einem Programm ausgelesen und ein Interruptanforderungssignal-Erzeugungs zustand wird erkannt.
  • In Fig. 1 umfaßt ein Interruptsteuerer 1 eine Interruptsteuerschaltung 3, die mit einem Interruptsteuerregister 2 versehen ist, und einen Kanalauswähler 4.
  • Das Interruptsteuerregister, um Daten, die die Funktionen des Interruptsteuerers 1 zu einer äußeren Vorrichtung zuordnen, einzugeben und auszugeben, ist vorgesehen. Das Interruptsteuerregister 2 umfaßt acht Register, die zu acht Interruptanforderungssignalen IRO bis 1R7, die zu dem Interruptsteuerer 1 von einer äußeren Vorrichtung zugeordnet sind, jeweilig entsprechen. Diese acht Interruptregister sind durch Adreßbussignale A1, A2 und A3 zugeordnet.
  • Daten, die in dem Interruptsteuerregister 2 gespeichert sind, sind in Feldern geordnet, wie in Fig. 2 gezeigt. In Fig. 2 ist ein INTV-Feld vorgesehen, um einen Interruptvektor zum Ausgeben durch den Interruptsteuerer während eines Interruptbestätigungszyklus zu speichern. Ein INTL-Feld ist vorgesehen, um einen Interruptniveauwert zu speichern zum Ausgeben durch einen Prozessor, wenn eine Interruptanforderung von einer äußeren Vorrichtung durch ein Interruptanforderungssignal IRn empfangen wird.
  • Ein TM-Bitfeld ist vorgesehen, um Daten zu speichern, die gesetzt werden, wenn das Interruptanforderungssignal IRn entweder einen Flankentriggerimpuls oder einen Niveautriggerimpuls setzt. In dem Fall, wo das TM-Bitfeld z.B. "1" ist, wird ein Flankentriggerimpuls gesetzt, und ein Interrupt wird erzeugt, wenn das Signal IRn von einem niedrigen Niveau zu einem hohen Niveau wechselt. Wechselweise ist, wenn das TM-Bitfeld "0" ist, der Niveautriggerimpulsmodus gesetzt, und ein Interrupt wird erzeugt, wenn der Interruptanforderungsimpuls IRn in dem Niedrigniveauzustand ist.
  • Ein IE-Bitfeld ist vorgesehen, um entweder die Zulassung oder die Zurückweisung der Erzeugung eines Interrupts durch das Interruptanforderungssignal IRn anzuzeigen. In dem Fall, wo das IE-Bitfeld "1" ist, ist der Interruptsteuerer 1 in einem Interruptzulassungszustand, und ein Interrupt kann durch das Interruptanforderungssignal IRn erzeugt werden. Wenn das IE- Bitfeld "0" ist, ist der Interruptsteuerer 1 eine Interruptzurückweisung. Im Niveautriggerimpulsmodus wird, falls das Interruptanforderungssignal IRn während der Periode, wenn das IE-Bit "0" ist, niedrigniveau ist, der Prozessor nicht einen Interrupt anfordern. Auf der anderen Seite wird, falls während des Flankentriggerimpulsmodus das IE-Bit "0" ist, ein Eingabeflankentriggerimpuls intern zurückgehalten, und die Interruptanforderung an den Prozessor ist belegt, bis das IE-Bit das nächste Mal "1" wird.
  • Ein AID-Bitfeld ist zum Steuern, ob oder ob nicht das IE-Bit automatisch zu "0" gesetzt wird, wenn eine durch das Interruptanforderungssignal IRn empfangene Interruptanforderung von dem Prozessor angenommen wird. Falls der Interruptbestätigungszyklus ausgeführt wird, während das AID-Bit "1" ist, wird das IE-Bit automatisch zu "0", und der Interruptsteuerer 1 wird der Interruptzurückweisungszustand. Diese Funktion wird nicht verwendet, wenn das AID-Bit "0" ist.
  • Wenn ein fälschliches Interruptanforderungssignal IRn eingegeben wird, wird ein ES-Bit zu "1" gesetzt. Speziell wird im Flankentriggerimpulsmodus, wenn ein Flankentriggerimpuls bereits in dem Interruptanforderungssignal IRn erzeugt worden ist und ein Interrupt angefordert worden ist, falls ein nächster Flankentriggerimpuls in diesem IRn-Signal erzeugt wird, "1" in dem ES-Bit gesetzt, bis der Interruptbestätigungszyklus von dieser Interruptanforderung vervollständigt ist.
  • Bei der mit diesem Interruptsteuerregister 2 versehenen Interruptsteuerschaltung 3 geht, wenn der Flankentriggerimpuls oder der Niveautriggerimpuls durch das Interruptanforderungssignal IRn in die Interruptsteuerschaltung 3 eingegeben wird, der Interruptsteuerer den Interrupterzeugungszustand intern in der Interruptsteuerschaltung 3 ein. In diesem Zustand wird, falls das IE-Bit des Interruptsteuerregisters 2 zu "1" wird, das in dem INTL-Feld gesetzte Interruptniveau durch eine Vielzahl von Interruptanforderungs-Prioritätssignalen IRP0 bis IRP3 ausgegeben, und ein Interrupt wird vom Prozessor angefordert. Nachfolgend gibt in dem Interruptbestätigungszyklus, wenn das Interruptbestätigungssignal IACK das niedrige Niveau eingeht, der Interruptsteuerer den in dem INTV-Feld des Interrupt- Steuerregisters 2 durch eine Vielzahl von Datenbussignalen DO0 bis DO07 gesetzten Interruptvektor mittels des Prozessors 1 aus. Dann wird zur gleichen Zeit der Interruptsteuerer von dem Interrupterzeugungszustand freigegeben.
  • Der Kanalauswähler 4 ist eine Schaltung, um Interruptsteuerregister-Zuordnungssignale zu erzeugen, um eine Vielzahl von Interruptsteuerregistern #0 bis #7 entsprechend zu jedem Interruptanforderungssignal zuzuordnen. Ein chipauswählsignal CS und Adreßbussignale A1 bis A3 werden von einer äußeren Vorrichtung eingegeben, wenn auf das Interruptsteuerregister 2 zugegriffen wird. Der Kanalauswähler 4 hat eine Konfiguration, wie sie z.B. in Fig. 3 gezeigt wird, und die Interruptsteuerregister #0 bis #7 sind jeweilig durch die Adreßbussignale A1 bis A3 zugeordnet, wie in Fig. 4 gezeigt.
  • Als nächstes wird die Konfiguration des ES-Bitfeldes des Interruptsteuerregisters 2 mit Bezug auf das in Fig. 5 gezeigte Schaltdiagramm erklärt. Die Erklärung wird für den Fall gemacht, wo das TM-Bitfeld in dem Flankentriggerimpulsmodus zu "1" gesetzt ist.
  • Ein Register F/F5 ist vorgesehen, um den Interrupterzeugungszustand zu erhalten, und ein Flip-Flop F/F6 ist entsprechend dem ES-Bitfeld vorgesehen. Das Register F/F5 und das Flip-Flop F/F6 sind eingangs zu "0" gesetzt. Das Interruptanforderungssignal IRn wird zu der Uhr CK des Registers F/F5 eingegeben, und wenn ein Flankentriggerimpuls an das Interruptanforderungssignal IRn mit dem Interruptbestätigungssignal IACK auf dem hohen Niveau eingegeben wird, wird das Register F/F5 auf "1" gesetzt, und der Interruptsteuerer geht den Interrupterzeugungszustand ein.
  • Zusätzlich wird, falls das Chipauswählsignal CSn auf dem hohen Niveau ist, der Flankentriggerimpuls des Interruptanforderungssignals IRn zur gleichen Zeit eingegeben zu der Uhr CK des Registers F/F5. Zu diesem Zeitpunkt wird, falls eine Ausgabe Q des Registers F/F5 auf dem niedrigen Niveau ist, die Ausgabe Q des Flip-Flops F/F6 an einen Eingang D des Flip-Flops F/F6 zurückgeführt, so daß der Inhalt des Registers F/F5 "0" bleibt.
  • Das Interruptbestätigungssignal IACK wird an einen CLEAR- Anschluß CLR des Registers F/F5 eingegeben, und wenn das Interruptbestätigungssignal IACK in dem Interruptbestätigungszyklus auf dem niedrigen Niveau ist, wird der Inhalt des Registers F/F5 zu "0" gelöscht.
  • Bei der Konfigurierung dieses Typs, wie in dem Interruptbetriebszeitdiagramm von Fig. 6 gezeigt, wird, wenn ein Flankentriggerimpuls auf dem Interruptanforderungssignal IRn erzeugt wird, "1" in dem Register F/F5 gesetzt, und die Ausgabe Q geht auch das hohe Niveau ein. In diesem Zustand wird, falls "1" in dem IE-Bitfeld des Interruptsteuerregisters 2 gesetzt ist, der Wert in dem INTL- Feld als das Interruptanforderungs-Prioritätssignal IRP0 zu 3 ausgegeben. Nachfolgend, wenn das Interruptbestätigungssignal IACK den niedrigen Zustand in dem Interruptbestätigungszyklus eingeht, wird das Register F/F5 zu "0" gelöscht und die Ausgabe Q geht auch das niedrige Niveau ein. Als eine Folge davon werden die Interruptanforderungs-Prioritätssignale IRP0 bis IRP3 alle hochniveau. Das ES-Bitfeld ändert sich nicht durch diesen Vorgang.
  • Als nächstes wird der Fall erklärt, wo das ES-Bitfeld sich ändert. Wenn ein Flankentriggerimpuls zu dem Interruptanforderungssignal IRn eingegeben wird und das Register F/F5 zu "1" gesetzt wird, wird die Eingabe D zu dem Flip-Flop F/F6 auch zu "1". In diesem Zustand wird, wenn ein Flankentriggerimpuls noch einmal zu dem Interruptanforderungssignal IRn eingegeben wird, der Wert "1" der Eingabe D zu dem Flip-Flop F/F6 gehalten (gelatcht), so daß der Inhalt des Flip-Flops F/F6 zu "1" wird. Speziell wird im Interrupterzeugungszustand, wenn der nächste Flankentriggerimpuls eingegeben wird, "1" in dem Flip-Flop F/F6 gesetzt.
  • Als nächstes wird der Zeitablauf mit Bezug auf Fig. 7 erklärt.
  • Bezugnehmend auf Fig. 7 wird nun, wenn ein Flankentriggerimpuls in dem Interruptanforderungssignal IRn erzeugt wird, das Register F/F5 zu "1" gesetzt, und die Ausgabe Q geht auch das hohe Niveau ein. Falls das IE-Bitfeld des Interruptsteuerregisters 2 "1" ist, wird der Wert in dem INTL-Feld als die Interruptanforderungs-Prioritätssignale IRP0 bis IRP3 ausgegeben. Nachfolgend wird, wenn vor dem Beginn des Interruptbestätigungszyklus der nächste Flankentriggerimpuls in dem Interruptanforderungssignal IRn erzeugt wird, das Flip-Flop F/F6 zu "1" gesetzt, und die Ausgabe Q wird auch hochniveau. Nachfolgend, wenn das Interruptbestätigungssignal IACK zu dem niedrigen Niveau geschaltet wird, wird das Register F/F5 zu "0" gelöscht, und die Ausgabe Q geht auch das niedrige Niveau ein. Als eine Folge werden die Interruptanforderungs-Prioritätssignale IRP0 bis IRP3 alle hochniveau. Zu diesem Zeitpunkt ändert sich der Inhalt des Flip-Flop F/F6 nicht, sondern wird auf "1" gehalten. Auf diesem Weg kann, wenn ein Flankentriggerimpuls zu dem Interruptanforderungssignal IRn eingegeben wird und ein Interrupt erzeugt wird, das Flip-Flop F/F6 anzeigen, daß ein nachfolgender Interrupt angefordert worden ist.
  • Das Flip-Flop F/F6 entspricht dem ES-Bitfeld des Interruptsteuerregisters 2 und kann durch einen äußeren Prozessor gelesen und geschrieben werden. Im Falle eines Schreibvorgangs gehen ein Schreibsignal WR und das Chipauswählsignal CS das niedrige Niveau ein, und wenn die führende Flanke eines Daten-Stroboskopsignals DS eingegeben wird, wird der Wert des Datenbussignals DO0 als der Inhalt des Flip-Flops F/F6 eingeführt. Im Falle eines Lesevorgangs wird das Schreibsignal WR zu einem hohen Niveau, und der Wert in den Flip-Flop F/F6 wird als das Datenbussignal DO0 ausgegeben.
  • Durch das Vorsehen dieses Typs von ES-Bitfeldes (F/F6) kann die Tatsache, daß das Verarbeiten des Interrupts von dem Flankentriggerimpuls nicht vorgenommen werden kann, durch das Auslesen des Inhalts des Interruptsteuerregisters 2 des Intereruptsteuerers 1 erkannt werden. Dadurch kann in einem solchen Fall der Fehler durch das Programm gehandhabt werden.
  • Fig. 8 zeigt ein Verarbeitungsflußdiagramm des Verarbeitens eines Interrupts, wenn der Interruptsteuerer 1 der vorliegenden Erfindung verwendet wird. Der in der Fig. 8 gezeigte Verarbeitungsfluß der Interruptverarbeitung wird nun beschrieben werden. Zuerst werden die Inhalte der Prozessorregister gespeichert (Schritt 100), danach wird der Inhalt des Interruptsteuerregisters 2 ausgelesen (Schritt 110), und das ES-Bitfeld (F/F6) wird geprüft (Schritt 120). Falls das Ergebnis der Prüfung zeigt, daß die Inhalte des ES- Bitfelds (F/F6) "0" sind, zeigt dies an, daß die Interruptverarbeitung durch einen Flankentriggerimpuls ausgeführt werden kann, und eine normale Interruptverarbeitung wird ausgeführt (Schritt 130).
  • Auf der anderen Seite, falls die Inhalte des ES-Bitfelds (F/F6) "1" sind, ist die Interruptanfrage mittels eines Flankentriggerimpulses mehrere Male erzeugt, und weil der Prozessor außerstande ist, alle Interruptanforderungen zu verarbeiten, wird ein Fehlerinterruptprozeß durchgeführt (Schritt 140). Auf diesem Wege ist es möglich, den Interruptprozeß auszuwählen, um zu dem Erzeugungszustand des Interruptanforderungsimpulses zu passen.
  • Weiterhin ist die vorliegende Erfindung nicht auf das oben beschriebene Ausführungsbeispiel beschränkt. Zum Beispiel könnte das Ausführungsbeispiel so modifiziert werden, daß das ES-Bitfeld (F/F6) als ein Zähler aufgebaut ist, um die Zahl der Male, die der Flankentriggerimpuls eingegeben wird, zu zählen.
  • Ein zweites Ausführungsbeispiel der vorliegenden Erfindung wird nun erklärt. In dem ersten Ausführungsbeispiel zeigt das ES-Bitfeld, ob oder ob nicht eine zweite Interruptanforderung während der ersten Interruptanforderung erzeugt wird. Jedoch ist es mit nur dem ES-Bitfeld nicht möglich, die Zahl der Interrupte, die erzeugt worden sind, zu wissen.
  • Mit diesem zweiten Ausführungsbeispiel der vorliegenden Erfindung ist ein Flankenzählregister n (wo n=0 bis 7) vorgesehen, das die Zahl der erzeugten Interrupte zählt. Die Konfigurierung des Flankenzählregisters ist in Fig. 9 veranschaulicht. Das Flankenzählregister besteht aus vier Bits. Lese- und Schreibvorgänge von äußeren Vorrichtungen sind möglich, und in solch einem Fall ist entweder das Interruptsteuerregister oder das Flankenzählregister durch die Werte einer Vielzahl von Adreßsignalen A1 bis A4, wie in Fig. 10 gezeigt, ausgewählt.
  • Fig. 11 zeigt ein Schaltdiagramm des Flankenzählregisters. Hier wird eine Erklärung für den Fall des Flankentriggerimpulsmodus mit dem TM-Bitfeld = 1 gegeben.
  • Das F/F5-Register wird in dem gleichen , in Fig. 6 gezeigten Interrupterzeugungszustand gehalten. Ein Zähler 7 ist ein zu einem ECNT-Feld entsprechender Vier-Bit-Zähler. Eingangs ist das Register F/F5 zu "0" gesetzt, und der Zähler 7 ist zu "0000" gesetzt.
  • Das Interruptanforderungssiganl IRn ist mit der Uhr CK des Registers F/F5 verbunden, und wenn ein Flankentriggerimpuls zu dem Interruptanforderungssignal IRn eingegeben wird, wird das Register F/F5 zu "1" gesetzt, und der Prozessor geht den Interrupterzeugungszustand ein.
  • Eine führende Flanke in der Uhr CK des Zählers 7 wird erzeugt, wenn das Register F/F5 zu "1" gesetzt wird, und eine führende Flanke wird in dem Interruptanforderungssignal erzeugt, oder CS, WR und DS ändern sich vom Niedrigniveauzustand zu dem Hochniveauzustand. Im letzteren Fall sind, weil LOAD das niedrige Niveau eingeht, die Werte von D12, D13, D14 und D15 in dem Zähler gesetzt.
  • Im früheren Fall ist LOAD auf dem hohen Niveau, und die Inhalte des Zählers 7 sind um eins inkrementiert. Falls die vier Bits des Zählers "1111" sind, wenn ein Flankentriggerimpuls zu CK eingegeben wird, werden die Inhalte des Zählers zu "0000" geändert. Demzufolge zählt der Zähler von "0000" bis "1111". In dem Fall, wo CSn auf dem niedrigen Niveau und WR auf dem hohen Niveau ist, wird eine Vielzahl von Ausgaben QD, QC, QB, QA an den Zähler 7 ausgegeben, und diese werden jeweils als eine Vielzahl von Datenbussignalen D12, D13, D14, D15 ausgegeben.
  • Die Funktion des Zählers 7 wird nun mit Bezug auf das Zeitdiagramm von Fig. 12 beschrieben.
  • Mit dem Register F/F5 auf "0" und in dem Zustand, wo Interrupte nicht erzeugt werden, wird, wenn eine führende Flanke in IRn erzeugt wird, das Register F/F5 zu "1" gesetzt, und der Interruptsteuerer geht den Interrupterzeugungszustand ein. Weil das Register F/F5 während der Eingabe der führenden Flanke "0" ist, wird die führende Flanke in der Uhr CK des Zählers 7 nicht erzeugt. Demzufolge verbleibt der Zähler 7 unverändert auf "0000". Mit dem Register F/F5 auf "1", in dem Interrupterzeugungszustand, wird, wenn eine führende Flanke in dem Interruptanforderungssignal erzeugt wird, eine führende Flanke IRn in der Uhr CK des Zählers 7 erzeugt, und der Wert des Zählers 7 wird bei jeder führenden Flanke um 1 erhöht.
  • Wie es klar von der vorhergehenden Erklärung verstanden werden kann, macht das Vorsehen des Zählers 7 es möglich, die Zahl der neu während eines Interrupterzeugungszustands erzeugten Flankentriggerimpulse zu zählen. Als eine Folge ist es möglich, falls der Wert in dem Flankenzählregister durch das Interruptverarbeitungsprogramm ausgelesen wird, die Zahl der Male, die ein Flankentriggerimpuls erzeugt worden ist, bevor ein Interrupt verarbeitet worden ist, zu erkennen. Daher kann die Interruptverarbeitung geändert werden, um dieser Zahl von Malen zu entsprechen.
  • In dem vorliegenden Ausführungsbeispiel hat der Zähler 7 eine Vier-Bit-Struktur und kann daher nur von 0 bis 15 zählen. Es ist jedoch möglich, die Zahl von Bits zu erhöhen und daher den Umfang des Zählens (die Zahl von erzeugten Flankentriggerimpulsen) zu erhöhen.
  • Wie es klar von der vorhergehenden Erklärung verstanden werden kann, geht bei der vorliegenden Erfindung der Interruptsteuerer den Interrupterzeugungszustand ein und, bis dieser Zustand freigegeben wird, kann, falls die gleiche Interruptanforderung auftritt, diese Interruptanforderung erkannt werden. Das Ergebnis der Ermittlung kann daher äußerlich referenziert werden, so daß es möglich ist, es zu erkennen, falls das Interruptverarbeiten nicht normal funktioniert hat, was es möglich macht, Interrupte so zu verarbeiten, daß sie so einen Fall erfüllen. Als eine Folge kann aufgrund dieser Erfindung die Zuverlässigkeit des mit diesem Interruptsteuerer versehenen Systems verbessert werden.
  • Referenzzeichen in den Ansprüchen sind zum besseren Verständnis gedacht und begrenzen nicht den Bereich der Ansprüche.

Claims (4)

1. Ein Interruptsteuerer (1), der umfaßt:
- eine Interruptsteuervorrichtung (3), um eine Vielzahl von Unterbrechungsanforderungen von einer Vielzahl von äußeren Vorrichtungen gemäß des Niveauübergangs eines von einer Vielzahl von Interruptanforderungssignalen zu empfangen und die Unterbrechungsanforderungen zu einer äußeren Verarbeitungsvorrichtung zu übertragen;
- ein Unterbrechungssteuerregister (2), das eine Vielzahl von in der Interruptsteuervorrichtung (3) vorgesehenen Registern umfaßt, um die Daten zum Steuern des Betriebs des Interruptsteuerers (1) und den Zustand (Daten) einer Vielzahl von Interruptanforderungen aufzuzeichnen;
- einen Kanalauswähler (4), um ein Register von der Vielzahl von Registern zu jedem der Interruptanforderungssignale zuzuweisen;
- worin die Vielzahl von Interruptanforderungssignalen und die Vielzahl von Registern einzeln behandelt wird;
- worin jedes Register in dem Interruptsteuerregister (2) ein Flip-Flop (5) umfaßt, um die Erzeugung einer Interruptanforderung durch Setzen der Daten für die Erzeugung anzuzeigen, wenn ein Niveauübergang auf dem zugewiesenen Interruptanforderungssiganl erzeugt wird, und weiterhin ein Bitfeld (ES) umfaßt, um eine Erzeugung des Niveauübergangs einer nächsten Interruptanforderung anzuzeigen, von der äußeren Vorrichtung übertragen, wenn bereits eine Interruptanforderung von der gleichen äußeren Vorrichtung vorhanden war, so daß das Interruptsteuerer (1) bereits den Interrupterzeugungszustand eingegangen ist;
- worin das Bitfeld (ES) durch die äußere Verarbeitungsvorrichtung gelesen und geschrieben werden kann; und
- worin das Bitfeld (ES) durch die äußere Verarbeitungsvorrichtung geprüft wird, bevor ein Interrupt verarbeitet wird.
2. Ein Interruptsteuerer (1) gemäß Anspruch 1, worin das Bitfeld (ES) ein zweites Flip-Flop umfaßt, um die Erzeugung einer nächsten Interruptanforderung anzuzeigen, falls die Erzeugung der Interruptanforderung bereits vorhanden war.
3. Ein Interruptsteuerer (1) gemäß Anspruch 1, der weiter einen Zähler mit einer Vielzahl von Bits umfaßt, die fähig sind, eine Erzeugung des Niveauübergangs auf dem Interruptanforderungssignal zu zählen, wenn die Information, die anzeigt, daß die Interruptanforderung von der äußeren Vorrichtung aufgetreten ist, bereits in dem Flip-Flop (5) gesetzt worden ist.
4. Ein Interruptsteuerer (1) gemäß Anspruch 3, worin der Zähler ein Vier-Bit Flankenzähiregister ist.
DE69123794T 1990-07-25 1991-07-23 Unterbrechungssteuerung Expired - Fee Related DE69123794T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2194714A JPH0743653B2 (ja) 1990-07-25 1990-07-25 割込みコントローラ

Publications (2)

Publication Number Publication Date
DE69123794D1 DE69123794D1 (de) 1997-02-06
DE69123794T2 true DE69123794T2 (de) 1997-05-15

Family

ID=16329029

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69123794T Expired - Fee Related DE69123794T2 (de) 1990-07-25 1991-07-23 Unterbrechungssteuerung

Country Status (5)

Country Link
US (1) US5410708A (de)
EP (1) EP0468454B1 (de)
JP (1) JPH0743653B2 (de)
KR (1) KR940011670B1 (de)
DE (1) DE69123794T2 (de)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5894577A (en) * 1993-09-22 1999-04-13 Advanced Micro Devices, Inc. Interrupt controller with external in-service indication for power management within a computer system
US6145047A (en) * 1994-05-19 2000-11-07 Vlsi Technology Inc. Circuit and method for converting interrupt signals from level trigger mode to edge trigger mode
US5671421A (en) * 1994-12-07 1997-09-23 Intel Corporation Serial interrupt bus protocol
US5708813A (en) * 1994-12-12 1998-01-13 Digital Equipment Corporation Programmable interrupt signal router
US5943507A (en) * 1994-12-22 1999-08-24 Texas Instruments Incorporated Interrupt routing circuits, systems and methods
US5640571A (en) * 1995-03-01 1997-06-17 Intel Corporation Interrupt steering for a computer system
US5640570A (en) * 1996-01-26 1997-06-17 International Business Machines Corporation Information handling system for transmitting contents of line register from asynchronous controller to shadow register in another asynchronous controller determined by shadow register address buffer
US5815733A (en) * 1996-02-01 1998-09-29 Apple Computer, Inc. System for handling interrupts in a computer system using asic reset input line coupled to set of status circuits for presetting values in the status circuits
US6070219A (en) * 1996-10-09 2000-05-30 Intel Corporation Hierarchical interrupt structure for event notification on multi-virtual circuit network interface controller
US5787290A (en) * 1996-12-20 1998-07-28 International Business Machines Corporation Adapter with an onboard interrupt controller for controlling a computer system
US5819095A (en) * 1996-12-20 1998-10-06 International Business Machines Corporation Method and apparatus for allowing an interrupt controller on an adapter to control a computer system
DE69731375T2 (de) 1997-06-13 2005-03-17 Alcatel Mehrfachunterbrechungsabwicklungsverfahren und -gerät
US6003109A (en) * 1997-08-15 1999-12-14 Lsi Logic Corporation Method and apparatus for processing interrupts in a data processing system
KR100331028B1 (ko) * 1998-11-18 2002-09-04 한국전자통신연구원 단일신호인터럽트방식의프로세서를위한인터럽트요구제어기및그제어방법
US6493781B1 (en) * 1999-08-19 2002-12-10 Koninklijke Philips Electronics N.V. Servicing of interrupts with stored and restored flags
DE10047183A1 (de) * 2000-09-22 2002-04-18 Infineon Technologies Ag Digitales Zwischenspeicherbauelement
KR100528476B1 (ko) * 2003-07-22 2005-11-15 삼성전자주식회사 컴퓨터 시스템의 인터럽트 처리 장치
US7409483B2 (en) * 2003-12-19 2008-08-05 Intel Corporation Methods and apparatuses to provide message signaled interrupts to level-sensitive drivers
US20050289271A1 (en) * 2004-06-29 2005-12-29 Martinez Alberto J Circuitry to selectively produce MSI signals
JP2006277558A (ja) * 2005-03-30 2006-10-12 Fujitsu Ten Ltd 信号変化検出装置及び信号変化検出方法
US7702889B2 (en) * 2005-10-18 2010-04-20 Qualcomm Incorporated Shared interrupt control method and system for a digital signal processor
US7984281B2 (en) * 2005-10-18 2011-07-19 Qualcomm Incorporated Shared interrupt controller for a multi-threaded processor
US7415557B2 (en) 2006-06-06 2008-08-19 Honeywell International Inc. Methods and system for providing low latency and scalable interrupt collection
JP4897851B2 (ja) * 2009-05-14 2012-03-14 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ・システム及びコンピュータ・システムの制御方法
US9645823B2 (en) 2011-03-03 2017-05-09 Hewlett-Packard Development Company, L.P. Hardware controller to choose selected hardware entity and to execute instructions in relation to selected hardware entity
US9189283B2 (en) 2011-03-03 2015-11-17 Hewlett-Packard Development Company, L.P. Task launching on hardware resource for client
US8738830B2 (en) 2011-03-03 2014-05-27 Hewlett-Packard Development Company, L.P. Hardware interrupt processing circuit
JP5588951B2 (ja) * 2011-10-28 2014-09-10 京セラドキュメントソリューションズ株式会社 割り込み制御回路
JP5622284B2 (ja) * 2011-12-28 2014-11-12 京セラドキュメントソリューションズ株式会社 割り込み監視回路
JP6008745B2 (ja) * 2013-01-15 2016-10-19 ルネサスエレクトロニクス株式会社 データ処理装置
JP6582503B2 (ja) * 2015-04-08 2019-10-02 富士通株式会社 情報処理装置
CN111506530A (zh) * 2019-01-30 2020-08-07 智原科技股份有限公司 中断管理系统及其管理方法
CN112948314B (zh) * 2021-03-04 2025-02-14 北京灵汐科技有限公司 中断控制器和核间通信系统

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5549344B2 (de) * 1973-12-19 1980-12-11
US4091447A (en) * 1976-07-19 1978-05-23 Union Carbide Corporation Interrupt control system for a microcomputer
US4080649A (en) * 1976-12-16 1978-03-21 Honeywell Information Systems Inc. Balancing the utilization of I/O system processors
US4177513A (en) * 1977-07-08 1979-12-04 International Business Machines Corporation Task handling apparatus for a computer system
US4470111A (en) * 1979-10-01 1984-09-04 Ncr Corporation Priority interrupt controller
IT1193650B (it) * 1983-01-31 1988-07-21 Honeywell Inf Systems Apparato di interruzione ad affidabilita' accresciuta
US4636944A (en) * 1984-01-17 1987-01-13 Concurrent Computer Corporation Multi-level priority micro-interrupt controller
JPS60176145A (ja) * 1984-02-23 1985-09-10 Fujitsu Ltd 割込み処理回路
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
US5230048A (en) * 1986-09-03 1993-07-20 Wang Laboratories, Inc. Data processing system with tree and list data structure
JPH01246602A (ja) * 1988-03-29 1989-10-02 Mitsubishi Electric Corp プログラマブルコントローラ用特殊機能ユニット
US4862409A (en) * 1988-06-13 1989-08-29 Advanced Micro Devices, Inc. Asynchronous interrupt status bit circuit
JPH0268632A (ja) * 1988-09-05 1990-03-08 Toshiba Corp 割込み制御装置
US5101497A (en) * 1988-09-09 1992-03-31 Compaq Computer Corporation Programmable interrupt controller

Also Published As

Publication number Publication date
KR940011670B1 (ko) 1994-12-23
EP0468454A2 (de) 1992-01-29
US5410708A (en) 1995-04-25
DE69123794D1 (de) 1997-02-06
JPH0481932A (ja) 1992-03-16
JPH0743653B2 (ja) 1995-05-15
EP0468454A3 (en) 1992-05-27
EP0468454B1 (de) 1996-12-27
KR920003174A (ko) 1992-02-29

Similar Documents

Publication Publication Date Title
DE69123794T2 (de) Unterbrechungssteuerung
DE602004008456T2 (de) Integrierte ladungsleseschaltung für resistive speicher
DE3876780T2 (de) Mikrorechner mit eingebauter chipauswahl und programmierbarer busdehnung.
DE2829550C2 (de)
DE3750948T2 (de) Datenverarbeitungssystem mit watch-dog Schaltung.
DE4019135C2 (de) Serieller Speicher auf RAM-Basis mit parallelem Voraus-Lesen und Verfahren zum Speichern von Datenelementen in eine serielle Speichervorrichtung
DE3128740C2 (de)
DE69029422T2 (de) Schwellendetektionsschaltungen für digitale Pufferspeicher
DE4417091C2 (de) Mikrocomputer mit einer Überwachungszeitsteuerschaltung
DE68919539T2 (de) Datenverarbeitungssystem mit Zugriffsquellen von verschiedenem Durchsatz.
DE2921387A1 (de) Vorrichtung zur ermittlung von fehlerhaften sektoren und zuweisung von ersatzsektoren in einem plattenspeicher
DE3852562T2 (de) Datenschreibverfahren für EEPROM.
DE3844033A1 (de) Mikroprozessorsystem fuer eine chip-karte
DE2133661C2 (de) Pufferspeicher-Einrichtung mit einem Speicher
DE68913442T2 (de) Mikrorechner mit EEPROM.
DE68916945T2 (de) Synchronisierschaltung für Datenüberträge zwischen zwei mit unterschiedlicher Geschwindigkeit arbeitenden Geräten.
DE4417594C2 (de) Seriell-Zugriffsspeichervorrichtung
DE1185404B (de) Fehlerermittlungsanlage
DE19507330A1 (de) Vorrichtung zum Detektieren von Dateneingabe-/Ausgabezuständen einer Vielzahl von First-In-First-Out-Speichern
DE68919638T2 (de) Rechner mit unterbrechungsgesteuerter Taktgeschwindigkeit und Verfahren für seinen Betrieb.
DE2100443C3 (de) Einrichtung zum Prüfen einer logischen Funktionsschaltung in einer Adapter-Steuereinheit einer Datenverarbeitungsanlage
DE3850212T2 (de) Vielfach-CPU-System mit gemeinschaftlichem Speicher.
DE69425546T2 (de) Dynamisch programmierbarer Zeitzählen
DE69729782T2 (de) Busarbiter
DE3818097A1 (de) Impulseingabevorrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8339 Ceased/non-payment of the annual fee