DE69109803T2 - Verfahren und Vorrichtung zur Aufrechterhaltung der Integrität eines Cachespeichers. - Google Patents

Verfahren und Vorrichtung zur Aufrechterhaltung der Integrität eines Cachespeichers.

Info

Publication number
DE69109803T2
DE69109803T2 DE69109803T DE69109803T DE69109803T2 DE 69109803 T2 DE69109803 T2 DE 69109803T2 DE 69109803 T DE69109803 T DE 69109803T DE 69109803 T DE69109803 T DE 69109803T DE 69109803 T2 DE69109803 T2 DE 69109803T2
Authority
DE
Germany
Prior art keywords
cpu
rom
ram
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 - Fee Related
Application number
DE69109803T
Other languages
English (en)
Other versions
DE69109803D1 (de
Inventor
Son Hung Lam
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE69109803D1 publication Critical patent/DE69109803D1/de
Application granted granted Critical
Publication of DE69109803T2 publication Critical patent/DE69109803T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • 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

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

    1. Anwendungsbereich der Erfindung
  • Die Erfindung bezieht sich allgemein auf Verfahren und eine Vorrichtung zur Aufrechterhaltung der Integrität von Cache- Speicherdaten in einem Computer-System, das eine Zentraleinheit (CPU) und einen dazugehörigen Cache-Speicher, einen Direktzugriffsspeicher (RAM), einen Festwertspeicher (ROM) und einen lokalen Speicher-Controller zur Steuerung der Kooperation zwischen der CPU und den zuvor erwähnten Speichern umfaßt. Die Erfindung bezieht sich dabei im besonderen auf Verfahren und eine Vorrichtung zur Aufrechterhaltung der Cache-Integrität in diesem Computer-System, bei dem ein ROM, der auf RAM-Modusoperation adressiert ist, unterstützt wird.
  • 2. Beschreibung der herkömmlichen Technik
  • Bekannte Computer-Systeme, z.B. der IBM PS/2 Modell 70, unterstützen die Adressierung des ROM auf RAM, um die Systemgeschwindigkeit zu erhöhen. IBM und IBM PS/2 sind Warenzeichen der INTERNATIONAL BUSINESS MACHINES CORPORATION.
  • Des weiteren sind "Snoop"-Operationen bei Computer-Systemen bekannt, bei denen es sich nach der hier verwendeten Definition um Operationen von einer Systemeinheit handelt, die das Vorhandensein (oder das Fehlen) eines festgelegten Signals oder einer Gruppe von Signalen zu erfassen versucht. In Computer-Systemen mit Cache-Speicher gibt es beispielsweise "Snoop"-Zyklen der lokalen Speicher-Controller, um externe Schreiboperationen in den Hauptspeicher (z.B. eine von einem externen Busmaster durchgeführte Schreiboperation) zu erfassen, zu denen auch das Schreiben von Daten in einen Cache unter Steuerung eines bestimmten Speicher-Controller gehört.
  • Wenn eine solche Schreiboperation während eines "Snoop"-Zyklusses des lokalen Speicher-Controller erfaßt wird, sendet der Controller ein Ungültigkeitssignal und ein Cache-Adreßsignal an die lokale CPU, so daß die entsprechende Cache-Eingabe von der lokalen CPU ungültig gemacht werden kann.
  • Eine ROM-Schreiboperation genügt nicht, um den Inhalt des ROM zu ändern; wenn ROM-Daten auf RAM adressiert werden und bei einem Abruf vor einer Schreiboperation der CPU in den ROM zwischengespeichert werden, besteht die Möglichkeit, daß ungültige Cache-Daten erzeugt werden, wenn die Schreiboperation der CPU in den ROM durchgeführt wird. Diese Möglichkeit ist gegeben, da jede CPU normalerweise die Daten in einem zum Prozessor gehörenden Cache-Speicher aktualisieren muß, nicht- aktuelle Cache-Datenwerte ungültig machen muß usw.
  • In der Patentschrift EP-A-0309995 wird ein Logiksystem zum Decodieren von Adressen beschrieben, die Speicherbereiche als nicht-zwischenspeicherbar kennzeichnen. Eine Cache-Architektur speichert die Informationen, auf die vom Hauptspeicher am häufigsten zugegriffen wird. Der Cache-Controller verwendet "Bus Watching", um Systembusadreßleitungen zur Überwachung der Cache-Kohärenz zu erhalten, so daß festgestellt werden kann, ob die entsprechende Speicherstelle einer Schreiboperation im Cache dupliziert wird, oder ob diese Speicherstelle im nicht- zwischenspeicherbaren Bereich des Speichers liegt.
  • Gemäß Erfindung wird ein Verfahren zur Aufrechterhaltung der Cache-Integrität in einem Computer-System vorgestellt, das eine Zentraleinheit (CPU), einen zur CPU gehörenden Cache- Speicher, einen Direktzugriffsspeicher (RAM), einen Festwertspeicher (ROM), einen lokalen Speicher-Controller zur Steuerung der Kooperation zwischen der CPU, dem Cache-Speicher, dem RAM und ROM sowie einen lokalen Bus zur Verbindung des lokalen Speicher-Controller und der CPU, wobei das Computer-System einen auf RAM-Betriebsmodus adressierten ROM unterstützt, und das Verfahren durch folgende Schritte gekennzeichnet ist:
  • (a) die Implementierung eines "Snoop"-Zyklusses des lokalen Speicher-Controller, um die CPU-Schreiboperation in den ROM zu erfassen, wenn der auf RAM-Modus adressierte ROM aktiviert ist; und
  • (b) die Bereitstellung eines Cache-Eingabe-Ungültigkeitssignals für die CPU, um die Cache-Eingabe ungültig zu machen, die der Zieladresse der Schreiboperation in den ROM entspricht, wenn eine CPU-Schreiboperation in den ROM bei einem auf RAM adressierten ROM erfaßt wird.
  • Des weiteren wird gemäß der vorliegenden Erfindung ein Computer-System mit einem Mittel zur Aufrechterhaltung der Cache- Integrität vorgestellt, wobei das Computersystem über eine Zentraleinheit (CPU), einen zur CPU gehörenden Cache-Speicher, einen Direktzugriffsspeicher (RAM), einen Festwertspeicher (ROM), einen lokalen Speicher-Controller zur Steuerung der Kooperation zwischen der CPU, dem Cache-Speicher, dem RAM und ROM, sowie einen lokalen Bus zur Verbindung des lokalen Speicher-Controller und der CPU verfügt, und das Computer-System einen auf RAM-Betriebmodus adressierten ROM unterstützt, wobei das Computer-System folgendes umfaßt:
  • (a) ein Mittel, das über den lokalen Bus mit der CPU verbunden ist, um einen "Snoop"-Zyklus des lokalen Speicher- Controller zu implementieren, wenn der auf RAM-Betriebsmodus adressierte ROM aktiviert ist, um CPU-Schreiboperationen in den ROM zu erfassen; und
  • (b) ein Signalmittel, das über den lokalen Bus mit der CPU verbunden ist und auf die Erfassung einer CPU-Schreiboperation in den ROM reagiert, um ein Cache-Eingabe-Ungültigkeitssignal zur CPU bereitzustellen, wenn eine CPU-Schreiboperation in den ROM bei einem auf RAM adressierten ROM stattfindet, so daß eine Cache-Eingabe ungültig gemacht wird, die der Zieladresse der Schreiboperation in den ROM entspricht.
  • Im Artikel von R. Nass "Flexibility and Integration Drive PC Chip Sets" in Electronic Design, 8. März 1990, Seiten 43-53, USA, wird die Möglichkeit erwähnt, den ganzen Cache bei einer Schreiboperation in den ROM zu löschen. Dadurch würde die Cache-Integrität aufrechterhalten bleiben, die Leistung jedoch verlangsamt werden. Darüber hinaus ist die ROM-Zwischenspeicherung mit einem Chip erwähnt, der separate, nicht-zwischenspeicherbare Lese- und Schreibfreigaben unterstützt.
  • FIG. 1 ist eine perspektivische Ansicht eines PC mit der vorliegenden Erfindung.
  • FIG. 2 ist eine vergrößerte Ansicht bestimmter Elemente des PC von FIG. 1.
  • FIG. 3 ist ein Blockdiagramm des in den FIGUREN 1 und 2 dargestellten PC-Systems, das einen Typus von Computer-Architektur genau gezeigt, in der die vorliegende Erfindung vorteilhaft eingesetzt werden kann.
  • FIG. 4 ist ein vereinfachtes Blockdiagramm bestimmter Teile eines Computer-Systems, ähnlich wie das in FIG. 3 gezeigte System, anhand dessen die Prinzipien der Erfindung erklärt werden können. FIG. 4 zeigt insbesondere die Verbindung zwischen der CPU, dem dazugehörenden Cache-Speicher, dem RAM und ROM, wo ein lokaler Speicher-Controller zur Steuerung der Kooperation zwischen der CPU und den zuvor erwähnten Speichern verwendet wird.
  • FIG. 5 ist ein Fließdiagramm mit den vom lokalen Speicher-Controller durchgeführten Entscheidungsfunktionen, wobei der lokale Speicher-Controller gemäß der Erfindung gebaut ist, den von der Erfindung vorgestellten "Snoop"-Zyklus durchführt und dabei ein Ungültigkeitssignal an die CPU sendet, wenn eine CPU-Schreiboperation in den ROM bei einem auf RAM adressierten ROM stattfindet.
  • FIG. 6 ist ein Zeitdiagramm mit einer Beispielfolge von Ereignissen, die bei einem lokalen Speicher-Controller herkömmlicher Technik eintreten, wenn dieser einen "Snoop"-Zyklus verwendet, um die Integrität der Cache-Daten aufrechtzuerhalten.
  • FIG. 7 ist ein Zeitdiagramm mit einer Beispielfolge von Ereignissen, die gemäß einem Ausführungsbeispiel der Erfindung eintreten, wenn ein lokaler Speicher-Controller verwendet wird, um die Integrität der Cache-Daten aufrechtzuerhalten, während eine CPU-Schreiboperation in den ROM bei einem auf RAM adressierten ROM stattfindet.
  • GENAUE BESCHREIBUNG
  • Mit Bezug auf die Begleitzeichnungen wird ein Beispiel eines Mikrocomputers 10 (FIG. 1) vorgestellt, der die vorliegende Erfindung implementieren (und unterstützen) kann. Das Computer-System 10 kann mit einem Monitor 11, einer Tastatur 12 und einem Drucker oder Plotter 14 ausgestattet sein. Der Computer 10 verfügt über eine Abdeckung 15 aus einem dekorativen Außenteil 16 (FIG. 2) und einem Innenschutzteil 18, die mit dem Gehäuse 19 einen geschlossenen, abgeschirmten Innenraum zur Aufnahme von elektrisch betriebenen Datenverarbeitungs- und Speicherkomponenten bilden, um digitale Daten zu verarbeiten und zu speichern. Einige Komponenten befinden sich auf einer Fläche 20 auf dem Gehäuse 19, die die elektrische Verbindung der Komponenten des Computers 10 ermöglicht, zu denen die oben erwähnten Komponenten sowie andere Elemente wie Diskettenlaufwerke, verschiedene Formen von Direktzugriffsspeichereinheiten, zusätzliche Karten oder Platinen usw. gehören.
  • Das Gehäuse 19 verfügt über eine Basis 22, eine Frontplatte 24 und eine Rückwand 25 (FIG. 2). Die Frontplatte 24 hat mindestens ein offenes Fach (hier sind es vier Fächer), um Datenspeichereinheiten wie Plattenlaufwerke für magnetische oder optische Platten, ein Bandlaufwerk usw. aufzunehmen. Im gezeigten Beispiel gibt es zwei obere Fächer 26 und 28 sowie zwei untere Fächer 29 und 30. Eines der oberen Fächer 26 kann periphere Laufwerke einer ersten Größe (d.h. ein 3,5-Zoll- Laufwerk) aufnehmen, während das andere Fach 28 Laufwerke einer von zwei Größen (3,5-Zoll und 5,25-Zoll) aufnehmen kann und die unteren Fächer nur für Einheiten einer Größe (3,5- Zoll) vorgesehen sind.
  • Vor der Erläuterung der oben genannten Struktur im Zusammenhang mit der Erfindung verdient die Funktionsweise des PC- Systems 10 in zusammenfassender Form Beachtung. In FIG. 3 ist ein Blockdiagramm eines PC-Systems mit verschiedenen Komponenten des Computer-Systems 10 dargestellt. Im in FIG. 3 gezeigten System sind die Komponenten auf der Fläche 20 sowie die Verbindung der Fläche zu den I/O-Steckplätzen und anderer Hardware des PC-Systems zu sehen. Mit der Fläche verbunden ist der Systemprozessor 32, der aus einem Mikroprozessor (z.B. dem in FIG. 3 gezeigten 80486- Mikroprozessor) besteht, der durch einen schnellen lokalen CPU-Bus 34 über eine Bussteuerungs- Zeitgebereinheit 35 verbunden ist, während die Bussteuerungs- Zeitgebereinheit an einen flüchtigen Direktzugriffsspeicher (RAM) 38 angeschlossen ist.
  • Die vorliegende Erfindung wird zwar im folgenden anhand der in Fig. 3 gezeigten Teile des Systemblockdiagramms (insbesondere die Teile von FIG. 3, die in FIG. 4 mit einer durchgezogenen Linie gekennzeichnet sind) beschrieben, es versteht sich jedoch von selbst, daß die Erfindung auch bei anderen Hardware-Konfigurationen verwendet werden kann. In FIG. 3 ist aus Gründen der Veranschaulichung die CPU 32 ein 80486-Mikroprozessor. Der 80486 verfügt über einen Cache-Speicher (siehe die gestrichelte Linie in der CPU 32 und die Referenznummer 99). Bei einer anderen Hardware-Konfiguration kann der Cache- Speicher außerhalb des Prozessors sein (und damit immer noch mit dem Prozessor verbunden sein), wie z.B. bei einem 80386.
  • In FIG. 3 sorgt der lokale CPU-Bus 34 (mit den Daten-, Adreß- und Steuerkomponenten 34D, 34A, 34C) für die Verbindung des Mikroprozessors 32 und (wahlweise) eines mathematischen Coprozessors 39. Auf dem lokalen CPU-Bus 34 ist auch ein Puffer 51 gekoppelt. Der Puffer 51 selbst ist mit einem Micro- Channel-Bus 52 verbunden. Micro Channel ist ein Warenzeichen der INTERNATIONAL BUSINESS MACHINES CORPORATION. Der Bus 34 ist weiterhin mit einer DMA-Einheit 48 verbunden, die aus einer zentralen Arbitrationseinheit 49 und einem DMA-Controller 50 besteht. Der Puffer 51 stellt eine Schnittstelle zwischen dem lokalen Bus 34 und einem zusätzlichen Bus, beispielsweise dem Micro-Channel-Bus 52, her. Mit dem Bus 52 verbunden sind zahlreiche I/O-Steckplätze zur Aufnahme von Adapterkarten, die jeweils an eine I/O-Einheit oder einen Speicher angeschlossen sein können.
  • Ein Arbitrationssteuerbus 57 koppelt den DMA-Controller 50 und die zentrale Arbitrationseinheit 49 mit den I/O-Steckplätzen 54 und einem Diskettenadapter 56. Des weiteren ist eine Speichersteuereinheit 36 an den lokalen Bus 34 angeschlossen, die aus einem Speicher-Controller 59, einem Adreß-Multiplexer 60 und einem Datenpuffer 61 besteht. Die Speichersteuereinheit ist weiterhin über die Busse 120-122 mit einem Direktzugriffsspeicher verbunden (siehe das RAM-Modul 38). Der Bus 120 überträgt Speicherdaten, der Bus 121 Steuersignale und der Bus 122 Adreßsignale.
  • Zur Speichersteuereinheit 36 gehört die Logik, die Adressen vom und zum Mikroprozessor 32 auf bestimmte Bereiche des RAM 38 adressiert. Diese Logik kann beispielsweise dazu verwendet werden, den zuvor vom grundlegenden Ein-/Ausgabesystem (BIOS) belegten RAM anzufordern. BIOS ist ein bekanntes System, das die Verbindung zwischen den an das System 10 angeschlossenen I/O-Einheiten und dem Betriebssystem des Mikroprozessors 32 herstellt. Das BIOS ist normalerweise im ROM 64 gespeichert und kann in den RAM 38 kopiert werden, um die Ausführungszeit des BIOS zu verkürzen, wenn ein im RAM-Modus adressierter ROM aktiviert und vom Computer-System 10 unterstützt wird. Dies ist ein ausgezeichnetes Beispiel (z.B. wo ein ROM auf RAM adressiert ist) für die vorteilhafte Verwendung der vorliegenden Erfindung, um die Integrität der Daten im mit der CPU 32 verbundenen Cache-Speicher zu sichern.
  • Im Computer-System von FIG. 3 erzeugt die Speichersteuereinheit 36 ein ROM-Auswahlsignal (ROMSEL), mit dem der ROM 64 aktiviert oder deaktiviert werden kann. Wenn der ROM 64 aktiviert ist, wird das BIOS vom ROM aus durchgeführt. Wenn der ROM 64 deaktiviert ist, reagiert er nicht auf Adreßanfragen vom Mikroprozessor 32 (das BIOS wird z.B. vom RAM aus durchgeführt).
  • Zur Veranschaulichung wird die vorliegende Erfindung anhand eines Mikrocomputer-Systems 10 mit einem RAM-Modul 38 von 1 MB (Megabyte) Grundspeicher beschrieben. Für Fachleute ist ersichtlich, daß zusätzliche Speicher durch die optionalen Speichermodule 65-67 angeschlossen werden können (siehe FIG. 3). Der RAM 38 wird in dieser Beschreibung des öfteren als "Hauptspeicher" bezeichnet.
  • Ein weiterer Puffer 68 in FIG. 3 kann zwischen den Bus 52 und einen I/O-Erweiterungsbus 69 gekoppelt werden. Der Puffer 68 ist eigentlich die Schnittstelle zwischen den Bussen 52 und 69. Der I/O-Erweiterungsbus 69 verfügt über Adreß-, Daten- und Steuerkomponenten. Auf dem Erweiterungsbus 69 sind zahlreiche I/O-Adapter und andere Komponenten angeschlossen, z.B. der Anzeigeadapter 70 (der den Monitor 11 treibt), eine Uhr 72, ein nicht-flüchtiger RAM 74, der als NVRAM bezeichnet wird, ein RS232-Adapter 76, ein Paralleladapter 78, zahlreiche Zeitgeber 80, den zuvor erwähnten Diskettenadapter 56, ein Interrupt-Controller 84 und den zuvor erwähnten ROM 64. Wie bereits erwähnt kann der ROM 64 zur Speicherung des BIOS sowie anderer wichtiger Programme und Daten verwendet werden, beispielsweise des Systeminitialisierungsprogramms "POST" des IBM PS/2 Modells 70.
  • Die in FIG. 3 gezeigte Uhr 72 kann für die Berechnung der Tageszeit verwendet werden. Der NVRAM kann zum Speichern von Systemkonfigurationsdaten benutzt werden. Der NVRAM könnte beispielsweise in einer Computer-Architektur, die die Erfindung unterstützt, Informationen zur Kapazität einer Festplatte oder Diskette, des Anzeigetyps, des Speicherumfangs, der Zeit, des Datums usw. enthalten sowie die Information, ob das System 10 einen auf RAM-Betriebsmodus adressierten ROM unterstützen kann oder nicht.
  • NVRAM-Datenbits können z.B. vom Speicher-Controller 59 dazu verwendet werden, festzustellen, ob der ROM auf RAM adressiert ist (über ein Modusfreigabebit), ob das BIOS vom ROM oder RAM aus durchgeführt wird, ob der RAM angefordert werden soll, um vom BIOS-RAM verwendet zu werden usw. Diese Informationen können alternativ auch lokal im Speicher-Controller gespeichert werden.
  • Wie oben bereits erwähnt, kann die Erfindung auch in anderen als in FIG. 3 gezeigten Computer-Architekturen verwendet werden: z.B. in einer Architektur, wo ein Speicher-Controller mit einem Micro-Channel-Bus 52 über eine Busschnittstelleneinheit (BIU) gekoppelt ist, die als Schnittstelle zwischen dem Speicher-Controller und dem Micro-Channel-Bus dient; oder wo der Speicher-Controller die oben genannten Modusbits enthält usw. Fachleuten ist daher in bezug auf die hier aufgeführte Beschreibung ersichtlich, daß die Computer-Architektur, in der die Erfindung vorteilhaft verwendet werden kann, in keinster Weise den Umfang der Erfindung an sich einschränkt.
  • Nach der Beschreibung der Computer-Architektur, in der die Erfindung vorteilhaft verwendet werden kann, wird nun Bezug auf FIG. 4 genommen, die in vereinfachter Form die Teile des Computer-Systems zeigt, die zur Erläuterung der Prinzipien der Erfindung nützlich sind.
  • Das vereinfachte Blockdiagramm von FIG. 4 legt das Hauptaugenmerk auf die Verbindung zwischen der CPU, den dazugehörenden Cache-Speicher, den RAM und ROM, wobei ein lokaler Speicher- Controller verwendet wird, um die Kooperation zwischen der CPU und den zuvor erwähnten Speichern zu steuern.
  • Einige Einheiten und Busse entsprechen einander wie folgt in den FIGUREN 3 und 4: die CPU 432 (von FIG. 4) entspricht der CPU 32 (von FIG. 3), der Speicher-Controller 459 entspricht dem Speicher-Controller 59, der Datenpuffer 561 entspricht dem Datenpuffer 61, der RAM 438 entspricht dem RAM 38, der ROM 464 entspricht dem ROM 64, der Micro-Channel-Bus 452 entspricht dem Micro-Channel-Bus 52, der lokale Bus 434 entspricht dem lokalen Bus 34, die Adreß-, Steuer- und Datenkomponenten des lokalen Busses 434 (434A, 434C und 434D) entsprechen den Komponenten 34A, 34C und 34D des lokalen Busses 34 und die Busse 420-422 entsprechen jeweils den Bussen 120-122.
  • In FIG. 4 sind der Speicher-Controller 459 und die CPU 432 mit dem ROM 464 über den Micro-Channel-Bus 452 verbunden. Diese Verbindungen (über die Busse 480, 482, 483 und 485) sind zusammen mit dem Micro-Channel-Bus 452, der Busschnittstelleneinheit 481 und dem Puffer 484 in gestrichelten Linien dargestellt, um anzuzeigen, daß (1) die Erfindung in einer Computer-Architektur wie in FIG. 3 gezeigt Anwendung finden kann (z.B. der ROM ist an den Micro-Channel-Bus über einen Erweiterungsbus, Verriegelungs-/Puffer-Decoder usw. gekoppelt), ohne daß eine BIU benötigt wird, usw., und daß (2) die Erfindung auch in einer anderen Computer-Architektur verwendet werden kann, z.B. in einer Architektur, die die in FIG. 4 gezeigten Komponenten (einschließlich der mit gestrichelter Linie dargestellten) verwendet, wo der Speicher-Controller 459 beispielsweise mit dem ROM 464 über eine BIU 481 verbunden ist, und die Daten zwischen dem Micro-Channel-Bus 452 und der CPU 432 über den Puffer 484 zwischengespeichert werden, und daß (3) die Erfindung ohne Micro-Channel-Bus verwendet werden kann, z.B. in einer Computer-Architektur, wo der ROM über den lokalen Bus mit dem Speicher-Controller verbunden ist, und daß (4) die Erfindung in noch anderen Computer-Architekturen Anwendung finden kann.
  • Dabei darf nicht außer acht gelassen werden, daß die Erfindung im Zusammenhang mit zahlreichen Computer-Architekturen umgesetzt werden kann, indem ein spezieller "Snoop"-Zyklus des Speicher-Controller (im folgenden anhand der FIGUREN 5 und 7 beschrieben) implementiert wird, wenn der auf RAM-Modus adressierte ROM des Computer-Systems aktiviert ist. Wie oben bereits erwähnt, stellt der in FIG. 3 gezeigte NVRAM (RAM 74) nur eine Möglichkeit zum Speichern des zuvor genannten Modusfreigabebits dar, mit dem der Speicher-Controller feststellt, ob der ROM auf RAM adressiert ist. Der Speicher-Controller kann wie oben festgestellt auch selbst zum Speichern der Modusinformationen verwendet werden usw.
  • Der spezielle "Snoop"-Zyklus laut einem bevorzugten Ausführungsbeispiel der Erfindung funktioniert gemäß des FIG. 5 gezeigten Fließdiagramms und wird anhand der FIGUREN 4 und 5 im folgenden beschrieben.
  • Der Speicher-Controller 459 stellt zuerst fest, ob ein Speicher-Schreibzyklus begonnen hat (Block 501 von FIG. 5); wenn dies der Fall ist, stellt er fest, ob sich eine RAM-Adresse auf einem lokalen Bus 434 befindet oder nicht (Block 502 von FIG. 5). Es handelt sich hierbei um eine Form des "Snooping", die vom Speicher-Controller 459 zur Durchführung der Erfindung angewendet werden kann. Die bei den Blöcken 501 und 502 von FIG. 5 getroffenen Feststellungen (deren Reihenfolge unwichtig ist) können auf der Grundlage von Steuer- und Adreßsignalen gemacht werden, die dem Speicher-Controller 459 vom lokalen Bus 434 (über die lokalen Buskomponenten 434A und 434C) zugeführt werden.
  • Wenn die bei den Blöcken 501, 502 oder 503 von FIG. 5 gemachten Feststellungen "NEIN" lauten, hat der Controller 459 keine weitere Feststellung mehr zu treffen, um die Cache-Integrität aufrechtzuerhalten. Eine ROM-Leseoperation wird z.B. gerade durchgeführt und führt dazu, daß die bei Block 501 gemachte Feststellung "NEIN" lautet. Wenn der ROM auf RAM adressiert ist und beispielsweise 128 K des RAM belegt (z.B. der Adreßbereich von 896 K bis 1024 K des RAM), sind Zugriffe auf den Adreßbereich von 896 K bis 1024 K normalerweise bei einer CPU-Leseoperation im ROM zwischenspeicherbar. Bei einer CPU-Leseoperation des ROM werden die Daten direkt vom Adreßbereich 896 K bis 1024 K abgerufen, wenn die Zieldaten nicht bereits im Cache sind, andernfalls holt die CPU die Daten aus ihrem Cache.
  • Fachleuten ist ohne Zweifel ersichtlich, daß zwar keine Möglichkeit der Beeinträchtigung der Integrität von Cache-Daten bei ROM-Leseoperationen besteht, bei einer CPU-Schreiboperation in den ROM dies jedoch durchaus der Fall ist.
  • Wie oben bereits erwähnt, sollte eine CPU-Schreiboperation in den ROM nicht stattfinden. Wenn eine solche Operation doch durchgeführt wird, leitet der Speicher-Controller 459 den CPU- Zyklus (wo der ROM über den in FIG. 4 gezeigten Micro-Channel- Bus mit dem Speicher-Controller verbunden ist) an den Micro- Channel-Bus weiter. In Architekturen ohne Micro-Channel-Bus wird der CPU-Zyklus beispielsweise an den lokalen Bus weitergeleitet usw. Bei der restlichen Beschreibung wird aus Gründen der Veranschaulichung davon ausgegangen, daß der Micro- Channel-Bus Teil der Computer-Architektur ist.
  • Der Speicher-Controller 459 ändert - ungefähr zur gleichen Zeit wie er den CPU-Zyklus zum Micro-Channel-Bus 452 weiterleitet (für eine ROM-Schreiboperation bei einem auf RAM adressierten ROM) - seinen Cache, wenn die ROM-Zieldaten zuvor zwischengespeichert waren. Die Änderung der Daten im zur CPU 432 gehörenden Cache kann zur Zerstörung der gespeicherten ROM-Daten führen.
  • Um dieses Problem zu lösen, sieht die Erfindung vor, daß der Speicher-Controller 459 ein Cache-Eingabe-Ungültigkeitssignal an die CPU 432 sendet, wenn eine CPU-Schreiboperation in den ROM bei einem auf RAM adressierten ROM festgestellt wird. Die CPU 432 macht auf dieses Signal hin die Cache-Eingabe, die der Zieladresse der ROM-Schreiboperation entspricht, ungültig, während die Operation durchgeführt wird.
  • Um diesen Vorgang besser zu verstehen, wird erneut auf das in FIG. 5 gezeigte Fließdiagramm verwiesen. Wenn die Antwort auf den Beginn des Speicher-Schreibzyklusses und einer ROM-Adresse auf dem lokalen Bus "JA" lautet, kann der Speicher-Controller 459 gemäß eines Ausführungsbeispiels der Erfindung, prüfen, ob der auf RAM-Modus adressierte ROM aktiviert ist. Wie oben bereits erwähnt, kann dies durch die Prüfung des Wertes eines Modusfreigabebits geschehen.
  • Wenn die Antwort von Block 503 in FIG. 5 ebenfalls "JA" ist (z.B. der auf RAM-Modus adressierte ROM ist aktiviert), kann der Speicher-Controller 459 das zuvor erwähnte Ungültigkeitssignal einfach über den lokalen Bus 434 an die CPU 432 senden. Dies geschieht zur gleichen Zeit wie die Weiterleitung des CPU-Zyklusses zum Micro-Channel-Bus.
  • Im Computer-System von FIG. 4 sendet der Speicher-Controller 459 auch ein Systemadreßstatussignal (SADS) auf der Leitung 480. Sofern eine BIU-Schnittstelle mit dem Micro-Channel-Bus 452 auf der Leitung 482 vorhanden ist, reagiert der Micro- Channel-Bus 452 auf die vom Speicher-Controller (über die BIU) kommenden Adreß- und Steuersignale insofern, als er das Schreiben in den ROM-Bereich nicht erlaubt.
  • Gleichzeitig reagiert die CPU 432 auf den Empfang des Ungültigkeitssignals über den lokalen Bus, indem sie die Cache- Eingabe, die der bereits auf dem lokalen Bus vorhandenen Adresse entspricht (und die von der CPU selbst dort hingesetzt wurde), ungültig macht. Dieser Vorgang wird ähnlich wie bei bekannten Cache-Ungültigkeitssignalprotokollen durchgeführt, wo der Prozessor nur eine Ungültigkeitsadresse und ein Ungultigkeitssignal benötigt, um eine bestimmte Cache-Eingabe ungültig zu machen.
  • Dieses Protokoll wird im IBM PS/2 Modell 70 verwendet, um externe Schreiboperationen in den Hauptspeicher zu erfassen (z.B. eine Schreiboperation, die von einem externen Busmaster durchgeführt wird), wobei es sich um Daten in einem Cache unter Steuerung eines bestimmten lokalen Speicher-Controller handelt. Wenn eine solche Schreiboperation während des "Snoop"-Zyklusses des lokalen Speicher-Controller erfaßt wird, reagiert der Speicher-Controller (wie oben erwähnt) bekanntermaßen damit, daß er das Ungültigkeitssignal und das Cache- Adreßsignal zur lokalen CPU sendet, so daß die entsprechende Cache-Eingabe von der lokalen CPU ungültig gemacht werden kann.
  • FIG. 6 zeigt ein Zeitdiagramm mit einer Beispielfolge von Ereignissen, die stattfinden, wenn ein lokaler Speicher- Controller herkömmlicher Technik einen "Snoop"-Zyklus verwendet, um die Integrität von Cache-Daten aufrechtzuerhalten.
  • Auf Leitung 1 von FIG. 6 (als "ADD_BUS" bezeichnet) wird eine Adresse der CPU 432 ("AAAAFEH", die Ausgabe auf dem lokalen Bus 434 von FIG. 4) von der CPU auf dem lokalen Bus bis kurz nach dem Start von Zyklus 2 gesendet, wobei die Zyklen 1-7 in FIG. 6 zu sehen sind.
  • Die Leitung 2 von FIG. 6 mit der Bezeichnung "A_HOLD" ist eine Signalausgabe des Speicher-Controller 459 von FIG. 4 (z.B. ein Speicher-Controller, der im PS/2 Modell 70 verwendet wird), mit der bewirkt werden soll, daß die CPU 432 den lokalen Bus freigibt. Ein Signal dieser Art eines Speicher-Controller wird beispielsweise nach Erfassen eines Schreibvorgangs durch einen Busmaster in einen zwischenspeicherbaren Speicherbereich (siehe oben) mit Hilfe herkömmlicher "Snoop"-Techniken gesendet.
  • Speicher-Controller herkömmlicher Technik können auch einen Schreibvorgang in den Zwischenspeicherbereich durch einen anderen Mikroprozessor (z.B. einen anderen 80486) auf dem Micro-Channel-Bus erkennen, oder sogar einen Schreibvorgang in den Zwischenspeicherbereich durch einen anderen Mikroprozessor auf dem lokalen Bus.
  • Fachleuten ist zugleich ersichtlich, daß in jedem der zuvor erwähnten Fälle, wo eine Schreiboperation in einen Zwischenspeicherbereich (anstatt eine Schreiboperation in einen ROM- Bereich bei einem auf RAM adressierten ROM) stattfindet, ein Speicher-Controller den lokalen Bus steuert (über ein in der zweiten Leitung von FIG. 6 gezeigtes Signal des Typs "A_HOLD") und anschließend sowohl die von der entsprechenden CPU ungültig zu machende Adresse der Cache-Speichereingabe als auch das Ungültigkeitssignal über den lokalen Bus zur CPU sendet, um die Ungültigkeitsmachung zu starten.
  • Die Ereignisfolge ist in FIG. 6 dargestellt: der A_HOLD-Zyklus geht in Zyklus 1 nach oben (womit angezeigt wird, daß die Speicher-Controller den lokalen Bus benutzen wollen); die CPU gibt den lokalen Bus während des Zyklusses 2 frei; der Speicher-Controller setzt die Ungültigkeitsadresse auf den Adreßteil des lokalen Busses (Zyklus 3 - in der ersten Leitung von FIG. 6 zu sehen); in Zyklus 4 sendet der Speicher-Controller ein Ungültigkeitssignal. Das im Ungültigkeitssignalprotokoll des IBM PS/2 Modell 70 verwendete Ungültigkeitssignal ist ein externes Adreßstatussignal (EADS). Das Signal auf Leitung 3 von FIG. 6 ist daher auch als EADS gekennzeichnet.
  • Die CPU kann nach Empfang der Ungültigkeitsadresse und des Ungültigkeitssignals auf dem lokalen Bus (beide vom Speicher- Controller gesendet) die entsprechende Cache-Eingabe ungültig machen.
  • Zum Vergleich ist in FIG. 7 ein Zeitdiagramm zu sehen, das (über 8 Zyklen) eine Beispielfolge von Ereignissen zeigt, die gemäß einem Ausführungsbeispiel der Erfindung stattfinden, wenn ein lokaler Speicher-Controller die Integrität der Cache- Daten aufrechterhält, während eine CPU-Schreiboperation in den ROM bei einem auf RAM adressierten ROM durchgeführt wird.
  • Leitung 1 von FIG. 7 zeigt den Adreßteil des lokalen Busses (ADD_BUS). Nach dem Start von Zyklus 1 wird eine CPU-Schreiboperation in den ROM mit einer ROM-Beispieladresse, FFFFFOH, auf dem lokalen Bus durchgeführt. Auf den Leitungen 2, 3 und 4 von FIG. 7 sind andere Signale von der CPU zur Durchführung der Schreiboperation in den ROM zu sehen.
  • Bei Leitung 2 ist ein "M/IO" -Signal zu sehen, das zur Veranschaulichung niedrig ist, um einen I/O-Zyklus anzuzeigen, und hoch ist, um einen Speicherzyklus anzuzeigen. Aus FIG. 7 geht hervor, daß das Signal auf Leitung 2 dann nach oben geht, wenn die Schreiboperation in den ROM beginnt.
  • Das Signal auf Leitung 3 von FIG. 7 ist ein Adreßstatussignal ("ADS"), das im niedrigen Zustand dem Speicher-Controller anzeigt, daß ein Zyklus (Speicher- oder I/O-Zyklus) startet. Dieses Signal wird von der CPU auch während der Schreiboperation in den ROM gesendet.
  • Das Signal auf Leitung 4 von FIG. 7 (ebenfalls von der CPU gesendet) ist ein Schreib-/Lesesignal ("W/R"), bei dem zur Veranschaulichung davon ausgegangen wird, daß es während des Schreibzyklusses hoch ist. Aus FIG. 7 geht hervor, daß das W/R-Signal während der Durchführung der CPU-Schreiboperation in den ROM hoch ist.
  • Die nächsten beiden Leitungen in FIG. 7 (Leitungen 5 und 6) zeigen vom Speicher-Controller gesendete Signale, die gemäß der Erfindung nach Erfassung der CPU-Schreiboperation in den ROM auftreten.
  • Bevor auf die Leitungen 5 und 6 von FIG. 7 näher eingegangen wird, ist festzuhalten, daß der "Snoop"-Zyklus laut Erfindung auch vom Speicher-Controller durchgeführt werden kann, der prüft, ob (1) das ADD_BUS-Signal (siehe Leitung 1 von FIG. 7) im ROM-Bereich ist (wenn der ROM auf RAM adressiert ist), und wann (2) ein Speicherschreibzyklus durchgeführt wird (dies kann über die CPU-Ausgangssignale auf den Leitungen 2 und 4 von FIG. 7 festgestellt werden). Diese Feststellungen stimmen mit den Feststellungen bei den Blöcken 501 und 502 von FIG. 5 überein.
  • Bei den Leitungen 5 und 6 von FIG. 7 wird das oben erwähnte SADS-Signal (zur Weiterleitung des CPU-Zyklusses an den Micro- Channel-Bus in einem Ausführungsbeispiel der Erfindung) vom Speicher-Controller während des Zyklusses 4 gesendet (auf Leitung 5), während das Ungültigkeitssignal (das externe Adreßstatussignal "EADS" im IBM PS/2 Modell 70) ebenfalls vom Speicher-Controller während des Zyklusses 4 gesendet wird (auf Leitung 6). In FIG. 4 wird das SADS-Signal auf Bus 480 ausgegeben, während das EADS-Signal auf dem lokalen Bus 434 ausgegeben wird.
  • Die von der CPU benötigte Ungültigkeitsadresse befindet sich bereits im Adreßbereich des lokalen Busses (wo sie die CPU selbst während der Durchführung der Schreiboperation in den ROM gesetzt hat). Im Gegensatz zu den in FIG. 6 dargestellten Ereignissen muß der Speicher-Controller kein A_HOLD-Signal erzeugen, um das Ergebnis der in FIG. 7 gezeigten Folge zu erzielen.
  • Zuletzt wird auf Leitung 7 von FIG. 7 ein "READY"-Signal gezeigt, das vom Speicher-Controller kommt und anzeigt, daß der Schreibzyklus beendet ist.
  • Somit wurden die Verfahren und eine Vorrichtung zur Aufrechterhaltung der Datenintegrität in einem Cache-Speicher vorgestellt, wenn eine CPU-Schreiboperation in den ROM bei einem auf RAM adressierten ROM stattfindet. Bei diesen Verfahren und der Vorrichtung werden bestehende Systemkomponenten (Speicher-Controller, CPUS usw.) ohne Einsatz zusätzlicher Hardware in das Computer-System implementiert.
  • Darüber hinaus führen die Verfahren und die Vorrichtung die notwendigen Funktionen durch, um die Cache-Integrität während einer CPU-Schreiboperation in den ROM aufrechtzuerhalten.
  • Des weiteren ist ein "Snoop"-Zyklus in den Speicher-Controller implementiert, der für die Kooperation mit einer CPU während der von der CPU durchgeführten Schreiboperationen in den ROM verantwortlich ist (bei einem auf RAM adressierten ROM).
  • Darüber hinaus werden bestehende Signalprotokolle zur Ungültigmachung der Cache-Eingaben (zur Aufrechterhaltung der Cache-Integrität) zusammen mit dem zuvor erwähnten "Snoop"- Zyklus verwendet, um CPU-Schreiboperationen in den ROM zu erfassen, so daß der Gesamtaufbau und die Komplexität des Computer-Systems nicht geändert werden muß, um die gewünschte Cache-Ungültigkeitsprozedur durchzuführen.

Claims (8)

1. Ein Verfahren zur Aufrechterhaltung der Cache-Integrität in einem Computer-System, das über eine Zentraleinheit (CPU), einen zur CPU gehörenden Cache-Speicher, einen Direktzugriffsspeicher (RAM), einen Festwertspeicher (ROM), einen lokalen Speicher-Controller zur Steuerung der Kooperation zwischen der CPU, dem Cache-Speicher, dem RAM und ROM, sowie einen lokalen Bus zur Verbindung des lokalen Speicher-Controller und der CPU verfügt, wobei das Computer-System einen auf RAM-Betriebsmodus adressierten ROM unterstützen kann, und das Verfahren durch folgende Schritte gekennzeichnet ist:
(a) die Implementierung eines "Snoop"-Zyklusses des lokalen Speicher-Controller, um CPU-Schreiboperationen in den ROM festzustellen, wenn der auf RAM-Modus adressierte ROM aktiviert ist; und
(b) die Bereitstellung eines Cache-Eingabe-Ungültigkeitssignals für die CPU, um eine Cache-Eingabe ungültig zu machen, die der Zieladresse der Schreiboperation in den ROM entspricht, wenn eine CPU-Schreiboperation in den ROM bei einem auf RAM adressierten ROM stattfindet.
2. Ein Verfahren nach Anspruch 1, bei dem der CPU das Cache- Eingabe-Ungültigkeitssignal über den lokalen Bus zugeführt wird.
3. Ein Verfahren nach Anspruch 1 oder 2, das weiterhin den Schritt umfaßt, die CPU als Reaktion auf das Ungültigkeitssignal dazu zu verwenden, eine Cache-Eingabe in den Cache-Speicher, die der Zieladresse der CPU-Schreiboperation in den ROM entspricht, ungültig zu machen.
4. Ein Verfahren nach einem der oben genannten Ansprüche,
bei dem der Schritt zur Implementierung des "Snoop"-Zyklusses des lokalen Speicher-Controller weiterhin folgende Schritte umfaßt:
(a) die Feststellung, ob ein Speicherschreibzyklus von der CPU eingeleitet wurde;
(b) die Feststellung, ob sich eine ROM-Adresse auf dem lokalen Bus befindet; und
(c) die Feststellung, ob der auf RAM-Betriebsmodus adressierte ROM des Systems aktiviert ist.
5. Ein Computer-System mit einem Mittel zur Aufrechterhaltung der Cache-Integrität, wobei das Computer-System eine Zentraleinheit (CPU), einen zur CPU gehörenden Cache- Speicher, einen Direktzugriffsspeicher (RAM), einen Festwertspeicher (ROM), einen lokalen Speicher-Controller zur Steuerung der Kooperation zwischen der CPU, dem Cache- Speicher, dem RAM und ROM sowie einen lokalen Bus zur Verbindung des lokalen Speicher-Controller und der CPU umfaßt, wobei das Computer-System einen auf RAM-Betriebsmodus adressierten ROM unterstützen kann, und das Computer-System weiterhin folgendes umfaßt:
(a) eine Mittel, das über den lokalen Bus mit der CPU verbunden ist, um den "Snoop"-Zyklus des lokalen Speicher-Controller zu implementieren, wenn der auf RAM-Betriebsmodus adressierte ROM des Systems aktiviert ist, um CPU- Schreiboperationen in den ROM zu erfassen; und
(b) ein Signalmittel, das über den lokalen Bus mit der CPU verbunden ist, und auf die Erfassung einer CPU-Schreiboperation in den ROM reagiert, um ein Cache-Eingabe- Ungültigkeitssignal zur CPU zu senden, wenn eine CPU- Schreiboperation in den ROM bei einem auf RAM adressierten ROM stattfindet, so daß eine Cache-Eingabe ungültig gemacht wird, die der Zieladresse der Schreiboperation in den ROM entspricht.
6. Ein Computer-System nach Anspruch 5, bei dem die CPU als Reaktion auf das Ungültigkeitssignal eine Cache-Eingabe in den Cache-Speicher ungültig macht, die der Zieladresse der CPU-Schreiboperation in den ROM entspricht.
7. Ein Computer-System nach Anspruch 5 oder 6, bei dem die CPU die Zieladresse der CPU-Schreiboperation in den ROM auf den lokalen Bus setzt und als Reaktion auf das Ungültigkeitssignal eine Cache-Eingabe ungültig macht, die der Adresse auf dem lokalen Bus entspricht.
8. Ein Computer-System nach Anspruch 5, 6 oder 7, das weiterhin ein Speichermittel zum Sortieren mindestens eines Modusfreigabebits umfaßt, das den Betriebsmodus des Computer-Systems anzeigt.
DE69109803T 1990-10-26 1991-09-16 Verfahren und Vorrichtung zur Aufrechterhaltung der Integrität eines Cachespeichers. Expired - Fee Related DE69109803T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/604,837 US5193170A (en) 1990-10-26 1990-10-26 Methods and apparatus for maintaining cache integrity whenever a cpu write to rom operation is performed with rom mapped to ram

Publications (2)

Publication Number Publication Date
DE69109803D1 DE69109803D1 (de) 1995-06-22
DE69109803T2 true DE69109803T2 (de) 1995-11-30

Family

ID=24421248

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69109803T Expired - Fee Related DE69109803T2 (de) 1990-10-26 1991-09-16 Verfahren und Vorrichtung zur Aufrechterhaltung der Integrität eines Cachespeichers.

Country Status (9)

Country Link
US (1) US5193170A (de)
EP (1) EP0482752B1 (de)
JP (1) JPH0797353B2 (de)
KR (1) KR950013261B1 (de)
CN (1) CN1024599C (de)
AU (1) AU652178B2 (de)
CA (1) CA2052766C (de)
DE (1) DE69109803T2 (de)
HK (1) HK24196A (de)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0510242A2 (de) * 1991-04-22 1992-10-28 Acer Incorporated Anordnung und Verfahren zur Verwaltung der Leitweglenkungsausführung in einer Rechneranordnung
US5319768A (en) * 1991-05-01 1994-06-07 Sgs-Thomson Microelectronics, Inc. Control circuit for resetting a snoop valid bit in a dual port cache tag memory
US5341487A (en) * 1991-12-20 1994-08-23 International Business Machines Corp. Personal computer having memory system with write-through cache and pipelined snoop cycles
US5966728A (en) * 1992-01-02 1999-10-12 International Business Machines Corp. Computer system and method for snooping date writes to cacheable memory locations in an expansion memory device
US5724549A (en) * 1992-04-06 1998-03-03 Cyrix Corporation Cache coherency without bus master arbitration signals
US5313593A (en) * 1992-09-17 1994-05-17 International Business Machines Corp. Personal computer system with bus noise rejection
US5603011A (en) * 1992-12-11 1997-02-11 International Business Machines Corporation Selective shadowing and paging in computer memory systems
US5526512A (en) * 1993-09-20 1996-06-11 International Business Machines Corporation Dynamic management of snoop granularity for a coherent asynchronous DMA cache
CN1052550C (zh) * 1993-09-20 2000-05-17 国际商业机器公司 对高速缓冲存储器探测粒度的动态管理
DE69429777T2 (de) * 1993-09-30 2002-10-17 Apple Computer System zur dezentralen massenspeichersteuerung eines rechners mit virtuellem speicher
US5526503A (en) * 1993-10-06 1996-06-11 Ast Research, Inc. Virtual addressing buffer circuit
US6421776B1 (en) * 1994-10-14 2002-07-16 International Business Machines Corporation Data processor having BIOS packing compression/decompression architecture
US5617557A (en) * 1994-11-14 1997-04-01 Compaq Computer Corporation Using an address pin as a snoop invalidate signal during snoop cycles
EP0735481B1 (de) * 1995-03-31 2003-05-14 Sun Microsystems, Inc. Mechanismus auf Systemebene zum Entwerten von Daten, die im externen Cache eines Prozessors in einem Computersystem gespeichert sind
US5652859A (en) * 1995-08-17 1997-07-29 Institute For The Development Of Emerging Architectures, L.L.C. Method and apparatus for handling snoops in multiprocessor caches having internal buffer queues
US5940850A (en) * 1996-10-31 1999-08-17 International Business Machines Corporation System and method for selectively enabling load-on-write of dynamic ROM data to RAM
US5900017A (en) * 1997-05-14 1999-05-04 International Business Machines Corporation Snooping a variable number of cache addresses in a multiple processor system by a single snoop request
US6003103A (en) * 1997-09-30 1999-12-14 Micron Electronics, Inc. Method for attachment or integration of a bios device into a computer system using a local bus
US6076118A (en) * 1997-09-30 2000-06-13 Micron Electronics, Inc. Attachment or integration of a BIOS device into a computer system using the system memory address and data bus
US6182213B1 (en) 1997-09-30 2001-01-30 Micron Electronics, Inc. Method for attachment of a bios device into a computer system using the system memory data bus
US6009522A (en) * 1997-09-30 1999-12-28 Micron Electronics, Inc. Attachment or integration of a BIOS device into a computer system using the system memory data bus
TW480404B (en) * 1999-08-31 2002-03-21 Ibm Memory card with signal processing element
JP4097883B2 (ja) * 2000-07-04 2008-06-11 松下電器産業株式会社 データ転送装置および方法
EP1320035A1 (de) * 2001-12-11 2003-06-18 Thomson Licensing S.A. Verwaltung des Cachespeichers einer Speichervorrichtung
US20130124800A1 (en) * 2010-07-27 2013-05-16 Freescale Semiconductor, Inc. Apparatus and method for reducing processor latency

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4392200A (en) * 1980-01-28 1983-07-05 Digital Equipment Corporation Cached multiprocessor system with pipeline timing
JPS59121677A (ja) * 1982-12-28 1984-07-13 Mitsubishi Electric Corp 記憶装置
JPS6115252A (ja) * 1984-06-29 1986-01-23 Mitsubishi Electric Corp 主記憶デイスク装置
US4785398A (en) * 1985-12-19 1988-11-15 Honeywell Bull Inc. Virtual cache system using page level number generating CAM to access other memories for processing requests relating to a page
US5091846A (en) * 1986-10-03 1992-02-25 Intergraph Corporation Cache providing caching/non-caching write-through and copyback modes for virtual addresses and including bus snooping to maintain coherency
JPS63308653A (ja) * 1987-06-10 1988-12-16 Fujitsu Ltd ブロック・イン方式
US5091850A (en) * 1987-09-28 1992-02-25 Compaq Computer Corporation System for fast selection of non-cacheable address ranges using programmed array logic
EP0309995B1 (de) * 1987-09-28 1994-11-30 Compaq Computer Corporation System zur schnellen Auswahl von nicht-cachespeicherbaren Adressenbereichen mittels einer programmierbaren Logikmatrix
JPH083803B2 (ja) * 1987-12-25 1996-01-17 株式会社日立製作所 Nmi処理方法
JPH01303546A (ja) * 1988-05-31 1989-12-07 Nec Corp メモリ制御方式
JP2613258B2 (ja) * 1988-06-08 1997-05-21 株式会社日立製作所 情報処理方法及び装置
US5119485A (en) * 1989-05-15 1992-06-02 Motorola, Inc. Method for data bus snooping in a data processing system by selective concurrent read and invalidate cache operation

Also Published As

Publication number Publication date
JPH0581128A (ja) 1993-04-02
KR950013261B1 (ko) 1995-10-26
AU8482491A (en) 1992-04-30
JPH0797353B2 (ja) 1995-10-18
EP0482752A3 (en) 1992-07-08
CA2052766C (en) 1996-01-02
CA2052766A1 (en) 1992-04-27
KR920008601A (ko) 1992-05-28
EP0482752B1 (de) 1995-05-17
US5193170A (en) 1993-03-09
CN1024599C (zh) 1994-05-18
AU652178B2 (en) 1994-08-18
CN1060916A (zh) 1992-05-06
DE69109803D1 (de) 1995-06-22
EP0482752A2 (de) 1992-04-29
HK24196A (en) 1996-02-16

Similar Documents

Publication Publication Date Title
DE69109803T2 (de) Verfahren und Vorrichtung zur Aufrechterhaltung der Integrität eines Cachespeichers.
DE3909896C2 (de)
DE69127773T2 (de) Vorrichtung zur echten LRU-Ersetzung
DE3688192T2 (de) Seitenorganisierter cachespeicher mit virtueller adressierung.
DE68902193T2 (de) Datenspeicheranordnung.
DE69203842T2 (de) Speichersteuerungsvorrichtung mit Snoop-Mechanismus.
DE68910391T2 (de) Verfahren zum Speicherdatenzugriff.
DE68924306T2 (de) Mehrprozessorrechneranordnungen mit gemeinsamem Speicher und privaten Cache-Speichern.
DE3750107T2 (de) Cachespeicherkohärenzsteuerung mit einem Speicher, der ein laufendes Lesen anzeigt.
DE68927172T2 (de) Multiprozessorsystem mit cache-speichern
DE3588009T2 (de) Vorrichtung und Verfahren zum Rekonfigurieren eines Speichers in einer Datenverarbeitungsanordnung.
DE68926936T2 (de) Vorrichtung und Technik für Burstprogrammierung
DE69629140T2 (de) Cachefähigkeitsattribut für virtuelle Adressen in Cachespeichern mit sowohl virtuellen als auch physikalischem Index
DE3886182T2 (de) Mehrcachedatenspeicheranordnung.
DE69721590T2 (de) Ein bereichsbasiertes seiten-table-walk-bit verwendendes verfahren sowie vorrichtung
DE69031967T2 (de) Informationsverarbeitungsanordnung
DE3689488T2 (de) Speicheranordnung mit vereinfachtem und schnellem Daten-Cachespeicher.
DE69025302T2 (de) Hochleistungsrasterpuffer- und -cachespeicheranordnung
DE3852695T2 (de) Multiprozessorsystem mit mehreren Speichern.
DE69732181T2 (de) Verfahren und gerät zum zwischenspeichern von systemverwaltungsinformationen mit anderen informationen
DE3586299T2 (de) Ein-/ausgabesteuereinheit fuer mehrfache verschiedenartige serielle speicher mit einem cache-speicher.
DE69219433T2 (de) Virtueller Durchschreibcachespeicher Synonym-Adressierung und Cache-Ungültigkeitserklärungen
DE68928343T2 (de) Schreib-Lese/Schreib-Weitergabe-Speichersubsystemzyklus
DE68924368T2 (de) Datenverarbeitungssystem mit verzögertem Cache-Schreibvorgang.
DE10006430B4 (de) Verfahren zur Aufrechterhaltung einer Kohärenz für ein Multi-Prozessor-System

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee