DE2747633A1 - Dv-system mit einer unterbrechungseinrichtung - Google Patents

Dv-system mit einer unterbrechungseinrichtung

Info

Publication number
DE2747633A1
DE2747633A1 DE19772747633 DE2747633A DE2747633A1 DE 2747633 A1 DE2747633 A1 DE 2747633A1 DE 19772747633 DE19772747633 DE 19772747633 DE 2747633 A DE2747633 A DE 2747633A DE 2747633 A1 DE2747633 A1 DE 2747633A1
Authority
DE
Germany
Prior art keywords
interrupt
signal
interruption
bistable
suppression
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.)
Withdrawn
Application number
DE19772747633
Other languages
English (en)
Inventor
Ming T Miu
Virendra S Negi
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.)
Bull HN Information Systems Italia SpA
Original Assignee
Honeywell Information Systems Italia SpA
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 Honeywell Information Systems Italia SpA filed Critical Honeywell Information Systems Italia SpA
Publication of DE2747633A1 publication Critical patent/DE2747633A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4825Interrupt from clock, e.g. time of day

Description

Die vorliegende Erfindung betrifft ein DV-System nach dem Gattungsbegriff des Anspruches 1. In DV-Systemen wird die Möglichkeit einer Unterbrechung gefordert, um externe Ereignisse zu bestätigen und danach zu behandeln, die während des normalen Betriebsablaufes des Computersystemes auftreten können. Auch wenn das Computersystern verschiedene Operationen unter seiner Programmsteuerung durchführt, muß nichtsdestoweniger in Abhängigkeit von dem Typ der Unterbrechung eine solche Unterbrechung schnell behandelt werden. Unterbrechungen, wie beispielsweise ein Ausfall der Spannungsversorgung, müssen sofort behandelt werden, um beispielsweise den Status des Systems zum Zeitpunkt des Spannungsausfalls speichern zu können. Andererseits ist es wichtig, daß in bestimmten Zeitpunkten solche Unterbrechungen unterdrückt werden, so daß bestimmte bearbeitete Funktionen ausgeführt werden können. Wenn beispielsweise eine Unterbrechungsbehandlung für einen bestimmten Unterbrechungstyp vorgesehen ist, so sollte diese nicht noch durch eine v/eitere Unterbrechung unterbrochen werden können. In Abhängigkeit von dein Unterbrechungstyp ist es oftmals wünschenswert, eine solche Unterbrechung für eine oder mehrere Befehlszeitlängen zu unterdrücken, um beispielsweise die Beendigung einer bestimmten Operation zu ermöglichen, die einen oder mehrere Befehle zu ihrer vollständigen Durchführung benötigt. Es ist daher wichtig, den Unterbrechungstypen Prioritäten zuzuordnen und die Behandlung der aktiven Unterbrechung mit der höchsten Priorität vorzusehen, vorausgesetzt, daß nicht aus anderen Gründen die Unterbrechung für eine vorgegebene Zeitdauer unterdrückt werden muß.
Es ist daher die Aufgabe der vorliegenden Erfindung, eine Unterbrechungseinrichtung für ein' DV-System anzugeben, das in einfacher Weise die Art und die Priorität der jeweiligen Unterbrechungen berücksichtigt. Die Lösung dieser Aufgabe gelingt gemäß der im Anspruch 1 gekennzeichneten Erfindung. Weitere vorteilhafte Ausgestaltungen der Erfindung sind den Unteransprüchen entnehmbar.
809816/0815
Gemäß der vorliegenden Erfindung weist das DV-System eine Einrichtung zum Empfang mehrerer gesteuerter Unterbrechungen und eine Einrichtung zum Empfang mehrerer privilegierter Unterbrechungen auf. Ferner ist eine Einrichtung zur Freigabe der Behandlung solcher Unterbrechungen vorgesehen. Eine erste Logik dient der Unterdrückung von gesteuerten oder privilegierten Unterbrechungen, die empfangen werden, während eine zuvor empfangene Unterbrechung behandelt wird. Eine zweite Logik dient der Unterdrückung der gesteuerten Unterbrechungen für eine Zeitdauer, die auf die Zeit bezogen ist, welche zur Statussicherung des Systems erforderlich ist. Es ist ferner eine Einrichtung vorgesehen zur Erzeugung eines Unterbrechungssignales in Abhängigkeit einer empfangenen Unterbrechung, die durch die erste oder zweite Logik nicht unterdrückt wird. In Abhängigkeit von einem solchen Unterbrechungssignal und der Identität der Unterbrechung gibt eine Einrichtung den Beginn der Unterbrechungsbehandlung frei, wobei es sich um die Unterbrechung handelt, die durch die Freigabeeinrichtung freigegeben wurde.
Anhand.eines in den Figuren der beiliegenden Zeichnung dargestellten Ausführungsbeispieles sei die Erfindung im folgenden näher erläutert. Es zeigen:
Fig. 1 die Konfiguration gemäß der vorliegenden Erfindung;
Fig. 2 die Unterbrechungs-Prioritatslogik gemäß der vorliegenden Erfindung;
Fig. 3 die Unterbrechungs-Unterdrückungslogik gemäß der vorliegenden Erfindung; und
Fig. 4 die Unterbrechungs-Schnittstelleneinrichtung gemäß der vorliegenden Erfindung.
Fig. 1 zeigt ein allgemeines Blockdiagramm des Datenverarbeitungssystems, in welchem die vorliegende Erfindung verwirklicht ist. Ein solches System weist grundsätzlich eine Zentraleinheit 50, einen Speicher 52, eine Dialogsteuerung 54, die an Obertragungsleitungen 60 angeschlossen ist, eine Gerätesteuerung 56, die an periphere Einheiten 58 angeschlossen ist, und eine gemeinsame elektrische Datenschiene 62 auf, die der Verbindung der 4 Grundelemente dient.
809816/0615
Die Art und Weise, in der die Datenschiene 62 und die Grundelemente miteinander verbunden werden können ist in näheren Einzelheiten in den US-Patentanmeldungen/mit den S'eriennummern 591.902 und 591.96 4 dargestellt und beschrieben.
Der Prozessor 50 weist die Einrichtung gemäß der vorliegenden Erfindung auf und umfaßt ferner im allgemeinen einen Steuerspeicher 10, der eine Anzahl Worte speichert. Diese Anzahl weist beispielsweise den Viert Y auf und jedes dieser Werte, die manchmal als Firmwareworte bezeichnet v/erden, weist beispielsweise eine Länge von 48 Bit auf. Der Steuerspeicher 10 wird mittels der Eirzeugungslogik 12 für die nächste Adresse adressiert, wobei diese Erzeugungslogik beispielsweise mit jener Logik übereinstimmen kann, die in den US-Paten taruneldunYjen/mitten1 Serien 674.517 und 674.698 dargestellt und beschrieben ist.
Das im Steuerspeicher 10 adressierte Firmwarewort wird über die Datenleitungen 14 dem Steuerspeicherregister 16 zugeführt. Das Steuerspeicherregister 16 weist grundsätzlich zwei Teile auf, nämlich das Anweisungsfeld 18 und das Nächstadressenfeld 20. Beispielsweise umfaßt das Anweisungsfeld 18 32 Bit ( Bits 0-31) und das Nächstadressenfeld 20 16 Bit (Bits 32-47).
Die Adresseninformation in dem Nächstadressenfeld 20 wird benutzt, um den Steuerspeicher 10 über die Testlogik 22 und die Erzeugungslogik 12 für die nächste Adresse zu adressieren. Die Testlogik 22 ist ebenfalls in den beiden zuletzt genannten US-Patentanmeldungen dargestellt und beschrieben. Einige der Bits in dem Nächstadressenfeld 20 können beispielsweise benutzt werden, um über die Logik 12 eine Basisadresse zu erzeugen, während eine bestimmte in dem Adressenfeld enthaltene Adresseninformation direkt zu der Testlogik 22 geschickt wird. Der Ausgang der Testlogik 22 wird mit dem anderen Eingang der Logik 22 kombiniert, um die Adresse für den Steuerspeicher 10 über die Leitungen 24 zu erzeugen. Der andere Eingang der Testlogik 22 wird von der Datenprozessorlogik 26 gebildet, die
809816/0615
beispielsweise alle anderen innerhalb des DV-Systems enthaltenen Logikschaltkreise aufweisen kann, so beispielsweise auch die Einrichtung gemäß der vorliegenden Erfindung, wie sie in den Fig. 2, 3 und 4 dargestellt ist. Zusätzlich zu der Unterbrechungs-Behandlungseinrichtung gemäß der vorliegenden Erfindung umfaßt eine solche Logik 26 beispielsweise eine arithmetische Einheit und verschiedene Register, um den Betrieb des Systems in Abhängigkeit von der in dem Anweisungsfeld 18 enthaltenen Anweisungsinformation hervorzurufen. Aufgrund der durch die Datenprozessorlogik 26 hervorgerufenen Operation können gewisse Testinformationen an die Logik 22 oder an die Logik 12 geleitet werden, wobei die Information benutzt wird, um den Steuerspeicher 10 zu adressieren.
Die Datenprozessorlogik 26 kann beispielsweise ebenfalls einen Uberwachungszeitgeber aufweisen, der für die Anzeige einer Fehlfunktion des Systems nützlich ist. Wenn die Überwachungsunterbrechung oder ein anderes Zeitablaufsignal empfangen wird, so wird anstelle des nächsten vorgesehenen Firmwarewortes im Steuerspeicher ein Finnwarewort adressiert, durch das die Behandlung eines solchen Unterbrechungszustandes ermöglicht wird.
Zusätzlich zu der UberwachungsZeitgeber-Unterbrechung gibt es viele andere Unterbrechungen, die innerhalb des Prozessors 50 selbst erzeugt werden. Solche Unterbrechungen umfassen beispielsweise gesteuerte Unterbrechungen und privilegierte Unterbrechungen, wie noch weiter zu erläutern sein wird. Die privilegierten Unterbrechungen werden beispielsweise in einigen Fällen behandelt, während die gesteuerten Unterbrechungen aufgrund anderer Bedingungen nicht behandelt werden. Die Überwachungszeitgeber-Unterbrechung wird in die Kategorie der privilegierten Unterbrechungen einklassiert. Andere privilegierte Unterbrechungen können beispielsweise gegeben sein durch: einenSpannungsversorgungsausfall, eine sogenannte Speicher-Ausgangsverriegelung, eine Speicher-Stapelübertretung und eine Austestung. Gesteuerte Unterbrechungen können beispielsweise jene Un-
809818/0615
terbrechungen umfassen, die erzeugt werden durch: den sogenannten Echtzeittakt, den Speicher, einen Ausführungsschalter in einer Steuc.rkonsole und durch bestimmte über die gemeinsame Datenschiene 62 angeschlossene Geräte.
Wie in Fig. 3 gezeigt, sind diese Unterbrechungen so geschaltet, daß sie ein sogenanntes Unterbrechungssignal FINTRA erzeugen, das von dem Steuerspeicher 10 benutzt wird, um eine Unterbrechungs-Behandlungsroutine für die Unterbrechung freizugeben. Insbesondere wird, wenn die Unterbrechung einmal empfangen wurde und sie die Unterbrechung mit der höchsten Priorität darstellt, diese Unterbrechung mittels der Logik gemäß Fig. 2 verriegelt. Danach erzeugt die Unterbrechung, ganz gleich ob es sich um eine gesteuerte oder um eine privilegierte Unterbrechung handelt, für den Fall, daß sie nicht unterdrückt wird, das Unterbrechungssignal FINTRA gemäß Fig. 3. Gemäß Fig. 1 wird das Signal FINTRA der Erzeugungslogik 12 für die nächste Adresse zugeführt, wobei diese Erzeugungslogik die in den beiden letztgenannten US-Patentanmeldungen genannte Form aufweisen mag. Der Empfang des Signales FINTRA ruft über die Erzeugungslogik 12 für die nächste Adresse die Adressierung eines vorbestimmten Teiles des Steuerspeichers 10 hervor. Der Steuerspeieher erzeugt seinerseits in Abhängigkeit von dem Unterbrechungstyp eine Adresse, um eine Behandlungsroutine zur Behandlung einer solchen Unterbrechung, wie sie durch den verriegelten Hinweis gemäß Fig. 2 angezeigt wird, freizugeben. Eine auf diese Weise erzeugte Adresse gestattet die Adressierung der entsprechenden Unterbrechungs-Behandlungsroutine, die in dem Speicher 52 gespeichert sein kann. Wie aus Fig. 3 hervorgeht, sind keine Unterbrechungen während der Zeit gestattet, in der diese Unterbrechungsbehandlung durchgeführt wird, was auf der Freigabe des Unterbrechungszeitgebers 134 in Fig. 3 beruht. Wenn die Unterbrechungsbehandlung einmal vervollständigt worden ist oder am Ende der durch das Monoflop des UnterbrechungsZeitgebers 134 vorgegebenen Zeit werden weitere Unterbrechungen gestattet bzw. es werden solche Unterbrechungen nicht länger unterdrückt,die während der Ausführung der Unterbrechungs-Behandlungsroutine empfangen wurden, es sei denn, daß andere Bedingungen vorherrschen.
809818/0015
Gemäß Fig. 2 werden die Unterbrechungen auf den Leitungen 100-1 bis 100-N empfangen. Jede Leitung 100 ist an unterschiedliche Unterbrechungsquellen angeschlossen , um die zugeordneten Flip-Flops 102-1 bis 102-N zu setzen. Die Flip-Flops 102 werden asynchron gesetzt. Die Ausgänge der Flip-Flops sind an einen Prioritätscodierer 104 angeschlossen» der den entsprechenden Eingängen der Flip-Flops 102 eine Priorität zuordnet, wobei der oberste Eingang die höchste Priorität und der unterste Eingang die niedrigste Priorität aufweist. Das codierte Auegangssignal des Codierers 104 wird dem Register 106 zugeführt. Das codierte Ausgangssignal des Codierers wird jedoch nicht in das Register 106 geladen bevor die Taktzeit, wie nachstehend erläutert, verstrichen ist. Beispielsweise kann der Prioritätscodierer 104 ein integrierter Schaltkreis sein, wie er von der Firma Texas Instruments Inc. unter der Typ-Nr. SN 74148 hergestellt und vertrieben wird. Der Prioritätscodierer 104 weist 8 Eingangsleitungen und 4 Ausgangsleitungen auf. Die oberen drei Leitungen dienen der Codierung von einem der 8 Eingänge, so daß für den Fall, daß das Flip-Flop 102-1 gesetzt ist und somit die höchste Priorität hinsichtlich der Unterbrechung vorliegt, alle drei oberen Ausgangsleitungen des Codierers 104 den Binärwert "0" aufweisen. Im Falle der Behandlung der niedrigsten Priorität durch den Codierer 104 weisen die oberen drei Ausgangsleitungen alle den Binärwert "1" auf. Die vierte Leitung dient der Feststellung dahingehend, ob die Ursache der Unterbrechung durch eine der über die Leitungen 100 angeschlossenen Unterbrechungsquellen im Innern der Zentraleinheit liegt oder ob die Unterbrechung über die gemeinsame Datenschiene, die nicht nur an die Zentraleinheit sondern auch an die Vielzahl der Geräte angeschlossen ist, erhalten wird. Diese Betriebsweise wird später beschrieben. Obgleich die oberen drei Leitungen am Ausgang des Codierers 104 alle den Binärwert "0" aufweisen können, jca«n somit in Abhängigkeit von dem Zustand der vierten Leitung die Unterbrechung entweder extern sein oder über die Leitungen 100-1 empfangen werden. Die privilegierten Unterbrechungen besitzen die
809Ö18/0Ö1B
27A7633
höchste Priorität und werden somit dem Eingang mit der. höchsten
Priorität des Codierers 104 zugeführt, während die gesteuerten Unterbrechungen eine niedrigere Priorität als die privilegierten Unterbrechungen aufweisen und somit an den Eingängen mit niedriger
Priorität aufgenommen werden.
Das codierte Ausgangssignal des Prioritätscodxerers 104 wird in
das Register 106 in Abhängigkeit von einem Taktsignal FTB2CL geladen, so daß die Unterbrechung, die durch den Codierer 104 ausgewählt worden ist, nicht verlorengeht, wenn andere Unterbrechungen
am Eingang des Codierers 104 vorliegen. Der Inhalt des Registers
106 wird bis zum Auftreten eines solchen nächsten Taktsignales
nicht gestört. Das Signal FTB2CL kann durch ein adressiertes Befehlswort im Steuerspeicher erzeugt werden,wenn wenigstens ein Befehl in der Unterbrechungs-Behandlungsroutine bearbeitet worden ist.
Der Ausgang des Registers 106 ist nicht nur an den Decodierer 108
sondern auch an die Erzeugungslogik für die nächste Adresse angeschlossen, die für die Adressierung des Steuerspeichers in der
nachstehend beschriebenen Weise benötigt wird. Beispielsweise werden die vier Eingangssignale des Decodierers 108 decodiert, um auf einer der acht Ausgangsleitungen 110-1 bis 110-N ein Signal zu erzeugen bzw. nicht zu erzeugen, falls es sich um eine über die gemeinsame Datenschiene 62 empfangene Unterbrechung handelt. Ein
solches auf einer der Leitungen 110 auftretendes Signal stellt das zugeordnete Flip-Flop 102 zurück. Hierdurch wird ein solches Flip-Flop für eine weitere Unterbrechungsverarbeitung aufnahmefähig. Es sei darauf verwiesen, daß der Decodierer 108 ein solches Ausgangssignal solange nicht erzeugt, bis er durch das Signal FRSINT freigegeben wird, wobei dieses Signal zusätzlich zum Start des Unterbrechungszeitgebertaktes benutzt wird. Das Signal FRSINT kann durch den Steuerspeicher beim Beginn einer Unterbrechungs-Behandlungsroutine erzeugt werden.
509818/0815
Gemäß Fig. 3 ist die detaillierte ünterbrechungslogik entsprechend der vorliegenden Erfindung dargestellt. Das ünterbrechungssignal FINTRA tritt am Ausgang des NAND-Gatters 120 auf. Für den Fall, daß dieses Signal den Binärwert "1" aufweist, veranlaßt es die Erzeugungslogik für die nächste Adresse, die Unterbrechung zu behandeln, wenn der laufende Befehl einmal abgearbeitet ist. Das Ünterbrechungs signal wird in Abhängigkeit von entweder dem sogenannten Ablaufmodus-Unterbrechungssignal FRNMDI oder dem Wartungskonsole-Unterbrechungssignal FMPMDI erzeugt. Diese Signale werden entsprechend an den Ausgängen von NAND-Gattern 122 und 124 erzeugt. Das Signal FINTRA weist den Binärwert "1" auf, wenn einer der beiden Eingänge des NAND-Gatters 120 den Binärwert "0" aufweist. Das NAND-Gatter besitzt drei Eingänge, wobei ein Eingang durch das unterbrechende Signal gebildet wird, das beispielsweise durch einen Operator an der Wartungskonsole des Computersystems erzeugt wird. Die anderen beiden Eingänge des NAND-Gatters 124 werden durch das Unterbrechungsunterdrückungssignal FINSUP und das Steuerunterbrechungsverzögerungssignal FCINTD gebildet. Es findet eine Unterdrückung oder eine Verzögerung der Unterbrechung statt, wenn irgendeines dieser Signale den Binärwert "0" aufweist. Hierdurch wird ein Signal mit dem Binärwert "1" am Ausgang des NAND-Gatters 124 hervorgerufen. Wenn die Signale FINSUP und FCINTD den Binärwert "1" aufweisen und sich das Signal MPRUNM im gleichen Zustand befindet, so wird eine Unterbrechung freigegeben. Das Unterbrechungsunterdrückungssignal FINSUP kann unter Firmewaresteuerung während der Ausführung einer sogennten Hauptverzweigungsfolge erzeugt werden und wird insbesondere benutzt, um Unterbrechungen für wenigstens eine Befehlszeitlänge zu jenem Zeitpunkt zu unterbrechen/ dem beispielsweise eine Unterbrechung gleichzeitig mit einer Prozessor-Startanweisung vorliegt. Die Unterbrechung wird somit für eine Befehlszeitlänge unterdrückt, so daß das Programm die Möglichkeit besitzt, die Bearbeitung der Unterbrechung zu beginnen. Die Hauptverzweigungsfolge beginnt zu einer beliebigen Zeit, in der eine Unterbrechung oder eine Auswahl eines vorgegebenen Befehlstypes aus dem Steuerspeicher vorliegt.
Θ09Θ1Θ/061S
Das Signal FCINTD wird am Ausgang eines NOR-Gatters 126 erzeugt, wobei dieser Ausgang ebenfalls an einen Eingang eines NAND-Gatters 128 angeschlossen ist. Das Signal FCINTD weist den Binärwert "1" auf, wenn keine Verzögerung bei der Erzeugung einer Unterbrechung vorliegen soll . Eine Verzögerung hinsichtlich der Erzeugung einer Unterbrechung liegt tatsächlich vor, wenn irgendeines der Flip-Flops 130 oder 132 gesetzt worden ist. Wenn nur das Flip-Flop gesetzt worden ist, so wird die Unterbrechung für eine Befehlszeitlänge unterdrückt, während in dem Fall, wo das Flip-Flop 130 gesetzt worden ist, die Verzögerung zwei Befehlszeitlängen beträgt. Das Flip-Flop 130 wird in Abhängigkeit von einem Sprungspeicherbefehl FOPJSC gesetzt, welcher Befehl in den meisten Universalrechnern anzutreffen ist. Hierdurch wird der Auftritt von Unterbrechungen für zwei Befehlszeitlängen gesperrt, da das Flip-Flop 132 zwischen den Ausgang des Flip-Flops 130 und den einen Eingang des NOR-Gatters 126 geschaltet ist. Das Flip-Flop 130 wird zurückgestellt, wenn eine Firmware-Hauptverzweigung FMBMAO in irgendeinem speziellen Zeitpunkt angezeigt wird. Dies geschieht durch Eintakten des "O"-Binärzustandes (GND) in den Eingang D des Flip-Flops 130, wodurch der Ausgang entsprechend umschaltet und eine Unterbrechung wirksam sperrt. Das Flip-Flop 132 ruft im gesetzten Zustand eine Verzögerung um eine Befehlszeitlänge hervor. Das Flip-Flop 132 kann durch das Signal FOPENB gesetzt werden, welches einen Softwarebefehl darstellt, der Unterbrechungen freigibt. Diese Unterbrechungen werden nur nach Ablauf einer Periode entsprechend einer Befehlszeitlänge freigegeben, um der Software Gelegenheit zu geben, die erforderliche Bearbeitung freizugeben. Das Flip-Flop 132 kann ebenfalls gesetzt werden, wenn das Flip-Flop 130 zuvor gesetzt worden ist und ein Haupt-Firmware-Verzweigungssignal FMBMAO erzeugt wird, wodurch in Abhängigkeit von dem Signal FOPJSC die Verzögerung um zwei Befehlszeitlängen freigegeben wird.
Das Ablaufmodus-Unterbrechungssignal FRNMDI erzeugt ebenfalls das Unterbrechungsignal FINTRA, wenn das NAND-Gatter 122 nicht gesperrt ist. Das NAND-Gatter 122 sperrt die Erzeugung des Unterbrechungssignales, wenn das Unterbrechungsunterdrückungssignal FINSUP den
809818/0Ö1B
Binävwert "O" oder wenn das Unterbrechungszeitgebersignal FINTMR, das durch den Unterbrechungszeitgeber 134 erzeugt wird, den Binärwert "0" aufweist. Den dritten Signaleingang des NAND-Gatters bildet das Signal FINTRF, welches in Abhängigkeit von entweder einer Steuerunterbrechung oder einer privilegierten Unterbrechung erzeugt wird. Das Signal FINTRF ist an Ausgang des Flip-Flops abnehmbar, welches Synchronisationszwecken dient. Das Signal am Eingang D des Flip-Flops 136 wird daher solange nicht zu dem Ausgang desselben übertragen, bis das Systemtaktsignal erzeugt wird. Der Eingang des Flip-Flops 136 wird durch das Signal FINTRT gebildet, das von dem Ausgang des NAND-Gatters 138 mit zwei Eingängen erhalten wird. Den beiden Eingängen des NAND-Gatters 138 wird das Signal FCINTA und das Signal FPINTR zugeführt. Das Signal FCINTA wird erzeugt, wenn eine gesteuerte Unterbrechung aktiv ist, und das Signal FPINTR wird erzeugt, wenn eine privilegierte Unterbrechung aktiv ist.
Die privilegierten Unterbrechungen werden über ein NOR-Gatter zugeführt und sie werden, außer durch das NOR-Gatter 122, nicht unterdrückt. Dementsprechend kann ein Hinweis auf das Vorliegen einer solchen Unterbrechung in das Register 136 mit dem nächsten Taktimpuls eingetaktet werden. Die gesteuerten Unterbrechungen werden jedoch durch das Signal FCINTD, das am Ausgang des NOR-Gatters 126 in der zuvor beschriebenen Weise erzeugt wird, unterdrückt. Die Unterdrückung kann ferner durch ein Signal FKENBN erfolgen, das unter Softwaresteuerung erzeugt werden kann und dementsprechend wirksam irgendwelche gesteuerten Unterbrechungen für eine Zeitdauer sperren kann, die durch den die Software benutzenden Programmierer festlegbar ist. Das Unterbrechungssignal am Ausgang des NAND-Gatters 120 weist daher den Binärwert "1" auf, wenn irgendeine der gesteuerten Unterbrechungen den Binärwert "1" aufweist, und somit das ODER-Gatter 142 ein Signal FCINTR mit dem Binärwert "1" an seinem Ausgang ausgibt. Wenn beide Signale FKENBN und FCINTD den Binärwert "1" aufweisen und somit keine Unterdrückung der Unterbrechung vorliegt, so wird das Signal FCINTA am Ausgang des NAND-Gatters 128 erzeugt. Der nächste Systemtaktimpuls versetzt
809818/0611
das Flip-Flop 136 in die Lage, den Binärwert "0" des Signales FCINTA am Ausgang des NAND-Gatters 128 über das zwischengeschaltete NAND-Gatter 138 als Binärwert "1" zu speichern. Wenn ein solcher Taktimpuls erzeugt wird und wenn die beiden oberen Unterdrückungssignale am NAND-Gatter 122 den Binärwert "1" aufweisen und das Signal FINTRF ebenfalls den Binärwert "1" besitzt, so weist das Signal FRNMDI den Binärwert "0" auf, wodurch ein Unterbrechungssignal FINTRA am Ausgang des Gatters 120 mit dem Binärwert "1" erzeugt wird. Die privilegierten Unterbrechungen werden in einer ähnlichen Weise behandelt. Dies bedeutet, daß, wenn irgendeine der privilegierten Unterbrechungen den Binärwert "1" aufweist, der Ausgang des NOR-Gatters 140 den Binärwert "0" besitzt, wie dies hinsichtlich des Signales FCINTA bei dessen Aktivität der Fall war. Die Operation läuft somit in der zuvor hinsichtlich des Signales FCINTA beschriebenen Weise ab.
Gemäß Fig. 3 werden Unterbrechungen von mehreren Quellen erzeugt und diese umfassen gesteuerte Unterbrechungen, privilegierte Unterbrechungen und eine Wartungskonsole-Unterbrechung. Andererseits ist ersichtlich, daß solche Unterbrechungen auf mehrere Weisen unterdrückt werden können. Solche Unterdrückungssignale umfassen die Signale FKENBN, FCINTD, FINSUP und FINTMR. Das Signal FKENBN wird durch die Software erzeugt und kann für eine beliebige zeitliche Länge ausgelöst werden. Das Signal FCINTD wird für eine oder zwei Befehlszeitlängen in Abhängigkeit davon erzeugt, ob ein Sprungspeicherbefehl oder ein Unterbrechungsfreigabebefehl von den Flip-Flops 130 bzw. 132 aufgenommen wird. Das Signal FINSUP wird durch die Firmware typischerweise erzeugt, wenn eine Unterbrechung zur gleichen Zeit wie eine Zentraleinheit-Startanweisung vorliegt. Es unterdrückt die Unterbrechungen für eine Befehlszeitlänge, so daß das Programm in der Lage ist, die Bearbeitung zu starten. Das Signal FINTMR wird durch den Unterbrechungszeitgeber 134 für eine Zeitperiode erzeugt, die durch die Zeit festgelegt ist, die erforderlich ist, um die größte der verschiedenen Unterbrechungs-Behandlungsroutinen von beispielsweise 100>ns zu bearbeiten. Dieses Signal FINTMR wird nach der Codierung einer Unterbrechung, wie sie in Fig. 2 gezeigt ist, erzeugt. 8098 1 δ/001 δ
Jedes dieser vier Unterbrechungs-Unterdrückungssignale wird zur Unterdrückung der gesteuerten Unterbrechung benutzt. Nur die Signale FINSUP uhd FINTMR werden zur Unterdrückung der privilegierten Unterbrechungen benutzt, während die Signale FCINTD und FINSUP zur Unterdrückung der Wartungskonsole-Unterbrechung benutzt werden. Dementsprechend wird nur das Signal FINSUP zur Unterdrückung aller drei Unterbrechungen benutzt.
Anhand von Fig. 4 sei nunmehr die Art und Weise erläutert, in der das Datenschienen-Unterbrechungssignal und damit ein Unterbrechungssignal gemäß den Fig. 2 und 3 erzeugt wird. Weitere Einzelheiten hinsichtlich der Schnittstellenlogik, die in dem Datenverarbeitungssystem gemäß der vorliegenden Erfindung verwendet werden kann und die Logikschaltkreise für andere Arten von Zentraleinheiten, periphere Geräte und Speicher aufweist, können den beiden eingangs zuerst genannten US-Patentanmeldungen entnommen werden.
Bei der Datenschienen-Ankopplungslogik gemäß Fig. 4 werden die Signale von der Datenschiene mittels in dem Element 150 enthaltener Empfänger empfangen. Das Speicher-Bezugssignal BSMREF- wird von einem solchen Empfänger empfangen und mittels des Inverters 152 invertiert und einem Eingang eines Vergleichers 154 zugeführt, so daß dieser Vergleicher betätigt wird, wenn die empfangene Adresse keine Speicheradresse darstellt. Einen Eingang für den Vergleich des Vergleichers 154 bilden die Datenprozessor-Adreßbits, welche in diesem Fall beispielsweise durch die vier Signale BSADl4+ bis BSAD17+ repräsentiert werden. Diese an einem Eingang des Vergleichers 154 empfangene Adresse wird mit der Adresse von einem beispielsweise Hexadezimalschalter 156 in dem Datenprozessor selbst verglichen. Wenn die empfangene Adresse und die durch den Schalter 156 vorgegebene Adresse verglichen werden und einander gleich sind, so erzeugt der Vergleicher 154 das Signal ITSMEA+, das teilweise die Gatter 158, 160 und 162 vorbereitet.
809818/0815
Weitere Adreßbits BSAD08+ bis BSAD13+ werden den Eingängen eines Vergleichers 164 zugeführt/ der feststellt, ob diese Bits alle den Binärwert "0M aufweisen oder nicht. Weisen alle Bits den Binärwert "0" auf, so wird das Signal ITSMEB+ erzeugt, das ebenfalls teilweise die Gatter 158, 160 und 162 vorbereitet. Die Beaufschlagung der weiteren Eingänge der Gatter 158, 160 und 162 führt zum Setzen eines zugeordneten Flip-Flops in dem Element 166, wobei dieses Element drei Flip-Flops aufweist.
Einer der weiteren Eingänge des Gatters 158 wird durch das zweite Halbzyklus-Datenschienensignal BSSHBC+ gebildet, das an die Gatter 158 und 162 über einen Inverter 168 angeschlossen ist. Das Datenschienensignal für den zweiten Halbzyklus wird ebenfalls einem Eingang eines UND-Gatters 170 zugeführt. Der verbleibende Eingang des Gatters 170 wird durch den Ausgang Q des Lese-Stammdaten-Flip-Flops 172 für die zweite Hälfte gebildet. Das Flip-Flop 172 wird benutzt, um festzuhalten» daß der Datenprozessor sein Signal MYDCNN+ ausgegeben hat , z.B. das Zugriffs-Flip-Flop zu diesem Gerät gesetzt hat, und daß der Zentralprozessor ebenfalls das Signal MYWRIT- gesendet hat, welches beinhaltet, daß der Datenprozessor einen Antwortzyklus von dem untergeordneten Gerät erwartet. Mit einem solchen Zweizyklus-Betrieb bietet daher der zweite Zyklus die erwarteten Daten dem Zentralprozessor an und das Flip-Flop 172 identifiziert diese Daten als jene, die der Zentralprozessor angefordert hat, durch die Tatsache, daß das Stammdaten-Flip-Flop 172 das Signal MYSHRK+ am Ausgang Q desselben erzeugt hat. Das Flip-Flop 172 wird über das NOR-Gatter 174 zurückgestellt, wenn das Datenschienen-Löschsignal BSMCLR+ empfangen wird oder wenn die zweite Hälfte des Datenschienenzyklus vervollständigt worden ist, was durch das Signal MYAKN+ angezeigt wird. Das Signal MYAKN+ wird von einem der Ausgänge des Elementes 166 in der nachstehend erläuterten Weise abgeleitet, wobei an dieser Stelle darauf verwiesen sei, daß die Flip-Flops in dem Element 166 durch das Signal BSPCND+ getaktet und durch das Signal BSDCNB- über den Inverter 182 gelöscht werden.
809819/0815
2747833
Das UND-Gatter 160 wird daher durchgeschaltet, wenn zwei seiner Eingänge anzeigen, daß ein adressiertes Gerät vorliegt, und wenn der andere Eingang durch einen Datenschienenzyklus der zweiten Hälfte vorgegeben ist, wie dies von dem Staaondaten-Flip-Flop 172 über das UND-Gatter 170 angezeigt wird. Aufgrund der Durchschaltung des UND-Gatters 16O wird somit das Signal MYAKN+ erzeugt und auf einen Eingang eines ODER-Gatter 176 gegeben. Das ODER-Gatter 176 erzeugt über einen Treiberschaltkreis 178 das Signal BSACKK-.
Das Gatter 158 wird vollständig durchgeschaltet, wenn die richtige Geräteadresse empfangen wird, wenn es sich nicht um einen Datenschienenzyklus der zweiten Hälfte handelt und wenn das NAK-Stammdaten-Flip-Flop 186 nicht gesetzt worden ist und somit ein positives Impulssignal MYNAKR+ am Ausgang des entsprechenden Flip-Flops innerhalb des Elementes 166 erzeugt. Das Signal MYNAKR+ erzeugt über den Treiberschaltkreis 180 ein Signal BSNAKR-.
Es ist festzustellen, daß die Datenprozessorlogik gemäß Fig. 4 entweder ein Signal NAK oder ein Signal ACK erzeugt; ein Warte-Signal wird jedoch durch die Datenprozessorlogik nicht erzeugt. Der Grund hierfür liegt darin, daß der Datenprozessor immer die niedrigste Priorität aufweist und daher in Falle der Erzeugung eines Warte-Signales die anderen Geräte, die Ihre Anforderungen an den Datenprozessor zwecks Behandlung erzeugen, über die Datenschiene nicht bedient werden, falls beispielsweise ein Gerät mit höherer Priorität den Vorrang besitzt und der Zentralprozessor mit einem Warte-Signal antwortet. Da somit das Gerät mit höherer Priorität auf das Gerät mit der niedrigsten Priorität,z.B. den Zentralprozessor wartet, ' werden andere Geräte an der Benutzung der Datenschiene gehindert.
Wenn ein Gerät,wie beispielsweise die Steuerung 56, eine Unterbrechungsbehandlung durch den Prozessor 50 , der die Logik gemäß Fig. aufweist, anfordert, so empfängt ein solches Gerät zunächst ein Signal NAK von dem Prozessor 50, das anzeigt, daß ein solches Gerät die Unterbrechungsanforderung erneut ausgeben soll. Dies geschieht
809818/0815
aus Gründen der Synchronisation. Die Tatsache, daß ein solches eine Unterbrechung anforderndes Gerät die Unterbrechung des Prozessors versucht/ wird in der Logik gemäß Fig. 4 gespeichert, und wenn erneut eine Unterbrechung auftritt, so liefert der Prozessor 50 ein Signal ACK, wenn alle anderen Bedingungen erfüllt sind. Wenn der Prozessor jedoch Daten von einem Gerät empfängt, von dem er eine Antwort gemäß der Anzeige durch das Stammdaten-Flip-Flop erwartet, so tritt die NAK-Antwort nicht auf und es wird statt dessen, wenn alle anderen Bedingungen erfüllt sind, ein ACK-Sighal erzeugt. Das aufgrund der Unterbrechungen erzeugte Signal ACK oder NAK wird durch die Funktion MYAKP gesteuert, die durch eine Unteranweisung MYAKPS-vorgegeben wird, die an dem Setzeingang des Flip-Flops 186 erhalten wird. Das Flip-Flop 186 wird zurückgestellt, wenn die Unterbrechung bestätigt wurde. Solche Unteranweisungen können unter Steuerung eines internen Speichers, der manchmal als Steuerspeicher oder Firmware bezeichnet wird, erzeugt werden oder sie können durch eine spezielle Logik gesteuert werden, wobei jedoch die Art und Weise der Erzeugung solcher Signale nicht zum Gegenstand der vorliegenden Erfindung gehört.
Normalerweise ist das Flip-Flop 186 zurückgestellt und dementsprechend weist das Signal MYAKP- am Ausgang Q , der mit einem Eingang des Gatters 158 verbunden ist, den hohen Pegel auf. Ferner weist zum Zeitpunkt der Unterbrechung die Funktion BSSHBC+ den niedrigen Pegel auf, wodurch ein Ünterbrechungszyklus angezeigt wird. Dementsprechend weisen alle Eingänge des Gatters 158 den hohen Pegel auf, wodurch das Ausgangssignal ebenfalls diesen Pegel einnimmt. Beim Auftritt des Signales BSDCND+ nimmt der Ausgang Q_ des oberen Flip-Flops innerhalb des Elementes 166 und somit das Signal MYNAKR den hohen Pegel ein. Hierdurch wird über den Treiberschaltkreis 180 das Signal NAK an die Datenschiene 62 geliefert. Dieses Signal NAK wird von dem unterbrechenden Gerät aufgenommen. Zur gleichen Zeit, wo das Signal MYNAKR den hohen Pegel aufweist, weist der Ausgang des mittleren Flip-Flops innerhalb des Elementes 166 und somit das Signal
809818/0815
MYAKI+ den niedrigen Pegel auf, da das Signal MYAKP+ am Ausgang Q des Flip-Flops 186 den niedrigen Pegel besitzt. Somit erzeugt der Prozessor ein Signal NAK für das unterbrechende Gerät, beispielsweise für die Steuerung 56. Da das obere Flip-Flop des Elementes 166 das Signal MYNAKR mit hohem Pegel erzeugt, gibt das Flip-Flop 184 an seinem Ausgang Q ebenfalls ein Signal mit hohem Pegel ab, wenn dem Eingang D des Flip-Flops 184 ein Taktsignal mit dem Binärwert "1" zugeführt wird. Demgemäß wird das Signal FBINTF mit hohem Pegel am Ausgang Q des Flip-Flops 184 erzeugt. Das Signal FBINTF wird dem QDER-Gatter 142 gemäß Fig. 3 als eine der gesteuerten Unterbrechungen zugeführt. Das XJnterbrechungssignal FINTRA wird somit durch die Logik gemäß Fig. 3 erzeugt.
Aufgrund des Signales FBINTF am Ausgang Q des Flip-Flops 184 wird ein Signal MYAKPS- erzeugt, um das Flip-Flop 186 zu setzen und das Flip-Flop 184 zurückzustellen. Die Erzeugung dieses Signales erfolgt durch den Steuerspeicher 10, der zusammen mit anderen Logikschaltkreisen benutzt wird, um den Ursprung der Unterbrechung festzustellen und danach eine Verzweigung auf die Datenschienenunterbrechung-Behandlungsroutine, die in dem Speicher 52 gespeichert sein kann, freizugeben. Das Signal FBINTF kann andererseits im Falle der vorliegenden Erfindung direkt auf die Signaleingänge MYAKPS-geschaltet werden. Wenn das Signal MYAKPS- erzeugt wird, so nimmt das Signal MYAKP+ den hohen Pegel ein und das Signal FBINTF wird auf den niedrigen Pegel zurückgeschaltet. Der Prozessor ist sodann in den Zustand geschaltet, in dem er in der Lage ist, die nächste aufgenommene Unterbrechungsanweisung zu bestätigen. Die Erzeugung des Signales MYAKPS- zeigt an, daß die Firmware sich in der Verarbeitung einer Unterbrechungs-Behandlungsroutine befindet, und es werden hierdurch irgendwelche weiteren Unterbrechungen unterdrückt, da zum Beginn einer solchen Unterbrechungs-Behandlungsroutine das Signal FRSINT erzeugt und der Zeitgeber 134 gemäß Fig. 3 gestartet wird. Die Unterbrechungen werden somit daran gehindert, eine erste bereits empfangene und behandelte Unterbrechung zu beeinflussen.
80981 θ/081 5
Der Prozessor gemäß der vorliegenden Erfindung kann eine Einrichtung aufweisen, durch die ein Signal auf der Datenschiene erzeugt wird, das dem zuvor eine Unterbrechung anfordernden Gerät anzeigt, daß es erneut eine Unterbrechung versuchen soll. Einige Zeit später kann somit das zuvor eine Unterbrechung anfordernde Gerät erneut eine Unterbrechung anfordern oder es kann ein anderes Gerät zum erstenmal eine Unterbrechung anfordern. Ungeachtet dessen v/ird bei gesetztem Flip-Flop 186 die Unterbrechungsanforderung des nächsten Gerätes an den Prozessor 50 bestätigt, sofern alle anderen Bedingungen erfüllt sind. Der Prozessor 50 wird betätigt, um die nächste Unterbrechung zu bestätigen, wenn alle Eingangssignale des Gatters 162 den hohen Pegel aufweisen und somit das Signal MYAKI+ am Ausgang des mittleren Flip-Flops des Elementes 166 den hohen Pegel einnimmt, wodurch über das ODER-Gatter 176 und den Treiberschaltkreis 178 das Bestätigungssignal erzeugt wird.
Durch die Umschaltung des Signales MYAKI+ auf den hohen Pegel wird ebenfalls das Flip-Flop 186 zurückgestellt, da dieses Signal dem Takteingang zugeführt wird, wodurch das Massepotejiti.al mit niedrigem Pegel am Eingang D des Flip-Flops 186 auf den Ausgang Q desselben gegeben wird. Durch die Rückstellung des Flip-Flops 186 befindet sich der Prozessor in einem Zustand, in dem alle nachfolgenden Unterbrechungen , die nicht in die zweite Hälfte des Lesezyklus fallen, abgewiesen werden. Das Flip-Flop 186 kann ebenfalls durch das Signal MYAKPR- an seinem Rückstelleingang zurückgestellt werden. Das Signal MYAKPR- kann beispielsweise durch die Firmware des Steuerspeichers erzeugt werden, wenn dieses Flip-Flop beispielsweise für eine Zeitdauer gesetzt worden ist, die über der Zeit liegt, welche von dem System toleriert wird. Ein Zeitgeber kann daher beispielsweise ein Signal erzeugen, das das' Signal MYAKPR- hervorruft und den Prozessor 50 in einen Zustand bringt, in dem er die nächste Unterbrechung nicht annimmt. Dies ist beispielsweise in einer Situation der Fall, in der das Gerät, das zuvor eine Unterbrechung anforderte und ein Verweigerungssignal empfing, aus irgendeinem Grund die Unterbrechung nicht für eine vorgegebene Zeitperiode erzeugt und der Zustand vorliegt, in dem ein anderes Gerät ebenfalls die Unterbrechung für den Prozessor nicht für eine vorgegebene Zeitperiode erzeugt.
809819/0615

Claims (11)

  1. HONEYWELL INFORMATION SYSTEZiS INC. <A__
    2OO S„,ith Street 21. Ok.. 1977
    Waltham, Mass., USA 5101549 Ge
    DV-System wit einer Ünte.rbrechungseinrichtung
    Patentansprüche:
    ^DV-System mit einer Unterbrechungseinrichtung, gekennzeichnet durch
    Λ. eine Einrichtung zum Empfang mehrerar gesteuerter Unterbrechungen;
    B. eine Einrichtung zum Empfang mehrerer privilegierter Unterbrechungen;
    C. eine Einrichtung zur Freigabe der Behandlung dieser Unterbrechtingen;
    D. eine erste Einrichtung zur Unterdrückung irgendeiner dieser empfangenen Unterbrechungen während der Bearbeitung einer zuvor empfangenen Unterbrechung;
    E. eine zweite Einrichtung zur Unterdrückung der gesteuerten Unterbrechungen für eine Zeitdauer, die für die Statussicherung des Systems erforderlich ist;
    F. eine Einrichtung zur Erzeugung eines Unterbrechungssignales in Abhängigkeit von einer solchen empfangenen Unterbrechung, die nicht von der ersten oder zweiten Unterdrückungseinrichtung unterdrückt wird; und
    G. eine auf dieses Unterbrechungssignal und die Identität dieser Unterbrechung ansprechende Einrichtung zur Freigabe des Beginns der Behandlung der Unterbrechung, die durch die Freigabeeinrichtung freigegeben wurde.
    8098ift/08t5
  2. 2. System nach Anspruch 1,dadurch gekennzeichnet, daß die erste Unterdrückungseinrichtung einen Unterbrechungs-Zeitgeber aufweist, der ein Unterdrückungssignal mit einer Zeitdauer liefert, die auf die Zeit bezogen ist, welche zur Behandlung der Unterbrechung erforderlich ist.
  3. 3. System nach Anspruch 2, dadurch gekennzeichnet, daß die erste Unterdrückungseinrichtung Mittel zur Rückstellung des UnLerdrückungssignales zu jedem Zeitpunkt, aufweist.
  4. 4. System nach Anspruch 1,dadurch gekennzeichnet, daß die erste Unterdrückungseinrichtung aufweist:
    A. eine erste bistctbile Einrichtung, der ein erstes Signal zugeführt wird;
    B. eine zweite bistabile Einrichtung, der ein zweites Signal zugeführt wird;
    C. eine Einrichtung, um den Ausgang der ersten bistabilen Einrichtung an die zweite bistabile Einrichtung anzuschließen, wobei hinsichtlich der zweiten bistabilen Einrichtung der gleiche Effekt wie durch das zweite Signal erzeugt wird;
    D. eine Gattereinrichtung zur Lieferung eines Unterdrückungssignales, der Signale von den Ausgängen der ersten und zweiten bistabilen Einrichtung zugeführt werden und die das Unterdrückungssignal in Abhängigkeit von dem zweiten Signal für eine erste vorbestimmte auf die für die Bearbeitung des Befehls durch das System benötigte Zeit bezogene Zeitdauer erzeugt und die das Unterdrückungssignal in Abhängigkeit von dem ersten Signal für eine Zeitdauer erzeugt, die dem Zweifachen der ersten vorbestimmten Zeitdauer entspricht.
  5. 5. System nach Anspruch 4, gekennzeichnet durch
    A. ein Steuerelement;
    B. eine Einrichtung zum Empfang einer Unterbrechung von dem Steuerelement, welche Unterbrechung anzeigt, daß das System durch einen Operator zu steuern ist; und
    809816/OS15
    27Λ7633
    C. eine auf die Steuerelementunterbrechung ansprechende Einrichtung zur Erzeugung des Unterbrechungssignales unabhängig vom Betrieb der zweiten Unterdrückungseinrichtung.
  6. 6. System nach Anspruch 5,gekennzeichnet durch
    A. eine Einrichtung zur Freigabe der zweiten Unterdrückungseinrichtung zur Unterdrückung dieser Steuerelementunterbrechung; und
    B. eine dritte Einrichtung zur Unterdrückung dieser Steuerelomen tunter brechung, wobei diese dritte Einrichtung in Abhängigkeit von dem Status der Befehlsbearbeitung durch da:· System freigegeben wird.
  7. 7. System nach Anspruch 1, gekennzeichnet durch
    A. ein bistabiles Element mit einem Ausgang, einem Eingang und einem Takteingang;
    B. eine Gattereinrichtung mit einem ersten und einem zweiten Eingang;
    C. eine Einrichtung zum Anschluß der gesteuerten Unterbrechung an den ersten Eingang der Gattereinrichtung;
    D. eine Einrichtung zum Anschluß der privilegierten Unterbrechung an den zweiten Eingang der Gattereinrichtung;
    E. eine Einrichtung zur Weiterleitung der von der Gattereinrichtung aufgenommenen Unterbrechung zu dem Eingang des bistabilen Elementes und zur Speicherung in dem bistabilen Element beim Auftritt eines Taktsignales an dem Takteingang; und
    F. eine Einrichtung zum Anschluß des Ausganges des bistabilen Elementes an die Einrichtung zur Erzeugung des Unterbrechungssignales, wobei das Unterbrechungssignal erzeugt wird, wenn eine Unterbrechung in dem bistabilen Element gespeichert ist.
  8. 8. Einrichtung nach Anspruch 1, gekennzeichnet durch
    A. mehrere bistabile Einrichtungen, denen jeweils eine Unterbrechung zur temporären Speicherung eines Hinweises auf eine solche Unterbrechung zugeführt wird;
    609816/0818
    B. einen Prioritätscodiercr, der an jede bistabile Einrichtung angeschlossen ist und eine codierte Darstellung der höchsten Priorität einer der den bistabilen Einrichtungen zugeführten Unterbrechungen erzeugt; und
    C. eine Einrichtung zur Speicherung der codierten Darstellung
    in Abhängigkeit von einem Taktsignal, wobei irgendeine andere von den bistabilen Einrichtungen aufgenommene Unterbrechung nicht bearbeitet wird bis die durch die codierte Darstellung angezeigte Unterbrechung behandelt ist.
  9. 9. System nach Anspruch 8, gekennzeichnet durch
    A. eine Decodiereinrichtung zur Decodierung der codierten Darstellung, um ein decodiertes Ausgangssignal zu erzeugen; und
    B. eine auf das decodierte Ausgangssignal ansprechende Einrichtung zum Löschen der bistabilen Einrichtung, die die in der Speichereinrichtung gespeicherte codierte Darstellung erzeugt,
    wodurch die gelöschte bistabile Einrichtung in der Lage ist, eine andere Unterbrechung aufzunehmen.
  10. 10. System nach Anspruch !,gekennzeichnet durch eine Einrichtung zur Freigabe der Behandlung einer empfangenen privilegierten Unterbrechung vor einer empfangenen gesteuerten Unterbrechung.
  11. 11. System nach Anspruch 1 mit einer Zentraleinheit und mehreren
    an diese angeschlossenen Geräten, wobei die Geräte eine externe Unterbrechung erzeugen, die in den gesteuerten Unterbrechungen enthalten ist, gekennzeichnet durch A. eine auf einen anfänglichen Empfang einer externen Unterbrechung ansprechende Einrichtung zur Erzeugung einer negativen Bestätigung für das die externe Unterbrechung erzeugende Gerät, um dadurch anzuzeigen, daß diese externe Unterbrechung nicht bearbeitet wird bis die Unterbrechung erneut empfangen wird;
    809819/0818
    27A7633
    B. eine auf den anfänglichen Empfang der externen Unterbrechung ansprechende Einrichtung zur Speicherung eines Hinweises auf einen solchen Empfang; und
    C. eine auf den Empfang einer externen Unterbrechung von irgendeinem der Geräte und den gespeicherten Hinweis ansprechende .Einrichtung zur Erzeugung einer positiven Bestätigung für das die Unterbrechung erzeugende Gerät und zur Freigabe der Erzeugung des Unterbrechungssignales, wenn die externe Unterbrechung die höchste priorität aufweist und die erste und zweite Unterdrückungseinrichtung nicht freigegeben ist.
    609816/0615
DE19772747633 1976-10-28 1977-10-24 Dv-system mit einer unterbrechungseinrichtung Withdrawn DE2747633A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/736,657 US4218739A (en) 1976-10-28 1976-10-28 Data processing interrupt apparatus having selective suppression control

Publications (1)

Publication Number Publication Date
DE2747633A1 true DE2747633A1 (de) 1978-05-03

Family

ID=24960760

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19772747633 Withdrawn DE2747633A1 (de) 1976-10-28 1977-10-24 Dv-system mit einer unterbrechungseinrichtung

Country Status (7)

Country Link
US (1) US4218739A (de)
JP (1) JPS5354938A (de)
AU (1) AU515497B2 (de)
CA (1) CA1102004A (de)
DE (1) DE2747633A1 (de)
FR (1) FR2369627A1 (de)
GB (1) GB1595425A (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6032217B2 (ja) * 1979-04-02 1985-07-26 日産自動車株式会社 制御用コンピュ−タのフェィルセ−フ装置
JPS57196357A (en) * 1981-05-29 1982-12-02 Toshiba Corp Data processor
EP0266800B1 (de) * 1986-11-07 1995-03-15 Nec Corporation Datenprozessor mit verschiedenen Unterbrechungsverarbeitungsarten
US4933901A (en) * 1988-01-11 1990-06-12 Texas Instruments Incorporated Method for assigning priority to read and write requests received closely in time
US5218703A (en) * 1988-07-07 1993-06-08 Siemens Aktiengesellschaft Circuit configuration and method for priority selection of interrupts for a microprocessor
EP0892344B1 (de) * 1989-05-04 2002-08-21 Texas Instruments Incorporated Datenverarbeitungssystem mit Kontextumschaltungsfähigkeit
US5291603A (en) * 1991-03-14 1994-03-01 Westinghouse Electric Corp. Microprocessor system with multiple interrupts masked for use in electronic control or monitoring of various solid-state products
US5542076A (en) * 1991-06-14 1996-07-30 Digital Equipment Corporation Method and apparatus for adaptive interrupt servicing in data processing system
US5517624A (en) * 1992-10-02 1996-05-14 Compaq Computer Corporation Multiplexed communication protocol between central and distributed peripherals in multiprocessor computer systems
US5594907A (en) * 1992-10-13 1997-01-14 Sony Corporation Apparatus for locking/unlocking a number of units connected to a master unit
US5701501A (en) * 1993-02-26 1997-12-23 Intel Corporation Apparatus and method for executing an atomic instruction
US5835743A (en) * 1994-06-30 1998-11-10 Sun Microsystems, Inc. Application binary interface and method of interfacing binary application program to digital computer
CN1205792C (zh) * 1994-08-31 2005-06-08 国际商业机器公司 用于设备间通信的系统与方法
US5717932A (en) * 1994-11-04 1998-02-10 Texas Instruments Incorporated Data transfer interrupt pacing
JP3676882B2 (ja) 1996-06-12 2005-07-27 株式会社リコー マイクロプロセッサ及びその周辺装置
US5860013A (en) * 1996-07-26 1999-01-12 Zilog, Inc. Flexible interrupt system for an integrated circuit
US6816934B2 (en) 2000-12-22 2004-11-09 Hewlett-Packard Development Company, L.P. Computer system with registered peripheral component interconnect device for processing extended commands and attributes according to a registered peripheral component interconnect protocol
US7487339B2 (en) * 2001-10-12 2009-02-03 Mips Technologies, Inc. Method and apparatus for binding shadow registers to vectored interrupts
US7552261B2 (en) * 2001-10-12 2009-06-23 Mips Technologies, Inc. Configurable prioritization of core generated interrupts
US7360117B1 (en) * 2002-10-24 2008-04-15 Verisilicon Holdings (Cayman Islands) Co. Ltd. In-circuit emulation debugger and method of operation thereof
CN101506777A (zh) * 2006-08-21 2009-08-12 Nxp股份有限公司 多处理器系统以及使多处理器系统的调试处理同步的方法
JP4990250B2 (ja) * 2008-09-18 2012-08-01 株式会社日立産機システム 割込制御装置、割込制御システム、割込制御方法および割込制御プログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3286239A (en) * 1962-11-30 1966-11-15 Burroughs Corp Automatic interrupt system for a data processor
NL164143C (nl) * 1965-09-10 Ibm Gegevensverwerkend systeem met variabele prioriteiten.
US3560935A (en) * 1968-03-15 1971-02-02 Burroughs Corp Interrupt apparatus for a modular data processing system
BE755621A (fr) * 1969-09-02 1971-03-02 Siemens Ag Systeme de central automatique pour donnees a commande par programme
US3710324A (en) * 1970-04-01 1973-01-09 Digital Equipment Corp Data processing system
US3735357A (en) * 1970-09-18 1973-05-22 Ibm Priority system for a communication control unit
US3866181A (en) * 1972-12-26 1975-02-11 Honeywell Inf Systems Interrupt sequencing control apparatus
US3828327A (en) * 1973-04-30 1974-08-06 Ibm Simplified storage protection and address translation under system mode control in a data processing system
US3825902A (en) * 1973-04-30 1974-07-23 Ibm Interlevel communication in multilevel priority interrupt system
IT1002275B (it) * 1973-12-27 1976-05-20 Honeywell Inf Systems Sistema di elaborazione dati a piu canali di ingresso uscita a risorse orientate per livelli di servizio distinti e interrompi bili
US4000485A (en) * 1975-06-30 1976-12-28 Honeywell Information Systems, Inc. Data processing system providing locked operation of shared resources

Also Published As

Publication number Publication date
GB1595425A (en) 1981-08-12
FR2369627A1 (fr) 1978-05-26
AU2974377A (en) 1979-04-26
CA1102004A (en) 1981-05-26
JPS5354938A (en) 1978-05-18
AU515497B2 (en) 1981-04-09
FR2369627B1 (de) 1984-10-26
US4218739A (en) 1980-08-19

Similar Documents

Publication Publication Date Title
DE2747633A1 (de) Dv-system mit einer unterbrechungseinrichtung
DE2953432C1 (de) Vorrichtung zum Testen eines Mikroprogramms
DE69930614T2 (de) VERFAHREN UND GERÄT ZUM HANDHABEN VON mehrfachen flanken- und zustandsausgelösten unterbrechungen
DE2722099C2 (de)
DE10085374B4 (de) Systemmanagementspeicher für die Systemmanagement-Interrupt-Behandler wird in die Speichersteuereinrichtung integriert, unabhängig vom BIOS und Betriebssystem
DE3204905C2 (de)
DE19900245B4 (de) Vorrichtung und Verfahren zum Senden von Daten von einem USB-Endpunkt an einen USB-Host
DE2714805C2 (de)
DE3110378C2 (de)
DE2755952C2 (de)
DE2657848A1 (de) Steuereinheit fuer ein datenverarbeitungssystem
EP0011685B1 (de) Programmierbare Speicherschutzeinrichtung für Mikroprozessorsysteme und Schaltungsanordnung mit einer derartigen Einrichtung
DE2659662C3 (de) Prioritätsstufengesteuerte Unterbrechungseinrichtung
DE3301628A1 (de) Schaltungsanordnung fuer den datenaustausch zwischen zwei rechnern
DE2806024A1 (de) Speichersystem mit fehlerfeststell- und korrekturmoeglichkeit
DE102013113262B4 (de) Auslöser-Leitwegeinheit
DE69836604T2 (de) Unterbrechungssteuerungsgerät und -system, Unterbrechungsverarbeitungsverfahren und Speichermedium zur Speicherung eines Unterbrechungsverarbeitungsprogramms
DE60002908T2 (de) Vorrichtung und verfahren zur verbesserten fehlerortung und diagnose in rechnern
DE2921897A1 (de) Hardware/firmware-dialogsteuerlogik- system
DE2722124A1 (de) Anordnung zum feststellen des prioritaetsranges in einem dv-system
DE2721623A1 (de) System zur bearbeitung eines zielsystemprogrammes
DE19900251B4 (de) Vorrichtung und Verfahren zum Steuern eines vielseitigen USB-Endpunktkanals
EP0048991B1 (de) Verfahren und Anordnung zur Behandlung von Unterbrechungsbedingungen während des Arbeitsablaufes in Datenverarbeitungsanlagen mit Mikroprogrammsteuerung
DE2336020B2 (de) Adressen-berechnungsschaltung fuer paritaetsfehler-korrekturprogramme
DE2657897A1 (de) Externes geraet, das die ureingabe fest gespeichert enthaelt, fuer elektronische datenverarbeitungsanlagen mit einem zentralen speicher

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8130 Withdrawal