DE2247735A1 - Schaltungsanordnung zur zuteilung von aufgaben in einem rechner - Google Patents

Schaltungsanordnung zur zuteilung von aufgaben in einem rechner

Info

Publication number
DE2247735A1
DE2247735A1 DE19722247735 DE2247735A DE2247735A1 DE 2247735 A1 DE2247735 A1 DE 2247735A1 DE 19722247735 DE19722247735 DE 19722247735 DE 2247735 A DE2247735 A DE 2247735A DE 2247735 A1 DE2247735 A1 DE 2247735A1
Authority
DE
Germany
Prior art keywords
circuit arrangement
computer
index
address
control
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.)
Granted
Application number
DE19722247735
Other languages
English (en)
Other versions
DE2247735B2 (de
DE2247735C3 (de
Inventor
Reinhard Dipl-Ing Assmuth
Arnold Dipl-Ing Blum
Claus Dipl-Ing Dr Mohr
Leopold Dipl-Ing Reichl
Werner Schmidt
Guenther Dipl-Ing Sonntag
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.)
IBM Deutschland GmbH
Original Assignee
IBM Deutschland GmbH
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 IBM Deutschland GmbH filed Critical IBM Deutschland GmbH
Priority claimed from DE19722247735 external-priority patent/DE2247735C3/de
Priority to DE19722247735 priority Critical patent/DE2247735C3/de
Priority to IT2682573A priority patent/IT993602B/it
Priority to FR7328904A priority patent/FR2201782A5/fr
Priority to JP48092990A priority patent/JPS5746094B2/ja
Priority to CH1228173A priority patent/CH556062A/de
Priority to GB4077573A priority patent/GB1441661A/en
Priority to SE7312055A priority patent/SE387453B/xx
Priority to NL7313230A priority patent/NL7313230A/xx
Priority to ES419172A priority patent/ES419172A1/es
Publication of DE2247735A1 publication Critical patent/DE2247735A1/de
Publication of DE2247735B2 publication Critical patent/DE2247735B2/de
Publication of DE2247735C3 publication Critical patent/DE2247735C3/de
Application granted granted Critical
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/4825Interrupt from clock, e.g. time of day

Description

Böblingen, 25. September 19 72
Anmelderin: IBM Deutschland GmbH
Pascalstraße 100 7000 Stuttgart 80
Amtl. Aktenzeichen: Neuanmeldung
Aktenzeichen der Anmelderin: GE 972 003
Schaltungsanordnung zur Zuteilung
von Aufgaben in einem Rechner
Die Erfindung betrifft eine Schaltungsanordnung zur Zuteilung von Rechenzeit an mehrere Aufgaben, insbesondere von Zeitscheiben oder Instruktionszyklen mehrerer im Rechner ablaufender Programme mit oder ohne Prioritätssteuerung, wobei in den Anforderungssignalen Vorrangmarkierungen enthalten oder ausgelassen sind.
In modernen Datenverarbeitungsanlagen werden im sogenannten Multiprogramming-Betrieb mehrere Programme quasi gleichzeitig in einem Rechner abgearbeitet. Bei den bekannten Maschinen werden deshalb die Hauptspeicher- und/oder Programmspeicherzyklen in feste Zeitscheibeh unterteilt und jedem Programm eine bestimmte feste Anzahl dieser Zeitscheiben zugeteilt.
Außerdem ist es bekannt, in modernen Datenverarbeitungsanlagen angeschlossene Eingabe-/Ausgabegeräte durch eigene Mikroprogramme zu steuern, die in besonderen Bereichen eines Speichers oder in besonderen Steuerspeichern zur Verfügung stehen. Die Mikroprogramme oder einzelne-Mikroinstruktionen werden jedoch nur benötigt, wenn ein Gerät oder die ihm zugehörenden Pufferspeicher und Register Informationen benötigen bzw. abgeben. Wenn mehrere Geräte einen
409816/0506
Zugriff zu ihrem speziellen oder zu einem, allgemeinen'S teuerprogramm anfordern, muß eine Reihenfolge festgelegt werden, da jeweils nur ein Zugriff zu diesem gewünschten Steuerprogramm möglich ist. Auch hier liegt das allgemeine Prinzip zugrunde, daß mehrere anfordernde Einheiten oder Programme vorhanden sind, die quasi gleichzeitig mit einer gemeinsamen benutzbaren Einheit, nämlich dem Hauptspeicher oder dem Instruktionsspeieher, zusammenarbeiten. In der deutschen Offenlegungsschrift 22 30 727 ist nun eine Schaltungsanordnung zur dynamischen Zuteilung von Speicherzyklen mit Vorrangsteuerung bekanntgeworden, die zur Steuerung des Verbindungsaufbaus zwischen den anfordernden Einheiten und einer gemeinsamen Einheit, z.B. dem Speicher einer Datenverarbeitungsanlage, angeordnet ist und Vorrangmarkierungen, die in den Anforderungssignalen enthalten sind, berücksichtigt, die dadurch charakterisiert ist, daß jeder anfordernden Einheit ein gesondertes Speicheradreßregister zur Ansteuerung einer in gemeinsam benutzbare Teile und die nur für bestimmte anfordernde Einheiten benutzbare Teile aufgeteilten Einheit zugeordnet sind und daß Auswertungsschaltungen bei Nichtvorliegen von Anforderungen immer ein Steuersignal abgeben, das die Bedienung eines bestimmten anfordernden Gerätes durch die teilweise gemeinsame Einheit bewirkt, und daß bei gleichzeitigem Vorliegen von Bedienungsanforderungen mehrere anfordernde Einheiten von den genannten Auswertungsschaltungen Steuersignale erzeugt werden, die den Zugriff zur teilweise gemeinsamen Einheit abwechselnd den anfordernden Einheiten für je einen, durch Taktsignale bestimmten Zyklus zuteilen.
Obwohl hier gezeigt ist, daß bereits Prioritäten dahingehend berücksichtigt werden, daß eine gerade ablaufende Operation mit der gemeinsamen Einheit dann unterbrochen wird, wenn eine höherwertige Einheit ein Anforderungssignal abgibt und daß dann abwechselnd die höherwertige und die niedrigwertigere Einheit bedient werden, so daß also auch kein fester Zuteilungsrahmen der Zeitscheiben vorhanden ist, hat diese Schaltungsanordnung jedoch den Nachteil, daß eine völlig freie vom Programmierer be-
972 °°3 409816/0506
stimmbare dynamische Zuteilung der Aufgaben zu den Zeitscheiben nicht möglich ist.
Der Erfindung liegt deshalb die Aufgabe zugrunde, eine Schaltungsanordnung zur dynamischen Zuteilung von Aufgaben in einem Rechner zu schaffen, die es ermöglicht, daß die Zuteilung von Zeitabschnitten der gemeinsamen Einheit in jedem Umlauf den jeweiligen Erfordernissen neu angepaßt wird, wobei die Bestimmung vom Programmierer beeinflußbar sein soll.
Die erfindungsgemäße Lösung der Aufgabe besteht nun darin, daß Index- bzw. Steuerworte, bestehend aus einem Zeigerteil und einem Adreßteilj in Registern oder Zeilen eines Speichers vorhanden sind, die über eine Indexadresse ansteuerbar sind und nacheinander entsprechend der vorgegebenen Reihenfolge abrufbar sind und damit den einzelnen Zeitscheiben des Gesamtumlaufs dynamisch zugeordnet werden.
Der Hauptvorteil dieser Schaltungsanordnung besteht darin, daß durch das laufende Mikroprogramm die Zeitscheiben entsprechend zu- bzw. abgeschaltet werden können, indem lediglich die Indexworte geändert werden. Außerdem wird erreicht, daß bei mehreren von der Außenwelt kommenden Unterbrechungs leitungen durch ODER-Verknüpfung mit der LINK-Adresse die Möglichkeit besteht, die Zeitscheibenkette zu verlassen, zu verändern oder beizubehalten, so daß unterbrechungsfähige oder nicht uriterbrechungsfähige Programmwechsel definiert werden können.
Die Erfindung wird nun anhand von in den Zeichnungen dargestellten Ausführungsbeispielen näher beschrieben.
Es zeigen:
Fig. 1 eine Aufteiltsng der Zeitscheiben in einem
Steuerspeieher eises Eeehners?
GE 972 °03 409818/0506
Fig. 2 eine Schaltungsanordnung zur Zeitscheibensteuerung mit Trapping und
Fig. 3 eine prinzipielle Art der Prioritätenberücksichtigung bei Trapping.
Zum allgemeinen Verständnis der Erfindung soll noch folgendes ausgeführt werden:
Vorausgesetzt wird ein bekannter Rechner mit einem Steuerspeicher, in dem Anwenderprogramme in Form von Mikroprogrammen gespeichert sind. Die Anwenderprogramme oder Aufgaben sind dabei jeweils einer äußeren Einheit, z.B. einer Ein-/Ausgabeeinheit in Form eines Plattenspeichers, eines Druckers oder eines Kartenlochers als Mikro- oder Steuerprogramme zugeordnet, zugehörig. ,
Dieser Rechner, in dem der Steuerspeicher vorhanden ist, dient zur Koordinierung und Steuerung der angeschlossenen äußeren Einheiten, wie z.B. der genannten Ein- und Ausgabegeräte.
Die gewünschte Aufteilung der zur Verfügung stehenden Zeitscheiben bzw. Zyklen bzw. Zuteilung der Aufgaben innerhalb eines gesamten Umlaufs im Steuerspeicher geschieht für eine bestimmte Konfiguration eines Datenverarbeitungssystems vom Programmierer der Mikroprogramme.
In Fig. 1 ist ein Zeitscheiben-System für einen Rechner, der die Ein- und Ausgabegeräte innerhalb eines Rechnersystems steuert, dargestellt. Die miteinander in Reihe verbundenen Kittchen «teilen dabei eine Folge von Index- oder Steuerworten dar. über jedem Kästchen ist die Indexadresse in hexadezimaler Darstellung zu sehen, links im Kästchen jeweils der Zeiger PTR und rechts die jeweilige Adresse LINK des nachfolgenden Steuerwortes. Die Zeiger PTR von 0 bis 7 sind, wie aus der untersten Zeile der Fig. 1 hervorgeht, den einzelnen Geräten oder Einheiten bzw.
6^972003 40981670506
Programmen der Datenverarbeitungseinheit wie z. B. 0 dem Kanal, 1 einem Lesegerät RDR PRT 1 usw. zugeordnet. Die Adresse im rechten Teil eines jeden Steuerwort-Kästchens ist ebenfalls hexadezimal dargestellt.
Zwischen der Indexadresse und der Adresse des nachfolgenden Index- oder Steuerworts besteht die folgende Gesetzmäßigkeit:
Indexadresse ist 2 χ LINK + 1,
wobei wiederum sowohl die Indexadresse als auch LINK in hexadezimaler Darstellung einzusetzen ist.
Die jeweils dritten Kästchen in jeder Zeile mit den Indexadressen 11, 31, 19 und 39 sowie 13, 33, 18 und 38 zeigen eine Gruppe von Steuerworten, wobei innerhalb dieser Gruppe durch eine Verzweigung TRAP (ζ. B. C aktiv in Zeile 1) eines der Steuerworte ausgewählt werden kann. "Die Zusammenhänge zwischen der LINK-Adresse und den Verzweigungs-Kommandos ist detaillierter an Hand der Fig. 3 beschrieben, so daß hier nicht näher auf die weiteren Zusammenhänge eingegangen wird.
Wie aus Fig. 1 zu sehen ist, sind in diesem Beispiel den im Ein/-Ausgaberechner simultan ablaufenden sieben Programmen 1 bis 3 außer 0 zu Beginn der Operationen je 1/16 Anteil eines Gesamtumlaufes zugeordnet, d. h. mit anderen Worten, daß in diesem Beispiel ein ganzer Umlauf aus 16 Zeitscheiben besteht. Je nach Bedarf schalten sich die einzelnen Teilprogramme nach der Festlegung vom Mikroprogrammierer her einzelne Zeitscheiben zu oder aktivieren andere zur Zeit ruhende Programme. Durch eine Verzweigung TRAP kann von einem Programm auf ein anderes Programm zu jeder Zeit umgeschaltet werden ("2 ■»■ "7"). Durch die gezeigte Form der Steuerworte, auch Indexworte genannt, die alle nacheinander im Register oder in einem Speicher, nämlich hier z. B. dem Steuerspeicher des Ein- und Ausgaberechners, stehen können, bestehen die zwei prinzipiellen Möglichkeiten und Vorteile:
^972003 409816/0506
1. Mikroprogramm: Durch das laufende Mikroprogramm lassen sich die Zeitscheiben zu- bzw. abschalten, indem die Steuer- oder Indexworte abgeändert werden. Hierdurch kann man Prioritäten abhängig vom Mikroprogramm setzen.
2. Verzweigung TRAP (siehe Beschreibung von Fign. 2 und 3) , unterbrechungsgesteuerte Zeiteinteilung: Mehrere von der Außenwelt kommende Unterbrechungsleitungen bilden durch eine logische ODER-Verknüpfung mit der LINK-Adresse des nächsten aktiven Steuer- oder Indexwortes, die Möglichkeit, die Zeitscheibenkette zu verlassen, zu verändern oder beizubehalten. Mit anderen Worten lassen sich dadurch unterbrechungsfähige und nicht unterbrechungsfähige Programmwechsel definieren. Außerdem können dadurch mehrere Unterbrechungsebenen relativ zu einem oder mehreren Basisprograxnmen realisiert werden. Durch die Tatsache, daß nicht alle Steuer- oder Indexworte unterbrechungsfähig sind, bleibt auch im Falle einer Verzweigung TRAP die Möglichkeit in den zugehörigen Aufgaben, per Mikroprogramm Zeitmessungen durchzuführen.
In Fig. 2 ist die Unterbrechung mit Hilfe einer logischen ODER-Verknüpfung des jeweiligen aktuellen TBAP mit der aktuellen LINK-Adresse eines bestimmten LINK-Adreßteils eines Indexwortes gezeigt, wobei die einzelnen Indexworte 1 bis η wiederum aus jeweils einem Zeiger und der LINK-Adresse bestehen.
Die Steuer- bzw. Indexworte sind in Fig. 2 in Zeilen eines Speichers ALS eines Rechners abgespeichert, der quasi simultan mehrere Programme ausführen kann.
In Fig. 3 ist nun eine Schaltungsanordnung dargestellt, die die logische ODER-Verknüpfung der LINK-Adressen mit den TBAPs bewirkt, wobei bei der Verzweigung TRAP Prioritäten entsprechend der in der Mitte gezeigten Tabelle, die sich durch die ODER-Verknüpfung des aus vier Bits bestehenden anliegenden TRAP und
972 °°3 409816/0506
der aus vier Bits bestehenden LINK-Adresse ergibt, berücksichtigt werden. Bei ODER-Verknüpfung der LINK-Adresse 0000 mit den Verzweigungsadressen TRAP 0001 bis 1111 ergeben sich die im rechten Teil der Fig. 3 gezeigten TRAP-gesteuerten prioritätsabhängigen Programmebenen über dem Basisprogramm. Falls keine Anforderungssignale TRAP aktiv sind (0000), wird die Indexadresse 0000 erzeugt. Die entsprechende Index-Wort-Adresse löst ein Hintergrundprogramm aus.
Wie sowohl aus der Fig. 2 als auch aus der Fig. 3 zu ersehen ist, ist es durch die logische ODER-Verknüpfung möglich, zu jeder Zeit die aktuelle LINK-Adresse gewissermaßen zu maskieren und damit sowohl unterbrechungsfähige als auch nicht unterbrechungsfähige Steuer- bzw. Indexworte sogar unter Berücksichtigung verschiedener Prioritäten und damit eine dynamische Aufgabenverteilung, d. h. eine dynamische Zeitscheibenzuteilung, zu ermöglichen.
Es soll noch erwähnt werden f daß die in Fig. 1 gezeigte Aufteilung eines Gesamtumlaufs in 16 Zeitscheiben und die in Fig. 3 gezeigte logische Verknüpfungstabelle mit der LXNK-Ädresse 0000 willkürlich gewählt sind und jede Modifizierung ohne erfinderliches Zutun möglich 1st.
972 °°3 . 409816/0506

Claims (5)

PATENTANSPRÜCHE
1. Schaltungsanordnung zur Zuteilung von Rechenzeit an Aufgaben, insbesondere von Zeitscheiben oder Instruktionszyklen mehrerer im Rechner ablaufender Programme mit oder ohne Prioritätssteuerung, wobei in den Anforderungssignalen Vorrangmarkierungen enthalten oder ausgelassen sind, dadurch gekennzeichnet, daß Index- bzw. Steuerworte, bestehend aus einem Zeigerteil (PTR) und einem Adreßteil (LINK), in Registern oder Zeilen eines Speichers vorhanden sind, die über eine Indexadresse ansteuerbar sind und nacheinander entsprechend der vorgegebenen Reihenfolge abrufbar sind und damit den einzelnen Zeitscheiben des Gesamtumlaufs dynamisch zugeordnet werden.
2. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß der Inhalt (LINK) des einen Register- oder Speicherteils des gerade ablaufenden Programms über eine Maskierungsschaltung (0) mit auf Unterbrechungsleitungen ankommenden Signalen (TRAP) logisch zur Indexadresse des nächsten Indexwortes verknüpft wird.
3. Schaltungsanordnung nach den Ansprüchen 1 und 2, dadurch gekennzeichnet, daß die Maskierungsschaltung als logische ODER-Schaltung ausgeführt ist.
4. Schaltungsanordnung nach den Ansprüchen 1 bis 3, dadurch gekennzeichnet, daß die auf den Unterbrechungsleitungen ankommenden Signale (TRAPs) bestimmte Prioritätsmerkmale tragen und von internen Operationen im Rechner ausgelöst werden.
GE 9 72 003 409816/0506
5. Schaltungsanordnung nach den Ansprüchen 1 bis 4, dadurch gekennzeichnet, daß die auf den Ünterbrechungsleitungen ankommenden Signale (TRAPs) bestimmten Prioritätsmerkmalen zugeordnet sind und von externen Einheiten des Rechners ausgelöst werden.
ge 972 003 4098 16/05 06
DE19722247735 1972-09-29 1972-09-29 Schaltungsanordnung zur dynamischen Zuteilung von Rechenzeit Expired DE2247735C3 (de)

Priority Applications (9)

Application Number Priority Date Filing Date Title
DE19722247735 DE2247735C3 (de) 1972-09-29 Schaltungsanordnung zur dynamischen Zuteilung von Rechenzeit
IT2682573A IT993602B (it) 1972-09-29 1973-07-20 Struttura circuitale per assegnare lavori in un calcolatore
FR7328904A FR2201782A5 (de) 1972-09-29 1973-07-30
JP48092990A JPS5746094B2 (de) 1972-09-29 1973-08-21
CH1228173A CH556062A (de) 1972-09-29 1973-08-28 Anordnung in einer datenverarbeitungsanlage zur zuteilung von verarbeitungszeit an mehrere aufgaben.
GB4077573A GB1441661A (en) 1972-09-29 1973-08-30 Data processing system
SE7312055A SE387453B (sv) 1972-09-29 1973-09-05 Anordning for mikroprogramstyrning av ett antal ingangs/utgangsenheter i en dator
NL7313230A NL7313230A (de) 1972-09-29 1973-09-26
ES419172A ES419172A1 (es) 1972-09-29 1973-09-28 Disposicion de circuito en un sistema de tratamiento de da-tos para asignar tiempo de tratamiento a varias tareas.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19722247735 DE2247735C3 (de) 1972-09-29 Schaltungsanordnung zur dynamischen Zuteilung von Rechenzeit

Publications (3)

Publication Number Publication Date
DE2247735A1 true DE2247735A1 (de) 1974-04-18
DE2247735B2 DE2247735B2 (de) 1975-06-12
DE2247735C3 DE2247735C3 (de) 1976-02-19

Family

ID=

Also Published As

Publication number Publication date
DE2247735B2 (de) 1975-06-12
JPS4973047A (de) 1974-07-15
IT993602B (it) 1975-09-30
CH556062A (de) 1974-11-15
SE387453B (sv) 1976-09-06
FR2201782A5 (de) 1974-04-26
NL7313230A (de) 1974-04-02
ES419172A1 (es) 1976-04-16
GB1441661A (en) 1976-07-07
JPS5746094B2 (de) 1982-10-01

Similar Documents

Publication Publication Date Title
DE1774296C2 (de) Restruktuierbare Steuereinheit für elektronische Digitalrechner
DE3810231C2 (de)
DE2113890C2 (de) Zentrale Verarbeitungseinrichtung für Datenverarbeitungsanlagen
DE2350884C2 (de) Adreßumsetzungseinheit
DE3909948C2 (de)
DE2015971C3 (de) Datenverarbeitungsanlage mit einer Anzahl von zeitmultiplex von einem zentralen Rechenwerk bedienten virtuellen Prozessoren
DE2354521C2 (de) Verfahren und Einrichtung zum gleichzeitigen Zugriff zu verschiedenen Speichermoduln
DE2358545A1 (de) Datenverarbeitungssystem mit dynamisch veraenderlichem vorrangzugriffssystem
CH628167A5 (de) Prozessoreinrichtung zur prioritaetssteuerung der zugriffe zum gemeinsam benutzten arbeitsspeicher einer mehrprozessoranlage.
DE2045052A1 (de) System zum Identifizieren von Mehraufgabensituationen und zum Steuern der Durchführung dieser Aufgaben
DE2936932A1 (de) Kanaladressen-steuersystem in einem virtuellen maschinensystem
DE2130299A1 (de) Eingabe/Ausgabe-Kanal fuer Datenverarbeitungsanlagen
DE2364408A1 (de) System zur erstellung von schaltungsanordnungen aus hochintegrierten chips
EP0010570B1 (de) Verfahren und Einrichtung zur selbstadaptiven Zuordnung der Arbeitslast einer Datenverarbeitungsanlage
DE2164793A1 (de) Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/ Ausgabe-Einheiten mittels eine Zentraleinheit
DE2148956C3 (de) Datenübertragungssystem
DE102012224362B4 (de) Anpassung einer Testhäufigkeit für die Ressourcenauslastung
DE1499190C3 (de) Elektronische Datenverarbeitungsanlage
DE2221442A1 (de) Assoziativspeicher
DE2558417C3 (de) Datenverarbeitungssystem
DE2311503A1 (de) Datenverarbeitungsanlage mit mehreren zentraleinheiten
DE2230727B2 (de) Schaltungsanordnung zur dynamischen zuteilung von speicherzyklen mit vorrangssteuerung
DE2247735A1 (de) Schaltungsanordnung zur zuteilung von aufgaben in einem rechner
CH495584A (de) Datenverarbeitungsanlage
DE2847737C2 (de) Schaltung zur Umsetzung virtueller Adressen in eine reelle Adresse von größerer Länge

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
E77 Valid patent as to the heymanns-index 1977
8339 Ceased/non-payment of the annual fee