[go: up one dir, main page]

DE10056827A1 - Duale Verwendung von Cache-Verbindungen - Google Patents

Duale Verwendung von Cache-Verbindungen

Info

Publication number
DE10056827A1
DE10056827A1 DE10056827A DE10056827A DE10056827A1 DE 10056827 A1 DE10056827 A1 DE 10056827A1 DE 10056827 A DE10056827 A DE 10056827A DE 10056827 A DE10056827 A DE 10056827A DE 10056827 A1 DE10056827 A1 DE 10056827A1
Authority
DE
Germany
Prior art keywords
cache
data
source
data link
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE10056827A
Other languages
English (en)
Inventor
Shawn Kenneth Walker
Terry L Lyon
Blaine Stackhouse
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of DE10056827A1 publication Critical patent/DE10056827A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass

Landscapes

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

Abstract

Ein Verfahren und eine Vorrichtung befördern effizient Daten von einer Quelle zu zumindest einem einer Mehrzahl von Zielen. Das Verfahren verwendet eine Datenverbindung zwischen der Quelle und einem Cache. Der Cache umfaßt ein Speicherarray und ist zwischen die Quelle und ein Ziel geschaltet. Das Verfahren umfaßt das Übertragen von Daten von der Quelle zu dem Cache entlang der Datenverbindung und das Übertragen von Daten von der Quelle zu dem Ziel entlang der Datenverbindung, während das Speicherarray umgangen wird. Eine erste Vorrichtung umfaßt einen Cache, der ein erstes Ziel ist, ein zweites Ziel, eine erste Datenverbindung und eine zweite Datenverbindung. Der Cache umfaßt ein Speicherarray. Die erste Datenverbindung erstreckt sich von der Quelle zu dem Cache, wobei Daten, die für den Cache bestimmt sind, entlang der ersten Datenverbindung befördert werden, und wobei Daten, die für das zweite Ziel bestimmt wird, entlang der ersten Datenverbindung befördert werden, während das Speicherarray umgangen wird. Die zweite Datenverbindung erstreckt sich von dem Cache zu dem zweiten Ziel, wobei Daten, die für das zweite Ziel bestimmt sind, entlang der zweiten Datenverbindung befördert werden. Vorzugsweise ist das Ziel ein Prozessorkern, während der Cache ein Ebene-0-Cache bezüglich des Prozessorkerns ist. Alternativ ist das Ziel ein zweiter Cache. Vorzugsweise sind die erste Datenverbindung und die zweite Datenverbindung Busse, wobei in bestimmten Fällen die Breite der ...

Description

Die vorliegende Erfindung bezieht sich auf Computerspeicher­ systeme. Spezieller bezieht sich die Erfindung auf Mehrebe­ nen-Cache-Speicher.
Bei einem Computersystem ist die Schnittstelle zwischen ei­ nem Prozessor und einem Speicher von kritischer Bedeutung für das Verhalten des Systems. Da schneller Speicher sehr aufwendig ist, ist der Speicher in der Menge, die benötigt wird, um einen Prozessor zu unterstützen, im allgemeinen viel langsamer als der Prozessor. Um die Lücke zwischen schnellen Prozessorzykluszeiten und langsamen Speicherzu­ griffszeiten zu überbrücken, wird ein Cache-Speicher be­ nutzt. Ein Cache ist eine kleine Menge eines sehr schnellen Speichers, der verwendet wird, um eine Kopie der Daten und Befehle von einem Hauptspeicher, auf die häufig zugegriffen wird, zu speichern. Ein Prozessor kann aus diesem sehr schnellen Speicher arbeiten und dadurch die Anzahl von War­ tezuständen, die während Speicherzugriffen eingelegt werden müssen, reduzieren. Wenn der Prozessor Daten von einem Spei­ cher anfordert und sich die Daten in dem Cache befinden, findet ein Cache-Lesen-"Treffer" statt, und die Daten von dem Speicherzugriff können aus dem Cache zu dem Prozessor zurückgegeben werden, ohne den Latenznachteil des Zugreifens auf den Hauptspeicher zu bewirken. Wenn sich die Daten nicht in dem Cache befinden, findet ein Cache-Lesen-"Fehlgriff" statt, wobei die Speicheranforderung zu dem Hauptspeicher weitergeleitet wird, wie es normalerweise geschehen würde, wenn der Cache nicht existiert. Auf einen Cache-Fehlgriff hin werden die Daten, die von dem Hauptspeicher wiedergewon­ nen werden, dem Prozessor geliefert und ferner aufgrund der statistischen Wahrscheinlichkeit, daß diese Daten in der na­ hen Zukunft wieder durch den Prozessor angefordert werden, in den Cache geschrieben.
Die einzelnen Datenelemente, die in einem Cache-Speicher ge­ speichert sind, werden als "Linien" bezeichnet. Jede Linie eines Caches soll einer adressierbaren Dateneinheit in dem Hauptspeicher entsprechen. Eine Cache-Linie umfaßt somit Da­ ten und ist auf eine bestimmte Weise einer Hauptspeicher­ adresse zugeordnet. Schemata zum Zuordnen einer Hauptspei­ cheradresse zu einer Cache-Datenlinie umfassen eine direkte Abbildung, eine volle Zuordnung und eine Satzzuordnung, die alle in der Technik gut bekannt sind.
Ein Cache kann unabhängig von dem Mikroprozessor entworfen sein, wobei in diesem Fall der Cache auf dem lokalen Bus des Mikroprozessors plaziert ist und während des Entwurfs des Computersystems eine Schnittstelle zwischen dem Prozessor und dem Systembus bildet. Da jedoch die Dichte von Transi­ storen auf einem Prozessorchip zugenommen hat, können Pro­ zessoren mit einem oder mehreren internen Cache-Speichern entworfen sein, um die Speicherzugriffszeiten weiter zu ver­ ringern. Ein interner Cache ist im allgemeinen klein, wobei eine beispielhafte Größe 256 Kb (262.144 Byte) beträgt. Bei Computersystemen, die Prozessoren mit einem oder mehreren internen Cache-Speichern verwenden, ist häufig ein externer Cache zu dem System hinzugefügt, um die Speicherzugriffszeit weiter zu verbessern. Der externe Cache ist im allgemeinen viel größer als der interne Cache (die internen Cache-Spei­ cher) und liefert, wenn er in Verbindung mit dem internen Cache (den internen Cache-Speichern) verwendet wird, eine größere Gesamttrefferrate als der interne Cache (die inter­ nen Cache-Speicher) alleine liefern würde.
Bei Systemen, die mehrere Ebenen von Cache-Speichern bein­ halten, wird, wenn der Prozessor Daten von einem Speicher anfordert, der interne oder der Cache erster Ebene zuerst überprüft, um zu sehen, ob sich eine Kopie der Daten in dem­ selben befindet. Wenn dies der Fall ist, tritt ein Erste- Ebene-Cache-Treffer auf und der Cache erster Ebene liefert die geeigneten Daten zu dem Prozessor. Wenn ein Erste-Ebe­ ne-Cache-Fehlgriff stattfindet, wird der Cache zweiter Ebene überprüft. Wenn ein Zweite-Ebene-Cache-Treffer stattfindet, werden die Daten von dem Cache zweiter Ebene zu dem Prozes­ sor geliefert. Wenn ein Zweite-Ebene-Cache-Fehlgriff statt­ findet, werden die Daten von dem Hauptspeicher (oder Cache- Speichern höherer Ebene, wenn solche vorliegen) wiedergewon­ nen. Schreiboperationen werden gleichartig durchgeführt, wo­ bei ein Mischen und Anpassen der Operationen, die oben er­ läutert wurden, möglich ist.
Bei einem Mehrebenen-Cache-System können mehrere Formen ei­ ner Datenübertragung stattfinden. Die möglichen Datenüber­ tragungen umfassen Füllvorgänge, Ladevorgänge und Speicher­ vorgänge. Gemäß der Verwendung hierin ist eine Fülloperation das Kopieren einer Linie von einem Cache höherer Ebene (wei­ ter weg von einem Prozessorkern) in einen Cache niedriger Ebene (näher an einem Prozessorkern); eine Ladeoperation ist das Kopieren zumindest eines Teils einer Linie von einem Ca­ che in den Prozessorkern - typischerweise ein Register oder eine allgemeine Registerdatei in dem Prozessorkern; und eine Speicheroperation ist das Bewegen von Daten von dem Prozes­ sorkern in eine Linie eines Caches. Diese Datenübertragungen werden durch eine Betrachtung von Fig. 1 klarer.
Fig. 1 ist ein Blockdiagramm eines Computersystems 100 mit zwei Cache-Ebenen. Ein Prozessorkern 105 ist mit einem L0- Cache 110 und einem L1-Cache 115 verbunden. Der L1-Cache 115 und der L0-Cache 110 sind Halbleiterspeicherschaltungen. Der L1-Cache 115, der L0-Cache 110 und der Prozessorkern können getrennte integrierte Schaltungen sein oder in einer be­ stimmten Kombination physikalisch zusammengepackt sein (bei­ spielsweise der L0-Cache 110 und der Prozessorkern 105 zu­ sammen in dem gleichen integrierten Schaltungsbaustein). Der L0-Cache 110 umfaßt ein Speicherarray 140; das ein RAM (RAM = random access memory = Direktzugriffsspeicher) ist, in dem Cache-Linien gespeichert sind.
Mehrere Busse verbinden den Prozessorkern 145, den L0-Cache 110 und den L1-Cache 115 miteinander. Ein L1-Laden-Bus 125 ist ein Bus zum Laden von Daten von dem L1-Cache 115 in den Mikroprozessorkern 105. Ein L0-Laden-Bus 130 ist ein Bus zum Laden von Daten von dem L0-Cache 110 in den Mikroprozessor­ kern 105. Ein Speichern-Bus 135 unterstützt Speicheropera­ tionen von dem Mikroprozessorkern 105 in den L0-Cache 110 und/oder den L1-Cache 115. Schließlich unterstützt ein Fül­ len-Bus 120 Übertragungen von Linien aus dem L1-Cache 115 in den L0-Cache 110. Da Fülloperationen größer sind als Spei­ cheroperationen (oder Ladeoperationen) sind Füllen-Daten auf dem Füllen-Bus 120 in mehrere Sektionen unterteilt, wobei jede Sektion mit einem getrennten Eingangstor auf dem Spei­ cherarray 140 verbunden ist. Die Breite des Füllen-Busses 120 beträgt L Bytes, während die Breite der anderen Busse K Bytes beträgt. Wie gezeigt ist, gilt: L = 4 K, wobei exem­ plarische Werte L = 64 Bytes und K = 16 Bytes sind.
Die Aufgabe der vorliegenden Erfindung besteht darin, Ver­ fahren und Vorrichtungen für einen verbesserten Zugriff auf Cache-Speicher zu schaffen.
Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1 und Vorrichtungen gemäß den Ansprüchen 9 und 17 gelöst.
Gemäß einem ersten Aspekt schafft die Erfindung ein Verfah­ ren zur Verwendung einer Datenverbindung zwischen einer Quelle und einem Cache. Der Cache umfaßt ein Speicherarray. Der Cache ist ferner zwischen die Quelle und ein Ziel ge­ schaltet. Das Verfahren umfaßt das Übertragen von Daten von der Quelle zu dem Cache entlang der Datenverbindung und das Übertragen von Daten von der Quelle zu dem Ziel entlang der Datenverbindung, während das Speicherarray umgangen wird. Vorzugsweise ist das Ziel ein Prozessorkern und der Cache ist ein Ebene-0-Cache bezüglich des Prozessorkerns. Alter­ nativ ist das Ziel ein zweiter Cache. Vorzugsweise ist die Datenverbindung ein Bus, wobei in bestimmten Fällen die Breite des Datenverbindungsbusses geringer sein kann als die Breite einer Cachelinie in dem Speicherarray.
Gemäß einem anderen Aspekt ist die Erfindung eine Vorrich­ tung zum Befördern von Daten von einer Quelle zu zumindest einem einer Mehrzahl von Zielen. Die Vorrichtung umfaßt ei­ nen Cache, der ein erstes Ziel ist, ein zweites Ziel, eine erste Datenverbindung und eine zweite Datenverbindung. Der Cache umfaßt ein Speicherarray. Die erste Datenverbindung erstreckt sich von der Quelle zu dem Cache, wobei Daten, die für den Cache bestimmt sind, entlang der ersten Datenverbin­ dung befördert werden, und wobei Daten, die für das zweite Ziel bestimmt sind, entlang der ersten Datenverbindung be­ fördert werden, während das Speicherarray umgangen wird. Die zweite Datenverbindung erstreckt sich von dem Cache zu dem zweiten Ziel, wobei Daten, die für das zweite Ziel bestimmt sind, entlang der zweiten Datenverbindung befördert werden. Die Quelle der Daten, die für das zweite Ziel bestimmt sind, kann der Cache oder die Quelle sein. Vorzugsweise ist das zweite Ziel ein Prozessorkern, während der Cache ein Ebene- 0-Cache bezüglich des Prozessorkerns ist. Alternativ ist das zweite Ziel ein zweiter Cache. Vorzugsweise sind die erste Datenverbindung und die zweite Datenverbindung Busse, wobei in bestimmten Fällen die Breite der Datenverbindungsbusse geringer sein kann als die Breite einer Cache-Linie in dem Speicherarray.
Bezüglich noch einem weiteren Aspekt ist die Erfindung eine Vorrichtung, die ein Speicherarray mit einem Schnittstellen­ tor, eine erste Verbindung, die selektiv mit dem Schnitt­ stellentor gekoppelt ist, und eine zweite Verbindung, die selektiv mit dem Schnittstellentor gekoppelt ist, aufweist. Vorzugsweise umfaßt die erste Verbindung einen ersten Drei- Zustands-Puffer (Tristate-Puffer), der in der Lage ist, Si­ gnale von einer ersten Quelle zu dem Schnittstellentor zu treiben, und die zweite Verbindung umfaßt einen zweiten Drei-Zustands-Puffer, der in der Lage ist, Signale von einer zweiten Quelle zu dem Schnittstellentor zu treiben. Die er­ ste Quelle kann ein Cache-Speicher geringerer Ebene bezüg­ lich des Speicherarrays sein, das selbst ein Cache sein kann, während die zweite Quelle ein Prozessorkern ist. Wei­ terhin optional könnte die Vorrichtungen Latch-Speicher bzw. Zwischenspeicher enthalten, die zwischen die Quelle und die jeweiligen Drei-Zustands-Puffer geschaltet sind.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend bezugnehmend auf die beiliegenden Zeich­ nungen näher erläutert. Es zeigen:
Fig. 1 ein Blockdiagramm eines Computersystems mit zwei Cache-Ebenen;
Fig. 2 ein Blockdiagramm eines Computersystems mit zwei Cache-Ebenen gemäß einem Ausführungsbeispiel der Erfindung; und
Fig. 3 ein Blockdiagramm eines Computersystems mit zwei Cache-Ebenen gemäß einem weiteren Ausführungsbei­ spiel der Erfindung.
Fig. 2 ist ein Blockdiagramm eines Computersystems 200 mit zwei Cache-Ebenen gemäß einem Ausführungsbeispiel der Erfin­ dung. Das Computersystem 200 ist gleichartig zu dem Compu­ tersystem 100, das in Fig. 1 gezeigt ist, dahingehend, daß das Computersystem 200 den Prozessorkern 105, den L1-Cache 115 und einen L0-Cache 210 aufweist, der größtenteils gleichartig zu dem L0-Cache 110 ist. Jedoch ist das Compu­ tersystem 200 eine Verbesserung bezüglich des Computersy­ stems 100 in mehrerer Hinsicht. Zuerst ist der L1-Laden-Bus 125 beseitigt, was signifikante Einsparungen bezüglich der Verdrahtung bzw. Leitungsführung zur Folge hat. Zweitens ist die Anzahl von Toren auf dem Prozessorkern 105 von drei auf zwei reduziert. Drittens ist die Anzahl von Schreiben-Toren auf dem Speicherarray 140 von fünf auf vier reduziert.
Bei dem Computersystem 200 führt ein einzelner Bus - ein L1-Laden/Füllen-Bus 155 die gleichen Funktionen durch wie sowohl der Füllen-Bus 120 als auch der L1-Laden-Bus 125 bei dem Computersystem 100 (Fig. 1). Da Füllen-Operationen größer sind als Laden-Operationen unterteilt sich der L1- Laden/Füllen-Bus 155 in unterschiedliche Abschnitte, von denen alle für Füllen-Operationen verwendet werden und von denen nur einer für Laden-Operationen verwendet wird. Vier Busse gehen von dem L1-Laden/Füllen-Bus 155 ab. Gemäß der Darstellung sind die unteren drei Nur-Füllen-Busse. Der oberste ist, wie gezeigt ist, ein kombinierter Füllen/Laden- (und Speichern-) Bus. Bei einem Ausführungsbeispiel sind die Breiten der vier Busse, die sich von dem L1-Laden/Füllen-Bus 155 teilen, gleich, obwohl dies nicht immer notwendig ist. Fachleute werden sicherlich die verschiedenen Möglichkeiten hinsichtlich der Anzahl von Unter-Bussen und deren Größen erkennen. Wenn die Breiten des L1-Laden/Füllen-Busses 155 und der Tore auf dem Speicherarray 140 die gleichen sind, dann ist ein Aufteilen überhaupt nicht notwendig.
Während einer Füllen-Operation werden die gesamte Breite des L1-Laden/Füllen-Busses 155 und alle vier aufgeteilten Unter­ busse verwendet. Während einer Laden-Operation wird nur ein Abschnitt des L1-Laden/Füllen-Busses 155 verwendet. Das heißt, daß drei (gemäß der Darstellung die unteren drei) der vier unterteilten Unterbusse Nur-Füllen-Busse sind, während einer (der oberste) ein dualer Laden/Füllen-Bus ist. Während entweder einer Füllen- oder einer Laden-Operation wird ein Drei-Zustands-Puffer 165 derart getrieben, daß Daten über den L1/L0-Laden-Bus 160 in das Speicherarray 140 (wenn akti­ viert) geschrieben werden oder in den Prozessorkern 105 (wenn aktiviert) geschrieben werden oder beides. Wenn der Drei-Zustands-Puffer 165 treibt, treiben die Drei-Zustands- Puffer 170 und 175 nicht. Wenn Cache-Linien von dem Spei­ cherarray 140 gelesen und in den Prozessorkern 105 geladen werden, treibt der Drei-Zustands-Puffer 175 und die Drei-ZU­ stands-Puffer 165 und 170 treiben nicht. Wenn Daten von dem Prozessorkern 105 in das Speicherarray 140 geschrieben wer­ den, treibt der Drei-Zustands-Puffer 170 und die Drei-Zu­ stands-Puffer 165 und 175 treiben nicht.
Das Computersystem 200 umfaßt ferner einen Speicher-Puffer 250, der zwischen den Speichern-Bus 135 und das Speicherar­ ray 140 geschaltet ist. Der Speicherpuffer 250 puffert Daten auf dem Speichern-Bus 135 temporär, bis die Daten zu einer geeigneten Zeit geschrieben werden können, was folglich den Prozessorkern 105 frei macht, um die Ausführung fortzuset­ zen, ohne anhalten zu müssen, während auf das Schreiben in das Speicherarray 140 gewartet wird.
Bei dem Computersystem 200 wird ein einzelnes Tor zu dem Speicherarray 140 sowohl für Füllen-Operationen als auch für Speichern-Operationen verwendet. Dieses einzelne Tor ist das Eingangstor, das mit den Drei-Zustands-Puffern 165 und 170 verbunden ist. Tatsächlich ist der Knoten zwischen den Drei-Zustands-Puffern 165 und 170 ein kombinierter Fül­ len/Laden/Speichern-Bus-Knoten. Die Drei-Zustands-Puffer 165, 170 und 175 sind Einrichtungen zum gemeinsamen Verwen­ den eines Busknotens, insbesondere des kombinierten Fül­ len/Laden/Speichern-Bus-Knotens, zu dem hin jeder der Drei- Zustands-Puffer 165, 170 und 175 gerichtet ist. Fachleute werden erkennen, daß andere Einrichtungen zum gemeinsamen Verwenden eines Busknotens anstelle der Drei-Zustands-Puffer 165, 170 und 175 verwendet werden können. Beispielsweise könnte ein Drei-Auf-Eins-Multiplexer verwendet werden, so daß der Füllen/Laden/Speichern-Knoten selektiv durch ent­ weder den oberen Abschnitt des L1-Laden/Füllen-Busses 155, den Speichern-Bus 135 oder den Bus, der von dem Speicherar­ ray 140 abgeht, getrieben werden kann.
Bei einer bevorzugten Form des dargestellten Ausführungsbei­ spiels beträgt die Breite des L1-Laden/Füllen-Busses 155 L Byte, während die Breite aller anderen Busse K Bytes be­ trägt, wobei L = 4 K. Jeder der drei zugewiesenen Füllen-Un­ terbusse muß nur auf einen festgelegten Viertel-Von-K-Offset in das Speicherarray 140 indexieren. Jedoch muß das Spei­ chertor, das mit dem kombinierten Füllen/Laden/Speichern-Bus verbunden ist, in der Lage sein, auf jeden K-Byte-Abschnitt einer Cache-Linie in dem Speicherarray 140 zu indexieren, da Speichern-Operationen allgemein eine solche Flexibilität er­ fordern.
Der Prozessorkern 105 ist vorzugsweise ein Universalmikro­ prozessor, kann jedoch auch ein Spezialzweckprozessor sein, beispielsweise ein digitaler Signalprozessor oder eine Mi­ krosteuerung. Bei einer Anordnung sind der L0-Cache 210 und der Prozessorkern 105 zusammen auf die gleiche integrierte Schaltung gepackt, während der L1-Cache ein Teil der glei­ chen integrierten Schaltung sein kann oder auf einer ande­ ren, getrennten integrierten Schaltung angeordnet sein kann. Der L1-Cache 115 kann durch einen Hauptspeicher oder einen Datenbus ersetzt sein, während die Erfindung gleichermaßen brauchbar ist. In jedem Fall ist der L1-Cache 115 oder ein Hauptspeicher oder ein Datenbus an dessen Stelle eine Daten­ quelle, wobei ein Vorteil der Erfindung darin besteht, daß Daten von der Quelle zu einer Mehrzahl von Zielen effizient mit weniger Verdrahtung übertragen werden. Bei einer anderen alternativen Anordnung könnte der Prozessorkern 105 durch einen anderen Cache niedrigerer Ebene ersetzt sein.
Ein weiteres Ausführungsbeispiel der Erfindung ist in Fig. 3 gezeigt, die ein Blockdiagramm eines Computersystems 300 mit zwei Cache-Ebenen ist. Wie das Computersystem 200 umfaßt das Computersystem 300 den L1-Cache 115 und den Prozessorkern 105. Jedoch umfaßt das Computersystem 300 einen L0-Cache 310, der sich von dem L0-Cache 210 unterscheidet. Der L0-Ca­ che 310 ist wirksam, wenn die Breite des L1-Laden/Füllen- Busses 155 geringer ist als die Größe der Cachelinien in dem Speicherarray 140. Vorzugsweise ist der Größenunterschied ein Faktor von zwei. Beispielsweise kann die Breite des L1- Laden/Füllen-Busses 155 in dem Computersystem 300 M = L/2 sein, während die Breite einer Cache-Linie in dem Speicher­ array 140 L Byte beträgt. Um eine gesamte Cache-Linie zu füllen, werden Füllen-Daten in zwei Übertragungszyklen zu dem L0-Cache gesendet. Ein erster "Block" der Füllen-Daten wird während des ersten Übertragungszyklusses auf dem L1- Laden/Füllen-Bus 155 gesendet; ein zweiter "Block" wird wäh­ rend eines darauffolgenden zweiten Übertragungszyklusses auf dem L1-Laden/Füllen-Bus 155 gesendet.
Da die Breite des L1-Laden/Füllen-Busses 155 bei dem Compu­ tersystem 300 nur die Hälfte derer bei dem Computersystem 200 (Fig. 2) beträgt, speichert ein Füllen-Puffer 345. Blöcke von dem L1-Laden/Füllen-Bus 155 zwischen und hält dieselben. Das Ausgangssignal des Füllen-Puffers 345 wird als eines von zwei Eingangssignalen in Multiplexer 380 und 385 eingegeben. Der andere Eingang zu den Multiplexem 380 und 385 ist di­ rekt mit dem L1-Laden/Füllen-Bus 155 verbunden. Somit werden stets zwei aufeinanderfolgende Blöcke in die Multiplexer 380 und 385 eingegeben - ein Block von dem L1-Laden/Füllen-Bus 155 und der unmittelbar vorhergehende Block, der in dem Fül­ len-Puffer 345 zwischengespeichert ist. Jeder der Multiple­ xer 380 und 385 wählt einen seiner zwei Eingabeblöcke aus und teilt den ausgewählten Block auf seine zwei Ausgangsbus­ se, die mit den Eingangstoren des Speicherarrays 140 verbun­ den sind, auf. Somit werden vier Eingangsbusse schnittstel­ lenmäßig mit dem Speicherarray 140 bei dem Computersystem 300 verbunden, genau wie bei dem Computersystem 200. Vor­ zugsweise sind die Breiten dieser vier Busse gleich (ange­ nommen K, wobei K = M/2 = L/4). Während einer Füllen-Opera­ tion wird der erste Block in dem Füllen-Puffer 345 zwischen­ gespeichert und dann als die oberen Eingangssignale zu den Multiplexern 380 und 385 geliefert, während der zweite Block, wie gezeigt, zu den unteren Eingängen der Multiplexer 380 und 385 geliefert wird. Der Multiplexer 385 ist derart konfiguriert, daß seine Ausgangssignale die obere Hälfte ei­ ner Cache-Linie in dem Speicherarray 140 beschreiben, wäh­ rend der Multiplexer 380 derart konfiguriert ist, daß er die untere Hälfte einer Cache-Linie in dem Speicherarray 140 be­ schreibt. Ein spezielles die Hälfte anzeigendes Bit ist vor­ gesehen, wobei die Multiplexer 380 und 385 das die Hälfte anzeigende Bit erfassen, um zu bestimmen, welches Eingangs­ signal auszuwählen ist. Bei einem Ausführungsbeispiel befin­ det sich das die Hälfte anzeigende Bit in dem zweiten Block, wobei sich das die Hälfte anzeigende Bit jedoch in einem be­ liebigen oder beiden Blöcken befinden könnte.
Während einer Laden-Operation enthält der erste Block stets Laden-Daten für den Prozessorkern 105, wobei der Multiplexer 380 konfiguriert ist, um seinen unteren Eingang auszuwählen, wie gezeigt ist. Auf diese Weise können Laden-Daten zu dem Prozessorkern 105 geliefert werden, ohne die Verzögerung des Füllen-Puffers 345 zu bewirken. Die Laden-Daten werden in dem Abschnitt des Worts auf dem L1-Laden/Füllen-Bus 155, das, wie gezeigt ist, von dem unteren Ausgang des Multiple­ xers 380 ausgegeben wird, geliefert. Während einer Laden- Operation treibt ein Drei-Zustands-Puffer 390 den L1/L0-La­ den-Bus 160. Folglich umgehen L1-Laden-Operationen das Spei­ cherarray 150 bei dem Computersystem 300, genau wie bei dem Computersystem 200 (Fig. 2). Wenn der L1/L0-Laden-Bus 160 in seiner anderen Fähigkeit zum Laden aus dem L0-Cache 310 ver­ wendet wird, treibt der Drei-Zustands-Puffer 390 nicht, wäh­ rend der Drei-Zustands-Puffer 175 treibt. Während einer La­ den-Operation ist die Konfiguration des Multiplexers 385 un­ erheblich (d. h. in einem "Egal"-Zustand).
Optional kann der obere Ausgangsbus von dem Multiplexer 380 ebenfalls ein Bus mit dualer Verwendung sein, und nicht ein Nur-Füllen-Bus. Bei dieser optionalen Anordnung wäre der obere Bus von dem Multiplexer 380 mit dem Speicherarray 140 verbunden, und ein zweiter L1/L0-Laden-Bus wäre mit dem Pro­ zessorkern 105 auf die gleiche Weise wie der untere Bus ver­ bunden (d. h. mit zwei Drei-Zustands-Puffern wie den Drei-Zu­ stands-Puffern 175 und 390). Die optionale Anordnung ermög­ licht doppelte Laden-Operationen von entweder dem L1-Cache 115 oder dem L0-Cache 310 oder gleichzeitige Laden-Operatio­ nen von beiden.
Der L0-Cache 310 verwendet ein kombiniertes Füllen/Spei­ chern-Tor zu dem Speicherarray 140. Dieses Eingangstor zu dem Speicherarray 140 wird durch entweder den Drei-Zu­ stands-Puffer 165 (während Füllen-Operationen) oder den Drei-Zustands-Puffer 170 (während Speichern-Operationen) getrieben. Für eine Flexibilität beim Speichern ist dieses Eingangstor in der Lage, jeden Ein-Viertel-Abschnitt einer Cache-Linie in dem Speicherarray 140 zu indexieren, wie oben beschrieben ist. Optional kann der untere Ausgang von dem Multiplexer 385 ein kombiniertes Füllen/Speichern-Tor sein, und nicht ein zugewiesenes Füllen-Tor. Um dies zu erreichen, wäre der untere Ausgang von dem Multiplexer 385 mit dem Speicherarray 140 und einem Speichern-Puffer (getrennt von dem Speichern-Puffer 250 oder integriert in denselben) ver­ bunden, der wiederum auf die gleiche Weise wie der obere Ausgang von dem Multiplexer 385 mit dem Prozessorkern 105 verbunden ist (d. h. mit zwei Drei-Zustands-Puffern wie den Drei-Zustands-Puffern 165 und 170). Diese optionale Anord­ nung ermöglicht doppelte Speichern-Operationen, ohne ein weiteres Tor auf dem Speicherarray 140 zu erfordern.
Die hierin verwendeten Ausdrücke und Beschreibungen dienen lediglich veranschaulichenden Zwecken und besitzen keinen begrenzenden Charakter. Beispielsweise kann gemäß den Grund­ sätzen der vorliegenden Erfindung eine beliebige Anzahl von Busknoten und/oder Speicherarray-Toren zusammengelegt wer­ den. Fachleute werden erkennen, daß diese und viele weitere Variationen innerhalb des Bereichs der Erfindung, wie sie in den folgenden Ansprüchen definiert ist, möglich sind.

Claims (20)

1. Verfahren zur Verwendung einer Datenverbindung (155) zwischen einer Quelle (115) und einem Cache (210, 310), wobei der Cache (210, 310) ein Speicherarray (140) aufweist, und wobei der Cache (210, 310) zwi­ schen die Quelle (115) und ein Ziel (105) geschaltet ist, wobei das Verfahren folgende Schritte aufweist:
Übertragen von Daten von der Quelle (115) zu dem Cache (210, 310) entlang der Datenverbindung (155); und
Übertragen von Daten von der Quelle (115) zu dem Ziel (105) entlang der Datenverbindung (155), während das Speicherarray (140) umgangen wird.
2. Verfahren gemäß Anspruch 1, bei dem das Ziel (105) ein Prozessorkern ist.
3. Verfahren gemäß Anspruch 2, bei dem der Cache (210, 310) ein Ebene-0-Cache bezüglich des Prozessorkerns ist.
4. Verfahren gemäß einem der Ansprüche 1 bis 3, bei dem das Ziel ein zweiter Cache (115) ist.
5. Verfahren gemäß Anspruch 4, bei dem das Ziel ein Cache niedrigerer Ebene als der zweite Ziel-Cache in einem Mehrebenen-Cache-System ist.
6. Verfahren gemäß einem der Ansprüche 1 bis 5, bei dem die Datenverbindung (155) ein Bus ist.
7. Verfahren gemäß Anspruch 6, bei dem die Breite des Da­ tenverbindungsbusses (155) geringer ist als die Breite einer Cache-Linie in dem Speicherarray (140).
8. Verfahren gemäß einem der Ansprüche 1 bis 7, das fer­ ner folgenden Schritt aufweist:
Puffern von Daten auf der Datenverbindung (155).
9. Vorrichtung (200, 300) zum Befördern von Daten von ei­ ner Quelle (115) zu zumindest einem einer Mehrzahl von Zielen, wobei die Vorrichtung folgende Merkmale auf­ weist:
einen Cache (210, 310), wobei der Cache (210, 310) ein erstes Ziel ist, und wobei der Cache (210, 310) ein Speicherarray (140) aufweist;
ein zweites Ziel (105);
eine erste Datenverbindung (155), die sich von der Quelle (115) zu dem Cache (210, 310) erstreckt, wobei Daten, die für den Cache (210, 310) bestimmt sind, entlang der ersten Datenverbindung (155) befördert werden, und wobei Daten, die für das zweite Ziel (105) bestimmt sind, entlang der ersten Datenverbindung (155) befördert werden, während das Speicherarray (140) umgangen wird; und
eine zweite Datenverbindung (160), die sich von dem Cache (210, 310) zu dem zweiten Ziel (105) erstreckt, wobei Daten, die für das zweite Ziel (105) bestimmt sind, entlang der zweiten Datenverbindung (160) beför­ dert werden.
10. Vorrichtung (200, 300) gemäß Anspruch 9, bei der das zweite Ziel (105) aus der Gruppe ausgewählt ist, die aus einem Prozessorkern und einem Cache besteht.
11. Vorrichtung (200, 300) gemäß Anspruch 9 oder 10, bei der die erste Datenverbindung (155) ein Bus und die zweite Datenverbindung (160) ein Bus ist.
12. Vorrichtung (200, 300) gemäß einem der Ansprüche 9 bis 11, bei der der Cache (210, 310) folgendes Merkmal aufweist:
einen ersten Drei-Zustands-Puffer (165) auf der ersten Datenverbindung (155).
13. Vorrichtung (200, 300) gemäß Anspruch 12, bei der der Cache (210, 310) ferner folgendes Merkmal aufweist:
einen zweiten Drei-Zustands-Puffer (175), der von dem Speicherarray (140) zu der zweiten Datenverbindung (160) geschaltet ist.
14. Vorrichtung (200, 300) gemäß Anspruch 13, bei der der erste Drei-Zustands-Puffer (165) in einem treibenden Zustand ist, wenn Daten von der Quelle (115) zu dem Speicherarray (140) oder dem zweiten Ziel (105) über­ tragen werden, und bei der der zweite Drei-Zustands- Puffer (175) in einem treibenden Zustand ist, wenn Daten von dem Speicherarray (140) zu dem zweiten Ziel (105) übertragen werden.
15. Vorrichtung (200, 300) gemäß einem der Ansprüche 9 bis 14, bei der der Cache (210, 310) ferner folgendes Merkmal aufweist:
einen Latch-Speicher (345) auf der ersten Datenverbin­ dung (155).
16. Vorrichtung (200, 300) gemäß einem der Ansprüche 9 bis 15, bei der die Quelle von Daten, die für das zweite Ziel (105) bestimmt sind, aus der Gruppe ausgewählt ist, die aus der Quelle und dem Cache besteht.
17. Vorrichtung mit folgenden Merkmalen:
einem Speicherarray (140) mit einem Schnittstellentor;
einer ersten Verbindung (155), die selektiv mit dem Schnittstellentor gekoppelt ist; und
einer zweiten Verbindung (160), die selektiv mit dem Schnittstellentor gekoppelt ist.
18. Vorrichtung gemäß Anspruch 17, bei der die erste Ver­ bindung (155) einen ersten Drei-Zustands-Puffer (165) aufweist, der in der Lage ist, Treibersignale von ei­ ner ersten Quelle (115) zu dem Schnittstellentor zu treiben, und bei der die zweite Verbindung (160) einen zweiten Drei-Zustands-Puffer (170) aufweist, der in der Lage ist, Signale von einer zweiten Quelle (105) zu dem Schnittstellentor zu treiben.
19. Vorrichtung gemäß Anspruch 18, bei der das Speicher­ array (140) Teil eines Cache-Speichers ist, wobei die erste Quelle ein Cache-Speicher (115) niedrigerer Ebe­ ne bezüglich des Speicherarrays (140) ist, und wobei die zweite Quelle (105) ein Prozessorkern ist.
20. Vorrichtung gemäß Anspruch 19, die ferner folgende Merkmale aufweist:
einen Latch-Speicher (345), der zwischen die erste Quelle (115) und den ersten Drei-Zustands-Puffer (165) geschaltet ist; und
einen Latch-Speicher (250), der zwischen die zweite Quelle (105) und den zweiten Drei-Zustands-Puffer (170) geschaltet ist.
DE10056827A 2000-02-18 2000-11-16 Duale Verwendung von Cache-Verbindungen Ceased DE10056827A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/507,203 US6728823B1 (en) 2000-02-18 2000-02-18 Cache connection with bypassing feature

Publications (1)

Publication Number Publication Date
DE10056827A1 true DE10056827A1 (de) 2001-09-06

Family

ID=24017656

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10056827A Ceased DE10056827A1 (de) 2000-02-18 2000-11-16 Duale Verwendung von Cache-Verbindungen

Country Status (2)

Country Link
US (1) US6728823B1 (de)
DE (1) DE10056827A1 (de)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007110898A1 (ja) * 2006-03-24 2007-10-04 Fujitsu Limited マルチプロセッサシステムおよびマルチプロセッサシステムの動作方法
US10430338B2 (en) 2008-09-19 2019-10-01 Oracle International Corporation Selectively reading data from cache and primary storage based on whether cache is overloaded
CN104731981B (zh) 2008-09-19 2018-03-20 甲骨文国际公司 存储器端存储请求管理
US8868831B2 (en) * 2009-09-14 2014-10-21 Oracle International Corporation Caching data between a database server and a storage system
US8713426B2 (en) 2009-06-25 2014-04-29 Oracle International Corporation Technique for skipping irrelevant portions of documents during streaming XPath evaluation
US9165086B2 (en) 2010-01-20 2015-10-20 Oracle International Corporation Hybrid binary XML storage model for efficient XML processing
US8566343B2 (en) 2010-06-02 2013-10-22 Oracle International Corporation Searching backward to speed up query
US10592416B2 (en) 2011-09-30 2020-03-17 Oracle International Corporation Write-back storage cache based on fast persistent memory
US8935227B2 (en) 2012-04-17 2015-01-13 Oracle International Corporation Redistributing computation work between data producers and data consumers
US9063908B2 (en) 2012-05-31 2015-06-23 Oracle International Corporation Rapid recovery from loss of storage device cache
US10380021B2 (en) 2013-03-13 2019-08-13 Oracle International Corporation Rapid recovery from downtime of mirrored storage device
US10528590B2 (en) 2014-09-26 2020-01-07 Oracle International Corporation Optimizing a query with extrema function using in-memory data summaries on the storage server
US9772793B2 (en) 2013-09-20 2017-09-26 Oracle International Corporation Data block movement offload to storage systems
US10642837B2 (en) 2013-03-15 2020-05-05 Oracle International Corporation Relocating derived cache during data rebalance to maintain application performance
US10229161B2 (en) 2013-09-20 2019-03-12 Oracle International Corporation Automatic caching of scan and random access data in computing systems
US9798655B2 (en) 2013-09-20 2017-10-24 Oracle International Corporation Managing a cache on storage devices supporting compression
US9430383B2 (en) 2013-09-20 2016-08-30 Oracle International Corporation Fast data initialization
CN105988730B (zh) * 2015-03-02 2019-03-08 华为技术有限公司 一种读取缓存数据的方法、旁路装置及缓存系统
US10133667B2 (en) 2016-09-06 2018-11-20 Orcle International Corporation Efficient data storage and retrieval using a heterogeneous main memory
US10331573B2 (en) 2016-11-04 2019-06-25 Oracle International Corporation Detection of avoidable cache thrashing for OLTP and DW workloads
US10803039B2 (en) 2017-05-26 2020-10-13 Oracle International Corporation Method for efficient primary key based queries using atomic RDMA reads on cache friendly in-memory hash index
US10719446B2 (en) 2017-08-31 2020-07-21 Oracle International Corporation Directly mapped buffer cache on non-volatile memory
US11086876B2 (en) 2017-09-29 2021-08-10 Oracle International Corporation Storing derived summaries on persistent memory of a storage device
US10956335B2 (en) 2017-09-29 2021-03-23 Oracle International Corporation Non-volatile cache access using RDMA
US10802766B2 (en) 2017-09-29 2020-10-13 Oracle International Corporation Database with NVDIMM as persistent storage
US10732836B2 (en) 2017-09-29 2020-08-04 Oracle International Corporation Remote one-sided persistent writes
US11200234B2 (en) 2019-06-14 2021-12-14 Oracle International Corporation Non-disruptive dynamic ad-hoc database catalog services
US10990596B2 (en) 2019-06-14 2021-04-27 Oracle International Corporation Non-disruptive referencing of special purpose operators for database management systems

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3618041A (en) * 1968-10-31 1971-11-02 Hitachi Ltd Memory control system
US3771137A (en) * 1971-09-10 1973-11-06 Ibm Memory control in a multipurpose system utilizing a broadcast
US3820078A (en) * 1972-10-05 1974-06-25 Honeywell Inf Systems Multi-level storage system having a buffer store with variable mapping modes
US3840863A (en) * 1973-10-23 1974-10-08 Ibm Dynamic storage hierarchy system
US4268907A (en) * 1979-01-22 1981-05-19 Honeywell Information Systems Inc. Cache unit bypass apparatus
US4245344A (en) * 1979-04-02 1981-01-13 Rockwell International Corporation Processing system with dual buses
US4533995A (en) * 1981-08-03 1985-08-06 International Business Machines Corporation Method and system for handling sequential data in a hierarchical store
US4464717A (en) * 1982-03-31 1984-08-07 Honeywell Information Systems Inc. Multilevel cache system with graceful degradation capability
JPS60205760A (ja) * 1984-03-30 1985-10-17 Fuji Xerox Co Ltd メモリ制御装置
JPS617967A (ja) * 1984-06-15 1986-01-14 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション I/oコントロ−ラ
US4905141A (en) * 1988-10-25 1990-02-27 International Business Machines Corporation Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification
US5202969A (en) * 1988-11-01 1993-04-13 Hitachi, Ltd. Single-chip-cache-buffer for selectively writing write-back and exclusively writing data-block portions to main-memory based upon indication of bits and bit-strings respectively
EP0375864A3 (de) 1988-12-29 1991-03-20 International Business Machines Corporation Cache-Speicherumgehung
US5253352A (en) * 1989-11-13 1993-10-12 Zenith Data Systems Corporation Method and apparatus for pipelining cache accesses using anticipatory initiation of cache read
US5454093A (en) * 1991-02-25 1995-09-26 International Business Machines Corporation Buffer bypass for quick data access
US5327570A (en) * 1991-07-22 1994-07-05 International Business Machines Corporation Multiprocessor system having local write cache within each data processor node
US5918072A (en) * 1995-09-18 1999-06-29 Opti Inc. System for controlling variable length PCI burst data using a dummy final data phase and adjusting the burst length during transaction
US5721957A (en) * 1996-06-03 1998-02-24 International Business Machines Corporation Method and system for storing data in cache and retrieving data from cache in a selected one of multiple data formats
US5860017A (en) 1996-06-28 1999-01-12 Intel Corporation Processor and method for speculatively executing instructions from multiple instruction streams indicated by a branch instruction
US5859999A (en) 1996-10-03 1999-01-12 Idea Corporation System for restoring predicate registers via a mask having at least a single bit corresponding to a plurality of registers
US6617879B1 (en) * 1997-09-17 2003-09-09 Sony Corporation Transparently partitioned communication bus for multi-port bridge for a local area network
US5872986A (en) * 1997-09-30 1999-02-16 Intel Corporation Pre-arbitrated bypassing in a speculative execution microprocessor
US6330591B1 (en) * 1998-03-09 2001-12-11 Lsi Logic Corporation High speed serial line transceivers integrated into a cache controller to support coherent memory transactions in a loosely coupled network
US6633947B1 (en) * 1998-09-16 2003-10-14 Intel Corporation Memory expansion channel for propagation of control and request packets
US6434665B1 (en) * 1999-10-01 2002-08-13 Stmicroelectronics, Inc. Cache memory store buffer
US6349360B1 (en) * 1999-11-09 2002-02-19 International Business Machines Corporation System bus read address operations with data ordering preference hint bits
US6598140B1 (en) * 2000-04-30 2003-07-22 Hewlett-Packard Development Company, L.P. Memory controller having separate agents that process memory transactions in parallel
US6636939B1 (en) * 2000-06-29 2003-10-21 Intel Corporation Method and apparatus for processor bypass path to system memory
US6651143B2 (en) * 2000-12-21 2003-11-18 International Business Machines Corporation Cache management using a buffer for invalidation requests

Also Published As

Publication number Publication date
US6728823B1 (en) 2004-04-27

Similar Documents

Publication Publication Date Title
DE10056827A1 (de) Duale Verwendung von Cache-Verbindungen
DE3687307T2 (de) Computeranordnungen mit cache-speichern.
EP0013737B1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE4132833C2 (de) Hierarchischer Cache-Speicher
DE69324926T2 (de) Doppelte pufferungspeicherung zwischen dem speicherbus und dem expansionsbus eines rechnersystems
DE69432133T2 (de) Datenprozessor mit Cache-Speicher
DE69323790T2 (de) Verfahren und Vorrichtung für mehreren ausstehende Operationen in einem cachespeicherkohärenten Multiprozessorsystem
DE4335475A1 (de) Datenverarbeitungseinrichtung mit Cache-Speicher
DE69432314T2 (de) Cachespeicher mit aufgeteiltem pegel
DE69226928T2 (de) Verfahren und Direktspeicherzugriffssteuerung zum asynchronen Daten-Lesen von einem -Schreiben in einen Speicher mit verbessertem Durchfluss
DE3909896C2 (de)
DE69331039T2 (de) Rechnersystem mit einem Vorausholungscachespeicher
DE69018100T2 (de) Datenübertragung über Busadressleitungen.
DE68911398T2 (de) Methode und digitaler computer zum vorausholen von vektordaten aus dem speicher in einem für skalaverarbeitung bestimmten speichersystem.
DE69032276T2 (de) Verfahren und Anordnung zur Verbesserung der Datenspeicherungsgeschwindigkeit eines Computersystems
DE69224084T2 (de) Rechneranordnung mit Mehrfachpufferdatencachespeicher und Verfahren dafür
DE10219623A1 (de) System und Verfahren zur Speicherentscheidung unter Verwendung von mehreren Warteschlangen
DE69937611T2 (de) Intelligenter Puffer-Speicher
DE102008055892A1 (de) Abspeichern von Abschnitten eines Datenübertragungsdeskriptors in einem gecachten und einem nicht gecachten Adressbereich
DE10045188B4 (de) Cacheadresskonfliktvorrichtung
DE69611510T2 (de) Zentrale Verarbeitungseinheit mit Cache-Speicher
DE69033412T2 (de) Datenübertragungssteuervorrichtung für Parallelverarbeitungssysteme
DE19908618A1 (de) Gemeinsam genutzter Hochleistungscachespeicher
DE3046912C2 (de) Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage
DE112010005609T5 (de) Speichern von Daten in einem einer Mehrzahl von Puffern in einer Speichersteuerung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE

8131 Rejection