DE2247735A1 - Schaltungsanordnung zur zuteilung von aufgaben in einem rechner - Google Patents
Schaltungsanordnung zur zuteilung von aufgaben in einem rechnerInfo
- 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
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/4825—Interrupt 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
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)
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
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 |