JPH03235143A - キャッシュメモリ制御装置 - Google Patents

キャッシュメモリ制御装置

Info

Publication number
JPH03235143A
JPH03235143A JP2033054A JP3305490A JPH03235143A JP H03235143 A JPH03235143 A JP H03235143A JP 2033054 A JP2033054 A JP 2033054A JP 3305490 A JP3305490 A JP 3305490A JP H03235143 A JPH03235143 A JP H03235143A
Authority
JP
Japan
Prior art keywords
cache
memory
address
data
virtual 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
Application number
JP2033054A
Other languages
English (en)
Inventor
Takashi Oneda
大根田 隆
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co 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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2033054A priority Critical patent/JPH03235143A/ja
Priority to DE69126898T priority patent/DE69126898T2/de
Priority to EP91102021A priority patent/EP0442474B1/en
Publication of JPH03235143A publication Critical patent/JPH03235143A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 (イ)産業上の利用分野 本発明は、主記憶のデータの一部のコピーを記憶し、記
憶データの仮想アドレスをタグ情報として記憶する仮想
アドレスキャッシュメモリに関する。
(ロ)従来の技術 「インターフェース1989年2月号P、263〜F、
276、に開示されているように、キャッシュメモリは
大別して2つの方式に分けられ、つは、仮想アドレスを
ベースとしたタグ情報を記憶する仮想アドレスキャッシ
ュ、他の一つは、仮想アドレスをアドレス変換ユニット
(MMUと言う)で変換した物理アドレスを、タグ情報
として記憶する物理アドレスキャッシュである。
仮想アドレスキャッシュは、プロセッサが出力する仮想
アドレスをそのまま用いてキャッシュをアクセスするの
で、アクセスを高速化できるという利点を有しているが
、プロセッサが実行しようとするプロセスを切換える、
所謂、コンテキストスイッチが起こる度に、キャッシュ
の内容をフラッシュしなければならないという欠点があ
る。
他方、物理アドレスキャッシュは、キャッシュと主記憶
との情報の一貫性が保たれるので、コンテキストスイッ
チが起こる度にキャッシュの内容をフラッシュする必要
はないが、アクセスのために物理アドレスへの変換を要
するため、その変換時間の分だけキャッシュのアクセス
が遅くなる。
(ハ)発明が解決しようとする課題 従来の技術では、仮想アドレスキャッシュであっても物
理アドレスキャッシュであっても、利点を有するものの
各々個有の欠点を有し、理想的なキャッシュメモリ制御
を実現できなかった。
そこで、本発明は、仮想アドレスキャッシュにおけるア
クセスの高速化という利点を生かしつつ、キャッシュ内
容のフラッシュ回数を減少させることを目的とするもの
である。
(ニ)課題を解決するための手段 本発明は、主記憶のデータの一部のコピーを記憶するデ
ータメモリと、該データメモリに記憶したデータの仮想
アドレスの第1部分をタグ情報として記憶し、且つ、デ
ータの有効性を示すバリッドビットを記憶したタグメモ
リとより成り、プロセッサが出力する仮想アドレスの第
2部分をアドレスとして入力するキャッシュメモリの制
御装置において、複数のプロセスの中から選択した所定
数のプロセスに対してシリアルなプロセス識別番号を割
り付け、前記プロセッサが実行しようとするプロセスの
前記プロセス識別番号を発生するプロセス識別番号発生
手段を設け、該発生手段からのプロセス識別番号を前記
キャッシュメモリのアドレスとして付加する構成として
、上記課題を解決するものである。
(ネ)作用 本発明では、プロセス識別番号をキャッシュメモリのア
ドレスとして付加しているので、プロセス毎にキャッシ
ュメモリが分割して使用され、このため、プロセス識別
番号が割り付けられている所定数のプロセス間であれば
、コンテキストスイッチが起こっても、キャッシュの内
容をフラッシュする必要がなくなる。又、基本的には仮
想アドレスキャッシュを採用しているため、アクセスの
高速性も損われない。
(へ)実施例 第1図は、本発明の実施例としてのダイレクトマツブト
キャッシュを示すブロック図であり、(1〉は仮想アド
レスVAを出力するMPU、(2)はデータを記憶する
主記憶、(3)は仮想アドレスVAを物理アドレスRA
に変換するアドレス変換手段としてのMMU、(4)は
主記憶のデータの一部のコピーを記憶するデータメモリ
(5)とタグメモ)(6)とより成るキャッシュメモリ
である。
(7)はO8が複数のプロセスに割り付けたプロセスI
Dのうち、MPU(1)が実行しようとするプロセスI
DがセットされるレジスタAであって、本実施例ではO
8が割り付けるプロセスIDを256通りとしているた
め、レジスタAは8ビツトで構成されている。このレジ
スタAの出力は、MMU(3)に入力されており、MM
U(3)では実行しようとするプロセスに応じて仮想ア
ドレスVAを物理アドレスRAに変換し、主記憶(2)
にアドレスとして与えている。尚、仮想アドレスVAの
うちオフセット部分は、主記憶(2〉の下位アドレスと
してそのまま与えられる。
又、本実施例では、O8において、256通りのプロセ
スIDから任意の4つのプロセスを選択し、各プロセス
にシリアルなプロセス識別番号’004.’01,1.
’10」、’ll」を割り付けており、その対応を第4
図に示すようにテーブル(8)に記憶している。そして
、MPU(1)が実行しようとするプロセスに対応した
プロセス識別番号を2ビツトのジスタB(9)にセット
するようにしており、このレジスタB(9)の出力が、
キャッシュメモリ(4)中のデータメモリ(5)及びタ
グメモリ(6)に、上位アドレスとして与えられる。
キャッシュメモリ(4)の両メモリ(5)(6)の下位
アドレスとしては、第2図に示す仮想アドレスVA中の
インデックスフィールドが入力され、仮想アドレスVA
中のタグフィールドがタグ情報としてタグメモリ(6)
に記憶される。このタグメモリ(6)には記憶したデー
タの有効性を示すバリッドビットVも記憶されており、
このバリッドビットをリセットすることにより対応する
キャッシュデータはフラッシュ、即ち、無効化される。
ところで、第1図において、(10)(11)(12)
はバスの接続を制御するバッファ、(13)はMPU(
1)が出力する仮想アドレスのタグフィールドとタグメ
モリから読出したタグ情報とを比較する比較器、(14
)は比較器の出力と読出したバリッドビットとの論理積
をとるANDゲート、(15)はANDゲートの出力に
応じてバッファ(10)(11)(12)を制御すると
共に、タグメモリ(6〉のバリッドビットをリセットす
るコントロールロジック、〈16)はバリッドビットを
リセットするときのみコントロールロジック(15〉か
ら出力されるロジックアドレスを選択するマルチプレク
サMUX、(17)はスーパーバイザーモードのときの
みMPU(1)が出力する物理アドレスを選択するMU
Xであり、主記憶(2)の特定領域にはテーブル(8)
を含むO5が常駐されており、O5はスーパーバイザー
モードにおいてMPU(1)が出力する物理アドレスに
より直接アクセスされる。
以下、本実施例を更に詳しく説明する。
先ず、キャッシュメモリ(4)のアドレスには、上位に
レジスタBからのプロセス識別番号が、そして、下位に
仮想アドレスVAのインデックスが与えられているため
、データメモリ(5)及びタグメモリ(6〉は、第3図
に示すように、プロセス識別番号に対応した4つのエリ
ア(5a)〜(5d)及び(6a)〜(6d)に分割さ
れ、これらエリア内においてインデックスでアドレス指
定されるエントリーにデータ及びタグ情報が書込み又は
読出しされる。
例えば、第4図のようにプロセスID’l」。
’50..’100..’125J(ブo(=スfi別
番号r00」〜「11」に各々割り付けられているとき
、プロセスID’50.のプロセスをMPU(1)が実
行しようとして、プロセスID’ 50」をレジスタA
に、そして、プロセス識別番号「01.をレジスタBに
セットし、仮想アドレスVAを出力すると、データメモ
リ(5)においては、分割エリア(5b)のインデック
スによりアドレス指定されるデータがバッファ(11)
を介してMPU(1)に取込まれ、タグメモリ(6〉に
おいては、分割エリア(6b)のインデックスによりア
ドレス指定されるタグ情報が読出され、比較器(13)
においてMPU(1)が出力した仮想アドレスのタグフ
ィールドと比較される。
比較の結果、タグが一致し、そのバリッドビットがセッ
トされていれば、キャッシュがヒツトしたので、MPU
(1)は取り込んだデータを正しいと判断して利用する
。ヒツトしないときは、MMU(3)で変換された物理
アドレスに基づき主記憶(2)から仮想アドレスに対応
するデータがバッファ(10)を介してMPU(1)に
読込まれる。又、このデータ及び対応する仮想アドレス
のタグフィールドは、データメモリ(5)及びタグメモ
リ(6)において、各々、分割エリア(5b)及び(6
b)のインデックスによりアドレス指定されるエンドノ
ーに書込まれる。このとき、記憶したデータのバリッド
ビットがリセットされていれば、それを有効化する。
このように、キャッシュメモリ(4〉の各分割エリアは
、4つのプロセスによって各々利用され、従って、これ
ら4つのプロセス間でコンテキストスイッチが起こった
ときは、キャッシュ内容をフラッシュする必要がない。
ここで、O8の処理内容を含めて具体的に説明すると、
第5図に示すように、O8はコンテキストスイッチが起
こると、次にMPU(1)が実行すべきプロセスが、テ
ーブル(8)に割り付けられているプロセスであるか検
索し、テーブル(8)のプロセスであれば、キャッシュ
をフラッシュすることなく、そのプロセスIDをレジス
タAに、そのプロセス識別番号をレジストBにセットす
る。
又、例えば、プロセスID’70.のプロセスのように
、テーブル(8)に割り付けられていないプロセスを実
行すべきときは、キャッシュメモリ(4)の4つの分割
エリアのうちいずれか1つのエリアを全てフラッシュす
る。即ち、レジスタBにフラッシュしようとするエリア
に対応するプロセス識別番号をセットし、MPU(1)
からコントロールロジック(15)にフラッシュの指示
を与える。すると、コントロールロジック(15)は、
エリア全域をカバーするロジックアドレスをタグメモリ
(6)に順次出力すると共に、リセット信号を出力する
ことにより、エリア内のバリッドビットを全てハード的
にリセットしてフラッシュを行う。
そして、1エリアのフラッシュの後、そのエリアに対応
するプロセス識別番号を新たに実行しようとするプロセ
スID、ここでは「70.に割り付は変更し、以下同様
に、レジスタA及びBへのセットを行う。
以上説明した実施例では、実行しようとするプロセスの
プロセスID及びプロセス識別番号を各々セットする独
立したレジスタA及びBを設けていたが、レジスタAの
所定のビット出力をプロセス識別番号として用い、レジ
スタBをAで兼用することもできる。例えば、レジスタ
Aの下位2ビツトの出力をレジスタBの出力の代わりに
用いるのである。この場合、プロセス識別番号r00、
には、プロセスID0,4,8.・・・・・・・・・、
252のうちのいずれか1つのプロセスIDを割り付け
なければならず、以下、同様に、rol、。
rto、、’it、に対しても、下位2ビツトが各々r
01」、rlo」、「11」を有するプロセスIDのう
ちいずれか1つのプロセスIDを割り付けるという制限
が加えられ、プロセスIDを任意に選択可能であった前
述の実施例と比べれば自由度は減るが、回路構成は簡略
化される。
又、本発明は、上述のダイレクトマツブトキャッシュだ
けでなく、nウエイセットアソシエイテイプキャッシュ
にも適用できることは言うまでもない。
(ト)発明の効果 本発明に依れば、仮想アドレスキャッシュを基本として
アクセスの高速化を保ちながら、コンテキストスイッチ
によるキャッシュ内容のフラッシュ回数を減少させるこ
とができる。
【図面の簡単な説明】
第1図は本発明の実施例の構成を示すブロック図、第2
図は仮想アドレスのフィールド内容を示す図、第3図は
キャッシュメモリとプロセス識別番号との関係を示す図
、第4図はプロセスIDとプロセス識別番号との対応テ
ーブルを示す図、第5図は実施例におけるO8の処理内
容を示すフローチャートである。 (1)・・・MPU、 (2)・・・主記憶、 (3)
・・・MMU、   (4)・・・キャッシュメモリ、
(5)・・・データメモリ、  (6)・・・タグメモ
リ、 (7)・・・レジスタA1(8)・・・テーブル
、 (9)・・・レジスタB、  (13)・・・比較
器、(15)・・・コントロールロシ・ンク。

Claims (1)

    【特許請求の範囲】
  1. (1)主記憶のデータの一部のコピーを記憶するデータ
    メモリと、該データメモリに記憶したデータの仮想アド
    レスの第1部分をタグ情報として記憶し、且つ、データ
    の有効性を示すバリッドビットを記憶したタグメモリと
    より成り、プロセッサが出力する仮想アドレスの第2部
    分をアドレスとして入力するキャッシュメモリの制御装
    置において、複数のプロセスの中から選択した所定数の
    プロセスに対してシリアルなプロセス識別番号を割り付
    け、前記プロセッサが実行しようとするプロセスの前記
    プロセス識別番号を発生するプロセス識別番号発生手段
    を設け、該発生手段からのプロセス識別番号を前記キャ
    ッシュメモリのアドレスとして付加する構成としたこと
    を特徴とするキャッシュメモリ制御装置。
JP2033054A 1990-02-13 1990-02-13 キャッシュメモリ制御装置 Pending JPH03235143A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2033054A JPH03235143A (ja) 1990-02-13 1990-02-13 キャッシュメモリ制御装置
DE69126898T DE69126898T2 (de) 1990-02-13 1991-02-13 Vorrichtung und Verfahren zum Steuern eines Cache-Speichers
EP91102021A EP0442474B1 (en) 1990-02-13 1991-02-13 Apparatus and method for controlling cache memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2033054A JPH03235143A (ja) 1990-02-13 1990-02-13 キャッシュメモリ制御装置

Publications (1)

Publication Number Publication Date
JPH03235143A true JPH03235143A (ja) 1991-10-21

Family

ID=12376050

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2033054A Pending JPH03235143A (ja) 1990-02-13 1990-02-13 キャッシュメモリ制御装置

Country Status (1)

Country Link
JP (1) JPH03235143A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07210526A (ja) * 1994-01-20 1995-08-11 Hitachi Ltd 並列計算機
JP2000259498A (ja) * 1999-03-10 2000-09-22 Internatl Business Mach Corp <Ibm> マルチスレッド・プロセッサの命令キャッシュ
JP2008511882A (ja) * 2004-08-31 2008-04-17 フリースケール セミコンダクター インコーポレイテッド 一意のタスク識別子を用いてデータを共用する仮想アドレス・キャッシュ及び方法
JP2008512758A (ja) * 2004-09-07 2008-04-24 フリースケール セミコンダクター インコーポレイテッド 仮想アドレス・キャッシュに格納されたデータを共用する仮想アドレス・キャッシュ及び方法
JP2009064462A (ja) * 2008-10-27 2009-03-26 Toshiba Corp マイクロプロセッサ
US7673155B2 (en) 2001-09-28 2010-03-02 Kabushiki Kaisha Toshiba Microprocessor with improved task management and table management mechanism

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07210526A (ja) * 1994-01-20 1995-08-11 Hitachi Ltd 並列計算機
JP2000259498A (ja) * 1999-03-10 2000-09-22 Internatl Business Mach Corp <Ibm> マルチスレッド・プロセッサの命令キャッシュ
US7673155B2 (en) 2001-09-28 2010-03-02 Kabushiki Kaisha Toshiba Microprocessor with improved task management and table management mechanism
JP2008511882A (ja) * 2004-08-31 2008-04-17 フリースケール セミコンダクター インコーポレイテッド 一意のタスク識別子を用いてデータを共用する仮想アドレス・キャッシュ及び方法
JP2008512758A (ja) * 2004-09-07 2008-04-24 フリースケール セミコンダクター インコーポレイテッド 仮想アドレス・キャッシュに格納されたデータを共用する仮想アドレス・キャッシュ及び方法
JP2009064462A (ja) * 2008-10-27 2009-03-26 Toshiba Corp マイクロプロセッサ

Similar Documents

Publication Publication Date Title
US4980816A (en) Translation look-aside buffer control system with multiple prioritized buffers
JP3802061B2 (ja) アドレス変換速度アップのための並列アクセスマイクロ−tlb
US5754818A (en) Architecture and method for sharing TLB entries through process IDS
JP3666689B2 (ja) 仮想アドレス変換方法
US6014732A (en) Cache memory with reduced access time
JPH03142644A (ja) キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置
JPH03266153A (ja) 速度向上のために部分アドレスを使用する2レベル変換ルックアサイドバッファ
US20070288721A1 (en) Miss-under-miss processing and cache flushing
US6564301B1 (en) Management of caches in a data processing apparatus
JPH10177520A (ja) データプロセッサ及びデータ処理システム
JP3449487B2 (ja) 変換索引緩衝機構
JPH04320553A (ja) アドレス変換機構
US5179675A (en) Data processing system with cache memory addressable by virtual and physical address
JPH0322155A (ja) キャッシュメモリ装置
US5737575A (en) Interleaved key memory with multi-page key cache
US12164425B2 (en) Technique for tracking modification of content of regions of memory
JP2846697B2 (ja) キャッシュメモリ制御装置
EP0442474B1 (en) Apparatus and method for controlling cache memory
JPH07281948A (ja) メモリ制御装置
JPH11345168A (ja) デ―タ処理システム内のキャッシュ・メモリにアクセスするための方法およびシステム
JP2000148589A (ja) メモリ管理装置、方法及びプログラムを記憶した記憶媒体
JPS623354A (ja) キヤツシユメモリ・アクセス方式
KR0184475B1 (ko) 캐쉬메모리 액세스회로
JPH06103477B2 (ja) 並列キャッシュメモリ
JPH06259329A (ja) アドレス変換機構を備えた情報処理装置