DE2900460A1 - Warteschlangenstruktur - Google Patents

Warteschlangenstruktur

Info

Publication number
DE2900460A1
DE2900460A1 DE19792900460 DE2900460A DE2900460A1 DE 2900460 A1 DE2900460 A1 DE 2900460A1 DE 19792900460 DE19792900460 DE 19792900460 DE 2900460 A DE2900460 A DE 2900460A DE 2900460 A1 DE2900460 A1 DE 2900460A1
Authority
DE
Germany
Prior art keywords
priority
rung
ribbon
rungs
register
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.)
Withdrawn
Application number
DE19792900460
Other languages
English (en)
Inventor
Thomas S Hirsch
Philip E Stanley
William E Woods
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.)
Bull HN Information Systems Italia SpA
Original Assignee
Honeywell Information Systems Italia SpA
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 Honeywell Information Systems Italia SpA filed Critical Honeywell Information Systems Italia SpA
Publication of DE2900460A1 publication Critical patent/DE2900460A1/de
Withdrawn 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • 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/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. 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)
  • Multi Processors (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

Die vorliegende Erfindung betrifft eine Warteschlangenstruktur für ein Datenverarbeitungssystem nach dem Gattungsbegriff des Anspruches 1. Warteschlangenstrukturen werden primär für die Steuerung von Datenstrukturen durch die Verwendung einer Hinweisadresse oder eines Vorsatzes benutzt, ohne daß hierbei die Bewegung von umfangreicher Information durch das Datenverarbeitungssystem erforderlich ist. Die Warteschlange wird verwendet, um Prozesse zu planen, die auf einer Prioritätsbasis ausgeführt werden. Dies geschieht dynamisch während der Verarbeitung. Die Verarbeitung wird während eines auszuführenden Prozesses gesteuert, anstatt daß die Verarbeitung geplant wird. Warteschlangen werden ferner in Dialogpuffern für Warteschlangenaufrufe verwendet. Die Strukturen der vorliegenden Erfindung können auf einer LIFO-Basis oder auf einer FIPO-Basis gesteuert werden. Warteschlangen können ebenfalls benutzt werden, um eine Liste eines freien Arbeitsspeichers zu erhalten, die nach Adressen geordnet ist. Die Reihenfolge der Entfernung der Warteschlangen ist unabhängig von der Reihenfolge der Einfügung. Im Stand der Technik ist es bekannt, einen sogenannten assoziativen Speicher zu benutzen, um die Warteschlangenstrukturen aufzunehmen. Diese assoziative Speichertechnik ist, obgleich sie theoretisch einleuchtend ist, in der tatsächlichen Praxis ungeeignet, um solche Warteschlangenprozesse zu handhaben, was auf die relativ hohen Kosten und die schlechte Zugriffszeit zurückzuführen ist. Im Stand der Technik gemäß der US-PS 3 449 722 ist ein verbessertes Warteschlangenschema für Mehrprozessorsysteme beschrieben worden, bei dem Programmanforderungen, die nicht unmittelbar behandelt werden können, zeitweilig gespeichert werden, so daß bei der Freigabe eines ursprünglich belegten Prozessorabschnittes die älteste in einer Warteschlange angeordnete Programmanforderung für den speziellen Prozessorabschnitt aufgenommen werden kann. In dieser Patentschrift wird die Verwendung einer gemeinsamen Warteschlange für jeden solchen Abschnitt in dem System vorgeschlagen, auf den getrennt Zugriff genommen werden kann. Hierdurch und durch die Verwendung der gemeinsamen Warteschlange wird die Möglichkeit geschaffen, eine Folge von auf die Prozessorabschnitte bezogenen Anforderungen aufzureihen und hierdurch einen übermäßigen Aufwand
909837/0523
für die Hardware zu vermeiden, den ansonsten solche Warteschlangen erfordern. In derartigen Warteschlangenstrukturen in Datenverarbeitungssystemen ist es jedoch wichtig, eine solche Struktur in einer solchen Weise vorzusehen, daß auf die Warteschlangen bzw. Bandsprossen, die in einer Liste solcher Warteschlangen bzw. Bandsprossen eingefügt sind, in einer Weise Zugriff genommen werden kann, die abhängig bzw. unabhängig von der Priorität der Prozesse bzw. Unterprozesse ist, wobei die Prozesse durch solche Warteschlangen festgelegt sind.
Es ist daher die Aufgabe der vorliegenden Erfindung, eine verbesserte Warteschlangenstruktur für die Verwendung in einem Datenverarbeitungssystem zu schaffen, auf die für das Einreihen bzw. das Ausreihen von Bandsprossen basierend auf der Priorität der Bandspr.ossen bzw. unabhängig von der Priorität solcher Bandsprossen bzw. basierend auf der Adresse solcher Bandsprossen Zugriff genommen werden kann. Die Lösung dieser Aufgabe gelingt gemäß der im Anspruch 1 gekennzeichneten Erfindung. Weitere vorteilhafte Ausgestaltungen der Erfindung sind den Unteransprüchen entnehmbar.
Das erfindungsgemäße Datenverarbeitungssystem umfaßt eine Warteschlangenstruktur, die wenigstens eine Liste (die leer sein kann) von Prioritätsbandsprossen aufweist, welche an eine gemeinsame Steuerbandsprosse angeschlossen sind. Die Prioritätsbandsprosse umfaßt einen Speicherplatz für eine Prioritätsnummer, einen Speicherplatz für eine erste Hinweisadresse auf eine andere Prioritätsbandsprosse und einen oder mehrere Speicherplätze für weitere solchen Prioritätsbandsprossen zugeordneten Informationen. Die Steuerbandsprosse umfaßt einen Speicherplatz für ein Steuerwort, das den Zugriff zu der Liste von Prioritätsbandsprossen gestattet oder sperrt, und sie umfaßt eine erste Bandsprossen-Hinweisadresse zum Hinweis auf die erste Prioritätsbandsprosse und eine letzte Bandsprossen-Hinweisadresse zum Hinweis auf die letzte Prioritätsbandsprosse in einer= solchen Liste.
9O9837fOS'23
Jede der Prioritätsbandsprossen kann unterschiedliche zugeordnete Prioritäten aufweisen, was durch die Prioritätsnummer angezeigt wird. Die Warteschlangenstruktur umfaßt ferner eine Einrichtung, um die Prioritätsbandsprossen miteinander zu verbinden. Schließlich umfaßt die Warteschlangenstruktur eine Einrichtung zum Ablegen neuer solcher Prioritätsbandsprossen in einer solchen Liste an einer Stelle, die durch die Prioritätsnummer festgelegt ist und sie umfaßt ferner eine Logik zum Wiederaufsuchen einer solchen Prioritätsbandsprosse in der Liste in Übereinstimmung mit oder unabhängig von der Prioritätsnummer.
Anhand eines in den Figuren der beiliegenden Zeichnungen dargestellten Ausführungsbeispieles sei die Erfindung im folgenden näher erläutert. Es zeigen:
Fig. 1 ein Blockdiagramm eines Datenverarbeitungssystems, wie es im Zusammenhang mit der Warteschlangenstruktur der vorliegenden Erfindung verwendet wird;
Fig. 2 ein detailliertes Blockdiagramm des Mikroprozessors, der in dem erfindungsgemäßen Datenverarbeitungssystem verwendet wird;
Fig. 3 bis 14 die Art und Weise, in der die Warteschlangenstruktur gemäß der vorliegenden Erfindung Bandsprossen einreiht oder ausreiht; und
Fig. 14A bis 14D Flußdiagramme für die Erläuterung der Wirkungsweise der Erfindung.
In dem Warteschlangen-Steuersystem gemäß der vorliegenden Erfindung ist eine Möglichkeit vorgesehen, die Handhabung geordneter Listen von Bandsprossen zu erleichtern. Eine Bandsprosse kann eine Bandsprossen-Prioritätsnummer, eine Hinweisadresse auf eine nächste Bandsprosse und eine zugeordnete Datenstruktur aufweisen. Jede Liste wird durch eine Steuer- bzw. Verriegelungsbandsprosse identifiziert, die ein Verriegelungswort und zusätzlich eine Kopf-Hinweisadresse und eine Schwanz-Hinweisadresse enthält. Dies ist in Fig. 3 veranschaulicht. In Fig. 3 ist nur
Ö09837/0S23
290046Q
eine Verriegelungsbandsprosse und eine zugeordnete Liste von Bandsprossen dargestellt. Es sei jedoch darauf verwiesen, daß mehr als eine Verriegelungsbandsprosse und zugeordnete Listen von Bandsprossen in dem System enthalten sein können. Jede eingefügte Liste kann einem besonderen Prozeß oder einer Anzahl von Prozessen zugeordnet sein und somit können diese parallelen Warteschlangenstrukturen, die jeweils durch eine Verriegelungsbandsprosse geführt sind, für verschiedene Prozesse oder den gleichen Prozeß bzw. für verschiedene Operationen vorgesehen sein. Die Warteschlangenstruktur wird für einen speziellen Zweck aufgebaut und wenn das Datenverarbeitungssystem anzeigt, daß es eine bestimmte Warteschlange wünscht, so ist diese gewöhnlich für die Behandlung bereit, d. h. sie kann mit zugehörigen Datenstrukturen zusammenarbeiten. Wenn das System die Adressierung einer unterschiedlichen eingefügten Liste wünscht, so verändert es lediglich die Adresse in einem speziellen Register des Systems, um auf eine neue Verriegelungsbandsprosse zu verweisen. Die Zusammensetzung der Datenstruktur ist für die vorliegende Erfindung ohne Bedeutung; sie kann jedoch Daten umfassen, die während einer Operation innerhalb eines Prozesses weggespeichert worden sind oder sie kann tatsächlich nichts anderes sein als eine weitere Hinweisadresse auf einen weiteren Speicherplatz, an dem tatsächliche Daten gespeichert sind.
In dem Warteschlangensystem sind grundsätzlich vier Befehle vorgesehen. Zwei Befehle dienen der Einreihung in die Waxteschlange, d. h. der Ablage einer Bandsprosse in der Liste, und zwei Befehle dienen der Ausreihung aus der Warteschlange, d. h. der Wegnahme einer Bandsprosse aus der Liste. Diese Befehle werden später beschrieben. Das Verriegelungswort wird benutzt, um sicherzustellen, daß nur eine Datenverarbeitungseinheit Zugriff auf eine bestimmte Warteschlange nimmt, wie dies durch eine spezielle Verriegelungsbandsprosse zu jedem gegebenen Zeitpunkt angezeigt wird. Jeder Warteschlangenbefehl ruft eine Abtastung der Bandsprossen innerhalb der Liste vom Kopf bis zum Ende der Liste hervor. Es gibt eine Ausnahme, die später noch zu beschreiben sein wird.
Die Abtastoperation wird fortgesetzt bis die Bedingungen der speziellen Anweisung durch einen sogenannten Treffer erfüllt werden oder bis die letzte Bandsprosse in der Liste ohne einen Treffer erreicht worden ist oder bis eine Unterbrechung in dem System auftritt. Wenn der sogenannte Treffer auftritt oder wenn die letzte Bandsprosse ohne einen Treffer erreicht wird, so wird die Bandsprosse mit der Liste verbunden oder aus dieser herausgenommen, was davon abhängt, ob ein Einreihungs- oder Ausreihungsbefehl vorliegt. Wenn eine Unterbrechung auftritt, so hält die Zentraleinheit die Abtastung an und behandelt den Unterbrechungszustand .
Wie zuvor erwähnt, gibt es vier grundlegende Befehle in dem Warteschlangensystem der vorliegenden Erfindung. Dies sind der Kopf-Einreihungs-Befehl QOH (queue-on-head instruction), der Schwanz-Einreihungs-Befehl QOT (queue-on-tail instruction), der Kopf-Ausreihungs-Befehl DQH (dequeue-on-head instruction) und der Adress-Ausreihungs-Befehl DQA (dequeue-on-adress instruction). Der Befehl QOH wird benutzt, um eine neue Bandsprosse in die Liste vor der ersten Bandsprosse mit der gleichen Prioritätsnummer, oder vor der ersten Bandsprosse mit einer höheren Prioritätsnummer oder an der letzten Bandsprosse einzureihen, falls keine Priorität gefunden wird, die gleich oder größer ist. Der Befehl QOT setzt eine neue Bandsprosse in die Liste nach der letzten Bandsprosse mit der gleichen Prioritätsnummer, oder vor der ersten Bandsprosse mit einer höheren Prioritätsnummer oder an die letzte Bandsprosse, wenn keine Priorität gefunden wird, die gleich oder größer ist. Wenn die neue Bandsprosse die geringste in dem System vorgegebene Priorität aufweist, so wird die Abtastoperation umgangen und die neue Bandsprosse wird nach der letzten Bandsprosse eingesetzt. Der Befehl DQH wird benutzt, um die erste Bandsprosse aus der Liste auszureihen, deren Prioritätswert gleich oder größer als ein durch das System angezeigter Prioritätswert ist. Dieser Wert wird in einem spezifischen Register angezeigt, was noch zu beschreiben sein wird. Der Befehl DQA reiht eine Bandsprosse aus der Liste aus, deren Prioritäts-Wortadresse exakt mit einer in dem System angezeigten Adresse übereinstimmt. Diese Adresse wird
909837/QS23
in einem spezifischen Register angezeigt, was noch näher zu beschreiben sein wird.
Die Wirkungsweise der Warteschlangenstruktur einschließlich der Einreih- und Ausreihoperation soll später anhand eines Flußdiagrammes erläutert werden. An dieser Stelle sei nunmehr der Aufbau der Datenverarbeitungseinheit, in welcher das erfindungs- ■ gemäße Warteschlangensystem Anwendung findet, erläutert.
Ein Blockdiagramm des Datenverarbeitungssystems ist in Fig. 1 dargestellt. Weitere Einzelheiten des Datenverarbeitungssystems können der US-PS 4 047 247 entnommen werden. Das System umfaßt einen Steuerspeicher 10, der beispielsweise 512 Speicherplätze aufweist, wobei jeder Speicherplatz 56 Bits umfaßt. Jeder solcher Speicherplatz ist in der Lage, ein Firmwarewort zu speichern, wobei diese Firmwareworte benutzt werden, um verschiedene Hardwareoperationen innerhalb des Datenprozessors zu steuern. Es, liegt auf der Hand, daß die Anzahl solcher Speicherplätze und/ oder Firmwareworte und die Anzahl von Bits in diesen Worten erhöht oder erniedrigt werden kann. Die Betriebsweise eines Steuerspeichers und die Befehlsdecodierung desselben können einem Artikel von G. W. Schultz "Designing Optimized Microprogrammed Control Sections for Microprocessors" in der Aprilausgabe 1974 des Magazines "Computer Design" auf der Seite 119 entnommen werden.
Der Prozessor umfaßt ferner eine Register- und Logikeinheit RALÜ-12, die manchmal als Mikroprozessor bezeichnet wird. Fig. 2 zeigt ein Blockdiagramm der Einheit RALU-12 mit entsprechenden Einzelheiten. Im allgemeinen ist die Einheit RALU-12 in vier Bereiche unterteilt, die eine Registerdatei, eine Verschiebelogik, eine arithmetische Logik und eine Steuerlogik umfassen. Die Registerdatei umfaßt Datenregister, Arbeitsregister und Basisregister. Die Verschiebelogik wird während Verschiebeoperationen und normaler Datenübertragungen benutzt. Die arithmetische Logik umfaßt verschiedene Verriegelungen bzw. Puffer, Multiplexer, Inverter und eine Addiereinheit. Die
909837/0523
Steuerlogik der Einheit RALU-12 umfaßt eine Auswahllogik für die Auswahl des Teils der Daten, die zu behandeln sind.
Der Zentralprozessor umfaßt verschiedene Register, von denen einige für die vorliegende Erfindung ohne Bedeutung sind, die jedoch eine Hintergrundinformation liefern und daher allgemein erläutert werden. Das Status/Sicherheitsregister 14 enthält den Systemstatus und Sicherheitstasten. Dieses Register umfaßt Bitfelder, die anzeigen, ob sich das System im privilegierten Zur stand P oder in einem Benutzerzustand befindet. Während des Benutzerzustandes treten festgelegte Befehle in eine sogenannte Abfangroutine ein, anstatt ausgeführt zu werden. Das Register 14 umfaßt ferner ein Feld für die Anzeige der Identifikationsnummer des Prozessors, wobei dieses Feld während der Systemkonfiguration gesetzt ist. Schließlich umfaßt das Register 14 ein Feld für die Anzeige des Unterbrechungs-Prioritätspegels des Zentralprozessors. Das gerade in dem Zentralprozessor ablaufende Programm kann durch irgendein Gerät unterbrochen werden, das eine Pegelnummer anfordert, welche niedriger als die Pegelnummer des laufenden Programmes ist, wobei die niedrigste Pegelnummer einen Prozeß und/ oder ein Gerät anzeigt, das am wenigsten unterbrechbar ist. Eine derartige ünterbrechungsstruktur kann der ÜS-PS 4 020 471 entnommen werden.
Das Indikatorregister 1-16 enthält die Programm-Statusindikatoren. Dieses Register 16 umfaßt verschiedene Felder, die Felder für die Anzeige des Ergebnisses irgendeines durch das System ausgeführten Vergleiches umfassen. Ferner sind Felder für den Status des letzten peripheren Gerätes, das abgefragt wurde und ein Feld für die Anzeige des Zustandes des zuletzt getesteten Bits vorhanden .
Das Register M1-18 enthält Abfangfreigabe-Modussteuertasten, die ein Feld für die Freigabe einer Abfangüberwachung für Spring- und Verzweigungsbefehle umfassen, d. h. für einen Abfang, der die Verfolgung eines Computerprogrammes unterstützt.
909837/0523
Der Programmzähler P-20 ist beispielsweise ein 16 Bit-Register, das normalerweise die Adresse des gerade bearbeiteten Befehles enthält. Das Register Y-22, d. h. das Speicheradressregister, wird ebenfalls beispielsweise durch ein 16 Bit-Register gebildet, das normalerweise die Adresse von Daten enthält, auf die in dem Speicher zugegriffen werden soll. Das Sammelschienen-Datenregister BD-24 ist ebenfalls beispielsweise ein 16 Bit-Register, das Sammelschienendaten von der Empfangslogik 26-R für die Verteilung in dem Prozessor über die interne Sammelschiene 2.8 zugeführt erhält. Das ünterbrechungsregister L-30 ist ebenfalls beispielsweise ein 16-Bit-Register, das die Kanalnummer und den Pegel eines unterbrechenden Gerätes über die Empfangslogik 26-R zugeführt erhält.
Das Register XB-32 ist beispielsweise ein 4 Bit-Register, das für Bit- und Byte-Indizierung innerhalb des Prozessors benutzt wird. Der Ausgang dieses Registers 32 ist sowohl an die interne Sammelschiene 28 als auch an die Decodierlogik 34 angeschlossen. Das Befehlsregister F-36 ist beispielsweise ein 16 Bit-Register, das das Befehlswort speichert, wenn es von einem Speicher empfangen wird, der an die externe Sammelschiene angeschlossen ist.
Die Konstantenerzeugungslogik 40 liefert spezifische Konstanten an den Multiplexer 42 für die Verwendung im Zusammenhang mit der Prozessor-Firmware innerhalb des Steuerspeichers 10. Die Decodierlogik 34 umfaßt einen 4 zu 16-Bit-Multiplexer, der benutzt wird, um eine Maske für Bitoperationen zu erzeugen. Dies bedeutet, daß eines von 16 Bits für den Test und für die Verwendung durch die in dem Steuerspeicher 10 enthaltene Firmware ausgewählt wird. Die Eingangs-Verdopplungslogik 44 gibt die Möglichkeit, entweder das signifikanteste (linke) Zeichen (Byte) zu duplizieren oder eine Geradeausübertragung von der internen Sammelschiene 28 zu der Einheit RALU-12 auszuführen. Die Ausgangs-Verdopplungslogik 61 dient der gleichen Möglichkeit.
303837/0523
Die Steuerlogik 48 für die interne Sammelschiene schaltet in Übereinstimmung mit dem Firmwarewort in dem Steuerspeicher 10 den Inhalt der ausgewählten Prozessorregister über die Dreizustandslogik 42 auf die interne Sammelschiene 28. Die Multiplexer logik 42 enthält die Logik, durch die Daten zu der internen Sammelschiene 28 übertragen werden, wobei nur ein Eingang für die übertragung zu jedem gegebenen Zeitpunkt freigegeben ist.
Die Testlogik 50 wählt beispielsweise einen von 64 möglichen. Testzuständen aus, was durch das Firmwarewort festgelegt ist. In Abhängigkeit davon, ob der getestete Zustand positiv oder negativ ist, wird das Signal TSTRUE oder TSTRUE zu der Erz«ugungslogik 52 für die nächste Adresse übertragen. Der Prozessor benutzt eine von zwei Methoden, um die nächste Firmwareadresse zu erzeugen. Die erste Methode benutzt Bits des Steuerspeicherwortes, um die nächste Adresse zu bilden. Diese Bits können beispielsweise ein 10 Bit-Adressenfeld (nächste Adresse NA) umfassen, das direkt einen der 1024 Steuerspeicherplätze adressieren kann. Die zweite Methode ermittelt die nächste Adresse über Logikschaltkreise, die verschiedene im voraus zugeordnete Adressen enthalten. Die ausgewählte Adresse wird grundsätzlich durch eine Decodierung des Inhalts des Registers F-36 und der Ausgangssignale des Steuerspeichers 10 ermittelt.
Die interne Sammelschiene BI-28 weist beispielsweise eine Datenbreite von 16 Bits auf und wird primär benutzt, um Daten zwischen den Prozessorregistern zu übertragen. Speicheradressen und Daten werden ebenfalls zu der externen Sammelschiene über die interne Sammelschiene 28 übertragen. Die Adress-Sammelschiene 56 weist beispielsweise eine Datenbreite von 16 Bit auf und wird benutzt, um Adressen für die Ein- und Ausgabe und für Speicherlese- bzw. Schreibzyklen zu der Logikeinheit 26-T zu übertragen. Die Empfangslogik 26 (26R und 26T) umfaßt logische Schaltkreise, und sie bildet die einzige Schnittstelle zwischen dem Zentralprozessor und der externen Sammelschiene. Alle Daten, Adressen und Unterbrechungssignale müssen die Empfangslogik 26 durchlaufen. Eine derartige Empfangslogik 26 sowie die Betriebsweise der externen Sammelschiene ist in der US-PS 4 030 075 näher beschrieben.
909837/0S23
13 " 290046Q
Die Auswahl-Modifizierlogik SM-58 stellt fest, welche Bits des Registers F-36 (sofern überhaupt) benutzt werden, um die Register-Dateiauswahl zu modifizieren, die durch die Felder LS und RS ausgeführt wird. Die genannten Felder sind durch das linke und das rechte Auswahlfeld des Steuerspeicherwortes des Steuerspeichers 10 gegeben. Die Logik SM-58 schaltet die Bits 1 bis 3, 10 bis 11, 13 bis 15 oder 12 bis 15 des Registers F-36 in Abhängigkeit von dem Firmwarewort weiter. Diese gelangen sodann in die linke bzw. die rechte Auswahllogik LS-16 bzw. RS-62. Die Logik LS bzw. RS benutzt das Ausgangssignal des Auswahlmodifizierers 58 und den Inhalt des Firmwarewortes für die Registerauswahl.
Die externe Sammelschiene bildet einen gemeinsamen Dialogweg bzw. eine Schnittstelle für alle Einheiten einschließlich des Speichers. Die externe Sammelschiene weist einen asynchronen Aufbau auf, und es werden Einheiten mit unterschiedlicher Geschwindigkeit wirksam durch das System mit drei Dialogtypen . verarbeitet. Die drei Dialogtypen umfassen Speicherübertragungen, Ein/Ausgabeübertragungen und Unterbrechungen. An die externe Sammelschiene können der Zentralprozessor, eine Speichereinheit, periphere Gerätesteuerungen, Dialogsteuerungen und ähnliche Geräte angeschlossen sein. Die zuvor erwähnten Register usw. sind näher in einer Veröffentlichung von Honeywell Information Systems Inc. vom Januar 1976 beschrieben, die unter dem Titel "Honeywell Level 6 Minicomputer Handbook" erschienen ist und unter der Bestellnummer AS22 bezogen werden kann.
Gemäß Fig„ 2 ist die Register- und Logikeinheit RALU-12 in näheren Einzelheiten dargestellt. Die Einheit RALU-12 kann vier MikroSteuerungen des Modells 6701 umfassen, die von der Firma Monolithic Memories Inc. hergestellt werden und in deren Veröffentlichung vom August 1974 beschrieben sind. Wie zuvor erwähnt, ist die Einheit RALU-12 in vier Grundbereiche unterteilt, insbesondere in eine Registerdatei, eine Verschiebelogik, eine arithmetische Logik und eine Steuerlogik. Zunächst sei die Registerdatei 70 betrachtet. Sie umfaßt Datenregister D1 bis D7, die Arbeitsregister DO (oder D) und E und die Basisregister B1 bis B7. Die
903837/0623
290046Q
Register D1 bis D7 sind beispielsweise Operandenregister mit einer Breite von 16 Bit, wobei das Bit 0 als das höchstwertigste Bit anzusehen ist. Die Register D und E sind ebenfalls Register mit einer Wortbreite von 16 Bit, und sie werden benutzt, um Daten während Firmwareoperationen zu bearbeiten. Das Register D wird manchmal benutzt, um eine Kopie des Inhalts des Befehlsregisters F-36 zu speichern. Die Basisregister B1 bis B7 sind ebenfalls Register mit einer Breite von 16 Bit, die benutzt werden können, um Adressen zu bilden, indem auf irgendeine - . Prozedur, Daten oder einen beliebigen Speicherplatz in dem System verwiesen wird.
Die Multiplexer-Verschiebelogik 80 und 82 umfaßt in erster Linie zwei 16 Bit-Multiplexer, die sowohl für Verschiebeoperationen als auch für normale Datenübertragungen benutzt werden. Ein zusätzliches Register Q-76 mit einer Wortbreite von 16 Bit ist für Doppeloperandenvarschiebungen vorgesehen. Daten können nach links oder nach rechts um ein Bit zwischen den Multiplexern und irgendeinem Datenregister innerhalb der Registerdatei 70 verschoben werden. Das Register Q-76 enthält manchmal eine nicht indizierte Adresse und das Register E (BO) enthält einen Indexwert.
Die arithmetische Logik umfaßt zwei 16 Bit-Verriegelungsschaltkreise 84 und 86, zwei 2 zu 1-Multiplexer 88 und 90, zwei 16 Bit-Inverter 92 und 94, eine Addiereinheit 96 und einen Ausgangsmultiplexer 98. Die dem Eingang L100 zugeordnete Verriegelung erhält Daten von der Registerdatei 70 zugeführt, die durch die linke Auswahllogik 60 ausgewählt werden. In gleicher Weise erhält die dem Eingang R102 zugeordnete Verriegelung Daten von der Register-datei 70 zugeführt, die durch die rechte Auswahllogik 62 ausgewählt werden. Die Ausgangssignale dieser Verriegelungen speisen sowohl die 2 zu 1-Multiplexer 88 und 90 als auch den Ausgangsmultiplexer 98. Der linke Multiplexer 88 empfängt Daten von der internen Sammelschiene 28 über den Eingang D104 und von der Verriegelung 84, die dem Eingang L100 zugeordnet - 5t- Der rechte Multiplexer 90 empfängt Daten von dem
S09837/0623
Q-Register 76 über den Eingang Q106 und von der Verriegelung 86, die dem Eingang R102 zugeordnet ist. Die Ausgangssignale dieser Multiplexer werden über Inverter 92 und 94 den Eingängen L und R der Addiereinheit 96 entsprechend zugeführt. Die Addiereinheit 96 führt alle arithmetischen und logischen Operationen aus. Zusätzlich zu den Eingängen L und R wird ein weiterer Eingang durch das Bit 16 des Steuerspeicherwortes (Übertragseingabe) gebildet. Das Ausgangssignal des Addierers 96 wird sowohl dem Ausgangsmultiplexer 98 als auch der Eingangsmultiplexer/Ver-. . Schiebelogik 80 und 82 zugeführt. Das Ausgangssignal des Multiplexers 98 bildet das Haupt-Ausgangssignal der Einheit RALU-12. Daten des Ausgangsmultiplexers 98 werden auf die interne Sammelschiene 28 für eine Verteilung innerhalb des Prozessors gegeben.
Im folgenden sei eine weitere Erläuterung im Hinblick auf den Prozessor und dessen Betriebsweise anhand der Figuren 1 und 2 gegeben. Der Zentralprozessor ist um eine einzige interne Sammelschiene 28 angeordnet, die die meisten Prozessorelemente miteinander und mit der externen Sammelschiene über Empfänger 26-R und Sender 26-T verbindet. Wie zuvor erwähnt, bildet das Register Y-22 das Speicheradressregister und das Register F-3 6 wird benutzt, um ein Befehlswort während Befehlsabrufen aufzunehmen. Verschiedene Bits auf der internen Sammelschiene 28 werden als Eingänge für die Testlogik 50 benutzt, die verwendet wird, um Firmware-Verzweigungsentscheidungen zu treffen. Die in verschiedenen Bits der internen Sammelschiene 28 enthaltene Information kann in der Testlogik 50 und irgendeinem der verschiedenen Hardware-Steuer-Flip-Flops 54 gespeichert werden. Die interne Sammelschiene 28 bildet ferner einen Eingang für die Einheit RALU-12.
Die interne Sammelschiene 28 wird durch verschiedene Elemente gesteuert, die den unter Firmwaresteuerung betriebenen Konstantengenerator 40, die Einheit RALU--12 und das Byte-Auswahlregister XB-32 umfassen, wobei letzteres durch eine Verschiebung von der Einheit RÄLU-12 geladen wird.
909837/0S23
Der laufende Mikrobefehl ist dynamisch am Ausgang des Steuerspeichers 10 verfügbar und wird teilweise mit verschiedenen logischen Elementen decodiert und sodann benutzt, um Operationen im Hinblick auf die verbleibenden Elemente in dem System zu erzeugen. Die Erzeugungslogik 52 für die nächste Adresse benutzt das nächste Adressenfeld in dem Steuerspeicherwort, d. h. dem Firmwarewort, und erzeugt eine neue Adresse in Abhängigkeit von diesem Wort und in Abhängigkeit von den Testzuständen, wie sie durch die Testlogik 50 gebildet werden. Der Steuerspeicher 10 schreitet pro Prozessortaktzyklus zu der nächsten Adresse weiter, wobei die Zykluszeit in der Größenordnung von wenigen 100 ns liegt.
Gemäß der vorliegenden Erfindung sind die Warteschlangenbandsprossen in einer geordneten Prioritätsliste mit steigender Reihenfolge angeordnet. Die gestaffelte Liste von Bandsprossen ist gemäß Fig. 3 angeordnet, wobei die erste Bandsprosse, die als Verriegelungsbandsprosse bezeichnet ist, eine Verriegelung, einen Kopfhinweis (bzw. eine Hinweisadresse auf eine erste Bandsprosse) und einen Schwanzhinweis (oder eine Hinweisadresse auf eine letzte Bandsprosse) aufweist. Jede der Bandsprossen, von denen beispielsweise vier dargestellt sind, besitzt eine vorgegebene Priorität. Im vorliegenden Beispiel liegt einmal die Priorität 3, zweimal die Priorität 4 und einmal die Priorität vor. Der Kopfhinweis verweist auf die Bandsprosse mit der Priorität 3, die Bandsprosse mit der Priorität 3 auf die Bandsprosse mit der Priorität 4, die Bandsprosse mit der Priorität 4 auf die Bandsprosse mit der Priorität 4 und die Bandsprosse mit der Priorität 4 auf die Bandsprosse mit der Priorität 7. Die Bandsprosse mit der Priorität 7 verweist zurück auf die Verriegelungsbandsprosse. Der Schwanzhinweis der Verriegelungsbandsprosse verweist auf die Bandsprosse mit der Priorität 7, d. h. auf die letzte Bandsprosse. Es ist somit ersichtlich, daß Bandsprossen mit der gleichen Priorität vorgesehen sein können.
Wenn eine Bandsprosse mit neuer Priorität in die Warteschlange einzufügen ist und wenn eine solche Bandsprosse eine Priorität von 4 aufweist, so wird diese Bandsprosse entweder vor den beiden
909837/0523
" 17 " 290046Q
Bandsprossen mit der Priorität 4 oder nach diesen eingesetzt, jedoch nicht dazwischen. Wenn eine Bandsprosse mit neuer Priorität einzufügen ist, z. B. mit der Priorität 5, so wird diese zwischen der letzten Bandsprosse mit der Priorität 4 und der Bandsprosse mit der Priorität 7 eingesetzt. Die Bandsprossen werden nur an der Kopfseite entnommen, d. h. in Nachbarschaft der Verriegelungsbandsprosse, so daß in dem Fall, wo eine Bandsprosse mit der Priorität 4 von der gestaffelten Liste von Warteschlangen angefordert wird, die Bandsprosse mit der Priorität entnommen wird, die der Verriegelungsbandsprosse am nächsten liegt.
Zum Einreihen und Ausreihen von Bandsprossen in die Liste und aus der Liste sind die 4 eingangs erwähnten Befehle vorgesehen. Dies sind die Befehle QOH zum Einreihen der Bandsprosse am Kopfende, der Befehl QOT zum Einreihen der Bandsprosse am Schwanzende, der Befehl DQH zum Ausreihen der Bandsprosse am Kopfende und der Befehl DQA zum Ausreihen über eine Adresse. Es wird angenommen, daß die Warteschlangen in dem Hauptspeicher gespeichert sind. Wenn einer bestimmten Verriegelungsbandsprosse keine Bandsprossen zugeordnet sind, so verweisen die Kopf-Hinweisadresse und die Schwanz-Hinweisadresse beide zurück auf das Verriegelungswort der gleichen Verriegelungsbandsprosse, wie dies beispielsweise in Fig. 4 dargestellt ist. Das Basisregister B2, das sich in dem Mikroprozessorchip gemäß Fig. 2 befindet, verweist auf die Verriegelungsbandsprosse.
Gemäß Fig. 5 besteht die benutzte Adresse beispielsweise aus der Adresse 456. Zusätzlich zu dem Register B2, das gespeichert die Adresse 456 aufweist, enthält das ebenfalls in dem Mikroprozessorchip befindliche Register B1 die Zahlenadresse der einzufügenden Bandsprosse, die im vorliegenden Fall 123 beträgt. Das sich ebenfalls in dem Mikroprozessorchip befindliche Register D5 wird als Prioritätsregister benutzt und weist im dargestellten Beispiel eine gespeicherte Priorität von 60 auf.
909837/0623
Im Hinblick auf den Befehl QOH (Einreihen am Kopfende) läuft folgende Operation ab. Bei der Ausführung des Befehls QOH unterbricht die Firmware die für die Verriegelungsbandsprosse ohne zusätzliche Bandsprossen vorhandenen Verbindungen gemäß Fig. Sukzessive danach wird die Zahl 123 sowohl in dem Speicherplatz für die Kopf-Hinweisadresse als auch in dem Speicherplatz für die Schwanz-Hinweisadresse der Verriegelungsbandsprosse gespeichert. Die Zahl 456 wird in dem Speicherplatz der Vorwärts-Hinweisadresse der neuen Bandsprosse gespeichert, und der Prioritätswert 60 wird in dem PrioritätsSpeicherplatz der neuen Bandsprosse gespeichert, so daß die Verriegelungsbandsprosse und die neue Bandsprosse gemäß Fig. 6 miteinander verbunden sind. '
Zur weiteren Erläuterung der Ausführung des Befehles QOH sei angenommen, daß zu einem späteren Zeitpunkt das System die Prioritätsnummer einer zweiten Bardr.prosse zuordnet, die in die Warteschlangenstruktur einzufügen ist, wobei, diese Priorität die Nummer 70 aufweist. Das Register B1 (die Adresse der neuen Bandsprosse) soll den Wert 888 aufweisen, und es sei angenommen, daß das Register B2 auf dem Wert 456 verbleibt, der der Adresse der Verriegelungsbandsprosse entspricht, wobei zu diesem Zeitpunkt ein weiterer Befehl QOH ausgeführt werden soll. Auf dieser Grundlage nimmt die Warteschlangenstruktur die Form gemäß Fig. 7 ein. Da die Priorität den Wert 70 aufweist,, wird somit diese Bandsprosse nach der ersteh neuen Bandsprosse eingefügt, die die Priorität 60 aufweist. Wie weiter ersichtlich ist, verweist die Kopf-Hinweisadresse in der Verriegelungsbandsprosse weiter auf die erste neue Bandsprosse; die Schwanz-Hinweisadresse der Verriegelungsbandsprosse verweist jedoch nunmehr auf die zweite neue Bandsprosse. Zusätzlich verweist die Vorwärts-Hinweisadresse in der ersten neuen Bandsprosse nunmehr auf die Adresse 888, d. h. auf die Adresse der zweiten neuen Bandsprosse.
In einem weiteren Beispiel sei angenommen, daß ein weiterer Befehl QOH ausgeführt wird. Zu diesem Zeitpunkt besitzt die Prioritätsnummer in dem Register D5 den Wert 50 und die Adresse
909837/0S23
der dritten neuen Bandsprosse in dem Register B1 ist auf den Wert 222 gesetzt. Das Register B2 besitzt noch die Adresse 456. Nach der Ausführung dieses Befehls QOH sind die Verriegelungsbandsprosse und die drei neuen Bandsprossen gemäß Fig. 8 miteinander verbunden. Wie aus Fig. 8 entnehmbar ist, ist die dritte neue Bandsprosse zwischen der Verriegelungsbandsprosse und der zuvor mit der Priorität von 60 eingefügten Bandsprosse einge- . fügt.
Gemäß Fig. 9 sei angenommen, daß ein weiterer Befehl QOH ausgeführt wird, wobei zu diesem Zeitpunkt eine weitere Bandsprosse mit der Priorität 60 und der Adresse 275 in die Warteschlangenstruktur einzufügen ist. Da es sich um einen Befehl QOH handelt, wird in diesem Fall diese Bandsprosse vor der Bandsprosse mit der Priorität 60, die zuvor eingefügt wurde, eingefügt. Dementsprechend ändert sich die Warteschlangenstxuktur von der Struktur gemäß Fig. 8 in die Struktur gemäß Fig. 9, so daß die dritte neue Bandsprosse auf die vierte neue Bandsprosse und die vierte neue Bandsprosse auf die erste neue Bandsprosse verweist. Im übrigen ähnelt die Warteschlangenstruktur gemäß Fig. 9 derjenigen gemäß Fig. 8
Durch die vorstehende Operationsfolge wird die Art und Weise beschrieben, in der die Warteschlangenstruktur durch Verwendung von aufeinanderfolgenden Befehlen QOH aufgebaut wird. Im folgenden seien zwei Befehle QOT (Einreihung am Schwanzende) beschrieben, wobei eine Ausgangsstruktur gemäß Fig- 8 angenommen sei. Weiterhin sei angenommen, daß ein Befehl QOT zur Einfügung einer Bandsprosse ausgeführt wird, wobei diese Bandsprosse eine Priorität von 50 und eine Adresse von 220 gemäß dem Registerinhalt B1 aufweist. Ferner sei noch angenommen, daß das Register B2 auf die gleiche Verriegelungsbandsprosse mit der Adresse 456 verweist. Dementsprechend wird die fünfte neue Bandsprosse mit der Priorität von 50 nach der bereits vorliegenden Bandsprosse mit der Priorität von 50, die zuvor als dritte neue Bandsprosse bezeichnet wurde, eingefügt. In diesem Fall verändert sich die Hinweisadresse der dritten neuen Bandsprosse und diese verweist auf die fünfte neue Bandsprosse, indem die Adresse 123 durch
909837/0S23
"20" 29Q046Q
die Adresse 220 ersetzt wird. Die fünfte neue Bandsprosse verweist mit ihrer Hinweisadresse 123 auf die erste neue Bandsprosse, wobei erneut darauf verwiesen sei, daß die vierte neue Bandsprosse gemäß Fig. 9 in Fig. 10 aus Gründen einer vereinfachten Darstellung nicht dargestellt, ist. In diesem Fall wird somit bei Ausführung eines Befehles QOT die neue Bandsprosse nach der bereits vorliegenden Bandsprosse mit der gleichen Prioritätsnummer eingefügt, während gemäß Fig. 9 bei der Ausführung eines Befehles QOH die neue Bandsprosse mit der Prioritätsnummer 60 vor der bereits vorliegenden Bandsprosse mit der gleichen Prioritätsnummer eingefügt wurde. Im Falle eines Befehles QOH wird somit die neue Bandsprosse mit gleicher Priorität näher in Bezug auf die Verriegelungsbandsprosse eingefügt.
Gemäß Fig. 11 ist ein Spezialfall dargestellt, bei welchem der Befehl QOT benutzt werden kann, wenn die Priorität der Band^ sprosse keine Rolle spielt. Dies bedeutet, daß eine Situation vorliegt, in der bei Errichtung der Warteschlangenstruktur Zeit eingespart werden kann. Dieser Befehl ist ein QOT-Befehl mit der höchsten Prioritätsnummer, welche im vorliegenden Fall die Nummer FFFF (hexadezimal) aufweist. In diesem Fall wird eine solche Priorität am Ende der Warteschlangenliste nach der zweiten neuen Bandsprosse in diesem Beispiel abgelegt. Die Hinweisadresse der zweiten neuen Bandsprosse muß somit auf diese sechste neue Bandsprosse verweisen, und die Hinweisadresse dieser sechsten neuen Bandsprosse verweist zurück auf das Verriegelungswort in der Verriegelungsbandsprosse. Zusätzlich wird die Schwanz-Hinweisadresse der Verriegelungsbandsprosse so verändert, daß sie auf die sechste neue Bandsprosse verweist, welche in diesem Fall eine mit 380 bezeichnete Adresse aufweist.
Zusätzlich zu den Einreihungsbefehlen QOH und QOT gibt es Ausreihungsbefehle DQH und DQA. Fig. 12 zeigt ein Beispiel für die Ausführung eines Befehles DQH, wodurch eine Bandsprdsse entfernt wird. Nimmt man eine bestehende Struktur gemäß Fig. 8 zum Zeitpunkt des Empfanges des Befehles DQH beispielsweise für diesen
909837/0523
Fall an, so zeigt der Befehl DQH an, daß eine Bandsprosse aus der Warteschlangenliste zu entfernen ist, deren Prioritätsnummer 55 oder größer ist, was durch das Register D5 angezeigt wird. In diesem Fall ist daher die erste Bandsprosse mit einer Priorität gleich oder größer als 55 die erste neue Bandsprosse mit der Priorität von 60. Diese Bandsprosse wird daher entfernt und hinsichtlich der verbleibenden Bandsprossen verweist die dritte neue Bandsprosse zusammen mit der Schwanz-Hinweisadresse der Verriegelungsbandsprosse auf die zweite neue Bandsprosse und die Hinweisadresse auf die Verriegelungsbandsprosse bleibt die gleiche.
Im Hinblick auf den Befehl DQA sei angenommen, daß dieser die Entfernung einer Bandsprosse mit der Adresse 222 aus der Warteschlangenstruktur wünscht, wobei diese Adresse durch das Basisregister B1 angezeigt wird. Unter Bezugnahme auf Fig. 8 wird in diesem Fall die dritte neue Bandsprosse entfernt, welche eine Priorität von 50 aufweist, wobei jedoch diese Priorität keinen Einfluß auf den Befehl DQA besitzt- Bei der Entfernung der dritten neuen Bandsprosse mit der Adresse 222 nimmt somit die Warteschlangenstruktur die Struktur gemäß Fig. 13 ein, wobei die erste neue Bandsprosse und die zweite neue Bandsprosse nur in der Struktur verbleiben. In der Verriegelungsbandsprosse ergibt sich eine Änderung, indem die Hinweisadresse so geändert wird, daß sie auf die erste neue Bandsprosse anstelle auf die dritte neue Bandsprosse verweist. Die erste neue Bandsprosse verweist weiterhin auf die zweite neue Bandsprosse, welche ihrerseits zurück auf die Verriegelungsbandsprosse verweist.
Unter Bezugnahme auf Fig. 14 sei die Arbeitsweise des Warteschlangensystems gemäß der vorliegenden Erfindung durch Verwendung von Flußdiagrammen in näheren Einzelheiten erläutert. Solche Flußdiagramme geben die Betriebsweise des Datenverarbeitungssystemes gemäß Fig. 1 und insbesondere die Art und Weise wieder, in der die SteuerSpeicherworte bzw. die Firmwareworte organisiert sind, um die Einreihungs- und Ausreihung'soperationen gemäß den vier Befehlen des Warteschlangensystems der vorliegenden Erfindung zu bilden.
909837/0523
Gemäß Pig. 14A ist die Wirkungsweise des Befehles QOH und dessen Firmwareverwirklichung dargestellt. In dem Block 200 wird in den Befehl QOH eingetreten, worauf die Adresse in dem Register B2 der Einheit RALU-12 benutzt wird, um das Verriegelungswort zu adressieren, welches in Übereinstimmung mit dem Block 202 gelesen wird und die Hardwareverriegelung setzt. Der Aufbau der Hardwareverriegelung ist in näheren Einzelheiten in. der US-PS 4.000.485 dargestellt und beschrieben. Nachdem die Operation des Blockes 202 ausgeführt ist, wird in den Entscheidungsblock 204 eingetreten. An dieser Stelle wird eine Entscheidung getroffen, ob die Hardwareverriegelung vor der Ausführung der Operation des Blockes 202 eingeschaltet war. War die Verriegelung eingeschaltet, so wird in den Block 202 erneut eingetreten. Wenn die Hardwareverriegelung ausgeschaltet war, so wird die Softwareverriegelung gesetzt, indem in die Bitpositionen des Software-Verriegolungswortes gemäß dem Block 206 der Binärwert "1" eingeschrieben wird. Das Zusammenwirken von Hardware- und Software-Verriegelungen ist für die vorliegende Erfindung ohne Interesse und wird in der dargestellten Ausführungsform nur benutzt, um einen fortgesetzten Schutz der Warteschlangenstruktur in einer Mehrprozessorausführung zu bilden. An dieser Stelle wird die Hardwareverriegelung gelöscht. Ein Test wird sodann durchgeführt, ob die Softwareverriegelung vor der Operationsausführung des Blockes 206 eingeschaltet war, was durch den Block 208 angezeigt ist. Wenn die Frage in dem Entscheidungsblock 208 mit ja beantwortet wird, so wird gemäß dem Block 210 der C-Indikator auf den Binärwert "O" gelöscht, worauf ein Austritt aus diesem Prozeß erfolgt, was durch den Block 212 angezeigt ist. Der C-Indikator ist in dem I-Register 16 enthalten, und er wird benutzt, um anzuzeigen, ob die Abtastung versucht und vervollständigt worden ist oder ob sie nicht vervollständigt werden konnte. Wenn die Abtastung vervollständigt worden ist, so wird der C-Indikator auf den Binärwert "1" gesetzt. Wenn die Softwareverriegelung nicht eingeschaltet war, so wird in den Block 214 eingetreten.
An dieser Stelle zeigt der Block 214 an, daß das Register BO in Abhängigkeit von dem Befehl mit einem bestimmten Wert geladen
909837/0623
wird. Wenn ein Befehl QOH vorliegt, so wird das Register BO mit dem Inhalt des Registers D5 geladen, während im Falle eines Befehles QOT das Register BO mit dem um eins erhöhten Wert des Registers D5 geladen wird. Wie bereits erwähnt, enthält das Register D5 die Prioritätsnummer, so daß während eines Befehles QOT diese Prioritätsnuinmer um eins erhöht wird, bevor sie in dem Register BO abgelegt wird. Das Register. BO wird in der nachstehend erläuterten Weise benutzt.
Es wird sodann in den Block 216 eingetreten, zu welchem Zeitpunkt der Inhalt des Registers B2 in dem Register AO abgelegt wird. Das Register AO ist ein weiteres Register, das sich in der Mikroprozessorlogik gemäß Fig. 2 befindet. Es sei in Erinnerung gerufen, daß das Register B2 die Adresse des Verriegelungswortes in der Verriegelungsbandsprosse enthält. Diese Adresse wird in dem Register AO abgelegt, um die Bearbeitung dieses Wertes ohne Störung des Inhalts des Registers B2 zu ermöglichen. Danach werden die Register Y und Q jeweils mit dem um eins erhöhten Wert des Registers B2 geladen. Im nächsten Schritt wird in dem Block 215 die Frage beantwortet, ob der Inhalt des Registers BO den Wert "0" aufweist oder nicht. Wenn die Frage mit ja beantwortet wird, so wird in den Block 217 eingetreten, in welchem der Inhalt des Registers wertmäßig durch die Adressgröße erhöht wird, worauf die Schwanz-Hinweisadresse in dem Register AO abgelegt wird. Es wird sodann in die Fehlanzeige-Operation in dem Block 224 eingetreten. Wenn jedoch die Frage in dem Block 215 mit nein beantwortet wird, so wird in dem nächsten Schritt gemäß dem Block 218 die Hinweisadresse aus dem Speicherplatz gelesen, der durch den Inhalt des Y-Registers vorgegeben ist. Diese neue Hinweisadresse wird sodann in dem Y-Register abgelegt, was durch den Block 220 veranschaulicht ist. Der erwähnte Speicher ist an den Prozessor gemäß Fig. 1 über die externe Sammelschiene angeschlossen, wie dies in näheren Einzelheiten in der US-PS 4.030.075 dargestellt und beschrieben ist.
Die neue Hinweisadresse wird sodann mit einem Wert in dem Register B2 verglichen, was durch den Block 222 veranschaulicht
909837/0S23
290046Q
ist. Wenn der Vergleich erfüllt ist, so zeigt dies eine Fehlersituation gemäß dem Block 224 an, welche Fehlersituation gemäß dem Flußdiagramm in Fig. 14C abgehandelt wird. Wenn der Vergleich nicht erfüllt ist, so wird in den Block 226 eingetreten, zu welchem Zeitpunkt das Prioritätswort der nächsten Bandsprosse gelesen wird und wonach der Inhalt des Registers Y mit dem Inhalt des Registers B1 verglichen wird. Dieser Vergleich ist teilweise anwendbar bei dem Befehl DQA. Es wird somit die Frage gestellt, ob ein Befehl DQA vorliegt oder nicht, was durch den Block 228 veranschaulicht ist. Ist dies der Fall, so wird in dem Block 230 gefragt, ob der Inhalt des Registers Y gleich dem Inhalt des Registers B1 ist oder nicht. Ist dies der Fall, so liegt eine Treffersituation vor, was durch den Block 232 veranschaulicht ist. In diesem Fall wird in das Flußdiagramm gemäß Fig. 14B eingetreten. Wenn die Frage in dem Block 230 mit nein beantwortet wird, so wird in den Block 236 eingetreten, was nachstehend beschrieben wird. Wenn axe Frage in. dem Block 228 mit nein beantwortete wurde, so liegt, kein Befehl DQA vor und es wird in den Block 234 eingetreten, zu welchem Zeitpunkt der Wert des Prioritätswortes mit dem Inhalt des Registers BO verglichen wird. Ergibt dieser Vergleich, daß das Prioritätswort gleich oder größer als der Registerinhalt ist, so wird eine Treffersituation angezeigt und die Operation wird gemäß Fig. 14B fortgesetzt. Ist der Wert des Prioritätswortes kleiner als der Wert des Inhalts des Registers BO, so wird in den Block 236 eingetreten. Zu diesem Zeitpunkt wird der Inhalt des Y-Adressregisters in dem Register AO abgelegt, worauf der Inhalt des Registers Y um eins erhöht wird. Die Feststellung, ob eine Unterbrechungssituation vorliegt, wird sodann in dem Block 238 getroffen. Liegt eine Unterbrechungssituation vor, so wird in dem Block 240 aus der Operation gemäß Fig. 14A ausgetreten, und die Operation wird gemäß Fig. 14D fortgesetzt. Liegt keine Unterbrechung vor, so wird in den Block 218 erneut eingetreten, wobei eine Hinweisadresse aus dem durch das Register Y festgelegten Speicherplatz ausgelesen wird, welche Hinweisadresse gemäß dem Block 236 um eins erhöht worden ist.
909837/0S23
29Q0460
Anhand von Fig. 14B sei nun die Situation beschrieben, in der eine Treffersituation festgestellt worden ist. Am Anfang wird in den Block 242 eingetreten, zu welchem Zeitpunkt der Inhalt des Registers Y in dem Register BO abgelegt wird und der Inhalt des Registers Y um eins erhöht wird. Danach muß das Wesen der Operation, d. h. die Art des Befehls, festgestellt werden, was durch den Entscheidungsblock 244 angezeigt ist. Liegt ein Befehl ' QOH oder QOT vor, so wird in den Block 246 eingetreten. Es sei hier darauf verwiesen, daß der Block 246 einen weiteren Eingang aufweist, der bei einem fehlenden Treffer aus der Fig. 14C erhalten wird. Wenn somit in den Block 246 eingetreten wird, so , wird der Inhalt des Registers B1 in dem Register Y abgelegt, worauf das Prioritätswort von dem Register D5 in den Speicherplatz geschrieben wird, der durch das Register B1 angezeigt ist, und worauf der Inhalt des Registers Y um eins erhöht wird.. Es wird sodann in den Block 248 eingetreten, zu welchem Zeitpunkt die Hinweisadresse von dem Register BO in den Speicherplatz . eingeschrieben wird, der durch den um eins erhöhten Wert in dem Register B1 adressiert wird. Der ausgeführte Befehl wird sodann in dem Block 250 überprüft. Wenn ein Befehl QOH oder QOT vorliegt, so wird in den Block 252 eingetreten, zu welchem Zeitpunkt der Inhalt des Registers AO um eins erhöht wird und in dem Register Y abgelegt wird. Der Inhalt des Registers B1 wird sodann in dem Register BO abgelegt. Sodann wird in den Block 254 eingetreten, zu welchem Zeitpunkt die Hinweisadresse von dem Register BO in den durch das Register Y adressierten Speicherplatz geschrieben wird. Der C-Indikator in dem I-Register wird sodann gemäß dem Block 256 auf den Binärwert "1" gesetzt, wodurch angezeigt wird, daß die Abtastung vervollständigt worden ist. Danach wird aus der Operation gemäß Fig.14B in dem Block 240 ausgetreten. Die Operation setzt sich sodann gemäß Fig. 14D fort.
Vorstehend ist die Operation anhand von Befehlen QOH bzw. QOT beschrieben worden. Liegt ein Befehl DQH bzw. DQA vor, so wird in dem Block 244 auf eine Operation verzweigt, die durch den Block 260 angezeigt ist. Zu diesem Zeitpunkt wird der Inhalt
909837/0523
" 26 ' 290046Q
des Registers BO in dem Register B1 abgelegt und die Indikatoren G und L werden gesetzt, um beispielsweise anzuzeigen, ob die Bandsprosse unverbunden war oder ob keine Übereinstimmung gefunden werden konnte, oder ob die unverbundene Bandsprosse die erste war, deren Priorität mit dem Inhalt des Registers D5 übereinstimmte, oder ob die unverbundene Bandsprosse die erste war, deren Priorität den Wert in dem Register D5 überstieg. Danach wird die Hinweisadresse aus dem durch das Register Y festgelegten Speicherplatz gelesen und in dem Register BO abgelegt. Der um eins erhöhte Inhalt des.Registers AO wird in dem Register Y abgelegt. Nach der Operation in dem Block 260 wird in dem Block 262 die Frage gestellt, ob der Inhalt des Registers BO gleich dem Inhalt des Registers B2 ist. Der Wert der Hinweisadresse, die aus dem durch das Register Y festgelegten Speicherplatz ausgelesen wird, wird mit der Adresse des Verriegelungswortes in der Verriegelungsbandsprosse verglichen. Wenn die Adressen gleich sind, so folgt die Operatipn gemäß dem Block 248, und im Falle der Ungleichheit folgt die Operation gemäß dem Block 254. Bei einem erfüllten Vergleich und bei einem Befehl DQH bzw. DQA verzweigt der Block 250 auf den Block 264, wobei der um eins erhöhte Inhalt des Registers Q in dem Register Y abgelegt wird und wonach der Inhalt des Registers AO in dem Register BO abgelegt wird. Nach dieser Operation wird in die durch den Block 254 angezeigte Operation eingetreten.
Nachdem eine Situation beschrieben worden ist, bei der gemäß Fig. 14B ein sogenannter Treffer auftritt,- sei nunmehr Fig. 14C beschrieben, wobei in der dortigen Situation ein fehlender Treffer vorliegt, was durch den Block 224 angezeigt ist. Nach dem Eintritt in diese Operation wird in dem Block 270 der C-Indikator auf den Binärwert "1" gesetzt. Wie zuvor erwähnt, wird durch die Tatsache, daß der C-Indikator auf den Binärwert "1" gesetzt ist, angezeigt, daß die Abtastung versucht worden ist und daß der Befehl nicht erneut ausgeführt werden muß. Die Operation für diesen Befehl ist somit wenigstens zum vorliegenden Zeitpunkt vollständig. Danach wird in dem Block 272
909837/0523
gefragt, welche Operation vorliegt. Liegt ein Befehl QOH oder QOT vor, so wird in den Block 274 eingetreten, zu welchem Zeitpunkt der Wert in dem Q-Register plus die Adressgröße (z.B. ein oder zwei Worte) benutzt wird, um die Schwanz-Hinweisadresse zu adressieren, wonach der Inhalt des Registers B1 in die Schwanz-Hinweisadresse eingeschrieben wird. Danach wird der Inhalt des Registers B2 in dem Register BO abgelegt. An dieser Stelle verläuft die Operation zu dem Punkt A, wobei dieser Punkt A eine Eintrittsstelle zu dem Block 246 in Fig. 14B bildet. Die Operation setzt sich sodann gemäß dem Block 246 fort. Wenn in dem Block 272 festgestellt wird, daß ein Befehl DQH oder DQA vorliegt, so wird in den Block 276 eingetreten, zu welchem Zeitpunkt die Indikatoren G und L in geeigneter Weise gesetzt werden. Schließlich endet die Operation in dem Block 240.
Gemäß Fig. 14D sei die Art und Weise erläutert/ in der die Operation in dem Block 240 austritt. Im Block 280' wird die Softwareverriegelung gelesen und die Hardwareverriegelung wird gesetzt. Es wird sodann in dem Block 282 gefragt, ob die Hardwareverriegelung vor dem Setzen in dem Block 280 eingeschaltet war oder nicht. War die Hardwareverriegelung eingeschaltet, so wird erneut in den Block 280 eingetreten. War die Hardwareverriegelung ausgeschaltet, so wird in den Block 284 eingetreten, wobei Bits mit dem Binärwert "O" in das Software-Verriegelungswort eingeschrieben werden und die Hardwareverriegelung gelöscht wird. Sodann wird in dem Block 286 gefragt, ob der C-Indikator einen Binärwert von "1" oder "0" aufweist. Wenn der C-Indikator den Wert "1" besitzt, so bedeutet dies, daß das Ende des Befehls vorliegt. Wenn der C-Indikator den Wert "O" aufweist, so zeigt dies das Erfordernis für eine Erniedrigung des Programmzählers um eins an, was in dem Block 288 angezeigt ist, worauf der Befehl ebenfalls endet.
Vorstehend ist die Art und Weise beschrieben worden, wie die vier grundlegenden Operationen der Warteschlangenstruktur gemäß der vorliegenden Erfindung ausgeführt werden. Ebenfalls
909837/0S23
ist die Verwendung einer Verriegelungsbandsprosse beschrieben worden, die das Verriegelungswort enthält. Wie gezeigt worden ist, wird dieses manchmal als Softwareverriegelung bezeichnete Verriegelungswort geprüft, wenn mit der Ausführung irgendeines der vier grundlegenden Befehle begonnen wird. Zu diesem Zeitpunkt wird das Verriegelungswort verriegelt, indem es auf einen geeigneten Binärwert gesetzt wird.
Wenn es jedoch bereits verriegelt worden war, so wird der Befehl ausgelöst und es wird in ihn nicht erneut eingetreten bis das Verriegelungswort entriegelt ist, da durch das verriegelte Ver,-riegelungswort angezeigt wird, daß eine weitere Operation«im Hinblick auf die verbundene Warteschlangenstruktur ausgeführt wird, die nicht gestört werden sollte. Wenn die Operation vervollständigt ist, so wird das Verriegelungswort entriegelt. Die Warteschlangenstruktur ist somit verriegelt, d. h. das Verriegelungswort zeigt an, daß die Warteschlangenstruktur nicht gestört werden sollte, und es bleibt während der Abtastoperation verriegelt, wenn die verschiedenen Hinweisadressen in den Bandsprossen verschoben und/oder fortgeschrieben werden. Im allgemeinen ist die zuvor erwähnte Hardwareverriegelung gesetzt und wird sodann zurückgestellt (die Hardwareverriegelung ist nicht während der Abtastoperation gesetzt), um sicherzustellen, daß nicht mehr als ein in dem Datenverarbeitungssystem bearbeiteter Prozeß die Softwareverriegelung zu jedem gegebenen Zeitpunkt prüfen kann, wodurch eine falsche Antwort auf Grund des Status des Verriegelungswortes in der Verriegelungsbandsprosse vermieden wird. Es können mehr als eine Softwareverriegelung für jede Hardwareverriegelung vorliegen, d. h. es können mehr als eine gestaffelte Liste von Bandsprossen mit jeweils einer Verriegelungsbandsprosse und einem darin enthaltenen Verriegelungswort vorliegen. Durch die Verwendung solcher Verriegelungsworte wird eine Synchronisierung für Mehrprozessoreinheiten gebildet.
909837/0523

Claims (8)

  1. 29Ü0460
    HONEYWELL INFORMATION SYSTEMS INC. 4. Januar 1979
    Smith Street 5101654 Ge
    Waltham, Mass., USA
    Warteschlangenstruktur
    Patentansprüche:
    Warteschlangenstruktur für ein Datenverarbeitungssystem, dadurch gekennzeichnet, daß diese Struktur wenigstens eine Liste von Prioritätsbandsprossen aufweist, die an eine gemeinsame Steuerbandsprosse angeschlossen sind,
    wobei jede Prioritätsbandsprosse einen Speicherplatz für eine Prioritätsnummer, einen Speicherplatz für eine Hinweisadresse auf eine andere Prioritätsbandsprosse und Speicherplätze für dieser Prioritätsbandsprosse zugeordnete Informationen aufweist,
    wobei die Steuerbandsprosse einen Speicherplatz für ein Steuerwort, das den Zugriff auf die Liste der Prioritätsbandsprossen freigibt oder sperrt, einen Speicherplatz für eine erste Bandsprossen-Hinweisadresse auf die erste Prioritätsbandsprosse und einen Speicherplatz für eine letzte Bandsprossen-Hinweisadresse auf die letzte Prioritätsbandsprosse der Liste aufweist,
    wobei die Prioritätsbandsprossen unterschiedliche durch die Prioritätsnummern angezeigte Prioritäten aufweisen können, und
    wobei die Warteschlangenstuktur ferner umfaßt:
    909837/QS23
    A. Mittel, um die Steuerbandsprosse an die erste Prioritätsbandsprosse mittels der ersten Bandsprossen-Hinweisadresse anzuschließen;
    B. Mittel, um die letzte Prioritätsbandsprosse an die Steuerbandsprosse mittels der ersten Hinweisadresse in der letzten Prioritätsbandsprosse anzuschließen;
    C. Mittel, um jede der Prioritätsbandsprossen einschließlich der ersten und letzten Bandsprosse an eine nächste Prioritätsbandsprosse mittels der ersten Hinweisadresse in jeder der Prioritätsbandsprossen anzuschließen;
    D. Mittel, um neue Prioritätsbandsprossen in der Liste an einer durch die Prioritätsnummer festgelegten Stelle abzulegen; und
    E. Mittel zum Wiederaufsuchen einer Prioritätsbandsprosse in der Liste in Übereinstimmung mit oder unabhängig von der Prioritätsnummer.
  2. 2. Warteschlangenstruktur nach Anspruch 1 f gekennzeichnet durch Mittel zum Anschließen der Steuerbandsprosse an die letzte Prioritätsbandsprosse durch die letzte Bandsprossen-Hinweisadresse.
  3. 3. Warteschlangenstruktur nach Anspruch 1, dadurch gekennzeichnet , daß die weitere Information, die der Prioritätsbandsprosse zugeordnet sein kann, Daten umfassen kann, die einer Aufgabe zugeordnet sind, welche gemäß der Verwendung der Prioritätsbandsprosse auszuführen ist, oder eine Hinweisadresse auf einen anderen Speicherplatz umfassen kann, der diese Information enthalten kann.
  4. 4. Warteschlangenstruktur nach Anspruch 1, dadurch gekennzeichnet , daß die Mittel zum Ablegen neuer Prioritätsbandsprossen in der Liste Mittel zum Ablegen einer Prioritätsbandsprosse mit einer Prioritätsnummer gleich N unmittelbar vor der bereits in der Liste abgelegten ersten Prioritätsbandsprosse aufweist, wobei die erste Prioritätsbandsprosse eine Prioritätsnummer gleich oder größer als N
    besitzt. SQ98371OS23
  5. 5. Warteschlangenstruktur nach Anspruch 1, dadurch gekennzeichnet , daß die Mittel zum Ablegen neuer Prioritätsbandsprossen in der Liste Mittel zum Ablegen einer Prioritätsbandsprosse mit einer Prioritätsnummer gleich N unmittelbar nach der bereits in der Liste abgelegten Prioritätsbandsprosse aufweist, wobei die erste Prioritätsbandsprosse eine Prioritätsnummer gleich N aufweist.
  6. 6. Warteschlangenstruktur nach Anspruch 1, dadurch gekennzeichnet , daß. die Mittel zum Ablegen neuer Prioritätsbandsprossen in der Liste Mittel zum Ablegen der letzten Prioritätsbandsprosse als neue Prioritatsbandsprosse aufweisen, wobei diese Prioritätsbandsprosse die höchste in dem System statthafte Prioritätsnummer besitzt und die Priorität zur Benutzung dieser Prioritätsbandsprosse durch das System um so geringer ist, je höher die Prioritätsnummer ist.
  7. 7. Warteschlangenstruktur nach Anspruch 1, dadurch gekennzeichnet , daß die Mittel zum Wiederaufsuchen umfassen:
    A. Mittel zum Anzeigen der Prioritätsnummer der wiederaufzusuchenden Prioritätsbandsprosse; und
    B. auf die Anzeigemittel ansprechende Mittel zum Wiederaufsuchen der Prioritätsbandsprosse in der Liste, deren Prioritätsnummer gleich oder im Falle der Ungleichheit größer als die durch die Anzeigemittel angezeigte Prioritätsnummer ist.
  8. 8. Warteschlangenstruktur nach Anspruch 1, dadurch gekennzeichnet , daß die Mittel zum Wiederaufsuchen umfassen:
    A. Mittel zum Anzeigen einer Adresse der wiederaufzusuchenden Prioritätsbandsprosse; und
    B. auf die Anzeigemittel ansprechende Mittel zum Wiederaufsuchen der Prioritätsbandsprosse in der Liste ohne Berücksichtigung der Priorität derselben, wobei deren Adresse gleich der durch die Anzeigemittel angezeigten Adresse ist.
    809837/0523
DE19792900460 1978-01-09 1979-01-08 Warteschlangenstruktur Withdrawn DE2900460A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US86814678A 1978-01-09 1978-01-09

Publications (1)

Publication Number Publication Date
DE2900460A1 true DE2900460A1 (de) 1979-09-13

Family

ID=25351149

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19792900460 Withdrawn DE2900460A1 (de) 1978-01-09 1979-01-08 Warteschlangenstruktur

Country Status (7)

Country Link
JP (1) JPS54101635A (de)
AU (1) AU520214B2 (de)
CA (1) CA1109968A (de)
DE (1) DE2900460A1 (de)
FR (1) FR2414228A1 (de)
GB (1) GB2012084B (de)
YU (1) YU40733B (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3072127D1 (en) * 1980-02-28 1988-12-08 Intel Corp Data processing system
JPS57191731A (en) * 1981-05-21 1982-11-25 Nec Corp Operating system for terminal equipment
US4604694A (en) * 1983-12-14 1986-08-05 International Business Machines Corporation Shared and exclusive access control
US4736318A (en) * 1985-03-01 1988-04-05 Wang Laboratories, Inc. Data processing system having tunable operating system means
DE3705577A1 (de) * 1987-02-21 1988-09-01 Bosch Gmbh Robert Verfahren zur prioritaetsabhaengigen bearbeitung von unterschiedlichen anforderungen eines rechners
FR2762917B1 (fr) * 1997-05-02 1999-06-11 Alsthom Cge Alcatel Procede d'affectation dynamique de taches a des evenements arrivant sur un ensemble de files d'attente
GB2330220B (en) * 1997-10-07 2002-04-10 Ibm Access control for groups of related data items
FI981917A (fi) 1998-09-08 2000-03-09 Nokia Networks Oy Menetelmä FIFO-jonon toteuttamiseksi muistissa ja muistijärjestely
GB2345355A (en) * 1998-12-30 2000-07-05 Ibm Garbage collection in a Java virtual machine

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1345950A (en) * 1970-12-22 1974-02-06 Int Standard Electric Corp Digital electric data processing system

Also Published As

Publication number Publication date
YU1779A (en) 1983-04-30
CA1109968A (en) 1981-09-29
AU520214B2 (en) 1982-01-21
FR2414228A1 (fr) 1979-08-03
FR2414228B1 (de) 1984-11-16
GB2012084B (en) 1982-03-17
JPS54101635A (en) 1979-08-10
YU40733B (en) 1986-04-30
AU4304679A (en) 1979-07-19
GB2012084A (en) 1979-07-18

Similar Documents

Publication Publication Date Title
DE2411963C3 (de) Elektronische Datenverarbeitungsanlage mit einer Prioritätssteuerschaltung mit änderbaren Steuerblöcken
DE2657848C2 (de)
DE2714805C2 (de)
DE2755897C2 (de)
DE2847216C2 (de) Datenverarbeitungsanlage mit Mehrprogrammbetrieb
DE2839726A1 (de) Datenverarbeitungsanlage mit verteilter steuerarchitektur in einem multiprozessor-system
DE2953861C2 (de)
DE3131341A1 (de) "pufferspeicherorganisation"
DE2912738A1 (de) System mit direkter uebertragung zwischen subsystemen
DE2230102A1 (de) Rechenwerk fuer variable wortlaengen
DE4207158A1 (de) Speicher-zugriffssteuerung
DE1549474B2 (de) Anordnung in einer elektronischen digitalen Datenverarbeitungsanlage zur Ausführung eines ersten Befehls und gleichzeitigen Decodierung eines folgenden Befehls
DE3507584C2 (de)
DE60029167T2 (de) Arbiter und Arbitrierungsverfahren
DE1499206B2 (de) Rechenanlage
DE2900460A1 (de) Warteschlangenstruktur
DE2720864A1 (de) Verfahren und anordnung zum lueckenfreien einspeichern einer anzahl von datenblocks unbestimmter laenge
DE2611975A1 (de) Dv-system mit einer einrichtung zur zuordnung von prozessen zu einem prozessor auf einer prioritaetsbasis
DE2625113A1 (de) Speicherschutzeinrichtung
DE2725614C2 (de)
EP0409330B1 (de) Schaltungsanordnung zum Steuern des Zugriffs auf einen Speicher
DE3000012A1 (de) Schaltungsanordnung zur ausfuehrung eines uebertragungsbefehls in einer datenverarbeitungsanlage
DE3931505C2 (de) Speichersteuerung in einer Datenverarbeitungsanlage
EP1308846B1 (de) Datenübertragungseinrichtung
DE3025167A1 (de) Datenverarbeitungseinrichtung

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8130 Withdrawal