DE3750171T2 - Multiaufgabenverarbeitungsgerät. - Google Patents

Multiaufgabenverarbeitungsgerät.

Info

Publication number
DE3750171T2
DE3750171T2 DE3750171T DE3750171T DE3750171T2 DE 3750171 T2 DE3750171 T2 DE 3750171T2 DE 3750171 T DE3750171 T DE 3750171T DE 3750171 T DE3750171 T DE 3750171T DE 3750171 T2 DE3750171 T2 DE 3750171T2
Authority
DE
Germany
Prior art keywords
task
processing
address
control block
microprogram
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 - Fee Related
Application number
DE3750171T
Other languages
English (en)
Other versions
DE3750171D1 (de
Inventor
Hajime C O Nec Corporat Sakuma
Hiroko C O Nec Corpo Shinohara
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.)
NEC Corp
Original Assignee
NEC Corp
Nippon Electric Co Ltd
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
Priority claimed from JP61203007A external-priority patent/JP2553526B2/ja
Priority claimed from JP62093663A external-priority patent/JP2594557B2/ja
Application filed by NEC Corp, Nippon Electric Co Ltd filed Critical NEC Corp
Application granted granted Critical
Publication of DE3750171D1 publication Critical patent/DE3750171D1/de
Publication of DE3750171T2 publication Critical patent/DE3750171T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Description

    Hintergrund der Erfindung Feld der Erfindung
  • Die vorliegende Erfindung betrifft ein Multiaufgaben-Verarbeitungsgerät, welches ein Anwendungsprogramm in mehrere Aufgaben unterteilt und eine Parallelverarbeitung mehrerer Aufgaben als Ganzes ausführt, um die Funktion der Anwendung effektiv umzusetzen.
  • Beschreibung des Standes der Technik
  • Bisher war das Echtzeit-Betriebssystem als Management-Software unentbehrlich, um mehrere Aufgabe parallel auszuführen. Das Betriebssystem wird nachfolgend in der Beschreibung als "OS" abgekürzt. Ganz allgemein verarbeitet das Echtzeit-OS eine Anzahl von Funktionen, wie beispielsweise eine Aufgabenmanagementfunktion zum Starten einer Aufgabe und Beenden der Verarbeitung, eine Funktion der synchronen Kommunikation zwischen Aufgaben, welche das Warten zwischen Aufgaben und der Übertragung/dem Empfang von Daten, eine Funktion, die die Unterbrechung betrifft, eine Managementfunktion für andere Speicherbereiche und eine Zeitmanagementfunktion steuert.
  • Wenn ein Anwendungsprogramm das Echtzeit-OS nutzt, fordert das Programm eine Verarbeitung jeder Funktion in Bezug auf das Echtzeit-OS. Die Anforderung des Verarbeitungsvorganges wird ein "Systemaufruf" genannt, und die Operation zum Erzeugen der Anforderung des Verarbeitungsvorganges wird eine "Erzeugung des Systemaufrufs" genannt. Ein Beispiel der Erzeugung des Systemrufs wird beschrieben.
  • Eine Systemaufrufverarbeitung kann ganz allgemein in drei Abschnitte unterteilt werden, das heißt, eine Aufgabenaufbewahrungsverarbeitung, eine interne Verarbeitung und eine Zuteilungsverarbeitung, wie in Fig. 1 dargestellt. In dem Abschnitt der Aufgabenaufbewahrungsverarbeitung nutzt das Echtzeit-OS Arten von Registern für die Systemaufrufverarbeitung, so daß die Ausführungsumgebung der Aufgabe, wie beispielsweise Informationen der Register, wenn die Aufgabe einen Systemruf erzeugt (nachfolgend "Kontext" genannt), in einem der Aufgabe inhärenten Bereich aufbewahrt wird, das heißt, einem Aufgabensteuerblock (nachfolgend "TCB" genannt). In dem Abschnitt der internen Verarbeitung wird die Verarbeitung für die Realisierung der Funktionen, die Objekte des Systemaufrufes sind, ausgeführt. In dem Abschnitt der Zuteilungsverarbeitung wird die Verarbeitung in der Form ausgeführt, daß die Aufgabe mit der höchsten Prioritätsorder, die als nächstes ausgeführt werden soll, aus den im ausführbaren Zustand befindlichen Aufgaben ausgewählt wird, und der dem TCB zugewiesene Kontext der ausgewählten Aufgabe an die Register zurückgeführt wird, um die Steuerung von dem Echtzeit-OS zu der Aufgabe zu verschieben. Fig. 1 zeigt einen Verarbeitungsvorgang eines Systemaufrufes, welcher die Aussetzung der bezeichneten Aufgabe in der herkömmlichen Multiaufgabenverarbeitung anfordert. Die Aufgaben durchgehen vier Zustände, das heißt, einen ruhenden Zustand, einen ausführbaren Zustand, einen Ausführungszustand und einen Wartezustand. Es wird angenommen, daß die Prioritätsorder der Aufgabe 1 vor der der Aufgabe 2 liegt. Die Ausführungsaufgabe 1 bezeichnet die Aufgabe 2 in dem ausführbaren Zustand und erzeugt einen Systemaufruf, der die Aussetzung fordert. Das Echtzeit-OS erhält das Benutzungsrecht der zentralen Verarbeitungseinheit (nachfolgend "CPU" genannt) des Computers durch die Erzeugung eines Systemaufrufes der Aufgabe 1, so daß der Kontext der den Systemaufruf erzeugenden Aufgabe 1 in dem TCB 1 aufbewahrt wird, welcher die Aufgabe 1 verarbeitet. Nachfolgend wird der Bereich, der den Zustand der im TCB 2 der Aufgabe 2 gehaltenen Aufgabe (nachfolgend "Aufgabenstatus" genannt) wiedergibt, in den wiedereröffneten Anforderungs-Wartezustand gesetzt, um bis zur Ausgabe der Wiederöffnungsanforderung auszusetzen, und die Aufgabe 2 wird von der Registrierung des Bereichs, welcher ausführbare Aufgaben handhabt, ausgeschlossen (nachfolgend "Fertigschlange" genannt). In der Zuteilungsverarbeitung wählt das Echtzeit-OS die Aufgabe 1 als die als nächstes auszuführende Aufgabe basierend auf der Fertigschlange aus, und der Kontext der in TCB 1 der Aufgabe 1 aufbewahrten Aufgabe 1 wird an die CPU zurückgeführt. Das Benutzungsrecht der CPU wird zur Aufgabe 1 verschoben. Somit ist der Verarbeitungsvorgang des Systemaufrufs abgeschlossen.
  • In dem herkömmlichen Multiaufgaben-Verarbeitungsgerät, so wie oben erwähnt, nutzen die Aufgaben des Anwendungsprogrammes und das Echtzeit-OS der Management-Software die CPU-Resource gleichermaßen. Deshalb muß bei der Ausführung des Echtzeit-OS der Kontext der Ausführungsaufgabe gespeichert werden, was die Ausführungszeit des Echtzeit-OS verlängert, das heißt, die Organisationszeit, so daß die Leistung des gesamten Systems gesenkt wird. Die Hochgeschwindigkeitsverarbeitung des Echtzeit-OS ist für die Verbesserung der Echtzeitcharakteristik des Systems erforderlich.
  • Fig. 2 zeigt ein Beispiel des Vorgangs von Übertragung-Empfang von Daten zwischen zwei Aufgaben. Für den Vorgang Übertragung-Empfang von Daten zwischen Aufgaben wird im allgemeinen ein gemeinsamer Puffer, genannt Mailbox, verwendet. Eine Aufgabe A erzeugt ein Übertragungsdatum und überträgt einen Hinweis auf das Datum als Parameter an die Mailbox Nr. 1 (#MBO-1) durch einen Systemaufruf SEND-DATA.
  • Hier wird angenommen, daß der Parameter des Systemaufrufs SEND-DATA ein Register RO ist.
  • Eine Aufgabe B empfängt das von der Aufgabe A über die Mailbox Nr. 1 übertragene Datum und führt die folgende Verarbeitung aufgrund des empfangenen Datums mittels eines Systemaufrufs RECEIVE-DATA aus. Es wird angenommen, daß ein Hinweis auf das empfangene Datum in dem Register RO gespeichert wird. In dem Fall, daß das Übertragungsdatum bei der Erzeugung des Systemaufrufs nicht existiert, erhält eine Aufgabe B einen Wartezustand bezüglich der Mailbox Nr. 1, und die Verarbeitung wird temporär reserviert, so daß die Steuerung zu der anderen Aufgabe verschoben wird.
  • Die Fig. 3 zeigt die Verarbeitung jedes Systemaufrufes. Das herkömmliche Echtzeit-OS wird durch Kombination von Befehlen als Systemsoftware verwirklicht. Deshalb ist es notwendig, die Umgebung bzw. den Kontext zu bewahren, welche für die Ausführung eines Programms notwendig ist, wie beispielsweise ein Register und ein Programmstatuswort (nachfolgend "PSW" genannt) der Aufgabe, welche einen Systemaufruf an der Spitze der Verarbeitung, vor der Ausführung jedes Systemaufrufs, erzeugt. Die Bereiche zum Aufbewahren des Kontextes, welche ein Aufgabensteuerblock bzw. TCB genannt werden, werden im allgemeinen auf dem Speicher jeweils für alle Aufgaben reserviert, so daß bei der Erzeugung eines Systemaufrufs der Kontext der Aufgabe in dem TCB aufbewahrt wird, der der Aufgabe entspricht, die den systemaufruf erzeugt.
  • Nach der Verarbeitung des Systemaufrufes wird die Aufgabe mit der höchsten Prioritätsorder ausgewählt und die Steuerung zu dieser Aufgabe verschoben. Dies wird, wie vorher erwähnt, "Zuteilen" genannt.
  • Ganz konkret wird durch den Systemaufruf RECEIVE-DATA der Kontext der Aufgabe, welcher einen Systemaufruf erzeugt, beim Start dem TCB zugewiesen. Dann wird der Zustand der Mailbox durch die durch einen Parameter repräsentierte Mailboxnummer beurteilt. Wenn das Datum übertragen wurde, wird ein Hinweis auf das Datum in dem Bereich gespeichert, der dem Register RO in dem TCB der Aufgabe entspricht, welche den Systemaufruf erzeugt und die Zuteilung ausgeführt. In dem Fall, daß das Datum nicht übertragen wird, wartet die Aufgabe, welche den Systemaufruf erzeugt, in einer Mailbox, und der Aufgabenstatus der erzeugenden Aufgabe erhält einen Wartezustand. Der Aufgabenstatus wird im allgemeinen in dem TCB jeder Aufgabe gesichert, genauso wie der Kontext der Aufgabe.
  • Dann wird eine Identifizierung der Aufgabe mit Bezug auf die Mailbox hinzugefügt, um zu zeigen, daß die Erzeugungsaufgabe einen Wartezustand bezüglich der durch einen Parameter repräsentierten Mailbox erhält. Anschließend führt das Echtzeit-OS eine Struktur bzw. eine Fertigschlange für die Verarbeitung aller ausführbaren Aufgaben in einem Bündel durch, welches grundsätzlich auf dem Speicher gesichert ist. Die Aufgabe, welche einen Wartezustand erhalten hat, ist nicht im ausführbaren Zustand, so daß die Aufgabe von der Registrierung der Fertigschlange ausgeschlossen ist. Nach dem Ausschluß wird der gleiche Zuteilungs-Verarbeitungsvorgang ausgeführt.
  • Nachfolgend wird, im Fall der Verarbeitung eines Systemaufrufs SEND-DATA, genauso wie bei dem anderer Systemaufrufe, der Kontext der Aufgabe, welcher den Systemaufruf erzeugt, auf dem TCB aufbewahrt. Der Zustand der durch den Parameter bezeichneten Mailbox wird beurteilt. Wenn es dort keine wartende Aufgabe gibt, wird ein Hinweis auf die durch das Register RO bezeichnete Datumsfläche in der Mailbox gespeichert und der Zuteilungs-Verarbeitungsvorgang ausgeführt.
  • Für den Fall, daß eine wartende Aufgabe mit Bezug auf die Mailbox vorhanden ist, wird der Aufgabenstatus der wartenden Aufgabe auf ausführbar eingestellt, und das Kennzeichen der Aufgabe wird aus der Mailbox gelöscht und in der Fertigschlange registriert. Dann wird ein Zeiger der übertragenen Daten im Register RO der Aufgabe gespeichert, und der Zuteilungs-Verarbeitungsvorgang wird durchgeführt.
  • Fig. 4 zeigt ein Flußdiagramm der Ausführung, der in Fig. 2 dargestellten Aufgabe A und B durch Ausführen des oben erwähnten Verarbeitungsvorganges.
  • Es wird angenommen, daß die Prioritätsorder in den Aufgaben gesetzt ist, und daß die der Aufgabe B vor der der Aufgabe A liegt. Zunächst wird die Aufgabe B in den Ausführungszustand aktiviert und erzeugt eine Anforderung des Empfangs des Datums aus der Mailbox #MBO-1 durch den Systemaufruf RECEIVE-DATA. Zu diesem Zeitpunkt wird das Datum nicht an die Mailbox übertragen, so daß die zu erzeugende Aufgabe in einen Wartezustand übergeht und die Steuerung zu der Aufgabe A verschoben wird. Nach dem Erzeugen eines Datums überführt die Aufgabe A das Datum an die Mailbox #MBO-1 durch den Systemaufruf SEND-DATA. In der Mailbox #MBO-1 hat die Aufgabe B bereits einen Wartezustand eingenommen, so daß das Übertragungsdatum zu der Aufgabe B gesandt wird. Folglich wird die Aufgabe B aus dem Wartezustand gelöst und wechselt in den ausführbaren Zustand. In dem Fall des Zuteilungs-Verarbeitungsvorgangs wird die Aufgabe B ausgewählt und die Steuerung zu dieser verschoben, da die Prioritätsorder der Aufgabe B vor der der Aufgabe A ist.
  • Wie oben erwähnt, wird das herkömmliche Echtzeit-OS, welches eine Prinzipsoftware zum Realisieren der Vielaufgaben- Verarbeitung ist, durch die Kombination von Befehlen durchgeführt, so daß die Verarbeitung merklich kompliziert gestaltet ist. Die Anzahl von Schritten, die für die Verarbeitung erforderlich sind, hängt von dem Maßstab der OS ab. Einige zehn bis einige hundert Schritte sind jedoch im allgemeinen für die Verarbeitung jedes Systemaufrufs erforderlich.
  • Ferner wird das Aufbewahren des Kontextes nach der ersten und letzten Verarbeitung des OS und die Rückkehrverarbeitung notwendig, um die Zerstörung des Kontextes der Aufgaben zu vermeiden, weil die Verarbeitung jeder Aufgabe und die des OS gemeinsame Register und andere Hardware-Resourcen verwendet. Es ist allgemein üblich, daß einige zehn bis einige hundert Schritte für das Aufbewahren, die Rückkehrverarbeitung und die Zuteilungsverarbeitung erforderlich sind.
  • Die Echtzeit-OS muß einer Anzahl von Ereignissen in Echtzeit antworten, wie ihr Name wiedergibt. In dem gegenwärtigen Zustand jedoch ist es unmöglich, die Leistung zu erhalten, welche genügend Anfragen des Anwendungsprogramms befriedigen kann, weil die Verarbeitung kompliziert ist. Im Falle einer Auswertung der Leistung des Echtzeit-OS, wird die Organisationszeit des Systemaufrufs häufig ein Problem. Die Organisationszeit ist eine Zeit von der Erzeugung des Systemaufrufs bis zur Rückkehr der Steuerung in die Aufgabe. In dem oben erwähnten Beispiel beträgt, angenommen, daß die Anzahl an Schritten, die für die Erzeugung von Systemaufrufen, die Ausführung jedes Systemaufrufs nach der Bewahrung des Kontextes und der Rückkehrverarbeitung und der Zuteilungsverarbeitung erforderlich ist, 200 beträgt, die Mittelwertzahl an Takten zur Ausführung eines Befehls 10 Takte, und, falls die Arbeitsfrequenz 5 MHz beträgt, beträgt die Hauptorganisationszeit 400 Mikrosekunden.
  • Diese Zeit ist in dem Anwendungsgebiet, welches insbesondere die Echtzeitcharakteristik benötigt, nicht vernachlässigbar. Demgemäß ist es ein Problem, die organisatorische Operationszeit für die Planung des Echtzeit-OS zu verringern.
  • Ferner geschieht es in dem Anwendungssystem, welches das Echtzeit-OS benutzt, häufig, daß der Ablauf der Verarbeitung im Fall mehrerer Unterbrechungen wechselt, so daß es notwendig ist, die Antwortcharakteristik auf die Unterbrechung zu verbessern. Im Gegensatz dazu bearbeitet das OS, welches die Multiaufgaben-Verarbeitung steuert, eine gemeinsame Datenstruktur, welche den jeweiligen Zustand der Aufgaben und Aufgaben in ausführbarem Zustand gemäß der Prioritätsorder handhabt. Demgemäß gibt es viele Teile, welche vor den Unterbrechungen, welche asynchron von außen erzeugt werden, geschützt werden müssen, um die Konkurrenz von Zugriffen zu verhindern.
  • Das Beispiel der Fehleroperation für den Fall, daß es keinen Schutz gegen Unterbrechungen gibt, wird konkret beschrieben. Es wird angenommen, daß eine Unterbrechung auf dem Pegel von INT durch den in Fig. 3 gezeigten Systemaufruf RECEIVE-DATA erzeugt wird. Fig. 5 gibt die Unterbrechungs-Verarbeitungsroutine wieder, die durch die Unterbrechung INT gestartet wird. Die Unterbrechungs-Verarbeitungsroutine wird im allgemeinen in dem Zustand durchgeführt, in dem die Unterbrechung nicht ausgeführt werden kann, so daß sie einen Systemaufruf zur Anforderung der Zuteilung nach der einfachen Verarbeitung erzeugt.
  • Wenn nun die Unterbrechung an dem Pegel INT während der Verarbeitung des Systemaufrufs RECEIVE-DATA erzeugt wird, befindet sich die den Systemaufruf erzeugende Aufgabe in dem Verfahren zum Wechseln in den Wartezustand, wobei der Aufgabenstatus zum Wartezustand wird und die Identifizierung der Aufgabe mit Bezug auf die Mailbox registriert wird. Die Unterbrechungs-Verarbeitungsroutine, zu welcher die Steuerung verschoben wird, erzeugt eine Zuteilungs-Verarbeitungsanforderung nach dem einfachen Verarbeitungsvorgang. In dem Zuteilungs-Verarbeitungsvorgang des OS werden Fertigschlangen beurteilt, und die Aufgabe an der höchsten Prioritätsorder wird ausgewählt. Dann wird die Aufgabe, welche den unterbrochenen Systemaufruf RECEIVE-DATA erzeugt, nicht von der Registrierung der Fertigschlange ausgeschlossen. Demgemäß wird die zu erzeugende Aufgabe wieder durch den Zuteilungs-Verarbeitungsvorgang ausgewählt und kehrt in einen Ausführungszustand zurück. Die Aufgabe, welche die Ausführung wiedereröffnet, urteilt, daß das Datum durch die Erzeugung des Systemaufrufes RECEIVE-DATA empfangen worden ist und setzt die Ausführung des Verarbeitungsvorganges fort. Der Hinweis an das empfangene Datum jedoch wird zu einem unsicheren Wert, so daß die folgende Operation nicht sichergestellt ist.
  • Demgemäß ist es notwendig, im Falle des in der vorliegenden Erfindung erwähnten Systemaufrufs vor der Unterbrechung im Hauptteil des Verarbeitungsvorganges einen Schutz vorzusehen.
  • Je mehr Schutzelemente existieren, desto mehr wird die Stabilität des gesamten Systems verbessert. Im Gegensatz dazu wird die Unterbrechung-Anwortcharakteristik gesenkt, was auch ein Problem beim Planen des Echtzeit-OS ist.
  • Zusammenfassung der Erfindung
  • Demgemäß ist eine Aufgabe der vorliegenden Erfindung, ein Multiaufgaben-Verarbeitungsgerät zu schaffen, welches zumindest einen der oben erwähnten Nachteile des herkömmlichen Gerätes überwunden hat.
  • Eine weitere Aufgabe der vorliegenden Erfindung ist, ein Multiaufgaben-Verarbeitungsgerät zu schaffen, welches die Verarbeitung des Aufbewahrens und Zurückbringens des Kontextes einer Aufgabe minimiert, so daß es mit hoher Geschwindigkeit arbeiten kann.
  • Noch eine weitere Aufgabe der vorliegenden Erfindung ist, ein Multiaufgaben-Verarbeitungsgerät zu schaffen, welches die Organisationszeit des Echtzeit-Operationssystems stark verringern kann, um so Anwendungsprogramme in einer Multiaufgabenform effektiv auszuführen.
  • Eine weitere Aufgabe der vorliegenden Erfindung ist, ein Multiaufgaben-Verarbeitungsgerät zu schaffen, das derart ausgebildet ist, daß verschiedene, für eine Multiaufgabenverarbeitung notwendige Funktionen mit hoher Geschwindigkeit mittels eines Mikroprogramms in Form eines Systemaufruf-Befehls ausgeführt werden.
  • Noch eine weitere Aufgabe der vorliegenden Erfindung ist, ein Multiaufgaben-Verarbeitungsgerät zu schaffen, welches eine Unterbrechungsanfrage im Laufe der Verarbeitung eines Systemaufrufs für das Echtzeit-Operationssystem bearbeiten kann, ohne die Unterbrechung zu verhindern.
  • Die obigen und andere Aufgaben der vorliegenden Erfindung, wie in Anspruch 1 fortgesetzt, werden in Übereinstimmung mit einem Aspekt der vorliegenden Erfindung gelöst durch ein Multiaufgaben-Verarbeitungsgerät, welches einen Computer mit einer zentralen Verarbeitungseinheit umfaßt, der mit einem Mikroprogrammspeicher und einem Speicher ausgestattet ist, dadurch gekennzeichnet, daß eine Verarbeitungsanforderung an das Echtzeit-OS, welche für die Ausführung der Multiaufgaben-Verarbeitung erforderlich ist, als exklusiver Befehl bearbeitet wird, daß es Mittel für die Dekodierung des exklusiven Befehls, Hardware-Resourcen für die Realisierung des Befehls und ein Mikroprogramm für die Realisierung des Befehls umfaßt, und daß es ferner Mittel dafür umfaßt, das die Verarbeitungsanforderung an das Echtzeit-OS als exklusiver Befehl durch die Mittel zur Dekodierung dekodiert und durch die Hardware-Resourcen, entsprechend dem in dem Mikroprogrammspeicher gespeicherten Mikroprogramm, ausgeführt wird.
  • Die obigen und anderen Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden aus der folgenden Beschreibung bevorzugter Ausführungsformen der Erfindung mit Bezug auf die beigefügten Zeichnungen offensichtlich.
  • Kurzbeschreibung der Zeichnungen
  • Fig. 1 gibt die herkömmliche Verarbeitung des Systemaufrufs wieder;
  • Fig. 2 ist ein Ablaufdiagramm der Erzeugung des Systemaufrufs, welcher den Vorgang Datenübertragung-Datenempfang in der Multiaufgaben-Verarbeitung betrifft;
  • Fig. 3 ist ein Ablaufdiagramm der Kombination der Befehle des Datenübertragung-Datenempfang-Systemaufrufs;
  • Fig. 4 ist ein Ablaufdiagramm der Verarbeitung jeder Aufgabe in dem Multiaufgaben-Verarbeitungsvorgang;
  • Fig. 5 ist ein Ablaufdiagramm der Unterbrechungs-Verarbeitungsroutine;
  • Fig. 6 stellt den gesamten Aufbau einer ersten Ausführungsform des Multiaufgaben-Verarbeitungsgerätes gemäß der vorliegenden Erfindung dar;
  • Fig. 7 ist ein Ablaufdiagramm der Verarbeitung des Systemaufrufbefehls START in der ersten Ausführungsform;
  • Fig. 8 ist ein Ablaufdiagramm der Verarbeitung des Systemaufrufbefehls SUSPEND in der Ausführungsform 1;
  • Fig. 9 zeigt den gesamten Aufbau einer zweiten Ausführungsform des Multiaufgaben-Verarbeitungsgerätes;
  • Fig. 10 ist ein Ablaufdiagramm der Verarbeitung des Systemaufrufbefehls START in der zweiten Ausführungsform;
  • Fig. 11 ist ein Blockdiagramm einer dritten Ausführungsform des Multiaufgaben-Verarbeitungsgerätes;
  • Fig. 12 ist ein Blockdiagramm einer vierten Ausführungsform des Multiaufgaben-Verarbeitungsgerätes;
  • Fig. 13 und Fig. 14 sind Ablaufdiagramme der Verarbeitung jeder Aufgabe des Multiaufgaben-Verarbeitungsvorganges;
  • Fig. 15 ist ein Format des Systemaufruf-Exklusivbefehls.
  • Beschreibung der bevorzugten Ausführungsformen
  • Bezug nehmend auf Fig. 6 wird dort in einem Blockdiagramm der Gesamtaufbau einer ersten Ausführungsform des Multiaufgaben-Verarbeitungsgerätes gemäß der vorliegenden Erfindung gezeigt. In dieser Ausführungsform wird der Start einer Aufgabe und die Aussetzung und Wiedereröffnung der Aufgabe in der Aufgaben-Managementfunktion beschrieben.
  • In der gezeigten Ausführungsform ist ein Computer 100 aus einer zentralen Verarbeitungseinheit 101 (nachfolgend "CPU" genannt), die die Operationen und Verarbeitung von Daten ausführt, und einem Speicherteil 113, welcher das Anwendungsprogramm speichert und einen Bereich für die Steuerung des Echtzeit-OS besitzt, aufgebaut. Die CPU 101 umfaßt ein Befehlsregister 102 (nachfolgend "IR" genannt), einen Dekoder 103, welcher den Inhalt des IR 102 dekodiert und eine Adresse des Mikroprogrammspeichers erzeugt, ein Mikro-ROM 104, welches das Mikroprogramm jedes Befehls speichert, ein Register 105, ein temporäres Register 106, das für die Ausführung des Befehls verwendet wird, eine arithmetische und logische Einheit 107 (nachfolgend "ALU" genannt), ein Programmstatuswort 108 (nachfolgen "PSW" genannt), ein Fertigschlangen-Managementteil 109, welcher die Aufgaben im ausführbaren Zustand handhabt und die Registrierung und Eliminierung des ausführbaren Zustands von Aufgaben entsprechend dem Signal durch das Mikroprogramm ausführt, einen TCB- Adressengenerator 110, welcher eine Adresse des TCB erzeugt, der die Aufgabe besitzt, basierend auf der Information der bezeichneten Aufgabe als Operanden des Systemaufrufbefehls, und einen Bus-Steuerteil 111, welcher entsprechend dem Signal von dem TCB-Adressengenerator 110 eine Adresse an einen Adressenbus sendet. Der Speicherteil 113 umfaßt ein Anwendungsprogramm 117, das in mehrere Aufgaben unterteilt ist, einen TCB 114 der Aufgabe 1, welcher ein Steuerblock der für die Multiaufgaben-Verarbeitung erforderlichen Aufgabe ist, einen TCB 115 der Aufgabe 2 und einen TCB 116 der Aufgabe 3.
  • In der vorliegenden Ausführungsform wechselt eine Aufgabe zwischen vier Zuständen, das heißt, einem Ruhezustand, einem ausführbaren Zustand, einem Ausführungszustand und einem Wartezustand. Die Parallelverarbeitung von drei Aufgaben, Aufgabe 1, 2 und 3 wird ausgeführt. Die Aufgabe 1 besitzt die höchste Prioritätsorder. Die Prioritätsorder der Aufgabe 2 ist vor der der Aufgabe 3. Ein Systemaufrufbefehl liefert durch den Operanden Informationen, wie beispielsweise eine Aufgabennummer, welche für die Realisierung der Funktionen notwendig sind. Als Aufgabennummer wird die Identifikationsaufgabennummer ID benutzt, welche jeder Aufgabe vorher zugewiesen wird.
  • Zunächst wird die Operation beschrieben, bei der die Aufgabe 1 der höchsten Prioritätsorder die Aufgabe 2 als Ausführungsaufgabe startet.
  • Die Aufgabe 1, welche die Ausführungsaufgabe ist, führt einen Systemaufrufbefehl START aus, welcher die Aufgabe startet, die die durch den Operanden bestimmte ID besitzt, um die Aufgabe 2 in den Ruhezustand zu bringen. Der Befehlscode, der den op-Code des START-Befehls anzeigt und der Befehlscode, der die ID-Nummer der Aufgabe 2 wiedergibt, ist ein Operand und wird in dem IR 102 gespeichert, der Dekoder 103 analysiert in dem IR 102, wobei der Dekoder 103 den Befehlscode analysiert, und die Adresse des entsprechenden Mikroprogramms wird in den Mikro-ROM 104 eingegeben. Die Verarbeitung des START-Befehls wird entsprechend dem von dem Mikro-ROM 104 erzeugten Signal mittels des temporären Registers 106, der ALU 107, dem TCB-Adressengenerator 110 und dem Fertigschlangen-Managementteil 109 in dem in Fig. 7 dargestellten Ablauf ausgeführt. Das Signal zum Erhalten der TCB-Adresse der Aufgabe 2 von dem ID der Aufgabe 2, welcher der Operand ist, wird an die TCB-Adressen- Erzeugungssignal-Setzleitung 120 gesandt. Der TCB-Adressengenerator 110 erzeugt die Adresse des TCB 2 der Aufgabe 2 auf dem Speicherteil 113 und überträgt diese an den Buskontroller 111. Die Aufgaben-Statusinformation, die den Zustand der Aufgabe in dem TCB 2 wiedergibt, wird dem Datenbus 112 entnommen, durch das Aufgabenstatus-Modifikationssignal 123 gesetzt, um den ausführbaren Zustand aus dem Ruhezustand wiederzugeben, und in den TCB 2 zurückgeschrieben. Dann wird das Fertigschlangen-Registrierungssignal 121 der Aufgabe 2 erzeugt, und die Aufgabe 2 wird als ausführbare Aufgabe in dem Fertigschlangen-Managementteil 109 registriert, in der das Echtzeit-OS die ausführbaren Aufgaben handhabt. Anschließend wählt entsprechend dem Ausführungsaufgaben-Auswahlsignal 124 der Fertigschlangen-Managementteil 109 die Aufgabe ID aus, um als nächstes ausgeführt zu werden. Wenn die ausgewählte Aufgabe sich von der den Systemaufruf erzeugenden Aufgabe unterscheidet, wird das Aufbewahren und Zurückschicken des Kontextes der Aufgabe ausgeführt. In diesem Fall jedoch ist die Prioritätsorder der Aufgabe 1 vor der der Aufgabe 2, so daß die Aufgabe 1 (das heißt, die Systemaufruf-Befehlsausführungsaufgabe) ausgewählt wird. Deshalb ist das Zurückschicken und Aufbewahren des Kontextes der Aufgabe nicht notwendig und die Systemaufrufverarbeitung wird zügig beendet. Die Ausführung wird zu dem nächsten Systemaufrufbefehl START der Aufgabe 1 verschoben.
  • Die Operation der Aussetzung der Aufgabe 1 für den Fall, daß die Aufgabe 1 sich im Ausführungszustand und die Aufgabe 2 im ausführbaren Zustand befindet, wird beschrieben.
  • Die Ausführungsaufgabe 1 zeigt die ID der gleichen Aufgabe als Operand, um die Aufgabe auszusetzen, wenn die Aufgabe 1 mit der Aufgabe 2 synchron ist, und führt den Systemaufrufbefehl SUSPEND aus, welcher die Aufgabe aussetzt und diese in den wieder offenen Wartezustand überführt. Entsprechend dem in dem Mikro-ROM 104 gespeicherten Mikroprogramm realisiert der SUSPEND-Befehl die Verarbeitung, wie sie in dem Ablaufdiagramm in Fig. 8 dargestellt ist, mittels des TCB- Adressengenerators 110 und des Fertigschlangen-Managementteils 109 sowie des oben erwähnten START-Befehls. Mit anderen Worten wird die TCB-Adresse der Aufgabe 1 von der ID der Aufgabe 1, welche ein Operand ist, erhalten, und der Aufgabenstatus in dem TCB 1 wird gelesen und gesetzt, so daß der Aufgabenstatus den für eine Anfrage wieder offenen Wartezustand zeigt. Der Aufgabenstatus wird zurückgeschrieben. Dann wird das Fertigschlangen-Eliminierungssignal 122 erzeugt und die Registrierung der Aufgabe 1 als ausführbare Aufgabe wird in dem Fertigschlangen-Managementteil eliminiert. Entsprechend dem Ausführungsaufgaben-Auswahlsignal 124 wird die ID der Aufgabe 2 als Aufgabe, die als nächstes in dem Fertigschlangen-Managementteil 109 ausgeführt werden soll, ausgewählt. Die Aufgabe 2 unterscheidet sich von der Systemaufruf-Befehlsausführungsaufgabe (Aufgabe 1), so daß der Kontext der Aufgabe 1 in dem TCB 1 der Aufgabe 1 aufbewahrt wird und der Kontext der Aufgabe 2 aus dem TCB 2 zurückgebracht wird. Demgemäß wird der gehaltene Kontext der Aufgabe 2 zurückgebracht und die Ausführung nach der Systemaufrufverarbeitung wieder eröffnet. Wenn eine Unterbrechung am Pegel 1 in Fig. 3 während der Systemaufruf-Befehlsverarbeitung erzeugt wird, ist eine Fehleroperation des Systems aufgetreten, falls die Unterbrechung in der CPU gesperrt ist. In der vorliegenden Ausführungsform jedoch wird die Systemaufrufverarbeitung durch einen Befehl ausgeführt, welcher erlaubt, die Erzeugung der Fehleroperation zu verhindern. Zudem wird die Unterbrechungsanforderung an diesem Punkt aufgespart und nach der Verarbeitung des Befehls ausgeführt. Deshalb ist es nicht notwendig, sich um den durch die Ausführung des Echtzeit-OS erfolgenden Überfluß zu sorgen.
  • Fig. 9 zeigt den Gesamtaufbau einer zweiten Ausführungsform. Ein Computer 200 ist aus einer CPU 201 aufgebaut, welche die Operation und Verarbeitung von Daten ausführt, und einem Speicherteil 213, welches ein Anwendungsprogramm speichert. Die CPU 201 umfaßt ein IR 202, einen Dekoder 203, welcher den Inhalt des IR 202 dekodiert und eine Adresse des Mikroprogrammspeichers erzeugt, einen Mikro-ROM 204, welcher das Mikroprogramm jedes Befehls speichert, eine Gruppe von Registerreihen 205, die aus Registerreihen 205-1 bis 205-3 aufgebaut ist, die Register entsprechend der jeweiligen Aufgabe und Aufgabenstatus-Speicherbereiche enthalten, ein temporäres Register 206, das für die Ausführung des Befehls verwendet wird, eine ALU 207, eine PSW 208, ein Fertigschlangen-Managementteil 209, welche die Aufgaben in dem ausführbaren Zustand handhabt und die Registrierung und Eliminierung der Aufgaben im ausführbaren Zustand entsprechend dem Signal durch das Mikroprogramm ausführt, einen Registerreihenkontroller 210, welcher ein Indikatorsignal der von der Aufgabe besetzten Registerreihe erzeugt, basierend auf den Informationen der als Operand des Systemaufrufs bezeichneten Aufgabe und der Informationen der als Ausführungsaufgabe durch den Fertigschlangen- Managementteil 209 ausgewählten Aufgabe und einen Buskontroller 211, welcher entsprechend einem Signal von dem Mikro-ROM 204 eine Adresse an den Adressenbus sendet. In dem Speicherteil 213 ist das Anwendungsprogramm 214, das in mehrere Aufgaben unterteilt ist, angeordnet.
  • In der vorliegenden Ausführungsform wechselt eine Aufgabe zwischen vier Zuständen, das heißt, einem Ruhezustand, einem ausführbaren Zustand, einem Ausführungszustand, einem Wartezustand, und die Verarbeitung der Aufgaben 1, 2 und 3 wird auch parallel ausgeführt. Die Aufgabe 1 besitzt die höchste Prioritätsorder. Die Prioritätsorder der Aufgabe 2 ist vor der der Aufgabe 3. Der Systemaufrufbefehl liefert die Informationen, die für die Realisierung der Funktionen erforderlich ist, wie beispielsweise die Aufgaben ID-Nummer in Form eines Operanden.
  • Die Operation für den Falle, daß die Aufgabe 2 und die Aufgabe 1 mit höchster Prioritätsorder startet.
  • Die Aufgabe 2, welche eine Ausführungsaufgabe ist, führt den Systemaufrufbefehl START aus, welcher eine Aufgabe startet, die die durch den Operanden bezeichneten ID besitzt, um die Aufgabe 1 im Ruhezustand zu starten. Der op- Code des START-Befehls und der Befehlscode der die ID-Nummer der Aufgabe 1 wiedergibt, welche ein Operand ist, werden in dem IR 202 gespeichert. Der Dekoder 202 analysiert den Befehlscode und sendet eine Adresse des entsprechenden Mikroprogramms an den Mikro-ROM 204. Die Verarbeitung des START-Befehls wird entsprechend dem durch den Mikro-ROM 204 erzeugten Signal mittels dem temporären Register 206, der ALU 207, dem Registerreihenkontroller 210 und dem Fertigschlangen-Managementteil 209 in dem in Fig. 10 dargestellten Ablauf ausgeführt. Das Signal 220 zum Auswählen der Registerreihe 205-1 der Aufgabe 1 von der ID der Aufgabe 1, welche ein Operand ist, wird in den Registerreihenkontroller 210 eingegeben. Der Registereihenkontroller 210 überträgt das Signal 225, das den Aufgabenstatus der Registerreihe 205-1 der Aufgabe 1 anzeigt, welche in der Gruppe von Registerreihen 205 existiert. Die Aufgabenstatusinformation, die den Zustand der Aufgabe in der Registerreihe 205- 1 wiedergibt, wird dem Datenbus 212 entnommen. Das Aufgabenstatus-Modifikationssignal 223 setzt es in einen Zustand, der einen ausführbaren Zustand von dem Ruhezustand wiedergibt. Die Information wird in die Registerreihe 205-1 zurückgeschrieben. Dann erzeugt der Mikro-ROM 204 das Fertigschlangen-Registrierungssignal 221 der Aufgabe 1, so daß die Aufgabe 1 als eine ausführbare Aufgabe in dem Fertigschlangen-Managementteil 209 registriert ist, in dem das Echtzeit-OS die ausführbaren Aufgaben handhabt. Entsprechend dem Ausführungsaufgaben-Auswahlsignal 224, wird in dem Fertigschlangen-Managementteil 209 die Aufgabe mit höchster Prioritätsorder, welche als nächste auszuführende Aufgabe ID gestartet wird, ausgewählt, und das Registerreihen-Auswahlsignal 226 wird an den Registerreihenkontroller 210 übertragen. Der Registerreihenkontroller 210 erzeugt das Registerreihen-Kommutationssignal 227, um die Steuerung zu der Registerreihe 205-1 zu verschieben. Somit wird die Aufgabe 1 ausgeführt.
  • In der zweiten Ausführungsform besitzt jede Aufgabe ihr charakteristisches Register, so daß die Hardware, die charakteristisch für die Multiaufgaben-Verarbeitung ist, verbessert wird. Jedoch auch in dem Fall der Kommutation der Ausführungsaufgabe ist es nicht notwendig, den Kontext der alten Ausführungsaufgabe aufzubewahren und den Kontext der neuen Ausführungsaufgabe zurückzubringen. Demgemäß ist die Leistung der Ausführung im Vergleich mit der ersten Ausführungsform verbessert. Zudem wird die Verarbeitung durch einen einzelnen exklusiven Befehl in der vorliegenden Ausführungsform wie auch in der ersten Ausführungsform realisiert, so daß die Antwortcharakteristik auf die Unterbrechung deutlich verbessert ist, im Vergleich mit der des Standes der Technik.
  • Wie oben erwähnt, ist es in dem obigen Multiaufgaben-Verarbeitungsgerät gemäß der vorliegenden Erfindung möglich, möglicherweise die Verarbeitung des Aufbewahrens und Zurückbringens des Kontextes der Aufgabe zu reduzieren, so daß das Echtzeit-OS die erforderlichen Funktionen für die Multiaufgaben-Verarbeitung als Systemaufrufbefehl durch das Mikroprogramm mit höherer Geschwindigkeit ausführen kann. Deshalb wird die organisatorische Operationszeit des Echtzeit-OS deutlich reduziert, was erlaubt, die effektivere Verarbeitung der Anwendung durch die Multiaufgaben-Verarbeitung zu realisieren.
  • Ferner wird jede Funktion, die für die Multiaufgaben-Verarbeitung erforderlich ist, als exklusiver Systemaufrufbefehl ausgeführt. Demgemäß ist es nicht notwendig, die während der Systemaufrufverarbeitung des Echtzeit-OS erzeugte Sperrung der Unterbrechung gesondert zu berücksichtigen, was im Falle der herkömmlichen Verarbeitung der Befehlskombinationen nicht verhindert wurde, und es ist möglich, den Überfluß der Unterbrechungen während der Verarbeitung des Echtzeit-OS zu verhindern. Als Ergebnis ist es möglich, einen beachtlichen Effekt in der Verbesserung der Antwortcharakteristik auf die Unterbrechung des Systems zu bringen.
  • Fig. 11 zeigt eine dritte Ausführungsform des Multiaufgaben-Verarbeitungsgerätes, welches aus einem Computer mit Hardware-Resourcen und einem für die Multiaufgaben-Verarbeitung erforderlichen Mikroprogrammspeicher zusammengesetzt ist. Insbesondere ist das dargestellte Gerät aus einer zentralen Verarbeitungseinheit 301 und einem Speicher 302 aufgebaut.
  • Ein Adressengenerator 303 erzeugt eine Adresse an den Speicher am Speicherzugriff und an der Auslesung des Operationscodes. Ein Befehlspuffer 304 speichert temporär einen ausgelesenen Befehl und ein Befehlsdekoder 306 dekodiert einen Operationscode, so daß eine Eingangsadresse in den Mikroprogrammspeicher 311 erzeugt wird. Ein Mikroprogramm- Adressengenerator 307 erzeugt eine Adresse aufgrund der durch den Befehlsdekoder 306 erzeugten Eingangsadresse oder der durch den Mikroprogrammspeicher 311 erzeugten Information, die nachfolgend ausgeführt werden muß. Wenn der Parameter eines Systemaufrufs als Operand eines exklusiven Befehls existiert, speichert ein Operand 305 den Operanden.
  • Eine Registerreihe 312, die aus mehreren Reihen aufgebaut ist, umfaßt einen Satz von weitgenutzten Registern, welcher für die Verarbeitung des Programms notwendig ist, andere Adressenregister und einen PSW-Aufbewahrungsbereich. Die vielen Reihen entsprechen jeweils den vielen Aufgaben und halten jeden Kontext bei der Erzeugung des exklusiven Befehls des Systemaufrufs bis sie bei der Zuteilungsverarbeitung des Mikroprogramms ausgewählt werden. Demgemäß sind das Aufbewahren des Kontextes in dem TCB und die Rückkehrverarbeitung, welche erforderlich sind, wenn die Verarbeitung jeder Aufgabe und die des OS mit gemeinsamen Ressourcen in einer einzigen zentralen Verarbeitungseinheit ausgeführt werden, nicht notwendig, und in dem Fall der Kommutation von Aufgaben ist nur die Kommutation von Reihen mit einem solchen Aufbau der Hardware unentbehrlich.
  • Ein Registerreihen-Managementteil 308 arbeitet durch die Zuteilungsverarbeitung an dem Teil, der anzeigt, welche Registerreihe das Objekt der Operation der zentralen Verarbeitungseinheit zu einem bestimmten Zeitpunkt ist. Eine Registerauswahleinrichtung 309 erzeugt ein Signal zum temporären Auswählen eines Registers von den Auswahlsignalen durch das Mikroprogramm 311 und von Reihenauswahlsignalen durch das Registerreihen-Managementteil 308.
  • Eine ALU 314, welche eine Operationsteil ist, verwendet einen Satz temporärer Register 313, um die Operationsverarbeitung auszuführen. Eine PSW 315 hält Arten von Flags, die das Ergebnis der Operation reflektieren.
  • Ein TCB 316, eine Fertigschlange 317 und eine Mailbox 318 sind Hardware-Resourcen, welche jede für sich notwendig für die Ausführung der Multiaufgaben-Verarbeitung ist. Der TCB 316 umfaßt TCB's, die jeweils den notwendigen Aufgaben entsprechen, und jede Aufgabe speichert den Aufgabenstatus und die Prioritätsorder der Aufgabe etc. Die Nummer der Fertigschlange 317 ist die gleiche, wie die der Prioritätsorder, und die Fertigschlange hält Identifizierungen der ausführbaren Aufgabe. Die Mailboxes 318 existieren mit der gleichen Nummer der Mailboxes. Der Aufbau jeder Mailbox 318 organisiert eine Identifizierung der Aufgabe, welche in einer Mailbox wartet, und einen Hinweis an den Bereich, der auf den Datenempfang wartet. Zudem erzeugt ein Auswahlsignalgenerator 310 ein Auswahlsignal an einen TCB 316, eine Fertigschlange 317 und eine Mailbox 318 aufgrund der in dem Operandenspeicher 305 gespeicherten Information und dem Signal von dem Mikroprogramm 311.
  • Ein Unterbrechungsanforderung-Halteteil 319 ist ein Register zum Speichern, damit die Unterbrechungs-Anforderungssignale 320 konstant erzeugt werden, wenn die Signale 320 erzeugt werden.
  • Die Beschreibung der Verarbeitung des Systemaufruf-Exklusivbefehls RECEIVE-DATA folgt.
  • Der RECEIVE-DATA besitzt eine Mailboxnummer als Eingabeparameter und einen Hinweis auf das Empfangsdatum als Ausgangsparameter. Fig. 15 stellt den Aufbau eines Systemaufruf-Exklusivbefehls dar. Die Mailboxnummer, welche ein Eingabeparameter ist, ist als Operand des Exklusivbefehls in einem Byte gespeichert, welcher dem Operationscode folgt. In dem vorliegenden Beispiel bezeichnet die Mailboxnummer die Mailbox MBO-1. Der Hinweis auf das Empfangsdatum als Ausgangsparameter ist in dem Register RO gespeichert. Der Operationscode des in dem Befehlspuffer 304 gespeicherten Exklusivbefehls wird durch den Befehlsdekoder 306 dekodiert und erzeugt eine Eingangsadresse an den Mikroprogrammspeicher. Andererseits ist die Mailboxnummer als Operand in dem Operandenspeicher 305 gespeichert.
  • Zu Beginn der Mikroprogrammverarbeitung wird ein Auswahlsignal an die MBO-1 von der in dem Operandenspeicher 305 gespeicherten Mailboxnummer erzeugt, und der Zustand der MBO-1 wird beurteilt. In dem Fall, daß der Hinweis auf das Empfangsdatum gespeichert ist, wurde das Datum bereits von der Aufgabe übertragen, und die erzeugende Aufgabe empfängt diesen Hinweis. Die Registerreihe-Managementteile 308 weisen die Registerreihe entsprechend der Aufgabe zu, welche dann einen Systemaufruf-Exklusivbefehl erzeugt, und das Register RO der Reihe speichert den Hinweis des Datums. Nach der Speicherung wird die Zuteilungsverarbeitung ausgeführt. In der Zuteilungsverarbeitung wird das PRO mit der höheren Prioritätsorder mit der Fertigschlange 307 beurteilt. Wenn eine Identifizierung einer Aufgabe existiert, wird die Aufgabe ausgewählt, so daß die Steuerung zu dieser Aufgabe verschoben wird. In dem Fall, daß die der ausgewählten Aufgabe entsprechende Reihe sich von der Registerreihe in dem Augenblick unterscheidet, wird die Information des Registerreihe-Managementteils 308 erneuert und die Registerreihe getauscht, und die Steuerung wird zu der Aufgabe verschoben.
  • Wenn der Hinweis auf das Empfangsdatum nicht in der Mailbox MBO-1 gespeichert ist, wartet die erzeugende Aufgabe in der Mailbox. Der Auswahlsignalgenerator 310 erzeugt ein Auswahlsignal an einen TCB entsprechend der erzeugenden Aufgabe in dem TCB 16 und modifiziert den Aufgabenstatus zum Mailbox-Wartezustand. Nachfolgend wird die Identifizierung der erzeugenden Aufgabe mit Bezug auf MBO-1 gespeichert und die Registrierung der Identifizierung der Aufgabe wird aus dem Managementbereich, der dem Prioritätsrang der erzeugenden Aufgabe der Fertigschlange 317 entspricht, eliminiert.
  • Beim letzten Mikroprogramm der Zuteilungsverarbeitung wird beurteilt, ob eine Unterbrechungsanforderung in dem Unterbrechungsanforderung-Halteteil 319 vorliegt oder nicht. Falls die Unterbrechungsanforderung existiert, wird die Steuerung nicht zu der Aufgabe zurückgebracht, und das Unterbrechungs-Verarbeitungs-Mikroprogramm wird gestartet.
  • Die ALU 314 und der Satz temporärer Register 313 werden für die Datenverarbeitung und das Halten temporärer Daten verwendet, falls es während des Prozesses notwendig ist.
  • Die oben beschriebene Lösung erlaubt, einen Systemaufruf an das Echtzeit-OS als Exklusivbefehl zu realisieren.
  • Fig. 12 zeigt eine Ausführungsform des Aufbaues des Multiaufgabenprozessors mit einer zentralen Verarbeitungseinheit und einem Speicher 302, der gleich dem aus Fig. 11 ist, in welchem aber die Datenstruktur, wie beispielsweise ein TCB und eine Mailbox, nicht als Hardware ausgebildet ist und auf dem externen Speicher entwickelt wird. Hier wird die Mailbox nicht beschrieben.
  • Ein Adressengenerator 303, ein Befehlspuffer 304, ein Operandenspeicher 305, ein Befehlsdekoder 306, ein Mikroprogramm-Adressengenerator 307, ein Registerreihen-Managementteil 308, eine Registerauswahleinrichtung 309, ein Mikroprogrammspeicher 311, eine Registerreihe 312, einen Satz temporärer Register 313, eine ALU 314, ein PSW 315, eine Fertigschlange 307, ein Unterbrechungsanforderungs-Halteteil 319 und ein Unterbrechungsanforderungssignal 320 besitzen jeweils die gleiche Funktion der dritten Ausführungsform. Der TCB ist nicht als spezieller Hardwareaufbau ausgebildet und als Datenstruktur auf dem externen Speicher organisiert.
  • Eine Steuerblock-Adressengenerator 316 erzeugt eine Adresse an die Datenstruktur, wie beispielsweise dem auf dem externen Speicher entwickelten TCB, durch die Indizierung von dem Mikroprogramm 11 und die Information des Operandenspeichers 305.
  • Die Operation der Systemaufruf-Exklusivbefehle START-TASK, SUSPEND-TASK, RESUME-TASK und der Ablauf der Steuerung der erzeugenden Aufgabe, wenn der Hardwareaufbau verwendet wird, wird beschrieben.
  • Fig. 15 zeigt den Aufbau der Systemaufruf-Exklusivbefehle. Der START-TASK und der RESUME-TASK speichert jeweils eine Identifizierung in einem Byte, welches dem Operationscode folgt. Der Operand ist nicht in dem Aufbau des SUSPEND-TASK enthalten.
  • Fig. 13 zeigt ein Beispiel der aus zwei Aufgaben, das heißt, einer Aufgabe C mit hoher Prioritätsorder und eine Aufgabe D mit niedriger Prioritätsorder, aufgebauten Multiaufgabenverarbeitung. Im Ausgangszustand ist die Aufgabe C ausführbar, aber die Aufgabe D ist nicht ausführbar. Die Aufgabe C erzeugt einen systemaufruf-Exklusivbefehl START- TASK #D, der die Aufgabe D in dem Prozeß aktiviert. Der Exklusivbefehl wird der zentralen Verarbeitungseinheit 1 eingegeben und durch den Befehlsdekoder 306 über den Befehlspuffer 304 dekodiert. Die Kopfadresse an das Mikroprogramm 311 wird durch den Befehlsdekoder erzeugt, und das Mikroprogramm wird gestartet.
  • Bei der ersten Verarbeitung des Mikroprogramms wird der Steuerblock-Adressengenerator 316 gesteuert, um eine Adresse an den TCB zu erzeugen, welcher der Aufgabe D entspricht, die auf dem Speicher D von der Identifizierung der in dem Operandenspeicher 305 gespeicherten Aufgabe #D aufgebaut ist. Die erzeugte Adresse an den TCB wird zu der Adresse des praktisch physikalischen Namenspeichers konvertiert, indem der Adressengenerator 303 passiert wird, um so auf den Ziel-TCB auf dem Speicher zuzugreifen. Der Aufgabenstatus in dem TCB der Aufgabe D ist an diesem Schritt nicht ausführbar, welcher jedoch in den ausführbaren Zustand modifiziert wird. Am nächsten Schritt wird die Prioritätsorder der Aufgabe D gelesen und die Identifizierung in dem entsprechenden Prioritätsorderbereich der Fertigschlange 317 gespeichert.
  • Dann wird in der Zuteilungsverarbeitung die Aufgabe mit höchster Prioritätsorder ausgewählt. In diesem Fall ist die Aufgabe D vor der Aufgabe C, so daß die Aufgabe D ausgewählt wird. Eine der Aufgabe D entsprechende Registerreihe und das Registerreihe-Managementteil 8 werden erneuert, so daß die Steuerung zu der Aufgabe D verschoben wird.
  • Fig. 13 zeigt, daß die Steuerung von der Aufgabe C zu der Aufgabe D durch die oben erwähnte Verarbeitung verschoben wird.
  • Fig. 14 gibt ein Beispiel eines Systemaufruf-Exklusivbefehls SUSPEND-TASK wieder, welches die Aufgabe temporär aussetzt, und einen anderen Systemaufruf-Exklusivbefehl RESUME-TASK, welcher den suspendierten Zustand der Aufgabe löst.
  • Die Prioritätsorder der Aufgabe E ist vor der der Aufgabe F. An dem Ausgangszustand ist die Aufgabe E ausführbar und die Aufgabe F nicht ausführbar. Die Aufgabe E erzeugt einen Systemaufruf-Exklusivbefehl SUSPEND-TASK, um temporär ausgesetzt zu werden. Durch den oben erwähnten Prozeß wird das Mikroprogramm gestartet
  • Zunächst wird die Identifizierung der in Betrieb befindlichen Aufgabe durch das Registerreihen-Managementteil beurteilt. Der Aufgabenstatus in dem TCB, der der Aufgabe E in dem externen Speicher entspricht, wird von dem Ausführungszustand in den ausgesetzten Zustand gesetzt. Die Identifizierung der Aufgabe wird aus dem Prioritätsorderbereich der Fertigschlange 317, der der Aufgabe E entspricht, eliminiert.
  • Bei der Zuteilungsverarbeitung wird die Aufgabe mit höchster Prioritätsorder ausgewählt, das heißt, die Aufgabe F wird ausgewählt und die Steuerung zu der Aufgabe F verschoben.
  • Während der Operation der Aufgabe F wird, wenn eine Unterbrechung INT 1 erzeugt wird, die Steuerung zu der Unterbrechungs-Verarbeitungsroutine, die INT 1 entspricht, verschoben. In der Unterbrechungs-Verarbeitungsroutine INT 1 wird, angenommen, daß der Systemaufruf-Exklusivbefehl RESUME-TASK #E erzeugt wird und der ausgesetzte Zustand der Aufgabe E gelöst wird, in der Mikroprogrammverarbeitung des RESUME- TASK der der Aufgabe E entsprechende Aufgabenstatus in dem TCB von dem ausgesetzten Zustand zu dem ausführbaren Zustand gesandt, und die Identifizierung der Aufgabe der Aufgabe E in dem Bereich der Fertigschlange registriert. Demgemäß wird die Aufgabe E ausgewählt, und sie erhält wieder das Ausführungsrecht für die Ausführung der Zuteilungsverarbeitung.
  • Wie oben erwähnt, ist es möglich, einen Systemaufruf als Exklusivbefehl in dem Mikroprogramm auch durch Entwickeln der durch das OS auf dem externen Speicher gehandhabten Datenstruktur zu realisieren. Verglichen mit dem Fall der Ausführungsform 1, in der alle durch die OS erforderlichen Datenstrukturen als Hardware in der zentralen Verarbeitungseinheit realisiert sind, ist die Ausführungsgeschwindigkeit des Systemaufruf-Exklusivbefehls der dritten Ausführungsform geringer, weil der externe Buszyklus gestartet werden muß, die Hardwareresource ist aber reduziert.
  • Es ist möglich, den Grad der Realisierung durch die Hardware festzulegen und ihn entsprechend der Anwendung jedes Systems zu planen.
  • Wie oben erwähnt, ist in der oben erwähnten Ausführungsform möglich, die Verarbeitung des Systemaufrufs bei hoher Geschwindigkeit auszuführen, nicht indem der Systemaufruf durch die Kombination von Befehlen ausgeführt wird, sondern indem er als Exklusivbefehl behandelt wird, indem die gesamte Verarbeitung durch das Mikroprogramm realisiert wird und indem Hardwareresourcen für die Realisierung des Exklusivbefehls verwendet werden. Ferner ist es durch Verwendung einer besonderen Hardware, wie beispielsweise Registerreihen, möglich, die Aufbewahrung des Kontextes in jeder Aufgabe und die Rückkehrverarbeitung zu eliminieren, so daß die organisatorische Operationszeit für den Systemaufruf, was bisher die Probleme waren, reduziert werden kann. Im Fall der Ausführung der Verarbeitung des Systemaufrufs durch das Mikroprogramm wird, angenommen, daß die Schrittzahl 200 beträgt, die Hauptorganisationszeit etwa 40 Mikrosekunden mit der gleichen Frequenz, daß ein Schritt mit einem Takt des Mikroprogramms übereinstimmt, während die Hauptorganisationszeit 400 Mikrosekunden für den Fall der Realisierung des Systemaufrufs durch die Kombinationen von Befehlen, wie oben erwähnt, beträgt. Praktisch kann eine plurale Verarbeitung mit den Hardwareresourcen simultan, in einem Takt, in einem Mikroprogramm ausgeführt werden. Demgemäß wird erwogen, es mit einer geringeren Anzahl von Schritten auszuführen, so daß die Organisationszeit kein Problem in dem Hauptteil des Anwendungssystemes wird. Darüber hinaus wird der Systemaufruf als Exklusivbefehl durch einen einzigen Befehl realisiert, so daß die Gesichtspunkte, wie beispielsweise Setzen der Schutzteile gegen Unterbrechungen, nicht erforderlich sind. Deshalb sind die Betrachtungen zu den Unterbrechungs-Antwortcharakteristika, welche bei der Planung der Echtzeit-OS schwierig waren, nicht notwendig. Es ist effektiv, nicht nur für die OS-Planung, sondern ebenfalls für die beachtliche Verbesserung der Unterbrechungs-Antwortcharakteristika.

Claims (3)

1. Multiaufgaben-Verarbeitungsgerät mit:
einem Datenbus (112),
einem Hauptspeicher (113), der mit dem Datenbus verbunden ist und eine Anzahl von Aufgaben-Steuerblocks (114-116) aufweist, von denen jeder einen Status einer entsprechenden Aufgabe speichert, und
einer Zentralverarbeitungseinheit (101) mit einer Ausführungseinheit (107), die mit dem Datenbus verbunden ist,
einer Fertigschlange-Verwaltungseinrichtung (109), die mit dem Datenbus verbunden ist, zum Registrieren und Eliminieren einer Aufgabe in einem ausführbaren Zustand,
einer Aufgabensteuerblock-Adresserzeugungseinrichtung (110) zur Erzeugung einer Adresse eines Aufgaben-Steuerblocks des Hauptspeichers,
einem Befehlsdecoder (103), der mit dem Datenbus verbunden ist, zum Empfang eines Befehls über den Datenbus und zur Erzeugung einer Adresse eines Mikroprogramms, das einem empfangenen Befehl entspricht, und
einem Mikroprogrammspeicher, der mit dem Befehlsdecoder verbunden ist, zum Empfang der Adresse des Mikroprogramms und zur Erzeugung von Steuersignalen für die Ausführungseinheit, für die Fertigschlange-Verwaltungseinrichtung und für die Aufgabensteuerblock-Adresserzeugungseinrichtung,
wobei eine Verarbeitungsanforderung für ein Realzeit-Operationssystem, die zur Ausführung von Multiaufgaben-Verarbeitung erforderlich ist, über den Datenbus (112) als ein exklusiver Befehl gegeben wird, einschließlich einer Aufgaben-Identifizierungsinformation, so daß der Befehlsdekoder (123) eine Adresse des Mikroprogramms entsprechend eines empfangenen Exklusivbefehls erzeugt und der Mikroprogrammspeicher auf die vom Befehlsdekoder (103) zugeführte Adresse anspricht und Steuersignale für die Befehlseinheit (107) für die Fertigschlange-Verwaltungseinrichtung (109) und für die Aufgabensteuerblock-Adressier-Generatoreinrichtung (110) erzeugt, so daß ein Aufgabenstatus aus dem Aufgabensteuerblock (114-116) ausgelesen wird, der durch die Aufgaben-Identifikationsinformation bezeichnet ist unter der Steuerung der Aufgabensteuerblock-Adresserzeugungseinrichtung (110) und durch die Ausführungseinheit modifiziert und dann in denselben Aufgabensteuerungsblock eingeschrieben wird und eine durch die Aufgaben-Identifikationsinformation bezeichnete Aufgabe als ausführbare Aufgabe in der Fertigschlangen-Verwaltungseinrichtung (109) registriert wird und anschließend eine als nächste auszuführende Aufgabe aus der Fertigschlangen-Verwaltungseinrichtung ausgewählt wird, und
wobei das Realzeitoperationssystem durch Hardware-Quellen und Mikroprogramme, die im Mikroprogrammspeicher gespeichert sind, ohne Verwendung eines Programms aus einer Kombination von Befehlen zur Durchführung eines Systemaufrufs aufgebaut ist.
2. Gerät nach Anspruch 1, wobei, wenn eine erste Aufgabe, die durchgeführt wird, einen Verarbeitungsanfrage an das Realzeitoperationssystem, die für den Beginn einer zweiten Aufgabe erforderlich ist, absendet, ein Exklusivbefehl, der einen Betriebscode zum Starten der zweiten Aufgabe und eine Aufgabenidentifikationsnummer, die der zweiten Aufgabe entspricht, enthält, empfangen und verarbeitet wird, so daß der Befehlsdecoder (103) eine Adresse eines Mikroprogramms erzeugt, das dem empfangenen Exklusivbefehl entspricht, und wobei der Mikroprogrammspeicher auf die vom Befehlsdecoder (103) empfangene Adresse anspricht zur Steuerung der Aufgabensteuerblock-Adresserzeugungseinrichtung (110) um zu bewirken, daß die Aufgabensteuerblock-Adresserzeugungseinrichtung dem Hauptspeicher eine Adresse eines Aufgabensteuerblocks zuführt, der der zweiten Aufgabe entspricht, so daß ein Aufgabenstatus aus dem Aufgabensteuerblock entsprechend der zweiten Aufgabe über den Datenbus (112) an die Ausführungseinheit ausgelesen wird, wobei der Mikroprogrammspeicher ferner arbeitet zur Steuerung der Ausführungseinheit (107) zur Modifizierung des Aufgabenstatus in einen ausführbaren Status und zum Wiederschreiben eines modifizierten Aufgabenstatus an den Aufgabensteuerblock entsprechend der zweiten Aufgabe, wobei der Mikroprogrammspeicher ferner arbeitet zur Steuerung der Fertigschlangen-Verwaltungseinrichtung (109) zum Registrieren der zweiten Aufgabe als ausführbaren Status und zur Ausgabe eines Aufgabenausführungs- Auswählsignals an die Fertigschlangen-Verwaltungseinrichtung, so daß eine als nächste auszuführende Aufgabe aus der Fertigschlangen-Verwaltungseinrichtung ausgewählt wird.
3. Gerät nach Anspruch 1, wobei, wenn eine erste Aufgabe, die durchgeführt wird, eine Verarbeitungsanfrage an das Realzeit-Operationssystem, die für das Aussetzen der ersten Aufgabe erforderlich ist, absendet, ein Exklusivbefehl einschließlich eines Operationscodes zum Aussetzen der ersten Aufgabe und einer Aufgabenidentifikationsnummer entsprechend der ersten Aufgabe empfangen und verarbeitet wird, so daß der Befehlsdecoder (103) eine Adresse des Mikroprogramms entsprechend dem empfangenen Exklusivbefehl erzeugt, wobei der Mikroprogrammspeicher auf die vom Befehlsdekoder (103) zugeführte Adresse antwortet zum Steuern der Aufgabensteuerblock- Adresserzeugungseinrichtung (110), um zu bewirken, daß die Aufgabensteuerblock-Adresserzeugungseinrichtung an den Hauptspeicher eine Adresse eines Aufgabensteuerblocks entsprechend der ersten Aufgabe zuführt, so daß ein Aufgabenstatus aus dem Aufgabensteuerblock entsprechend der ersten Aufgabe über den Datenbus (112) an die Ausführungseinheit ausgelesen wird, wobei der Mikroprogrammspeicher ferner arbeitet zur Steuerung der Ausführungseinheit zum Modifizieren des Aufgabenstatus in einen Wartezustand und zum Neuschreiben eines modifizierten Aufgabenstatus in den Aufgabensteuerblock entsprechend der ersten Aufgabe, wobei der Mikroprogrammspeicher ferner arbeitet zur Steuerung der Fertigschlangen-Verwaltungseinrichtung (109) zum Eliminieren der ersten Aufgabe als ausführbaren Zustand und zum Ausgeben eines Aufgabenausführungs-Auswahlsignals an die Fertigschlangen-Verwaltungseinrichtung, so daß die nächste auszuführende Aufgabe aus der Fertigschlangen- Verwaltungseinrichtung ausgewählt wird.
DE3750171T 1986-08-28 1987-08-28 Multiaufgabenverarbeitungsgerät. Expired - Fee Related DE3750171T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP61203007A JP2553526B2 (ja) 1986-08-28 1986-08-28 マルチタスク処理装置
JP62093663A JP2594557B2 (ja) 1987-04-15 1987-04-15 マルチタスク処理装置

Publications (2)

Publication Number Publication Date
DE3750171D1 DE3750171D1 (de) 1994-08-11
DE3750171T2 true DE3750171T2 (de) 1995-02-02

Family

ID=26434965

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3750171T Expired - Fee Related DE3750171T2 (de) 1986-08-28 1987-08-28 Multiaufgabenverarbeitungsgerät.

Country Status (3)

Country Link
US (1) US5148542A (de)
EP (1) EP0257655B1 (de)
DE (1) DE3750171T2 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69024753T2 (de) * 1989-10-31 1996-05-30 Hewlett Packard Co Tragbarer, Ressourcen teilender Datei-Server, der gemeinsame Routines benutzt
JPH04149642A (ja) * 1990-10-08 1992-05-22 Canon Inc 情報処理装置
US5220653A (en) * 1990-10-26 1993-06-15 International Business Machines Corporation Scheduling input/output operations in multitasking systems
JPH0581049A (ja) * 1991-09-20 1993-04-02 Fujitsu Ltd メモリの時間管理方式
JP3220881B2 (ja) * 1992-12-29 2001-10-22 株式会社日立製作所 情報処理装置
US6014681A (en) * 1997-07-15 2000-01-11 Microsoft Corporation Method for saving a document using a background save thread
DE19735319A1 (de) * 1997-08-14 1999-02-18 Bayerische Motoren Werke Ag Elektronisches Steuergerät
JP2000089951A (ja) * 1998-09-10 2000-03-31 Nec Shizuoka Ltd プログラムによって動作する装置および機能選択方法
US20040139441A1 (en) * 2003-01-09 2004-07-15 Kabushiki Kaisha Toshiba Processor, arithmetic operation processing method, and priority determination method
JP2005135265A (ja) * 2003-10-31 2005-05-26 Fujitsu Ltd 情報処理装置
DE102009025572A1 (de) * 2009-06-19 2010-12-23 Wolfgang Pree Gmbh Eine Methode zur Entwicklung von garantiert korrekten Echtzeitsystemen
US8368611B2 (en) * 2009-08-01 2013-02-05 Electronic Controlled Systems, Inc. Enclosed antenna system for receiving broadcasts from multiple sources
JP7313615B1 (ja) * 2023-03-22 2023-07-25 コグニロボ株式会社 プログラム、製造計画装置、および製造計画方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4183083A (en) * 1972-04-14 1980-01-08 Duquesne Systems, Inc. Method of operating a multiprogrammed computing system
US3858182A (en) * 1972-10-10 1974-12-31 Digital Equipment Corp Computer program protection means
FR2258113A5 (de) * 1973-11-30 1975-08-08 Honeywell Bull Soc Ind
FR2253425A5 (de) * 1973-11-30 1975-06-27 Honeywell Bull Soc Ind
FR2253428A5 (de) * 1973-11-30 1975-06-27 Honeywell Bull Soc Ind
US4047161A (en) * 1976-04-30 1977-09-06 International Business Machines Corporation Task management apparatus
US4152761A (en) * 1976-07-28 1979-05-01 Intel Corporation Multi-task digital processor employing a priority
US4177513A (en) * 1977-07-08 1979-12-04 International Business Machines Corporation Task handling apparatus for a computer system
US4286322A (en) * 1979-07-03 1981-08-25 International Business Machines Corporation Task handling apparatus
JPS58203554A (ja) * 1982-05-21 1983-11-28 Toshiba Corp 演算処理装置
US4475156A (en) * 1982-09-21 1984-10-02 Xerox Corporation Virtual machine control
US4688167A (en) * 1984-09-27 1987-08-18 Wang Laboratories, Inc. Screen manager for data processing system
US4658351A (en) * 1984-10-09 1987-04-14 Wang Laboratories, Inc. Task control means for a multi-tasking data processing system

Also Published As

Publication number Publication date
EP0257655B1 (de) 1994-07-06
EP0257655A2 (de) 1988-03-02
US5148542A (en) 1992-09-15
DE3750171D1 (de) 1994-08-11
EP0257655A3 (en) 1990-03-14

Similar Documents

Publication Publication Date Title
DE69031233T2 (de) Adaptive Arbeitsfolgeplanung für Mehrfachverarbeitungssysteme
DE3689394T2 (de) Informationsverarbeitungsanlage mit einem Allzweckprozessor und einem Sonderzweckprozessor.
DE69130620T2 (de) Datenübertragungsadapter und Verfahren zu dessen Betrieb
DE3751164T2 (de) Datenprozessor mit verschiedenen Unterbrechungsverarbeitungsarten.
DE69130630T2 (de) Synchrones Verfahren und Gerät für Prozessoren
DE69129526T2 (de) Multiprozessorsystem und Verfahren zur Überwachung der Ausführung von Tasks in einem Multiprozesorsystem
DE69227664T2 (de) Hardwarekonfiguriertes Betriebssystemkern für einen Multitaskprozessor
DE3750306T2 (de) System zum Gewährleisten der logischen Unversehrtheit von Daten.
DE3685863T2 (de) Rechnersystem zur steuerung virtueller maschinen.
DE69114333T2 (de) Rechner mit der Fähigkeit mehrere Befehle gleichzeitig auszuführen.
DE69622832T2 (de) Vorrichtung und verfahren für kooperative unterbrechungen in einer preemptiven prozessablauffolgeplanungsumgebung
DE2722099C2 (de)
DE3687805T2 (de) Ein-ausgabesteuersystem in einem virtuellen maschinensystem.
DE69230462T2 (de) Arbitrierung des Multiprozessorzugriffs zu gemeinsamen Mitteln
DE2449547A1 (de) Computer- und datenverarbeitungsanlage
US4809168A (en) Passive serialization in a multitasking environment
DE3685876T2 (de) Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher.
DE3851488T2 (de) Registerverwaltungssystem mit Ausführung von Befehlen in Unordnung in einem Computerprozessor.
DE3750171T2 (de) Multiaufgabenverarbeitungsgerät.
DE2902465A1 (de) Datenverarbeitungsanordnung
DE3852928T2 (de) Datenprozessor mit A/D-Umsetzer, um mehrere analoge Eingabekanäle in Digitaldaten umzusetzen.
DE2243956A1 (de) Speicherprogrammierte datenverarbeitungsanlage
DE2755371A1 (de) Ein/ausgabe-verarbeitungssystem
DE2411963B2 (de) Datenverarbeitungsanlage
DE69219848T2 (de) Verfahren zur Behandlung von Datenübertragungen in einen Computersystem mit einem Zweibusbau

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee