DE2359037C2 - Rechenanlage - Google Patents

Rechenanlage

Info

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
Application number
DE2359037A
Other languages
English (en)
Other versions
DE2359037A1 (de
Inventor
Francois Gieres Anceau
Claude Franconville Beauducel
Pierre Paris Courboulay
Jacques Le Chesnay Cretin
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.)
IFP Energies Nouvelles IFPEN
Original Assignee
IFP Energies Nouvelles IFPEN
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 IFP Energies Nouvelles IFPEN filed Critical IFP Energies Nouvelles IFPEN
Publication of DE2359037A1 publication Critical patent/DE2359037A1/de
Application granted granted Critical
Publication of DE2359037C2 publication Critical patent/DE2359037C2/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
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/226Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/26Address 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.
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.
Hierzu 3 Blatt Zeichnungen
20
25
30
35
40
45
50
55
60
65

Claims (2)

Patentansprüche:
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.
DE2359037A 1972-11-27 1973-11-27 Rechenanlage Expired DE2359037C2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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