DE69518473T2 - Speichersteuerverfahren und -vorrichtung, geeignet für ein Informationsverarbeitungssystem mit einem Cachespeicher - Google Patents

Speichersteuerverfahren und -vorrichtung, geeignet für ein Informationsverarbeitungssystem mit einem Cachespeicher

Info

Publication number
DE69518473T2
DE69518473T2 DE69518473T DE69518473T DE69518473T2 DE 69518473 T2 DE69518473 T2 DE 69518473T2 DE 69518473 T DE69518473 T DE 69518473T DE 69518473 T DE69518473 T DE 69518473T DE 69518473 T2 DE69518473 T2 DE 69518473T2
Authority
DE
Germany
Prior art keywords
unit
command
memory
request
tag
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 - Lifetime
Application number
DE69518473T
Other languages
English (en)
Other versions
DE69518473D1 (de
Inventor
Naozumi Aoki
Yukihiko Kitano
Kenro Nagato
Masatoshi Sugino
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Application granted granted Critical
Publication of DE69518473D1 publication Critical patent/DE69518473D1/de
Publication of DE69518473T2 publication Critical patent/DE69518473T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • G06F12/0822Copy directories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • G06F12/0828Cache consistency protocols using directory methods with concurrent directory accessing, i.e. handling multiple concurrent coherency transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/62Details of cache specific to multiprocessor cache arrangements
    • G06F2212/621Coherency control relating to peripheral accessing, e.g. from DMA or I/O device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Multi Processors (AREA)
  • Storage Device Security (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf ein Speichersteuerungsverfahren und eine Speichersteuerungsvorrichtung, welche jeweils in geeigneter Weise für Informationsverarbeitungssysteme verwendet werden können, wie etwa Mehrfachverarbeitungssysteme ("multiprocessing systems"), wobei, mehrere Datenverarbeitungseinheiten gleichzeitig einen Betriebsprozeß ausführen. Insbesondere bezieht sich die vorliegende Erfindung auf ein Speichersteuerungsverfahren und eine Speichersteuerungsvorrichtung, welche jeweils den Zustand der in einer Pufferspeichereinheit auf einer Storein-Basis gehaltenen Daten steuert, wobei die Pufferspeichereinheit in jeder der Datenverarbeitungseinheiten angeordnet ist, um einen Hochgeschwindigkeitszugang zu einer Hauptspeichereinheit zu erlangen.
  • Neuerdings fanden unterschiedliche Forschungen und Entwicklungen statt, um die XTerarbeitungsfähigkeit von Informationsverarbeitungsausstattungen zu verbessern. Um insbesondere eine verbesserte Verarbeitungsgeschwindigkeit zu verwirklichen, war es erwünscht, einen Hochgeschwindigkeitszugang zu der Speichervorrichtung zu erlangen. Einer der Ansätze besteht darin, ein hierarchisches Speichersystem zu konstruieren.
  • Die Informationsverarbeitungsausstattung besteht aus mehreren Datenverarbeitungseinheiten ("central processing unit" (CPUs)), wobei diese jeweils einen Datenoperationsprozeß ausführen, einer Hauptspeichereinheit, welche Daten speichert, und einer Speichersteuerungseinheit, welche vorübergehend die Dateninformation in einer Pufferspeichereinheit speichert, daß die Datenverarbeitungseinheit auf die Hauptspeichereinheit zugegriffen hat, und diese daraufhin steuert. Insbesondere hat in dem Mehrfachverar beitungssystem ein bemerkenswerter Fortschritt stattgefunden, wo mehrere CPUs gleichzeitig und parallel arbeiten, um Operationen unter Verwendung einer Datenverarbeitungsausstattung ausführen.
  • Die Umwandlung in einen Mehrfachprozessor führt tendenziell dazu, daß die Anzahl der Lese- oder Schreibanfragen erhöht werden, welche gleichzeitig von mehreren CPUs an die Speichersteuerungseinheit ausgegeben werden. Eine Hochgeschwindigkeitsverarbeitung führt dazu, daß ein Hochgeschwindigkeitszugriff auf eine Anfrage erlangt wird. Daher war es erwünscht, Anfragen an Adressen gleichzeitig zu behandeln, welche einander nicht im Wege stehen.
  • In dem Fall, daß die Pufferspeichereinheit auf einer Store-in-Basis gesteuert wird, benötigt man eine Datenübertragung oder einen Invalidierungsprozeß zwischen mehreren Pufferspeichereinheiten, da der letzte Datenwert einer zu verarbeitenden Adresse im obersten Niveau der Pufferspeichereinheit gespeichert ist. Dieser muß begrenzt sein, um einen Unterbrechungszugriff zu einem Block zu erlangen, welcher eine während der Verarbeitung zu verarbeitende Adresse enthält. Daher ist es erforderlich, eine Zugriffswartezeit auf eine Anfrage zu kürzen und einen Zugriffsdurchsatz zu verbessern.
  • Fig. 12 ist ein Blockdiagramm, welches eine Informationsverarbeitungsvorrichtung zeigt, die Verarbeitungen gleichzeitig als Antwort auf Anfragen nach Adressen durchführt, welche sich gegenseitig nicht im Wege stehen, um einen Zugriff mit hoher Geschwindigkeit zu erlangen. Mit Bezug auf Fig. 12 speichert die Hauptspeichereinheit 101 Datensätze.
  • Das Bezugszeichen 102 ist eine Datenverarbeitungseinheit (oder CPU), welche gleichzeitig und parallel einen Operationsprozeß ausführen kann, und das Bezugszeichen 103 ist eine Datenverarbeitungseinheit (oder CPU), welche gleichzeitig und parallel einen Operationsprozeß ausführen kann. Die Datenverarbeitungseinheit 102 enthält eine Pufferspeichereinheit (BS) 106 und die Datenverarbeitungseinheit 103 enthält eine Pufferspeichereinheit (BS) 107.
  • Die Pufferspeichereinheit 106 enthält eine Datenregion 108, welche einen Datengegenstand hält, der in der Hauptspeichereinheit 101 gespeichert ist, und eine Tag- Region 109, welche Tag-Information hält, einschließlich der Adresse der in der Datenregion 108 gespeicherten Daten. Die Pufferspeichereinheit 107 enthält eine Datenregion 110, welche einen in der Hauptspeichereinheit 101 gespeicherten Datengegenstand hält, und eine Tag-Region 111, welche Tag- Information hält, einschließlich der Adresse der in der Datenregion 109 gespeicherten Daten.
  • Die Eingabe/Ausgabe-Steuerungseinheit 104 ("input/output control unit" (IOP)) gibt eine Anfrage aus, welche zu den Datenverarbeitungseinheiten 102 und 103 zur Speichersteuerungseinheit 105 gesendet werden soll.
  • Die Speichersteuerungseinheit 105 ("memory control unit" (MCU)) steuert eine Datenübertragung zwischen der Hauptspeichereinheit 101 und den Pufferspeichereinheiten 106 und 107 auf einer Store-in-Basis. Die Speichersteuerungseinheit 105 enthält Annahmeports 112 und 114, eine Prioritätsschaltung 115, eine Tag-Kopiereinheit (eine zweite Tag-Einheit, TAG 2) 116, eine Adressenvergleichseinheit 117, eine Befehlsausgabeeinheit 118, einen Antwortwar testeuerungsport 119 und eine Befehlsantwortverarbeitungseinheit 120.
  • Der Annahmeport 112 speichert eine Prozeßanfrage von der Datenverarbeitungseinheit 102; der Annahmeport 113 speichert eine Prozeßanfrage von dem Annahmeport 103; und der Annahmeport 114 speichert eine Prozeßanfrage von der Eingabe/Ausgabe-Steuerungseinheit 104. Die Prioritätsschaltung 115 gibt selektiv eine der Prozeßanfragen von den Annahmeports 112 bis 114 aus.
  • Die Tag-Kopiereinheit 116 speichert die Kopien der Tag-Regionen 109 und 111 in der Pufferspeichereinheit und lädt dann zurück, ob eine Adresse in der Pufferspeichereinheit 106 oder 107 gespeichert ist, welche einer mit der Prioritätsschaltung 115 ausgewählten Prozeßanfrage entspricht.
  • Die Adressenvergleichseinheit 117 vergleicht die Adresse, welche einer mit der Prioritätsschaltung 115 ausgewählten Prozeßanfrage entspricht, mit den Adressen, welche allen Prozeßanfragen in einem Wartezustand entspricht, die in den Annahmeports 112 bis 114 gespeichert sind.
  • Die Befehlsausgabeeinheit 118 fängt das Rückladeergebnis (siehe Bezugszeichen 126 in Fig. 12) von der Tag- Kopiereinheit 116 sowie das Vergleichsergebnis (siehe Bezugszeichen 127 in Fig. 12) von der Adressenvergleichseinheit 117 auf und gibt daraufhin einen Befehl (MCU-Befehl) aus, welcher einer Anfrage entspricht, ob eine der Pufferspeichereinheiten 102 oder 103 eine zu verarbeitende Adresse speichert, oder eine Adresse, welche einer Prozeßanfrageeingabe von der Prioritätsschaltung 115 entspricht, während ein Block mit einer Targetadresse nicht in einem Antwortwartezustand eines einmal ausgegebenen Befehls ist.
  • Der Befehl ist ein allgemeiner Begriff einer Datenübertragungsanfrage oder einer Prozeßanfrage, welche die in den Pufferspeichereinheiten 106 und 107 vorliegenden Eingaben invalidiert, ausgegeben von der Speichersteuerungseinheit 105 an die Pufferspeichereinheiten 106 und 107.
  • Der Antwortwartesteuerungsport (BCP) 119 setzt Bits als Befehlsausgabequellen, welche jeweils den Datenverarbeitungseinheiten 102 und 103 entsprechen. Die Befehlsantwortverarbeitungsschaltung 120 gibt eine Antwort auf einen Befehl und setzt dann ein Bit zurück, welches einer Anfragequelle entspricht, die durch den Antwortsteuerungsport 119 gesetzt wurde.
  • Der Betrieb der Informationsverarbeitungsvorrichtung wird unten mit Bezug auf das in Fig. 13 gezeigte Flußdiagramm und das in Fig. 14 gezeigte Zeitdiagramm beschrieben.
  • Zur kurzen Erläuterung wird angenommen, daß alle Antworten auf Prozeßanfragen während der in Fig. 14 gezeigten Dauer t6 zurückgegeben wurden.
  • Zum Beispiel wird eine von der Datenverarbeitungseinheit 102 ausgegebene Prozeßanfrage (oder eine Anfrage) (siehe der in Fig. 13 gezeigte Schritt A1 und die in Fig. 14 gezeigte Dauer t1) in dem Anfrageannahmeport 112 innerhalb der Speichersteuerungseinheit 105 gespeichert (siehe Schritt A2 in Fig. 13 und die in Fig. 14 gezeigte Dauer t2).
  • Wenn die Prioritätsschaltung 115 eine in dem Annahmeport 112 gespeicherte Prozeßanfrage auswählt (siehe der in Fig. 13 gezeigte JA-Pfad in Schritt A3 und die in Fig. 14 gezeigte Dauer t3), lädt die Tag-Kopiereinheit 116 die Adressen zurück, welche der Prozeßanfrage entsprechen (siehe der in Fig. 13 gezeigte Schritt A4 und die in Fig. 14 gezeigte Dauer t4), um zu entscheiden, ob die interessierende Adresse in der Pufferspeichereinheit 109 oder 111 gehalten wird (siehe Schritt A5 in Fig. 13). Gleichzeitig vergleicht die Adressenvergleichseinheit 117 die Adresse mit den Prozeßanfrageadressen aller Anfragen (siehe Schritt · A6 in Fig. 13) und entscheidet, ob eine interessierende Adresse in einem Wartezustand ist (siehe Schritt A7 in Fig. 13).
  • Die Befehlsausgabeeinheit 118 empfängt das Rückladeergebnis 126 von der Tag-Kopiereinheit 116 und das Vergleichsergebnis 127 von der Adressenvergleichseinheit 117 und gibt dann einen Befehl als Antwort auf die Prozeßanfrage aus, wenn eine interessierende Adresse in einer der Pufferspeichereinheiten 106 oder 107 existiert und der Datenblock mit der interessierenden Adresse nicht in dem Antwortwartezustand auf einen Befehl eines vorher ausgegebenen Datenblocks ist (siehe Schritte A8 und A9 in Fig. 13 und die Dauer t5 in Fig. 14).
  • In dem Schritt A9 wird ein Bit (siehe Bezugszeichen 121 in Fig. 12), welches der Datenverarbeitungseinheit der Befehlsausgabequelle innerhalb des Antwortwartesteuerungsport 45 entspricht, zur selben Zeit gesetzt, wenn ein Befehl ausgegeben wird, welcher einer Prozeßanfrage entspricht (siehe Schritte A10 in Fig. 13).
  • Nachdem die Datenverarbeitungseinheiten 102 und 103 auf den ausgegebenen Befehl geantwortet haben (siehe Bezugszeichen 122 und 123 in Fig. 12 und die Dauer t6 in Fig. 14) (JA-Pfad in Schritt A11), setzt daraufhin die Befehlsantwortschaltung 120 das Bit 121 in der Befehlsausga beeinheit 118 zurück (siehe Bezugszeichen 124 in Fig. 12 und Schritt A12).
  • Nachdem alle Bits in dem Bit 121 zurückgesetzt wurden (JA-Pfad in Schritt A13), gibt der Antwortwartesteuerungsport 119 ein Portrücksetzsignal aus (siehe Bezugszeichen 125 in Fig. 12), womit der Annahmeport 112 freigegeben wird (siehe Schritte A14 in Fig. 13).
  • Wenn die Befehlsausgabeeinheit 118 entscheidet, daß eine interessierende Adresse in der Pufferspeichereinheit 106 oder 107 und in dem Wartezustand eines vorher ausgegebenen Befehls existiert, basierend auf dem Rückladeergebnis 126 von der Tag-Kopiereinheit 116 und dem Vergleichsergebnis 127 von der Adressenvergleichseinheit 117, wird entschieden, daß die Befehlsausgabeeinheit 118 keinen Befehl ausgeben kann. Somit wird die von der Prioritätsschaltung 115 ausgewählte Prozeßanfrage gestrichen (siehe Schritte A8 bis A15 in Fig. 13). Da der Annahmeport 112 die Prozeßanfrage hält, kann die Prioritätsschaltung 115 sie erneut wählen (siehe Schritt A3 in Fig. 13).
  • Wenn keine interessierende Adresse in keiner der Pufferspeichereinheiten 106 oder 107 existiert, basierend auf dem Rückladeergebnis 126 von der Tag-Kopiereinheit 116 und dem Vergleichsergebnis 127 von der Adressenvergleichseinheit 117, stellt die Befehlsausgabeeinheit 118 an die Hauptspeichereinheit 101 die Anfrage, den Datenblock der interessierenden Adresse auszulesen (siehe Schritt A16 in Fig. 13). Der Antwortwartesteuerungsport 119 gibt ein Portrücksetzsignal 125 aus, um den Annahmeport 112 freizugeben (siehe Schritt A14 in Fig. 13).
  • Mit den jüngsten Technologien, die an Mehrfachprozessoren orientiert sind, wird im allgemeinen eine Spei cherschutzüberprüfung durchgeführt, welche prüft, ob ein Zugriff auf eine angefragte Adresse möglich ist, um zu verhindern, daß mehrere Programme und Daten aufgrund einer Eingabe- und Ausgabeoperation zerstört werden.
  • In dem Fall, daß eine Speicheranfrage an die Hauptspeichereinheit die Speicherschutzüberprüfung begleitet, muß die Überprüfung beendet sein, bevor die Anweisung einer Schreiboperation an die Hauptspeichereinheit gegeben wird.
  • Bei manchen Ausstattungen mit einer Informationsverarbeitung vom Store-in-Typ existieren die letzten Daten nicht in einer Hauptspeichereinheit, sondern sie existieren nur in der Pufferspeichereinheit in der Datenverarbeitungseinheit. Wenn in diesem Fall eine Speicheranfrage in einer Dateneinheit von der Eingabe/Ausgabe-Steuerungseinheit an die Hauptspeichereinheit ausgegeben wird, welche kleiner ist als die minimale Herausbewegungseinheit in der Pufferspeichereinheit, muß ein Datenblock mit einer einer Speicheranfrage zur unterwerfenden Adresse von der Datenverarbeitungseinheit zu der Hauptspeichereinheit bewegt werden, bevor die Daten von der Eingabe/Ausgabe-Steuerungseinheit in die Hauptspeichereinheit gespeichert werden.
  • Wenn somit eine Speicheranfrage an die Hauptspeichereinheit von der Eingabe/Ausgabe-Steuerungseinheit an die Speichersteuerungseinheit zusammen mit einer Speicherschutzüberprüfung ausgegeben wird und an die Dateneinheit ausgegeben wird, welche kleiner ist als die minimale Herausbewegungseinheit der Pufferspeichereinheit, speichert die Eingabe/Ausgabe-Steuerungseinheit Daten in der Hauptspeichereinheit nachdem sowohl das Ergebnis der Speicher schutzüberprüfung und das Rückladeergebnis der Tag- Kopiereinheit (der zweiten Tag-Region) berichtet wurden.
  • Fig. 15 ist ein Blockdiagramm, welches eine Informationsverarbeitungsvorrichtung mit einer Speicherschutz-Überprüfungsfunktion zeigt. Es wird auf Fig. 15 Bezug genommen; die Informationsverarbeitungsvorrichtung enthält die Hauptspeichereinheit 101, die Datenverarbeitungseinheiten 102 und 103 und die Eingabe/Ausgabe- Steuerungseinheit 104, wobei diese in einer ähnlichen Weise arbeiten wie die entsprechenden Elemente der in Fig. 12 dargestellten Informationsverarbeitungsvorrichtung. Die Speichersteuerungseinheit 205 enthält die Annahmeports 112 bis 114, die Prioritätsschaltung 115 und die Tag- Kopiereinheit 116, wobei diese in einer ähnlichen Weise arbeiten, wie die entsprechenden Elemente in der Speichersteuerungseinheit 105.
  • Die Speichersteuerungseinheit 205 enthält eine Speicherschutz-Schlüsselspeichereinheit 212 ("key storing unit" (KSU)), welche Daten (Schlüssel) speichert, um eine Speicherschutzüberprüfung gemäß der Prozeßanfrage von der Eingabe/Ausgabe-Einheit 104 auszuführen.
  • Die oben beschriebene Speicheranfrage ist eine Speicheranfrage mit einer Speicherschutzüberprüfung, welche von der Hauptspeichereinheit 101 von der Eingabe/Ausgabe- Steuerungseinheit 104 an die Speichersteuerungseinheit 205 ausgegeben werden soll. Die Speicheranfrage wird an die Dateneinheit ausgegeben, welche kleiner ist als die minimale Herausbewegungseinheit der Pufferspeichereinheit 106 oder 107, und sie wird an eine Adresse mit dem letzten Datenwert an die Hauptspeichereinheit 101 ausgegeben.
  • Die Speicherschutz-Überprüfungsschaltung (KCHK) 213 führt eine Speicherschutzüberprüfung aus, basierend auf den Daten für die Speicherschutzüberprüfungsauslesung der Speicherschutz-Schlüsselspeichereinheit 212 gemäß der Adresse, welche der Prozeßanfrage von der Prioritätsschaltung 115 entspricht. Wenn das Überprüfungsergebnis einen zugreifbaren Zustand zeigt, nimmt die Prioritätsschaltung 115 ihre Auswahloperation wieder auf und gibt zur selben Zeit ein Freigabesteuerungssignal an den Annahmeport 114 aus. Darüber hinaus repräsentiert das Bezugszeichen 216 eine Warteschlange ("queue"), welche eine Speicheranfrage speichert, die von der Speichersteuerungseinheit 205 an die Hauptspeichereinheit 101 ausgegeben wird, und 217 repräsentiert eine Prioritätsschaltung, welche die Priorität der Speicheranfrage auswählt.
  • Der Betrieb der Informationsverarbeitungsausstattung mit der obigen Konfiguration wird unten mit Bezug auf das in Fig. 16 gezeigte Flußdiagramm und das in Fig. 17 gezeigte Zeitdiagramm beschrieben.
  • Mit anderen Worten, wenn eine Speicheranfrage, welche die Speicherschutzüberprüfung begleitet, die an eine Dateneinheit herausgegeben wird, welche kleiner ist als die minimale Herausbewegungseinheit von jeder der Pufferspeichereinheiten 106 und 107, an die Hauptspeichereinheit 101 über die Eingabe/Ausgabe-Steuerungseinheit 104 ausgegeben wird (siehe den in Fig. 16 gezeigten Schritt B1 und die in Fig. 17 gezeigte Dauer t21), wird diese in dem Annahmeport 114 gespeichert (siehe den in Fig. 16 gezeigten Schritt B2 und die in Fig. 17 gezeigte Dauer t22).
  • Wenn die Prioritätsschaltung 115 die Speicheranfrage auswählt (siehe Schritt B3 in Fig. 16 und die Dauer t23 in Fig. 17), liest sie Daten aus, welche für eine Speicherschutzüberprüfung verwendet werden (siehe die Dauer t26 in Fig. 17). Dann führt die Speicherschutz- Überprüfungsschaltung 213 die Speicherschutzüberprüfung aus (siehe Schritt B4 in Fig. 16 und die Dauer t27 in Fig. 17). Mit anderen Worten, die Speicherschutz- Schlüsselspeichereinheit 212 liest einen Schlüssel aus, welcher der Adresse entspricht, die der Speicheranfrage zu unterwerfen ist. Die Speicherschutz-Überprüfungsschaltung 213 vergleicht den Schlüssel mit dem Schlüsselüberprüfungsschlüssel, der mit der Speicheranfrage assoziiert ist. Der Annahmeport 114 wird über das Ergebnis der Speicherschutzüberprüfung informiert. Wenn der Zugriff nicht erlaubt ist (siehe der NEIN-Pfad von Schritt B4 in Fig. 16), so wird die Speicheranfrage gestrichen (in Schritt B14 in Fig. 16). Als Ergebnis wird der Annahmeport 114 freigegeben.
  • Wenn der Zugriff erlaubt ist, wird diese Tatsache an den Annahmeport 114 berichtet (siehe Schritt B5 in Fig. 16). Daraufhin wird die Speicheranfrage von der Eingabe/Ausgabe-Steuerungseinheit von dem Annahmeport 114 in eine Warteschlange eingereiht und gehalten, bis die Prioritätsschaltung 114 an einer Auswahloperation teilnimmt. Wenn die Prioritätsschaltung 115 die Speicheranfrage auswählt, welche von dem Annahmeport 114 gehalten wird (siehe Schritt B6 in Fig. 16 und die Fig. 17 gezeigte Dauer t28), wird der Annahmeport 114 freigegeben (in Schritt B7 in Fig. 16).
  • Daraufhin wird durch Zurückladen der Tag-Kopiereinheit 116 entschieden, ob der letzte Datenwert der entsprechenden Adresse in der Pufferspeichereinheit 106 oder 107 vorliegt (in Schritt B8 in Fig. 16 und der Dauer t29 in Fig. 17).
  • Wenn entschieden wird, daß der letzte Datenwert weder in den Pufferspeichereinheiten 106 oder 107 existiert (ein Fehltreffer, der NEIN-Pfad in dem in Fig. 16 gezeigten Schritt B8), werden die Speicherdaten von der Eingabe/Ausgabe-Steuerungseinheit 104 in der Hauptspeichereinheit 101 gespeichert (in dem in Fig. 16 gezeigten Schritt B13).
  • Wenn entschieden wird, daß der letzte Datenwert in der Pufferspeichereinheit 106 oder 107 vorliegt (ein Datentreffer, der JA-Pfad des in Fig. 16 gezeigten Schrittes B8), gibt die Speichersteuerungseinheit 205 einen Herausbewegungsbefehl an die Datenverarbeitungseinheit 102 oder 103 mit den letzten Daten (siehe die in Fig. 17 gezeigte Dauer t30).
  • Wenn der Annahmeport 112 oder 113 eine Antwort speichert (siehe die Dauer t33 in Fig. 17), auf den von der Datenverarbeitungseinheit 102 oder 103 ausgegebenen Befehl (siehe Schritt B10 in Fig. 16 und die Dauer t32 in Fig. 17), nimmt die Prioritätsschaltung 115 an einer Prioritätsauswahl teil (in dem in Fig. 16 gezeigten Schritt B11).
  • Wenn daraufhin die Prioritätsschaltung 115 die Antwort auf den Befehl auswählt (siehe die Dauer t34 in Fig. 17), wird der Annahmeport 112 oder 113, welcher die Antwort speichert, freigegeben. Auf die Hauptspeichereinheit 101 wird mit einer Adresse über die Warteschlange 216 und die Prioritätsschaltung 217 zugegriffen, welche einer Speicheranfrage entspricht. Daraufhin speichert die Hauptspeichereinheit 101 die Herausbewegungsdaten von der Datenverarbeitungseinheit 102 oder 103 (siehe Schritt B12 in Fig. 16 und die Dauer t35 in Fig. 17) als auch die gespei cherten Daten von der Eingabe/Ausgabe-Steuerungseinheit 104 (in Schritt B13 in Fig. 16).
  • Entsprechend dem Speichersteuerungsverfahren, welches auf die in den Fig. 12 und 14 gezeigte Informationsverarbeitungsausstattung angewendet wird, weist jedoch ein Adressenvergleich nach, ob die Adresse einer von der Prioritätsschaltung 115 ausgewählten Prozeßanfrage in dem Konkurrenzzustand oder in dem Wartezustand auf eine vorher ausgegebene Anfrage ist.
  • Um eine Vergleichsoperation mit hoher Geschwindigkeit bezüglich mehrerer Prozeßanfragen in einem Antwortwartezustand auszuführen, müssen die mehreren Schaltungen (oder die Adressenvergleichseinheiten 117) daher angeordnet werden, um eine parallele Vergleichsoperation auszuführen. Eine anwachsende Anzahl von Datenverarbeitungseinheiten benötigen viele Ports 112, um Prozeßanfragen anzunehmen. Daher bestand ein Nachteil darin, daß die Informationsverarbeitungsausstattung des. Standes der Technik zu einer größeren Menge benötigter Hardware, zu größeren Konstruktionskosten für das System und zu einer komplizierteren Systemkonstruktion führte.
  • Darüber hinaus besteht hierin ein Nachteil, da der Annahmeport 112 eine Adresse zum Vergleich halten muß, bis alle Antworten auf Prozeßanfragen zurückkehren (bis zur Zeit t6 in Fig. 14), wobei er über eine lange Zeitperiode besetzt ist, wodurch die Nutzungseffizienz und die Verarbeitungsrate verringert werden.
  • In dem Informationsverarbeitungssystem, welches die in den Fig. 15 bis 17 gezeigte Speicherschutzüberprüfung ausführt, werden, wo die Eingabe/Ausgabe- Steuerungseinheit 104 Speicheranfragen zusammen mit einer Speicherschutzüberprüfung ausgibt, der Speicherschutz- Überprüfungprozeß und der Rückladeprozeß in der Tag- Kopiereinheit 116 unabhängig mit den unterschiedlichen Abläufen ausgeführt, wie es in Fig. 17 gezeigt ist. Die Speicherschutzüberprüfung wird entlang dem ersten Ablauf ausgeführt, wie es in Fig. 17 gezeigt ist. Die Speicherschutzüberprüfung wird entlang dem ersten Ablauf ausgeführt, in welchem die Prioritätsschaltung 115 die Speicheranfrage von dem Annahmeport 114 auswählt. Als Ergebnis führt die Tag- Kopiereinheit 116, wenn der Zugriff erlaubt ist, den Rückladeprozeß entlang dem Fluß aus, welcher beginnt, wenn die Prioritätsschaltung 115 die Speicheranfrage von dem Annahmeport 114 auswählt.
  • Daher kann die Tag-Kopiereinheit 116 nicht rückgeladen werden, bis das Ergebnis der Speicherschutzüberprüfung bekannt ist, wodurch die Speicherschutz- Schlüsselspeichereinheit 212 viel Zeit benötigt, um das Schlüssellesen bei der Speicherschutz-Überprüfungsoperation auszuführen. Wenn insbesondere das Rückladeergebnis von der Tag-Kopiereinheit 116 ein Treffer ist, so wird die Herausbewegung sehr langsam ausgegeben. Dies bedeutet, daß die Nutzungseffizienz sehr schlecht ist, da die Speicherschutzüberprüfung selten eine Zugriffsoperation behindert.
  • Der Annahmeport 114 speichert und hält einmal eine Speicheranfrage von der Eingabe/Ausgabe- Steuerungseinheit 104 bis wenigstens ein Ergebnis der Speicherschutzüberprüfung bekannt ist. Wenn darüber hinaus die Speicherschutzüberprüfung einen Zugriff zeigt, welcher erlaubt werden kann, so wird die Speicheranfrage aufrechterhalten, bis die Tag-Kopiereinheit 116 den Rückladeprozeßablauf beginnt. Das heißt, daß ein Nachteil darin besteht, daß der Annahmeport 114 nicht freigegeben werden kann, bis wenigstens die Speicherschutzüberprüfung beendet ist. Daher kann die nachfolgende Anfrage über eine lange Zeit nicht empfangen werden, wodurch die Nutzungseffizienz und der Hochgeschwindigkeitsprozeß verschlechtert werden.
  • Die vorliegende Erfindung ist in der Lage, die oben erwähnten Probleme zu überwinden. Eine Ausführungsform der vorliegenden Erfindung kann ein Speichersteuerungsverfahren zur Verfügung stellen, welches in der Lage ist, die Menge an Hardware zu vermindern und die Nutzungseffizienz der Ports zu Verbessern, wodurch die Systemkonstruktionskosten reduziert werden und die Verarbeitungsgeschwindigkeit verbessert wird.
  • Eine weitere Ausführungsform kann eine Speichersteuerungsvorrichtung zur Verfügung stellen, welche in der Lage ist, die Menge an Hardware zu reduzieren und die Nutzungseffizienz der Ports zu verbessern, wodurch wiederum die Systemkonstruktionskosten verringert werden und die Verarbeitungsgeschwindigkeit verbessert wird.
  • Gemäß der vorliegenden Erfindung, die in den beigefügten Ansprüchen 1 und 7 definiert ist, können die obigen Vorteile grundsätzlich dadurch erreicht werden, daß die Merkmale angewendet werden, welche in diesen unabhängigen Ansprüchen angegeben sind.
  • Weitere Verbesserungen werden durch die abhängigen Ansprüche zur Verfügung gestellt.
  • Das Speichersteuerungsverfahren oder die Speichersteuerungsvorrichtung können ein Anzeige-Flag für eine Prozeßanfrage in der Tag-Kopiereinheit setzen, wodurch gleichzeitig hervortritt, ob ein Block mit einer Prozeßanfrageadresse in der Pufferspeichereinheit vorliegt und ob der Block aktuell verarbeitet wird, indem nur eine Tag- Kopiereinheit rückgeladen wird. Dieses Merkmal erlaubt, daß die Adressenvergleichsschaltung fortgelassen wird, wodurch die Systemkonstruktionskosten verringert werden.
  • Wenn die Eingabe/Ausgabe-Steuerungseinheit eine Speicheranfrage an die Speichereinheit zusammen mit einer Speicherschutzüberprüfung ausführt, kann der Bezugnahmeprozeß auf die Speicheranfrage von der Tag-Kopiereinheit synchron zu der Speicherschutzüberprüfung des Speicherschutz- Entscheidungsmittels ausgeführt werden. Wenn die Speicherschutzüberprüfung einen Zugriff nicht verhindern kann oder ein Treffer oder ein Fehltreffer in der Tag-Kopiereinheit gefunden wird, kann somit eine Speicheroperation mit hoher Geschwindigkeit in der Speichereinheit ausgebildet werden. Darüber hinaus ermöglicht dieses Merkmal eine hohe Verarbeitungsgeschwindigkeit, eine hohe Nutzungseffizienz für die Ports und einen großen Systemdurchsatz.
  • Zum besseren Verständnis der Erfindung und um zu zeigen, wie dieselbe in die Tat umgesetzt wird, wird nur beispielhaft auf die begleitenden Zeichnungen Bezug genommen.
  • Fig. 1 ist ein Blockdiagramm, welches einen Gesichtspunkt der vorliegenden Erfindung zeigt;
  • Fig. 2 ist ein Blockdiagramm, welches einen Gesichtspunkt zeigt, welcher in der Teilanmeldung EP-A-903669 beansprucht wird;
  • Fig. 3 ist ein Diagramm, welches die erste Ausführungsform gemäß der vorliegenden Erfindung zeigt;
  • Fig. 4 ist ein Diagramm, welches eine Skizze eines Informationsverarbeitungssystems gemäß der ersten Ausführungsform der vorliegenden Erfindung zeigt;
  • Fig. 5 ist ein Diagramm, welches die Eingangskonfiguration der zweiten Tag-Einheit gemäß der ersten Ausführungsform der vorliegenden Erfindung zeigt;
  • Fig. 6 ist ein Flußdiagramm, welches zur Erläuterung des Betriebs der Informationsverarbeitungsvorrichtung gemäß der ersten Ausführungsform der vorliegenden Erfindung verwendet wird;
  • Fig. 7 ist ein Zeitdiagramm, welches zur Erläuterung des Betriebs der ersten Ausführungsform gemäß der vorliegenden Erfindung verwendet wird;
  • Fig. 8 ist ein Funktionsdiagramm, welches die zweite Ausführungsform gemäß der vorliegenden Erfindung zeigt;
  • Fig. 9 ist ein Blockdiagramm, welches die Detailkonfiguration der Speichersteuerungseinheit gemäß der zweiten Ausführungsform der vorliegenden Erfindung darstellt;
  • Fig. 10 ist ein Flußdiagramm, welches zur Erläuterung des Betriebs der zweiten Ausführungsform gemäß der vorliegenden Erfindung verwendet wird;
  • Fig. 11 ist ein Zeitdiagramm, welches zur Erläuterung des Betriebs der zweiten Ausführungsform gemäß der vorliegenden Erfindung verwendet wird;
  • Fig. 12 ist ein Blockdiagramm, welches ein herkömmliches Informationsverarbeitungssystem zeigt;
  • Fig. 13 ist ein Flußdiagrainm, welches zur Erläuterung des Betriebs eines herkömmlichen Informationssystems verwendet wird;
  • Fig. 14 ist ein Flußdiagramm, welches zur Erläuterung des Betriebs eines herkömmlichen Informationssystems verwendet wird;
  • Fig. 15 ist ein Blockdiagramm, welches ein herkömmliches Informationsverarbeitungssystem zeigt;
  • Fig. 16 ist ein Flußdiagramm, welches zur Erläuterung des Betriebs eines herkömmlichen Informationsverarbeitungssystems verwendet wird; und
  • Fig. 17 ist ein Zeitdiagramm, welches zur Erläuterung eines herkömmlichen Informationsbetriebssystems verwendet wird.
  • (a) Ein Gesichtspunkt der Erfindung:
  • Fig. 1 ist ein Blockdiagramm, welches einen Gesichtspunkt der vorliegenden Erfindung zeigt. In dem in Fig. 1 gezeigten Informationsverarbeitungssystem, repräsentiert das Bezugszeichen 1 eine Datenspeichereinheit und 2 repräsentiert wenigstens eine Datenverarbeitungseinheit. Die Datenverarbeitungseinheit 2, welche gemäß den in der Speichereinheit 1 gespeicherten Daten arbeitet, enthält eine Pufferspeichereinheit 7.
  • Die Pufferspeichereinheit 7 enthält eine Datenregion 3, welche einen Datengegenstand hält, der in der Speichereinheit 1 gespeichert ist und eine Tag-Region 4, welche Tag-Information hält, einschließlich der Adresse von Daten, welche in der Datenregion 3 gespeichert sind.
  • Die Speichersteuerungseinheit 13 steuert eine Datenübertragung zwischen der Speichereinheit 1 und der Pufferspeichereinheit 7 auf einer Store-in-Basis. Die Speichersteuerungseinheit 13 enthält eine Tag-Kopiereinheit 5, ein Port 6 und ein Prozeßbefehlsausgabemittel 8.
  • Die Tag-Kopiereinheit 5 hält einen Teil oder alle der Kopien in der Tag-Region 4, welche in der Pufferspeichereinheit 7 angeordnet ist. Der Port 6 hält eine Prozeßanfrage von der Datenverarbeitungseinheit 2 oder eine ex terne Prozeßanfrage. Das Prozeßbefehlsausgabemittel 8 nimmt Bezug auf die Tag-Kopiereinheit 5 und gibt dann einen vorbestimmten Prozeßbefehl an die Pufferspeichereinheit 7 aus, welcher zu der Datenverarbeitungseinheit 2 gemäß einer Prozeßanfrage gesendet wird, die in dem Port 6 gehalten wird. Ein Bit 9 ist in der Tag-Kopiereinheit 5 angeordnet, um ein Flag zu setzen, welches einen unter einer Anfrage befindlichen Prozeß der Pufferspeichereinheit 7 zeigt. Das Prozeßbefehlsausgabemittel 8 enthält ein Flag- Setzmittel 10, welches einen an die Pufferspeichereinheit 7 zur Datenverarbeitungseinheit 2 zu sendenden vorbestimmten Prozeßbefehl ausgibt und gleichzeitig ein Flag setzt, welches einen unter einer Anfrage befindlichen Prozeß dem Bit 9 in der Tag-Kopiereinheit 5 zeigt, welches einem vorbestimmten Prozeßbefehl entspricht.
  • Darüber hinaus weist die Tag-Kopiereinheit 5, wenn die Pufferspeichereinheit 7 mehrere Wege enthält, die auf einer teilassoziativen (engl. set-asscociative) Basis verwaltet werden, Flag-Setzbits auf, die auf entsprechend mehrere Arten angeordnet sind.
  • Das Prozeßbefehlsausgabemittel 8 enthält ein Portfreigabemittel, welches den Port 5 freigibt, der eine Prozeßanfrage hält, welche eine Ausgabe eines vorbestimmten Prozeßbefehls zur selben Zeit verursacht, wenn ein vorbestimmter Prozeßbefehl, welcher zur Pufferspeichereinheit 7 gesendet wird, an die Datenverarbeitungseinheit 2 ausgegeben wird; und ein Flag-Rücksetzmittel, welches ein Flag der Tag-Kopiereinheit 5 zurücksetzt, was dem Prozeßvervollständigungsbericht entspricht, wenn der Prozeßvervollständigungsbericht von der Datenverarbeitungseinheit 2 als Antwort auf einen vorbestimmten Prozeßbefehl empfangen wird.
  • Das Prozeßbefehlsausgabemittel 8 kann einen vorbestimmten Prozeßbefehl ausgeben, welcher an die Pufferspeichereinheit 7 zur Datenverarbeitungseinheit 2 zu senden ist, unter der Bedingung, daß alle Flags des zu verarbeitenden Abschnittes unter einem vorbestimmten Prozeßbefehl in der Tag-Kopiereinheit 5 in einem rückgesetzten Zustand vorliegen.
  • Der nächste Prozeß einer Prozeßanfrage beginnt unter der Bedingung, daß das Flag-Rücksetzmittel alle Flags zurücksetzt, die in der Tag-Kopiereinheit 5 bei einer Ausgabe eines vorbestimmten Prozeßbefehls gesetzt sind.
  • Das Prozeßbefehlsausgabemittel 8 enthält einen Zähler, welcher die Anzahl von aus der Datenverarbeitungseinheit 2 auszugebenden Antworten als Nicht-Antwort-Anzahl gemäß dem vorbestimmten Prozeßbefehl zur selben Zeit setzt, wenn ein vorbestimmter Prozeßbefehl an die Pufferspeichereinheit 7 ausgegeben wird, und ein Subtraktionsmittel, welches Eins von der Nicht-Antwort-Anzahl in dem Zähler jedesmal abzieht, wenn die Datenverarbeitungseinheit 2 einen Prozeßvervollständigungsbericht als Antwort auf einen vorbestimmten Prozeßbefehl empfängt. Der nächste Prozeß der Prozeßanfrage kann zu-der Zeit begonnen werden, wenn der Zähler eine Nicht-Antwort-Anzahl von Null zählt.
  • Gemäß dem ersten und dem zweiten Gesichtspunkt der Erfindung gibt die Speichersteuerungseinheit 13 eine vorbestimmte Anfrage an die Pufferspeichereinheit 7 innerhalb der Datenverarbeitungseinheit 2, während sie auf die Tag-Kopiereinheit 5 gemäß der in dem Port 6 gehaltenen Prozeßanfrage Bezug nimmt, wodurch der Datenhaltezustand der Pufferspeichereinheit 7 auf einer Store-in-Basis gesteuert wird. Ein vorbestimmter Prozeßbefehl, welcher an die Puf ferspeichereinheit 7 zu senden ist, wird an die Datenverarbeitungseinheit 2 ausgegeben, während ein Flag auf das Bit 9 in der Tag-Kopiereinheit 5 gesetzt wird, welches einem Abschnitt in der Tag-Kopiereinheit 5, dem zu verarbeitenden Abschnitt unter dem vorbestimmten Prozessbefehl, den Zustand einer Prozeßanfrage zeigt. Somit existiert Information darüber, ob ein Block mit einer Prozeßanfrage in der Blockspeichereinheit 7 existiert, und es kann gleichzeitig darüber Information erhalten werden, ob der Block nun in einer Prozeßanfrage ist, indem die Tag-Kopiereinheit 5 rückgeladen wird. Daher kann die Adressenvergleichseinheit aufgrund eines fehlenden Adressenvergleiches fortgelassen werden.
  • Die Pufferspeichereinheit 7, welche mehrere auf einer teilassoziativen Basis verwalteten Wege hat, setzt auf jedem Weg ein Flag in der Tag-Kopiereinheit 5, so daß auf jedem Weg verwaltet werden kann, ob ein Prozeß erforderlich ist.
  • Da der Port 6 die Prozeßanfrage nicht bis zu einer Antwortvervollständigung halten muß, wird weiterhin eine vorbestimmte Prozeßanfrage an die Pufferspeichereinheit 7 über die Datenverarbeitungseinheit 2 ausgegeben, während die Portfreigabeeinheit den Port 6 freigeben kann, welcher eine Prozeßanfrage hält, die eine Ausgabe des vorbestimmten Befehls verursacht.
  • Wenn das Flag-Rücksetzmittel einen Prozeßvervollständigungsbericht von der Datenverarbeitungseinheit 2 als Antwort auf einen vorbestimmten Prozeßbefehl erhält, setzt es den Flag der Tag-Kopiereinheit 5 entsprechend dem Prozeßvervollständigungsbericht zurück. Das Prozeßbefehlsausgabemittel 8 gibt einen vorbestimmten Prozeßbefehl an die Pufferspeichereinheit 7 unter der Bedingung aus, daß alle Flags in dem Abschnitt entsprechend dem vorbestimmten Prozeßbefehl in der Tag-Kopiereinheit 5 in einem rückgesetzten Zustand sind. Der nächste Prozeß der Prozeßanfrage beginnt unter der Bedingung, daß das Flag-Rücksetzmittel alle in der Tag-Kopiereinheit 5 zu einer Ausgabezeit der vorbestimmten Prozeßanfrage als Antwort auf einen Prozeßvervollständigungsbericht zurückgesetzt hat.
  • Darüber hinaus setzt ein Zähler die Anzahl von Antworten als Nicht-Antwort-Anzahl, welche von der Datenverarbeitungseinheit 2 als Antwort auf einen vorbestimmten Prozeßbefehl zu derselben Zeit zu senden sind, wenn das Prozeßbefehlsausgabemittel ein vorbestimmtes Prozeßkommando an die Pufferspeichereinheit 7 ausgibt. Das Subtraktionsmittel subtrahiert von der Nicht-Antwort-Anzahl, welche von dem Zähler jedesmal gezählt wird, wenn das Prozeßbefehlsausgabemittel eine Prozeßanfrage als Antwort auf eine vorbestimmte Prozeßanfrage erhält. Wenn die Nicht-Antwort- Anzahl Null erreicht, führt das Prozeßbefehlsausgabemittel eine Steuerung durch, um den nächsten Prozeß der Prozeßanfrage zu beginnen. Daher kann der nächste Prozeß sofort entsprechend dem Zustand der Antwort von der Datenverarbeitungseinheit 2 begonnen werden.
  • Gemäß dem Speichersteuerungsverfahren oder der Speichersteuerungsvorrichtung gemäß der vorliegenden Erfindung können sowohl die Anwesenheit als auch die Abwesenheit einer Prozeßanfrageadresse mit einem Block in der Pufferspeichereinheit 7 als auch der aktuelle Prozeßzustand eines Blockes erfaßt werden, da ein Flag in der Tag-Kopiereinheit 7 gesetzt werden kann, welches einen Zustand unter einer Prozessanfrage anzeigt, indem nur die Tag-Kopiereinheit 5 rückgeladen wird. Daher besteht darin ein Vorteil, daß der Adressenvergleich fortgelassen werden kann, wodurch die Systemkonstruktionskosten verringert werden können, Gemäß dem Speichersteuerungsverfahren oder der Speichersteuerungsvorrichtung wird eine vorbestimmte Prozeßanfrage, welche zur Pufferspeichereinheit 7 zu senden ist, an die Datenverarbeitungseinheit 2 ausgegeben, während der Port, der die Prozeßanfrage hält, welche den vorbestimmten Prozeßbefehl verursacht, freigegeben werden kann. Daher wird die Adressenhalteoperation nicht benötigt bis die Datenverarbeitungseinheit 2 die Antwortoperation vervollständigt. Daher kann die verbesserte Effizienz der Portnutzung den Durchsatz erhöhen, ohne daß die Anzahl der Ports erhöht würde. Folglich besteht ein Vorteil darin, daß die Menge an Hardware verringert werden kann, so daß die Systemkonstruktionskosten stark verringert werden können. Gemäß dem Speichersteuerungsverfahren oder der Speichersteuerungsvorrichtung kann weiterhin der nächste Prozeß entsprechend dem Antwortzustand auf eine Prozeßanfrage begonnen werden, wodurch der Durchsatz in vorteilhafter Weise verwirklicht werden kann.
  • Fig. 2 ist ein Blockdiagramm, welches einen Gesichtspunkt darstellt, der in der Teilanmeldung EP-A-903669 beansprucht wird. Es wird auf Fig. 2 Bezug genommen; das Informationsverarbeitungssystem enthält eine Speichereinheit 11 zum Speichern von Daten, wenigstens eine Datenverarbeitungseinheit 2, welche gemäß den Daten von der Speichereinheit 11 arbeitet, eine Eingabe/Ausgabe- Steuerungseinheit 15, welche eine Speicheranfrage an die Speichereinheit 11 zusammen mit einem Speicherschutz- Überprüfungsbefehl ausgibt, und eine Speichersteuerungseinheit 14.
  • Jede Datenverarbeitungseinheit 12 enthält eine Pufferspeichereinheit 18, welche aus einer Datenregion 16 besteht, die einen in der Speichereinheit 11 gespeicherten Datengegenstand hält, und eine Tag-Region 17, welche Tag- Information mit der Adresse der in der Datenregion 16 gehaltenen Daten hält.
  • Die Speichersteuerungseinheit 14 enthält eine Tag-Kopiereinheit 19 und einen Port 20 sowie ein Speicherschutz-Entscheidungsmittel 21.
  • Die Tag-Kopiereinheit 19 hält einen Teil oder alle der Kopien der Tag-Region 17, welche in der Pufferspeichereinheit 18 angeordnet ist. Der Port 20 hält eine Prozeßanfrage, welche von der Datenverarbeitungseinheit 12 oder der Eingabe/Ausgabe-Steuerungseinheit 15 ausgegeben wird. Das Speicherschutz-Entscheidungsmittel 21 führt eine Speicherschutz-Überprüfungsoperation aus, wenn es eine Speicheranfrage erhält, die mit einem Speicherschutz- Überprüfungsbefehl von der Eingabe/Ausgabe- Steuerungseinheit 15 an die Speichereinheit 11 assoziiert ist. Die Speichersteuerungseinheit 14 gibt eine vorbestimmte Prozeßanfrage an die Datenverarbeitungseinheit 12 aus, die an die Pufferspeichereinheit 18 gesendet ist, basierend auf dem Vergleichsergebnis von der Tag-Kopiereinheit 18 als Antwort auf die in dem Port 20 gehaltene Prozeßanfrage. Die Speichersteuerungseinheit 14 steuert die Datenübertragung zwischen der Speichereinheit 11 und der Pufferspeichersteuerungseinheit 18 auf einer Store-in-Basis und gestattet, daß eine Speicheranfrage von der Eingabe/Ausgabe-Steuerungseinheit 15 an die Speichereinheit 11 übertragen wird, gemäß dem Ergebnis der Speicherschutzüberprüfung von dem Speicherschutz-Entscheidungsmittel 20. Wie in der Teilanmeldung EP-A-903669 beansprucht ist, führt die Tag-Kopiereinheit 19 einen Referenzprozeß aus, wenn die Eingabe/Ausgabe-Steuerungseinheit 15 eine Speicheranfrage ausgibt, assoziiert mit einer Speicherschutzüberprüfung, die an die Speichereinheit 11 an die Speichersteuerungseinheit 14 zu senden ist, gleichzeitig mit der Speicherschutz-Überprüfungsoperation der Speicherschutz-Entscheidungseinheit 21.
  • Die Speichersteuerungseinheit 14 gibt einen vorbestimmten Prozeßbefehl an die Pufferspeichereinheit 18 aus, welche in der Datenverarbeitungseinheit 12 angeordnet ist, basierend auf dem Referenzergebnis von der Tag- Kopiereinheit 19 als Antwort auf die in dem Port 20 gehaltene Prozeßanfrage. Die Speichersteuerungseinheit 14 steuert ebenfalls den Datenhaltezustand der Pufferspeichereinheit 18 auf einer Store-in-Basis und entscheidet, ob eine Speicheranfrage von dem Eingabe/Ausgabe-Entscheidungsmittel 21 an die Speichereinheit 11 ausgegeben wird, basierend auf dem Ergebnis der Speicherschutz-Überprüfungsoperation von dem Speicherschutz-Entscheidungsmittel 21.
  • Wenn die Eingabe/Ausgabe-Steuerungseinheit 15 eine Speicheranfrage ausgibt, die an die Speichereinheit 11 an die Speichersteuerungseinheit 14 zu senden ist, wobei die Speicheranfrage mit einem Speicherschutzüberprüfungsbefehl assoziiert ist, wird der Referenzprozeß der Tag-Kopiereinheit 19 gleichzeitig mit der Speicherschutz-Überprüfungsoperation des Speicherschutz- Entscheidungsmittels 21 ausgeführt. Daher kann die Prozeß Zeit, während welcher die Speicherschutzüberprüfung einen Zugriff befürwortet (eine Speicheranfrage) verkürzt werden. Gemäß dem Speichersteuerungsverfahren wird, wenn die Eingabe/Ausgabe-Steuerungseinheit 15 eine Speicheranfrage an die Speichereinheit 11 zusammen mit einer Speicherschutz-Überprüfungsanfrage ausgibt, der Referenzprozeß dex Tag-Kopiereinheit 19 auf die Steuerungsanfrage gleichzeitig mit der Speicherschutz-Überprüfungsoperation des Speicherschutz-Entscheidungsmittels 21 ausgeführt. Wenn somit die Speicherschutz-Überprüfungsoperation einen Zugriff nicht verhindert, ein Treffer oder ein Fehltreffer in der Speicherkopiereinheit 19 gefunden wird, kann die Speichereinheit 11 eine Speicheroperation mit hoher Geschwindigkeit ausführen, wodurch die Nutzungseffizienz des Port verbessert werden kann. Daher besteht ein Vorteil darin, daß der oben erwähnte Vorgang stark zu einem verbesserten Systemdurchsatz beiträgt.
  • (b) Erläuterung der ersten Ausführungsform:
  • Eine Ausführungsform der vorliegenden Erfindung wird unten mit Bezug auf die beigefügten Zeichnungen erläutert. Fig. 3 ist ein Blockdiagramm, welches die erste Ausführungsform gemäß der vorliegenden Erfindung zeigt. Es wird auf Fig. 3 Bezug genommen; das Informationsverarbeitungssystem enthält eine Hauptspeichereinheit 101 ("main storage unit" (MSU)), zwei Datenverarbeitungseinheiten 106 und 107 ("central processing units" (CPUs)) und eine Eingabe/Ausgabe-Steuerungseinheit 104 ("input/output control unit" (IOP)). Die obigen Elemente haben ähnliche Funktionen wie die in Fig. 12 gezeigten entsprechenden Elemente.
  • Die Hauptspeichereinheit 101 speichert Daten. Die Datenverarbeitungseinheiten 106 und 107 können gleichzeitig einen parallelen Datenbetriebsprozeß ausführen. Die Datenverarbeitungseinheit 106 enthält eine Datenregion, welche einen Datengegenstand hält, der in der Hauptspeichereinheit 101 gespeichert ist, und eine Tag-Region 109, welche Tag- Information hält, wobei Tag-Information mit der Adresse von Daten gehalten wird, die in der Datenregion 108 gehalten werden. Die Datenverarbeitungseinheit 107 enthält eine Datenregion, welche einen Datengegenstand hält, der in der Hauptspeichereinheit 101 gehalten wird, und eine Tag-Region 111, welche Tag-Information hält, wobei Tag-Information mit der Adresse von Daten gehalten wird, welche in der Datenregion 110 gehalten werden.
  • Die Pufferspeichereinheit 106 in der Datenverarbeitungseinheit 102 wird beispielsweise auf einer 4-Wegteilassoziativen Basis verwaltet. Die Pufferspeichereinheit 107 in der Datenverarbeitungseinheit 103 wird beispielsweise auf einer 4-Weg-setzassoziativen Basis verwaltet.
  • Weiterhin gibt die Eingabe/Ausgabe- Steuerungseinheit 104 eine Prozeßanfrage (Prozeßbefehl) aus, welche an die externen Verarbeitungseinheiten 102 und 103 zur Speichersteuerungseinheit 31 auszugeben ist (was später zu beschreiben ist).
  • Das Bezugszeichen 31 repräsentiert eine Speichersteuerungseinheit (MCU), welche die Datenübertragung zwischen der Hauptspeichereinheit 101 und den Pufferspeichereinheiten 106 oder 107 auf einer Store-in-Basis steuert. Wie die in Fig. 13 gezeigte Speichersteuerungseinheit 105, enthält die Speichersteuerungseinheit 31 Annahmeports 112 und 114 und eine Prioritätsschaltung 115.
  • Der Annahmeport 112 speichert eine externe Prozeßbefehlseingabe von der Datenverarbeitungseinheit 102.
  • Der Annahmeport 113 speichert eine externe Prozeßbefehlseingabe von der Datenverarbeitungseinheit 103. Der Annahmeport 114 speichert eine externe Prozeßbefehlseingabe von der Eingabe/Ausgabe-Steuerungseinheit 104. Die Prioritätsschaltung 115 gibt selektiv beliebige Verarbeitungsbefehle von den Annahmeports 112 bis 114 aus.
  • Das Bezugszeichen 32 repräsentiert eine zweite Tag-Region. Die zweiten Tag-Regionen (Tag-Kopiereinheiten) 32 halten eine Kopie eines Teils oder die gesamte Tag- Region 109 in der Pufferspeichereinheit 106 bzw. eine Kopie eines Teils oder der gesamten Tag-Region 111 in der Pufferspeichereinheit 107.
  • Wenn zum Beispiel die Pufferspeichereinheiten 106 und 107 4 Wege enthalten, welche auf einer teilassoziativen Basis verwaltet werden, werden Flag-Setzbits (siehe Bezugszeichen 41 in den Fig. 4 und 5) jeweils in vier Wegen in der zweiten Tag-Region 32 angeordnet.
  • Das Bezugszeichen 33 repräsentiert ein Befehlsausgabemittel (oder Prozeßbefehlsausgabemittel). Das Befehlsausgabemittel 33 nimmt Bezug auf die zweite Tag- Region 32 als Antwort auf das Berichtssignal des Tag- Rückladeergebnisses 32-1 gemäß einem in jedem Annahmeport 112 bis 114 gehaltenen Prozeßbefehl, wobei dann ein vorbestimmter Prozeßbefehl 33-1 ausgegeben wird, um jeweils an die Pufferspeichereinheiten 106 und 107 zu den Datenverarbeitungseinheiten 102 und 103 gesendet zu werden.
  • Wie in den Fig. 4 und. 5 gezeigt ist wird ein Bit 41, welches anzeigt, dass man sich unter einer Prozeßanfrage zu den Pufferspeichereinheiten 106 und 107 befindet, auf jede der Eingaben in die zweite Tag-Region 32 gesetzt (auf "1" zu einer Flag-Setzzeit).
  • Die Befehlsausgabeeinheit 33 enthält ebenso eine Flag-Setzfunktionseinheit (Flag-Setzmittel) 33A, welche eine Prozeßanfrage an die Pufferspeichereinheit 106 oder 107 zu den entsprechenden Datenverarbeitungseinheiten 102 oder 103 ausgibt, während sie ein Flag-Setzsteuerungssignal 33-2 an die zweite Tag-Region 32 ausgibt, wobei ein Flag "1", welches anzeigt, daß man sich unter einer Prozeßanfrage befindet, auf das Bit 41 des interessierenden Abschnittes (Eingabe) in der zweiten Tag-Region 32 gesetzt wird.
  • Die Befehlsausgabeeinheit 33 enthält eine Portfreigabeeinheit (POrtfreigabemittel) 33B, welche das Portrücksetzsignal 33-3 ausgibt, zusammen mit dem Flag- Setzsteuerungssignal 33-2, womit einer der Ports 112 bis 114 freigegeben wird, welcher einen Prozeßbefehl hält. Wie in Fig. 5 gezeigt ist, enthält die Eingabe von jeder der zweiten Tag-Regionen 32 einen zu vergleichenden Vergleichsadressenabschnitt 42 und Steuerungsbit 43, wie etwa gültig ("valid") und ausschließlich ("exclusive"), zusätzlich zum Flag 41.
  • Das Bezugszeichen 37 repräsentiert eine Antwortschaltung (Flag-Rücksetzmittel). Wenn die Antwortschaltung 37 die Antwort 102-1 von der Datenverarbeitungseinheit 102 und die Antwort 103-1 von der Datenverarbeitungseinheit 103 gemäß dem Prozeßbefehl erhält, welcher bereits in der Befehlsausgabeeinheit 33 verarbeitet wurde, gibt sie ein Flag-Rücksetzmittel 37-1 an die zweite Flag-Einheit 32 aus. Somit wird das Flag des interessierenden Weges zurückgesetzt, während der Prozeßvervollständigungsbericht 37-2 an die Zählersubtraktionsschaltung 38 ausgegeben wird (welche später beschrieben wird).
  • Die Befehlsausgabeeinheit 33 gibt die Pufferspeichereinheit 106 oder 107 unter der Bedingung an die entsprechende Datenverarbeitungseinheit 102 oder 103 aus, daß alle Flags der dem vorbestimmten Prozeßbefehl entsprechenden Abschnitte in der zweiten Tag-Region 32 zurückgesetzt wurden.
  • Die Speichersteuerungseinheit 31 beginnt den nächsten Prozeß einer Prozeßanfrage unter der Bedingung, daß die Antwortverarbeitungsschaltung 37 alle Flags zurückgesetzt hat, welche in der zweiten Tag-Region 32 gesetzt wurden, als der vorhergehende Prozeßbefehl ausgegeben wurde.
  • Das Bezugszeichen 35 repräsentiert einen Antwortwartesteuerungsport (BCP). Der Antwortwartesteuerungsport 35 enthält einen Zähler 36, welcher die Anzahl von Antworten als Nicht-Antwort-Anzahl setzt, welche von der Datenverarbeitungseinheit 102 oder 103 oder einer Prozeßbefehlsausgabequelle entsprechend einem Prozeßbefehl auszugeben sind.
  • Das Bezugszeichen 38 repräsentiert eine Zählersubtraktionsschaltung (Subtraktionsmittel). Die Zählersubtraktionsschaltung 38 gibt ein Signal 38-1 an den Antwortwartesteuerungsport 35 jedesmal aus, wenn der Prozeßvervollständigungsbericht 37-2 als Antwortsignal von der Datenverarbeitungseinheit 102 oder 103 von der Antwortverarbeitungsschaltung 37 empfangen wurde, wodurch die Anzahl der Antworten subtrahiert wird, welche nicht von dem Zähler 36 gezählt wurden.
  • Der Betrieb der obigen Konfiguration gemäß der ersten Ausführungsform der vorliegenden Erfindung wird unten mit Bezug auf das Flußdiagramm, welches in Fig. 6 ge zeigt ist, und das Zeitdiagramm, welches in Fig. 7 gezeigt ist, beschrieben.
  • Wenn die Datenverarbeitungseinheit 102 beispielsweise einen Prozeßbefehl 102-2 (siehe Fig. 3) ausgibt (siehe Schritt C1 in Fig. 6 und die Dauer t11 in Fig. 7), speichert die Speichersteuerungseinheit 31 den Prozeßbefehl 102-2 in dem Annahmeport 112 (siehe Schritt C2 in Fig. 6 und die Dauer t12 in Fig. 7).
  • Wenn die Prioritätsschaltung 115 eine Prozeßanfrage 102-2 auswählt (siehe JA-Pfad in Schritt C3 in Fig. 6 und die Dauer t13 in Fig. 7), lädt sie die zweite Tag- Region 32 unter Verwendung der Adresse zurück, die dem Prozeßbefehl entspricht (siehe Schritt C4 in Fig. 6 und die Dauer t14 in Fig. 7), um die Befehlsausgabeeinheit 33 des Rückladeergebnisses als Berichtssignal für das Tag- Rückladeergebnis 32-1 zu berichten.
  • Das Berichtssignal für das Tag-Rückladeergebnis 32-1 enthält ein Signal, welches zeigt, ob eine Prozeßbefehlsadresse mit einem Block in den Pufferspeichereinheiten 106 und 107 existiert, sowie ein Signal, welches anzeigt, ob sich ein Blockspeicherweg in einem Prozeßanfragewartezustand befindet (ein Signal entsprechend dem in Bit 41 gesetzten Flag).
  • Wenn sich die Prozeßbefehlsadresse mit einem Block nicht in den Pufferspeichereinheiten 106 und 107 befindet, wird eine Leseanfrage an die Hauptspeichereinheit 101 ausgegeben (oder von dem NEIN-Pfad in Schritt C5 zu dem Schritt C13 in Fig. 6), so daß der Annahmeport 112 freigegeben wird (in Schritt C14 in Fig. 6). Daraufhin wird der nächste Prozeß der Prozeßantwortwarteanfrage begonnen (Schritt C12 in Fig. 5)
  • Mit einer Prozeßbefehlsadresse mit einem Block, welcher in der Pufferspeichereinheit 106 oder 107 gespeichert ist (siehe JA-Pfad von Schritt C5 in Fig. 6) und einem Antwortwarteflag in Bit 41 im EIN-Zustand, wo sich die dem Prozeßbefehl entsprechende Adresse in einem Prozeßanfragewartezustand befindet, wird kein Befehl ausgegeben, so daß der Prozeßbefehl gestrichen wird. Da das Portrücksetzsignal 33-3 nicht ausgegeben wird, wird der Inhalt des Port 112 nicht zurückgesetzt. Wenn daher die Prioritätsschaltung 115 wiederum den Prozeßbefehl auswählt, befindet sich der Annahmeport 112 in einer Warteschlange (Schritt C15 in Fig. 6).
  • Wenn eine Prozeßbefehlsadresse mit einem Block in der Pufferspeichereinheit 101 oder 107 vorliegt, ein Antwortwarteflag 41 in einem AUS-Zustand ist und die Adresse entsprechend dem Prozeßbefehl nicht in einem Prozeßanfragewartezustand ist (NEIN-Pfad von Schritt C6 in Fig. 6), wählt die Befehlsausgabeeinheit 33 die entsprechende Pufferspeichereinheit 106 oder 107, um den Befehl 33-1 auszugeben (siehe die Dauer t15 in Fig. 7). Zur selben Zeit gibt die Flag-Setzeinheit 33A innerhalb der Befehlsausgabeeinheit 33 das Flag-Setzsteuerungssignal 33-2 aus, um ein Flag auf "1" setzen, wodurch gezeigt wird, daß man sich unter einer Prozeßanfrage befindet, auf das Bit 41 eines interessierenden Abschnittes in der zweiten Tag-Region 32. Die Portfreigabeeinheit 33B innerhalb der Befehlsausgabeeinheit 33 gibt das Portrücksetzsignal 33-3 aus, um den Port 112, welcher die Prozeßanfrage hält, freizugeben, womit die Anzahl ausgegebener Befehle im Zähler 36 innerhalb des Antwortwartesteuerungsport 35 gesetzt wird, um die Befehlsanzahlinformation im Wartesteuerungsport 35 zu setzen (Schritt C7 in Fig. 6). Der freigegebene Annahmeport 112 kann eine neue Anfrage annehmen.
  • Wenn daraufhin die Speichersteuerungseinheit 31 die Antworten 102-1 und 103-1 bezüglich eines Befehls erhält (JA-Pfad von Schritt C8 in Fig. 6), entscheidet die Antwortverarbeitungsschaltung 37, daß die Antwort von der Datenverarbeitungseinheit 102 oder 103 stammt, um das Flag- Rücksetzsignal 37-1 auf die zweite Tag-Region 32 zu setzen, womit ein Flag eines interessierenden Weges zurückgesetzt wird (in Schritt C9 in Fig. 6), während sie den Prozeßvervollständigungsbericht 37-2 als Zählersubtraktionsbefehl an die Zählersubtraktionsschaltung 38 ausgibt. Die Zählersubtraktionsschaltung 38 subtrahiert den Zählwert des Zählers 36 (siehe Bezugsziffer 38-1 in Fig. 3 und Schritt C10 in Fig. 6).
  • Wenn der Zähler 36 "0" zählt (siehe JA-Pfad in Schritt C11 in Fig. 6 und die Dauer t16 in Fig. 7) zeigt dies die Antworten auf alle Befehle an, welche auf einen Prozeßbefehl ausgegeben wurden. Daraufhin geht der Fluß zu Schritt C12, um den Prozeß gemäß dem Inhalt fortzusetzen, welcher in dem Antwortwartesteuerungsport 35 gehalten wird.
  • Gemäß der ersten Ausführungsform der vorliegenden Erfindung kann die Flag-Setzeinheit 33A ein Flag auf das Bit 41 in der zweiten Tag-Region 32 setzen, welches eine Prozeßanfrage anzeigt. Ob in den Pufferspeichereinheiten 106 oder 107 eine Prozeßanfrageadresse mit einem Block existiert und ob der Block nun verarbeitet wird, kann gleichzeitig durch das Rückladen der zweiten Tag-Einheit 32 erkannt werden, wodurch eine ausschließliche Adressenvergleichsschaltung nicht benötigt wird. Daher besteht ein Vorteil darin, daß die Systemkonstruktionskosten verringert werden können.
  • Eine vorbestimmte Prozeßanfrage an die Pufferspeichereinheit 106 oder 107 wird an die Datenverarbeitungseinheit 102 oder 103 ausgegeben, während die Portfreigabeeinheit 33B den Port 114 freigeben kann, welcher eine Prozeßanfrage hält, die den vorbestimmten Prozeßbefehl verursacht. Es ist nicht nötig, die Adresse zu halten, bis die Datenverarbeitungseinheit 102 und 103 Antworten ausgibt. Daher kann die Nutzungseffizienz der Annahmeports 112 bis 114 verbessert werden. Der verbesserte Durchsatz kann verwirklicht werden, ohne die Anzahl der Ports zu erhöhen. Daher besteht ein Vorteil darin, daß die Menge an Hardware als auch die Systemkonstruktionskosten stark vermindert werden können.
  • Der nächste Prozeß der Prozeßanfrage kann entsprechend dem Antwortzustand auf eine Prozeßanfrage begonnen werden. Daher kann der stark vergrößerte Durchsatz verwirklicht werden.
  • Gemäß der vorliegenden Ausführungsform werden zwei Datenverarbeitungseinheiten und die Pufferspeichereinheit mit vier Wegen verwendet. Jedoch sollten gemäß der vorliegenden Erfindung die Datenverarbeitungseinheiten und die Anzahl von Wegen der Pufferspeichereinheit jeweils nicht auf eine beschränkte Anzahl begrenzt werden. Die Datenverarbeitungseinheiten und die Pufferspeichereinheit können jeweils in einer erwünschten Anzahl angewendet werden.
  • (c) Erläuterung der zweiten Ausführungsform:
  • Fig. 8 ist ein Blockdiagramm, welches die zweite Ausführungsform gemäß der vorliegenden Erfindung zeigt. Es wird auf Fig. 8 Bezug genommen; das Informationsverarbeitungssystem enthält zwei Datenverarbeitungseinheiten (CPUs) 102 und 103, eine Eingabe/Ausgabe-Steuerungseinheit (IOP) 104, eine Speichersteuerungseinheit (MCU) 51 und eine Hauptspeichereinheit (MSU) 101. Eine Speicherschutzüberprüfung (bei der eine Speicheranfrage an die Dateneinheit vorgenommen wird, welche kleiner ist als die minimale Herausbewegungseinheit der Pufferspeichereinheit 106 oder 107 (im Folgenden wird die Prozeßanfrage als Anfrage A bezeichnet)) kann zu einer Speicheranfrage mit einer Speicherschutzüberprüfung ausgeführt werden, welche von der Eingabe/Ausgabe- Steuerungseinheit 104 an die Hauptspeichereinheit 101 über die Speichersteuerungseinheit 51 ausgegeben wird.
  • Die Hauptspeichereinheit 101 und die zwei Datenverarbeitungseinheiten 102 und 103 sowie die Eingabe/Ausgabe-Steuerungseinheit 104 haben Funktionen, welche in ihrer Art jenen der ersten Ausführungsform ähneln. Die Datenverarbeitungseinheit 102 enthält eine Pufferspeichereinheit 106, welche aus der Datenregion 108 und der Tag-Region 109 besteht. Die Datenverarbeitungseinheit 103 enthält eine Pufferspeichereinheit 107, welche die Datenregion 110 und die Tag-Region 111 enthält.
  • In der Speichersteuerungseinheit 51 hält die zweite Tag-Region (Tag-Kopiereinheit) 52 einen Teil oder die Gesamtheit einer Kopie der Tag-Region 109 in der Pufferspeichereinheit 106 und einen Teil oder die Gesamtheit einer Kopie der Tag-Region 111 in der Pufferspeichereinheit 107. Die zweite Tag-Region 52-1 hält eine Kopie der Tag- Region 109 und die zweite Tag-Region 52-2 hält eine Kopie der Tag-Region 111.
  • Das Bezugszeichen 53 repräsentiert eine Speicherschutz-Schlüsselspeichereinheit (KSU). Die Speicherschutz- Schlüsselspeichereinheit 53 speichert Daten, welche zum Ausführen einer Speicherschutzüberprüfung als Antwort auf eine Prozeßanfrage von der Eingabe/Ausgabe-Einheit 104 ausgeführt wird.
  • Gemäß der vorliegenden Ausführungsform hat die Speichersteuerungseinheit 51 die in Fig. 9 gezeigte detaillierte Konfiguration. Die Speichersteuerungseinheit 51 enthält die oben beschriebene zweite Tag-Region 52, die oben beschriebene Speicherschutz-Schlüsselspeichereinheit 53, Annahmeports 112 bis 114, welche in ihrer Funktion jenen in der Speichersteuerungseinheit 205 in Fig. 15 gleichen, eine Prioritätsschaltung 115, eine Warteschlange 216 und eine Prioritätsschaltung 217. Ein vorbestimmter Prozeßbefehl, wie etwa ein an die Pufferspeichereinheit 106 zu sendender Herausbewegungsbefehl, wird an die Datenverarbeitungseinheit 102 zusammen mit der assoziierten Befehlszahl ausgegeben, gemäß den jeweiligen Prozeßanfragen, welche in den Annahmeports 112 bis 114 gehalten werden, und basierend auf dem Referenzergebnis von der zweiten Tag-Region 52. Ein vorbestimmter Prozeßbefehl, wie etwa ein an die Pufferspeichereinheit 107 zu sendender Herausbewegungsbefehl, wird an die Datenverarbeitungseinheit 103 zusammen mit der assoziierten Befehlsanzahl ausgegeben, gemäß der jeweiligen Prozeßanfragen, welche in den Annahmeports 112 bis 114 gehalten werden, und basierend auf dem Referenzergebnis von der zweiten Tag-Region 52. Zusätzlich, wie später mit Bezug auf die Fig. 10 und 11 beschrieben wird, kann, wenn die Anfrage A von der Eingabe/Ausgabe-Steuerungseinheit 104 von dem Annahmeport 114 gehalten wird und dann durch die Prioritäts schaltung 115 ausgewählt wird, der Rückladeprozeß (Referenzprozeß) der zweiten Tag-Region 52 gleichzeitig mit der Speicherschutzüberprüfung der Speicherschutz- Überprüfungsschaltung 54 ausgeführt werden, womit der Annahmeport 114 freigegeben wird. Die Adresse und der Schlüsselüberprüfungsschlüssel in dem Datenblock, welche der Anfrage A zu unterwerfen sind, bewegen sich zusammen mit einem von der Speichersteuerungseinheit 51 ausgegebenen Befehl oder einer Antwort, welche von der dem Befehl entsprechenden Datenverarbeitungseinheit 102 oder 103 ausgegeben wurde.
  • Die Speichersteuerungseinheit 51 enthält ebenso die Speicherschutz-Überprüfungsschaltung (KCHK) 54 oder Speicherschutz-Entscheidungsmittel sowie die Speicherschutz-Überprüfungsinformationshalteeinheit 56.
  • Um eine Speicherschutz-Überprüfungsoperation auszuführen, vergleicht die Speicherschutz- Überprüfungsschaltung 54 den Schlüssel entsprechend der Adresse der Nachfrage A, welche durch Zugriff der Speicherschutz-Schlüsselspeichereinheit 53 mit dem mit der Anfrage A assoziierten Schlüsselüberprüfungsschlüssel erhalten wird, wodurch überprüft wird, ob auf die angefragte Adresse zugegriffen werden kann.
  • Die Speicherschutz- Überprüfungsinformationshalteeinheit 56 hält Information, welche zeigt, ob eine eine Anfrage verursachende Befehlsausgabe von einer Speicherschutzüberprüfung begleitet ist (oder die Anwesenheit oder Abwesenheit der Anfrage A zeigt), in der Reihenfolge der Befehlszahl eines von der Speichersteuerungseinheit 51 angebrachten Befehls. Wenn der Annahmeport 112 oder 113 eine Antwort entsprechend dem Be fehl ausgibt, nimmt die Speicherschutz- Überprüfungsinformationshalteeinheit 56 Bezug auf die an der Antwort angebrachte Befehlszahl. Wenn gesichert ist, daß die Antwort auf die mit der Speicherschutzüberprüfung assoziierte Anfrage A gegeben wurde, liest die Speicherschutz-Überprüfungsschaltung 54 einen Schlüssel und greift auf diesen zu, entsprechend der mit der Antwortausgabe assoziierten Adresse der Speicherschutz- Schlüsselspeichereinheit 53, wobei daraufhin der ausgelesene Schlüssel mit dem Schlüsselüberprüfungsschlüssel verglichen wird, der mit der Antwort assoziiert ist, womit eine Speicherschutz-Überprüfungsoperation ausgeführt wird.
  • Die Information, welche anzeigt, ob eine Anfrage, welche eine Befehlsausgabe verursacht, mit einer Speicherschutzüberprüfung assoziiert ist, wird in der Reihenfolge der Befehlszahlen von der Speicherschutz- Überprüfungsinformationshalteeinheit 56 gehalten. Jedoch kann die Information mit dem Befehl oder der Antwort auf den Befehl assoziiert sein. In diesem Fall können die Befehlszahlsetzoperation und die Speicherschutz- Überprüfungsinformationshalteeinheit 56 fortgelassen werden.
  • In der Speichersteuerungseinheit 51, ähnlich wie bei dem Prozeß der Anfrage A, hält der Annahmeport 114 die Speicheranfrage, wenn die Eingabe/Ausgabe-Steuerungseinheit 104 eine Speicheranfrage an die Hauptspeichereinheit 101 ausgibt, welche mit einem Speicherschutz-Überprüfungsbefehl assoziiert ist.
  • Der Betrieb der obigen Konfiguration wird unten mit Bezug auf das in Fig. 10 gezeigte Flußdiagramm und das in Fig. 11 gezeigte Zeitdiagramm beschrieben.
  • Die Eingabe/Ausgabe-Steuerungseinheit 104 gibt beispielsweise die Anfrage A aus (siehe Schritt D1 in Fig. 10 und die Dauer u1 in Fig. 11), um den Annahmeport 114 in der Speichersteuerungseinheit 51 zu speichern (siehe Schritt D2 in Fig. 10 und die Dauer u2 in Fig. 11).
  • Wenn die Prioritätsschaltung 115 an der Prioritätsauswahl teilnimmt (siehe Schritt D3 in Fig. 10 und die Dauer u3 in Fig. 11) und daraufhin die Prozeßanfrage (Anfrage A) auswählt, welche von der Eingabe/Ausgabe- Steuerungseinheit 104 an die Speichersteuerungseinheit 51 ausgegeben wird, zusammen mit einer Speicherschutz- Überprüfungsoperation, wird der Annahmeport 114 freigegeben (Schritt D4 in Fig. 10). Mit dem durch die Prioritätsauswahl begonnen Fluß wird der Rückladeprozeß der zweiten Tag- Region 52 (siehe Schritt D5 in Fig. 10 und die Dauer u4 in Fig. 11) synchron zu einem Zugriff auf die Speicherschutz- Schlüsselspeichereinheit 53 ausgeführt (Schritt D6 in Fig. 10).
  • Die zweite Tag-Region 52 wird unmittelbar rückgeladen. Der Zugriff auf die Speicherschutz- Schlüsselspeichereinheit 53 benötigt eine relativ lange Verarbeitungszeit, im Vergleich zum Rückladeprozeß der zweiten Tag-Region 52.
  • Wenn die zweite Tag-Region 52 des mit der Anfrage A verwandten Zugriffes irrtümlich rückgeladen wird (NEIN- Pfad in Schritt D5 in Fig. 10), wird der Zugriff auf die Speicherschutz-Schlüsselspeichereinheit 53 gültig ("valid") (Schritt D8 in Fig. 10), so daß die Speicherschutz- Überprüfungsschaltung 54 eine Speicherschutzüberprüfung ausführt (Schritt D9 in Fig. 10).
  • Wenn die Speicherschutz-Überprüfungsschaltung 54 den Schlüsselüberprüfungsschlüssel, welcher mit der Anfrage A assoziiert ist, mit dem Schlüssel von der Speicherschutz- Schlüsselspeichereinheit 53 vergleicht und dann den zugreifbaren Zustand bestätigt (JA-Pfad in Schritt D9 in Fig. 10), speichert die Hauptspeichereinheit 101 die Speicherdaten von der Eingabe/Ausgabe-Steuerungseinheit 104 (in dem in Fig. 10 gezeigten Schritt D10). Wenn andererseits die Speicherschutz-tflberprüfungsschaltung 54 eine Speicherschutzüberprüfung ausführt und dann einen nicht zugreifbaren Zustand bestätigt (NEIN-Pfad in Schritt D9 in Fig. 10), wird die Anfrage A gestrichen (Schritt D11 in Fig. 10).
  • Wenn beim Rückladen der zweiten Tag-Region 52 die der Anfrage A verwandte Adresse gefunden wird (JA-Pfad in Schritt D7 in Fig. 10), ist dies so aufzufassen, daß ein Zugriff auf die Speicherschutz-Schlüsselspeichereinheit 53 ungültig ("invalid") ist (Schritt D8 in Fig. 10). Tatsächlich führt die Speicherschutz-Überprüfungsschaltung 54 eine Schlüsselüberprüfungsoperation gemäß dem Zugriffsergebnis von der Speicherschutz-Schlüsselspeichereinheit 53 aus (Schritt D9 in Fig. 10), wobei daraufhin der Zugriff durch Vernachlässigung des überprüfungsergebnisses ungültig gemacht wird.
  • Die Speichersteuerungseinheit 51 gibt einen Herausbewegungsbefehl an die Datenverarbeitungseinheit 102 oder 103, welche den spätesten Datenwert in der Adresse entsprechend der Anfrage A hat (siehe Schritt D12 in Fig. 10 und die Dauer u6 in Fig. 11). Eine Befehlszahl wird an dem Herausbewegungsbefehl angebracht, welcher an die Datenverarbeitungseinheit 102 oder 103 übertragen wird. Die Speicherschutz-Überprüfungsinformationshalteeinheit 56 hält die Instruktion, durch welche eine Speicherschutzüberprüfung bezüglich der Befehlszahl ausgeführt wird.
  • Wenn die Datenverarbeitungseinheit 102 oder 103 den Herausbewegungsbefehl empfängt, macht dieser die Tag- Region 109 oder 111 der entsprechenden Daten ungültig und gibt daraufhin die Antwort an die Speichersteuerungseinheit 51 aus, um die entsprechenden Daten herauszubewegen (Schritt D13 in Fig. 10 und die Dauer u7 in Fig. 11).
  • Wenn der Annahmeport 112 oder 113 in der Speichersteuerungseinheit 51 die Antwort hält (siehe die Dauer uß in Fig. 11) und die Prioritätsschaltung 115 dieselbe auswählt (siehe Schritt D14 in Fig. 10 und die Dauer u9 in Fig. 11), wird auf die Speicherschutz- Überprüfungsinformationshalteeinheit 56 Bezug genommen (siehe die Dauer u16 in Fig. 11), und es wird entschieden, ob sie angewiesen wird, die mit der Antwort assoziierte Befehlszahl einer Speicherschutzüberprüfung zu unterziehen. Wenn Anweisung für eine Speicherschutzüberprüfung gegeben wird, wird ein Zugriff auf die Speicherschutz- Schlüsselspeichereinheit 53 vorgenommen (siehe Schritt D16 in Fig. 10 und die Dauer u10 in Fig. 11), während ein Herausbewegungsdatenwert von der Datenverarbeitungseinheit 102 oder 103 in der Hauptspeichereinheit 101 über die Warteschlange 216 und die Prioritätsschaltung 217 gespeichert wird (siehe Schritt D15 in Fig. 10 und die Dauer u12 in Fig. 11).
  • Wenn die Speicherschutz-Überprüfungsschaltung 54 den mit einer Antwort assoziierten Schlüsselüberprüfungsschlüssel mit einem Schlüssel von der Speicherschutz- Schlüsselspeichereinheit 53 vergleicht (siehe die Dauer ull in Fig. 11), um einen Zugriff zu gestatten (JA-Pfad in Schritt D17 in Fig. 10), werden die Herausbewegungsdaten von der Datenverarbeitungseinheit 102 oder 103 in der Hauptspeichereinheit 101 im Schritt D15 gespeichert. Daraufhin werden die Speicherdaten von der Eingabe/Ausgabe- Steuerungseinheit 104 in der Hauptspeichereinheit 101 gespeichert (Schritt D18 in Fig. 10).
  • Wenn die Speicherschutzüberprüfung der Speicherschutz-Überprüfungsschaltung 54 zu keiner Zugriffserlaubnis führt (NEIN-Pfad in Schritt D17 in Fig. 10), werden die Herausbewegungsdaten von der Datenverarbeitungseinheit 102 oder 103 in der Hauptspeichereinheit 101 in Schritt D15 gespeichert, jedoch wird die Anfrage A gestrichen (Schritt D19 in Fig. 10).
  • Wenn entschieden wird, daß die Tag-Region 52 in Schritt D12 richtig zurückgeladen wurde, kann die Speicherschutz-Überprüfungsinformationshalteeinheit 56, welche der Befehlszahl entspricht, das Ergebnis des in Schritt D9 überprüften Speicherschutzes halten, ohne daß das überprüfungsergebnis der Speicherschutz-Überprüfungseinheit 54 umgültig gemacht würde. In diesem Fall kann die Schlüsselüberprüfung in Schritt D17 im zweiten Fluß fortgelassen werden. Daher kann das Schlüsselüberprüfungsergebnis schlicht durch Bezugnahme auf die mit einer Antwort assoziierte Befehlszahl erhalten werden, welche in der Speicherschutz-Überprüfungsinformationshalteeinheit 56 gehalten wird.
  • Gemäß der zweiten Ausführungsform wird, wenn die Eingabe/Ausgabe-Steuerungseinheit 104 eine Anfrage an die Speichersteuerungseinheit 51 eines Speicherprozesses an die Hauptspeichereinheit 101 vornimmt, zusammen mit einer Speicherschutz-Überprüfungsoperation, das Rückladen der zweiten Tag-Region 52 als Antwort auf die Speicheranfrage synchron mit dem Speicherschutz-Überprüfungsprozeß des Speicherschutz-Entscheidungsmittels in dem ersten Prozeßfluß ausgeführt. Wenn somit die Speicherschutzüberprüfung nicht gestattet ist, da ein Fehltreffer der zweiten Tag-Region 52 vorliegt, kann die Anfrage sofort gestrichen werden. Wenn die Speicherschutzüberprüfung aufgrund eines Fehltreffers der zweiten Tag-Region 52 gestattet ist, kann die Speicheranfrage von der Eingabe/Ausgabe-Steuerungseinheit 104 an die Hauptspeichereinheit 101 in demselben Prozeßfluß vorgenommen werden.
  • Wenn die zweite Tag-Region 52 ein Treffer ist, wird ein Herausbewegungsbefehl an die Datenverarbeitungseinheit 102 oder 103 ausgegeben, ohne daß auf das Ergebnis der Speicherschutzüberprüfung gewartet würde, so daß das Ergebnis der Speicherschutzüberprüfung ungültig gemacht wird. Somit wird der Speicherschutz-Überprüfungsprozeß in den Prozeßfluß als Antwort auf den Befehl wieder aufgenommen. Wenn die Speicherschutzüberprüfung in den Antwortfluß zu einer Zugriffserlaubnis führt, kann die Hauptspeichereinheit 101 die Herausbewegungsdaten von der Datenverarbeitungseinheit 102 oder 103 speichern und daraufhin Daten von der Eingabe/Ausgabe-Steuerungseinheit 104 speichern. In dem Fall, daß keine Zugriffserlaubnis vorliegt, speichert die Hauptspeichereinheit 101 die Herausbewegungsdaten von der Datenverarbeitungseinheit 102 oder 103, jedoch wird die Speicheranfrage gemäß der Anfrage A gestrichen.
  • Wenn die Speicherschutzüberprüfung einen Zugriff nicht behindert oder wenn bei der zweiten Tag-Region 52 ein Treffer oder ein Fehltreffer vorliegt, können Daten in der Hauptspeichereinheit 101 mit hoher Geschwindigkeit gespeichert werden. Daher kann die Verarbeitungsgeschwindigkeit bemerkenswert verbessert werden. Dieser große Effekt resultiert aus der Speicherschutzüberprüfung, welche den Zugriff selten behindert.
  • Darüber hinaus kann der Annahmeport 114, welcher in dem ersten Fluß freigegeben werden kann, die Nutzungseffizienz verbessern, womit ein großer Beitrag zu einem verbesserten Systemdurchsatz geleistet wird.
  • Die vorliegende Ausführungsform verwendet zwei Datenverarbeitungseinheiten.
  • Jedoch sollte die verwendete Anzahl von Datenverarbeitungseinheiten gemäß der vorliegenden Erfindung nicht auf einen speziellen Wert begrenzt, sondern vielmehr auf einen erwünschten Wert anwendbar sein.

Claims (12)

1. Speichersteuerungsverfahren, welches für ein Informationsverarbeitungssystem geeignet ist, mit einer Speichereinheit (1) einer oder mehreren Datenverarbeitungseinheiten (2), von denen jede basierend auf in der Speichereinheit (1) gespeicherten Daten arbeitet, einer Speichersteuerungseinheit (13), welche zum Steuern der Datenübertragung zwischen der Speichereinheit (1) und der Datenverarbeitungseinheit (2) betreibbar ist, und einer Pufferspeichereinheit (7), wobei die Pufferspeichereinheit (7) eine Datenregion (3) hat, welche einen in der Speichereinheit (1) gespeicherten Datengegenstand für jede Datenverarbeitungseinheit (2) hält, und eine Tag-Region (4), welche Tag-Information mit der Adresse der in der Dateneinheit (3) gespeicherten Daten hält; wobei die Speichersteuerungseinheit (13) eine Tag-Kopiereinheit (5) aufweist, welche einen oder mehrere Gegenstände von Kopierinformation hält, die in der Tag-Region (4) in der Pufferspeichereinheit (7) gespeichert sind, sowie einen Port (6), welcher eine von jeder Datenverarbeitungseinheit (2) gesendete Prozeßanfrage oder eine externe Prozeßanfrage hält; wobei das Speichersteuerungsverfahren die Ausgabe eines vorbestimmten Prozeßbefehls enthält, welcher an die Pufferspeichereinheit (7) von der Speichersteuerungseinheit (13) an die Datenverarbeitungseinheit (2) gesendet wird, gemäß einer von dem Port (6) gehaltenen Prozeßanfrage und mit Bezug auf die Tag- Kopiereinheit (5); und wobei der Datenhaltezustand der Pufferspeichereinheit (7) auf einer Store-in-Basis gesteuert wird; wobei das Speichersteuerungsverfahren durch die Schritte gekennzeichnet ist:
Ausgabe des an die Pufferspeichereinheit (7) in der Datenverarbeitungseinheit (2) gesendeten vorbestimmten Prozeßbefehls; und
Gleichzeitiges Setzen eines in der Tag- Kopiereinheit (5) gehaltenen Flag (9), welches einen Prozeß unter einer Anfrage für den vorbestimmten Prozeßbefehl zeigt, und bei Prozeßvervollständigung Rücksetzen des Flag (9) in der Tag-Kopiereinheit (5), wenn der Prozeßvervollständigungsbericht von der Datenverarbeitungseinheit (2) als Antwort auf den vorbestimmten Prozeßbefehl empfangen wird.
2. Speichersteuerungsverfahren, welches für ein Informationsverarbeitungssystem geeignet ist, gemäß Anspruch 1, welches weiterhin den Schritt aufweist:
Setzen des Flag in der Tag-Kopiereinheit (5) in mehreren Wegen, wobei die Pufferspeichereinheit (7) die mehreren Wege auf einer teilassoziativen Basis handhabt.
3. Speichersteuerungseinheit, welche für ein Informationsverarbeitungssystem geeignet ist, gemäß Anspruch 1 oder 2, welches weiterhin die Schritte aufweist:
Ausgabe eines vorbestimmten Prozeßbefehls, welcher an die Pufferspeichereinheit (7) in der Datenverarbeitungseinheit (2) zu senden ist; und
gleichzeitiges Freigeben des Port (6), welcher die Prozeßanfrage hält, die eine Ausgabe des vorbestimmten Prozeßbefehls verursacht.
4. Speichersteuerungsverfahren, welches für ein Informationsverarbeitungssystem geeignet ist, gemäß einem der Ansprüche 1 bis 3, welches weiterhin den Schritt aufweist:
Ausgabe des vorbestimmten Prozeßbefehls, welcher an die Pufferspeichereinheit (7) in der Datenverarbeitungseinheit (2) zu senden ist, unter der Bedingung, daß alle dem vorbestimmten Prozeßbefehl zu unterziehenden Flags in der Tag-Kopiereinheit (5) zurückgesetzt sind.
5. Speichersteuerungsverfahren, welches für ein Informationsverarbeitungssystem geeignet ist, gemäß einem der Ansprüche 1 bis 4, welches weiterhin den Schritt aufweist:
Beginnen des nächsten Prozesses der Prozeßanfrage unter der Bedingung, daß alle in der Tag-Kopiereinheit (5) gesetzten Flags bei einer Ausgabe des vorbestimmten Prozeßbefehls als Antwort auf den Prozeßvervollständigungsbericht zurückgesetzt wurden.
6. Speichersteuerungsverfahren, welches für ein Informationsverarbeitungssystem geeignet ist, gemäß einem der Ansprüche 1 bis 4, welches weiterhin die Schritte aufweist:
Ausgeben des vorbestimmten Prozeßbefehls an die Pufferspeichereinheit (7), während die Anzahl der von der Datenverarbeitungseinheit (2) zu sendenden Antworten als Antwort auf den vorbestimmten Prozeßbefehl gesetzt wird;
Subtrahieren von Eins von der Anzahl, jedesmal, wenn ein Prozeßvervollständigungsbericht von der Datenverarbeitungseinheit (2) als Antwort auf den vorbestimmten Prozeßbefehl empfangen wird; und
Beginnen des nächsten Prozesses der Prozeßanfrage, wenn die Zahl zu Null wird.
7. Speichersteuerungsvorrichtung, welche für ein Informationsverarbeitungssystem geeignet ist, mit einer Speichereinheit (1), einer oder mehreren Datenverarbeitungseinheiten (2), wobei jede basierend auf in der Speichereinheit (1) gespeicherten Daten arbeitet, und einer Pufferspeichereinheit (7), wobei die Pufferspeichereinheit (7) eine Datenregion (3) hat, welche einen Datengegenstand hält, der in der Speichereinheit (1) für jede der einen oder der mehreren Datenverarbeitungseinheiten (2) gespeichert ist, und eine Tag-Region (4), welche Tag-Information mit der Adresse der in der Datenregion (3) gespeicherten Daten enthält; wobei die Speichersteuerungsvorrichtung (13) aufweist;
eine Tag-Kopiereinheit (5), welche einen oder mehrere Gegenstände einer in der Tag-Einheit (4) in der Pufferspeichereinheit (7) gespeicherten Kopierinformation hält;
einen Port (6), welcher eine von der Datenverarbeitungseinheit (2) gesendete Prozeßanfrage oder eine externe Prozeßanfrage hält; gekennzeichnet durch:
Prozeßbefehlsausgabemittel (8) in der Speichersteuerungseinheit zum Ausgeben eines an die Pufferspeichereinheit (7) in der Datenverarbeitungseinheit (2) zu sendenden vorbestimmten Prozeßbefehls, gemäß einer von dem Port gehaltenen Prozeßanfrage und mit Bezug auf die Tag- Kopiereinheit; wobei die Datenübertragung zwischen der Speichereinheit (1) und der Pufferspeichereinheit (7) auf einer Store-in-Basis gesteuert wird;
wobei die Tag-Kopiereinheit (5) ein Bit (9) enthält, mit welchem ein Flag gesetzt wird, welches einen unter Anfrage befindlichen Prozeß der Pufferspeichereinheit (7) anzeigt;
wobei die Prozeßbefehlsausgabemittel (8) Flag- Setzmittel (10) enthalten, welche zur gleichen Zeit, wenn die Befehlsausgabemittel (8) den vorbestimmten zur Pufferspeichereinheit (7) in der Datenverarbeitungseinheit (2) zu sendenden Prozeßbefehl ausgeben, das Flag (9) setzen, um den unter Anfrage befindlichen Datenprozeß für den vorbestimmten Prozeßbefehl anzuzeigen, und Flag-Rücksetzmittel zum Rücksetzen des Flag (9) entsprechend einem Prozeßvervollständigungsbericht in den Tag-Kopiermitteln (5), wenn der Prozeßvervollständigungsbericht von der Datenverarbeitungseinheit (2) als Antwort auf den vorbestimmten Prozeßbefehl empfangen wird.
8. Speichersteuerungsvorrichtung, welche für ein Informationsverarbeitungssystem geeignet ist, gemäß Anspruch 7, wobei die Pufferspeichereinheit (7) eine Mehrzahl von Wegen enthält, welche auf einer teilassoziativen Basis verwaltet werden, und wobei die Tag-Kopiereinheit (5) das Flag (9) gemäß den mehreren Wegen setzt.
9. Speichersteuerungsvorrichtung, welche für ein Informationsverarbeitungssystem geeignet ist, gemäß Anspruch 7 oder 8, wobei die Prozeßbefehlsausgabemittel (8) Portfreigabemittel zur Ausgabe des vorbestimmten an die Pufferspeichereinheit (7) der Datenverarbeitungseinheit (2) zu sendenden vorbestimmten Prozeßbefehls und zum gleichzeitigen Freigeben des Port (6) enthalten, welcher die Prozeß anfrage hält, die eine Ausgabe des vorbestimmten Prozeßbefehls verursacht.
10. Speichersteuerungsvorrichtung, welche für ein Informationsverarbeitungssystem geeignet ist, gemäß einem der Ansprüche 7 bis 9, wobei das Prozeßbefehlsausgabemittel (8) den an die Pufferspeichereinheit (7) der Datenverarbeitungseinheit (2) zu sendenden vorbestimmten Prozeßbefehl ausgibt, unter der Bedingung, daß alle Flags von unter dem vorbestimmten Prozeßbefehl zu bearbeitenden Abschnitten in der Tag-Kopiereinheit (5) zurückgesetzt sind.
11. Speichersteuerungsvorrichtung, welche für ein Informationsverarbeitungssystem geeignet ist, gemäß Anspruch 10, wobei der nächste Prozeß der Prozeßanfrage unter der Bedingung begonnen wird, daß das Flag-Rücksetzmittel alle Flags bei der Ausgabe des vorbestimmten Prozeßbefehls zurücksetzt, welche in der Tag-Kopiereinheit (5) gesetzt sind.
12. Speichersteuerungsvorrichtung, welche für ein Informationsverarbeitungssystem geeignet ist, gemäß einem der Ansprüche 7 bis 11, welche weiterhin aufweist:
einen Zähler zum Halten der Anzahl von von der Datenverarbeitungseinheit (2) zu sendenden Antworten, als Antwort auf den vorbestimmten Prozeßbefehl, zur selben Zeit, zu der das Prozeßbefehlsausgabemittel (8) den vorbestimmten Prozeßbefehl an die Pufferspeichereinheit (7) ausgibt; und
Subtraktionsmittel zum Subtrahieren von Eins von der von dem Zähler gehaltenen Anzahl, jedesmal, wenn ein Prozeßvervollständigungsbericht von der Datenverarbeitungseinheit (2) als Antwort auf den vorbestimmten Prozeßbefehl ausgegeben wird;
wobei der nächste Prozeß der Prozeßanfrage zu dem Zeitpunkt begonnen wird, wenn die von dem Zähler gehaltene Anzahl gleich Null ist.
DE69518473T 1994-06-01 1995-04-07 Speichersteuerverfahren und -vorrichtung, geeignet für ein Informationsverarbeitungssystem mit einem Cachespeicher Expired - Lifetime DE69518473T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11990494A JP3360933B2 (ja) 1994-06-01 1994-06-01 情報処理システムにおける記憶制御方法および記憶制御装置

Publications (2)

Publication Number Publication Date
DE69518473D1 DE69518473D1 (de) 2000-09-28
DE69518473T2 true DE69518473T2 (de) 2001-01-04

Family

ID=14773096

Family Applications (2)

Application Number Title Priority Date Filing Date
DE69518473T Expired - Lifetime DE69518473T2 (de) 1994-06-01 1995-04-07 Speichersteuerverfahren und -vorrichtung, geeignet für ein Informationsverarbeitungssystem mit einem Cachespeicher
DE69532006T Expired - Lifetime DE69532006T2 (de) 1994-06-01 1995-04-07 Speichersteuerverfahren und Vorrichtung geeignet für ein Informationsverarbeitungssystem

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE69532006T Expired - Lifetime DE69532006T2 (de) 1994-06-01 1995-04-07 Speichersteuerverfahren und Vorrichtung geeignet für ein Informationsverarbeitungssystem

Country Status (4)

Country Link
US (1) US5829039A (de)
EP (2) EP0690383B1 (de)
JP (1) JP3360933B2 (de)
DE (2) DE69518473T2 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6263408B1 (en) * 1999-03-31 2001-07-17 International Business Machines Corporation Method and apparatus for implementing automatic cache variable update
US20050021947A1 (en) * 2003-06-05 2005-01-27 International Business Machines Corporation Method, system and program product for limiting insertion of content between computer programs
US9727468B2 (en) * 2004-09-09 2017-08-08 Intel Corporation Resolving multi-core shared cache access conflicts
US7814166B2 (en) 2006-01-27 2010-10-12 Sony Computer Entertainment Inc. Methods and apparatus for virtualizing an address space
US8510596B1 (en) 2006-02-09 2013-08-13 Virsec Systems, Inc. System and methods for run time detection and correction of memory corruption
JP4297969B2 (ja) * 2006-02-24 2009-07-15 富士通株式会社 記録制御装置および記録制御方法
WO2007099583A1 (ja) * 2006-02-28 2007-09-07 Fujitsu Limited システムコントローラおよびキャッシュ制御方法
US8782435B1 (en) 2010-07-15 2014-07-15 The Research Foundation For The State University Of New York System and method for validating program execution at run-time using control flow signatures
JP2016534479A (ja) 2013-09-12 2016-11-04 ヴァーセック・システムズ・インコーポレーテッドVirsec Systems,Inc. マルウェアのランタイム中の自動検出
WO2015200508A1 (en) 2014-06-24 2015-12-30 Virsec Systems, Inc Automated root cause analysis of single or n-tiered applications
WO2015200511A1 (en) 2014-06-24 2015-12-30 Virsec Systems, Inc. System and methods for automated detection of input and output validation and resource management vulnerability
CA3027728A1 (en) 2016-06-16 2017-12-21 Virsec Systems, Inc. Systems and methods for remediating memory corruption in a computer application

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4503497A (en) * 1982-05-27 1985-03-05 International Business Machines Corporation System for independent cache-to-cache transfer
EP0194024B1 (de) * 1985-02-05 1992-09-09 Digital Equipment Corporation Vorrichtung und Verfahren zur Zugriffsteuerung in einer Mehrcachespeicherdatenverarbeitungsanordnung
US4949239A (en) * 1987-05-01 1990-08-14 Digital Equipment Corporation System for implementing multiple lock indicators on synchronous pended bus in multiprocessor computer system
CA1325289C (en) * 1989-02-03 1993-12-14 Digital Equipment Corporation Scheme for insuring data consistency between a plurality of cache memories and the main memory in a multi-processor computer system
US5297269A (en) * 1990-04-26 1994-03-22 Digital Equipment Company Cache coherency protocol for multi processor computer system
US5265232A (en) * 1991-04-03 1993-11-23 International Business Machines Corporation Coherence control by data invalidation in selected processor caches without broadcasting to processor caches not having the data
US5428761A (en) * 1992-03-12 1995-06-27 Digital Equipment Corporation System for achieving atomic non-sequential multi-word operations in shared memory
DE69323790T2 (de) * 1992-04-29 1999-10-07 Sun Microsystems, Inc. Verfahren und Vorrichtung für mehreren ausstehende Operationen in einem cachespeicherkohärenten Multiprozessorsystem
US5398325A (en) * 1992-05-07 1995-03-14 Sun Microsystems, Inc. Methods and apparatus for improving cache consistency using a single copy of a cache tag memory in multiple processor computer systems
US5434993A (en) * 1992-11-09 1995-07-18 Sun Microsystems, Inc. Methods and apparatus for creating a pending write-back controller for a cache controller on a packet switched memory bus employing dual directories

Also Published As

Publication number Publication date
DE69532006T2 (de) 2004-05-19
JPH07325760A (ja) 1995-12-12
EP0690383A2 (de) 1996-01-03
EP0903669A2 (de) 1999-03-24
EP0690383B1 (de) 2000-08-23
EP0690383A3 (de) 1996-06-05
US5829039A (en) 1998-10-27
EP0903669B1 (de) 2003-10-22
DE69532006D1 (de) 2003-11-27
DE69518473D1 (de) 2000-09-28
EP0903669A3 (de) 1999-07-28
JP3360933B2 (ja) 2003-01-07

Similar Documents

Publication Publication Date Title
DE68924306T2 (de) Mehrprozessorrechneranordnungen mit gemeinsamem Speicher und privaten Cache-Speichern.
DE69514165T2 (de) Mehrstufige Cache-Speicheranordnung
DE68924206T2 (de) Verfahren und Einrichtung zum Filtern von Ungültigkeitserklärungsanforderungen.
DE69331039T2 (de) Rechnersystem mit einem Vorausholungscachespeicher
DE69733374T2 (de) Speichersteuerungsvorrichtung und -system
DE69519816T2 (de) Anordnung mit Duplikat des Cache-Etikettenspeichers
DE2241257C3 (de) Datenverarbeitende Anlage
DE69331448T2 (de) Dataprozessor mit einem Cachespeicher
DE69421058T2 (de) Vorrichtung und Verfahren zur Cache-Speicher Kohärenz Überprüfung mit doppelter Abhörmechanismus
DE69620807T2 (de) Datenverarbeitungsvorrichtung zum Vorziehen einer Datenstruktur aus dem Hauptspeicher oder seinem Cachespeicher
DE2847960C2 (de) Speichersteuereinrichtung
DE69327387T2 (de) An einen paketvermittelten Bus gekoppelte Nachschreibsteuerungsschaltung für eine Cachespeichersteuerungsschaltung
DE69715328T2 (de) System und Verfahren zur Parallelisierung der Durchführung von Speichertransaktionen mittels mehreren Speichermodellen
DE2226382C3 (de) Datenverarbeitungsanlage mit mehreren Prozessoren und diesen zugeordneten Pufferspeichern
DE69127111T2 (de) Verfahren zum Nachladen aufgeschobener Datenauslagerungen in einen Copy-back Daten-Cachespeicher
DE69616465T2 (de) Cachespeicher mit Datenvorausladung
DE69231743T2 (de) Prozessintervalabhängige Adressraumverwaltung
DE69317729T2 (de) Cache-Etikettenspeicher
DE68902193T2 (de) Datenspeicheranordnung.
DE69527383T2 (de) Virtuelle Speicheranordnung
DE3587167T2 (de) Geraet zur vektorverarbeitung.
DE3439302C2 (de)
DE3788492T2 (de) Vorrichtung und Verfahren zur Verbesserung des Cachezugriffdurchflusses in Pipelineprozessoren.
DE69518473T2 (de) Speichersteuerverfahren und -vorrichtung, geeignet für ein Informationsverarbeitungssystem mit einem Cachespeicher
DE112013000891T5 (de) Verbessern der Prozessorleistung für Befehlsfolgen, die Sperrbefehle enthalten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: SEEGER SEEGER LINDNER PARTNERSCHAFT PATENTANWAELTE