DE60117735T2 - Pufferspeichersystem - Google Patents

Pufferspeichersystem Download PDF

Info

Publication number
DE60117735T2
DE60117735T2 DE60117735T DE60117735T DE60117735T2 DE 60117735 T2 DE60117735 T2 DE 60117735T2 DE 60117735 T DE60117735 T DE 60117735T DE 60117735 T DE60117735 T DE 60117735T DE 60117735 T2 DE60117735 T2 DE 60117735T2
Authority
DE
Germany
Prior art keywords
cache
ram
sections
circuit
tag
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
DE60117735T
Other languages
English (en)
Other versions
DE60117735D1 (de
Inventor
c/o Fujitsu Limited Fumihiko Kawasaki-shi Hayakawa
c/o Fujitsu Limited Hiroshi Kawasaki-shi Okano
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Application granted granted Critical
Publication of DE60117735D1 publication Critical patent/DE60117735D1/de
Publication of DE60117735T2 publication Critical patent/DE60117735T2/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/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
    • 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/1028Power efficiency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/50Control mechanisms for virtual memory, cache or TLB
    • G06F2212/502Control mechanisms for virtual memory, cache or TLB using adaptive policy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/601Reconfiguration of cache memory
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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

  • Die vorliegende Erfindung betrifft ein Cachespeichersystem.
  • In einem Datenarithmetikprozessor, der darin ein Cachespeichersystem wie z.B. einen Mikroprozessor umfasst, umfassen mögliche Architekturen des Cachespeichersystems eine mengenassoziative (engl. set associative) Struktur oder eine direkt abbildende (engl. direct map) Struktur. Für eine vorgegebene Speicherkapazität, da das Cachespeichersystem der mengenassoziativen Struktur eine höhere Trefferquote oder -quotient (Trefferrate) besitzt als das eines Cachespeichers der direkt abbildenden Struktur, wird erwartet, dass die Leistung des Arithmetikprozessors verbessert wird. Die mengenassoziative Struktur besitzt jedoch einen Nachteil hoher Leistungsaufnahme.
  • Die Struktur eines herkömmlichen Cachespeichersystems einer mengenassoziativen Struktur wird beschrieben werden. Es sei angemerkt, dass ein Cachespeichersystem mit einer 4-Weg Struktur, einer Cachespeicherkapazität von 16 kByte, einer Cachespeicherzeilengröße von 64 Byte und der Anzahl von Eingängen jedes Wegs von 64 beschrieben werden wird.
  • 1 ist ein Blockdiagramm, das ein herkömmliches Cachespeichersystem einer mengenassoziativen Struktur zeigt. Aufgrund seiner 4-Weg Struktur besitzt dieses Cachespeichersystem vier Tag-Speicher RAM Module 11a, 11b, 11c und 11d, die parallel geschaltet sind, und vier Cachespeicher RAM Module 12a, 12b, 12c und 12d, die parallel geschaltet sind. Außerdem besitzt das Cachespeichersystem eine Tag-Bestimmungsschaltung 13 und einen Datenselektor 14. Die Tag-Bestimmungsschaltung 13 besteht aus vier Komparatoren 15a, 15b, 15c und 15d und vier AND Schaltungen 16a, 16b, 16c und 16d.
  • Die Tag-Speicher RAM Module 11a, 11b, 11c und 11d speichern Daten, welche die Adressen von Daten indizieren, die in den entsprechenden Cachespeicher RAM Modulen 12a, 12b, 12c und 12d gespeichert sind, und gültige Eingabeflags (Eingabe gültig), welche jeweils indizieren, ob die Adressdaten gültig sind oder nicht.
  • Die Cachespeicher RAM Module 12a, 12b, 12c bzw. 12d speichern Daten, die bei arithmetischer Verarbeitung oder Ähnlichem verwendet werden, die durch einen Prozessorkern oder Ähnliches, nicht gezeigt, durchgeführt wird. Jedes der Tag-Speicher RAM Module 11a, 11b, 11c und 11d und der Cachespeicher RAM Module 12a, 12b, 12c und 12d besitzt eine Funktion, alles oder einen Teil von sich selbst (das heißt, das gesamte RAM Modul oder einen Teil einer Daten Eingabe-/Ausgabeschaltung in dem RAM Modul) in einen Zustand niedriger Leistungsaufnahme umzuwandeln.
  • Die Tag-Bestimmungsschaltung 13 vergleicht einen Adresswert, der durch den Prozessorkern oder Ähnliches abgerufen wird (dieser Adresswert wird nachfolgend als "Abrufadresse" bezeichnet), mit Adressdaten, die von jedem der Tag-Speicher RAM Module 11a, 11b, 11c und 11d gelesen werden, und bestimmt, ob sie übereinstimmen oder nicht. Die entsprechenden Komparatoren 15a, 15b, 15c und 15d der Tag-Bestimmungsschaltung 13 vergleichen die Abrufadresse mit den Adressdaten und machen Bestimmungen.
  • Der Datenselektor 14 wählt nur gültige Daten unter den Daten aus, die von jedem der Cachespeicher RAM Module 12a, 12b, 12c und 12d gelesen werden, und gibt die ausgewählten Daten an einen Datenbus aus. Die entsprechenden AND Schaltungen 16a, 16b, 16c und 16d in der Tag-Bestimmungsschaltung 13 geben Steuersignale aus, um dem Datenselektor 14 zu erlauben, gültige Daten basierend auf ihren gültigen Eingangsflags auszuwählen. Der Datenselektor 14 wählt nämlich basierend auf den Steuersignalen gültige Daten aus, die von den AND Schaltungen 16a, 16b, 16c bzw. 16d ausgegeben werden.
  • Die Funktion des in 1 gezeigten herkömmlichen Cachespeichersystems wird beschrieben werden. Zuerst wird die Funktion davon zum Zeitpunkt des Lesens von Daten beschrieben werden. Wenn die Abrufadresse gelesener Daten von dem Prozessorkern oder Ähnlichem eingegeben wird, werden Adressdaten entsprechend der Abrufadresse und gültige Eingabeflags entsprechend der Adressdaten von den Tag-Speicher RAM Modulen 11a, 11b, 11c bzw. 11d gelesen. Die entsprechenden Komparatoren 15a, 15b, 15c und 15d vergleichen die so gelesenen Adressdaten mit der Abrufadresse und bestimmen, ob die gelesenen Adressdaten jeweils mit der Abrufadresse übereinstimmen oder nicht.
  • Die Bestimmungsergebnisse jedes der Komparatoren 15a, 15b, 15c und 15d sowie die gültigen Eingabeflags der entsprechenden Wege werden in die entsprechenden AND Schaltungen 16a, 16b, 16c bzw. 16d eingegeben. Die Ausgaben jeder der AND Schaltungen 16a, 16b, 16c und 16d werden als Steuersignale für den Datenselektor 14 an den Datenselektor 14 geliefert. Basierend auf den Steuersignalen wird nur der Weg, welcher die Adressendaten speichert, die bestimmt werden, um mit der Abrufadresse übereinzustimmen und um durch die gültigen Eingabeflags gültig zu sein, unter den Adressdaten gültig, die von jedem der Tag-Speicher RAM Module 11a, 11b, 11c und 11d gelesen werden.
  • Andererseits werden von jedem der Cachespeicher RAM Module 12a, 12b, 12c und 12d Daten entsprechend der Abrufadresse gelesen, basierend auf der Eingabe der Abrufadresse. Unter den gelesen Daten werden nur die Daten, welche von dem Cachespeicher RAM Modul auf dem Weg gelesen werden, der durch den Datenselektor 14 als gültig bestimmt wird, an den Datenbus ausgegeben. Auch die Ausgaben jeder der AND Schaltungen 16a, 16b, 16c und 16d werden als Cache Treffer-/Fehlschlagsignale (engl. hit/miss signals) an den Prozessorkern oder Ähnliches geliefert.
  • Als nächstes wird die Funktion zum Zeitpunkt des Schreibens von Daten beschrieben werden. Wenn Daten geschrieben werden, wird eine Abrufadresse in das Tag-Speicher RAM Modul für eine Eingabe geschrieben, die basierend auf der Adresse eines Wegs ausgewählt wird, auf den die Daten geschrieben werden sollen, und die Daten werden in das Cachespeicher RAM Modul geschrieben.
  • Jedoch ist es in dem herkömmlichen Cachespeichersystem, welches wie oben angegeben eine mengenassoziative Struktur besitzt, notwendig, die Tag-Speicher RAM Module und die Cachespeicher RAM Module auf all den Wegen zum Zeitpunkt des Lesens von Daten von dem Cachespeicher zu steuern. Aufgrund dessen besitzt das herkömmliche Cachespeichersystem ein Problem, da mehr Leistung erforderlich ist als die eines Cachespeichersystems mit einer 1-Weg Struktur, das heißt, ein direkt abbildender Speicher mit der gleichen Speicherkapazität.
  • Balasubramonian R; et al: "Memory Hierarchy Reconfiguration for Energy and performance in General – Purpose Processor Architectures" Micro-33. Proceedings of the 33rd Annual Acm/ieee Symposium on Microarchitecture, Monterey, Ca, Dec. 2000, Proceedings of the 33rd Annual Acm/ieee Symposium on Microarchitecture, Los Alamitos, Ca: ieee Comp. Soc, Us (10-12-2000), 245–257 beschreibt herkömmliche Mikroarchitekturen, welche einen einzigen Speicherhierarchiedesignpunkt wählen, der auf die Durchschnittsanwendung gerichtet ist. Das Dokument schlägt einen Cache und TLB Layout und Design vor, das einen Repeatereinsatz wirksam einsetzt, um eine dynamische, preiswerte Konfiguration bereitzustellen, welche Größe und Geschwindigkeit auf einer per Applikationsphasenbasis abwägt, während der Energieverbrauch berücksichtigt wird.
  • Die vorliegende Erfindung ist in den beigefügten unabhängigen Ansprüchen definiert, auf die sich nun bezogen wird. Ferner können bevorzugte Merkmale in den Unteransprüchen gefunden werden, die dazu beigefügt sind.
  • Ein Ausführungsbeispiel dieser Erfindung soll ein Cachespeichersystem bereitstellen, das einen Modus zwischen einem Modus mit hoher Trefferquote mit einer mengenassoziativen Struktur (n-Weg mengenassoziative Architektur) und einem Modus mit niedriger Leistungsaufnahme mit einer direkt abbildenden Struktur (direkt abbildende Architektur) dynamisch umschalten kann.
  • In dem Cachespeichersystem eines Aspekts der Erfindung werden n Tag-Speicher RAM Abschnitte, von denen jeder einen Zustand zwischen einem normalen Zustand und einem Zustand mit niedriger Leistungsaufnahme umschalten kann, beispielsweise parallel geschaltet, n Cachespeicher RAM Abschnitte, von denen jeder einen Zustand zwischen dem normalen Zustand und dem Zustand mit niedriger Leistungsaufnahme umschalten kann, beispielsweise parallel geschaltet, und eine RAM Abschnitt Verbindungsstruktur wird durch eine RAM Leistungssteuereinheit gemäß einem Leistungsmodus dynamisch zwischen einer n-Weg Struktur und einer 1-Weg Struktur umgeschaltet.
  • Das heißt, falls eine Leistungsmodussignaleingabe von außerhalb in einem Modus mit hoher Trefferquote ist, wird das Cachespeichersystem durch die RAM Leistungssteuereinheit gesteuert, um eine mengenassoziative Struktur zu besitzen, in der all die Tag-Speicher RAM Abschnitte und all die Cachespeicher RAM Abschnitte im normalen Zustand aktiviert sind. Mit dieser Struktur wählt der Datenselektor nur Daten aus, die von dem Cachespeicher RAM Abschnitt entsprechend einem Weg gelesen werden, auf welchem die Adressdaten, die von jedem der Tag-Speicher RAM Abschnitt gelesen werden, mit dem Wert der Abrufadresse übereinstimmen, die von einem Prozessorkern oder Ähnlichem geliefert wird.
  • Andererseits, falls die Leistungsmodussignaleingabe von außerhalb in einem Modus mit niedriger Leistungsaufnah me ist, wird das Cachespeichersystem durch die RAM Leistungssteuereinheit gesteuert, um eine 1-weg direkt abbildende Struktur zu besitzen, in der nur einer der Tag-Speicher RAM Abschnitte und nur einer der Cachespeicher RAM Abschnitte, der dem Tag-Speicher RAM Abschnitt entspricht, im normalen Zustand aktiviert sind, und die restlichen Tag-Speicher RAM Abschnitte und Cachespeicher RAM Abschnitt in den Zustand mit niedriger Leistungsaufnahme umgewandelt sind, basierend auf dem Wert der Abrufadresse, die von dem Prozessor oder Ähnlichem geliefert wird. Mit dieser Struktur wählt der Datenselektor nur Daten aus, die vom dem Cachespeicher RAM Abschnitt im normalen Zustand gelesen werden.
  • Gemäß dieser Erfindung, falls das Leistungsmodussignal in einem Modus mit hoher Trefferquote ist, wird das Cachespeichersystem als ein System mit einer n-Weg mengenassoziativen Struktur aktiviert. Andererseits, falls das Leistungsmodussignal in einem Modus mit niedriger Leistungsaufnahme ist, wird das Cachespeichersystem als ein System mit einer 1-Weg direkt abbildenden Struktur aktiviert. Es ist daher möglich einen Fall auszuwählen, wo die Performance des Arithmetikprozessors priorisiert wird, selbst wenn die Leistungsaufnahme hoch ist, und einen Fall, wo niedrige Leistungsaufnahme priorisiert wird, gemäß einem Benutzer oder einer äußeren Umgebung, wie z.B. einer eingesetzten Anwendung.
  • Es wird nur beispielhaft auf die beigefügten Zeichnungen Bezug genommen, in denen:
  • 1 ein Blockdiagramm ist, welches ein herkömmliches Cachespeichersystem mit einer mengenassoziativen Struktur zeigt;
  • 2 ein Blockdiagramm ist, das typischerweise die wichtigen Teile eines Beispiels eines Gesamtsystems zeigt, einschließlich eines Cachespeichersystems gemäß der ersten Ausführungsbeispiel, das die vorliegende Erfindung realisiert;
  • 3 ein Blockdiagramm ist, das typischerweise die wichtigen Teile eines anderen Beispiels eines Gesamtsystems zeigt, einschließlich eines Cachespeichersystems gemäß dem ersten Ausführungsbeispiel;
  • 4 ein Blockdiagramm ist, das eine Beispiel des Cachespeichersystems gemäß dem ersten Ausführungsbeispiel zeigt;
  • 5 ein Logikschaltungsdiagramm ist, das ein Beispiel des RAM Leistungssteuerungsgeräts des Cachespeichersystems gemäß dem ersten Ausführungsbeispiel zeigt;
  • 6 ein Logikschaltungsdiagramm ist, das ein Beispiel der Datenselektorsteuerschaltung des Cachespeichersystems gemäß dem ersten Ausführungsbeispiel zeigt;
  • 7 ein Logikschaltungsdiagramm ist, das ein Beispiel der Cache Treffer/Fehlschlag Steuerschaltung des Cachespeichersystems gemäß dem ersten Ausführungsbeispiel zeigt;
  • 8 eine typische Ansicht zum Beschreiben des Konzepts der Speicherbereiche des Cachespeichersystems gemäß dem ersten Ausführungsbeispiel ist;
  • 9 ein Blockdiagramm ist, das ein Beispiel eines Cachespeichersystems gemäß dem zweiten Ausführungsbeispiel zeigt, das die vorliegende Erfindung realisiert;
  • 10 ein Blockdiagramm ist, das ein Beispiel eines Cachespeichersystems gemäß dem dritten Ausführungsbeispiel zeigt, das die vorliegende Erfindung realisiert;
  • 11 ein Blockdiagramm ist, das ein weiteres Beispiel eines Cachespeichersystems gemäß dem dritten Ausführungsbeispiel zeigt;
  • 12 ein Blockdiagramm ist, das ein weiteres Beispiel eines Cachespeichersystems gemäß dem dritten Ausführungsbeispiel zeigt; und
  • 13 ein Blockdiagramm ist, das ein weiteres Beispiel eines Cachespeichersystems gemäß dem dritten Ausführungsbeispiel zeigt.
  • Ausführungsbeispiele zum Realisieren der vorliegenden Erfindung werden nachstehend detailliert mit Bezug auf die Zeichnungen beschrieben werden. Es sei angemerkt, dass die Ausführungsbeispiele beschrieben werden während davon ausgegangen wird, dass, obwohl nicht speziell darauf beschränkt, ein Cachespeichersystem eine 4-Weg Struktur, eine Cachespeicherkapazität von 16 kByte, eine Cachespeicherzeilengröße von 64 Byte und die Anzahl der Eingänge jedes Wegs von 64 besitzt.
  • 2 und 3 sind Blockdiagramme, welche typischerweise die wichtigen Teile eines Beispiels eines Gesamtsystems zeigen, einschließlich eines Cachespeichersystems gemäß dem ersten Ausführungsbeispiel zum Durchführen der Erfindung. Ein Arithmetikprozessor (CPU) 2 umfasst darin einen Prozessorkern 21 und ein Cachespeichersystem 3 und die Einheit 2 ist mit einem externen Speichersystem 4 verbunden.
  • In dem in 2 gezeigten Beispiel wird das Cachespeichersystem 3 mit einem Leistungsmodussignal 22 von dem Prozessorkern 21 versorgt. Im Falle der 3 wird dagegen ein Cachespeichersystem 3 mit einem Leistungsmodussignal 23 von außerhalb durch eine Einstellung eines anderen Systems durch einen Benutzer versorgt, wie z.B. eines Energieversorgungsverwaltungssystems, wobei ein Arithmetikprozessor 2, ein DIP-Schalter oder Ähnliches verwendet wird. Hier sind die Leistungsmodussignale 22 und 23 Signale, die indizieren, dass das Cachespeichersystem 3 eingestellt ist, eine mengenassoziative Struktur oder eine direkt abbildende Struktur zu besitzen. In 2 und 3 kennzeichnen die Bezugsziffern 24 und 25 Adresssignale und die Bezugsziffern 26 und 27 kennzeichnen Daten.
  • 4 ist ein Blockdiagramm, das ein Beispiel eines Cachespeichersystems gemäß dem ersten Ausführungsbeispiel zum Durchführen der vorliegenden Erfindung zeigt. Aufgrund einer 4-Weg Struktur besitzt dieses Cachespeichersystem vier Tag-Speicher RAM Module 31a, 31b, 31c und 31d, die parallel geschaltet sind, und vier Cachespeicher RAM Module 32a, 32b, 32c und 32d, die parallel geschaltet sind.
  • Jedes der Tag-Speicher RAM Module 31a, 31b, 31c und 31d und der Cachespeicher RAM Module 32a, 32b, 32c und 32d besitzt eine Funktion, um durch ein RAM Leistungssteuerungsgerät 37, das später beschrieben wird, in einen Zustand mit niedrigerer Leistungsaufnahme umgewandelt zu werden. Diese Funktion wird durch Leistungsmodusverbrauchssteuergeräte 40a, 40b, 40c, 40d, 41a, 41b, 41c und 41d realisiert, die für die RAM Module 31a, 31b, 31c, 31d, 32a, 32b, 32c bzw. 32d bereitgestellt werden. Dies ist die gleiche Funktion wie die, welche an jedem der Tag-Speicher RAM Module und Cachespeicher RAM Module des herkömmlichen Cachespeichersystems bereitgestellt wird, das eine mengenassoziative Struktur besitzt.
  • Ferner besitzt das Cachespeichersystem eine Tag-Bestimmungsschaltung 33, die bestimmt, ob ein Abrufadressenwert, der durch den Prozessorkern oder Ähnliches abgerufen wird, mit Adressendaten übereinstimmt, die von jedem der RAM Module 31a, 31b, 31c und 31d gelesen werden, oder nicht. Diese Tag-Bestimmungsschaltung 33 besteht aus vier Komparatoren 35a, 35b, 35c und 35d und vier AND Schaltungen 36a, 36b, 36c und 36d, wie in dem Fall der herkömmlichen Tag-Bestimmungsschaltung.
  • Außerdem besitzt das Cachespeichersystem einen Datenselektor 34, der nur gültige Daten unter den Daten auswählt, die von jedem der Cachespeicher RAM Module 32a, 32b, 32c und 32d gelesen werden, und der die ausgewählten gültigen Daten an einen Datenbus ausgibt. Dieser Datenselektor 34 wird durch eine Datenselektorsteuerschaltung 38 gesteuert, die später beschrieben wird. Die Tag-Bestimmungsschaltung 33 und die Datenselektorsteuerschaltung 38 bilden eine Datenselektorsteuereinheit. Außerdem besitzt das Cachespeichersystem eine Cache Treffer/Fehlschlag Steuerschaltung 39, die später beschrieben wird, zum Rückmelden eines Cachetreffers oder -fehlschlags an den Prozessorkern oder Ähnliches, der nicht gezeigt ist.
  • In dem ersten Ausführungsbeispiel zum Durchführen der Erfindung sind die Strukturen und Funktionen der Tag-Speicher RAM Module 31a, 31b, 31c und 31d, der Cachespeicher RAM Module 32a, 32b, 32c und 32d, der Tag-Bestimmungsschaltung 33 und des Datenselektors 34 die gleichen wie die der herkömmlichen Tag-Speicher RAM Module 11a, 11b, 11c und 11d, der herkömmlichen Cachespeicher RAM Module 12a, 12b, 12c und 12d, der herkömmlichen Tag-Bestimmungsschaltung 13 und des herkömmlichen Datenselektors 14. Daher wird hierin keine Beschreibung vorgenommen werden. Da auch die Leistungsmodusverbrauchssteuergeräte 40a, 40b, 40c, 40d, 41a, 41b, 41c und 41d die gleichen sind wie die der herkömmlichen Leistungsmodusverbrauchssteuergeräte, wird von diesen auch keine Beschreibung vorgenommen werden.
  • 5 ist ein Logikschaltungsdiagramm, das ein Beispiel des RAM Leistungsteuergeräts 37 zeigt. Das RAM Leistungssteuerungsgerät 37 besitzt zwölf AND Schaltungen 51 bis 62 und vier OR Schaltungen 63 bis 66.
  • Die AND Schaltung 51, die AND Schaltung 52, die AND Schaltung 53 und die AND Schaltung 54 werden beispielsweise mit dem dreizehnten Bitsignal und zwölften Bitsignal unter Abrufadressensignalen, die von dem Prozessorkern geliefert werden, als Eingangssignal versorgt. Wenn sowohl das dreizehnte Bitsignal als auch das zwölfte Bitsignal "1" sind, gibt nur die AND Schaltung 51 "1" aus. Der Anschluss der AND Schaltung 52, in den das dreizehnte Bitsignal eingegeben wird, ist gering aktiv. Aufgrund dessen, falls das dreizehnte Bitsignal "0" ist und das zwölfte Bitsignal "1" ist, gibt nur die AND Schaltung 52 "1" aus.
  • Ferner ist der Anschluss der AND Schaltung 53, in welchen das zwölfte Bitsignal eingegeben wird, gering aktiv. Aufgrund dessen, falls das dreizehnte Bitsignal "1" ist und das zwölfte Bitsignal "0" ist, gibt nur die AND Schaltung 53 "1" aus. Beide Eingangsanschlüsse der AND Schaltung 54 sind gering aktiv. Aufgrund dessen, falls sowohl das dreizehnte Bitsignal als auch das zwölfte Bitsignal "0" sind, gibt nur die AND Schaltung 54 "1" aus. Es sei angemerkt, dass in der Beschreibung der Logikschaltung der Wert eines Signals, welches einen relativ hohen Potentiallevel besitzt, "1" ist und der Wert eines Signals, welches einen relativ niedrigen Potentiallevel besitzt, "0" ist.
  • Die AND Schaltung 55, AND Schaltung 57, AND Schaltung 59 und AND Schaltung 61 werden mit Eingangssignalen, Leistungsmodussignalen und den Ausgabesignalen der AND Schaltung 51, der AND Schaltung 52, der AND Schaltung 53 bzw. der AND Schaltung 54 versorgt. Falls das Leistungsmodussignal "1" ist und der Ausgabewert der AND Schaltung 51 "1" ist, dann wird der Ausgabewert der AND Schaltung 55 "1". Falls das Leistungsmodussignal "1" ist und der Ausgabewert der AND Schaltung 52 "1" ist, dann wird der Ausgabewert der AND Schaltung 57 "1". Falls das Leistungsmodussignal "1" ist und der Ausgabewert der AND Schaltung 53 "1" ist, dann wird der Ausgabewert der AND Schaltung 59 "1". Falls das Leistungsmodussignal "1" ist und der Ausgabewert der AND Schaltung 54 "1" ist, dann wird der Ausgabewert der AND Schaltung 61 "1". Andererseits, falls das Leistungsmodussignal "0" ist, werden all die Ausgänge der AND Schaltungen 55, 57, 59 und 61 "0".
  • Die AND Schaltung 56, AND Schaltung 58, AND Schaltung 60 und die AND Schaltung 62 werden mit dem Leistungsmodussignal und einem Signal hohen Levels (das heißt "1") als Eingangssignale versorgt. Die Anschlüsse, an die das Leistungsmodussignal geliefert wird, sind in diesen AND Schaltungen 56, 58, 60 und 62 gering aktiv. Aufgrund dessen, falls das Leistungsmodussignal "1" ist, die Ausgabewerte dieser AND Schaltungen "0" sind und falls das Leistungsmodussignal "0" ist, sind die Ausgabewerte davon "1".
  • Die OR Schaltung 63 gibt eine OR Logik aus zwischen dem Ausgabewert der AND Schaltung 55 und dem Ausgabewert der AND Schaltung 56. Die OR Schaltung 64 gibt eine OR Logik aus zwischen dem Ausgabewert der AND Schaltung 57 und dem Ausgabewert der AND Schaltung 58. Die OR Schaltung 65 gibt eine OR Logik zwischen dem Ausgabewert der AND Schaltung 59 und dem Ausgabewert der AND Schaltung 60 aus. Die OR Schaltung 66 gibt eine OR Logik aus zwischen dem Ausgabewert der AND Schaltung 61 und dem Ausgabewert der AND Schaltung 62.
  • Das Ausgabesignal der OR Schaltung 63 wird beispielsweise als ein RAM Leistungssteuerungssignal für einen Weg 0 an die Leistungsmodusverbrauchssteuergeräte 40a und 41a zum Steuern der Leistungsaufnahme des Tag-Speicher RAM Moduls 31a bzw. des Cachespeicher RAM Moduls 32a geliefert. Gleichermaßen wird das Ausgabesignal der OR Schaltung 64 als ein RAM Leistungssteuerungssignal für einen Weg 1 an das Leistungsmodusverbrauchssteuergerät 40b für das Tag-Speicher RAM Modul 31b und an das Leistungsmodusverbrauchssteuergerät 41b für das Cachespeicher RAM Modul 32b geliefert.
  • Das Ausgabesignal der OR Schaltung 65 wird als ein RAM Leistungssteuerungssignal für einen Weg 2 an das Leistungsmodusverbrauchssteuergerät 40c für das Tag-Speicher RAM Modul 31c und an das Leistungsmodusverbrauchssteuergerät 41c für das Cachespeicher RAM Modul 32c geliefert. Das Ausgabesignal der OR Schaltung 66 wird als ein RAM Leistungssteuerungssignal für einen Weg 3 an das Leistungsmodusverbrauchssteuergerät 40d für das Tag-Speicher RAM Modul 31d und an das Leistungsmodusverbrauchssteuergerät 41d für das Cachespeicher RAM Modul 32d geliefert.
  • Falls das eingegebene RAM Leistungssteuerungssignal "1" ist, aktiviert hier jedes der Leistungsmodusverbrauchssteuergeräte 40a, 40b, 40c, 40d, 41a, 41b, 41c und 41d sein entsprechendes RAM Modul in einem normalen Zustand. Andererseits, falls das RAM Leistungssteuerungssignal "0" ist, stellt jedes der Leistungsmodusverbrauchssteuergeräte 40a, 40b, 40c, 40d, 41a, 41b, 41c und 41d seine entsprechenden RAM Module in einen Zustand mit niedriger Leistungsaufnahme ein. Dementsprechend sind, falls das Leistungsmodussignal "0" ist, die Ausgabewerte der AND Schaltungen 56, 58, 60 und 62 ungeachtet des 2-bit Werts einer Eingabeadresse "1". Aufgrund dessen werden die Ausgabewerte der OR Schaltungen 63 bis 66, das heißt die Werte der RAM Leistungssteuerungssignale, welche in die Leistungsmodusverbrauchssteuergeräte 40a, 40b, 40c, 40d, 41a, 41b, 41c und 41d eingegeben werden, "1".
  • Das heißt, alle der Tag-Speicher RAM Module 31a, 31b, 31c und 31d und der Cachespeicher RAM Module 32a, 32b, 32c und 32d sind zusammengesetzt, um in einem normalen Zustand aktiviert zu werden, und das Cachespeichersystem besitzt zu diesem Zeitpunkt eine mengenassoziative Struktur.
  • Andererseits, falls das Leistungsmodussignal "1" ist, wird der Ausgabewert von irgendeiner der AND Schaltungen 51 bis 54 "1", basierend auf dem 2-bit Wert der Eingabeadresse, und der Ausgabewert von irgendeiner der AND Schaltungen 55, 57, 59 und 61 wird dementsprechend "1". Daher wird der Ausgabewert irgendeiner der OR Schaltungen 63 bis 66 "1", so dass nur der Wert des RAM Leistungssteuerungssignals, das an ein Paar von Leistungsmodusverbrauchssteuergeräten unter den Leistungsmodusverbrauchssteuergeräten 40a, 40b, 40c und 40d und den entsprechenden Leistungsmodusverbrauchssteuergeräten 41a, 41b, 41c und 41d geliefert wird, "0" wird.
  • Mit anderen Worten werden unter den Tag-Speicher RAM Modulen 31a, 31b, 31c und 31d und den Cachespeicher RAM Modulen 32a, 32b, 32c und 32d nur das Tag-Speicher RAM Modul und das Cachespeicher RAM Modul, die dem 2-Bit Wert der Eingabeadresse entsprechen, in einem normalen Zustand aktiviert, während die restlichen RAM Module in einem Zustand mit niedriger Leistungsaufnahme beibehalten werden. Das Cachespeichersystem besitzt zu dieser Zeit eine direkt abbildende Struktur. Es sei angemerkt, dass die Struktur des RAM Leistungssteuerungsgeräts 37 nicht auf die Struktur der oben angegebenen Logikschaltung beschränkt ist.
  • 6 ist ein Logikschaltungsdiagramm, das ein Beispiel der Datenselektorsteuerschaltung 38 zeigt. Die Datenselektorsteuerschaltung 38 besitzt acht AND Schaltungen 67 bis 74 und vier OR Schaltungen 75 bis 78.
  • Die AND Schaltung 67, AND Schaltung 69, AND Schaltung 71 und AND Schaltung 73 werden mit Leistungsmodussignalen und den Ausgangssignalen der AND Schaltungen 36a, 36b, 36c bzw. 36d in der Tag-Bestimmungsschaltung 33 als Eingangssignale versorgt. Die Anschlüsse der AND Schaltungen 67, 69, 71 und 73, in welche die Leistungsmodussignale eingegeben werden, sind gering aktiv. Aufgrund dessen, falls das Leistungsmodussignal "1" ist, werden die Ausgänge von all den Schaltungen "0". Andererseits, falls das Leistungsmodussignal "0" ist, wird nur der Ausgabewert der AND Schaltung auf dem weg, auf dem die Ausgangssignale jeder der AND Schaltungen 36a, 36b, 36c und 36d in der Tag-Bestimmungsschaltung 33, "1".
  • Die AND Schaltung 68, AND Schaltung 70, AND Schaltung 72 und AND Schaltung 74 werden mit Leistungsmodussignalen und RAM Leistungssteuerungssignalen, welche von den OR Schaltungen 63, 64, 65 bzw. 66 in dem RAM Leistungssteuerungsgerät 37 ausgegeben werden, als Eingangssignale versorgt. Falls das Leistungsmodussignal "1" ist, wird nur der Ausgabewert der AND Schaltung auf dem Weg, auf dem das RAM Leistungssteuerungssignal "1" ist, "1". Andererseits, falls das Leistungsmodussignal "0" ist, werden die Ausgänge von all den AND Schaltungen "0".
  • Die OR Schaltung 75 gibt eine OR Logik aus zwischen dem Ausgabewert der AND Schaltung 67 und dem Ausgabewert der AND Schaltung 68. Die OR Schaltung 76 gibt eine OR Logik aus zwischen dem Ausgabewert der AND Schaltung 69 und dem Ausgabewert der AND Schaltung 70. Die OR Schaltung 77 gibt eine OR Logik aus zwischen dem Ausgabewert der AND Schaltung 71 und dem Ausgabewert der AND Schaltung 72. Die OR Schaltung 78 gibt eine OR Logik aus zwischen dem Ausgabewert der AND Schaltung 73 und dem Ausgabewert der AND Schaltung 74.
  • Die Ausgabesignale beispielsweise der OR Schaltung 75, der OR Schaltung 76, der OR Schaltung 77 und der OR Schaltung 78 werden als Datenauswahlsignale zum Auswählen eines der Daten, die von jedem der Cachespeicher RAM Module 32a, 32b, 32c und 32d auf den Wegen 0, 1, 2 und 3 gelesen werden, an den Datenselektor 34 geliefert.
  • Daher, falls das Leistungsmodussignal "0" ist (mengenassoziative Architektur), werden nur die Wegdaten unter den Daten, welche von jedem der Cachespeicher RAM Module 32a, 32b, 32c und 32d gelesen werden, auf dem Weg, für den die Abrufadresse durch die Tag-Bestimmungsschaltung 33 bestimmt ist, mit gültigen Adressdaten übereinzustimmen, die von jedem der Tag-Speicher RAM Module 31a, 31b, 31c und 31d gelesen werden, und die Daten an den Datenbus ausgegeben.
  • Falls das Leistungsmodussignal "1" ist (direkt abbildende Struktur), werden nur die Daten unter den Daten, welche von dem einen der Cachespeicher RAM Module 32a, 32b, 32c und 32d gelesen werden, die durch das RAM Leistungssteuerungssignal in einem normalen Zustand aktiviert sind, an den Datenbus ausgegeben. Es sei angemerkt, dass die Struktur der Datenselektorsteuerschaltung 38 nicht auf die Struktur der oben angegebenen Logikschaltung beschränkt ist.
  • 7 ist ein Logikschaltungsdiagramm, das ein Beispiel der Cache Treffer/Fehlschlag Steuerschaltung 39 zeigt. Die Cache Treffer/Fehlschlag Steuerschaltung 39 besitzt vier AND Schaltungen 79 bis 82 und eine OR Schaltung 83. Die AND Schaltung 81 wird mit einem Leistungsmodussignal und dem Ausgangssignal der AND Schaltung 79, welche RAM Leistungssteuerungssignale für jeden der Wege eingibt, als Eingangssignale versorgt. Die AND Schaltung 82 wird mit einem Leistungsmodussignal und dem Ausgangssignal der AND Schaltung 80, welche die Ausgangssignale von jeder der AND Schaltung 36a, 36b, 36c und 36d in der Tag-Bestimmungsschaltung 33 eingibt, als Eingangssignale versorgt. Die OR Schaltung 83 gibt eine OR Logik aus zwischen dem Ausgabewert der AND Schaltung 81 und dem Ausgabewert der AND Schaltung 82.
  • Falls das Leistungsmodussignal "0" ist (das heißt, das Cachespeichersystem besitzt eine mengenassoziative Struktur), wird der Ausgabewert der AND Schaltung 81 "0". In diesem Modus ist der Anschluss der AND Schaltung 82, in welche das Leistungsmodussignal eingegeben wird, gering aktiv. Aufgrund dessen wird der Ausgabewert der AND Schaltung 82 durch den Ausgabewert der AND Schaltung 80 bestimmt. Dementsprechend wird der Ausgabewert der OR Schaltung 83, welcher der Ausgabewert der Cache Treffer/Fehlschlag Steuerschaltung 39 ist, durch den Ausgabewert der Tag- Bestimmungsschaltung 33 bestimmt. Andererseits, falls das Leistungsmodussignal "1" ist (das heißt, das Cachespeichersystem besitzt eine direkt abbildende Struktur), wird der Ausgabewert der AND Schaltung 82 "0", jedoch wird der Ausgabewert der AND Schaltung 81 durch den Ausgabewert der AND Schaltung 79 bestimmt. Dementsprechend wird der Ausgabewert der Cache Treffer/Fehlschlag Steuerschaltung 39 durch den Wert des RAM Leistungssteuerungssignals bestimmt. Es sei angemerkt, dass die Struktur der Cache Treffer/Fehlschlag Steuerschaltung 39 nicht auf die Struktur der oben angegebenen Logikschaltung beschränkt ist.
  • 8 ist eine typische Ansicht zum Beschreiben des Konzepts der Speicherbereiche des Cachespeichersystems ge- mäß dem ersten Ausführungsbeispiel zum Durchführen der Erfindung. Wenn angenommen wird, dass der Hauptspeicher 84 eines SDRAM oder Ähnlichem in eine Vielzahl von Bereichen geteilt wird und dass das Cachespeichersystem mit einer mengenassoziativen Struktur aktiviert ist, dann sind die Bereiche des Hauptspeichers 84, welche in jedem der Cachespeicher RAM Module 32a, 32b, 32c und 32d gespeichert sind, die ersten, zweiten, dritten Bereiche etc., das heißt, all die Bereiche des Hauptspeichers 84 werden gespeichert (in den Cachespeicher aufgenommen).
  • Andererseits, falls das Cachespeichersystem mit einer direkt abbildenden Struktur aktiviert ist, speichert das Cachespeicher RAM Modul 32a beispielsweise den ersten, fünften, neuten, dreizehnten Bereich etc. des Hauptspeichers 84 (stellt einen Cache dafür bereit). Gleichermaßen sind die Bereiche des Hauptspeichers 84, welche in dem Cachespeicher RAM Modul 32b gespeichert sind, die zweiten, sechsten, zehnten, vierzehnten Bereiche etc. Die in dem Cachespeicher RAM Modul 32c gespeicherten sind die dritten, siebten, elften, fünfzehnten Bereiche etc. Die in dem Cachespeicher RAM Modul 32d gespeicherten sind die vierten, achten zwölften, sechzehnten Bereiche etc.
  • Als nächstes wird die Funktion des Cachespeichersystems gemäß dem ersten Ausführungsbeispiel zum Durchführen der Erfindung beschrieben werden. Falls das Leistungsmodussignal "0" ist, das heißt, das Cachespeichersystem mit einer mengenassoziativen Struktur aktiviert ist, dann sind der Datenlesebetrieb und Datenschreibbetrieb des Cachespeichersystems die gleichen wie die des herkömmlichen Cachespeichersystems einer mengenassoziativen Struktur.
  • Falls das Leistungsmodussignal "1" ist, das heißt, das Cachespeichersystem mit einer direkt abbildenden Struktur aktiviert ist, dann werden nur ein Tag-Speicher RAM Modul und nur ein Cachespeicher RAM Modul an irgendeinem der Wege in einem normalen Zustand aktiviert, beispielsweise basierend auf den dreizehnten und zwölften Bitwerten einer Eingabeadresse in sowohl dem Datenlesebetrieb als auch dem Datenschreibbetrieb des Cachespeichersystems. Was die restlichen drei Wege betrifft, werden sowohl die Tag-Speicher RAM Module als auch die Cachespeicher RAM Module in einen Zustand mit niedriger Leistungsaufnahme umgewandelt. wenn Daten gelesen werden, werden Daten, die von dem Cachespeicher RAM Modul in einem Zustand mit niedriger Leistungsaufnahme gelesen werden, durch den Datenselektor 34 basierend auf dem RAM Leistungssteuerungssignal als ungültig bestimmt.
  • Gemäß dem oben angegebenen ersten Ausführungsbeispiel zum Durchführen der Erfindung, falls das Leistungsmodussignal in einem Modus mit hoher Trefferquote ist, ist das Cachespeichersystem als ein n-Weg mengenassoziativer Cache konfiguriert. Andererseits, falls das Leistungsmodussignal in einem Modus mit niedriger Leistungsaufnahme ist, ist das Cachespeichersystem als ein 1-weg direkt abbildender Cache konfiguriert. Daher ist es möglich, einen Fall auszuwählen, wo die Performance des Arithmetikprozes sors priorisiert wird, selbst wenn eine Leistungsaufnahme hoch ist, und einen Fall, wo niedrige Leistungsaufnahme priorisiert wird, gemäß einem Benutzer oder einer äußeren Umgeben, wie z.B. einer verwendeten Anwendung.
  • 9 ist ein Blockdiagramm, das ein Beispiel eines Cachespeichersystems gemäß dem zweiten Ausführungsbeispiel zum Durchführen der vorliegenden Erfindung zeigt. Das Cachespeichersystem in dem zweiten Ausführungsbeispiel unterscheidet sich von dem Cachespeichersystem in dem ersten Ausführungsbeispiele (siehe 4) wie folgt. Zuerst ersetzt eine Tag-Bestimmungsergebnisentwertungsschaltung 42 die Datenselektorsteuerschaltung 38, und eine Tag-Datenselektorsteuereinheit ist aus einer Tag-Bestimmungsschaltung 33 und der Tag-Bestimmungsergebnisentwertungsschaltung 42 gebildet.
  • Zweitens wird, für den Zweck des Rückmeldens eines Cachetreffers oder -fehlschlages an einen Prozessorkern oder Ähnliches, nicht gezeigt, die Ausgabe der Tag-Bestimmungsergebnisentwertungsschaltung 42 anstelle der der Cache Treffer/Fehlschlag Steuerschaltung 39 zurückgemeldet. Da die anderen Elemente die gleichen sind wie die des ersten Ausführungsbeispiels zum Durchführen der Erfindung, werden die gleichen Bestandteile wie die in dem ersten Ausführungsbeispiel durch die gleichen Bezugsziffern gekennzeichnet und werden hierin nicht beschrieben werden.
  • Falls das Cachespeichersystem mit einer direkt abbildenden Struktur aktiviert ist, macht die Tag-Bestimmungsergebnisentwertungsschaltung 42 Adressdaten und ein gültiges Eingabeflag ungültig, das von einem Tag-Speicher RAM Modul in einem Zustand mit niedriger Leistungsaufnahme gelesen wird. Die Tag-Bestimmungsergebnisentwertungsschaltung 42 besitzt vier AND Schaltungen 43a, 43b, 43c und 43d. Die AND Schaltung 43a an einem weg 0 wird mit einem RAM Leistungssteuerungssignal für den weg 0 und dem Ausgangssignal einer AND Schaltung 36a in der Tag-Bestimmungsschaltung 33 versorgt.
  • Gleichermaßen werden die AND Schaltung 43b an einem Weg 1, die AND Schaltung 43c an einem Weg 2 und die AND Schaltung 43a an einem Weg 3 mit einem RAM Leistungssteuerungssignal für den Weg 1 und dem Ausgangssignal der AND Schaltung 36b in der Tag-Bestimmungsschaltung 33, einem RAM Leistungssteuerungssignal für den Weg 2 und dem Ausgangssignal der AND Schaltung 36c in der Tag-Bestimmungsschaltung 33, bezw. einem RAM Leistungssteuerungssignal für den Weg 3 und dem Ausgangssignal der AND Schaltung 36a in der Tag-Bestimmungsschaltung 33 versorgt.
  • Als nächstes wird die Funktion des Cachespeichersystems gemäß dem zweiten Ausführungsbeispiel zum Durchführen der Erfindung beschrieben werden. Die Funktion ist die gleiche wie die des Cachespeichersystems gemäß dem ersten Ausführungsbeispiel zum Durchführen der Erfindung, mit der Ausnahme, dass, falls das Leistungsmodussignal "1" ist (direkt abbildender Modus), Daten, die von dem Cachespeicher RAM Modul in einem Zustand mit niedriger Leistungsaufnahme gelesen werden, durch den Datenselektor 34 basierend auf dem Ausgangssignal der Tag-Bestimmungsergebnisentwertungsschaltung 42 ungültig gemacht werden, wenn die Daten gelesen werden.
  • Wie zuvor, falls das Leistungsmodussignal in einem Modus mit einer hohen Trefferquote ist, ist das Cachespeichersystem als ein System aktiviert, das eine n-Weg mengenassoziative Struktur besitzt. Andererseits, falls das Leistungsmodussignal in einem Modus mit niedriger Leistungsaufnahme ist, ist das Cachespeichersystem als ein System aktiviert, das eine 1-Weg direkt abbildende Struktur besitzt. Aufgrund dessen ist es möglich, zwischen einem Fall auszuwählen, wo eine Trefferquote priorisiert ist, und einem Fall, wo eine geringe Leistungsaufnahme priorisiert ist, gemäß einem Benutzer oder einer äußeren Umgebung, wie z.B. einer verwendeten Anwendung.
  • Das erste und zweite Ausführungsbeispiel zum Durchführen der Erfindung betreffen das Cachespeichersystem, das in der Lage ist, eine Struktur dynamisch zwischen der mengenassoziativen Struktur und der direkt abbildenden Struktur umzuschalten, indem das Leistungsmodussignal verwendet wird. Ein Cachespeichersystem gemäß dem dritten Ausführungsbeispiel zum Durchführen der Erfindung besitzt dagegen eine direkt abbildende Struktur, um eine geringe Leistungsaufnahme zu realisieren, ohne ein Leistungsmodussignal zu benötigen. Es sei angemerkt, dass die gleichen Bestandteile in dem dritten Ausführungsbeispiel zum Durchführen der Erfindung wie die in dem ersten oder zweiten Ausführungsbeispiel zum Durchführen der Erfindung durch die gleichen Bezugsziffern gekennzeichnet werden und hierin nicht beschrieben werden.
  • 10 ist ein Blockdiagramm, das ein Beispiel eines Cachespeichersystems gemäß dem dritten Ausführungsbeispiel zum Durchführen der Erfindung zeigt. Dieses Cachespeichersystem ist ähnlich zu dem in 4, mit der Ausnahme, dass ein RAM Leistungssteuerungsgerät 44 und eine Datenselektorsteuerschaltung 45 nicht von einem Leistungsmodussignal abhängen. Das Cachespeichersystem ist auch zusammengesetzt, um einen Cachetreffer oder -fehlschlag an einen Prozessorkern oder Ähnliches zurückzumelden, ohne von einem Leistungsmodussignal abzuhängen.
  • 11 ist ein Blockdiagramm, das ein weiters Beispiel eines Cachespeichersystems gemäß dem dritten Ausführungsbeispiel zum Durchführen der Erfindung zeigt. Dieses Cachespeichersystem ist ähnlich zu dem in 9, mit der Ausnahme, dass ein RAM Leistungssteuerungsgerät 44 nicht von einem Leistungsmodussignal abhängt.
  • 12 ist ein Blockdiagramm, das ein modifiziertes Beispiel des in 10 gezeigten Cachespeichersystems zeigt. In diesem Cachespeichersystem können nur die Cachespeicher RAM Module (nicht die Tag-Speicher RAM Module) in einen Zustand mit geringer Leistungsaufnahme in dem in 10 gezeigten Cachespeichersystem umgewandelt werden.
  • 13 ist ein Blockdiagramm, das ein modifiziertes Beispiel des in 10 gezeigten Cachespeichersystems zeigt. In diesem Cachespeichersystem werden ein Tag-Speicher RAM Modul 46 und ein Cachespeicher RAM Modul 48, jedes in vier Bereiche geteilt, anstatt der vier Tag-Speicher RAM Module 31a, 31b, 31c und 31d und der vier Cachespeicher RAM Module 32a, 32b, 32c und 32d in dem in 10 gezeigten Cachespeichersystem bereitgestellt.
  • Das Tag-Speicher RAM Modul 46 wird mit Leseschaltungen 47a, 47b, 47c und 47d in jedem der Bereiche versehen. Gleichermaßen wird das Cachespeicher RAM Modul 48 mit Leseschaltungen 49a, 49b, 49c und 49d in jedem der Bereiche versehen. Die Zustände dieser Leseschaltungen 47a, 47b, 47c, 47d, 49a, 49b, 49c und 49d werden durch ein RAM Leistungssteuerungsgerät 44 zwischen einem normalen Zustand und einem Zustand mit niedriger Leistungsaufnahme umgeschaltet.
  • Gemäß dem oben angegebenen dritten Ausführungsbeispiel zum Durchführen der Erfindung ist in jedem Beispiel nur ein Weg in einem normalen Zustand aktiviert, basierend auf dem Wert der Abrufadresse, und die restlichen Wege sind auf einen Zustand mit geringer Leistungsaufnahme umgeschaltet. Aufgrund dessen ist es möglich, die Leistungsaufnahme des Cachespeichersystems zu reduzieren.
  • In Ausführungsbeispielen der Erfindung werden n Tag-Speicher RAM Abschnitte, jeder in der Lage, einen Zustand zwischen einem normalen Zustand und einem Zustand mit ge ringer Leistungsaufnahme umzuschalten, parallel geschaltet; n Cachespeicher RAM Abschnitte, jeder in der Lage, einen Zustand zwischen dem normalen Zustand und dem Zustand mit niedriger Leistungsaufnahme umzuschalten, werden parallel geschaltet; falls ein Leistungsmodussignal in einem Modus mit hoher Trefferquote ist, besitzt das Cachespeichersystem eine mengenassoziative Struktur, in der all die Tag-Speicher RAM Abschnitte und all die Cachespeicher RAM Abschnitt im normalen Zustand aktiviert sind; und, andererseits, falls das Leistungsmodussignal in einem Modus mit niedriger Leistungsaufnahme ist, besitzt das Cachespeichersystem eine 1-Weg direkt abbildende Struktur, in der nur einer der Tag-Speicher RAM Abschnitte und nur einer der Cachespeicher RAM Abschnitte, der dem Tag-Speicher RAM Abschnitt entspricht, im normalen Zustand aktiviert sind, und die restlichen Tag-Speicher RAM Abschnitte und Cachespeicher RAM Abschnitte sind in den Zustand mit niedriger Leistungsaufnahme umgewandelt, basierend auf dem Wert der Abrufadresse. Aufgrund solch einer Anordnung, falls das Leistungsmodussignal in einem Modus mit einer hohen Trefferrate ist, arbeitet das Cachespeichersystem als ein n-Weg mengenassoziativer Cache, und falls das Leistungsmodussignal in einem Modus mit einer niedrigen Leistungsaufnahme ist, arbeitet das Cachespeichersystem als ein 1-Weg direkt abbildender Cache. Es ist daher möglich, eine Trefferquote oder eine Leistungsaufnahme nach Bedarf zu optimieren.

Claims (9)

  1. Ein Cachespeichersystem, umfassend: n Tag-Speicherabschnitte (31a, 31b ...), wo n > 1 ist; n Cachespeicherabschnitte (32a, 32b ...), wo n > 1 ist, wobei jeder in der Lage ist, einen Zustand zwischen einem normalen Zustand und einem Zustand mit niedrigerer Leistungsaufnahme umzuschalten; dadurch gekennzeichnet, dass das System umfasst: eine Leistungssteuereinheit (37), welche gemäß einem Leistungsmodussignal das Schalten einer Wegstruktur steuert auf entweder eine n-Weg Struktur, in welcher all die Cachespeicherabschnitte im normalen Zustand aktiviert sind, oder eine 1-Weg Struktur, in welcher nur einer der Cachespeicherabschnitte im normalen Zustand aktiviert ist, basierend auf einem Wert einer Eingangsabrufadresse, und die restlichen Cachespeicherabschnitte in den Zustand mit niedriger Leistungsaufnahme umgewandelt sind; einen Datenselektor (34), der nur Daten auswählt, die von irgendeinem der Cachespeicherabschnitte gelesen wurden, wenn die Daten gelesen werden; und eine Datenselektorsteuereinheit (38), welche den Datenselektor steuert, um nur Daten auszuwählen, die von dem Cachespeicherabschnitt gelesen wurden, der dem Wert der Abrufadresse entspricht, im Falle der n-Weg Struktur, und um nur Daten auszuwählen, die von dem Cachespeicherabschnitt in dem normalen Zustand gelesen wurden, im Falle der 1-Weg Struktur.
  2. Das Cachespeichersystem nach Anspruch 1, wobei die Leistungssteuereinheit (37) aus einer logischen Schaltung gebildet ist, die ein Signal zum Steuern eines Betriebszustands jeder der Cachespeicherabschnitte erzeugt, basierend auf dem Wert der Abrufadresse und einem Wert des Leistungsmodussignals.
  3. Ein Cachespeichersystem nach Anspruch 1, wobei die Tag-Speicherabschnitte in der Lage sind, einen Zustand zwischen einem normalen Zustand und einem Zustand mit niedriger Leistungsaufnahme umzuschalten; und wobei die Leistungssteuereinheit (37) gemäß einem Leistungsmodussignal das Schalten einer Wegstruktur steuert auf entweder eine n-Weg Struktur, in welcher all die Tag-Speicherabschnitte und all die Cachespeicherabschnitte im normalen Zustand aktiviert sind, oder eine 1-Weg Struktur, in welcher nur ein Tag-Speicherabschnitt und nur ein Cachespeicherabschnitt, der dem Tag-Speicherabschnitt entspricht, im normalen Zustand aktiviert sind, basierend auf einem Wert einer Eingangsabrufadresse, und die restlichen Tag-Speicherabschnitte und Cachespeicherabschnitte in den Zustand mit niedriger Leistungsaufnahme umgewandelt sind.
  4. Das Cachespeichersystem nach Anspruch 3, wobei die Leistungssteuereinheit (37) aus einer logischen Schaltung gebildet ist, die ein Signal zum Steuern eines Betriebszustands jeder der Tag-Speicherabschnitte und jeder der Cachespeicherabschnitte erzeugt, basierend auf dem Wert der Abrufadresse und einem Wert des Leistungsmodussignals.
  5. Das Cachespeichersystem nach einem der vorhergehenden Ansprüche, des Weiteren umfassend: eine Tag-Bestimmungsschaltung (33), welche bestimmt, ob die Adressdaten, welche von jedem der Tag-Speicherabschnitte gelesen wurden, mit dem wert der Abrufadresse übereinstimmen oder nicht; und eine Datenselektorsteuerschaltung (38), welche so steuert, um irgendwelche der Daten auszuwählen, die von jedem der Cachespeicherabschnitte gelesen wurden, basierend auf einem Bestimmungsergebnis der Tag-Bestimmungsschaltung, einem Wert des Leistungsmodussignals und einem Steuerinhalt der Leistungssteuereinheit.
  6. Das Cachespeichersystem nach Anspruch 3 oder 4, wobei die Datenselektorsteuereinheit umfasst: eine Tag-Bestimmungsschaltung (33), welche bestimmt, ob die Adressdaten, die von jedem der Tag-Speicherabschnitte gelesen wurden, mit dem Wert der Abrufadresse übereinstimmen oder nicht; und eine Tag-Bestimmungsergebnisentwertungsschaltung (42), welche ein Bestimmungsergebnis der Tag-Bestimmungsschaltung entwertet, falls die Adressdaten, welche von dem Tag-Speicherabschnitt in dem Zustand mit niedriger Leistungsaufnahme gelesen wurden, mit dem Wert der Abrufadresse übereinstimmen.
  7. Das Cachespeichersystem nach einem der vorhergehenden Ansprüche, wobei die n Cachespeicherabschnitte einzelnen n Bereichen entsprechen, die aus einem Modul herausgeteilt sind.
  8. Das Cachespeichersystem nach einem der vorhergehenden Ansprüche, wobei die n Tag-Speicherabschnitte einzelnen n Bereichen entsprechen, die aus einem Modul herausgeteilt sind.
  9. Ein Cachespeichersystem nach Anspruch 1, umfassend einen Cachespeicher mit schaltbarer Architektur, umfassend: n Tag-Speicher RAM Abschnitte und zugehörige n Cachespeicher RAM Abschnitt, wobei entweder die Tag-Speicher RAM Abschnitte oder die Cachespeicher RAM Abschnitte, oder beide, in der Lage sind, zwischen einem normalen Zustand und einem Zustand mit niedriger Leistungsaufnahme umzuschalten; und eine RAM Leistungssteuereinheit, die auf ein Leistungsmodussignal so reagiert, dass, falls das Leistungsmodussignal in einem Modus mit hoher Trefferrate ist, das Cachespeichersystem durch die RAM Leistungssteuereinheit in eine bestimmte zugehörige Architektur konfiguriert wird, in welcher all die Tag-Speicher RAM Abschnitte und all die Cachespeicher RAM Abschnitte im normalen Zustand aktiviert sind; wohingegen, falls das Leistungsmodussignal in einem Modus niedriger Leistungsaufnahme ist, das Cachespeichersystem durch die RAM Leistungssteuereinheit in eine direkt abbildende 1-Weg Architektur konfiguriert wird, in welcher einer der Tag-Speicher RAM Abschnitte und sein zugehöriger Cachespeicher RAM Abschnitt im normalen Zustand aktiviert sind, basierend auf dem Wert einer abgerufenen Adresse, und die restlichen Tag-Speicher RAM Abschnitte und/oder die restlichen Cache-Speicher RAM Abschnitte in dem Zustand mit niedriger Leistungsaufnahme gehalten werden.
DE60117735T 2001-02-13 2001-12-20 Pufferspeichersystem Expired - Fee Related DE60117735T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2001035175 2001-02-13
JP2001035175A JP2002236616A (ja) 2001-02-13 2001-02-13 キャッシュメモリシステム

Publications (2)

Publication Number Publication Date
DE60117735D1 DE60117735D1 (de) 2006-05-04
DE60117735T2 true DE60117735T2 (de) 2006-08-17

Family

ID=18898654

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60117735T Expired - Fee Related DE60117735T2 (de) 2001-02-13 2001-12-20 Pufferspeichersystem

Country Status (5)

Country Link
US (1) US20020112126A1 (de)
EP (1) EP1231539B1 (de)
JP (1) JP2002236616A (de)
KR (1) KR100794973B1 (de)
DE (1) DE60117735T2 (de)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100395756B1 (ko) * 2001-06-16 2003-08-21 삼성전자주식회사 캐쉬 메모리 및 이를 이용하는 마이크로 프로세서
JP2003196156A (ja) * 2001-12-28 2003-07-11 Fujitsu Ltd 情報処理装置および情報処理方法
US6944714B2 (en) * 2002-07-30 2005-09-13 Hewlett-Packard Development Company, L.P. Method and apparatus for saving microprocessor power when sequentially accessing the microprocessor's instruction cache
JP3834323B2 (ja) 2004-04-30 2006-10-18 日本電気株式会社 キャッシュメモリおよびキャッシュ制御方法
US20070156992A1 (en) * 2005-12-30 2007-07-05 Intel Corporation Method and system for optimizing latency of dynamic memory sizing
EP1849082B1 (de) * 2005-02-07 2013-08-21 ST-Ericsson SA Datenverarbeitungssystem und verfahren zur cache-auswechselung
US20070043965A1 (en) * 2005-08-22 2007-02-22 Intel Corporation Dynamic memory sizing for power reduction
US7991955B2 (en) * 2006-12-13 2011-08-02 Advanced Micro Devices, Inc. Method and apparatus to achieve more level thermal gradient
JP4635063B2 (ja) 2008-03-11 2011-02-16 株式会社東芝 キャッシュメモリ制御回路及びプロセッサ
JP5142868B2 (ja) * 2008-07-17 2013-02-13 株式会社東芝 キャッシュメモリ制御回路及びプロセッサ
US8209489B2 (en) 2008-10-22 2012-06-26 International Business Machines Corporation Victim cache prefetching
US8347037B2 (en) 2008-10-22 2013-01-01 International Business Machines Corporation Victim cache replacement
US8499124B2 (en) 2008-12-16 2013-07-30 International Business Machines Corporation Handling castout cache lines in a victim cache
US8225045B2 (en) 2008-12-16 2012-07-17 International Business Machines Corporation Lateral cache-to-cache cast-in
US8117397B2 (en) 2008-12-16 2012-02-14 International Business Machines Corporation Victim cache line selection
US8489819B2 (en) 2008-12-19 2013-07-16 International Business Machines Corporation Victim cache lateral castout targeting
US8949540B2 (en) 2009-03-11 2015-02-03 International Business Machines Corporation Lateral castout (LCO) of victim cache line in data-invalid state
US8285939B2 (en) 2009-04-08 2012-10-09 International Business Machines Corporation Lateral castout target selection
US8312220B2 (en) 2009-04-09 2012-11-13 International Business Machines Corporation Mode-based castout destination selection
US8347036B2 (en) 2009-04-09 2013-01-01 International Business Machines Corporation Empirically based dynamic control of transmission of victim cache lateral castouts
US8327073B2 (en) 2009-04-09 2012-12-04 International Business Machines Corporation Empirically based dynamic control of acceptance of victim cache lateral castouts
US9189403B2 (en) 2009-12-30 2015-11-17 International Business Machines Corporation Selective cache-to-cache lateral castouts
US8352683B2 (en) * 2010-06-24 2013-01-08 Intel Corporation Method and system to reduce the power consumption of a memory device
EP2799997B1 (de) * 2011-12-26 2020-01-22 Renesas Electronics Corporation Datenverarbeitungsvorrichtung
US9396117B2 (en) * 2012-01-09 2016-07-19 Nvidia Corporation Instruction cache power reduction
US9547358B2 (en) 2012-04-27 2017-01-17 Nvidia Corporation Branch prediction power reduction
US9552032B2 (en) 2012-04-27 2017-01-24 Nvidia Corporation Branch prediction power reduction
US8943274B2 (en) * 2012-05-22 2015-01-27 Seagate Technology Llc Changing power state with an elastic cache
US9135182B2 (en) * 2012-06-01 2015-09-15 Semiconductor Energy Laboratory Co., Ltd. Central processing unit and driving method thereof
US8977817B2 (en) * 2012-09-28 2015-03-10 Apple Inc. System cache with fine grain power management
JP5954112B2 (ja) * 2012-10-24 2016-07-20 富士通株式会社 メモリ装置、演算処理装置、及びキャッシュメモリ制御方法
KR101490072B1 (ko) * 2014-01-28 2015-02-06 한양대학교 산학협력단 캐시의 전력 제어를 위한 장치 및 방법
US10719434B2 (en) 2014-12-14 2020-07-21 Via Alliance Semiconductors Co., Ltd. Multi-mode set associative cache memory dynamically configurable to selectively allocate into all or a subset of its ways depending on the mode
US9798668B2 (en) 2014-12-14 2017-10-24 Via Alliance Semiconductor Co., Ltd. Multi-mode set associative cache memory dynamically configurable to selectively select one or a plurality of its sets depending upon the mode
JP6218971B2 (ja) * 2014-12-14 2017-10-25 ヴィア アライアンス セミコンダクター カンパニー リミテッド アドレス・タグ・ビットに基づく動的キャッシュ置換ウェイ選択
JP6149265B2 (ja) * 2016-04-05 2017-06-21 ルネサスエレクトロニクス株式会社 データ処理装置
US11507174B2 (en) * 2020-02-25 2022-11-22 Qualcomm Incorporated System physical address size aware cache memory

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5014195A (en) * 1990-05-10 1991-05-07 Digital Equipment Corporation, Inc. Configurable set associative cache with decoded data element enable lines
JPH04186595A (ja) * 1990-11-21 1992-07-03 Hitachi Ltd キャッシュメモリ装置
US5860127A (en) * 1995-06-01 1999-01-12 Hitachi, Ltd. Cache memory employing dynamically controlled data array start timing and a microcomputer using the same
JPH09223068A (ja) * 1996-02-15 1997-08-26 Toshiba Microelectron Corp キャッシュメモリ
US5848428A (en) * 1996-12-19 1998-12-08 Compaq Computer Corporation Sense amplifier decoding in a memory device to reduce power consumption
US5978282A (en) * 1997-04-03 1999-11-02 Texas Instruments Incorporated Low power line system and method
JPH1185617A (ja) * 1997-09-01 1999-03-30 Toshiba Corp コンピュータシステム
KR19990057856A (ko) * 1997-12-30 1999-07-15 김영환 저전력 캐쉬 메모리 장치

Also Published As

Publication number Publication date
JP2002236616A (ja) 2002-08-23
EP1231539A2 (de) 2002-08-14
US20020112126A1 (en) 2002-08-15
EP1231539A3 (de) 2004-01-21
DE60117735D1 (de) 2006-05-04
EP1231539B1 (de) 2006-03-08
KR20020066950A (ko) 2002-08-21
KR100794973B1 (ko) 2008-01-16

Similar Documents

Publication Publication Date Title
DE60117735T2 (de) Pufferspeichersystem
DE69826353T2 (de) Integrierte Schaltung mit Bereitschaftmodussteuerschaltung für Speicher
DE19526007C2 (de) Horizontal partitionierter Befehls-Cache-Speicher
DE69432314T2 (de) Cachespeicher mit aufgeteiltem pegel
DE2749850C3 (de) Hybrider Halbleiterspeicher mit assoziativer Seitenadressierung, Seitenaustausch und Steuerung auf dem Chip
DE602004007532T2 (de) Integrierte schaltung und verfahren zum cache-umabbilden
DE2445617C2 (de) Hierarchische Speicheranordnung
DE112006000339B4 (de) System für einen beschränkten Cache-Zugriff während des Datentransfers und Verfahren dazu
DE60118622T2 (de) Benutzer-konfigurierbares on-chip speichersystem
DE69933328T2 (de) Mehrweg-Cachespeichervorrichtung und Verfahren
DE4335475A1 (de) Datenverarbeitungseinrichtung mit Cache-Speicher
DE60025788T2 (de) Flexibles Mehrzweck-Ein/Ausgabesystem
DE10112216A1 (de) Digitales Datenverarbeitungssystem, zugehöriger Cache-Speicher und Betriebsverfahren hierfür
DE19814415A1 (de) Logikanalyse-Untersystem in einem Zeitscheibenemulator
DE69815482T2 (de) Computer Anordnung mit Prozessor und Speicher-Hierarchie und sein Betriebsverfahren
DE102005037219A1 (de) Vorrichtung und Verfahren zur Speicherung von Daten und/oder Befehlen in einem Rechnersystem mit wenigstens zwei Verarbeitungseinheiten und wenigstens einem ersten Speicher oder Speicherbereich für Daten und/oder Befehle
DE112008001473B4 (de) Zwischenspeicherung eines Mikrocodierungsemulationsspeichers
DE3919802C2 (de) Speichersteuersystem für ein Multiprozessorsystem
DE69828890T2 (de) Konfigurierbare speichersteuerungsvorrichtung und verfahren hierfür
DE19882617B4 (de) Speicherattributpalette
DE10392127T5 (de) Verwendung eines Kontextidentifizierers in einem Zwischenspeicher
WO1995031783A1 (de) Speichervorrichtung zum speichern von daten
DE19947055A1 (de) Verfahren und Vorrichtung zur Steuerung eines Cache-Speichers
DE102007055138B4 (de) System zum Zugreifen auf einen Einzelport-Mehrwege-Cache
DE3832758C2 (de) Verfahren zum Adressieren eines im Rückschreib-Modus betriebenen virtuellen Cache-Speichers

Legal Events

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