JPH10207770A - 複数のキャッシュ・メモリを備えたデータ処理装置 - Google Patents

複数のキャッシュ・メモリを備えたデータ処理装置

Info

Publication number
JPH10207770A
JPH10207770A JP9007184A JP718497A JPH10207770A JP H10207770 A JPH10207770 A JP H10207770A JP 9007184 A JP9007184 A JP 9007184A JP 718497 A JP718497 A JP 718497A JP H10207770 A JPH10207770 A JP H10207770A
Authority
JP
Japan
Prior art keywords
cache
data
cache memory
instruction
mode
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.)
Withdrawn
Application number
JP9007184A
Other languages
English (en)
Inventor
Akira Katsuno
昭 勝野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP9007184A priority Critical patent/JPH10207770A/ja
Publication of JPH10207770A publication Critical patent/JPH10207770A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 キャッシュ・ミスを低減化し、高速データ処
理を実現すること。 【解決手段】 特権モードで実行される命令を格納する
特権モード用命令キャッシュ2aと、ユーザモードで実
行される命令を格納するユーザモード用命令キャッシュ
2bとを設け、プロセッサの実行モードが、特権モード
かユーザモードかに応じて、上記いずれかのキャッシュ
2a,2bを選択する。また、グローバル変数を格納す
るグローバル変数用データキャッシュ2cと、ローカル
変数を格納するローカル変数用データキャッシュ2dと
を設け、アドレスによりデータがグローバル変数かロー
カル変数かを判別し、上記いずれかのキャッシュ2c,
2dを選択する。また、複数のキャッシュの構成を命令
実行中に動的に変更する手段を設けることもできる。さ
らに、命令を格納する2次命令キャッシュ3aと、デー
タを格納する2次データキャッシュ3bとを設けてもよ
い。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は高速データ処理に使
用されるキャッシュ・メモリに関する。キャッシュ・メ
モリは、非常に高速動作するプロセッサと、通常のDR
AMで構成される低速動作のメモリとの中間におかれ、
プロセッサとメモリとの間の速度差を吸収することによ
りデータ処理を高速化するユニットである。このような
キャッシュ・メモリをどの様に設定するかはデータ処理
装置の高速化のための1つの重要な要因となる。
【0002】
【従来の技術】図5はキャッシュ・メモリ(以下、キャ
ッシュという)を含む一般的なデータ処理装置の概略構
成図である。同図において、101はプロセッサ、10
2aは命令を格納する命令キャッシュ、102bはデー
タを格納するデータキャッシュ、103は2次キャッシ
ュ、104はメモリである。同図に示すように、一般的
には、命令を格納する命令キャッシュ102aと、デー
タを格納するデータキャッシュ102bが別々にプロセ
ッサ101に接続され、また、それらのキャッシュに共
通の2次キャッシュ103が設けられる。
【0003】図6は上記キャッシュへのアクセス制御の
フローチャートの一例を示す図である。図5に示す装置
においては同図に示すように、キャッシュにアクセスす
る際、命令であるかデータであるかを判別し(同図のス
テップS1)、命令の場合には命令キャッシュ102a
(I-Cache)にアクセスし(ステップS2)、データの場
合には、データキャッシュ102b(D-Cache) にアクセ
スする(ステップS3)。そして、上記命令キャッシュ
102a、データキャッシュ102bでキャッシュ・ミ
スが発生すると、2次キャッシユ103(S-Cache) にア
クセスする(ステップS4,S5)。
【0004】上記命令キャッシュ102aやデータキャ
ッシュ102bは高速化のため、プロセッサ101とと
もに、1チップにLSI化されることが多い。このた
め、命令キャッシュ102aやデータキャッシュ102
bは小容量にならざるを得ず、高精度化のためセットア
ソシアティブ方式を採用することが一般的である。これ
に対して2次キャッシュ103は汎用のSRAMで構成
することによって、高速ではないが大容量な構成を採用
する。2次キャッシュでは、制御が簡単な直接マッピン
グ方式をとることが多い。
【0005】
【発明が解決しようとする課題】現在使用されているプ
ロセッサは、スーパスカラ方式によって複数の命令を同
時に実行できるようになってきている。このため、プロ
セッサにいかに絶え間なく命令とデータを供給するかと
いう問題がある。したがって、大きなデータを取り扱う
プログラムを実行させた場合、従来のキャッシュではキ
ャッシュ・ミスが頻繁に発生し、データ処理装置の性能
が抑えられるという問題があった。本発明は上記した事
情を考慮してなされたものであって、その目的とすると
ころは、プロセッサから複数のキャッシュを制御するこ
とによりキャッシュ・ミスを低減化し、高速データ処理
を実現することである。
【0006】
【課題を解決するための手段】図1は本発明の原理構成
図である。同図において、1はプロセッサ、2aは特権
モードで実行される命令を格納する特権モード用キャッ
シュ、2bはユーザモードで実行される命令を格納する
ユーザモード用命令キャッシュ、2cはグローバル変数
を格納するグローバル変数用キャッシュ、2dはローカ
ル変数を格納するローカル変数用キャッシュである。ま
た、3aは命令を格納する2次命令キャッシュ、3bは
データを格納する2次データキャッシュであり、2次命
令キャッシュ、2次データキャッシュ3a,3bは上記
キャッシュ2a〜2dに比べ大容量のメモリから構成さ
れる。また、プロセッサの主記憶装置である。
【0007】図1に示すように、本発明においては次の
ようにして前記課題を解決する。 (1)命令を格納する複数の命令キャッシュと、データ
を格納する複数のデータキャッシュと、上記複数の命令
キャッシュの内のどの命令キャッシュを選択するかを指
示する信号を発生する第1の手段と、上記複数のデータ
キャッシュの内のどのデータキャッシュを選択するかを
アドレスに応じて指示する信号を発生する第2の手段と
を設け、上記第1、第2の手段により複数のキャッシュ
を制御する。
【0008】(2)プロセッサの実行モードが、特権モ
ードかユーザモードかを指示する信号を発生する手段
と、特権モードで実行される命令を格納する特権モード
用命令キャッシュと、ユーザモードで実行される命令を
格納するユーザモード用命令キャッシュと、上記したプ
ロセッサの実行モードに応じて、上記特権モード用命令
キャッシュもしくはユーザモード用命令キャッシュを選
択する手段とを設ける。
【0009】(3)データがグローバル変数かローカル
変数かを指示する信号を発生する手段と、グローバル変
数を格納するグローバル変数用データキャッシュと、ロ
ーカル変数を格納するローカル変数用データキャッシュ
と、データがグローバル変数かローカル変数かに応じ
て、グローバル変数用データキャッシュもしくはローカ
ル変数用データキャッシュを選択する手段とを設ける。
【0010】(4)プロセッサの実行モードが、特権モ
ードかユーザモードかを指示する信号を発生する手段
と、データがグローバル変数かローカル変数かを指示す
る信号を発生する手段と、特権モードで実行される命令
を格納する特権モード用命令キャッシュと、ユーザモー
ドで実行される命令を格納するユーザモード用命令キャ
ッシュと、グローバル変数を格納するグローバル変数用
データキャッシュと、ローカル変数を格納するローカル
変数用データキャッシュと、上記したプロセッサの実行
モードに応じて、上記特権モード用命令キャッシュもし
くはユーザモード用命令キャッシュを選択する手段と、
データがグローバル変数かローカル変数かに応じて、グ
ローバル変数用データキャッシュもしくはローカル変数
用データキャッシュを選択する手段とを設ける。
【0011】(5)上記(1)(2)(3)(4)にお
いて、複数のキャッシュの構成を命令実行中に動的に変
更する手段を設ける。 (6)上記(3)(4)(5)において、命令を格納す
る2次命令キャッシュと、データを格納する2次データ
キャッシュとを設け、特権モード用命令キャッシュもし
くはユーザモード用命令キャッシュでキャッシュミスが
発生したとき上記2次命令キャッシュにアクセスし、グ
ローバル変数用データキャッシュもしくはローカル変数
用データキャッシュでキャッシュミスが発生したとき上
記2次データキャッシュにアクセスする。
【0012】本発明においては、上記(1)〜(6)の
ように構成したので、キャッシュミスを低減化し、デー
タ処理の高速化を図ることができる。また、上記(5)
のように複数のキャッシュの構成を命令実行中に動的に
変更可能とすることにより、データ処理装置の動作環境
に応じて適切なキャッシュ構成とすることができ、デー
タ処理の高速化を図ることができる。
【0013】
【発明の実施の形態】図2は本発明の実施例の構成を示
す図である。同図において、11はユーザモード用命令
キャッシュ、12は特権モード用命令キャッシュであ
り、プロセッサが特権モードで実行する命令は上記特権
モード用命令キャッシュ12によりキャッシングされ、
プロセッサがユーザモードで実行する命令は上記ユーザ
モード用命令キャッシュ11でキャッシングされる。プ
ロセッサの動作モードが特権モードであるかユーザモー
ドであるかは、制御レジスタ13中の状態レジスタ13
aに格納されており、状態レジスタ13aの内容に応じ
て上記キャッシュ11または12が選択される。
【0014】また、本実施例においては、上記制御レジ
スタ13中にキャッシュ構造レジスタ13bが設けられ
ており、キャッシュ構造レジスタ13bを、命令で書き
換えることにより、後述するようにキャッシュの構成
(各キャッシュの大きさ)を制御することができる。2
2はローカル変数用キャッシュ、23はグローバル変数
用キャッシュであり、データがグローバル変数の場合
は、上記グローバル変数用キャッシュ23でキャッシン
グされ、データがローカル変数の場合は、上記ローカル
変数用キャッシュ22でキャッシングされる。データが
グローバル変数であるかローカル変数であるかは、例え
ば32ビット論理アドレスの場合、最上位ビットがゼロ
であればグローバル変数であり、最上位ビットが”1”
であればローカル変数である。
【0015】次に図2により本実施例の動作を説明す
る。プログラムカウンタ10から与えられる命令アドレ
スにより、ユーザモード用命令キャッシュ11、特権モ
ード用命令キャッシュ12から上記アドレスの命令が読
み出される。状態レジスタ13aには、前記したよう
に、プロセッサの実行モード(特権モード/ユーザモー
ド)が格納されており、セレクタ14は、上記状態レジ
スタ13aから得られる上記モードを示すコントロール
信号によりユーザモード用命令キャッシュ11または特
権モード用命令キャッシ12の出力を選択する。セレク
タ14から出力される命令15aはデコーダ16に与え
られてデコードされるとともに、レジスタ番号がレジス
タファイル17に与えられる。
【0016】そして、上記レジスタファイル17から上
記レジスタ番号のデータ18がリードされ、算術論理演
算回路19に入力される。算術論理演算回路19は、デ
コーダ16が出力する命令のデコード結果15bに応じ
た算術論理演算を行い、演算結果21はセレクタ26に
与えられる。また、上記演算結果がデータアドレス20
の場合には、その演算結果がローカル変数用データキャ
ッシュ22、グローバル変数用キャッシュ23に与えら
れる。
【0017】また、上記データアドレス20の最上位ビ
ットがコントロール信号としてセレクタ24に与えら
れ、セレクタ24は上記ローカル変数用データキャッシ
ュ22、グローバル変数用キャッシュ23を選択し、キ
ャッシングされていたデータ25を出力する。セレクタ
24が出力するデータ25はセレクタ26に与えられ、
セレクタ26は前記算術論理演算回路19が出力する算
術論理演算結果21または上記データ25を選択しレジ
スタファイル17にライトする。
【0018】図3は前記したキャッシュ構造レジスタ1
3bによるキャッシュの構成制御を説明する図である。
キャッシュ構造レジスタ13bは同図に示すように、ユ
ーザモード用命令キャッシュ11およびローカル変数用
キャッシュ22の大きさをセットする領域A,Bを備え
ており、命令により領域A,Bにそれぞれのキャッシュ
の大きさを書き込むことによりキャッシュの構成を動的
に変更することができる。例えば、同図に示すように、
命令用のキャッシュとして、大きさが物理RAMで2K
バイトのキャッシュIC0〜IC3が設けられており、
またデータ用のキャッシュとして大きさが物理RAMで
2KバイトのキャッシュID0〜ID3が設けられてい
るとする。
【0019】上記構成において、キャッシュ構造レジス
タ13bの領域Aに1を書き込むと、同図に示すよう
に、命令用キャッシュIC0のイネーブル信号が1とな
り、その他の命令用キャッシュIC1〜IC3のイネー
ブル信号が0となる。これにより、ユーザモード用命令
キャッシュ11の大きさが2Kバイト、特権モード用命
令キャッシュ12の大きさが6Kバイトに設定される。
また、キャッシュ構造レジスタ13bの領域Bに2を書
き込むと データ用キャッシュID0,ID1のイネー
ブル信号が1となり、その他のデータ用キャッシュID
2,ID3のイネーブル信号は0となる。これにより、
ローカル変数用キャッシュ22の大きさは4Kバイトに
設定され、グローバル変更用キャッシュグローバル変数
用キャッシュ23の大きさは4Kに設定される。
【0020】上記のように、キャッシュ構造レジスタ1
3bにキャッシュの大きさを書き込むことにより、ユー
ザモード用命令キャッシュ11と特権モード用命令キャ
ッシュ12の大きさ、および、ローカル変数用キャッシ
ュ22とグローバル変更用キャッシュ23の大きさを命
令実行時に変えることができる。なお、上記図2には、
図5で説明した2次キャッシュが示されていないが、本
実施例においても、上記命令用キャッシュ、データ用キ
ャッシュに対応させて比較的大容量な命令用の2次キャ
ッシュおよびデータ用の2次キャッシュを設け、上記キ
ャッシュ11,12,22,23にキャッシュ・ミスが
発生した際、メモリに直接アクセスせずに上記命令用の
2次キャッシュおよびデータ用の2次キャッシュにアク
セスすることにより高速化を図ることができる。
【0021】図4は本実施例におけるキャッシュへのア
クセス制御のフローチャートの一例を示す図であり、同
図は、上記のように命令用およびデータ用の2次キャッ
シュを設けた場合の処理を示している。同図に示すよう
に、キャッシュにアクセスする際、まず、特権モードで
実行される命令かユーザモードで実行される命令である
かを判別し(ステップS1)、ユーザモードのときに
は、ユーザモード用命令キャッシュ11(Iu-Cache)にア
クセスし(ステップS2)、特権モードのときには、特
権モード用命令キャッシュ12(Is-Cache)にアクセスす
る(ステップS3,S4)。
【0022】また、データの場合には、例えば論理アド
レスの最上位”1”ビットよりグローバル変数かを判別
し(ステップS5)、グローバル変数の場合には、グロ
ーバル変数用命令キャッシュ23(Dg-Cache) にアクセ
スし(ステップS6)、ローカル変数の場合には、ロー
カル変数用キャッシュ22(Dl-Cache) にアクセスする
(ステップS7)。そして、上記ユーザモード用命令キ
ャッシュ11(Iu-Cache)、特権モード用命令キャッシュ
12(Is-Cache)でキャッシュ・ミスが発生すると、前記
した2次命令キャッシュ(Si-Cache)にアクセスする(ス
テップS8,S10)。また、上記ローカル変数用デー
タ・キャッシュ22(Dl-Cache)、グローバル変数用デー
タ・キャッシュ23(Dg-Cache)でキャッシュ・ミスが発
生すると、上記した2次データ・キャッシュ(Sd-Cache)
にアクセスする(ステップS9,S11)。上記実施例
では、命令やデータを複数のクラスに分類し、それぞれ
のクラスについて最適なキャッシュを設けているので、
全体のキャッシュ・ヒット率を向上させることができ
る。
【0023】
【発明の効果】以上説明したように、本発明において
は、複数のキャッシュを設け、データや命令を分類し
て、別々のキャッシュに格納するようにしたので、キャ
ッシュのヒット率を向上させ、データ処理の高速化を図
ることができる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明の実施例の構成を示す図である。
【図3】本発明の実施例におけるキャッシュの構成制御
を説明する図である。
【図4】キャッシュへのアクセス制御の一例を示す図で
ある。
【図5】キャッシュを含む一般的なデータ処理装置の概
略構成図である。
【図6】図5におけるキャッシュへのアクセス制御の一
例を示す図である。
【符号の説明】
1 プロセッサ 2a 特権モード用キャッシュ 2b ユーザモード用命令キャッシュ 2c グローバル変数用キャッシュ 2d ローカル変数用キャッシュ 3a 2次命令キャッシュ 3b 2次データキャッシュ 11 ユーザモード用命令キャッシュ 12 特権モード用命令キャッシュ 13 制御レジスタ 13a 状態レジスタ 13b キャッシュ構造レジスタ 22 ローカル変数用キャッシュ 23 グローバル変数用キャッシュ

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 命令を格納する複数の命令キャッシュ・
    メモリと、 データを格納する複数のデータキャッシュ・メモリと、 上記複数の命令キャッシュ・メモリの内のどの命令キャ
    ッシュ・メモリを選択するかを指示する信号を発生する
    第1の手段と、 上記複数のデータキャッシュ・メモリの内のどのデータ
    キャッシュ・メモリを選択するかをアドレスに応じて指
    示する信号を発生する第2の手段とを備え、 上記第1、第2の手段が出力により複数のキャッシュ・
    メモリを制御することを特徴とする複数のキャッシュ・
    メモリを備えたデータ処理装置。
  2. 【請求項2】 プロセッサの実行モードが、特権モード
    かユーザモードかを指示する信号を発生する手段と、 特権モードで実行される命令を格納する特権モード用命
    令キャッシュ・メモリと、 ユーザモードで実行される命令を格納するユーザモード
    用命令キャッシュ・メモリと、 上記したプロセッサの実行モードに応じて、上記特権モ
    ード用命令キャッシュ・メモリもしくはユーザモード用
    命令キャッシュ・メモリを選択する手段とを備えたこと
    を特徴とする複数のキャッシュ・メモリを備えたデータ
    処理装置。
  3. 【請求項3】 データがグローバル変数かローカル変数
    を指示する信号を発生する手段と、 グローバル変数を格納するグローバル変数用データキャ
    ッシュ・メモリと、 ローカル変数を格納するローカル変数用データキャッシ
    ュ・メモリと、 データがグローバル変数かローカル変数かに応じて、グ
    ローバル変数用データキャッシュ・メモリもしくはロー
    カル変数用データキャッシュ・メモリを選択する手段と
    を備えたことを特徴とする複数のキャッシュ・メモリを
    備えたデータ処理装置。
  4. 【請求項4】 プロセッサの実行モードが、特権モード
    かユーザモードかを指示する信号を発生する手段と、 データがグローバル変数かローカル変数かを指示する信
    号を発生する手段と、 特権モードで実行される命令を格納する特権モード用命
    令キャッシュ・メモリと、 ユーザモードで実行される命令を格納するユーザモード
    用命令キャッシュ・メモリと、 グローバル変数を格納するグローバル変数用データキャ
    ッシュ・メモリと、 ローカル変数を格納するローカル変数用データキャッシ
    ュ・メモリと、 上記したプロセッサの実行モードに応じて、上記特権モ
    ード用命令キャッシュ・メモリもしくはユーザモード用
    命令キャッシュ・メモリを選択する手段と、 データがグローバル変数かローカル変数かに応じて、グ
    ローバル変数用データキャッシュ・メモリもしくはロー
    カル変数用データキャッシュ・メモリを選択する手段と
    を備えたことを特徴とする複数のキャッシュ・メモリを
    備えたデータ処理装置。
  5. 【請求項5】 複数のキャッシュ・メモリの構成を命令
    実行中に動的に変更する手段を備えたことを特徴とする
    請求項1,2,3または請求項4の複数のキャッシュ・
    メモリを備えたデータ処理装置。
  6. 【請求項6】 命令を格納する2次命令キャッシュ・メ
    モリと、データを格納する2次データキャッシュ・メモ
    リとを備え、 特権モード用命令キャッシュ・メモリもしくはユーザモ
    ード用命令キャッシュ・メモリでキャッシュミスが発生
    したとき上記2次命令キャッシュ・メモリにアクセス
    し、 グローバル変数用データキャッシュ・メモリもしくはロ
    ーカル変数用データキャッシュ・メモリでキャッシュミ
    スが発生したとき上記2次データキャッシュ・メモリに
    アクセスすることを特徴とする請求項3,4または請求
    項5の複数のキャッシュ・メモリを備えたデータ処理装
    置。
JP9007184A 1997-01-20 1997-01-20 複数のキャッシュ・メモリを備えたデータ処理装置 Withdrawn JPH10207770A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9007184A JPH10207770A (ja) 1997-01-20 1997-01-20 複数のキャッシュ・メモリを備えたデータ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9007184A JPH10207770A (ja) 1997-01-20 1997-01-20 複数のキャッシュ・メモリを備えたデータ処理装置

Publications (1)

Publication Number Publication Date
JPH10207770A true JPH10207770A (ja) 1998-08-07

Family

ID=11658983

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9007184A Withdrawn JPH10207770A (ja) 1997-01-20 1997-01-20 複数のキャッシュ・メモリを備えたデータ処理装置

Country Status (1)

Country Link
JP (1) JPH10207770A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1326036C (zh) * 2003-12-25 2007-07-11 松下电器产业株式会社 数据处理装置、数据处理方法和编译装置及编译方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1326036C (zh) * 2003-12-25 2007-07-11 松下电器产业株式会社 数据处理装置、数据处理方法和编译装置及编译方法

Similar Documents

Publication Publication Date Title
JP3289661B2 (ja) キャッシュメモリシステム
US7133971B2 (en) Cache with selective least frequently used or most frequently used cache line replacement
US5276833A (en) Data cache management system with test mode using index registers and CAS disable and posted write disable
US4937738A (en) Data processing system which selectively bypasses a cache memory in fetching information based upon bit information of an instruction
US20080270707A1 (en) Data processor
JPH11312122A (ja) 使用者が構築可能なオンチッププログラムメモリシステム
US6606684B1 (en) Multi-tiered memory bank having different data buffer sizes with a programmable bank select
JPH04242848A (ja) 走行モード別キャッシュメモリ制御方式
JPH0748190B2 (ja) キャッシュメモリ内蔵マイクロプロセッサ
JPH0916462A (ja) データ処理装置および処理方法
US6718426B2 (en) Cache memory apparatus and central processor, hand-held device and arithmetic processor using the same
JP2003131945A (ja) キャッシュメモリ装置
JPH10207770A (ja) 複数のキャッシュ・メモリを備えたデータ処理装置
JPH1083349A (ja) キャッシュ・メモリ・バンク制御装置
US4853889A (en) Arrangement and method for speeding the operation of branch instructions
US7065612B2 (en) Processor having cache structure and cache management method for elevating operation speed
JPH0690732B2 (ja) マイクロプロセッサ
KR19990057856A (ko) 저전력 캐쉬 메모리 장치
JPH04205154A (ja) マイクロプロセッサシステム
JPH077355B2 (ja) 情報処理装置
JPH04291642A (ja) キャッシュ制御方式
JPH01125638A (ja) キャッシュメモリ装置
JPH1027134A (ja) アドレス変換装置およびこれを用いたプロセッサ
JPH06161896A (ja) 半導体記憶装置及びアドレス記憶方式
JPH09282230A (ja) キャッシュ用sramチップおよびキャッシュシステム

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20040406