JPH09259041A - キャッシュメモリ制御方式 - Google Patents

キャッシュメモリ制御方式

Info

Publication number
JPH09259041A
JPH09259041A JP8071753A JP7175396A JPH09259041A JP H09259041 A JPH09259041 A JP H09259041A JP 8071753 A JP8071753 A JP 8071753A JP 7175396 A JP7175396 A JP 7175396A JP H09259041 A JPH09259041 A JP H09259041A
Authority
JP
Japan
Prior art keywords
memory
address
cache memory
area
mapping
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
JP8071753A
Other languages
English (en)
Inventor
Kiyokazu Nishioka
清和 西岡
Koji Hosoki
浩二 細木
Keiji Kojima
啓二 小島
Toru Nojiri
徹 野尻
Kazuhiko Tanaka
和彦 田中
Yoshibumi Fujikawa
義文 藤川
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP8071753A priority Critical patent/JPH09259041A/ja
Publication of JPH09259041A publication Critical patent/JPH09259041A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】プロセッサのメモリアクセス効率を向上するた
めのキャッシメモリに関わり、とくに、キャッシュメモ
リのエントリコンフリクトによるミスヒット率の低減に
最適なキャッシュメモリの制御方式を提供する。 【解決手段】複数のメモリ領域で構成し、各々異なるメ
モリアクセスの局所性を有するメインメモリ15とキャ
ッシュメモリ10で構成するシステムで、各メモリ領域
に最適なアドレス情報の変換方法を動的に選択可能であ
り、変換後のアドレス情報をキャッシュメモリ10及び
メインメモリ15へ供給するマッピング回路8を設け
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プロセッサのメモ
リアクセス効率を向上するためのキャッシメモリに関す
る。
【0002】
【従来の技術】近年、パソコン、ワークステーションに
適用するプロセッサの性能は年率1.6〜1.7倍の伸
び率を示しており、2000年には2000MIPSに
達すると見られている。このような高性能化に必要な要
件の一つが、プロセッサとメモリシステム間の高速なデ
ータを可能にする技術である。そのためには、通常、高
速アクセス可能なメモリ素子を使用することになるが、
これらは大変高価なデバイスであるため、すべてのメモ
リをこのような素子で構成することができない。そのた
め、通常、大容量の低速低価格なメモリと小容量の高速
高価格なメモリを併用して、効率よくデータ転送性能を
向上するキャッシュ制御方式が採用されている。前者の
メモリをメインメモリ、後者をキャッシュメモリと呼
ぶ。メインメモリは、プロセッサがアクセス可能なアド
レス空間を基本的にすべてカバーする。一方、キャッシ
ュメモリは、メインメモリの一部のコピーだけを保持す
る。プロセッサはキャッシュメモリに対して高速アクセ
ス可能なので、使用頻度の高いデータを集中的にキャッ
シュメモリに保持できれば、プロセッサの性能は向上す
る。
【0003】このように、キャッシュ方式における課題
の一つは、限られた容量のキャッシュメモリの利用効率
をいかに向上するかである。課題解決の具体的なの一例
として、特開平1−222350号公報「記憶装置」が
ある。この引例では、メインメモリ内の任意データに対
して、キャッシュメモリ内の複数エントリにコピー可能
とすることにより、キャッシュの利用効率向上を狙った
ものである。通常、任意のデータがキャッシュメモリ内
で作成可能なエントリ数は、ダイレクトマップ方式では
1エントリ、2ウエイセットアソシアティブ方式では2
エントリ、4ウエイセットアソシアティブ方式では4エ
ントリに制限される。この引例では、この制限が取り除
かれており、例えば、ダイレクトマップ方式でも複数の
エントリが可能になる。つまり、任意のデータがアクセ
スされた場合、先ず、そのデータが格納されているメイ
ンメモリのアドレスに関連した固有のエントリにおける
有効データの有無をチェックする。無い時には、そのエ
ントリにアクセスするデータを保持できるが、既に他の
データが存在する(エントリコンフリクト)時には、空
きのエントリを探す。空きがなければ、エントリのデー
タをメインメモリへ転送した後に、アクセスするデータ
のエントリを作成する。逆に、空きがあれば、アクセス
するデータをその空きエントリに作成する。この場合、
空きエントリとそこに格納したデータが存在するメイン
メモリのアドレスとの関連性を記憶する変換テーブルの
内容を更新する。これにより、次回に同じデータへのア
クセス要求が発生すると、上記テーブルの内容を参照す
ることで、そのデータが格納されているキャッシュメモ
リ内のエントリを知り、そこへアクセスできる。
【0004】
【発明が解決しようとする課題】以上説明した引例で
は、キャッシュメモリの利用効率が向上するものの、通
常格納される固有のエントリに既に有効なデータが存在
する、つまり、エントリコンフリクトが発生する場合、
空きエントりを探す作業が必要になり、処理時間を費や
すことになる。したがって、キャッシュメモリの性能向
上のためには、エントリコンフリクトの発生を極力抑制
することも必要になる。
【0005】そこで、エントリコンフリクトが極力発生
しないように、メインメモリのアドレスとキャッシュメ
モリのエントリ間の対応付けを工夫することがキャッシ
ュメモリ制御方式の重要な課題になる。
【0006】
【課題を解決するための手段】上記課題を解決するため
に、本発明は、プロセッサがアクセスするメインメモリ
の領域に応じて、メインメモリとキャッシュメモリのエ
ントリ間のアドレスマッピングを変えることにした。プ
ロセッサと、キャッシュメモリと、上記プロセッサが使
用するプログラム及びデータ領域、表示用のデータを保
持するフレームバッファ領域及び3次元グラフィックス
表示用のZバッファ領域の3種類の領域で構成するメイ
ンメモリと、上記メインメモリ上での上記各領域を指定
するアドレスレジスタと、上記アドレスレジスタと上記
プロセッサのアドレス情報を比較することで、プロセッ
サがどのメモリ領域をアクセスするかを検出する領域検
出回路と、上記検出回路の結果にしたがって、上記プロ
セッサが出力するアドレス情報のマッピング方法を選択
可能であり、マッピング後のアドレス情報を上記キャッ
シュメモリ及びメインメモリへ供給するマッピング回路
を設けた。
【0007】上述した構成にしたがって、先ず、3種類
のメモリ領域を決定して、プロセッサがアドレスレジス
タに領域情報設定する。領域検出回路は、プロセッサが
出力するアドレス情報とアドレスレジスタに設定した領
域情報を比較することで、どのアドレス領域をアクセス
するかを認識できる。その結果を受けて、マッピング回
路は、アクセスする領域に対応するマッピングを行いま
っぴんぐ後のアドレス情報をキャッシュメモリへ出力す
る。マッピング回路内のアドレスマッピングは、各メモ
リ領域で、エントリコンフリクトの発生確率が最少とな
るように、キャッシュメモリへコピーされるメインメモ
リのアドレス空間を規定する。例えば、プログラム及び
データ領域はメインメモリ上の特定の連続アドレス空間
の内容がそのままキャッシュメモリへコピーされ、フレ
ームバッファ領域は正方形に近い形状の表示領域に対応
するメインメモリ上のアドレス空間の内容がキャッシュ
メモリーへコピーされ、Zバッファ領域は同様に正方形
に近い形状の領域に対応するアドレス空間であるが、そ
の空間内のオフセットアドレスがフレームバッファと異
なるようなマッピングでコピーされるように、マッピン
グ回路が作用する。
【0008】以上のように、本発明によると、プログラ
ムの走行特性が連続的であることと、主要なデータ構造
の一つである配列などは連続アドレスを利用することか
ら、連続アドレス空間をキャッシュメモリへコピーする
ことで、メインメモリのプログラム及びデータ領域はエ
ントリコンフリクトを最少限にできる。また、3次元グ
ラフィックッスが3頂点のポリゴン描画を基本としてい
るため、矩形領域を集中的にアクセスする傾向があり、
正方形に近い形状の表示領域に対応するメインメモリ上
のアドレス空間の内容がキャッシュメモリーへコピーす
ることで、フレームバッファ領域はエントリコンフリク
トの発生確率を最少限にできる。さらに、Zバッファは
フレームバッファと同様の特性を有するが、フレームバ
ッファと同様のマッピングにすると、フレームバッファ
とZバッファのアクセス」するデータ間でエントリコン
フリクト起こす。これを避けるために、フレームバッフ
ァと同様の表示領域をキャッシュメモリへコピーするこ
とに加えて、コピーされる領域内でのオフセットアドレ
スも変換することで、フレームバッファのアクセスデー
タとのエントリコンフリクト発生確率を最少限にでき
る。
【0009】
【発明の実施の形態】以下、本発明を説明する。図1は
本発明を適用した情報処理装置のブロック図である。同
図で、1はプロセッサ、2はプロセッサ1が出力するア
ドレスバス、3はプロセッサ1が情報の授受を行うデー
タバス、4はフレームバッファとZバッファのアドレス
領域情報を保持するアドレスレジスタ、5はアドレスレ
ジスタ4に保持した情報を出力する領域信号線、6はア
ドレスバス2の情報が示すメモリ領域検出する領域検出
回路、7は領域検出回路6の検出結果を出力する検出信
号線、8は各メモリ領域に対して固有のマッピングアド
レス情報を生成するマッピング回路、9はマッピング回
路8が生成した情報を出力するマッピングアドレスバ
ス、10は4キロバイト(kB)の容量を持つダイレク
トマップ方式のキャシュメモリ、11は512エントリ
×10ビット構成のアドレスタグアレイ、12は512
エントリ×32バイト構成のデータアレイ、13はキャ
シュメモリ10などを制御するメモリ制御回路、14は
メモリ制御回路13が出力するメモリ制御信号線、15
は16メガバイト(MB)の容量を有するメインメモ
リ、16はメインメモリ15に格納された表示情報を受
け取りデジタル表示信号を生成する表示制御回路、17
は表示制御回路16が出力するデジタル表示信号をアナ
ログ信号に変換するDAC(D/A Converte
r)、18はDAC17が出力するアナログ信号を表示
するCRT(Cathode Ray Tube)であ
る。以下に、この情報処理装置の動作を説明する。
【0010】メインメモリ15は、プロセッサ1が実行
するプログラムコード、プログラムが使用するデータ、
CRT18へ表示する情報を格納するフレームバッフ
ァ、及び3次元グラフィックス表示に必要なZバッファ
として、使用する。この場合、プロセッサ1は、アドレ
スレジスタ4にフレームバッファとZバッファのメモリ
領域情報を設定する。領域検出回路6は、領域信号線5
を通してアドレスレジスタ4の設定情報と、アドレスバ
ス2のアドレス情報をみることで、プロセッサ1がどの
メモリ領域をアクセスするかを検出する。その検出結果
は、検出信号線7を通してマッピング回路8へ転送され
る。マッピング回路8は、検出信号線7の情報に応じて
適切な変換方法を選択して、アドレスバス2の情報の変
換結果を、マッピングアドレスバス9へ出力する。マッ
ピングアドレスバス9は、メインメモリ15が有する1
6MBの空間を自由にアクセスするために、24ビット
のアドレス情報(MA23〜MA0)で構成してある。
このアドレス情報のうち、MA13〜MA5がキャシュ
メモリ10へ転送され、アドレスタグアレイ11が保持
している512エントリの中からひとつのエントリが選
択され、その保持している情報がメモリ制御回路13へ
転送される。アドレスタグアレイ11から転送される情
報は、そのエントリに対応するキャシュメモリ10が保
持する4バイトのデータが存在するメインメモリ15の
上位アドレス情報(MA23〜MA14)である。した
がって、メモリ制御回路13は、 マッピングアドレス
バス9のMA23〜MA14の情報とアドレスタグアレ
イ11から転送される情報が一致すると、アクセスする
データがデータアレイ12に格納されている(ヒットし
た)と判断できる。一方、一致しないとデータアレイ1
2に存在しない(ミスヒットした)ことが判る。メモリ
制御回路13が、ヒットと判断すると、メモリ制御信号
線14と通して、データアレイ12を有効とし、メイン
メモリ15を無効とする。したがって、プロセッサ1
は、データアレイ12のデータを高速にアクセスでき
る。逆に、ミスヒットと判断すると、データアレイ12
を無効とし、メインメモリ15を有効とする。したがっ
て、プロセッサ1は、メインメモリ15のデータをアク
セスする。この場合、再びアクセスされる可能性が高い
という判断から、アクセスしたデータに対応するエント
リのデータがメインメモリ15へ書き戻され、そのエン
トリにアクセスしたデータ及び上位のアドレスがキャシ
ュメモリ10へ書き込まれる。
【0011】プロセッサ1が、3次元グラフィックスの
映像をCRT18へ表示するプログラムを実行する場
合、先ず、その命令コードがフェッチされる。そのプロ
グラムにしたがって、プロセッサ1は、フレームバッフ
ァやZバッファに対するデータアクセス行い、最終的に
フレームバッファへ3次元グラフィックスの映像データ
を書き込む。そのフレームバッファの内容は、定期的に
表示制御回路16へ転送されることで、その内容をCR
T18に映し出すことができる。
【0012】この際、アクセスされる命令コード、フレ
ームバッファ及びZバッファなどのメインメモリ15の
内容の一部が、キャシュメモリ10にコピーされてお
り、アクセスパターンに応じては、同一エントリに属す
る2つ以上のデータが頻繁にアクセスされるケースがあ
る。この場合、エントリコンフリクトが頻繁に発生する
ので、キャシュメモリ10内のエントリ更新作業に多大
な処理時間を費やすことになり、プロセッサ1の処理効
率が著しく低下することになる。したがって、頻繁にア
クセスされるデータは、常に、キャシュメモリ10内に
存在しており、エントリコンフリクトが殆ど発生しない
ことが望ましい。そのためには、各メモリ領域のアクセ
スパターン特性に応じて、同一エントリとそれに属する
メインメモリ15内のアドレス群の対応(マッピング)
に変化を持たせることが必要である。この考え方を実現
するのが、マッピング回路8である。
【0013】マッピング回路8の具体的な構成を説明す
る前に、各メモリ領域に対して、最適なマッピングにつ
いて述べる。図2は、メインメモリ15の具体的なメモ
リ領域の構成例を示している。同図に示すとおり、コー
ド/データ領域に8MB、フレームバッファ領域に4M
B及びZバッファ領域に4MBを割り当てる。アドレス
は、16進数で表記している。これらには、異なる3種
類のマッピング方式、つまり、シーケンシャルマッピン
グ、ブロックマッピング及びハッシュドブロックマッピ
ングが最適である。以下、順に説明する。
【0014】先ず、シーケンシャルマッピングを説明す
る。図3はシーケンシャルマッピングを示す図である。
同図において、アドレスは16進数で表記してある。キ
ャッシュメモリは、前述したとおり、512エントリ×
32バイトで合計16kBの容量である。キャッシュメ
モリの第1エントリは、0〜1F番地である。このエン
トリにコピー可能なコード/データ領域のデータは、2
56種類であり、具体的な番地は、0、4000、80
00、・・・・・・・・・、7FC000となる。これらの対応
は、図中、線を用いて示している。これらの番地のなか
の複数のデータが頻繁にアクセスされると、エントリコ
ンフリクトが発生することになる。逆に、同中に太線で
示したシーケンシャルな領域内のデータでだけを頻繁に
アクセスする場合は、エントリコンフリクトは発生しな
い。プログラムコードの走行特性が逐次的であること
と、配列などアドレスが連続したデータ構造が多用され
ることを考慮すると、このようなシーケンシャルマッピ
ングは、コード/データ領域に最適である。
【0015】次ぎに、ブロックマッピングを説明する。
図4はフレームバッファの構造を示している。表示画面
の解像度は1024ピクセル×768ライン、1ピクセ
ルの解像度はR成分8ビット、G成分8ビット、B成分
8ビット、α成分8ビットの合計4バイトを仮定する。
図2に示したとおり、フレームバッファの容量は、4M
Bである。アドレスの割り付けは、図4に示すとおり、
画面左上が開始アドレスであり、800000〜800
FFC番地が1ライン目、801000〜801FFC
番地が2ライン目、802000〜802FFC番地が
3ライン目・・・・・の表示データを保持する。このよ
うな画面構成に対して、図3で説明したシーケンシャル
マッピングを適用すると、4ライン分のデータが16k
Bとなるため、1024ピクセル×4ラインのシーケン
シャル領域構成となる。ところが、3次元グラフックス
においては、3頂点のポリゴン描画が基本になってい
る。例えば、50ポリゴン描画の場合、10ピクセル×
10ラインの領域が集中的にアクセスされる傾向にあ
る。したがって、シーケンシャルマッピングでは、エン
トリコンフリクトが頻発すると予測できる。そこで、1
6kBに相当する64ピクセル×64ピクセルのブロッ
ク領域をマッピングすることにより、エントリコンフリ
クトを大幅に低減することが考えられる。本実施例のブ
ロックマッピングでは、図4に示す通り、横方向16
個、縦方向12個の合計192個のブロック構成とな
る。図中、ブロックアドレスは、横X、縦Yとして、
(ブロックXアドレス、ブロックYアドレス)として、
2次元で表現している。
【0016】次ぎに、Zバッファの構造について述べ
る。Zバッファは、各ピクセル毎に3次元画面の奥行き
情報を保持するものである。通常、1ピクセル当たり2
4ビットの解像度であり処理の単純化のため1ピクセル
4バイト単位で割り付ける。したがって、Zバッファの
アドレス割り付けは、図2に示すとおりC00000番
地から開始しているものの、図4に示したフレームバッ
ファの構造と基本的に同一構成になる。前述したポリゴ
ン描画を考慮すると、同一ピクセルに対応するフレーム
バッファとZバッファのデータを集中的にアクセスする
傾向があるため、これらのデータアクセスがエントリコ
ンフリクトを引き起こすことになる。この問題の解決手
段を図5を用いて以下に説明する。
【0017】図5はフレームバッファとZバッファの各
々に対して、キャッシュメモリのエントリとブロック内
データの対応を示している。同図に示すとおり、1ブロ
ック内を64個のサブブロックに分割する。各サブブロ
ックは、8×8ピクセルで構成する。ブロック内に示す
数字は、サブブロックアドレス(0〜63)の割り付け
を示している。各サブブロックは、256バイトの容量
であり、キャッシュメモリの8エントリ分に相当する。
サブブロックアドレスとキャッシュのエントリの対応
は、同図に示すとおりである。このように、フレームバ
ッファとZバッファのサブブロックマッピングを変える
ことで、エントリコンフリクトの問題を解決できる。例
えば、フレームバッファのサブブロックアドレス0に相
当する8×8ピクセルの領域にポリゴン描画する際に、
フレームバッファのデータは、キャッシュメモリのアド
レス0〜FF番地へコピーされる。一方、Zバッファの
データは、3C00〜3CFF番地へコピーされるの
で、エントリコンフリクトは発生しない。同様に、フレ
ームバッファのサブブロックアドレス0〜15の広範囲
なブロック領域が集中的にアクセスされる場合でも、エ
ントリコンフリクトが発生することはない。このよう
に、Zバッファは、ブロックマッピングした上にサブブ
ロックアドレスにハッシュをかけるマピング方式、つま
り、ハッシュドブロックマッピングがエントリコンフリ
クトを抑制するのに有効である。
【0018】以上が、シーケンシュアルマッピング、ブ
ロックマッピング及びハッシュドブロックマッピングで
ある。ここで、図1に示したマッピング回路8における
各マッピング方式のアドレス変換機構について述べる。
アドレス全体は、16MBの空間をサポートするため、
24ビットで構成している。シーケンシャルマッピング
は、アドレスバス2も情報をそのまま、マッピング回路
8へ出力して、そのうちの下位14ビットをキャッシュ
メモリのアドレスにそのまま使用することにより容易に
実現できる。これ以外は、やや変換機構が複雑なので、
図6を用いて説明する。
【0019】図6はブロックマッピングとハッシュドブ
ロックマッピングのアドレス変換機構を示す図である。
同図において、アドレスバス2はプロセッサ1から見た
論理的なアドレスを示している。上位2ビット(A2
3、A21)が10の時フレームバッファ、11の時Z
バッファの空間を示す。各領域とも4MB確保している
ので、実質的には、1024ピクセル×1024ライン
の表示まで対応できる。A21〜A12の10ビットが
Y方向の位置(ライン)、A11〜A2の10ビットが
X方向の位置(ライン内のピクセル)を示している。フ
レームバッファの場合、A1とA0が各ピクセルの要素
(R、G、B及びα)を、Zバッファの場合はA1とA
0がZ値の要素(上位バイト〜下位バイト)を、各々示
している。X及びY方向の位置は、各々、4ビットのブ
ロックアドレス、3ビットのサブブロックアドレス及び
3ビットのサブブロック内アドレスで構成される。
【0020】シーケンシャルマッピングと整合をとるた
め、マッピングアドレスバス9の下位14ビットをキャ
ッシュメモリのアドレスにそのまま使用する必要があ
る。したがって、ブロックマッピングを実現するため、
ブロックXアドレス及びYアドレスは、MA21〜MA
14へ割り当てる。一方、サブブロックアドレスは、図
5で説明したようなアドレス割り付けに変換した後に、
MA13〜MA8へ割り当てる。このアドレス割り付け
が、ブロックマッピングとハッシュドブロックマッピン
グで異なる。また、サブブロック内のアドレスは、MA
7〜MA2へ、ピクセル要素及びZ値の要素はそのまま
MA1とMA2へ割り当てる。以上により、ブロックマ
ッピング及びハッシュドブロックマッピングを実現でき
る。
【0021】以上が、マッピング回路8の機能説明であ
り、以下、図1に示した主要回路ブロックであるアドレ
スレジスタ4、マッピング回路8及びマッピングアドレ
スバス9の詳細構成を説明する。
【0022】図7はアドレスレジスタ4のブロック図で
ある。図中、20はアドレスバス2のアドレス情報をデ
コードするデコーダ回路、21はプロセッサ1が特定の
アドレスをアクセスした時にアクテイブになるデコード
信号線、22はプロセッサ1が特定のアドレスをアクセ
スした時にアクティッブになるデコード信号線、23は
デコード信号線21がアクティブになった時にデータバ
ス3の2ビット情報を保持するラッチ回路、24はデコ
ード信号線22がアクティブになった時にデータバス3
の2ビット情報を保持するラッチ回路、5aと5bはラ
ッチ回路23が保持した2ビット情報を出力する領域信
号線、5cと5dはラッチ回路24が保持した2ビット
情報を出力する領域信号線である。ラッチ回路23は、
メインメモリ15内のフレームバッファの位置を特定化
する2ビット情報を保持する。図2に示したアドレスマ
ップを実現するための情報を設定すると、領域信号線5
aは1、領域信号線5bは0となる。各ビットは、アド
レス情報の上位2ビット(A23とA22)に対応す
る。同様に、ラッチ回路24は、メインメモリ15内の
Zバッファの位置を特定化する2ビット情報を保持す
る。図2に示したアドレスマップを実現するための情報
を設定すると、領域信号線5cは1、領域信号線5bは
1となる。このように、アドレスレジスタ4は、16M
Bで構成したメインメモリ15内の4つの4MBの領域
の中から一つを選択して、フレームバッファ及びZバッ
ファに割り当てることができる。
【0023】次ぎに、領域検出回路6の詳細を説明す
る。図8は、領域検出回路6のブロック図である。図
中、30は2入力の2ビット比較回路、31は2入力の
2ビット比較回路、32は2入力のNOR回路、7aは
Zバッファがアクセスされると論理値1になる検出信号
線、7bはコード/データ領域がアクセスされると論理
値1になる検出信号線である。比較回路30は、領域信
号線5aと5bの2ビット情報とアドレスバス2のアド
レス情報2ビット(A23とA22)を比較して、一致
すれば論理値1を、不一致であれば論理値0を出力す
る。同様に、比較回路31は、領域信号線5cと5dの
2ビット情報とアドレスバス2のアドレス情報2ビット
(A23とA22)を比較して、一致すれば論理値1
を、不一致であれば論理値0を検出信号線7aへ出力す
る。また、NOR回路32は、比較回路30と31の論
理値がともに0の時に、フレームバッファ及びZバッフ
ァ以外、つまり、コード/データ領域をアクセスしてい
ると判断して、7bへ論理値1を出力する。以上によ
り、領域検出回路6は、プロセッサ1がどのメモリ領域
をアクセスしているかを認識できる。検出信号線7内の
検出信号線7aと7bが、1と0の時Zバッファ、0と
0の時にフレームバッファ、検出信号線7bが1の時に
コード/メモリへのアクセスを示す。
【0024】次ぎに、マッピング回路8の詳細を説明す
る。図9は、マッピング回路8のブロック図である。図
中、40は図5に示したようなZバッファのサブブロッ
クアドレスをハッシングするためのハッシングテーブ
ル、41から44は選択回路である。同図は既に説明し
たマッピング回路8の機能を具体化した図である。検出
信号線7bの論理値が1の時、選択回路41はA17〜
A14を、選択回路42はA13〜A8を、選択回路4
3はA7〜A5を選択する。結果として、コード/デー
タ領域をアクセスする場合には、アドレスバス2の情報
がそのままマッピングアドレスバス9へ出力されシーケ
ンシャルマッピングとなる。検出信号線7a論理値が0
で検出信号線7bの論理値が0の時、選択回路41はA
11〜A8を、選択回路44はA17〜A15とA7〜
A5を、選択回路42は選択回路44の出力を、選択回
路43はA14〜A12を選択する。結果として、フレ
ームバッファ領域をアクセスする場合には、ブロックマ
ッピングとなるアドレス情報がマッピングアドレスバス
9へ出力される。検出信号線7a論理値が1で検出信号
線7bの論理値が0の時、選択回路41はA11〜A8
を、選択回路44はハッシングテーブル40の出力を、
選択回路42は選択回路44の出力を、選択回路43は
A14〜A12を選択する。結果として、Zバッファ領
域をアクセスする場合には、ハッシュドブロックマッピ
ングとなるアドレス情報がマッピングアドレスバス9へ
出力される。
【0025】以上により、各メモリ領域に対応して最適
なマッピング方式を動的に割り当てることが可能になる
ため、キャッシュメモリにおけるエントリコンフリクト
によるキャッシュミス率を改善できる。
【0026】また、本発明は、上述した実施例に限定し
た訳ではない。例えば、図1におけるアドレスレジスタ
4は存在しなくても本発明は実現できる。ただし、メモ
リ領域は自由にマイクロプロセッサ1が設定されること
は不可能であり、メモリ領域の配置は固定となる。これ
を第2の実施例として以下に説明する。図10は本発明
を適用した第2の実施例を示す情報処理装置のブロック
図である。図中、6aは本実施例特有の領域検出回路で
ある。基本的には、図1と同様の動作であり、領域検出
回路6aが、アドレスバス2の情報からメモリ領域の検
出情報を検出信号線7へ出力する。メインメモリ15の
は、メモリ領域の構成は、図2に示すとおりとする。具
体的な領域検出回路6aの構成を図11に示す。図中、
50はAND回路、51は反転回路である。AND回路
50はアドレスバス2のアドレス情報がZバッファ領域
を示す時に論理値1を検出信号線7aへ出力する。ま
た、反転回路51は、アドレスバス2のアドレス情報が
コード/データ領域を示す時に論理値1を検出信号線7
bへ出力する。以上により、メモリ領域の構成は、プロ
セッサ1が自由に設定不可能で固定的なものとなるもの
の、本発明の本来の機能は実現できる。
【0027】本実施例では、メモリ領域を3つに分割し
た構成としたが、複数分割構成に適用できる。具体的に
は、Zバッファを使用しないシステムでは、2種類のメ
モリ領域に分割して、シーケンシャルマッピングとブロ
ックマッピングだけで十分となる。逆に、三つのメモリ
領域と異なるメモリアクセスの局所性を有するメモリ領
域が存在するならば、アドレスレジスタ4のラッチ回路
と、領域検出回路6の比較回路と、マッピング回路8の
マッピング機能を追加することで、四つのメモリ領域に
分割した構成にも容易に対応できる。
【0028】また、上述した実施例では、プロセッサと
キャッシュメモリが別チップの構成となっているが、キ
ャッシュメモリ内臓のプロセッサにも適用できる。具体
的には、プロセッサ1とアドレスレジスタ4と領域検出
回路6と検出信号線7とキャシュメモリ10とメモリ制
御回路13を、1チップに集積することで、実現でき
る。
【0029】
【発明の効果】本発明によれば、プロセッサがアクセス
するメモリ領域に応じて、キャッシュメモリのアドレッ
シングが動的に可変となり、キャッシュメモリのエント
リコンフリクトが原因となるキャッシュミス率を軽減で
きる。これにより、キャッシュメモリシステムを利用し
てメモリアクセス速度を改善するようなプロセッサの処
理効率を向上できる。
【図面の簡単な説明】
【図1】本発明を適用した情報処理装置のブロック図。
【図2】メインメモリ15の具体的なメモリ領域の説明
図。
【図3】シーケンシャルマッピングを示す説明図。
【図4】フレームバッファの説明図。
【図5】キャッシュメモリのエントリとブロック内デー
タの対応説明図。
【図6】ブロックマッピングとハッシュドブロックマッ
ピングのアドレス変換機構の説明図。
【図7】アドレスレジスタ4のブロック図。
【図8】領域検出回路6のブロック図。
【図9】マッピング回路8のブロック図。
【図10】本発明の第2の実施例を示す情報処理装置の
ブロック図。
【図11】領域検出回路6aのブロック図。
【符号の説明】
1…プロセッサ、 4…アドレスレジスタ、 6…領域検出回路、 8…マッピング回路、 10…キャシュメモリ、 15…メインメモリ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 野尻 徹 神奈川県川崎市麻生区王禅寺1099番地株式 会社日立製作所システム開発研究所内 (72)発明者 田中 和彦 神奈川県川崎市麻生区王禅寺1099番地株式 会社日立製作所システム開発研究所内 (72)発明者 藤川 義文 神奈川県川崎市麻生区王禅寺1099番地株式 会社日立製作所システム開発研究所内

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】特定のデータをアクセスするためにアドレ
    ス情報を発生するプロセッサと、上記プロセッサがアク
    セスできるメインメモリと、上記メインメモリ内の部分
    的なアドレス空間の内容のコピーを格納し、上記プロセ
    ッサがアクセスできるキャッシュメモリとを含む情報処
    理装置において、 上記プロセッサが発生する上記アドレス情報を変換する
    複数の手段と、変換後の上記アドレス情報を出力するマ
    ッピング回路と、上記プロセッサがアクセスする上記メ
    インメモリ内のメモリ領域を検出して上記マッピング回
    路中の複数の変換手段から一つを選択する領域検出回路
    とを設け、上記マッピング回路が出力するアドレス情報
    によって、上記キャッシュメモリ及び上記メインメモリ
    をアクセスすることにより、上記キャッシュメモリへコ
    ピーされる上記メインメモリのアドレス空間を可変にす
    ることを特徴とするキャッシュメモリ制御方式。
  2. 【請求項2】請求項1において、プロセッサが複数のメ
    モリ領域を規定するアドレス情報を設定するアドレスレ
    ジスタを設け、上記アドレスレジスタに設定したアドレ
    ス情報と上記プロセッサがアクセス中のアドレス情報の
    比較回路とを領域検出回路に追加するキャッシュメモリ
    制御方式。
  3. 【請求項3】請求項1において、表示装置へ表示するた
    めの表示情報をピクセル単位で保持するフレームバッフ
    ァが上記メインメモリのある領域に割り当てられてお
    り、(キャッシュメモリの容量÷1ピクセルのデータ
    量)の平方根以下の任意の整数値をNとして、N×Nピ
    クセルに対応する全てのデータが同時にキャッシュメモ
    リに存在できるアドレス変換手段をマッピング回路に設
    け、上記アドレス変換手段をフレームバッファとして使
    用するメモリ領域に対応させるキャッシュメモリ制御方
    式。
  4. 【請求項4】請求項2において、表示装置へ表示するた
    めの表示情報をピクセル単位で保持するフレームバッフ
    ァがメインメモリのある領域に割り当てられており、
    (キャッシュメモリの容量÷1ピクセルのデータ量)の
    平方根以下の任意の整数値をNとして、N×Nピクセル
    に対応する全てのデータが同時にキャッシュメモリに存
    在できるアドレス変換手段をマッピング回路に設け、上
    記アドレス変換手段をフレームバッファとして使用する
    メモリ領域に対応させるキャッシュメモリ制御方式。
  5. 【請求項5】請求項3において、表示装置へ3次元表示
    するための奥行きの表示位置情報をピクセル単位で保持
    するZバッファがメインメモリのある領域に割り当てら
    れており、上記N×NピクセルをM×Mピクセルのサブ
    ブロック、(N÷M)の2乗個に分割して、同じ表示位
    置に対応するフレームバッファとZバッファのサブブロ
    ックのデータが同時にキャッシュメモリに存在できるア
    ドレス変換手段をマッピング回路に加えて、上記アドレ
    ス変換手段をZバッファとして使用するメモリ領域に対
    応させるキャッシュメモリ制御方式。
  6. 【請求項6】請求項4において、表示装置へ3次元表示
    するための奥行きの表示位置情報をピクセル単位で保持
    するZバッファがメインメモリのある領域に割り当てら
    れており、請求項4で定義した N×NピクセルをM×
    Mピクセルのサブブロック、(N÷M)の2乗個に分割
    して、同じ表示位置に対応するフレームバッファとZバ
    ッファのサブブロックのデータが同時にキャッシュメモ
    リに存在できるアドレス変換手段をマッピング回路に加
    えて、 上記アドレス変換手段をZバッファとして使用するメモ
    リ領域に対応させるキャッシュメモリ制御方式。
JP8071753A 1996-03-27 1996-03-27 キャッシュメモリ制御方式 Pending JPH09259041A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8071753A JPH09259041A (ja) 1996-03-27 1996-03-27 キャッシュメモリ制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8071753A JPH09259041A (ja) 1996-03-27 1996-03-27 キャッシュメモリ制御方式

Publications (1)

Publication Number Publication Date
JPH09259041A true JPH09259041A (ja) 1997-10-03

Family

ID=13469618

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8071753A Pending JPH09259041A (ja) 1996-03-27 1996-03-27 キャッシュメモリ制御方式

Country Status (1)

Country Link
JP (1) JPH09259041A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003517682A (ja) * 1999-12-17 2003-05-27 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ キャッシュを有するデータプロセッサ
JP2006092521A (ja) * 2004-09-24 2006-04-06 Samsung Electronics Co Ltd インターフェース選択スイッチを含む不揮発性メモリ保存装置及びそれを利用した方法
WO2012122182A3 (en) * 2011-03-07 2013-01-31 Micron Technology, Inc. Methods of accessing memory cells, methods of distributing memory requests, systems, and memory controllers
KR20140076741A (ko) * 2012-12-13 2014-06-23 삼성전자주식회사 반도체 메모리 장치 및 메모리 시스템
US10838886B2 (en) 2011-04-19 2020-11-17 Micron Technology, Inc. Channel depth adjustment in memory systems

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003517682A (ja) * 1999-12-17 2003-05-27 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ キャッシュを有するデータプロセッサ
JP2006092521A (ja) * 2004-09-24 2006-04-06 Samsung Electronics Co Ltd インターフェース選択スイッチを含む不揮発性メモリ保存装置及びそれを利用した方法
WO2012122182A3 (en) * 2011-03-07 2013-01-31 Micron Technology, Inc. Methods of accessing memory cells, methods of distributing memory requests, systems, and memory controllers
US8892844B2 (en) 2011-03-07 2014-11-18 Micron Technology, Inc. Methods of accessing memory cells, methods of distributing memory requests, systems, and memory controllers
US9933972B2 (en) 2011-03-07 2018-04-03 Micron Technology, Inc. Methods of accessing memory cells, methods of distributing memory requests, systems, and memory controllers
US10162557B2 (en) 2011-03-07 2018-12-25 Micron Technology, Inc. Methods of accessing memory cells, methods of distributing memory requests, systems, and memory controllers
US10838886B2 (en) 2011-04-19 2020-11-17 Micron Technology, Inc. Channel depth adjustment in memory systems
US11580039B2 (en) 2011-04-19 2023-02-14 Micron Technology, Inc. Channel depth adjustment in memory systems
KR20140076741A (ko) * 2012-12-13 2014-06-23 삼성전자주식회사 반도체 메모리 장치 및 메모리 시스템

Similar Documents

Publication Publication Date Title
US5282274A (en) Translation of multiple virtual pages upon a TLB miss
US8564602B2 (en) Method of implementing an accelerated graphics port for a multiple memory controller computer system
US6856320B1 (en) Demand-based memory system for graphics applications
US6252612B1 (en) Accelerated graphics port for multiple memory controller computer system
US20070208885A1 (en) Methods And Apparatus For Providing Independent Logical Address Space And Access Management
US20040179019A1 (en) Double-buffering of pixel data using copy-on-write semantics
JP3666689B2 (ja) 仮想アドレス変換方法
US5987582A (en) Method of obtaining a buffer contiguous memory and building a page table that is accessible by a peripheral graphics device
US5555395A (en) System for memory table cache reloads in a reduced number of cycles using a memory controller to set status bits in the main memory table
EP1854011A2 (en) Enhancing performance of a memory unit of a data processing device by separating reading and fetching functionalities
JPH11288386A (ja) コンピュータシステム
US5923864A (en) Virtual storage address space access control system including auxiliary translation lookaside buffer
EP1044411B1 (en) Computer with accelerated graphics port and multiple memory controllers and method of manufacture of said controllers
JPH09259041A (ja) キャッシュメモリ制御方式
US7071946B2 (en) Accelerated graphics port for a multiple memory controller computer system
JPH0540694A (ja) キヤツシユメモリ装置
US6674441B1 (en) Method and apparatus for improving performance of an accelerated graphics port (AGP) device
JPH04369061A (ja) キャッシュメモリの制御方式
JPH03232034A (ja) キャッシュ制御装置
JPS6015971B2 (ja) 緩衝記憶装置
JPH11296431A (ja) 情報処理装置及びキャッシュメモリのマッピング方法
JPH0659975A (ja) フレームバッファ向きキャッシュメモリ装置
JPH08147216A (ja) データ処理装置
JPH10124389A (ja) キャッシュ装置
JPH07295891A (ja) リプレース抑制型キャッシュ制御装置