DE1812354A1 - Einrichtung zur zeitverzahnten Datenverarbeitung - Google Patents

Einrichtung zur zeitverzahnten Datenverarbeitung

Info

Publication number
DE1812354A1
DE1812354A1 DE19681812354 DE1812354A DE1812354A1 DE 1812354 A1 DE1812354 A1 DE 1812354A1 DE 19681812354 DE19681812354 DE 19681812354 DE 1812354 A DE1812354 A DE 1812354A DE 1812354 A1 DE1812354 A1 DE 1812354A1
Authority
DE
Germany
Prior art keywords
time
counter
tasks
pulse
execution
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
DE19681812354
Other languages
English (en)
Other versions
DE1812354B2 (de
DE1812354C (de
Inventor
Driscoll Jun Craham Cameron
Mullery Alvin Paul
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE1812354A1 publication Critical patent/DE1812354A1/de
Publication of DE1812354B2 publication Critical patent/DE1812354B2/de
Application granted granted Critical
Publication of DE1812354C publication Critical patent/DE1812354C/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/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Multi Processors (AREA)
  • Exchange Systems With Centralized Control (AREA)

Description

IBM' Deutschland Internationale Büro-Matchinen Geiellschaft mbH
Böblingen, 29. November 1968 jo-hn
Anmelderin: International Business Machines
Corporation, Armonk, N. Y. 10 504
Amtliches Aktenzeichen: Neuanmeldung
Aktenzeichen der Anmelderin: Docket YO 9-67-082
Einrichtung zur zeitverzahnten Datenverarbeitung
Die Erfindung betrifft eine Einrichtung zur zeitverzahnten Datenverarbeitung für ein System mit mehreren Programmquellen und Verarbeitungseinheiten und mit einem, zwischen diesen eingeschalteten Warteschlangenspeicher zur Zwischenspeicherung von Aufgaben, gegebenenfalls verschiedener Probleme.
Systeme für eine zeitverzahnte Datenverarbeitung, bei denen für die Benutzer Verarbeitungseinheiten nur dann verfügbar gemacht werden, nachdem eine Aufgabe vollständig durchgeführt ist, sind bekannt. Diese Systeme haben den Nachteil, daß die Benutzer manchmal übermäßig lange Wartezeiten in Kauf nehmen müssen. In derartigen Situationen ist die Ansprechzeit des Systems zwischen der Ausführungs-Anforderung einer Benutzerstation für eine gegebene Aufgabe und der Einleitung der wirklichen Ausführung sowohl von der Zahl der Aufgaben, die die Zahl der in der Warteschlange zugelassenen Zahl von Aufgabenüberschreitet, als auch von der gesamten Dauer der Ausführung dieser Aufgaben abhängig.
909832/1200
Zur Vermeidung von unerwünscht langen Ansprechzeiten verwenden die derzeit bekannten Systeme für eine zeitverzahnte Datenverarbeitung (Time Sharing Systeme) eine Zeitteiler- oder kommutative Technik«, Bei einer derartigen Technik wird jedes Problem im wesentlichen in eine Anzahl kleinerer Teilstücke aufgeteilt, d.h. es wird zuerst ein Teil eines ersten Problemes, dann ein Teil eines ζ weiten Problemes und so fort ausgeführt. Dabei wird die Wart eschlange von Problemen für die Ausführung eines Teiles in einen zyklischen Umlauf gebracht. Einige Zeit später wird ein nächstes Teilstück des ersten Problemes ausgeführt, dem die Ausführung des nächsten Teilstückes des zweiten Problemes folgt. Bei dieser Technik ist die Gesamtzeit, die für die Ausführung eines gegebenen Problemes benötigt wird, relativ unabhängig von der Ausführungsdauer der übrigen Probleme. Diese Technik hat wieder den Nachteil, daß durch die Zeitteilung der zeitliche Wirkungsgrad des Systems dadurch unvorteilhaft verschlechtert wird, daß beträchtliche Zeiten für die Speicherung, den Wiederabruf und die Rückspei cherung von Ma schinen zuständen am Ende und am Anfang jedes auszuführenden Abschnittes einer Aufgabe verlorengeht.
Es ist daher die Aufgabe der Erfindung, eine Einrichtung zur zeitverzahnten Datenverarbeitung anzugeben, welches die Überwachungszeiten der Zustände des Systems niedrig hält.
Für eine Einrichtung zur zeitverzahnten Datenverarbeitung in einem System mit mehreren Programmquellen und Verarbeitungseinheiten und mit einem zwischen diesen eingeschalteten Warte sehlang enspeicher zur Zwischenspeicherung von Aufgaben, gegebenenfalls verschiedener Probleme, besteht die Erfindung darin, daß die Ein- und Aus speicherung in chronologischer Reihenfolge derart vorgenommen wird} daß die Eingabeadresse durch den Inhalt des TS-Eingangs zähle rs und die Ausgabeadresse durch den Inhalt des Aus gang sz ahle rs bestimmt ist, daß ferner ein weiterer Speicher vorgesehen ist, der eine Liste von in chronologischer Reihenfolge
909832/1200
angeordneten Zeitabschnitten speichert, daß ferner diesem. Speicher zugeordnet sind
ein erster Adressenindikator, zur Identifizierung des ersten und laufenden Zeitabschnittes, wobei diesem Zeitabschnitt Aufgaben zugeordiet sind, die während seiner Dauer dem System eingegeben werden, ein zweiter Adressenindikator zur Identifizierung eines Zeitabschnittes, welcher um eine wählbare Anzahl von Zeitabschnitten vor dem ersten liegt, ein dritter Adressenindikator zur Identifizierung des jeweils ältesten Zeitabschnittes der Liste, welcher die nächste zur Ausführung bereitstehenden Aufgaben enthält und schließlich ein vierter Adressenindikator zur Identifizierung eines Zeitabschnittes, welcher in der Liste zwischen dem ersten und zweiten Zeitabschnitt liegt und welcher einer solchen Anzahl von Aufgaben zugeordnet ist, die kleiner als die Zahl der an das System angeschlossenen Verarbeitungseinheiten ist,
wobei die Ausgangs signale der Indikatoren die Eingangs-und Ausgangsoperationen des Speichers und damit die Ausführung der Aufgaben steuern, die weitgehend unterbrechungsfrei innerhalb einer Maximalzeit durchgeführt wird, die durch die wählbare Anzahl von Zeitabschnitten bestimmt ist.
Weitere Merkmale der Erfindung sind den Unteransprüchen zu entnehmen»
Die in der Erfindung angegebene Struktur gibt den Systemen mit zeitverzahnter Datenverarbeitung den Vorteil einer schnellen Ansprechzeit und damit Verarbeitungszeit, da ein weitgehend unterbrechungsfreier Betrieb bei der Ausführung der Aufgaben erzielt wird.
Ein weiterer Vorteil des Systems besteht in seiner relativ einfachen Struktur, die besonders bei großen Systemen mit paralleler Verarbeitung und Mehrfachverarbeitungseinheiten wünschenswert ist.
909832/12ÜÜ
Im folgenden wird die Erfindung anhand von, durch Zeichnungen erläuterten, Ausführungsbeispielen näher beschrieben» Es zeigen:
Fig. 1A-1C: repräsentative schematische Darstellungen der Anfangsbedingungen der Warteschlangen iür zeitverzahnte Verarbeitung, für die Liste der Unterbrechungsanforderungen und für die Zeiger der Unterbrechungsanforderungen gemäß der Erfindung,
Fig. 2A-2C: ähnliche Darstellungen wie in Fig. IA bis IC, jedoch für Bedingungen, die zu einem bestimmten Verarbeitungszeitpunkt vorliegen,
Fig. 3A-3C: Darstellungen, die den in den Fig» IA bis 2C gezeigten ähn-
lieh sind und Bedingungen entsprechen., die zu einem weiteren Zeitpunkt der Verarbeitung im System vorliegen,
Fig. 4: das Blockschaltbild einer Einrichtung für die Erzeugung des
T-Taktes (Aufgabentakt)j, welcher für die Ausführung des Aufgaben-Mikroprogramin.es benutzt wird,
Fig. 5: das Blockschaltbilds welches dem nach Fig„4 ähnlich ist, der
Anordnung für den ET-Takt (Aufgabeneintritt), welcher während der Ausführung des Mikroprogramms für den Aufgabeneintritt verwendet wird3
Fig. 6: ein Blockschaltbild, ähnlich denen nach den Fig, 4 und 5,
- der Anordnung für den RT-Takt (Aufgabenanforderung), welcher für die Ausführung des Mikroprogramms für die Aufgabenanforderung benutzt wird,
909832/1200
;":' !"'■■'! ψψ IP!T !»ι: ί'·1 ■■■"! 1T11Ii1! :^111"''■■l;l|r■■" '1W" ■ -■■■' "■ ." ■ ■■ ■■ w ■:=!■■■!;■■■-_■ ■ ■■■!»■. ■ : ; -v ν ι» jr.,,,, ,,;.,,:,,.„ ,j „r.F ,„■,, ,
Fig. 7A-7D: die, wie in Fig. 7 dargestellt ist, zusammengefaßt werden, ein Blockschaltbild der logischen Struktur eines Ausführungsbeispieles einer Anordnung gemäß der Erfindung,
Fig. 8: das Blockschaltbild einer Verriegelungsanordnung für die ΤΕΤ- und RT-Takterzeuger,
Fig. 9: ' das Blockschaltbild einer Vorrangsteuerung für die Aufhebung
der Verriegelung, die zur Auswahl der T-, ET- und RT-Mikroprogramme dient,
Fig. 10: das Blockdiagramm eines Registers, welches als Baustufenregister der Unterbrechungs-Anforderungs-Liste dient,
Fig. 11: das Ablauf diagramm des T-Takt-Mikroprogrammes,
Fig. 12: das Ablauf diagramm des ET-Takt-Mikroprogrammes,
Fig. 13: das Ablauf diagramm des RT-Takt-Mikroprogrammes und
Fig. 14A, 14B: die, wie in Fig. 14 dargestellt ist, angeordnet sind, eine Darstellung der Zyklusfolge während des Betriebes des zeitverzahnten Verarbeitungs systems .
Allgemeine Beschreibung
Das System der Erfindung ist für eine zeitverzahnte Simultanverarbeitung von Problemen vorgesehen. Hierbei dient eine Warteschlange zur Aufnahme von Teilaufgaben der Probleme in chronologischer Reihenfolge. Das System enthält ferner eine Unterbrechungs-Anforderungs-Liste, die aus einer Anzahl von Zeitabschnitten besteht. Ein erster Zeiger, der sogenann-
909832/1200
te Eingangs zeiger, dient zur Anzeige des gerade vorliegenden Zeitabschnittes in der Liste. Ein zweiter Zeiger, der sogenannte Unterbrechungszeiger, ist für die Anzeige desjenigen Zeitabschnittes in der Liste vorgesehen, welcher am ein gewähltes Vielfaches von Abschnitten vor dein bereits erwähnten, gerade vorliegenden, Abschnitt liegt, wobei solche gewählte Vielfache von Zeitabschnitten eine gewünschte maximale Periode umfassen,um so die Ausführung einer Aufgabe vom Zeitpunkt der Eingabe in die Warteschlange an, sicherzustellen. Ein dritter Zeiger, der sogenannte Ausführungszeiger, wird für die Anzeige eines Abschnittes in der Liste verwendet, welcher zeitlich hinter dem Abschnitt liegt, welcher durch den Unterbrechungszeiger angezeigt wird. Andererseits ist es aber auch der älteste Zeitabschnitt, welcher Aufgaben, anzeigt, die noch ausgeführt werden sollen, Ein vierter Zeiger, der sogenannte Nicht voll-Zeiger, ist vorgesehen, um auf einen Zeitabschnitt in der Liste zu zeigen, welcher zwischen den durch die Eingangs- und Unterbrechungszeiger angegebenen Abschnitten liegt. Er zeigt die Anzahl der noch auszuführenden Aufgaben an, die in jedem Fall geringer ist als die Anzahl der für die Ausführung dieser Aufgaben verfügbaren Verarbeitungseinheiteri.
Ausführliche Beschreibung
Jedes aktive Problem besitzt eine Aufgaben-Warteschlange, welche die Reihenfolge bestimmt, in der Teilaufgaben eines Problems den Verarbeitung seinheiten übertragen werden. Die Reihenfolge, in der Aufgaben den Verarbeitungseinheiten von verschiedenen Aufgaben-Warteschlangen zugeteilt werden, wird durch die Verwendung einer zeitverzahnten Problem-Warteschlange bestimmt. Diese ist als TS-Warteschlange bezeichnet und so entworfen, daß die erste Aufgabe, die eingegeben wird auch die erste ist, die ausgegeben wird.
Die TS-Warteschlange besitzt eine genügende Anzahl von Warteplätzen, um
909832/120 0
für eine spezielle Anwendung für jedes mögliche aktive Problem jeweils eine Adresse aufbewahren zu können. Wenn beispielsweise ein System eine gegebene Anzahl von problemorientierten Datenstationen besitzt, dann muß · die Zahl der Warteplätze in der Aufgabenschlange mindestens der Zahl der Datenstationen entsprechen.
Der TS-Warteschlange sind zwei Zeiger zugeordnet. Der TS-Ausgangszeiger gibt diejenige Position in der War te schlange an, welche die laufende erste Aufgabe enthält. Der TS-Eingangszeiger weist auf diejenige Position, welche die laufende letzte Aufgabe in der Warteschlange enthält.
Die TS-Warteschlange dient zur Verteilung der Aufgaben für die Ausführung an die Verarbeitungseinheiten, sowie diese verfügbar werden. Um sicherzustellen, daß eine maximale Wartezeit w für eine Datenstation nicht überschritten wird, ist eine Steuerung vorgesehen, welche die Verfügbarkeit der Verarbeitungseinheiten steuert. Diese sogenannte Unterbrechungsanforderung ist in Form einer Liste aufgebaut. Jede Position in der Liste entspricht einem Zeitintervall m, wobei m die minimale Ausführungszeit für die nicht unterbrochene Ausführung einer Aufgabe angibt.
Vier Zeiger sind der Unterbrechungs-Anforderungs-Liste zugeordnet. Der erste dieser Zeiger, bezeichnet als Eingangs zeig er, gibt die Position in der Liste an, die der laufenden Zeit entspricht. In der laufenden Zeitposition ist ein geeigneter Zähler vorgesehen, welcher die Zählung der Aufgaben enthält, die während des gegenwärtigen Zeitintervalls in die Warteschlange eingegeben wurden (es wird im vorliegenden Falle angenommen, daß die gezählte Anzahl der Aufgaben nicht die Zahl der Verarbeitungseinheiten im System überschreitet). Jedesmal wenn eine Aufgabe in die Warteschlange eingegeben wird, wird der Inhalt des Zählers für die laufende Zeit um Eins erhöht. Am Ende jedes Zeitintervalles m wird der Eingangszeiger selbst um Eins erhöht, so daß er nun auf den nächsten Zeitabschnitt in der Unterbrechungs-Anforderungs-Liste zeigt und so das laufende
■9 09832/1200
Zeitintervall anzeigt.
Der zweite dieser vier Zeiger, die der Unterbrechungs-Anforderungs-Liste zugeordnet sind, wird als Unterbrechungszeiger bezeichnet, dessen Funktion darin besteht, stets eine Position in der Unterbrechungs.-Anforderungs-Liste anzugeben, die w/m ist. Das Verhältnis von maximaler Wartezeit w zu Zeitintervall m gibt die Positionen an, die von der durch den Eingangszeiger angegebenen Position entfernt liegt. Der Unterbrechungs zeiger wird ebenfalls nach jedem Zeitintervall m um Eins erhöht. Wenn der Zeiger auf diese Weise erhöht wird, dann gibt der Zählbetrag in dem Zeitabschnitt, welcher gerade in der Unterbrechungs-Anforderungs-Liste von dem Unterbrechungs zeiger angegeben wird, die Zähl von Aufgaben an, die schon seit dem Zeitintervall w auf ihre Ausführung warten. Daher müssen sie während des laufenden Intervalls ausgeführt werden, welches soeben begonnen hat. Diese Aufgaben werden stets durch Adressen an der Spitze der Warteschlange angegeben, da alle vorhergehenden Aufgaben bereits ausgeführt wurden und alle übrigen in der Warteschlange weiter unten anstehen.
Der dritte, für die Unterbrechungs-Anforderungs-Liste vorgesehene Zeiger wird als Ausführungszeiger bezeichnet. Er gibt die älteste Position in der Liste an, welche die Zählung der auszuführenden Aufgaben enthält, wobei die Zahl 0 ausgeschlossen ist. Wenn eine Verarbeitungseinheit verfügbar gemacht wurde, durch die normale Vervollständigung bei der Ausführung einer Aufgabe und eine neue Aufgabe dieser Verarbeitungseinheit zugeteilt" wird, dann wird die Zahl in der Position, welche durch den Ausführungszeiger angegeben wird, um Eins reduziert. Wenn die Zählung Null wird, wird der Ausführungszeiger auf die älteste verbleibende Position eingestellt, die eine Zählung enthält, die nicht Null ist. Wenn daher alle Aufgaben, die in einer gegebenen Position angezeigt sind, in derjenigen Zeit ausgeführt wurden, auf deren Position der Unterbrechungszeiger zeigt,
909832/1200
dann wird die Zählung in dieser Position Null, so daß die Operation keiner Verarbeitungseinheit unterbrochen werden muß.
Die maximale Anzahl von Verarbeitungseinheiten, die unterbrochen werden können, entspricht der Zahl der in einem Verarbeitungs system vorhandenen .Verarbeitungseinheiten. Wenn daher während eines gegebenen Zeitintervalles m mehr Aufgaben vorliegen als diese maximale Zahl und wenn alle vorliegenden Aufgaben noch am Ende der festgesetzten Wartezeit w auf die Ausführung warten, dann können offensichtlich alle diese zuletzt genannten Aufgaben an dieser Stelle nicht den jeweiligen Verarbeitungseinheiten zur Ausführung zugeteilt werden. Daher wird, um in diesen unvorhergesehenen Fällen soweit wie möglich noch weiterhin eine Wartezeit zu garantieren, die nicht über die vorgeschriebene maximale Zeit w hinausgeht, ein vierter Zeiger vorgesehen, der ebenfalls der Unterbrechungs'•.Anforderungs-Liste zugeordnet ist. Die Funktion dieses vierten Zeigers bewirkt eine geeignete Vorwärtsverschiebung dieser Aufgaben, wenn mehr als η Aufgaben in einem einzelnen Zeitintervall m aufgegeben werden, wobei η gleich der Gesamtzahl der Verarbeitungs einheiten ist.
Dieser vierte Zeiger, der als Nicht-voll-Zeig er bezeichnet wird, zeigt auf den vorhergehenden Zeitabschnitt, welcher am dichtesten an dem laufenden Eingabeabschnitt liegt, desserjÄahl von Aufgaben den Wert η noch nicht überschritten hat. Normalerweise ist der Eingangs ab schnitt der laufende Abschnitt, Wenn jedoch die Zählung in diesem zuletzt genannten Abschnitt den Wert m erreicht, dann wird eine Suche nach dem nächsten vorhergehenden Abschnitt gemacht, dessen Zählung kleiner als η ist. Wenn mehr Aufgaben in der TS-Warteschlange während des laufenden Zeitintervalles angezeigt werden, dann wird die Zählung in dem Bereich, welcher durch den Nicht-voll-Zähler angegeben wird, jedesmal um Eins erhöht, wenn eine Aufgabe hinzugefügt wird, bis diese Zählung den Wert η erreicht. Dann wird wieder eine Suche nach dem nächstgelegenen, vorhergehenden nicht vollen Abschnitt durchgeführt. Die vorstehend beschriebene Anord-
909832/1200
nung beeinflußt nur die Zählung in den Abschnitten, wobei die Aufgaben noch in der Reiienfolge ausgeführt werden, in der sie eintreffen. Die Zählungen in den entsprechenden Bereichen der Unterbrechungs-Anforderungs-Liste sind derart, daß alle Aufgaben eine maximale Wartezeit w besitzen,
η · w
wenn nicht mehr als Aufgaben vorliegen. Der letztere Fall gibt
an, daß nicht genügend Verarbeitungseinheiten und Zeit im System vorhanden ist, um jeder Aufgabe ihre minimale Ausführungszeit m zuzuteilen, . ohne daß einige Aufgaben auf die Ausführung länger als die -maximale Warteperiode w warten müssen.
Daher wird die Ausführung der Aufgaben nur dann unterbrochen, wenn das Verarbeitungssystem in die Nähe seiner Überlastung gerät. Die Unterbrechung erfolgt dann mit einer Rate, wie sie in Systemen mit zeitlicher Verzahnung der Verarbeitung üblich ist. Das erfindungsgemäße Verarbeitungs system reagiert auf die Zahl von Aufgaben, die auf ihre Verarbeitung warten, durch Kürzung oder Verlängerung der nicht unterbrochenen Ausfüh-
von
rungszeit anstelle einer ZuteilungYweniger oder mehr festen Zeitabschnitten für jede Aufgabe innerhalb eines gegebenen Zeitintervalls.
Die in den Fig. IA bis IC, 2A bis 2C und 3A bis. 3C gezeigten Diagramme dienen zur Erläuterung eines Z utei lungs Schemas für die Verarbeitungs einheiten. Bei den Figurenreihen stellt die Bezeichnung A die Struktur der TS-Warteschlange, die Bezeichnung B die Struktur der Unterbrechungs-Anforderungs-Liste (AUL) und die Bezeichnung C die Struktur der vier Zeiger dar, die der Unterbrechungs-Anforderungs-Liste zugeordnet sind. Diese Zeiger sind der Unterbrechungszeiger, der Aus führung s zeiger, der Nichtvoll-Zeiger und der Eingangs zeiger. Die Figuren werden im folgenden anhand von zwei Verarbeitungs systemen mit zehn Datenstationen erläutert, die an diese angeschlossen sind und wobei jeder Datenstation eine minimale nicht unterbrochene Ausführungszeit von t und eine maximale Wartezeit von 4t, d.h. eine Dauer von vier Zeitabschnitten garantiert ist,
909832/120Ü
Die Fig, IA bis IC zeigen die Anfangsbedingungen, in denen die TS-Warteschlange (Fig. IA) leer ist und die Unterbrechungs-Anforderungs-Liste (Fig. IB) auf Null gelöscht wurde. Gleichzeitig wurde der Unterbrechungs-, zeiger (Fig. IC) auf die Anfangsposition der Unterbrechungs-Anforderungs-Liste eingestellt. Da im schlimmsten Falle die Wartezeit 4t beträgt, wird der Eingangs zeiger zu Beginn so eingestellt, daß er den Abschnitt in der Unterbrechungs-Anforderungs-Liste angibt, welcher vier Zeitintervalle von der Anfangsposition entfernt ist, d.h. auf die Position, die durch den -Unterbrechungs zeiger angegeben wird. Der Ausführungs- und Nicht-voll-Zeiger weisen ebenfalls auf denjenigen Abschnitt, auf den der Eingangs zeiger zeigt. Die beiden Verarbeitungseiriheiten erwarten zu dieser Zeit die Probleme für die Ausführung (zur Definition: ein Problem besteht jeweils aus mehreren Aufgaben und möglicherweise jede Aufgabe aus mehreren Teilaufgaben).
Es wird nun angenommen, daß die Datenstationen 0, 1, 2 und 3 Anforderungen in dieser Reihenfolge für die Ausführung der ihnen zugeordneten Aufgaben herausgeben. Die Aufgabe von Datenstation 0 wird in die TS-Warteschlange eingereiht. Wenn dieses eintritt, wird die Zählung im Abschnitt der Unterbrechungs-Anforderungs-Liste um Eins erhöht. Eine Verarbeitungseinheit greift diese Aufgabe auf, und die Zählung wird auch in diesem Falle um Eins erhöht. Daraufhin wird die Zählung im Abschnitt 4 auf Null zurückgestellt, Dasgleiche ergibt sich, wenn die Aufgabe für die Ausführung von der Datenstation 2 in die TS-Warteschlange eingegeben wird. Wenn jedoch die Aufgaben von den Datenstationen 3 und 4 in die TS-Warteschlange eingegeben werden, sind keine Verarbeitungseinheiten mehr verfügbar. An dieser Stoßstelle haben die Schlangen und Zeiger die in den Fig. 2A bis 2C dargestellten Werte.
Wie der Fig. 2 zu entnehmen ist, gibt nun der Nicht-voll-Zeiger die Position 3 in der Unterbrechungs-Anforderungs-Liste an, da die Position 4 nun voll ist. Wenn die Datenstation 8 beispielsweise an dieser Stelle die Aus-
90983271200
führung einer Aufgabe anfordern sollte, dann wird diese Anforderung in die Position 4 der TS-Warteschlange eingegeben. Ferner wird die Position 3 der Unterbrechungs-Anforderungs-Liste um Eins erhöht und der Ausführungszeiger wird so weiter ge s ehaltet, daß er die Position 3 der Unterbrechungs-Anforderungs-Liste anzeigt. Dieses bewirkt, daß die Aufgabe 2 vom Abschnitt 4 in den Abschnitt 3 der/tbterbrechungs-Anforderungs-Liste verschoben wird, so,daß, wenn der Aus füh rungs zeiger Abschnitt 3 angibt, die Aufgabe 2 noch keiner Verarbeitungseinheit zugeteilt wurde. Daher muß ' eine Verarbeitungseinheit unterbrochen, und dieser jene Aufgabe übertragen werden. In der Praxis wird diese Verschiebung durchgeführt, bevor sie wirklich notwendig ist, .um so die maximale Einheitszeit für die Aufgabe zur Verfügung zu haben. Dieses muß jedoch so durchgeführt werden, daß andererseits die maximale Wartezeit für die Aufgabe 4 ebenfalls eingehalten werden kann. Die Verschiebung der Aufgabe 2 vom Abschnitt 4 in den Abschnitt 3 wird jedoch nicht durch eine wirkliche Verschiebung durchgeführt sondern nur durch Veränderung der Zählung im. Abschnitt 3 von Null nach Eins,
Einige Zeit später besitzen die Wartesehlangen und Zeiger die Werte und Konfigurationen, wie sie in den Fig. 3A bis 3C dargestellt sind. In Fig. 3A zeigt die TS-Warteschlange an, daß die Aufgaben 0, 3, 4, 2 und 6 auf ihre Ausführung warten. Da der Abschnitt 4 in der Unterbrechungs-Anforderungs-Liste der laufende Unterbrechungs-Abschnitt und der Abschnitt 0 der laufende Eingabe-Abschnitt (FIg1, 3c) sind, zeigt die 1 in Abschnitt 5 der Unterbrechungs-Anforderungs-Liste an, daß die Aufgabe von Datenstation 0 für die Ausführung im nächsten Zeitintervall einer Verarbeitung β einheit zugeführt werden muß. Während des zweiten Zeitintervalles ist es nicht notwendig, daß Ausführungseinheiten unterbrochen werden, da eich im Abschnitt 5 der Unterbrechungs -Anforderunge -Liste eine 0 befin det. Während des dritten Zeitintervalles müssen beide Verarbeitungeein heiten unterbrochen werden, um die Aufgaben 3 und 4 auszuführen) wenn sie noch xdcht auegeführt wurden· Während des vierten Intervallee müeien
909832/1200
in ähnlicher Weise beide Verarbeitungs einheiten unterbrochen werden, tun die Aufgaben 2 und 6 auszuführen. Wenn jedoch eine Verarbeitungs einheit während des laufenden Zeitintervalles verfügbar wird, erhält sie eine neue Aufgabe zur Ausführung zugeteilt und zwar aus der Position, in der TS-Warteschlange, die durch den TS-Ausgangszeiger angegeben wird. Der Zähler in dem Abschnitt, welcher durch den Aus führung s zeig er angegeben wird, wird um Eins erniedrigt.
Die Fig. 7A bis 7D zeigen nun eine Darstellung eines Ausführungsbeispieles, welches entsprechend den Grundlagen der Erfindung ausgeführt ist* Die Fig. 4, 5 und 6 stellen jeweils Diagramme von Mikroprogramm-Taktsignalen dar, welche benutzt werden, um die Arbeitsweise der in Fig. 7A bis 7D dargestellten Anordnung zu ermöglichen.
Fig. 4 zeigt den Generator für den T-Takt, welcher für eines der Mikroprogramme des Ausführungsbeispieles verwendet wird. Dieser T-Taktgenerator besteht aus einer Reihe monostabiler Multivibratoren, welche jeweils ausgewählte Operationen bewirken, während sie sich in ihrem instabilen Zustand befinden und die im allgemeinen die jeweils nächste monostabile Multivibrator stufe in ihren instabilen Zustand umstoßen. Nach Ablauf der in-stabilen Phase kehren sie von selbst wieder in ihren stabilen Zustand zurück.
Fig. 5 zeigt ein Blockschaltbild des ET-Taktgenerators, welcher das Mikroprogramm für die Steuerung der Aufgabeneingabe in die TS-Warte Schlange steuert. Auch dieser Generator besteht aus einer Reihe monostabiler Multivibratoren, welche die Programmoperationen bewirken, wenn sie sich in ihrem instabilen Zustand befinden. Auch hier stößt einer den anderen in die instabile Lage, nach deren Ablauf sie selbsttätig in den stabilen Zustand zurückkehren.
Auch die Fig. 6 zeigt ein ähnliches Blockdiagramm, wie die Fig. 4 und
909832/120 0
5, wobei allerdings der RT-Taktgenerator die Steuersignale für das Mikroprogramm einer Operationsfolge liefert, in deren Verlauf eine verfügbare Verarbeitungseinheit eine Aufgabe anfordert. Auch hier ist der" Taktgenerator wieder aus einer Reihe monostabiler Multivibrator en aufgebaut, die während ihrer instabilen Phase die Steuersignale liefern, die sich nacheinander in die instabile Phase umstoßen und nach deren Ablauf wieder in die bistabile Phase zurückkehren.
Die in den Fig. 4, 5 und 6 dargestellten Takte müssen gegenseitig verriegelt werden, so daß nur einer zu einer bestimmten Zeit tätig ist. Fig. 8 zeigt das Konzept einer solchen Verriegelung. Da Verriegelungsschaltungen an sich bekannt sind, erübrigt sich hier eine ausführliche Beschreibung.
Ferner besteht die Möglichkeit, daß trotz der gegenseitigen Verriegelung
"l
der drei Taktgeneratoren eine präzise Verbindung zwischen ihnen auftreten kann, und zwar für bestimmte Mikroprogramme, die durch sie gesteuert werden. Für solche Fälle ist es vorteilhaft, in der Schaltung eine Entriegelungsanordnung vorzusehen. Auch solche Entriegelungsschaltungen sind an sich bekannt. Fig. 9 zeigt beispielsweise eine derartige Entriegelungsschaltung, Diese Figur zeigt, daß dem T-Taktgenerator der erste Vorrang im Falle einer Bindung gegeben wird, d.h. es besteht ein gegebener Vorzug über sowohl die Taktgeneratoren für Aufgabenanforderung als auch Aufgabeneingabe und das bedeutet ferner,, daß dem Taktgenerator für die Aufgabenanforderung Vorrang gegeben wird über den Taktgenerator für die Aufgabeneingabe.
Die Fig. 7A bis 7D zeigen das gewählte Ausführungsbeispiel der Erfindung ausführlicher. In Fig. 7B ist der Aufbau der Unterbrechungs-Anforderungs-Liste AUL dargestellt, die aus einer Gruppe von Registern besteht. Die einzelnen Register dieser Unterbrechungs-Anforderungs-Liste können den in Fig. 10 dargestellten Aufbau besitzen.
909832/120U
- 15 -
Wie diese Fig, 10 zeigt, besteht das Register aus einer horizontalen Reihe von Flipflops. Wenn die Leitung vom Decoder aktiviert wird, wird es in Betrieb genommen und verbindet die Eingangs leitung en und Ausgangsleitun- ' gen mit dem speziellen Register, auf das es in der Unterbrechungs-Anforderungs-Liste zeigt.
Die in den Fig. 7A bis 7D dargestellten Zähler werden als Unterbrechungs -, Ausführungs- und Nicht-voll-Zähler bezeichnet und ihr Inhalt durch den Decoder 10 decodiert. Von den Ausgängen des Decoders 10 führt immer nur eine Leitung zu einer bestimmten Zeit ein Signal, Die maximale Anzahl von Registern in AUL entspricht der maximalen Zählkapazität eines Zäh- lere. Wenn daher einer der zuvor erwähnten Zähler von 0 bis 15 zählen kann, dann werden in der AUL 16 Register benötigt, die entsprechend von 0 bis 15 numeriert werden.
Es muß jedoch angeführt werden, daß die Kapazität des Zählers und die entsprechende Anzahl von Registern beliebig groß gewählt werden kann, wenn man voraussetzt, daß diese Zahlen solche sind, bei denen die Zähler nach Erreichen ihrer höchsten Zahl auf Null zurückschalten.
In Fig. 7 ist der Aufbau der TS-Warteschlange (TS ist die Bezeichnung für zeitverzahnte Verarbeitung) dargestellt. Der Aufbau ist dem Aufbau der Unterbrechungs-Anfor der ungs -Liste AUL ähnlich, enthält aber mehr Register als die AUL, Auch die in Fig. 7C dargestellten und mit TS Ausgangs-■ zähler bzw. TS Eingangs zähler bezeichneten Blöcke stellen Zähler dar, die auf ein Register in der TS-Warteschlange zeigen können, d.h. daß sie die untere und obere Grenze der gegenwärtig aktiven Position der TS-Warteschlange anteigen können.
Zum VerstSndnis der Arbeitsweise de« T-Taktg*ner*tore im Zusammenhang mit dem in d«n Flg. ?A bii H> derf©#telit«ß Au»ftÜira*g»b*i«pi«l
■ 909632/1200
<*■
dienen die Fig. 4 und 11, wobei die Fig. 1-1 das Fluß diagramm des T-Takt-Mikroprogrammes darstellt. Bei der Beschreibung des T-Mikroprogrammes, wie auch bei den Beschreibungen der ET- und RT-Mikroprogramme wird zur Erleichterung der Erläuterung der Ausgangsimpuls während der instabilen Phase eines Multivibrators bei allen drei Taktgeneratoren, stufenabhängig mit Tl, T2, T3, usw. bezeichnet.
Wie in Fig. 7 C dargestellt ist, dient der Tl-Impuls zur Rückstellung des UPE-Flipflops (zur Darstellung der Aussage "Nicht voll vor Ausführung"), In Fig. 7D ist ferner gezeigt, wie der Tl-Impuls dazu dient, den VoIl-Flipflop zurückzustellen, d.h. in seine Null-Lage zu steuern. Der Taktimpuls Tl, übertragen über Leitung 12, dient zur Erhöhung des Eingangszählers und erscheint auch auf der Leitung 14, wo er dazu dient, den Unterbrechungszähler zu erhöhen. Der Tl-Impuls dient auch dazu, über Leitung 16 den Verzweigungs-Flipflop in die "1"-Lage zu steuern.
Am Ende des Tl-Impulses wird der monostabile Multivibrator T2 in seinen instabilen Zustand gebracht, wobei der T2-Impuls zu der Torschaltung 18 übertragen wird, um den Inhalt des Eingangs zähle rs zu dem Nicht-voll-Zähler zu übertragen. Die Rückflanke des Impulses T2 schaltet den Multivibrator T3 in seine instabile Lage, woraufhin er den Ausgangsimpuls T3 erzeugt, der zu der Torschaltung 20 übertragen wird, um den Inhalt des Unterbrechungszählers zum Decoder 10 zu übertragen.
Der Taktimpuls T3 wird ferner auch zu der Torschaltung 22 (Fig. 7B) übertragen, um den Inhalt des in AUL ausgewählten Registers zu dem Bestandszähler zu übertragen.
Die Rückflanke des T3-Impulses schaltet nun den Multivibrator T4 in seine instabile Lage» Der dadurch erzeugte T4-Taktimpuls wird zur Torschaltung 24 übertragen, um den Inhalt des Bestandszählers zu einer Seite der Vergleichsschaltung 26 zu übertragen. Der Taktimpuls T4 wird ferner noch
909832/12ÜU
zu der Torschaltung 28 übertragen, um Nullwerte (Nullen) zu der Vergleichsschaltung 26 zu übertragen. Das Aus gangs signal dieser Vergleichsschaltung 26 wird dann mit Hilfe des Taktimpulses T4 überprüft, indem .dieser Impuls etwas verzögert wird und so das Aus gangs signal der Vergleichsschaltung 26 stabilisiert. Wenn das Ausgangs signal dieser Vergleichsschaltung 26 Gleichheit anzeigt, dann wird mit der Rückflanke des Impulses T4 der Multivibrator T5 in seine instabile Lage gestoßen. Wenn dagegen das Ausgangs signal der Vergleichsschaltung 26 zu diesem. Zeitpunkt die Ungleichheit anzeigt, dann wird von der Rückflanke des T4-Impulses der Multivibrator T6 in seine instabile Lage gebracht.
Der Impuls T5 wird zu einer Torschaltung 48 (Fig. 7A) übertragen, um den Inhalt des Ausführungszählers zu dem Decoder 10 zu übertragen. Der T5-Impuls wird auch zu der Torschaltung 50 (Fig. 7b) übertragen, um den Inhalt der Unterbrechungs-Anforderungs-Liste AUL zu einer Seite der Vergleichsschaltung 26 zu übertragen. Der Impuls T5 wird ferner auch zu der Torschaltung 28 (Fig. 7C) übertragen, um lauter Nullen an den anderen Eingang der Vergleichsschaltung 26 anzulegen. Wie Fig. 7A zeigt, wird auch der Impuls T5 über eine Verzögerungs schaltung V zu der Torschaltung 30 übertragen. Wenn das Aus gangs signal der Vergleichsschaltung 26 zu diesem Zeitpunkt eine Nichtgleichheit anzeigt, und außerdem der Verzweigungs-Flipflop (Fig. 7A) sich in seiner "Eins"-Lage befindet, dann hört an dieser Stelle der T-Takt auf zu arbeiten. Wenn jedoch das Ausgangssignal der Vergleichsschaltung 26 zu diesem Zeitpunkt eine Ungleichheit anzeigt oder wenn der Verzweigungs-Flipflop sich in seiner "NuIl"-Lage befindet, dann schaltet die Rückflanke des T5-Impulses den Multivibrator TlO in seine instabile Lage.
Wenn, wie zuvor erwähnt, das Aus gangs signal der Vergleichsschaltung bei der Prüfung durch den T4-Impuls eine Ungleichheit anzeigt, dann wird der Multivibrator T6 in seine instabile Lage gesteuert, wodurch dieser den Impuls T6 erzeugt. Dieser Impuls erscheint auf der Leitung 32 und
909832/1200
wird zu der Unterbrechung einer bestimmten Verarbeitungs einheit verwendet. Der Impuls T6 stellt ebenfalls den Verzweigungs-Flipflop auf Null zurück. Die Rückflanke des Impulses T6 schaltet den Multivibrator T7 in seine instabile Lage, wodurch dieser den Ausgangsimpuls T7 erzeugt, welcher zu einer Torschaltung 34 übertragen wird, um dort die Übertragung des Inhaltes des TS-Ausgangszählers zu einem Decoder 36 zu veranlassen. Ferner wird dieser Impuls T7 auch zu der Torschaltung 38 übertragen, um den Inhalt des Registers, auf welches die TS-Warteschlange zeigt, zu der Verarbeitungs einheit zu übertragen.
Die Rückflanke des Impulses T7 stößt nun den Multivibrator T8 in seine instabile Lage, wodurch, wie üblich, der Impuls T8 erzeugt wird, welcher über die Leitung 40 die Erhöhung des Bestands zähler s bewirkt. Der Impuls T8 wird ferner über die Leitung 42 (Fig. 7C) übertragen, um den Inhalt des TS-Ausgangszählers zu erhöhen. Die Rückflanke des Impulses T8 schaltet den Multivibrator T9 in seine instabile Lage, wodurch dieser seinen Aus gangs impuls T9 erzeugt, der zu der Torschaltung 20 übertragen wird, um den Inhalt des Unterbrechungszählers zum Decoder 10 zu übertragen. Dieser Ausführungsimpuls T9 wird auch zu einer Torschaltung 44 übertragen, um dort die Übertragung des Inhaltes des Bestandszählers zu der AUL zu übertragen, wo er in dasjenige Register eingegeben wird, welches durch den Decoder 10 angegeben wird» Wie bereits erwähnt, wird der Multivibrator TlO, wenn das Ausgangssignal der Vergleichsschaltung 26 Gleichheit anzeigt zwischen den Nullen und dem Inhalt der AUL, die von dem Impuls T5 gesteuert wird, in die instabile Lage gesteuert, wenn die Rückflanke des Impulses T5 vorliegt. Unter diesen Voraussetzungen wird der entstehende TlO-Impuls über die Leitung 46 (Fig„ 7A) übertragen, um den Inhalt des Ausführungszählers um Eins zu erhöhen» Die Rückflanke des Impulses TlO schaltet den Multivibrator TlI in seine instabile Lage und erzeugt somit den Impuls TlI,' welcher zu der Torschaltung 48 übertragen wird, um die Übertragung des Inhaltes des Ausführungszählers zu dem Decoder 10 zu steuern,, Der Impuls TlI wird auch zu der
90983 27 1200
Torschaltung 50 übertragen, tun den Inhalt des in der AUL ausgewählten Registers zu einer Seite der Vergleichsschaltung 26 zu übertragen. Ferner wird dieser Impuls auch zur Torschaltung 28 übertragen, um dort die Übertragung der Nullen an die anderen Eingänge der Vergleichsschaltung 26 zu bewirken. Der Impuls TU wird auch über eine Verzögerungsschaltung V (Fig. 7D) zu einer Torschaltung 52 übertragen, um das Ausgangs signal der Vergleichsschaltung 26 zu prüfen. Wenn in diesem Falle das Aus gang s signal der Vergleichsschaltung 26 Gleichheit anzeigt, dann wird der Multivibrator T12 in seine instabile Lage gesteuert, wenn die Rückflanke des Impulses TIl vorliegt. Wenn jedoch zu dieser Zeit das Ausgangssignal der Vergleichsschaltung 26 eine Ungleichheit anzeigt, dann beendet dieses Signal die Operatio des T-Taktes.
Der Impuls T12, der durch die Umschaltung des Multivibrators T12 in seine instabile Lage entstanden ist, wird über eine Torschaltung 54 übertragen, um den Inhalt des Ausführungszählers zu der einen Eingangsseite der Vergleichsschaltung 26 zu übertragen. Der Impuls T12 wird auch zu der Torschaltung 56 übertragen, um die Durchschaltung des Inhaltes des Eingangszählers auf die andere Eingangsseite der Vergleichsschaltung 26 zu steuern. Gleichzeitig wird auch der Impuls T12 über eine Verzögerungsschaltung V zu einer Torschaltung 58 übertragen, um das Aus gangs signal der Vergleichsschaltung 26 zu prüfen. Wenn, als Ergebnis dieser Prüfung, das Aus gangs signal der Vergleichsschaltung 26 Gleichheit anzeigt, dann endet die Operation des T-Taktes. Wenn aber das Ausgangs signal der Vergleichsschaltung 26 zu diesem Zeitpunkt eine Ungleichheit anzeigt, dann wird mit der Rückflanke des Impulses T12 der Multivibrator TlO in seine instabile Lage gebracht.
Im folgenden wird nun eine Beschreibung des ET-Mikroprogramm.es gegeben, welches die Eingabe einer Aufgabe mit Hilfe des ET-Taktes steuert. Das Flußdiagramm hierzu zeigt die Fig. 12. Der ET-Takt wird jedesmal benutzt, wenn eine neue Aufgabe in die TS-Warteschlange eingegeben wird,
909832/120 0
d. h, der Taktgenerator wird zu einer solchen Zeit durch die Umschaltung , des Multivibrators ETl in Gang gesetzt.
Der Impuls ETl dient zur Prüfung des Voll-Flipflops, wie es in Fig. 7D dargestellt ist. Wenn dieser Flipflop sich in seiner Null-Lage befindet, dann wird mit der Rückflanke des Impulses ETl der Multivibrator ET2 in seine instabile Lage gebracht. Wenn jedoch der Voll-Flipflop sich in seiner Eins-Lage befindet, dann beendet der ET-Taktgenerator seine Tätigkeit und ein Zurückweisungs signal wird zu der betreffenden Verarbeitungseinheit übertragen, um anzuzeigen, daß in der Warteschlange kein Platz mehr vorhanden ist.
Der Impuls ET2 wird auch zu der Torschaltung 60 (Fig. 7C) übertragen, um die Durchschaltung des Inhaltes des TS-Eingangszählers zu dem Decoder 36 zu bewirken. Ferner wird der Impuls ET2 auch zu der Torschaltung 62 übertragen, welche die Durchschaltung der Eingabeleitungen auf die TS-Warteschlange bewirkt. Mit der Rückflanke des Impulses ET2 wird der Multivibrator ET3 des ET-Taktgenerators in seine instabile Lage gebracht und der hierdurch erzeugte Ausgangsimpuls ET3 auf die Leitung 64 (Fig. 7C) übertragen, um den Inhalt des TS-Eingangszählers zu erhöhen. Der Impuls ET3 wird ebenfalls zu der Torschaltung 66 (Fig., 7A) übertragen, um den Inhalt des Nicht-voll-Zählers zu, dem Decoder 10 zu übertragen. Weiterhin wird der Impuls ET3 auch zu der Torschaltung 22 übertragen, um den Inhalt des in der AUL ausgewählten Registers zu dem Bestandszähler zu übertragen«, Die Rückflanke des Impulses ET3 schaltet den Multivibrator ET4 in seine instabile Lage und erzeugt so den Ausgangsimpuls ET4. Dieser Impuls erhöht den Inhalt des Be stands Zählers über die Leitung 68 (Fig. 7D). Mit der Rückflanke des ET4-Impulses wird der Multivibrator ET5 in seine instabile Lage gestoßen und der hierdurch erzeugte Ausgangsinapuls ET5 zu der Torschaltung 66 übertragen, um den Inhalt des Nicht-voll-Z ahle rs zu dem Decoder 10 zu übertragen» Der Impuls ET 5, welcher auch zu der Torschaltung 44 übertragen wird, schaltet den Inhalt
909832/1200
des B es tan ds zähler s durch( auf ein in der AUL ausgewähltes Register. Nach Verzögerung in der Verzögerungsschaltung V wird der Impuls ET5 auch zu der Torschaltung 100 übertragen, um das Ausgangs signal des UPE-Flipflops zu testen. Wenn sich dieser Flipflop in seiner "Eins"-Lage befindet, dann wird mit der Rückflanke des Impulses ET5 der Multivibrator ET6 in seine instabile Lage gesteuert. Wenn jedoch zu diesem Zeitpunkt sich der UPE-Flipflop in seiner "NuIl"-Lage befindet, dann wird mit der Rückflanke des Impulses ET5 der Multivibrator ET7 in seine instabile Lage gestoßen.
Das Ausgangs signal des Multivibrators ET6, d.h. der Impuls ET6, wird zu der Torschaltung 86 (Fig. 7A) übertragen, um den Inhalt des Nichtvoll-Zählers zu dem Ausführungszähler zu übertragen. Der Impuls wird auch zur Rückstellung des UPE-Flipflops zu diesem bistabilen Element übertragen.
Der ET7-Impuls des Multivibrators ET7 wird zu der Torschaltung 66 übertragen, um den Inhalt des Nicht-voll-Zählers zu dem Decoder 10 zu übertragen. Ferner wird er zu der Torschaltung 50 übertragen, um den Inhalt des ausgewählten Registers der AUL zu der einen Eingangs Seite der Vergleichsschaltung 26 zu "übertragen. Der Impuls ET7 dient ferner auch zur Öffnung der Torschaltung 70, um so die Übertragung des Inhaltes des Maximalgrenzenregisters (Fig. 7C) zu der anderen Eingangsseite der Vergleichsschaltung 26 zu steuern. Über eine Verzögerungsschaltung V wird der Impuls ET7 auch zu der Torschaltung 72 übertragen, um das Ausgangssignal der Vergleichsschaltung 26 zu prüfen. Wenn das Ausgangssignal der Vergleichsschaltung 26 Gleichheit anzeigt, dann wird mit der Rückflanke des Impulses ET 7 der Multivibrator ET8 in seinen instabilen Zustand gebracht. Wenn der Ausgang der Vergleichsschaltung 26 zu diesem Zeitpunkt jedoch eine Ungleichheit anzeigt, dann endet die Operation des ET-Taktgenerators.
909832/1200
Der Ausgangsimpuls des Multivibrators ET8, d.h. Impuls ET8, wird zur Torschaltung 102 (Fig. 7A) übertragen, um die Übertragung des Inhaltes des Nicht-voll-Zählers zu der einen Eingangsseite der Vergleichsschaltung 26 zu steuern.; Der Impuls wird ferner auch zu der Torschaltung 54 übertragen, um den Inhalt des Ausführungszählers zu der anderen Eingangsseite der Vergleichsschaltung 26 zu übertragen. Ferner wird der Impuls ET8 auch über eine Verzögerungsschaltung V zu der Torschaltung 76 übertragen, um das Ausgangssignal der Vergleichsschaltung 26 zu testen. Wenn zu dieser Zeit das Ausgangs signal der Vergleichsschaltung 26 die Gleichheit anzeigt, dann wird der Multivibrator ET9 mit der Rückflanke des Impulses ET8 in seine instabile Lage gestoßen. Wenn jedoch das Ausgangs signal der Vergleichsschaltung 26 zu dieser Zeit eine Ungleichheit anzeigt, dann wird der Multivibrator ETlO von der Rückflanke des ET8-Impulses in seine instabile Lage umgeschaltet.
Der Ausgangsimpuls ET9 des Multivibrators ET9 dient zur Einstellung, der "Eins"-Lage des UPE-Flipflops.
Der ET 10-Ausgangsimpuls des Multivibrators ETlO wird über die Leitung 74 zur Verminderung des Nicht-voll-Zählerstandes verwendet. Mit der Rückflanke des Impulses ETlO wird der Multivibrator ETlI in seine instabile Lage gebracht.
Der Ausgangsimpuls ETlI dieses Multivibrators wird zu der Torschaltung 102 übertragen, um den Inhalt des Nicht-voll-Zählers zu der einen Eingangsseite der Vergleichsschaltung 26 zu übertragen. Der Impuls wird ebenfalls noch zu einer Torschaltung 104 (Fig. 7A) übertragen, um den Inhalt des Unterbrechungszählers zu der anderen Seite der Vergleichsschaltung 26 zu übertragen. Der Impuls ETIl wird weiter noch über eine Verzögerungsschaltung V zu der Torschaltung 90 übertragen* um das Ausgangssignal der Vergleichsschaltung 26 zu überprüfen,, Wenn das Ergebnis dieser Überprüfung die Gleichheit anzeigt, wird der Voll-Flip-flop in seine
909832/1200
"Eins"-Lage gesteuert und die Operation des ET-Taktgenerators beendet, Wenn das Aus gangs signal der Vergleichsschaltung 26 zu dieser Zeit eine Ungleichheit anzeigt, wird durch die Rückflanke des Impulses ETIl der Multivibrator ET7 in seine instabile Lage gebracht, wobei er einen Ausgangsimpuls erzeugt, welcher eine Reihe weiterer Operationen steuert.
Wenn eine Verarbeitungs einheit eine Aufgabe vervollständigt hat, dann fordert sie gemäß der Erfindung eine neue Aufgabe an. Eine solche Anforderung führt dazu, daß der RT-Taktgenerator das Mikroprogramm für die Anforderung einer neuen Aufgabe, welches durch ihn gesteuert wird, anlaufen läßt, wie es in Fig. 13 als Flußdiagramm gezeigt ist. Der Operationsbeginn dieses in Fig. 6 gezeigten Taktgenerators beginnt mit der Umschaltung des Multivibrators RTl in seine instabile Lage, wobei dieser den Ausgangsimpuls RTl erzeugt, der nun zu dem Und-Tor 48 übertragen wird, um den Inhalt des Ausführungszählers zu dem Decoder 10 zu übertragen. Der Impuls RTl wird ebenso zu der Torschaltung 50 übertragen, um den Inhalt des ausgewählten AUL-Registers zu der einen Eingangsseite der Vergleichsschaltung 26 zu übertragen. Der Impuls RTl wird weiterhin auch zu der Torschaltung 28 übertragen, um lauter Nullen an die andere Eingangsseite der Vergleichsschaltung 26 zu legen. Über eine Verzögerungschaltung V wird der RTl-Impuls auch zu der Torschaltung 88 übertragen, um das Ausgangs signal der Vergleichsschaltung 26 zu überprüfen. Wenn das Ergebnis dieses Vergleiches die Gleichheit der Eingangsgrößen, die miteinander verglichen werden, anzeigt, dann wird die Operation des RT-Taktgenerators und damit des RT-Mikroprogramm.es beendet. Wenn der Vergleich aber zu dieser Zeit die Ungleichheit dsr Eingangsgrößen angibt, dann wird durch die Rückflanke des Impulses RTl der Multivibrator RT2 in seine instabile Lage umgeschaltet, wobei er den Ausgangsimpuls RT2 erzeugt.
Der Ausgangsimpuls RT2 wird zu der Torschaltung 34 übertragen, um den Inhalt des TS-Äusgangszählers zu dem Decoder 36 zu übertragen. Der Im-
909832/120Ü
puls wird ferner auch zu der Torschaltung 38 übertragen, um dort die Durchschaltung des Inhaltes des in'der TS-Warteschlange ausgewählten Registers zu der Verarbeitungseinheit zu steuern. Die Rückflanke des Impulses RT2 schaltet den Multivibrator RT3 in seine instabile Lage um, wobei er den Aus gangs impuls RT3 erzeugt.
Der Impuls RT3 wird zu der Und-Schaltung 48 geleitet, um den Inhalt des Ausführungszählers zu dem Decoder 10 zu übertragen. Ferner wird der Impuls T3 auch zu der Torschaltung 22 übertragen, um den Inhalt des ausgewählten AUL-Registers zu dem Bestandsregister zu übertragen. Mit Beendigung des Impulses RT3 wird der Multivibrator RT3 in seine insta- ' bile Lage geschaltet, wobei er den Aus gangs impuls RT4 erzeugt.
Der Impuls RT4 wird über die Leitung 40 zu dem Be stands zähler übertragen, wodurch dessen Inhalt vermindert wird. Der Impuls RT4 wird ferner auch über die Leitung 42 zu dem TS-Ausgangszähler übertragen, wodurch dessen Inhalt erhöht wird. Weiter wird der Impuls RT4 auch zum Zwecke der Rückstellung zu dem Voll-Flipflop übertragen. Mit der Rückflanke des Impulses RT4 wird dann der Multivibrator RT5 in seine instabile Lage gebracht, wobei er den Ausgangsimpuls RT5 erzeugt.
Dieser Impuls RT5 wird zu der Torschaltung 48 geleitet, um den Inhalt des Aus füh rungs zähler s zu dem Decoder 10 zu übertragen. Ferner wird er zur Torschaltung 44 gegeben, um den Inhalt des Bestandsregisters zu der AUL (Unterbrechungs-Anforderungs-Liste) zu übertragen. Der Impuls RT5 wird ferner auch zu der Torschaltung 106 (Fig. 7C) übertragen, um die Stellung des UPE-Flipflops zu überprüfen. Wenn sich dieser Flipflop in seiner "Eins"-Lage befindet, dann wird mit der Rückflanke des Impulses RT5 der Multivibrator RT6 in seine instabile Lage umgeschaltet, wobei er den Ausgangsimpuls RT6 erzeugt. Wenn jedoch die Prüfung ergibt, daß sich der UPE-Flip£Lop in seiner "Null"-Lage befindet, dann wird mit der Rückflanke des Impulses rt5 der Multivibrator RT7 in die inst abile Lage
9 0 9 8 3 2/1200
umgeschaltet, wobei der Ausgangsimpuls RT7 erzeugt wird.
Der Taktimpuls RT6 wird zu dem Tor 98 geleitet, um den Inhalt des Ausführungszählers zu dem Nicht-voll-Zähler zu übertragen. Ebenso wird dieser Impuls zu dem UPE-Flipflop übertragen, um diesen in die Null-Lage zurückzustellen.
Der Taktimpuls RT7 wird zu der Torschaltung 48 geleitet, um den Inhalt des Ausführungszählers zu dem Decoder 10 zu übertragen. Ferner wird dieser Impuls zur Torschaltung 50 gegeben, um den Inhalt des in der AUL ausgewählten Registers zu der einen Eingangsseite der Vergleichsschaltung 26 zu übertragen. Weiterhin wird der Taktimpuls RT7 auch zur Torschaltung 28 geleitet, um lauter Nullen an die andere Eingangs Seite der Vergleichsschaltung 26 anzulegen. Über eine Verzögerungsschaltung V wird der Impuls RT7 verzögert zu der Torschaltung 108 übertragen, um das Aus gang s signal der Vergleichsschaltung 26 abzufragen. Wenn der Vergleich anzeigt, daß Gleichheit vorliegt, dann wird mit der Rückflanke des Impulses RT7 der Multivibrator RT8 in seine instabile Lage gebracht, wobei er den Aus gang s impuls RT8 erzeugt. Wenn der Vergleich aber ergibt, daß eine Ungleichheit vorliegt, dann wird die Operation des RT-Taktgenerators beendet, - · . ■
Der Impuls RT8 wird an die Torschaltung 54 angelegt, um den Inhalt des Ausführungs Zählers zu der einen Eingangs Seite der Vergleichsschaltung 26 zu übertragen. Ferner wird der Impuls auch zu der Torschaltung 56 übertragen, um den Inhalt des Eingangs zähle rs an die andere Eingangs seite der Vergleichsschaltung 26 zu legen. Über eine Verzögerungs schaltung V wird der Impuls RT8 verzögert an die Torschaltung 110 angelegt, um das Ausgangssignal dieser Vergleichsschaltung 26 abzufragen. Wenn der Vergleich das Vorliegen der Gleichheit anzeigt, dann wird die Operation des RT-Taktgenerators beendet. Wenn jedoch der Vergleichsvorgang eine Ungleichheit ergibt, dann wird mit der Rückflanke des Impulses RT8 der Multivi-
909832/1200
YO 9-67-082
brator RT9 von seiner stabilen Lage in die instabile Lage umgeschaltet, wobei er den Ausgangs- und Taktimpuls RT9 erzeugt^
Der Impuls RT9 wird zu der Torschaltung 94 geleitet, um so den Inhalt des Ausführungszählers zu der einen Eingangsseite der Vergleichsschaltung 26 zu übertragen. Der Impuls wird ferner auch zu der Torschaltung 102 gegeben, um den Inhalt des Nicht-voll-Zählers an die andere Eingangsseite der Vergleichsschaltung 26 anzulegen. Über eine Verzögerungsschaltung V wird der verzögerte RT9-Impuls zu der Torschaltung 112 übertragen, um das Ergebnis des Vergleiches abzufragen. Wenn zu dieser Zeit der Vergleich ergibt, daß Gleichheit der zu vergleichenden Eingangssignale vorliegt, dann wird mit der Rückflanke des RT9-Impulses der Multivibrator RTlO von seiner stabilen Lage in die instabile Lage umgeschaltet, wobei er das Ausgangs- und Taktsignal RTlO erzeugt. Wenn jedoch der Vergleich negativ verläuft, d.h. eine Ungleichheit der zu vergleichenden Eingangssignale festgestellt wird, dann wird mit der Rückflanke des Impulses RT9 der Multivibrator RTlI von seiner stabilen Lage in die instabile Lage umgeschaltet, wobei er stets den Ausgangs- und Taktimpuls RTIl erzeugt.
Der Impuls RTlO dient zur Einstellung der "Eins"-Lage des UPE-FlipflopSr Mit Beendigung des Impulses RTlO, d.h. mit seiner Rückflanke, wird der Multivibrator RTIl von seiner stabilen Lage in die instabile Lage umgeschaltet, wobei er den Taktimpuls RTIl erzeugt.
Dieser Taktimpuls RTIl wird dann über die Leitung 46 zu dem Ausführungszähler übertragen, um dessen Inhalt zu erhöhen. Die Rückflanke des RTll-Impulses schaltet den monostabilen Multivibrator RT7 von seiner stabilen in die instabile Lage, wobei er den Ausgangsimpuls RT7 erzeugt, welcher eine Folge weiterer Operationen auslöst.
Bei der Betrachtung der Operation des vorstehend beschriebenen Systems
909832/1200
ist festzustellen, daß beim erstmaligen Ingangsetzen des Systems die in Fig. 7D dargestellte TS-Warteschlange leer ist. Zu dieser Zeit ist der Inhalt des TS-Ausgangszählers gleich dem Inhalt des TS-Eingangszählers.
Der Unterbrechungszähler, der in Fig. 7A dargestellt ist, zeigt stets auf ein AUL-Register, welches den Wert O enthält. Eine Ausnahme besteht hier nur während der Operation des T-Taktgenerators.
Der Ausführungs zähler zeigt bei oder nach einer Unterbrechung auf das erste Register in der AUL, dessen Inhalt von 0 verschieden ist. Wenn zu diesem Zeitpunkt in der AUL ein Register mit einem solchen Inhalt nicht vorhanden ist, dann zeigt der Ausführungs zähler auf das gleiche Register in der AUL, auf welches auch der Eingangs zähler zeigt.
Der Nicht-voll-Zähler (NV-Zähler) zeigt auf das letzte Register an dem oder vor dem Register, auf welches der Eingangs zähler zeigt und dessen Inhalt kleiner als der Maximalgrenzenwert ist.
Der Eingangszeiger zeigt stets auf den laufenden Zeitabschnitt. Der UPE-Flipflop stellt, wie bereits erwähnt, die Anzeige dafür dar, ob der Nichtvoll-Zustand der Warteschlange einer Ausführung vorausgeht. Es ist zu erwähnen, daß in Fig. 12, die das Flußdiagramm iir das Mikroprogramm darstellt, welches von dem ET-Takt gesteuert wird, der Inhalt des Nichtvoll-Zählers mindestens einmal vermindert wird. Wenn der Inhalt des Nicht-voll-Zählers einmal gleich dem Inhalt des Ausführungszählers sein sollte, bevor eine Verminderung stattfand, dann wird nach der Verminderung des NV-Zählers sein Inhalt geringer sein als der Inhalt des Ausführungszählers. Für den Betrieb ist es notwendig, diese zuletzt genannte Situation zu überwachen, so daß beim nächsten ET-Taktzyklus der Inhalt des Ausführungs zähler s gleich dem Inhalt des NV-Zählers gemacht wird.
Während eines RT-Taktzyklus wird auch der UPE-Flipflop für die Opera-
909832/120U
tion benötigt. In diesem. Zusammenhang ist zu Fig, 13 festzustellen, daß der Ausführungszähler mindestens "einmal erhöht wird. Wenn, bevor der Ausführungszähler auf diese Weise erhöht wird, es feststeht, daß der Inhalt des Ausführungszählers gleich dem Inhalt des NV-Zählers ist, dann wird der UPE-Flipflop in seine "Eins"-Lage eingestellt. Dieses Flipflop wird deshalb in den "Eins"-Zustand eingestellt, damit im folgenden RT-Taktzyklus der Inhlt des NV-Zählers gleich dem Inhalt des Ausführungszählers gemacht werden kann,
Fig. 12 zeigt, daß keine 'Aufgaben in denjenigen AUL-Abschnitt eingegeben werden, auf den der Unterbrechungszähler zeigt. ·
Nachdem der Inhalt des NV-Zählers vermindert wurde, wird eine Prüfung durchgeführt, um sicherzustellen, ob der Inhalt des NV-Zählers gleich dem Inhalt des Unterbrechungs zähle rs ist Wenn die betreffenden Inhalte einander gleich sind, wird der Voll-Flipflop in seine "Eins"-Lage eingestellt, wodurch verhindert wird, daß weitere Aufgaben in die AUL eingegeben werden,
Fig. 13 zeigt, daß zu Beginn des RT-Taktzyklus, wenn der Inhalt des AUL-Registers, auf das der Ausführungszähler zeigt, Null ist, für die Verarbeitungseinheit keine Aufgabe verfügbar ist. In einem solchen Falle ist nur dasjenige AUL-Register in der Lage, diese Bedingung zu erfüllen, auf welches der Eingangs zähler zeigt. Wenn eine Aufgabe einer Verarbeitungseinheit übergeben wird, dann wird dasjenige AUL-Registerj auf welches der Ausführungs zähler zeigt, um Eins in seinem Inhalt vermindert. Wenn der Inhalt dieses zuletzt genannten Registers Null wird, dann wird im allgemeinen der Inhalt des Ausführungszählers vermehrt. Wenn jedoch dieses Register zufällig auch dasjenige Register ist, auf welches der Eingangszähler zeigt, dann ist es unmöglich, den Inhalt des Ausführungs zählers weiter zu erhöhen. Unter diesen Umständen ist der Inhalt des Ausführungs zählers gleich dem Inhalt des Eingangs zählers, bis ein ET-Zyklus
909832/120 0
pijI™!™1:";!1:; Ϊ!Ί!'ΙΓ P1Sj1Ii1::11" ι?1".1»!1!,;;!:!!1!:11;1:"1;, ■'"T" ■
auftritt.
Die Fig. 14Α und 14B zeigen die Folge der Zyklen. Bei diesen Figuren wird angenommen, daß zu Beginn der Unterbrechungszähler auf das AUL-.Register mit der Nummer 0 zeigt, daß ferner der Ausführungszähler auf das AUli-Register Nr, 4, der Nicht-voll-Zähler auf das AUL-Register Nr. 4 und der Eingangs zähler ebenfalls auf dieses Register zeigen. Eine solche Bedingung kennzeichnet, daß jeder Aufgabe mindestens ein Zeitabschnitt für die Ausführung während der nächsten vier Zeitabschnitte garantiert ist. · Eine bestimmte Aufgabe kann auch mehrere Zeitabschnitte für die Ausführung erhalten, wenn sie diese benötigt, wobei sie dann auch ohne Unterbrechung ausgeführt werden kann. *
Für die ersten 21 Zyklus schritte, die in den Fig. 14A und 14B dargestellt sind, wird angenommen, daß maximal zwei Verarbeitungseinheiten der TS-Warteschlange zugeteilt sind. Von dem 22. Zyklusschritt bis zu dem 37, wird angenommen, daß nur eine Verarbeitungseinheit der TS-Warteschlange zugeteilt ist.
Bei der erneuten Betrachtung der vorangegangenen Beschreibung muß festgestellt werden, daß der Zweck der Erfindung darin besteht, einem Benutzer eines Systems mit zeitverzahnter Verarbeitung die Zuteilung eines Zeitabschnittes für die Aufgabenausführung während einer Wartezeit, die seiner Anforderung direkt folgt, zu garantieren. Hierbei beträgt die Wartezeit einige Zeitabschnitte, die von einer Überwachungsperson, einer Bedienungsperson oder dem Konstrukteur des Systems vorgegeben sind, während gleichzeitig die Zuteilung dieses Zeitabschnittes so lang als möglich zurückgestellt wird, damit laufend ausgeführte Aufgaben so lang als möglich ohne Unterbrechung weiter verarbeitet werden können. Unterbrechungen sind, wie bereits erwähnt, unerwünscht, da sie Datenbewegungen von und zu dem Speicher mit sich bringen. Um die Aufgabe der Erfindung zu erfüllen, muss die Anzahl der Aufgaben, deren Ausführungen an jedem
909832/1200
Zeitabschnitt beginnen müssen, überwacht werden mit der Unterbrechung anderer Aufgaben, wenn dieses nötig ist. Die maximale Anzahl von Aufgaben, deren Ausführungen in einem beliebigen Zeitabschnitt begonnen werden können, ist gleich der Anzahl von Verarbeitungs einheiten, die laufend dem System zugeteilt werden können.
Die AUL ist eine Gruppe von Registern, die zyklisch eingesetzt werden. Die AUL (Anforderung der Unterbrechungsliste) kann als ein unendlicher Satz von Registern betrachtet werden, weil ein Register für jeden Zeitabschnitt vorgesehen ist, wobei der zu betrachtende Zeitraum jetzt beginnt und theoretisch unendlich lange währt. Der Eingangs zeiger weist auf den laufenden Zeitabschnitt hin, d.h. auf das Register, dem der laufende Zeitabschnitt zugeteilt ist. Der Unterbrechungszähler zeigt auf einen Zeitabschnitt, welcher sich einen Wartezeitabschnitt hinter dem, durch den Eingangszeiger angegebenen Zeitabschnitt befindet» Jedesmal, wenn ein Zeitabschnitt endet, werden sowohl der Unterbrechungs- als auch der Eingangszeiger weitergeschaltet, um auf das nächste Register zu zeigen. Daher zeigt der Unterbrechungszähler, v/snn der Eingangszähler auf ein Register zu einer T -timmten Zeit zeigt, auf dieses Register, jedoch erst einen Wartezeitabschnitt später. Wenn das System- nicht voll geladen ist, wird, wenn eine Anforderung für die Ausführung einer Aufgabe (ET) eintrifft, die Aufgabe in die TS-Warteschlange eingegeben, wobei die Unterbrechungs-Anforderungs-Liste verändert wird, um die Notwendigkeit anzuzeigen, mit der Ausführung der Aufgabe innerhalb eines Wartezeitabschnittes zu beginnen. Wenn der Abschnitt, auf den der Eingangs zähler weist, einen Wert enthält, der kleiner is^als der Maximalgrenzenwert, dann ist es nur notwendig, eine Eins zu dem Inhalt dieses Abschnittes zu addieren, wobei eine derartige Inkrementierung auf die Tatsache zurückgeht, daß die Ausführung einer neuen Aufgabe zu der Zeit begonnen werden muß, zu der der Unterbrechungszähler den zuletzt genannten Abschnitt erreicht. Wenn jedoch dieser Abschnitt den Maximalgrenzenwert enthält, wird die
909832/1200
Ausführung der neuen Aufgabe noch zu dieser Zeit begonnen. Die Ausführung einer etwas früheren Aufgabe muß jedoch früher begonnen werden, um die Anzahl der Ausführungsanfänge je Zeitabschnitt gleich oder kleiner zu halten als die Zahl der Verarbeitungseinheiten. Deshalb wird der Inhalt des allerjüngsten Zeitabschnittes, welcher einen Wert enthält, der kleiner als der Maximalgrenzenwert ist, um Eins erhöht. Diese Maßnahme ist einer solchen äquivalent, welche die Neufestsetzung einer Aufgabe in jedem der Zeitabschnitte vornimmt, beginnend beim Eingangsabschnitt bis zu dem nachfolgenden Abscunitt, d.h. auf der Eingangs Seite wird die entsprechende Ausführung jeder dieser Aufgaben nun so festgesetzt, als ob sie einen Zeitabschnitt später, als zuvor beginnen. Es muß hierzu festgestellt werden, daß die Ausführungen dieser Aufgaben nicht dann begonnen werden, wenn sie einen Beginn erfordern, sondern früher, um dann später genügend Verarbeitungseinheiten zur Verfügung zu stellen, damit auch andere Aufgaben ausgeführt werden können. Da es ständig erwünscht ist, den allerjüngsten Abschnitt zu füllen, welcher noch nicht vollständig gefüllt ist, wird ein Nicht-voll-Zeiger vorgesehen, um auf denjenigen allerjüngsten Zeitabschnitt zu weisen, wobei der Nicht-voll-Zeiger so bewegt wird, wie sich der Abschnitt auffüllt oder leert.
Neue Aufgaben werden in der Reihenfolge in die TS-Warteschlange eingegeben, in der sie auch empfangen werden. Die Summe der Werte in den Registern der Unterbrechungs-Anforderungs-Liste AUL ist gleich der Anzahl der Aufgaben in der TS-Warteschlange. Darüberhinaus beziehen sich die Zahlen in den Registern der AUL auf die Eingänge in die Warteschlange in chronologischer Reihenfolge, so daß, wenn der früheste Zeitabschnitt, der nicht den Wert Null enthält, den Zählwert η enthält. In diesem Falle müssen die ersten η Aufgaben in der TS-War te schlange während des Zeitabschnittes begonnen werden, welcher dem Abschnitt entspricht, d.h. zu der Zeit, wenn der Unterbrechungszeiger auf den Abschnitt hinweist. Ganz ähnlich müssen die nächsten m Aufgaben in der Warteschlange zu einer Zeit begonnen werden, die diesem Abschnitt entspricht, wenn der
909832/1200
nächste Abschnitt den Zahlenwert m enthält.
Um ein Maximum an Rückstellungen von Unterbrechungen zu erzielen, ist es wünschenswert, wenn eine Verarbeitungseinheit verfügbar wird, diejenige Aufgabe für die Ausführung vorzusehen, welche die früheste angeforderte Anfangszeit für die Ausführung aufweist. Diese letztere Aufgabe wird sich dinn am Kopfe der TS-Warteschlange befinden und sie wird in demjenigen ältesten Zeitabschnitt gezählt werden, der nicht gerade einen Null-Wert enthält. Diese notwendige Aktion dient dann der Verarbeitungs einheit dazu, die Aufgabe am Kopf der Wart eschlange aufzunehmen. Sie dient auch dem frühesten Zeitabschnitt bei der Verminderung seines Inhaltes um Eins. Der früheste Zeitabschnitt ist hierbei derjenige, welcher am dichtesten an demjenigen Zeitabschnitt ist? auf den der Unterbrechungszähler zeigt. Weil es ferner stets wünschenswert ist, den ältesten Zeitabschnitt ausfindig zu machen, welcher nicht den Wert Null enthält, wird der Ausführungszeiger vorgesehen, um auf diesen ältesten Zeitabschnitt hinzuweisen.
Zur Manipulation der Nicht-voll- und Ausführungs- Zeiger ist es dienlich, zu überwachen, ob der Nicht-voll-Zeiger Werte anzeigt, die vor dem Ausführungs zeiger liegen, d.h. ob der Nicht-voll-Zeiger auf einen älteren Abschnitt zeigt oder nicht. Um eine derartige Überwachung zu erzielen, wird der UPE-Flipflop verwendet. Auf diese Weise wird die Zeitkette am Laufen gehalten, wenn eine Einheit zur Durchführung von Aufgaben verfügbar ist. Wenn der UPE-Flipflop sich in seinem Eins-Zustand befindet, dann werden alle Abschnitte von dem Eingang bis zur Ausführung gefüllt. Daher fordert die Verarbeitungseinheit, wenn sie sich in einer solchen Lage befindet, eine Aufgabe an (RT). Ferner wird der Nicht-voll-Zeiger so zurückgestellt, daß er auf einen Zeitabschnitt zeigt, auf den der Ausführungszeiger zeigt, da der genannte Abschnitt nicht länger voll sein wird. Ferner wird, wenn eine Aufgabe eingegeben wird (ET) der Ausführungs zeiger
909832/120U
auf einen Abschnitt zurückgestellt, auf den der Nicht-voll-Zeiger zeigt, da der zuletzt genannte Abschnitt nun nicht mehr leer sein wird.
Die Anzahl von Verarbeitungseinheiten, die an das Verarbeitungssystem mit Zeitverzahnung angeschlossen sind, kann jederzeit geändert werden. Die Überwachungsperson verhindert dann die Eingabe von Aufgaben in die TS-Warteschlange solange, bis die Unterbrechungs-Anforderungs-Liste gelöscht ist, sie verändert die Zahl im Register für den Maximalgrenz en wert und gibt dann alle Operationen für die normale "Verarbeitung frei. Mit Hilfe einer kleinen Veränderung der Systemstruktur der Erfindung kann das System auch dazu benützt werden, die Anzahl von Verarbeitungseinheiten, die an das System angeschlossen sind, von Zeit zu Zeit zu verändern (fliegender Betrieb). Ferner können die Ergebnisse des Vergleiches mit der Maximalgrenze auf Gleich oder Größer als und Kleiner als, Etwa Gleich und Nicht Gleich erweitert werden. Weiterhin könnte die größere von zwei Zahlen von Verarbeitungseinheiten, die an das System angeschlossen sind, während der Wartezeit, die der Änderung der Maximalgrenze folgt, .aufbewahrt werden. Daher könnte mindestens die angenommene Anzahl von Verarbeitungseinheiten während der Übergangsperiode verfügbar gehalten werden. Darüberhinaus wurden niemals zuwenig Verarbeitungseinheiten zugänglich sein, um.die mögliche, angeforderte Zahl von Unterbrechungen zu Beginn eines Zeitabschnittes zu behandeln. Ferner könnte auch eine Sperrung der Eingabe von Aufgaben in die Warteschlange verhindert werden.
Die folgende Tabelle zeigt nun die Beziehung der Operationen, die von dem T-Takt, dargestellt in Fig. 4, gesteuert werden, zu den Operationen, die in dem Flußdiagramm in Fig. 11 dargestellt sind.
909832/120Ü
Monostabiler Einstellbedin-Multivibrator gungen durch: Nr.
Bei Einstellung ausgeführte Funktion:
Durch die Rückflanke eines Taktimpulses ausgelöste Funktionen:
Zeitimpuls
Rückflanke von Tl
Rückflanke von T2
Rückflanke von T9
Rückflanke von T3
Rückstellung des UPE-Flipflops (Fig. 7C)
Rückstellung des Voll-Flipflops (Fig. 7D)
Erhöhung des Unterbrechung s zähler s (Fig. 7A) Erhöhung des Eingangs Zählers (Fig. 7B)
Einstellen des Verzweigungs -Flipflops (Fig. 7A)
Übertragung des Inhaltes des Eingangs-Zählers (Fig. 7B) zum NV-Zähler (Fig. 7A)
Übertragung des Inhaltes des Unterbrechungszählers (Fig. 7A) zum NV-Zähler Übertragung des Inhaltes der AUL (Fig. 7B) zum Bestands zähler (Fig. 7D)
Übertragung des Inhaltes des Bestandszählers (Fig. 7D) zur Vergleichsschaltung 26 (Fig0 7C) Anlegen von Nullen an V e r gl ei ch s s chaltung 26 Prüfen des Ausgangssignals der Vergleichsschaltung 26
Einschalten von T2
Einschalten von T3
Einschalten von T4
Bei Anzeige = Einschalte, von T5. Bei Anzeige £ Einschalten von T6„
3 2/1200
Mono stabiler Einstellbedin-Miiltivibrator gung durch: Bei Einstellung ausgeführte Funktion:
Durch die Rückflanke eines Taktimpulses ausgelöste Funktionen;
Rückflanke von T4
Rückflanke von T4
Rückflanke von T6
Rückflanke von T7
übertragung des Inhaltes des Ausführungszählers (Fig. 7A) zum Decoder 10 (Fig. 7B) Übertragung des Inhaltes von AUL zur
V er glei ch s s chaltung 26 (Fig. 7C)
Anlegen von Nullen an
V er glei ch s s chaltung 26
Prüfung des Ausgangssignales des Verzweigung s-Flipflops über VZ (Fig. 7A).
Prüfen des Aus gangssignales der Vergleichsschaltung 26.
Unterbrechung der entsprechenden Verarbeitungs einh eit»
Rückstellung des Verzweigung s - Flip flop s.
Übertragung des Inhaltes des TS-Ausgangszählers (Fig. 7C) zum Decoder 36 (Fig. 7D).
Übertragung der TS-Warteschlange (Fig. 7D) zur entsprechenden Verarbei tungs einheit
Verminderung des Bestandszählers (Fig. 7D). Erhöhung des TS-Ausgangszählers (Fig. 7C).
Bei Anzeige φ durch 26 und wem Verzweigungs-Flipflop im 11 Eins"-Zustand ist, erfolgt Operationsende des T-Taktgenerator s an dieser Stelle. Bei Anzeige = durch 26 oder wenn der Verzwei gung s -Flipflop in "Null"-Lage ist, erfolgt Einschalten von TlO
Einschalten von T7.
Einschalten von T8.
Einschalten von T9.
909832/12Uu
Monostabiler Einstellbedin-Multivibrator gungen durch: Nr,
Bei Einstellung ausgeführte Funktion:
Durch die Rückflanke eines Taktimpuls es ausgelöste Funktionen;
Rückflanke von T8
TlO
TIl
Rückflanke von T5
Rückflanke von T12
Rückflanke von TlO
T12
Rückflanke von TIl.
Übertragung des Inhaltes des Unterbrechungszählers (Fig. 7A) zum Decoder 10.
Übertragung des Inhaltes des B% tan ds Zählers (Fig. 7D) zur AUL.
Erhöhung des Ausführung szählers (Fig. 7A)
Einschalten von T3.
Einschalten von TH,
Übertragung des Inhal- Bei Anzeige =, Eintes des Ausführungszäh- schalten von TlZ. B*ei lers (Fig. 7A) zum De- Anzeige von ^, Opera· coder 10. tionsende des T-Takt-
Übertragung von AUL generators an dieser zur Vergleichsschaltung Stelle. 26 (Fig. 7C).
Anlegen von Nullen an die Vergleichsschaltung 26.
Prüfen des Aus gang ssignales der Vergleichsschaltung 26 über VZ.
Übertragung des Inhaltes des Ausführungszählers (Fig. 7A) zur V e r gl ei ch s s chaltung 26 (Fig. 7C).
Übertragung des Inhaltes des Eingangs zählers (Fig, 7B) zur Vergl eichs schaltung 26. Prüfen des Ausgangssignales der Vergleichsschaltung 26 über VZ.
Bei Anzeige =, Operationsende des T-Takt generators an dieser Stelle.
Bei Anzeige φ, Einschalten von TlO,
909832/120U
Die folgende Tabelle zeigt die Beziehungen der von dem ET-Taktgenerator, dargestellt in Fig, 5, gesteuerten Operationen und den in Fig. 12 dargestellten Operationen.
Monostabiler Einstellbedin-Multivibrator gungen durch:
Bei Einstellung ausgeführte Funktion:
Durch die Rückflanke eines Taktimpuls es ausgelöste Funktionen
Eine neue Auf- Zustandsprüfung des gäbe in der TS- V oll-Flipflops (Fig. Warteschlange 7D).
Rückflanke von ETl.
Rückflanke von ET2.
Rückflanke von ET Wenn Voll-Flipflop im "Null"-Zustand, dann Einschalten von ET2. Bei "Eins"-Zustand des Voll-Flipflops, übertragung eines Zurückweisungssignales an die Verarbeitungseinheit und Operationsende des ET-Taktgenerator s.
Übertragung des Inhal- Einschalten von ET3, tes des TS-Eingangs Zählers (Fig. 7C) zum
Decoder 36.
Übertragung der auf
den Eingabeleitungen
vorliegenden Information zu der TS-Warteschlange (Fig. 7D).
Erhöhung des TS-Ein- Einschalten von ET4. gang s ζ ahle rs (Fig.
7C).
Übertragung des Inhaltes des NV-Zählers (Fig. 7A) zum Decoder
Übertragung des Inhaltes der AUL zum Bestands zähler (Fig. 7D). Erhöhung des Bestands- Einschalten von ET5. zäh|ers.
909832/120Ü
Monostabiler Einstellbedin-Multivibrator gungen durch: Nr.
Bei Einstellung ausgeführte Funktion:
Durch die Rückflanke eines Taktimpulses ausgelöste Funktionen:
ET 5
Rückflanke von ET4
ET6
Rückflanke von ET5
ET7
Rückflanke von ET5.
Rückflanke von ET 6.
Rückflanke von ETIl.
ET 8
Rückflanke von ET 7.
Wenn UPE-Flipflop im "Eins^·Zustand, dann Einschalten von ET6. Wenn UPE-Flipflop im "Null"-Zustand; dann Einschalten von ET7.
Einschalten von ET7.
Übertragung des Inhaltes des NV-Zählers zum Decoder 10.
Übertragung des Inhaltes des Bestandszählers zur AUL.
ZustandsprÜfung des UPE-Flipflops (Fig. 7C).
Übertragung des Inhaltes des NV-Zählers (Fig. 7A) zum Ausführungszähler (Fig. TA), Rückstellung des UPE-Flipflops (Fig. 7C).
Übertragung des Inhaltes^NV-Zählers (Fig. 7A) zum Ausführungszähler.
Übertragung des Inhaltes der AUL zur Vergleichsschaltung 26. Übertragung des Inhaltes des Maximalgrenze-Registers (Fig. 7C) zur Vergleichsschaltung 26. Prüfung des Ausgangssignales der Vergleichsschaltung 26 über VZ.
Übertragung des Inhal- Bei Anzeige =, Einschältes des NV-Zählers zur ten von ET9. Vergleichsschaltung 26 (Fig. 7C).
Übertragung des Inhaltes des Ausführungszählers zur Vergleichsschaltung 26.
Prüfung des Ausgangssignales der Vergleichsschaltung 26 über VZ.
Bei Anzeige =, Einschalten von ET8. Bei Anzeige von j^,Operationsende des ET-Taktgenerators an dieser Stelle.
Bei Anzeige ji ten von ETlO.
Einedial-
909832/120U
Mono stabil er Einstellbedin-Multivibrator gungen durch: Nr.
Bei Einstellung ausgeführte Funktion:
Durch die Rückflanke eines Taktimpulses ausgelöste Funktionen:
ET9 ETlO
ETIl
Rückflanke von ET8.
Rückflanke von ET8.
Rückflanke von ET9.
Rückflanke von ETlO.
Einstellen des UPE-Flipflops (Fig. 7C).
Verminderung desNV-Zählers.
Übertragwifc des Inhaltes des NV-Zählers zur Vergleichsschaltung 26. übertragung des Inhaltes des Unterbrechungszählers zur Vergleichsschaltung 26. Prüfen des Ausgangs signale β der Vergleichsschaltung 26 über VZ.
Einschalten von ETlO. Einschalten von ETlI.
Bei Anzeige = und "Eins"-Zustand des Voll-Flipflops (Fig. 7D) erfolgt Operationsende des ET-TaI*. generators an dieser Stelle.
Bei Anzeige ^1 Einschalten von ET
909832/120U
Die folgende Tabelle zeigt die Beziehungen der durch den RT-Takt, dargestellt in Fig. 6, gesteuerten Operationen und der in Fig. 13 gezeigten Operationen.
Mono stabiler Einstellbedin-Multivibrator gungen durch:
Bei Einstellung ausgeführte Funktion:
Durch die Rückflanke eines Taktimpulses ausgelöste Funktionen:
RTl
Anforderung einer neuen , Aufgabe durch eine Verarbeitung s einheit.
RT2
Rückflanke von RTl.
RT3
Rückflanke von RT2.
RT4
Rückflanke von RT3.
Übertragung des Inhaltes des Ausführungszählers zu dem Decoder 10.
Übertragung des Inhaltes der AUL (Fig. 7B) zur Vergleichsschaltung 26 (Fig. 7C). Prüfung des Ausgangssignales der Vergleichsschaltung 26 über VZ.
Übertragung des Inhaltes des TS-Ausgangszählers (Fig. 7C) zum Decoder 36 (Fig. 7D). übertragung der TS-Warteschlange (Fig. 7D) zur V er arbeitung seinheit.
Übertragung des Inhaltes des Ausführungszählers zum Decoder 10 (Fig. 7B).
Übertragung der AUL zum Bestands zähler (Fig. 7D).
Verminderung des Bestandszählers (Fig. 7D). Erhöhung des TS-Ausgangszählers (Fig. 7C). Rückstellung des VoIl-Flipflops.
Bei Anzeige = erfolgt Übertragung des Signales "Keine Aufgabe verfügbar" zu der Verarbeitungseinheit. Ferner Operationsende des RT-Taktgenerators an dieser Stelle, Bei Anzeige φ. Einschalten von RT2.
Einschalten von RT3.
Einschalten von RT4.
Einschalten von RT5.
909832/120U
Monostabiler Einstellbedin-Multivibrator gungen durch: Nr.
Bei Einstellung ausgeführte Funktion:
Durch die Rückflanke eines Taktimpulses ausgelöste Funktionen:
RT 5
Rückflanke von RT4.
RT6
Rückflanke von RT 5.
RT7
Rückflanke von RT 5.
Rückflanke von RT6.
Rückflanke von RTH.
RT8
Rückflanke von RT 7.
Übertragung des Inhal- Bei "Eins"-Zustand tes des^Ausführungs- des UPE-Flipflops erzürn Decoder 10 (Fig. 7B)folgt Einschalten von Übertragung des Inhal- RT6. tes des Bestandszählers (Fig. 7D) zur AUL. Zustandsprüfung des UPE-Flipflops.
Bei "Null"-Zustand des UPE-Flipflops erfolgt Einschalten von RT
Bei Anzeige = Einschalten von RT8, Bei Anzeige φ erfolgt Operationsende des RT-Taktgenerators an dieser Stelle.
Übertragung des Inhal- Einschalten von RT7. tes des Ausführungszählers zum NV-Zähler.
Rückstellung des UPE-Flipflops.
Übertragung des Inhaltes des Ausführungszählers zum Decoder Übertragung des Inhaltes der AUL zur Vergleichsschaltung 26. Anlegen von Nullen an die Vergleichsschaltung 26.
Prüfen des Ausgangseignales der Vergleichsschaltung 26 über VZ.
Übertragung des Inhal- Bei Anzeige s erfolgt tee des Ausführungszäh- Operationsende des lers zu der Vergleichs- RT-Taktgeneratore schaltung 26.
Übertragung des Inhaltes des^Cingangszählers (Fig. 7B) zur Vergleichsschaltung 26, Prüfen dee Ausgangseignales der Vergleichsschaltung 26 über VZ,
an dieser Stelle. Bei Anzeige ^ Einschalten von RT 9,
909832/120U
Monostabiler Einstellbedin-Multivibrator gungen durch: Nr. Bei Einstellung ausgeführte Funktionen:
Durch die Rückflanke eines Taktimpulses ausgelöste Funktionen:
RT9
Rückflanke von RT8.
RTlO Rückflanke von
RT9.
RTIl Rückflanke von
RT 9
Rückflanke von
RT 6
Übertragung des Inhal- Bei Anzeige = Einschal tes des Ausführungs- ten von RTlO. Zählers zur Vergleichs- Bei Anzeige ■£ Einschalschaltung 26. ten von RTH.
Übertragung des Inhaltes des NV-Zählers zur Vergleichsschaltung Prüfen des Ausgangs signales der Vergleichsschaltung 26 über VZ.
Einstellen des UPE-Flip-Einsehalten von RTH. flops (Fig. 7C).
Rückflanke von RT 6 Einstellen des UPE-Flipflops (Fig. 7C). Erhöhung des Ausführungszählers.
Einschalten von RT7.
909832/12ÜU

Claims (4)

  1. PATENTANSPRÜCHE
    1» Einrichtung zur zeitverzahnten Datenverarbeitung für ein System mit mehreren Programmquellen und Verarbeitungseinheiten und mit einem zwischen diesen eingeschalteten Wartesclilangenspeicher zur Zwischenspeicherung von Aufgaben, gegebenenfalls verschiedener Probleme, dadurch gekennzeichnet, daß die Ein- und Aus speicherung aus dem Warteschlangenspeicher (TS-Warteschlange; Fig. 7D) in chronologischer Reihenfolge derart vorgenommen wird, daß die Eingabeadresse durch den Inhalt des TS-Eingangszählers (Fig. 7C) und die Ausgabeadresse durch den Inhalt des TS-Ausgangszählers (Fig. 7C) bestimmt ist, daß ferner ein weiterer Speicher (AUL; Fig. 7B) vorgesehen ist, der eine Liste von in chronologischer Reihenfolge angeordneten Zeitabschnitten speichert, daß ferner diesem Speicher zugeordnet sind ein erster Adressenindikator (Eingangszähler; Fig. 7B) zur Identifizierung des ersten und laufenden Zeitabschnittes, wobei diesem Zeitabschnitt Aufgaben zugeordnet sind, die während seiner Dauer dem System eingegeben wurden, ein zweiter Adressenindikator (Unterbrechungszähler; Fig. 7A) zur Identifizierung eines Zeitabschnittes, welcher um eine wählbare Anzahl von Zeitabschnitten vor dem ersten liegt, ein dritter Adressenindikator (Ausführungszähler; Fig. 7A) zur Identifizierung des jeweils ältesten Zeitabschnittes der Liste, welcher die nächste zur Ausführung bereitstehenden Aufgaben enthält und schließlich
    ein vierter Adressenindikator (Nicht-voll-Zähler; Fig. 7A) zur Identifizierung eines Zeitabschnittes, welcher in der Liste zwischen dem ersten und zweiten Zeitabschnitt liegt und welcher einer solchen Anzahl von Aufgaben zugeordnet ist, die kleiner als die Zahl der an das System angeschlossenen Verarbeitungseinheiten ist,
    909832/120 0
    wobei die Ausgangs signale der Indikatoren die Eingangs- und Ausgangsoperationen des Speichers (TS-Warteschlange) und damit die Ausführung der Aufgaben steuern, die weitgehend unterbrechungsfrei innerhalb einer Maximalzeit durchgeführt wird, die durch die wählbare Anzahl von Zeitabschnitten bestimmt ist.
  2. 2. Einrichtung zur zeitverzahnten Datenverarbeitung nach Anspruch 1, dadurch gekennzeichnet, daß der Inhalt des TS-Eingangszählers (Fig. 7C) bei jeder neuen eingegebenen Aufgabe durch einen durch sie ausgelösten Zählimpuls um Eins erhöht wird und daß der Inhalt des TS-Aus gang s zähle rs (Fig. 7C) bei jeder entnommenen Aufgabe durch einen durch diese ausgelösten Zählimpuls um Eins erhöht wird.
  3. 3. Einrichtung zur zeitverzahnten Datenverarbeitung nach den Ansprüchen 1 und 2, dadurch gekennzeichnet, daß dem ersten Adressenindikator (Eingangszähler; Fig. 7B) eine Anordnung, bestehend aus einer Vergleichsschaltung (26; Fig. 7C), einem Maximalgrenzenregister (Fig. 7C) und einem Voll-Flipflop (Fig, 7D), zugeordnet ist, welche die Eingabe weiterer Aufgaben, die für den zweiten Zeitabschnitt bestimmt sind," bewirkt, wenn die Zahl der Aufgaben im zweiten Zeitabschnitt gleich der Anzahl von an das System angeschlossenen Verarbeitungseinheiten ist, wobei diese Eingabe in diesem vierten Zeitabschnitt nur so lange ermöglicht wird, bis dieser voll, d.h. bis dieser eine Anzahl von Aufgaben enthält, die der gewählten Anzahl von Zeitabschnitten entspricht und daß der vierte Adressenindikator nach der Füllung des vierten Zeitabschnittes auf einen fünften Zeitabschnitt gesteuert wird, welcher eine Adresse besitzt, die zwischen der Adresse des zweiten und vierten Zeitabschnittes liegt.
    909832/1200
  4. 4. Einrichtung zur zeitverzahnten Datenverarbeitung nach den Ansprüchen 1 bis 3, dadurch gekennzeichnet, daß den Zeitabschnitten Register (Fig, 10) und den Adressenindikatoren Zähler (Fig. TA bis
    7C) zugeordnet sind und daß der Inhalt der Zähler, die dem ersten und zweiten Adressenindikator entsprechen, gleichzeitig um jeweils den Wert Eins erhöht werden.
    5, Einrichtung zur zeitverzahnten Datenverarbeitung nach den Ansprüchen 1 bis 4, dadurch gekennzeichnet, daß der Warteschlangenspeicher (Fig. 7D) Register zur Bezeichnung der Aufgaben enthält, wobei diejenigen Register, welche die Bezeichnungen der letzten Aufgaben enthalten, auch die Adressen der Probleme enthalten, zu denen die betreffenden Aufgaben gehören.
    909832/12ÜÜ
    Leerseite
DE19681812354 1967-12-18 1968-12-03 Einrichtung zur zeitverzahnten Datenverarbeitung Expired DE1812354C (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US69153467A 1967-12-18 1967-12-18
US69153467 1967-12-18

Publications (3)

Publication Number Publication Date
DE1812354A1 true DE1812354A1 (de) 1969-08-07
DE1812354B2 DE1812354B2 (de) 1972-07-13
DE1812354C DE1812354C (de) 1973-02-08

Family

ID=

Also Published As

Publication number Publication date
SE337305B (de) 1971-08-02
DE1812354B2 (de) 1972-07-13
US3541520A (en) 1970-11-17
NL6817891A (de) 1969-06-20
CH489848A (de) 1970-04-30
NL156838B (nl) 1978-05-16
FR1594825A (de) 1970-06-08
GB1180373A (en) 1970-02-04
BE723218A (de) 1969-04-01

Similar Documents

Publication Publication Date Title
DE3300261C2 (de)
DE3300262C2 (de)
DE2015971C3 (de) Datenverarbeitungsanlage mit einer Anzahl von zeitmultiplex von einem zentralen Rechenwerk bedienten virtuellen Prozessoren
DE2901762A1 (de) Datenuebertragungs- und verarbeitungsanlage
CH628167A5 (de) Prozessoreinrichtung zur prioritaetssteuerung der zugriffe zum gemeinsam benutzten arbeitsspeicher einer mehrprozessoranlage.
DE2855673C2 (de)
DE3106862C2 (de) Prioritätszuteilschaltungsanordnung
DE2654050B2 (de) Taktsignalsteuersystem eines Mikrocomputersystems
DE1774513A1 (de) Schaltungsanordnung zur Bestimmung des Vorrangverhaeltnisses zwischen mehreren Anforderungssignalen fuer programmgesteuerte Datenverarbeitungsanlagen
DE2443579B2 (de) Asynchroner Arbiter
EP1076847B1 (de) Verfahren zum a/d-wandeln analoger signale sowie entsprechende a/d-wandleranordnung
DE1524142C3 (de) Einrichtung in elektronischen Datenverarbeitungsanlagen zur Steuerung des Vorranges bei der Speicherzuteilung
DE2716734C3 (de) Elektronische Uhr mit einem Frequenzteiler mit einstellbarem Teilungsverhältnis und Verfahren zum Betrieb dieser Uhr
DE60029167T2 (de) Arbiter und Arbitrierungsverfahren
DE2853240C2 (de)
DE1774943B2 (de) Dateneingabeeinrichtung Ausscheidung aus 1474025
DE1524181A1 (de) Abrufsystem fuer Ein- und Ausgabegeraete einer Datenverarbeitungsanlage
DE3018509C2 (de) Schieberegister
DE1812354A1 (de) Einrichtung zur zeitverzahnten Datenverarbeitung
DE2422495C2 (de) Datenverarbeitungsanlage
DE3133838C2 (de) Schaltungsanordnung zur Übergabe des Refresh-Signals an einem Halbleiterspeicher
DE2820574C2 (de) Übertragungsverfahren für ein Datenmodem mit mehreren Übertragungskanälen
DE1812354C (de) Einrichtung zur zeitverzahnten Datenverarbeitung
DE1925917A1 (de) Binaere Impulsfrequenz-Multiplizierschaltung
DE19803216A1 (de) Mikrocomputer, der zur Ausgabe von Impulsen in der Lage ist

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