DE2216533C3 - Anordnung zur Steuerung der Durchführung mehrerer Aufgaben in einer DTENVERARBEITUNGSANLAGE - Google Patents
Anordnung zur Steuerung der Durchführung mehrerer Aufgaben in einer DTENVERARBEITUNGSANLAGEInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4831—Task 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.
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)
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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6735656B2 (ja) | 2016-11-18 | 2020-08-05 | キヤノン株式会社 | インプリント装置、インプリント方法及び物品の製造方法 |
CN109308212A (zh) * | 2017-07-26 | 2019-02-05 | 上海华为技术有限公司 | 一种任务处理方法、任务处理器及任务处理设备 |
-
1971
- 1971-04-09 FR FR7112643A patent/FR2133154A5/fr not_active Expired
-
1972
- 1972-02-14 BE BE779330A patent/BE779330A/xx not_active IP Right Cessation
- 1972-03-13 JP JP2478972A patent/JPS5235506B1/ja active Pending
- 1972-03-23 NL NL7203919A patent/NL7203919A/xx not_active Application Discontinuation
- 1972-04-06 DE DE19722216533 patent/DE2216533C3/de not_active Expired
- 1972-04-07 IT IT6807372A patent/IT954614B/it active
- 1972-04-07 GB GB1627872A patent/GB1377795A/en not_active Expired
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) |