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

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

Info

Publication number
JPH11259361A
JPH11259361A JP10063350A JP6335098A JPH11259361A JP H11259361 A JPH11259361 A JP H11259361A JP 10063350 A JP10063350 A JP 10063350A JP 6335098 A JP6335098 A JP 6335098A JP H11259361 A JPH11259361 A JP H11259361A
Authority
JP
Japan
Prior art keywords
data
cache memory
unit
management information
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.)
Granted
Application number
JP10063350A
Other languages
English (en)
Other versions
JP2918531B1 (ja
Inventor
Kiyomitsu Nakane
清光 中根
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP10063350A priority Critical patent/JP2918531B1/ja
Application granted granted Critical
Publication of JP2918531B1 publication Critical patent/JP2918531B1/ja
Publication of JPH11259361A publication Critical patent/JPH11259361A/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 低速キャッシュメモリの容量を有効に活用し
て読み出し要求のデータが低速キャッシュメモリに存在
する確率を向上させる。 【解決手段】 キャッシュメモリ制御装置は、上記2つ
のキャッシュメモリに記憶されている複数のデータに対
して、個別のデータに対するアドレス及びいずれのキャ
ッシュメモリにあるかを示す管理情報を記憶するTAG
メモリ7と、上記2つのキャッシュメモリの記憶内容が
相互に異なるように、データを高速小容量キャッシュ1
又は低速大容量キャッシュ2のいずれか一方に書き込む
と共に、データの管理情報をTAGメモリ7に書き込む
書き込み部9と、データの読み出し要求を受けた場合、
TAGメモリ7からデータの管理情報を読み出し、この
管理情報に基づいて高速小容量キャッシュ1又は低速大
容量キャッシュ2のいずれか一方からデータを読み出す
読み出し部11と、を有する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、キャッシュメモリ
を制御するキャッシュメモリ制御装置、特に高速小容量
キャッシュメモリ及び低速大容量キャッシュメモリを制
御するキャッシュメモリ制御装置に関する。
【0002】
【従来の技術】一般的に、計算機等の情報処理システム
には、主記憶装置とCPU等のプロセッサとの間に位置
するバッファ装置として、キャッシュメモリ装置が含ま
れている。そして、プロセッサの性能を最大に生かすよ
うに、キャッシュメモリ装置を構成することが要望され
ている。
【0003】従来のキャッシュメモリ装置では、キャッ
シュメモリをSRAM等の高速RAMで構成していた。
この構成によれば、キャッシュメモリにデータが存在す
る場合には、データの読み出しが高速に行われる。
【0004】しかし、高速RAMは、高価格であるた
め、必要な容量のキャッシュメモリを高速RAMで構成
すると、コストが非常に高くなってしまう。また、高速
RAMは集積密度も大きくないため、必要な容量のキャ
ッシュメモリを高速RAMで構成すると、チップ面積が
大きくなってしまう。このため、高速RAMでキャッシ
ュメモリを構成する場合、その容量を小さくするしかな
いので、キャッシュメモリにおけるヒット率が低くなっ
てしまう。この結果、ミスヒットが多発した場合、主記
憶装置からデータを読み出すことが多くなり、高速化が
阻害されることになる。
【0005】これに対して、従来、キャッシュメモリを
DRAM等の低速RAMで構成したキャッシュメモリ装
置もあった。しかし、このキャッシュメモリ装置におい
ては、キャッシュメモリにおけるヒット率を向上させる
ことができるが、高速なデータ読み出しを実現すること
はできない。
【0006】そこで、特開平5−35589号公報によ
る技術(以下、従来改良技術という)がある。この従来
改良技術によれば、階層構造のキャッシュメモリを制御
するキャッシュメモリシステムが示されている。このキ
ャッシュメモリシステムは、高速小容量キャッシュメモ
リ及び低速大容量キャッシュメモリと、これらを制御す
る制御部と、を有する。なお、この制御動作とは、例え
ば、アドレスをキャッシュメモリに供給しデータを読み
出す動作や、データを主記憶から読み出してキャッシュ
メモリに書き込む動作等のことである。
【0007】従来改良技術のキャッシュメモリシステム
においては、SRAM等の高速小容量メモリが上位階層
キャッシュメモリであり、DRAM等の低速大容量メモ
リが下位階層キャッシュメモリであり、高速小容量キャ
ッシュメモリに書き込まれるデータは、低速大容量キャ
ッシュメモリにも書き込まれている。
【0008】そして、データの読み出し要求に対して、
先ず、高速小容量キャッシュメモリがアクセスされ、ヒ
ットした場合には、高速小容量キャッシュメモリからデ
ータが読み出される。また、高速小容量キャッシュメモ
リに上記データがない場合、低速大容量キャッシュメモ
リがアクセスされ、ヒットした場合、低速小容量キャッ
シュメモリからデータが読み出される。
【0009】この従来改良技術によれば、キャッシュメ
モリを高速小容量メモリのみで構成した場合に比べて、
主記憶装置にアクセスしてデータを読み出す頻度を低下
させることができると共に、キャッシュメモリを低速大
容量メモリのみで構成した場合に比べて、データの高速
読み出しを実現できる。
【0010】
【発明が解決しようとする課題】しかしながら、上述の
従来改良技術には、以下に示す問題点があった。即ち、
下位の階層である低速キャッシュメモリには、上位の階
層である高速小容量キャッシュメモリが記憶しているデ
ータが全て記憶されており、低速大容量キャッシュメモ
リの記憶内容に無駄が生じていた。このため、読み出し
要求のデータが低速大容量キャッシュメモリに存在する
確率が低くなってしまった。
【0011】また、従来改良技術では、低速大容量キャ
ッシュメモリにのみ存在するデータを読み出す場合で
も、制御部は、以下のような動作を行っている。即ち、
制御部は、先ず、読み出し要求のデータが高速キャッシ
ュメモリに存在するかを調べ、存在しないと判定したと
き、初めて、読み出し要求のデータが低速キャッシュメ
モリに存在するかを調べ、存在すると判定したとき、そ
のアドレスからデータを読み出している。このため、デ
ータを低速キャッシュメモリから読み出す動作が遅れて
しまう。
【0012】本発明は、上記の問題点を解決するために
なされたものであり、その目的は、高速キャッシュメモ
リ及び低速キャッシュメモリを制御する制御装置におい
て、低速キャッシュメモリの容量を有効に活用して読み
出し要求のデータが低速キャッシュメモリに存在する確
率を向上させると共に、低速キャッシュメモリからデー
タを迅速に読み出すことができる装置を提供することに
ある。
【0013】
【課題を解決するための手段】以上のような目的を達成
するために、第1の発明に係るキャッシュメモリ制御装
置は、高速小容量の第1キャッシュメモリ及び低速大容
量の第2キャッシュメモリを制御するキャッシュメモリ
制御装置において、前記第1キャッシュメモリに記憶さ
れている複数のデータと、前記第2キャッシュメモリに
記憶されている複数のデータと、に対して、個別のデー
タに対するアドレス及びいずれのキャッシュメモリにあ
るかを示す管理情報を記憶する管理情報記憶手段と、前
記第1キャッシュメモリの記憶内容と前記第2キャッシ
ュメモリの記憶内容とが異なるように、データを前記第
1キャッシュメモリ又は前記第2キャッシュメモリのい
ずれか一方に書き込むと共に、前記データの管理情報を
前記管理情報記憶手段に書き込む書き込み手段と、デー
タの読み出し要求を受けた場合、前記管理情報記憶手段
から前記データの管理情報を読み出し、この管理情報に
基づいて前記第1キャッシュメモリ又は前記第2キャッ
シュメモリのいずれか一方から前記データを読み出す読
み出し手段と、を有するものである。
【0014】第2の発明に係るキャッシュメモリ制御装
置は、第1の発明において、前記読み出し手段は、デー
タの読み出し要求を受けた場合、前記管理情報記憶手段
から前記データの管理情報を読み出し、管理情報のアド
レスに基づいて、前記第1キャッシュメモリ及び前記第
2キャッシュメモリの両者にアクセスし、前記管理情報
に基づいて、前記第1キャッシュメモリ又は前記第2キ
ャッシュメモリのいずれか一方から前記データを読み出
すものである。
【0015】第3の発明に係るキャッシュメモリ制御装
置は、第1の発明において、前記読み出し手段は、デー
タの読み出し要求を受けた場合、前記管理情報記憶手段
から前記データの管理情報を読み出し、管理情報に基づ
いて、前記第1キャッシュメモリ又は前記第2キャッシ
ュメモリのいずれか一方にアクセスして、前記データを
読み出すものである。
【0016】第4の発明に係るキャッシュメモリ制御装
置は、第1、2又は3の発明において、前記書き込み手
段は、プログラムコードデータを前記第1キャッシュメ
モリに書き込むと共に、オペランドデータを第2キャッ
シュメモリに書き込むものである。
【0017】第5の発明に係るキャッシュメモリ制御装
置は、第1、2又は3の発明において、前記第2キャッ
シュメモリから読み出されたデータと、前記第1キャッ
シュメモリに記憶された各データのうち前記読み出し手
段による最近の読み出し頻度が少ないデータとを相互に
入れ替えると共に、移動させたデータの管理情報を前記
管理情報記憶手段に更新させるキャッシュメモリ制御手
段を有するものである。
【0018】第6の発明に係るキャッシュメモリ制御装
置は、第5の発明において、前記第1キャッシュメモリ
及び前記第2キャッシュメモリは、複数のセットと複数
のウェイとがそれぞれ対応づけられたセットアソシエイ
ティブキャッシュメモリを構成し、前記複数のウェイの
うち、所定のウェイを前記第1キャッシュメモリに割り
当てると共に、前記所定ウェイ以外のウェイを前記第2
キャッシュメモリに割り当て、前記キャッシュメモリ制
御手段は、前記第2キャッシュメモリから読み出された
読み出しデータと、前記第1キャッシュメモリに記憶さ
れた各データのうち前記読み出し手段による最近の読み
出し頻度が少ないデータと、について、前記第2キャッ
シュメモリの前記読み出しデータの格納されたセット
と、前記第1キャッシュメモリの前記セットとの間で、
相互に入れ替えると共に、移動させたデータの管理情報
を前記管理情報記憶手段に更新させるものである。
【0019】第7の発明に係るキャッシュメモリ制御装
置は、第5の発明において、前記書き込み手段が、過去
に第1キャッシュメモリ及び第2キャッシュメモリに書
き込んだ実績を示す書き込み実績情報を記憶する書き込
み実績情報記憶手段と、この書き込み実績情報記憶手段
に記憶された書き込み実績情報に基づいて、前記読み出
し手段により次に読み出されるデータを予測する予測手
段と、を有し、前記予測手段が予測した予測データが前
記第2キャッシュメモリに存在する場合、前記キャッシ
ュメモリ制御手段は、前記予測データと、前記第1キャ
ッシュメモリに記憶された各データのうち前記読み出し
手段による最近の読み出し頻度が少ないデータと、を相
互に入れ替え、移動させたデータの管理情報を前記管理
情報記憶手段に更新させるものである。
【0020】第8の発明に係るキャッシュメモリ制御装
置は、第7の発明において、前記書き込み実績情報は、
前記書き込み手段により過去に書き込まれた複数のデー
タの管理情報であり、前記予測手段は、前記読み出し手
段により現在読み出されたデータの管理情報と、前記書
き込み実績記憶手段により記憶された各データの管理情
報と、の比較に基づいて、前記予測データを予測するも
のである。
【0021】第9の発明に係るキャッシュメモリ制御装
置は、高速小容量の第1キャッシュメモリ及び低速大容
量の第2キャッシュメモリを制御するキャッシュメモリ
制御装置において、前記第1キャッシュメモリに記憶さ
れている複数のデータに対して、個別のデータに対する
アドレス及び第1キャッシュメモリにある旨を示す管理
情報を記憶する第1管理情報記憶手段と、前記第1キャ
ッシュメモリに記憶されている複数のデータと、前記第
2キャッシュメモリに記憶されている複数のデータと、
に対して、個別のデータに対するアドレス及びいずれの
キャッシュメモリにあるかを示す管理情報を記憶する第
2管理情報記憶手段と、前記第1キャッシュメモリの記
憶内容と前記第2キャッシュメモリの記憶内容とが異な
るように、データを前記第1キャッシュメモリ又は前記
第2キャッシュメモリのいずれか一方に書き込むと共
に、前記データが第1キャッシュメモリに書き込まれた
場合には、前記データの管理情報を前記第2管理情報記
憶手段及び前記第1管理情報記憶手段に書き込み、前記
データが第2キャッシュメモリに書き込まれた場合に
は、前記データの管理情報を前記第2管理情報記憶手段
に書き込む書き込み手段と、データの読み出し要求を行
うデータ読み出し指令手段と、このデータ読み出し指令
手段によりデータ読み出し要求を受けた場合、前記第1
管理情報記憶手段又は前記第2管理情報記憶手段のうち
少なくとも一方から前記データの管理情報を読み出し、
この管理情報に基づいて、前記第1キャッシュメモリ又
は前記第2キャッシュメモリのいずれか一方から前記デ
ータを読み出す読み出し手段と、を有し、前記読み出し
手段は、システムバスを介して演算制御装置と接続され
ており、前記演算制御装置によるデータの読み出し要求
に対しては、前記データの管理情報を前記第2管理情報
記憶手段のみから読み出し、前記データ読み出し指令手
段によるデータ読み出し要求に基づいた読み出し動作を
行っていないときに、前記第1キャッシュメモリ又は前
記第2キャッシュメモリのいずれか一方から前記データ
を読み出すものである。
【0022】第10の発明に係るキャッシュメモリ制御
装置は、第9の発明において、前記第1管理情報記憶手
段は、高速動作のメモリであり、前記第2管理情報記憶
手段は、低速動作のメモリであり、前記システムバスに
は、主記憶装置と、システムバスの使用権を与えるシス
テムバス使用権付与手段と、が接続されており、前記読
み出し手段は、前記データ読み出し指令手段によるデー
タ読み出し要求に対して、前記第1管理情報記憶手段及
び前記第2管理情報記憶手段にアクセスし、前記第1管
理情報記憶手段から送られた管理情報から、前記データ
が前記第1キャッシュメモリに存在しないと判定した場
合には、前記システムバス使用権付与手段にシステムバ
ス使用権の要求信号を送り、前記第2管理情報記憶手段
から送られた管理情報から、前記データが前記第1キャ
ッシュメモリ及び前記第2キャッシュメモリの両者に存
在しないと判定した場合には、前記システムバス使用権
付与手段により付与されたシステムバス使用権に基づい
て、主記憶装置にアクセスするものである。
【0023】第11の発明に係るキャッシュメモリ制御
装置は、第1又は2の発明において、前記第1キャッシ
ュメモリはSRAMであり、前記第2キャッシュメモリ
はDRAMであり、前記読み出し手段は、SRAMに対
しては、管理情報のアドレスを1サイクルで送信し、D
RAMに対しては、管理情報のアドレスを2分割し、分
割されたアドレスをそれぞれ1サイクルに対応させて、
前記データのアドレスを2サイクルで送信する送信手段
と、DRAM又はSRAMのうちいずれか一方から読み
出されたデータを受信するデータ受信手段と、前記送信
手段が管理情報のアドレスを送信した時を基準としたと
き、SRAMから読み出されるデータを受信するタイミ
ングに対して、DRAMから読み出されるデータを受信
するタイミングを遅らせるように前記データ受信手段を
制御するデータ受信制御手段と、を有するものである。
【0024】
【発明の実施の形態】以下、図面に基づいて、本発明の
好適な実施の形態について説明する。
【0025】実施の形態1.図1は、実施の形態1であ
るキャッシュメモリ制御装置を含むキャッシュメモリ制
御システムの構成を示すブロック図である。
【0026】(1−1)キャッシュメモリ制御システム
の構成 キャッシュメモリ制御システムは、高速小容量キャッシ
ュメモリ(以下、高速小容量キャッシュという)1及び
低速大容量キャッシュメモリ(以下、低速大容量キャッ
シュという)2と、これらのキャッシュメモリ1、2を
制御するキャッシュメモリ制御装置と、システムバス3
を介して上記キャッシュメモリ制御装置と接続されてい
る主記憶装置4と、I/Oコントローラ5と、を有す
る。
【0027】このI/Oコントローラ5には、周辺装置
(図示せず)が接続されている。
【0028】(1−2)キャッシュメモリ制御装置の各
部 以下、キャッシュメモリ制御装置を構成している各部の
説明を行う。
【0029】(1)TAGメモリ(管理情報記憶部) TAGメモリ7は、高速小容量キャッシュ1に記憶され
ている複数のデータと、低速大容量キャッシュ2に記憶
されている複数のデータと、に対して、個別のデータに
対するアドレス及びいずれのキャッシュにあるかを示す
管理情報を記憶する。
【0030】(2)データ読み出し指令部 データ読み出し指令部8は、データの読み出し要求を後
述する読み出し部に指令する。
【0031】(3)書き込み部 書き込み部9は、高速小容量キャッシュ1の記憶内容と
低速大容量キャッシュ2の記憶内容とが異なるように、
データを上記キャッシュメモリのいずれか一方に書き込
むと共に、データの管理情報をTAGメモリ7に書き込
む。書き込み部9は、書き込み制御部10と書き込み用
データパス選択部とを有する。
【0032】書き込み制御部10は、データを高速小容
量キャッシュ1又は低速大容量キャッシュ2のいずれか
一方に書き込む旨を示す情報と書き込み対象データと
を、書き込み用データパス選択部に送ると共に、データ
の管理情報をTAGメモリ7に書き込む。書き込み用デ
ータパス選択部は、書き込み制御部10から送られた上
記情報に基づいて、書き込み制御部10から送られたデ
ータを高速小容量キャッシュ1又は低速大容量キャッシ
ュ2のいずれか一方に書き込む。
【0033】(4)読み出し部 読み出し部11は、データの読み出し要求を受けた場
合、TAGメモリ7から上記データの管理情報を読み出
し、この管理情報に基づいて高速小容量キャッシュ1又
は低速大容量キャッシュ2のいずれか一方からデータを
読み出す。読み出し部11は、読み出し制御部12と読
み出し用データパス選択部とを有する。
【0034】読み出し制御部12は、データ読み出し指
令部8によるデータの読み出し要求を受けた場合、TA
Gメモリ7から上記データの管理情報を読み出し、この
管理情報のアドレスに基づいて、高速小容量キャッシュ
1及び低速大容量キャッシュ2の両者にアクセスすると
共に、管理情報を読み出し用データパス選択部へ送る。
【0035】読み出し用データパス選択部は、読み出し
制御部12から送られた管理情報に基づいて、高速小容
量キャッシュ1又は低速大容量キャッシュ2のいずれか
一方からデータを読み出して、読み出し制御部12へ送
る。
【0036】なお、読み出し制御部12は、必要に応じ
て、システムバス3を介して、主記憶装置4からもデー
タを読み出す。また、書き込み部9が書き込むデータ
は、読み出し制御部11により主記憶装置4から読み出
されたデータである。
【0037】そして、本実施の形態においては、データ
読み出し指令部8、書き込み制御部10及び読み出し制
御部12は、演算制御部13に搭載されている。また、
読み出し用データパス選択部及び書き込み用データパス
選択部は、データパス選択部14に搭載されている。
【0038】(1−2)キャッシュメモリ制御装置の動
作 本実施の形態であるキャッシュメモリ制御装置によるデ
ータの読み出し動作、書き込み動作について、図2を用
いて、以下に説明する。図2は、高速小容量キャッシュ
1の記憶内容及び低速大容量キャッシュ2の記憶内容を
示す模式図である。
【0039】先ず、高速小容量キャッシュ1及び低速大
容量キャッシュ2の両者にデータが記憶されておらず、
書き込み部9が高速小容量キャッシュ1及び低速大容量
キャッシュ2にデータを書き込む動作について説明す
る。
【0040】(1−2−1)キャッシュメモリへのデー
タの書き込み動作 データ読み出し指令部8は、所定のデータを読み出すよ
うに読み出し制御部12に指示をする。
【0041】読み出し制御部12は、例えば、データA
の読み出し要求を受けた場合、TAGメモリ7にアクセ
スし、上記データAの管理情報があるか否かを調べる。
この結果、データAの管理情報が存在しないので、読み
出し制御部12は、主記憶装置4からデータAを読み出
し、このデータAを書き込み制御部10へ送る。
【0042】書き込み制御部10は、TAGメモリ7に
アクセスして、高速大容量キャッシュ1にデータが記憶
されていないアドレスである空きアドレスがあるか否か
を調べる。この結果、高速小容量キャッシュ1に空きア
ドレスがあるので、書き込み制御部10は、上記空きア
ドレスに基づいて、高速小容量キャッシュ1及び低速大
容量キャッシュ2の両者にアクセスすると共に、高速小
容量キャッシュ1にデータを書き込む旨を示す情報をデ
ータパス選択部14(書き込み用データパス選択部)へ
送る。
【0043】データパス選択部14(書き込み用データ
パス選択部)は、上記情報に基づいて、書き込み制御部
10と高速小容量キャッシュ1のデータ入力部とを接続
させる。そして、書き込み制御部10が書き込み対象デ
ータAをデータパス選択部14を介して、高速小容量キ
ャッシュ1に書き込む。高速小容量キャッシュ1にデー
タAが記憶された様子を図2(a)に示す。また、書き
込み制御部10は、上記データAの管理情報(例えば、
データAは、高速小容量キャッシュに存在し、アドレス
Xに格納されている旨を示す情報)をTAGメモリ7に
送り、TAGメモリ7の記憶内容を更新させる。
【0044】データB、C、Dを書き込む場合も高速小
容量キャッシュ1に空きアドレスがあるので、データA
の場合と同様にして、書き込み部9は、データB、C、
Dを高速小容量キャッシュ1に書き込む。高速小容量キ
ャッシュ1にデータB、C、Dが記憶された様子を図2
(b)、(c)、(d)に示す。
【0045】次に、読み出し制御部12は、データEの
読み出し要求を受けた場合、TAGメモリ7にアクセス
し、上記データEの管理情報があるか否かを調べる。こ
の結果、データEの管理情報が存在しないので、読み出
し制御部12は、主記憶装置4からデータEを読み出
し、このデータEを書き込み制御部10へ送る。
【0046】書き込み制御部10は、TAGメモリ7に
アクセスして、高速大容量キャッシュ1にデータが記憶
されていない空きアドレスがあるか否かを調べる。この
結果、高速小容量キャッシュ1に空きアドレスがないの
で、書き込み制御部10は、低速大容量キャッシュ2に
空きアドレスがあるか否かを調べる。この結果、低速大
容量キャッシュ2に空きアドレスがあるので、書き込み
制御部10は、上記空きアドレスに基づいて、高速小容
量キャッシュ1及び低速大容量キャッシュ2の両者にア
クセスすると共に、低速大容量キャッシュ1にデータを
書き込む旨を示す情報をデータパス選択部14(書き込
み用データパス選択部)へ送る。
【0047】データパス選択部14(書き込み用データ
パス選択部)は、上記情報に基づいて、書き込み制御部
10と低速大容量キャッシュ1のデータ入力部とを接続
させる。そして、書き込み制御部10が書き込み対象デ
ータEをデータパス選択部14を介して、低速大容量キ
ャッシュ1に書き込む。低速大容量キャッシュ2にデー
タEが記憶された様子を図2(e)に示す。また、書き
込み制御部10は、上記データEの管理情報(データE
は、低速大容量キャッシュに存在し、アドレスX2に格
納されている旨を示す情報)をTAGメモリ7に送り、
TAGメモリ7の記憶内容を更新させる。
【0048】データF、G、Hを書き込む場合も、高速
小容量キャッシュ1に空きアドレスがなく、低速大容量
キャッシュ2に空きアドレスがあるので、データEの場
合と同様にして、書き込み部9は、データF、G、Hを
低速大容量キャッシュに書き込む。
【0049】このようにして、高速小容量キャッシュ1
及び低速大容量キャッシュ2にそれぞれ複数のデータ
(高速小容量キャッシュには、データA,B,C,D、
低速大容量キャッシュ2には、データE,F,G,H)
が書き込まれる。高速小容量キャッシュ1の記憶内容及
び低速大容量キャッシュ2の記憶内容を図2(f)に示
す。
【0050】このようにして、書き込み部9により書き
込まれたデータが再度、読み出し要求を受けた場合にお
ける読み出し動作について、以下に説明する。
【0051】(1−2−2)キャッシュメモリからのデ
ータの読み出し動作 上述のようにして、高速小容量キャッシュ1及び低速大
容量キャッシュ2にそれぞれ複数のデータが書き込まれ
た後、読み出し制御部12が、再度、データAの読み出
し要求を受けた場合には、以下のような動作を行う。
【0052】即ち、読み出し制御部12は、TAGメモ
リ7にアクセスし、上記データAの管理情報があるか否
かを調べる。この結果、データAの管理情報が存在する
ので、データAの管理情報を読み出し、管理情報のアド
レスに基づいて、高速小容量キャッシュ1及び低速大容
量キャッシュ2の両者にアクセスする。そして、読み出
し制御部12は、管理情報(読み出し対象データが高速
小容量キャッシュにあることを示す情報)をデータパス
選択部14(読み出し用データパス選択部)へ送る。デ
ータパス選択部14は、管理情報に基づいて、読み出し
制御部12と高速小容量キャッシュ1のデータ出力部と
を接続させる。そして、高速小容量キャッシュ1から送
られたデータAがデータパス選択部14(読み出し用デ
ータパス選択部)を介して、読み出し制御部12に読み
出される。
【0053】次に、読み出し制御部12は、データFの
読み出し要求を受けた場合、TAGメモリ7にアクセス
し、上記データFの管理情報があるか否かを調べる。こ
の結果、データFの管理情報が存在するので、データF
の管理情報を読み出し、管理情報のアドレスに基づい
て、高速小容量キャッシュ1及び低速大容量キャッシュ
2の両者にアクセスする。そして、読み出し制御部12
は、管理情報(読み出し対象データが低速大容量キャッ
シュにあることを示す情報)をデータパス選択部14
(読み出し用データパス選択部)へ送る。この結果、読
み出し制御部12は、データパス選択部14(読み出し
用データパス選択部)を介して、低速大容量キャッシュ
2のデータ出力部と接続される。そして、低速大容量キ
ャッシュ2から送られたデータFがデータパス選択部1
4(読み出し用データパス選択部)を介して、読み出し
制御部12に読み出される。
【0054】なお、読み出し部11は、以下のようにし
て低速大容量キャッシュ2又は高速小容量キャッシュ1
のいずれか一方からデータを読み出すこともできる。即
ち、読み出し部11を構成する読み出し制御部12及び
読み出し用データパス選択部のうち、読み出し制御部1
2のみを読み出し部とする。そして、読み出し部は、デ
ータの読み出し要求を受けた場合、TAGメモリ7から
データの管理情報を読み出し、管理情報に基づいて、高
速小容量キャッシュ1又は低速大容量キャッシュ2のい
ずれか一方にアクセスして、データを読み出すこともで
きる。
【0055】なお、演算制御部13は、I/Oコントロ
ーラ5を制御して周辺装置からデータを主記憶装置4に
記憶させることができる。
【0056】本実施の形態では、書き込み部9は、高速
小容量キャッシュ1の記憶内容と低速大容量キャッシュ
2の記憶内容とが異なるように、データ(主記憶装置4
から読み込まれたデータ)を高速小容量キャッシュ1又
は低速大容量キャッシュ2のいずれか一方に書き込んで
いる。このため、低速大容量キャッシュ2の記憶内容
は、全て高速小容量キャッシュ1の記憶内容と異なって
いるので、低速大容量キャッシュ2の容量を有効に活用
することができ、低速大容量キャッシュ2がアクセスさ
れたときのヒット率を向上させることができる。
【0057】また、TAGメモリ7には、高速小容量キ
ャッシュ1に記憶されているデータの管理情報と、低速
大容量キャッシュ2に記憶されているデータの管理情報
と、が記憶されている。そして、データの読み出し要求
を受けた場合、読み出し部11は、データの管理情報を
読み出すことができ、読み出し要求のデータに対して、
そのアドレスといずれのキャッシュメモリに存在するか
を知ることができる。このため、読み出し部11は、管
理情報に基づいて、データの存在するキャッシュメモリ
から迅速に、データを読み出すことができる。
【0058】実施の形態2.本実施の形態においては、
書き込み部9がデータをキャッシュメモリに書き込む場
合、プログラムコードデータを高速小容量キャッシュ1
に書き込み、オペランドデータを低速大容量キャッシュ
2に書き込む。
【0059】(2−1)書き込み制御部の機能 実施の形態2であるキャッシュメモリ制御装置におい
て、実施の形態1であるキャッシュメモリ制御装置と異
なる点は、書き込み部9の機能が異なる点にある。
【0060】即ち、実施の形態2である書き込み部9
は、プログラムコードデータを高速小容量キャッシュ1
に書き込むと共に、オペランドデータを低速大容量キャ
ッシュ2に書き込む。
【0061】(2−2)キャッシュメモリ制御装置のデ
ータ書き込み動作 実施の形態2であるキャッシュメモリ制御装置のデータ
書き込み動作について、以下に説明する。
【0062】(2−2−1)プログラムコードデータの
書き込み動作 読み出し制御部は、プログラムコードデータ(例えば、
プログラムコードデータZ)の読み出し要求を受けた場
合、TAGメモリ7にアクセスし、上記プログラムコー
ドデータZの管理情報があるか否かを調べる。この結
果、プログラムコードデータZの管理情報が存在しない
ので、読み出し制御部12は、主記憶装置4からプログ
ラムコードデータZを読み出し、このプログラムコード
データZを書き込み制御部10へ送る。
【0063】書き込み制御部10は、TAGメモリ7に
アクセスして、高速大容量キャッシュ1又は低速大容量
キャッシュ2にデータが記憶されていない空きアドレス
を調べ、高速小容量キャッシュ1に空きアドレスがある
場合、空きアドレスに基づいて、高速小容量キャッシュ
1及び低速大容量キャッシュ2の両者にアクセスする。
そして、書き込み制御部10は、高速小容量キャッシュ
1にプログラムコードデータZを書き込む旨を示す情報
をデータパス選択部14(書き込み用データパス選択
部)へ送る。
【0064】書き込み制御部10は、データパス選択部
14(書き込み用データパス選択部)を介して、高速小
容量キャッシュ1と接続される。そして、書き込み制御
部10は、データパス選択部14(書き込み用データパ
ス選択部)を介して、プログラムコードデータZを高速
小容量キャッシュ1に書き込む。また、書き込み制御部
10は、上記プログラムコードデータZの管理情報をT
AGメモリ7に送り、TAGメモリ7の記憶内容を更新
させる。
【0065】(2−2−2)オペランドデータの書き込
み動作 次に、読み出し制御部12は、オペランドデータ(例え
ば、オペランドデータY)の読み出し要求を受けた場
合、TAGメモリ7にアクセスし、上記オペランドデー
タYの管理情報があるか否かを調べる。この結果、上記
オペランドデータYの管理情報が存在しないので、読み
出し制御部12は、主記憶装置4から上記オペランドデ
ータYを読み出し、このオペランドデータYを書き込み
制御部10へ送る。
【0066】書き込み制御部10は、TAGメモリ7に
アクセスして、低速大容量キャッシュ2にデータが記憶
されていない空きアドレスを調べ、空きアドレスに基づ
いて、高速小容量キャッシュ1及び低速大容量キャッシ
ュ2の両者にアクセスする。また、書き込み制御部10
は、低速大容量キャッシュ2にデータを書き込む旨を示
す情報をデータパス選択部14(書き込み用データパス
選択部)へ送る。
【0067】書き込み制御部10は、データパス選択部
14を介して、低速大容量キャッシュ2と接続される。
そして、書き込み制御部10は、データパス選択部14
を介して、オペランドデータYを低速大容量キャッシュ
2に書き込む。また、書き込み制御部10は、上記オペ
ランドデータYの管理情報をTAGメモリ7に送り、T
AGメモリ7の記憶内容を更新させる。
【0068】本実施の形態においては、書き込み部9
は、データの種類に応じて、データを高速小容量キャッ
シュ1又は低速大容量キャッシュ2のいずれか一方に書
き込んでいるので、高速小容量キャッシュ1に書き込ま
れるデータの種類と、低速大容量キャッシュ2に書き込
まれるデータの種類と、は異なっている。例えば、書き
込み部9は、読み出し部11による読み出し回数が多い
プログラムコードデータについては、高速小容量キャッ
シュ1に書き込み、読み出し部11による読み出し回数
が比較的少ないオペランドデータについては、低速大容
量キャッシュ2に書き込むことができる。この結果、読
み出し部11によるデータの読み出しの高速化を一層図
ることができる。
【0069】実施の形態3.実施の形態3では、読み出
し部11により読み出されたデータは、近い将来再度ア
クセスされるという時間局所性を考慮して、低速大容量
キャッシュ2から読み出されたデータについては、高速
小容量キャッシュ1に移動させて、再度読み出されると
きには、高速読み出しができるようにしている。
【0070】(3−1)キャッシュメモリ制御システム
の構成 図3は、実施の形態3であるキャッシュメモリ制御装置
を含むキャッシュメモリ制御システムの構成を示すブロ
ック図である。なお、図3において、図1と同一物には
同一符号を付してその詳細な説明を省略する。
【0071】実施の形態3であるキャッシュメモリ制御
装置において、実施の形態1であるキャッシュメモリ制
御装置と異なる点は、以下に示す点である。
【0072】実施の形態3であるキャッシュメモリ制御
装置は、キャッシュメモリ制御部15を有する。
【0073】(1)キャッシュメモリ制御部 キャッシュメモリ制御部15は、低速小容量キャッシュ
2から読み出されたデータと、高速大容量キャッシュ1
に記憶された各データのうち読み出し部11による最近
の読み出し頻度が少ないデータとを相互に入れ替えると
共に、移動させたデータの管理情報をTAGメモリ7に
更新させる。
【0074】このキャッシュメモリ制御部15には、第
1バッファ16及び第2バッファ17が含まれている。
この理由を以下に示す。即ち、キャッシュメモリ制御部
15によって、低速大容量キャッシュ2のデータと高速
小容量キャッシュ1のデータとを同時に入れ替えようと
すると、上記2つのキャッシュメモリの動作速度の違い
のため、以下のような事態が考えられる。
【0075】例えば、低速大容量キャッシュ2からデー
タが取り出されないうちに、高速小容量キャッシュ1か
らデータが低速大容量キャッシュ2に書き込まれる動作
が行われて、少なくとも一方のデータが破壊されてしま
うことが考えられる。このため、移動させたデータを一
時的に退避させる場所を確保することができるように、
キャッシュメモリ制御部15は、低速大容量キャッシュ
2から読み出されたデータを一時的に格納する第1バッ
ファ16と、高速小容量キャッシュ1に記憶された各デ
ータのうち読み出し部11による最近の読み出し頻度が
少ないデータを一時的に格納する第2バッファ17と、
を有する。
【0076】また、実施の形態3であるキャッシュメモ
リ制御装置においては、読み出し部11及びTAGメモ
リ7の機能が以下のように異なる。
【0077】(2)読み出し部及びTAGメモリの機能 読み出し制御部12は、実施の形態1で示した機能に加
えて、所定時間内で読み出し動作を行った回数(読み出
し頻度)をデータ毎にカウントしてTAGメモリ7に送
る。読み出し制御部12による上述の動作は連続的に行
われる。
【0078】TAGメモリ7は、実施の形態1で示した
機能に加えて、各データに対する読み出し部11による
最近の読み出し頻度を記憶する。
【0079】(3−2)キャッシュメモリ制御装置の動
作 (1−2−2)で説明した動作において、低速大容量キ
ャッシュ2のデータFが再度、読み出し部11により読
み出されたときに、高速読み出しが行えるように、キャ
ッシュメモリ制御部15によるデータの入れ替え動作が
行われる。この動作について、図4を用いて以下に説明
する。
【0080】キャッシュメモリ制御部15は、読み出し
部11により低速大容量キャッシュ2からデータFが読
み出された場合、読み出されたデータFを低速大容量キ
ャッシュ2から第1バッファ16に移動させる。また、
キャッシュメモリ制御部15は、TAGメモリ7にアク
セスして、高速小容量キャッシュ1に記憶された各デー
タ(データA,B,C,D)のうち、読み出し部11に
よる最近の読み出し頻度が少ないデータを調べる。この
場合、データCが最近の読み出し頻度が少ないデータで
ある。キャッシュメモリ制御部15は、データCが最近
の読み出し頻度が少ないデータであると判定したら、デ
ータCを高速小容量キャッシュ1から第2バッファ17
に移動させる(図4(a))。
【0081】そして、第1バッファ16及び第2バッフ
ァ17に、それぞれデータF及びデータCが格納された
ら、キャッシュメモリ制御部15は、データFを第1バ
ッファ16から高速小容量キャッシュ1のデータCが格
納されていたアドレスに移動させると共に、データCを
第2バッファ17から低速大容量キャッシュ2のデータ
Fが格納されていたアドレスに移動させる(図4
(b))。
【0082】そして、キャッシュメモリ制御部15は、
新たなデータCの管理情報と、新たなデータFの管理情
報と、をTAGメモリ7に送る。この結果、TAGメモ
リ7では、データCの管理情報及びデータFの管理情報
が更新される。
【0083】本実施の形態においては、読み出し部11
により読み出されたデータが低速大容量キャッシュ2に
ある場合、キャッシュメモリ制御部15は、上記データ
と、高速小容量キャッシュ1に記憶された各データのう
ち読み出し部11による最近の読み出し頻度が少ないデ
ータと、を相互に入れ替える。この結果、低速大容量キ
ャッシュ2から読み出されたデータを読み出し部11が
再度読み出すときは、高速小容量キャッシュ1から読み
出すことができ、データの読み出しの高速化を図ること
ができる。
【0084】(3−3)本実施の形態における高速スル
ープット性の説明 なお、本実施の形態においては、キャッシュメモリの容
量を無駄にせず、所定のスループットを高速に得ること
ができる。このことを図5、図6を用いて説明する。図
5は、CPU20がバスブリッジ21を介して、キャッ
シュメモリ又は主記憶装置4からデータを読み出すシス
テムを示す図である。ここで、高速小容量キャッシュ1
の価格は、低速大容量キャッシュ2の価格の4倍である
と仮定したとき、図5のシステムにキャッシュメモリを
増設する場合において、同一の価格で構成できるシステ
ムを図6(a),(b),(c)にそれぞれ示す。図6
(a)はキャッシュメモリを全て高速小容量キャッシュ
1で構成した場合のシステムの構成を示す図であり、図
6(b)はキャッシュメモリを全て低速大容量キャッシ
ュ2で構成した場合のシステムの構成を示す図であり、
図6(c)はキャッシュメモリを高速小容量キャッシュ
1及び低速大容量キャッシュ2で構成した場合のシステ
ムの構成を示す図である。なお、キャッシュメモリと主
記憶装置4とは階層構造になっている。
【0085】そして、CPU20がローカルバス上に読
み出し要求を出した場合、高速小容量キャッシュ1にヒ
ットした場合のレスポンスは8単位サイクル、低速大容
量キャッシュ2にヒットした場合のレスポンスは13単
位サイクル、いずれのキャッシュにもミスヒットした場
合のレスポンスは26単位サイクルである。そして、キ
ャッシュメモリのヒット率はアプリケーションに依存す
るが、キャッシュメモリの容量とは比例関係にならず、
キャッシュメモリの増設による効果は通常小さくなって
いる。ここでは、図6(a)のシステムにおけるキャッ
シュメモリ全体のヒット率を0.7、図6(b)のシス
テムにおけるキャッシュメモリ全体のヒット率を0.
9、図6(c)のシステムにおけるキャッシュメモリ全
体のヒット率を0.85とする。
【0086】以下にCPU20の読み出し要求に対する
各システムの平均レスポンス時間を示す。
【0087】図6(a)のシステムにおけるスループッ
トS1は以下の式で表される。
【数1】S1=8*0.7+(1−0.7)*26
【0088】図6(b)のシステムにおけるスループッ
トS2は以下の式で表される。
【数2】 S2=13*0.9+(1−0.9)*26=14.3
【0089】図6(c)のシステムにおけるスループッ
トS3は、以下の式で表される。この際、低速大容量キ
ャッシュ2のヒット率と、高速大容量キャッシュ1のヒ
ット率と、の比は、低速大容量キャッシュ2の容量と、
高速大容量キャッシュ1の容量と、の比と近似して4:
1とした。
【数3】S3=(1/(4+1))*8*0.85+
(4/(4+1))*13*0.85+(1−0.8
5)*26
【0090】以上の数式S1、S2、S3を計算する
と、それぞれ、13.4(単位サイクル)、14.3
(単位サイクル)、14.1(単位サイクル)である。
【0091】そして、本実施の形態では、高速小容量キ
ャッシュ1と低速大容量キャッシュ2とは、その記憶内
容が相互に異なると共に、低速大容量キャッシュ2にヒ
ットしたデータは高速小容量キャッシュ1の最近参照さ
れていないデータと入れ替えている。
【0092】このため、本実施の形態は、キャッシュメ
モリに高速小容量キャッシュ及び低速大容量キャッシュ
を用いているので、システム(c)のタイプであるが、
(c)のシステムにおいて、低速大容量キャッシュのヒ
ット率と、高速大容量キャッシュのヒット率と、の比は
1:1と考えてよい。
【0093】上述のことを考慮すると、図6(c)のシ
ステムにおけるスループットS4は、本実施の形態にお
いては、以下の式で表される。
【数4】S4=(1/(1+1))*8*0.85+
(1/(1+1))*13*0.85+(1−0.8
5)*26
【0094】数式S4を計算すると、12.825(単
位サイクル)となる。このため、本実施の形態では、同
じ価格で構成できる他のキャッシュメモリシステムと比
較して、高速なアクセスを行える。
【0095】実施の形態4.実施の形態3では、データ
の入れ替え動作を行う場合、キャッシュメモリ制御部
は、TAGメモリ7にアクセスして高速小容量キャッシ
ュに記憶された全てのデータについて、それぞれの読み
出し頻度を調べる必要があった。これに対して、実施の
形態4では、キャッシュメモリ制御部は、高速小容量キ
ャッシュに記憶された全てのデータのうち、限定された
データについてのみ、それぞれの読み出し頻度を調べれ
ばよい。この結果、実施の形態1に比べて、データの入
れ替えを迅速に行うことができる。
【0096】(4−1)キャッシュメモリ制御システム
の構成 図7は、実施の形態4であるキャッシュメモリ制御装置
を含むシステムを示すブロック図である。
【0097】実施の形態4であるキャッシュメモリ制御
システムにおいて、実施の形態3であるキャッシュメモ
リ制御システムと異なる点を以下に示す。
【0098】(4−1−1)キャッシュメモリの構成 実施の形態4である高速小容量キャッシュ1及び低速大
容量キャッシュ2は、複数のセットと複数のウェイとが
それぞれ対応づけられたセットアソシエイティブキャッ
シュメモリを構成している。
【0099】この際、複数のウェイのうち、所定のウェ
イ(WAY0)が高速小容量キャッシュ1に割り当てら
れていると共に、上記所定ウェイ以外のウェイ(WAY
1,WAY2,WAY3)が低速大容量キャッシュ2に
割り当てられている。なお、本実施の形態における管理
情報は、ウェイアドレスとセットアドレスとからなる。
そして、ウェイアドレスがいずれのキャッシュメモリに
あるかを示す情報となる。
【0100】(4−1−2)キャッシュメモリ制御部の
機能 また、キャッシュメモリ制御部15の機能が以下に示す
ように異なる。即ち、キャッシュメモリ制御部15は、
低速大容量キャッシュ2から読み出された読み出しデー
タと、高速小容量キャッシュ1に記憶された各データの
うち読み出し部9による最近の読み出し頻度が少ないデ
ータと、について、低速大容量キャッシュ2の読み出し
データの格納されたセット同士の間で、相互に入れ替え
ると共に、移動させたデータの管理情報をTAGメモリ
7に更新させる。
【0101】(4−2)キャッシュメモリ制御装置の動
作 実施の形態4であるキャッシュメモリ制御装置の動作
(書き込み部9による書き込み動作、読み出し部11に
よる読み出し動作、キャッシュメモリ制御部15による
データ入れ替え動作)について以下に説明する。
【0102】(4−2−1)書き込み部による書き込み
動作 実施の形態1の書き込み部9による書き込み動作と同様
にして、セットアソシエイティブキャッシュメモリにデ
ータを書き込む。
【0103】図8は、書き込み部9による書き込み動作
後におけるセットアソシエイティブキャッシュメモリの
記憶内容を示す模式図である。図8において、高速小容
量キャッシュ1は、WAY0に対応しており、WAY0
におけるSET0,SET1,SET2に対して、デー
タA0,データA1、データA2がそれぞれ記憶されて
いる。一方、低速大容量キャッシュ2は、WAY1、
2、3に対応しており、WAY1(WAY2、WAY
3)におけるSET0,SET1,SET2に対して、
データB0(データC0、データD0)、データB1
(データC1、データD1)、データB2(データC
2、データD2)がそれぞれ記憶されている。
【0104】(4−2−2)読み出し部による読み出し
動作 次に、読み出し部11によりデータが読み出される動作
について説明する。
【0105】読み出し制御部12は、データA1の読み
出し要求を受けた場合、TAGメモリ7にアクセスし、
上記データA1の管理情報があるか否かを調べる。この
結果、データA1の管理情報が存在するので、データA
1の管理情報を読み出し、管理情報に基づいて、セット
アソシエイティブキャッシュメモリ(高速小容量キャッ
シュ1及び低速大容量キャッシュ2の両者)にアクセス
する。そして、読み出し制御部12は、管理情報をデー
タパス選択部14(読み出し用データパス選択部)へ送
る。この結果、データパス選択部14(読み出し用デー
タパス選択部)は、読み出し制御部12と高速小容量キ
ャッシュ1のデータ出力部とを接続させる。そして、読
み出し制御部12は、読み出し用データパス選択部14
を介して、高速小容量キャッシュ1からデータA1を読
み出す。
【0106】次に、読み出し制御部12は、データC1
の読み出し要求を受けた場合、TAGメモリ7にアクセ
スし、上記データC1の管理情報があるか否かを調べ
る。この結果、データC1の管理情報が存在するので、
データC1の管理情報を読み出し、管理情報のアドレス
に基づいて、セットアソシエイティブキャッシュメモリ
(高速小容量キャッシュ1及び低速大容量キャッシュ2
の両者)にアクセスする。そして、読み出し制御部12
は、管理情報をデータパス選択部14(読み出し用デー
タパス選択部)へ送る。この結果、データパス選択部1
4は、読み出し制御部12と低速大容量キャッシュ2の
データ出力部とを接続させる。そして、読み出し制御部
12は、読み出し用データパス選択部14を介して、低
速大容量キャッシュ2からデータC1を読み出す。
【0107】この際、本実施の形態では、データC1が
再度読み出し部11により読み出されるときに、高速読
み出しが行えるように、キャッシュメモリ制御部15に
よるデータの入れ替え動作が行われる。この動作につい
て、図9を用いて、以下に説明する。図9は、キャッシ
ュメモリ制御部15によるデータ入れ替え動作の様子を
模式的に示した模式図である。
【0108】(4−2−3)キャッシュメモリ制御部に
よるデータ入れ替え動作 キャッシュメモリ制御部15は、読み出し部11により
低速大容量キャッシュ2からデータC1が読み出された
場合、読み出されたデータC1を低速大容量キャッシュ
2から第1バッファ16に移動させる。また、キャッシ
ュメモリ制御部15は、TAGメモリ7にアクセスし
て、高速小容量キャッシュ1に格納された各データのう
ち、データC1が格納されていたセット1に記憶された
データA1を第2バッファ17に移動させる。図9
(a)に上述の移動の様子を示す。
【0109】なお、高速小容量キャッシュ1が2つ以上
のウェイからなり、例えば、上記SET1に2つ以上の
データがあるときは、キャッシュメモリ制御部15は、
TAGメモリ7にアクセスして、これらのデータの読み
出し頻度を調べる。そして、高速小容量キャッシュ1の
SET1に記憶されたデータのうち、読み出し部11に
よる最近の読み出し頻度が少ないデータを高速小容量キ
ャッシュ1から第2バッファ17に移動させる。
【0110】そして、キャッシュメモリ制御部15は、
第1バッファ16からデータC1を高速小容量キャッシ
ュ1(WAY0、SET1)に移動させると共に、第2
バッファ17からデータA1を低速大容量キャッシュ2
(WAY2、SET1)に移動させる。図9(b)に上
述の移動の様子を示す。そして、キャッシュメモリ制御
部15は、データC1及びデータA1の管理情報をTA
Gメモリ7に更新させる。
【0111】本実施の形態では、高速小容量キャッシュ
1及び低速大容量キャッシュ2はセットアソシエイティ
ブキャッシュメモリを構成している。そして、キャッシ
ュメモリ制御部15は、低速大容量キャッシュ2から読
み出された読み出しデータと、高速小容量キャッシュ1
に記憶された各データのうち読み出し部11による最近
の読み出し頻度が少ないデータと、について、低速大容
量キャッシュ2の読み出しデータの格納されたセット
と、高速小容量キャッシュ1の上記セットとの間で、相
互に入れ替える。この結果、実施の形態3と比較して、
キャッシュメモリ制御部15がデータの読み出し頻度を
調べる範囲が狭くなるので、キャッシュメモリ制御部1
5は、データの入れ替えを迅速に行うことができる。
【0112】また、キャッシュメモリ制御部15がデー
タの読み出し頻度を調べる範囲が狭くなるので、キャッ
シュメモリ制御部による制御システムを簡単にすること
ができる。
【0113】実施の形態5.実施の形態5であるキャッ
シュメモリ制御装置においては、キャッシュメモリ制御
部の第1バッファ及び第2バッファは、それぞれ、複数
のデータを格納することができる。
【0114】(5−1)キャッシュメモリ制御システム
の構成 図10は、キャッシュメモリ制御システムの構成を示す
図である。図10に示すキャッシュメモリ制御システム
において、実施の形態3であるキャッシュメモリ制御シ
ステムと異なる点は、キャッシュメモリ制御部内の第1
バッファ16及び第2バッファ17の構成が異なる点に
ある。即ち、キャッシュメモリ制御部15内の第1バッ
ファ16及び第2バッファ17は、それぞれ、複数のデ
ータを格納することができる。
【0115】(5−2)キャッシュメモリ制御装置の動
作 実施の形態5であるキャッシュメモリ制御装置の動作
(キャッシュメモリ制御部15によるデータ入れ替え動
作)について以下に説明する。
【0116】キャッシュメモリ制御部15は、読み出し
部11により低速大容量キャッシュ2からデータが読み
出された場合、読み出されたデータを低速大容量キャッ
シュ2から第1バッファ16に移動させる。また、キャ
ッシュメモリ制御部15は、TAGメモリ7にアクセス
して、高速小容量キャッシュ1に記憶された各データの
うち、読み出し部11による最近の読み出し頻度が少な
いデータを調べ、このデータを高速小容量キャッシュ1
から第2バッファ17に移動させる。そして、キャッシ
ュメモリ制御装置15は第1バッファ16及び第2バッ
ファ17に格納されたデータをそのままにしておく。
【0117】次に、読み出し部11により低速大容量キ
ャッシュ2からデータが読み出された場合、読み出され
たデータを低速大容量キャッシュ2から第1バッファ1
6に移動させる。また、キャッシュメモリ制御部15
は、TAGメモリ7にアクセスして、高速小容量キャッ
シュ1に記憶された各データのうち、読み出し部11に
よる最近の読み出し頻度が少ないデータを調べ、このデ
ータを高速小容量キャッシュ1から第2バッファ17に
移動させる。そして、キャッシュメモリ制御装置15は
第1バッファ16及び第2バッファ17に格納されたデ
ータをそのままにしておく。
【0118】このようにして、キャッシュメモリ制御部
15は複数のデータを第1バッファ16及び第2バッフ
ァ17に格納させていき、第1バッファ16及び第2バ
ッファ17に空きがなくなったときに、第1バッファ1
6に格納された複数のデータを高速小容量キャッシュ1
に移動させると共に、第2バッファ17に格納された複
数のデータを低速大容量キャッシュ2に移動させる。そ
して、キャッシュメモリ制御装置15は、移動させた複
数のデータの管理情報をTAGメモリ7に更新させる。
【0119】なお、第1バッファ16及び第2バッファ
17にある所定量のデータが格納されたとき、第1バッ
ファ16に格納された複数のデータを高速小容量キャッ
シュ1に移動させると共に、第2バッファ17に格納さ
れた複数のデータを低速大容量キャッシュ2に移動させ
てもよい。
【0120】本実施の形態においては、キャッシュメモ
リ制御部15は、複数のデータを第1バッファ16及び
第2バッファ17に格納することができる。このため、
読み出し部11によるキャッシュメモリへのアクセス回
数が過度に大きくなることを抑制したい場合、例えば第
1バッファ16及び第2バッファ17に空きがなくなる
まで、第1バッファ16及び第2バッファ17に格納さ
れたデータをキャッシュメモリに移動させないようにす
ることで、読み出し部11が読み出せるデータを制限で
きる。これにより、読み出し部11によるキャッシュメ
モリへのアクセス回数が過度に大きくなることを抑制で
きる。
【0121】なお、本実施の形態では、以下のようにし
て、キャッシュメモリ制御部15はデータの入れ替え動
作を行うこともできる。
【0122】TAGメモリ7に、読み出し制御部15が
過去にTAGメモリ7へアクセスした実績を示す実績情
報、読み出し制御部15が過去に主記憶装置4へアクセ
スしたタイミングの実績を示す実績情報を格納させる。
そして、キャッシュメモリ制御部15がTAGメモリ7
にアクセスして実績情報を読み出し、この実績情報に基
づいて、読み出し動作が行われないタイミングを予測す
る。そして、その予測タイミング以外では、キャッシュ
メモリ制御部15は、データ入れ替え動作を行わず、読
み出し部11によるキャッシュメモリからのデータ読み
出し動作を優先して行わせ、予測タイミングのときに、
キャッシュメモリ制御部15は、読み出し部11により
低速大容量キャッシュ2から読み出された複数のデータ
と、高速小容量キャッシュ1に記憶された読み出し頻度
の少ない複数のデータと、を相互に入れ替える。
【0123】この方法によれば、キャッシュメモリ制御
部15によるデータの入れ替え動作は、読み出し部11
によるデータ読み出し動作が行われていないと予測した
ときに行うので、例えば、読み出し部11が、キャッシ
ュメモリから連続的なデータ読み出し動作を行っている
場合、その読み出し動作が阻害されない。
【0124】実施の形態6. (6−1)キャッシュメモリ制御システムの構成 図11は、実施の形態6であるキャッシュメモリ制御シ
ステムの構成を示す図である。本実施の形態のキャッシ
ュメモリ制御システムにおいては、実施の形態3である
キャッシュメモリ制御システムと異なる点は、キュー部
22及び予測部23が含まれている点と、キャッシュメ
モリ制御部15の機能が異なる点と、にある。
【0125】(6−1−1)キュー部及び予測部 本実施の形態であるキャッシュメモリ制御装置は、書き
込み部9が過去に高速小容量キャッシュ1及び低速大容
量キャッシュ2に書き込んだ実績を示す書き込み実績情
報を記憶するキュー部22(書き込み実績情報記憶部)
と、このキュー部22に記憶された書き込み実績情報に
基づいて、読み出し部11により次に読み出されるデー
タを予測する予測部23と、を有する。
【0126】なお、書き込み実績情報とは、書き込み部
9により過去に書き込まれた複数のデータの管理情報の
ことである。
【0127】(6−1−2)予測部の構成 予測部23は、読み出し部11により現在読み出された
データの管理情報と、キュー部22に記憶された各デー
タの管理情報と、を比較する比較部24と、この比較部
24による比較結果に基づいて予測データを予測するキ
ュー制御部25と、を有する。
【0128】また、キュー制御部25は、以下のような
機能を有する。キュー制御部25は、書き込み部9がキ
ャッシュメモリに書き込んだデータの管理情報をキュー
部22に記憶させる機能と、キュー部22に記憶された
各データの管理情報を比較部24に送る機能と、予測し
た予測データが低速大容量キャッシュ2に存在する場
合、キャッシュメモリ制御部15に予測データのデータ
入れ替え動作を指示する機能と、を有する。
【0129】また、本実施の形態においては、キャッシ
ュメモリ制御部15の機能が以下のように異なる。
【0130】(6−1−3)キャッシュメモリ制御部 キャッシュメモリ制御部15は、実施の形態3の機能に
加えて、以下に示す機能を有する。即ち、キャッシュメ
モリ制御部15は、キュー制御部25によるデータ入れ
替え動作指示を受けると、予測データと、高速小容量キ
ャッシュ1に記憶された各データのうち読み出し部11
による最近の読み出し頻度が少ないデータと、を相互に
入れ替え、移動させたデータの管理情報をTAGメモリ
7に更新させる。
【0131】(6−2)キャッシュメモリ制御装置の動
作 次に、本実施の形態におけるキャッシュ制御装置の動作
について説明する。本実施の形態では、(6−2−1)
書き込み実績情報をキュー部22へ記憶する記憶動作、
(6−2−2)予測部23によるデータの予測動作、
(6−2−3)キャッシュメモリ制御部15による予測
データの入れ替え動作、について以下に説明する。
【0132】(6−2−1)書き込み実績情報の記憶動
作 書き込み実績情報の記憶動作について、図12を用いて
説明する。図12は、キュー部22に記憶されている内
容(データ、アドレス、いずれのキャッシュメモリに存
在するか)を示す図であり、書き込み部9にデータが書
き込まれるにつれて、キュー部22の記憶内容が更新さ
れていく。
【0133】実施の形態1の書き込み部9の動作と同様
にして、書き込み部9によるデータAを高速小容量キャ
ッシュ1に書き込む動作が行われる。
【0134】この際、書き込み制御部10は、上記デー
タAの管理情報(データAは、高速小容量キャッシュ1
に存在し、アドレスX1に格納されている旨を示す情
報)をTAGメモリ7に送ると共に、上記データAの管
理情報をキュー制御部25へ送る。キュー制御部25は
データAの管理情報をキュー部22に記憶させる。この
結果、図12(a)に示すように、キュー部22には、
データAの管理情報が記憶される。
【0135】上述のようにして、書き込み部9がデータ
B、C、Dを高速小容量キャッシュ1に、データEを低
速大容量キャッシュ2に書き込んだ場合、データBの管
理情報(アドレスX2、高速小容量キャッシュに存
在)、データCの管理情報(アドレスX3、高速大容量
キャッシュに存在)、データDの管理情報(アドレスX
4、高速小容量キャッシュに存在)、データEの管理情
報(アドレスX5、低速大容量キャッシュに存在)がT
AGメモリ7に送られると共に、これらのデータB、
C、D,Eの管理情報がキュー部22に書き込まれる。
キュー部22の記憶内容が更新されていく様子を図12
(b)、(c)、(d)に示す。
【0136】このようして、キュー部22には、書き込
み部9が過去に高速小容量キャッシュ1及び低速大容量
キャッシュ2に書き込んだ実績を示す書き込み実績情報
が記憶される。
【0137】(6−2−2)予測部による予測動作 次に、予測部23による予測動作について以下に説明す
る。
【0138】読み出し部11がデータAの読み出し要求
を受けた場合、データAの管理情報に基づいて、データ
Aを高速小容量キャッシュ1から読み出す。
【0139】そして、読み出し制御部12は、現在デー
タAを読み出した旨をキュー制御部25へ伝えると共
に、データAの管理情報を比較部24に送る。キュー制
御部25は、キュー部22に記憶された各データの管理
情報を比較部24に送る。
【0140】比較部24は、データAの管理情報と、キ
ュー部22に記憶された各データの管理情報(データ
A、B、C、D、Eの管理情報)と、を比較して、キュ
ー部22に記憶された各データの管理情報のうち、読み
出されたデータの管理情報(データAの管理情報)の次
に格納されている管理情報(データBの管理情報)をキ
ュー制御部25へ送る。
【0141】キュー制御部25は、データAの次に読み
出し部11により読み出される可能性が高いデータとし
て、データBを予測する。この予測データBは、既に高
速小容量キャッシュ1に存在するので、キュー制御部2
5は、キャッシュメモリ制御部15に対して、予測デー
タの入れ替え指示を出さない。
【0142】読み出し部11がデータDの読み出し要求
を受けた場合、データDの管理情報に基づいて、データ
Dを高速小容量キャッシュ1から読み出す。
【0143】また、読み出し制御部12は、現在データ
Dを読み出した旨をキュー制御部25へ伝えると共に、
データDの管理情報を比較部24に送る。キュー制御部
25は、キュー部22に記憶された各データの管理情報
を比較部24に送る。
【0144】比較部24は、データDの管理情報と、キ
ュー部22に記憶された各データの管理情報(データ
A、B、C、D,Eの管理情報)と、を比較して、キュ
ー部22に記憶された各データの管理情報のうち、読み
出されたデータの管理情報(データDの管理情報)の次
に格納されている管理情報(データEの管理情報)をキ
ュー制御部25へ送る。
【0145】キュー制御部25は、データDの次に読み
出し部11により読み出される可能性が高いデータとし
て、データEを予測する。
【0146】この予測データEは、低速大容量キャッシ
ュ2に存在するので、キュー制御部25は、キャッシュ
メモリ制御部15に対して、予測データの入れ替え指示
を出す。
【0147】(6−2−3)キャッシュメモリ制御部に
よる予測データの入れ替え動作 キュー制御部15により予測データの入れ替え指示を受
けたキャッシュメモリ制御部は、予測データEを低速大
容量キャッシュから第1バッファ16へ移動させると共
に、高速小容量キャッシュ1に記憶された各データのう
ち読み出し部11による最近の読み出し頻度が少ないデ
ータ(この場合はデータAとする)を第2バッファ17
へ移動させる。
【0148】そして、キャッシュメモリ制御部15は、
データEを第1バッファ16から高速小容量キャッシュ
1のデータAが格納されていたアドレスX1に移動させ
ると共に、データAを第2バッファ17から低速大容量
キャッシュ2のデータEが格納されていたアドレスX5
に移動させる。そして、キャッシュメモリ制御部15
は、予測データEの管理情報と、データAの管理情報
と、をTAGメモリ7に送る。この結果、TAGメモリ
7では、データEの管理情報及びデータAの管理情報が
更新される。
【0149】また、キャッシュメモリ制御部15は、予
測データEの管理情報をキュー制御部25へ送る。この
結果、キュー制御部25は、キュー部22内に記憶され
たデータEの管理情報を更新させる。
【0150】本実施の形態では、キュー部22には、過
去の書き込み実績情報が記憶されており、予測部23
は、この書き込み実績情報に基づいて、次に読み出され
るデータを予測する。そして、予測データが低速大容量
キャッシュ2にある場合、キャッシュメモリ制御部15
は、予測データを高速キャッシュ1に移動させるので、
予測通りにデータの読み出し要求がきたときは、読み出
し部11は高速にデータを読み出すことができる。
【0151】実施の形態7.図13は、実施の形態7で
あるキャッシュメモリ制御システムの構成を示す図であ
る。
【0152】(7−1)キャッシュメモリ制御システム
の構成 実施の形態7であるキャッシュメモリ制御システムにお
いて、実施の形態1であるキャッシュメモリ制御システ
ムと異なる点を以下に示す。
【0153】システムバス3には、データの読み出し要
求等を行う演算制御装置30が接続されている。また、
実施の形態7であるキャッシュメモリ制御装置において
は、実施の形態1であるTAGメモリ7は存在せず、第
1TAGメモリ31及び第2TAGメモリ32が含まれ
ている。
【0154】(1)第1TAGメモリ及び第2TAGメ
モリ 第1TAGメモリ31は、高速小容量キャッシュ1に記
憶されている複数のデータに対して、個別のデータに対
するアドレス及び高速小容量キャッシュ1にある旨を示
す管理情報を記憶する。
【0155】第2TAGメモリ32は、高速小容量キャ
ッシュ1に記憶されている複数のデータと、低速大容量
キャッシュ2に記憶されている複数のデータと、に対し
て、個別のデータに対するアドレス及びいずれのキャッ
シュメモリにあるかを示す管理情報を記憶する。
【0156】実施の形態7であるキャッシュメモリ制御
装置においては、実施の形態1と比較して、書き込み部
10及び読み出し部11の機能が以下のように異なる。
【0157】(2)書き込み部 書き込み制御部10は、実施の形態1の機能に加えて、
データを高速小容量キャッシュ1に書き込んだ場合に
は、データの管理情報を第1TAGメモリ31及び第2
TAGメモリ32に書き込み、データを低速大容量キャ
ッシュ2に書き込んだ場合には、データの管理情報を第
2TAGメモリ32に書き込む。
【0158】(3)読み出し部 読み出し制御部12は、データ読み出し指令部8により
データ読み出し要求を受けた場合、第1TAGメモリ3
1又は第2TAGメモリ32のうち少なくとも一方から
データの管理情報を読み出す。そして、読み出し制御部
12は、管理情報を読み出し用データパス選択部14に
送り、高速小容量キャッシュ1又は低速大容量キャッシ
ュ2のいずれか一方から読み出し用データパス選択部1
4を介して、データを読み出す。
【0159】また、読み出し制御部12は、演算制御装
置30によるデータの読み出し要求に対しては、データ
の管理情報を第2TAGメモリ32のみから読み出す。
そして、データ読み出し指令部8によるデータ読み出し
要求に基づいた読み出し動作を行っていないときに、読
み出し制御部12は、管理情報を読み出し用データパス
選択部14に送り、高速小容量キャッシュ1又は低速大
容量キャッシュ2のいずれか一方から読み出し用データ
パス選択部14を介して、データを読み出す。
【0160】(7−2)キャッシュメモリ制御装置の動
作(データの書き込み動作、データの読み出し動作)に
ついて以下に説明する。
【0161】(7−2−1)データの書き込み動作 読み出し制御部12は、例えば、データAの読み出し要
求を受けた場合、第1TAGメモリ31及び第2TAG
メモリ32にアクセスし、上記データAの管理情報があ
るか否かを調べる。この結果、データAの管理情報が存
在しない場合、読み出し制御部12は、主記憶装置4か
らデータAを読み出し、このデータAを書き込み制御部
10へ送る。書き込み制御部10は、データAを書き込
み用データパス選択部14を介して、高速小容量キャッ
シュ1に書き込む。
【0162】また、書き込み制御部10は、上記データ
Aの管理情報を第1TAGメモリ31及び第2TAGメ
モリ32に送り、更新させる。
【0163】また、書き込み部9がデータを低速大容量
キャッシュ2に書き込んだ場合には、上記データの管理
情報を第2TAGメモリ32に送り、上記データの管理
情報を更新させる。
【0164】(7−2−2)データの読み出し動作 (1)データ読み出し指令部8によりデータ読み出し要
求を受けた場合におけるデータの読み出し動作を以下に
説明する。
【0165】読み出し制御部12は、第1TAGメモリ
31及び第2TAGメモリ32の両者にアクセスし、デ
ータの管理情報があるか否かを調べる。この結果、デー
タの管理情報が存在する場合、データの管理情報を読み
出し、管理情報のアドレスに基づいて、高速小容量キャ
ッシュ1及び低速大容量キャッシュ2の両者にアクセス
する。
【0166】そして、読み出し制御部12は、管理情報
(読み出し対象データが高速小容量キャッシュ1にある
ことを示す情報)をデータパス選択部14へ送る。この
結果、読み出し制御部12は、データパス選択部14を
介して、高速小容量キャッシュ1のデータ出力部と接続
される。そして、読み出し制御部12は、データパス選
択部14を介して、高速小容量キャッシュ1からデータ
を読み出す。
【0167】(2)演算制御装置30によりデータ読み
出し要求を受けた場合におけるデータの読み出し動作を
以下に説明する。
【0168】読み出し制御部12は、第2TAGメモリ
32のみにアクセスし、上記データの管理情報があるか
否かを調べる。この結果、データの管理情報が存在する
場合、データの管理情報を読み出す。
【0169】ここで、読み出し制御部12は、読み出し
指令部8に基づいたキャッシュメモリへの読み出し動作
を行っていないときに、管理情報のアドレスに基づい
て、高速小容量キャッシュ1及び低速大容量キャッシュ
2の両者にアクセスする。即ち、上述した読み出し指令
部8に基づいたキャッシュメモリへの読み出し動作を行
っているときはその動作を優先して行い、上記読み出し
動作が完了した後、演算制御装置30によるキャッシュ
メモリへの読み出し動作を行う。例えば、読み出し指令
部8に基づいたキャッシュメモリへの読み出し動作が連
続的に行われている場合には、演算制御装置30による
キャッシュメモリへの読み出し動作は行わない。
【0170】そして、読み出し指令部8に基づいたキャ
ッシュメモリへの読み出し動作が行われていないとき、
読み出し制御部12は、管理情報(読み出し対象データ
が高速小容量キャッシュにあることを示す情報)をデー
タパス選択部14へ送る。この結果、読み出し部11
は、データパス選択部14を介して、高速小容量キャッ
シュ1のデータ出力部と接続される。そして、読み出し
制御部12は、データパス選択部14を介して、高速小
容量キャッシュ1からデータを読み出す。
【0171】本実施の形態においては、読み出し部11
は、データ読み出し指令部8によるデータ読み出し要求
を受けた場合、第1TAGメモリ31及び第2TAGメ
モリ32にアクセスするが、演算制御装置30によるデ
ータ読み出し要求を受けた場合、第2TAGメモリ32
にのみアクセスする。また、読み出し部11は、演算制
御装置30からデータの読み出し要求を受けても、デー
タ読み出し指令部8によるデータ読み出し要求に基づい
た読み出し動作を行っているときは、その動作を優先し
て行う。
【0172】このため、システムバス3に他の演算制御
装置30が接続されていて、上記演算制御装置30がキ
ャッシュメモリにアクセスできる場合であっても、高速
小容量キャッシュ1にあるデータが、データ読み出し指
令部8により連続的に読み出し要求を受けている場合に
は、高速小容量キャッシュ1からデータを高速に読み出
す動作は途中で中断されずに、連続的に行われる。
【0173】実施の形態8.図14は、実施の形態8で
あるキャッシュメモリ制御システムの構成を示す図であ
る。実施の形態8であるキャッシュメモリ制御システム
において、実施の形態7であるキャッシュメモリ制御シ
ステムと異なる点は、以下に示す点である。
【0174】(8−1)キャッシュメモリ制御システム
の構成 実施の形態8であるシステムバス3には、システムバス
の使用権を与えるシステムバス使用権付与部33(バス
アービトレーション部)が接続されている。
【0175】また、実施の形態8であるキャッシュメモ
リ制御装置においては、実施の形態7であるキャッシュ
メモリ制御装置と比較して、第1TAGメモリ31及び
第2TAGメモリ32の構成、読み出し部11の機能が
異なる。
【0176】(1)第1TAGメモリ及び第2TAGメ
モリ 第1TAGメモリ31は、高速メモリであり、第2TA
Gメモリ32は低速メモリである。
【0177】(2)読み出し部 読み出し制御部12は、データ読み出し指令部8による
データ読み出し要求に対して、第1TAGメモリ31及
び第2TAGメモリ32にアクセスし、第1TAGメモ
リ31から送られた管理情報から、データが高速小容量
キャッシュ1に存在しないと判定した場合には、前記シ
ステムバス使用権付与部33にシステムバス使用権の要
求信号を送る。
【0178】また、読み出し制御部12は、第2TAG
メモリ32から送られた管理情報から、データが高速小
容量キャッシュ1及び低速大容量キャッシュ2の両者に
存在しないと判定した場合には、システムバス使用権付
与部33により付与されたシステムバス使用権に基づい
て、主記憶装置4にアクセスする。
【0179】(8−2)キャッシュメモリ制御装置の動
作 本実施の形態におけるキャッシュメモリ制御装置の動作
について説明する。
【0180】読み出し制御部12は、データ読み出し要
求指令部8によるデータの読み出し要求に対して、第1
TAGメモリ31及び第2TAGメモリ32にアクセス
する。この際、第1TAGメモリ31は高速メモリなの
で、第1TAGメモリ31の方が早くアクセス結果を読
み出し制御部12に返す。
【0181】この結果、読み出し要求データが高速小容
量キャッシュ1に存在しないと読み出し制御部12が判
定した場合、システムバス3を介して、システムバス使
用権付与部33にシステムバス使用権要求信号を送る。
【0182】続いて、低速メモリである第2TAGメモ
リ32からアクセス結果が読み出し制御部12に送られ
る。このアクセス結果から、読み出し要求データが低速
大容量キャッシュ2に存在すると読み出し制御部12が
判定した場合には、読み出し制御部12は、システムバ
ス使用権付与部33に、システムバス3を使用しない旨
を示す信号を送る。
【0183】一方、アクセス結果から、読み出し要求デ
ータが高速大容量キャッシュ1及び低速大容量キャッシ
ュ2の両者に存在しないと読み出し制御部12が判定し
た場合には、読み出し制御部12は、システムバス使用
権付与部33からシステムバス使用権が送られるのを待
つ。
【0184】そして、読み出し制御部12は、システム
バス使用権付与部33により付与されたシステムバス使
用権に基づいて、主記憶装置4にアクセスし、上記デー
タを読み出す。
【0185】本実施の形態においては、第1TAGメモ
リ31及び第2TAGメモリ32は、それぞれ、高速メ
モリ及び低速メモリである。このため、読み出し部11
は、読み出し要求データに対して、第1TAGメモリ3
1及び第2TAGメモリ32の両者にアクセスすると、
第1TAGメモリ31から早くアクセス結果を得られ
る。そして、読み出し要求データが高速小容量キャッシ
ュ1に存在しない場合、読み出し部11は、予めシステ
ムバス使用権付与部33にシステムバス使用権要求を出
す。
【0186】そして、第2TAGメモリ32からのアク
セス結果が読み出し部11に返されたとき、高速小容量
キャッシュ1及び低速大容量キャッシュ2のいずれにデ
ータが存在しない場合、既にシステムバス使用権要求を
出しているので、迅速にシステムバス使用権を得ること
ができる。この結果、読み出し部11は、読み出し要求
データが高速小容量キャッシュ1及び低速大容量キャッ
シュ2の両者に存在しない場合、上記システムバス使用
権に基づいて、主記憶装置4に迅速にアクセスすること
ができる。従って、本実施の形態においては、2つのキ
ャッシュメモリにミスヒットしたときのペナルティを低
減することができる。
【0187】実施の形態9. (9−1)キャッシュメモリ制御システムの構成 図15は、実施の形態9であるキャッシュメモリ制御シ
ステムの構成を示す図である。実施の形態9であるキャ
ッシュメモリ制御システムが、実施の形態8であるキャ
ッシュメモリ制御システムと異なる点は、以下に示す点
である。
【0188】即ち、実施の形態9であるキャッシュメモ
リ制御装置は、低速小容量キャッシュ2から読み出され
たデータと、高速大容量キャッシュ1に記憶された各デ
ータのうち読み出し部11による最近の読み出し頻度が
少ないデータと、を相互に入れ替えると共に、移動させ
たデータの管理情報を第1TAGメモリ31及び第2T
AGメモリ32に更新させるキャッシュメモリ制御部3
5を有する。
【0189】また、第1TAGメモリ31及び第2TA
Gメモリ32には、各データに対する読み出し部11に
よる最近の読み出し頻度が記憶される。
【0190】(9−2)キャッシュメモリ制御装置の動
作 本実施の形態であるキャッシュメモリ制御装置による動
作について以下に説明する。
【0191】キャッシュメモリ制御部35は、読み出し
部11により低速大容量キャッシュ2からデータが読み
出された場合、読み出されたデータを低速大容量キャッ
シュ2から第1バッファ36に移動させる。また、キャ
ッシュメモリ制御部35は、第1TAGメモリ31又は
第2TAGメモリ32にアクセスして、高速小容量キャ
ッシュ1に記憶された各データのうち、読み出し部11
による最近の読み出し頻度が少ないデータを調べ、この
データを高速小容量キャッシュ1から第2バッファ37
に移動させる。
【0192】そして、キャッシュメモリ制御部35は、
第1バッファ36に格納されたデータを高速小容量キャ
ッシュ1のデータが格納されていたアドレスに移動させ
ると共に、第2バッファ37に格納されたデータを低速
大容量キャッシュ2のデータが格納されていたアドレス
に移動させる。そして、キャッシュメモリ制御部35
は、新たなデータ(高速小容量キャッシュ1に新たに記
憶されたデータ)の管理情報を第1TAGメモリ31及
び第2TAGメモリ32に送ると共に、新たなデータ
(低速大容量キャッシュ2に新たに記憶されたデータ)
の管理情報を第2TAGメモリ32に送る。そして、第
1TAGメモリ31、第2TAGメモリ32では、それ
ぞれ、移動されたデータの管理情報が更新される。
【0193】この際、第1TAGメモリ31と第2TA
Gメモリ32とでは、その動作速度が異なるので、読み
出し制御部12による第1TAGメモリ31及び第2T
AGメモリ32へのアクセスは、第1TAGメモリ31
と第2TAGメモリ32における更新動作が終了してか
ら行う。なお、第1TAGメモリ31及び第2TAGメ
モリ32の更新動作が終了する前に、読み出し制御部1
2による高速小容量キャッシュ1へのアクセスを開始さ
せたい場合には、データ入れ替えを行ったアドレスへの
アクセスを抑制させる。
【0194】本実施の形態においては、キャッシュメモ
リ制御部35は、読み出し部11により読み出されたデ
ータが低速大容量キャッシュ2にある場合、上記データ
と、高速小容量キャッシュ1に記憶された各データのう
ち読み出し部11による最近の読み出し頻度が少ないデ
ータと、を相互に入れ替える。この結果、低速大容量キ
ャッシュ2から読み出されたデータを読み出し部11が
再度読み出すときは、高速小容量キャッシュ1から読み
出すことになり、データの読み出しの高速化を図ること
ができる。
【0195】なお、本実施の形態においては、第1TA
Gメモリを演算制御部13内に含めることもできる。こ
の場合におけるキャッシュメモリ制御システムの構成を
図16に示す。これにより、読み出し制御部12は、第
1TAGメモリ31に一層迅速にアクセスすることがで
きる。
【0196】実施の形態10.一般的に、高速小容量キ
ャッシュにはSRAMが使用されており、低速大容量キ
ャッシュにはDRAMが使用されている。
【0197】しかし、SRAMとDRAMとは、その動
作が異なる。このため、キャッシュメモリ制御装置がこ
れらのメモリを制御するためには、以下のことを考慮す
る必要がある。
【0198】例えば、SRAMへのアドレスの送信の仕
方(アドレスを1サイクルで送信する)と、DRAMへ
のアドレスの送信の仕方(アドレスを2分割して、分割
されたアドレスをそれぞれ1サイクルに対応させて、ア
ドレスを2サイクルで送信する)と、が異なることを考
慮する必要がある。また、SRAMからデータを読み出
す時間と、DRAMからデータを読み出す時間と、では
異なることも考慮する必要がある。
【0199】本実施の形態では、上述のことを考慮する
ことにより、SRAMとDRAMとを制御できるキャッ
シュメモリ制御装置を得ることを目的とする。
【0200】実施の形態10であるキャッシュメモリ制
御装置において、実施の形態1であるキャッシュメモリ
制御装置と異なる点は、読み出し部の構成が異なる点に
ある。
【0201】(10−1)読み出し部の構成 図17は、実施の形態10である読み出し制御部の構成
を示す図である。
【0202】読み出し制御部12は、SRAMに対して
は、管理情報のアドレスを1サイクルで送信し、DRA
Mに対しては、管理情報のアドレスを2分割し、分割さ
れたアドレスをそれぞれ1サイクルに対応させて、デー
タのアドレスを2サイクルで送信する送信部40と、D
RAM又はSRAMのうちいずれか一方から読み出され
たデータを受信するデータ受信部41と、送信部40が
管理情報のアドレスを送信した時を基準としたとき、S
RAMから読み出されるデータを受信するタイミングに
対して、DRAMから読み出されるデータを受信するタ
イミングを遅らせるようにデータ受信部41を制御する
データ受信制御部42と、を有する。
【0203】読み出し制御部12の各部について以下に
詳細に説明する。
【0204】(10−1−1)送信部 図18は、送信部40の構成を示す図である。送信部4
0は、管理情報キュー部50を有する。管理情報キュー
部50は、TAGメモリ7から受け取った管理情報に基
づいて、アドレスを上下2分割して、上位アドレス及び
下位アドレスを所定クロック信号の1サイクルで出力す
ると共に、管理情報(読み出し対象データがいずれのキ
ャッシュメモリにあるかを示す情報)を後述する選択部
と、後述する送信確認信号切り替え部と、に送る。ま
た、管理情報キュー部50は、後述する折り畳み用切り
替え部が切り替え動作を行うために必要な切り替え信号
を送る。また、管理情報キュー部50は、管理情報のア
ドレスを送信した旨を確認させるための信号(以下、送
信確認信号)をデータ受信制御部42へ送る。
【0205】送信部40は、管理情報キュー部50から
出力された上位アドレスを遅延させる遅延部51と、管
理情報キュー部50から送られる切り替え信号に基づい
て上記所定クロック信号の1サイクルごとに遅延部51
からの出力(上位アドレス)と管理情報キュー部50か
らの出力(下位アドレス)とを交互に出力する折り畳み
用切り替え部52と、を有する。この折り畳み用切り替
え部52からは、上位アドレス、下位アドレスがそれぞ
れ所定クロック信号の1サイクルに対応しながら、上位
アドレス及び下位アドレスが2サイクルで出力される。
【0206】送信部40は、管理情報キュー部50から
送られる管理情報(読み出し対象データがいずれのメモ
リにあるかを示す情報)に基づいて、折り畳み用切り替
え部52の出力と管理情報キュー部50の出力(下位ア
ドレス)とのうち、いずれか一方の出力を選択する選択
部53を有する。この選択部53は、読み出し対象デー
タがSRAMにある旨を示す情報が送られると管理情報
キュー部50の出力(下位アドレス)を選択し、読み出
し対象データがDRAMにある旨を示す情報が送られる
と折り畳み用切り替え部52の出力を選択する。
【0207】このようにして構成された送信部40から
は、管理情報キュー部50から出力される上位アドレス
は第1アドレス線から出力され、選択部53からの出力
(管理情報キュー部50から出力される下位アドレス又
は折り畳み用切り替え部52の出力)は、第2アドレス
線から出力される。
【0208】第1アドレス線及び第2アドレス線は、S
RAMと接続される。そして、送信部40からSRAM
にアドレスを送信する場合、上位アドレス及び下位アド
レスは、所定クロック信号の1サイクルで送信される。
【0209】一方、第1アドレス線及び第2アドレス線
は、DRAMと接続されるが、DRAMの場合、第1ア
ドレス線から受け取るアドレスは参照されない。このた
め、送信部40からDRAMにアドレスを送信する場
合、折り畳み用切り替え部52の出力が選択部53によ
り選択されて、第2アドレス線から、上位アドレス及び
下位アドレスが所定クロック信号の2サイクルで送信さ
れる。
【0210】(10−1−2)データ受信部及びデータ
受信制御部 データ受信部41は、管理情報キュー部50から送られ
る送信確認信号を受けると、DRAM又はSRAMのう
ちいずれか一方のメモリから読み出されたデータを受信
できる状態に設定される。
【0211】データ受信制御部42は、管理情報キュー
部50から送られた送信確認信号をデータ受信部41に
送るタイミングを調整する。データ受信制御部42は、
管理情報キュー部50からの送信確認信号を遅延させる
タイミング遅延部43と、タイミング遅延部43から出
力される送信確認信号と送信部40から出力される送信
確認信号とのうち、管理情報キュー部50から出力され
た管理情報(読み出し対象データがいずれのメモリにあ
るかを示す情報)に基づいて、いずれか一方の送信確認
信号をデータ受信部41へ出力する送信確認信号切り替
え部44と、を有する。
【0212】送信確認信号切り替え部44は、読み出し
対象データがSRAMにある旨を示す情報が送られると
送信部40から出力される送信確認信号をデータ受信部
41に出力し、読み出し対象データがDRAMにある旨
を示す情報が送られるとタイミング遅延部43から出力
される送信確認信号をデータ受信部41に出力させる。
【0213】(10−2)読み出し部による読み出し動
作 次に、本実施の形態における読み出し部11による読み
出し動作について、(10−2−1)SRAMからデー
タを読み出す動作と、(9−2−2)DRAMからデー
タを読み出す動作と、に分けて説明する。
【0214】(10−2−1)SRAMからデータを読
み出す動作 データ読み出し要求指令部8によるデータ読み出し要求
に基づいて、読み出し制御部12は、データの管理情報
をTAGメモリ7にアクセスして読み出す。読み出し制
御部12内において、この管理情報は管理情報キュー部
50に送られる。管理情報キュー部50は、上記管理情
報のアドレスを上下2分割し、所定クロック信号の1サ
イクルで上位アドレス及び下位アドレスを出力する。ま
た、管理情報キュー部50は、選択部53に管理情報を
送ると、選択部53は、管理情報に基づいて、折り畳み
用切り替え部52による出力と管理情報キュー部50か
らの下位アドレスの出力とのうち、後者の出力を選択す
る。この結果、管理情報キュー部50から出力された上
位アドレスと、選択部53から出力された下位アドレス
と、が所定のクロック信号の1サイクルでSRAMに送
信される。
【0215】一方、管理情報キュー部50は、送信確認
信号をデータ受信制御部42へ送ると共に、管理情報を
送信確認信号切り替え部44に送る。
【0216】データ受信制御部42において、送信確認
信号切り替え部44は、管理情報キュー部50からの送
信確認信号と、タイミング遅延部43からの送信確認信
号と、のうち、管理情報に基づいて、管理情報キュー部
50からの送信確認信号をデータ受信部41に出力す
る。
【0217】データ受信部41は、送信確認信号を受け
取ると、データ受信の待機をする。そして、データ受信
部41はSRAMから送られたデータを受信する。
【0218】(10−2−2)DRAMからデータを読
み出す動作 データ読み出し要求指令部8によるデータ読み出し要求
に基づいて、読み出し部11は、データの管理情報をT
AGメモリ7にアクセスして読み出す。読み出し制御部
12内において、管理情報は管理情報キュー部50に送
られる。
【0219】管理情報キュー部50は、所定のクロック
信号の1サイクルで上位アドレス及び下位アドレスを出
力する。そして、管理情報キュー部50から出力された
上位アドレスは遅延部51に入力される。そして、遅延
部51により遅延された上位アドレスと、管理情報キュ
ー部50から出力された下位アドレスと、管理情報キュ
ー部50から出力された切り替え信号と、が折り畳み用
切り替え部52に入力される。そして、折り畳み用切り
替え部52は、上記切り替え信号に基づいて、上記所定
クロック信号の1サイクルごとに、遅延部51からの出
力(上位アドレス)と、管理情報キュー部50からの出
力(下位アドレス)とを、交互に出力する。この折り畳
み用切り替え部50からは、上位アドレス、下位アドレ
スがそれぞれ所定クロック信号の1サイクルに対応しな
がら、上位アドレス及び下位アドレスが2サイクルで出
力される。
【0220】そして、折り畳み用切り替え部52の出力
と、管理情報キュー部50の出力(下位アドレス)と、
管理情報キュー部50からの管理情報と、が選択部53
に入力される。選択部53は、管理情報に基づいて、折
り畳み用切り替え部52の出力を選択する。
【0221】これにより、送信部40から、上位アドレ
ス、下位アドレスがそれぞれ所定クロック信号の1サイ
クルに対応しながら、上位アドレス及び下位アドレスが
2サイクルでDRAMに送信される。
【0222】一方、管理情報キュー部50は、送信確認
信号をデータ受信制御部42へ送ると共に、管理情報を
送信確認信号切り替え部44に送る。
【0223】データ受信制御部42において、送信確認
信号切り替え部44は、管理情報キュー部50からの送
信確認信号と、タイミング遅延部43からの送信確認信
号と、のうち、タイミング遅延部43からの送信確認信
号をデータ受信部41に出力する。
【0224】データ受信部41は、送信確認信号を受け
取ると、データ受信の待機をする。そして、データ受信
部41はDRAMから送られたデータを受信する。
【0225】本実施の形態においては、キャッシュメモ
リ制御装置はSRAM及びDRAMを制御することがで
きる。即ち、読み出し部11は、SRAMへアドレスを
送信するときの送信方法とDRAMへアドレスを送信す
るときの送信方法とを共に、考慮しているので、どちら
のメモリにもアドレスを送信することができる。また、
読み出し部11は、アドレスを送信したときを基準とし
て、SRAMからデータが読み出されるタイミングとD
RAMからデータが読み出されるタイミングとの違いを
考慮しているので、どちらのメモリからもデータ受信の
タイミングを合わせることができる。
【0226】実施の形態11.一般的に、コンピュータ
等の情報処理装置には、メモリデバイスと、これを制御
するメモリデバイス制御装置が使用されている。従来、
1つのメモリデバイス制御装置は、1つのチップ(以
下、メモリデバイス制御チップという)内に組み込まれ
ていた。
【0227】図19は、従来のメモリデバイス制御チッ
プを含むメモリデバイス制御システムの構成を示す図で
ある。
【0228】(11−1)従来のメモリデバイス制御シ
ステムの構成 従来のメモリデバイス制御システムは、メモリデバイス
60と、CPU61と、CPU61の指令に基づいてメ
モリデバイス60を制御するメモリデバイス制御装置6
2を含むメモリデバイス制御チップ63と、を有する。
【0229】メモリデバイス制御チップ63の構成につ
いて以下に説明する。
【0230】メモリデバイス制御チップ63の一方側の
端部には、CPU61からの信号を入力するためのCP
U用入力端子64が設けられている。また、メモリデバ
イス制御チップ63の他方側の端部には、メモリデバイ
ス60へ信号を出力するためのメモリデバイス用出力端
子65と、メモリデバイス60から出力される信号を入
力するためのメモリデバイス用入力端子66と、が設け
られている。
【0231】メモリデバイス制御チップ63内には、メ
モリデバイス制御装置62が含まれている。そして、メ
モリデバイス制御装置62の一方側の入力部は、CPU
用入力端子64と接続されている。また、メモリデバイ
ス制御装置の他方側の出力部は、メモリデバイス用出力
端子65と接続されている。また、メモリデバイス制御
装置62の他方側の入力部は、メモリデバイス用入力端
子66と接続されている。
【0232】そして、メモリデバイス制御チップ63の
CPU用入力端子64はCPU61と接続され、メモリ
デバイス制御チップ63のメモリデバイス用出力端子6
5はメモリデバイス60の入力部と接続され、メモリデ
バイス制御チップ63のメモリデバイス用入力端子66
はメモリデバイス60の出力部と接続される。
【0233】このようにして構成されたメモリデバイス
制御システムの動作について以下に説明する。
【0234】(11−2)従来のメモリデバイス制御シ
ステムの動作 メモリデバイス60の所定アドレスからデータを読み出
すように指示する信号を、CPU61がメモリデバイス
制御チップ63のCPU用入力端子64に送る。上記信
号は、メモリデバイス制御装置62の一方側の入力部へ
送られる。メモリデバイス制御装置62は、その他方側
の出力部から上記所定アドレスをメモリデバイス用出力
端子65を介して、メモリデバイス60の入力部に送
る。この結果、メモリデバイス60は、その出力部から
所定アドレスに格納されたデータをメモリデバイス制御
チップ63のメモリデバイス用入力端子66に送る。上
記データがメモリデバイス用入力端子66からメモリデ
バイス制御装置62の他方側の入力部に入力される。
【0235】しかしながら、従来のメモリデバイス制御
システムには、以下に示すような問題点があった。即
ち、従来では、1つのメモリデバイス制御チップには、
1つのメモリデバイス制御装置しか含めることができな
かった。このため、複数のメモリデバイス制御装置が必
要な場合には、複数のメモリデバイス制御チップを製造
する必要があり、製造コストが高くなるという問題点が
あった。また、製造した各メモリデバイス制御チップを
管理する必要があり、管理コストも高くなってしまっ
た。
【0236】そこで、本実施の形態では、1つのメモリ
デバイス制御チップ内に複数のメモリデバイス制御装置
を含めることができるメモリデバイス制御システムを提
供することを目的とする。
【0237】一般的に、メモリデバイス制御装置はゲー
ト数が少ないので、複数のメモリデバイス制御装置を1
つのメモリデバイス制御チップに含めることは可能であ
る。しかし、2つのメモリデバイス制御装置をそのまま
1つのチップに含める場合、メモリデバイス制御チップ
に設ける端子数は、1つのメモリデバイス制御装置を含
むメモリデバイス制御チップに設ける端子数に比べて、
約2倍必要となる。このため、メモリデバイス制御チッ
プが大きくなってしまい、チップ製造コストが高くなっ
てしまう。
【0238】本実施の形態では、1つのメモリデバイス
制御チップ内に複数のメモリデバイス制御装置を含める
ことができると共に、チップの小型化を図ることができ
るシステムを以下に説明する。
【0239】図20は、実施の形態10であるメモリデ
バイス制御システムの構成を示す図である。なお、対比
のために、従来のメモリデバイス制御システムの構成
(メモリデバイスAを制御するメモリデバイスA制御シ
ステム、メモリデバイスBを制御するメモリデバイスB
制御システム)も合わせて示す。図20において、従来
のメモリデバイス制御システムのCPUは省略してあ
る。
【0240】(11−3)実施の形態11であるメモリ
デバイス制御システムの構成 メモリデバイス制御システムは、メモリデバイスA60
a及びメモリデバイスB60bと、CPU61と、CP
U61の指令に基づいてメモリデバイスA60a及びメ
モリデバイスB60bを制御するメモリデバイス制御チ
ップ68と、を有する。
【0241】(11−3−1)メモリデバイス制御チッ
プの構成 先ず、メモリデバイス制御チップ68に形成された各端
子について説明する。
【0242】メモリデバイス制御チップ68の一方側の
端部には、CPU61からの信号を入力するためのCP
U用入力端子70が設けられている。また、メモリデバ
イス制御チップ68の他方側の端部には、メモリデバイ
スへ信号を出力するためのメモリデバイス用出力端子7
1と、メモリデバイスから出力される信号を入力するた
めのメモリデバイス用入力端子72とが設けられてい
る。
【0243】メモリデバイス制御チップ内には、メモリ
デバイスA60aを制御するメモリデバイスA制御装置
62aと、メモリデバイスB60bを制御するメモリデ
バイスB制御装置62bと、が含まれている。
【0244】メモリデバイスA制御装置62aの一方側
の入力部及びメモリデバイスB制御装置62bの一方側
の入力部は、共に、CPU用入力端子70と接続されて
いる。なお、CPU用入力端子70の一部の端子は、後
述する第1セレクタ部と接続されている。
【0245】また、メモリデバイス制御チップ68内に
は、メモリデバイスA制御装置62aの他方側の出力部
と、メモリデバイスB制御装置62bの他方側の出力部
と、のうちいずれか一方の出力部をメモリデバイス用出
力端子71と接続させる第1セレクタ部73が含まれ
る。
【0246】なお、第1セレクタ部73には、CPU用
入力端子70から切り替え信号(いずれのメモリデバイ
ス制御装置の出力部をメモリデバイス用出力端子71と
接続させるかを示す信号)が送られる。そして、第1セ
レクタ部73は、上記切り替え信号に基づいて、メモリ
デバイスA制御装置62aの他方側の出力部又はメモリ
デバイスB制御装置62bの他方側の出力部のうち、い
ずれか一方の出力部を、メモリデバイス用出力端子71
と接続させる。
【0247】また、メモリデバイスA制御装置62aの
他方側の入力部及びメモリデバイスB制御装置62bの
他方側の入力部は、メモリデバイス用入力端子72と接
続されている。
【0248】(11−3−2)メモリデバイス制御チッ
プを含めたシステムの構成の説明 そして、メモリデバイス制御チップ68のCPU用入力
端子70は、CPU61と接続される。メモリデバイス
制御チップ68のメモリデバイス用出力端子71は、メ
モリデバイスA60aの入力部及びメモリデバイスB6
0bの入力部に接続される。
【0249】また、メモリデバイス制御システムは、メ
モリデバイスA60aの出力部と、メモリデバイスB6
0bの出力部と、のうちいずれか一方の出力部をメモリ
デバイス用入力端子72と接続させる第2セレクタ部7
4を有する。なお、第2セレクタ部74には、CPU6
1から切り替え信号(いずれのメモリデバイスの出力部
をメモリデバイス用入力端子72と接続させるかを示す
信号)が送られる。そして、第2セレクタ部74は、上
記切り替え信号に基づいて、メモリデバイスA60aの
出力部又はメモリデバイスB60bの出力部のうち、い
ずれか一方の出力部を、メモリデバイス用入力端子72
と接続させる。
【0250】このようにして構成されたメモリデバイス
制御システムにおいて、各メモリデバイス制御装置がそ
れぞれ対応するメモリデバイスからデータを読み出す動
作について、以下に説明する。
【0251】(11−4)メモリデバイスA制御装置6
2aがメモリデバイスA60aからデータを読み出す動
作 (1)メモリデバイスA60aからデータを読み出す動
作 CPU61がメモリデバイスA60aの所定アドレスか
らデータを読み出すように指示する信号をメモリデバイ
ス制御チップ68のCPU用入力端子70に送る。上記
信号は、メモリデバイスA制御装置62aの一方側の入
力部及びメモリデバイスB制御装置62bの一方側の入
力部へ送られる。また、CPU61は、第1セレクタ部
73に、切り替え信号(メモリデバイスA制御装置62
aの出力部をメモリデバイス用出力端子71と接続させ
るかを示す信号)を送ると共に、第2セレクタ部74に
切り替え信号(メモリデバイスA60aの出力部をメモ
リデバイス用入力端子72と接続させるかを示す信号)
を送る。
【0252】メモリデバイスA制御装置62a及びメモ
リデバイスB制御装置62bは、その他方側の出力部か
ら上記所定アドレスを第1セレクタ部73へ送る。な
お、メモリデバイスA制御装置62aは、所定アドレス
をメモリデバイスA60aが受信するのに適した方法で
アドレスを出力し、メモリデバイスB制御装置62b
は、所定アドレスをメモリデバイスB60bが受信する
のに適した方法でアドレスを出力する。
【0253】本動作の場合、メモリデバイスA制御装置
62aから所定アドレスをメモリデバイスA60aに送
る必要があるので、第1セレクタ部73は、CPU61
からの切り替え信号に基づいて、メモリデバイスA制御
装置62aから出力された所定アドレスをメモリデバイ
ス用出力端子71を介して、メモリデバイスA60aに
送る。
【0254】この結果、メモリデバイスA60aは、そ
の出力部から所定アドレスに格納されたデータを第2セ
レクタ部74へ送る。また、上記所定アドレスはメモリ
デバイスB60bにも送られるので、メモリデバイスB
60bからもデータが第2セレクタ部74に送られる。
本動作の場合、メモリデバイスA60aからデータをメ
モリデバイスA制御装置62aに送る必要があるので、
第2セレクタ部74は、CPU61からの切り替え信号
に基づいて、メモリデバイスA60aのデータをメモリ
デバイス用入力端子72に送る。そして、メモリデバイ
ス入力端子72からメモリデバイスA制御装置62aの
他方側の入力部にデータが送られる。
【0255】(2)メモリデバイスBからデータを読み
出す動作 CPU61が、メモリデバイスB60bの所定アドレス
からデータを読み出すように指示する信号をメモリデバ
イス制御チップ68のCPU用入力端子70に送る。上
記信号は、メモリデバイスA制御装置62aの一方側の
入力部及びメモリデバイスB制御装置62bの一方側の
入力部へ送られる。また、CPU61は、第1セレクタ
部73に、切り替え信号(メモリデバイスB制御装置6
2bの出力部をメモリデバイス用出力端子71と接続さ
せるかを示す信号)を送ると共に、第2セレクタ部74
に切り替え信号(メモリデバイスB60bの出力部をメ
モリデバイス用入力端子72と接続させるかを示す信
号)を送る。
【0256】メモリデバイスA制御装置62a及びメモ
リデバイスB制御装置62bは、その他方側の出力部か
ら上記所定アドレスを第1セレクタ部73へ送る。
【0257】本動作の場合、メモリデバイスB制御装置
62bから所定アドレスをメモリデバイスB60bに送
る必要があるので、第1セレクタ部73は、CPU61
からの切り替え信号に基づいて、メモリデバイスB制御
装置62bから出力された所定アドレスをメモリデバイ
ス用出力端子71を介して、メモリデバイスB60bに
送る。なお、所定アドレスは、メモリデバイスA60a
の入力部にも送られる。
【0258】この結果、メモリデバイスA60a及びメ
モリデバイスB60bは、共に、その出力部から所定ア
ドレスに格納されたデータを第2セレクタ部74へ送
る。本動作の場合、メモリデバイスB60bからデータ
をメモリデバイスB制御装置62bに送る必要があるの
で、第2セレクタ部74は、CPU61からの切り替え
信号に基づいて、メモリデバイスB60bのデータをメ
モリデバイス用入力端子72に送る。そして、メモリデ
バイス入力端子72からメモリデバイスB制御装置62
bの他方側の入力部にデータが送られる。
【0259】なお、メモリデバイス制御チップ68にお
いては、CPU61からのI/O信号に基づいて、メモ
リデバイス制御装置の他方側の入力部を出力部に切り替
えると共に、メモリデバイスのデータ出力部をデータ入
力部に切り替えることができる。
【0260】そして、データの書き込み動作を行う場合
には、CPU61からのI/O信号に基づいて、メモリ
デバイス制御装置の他方側の入力部は、データ出力部と
なり、メモリデバイスのデータ出力部はデータ入力部と
なる。そして、第2セレクタ部74は、CPU61から
の切り替え信号に基づいて、メモリデバイスA制御装置
62aのデータ出力部とメモリデバイス制御装置62b
のデータ出力部とのうち、いずれか一方のデータ出力部
をメモリデバイスのデータ入力部に接続させる。この結
果、メモリデバイス制御装置のデータ出力部からメモリ
デバイスのデータ入力部にデータを書き込むことができ
る。
【0261】また、本実施の形態では、2つのメモリデ
バイスを制御できるメモリデバイス制御チップについて
説明したが、いずれか一方のメモリデバイスを制御する
ように設定できる。この設定については、第1セレクタ
部73及び第2セレクタ部74に対して、システム起動
時にコンフィグレーションを行う。即ち、いずれのメモ
リデバイス制御装置の出力部がメモリデバイス用出力端
子71に常時接続されるように第1セレクタ部73を設
定する。また、いずれのメモリデバイスの出力部がメモ
リデバイス用入力端子72に常時接続されるように第2
セレクタ部74を設定する。このように各セレクタ部を
設定することにより、メモリデバイス制御チップは、い
ずれか一方のメモリデバイスを制御するように設定でき
る。
【0262】また、本実施の形態においては、3つ以上
のメモリデバイス制御装置を1つのチップに含めること
もできる。そして、3つ以上のメモリデバイスを制御す
るメモリデバイス制御チップを構成することも可能であ
る。この場合においては、第1セレクタ部73及び第2
セレクタ部74には、3つ以上の入力データのうち、1
つのデータを出力できるセレクタを用いる必要がある。
【0263】本実施の形態においては、1つのチップに
複数のメモリデバイス制御装置を含めることができるの
で、複数のメモリデバイス制御装置を使用する場合、そ
の製造コスト、管理コストを低減できる。そして、本実
施の形態では、複数メモリデバイス制御装置を含むメモ
リ制御チップの端子数は、1つのメモリデバイス制御装
置を含むメモリデバイス制御チップの端子数と、同程度
にできる。このため、複数のメモリデバイス制御装置を
1つのチップに含めても、チップの大きさは従来程度に
抑えることができる。
【0264】実施の形態12.メモリデバイス制御装置
62は、メモリデバイスに固有な制御を行う機能と、メ
モリデバイスに依存しない制御を行う機能と、を有す
る。そして、メモリデバイス制御装置62が有する各機
能をハードウェア化すると、メモリデバイス制御装置
は、以下のような各部に分けられる。即ち、図21
(a)に示すように、メモリデバイス制御装置62は、
メモリデバイスに固有な制御を行う第1メモリデバイス
制御固有部82及び第2メモリデバイス制御固有部85
と、メモリデバイスに依存しない制御を行うメモリデバ
イス制御共通部84と、に分けられる。
【0265】そして、本実施の形態では、複数のメモリ
デバイスを制御するメモリデバイス制御チップ内に、第
1メモリデバイス制御固有部及び第2メモリデバイス制
御固有部を複数個設ける必要があるが、メモリデバイス
制御共通部は1個設ければよい。このため、複数のメモ
リデバイス制御装置を1つのチップに含める場合、メモ
リデバイス制御共通部に関するハードウェア量を低減で
きる。
【0266】本実施の形態であるメモリデバイス制御シ
ステムにおいて、実施の形態11であるメモリデバイス
制御システムと異なる点は、メモリデバイス制御チップ
の構成が異なる点にあり、その他の構成は実施の形態1
0と同様である。
【0267】(12−1)メモリデバイス制御チップの
構成 図21(b)は、本実施の形態であるメモリデバイス制
御チップの構成を示す図である。
【0268】本実施の形態であるメモリデバイス制御チ
ップ80には、実施の形態11であるメモリデバイス制
御チップの端子(CPU用入力端子70、メモリデバイ
ス用出力端子71、メモリデバイス用入力端子72)が
設けられている。
【0269】(メモリデバイス制御チップ内の各部につ
いて)メモリデバイス制御チップ80には、CPU用入
力端子70と接続され、CPU61(図21(b)には
示していない)からの指令信号を解読して、解読結果を
後述するメモリデバイス制御共通部に送る第1メモリデ
バイスA制御固有部82a及び第1メモリデバイスB制
御固有部82bが含まれる。
【0270】ここで、第1メモリデバイス制御固有部8
2a,82bは、それぞれ、制御するメモリデバイスに
固有の指令信号を解読するので、各第1メモリデバイス
制御固有部の構成は、制御するメモリデバイスに固有な
構成となる。
【0271】メモリデバイス制御チップ80には、第1
メモリデバイスA制御固有部82aの出力部及び第1メ
モリデバイスB制御固有部82bの出力部のうち、CP
U61からの切り替え信号に基づいて、いずれか一方の
出力部を後述するメモリデバイス制御共通部と接続させ
る第3セレクタ部83と、第3セレクタ部83からの出
力(解読結果)を後述する第2メモリデバイスA制御固
有部及び第2メモリデバイスB制御固有部に送るメモリ
デバイス制御共通部84と、が含まれる。
【0272】なお、CPU用入力端子70の一部の端子
は、第3セレクタ部83と接続されており、CPU用入
力端子70を介して、CPU61から切り替え信号が第
3セレクタ部83に送られる。また、メモリデバイス制
御共通部84は、後述する第2メモリデバイス制御固有
部が動作を行っているとき、必要に応じて、上記解読結
果を一時的に保持することもできる。
【0273】メモリデバイス制御チップ80には、メモ
リデバイス制御共通部84から送られた解読結果に基づ
いてCPU61からの指令を実行する(例えば、アドレ
スの送信)第2メモリデバイスA制御固有部85a及び
第2メモリデバイスB制御固有部85bと、これらの第
2メモリデバイス制御固有部の出力をCPU61からの
切り替え信号に基づいて、いずれか一方の出力をメモリ
デバイス用出力端子71に接続させる第4セレクタ部8
6と、を有する。
【0274】なお、CPU用入力端子72の一部の端子
は、第4セレクタ部86と接続されており、CPU用入
力端子72を介して、CPU61からの切り替え信号が
第4セレクタ部86に送られる。
【0275】また、第2メモリデバイスA制御固有部8
5aの他方側の入力部及び第2メモリデバイスB制御固
有部85bの他方側の入力部は、メモリデバイス用入力
端子72と接続されている。
【0276】(11−2)メモリデバイス制御チップの
動作 本実施の形態におけるメモリデバイス制御チップ80の
動作について、メモリデバイスAからデータを読み出す
場合について説明する。
【0277】CPU61がメモリデバイスA60aから
データを読み出すように指示する指令信号をメモリデバ
イス制御チップ80のCPU用入力端子70に送る。上
記指令信号は、第1メモリデバイスA制御固有部82a
の一方側の入力部及び第1メモリデバイスB制御固有部
82bの一方側の入力部へ送られる。各第1メモリデバ
イス制御固有部では、CPU61からの指令を解読し、
解読結果を第3セレクタ部83へ送る。本動作の場合、
第1メモリデバイスA制御固有部82aの解読結果が必
要なので、第3セレクタ部83は、CPU61からの切
り替え信号(第1メモリデバイスA制御固有部の出力部
をメモリデバイス制御共通部と接続させる旨を示す信
号)に基づいて、第1メモリデバイスA制御固有部82
aから出力された解読結果をメモリデバイス制御共通部
84へ送る。
【0278】メモリデバイス制御共通部84から上記解
読結果が第2メモリデバイスA制御固有部85a及び第
2メモリデバイスB制御固有部85bに送られる。第2
メモリデバイスA制御固有部85a及び第2メモリデバ
イスB制御固有部85bでは、上記解読結果に基づい
て、アドレスの送信を行う。そして、アドレスは第4セ
レクタ部86に送られる。本動作では、第2メモリデバ
イスA制御固有部85aからアドレスをメモリデバイス
A60aに送る必要があるので、第4セレクタ部86
は、CPU61からの切り替え信号に基づいて、第2メ
モリデバイスA制御固有部85aから出力されたアドレ
スをメモリデバイス用出力端子71に出力する。このア
ドレスは、メモリデバイスA60a及びメモリデバイス
B60bの入力部に送られる。
【0279】この結果、メモリデバイスA60a及びメ
モリデバイスB60bは、共に、その出力部から所定ア
ドレスに格納されたデータを第2セレクタ部74へ送
る。第2セレクタ部74は、CPU61からの切り替え
信号に基づいて、メモリデバイスA60aのデータをメ
モリデバイス用入力端子72に送る。そして、メモリデ
バイス入力端子72から第2メモリデバイスA制御固有
部85aの他方側の入力部にデータが送られる。
【0280】本実施の形態では、メモリデバイス制御チ
ップ80内に含まれるメモリデバイス制御装置は複数に
分けられている(第1メモリデバイス制御固有部、2メ
モリデバイス制御固有部、メモリデバイス制御共通
部)。そして、本実施の形態のメモリデバイス制御チッ
プ内に含めるメモリデバイス制御共通部84は、1個だ
けでよい。このため、複数のメモリデバイス制御装置を
1つのチップに含める場合、メモリデバイス制御共通部
に関するハードウェア量を低減できる。
【0281】
【発明の効果】請求項1、2及び3に記載の発明によれ
ば、書き込み手段は、第1キャッシュメモリの記憶内容
と第2キャッシュメモリの記憶内容とが異なるように、
データ(主記憶装置から読み込まれたデータ)を第1キ
ャッシュメモリ又は第2キャッシュメモリのいずれか一
方に書き込んでいる。このため、第2キャッシュメモリ
の記憶内容は、全て第1キャッシュメモリの記憶内容と
異なっているので、第2キャッシュメモリの容量を有効
に活用することができ、第2キャッシュメモリがアクセ
スされたときのヒット率を向上させることができる。
【0282】また、管理情報記憶手段には、第1キャッ
シュメモリに記憶されているデータの管理情報と、第2
キャッシュメモリに記憶されているデータの管理情報
と、が記憶されている。そして、データの読み出し要求
を受けた場合、読み出し手段は、データの管理情報を読
み出すことができ、読み出し要求のデータに対して、そ
のアドレスといずれのキャッシュメモリに存在するかを
知ることができる。このため、読み出し手段は、管理情
報に基づいて、データの存在するキャッシュメモリから
迅速に、データを読み出すことができる。
【0283】請求項4に記載の発明によれば、書き込み
手段は、読み出し手段による読み出し回数が多いプログ
ラムコードデータについては、第1キャッシュメモリに
書き込み、読み出し手段による読み出し回数が比較的少
ないオペランドデータについては、第2キャッシュメモ
リに書き込むことができる。この結果、読み出し手段に
よるデータの読み出しの高速化を一層図ることができ
る。
【0284】請求項5に記載の発明によれば、読み出し
手段により読み出されたデータが第2キャッシュメモリ
にある場合、キャッシュメモリ制御手段は、上記データ
と、第1キャッシュメモリに記憶された各データのうち
読み出し手段による最近の読み出し頻度が少ないデータ
と、を相互に入れ替える。この結果、第2キャッシュメ
モリから読み出されたデータを読み出し手段が再度読み
出すときは、第1キャッシュメモリから読み出すことが
でき、データの読み出しの高速化を図ることができる。
【0285】請求項6に記載の発明によれば、第1キャ
ッシュメモリ及び第2キャッシュメモリはセットアソシ
エイティブキャッシュメモリを構成している。そして、
キャッシュメモリ制御手段は、第2キャッシュメモリか
ら読み出された読み出しデータと、第1キャッシュメモ
リに記憶された各データのうち読み出し手段による最近
の読み出し頻度が少ないデータと、について、第2キャ
ッシュメモリの読み出しデータの格納されたセットと、
第1キャッシュメモリの上記セットとの間で、相互に入
れ替える。この結果、請求項5の発明と比較して、キャ
ッシュメモリ制御手段がデータの読み出し頻度を調べる
範囲が狭くなるので、キャッシュメモリ制御手段は、デ
ータの入れ替えを迅速に行うことができる。また、キャ
ッシュメモリ制御手段がデータの読み出し頻度を調べる
範囲が狭くなるので、キャッシュメモリ制御手段による
制御システムを簡単にすることができる。
【0286】請求項7及び8の発明によれば、書き込み
実績情報記憶手段には、過去の書き込み実績情報が記憶
されており、予測手段は、この書き込み実績情報に基づ
いて、次に読み出されるデータを予測する。そして、こ
の予測データが第2キャッシュメモリにある場合、キャ
ッシュメモリ制御手段は、予測データを第1キャッシュ
メモリに移動させるので、予測通りにデータの読み出し
要求がきたときは、読み出し手段は高速にデータを読み
出すことができる。
【0287】請求項9に記載の発明によれば、読み出し
手段は、データ読み出し指令手段によるデータ読み出し
要求を受けた場合、第1管理情報記憶手段及び第2管理
情報記憶手段にアクセスするが、演算制御装置によるデ
ータ読み出し要求を受けた場合、第2管理情報記憶手段
にのみアクセスする。また、読み出し手段は、演算制御
装置からデータの読み出し要求を受けても、データ読み
出し指令手段によるデータ読み出し要求に基づいた読み
出し動作を行っているときは、その動作を優先して行
う。
【0288】このため、システムバスに演算制御装置が
接続されていて、この演算制御装置がキャッシュメモリ
にアクセスできる場合であっても、第1キャッシュメモ
リにあるデータが、データ読み出し指令手段により連続
的に読み出し要求を受けている場合には、第1キャッシ
ュメモリからデータを高速に読み出す動作は途中で中断
されずに、連続的に行われる。
【0289】請求項10に記載の発明によれば、第1管
理情報記憶手段及び第2管理情報記憶手段は、それぞ
れ、高速メモリ及び低速メモリである。このため、読み
出し手段は、読み出し要求データに対して、第1管理情
報記憶手段及び第2管理情報記憶手段の両者にアクセス
すると、第1管理情報記憶手段から早くアクセス結果を
得られる。そして、読み出し要求データが第1キャッシ
ュメモリに存在しない場合、読み出し手段は、予めシス
テムバス使用権付与手段にシステムバス使用権要求を出
す。
【0290】そして、第2管理情報記憶手段からのアク
セス結果が読み出し手段に返されたとき、第1キャッシ
ュメモリ及び第2キャッシュメモリのいずれにデータが
存在しない場合、既にシステムバス使用権要求を出して
いるので、迅速にシステムバス使用権を得ることができ
る。この結果、読み出し手段は、読み出し要求データが
第1キャッシュメモリ及び第2キャッシュメモリの両者
に存在しない場合、上記システムバス使用権に基づい
て、主記憶装置に迅速にアクセスすることができる。従
って、2つのキャッシュメモリにミスヒットしたときの
ペナルティを低減することができる。
【0291】請求項11に記載の発明によれば、読み出
し手段は、SRAMへアドレスを送信するときの送信方
法とDRAMへアドレスを送信するときの送信方法とを
共に、考慮しているので、どちらのメモリにもアドレス
を送信することができる。また、読み出し手段は、アド
レスを送信したときを基準として、SRAMからデータ
が読み出されるタイミングとDRAMからデータが読み
出されるタイミングとの違いを考慮しているので、どち
らのメモリからもデータ受信のタイミングを合わせるこ
とができる。
【図面の簡単な説明】
【図1】 実施の形態1であるキャッシュメモリ制御シ
ステムの構成を示す図である。
【図2】 実施の形態1であるキャッシュメモリにデー
タが書き込まれる様子を示した模式図である。
【図3】 実施の形態3であるキャッシュメモリ制御シ
ステムの構成を示す図である。
【図4】 実施の形態3であるキャッシュメモリ制御部
によるデータ入れ替え動作を説明するための模式図であ
って、(a)は、低速大容量キャッシュ及び高速小容量
キャッシュからデータをそれぞれ第1バッファ及び第2
バッファに移動させた様子を示す図であり、(b)は、
第1バッファ及び第2バッファに格納されたデータを、
それぞれ、高速小容量キャッシュ及び低速大容量キャッ
シュに移動させた様子を示す図である。
【図5】 CPU20がバスブリッジ21を介して、キ
ャッシュメモリ又は主記憶装置4からデータを読み出す
システムを示す図である。
【図6】 図5のシステムにキャッシュメモリを増設す
る場合において、同一の価格で構成できるシステムを示
す図であって、(a)はキャッシュメモリを全て高速小
容量キャッシュで構成したシステムを示す図であり、
(b)はキャッシュメモリを全て低速大容量キャッシュ
で構成したシステムを示す図であり、(c)はキャッシ
ュメモリを高速小容量キャッシュ及び低速大容量キャッ
シュで構成したシステムを示す図である。
【図7】 実施の形態4であるキャッシュメモリ制御シ
ステムの構成を示す図である。
【図8】 実施の形態4であるセットアソシエイティブ
キャッシュメモリの記憶内容を示す模式図である。
【図9】 実施の形態4であるキャッシュメモリ制御部
によるデータ入れ替え動作を説明するための模式図であ
り、(a)は、低速大容量キャッシュ及び高速小容量キ
ャッシュからデータをそれぞれ第1バッファ及び第2バ
ッファに移動させた様子を示す図であり、(b)は、第
1バッファ及び第2バッファに格納されたデータを、そ
れぞれ、高速小容量キャッシュ及び低速大容量キャッシ
ュに移動させた様子を示す図である。
【図10】 実施の形態5であるキャッシュメモリ制御
システムの構成を示す図である。
【図11】 実施の形態6であるキャッシュメモリ制御
システムの構成を示す図である。
【図12】 実施の形態6であるキュー部の記憶内容を
示す図である。
【図13】 実施の形態7であるキャッシュメモリ制御
システムの構成を示す図である。
【図14】 実施の形態8であるキャッシュメモリ制御
システムの構成を示す図である。
【図15】 実施の形態9であるキャッシュメモリ制御
システムの構成を示す図である。
【図16】 実施の形態9であるキャッシュメモリ制御
システムの別の構成を示す図である。
【図17】 実施の形態10である読み出し制御部の構
成を示す図である。
【図18】 実施の形態10である送信部の構成を示す
図である。
【図19】 従来のメモリデバイス制御システムの構成
を示す図である。
【図20】 実施の形態11であるメモリデバイス制御
システムの構成を示す図である。
【図21】 (a)は実施の形態12であるメモリデバ
イス制御装置を示す図であり、(b)は実施の形態12
であるメモリデバイス制御チップの構成を示す図であ
る。
【符号の説明】
1 高速小容量キャッシュ、2 低速大容量キャッシ
ュ、3 システムバス、4 主記憶装置、5 I/Oコ
ントローラ、7 TAGメモリ、8 データ読み出し指
令部、9 書き込み部、10 書き込み制御部、11
読み出し部、12読み出し制御部、13 演算制御部、
14 データパス選択部(読み出し用データパス選択部
及び書き込み用データパス選択部)、15,35 キャ
ッシュメモリ制御部、16,36 第1バッファ、1
7,37 第2バッファ、20,61 CPU、21
バスブリッジ、22 キュー部、23 予測部、24
比較部、25 キュー制御部、30 演算制御装置、3
1 第1TAGメモリ、32第2TAGメモリ、33
システムバス使用権付与部、40 送信部、41データ
受信部、42 データ受信制御部、43 タイミング遅
延部、44 送信確認信号切り替え部、50 管理情報
キュー部、51 遅延部、52 折り畳み用切り替え
部、53 選択部、60,60a,60b メモリデバ
イス、62,62a,62b メモリデバイス制御装
置、63,80 メモリデバイス制御チップ、64,6
4a,64b,70 CPU用入力端子、65,65
a,65b,71 メモリデバイス用出力端子、66,
66a,66b,72 メモリデバイス用入力端子、7
3 第1セレクタ部、74 第2セレクタ部、82,8
2a,82b 第1メモリデバイス制御固有部、83
第3セレクタ部、84 メモリデバイス制御共通部、8
5,85a,85b 第2メモリデバイス制御固有部、
86 第4セレクタ部。
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成11年2月18日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正内容】
【書類名】 明細書
【発明の名称】 キャッシュメモリ制御装置
【特許請求の範囲】
【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、キャッシュメモリ
を制御するキャッシュメモリ制御装置、特に高速小容量
キャッシュメモリ及び低速大容量キャッシュメモリを制
御するキャッシュメモリ制御装置に関する。
【0002】
【従来の技術】一般的に、計算機等の情報処理システム
には、主記憶装置とCPU等のプロセッサとの間に位置
するバッファ装置として、キャッシュメモリ装置が含ま
れている。そして、プロセッサの性能を最大に生かすよ
うに、キャッシュメモリ装置を構成することが要望され
ている。
【0003】従来のキャッシュメモリ装置では、キャッ
シュメモリをSRAM等の高速RAMで構成していた。
この構成によれば、キャッシュメモリにデータが存在す
る場合には、データの読み出しが高速に行われる。
【0004】しかし、高速RAMは、高価格であるた
め、必要な容量のキャッシュメモリを高速RAMで構成
すると、コストが非常に高くなってしまう。また、高速
RAMは集積密度も大きくないため、必要な容量のキャ
ッシュメモリを高速RAMで構成すると、チップ面積が
大きくなってしまう。このため、高速RAMでキャッシ
ュメモリを構成する場合、その容量を小さくするしかな
いので、キャッシュメモリにおけるヒット率が低くなっ
てしまう。この結果、ミスヒットが多発した場合、主記
憶装置からデータを読み出すことが多くなり、高速化が
阻害されることになる。
【0005】これに対して、従来、キャッシュメモリを
DRAM等の低速RAMで構成したキャッシュメモリ装
置もあった。しかし、このキャッシュメモリ装置におい
ては、キャッシュメモリにおけるヒット率を向上させる
ことができるが、高速なデータ読み出しを実現すること
はできない。
【0006】そこで、特開平5−35589号公報によ
る技術(以下、従来改良技術という)がある。この従来
改良技術によれば、階層構造のキャッシュメモリを制御
するキャッシュメモリシステムが示されている。このキ
ャッシュメモリシステムは、高速小容量キャッシュメモ
リ及び低速大容量キャッシュメモリと、これらを制御す
る制御部と、を有する。なお、この制御動作とは、例え
ば、アドレスをキャッシュメモリに供給しデータを読み
出す動作や、データを主記憶から読み出してキャッシュ
メモリに書き込む動作等のことである。
【0007】従来改良技術のキャッシュメモリシステム
においては、SRAM等の高速小容量メモリが上位階層
キャッシュメモリであり、DRAM等の低速大容量メモ
リが下位階層キャッシュメモリであり、高速小容量キャ
ッシュメモリに書き込まれるデータは、低速大容量キャ
ッシュメモリにも書き込まれている。
【0008】そして、データの読み出し要求に対して、
先ず、高速小容量キャッシュメモリがアクセスされ、ヒ
ットした場合には、高速小容量キャッシュメモリからデ
ータが読み出される。また、高速小容量キャッシュメモ
リに上記データがない場合、低速大容量キャッシュメモ
リがアクセスされ、ヒットした場合、低速小容量キャッ
シュメモリからデータが読み出される。
【0009】この従来改良技術によれば、キャッシュメ
モリを高速小容量メモリのみで構成した場合に比べて、
主記憶装置にアクセスしてデータを読み出す頻度を低下
させることができると共に、キャッシュメモリを低速大
容量メモリのみで構成した場合に比べて、データの高速
読み出しを実現できる。
【0010】
【発明が解決しようとする課題】しかしながら、上述の
従来改良技術には、以下に示す問題点があった。即ち、
下位の階層である低速キャッシュメモリには、上位の階
層である高速小容量キャッシュメモリが記憶しているデ
ータが全て記憶されており、低速大容量キャッシュメモ
リの記憶内容に無駄が生じていた。このため、読み出し
要求のデータが低速大容量キャッシュメモリに存在する
確率が低くなってしまった。
【0011】また、従来改良技術では、低速大容量キャ
ッシュメモリにのみ存在するデータを読み出す場合で
も、制御部は、以下のような動作を行っている。即ち、
制御部は、先ず、読み出し要求のデータが高速キャッシ
ュメモリに存在するかを調べ、存在しないと判定したと
き、初めて、読み出し要求のデータが低速キャッシュメ
モリに存在するかを調べ、存在すると判定したとき、そ
のアドレスからデータを読み出している。このため、デ
ータを低速キャッシュメモリから読み出す動作が遅れて
しまう。
【0012】本発明は、上記の問題点を解決するために
なされたものであり、その目的は、高速キャッシュメモ
リ及び低速キャッシュメモリを制御する制御装置におい
て、低速キャッシュメモリの容量を有効に活用して読み
出し要求のデータが低速キャッシュメモリに存在する確
率を向上させると共に、低速キャッシュメモリからデー
タを迅速に読み出すことができる装置を提供することに
ある。
【0013】
【課題を解決するための手段】以上のような目的を達成
するために、第1の発明に係るキャッシュメモリ制御装
置は、高速小容量の第1キャッシュメモリ及び低速大容
量の第2キャッシュメモリを制御するキャッシュメモリ
制御装置において、前記第1キャッシュメモリに記憶さ
れている複数のデータに対して、個別のデータに対する
前記第1キャッシュメモリ上のアドレス及び第1キャッ
シュメモリにある旨を示す管理情報を記憶する第1管理
情報記憶手段と、前記第1キャッシュメモリに記憶され
ている複数のデータと、前記第2キャッシュメモリに記
憶されている複数のデータと、に対して、個別のデータ
に対するそのデータが記憶されているキャッシュメモリ
上のアドレス及びいずれのキャッシュメモリにあるかを
示す管理情報を記憶する第2管理情報記憶手段と、前記
第1キャッシュメモリの記憶内容と前記第2キャッシュ
メモリの記憶内容とが異なるように、データを前記第1
キャッシュメモリ又は前記第2キャッシュメモリのいず
れか一方に書き込むと共に、前記データが第1キャッシ
ュメモリに書き込まれた場合には、前記データの管理情
報を前記第2管理情報記憶手段及び前記第1管理情報記
憶手段に書き込み、前記データが第2キャッシュメモリ
に書き込まれた場合には、前記データの管理情報を前記
第2管理情報記憶手段に書き込む書き込み手段と、デー
タの読み出し要求を行うデータ読み出し指令手段と、こ
のデータ読み出し指令手段によりデータ読み出し要求を
受けた場合、前記第1管理情報記憶手段又は前記第2管
理情報記憶手段のうち少なくとも一方から前記データの
管理情報を読み出し、この管理情報に基づいて、前記第
1キャッシュメモリ又は前記第2キャッシュメモリのい
ずれか一方から前記データを読み出す読み出し手段と、
を有し、前記読み出し手段は、システムバスを介して演
算制御装置と接続されており、前記演算制御装置による
データの読み出し要求に対しては、前記データの管理情
報を前記第2管理情報記憶手段のみから読み出し、前記
データ読み出し指令手段によるデータ読み出し要求に基
づいた読み出し動作を行っていないときに、前記第1キ
ャッシュメモリ又は前記第2キャッシュメモリのいずれ
か一方から前記データを読み出すものである。
【0014】第2の発明に係るキャッシュメモリ制御装
置は、第1の発明において、前記第1管理情報記憶手段
は、高速動作のメモリであり、前記第2管理情報記憶手
段は、低速動作のメモリであり、前記システムバスに
は、主記憶装置と、システムバスの使用権を与えるシス
テムバス使用権付与手段と、が接続されており、前記読
み出し手段は、前記データ読み出し指令手段によるデー
タ読み出し要求に対して、前記第1管理情報記憶手段及
び前記第2管理情報記憶手段にアクセスし、前記第1管
理情報記憶手段から送られた管理情報から、前記データ
が前記第1キャッシュメモリに存在しないと判定した場
合には、前記システムバス使用権付与手段にシステムバ
ス使用権の要求信号を送り、前記第2管理情報記憶手段
から送られた管理情報から、前記データが前記第1キャ
ッシュメモリ及び前記第2キャッシュメモリの両者に存
在しないと判定した場合には、前記システムバス使用権
付与手段により付与されたシステムバス使用権に基づい
て、主記憶装置にアクセスするものである。
【0015】
【発明の実施の形態】以下、図面に基づいて、本発明の
好適な実施の形態について説明する。
【0016】実施の形態1.図1は、実施の形態1であ
るキャッシュメモリ制御装置を含むキャッシュメモリ制
御システムの構成を示すブロック図である。
【0017】(1−1)キャッシュメモリ制御システム
の構成キャッシュメモリ制御システムは、高速小容量キ
ャッシュメモリ(以下、高速小容量キャッシュという)
1及び低速大容量キャッシュメモリ(以下、低速大容量
キャッシュという)2と、これらのキャッシュメモリ
1、2を制御するキャッシュメモリ制御装置と、システ
ムバス3を介して上記キャッシュメモリ制御装置と接続
されている主記憶装置4と、I/Oコントローラ5と、
を有する。
【0018】このI/Oコントローラ5には、周辺装置
(図示せず)が接続されている。
【0019】(1−2)キャッシュメモリ制御装置の各
部以下、キャッシュメモリ制御装置を構成している各部
の説明を行う。
【0020】(1)第1TAGメモリ及び第2TAGメ
モリ第1TAGメモリ31は、高速小容量キャッシュ1
に記憶されている複数のデータに対して、個別のデータ
に対するアドレス及び高速小容量キャッシュ1にある旨
を示す管理情報を記憶する。
【0021】第2TAGメモリ32は、高速小容量キャ
ッシュ1に記憶されている複数のデータと、低速大容量
キャッシュ2に記憶されている複数のデータと、に対し
て、個別のデータに対するアドレス及びいずれのキャッ
シュメモリにあるかを示す管理情報を記憶する。
【0022】(2)データ読み出し指令部データ読み出
し指令部8は、データの読み出し要求を後述する読み出
し部に指令する。
【0023】(3)書き込み部書き込み部9は、書き込
み制御部10と書き込み用データパス選択部14とを有
する。
【0024】書き込み制御部10は、データを高速小容
量キャッシュ1又は低速大容量キャッシュ2のいずれか
一方に書き込む旨を示す情報と書き込み対象データと
を、書き込み用データパス選択部に送ると共に、データ
を高速小容量キャッシュ1に書き込んだ場合には、デー
タの管理情報を第1TAGメモリ31及び第2TAGメ
モリ32に書き込み、データを低速大容量キャッシュ2
に書き込んだ場合には、データの管理情報を第2TAG
メモリ32に書き込む。書き込み用データパス選択部1
4は、書き込み制御部10から送られた上記情報に基づ
いて、書き込み制御部10から送られたデータを高速小
容量キャッシュ1又は低速大容量キャッシュ2のいずれ
か一方に書き込む。
【0025】(4)読み出し部読み出し部11は、読み
出し制御部12と読み出し用データパス選択部とを有す
る。
【0026】読み出し制御部12は、データ読み出し指
令部8によるデータの読み出し要求を受けた場合、第1
TAGメモリ31又は第2TAGメモリ32のうち少な
くとも一方から上記データの管理情報を読み出す。そし
て、読み出し制御部12は、管理情報を読み出し用デー
タパス選択部14に送り、高速小容量キャッシュ1又は
低速大容量キャッシュ2のいずれか一方から読み出し用
データパス選択部14を介して、データを読み出す。
【0027】また、読み出し制御部12は、演算制御装
置30によるデータの読み出し要求に対しては、データ
の管理情報を第2TAGメモリ32のみから読み出す。
そして、データ読み出し指令部8によるデータ読み出し
要求に基づいた読み出し動作を行っていないときに、読
み出し制御部12は、管理情報を読み出し用データパス
選択部14に送り、高速小容量キャッシュ1又は低速大
容量キャッシュ2のいずれか一方から読み出し用データ
パス選択部14を介して、データを読み出す。
【0028】なお、読み出し制御部12は、必要に応じ
て、システムバス3を介して、主記憶装置4からもデー
タを読み出す。また、書き込み部9が書き込むデータ
は、読み出し制御部12により主記憶装置4から読み出
されたデータである。
【0029】そして、本実施の形態においては、データ
読み出し指令部8、書き込み制御部10及び読み出し制
御部12は、演算制御部13に搭載されている。また、
読み出し用データパス選択部14及び書き込み用データ
パス選択部14は、データパス選択部14に搭載されて
いる。
【0030】(1−3)キャッシュメモリ制御装置の動
作(データの書き込み動作、データの読み出し動作)に
ついて以下に説明する。
【0031】(1−3−1)データの書き込み動作読み
出し制御部12は、例えば、データAの読み出し要求を
受けた場合、第1TAGメモリ31及び第2TAGメモ
リ32にアクセスし、上記データAの管理情報があるか
否かを調べる。この結果、データAの管理情報が存在し
ない場合、読み出し制御部12は、主記憶装置4からデ
ータAを読み出し、このデータAを書き込み制御部10
へ送る。書き込み制御部10は、データAを書き込み用
データパス選択部14を介して、高速小容量キャッシュ
1に書き込む。
【0032】また、書き込み制御部10は、上記データ
Aの管理情報を第1TAGメモリ31及び第2TAGメ
モリ32に送り、更新させる。
【0033】また、書き込み部9がデータを低速大容量
キャッシュ2に書き込んだ場合には、上記データの管理
情報を第2TAGメモリ32に送り、上記データの管理
情報を更新させる。
【0034】(1−3−2)データの読み出し動作
(1)データ読み出し指令部8によりデータ読み出し要
求を受けた場合におけるデータの読み出し動作を以下に
説明する。
【0035】読み出し制御部12は、第1TAGメモリ
31及び第2TAGメモリ32の両者にアクセスし、デ
ータの管理情報があるか否かを調べる。この結果、デー
タの管理情報が存在する場合、データの管理情報を読み
出し、管理情報のアドレスに基づいて、高速小容量キャ
ッシュ1及び低速大容量キャッシュ2の両者にアクセス
する。
【0036】そして、読み出し制御部12は、管理情報
(読み出し対象データが高速小容量キャッシュ1にある
ことを示す情報)をデータパス選択部14へ送る。この
結果、読み出し制御部12は、データパス選択部14を
介して、高速小容量キャッシュ1のデータ出力部と接続
される。そして、読み出し制御部12は、データパス選
択部14を介して、高速小容量キャッシュ1からデータ
を読み出す。
【0037】(2)演算制御装置30によりデータ読み
出し要求を受けた場合におけるデータの読み出し動作を
以下に説明する。
【0038】読み出し制御部12は、第2TAGメモリ
32のみにアクセスし、上記データの管理情報があるか
否かを調べる。この結果、データの管理情報が存在する
場合、データの管理情報を読み出す。
【0039】ここで、読み出し制御部12は、読み出し
指令部8に基づいたキャッシュメモリへの読み出し動作
を行っていないときに、管理情報のアドレスに基づい
て、高速小容量キャッシュ1及び低速大容量キャッシュ
2の両者にアクセスする。即ち、上述した読み出し指令
部8に基づいたキャッシュメモリへの読み出し動作を行
っているときはその動作を優先して行い、上記読み出し
動作が完了した後、演算制御装置30によるキャッシュ
メモリへの読み出し動作を行う。例えば、読み出し指令
部8に基づいたキャッシュメモリへの読み出し動作が連
続的に行われている場合には、演算制御装置30による
キャッシュメモリへの読み出し動作は行わない。
【0040】そして、読み出し指令部8に基づいたキャ
ッシュメモリへの読み出し動作が行われていないとき、
読み出し制御部12は、管理情報(読み出し対象データ
が高速小容量キャッシュにあることを示す情報)をデー
タパス選択部14へ送る。この結果、読み出し部11
は、データパス選択部14を介して、高速小容量キャッ
シュ1のデータ出力部と接続される。そして、読み出し
制御部12は、データパス選択部14を介して、高速小
容量キャッシュ1からデータを読み出す。
【0041】なお、演算制御部13は、I/Oコントロ
ーラ5を制御して周辺装置からデータを主記憶装置4に
記憶させることができる。
【0042】本実施の形態においては、読み出し部11
は、データ読み出し指令部8によるデータ読み出し要求
を受けた場合、第1TAGメモリ31及び第2TAGメ
モリ32にアクセスするが、演算制御装置30によるデ
ータ読み出し要求を受けた場合、第2TAGメモリ32
にのみアクセスする。また、読み出し部11は、演算制
御装置30からデータの読み出し要求を受けても、デー
タ読み出し指令部8によるデータ読み出し要求に基づい
た読み出し動作を行っているときは、その動作を優先し
て行う。
【0043】このため、システムバス3に他の演算制御
装置30が接続されていて、上記演算制御装置30がキ
ャッシュメモリにアクセスできる場合であっても、高速
小容量キャッシュ1にあるデータが、データ読み出し指
令部8により連続的に読み出し要求を受けている場合に
は、高速小容量キャッシュ1からデータを高速に読み出
す動作は途中で中断されずに、連続的に行われる。
【0044】実施の形態2.図2は、実施の形態2であ
るキャッシュメモリ制御システムの構成を示す図であ
る。実施の形態2であるキャッシュメモリ制御システム
において、実施の形態7であるキャッシュメモリ制御シ
ステムと異なる点は、以下に示す点である。
【0045】(2−1)キャッシュメモリ制御システム
の構成実施の形態2であるシステムバス3には、システ
ムバスの使用権を与えるシステムバス使用権付与部33
(バスアービトレーション部)が接続されている。
【0046】また、実施の形態2であるキャッシュメモ
リ制御装置においては、実施の形態1であるキャッシュ
メモリ制御装置と比較して、第1TAGメモリ31及び
第2TAGメモリ32の構成、読み出し部11の機能が
異なる。
【0047】(1)第1TAGメモリ及び第2TAGメ
モリ第1TAGメモリ31は、高速メモリであり、第2
TAGメモリ32は低速メモリである。
【0048】(2)読み出し部読み出し制御部12は、
データ読み出し指令部8によるデータ読み出し要求に対
して、第1TAGメモリ31及び第2TAGメモリ32
にアクセスし、第1TAGメモリ31から送られた管理
情報から、データが高速小容量キャッシュ1に存在しな
いと判定した場合には、前記システムバス使用権付与部
33にシステムバス使用権の要求信号を送る。
【0049】また、読み出し制御部12は、第2TAG
メモリ32から送られた管理情報から、データが高速小
容量キャッシュ1及び低速大容量キャッシュ2の両者に
存在しないと判定した場合には、システムバス使用権付
与部33により付与されたシステムバス使用権に基づい
て、主記憶装置4にアクセスする。
【0050】(2−2)キャッシュメモリ制御装置の動
作本実施の形態におけるキャッシュメモリ制御装置の動
作について説明する。
【0051】読み出し制御部12は、データ読み出し指
令部8によるデータの読み出し要求に対して、第1TA
Gメモリ31及び第2TAGメモリ32にアクセスす
る。この際、第1TAGメモリ31は高速メモリなの
で、第1TAGメモリ31の方が早くアクセス結果を読
み出し制御部12に返す。
【0052】この結果、読み出し要求データが高速小容
量キャッシュ1に存在しないと読み出し制御部12が判
定した場合、システムバス3を介して、システムバス使
用権付与部33にシステムバス使用権要求信号を送る。
【0053】続いて、低速メモリである第2TAGメモ
リ32からアクセス結果が読み出し制御部12に送られ
る。このアクセス結果から、読み出し要求データが低速
大容量キャッシュ2に存在すると読み出し制御部12が
判定した場合には、読み出し制御部12は、システムバ
ス使用権付与部33に、システムバス3を使用しない旨
を示す信号を送る。
【0054】一方、アクセス結果から、読み出し要求デ
ータが高速大容量キャッシュ1及び低速大容量キャッシ
ュ2の両者に存在しないと読み出し制御部12が判定し
た場合には、読み出し制御部12は、システムバス使用
権付与部33からシステムバス使用権が送られるのを待
つ。
【0055】そして、読み出し制御部12は、システム
バス使用権付与部33により付与されたシステムバス使
用権に基づいて、主記憶装置4にアクセスし、上記デー
タを読み出す。
【0056】本実施の形態においては、第1TAGメモ
リ31及び第2TAGメモリ32は、それぞれ、高速メ
モリ及び低速メモリである。このため、読み出し部11
は、読み出し要求データに対して、第1TAGメモリ3
1及び第2TAGメモリ32の両者にアクセスすると、
第1TAGメモリ31から早くアクセス結果を得られ
る。そして、読み出し要求データが高速小容量キャッシ
ュ1に存在しない場合、読み出し部11は、予めシステ
ムバス使用権付与部33にシステムバス使用権要求を出
す。
【0057】そして、第2TAGメモリ32からのアク
セス結果が読み出し部11に返されたとき、高速小容量
キャッシュ1及び低速大容量キャッシュ2のいずれにも
データが存在しない場合、既にシステムバス使用権要求
を出しているので、迅速にシステムバス使用権を得るこ
とができる。この結果、読み出し部11は、読み出し要
求データが高速小容量キャッシュ1及び低速大容量キャ
ッシュ2の両者に存在しない場合、上記システムバス使
用権に基づいて、主記憶装置4に迅速にアクセスするこ
とができる。従って、本実施の形態においては、2つの
キャッシュメモリにミスヒットしたときのペナルティを
低減することができる。
【0058】実施の形態3.(3−1)キャッシュメモ
リ制御システムの構成図3は、実施の形態3であるキャ
ッシュメモリ制御システムの構成を示す図である。実施
の形態3であるキャッシュメモリ制御システムが、実施
の形態2であるキャッシュメモリ制御システムと異なる
点は、以下に示す点である。
【0059】即ち、実施の形態3であるキャッシュメモ
リ制御装置は、低速小容量キャッシュ2から読み出され
たデータと、高速大容量キャッシュ1に記憶された各デ
ータのうち読み出し部11による最近の読み出し頻度が
少ないデータと、を相互に入れ替えると共に、移動させ
たデータの管理情報を第1TAGメモリ31及び第2T
AGメモリ32に更新させるキャッシュメモリ制御部3
5を有する。
【0060】また、第1TAGメモリ31及び第2TA
Gメモリ32には、各データに対する読み出し部11に
よる最近の読み出し頻度が記憶される。
【0061】(3−2)キャッシュメモリ制御装置の動
作本実施の形態であるキャッシュメモリ制御装置による
動作について以下に説明する。
【0062】キャッシュメモリ制御部35は、読み出し
部11により低速大容量キャッシュ2からデータが読み
出された場合、読み出されたデータを低速大容量キャッ
シュ2から第1バッファ36に移動させる。また、キャ
ッシュメモリ制御部35は、第1TAGメモリ31又は
第2TAGメモリ32にアクセスして、高速小容量キャ
ッシュ1に記憶された各データのうち、読み出し部11
による最近の読み出し頻度が少ないデータを調べ、この
データを高速小容量キャッシュ1から第2バッファ37
に移動させる。
【0063】そして、キャッシュメモリ制御部35は、
第1バッファ36に格納されたデータを高速小容量キャ
ッシュ1のデータが格納されていたアドレスに移動させ
ると共に、第2バッファ37に格納されたデータを低速
大容量キャッシュ2のデータが格納されていたアドレス
に移動させる。そして、キャッシュメモリ制御部35
は、新たなデータ(高速小容量キャッシュ1に新たに記
憶されたデータ)の管理情報を第1TAGメモリ31及
び第2TAGメモリ32に送ると共に、新たなデータ
(低速大容量キャッシュ2に新たに記憶されたデータ)
の管理情報を第2TAGメモリ32に送る。そして、第
1TAGメモリ31、第2TAGメモリ32では、それ
ぞれ、移動されたデータの管理情報が更新される。
【0064】この際、第1TAGメモリ31と第2TA
Gメモリ32とでは、その動作速度が異なるので、読み
出し制御部12による第1TAGメモリ31及び第2T
AGメモリ32へのアクセスは、第1TAGメモリ31
と第2TAGメモリ32における更新動作が終了してか
ら行う。なお、第1TAGメモリ31及び第2TAGメ
モリ32の更新動作が終了する前に、読み出し制御部1
2による高速小容量キャッシュ1へのアクセスを開始さ
せたい場合には、データ入れ替えを行ったアドレスへの
アクセスを抑制させる。
【0065】本実施の形態においては、キャッシュメモ
リ制御部35は、読み出し部11により読み出されたデ
ータが低速大容量キャッシュ2にある場合、上記データ
と、高速小容量キャッシュ1に記憶された各データのう
ち読み出し部11による最近の読み出し頻度が少ないデ
ータと、を相互に入れ替える。この結果、低速大容量キ
ャッシュ2から読み出されたデータを読み出し部11が
再度読み出すときは、高速小容量キャッシュ1から読み
出すことになり、データの読み出しの高速化を図ること
ができる。
【0066】なお、本実施の形態においては、第1TA
Gメモリ31を演算制御部13内に含めることもでき
る。この場合におけるキャッシュメモリ制御システムの
構成を図4に示す。これにより、読み出し制御部12
は、第1TAGメモリ31に一層迅速にアクセスするこ
とができる。
【0067】実施の形態4.一般的に、コンピュータ等
の情報処理装置には、メモリデバイスと、これを制御す
るメモリデバイス制御装置が使用されている。従来、1
つのメモリデバイス制御装置は、1つのチップ(以下、
メモリデバイス制御チップという)内に組み込まれてい
た。
【0068】図5は、従来のメモリデバイス制御チップ
を含むメモリデバイス制御システムの構成を示す図であ
る。
【0069】(4−1)従来のメモリデバイス制御シス
テムの構成従来のメモリデバイス制御システムは、メモ
リデバイス60と、CPU61と、CPU61の指令に
基づいてメモリデバイス60を制御するメモリデバイス
制御装置62を含むメモリデバイス制御チップ63と、
を有する。
【0070】メモリデバイス制御チップ63の構成につ
いて以下に説明する。
【0071】メモリデバイス制御チップ63の一方側の
端部には、CPU61からの信号を入力するためのCP
U用入力端子64が設けられている。また、メモリデバ
イス制御チップ63の他方側の端部には、メモリデバイ
ス60へ信号を出力するためのメモリデバイス用出力端
子65と、メモリデバイス60から出力される信号を入
力するためのメモリデバイス用入力端子66と、が設け
られている。
【0072】メモリデバイス制御チップ63内には、メ
モリデバイス制御装置62が含まれている。そして、メ
モリデバイス制御装置62の一方側の入力部は、CPU
用入力端子64と接続されている。また、メモリデバイ
ス制御装置の他方側の出力部は、メモリデバイス用出力
端子65と接続されている。また、メモリデバイス制御
装置62の他方側の入力部は、メモリデバイス用入力端
子66と接続されている。
【0073】そして、メモリデバイス制御チップ63の
CPU用入力端子64はCPU61と接続され、メモリ
デバイス制御チップ63のメモリデバイス用出力端子6
5はメモリデバイス60の入力部と接続され、メモリデ
バイス制御チップ63のメモリデバイス用入力端子66
はメモリデバイス60の出力部と接続される。
【0074】このようにして構成されたメモリデバイス
制御システムの動作について以下に説明する。
【0075】(4−2)従来のメモリデバイス制御シス
テムの動作メモリデバイス60の所定アドレスからデー
タを読み出すように指示する信号を、CPU61がメモ
リデバイス制御チップ63のCPU用入力端子64に送
る。上記信号は、メモリデバイス制御装置62の一方側
の入力部へ送られる。メモリデバイス制御装置62は、
その他方側の出力部から上記所定アドレスをメモリデバ
イス用出力端子65を介して、メモリデバイス60の入
力部に送る。この結果、メモリデバイス60は、その出
力部から所定アドレスに格納されたデータをメモリデバ
イス制御チップ63のメモリデバイス用入力端子66に
送る。上記データがメモリデバイス用入力端子66から
メモリデバイス制御装置62の他方側の入力部に入力さ
れる。
【0076】しかしながら、従来のメモリデバイス制御
システムには、以下に示すような問題点があった。即
ち、従来では、1つのメモリデバイス制御チップには、
1つのメモリデバイス制御装置しか含めることができな
かった。このため、複数のメモリデバイス制御装置が必
要な場合には、複数のメモリデバイス制御チップを製造
する必要があり、製造コストが高くなるという問題点が
あった。また、製造した各メモリデバイス制御チップを
管理する必要があり、管理コストも高くなってしまっ
た。
【0077】そこで、本実施の形態では、1つのメモリ
デバイス制御チップ内に複数のメモリデバイス制御装置
を含めることができるメモリデバイス制御システムを提
供することを目的とする。
【0078】一般的に、メモリデバイス制御装置はゲー
ト数が少ないので、複数のメモリデバイス制御装置を1
つのメモリデバイス制御チップに含めることは可能であ
る。しかし、2つのメモリデバイス制御装置をそのまま
1つのチップに含める場合、メモリデバイス制御チップ
に設ける端子数は、1つのメモリデバイス制御装置を含
むメモリデバイス制御チップに設ける端子数に比べて、
約2倍必要となる。このため、メモリデバイス制御チッ
プが大きくなってしまい、チップ製造コストが高くなっ
てしまう。
【0079】本実施の形態では、1つのメモリデバイス
制御チップ内に複数のメモリデバイス制御装置を含める
ことができると共に、チップの小型化を図ることができ
るシステムを以下に説明する。
【0080】図6は、実施の形態4であるメモリデバイ
ス制御システムの構成を示す図である。なお、対比のた
めに、従来のメモリデバイス制御システムの構成(メモ
リデバイスAを制御するメモリデバイスA制御システ
ム、メモリデバイスBを制御するメモリデバイスB制御
システム)も合わせて示す。図6において、従来のメモ
リデバイス制御システムのCPUは省略してある。
【0081】(4−3)実施の形態4であるメモリデバ
イス制御システムの構成メモリデバイス制御システム
は、メモリデバイスA60a及びメモリデバイスB60
bと、CPU61と、CPU61の指令に基づいてメモ
リデバイスA60a及びメモリデバイスB60bを制御
するメモリデバイス制御チップ68と、を有する。
【0082】(4−3−1)メモリデバイス制御チップ
の構成先ず、メモリデバイス制御チップ68に形成され
た各端子について説明する。
【0083】メモリデバイス制御チップ68の一方側の
端部には、CPU61からの信号を入力するためのCP
U用入力端子70が設けられている。また、メモリデバ
イス制御チップ68の他方側の端部には、メモリデバイ
スへ信号を出力するためのメモリデバイス用出力端子7
1と、メモリデバイスから出力される信号を入力するた
めのメモリデバイス用入力端子72とが設けられてい
る。
【0084】メモリデバイス制御チップ内には、メモリ
デバイスA60aを制御するメモリデバイスA制御装置
62aと、メモリデバイスB60bを制御するメモリデ
バイスB制御装置62bと、が含まれている。
【0085】メモリデバイスA制御装置62aの一方側
の入力部及びメモリデバイスB制御装置62bの一方側
の入力部は、共に、CPU用入力端子70と接続されて
いる。なお、CPU用入力端子70の一部の端子は、後
述する第1セレクタ部と接続されている。
【0086】また、メモリデバイス制御チップ68内に
は、メモリデバイスA制御装置62aの他方側の出力部
と、メモリデバイスB制御装置62bの他方側の出力部
と、のうちいずれか一方の出力部をメモリデバイス用出
力端子71と接続させる第1セレクタ部73が含まれ
る。
【0087】なお、第1セレクタ部73には、CPU用
入力端子70から切り替え信号(いずれのメモリデバイ
ス制御装置の出力部をメモリデバイス用出力端子71と
接続させるかを示す信号)が送られる。そして、第1セ
レクタ部73は、上記切り替え信号に基づいて、メモリ
デバイスA制御装置62aの他方側の出力部又はメモリ
デバイスB制御装置62bの他方側の出力部のうち、い
ずれか一方の出力部を、メモリデバイス用出力端子71
と接続させる。
【0088】また、メモリデバイスA制御装置62aの
他方側の入力部及びメモリデバイスB制御装置62bの
他方側の入力部は、メモリデバイス用入力端子72と接
続されている。
【0089】(4−3−2)メモリデバイス制御チップ
を含めたシステムの構成の説明そして、メモリデバイス
制御チップ68のCPU用入力端子70は、CPU61
と接続される。メモリデバイス制御チップ68のメモリ
デバイス用出力端子71は、メモリデバイスA60aの
入力部及びメモリデバイスB60bの入力部に接続され
る。
【0090】また、メモリデバイス制御システムは、メ
モリデバイスA60aの出力部と、メモリデバイスB6
0bの出力部と、のうちいずれか一方の出力部をメモリ
デバイス用入力端子72と接続させる第2セレクタ部7
4を有する。なお、第2セレクタ部74には、CPU6
1から切り替え信号(いずれのメモリデバイスの出力部
をメモリデバイス用入力端子72と接続させるかを示す
信号)が送られる。そして、第2セレクタ部74は、上
記切り替え信号に基づいて、メモリデバイスA60aの
出力部又はメモリデバイスB60bの出力部のうち、い
ずれか一方の出力部を、メモリデバイス用入力端子72
と接続させる。
【0091】このようにして構成されたメモリデバイス
制御システムにおいて、各メモリデバイス制御装置がそ
れぞれ対応するメモリデバイスからデータを読み出す動
作について、以下に説明する。
【0092】(4−4)メモリデバイスA制御装置62
aがメモリデバイスA60aからデータを読み出す動作
(1)メモリデバイスA60aからデータを読み出す動
作CPU61がメモリデバイスA60aの所定アドレス
からデータを読み出すように指示する信号をメモリデバ
イス制御チップ68のCPU用入力端子70に送る。上
記信号は、メモリデバイスA制御装置62aの一方側の
入力部及びメモリデバイスB制御装置62bの一方側の
入力部へ送られる。また、CPU61は、第1セレクタ
部73に、切り替え信号(メモリデバイスA制御装置6
2aの出力部をメモリデバイス用出力端子71と接続さ
せるかを示す信号)を送ると共に、第2セレクタ部74
に切り替え信号(メモリデバイスA60aの出力部をメ
モリデバイス用入力端子72と接続させるかを示す信
号)を送る。
【0093】メモリデバイスA制御装置62a及びメモ
リデバイスB制御装置62bは、その他方側の出力部か
ら上記所定アドレスを第1セレクタ部73へ送る。な
お、メモリデバイスA制御装置62aは、所定アドレス
をメモリデバイスA60aが受信するのに適した方法で
アドレスを出力し、メモリデバイスB制御装置62b
は、所定アドレスをメモリデバイスB60bが受信する
のに適した方法でアドレスを出力する。
【0094】本動作の場合、メモリデバイスA制御装置
62aから所定アドレスをメモリデバイスA60aに送
る必要があるので、第1セレクタ部73は、CPU61
からの切り替え信号に基づいて、メモリデバイスA制御
装置62aから出力された所定アドレスをメモリデバイ
ス用出力端子71を介して、メモリデバイスA60aに
送る。
【0095】この結果、メモリデバイスA60aは、そ
の出力部から所定アドレスに格納されたデータを第2セ
レクタ部74へ送る。また、上記所定アドレスはメモリ
デバイスB60bにも送られるので、メモリデバイスB
60bからもデータが第2セレクタ部74に送られる。
本動作の場合、メモリデバイスA60aからデータをメ
モリデバイスA制御装置62aに送る必要があるので、
第2セレクタ部74は、CPU61からの切り替え信号
に基づいて、メモリデバイスA60aのデータをメモリ
デバイス用入力端子72に送る。そして、メモリデバイ
ス入力端子72からメモリデバイスA制御装置62aの
他方側の入力部にデータが送られる。
【0096】(2)メモリデバイスBからデータを読み
出す動作CPU61が、メモリデバイスB60bの所定
アドレスからデータを読み出すように指示する信号をメ
モリデバイス制御チップ68のCPU用入力端子70に
送る。上記信号は、メモリデバイスA制御装置62aの
一方側の入力部及びメモリデバイスB制御装置62bの
一方側の入力部へ送られる。また、CPU61は、第1
セレクタ部73に、切り替え信号(メモリデバイスB制
御装置62bの出力部をメモリデバイス用出力端子71
と接続させるかを示す信号)を送ると共に、第2セレク
タ部74に切り替え信号(メモリデバイスB60bの出
力部をメモリデバイス用入力端子72と接続させるかを
示す信号)を送る。
【0097】メモリデバイスA制御装置62a及びメモ
リデバイスB制御装置62bは、その他方側の出力部か
ら上記所定アドレスを第1セレクタ部73へ送る。
【0098】本動作の場合、メモリデバイスB制御装置
62bから所定アドレスをメモリデバイスB60bに送
る必要があるので、第1セレクタ部73は、CPU61
からの切り替え信号に基づいて、メモリデバイスB制御
装置62bから出力された所定アドレスをメモリデバイ
ス用出力端子71を介して、メモリデバイスB60bに
送る。なお、所定アドレスは、メモリデバイスA60a
の入力部にも送られる。
【0099】この結果、メモリデバイスA60a及びメ
モリデバイスB60bは、共に、その出力部から所定ア
ドレスに格納されたデータを第2セレクタ部74へ送
る。本動作の場合、メモリデバイスB60bからデータ
をメモリデバイスB制御装置62bに送る必要があるの
で、第2セレクタ部74は、CPU61からの切り替え
信号に基づいて、メモリデバイスB60bのデータをメ
モリデバイス用入力端子72に送る。そして、メモリデ
バイス入力端子72からメモリデバイスB制御装置62
bの他方側の入力部にデータが送られる。
【0100】なお、メモリデバイス制御チップ68にお
いては、CPU61からのI/O信号に基づいて、メモ
リデバイス制御装置の他方側の入力部を出力部に切り替
えると共に、メモリデバイスのデータ出力部をデータ入
力部に切り替えることができる。
【0101】そして、データの書き込み動作を行う場合
には、CPU61からのI/O信号に基づいて、メモリ
デバイス制御装置の他方側の入力部は、データ出力部と
なり、メモリデバイスのデータ出力部はデータ入力部と
なる。そして、第2セレクタ部74は、CPU61から
の切り替え信号に基づいて、メモリデバイスA制御装置
62aのデータ出力部とメモリデバイス制御装置62b
のデータ出力部とのうち、いずれか一方のデータ出力部
をメモリデバイスのデータ入力部に接続させる。この結
果、メモリデバイス制御装置のデータ出力部からメモリ
デバイスのデータ入力部にデータを書き込むことができ
る。
【0102】また、本実施の形態では、2つのメモリデ
バイスを制御できるメモリデバイス制御チップについて
説明したが、いずれか一方のメモリデバイスを制御する
ように設定できる。この設定については、第1セレクタ
部73及び第2セレクタ部74に対して、システム起動
時にコンフィグレーションを行う。即ち、いずれのメモ
リデバイス制御装置の出力部がメモリデバイス用出力端
子71に常時接続されるように第1セレクタ部73を設
定する。また、いずれのメモリデバイスの出力部がメモ
リデバイス用入力端子72に常時接続されるように第2
セレクタ部74を設定する。このように各セレクタ部を
設定することにより、メモリデバイス制御チップは、い
ずれか一方のメモリデバイスを制御するように設定でき
る。
【0103】また、本実施の形態においては、3つ以上
のメモリデバイス制御装置を1つのチップに含めること
もできる。そして、3つ以上のメモリデバイスを制御す
るメモリデバイス制御チップを構成することも可能であ
る。この場合においては、第1セレクタ部73及び第2
セレクタ部74には、3つ以上の入力データのうち、1
つのデータを出力できるセレクタを用いる必要がある。
【0104】本実施の形態においては、1つのチップに
複数のメモリデバイス制御装置を含めることができるの
で、複数のメモリデバイス制御装置を使用する場合、そ
の製造コスト、管理コストを低減できる。そして、本実
施の形態では、複数メモリデバイス制御装置を含むメモ
リ制御チップの端子数は、1つのメモリデバイス制御装
置を含むメモリデバイス制御チップの端子数と、同程度
にできる。このため、複数のメモリデバイス制御装置を
1つのチップに含めても、チップの大きさは従来程度に
抑えることができる。
【0105】実施の形態5.メモリデバイス制御装置6
2は、メモリデバイスに固有な制御を行う機能と、メモ
リデバイスに依存しない制御を行う機能と、を有する。
そして、メモリデバイス制御装置62が有する各機能を
ハードウェア化すると、メモリデバイス制御装置は、以
下のような各部に分けられる。即ち、図7(a)に示す
ように、メモリデバイス制御装置62は、メモリデバイ
スに固有な制御を行う第1メモリデバイス制御固有部8
2及び第2メモリデバイス制御固有部85と、メモリデ
バイスに依存しない制御を行うメモリデバイス制御共通
部84と、に分けられる。
【0106】そして、本実施の形態では、複数のメモリ
デバイスを制御するメモリデバイス制御チップ内に、第
1メモリデバイス制御固有部及び第2メモリデバイス制
御固有部を複数個設ける必要があるが、メモリデバイス
制御共通部は1個設ければよい。このため、複数のメモ
リデバイス制御装置を1つのチップに含める場合、メモ
リデバイス制御共通部に関するハードウェア量を低減で
きる。
【0107】本実施の形態であるメモリデバイス制御シ
ステムにおいて、実施の形態4であるメモリデバイス制
御システムと異なる点は、メモリデバイス制御チップの
構成が異なる点にあり、その他の構成は実施の形態4と
同様である。
【0108】(5−1)メモリデバイス制御チップの構
成図7(b)は、本実施の形態であるメモリデバイス制
御チップの構成を示す図である。
【0109】本実施の形態であるメモリデバイス制御チ
ップ80には、実施の形態4であるメモリデバイス制御
チップの端子(CPU用入力端子70、メモリデバイス
用出力端子71、メモリデバイス用入力端子72)が設
けられている。
【0110】(メモリデバイス制御チップ内の各部につ
いて)メモリデバイス制御チップ80には、CPU用入
力端子70と接続され、CPU61(図7(b)には示
していない)からの指令信号を解読して、解読結果を後
述するメモリデバイス制御共通部に送る第1メモリデバ
イスA制御固有部82a及び第1メモリデバイスB制御
固有部82bが含まれる。
【0111】ここで、第1メモリデバイス制御固有部8
2a,82bは、それぞれ、制御するメモリデバイスに
固有の指令信号を解読するので、各第1メモリデバイス
制御固有部の構成は、制御するメモリデバイスに固有な
構成となる。
【0112】メモリデバイス制御チップ80には、第1
メモリデバイスA制御固有部82aの出力部及び第1メ
モリデバイスB制御固有部82bの出力部のうち、CP
U61からの切り替え信号に基づいて、いずれか一方の
出力部を後述するメモリデバイス制御共通部と接続させ
る第3セレクタ部83と、第3セレクタ部83からの出
力(解読結果)を後述する第2メモリデバイスA制御固
有部及び第2メモリデバイスB制御固有部に送るメモリ
デバイス制御共通部84と、が含まれる。
【0113】なお、CPU用入力端子70の一部の端子
は、第3セレクタ部83と接続されており、CPU用入
力端子70を介して、CPU61から切り替え信号が第
3セレクタ部83に送られる。また、メモリデバイス制
御共通部84は、後述する第2メモリデバイス制御固有
部が動作を行っているとき、必要に応じて、上記解読結
果を一時的に保持することもできる。
【0114】メモリデバイス制御チップ80には、メモ
リデバイス制御共通部84から送られた解読結果に基づ
いてCPU61からの指令を実行する(例えば、アドレ
スの送信)第2メモリデバイスA制御固有部85a及び
第2メモリデバイスB制御固有部85bと、これらの第
2メモリデバイス制御固有部の出力をCPU61からの
切り替え信号に基づいて、いずれか一方の出力をメモリ
デバイス用出力端子71に接続させる第4セレクタ部8
6と、を有する。
【0115】なお、CPU用入力端子72の一部の端子
は、第4セレクタ部86と接続されており、CPU用入
力端子72を介して、CPU61からの切り替え信号が
第4セレクタ部86に送られる。
【0116】また、第2メモリデバイスA制御固有部8
5aの他方側の入力部及び第2メモリデバイスB制御固
有部85bの他方側の入力部は、メモリデバイス用入力
端子72と接続されている。
【0117】(5−2)メモリデバイス制御チップの動
作本実施の形態におけるメモリデバイス制御チップ80
の動作について、メモリデバイスAからデータを読み出
す場合について説明する。
【0118】CPU61がメモリデバイスA60aから
データを読み出すように指示する指令信号をメモリデバ
イス制御チップ80のCPU用入力端子70に送る。上
記指令信号は、第1メモリデバイスA制御固有部82a
の一方側の入力部及び第1メモリデバイスB制御固有部
82bの一方側の入力部へ送られる。各第1メモリデバ
イス制御固有部では、CPU61からの指令を解読し、
解読結果を第3セレクタ部83へ送る。本動作の場合、
第1メモリデバイスA制御固有部82aの解読結果が必
要なので、第3セレクタ部83は、CPU61からの切
り替え信号(第1メモリデバイスA制御固有部の出力部
をメモリデバイス制御共通部と接続させる旨を示す信
号)に基づいて、第1メモリデバイスA制御固有部82
aから出力された解読結果をメモリデバイス制御共通部
84へ送る。
【0119】メモリデバイス制御共通部84から上記解
読結果が第2メモリデバイスA制御固有部85a及び第
2メモリデバイスB制御固有部85bに送られる。第2
メモリデバイスA制御固有部85a及び第2メモリデバ
イスB制御固有部85bでは、上記解読結果に基づい
て、アドレスの送信を行う。そして、アドレスは第4セ
レクタ部86に送られる。本動作では、第2メモリデバ
イスA制御固有部85aからアドレスをメモリデバイス
A60aに送る必要があるので、第4セレクタ部86
は、CPU61からの切り替え信号に基づいて、第2メ
モリデバイスA制御固有部85aから出力されたアドレ
スをメモリデバイス用出力端子71に出力する。このア
ドレスは、メモリデバイスA60a及びメモリデバイス
B60bの入力部に送られる。
【0120】この結果、メモリデバイスA60a及びメ
モリデバイスB60bは、共に、その出力部から所定ア
ドレスに格納されたデータを第2セレクタ部74へ送
る。第2セレクタ部74は、CPU61からの切り替え
信号に基づいて、メモリデバイスA60aのデータをメ
モリデバイス用入力端子72に送る。そして、メモリデ
バイス入力端子72から第2メモリデバイスA制御固有
部85aの他方側の入力部にデータが送られる。
【0121】本実施の形態では、メモリデバイス制御チ
ップ80内に含まれるメモリデバイス制御装置は複数に
分けられている(第1メモリデバイス制御固有部、2メ
モリデバイス制御固有部、メモリデバイス制御共通
部)。そして、本実施の形態のメモリデバイス制御チッ
プ内に含めるメモリデバイス制御共通部84は、1個だ
けでよい。このため、複数のメモリデバイス制御装置を
1つのチップに含める場合、メモリデバイス制御共通部
に関するハードウェア量を低減できる。
【0122】
【発明の効果】請求項1に記載の発明によれば、書き込
み手段は、第1キャッシュメモリの記憶内容と第2キャ
ッシュメモリの記憶内容とが異なるように、データ(主
記憶装置から読み込まれたデータ)を第1キャッシュメ
モリ又は第2キャッシュメモリのいずれか一方に書き込
んでいる。このため、第2キャッシュメモリの記憶内容
は、全て第1キャッシュメモリの記憶内容と異なってい
るので、第2キャッシュメモリの容量を有効に活用する
ことができ、第2キャッシュメモリがアクセスされたと
きのヒット率を向上させることができる。
【0123】また、第1管理情報記憶手段には、第1キ
ャッシュメモリに記憶されているデータの管理情報が、
第2管理情報記憶手段には、第1キャッシュメモリに記
憶されているデータの管理情報及び第2キャッシュメモ
リに記憶されているデータの管理情報と、が記憶されて
いる。そして、データの読み出し要求を受けた場合、読
み出し手段は、データの管理情報を読み出すことがで
き、読み出し要求のデータに対して、そのアドレスとい
ずれのキャッシュメモリに存在するかを知ることができ
る。このため、読み出し手段は、管理情報に基づいて、
データの存在するキャッシュメモリから迅速に、データ
を読み出すことができる。
【0124】また、読み出し手段は、データ読み出し指
令手段によるデータ読み出し要求を受けた場合、第1管
理情報記憶手段及び第2管理情報記憶手段にアクセスす
るが、演算制御装置によるデータ読み出し要求を受けた
場合、第2管理情報記憶手段にのみアクセスする。ま
た、読み出し手段は、演算制御装置からデータの読み出
し要求を受けても、データ読み出し指令手段によるデー
タ読み出し要求に基づいた読み出し動作を行っていると
きは、その動作を優先して行う。
【0125】このため、システムバスに演算制御装置が
接続されていて、この演算制御装置がキャッシュメモリ
にアクセスできる場合であっても、第1キャッシュメモ
リにあるデータが、データ読み出し指令手段により連続
的に読み出し要求を受けている場合には、第1キャッシ
ュメモリからデータを高速に読み出す動作は途中で中断
されずに、連続的に行われる。
【0126】請求項2に記載の発明によれば、第1管理
情報記憶手段及び第2管理情報記憶手段は、それぞれ、
高速メモリ及び低速メモリである。このため、読み出し
手段は、読み出し要求データに対して、第1管理情報記
憶手段及び第2管理情報記憶手段の両者にアクセスする
と、第1管理情報記憶手段から早くアクセス結果を得ら
れる。そして、読み出し要求データが第1キャッシュメ
モリに存在しない場合、読み出し手段は、予めシステム
バス使用権付与手段にシステムバス使用権要求を出す。
【0127】そして、第2管理情報記憶手段からのアク
セス結果が読み出し手段に返されたとき、第1キャッシ
ュメモリ及び第2キャッシュメモリのいずれにデータが
存在しない場合、既にシステムバス使用権要求を出して
いるので、迅速にシステムバス使用権を得ることができ
る。この結果、読み出し手段は、読み出し要求データが
第1キャッシュメモリ及び第2キャッシュメモリの両者
に存在しない場合、上記システムバス使用権に基づい
て、主記憶装置に迅速にアクセスすることができる。従
って、2つのキャッシュメモリにミスヒットしたときの
ペナルティを低減することができる。
【図面の簡単な説明】
【図1】 実施の形態1であるキャッシュメモリ制御シ
ステムの構成を示す図である。
【図2】 実施の形態2であるキャッシュメモリ制御シ
ステムの構成を示す図である。
【図3】 実施の形態3であるキャッシュメモリ制御シ
ステムの構成を示す図である。
【図4】 実施の形態3であるキャッシュメモリ制御シ
ステムの別の構成を示す図である。
【図5】 従来のメモリデバイス制御システムの構成を
示す図である。
【図6】 実施の形態4であるメモリデバイス制御シス
テムの構成を示す図である。
【図7】 実施の形態5であるメモリデバイス制御装置
を説明する図である。
【符号の説明】 1 高速小容量キャッシュ、2 低速大容量キャッシ
ュ、3 システムバス、4 主記憶装置、5 I/Oコ
ントローラ、8 データ読み出し指令部、9 書き込み
部、10 書き込み制御部、11 読み出し部、12
読み出し制御部、13 演算制御部、14 データパス
選択部(読み出し用データパス選択部及び書き込み用デ
ータパス選択部)、15,35 キャッシュメモリ制御
部、30演算制御装置、31 第1TAGメモリ、32
第2TAGメモリ、33 システムバス使用権付与
部、36 第1バッファ、37 第2バッファ、60,
60a,60b メモリデバイス、61 CPU、6
2,62a,62b メモリデバイス制御装置、63,
80 メモリデバイス制御チップ、64,64a,64
b,65,65a,65b,71 メモリデバイス用出
力端子、66,66a,66b,72 メモリデバイス
用入力端子、70 CPU用入力端子、73 第1セレ
クタ部、74 第2セレクタ部、82,82a,82b
第1メモリデバイス制御固有部、83 第3セレクタ
部、84 メモリデバイス制御共通部、85,85a,
85b 第2メモリデバイス制御固有部、86 第4セ
レクタ部。
【手続補正2】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正内容】
【図1】
【図5】
【図2】
【図3】
【図4】
【図6】
【図7】

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 高速小容量の第1キャッシュメモリ及び
    低速大容量の第2キャッシュメモリを制御するキャッシ
    ュメモリ制御装置において、 前記第1キャッシュメモリに記憶されている複数のデー
    タと、前記第2キャッシュメモリに記憶されている複数
    のデータと、に対して、個別のデータに対するアドレス
    及びいずれのキャッシュメモリにあるかを示す管理情報
    を記憶する管理情報記憶手段と、 前記第1キャッシュメモリの記憶内容と前記第2キャッ
    シュメモリの記憶内容とが異なるように、データを前記
    第1キャッシュメモリ又は前記第2キャッシュメモリの
    いずれか一方に書き込むと共に、前記データの管理情報
    を前記管理情報記憶手段に書き込む書き込み手段と、 データの読み出し要求を受けた場合、前記管理情報記憶
    手段から前記データの管理情報を読み出し、この管理情
    報に基づいて前記第1キャッシュメモリ又は前記第2キ
    ャッシュメモリのいずれか一方から前記データを読み出
    す読み出し手段と、 を有することを特徴とするキャッシュメモリ制御装置。
  2. 【請求項2】 前記読み出し手段は、データの読み出し
    要求を受けた場合、前記管理情報記憶手段から前記デー
    タの管理情報を読み出し、管理情報のアドレスに基づい
    て、前記第1キャッシュメモリ及び前記第2キャッシュ
    メモリの両者にアクセスし、前記管理情報に基づいて、
    前記第1キャッシュメモリ又は前記第2キャッシュメモ
    リのいずれか一方から前記データを読み出すことを特徴
    とする請求項1に記載のキャッシュメモリ制御装置。
  3. 【請求項3】 前記読み出し手段は、データの読み出し
    要求を受けた場合、前記管理情報記憶手段から前記デー
    タの管理情報を読み出し、管理情報に基づいて、前記第
    1キャッシュメモリ又は前記第2キャッシュメモリのい
    ずれか一方にアクセスして、前記データを読み出すこと
    を特徴とする請求項1に記載のキャッシュメモリ制御装
    置。
  4. 【請求項4】 前記書き込み手段は、プログラムコード
    データを前記第1キャッシュメモリに書き込むと共に、
    オペランドデータを第2キャッシュメモリに書き込むこ
    とを特徴とする請求項1、2又は3に記載のキャッシュ
    メモリ制御装置。
  5. 【請求項5】 前記第2キャッシュメモリから読み出さ
    れたデータと、前記第1キャッシュメモリに記憶された
    各データのうち前記読み出し手段による最近の読み出し
    頻度が少ないデータとを相互に入れ替えると共に、移動
    させたデータの管理情報を前記管理情報記憶手段に更新
    させるキャッシュメモリ制御手段を有することを特徴と
    する請求項1、2、3に記載のキャッシュメモリ制御装
    置。
  6. 【請求項6】 前記第1キャッシュメモリ及び前記第2
    キャッシュメモリは、複数のセットと複数のウェイとが
    それぞれ対応づけられたセットアソシエイティブキャッ
    シュメモリを構成し、 前記複数のウェイのうち、所定のウェイを前記第1キャ
    ッシュメモリに割り当てると共に、前記所定ウェイ以外
    のウェイを前記第2キャッシュメモリに割り当て、 前記キャッシュメモリ制御手段は、前記第2キャッシュ
    メモリから読み出された読み出しデータと、前記第1キ
    ャッシュメモリに記憶された各データのうち前記読み出
    し手段による最近の読み出し頻度が少ないデータと、に
    ついて、前記第2キャッシュメモリの前記読み出しデー
    タの格納されたセットと、前記第1キャッシュメモリの
    前記セットとの間で、相互に入れ替えると共に、移動さ
    せたデータの管理情報を前記管理情報記憶手段に更新さ
    せることを特徴とする請求項5に記載のキャッシュメモ
    リ制御装置。
  7. 【請求項7】 前記書き込み手段が、過去に第1キャッ
    シュメモリ及び第2キャッシュメモリに書き込んだ実績
    を示す書き込み実績情報を記憶する書き込み実績情報記
    憶手段と、 この書き込み実績情報記憶手段に記憶された書き込み実
    績情報に基づいて、前記読み出し手段により次に読み出
    されるデータを予測する予測手段と、 を有し、 前記予測手段が予測した予測データが前記第2キャッシ
    ュメモリに存在する場合、前記キャッシュメモリ制御手
    段は、前記予測データと、前記第1キャッシュメモリに
    記憶された各データのうち前記読み出し手段による最近
    の読み出し頻度が少ないデータと、を相互に入れ替え、
    移動させたデータの管理情報を前記管理情報記憶手段に
    更新させることを特徴とする請求項5に記載のキャッシ
    ュメモリ制御装置。
  8. 【請求項8】 前記書き込み実績情報は、前記書き込み
    手段により過去に書き込まれた複数のデータの管理情報
    であり、 前記予測手段は、前記読み出し手段により現在読み出さ
    れたデータの管理情報と、前記書き込み実績記憶手段に
    より記憶された各データの管理情報と、の比較に基づい
    て、前記予測データを予測することを特徴とする請求項
    7に記載のキャッシュメモリ制御装置。
  9. 【請求項9】 高速小容量の第1キャッシュメモリ及び
    低速大容量の第2キャッシュメモリを制御するキャッシ
    ュメモリ制御装置において、 前記第1キャッシュメモリに記憶されている複数のデー
    タに対して、個別のデータに対するアドレス及び第1キ
    ャッシュメモリにある旨を示す管理情報を記憶する第1
    管理情報記憶手段と、 前記第1キャッシュメモリに記憶されている複数のデー
    タと、前記第2キャッシュメモリに記憶されている複数
    のデータと、に対して、個別のデータに対するアドレス
    及びいずれのキャッシュメモリにあるかを示す管理情報
    を記憶する第2管理情報記憶手段と、 前記第1キャッシュメモリの記憶内容と前記第2キャッ
    シュメモリの記憶内容とが異なるように、データを前記
    第1キャッシュメモリ又は前記第2キャッシュメモリの
    いずれか一方に書き込むと共に、前記データが第1キャ
    ッシュメモリに書き込まれた場合には、前記データの管
    理情報を前記第2管理情報記憶手段及び前記第1管理情
    報記憶手段に書き込み、前記データが第2キャッシュメ
    モリに書き込まれた場合には、前記データの管理情報を
    前記第2管理情報記憶手段に書き込む書き込み手段と、 データの読み出し要求を行うデータ読み出し指令手段
    と、 このデータ読み出し指令手段によりデータ読み出し要求
    を受けた場合、前記第1管理情報記憶手段又は前記第2
    管理情報記憶手段のうち少なくとも一方から前記データ
    の管理情報を読み出し、この管理情報に基づいて、前記
    第1キャッシュメモリ又は前記第2キャッシュメモリの
    いずれか一方から前記データを読み出す読み出し手段
    と、を有し、 前記読み出し手段は、システムバスを介して演算制御装
    置と接続されており、前記演算制御装置によるデータの
    読み出し要求に対しては、前記データの管理情報を前記
    第2管理情報記憶手段のみから読み出し、前記データ読
    み出し指令手段によるデータ読み出し要求に基づいた読
    み出し動作を行っていないときに、前記第1キャッシュ
    メモリ又は前記第2キャッシュメモリのいずれか一方か
    ら前記データを読み出すことを特徴とするキャッシュメ
    モリ制御装置。
  10. 【請求項10】 前記第1管理情報記憶手段は、高速動
    作のメモリであり、前記第2管理情報記憶手段は、低速
    動作のメモリであり、 前記システムバスには、主記憶装置と、システムバスの
    使用権を与えるシステムバス使用権付与手段と、が接続
    されており、 前記読み出し手段は、前記データ読み出し指令手段によ
    るデータ読み出し要求に対して、前記第1管理情報記憶
    手段及び前記第2管理情報記憶手段にアクセスし、 前記第1管理情報記憶手段から送られた管理情報から、
    前記データが前記第1キャッシュメモリに存在しないと
    判定した場合には、前記システムバス使用権付与手段に
    システムバス使用権の要求信号を送り、 前記第2管理情報記憶手段から送られた管理情報から、
    前記データが前記第1キャッシュメモリ及び前記第2キ
    ャッシュメモリの両者に存在しないと判定した場合に
    は、前記システムバス使用権付与手段により付与された
    システムバス使用権に基づいて、主記憶装置にアクセス
    することを特徴とする請求項9に記載のキャッシュメモ
    リ制御装置。
  11. 【請求項11】 前記第1キャッシュメモリはSRAM
    であり、前記第2キャッシュメモリはDRAMであり、 前記読み出し手段は、 SRAMに対しては、管理情報のアドレスを1サイクル
    で送信し、DRAMに対しては、管理情報のアドレスを
    2分割し、分割されたアドレスをそれぞれ1サイクルに
    対応させて、前記データのアドレスを2サイクルで送信
    する送信手段と、 DRAM又はSRAMのうちいずれか一方から読み出さ
    れたデータを受信するデータ受信手段と、 前記送信手段が管理情報のアドレスを送信した時を基準
    としたとき、SRAMから読み出されるデータを受信す
    るタイミングに対して、DRAMから読み出されるデー
    タを受信するタイミングを遅らせるように前記データ受
    信手段を制御するデータ受信制御手段と、を有すること
    を特徴とする請求項1又は2に記載のキャッシュメモリ
    制御装置。
JP10063350A 1998-03-13 1998-03-13 キャッシュメモリ制御装置 Expired - Lifetime JP2918531B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10063350A JP2918531B1 (ja) 1998-03-13 1998-03-13 キャッシュメモリ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10063350A JP2918531B1 (ja) 1998-03-13 1998-03-13 キャッシュメモリ制御装置

Publications (2)

Publication Number Publication Date
JP2918531B1 JP2918531B1 (ja) 1999-07-12
JPH11259361A true JPH11259361A (ja) 1999-09-24

Family

ID=13226722

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10063350A Expired - Lifetime JP2918531B1 (ja) 1998-03-13 1998-03-13 キャッシュメモリ制御装置

Country Status (1)

Country Link
JP (1) JP2918531B1 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006236304A (ja) * 2004-10-27 2006-09-07 Sony Corp 記憶装置および情報処理システム
US7673104B2 (en) 2004-08-31 2010-03-02 Fujitsu Limited Information processing apparatus, system controller, local snoop control method, and local snoop control program recorded computer-readable recording medium
JP2012181863A (ja) * 2004-10-21 2012-09-20 Microsoft Corp システムパフォーマンスを改善するための外部メモリデバイスの使用
JP2013222434A (ja) * 2012-04-19 2013-10-28 Nec Corp キャッシュ制御装置、キャッシュ制御方法、及びそのプログラム
US9361183B2 (en) 2008-09-19 2016-06-07 Microsoft Technology Licensing, Llc Aggregation of write traffic to a data store
US9529716B2 (en) 2005-12-16 2016-12-27 Microsoft Technology Licensing, Llc Optimizing write and wear performance for a memory
US9786342B2 (en) 2013-09-06 2017-10-10 Kabushiki Kaisha Toshiba Memory control circuit and cache memory
US10216637B2 (en) 2004-05-03 2019-02-26 Microsoft Technology Licensing, Llc Non-volatile memory cache performance improvement
US10387313B2 (en) 2008-09-15 2019-08-20 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014142337A1 (ja) * 2013-03-15 2014-09-18 日本電気株式会社 ストレージ装置と方法及びプログラム

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10216637B2 (en) 2004-05-03 2019-02-26 Microsoft Technology Licensing, Llc Non-volatile memory cache performance improvement
US7673104B2 (en) 2004-08-31 2010-03-02 Fujitsu Limited Information processing apparatus, system controller, local snoop control method, and local snoop control program recorded computer-readable recording medium
US9690496B2 (en) 2004-10-21 2017-06-27 Microsoft Technology Licensing, Llc Using external memory devices to improve system performance
US9317209B2 (en) 2004-10-21 2016-04-19 Microsoft Technology Licensing, Llc Using external memory devices to improve system performance
JP2012181863A (ja) * 2004-10-21 2012-09-20 Microsoft Corp システムパフォーマンスを改善するための外部メモリデバイスの使用
JP2006236304A (ja) * 2004-10-27 2006-09-07 Sony Corp 記憶装置および情報処理システム
US8904096B2 (en) 2004-10-27 2014-12-02 Sony Corporation Storage device and information processing system
US9317424B2 (en) 2004-10-27 2016-04-19 Sony Corporation Storage device and information processing system
US8554982B2 (en) 2004-10-27 2013-10-08 Sony Corporation Storage device and information processing system
US11334484B2 (en) 2005-12-16 2022-05-17 Microsoft Technology Licensing, Llc Optimizing write and wear performance for a memory
US9529716B2 (en) 2005-12-16 2016-12-27 Microsoft Technology Licensing, Llc Optimizing write and wear performance for a memory
US10387313B2 (en) 2008-09-15 2019-08-20 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US9361183B2 (en) 2008-09-19 2016-06-07 Microsoft Technology Licensing, Llc Aggregation of write traffic to a data store
US9448890B2 (en) 2008-09-19 2016-09-20 Microsoft Technology Licensing, Llc Aggregation of write traffic to a data store
US10509730B2 (en) 2008-09-19 2019-12-17 Microsoft Technology Licensing, Llc Aggregation of write traffic to a data store
US9268700B2 (en) 2012-04-19 2016-02-23 Nec Corporation Cache control device, cache control method, and program thereof
JP2013222434A (ja) * 2012-04-19 2013-10-28 Nec Corp キャッシュ制御装置、キャッシュ制御方法、及びそのプログラム
US9786342B2 (en) 2013-09-06 2017-10-10 Kabushiki Kaisha Toshiba Memory control circuit and cache memory

Also Published As

Publication number Publication date
JP2918531B1 (ja) 1999-07-12

Similar Documents

Publication Publication Date Title
US6526462B1 (en) Programmable multi-tasking memory management system
US5434993A (en) Methods and apparatus for creating a pending write-back controller for a cache controller on a packet switched memory bus employing dual directories
CN100421088C (zh) 用于管理高速缓存数据的数字数据处理设备和方法
US8176261B2 (en) Information processing apparatus and data transfer method
US7257693B2 (en) Multi-processor computing system that employs compressed cache lines' worth of information and processor capable of use in said system
US20020062352A1 (en) Multiprocessor system and control method thereof
WO1990003002A1 (en) Coherent cache structures and methods
JPS63103343A (ja) ムーブアウト待ち行列バッファ
JP2005174341A (ja) 種々のキャッシュ・レベルにおける連想セットの重畳一致グループを有するマルチレベル・キャッシュ
JPH0786861B2 (ja) 共用メモリ・マルチプロセツサ・システム
JPH11259361A (ja) キャッシュメモリ制御装置
US6785770B2 (en) Data processing apparatus with a cache memory and method of using such an apparatus
CN100520748C (zh) 数据处理系统
JPH10187631A (ja) 拡張された対称マルチプロセッサ・アーキテクチャ
US6801985B1 (en) Data bus using synchronous fixed latency loop including read address and data busses and write address and data busses
JPH07248967A (ja) メモリ制御方式
US6678800B1 (en) Cache apparatus and control method having writable modified state
US6901450B1 (en) Multiprocessor machine and cache control method for providing higher priority to shared cache that is accessed by multiprocessors
EP2261804B1 (en) Cache controller and cache control method
JPH09128346A (ja) 階層バスシステム
JP2001290704A (ja) マルチプロセス制御装置及びマルチプロセス制御方法
EP1895419B1 (en) Information processing system, information processing board, and method of updating cache tag and snoop tag
JP2009505178A (ja) 少なくとも2つの命令実行部と少なくともデータ及び/または命令のための第1記憶装置または記憶領域とを備えたコンピュータシステムにおいて、データ及び/または命令を格納する装置及び方法
JPH0529943B2 (ja)
JP3181001B2 (ja) キャッシュ・メモリ・システム並びにキャッシュ・メモリ・アクセス方法及びシステム