DE4103093C2 - Verfahren zum Steuern eines Datenübertragungs-Pufferspeichers und Computersystem zum Durchführen dieses Verfahrens - Google Patents

Verfahren zum Steuern eines Datenübertragungs-Pufferspeichers und Computersystem zum Durchführen dieses Verfahrens

Info

Publication number
DE4103093C2
DE4103093C2 DE4103093A DE4103093A DE4103093C2 DE 4103093 C2 DE4103093 C2 DE 4103093C2 DE 4103093 A DE4103093 A DE 4103093A DE 4103093 A DE4103093 A DE 4103093A DE 4103093 C2 DE4103093 C2 DE 4103093C2
Authority
DE
Germany
Prior art keywords
memory
buffer memory
data transfer
command
operand
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE4103093A
Other languages
English (en)
Other versions
DE4103093A1 (de
Inventor
Masakazu Fukagawa
Tadaaki Isobe
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE4103093A1 publication Critical patent/DE4103093A1/de
Application granted granted Critical
Publication of DE4103093C2 publication Critical patent/DE4103093C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8015One dimensional arrays, e.g. rings, linear arrays, buses

Description

Die Erfindung betrifft ein Verfahren zum Steuern eines Datenüber­ tragungs-Pufferspeichers in einem Computersystem, wie es im Oberbegriff des Patentanspruchs 1 im einzelnen angegeben ist, sowie ein Computersystem zum Durchführen eines solchen Verfahrens.
Ein Computersystem mit mehreren Prozessoren, von denen jeder einen eigenen Speicher besitzt und außerdem Zugang zu einem von allen Prozessoren gemeinsam nutzbaren Hauptspeicher hat, ist aus US 4 445 174 bekannt. Weiter besitzt das bekannte Computersystem einen zusätzlichen Speicher, der für alle Prozessoren zugänglich ist und ihnen näher liegt als der Hauptspeicher. Die den einzelnen Prozessoren getrennt zugeordneten Speicher arbeiten im Normalbetrieb als ROM, während der zusätzlich vorgesehene Speicher auf einen Lese- und Schreibbetrieb eingerichtet ist und zum Verbinden der Prozessoren mit dem Hauptspeicher dienen kann, wobei die Richtungsumkehr im Betrieb durch Belegungssignale angezeigt wird.
Ein Computersystem mit ähnlichem Aufbau ist aus DE 34 39 302 A1 be­ kannt. Bei diesem Computersystem stehen mehrere Prozessoren, die jeder über einen eigenen Pufferspeicher verfügen, über mehrere Steuereinrichtungen zu­ sätzlich mit einem gemeinsamen Hauptspeicher in Verbindung, aus dem Daten für den Prozessorbetrieb abgerufen werden können, wobei die Zugriffsbedin­ gungen durch eine Speichersteuereinheit festgelegt werden.
Bei einem Universalcomputersystem herkömmlicher Bauart mit in den einzelnen Prozessoren angeordneten Pufferspeichern und einem von allen Pro­ zessoren nutzbaren Hauptspeicher kann zwischen diesem und den prozessoreige­ nen Pufferspeichern ein Gesamtpufferspeicher vorgesehen werden, der den ge­ meinsam genutzten Hauptspeicher in funktionaler Hinsicht näher an die Pro­ zessoren heranrücken läßt.
Ein herkömmliches Vektorcomputersystem mit einer Mehrzahl von Pro­ zessoren für die Ausführung von Vektorverabeitungen, wie es aus JP 60-37,064 (= US 4 488 083) bekannt ist, weist einen Aufbau auf, der durch eine Daten­ übertragung zwischen den Prozessoren mittels eines gemeinsam genutzten Regi­ sters eine Übertragung von Daten aus einem von den Prozessoren gemeinsam genutzten Hauptspeicher ermöglicht. Die Datenübertragung über das gemeinsam genutzte Register gestattet eine Minimierung des zusätzlichen Platzbedarfs, der für die Implementierung einer Simultanverarbeitung einer Aufgabe kleinen Umfangs, die von einem häufigen Datenaustausch begleitet wird, nötig ist, wobei zwischen den Prozessoren ein Hochgeschwindigkeitsübertragungsweg ver­ wendet wird.
Bei einem solchen Einsatz des gemeinsam genutzten Registers ergibt sich jedoch die Schwierigkeit, daß die zu verwendende Software das Register selbst benötigt und Registerplätze einbezieht, wodurch keine Flexibilität beispielsweise für eine Erweiterung der Systemarchitektur besteht. Außerdem verlangt das gemeinsam genutzte Register eine Verarbeitung zum Sichern und Wiederauffinden im Register bei einem Wechsel der Aufgabe, so daß eine soft­ waremäßige Verwaltung für das gemeinsam genutzte Register notwendig wird. Da auf die Systemzuverlässigkeit bei der Datenübertragung mittels des gemeinsam genutzten Registers nicht weiter geachtet wird, werden fehlerkorrigierende Codes eingesetzt, und außerdem ist eine Verdopplung des gemeinsam genutzten Registers üblich. Durch die erste Maßnahme verringert sich der Durchsatz bei der Datenverarbeitung, und die zweite Maßnahme erhöht den Umfang der nötigen Hardware.
Bei einer Dreiebenen-Speicherarchitektur in einem Universalcomputer­ system mit einer Mehrzahl von Prozessoren ergibt sich weiter ein Problem hinsichtlich der physischen Größe der Bauelemente, da die Größe des Gesamt­ pufferspeichers der des Hauptspeichers entsprechen sollte, weil sämtliche Daten als Speicherobjekt im Pufferspeicher gesetzt werden.
Ein Computersystem mit einem Vektorprozessor verlangt außerdem die Verbindung des Vektorprozessors mit dem Hauptspeicher über einen Datenweg mit hohem Durchsatz, damit der Vektorprozessor rasch mit einer großen Anzahl von Daten gespeist werden kann. In einem solchen System kann nämlich kein Bauelement nach Art eines Zwischenpufferspeichers angeordnet werden, um den Abstand der Prozessoren zum Hauptspeicher in funktionaler Hinsicht zu ver­ kürzen. Die Datenübertragung erfolgt daher direkt zwischen dem Hauptspeicher einerseits und dem prozessoreigenen Speicher des betroffenen Prozessors, so daß dieser Speicher als Pufferspeicher ausfällt. Im Ergebnis wird daher die Zugriffszeit zu den Daten im prozessoreigenen Speicher gleich lang oder so­ gar länger als die Zugriffszeit zu den Daten im Hauptspeicher.
Wegen der Unmöglichkeit der Einfügung eines Zwischenpufferspeichers in Computersysteme mit einem Vektorprozessor muß auch für Daten, die wie skalare Befehle, Steuerbefehle usw. keine Vektordaten sind oder enthalten, stets auf den Hauptspeicher zurückgegriffen werden, wenn eine Datenüber­ tragung zwischen einzelnen Prozessoren erfolgen soll.
Der Erfindung liegt daher die Aufgabe zugrunde, den Betrieb eines Computersystems mit mehreren Prozessoren gleicher oder unterschiedlicher Funktion und insbesondere unter Einschluß eines Vektorprozessors mit hoher Effizienz und unter Verwendung eines Zwischenpufferspeichers zu ermöglichen, der von allen Prozessoren genutzt werden kann, wobei die Prozessoren einzeln oder in Gruppen zusammengefaßt angeordnet sein können.
Die gestellte Aufgabe wird gemäß der Erfindung gelöst durch ein Steu­ erverfahren, wie es in Anspruch 1 angegeben ist. Eine vorteilhafte Ausgestal­ tung dieses Verfahrens ergibt sich aus dem Anspruch 2, und für die Durch­ führung dieses Verfahrens bevorzugte Computersysteme sind in den Ansprüchen 3 und 4 angegeben.
Mit Hilfe des Verfahrens nach der Erfindung läßt sich die Effizienz des betroffenen Computersystems erheblich steigern, da die Zugriffszeit zu den gespeicherten Daten deutlich verkürzt ist.
Wesentlich für die Erfindung ist die Anordnung eines Datenübertra­ gungs-Pufferspeichers, der nur zur Speicherung der Operandendaten für einen Sonderbefehl wie etwa einen Vektorbefehl verwendet wird. Andere Befehle oder Daten eines üblichen Befehls oder andere Befehle werden in den Datenübertra­ gungs-Pufferspeicher nicht eingeschrieben. Der Datenübertragungs-Pufferspei­ cher, mit dem ein Computersystem gemäß der Erfindung ausgerüstet ist, wirkt als Zwischenpufferspeicher, der in der Speicherhierarchie eine Zwischenposi­ tion einnimmt. Da er von allen Prozessoren des Computersystems genutzt wer­ den kann, läßt sich mit seiner Hilfe ein Datenaustausch zwischen den Prozes­ soren mit dem Sonderbefehl mittels Lese- und Schreiboperationen implementie­ ren.
Wenn im folgenden von einer "Mehrzahl von Prozessoren" die Rede ist, so ist damit auch ein Vektorprozessor gemeint, in dem kein Pufferspeicher angeordnet ist. Außerdem werden die Operandendaten, die von einem Sonder­ befehl wie etwa einem Vektorbefehl verschieden sind, zwischen dem jeweiligen Prozessor und dem gemeinsam genutzten Speicher direkt übertragen, ohne daß sie in dem in der Speichersteuerung angeordneten Datenübertragungs-Puffer­ speicher gespeichert werden.
Der gemeinsam genutzte Speicher ist ein Speicher, der von der Mehrzahl der Prozessoren genutzt wird, während der Datenübertragungs-Pufferspeicher ein Pufferspeicher ist, der so in der Speichersteuerung des eine Mehrzahl von Prozessoren aufweisenden Computersystems angeordnet ist, daß er einen Teil der Daten des gemeinsam genutzten Spei­ chers kopieren und speichern kann, indem er nur die Ope­ randendaten des Sonderbefehls als Speicherobjekt verwendet. Ferner besitzt jeder der Prozessoren einen Pufferspeicher, der jeweils so angeordnet ist, daß er einen Teil der Daten des gemeinsam genutzten Speichers kopiert und speichert. Der in der Speichersteuerung ange­ ordnete Datenübertragungs-Pufferspeicher ist im wesentli­ chen in der Mitte zwischen dem jeweiligen Pufferspeicher der einzelnen Prozessoren und dem gemeinsam genutzten Speicher angeordnet und wird als Zwischenpufferspeicher zum Speichern und Liefern der Operandendaten zum Zeit­ punkt der Abarbeitung des bestimmten Befehls verwendet.
Daher kann der Datenübertragungs-Pufferspeicher der Spei­ chersteuerung von einem eingeschränkten Sonderbefehl als Zwischenpufferspeicher verwendet werden, indem in ihm eine Kopie des entsprechenden Teils der Daten des gemein­ sam genutzten Speichers gespeichert wird und auf diese Daten Bezug genommen wird oder indem diese Daten aktuali­ siert werden. Dieser Aufbau kann wahlweise, insbesondere für die Datenübertragung zwischen der Mehrzahl der Pro­ zessoren, den Datenübertragungs-Pufferspeicher verwenden, wodurch z. B. eine Vektorverarbeitung effizient ausgeführt werden kann.
Durch den Sonderbefehl wird durch den zwischen dem gemeinsam genutzten Speicher und dem Pufferspeicher ange­ ordneten Datenübertragungs-Pufferspeicher der Teil der Daten des gemeinsam genutzten Speichers kopiert, gespei­ chert und abgerufen. Wenn daher mit dem Sonderbefehl Daten zwischen den mit dem gemeinsam genutzten Speicher verbundenen Prozessoren übertragen werden, ist kein Zu­ griff auf den gemeinsam genutzten Speicher erforderlich. Wenn ferner Daten im Datenübertragungs-Pufferspeicher ab­ gerufen werden, ist lediglich ein Zugriff auf den Daten­ übertragungs-Pufferspeicher erforderlich, wodurch die Zu­ griffszeit für die gewünschten Daten abgekürzt wird.
Hierbei werden während der gesamten Dauer des Zugriffs mittels des Sonderbefehls keine Daten in irgendeinem Pufferspeicher der einzelnen Prozessoren, sondern nur im Datenübertragungs-Pufferspeicher gespeichert. Daher ist während der gesamten Dauer des Zugriffs auf die für die Übertragung zwischen den Prozessoren mittels des Sonderbefehls verwendeten Daten eine Invalidierung der Da­ ten im Pufferspeicher in den anderen Prozessoren nicht erforderlich, wenn Daten mittels des Sonderbefehls aktualisiert werden, da in den Pufferspeichern der ande­ ren Prozessoren keine Kopie des Teils der Daten des ge­ meinsam genutzten Speichers gespeichert wird. Wenn ferner die für die Datenübertragung zwischen den Prozessoren verwendeten Daten nur für eine Bezugnahme ohne Aktuali­ sierung verwendet werden, werden die Daten selbst dann nicht aktualisiert, wenn sie in den Pufferspeicher des Prozessors geholt werden, so daß eine Invalidierung nicht erforderlich ist. Daher kann eine Bezugnahme-Anforderung mittels eines allgemeinen Bezugnahme-Befehls ausgegeben werden, wodurch die Daten in jeden der Pufferspeicher der einzelnen Prozessoren geholt werden. Wenn hierbei von den Daten des gemeinsam genutzten Speichers im Pufferspeicher des Prozessors keine Kopie vorhanden ist und diese Kopie aufgrund der Ausgabe eines von dem Sonderbefehl ei­ nes jeden Prozessors verschiedenen Bezugnahme-Befehls im Datenübertragungs-Pufferspeicher vorhanden ist, wird zunächst die Kopie der im Datenübertragungs-Pufferspei­ cher vorhandenen Daten zum Pufferspeicher übertragen und dort gespeichert, anschließend wird die Übertragung der verbleibenden Daten vom gemeinsam genutzten Speicher fortgesetzt.
Wie oben beschrieben, ermöglicht die Anordnung des Daten­ übertragungs-Pufferspeichers im Computersystem mit einer Mehrzahl von Prozessoren einschließlich eines Vektorpro­ zessors, in dem kein physischer Zwischenpuf­ ferspeicher angeordnet werden kann, eine Datenübertragung zwischen den Prozessoren mit hoher Geschwindigkeit.
Die Erfindung wird im folgenden anhand bevorzugter Aus­ führungsformen mit Bezug auf die Zeichnungen näher erläu­ tert; es zeigen:
Fig. 1 ein Blockschaltbild des Aufbaus eines Computersy­ stems gemäß einer ersten Ausführungsform der vor­ liegenden Erfindung;
Fig. 2 ein Blockschaltbild des Aufbaus des wesentlichen Teils der Befehlsverarbeitung eines Skalarprozes­ sors;
Fig. 3 eine schematische Darstellung einer Ausführungs­ form eines Befehlsformats eines LDPS-Befehls und eines SDPS-Befehls;
Fig. 4 ein Blockschaltbild des Aufbaus eines Computersy­ stems gemäß einer zweiten Ausführungsform der vorliegenden Erfindung; und
Fig. 5 ein Blockschaltbild des Aufbaus eines Computersy­ stems gemäß einer dritten Ausführungsform der vorliegenden Erfindung.
In Fig. 1 ist ein Blockschaltbild des Aufbaus eines Com­ putersystems gemäß einer ersten Ausführungsform der vor­ liegenden Erfindung gezeigt. Die Bezugszeichen 1 und 2 bezeichnen Skalarprozessoren (SP0 und SP1), mit denen eine skalare Operation einer gewöhnlichen Verarbeitung ausgeführt wird; das Bezugszeichen 3 bezeichnet eine Speichersteuerung (SS); das Bezugszeichen 4 bezeichnet einen Hauptspeicher (HS), der von den Skalarprozessoren SP0 und SP1 gemeinsam genutzt wird. Der Skalarprozessor 1 (SP0) und der Skalarprozessor 2 (SP1) umfassen jeweils einen Pufferspeicher 11b bzw. 12b (PS0 und PS1) zum Spei­ chern einer Kopie der Daten im Hauptspeicher 4 und eine erste Verwaltungstabelle (Pufferadressenfelder PAF0 und PAF1) 11a bzw. 12a zum Verwalten eines Pufferspeichers, in den die HS-Adresse eines Blocks, der eine im Puffer­ speicher PS0 bzw. PS1 gespeicherte Kopie des Hauptspei­ chers HS darstellt, eingetragen wird.
Die Speichersteuerung (SS) 3 ist mit einer zweiten Ver­ waltungstabelle (Frontadressenfelder FAF0 und FAF1) 13a bzw. 13b versehen, mit denen der Pufferspeicher verwaltet wird, um eine Kopie einer Eintragungsadresse der den Puf­ ferspeichern PS0 und PS1 entsprechenden Pufferadressen­ felder PAF0 bzw. PAF1 in jeden der Prozessoren einzutra­ gen. Diese zweiten Verwaltungstabellen FAF0 und FAF1 stellen jeweils eine Verwaltungstabelle dar, mit denen eine Speicheradresse geprüft wird, auf die durch andere Prozessoren Bezug genommen wird; sie ist so angeordnet, daß in jedem der Prozessoren mit hoher Geschwindigkeit eine Identitätssteuerung zwischen dem Hauptspeicher HS und dem Pufferspeicher ausgeführt werden kann. Die Spei­ chersteuerung (SS) 3 umfaßt ferner einen Datenübertra­ gungs-Pufferspeicher (DPS) 15, in dem eine Kopie eines Teils der Daten des Hauptspeichers nur für einen Operan­ den eines Sonderbefehls gespeichert wird, und eine dritte Verwaltungstabelle (Datenübertragungs-Adressenfeld DAF), mit der eine Hauptspeicheradresse einer Datenein­ tragungseinheit (Operandendaten), die eine Kopie eines Teils der im Datenübertragungs-Pufferspeicher (DPS) 15 gespeicherten Hauptspeicherdaten ist, eingetragen wird.
In dem Computersystem, in dem die Mehrzahl der Skalarpro­ zessoren SP den Hauptspeicher HS gemeinsam nutzen, können die mehreren Skalarprozessoren SP asynchron arbeiten, wenn eine parallele Verarbeitung des hierfür erforderli­ chen Hauptspeicherzugriffs implementiert wird. Wenn daher die Mehrzahl der Skalarprozessoren SP auf Daten in einem gemeinsamen Bereich des Hauptspeichers HS Bezug nehmen, wird während einer Reihe von Operationen, des Lesens von Daten, des Neuschreibens der Daten lediglich bei Herstel­ lung einer bestimmten Bedingung auf der Grundlage eines Wertes der Daten und des Neuspeicherns der Daten im Hauptspeicher HS von keinem der anderen Prozessoren eine Anforderung angenommen. Die Daten sollten nach dem Neu­ einschreiben durch den anderen Skalarprozessor richtig ausgelesen werden, wenn Daten vom Hauptspeicher HS gele­ sen werden, um demselben Skalarprozessor SP die Verwen­ dung der Daten zu ermöglichen.
Um eine solche Reihe von Verarbeitungen auszuführen, schickt jeder der Skalarprozessoren SP eine Leseanforde­ rung zum Lesen der Daten an die Speichersteuerung SS und nicht an die entsprechenden Pufferspeicher PS, um der Speichersteuerung die Priorität für die Anforderungen für ein-derartige Reihe von Operationen vor allen Skalarpro­ zessoren SP zu geben und um nur eine einzige Anforderung aus ihnen auszuwählen. Dann werden die Daten auf der Grundlage dieser einzelnen Anforderung von der Speicher­ steuerung SS gelesen, überschrieben und gespeichert. Die Anforderung vom anderen Skalarprozessor wird während ei­ ner solchen Reihe von Verarbeitungen gesperrt. Der Verar­ beitungsmechanismus (einschließlich des Falls, in dem eine Anforderung gesperrt wird, die sich auf einen Be­ reich bezieht, die Gegenstand der Reihe von Operationen ist, oder in dem keine der Anforderungen gesperrt ist) wird "Verriegelungsmechanismus" genannt, wobei ein den Verriegelungsmechanismus verwendender Befehl beispiels­ weise einen "Test and Set"-Befehl für einen Computer der IBM 370-Serie, einen "Compare and Swap"-Befehl (Vergleichs- und Auslagerungsbefehl) und einen "Compare Double and Swap"-Befehl (Doppelvergleichs- und Auslage­ rungsbefehl) für einen Computer der IBM 370-Serie ent­ hält. Es wird beispielsweise der Fall betrachtet, in dem ein Flag eines bestimmten Bereichs gesetzt wird, in dem der vom Skalarprozessor SP0 und vom Skalarprozessor SP1 gemeinsam genutzte Hauptspeicher HS durch diese beiden Skalarprozessoren SP0 und SP1 auf der Grundlage des "Test and Set"-Befehls (der im folgenden als "TS-Befehl" be­ zeichnet wird) aktualisiert wird. In dieser Verarbeitung werden die Daten im Hauptspeicher, die durch den TS-Be­ fehl als Operanden spezifiziert werden, im Datenübertra­ gungs-Pufferspeicher DPS und nicht im Pufferspeicher PS als Daten, die Gegenstand eines Speichervorgangs im Da­ tenübertragungs-Pufferspeicher DPS sind, gespeichert.
Zunächst wird aufgrund einer Anforderung durch den TS-Be­ fehl vom Skalarprozessor SP0 die dritte Verwaltungsta­ belle DAF 14 aufgesucht, dann wird eine Kopie der Daten vom Hauptspeicher HS 4 in der Speichersteuerung SS 3 befindlichen Datenübertragungs-Pufferspeicher DPS 15 ge­ speichert, falls die angeforderten Daten nicht im Daten­ übertragungs-Pufferspeicher DPS 15 in der Speichersteue­ rung SS 3 vorhanden sind. In diesem Fall stellen die zu speichernden Daten einen Operanden des TS-Befehls dar, so daß sie nicht gespeichert und in den Pufferspeicher PS des Skalarprozessors SP0 nicht eingetragen werden. Da­ durch ist eine nachfolgende Bezugnahme vom Datenübertra­ gungs-Pufferspeicher DPS 15 möglich. Wenn andererseits der Skalarprozessor SP1 auf die Daten (Flag) des gleichen Bereichs Bezug nimmt, wird der TS-Befehl ebenfalls ver­ wendet. Da jedoch die Daten bereits im Datenübertragungs-Pufferspeicher DPS 15 gespeichert worden sind, können sie für die Übertragung aus dem Datenübertragungs-Pufferspei­ cher DPS 15 geholt werden. Der Operand des TS-Befehls wird in diesem Fall nicht aus dem Pufferspeicher PS0 im Skalarprozessor SP0 geholt, so daß keine Verarbeitung wie etwa eine Invalidierung notwendig ist, selbst wenn der Skalarprozessor SP1 die Daten überschreiben würde.
In Fig. 2 ist ein Blockschaltbild des Aufbaus eines we­ sentlichen Teils der Befehlsverarbeitung des Skalarpro­ zessors gezeigt. Dieser Teil umfaßt den Skalarprozessor SP0 1, den Skalarprozessor SP1 2, die Speichersteuerung SS 3, den Hauptspeicher HS 4, ein Befehlsregister 22, einen Dekodierer 23 eines Operationskodes, einen Adres­ senrechner 24, allgemeine Register 25 und eine Puffer­ speicher-Steuerung 26.
Nun wird eine Übersicht über die Befehlsverarbeitung des Skalarprozessors beschrieben. Der in das Befehlsregister 22 geholte Befehl wird im Dekodierer 23 dekodiert, an­ schließend wird eine Verarbeitungsanforderung über eine Dekodierer-Ausgangsleitung 23a an die Pufferspeicher-Steuerung 26 ausgegeben, wenn ein Befehl einen Zugriff auf den Hauptspeicher HS erfordert. In diesem Fall wird über eine Adressenausgangsleitung 24a die Objektadresse des Hauptspeichers HS spezifiziert. Ferner spezifiziert der oben genannte TS-Befehl über die Dekodierer-Ausgangs­ leitung 23b einen Synchronisationsbefehl. Wenn die Deko­ dierer-Ausgangsleitung 23b auf hohen Pegel gesetzt wird, wird ein Holvorgang der im Hauptspeicher HS vorliegenden Daten nicht vom Pufferspeicher PS0, sondern von der Puf­ ferspeicher-Steuerung 26 direkt erkannt. Daher greift die Verarbeitung des TS-Befehls auf die Speichersteuerung SS 3 über eine Anforderungsleitung 26a und über eine Adres­ senleitung 26c zu, indem über eine Signalleitung 26b die Feststellung, daß der Befehl der TS-Befehl ist, ermög­ licht wird. Dann kann die Speichersteuerung SS 3 die Da­ ten vom Datenübertragungs-Pufferspeicher DPS lesen, wenn die Signalleitung 26b gültig ist (d. h. auf hohem Pegel liegt). Es wird darauf hingewiesen, daß die Befehlsverar­ beitungseinheit des Skalarprozessors SP1 im wesentlichen den gleichen Aufbau wie der Skalarprozessor SP0 besitzt, ferner sind eine Anforderungsleitung 27a, eine Signallei­ tung 27b und eine Adressenleitung 27c zwischen der Puf­ ferspeichersteuerung 27 und der Speichersteuerung SS 3 vorgesehen und mit diesen verbunden.
Wenn die Datenaktualisierungsverarbeitung zwischen dem Skalarprozessor SP0 und dem Skalarprozessor SP1 beendet ist und anschließend vom Programm nur ein Lesevorgang ausgeführt wird, kann die Ausgabe einer Zugriffsanforde­ rung mittels eines gewöhnlichen Bezugnahmebefehls (der vom TS-Befehl verschieden ist) eine Kopie des Pufferspei­ chers PS vom Datenübertragungs-Pufferspeicher DPS im Skalarprozessor SP, der die Anforderung ausgibt, spei­ chern. Wenn in diesem Fall die Eintragungseinheit des Da­ tenübertragungs-Pufferspeichers DPS kleiner als der Puf­ ferspeicher PS ist, werden die Daten vom Hauptspeicher HS zum Pufferspeicher PS übertragen, nachdem die Übertragung der Kopie vom Datenübertragungs-Pufferspeicher DPS zum Pufferspeicher PS abgeschlossen worden ist.
Wenn ferner vom Skalarprozessor SP ein gewöhnlicher Hauptspeicher-Bezugnahmebefehl (der vom TS-Befehl ver­ schieden ist) ausgegeben wird, wird eine Kopie der Daten im Hauptspeicher HS vom Hauptspeicher HS in den Puffer­ speicher PS desjenigen Skalarprozessors SP übertragen, der die Anforderung ausgibt, falls keine Kopie der an­ geforderten Daten im Pufferspeicher PS des entsprechenden Skalarprozessors SP gespeichert sind. In diesem Fall wird die Kopie der Daten nicht im Datenübertragungs-Puffer­ speicher DPS gespeichert, weil die Anforderung keine Be­ zugnahmeanforderung auf der Basis des TS-Befehls ist.
Obwohl die Operandendaten so verarbeitet werden, daß sie durch den TS-Befehl im Datenübertragungs-Pufferspeicher DPS gespeichert werden, kann, wie oben beschrieben worden ist, der Sonderbefehl für die Ausführung dieser Ver­ arbeitung ferner den "Compare and Swap"-Befehl und den "Compare Double and Swap"-Befehl sowie den TS-Befehl ent­ halten, wobei der Operand auf im wesentlichen gleiche Weise wie in der oben erwähnten Verarbeitung verarbeitet werden kann.
Die oben erwähnte Verarbeitungsoperation ist eine Opera­ tion, mit der auf den Hauptspeicher HS mit hoher Ge­ schwindigkeit zugegriffen wird, indem die Dauer des Ope­ randendatenzugriffs auf den Datenübertragungs-Pufferspei­ cher gleich der Dauer der Befehlsverarbeitung durch den Verriegelungsmechanismus gemacht wird. Es kann darauf hingewiesen werden, daß ein neuer Befehl für einen Zu­ griff insbesondere auf den Datenübertragungs-Pufferspei­ cher DPS getrennt verfügt werden kann.
Wenn ein LDPS-Befehl zum Laden unter Verwendung des Da­ tenübertragungs-Pufferspeichers DPS als Zugriffsobjekt oder ein SDPS-Befehl zum Speichern unter Verwendung des Datenübertragungs-Pufferspeichers DPS als Zugriffsobjekt ausgegeben wird, wird eine Kopie der Daten vom Hauptspei­ cher HS übertragen und im Datenübertragungs-Pufferspei­ cher DPS gespeichert, falls im Datenübertragungs-Puffer­ speicher DPS kein Objekt-Operand vorhanden ist. Wenn ins­ besondere die Kopie eines die Daten enthaltenden Blocks im Hauptspeicher HS noch nicht im Datenübertragungs-Puf­ ferspeicher DPS gespeichert ist, wenn die Daten sowohl im Hauptspeicher HS als auch im Datenübertragungs-Puffer­ speicher DPS gespeichert werden, wird die Kopie des Blocks des Hauptspeichers HS im Datenübertragungs-Puffer­ speicher DPS gespeichert. Im Gegensatz zur Ausgabe eines gewöhnlichen Ladebefehls oder Speicherbefehls durch ir­ gendeinen der Skalarprozessoren besitzt die Verwendung des LDPS-Befehls bzw. des SDPS-Befehls aufgrund der Be­ zugnahme auf die Daten für deren Übertragung zwischen den Prozessoren den Vorteil, daß keine Daten in den jeweili­ gen Pufferspeicher der Prozessoren geholt werden. Wenn die Daten nicht in jeden der Pufferspeicher geholt wer­ den, ist, wie oben beschrieben worden ist, eine Invali­ dierung der Inhalte der Pufferspeicher in den anderen Prozessoren selbst dann nicht erforderlich, wenn die In­ halte aufgrund der Ausführung einer Reihe von Verarbei­ tungen in Verbindung mit der Mehrzahl der Prozessoren überschrieben worden sind.
Der Befehl zum Speichern von Daten sowohl im Pufferspei­ cher PS eines Prozessors als auch im Datenübertragungs-Pufferspeicher DPS stellt wie der LDPS-Befehl eine Va­ riable dar, die synchron zu den anderen Prozessoren ist. Dieser Speicherbefehl ist gültig, wenn er zum Zeitpunkt des Beendens einer Reihe von Verarbeitungen für die Da­ tenübertragung zum anderen Prozessor verwendet wird, weil dieser Befehl selbst dann keine Invalidierungsvearbeitung bewirkt, wenn Daten in den Pufferspeicher desselben Pro­ zessors geholt werden, solange die Daten im anderen Pro­ zessor nicht gelöscht werden.
Fig. 3 ist eine schematische Darstellung eines Beispiels des Befehlsformats des LDPS-Befehls und des SDPS-Befehls. Wie in Fig. 3 gezeigt, ist das Befehlsformat von einem Typ, in dem eine Operandenadresse durch Hinzufügung des in einem allgemeinen Register gespeicherten Inhalts, der mit X2 und B2 bezeichnet ist, zu dem in D2 vorhandenen Inhalt gegegeben ist, wobei der Inhalt des Hauptspeichers HS, der durch die Operandenadresse bezeichnet wird, im allgemeinen Register gespeichert wird, wie durch R1 ange­ geben. In der Computerarchitektur dieser Ausführungsform wird beispielsweise dann, wenn der Inhalt von R1 auf "0" gesetzt wird, der Inhalt des Hauptspeichers HS nicht im allgemeinen Register der 0-ten Adresse gespeichert, statt dessen wird eine Kopie des Inhalts des Hauptspeichers HS im Datenübertragungs-Pufferspeicher DPS gespeichert, wenn die Kopie des Inhalts des Hauptspeichers HS, wie sie durch die Operandenadresse, die durch X2, B2, und D2 be­ rechnet wird, dargestellt ist, nicht im Datenübertra­ gungs-Pufferspeicher DPS gespeichert ist. Dadurch kann die Kopie der Daten vom Hauptspeicher im voraus im Daten­ übertragungs-Pufferspeicher DPS gespeichert werden. Die oben beschriebene Ausführungsform ist auf ein Computersy­ stem gerichtet, bei dem ein Datenübertragungs-Pufferspei­ cher zwischen dem Hauptspeicher und dem Pufferspeicher eines Skalarprozessors angeordnet ist. Es wird darauf hingewiesen, daß der Datenübertragungs-Pufferspeicher, der nur die Speicherung eines Operanden des bestimmten Befehls erlaubt, auch in einem Computersystem, das Ska­ larprozessoren ohne darin vorgesehene Pufferspeicher auf­ weist, ähnlich nützliche Funktionen wie oben beschrieben erfüllen kann.
Nun werden weitere Ausführungsformen des erfindungsgemä­ ßen Computersystems beschrieben. In Fig. 4 ist ein Block­ schaltbild des Aufbaus eines Computersystems gemäß einer zweiten Ausführungsform der vorliegenden Erfindung ge­ zeigt, in dem wenigstens einer der Mehrzahl der Prozesso­ ren ein Vektorprozessor ist, denn die Erfindung erfaßt auch ein Computersystem, bei dem eine Vektorverarbeitung hoher Effizienz implementiert werden kann.
Wie in Fig. 4 gezeigt, umfaßt dieses Computersystem einen Vektorprozessor (VP) 40, ein Vektorregister (VR) 41 und eine Speichersteuerung SS 42. Das Computersystem gemäß der zweiten Ausführungsform ist von einem im allgemeinen mit "Supercomputer" bezeichneten Typ, der einen mit dem Vektorregister VR 41 verbundenen Datenweg 43 besitzt, der mit extrem hohem Durchsatz betrieben werden kann. Daher kann ein Zwischenpufferspeicher, der die Zeit eines Hoch­ geschwindigkeitsdurchlaufs des Hauptspeichers HS kürzer erscheinen läßt, im allgemeinen nicht verwendet werden, weil über den Datenweg 43 eine große Anzahl von Daten mit hoher Geschwindigkeit geschickt wird. Da der Datenweg 43 zum Vektorregister VR 41 selbst dann einen hohen Durch­ satz besitzt, wenn ein gewöhnlicher Zwischenpufferspei­ cher darin angeordnet würde, wird der Inhalt des Zwi­ schenpufferspeichers sofort durch andere Inhalte ersetzt, wodurch unter Umständen ein häufiger Datentransport vom Hauptspeicher HS bewirkt wird, um den Inhalt der Daten im Zwischenpufferspeicher zu halten. Im Ergebnis erscheint daher die Durchlaufzeit für einen Zugriff auf Daten im Hauptspeicher HS kürzer, so daß das Computersystem die Zeit zum Holen der Operandendaten eines derartigen Sonderbefehls wie etwa des einen Verriegelungsmecha­ nismus verwendenden TS-Befehls, der auf die Daten im Hauptspeicher zugreift, abkürzen kann, indem der Daten­ übertragungs-Pufferspeicher DPS 15 vorgesehen wird, der die Operandendaten des Sonderbefehls al­ lein speichern kann.
Auch in der zweiten Ausführungsform ist ein solcher Sonderbefehl, wie etwa der LDPS-Befehl zum Laden unter Verwendung des Datenübertragungs-Pufferspeichers DPS als Zugriffsobjekt oder der SDPS-Befehl zum Speichern unter Verwendung des Datenübertragungs-Pufferspeichers DPS als Zugriffsobjekt gültig, wie dies in der ersten Ausfüh­ rungsform der Fall war. Unter Verwendung des Datenüber­ tragungs-Pufferspeichers DPS kann die Verarbeitung ohne Ausführung irgendwelcher nutzloser Invalidierungsprozesse und sogar ohne Holvorgang von Daten aus dem Pufferspei­ cher PS implementiert werden.
Die vorangehende Beschreibung ist auf eine Ausführungs­ form eines erfindungsgemäßen Computersystems gerichtet, in der der Datenübertragungs-Pufferspeicher zwischen den Pufferspeicher des Skalarprozessors und den Hauptspeicher geschaltet ist. Es wird jedoch darauf hingewiesen, daß der Datenübertragungs-Pufferspeicher, der die Operanden­ daten eines Sonderbefehls allein speichern kann, ähnlich nützliche Funktionen wie oben beschrieben auch in einem Computersystem ausführen kann, das Skalarprozesso­ ren ohne Pufferspeicher enthält.
In Fig. 5 ist ein Blockschaltbild des Aufbaus eines Com­ putersystems gemäß einer dritten Ausführungsform der vor­ liegenden Erfindung gezeigt. Der Aufbau dieses Computer­ systems ist so erweitert, daß es einen Erweiterungsspei­ cher enthält, der für den Hauptspeicher eine größere Speicherkapazität bereitstellt. Jeder der Mehrzahl der Prozessoren, die die strukturbildenden Elemente des Com­ putersystems darstellen, ist so angeordnet, daß er einem jeweiligen Subsystem zugehört, das einem eng gekoppelten Multiprozessorsystem entspricht. In diesem Aufbau des Sy­ stems ist der Datenübertragungs-Pufferspeicher für den Erweiterungsspeicher, der als gemeinsam genutzter Spei­ cher dient, vorgesehen. Die Ausführung der Datenübertra­ gung zwischen den Prozessoren (Subsystemen) ist daher im wesentlichen durch den Datenaustausch mit einer Erweite­ rungsspeichersteuerung gegeben.
Nun wird das Computersystem gemäß der dritten Ausfüh­ rungsform der vorliegenden Erfindung mit Bezug auf Fig. 5 beschrieben. Wie in Fig. 5 gezeigt, umfaßt das Com­ putersystem ein einen ersten eng gekoppelten Multiprozes­ sor bildendes Subsystem 51, ein einen zweiten eng gekop­ pelten Multiprozessor bildendes Subsystem 52, eine Erwei­ terungsspeichersteuerung (ESS) 53 und einen Erweiterungs­ speicher (ES) 54. Das erste Subsystem 51 umfaßt eine Mehrzahl von eng gekoppelten Skalarprozessoren (SP0 und SP1) 51a und 51b, eine Speichersteuerung (SS0) 51c und einen Hauptspeicher (HS0) 51d, während das zweite Subsy­ stem 52 analog eine Mehrzahl von Skalarprozessoren (SP2 und SP3) 52a und 52b, eine Speichersteuerung (SS1) 52c und einen Hauptspeicher (HS1) 52d umfaßt. Die Erweite­ rungsspeichersteuerung 53 umfaßt einen Erweiterungsspei­ cher-Datenübertragungs-Pufferspeicher (EDPS) 62 zum Spei­ chern einer Kopie eines Teils des Inhalts der Daten des Erweiterungsspeichers, der Operandendaten eines bestimm­ ten Erweiterungsspeicherbefehls speichern kann, und eine Erweiterungsspeicher-Verwaltungstabelle (EDAF 61) zur Verwaltung einer Adresse von Daten, die im Erweiterungs­ speicher-Datenübertragungs-Pufferspeicher 62 eingetragen sind. In diesem Computersystem wird der Erweiterungsspei­ cher (ES) 54 von den zwei Subsystemen 51 und 52 der eng gekoppelten Multiprozessoren über die Erweiterungsspei­ chersteuerung 53 gemeinsam genutzt.
Das Hauptmerkmal des Computersystems gemäß der dritten Ausführungsform der vorliegenden Erfindung besteht darin, daß eine Dateneinheit, die über einen den Hauptspeicher HS eines Subsystems mit dem Erweiterungsspeicher ES ver­ bindenden Datenweg übertragen werden soll, extrem groß sein kann. Selbst wenn daher ein Pufferspeicher zum Spei­ chern von Operandendaten eines gewöhlichen Hauptspei­ cher/Erweiterungsspeicher-Übertragungsbefehls zwischen den Hauptspeicher HS und den Erweiterungsspeicher ES ge­ schaltet wäre, würde der Inhalt des Pufferspeichers durch eine ständige Ausführung der Datenübertragung zwischen dem Hauptspeicher HS und dem Erweiterungsspeicher ES un­ unterbrochen ersetzt, wenn eine die Pufferkapazität über­ steigende Datenmenge übertragen wird, weshalb die übliche Wirkung eines Pufferspeichers nicht erzielt wird. Ande­ rerseits wird jedoch bei der Ausführung der Verarbeitung eines Aktualisierungbefehls, der durch die Verriegelung einer Verbindung zwischen jedem der Subsysteme der eng gekoppelten Multiprozessoren, die über den Erweiterungs­ speicher ES miteinander verbunden sind, Daten aktuali­ siert, etwa ein "Compare Double and Swap Extended Storage"-Befehl (Doppelvergleichs- und Erweiterungsspei­ cherausladungsbefehl, DVESA-Befehl), ein den Hauptspei­ cher HS mit dem Erweiterungsspeicher ES verbindender Weg verwendet. In diesem Fall wird der Erweiterungsspeicher- Datenübertragungs-Pufferspeicher (EDPS) 62 als Puffer­ speicher zum ausschließlichen Speichern von Operandenda­ ten eines derartigen Befehls, der auf die oben beschrie­ bene Weise gesperrt wird, verwendet, wodurch die für einen Datenholvorgang großen Ausmaßes erforderliche Durchlaufzeit abgekürzt wird.
In der beschriebenen Ausführungsform soll ein Befehl wie etwa ein Bezugnahmebefehl für die Bezugnahme auf im Hauptspeicher selbst gespeicherte Daten, ein einen Ver­ riegelungsmechanismus verwendender Befehl und ein Befehl, dessen Objekt des Zugriffs auf den Datenübertragungs-Puf­ ferspeicher DPS für einen bestimmten Zweck getrennt vor­ liegt, die Operandendaten nur im Datenübertragungs-Puf­ ferspeicher DPS und nicht im Pufferspeicher PS eines je­ den Prozessors speichern. Solange daher von dem einge­ schränkten Sonderbefehl, wie er oben beschrieben worden ist, auf das Programm Bezug genommen wird, kann auf den in der Nähe angeordneten Datenübertragungs-Puf­ ferspeicher DPS zugegriffen werden, ohne daß auf den Hauptspeicher HS zugegriffen werden muß, wodurch die Ge­ schwindigkeit des Datenzugriffs erhöht wird. Ferner wird kein Holvorgang von Daten in den Pufferspeicher ausge­ führt, so daß keine Invalidierungsverarbeitung erforder­ lich ist, was die Verarbeitungsleistung und die Effizienz des Computersystems verbessert.
Es wird darauf hingewiesen, daß der Datenübertragungs-Pufferspeicher DPS eine geringe physische Größe besit­ zen kann und die Kosten nicht erhöht, weil das zu spei­ chernde Objekt auf Operandendaten eines Sonderbefehls beschränkt ist.
Der unmittelbar vorher beschriebene Befehlsverarbeitungs­ mechanismus, der einen in der Speichersteuerung angeord­ neten Datenübertragungs-Pufferspeicher DPS verwendet, kann insbesondere in einem Computersystem geeignet ver­ wendet werden, das, wie etwa ein Supercomputer für die Ausführung einer Vektorverarbeitung, eine Mehrzahl von Prozessoren, die Vektor- und Skalarprozessoren umfassen, enthält und dennoch aufgrund des extrem hohen Durchsatzes des Datenweges zwischen dem Vektorprozessor VP und dem Hauptspeicher HS nicht mit einem Zwischenpufferspeicher versehen ist. Das heißt, daß dieser Mechanismus die Hol­ zeit des Befehlsoperanden wie etwa eines Steuerbefehls für die Vektorverarbeitung, der als Speicherobjekt im Da­ tenübertragungs-Pufferspeicher DPS dient, abkürzt, indem der Datenübertragungs-Pufferspeicher für das einge­ schränkte Speicherobjekt verwendet wird.
In einem solchen System ist eine Datenübertragungseinheit beim Empfang oder bei der Ausgabe von Daten zwischen den Subsystemen der eng gekoppelten Multiprozessoren über den Erweiterungsspeicher so groß, daß kein Pufferspeicher, jedoch der Erweiterungsspeicher-Datenübertragungs-Puffer­ speicher EDPS mit eingeschränktem Speicherobjekt angeord­ net werden kann, wodurch die Holzeit für den Erweite­ rungsspeicher-Befehlsoperanden, der als Speicherobjekt für den Erweiterungsspeicher-Datenübertragungs-Puffer­ speicher EDPS dient, abgekürzt werden kann.
Die obige Beschreibung ist für besondere Ausführungsfor­ men eines Computersystems gegeben worden. Es wird jedoch darauf hingewiesen, daß die vorliegende Erfindung nicht auf diese Ausführungsformen, wie sie oben beschrieben worden sind, eingeschränkt sein soll, viel­ mehr sollen verschiedene Veränderungen und Abwandlungen dieser Ausführungsformen vom Umfang der Erfindung abge­ deckt sein.
Durch die vorliegende Erfindung wird ein Computersystem mit einer Mehrzahl von Prozessoren einschließlich eines Vektorprozessors geschaffen, bei dem ein Pufferspeicher verwendet werden kann, durch den die Probleme, die durch ein von der Mehrzahl der Prozessoren gemeinsam genutztes Register entstehen, gelöst werden kann. Dadurch kann eine Vektorverarbeitung mit hoher Effizienz implementiert wer­ den. Das Computersystem mit der Mehrzahl der Prozessoren einschließlich des Vektorprozessors und ohne physisch vorhandenen Zwischenpufferspeicher kann eine Datenüber­ tragung zwischen den Prozessoren mit hoher Geschwindig­ keit ausführen, indem die Speichersteuerung mit einem Da­ tenübertragungs-Pufferspeicher ausgerüstet wird, dessen Speicherobjekt auf die zwischen die Prozessoren zu über­ tragenden Daten beschränkt ist.

Claims (4)

1. Verfahren zum Steuern eines Datenübertragungs-Pufferspeichers (15; 62) in einem Computersystem, das
  • - mehrere Prozessoren (1, 2; 40; 51a, 51b, 52a, 52b),
  • - einen von diesen Prozessoren (1, 2; 40; 51a, 51b, 52a, 52b) gemeinsam genutzten Speicher (4; 54) und
  • - eine Speichersteuerung (3; 42; 53) mit einem zwischen den Prozessoren (1, 2; 40; 51a, 51b, 52a, 52b) und dem von diesen gemeinsam genutzten Speicher (4; 54) angeordneten Datenübertragungs-Pufferspeicher (15; 62) aufweist,
    gekennzeichnet durch folgende Schritte:
  • - Feststellung, ob ein augenblicklicher Befehl ein Sonderbefehl ist, und Markierung dieses Befehls durch ein Signal auf einer Pufferspeicher-Anforderungsleitung (26a, 27a) und
    • a) im Fall, daß der augenblickliche Befehl ein Sonderbefehl ist, Übertragung des Operanden des Sonderbefehls vom Datenübertragungs-Pufferspeicher (15; 62) zu einem anfordernden Prozessor (1, 2; 40; 51a, 51b, 52a, 52b), wenn sich der Operand im Datenübertragungs-Pufferspeicher (15; 62) befindet, und
      Übertragung des Operanden des Sonderbefehls vom gemeinsam genutzten Speicher (4; 54) zum Datenübertragungs-Pufferspeicher (15; 62) mit anschließender Übertragung des Operanden des Sonderbefehls vom Daten-Übertragungs-Pufferspeicher (15; 62) zum anfordernden Prozessor (1, 2; 40; 51a, 51b, 52a, 52b), wenn der Operand ursprünglich nicht im Datenübertragungs-Pufferspeicher (15; 62) gespeichert war, und
    • b) im Fall, daß der augenblickliche Befehl kein Sonderbefehl ist, Übertragung des Operanden des Befehls vom Datenübertragungs-Puffer­ speicher (15; 62) zum anfordernden Prozessor (1, 2; 40; 51a, 51b, 52a, 52b), wenn der Operand im Datenübertragungs-Pufferspeicher (15; 62) gespeichert ist, und
      Übertragung des Operanden des Befehls vom gemeinsam genutzten Speicher (4; 54) unter Umgehung des Datenübertragungs-Pufferspeichers (15; 62) unmittelbar zum anfordernden Prozessor (1, 2; 40; 51a, 51b, 52a, 52b), wenn der Operand nicht im Datenübertragungs-Puffer­ speicher (15; 62) gespeichert ist.
2. Verfahren nach Anspruch 1 für ein Computersystem, zu dessen Prozessoren außer Skalarprozessoren (1, 2) auch ein Vektorprozessor (40) gehört, gekennzeichnet durch folgende Schritte:
  • - Senden der Operandendaten eines vom Vektorprozessor (40) auszuführenden Vektorbefehls vom gemeinsam genutzten Speicher (4) unmittelbar zum Vek­ torprozessor (40) über einen Datenweg (43) mit hoher Übertragungsge­ schwindigkeit,
  • - Kopieren des Teils der Daten des gemeinsam genutzten Speichers (4), der die Operandendaten des Sonderbefehls beinhaltet, und
  • - Speichern der erhaltenen Kopie im Datenübertragungs-Pufferspeicher (15).
3. Computersystem mit
  • - mehreren Prozessoren (1, 2; 40),
  • - mehreren Speichern (11b, 12b), die einer ersten Speicherhierarchieebene angehören und jeweils einem Prozessor (1, 2; 40) zur Verfügung stehen, und
  • - einem Speicher (4), der einer zweiten Speicherhierarchieebene angehört und von den Speichern (11b, 12b) der ersten Speicherhierarchieebene gemeinsam genutzt wird, gekennzeichnet durch eine Speichersteuerung (3), die zwischen den Speichern (11b, 12b) der ersten Speicherhierarchieebene und dem Speicher (4) der zweiten Speicherhierarchieebene angeordnet ist und einen Datenübertragungs-Pufferspeicher (15; 62) für eine Datenübertragung zwischen den Speichern (11b, 12b) der ersten Speicherhierarchieebene zum Spei­ chern einer Kopie des den Operanden eines Sonderbefehls enthaltenden Teils der Daten des Speichers (4) der zweiten Speicherhierarchie­ ebene aufweist, und
    durch die Ausführung folgender Schritte:
  • - Feststellung, ob ein augenblicklicher Befehl ein Sonderbefehl ist, und Markierung dieses Befehls durch ein Signal auf einer Puffer­ speicher-Anforderungsleitung (26a, 27a) und
    • a) im Fall, daß der augenblickliche Befehl ein Sonderbefehl ist, Übertragung des Operanden des Sonderbefehls vom Datenübertra­ gungs-Pufferspeicher (15; 62) zu einem anfordernden Prozessor (1, 2; 40; 51a, 51b, 52a, 52b), wenn sich der Operand im Daten­ übertragungs- Pufferspeicher (15; 62) befindet, und
      Übertragung des Operanden des Sonderbefehls vom gemeinsam genutzten Speicher (4; 54) zum Datenübertragungs-Pufferspeicher (15; 62) mit anschließender Übertragung des Operanden des Sonderbefehls vom Datenübertragungs-Pufferspeicher (15; 62) zum anfordernden Prozessor (1, 2; 40; 51a, 51b, 52a, 52b), wenn der Operand ursprünglich nicht im Datenübertragungs-Pufferspeicher (15; 62) gespeichert war, und
    • b) im Fall, daß der augenblickliche Befehl kein Sonderbefehl ist, Übertragung des Operanden des Befehls vom Datenübertragungs-Pufferspeicher (15; 62) zum anfordernden Prozessor (1, 2; 40; 51a, 51b, 52a, 52b), wenn der Operand im Datenübertragungs-Pufferspeicher (15; 62) gespeichert ist, und
      Übertragung des Operanden des Befehls vom gemeinsam genutzten Speicher (4; 54) unter Umgehung des Datenübertragungs-Puffer­ speichers (15; 62) unmittelbar zum anfordernden Prozessor (1, 2; 40; 51a, 51b, 52a, 52b), wenn der Operand nicht im Daten­ übertragungs-Pufferspeicher (15; 62) gespeichert ist.
4. Computersystem mit
  • - mehreren Subsystemen (51, 52) mit mehreren zugeordneten Prozessoren (51a, 51b, 52a, 52b), die durch gemeinsam genutzte Speicher (51d, 52d) operativ fest miteinander verbunden sind, und
  • - einem Erweiterungsspeicher (54), der von den Subsystemen (51, 52) gemeinsam genutzt wird,
    gekennzeichnet durch
  • - eine Erweiterungsspeichersteuerung (53) mit einem Erweiterungs-Daten­ übertragungs-Pufferspeicher (62), der zwischen den von den Prozessoren (51a, 51b, 52a, 52b) gemeinsam genutzten Speichern (51d, 52d) und dem von den Subsystemen (51, 52) gemeinsam genutzten Erweiterungsspeicher (54) zur Speicherung einer Kopie des den Operanden eines Sonderbefehls enthaltenden Teils der Daten des Erweiterungsspeichers (54) angeordnet ist, und
    durch die Ausführung folgender Schritte:
  • - Feststellung, ob ein augenblicklicher Befehl ein Sonderbefehl ist, und Markierung dieses Befehls durch ein Signal auf einer Pufferspeicher-Anforderungsleitung (26a, 27a) und
    • a) im Fall, daß der augenblickliche Befehl ein Sonderbefehl ist, Übertragung des Operanden des Sonderbefehls vom Datenübertragungs-Pufferspeicher (15; 62) zu einem anfordernden Prozessor (1, 2; 40; 51a, 51b, 52a, 52b), wenn sich der Operand im Datenübertragungs-Pufferspeicher (15; 62) befindet, und
      Übertragung des Operanden des Sonderbefehls vom gemeinsam genutzten Speicher (4; 54) zum Datenübertragungs-Pufferspeicher (15; 62) mit anschließender Übertragung des Operanden des Sonderbefehls vom Daten­ übertragungs-Pufferspeicher (15; 62) zum anfordernden Prozessor (1, 2; 40; 51a, 51b, 52a, 52b), wenn der Operand ursprünglich nicht im Datenübertragungs-Pufferspeicher (15; 62) gespeichert war, und
    • b) im Fall, daß der augenblickliche Befehl kein Sonderbefehl ist, Übertragung des Operanden des Befehls vom Datenübertragungs-Puffer­ speicher (15; 62) zum anfordernden Prozessor (1, 2; 40; 51a, 51b, 52a, 52b), wenn der Operand im Datenübertragungs-Pufferspeicher (15; 62) gespeichert ist, und
      Übertragung des Operanden des Befehls vom gemeinsam genutzten Spei­ cher (4; 54) unter Umgehung des Datenübertragungs-Pufferspeichers (15; 62) unmittelbar zum anfordernden Prozessor (1, 2; 40; 51a, 51b, 52a, 52b), wenn der Operand nicht im Datenübertragungs-Pufferspeicher (15; 62) gespeichert ist.
DE4103093A 1990-02-01 1991-02-01 Verfahren zum Steuern eines Datenübertragungs-Pufferspeichers und Computersystem zum Durchführen dieses Verfahrens Expired - Fee Related DE4103093C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2023310A JP2825906B2 (ja) 1990-02-01 1990-02-01 計算機システム

Publications (2)

Publication Number Publication Date
DE4103093A1 DE4103093A1 (de) 1991-08-08
DE4103093C2 true DE4103093C2 (de) 1998-05-28

Family

ID=12107019

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4103093A Expired - Fee Related DE4103093C2 (de) 1990-02-01 1991-02-01 Verfahren zum Steuern eines Datenübertragungs-Pufferspeichers und Computersystem zum Durchführen dieses Verfahrens

Country Status (3)

Country Link
US (1) US5293602A (de)
JP (1) JP2825906B2 (de)
DE (1) DE4103093C2 (de)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2678400B1 (fr) * 1991-06-27 1995-08-04 Texas Instruments France Processeur de protocole destine a l'execution d'un ensemble d'instructions en un nombre reduit d'operation.
US5426754A (en) * 1992-05-26 1995-06-20 International Business Machines Corporation Cross-interrogate method and means for combined scaler and vector processing system
US5398331A (en) * 1992-07-08 1995-03-14 International Business Machines Corporation Shared storage controller for dual copy shared data
DE4238593A1 (de) * 1992-11-16 1994-05-19 Ibm Mehrprozessor-Computersystem
KR0122528B1 (ko) * 1993-01-08 1997-11-20 윌리엄 티.엘리스 슈퍼스칼라 프로세서 시스템에서 중간 기억 버퍼의 할당을 인덱스하기 위한 방법 및 시스템
JP3248992B2 (ja) * 1993-07-13 2002-01-21 富士通株式会社 マルチプロセッサ
GB2284494B (en) * 1993-11-26 1998-09-09 Hitachi Ltd Distributed shared memory management system
JPH10507023A (ja) * 1994-10-06 1998-07-07 ヴァーク・インコーポレイテッド 共用メモリシステム
US5630045A (en) * 1994-12-06 1997-05-13 International Business Machines Corporation Device and method for fault tolerant dual fetch and store
US5829052A (en) * 1994-12-28 1998-10-27 Intel Corporation Method and apparatus for managing memory accesses in a multiple multiprocessor cluster system
US5881264A (en) * 1996-01-31 1999-03-09 Kabushiki Kaisha Toshiba Memory controller and memory control system
US5867725A (en) * 1996-03-21 1999-02-02 International Business Machines Corporation Concurrent multitasking in a uniprocessor
KR100280285B1 (ko) 1996-08-19 2001-02-01 윤종용 멀티미디어 신호에 적합한 멀티미디어 프로세서
US5809536A (en) * 1996-12-09 1998-09-15 Intel Corporation, Inc. Method for reducing the number of coherency cycles within a directory-based cache coherency memory system uitilizing a memory state cache
US5848434A (en) * 1996-12-09 1998-12-08 Intel Corporation Method and apparatus for caching state information within a directory-based coherency memory system
US6748465B2 (en) * 2001-09-28 2004-06-08 Intel Corporation Local bus polling support buffer
WO2011161829A1 (ja) * 2010-06-25 2011-12-29 富士通株式会社 マルチコアプロセッサシステム、制御プログラム、および制御方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4445174A (en) * 1981-03-31 1984-04-24 International Business Machines Corporation Multiprocessing system including a shared cache
DE3439302A1 (de) * 1983-10-27 1985-05-09 Hitachi, Ltd., Tokio/Tokyo Speichersteuerungsvorrichtung

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56153782A (en) * 1980-04-30 1981-11-27 Fuji Photo Film Co Ltd Photoconductive thin-film for television camera tube using photosensitizer layer containing amorphous silicon
US4888679A (en) * 1988-01-11 1989-12-19 Digital Equipment Corporation Method and apparatus using a cache and main memory for both vector processing and scalar processing by prefetching cache blocks including vector data elements

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4445174A (en) * 1981-03-31 1984-04-24 International Business Machines Corporation Multiprocessing system including a shared cache
DE3439302A1 (de) * 1983-10-27 1985-05-09 Hitachi, Ltd., Tokio/Tokyo Speichersteuerungsvorrichtung

Also Published As

Publication number Publication date
US5293602A (en) 1994-03-08
DE4103093A1 (de) 1991-08-08
JP2825906B2 (ja) 1998-11-18
JPH03228169A (ja) 1991-10-09

Similar Documents

Publication Publication Date Title
DE4103093C2 (de) Verfahren zum Steuern eines Datenübertragungs-Pufferspeichers und Computersystem zum Durchführen dieses Verfahrens
DE3803759C2 (de)
DE3151745C2 (de)
DE69915243T2 (de) Speicherplattenanordnung-Steuerungsvorrichtung
EP0013737B1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE2350884C2 (de) Adreßumsetzungseinheit
DE2339636C2 (de) Einrichtung zur Adressierung eines schreibbaren Mikroprogrammspeichers
DE4237417C2 (de) Datenverarbeitungssystem
EP0600112A1 (de) Datenverarbeitungsanlage mit virtueller Speicheradressierung und schlüsselgesteuertem Speicherzugriff
DE3502147C2 (de)
DE3046912C2 (de) Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage
DE2718551C3 (de) Adressenumsetzer
DE3919802A1 (de) Speicherbaustein mit vektorprozessoren und einem skalarprozessor
DE3911721A1 (de) Schaltung zur verzoegerten freigabe eines schreibvorganges in einen vorratsspeicher fuer ein zweifachbus-mikrocomputersystem
DE10103070B4 (de) Verfahren und Prüfschaltung zum Ermitteln eines Gültigkeitsstatus für einen zeitlich zurückliegenden Loadbefehl
DE2617485B2 (de) Schaltungsanordnung für Datenverarbeitungsanlagen zur Abarbeitung von Mikrobefehlsfolgen
DE2245284A1 (de) Datenverarbeitungsanlage
EP0265636A1 (de) Multiprozessor mit mehreren mit Cache-Speichern ausgerüsteten Prozessoren und einem gemeinsamen Speicher
DE3832758A1 (de) Computerisierte arbeitsstation
CH632349A5 (de) Einrichtung zur mikrobefehlssteuerung.
DE69626282T2 (de) Programmierbare vorrichtung und verfahren zum befehlsauffang
DE3931505C2 (de) Speichersteuerung in einer Datenverarbeitungsanlage
DE4218622C2 (de) Parallelcomputer mit Beschleunigungsfunktion
DE60216016T2 (de) Mikroprozessor mit Aufrechterhaltung der Speicherübereinstimmung
DE2355814A1 (de) Kanalzugriffseinrichtung fuer eine hierarchische speicheranordnung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee