DE2900460A1 - Warteschlangenstruktur - Google Patents
WarteschlangenstrukturInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message 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)
- 29Ü0460HONEYWELL INFORMATION SYSTEMS INC. 4. Januar 1979Smith Street 5101654 GeWaltham, Mass., USAWarteschlangenstrukturPatentansprü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/QS23A. 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; undE. Mittel zum Wiederaufsuchen einer Prioritätsbandsprosse in der Liste in Übereinstimmung mit oder unabhängig von der Prioritätsnummer. - 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. 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. 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 Nbesitzt. SQ98371OS23
- 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. 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. Warteschlangenstruktur nach Anspruch 1, dadurch gekennzeichnet , daß die Mittel zum Wiederaufsuchen umfassen:A. Mittel zum Anzeigen der Prioritätsnummer der wiederaufzusuchenden Prioritätsbandsprosse; undB. 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. Warteschlangenstruktur nach Anspruch 1, dadurch gekennzeichnet , daß die Mittel zum Wiederaufsuchen umfassen:A. Mittel zum Anzeigen einer Adresse der wiederaufzusuchenden Prioritätsbandsprosse; undB. 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
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)
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)
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 |
-
1978
- 1978-12-22 GB GB7849864A patent/GB2012084B/en not_active Expired
- 1978-12-27 CA CA318,609A patent/CA1109968A/en not_active Expired
-
1979
- 1979-01-02 AU AU43046/79A patent/AU520214B2/en not_active Ceased
- 1979-01-08 FR FR7900371A patent/FR2414228A1/fr active Granted
- 1979-01-08 YU YU1779A patent/YU40733B/xx unknown
- 1979-01-08 DE DE19792900460 patent/DE2900460A1/de not_active Withdrawn
- 1979-01-09 JP JP175579A patent/JPS54101635A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
YU1779A (en) | 1983-04-30 |
FR2414228B1 (de) | 1984-11-16 |
JPS54101635A (en) | 1979-08-10 |
AU520214B2 (en) | 1982-01-21 |
GB2012084B (en) | 1982-03-17 |
AU4304679A (en) | 1979-07-19 |
FR2414228A1 (fr) | 1979-08-03 |
GB2012084A (en) | 1979-07-18 |
YU40733B (en) | 1986-04-30 |
CA1109968A (en) | 1981-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2411963C3 (de) | Elektronische Datenverarbeitungsanlage mit einer Prioritätssteuerschaltung mit änderbaren Steuerblöcken | |
DE69024753T2 (de) | Tragbarer, Ressourcen teilender Datei-Server, der gemeinsame Routines benutzt | |
DE2657848C2 (de) | ||
DE2714805C2 (de) | ||
DE69230462T2 (de) | Arbitrierung des Multiprozessorzugriffs zu gemeinsamen Mitteln | |
DE3751164T2 (de) | Datenprozessor mit verschiedenen Unterbrechungsverarbeitungsarten. | |
DE2839726A1 (de) | Datenverarbeitungsanlage mit verteilter steuerarchitektur in einem multiprozessor-system | |
DE3131341A1 (de) | "pufferspeicherorganisation" | |
DE2912738A1 (de) | System mit direkter uebertragung zwischen subsystemen | |
DE68929080T2 (de) | Anordnung zum Speichern von Informationen für einen Datenanbieterprozessor | |
DE69131917T2 (de) | Cache-Speicher mit rekonfigurierbarer Blocklänge und Verfahren dafür | |
DE4207158A1 (de) | Speicher-zugriffssteuerung | |
DE3789803T2 (de) | Verfahren und Gerät zur Rechenkellerspeicherrückgewinnung in einer Rechenmaschine. | |
DE1549474B2 (de) | Anordnung in einer elektronischen digitalen Datenverarbeitungsanlage zur Ausführung eines ersten Befehls und gleichzeitigen Decodierung eines folgenden Befehls | |
EP0701204A2 (de) | Verfahren zur Überlastvermeidung bei einem Systemanlauf eines Mehrrechnersystems und Mehrrechnersystem dafür | |
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 | |
DE2725614C2 (de) | ||
EP0409330B1 (de) | Schaltungsanordnung zum Steuern des Zugriffs auf einen Speicher | |
DE69031960T2 (de) | Mikroprozessor, der mit einem Coprozessor zusammenarbeitet | |
DE69226683T2 (de) | Verfahren zum effizienten Zugriff von Daten in einer Verknüpfungstabelle | |
EP1308846B1 (de) | Datenübertragungseinrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8130 | Withdrawal |