CH493886A - Data processing system - Google Patents

Data processing system

Info

Publication number
CH493886A
CH493886A CH736967A CH736967A CH493886A CH 493886 A CH493886 A CH 493886A CH 736967 A CH736967 A CH 736967A CH 736967 A CH736967 A CH 736967A CH 493886 A CH493886 A CH 493886A
Authority
CH
Switzerland
Prior art keywords
program
control device
processor
interruption
signal
Prior art date
Application number
CH736967A
Other languages
German (de)
Inventor
Leroy Bahrs David
Cohen Robert
Francis Couleur John
Francis Gudenschwager Philip
Leroy Ruth Richard
Arnold Shelly William
George Trubisky Leonard
Original Assignee
Gen Electric
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 Gen Electric filed Critical Gen Electric
Publication of CH493886A publication Critical patent/CH493886A/en

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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30032Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30054Unconditional branch instructions
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
    • G06F9/3875Pipelining a single stage, e.g. superpipelining
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • 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/4818Priority circuits therefor

Description

  

  
 



  Datenver arbeitungsanlage
Die vorliegende Erfindung betrifft eine Datenverarbeitungsanlage, enthaltend eine Mehrzahl von zur Einund Ausgabe von Daten und Befehlen vorgesehenen Ein- und Ausgabewerke, mindestens einen Arbeitsspeicher zum Speichern von Daten in adressierbaren Orten, und mindestens einen Prozessor zur Behandlung von Daten in Übereinstimmung mit einem Programm.



   Die Datenverarbeitungsanlage nach der vorliegenden Erfindung kann als komplexe Datenverarbeitungsanlage ausgebaut werden, welche eine grosse Anzahl von Unteranlagen und zugehörigen Einrichtungen aufweist, welche imstande sind, verschiedene Operationen unabhängig voneinander einzuleiten und welche mit anderen Komponenten und Unteranlagen in Verbindung treten kann, um solche Operationen auszuführen. Solche Datenverarbeitungsanlagen können eine oder mehrere Speichervorrichtungen enthalten, einen oder mehrere Datenverarbeiter und eine oder mehrere Eingangs-Ausgangs-Steuereinrichtungen, um die Verbindung mit den Eingangs-Ausgangs-Einrichtungen, wie beispielsweise einem Magnetbandgerät, oder einem Papierstreifen-Ablesegerät, oder einem Lochkarten-Auswertegerät und anderen herzustellen.



   Die Eingangs-Ausgangs-Steuereinrichtungen und die Datenverarbeiter müssen von Zeit zu Zeit mit jedem der Speicher in Verbindung gebracht werden. Aus diesem Grunde werden die Datenverarbeiter und die Eingangs Ausgangs-Steuereinrichtungen im folgenden auch als Verbindungs- oder Vermittlungs-Einrichtungen bezeichnet. Diese Vermittlugnseinrichtungen werden im folgen den auch manchmal als Untersysteme bezeichnet.



  Um den Zugang der verschiedenen Vermittlungseinrichtungen zu jedem Speicher zu steuern, ist für jeden Speicher ein Speichersteuergerät vorgesehen.



   In den komplexen Datenverarbeitungsanlagen ist jedes der verschiedenen Untersysteme nicht nur fähig, um unabhängig verschiedene Operationen einzuleiten, sondern jedes vermag auch bestimmte begrenzte Operationen unabhängig von den anderen auszuführen. Auf diese Weise können die verschiedenen Untersysteme gleichzeitig an verschiedenen unterschiedlichen Operationen arbeiten. Bestimmte Operationen werden sogar gesamthaft nur in den Untersystem ausgeführt, während andere eine Verbindung mit einem Speicher benötigen, oder die Ausführung eines Programms durch ein Datenverarbeitungsuntersystem. Das grundlegende Ziel, dass alle Untersysteme unabhängig voneinander mit der Durchführung von ihnen zugeordneten Arbeiten ausgelastet sind.



   Im Betrieb solcher Anlagen kann es vorkommen, dass ein   bestimmtes Untersystem    die Durchführung eines Programms durch einen Datenverarbeiter verlangt, während dieser Datenverarbeiter die Durchführung eines anderen Programms bewerkstelligt, welches den Verarbeiter für eine längere Zeitdauer in Anspruch nimmt.



  Das den Verarbeiter benötigende Untersystem kann dabei die Durchführung eines zeitlich sehr kurzen Programms verlangen und die durch das Warten auf den Verarbeiter bewirkte Verzögerung den Ablauf der Operationen in dem Untersystem ernsthaft beeinträchtigt.



   Es ist ein Ziel der vorliegenden Erfindung, eine Datenverarbeitungsanlage anzugeben, in der ein Untersystem, welches die Hilfe eines Datenverarbeiters benötigt, eine Unterbrechung eines Programms, das von diesem Datenverarbeiter durchgeführt wird, und die Umschaltung des Datenverarbeiters auf die Ausführung eines Programms, die von dem Untersystem gefordert wird, bewirken kann, was erfindungsgemäss dadurch erreicht wird, dass mindestens eines der Ein- und Ausgabewerke und/oder ein Prozessor Mittel zum Erstellen eines eine Unterbrechung des gerade in dem Prozessor bearbeiteten Programms und die Durchführung eines neuen Programms anfordernden Signals aufweist, und dadurch, dass zwischen dem Arbeitsspeicher und den   Ein- und Ausgabewerken und/oder weiteren Prozessoren eine Speichersteuereinrichtung vorgesehen ist,

   die zum Speichern einer Mehrzahl von unterschiedliche Prioritäten aufweisenden, eine Programmunterbrechung anfordernden Signalen vorgesehene Speicherzellen enthält, und Mittel, um die eine Programmunterbrechung anfordernden Signale entsprechend ihrer Priorität auszuwählen und die Programmunterbrechung auszuführen, wozu die Speichersteuereinrichtung dem ausgewählten, eine Programmunterbrechung anfordernde Signal entsprechend weitere Signale erstellt und an den erstgenannten Prozessor leitet, um den angeforderten Programmunterbruch und die Ausführung eines neuen Programms zu bewirken, und dadurch, dass der erstgenannte Prozessor Mittel zum Erstellen von für ausgewählte, eine Programmunterbrechung anfordernde Signale wirksame Unterbrechungsmasken-Signalen aufweist, und dadurch, dass   die Speichersteuereinrichtung Sperrmittel    enthält,

   welche die Unterbrechungsmasken-Signale empfangen und speichern und das Erstellen eines eine Programmunterbrechung anfordernden Signales bis zur Löschung des gespeicherten Signals verhindern.



   Die Erfindung soll nun mit Hilfe der Figuren an einem Ausführungsbeispiel näher erläutert werden.



   Fig. 1 ist das Blockdiagramm einer Anlage in   Über-    einstimmung mit der vorliegenden Erfindung;
Fig. 2 ist eine schematische Darstellung eines der Verarbeiter, wie sie in der Anlage nach Fig. 1 angegeben sind;
Fig. 3 ist eine vereinfachte schematische Darstellung der Verdrahtung solcher Teile einer Speichersteuereinrichtung der Anlage nach Fig. 1, welche in bezug auf die vorliegende Erfindung besonders wichtig sind;
Fig. 4 ist die schematische Darstellung eines Stromkreises, welche einen bestimmten Teil einer Speichersteuereinrichtung nach Fig. 1 zeigt, in der die Programm-Unterbruchs-Anfragen gespeichert werden.



   In Fig. 1 ist eine komplexe Datenverarbeitungsanlage, welche zwei Speicher 31 und 34 enthält, gezeigt.



  Die aus den Verarbeitern 22 und 25 und den Eingangs-Ausgangs-Steuereinrichtungen 35, 36 und 37 bestehenden Vermittlungseinrichtungen vermögen alle durch eine Speichersteuereinrichtung 30 mit dem Speicher 31 in Verbindung zu treten. In ähnlicher Art sind alle Vermittlungseinrichtungen vorgesehen, um durch eine Speichersteuereinrichtung 32 mit dem Speicher 34 in Verbindung zu kommen. Die Eingangs-Ausgangs Steuereinrichtung 35 ist dafür vorgesehen, die Verbindungen mit verschiedenen unabhängigen Eingangs-Ausgangs-Einrichtungen 38 herzustellen. In ähnlicher Art werden die Verbindungen mit der Einrichtung 39 durch die   Eingangs-Ausgangs-Steuereinrichtung    36 und die Verbindungen mit der Einrichtung 40 durch die Eingangs-Ausgangs-Steuereinrichtung 37 bewirkt.



   Die in Fig. 1 gezeigte Anlage ist sehr stark vereinfacht. Es versteht sich nämlich, dass in einer Anlage nach der vorliegenden Erfindung mehr Vermittlungseinrichtungen vorhanden sein können. Beispielsweise können acht oder mehr   Vermittlungseinrichtungen    vorgesehen sein, die durch die Speichersteuereinrichtung 30 miteinander in Verbindung treten und von denen jede ihren eigenen   Übertragungskanal    innerhalb der Speichersteuereinrichtung 30 besitzt. Auf diese Weise kann die vorliegende Erfindung für Anlagen verwendet werden, welche mehr Verarbeiter und mehr Speichersteuereinrichtungen und mehr Eingangs-Ausgangs-Steuereinrichtungen als in der Figur gezeigt sind, aufweist.



   Im folgenden soll nur so viel über den allgemeinen Aufbau der Datenverarbeitungsanlage und das Verschieben der Daten und die Ausführung der Instruktionen, und die Auswahl und Erzeugung von Signalen beschrieben werden, wie für das Verständnis der vorliegenden Erfindung notwendig ist. Solche Bauteile, welche in der Technik der Datenverarbeitungsanlagen als bekannt angesehen werden dürfen, oder keine unmittelbare Bedeutung für den Aufbau in Übereinstimmung mit der vorliegenden Erfindung haben, sind im folgenden der besseren Verständlichkeit wegen nicht erwähnt.



   Beim Betrieb der vorliegenden Erfindung wird jede der Eingangs-Ausgangs-Steuereinrichtungen, wie beispielsweise die Einrichtung 37, einer Speichersteuereinrichtung 30 oder 32, welche als Master oder   Über-      wachungseinrichtung    funktioniert, und an welche bestimmte Anfragen zu richten sind, zugeordnet. Eine solche Zuordnung kann durch die Betätigung eines Handschalters an der   Eingangs-Ausgangs. Steuereinrichtung    oder durch einen durch das Programm betätigten Schalter bewirkt werden. Für den Zweck der folgenden Beschreibung sei angenommen, dass der Eingangs-Ausgangs-Steuereinrichtung 37 der Speichersteuereinrichtung 32 zugeordnet ist.

  In ähnlicher Weise ist jeder Speicher und jede Speichersteuereinrichtung, wie beispielsweise 34 und 32, einem bestimmten Verarbeiter, wie beispielsweise 25, zugeordnet, welcher als Steueroder Master-Bearbeiter wirkt. Auch diese Zuordnung kann durch einen von Hand betätigten Schalter an der Speichersteuereinrichtung oder durch eine programmierte Schalteinrichtung bewirkt werden. Für den Zweck der folgenden Beschreibung sei angenommen, dass die Speichersteuereinrichtung 32 den Verarbeiter 25 als ihren Masterverarbeiter untergeordnet ist.



   Im folgenden sei eine Beschreibung der Unterbre   cherfunktion    nach der Erfindung gegeben. Wenn die   Eingangs-Ausgangs-Steuereinrichtung    37 die Arbeit eines Verarbeiters und beispielsweise des Verarbeiters 25 benötigt, verlangt die Steuereinrichtung 27 durch die Speichersteuereinrichtung 32 Zugang zum Speicher 34. Die Anfrage bestimmt eine Speicheradresse und erhält ein Wort aus dem Speicher 34 an diese Adresse, welche auf Grund der Anfrage der Eingangs-Ausgangs Steuereinrichtung 37 von dem Verarbeiter bearbeitet werden sollen, definiert.



   Die Eingangs-Ausgangs-Steuereinrichtung 37 bewirkt, dass ein Teil dieses Wortes in der Speichersteuereinrichtung 32 in einer Gruppe von Speicherzellen, welche als  führt Unterbrechung aus -Zellen bezeichnet sind, gespeichert wird. Das gespeicherte Wort soll im folgenden als ein   Programm-Unterbrecher-Anfrage-Si-    gnal bezeichnet werden. Jede binäre Ziffer wird in eine getrennte Zelle gespeichert und jede gespeicherte Ziffer stellt eine getrennte Programm-Unterbruchs-Anfrage dar. Eine Anzahl   unerledigter    Programm-Unterbruchs Anfragen kann gleichzeitig in den  führt Unterbruch aus -Zellen der Speichersteuereinrichtung 32 gespeichert werden. Diese mehrfachen Anfragen können durch ein einziges Datenwortsignal gebildet werden, oder von getrennten und nacheinander empfangenen Signalen.

 

   Wenn immer irgend eine solche Unterbruchsnachfrage in den Unterbruchszellen des Speichers gespeichert ist, bewirkt die Speichersteuereinrichtung die Abgabe eines Signales an ihren Steuerverarbeiter 25, welches die Abwesenheit einer unerledigten Programm-Unterbruchs   Anfrage anzeigt. Dieses Signal wird im folgenden als  vorliegende Unterbrechung ist auszuführen  oder XIP bezeichnet. Wenn der Datenverarbeiter nicht beschäftigt ist, wenn er ein XIP-Signal empfängt, sendet er sofort einen Ausführungsbefehl XEC an die Speichersteuereinrichtung 32 zurück. Wenn dagegen, wie das meistens der Fall ist, der Verarbeiter 25 mit der Durch   führung    eines Programms beschäftigt ist, gibt keinen XEC-Befehl aus, bevor nicht eine zum Anhalten gut geeignete Stelle in dem gerade bearbeiteten Programm erreicht ist.

  Dieses wird durch die Überprüfung einer besonderen Zahlenposition in jedem Instruktionswort des vorliegenden Programms erreicht, bis ein eingegebenes Instruktionswort eine Stelle in vorliegenden Programm anzeigt, die für eine Unterbrechung geeignet ist.



  Es ist auch möglich, dass dieses nicht auftritt bevor das vorliegende Programm abgeschlossen ist. Das bedeutet aber, dass die beschriebene Arbeitsweise ein Verfahren zum Beginn eines neuen Programms am Ende des gegenwärtigen Programms liefert und ebenso gut ein Verfahren, um das gegenwärtige Programm zu unterbrechen.



   Wenn der Verarbeiter den XEC-Befehl an die Speichersteuereinrichtung abgibt, liefert die Speichersteuereinrichtung eine Adressinformation an den Verarbeiter, welche der das Programm unterbrechenden Zelle zugeordnet ist, welche eingestellt ist und die zu erledigende Anfrage nach der Unterbrechung des Programms speichert. Der XEC-Befehl bewirkt ausserdem, dass die Zelle zurückgestellt wird, wodurch die Erledigung der Unterbrechungsanfrage angezeigt wird. Der Verarbeiter liefert dann die Adressinformation, die von der Speichersteuereinrichtung geliefert wird und verwendet die   Adresseninformation    um weitere Instruktionen abzurufen und beginnt die Ausführung des neu geforderten Programms in   tÇbereinstimmung    mit diesen Instruktionen.

  Zur gleichen Zeit speichert der Verarbeiter Informationen über das unterbrochene Programm, welche ausreichen, um dieses Programm, nachdem das neue Programm ausgeführt ist, fortzusetzen.



   Die das Programm unterbrechenden Zellen in der Speichersteuereinheit 32 sind in einer durch die Verdrahtung festgelegten Prioritätsreihenfolge angeordnet, so dass, wenn verschiedene Zellen zur Speicherung einer das Programm unterbrechenden Anfrage eingeschaltet sind, diese Anfragen einzeln und entsprechend der vorher bestimmten Prioritätsreihenfolge erledigt werden.



  Auf diese Weise wird während des Betriebs die Adressinformation, die durch nur eine Zelle angezeigt wird, an den Verarbeiter 25 geleitet, wodurch die besondere Unterbrecher-Anfrage, welche in dieser Zelle gespeichert ist, erledigt wird.



   Um die Arbeitsweise der die Priorität bestimmenden Stromkreise der Speicherunterbrecherzellen zu verandern und um die Unterbrechung des Programms auf Grund ausgewählter Programm-Unterbruchs-Anfragen zu verhindern, ist Vorsorge getroffen, dass der Verarbeiter 25 bestimmte Speicherunterbrecherzellen durch das Speichern eines Musters von Abdecksignalen in der Speichersteuereinheit 32 selektiv abdecken kann. Das Speichern dieser Abdeckmuster zerstört die vorherige   Spe cherung    der Programm-Unterbrecher-Anfragen nicht, bewirkt aber, dass die Kreise der Speichersteuereinrichtung die Anwesenheit solcher Anfragen solange wie die Abdeckung für eine bestimmte Zelle eingestellt bleibt, nicht berücksichtigt wird. Diese Abdeckfunktion wird im folgenden auch das Unterdrücken der Programm Unterbruchs-Operation der abgedeckten Zellen bezeichnen.

  Der besondere Aufbau der Anlage, welcher die Durchführung der oben beschriebenen Operationen ermöglicht, soll im folgenden näher beschrieben werden.



   Fig. 2 ist eine schematische Darstellung des in Fig. 1 gezeigten Verarbeiters 25. Der Einfachheit wegen wird die Einleitung einer das Programm unterbrechenden Anfrage zusammen mit dem Aufbau des Verarbeiters beschrieben werden. Dabei versteht sich jedoch, dass der Verarbeiter gewöhnlich eine Programmunterbrechung nicht einleitet, sondern eine Programmunterbrechung im allgemeinen durch eine Eingangs-Ausgangs-Steuereinheit eingeleitet wird.



   Die gestrichelte Linie 32A in Fig. 2 bezeichnet eine Verbindungsfläche längs der Verbindungen vom Verarbeiter 25 mit der Speichersteuereinheit 32 hergestellt werden. Durch die Speichersteuereinheit 32 kann der Verarbeiter mit dem Speicher 34 in Verbindung treten und darin gespeicherte Worte entnehmen. Wenn durch eine solche Operation ein Datenwort erhalten worden ist, erscheint es an der Dateneingangsverbindung, die schematisch durch eine einfache Linie 102 dargestellt ist, und wird dann an den ZDI-Schalter 105 weitergeleitet. Der ZDI-Schalter leitet die erhaltene Information entweder zum AQ-Register 110 oder zum Instruktionsregister YE 114, COE 115 und YO 116, COO 117. Die Inhalte des AQ-Registers 110 werden über den DO-Schalter 124 an die Speichersteuereinrichtung an der Datenausgangsleitung 103 weitergeleitet.

  Die Inhalte der YE und YO-Register werden über den ZY-Schalter 135 zum Adressregister 128 weitergeleitet, welches seinerseits eine Adresse über die achtzehn Adressleitungen   AC-A17    an die Speichersteuereinrichtung weiterleitet. Die COE- und COO-Register 115 und 117 liefern Informationen über den ZI-Schalter 140 zur logischen Matrix 126 für den Befehlscode, welche ihrerseits das Befehlsregister 127 steuert, dessen Ausgang Befehlssignale für die Speichersteuereinrichtung liefert, die eine bestimmte auszuführende Operation anzeigen.



   Wenn eine Programm-Unterbruchs-Operation einzuleiten ist, wird diese Bedingung durch eine Instruktion des gerade bearbeiteten Programms angezeigt. Diese Instruktion bewirkt, dass die logische Matrix 126 für den Befehlscode und das Befehlsregister 127 ein Speicherauslesebefehl abgeben, welcher an eine Adresse geleitet wird, die durch Signale aus dem Adressenregister 128 bestimmt ist. Das aufgefundene Datenwort wird dann über die Verbindung 102 und den ZDI-Schalter 105 weitergeleitet und im A-Teil des AQ-Register 110, der im folgenden auch als A-Register bezeichnet ist, gespeichert. Das auf diese Weise in dem A-Register gespeicherte Wort zeigt an, welche der das Programm unterbrechenden Zellen der Speichersteuereinrichtung 32 einzuschalten ist. In der bestimmten hier beschriebenen Anlage sind 32 Programm-Unterbrecher-Zellen vorgesehen. 

  Die ersten 16 binären Ziffern eines aus 36 binären Ziffern bestehenden Wortes, die in dem A-Register gespeichert sind, geben an, welche der 16 Zellen einer bestimmten Reihe von Programm-Unterbruchs Zellen einzuschalten ist, während die 35igste binäre Ziffer angibt, welche der beiden aus 16 Zellen bestehenden Reihen einzuschalten ist.



   Sobald das Wort im A-Register gespeichert ist, wird die nächste Instruktion des Programms, welche als SMIC (Einschalten der Unterbrecherzellen des Speichers) be  zeichnet ist aus dem Speicher über die Datenleitung 102 und den ZDI-Schalter 105 an die Instruktionsregister YE, COE und YO, COO übertragen. Die ersten drei binären Ziffern des   SMIC-Instruktionswortes    bestimmen, welche Speichersteuereinheit den Befehl empfängt. Der Befehlsteil des Instruktionswortes wird von der logischen Matrix 126 für den Befehlscode codiert und liefert dann den Code (SXC) für die Anordnung im Befehlsregister 127, welcher in die Speichersteuereinheit 32 zu senden ist.

  Praktisch gleichzeitig mit der Weiterleitung der   Befehlsleitungssignale    werden die Inhalte der A-Register über den DO-Schalter 124 und die Datenleitung 103 zur Speichersteuereinheit 32 geleitet. In der Folge dieser beiden Eingänge setzt die logische Steuereinheit der Speichersteuereinrichtung die richtige Programm-Unterbrecher-Zelle oder Zellen in den Einschaltzustand, womit angezeigt ist, dass eine Unterbrechung verlangt worden ist.



   Die oben beschriebene Arbeitsweise des Datenverarbeiters 25 ist kennzeichnend für die Arbeitsweise irgend einer   Vermittlungs einrichtung,    enthaltend Eingangs-Ausgangs-Steuereinrichtungen, sobald eine Anfrage für eine Unterbrechung des Programms eingeleitet wird. Aus diesem Grunde wird der entsprechende Teil des Aufbaus der   Eingangs-Ausgangs-Steuereinrichtung    zur Einleitung einer Programm-Unterbrechungs-Anfrage im folgenden nicht getrennt beschrieben werden. Weiter versteht sich, dass ein Verarbeiter normalerweise keine Programmunterbrechung zum Unterbrechen seines eigenen Programms beantragt.

  Weil dementsprechend die folgende Beschreibung hauptsächlich die Arbeitsweise des Datenverarbeiters beim Empfang einer Anfrage zum Unterbrechen des Programms und nach dem Unterbruch des Programms behandelt, versteht sich, dass er normalerweise nicht auf eine Anfrage anspricht, die von ihm selbst ausgegangen ist.



   Wenn irgend eine der das Programm unterbrechenden Zellen der Speichersteuereinrichtung im eingeschalteten Zustand, welcher eine angefragte Unterbrechung anzeigt, ist, wird das XIP-Signal auf der XIP-Leitung 104 als Ausgangssignal von der Speichersteuereinrichtung zur Unterbrecher-Anfrage und die Priorität bestimmende logische Einheit 182 des Verarbeiters angegeben. Dieses ist ein Signal hoher Intensität, welches aufrecht erhalten bleibt bis alle Unterbruchs-Anfragen beantwortet sind und alle Unterbruchszellen des Programms wieder in ihren zurückgestellten Zustand gesetzt worden sind. Da nur der Steuerbearbeiter der ganzen Anlage Anfragen für die Unterbrechung beantworten kann, empfängt nur die XIP-Leitung, welche mit dem Steuerbearbeiter für einen bestimmten Speicher verbunden ist, das XIP-Signal.



   Die Unterbrecher-Anfrage und die logische Matrix
182 für die Priorität ist in einer Anlage mit einer Mehr   fach.Speichersteuereinheit    mit der XIP-Eingangsleitung von jeder Speichersteuereinrichtung verbunden. Die Un   terbruchs-Anfrage    und die logische Matrix 182 für die Priorität bestimmen die Reihenfolge, in der die Unterbrechungen der verschiedenen Speichersteuereinrichtungen beantwortet werden. Dieses Bauteil kann einen konventionellen Aufbau haben und ist im einzelnen nicht gezeigt. Das Ausgangssignal 184 der logischen Matrix 182 bleibt so lange hoch wie irgend eine der Eingangs XIP-Leitungen hoch ist, was einer Anfrage durch eine der Zellen in einer der Speichersteuereinrichtungen entspricht.



   Die Beantwortung der Unterbrecher-Anfrage durch den Steuersignalverarbeiter kann nur zu bestimmten Zeiten während der Ausführung eines Programms durch den Steuersignalverarbeiter stattfinden. Ein typisches Programm-Instruktionswort weist eine Unterbrecher-Ziffer in der binären Ziffernposition 28 auf. Eine Unterbruchs-Anfrage kann nur am Ende der Bearbeitung einer einzelnen Instruktion eines Instruktionspaares beantwortet werden und nur dann, wenn die Ziffer 28 dieses Instruktionswortes eine binäre Null ist. Am Ende jedes einzelnen Instruktionszyklus, in dem ein Bit 28 eine binäre Null ist, wird die logische Matrix 182 angefragt, um festzustellen, ob darin eine Unterbrecher Nachfrage gespeichert ist oder nicht.



   Wenn diese Bedingung vorliegt, wird dem Verarbeiter durch die logische Matrix 182 für die Priorität der Unterbruchs-Anfrage mitgeteilt, an welche der Speichersteuereinrichtungen eine Antwort zu senden ist. In der Folge dieser Mitteilung bringt der Verarbeiter die Adresse dieser Speichersteuereinrichtung zusammen mit einer durch die Verdrahtung gegebenen Instruktion, welche als XEC bezeichnet ist und die von der Einrichtung 192 kommt, über den ZDI-Schalter 105 in das Instruktions-Register (YE, COE und OY, COO) des Verarbeiters. Die XEC-Instruktion wird dann auf die normale Weise über das Befehlsregister 127 zu der angewiesenen Speichersteuereinrichtung gesandt. Als Antwort auf den XEC-Befehl sendet die Speichersteuereinrichtung einen Sechs-Ziffern-Datenposten über die Dateneingangslinie 102.

  Dieser Sechs-Ziffern-Posten ist kennzeichnend für die bestimmte Unterbrecherzelle, welche beantwortet wird. Er wird über den ZDI-Schalter 105 in die Ziffernpositionen 12-17, sowohl des PEals auch des YO-Registers eingegeben. Zur gleichen Zeit wird ein aus drei Ziffern bestehender Informationsposten, welcher die Schaltstellung dreier der Schalter des Blocks 141, der der Speichersteuereinrichtung die angesprochen wird, entspricht, darstellt, über einen Schalter 181 an den ZDI-Schalter 105 gegeben, um in den Ziffernpositionen 9, 10 und 11 der   YE-    und YO-Register eingegeben zu werden. Zur gleichen Zeit wird auch ein aus neun Ziffern bestehender Informationsposten vom Block 193 durch den ZDI-Schalter in den Befehlsteil des Instruktionsregisters, d. h. die COE- und COO-Register eingegeben.

  Der Block 193 stellt den durch die Schaltung festgelegten Befehl, der mit XED (doppelt auszufphren) bezeichnet ist, dar. Diese Eingangssignale in das Instruktionsregister bilden das Instruktionswort, welches als nächstes verwendet wird.

 

   Die drei Ziffern des Schaltblocks 141 des Verarbeiters, welche sich in den Ziffernpositionen 9, 10 und 11 befinden und die sechs Ziffern der Speichersteuereinrichtung, welche in den Ziffernpositionen 12-17 gespeichert sind, bilden gemeinsam eine Adresse im Speicher und das dazugehörige Instruktionswort bewirkt, dass der Verarbeiter den Speicher angeht, um weitere Instruktionen bei dieser Speicheradresse zu erhalten.



  Solche weitere Instruktionen können den Verarbeiter anweisen, die Daten und Instruktionen des Programms, welches gerade verarbeitet wird, zu speichern und zugleich Instruktionen, welche dem Bearbeiter ermöglichen, später zu diesem Programm zurückzukehren, zu speichern und anschliessend mit dem neuen Programm fortzufahren.



   Fig. 3 ist ein vereinfachtes Verdrahtungsschema, der Teil der Speichersteuereinrichtung 32, welche für die  vorliegende Erfindung besonders wichtig sind. Der Speicher 34 und die Verbindungen von der Speichersteuereinrichtung 32 zum Speicher 34 sind nicht gezeigt. Die gestrichelte Linie 32B zeigt die Zwischenfläche an welcher Verbindungen zwischen der Speichersteuereinrichtung und allen damit verbundenen   Ubertragungsein-    richtungen, einschliesslich dem Verarbeiter 35, ausgeführt sind. Wenn immer eine der   tJbertragungseinrich-    tungen über die Verbindungen an der Fläche 32B Zugang zur Speichersteuereinrichtung 32 verlangt, wird ein Zugangs-Anfrage-Signal von der Vermittlungseinrichtung an die Speichersteuereinrichtung gesandt.

  Es sind Zugangsschaltkreise vorgesehen (in Fig. 3 nicht gezeigt), welche festlegen, welchen Vermittlungseinrichtungen der Zugang freigegeben wird, wenn mehrere Anfragen vorliegen. Die Verbindungen werden mit Hilfe von Zugangstorsignalen P von den ausgewählten Ver   mittlungseinrichtungen    durch Eingangstore, wie sie bei   sp:elsweise    bei 200 und 202 gezeigt sind, hergestellt.



   Die durch das Tor 200 geleitete Information besteht aus fünf binären Ziffern und fünf Eingangsleitungen, welche einen Befehl darstellen, der die Operation bezeichnet, die von der Vermittlungseinrichtung von der Speichersteuereinrichtung verlangt wird. Dieser Befehlscode wird zu einer Befehlsdecodiermatrix 204 geleitet, in der jede einzelne Kombination von binären Ziffernsignalen in ein individuelles Signal umgewandelt wird, das auf nur einer einer Mehrzahl von Befehlsausgangsleitungen erscheint und einem ganz bestimmten Befehl cntspricht. Die Ausgangssignale der Befehlsdecodiermatrix 204 bewirken die notwendigen Schaltvorgänge um die Befehle auszuführen.



   Das Tor 202 leitet in entsprechender Weise ein Datenwort durch das Kabel 206 in die Speichersteuereinrichtung. Dieses Datenwort kann bezeichnenderweise aus 36 binären Ziffern auf 36 Leitern bestehen. Dieses ist ein Datenwort, welches von einer Vermittlungseinrichtung an die Speichersteuereinrichtung geliefert wird und es kann für verschiedene Zwecke verwendet werden, einschliesslich der Speicherung des Datenwortes im zugehörigen Speicher. Andere Eingänge zur Speichersteuereinrichtung, welche in Fig. 3 nicht gezeigt sind,   kölmen    Adressleitungen zur Übertragung von Adressinformationen von den Vermittlungseinrichtungen zur Speichersteuereinrichtung enthalten. Diese Adresse bezeichnet eine Adresse im Speicher, in der ein Datum zu speichern ist, oder aus der ein Datum auszulesen ist.

  Die Eingangstore sind ausserdem vorgesehen, um Datenund Steuersignale aus der Speichersteuereinrichtung in die Vermittlungseinrichtungen zurück zu übertragen.



   Ein von Hand betätigter Schalter 208 dient dazu, ein XIP-Signal (Unterbrechung erfolgt) von der Speichersteuereinrichtung an einen ausgewählten Kanal, entsprechend dem Verarbeiter 25, welcher als Steuerverarbeiter für diese Speichersteuereinrichtung 32 bezeichnet ist, zurückzusenden. Das bedeutet, dass der Schalter 208 derjenige Schalter ist, durch den ein Steuersignalverarbeiter für die Speichersteuereinrichtung 32 ausgewählt ist. Die Leitungen 210 sind Ausführungs-Adress-Leitungen, durch welche Adressinformationen von der Speichersteuereinrichtung an den Steuersignalverarbeiter bei der Ausführung der Programm-Unterbrechungs-Operation übertragen werden.



   Die Programm-Unterbrechungs-Anfragen werden in den   Programm-Unterbrechungs-Ausführungszellen    212 gespeichert. Diese Zellen steuern die Erzeugung von Unterbrechungs-Ausführungsadressen in einer Matrix 214.



  Verschiedene Unterbrechungsausführungszellen können durch Einschalten individueller Flip-Flops eines Abdeckregisters 216 abgedeckt werden. Wie weiter oben schon beschrieben wurde, ruft eine Vermittlungseinrichtung, welche eine Programm-Unterbrechungs-Operation verlangt, ein Wort aus dem Speicher ab, das an eine programmierte Arbeitsfolge anknüpft und einer bestimmten Programm-Unterbrechungs-Anfrage oder einem Satz von Programm-Unterbrechungs-Anfragen entspricht.

  Danach wird um Zugang zur Speichersteuereinrichtung angefragt und wenn dieser Zugang gewählt wird, das Wort durch das Tor 202 auf den Leitungen 206 gleichzeitig mit einem Befehl an die Befehlsdecodiermatrix 204 geleitet, was zu einem Befehlssignal SXCU (Einschalten der oberen die Unterbrechung ausführenden Zellen) auf der Leitung 218, oder SXCL (Einschalten der unteren Zellen zur Ausführung der Unterbrechung) auf der Leitung 220 führt. Es sind 32 Zellen zur Ausführung der Unterbrechung vorgesehen.



  Diese sind in eine obere und eine untere Gruppe unterteilt und es werden nur 16 Ziffern des Datenwortes verwendet, um eine Gruppe von Zellen zu irgend einer Zeit einzuschalten. Damit bewirkt das   SXCU-S1gnal,    dass die 16 Ziffern des Datenwortes zur oberen Gruppe der Zellen geleitet werden. Als Antwort auf irgend eine binäre eins in der Gruppe der 16 Ziffern ist die entsprechende die Unterbrechung ausführende Zelle eingeschaltet und ruft nach einer bestimmten Programm-Unterbrechungs-Operation. In der gleichen Weise werden die Daten, wenn sie von einem Befehl, der einem SXCL Befehlssignal entspricht, begleitet sind, in die untere Gruppe der Zellen geleitet.

  Ein bestimmtes Anfrage signal für die Programmunterbrechung kann aufeinanderfolgende Speicheroperationen von Unterbrechungs-Ausführungszellen einleiten, wobei Daten in der oberen und der unteren Gruppe der Zellen für mehrere Programm-Unterbrechungs-Anfragen gespeichert werden.



   Jede Unterbrechungs-Ausführungszelle ist dafür geeignet, eine einzige Eingangsleitung zur Matrix 214 zu erregen. Diese werden als    Befähigungs-Adressa-Signale    bezeichnet. Die mit den Zellen 212 verbundenen Stromkreise bewirken, dass das    Befähigungs-Adress >  -Signal    nur für die eine eingeschaltene Zelle an die Matrix 214 geleitet wird, welche die höchste Priorität aufweist. Die Matrix 214 arbeitet dann mit konventionellen Matrixverbindungen und erzeugt einen binären Zifferncode, welcher aus einer Kombination von binären Eins- und binären Null-Signalen an den sechs Ausgangsleitungen 228 der Matrix besteht. Dieser Code ist kennzeichnend für jedes Eingangssignal zur Matrix 228.

 

   Wenn immer eine oder mehrere der den Unterbruch ausführenden Zellen 212 eingeschaltet ist und eine Anfrage für eine Unterbrechung des Programms anzeigt, erscheint ein XIP-Signal (Unterbrechung vorliegend) an der Ausgangsleitung 222 zum Schalter 208. Das XIP Signal wird dann an den Verarbeiter weitergeleitet, der vom Schalter 208 als der Steuerverarbeiter für diese bestimmte Speichersteuereinrichtung ausgewählt ist. Sobald dieses möglich ist, sendet der Steuerverarbeiter einen XEC-Befehl an die Speichersteuereinrichtung zurück, wodurch der Speichersteuereinrichtung angezeigt wird, dass diese mit der Programm-Unterbrechungs-Operation fortfahren kann. Dieser XEC-Befehl wird durch die Befehlsleitungen geschickt, die durch das Tor 200  führen und an der Matrix 204 decodiert, um in der Leitung 224 zu erscheinen.

  Dieses Signal wird auch durch die zugehörigen Leitungen 232 weitergegeben, um einen Torkreis 230 zu betätigen, um die Adressinformation am Anschluss 228 zur Ausführungs-Adress-Ausgangsleitung 210 zu leiten. Das XEC-Signal wird ausserdem einem Verzögerungskreis 234 zugeleitet, um ein nur schwach verzögertes Zurückstellsignal RST für die Zelle deren Anfrage erledigt wird, zu liefern. Wenn diese Zelle mit der nächsthohen Priorität gespeichert ist, die Anfrage, die in der Zelle mit der nächsthohen Priorität gespeichert ist, die als nächste wirksame.



   Wenn der Steuerverarbeiter 25 mit bestimmten Arbeiten hoher Priorität beschäftigt ist, welche zu einem auszuführenden Programm gehören, erhält die Speichersteuereinrichtung den Befehl auf bestimmte Programm Unterbrechungs-Anfragen nicht einzutreten. Dieses wird erreicht, indem die Flip-Flops des Abdeckregisters 216 den Anfragen entsprechend eingestellt werden. Um dieses durchzuführen, sendet der Steuerverarbeiter ein Abdeckwort, das aus Daten besteht, durch das Tor 202 und die Datenleitung 206 zusammen mit einem Befehl durch das Tor 200, um die Steuerbefehlssignale SMSKU (Abdeckung oben speichern) oder SMSKL (Abdeckung unten speichern) oder beide, zu erzeugen. In der oberen Gruppe befinden 16 Abdeck-Flip-Flops und in der unteren Gruppe ebenfalls, wobei jeder einer der die Unterbrechung ausführenden Zellen entspricht.

  Wenn alle Flip-Flops in dem Abdeckregister eingeschaltet sind, können die die Unterbrechung ausführenden Zellen alle unwirksam sein. Im allgemeinen werden jedoch nur ausgewählte Abdeck-Flip-Flops eingeschaltet sein und nur ausgewählte der die Unterbrechung ausführenden Zellen unwirksam zu machen.



   Wenn immer ein   Abdeckreglster-Flip.Flop    eingeschaltet ist wird die Speicherung einer eine Unterbrechung ausführenden Anfrage in der zugehörigen die Unterbrechung ausführenden Zelle von der Anlage ganz einfach nicht angenommen und zwar bis zu der Zeit, bis zu der der Abdeck-Flip-Flop zurückgestellt wird, in dem ein neues Abdeckdatenwort von dem Steuerverarbeiter gespeichert wird. Auf diese Weise können Programm-Unterbrechungen von jeder die Unterbrechung ausführenden Zelle empfangen und gespeichert werden, auch wenn der zugehörige   Abdeckregister-Flip-Flop    eingeschaltet ist. Solche Programm-Unterbrechungs-Anfragen werden jedoch zurückgehalten und nicht   anerkannt,    bis der Abdeckregister-Flip-Flop zurückgestellt ist. Vom Abdeckregister 216 führen Verbindungen 236 zu den die Unterbrechung ausführenden Zellen 212.

  Bei einem typischen auszuführenden Programm stellt der Verarbeiter das Abdeckregister zurück, um Abdeckungen sobald das Programm mit der hohen Priorität, welches die Abdeckungen benötigt, beendet ist, zu beseitigen. In gleicher Weise werden die Abdeckungen entfernt, wenn ein Programm beendet ist und kein XIP-Signal empfangen worden ist.



   Obwohl die die Unterbrechung ausführenden Zellen 212 und das Abdeckregister 216 getrennt beschrieben und gezeigt wurden, ist es einfacher, einen kombinierten Stromkreis aufzubauen, in dem die einzelnen Flip-Flops des Abdeckregisters 216 dicht bei den zugehörigen, die Unterbrechung ausführenden Zellen 212 angeordnet sind. Eine solche dichte Anordnung ist in der Fig. 4 gezeigt.



   Fig. 4 ist eine schematische Darstellung eines Stromkreises und zeigt die ersten drei der die Unterbrechung ausführenden Zellen 212 nach Fig. 3, zusammen mit den zugehörigen Abdeckregister-Flip-Flops 216 nach Fig. 3 und die Verbindungen zwischen diesen. In Fig.



  4 sind die für Stromkreise üblichen Symbole verwendet.



  Die Zelle Nr. 1 ist als ein konventioneller bistabiler Stromkreis oder   Flip-Flop    300 dargestellt, welcher eine Einschalt- und eine Zurückstell-Leitung aufweist, die in dem Diagramm mit S bzw. R bezeichnet sind. Jede dieser Eingangsleitungen ist mit einem eingebauten UND-Kreis versehen. Natürlich sind Eingangs signale an beiden Eingangsleitungen 302 und 218 notwendig, um die Zelle 300 in den bistabilen Zustand zu versetzen.



  In diesen Zustand erscheint ein positives oder einer binären 1 entsprechendes Ausgangssignal an der   Aus    gangsleitung 304 der Zelle 300. Unter den gleichen Bedingungen erscheint ein 0-Ausgangssignal an der unteren Ausgangsklemme der Zelle 300. Wenn sich die Zelle im zurückgestellten Zustand befindet, sind ihre Ausgangssignale umgekehrt, so dass ein 0-Ausgangssignal an der Verbindung 304 und ein positives oder einer binären 1 entsprechendes Ausgangs signal an der unteren Klemme erscheint. Der abdeckende Flip-Flop 306 arbeitet in ähnlicher Weise. Der Stromkreis nach Fig. 4 enthält ausserdem Umkehrer, wie der eine, der mit dem Bezugszeichen 308 versehen ist. Der Umkehrer oder Inverter ist ein Stromkreis, der immer ein binäres Ausgangssignal erzeugt, das seinem binären Eingangssignal entgegengesetzt ist.

  Das bedeutet, dass eine binäre 1 oder ein positives Eingangssignal zu einem binären 0 entsprechenden Ausgangssignal wird. Umgekehrt wird ein einer binären 0 entsprechendes Eingangssignal in ein einer binären 1 entsprechendes Ausgangssignal umgekehrt. Ein anderer in Fig. 4 gezeigter Stromkreis ist der NAND-Stromkreis 313. Dieser ist das Equivalent zur Kombination eines UND-Kreises auf den ein Inverter folgt. Das bedeutet, dass, wenn alle Eingangssignale zum NAND-Kreis 313 binäre 1 sind, am Ausgang eine binäre 0 erscheint. Unter allen anderen Bedingungen ist das Ausgangssignal eine binäre 1.



   Wenn ein Unterbruchssignal von der ersten Zelle 300 empfangen wird, ist die erste binäre Ziffer des Datenwortes auf der Datenleitung 302 eine binäre 1. Wie vorher schon erklärt wurde, wird der Anlage zugleich ein SXCU-Befehlssignal zugeführt. Dieses Signal wird über die Leitung 21 an den anderen Einschalt-Eingang der Zelle 300 geführt, um die Zelle 300 in Einschaltbedingung überzuführen. Demzufolge wird ein einer binären 1 entsprechendes Ausgangssignal auf die Verbindung 304 zum NAND-Tor 312 gegeben. Wenn der Abdeck-Flip-Flop 306 zurückgestellt ist, was anzeigt, dass die Zelle 300 nicht abgedeckt ist, ist das Rückstell Ausgangssignal des Abdeck-Flip-Flops 306 an der Verbindung 309 eine binäre 1. Dieses einer binären 1 entsprechende Signal vom Rückstellausgangssignal 309 des Abdeck-Flip-Flops 306 wird auch dem Eingang des NAND-Kreises 312 zugeleitet. 

  Nachdem alle Eingangssignale zum NAND-Kreis 312 dann positiv sind oder binären 1 entsprechen, ist das Ausgangssignal eine binäre 0. Das Ausgangssignal wird im Inverterkreis 316 umgekehrt und als  Unterbrechung-Ausführ -Signal an die Leitung 314 weitergegeben. Dieses ist das Befähigungs Signal für die die Adresse ausführende Matrix 214 in Fig. 3 und gibt an, dass die Zelle 300 (Zelle 1) diejenige Zelle ist, deren Unterbrechungs-Anfrage als nächste auszuführen ist.  



   Die beiden Signale an den Leitungen 304 und 309 werden auch an das NAND-Tor 313 geleitet und bewirken ein  0 -Ausgangssignal am Anschlusspunkt 318 des Tores. Dieses Signal wird an jeder der aufeinander folgenden höher nummerierten Zellen in den Umkehrern 320 und 322 und den gleichartig nummerierten, diesen folgenden Umkehrern zweimal umgekehrt und das am Ende entstehende  0 -Ausgangssignalwird nochmals im Inverter 324 umgekehrt, um am Anschluss 222, das die Durchführung der Unterbrechung anzeigende Signal XIP, welches bereits weiter oben im Zusammenhang mit der Fig. 3 erläutert wurde, zu liefern.



  Dieses Signal wird zum Verarbeiter geleitet, um diesem anzuzeigen, dass eine ausgeführte Unterbruchs-Anfrage vorliegt. Wenn der Verarbeiter auf das XIP-Signal antwortet und ein XEC-Signal zurücksendet, führt dieses XEC-Signal die Adressinformation, die vom Ausgangssignal am Verbindungspunkt 314 der Codiermatrix zur Adressenausführung (Punkt 230 in Fig. 3) ausgewählt ist. Nach einer vorherbestimmten Verzögerung im Verzögerungskreis 234, welche ausreichend ist, um die Information weiterzuleiten, bewirkt das XEC-Signal die Bildung eines RST-Signals in der Leitung 326 (in Fig.



  4), welches als eines der Zurückstellsignale an die Zelle 300 geleitet wird und an alle anderen entsprechenden Zellen. Das einer binären 1 entsprechende Signal an der Ausgangsklemme 314 wird durch einen Stromkreis 328 auch an die anderen Rückstell-Eingänge der Zelle 300 geleitet. Auf diese Weise wird die Zelle 300 RST Signal zurückgestellt, womit angezeigt ist, dass die Programm-Unterbruchs-Anfrage durch das Einschalten der Zelle 300 erledigt worden ist.



   Die zweite und die dritte Zelle 300A und 300B und die zu diesen Zellen gehörenden Stromkreise sind ebenfalls in Fig. 4 gezeigt. Die einzelnen Bauteile und Verbindungen der zur zweiten Zelle 300A gehörigen Kreise, welche genaue Gegenstücke zu den Kreisen der ersten Zelle darstellen s;nd mit den gleichen Bezugszeichen und einem zusätzlichen Index A gekennzeichnet. Die entsprechenden Bauteile für die dritte Zelle 300B sind mit einem Index B versehen.



   Wenn die Zelle 300, die im Betrieb befindliche Zelle ist. und ein Ausgangssignal an die Adress-Befähigungs Leitung 314 liefert, liefert wie bereits beschrieben, das NAND-Tor 313 an die Leitung 31 ein einer binären 0 entsprechendes Ausgangssignal. Dieses Signal wird dem NAND-Tor   31 2A    zugeleitet. Auf diese Weise wird si   chergestelk,    dass das Ausgangssignal des NAND-Tores   31 2A    eine 1 und das entsprechende Ausgangssignal des Inverters   31 6A    an der Klemme   31 4A    eine binäre 0 sein   muss,    unabhängig von den Bedingungen der Zelle 300A oder der Abdeckung 306A.

  Auf diese Weise kann eine Unterbruchs-Anfrage, die in der Zelle 300A gespeichert ist. nicht gleichzeitig mit eine Unterbruchs-Anfrage in der Zelle 300 ausgeführt werden, solange die Zelle 300 mit der Ausführung ihrer Anfrage beschäftigt ist, wie oben schon beschrieben wurde. Weiter wird das binäre-0-Signal am Anschluss 318, welches in den aufeinanderfolgenden Invertern 320 und 322 zweimal umgekehrt wird, als ein  O -Signal an den Anschluss   31 8A    geleitet und durch diesen Anschluss an das NAND-Tor 312B. Die Inverter und NAND-Tore, wie beispielsweise 322 und 313A haben die Eigenschaft, dass ihre Ausgänge zusammen verbunden sind, wie beispielsweise durch die Verbindung 318A, wodurch ein    0 > -Aus-    gangssignal eines dieser Kreise ein  L -Ausgangssignal am anderen Kreis oder anderen Kreisen übersteuern wird.

  Auf diese Weise wird das    0 > -Ausgangssignal    vom Inverter 322 irgend ein   zL: > -Ausgangssignal    vom NAND-Tor 314A, welches dann auftreten kann, wenn die Zelle 300B zurückgestellt ist, überlagernd und anzeigend, dass keine Unterbruchs-Anfrage gespeichert ist.



  Das  0 -Eingangssignal von 322 bis 312B stellt sicher, dass ein einer binären 0 entsprechendes Ausgangssignal bei   31 4B    erscheint. Diese Arbeitsweise ist gleichartig an der Verbindung   31 8B    und an jeder (auch nicht gezeigten) Zelle mit geringerer Priorität. Das bedeutet, wenn immer eine Zelle mit höherer Priorität bedient wurde, keine Adress-Befähigungs-Leitung mit geringerer Priorität erregt werden kann.



   Nachdem   eineUnterbruchs-Anfrage    an die Zelle 300 erledigt wurde und die Zelle 300 zurückgestellt ist, geht das Ausgangssignal an der Verbindung 304 in eine binäre 0 über, was bewirkt, dass das NAND-Tor 313 ein einer binären 1 entsprechendes Ausgangssignal abgibt, welches an das NAND-Tor   31 2A    weitergeleitet wird. Wenn darum die Zelle 2 eingeschaltet ist, ist das NAND-Tor   31 2A    befähigt und liefert ein Ausgangssignal an die Adress-Befähigungs-Leitung 314A. Zur gleichen Zeit liefert das NAND-Tor 313A ein    0 > -    Ausgangssignal, welche alle mit höheren Ziffern gekennzeichneten Zellen mit niedriger Priorität, während des Betriebs der Inverterkreise 320A und 322A und ihre den Zellen mit geringerer Priorität zugeordneten Gegenstücke, funktionsunfähig machen.

  In diesem Zeitpunkt wird ein einer binären 1 entsprechendes Ausgangssignal am Anschlusspunkt 318 in den Invertern 320 und 322 zweimal umgekehrt, um am Inverter 322 ein einer binären 1 entsprechendes Ausgangssignal zu erzeugen. Diese binäre 1 wird jedoch durch das einer binären 0 entsprechende Ausgangssignal vom NAND Tor   31 3A    übersteuert. Das der binären 0 entsprechende Ausgangssignal an   31 8A    wird dann durch die aufeinanderfolgenden doppelten Inverterkreise 320A und 322A und die (nicht gezeigten) den letzteren entsprechenden Gegenstücke weiter geleitet, um, wie bereits weiter oben beschrieben, an der Klemme 222 ein XIP Signal zu erzeugen.



   Nachdem die das Programm unterbrechende Arbeitsfolge an der Zelle 300A abgelaufen ist und sowohl die Zelle 300 als auch die Zelle 300A zurückgestellt sind, erscheint an den Ausgangsklemmen der beiden NAND-Gitter 313 und   31 3A    eine binäre 1. Wenn die Zelle 3 eingeschaltet wurde, um eine Anfrage für eine Programmunterbrechung anzuzeigen, bewirkt das einer binären 1 entsprechende Ausgangssignal am NAND-Tor   31 3A    am NAND-Tor 312B, dass Letzteres ein Adress-Befähigungssignal an die Ausgangsleitung   31 4B    für die Zelle 3 abgibt. 

  Während das einer binären 1 entsprechende Signal vom NAND-Tor 313 A durch die Verbindung   31 8A    und die Inverter 320A und 322A weitergeleitet wird, um an der Anschlussklemme   31 8B    eine binäre 1 zu erzeugen, wird diese binäre 1 wieder durch die binäre 0, welche am Ausgang des NAND Tores   31 3B    erscheint, übersteuert, um alle Ausgangssignale von Zellen mit geringerer Priorität zu verunmöglichen.



   Wenn keine der Zellen eingeschaltet ist, was keine Anfrage für eine Programmunterbrechung anzeigt, so liefern alle NAND-Tore 313, 313A, 313B usw. Ausgangssignale entsprechend einer binären 1, welche, wenn sie durch den letzten Inverterkreis 324 umgekehrt  sind, ein 0-XIP-Signal am Anschluss 222 liefern, womit dem Verarbeiter angezeigt ist, dass keine Anfrage für eine Unterbrechung vorliegt.



   Wie aus der obigen Beschreibung zu erkennen ist, ermöglichen die in Fig. 4 gezeigten Stromkreise die aufeinanderfolgende Ausführung von Programm-Unterbruchs-Operationen, in der Folge von Unterbruchs-Anfrage-Signalen, welche in den verschiedenen Zellen gespeichert sind. Diese Programm-Unterbruchs-Ausführung wird nach einer Prioritätsreihenfolge durchgeführt, wobei die Zellen mit der höheren Priorität zuerst und die Zellen mit der geringeren Priorität danach bedient werden.



   Wie bereits früher und im Zusammenhang mit der Fig. 3 erklärt wurde, kann irgend eine oder es können mehrere der die Unterbrechung ausführenden Zellen, wie beispielsweise die Zelle 300, durch die den Verarbeiter steuernde Einrichtung abgedeckt werden. Dies wird erreicht, indem der zugehörige Abdeck-Flip-Flop 306, 306A, 306B usw. eingeschaltet wird. Das Einschalten des Abdeckregisters 306 wird durch die Lieferung einer binären 1 Datenziffer an die Datenverbindung 302 bewirkt, welche durch die Verbindung 340 an die Eingangseinschaltklemme des Abdeck-Flip-Flops weitergeleitet wird. Gleichzeitig wird das SMSKU-Abdecksignal auch an die anderen Einschalteingänge durch die Leitung 342 geleitet.

  Wenn zu dieser Zeit im Abdeckkreis ein binäres    0 -Signal    auf der Datenleitung 302 zugeleitet wird, wird er durch das binäre O-Signal, das im Inverter 308 umgekehrt wurde und an den Zurückstelleingang geleitet ist, zurückgestellt (falls er vorher im Einschaltzustand war). Auf diese Weise kann das gesamte Muster des Abdeckregisters und das Einschalten aller   Abdeck-Fliplops    durch die Ausführung eines einzigen   Abdeck-Einschalt.Arbeitsganges    ausgeführt werden. Wenn der Abdeck-Flip-Flop 306 eingeschaltet ist, entspricht das Ausgangs signal am Punkt 309 einer binären 0.

  Auf diese Weise ist sichergestellt, dass das Ausgangssignal am NAND-Tor 312 eine binäre 1 sein muss und kein wirksames Ausgangssignal an der Adress-Befähigungs-Leitung 314 auftreten wird, unabhängig vom Zustand der die Unterbrechung ausführende Zelle 1. Weiter stellt das einer binären 0 entsprechende Ausgangssignal an den Punkt 309 sicher, dass das Ausgangssignal des NAND-Tores 319 eine binäre 1 sein wird und zwar unabhängig vom Zustand der Zelle 1.



  Auf diese Weise erscheint die Zelle 1 für den Rest der Anlage als in einem Zustand befindlich, welcher keine Unterbrechung des Programms verlangt. Dementsprechend fährt die Anlage fort, irgendeine andere Zelle mit geringerer Priorität zu bedienen, welche gerade eingeschaltet und nicht abgedeckt ist. Die Funktionsweise der Abdeck-Flip-Flops 306A und 306B und diejenigen der nicht gezeigten Zellen mit höheren Bezugszahlen ist der Arbeitsweise der gerade beschriebenen Abdekkung 306 ähnlich.



   Wie weiter oben schon im Zusammenhang mit der Fig. 3 erklärt, können die die Unterbrechung ausführenden Zellen, wie beispielsweise die Zelle 300 der Fig.



  4, in zwei Zellenreihen angeordnet sein, wobei jede Reihe beispielsweise 16 Zellen enthält und die getrennten Reihen Programm-Unterbrechungs-Anfragen in zwei aufeinanderfolgenden Datenwörtern speichern. Bei einer solchen Anordnung bedient jede von 16 Dateneingangsverbindungen zwei Zellen. Beispielsweise bedient die Verbindung 302 in Fig. 4 nicht nur die erste Zelle 300, sondern sie bedient auch die (nicht gezeigte) 17.



  Zelle. Dementsprechend kann der Einfachheit halber, obwohl dieses in Fig. 4 nicht gezeigt ist, die 17. Zelle nahe der ersten Zelle 300 angeordnet sein und in ähnlicher Weise die 18. Zelle nahe der zweiten Zelle   3 00A    usw. Weiter können die erste und zweite Zelle 300 und 300A und die folgenden Zellen innerhalb jeder Reihe paarweise angeordnet sein und von jedem Paar zum nächsten Paar mit niedrigerer Priorität kombinierte   Prioritäts-Stromkreis-Anordnungen    aufweisen.



   Die speziellen Stromkreise, die in der vorliegenden Erfindung verwendet werden, beispielsweise UND-Tore,   ODER-Tore,    NAND-Tore, Inverter, Flip-Flops,   Regi-    ster, Codier und   Decodier-Matrizen,    Zeitverzögerungseinheiten, Speicherelemente, Speichereinheiten usw. sind bekannte Stromkreise oder Bauteile, welche unter Verwendung von   Vaknumröhren    oder Transistoren oder aktive oder passive Elemente, magnetischer Komponenten,   sättigbarer    Kerne usw. aufgebaut werden können.

  Es versteht sich auch, dass geeignete Zwischenverbindungskreise überall dort, wo es notwendig erscheint, vorgesehen sein können, dass Puffer- und ähnliche Kreise in Übereinstimmung mit einer guten Schaltungstechnik und zum Verhindern der Rückkopplung von Signalen oder dem Ausschliessen von Stromkreisen, welche andere Kreise zu Störsignalen veranlassen können und die mit der logischen Funktionsweise nicht in   Überein-    stimmung sind, verwendet werden können. Solche Puffer- und Zwischenverbindungs-Kreise sind in den Figuren nicht gezeigt und auch nicht im einzelnen beschrieben, um die Klarheit und die Kürze der vorliegenden Beschreibung nicht zu beeinträchtigen. Die richtige Anwendung solcher Kreise ist dem Fachmann sowieso geläufig.



   Als allgemeiner Hinweis für die Bauteile, Elemente und Stromkreis anordnungen und die Technik des Entwurfs, wie sie in der vorliegenden Anmeldung verwendet, oder in dem Gebiet der Technik zu dem diese Anmeldung gehört gebräuchlich sind, sei auf irgend eine der vielen Publikationen über Computer Komponenten und Stromkreise hingewiesen, wie beispielsweise:  High Spedd Computing Devices , Engineering Research Associates, McGraw Hill Book Company, New York, Toronto, London, 1950 und  Principles of Transistor Circuits  (1953) und  Transistor Circuit Engineering  (1957), beide herausgegeben von R. F. Shea, publiziert von John Wiley  & Sons, Inc. (N. Y.) and Chapman and Hall Ltd., London, und  Arithmetic Operations in Digital Computers  (1955) und  Digital Computer Components and Circuits  (1957), beide von R. K. Richards, publiziert von D. 

  Van Nostrand  & Co., und das  Computer Handbook  herausgegeben von H. D. Huskey und G. A. Korn, McGraw Hill Book Co., 1962. 



  
 



  Data processing system
The present invention relates to a data processing system containing a plurality of input and output units provided for inputting and outputting data and commands, at least one main memory for storing data in addressable locations, and at least one processor for processing data in accordance with a program.



   The data processing system according to the present invention can be expanded as a complex data processing system, which has a large number of sub-systems and associated devices which are able to initiate various operations independently of one another and which can connect to other components and sub-systems in order to carry out such operations. Such data processing systems can contain one or more storage devices, one or more data processors and one or more input-output control devices in order to establish the connection with the input-output devices, such as a magnetic tape recorder, a paper strip reader, or a punch card evaluation device and others.



   The input-output controllers and data processors must be brought into communication with each of the memories from time to time. For this reason, the data processors and the input output control devices are also referred to below as connection or switching devices. These switching devices are also sometimes referred to below as subsystems.



  In order to control the access of the various switching devices to each memory, a memory control device is provided for each memory.



   In the complex data processing systems, each of the various subsystems is not only capable of independently initiating various operations, but each is also capable of performing certain limited operations independently of the others. In this way, the various subsystems can work on various different operations at the same time. Certain operations are even entirely carried out only in the subsystem, while others require a connection to a memory or the execution of a program by a data processing subsystem. The basic goal that all subsystems are independently busy performing work assigned to them.



   In the operation of such systems, it may happen that a certain sub-system requires the execution of a program by a data processor, while this data processor manages the execution of another program which takes the processor to complete for a longer period of time.



  The subsystem that requires the processor may require the execution of a very short program and the delay caused by waiting for the processor may seriously affect the flow of operations in the subsystem.



   It is an object of the present invention to provide a data processing system in which a subsystem, which requires the help of a data processor, interrupts a program carried out by this data processor and switches the data processor to the execution of a program that is controlled by the Subsystem is required, can cause what is achieved according to the invention in that at least one of the input and output units and / or a processor has means for creating a signal requesting an interruption of the program currently being processed in the processor and the execution of a new program, and in that a memory control device is provided between the main memory and the input and output units and / or further processors,

   the memory cells provided for storing a plurality of signals requesting a program interruption having different priorities, and means for selecting the signals requesting a program interruption according to their priority and executing the program interruption, for which purpose the memory control device generates further signals corresponding to the selected signal requesting a program interruption and forwards to the first-mentioned processor in order to effect the requested program interruption and the execution of a new program, and in that the first-mentioned processor comprises means for generating interrupt mask signals effective for selected signals requesting a program interruption, and in that the memory control device Contains locking agent,

   which receive and store the interrupt mask signals and prevent the creation of a signal requesting a program interrupt until the stored signal is deleted.



   The invention will now be explained in more detail with the aid of the figures using an exemplary embodiment.



   1 is the block diagram of an installation in accordance with the present invention;
Fig. 2 is a schematic representation of one of the processors indicated in the plant of Fig. 1;
Fig. 3 is a simplified schematic representation of the wiring of those parts of a memory controller of the system of Fig. 1 which are particularly important in relation to the present invention;
Fig. 4 is a schematic diagram of a circuit showing a particular portion of a memory controller of Fig. 1 in which the program interruption requests are stored.



   In Fig. 1, a complex data processing system which contains two memories 31 and 34 is shown.



  The switching devices consisting of the processors 22 and 25 and the input-output control devices 35, 36 and 37 are all able to connect to the memory 31 through a memory control device 30. In a similar manner, all switching devices are provided in order to come into connection with the memory 34 through a memory control device 32. The input-output control device 35 is provided for establishing the connections to various independent input-output devices 38. In a similar manner, the connections to the device 39 are effected by the input-output control device 36 and the connections to the device 40 by the input-output control device 37.



   The system shown in Fig. 1 is very much simplified. It goes without saying that more switching devices can be present in a system according to the present invention. For example, eight or more switching devices can be provided which are connected to one another through the memory control device 30 and each of which has its own transmission channel within the memory control device 30. In this way, the present invention can be used for plants which have more processors and more storage controllers and more input-output controllers than are shown in the figure.



   In the following, only as much about the general structure of the data processing system and the shifting of the data and the execution of the instructions, and the selection and generation of signals, is to be described as is necessary for an understanding of the present invention. Such components, which may be regarded as known in the technology of data processing systems, or which have no direct significance for the structure in accordance with the present invention, are not mentioned below for the sake of better understanding.



   When operating the present invention, each of the input / output control devices, such as device 37, is assigned to a memory control device 30 or 32 which functions as a master or monitoring device and to which specific queries are to be directed. Such an assignment can be made by operating a manual switch at the input-output. Control device or by a switch operated by the program. For the purposes of the following description it is assumed that the input-output control device 37 is assigned to the memory control device 32.

  Similarly, each memory and memory controller, such as 34 and 32, is associated with a particular processor, such as 25, which acts as a control or master processor. This assignment can also be effected by a manually operated switch on the memory control device or by a programmed switching device. For the purposes of the following description, it will be assumed that the memory controller 32 is subordinate to the processor 25 as its master processor.



   The following is a description of the interrupter function according to the invention. If the input-output control device 37 requires the work of a processor and, for example, the processor 25, the control device 27 requests access to the memory 34 through the memory control device 32. The request determines a memory address and receives a word from the memory 34 at this address, which to be processed by the processor on the basis of the request from the input-output control device 37.



   The input-output control device 37 has the effect that a part of this word is stored in the memory control device 32 in a group of memory cells which are referred to as leads interrupt out cells. The stored word is to be referred to below as a program interrupt request signal. Each binary digit is stored in a separate cell and each stored digit represents a separate program interruption request. A number of pending program interruption requests can be stored simultaneously in the leads interruption cells of the memory controller 32. These multiple inquiries can be formed by a single data word signal, or by separate signals received one after the other.

 

   Whenever any such interruption request is stored in the interruption cells of the memory, the memory control device causes a signal to be output to its control processor 25 which indicates the absence of an unfinished program interruption request. This signal is referred to below as the present interruption to be executed or XIP. If the data processor is not busy when it receives an XIP signal, it immediately sends back an XEC execute command to the memory controller 32. If, on the other hand, as is usually the case, the processor 25 is busy executing a program, does not issue an XEC instruction until a location in the program being processed which is well suited to halting has not been reached.

  This is achieved by checking a particular number position in each instruction word of the present program until an input instruction word indicates a position in the present program that is suitable for an interruption.



  It is also possible that this does not occur until this program is completed. However, this means that the described mode of operation provides a method for starting a new program at the end of the current program and also a method for interrupting the current program.



   When the processor issues the XEC command to the memory control device, the memory control device supplies the processor with address information which is assigned to the cell interrupting the program, which is set and which stores the request to be dealt with after the interruption of the program. The XEC instruction also causes the cell to be put on hold, indicating that the interrupt request has been completed. The processor then supplies the address information supplied by the memory control device and uses the address information to fetch further instructions and starts the execution of the newly requested program in accordance with these instructions.

  At the same time, the processor stores information about the interrupted program sufficient to allow that program to continue after the new program is executed.



   The program-interrupting cells in the memory control unit 32 are arranged in a priority order determined by the wiring, so that when different cells are switched on to store a program-interrupting request, these requests are dealt with individually and in accordance with the previously determined priority order.



  In this way, during operation, the address information indicated by only one cell is passed to the processor 25, whereby the particular interrupt request which is stored in that cell is taken care of.



   In order to change the operation of the priority-determining circuits of the memory interrupter cells and to prevent the interruption of the program due to selected program interruption requests, provision is made for the processor 25 to determine certain memory interrupter cells by storing a pattern of masking signals in the memory control unit 32 selectively cover. The storage of these cover patterns does not destroy the previous storage of the program interruption requests, but has the effect that the circuit of the memory control device does not take into account the presence of such requests as long as the cover remains set for a particular cell. This covering function will hereinafter also be referred to as the suppression of the program interruption operation of the covered cells.

  The special structure of the system, which enables the operations described above to be carried out, will be described in more detail below.



   Fig. 2 is a schematic representation of the processor 25 shown in Fig. 1. For the sake of simplicity, the initiation of a program interrupting request will be described along with the structure of the processor. It should be understood, however, that the processor does not usually initiate a program interrupt, but rather that a program interrupt is generally initiated by an input-output control unit.



   The dashed line 32A in FIG. 2 denotes a connection area along which connections from the processor 25 to the memory control unit 32 are established. The processor can connect to the memory 34 through the memory control unit 32 and extract words stored therein. If a data word has been obtained by such an operation, it appears on the data input connection, which is shown schematically by a simple line 102, and is then forwarded to the ZDI switch 105. The ZDI switch forwards the information received either to the AQ register 110 or to the instruction register YE 114, COE 115 and YO 116, COO 117. The contents of the AQ register 110 are transmitted to the memory control device on the data output line 103 via the DO switch 124 forwarded.

  The contents of the YE and YO registers are forwarded via the ZY switch 135 to the address register 128, which in turn forwards an address to the memory control device via the eighteen address lines AC-A17. The COE and COO registers 115 and 117 supply information via the ZI switch 140 to the logic matrix 126 for the command code, which in turn controls the command register 127, the output of which supplies command signals for the memory control device which indicate a specific operation to be carried out.



   When a program interruption operation is to be initiated, this condition is indicated by an instruction of the program currently being processed. This instruction causes the logic matrix 126 for the command code and the command register 127 to issue a memory read command, which is directed to an address which is determined by signals from the address register 128. The data word found is then forwarded via the connection 102 and the ZDI switch 105 and stored in the A part of the AQ register 110, which is also referred to below as the A register. The word stored in this way in the A register indicates which of the program-interrupting cells of the memory controller 32 is to be turned on. In the particular system described herein, there are 32 program breaker cells.

  The first 16 binary digits of a word consisting of 36 binary digits, which are stored in the A register, indicate which of the 16 cells of a particular row of program interruption cells is to be switched on, while the 35th binary digit indicates which of the two rows consisting of 16 cells must be switched on.



   As soon as the word is stored in the A register, the next instruction of the program, which is designated as SMIC (switching on the breaker cells of the memory) is from the memory via the data line 102 and the ZDI switch 105 to the instruction register YE, COE and YO, COO transferred. The first three binary digits of the SMIC instruction word determine which memory controller receives the command. The instruction part of the instruction word is encoded by the logic matrix 126 for the instruction code and then supplies the code (SXC) for the arrangement in the instruction register 127, which is to be sent to the memory control unit 32.

  Practically simultaneously with the forwarding of the command line signals, the contents of the A register are forwarded to the memory control unit 32 via the DO switch 124 and the data line 103. As a result of these two inputs, the logic control unit of the memory control device sets the correct program interrupt cell or cells to the on-state, which indicates that an interrupt has been requested.



   The above-described operation of the data processor 25 is characteristic of the operation of any switching device, including input-output control devices, as soon as a request for an interruption of the program is initiated. For this reason, the corresponding part of the structure of the input-output control device for initiating a program interrupt request will not be described separately below. It should also be understood that a processor does not normally request a program break to suspend his own program.

  Accordingly, since the following description deals primarily with the operation of the data processor upon receipt of a request to interrupt the program and after the interruption of the program, it will be understood that it will not normally respond to a request made by itself.



   If any of the program-interrupting cells of the memory controller is in the on-state, indicating a requested interrupt, the XIP signal on XIP line 104 is used as the output signal from the memory controller to the interrupt request and the priority-determining logic unit 182 of the Specified by the processor. This is a high-intensity signal that is maintained until all interruption requests have been answered and all interruption cells of the program have been reset to their reset status. Since only the tax processor of the entire system can answer queries for the interruption, only the XIP line which is connected to the tax processor for a specific memory receives the XIP signal.



   The breaker request and the logical matrix
182 for priority is connected to the XIP input line of each storage controller in a system with a multiple storage controller. The interrupt request and the logic matrix 182 for the priority determine the order in which the interrupts of the various memory control devices are answered. This component can have a conventional structure and is not shown in detail. The output 184 of logic matrix 182 remains high as long as any of the input XIP lines are high, which corresponds to a request by one of the cells in one of the memory controllers.



   The response to the interrupt query by the control signal processor can only take place at certain times during the execution of a program by the control signal processor. A typical program instruction word has an interrupt digit in the binary digit position 28. An interruption request can only be answered at the end of the processing of a single instruction of an instruction pair and only if the digit 28 of this instruction word is a binary zero. At the end of each individual instruction cycle in which a bit 28 is a binary zero, the logic matrix 182 is queried to determine whether or not an interrupt query is stored therein.



   If this condition exists, the processor is informed by the logic matrix 182 for the priority of the interruption request to which of the memory control devices a response is to be sent. As a result of this message, the processor brings the address of this memory control device together with an instruction given by the wiring, which is designated as XEC and which comes from the device 192, via the ZDI switch 105 in the instruction register (YE, COE and OY, COO) of the processor. The XEC instruction is then sent via command register 127 to the directed memory controller in the normal manner. In response to the XEC command, the memory controller sends a six-digit data item over the data-in line 102.

  This six-digit item is indicative of the particular breaker cell which is being answered. It is entered via the ZDI switch 105 in the digit positions 12-17, both of the PE and the YO register. At the same time, an information item consisting of three digits, which represents the switch position of three of the switches in block 141, which corresponds to the memory control device being addressed, is sent via switch 181 to ZDI switch 105, in order to switch to digit positions 9, 10 and 11 of the YE and YO registers to be entered. At the same time, a nine-digit item of information from block 193 is also written to the command part of the instruction register, i.e., by the ZDI switch. H. entered the COE and COO registers.

  Block 193 represents the instruction specified by the circuit, which is labeled XED (to be executed twice). These inputs to the instruction register form the instruction word which is used next.

 

   The three digits of the switching block 141 of the processor, which are in the digit positions 9, 10 and 11 and the six digits of the memory control device, which are stored in the digit positions 12-17, together form an address in the memory and the associated instruction word causes the processor goes to memory for further instructions at that memory address.



  Such further instructions can instruct the processor to save the data and instructions of the program that is currently being processed and at the same time to save instructions which enable the processor to return to this program later and then to continue with the new program.



   Figure 3 is a simplified wiring diagram that forms part of the memory controller 32 which is particularly important to the present invention. The memory 34 and the connections from the memory controller 32 to the memory 34 are not shown. The dashed line 32B shows the interface on which connections are made between the memory control device and all transmission devices connected to it, including the processor 35. Whenever one of the transmission devices requests access to the memory control device 32 via the connections on the area 32B, an access request signal is sent from the switching device to the memory control device.

  Access circuits are provided (not shown in FIG. 3) which determine which switching devices are allowed access when there are multiple requests. The connections are made with the aid of access gate signals P from the selected switching devices through entrance gates, as shown at 200 and 202 at sp: elected.



   The information passed through port 200 consists of five binary digits and five input lines representing an instruction designating the operation required by the switch from the memory controller. This instruction code is passed to an instruction decoding matrix 204 in which each individual combination of binary digit signals is converted into an individual signal which appears on only one of a plurality of instruction output lines and corresponds to a very specific instruction. The output signals of the command decoding matrix 204 cause the necessary switching operations to execute the commands.



   Port 202 in a corresponding manner routes a data word through cable 206 into the memory controller. This data word can typically consist of 36 binary digits on 36 conductors. This is a data word which is supplied from a switching device to the memory controller and it can be used for various purposes, including storing the data word in the associated memory. Other inputs to the memory control device, which are not shown in FIG. 3, may contain address lines for the transmission of address information from the switching devices to the memory control device. This address designates an address in the memory in which a date is to be stored or from which a date is to be read.

  The entrance gates are also provided in order to transmit data and control signals from the memory control device back to the switching devices.



   A manually operated switch 208 serves to return an XIP signal (interruption occurred) from the memory control device to a selected channel corresponding to the processor 25, which is designated as the control processor for this memory control device 32. This means that the switch 208 is the switch by which a control signal processor for the memory control device 32 is selected. Lines 210 are execution address lines through which address information is transferred from the memory controller to the control signal processor when the program interrupt operation is executed.



   The program interruption requests are stored in program interruption execution cells 212. These cells control the generation of interrupt execution addresses in an array 214.



  Different interrupt execution cells can be covered by switching on individual flip-flops of a cover register 216. As already described above, a switching device requesting a program interrupt operation retrieves a word from memory which is linked to a programmed work sequence and a specific program interrupt request or a set of program interrupt requests corresponds.

  Access to the memory controller is then requested and, if this access is selected, the word is passed through gate 202 on lines 206 at the same time as a command is sent to the command decoding matrix 204, which results in a command signal SXCU (activation of the upper cells performing the interruption) on the Line 218, or SXCL (switch on the lower cells to execute the interrupt) on line 220. 32 cells are provided to perform the interruption.



  These are divided into an upper and a lower group and only 16 digits of the data word are used to turn on a group of cells at any one time. The SXCU-S1 signal causes the 16 digits of the data word to be sent to the upper group of cells. In response to any binary one in the group of 16 digits, the corresponding interrupt executing cell is on, calling for a particular program interrupt operation. In the same way, if the data is accompanied by a command corresponding to an SXCL command signal, it is passed into the lower group of cells.

  A particular program interrupt request signal can initiate successive memory operations of interrupt execution cells, with data being stored in the upper and lower group of cells for multiple program interrupt requests.



   Each interrupt execution cell is capable of energizing a single input line to matrix 214. These are referred to as enable address signals. The circuits connected to cells 212 have the effect that the enable-address> signal is only passed to the matrix 214 for the one activated cell which has the highest priority. The matrix 214 then operates with conventional matrix connections and generates a binary digit code which consists of a combination of binary one and binary zero signals on the six output lines 228 of the matrix. This code is unique to each input signal to matrix 228.

 

   Whenever one or more of the cells 212 executing the interruption are switched on and indicate a request for an interruption of the program, an XIP signal (interruption present) appears on the output line 222 to switch 208. The XIP signal is then passed on to the processor, selected by switch 208 as the control processor for that particular memory controller. As soon as this is possible, the control processor sends an XEC command back to the memory controller, indicating to the memory controller that it can proceed with the program interrupt operation. This XEC command is sent through the command lines passing through port 200 and decoded at matrix 204 to appear on line 224.

  This signal is also passed through the associated lines 232 to operate a gate circuit 230 to route the address information on terminal 228 to the execution address output line 210. The XEC signal is also fed to a delay circuit 234 in order to provide an only slightly delayed reset signal RST for the cell whose request is being dealt with. If this cell with the next highest priority is stored, the query that is stored in the cell with the next highest priority is the next effective one.



   If the control processor 25 is busy with certain high-priority work associated with a program to be executed, the memory control device is instructed not to enter certain program interruption requests. This is achieved by setting the flip-flops of the cover register 216 according to the requests. To do this, the control processor sends a cover word consisting of data through the gate 202 and the data line 206 together with a command through the gate 200 to send the control command signals SMSKU (store cover up) or SMSKL (store cover down), or both , to create. There are 16 cover flip-flops in the upper group and also in the lower group, each corresponding to one of the cells executing the interruption.

  If all of the flip-flops in the cover register are on, the interrupting cells may all be ineffective. In general, however, only selected cover flip-flops will be switched on and only selected ones of the cells executing the interruption will be rendered ineffective.



   Whenever a masking regulator Flip.Flop is switched on, the storage of a request executing an interruption in the associated cell executing the interruption is simply not accepted by the system until the time until the masking flip-flop is reset , in which a new cover data word is stored by the tax processor. In this way, program interruptions can be received and stored by each cell executing the interruption, even if the associated cover register flip-flop is switched on. However, such program interruption requests are withheld and not accepted until the cover register flip-flop is reset. Connections 236 lead from cover register 216 to cells 212 executing the interruption.

  In a typical program to be executed, the processor resets the cover register to remove covers once the high priority program that needs the covers has finished. Likewise, the covers are removed when a program has ended and no XIP signal has been received.



   Although the interrupt executing cells 212 and the cover register 216 have been described and shown separately, it is simpler to construct a combined circuit in which the individual flip-flops of the cover register 216 are arranged close to the associated interrupt executing cells 212. Such a dense arrangement is shown in FIG.



   FIG. 4 is a schematic diagram of a circuit and shows the first three of the interrupting cells 212 of FIG. 3, together with the associated cover register flip-flops 216 of FIG. 3 and the connections between them. In Fig.



  4 the usual symbols for electrical circuits are used.



  Cell # 1 is shown as a conventional bistable circuit or flip-flop 300 having an enable and a reset line, labeled S and R in the diagram, respectively. Each of these input lines has a built-in AND circuit. Of course, input signals are necessary on both input lines 302 and 218 in order to place the cell 300 in the bistable state.



  In this state, a positive or a binary 1 output signal appears on the output line 304 of the cell 300. Under the same conditions, a 0 output signal appears on the lower output terminal of the cell 300. When the cell is in the reset state, its output signals are vice versa, so that a 0 output signal appears on connection 304 and a positive output signal or output signal corresponding to a binary 1 appears on the lower terminal. Covering flip-flop 306 operates in a similar manner. The circuit of FIG. 4 also contains inverters, such as the one which is provided with the reference number 308. The inverter is a circuit that always produces a binary output signal that is opposite to its binary input signal.

  This means that a binary 1 or a positive input signal becomes an output signal corresponding to binary 0. Conversely, an input signal corresponding to a binary 0 is reversed into an output signal corresponding to a binary 1. Another circuit shown in Figure 4 is NAND circuit 313. This is the equivalent of combining an AND circuit followed by an inverter. This means that if all input signals to NAND circuit 313 are binary 1, a binary 0 will appear at the output. Under all other conditions the output signal is a binary 1.



   When an interrupt signal is received from the first cell 300, the first binary digit of the data word on the data line 302 is a binary 1. As previously explained, an SXCU command signal is also fed to the system. This signal is fed via line 21 to the other switch-on input of cell 300 in order to switch cell 300 into switch-on condition. As a result, an output signal corresponding to a binary 1 is placed on connection 304 to NAND gate 312. When the cover flip-flop 306 is reset, indicating that the cell 300 is not covered, the reset output of the cover flip-flop 306 on connection 309 is a binary 1. This binary 1 signal from reset output 309 of cover flip-flop 306 is also fed to the input of NAND circuit 312.

  After all input signals to NAND circuit 312 are positive or correspond to binary 1, the output signal is a binary 0. The output signal is reversed in inverter circuit 316 and passed on to line 314 as an interrupt execute signal. This is the enable signal for the matrix 214 executing the address in FIG. 3 and indicates that cell 300 (cell 1) is the cell whose interrupt request is to be executed next.



   The two signals on lines 304 and 309 are also passed to NAND gate 313 and cause a 0 output signal at connection point 318 of the gate. This signal is reversed twice at each of the consecutive higher numbered cells in inverters 320 and 322 and the similarly numbered inverters following these inverters and the 0 output signal resulting at the end is reversed again in inverter 324 to connect to terminal 222, which carries out the Signal XIP indicating interruption, which has already been explained above in connection with FIG. 3, is to be supplied.



  This signal is sent to the processor to indicate that an interruption request has been executed. When the processor responds to the XIP signal and sends back an XEC signal, this XEC signal carries the address information selected from the output signal at connection point 314 of the coding matrix for address execution (point 230 in FIG. 3). After a predetermined delay in delay circuit 234, sufficient to pass the information on, the XEC signal causes an RST signal to be formed on line 326 (in Fig.



  4) which is sent as one of the reset signals to cell 300 and to all other corresponding cells. The signal corresponding to a binary 1 at the output terminal 314 is also passed through a circuit 328 to the other reset inputs of the cell 300. In this way, the cell 300 RST signal is reset, which indicates that the program interruption request has been completed by switching on the cell 300.



   The second and third cells 300A and 300B and the circuits associated with these cells are also shown in FIG. The individual components and connections of the circles belonging to the second cell 300A, which represent exact counterparts to the circles of the first cell, are identified by the same reference symbols and an additional index A. The corresponding components for the third cell 300B are provided with an index B.



   If the cell 300 is the operating cell. and supplies an output signal to the address-enable line 314, as already described, the NAND gate 313 supplies an output signal corresponding to a binary 0 on the line 31. This signal is fed to the NAND gate 31 2A. In this way it is ensured that the output signal of the NAND gate 31 2A must be a 1 and the corresponding output signal of the inverter 31 6A at the terminal 31 4A must be a binary 0, regardless of the conditions of the cell 300A or the cover 306A.

  In this way, an interruption request stored in cell 300A. cannot be executed simultaneously with an interrupt request in cell 300 as long as cell 300 is busy executing its request, as already described above. Furthermore, the binary 0 signal at connection 318, which is reversed twice in the successive inverters 320 and 322, is passed as an O signal to connection 318A and through this connection to NAND gate 312B. The inverters and NAND gates such as 322 and 313A have the property that their outputs are connected together, such as by connection 318A, which makes a 0> output from one of these circuits an L output from the other circuit or the other Circles will overdrive.

  In this manner, the 0> output from inverter 322 becomes superimposed on any zL:> output from NAND gate 314A, which may occur when cell 300B is deferred, indicating that no interrupt request is stored.



  The 0 input from 322 to 312B ensures that an output corresponding to a binary 0 appears at 31 4B. This operation is similar on connection 318B and on any lower priority cell (not shown either). This means that whenever a cell with a higher priority has been served, no address enable line with a lower priority can be energized.



   After an interrupt request to cell 300 has been dealt with and cell 300 is reset, the output signal at connection 304 changes to a binary 0, which causes the NAND gate 313 to provide an output signal corresponding to a binary 1, which is then sent to the NAND gate 31 2A is forwarded. Therefore, when cell 2 is on, NAND gate 31 2A is enabled and provides an output on address enable line 314A. At the same time, NAND gate 313A provides a 0> output which renders all lower priority cells labeled with higher digits inoperative during operation of inverter circuits 320A and 322A and their counterparts associated with lower priority cells.

  At this point in time, an output signal corresponding to a binary 1 at connection point 318 is reversed twice in inverters 320 and 322 in order to generate an output signal corresponding to a binary 1 at inverter 322. However, this binary 1 is overridden by the output signal from NAND gate 31 3A corresponding to a binary 0. The output signal at 318A corresponding to the binary 0 is then passed through the successive double inverter circuits 320A and 322A and the counterparts corresponding to the latter (not shown) in order to generate an XIP signal at terminal 222, as already described above.



   After the program-interrupting sequence of operations on cell 300A has expired and both cell 300 and cell 300A are reset, a binary 1 appears at the output terminals of the two NAND grids 313 and 31 3A. If cell 3 has been switched on, at To display a request for a program interruption, the output signal corresponding to a binary 1 at NAND gate 31 3A at NAND gate 312B causes the latter to output an address enable signal to output line 31 4B for cell 3.

  While the signal corresponding to a binary 1 is passed on from the NAND gate 313 A through the connection 31 8A and the inverters 320A and 322A in order to generate a binary 1 at the connection terminal 31 8B, this binary 1 becomes again through the binary 0, which appears at the output of the NAND gate 31 3B, overdriven in order to make all output signals from cells with lower priority impossible.



   If none of the cells is on, indicating no request for a program interruption, then all NAND gates 313, 313A, 313B etc. provide outputs corresponding to a binary 1 which, when reversed by the last inverter circuit 324, provide a 0-XIP -Signal at terminal 222, which indicates to the processor that there is no request for an interruption.



   As can be seen from the above description, the circuits shown in FIG. 4 enable the sequential execution of program interrupt operations in the sequence of interrupt request signals which are stored in the various cells. This program interruption execution is carried out according to a priority order, with the cells with the higher priority being served first and the cells with the lower priority being served afterwards.



   As already explained earlier and in connection with FIG. 3, any one or more of the cells executing the interruption, such as for example cell 300, can be covered by the device controlling the processor. This is achieved by turning on the associated cover flip-flop 306, 306A, 306B, etc. The activation of the masking register 306 is effected by supplying a binary 1 data digit to the data connection 302, which is forwarded through the connection 340 to the input switch-on terminal of the masking flip-flop. At the same time, the SMSKU cover signal is also passed to the other switch-on inputs via line 342.

  If at this time a binary 0 signal is applied to the data line 302 in the cover circle, it is reset by the binary 0 signal which has been reversed in the inverter 308 and is passed to the reset input (if it was previously in the on state). In this way, the entire pattern of the masking register and the switching on of all masking flip-flops can be carried out by executing a single masking-on switch-on operation. When the cover flip-flop 306 is switched on, the output signal at point 309 corresponds to a binary 0.

  This ensures that the output signal at the NAND gate 312 must be a binary 1 and no effective output signal will appear on the address-enabling line 314, regardless of the state of the cell 1 executing the interruption A corresponding output signal at point 309 ensures that the output signal of NAND gate 319 will be a binary 1, regardless of the state of cell 1.



  In this way, cell 1 appears to the rest of the system as being in a state that does not require an interruption of the program. Accordingly, the system continues to service any other cell with lower priority that is currently switched on and not covered. The operation of the cover flip-flops 306A and 306B and those of the not shown cells with higher reference numbers is similar to the operation of the cover 306 just described.



   As already explained above in connection with FIG. 3, the cells executing the interruption, such as cell 300 of FIG.



  4, can be arranged in two rows of cells, each row containing 16 cells, for example, and the separate rows storing program interruption requests in two consecutive data words. In such an arrangement, each of 16 data-in links serves two cells. For example, the connection 302 in FIG. 4 not only serves the first cell 300, but also serves the 17 (not shown).



  Cell. Accordingly, for the sake of simplicity, although not shown in FIG. 4, the 17th cell may be located near the first cell 300, and similarly the 18th cell may be located near the second cell 300A, and so on. Further, the first and second cells 300 and 300A and the following cells within each row may be arranged in pairs and have combined priority circuit arrangements from each pair to the next lower priority pair.



   The specific circuits used in the present invention, for example AND gates, OR gates, NAND gates, inverters, flip-flops, registers, coding and decoding matrices, time delay units, storage elements, storage units, etc. are known Circuits or components that can be built using vacuum tubes or transistors or active or passive elements, magnetic components, saturable cores, etc.

  It will also be understood that suitable intermediate connection circuits can be provided wherever it appears necessary, that buffer and similar circuits in accordance with good circuit technology and to prevent the feedback of signals or the exclusion of circuits which other circuits can interfere with and which are not in accordance with the logical functioning can be used. Such buffer and interconnection circuits are not shown in the figures, nor are they described in detail, in order not to impair the clarity and brevity of the present description. The person skilled in the art is familiar with the correct application of such circles.



   As a general reference to the components, elements and circuit arrangements and the technique of design as used in the present application, or in the field of technology to which this application belongs, should be on any of the many publications on computer components and Circuits such as: High Spedd Computing Devices, Engineering Research Associates, McGraw Hill Book Company, New York, Toronto, London, 1950 and Principles of Transistor Circuits (1953) and Transistor Circuit Engineering (1957), both edited by RF Shea, published by John Wiley & Sons, Inc. (NY) and Chapman and Hall Ltd., London, and Arithmetic Operations in Digital Computers (1955) and Digital Computer Components and Circuits (1957), both by RK Richards, published by D.

  Van Nostrand & Co., and the Computer Handbook edited by H. D. Huskey and G. A. Korn, McGraw Hill Book Co., 1962.

 

Claims (1)

PATENTANSPRUCH PATENT CLAIM Datenverarbeitungsanlage, enthaltend eine Mehrzahl von zur Ein- und Ausgabe von Daten und Befehlen vorgesehene Ein- und Ausgabewerke (35, 36, 37), mindestens einen Arbeitsspeicher (34) zum Speichern von Daten in adressierbaren Orten, und mindestens einen Prozessor (25) zur Behandlung von Daten in Überein- stimmung mit einem Programm, dadurch gekennzeichnet, dass mindestens eines der Ein- und Ausgabewerke und/oder ein Prozessor Mittel zum Erstellen eines eine Unterbrechung des gerade in dem Prozessor bearbeiteten Programms und die Durchführung eines neuen Programms anfordernden Signals aufweist, und dadurch, dass zwischen dem Arbeitsspeicher und den Ein- und Ausgabewerken und/oder weiteren Prozessoren eine Speichersteuereinrichtung (32) vorgesehen ist, die zum Speichern einer Mehrzahl von unterschiedliche Prioritäten aufweisenden, Data processing system, containing a plurality of input and output units (35, 36, 37) provided for input and output of data and commands, at least one main memory (34) for storing data in addressable locations, and at least one processor (25) for Processing of data in accordance with a program, characterized in that at least one of the input and output units and / or a processor has means for generating a signal requesting an interruption of the program currently being processed in the processor and the execution of a new program, and in that a memory control device (32) is provided between the main memory and the input and output units and / or further processors, which is used to store a plurality of different priorities, eine Programmunterbrechung anfordernden Signalen vorgesehene Speicherzellen (Fig. 3; 212) enthält, und Mittel, um die eine Programmunterbrechung anfordernden Signale entsprechend ihrer Prio rität auszuwählen und die Programmunterbrechung auszuführen, wozu die Speichersteuereinrichtung dem ausgewählten, eine Programmunterbrechung anfordernde Signal entsprechend weitere Signale erstellt und an den erstgenannten Prozessor (25) leitet, um den angeforderten Programmunterbruch und die Ausführung eines neuen Programms zu bewirken, und dadurch, dass der erstgenannte Prozessor Mittel zum Erstellen von für ausgewählte, eine Programmunterbrechung anfordernde Signale wirksame Unterbrechungsmasken-Signalen aufweist, und dadurch, dass die Speichersteuereinrichtung (32) Sperrmittel (Fig. 3: a program interrupt requesting signals provided memory cells (Fig. 3; 212) contains, and means for selecting the signals requesting a program interruption according to their priority and executing the program interruption, for which purpose the memory control device creates and on the selected signal requesting a program interruption according to further signals directs the first-mentioned processor (25) to cause the requested program interruption and the execution of a new program, and in that the first-mentioned processor has means for generating interrupt mask signals effective for selected signals requesting a program interruption, and in that the Storage control device (32) locking means (Fig. 3: 216) enthält, welche die Unterbrechungsmasken-Signale empfangen und speichern und das Erstellen eines eine Programmunterbrechung anfordernden Signales bis zur Löschung des gespeicherten Signals verhindern. 216), which receive and store the interrupt mask signals and prevent the creation of a signal requesting a program interrupt until the stored signal is deleted. UNTERANSPRÜCHE 1. Anlage nach Patentanspruch, dadurch gekennzeichnet, dass die die Unterbrechungsmasken-Signale empfangenden Sperrmittel (216) einen bistabilen Kreis (306) zum Speichern dieser Signale und zum Aufrechterhalten der Maskierung bis zum Rückstellen des bistabilen Kreises aufweist. SUBCLAIMS 1. System according to claim, characterized in that the blocking means (216) receiving the interrupt mask signals has a bistable circuit (306) for storing these signals and for maintaining the masking until the bistable circuit is reset. 2. Anlage nach Patentanspruch, dadurch gekennzeichnet, dass mindestens eines der Ein- und Ausgabewerke (37) mit einem Eingabe/Ausgabe-Gerät (40) zusammenwirkt. 2. Plant according to claim, characterized in that at least one of the input and output units (37) interacts with an input / output device (40). 3. Anlage nach Unteranspruch 2, dadurch gekennzeichnet, dass ein von einem Ein- und Ausgabewerk (37) und/oder Prozessor (25) erstelltes, eine Programmunterbrechung anforderndes Signal eine Mehrzahl spezifische Programmunterbrechungen anfordernde Signal enthält, die in den Speicherzellen (212) der Speichersteuereinrichtung (32) gespeichert werden. 3. System according to dependent claim 2, characterized in that a signal generated by an input and output unit (37) and / or processor (25) and requesting a program interruption contains a plurality of signal requesting specific program interruptions, which are stored in the memory cells (212) of the Memory control device (32) are stored. 4. Anlage nach Patentanspruch, dadurch gekennzeichnet, dass die Speicherzellen (212) der Speichersteuereinrichtung zum Speichern von eine Programmunterbrechung anfordernden Signalen aus einer Mehrzahl bistabiler Kreise (300, 300A) gebildet sind. 4. Installation according to claim, characterized in that the memory cells (212) of the memory control device for storing signals requesting a program interruption are formed from a plurality of bistable circuits (300, 300A). 5. Anlage nach Patentanspruch und Unteranspruch 4, dadurch gekennzeichnet, dass die Ein- und Ausgabewerke (37) und/oder der Prozessor (25) geeignet sind, ein eine Programmunterbrechung anforderndes Signal durch Auslesen eines diesem Signal entsprechenden, und binäre, für eine oder mehrere Unterbrechungen des Programms gültige Informationen enthaltenden Datenworts aus dem Speicher (34) zu erstellen, und dadurch, dass die Speichersteuereinrichtung (32) das Datenwort in den vorgenannten bistabilen Kreisen (300, 300A) speichert. 5. Plant according to claim and dependent claim 4, characterized in that the input and output units (37) and / or the processor (25) are suitable for a program interrupt requesting signal by reading out a signal corresponding to this, and binary, for one or to create data word containing valid information from the memory (34) several interruptions of the program, and in that the memory control device (32) stores the data word in the aforementioned bistable circuits (300, 300A). 6. Anlage nach Patentanspruch, dadurch gekennzeichnet, dass die von den Ein-/Ausgabewerken und/ oder von einem weiteren Prozessor an den erstgenannten Prozessor (25) geleiteten Signale Adressinformationen (210), welche Angaben für die Bildung eines eine Programmunterbrechung anfordernden Signals und einen Teil der Speicheradresse für den ersten Befehl des neuen Programms enthalten. 6. System according to claim, characterized in that the from the input / output units and / or from a further processor to the first-mentioned processor (25) directed signals address information (210), which information for the formation of a signal requesting a program interruption and a Contains part of the memory address for the first instruction of the new program. 7. Anlage nach Unteranspruch 6, dadurch gekennzeichnet, dass der erstgenannte Prozessor Mittel (141) enthält, welche auf den Empfang der Adressinformation von den Ein-Ausgabewerken und/oder den anderen Prozessoren ansprechen, um diese Adressinformationen zu vervollständigen und die komplette Adresse für diese Instruktionen zu erstellen. 7. System according to dependent claim 6, characterized in that the first-mentioned processor contains means (141) which respond to the receipt of the address information from the input / output units and / or the other processors in order to complete this address information and the complete address for this Create instructions. 8. Anlage nach Unteranspruch 6, dadurch gekennzeichnet, dass die von der Speichersteuereinrichtung (32) an den erstgenannten Prozessor (25) gelieferte Adressinform ation eindeutig einen der verschiedenen bistabilen Kreise (300, 300A) bezeichnet. 8. System according to dependent claim 6, characterized in that the address information supplied by the memory control device (32) to the first-mentioned processor (25) clearly designates one of the various bistable circuits (300, 300A). 9. Anlage nach Patentanspruch, dadurch gekennzeichnet, dass der erstgenannte Prozessor (25) nach dem Empfang eines von der Speichersteuereinrichtung (32) erstellten, eine Programmunterbrechung bewirkenden Signals das gerade bearbeitete Programm bis zum Errechen einer im Programm vorgesehenen, zum Unterbrechen des Programms besonders geeigneten Stelle weiterführt und erst dann das Programm unterbricht und das neue Programm ausführt. 9. System according to claim, characterized in that the first-mentioned processor (25) after receiving a signal generated by the memory control device (32) and causing a program interruption, the program being processed until a program provided in the program is calculated that is particularly suitable for interrupting the program Position and only then interrupts the program and executes the new program. 10. Anlage nach Patentanspruch, dadurch gekennzeichnet, dass die Speichersteuereinrichtung Mittel (222, 208) enthält, welche beim Einspeichern einer Anforderung für eine Programmunterbrechung ein Signal für den erstgenannten Prozessor erstellen, das die Anwesenheit einer Anforderung für eine Unterbrechung anzeigt, und der Prozessor als Antwort auf dieses Signal feststellt, wann das gerade bearbeitete Programm unterbrochen werden kann und ein Signal zur Durchführung der Unterbrechung an die Speichersteuereinrichtung abgibt, sobald diese Bedingung erreicht ist, und dadurch, dass die Speichersteuereinrichtung (230, 210) Adressinformationen an den genannten Prozessor zur Durchführung der Programmunterbrechung überträgt. 10. System according to claim, characterized in that the memory control device contains means (222, 208) which, when storing a request for a program interruption, create a signal for the first-mentioned processor that indicates the presence of a request for an interruption, and the processor as Response to this signal determines when the program currently being processed can be interrupted and emits a signal to carry out the interruption to the memory control device as soon as this condition is reached, and in that the memory control device (230, 210) sends address information to the said processor for execution the program interruption transmits. 11. Anlage nach Unteranspruch 10, dadurch gekennzeichnet, dass die Speichersteuereinrichtung (Fig. 11. Plant according to dependent claim 10, characterized in that the memory control device (Fig. 4) beim Empfang des Signals zur Durchführung der Unterbrechung den bistabilen Kreis (300), in dem das die Programmunterbrechung anfordernde Signal gespeichert war, zurückstellt. 4) on receipt of the signal to perform the interruption, resets the bistable circuit (300) in which the signal requesting the program interruption was stored. 12. Anlage nach Patentanspruch, dadurch gekennzeichnet, dass der erstgenannte Prozessor (25) nach der Ausführung eines neuen Programms das unterbrochene Programm weiterführt. 12. System according to claim, characterized in that the first-mentioned processor (25) continues the interrupted program after the execution of a new program. 13. Anlage nach Patentanspruch, dadurch gekennzeichnet, dass sie als multiple Anlage ausgebildet ist, welche eine Mehrzahl von Speichereinrichtungen (31, 34) enthält und zu jeder Speichereinrichtung eine getrennte Speichersteuereinrichtung (30, 32) zur Steuerung des Zugangs der Ein- und Ausgabewerke und/ oder der Prozessoren zur zugehörigen Speichereinrichtung, und dadurch, dass alle Ein- und Ausgabewerke und/oder alle Prozessoren mit allen Speichersteuerein richtungen verbunden sind, und weiter eine Mehrzahl von Prozessoren (22, 25) vorgesehen sind, und jede Speichersteuereinrichtung (30, 32) Schaltmittel (208) enthält, um einen den Programmablauf beherrschenden bestimmten Prozessor als Prozessor, mit dem die Speichersteuereinrichtung die Programmunterbrechung durchführt, auszuwählen. 13. Plant according to claim, characterized in that it is designed as a multiple plant which contains a plurality of storage devices (31, 34) and a separate storage control device (30, 32) for each storage device for controlling access to the input and output units / or the processors to the associated memory device, and in that all input and output units and / or all processors are connected to all memory control devices, and a plurality of processors (22, 25) are also provided, and each memory control device (30, 32 ) Contains switching means (208) in order to select a specific processor, which controls the program flow, as the processor with which the memory control device carries out the program interruption. 14. Anlage nach Patentanspruch, .dadurch gekennzeichnet, dass jedes Ein-Ausgabewerk (35, 36, 37) Schaltmittel zur Auswahl einer Speichersteuereinrichtung (30 und 32) als zugehörige den Programmablauf beherrschende Steuereinrichtung, an welche die Signale zur Anforderung einer Programmunterbrechung zu senden sind, enthält. 14. System according to patent claim, characterized in that each input-output unit (35, 36, 37) switching means for selecting a memory control device (30 and 32) as the associated control device which controls the program sequence and to which the signals for requesting a program interruption are to be sent , contains.
CH736967A 1966-05-25 1967-05-25 Data processing system CH493886A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US55298166A 1966-05-25 1966-05-25

Publications (1)

Publication Number Publication Date
CH493886A true CH493886A (en) 1970-07-15

Family

ID=24207624

Family Applications (7)

Application Number Title Priority Date Filing Date
CH737067A CH495016A (en) 1966-05-25 1967-05-25 Data processing system
CH736767A CH489847A (en) 1966-05-25 1967-05-25 Control unit for a digital computer system
CH736667A CH495014A (en) 1966-05-25 1967-05-25 Data processing system
CH736967A CH493886A (en) 1966-05-25 1967-05-25 Data processing system
CH736867A CH505430A (en) 1966-05-25 1967-05-25 Data processing system
CH736567A CH486738A (en) 1966-05-25 1967-05-25 Data processing system
CH736467A CH506132A (en) 1966-05-25 1967-05-25 Urgency level recognition device for a data processing system

Family Applications Before (3)

Application Number Title Priority Date Filing Date
CH737067A CH495016A (en) 1966-05-25 1967-05-25 Data processing system
CH736767A CH489847A (en) 1966-05-25 1967-05-25 Control unit for a digital computer system
CH736667A CH495014A (en) 1966-05-25 1967-05-25 Data processing system

Family Applications After (3)

Application Number Title Priority Date Filing Date
CH736867A CH505430A (en) 1966-05-25 1967-05-25 Data processing system
CH736567A CH486738A (en) 1966-05-25 1967-05-25 Data processing system
CH736467A CH506132A (en) 1966-05-25 1967-05-25 Urgency level recognition device for a data processing system

Country Status (6)

Country Link
JP (3) JPS4510707B1 (en)
CH (7) CH495016A (en)
DE (8) DE1549423A1 (en)
FR (6) FR1564477A (en)
GB (10) GB1167945A (en)
SE (5) SE329279B (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3675209A (en) * 1970-02-06 1972-07-04 Burroughs Corp Autonomous multiple-path input/output control system
FR2289003A1 (en) * 1974-02-01 1976-05-21 Honeywell Bull Soc Ind CONTROL DEVICE FOR DATA TRANSFERS BETWEEN THE CENTRAL MEMORY AND THE PERIPHERAL UNITS OF A COMPUTER SYSTEM
US4209839A (en) * 1978-06-16 1980-06-24 International Business Machines Corporation Shared synchronous memory multiprocessing arrangement
US4306287A (en) * 1979-08-31 1981-12-15 Bell Telephone Laboratories, Incorporated Special address generation arrangement
GB2092341B (en) * 1981-02-02 1984-09-12 Picker Int Ltd Computer peripheral selection
GB2147126B (en) * 1983-09-29 1987-01-07 Memory Ireland Limited Improvements in and relating to computers
EP0690399A3 (en) * 1994-06-30 1997-05-02 Tandem Computers Inc Remote financial transaction system

Also Published As

Publication number Publication date
GB1150489A (en) 1969-04-30
DE1298318B (en) 1969-06-26
GB1174069A (en) 1969-12-10
DE1549428B2 (en) 1973-02-01
DE1549431A1 (en) 1971-04-01
CH486738A (en) 1970-02-28
GB1167945A (en) 1969-10-22
GB1154516A (en) 1969-06-11
GB1173356A (en) 1969-12-10
CH505430A (en) 1971-03-31
DE1549428A1 (en) 1972-08-10
DE1549423A1 (en) 1971-02-18
FR1545595A (en) 1968-11-15
JPS5323059B1 (en) 1978-07-12
FR1564478A (en) 1969-04-25
GB1137784A (en) 1968-12-27
GB1164000A (en) 1969-09-10
FR1528181A (en) 1968-06-07
DE1549422A1 (en) 1971-01-07
DE1549424A1 (en) 1971-03-04
SE329287B (en) 1970-10-05
JPS4510707B1 (en) 1970-04-17
GB1186414A (en) 1970-04-02
DE1549426A1 (en) 1971-01-21
SE340192B (en) 1971-11-08
FR1564477A (en) 1969-04-25
DE1549429A1 (en) 1971-01-21
GB1142290A (en) 1969-02-05
CH489847A (en) 1970-04-30
CH495016A (en) 1970-08-15
JPS45236860B1 (en) 1970-08-10
CH506132A (en) 1971-04-15
FR1564476A (en) 1969-04-25
GB1177109A (en) 1970-01-07
CH495014A (en) 1970-08-15
DE1549422B2 (en) 1977-05-05
SE329279B (en) 1970-10-05
SE329282B (en) 1970-10-05
FR1545594A (en) 1968-11-15
SE329517B (en) 1970-10-12

Similar Documents

Publication Publication Date Title
DE2716369C2 (en)
DE2230830C2 (en) Data processing system
DE2322674C3 (en) Microprogram controller
DE1524209B2 (en) PROGRAM CONTROLLED DATA PROCESSING SYSTEM
DE2907181A1 (en) COMMAND SET MODIFYING REGISTER FOR A DATA PROCESSOR
DE1299145B (en) Circuit arrangement for controlling peripheral input and output devices of data processing systems
DE2130299A1 (en) Input / output channel for data processing systems
DE2019444A1 (en) Data processing system
DE1524183B1 (en) Circuit arrangement for memory protection for random memories in data processing systems
EP1329816A2 (en) Method for automatic dynamic unloading of data flow processors (dfp) as well as modules with bidimensional or multidimensional programmable cell structures (fpgas, dpgas or the like)
DE1424762B2 (en) DATA PROCESSING SYSTEM
DE1549437A1 (en) Data processing system made up of several interconnected data processing systems
DE1189294B (en) Data processing system
EP0062141B1 (en) Circuit arrangement for entering control commands into a microcomputer system
DE1524898C3 (en) Data memory with direct multidimensional access for the simultaneous extraction of several words
DE1925427A1 (en) Data transmission device for transmitting data between information stores
DE2218630B2 (en) Circuit arrangement for controlling interrupt signals in data processing systems
CH493886A (en) Data processing system
DE1237812B (en) Data processing device with several memories
DE60221515T2 (en) STORAGE SYSTEM FOR GRINDING ACCESSORIES AS WISH
DE1193279B (en) Electron number calculator with stored program
DE2163435A1 (en) Data processing system with a memory with distributed logic
DE2230727A1 (en) CIRCUIT ARRANGEMENT FOR DYNAMIC ALLOCATION OF STORAGE CYCLES WITH PRIORITY CONTROL
DE1806172A1 (en) Priority switching
DE2234982A1 (en) EXPANDER CIRCUIT FOR A PROGRAMMABLE CONTROL UNIT

Legal Events

Date Code Title Description
PL Patent ceased