JP2000181792A - Cache controller - Google Patents
Cache controllerInfo
- Publication number
- JP2000181792A JP2000181792A JP10357117A JP35711798A JP2000181792A JP 2000181792 A JP2000181792 A JP 2000181792A JP 10357117 A JP10357117 A JP 10357117A JP 35711798 A JP35711798 A JP 35711798A JP 2000181792 A JP2000181792 A JP 2000181792A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- mapping
- memory
- algorithm
- address
- 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
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明はキャッシュ制御装置
に関し、特にキャッシュメモリのアドレスマッピング制
御方式に関するものである。The present invention relates to a cache control device, and more particularly to a cache memory address mapping control system.
【0002】[0002]
【従来の技術】単に1種類のマッピングアルゴリズムし
か備えていないキャッシュ制御装置においては、キャッ
シュヒット率を実機によって測定し、キャッシュヒット
率が期待値より低下した場合には、ソフトウェアに対し
て装置の使用方法を指示する程度しか対処の手段がなか
った。また、実機によるキャッシュヒット率の測定は、
全てのキャッシュアクセスパターンを網羅しているわけ
ではないので、システムによりキャッシュヒット率に格
差が発生することになる。2. Description of the Related Art In a cache control device having only one type of mapping algorithm, a cache hit ratio is measured by an actual machine. There was only a measure to cope with the method. In addition, the measurement of the cache hit rate by the actual machine
Since not all the cache access patterns are covered, a difference occurs in the cache hit ratio depending on the system.
【0003】そこで、特開平8−263376号公報に
は、予め複数のマッピングアルゴリズムを準備してお
き、キャッシュヒット率が期待値よりも低下した場合
に、現在処理中のマッピングアルゴリズムから他のアル
ゴリズムへ切換え制御を行い、この切換え処理毎にキャ
ッシュの無効化処理を行う技術が提案されている。Therefore, Japanese Patent Laid-Open Publication No. Hei 8-263376 discloses a method in which a plurality of mapping algorithms are prepared in advance, and when the cache hit rate falls below an expected value, the mapping algorithm currently being processed is switched to another algorithm. There has been proposed a technique of performing switching control and performing cache invalidation processing for each switching processing.
【0004】[0004]
【発明が解決しようとする課題】上述の特開平8−26
3376号公報に開示の、マッピングアルゴリズムを複
数有するキャッシュ制御装置の問題点は、マッピングア
ルゴリズムを切替える毎にキャッシュの無効化処理を行
っている。その理由は、異なるアクセスアドレスでもア
ドレスタグと異なるマッピングアルゴリズムで生成され
たセットアドレスとが同じ場合に、キャッシュが誤ヒッ
トすることを防ぐためである。The above-mentioned JP-A-8-26
The problem with the cache control device having a plurality of mapping algorithms disclosed in Japanese Patent No. 3376 is that the cache invalidation process is performed every time the mapping algorithm is switched. The reason for this is to prevent a cache from erroneously hitting when the address tag and the set address generated by a different mapping algorithm are the same even for different access addresses.
【0005】しかしながら、マッピングアルゴリズムを
切替える毎にキャッシュの無効化処理を行う方式では、
当該無効化処理によってキャッシュメモリアクセスの中
断が発生し、よって一定時間当りのキャッシュアクセス
可能な時間がそれだけ削減されてしまい、システムの性
能低下を招来するという欠点がある。However, in the method of invalidating the cache every time the mapping algorithm is switched,
Due to the invalidation processing, the cache memory access is interrupted, so that the time during which the cache can be accessed for a certain period of time is reduced accordingly, resulting in a decrease in system performance.
【0006】本発明の目的は、無効化処理に起因するキ
ャッシュアクセス可能時間の削減をなくして、システム
性能向上を図ったキャッシュ制御装置を提供することで
ある。[0006] It is an object of the present invention to provide a cache control device which can improve the system performance without reducing the cache access time caused by the invalidation processing.
【0007】[0007]
【課題を解決するための手段】本発明によれば、複数の
キャッシュメモリマッピングアルゴリズムを有し、ある
アルゴリズムでの処理中においてキャッシュヒット率が
期待値よりも低い場合に処理中の前記アルゴリズムを他
のアルゴリズムに切換えるようにしたキャッシュ制御装
置であって、前記アルゴリズムの切換え時に、キャッシ
ュ無効化処理をなすことなく直ちに前記アルゴリズムの
切換えをなすよう制御する制御手段を含むことを特徴と
するキャッシュ制御装置が得られる。According to the present invention, a plurality of cache memory mapping algorithms are provided, and when a cache hit ratio is lower than an expected value during processing by a certain algorithm, the algorithm being processed is replaced by another. A cache control device for switching to the algorithm described in claim 1, further comprising control means for controlling to immediately switch the algorithm without performing a cache invalidation process when the algorithm is switched. Is obtained.
【0008】また、本発明によれば、アドレスタグを格
納するタグメモリと、ブロックデータを格納するデータ
メモリと、メモリへのアクセスアドレスから互いに異な
るキャッシュメモリマッピングアルゴリズムにより前記
タグメモリ及び前記データメモリのセットアドレスとア
ドレスタグとを生成する複数のマッピングコントローラ
と、これ等複数のマッピングコントローラから出力され
るセットアドレスのいずれかを選択し前記タグメモリ及
び前記データメモリへ出力する第1のセレクタと、前記
複数のマッピングコントローラから出力されるアドレス
タグのいずれかを選択する第2のセレクタと、前記第2
のセレクタから出力されるアドレスタグと前記タグメモ
リから出力されるアドレスタグとを比較するアドレス比
較回路と、この比較結果に基づきキャッシュヒット判定
を行うヒット判定回路と、このヒット判定結果に基づき
ヒット率を計算するヒット率計算手段と、このヒット率
が期待値より低い場合に、キャッシュ無効化処理をなす
ことなく、現在処理中のアルゴリズムを他のアルゴリズ
ムに直ちに切換え前記第1及び第2のセレクタに対して
選択指示する制御手段とを含むことを特徴とするキャッ
シュ制御装置が得られる。Further, according to the present invention, a tag memory for storing an address tag, a data memory for storing block data, and a cache memory mapping algorithm different from an access address to the memory for the tag memory and the data memory. A plurality of mapping controllers for generating a set address and an address tag; a first selector for selecting one of the set addresses output from the plurality of mapping controllers and outputting the set address to the tag memory and the data memory; A second selector for selecting one of the address tags output from the plurality of mapping controllers;
An address comparison circuit for comparing an address tag output from the selector with an address tag output from the tag memory, a hit determination circuit for performing a cache hit determination based on the comparison result, and a hit ratio based on the hit determination result. And an algorithm currently being processed is immediately switched to another algorithm without performing cache invalidation processing when the hit rate is lower than an expected value, and the first and second selectors And a control means for instructing selection of the cache control device.
【0009】更に、前記キャッシュメモリマッピングア
ルゴリズムの各々の識別情報を生成するマッピンクID
生成手段と、これ等識別情報を前記制御手段の制御によ
り選択する第3のセレクタと、前記タグメモリの各セッ
トアドレス毎に前記アルゴリズムの識別情報を格納する
IDメモリと、前記第3のセレクタからの識別情報と前
記IDメモリからの識別情報とを比較して前記ヒット判
定回路に比較結果を通知するID比較回路とを含むこと
を特徴とする。Further, a mappin ID for generating identification information of each of the cache memory mapping algorithms.
Generating means, a third selector for selecting the identification information under the control of the control means, an ID memory for storing identification information of the algorithm for each set address of the tag memory, and a third selector. And an ID comparison circuit that compares the identification information of the ID memory with the identification information from the ID memory and notifies the hit determination circuit of the comparison result.
【0010】そして、前記アルゴリズムは第1〜第n
(nは2以上の整数)のアルゴリズムであり、前記制御
手段は、前記第1〜第nのアルゴリズムをこの順に順次
切換え制御することを特徴とし、また前記第nのアルゴ
リズムから前記第1のアルゴリズムへの切換え時に始め
て前記キャッシュ無効化処理をなすよう制御することを
特徴とする。[0010] The algorithm is composed of first to n-th
(N is an integer of 2 or more), wherein the control means sequentially controls the first to n-th algorithms in this order and controls the first to n-th algorithms in this order. It is characterized in that the cache invalidation process is controlled only when the mode is switched to.
【0011】本発明の作用を述べる。キャッシュメモリ
マッピングアルゴリズムの切換え時に、キャッシュ無効
化処理をなすことなく直ちにこのアルゴリズムの切換え
をなすことで、不必要なキャッシュ無効化処理をできる
だけ抑止することで、一定時間当たりのキャッシュアク
セス可能な時間を長くし、システム性能向上を可能とす
る。The operation of the present invention will be described. When the cache memory mapping algorithm is switched, this algorithm is switched immediately without performing the cache invalidation processing, so that unnecessary cache invalidation processing is suppressed as much as possible, so that the cache accessible time per fixed time can be reduced. Lengthening, and improving system performance.
【0012】[0012]
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して詳細に説明する。図1は本発明の第1
の実施の形態を示すブロック図である。本例では、キャ
ッシュ制御装置が2ウェイセットアソシアティブキャッ
シュで、4通り(第1〜第4)のマッピングアルゴリズ
ムを有している場合のブロック図である。Next, embodiments of the present invention will be described in detail with reference to the drawings. FIG. 1 shows the first embodiment of the present invention.
It is a block diagram showing an embodiment. In this example, it is a block diagram in a case where the cache control device is a two-way set associative cache and has four (first to fourth) mapping algorithms.
【0013】図1において、100は主制御装置、12
0はアドレスバス、140はデータバス、200はアド
レスレジスタ、210は第1のマッピングアルゴリズム
によりセットアドレスとタグデータとを生成するマッピ
ングコントローラA、220は第2のマッピングアルゴ
リズムによりセットアドレスとタグデータとを生成する
マッピングコントローラB、230は第3のマッピング
アルゴリズムによりセットアドレスとタグデータとを生
成するマッピングコントローラC、240は第4のマッ
ピングアルゴリズムによりセットアドレスとタグデータ
とを生成するマッピングコントローラDである。In FIG. 1, 100 is a main controller, 12
0 is an address bus, 140 is a data bus, 200 is an address register, 210 is a mapping controller A that generates a set address and tag data by a first mapping algorithm, and 220 is a set address and tag data by a second mapping algorithm. Is a mapping controller C that generates a set address and tag data by a third mapping algorithm, and 240 is a mapping controller D that generates a set address and tag data by a fourth mapping algorithm. .
【0014】また、250はセットアドレスを選択する
セレクタA、260はタグデータを選択するセレクタ
B、270は第1コンパートメントのタグデータの比較
回路A、280は第2コンパートメントのタグデータの
比較回路B、290はヒット判定回路、300はヒット
率計算手段、310はマッピングアルゴリズムコントロ
ーラ、400は第1コンパートメントのタグメモリ、4
10は第2コンパートメントのタグメモリ、420は第
1コンパートメントのデータメモリ、430は第2コン
パートメントのデータメモリである。Reference numeral 250 denotes a selector A for selecting a set address; 260, a selector B for selecting tag data; 270, a comparator A for tag data of the first compartment; and 280, a comparator B for tag data of the second compartment. 290, a hit determination circuit; 300, a hit ratio calculating means; 310, a mapping algorithm controller; 400, a tag memory of the first compartment;
10 is a tag memory of the second compartment, 420 is a data memory of the first compartment, and 430 is a data memory of the second compartment.
【0015】更に、201はアクセスアドレスデータの
ブロックアドレスフィールド、202はアクセスアドレ
スデータのブロック内アドレスフィールド、211はマ
ッピングコントローラAにより生成されたセットアドレ
ス、212はマッピングコントローラAにより生成され
たタグデータ、221はマッピングコントローラBによ
り生成されたセットアドレス、222はマッピングコン
トローラBにより生成されたタグデータ、231はマッ
ピングコントローラCにより生成されたセットアドレ
ス、232はマッピングコントローラCにより生成され
たタグデータ、241はマッピングコントローラDによ
り生成されたセットアドレス、242はマッピングコン
トローラDにより生成されたタグデータである。Further, 201 is a block address field of access address data, 202 is an address field in a block of access address data, 211 is a set address generated by the mapping controller A, 212 is tag data generated by the mapping controller A, Reference numeral 221 denotes a set address generated by the mapping controller B; 222, tag data generated by the mapping controller B; 231, a set address generated by the mapping controller C; 232, tag data generated by the mapping controller C; The set address 242 generated by the mapping controller D is tag data generated by the mapping controller D.
【0016】251はセレクタAにより選択されたセッ
トアドレス、261はセレクタBにより選択されたタグ
データ、271は第1コンパートメントでのタグデータ
の比較結果、281は第2コンパートメントでのタグデ
ータの比較結果、291はキャッシュヒット判定結果、
301は算出されたヒット率、311はセレクタ制御信
号、292はヒットしたコンパートメントのデータメモ
リのイネーブルを指示するデータメモリイネーブル、3
11は主制御装置100へのマッピング切換指示、31
2はセレクタ制御信号、401はタグメモリ400に格
納されているタグデータ、411はタグメモリ410に
格納されているタグデータである。251 is a set address selected by the selector A, 261 is tag data selected by the selector B, 271 is a comparison result of the tag data in the first compartment, 281 is a comparison result of the tag data in the second compartment , 291 are the cache hit determination results,
301 is a calculated hit ratio, 311 is a selector control signal, 292 is a data memory enable for instructing to enable the data memory of the compartment where the hit has occurred, and 3 is a data memory enable.
11 is a mapping switching instruction to main controller 100, 31
2 is a selector control signal, 401 is tag data stored in the tag memory 400, and 411 is tag data stored in the tag memory 410.
【0017】図1に示したキャッシュ制御装置における
キャッシュメモリアクセスについての動作を示す。主制
御装置100は目的のアクセスアドレスをアドレスバス
120へ出力しアドレスレジスタ200へアクセスアド
レスを格納する。マッピングコントローラ210,22
0,230,240の各々はアドレスレジスタ200に
格納されている中のブロックアドレス201からセット
アドレスとタグデータとを生成し、セレクタAとセレク
タBとに出力する。The operation of the cache control device shown in FIG. 1 for cache memory access will be described. Main controller 100 outputs the target access address to address bus 120 and stores the access address in address register 200. Mapping controllers 210 and 22
Each of 0, 230, and 240 generates a set address and tag data from the block address 201 stored in the address register 200, and outputs the set address and the tag data to the selector A and the selector B.
【0018】マッピングアルゴリズムコントローラ31
0は、初期状態においてマッピングコントローラ210
の選択をマッピング切換指示312により行うものとす
る。この場合、セレクタA250はセットアドレス21
1を選択し、セレクタBはタグデータ212を選択す
る。Mapping algorithm controller 31
0 is the mapping controller 210 in the initial state.
Is selected by the mapping switching instruction 312. In this case, the selector A 250 sets the set address 21
1 is selected, and the selector B selects the tag data 212.
【0019】タグメモリ400及び410からは、セッ
トアドレス251のタグデータ401が比較回路Aに、
タグデータ412が比較回路Bに夫々出力され、タグデ
ータの比較が行われ、比較回路A270はタグデータ2
61とタグデータ401とが一致しているか否かを比較
結果271に出力し、比較回路B280はタグデータ2
61とタグデータについて同様に比較結果281に出力
する。From the tag memories 400 and 410, the tag data 401 of the set address 251 is sent to the comparison circuit A.
The tag data 412 is output to the comparison circuit B, respectively, and the comparison of the tag data is performed.
The comparison circuit B280 outputs whether or not the tag data 61 and the tag data 401 match, as a comparison result 271.
61 and the tag data are similarly output to the comparison result 281.
【0020】ヒット判定回路290はキャッシュヒット
したかミスしたかのキャッシュヒット判定結果291を
ヒット率計算手段300と主制御装置100に通知し、
データメモリイネーブル292によりヒットしたコンパ
ートメントのデータメモリをイネーブルにする。ヒット
したコンパートメントのでデータメモリはセットアドレ
ス251のブロック内アドレス202のデータをデータ
バス140に出力する。The hit determination circuit 290 notifies the hit ratio calculation means 300 and the main controller 100 of a cache hit determination result 291 indicating whether a cache hit or a miss has occurred.
The data memory of the compartment hit by the data memory enable 292 is enabled. Since the compartment is hit, the data memory outputs the data of the in-block address 202 of the set address 251 to the data bus 140.
【0021】主制御装置100は、キャッシュヒットし
た場合、データバス140から目的のアクセスアドレス
のデータを読みとる。ヒット率計算手段300はキャッ
シュヒット判定結果291によりヒット判定回数とヒッ
ト数とからヒット率を算出し、一定のヒット判定回数毎
にヒット率301をマッピングアルゴリズムコントロー
ラ310に通知する。Main controller 100 reads the data of the target access address from data bus 140 when a cache hit occurs. The hit ratio calculation means 300 calculates the hit ratio from the number of hit determinations and the number of hits based on the cache hit determination result 291, and notifies the mapping algorithm controller 310 of the hit ratio 301 for each predetermined number of hit determinations.
【0022】マッピングアルゴリズムコントローラ31
0はヒット率301が期待値より低いと判断すると、主
制御装置100に対してマッピング切換指示311を通
知し、セレクタ制御信号312によりマッピングコント
ローラAから別のマッピングコントローラへ切り換え
る。本例ではマッピングコントローラB220とする。
主制御装置100は新たなマッピングアルゴリズムであ
るマッピングコントローラBによるキャッシュへのアク
セスを同じように実行する。Mapping algorithm controller 31
When 0 determines that the hit rate 301 is lower than the expected value, the main controller 100 is notified of a mapping switching instruction 311 and the selector control signal 312 switches the mapping controller A to another mapping controller. In this example, the mapping controller is B220.
Main controller 100 executes the access to the cache by mapping controller B, which is a new mapping algorithm, in the same manner.
【0023】以後、同様にキャッシュのヒット率が期待
値より低い場合マッピングコントローラC230、マッ
ピングコントローラD240と順番に切替えるが、これ
等各切換え時にはキャッシュの無効化処理無しに処理を
続け、再度最初のマッピングコントローラA210に切
換わったときに、始めてキャッシュの無効化処理を実行
する。これにより主制御装置100は、マッピングコン
トローラAに変更した時にのみ無効化処理を実行するだ
けで、他のマッピングアルゴリズムへの切換は意識せず
に、キャッシュメモリへのアクセスを継続することがで
きる。Thereafter, if the cache hit rate is lower than the expected value, the mapping controller C230 and the mapping controller D240 are switched in this order. At each of these switchings, the processing is continued without invalidating the cache and the first mapping is performed again. When the mode is switched to the controller A210, the cache invalidation process is executed for the first time. Thus, main controller 100 can continue to access the cache memory only by executing the invalidation process only when changing to mapping controller A, without being aware of switching to another mapping algorithm.
【0024】図2は本発明の別の実施の形態を示すブロ
ック図であり、図1と同等部分は同一符号により示して
いる。図2において、440は第1コンパートメントの
IDメモリ、450は第2コンパートメントのIDメモ
リ、500は各マッピングアルゴリズムの識別コードを
出力するマッピングID生成手段、510はマッピング
アルゴリズムコントローラ310により選択されている
マッピングコントローラを示すマッピング識別コードを
選択するセレクタC、520は第1コンパートメントの
識別コードの比較回路C、530は第2コンパートメン
トの識別コードの比較回路Dである。FIG. 2 is a block diagram showing another embodiment of the present invention, and the same parts as those in FIG. 1 are denoted by the same reference numerals. In FIG. 2, 440 is an ID memory of the first compartment, 450 is an ID memory of the second compartment, 500 is a mapping ID generating means for outputting an identification code of each mapping algorithm, and 510 is a mapping selected by the mapping algorithm controller 310. A selector C 520 for selecting a mapping identification code indicating a controller is a comparison circuit C for identification code of the first compartment, and a reference numeral 530 is a comparison circuit D for identification code of the second compartment.
【0025】また、441はIDメモリ440に格納さ
れている識別コード、451はIDメモリ450に格納
されている識別コード、501はマッピングコントロー
ラAによるマッピングであることを示す識別コード、5
02はマッピングコントローラBによるマッピングであ
ることを示す識別コード、503はマッピングコントロ
ーラCによるマッピングであることを示す識別コード、
504はマッピングコントローラDによるマッピングで
あることを示す識別コード、511は選択された識別コ
ード、521は第1コンパートメントの識別コードの比
較結果、531は第2コンパートメントの識別コードの
比較結果である。他の構成については、図1のそれと同
一であり、その説明は省略するものとする。Reference numeral 441 denotes an identification code stored in the ID memory 440; 451, an identification code stored in the ID memory 450; 501, an identification code indicating that mapping is performed by the mapping controller A;
02 is an identification code indicating mapping by the mapping controller B, 503 is an identification code indicating mapping by the mapping controller C,
Reference numeral 504 denotes an identification code indicating that the mapping is performed by the mapping controller D, reference numeral 511 denotes a selected identification code, reference numeral 521 denotes a comparison result of the identification code of the first compartment, and reference numeral 532 denotes a comparison result of the identification code of the second compartment. The other configuration is the same as that of FIG. 1, and the description is omitted.
【0026】かかる構成において、先ず、主制御装置1
00がアドレスバス120に目的とのアクセスアドレス
を出力し、タグデータ401及び411を比較回路A2
50、B260で比較するまでの動作を、上記第1の実
施の形態と同様に行うと同時に、次の動作を並行して行
う。尚、本例でもマッピングコントローラA210を最
初に選択するものとする。In this configuration, first, the main controller 1
00 outputs the target access address to the address bus 120, and compares the tag data 401 and 411 with the comparison circuit A2.
The operations up to the comparison at 50 and B260 are performed in the same manner as in the first embodiment, and the following operations are performed in parallel. In this example, the mapping controller A210 is selected first.
【0027】セレクタC510はセレクタ制御信号31
2によりセレクタA250とB260とが選択している
マッピングコントローラA210を示す識別コード50
1を選択し識別コード511に出力する。IDメモリ4
40と450とからセットアドレス250に格納されて
いる識別コード441,451が夫々比較回路C52
0,D530に出力され、識別コードの比較まで並行し
て行われる。The selector C510 receives the selector control signal 31
2, the identification code 50 indicating the mapping controller A210 selected by the selectors A250 and B260.
1 is selected and output to the identification code 511. ID memory 4
The identification codes 441 and 451 stored in the set address 250 are compared with the comparison circuits C52 and
0, and D530, and are performed in parallel up to the comparison of the identification code.
【0028】ヒット判定回路290は比較結果271と
521とが一致した場合は、第1のコンパートメントの
キャッシュヒットとし、また比較結果281と531と
が一致した場合は、第2のコンパートメントのキャッシ
ュヒットとしてヒット判定結果291に示す。When the comparison results 271 and 521 match, the hit determination circuit 290 sets the first compartment cache hit, and when the comparison results 281 and 531 match, sets the second compartment cache hit. This is shown in the hit determination result 291.
【0029】ヒット率計算手段300は、図1の例と同
様に、ヒット率を計算する。マッピングアルゴリズムコ
ントローラ310はヒット率が期待値よりも低い場合に
は、制御信号312からセレクタA250,B260,
C510に対してマッピングコントローラB220とと
その識別コード502とを夫々選択することのみを指示
する。The hit ratio calculating means 300 calculates the hit ratio as in the example of FIG. When the hit ratio is lower than the expected value, the mapping algorithm controller 310 outputs the selectors A250, B260,
Instruct C510 to only select mapping controller B220 and its identification code 502, respectively.
【0030】この場合にも、図1の例と同様に、キャッ
シュのヒット率が期待値より低い場合マッピングコント
ローラC230、マッピングコントローラD240と順
番に切替えるが、これ等各切換え時にはキャッシュの無
効化処理無しに処理を続け、再度最初のマッピングコン
トローラA210に切換わったときに、始めてキャッシ
ュの無効化処理を実行する。これにより主制御装置10
0は、マッピングコントローラAに変更した時にのみ無
効化処理を実行するだけで、他のマッピングアルゴリズ
ムへの切換は意識せずに、キャッシュメモリへのアクセ
スを継続することができる。Also in this case, as in the example of FIG. 1, when the cache hit ratio is lower than the expected value, the mapping controller C230 and the mapping controller D240 are sequentially switched. The cache invalidation process is executed for the first time when the process is switched to the first mapping controller A210 again. Thereby, main controller 10
In the case of 0, the invalidation process is executed only when the mapping controller A is changed, and access to the cache memory can be continued without being aware of switching to another mapping algorithm.
【0031】上述した各実施の形態では、2ウェイセッ
トアソシアティブのキャッシュ方式を用いる場合につい
て説明したが、ダイレクトマッピングやフルアソシアテ
ィブなどキャッシュ方式に制限はない。また、上記実施
の形態では、マッピングアルゴリズムが4種類の場合に
ついて説明したが、マッピングアルゴリズムの数に制限
はない。In each of the embodiments described above, the case where the two-way set associative cache system is used has been described. However, the cache system such as direct mapping or full associative is not limited. Further, in the above-described embodiment, a case has been described in which there are four types of mapping algorithms, but the number of mapping algorithms is not limited.
【0032】[0032]
【発明の効果】本発明によれば、マッピングアルゴリズ
ム切換時にキャッシュの無効化処理によるキャッシュメ
モリアクセスの中断回数を従来に比べ大きく削減できる
ので、一定時間におけるキャッシュアクセスが有効な時
間が長くなりシステムの性能向上が図れるという効果が
ある。According to the present invention, the number of interruptions of cache memory access due to cache invalidation at the time of switching the mapping algorithm can be greatly reduced as compared with the prior art, so that the effective time of cache access in a certain time becomes longer, and the There is an effect that performance can be improved.
【図1】本発明の第1の実施の形態を示すブロック図で
ある。FIG. 1 is a block diagram showing a first embodiment of the present invention.
【図2】本発明の第2の実施の形態を示すブロック図で
ある。FIG. 2 is a block diagram showing a second embodiment of the present invention.
100 主制御装置 200 アドレスレジスタ 210,220,230,240 マッピングコントロ
ーラ 250,260,510 セレクタ 270,280,520,530 比較回路 290 ヒット判定回路 300 ヒット率計算手段 310 マッピングアルゴリズムコントローラ 400,410 タグメモリ 420,430 データメモリ 440,450 IDメモリ 500 マッピングID生成手段Reference Signs List 100 Main control device 200 Address register 210, 220, 230, 240 Mapping controller 250, 260, 510 Selector 270, 280, 520, 530 Comparison circuit 290 Hit determination circuit 300 Hit ratio calculation means 310 Mapping algorithm controller 400, 410 Tag memory 420 , 430 Data memory 440, 450 ID memory 500 Mapping ID generating means
─────────────────────────────────────────────────────
────────────────────────────────────────────────── ───
【手続補正書】[Procedure amendment]
【提出日】平成11年10月25日(1999.10.
25)[Submission Date] October 25, 1999 (1999.10.
25)
【手続補正1】[Procedure amendment 1]
【補正対象書類名】明細書[Document name to be amended] Statement
【補正対象項目名】特許請求の範囲[Correction target item name] Claims
【補正方法】変更[Correction method] Change
【補正内容】[Correction contents]
【特許請求の範囲】[Claims]
【手続補正2】[Procedure amendment 2]
【補正対象書類名】明細書[Document name to be amended] Statement
【補正対象項目名】0007[Correction target item name] 0007
【補正方法】変更[Correction method] Change
【補正内容】[Correction contents]
【0007】[0007]
【課題を解決するための手段】本発明によれば、アドレ
スタグを格納するタグメモリと、ブロックデータを格納
するデータメモリと、メモリへのアクセスアドレスから
互いに異なるキャッシュメモリマッピングアルゴリズム
により前記タグメモリ及び前記データメモリのセットア
ドレスとアドレスタグとを生成する複数のマッピングコ
ントローラと、これ等複数のマッピングコントローラか
ら出力されるセットアドレスのいずれかを選択し前記タ
グメモリ及び前記データメモリへ出力する第1のセレク
タと、前記複数のマッピングコントローラから出力され
るアドレスタグのいずれかを選択する第2のセレクタ
と、前記第2のセレクタから出力されるアドレスタグと
前記タグメモリから出力されるアドレスタグとを比較す
るアドレス比較回路と、この比較結果に基づきキャッシ
ュヒット判定を行うヒット判定回路と、このヒット判定
結果に基づきヒット率を計算するヒット率計算手段と、
このヒット率が期待値より低い場合に、キャッシュ無効
化処理をなすことなく、現在処理中のアルゴリズムを他
のアルゴリズムに直ちに切換え前記第1及び第2のセレ
クタに対して選択指示する制御手段と、前記キャッシュ
メモリマッピングアルゴリズムの各々の識別情報を生成
するマッピンクID生成手段と、これ等識別情報を前記
制御手段の制御により選択する第3のセレクタと、前記
タグメモリの各セットアドレス毎に前記アルゴリズムの
識別情報を格納するIDメモリと、前記第3のセレクタ
からの識別情報と前記IDメモリからの識別情報とを比
較して前記ヒット判定回路に比較結果を通知するID比
較回路とを含み、前記アルゴリズムは第1〜第n(nは
2以上の整数)のアルゴリズムであり、前記制御手段
は、前記第1〜第nのアルゴリズムをこの順に順次切換
え制御し、前記第nのアルゴリズムから前記第1のアル
ゴリズムへの切換え時に始めて前記キャッシュ無効化処
理をなすよう制御することを特徴とするキャッシュ制御
装置が得られる。According to the present invention, an address
Tag memory to store tags and block data
From the data memory to be accessed and the access address to the memory
Different cache memory mapping algorithms
Setting of the tag memory and the data memory
Multiple mapping codes to generate addresses and address tags
Controllers and multiple mapping controllers
Select one of the set addresses output from the
First select for outputting to the memory and the data memory
Data output from the plurality of mapping controllers.
Selector for selecting one of the address tags
And an address tag output from the second selector.
Compare with the address tag output from the tag memory
Address comparison circuit and cache based on the comparison result.
Hit determination circuit for performing hit determination and this hit determination
Hit rate calculating means for calculating a hit rate based on the result;
If this hit rate is lower than expected, cache invalid
Other algorithms that are currently being processed
Immediately switch to the first algorithm and the first and second
Control means for selecting and instructing the cache, and the cache
Generates identification information for each of the memory mapping algorithms
Mappin ID generating means, and the identification information
A third selector selected by control of the control means;
For each set address of the tag memory, the algorithm
An ID memory for storing identification information, and the third selector
Of the identification information from the ID memory and the identification information from the ID memory.
ID ratio for notifying the hit determination circuit of the comparison result
And a comparison circuit, wherein the algorithm includes first to n-th (n is
The control means.
Sequentially switches the first to n-th algorithms in this order.
Controlling the first algorithm from the n-th algorithm.
The cache invalidation process is performed only when switching to the algorithm.
Thus , a cache control device characterized by performing control in a logical manner is obtained.
【手続補正3】[Procedure amendment 3]
【補正対象書類名】明細書[Document name to be amended] Statement
【補正対象項目名】0008[Correction target item name] 0008
【補正方法】削除[Correction method] Deleted
【手続補正4】[Procedure amendment 4]
【補正対象書類名】明細書[Document name to be amended] Statement
【補正対象項目名】0009[Correction target item name] 0009
【補正方法】削除[Correction method] Deleted
【手続補正5】[Procedure amendment 5]
【補正対象書類名】明細書[Document name to be amended] Statement
【補正対象項目名】0010[Correction target item name] 0010
【補正方法】削除[Correction method] Deleted
【手続補正6】[Procedure amendment 6]
【補正対象書類名】明細書[Document name to be amended] Statement
【補正対象項目名】0016[Correction target item name] 0016
【補正方法】変更[Correction method] Change
【補正内容】[Correction contents]
【0016】251はセレクタAにより選択されたセッ
トアドレス、261はセレクタBにより選択されたタグ
データ、271は第1コンパートメントでのタグデータ
の比較結果、281は第2コンパートメントでのタグデ
ータの比較結果、291はキャッシュヒット判定結果、
301は算出されたヒット率、311はセレクタ制御信
号、292はヒットしたコンパートメントのデータメモ
リのイネーブルを指示するデータメモリイネーブル、3
11は主制御装置100へのマッピング切換指示、31
2はセレクタ制御信号、401はタグメモリ400に格
納されているタグデータ、411はタグメモリ410に
格納されているタグデータである。440は第1コンパ
ートメントのIDメモリ、450は第2コンパートメン
トのIDメモリ、500は各マッピングアルゴリズムの
識別コードを出力するマッピングID生成手段、510
はマッピングアルゴリズムコントローラ310により選
択されているマッピングコントローラを示すマッピング
識別コードを選択するセレクタC、520は第1コンパ
ートメントの識別コードの比較回路C、530は第2コ
ンパートメントの識別コードの比較回路Dである。ま
た、441はIDメモリ440に格納されている識別コ
ード、451はIDメモリ450に格納されている識別
コード、501はマッピングコントローラAによるマッ
ピングであることを示す識別コード、502はマッピン
グコントローラBによるマッピングであることを示す識
別コード、503はマッピングコントローラCによるマ
ッピングであることを示す識別コード、504はマッピ
ングコントローラDによるマッピングであることを示す
識別コード、511は選択された識別コード、521は
第1コンパートメントの識別コードの比較結果、531
は第2コンパートメントの識別コードの比較結果であ
る。 251 is a set address selected by the selector A, 261 is tag data selected by the selector B, 271 is a comparison result of the tag data in the first compartment, 281 is a comparison result of the tag data in the second compartment , 291 are the cache hit determination results,
301 is a calculated hit ratio, 311 is a selector control signal, 292 is a data memory enable for instructing to enable the data memory of the compartment where the hit has occurred, and 3 is a data memory enable.
11 is a mapping switching instruction to main controller 100, 31
2 is a selector control signal, 401 is tag data stored in the tag memory 400, and 411 is tag data stored in the tag memory 410. 440 is the first computer
ID memory of the compartment, 450 is the second compartment
ID memory, 500 is for each mapping algorithm
Mapping ID generating means for outputting an identification code, 510
Is selected by the mapping algorithm controller 310.
A mapping indicating the selected mapping controller
The selectors C and 520 for selecting the identification code
The comparison circuits C and 530 of the identification code of the
5 is a comparison circuit D for compartment identification codes. Ma
Reference numeral 441 denotes an identification code stored in the ID memory 440.
451 is an identification code stored in the ID memory 450.
Code 501 is a mapping by mapping controller A.
Ping identification code, 502 is a mapping
That the mapping is performed by controller
The other code, 503, is a mask by the mapping controller C.
504 is a mapping code indicating that the
The mapping is performed by the mapping controller D
The identification code, 511 is the selected identification code, and 521 is
Comparison result of identification code of first compartment, 531
Is the comparison result of the identification code of the second compartment.
You.
【手続補正7】[Procedure amendment 7]
【補正対象書類名】明細書[Document name to be amended] Statement
【補正対象項目名】0019[Correction target item name] 0019
【補正方法】変更[Correction method] Change
【補正内容】[Correction contents]
【0019】タグメモリ400及び410からは、セッ
トアドレス251のタグデータ401が比較回路Aに、
タグデータ411が比較回路Bに夫々出力され、タグデ
ータの比較が行われ、比較回路A270はタグデータ2
61とタグデータ401とが一致しているか否かを比較
結果271に出力し、比較回路B280はタグデータ2
61とタグデータ411について同様に比較結果281
に出力する。From the tag memories 400 and 410, the tag data 401 of the set address 251 is sent to the comparison circuit A.
The tag data 411 is output to the comparison circuit B, respectively, and the comparison of the tag data is performed.
The comparison circuit B280 outputs whether or not the tag data 61 and the tag data 401 match, as a comparison result 271.
Similarly, the comparison result 281 is obtained for the tag data 611 and the tag data 411.
Output to
【手続補正8】[Procedure amendment 8]
【補正対象書類名】明細書[Document name to be amended] Statement
【補正対象項目名】0024[Correction target item name] 0024
【補正方法】削除[Correction method] Deleted
【手続補正9】[Procedure amendment 9]
【補正対象書類名】明細書[Document name to be amended] Statement
【補正対象項目名】0025[Correction target item name] 0025
【補正方法】削除[Correction method] Deleted
【手続補正10】[Procedure amendment 10]
【補正対象書類名】明細書[Document name to be amended] Statement
【補正対象項目名】0026[Correction target item name] 0026
【補正方法】変更[Correction method] Change
【補正内容】[Correction contents]
【0026】以上の動作と共に次の動作をも並行して行
う。 The following operation is performed in parallel with the above operation.
U.
【手続補正11】[Procedure amendment 11]
【補正対象書類名】明細書[Document name to be amended] Statement
【補正対象項目名】0030[Correction target item name] 0030
【補正方法】変更[Correction method] Change
【補正内容】[Correction contents]
【0030】キャッシュのヒット率が期待値より低い場
合マッピングコントローラC230、マッピングコント
ローラD240と順番に切替えるが、これ等各切換え時
には、上述した様に、キャッシュの無効化処理無しに処
理を続け、再度最初のマッピングコントローラA210
に切換わったときに、始めてキャッシュの無効化処理を
実行する。これにより主制御装置100は、マッピング
コントローラAに変更した時にのみ無効化処理を実行す
るだけで、他のマッピングアルゴリズムへの切換は意識
せずに、キャッシュメモリへのアクセスを継続すること
ができる。When the cache hit ratio is lower than the expected value, the mapping controller C230 and the mapping controller D240 are sequentially switched. At each of these switchings , as described above , the processing is continued without invalidating the cache, and the first time again. Mapping controller A210
, The cache invalidation process is executed for the first time. Thus, main controller 100 can continue to access the cache memory only by executing the invalidation process only when changing to mapping controller A, without being aware of switching to another mapping algorithm.
【手続補正12】[Procedure amendment 12]
【補正対象書類名】明細書[Document name to be amended] Statement
【補正対象項目名】0031[Correction target item name] 0031
【補正方法】変更[Correction method] Change
【補正内容】[Correction contents]
【0031】上述した実施の形態では、2ウェイセット
アソシアティブのキャッシュ方式を用いる場合について
説明したが、ダイレクトマッピングやフルアソシアティ
ブなどキャッシュ方式に制限はない。また、上記実施の
形態では、マッピングアルゴリズムが4種類の場合につ
いて説明したが、マッピングアルゴリズムの数に制限は
ない。[0031] In the embodiment described above, 2 is described the case of using a cache strategy-way set associative, there is no limit on the cache method and direct mapping and fully associative. Further, in the above-described embodiment, a case has been described in which there are four types of mapping algorithms, but the number of mapping algorithms is not limited.
【手続補正13】[Procedure amendment 13]
【補正対象書類名】明細書[Document name to be amended] Statement
【補正対象項目名】図2[Correction target item name] Figure 2
【補正方法】削除[Correction method] Deleted
【手続補正14】[Procedure amendment 14]
【補正対象書類名】図面[Document name to be amended] Drawing
【補正対象項目名】図1[Correction target item name] Fig. 1
【補正方法】変更[Correction method] Change
【補正内容】[Correction contents]
【図1】 FIG.
【手続補正15】[Procedure amendment 15]
【補正対象書類名】図面[Document name to be amended] Drawing
【補正対象項目名】図2[Correction target item name] Figure 2
【補正方法】削除[Correction method] Deleted
Claims (6)
ゴリズムを有し、あるアルゴリズムでの処理中において
キャッシュヒット率が期待値よりも低い場合に処理中の
前記アルゴリズムを他のアルゴリズムに切換えるように
したキャッシュ制御装置であって、前記アルゴリズムの
切換え時に、キャッシュ無効化処理をなすことなく直ち
に前記アルゴリズムの切換えをなすよう制御する制御手
段を含むことを特徴とするキャッシュ制御装置。1. A cache control device having a plurality of cache memory mapping algorithms, wherein, when a cache hit rate is lower than an expected value during processing by one algorithm, the algorithm is switched to another algorithm during processing. A cache control device, comprising: control means for controlling the switching of the algorithm immediately without performing a cache invalidation process when the algorithm is switched.
ブロックデータを格納するデータメモリと、メモリへの
アクセスアドレスから互いに異なるキャッシュメモリマ
ッピングアルゴリズムにより前記タグメモリ及び前記デ
ータメモリのセットアドレスとアドレスタグとを生成す
る複数のマッピングコントローラと、これ等複数のマッ
ピングコントローラから出力されるセットアドレスのい
ずれかを選択し前記タグメモリ及び前記データメモリへ
出力する第1のセレクタと、前記複数のマッピングコン
トローラから出力されるアドレスタグのいずれかを選択
する第2のセレクタと、前記第2のセレクタから出力さ
れるアドレスタグと前記タグメモリから出力されるアド
レスタグとを比較するアドレス比較回路と、この比較結
果に基づきキャッシュヒット判定を行うヒット判定回路
と、このヒット判定結果に基づきヒット率を計算するヒ
ット率計算手段と、このヒット率が期待値より低い場合
に、キャッシュ無効化処理をなすことなく、現在処理中
のアルゴリズムを他のアルゴリズムに直ちに切換え前記
第1及び第2のセレクタに対して選択指示する制御手段
とを含むことを特徴とするキャッシュ制御装置。2. A tag memory for storing an address tag,
A data memory for storing block data, a plurality of mapping controllers for generating a set address and an address tag of the tag memory and the data memory by a cache memory mapping algorithm different from an access address to the memory, and a plurality of mapping controllers; A first selector for selecting one of the set addresses output from the controller and outputting the set address to the tag memory and the data memory, and a second selector for selecting one of the address tags output from the plurality of mapping controllers An address comparison circuit that compares an address tag output from the second selector with an address tag output from the tag memory; a hit determination circuit that determines a cache hit based on the comparison result; Hit rate calculating means for calculating a hit rate based on the result; and when the hit rate is lower than an expected value, immediately switch an algorithm currently being processed to another algorithm without performing cache invalidation processing. And a control means for instructing a second selector to make a selection.
リズムの各々の識別情報を生成するマッピンクID生成
手段と、これ等識別情報を前記制御手段の制御により選
択する第3のセレクタと、前記タグメモリの各セットア
ドレス毎に前記アルゴリズムの識別情報を格納するID
メモリと、前記第3のセレクタからの識別情報と前記I
Dメモリからの識別情報とを比較して前記ヒット判定回
路に比較結果を通知するID比較回路とを、更に含むこ
とを特徴とする請求項2記載のキャッシュ制御装置。3. A mappin ID generating means for generating identification information of each of the cache memory mapping algorithms, a third selector for selecting the identification information under the control of the control means, and each set address of the tag memory. ID for storing the identification information of the algorithm for each
A memory, identification information from the third selector and the I
3. The cache control device according to claim 2, further comprising an ID comparison circuit that compares the identification information from the D memory and notifies the hit determination circuit of a comparison result.
以上の整数)のアルゴリズムであり、前記制御手段は、
前記第1〜第nのアルゴリズムをこの順に順次切換え制
御することを特徴とする請求項1〜3いずれか記載のキ
ャッシュ制御装置。4. The algorithm includes first to n-th (n is 2
The above-mentioned integer), wherein the control means comprises:
4. The cache control device according to claim 1, wherein the first to n-th algorithms are sequentially switched and controlled in this order.
アルゴリズムへの切換え時に始めて前記キャッシュ無効
化処理をなすよう制御することを特徴とする請求項4記
載のキャッシュ制御装置。5. The cache control device according to claim 4, wherein control is performed such that the cache invalidation processing is performed only when switching from the n-th algorithm to the first algorithm.
ントからなり、前記タグメモリ、前記IDメモリ、前記
アドレス比較回路及び前記ID比較回路の各々はこれ等
コンパートメントに夫々対応して設けられていることを
特徴とする請求項2または3記載のキャッシュ制御装
置。6. The data memory comprises a plurality of compartments, and each of the tag memory, the ID memory, the address comparison circuit and the ID comparison circuit is provided corresponding to each of these compartments. 4. The cache control device according to claim 2, wherein:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10357117A JP2000181792A (en) | 1998-12-16 | 1998-12-16 | Cache controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10357117A JP2000181792A (en) | 1998-12-16 | 1998-12-16 | Cache controller |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000181792A true JP2000181792A (en) | 2000-06-30 |
Family
ID=18452476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10357117A Pending JP2000181792A (en) | 1998-12-16 | 1998-12-16 | Cache controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2000181792A (en) |
-
1998
- 1998-12-16 JP JP10357117A patent/JP2000181792A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5577217A (en) | Method and apparatus for a branch target buffer with shared branch pattern tables for associated branch predictions | |
US7085920B2 (en) | Branch prediction method, arithmetic and logic unit, and information processing apparatus for performing brach prediction at the time of occurrence of a branch instruction | |
JPH06324865A (en) | Multiple estimation type branch estimation mechanism | |
EP0125855B1 (en) | Buffer-storage control system | |
JPH10232839A (en) | Cache system and operation method for cache memory | |
JPH04242848A (en) | System for controlling cache memory by running mode | |
US20110072215A1 (en) | Cache system and control method of way prediction for cache memory | |
KR19980042269A (en) | Distributed tag cache memory system and how to store data in it | |
US6785770B2 (en) | Data processing apparatus with a cache memory and method of using such an apparatus | |
JP2002328839A (en) | Data processor | |
US5787467A (en) | Cache control apparatus | |
JP2000181792A (en) | Cache controller | |
JP3577049B2 (en) | Branch prediction circuit | |
US6480940B1 (en) | Method of controlling cache memory in multiprocessor system and the multiprocessor system based on detection of predetermined software module | |
EP0442474A2 (en) | Apparatus and method for controlling cache memory | |
JP3964705B2 (en) | Set associative cache system having adaptive replacement control function and cache control method | |
US7376797B2 (en) | Cache memory system and method using reference bits | |
US6922767B2 (en) | System for allowing only a partial value prediction field/cache size | |
US4733367A (en) | Swap control apparatus for hierarchical memory system | |
JPH0659977A (en) | Cache memory capable of executing indicative line substituting operation and its control method | |
US20030182523A1 (en) | Cache memory control device and cache memory system | |
JP3541498B2 (en) | Data processing device | |
KR100445630B1 (en) | Low Power Consumption Cache Memory And Method of Determining Hit/Miss Thereof | |
JP2818562B2 (en) | Address translation circuit | |
JP2003015957A (en) | Cache memory control system |