DE69808700T2 - Cachespeichervorrichtung - Google Patents
CachespeichervorrichtungInfo
- Publication number
- DE69808700T2 DE69808700T2 DE69808700T DE69808700T DE69808700T2 DE 69808700 T2 DE69808700 T2 DE 69808700T2 DE 69808700 T DE69808700 T DE 69808700T DE 69808700 T DE69808700 T DE 69808700T DE 69808700 T2 DE69808700 T2 DE 69808700T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- cache memory
- cache
- main memory
- memory device
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0888—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0855—Overlapped cache accessing, e.g. pipeline
- G06F12/0859—Overlapped cache accessing, e.g. pipeline with reload from main memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
- Diese Erfindung betrifft eine Cachespeichereinrichtung, insbesondere eine Cachespeichereinrichtung, die zwischen mindestens einer Verarbeitungseinheit und einem Hauptspeicher angeschlossen ist, der von einer Mehrzahl der Verarbeitungseinheiten geteilt wird.
- Wenn eine Ladeanforderung an einen Hauptspeicher zu einem Cachefehltreffer führt, werden in einer herkömmlichen Cachespeichereinrichtung Blockdaten einschließlich der von der Ladeanforderung angegebenen Daten an den Hauptspeicher abgerufen. Die vom Hauptspeicher zurückgesandten Blockdaten werden in den Cachespeicher geschrieben, und zur gleichen Zeit werden die gewünschten Daten so behandelt, daß sie an eine Verarbeitungseinheit zurückgeschickt werden, die die Ladeanforderung ausgibt. Um die Bearbeitungskapazität des Cachespeichers zu erhöhen, ist die Einrichtung zusätzlich mit einem nichtblockierenden Hardware-Mechanismus versehen, durch den der Cachespeicher, selbst wenn ein Cachefehltreffer auftritt, nachfolgende Ladeanforderungen bis zu zwei Anforderungen verwalten kann.
- Übrigens ist ein herkömmliches Informationsverarbeitungssystem, um seine Informationsverarbeitungskapazität zu erhöhen, so aufgebaut, daß sein Hauptspeicher von einer Mehrzahl Prozessoren geteilt wird, und bei einem solchen System geschieht es häufig, daß Ladeanforderungen von verschiedenen Prozessoren gleichzeitig verwaltet werden müssen. In solchen Situationen, nämlich wenn Verarbeitungsanforderungen von verschiedenen Prozessoren miteinander um den Hauptspeicher konkurrieren, werden Blockladedaten, die vom Hauptspeicher zum Prozessor übertragen werden, nicht in einer fortlaufenden Reihenfolge übertragen, sondern willkürlich, wobei die Intervalle zwischen benachbarten Blockdaten unregelmäßig gemacht werden. Um solchen Situationen gerecht zu werden, werden Blockladedaten durch kleinere Basisdateneinheiten verwaltet.
- Andererseits fungiert ein identischer Pfad in der herkömmlichen Cachespeichereinrichtung gleichzeitig als ein Antwortdatenpfad, durch den in den vom Hauptspeicher gelieferten Blockdaten enthaltene Zieldaten an ein Mehrzweckregister zurückgesandt werden, sowie als ein Lesepfad, durch den die erforderlichen Zieldaten vom Cachespeicher gelesen werden, wenn der Cachespeicher die Zieldaten enthält, das heißt, wenn ein Cachetreffer auftritt. Wenn die Cachespeichereinrichtung die in den vom Hauptspeicher gelieferten Blockladedaten enthaltenen Zieldaten an die Verarbeitungseinheit zurücksendet, die die Ladeanforderung ausgegeben hatte, werden Daten von einem Datenfeld dementsprechend unmöglich, weil der beteiligte Pfad dafür in Konkurrenz übernommen wurde. Daher werden nachfolgende Befehle, um Daten in den Hauptspeicher zu laden, daran gehindert, auf den Cachespeicher zuzugreifen, und somit wird das Verwalten von nachfolgenden Befehlen unterbrochen, was zu einer niedrigeren Verwaltungskapazität des Cachespeichers führt.
- Zum Beispiel ist im in der japanischen ungeprüften Patentveröffentlichung Nr. 7-69863 beschriebenen Datenverarbeitungssystem ein nichtblockierender Hardwaremechanismus eingebaut, der aufeinanderfolgende Zugriffe auf den Speicher sicherstellt, selbst wenn aufeinanderfolgende Ladeanforderungen von einem Hauptspeicher auf Cachefehltreffer stoßen. Bei diesem Datenverarbeitungssystem fungiert ein identischer Pfad gleichzeitig als ein Antwortdatenpfad, durch den in den vom Hauptspeicher gelieferte Blockdaten enthaltene Zieldaten an ein Mehrzweckregister zurückgesandt werden, sowie als ein Lesepfad, durch den die erforderlichen Zieldaten vom Cachespeicher gelesen werden, wenn der Cachespeicher die Zieldaten enthält, das heißt, wenn ein Cachetreffer auftritt. Wenn die Cachespeichereinrichtung die in den vom Hauptspeicher gelieferten Blockladedaten enthaltenen Zieldaten an die Verarbeitungseinheit zurücksendet, die die Ladeanforderung ausgegeben hatte, werden Daten von einem Datenfeld dementsprechend unmöglich, weil der beteiligte Pfad dafür in Konkurrenz übernommen wurde. Daher werden nachfolgende Befehle, um Daten in den Hauptspeicher zu laden, daran gehindert, auf den Cachespeicher zuzugreifen, und somit wird das Verwalten von nachfolgenden Befehlen unterbrochen, was zu einer niedrigeren Verwaltungskapazität des Cachespeichers führt.
- Fig. 3 ist ein Blockdiagramm, das ein Beispiel der oben beschriebenen herkömmlichen Cachespeichereinrichtungen darstellt. In der Figur verwaltet eine Befehlssteuereinheit 2 Befehle nacheinander in Reihenfolge unter dem Befehl eines Programmzählers, und wenn ein gegebener zu verwaltender Befehl das Abrufen von Daten aus einem Hauptspeicher betrifft, registriert sie die Adresse des Hauptspeichers, um in ein EA(effektive Adresse)-Register 11 eingetragen zu werden.
- Die in das EA-Register 11 einzutragende Adresse besteht aus drei Arten von Adreßdaten: eine ist eine Intrablockadresse, die die Adresse innerhalb von abzurufenden Blockdaten angibt, eine zweite ist eine Cachespeicher-Indexadresse, die die Zugriffsadresse eines Cachespeichers bestimmt, der Blockdaten als Basiseinheiten verwendet, und die dritte ist eine Kennzeichenadresse (tag address), die die Cachespeicherkapazität als eine Basisinheit verwendet und eine Adresse anwendet, die die Cachespeicherkapazität als eine Suchadresse übertrifft.
- Die Adresse eines Adreßfeldes 12 wird als ein Index verwendet, durch den eine entsprechende Cachespeicher-Indexadresse des EA-Registers 11 bezeichnet wird. Eine Adresse, die nach einer Suche durch das Adreßfeld 12 erhalten wurde, wird durch einen Komparator 13 mit einer entsprechenden Kennzeichenadresse des EA-Registers verglichen. Wenn als Ergebnis des Vergleichs gefunden wird, daß beide identisch sind, nämlich wenn ein Cachetreffer auftritt, zeigt dies an, daß sich die gewünschten Daten im Cachespeicher befinden. Wenn gefunden wird, daß beide nicht identisch sind, nämlich wenn ein Cachefehltreffer auftritt, zeigt dies an, daß sich die gewünschten Daten nicht im Cachespeicher befinden. Die gewünschten Daten müssen von einem Hauptspeicher abgerufen werden.
- Wenn ein Cachetreffer auftritt, werden die Kennzeichendaten, die vom Adreßfeld 12 gelesen werden, mit den entsprechenden Kennzeichendaten des EA-Registers 11 verglichen, und wenn beide identisch sind, wird das Trefferergebnis zur Registrierung an ein Treffer- /Fehltreffer-Register 14 geliefert. Gleichzeitig wird die Cachespeicher-Indexadresse des EA- Registers 11 in das EA1-Register 16 eingetragen.
- Entsprechende Daten des Datenfelds 22 werden mit Bezug auf die Adresse des EA1- Registers gelesen, und ein Selektor 23a wählt gewünschte Daten von den aus dem Datenfeld 22 gelesenen Daten aus, abhängig von den Trefferdaten, die vom Treffer-/Fehltreffer-Register 14 bereitgestellt werden, und plaziert sie in einem Register A24. Dann werden die ausgewählten Daten durch ein Register B5 in ein Mehrzweckregister 7a geschrieben.
- Im Fall eines Cachefehltreffers werden die Kennzeichendaten, die vom Adreßfeld 12 gelesen werden, mit den entsprechenden Kennzeichendaten des EA-Registers 11 verglichen, und, wenn beide nicht identisch sind, wird das Fehltrefferergebnis zur Registrierung an das Treffer-/Fehltreffer-Register geliefert. Ein Startsignal zum Abrufen von Daten aus dem Hauptspeicher, das als Ergebnis des Fehltreffer-Auftretens erzeugt wird, wird an eine Adreßsteuereinheit 3 geliefert. Weiterhin werden die Adressen der Daten, die als Blockdaten aus dem Hauptspeicher abgerufen werden sollen, vom EA-Register 11 an die Adreßsteuereinheit 3 geliefert. Die Adreßsteuereinheit 3 wandelt die logischen Adressen in physikalische Adressen um, ruft Blockdaten vom Hauptspeicher 4 ab und plaziert sie in eine Cachespeichereinrichtung 1a.
- In der Cachespeichereinrichtung 1a wählt der Selektor 15a Schreibadressen aus, die durch eine Signalleitung 31 geliefert werden, und von einem Antwortregister 17 empfangene Daten werden in das Datenfeld 22 geschrieben.
- Übrigens ist es notwendig, die Daten im Cachespeicher wie auch die im Hauptspeicher zu aktualisieren, wenn dem Hauptspeicher ein Speicherbefehl geliefert wird, um die gegebenen Daten zu ändern, und sich seine Ursprungsdaten im Cachespeicher befinden. In einem solchen Fall wählt der Selektor 15a eine Schreibadresse aus dem EA-Register 11 aus, und der Selektor 21a wählt entsprechende Schreibdaten der Signalleitung 32 aus und schreibt sie in das Datenfeld 22.
- Der Hauptspeicher 4 ist mit den anderen informationsverarbeitenden Einheiten verbunden, und wenn von verschiedenen Einheiten Zugriffsanforderungen eintreffen, entsteht eine Konkurrenz zum Verarbeiten über den Hauptspeicher. Als Ergebnis kommen Blockladedaten, die vom Hauptspeicher an die Cachespeichereinrichtung zurückgesandt werden, in einer unregelmäßigen Reihenfolge an.
- Genauer gesagt sind der Reihenfolge, in der die Blockladedaten zum Cachespeicher zurückgesandt werden, keine Beschränkungen auferlegt, weil die vorgenannten Blockladedaten als Basisdateneinheiten (z. B. acht Byte) gesteuert werden. Blockladedaten, die zurückgesandt werden, um eine Anforderung zu kompensieren, die zu einem Cachefehltreffer führt, treten als Cluster bzw. Zuordnungseinheit von acht Antwortdaten auf, und der acht Antwortdaten umfassende Cluster enthält gewünschte Daten (die nachstehend als Zieldaten bezeichnet werden), um in das Mehrzweckregister 7 geschrieben zu werden. Wenn die Zieldaten vom Hauptspeicher 4 zurückgesandt werden, werden sie vorübergehend vom Antwortregister 17 empfangen und über Register A24 und B5 in das Mehrzweckregister 7a geschrieben.
- Selbst wenn das Rücksenden von Blockdaten vom Hauptspeicher zum Cachespeicher eine lange Zeit erfordert, werden bei einer herkömmlichen Cachespeichereinrichtung die Cachespeicher-Beschäftigt-Signale fortlaufend bestätigt, um die Verwaltung von nachfolgenden Cachespeicher-Zugriffsanforderungen ab der Zeit, zu der der Cachespeicher die ersten Antworteinheitdaten empfängt, bis zu der Zeit, zu der er die letzten Antworteinheitdaten empfängt, anzuhalten, um Schwierigkeiten zu vermeiden, die bei der Verwaltung von diesen nachfolgenden Cachespeicher-Zugriffsanforderungen vorkommen.
- Fig. 4 ist eine Zeitübersicht, die die Betriebsweise der oben beschriebenen Cachespeichereinrichtung 1a wiedergibt. Zur Zeit 1 wird vom Hauptspeicher eine Anforderung zum Datenabruf durch die Befehlssteuereinheit 2 abgegeben, und sie wird beurteilt, zur Zeit 2 auf einen Cachefehltreffer zu stoßen, und der Cachefehltreffer wird in das Treffer-/Fehltreffer-Register 14 eingetragen. Um dem Cachefehltreffer entgegenzuwirken, müssen Daten von neuem vom Hauptspeicher abgerufen werden, und um dies auszuführen, wird von der Adreßsteuereinheit 3 eine Adreßumwandlung durchgeführt, logische Adressen werden in physikalische Adressen umgewandelt, und Blockladedaten werden von entsprechenden Adressen des Hauptspeichers 4 abgerufen.
- Mit Anforderungen von anderen informationsverarbeitenden Einheiten tritt eine Konkurrenz über den Hauptspeicher 4 auf, und daher kehren die Blockladedaten mit mehr oder weniger gestörter Reihenfolge zurück. Genauer kehren Daten a3 zur Zeit 9 zurück, Daten a2 zur Zeit 10, Daten a5 zur Zeit 13, Daten a1 zur Zeit 17, Daten a6 zur Zeit 18, Daten a4 zur Zeit 22, Daten a7 zur Zeit 23 und Daten aß zur Zeit 26.
- Daten a1 kehren zur Zeit 17 als Zieldaten zurück, sie werden zur Zeit 18 in das Register A24 eingetragen, zur Zeit 19 in das Register B5 und zur Zeit 20 in das Mehrzweckregister 7a.
- Wenn die Blockladedaten beginnen, ab Zeit 9 anzukommen, werden in der obigen Ereignisfolge Cachespeicher-Beschäftigt-Signale von Zeit 9 an fortwährend bestätigt, bis die gesamten Blockladedaten vom Cachespeicher empfangen wurden. In diesem besonderen Beispiel werden Cachespeicher-Beschäftigt-Signale aufgehoben (relieved), wenn Zeit 26 erreicht wird.
- Andererseits entsteht zur Zeit 12 eine nachfolgende Anforderung zum Abruf von Daten aus dem Hauptspeicher 4. Weil das Cachespeicher-Beschäftigt-Signal von der Zeit 9 bis zur Zeit 26 weiterhin aktiv ist, werden die nachfolgenden Anforderungen ignoriert, und es wird bis zur Zeit 27 keine Anforderung ausgeführt, wenn die Cachespeicher-Beschäftigt- Signale aufgehoben werden. Zur Zeit 27 wird eine Cachespeichersuche für eine der nachfolgenden Anforderungen zum Datenabruf aus dem Hauptspeicher ausgeführt, und wenn sich zeigt, daß sie auf einen Cachetreffer stößt, werden die Zieldaten aus dem Datenfeld gelesen, und zur Zeit 31 werden diese Daten in das Mehrzweckregister 7 geschrieben.
- Die herkömmliche Cachespeichereinrichtung, deren Betriebsweise wie oben beschrieben vor sich geht, weist die folgenden Problem auf. In einer Cachespeichereinrichtung, in der ein nichtblockierender Mechanismus eingebaut ist, der selbst dann, wenn ein Cachefehltreffer auftritt, nachfolgende Speicherzugriffsbefehle verwalten kann, ohne sie zu ignorieren, müssen die gewünschten Daten (die Zieldaten), die in den Blockdaten enthalten sind, die vom Hauptspeicher zurückgeschickt werden, um den Cachefehltreffer zu kompensieren, in das Mehrzweckregister 7 geschrieben werden. Während dieses Vorgangs kann jedoch wenigstens ein nachfolgender Datenabrufbefehl auf den Cachespeicher zugreifen, weil im Cachespeicher ein nichtblockierender Mechanismus eingebaut ist. Zu der Zeit, wenn der nachfolgende Datenzugriffsbefehl auf den Cachespeicher zugreift, können die vom Hauptspeicher 4 gelieferten Zieldaten und die als Reaktion auf die nachfolgenden Abrufbefehle ausgewählten Daten um den Pfad zum Mehrzweckregister konkurrieren. Um eine solche Unannehmlichkeit zu vermeiden, wird in einem solchen Fall der Cachespeicherzugriff durch jeglichen nachfolgenden Datenabrufbefehl gesperrt, und der Registrierung von Zieldaten in den aus dem Hauptspeicher abgerufenen Daten wird gestattet, einen Vorrang einzunehmen. Während die Zieldaten der Blockladedaten zum Cachespeicher zurückgesandt werden, wird in diesem Fall der Zugriff auf den Cachespeicher durch nachfolgende Befehle gesperrt, was zu einer verringerten Effizienz der Speicherzugriffsverwaltung führt.
- Der Grund, warum ein solch wenig effizienter Speicherzugriff resultiert, liegt in der Tatsache, daß der Cachespeicher so aufgebaut ist, daß er einem identischen Pfad gestattet, gleichzeitig als Datenpfad für vom Hauptspeicher zurückgesandte Daten sowie als Zugriffspfad zu dienen, wenn ein Cachetreffer auftritt. Wenn Blockdaten, die vom Hauptspeicher zurückgesandt werden, direkt im Cachespeicher gespeichert werden, kann es weiterhin passieren, daß Cachespeicher-Beschäftigt-Signale für eine lange Zeit fortgesetzt aktiviert werden, und in der Zwischenzeit ist die Ausführung von nachfolgenden Befehlen zum Abrufen von Daten aus dem Hauptspeicher gehemmt. Dies dient dazu, solche nachfolgenden Instruktionen daran zu hindern, Zugriff zum Cachespeicher zu erlangen, weil zu jeder Zeit Daten vom Hauptspeicher am Cachespeicher ankommen können.
- Weiterhin offenbart EP-A-0304587 eine Cachespeichereinrichtung, die zwischen einer Verarbeitungseinheit und einer Hauptspeichereinheit angeschlossen ist, wobei die Cachespeichereinrichtung ein Haltemittel zum Halten einer kompletten Datenzeile umfaßt, die vom Hauptspeicher übertragen wird und die die gewünschten Daten enthält, die von einen Befehl angefordert wurden, der zu einem Cachefehltreffer geführt hat und der von der Verarbeitungseinheit ausgegeben wurde, um auf den Hauptspeicher zuzugreifen, ein Liefermittel zum Liefern der gewünschten Daten an die Verarbeitungseinheit, wenn die gewünschten Daten von der Hauptspeichereinheit übertragen werden, und ein Steuermittel zum Schreiben der gesamten Datenzeile in ein Datenfeld, wenn der Inhalt der gesamten Datenzeile im Haltemittel akkumuliert ist, und zum Sperren des Cachespeicherzugriffs durch einen oder mehrere neue Befehle, während die vollständige Datenzeile in das Datenfeld geschrieben wird, umfaßt. Es wird offenbart, daß das Schreiben von Daten in das Datenfeld in jeglichem Block von zweckmäßiger Größe, abhängig von der Cachespeicherorganisation durchgeführt wird. Insbesondere gibt sie das Beispiel einer Blockgröße von 16 Byte von Daten, die in einem einzigen Zugriff in den Cachespeicher geschrieben werden, selbst wenn der Zugriff auf den Speicher aufgrund eines Speicherbusses mit nur 8 Byte zwei Zugriffe nötig gemacht hat.
- Es ist die Aufgabe dieser Erfindung, als eine Lösung für die obigen Probleme eine Cachespeichereinrichtung bereitzustellen, mit der es möglich ist, die Zeit zu verringern, während der der Zugriff auf den Cachespeicher durch Datenabrufbefehle, die nach einem Cachefehltreffer auftreten, gesperrt werden muß, und dadurch ist es möglich, die Zeit zu verringern, während der die nachfolgenden Befehle warten müssen, bis sie beim Cachespeicherzugriff an der Reihe sind.
- Gemäß einem Aspekt der vorliegenden Erfindung ist eine Cachespeichereinrichtung vorgesehen, die zwischen einer Verarbeitungseinheit und einer Hauptspeichereinheit angeschlossen ist, wobei die Cachespeichereinrichtung ein Haltemittel zum Halten von Blockladedaten, die eine Mehrzahl Dateneinheiten umfassen, die zufällig von der Hauptspeichereinheit übertragen werden und gewünschte Daten umfassen, die durch einen Befehl angezeigt werden, wenn der Cachespeicherzugriff durch den Befehl zu einem Cachefehltreffer führt, wobei der Befehl von der Verarbeitungseinheit ausgegeben wird und anweist, auf den Hauptspeicher zuzugreifen, ein Liefermittel zum Liefern der gewünschten Daten an die Verarbeitungseinheit, wenn die gewünschten Daten von der Hauptspeichereinheit übertragen werden, und ein Steuermittel zum Steuern des Schreibens der Blockladedaten, die durch das Haltemittel gehalten werden, in ein Datenfeld, wenn der gesamte Inhalt der Blockladedaten im Haltemittel akkumuliert ist, und um den Cachespeicherzugriff durch einen oder mehrere neue Befehle zu sperren, während die Mehrzahl der Dateneinheiten, die durch das Haltemittel gehalten werden, nacheinander in das Datenfeld geschrieben wird, umfaßt.
- In einem weiteren Aspekt weist die Cachespeichereinrichtung der vorliegenden Erfindung ein Mittel auf, das in einer kurzen Periode Zieldaten durch eine Überbrückung zum Mehrzweckregister zurücksendet, wenn eine vorhergehende Anforderung zum Datenabruf aus dem Hauptspeicher auf einen Cachefehltreffer stößt und nachfolgende Anforderungen zum Datenabruf aus dem Hauptspeicher genau zu einer Zeit auftreten, wenn Blockdaten, die den Cachefehltreffer kompensieren sollen, an das Datenfeld zurückgesendet werden, und gestattet daher, daß ein Schreiben der Daten in das Mehrzweckregister nicht nur durch einen Cachetrefferweg, sondern auch durch einen Pfad stattfindet, der speziell für vom Hauptspeicher zurückgesendete Blockdaten reserviert ist.
- In einem weiteren Aspekt stellt die Cachespeichereinrichtung der vorliegenden Erfindung die fortgesetzte Bearbeitung von nachfolgenden Anforderungen zum Datenabruf aus dem Hauptspeicher sicher, selbst wenn ein Cachefehltreffer auftritt, und diese Anforderungen erscheinen zu einer Zeit, wenn der Datenabruf aus dem Hauptspeicher zur Kompensation für den Cachefehltreffer stattfindet. Um es konkreter auszudrücken, ist es möglich, daß die Blockdaten in das Mehrzweckregister geschrieben werden, ohne um den Zugriff auf das Register zu konkurrieren, da die Cachespeichereinrichtung der vorliegenden Erfindung einen Datenpuffer, um aus dem Hauptspeicher abgerufene Blockdaten zu enthalten, und eine Überbrückung oder einen Pfad, durch die/den das Schreiben der Blockdaten in das Mehrzweckregister erreicht wird, aufweist.
- Um es anders auszudrücken, weist die Cachespeichereinrichtung der vorliegenden Erfindung getrennt einen Cachetrefferweg und einen Cachefehltrefferweg auf, so daß Daten sicher in das Mehrzweckregister geschrieben werden können, und speichert zeitweilig in einer unregelmäßigen Reihenfolge Blockdatendaten, die vom Hauptspeicher zurückgesandt werden, in den Datenpuffer, so daß die Daten später ohne Unterbrechungen in den Cachespeicher geschrieben werden können. Durch diese Anordnung ist es nachfolgenden Befehlen zum Datenabruf aus dem Hauptspeicher möglich, Zugriff auf den Cachespeicher zu erlangen, selbst wenn sie zu einer Zeit auftreten, zu der Blockladedaten vom Hauptspeicher zum Cachespeicher zurückgesendet werden.
- Andere Merkmale und Vorteile der Erfindung werden durch die detaillierte nachfolgende Beschreibung in Zusammenhang mit den begleitenden Zeichnungen offensichtlicher, in denen:
- Fig. 1 ein Blockdiagramm ist, das ein Beispiel der vorliegenden Erfindung wiedergibt;
- Fig. 2 ein Zeitdiagramm ist, daß die Betriebsweise der vorliegenden Erfindung darstellt;
- Fig. 3 ein Blockdiagramm ist, das eine herkömmliche Cachespeichereinrichtung wiedergibt; und
- Fig. 4 ein Zeitdiagramm ist, das die Betriebsweise einer herkömmlichen Cachespeichereinrichtung darstellt.
- In den Zeichnungen geben die gleichen Referenzzahlen die gleichen Strukturelemente wieder.
- Als nächstes wird eine erste Ausführungsform der vorliegenden Erfindung detailliert beschrieben.
- Mit Bezug auf Fig. 1 umfaßt eine Cachespeichereinrichtung 1 einen Datenpuffer 18, eine erste Überbrückung 33, einen Selektor 19, eine zweite Überbrückung 34, ein erstes Steuermittel (eine Zieldatenüberbrückungssteuerschaltung 25) und ein zweites Steuermittel (eine Datenfeldschreibsteuerschaltung 26). Als Reaktion auf einen Zugriffsbefehl auf einen Hauptspeicher, der von einer Befehlssteuereinheit 2 ausgegeben wird, schreibt die Cachespeichereinrichtung 1 Zieldaten in ein Mehrzweckregister 7, die durch den Hauptspeicherzugriffsbefehl bestimmt sind. Der Datenpuffer 18 hält vom Hauptspeicher 4 gesendete Daten. Die erste Überbrückung 33 ist eine Überbrückung, durch die vom Hauptspeicher 4 ausgesendete Daten direkt zum Selektor 19 gesendet werden, wobei sie den Datenpuffer 18 umgehen. Der Selektor 19 empfängt vom Datenpuffer 18 gesendete Daten oder über die erste Überbrückung 33 gesendete Daten, wählt geeignete daraus aus und schickt sie als Ausgabe ab. Die zweite Überbrückung 34 leitet die vom Selektor 19 ausgesandte Ausgabe zum Mehrzweckregister 7. Das erste Steuermittel, die Zieldatenüberbrückungssteuerschaltung 25, schreibt die Zieldaten über die ersten und zweiten Überbrückungen 33 und 34 in das Mehrzweckregister 7. Das zweite Steuermittel, Datenfeldschreibsteuerschaltung 26 sperrt die Ausführung von nachfolgenden Zugriffsbefehlen auf den Hauptspeicher, wenn gesamte, vom Hauptspeicher 4 gesendete Blockladedaten im Datenpuffer 18 enthalten waren, und schreibt die im Datenpuffer 18 enthaltenen Blockladedaten in das Datenfeld 22. Das Mehrzweckregister 7 ist ein sichtbares Softwareregister und weist Eingabeanschlüsse für Daten aus dem Datenfeld 22 und aus der Überbrückung 34 auf.
- Die Befehlssteuereinheit 2 verarbeitet unter dem Befehl eines Programmzählers in Reihenfolge einen Befehl nach dem anderen. Es wird eine kurze Beschreibung gegeben unter der Annahme, daß dieses Beispiel einen Satz aus einer Cachespeichereinrichtung 1 und einer Befehlssteuereinheit 2 umfaßt. In der Realität ist jedoch eine Mehrzahl von Sätzen der Cachespeichereinrichtung 1 und der Befehlssteuereinheit 2 mit einem Hauptspeicher 4 verbunden. Weiterhin kann eine Mehrzahl der Befehlssteuereinheit 2 mit einer Cachespeichereinrichtung 1 verbunden werden. Die Befehlssteuereinheit 2 trägt die Adressen, auf die im Hauptspeicher zugegriffen werden soll, in ein EA(effektive Adresse)-Register 11 ein, wenn sie angewiesen wird, Daten aus dem Hauptspeicher abzurufen. Die in das EA-Register 11 einzutragende Adresse enthält drei Arten von Adreßdaten: die erste ist eine Intrablockadresse, die eine Adresse innerhalb von abzurufenden Blockdaten angibt, die zweite ist eine Cachespeicher-Indexadresse, die die Zugriffsadresse eines Cachespeichers bestimmt, die Blockdaten als Basiseinheiten verwendet, und die dritte ist eine Kennzeichenadresse, die die Cachespeicherkapazität als eine Basiseinheit verwendet und eine Adresse anwendet, die die Cachespeicherkapazität als eine Suchadresse übertrifft. Die Adresse des Adreßfeldes 12 wird als ein Index verwendet, durch den eine entsprechende Cachespeicher-Indexadresse des EA- Registers 11 in bezug genommen wird, und eine Adresse, die nach einer Suche durch das Adreßfeld 12 erhalten wird, wird durch einen Komparator 13 mit einer entsprechenden Kennzeichenadresse des EA-Registers verglichen. Wenn als Ergebnis des Vergleichs gefunden wird, daß beide identisch sind, nämlich wenn ein Cachetreffer auftritt, zeigt dies an, daß sich die gewünschten Daten im Cachespeicher befinden. Wenn gefunden wird, daß beide nicht identisch sind, nämlich wenn ein Cachefehltreffer auftritt, zeigt dies an, daß sich die gewünschten Daten nicht im Cachespeicher befinden. Die gewünschten Daten müssen aus dem Hauptspeicher abgerufen werden.
- Wenn ein Cachetreffer auftritt, wird das Trefferergebnis als Trefferdaten in ein Treffer-/Fehltreffer-Register 14 eingetragen. Gleichzeitig wird die Cachespeicher-Indexadresse des EA-Registers 11 in das EA1-Register 16 eingetragen. Entsprechende Daten des Datenfelds 22 werden gemäß der in das EA1-Register eingetragenen Adresse gelesen, und der Selektor 23 wählt die gewünschten Daten entsprechend den Trefferdaten aus dem Treffer- /Fehltreffer-Register 14 von den aus dem Datenfeld 22 gelesenen Daten aus und trägt sie in ein Register A24 ein. Danach werden die so ausgewählten Daten durch ein Register B5 in das Mehrzweckregister 7 geschrieben.
- Wenn ein Cachefehltreffer auftritt, wird das Fehltrefferergebnis als Fehltrefferdaten in das Treffer-/Fehltreffer-Register 14 eingetragen, das als Reaktion auf die Fehltrefferdaten ein Signal an die Adreßsteuereinheit 3 bestätigt, so daß ein Datenabruf aus dem Hauptspeicher stattfinden kann. Zusätzlich sendet EA-Register 11 die Adressen des Hauptspeichers, aus dem Blockdaten abgerufen werden sollen, an die Adreßsteuereinheit 3. Die Adreßsteuereinheit 3 übersetzt die logischen Adressen in physikalische Adressen, und eine Lieferung von Blockdaten aus dem Hauptspeicher 4 zur Cachespeichereinrichtung 1 findet statt.
- Übrigens ist es notwendig, die Daten in der Cachespeichereinrichtung 1 wie auch die im Hauptspeicher 4 zu aktualisieren, weil ersterer eine Kopie des letzteren ist, wenn dem Hauptspeicher ein Speicherbefehl geliefert wird, um gegebene Daten zu ändern, und sich seine Ursprungsdaten auch in der Cachespeichereinrichtung 1 befinden. In einem solchen Fall werden neue Schreibdaten durch eine Signalleitung 32 abgesandt, um die alten Daten zu ersetzten, so daß eine Aktualisierung der alten Daten stattfinden kann.
- Der Hauptspeicher 4 besteht aus einer Mehrzahl Banken (oder Speicheradreßbereichen), und auf diese Banken wird durch Bankauswahl bzw. Interleave-Technik zugegriffen. Der Hauptspeicher 4 ist mit anderen Informationsverarbeitungseinheiten verbunden, und wenn Zugriffsanforderungen von verschiedenen Einheiten eintreffen, tritt eine Konkurrenz für den Datenabruf über den Hauptspeicher 4 auf. Als Ergebnis erscheinen Blockladedaten, die vom Hauptspeicher 4 zur Cachespeichereinrichtung 1 übertragen werden, in einer unregelmäßigen Reihenfolge. Genauer sind der Reihenfolge, in der die Blockladedaten zum Cachespeicher zurückkehren, keine Beschränkungen auferlegt, weil die vorgenanten Blockladedaten als Basisdateneinheiten (z. B. acht Byte) gesteuert werden. Demgemäß empfängt die Cachespeichereinrichtung 1 als Reaktion auf eine Cachefehltreffer-Anforderung zufällig acht Antwortdaten (wobei aus Darstellungszwecken acht angenommen werden), die die Blockladedaten darstellen. Die Blockladedaten, die aus acht Antwortdaten bestehen, enthalten die gewünschten Daten (die Zieldaten), die in das Mehrzweckregister 7 geschrieben werden sollen. Während die Zieldaten aus dem Hauptspeicher 4 zurückgesandt werden, werden sie einmal von einem Antwortregister 17 empfangen und unter dem Befehl von einer Zieldatenüberbrückungssteuerschaltung 25 über eine Überbrückung 33 und den Selektor 19 direkt an das Mehrzweckregister 7 gesendet. Die Zieldaten werden nämlich, nachdem sie die Überbrückung 33 durchlaufen haben, über ein Register C20, Überbrückung 34 und Register D6 in das Mehrzweckregister 7 geschrieben.
- Andererseits speichert die Cachespeichereinrichtung 1 die Blockladedaten im Datenpuffer 18, bis der gesamte Inhalt der Blockladedaten darin akkumuliert ist, und schreibt sie in das Datenfeld 22, wenn das Speichern aller beteiligten Daten erreicht ist. Während dieses Schreibvorganges werden Cachespeicher-Beschäftigt-Signale bestätigt, um nachfolgende Befehle zum Datenabruf aus dem Hauptspeicher daran zu hindern, Zugriff zum Cachespeicher zu erlangen.
- Unter dem Befehl der Datenfeldschreibsteuerschaltung 26 werden die Daten dann aus einem Datenpuffer 18 gelesen, und weiterhin wird der Selektor 19 von der Datenfeldschreibsteuerschaltung 26 angewiesen, die fraglichen Daten auszuwählen, um sie als Ausgabe zu liefern. Die Datenfeldschreibsteuerschaltung 26 weist einen Selektor 21 an, die Daten zum Datenfeld 22 zu leiten, und weist einen weiteren Selektor 15 an, damit durch eine Signalleitung 35 gelieferte Adressen in das EA1-Register 16 eingetragen werden können. Dann schreibt die gleiche Datenfeldschreibsteuerschaltung 26 unter Verwendung der Daten des EA 1-Registers als Adressen die vom Selektor 21 gelieferten Daten in das Datenfeld 22. Um zu verhindern, daß weiter auf den Cachespeicher zugegriffen wird, werden Cachespeicher- Beschäftigt-Signale als Sätze von acht t vorbereitet, weil die Blockladedaten aus acht Einheiten bestehen und weil jede Einheit pro ein t transferiert wird.
- Die Betriebsweise der ersten Ausführungsform wird unten beschrieben.
- Mit Bezug auf Fig. 2 wird zur Zeit 1 eine Anforderung zum Datenabruf aus dem Hauptspeicher von der Befehlssteuereinheit 2 abgesandt und wird beurteilt, zur Zeit 2 auf einen Cachefehltreffer zu stoßen, und der Cachefehltreffer wird in das Treffer-/Fehltrefferregister 14 eingetragen.
- Um dem Cachefehltreffer entgegenzuwirken, müssen Daten erneut aus dem Hauptspeicher abgerufen werden, und um dies auszuführen, wird eine logische Adresse durch die Adreßsteuereinheit 3 in eine physikalische Adresse umgewandelt, und Blockladedaten werden von der entsprechenden Adresse des Hauptspeichers abgerufen. Mit von anderen Informationsverarbeitungseinheiten abgesendeten Anforderungen tritt eine Konkurrenz über den Hauptspeicher 4 auf, und daher kehren die Blockladedaten mit mehr oder weniger gestörter Reihenfolge zurück. Unter Bezugnahme auf dieselbe Figur kehren Daten a3 zur Zeit 9 zurück, Daten a2 zur Zeit 10, Daten a5 zur Zeit 13, Daten a1 zur Zeit 17, Daten a6 zur Zeit 18, Daten a4 zur Zeit 22, Daten a7 zur Zeit 23 und Daten aß zur Zeit 26 (unter der Annahme, daß a1 zu Anschauungszwecken die Zieldaten sind).
- Da die Zieldaten zur Zeit 17 zurückkehren, werden sie zur Zeit 18 in das Register C 20 eingetragen, zur Zeit 19 in das Register D6 und zur Zeit 20 in das Register 7.
- Da die gesamten Blockdaten zur Zeit 26 zurückkehren, werden Cachespeicher- Beschäftigt-Signale zur Zeit 27 ins Spiel gebracht, und die Blockladedaten werden sequentiell vom Datenpuffer 18 gelesen. Die so gelesenen Daten werden dem Datenfeld 22 kontinuierlich zum Speichern zugeführt. Zur Zeit 34 ist die Zufuhr von Daten an das Datenfeld abgeschlossen, und daher werden die Cache-Beschäftigt-Signale während des Intervalls von 8t aktiviert, das sich von Zeit 27 bis 34 erstreckt, und nach Ende des Intervalls werden die Signale zurückgezogen.
- Eine nachfolgende Anforderung zum Datenabruf aus dem Hauptspeicher erscheint zur Zeit 12. Zu dieser Zeit sind die Cachespeicher-Beschäftigt-Signale noch nicht aktiviert, und daher beginnt zur Zeit 12 als Reaktion auf die fragliche Anforderung eine Suche nach Daten im Cachespeicher. Wenn die Suche zu einem Treffer führt, werden gewünschte Daten aus dem Datenfeld gelesen und zur Zeit 16 in das Mehrzweckregister 7 geschrieben.
- Mit der Cachespeichereinrichtung, die auf die oben beschriebene Weise arbeitet, wird die Bearbeitung sowohl von vorangegangenen als auch nachfolgenden Anforderungen zum Datenabruf aus dem Hauptspeicher zur Zeit 20 vervollständigt, oder um 11t früher, als es bei der herkömmlichen Einrichtung der Fall ist (siehe Fig. 4).
- Wie oben ausgeführt, kann die Cachespeichereinrichtung der vorliegenden Erfindung die Zeit verringern, während der, wenn eine vorangegangene Anforderung auf einen Cachefehltreffer stößt, der Zugriff auf den Cachespeicher durch nachfolgende Anforderungen blockiert werden muß, und dadurch ist es möglich, die Zeit zu verringern, die eine gegebene nachfolgende Anforderung warten muß, bevor sie Zugriff zum Cachespeicher erlangen kann. Ein Rücksendeweg, durch den Blockladedaten passieren, die aus dem Hauptspeicher als Reaktion auf eine Anforderung zum Datenabruf aus dem Hauptspeicher abgerufen werden, wird nämlich getrennt von einem Pfad bereitgestellt, durch den Daten als Ergebnis eines Cachetreffers gelesen werden, und die Blockladedaten werden nacheinander in das Datenfeld geschrieben, nachdem sie zeitweise im Datenpuffer gespeichert wurden. Diese Anordnung ermöglicht es, die Zeit zu verringern, während der Cachespeicher-Beschäftigt-Signale aktiviert sein müssen. Entsprechend ist diese Cachespeichereinrichtung vorteilhaft beim Verbessern der Informationsverwaltungskapazität des gesamten Informationsverarbeitungssystems.
- Während diese Erfindung im Zusammenhang mit ihren bevorzugten Ausführungsformen beschrieben wurde, wird es Fachleuten nun einfach möglich sein, diese Erfindung auf verschiedene andere Arten im Umfang der Ansprüche in die Praxis umzusetzen.
Claims (6)
1. Eine Cachespeichereinrichtung (1), die zwischen einer Verarbeitungseinheit und einer
Hauptspeichereinheit (4) angeschlossen ist, wobei die Cachespeichereinrichtung (1)
umfaßt:
ein Haltemittel (18) zum Halten von Blockladedaten, die eine Mehrzahl Dateneinheiten
umfassen, die zufällig von der Hauptspeichereinheit (4) übertragen werden und
gewünschte Daten umfassen, die durch einen Befehl angezeigt werden, wenn der
Cachespeicherzugriff durch den Befehl zu einem Cachefehltreffer führt, wobei der Befehl von
der Verarbeitungseinheit ausgegeben wird und anweist, auf den Hauptspeicher (4)
zuzugreifen;
ein Liefermittel zum Liefern der gewünschten Daten an die Verarbeitungseinheit, wenn
die gewünschten Daten von der Hauptspeichereinheit übertragen werden; und
ein Steuermittel (26) zum Steuern des Schreibens der Blockladedaten, die durch das
Haltemittel (18) gehalten werden, in ein Datenfeld (22), wenn der gesamte Inhalt der
Blockladedaten im Haltemittel (18) akkumuliert ist, und um den Cachespeicherzugriff
durch einen oder mehrere neue Befehle zu sperren, während die Mehrzahl der
Dateneinheiten, die durch das Haltemittel (18) gehalten werden, nacheinander in das Datenfeld
(22) geschrieben wird.
2. Cachespeichereinrichtung wie in Anspruch 1 beansprucht, wobei das Liefermittel eine
Überbrückung (33) umfaßt, die das Haltemittel (18) umgeht.
3. Cachespeichereinrichtung wie in Anspruch 1 oder 2 beansprucht, wobei das Liefermittel
eine erste Überbrückung (33) umfaßt, die das Haltemittel (18) umgeht, und eine zweite
Überbrückung, die das Datenfeld (22) umgeht.
4. Cachespeichereinrichtung wie in Anspruch 2 oder 3 beansprucht, weiterhin umfassend:
einen Selektor (19) zum Auswählen der vom Haltemittel (18) ausgegebenen Daten,
wenn die Blockladedaten in das Datenfeld (22) geschrieben werden, und Auswählen der
durch die Überbrückung (33) gelieferten Daten, wenn die gewünschten Daten an die
Verarbeitungseinheit geliefert werden.
5. Cachespeichereinrichtung wie in einem der Ansprüche 1 bis 4 beansprucht, weiterhin
umfassend:
eine erste Überbrückung (33) zum Umgehen der Haltemittel (18) und durch die die
Blockladedaten laufen;
einen Selektor (19) zum Auswählen entweder der vom Haltemittel (18) ausgegeben
Daten oder der durch die erste Überbrückung (33) geschickten Daten; und
eine zweite Überbrückung (34) zum Leiten der vom Selektor (19) ausgewählten Daten
an das Mehrzweckregister (7),
wobei das Steuermittel umfaßt
ein erstes Steuermittel (25) zum Steuern des Schreibens der gewünschten Daten in das
Mehrzweckregister durch die erste und zweite Überbrückung; und
ein zweites Steuermittel (26) zum Steuern des Schreibens der vom Haltemittel (18)
gehaltenen Blockladedaten in ein Datenfeld (22), sobald das Haltemittel (18) die
Gesamtheit der vom Hauptspeicher (4) übertragenen Blockladedaten hält, und um die
Ausführung neuer Befehle zum Zugriff auf den Hauptspeicher (4) zu sperren, während
die Blockladedaten in das Datenfeld (22) geschrieben werden.
6. Cachespeichervorrichtung wie in Anspruch 5 beansprucht, wobei das erste Steuermittel
(25) den Selektor die durch die erste Überbrückung gelieferten Daten auswählen läßt,
wenn die gewünschten Daten von der Hauptspeichereinheit (4) übertragen werden.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP15857797A JP3481425B2 (ja) | 1997-06-16 | 1997-06-16 | キャッシュ装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE69808700D1 DE69808700D1 (de) | 2002-11-21 |
| DE69808700T2 true DE69808700T2 (de) | 2003-06-12 |
Family
ID=15674737
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE69808700T Expired - Fee Related DE69808700T2 (de) | 1997-06-16 | 1998-06-16 | Cachespeichervorrichtung |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US6154814A (de) |
| EP (1) | EP0884683B1 (de) |
| JP (1) | JP3481425B2 (de) |
| CA (1) | CA2240634C (de) |
| DE (1) | DE69808700T2 (de) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6014759A (en) * | 1997-06-13 | 2000-01-11 | Micron Technology, Inc. | Method and apparatus for transferring test data from a memory array |
| US6044429A (en) | 1997-07-10 | 2000-03-28 | Micron Technology, Inc. | Method and apparatus for collision-free data transfers in a memory device with selectable data or address paths |
| US6757817B1 (en) * | 2000-05-19 | 2004-06-29 | Intel Corporation | Apparatus having a cache and a loop buffer |
| US6933945B2 (en) * | 2003-03-31 | 2005-08-23 | Sun Microsystems, Inc. | Design for a non-blocking cache for texture mapping |
| US7174426B2 (en) * | 2003-07-24 | 2007-02-06 | International Business Machines Corporation | Interleave pre-checking in front of shared caches with pipelined access |
| US7167952B2 (en) * | 2003-09-17 | 2007-01-23 | International Business Machines Corporation | Method and system for performing a memory-mode write to cache |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS62102344A (ja) * | 1985-10-29 | 1987-05-12 | Fujitsu Ltd | バツフア・メモリ制御方式 |
| JPS6459441A (en) * | 1987-08-24 | 1989-03-07 | Ibm | Cash system |
| JPH0415844A (ja) * | 1990-05-09 | 1992-01-21 | Nec Ibaraki Ltd | キャッシュメモリ制御回路 |
| JPH0447350A (ja) * | 1990-06-12 | 1992-02-17 | Nec Ibaraki Ltd | 主記憶読み出し応答制御方式 |
| US5454093A (en) * | 1991-02-25 | 1995-09-26 | International Business Machines Corporation | Buffer bypass for quick data access |
| JPH04293136A (ja) * | 1991-03-20 | 1992-10-16 | Nec Ibaraki Ltd | キャッシュ制御方式 |
| JPH0769863A (ja) * | 1993-08-27 | 1995-03-14 | Dainippon Jochugiku Co Ltd | 液体白濁入浴剤 |
| JPH08221328A (ja) * | 1995-02-10 | 1996-08-30 | Hitachi Ltd | キャッシュメモリ装置 |
| JPH08272608A (ja) * | 1995-03-31 | 1996-10-18 | Hitachi Ltd | パイプライン処理装置 |
-
1997
- 1997-06-16 JP JP15857797A patent/JP3481425B2/ja not_active Expired - Fee Related
-
1998
- 1998-06-15 CA CA002240634A patent/CA2240634C/en not_active Expired - Fee Related
- 1998-06-16 US US09/097,593 patent/US6154814A/en not_active Expired - Lifetime
- 1998-06-16 DE DE69808700T patent/DE69808700T2/de not_active Expired - Fee Related
- 1998-06-16 EP EP98250210A patent/EP0884683B1/de not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| EP0884683A3 (de) | 1999-07-21 |
| US6154814A (en) | 2000-11-28 |
| JP3481425B2 (ja) | 2003-12-22 |
| EP0884683B1 (de) | 2002-10-16 |
| CA2240634C (en) | 2002-08-13 |
| EP0884683A2 (de) | 1998-12-16 |
| JPH117410A (ja) | 1999-01-12 |
| DE69808700D1 (de) | 2002-11-21 |
| CA2240634A1 (en) | 1998-12-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE60037174T2 (de) | Puffersystem für externen speicherzugriff | |
| DE1956604C3 (de) | Datenverarbeitungsanlage | |
| DE68924306T2 (de) | Mehrprozessorrechneranordnungen mit gemeinsamem Speicher und privaten Cache-Speichern. | |
| DE3151745C2 (de) | ||
| DE2716051C2 (de) | Datenverarbeitungsanlage mit einem oder mehreren Prozessoren mit mindestem einem Ein-/Ausgabekanal mit mehreren Unterkanälen und mit einer Speicheranordnung, bei der zum Speicherzugriff Schlüssel verwendet werden | |
| DE69231500T2 (de) | Ein-Chip-Mikrorechner | |
| DE69224084T2 (de) | Rechneranordnung mit Mehrfachpufferdatencachespeicher und Verfahren dafür | |
| DE2953861C2 (de) | ||
| DE3852695T2 (de) | Multiprozessorsystem mit mehreren Speichern. | |
| DE2617408A1 (de) | Datenverarbeitungsgeraet | |
| DE4330751A1 (de) | Verbessertes Cache-Speichersystem zur Reduzierung der Speicherwartezeiten | |
| DE2130299A1 (de) | Eingabe/Ausgabe-Kanal fuer Datenverarbeitungsanlagen | |
| EP0013737A1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
| DE2641722C3 (de) | Hierarchisch geordnetes Speichersystem für eine datenverarbeitende Anlage mit virtueller Adressierung | |
| DE2415900B2 (de) | Rechenautomat mit mehreren mit je einem Vorratsspeicher versehenen Rechenanlagen | |
| DE2350884A1 (de) | Datenverarbeitungssystem | |
| DE3303488A1 (de) | Digitales signalverarbeitungssystem | |
| DE3439302A1 (de) | Speichersteuerungsvorrichtung | |
| DE68924719T2 (de) | Vorrichtung und Verfahren zur Ausführung eines Unterprogramms in einem Datenverarbeitungssystem mit Blockumschaltung. | |
| DE2939411C2 (de) | Datenverarbeitungsanlage mit virtueller Speicheradressierung | |
| DE3046912C2 (de) | Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage | |
| DE69119149T2 (de) | Struktur zur direkten Speicher-zu-Speicher-Übertragung | |
| DE3873388T2 (de) | Cache-speicher. | |
| DE3911721C2 (de) | ||
| DE3851241T2 (de) | Speicheranordnung. |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8364 | No opposition during term of opposition | ||
| 8339 | Ceased/non-payment of the annual fee |