JPH07129464A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH07129464A
JPH07129464A JP5276721A JP27672193A JPH07129464A JP H07129464 A JPH07129464 A JP H07129464A JP 5276721 A JP5276721 A JP 5276721A JP 27672193 A JP27672193 A JP 27672193A JP H07129464 A JPH07129464 A JP H07129464A
Authority
JP
Japan
Prior art keywords
information
cache memory
data
control information
instruction
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
JP5276721A
Other languages
English (en)
Inventor
Kotaro Shimamura
光太郎 島村
Takahiro Uchimura
貴宏 内村
Takashi Hotta
多加志 堀田
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 JP5276721A priority Critical patent/JPH07129464A/ja
Publication of JPH07129464A publication Critical patent/JPH07129464A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 実行するアプリケーションプログラムの性質
に応じてキャッシュメモリ制御情報を変えることによ
り、キャッシュメモリの使用効率を高めること。 【構成】 実行すべき命令及び処理すべきデータに関す
る情報を格納する主記憶608と、主記憶608に記憶
された情報に従って情報を処理する命令処理ユニット5
02と、主記憶608に格納された情報の一部を格納す
るキャッシュメモリ300と、アプリケーションプログ
ラムの内容に応じて最適なキャッシュメモリ制御情報を
格納する方法レジスタ100と、方法レジスタ100に
格納されたキャッシュメモリ制御情報に従って主記憶6
08とキャッシュメモリ300間における情報の転送を
制御するメモリ制御ユニット400とを備えている。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、情報処理装置に係り、
特に、主記憶装置とキャッシュメモリ間における情報の
転送を制御するに好適な情報処理装置に関する。
【0002】
【従来の技術】従来の情報処理装置においては、大容量
ではあるが低速な主記憶装置へのアクセスによる性能低
下を防止するために、小容量ではあるが高速なキャッシ
ュメモリを使用して性能を高める方法が採用されてい
る。従来のこの種の情報処理装置においては、主記憶装
置とメモリ制御ユニットとをバスラインで接続するとと
もにメモリ制御ユニットと命令処理処理ユニットとをバ
スラインで接続し、さらにメモリ制御ユニットとキャッ
シュメモリとをバスラインで接続する構成が採用されて
いる。そしてこの種の装置において命令及びデータ伝送
をするに際しては、ストアスルー方式、コピーバック方
式などが採用されている。
【0003】ストアスルー方式は、データの書き込み時
に、キャッシュメモリにデータを書き込んだ後、主記憶
装置にもデータを書き込むようになっている。一方、コ
ピーバック方式は、データ書き込み時に、キャッシュメ
モリに書き込んだデータがキャッシュメモリに残ってい
る間は、主記憶装置へのデータの書き込みは実行しない
ようになっている。
【0004】又、命令又はデータの読み出し時に、必要
な命令又はデータがキャッシュメモリに無い場合には、
主記憶装置から必要な命令又はデータを読み出し、これ
をキャッシュメモリに書き込む方式が採用されている。
この場合、キャッシュメモリの書き込み領域にまだ主記
憶装置に書き込まれていないデータがあった場合にはそ
のデータを主記憶装置に書き込むようになっている。そ
してキャッシュメモリと主記憶装置との間のデータ転送
を効率よく行うために、隣接した数個の命令又はデータ
から構成される情報をブロック単位で転送することが行
われている。なお、データの書き込み時には、フェッチ
オンライト方式やライトアラウンド方式が用いられてい
る。
【0005】一方、命令処理ユニットとメモリ制御ユニ
ット及びキャッシュメモリを有するプロセッサを複数個
有し、各プロセッサが単一の主記憶装置を共有する情報
処理装置においては、ブロックのサイズが最適でないと
きに、キャッシュメモリの使用効率が低下するのを防止
するために、ブロックのサイズを動的に調節する方法が
採用されている。即ち各プロセッサのキャッシュメモリ
にそれぞれ各ブロックのサイズを格納するサイズレジス
タと、各ブロックに対するアクセスの履歴情報を格納す
る履歴レジスタを設け、各プロセッサのメモリ制御ユニ
ットが命令処理ユニットからの要求に応答してキャッシ
ュメモリにアクセスする際に、そのアクセスが、該当す
るブロックの前半部分へのアクセスか後半部分へのアク
セスかを履歴レジスタに記録する。また、デ−タの書き
込みを行う場合には、そのアドレスのデ−タを、キャッ
シュメモリが所有している全てのプロセッサの履歴レジ
スタを調べ、そのブロックの前半と後半両方にアクセス
したプロセッサがあればそのブロックに対応するカウン
タを−1し、前半か後半の片方のみにアクセスしたプロ
セッサがあればカウンタを+1して履歴レジスタに記録
する。そしてカウンタの値がある値より大きくなったと
きにはブロックのサイズが大きすぎると判断し、キャッ
シュメモリとキャッシュメモリ間のデ−タ転送を行う際
にそのブロックを分割し、サイズレジスタの値を更新す
る。一方、カウンタの値がある値より小さくなったとき
には、ブロックのサイズが小さすぎると判断し、キャッ
シュメモリとキャッシュメモリ間のデ−タ転送を行う際
に、そのブロックを隣接するブロックとつなぎあわせ、
サイズレジスタの値を更新する。このように、キャッシ
ュメモリに対するアクセスの履歴情報を用いて、各ブロ
ックのサイズを最適な値に調整することが行われてい
る。
【0006】なお、この種の情報処理装置に関連するも
のとしては、特開昭62−197842号公報、特開平
4−336340号公報が挙げられる。
【0007】
【発明が解決しようとする課題】従来の情報処理装置で
は、命令又はデータの量が多い場合に、必要な命令また
はデータがキャッシュメモリに入りきらず、主記憶装置
とキャッシュメモリとの間で命令またはデータの転送が
頻繁に発生する。特に、科学技術計算などで巨大な配列
データを処理する場合には、配列の前半部分を処理する
ときにはキャッシュメモリには配列の後半部分が入って
おり、配列の後半部分を処理するときにはキャッシュメ
モリには配列の前半部分が入っているという事態がしば
しば発生する。このような場合、いづれの処理において
も必要なデータはキャッシュメモリには存在せず、従っ
て、常に主記憶装置との間でデータの転送を行う必要が
あるため、キャッシュメモリの使用効率が極端に低下す
る。
【0008】また従来の装置では、アプリケーションプ
ログラムを実行する際に、キャッシュメモリを使用する
か否かについて十分考慮することが行われていない。即
ち、一般にどのアプリケーションプログラムを実行する
場合にも、使用頻度の高い命令又はデータと、使用頻度
の低い命令またはデータとが存在する。このような場
合、使用頻度の低い命令又はデータを無条件にキャッシ
ュメモリに書き込むと、使用頻度の高い命令またはデー
タがキャッシュメモリから追い出され、キャッシュメモ
リの使用効率が低下することがある。さらに、主記憶装
置とキャッシュメモリとの間でデータ転送を行うとき
に、転送の単位となるブロックのサイズが実行するアプ
リケーションプログラムにとって最適でない場合もあ
る。即ち、一般に、一度に大量のデータを転送した方が
効率の良い転送ができるため、ブロックのサイズを大き
くした方が性能は向上する。しかし、独立した変数が並
んでいて隣接したデータを連続して使用する可能性が低
い場合は、ブロックのサイズが大きいと近い将来使用す
る可能性が低いデータを一緒に転送することとなり、か
えって性能が低下する。このことは命令を転送する場合
も同様である。例えば、分岐命令の出現頻度の低いアプ
リケーションプログラムを実行するときには、アドレス
の連続した命令を実行する可能性が高いため、ブロック
のサイズを大きくした方が良く、逆に、分岐命令の出現
頻度が高い場合はブロックのサイズを小さくした方が良
い。このように、主記憶装置とキャッシュメモリ間で命
令またはデータを転送するときに、ブロックのサイズを
最適な状態に調整しなければ、キャッシュメモリの使用
効率が低下することになる。
【0009】また、ブロックのサイズを調整する際に、
各ブロックのサイズ及び履歴情報を記憶する方法では、
ハードウエアの物理量が増加し、且つメモリ制御ユニッ
トの処理が複雑となって処理速度が低下するという問題
点もある。
【0010】本発明の目的は、実行するアプリケーショ
ンプログラムの内容に応じてキャッシュメモリの制御方
法を変えることにより、キャッシュメモリの使用効率を
高めることができる情報処理装置を提供することにあ
る。
【0011】
【課題を解決するための手段】前記目的を達成するため
に、本発明は、第1の装置として、実行すべき命令及び
処理すべきデータに関する情報を格納する主記憶手段
と、前記主記憶手段に格納された命令に従って、前記主
記憶手段に格納されたデータを処理する命令処理手段
と、前記主記憶手段に格納された情報の一部を格納する
キャッシュメモリと、アプリケーションプログラムに応
じたキャッシュメモリ制御情報を格納する制御情報記憶
手段と、前記制御情報記憶手段に格納されたキャッシュ
メモリ制御情報に従って前記主記憶手段と前記キャッシ
ュメモリ間における情報の転送を制御するメモリ制御手
段とを備えている情報処理装置を構成したものである。
【0012】また第2の装置として、実行すべき命令及
び処理すべきデータに関する情報を格納する主記憶手段
と、前記主記憶手段に格納された命令に従って、前記主
記憶手段に格納されたデータを処理する命令処理手段
と、前記主記憶手段に格納された情報の一部を格納する
キャッシュメモリと、アプリケーションプログラムに応
じた複数のキャッシュメモリ制御情報を格納する制御情
報記憶手段と、前記制御情報記憶手段に格納されたキャ
ッシュメモリ制御情報群のうち指定のキャッシュメモリ
制御情報に従って前記主記憶手段と前記キャッシュメモ
リ間における情報の転送を制御するメモリ制御手段とを
備えている情報処理装置を構成したものである。
【0013】前記各装置において、キャッシュメモリ
は、情報の転送単位を示すブロックサイズに応じた複数
のメモリ領域と、情報をブロックサイズに応じて指定の
メモリ領域に格納する書き込み制御手段とを有し、制御
情報記憶手段に格納されたキャッシュメモリ制御情報
は、情報の転送単位を示すブロックサイズとして転送に
適するブロックサイズに関する情報を含むもので構成す
ることができる。
【0014】メモリ制御手段は、将来必要とする情報の
アドレスを予測し、この予測結果に従って情報の転送を
制御するプリフェッチ制御手段を有し、制御情報記憶手
段に格納されたキャッシュメモリ制御情報は、前記プリ
フェッチ制御手段が一度に転送すべき情報の転送量を指
定する情報を含むもので構成することができる。
【0015】読み出し要求に応答するメモリ制御手段と
して、メモリ制御手段は、命令処理手段から情報の読み
出し要求を受けたときに、キャッシュメモリと情報の授
受を行ってキャッシュメモリに指定の情報が存在するか
否かを判定する判定手段と、前記判定手段の判定結果と
制御情報記憶手段に格納されたキャッシュメモリ制御情
報に従って情報の転送を制御する転送制御手段とを有
し、制御情報記憶手段に格納されたキャッシュメモリ制
御情報は、キャッシュメモリに指定の情報が存在しない
ときに、指定の情報を主記憶手段からキャッシュメモリ
に転送すべきか否かを示す情報を含むもので構成するこ
とができる。
【0016】書き込み要求に応答するメモリ制御手段と
して、メモリ制御手段は、命令処理手段から情報の書き
込み要求を受けたときに、キャッシュメモリと情報の授
受を行ってキャッシュメモリに指定の情報が存在するか
否かを判定する判定手段と、前記判定手段の判定結果と
制御情報記憶手段に格納されたキャッシュメモリ制御情
報に従って情報の転送を制御する転送制御手段とを有
し、制御情報記憶手段に格納されたキャッシュメモリ制
御情報は、キャッシュメモリに指定の情報が存在しない
ときに、指定の情報を主記憶手段からキャッシュメモリ
に転送すべきか否かを示す情報を含むもので構成するこ
とができる。さらに、メモリ制御手段は、命令処理手段
から情報の書き込み要求を受けたときに、キャッシュメ
モリに指定の情報を転送する情報転送手段と、制御情報
記憶手段に格納されたキャッシュメモリ制御情報に従っ
て情報の転送を制御する転送制御手段とを有し、制御情
報記憶手段に格納されたキャッシュメモリ制御情報は、
キャッシュメモリに格納すべき指定の情報を主記憶手段
にも書き込むべきかそれともキュッシュメモリに格納さ
れた指定の情報が有効である間は指定の情報を主記憶手
段へ書き込むことを禁止するかを示す情報を含むもので
構成することができる。
【0017】また制御情報記憶手段は、複数の部分に分
割されたキャッシュメモリ制御情報をそれぞれ格納する
記憶領域群を有し、分岐命令の頻度の高低に応じて分割
された命令が前記記憶領域群の中のいずれかの記憶領域
に分散して格納され、使用頻度の高低に応じて分割され
たデータが前記記憶領域群のうち命令とは異なる記憶領
域に分散して格納されているもので構成することができ
る。さらに、制御情報記憶手段は、相異なるキャッシュ
メモリ制御情報をそれぞれ格納する複数の記憶領域と、
命令処理手段からアドレスを受けこのアドレスが各記憶
領域に対応して設定されたアドレスの範囲内にあるか否
かを判定する複数のアドレス範囲判定手段と、指定のア
ドレス範囲判定手段から肯定の判定結果が得られ他のア
ドレス範囲判定手段からは否定の判定結果が得られたこ
とを条件に指定の記憶領域からキャッシュメモリ制御情
報を選択して出力する複数の情報出力手段とを有するも
ので構成することができる。
【0018】また第1又は第2の装置において、キャッ
シュメモリは応答速度の相異なる複数のメモリで構成さ
れ、メモリ制御手段は、主記憶手段と一方のキャッシュ
メモリ間における情報の転送を制御すると共に各キャッ
シュメモリ間における情報の転送を制御してなるもので
構成することができる。さらに、キャッシュメモリは命
令用キャッシュメモリとデータ用キャッシュメモリとか
ら構成され、制御情報記憶手段はキャッシュメモリ制御
情報のうち命令用制御情報を格納する命令用制御情報記
憶手段とキャッシュメモリ制御情報のうちデータ用制御
情報を格納するデータ用制御情報記憶手段とから構成さ
れ、メモリ制御手段は、命令用キャッシュメモリと主記
憶手段間における情報の転送を制御すると共にデータ用
キャッシュメモリと主記憶手段間における情報の転送を
制御してなるもので構成することができる。
【0019】
【作用】前記した手段によれば、アプリケーションプロ
グラムに応じて最適なキャッシュメモリ制御情報が制御
情報記憶手段に記憶されると、制御情報記憶手段に格納
されたキャッシュメモリ制御情報に従って主記憶手段と
キャッシュメモリ間における情報の転送が制御される。
このためメモリ制御手段は実行するアプリケーションプ
ログラムに応じて最適な情報転送制御を行うことが可能
となる。
【0020】また主記憶手段とキャッシュメモリ間にお
ける情報の転送を制御するに際して、制御情報記憶手段
に複数のキャッシュメモリ制御情報が格納されていると
きには、各アプリケーションプログラムに応じて最適な
キャッシュメモリ制御情報を選択し、選択したキャッシ
ュメモリ制御情報に従って主記憶手段とキャッシュメモ
リ間における情報の転送を制御することができる。
【0021】そして最適なキャッシュメモリ制御情報を
格納するに際しては、アプリケーションプログラムのア
クセスの傾向やハードウエアの各種パラメータを考慮し
て格納することができる。そしてこの場合、キャッシュ
メモリ制御情報として、情報の転送単位を示すブロック
サイズとして、転送に適するブロックサイズに関する情
報や、プリフェッチ制御手段が一度に転送すべき情報の
転送量を指定する情報、あるいはキャッシュメモリに指
定の情報が存在しないときに、指定の情報を主記憶手段
からキャッシュメモリに転送すべきか否かを示す情報、
さらに情報を書き込むときに、キャッシュメモリに格納
すべき指定の情報を主記憶手段にも書き込むべきかキャ
ッシュメモリに格納された指定の情報が有効である間は
指定の情報を主記憶手段へ書き込むことを禁止するかを
示す情報を格納することができる。
【0022】これらの情報を基に最適なキャッシュメモ
リ制御情報を設定すると、アプリケーションプログラム
を効率良く実行することができる。
【0023】例えば、分岐命令の多いプログラムや離散
的な変数をランダムにアクセスするプログラムを実行す
るときには、ブロックサイズやプリフェッチ数を小さく
する。 一方、分岐命令の少ないプログラムや配列を連
続的にアクセスするプログラムを実行する時には、ブロ
ックサイズ、プリフェッチ数を大きくする。
【0024】又キャッシュメモリの容量が小さく、主記
憶手段からキャシュメモリへの情報を転送するのに必要
な時間が短い場合にはブロックサイズやプリフェッチ数
を小さくする。逆に、キャッシュメモリの容量が大き
く、主記憶手段からキャッシユメモリへの情報を転送す
るのに必要な時間が長い場合には、ブッロクサイズ、プ
リフェッチ数を大きくする。
【0025】最適条件に従ってキャシュメモリ制御情報
を設定すると、最適な量のデータ転送が可能となる為、
不必要なデータの転送による性能の低下を防止できる。
【0026】又、使用頻度の低い命令又はデータがキャ
シュメモリに書き込まれるのを防止することができ、使
用頻度の高い命令又はデータがキャシュメモリから追い
出されるのを防止することが可能となり、キャッシュメ
モリの使用効率が向上する。
【0027】
【実施例】以下、本発明の一実施例を図面に基づいて説
明する。
【0028】図1は本発明の第1実施例を示すブロック
構成図である。図1において、情報処理装置は、命令処
理ユニット502、メモリ制御ユニット400、キャッ
シュメモリ300、方法レジスタ100、主記憶装置6
08を備えて構成されている。主記憶装置(以下、主記
憶と称する)608は、実行すべき命令及び処理すべき
データに関する情報を格納する主記憶手段として構成さ
れており、制御用バス816、データバス818を介し
てメモリ制御ユニット400に接続されている。キャッ
シュメモリ300は主記憶608に格納された命令及び
データの一部を格納するように構成されており、制御用
バス810、データバス812、814を介してメモリ
制御ユニット400に接続されている。命令処理ユニッ
ト502は主記憶608に格納されたデータを処理する
命令処理手段として構成されており、制御用バス80
2、804を介して方法レジスタ100に接続されてい
ると共に制御用バス804、データバス806を介して
メモリ制御ユニット400に接続されている。方法レジ
スタ100はアプリケーションプログラムに応じたキャ
ッシュメモリ制御情報を格納する制御情報記憶手段とし
て構成されており、制御用バス808を介してメモリ制
御ユニット400と接続されている。メモリ制御ユニッ
ト400は方法レジスタ100に格納されたキャッシュ
メモリ制御情報に従って主記憶608とキャッシュメモ
リ300間における情報の転送を制御するメモリ制御手
段として構成されている。
【0029】命令処理ユニット502は、制御用バス8
04及びデータバス806を介してメモリ制御ユニット
400から命令を受け、この命令に従った処理を実行す
る。このとき実行した命令が主記憶608に対するデー
タの読み出し又は書き込みを必要とする命令であった場
合には、制御用バス804を介してメモリ制御ユニット
400に対してデータの読み出し又は書き込みを要求
し、データバス806を介して必要なデータを転送す
る。一方、実行した命令が方法レジスタ100に対する
書き込みを指令する命令であった時には、制御用バス8
02を介して方法レジスタ100に指定のデータを書き
込む。方法レジスタ100は、制御用バス804を介し
て命令処理ユニット502がメモリ制御ユニット400
に対して要求した命令又はデータのアドレスを受け取
り、そのアドレスに対応したキャッシュメモリ制御情報
を制御用バス808を介してメモリ制御ユニット400
に転送する。このとき、メモリ制御ユニット400は、
制御用バス808を介して受け取ったキャシュメモリ制
御情報に従って、命令処理ユニット502、キャッシュ
メモリ300及び主記憶608間における命令又はデー
タの転送を制御する。すなわち、キャッシュメモリ30
0は、制御用バス810を介してメモリ制御ユニット4
00からアドレスを受け取り、対応する命令またはデー
タをデータバス814に出力する。また、制御用バス8
10を介して書き込みを指示されたときには、データバ
ス812を介して受け取った命令またはデータを指定さ
れた場所に書き込む。また主記憶608は、制御用バス
816を介して命令またはデータの読み出し又は書き込
み要求を受け取る。そして命令またはデータの読み出し
要求を受け取ったときには、必要な命令またはデータを
データバス818に出力する。一方、データの書き込み
要求を受け取ったときには、必要なデータをデータバス
818を介して受け取り、このデータを指定の場所に書
き込む。
【0030】図2は方法レジスタ100の第1実施例を
示す図である。図2において、方法レジスタ100は最
適なキャッシュメモリ制御情報を格納するためにレジス
タ112を備えており、このレジスタ112の記憶領域
が複数の領域に分割されている。即ち、レジスタ112
の記憶領域には、ブロックサイズ(BKS)102、プ
リフェッチ数(NPF)104、キャッシング選択(C
/N)106、コピーバック選択(C/S)108、フ
ェッチオンライト選択(F/W)110に関する情報が
格納されるようになっている。ブロックサイズ102
は、主記憶608とキャッシュメモリ300との間で命
令又はデータを転送する際の転送単位を示すブロックサ
イズを指定するようになっている。プリフェッチ数10
4は、ハードウエアプリフェッチを行う際に、プリフェ
ッチする命令又はデータのブロック数を指定するように
なっている。キャッシング選択106は、命令またはデ
ータの読み出しで必要な命令又はデータがキャッシュメ
モリ300に無かった場合に、そのブロックをキャッシ
ュメモリ300に転送するか否かを指定するようになっ
ている。コピーバック選択108は、データの書き込み
の際に、コピーバック方式とストアスルー方式のどちら
を選択するかを指定するようになっている。フェッチオ
ンライト選択110はデータの書き込みで必要なデータ
がキャッシュメモリ300に無かった場合に、フェッチ
オンライト方式とライトアラウンド方式のどちらを選択
するかを指定するようになっている。
【0031】上記構成における方法レジスタ100は、
命令処理ユニット502から書き込み要求824を受け
たときに、レジスタ112に書き込みデータ822を書
き込むようになっている。そしてレジスタ112に書き
込まれたデータは、制御用バス808を介してメモリ制
御ユニット400に転送される。この場合、この実施例
では、方法レジスタ100に格納できるキャッシュメモ
リ制御情報は一通りしかないため、制御用バス804を
介して受け取ったアドレスの値によらず、同一のキャッ
シュメモリ制御情報が制御用バス808に出力されるこ
とになる。
【0032】図3はキャッシュメモリ300の第1実施
例を示す図である。図3において、キャッシュメモリ3
00は、情報の転送単位を示すブロックサイズに応じた
複数のメモリ領域として、相異なるブロックサイズに対
応する3つのメモリ311〜313を備えているととも
に、各メモリにブロクサイズに応じて指定のデータを格
納するための書き込み制御手段として制御回路302が
設けられている。さらにメモリ312、313から指定
のデータを選択するための選択回路304、306が設
けられている。
【0033】メモリ311〜313はそれぞれ複数のブ
ロックの情報を格納するための領域を有し、各ブロック
はタグ領域321〜323およびデータ領域331、3
41〜342、351〜354から構成されている。タ
グ領域には、そのブロックに対応するアドレスの上位ビ
ットが格納され、データ領域には、そのブロックに対応
する命令又はデータが格納される。そして、メモリ31
1〜313は、制御用バス810を介して受け取ったア
ドレス834の下位ビット846〜848に従って各メ
モリに含まれる複数のブロックの内から一つのブロック
を選択し、そのブロックのタグ情報861〜863およ
び命令またはデータ866〜868をデータバス814
に出力する。このとき、メモリ312は、各ブロックに
2個の命令またはデータを含むため、選択回路304に
よってアドレス834に対応する命令またはデータを選
択して出力することになる。同様に、メモリ313は各
ブロックに4個の命令又はデータを含むため、選択回路
306によってアドレス834に対応する命令又はデー
タを選択して出力するようになっている。そして、メモ
リ311〜313が出力したタグ情報861〜863の
値が、アドレス834の上位ビットと一致した場合に
は、要求された命令又はデータが対応するメモリ311
〜313に存在することを示し、一致しないときには存
在しないことを示す。なおこの判定は後述するように、
メモリ制御ユニット400によって行われる。
【0034】一方制御回路302は、書き込み要求83
2を取り込み、メモリ311〜313に対する書き込み
制御信号841〜843を出力する。そして書き込み制
御信号841〜843を取り込んだときには、メモリ3
11〜313は、タグ情報851〜853及び命令又は
データ856〜858をデータバス812から取り込
み、アドレス834の下位ビット846〜848で指定
されたブロックに格納することになる。
【0035】図4はメモリ制御ユニット400のブロッ
ク図である。図4において、メモリ制御ユニット400
は転送制御回路402、プリフェッチ制御回路404、
選択回路406、アドレス変換回路408、キャッシュ
メモリインターフェース410、ヒット判定回路41
2、データバッファ414、主記憶インターフェース4
16を備えて構成されている。選択回路406は、命令
処理ユニット502から出力されたアドレス874とプ
リフェッチ制御回路404から出力されたアドレス87
8の内いづれか一方のアドレスを選択するようになって
いる。そして命令処理ユニット502の要求に従って命
令又はデータを転送するときには、アドレス874を選
択する。一方、命令処理ユニット502が将来必要とす
る命令又はデータを予測して予め転送しておくプリフェ
ッチ処理を行うときには、アドレス878を選択する。
選択回路406によって選択されたアドレスはアドレス
880としてアドレス変換回路408に転送される。こ
のアドレス変換回路408はアドレス880に対してア
ドレス変換を行って、変換後のアドレス886を出力す
るようになっている。このときのアドレス880は、命
令処理ユニット502が命令又はデータをアクセスする
ときに用いるアドレスであり、通常(論理アドレス)と
よばれる。一方、アドレス変換後のアドレス886は、
主記憶608にアクセスするときに用いるアドレスであ
り、通常(物理アドレス)とよばれる。
【0036】アドレス変換回路408から出力されたア
ドレス886はキャッシュメモリインターフェース41
0と主記憶インターフェース416へ転送される。キャ
ッシュメモリインターフェース410には転送制御回路
402からの制御情報882が入力されている。この転
送制御回路402は、命令処理ユニット502からの要
求872を受け取ると、キャッシュメモリインターフェ
ース410又は主記憶インターフェース416を制御し
て必要な命令又はデータの転送を行うようになってい
る。またヒット判定回路412は、データバス814を
介してキャッシュメモリ300から受け取ったタグ情報
861〜863とアドレスの上位ビットとを比較し、必
要な命令又はデータがキャッシュメモリ300に存在す
るか否かを判定するようになっている。プリフェッチ制
御回路404は、命令処理ユニット502からアドレス
874を受け取り、将来必要となる命令又はデータのア
ドレスを予測するようになっている。そしてその結果、
主記憶608からキャッシュメモリ300へ命令又はデ
ータを転送する必要があると判断したときには、転送制
御回路402へ転送要求876を出力し、それと同時に
転送すべき命令又はデータのアドレス878を出力する
ようになっている。なお、データバッファ414は、命
令又はデータを転送するときに、転送中の命令又はデー
タを一時的に格納するレジスタとして構成されている。
【0037】ここで、プリフェッチ制御回路404にお
いて、将来必要となる命令又はデータのアドレスを予測
する方法としては、多くの方法が考えられる。例えば一
つの方法は、命令処理ユニット502から要求のあった
命令又はデータの次のブロックがキャッシュメモリ30
0に存在するか否かを調べ、もしないときにはそのブロ
ックを予めキャッシュメモリ300に転送するという方
法である。この場合、通常、アクセスのあった命令又は
データの次のアドレスに対しては、近い将来アクセスす
る確率が高いため、このような簡単な方法でもある程度
の効果を期待することができる。しかし、この方法で
は、命令処理ユニット502からの要求のすべてに対し
て、次のブロックがキャッシュメモリ300にあるか否
かを調べる必要があり、キャッシュメモリ300に対す
るアクセスが必要以上に増える可能性がある。そこで、
このような問題点を解決する方法として、命令処理ユニ
ット502からの要求の内必要な命令又はデータがキャ
ッシュメモリになかった場合に限って次のブロックがキ
ャッシュメモリ300にあるか否かを調べるという方法
を用いることもできる。この場合、キャッシュメモリ3
00にない命令又はデータの次のブロックはキャッシュ
メモリ300にない確率が高いため、この方法を用いれ
ば効率よくプリフェッチを行うことができる。
【0038】しかし、上記二つの方法では、配列データ
などで一定間隔をおいて分布しているデータにアクセス
するような場合には必ずしも有効ではない。このような
場合でも有効にプリフェッチを行う方法として、複数の
アクセスの間のアドレスの差を記憶しておき、これに基
づいて次にアクセスするアドレスを予測する方法を用い
ることができる。この方法を用いれば、複雑な予測回路
が必要となるが、より精度の高い予測を行うことが可能
となる。
【0039】次に、メモリ制御ユニット400が命令処
理ユニット502から命令又はデータの読み出し要求を
受け取ったときの動作を図5に従って説明する。
【0040】まず、メモリ制御ユニット400が命令又
はデータの読み出し要求を受け取ると、必要な命令又は
データがキャッシュメモリ300にあるか否かのヒット
判定が行われる(ステップ702)。ヒット判定によっ
て、必要な命令又はデータがキャッシュメモリ300に
存在すると判定した場合には、データバス814を介し
て、タグ情報がアドレスの上位ビットと一致したメモリ
から出力された命令又はデータを受け取り、このデータ
を命令処理ユニット502に転送する(ステップ70
6)。これがキャッシュ読み出しである。
【0041】一方、ステップ702でヒット判定を行っ
た結果、必要な命令又はデータがキャッシュメモリ30
0にないと判定した場合には、方法レジスタ100から
受け取ったキャッシュメモリ制御情報の中のキャッシン
グ選択(C/N)106の値を調べる。そしてキャッシ
ング選択106の値が1であったときには、主記憶60
8からブロックサイズ(BKS)102で指定された命
令又はデータを読み出し、このデータを、メモリ311
〜313の内ブロックサイズ102で指定された値に対
応するメモリに書き込む。このとき同時に、命令処理ユ
ニット502の要求したアドレスに対する命令又はデー
タを、命令処理ユニット502に転送する(ステップ7
08)。これがブロック転送である。
【0042】ここで、ブロック転送708を行う際に、
主記憶608から読み出す命令又はデータのサイズが大
きい場合には注意が必要である。例えば、読みだすサイ
ズがメモリ313の1ブロックの大きさであった場合に
は、その命令又はデータはメモリ311の4ブロックに
相当するが、ヒット判定はその内の1ブロックのみしか
行っていない。従って、主記憶608からメモリ313
に命令又はデータを転送すると、メモリ311とメモリ
313に同一アドレスの命令又はデータが含まれる可能
性がある。ここでコピーバック方式を採用していたとす
ると、コピーバック方式では、主記憶608に格納され
ている値は最新の値でない可能性があるため、メモリ3
13に転送した値も最新の値ではない場合がある。そこ
でキャッシュメモリ300との間でデータの転送を行う
場合には、このようなことを考慮に入れ、複数のメモリ
に同一アドレスのデータが含まれている場合には、ブロ
ックサイズの小さいメモリとの間でデータを転送する必
要がある。
【0043】一方、命令の転送を行う場合には、複数の
メモリに同一アドレスの命令が含まれている場合でも、
両者に格納されている値は同一であるため、どちらのメ
モリから命令を読み出してもよい。また、複数のメモリ
に同一アドレスの命令又はデータが含まれないようにす
る方法もある。この方法では、主記憶608からメモリ
312又は313に命令又はデータを転送するときに、
同一アドレスの命令又はデータがブロックサイズのより
小さいメモリにないかどうかを調べる必要がある。該当
する命令又はデータがあったときには、ブロックサイズ
の小さい方のメモリの命令又はデータを無効とし、無効
にされたデータのなかに主記憶608に書き込まれてい
ないデータがあった場合には、そのデータをブロックサ
イズの大きい方のメモリに転送する。このような処理を
することによって、2つのメモリに同一アドレスの命令
又はデータが含まれないようにすることができる。
【0044】ステップ704でキャッシング選択106
の値が0であると判定されたときには、命令処理ユニッ
ト502の要求したアドレスに対応する命令又はデータ
のみを主記憶608から読み出し、これを命令処理ユニ
ット502に転送する(ステップ710)。これがワー
ド転送である。
【0045】ステップ706のキャッシュ読み出しとス
テップ708のブロック転送が終了すると、プリフェッ
チ数(NPF)104を調べる処理が行われる(ステッ
プ712)。このときプリフェッチ数104が0より大
きい場合には、プリフェッチ制御回路404においてプ
リフェッチの処理を開始する(ステップ714)。これ
がプリフェッチ起動である。プリフェッチのときに転送
する命令又はデータの量は、ブロックサイズ102とプ
リフェッチ数104に基づいて決定される。そしてプリ
フェッチ制御回路404がプリフェッチの処理を開始す
ると、転送制御回路402は命令処理ユニット502か
ら次の要求を受け付け可能となるため、プリフェッチ制
御回路404の処理と命令処理ユニット502の処理を
並列に行うことができる。
【0046】次に、メモリ制御ユニット400が命令処
理ユニット502からデータの書き込み要求を受け取っ
た時の動作を図6に従って説明する。
【0047】まず、メモリ制御ユニット400がデータ
の書き込み要求を受け取ると、読み出しのときと同様
に、ヒット判定処理を実行する(スッテプ702)。こ
のヒット判定を行った結果、書き込みを行うべきアドレ
スのデータがキャッシュメモリ300にあると判定した
場合には、タグ情報がアドレスの上位ビットと一致した
メモリへデータを書き込む(ステップ726)。これが
キャッシュ書き込みである。
【0048】一方、ステップ702でヒット判定を行っ
た結果、書き込みを行うべきアドレスのデータがキャッ
シュメモリ300にないと判定した場合には、方法レジ
スタ100から受け取ったキャッシュメモリ制御情報の
なかのフェッチオンライト選択(F/W)110の値を
調べる。フェッチオンライト選択110の値が1であっ
た場合には、主記憶608からブロックサイズ(BK
S)102で指定されたブロックサイズのデータを読み
出し、命令処理ユニット502の要求したアドレスのデ
ータをデータバス806から受け取ったデータと入れ替
える。この後メモリ311〜313のうちブロックサイ
ズ102で指定された値に対応するメモリに指定のデー
タを書き込む(スッテプ728)。これがブロック転送
である。
【0049】フェッチオンライト選択110の値が0で
あった場合には、命令処理ユニット502の要求したデ
ータを主記憶608に直接書き込み、処理を終了する
(ステップ736)。これが主記憶書き込みである。
【0050】キャッシュ書き込み又はブロック転送の処
理が終了すると、プリフェッチ数(NPF)104を調
べ(ステップ712)、必要ならばプリフェッチ起動
(ステップ714)を行う。そしてプリフェッチ起動が
終了すると、コピーバック選択(C/S)108の値を
調べる。そしてコピーバック選択108の値が1のとき
にはそのまま処理を終了し、0のときには主記憶書き込
みを行った後このルーチンでの処理を終了する。
【0051】上記構成による情報処理装置において、ア
プリケーションプログラムを効率よく実行するために
は、そのプログラムに最適なキャッシュメモリ制御情報
を方法レジスタ100に書き込む必要がある。この場
合、一般に、最適なキャッシュメモリ制御情報として
は、アプリケーションプログラムのアクセスの傾向とハ
ードウエアの各種パラメータの両方に依存するところか
ら、これらを考慮して最適なキャッシュメモリ制御情報
を方法レジスタ100に書き込む必要がある。
【0052】例えば、分岐命令の多いプログラムや離散
的な変数をランダムにアクセスするプログラムを実行す
る場合には、ブロックサイズ102およびプリフェッチ
数104を小さくした方がよい。逆に、分岐命令の少な
いプログラムや配列を連続的にアクセスするようなプロ
グラムを実行する場合には、ブロックサイズ102およ
びプリフェッチ数104を大きくした方がよい。
【0053】また、キャッシュメモリの容量が小さい場
合や、主記憶608からキャッシュメモリ300へ命令
又はデータを転送するために必要な時間が短い場合に
は、ブロックサイズ102及びプリフェッチ数104を
小さくした方がよい。逆に、キャッシュメモリ300の
容量が大きい場合や、主記憶608からキャッシュメモ
リ300へ命令又はデータを転送するために必要な時間
が長い場合には、ブロッックサイズ102及びプリフェ
ッチ数104を大きくした方がよい。このため、アプリ
ケーションプログラムを開始する際に、これらの緒条件
を考慮に入れて最適なキャッシュメモリ制御情報を決定
し、この決定に従った情報を方法レジスタ100に書き
込むことにより、効率よくアプリケーションプログラム
を実行することができる。
【0054】また、時分割で複数のアプリケーションプ
ログラムを並行して処理する場合には、あるプログラム
の処理を中断して別のプログラムの処理を再開するとき
には、方法レジスタ100に、再開する方のプログラム
に最適なキャッシュメモリ制御情報を書き込むことによ
り、どのプログラムを実行しているときにも最適な制御
を行うことが可能となる。
【0055】次に、本発明の他の実施例について説明す
る。
【0056】図7は方法レジスタ100の第2実施例を
示す図である。図7において、方法レジスタ100は、
複数のキャッシュメモリ制御情報を格納するレジスタ1
31〜13nを備えて構成されている。そして各レジス
タに指定の制御情報を格納するために制御回路112が
設けられており、各レジスタから指定の制御情報を選択
するためにデコーダ124、選択回路126が設けられ
ている。即ち、制御回路112は、命令処理ユニット5
02からの書き込み要求902を受け取り、指定のレジ
スタへ書き込み制御信号906を出力するようになって
いる。そして書き込み制御信号906によって書き込み
を指定されたレジスタに書き込みデータ904が記憶さ
れる。
【0057】一方、デコーダ124は、制御用バス80
4を介して、命令処理ユニット502から受け取ったア
ドレスのうち予め定められたビットを用いて選択信号9
08を生成する。選択回路126は、デコーダ124か
らの選択信号908に従ってレジスタ131〜13nに
格納されたキャッシュメモリ制御情報の中から1つの制
御情報を選択し、この情報を制御用バス808に出力す
る。
【0058】図8は、図7の方法レジスタ100を用い
たときのアドレスとキャッシュメモリ制御情報の対応及
び方法レジスタ100の使用方法を説明するための図で
ある。
【0059】図8において、キャッシュメモリ制御情報
を方法レジスタ100に記憶するに際しては、アドレス
32ビットを上位から9ビット、3ビット、20ビット
の3つの部分に分ける。そしてこのアドレスのうちAの
部分の3ビットを用いてデコーダ124が選択信号90
8を生成する。この場合、全アドレス空間は、8Mバイ
トの大きさの512個の空間に分けられ、各空間はAの
値が0、1、2〜3、4〜7に対応する4つの領域に分
割される。各領域の大きさは、1Mバイト、2Mバイ
ト、及び4Mバイトである。各空間及び各領域の大きさ
及び配置は、デコーダ124の構成によって決定される
ようになっている。そして、方法レジスタ100は、4
つの領域それぞれに対して別々のキャッシュメモリ制御
情報を指定するために、4つのレジスタを備えている。
【0060】次に、図7に示す方法レジスタ100を有
する情報処理装置によってアプリケーションプログラム
を実行する方法について説明する。
【0061】まず、方法レジスタ100にキャッシュメ
モリ制御方法を書き込むタイミングは2通りの方法が考
えられる。1つは、図2の方法レジスタ100を用いた
場合と同様に、各アプリケーションプログラムの実行を
開始又は再開するときに、そのプログラムに最適なキャ
ッシュメモリ制御情報を書き込む方法である。この場合
には、アプリケーションプログラムの命令及びデータを
複数の部分に分け、各部分を図8における別々の領域に
割り当てることにより、それぞれに対して別々のキャッ
シュメモリ制御情報を指定することができる。
【0062】即ち、通常、同一なアプリケーションプロ
グラムに含まれる命令又はデータであっても、アドレス
によってアクセスの傾向が異なる。従って、異なった性
質の命令又はデータを別々の領域に割り当て、それぞれ
に対応した最適なキャシュメモリ制御情報を指定するこ
とにより、プログラム全体で同一のキャッシュメモリ制
御情報を指定する場合に比べ、より効率良く制御を行う
ことができる。
【0063】2つ目の方法は、複数のアプリケーション
プログラムで同一のキャッシュメモリ制御情報を用いる
方法である。この方法においては、予め、将来実行する
可能性のあるアプリケーションプログラムを想定し、そ
れらのプログラムに最適であると思われる複数のキャッ
シュメモリ制御情報をハードウエアの各種パラメータを
考慮した上で決定し、これを方法レジスタ100に書き
込んでおく。この場合、方法レジスタ100に設定する
値の例を次の表1に示す。
【0064】
【表1】
【0065】表1の例では、領域1と2はブロックサイ
ズ(BKS)が小さいため、連続するアドレスへのアク
セスが少ない命令又はデータを割り当てると、不必要な
命令又はデータの転送が減り、性能が向上する。更に、
領域2はキャッシング選択(C/N)、及びフェッチオ
ンライト選択(F/W)が0であるため、アクセス頻度
の低い命令又はデータを割り当てると、その命令又はデ
ータにアクセスしたときに、アクセス頻度の高い命令又
はデータをキャッシュメモリから追い出すことがなくな
り、性能が向上する。更に、領域3及び4は、ブロック
サイズ(BSK)やプリフェッチ数(NPF)が大きい
ため、連続するアドレスへのアクセスが多い命令又はデ
ータを割り当てると、将来必要となる命令又はデータを
予めキャッシュメモリに転送しておくことが可能とな
り、性能が向上する。
【0066】また、データベースのように、一定の大き
さの単位データが多数連続する場合には、ブロックサイ
ズの値が単位データの大きさに等しい領域に割り当てる
と良い場合もある。また、一般的に、大きな配列データ
は連続するアドレスへのアクセスが多く、小さな配列デ
ータ及び配列以外のデータは連続するアドレスへのアク
セスが少ない傾向があるため、サイズの大きい領域に大
きいブロックサイズを設定したほうが有利である。
【0067】又、表1の値は、比較的キャッシュメモリ
300の容量が小さい情報処理装置のための設定値であ
り、ブロックサイズが小さい値に設定されている。も
し、キャシュメモリの容量が大きい情報処理装置で値を
設定するのであれば、ブロックサイズをより大きくした
ほうが性能が向上する。
【0068】一方、各アプリケーションプログラムを開
始するときには、そのプログラムの命令又はデータの各
部分に対して、最適なキャッシュメモリ制御情報を求
め、それに最も近い制御情報が書き込まれている領域に
その命令又はデータを割り当てる。このときの、命令又
はデータの具体的な割り当て例を図8に示す。
【0069】図8において、プログラム1では、分岐命
令の頻度が高い命令(命令1)を領域1に、分岐命令の
頻度が中程度の命令(命令2)を領域3に割り当ててい
る。又使用頻度の低いデータ(データ1)を領域2に、
連続するアドレスへのアクセスの可能性が高い配列デー
タ(データ2)を領域4に割り当てている。
【0070】一方プログラム2では、アドレスによらず
分岐命令の頻度が高いため、命令全てを領域1に割り当
てている。又サイズの小さい配列データ(データ1)を
領域3に、サイズが大きく連続するアドレスへのアクセ
スが多いデータ(データ2)を領域4に割り当ててい
る。このように、アプリケーショプログラムによって、
命令及びデータの割当て方を変えることにより、性質の
異なる複数のアプリケーションプログラムを実行する場
合でも、方法レジスタ100の設定値を変えずに最適な
制御を行うことが可能である。従って、このような方法
を用いれば、例えば、プロプラム1の実行を中断し、プ
ログラム2の実行を再開するような場合に、方法レジス
タ100の値を書き替える必要がないため、複数のプロ
グラムを時分割で並行に処理する場合に、プログラムの
切り替えを高速に行うことができる。
【0071】図9は方法レジスタ100の第3実施例を
示す図である。本実施例における方法レジスタ100
は、相異なるキャッシュメモリ制御情報をそれぞれ格納
するために複数の記憶領域を有し、各記憶領域に格納さ
れたキャッシュメモリ制御情報を選択するために、アド
レスが各記憶領域に対応して設定されたアドレスの範囲
内にあるか否かを判定し、この判定結果に従って指定の
キャッシュメモリ制御情報を指定の記憶領域から選択
し、選択したキャッシュメモリ制御情報を出力するよう
になっている。即ち、方法レジスタ100は制御回路2
02を備えていると共に複数の記憶回路(例えばレジス
タなど)211〜21nを備えて構成されている。そし
て各記憶回路211〜21nにはキャッシュメモリ制御
情報を格納するレジスタ241〜24nが設けられてい
ると共に下限アドレスを格納するレジスタ221〜22
mと上限アドレスを格納するレジスタ231〜23mが
設けられている。そして、制御回路202は、制御用バ
ス802を介して書き込み要求912を受け取ったとき
に、指定の記憶回路にデータを書き込むために、書き込
み制御信号916を出力する。そして、レジスタ221
〜22m、レジスタ231〜23m、レジスタ241〜
24nは書き込み制御信号916によって書き込みを指
示されると、書き込みデータ914を取り込みこれを記
憶する。
【0072】一方、記憶回路211〜21mは、それぞ
れ指定のアドレスの範囲に対応したキャッシュメモリ制
御情報を格納する。また、記憶回路21nはアドレスが
記憶回路211〜21mによって指定された範囲になか
った場合のキャッシュメモリ制御情報を格納する。即
ち、記憶回路21nのレジスタ24nには他の記憶回路
のアドレスでは指定されなかった範囲のアドレスに対応
したキャッシュメモリ制御情報が格納される。
【0073】次に、この方法レジスタの動作として、ま
ず最初に記憶回路211の動作を説明する。記憶回路2
11の比較器251は、制御用バス804を介して受け
取ったアドレスの予め定められたビットとレジスタ22
1に格納された下限アドレスとを比較し、下限アドレス
以上だったときには、比較結果921を1にし、そうで
ない場合には0にする。一方、比較器261は、アドレ
スの予め定められたビットとレジスタ231に格納され
た上限アドレスとを比較し、上限アドレスより小さい場
合は比較結果931を1にし、そうでない場合には0に
する。各比較器251、261の比較結果は論理積回路
271に入力される。そして、論理積回路271は、比
較結果921と比較結果931が共に1であった場合
に、アドレス一致信号941を1にし、そうでない場合
には0する。即ち、アドレスが指定の範囲内に入ってい
たときにはアドレス一致信号941を出力する。そし
て、この信号が出力バッファ281に入力される。出力
バッファ281は、アドレス一致信号941が1のとき
にレジスタ241に格納されているキャッシュメモリ制
御情報を制御用バス808に出力し、0の場合には何も
出力しない。
【0074】次に、記憶回路212〜21mの動作を説
明する。記憶回路211と記憶回路212〜21mとの
違いは、優先判定用の論理積回路292〜29mを有す
ることである。論理積回路292はアドレス一致信号9
41が0で且つアドレス一致信号942が1のときには
出力許可信号952を1にし、そうでないときには0に
する。これによって、アドレス一致信号941とアドレ
ス一致信号942が共に1であった場合に出力バッファ
281と出力バッファ282の両方が同時に制御用バス
808にキャッシュメモリ制御情報を出力するのを防止
することができる。同様に、論理積回路29mは、アド
レス一致信号941〜94mのうち94mのみが1で残
りが全て0のときに出力許可信号95mを1にし、そう
でないときには0にする。これによって、二つの出力バ
ッファが同時に制御用バス808にキャッシュメモリ制
御情報を出力するの防止することができる。
【0075】記憶回路21nは、アドレスが記憶回路2
11〜21mに指定された値の範囲になかった場合に、
キャッシュメモリ制御情報を出力するための回路であ
る。即ち、優先判定用の論理積回路29nは、アドレス
一致信号941〜94mが全て0であったときには出力
許可信号95nを1とし、そうでないときには0とす
る。この場合、優先判定用の論理積回路292〜29n
を設けたことにより、下限アドレス用レジスタ221〜
22m及び上限アドレス用レジスタ231〜23mにど
のような値が設定されていても、制御用バス808上で
2つ以上の出力バッファの出力が衝突することはなく、
常に、1つのキャッシュメモリ制御情報が制御用バス8
08上に出力される。従って、上限アドレス及び下限ア
ドレスを設定する際の自由度が増すことになる。
【0076】また、別の例として、図9から優先判定用
の論理積回路292〜29m及び記憶回路21nを取り
除いたものを構成することもできる。この場合には、常
に、出力バッファ281〜28mのいずれか1つのみが
制御情報を出力するように、上限アドレス及び下限アド
レスを設定する必要があり、設定の自由度は減るが、ハ
ードウエアの物理量が減り、且つ記憶回路211〜21
mの処理が高速化されるという利点がある。
【0077】また、図9の方法レジスタ100を用いた
場合にも、図7の方法レジスタ100を用いた場合と同
様に、全アドレスを複数の空間に分割し、更に、各空間
を複数の領域に分割し、各領域毎にキャッシュメモリ制
御情報を指定することもできる。更に、これに加えて、
各領域の大きさ及び配置が上限アドレス及び下限アドレ
スを書き替えることにより変更できるため、図7の方法
レジスタ100を用いた場合に比べて、キャッシュメモ
リ制御情報を設定する際の自由度が向上する。
【0078】図10は方法レジスタ100の第4実施例
を示す図である。本実施例における方法レジスタ100
は、論理アドレスから物理アドレスへの変換を行うため
の回路の一部を含んでいることを特徴としており、制御
回路142、記憶回路144、比較器146を備えて構
成されている。
【0079】記憶回路144はn個のエントリ151〜
15nを備えており、各エントリはタグ、物理アドレス
及びキャッシュメモリ制御情報を格納するようになって
いる。論理アドレスから物理アドレスへの変換は、ペー
ジと呼ばれる一定の大きさの領域を単位として行われ、
各エントリは1つのページに対応して設定されている。
記憶回路144は、制御用バス804を介して受け取っ
たアドレスのうち予め定められたビットを用いて、エン
トリ151〜15nの中の1つを選択し、選択したエン
トリに格納されているタグ、物理アドレス、及びキャッ
シュメモリ制御情報を出力するようになっている。この
場合、エントリの選択に用いるアドレスのビット数をp
とすると、2のp乗とエントリの数nが等しいという関
係がある。又比較器146は、アドレスの上位ビットと
記憶回路144の出力したタグとを比較し、両者が一致
した時にはアドレス一致信号968を1とし、それ以外
の時には0とする。制御回路142は、制御用バス80
2を介して書き込み要求962を受け取り、この要求に
従った書き込み制御信号966を出力する。記憶回路1
44は書き込み制御信号966を受け取ると、指定され
たエントリに書き込みデータ964を記憶する。
【0080】つぎに、図10の方法レジスタ100を有
する情報処理装置でアプリケーションプログラムを実行
する方法を説明する。
【0081】まず、アプリケーションプログラムの実行
を開始する前に、つぎのような処理を行う。
【0082】(1)そのプログラムの命令及びデータの
全てに論理アドレスを割り当てる。 (2)論理アドレスの各ページ毎に最適なキャッシュメ
モリ制御情報を求め、論理アドレスと物理アドレス及び
キャッシュメモリ制御情報を対応づけたアドレス対応表
を作成する。 (3)近い将来使用されると予想されるページを選び、
それらのページを方法レジスタ100に書き込む。 以上の処理が終了した後アプリケーションプログラムの
実行を開始する。この場合、必要な命令又はデータが方
法レジスタ100に登録されている場合には、アドレス
一致信号968は1となり、登録されていない場合には
0になる。そしてアドレス一致信号968が1の時に
は、方法レジスタ100から読み出した物理アドレス及
びキャッシュメモリ制御情報が有効であるため、そのま
ま処理を続行する。
【0083】一方、アドレス一致信号968が0の時に
は、上述したアドレス対応表から物理アドレスとキャッ
シュメモリ制御情報を読み出し、これを方法レジスタ1
00に書き込んだあと処理を続行する。このとき、図1
0に示す方法レジスタ100を用いると、ページという
比較的小さい領域を単位としてキャッシュメモリ制御情
報を指定できるため、図7又は図9の方法レジスタ10
0のように、比較的大きい領域を単位として指定する場
合に比べ、キャッシュメモリの使用効率が向上する。ま
た、アドレス変換用の記憶回路にキャッシュメモリ制御
情報を記憶する領域を付加するだけでよいため、ハード
ウエアの物量の増加を少なくすることができる。さら
に、キャッシュメモリ制御情報を書き替える処理を行う
ときでも、アドレス変換のための処理と一緒に行うこと
ができるため、処理時間の増加を抑制することができ
る。
【0084】図11は、キャッシュメモリ300の第2
実施例を示す図である。本実施例におけるキャッシュメ
モリ300は、相異なるブロックサイズを記憶するため
の複数の記憶領域を設けたことを特徴とする。即ち、メ
モリ364にはn個の基本ブロック371〜37nが設
けられており、各基本ブロックにはタグ、データ及びサ
イズを記憶する領域が設けられている。そして、サイズ
領域に設定されている値がデータ領域の容量と同じある
場合は、1つの基本ブロックが1つのブロックを構成す
ることを示し、データ領域の容量より大きいときは隣接
する複数の基本ブロックが1つのブロックを構成するこ
とを示している。そして、メモリ364は、アドレス9
74の予め定められたビットを用いて基本ブロック37
1〜37nの中から1つのブロックを選択し、選択した
基本ブロックに格納されているタグ、データ及びサイズ
を出力するようになっている。この場合、基本ブロック
の選択に用いるアドレスのビット数をpとすると、2の
p乗が基本ブロックの個数nに等しいという関係があ
る。また、制御回路362は、制御用バス810から書
き込み要求972を受け取り、この要求に従って書き込
み制御信号976をメモリ364ヘ出力する。メモリ3
64が書き込み制御信号976を受け取ると、メモリ3
64は、指定された基本ブロックに、データバス812
を介して入力された書き込みデータを書き込む。
【0085】次に、図11の方法レジスタ100を有す
る情報処理装置において、主記憶608からキャッシュ
メモリ300に命令またはデータを転送する方法につい
て説明する。この場合、基本ブロックのデータ領域の容
量は、2の累乗(1バイト、2バイト、4バイト、8バ
イト、……)ならなんでもよいが、ここでは、4バイト
とする。また、ブロックサイズは、基本ブロックの大き
さの2の累乗倍(1倍、2倍、4倍、8倍、……)であ
る。
【0086】ブロックサイズが4バイトのときには、1
つの基本ブロックが1つのブロックとなる。ブロックサ
イズが8バイトのときには、隣接する2つの基本ブロッ
クが1つのブロックであり、先頭の基本ブロックのアド
レスが8バイト境界になるように、2つの基本ブロック
を選択する。ブロックサイズが16バイト以上のときも
同様であり、ブロックの先頭アドレスがブロックサイズ
境界となるように隣接する基本ブロックを選択する。同
じブロックに属する基本ブロックにはタグ領域及びサイ
ズ領域に同じ値が格納されている。
【0087】一方、キャッシュメモリに命令またはデー
タを転送するときには、まず最初に方法レジスタ100
から読み出したブロックサイズ(BKS)の値を調べ、
ブロックサイズに対応した数の基本ブロックを選択す
る。このとき、選択した基本ブロックの中に、主記憶6
08に転送すべきデータがあった場合には必要なデータ
を転送する。その際、転送の必要のある基本ブロックの
サイズ領域の値を調べ、隣接する基本ブロックが同一ブ
ロックのデータを格納しているときにはまとめて主記憶
608に転送する。このような処理を行うと、各基本ブ
ロックを別々に転送する場合に比べて転送効率が向上す
る。
【0088】そして主記憶608へのデータ転送が終了
したときには、選択した基本ブロックに主記憶608か
ら必要な命令又はデータを転送する。その際、方法レジ
スタ100から読み出したブロックサイズの値を各基本
ブロックのサイズ領域に書き込む。
【0089】次に、本発明の第2実施例を図12に従っ
て説明する。
【0090】本実施例は、応答速度の相異なる2種類の
キャッシュメモリを設け、このメモリに対応して2個の
方法レジスタを設けたことを特徴としている。
【0091】即ち、キャッシュメモリとして、一次キャ
ッシュメモリ520、二次キャッシュメモリ522が設
けられており、方法レジスタとして方法レジスタ51
4、516が設けられている。一次キャッシュメモリ5
20は、図1のキャッシュメモリ300に相当し、命令
処理ユニット512の要求に即座に応答できる高速なメ
モリではあるが、容量は小さい。一方、二次キャッシュ
メモリ522は、命令処理ユニット512の要求に即座
に対応することはできないが、主記憶608よりは高速
であり、容量は一次キャッシュメモリ520より大き
い。方法レジスタ514は、一次キャッシュメモリ52
0と二次キャッシュメモリ522との間で命令またはデ
ータを転送するときの制御情報を格納し、方法レジスタ
516は、二次キャッシュメモリ522と主記憶608
との間で命令またはデータを転送するときの制御情報を
格納するようになっている。
【0092】本実施例においては、容量の大きい二次キ
ャッシュメモリ522を付加したことにより、一次キャ
ッシュメモリ520に必要な命令またはデータがなかっ
た場合でも、二次キャッシュメモリ522にデータがあ
るときには、そこからデータを転送できるため、主記憶
608から転送する場合よりも高速にデータ転送を行う
ことが可能となり、性能の向上を図る事ができる。
【0093】図13は、本発明の第3実施例を示す構成
図である。本実施例は、キャッシュメモリとして命令用
とデータ用の2つのキャッシュメモリを設けると共に、
各キャッシュメモリに対応して2つの方法レジスタを設
けたことを特徴としている。即ちキャッシュメモリとし
て、命令用キャッシュメモリ540、データ用キャッシ
ュメモリ542を設けると共に、方法レジスタ534、
536を設けている。
【0094】命令用キャッシュメモリ540は命令のみ
を格納し、データ用キャッシュメモリ542はデータの
みを格納するようになっている。この場合、命令は読み
出ししかないため、命令用キャッシュメモリ540から
主記憶608へは命令を転送する必要はないこととな
る。そして、制御用バス982とデータバス984は命
令を転送するときに使用し、制御用バス986とデータ
バス988はデータを転送するときに使用することにな
る。一方、方法レジスタ534は、主記憶608から命
令用キャッシュメモリ540へ命令を転送するときの制
御情報を格納し、方法レジスタ536はデータ用キャッ
シュメモリ542と主記憶608との間でデータを転送
するときの制御情報を格納するようになっている。
【0095】本実施例においては、命令用キャッシュメ
モリ540とデータ用キャッシュメモリ542は同時に
アクセスすることが可能であるため、命令処理ユニット
532からの命令の読み出し要求とデータの読み出し又
は書き込み要求を並列に処理することが可能となり、命
令とデータで同一のキャッシュメモリを使用する場合に
比べて性能が向上する。
【0096】
【発明の効果】以上説明したように、本発明によれば、
アプリケーションプログラムの性質とハードウエアの各
種パラメータを考慮して求めた最適なキャッシュメモリ
制御情報に従ってキャッシュメモリと主記憶手段との間
の情報の転送を制御するようにしたため、キャッシュメ
モリの使用効率を向上させることができ、情報処理装置
の処理性能の向上に寄与することができる。
【図面の簡単な説明】
【図1】本発明の第1実施例を示すブロック構成図であ
る。
【図2】方法レジスタの第1実施例を示すブロック構成
図である。
【図3】キャッシュメモリの第1実施例を示すブロック
構成図である。
【図4】メモリ制御ユニットのブロック構成図である。
【図5】メモリ制御ユニットの命令またはデータの読み
出し時の処理を説明するためのフロチャートである。
【図6】メモリ制御ユニットのデータの書き込み時の処
理を説明するためのフロチャートである。
【図7】方法レジスタの第2実施例を示すブロック構成
図である。
【図8】図7の方法レジスタを使用したときのアドレス
とキャッシュメモリ制御情報の対応及びその使用方法を
説明するための図である。
【図9】方法レジスタの第3実施例を示すブロック構成
図である。
【図10】方法レジスタの第4実施例を示すブロック構
成図である。
【図11】キャッシュメモリの第2実施例を示すブロッ
ク構成図である。
【図12】本発明の第2実施例を示すブロック構成図で
ある。
【図13】本発明の第3実施例を示すブロック構成図で
ある。
【符号の説明】
100 方法レジスタ 102 ブロックサイズ(BKS) 104 プリフェッチ数(NPF) 106 キャッシング選択(C/N) 108 コピーバック選択(C/S) 110 フェッチオンライト選択(F/W) 112 レジスタ 300 キャッシュメモリ 400 メモリ制御ユニット 404 プリフェッチ制御回路 502 命令処理ユニット 608 主記憶

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 実行すべき命令及び処理すべきデータに
    関する情報を格納する主記憶手段と、前記主記憶手段に
    格納された命令に従って、前記主記憶手段に格納された
    データを処理する命令処理手段と、前記主記憶手段に格
    納された情報の一部を格納するキャッシュメモリと、ア
    プリケーションプログラムに応じたキャッシュメモリ制
    御情報を格納する制御情報記憶手段と、前記制御情報記
    憶手段に格納されたキャッシュメモリ制御情報に従って
    前記主記憶手段と前記キャッシュメモリ間における情報
    の転送を制御するメモリ制御手段とを備えている情報処
    理装置。
  2. 【請求項2】 実行すべき命令及び処理すべきデータに
    関する情報を格納する主記憶手段と、前記主記憶手段に
    格納された命令に従って、前記主記憶手段に格納された
    データを処理する命令処理手段と、前記主記憶手段に格
    納された情報の一部を格納するキャッシュメモリと、ア
    プリケーションプログラムに応じた複数のキャッシュメ
    モリ制御情報を格納する制御情報記憶手段と、前記制御
    情報記憶手段に格納されたキャッシュメモリ制御情報群
    のうち指定のキャッシュメモリ制御情報に従って前記主
    記憶手段と前記キャッシュメモリ間における情報の転送
    を制御するメモリ制御手段とを備えている情報処理装
    置。
  3. 【請求項3】 キャッシュメモリは、情報の転送単位を
    示すブロックサイズに応じた複数のメモリ領域と、情報
    をブロックサイズに応じて指定のメモリ領域に格納する
    書き込み制御手段とを有し、制御情報記憶手段に格納さ
    れたキャッシュメモリ制御情報は、情報の転送単位を示
    すブロックサイズとして転送に適するブロックサイズに
    関する情報を含む請求項1または2記載の情報処理装
    置。
  4. 【請求項4】 メモリ制御手段は、将来必要とする情報
    のアドレスを予測し、この予測結果に従って情報の転送
    を制御するプリフェッチ制御手段を有し、制御情報記憶
    手段に格納されたキャッシュメモリ制御情報は、前記プ
    リフェッチ制御手段が一度に転送すべき情報の転送量を
    指定する情報を含む請求項1または2記載の情報処理装
    置。
  5. 【請求項5】 キャッシュメモリは、情報の転送単位を
    示すブロックサイズに応じた複数のメモリ領域と、情報
    をブロックサイズに応じて指定のメモリ領域に格納する
    書き込み制御手段とを有し、制御情報記憶手段に格納さ
    れたキャッシュメモリ制御情報は情報の転送単位を示す
    ブロックサイズとして転送に適するブロックサイズに関
    する情報を含み、メモリ制御手段は、将来必要とする情
    報のアドレスを予測し、この予測結果に従って情報の転
    送を制御するプリフェッチ制御手段を有し、制御情報記
    憶手段に格納されたキャッシュメモリ制御情報は、前記
    プリフェッチ制御手段が一度に転送すべき情報の転送量
    を指定する情報を含む請求項1または2記載の情報処理
    装置。
  6. 【請求項6】 メモリ制御手段は、命令処理手段から情
    報の読み出し要求を受けたときに、キャッシュメモリと
    情報の授受を行ってキャッシュメモリに指定の情報が存
    在するか否かを判定する判定手段と、前記判定手段の判
    定結果と制御情報記憶手段に格納されたキャッシュメモ
    リ制御情報に従って情報の転送を制御する転送制御手段
    とを有し、制御情報記憶手段に格納されたキャッシュメ
    モリ制御情報は、キャッシュメモリに読み出し要求を受
    けた情報が存在しないときに、指定の情報を主記憶手段
    からキャッシュメモリに転送すべきか否かを示す情報を
    含む請求項1、2、3、4または5記載の情報処理装
    置。
  7. 【請求項7】 メモリ制御手段は、命令処理手段から情
    報の書き込み要求を受けたときに、キャッシュメモリと
    情報の授受を行ってキャッシュメモリに指定の情報が存
    在するか否かを判定する判定手段と、前記判定手段の判
    定結果と制御情報記憶手段に格納されたキャッシュメモ
    リ制御情報に従って情報の転送を制御する転送制御手段
    とを有し、制御情報記憶手段に格納されたキャッシュメ
    モリ制御情報は、キャッシュメモリに書き込み要求を受
    けた情報が存在しないときに、指定の情報を主記憶手段
    からキャッシュメモリに転送すべきか否かを示す情報を
    含む請求項1、2、3、4または5記載の情報処理装
    置。
  8. 【請求項8】 メモリ制御手段は、命令処理手段から情
    報の書き込み要求を受けたときに、キャッシュメモリに
    指定の情報を転送する情報転送手段と、制御情報記憶手
    段に格納されたキャッシュメモリ制御情報に従って情報
    の転送を制御する転送制御手段とを有し、制御情報記憶
    手段に格納されたキャッシュメモリ制御情報は、キャッ
    シュメモリに格納すべき指定の情報を主記憶手段にも書
    き込むべきかそれともキュッシュメモリに格納された指
    定の情報が有効である間は指定の情報を主記憶手段へ書
    き込むことを禁止するかを示す情報を含む請求項1、
    2、3、4または5記載の情報処理装置。
  9. 【請求項9】 制御情報記憶手段は、複数の部分に分割
    されたキャッシュメモリ制御情報をそれぞれ格納する記
    憶領域群を有し、分岐命令の頻度の高低に応じて分割さ
    れた命令が前記記憶領域群の中のいずれかの記憶領域に
    分散して格納され、使用頻度の高低に応じて分割された
    データが前記記憶領域群のうち命令とは異なる記憶領域
    に分散して格納されている請求項1または2記載の情報
    処理装置。
  10. 【請求項10】 制御情報記憶手段は、相異なるキャッ
    シュメモリ制御情報をそれぞれ格納する複数の記憶領域
    と、命令処理手段からアドレスを受けこのアドレスが各
    記憶領域に対応して設定されたアドレスの範囲内にある
    か否かを判定する複数のアドレス範囲判定手段と、指定
    のアドレス範囲判定手段から肯定の判定結果が得られ他
    のアドレス範囲判定手段からは否定の判定結果が得られ
    たことを条件に指定の記憶領域からキャッシュメモリ制
    御情報を選択して出力する複数の情報出力手段とを有す
    る請求項1または2記載の情報処理装置。
  11. 【請求項11】 キャッシュメモリは応答速度の相異な
    る複数のメモリで構成され、メモリ制御手段は、主記憶
    手段と一方のキャッシュメモリ間における情報の転送を
    制御すると共に各キャッシュメモリ間における情報の転
    送を制御してなる請求項1または2記載の情報処理装
    置。
  12. 【請求項12】 キャッシュメモリは命令用キャッシュ
    メモリとデータ用キャッシュメモリとから構成され、制
    御情報記憶手段はキャッシュメモリ制御情報のうち命令
    用制御情報を格納する命令用制御情報記憶手段とキャッ
    シュメモリ制御情報のうちデータ用制御情報を格納する
    データ用制御情報記憶手段とから構成され、メモリ制御
    手段は、命令用キャッシュメモリと主記憶手段間におけ
    る情報の転送を制御すると共にデータ用キャッシュメモ
    リと主記憶手段間における情報の転送を制御してなる請
    求項1または2記載の情報処理装置。
JP5276721A 1993-11-05 1993-11-05 情報処理装置 Pending JPH07129464A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5276721A JPH07129464A (ja) 1993-11-05 1993-11-05 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5276721A JPH07129464A (ja) 1993-11-05 1993-11-05 情報処理装置

Publications (1)

Publication Number Publication Date
JPH07129464A true JPH07129464A (ja) 1995-05-19

Family

ID=17573414

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5276721A Pending JPH07129464A (ja) 1993-11-05 1993-11-05 情報処理装置

Country Status (1)

Country Link
JP (1) JPH07129464A (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001290705A (ja) * 2000-04-07 2001-10-19 Nintendo Co Ltd オンチップキャッシュのソフトウェア管理方法および装置
JP2005149290A (ja) * 2003-11-18 2005-06-09 Seiko Epson Corp 情報処理装置およびキャッシュメモリ制御方法
JP2005524171A (ja) * 2002-05-01 2005-08-11 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ メモリ領域ベースのプリフェッチング
JP2007500402A (ja) * 2003-05-07 2007-01-11 フリースケール セミコンダクター インコーポレイテッド 周辺装置アクセス保護付きデータ処理システム
JPWO2007099598A1 (ja) * 2006-02-28 2009-07-16 富士通株式会社 プリフェッチ機能を有するプロセッサ
JP2010176692A (ja) * 2010-03-15 2010-08-12 Fujitsu Ltd 演算処理装置、情報処理装置及び制御方法
JP2011509475A (ja) * 2008-01-11 2011-03-24 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータを動作させる方法及びシステム
JP2012068740A (ja) * 2010-09-21 2012-04-05 Mitsubishi Electric Corp 情報処理システム
JP2014016812A (ja) * 2012-07-09 2014-01-30 Fujitsu Ltd メモリ装置、演算処理装置、及びキャッシュメモリの制御方法
US9280480B2 (en) 2008-01-11 2016-03-08 International Business Machines Corporation Extract target cache attribute facility and instruction therefor

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001290705A (ja) * 2000-04-07 2001-10-19 Nintendo Co Ltd オンチップキャッシュのソフトウェア管理方法および装置
JP2005524171A (ja) * 2002-05-01 2005-08-11 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ メモリ領域ベースのプリフェッチング
JP2007500402A (ja) * 2003-05-07 2007-01-11 フリースケール セミコンダクター インコーポレイテッド 周辺装置アクセス保護付きデータ処理システム
JP2005149290A (ja) * 2003-11-18 2005-06-09 Seiko Epson Corp 情報処理装置およびキャッシュメモリ制御方法
JP4574712B2 (ja) * 2006-02-28 2010-11-04 富士通株式会社 演算処理装置、情報処理装置及び制御方法
JPWO2007099598A1 (ja) * 2006-02-28 2009-07-16 富士通株式会社 プリフェッチ機能を有するプロセッサ
US8074029B2 (en) 2006-02-28 2011-12-06 Fujitsu Limited Processor equipped with a pre-fetch function and pre-fetch control method
JP2011509475A (ja) * 2008-01-11 2011-03-24 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータを動作させる方法及びシステム
US9280480B2 (en) 2008-01-11 2016-03-08 International Business Machines Corporation Extract target cache attribute facility and instruction therefor
US9996472B2 (en) 2008-01-11 2018-06-12 International Business Machines Corporation Extract target cache attribute facility and instruction therefor
US10387323B2 (en) 2008-01-11 2019-08-20 International Business Machines Corporation Extract target cache attribute facility and instruction therefor
US10963391B2 (en) 2008-01-11 2021-03-30 International Business Machines Corporation Extract target cache attribute facility and instruction therefor
JP2010176692A (ja) * 2010-03-15 2010-08-12 Fujitsu Ltd 演算処理装置、情報処理装置及び制御方法
JP2012068740A (ja) * 2010-09-21 2012-04-05 Mitsubishi Electric Corp 情報処理システム
JP2014016812A (ja) * 2012-07-09 2014-01-30 Fujitsu Ltd メモリ装置、演算処理装置、及びキャッシュメモリの制御方法

Similar Documents

Publication Publication Date Title
US5581736A (en) Method and system for dynamically sharing RAM between virtual memory and disk cache
KR100562906B1 (ko) 시리얼 플래시 메모리에서의 xip를 위한 우선순위기반의 플래시 메모리 제어 장치 및 이를 이용한 메모리관리 방법, 이에 따른 플래시 메모리 칩
US5689679A (en) Memory system and method for selective multi-level caching using a cache level code
US5829025A (en) Computer system and method of allocating cache memories in a multilevel cache hierarchy utilizing a locality hint within an instruction
JP7340326B2 (ja) メンテナンス動作の実行
US6192458B1 (en) High performance cache directory addressing scheme for variable cache sizes utilizing associativity
JP4006436B2 (ja) 種々のキャッシュ・レベルにおける連想セットの重畳一致グループを有するマルチレベル・キャッシュ
US6202129B1 (en) Shared cache structure for temporal and non-temporal information using indicative bits
US6157980A (en) Cache directory addressing scheme for variable cache sizes
US6122708A (en) Data cache for use with streaming data
US6408368B1 (en) Operating system page placement to maximize cache data reuse
EP1605360B1 (en) Cache coherency maintenance for DMA, task termination and synchronisation operations
CN115168247A (zh) 用于并行处理器中动态共享存储空间的方法及相应处理器
US20240345774A1 (en) Information processing system
US5983313A (en) EDRAM having a dynamically-sized cache memory and associated method
US20020108021A1 (en) High performance cache and method for operating same
JPH06202951A (ja) キャッシュ・メモリ・システム
JPH07248967A (ja) メモリ制御方式
US7543113B2 (en) Cache memory system and method capable of adaptively accommodating various memory line sizes
WO2002027498A2 (en) System and method for identifying and managing streaming-data
US6480940B1 (en) Method of controlling cache memory in multiprocessor system and the multiprocessor system based on detection of predetermined software module
US5933856A (en) System and method for processing of memory data and communication system comprising such system
JPH11143774A (ja) キャッシュ制御機構
EP4455892B1 (en) System and method for page mirroring for storage
JP2009151457A (ja) キャッシュメモリシステムおよびキャッシュメモリ制御方法