-
Die vorliegende Erfindung betrifft ein
Adresssteuerungssystem für einen erweiterten Speicher.
-
Supercomputer haben eine unvergleichlich höhere
arithmetische Verarbeitungsgeschwindigkeit als
Universalrechner und können für vielfältige Studien und technische
Entwicklungen auf naturwissenschaftlichen und technischen
Gebieten unter Verwendung einer großen Datenmenge und mit
einer hohen Geschwindigkeit vielfältige Gleichungen lösen,
die natürliche oder technische Vorgänge beschreiben.
-
Wenn zum Beispiel ein Drucktest an Fahrzeugkörpern
bei einem Fahrzeughersteller unter Verwendung eines
Supercomputers simuliert werden kann, kann die Anzahl von
Fahrzeugen, die in einem Test verwendet wird, verringert werden.
Ein Flugzeughersteller verwendet einen Supercomputer, um
Luftwirbel zu analysieren, die um Flügel herum gebildet
werden, welche unter Verwendung eines Windkanals geprüft
wurden.
-
In einem Supercomputer, der in großem Stil
naturwissenschaftlich-technische Berechnungen durchführt, nimmt der
Umfang eines Problems zu, wenn das zu berechnende Objekt
ebenso vergrößert wird, und große Datenmengen sind
notwendig.
-
Deshalb werden viele Daten in einem
Sekundärspeicher, wie etwa einer Magnetplattenvorrichtung, gespeichert.
Auf diese Weise werden Berechnungen durchgeführt, während
Daten zwischen der Magnetplattenvorrichtung und einem
Hauptspeicher eingegeben/ausgegeben werden. Deshalb beeinflußt
eine Eingabe-/Ausgabe- (I/O)-Zeit zwischen dem Sekundär- und
dem Hauptspeicher in hohem Maße die Leistung des gesamten
Programms. Deshalb hat der Supercomputer einen erweiterten
Speicher, um die Ein-/Ausgabegeschwindigkeit zu erhöhen.
-
Ein Supercomputer dieser Art weist auf: eine
Systemsteuerung, einen damit verbundenen Ein-/Ausgabe-Prozessor,
einen Steuerprozessor, einen arithmetischen
Hochgeschwindigkeitsprozessor, einen ersten Hauptspeicher, einen zweiten
Hauptspeicher und einen erweiterten Speicher.
-
Der Steuerprozessor hat eine Überwachungsfunktion
und realisiert die Ein-/Ausgabesteuerung und einen Compiler
und einen Programmbinder für Anwenderprogramme. Der erste
Hauptspeicher speichert ein Steuerprogramm zum Steuern des
Steuerprozessors.
-
Der zweite Hauptspeicher speichert Lademodule der
Anwenderprogramme und Daten. Der arithmetische
Hochgeschwindigkeitsprozessor führt die Anwenderprogramme aus.
-
Der Ein-/Ausgabe-Prozessor steuert die
Datenübertragung zwischen peripheren Vorrichtungen, wie etwa einer
Magnetplatte, und dem ersten Hauptspeicher.
-
Der Ein-/Ausgabe-Prozessor, der Steuerprozessor und
der arithmetische Hochgeschwindigkeitsprozessor können
unabhängig voneinander betrieben werden, wodurch der Durchsatz
des Systems verbessert wird.
-
Die Datenübertragung zwischen dem erweiterten
Speicher und dem zweiten Hauptspeicher wird durch Kommandos auf
dem arithmetischen Hochgeschwindigkeitsprozessor gesteuert.
-
Die Datenübertragung zwischen dem erweiterten
Speicher und dem ersten Hauptspeicher wird durch Kommandos auf
dem Steuerprozessor gesteuert.
-
In einer herkömmlichen
Informationsverarbeitungsvorrichtung dieser Art wird ein erweiterter Speicher als eine
virtuelle Platte verwaltet, um die Ein-/
Ausgabegeschwindigkeit für einen Anwender zu erhöhen.
-
Da jedoch eine Puffergröße erweitert wird, um eine
Treffergeschwindigkeit zu erhöhen und die Anzahl der Ein-/
Ausgabezeitpunkte zu verringern, muß dem erweiterten
Speicher ein großer Puffer zugeordnet werden, um eine
Datenbankzugriffszeit zu erhöhen, weil der Hauptspeicher eine
begrenzte Speichergröße hat.
-
In diesem Fall, wenn der erweiterte Speicher als die
virtuelle Platte verwaltet wird, wird, weil er
unzusammenhängende Adressräume hat, ein Overhead an
Verwaltungsadressräumen vergrößert, wenn ein großer Puffer zugeordnet werden
muß. Deshalb muß an vielen Stellen eines Betriebssystems für
jeden Zugriff ein Adressverwaltungsmodul aufgerufen werden,
wodurch die Leistung beeinträchtigt wird.
-
Da Adressen des erweiterten Speichers in dem
herkömmlichen Supercomputer als die virtuellen Plattenadressen
verwaltet werden, können sie auf dem Betriebssystem nicht
als zusammenhängende Adressen erkannt werden. Auf diese
Weise treten oft Ein-/Ausgaben an/von externen Speichern
auf, weil ein großer logischer Raum verwendet wird, wenn ein
Puffer mit einer großen Anzahl von zusammenhängenden
Adressen in dem erweiterten Speicher initialisiert wird, um eine
Datenbankzugriffsgeschwindigkeit zu erhöhen, oder wenn der
erweiterte Speicher als ein externer Seitenwechselspeicher,
ein externer Auslagerungsspeicher oder deren Caches
verwendet wird, um die Leistung des Systems zu verbessern oder
eine TSS-Antwortzeit zu verkürzen, oder wenn eine Datei auf
einer Platte auf einen logischen Raum abgebildet wird, um
durch ein Übertragungskommando auf die Datei zuzugreifen.
Wenn der erweiterte Speicher als ein externer Speicher
verwendet wird, um die Leistung zu verbessern, wird deshalb ein
Overhead an Verwaltungsadressräumen vergrößert. Da die
Anzahl von Zugriffszeitpunkten auf den erweiterten Speicher
erhöht wird, wird als Ergebnis die Zugriffsleistung
beeinträchtigt.
-
EP-A-0 214 870 offenbart ein Steuerungssystem für
Datenübertragungsanweisungen mit erweiterten
Speichervorrichtungen. Das genannte System liefert keinen direkten Weg
von dem Kanalprozessor oder der Platte zu dem erweiterten
Speicher.
-
Es ist daher eine Aufgabe der vorliegenden
Erfindung, ein Adresssteuerungssystem für einen erweiterten
Speicher zur Verfügung zu stellen, das einen Overhead an
Verwaltungsadressräumen verringern kann, um die Zugriffsleistung
zu verbessern. Diese Aufgabe wird mit den Merkmalen des
Patentanspruchs gelöst.
-
Die vorliegende Erfindung wird weiter beschrieben
unter Bezug auf die folgenden Zeichnungen:
-
Fig. 1 ist ein Blockschaltbild, das eine Anordnung
einer Informationsverarbeitungsvorrichtung zeigt, bei der
ein Adresssteuerungssystem für einen erweiterten Speicher
gemäß einer Ausführungsform der vorliegenden Erfindung
angewendet wird;
-
Fig. 2 ist ein Zeitablaufdiagramm zur Erklärung
eines Datenübertragungsvorgangs zwischen einem erweiterten
Speicher und einem arithmetischen Hauptspeicher gemäß der
vorliegenden Erfindung;
-
Fig. 3 zeigt ein Format eines Kanalprogramms, das in
dem arithmetischen Hauptspeicher erzeugt wird; und
-
Fig. 4 ist ein Zeitablaufdiagramm zur Erklärung
eines Datenübertragungsvorgangs zwischen dem erweiterten
Speicher und einem Steuerhauptspeicher gemäß der vorliegenden
Erfindung.
-
Die vorliegende Erfindung wird im weiteren unter
Bezug auf die beigefügten Zeichnungen beschrieben.
-
Bezug nehmend auf Fig. 1 weist eine
Informationsverarbeitungsvorrichtung, bei der ein Adresssteuerungssystem
für einen erweiterten Speicher gemäß einer Ausführungsform
der vorliegenden Erfindung angewendet wird, auf: eine
Systemsteuerung 1, einen damit verbundenen Ein-/
Ausgabeprozessor 2 zum Steuern von Systemein-/ausgaben,
einen Steuerprozessor 3 mit Programmkompilier- und
Bindefunktionen und einer Überwachungsfunktion, einen arithmetischen
Hochgeschwindigkeitsprozessor 4 zum Ausführen eines
Anwenderprogramms, das hauptsächlich aus Vektorrechnungen
besteht, mit hoher Geschwindigkeit, einen Steuerhauptspeicher
5, der als ein Speicher für den Steuerprozessor 3 dient und
auf dem eine Betriebssystemfunktion betrieben werden kann,
einen arithmetischen Hochgeschwindigkeitshauptspeicher 6 mit
großer Kapazität, der für den arithmetischen
Hochgeschwindigkeitsprozessor 4 verwendet wird und Vektordaten von
Benutzerprogrammen, die hauptsächlich aus Vektorrechnungen
bestehen, und Anwenderprogrammen, die durch den
arithmetischen Hochgeschwindigkeitsprozessor 4 ausgeführt werden,
speichert, und einen erweiterten Speicher 7.
-
Die Systemsteuerung 1 umfaßt eine
Datenübertragungssteuerungseinheit 9 für den erweiterten Speicher zum Steuern
der Datenübertragung zwischen dem erweiterten Speicher 7 und
dem Steuerhauptspeicher 5 auf der Basis der Kommandos auf
dem arithmetischen Hochgeschwindigkeitsprozessor 4
entsprechend einer Datenübertragungsaufforderung zwischen dem
erweiterten Speicher 7 und dem arithmetischen Hauptspeicher 6
von einem Prozessor, der in einer ersten Prozessorgruppe
enthalten ist, welche den Steuerprozessor 3, den Ein-/
Ausgabe-Prozessor und ähnliche aufweist, und einer
Monitoraufrufaufforderung eines Anwenderprogramms, das auf dem
arithmetischen Hochgeschwindigkeitsprozessor 4 ausgeführt
wird, und zum Steuern der Datenübertragung zwischen dem
erweiterten Speicher 7 und dem Steuerhauptspeicher 5
entsprechend einer Datenübertragungsaufforderung zwischen dem
erweiterten Speicher 7 und dem Steuerhauptspeicher 5, die von
einem Prozessor ausgegeben wird, der in der ersten
Prozessorgruppe enthalten ist.
-
Der Steuerprozessor 3 hat eine
Plattenadressbestimmungseinrichtung 20 zum Verwalten des erweiterten Speichers
7 als eine virtuelle Platte, eine
Speicheradressbestimmungseinrichtung 21 zum Verwalten des erweiterten Speichers 7 als
einen zusammenhängenden Adressraum und eine
Speicheradressumsetzungseinrichtung 25 zum Umsetzen von durch die
Speicheradressbestimmungseinrichtung 21 bestimmten
Speicheradressen in physikalische Adressen des erweiterten
Speichers 7.
-
Der arithmetische Hochgeschwindigkeitsprozessor 4
hat eine Plattenadressumsetzungseinrichtung 23 zum Umsetzen
von durch die Plattenadressbestimmungseinrichtung 20
bestimmten virtuellen Plattenadressen in physikalische
Adressen des erweiterten Speichers 7, eine
Speicheradressumsetzungseinrichtung 24 zum Umsetzen von durch die
Spei
cheradressbestimmungseinrichtung 21 bestimmten
Speicheradressen in physikalische Adressen des erweiterten
Speichers 7 und eine Typerkennungseinrichtung 22 zum Erkennen,
ob der erweiterte Speicher 7 als die virtuelle Platte oder
der zusammenhängende Speicherraum verwaltet wird.
-
Der Steuerprozessor 3 hat Überwachungsfunktionen,
wie zum Beispiel Auftragsein-/ausgabe-Editierverarbeitung,
Dateiverarbeitung, Betriebsmittelverwaltung für den Ein-/
Ausgabeprozessor 2, Auftragsdisposition, einen Compiler und
einen Programmbinder für Anwenderprogramme und ähnliches.
-
Der arithmetische Hochgeschwindigkeitsprozessor 4
hat eine Funktion mit der Fähigkeit, Vektor- oder
Skalarkommandos eines Anwenderprogramms mit hoher Geschwindigkeit
auszuführen, und verwendet ein vielfach paralleles
Pipelinesystem zum Ausführen von Vektorrechnungen, insbesondere mit
hoher Geschwindigkeit. Um den arithmetischen Pipelines
kontinuierlich Daten zuzuführen, wird der arithmetische
Hochgeschwindigkeitsprozessor 4 durch eine arithmetische
Datenübertragungssteuerungseinheit 8 gesteuert, um den Durchsatz
zwischen dem arithmetischen Hochgeschwindigkeitsprozessor 4
und dem arithmetischen Hauptspeicher 6 zu erhöhen.
-
Die Datenübertragung zwischen dem erweiterten
Speicher 7 und dem arithmetischen Hauptspeicher 6 wird durch
Kommandos auf dem arithmetischen
Hochgeschwindigkeitsprozessor 4 gesteuert. Während die Übertragung zwischen dem
erweiterten Speicher 7 und dem arithmetischen Hauptspeicher 6
durchgeführt wird, wird daher die
Hochgeschwindigkeits-Ausführungsverarbeitung von Vektor- oder Skalarkommandos eines
auf dem arithmetischen Hochgeschwindigkeitsprozessor 4
ausgeführten Anwenderprogramms unterbrochen.
-
Die Datenübertragung zwischen dem erweiterten
Speicher 7 und dem arithmetischen Hauptspeicher 6 wird weiter
unten unter Bezug auf Fig. 2 beschrieben.
-
Wenn durch den Steuerprozessor 3 ein
Übertragungskommando zwischen dem erweiterten Speicher 7 und dem
arithmetischen Hauptspeicher 6 ausgeführt wird, wird in dem
arithmetischen Hauptspeicher 6 ein in Fig. 3 gezeigtes
Kanalprogramm CP erzeugt.
-
Zu diesem Zeitpunkt werden durch die
Plattenadressbestimmungseinrichtung 20 oder die
Speicheradressbestimmungseinrichtung 21 ein Adresstyp Pa und eine erweiterte
Speicheradresse Pb in dem Kanalprogramm CP entsprechend
einem Format von Adressen in dem erweiterten Speicher 7
gespeichert, um von einem Betriebssystem verarbeitet zu
werden.
-
Außerdem weist das Kanalprogramm CP auch
Steuerinformationen, wie etwa eine arithmetische
Hauptspeicheradresse Pc, eine Übertragungslänge Pd und ähnliches,
auf.
-
Das Übertragungskommando wird als ein asynchrones
Kommando auf dem Steuerprozessor 3 ausgeführt. Wenn ein
bestimmter Prozeß zum Beispiel Übertragungskommandos
aufweist, werden, wie in Fig. 3 gezeigt, Kanalprogramme
(CP&sub1;, ..., CPn) erzeugt, die diesen Kommandos entsprechen. Der
Steuerprozessor 3 führt die Interprozessor-Kommunikation mit
dem arithmetischen Hochgeschwindigkeitsprozessor 4 aus,
nachdem er alle Kanalprogramme erzeugt hat.
-
Nach Empfang des
Interprozessor-Kommunikationskommandos liest der arithmetische Hochgeschwindigkeitsprozessor
4 Kanalprogramminformationen aus, die durch den
Steuerprozessor 3 in dem arithmetischen Hauptspeicher 6 erzeugt
wurden. Danach erkennt die Typerkennungseinrichtung 22, ob der
erweiterte Speicher 7 als eine virtuelle Platte oder als ein
zusammenhängender Speicherraum verwaltet wird. Entsprechend
einem Erkennungsergebnis wird die erweiterte Speicheradresse
unter Verwendung der Plattenadressumsetzungseinrichtung 23
oder der Speicheradressumsetzungseinrichtung 24 in die
physikalische Adresse umgesetzt.
-
Der arithmetische Hochgeschwindigkeitsprozessor 4
führt ein Erweiterungsspeicher-Datenübertragungskommando aus
und sendet Steuerinformationen, wie etwa einen Kommandotyp,
die umgesetzte physikalische Adresse des erweiterten
Speichers 7, die Startadresse des arithmetischen Hauptspeichers
6 und ähnliches, wodurch die Datenübertragung zwischen dem
arithmetischen Hauptspeicher 6 und dem erweiterten Speicher
7 gestartet wird.
-
Die Datenübertragungssteuerungseinheit 9 für den
erweiterten Speicher liest sequentiell Daten aus dem
arithmetischen Hauptspeicher 6 und überträgt sie an den erweiterten
Speicher 7.
-
Nach Beendigung der Datenübertragung wird durch
Unterbrechung von der Datenübertragungssteuerungseinheit 9
für den erweiterten Speicher eine Nachricht, die dieses
anzeigt, an den arithmetischen Hochgeschwindigkeitsprozessor 4
geliefert.
-
Der arithmetische Hochgeschwindigkeitsprozessor 4,
der die Nachricht von der Beendigung der Datenübertragung
empfangen hat, liest den Zustand aus, um die
Normalität/Abnormalität der Datenübertragung zu erkennen, und
berichtet das Erkennungsergebnis über die
Interprozessor-Kommunikation an den Steuerprozessor 3.
-
Im allgemeinen können die
Speicheradressumsetzungseinrichtung, die Plattenadressumsetzungseinrichtung und die
Typerkennungseinrichtung in der Systemsteuerung 1
entsprechend einem Hardwarevolumen/einer Hardwareleistung
angeordnet werden, welche von einem Systemaufbau abhängt.
-
Die Datenübertragung zwischen dem erweiterten
Speicher 7 und dem Steuerhauptspeicher 5 wird weiter unten unter
Bezug auf Fig. 4 beschrieben.
-
Die Datenübertragung zwischen dem erweiterten
Speicher 7 und dem Steuerhauptspeicher S wird durch ein
Betriebssystem nur aus einem zusammenhängenden
Speicheradressformat bearbeitet.
-
Deshalb bewirkt der Steuerprozessor 3 nach
Ausführung dieses Kommandos, daß die
Speicheradressumsetzungseinrichtung 25 eine bestimmte Adresse des erweiterten Speichers
7 in eine physikalische Adresse umsetzt.
-
Der Steuerprozessor 3 sendet dann die Startadresse
des Steuerhauptspeichers 5, die Startadresse des erweiterten
Speichers 7, Kommandos, ein Übertragungsdatenvolumen und
ähnliches an die Datenübertragungssteuerungseinheit 9 für
den erweiterten Speicher und startet auf diese Weise die
Datenübertragung.
-
Nach Beendigung der Datenübertragung wird von der
Datenübertragungssteuerungseinheit 9 für den erweiterten
Speicher eine Nachricht, die dieses anzeigt, an den
Steuerprozessor 3 geliefert. Der Steuerprozessor 3 liest den
Zustand, um die Normalität/Abnormalität der Datenübertragung
zu erkennen.
-
Wie weiter oben beschrieben, wird gemäß der
vorliegenden Erfindung unter der Steuerung eines Betriebssystems
bestimmt, ob der erweiterte Speicher als ein
zusammenhängender Speicheradressraum oder als ein virtueller
Plattenadressraum verwaltet wird, so daß ein Overhead zum Verwalten
von Adressräumen wie erforderlich verringert werden kann, um
die Zugriffsleistung zu verbessern.
-
In einem herkömmlichen Anwenderprogramm werden
Adressen des erweiterten Speichers als virtuelle
Plattenadressen verarbeitet. Gemäß der vorliegenden Erfindung kann
ein Anwender jedoch ein derartiges Programm unbewußt unter
der Steuerung eines Betriebssystems ausführen, ohne das
Programm zu verändern.