[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

DE69127111T2 - Verfahren zum Nachladen aufgeschobener Datenauslagerungen in einen Copy-back Daten-Cachespeicher - Google Patents

Verfahren zum Nachladen aufgeschobener Datenauslagerungen in einen Copy-back Daten-Cachespeicher

Info

Publication number
DE69127111T2
DE69127111T2 DE69127111T DE69127111T DE69127111T2 DE 69127111 T2 DE69127111 T2 DE 69127111T2 DE 69127111 T DE69127111 T DE 69127111T DE 69127111 T DE69127111 T DE 69127111T DE 69127111 T2 DE69127111 T2 DE 69127111T2
Authority
DE
Germany
Prior art keywords
cache
read
controller
bus interface
addressable data
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
DE69127111T
Other languages
English (en)
Other versions
DE69127111D1 (de
Inventor
Robin W Edenfield
William B Ledbetter
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.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
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 Motorola Inc filed Critical Motorola Inc
Application granted granted Critical
Publication of DE69127111D1 publication Critical patent/DE69127111D1/de
Publication of DE69127111T2 publication Critical patent/DE69127111T2/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
    • 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/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc

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)

Description

    BEREICH DER ERFINDUNG
  • Diese Erfindung bezieht sich auf ein Verfahren zum Nachladen aufgeschobener Datenauslagerungen in einen Copy-back Daten-Cachespeicher.
  • HINTERGRUND DER ERFINDUNG
  • Die Aufrechterhaltung der Bandbreite des externen Speicherbusses wird zu einer signifikanten Konzeptionsbetrachtung bei gleichzeitigem Anstieg der Mikroprozessorgeschwindigkeiten. Diese schnelleren Mikroprozessoren richten in zunehmendem Maße Anfragen an das Speichersystem und an Mehrfachprozessoren sowie DMA-Geräte, die den gleichen Systembus benutzen. Die M68000-Reihe der Mikroprozessoren benutzt normalerweise 90-95% der externen Busbandbreite aufgrund der ausgesprochen effizienten, in Reihen geschalteten internen Architektur der Zentrarozessoreinheit (CPU). In einigen Systemen entstand das Problem der unzureichenden Busbandbreite durch Cachespeicher-Pläne, insbesondere Cachespeicher, die umfangreiche Dateneinträge (deutlich größer als der Bus) unterbringen.
  • Die Cachespeicher-Pläne wurden von Computer-Designern benutzt, um die Zugriffszeiten einer CPU auf den Hauptspeicher zu reduzieren und dadurch die Systemleistung zu steigern. In vielen Computersystemen besteht der Hauptspeicher aus einem großen Bereich mit Speichergeräten, deren Geschwindigkeiten im Vergleich mit Prozessorgeschwindigkeiten langsam sind. Während der Zugriffe auf den Hauptspeicher wird der Prozessor gezwungen, zusätzlichen Wartestatus einzufügen, um die langsameren Speichergeräte unterzubringen. Mit einem Cache kann die Systemleistung während der Speicherzugriffe verbessert werden. Kleiner als der Hauptspeicher und deutlich schneller, bietet der Cache schnelle lokale Speicherung für Daten und Befehlscode, der häufig von dem Prozessor benutzt wird. In Computersystemen mit Cachespeichern werden Speicheroperationen von dem Prozessor zuerst über den Cachespeicher abgewickelt. Auf den langsameren Hauptspeicher wird nur von dem Prozessor zugegriffen, wenn die Speicheroperation mit dem Cachespeicher nicht abgeschlossen werden kann. Im allgemeinen kann der Prozessor mit hoher Wahrscheinlichkeit einen Großteil seiner Speicheroperationen durch den Cachespeicher erfüllen. Demzufolge können in Computersystemen, die einen Cachespeicher benutzen, die effektiven Speicherzugriffszeiten zwischen einem Prozessor und dem relativ langsamen Hauptspeicher reduziert werden.
  • Die Cachespeicher können dank einer Anzahl unterschiedlicher Einrichtungen wesentlich optimiert werden. Eine wichtige Einrichtung, welche die Leistung des Cachespeichers und die Konzeptionskomplexität beeinflußt, ist das Schreiben durch den Prozessor oder einen alternativen Busmaster. Da zwei Kopien eines bestimmten Datenteus oder Befehlscodes vorhanden sein können, eine im Hauptspeicher und eine Kopie im Cachespeicher, kann es beim Schreiben in den Haupt- oder in den Cachespeicher zu Inkohärenz zwischen den beiden Speichersystemen kommen. Die bestimmten Daten werden beispielsweise in einer zuvor bestimmten Adresse sowohl im Cache- als auch im Hauptspeicher gespeichert. Während ein Prozessor die zuvor bestimmte Adresse schreibt, prüft der Prozessor zuerst die Inhalte des Cachespeichers für die Adresse. Nachdem die Adresse im Cachespeicher gefunden wurde, fährt der Prozessor fort, die neuen Daten unter der zuvor bestimmten Adresse in den Cachespeicher zu schreiben. Daraus ergibt sich, daß die Daten im Cachespeicher geändert werden, jedoch nicht im Hauptspeicher. Deshalb kommt es zwischen Cache- und Hauptspeicher zu Inkohärenz.
  • Der Inkohärenz zwischen Cache- und Hauptspeicher, die entsteht, während der Prozessor Schreibvorgänge ausführt, kann mit Hilfe zweier Techniken begegnet werden. In einer ersten Technik garantiert ein "Write-through" Cachespeicher Konsistenz zwischen Cache- und Hauptspeicher, indem während der Schreibvorgänge des Prozessors sowohl in den Cache- als auch in den Hauptspeicher geschrieben wird. Die Inhalte von Cache- und Hauptspeicher sind immer identisch, und so sind die beiden Speichersysteme stets kohärent. In einer zweiten Technik, einer "Write-back"- oder "Copy back"-Technik, bearbeitet der Cachespeicher die Schreibvorgänge des Prozessors, indem nur in den Cachespeicher geschrieben wird, und ein "dirty" Bit(s) gesetzt wird, um die Cachespeicher-Einträge zu kennzeichnen, die von dem Prozessor geändert wurden. Ein nachfolgender Versuch des Prozessors auf den Cachespeicher zuzugreifen, resultiert in einer Meldung des Cachespeichers "miss" und kann den Ersatzalgorithmus veranlassen, den veränderten Cachespeicher-Eintrag zum Ersatz auszuwählen, und den gesamten, veränderten Cachespeicher-Eintrag oder veränderte Teile davon in den Hauptspeicher zu drücken "push" (übertragen). Die neuen Daten werden an der Stelle in den Cachespeicher geschrieben, die durch den veränderten Eintrag frei geworden ist. Diese Prozessoren entladen im allgemeinen veränderte Cachespeicher-Einträge durch einen Burst-Write-Transfer der gesamten Cachespeicher-Leitung an den Hauptspeicher. Da die Cachespeicher-Einträge deutlich größer als der Systembus ist, benutzt Burst-Write der gesamten Cachespeicher-Leitung im Hauptspeicher einen erheblichen Teil der Busbandbreite.
  • Um der steigenden Leistung mit einer minimalen Busbandbreite zu begegnen, werden Mikroprozessoren und Computersysteme ihren Bedarf an Copy-back Daten- Cachespeichern erhöhen. Copy-back Daten-Cachespeicher können veränderte Daten bis zum Abschluß des Ladens des Ersatz-Cachespeicher-Eintrags aufschieben. Dieser Vorgang, die Leitung "push" aufzuschieben während der Abschluß des Leitungsauslesens aus dem Speicher noch in der Schwebe ist, erfordert das Puffern des aufgeschobenen Eintrags. Wenn das Leitungsauslesen, um den Cachespeicher zu laden, aufgrund von externen Busproblemen (z. B. Busfehler oder eine Bus-Cachespeicher-Sperre) versagt, kann die Leistung der Leitung "push" des zu ersetzenden Eintrags das Auftreten einer weiteren Ausnahmebedingung (d.h. einen weiteren Busfehler) auslösen. Des weiteren wird bei dem Vorgehen mit der Leitung "push" der Daten-Cachespeicher unnötigerweise geleert, was bei einem Eintrag, der später noch benötigt wird, nicht sinnvoll ist, und somit einen Verstoß gegen die Systemleistung bedeutet. Demzufolge bedingt die effiziente Nutzung der Copy-back Schreibstrategie einen Mechanismus, um die Nutzung des Halteregisters zu optimieren, wenn die Cachespeicher-Ladung infolge eines anormalen Abschlusses der Busübertragung nach Leitungslesen versagt.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Demgemäß ist ein Gegenstand der vorliegenden Erfindung, ein verbessertes Verfahren zum Nachladen aufgeschobener Datenauslagerungen in einen Copy-back Daten-Cachespeicher bereitzustellen, um die Cachespeicher-Nutzung zu optimieren.
  • Es ist ein weiterer Gegenstand der vorliegenden Erfindung, einen verbesserten Datenprozessor bereitzustellen, der einen Copy-back Daten-Cachespeicher hat, der in der Lage ist, Datenauslagerungen mit veränderten Daten, die durch das Laden eines Daten-Cachespeicher-Eintrags verursacht werden, aufzuschieben.
  • Es ist auch ein weiterer Gegenstand der vorliegenden Erfindung, ein verbessertes Verfahren bereitzustellen, welches das Potential bei mehreren gleichzeitig auftretenden Ausnahmebedingungen, die der Verwaltung eines Copy-back Daten- Cachespeichers anzulasten sind, aufhebt.
  • Diese und andere Gegenstände der vorliegenden Erfindung werden mit einem Verfahren in einem Datenprozessor mit einer Busschnittstellensteuerung erreicht, die über einen Systembus mit einem externen Speicher verbunden ist, um eine Vielzahl von adressierbaren Dateneinträgen aus dem externen Speicher zurückzuholen, und die Vielzahl von adressierbaren Dateneinträgen in einen Copy back Daten-Cachespeicher zu laden, als Antwort auf eine Anforderung für eine Leitungsübertragung (Lesen), die von einem Cache-Steuergerät generiert wird, und um einen ausgewählten, veränderten adressierbaren Dateneintrag aus einem temporären Halteregister im Cachespeicher an den externen Speicher als Antwort auf eine Anforderung für eine Leitungsübertragung (Schreiben), die von diesem Cache-Steuergerät generiert wurde, zu übertragen. Der Cachespeicher wird mit dem ausgewählten, veränderten adressierbaren Dateneintrag bei Auftreten eines anormalen Abschlusses dieser Leitungsübertragung (Lesen) neu geladen. Die Anforderung für die Leitungsübertragung (Lesen) und eine erste Leseadresse, vorzugsweise gleichzeitig, an die Busschnittstellensteuerung zu einem Zeitpunkt zu übertragen, wenn der veränderte adressierbare Dateneintrag im Cachespeicher, der zum Ersatz ausgewählt wird, von dem Cache-Steuergerät ungültig gemacht wird, und aus dem Cachespeicher in das Halteregister geschrieben wird. Der ausgewählte, veränderte adressierbare Dateneintrag wird aus dem Halteregister erneut in den Cachespeicher zu einem Zeitpunkt geladen, wenn die Busschnittstellensteuerung den anormalen Abschluß der Leitungsübertragung (Lesen) angibt, und der ausgewählte, veränderte adressierbare Dateneintrag vom Cache-Steuergerät im Cachespeicher wieder gültig gemacht wird.
  • in einem Aspekt liefert die Erfindung ein Verfahren in einem Datenprozessor mit einer Busschnittstellensteuerung, die über einen Systembus mit einem externen Speicher verbunden ist, um eine Vielzahl von adressierbaren Dateneinträgen aus dem externen Speicher zurückzuholen, und die Vielzahl von adressierbaren Dateneinträgen in einen Copy-back Daten-Cachespeicher zu laden, als Antwort auf eine Anforderung für eine Leitungsübertragung (Lesen), die von einem Cache- Steuergerät generiert wird, und um einen veränderten adressierbaren Dateneintrag, der zum Ersatz ausgewählt wurde, aus dem Cachespeicher an den externen Speicher als Antwort auf eine Anforderung für eine Leitungsübertragung (Schreiben), die von diesem Cache-Steuergerät generiert wurde, zu übertragen, wobei dieses Verfahren, den Cachespeicher mit dem veränderten adressierbaren Dateneintrag bei Auftreten eines anormalen Abschlusses dieser Leitungsübertragung (Lesen) neu lädt, durch Schritte gekennzeichnet ist, um diese Anforderung für die Leitungsübertragung (Lesen) und eine erste Leseadresse, vorzugsweise gleichzeitig, an die Busschnittstellensteuerung zu einem Zeitpunkt zu übertragen, wenn der veränderte adressierbare Dateneintrag im Cachespeicher ungültig gemacht wird und aus dem Cachespeicher in das Halteregister geschrieben wird;
  • einen ersten adressierbaren Dateneintrag, der der ersten Leseadresse entspricht, vom externen Speicher über den Systembus an den Cachespeicher zu übertragen;
  • den veränderten adressierbaren Dateneintrag aus dem Halteregister erneut in den Cachespeichern zu einem Zeitpunkt zu laden, wenn die Busschnittstellensteuerung den anormalen Abschluß der Leitungsübertragung (Lesen) angibt, und der veränderte adressierbare Dateneintrag vom Cache-Steuergerät im Cachespeicher wieder gültig gemacht wird.
  • In einem weiteren Aspekt liefert die Erfindung ein Verfahren in einem Datenprozessor mit einer Busschnittstellensteuerung, die über einen Systembus mit einem externen Speicher verbunden ist, um eine Vielzahl von adressierbaren Dateneinträgen aus dem externen Speicher zurückzuholen, und die Vielzahl von adressierbaren Dateneinträgen in einen Copy-back Daten-Cachespeicher zu laden, als Antwort auf eine Anforderung für eine Leitungsübertragung (Lesen), die von einem Cache-Steuergerät generiert wird, und um einen veränderten adressierbaren Dateneintrag, der zum Ersatz ausgewählt wurde, aus dem Cachespeicher an den externen Speicher als Antwort auf eine Anforderung für eine Leitungsübertragung (Schreiben), die von diesem Cache-Steuergerät generiert wurde, zu übertragen, wobei dieses Verfahren, den Cachespeicher mit dem veränderten adressierbaren Dateneintrag bei Auftreten eines anormalen Abschlusses dieser Leitungsübertragung (Lesen) neu lädt, durch Schritte gekennzeichnet ist, um
  • diese Anforderung für die Leitungsübertragung (Lesen) und eine erste Leseadresse, vorzugsweise gleichzeitig, an die Busschnittstellensteuerung zu einem Zeitpunkt zu übertragen, wenn der veränderte adressierbare Dateneintrag im Cachespeicher ungültig gemacht wird;
  • einen ersten adressierbaren Dateneintrag, der der ersten Leseadresse entspricht, vom externen Speicher über den Systembus an den Cachespeicher zu übertragen, den veränderten adressierbaren Dateneintrag im Cachespeicher wieder gültig zu machen, wenn die Busschnittstellensteuerung angibt, daß die Leitungsübertragung (Lesen) anormal beendet wurde.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • FIG. 1 ist ein Blockdiagramm, das ein IS-Datenverarbeitungssystem zur Implementierung der vorliegenden Erfindung zeigt.
  • FIG. 2 ist ein Blockdiagramm, das ein bevorzugtes Ausführungsbeispiel des Daten-Cachespeichereintrags-Ersatzplans im Copy-back Daten- Cachespeicher von FIG. 1 gemäß der vorliegenden Erfindung zeigt.
  • AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
  • In FIG. 1 ist ein Blockdiagramm von einem bevorzugten Ausführungsbeispiel eines Datenverarbeitungssystems 10 dargestellt, um die vorliegende Erfindung, einschließlich einer CPU 12, eines Daten-Cache-Steuergeräts 14, eines Daten- Cachespeichers 16, eines internen Busses 18, einer Busschnittstellensteuerung 20, Puffern 22, eines Systembusses 24, eines Hauptspeichers 26, eines DMA-Geräts 28, einer Festplatte 30 und eines Adreßregisters 32 zu implementieren. Das Datenverarbeitungssystem 10 zeigt ein typisches Uni-Prozessor-System, das einen einzelnen Cachespeicher benutzt, der zur Unterstützung der vorliegenden Erfindung benutzt wird. In dem bevorzugten Ausführungsbeispiel ist der interne Bus 18 n-Bytes breit, wobei n-Bytes die Breite der größten, natürlichen Datenart der CPU 12 ist (d. h. 4 Bytes), und der Systembus 24 ist m-Bytes breit ist, wobei m-Bytes die Breite einer einzelnen Leitung des Daten-Cachespeichers 16 (d.h. 16 Bytes) ist. In der dargestellten Form ist die CPU 12 eine erste, interne Funktionseinheit mit einer konventionellen Ausführungseinheit, um einen zuvor bestimmten Satz von Befehlen auszuführen. Das Daten-Cache-Steuergerät 14 ist eine zweite, interne Funktionseinheit, welche die Steuersignale von der Busschnittstellensteuerung 20 und der CPU 12 empfängt, und die Datenübertragungen zwischen dem Daten- Cachespeicher 16, der CPU 12 und der Busschnittstellensteuerung 20 steuert. Der Daten-Cache-Speicher 16 ist eine dritte Funktionseinheit, die mit dem Daten-Cache- Steuergerät 14, den Puffern 22 und dem internen Bus 18 gekoppelt ist.
  • Das Daten-Cache-Steuergerät 14 unterstützt auch Bus-Snooping, um die Kohärenz zwischen dem Daten-Cachespeicher 16 und dem Hauptspeicher 26 durch Überwachung des Systembusses 24 aufrechtzuerhalten, wenn die CPU 12 nicht der aktuelle Busmaster ist, wie dies in einer gleichzeitig anhängigen Patentanmeldung mit dem Titel "A Data Bus Snoop Controller for Concurrent Read and Invalidate Memory Operation", Serial No. 07/351,898, von Wilam Ledbetter et al. beschrieben wurde und dem Antragsteller zuerkannt wurde. Der Daten-Cachespeicher 16 ist eine dritte Funktionseinheit, die mit dem Daten-Cache-Steuergerät 14, den Puffern 22 und dem internen Bus 18 gekoppelt ist. Der Daten-Cachespeicher 16 enthält die passende Logik, die notwendig ist, um den Cachespeicher auszulesen, in diesen zu schreiben, zu aktualisieren, diesen ungültig zu machen und abzuschließen. In dem bevorzugten Ausführungsbeispiel funktionieren die drei internen Funktionseinheiten gleichzeitig, um für eine maximale Leistung zu sorgen.
  • In dem bevorzugten Ausführungsbeispiel ist der Daten-Cachespeicher 16 ein 4poliger Assoziativ-Cachespeicher, mit vierundsechzig (64) Sätzen von vier (4) 16- Byte-Cachespeicher-Leitungen, wobei jede Cachespeicher-Leitung vier Langwörter (LW1-LW4) enthält, und jedes Langwort (LW) aus zweiunddreißig aufeinanderfolgenden Bits besteht. Demgemäß hat der Daten-Cachespeicher 16 eine Gesamtspeicherkapazität von 4K8. Zu jeder Cachespeicher-Leitung 32 gehört eine Adresse (TAG) und Statusinformation, wie diese in FIG. 2 dargestellt ist. Die Statusinformation besteht für jede Cachespeicher-Leitung 32 aus der Gültigkeit pro Leitung (erster Statuseingang), und dem Schreibstatus - "verändert" (zweiter Statuseingang) für jedes Langwort (LW) in der Daten-Cachespeicher-Leitung 32. Demgemäß hat die Daten-Cachespeicher-Leitung 32 ein erstes VALID (V) Bit und ein DIRTY (D) Bit, die zu jedem Langwort gehören (LW1 -LW4), wie dies in FIG. 2 dargestellt ist. Es gibt drei mögliche Status für jede Daten-Cachespeicher-Leitung 32, VALID, INVALID und DIRTY. Wenn das VALID Bit gelöscht wird, dann sind in der Cachespeicher-Leitung, die einen INVALID Status angibt, keine Daten gespeichert. Wenn das VALID (V) Bit und kein DIRTY Bit gesetzt ist, ist die Daten- Cachespeicher-Leitung 32 gültig und enthält Daten, die mit den Daten, die im Hauptspeicher 26 in dem entsprechenden Speicherplatz gespeichert sind, konsistent sind. Wenn das VALID Bit gesetzt ist und ein oder mehr DIRTY Bit(s) gesetzt wird bzw. werden, sind die Daten in der Cachespeicher-Leitung gültig, aber im Speicher 26 nicht konsistent. Die Benutzung der Mehrfach-DIRTY-Bits um die Anzahl der Speicherzugriffe einzuschränken, die zum Entladen eines veränderten Cachespeicher-Eintrags erforderlich sind, wird in der gleichzeitig anhängigen US Patentanmedung mit dem Titel "Mixed Size Data Cache Status Fields", Serial No. 07/351,899 von Robin W. Edenfield et al. beschrieben, die dem Antragsteller zuerkannt wurde.
  • In dem bevorzugten Ausführungsbeispiel unterstützt der Daten-Cachespeicher 16 eine Copy-back Schreibstrategie auf einer Seitenbasis Die Copy-back Schreibstrategie gewährleistet, daß eine geänderte Cachespeicher-Leitung 32 in den Speicher 24 "copied-back" wird, bevor diese von einer neuen Cachespeicher-Leitung überschrieben wird. Demgemäß wird, wenn die Seite als "copy-back" bezeichnet wird und ein Schreib-"Fehler" im Daten-Cachespeicher 16 auftritt, die CPU 12 die abgeglichene Daten-Cachespeicher-Leitung 32 aktualisieren, und das Daten- Cachesteuergerät 14 wird den (die) DIRTY Bit(s) des geänderten Langworts (Langwörter) (LW1-LW4) setzen. Dadurch gibt das Daten-Cachesteuergerät 14 die Inkohärenz zwischen dem geänderten Eintrag in dem Daten-Cachespeicher 16 und dem entsprechenden Eintrag in Speicher 26 an. Bei der Copy-back-Strategie wird die CPU 12 keinen Busschreibzyklus durchführen, um Speicher 24 zu aktualisieren, bis die geänderte Cachespeicher-Leitung 32 zum Ersatz ausgewählt wird. Wenn ein Schreib- "Treffer" im Daten-Cachespeicher 16 auftritt und die geänderte Daten- Cachespeicher-Leitung 32 zum Ersatz ausgewählt wird, schiebt das Daten-Cachesteuergerät 14 über das Halteregister 22b die geänderte (DIRTY) Cachespeicher- Leitung 32 aus dem Speicher 24. in der vorliegenden Erfindung wird die geänderte (DIRTY) Cachespeicher-Leitung 32 aus dem Speicher 24 geschoben. Danach stellt das Daten-Cachesteuergerät 14 die neue Daten-Cachespeicherleitung 32 (aus Speicher 24) wieder her.
  • Während des Betriebs gibt die CPU 12 eine Schreibanforderung an das Daten- Cachesteuergerät 14 aus und sendet gleichzeitig die Schreibadresse an das Adreßregister 32. In dem bevorzugten Ausführungsbeispiel ist der Daten-Cachespeicher 16 ein physischer Cachespeicher. Aus diesem Grund wird die Schreibadresse durch einen Übersetzungspuffer (TLB) 34 übersetzt, um eine entsprechende physische Adresse zu erzeugen. TLB 34 übersetzt eine zuvor bestimmte Anzahl der oberen Adreßbits der Operandenadresse in eine physische Adresse und überträgt gleichzeitig die physische Adresse an das Daten-Cachesteuergerät 14 und die Busschnittstellensteuerung 20. Der Daten-Cachespeicher 16 empfängt ebenfalls die physische Adresse, die von TLB 34 erzeugt wird und vergleicht die physische Adresse mit einem Satz von Tag-Adressen, die im Daten-Cachespeicher 16 gespeichert sind. Falls der Vergleich zu einer Adreßübereinstimmung führt, erfolgt ein Cache- "Treffer", der den Daten-Cachespeicher 16 veranlaßt ein Hit-Signal an das Daten-Cachesteuergerät 14 auszugeben. Als Reaktion auf das Hit-Signal gibt das Daten-Cachesteuergerät 14 ein Cache-Contra-Signal aus, wodurch der Daten- Cachespeicher 16 veranlaßt wird, die Daten aus dem internen Bus 18 zu laden. Nach Abschluß des Ladevorgangs setzt das Daten-Cachesteuergerät 14 das DIRTY-Bit des (der) entsprechenden Langworts (Langwörter) in die Daten-Cachespeicher-Leitung. Das Daten-Cachesteuergerät 14 markiert (DIRTY) jede Daten- Cachespeicherleitung 16, die auf diese Art und Weise geschrieben wurde. Da die CPU 12 keinen kontemporären Busschreibzyklus durchführen wird, um den Speicher 26 zu aktualisieren, sind die Daten, die in der geänderten Cachespeicher-Leitung 32 gespeichert sind jetzt inkonsistent gegenüber den Daten, die in der entsprechenden Speicherstelle im Speicher 26 gespeichert sind. Somit ist wenigstens ein Teil der Daten-Cachespeicher-Leitung 32 in einem DIRTY-Status. Die geänderte Daten- Cachespeicher-Leitung 32 wird im DIRTY-Status verbleiben, bis der DIRTY-Dateneintrag zum Ersatz ausgewählt wird oder von der CPU 12 ungültig gemacht wird. Während des Kanalbetriebs gibt die CPU 12 eine Lese- oder Schreibanforderung an das Daten-Cachesteuergerät 14 aus und überträgt über die Adreßregister 32 an den TLB 34. Wie zuvor beschrieben wird die Logikadresse in eine entsprechende physische Adresse übersetzt und mit einem ausgewählten Satz von TAG-Adressen im Daten-Cachespeicher 16 verglichen. Falls es bei dem Vergleich nicht zu einer Adreßübereinstimmung kommt, tritt ein Cache- "MISS" auf, was den Daten-Cachespeicher 16 veranlaßt, ein MISS-Signal auszugeben. Als Reaktion auf das MISS- Signal benutzt das Daten-Cachesteuergerät einen Ersatzalgorithmus, um eine Daten-Cachespeicher-Leitung zum Ersatz auszuwählen. Nachdem die Daten- Cachespeicher-Leitung 32 ausgewählt ist, liest das Daten-Cachesteuergerät 14 die Statusinformation, die in der Daten-Cachespeicher-Leitung 32 enthalten ist. Wenn eine DIRTY (geänderte) Daten-Cachespeicher-Leitung 32 (wie von der Statusinformation angegeben) zum Einsatz ausgewählt wird, müssen die DIRTY-Daten in den Speicher 24 zurückkopiert "copied back" werden.
  • Wenn die Daten-Cachespeicher-Leitung 32, die zum Ersatz ausgewählt wurde, DIRTY ist, schiebt das Daten-Cachesteuergerät 14 die DIRTY-Daten aus der ausgewählten Cachespeicher-Leitung 32 in das Halteregister 22b. Gleichzeitig fordert das Daten-Cachesteuergerät 14 eine externe Busübertragung an, um die Cachespeicher-Leitung (LESEN) auszuführen und dadurch die Datencachespeicher- Leitung 32, die von der CPU 12 angefordert wird, wiederherzustellen. Das Daten- Cachesteuergerät 14 liefert ein CONTROL-Signal, durch das die Daten-Cachespeicher-Leitung 32, die zum Ersatz ausgewählt wurde (einschließlich TAG und Statusinformation), aus dem Daten-Cachespeicher 16 in das Halteregister 22b geschoben (übertragen) wird. Dadurch löscht das Daten-Cachesteuergerät 14 das entsprechende VALID-Bit im Daten-Cachespeicher 16. Daraufhin lädt das Daten- Cachesteuergerät die DIRTY-Daten in das Halteregister 22b und liefert gleichzeitig ein erstes BURST-READ-REQUEST-SIGNAL. Das gleichzeitige Laden des Halteregisters 22b, während des externen Buszyklus für das Lesen der Cachespeicher- Leitung, sorgt dafür, daß das Schieben "push" der DIRTY-Daten die CPU 12 nicht blockiert. Sobald das Halteregister 22b voll ist, generiert das Daten-Cachesteuergerät das BURST-WRITE-REQUEST-Signal in der Busschnittstellensteuerung 20, und fordert somit eine Übertragung (Schieben) der Information an, die im Halteregister 22b gespeichert ist.
  • Der externe Buszyklus, um den DIRTY-Dateneintrag (geänderte Cachespeicher- Leitung 32) zu schreiben (schieben), wird verzögert, bis das Lesen der Cachespeicher-Leitung abgeschlossen ist. Daraufhin, als Reaktion auf das BURST- READ- REQUEST-Signal, das von dem Daten-Cachesteuergerät 14 ausgegeben wird, überträgt die Busschnittstellensteuerung 20 die Leseadresse an den Systembus 24 und gibt über die Speichersteuerungssignale (CONTROL) einen BURST-READ- Transfer an. Nach Empfang der Leseadresse und den BURST-READ-CONTROL- Signalen überträgt der Speicher 26 die angeforderten Daten an den Systembus 24 in zuvor bestimmte Datenabschnitte, die der Datenbusbreite entsprechen. Die Busschnittstellensteuerung 20 empfängt jeden Datenabschnitt über den Systembus 24 und überträgt die Daten in den Lesepuffer 22a. Nachdem der Puffer 22a voll ist, ist die Busschnittstellensteuerung 20 frei, die von dem Daten-Cachesteuergerät 14 erstellte BURST-WRITE-REQUEST ("push" Anforderung) zu akzeptieren, und das Daten-Cachesteuergerät 14 ist frei, den Ersatzeintrag in den Daten-Cachespeicher zu laden. Das Daten-Cachesteuergerät 14 wartet auf die Busschnittstellensteuerung 20, um das BURST-WRITE-SIGNAL zu akzeptieren. Deshalb bleibt die Daten- Cachespeicher-Leitung 32 (oder ein Teil davon) im Halteregister 22b gespeichert. Ein Satz Status-Signale informiert das Daten-Cachesteuergerät 14 von dem Status eines Bustransfers, der von dem Daten-Cachesteuergerät 14 angefordert wurde.
  • Wenn ein normaler Abschluß beim Lesen der Burst-Leitung erfolgt, gibt die Busschnittstellensteuerung 20 ein erstes STATUS-Signal aus und informiert das Daten- Cachesteuergerät 14, daß die BURST-READ-Übertragung der angeforderten Daten- Cachespeicher-Leitung 32 abgeschlossen ist (fehlerfrei). Als Antwort auf das erste STATUS-Signal gibt das Daten-Cachesteuergerät 14 ein CONTROL-Signal aus, um die Ersatz-Daten-Cachespeicher-Leitung 32 (ist im Lesepuffer 22a gespeichert) in den Daten-Cachespeicher 16 zu laden. Die Ersatz-Daten-Cachespeicher-Leitung 32, welche die TAG- und Statusinformation enthält, wird in den Daten-Cachespeicher 16 geladen. Das Daten-Cachesteuergerät 14 setzt alle DIRTY-Bits auf ihren entsprechenden Wert. Sobald die Busschnittstellensteuerung 20 die Schiebeaufforderung akzeptiert, werden TAG-Adresse und die angeforderte Anzahl von Dateneinträgen (LW1-LW4) aus der Daten-Cachespeicher-Leitung 32 aus dem Puffer 22b in die Busschnittstellensteuerung 20 geschoben. Es wird ein Minimum an Systembusbandbreite 24 benutzt, da nur die DIRTY-Abschnitte der Daten-Cachespeicher-Leitung 32 in den Speicher 2b zurückkopiert "copied back" werden.
  • In der vorliegenden Erfindung veranlaßt ein anormaler Abschluß beim Lesen der Burst-Leitung die Busschnittstellensteuerung 20, ein zweites STATUS-Signal auszugeben. Das zweite STATUS-Signal informiert das Daten-Cachesteuergerät 14 über einen Abschluß der BURST-Read-Übertragung, durch die die angeforderte Daten-Cachespeicher-Leitung 32 nicht pufferbar ist (z. B. Busfehler, Leitung wird mit "cache gesperrt" usw. markiert). Das Auftreten eines Busfehlers, das von der Burst- Line-Anforderung zum Lesen verursacht wird, hindert das Daten-Cachesteuergerät 14 daran, den Datencachespeicher 16 mit der neuen Datencachespeicher-Leitung 32 (Ersatzeintrag) zu laden. Es ist deshalb unvernünftig, mit dem Herumschieben "push" der Datencachespeicherleitung 32, die zum Ersatz gewählt wurde, fortzufahren, da dies unnötigerweise einen Eintrag im Daten-Cachespeicher 16 leeren würde, der wieder gebraucht werden könnte. Wenn darüber hinaus erlaubt wird, mit dem Herausschicken "push" der Leitung zum Systembus 24 fortzufahren, kann dies das Auftreten einer weiteren Ungewöhnlichkeit (z. B. ein weiterer Busfehler) zur Folge haben und außerdem den Prozeß zur Verarbeitung von Ausnahmen, der erforderlich ist, um den Busfehler der Anforderung zum Lesen der Burst-Leitung zu korrigieren, komplizieren. Folglich wartet die Busschnittstellensteuerung 20 auf das Daten-Cachesteuergerät 14, um bestimmte Verwatungsfunktionen durchzuführen. Nach Abschluß der Verwaltungsfunktionen gibt das Daten-Cachesteuergerät 14 ein drittes STATUS-Signal aus, und erlaubt so der Busschnittstellensteuerung 20, den Normalbetrieb wieder aufzunehmen.
  • Nach Empfang des zweiten STATUS-Signals von der Busschnittstellensteuerung 20 wird das Daten-Cachesteuergerät 14 die Inhalte des Halteregisters 22b neu in den Daten-Cachespeicher 16 laden. Mittels der TAG-Adresse, die in dem Halteregister 22b gespeichert ist, und der zusätzlichen Statusinformation überträgt das Daten- Cachesteuergerät 14 die Daten-Cachespeicher-Leitung 32 zurück in ihren Originalplatz im Daten-Cachespeicher 16. Das Daten-Cachesteuergerät 14 bestimmt die richtige Stelle für das Neuladen, indem die TAG-Adresse und die zusätzliche Statusinformation gelesen wird, die auf den Eingang zeigt, der in dem ausgewählten Satz neu geladen wird. Sobald die Daten-Cachespeicher-Leitung 32 neu geladen ist, setzt das Daten-Cachesteuergerät 14 das VALID-Bit (das gelöscht wurde, als die Daten-Cachespeicher-Leitung an das Halteregister 22b übertragen wurde) zurück. Nachdem das Daten-Cachesteuergerät 14 den Daten-Cachespeicher neu geladen hat, bleibt die Daten-Cachespeicher-Leitung 32 im Daten-Cachespeicher 16 gespeichert, bis diese zu einem späteren Zeitpunkt zum Ersatz ausgewählt wird.
  • Obwohl die vorliegende Erfindung in einem bevorzugten Ausführungsbeispiel beschrieben wurde, ist es für den Fachmann klar, daß die beschriebene Erfindung auf verschiedene Arten geändert werden kann, und viele weitere Ausführungsbeispiele als die, die detailliert angeführt und oben beschrieben wurden, aufgenommen werden können. Eine Reduzierung der Implementierungskosten beim Neuladen wird erreicht, indem das Löschen und Rücksetzen des VALID-Bits an der richtigen Stelle im Daten-Cachespeicher 16 erfolgt. Dadurch wird die Daten-Cachespeicher- Leitung 32 im Daten-Cachespeicher 16 nach dem Neuladen wieder neu erfaßt (wieder validiert). Die Daten-Cachespeicher-Leitung 32 im Daten-Cachespeicher 16 bleibt so unbeeinflußt, ausgenommen bei dem VALID-Bit, das gelöscht wird, wenn das Halteregister geladen wird, und rückgesetzt, wenn der Daten-Cachespeicher 16 neu geladen wird (nach Auftreten des anormalen Abschlusses beim Lesen der Burst-Leitung). Dieses Verfahren beim Neuladen verhindert, daß ein zweiseitig gerichteter Pfad zwischen dem Daten-Cachespeicher 16 und dem Halteregister 22b bereitgestellt wird, und ermöglicht es, den geschobenen Eintrag in einem Taktzyklus neu zu validieren. Für den Fachmann sollte es klar sein, daß das Neuladen des Halteregisters 22b als Ergebnis eines anormalen Abschlusses beim Lesen der Burst-Leitung auftreten kann.

Claims (10)

1. Verfahren in einem Datenprozessor (10) mit einer Busschnittstellensteuerung (20), die über einen Systembus (24) mit einem externen Speicher (26) verbunden ist, um eine Vielzahl von adressierbaren Dateneinträgen aus dem externen Speicher (26) zurückzuholen, und die Vielzahl von adressierbaren Dateneinträgen in einen Copy-back Daten-Cachespeicher (16) zu laden, als Antwort auf eine Anforderung für eine Leitungsübertragung (Lesen), die von einem Cache-Steuergerät (14) generiert wird, und um einen veränderten adressierbaren Dateneintrag, der zum Ersatz ausgewählt wurde, aus einem temporären Halteregister (22b) im Cachespeicher an den externen Speicher (26) als Antwort auf eine Anforderung für eine Leitungsübertragung (Schreiben), die von diesem Cache-Steuergerät (14) generiert wurde, zu übertragen, wobei dieses Verfahren, den Cachespeicher (16) mit dem veränderten adressierbaren Dateneintrag bei Auftreten eines anormalen Abschlusses dieser Leitungsübertragung (Lesen) neu lädt, durch Schritte gekennzeichnet ist, um
diese Anforderung für die Leitungsübertragung (Lesen) und eine erste Leseadresse, vorzugsweise gleichzeitig, an die Busschnittstellensteuerung (20) zu einem Zeitpunkt zu übertragen, wenn der veränderte adressierbare Dateneintrag im Cachespeicher (16) von dem Cache-Steuergerät (14) ungültig gemacht wird, und aus dem Cachespeicher (16) in das Halteregister (22b) geschrieben wird;
einen ersten adressierbaren Dateneintrag, der der ersten Leseadresse entspricht, vom externen Speicher (26) über den Systembus (24) an den Cachespeicher (16) zu übertragen;
den veränderten adressierbaren Dateneintrag aus dem Halteregister (22b) erneut in den Cachespeicher (16) zu einem Zeitpunkt zu laden, wenn die Busschnittstel lensteuerung (20) den anormalen Abschluß der Leitungsübertragung (Lesen) angibt, und der veränderte adressierbare Dateneintrag vom Cache-Steuergerät (14) im Cachespeicher wieder gültig gemacht wird.
2. Ein Verfahren nach Anspruch 1, das außerdem den Schritt enthält, um die Anforderung für diese Leitungsübertragung (Schreiben) an die Busschnittstellensteuerung (20) zu übertragen, nachdem dieser veränderte adressierbare Dateneintrag in das Halteregister (22b) geschrieben wurde und dadurch eine Busübertragung von diesem veränderten adressierbaren Dateneintrag, der in diesem Halteregister (22b) gespeichert ist, angefordert hat.
3. Ein Verfahren nach Anspruch 2, das, wenn die Busschnittstellensteuerung (20) diese Leitungsübertragung (Lesen) anormal beendet, außerdem den Schritt enthält, um ein erstes Statussignal von der Busschnittstellensteuerung (20) an das Cache-Steuergerät (14) zu übertragen, und so das Auftreten des anormalen Abschlusses der Leitungsübertragung (Lesen) anzeigt.
4. Ein Verfahren nach Anspruch 3, wobei der Schritt, die Anforderung für die Leitungsübertragung (Lesen) und die Leseadresse gleichzeitig an die Busschnittstellensteuerung (20) zu übertragen, auftritt, nachdem das Cache- Steuergerät (14) einen Fehler im Cachespeicher (16) erkennt.
5. Ein Verfahren nach Anspruch 4, wobei der Schritt, den veränderten adressierbaren Dateneintrag aus dem Halteregister (22b) neu in den Cachespeicher (16) zu laden, auftritt, nachdem das Cache-Steuergerät (14) das erste Statussignal von der Busschnittstellensteuerung (20) empfängt.
6. Verfahren in einem Datenprozessor (10) mit einer Busschnittstellensteuerung (20), die über einen Systembus (24) mit einem externen Speicher (26) verbunden ist, um eine Vielzahl von adressierbaren Dateneinträgen aus dem externen Speicher (26) zurückzuholen, und die Vielzahl von adressierbaren Dateneinträgen in einen Copy-back Daten-Cachespeicher (16) zu laden, als Antwort auf eine Anforderung für eine Leitungsübertragung (Lesen), die von einem Cache-Steuergerät (14) generiert wird, und um einen veränderten adressierbaren Dateneintrag, der zum Ersatz ausgewählt wurde, aus dem Cachespeicher (16) an den externen Speicher (26) als Antwort auf eine Anforderung für eine Leitungsübertragung (Schreiben), die von diesem Cache- Steuergerät (14) generiert wurde, zu übertragen, wobei dieses Verfahren, den Cachespeicher (16) mit dem veränderten adressierbaren Dateneintrag bei Auftreten eines anormalen Abschlusses dieser Leitungsübertragung (Lesen) neu lädt, durch Schritte gekennzeichnet ist, um
diese Anforderung für die Leitungsübertragung (Lesen) und eine erste Leseadresse, vorzugsweise gleichzeitig, an die Busschnittstellensteuerung (20) zu einem Zeitpunkt zu übertragen, wenn der veränderte adressierbare Dateneintrag im Cachespeicher (16) ungültig gemacht wird;
einen ersten adressierbaren Dateneintrag, der der ersten Leseadresse entspricht, vom externen Speicher (26) über den Systembus (24) an den Cachespeicher (16) zu übertragen;
den veränderten adressierbaren Dateneintrag im Cachespeicher (16) wieder gültig zu machen, wenn die Busschnittstellensteuerung (20) angibt, daß die Leitungsübertragung (Lesen) anormal beendet wurde.
7. Ein Verfahren nach Anspruch 6, das außerdem den Schritt enthält, um die Anforderung für diese Leitungsübertragung (Schreiben) an die Busschnittstellensteuerung (20) zu übertragen, nachdem dieser veränderte adressierbare Dateneintrag im Cachespeicher (16) ungültig gemacht wurde, und dadurch eine Busübertragung dieses veränderten adressierbaren Dateneintrags angefordert wird.
8. Ein Verfahren nach Anspruch 7, das, wenn die Busschnittstellensteuerung (20) diese Leitungsübertragung (Lesen) anormal beendet, außerdem den Schritt enthält, um ein erstes Statussignal von der Busschnittstellensteuerung (20) an das Cache-Steuergerät (14) zu übertragen, und so das Auftreten des anormalen Abschlusses der Leitungsübertragung (Lesen) anzeigt.
9. Ein Verfahren nach Anspruch 8, wobei der Schritt, die Anforderung für die Leitungsübertragung (Lesen) und die Leseadresse gleichzeitig an die Busschnittstellensteuerung (20) zu übertragen, auftritt, nachdem das Cache- Steuergerät (14) einen Fehler im Cachespeicher (16) erkennt.
10. Ein Verfahren nach Anspruch 9, wobei der Schritt, den veränderten adressierbaren Dateneintrag im Cachespeicher wieder gültig zu machen, auftritt, nachdem das Cache-Steuergerät (14) das erste Statussignal von der Busschnittstellensteuerung (20) empfängt.
DE69127111T 1990-02-26 1991-01-10 Verfahren zum Nachladen aufgeschobener Datenauslagerungen in einen Copy-back Daten-Cachespeicher Expired - Fee Related DE69127111T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/484,592 US5197144A (en) 1990-02-26 1990-02-26 Data processor for reloading deferred pushes in a copy-back data cache

Publications (2)

Publication Number Publication Date
DE69127111D1 DE69127111D1 (de) 1997-09-11
DE69127111T2 true DE69127111T2 (de) 1998-02-19

Family

ID=23924779

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69127111T Expired - Fee Related DE69127111T2 (de) 1990-02-26 1991-01-10 Verfahren zum Nachladen aufgeschobener Datenauslagerungen in einen Copy-back Daten-Cachespeicher

Country Status (5)

Country Link
US (1) US5197144A (de)
EP (1) EP0444401B1 (de)
JP (1) JP3067112B2 (de)
KR (1) KR920000040A (de)
DE (1) DE69127111T2 (de)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5838946A (en) * 1990-04-14 1998-11-17 Sun Microsystems, Inc. Method and apparatus for accomplishing processor read of selected information through a cache memory
JP2646854B2 (ja) * 1990-12-18 1997-08-27 三菱電機株式会社 マイクロプロセッサ
US5295259A (en) * 1991-02-05 1994-03-15 Advanced Micro Devices, Inc. Data cache and method for handling memory errors during copy-back
DE69230129T2 (de) * 1991-12-18 2000-06-15 Sun Microsystems, Inc. Schreibüberlappung mit Verhinderung des Überschreibens
WO1993020514A1 (en) * 1992-04-07 1993-10-14 Video Technology Computers, Ltd. Self-controlled write back cache memory apparatus
KR100294105B1 (ko) * 1992-04-29 2001-09-17 썬 마이크로시스템즈, 인코포레이티드 멀티 프로세서 컴퓨터 시스템의 일관성 카피-백 버퍼용 방법 및 장치
JP3242161B2 (ja) * 1992-09-11 2001-12-25 株式会社日立製作所 データプロセッサ
JP2737820B2 (ja) * 1992-09-24 1998-04-08 インターナショナル・ビジネス・マシーンズ・コーポレイション メモリアクセス方法およびシステム
US5479636A (en) * 1992-11-16 1995-12-26 Intel Corporation Concurrent cache line replacement method and apparatus in microprocessor system with write-back cache memory
US5903911A (en) * 1993-06-22 1999-05-11 Dell Usa, L.P. Cache-based computer system employing memory control circuit and method for write allocation and data prefetch
US5897667A (en) * 1993-11-16 1999-04-27 Intel Corporation Method and apparatus for transferring data received from a first bus in a non-burst manner to a second bus in a burst manner
GB2286910B (en) * 1994-02-24 1998-11-25 Intel Corp Apparatus and method for prefetching data to load buffers in a bridge between two buses in a computer
US5526510A (en) * 1994-02-28 1996-06-11 Intel Corporation Method and apparatus for implementing a single clock cycle line replacement in a data cache unit
US5666509A (en) * 1994-03-24 1997-09-09 Motorola, Inc. Data processing system for performing either a precise memory access or an imprecise memory access based upon a logical address value and method thereof
US5586297A (en) * 1994-03-24 1996-12-17 Hewlett-Packard Company Partial cache line write transactions in a computing system with a write back cache
EP0683457A1 (de) * 1994-05-20 1995-11-22 Advanced Micro Devices, Inc. Computersystem mit einer Snoopsteuerschaltung
US5835787A (en) * 1994-07-07 1998-11-10 Lucent Technologies, Inc. System for bi-directionally transferring a digital signal sample from a CODEC to a particular memory location and a second sample from memory to CODEC
US5761709A (en) * 1995-06-05 1998-06-02 Advanced Micro Devices, Inc. Write cache for servicing write requests within a predetermined address range
US5778431A (en) * 1995-12-19 1998-07-07 Advanced Micro Devices, Inc. System and apparatus for partially flushing cache memory
US5920891A (en) * 1996-05-20 1999-07-06 Advanced Micro Devices, Inc. Architecture and method for controlling a cache memory
US6199152B1 (en) 1996-08-22 2001-03-06 Transmeta Corporation Translated memory protection apparatus for an advanced microprocessor
US5926832A (en) * 1996-09-26 1999-07-20 Transmeta Corporation Method and apparatus for aliasing memory data in an advanced microprocessor
US5960457A (en) * 1997-05-01 1999-09-28 Advanced Micro Devices, Inc. Cache coherency test system and methodology for testing cache operation in the presence of an external snoop
US6016532A (en) * 1997-06-27 2000-01-18 Sun Microsystems, Inc. Method for handling data cache misses using help instructions
US5920889A (en) * 1997-06-27 1999-07-06 Sun Microsystems, Inc. Apparatus and method for write miss processing in a copy-back data cache with an allocating load buffer and a non-allocating store buffer
US6078992A (en) * 1997-12-05 2000-06-20 Intel Corporation Dirty line cache
US6745298B2 (en) * 1999-06-16 2004-06-01 Intel Corporation Internal processor buffering for implicit writebacks
US6748589B1 (en) 1999-10-20 2004-06-08 Transmeta Corporation Method for increasing the speed of speculative execution
US6968469B1 (en) 2000-06-16 2005-11-22 Transmeta Corporation System and method for preserving internal processor context when the processor is powered down and restoring the internal processor context when processor is restored
US6725341B1 (en) * 2000-06-28 2004-04-20 Intel Corporation Cache line pre-load and pre-own based on cache coherence speculation
US6725337B1 (en) * 2001-05-16 2004-04-20 Advanced Micro Devices, Inc. Method and system for speculatively invalidating lines in a cache
US6782453B2 (en) * 2002-02-12 2004-08-24 Hewlett-Packard Development Company, L.P. Storing data in memory
US6941393B2 (en) * 2002-03-05 2005-09-06 Agilent Technologies, Inc. Pushback FIFO
US7441081B2 (en) * 2004-12-29 2008-10-21 Lsi Corporation Write-back caching for disk drives
US20130124800A1 (en) * 2010-07-27 2013-05-16 Freescale Semiconductor, Inc. Apparatus and method for reducing processor latency
US9606929B2 (en) * 2011-11-08 2017-03-28 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Simulated NVRAM
JP5906881B2 (ja) * 2012-03-27 2016-04-20 富士通株式会社 情報処理装置及び情報処理装置の制御方法
US9081689B2 (en) * 2013-01-14 2015-07-14 Freescale Semiconductor, Inc. Methods and systems for pushing dirty linefill buffer contents to external bus upon linefill request failures
KR102278583B1 (ko) * 2018-12-26 2021-07-16 중앙대학교 산학협력단 모바일 기기에서의 상황정보를 기반으로 한 파일 입출력 관리 시스템 및 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4598357A (en) * 1980-11-14 1986-07-01 Sperry Corporation Cache/disk subsystem with file number for recovery of cached data
US4394733A (en) * 1980-11-14 1983-07-19 Sperry Corporation Cache/disk subsystem
US4445177A (en) * 1981-05-22 1984-04-24 Data General Corporation Digital data processing system utilizing a unique arithmetic logic unit for handling uniquely identifiable addresses for operands and instructions
US4523206A (en) * 1982-03-03 1985-06-11 Sperry Corporation Cache/disk system with writeback regulation relative to use of cache memory
US4858111A (en) * 1983-07-29 1989-08-15 Hewlett-Packard Company Write-back cache system using concurrent address transfers to setup requested address in main memory before dirty miss signal from cache
CA1299767C (en) * 1987-02-18 1992-04-28 Toshikatsu Mori Cache memory control system
US4905188A (en) * 1988-02-22 1990-02-27 International Business Machines Corporation Functional cache memory chip architecture for improved cache access
DE3912705C2 (de) * 1989-04-18 1996-06-20 Siemens Nixdorf Inf Syst Verfahren und Anordnung zur Steuerung des Datenaustausches bei Schreibanforderungen von Verarbeitungseinheiten an einen Cachespeicher

Also Published As

Publication number Publication date
KR920000040A (ko) 1992-01-10
JP3067112B2 (ja) 2000-07-17
JPH0659976A (ja) 1994-03-04
DE69127111D1 (de) 1997-09-11
EP0444401A2 (de) 1991-09-04
EP0444401A3 (en) 1992-09-02
US5197144A (en) 1993-03-23
EP0444401B1 (de) 1997-08-06

Similar Documents

Publication Publication Date Title
DE69127111T2 (de) Verfahren zum Nachladen aufgeschobener Datenauslagerungen in einen Copy-back Daten-Cachespeicher
DE69424767T2 (de) Kohärente Schreibtransaktionen für Teilzeilen eines Cache-Speichers
DE69616465T2 (de) Cachespeicher mit Datenvorausladung
DE69900797T2 (de) Cache-Speicherkohärenzprotokoll mit unabhängiger Implementierung von optimierten Cache-Speicheroperationen
DE69130086T2 (de) Mehrstufeneinschluss in mehrstufigen Cache-Speicherhierarchien
DE69331039T2 (de) Rechnersystem mit einem Vorausholungscachespeicher
DE69031978T2 (de) Einrichtung und Verfahren zum Vermindern von Störungen in zweistufigen Cache-Speichern
DE69709483T2 (de) Ein Computersystem mit auf Anforderungstyp der CPU basierender Cache-Vorausladefähigkeit
DE69616223T2 (de) Datenstromvorausladepufferspeicher mit Datenstromfilters
DE10262164B4 (de) Computersystem mit einer hierarchischen Cacheanordnung
DE69327387T2 (de) An einen paketvermittelten Bus gekoppelte Nachschreibsteuerungsschaltung für eine Cachespeichersteuerungsschaltung
DE69319763T2 (de) Verfahren und Gerät zur Durchführung eines Busarbitrierungsprotokolls in einem Datenverarbeitungssystem
DE69524564T2 (de) Kohärenz- und synchronisationsmechanismus für ein-/ausgangkanalsteuereinheiten in einem datenverarbeitungssystem
DE69514165T2 (de) Mehrstufige Cache-Speicheranordnung
DE68926059T2 (de) Organisation einer integrierten Cache-Einheit zur flexiblen Verwendung beim Entwurf von Cache-Systemen
DE69526996T2 (de) Ein-/Ausgabeadressübersetzungsmechanismen
DE69432314T2 (de) Cachespeicher mit aufgeteiltem pegel
DE69708188T2 (de) Speichersteuerungseinheit
DE69031367T2 (de) Blockübertragungs- und Koprozessorschnittstellenbefehl
DE69421058T2 (de) Vorrichtung und Verfahren zur Cache-Speicher Kohärenz Überprüfung mit doppelter Abhörmechanismus
DE68922326T2 (de) Speicherwarteschlange für eine festgekoppelte Mehrprozessorenkonfiguration mit einem zweistufigen Cache-Pufferspeicher.
DE10085373B4 (de) Verfahren zum Flushen von Cache-Zeilen
DE68902193T2 (de) Datenspeicheranordnung.
DE69025302T2 (de) Hochleistungsrasterpuffer- und -cachespeicheranordnung
DE202007019502U1 (de) Globaler Überlauf für virtualisierten Transaktionsspeicher

Legal Events

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