DE2359037C2 - Rechenanlage - Google Patents
RechenanlageInfo
- Publication number
- DE2359037C2 DE2359037C2 DE2359037A DE2359037A DE2359037C2 DE 2359037 C2 DE2359037 C2 DE 2359037C2 DE 2359037 A DE2359037 A DE 2359037A DE 2359037 A DE2359037 A DE 2359037A DE 2359037 C2 DE2359037 C2 DE 2359037C2
- Authority
- DE
- Germany
- Prior art keywords
- group
- processes
- microprograms
- task
- transmission
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/22—Microcontrol or microprogram arrangements
- G06F9/226—Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
-
- 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/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Microcomputers (AREA)
- Executing Machine-Instructions (AREA)
- Hardware Redundancy (AREA)
- Saccharide Compounds (AREA)
- Preparation Of Compounds By Using Micro-Organisms (AREA)
- Debugging And Monitoring (AREA)
Description
Die Erfindung bezieht sich auf eine Rechenaiilage der
im Oberbegriff des Anspruchs ί genannten Art
Eine derartige Rechenanlage besitzt im allgemeinen ein Rechenwerk, das die von einem Zentralspeicher gelieferten Befehle ausführt und Informationen mit äußeren peripheren Geräten über Austauscheinheiten austauscht Man kann zwei Arten von Prozessen unterscheiden, nämlich Rechenprozesse und Übertragungsprozesse, die die Datenübertragung vom Rechenwerk zu peripheren Geräten und umgekehrt bewirken.
Eine derartige Rechenanlage besitzt im allgemeinen ein Rechenwerk, das die von einem Zentralspeicher gelieferten Befehle ausführt und Informationen mit äußeren peripheren Geräten über Austauscheinheiten austauscht Man kann zwei Arten von Prozessen unterscheiden, nämlich Rechenprozesse und Übertragungsprozesse, die die Datenübertragung vom Rechenwerk zu peripheren Geräten und umgekehrt bewirken.
Im allgemeinen erfolgt die Übertragung von Qbellendaten
aus einem peripheren Gerät zur Austauscheinheit und weiter zum Zentralspeicher aufgrund der Steuerung
durch ein Synchronisationsorgan und durch ein
Mikroprogramm. Besteht kein Synchronismus zwischen dem Rechenwerk und den peripheren Geräten, dann
erfolgt die Übertragung in Blöcken. Der Beginn solcher Übertragungen wird durch den Übertragungsprozeß
gesteuert und die zwischen zwei Befehlen übertragenen Daten werden durch Gas Synchronisationsorgan unter
Steuerung eines Mikroprogramms abgehandelt Auf diese Weise vermeidet man die Blockierung des Rechenwerks
während des Wartens auf Daten von einem peripheren Gerät
Das Rechenwerk kann während des Übertragungsvorgangs für andere Prozesse benutzt werden, da ein
zur Ausführung anstehender Rechenprozeß nicht mehr weiter behandelt werden kann, falls Daten fehlen.
Schnell jedoch ergeben sich Konflikte, wenn auch der Prozeß, der dem unterbrochenen nachfolgt, von demselben
peripheren Gerät Daten erwartet, wie der unterbrochene Prozeß. Gibt es nur einen einigen Prozessor,
dann muß man den Zustand des für die Übertragung benötigten peripheren Geräts überprüfen und die Dauer
dieser Überprüfung ausdehnen, so lange bis die gerade laufende Datenübertragung beendet ist. Der Betrieb
des Rechenwerks kann daher wegen der Übertragungsprobleme mit peripheren Geräten blockiert werden.
Es ist bereits bekannt, mehrere Aufgaben in Rechenanlagen mit einem einzigen Rechenwerk, zum Beispiel
gemäß DE-AS 1163 579, bzw. den Rechenanlagen HP 21 von Hewlett-Packard oder 10 020 von C.I.I, zu
losen, ohne daß Konflikte zwischen oeripheren Geräten
und/oder zwischen Prozessen auftreten. Hierzu bedient man sich eines Systems von prioritätsgesteuerten Unterbrechungen
sowie eines verkabelten Elementes, wie zum Beispiel eines Registers, in dem die von allen peripheren
Geräten kommenden Rufsignale gespeichert werden und in dem der Ablauf der diesen gespeicherten
Rufsignalen zugeordneten spezifischen Prozesse gesteuert wird. Der Nachteil dieses Unterbrechungssystems
besteht darin, daß der einem Unterbrechungssignal entsprechende Prozeß vollständig beendet werden
muß, ehe ein weiteres Rufsignal betreffenden denselben Prozeß gespeichert und berücksichtigt werden kann, da
alle von außen kommenden Signale im Unterbrechungssystem gespeichert werden. Zur Abwicklung der Aufgaben
gemäß ihrer jeweiligen Priorität ist das Unterbrechungssystem mit einem Programmbaustein kombiniert,
der gegebenenfalls mikroprogrammiert sein kann.
Der Nachteil dieser baulichen Kombination aus Material und Logik zur F.inordnung von Vielfachrufen licgi
darin, daß diese Lösung inhomogen und verhältnismäßig
langsam ist, wenn die Logik programmiert und nicht mikroprogrammiert ist.
Die der Erfindung zugrunde liegende Aufgabe besteht demgegenüber darin, eine Rechenanlage nach
dem Oberbegriff des Patentanspruchs 1 anzugeben, die durch eine geeignete Synchronisation zwischen den verschiedenen
Gruppen von Mikroprogrammen auf prioritätsgesteuerte Unterbrechungen mit dafür eigens vorgesehenen
Programmbausteinen verzichtet, während ein Steuerungswechsel zwischen Übertragungsprozessen
bzw. Rechenprozessen schnell erfolgt
Die erfindungsgemäße Lösung ergibt sich aus den Merkmalendes Patentanspruchs 1.
Der Erfindungsgegenstand umfaßt die Kombination von drei Mikroprogrammgruppen, die bestimmte Funktionen
mittels der Speicherelemente gewährleisten. Aufgrund der Kombination dieser Gruppen bestimmter
Mikroprogramme mit den Speicherelementen ist es möglich, bei der erfindungsgemäßen Recheranlage auf
Systeme zur Steuerung der Unterbrechungen, wie sie beispielsweise bei dem Gegenstand gemäS DE-AS
11 63 579 benötigt werden, zu verzichten.
Eine von einer Rechenanlage zu lösende »Aufgabe« bezeichnet ein Programm zur Ausführung bestimmter
Prozesse in Zuordnung zu einer Aufgabenliste im Speicherwerk bzw. Zentralspeicher. Diese Aufgabenliste besteht
aus einer Anzahl von Wörtern im Speicherwerk, die eine Aufgabe definieren und ihre Ausführung ermöglichen
bzw. Informationen über diese Aufgabe in,
Fall einer Unterbrechung speichern.
Beispielsweise definiert das erste Wort der Aufgabenliste die Art des dieser Aufgabe zugeordneten Prozesses
durch eine Binärzahl. Im Augenblick der Ausführung des Prozesses wird diese Zahl in ein Zustandsregister
des Rechenwerks übertragen und kann als zusätzliche Information des Operationscodes des auszuführenden
Befehls bciutzt werden. Man hat so die Möglichkeit, unterschiedliche Befehlsvorräte gemäß der Art des
durchgeführten Prozesses, d. h. beispielsweise eines Rechenprozesses
oder eines Übertragungsprozesses, zu verarbeiten, beispielsweise durch eine Gruppe von Mikroprogrammen
für die Rechenprozesse und eine Gruppe '.on Mikroprogrammen fCr die Übertragungsprozesse. Eine solche Gruppe von Mikroprogrammen
für die Rechenprozesse bzw. die Übertragungsprozesse
wird in der Fachwelt auch mit einem virtuellen Prozessor bezeichnet.
Man kann die Anzahl der Gruppen von Mikroprogramme!,
für die Übertragungsprozesse beliebig erhöhen bis beispielsweise jedem Datenübertragungsweg
zwischen einem bestimmten peripheren Gerät und dem Rechenwerk eine eigene Gruppe von Mikroprogrammen
zugeordnet ist.
|ede Gruppe von Mikroprogrammen für Übertragungsprozesse kann sich in einem der folgenden Zuständebefinden:
— Verfügbar, das heißt, kein Programm steht zur Ausführung
an;
— aktivierbar, das heißt, die Gruppe wartet auf den Zugriff zum Rechenwerk für die Ausführung eines
Programms:
— aktiv, das heißt, die Gruppe benutzt das Rechenwerk;
— in Wartestellung, das heißt, die Gruppe wartet auf das Ende eines Übertragungsvorganges und ist
nicht im Betrieb, u.'.hst wenn Aufgaben anstehen.
Die Gruppe von Mikroprogrammen für die Rechenprozesse kann sich ebenfalls in einem der oben bezeichneten
Zustände befinden, mit Ausnahme der Wartestellung, und kann daher nie blockiert sein.
Da jede Gruppe zum Rechenwerk Zugriff hat, ist es notwendig, zwischen ihnen eine Hierarchie festzulegen.
Man kann beispielsweise der oder den Gruppen für die Übertragungsprozesse die Priorität gegenüber der
Gruppe für den Rechenprozeß einräumen.
Der Zustand einer Gruppe wird durch das Vorhandensein einer ihr zugeordneten Aufgabenliste festgelegt,
die mindestens eine mit dieser Gruppe zu lösende Aufgabe enthält
Jede Aufgabe kann sich in einem der folgenden Zustände befinden:
— Verfügbar, das heißt, daß die ihr zugeordneten Befehle ausgeführt oder noch nicht angefangen sind;
— aktivierbar, das heißt, daß sich öise Aufgabe in der
anstehenden Aufgabenliste für die zugeordnete
Gruppe befindet und so lange nicht gelöst werden kann, wie die Gruppe die gerade bearbeitete Aufgabe
nicht gelöst hat oder keinen Zugriff zum Rec,':-3nwerk besitzt;
— aktiv, das heißt, daß die Aufgabe von der betreffenden
Gruppe bearbeitet wird;
— in Wartestellung, das heißt daß ein oder mehrere äußere Vorgänge die Rückkehr dieser Aufgabe in
die anstehende Aufgabenliste der betreffenden Gruppe bedingen.
Jede der aktiven Aufgaben kann die Ausführung anderer Aufgaben verlangen. Beispielsweise kann eine einem
Rechenprozeß zugeordnete Aufgabe die Ausführung von mit Übertragungsprozessen verbundenen
Aufgaben bedingen; in diesem Fall wird diese Aufgabe in die anstehende Aufgabenliste der entsprechenden
Gruppe aufgenommen.
Die Gruppen von Mikroprogrammen benötigen für ihre Realisierung in einer Rechenanlage ein System,
— um eine Hierarchie zwischen den Gruppen oder den diesen zugeordneten Aufgabenlisten festzulegen
und das Rechenwerk der die Priorität genießenden Gruppe oder der die Priorität besitzenden
Aufgabenliste zuzuweisen, und
— um die Aufgaben in die anstehenden, den Gruppen zugeordneten Aufgabenlisten einzuführen und die
letzteren zu erstellen.
Durch die Verwendung von Gruppen von Mikroprogrammen,
die den Speicherelementen zugeordnet sind, lassen sich früher verwendete Prioritätsunterbrechungssysteme
ersetzen. Die Speicherelemente sind zur Mikroprogrammierung der Synchronisationsfunktionen
geeignet. Es gibt also keine direkte Verbindung durch Verdrahtung uvischen Synchronisationsorganen und
die Rufsignale liefernden peripheren Geräten. Alle externen Signale laufen über die dritte Gruppe von Mikroprogrammen,
welche diese Signale berücksichtigt und speichert, und zwar unabhängig vom Zeitpunkt ihres
Auftretens und von ihrer Bestimmung.
Die erfindungsLemäße Rechenanlage erlaubt es, auf
einfachere und schnellere Weise als bekannte Rechenanlagen:
— die Synchronisation zwischen den verschiedenen Gruppen von Mikroprogrammen der Mikroprogrammsteuerung
zu vereinfachen,
— die Geschwindigkeit der Bearbeitung von Rufen
zwischen den Prozessen zu erhöhen, und
— je nach Wunsch einen Ablauf zu unterbrechen, wobei der Augenblickszustand der verschiedenen
Gruppen dauernd gespeichert ist.
Nachfolgend wird die Erfindung anhand eines bevorzugten Ausführungsbeispiels mit Hilfe der Zeichnung
näher erläutert; in dieser zeigt
Fig. 1 das Blockschaltbild einer Rechenanlage;
Fig.2 schematisch eine Ausführungsform einer Rcchenanlage
mit einer Gruppe von Mikroprogrammen zur Ausführung von Standardbefehlen, die zwei Hilfsmoduln
für die Ausführung von zwei Prozessen umfaßt; ι
Fig. 3 schematisch eine Ausführungsform ähnlich Fig.2 mit vier Hilfsmoduln zur Ausführung von vier
Prozessen.
Die in F i g. 1 dargestellte Rechenanlage umfaßt eine Mikroprogrammsteuerung, welche durch einen Festwertspeicher
1 gebildet wird, in dem Mikroprogramme eingeschrieben sind, ein arithmetisches und logisches
Rechenwerk 2, ein Befehlsregister 3, und ein lokaler Speicher 4, eine Gruppe S aus Zustandsregistern, ein
Speicherwerk bzw. einen Zentralspeicher 6, zum Beispiel einen Lese/SchHb-Speicher, ein Steuerorgan 7 für
den Zentralspeicher, das mit diesem über eine Speichersammelleitung 3 verbunden ist, ein Übertragungsorgan
9 zur Steuerung der Datenübertragung zwischen dem Rechenwerk und nicht dargestellten peripheren Geräten
mittels einer Sammelleitung 10.
Die Umspeichervorgänge zwischen den verschiedenen Elementen des Rechenwerkes werden durch eine
innere Sammelleitung 11 sichergestellt. Eine Sammelleitung
12, eine sogenannte Prüfleitung, verbindet auch die verschiedenen Elemente mit dem Festwertspeicher 1
und führt diesem Daten zu. die sich auf den Zustand der Rechenanlage an verschiedenen Stellen beziehen, und
ermöglicht es diesem, die entnommenen Mikrobefehle nacheinander aufzureihen.
Dem Festwertspeicher 1 sind Dekodierungseinrichtungen 13 zugeordnet, die für die Dekodierung der entnommenen
Mikrobefehle sorgen und ebenfalls mit verschiedenen Anordnungen der Rechenanlage verbunden
sind. Ein Adressenregister 14 ist mit dem Ausgang der Dekodierungseinrichtungen 13 und mit der Sammelleitung
12 verbunden. Die Dekodierungseinrichtungen 13 steuern die Entnahme der Mikrobefehle aus dem Festwertspeicher
1 als Funktion der enthaltenen aufeinanderfolgenden Adressen. Die Wörter des Festwertspeichers
werden in Gruppen von Binärzahlen oder Felder unterteilt, die jeweils eine genau festgelegte Funktion
haben. Insbesondere ist eines der Felder für die Steuerung des Adressenregisters 14 reserviert und weist ein
»Wort« auf, das eine Teiladresse oder einen »Sofortwert« darstellt, der in das Adressenregister überführt
wird. Es umfaßt des weiteren eine bestimmte Ordnung oder einen Befehl für eines der Elemente der Rechenanlage
und schreibt diesem vor, in das Adressenregister 14 eine für seinen Zustand repräsentative Binärzahl (Bit) zu
übertragen. Diese Zahl vervollständigt die Teiladresse oder den »Sofortwert« derart, daß die neue Adresse des
aus dem Festwertspeicher entnommenen Mikrobefehls gebildet wird. Diese Ausbildung ermöglicht es, fest verdrahtete
Schaltungen zu betätigen.
Insbesondere wird die Ausführung der aus dem Zentralspeicher
6 in das Befehlsregister 3 übertragenen Befehle durch aufeinanderfolgende Prüfungen der Binärzahlen
von deren Operationscode ausgelöst, !n gleicher Weise können die verschiedenen Binärzahlcn in den Zustandsregistern
5 nacheinander geprüft werden.
Die in Fig. 2 dargestellte Ausführungsform entspricht dem Fall, daß die Einrichtung zwei Gruppen von
Mikroprogrammen, eine für Rechenprozesse und eine für Übertragungsprozesse, aufweist.
Der Festwertspeicher 1 ist in drei Teile unterteilt:
— Eine Gruppe zur Ausführung von .Standardbefehlen,
welche einer Verarbeitungseinrichtung 15 zugeordnet ist und es ermöglicht, aus dem Zentralspeicher
6 entnommene Befehle zu interpretieren und auszuführen. Diese Gruppe umfaßt einen
Hauptmiliroprosramm-Modul 16. der mit »Basisexekutiv« bezeichnet ist, sowie zwei Hilfsmikro-
programm-Moduln 161, 162, die die Ausführung der Befehle, welche spezifisch die eine oder andere
der Gruppen von Mikroprogrammen für die Prozesse betreffen, ermöglichen. Die drei Moduln sind
mit dem Zentralspeicher 6 verbunden. Die beiden Hilfsmoduln 161,162 werden durch den Hauptmodul
JS gesteuert und übertragen Signale auf ihn, wenn Ve erhaltenen Befehle durch die ihnen entsprechenden
Gruppen von Mikroprogrammen für die Prozesse ausgeführt worden sind;
jo — eine selbsttätige Gruppe 17 von Mikroprogrammen,
um eine Rangfolge zwischen den Prozessen oder auch zwischen den Aufgabenlisten, die diesen
jeweils zugeordnet sind, herzustellen und um dem vorrangigen Prozeß die Verarbeitungseinrichtung
15. die durch das Rechenwerk 2, das Befehlsregister
3 und den lokalen Speicher 4 (F i g. 1) gebildet wird, zur Verfügung zu stellen; und
— eine Gruppe 18 von Mikroprogrammen, um Aufgabenlisten für aktivierbare Aufgaben zu erstellen,
welche jedem Prozeß zugeordnet sind und diesen leiten.
Die Gruppe 17 ist mit dem Zentralspeicher 6 und mit
dem Hauptmodul 16 verbunden. Die Gruppe 18 wird durch den Hauptmodul 16 angesteuert, wenn dieser in
seinem Mikroprogramm einen Befehl /5 umfaßt, der eine Aktivierung einer oder mehrerer auszuführender
Aufgaben veranlaßt.
Die Gruppe 18 ist so ausgebildet, daß sie eine maximale
Ausnutzung der Rechenanlage, insbesondere ..ne Einteilung der Rangfolge der Aufgaben, ermöglicht Sie
umfaßt Einrichtungen, um vorübergehend eine Aufgabe in Wartestellung zu bringen, wobei diese Stellung von
der Aufgabenliste ausgenommen und später in diese wieder aufgenommen wird.
Unter den in einer Aufgabeniiste enthaltenen Aufgaben können einige Gegenstand mehrerer verschiedener
Anfragen sein. Man bezeichnet sie mit Quellanfragen. Um diese aufeinanderfolgenden Anfragen zu berücksichtigen,
umfaßt die Gruppe 18 Einrichtungen, um sie in die Aufgabeniiste der betreffenden Aufgabe zu speichern.
Die Gruppe 18 ist auch vorgesehen, um einen Befehl, welcher das Ende der eine Aufgabe betreffenden Operationen
angibt, zu ermitteln und um diese Aufgabe auszuschließen bzw. wieder einzuführen, je nachdem, ob
sämtliche aufeinanderfolgenden Quellanfragen beantwortet sind oder nicht Für den Fall, in dem eine andere.
mit dem gleichen Prozeß verknüpfte Aufgabe angefordert wird, umfaflt die Gruppe 18 Einrichtungen, um die
Information über diese Aufgabe in die Aufgabenliste einzuführen.
Die Zustandsregister 5 umfassen als Speicherelement eine bistabile Kippschaltung 19, die von der Gruppe 17
aus gefeuert wird. Jeder Gleichgewichtszustand dieser Kippschaltung ist einer der beiden Prozesse zugeordnet.
Der Hauptmodul 16 ist so ausgelegt, d».ß er in jedem Augenblick den Zustand dieser Kippschaltung 19 steuert.
Die Zustandsregister 5 umfassen als zweites Speicherelement eine weitere Kippschaltung EXD 20, die
von den Gruppen 17 und 18 betätigt wird, sowie ein Register 21, das zwei bistabile Kippschaltungen CN 211
und CL 212 umfaßt, welche ebenfalls durch die Gruppe 18 betätigt werden.
Der Hauptmodul 16 ist so ausgelegt, daß er den Zustand der Kippschaltung EXD steuert, und die Gruppe
17 prüft den Zustand der beiden Kippschaltungen CN und CL
Jeder Prozeß wird durch die Gesamtheit aus einer Binärzahl des Registers 21, einem Wort des Zentralspeichcrs
6, welches die Adresse der Aufgabenliste für die erste aktivierbare, durch diesen Prozeß auszuführende
Aufgebe enthält, dem Hauptmodul 16 und dem dem Prozeß zugeordneten Hilfsmodul 161 oder 162 definiert.
Der Prozeß ist verfügbar, wenn das Wort des Zentralspeichers nicht auf eine Adresse hinweist.
Dc Kippschaltungen 19 und 20 und das Register 21 der Zustandsregister 5 ermöglichen die Synchronisation
der verschiedenen Gruppen von Mikroprogrammen des Mikroprogrammspeichers 1.
Die Kippschaltung 19 legt den aktiven Prozeß fest. Sie wird durch die Gruppe 17 in den einen oder anderen
ihrer Gleichgewichtszustände gesetzt, je nachdem, ob der Übertragungsprozeß oder der Rechenprozeö über
die Verarbeitungseinrichtung verfügt. Die Kippschaltung EXD20 wird durch die Gruppe 18 aktiviert, wenn
letztere den Übergang des vorrangigen Prozesses in den aktivierbaren Zustand gesteuert hat.
Durch Prüfung der Kippschaltung EXD ermittelt der Hauptmodul 16 jede Abweichung vom Aufbau der aktivierbaren
Prozesse und aktiviert in diesem Fall die Gruppe 17, die eine Rangfolge zwischen den Prozessen
herstellt
Die beiden Kippschaltungen CN und CL des Registers
21 entsprechen jeweils dem Obertragungsprozeß bzw. dem Rechenprozeß. Sie werden in den einen oder
anderen ihrer Gleichgewichtszustände gesetzt, je nachdem, ob die ihnen entsprechenden Prozesse aktivierbar
oder nicht aktivierbar sind.
Der Synchronisationsmechanismus ist stark vereinfacht.
Wenn die Gruppe 18 durch eine äußere Quellenfrage DR oder einen Befehl IS angesteuert wird, das
heißt, einen Aklivierungsbefehl, der sich auf eine oder
mehrere auszuführende Aufgaben bezieht, stellt sie eine Ordnung für diese auf. Das Feststellen eines Befehls /5,
der sich auf eine einem verfügbaren Prozeß zugeordnete Aufgabe bezieht, macht diesen aktivierbar. In diesem
Fall speichert die Gruppe 18 diese Änderung in der entsprechenden Kippschaltung des Registers 21. Wenn
darüber hinaus der neue aktivierbare Prozeß Vorrang gegenüber dem aktiven Prozeß hat, betätigt die Gruppe
18 die Kippschaltung EXD 20 und übergibt die Kontrolle an den Hauptmodul 16. Dieser testet die Kippschaltung
EXD und überträgt die Kontrolle an die Gruppe 17, die die Ausführung der in der Durchführung befindlichen
Aufgabe unterbricht und die Oberführung des Inhalts der Register aus dem lokalen Speicher 4 (siehe
Fig. 1) in das Feld des Zentralspeichers 6 steuert, das
dem Kontrollblock für die Aufgabe, die unterbrochen worden ist, zugeordnet ist. Diese prüft die Kippschaltungen
CN und CL des Registers 21, sucht dann nach der Aufgabe an der Spitze der Aufgabenliste, welche
dem neuen aktivierbaren Prozeß zugeordnet ist, und aktiviert die Kippschaltung 19 zum Speichern der Art
des Prozesses, auf den die Verarbeitungseinrichtung
ίο eingestellt ist. Sie steuert dann die Übertragung einer
gewissen Anzahl von im Kontrollblock der neuen Aufgabe entnommenen Wörter in die Register des lokalen
Speichers 4. Insbesondere wird eines dieser Wörter in den Befehlszähler überführt. Letztgenannte Operation
wird gewöhnlich mit Initialisierung bezeichnet. Die Gruppe 17 gibt von neuem die Kontrolle an den Hauptmodul
16 ab. Dieser steuert das Auslesen des Befehlszählers und des entsprechenden Befehls, den er in das
Befehlsregister 3 überträgt. Er überprüft die Kippschaltung
19, um den im Befehlsregister 3 enthaltenen Bcfehlscode zu interpretieren, ob er sich auf einen Rechenprozeß
oder einen Übertragungsprozeß bezieht.
Ist die Gesamtheit der dieser neuen vorrangigen Aufgabe entsprechenden Operationen beendet, so gibt der
Hauptmodul 16 die Kontrolle an die Gruppe 17 zurück, die von neuem die Überführung des Inhalts des Kontrollblocks
für die Aufgabe, welche unterbrochen war, in die Register des lokalen Speichers steuert. Die Ausführung
der unterbrochenen Aufgabe kann dann wieder aufgenommen werden.
Die Ausführungsform nach F i g. 3 umfaßt wie die vorhergehende Ausführungsform einen Zentralspeicher
6, eine Gruppe 17, die eine Rangfolge zwischen den Prozessen bildet und die Verarbeitungseinrichtung 15
dem vorrangigen Prozeß zur Verfugung stellt, eine Gruppe 18, die jedem Prozeß zugeordnete Äutgabeniisten
erstellt und diese leitet, und eine Gruppe zum Ausführen von Standardbefehlen. Letztere ist für eine Ausführungsform
mit vier Prozessen ausgelegt. Sie umfaßt beispielsweise einen Übertragungsprozeß CR, der für
schnelle Datenübertragung ausgelegt ist, einen Prozeß TR, der für Realzeitberechnung ausgelegt ist, einen
Übertragungsprozeß CMX, der für die Multiplex-lnformationsverarbeitung
ausgelegt ist, sowie einen RechenprozeßC4L
Die Gruppe zur Ausführung von Standardbefehlen umfaßt einen Hauptmikroprogramm-Modul bzw.
Hauptmodul 16, der mit »Basis-exekutiv« bezeichnet ist, sowie vier Hilfsmikroprogramm-Moduln bzw. Hilfsmodüln
161,162,163 und 164, von denen jeder die Ausführung
der Befehle, welche einen bestimmten der Prozesse betreffen, ermöglicht.
Die Zustandsregister 5 umfassen eine einzige Kippschaltung 20, die identisch mit der in Fig. 2 ist und
durch die Gruppe 18 angesteuert und vom Hauptmodu! 16 geprüft wird. Die Art des aktiven Prozesses wird
durch ein Register 22 mit zwei zugeordneten bistabilen Kippschaltungen PA 0 221 und PA 1 222 festgelegt. Die
vier verschiedenen Binärziffern, die diese Kippschaltungen insgesamt darstellen können, entsprechen jeweils
einem der vier Prozesse. Diese beiden Kippschaltungen werden ebenfalls durch die Gruppe 17 gesteuert und
vom Hauptmodul 16 getestet
Vorgesehen ist darüber hinaus ein Register 23 mit vier bistabilen Kippschaltungen BCR23i, BTR732,
BCMX233 und BCAL234, die jeweils den vier Prozessen CR, TR, CMX und CAL zugeordnet sind. Wie vorher
befinden sich diese Kippschaltungen in dem einen
oder anderen ihrer Gleichgewichtszustände, je nachdem, ob der ihnen zugeordnete Prozeß aktivierbar ist
oder nicht. Jeder Prozeß wird außerdem durch die Gesamtheit aus dem Zustand der entsprechenden Kippschaltung im Register 23, einem Speicherwort, welches 5
die Adresse der Aufgabenliste der ersten durch diesen Prozeß auszuführenden Aufgabe enthält, dem Hauptmodul 16 und dem für diesen Prozeß zuständigen Hilfsmodul 161,162,163 oder 164 festgelegt.
Diese Ausführungsform arbeitet analog der vorher io
beschriebenen. Im Rahmen der Erfindung kann eine beliebige Anzahl N von Prozessen vorgesehen werden.
Dann umfaßt die Gruppe zur Ausführung der Standardbefehle N Hilfsmoduln, während das den aktivierbaren
Prozeß festlegende Register 23 N Binärzahlen umfaßt is und eine Anzahl π — log2N von gekoppelten bistabilen
Kippschaltungen die Art des aktiven Prozesses festlegt.
20
25
30
35
40
45
50
55
60
65
Claims (2)
1. Rechenanlage mit einem Rechenwerk, einem mit diesem verbundenen Speicherwerk, Mitteln zur
Übertragung von Daten zwischen dem Rechenwerk und peripheren Geräten Ober mindestens einen
Übertragungsweg und einer Mikroprogrammsteuerung, die sämtliche Mikroprogramme enthält und
einerseits Übertragungsprozesse über den oder die Übertragungswege sowie Rechenprozesse steuert
und andererseits den Rechenprozessen und den Übertragungsprozessen zugeordnete Aufgaben abwickelt,
wobei die Mikroprogrammsteuerung eine erste Gruppe (16,161,162,163,164) von Mikroprogrammen
zur Steuerung der aus dem Speicherwerk entnommenen Befehle, eine zweite Gruppe (17) von
Mikroprogrammen, mit denen dem Rechenwerk die an der Spitzecjier Aufgabenliste stehende Aufgabe
unter Beachtung einer vorgewählter; Hierarchie
zwischen den jeweiligen Aufgabenlisten für die Übertragungsprozesse gleichen Typs und für die Rechenprozesse
zugewiesen wird, und eine dritte Gruppe (18) von Mikroprogrammen enthält, mit denen
die jeweils nicht hierarchisch geordneten Aufgabenlisten von aktivierbaren Aufgaben, die jeweils
den verschiedenen Prozessen des gleichen Typs zugeordnet sind, erstellt werden, und wobei für die
Gruppen (16,17,18) von Mikroprogrammen Dekodierungseinricr
uiigen vorgesehen sind, gekennzeichnet durch eine Gruppe von Speicherelementen
mit:
— einem ersten Speicherelement (21; 23), das über
die Dekodierungseinrichtungen mit der zweiten (17) und dritten (18) Gruppe von Mikroprogrammen
verbunden ist, ein von der dritten Gruppe (18) geliefertes, die Aktivierbarkeit der
dem Rechenprozeß oder den Übertragungsprozessen zugeordneten Aufgabenlisten anzeigendes
Signal speichert und von der zweiten Gruppe (17) abfragbar ist,
— einem zweiten Speicherelement (20), das über die Dekodierungseinrichtungen mit der dritten
Gruppe (18) von Mikroprogrammen verbunden ist und ein von dieser Gruppe (18) kommendes
Signal speichert, welches anzeigt, daß eine aktivierbare Aufgabenliste gegenüber einer aktivierten
(in Ausführung befindlichen) Aufgabenliste die Priorität bekommt, wobei dieses zweite
Speicherelement (20) ein Signal erzeugt, das diesen Prioritätswechsel der ersten Gruppe (16)
von Mikroprogrammen anzeigt, und
— einem dritten Speicherelement (19; 22), das über die Dekodierungseinrichtungen mit der ersten
(16) und zweiten (17) Gruppe von Mikroprogrammen verbunden ist und ein von der zweiten Gruppe (17) von Mikroprogrammen
stammendes Signal, das die Identifikationszahl des aktiven Rechen- oder Übertragungsprozesses
anzeigt, speichert und für die erste Gruppe (16) von Mikroprogrammen verfügbar hält.
2. Rechenanlage nach Anspruch 1, dadurch gekennzeichnet, daß das dritte Speicherelement (19;
22) ein Binärregister aufweist, dessen maximaler Inhalt mindestens gleich der Anzahl möglicher Prozesse
ist, und daß das erste Speicherelement (21; 23) mindestens ebensoviele Kippstufen aufweist, wie
mögliche Prozesse vorhanden sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR7242157A FR2208551A5 (de) | 1972-11-27 | 1972-11-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2359037A1 DE2359037A1 (de) | 1974-05-30 |
DE2359037C2 true DE2359037C2 (de) | 1985-07-25 |
Family
ID=9107789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2359037A Expired DE2359037C2 (de) | 1972-11-27 | 1973-11-27 | Rechenanlage |
Country Status (11)
Country | Link |
---|---|
US (1) | US4007444A (de) |
JP (1) | JPS5632654B2 (de) |
BE (1) | BE806765A (de) |
CA (1) | CA1015866A (de) |
DE (1) | DE2359037C2 (de) |
FR (1) | FR2208551A5 (de) |
GB (1) | GB1446740A (de) |
IT (1) | IT1002152B (de) |
NL (1) | NL180049C (de) |
NO (1) | NO143473C (de) |
SE (1) | SE394151B (de) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS49125005A (de) * | 1973-03-24 | 1974-11-29 | ||
US4346438A (en) * | 1979-10-24 | 1982-08-24 | Burroughs Corporation | Digital computer having programmable structure |
DE3113138A1 (de) * | 1981-04-01 | 1982-10-21 | Siemens Ag | Verfahren zum koordinieren einer mehrzahl von prozessen unter verwendung eines mikrorechners |
FR2604543B1 (fr) * | 1986-09-30 | 1989-04-07 | Sfena | Procede et dispositif pour l'optimalisation des performances de primitives temps reel d'un noyau d'executif temps reel sur des structures multiprocesseurs |
US6263359B1 (en) * | 1997-05-22 | 2001-07-17 | International Business Machines Corporation | Computer resource proportional utilization and response time scheduling |
US7899892B2 (en) * | 2006-03-28 | 2011-03-01 | Microsoft Corporation | Management of extensibility servers and applications |
US7873153B2 (en) * | 2006-03-29 | 2011-01-18 | Microsoft Corporation | Priority task list |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL280931A (de) * | 1961-07-14 | |||
JPS514381B1 (de) * | 1969-11-24 | 1976-02-10 | ||
US3662401A (en) * | 1970-09-23 | 1972-05-09 | Collins Radio Co | Method of program execution |
-
1972
- 1972-11-27 FR FR7242157A patent/FR2208551A5/fr not_active Expired
-
1973
- 1973-10-30 BE BE1005470A patent/BE806765A/xx not_active IP Right Cessation
- 1973-11-15 CA CA185,877A patent/CA1015866A/fr not_active Expired
- 1973-11-16 GB GB5342973A patent/GB1446740A/en not_active Expired
- 1973-11-26 SE SE7315969A patent/SE394151B/xx unknown
- 1973-11-26 NO NO4500/73A patent/NO143473C/no unknown
- 1973-11-27 JP JP13298573A patent/JPS5632654B2/ja not_active Expired
- 1973-11-27 NL NLAANVRAGE7316219,A patent/NL180049C/xx not_active IP Right Cessation
- 1973-11-27 DE DE2359037A patent/DE2359037C2/de not_active Expired
- 1973-11-28 IT IT31740/73A patent/IT1002152B/it active
-
1975
- 1975-11-13 US US05/415,326 patent/US4007444A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
NL7316219A (de) | 1974-05-29 |
GB1446740A (en) | 1976-08-18 |
SE394151B (sv) | 1977-06-06 |
US4007444A (en) | 1977-02-08 |
BE806765A (fr) | 1974-04-30 |
NL180049C (nl) | 1986-12-16 |
JPS5632654B2 (de) | 1981-07-29 |
NO143473C (no) | 1981-02-18 |
CA1015866A (fr) | 1977-08-16 |
JPS507443A (de) | 1975-01-25 |
NL180049B (nl) | 1986-07-16 |
DE2359037A1 (de) | 1974-05-30 |
IT1002152B (it) | 1976-05-20 |
NO143473B (no) | 1980-11-10 |
FR2208551A5 (de) | 1974-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE1774296C2 (de) | Restruktuierbare Steuereinheit für elektronische Digitalrechner | |
DE2856483C2 (de) | ||
DE2411963C3 (de) | Elektronische Datenverarbeitungsanlage mit einer Prioritätssteuerschaltung mit änderbaren Steuerblöcken | |
DE2735814C2 (de) | Nach dem Pipelineprinzip arbeitende Datenverarbeitungseinrichtung | |
DE2657848C2 (de) | ||
DE3004827C2 (de) | Datenverarbeitungsanlage | |
DE2317870C2 (de) | Schaltungsanordnung zur Steuerung der Datenübertragung zwischen dem Hauptspeicher und mindestens einem E/A-Gerät in einer digitalen Datenverarbeitungsanlage | |
DE3638572C2 (de) | ||
DE2714805A1 (de) | Datenverarbeitungssystem | |
DE1524209B2 (de) | Programmgesteuerte datenverarbeitungsanlage | |
DE2744531A1 (de) | Elektronische datenverarbeitungsanlage | |
DE1424762B2 (de) | Datenverarbeitungsanlage | |
EP0010194A1 (de) | Wartungsschnittstelleneinrichtung für eine datenverarbeitende Anlage mit einer zentralen Verarbeitungseinheit und mit einem Dienstprozessor und Verfahren zu ihrem Betrieb | |
DE1929010B2 (de) | Modular aufgebaute datenverarbeitungsanlage | |
DE3500804A1 (de) | Unterbrechungssteuerkreis | |
DE1774870C3 (de) | Einrichtung zur Adressierung einer Speicherzelle eines Speichers in einer Datenverarbeitungsanlage | |
DE3114921C2 (de) | Mikroprogramm-Speicheranordnung | |
DE1774164B1 (de) | Datenverarbeitungsanlage mit mehreren gleichzeitig taetigen verarbeitungseinheiten | |
DE2363846A1 (de) | Verfahren zum steuern des transfers von daten zwischen einem speicher und einem oder mehreren peripheren geraeten und nach diesem verfahren arbeitende datenverarbeitungsanlage | |
DE2063195C2 (de) | Verfahren und Einrichtung zur Operationssteuerung einer Anzahl von externen Datenspeichern | |
DE1909477A1 (de) | Speichersteueranlage fuer ein Multiprogramm-Datenverarbeitungssystem | |
DE2359037C2 (de) | Rechenanlage | |
DE2720842C3 (de) | Datenübertragungssystem | |
DE2418921C2 (de) | Vorrichtung zum Speichern von Mikroprogrammen in einer Datenverarbeitungsanlage | |
DE2759120C2 (de) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OD | Request for examination | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |