DE2216533C3 - Anordnung zur Steuerung der Durchführung mehrerer Aufgaben in einer DTENVERARBEITUNGSANLAGE - Google Patents

Anordnung zur Steuerung der Durchführung mehrerer Aufgaben in einer DTENVERARBEITUNGSANLAGE

Info

Publication number
DE2216533C3
DE2216533C3 DE19722216533 DE2216533A DE2216533C3 DE 2216533 C3 DE2216533 C3 DE 2216533C3 DE 19722216533 DE19722216533 DE 19722216533 DE 2216533 A DE2216533 A DE 2216533A DE 2216533 C3 DE2216533 C3 DE 2216533C3
Authority
DE
Germany
Prior art keywords
code group
register
main memory
task
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE19722216533
Other languages
English (en)
Other versions
DE2216533A1 (de
DE2216533B2 (de
Inventor
Alice Maria Chatenet- Malabry Recoque (Frankreich)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
INTERNATIONALE POUR L'INFORMATIQUE LOUVECIENNES (FRANKREICH) Cie
Original Assignee
INTERNATIONALE POUR L'INFORMATIQUE LOUVECIENNES (FRANKREICH) Cie
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 INTERNATIONALE POUR L'INFORMATIQUE LOUVECIENNES (FRANKREICH) Cie filed Critical INTERNATIONALE POUR L'INFORMATIQUE LOUVECIENNES (FRANKREICH) Cie
Publication of DE2216533A1 publication Critical patent/DE2216533A1/de
Publication of DE2216533B2 publication Critical patent/DE2216533B2/de
Application granted granted Critical
Publication of DE2216533C3 publication Critical patent/DE2216533C3/de
Expired legal-status Critical Current

Links

Classifications

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Complex Calculations (AREA)
  • Executing Machine-Instructions (AREA)

Description

Die Erfindung betrifft eine Anordnung zur Steuerung der Durchführung mehrerer Aufgaben in einer Datenverarbeitungsanlage, in einer Prioritätsrangfolge entsprechend dem Auftreten von Ereignissen, die gegebenenfalls die Unterbrechung einer in Bearbeitung befindlichen Aufgabe bewirken, mit einem Prioritätsregister, das für jedes Ereignis eine bistabile Stufe aufweist, die beim Auftreten des Ereignisses erregt wird, einem dauernd an die Ausgänge des Prioritätsregisters angeschlossenen Codierer, der eine Codegruppe liefert, die für das im Prioritätsregister gespeicherte Ereignis mit der höchsten Priorität kennzeichnend ist und eine Zone eines Hauptspeichers angibt, welche alle Informationen der dem Ereignis zugeordneten Aufgabe enthält, einem Codegruppenregister zur Speicherung einer vom Codierer abgegebenen Codegruppe, einem Komparator, der dauernd die am Ausgang des Codierers vorhandene Codegruppe mit der im Codegruppenregister gespeicherten Codegruppe vergleicht und ein Ausgangssignal abgibt, wenn die am Ausgang des Codierers vorhandene Codegruppe eine höhere Priori tät als die im Codegruppenregister stehende Codegruppe anzeigt, und mit einer Rückstellschaltung, die durch ein die Beendigung der durchgeführten Aufgabe anzeigendes Freigabesignal zur Rückstellung derjenigen bistabilen Stufe des Prioritätsregisters erregt wird, die dem Ereignis zugeordnet ist, das die Durchführung der Aufgabe ausgelöst hat.
Bei einer aus der FR-PS 14 22 135 bekannten Anordnung dieser Art ist der Hauptspeicher, in dem alle Informationen sämtlicher durchzuführender Aufgaben gespeichert sind, zugleich der Arbeitsspeicher. Der Übergang von einer Aufgabe zu einer anderen Aufgabe erfordert daher keine Umspeicherung, sondern lediglich einen Übergang von einer Zone des Hauptspeichers zu einer anderen Zone. Die einzigen Maßnahmen, die in diesem Fall getroffen werden, um nach der Durchführung einer unterbrechenden Aufgabe höherer Priorität die unterbrochene Aufgabe niedrigerer Priorität an der richtigen Stelle wiederaufnehmen zu können, bestehen daher darin, den Inhalt des Befehlsspeichers und den InIi;Jt des Befehlszählers an hierfür vorgesehenen besi .nieren Speicherplätzen des Hauptspeichers abzuspeichern. Dies geschieht durch άνη Abiaul eines besonderen, im Hauptspeicher gespeicherten Mikro-
Programms, das durch das Ausgangssignal des !Comparators ausgelöst wird. Infolge dieser Organisation ist es auch möglich, jede Aufgabe höherer Priorität, die eine laufende Aufgabe niedrigerer Priorität unterbrochen hat, ihrerseits zu unterbrechen, wenn ein Ereignis mit noch höherer Priorität auftritt
In vielen Fällen wird es jedoch vorgezogen, die Aufgaben nicht vom Hauptspeicher aus durchzuführen, der eine große Kapazität hat und deshalb meist mit verhältnismäßig geringer Arbeitsgeschwindigkeit ausgebildet ist, sondern einen zusätzlichen schnellen Arbeitsspeicher kleinerer Kapazität vorzusehen, in den jeweils die Informationen der durchzuführenden Aufga be aus dem Hauptspeicher übertragen werden. Wenn der Arbeitsspeicher, wie es erwünscht ist, nur eine für die Informationen einer einzigen Aufgabe ausreichende Kapazität hat, müssen im Fall von Programmunterbrechung^ die Informationen der jeweils unterbrochenen Aufgabe aus dem Arbeitsspeicher in den Hauptspeicher gebracht werden, damit der Arbeitsspeicher für die Aufnahme der Informationen der unterbrechenden Aufgabe freigemacht wird. Im allgemeinen bestimmt die unterbrechende Aufgabe eine ihr zugeordnete Zone des Hauptspeichers für die Aufnahme der Informationen der unterbrochenen Aufgabe. Zu diesen umzuspeichernden Informationen gehören nicht nur die Programmbefehle, sondern auch Zwischenergebnisse, Festwerte usw., die eventuell für die weitere Durchführung der Aufgabe benötigt werden. Bei wiederholten ineinandergeschachtelten Unterbrechungen, die nach einer festge- legten Prioritätsrangfolge erfolgen, kann dadurch die Notwendigkeit wiederholter Umspeicherungen entstehen, die natürlich einen Zeitverlust ergeben und zu unübersichtlichen Situationen führen können. Außerdem wird eine beträchtliche Speicherkapazität benötigt, weil für jede Aufgabe zusätzliche Speicherzonen zur Aufnahme der Informationen der unterbrochenen Programme vorgesehen werden müssen.
Aus der US-PS 32 86 236 ist bereits eine Anordnung bekannt, bei der die Informationen jeder unterbrochenen Aufgabe aus dem Arbeitsspeicher in eine Zone des Hauptspeichers gebracht werden, die nicht der unterbrechenden Aufgabe, sondern der unterbrochenen Aufgabe zugeordnet ist. Dabei wird zwischen einem Normalbetrieb und einem Unterbrechungsbetrieb unterschieden: Wenn ein oder mehrere Ereignisse auftreten, die eine Unterbrechung erfordern, wird der Normalbetrieb durcli das Ereignis mit der höchsten Priorität unterbrochen; dann läuft der Unterbrechungsbetrieb ab, bis der Zustand beseitigt ist, der die Unterbrechung verursacht hat. Eine weitere Unterbrechung des laufenden Unterbrechungsbetriebs beim Auftreten eines Ereignisses mit höherer Priorität ist nicht möglich. Dabei besteht auch nicht das Problem der wiederholten Umspeicherung bei verschachtelten Unterbrechungen.
Schließlich ist aus der DE-AS 12 02 034 ein datenverarbeitendes Gerät zur Bearbeitung mehrerer Programme bekannt, bei welchem ebenfalls ein Hauptspeicher und ein Arbeitsspeicher vorhang' ii.id. Die Auslösung w> einer Programmunterbrechung erfolgt aufgrund einer gespeicherten Klassenvorrangsliste. Wenn diese die Notwendigkeit einer Unterbrechung feststellt, veranlaßt ein Bcfehisgeber, daß der Inhalt des Befehlszählers, der sich auf das unterbrochene Programm bezieht, zum hr> Arbeitsspeicher gesandt wird, so daß das unterbrochene Programm später an der Unterbrechungsstellc wieder eingesetzt werden kann. Außerdem bestimmt der Befehlsgeber aus der Betrachtung der Art des Programms, das unterbrochen wurde, und der Art des unterbrechenden Programms, welche Bedingungen im Steuerwerk und im Rechenwerk des Rechengeräts der Speicherung bedürfen, und kontrolliert die erforderliche Speicherung im Arbeitsspeicher. Dagegen erfolgt keine Übertragung der Informationen des unterbrochenen Programms aus dem Hauptspeicher in den Arbeitsspeicher; vielmehr verbleiben alle für die Wiederaufnahme des unterbrochenen Programms erforderlichen Informationen im Arbeitsspeicher, der eine entsprechende Kapazität haben muß. Bei einer Organisation, die wiederholte ineinandergeschachtelte Programmunterbrechungen vorsieht, muß der Arbeitsspeicher so ausgelegt sein, daß er die Informationen aller unterbrochenen Aufgaben speichern kann. Umfang und Kosten des Arbeitsspeichers sind daher beträchtlich, wenn die zulässigen Programmunterbrechungen nicht auf eine sehr kleine Zahl beschränkt werden.
Aufgabe der Erfindung ist die Schaffung einer Anordnung der eingangs angegebenen Art, die bei Verwendung eines Arbeitsspeichers zusätzlich zu dem Hauptspeicher mit gerirjem Aufwand an Arbeitszeit und Speicherkapazität wiederholte ineinandergeschachtelte Unterbrechungen ohne Einschränkung ihrer Anzahl ermöglicht.
Nach der Erfindung wird diese Aufgabe dadurch gelöst, daß ein Arbeitsspeicher verwendet wird, in welchem die Informationen der unterbrechenden Aufgaben selektiv aus den Zonen des Hauptspeichers übertragen werden und aus dem die Informationen der unterbrochenen Aufgaben selektiv in die betreffenden Zonen des Hauptspeichers zurückübertragen werden, daß eine erste Ubertragungssteuerschaltung durch das Ausgangssignal des Komparators oder durch das Freigabesignal für die Übertragung des Inhalts des Arbeitsspeichers in die durch die im Codegruppenregister stehende Codegruppe angezeigte Zone des Hauptspeichers ausgelöst wird, nach Beendigung dieser Übertragung eine Torschaltung zur Eingabe der am Ausgang des Codierers vorhandenen Codegruppe in das Codegruppenregister geöffnet wird und nach dieser Eingabe eine zweite Ubertragungssteuerschaltung für die Übertragung des Inhalts der durch die im Codegruppenregister stehende Codegruppe angezeigten Zone des Hauptspeichers in den Arbeitsspeicher ausgelöst wird.
Bei der Anordnung nach der Erfindung hat das Erscheinen einer eine höhere Priorität als diejenige der laufenden Aufgabe anzeigende Codegruppe am Ausgang des Codierers die Wirkung, daß die laufende Aufgabe unterbrochen wird und ihre Informationen aufgrund der noch im Codegruppenregister stehenden, der unterbrochenen Aufgabe zugeordneten Codegruppe aus dem Arbeitsspeicher in den Hauptspeicher gebracht werden. Unabhängig von der Art und Anzahl der Unterbrechungen werden also die Informationen jeder Aufgabe in eine dieser Aufgabe zugeordnete Zone des Hauptspeichers gebracht. Erst nach dieser Übertragung wird die im Codegruppenregister stehende Codegruppe durch die Codegruppe der unterbrechenden Aufgabe ersetzt, die dann die Zone des Hauptspeichers bestimmt, aus der die in den Arbeitsspeicher zu übertragenden Informationen entnommen werden. Wenn auch diese Aufgabe unterbrochen wird, werden ihre Informationen auf die angegebene Weise in eine zugeordnete Zone des Hauptspeichers zurückgebracht. Wenn dagegen eine unterbrechende Aufgabe ohne
weitere Unterbrechung zu Ende gebracht wird, wird anschließend die Aufgabe weitergeführt, die dem Ereignis mit der nächstniedrigeren Priorität zugeordnet ist.
Die Umspe herungen beschränken sich also auf jeweils eine L oertragung aus dem Arbeitsspeicher in den Hauptspeicher und eine Übertragung aus dem Hauptspeicher in den Arbeitsspeicher bei jeder Unterbrechung oder Beendigung einer Aufgabe. Der Arbeitsspeicher braucht daher nur mit der für die Informationen einer Aufgabe erforderlichen Kapazität ausgebildet zu sein. Da ferner die Informationen jeder Aufgabe in jeder Situation, unabhängig von der Anzahl der verschachtelten Unterbrechungen, stets in zugeordneten Zonen des Hauptspeichers stehen, besteht jederzeit eine klare und übersichtliche Lage. Schließlich entfällt die Notwendigkeit, in den Speicherzonen der unterbrechenden Aufgaben zusätzliche Bereiche für die Aufnahme der Informationen der jeweils unterbrochenen Aufgabe vorzusehen, wodurch Speicherkapazität gespart wird.
Eine besonders einfache Möglichkeit zur Bestimmung des Hauptspeichers auf Grund der im Codegruppenregister siehenden Codegruppe besteht nach einer vorteilhaften Ausgestaltung der Erfindung darin, daß jede Übertragungssteuerschaltung eine Anordnung zur schrittweisen Erhöhung der Adressen in den Adressenregistern des Arbeitsspeichers und des Hauptspeichers enthält und daß eine in einem Register gespeicherte feste Codegruppe bei jedem Erhöhungsschritt zu der im Codegruppenregister stehenden Codegruppe zur Bildung der für das Adressenregister des Hauptspeichers bestimmten Adressen hinzugefügt wird.
Ein Ausführungsbeispiel der Erfindung ist in der Zeichnung dargestellt. Es zeigt
Fig. 1 ein Blockschaltbild der Anordnung gemäß einem Ausführungsbeispiel der Erfindung und
Fig. 2 ein Blockschaltbild eines Bestandteils der Anordnung von Fig. 1.
Die Informationen der durchzuführenden Aufgaben sind in einem Hauptspeicher 15 gespeichert, der hierfür Zonen aufweist, denen Wortstellenadressen zugeordnet sind. Der Hauptspeicher 15 ist in an sich bekannter Weise mit einem Adressenregister 14 und einem Lese/Schreib-Register 16 versehen. Die Informationen jeder abgerufenen Aufgabe werden aus dem Hauptspeicher 15 ausgelesen, damit sie in einen Arbeitsspeicher 13 übertragen werden, der mit einem Adressenregister 12 versehen ist. Sein Lese/Schreib-Register ist nicht gezeigt, da es für die Erläuterung der Erfindung nicht erforderlich ist. Jede derartige Übertragung wird von einer Übertragungssteuerschaltung gesteuert, die durch eine Abrufschaltung 18 in Verbindung mit einem Adressen-Rechenwerk 7 gebildet ist. Die Abrufschaltung 18 enthält bei dem dargestellten Ausführungsbeispiel im wesentlichen einen Zähler, der so viele Stufen hat, wie Wortregister im Arbeitsspeicher 13 enthalten sind, sowie einen Impulsgenerator für die Fortschaltung des Zählers. Jeder Schritt des Zählers in der Abrufschaltung 18 erhöht über eine ODER-Schaltung 21 den Inhalt des Adressenregisters 12 um eine Einheit und zugleich über eine ODER-Schaltung 11 um eine Einheit eine Adresse, die in dem Rechenwerk 7 für das Adressenregister 14 des Hauptspeichers 15 gebildet wird. Zugleich wird bei jedem Schritt des Zählers auf eine Torschaltungsgruppe 19 eine Spannung gegeben, die alle Tore dieser Torschaltungsgruppe öffnet. Es sind so viele Tore 19 wie Ziffern in einem Wort vorhanden; jedes Tor ist mit einem Ziffernausgang des Lese/ Schreib-Registers 16 verbunden, und der Ausgang eines jeden Tors führt zu einer Ziffernspalte des entsprechenden Stellenwerts in den Wortregistern, die den -i Arbeitsspeicher 13 bilden. Wenn die Tore 19 offen sind, wird somit jedes Wort, das aus der durch die im Adressenregister 14 stehenden Adresse angezeigten Wortstelle des Hauptspeichers 15 ausgelesen und in das Lese/Schreib-Register 16 eingegeben worden ist, zu
ίο dem Wortregister des Arbeitsspeichers 13 übertragen, das durch die im Adressenregister 12 stehende Adresse angegeben ist.
Umgekehrt wird jeder in den Hauptspeicher 15 einzuordnende Inhalt Wort für Wort vom Arbeitsspei-
is eher 13 zum Hauptspeicher 15 über eine Torschaltungsgruppe 17 übertragen, die der Torschaltungsgruppe 19 gleich ist. Diese Übertragung wird durch eine Übertragungssteuerschaltung gesteuert, die von einer Einordnungsschaltung 10 in Verbindung mit dem Adressen-Rechenwerk 7 gebildet wird.
Bei dem erläuterten Ausführungsbeispiel besteht die Einordnungsschaltung 10 ebenfalls im wesentlichen aus einem Impulszähler, der ebenso viele Stufen aufweist, wie Wortregister in dem Arbeitsspeicher 13 vorhanden sind, sowie aus einem Impulsgenerator für die Fortschaltung des Zählers. Jeder Schritt des Zählers erhöht über die ODER-Schaltung 21 die Adresse im Adressenregister 12 sowie über die ODER-Schaltung 11, die durch das Rechenwerk 7 berechnete und dann in
«ι das Adressenregister 14 eingegebene Adresse um eine Einheit. Außerdem werden bei jedem Schritt des Zählers in der Einordnungsschaltung 10 die To' '" geöffnet, deren Eingänge die Ziffern des aufgerufenen Wortregisters im Arbeitsspeicher 13 erhalten und deren Ausgänge mit den Eingängen des Lese/Schreib-Registets 16 des Hauptspeichers 15 verbunden sind. Die Tore 17 und 19 sind in bestimmten Arbeitsphasen offen, und zwar die Tore 17 jeweils während der Phase 11 und während der Phase Ti in jedem Arbeitszyklus und die
ίο Tore 19 während der Phase f 3 und während der Phase 7~3 in jedem Arbeitszyklus. Diese Phasen werden später erläutert.
Es wird angenommen, daß in der Datenverarbeitungsanlage vorrangige Ereignisse mit einer relativen Rangordnung von Ea bis Ek auftreten können. Jedes Ereignis erfordert die Durchführung einer besonderen Aufgabe, deren Informationen dann, wenn die Anforderung in Betracht gezogen wird, von dem Hauptspeicher 15 in den Arbeitsspeicher 13 übertragen werden müssen, nachdem zunächst der vorherige Inhalt des Arbeitsspeichers 13 in den Hauptspeicher 15 übertragen worden ist. Das Auftreten jedes Ereignisses wird durch Einstellung eines zugeordneten Flip-Flops Xa bis IAr in einem Prioritätsregister 1 gespeichert Die Ausgänge der Flip-Flops des Prioritätsregisters 1 sind mit einem Codierer 2 verbunden, der eine Codegruppe abgibt, welche die höchste Priorität anzeigt, die im Prioritätsregister 1 eingestellt ist. Ober eine Torschaltungsgruppe 3 wird diese Prioritäts-Codegruppe während der Phase f 2 oder einer Phase TI in ein Codegruppenregister 4 eingegeben. Ein Komparator 5 vergleicht dauernd die im Codegruppenregister 4 stehende Codegruppe mit der am Ausgang der vorhandenen Codegruppe, und wenn die Codegruppe am Ausgang des Codierers 2 größer ist als die im Codegruppenregister 4 für eine laufende Aufgabe stehende Codegruppe, aktiviert der Komparator5 einen Ausgang, der eine UND-Schaltung 8 sperrt und ein Signal el 0 abgibt, das anzeigt, daß eine
neue Aufgabe mit höherer Rangordnung als die laufende Aufgabe vorliegt und daher die laufende Aufgabe unterbrochen werden muß.
Das Signal et 0 wird zu einem zur Vereinfachung des Schaltbildes nicht gezeigten Phasengenerator geleitet, der wie folgt organisiert ist: Die Phase fO ist eine Wartephase, in der auf aen Zeitpunkt gewartet wird, in dem die laufende Aufgabe unterbrochen werden kann, z. B. am Ende eines beim Auftreten des neuen Ereignisses laufenden Befehls oder am Ende eines in diesem Zeitpunkt laufenden Mikroprogramms. In einer an sich bekannten Weise wird jedes Ende der Durchführung eines Befehls oder eines Mikroprogramms in der Datenverarbeitungsanlage durch das Auftreten eines diesen Zustand anzeigenden Signals Pl markiert. Diese Signale PI werden systematisch zur Prüfung auf einen Eingang eines Tors 24 gegeben, das die Spannung der Wartephase /0 an seinem anderen Eingang erhält und über eine ODER-Schaltung 9 nun die Einordnungsschaltung 10 aktiviert; zugleich wird die Phase fO beendet (beispielsweise durch Rückstellen eines durch das Signal et 0 eingestellten Flip-Flops), und die Phase 11 wird eingeleitet, indem beispielsweise eine monostabile Schaltung durch das von dem Flip-Flop abgegebene Signa! iO oder durch ein am Ausgang der UND-Schaltung 8 abgenommenes Signal betätigt wird. Die Phase /1 hat eine Dauer, die dem gesamten Lauf des in der Einordnungsschaltung 10 enthaltenen Zählers entspricht, wobei der Impulsgenerator dieses Zählers durch das Ausgangssignal der UND-Schaltung 8 in Gang gesetzt wird. In der Phase 11 wird die im Codegruppenregister 4 stehende Prioritäts-Codegruppe durch die nun offenen Tore einer Torschaltungsgruppe 6 in das Rechenwerk 7 eingegeben, das in Zusammenwirkung mit dem Zähler in der Einordnungsschaltung 10 die Adressen für die Einordnung der Informationen der unterbrochenen Aufgabe über die Tore 17 in den Hauptspeicher 15 berechnet.
Das Ende der Phase il (die die Phase fl bestimmende monostabile Schaltung kann gegebenenfalls mit dem Zähler in der Einordnungsschaltung 10 hierzu synchronisiert werden) löst eine Phase 12 aus, die kurz ist und während der die Torschaltungsgruppe 3 geöffnet wird, damit die im Codegruppenregister 4 stehende Prioritäts-Codegruppe der unterbrochenen Aufgabe durch die am Ausgang des Codierers 2 vorhandene neue Codegruppe ersetzt wird. Diese Phase kann durch eine andere monostabile Schaltung bestimmt werden, die bei ihrer Rückstellung wiederum die Phase f3 auslöst, deren Dauer gleich der Zeit ist, die zum Auffüllen des Zählers in der Abrufschaitung ίο erforderlich ist, nachdem ein Signal DI das Tor 20 geöffnet hat, damit das Signal der Phase (3 an die AbrufscJialtung 18 zur Auslösung des darin enthaltenen Impulsgenerators angelegt wird. Das Signal DI ist ein Signal, das in einer bei Datenverarbeitungsanlagen bekannten Weise den Beginn der Ausführung eines Befehls markiert Die Phase f 3 kann durch ein Flip-Flop geliefert werden, das in der erläuterten Weise eingestellt und durch ein Steuersignal ei 3 in den Ruhestand eingestellt wird, das von der letzten Stufe des Zählers in der Abrufschaltung 18 abgegeben wird. In der Phase f 3 ist die Torschaltungsgruppe 6 geöffnet damit das Adressen-Rechenwerk 7 die Adressen des Hauptspeichers 15 für die Entnahme der Informationen der neuen Aufgabe zur Eingabe in den Arbeitsspeicher berechnen kann.
Das Signal für das Ende der Phase f3 löst nun die normale Durchführung der »unterbrechenden« Aufgabe aus. Diese Durchführung wird nicht weiter erläutert, da sie nicht zur Erfindung gehört und die übliche Organisation der Datenverarbeitungsanlage betrifft, der die beschriebene Anordnung zugeordnet ist. In allen Fällen endet diese Durchführung in bekannter Weise mit der Abgabe eines Freigabesignals ACQ. Dieses Freigabesignal muß die Freigabe der beendeten Aufgabe hervorrufen und die beendete Aufgabe mit der
ίο neuen durchzuführenden Aufgabe verketten. Hierzu öffnet das Freigabesignal ACQ die Torschaltungsgruppe 24, deren Eingänge die in dem Codegruppenregister 4 stehende Codegruppe empfangen, welche die Vorrangigkeit der beendeten Aufgabe anzeigt. Der Decodierer 25 gibt nun an einem seiner Ausgänge einen Impuls zur Rückstellung des betreffenden Flip-Flops im Prioritätsregister 1 ab, das dieser Rangstufe zugeordnet ist und im Arbeitszustand war. Die Ausgänge des Decodierers 25 sind mit a bis k entsprechend den Rückstelleingängen der Flip-Flops la bis 1* bezeichnet. Der Codierer 2 liefert nun an seinem Ausgang eine Prioritäts-Codegruppe, die notwendigerweise einen kleineren Wert als die im Codegruppenregister 4 stehende Codegruppe hat (da sonst die Aufgabe, die durch die im Codegruppenregister 4 stehende Codegruppe bezeichnet ist, in der oben beschriebenen Art und Weise unterbrochen worden wäre). Der Komparator 5 liefert somit ein Ausgangssignal 0, das die UND-Schaltung 8 sperrt Für die Einordnung der Informationen der beendeten Aufgabe löst das Freigabesignal ACQ eine Phase Tl aus, die über dip ODER-Schaltung 9 die Einordnungsschaltung 10
Betrieb setzt Die Einordnungsschaltung bringt in der zuvor beschriebenen Weise den Inhalt des Arbeitsspeichers 13 in den Hauptspeicher 15 an die Adressen zurück, die zu der Speicherzone gehören, die der beendeten Aufgabe zugeordnet ist da das Rechenwerk 7 die Adressen für diese Einordnung auf Grund der Prioritäts-Codegruppe der beendeten Aufgabe berechnet, die noch in dem Codegruppenregister 4 steht. An die Phase Ti, deren Dauer gleich der Auffülldauer des Zählers in der Einordnungsschaltung 10 ist, schließt sich einer Phase T2 an, die durch das öffnen der Torschaltungsgruppe 3 bewirkt daß die im Codegruppenregister 4 stehende alte Codegruppe durch die am Ausgang des Codierers 2 vorhandene neue Codegruppe ersetzt wird. Das Ende der Phase T2 löst eine Phase Γ3 aus, während der die Informationen der neuen Aufgabe in der zuvor beschriebenen Weise aus dem Hauptspeieher 15 in den Arbeitsspeicher 13 übertragen werden.
Die Phase Γ3 wird durch die Abgabe des Signals et3 vom Zähler in der Abrufschaitung 18 beendet, wodurch die Durchführung der neuen Aufgabe veranlaßt wird.
Die beschriebene Ausbildung ergibt somit die Wirkung, daß die Informationen einer unterbrochenen oder beendeten Aufgabe stets wieder in die dieser Aufgabe zugeordneten Zone des Hauptspeichers 15 eingeordnet werden und nicht in eine Zone, die einer unterbrechenden Aufgabe mit höherer Priorität zugeordnet ist
Die Einordnungsadressen für die Einordnung in dem Hauptspeicher 15 werden, wie erwähnt von der Prioritäts-Codegruppe abgeleitet, die in dem Codegruppenregister 4 im Zeitpunkt der Auslösung dieser Einordnung vorhanden ist Das Rechenwerk 7, das diese Adressen berechnet, kann in der in Fig.2 gezeigten Weise aufgebaut sein. Ein Register 23 enthält einen festen Code, der zu der Prioritäts-Codegruppe in einer
Addierschaltung 22 zugefügt wird, die außerdem bei jedem Schritt des Zählers in der Einordnungsschaltung 10 einen zusätzlichen Impuls für die Erhöhung der Adresse um eine Einheit empfängt. Das Register 23 kann gleichfalls bei jedem Schritt des Zählers in der Einordnungsschaltung 10 einen Impuls empfangen, damit sein Inhalt für die Addition in die Addierschaltung 22 übertragen wird, und auch die Übertragung des Inhalts des Codegruppenregisters 4 über die Torschaltungsgruppe 6 kann, falls erforderlich, durch solche Impulse gesteuert werden.
Die durch die aufeinanderfolgenden Additionen erhaltenen Codegruppen können direkt in das Adressenregister 14 als Speicheradressen für den Hauptspeicher 15 eingegeben werden, doch ergeben sich dadurch in den meisten Fällen Schwierigkeiten für die Wahl der Frioritäts-Codegruppen und der im Register 23 stehenden festen Codegruppe. Vorzugsweise wird daher das Ergebnis einer jeden Addition in der Addierschaltung 22 zum Lesen einer Zuordnungstabelle verwendet, die die eigentliche Speicheradresse ausgibt, die in das Adressenregister 14 einzugeben ist. Zu diesem Zweck ist bei 15' eine derartige Zuordnungstabelle dargestellt, die ein zusätzlicher Speicher ist. Die Zuordnungstabelle wird mit Hilfe eines Adressenregisters 14' abgelesen, in welche die durch die Addition erhaltenen Codegruppen eingegeben werden, und jede durch das Ablesen de_s Speichers 15! erhaltene Codegruppe wird für die Übertragung in das Adressenregister 14 vorübergehend in einem Register 16' gespeichert. Die beiden Register 14' und 16" können dazu dienen, den Inhalt der Zuordnungstabelle 151 vor dem Beginn des Betriebs der Datenverarbeitungsanlage einzugeben.
Die Adressen für die Ausgabe der Informationen der neuen Aufgabe zum Zweck der Übertragung in den Arbeitsspeicher 13 werden vom Rechenwerk 7 in der gleichen Weise aus der Prioritäts-Codegruppe abgeleitet, die nun im Codegruppenregister 4 steht. Die Impulse für das Register 23 und die Addierschaltung 22 kommen
ίο dann bei jedem Schritt des Zählers in die Abrufschaltung 18.
Es ist auch möglich, an Stelle der Abrufschaltung 18 und der Einordnungsschaltung 10 Impulsgenerator- und Zählkreise zu verwenden, die durch zuvor in der Datenverarbeitungsanlage gespeicherte Mikroprogramme gesteuert werden. In diesem Fall wird das Ausgangssignal der UND-Schaltung 8 und das Signal T\ einerseits und das Ausgangssignal des Tors 20 andererseits nun zu den Aufrufschaltungen für die Ausführung dieser Mikroprogramme geleitet; die Befehle dieser Mikroprogramme bewirken das Lesen der Register 4 und 23, die fortschreitende Erhöhung der durch die Addition der Inhalte dieser Register erhaltenen Ergebnisse um jeweils eine Einheit, das Auslesen der Adressen des Hauptspeichers 15 aus der Zuordnungstabelle 151 sowie auch die Fortschaltung der jeweiligen Adressen der Register des Arbeitsspeichers 13 und die Steuerung der Torschaltungsgruppen 19 und 17 für die Übertragungen. Diese Mikroprogramme bestimmen außerdem die zuvor erwähnten Phasen für die Durchführung der oben beschriebenen Operationen.
Hierzu 1 Blatt Zeichnungen

Claims (5)

Patentansprüche:
1. Anordnung zur Steuerung der Durchführung mehrerer Aufgaben in einer Datenverarbeitungsanlage, in einer Prioritätsrangfolge entsprechend dem Auftreten von Ereignissen, die gegebenenfalls die Unterbrechung einer in Bearbeitung befindlichen Aufgabe bewirken, mit einem Prioritätsregister, das für jedes Ereignis eine bistabile Stufe aufweist, die beim Auftreten des Ereignisses erregt wird, einem dauernd an die Ausgänge des Prioritätsregisters angeschlossenen Codierer, der eine Codegruppe liefert, die für das im Prioritätsregister gespeicherte Ereignis mit der höchsten Priorität kennzeichnend ist und eine Zone eines Hauptspeichers angibt, welche alle Informationen der dem Ereignis zugeordneten Aufgabe enthält, einem Codegruppenregister zur Speicherung einer vom Codierer abgegebenen Codegruppe, einem Komparator, der dauernd die am Ausgang des Codierers vorhandene Codegruppe mit der im Codegruppenregister gespeicherten Codegruppe vergleicht und ein Ausgangssignal abgibt, wenn die am Ausgang des Codierers vorhandene Codegruppe eine höhere Priorität als die im Codegruppenregister stehende Codegruppe anzeigt, und mit einer Rückstellschaltung, die durch ein die Beendigung der durchgeführten Aufgabe anzeigendes Freigabesignal zur Rückstellung derjenigen bistabilen Stufe des Prioritätsre- jo gisters erregt wird, die dem Ereignis zugeordnet ist, das die Durchführung der Aufgabe ausgelöst hat, dadurch gekennzeichnet, daß ein Arbeitsspeicher (13) verwendet wird, in welchen die Informationen der unterbrechenden Aufgaben selektiv aus den Zonen des Hauptspeichers (15) übertragen werden und aus dem die Informationen der unterbrochenen Aufgaben selektiv in die betreffenden Zonen des Hauptspeichers (15) zurückübertragen werden, daß eine erste Übertragungs- steuerschaltung (10, 7) durch das Ausgangssignal (et 0) des Komparators (5) oder durch das Freigabesignal {ACQ, gefolgt von Ti) für die Übertragung des Inhalts des Arbeitsspeichers (13) in die durch die im Codegruppenregister (4) stehende Codegruppe angezeigte Zone des Hauptspeichers (15) ausgelöst wird, nach Beendigung dieser Übertragung eine Torschaltung (3) zur Eingabe der am Ausgang des Codierers (2) vorhandenen Codegruppe in das Codegruppenregister (4) geöffnet wird und nach ίο dieser Eingabe eine zweite Überlragungssteuerschaltung (18, 7) für die Übertragung des Inhalts der durch die im Codegruppenregister (4) stehende Codegruppe angezeigten Zone des Hauptspeichers (15) in den Arbeitsspeicher (13) ausgelöst wird. γ>
2. Anordnung nach Anspruch I, dadurch gekennzeichnet, daß jede Übertragungssteuerschaltung(10, 7; 18, 7) eine Anordnung (22) zur schrittweisen Erhöhung der Adressen in den Adressenregistern (12,14) des Arbeitsspeichers (13) und des Hauplspei- mi chcrs (15) enthält und daß eine in einem Register (23) gespeicherte feste Codegruppe bei jedem Rrhöhungsschriu zu der im Codegruppenregister (4) stehenden Codegruppe zur Bildung der für das Adressenregister (14) des Hauptspeichers (15) br> bestimmten Adressen hinzugefügt wird.
3. Anordnung nach Anspruch I oder 2. dadurch gekennzeichnet, daß eine Unierhrechungsfreigabi.· schaltung (26, 8) zwischen den Ausgang des Komparators (5) und die erste Übertragungssteuerschaltung (10, 7) eingefügt ist und daß eine Übertragungsfreigabeschaltung (20) am Erregungseingang der zweiten Übertragungssteuerschaltung (18,7) vorgesehen ist.
4. Anordnung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die Rückstellschaltung (24, 25) einen Decodierer (25) für die im Codegruppenregister (4) stehende Codegruppe enthält, welcher beim Vorhandensein des Freigabesignals (ACQ)einen seiner Ausgänge (a bis k) erregt, der mit dem Rückstelleingang der entsprechenden bistabilen Stufe des Prioritätsregisters (1) verbunden ist.
5. Anordnung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß der Betrieb jeder Übertragungssteuerschaltung (10, 7; 18, 7) durch ein Mikroprogramm der Anlage gesteuert wird.
DE19722216533 1971-04-09 1972-04-06 Anordnung zur Steuerung der Durchführung mehrerer Aufgaben in einer DTENVERARBEITUNGSANLAGE Expired DE2216533C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR7112643A FR2133154A5 (de) 1971-04-09 1971-04-09

Publications (3)

Publication Number Publication Date
DE2216533A1 DE2216533A1 (de) 1972-10-12
DE2216533B2 DE2216533B2 (de) 1974-05-02
DE2216533C3 true DE2216533C3 (de) 1980-08-21

Family

ID=9075057

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19722216533 Expired DE2216533C3 (de) 1971-04-09 1972-04-06 Anordnung zur Steuerung der Durchführung mehrerer Aufgaben in einer DTENVERARBEITUNGSANLAGE

Country Status (7)

Country Link
JP (1) JPS5235506B1 (de)
BE (1) BE779330A (de)
DE (1) DE2216533C3 (de)
FR (1) FR2133154A5 (de)
GB (1) GB1377795A (de)
IT (1) IT954614B (de)
NL (1) NL7203919A (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6735656B2 (ja) 2016-11-18 2020-08-05 キヤノン株式会社 インプリント装置、インプリント方法及び物品の製造方法
CN109308212A (zh) * 2017-07-26 2019-02-05 上海华为技术有限公司 一种任务处理方法、任务处理器及任务处理设备

Also Published As

Publication number Publication date
DE2216533A1 (de) 1972-10-12
IT954614B (it) 1973-09-15
DE2216533B2 (de) 1974-05-02
NL7203919A (de) 1972-10-11
FR2133154A5 (de) 1972-11-24
BE779330A (fr) 1972-05-30
GB1377795A (en) 1974-12-18
JPS5235506B1 (de) 1977-09-09

Similar Documents

Publication Publication Date Title
DE2161886C2 (de) Befehlsausführungseinheit in einer elektronischen Datenverarbeitungszentrale für die gleichzeitige Verarbeitung mehrerer Befehle
DE2555963C2 (de) Einrichtung zur Funktionsmodifizierung
DE1933685C3 (de) Mehrere Programme simultan verarbeitende Datenverarbeitungsanlage
DE2635592A1 (de) Multiprozessor-abrufsystem
DE2719635A1 (de) Anordnung fuer eine erweiterung einer mikroprogrammsteuerung einer datenverarbeitungsanlage
DE2756890A1 (de) Datenverarbeitungssystem
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE1424762B2 (de) Datenverarbeitungsanlage
DE2722124A1 (de) Anordnung zum feststellen des prioritaetsranges in einem dv-system
DE2363846A1 (de) Verfahren zum steuern des transfers von daten zwischen einem speicher und einem oder mehreren peripheren geraeten und nach diesem verfahren arbeitende datenverarbeitungsanlage
DE1499206B2 (de) Rechenanlage
DE2935101C2 (de)
DE1805992C3 (de) Einrichtung zur Adressierung von Zwischenspeichern beim Sortieren/Mischen von vorsortierten Datenfolgen
DE2321200C3 (de) Schaltungsanordnung zur Durchführung logischer, durch Boolesche Gleichungen dargestellter Verknüpfungen
DE1285218B (de) Datenverarbeitungsanlage
DE2216533C3 (de) Anordnung zur Steuerung der Durchführung mehrerer Aufgaben in einer DTENVERARBEITUNGSANLAGE
DE1499224C3 (de) Datenverarbeitungsanlage mit Kellerspeichereinrichtungen
DE2316321C2 (de) Schaltungsanordnung an der Schnittstelle zwischen einer Steuerung eines Rechenwerkes und einem Hauptspeichers einer Rechenanlage
DE1449774C3 (de) Speichereinrichtung mit kurzer Zugriffszeit
DE1957600C3 (de)
DE2343501A1 (de) Ein-/ausgabe-reserviersystem fuer die datenverarbeitende vorrichtung
DE2610428A1 (de) Anordnung zur steuerung der zwischenspeicherung von zwischen zwei funktionseinheiten zu uebertragenden daten in einem pufferspeicher
DE1212748B (de) Datenverarbeitende Maschine mit Programmunterbrechung
DE2622140C3 (de) Einrichtung zur Steuerung manueller Operationen
DE1474017C3 (de) Datenverarbeitungsanlage

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)