DE3855893T2 - Cachespeichersteuerungsanordnung - Google Patents

Cachespeichersteuerungsanordnung

Info

Publication number
DE3855893T2
DE3855893T2 DE3855893T DE3855893T DE3855893T2 DE 3855893 T2 DE3855893 T2 DE 3855893T2 DE 3855893 T DE3855893 T DE 3855893T DE 3855893 T DE3855893 T DE 3855893T DE 3855893 T2 DE3855893 T2 DE 3855893T2
Authority
DE
Germany
Prior art keywords
signal
data
memory
processor
cache memory
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
DE3855893T
Other languages
English (en)
Other versions
DE3855893D1 (de
Inventor
Toshikatsu C O Nec Corpor Mori
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.)
NEC Corp
Original Assignee
NEC Corp
Nippon Electric Co 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
Priority claimed from JP62033495A external-priority patent/JPS63201852A/ja
Priority claimed from JP62060207A external-priority patent/JPS63226751A/ja
Application filed by NEC Corp, Nippon Electric Co Ltd filed Critical NEC Corp
Publication of DE3855893D1 publication Critical patent/DE3855893D1/de
Application granted granted Critical
Publication of DE3855893T2 publication Critical patent/DE3855893T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • 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/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

  • Die vorliegende Erfindung betrifft eine Cachespeichersteuerungs anordnung.
  • Cachespeicher sind sehr schnelle Pufferspeicher mit kleiner Kapazität, die zwischen Prozessoren und Hauptspeichern angeordnet sind, und sind in Computersystemen mittlerer hoher Geschwindigkeit sehr verbreitet, um die Zugriffszeit auf den Hauptspeicher gesteuert von den Prozessoren wirksam zu verkürzen.
  • Das Prinzip von Cachespeichern ist im Detail in "Computing Survey", Vol 14, No. 3, PP. 473 - 530, 1982 beschrieben und basiert auf einer empirischen Regel, wonach es eine "Lokalität oder Ortsbezogenheit" im Hauptspeicherzugriff gibt, d.h., einen Bezug auf einen Hauptspeicher-Adressenraum durch ein Programm.
  • Der vorgenannte Quelle beschreibt, daß "Lokalität bedeutet, daß die Bezugsstellen des Programms in naher Zukunft wahrscheinlich in der Nähe der aktuellen Bezugsstellen liegen". Unter Nutzung dieser Eigenschaft der Lokalität werden die Inhalte aufeinanderfolgender (als ein Block zu bezeichnender) Speicherstellen, die eine vorbestimmte Größe aufweisen und ein Wort enthalten, auf das aktuell von der CPU in dem Hauptspeicher zugegriffen wird, aus dem Hauptspeicher in den Cachespeicher geholt. Dann ist nur noch ein sehr schneller Cachespeicherzugriff erforderlich und es muß kein langsamer Hauptspeicherzugriff ausgeführt werden.
  • Herkömmliche Cachespeicher weisen die nachstehenden Nachteile auf.
  • Jeder Eintrag des Cachespeichers besteht aus Daten, einen Adressenanhang, der eine Datenstelle im dem Hauptspeicher oder einer reale Adresse repräsentiert, und aus einem Gültigkeitsbit, das die Gültigkeit der Daten repräsentiert. Da der Cachespeicher einen Dirktzugriffsspeicher (RAM) aufweist, nüssen die Gültigkeitsbits aller Einträge gelöscht werden, wenn die Cachespeicheranordnung eingeschaltet oder der virtuelle Adressenraum verändert wird. Eine herkömmliche Cachespeicheranordnung enthält eine Steuerung, welche das Löschen der Gültigkeitsbits in Übereinstimmung mit einen Einschaltsignal oder einer Instruktion von dem Prozessor steuert und das Ende des Löschvorganges dem Prozessor bestätigt. Der Prozessor beginnt mit der Nutzung des Cachespeichers als Antwort auf das Lösch- und Bestätigungssignal von der Steuerung. In diesen Steuerungssystem zum Löschen von Gültigkeitsbits muß das Ende des Löschvorganges von dem Prozessor detektiert werden, und der Prozessor ermittelt, ob auf den Cachespeicher zugegriffen werden kann, wodurch die allgemeine Belastung für den Prozessor ungewollt erhöht wird.
  • Der herkömmliche Cachespeicher weist einen weiteren Nachteil wie folgt auf.
  • Jedesmal wenn auf einen Hauptspeicher in einen herkömmlichen Computersystem zugegriffen wird, muß eine Fehlerprüfung in Dateneinheiten durchgeführt werden. Während der Datenübertragung von dem Hauptspeicher zu dem Cachespeicher wird die Fehlerprüfung in Dateneinheiten angewendet. Die zu übertragenden Daten enthalten Daten welche nicht von den Prozessor verwendet werden. Daher zeigt die vorstehende Datenprüfung, daß eine nicht notwendige Fehlerprüfung ausgeführt wird.
  • Es ist die Aufgabe der in der Teilungsanmeldung EP-A- 655 689 beanspruchten Erfindung, eine Cachespeichersteuerungsanordnung zum Verringern der allgemeine Belastung während des Betriebes eines Cachespeichers gesteuert von einem Prozessor bereitzustellen, wenn ein Speicher eingeschaltet oder ein virtueller Adressraum verändert wird.
  • Zusammenfassung der Erfindung
  • Es ist die Aufgabe der vorliegenden Erfindung eine Cachespeichersteuerungsanordnung bereitzustellen, um einen Prozessor an der Ausführung einer nicht notwendigen Fehlerprüfung während einer Datenübertragung von einem Hauptspeicher zu einen Cachespeicher zu hindern.
  • Eine Cachespeichersteuerungsanordnung gemäß der vorhegenden Erfindung ist in Anspruch 1 beansprucht
  • Kurzbeschreibung der Zeichnungen
  • Fig. 1 ist ein Blockschaltbild einer Cachespeichersteuerungsanordnung;
  • Fig. 2 (A) bis 2(F) sind Zeitdiagramme, welche die Wellenformen von Signalen in den Hauptteilen der in Fig. 1 dargestellten Schaltung zeigen;
  • Fig. 3 ist ein Blockschaltbild einer Cachespeichersteuerungsanordnung gemäß einer Ausführungsform der vorliegenden Erfindung; und
  • Fig. 4 (A) bis 4 (J) sind Zeitdiagramme, welche Wellenformen von Signalen in den Hauptteilen der in Fig. 3 dargestellten Schaltung zeigen.
  • Detaillierte Beschreibung der bevorzugten Ausführungsform
  • Fig. 1 stellt eine Cachespeichersteuerungsanordnung gemäß Anspruch in der Teilungsanmeldung EP-A-0 655 689 dar.
  • Gemäß Fig. 1 ist eine Cachespeichereinheit 2, die einen Cachespeicher 20 enthält, zwischen einem Prozessor 1 und einen Hauptspeicher 3 angeschlossen. Der Hauptspeicher 20 enthält ein Verzeichnis 20A und ein Datenspeicher 20B und ist mit einem Adreßbus 101 zum Verbinden eines Anschlusses 1A des Prozessors 1 mit einem Anschluß 3A des Hauptspeichers 3 verbunden. Ein Ausgang des Cachespeichers 20 ist mit einem Anschluß 23A eines Multiplexers 23 über eine Leitung 119 verbunden.
  • Ein Datenbus 121 des Hauptspeichers 3 ist mit den Eingangsanschluß des Cachespeichers 20 und einem Eingangsanschluß 23B des Multiplexers 23 über eine Zwischenspeicherschaltung 22 verbunden. Der Multiplexer 23 wählt das in dem Eingangsanschluß 23A oder 23B eingegeben Signal als Antwort auf ein Steuersignal aus, das in einen Steuereingang 23C eingegeben wird. Das ausgewählte Signal wird von einem Ausgangsanschluß 23D an einen Datenbus 102 des Prozessors 1 ausgegeben.
  • Ein Ausgangsanschluß 1C für ein Signal, das den Zugriffszustand des Prozessors 1 repräsentiert, ist mit einem Eingangsanschluß 15A einer Zugriffswechseleinrichtung 15 über eine Leitung 103 verbunden. Die Zugriffswechseleinrichtung 15 aktiviert das Ausgangssignal aus einem Anschluß 15C oder 15D als Reaktion auf ein Steuersignal, das an einen Steueranschluß 15B geliefert wird. Der Ausgangsanschluß 15C der Zugriffswechseleinrichtung 15 ist mit dem einen Eingangsanschluß eines UND-Gatters 18 verbunden, und der Ausgangsanschluß 15D ist mit dem einen Eingangsanschluß eines ODER- Gatters 19 verbunden. Der andere Eingangsanschluß des UND- Gatters 18 empfängt ein Signal MISS, welches darstellt, daß die von dem Prozessor 1 angeforderten Daten nicht in dem Cachespeicher 20 gespeichert sind. Ein Ausgangssignal aus dem UND-Gatter 18 wird in den anderen Eingangsanschluß des ODER- Gatters 19 eingegeben. Ein Ausgangssignal aus dem ODER-Gatter 19 wird über eine Leitung 118 in den Steueranschluß 23C des Multiplexers 23 und in eine Bussteuerung 21 eingeben. Die Bussteuerung 21 ist über eine Leitung 122 mit einem Steueranschluß 3C des Hauptspeichers 3 verbunden.
  • Das Bezugszeichen 11 bezeichnet einen Gültigkeitsbitspeicher zum Speichern von Gültigkeitsbits; 12 bezeichnet einen Zähler zum Zählen von Adressen von in dem Gültigkeitsbitspeicher 11 zu löschenden Daten; 13 eine Schreibsteuerung zum Steuern des Schreibzugriffs auf dem Gültigkeitsbitspeicher 11; und 14 ein Register zur Aufrechterhaltung eines vorbestimmten Zustand während des Löschens Obwohl der Gültigkeitsbitspeicher 11 ein Teil des Verzeichnisses 20A in den Cachespeicher 20 ist, ist der Speicher 11 zur Vereinfachung der Darstellung getrennt dargestellt.
  • Der Adreßbus 101 des Prozessors 1, welcher ein Adressensignal für den Gültigkeitsbitspeicher 11 ausgibt, ist über eine Leitung 104 mit den einen Eingangsanschluß 16A des Multiplexers 16 verbunden. Der andere Eingangsanschluß 16B, ein Steueranschluß 16C, und ein Ausgangsanschluß 16D des Multiplexers 16 sind jeweils mit einem Ausgangsanschluß A des Zählers 12 über eine Leitung 111, einem Ausgangsanschluß Q des Registers 14 über eine Leitung 110 und einen Eingangsanschluß A des Gültigkeitsbitspeichers 11 über eine Leitung 114 verbunden. Der Multiplexer 16 wählt das in den Eingangsanschluß 16A oder 16B eingegebene Signal in Antwort auf ein Steuersignal S14 aus, das in den Steueranschluß 16C eingegeben wird. Das gewählte Signal wird von dem Ausgangsanschluß 16D ausgegeben. Das von dem Register 14 über die Leitung 110 ausgegebene Steuersignal S14 wird ebenfalls an Freigabeanschlüsse EN des Zählers 12 und der Schreibsteuerung 13 und an einen Steueranschluß WD des Gültigkeits bitspeichers 11 geliefert.
  • Ein Löschbefehlsignal CLEAR, das von dem Ausgangsanschluß 1E des Prozessors 1 ausgegeben wird, und das Löschen des Gültigkeitsbitspeichers 11 repräsentiert, wird in den einen Eingangsanschluß eines ODER-Gatters 17 eingegeben. Ein von einem Ausgangsanschluß 1F des Prozessors 1 ausgegebenes Rücksetzsignal RESET wird in den anderen Eingangsanschluß des ODER-Gatters 17 und in einen Rücksetzanschluß RST des Zählers 12 eingegeben. Der Ausgangsanschluß des ODER-Gatters 17 ist mit einem Setzanschluß S des Registers 14 verbunden. Ein Rücksetzanschluß R des Registers 14 ist mit einem Anschluß END des Zählers 12 über eine Leitung 112 verbunden. Der Anschluß END gibt ein Signal S12B aus, das das Ende des Zählvorgangs des Zählers 12 darstellt.
  • Ein Ausgangsanschluß 1G für ein Taktsignal CLK des Prozessors 1 ist mit Taktanschlüssen CLK des Zählers 12 und der Schreibsteuerung 13 über eine Leitung 107 verbunden.
  • Ein Ausgangssignal S13 aus der Schreibsteuerung 13 wird an einen Schreibanschluß WR des Gültigkeitsbitspeichers 11 angelegt. Ein Leseanschluß RD des Gültigkeitsbitspeichers 11 ist mit einen (nicht dargestellten) HIT/MISS-Signalgenerator in dem Cachespeicher 20 über die Verbindungsleitung 122 verbunden.
  • Die Betriebsweise derin Fig. 1 dargestellten Schaltung wird unter Bezugnahme auf die Fig. 2(A) bis 2(F), welche Wellenformen von Signalen in Hauptteilen in der Schaltung darstellen, beschrieben.
  • Wenn der Löschbefehl CLEAR oder das Rücksetzsignal RESET nicht von dem Prozessor 1 ausgegeben wird, bleibt das Register 14 in dem zurückgesetzten Zustand, und dessen -Ausgangssignal S14 ist auf hohem Pegel ("H") gesetzt. In diesem Falle ist der Cachezugriffsmodus gesetzt. In diesem Modus wird die Schreibsteuerung 13 gesperrt gehalten. Ein Adressensignal für den Gültigkeitsbitspeicher 11 wird von dem Anschluß 1A des Prozessors 1 über den Multiplexer 16 geliefert. Gleichzeitig setzt die Zugriffswechseleinrichtung 15 ein Ausgangssignal S15A auf "H"-Pegel. Wenn jedoch das Signal MISS nicht ausgegeben wird, bleibt ein Ausgangssignal des UND-Gatters 18 auf niedrigem Pegel ("L") gehalten. Daher wird ein Ausgangssignal aus den ODER-Gatter 19 auf "L"-Pegel gehalten. Der Multiplexer 23 wählt das Ausgangssignal aus dem Cachespeicher 20, und das ausgewählte Signal wird auf dem Datenbus 102 des Prozessors 1 ausgegeben. Während dieser Operation verhindert die Bussteuerung 21 einen Zugriff auf den Hauptspeicher 3. Wenn das Signal MISS in dem Cachezugriffsmodus erzeugt wird, werden ein Ausgangssignal aus dem UND- Gatter 18 und somit ein Ausgangssignal aus dem ODER-Gatter 19 nacheinander auf "H"-Pegel gesetzt. Der Multiplexer 23 wählt ein Eingangssignal an seinem Eingangsanschluß 23B aus. Gleichzeitig startet die Bussteuerung 21 den Zugriff auf den Hauptspeicher 3. Die Daten aus dem Hauptspeicher 3 werden auf eine Leitung 120 aus der Zwischenspeicherschaltung 22 geliefert, um die Inhalte des Cachespeichers 20 zu aktualisieren.
  • Wenn ein Signal HIT von dem Cachespeicher. 22 geliefert wird, wählt der Multiplexer 23 von dem Cachespeicher 20 ausgegebene Daten über die Leitung 119, und die gewählten Daten werden auf dem Prozessordatenbus 102 ausgegeben.
  • Der Cache-Bypaßmodus wird nachstehend beschrieben.
  • Wenn das Register 14 als Antwort auf das Rücksetzsignal RESET oder den Löschbefehl CLEAR aus dem Prozessor 1 gesetzt wird, gibt dessen -Ausgangssignal, d.h. ein Signal S14, welches die Löschperioden repräsentiert, den Zähler 12 und die Schreibsteuerung 13 frei. Die entsprechenden Operationen des Zählers 12 und der Schreibsteuerung 13 werden gestartet. Ein Ausgangssignal S12A aus dem Zähler 12 wird als ein Adressensignal an den Gültigkeitsbitspeicher 11 über den Multiplexer 16 geliefert. Eine von den Signal S12A adressierte Speicherstelle wird von einem Signal S13 aus der Schreibsteuerung 13 gelöscht. Wenn die Gültigkeitsbitlöschung abgeschlossen ist, gibt der Zähler 12 das Lösch-Endesignal S12B aus. Das Register 14 wird als Reaktion auf das Lösch-Endesignal S12B zurückgesetzt, und daher werden der Zähler 12 und die Schreibsteuerung 13 gesperrt.
  • Wenn das Ausgangssignal S14 aus dem Register 14 aktiv gesetzt ist, ist der Ausgangsanschluß 15D der Zugriffswechseleinrichtung 15 aktiv gesetzt ("H"). Ein Ausgangssignal aus den ODER-Gatter 19 ist auf "H"-Pegel gesetzt, und der Multiplexer 23 wählt ein Eingangssignal an seinem Eingangsanschluß 23B aus. Gleichzeitig gibt die Bussteuerung 21 ein Steuersignal an den Hauptspeicher 3 aus, und startet dadurch den Zugriff auf den Hauptspeicher 3.
  • Die aus dem Hauptspeicher 3 ausgelesenen Daten werden von der Zwischenspeicherschaltung 22 zwischengespeichert und über eine Leitung 117 und den Multiplexer 23 auf den Prozessordatenbus 102 ausgegeben.
  • Gemäß vorstehender Beschreibung wird während des Löschens des Gültigkeitsbitspeichers 11 der Zugriffsmodus auf den Cachespeicher 20 durch den Prozessor automatisch auf den Bypaßmodus an der Seite der Cachespeichereinheit 2 oder auf den Cachezugriffsmodus am Ende des Löschens des Gültigkeitsbitspeicher 11 gewechselt. Daher kann der Prozessor 1 auf den Cachespeicher 11 ohne Detektion des Endes des Löschvorganges der Gültigkeitsbits zugreifen.
  • Fig. 3 ist ein Blockschaltbild einer Cachespeichersteuerungsanordnung gemäß der Ausführungsform der vorliegenden Erfindung. Gemäß Fig. 3 bezeichnet ein Bezugszeichen 40 einen Prozessor; 50 einen Cachespeicher; und 70 einen Hauptspeicher. Der Cachespeicher 50 enthält ein Verzeichnis 51 und einen Datenspeicher 52.
  • Ein Adreßbus 201 des Prozessors 40 ist mit dem Eingangsanschluß eines Adreßregisters 53 verbunden. Der Ausgangsanschluß des Adreßregisters 53 ist mit dem Cachespeicher 50 und einem E/A-Puffer 54 für eine Zeitmultiplex-Steuerung der Eingangssignale zu oder von Ausgängen aus den Hauptspeicher 70 verbunden. Der E/A-Puffer 54 ist mit dem Hauptspeicher 70 über einen bidirektionalen Bus verbunden, und schaltet im Zeitmultiplex das an den Hauptspeicher 70 gelieferte Adressensignal und von dem Hauptspeicher 70 ausgegebene Daten.
  • Von den E/A-Puffer 54 ausgegebene Daten werden in ein Eingaberegister 55 eingegeben und gespeichert. Das Eingaberegister 55 gibt die Daten an den Cachespeicher 50 und an ein Bypaßregister 56 als Reaktion auf ein Steuertaktsignal c aus, das über eine Leitung 207 eingegeben wird. Das Bypaßregister 56 speichert die eingegebenen Daten und gibt die Daten an den einen Eingangsanschluß eines Multiplexers 57 über eine Leitung 209 als Antwort auf ein Zeittakt-Steuersignal a aus, das über eine Leitung 215 geliefert wird. Der andere Eingangsanschluß des Multiplexers 57 empfängt von dem Cachespeicher 50 über eine Leitung 208 gelieferte Daten. Der Multiplexer wählt eines der zwei Eingangssignale aus, und die gewählten Daten werden auf einen Datenbus 210 des Prozessors 40 ausgegeben.
  • Der Hauptspeicher 70 gibt ein Busfehlersignal b an ein Busfehlerregister 58 über eine Leitung 211 aus. Das Busfehlersignal b stellt dar, daß ein Hauptspeicherbusfehler vorliegt. Als Reaktion auf das Taktsignal c wird das Busfehlersignal b in ein Fehlerregister 60 von dem Busfehler signalregister 58 eingegeben. Das Fehlerregister 60 speichert das Busfehlersignal b und liefert ein Fehlersignal d an den Prozessor 40 über eine Leitung 216 als Reaktion auf das Zeittakt-Steuersignal a, das von einer Zeittaktsteuerung 59 auf der Basis des Taktsignals c erzeugt wird.
  • Das Zeittakt-Steuersignal a aus der Zeittaktsteuerung 59 wird auch an das Bypaßregister 56 als ein Steuersignal geliefert.
  • Die Betriebsweise der in Fig. 3 dargestellten Cachespeichersteuerungsanordnung wird unter Bezugnahme auf die Fig. 4(A) bis 4(J), die Wellenformen von Signalen in den Hauptteilen der in Fig. 3 dargestellten Schaltung darstellen, beschrieben.
  • In dieser Ausführungsform benutzen das Adreßsignal und das Datensignal während des Speicherzugriffs auf den Speicher 70 im Zeitmultiplexbetrieb nur einen Bus 203. Die Datenlesereihenfolge während des Zugriffs auf den Hauptspeicher 70 wird von einem Steuerschema bestimmt, in welchem Daten, auf die von dem Prozessor zugegriffen wird, zuerst ausgelesen werden, und dann die restlichen Daten ausgelesen werden. Wenn der Zugriff auf den Cachespeicher 50 von dem Prozessor 40 gestartet wird, wird das Adressensignal an den Adreßbus 201 angelegt und von dem Adreßregister 53 zwischengespeichert. Das Verzeichnis 51 des Cachespeichers 50 wird auf der Basis des Adressensignals angesprochen. Wenn detektiert wird, daß die adressierten Daten in dem Datenspeicher 52 gespeichert sind, werden die Daten über den Multiplexer 57 auf den Datenbus 210 des Prozessors 40 ausgegeben. Wenn jedoch als Ergebnis der Ansprache des Verzeichnisses 51 detektiert wird, daß die adressierten Daten nicht in dem Cachespeicher 52 gespeichert sind, greift der Cachespeicher 50 auf den Hauptspeicher 70 zu, um die gewünschten Blöcke auszulesen, d.h. ein Hauptspeicherzugriff beginnt.
  • Bei dem Hauptspeicherzugriff wird ein Adressensignal auf den Bus 203 des Hauptspeichers 70 in dem in Fig. 4(A) dargestellten S1-Zustand ausgegeben. Der nächste S2W-Zustand ist ein Wartezustand und wird eingefügt, wenn aus dem Hauptspeicher 70 auszugebende Daten noch nicht vorbereitet sind. Die nächsten S20- bis S23-Zustände sind Zustände zum Lesen der Daten. Die ausgelesenen Daten (Fig. 4 (B))aus dem Hauptspeicher 70 werden nacheinander von dem Eingaberegister 55 als Antwort auf Takte c gemäß Darstellung in Fig. 4 (D) zwischengespeichert.
  • In dieser Ausführungsform besteht jeder Datenblock aus 4 Worten D0 bis D3. Der Hauptspeicherzugriff ist abgeschlossen, wenn 4-Wort-Daten zwischengespeichert sind. Gemäß vorstehender Beschreibung ist das Datensignal, auf das von dem Prozessor 40 zugegriffen wird, D0 und die restlichen Daten sind D1 bis D3.
  • Die Inhalte des Eingaberegisters 55 werden in den Datenspeicher 52 eingegeben, um den Datenspeicher 52 zu aktualisieren, und werden auch gemäß Darstellung in Fig. 4(F) in das Bypaßregister 56 eingegeben. Das in das Bypaßregister 56 eingegebene Zeittaktsignal a wird von dem Zeittaktgenerator 59 erzeugt, um einen Übertragungszeittakt des Datensignals D0, auf das von dem Prozessor 40 zugegriffen wird, zu unterscheiden. Gemäß Darstellung in Fig. 4 (E) wird das Zeittaktsignal a nur für das erste ausgelesene Datensignal D0 ausgegeben. Das von dem Bypaßregister 56 zwischengespeicherte Datensignal D0 (Fig. 4(F)) wird über den Multiplexer 57 an den Datenbus 210 ausgegeben.
  • Das einem Busfehler während eines Hauptspeicherzugriffes darstellende Busfehlersignal b (Fig. 4(E)) wird von dem Busfehlerregister 58 (Fig. 4(G)) zwischengespeichert und wird bis zu dem nächsten Hauptspeicherzugriffszyklus gehalten. Ein Ausgangssignal aus dem Busfehlerregister 58 wird in das Fehlerregister 60 (Fig. 4(H)) eingegeben und darin gespeichert. Das in das Fehlerregister 60 eingegebene Zeittaktsignal a wird gemäß vorstehender Beschreibung nur für das erste Auslese-Datensignal D0 ausgegeben. Daher speichert das Fehlerregister 60 nur die Fehlerinformation für das Datensignal D0 zwischen, aber nicht die Fehlerinformation der Daten D1 bis D3. Ein Ausgangssignal aus dem Fehlerregister 60 wird an dem Prozessor 40 als das in Fig. 4(J) dargestellte Fehlersignal geliefert.
  • In der vorstehenden Ausführungsform ist ein für den Datenschreibzugriff erforderlichen Datenbus zur Vereinfachung der Darstellung weggelassen. Ein einen Fehler enthaltender Block wird nicht in dem Verzeichnis 51 in dem Cachespeicher 50 registriert. Wenn der Prozessor 40 auf Daten in diesem Block zugreift, tritt ein Fehlzugriff auf, und es wird ein Zugriff auf den Hauptspeicher 70 ausgeführt.
  • Gemäß der vorliegenden Erfindung, wie sie vorstehend beschrieben ist, wird während der Datenübertragung zwischen den Cachespeicher 50 und dem Hauptspeicher 70 eine Fehlerinfornation nur für diejenigen Daten, auf die von dem Prozessor 40 zugegriffen wird, an den Prozessor 40 übertragen und somit eine nicht notwendige Fehlerbearbeitung des Prozessors 40 eliminiert.

Claims (1)

1. Cachespeichersteuerungssystem mit:
einem Cachespeicher (50) kleiner Kapazität, der zwischen einem Prozessor (40) und einem Hauptspeicher (70) angeordnet ist, um die Zugriffszeit wirksam zu verkürzen;
einer Einrichtung zum Liefern einer Fehlerinformation (b), die einen während der Übertragung eines Blockes von dem Hauptspeicher (70) an den Cachespeicher (50) auftretenden Fehler repräsentiert;
einer Einrichtung (59) zum Ausgeben eines Zeittaktsignals (a), das einen Übertragungszeittakt für von dem Prozessor (40) angeforderte Zugriffsdaten darstellt, wobei die Zugriffsdaten (D&sub0;) in Blöcken (D&sub0;; D&sub1;; ...) enthalten sind, die von dem Hauptspeicher (70) an den Cachespeicher (50) übertragen werden; und
einer Fehlerinformation-Aufbewahrungseinrichtung (60) zum Aufbewahren der Fehlerinformation (b), wenn die Fehlerinformation durch das Zeittaktsignal (a) so unterschieden wird, daß die Fehlerinformation den Zugriffsdaten (D&sub0;) zugeordnet ist, und zum Senden eines Unterscheidungsergebnisses (d) an den Prozessor (40).
DE3855893T 1987-02-18 1988-02-17 Cachespeichersteuerungsanordnung Expired - Lifetime DE3855893T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP62033495A JPS63201852A (ja) 1987-02-18 1987-02-18 キヤツシユメモリのアクセス制御方式
JP62060207A JPS63226751A (ja) 1987-03-17 1987-03-17 キヤツシユメモリのバスエラ−制御方式

Publications (2)

Publication Number Publication Date
DE3855893D1 DE3855893D1 (de) 1997-06-05
DE3855893T2 true DE3855893T2 (de) 1997-08-14

Family

ID=26372199

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3855893T Expired - Lifetime DE3855893T2 (de) 1987-02-18 1988-02-17 Cachespeichersteuerungsanordnung

Country Status (6)

Country Link
EP (2) EP0279421B1 (de)
AU (2) AU602952B2 (de)
CA (1) CA1299767C (de)
DE (1) DE3855893T2 (de)
HK (1) HK1002241A1 (de)
SG (1) SG45227A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3812858A1 (de) * 1988-04-18 1989-10-26 Siemens Ag Verfahren zur kennzeichnung ungueltiger eintraege in einem speicher, insbesondere in einem cache-speicher, und anordnung zur durchfuehrung des verfahrens
US5257359A (en) * 1989-02-08 1993-10-26 Hitachi Microsystems, Inc. Instruction cache buffer with program-flow control
EP0382396A3 (de) * 1989-02-08 1991-11-27 Hitachi, Ltd. Programmspeicherpuffer für Prozessor
US5197144A (en) * 1990-02-26 1993-03-23 Motorola, Inc. Data processor for reloading deferred pushes in a copy-back data cache
US5659712A (en) * 1995-05-26 1997-08-19 National Semiconductor Corporation Pipelined microprocessor that prevents the cache from being read when the contents of the cache are invalid
GB2390700B (en) 2002-04-15 2006-03-15 Alphamosaic Ltd Narrow/wide cache

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1123964A (en) * 1978-10-26 1982-05-18 Anthony J. Capozzi Integrated multilevel storage hierarchy for a data processing system
JPS5577070A (en) * 1978-12-01 1980-06-10 Toshiba Corp Cash memory control system
US4459666A (en) * 1979-09-24 1984-07-10 Control Data Corporation Plural microcode control memory
GB2127189B (en) * 1982-09-18 1986-11-05 Int Computers Ltd Automatic invalidation of validity tags in data store
EP0271187B1 (de) * 1986-10-17 1995-12-20 Amdahl Corporation Verwaltung von getrennten Befehls- und Operanden-Cachespeichern
AU604101B2 (en) * 1987-04-13 1990-12-06 Computervision Corporation High availability cache organization

Also Published As

Publication number Publication date
DE3855893D1 (de) 1997-06-05
AU5860890A (en) 1990-10-11
EP0279421A3 (de) 1990-10-17
AU617948B2 (en) 1991-12-05
EP0655689A2 (de) 1995-05-31
SG45227A1 (en) 1998-01-16
EP0279421A2 (de) 1988-08-24
HK1002241A1 (en) 1998-08-07
AU602952B2 (en) 1990-11-01
EP0279421B1 (de) 1997-05-02
AU1179188A (en) 1988-08-25
EP0655689A3 (de) 1995-10-11
CA1299767C (en) 1992-04-28

Similar Documents

Publication Publication Date Title
DE69031967T2 (de) Informationsverarbeitungsanordnung
DE3803759C2 (de)
DE3852695T2 (de) Multiprozessorsystem mit mehreren Speichern.
DE3685876T2 (de) Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher.
US4736293A (en) Interleaved set-associative memory
DE3588009T2 (de) Vorrichtung und Verfahren zum Rekonfigurieren eines Speichers in einer Datenverarbeitungsanordnung.
DE69203842T2 (de) Speichersteuerungsvorrichtung mit Snoop-Mechanismus.
DE69333319T2 (de) Datenverarbeitungssystem mit synchronem, dynamischem Speicher in integrierter Schaltkreistechnik
DE3909896A1 (de) Vorrichtung und verfahren fuer den zugriff zu in einem seitenspeicher gespeicherten daten
DE69814137T2 (de) Cache-speicherbetrieb
DE68928343T2 (de) Schreib-Lese/Schreib-Weitergabe-Speichersubsystemzyklus
CH615521A5 (de)
DE3852562T2 (de) Datenschreibverfahren für EEPROM.
DE102018123141A1 (de) Speichervorrichtung mit lokaler Unterstützung für eine Zieldatensuche und Verfahren zum Betreiben derselben
DE69029815T2 (de) Zentralisierte referenz- und änderungstabelle für eine virtuelle speicheranordnung
DE3588061T2 (de) Speicherzugriffs-Steuerungssystem und -Verfahren für ein Informationsverarbeitungsgerät.
DE112019002100T5 (de) Zugriff auf dram durch wiederverwendung von pins
DE3850514T2 (de) Cachespeicher mit Treffervorhersagelogik.
US4349875A (en) Buffer storage control apparatus
DE3855893T2 (de) Cachespeichersteuerungsanordnung
DE3911721A1 (de) Schaltung zur verzoegerten freigabe eines schreibvorganges in einen vorratsspeicher fuer ein zweifachbus-mikrocomputersystem
DE4114053A1 (de) Computersystem mit cachespeicher
DE19547782A1 (de) Halbleiterspeichervorrichtung mit Vorladeschaltung
DE2717700C2 (de) Speicherzugriffsanordnung
DE3850608T2 (de) Cache-Speicheranordnung.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition