-
Die vorliegende Erfindung betrifft ein Steuersystem für
einen Warteschlangen-Pufferspeicher. Sie betrifft
insbesondere eine Verwaltung eines Besetztzustands
(Besetztverwaltung) des Warteschlangen-Pufferspeichers, der zwischen
einer Hauptspeichereinheit und einer externen
Speichereinheit in einem Datenverarbeitungssystem vorgesehen ist.
-
In einem Datenverarbeitungssystem, das durch zentrale
Datenverarbeitungseinheiten (CPU), Hauptspeichereinheiten
(MSU), Kanalprozessoren und eine externe Speichereinheit
(SSU) gebildet wird, ist üblicherweise zwischen der
Hauptspeichereinheit und der externen Speichereinheit ein
Warteschlangen-Pufferspeicher vorgesehen. In diesem Fall
ist nur eine externe Speichereinheit in dem
Multiprozessorsytem vorgesehen, das durch eine Vielzahl von Clustern
gebildet wird, von denen jeder zentrale
Datenverarbeitungseinheiten, Hauptspeichereinheiten und
Kanalprozessoren aufweist.
-
Wenn Daten aus der Hauptspeichereinheit ausgelesen werden
und die Daten auch in die externe Speichereinheit
geschrieben werden, werden die Daten vorübergehend in dem
Warteschlangen-Pufferspeicher gespeichert und die in dem
Warteschlangen-Pufferspeicher gespeicherten Daten werden
auch in die extetne Speichereinheit geschrieben. Demgemäß
hat der Warteschlangen-Pufferspeicher eine Pufferfunktion
zum Auflösen eines unabgeglichenen Zustands, in dem die
Lese-/Schreibgeschwindigkeit der externen Speichereinheit
langsamer als die der Hauptspeichereinheit ist, so daß
diese Einheiten asynchron zueinander arbeiten.
-
In diesem Fall gibt es eine Grenze der Kapazität des
Warteschlangen-Pufferspeichers. Entsprechend ist es nötig,
den Besetztzustand des Warteschlangen-Pufferspeichers
wirksam zu verwalten, so daß es möglich ist, die
Geschwindigkeit der Datenübertragung zwischen der
Hauptspeichereinheit
und der externen Speichereinheit zu erhöhen.
-
Es ist daher wünschenswert, ein Steuersystem für einen
Warteschlangen-Pufferspeicher bereitzustellen, das eine
wirksame Verwaltung des Besetztzustands des
Warteschlangen-Pufferspeichers ermöglicht.
-
Erfindungsgemäß wird ein Steuersystem für einen
Warteschlangen-Pufferspeicher zum Verwalten des Besetztzustands
von Daten an einem Warteschlangen-Pufferspeicher
bereitgestellt, der zwischen einer Haupspeichereinheit und einer
externen Speichereinheit vorgesehen ist, und umfaßt: eine
Steuereinheit zum Empfangen eines Anforderungssignals von
einer zentralen Verarbeitungseinheit, Auswählen einer
Prioritätsordnung des Anforderungssignals und Decodieren
eines in dem Anforderungssignal enthaltenen Zielbefehls
dahingehend, ob das Anforderungssignal einen Zugriff auf
den Warteschlangen-Pufferspeicher anzeigt oder nicht; eine
Ausgabedaten-Nachweiseinheit in Wirkverbindung mit dem
Warteschlangen-Pufferspeicher zum Nachweisen einer von dem
Warteschlangen-Pufferspeicher ausgegebenen Datenmenge und
zum Ausgeben eines Nachweissignals bei jedem Nachweis
dieser Daten; eine Eingabedaten-Nachweiseinheit in
Wirkverbindung mit einer Ausgangsseite der Steuereinheit zum
Nachweisen eines Vorhandenseins von an den Warteschlangen-
Pufferspeicher zu übertragenden Daten auf der Grundlage
des Zielbefehls des Anforderungssignals und zum Ausgeben
eines Nachweissignals, wenn die
Eingabedaten-Nachweiseinheit das Anforderungssignal nachweist, bevor die
Hauptspeichereinheit das Anforderungssignal erhält; und eine
Einheit zur Datenlese-/Datenstoppanzeige in Wirkverbindung
mit der Eingabedaten-Nachweiseinheit und der Ausgabedaten-
Nachweiseinheit zum Nachweisen der zum Warteschlangen-
Pufferspeicher zu übertragenden Datenmenge auf der
Grundlage der Differenz zwischen den Nachweissignalen und zum
Erzeugen eines Stoppsignals zum Senden an die
Steuereinheit zum Stoppen einer Eingabe des Anforderungssignals,
das den Zielbefehl der Datenübertragung von der
Hauptspeichereinheit an den Warteschlangen-Pufferspeicher enthält,
wenn die Datenmenge an dem Warteschlangen-Pufferspeicher
eine vorbestimmte maximale Menge erreicht hat.
-
Als Beispiel wird nun auf die angefügten Zeichnungen Bezug
genommen, in denen sind:
-
Figur 1 ein schematisches Blockdiagramm eines
Steuersystems für einen Warteschlangen-Pufferspeicher
eines existierenden Typs,
-
Figur 2 ein elementares Blockdiagramm des
erfindungsgemäßen Steuersystems für einen Warteschlangen-
Pufferspeicher,
-
Figur 3 ein schematisches Blockdiagramm eines
Steuersystems für einen Warteschlangen-Pufferspeicher
gemäß einer Ausführungsform der vorliegenden
Erfindung, und
-
Figur 4 ein detailliertes Schaltbild des in Figur 3
gezeigten Steuersystems für einen
Warteschlangen-Pufferspeicher.
-
Bevor die bevorzugten Ausführungsformen beschrieben
werden, wird eine Erläuterung von Problemen der gegenwärtigen
Technologie gegeben.
-
Figur 1 ist ein schematisches Blockdiagramm eines
Steuersystems für einen Warteschlangen-Pufferspeicher eines
existierenden Typs.
-
In Figur 1 bezeichnet Bezugsziffer 1 eine
Prioritätsauswahlschaltung, 2 einen Hauptspeicher, 3 einen Teiler, 4
einen Warteschlangenpuffer, 5 eine Schaltung zur
Besetztzustandsverwaltung, 6 eine Ausgabesteuerschaltung für
den Warteschlangenpuffer und 7 einen externen Speicher.
Weiter bezeichnen 21 bis 26 Register, und 34 bis 50 und 53
bezeichnen Signal leitungen.
-
5Wenn, zum Beispiel, Daten sequentiell von dem
Hauptspeicher 2 ausgelesen und in den Warteschlangenpuffer 4
geschrieben werden, so übersteigt die Datenmenge die
Kapazität des Warteschlangenpuffers 4, falls von dem externen
Speicher 7 an den Warteschlangenpuffer 4 kein
Schreibfreigabesignal erzeugt wird und der
Warteschlangen-Pufferspeicher 4 die Daten nicht an die externe Speichereinheit
übertragen kann. Entsprechend ist es notwendig, eine
Schaltung 5 zur Besetztzustandsverwaltung zum Steuern der
Datenübertragung zwischen dem Hauptspeicher und dem
Warteschlangenpuffer vorzusehen.
-
Die Schaltung 5 zur Besetztzustandsverwaltung hat die
Funktion, die gerade in dem Warteschlangenpuffer 4
gespeicherte Datenmenge nachzuweisen, und zwar auf der Grundlage
der Differenz zwischen der von dem Hauptspeicher 2 dem
Warteschlangenpuffer 4 eingegebenen Datenmenge und der von
dem Warteschlangenpuffer 4 an den externen Speicher 7
ausgegebenen Datenmenge. Weiter hat die Schaltung 5 zur
Besetztzustandsverwaltung die Funktion, ein Besetztsignal
zum Stoppen einer Schreibanforderung zum Schreiben der
Daten in den Warteschlangenpuffer 4 auszugeben, wenn die
Datenmenge an dem Warteschlangenpuffer 4 eine vorbestimmte
Grenze der Kapazität des Warteschlangen-Pufferspeichers
erreicht. In diesem Fall wird die Grenze der Kapazität
bestimmt, indem man die auf der Leitung zwischen dem
Hauptspeicher 2 und dem Warteschlangenpuffer 4 vorhandenen
Daten berücksichtigt.
-
Im allgemeinen sind mehrere τ (τ: Taktpulsperiode) als die
Übertragungszeit vom Auslesen der Daten an dem
Hauptspeicher 2 bis zum Schreiben dieser Daten an dem
Warteschlangenpuffer 4 nötig. Nimmt man zum Beispiel an, daß der
Warteschlangenpuffer 4 zweiunddreißig Datenblöcke als die
maximale Kapazität speichern kann und daß die
Übertragungszeit 20 τ beträgt, so werden in dem Zustand, in
dem der Warteschlangenpuffer 4 vollständig durch
zweiunddreißig Datenblöcke gefüllt ist und die Schaltung 5 zur
Besetztzustandsverwaltung das Besetztsignal zum Stoppen
des Auslesens der Daten von dem Hauptspeicher 2 ausgibt,
die Daten auf der Busleitung zwischen dem Hauptspeicher
und dem Warteschlangenpuffer (d.h. die der
Übertragungszeit entsprechenden Daten) ebenfalls in den
Warteschlangenpuffer 4 geschrieben.
-
Entsprechend gibt die Schaltung 5 als Gegenmaßnahme zu dem
obigen Problem das Besetztsignal zu dem Zeitpunkt aus, bei
dem die Datenmenge 12 Datenblöcke (32 minus 20) als der
vorbestimmten Grenze der Kapazität des
Warteschlangenpuffers 4 erreicht. Das heißt, daß das Besetztsignal zu dem
Zeitpunkt ausgegeben werden muß, der die auf der Leitung
vorhandenen Daten berücksichtigt.
-
Somit liegen Probleme darin, daß in dem
Warteschlangenpuffer 4 durch Berücksichtigen der auf der Leitung
vorhandenen Daten eine große ungenutzte Kapazität (Bereich)
auftritt. In diesem Fall muß von der
Besetztzustandsverwaltungsschaltung 5 häufig das Besetztsignal erzeugt werden,
um den Zustand des Wartenschlangenpuffers 4 wirksam zu
verwalten, wenn die Datenmenge die vorbestimmte Grenze
trotz des Vorhandenseins von Daten auf der Leitung
erreicht. Folglich haben diese Probleme eine
Verschlechterung der Leistungsfähigkeit des Systems zur Folge.
-
Figur 2 ist ein elementares Blockdiagramm eines
Steuersystems für einen Warteschlangen-Pufferspeicher, das die
vorliegende Erfindung verkörpert.
-
In Figur 2 bezeichnet Bezugsziffer 10 eine Steuereinheit,
11 eine Hauptspeichereinheit, 12 einen Warteschlangen-
Pufferspeicher, 13 eine Eingabedaten-Nachweiseinheit, 14
eine Einheit zur Datenlese-/Datenstoppanzeige, 15 eine
Ausgabedaten-Nachweiseinheit und 16 eine externe
Speichereinheit.
-
Die Steuereinheit 10 empfängt ein Anforderungssignal REQ
von einer zentralen Verarbeitungseinheit CPU und wählt
eine Prioritätsordnung aus. Der
Warteschlangen-Pufferspeicher 12 speichert die von der Hauptspeichereinheit 11
ausgelesenen Daten, welche die Daten nach Empfangen eines
Anforderungssignals REQ von der Steuereinheit 10 ausgibt.
Die Ausgabedaten-Nachweiseinheit 15 gibt für jede
Datenausgabe von dem Warteschlangen-Pufferspeicher 12 ein
Nachweissignal DS2 aus. Die Eingabedaten-Nachweiseinheit
13 weist das Anforderungssignal REQ nach, bevor dieses
Signal REQ der Hauptspeichereinheit 11 eingegeben wird,
und gibt bei jedem Nachweis des Anforderungssignals REQ
ein Nachweissignal DS1 aus, das die der
Hauptspeichereinheit 11 einzugebenden Daten anzeigt.
-
Die Nachweissignale DS1 und DS2 werden der Einheit 14 zur
Datenlese-/Datenstoppanzeige eingegeben. Die Einheit 14
zur Datenlese-/Datenstoppanzeige weist die in dem
Warteschlangen-Pufferspeicher 12 zu speichernde Datenmenge
nach. Die Einheit 14 zur Datenlese-/Datenstoppanzeige gibt
an die Steuereinheit 10 ein Stoppsignal ST aus, um das
Anforderungssignal REQ zu stoppen, wenn die Datenmenge die
in dem Warteschlangen-Pufferspeicher 12 maximal
speicherbare Menge erreicht. Folglich können erfindungsgemäß die
dem Warteschlangen-Pufferspeicher 12 einzugebenden Daten
in der Phase nachgewiesen werden, die der Auslese aus dem
Hauptspeicher 11 vorausgeht. Damit ist es nicht nötig, die
auf der Leitung zwischen der Hauptspeichereinheit 11 und
dem Warteschlangen-Pufferspeicher 12 vorhandenen Daten zu
berücksichtigen. Es ist damit möglich, die Kapazität des
Warteschlangen-Pufferspeichers bis zum Erreichen eines
maximalen Zustands wirksam zu nutzen.
-
Figur 3 ist ein schematisches Blockdiagramm eines
Steuersystems für einen Warteschlangen-Pufferspeicher gemäß
einer Ausführungsform der vorliegenden Erfindung. In Figur
3 bezeichnet Bezugsziffer 1 eine
Prioritätsauswahlschaltung, 2 einen Hauptspeicher, 3 eine Teilerschaltung, 4
einen Warteschlangenpuffer, 5 eine
Besetztverwaltungsschaltung, 6 eine Ausgabesteuerschaltung für den
Warteschlangenpuffer, 21 bis 26 Register und 31 bis 50 und 53
Signalleitungen. Bei dieser Ausführungsform wird
angenommen, daß der Warteschlangenpuffer 4 zweiunddreißig
Datenblöcke als die maximale Kapazität speichern kann.
-
Die Anforderungssignale REQ von den CPU's werden über die
Signalleitungen 31 bis 33 an die entsprechenden Register
21 bis 23 übertragen. Die Prioritätsauswahlschaltung 1
wählt die Prioritätsordnung des von jedem Register über
die Signalleitungen 34 bis 36 ausgegebenen
Anforderungssignals REQ aus. Die Prioritätsauswahlschaltung 1 gibt
nach Bestimmung der Prioritätsordnung des
Anforderungssignals REQ ein Zugriffssignal AC an den Hauptspeicher 2
aus. Die in dem Hauptspeicher 2 gespeicherten Daten werden
auf der Grundlage des Zugriffssignals AC aus diesem
ausgelesen und zu der Teilerschaltung 3 übertragen.
-
In der Teilerschaltung 3 werden die Daten an ein
entsprechendes Register 24 bis 26 verteilt, und zwar entsprechend
der Art von Anforderung, d.h. Leseanforderung,
Schreibanforderung oder ähnliches, wie es in Figur 4 im einzelnen
gezeigt ist. Dies ist so, weil das Anforderungssignal
einen Zielbefehl enthält, der das Ziel der
Datenübertragung anzeigt. In dem Fall, in dem die gegebene Anforderung
die Schreibanforderung an den Warteschlangenpuffer 4 ist,
werden die Daten über die Register 24 und die
Signalleitung 43 in den Warteschlangenpuffer 4 geschrieben. Weiter
werden diese Daten auch über die Signalleitung 48 in die
externe Speichereinheit 7 unter den vorbestimmten
Bedingungen
der externen Speichereinheit 7 geschrieben.
-
Das heißt, daß die Ausgabesteuerschaltung 6 für den
Warteschlangenpuffer ein Ausgabe-Freigabesignal OE über die
Signalleitung 53 an den Warteschlangenpuffer 4 ausgibt,
und daß die in dem Warteschlangenpuffer 4 gespeicherten
Daten über die Signalleitung 48 an die externe
Speichereinheit 7 ausgegeben werden, falls von der externen
Speichereinheit 7 kein Besetztsignal BS über die Signalleitung
49 ausgegeben wird.
-
Weiter gibt die Ausgabesteuerschaltung 6 für den
Warteschlangenpuffer an die Schaltung 5 zur
Besetztzustandsverwaltung ein Informationssignal IS1 aus, um über die
Tatsache zu informieren, daß die Daten von dem
Warteschlangenpuffer 4 an die externe Speichereinheit 7 ausgegeben
werden. Das Informationssignal IS1 wird von der
Steuerschaltung 6 für den Warteschlangenpuffer jedesmal
ausgegeben, wenn die obige Operation ausgeführt wird.
-
Die Prioritätsauswahlschaltung 1 decodiert jedes von jedem
Register 21 bis 23 ausgegebene Anforderungssignal REQ und
weist auf der Grundlage des darin enthaltenen Zielbefehls
nach, ob in dem Anforderungssignal REQ Information
enthalten oder nicht enthalten ist, die die Datenübertragung von
dem Hauptspeicher zu dem Warteschlangenpuffer 4 anzeigt.
Weiter gibt die Prioritätsauswahlschaltung 1 ein
Informationssignal IS2 an die Besetztverwaltungsschaltung 5 aus.
Das Informationssignal IS2 wird von der
Prioritätsauswahlschaltung 1 bei jedem Nachweis des Zielbefehls an die
Besetztverwaltungsschaltung 5 ausgegeben.
-
Die Informationssignale IS1 und IS2 werden somit der
Schaltung 5 zur Besetztzustandsverwaltung eingegeben. Wie
oben erläutert wurde, wird ersteres Signal von der
Ausgabesteuerschaltung 6 für den Warteschlangenpuffer und
letzteres von der Prioritätsauswahlschaltung 1 ausgegeben.
-
Die Schaltung 5 zur Besetztzustandsverwaltung kann die in
dem Warteschlangenpuffer 4 gespeicherte Datenmenge auf der
Grundlage der Differenz zwischen den Informationssignalen
IS1 und IS2 nachweisen. Daher kann die Schaltung 5 zur
Besetztzustandsverwaltung das Besetztsignal BS an die
Prioritätsauswahlschaltung 1 ausgeben, wenn die Datenmenge
in dem Warteschlangenpuffer 4 auf der Grundlage der obigen
Berechnung zweiunddreißig Datenblöcke erreicht. Wenn die
Prioritätsauswahlschaltung 1 das Besetztsignal BS
empfängt, dann stoppt die Prioritätsauswahlschaltung 1
vorübergehend das Anforderungssignal REQ, um ein Schreiben
von Daten in den Warteschlangenpuffer 4 zu verhindern, wie
in Figur 4 im einzelnen gezeigt ist.
-
Figur 4 ist ein detailliertes Schaltbild der in Figur 3
gezeigten Schaltung. Wie in dieser Zeichnung gezeigt ist,
umfaßt die Prioritätsauswahlschaltung 1 einen
Prioritätswähler 1A, eine Pipeline-Einheit 1B und einen Decodierer
1C. Der Warteschlangenpuffer 4 ist vorzugsweise in zwei
Blöcke 41 und 42 aufgeteilt, um zu unterscheiden, ob der
fragliche Bereich einer Leseoperation oder einer
Schreiboperation zugeordnet. In diesem Fall ist die
Ausgabesteuerschaltung 6 für den Warteschlangenpuffer in Figur 3 in
dem Block 42 enthalten. Die Schaltung 5 zur
Besetztzustandsverwaltung wird hauptsächlich durch einen Zähler 51
und einen Komparator 52 gebildet.
-
Der Decodierer 1C decodiert den in jedem
Anforderungssignal REQ enthaltenen Zielbefehl dahingehend, ob der
Zielbefehl die Anforderung anzeigt oder nicht anzeigt, daß die
Daten über den Hauptspeicher 2 und den
Warteschlangenpuffer 42 in den externen Speicher 7 zu schreiben sind. Der
Decodierer 1C gibt das Informationssignal IS2 an den
Zähler 51 aus, wenn der Decodierer 1C ein derartiges
Anforderungssignal decodiert. Wie in Figur 3 erläutert
ist, wird das Informationssignal IS1 von der
Ausgabesteuerschaltung 6 für den Warteschlangenpuffer ausgegeben und
den Zähler 51 eingegeben, um diesen herunter zu zählen.
Der Komparator 52 vergleicht das Informationssignal IS1
mit Informationssignal IS2 auf der Grundlage des
Zählwerts. Weiter gibt der Komparator ein Besetztsignal BS an
den Prioritätswähler 1A aus, wenn der Zählwert die
vorbestimmte Grenze der Kapazität des
Warteschlangen-Pufferspeichers 4 übersteigt.
-
Die Pipeline 1B ist als ein Schieberegister zum Verzögern
des Anforderungssignals vorgesehen. Diese Verzögerung wird
durchgeführt, um die Übertragungsgeschwindigkeit des
Anforderungssignals mit der Geschwindigkeit der
Datenauslese von dem Hauptspeicher 2 in Übereinstimmung zu
bringen. Somit stimmt der Zeitpunkt der Eingabe des
Anforderungssignals an den Teiler 3 mit dem der Datenauslese an
den Teiler 3 überein. Der Teiler 3 ist dazu vorgesehen,
das Anforderungssignal entsprechend dem in jedem
Anforderungssignal enthaltenen Zielbefehl, wie oben erläutert
wurde, zu verteilen. Wenn die Anforderung einen Zugriff
auf den Warteschlangenpuffer 42 anzeigt, werden die Daten
aus dem Hauptspeicher 2 über die Signalleitung an den
Warteschlangenpuffer 42 übertragen. Andere Ziele bis
werden, zum Beispiel, zu der CPU zurückgeführt.
-
Die externe Speichereinheit (SSU) 7 ist zur
Clusterverwaltung in dem Multiprozessorsystem vorgesehen. Eine
externe Speichereinheit ist parallel mit einer Vielzahl
von Clustern verbunden. Der Aufbau des
Multiprozessorsystems wurde jedoch weggelassen, um die Erläuterung der
vorliegenden Erfindung zu vereinfachen.