DE69123794T2 - Unterbrechungssteuerung - Google Patents
UnterbrechungssteuerungInfo
- 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
Links
- 230000007704 transition Effects 0.000 claims 4
- 238000010586 diagram Methods 0.000 description 15
- 238000000034 method Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling 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.
- 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.
- 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.
- 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.
- 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.
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)
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)
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 |
-
1990
- 1990-07-25 JP JP2194714A patent/JPH0743653B2/ja not_active Expired - Fee Related
-
1991
- 1991-07-19 US US07/733,121 patent/US5410708A/en not_active Expired - Fee Related
- 1991-07-23 EP EP91112339A patent/EP0468454B1/de not_active Expired - Lifetime
- 1991-07-23 DE DE69123794T patent/DE69123794T2/de not_active Expired - Fee Related
- 1991-07-24 KR KR1019910012666A patent/KR940011670B1/ko not_active Expired - Fee Related
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 |