JP2003131945A - Cache memory device - Google Patents

Cache memory device

Info

Publication number
JP2003131945A
JP2003131945A JP2001327105A JP2001327105A JP2003131945A JP 2003131945 A JP2003131945 A JP 2003131945A JP 2001327105 A JP2001327105 A JP 2001327105A JP 2001327105 A JP2001327105 A JP 2001327105A JP 2003131945 A JP2003131945 A JP 2003131945A
Authority
JP
Japan
Prior art keywords
cache
way
mode
memory device
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.)
Pending
Application number
JP2001327105A
Other languages
Japanese (ja)
Inventor
Kazuhiko Tanaka
和彦 田中
Toru Nojiri
徹 野尻
Kiyokazu Nishioka
清和 西岡
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2001327105A priority Critical patent/JP2003131945A/en
Publication of JP2003131945A publication Critical patent/JP2003131945A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/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
    • 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)

Abstract

PROBLEM TO BE SOLVED: To provide a cache memory device with a set associative way to satisfy requirements, which can not be realized by an off the shelf cache memory device with the set associative way, which features a high cache hit ratio but has a problem to consume a large amount of electronic power, but can be realized by reducing power consumption if a low cache hit ratio is acceptable for a processor to execute processes. SOLUTION: A cache memory device embodied by the present invention prepares a mode register and switches a number of cache ways based on register contents. The cache memory device accesses all ways in a set associative mode and decides the way to be used based on a result of hit judgement for each way. The memory device selects the way to be used by using a part of cache addresses in a direct map mode.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、キャッシュメモリ
を搭載したプロセッサに関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a processor equipped with a cache memory.

【0002】[0002]

【従来の技術】近年のプロセッサは、メモリアクセス性
能を向上させるために、外部メモリよりも高速にアクセ
ス可能なキャッシュメモリを搭載しているものが多い。
キャッシュメモリの制御方式には、ダイレクトマップ方
式とセットアソシアティブ方式がある。セットアソシア
ティブ方式は、キャッシュを複数のウェイに分割してア
クセスする方式であり、ダイレクトマップ方式に比べて
高いヒット率を実現することができる。しかし、複数の
ウェイを同時にアクセスするため、消費電力が増大して
しまうという欠点がある。この問題を解決するため、特
開2000−298618号公報では、セットアソシア
ティブ方式のキャッシュの、いくつかのセットを使用禁
止にする機構を備えることで、プロセッサ動作中に動的
に消費電力を下げる方法が記載されている。
2. Description of the Related Art In recent years, many processors are equipped with a cache memory that can be accessed faster than an external memory in order to improve memory access performance.
The cache memory control methods include a direct map method and a set associative method. The set associative method is a method in which the cache is divided into a plurality of ways and accessed, and a higher hit rate can be realized as compared with the direct map method. However, there is a drawback that power consumption increases because a plurality of ways are accessed simultaneously. In order to solve this problem, Japanese Patent Laid-Open No. 2000-298618 discloses a method of dynamically reducing power consumption during processor operation by providing a mechanism for disabling some sets of a set associative cache. Is listed.

【0003】[0003]

【発明が解決しようとする課題】特開2000−298
618号の手法では、いくつかのセットを使用禁止にす
ることによりキャッシュのウェイを減らしているため、
ウェイ数を削減した時には使用可能なキャッシュの総容
量も減ってしまう。このため、ウェイ数の減少および使
用可能なキャッシュの総容量の減少という二つの要因に
より、キャッシュのヒット率が大幅に低下してしまうと
いう問題がある。
DISCLOSURE OF THE INVENTION Problems to be Solved by the Invention
The method of No. 618 reduces cache ways by disabling some sets.
When the number of ways is reduced, the total available cache capacity also decreases. Therefore, there is a problem that the cache hit rate is significantly reduced due to two factors, that is, the decrease in the number of ways and the total available cache capacity.

【0004】本発明は、セットアソシアティブ方式のキ
ャッシュにおいて、使用可能なキャッシュの総容量を減
らすことなく使用するウェイ数を減らす手段を提供する
ことでこの問題を解決する。
The present invention solves this problem by providing means for reducing the number of ways used in a set associative cache without reducing the total capacity of the available cache.

【0005】[0005]

【課題を解決するための手段】本発明ではモードレジス
タを用意し、その内容によりキャッシュのウェイ数を切
り換える。セットアソシアティブモードでは全てのウェ
イをアクセスし、各ウェイのヒット判定結果を元に使用
するウェイを決定する。ダイレクトマップモードでは、
キャッシュアクセスアドレスの一部を用いて使用するウ
ェイを選択することにより、使用可能なキャッシュの総
容量を減らすことなく、使用するウェイ数の削減を実現
する。
In the present invention, a mode register is prepared, and the number of ways of the cache is switched according to the contents of the mode register. In the set associative mode, all ways are accessed and the way to be used is determined based on the hit determination result of each way. In direct map mode,
By selecting a way to be used by using a part of the cache access address, it is possible to reduce the number of ways to be used without reducing the total available cache capacity.

【0006】[0006]

【発明の実施の形態】本発明の実施例を図1〜7を用い
て説明する。この実施例は、本発明を2ウェイの命令キ
ャッシュに適用したものである。
BEST MODE FOR CARRYING OUT THE INVENTION An embodiment of the present invention will be described with reference to FIGS. In this embodiment, the present invention is applied to a 2-way instruction cache.

【0007】図1は、本発明を用いたプロセッサのブロ
ック図である。プロセッサ9000は、命令キャッシュ
ユニット1、演算器ユニット9001、データキャッシ
ュユニット9002、メモリ制御ユニット9003から
構成されている。このうち、命令キャッシュユニット
1、データキャッシュユニット9002、メモリ制御ユ
ニット9003は、プロセッサ内部バス9005により
接続されている。また、この図には記載されていない
が、プロセッサ9000の外部に接続した周辺機器を制
御するための周辺機器制御ユニットをプロセッサ内部バ
ス9005に接続し、演算器9001から周辺機器を制
御することも可能である。
FIG. 1 is a block diagram of a processor using the present invention. The processor 9000 includes an instruction cache unit 1, an arithmetic unit 9001, a data cache unit 9002, and a memory control unit 9003. Of these, the instruction cache unit 1, the data cache unit 9002, and the memory control unit 9003 are connected by a processor internal bus 9005. Although not shown in this figure, a peripheral device control unit for controlling peripheral devices connected to the outside of the processor 9000 may be connected to the processor internal bus 9005 to control the peripheral devices from the computing unit 9001. It is possible.

【0008】命令キャッシュユニット1は、命令キャッ
シュおよびその制御回路から構成されている。演算器9
001は、命令キャッシュユニット1から受け取った命
令に従って、演算処理やデータキャッシュユニット90
02に対するアクセスを行う。データキャッシュユニッ
ト9002は、データキャッシュおよびその制御回路か
ら構成されている。メモリ制御ユニット9003は、プ
ロセッサ内部バス9005経由で送られてきたメモリア
クセス要求に従って、外部メモリ9004をアクセスす
る。
The instruction cache unit 1 is composed of an instruction cache and its control circuit. Calculator 9
Reference numeral 001 denotes arithmetic processing and the data cache unit 90 according to the instruction received from the instruction cache unit 1.
02 is accessed. The data cache unit 9002 is composed of a data cache and its control circuit. The memory control unit 9003 accesses the external memory 9004 according to the memory access request sent via the processor internal bus 9005.

【0009】本実施例のプロセッサでは、命令のアドレ
ス空間は4ギガバイトであり、各命令のアドレスは32
ビット幅のバイトアドレスで指定する。命令キャッシュ
の総容量は32キロバイトであり、16バイトの容量を
もつキャッシュライン単位で管理されている。各命令は
4バイト幅の固定長であり、1キャッシュライン当たり
4個の命令を格納することができる。
In the processor of this embodiment, the instruction address space is 4 gigabytes, and the address of each instruction is 32.
Specify with byte address of bit width. The instruction cache has a total capacity of 32 kilobytes and is managed in cache line units having a capacity of 16 bytes. Each instruction has a fixed length of 4 bytes, and four instructions can be stored per cache line.

【0010】実行する命令が命令キャッシュユニット1
内の命令キャッシュに格納されている場合、すなわち命
令キャッシュがヒットしている場合には、演算器900
1は命令キャッシュから命令を読み出して実行する。命
令キャッシュに必要な命令が格納されていない場合、す
なわち命令キャッシュがミスした場合には、外部メモリ
9004から必要な命令を命令キャッシュへ転送する。
この動作をキャッシュフィルと呼ぶ。キャッシュフィル
を行っている間は、演算器9001に対して必要な命令
を供給できないため、演算器9001は命令の実行を停
止する。この転送が完了したあと、演算器9001は命
令の実行を再開する。
The instruction to be executed is the instruction cache unit 1
If the instruction cache is stored in the instruction cache, that is, if the instruction cache is hit, the arithmetic unit 900
1 reads and executes an instruction from the instruction cache. When a necessary instruction is not stored in the instruction cache, that is, when the instruction cache misses, the necessary instruction is transferred from the external memory 9004 to the instruction cache.
This operation is called cache fill. While the cache fill is being performed, the necessary instruction cannot be supplied to the arithmetic unit 9001, and the arithmetic unit 9001 stops executing the instruction. After this transfer is completed, the arithmetic unit 9001 restarts the execution of the instruction.

【0011】命令キャッシュユニット1は、キャッシュ
制御回路2とキャッシュデータパス3から構成されてい
る。
The instruction cache unit 1 comprises a cache control circuit 2 and a cache data path 3.

【0012】キャッシュ制御回路2の内部構成を図2に
示す。キャッシュ制御回路2は、制御信号生成回路2
3、アドレス生成回路24、キャッシュ制御ステートマ
シン21、LRUメモリ20、モードレジスタ22から
構成されている。
The internal structure of the cache control circuit 2 is shown in FIG. The cache control circuit 2 is a control signal generation circuit 2
3, an address generation circuit 24, a cache control state machine 21, an LRU memory 20, and a mode register 22.

【0013】制御信号生成回路23は、キャッシュデー
タパス3内にあるキャッシュを構成する各メモリ30
a、30b、31a、31bに対する制御信号1002
a−d、1003a−d生成などを行う回路である。
The control signal generation circuit 23 is provided with each memory 30 constituting the cache in the cache data path 3.
control signal 1002 for a, 30b, 31a, 31b
This is a circuit for performing a-d, 1003a-d generation, and the like.

【0014】アドレス生成回路24は、キャッシュメモ
リをアクセスするためのアドレス1004の生成などを
行う回路である。ここで生成されたアドレス1004
は、キャッシュミス時に外部メモリをアクセスするため
のアドレスとしても使用される。キャッシュ制御ステー
トマシン21は、内部にステートマシンを持ち、キャッ
シュミス時のキャッシュフィル動作などの制御を行う。
The address generation circuit 24 is a circuit for generating an address 1004 for accessing the cache memory. Address generated here 1004
Is also used as an address for accessing the external memory in the case of a cache miss. The cache control state machine 21 has a state machine inside and controls the cache fill operation at the time of a cache miss.

【0015】LRUメモリ20は1ビット幅×1024
エントリーのメモリであり、対応するキャッシュエント
リーにおいてどちらのウェイが最後に使用されたかを表
す情報を格納する。本キャッシュが2ウェイキャッシュ
として動作しているときには、キャッシュフィル時に上
書するウェイの決定にLRUメモリ20の内容を使用す
る。キャッシュフィル対象のエントリーに対応するLR
Uメモリ20の内容が0ならばウェイ0が最後に使用さ
れたウェイであり、ウェイ1が上書の対象となる。LR
Uメモリ20の内容が1ならばウェイ1が最後に使用さ
れたエントリーであり、ウェイ0が上書の対象となる。
The LRU memory 20 has a 1-bit width × 1024.
A memory for entries, which stores information indicating which way was last used in the corresponding cache entry. When this cache is operating as a 2-way cache, the contents of the LRU memory 20 are used to determine the way to be overwritten when the cache is filled. LR corresponding to the entry to be cache-filled
If the content of the U memory 20 is 0, the way 0 is the last used way, and the way 1 is the target of overwriting. LR
If the content of the U memory 20 is 1, way 1 is the last used entry, and way 0 is the target of overwriting.

【0016】モードレジスタ22は、キャッシュの動作
を指定する1ビットのレジスタである。レジスタ22の
内容が0ならばダイレクトマップキャッシュモードであ
り、1ならば2ウェイキャッシュモードである。モード
レジスタ22の内容は、モード信号1001により他の
回路へ通知される。モードレジスタ22は、プロセッサ
の命令によって、変更することが可能である。
The mode register 22 is a 1-bit register that specifies the cache operation. If the content of the register 22 is 0, the direct map cache mode is set, and if the content of the register 22 is 1, the 2-way cache mode is set. The contents of the mode register 22 are notified to other circuits by the mode signal 1001. The mode register 22 can be changed by an instruction of the processor.

【0017】キャッシュデータパス3の内部構成を図3
に示す。キャッシュデータパス3は、タグメモリ30
a、30b、データメモリ31a、31b、キャッシュ
のヒット判定を行うヒット判定回路32、各ウェイから
読み出した命令を選択するためのセレクタ33から構成
されている。
The internal structure of the cache data path 3 is shown in FIG.
Shown in. The cache data path 3 is the tag memory 30.
a, 30b, data memories 31a, 31b, a hit determination circuit 32 for determining a cache hit, and a selector 33 for selecting an instruction read from each way.

【0018】タグメモリ30a、30bは、どちらも1
9ビット幅×1024エントリーのメモリであり、各エ
ントリーには18ビットのタグアドレスと1ビットの有
効ビットが格納される。これらの値は、各ウェイのヒッ
ト判定に使用される。
Each of the tag memories 30a and 30b has a value of 1.
It is a memory of 9-bit width × 1024 entries, and 18-bit tag address and 1-bit valid bit are stored in each entry. These values are used for hit determination of each way.

【0019】データメモリ31a、31bは、どちらも
128ビット幅×1024エントリーのメモリであり、
各エントリーには4つの命令が格納される。メモリ一つ
あたりの容量は16キロバイトとなり、これを2つ搭載
することで、キャッシュの総容量は32キロバイトとな
る。
Each of the data memories 31a and 31b is a memory of 128-bit width × 1024 entries,
Four instructions are stored in each entry. The capacity of one memory is 16 kilobytes, and by installing two of these, the total capacity of the cache is 32 kilobytes.

【0020】メモリ30a、30b、31a、31bに
は、アドレス端子、データ入力端子、データ出力端子、
チップセレクト端子、ライト端子、およびクロック端子
がある。クロックに関しては、図が煩雑になるのを避け
るため、図中には表記しない。またクロックの使用は一
般のプロセッサでも自明のことなので、以下の文章でも
特に必要が無い限り説明を省略する。メモリ30a、3
0b、31a、31bのアドレス端子には、キャッシュ
アクセスアドレス1004のビット13からビット4
(以下、キャッシュアクセスアドレス1004[13:
4]のように表現する)が接続される。ビット位置は、
数が大きいほうがMSB側(上位側)である。メモリ3
0のデータ入力端子には、キャッシュアクセスアドレス
1004[31:14]および有効ビット書き込みデー
タ1007が接続される。通常のキャッシュフィルの際
は、書き込む有効ビット1007の値は常に1である。
キャッシュの無効化を行う際には、有効ビットへの書き
込みデータ1007を0にする。
The memories 30a, 30b, 31a and 31b have address terminals, data input terminals, data output terminals,
There are a chip select terminal, a write terminal, and a clock terminal. Clocks are not shown in the figure to avoid making the figure complicated. Since the use of the clock is obvious even in a general processor, the description thereof will be omitted even in the following sentences unless otherwise necessary. Memory 30a, 3
The address terminals 0b, 31a, and 31b have bits 13 to 4 of the cache access address 1004.
(Hereinafter, the cache access address 1004 [13:
4]) is connected. The bit position is
The larger number is on the MSB side (upper side). Memory 3
A cache access address 1004 [31:14] and valid bit write data 1007 are connected to the 0 data input terminal. During normal cache fill, the value of the valid bit 1007 to be written is always 1.
When invalidating the cache, the write data 1007 to the valid bit is set to 0.

【0021】メモリの動作はクロックの立ち上がり時
の、チップセレクト端子およびライト端子の状態によっ
て決定される。この関係を図4に示す。チップセレクト
端子への入力信号が0の時には、メモリに対するアクセ
スは行われず、メモリの消費電力はほとんど0となる。
チップセレクト端子への入力信号が1の時には、ライト
端子への入力信号が1ならばメモリに対する書き込みが
行われる。0ならばメモリからの読み出しが実行され
る。各メモリのそれぞれの端子に接続される信号は、図
5のとおりである。
The operation of the memory is determined by the states of the chip select terminal and the write terminal when the clock rises. This relationship is shown in FIG. When the input signal to the chip select terminal is 0, the memory is not accessed and the power consumption of the memory is almost 0.
When the input signal to the chip select terminal is 1, and the input signal to the write terminal is 1, writing to the memory is performed. If 0, reading from the memory is executed. The signals connected to the respective terminals of each memory are as shown in FIG.

【0022】ヒット判定回路32は、キャッシュアクセ
スアドレス1004およびタグメモリ30a、30bか
ら読み出したタグアドレス2200a、2200bと有
効ビット2201a、2201bを用いてキャッシュの
ヒット判定を行う。ヒット判定回路32は、2つのウェ
イヒット判定回路342a、342b、フリップフロッ
プ341、OR回路343から構成される。フリップフ
ロップ341はメモリからの出力データが入力アドレス
よりも1クロック遅れて出てくるため、それらのタイミ
ングを合わせるために使用される。
The hit determination circuit 32 makes a cache hit determination using the cache access address 1004, the tag addresses 2200a and 2200b read from the tag memories 30a and 30b, and the valid bits 2201a and 2201b. The hit determination circuit 32 includes two way hit determination circuits 342a and 342b, a flip-flop 341, and an OR circuit 343. The flip-flop 341 is used to match the timing of output data from the memory, which comes out one clock later than the input address.

【0023】ウェイヒット判定回路342a、342b
は、キャッシュアクセスアドレス1004をフリップフ
ロップ341で1クロック遅らせて作ったアドレス21
00と、タグメモリ30a、30bの出力から、そのウ
ェイがヒットしたかどうかを判定する回路である(実行
する命令が、一方のウェイにすでに格納されている場
合、そのウェイがヒットしたと言う)。ウェイヒット判
定回路342a、342bには、キャッシュモード信号
1001が入力され、これによってヒット判定の手法が
切り替えられる。一方のウェイがヒットしたとき、対応
するウェイヒット判定回路の出力は1となる。ウェイ0
またはウェイ1がヒットしたとき、命令キャッシュはヒ
ットしたことになる。命令キャッシュがヒットした場合
には、実行する命令はメモリ31aまたはメモリ31b
に格納されていることになる。ここで、ウェイ1のヒッ
ト信号2400bが1すなわちウェイ1がヒットしてい
るならば、データメモリ31bに実行する命令が入って
いることになる。逆に命令キャッシュがヒットしている
にもかかわらず、ウェイ1のヒット信号2400bが0
すなわちウェイ1がヒットしていないならば、ウェイ0
に実行する命令が入っていることになる。そこで、ウェ
イ1のヒット信号2400bによりセレクタ33を制御
することにより、実行する命令を信号1200へ出力す
ることが可能となる。信号1200は演算器9001へ
接続されている。
Way hit determination circuits 342a and 342b
Is the address 21 created by delaying the cache access address 1004 by 1 clock in the flip-flop 341.
00 and the output of the tag memories 30a and 30b, it is a circuit for judging whether or not the way is hit (if the instruction to be executed is already stored in one way, it is said that the way is hit). . The cache mode signal 1001 is input to the way hit determination circuits 342a and 342b, whereby the hit determination method is switched. When one way is hit, the output of the corresponding way hit determination circuit becomes 1. Way 0
Or when the way 1 is hit, the instruction cache is hit. When the instruction cache is hit, the instruction to be executed is the memory 31a or the memory 31b.
Will be stored in. Here, if the hit signal 2400b of the way 1 is 1, that is, the way 1 is hit, it means that the data memory 31b contains an instruction to be executed. Conversely, the hit signal 2400b of way 1 is 0 even though the instruction cache is hit.
That is, if way 1 is not hit, way 0
Will contain the instructions to execute. Therefore, the instruction to be executed can be output to the signal 1200 by controlling the selector 33 with the hit signal 2400b of the way 1. The signal 1200 is connected to the calculator 9001.

【0024】命令キャッシュがヒットしなかった場合に
は、キャッシュヒット信号1005により、そのことが
キャッシュ制御ステートマシン21へ通知され、キャッ
シュ制御ステートマシン21はキャッシュのフィル処理
を開始する。
When the instruction cache does not hit, the cache hit signal 1005 notifies the cache control state machine 21 of the fact, and the cache control state machine 21 starts the cache fill processing.

【0025】次に、ウェイヒット判定回路342aの内
部構成を図6に示す。ウェイヒット判定回路342bの
内部も同じ構成である。比較器3420の出力2500
は、入力2100と入力2200aの値が全て等しい場
合にのみ1となり、1ビットでも等しくなければ0とな
る。比較器3422の出力2502は、入力2100と
入力2210aの値が等しければ1となり、等しくない
ときには0となる。OR回路3423の出力2503
は、入力2502または入力1001が1ならば1とな
り、両者がともに0の場合にのみ0となる。ウェイヒッ
ト判定回路342aの出力は信号2500、信号220
1a、信号2503が全て1の場合のみ1すなわちウェ
イヒットとなる。
Next, FIG. 6 shows the internal structure of the way hit determination circuit 342a. The way hit determination circuit 342b has the same configuration. Output 2500 of comparator 3420
Becomes 1 only when the values of the input 2100 and the input 2200a are all the same, and becomes 0 when 1 bit is not the same. The output 2502 of the comparator 3422 is 1 when the values of the input 2100 and the input 2210a are equal, and is 0 when they are not equal. Output 2503 of OR circuit 3423
Becomes 1 if the input 2502 or the input 1001 is 1, and becomes 0 only when both are 0. The outputs of the way hit determination circuit 342a are signals 2500 and 220.
1a, a way hit only when all the signals 2503 are 1.

【0026】次に各モードにおける動作を説明する。Next, the operation in each mode will be described.

【0027】まず、モード信号が1の場合、すなわち2
ウェイキャッシュモード時の動作を説明する。
First, when the mode signal is 1, that is, 2
The operation in the way cache mode will be described.

【0028】このモードでは、32キロバイトのキャッ
シュが、1ウェイあたり16キロバイトの容量を持つ2
ウェイキャッシュとして扱われる。プログラムを実行す
る際には、命令キャッシュから命令を読み出す必要があ
る。このシーケンスを以下に説明する。まず、アドレス
生成回路24により、キャッシュアクセスアドレス10
04が生成され、キャッシュデータパス3へ送られる。
このとき、キャッシュアクセスアドレス1004[1
4]は制御信号生成回路23にも送られる。
In this mode, a 32 kilobyte cache has a capacity of 16 kilobytes per way.
Treated as way cache. When executing a program, it is necessary to read the instruction from the instruction cache. This sequence will be described below. First, the address generation circuit 24 causes the cache access address 10
04 is generated and sent to the cache data path 3.
At this time, the cache access address 1004 [1
4] is also sent to the control signal generation circuit 23.

【0029】制御信号生成回路は、図7の表に従って動
作する。この表において、XはDon‘t careを
示す。2ウェイキャッシュモードでリードアクセスを行
う際には、キャッシュアクセスアドレス1004[1
4]の値にかかわらず、チップセレクト信号1002
a、1002b、1002c、1002dの全てが1に
なる。この結果、タグメモリ30a、30bおよびデー
タメモリ31a、31bの全てに対してリードアクセス
が行われる。リード対象となるエントリーはキャッシュ
アクセスアドレス1004[13:4]により指定され
る。
The control signal generation circuit operates according to the table of FIG. In this table, X indicates Don't care. When performing read access in the 2-way cache mode, the cache access address 1004 [1
4] regardless of the value of 4]
All of a, 1002b, 1002c, and 1002d become 1. As a result, read access is performed to all of the tag memories 30a and 30b and the data memories 31a and 31b. The entry to be read is specified by the cache access address 1004 [13: 4].

【0030】タグメモリ30a、30bからのリードデ
ータ2200a、2200b、2201a、2201b
はヒット判定回路32へ送られる。このモードでは、キ
ャッシュモード信号1001の値は1であるため、OR
回路3423の出力である信号2503の値は常に1と
なる。このため、キャッシュアクセスアドレス1004
[31:14]を1クロック遅らせた信号2100[3
1:14]とタグメモリ30aから読み出したタグアド
レス2200aが等しく、かつ、タグメモリ30aから
読み出した有効信号2201aが1であればウェイ0が
ヒットしたと判断される。同様に、信号2100とタグ
アドレス2200bが等しく、かつ、有効信号2201
bが1であればウェイ1がヒットしたと判断される。ウ
ェイ0またはウェイ1のどちらががヒットしていれば、
命令キャッシュはヒットしたことになる。ウェイ1のヒ
ット信号はセレクタ33へ送られ、ウェイ1がヒットし
ていれば、ウェイ1のデータメモリ31bの出力220
2bが命令キャッシュの出力1200として演算器90
01へ送られる。ウェイ1がヒットしていなければ、ウ
ェイ0のデータメモリ31aの出力2202aが命令キ
ャッシュの出力1200として演算器9001へ送られ
る。命令キャッシュがヒットしていれば、命令キャッシ
ュの出力1200には、演算器9001が実行すべき命
令が含まれていることになり、演算器9001はこれを
実行する。命令キャッシュがヒットしていない場合に
は、キャッシュヒット信号1005が0になり、キャッ
シュ制御ステートマシン21は、命令キャッシュのフィ
ル処理を開始する。この処理では、プロセッサ内部バス
9005を介してメモリ制御ユニット9003に対し
て、外部メモリ9004からの命令読み込み要求を発行
する。メモリ制御ユニット9003は外部メモリ900
4から読み込んだ命令をプロセッサ内部バス9005を
介して命令キャッシュユニット1へ送る。命令キャッシ
ュユニット1では、送られてきた命令をデータメモリ3
1aまたはデータメモリ31bへ書き込む。この時にど
ちらのメモリに書き込むかは、図7の表に記載されてい
るように、LRUメモリ20の内容によって決定され
る。
Read data 2200a, 2200b, 2201a, 2201b from the tag memories 30a, 30b.
Is sent to the hit determination circuit 32. In this mode, the value of the cache mode signal 1001 is 1, so the OR
The value of the signal 2503 which is the output of the circuit 3423 is always 1. Therefore, the cache access address 1004
Signal 2100 [3:14:31] delayed by 1 clock
1:14] is equal to the tag address 2200a read from the tag memory 30a, and the valid signal 2201a read from the tag memory 30a is 1, it is determined that the way 0 is hit. Similarly, the signal 2100 and the tag address 2200b are equal, and the valid signal 2201
If b is 1, it is determined that way 1 has been hit. If either way 0 or way 1 is hit,
The instruction cache is hit. The hit signal of the way 1 is sent to the selector 33, and if the way 1 is hit, the output 220 of the data memory 31b of the way 1
2b is an arithmetic unit 90 as an output 1200 of the instruction cache
Sent to 01. If the way 1 is not hit, the output 2202a of the data memory 31a of the way 0 is sent to the arithmetic unit 9001 as the output 1200 of the instruction cache. If the instruction cache is hit, the instruction cache output 1200 contains an instruction to be executed by the arithmetic unit 9001, and the arithmetic unit 9001 executes the instruction. When the instruction cache is not hit, the cache hit signal 1005 becomes 0, and the cache control state machine 21 starts the instruction cache fill processing. In this processing, a command read request from the external memory 9004 is issued to the memory control unit 9003 via the processor internal bus 9005. The memory control unit 9003 is an external memory 900
4 is sent to the instruction cache unit 1 via the processor internal bus 9005. In the instruction cache unit 1, the sent instructions are stored in the data memory 3
1a or data memory 31b. Which memory is to be written at this time is determined by the contents of the LRU memory 20 as described in the table of FIG.

【0031】次にモード信号が0の場合、すなわちダイ
レクトマップキャッシュモード時の動作を説明する このモードでは、32キロバイトのキャッシュは、1ウ
ェイあたり32キロバイトの容量を持つ1ウェイキャッ
シュすなわちダイレクトマップキャッシュとして扱われ
る。プログラムを実行する際には、命令キャッシュから
命令を読み出す必要がある。このシーケンスを以下に説
明する。まず、アドレス生成回路24により、キャッシ
ュアクセスアドレス1004が生成され、キャッシュデ
ータパス3へ送られる。このとき、キャッシュアクセス
アドレス1004[14]は制御信号生成回路23にも
送られる。制御信号生成回路は、図7の表に従って動作
する。ダイレクトマップキャッシュモードでリードアク
セスを行う際には、キャッシュアクセスアドレス100
4[14]の値によって、1になるチップセレクト信号
が異なる。以下、キャッシュアクセスアドレス1004
[14]が0の時を例に動作を説明する。この場合、チ
ップセレクト信号1002a、1002cが1になるが
チップセレクト信号1002b、1002dは0であ
る。この場合には、ウェイ0のタグメモリ30aとデー
タメモリ31aに対してのみリードアクセスが行われ
る。タグメモリ30bとデータメモリ31bはアクセス
しないため消費電力を抑えることができる。リード対象
となるエントリーは、キャッシュアクセスアドレス10
04[13:4]により指定される。
Next, when the mode signal is 0, that is, the operation in the direct map cache mode will be described, in this mode, the 32 kilobyte cache is a 1-way cache having a capacity of 32 kilobytes per way, that is, a direct map cache. Treated When executing a program, it is necessary to read the instruction from the instruction cache. This sequence will be described below. First, the address generation circuit 24 generates a cache access address 1004 and sends it to the cache data path 3. At this time, the cache access address 1004 [14] is also sent to the control signal generation circuit 23. The control signal generation circuit operates according to the table of FIG. When performing read access in the direct map cache mode, the cache access address 100
The chip select signal that becomes 1 differs depending on the value of 4 [14]. Below, the cache access address 1004
The operation will be described by taking the case where [14] is 0 as an example. In this case, the chip select signals 1002a and 1002c are 1, but the chip select signals 1002b and 1002d are 0. In this case, read access is performed only to the tag memory 30a and data memory 31a of way 0. Since the tag memory 30b and the data memory 31b are not accessed, power consumption can be suppressed. The entry to be read is the cache access address 10
04 [13: 4].

【0032】タグメモリ30aからのリードデータ22
00a、2201bはヒット判定回路32へ送られる。
このもーどでは、キャッシュモード信号1001の値は
0であるため信号2503の値は比較器3422の出力
と等しくなる。比較器3422の入力2210a、ウェ
イ0側(2210a)では0にウェイ1側(2210
b)では1に固定されている。この説明では、キャッシ
ュアクセスアドレス1004[14]が0の場合につい
て考えているので、ウェイ0側では比較器3422の出
力は1、ウェイ1側では比較器3422の出力は0とな
る。すなわちウェイ0側では、キャッシュアクセスアド
レス1004[31:14]を1クロック遅らせた信号
2100[31:14]とタグメモリ30aから読み出
したタグアドレス2200aが等しく、かつ、タグメモ
リ30aから読み出した有効信号2201aが1であれ
ばウェイ0がヒットしたと判断される。しかし、ウェイ
1側では比較器3422の出力2503は0であるた
め、ウェイ1側は常にヒットしていないと判断される。
ウェイ1のヒット信号はセレクタ33へ送られるが、そ
の値は0であるため、常にウェイ0のデータメモリ31
aの出力2202aが命令キャッシュの出力1200と
して演算器9001へ送られる。命令キャッシュがヒッ
トしなかった場合には、2ウェイキャッシュモードと同
様に命令キャッシュのフィル処理を開始する。外部メモ
リ9004から読み込んだ命令は、データメモリ31a
またはデータメモリ31bに書き込まれることになる
が、ここでは、キャッシュアクセスアドレス1004
[14]が0の場合について考えているので、図6の表
に従って、ウェイ0側のデータメモリ31aへ書き込ま
れる。
Read data 22 from the tag memory 30a
00a and 2201b are sent to the hit determination circuit 32.
In this mode, since the value of the cache mode signal 1001 is 0, the value of the signal 2503 becomes equal to the output of the comparator 3422. On the input 2210a of the comparator 3422, the way 0 side (2210a) is set to 0, the way 1 side (2210a).
It is fixed at 1 in b). In this description, since the case where the cache access address 1004 [14] is 0 is considered, the output of the comparator 3422 is 1 on the way 0 side and the output of the comparator 3422 is 0 on the way 1 side. That is, on the way 0 side, the signal 2100 [31:14] obtained by delaying the cache access address 1004 [31:14] by one clock is equal to the tag address 2200a read from the tag memory 30a, and the valid signal read from the tag memory 30a. If 2201a is 1, it is determined that the way 0 is hit. However, since the output 2503 of the comparator 3422 is 0 on the way 1 side, it is determined that the way 1 side does not always hit.
The hit signal of the way 1 is sent to the selector 33, but since its value is 0, the data memory 31 of the way 0 is always present.
The output 2202a of a is sent to the arithmetic unit 9001 as the output 1200 of the instruction cache. If the instruction cache is not hit, the instruction cache fill process is started as in the 2-way cache mode. The instruction read from the external memory 9004 is the data memory 31a.
Alternatively, it is written in the data memory 31b, but here, the cache access address 1004
Since the case where [14] is 0 is considered, it is written in the data memory 31a on the way 0 side according to the table of FIG.

【0033】以上、キャッシュアクセスアドレス100
4[14]が0の場合を例に説明したが、キャッシュア
クセスアドレス1004[14]が1の場合には、同様
の原理でウェイ1が使用されることになる。
As described above, the cache access address 100
Although the case where 4 [14] is 0 has been described as an example, when the cache access address 1004 [14] is 1, way 1 is used according to the same principle.

【0034】このような構成にすることで、プログラム
実行中にモードレジスタ22の値を変更することによ
り、動的にダイレクトマップモードと2ウェイモードを
切り替えることが可能となる。モードレジスタ22の変
更は、モードレジスタ変更命令をプロセッサ9000の
命令セットに追加し、その命令を実行することでも実現
可能である。また、本実施例の方式でキャッシュを制御
すれば、モードレジスタ22変更時にキャッシュの初期
化を行わなくとも、正しく動作させることが可能とな
る。
With such a configuration, it is possible to dynamically switch between the direct map mode and the 2-way mode by changing the value of the mode register 22 during program execution. The change of the mode register 22 can also be realized by adding a mode register change instruction to the instruction set of the processor 9000 and executing the instruction. Further, by controlling the cache according to the method of this embodiment, it becomes possible to operate the cache correctly when the mode register 22 is changed without initializing the cache.

【0035】また、本実施例ではダイレクトマップ(1
ウェイ)と2ウェイの切り換えについて説明したが、本
発明はこの組み合わせに限定されるものではない。ダイ
レクトマップと4ウェイや2ウェイと4ウェイなどいろ
いろな組み合わせを実現することが可能である。
In this embodiment, the direct map (1
Switching between two ways has been described, but the present invention is not limited to this combination. Various combinations such as direct map and 4-way, 2-way and 4-way can be realized.

【0036】本発明の他の実施例を図8を用いて説明す
る。本実施例ではウェイ1のウェイヒット判定回路34
2bとセレクタ33の間にセレクタ350が付加されて
いる。モード信号1001は、セレクタ350のセレク
ト信号として使用され、モード信号1001が0すなわ
ちダイレクトマップモードならば、キャッシュアクセス
アドレス1004[14]を1クロック遅らせた信号2
100[14]が信号2600へ出力される。モード信
号1001が1すなわち2ウェイモードならば、信号2
400bの内容が信号2600へ出力される。
Another embodiment of the present invention will be described with reference to FIG. In the present embodiment, the way hit determination circuit 34 for way 1
A selector 350 is added between 2b and the selector 33. The mode signal 1001 is used as a select signal for the selector 350. If the mode signal 1001 is 0, that is, the direct map mode, the cache access address 1004 [14] is delayed by one clock signal 2
100 [14] is output to the signal 2600. If the mode signal 1001 is 1 or 2 way mode, signal 2
The contents of 400b are output on signal 2600.

【0037】2ウェイキャッシュモードでは、ウェイ1
のヒット判定結果2400bを用いてセレクタ33を切
り替えるため、タグメモリ30bを起点とするパスがタ
イミング的に厳しいパスになることがある。このパスが
チップ内の最悪パスである場合には、このパスの動作速
度により、チップの最大動作周波数が制限されてしま
う。しかし、モードをダイレクトマップモードにする
と、セレクタ33の切り換え信号2600の値はウェイ
1のヒット判定結果2400bに依存しなくなるため、
セレクタ33の切り換え信号2600を生成するパスの
動作速度は、2ウェイモード時に比べて改善できる。こ
の場合、ダイレクトマップモードでは2ウェイキャッシ
ュモードよりもチップの最大動作周波数を高くすること
が可能となる。チップの動作周波数を変えない場合に
は、ダイレクトマップモードでは2ウェイキャッシュモ
ードよりも低い電源電圧で動作させることが可能とな
る。
In the 2-way cache mode, the way 1
Since the selector 33 is switched using the hit determination result 2400b, the path starting from the tag memory 30b may be a severe path in terms of timing. If this path is the worst path in the chip, the operating speed of this path limits the maximum operating frequency of the chip. However, when the mode is set to the direct map mode, the value of the switching signal 2600 of the selector 33 does not depend on the hit determination result 2400b of the way 1,
The operation speed of the path for generating the switching signal 2600 of the selector 33 can be improved as compared with the 2-way mode. In this case, the maximum operating frequency of the chip can be made higher in the direct map mode than in the 2-way cache mode. When the operating frequency of the chip is not changed, the direct map mode can be operated at a lower power supply voltage than the 2-way cache mode.

【0038】[0038]

【発明の効果】本発明を使用することにより、プログラ
ム実行中に使用可能なキャッシュの総容量を変えること
なく、キャッシュのウェイ数を変更することが可能とな
る。ウェイ数を減らした場合には、キャッシュのヒット
率は低下するものの、同時にアクセスするメモリ数が減
るため消費電力を削減することができる。また、ウェイ
数を減らしても使用可能なキャッシュの総容量は減らな
いため、ヒット率低下を小さく抑えることができる。
By using the present invention, it is possible to change the number of ways of the cache without changing the total capacity of the cache that can be used during program execution. When the number of ways is reduced, the hit rate of the cache is reduced, but the number of simultaneously accessed memories is reduced, so that power consumption can be reduced. Further, since the total usable cache capacity does not decrease even if the number of ways is reduced, it is possible to suppress a decrease in hit rate.

【0039】このようにプログラム実行中に、キャッシ
ュのウェイ数を変更することで、プログラムの処理性能
と消費電力のトレードオフをより最適値に近づけること
が可能となる。
As described above, by changing the number of ways of the cache during the execution of the program, the trade-off between the processing performance of the program and the power consumption can be made closer to the optimum value.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明を使用したプロセッサのブロック図の一
例。
FIG. 1 is an example of a block diagram of a processor using the present invention.

【図2】キャッシュ制御回路の構成例。FIG. 2 shows a configuration example of a cache control circuit.

【図3】キャッシュデータパスの構成例。FIG. 3 shows a configuration example of a cache data path.

【図4】メモリの動作を示す表。FIG. 4 is a table showing memory operations.

【図5】各メモリに接続される信号の対応を示す表。FIG. 5 is a table showing correspondence of signals connected to each memory.

【図6】ウェイヒット判定回路の構成例。FIG. 6 is a configuration example of a way hit determination circuit.

【図7】各メモリに対する制御信号の生成方法を示した
表。
FIG. 7 is a table showing a method of generating a control signal for each memory.

【図8】キャッシュデータパスの別の構成例。FIG. 8 shows another configuration example of the cache data path.

【符号の説明】[Explanation of symbols]

1…命令キャッシュユニット、2…キャッシュ制御回
路、3…キャッシュデータパス、20…LRUメモリ、
21…キャッシュ制御ステートマシン、22…モードレ
ジスタ、23…制御信号生成回路、24…アドレス生成
回路、30a…タグメモリ(ウェイ0)、30b…タグ
メモリ(ウェイ1)、31a…データメモリ(ウェイ
0)、31b…データメモリ(ウェイ1)、32…ヒッ
ト判定回路、33…セレクタ、341…フリップフロッ
プ、342a…ウェイヒット判定回路(ウェイ0)、3
42b…ウェイヒット判定回路(ウェイ1)、343…
OR回路、350…セレクタ、3420…比較器、34
22…比較器、3423…OR回路、3423…AND
回路、1001…モード信号、1002a…チップセレ
クト信号(ウェイ0のタグメモリ用)、1002b…チ
ップセレクト信号(ウェイ1のタグメモリ用)、100
2c…チップセレクト信号(ウェイ0のデータメモリ
用)、1002d…チップセレクト信号(ウェイ1のデ
ータメモリ用)、1003a…ライト信号(ウェイ0の
タグメモリ用)、1003b…ライト信号(ウェイ1の
タグメモリ用)、1003c…ライト信号(ウェイ0の
データメモリ用)、1003d…ライト信号(ウェイ1
のデータメモリ用)、1004…キャッシュアクセスア
ドレス、1005…キャッシュヒット信号、1007…
有効ビット書き込みデータ、9000…プロセッサ、9
001…演算器、9002…データキャッシュユニッ
ト、9003…メモリ制御ユニット…9004、外部メ
モリ、9005…プロセッサ内部バス。
1 ... Instruction cache unit, 2 ... Cache control circuit, 3 ... Cache data path, 20 ... LRU memory,
21 ... Cache control state machine, 22 ... Mode register, 23 ... Control signal generation circuit, 24 ... Address generation circuit, 30a ... Tag memory (way 0), 30b ... Tag memory (way 1), 31a ... Data memory (way 0) ), 31b ... Data memory (way 1), 32 ... Hit determination circuit, 33 ... Selector, 341 ... Flip-flop, 342a ... Way hit determination circuit (way 0), 3
42b ... Way hit determination circuit (way 1), 343 ...
OR circuit, 350 ... Selector, 3420 ... Comparator, 34
22 ... Comparator, 3423 ... OR circuit, 3423 ... AND
Circuit, 1001 ... Mode signal, 1002a ... Chip select signal (for tag memory of way 0), 1002b ... Chip select signal (for tag memory of way 1), 100
2c ... Chip select signal (for data memory of way 0), 1002d ... Chip select signal (for data memory of way 1), 1003a ... Write signal (for tag memory of way 0), 1003b ... Write signal (tag of way 1) Memory signal, 1003c ... Write signal (for data memory of way 0), 1003d ... Write signal (way 1)
Data access memory), 1004 ... Cache access address, 1005 ... Cache hit signal, 1007 ...
Valid bit write data, 9000 ... Processor, 9
001 ... arithmetic unit, 9002 ... data cache unit, 9003 ... memory control unit ... 9004, external memory, 9005 ... processor internal bus.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 西岡 清和 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 Fターム(参考) 5B005 JJ21 MM01 NN31 TT02 UU41   ─────────────────────────────────────────────────── ─── Continued front page    (72) Inventor Kiyokazu Nishioka             1099 Ozenji, Aso-ku, Kawasaki City, Kanagawa Prefecture             Ceremony company Hitachi Systems Development Laboratory F term (reference) 5B005 JJ21 MM01 NN31 TT02 UU41

Claims (13)

【特許請求の範囲】[Claims] 【請求項1】 複数のウェイから構成されるセットアソ
シアティブ方式のキャッシュにおいて、通常のセットア
ソシアティブ方式のキャッシュとして動作するモードの
他に、キャッシュに対するアクセスアドレスの一部を用
いてアクセス対象のウェイを指定するモードを設けたこ
とを特徴とするキャッシュメモリ装置。
1. In a set associative cache composed of a plurality of ways, a way to be accessed is specified by using a part of an access address to the cache in addition to a mode of operating as a normal set associative cache. A cache memory device provided with a mode for performing.
【請求項2】 キャッシュに対するアクセスアドレスの
一部を用いてアクセス対象のウェイを指定するモードで
は、アクセス対象とならないウェイのメモリを通常のメ
モリアクセスを行った場合よりも消費電力が少なくなる
方法で動作させることを特徴とした請求項1記載のキャ
ッシュメモリ装置。
2. In a mode in which a way to be accessed is specified by using a part of an access address to a cache, power consumption is reduced as compared with a case where a memory of a way which is not to be accessed is accessed normally. The cache memory device according to claim 1, wherein the cache memory device is operated.
【請求項3】 請求項1記載の2つのモードのどちらを
使用するかを指定するための情報を格納する記憶領域を
搭載したことを特徴としたキャッシュメモリ装置。
3. A cache memory device having a storage area for storing information for designating which one of the two modes according to claim 1 is to be used.
【請求項4】 キャッシュに対するアクセスアドレスの
一部を用いてアクセス対象のウェイを指定するモードに
おいて、アクセス対象に指定されるウェイの数が1個で
あることを特徴とした請求項1記載のキャッシュメモリ
装置。
4. The cache according to claim 1, wherein in a mode in which a way to be accessed is designated by using a part of an access address to the cache, the number of ways to be designated to be accessed is one. Memory device.
【請求項5】 キャッシュに対するアクセスアドレスの
一部を用いてアクセス対象のウェイを指定するモードに
おいて、アクセス対象に指定されるウェイの数が2個以
上であることを特徴とした請求項1記載のキャッシュメ
モリ装置。
5. The mode according to claim 1, wherein in a mode in which a way to be accessed is specified by using a part of an access address to a cache, the number of ways specified to be accessed is two or more. Cache memory device.
【請求項6】 キャッシュに対するアクセスアドレスの
一部を用いてアクセス対象のウェイを指定するモードで
は、通常のセットアソシアティブ方式のキャッシュとし
て動作するモードよりもプロセッサの動作周波数を高く
設定できることを特徴とした請求項1記載のキャッシュ
メモリ装置。
6. In a mode in which a way to be accessed is specified by using a part of an access address to the cache, the operating frequency of the processor can be set higher than that in a mode operating as a normal set associative cache. The cache memory device according to claim 1.
【請求項7】 キャッシュに対するアクセスアドレスの
一部を用いてアクセス対象のウェイを指定するモードで
は、通常のセットアソシアティブ方式のキャッシュとし
て動作するモードよりもプロセッサの動作電圧を低く設
定できることを特徴とした請求項1記載のキャッシュメ
モリ装置。
7. The operating voltage of the processor can be set lower in a mode in which a way to be accessed is designated by using a part of an access address to the cache than in a mode operating as a normal set associative cache. The cache memory device according to claim 1.
【請求項8】 請求項1記載の2つのモードをプログラ
ム実行中に動的に切り替えられることを特徴としたキャ
ッシュメモリ装置。
8. A cache memory device, wherein the two modes according to claim 1 can be dynamically switched during program execution.
【請求項9】 請求項1記載の2つのモードをプログラ
ム実行中に動的に切り替える時に、キャッシュを初期化
する必要がないことを特徴とした請求項8記載のキャッ
シュメモリ装置。
9. A cache memory device according to claim 8, wherein it is not necessary to initialize the cache when dynamically switching between the two modes according to claim 1 during program execution.
【請求項10】 請求項1から9記載のキャッシュメモ
リ装置を搭載したプロセッサ。
10. A processor equipped with the cache memory device according to claim 1.
【請求項11】 請求項3記載の記憶領域を変更するた
めの命令を備えたプロセッサ。
11. A processor comprising instructions for modifying a storage area according to claim 3.
【請求項12】 請求項3記載の記憶領域を変更する処
理を含んだプログラム。
12. A program including a process for changing a storage area according to claim 3.
【請求項13】 請求項10から11記載のプロセッサ
を搭載した情報処理装置。
13. An information processing apparatus equipped with the processor according to claim 10.
JP2001327105A 2001-10-25 2001-10-25 Cache memory device Pending JP2003131945A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001327105A JP2003131945A (en) 2001-10-25 2001-10-25 Cache memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001327105A JP2003131945A (en) 2001-10-25 2001-10-25 Cache memory device

Publications (1)

Publication Number Publication Date
JP2003131945A true JP2003131945A (en) 2003-05-09

Family

ID=19143374

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001327105A Pending JP2003131945A (en) 2001-10-25 2001-10-25 Cache memory device

Country Status (1)

Country Link
JP (1) JP2003131945A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008530648A (en) * 2005-02-07 2008-08-07 エヌエックスピー ビー ヴィ Data processing system and cache replacement method
US7437513B2 (en) 2004-04-30 2008-10-14 Nec Corporation Cache memory with the number of operated ways being changed according to access pattern
JP2009503700A (en) * 2005-07-29 2009-01-29 クゥアルコム・インコーポレイテッド Instruction cache with a fixed number of variable-length instructions
JP2009505306A (en) * 2005-08-22 2009-02-05 インテル・コーポレーション Dynamic memory sizing for power reduction
JP2016122474A (en) * 2016-04-05 2016-07-07 ルネサスエレクトロニクス株式会社 Data processor
JP2017503299A (en) * 2014-12-14 2017-01-26 ヴィア アライアンス セミコンダクター カンパニー リミテッド Multimode set associative cache memory that is dynamically configurable to selectively select one or more of the sets depending on the mode
JP2017503298A (en) * 2014-12-14 2017-01-26 ヴィア アライアンス セミコンダクター カンパニー リミテッド Dynamic cache replacement way selection based on address tag bits
JP2017507442A (en) * 2014-12-14 2017-03-16 ヴィア アライアンス セミコンダクター カンパニー リミテッド Multimode set associative cache memory that can be dynamically configured to be selectively assigned to all or a subset of ways depending on mode
US10180907B2 (en) 2015-08-17 2019-01-15 Fujitsu Limited Processor and method

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7437513B2 (en) 2004-04-30 2008-10-14 Nec Corporation Cache memory with the number of operated ways being changed according to access pattern
JP2008530648A (en) * 2005-02-07 2008-08-07 エヌエックスピー ビー ヴィ Data processing system and cache replacement method
JP2009503700A (en) * 2005-07-29 2009-01-29 クゥアルコム・インコーポレイテッド Instruction cache with a fixed number of variable-length instructions
JP2009505306A (en) * 2005-08-22 2009-02-05 インテル・コーポレーション Dynamic memory sizing for power reduction
JP2017503299A (en) * 2014-12-14 2017-01-26 ヴィア アライアンス セミコンダクター カンパニー リミテッド Multimode set associative cache memory that is dynamically configurable to selectively select one or more of the sets depending on the mode
JP2017503298A (en) * 2014-12-14 2017-01-26 ヴィア アライアンス セミコンダクター カンパニー リミテッド Dynamic cache replacement way selection based on address tag bits
JP2017507442A (en) * 2014-12-14 2017-03-16 ヴィア アライアンス セミコンダクター カンパニー リミテッド Multimode set associative cache memory that can be dynamically configured to be selectively assigned to all or a subset of ways depending on 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
US10698827B2 (en) 2014-12-14 2020-06-30 Via Alliance Semiconductor Co., Ltd. Dynamic cache replacement way selection based on address tag bits
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
US10180907B2 (en) 2015-08-17 2019-01-15 Fujitsu Limited Processor and method
JP2016122474A (en) * 2016-04-05 2016-07-07 ルネサスエレクトロニクス株式会社 Data processor

Similar Documents

Publication Publication Date Title
US7899993B2 (en) Microprocessor having a power-saving instruction cache way predictor and instruction replacement scheme
US5586283A (en) Method and apparatus for the reduction of tablewalk latencies in a translation look aside buffer
US5809522A (en) Microprocessor system with process identification tag entries to reduce cache flushing after a context switch
US5826057A (en) Method for managing virtual address space at improved space utilization efficiency
KR100351504B1 (en) Method and Apparatus For Reducing Power In Cache Memories, And A Data Prcoessing System having Cache memories
US20070239960A1 (en) Data processor and IP module for data processor
JPH08328958A (en) Instruction cache as well as apparatus and method for cache memory
WO2010144832A1 (en) Partitioned replacement for cache memory
US6606684B1 (en) Multi-tiered memory bank having different data buffer sizes with a programmable bank select
US20020161976A1 (en) Data processor
JP2003131945A (en) Cache memory device
US6785770B2 (en) Data processing apparatus with a cache memory and method of using such an apparatus
US5822762A (en) Information processing device with decision circuits and partitioned address areas
JP2000082010A (en) Method and device for data processing with address conversion
US8539159B2 (en) Dirty cache line write back policy based on stack size trend information
EP1103898A2 (en) Microprocessor and memory
JP3688736B2 (en) Data memory
US20040024969A1 (en) Methods and apparatuses for managing memory
US7093148B2 (en) Microcontroller Operable in normal and low speed modes utilizing control signals for executing commands in a read-only memory during the low speed modes
US20040078550A1 (en) Multi-processor computing system having a JAVA stack machine and a RISC-based processor
US20040024970A1 (en) Methods and apparatuses for managing memory
KR19990057856A (en) Low power cache memory device
JP4034032B2 (en) Microcomputer with built-in cache
JP2778623B2 (en) Prefetch control device
JP2000267932A (en) Tag address comparing device