JPH08235062A - キャッシュメモリ - Google Patents

キャッシュメモリ

Info

Publication number
JPH08235062A
JPH08235062A JP7033619A JP3361995A JPH08235062A JP H08235062 A JPH08235062 A JP H08235062A JP 7033619 A JP7033619 A JP 7033619A JP 3361995 A JP3361995 A JP 3361995A JP H08235062 A JPH08235062 A JP H08235062A
Authority
JP
Japan
Prior art keywords
cache
level
data
register
read
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
JP7033619A
Other languages
English (en)
Inventor
Eiji Kasahara
栄二 笠原
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.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno 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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP7033619A priority Critical patent/JPH08235062A/ja
Publication of JPH08235062A publication Critical patent/JPH08235062A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 高速メモリが一部しか使えなくても、少ない
ハードウエアで効率よく性能を向上させる。 【構成】 アドレスレジスタ100 は、主記憶をアクセス
する時の物理アドレスを保持する。レベル選択器130
は、読み出しレベル選択制御部170 のレベル選択信号に
よりキャッシュ110,120 の読み出しデータを選択する。
読み出しレジスタ190 は、選択されたキャッシュの読み
出しデータを保持する。パイプ制御部180 は、選択部17
0 がキャッシュ120 を選択した時に、パイプラインの各
ステージのレジスタを1クロックサイクル間ホールドさ
せる。書き込みレジスタ140 は、キャッシュ110,120 に
書き込むデータを保持する。リプレース制御部160
データをキャッシュメモリに登録する時に、登録するキ
ャッシュメモリのレベルを決定し、決定したキャッシュ
メモリのライトイネーブルを制御する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はキャッシュメモリに関
し、特に圧縮/伸張技術を用いたキャッシュメモリに
関する。
【0002】
【従来の技術】従来のキャッシュメモリは、キャッシュ
メモリの全てのレベルで、同じクロック数でアクセスす
るように制御していた。
【0003】
【発明が解決しようとする課題】キャッシュメモリのア
クセスが、全てのレベルで同一クロックサイクルで制御
できるように、キャッシュメモリの容量や構成が制限を
受けて、情報処理装置の性能を上げられないという問題
があった。
【0004】
【課題を解決するための手段】本発明は、主記憶の各ブ
ロックはキャッシュメモリの複数個あるレベル上のブロ
ックと対応が決められており、キャッシュメモリに前記
主記憶のデータを入れる際には、リプレースメント方式
によりレベルが決定され、決定されたレベルのうち、
前記主記憶のアドレスに対応するブロックに前記主記憶
のデータが書き込まれるキャッシュメモリにおいて、キ
ャッシュメモリの各レベル毎にフラグを持ち、フラグの
値によりキャッシュのアクセスクロックサイクル数を制
御する手段を有することを特徴とするものである。
【0005】
【実施例】次に本発明について図面を参照して説明す
る。
【0006】図1は、本発明によるキャッシュ
メモリの第1の実施例を示す構成図である。のキャッ
シュメモリは、主記憶をアクセスする時の物理アドレス
を保持するアドレスレジスタ100と、1クロックサイ
クルで読み出し/書き込みができるレベル1のキャッシ
ュ110と、2クロックサイクルで読み出し/書き込み
ができるレベル2のキャッシュ120と、キャッシュを
読み出す時のキャッシュのレベルを選択する読み出しレ
ベル選択制御部170と、読み出しレベル選択制御部1
70のレベル選択信号によりキャッシュ110とキャッ
シュ120の読み出しデータを選択するレベル選択器1
30と、レベル選択器130により選択されたキャッシ
ュの読み出しデータを保持する読み出しレジスタ190
と、読み出しレベル選択部170がレベル2のキャッシ
120を選択した時に、パイプラインの各ステージの
レジスタを1クロックサイクル間ホールドさせるパイプ
制御部180と、レベル1のキャッシュ110とレベル
2のキャッシュ120に書き込むデータを保持する書き
込みレジスタ140と、データをキャッシュメモリに登
録する時に、登録するキャッシュメモリのレベルを決定
し、決定したキャッシュメモリのライトイネーブルを制
御するリプレース制御部160からなる。
【0007】アドレスレジスタ100の物理アドレス
に、書き込みデータレジスタ140のデータを、キャッ
シュメモリに書き込む処理で、リプレース制御部160
によりレベル1が選択された場合は、レベル1のキャッ
シュ110に書き込みデータレジスタ140のデータが
書き込まれる。リプレース制御部160がレベル2のキ
ャッシュ120を選択した場合は、パイプ制御部180
により、パイプラインの各ステージのレジスタを1クロ
ックサイクル間保持し、次のクロックサイクルでレベル
2のキャッシュ120に書き込みデータレジスタ140
のデータが書き込まれる。
【0008】アドレスレジスタ100の物理アドレスの
データを読み出す場合、読み出しレベル選択制御部17
0でどちらのレベルに登録されているかを調べ、レベル
1のキャッシュ110に登録されていたら、レベル選択
器130によりデータを選択して、アドレスレジスタ1
00の物理アドレスで指されるキャッシュメモリ上のデ
ータが読み出しレジスタ190に読み出される。読み出
しレベル選択制御部170によりレベル2のキャッシュ
120に、登録されていることがわかると、レベル選択
器130は2クロックサイクル間レベル2のキャッシ
ュ120を選択して、パイプ制御部180によりパイプ
ラインの各ステージのレジスタを1クロックサイクル間
保持し、次のクロックサイクルで読み出しレジスタ19
0に、キャッシュデータを読み出す。
【0009】図2は、本発明によるキャッシュ
メモリの第2の実施例を示す構成図である。のキャッ
シュメモリは、主記憶をアクセスする時の物理アドレス
を保持するアドレスレジスタ100と、1クロックサイ
クルで読み出し/書き込みができるレベル1のキャッシ
ュ110と、1クロックサイクルで読み出し/書き込み
ができるレベル2のキャッシュ120と、レベル2のキ
ャッシュ120に書き込むデータを1クロックサイクル
でデータ圧縮する圧縮部200と、レベル2のキャッシ
ュ120から読み出したデータを1クロックサイクルで
データ伸張する伸張部210と、キャッシュを読み出す
時のキャッシュのレベルを選択する読み出しレベル選択
部170と、読み出しレベル選択制御部170のレベル
選択信号によりキャッシュ110とキャッシュ120の
読み出しデータを選択するレベル選択器130と、レベ
ル選択器130により選択されたキャッシュの読み出し
データを保持する読み出しレジスタ190と、読み出し
レベル選択制御部170がレベル2のキャッシュを選択
した時に、パイプの各ステージのレジスタを1クロック
サイクル間ホールドさせるパイプ制御部180と、レベ
ル1のキャッシュ110とレベル2のキャッシュ120
に書き込むデータを保持する書き込みデータレジスタ1
40と、データをキャッシュメモリに登録する時に、登
録するキャッシュメモリのレベルを決定し、決定したキ
ャッシュメモリのライトイネーブルを制御するリプレー
ス制御部160からなる。
【0010】アドレスレジスタ100の物理アドレス
に、書き込みデータレジスタ140のデータを、キャッ
シュメモリに書き込む処理で、リプレース制御部160
によりレベル1が選択された場合は、レベル1のキャッ
シュ110に書き込みデータレジスタ140のデータが
書き込まれる。リプレース制御部160がレベル2のキ
ャッシュ120を選択した場合は、パイプ制御部180
により、パイプラインの各ステージのレジスタを1クロ
ックサイクル間保持し、その間に圧縮部200で、書き
込みレジスタ140のデータを圧縮し、次のクロックサ
イクルでレベル2のキャッシュ120に書き込みデータ
レジスタ140のデータが書き込まれる。
【0011】アドレスレジスタ100の物理アドレスの
データを読み出す場合、読み出しレベル選択制御部17
0でどちらのレベルに登録されているかを調べ、レベル
1のキャッシュ110に登録されていたら、レベル選択
器130によりデータを選択して、読み出しレジスタ1
90に読み出される。読み出しレベル選択制御部170
によりレベル2のキャッシュ120に、登録されている
ことがわかると、レベル選択器130は2クロックサイ
クル間レベル2のキャッシュ120を選択して、パイプ
制御部180によりパイプラインの各ステージのレジス
タを1クロックサイクル間保持し、次のクロックサイク
ルで読み出しデータレジスタ190に、キャッシュデー
タを読み出す。
【0012】図3は、本発明によるキャッシュメモリの
第3の実施例を示す構成図である。このキャッシュメモ
リは、プログラムによって値を設定するフラグ240
と、キャッシュをアクセスする時の物理アドレスを保持
するアドレスレジスタ100と、キャッシュに書き込む
データを保持する書き込みレジスタ140と、1クロッ
クサイクルで読み出し/書き込みができるレベル1のキ
ャッシュ1と、1クロックサイクルで読み出し/書き込
みができるレベル2のキャッシュ2と、1クロックサイ
クルで読み出し/書き込みができるレベル3のキャッシ
ュ3と、1クロックサイクルで読み出し/書き込みがで
きるレベル4のキャッシュ4と、キャッシュに書き込む
データを1クロックサイクルでデータ圧縮する圧縮部2
00と、キャッシュ1,キャッシュ2,キャッシュ3か
ら読み出したデータを1クロックサイクルでデータ伸張
する伸張部210と、キャッシュを読み出す時のキャッ
シュのレベルを選択する読み出しレベル選択制御部17
0と、読み出しレベル選択制御部170のレベル選択信
号によりキャッシュ1とキャッシュ2か、キャッシュ3
とキャッシュ4の読み出しデータを選択するレベル選択
器130と、読み出しレベル選択制御部170のレベル
選択信号によりキャッシュ1かキャッシュ2かキャッシ
ュ3かキャッシュ4の読み出しデータを選択するレベル
選択器131と、レベル選択器130とレベル選択器1
31をフラグ240の値によって切り替える選択器22
0と(ここではフラグ240が論理1の時、レベル選択
器131を選ぶ)、選択器220により選択されたレベ
ルのキャッシュの読み出しデータを保持する読み出しレ
ジスタ190と、フラグ240の値によってキャッシュ
に書き込むデータをデータ圧縮部200の出力か、書き
込みレジスタ140の出力かを選択するモード選択器2
30と(ここではフラグ240が論理1の時、圧縮部2
00の出力とする)、データをキャッシュメモリに登録
する時に、登録するキャッシュメモリのレベルを決定
し、決定したキャッシュメモリのライトイネーブルを制
御するリプレース制御部160とからなる。
【0013】プログラムでフラグ240に論理0を設定
すると、キャッシュ1とキャッシュ2は、レベル1のキ
ャッシュで上位と下位のデータが対応する。キャッシュ
3とキャッシュ4はレベル2のキャッシュで上位と下位
のデータが対応する。つまり、2レベルのキャッシュ構
成になる。このとき、アドレスレジスタ100の物理ア
ドレスに、書き込みレジスタ140のデータを、キャッ
シュメモリに書き込む場合、リプレース制御部160に
よりレベル1が選択された場合は、フラグ240によっ
てモード選択器230は、書き込みレジスタ140の出
力を選択し、レベル1のキャッシュ1に書き込みレジス
タ140の上位データが書き込まれ、レベル1のキャッ
シュ2に書き込みレジスタ140の下位データが書き込
まれる。リプレース制御部160がレベル2のキャッシ
ュを選択した場合は、フラグ240によってモード選択
器230は、書き込みレジスタ140の出力を選択し、
レベル2のキャッシュ3に書き込みレジスタ140の上
位データが書き込まれ、レベル2のキャッシュ4に書き
込みレジスタ140の下位データが書き込まれる。アド
レスレジスタ100の物理アドレスのデータを読み出す
場合、読み出しレベル選択制御部170でどのレベルに
登録されているかを調べ、レベル1と判定するとキャッ
シュ1とキャッシュ2を、レベル選択器130によりデ
ータを選択し、さらにフラグ240により選択器220
でレベル選択器130が選択されて、読み出しレジスタ
190に読み出される。
【0014】プログラムでフラグ240に論理1を設定
すると、キャッシュ1はレベル1、キャッシュ2はレベ
ル2、キャッシュ3はレベル3、キャッシュ4はレベル
4に対応する4レベルのキャッシュメモリの構成にな
る。このとき、アドレスレジスタ100の物理アドレス
に、書き込みレジスタ140のデータを、キャッシュメ
モリに書き込む場合、リプレース制御部160によりレ
ベル1が選択された場合は、フラグ240によってモー
ド選択器230は、書き込みレジスタ140の出力を圧
縮部200によって圧縮したデータを選択し、レベル1
のキャッシュ1に書き込みレジスタ140のデータが圧
縮されて書き込まれる。リプレース制御部160がレベ
ル2のキャッシュを選択した場合は、フラグ240によ
ってモード選択器230は、書き込みレジスタ140の
出力を圧縮部200によって圧縮したデータを選択し、
レベル2のキャッシュ2に書き込みレジスタ140のデ
ータが圧縮されて書き込まれる。リプレース制御部16
0がレベル3のキャッシュを選択した場合は、フラグ2
40によってモード選択器230は、書き込みレジスタ
140の出力を圧縮部200によって圧縮したデータを
選択し、レベル3のキャッシュ3に書き込みレジスタ1
40のデータが圧縮されて書き込まれる。リプレース制
御部160がレベル4のキャッシュを選択した場合は、
フラグ240によってモード選択器230は、書き込み
レジスタ140の出力を圧縮部200によって圧縮した
データを選択し、レベル4のキャッシュ4に書き込みレ
ジスタ140のデータが圧縮されて書き込まれる。アド
レスレジスタ100の物理アドレスのデータを読み出す
場合、読み出しレベル選択制御部170でどのレベルに
登録されているかを調べ、レベル1と判定するとキャッ
シュ1のデータをレベル選択器131によりデータ選択
し、そのデータを伸張部210で伸張し、そのデータを
フラグ240により選択器220で選択して、読み出し
レジスタ190に読み出す。読み出しレベル選択制御部
170でレベル2のキャッシュに登録されていると判定
すると、キャッシュ2のデータをレベル選択器131に
よりデータ選択し、そのデータを伸張部210で伸張
し、そのデータをフラグ240により選択器220で選
択して、読み出しレジスタ190に読み出す。読み出し
レベル選択制御部170でレベル3のキャッシュに登録
されていると判定すると、キャッシュ3のデータをレベ
ル選択器131によりデータ選択し、そのデータを伸張
部210で伸張し、そのデータをフラグ240により選
択器220で選択して、読み出しレジスタ190に読み
出す。読み出しレベル選択制御部170でレベル4のキ
ャッシュに登録されていると判定すると、キャッシュ4
のデータをレベル選択器131によりデータ選択し、そ
のデータを伸張部210で伸張し、そのデータをフラグ
240により選択器220で選択して、読み出しレジス
タ190に読み出す。
【0015】
【発明の効果】以上説明したように本発明は、主記憶の
各ブロックがキャッシュメモリの複数個あるレベル上の
ブロックと対応が決められており、キャッシュメモリに
主記憶のデータを入れる際には、リプレースメント方式
によりレベルが決定され、決定されたレベルのうち、主
記憶のアドレスに対応するブロックに主記憶のデータが
書き込まれる手段と、キャッシュメモリの各レベル毎に
フラグを持ち、フラグの値によりキャッシュアクセスの
クロック数を制御する手段を備えている為、キャッシュ
容量を増やして、キャッシュアクセスのクロックサイク
ル数が増えてしまっても、容易にキャッシュアクセス制
御が出来ることから、キャッシュ容量を増やせたり、ま
たコンパートメントごとに、高速メモリやレジスタファ
イルなどの異なった構造のブロックがキャッシュとして
使用可能になり、高速メモリが一部しか使えなくても性
能を向上させることが出来るという効果を奏する
【0016】さらに本発明は、キャッシュメモリの複数
のレベルのうち、少なくとも一つのレベルを書き込む時
に、データを圧縮し、読み出すときにデータを伸張する
手段を有し、データの圧縮伸張の時間をレベル毎に備え
たフラグによってキャッシュアクセス時間の制御を行う
機能を備えている為に、圧縮/伸張技術を一部に使用す
ることによって、少ないハードウエアで性能を向上でき
るという効果を奏する。
【0017】さらに本発明は、キャッシュメモリの圧縮
/伸張するレベルを、ソフトウエアによりダイレクトに
決定する機能を備えている為に、キャッシュ容量を増や
してキャッシュアクセスクロック数をさげる方が性能向
上が計れるプログラムや、キャッシュ容量は少なくて、
キャッシュアクセス速度が早い方が性能向上が計れるプ
ログラムを、プログラムに合ったキャッシュ構成に変え
て、実行することにより、効率よく性能向上が計れると
いう効果を奏する。
【図面の簡単な説明】 【図1】本発明の第1の実施例の構成図である。 【図2】本発明の第2の実施例の構成図である。 【図3】本発明の第3の実施例の構成図である。 【符号の説明】 1 キャッシュ 2 キャッシュ 3 キャッシュ 4 キャッシュ 100 アドレスレジスタ 110 レベル1キャッシュ 120 レベル2キャッシュ 130 レベル選択器 140 書き込みレジスタ 160 リプレース制御部 170 読み出しレベル選択制御部 180 パイプ制御部 190 読み出しレジスタ 200 圧縮部 210 伸張部 220 選択器 230 モード選択器 240 フラグ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 主記憶の各ブロックはキャッシュメモリ
    の複数個あるレベル上のブロックと対応が決められてお
    り、キャッシュメモリに前記主記憶のデータを入れる際
    には、リプレースメント方式によりレベルが決定され、
    決定されたレベルのうち、前記主記憶のアドレスに対応
    するブロックに前記主記憶のデータが書き込まれるキャ
    ッシュメモリにおいて、 キャッシュメモリの各レベル毎にフラグを持ち、フラグ
    の値によりキャッシュのアクセスクロックサイクル数を
    制御する手段を有することを特徴とするキャッシュメモ
  2. 【請求項2】 前記キャッシュメモリの複数のレベルの
    うち、少なくとも一つのレベルを書き込む時に、データ
    を圧縮し、読み出すときにデータを伸張する手段を有
    し、データの圧縮伸張の時間をレベル毎に備えたフラグ
    によってキャッシュアクセス時間の制御を行うことを特
    徴とする請求項1記載のキャッシュメモリ。
  3. 【請求項3】 前記キャッシュメモリの圧縮/伸張する
    レベルを、ソフトウエアによりダイレクトに決定する
    手段を有することを特徴とする請求項2記載のキャッシ
    ュメモリ。
JP7033619A 1995-02-22 1995-02-22 キャッシュメモリ Pending JPH08235062A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7033619A JPH08235062A (ja) 1995-02-22 1995-02-22 キャッシュメモリ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7033619A JPH08235062A (ja) 1995-02-22 1995-02-22 キャッシュメモリ

Publications (1)

Publication Number Publication Date
JPH08235062A true JPH08235062A (ja) 1996-09-13

Family

ID=12391474

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7033619A Pending JPH08235062A (ja) 1995-02-22 1995-02-22 キャッシュメモリ

Country Status (1)

Country Link
JP (1) JPH08235062A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003098440A1 (fr) * 2002-05-20 2003-11-27 Fujitsu Limited Antémémoire de compression
JP2009098822A (ja) * 2007-10-16 2009-05-07 Sony Corp データ処理装置及び共有メモリのアクセス方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003098440A1 (fr) * 2002-05-20 2003-11-27 Fujitsu Limited Antémémoire de compression
JP2009098822A (ja) * 2007-10-16 2009-05-07 Sony Corp データ処理装置及び共有メモリのアクセス方法

Similar Documents

Publication Publication Date Title
KR100294130B1 (ko) 메모리집적회로와그를사용한주메모리시스템및그래픽메모리시스템
KR100306966B1 (ko) 동기형버스트반도체메모리장치
US5367494A (en) Randomly accessible memory having time overlapping memory accesses
KR100627986B1 (ko) 동기식 파이프라인 버스트 메모리 및 그 동작 방법
US20070076503A1 (en) Circuitry and methods for efficient FIFO memory
US5996052A (en) Method and circuit for enabling a clock-synchronized read-modify-write operation on a memory array
JPH08235062A (ja) キャッシュメモリ
US20070198807A1 (en) Internally derived address generation system and method for burst loading of a synchronous memory
JPH11328997A (ja) 半導体メモリ装置及びバーイン試験方法
JPH11250660A (ja) メモリデバイスおよび該メモリデバイスのアドレッシング方法
JPH08328949A (ja) 記憶装置
US6862667B2 (en) Synchronous DRAM utilizable as shared memory
KR100417548B1 (ko) 집적된캐쉬메모리와,디지탈메모리에서메모리소자에데이타를제공하는방법
US6745302B1 (en) Method and circuit for enabling a clock-synchronized read-modify-write operation on a memory array
US20010042155A1 (en) Instruction memory circuit
JP2554761B2 (ja) データ転送パス制御方式
JP2976909B2 (ja) キャッシュ・データの掃き出し制御方法
JP2595992B2 (ja) 電子楽器
US8140833B2 (en) Implementing polymorphic branch history table reconfiguration
JPH10116191A (ja) 圧縮命令用バッファを備えたプロセッサ
KR950008663B1 (ko) 다이나믹 램 메모리(dram)엑세스 제어장치
KR960704270A (ko) 라이트 히트후 지연없는 저전력, 고성능, 온칩 캐쉬(low power, high performance, on-chip cache with no stall after a write hit)
JPH05257807A (ja) キャッシュメモリ制御装置
JPH07191822A (ja) データ記憶装置及びデータシステム
JPS60205646A (ja) 補助記憶装置の制御装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19980324