JP3174211B2 - バッファストレイジのムーブイン制御方法 - Google Patents
バッファストレイジのムーブイン制御方法Info
- Publication number
- JP3174211B2 JP3174211B2 JP00615894A JP615894A JP3174211B2 JP 3174211 B2 JP3174211 B2 JP 3174211B2 JP 00615894 A JP00615894 A JP 00615894A JP 615894 A JP615894 A JP 615894A JP 3174211 B2 JP3174211 B2 JP 3174211B2
- Authority
- JP
- Japan
- Prior art keywords
- move
- data
- storage device
- storage
- load
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【0001】
【産業上の利用分野】本発明は,情報処理装置のバッフ
ァストレイジへデータを取り込む際の制御方法に関し,
特に記憶装置の高負荷時における性能低下を軽減するこ
とを可能にしたバッファストレイジのムーブイン制御方
法に関する。
ァストレイジへデータを取り込む際の制御方法に関し,
特に記憶装置の高負荷時における性能低下を軽減するこ
とを可能にしたバッファストレイジのムーブイン制御方
法に関する。
【0002】近年の情報処理装置は高速化の要求に伴
い,バッファストレイジ(BS)を装備することが一般
化している。これは処理装置の使用する記憶装置内のデ
ータのうち,使用頻度の高いと判断される一部のデータ
をバッファストレイジと呼ぶ高速かつ小容量のメモリに
格納することにより,処理装置からの実効的なアクセス
時間を短縮し,処理システム全体の性能を向上させるた
めである。
い,バッファストレイジ(BS)を装備することが一般
化している。これは処理装置の使用する記憶装置内のデ
ータのうち,使用頻度の高いと判断される一部のデータ
をバッファストレイジと呼ぶ高速かつ小容量のメモリに
格納することにより,処理装置からの実効的なアクセス
時間を短縮し,処理システム全体の性能を向上させるた
めである。
【0003】しかしながら,バッファストレイジは記憶
装置に比べると容量が極めて小さいため,処理装置の必
要とするデータを含んでいない場合がある。この場合に
は,記憶装置からバッファストレイジに必要なデータを
取り込む必要がある。バッファストレイジにデータを取
り込む処理をムーブインという。ムーブインのデータ量
は,バッファストレイジにデータが存在するヒット率お
よび記憶装置のビジー状態に大きく影響する。したがっ
て,ムーブインのデータ量を適切に制御することによ
り,システムの性能を向上させることができると考えら
れる。
装置に比べると容量が極めて小さいため,処理装置の必
要とするデータを含んでいない場合がある。この場合に
は,記憶装置からバッファストレイジに必要なデータを
取り込む必要がある。バッファストレイジにデータを取
り込む処理をムーブインという。ムーブインのデータ量
は,バッファストレイジにデータが存在するヒット率お
よび記憶装置のビジー状態に大きく影響する。したがっ
て,ムーブインのデータ量を適切に制御することによ
り,システムの性能を向上させることができると考えら
れる。
【0004】
【従来の技術】一般に,バッファストレイジでは内部を
ブロックと呼ぶ数十から数百バイトの単位に区切り,記
憶装置のデータとの対応づけをブロック単位で行う。バ
ッファストレイジは,ブロックに分割されたデータ部の
他に,タグ(TAG)部と呼ぶ各ブロックに1対1に対
応したエントリを格納するメモリを有し,このタグ部の
各エントリの中に,対応するブロックの記憶装置上のア
ドレスを格納する。
ブロックと呼ぶ数十から数百バイトの単位に区切り,記
憶装置のデータとの対応づけをブロック単位で行う。バ
ッファストレイジは,ブロックに分割されたデータ部の
他に,タグ(TAG)部と呼ぶ各ブロックに1対1に対
応したエントリを格納するメモリを有し,このタグ部の
各エントリの中に,対応するブロックの記憶装置上のア
ドレスを格納する。
【0005】処理装置からデータ要求があると,バッフ
ァストレイジのタグ部を参照し,要求されたデータのア
ドレスがタグ部のいずれかのエントリに格納されていれ
ば,要求されたデータがバッファストレイジのデータ部
に存在すると判断して,対応するブロック内のデータを
処理装置へ送出する。もし,要求されたデータのアドレ
スがタグ部に格納されていなければ,データが存在しな
いと判断して記憶装置からバッファストレイジにムーブ
インする。
ァストレイジのタグ部を参照し,要求されたデータのア
ドレスがタグ部のいずれかのエントリに格納されていれ
ば,要求されたデータがバッファストレイジのデータ部
に存在すると判断して,対応するブロック内のデータを
処理装置へ送出する。もし,要求されたデータのアドレ
スがタグ部に格納されていなければ,データが存在しな
いと判断して記憶装置からバッファストレイジにムーブ
インする。
【0006】従来のバッファストレイジでは,必ずブロ
ックサイズ分のデータをムーブインしていた。すなわ
ち,記憶装置のビジー状況や記憶装置入力キューの状況
によらずに,一定の量をムーブインしていた。ブロック
サイズは一般に処理装置が直接要求するデータの大きさ
よりも数倍大きく設定されている。これは必要とされた
データの近傍にあるデータは将来使用される可能性が高
いことから,一括して取り込むことにより,バッファス
トレイジのデータ存在確率(ヒット率)を向上させるた
めである。しかしながら,ブロックサイズの増大は長時
間のメモリビジーを招くという短所もあるため,ブロッ
クサイズは通常数十から数百バイトに収まるように定め
られている。
ックサイズ分のデータをムーブインしていた。すなわ
ち,記憶装置のビジー状況や記憶装置入力キューの状況
によらずに,一定の量をムーブインしていた。ブロック
サイズは一般に処理装置が直接要求するデータの大きさ
よりも数倍大きく設定されている。これは必要とされた
データの近傍にあるデータは将来使用される可能性が高
いことから,一括して取り込むことにより,バッファス
トレイジのデータ存在確率(ヒット率)を向上させるた
めである。しかしながら,ブロックサイズの増大は長時
間のメモリビジーを招くという短所もあるため,ブロッ
クサイズは通常数十から数百バイトに収まるように定め
られている。
【0007】ところが,処理装置が実行するプログラム
によっては,分岐命令の頻発によって,実行する命令や
処理するデータのアドレスが連続せず,1ブロックのデ
ータをバッファストレイジにムーブインしても,そのす
べてを使用することなく終わることがある。こうしたケ
ースでも,従来技術では1ブロック分のデータをムーブ
インしていたため,結果として必要以上のデータを取り
込むことになっていた。
によっては,分岐命令の頻発によって,実行する命令や
処理するデータのアドレスが連続せず,1ブロックのデ
ータをバッファストレイジにムーブインしても,そのす
べてを使用することなく終わることがある。こうしたケ
ースでも,従来技術では1ブロック分のデータをムーブ
インしていたため,結果として必要以上のデータを取り
込むことになっていた。
【0008】
【発明が解決しようとする課題】したがって,従来技術
では,不要なデータのムーブインにより過剰な記憶装置
のビジーをもたらすことがあり,そのため待ち時間の増
大を招いて却ってメモリアクセス時間の増加を引き起こ
し,処理性能を低下させる原因になることがあった。こ
れに対処するには,ブロックサイズを縮小することが有
効であるが,ブロックサイズの縮小化は,逆にヒット率
の低下やタグ部のエントリ数の増大ひいては物量増加に
よるコスト増大を引き起こす。そのため,総合的に判断
するとブロックサイズを無闇に縮小することは必ずしも
得策ではない。
では,不要なデータのムーブインにより過剰な記憶装置
のビジーをもたらすことがあり,そのため待ち時間の増
大を招いて却ってメモリアクセス時間の増加を引き起こ
し,処理性能を低下させる原因になることがあった。こ
れに対処するには,ブロックサイズを縮小することが有
効であるが,ブロックサイズの縮小化は,逆にヒット率
の低下やタグ部のエントリ数の増大ひいては物量増加に
よるコスト増大を引き起こす。そのため,総合的に判断
するとブロックサイズを無闇に縮小することは必ずしも
得策ではない。
【0009】本発明は上記問題点の解決を図り,ヒット
率向上のためのブロックサイズを確保しつつ,過剰なメ
モリビジーを防止する手段を提供することを目的とす
る。
率向上のためのブロックサイズを確保しつつ,過剰なメ
モリビジーを防止する手段を提供することを目的とす
る。
【0010】
【課題を解決するための手段】図1は本発明の原理説明
図である。図中,1は命令をフェッチして実行する処理
装置,2は処理装置1が使用するデータを格納する記憶
装置,3は記憶装置2の一部の写しを保持するバッファ
ストレイジであって,タグ部31,データ部32,アド
レス比較器33を有するものである。4はバッファスト
レイジ3や記憶装置2へのアクセスを制御する記憶制御
部である。41はバッファストレイジ3の制御を行うバ
ッファストレイジ制御部,42は処理装置1から要求さ
れたアドレスのデータがバッファストレイジ3になかっ
た場合に記憶装置2からバッファストレイジ3へのムー
ブイン動作を起動するムーブイン起動回路,43は記憶
装置2の負荷状態情報をもとにムーブインするデータ量
を決定するムーブイン量決定回路である。
図である。図中,1は命令をフェッチして実行する処理
装置,2は処理装置1が使用するデータを格納する記憶
装置,3は記憶装置2の一部の写しを保持するバッファ
ストレイジであって,タグ部31,データ部32,アド
レス比較器33を有するものである。4はバッファスト
レイジ3や記憶装置2へのアクセスを制御する記憶制御
部である。41はバッファストレイジ3の制御を行うバ
ッファストレイジ制御部,42は処理装置1から要求さ
れたアドレスのデータがバッファストレイジ3になかっ
た場合に記憶装置2からバッファストレイジ3へのムー
ブイン動作を起動するムーブイン起動回路,43は記憶
装置2の負荷状態情報をもとにムーブインするデータ量
を決定するムーブイン量決定回路である。
【0011】本発明では,処理装置1からの要求を受け
たバッファストレイジ制御部41は,アドレス比較器3
3によるアドレスの比較により,要求されたデータがバ
ッファストレイジ3に存在しないことがわかった場合,
ムーブイン起動回路42にムーブイン指示を出す。一
方,ムーブイン量決定回路43は記憶装置2の負荷状況
を判断し,高負荷であればムーブインデータ量をバッフ
ァストレイジ3のブロックサイズより小さく(例えば1
/2や1/4等)設定し,それをムーブイン起動回路4
2に通知する。ムーブイン起動回路42は,この通知に
より必要な量のデータを記憶装置2に要求する。記憶装
置2が高負荷のため部分的にムーブインされたバッファ
ストレイジ3のブロックには,対応するタグ部31のエ
ントリにそれを示すビットを設定する。
たバッファストレイジ制御部41は,アドレス比較器3
3によるアドレスの比較により,要求されたデータがバ
ッファストレイジ3に存在しないことがわかった場合,
ムーブイン起動回路42にムーブイン指示を出す。一
方,ムーブイン量決定回路43は記憶装置2の負荷状況
を判断し,高負荷であればムーブインデータ量をバッフ
ァストレイジ3のブロックサイズより小さく(例えば1
/2や1/4等)設定し,それをムーブイン起動回路4
2に通知する。ムーブイン起動回路42は,この通知に
より必要な量のデータを記憶装置2に要求する。記憶装
置2が高負荷のため部分的にムーブインされたバッファ
ストレイジ3のブロックには,対応するタグ部31のエ
ントリにそれを示すビットを設定する。
【0012】部分的にムーブインしたブロックの残りの
データは,次にその部分について処理装置1から要求が
あったとき,または記憶装置2が高負荷から低負荷に遷
移したときに,ムーブインする。
データは,次にその部分について処理装置1から要求が
あったとき,または記憶装置2が高負荷から低負荷に遷
移したときに,ムーブインする。
【0013】
【作用】記憶装置2の高負荷時にはムーブインのデータ
量が小さくなるため,記憶装置2の高負荷時にいたずら
に大量のデータを取り込むことがなくなる。したがっ
て,必須のデータとその近傍の一部のデータのみを取り
込み,メモリビジーの増大を回避し,処理性能低下を防
止することができる。
量が小さくなるため,記憶装置2の高負荷時にいたずら
に大量のデータを取り込むことがなくなる。したがっ
て,必須のデータとその近傍の一部のデータのみを取り
込み,メモリビジーの増大を回避し,処理性能低下を防
止することができる。
【0014】また,記憶装置2の高負荷時にムーブイン
のデータ量を削減し,その後,記憶装置2の負荷が小さ
くなったときに,ムーブイン対象となったブロックにお
ける残りのデータをムーブインすることにより,その後
のデータアクセスにおけるヒット率の低下を防ぐことも
できる。
のデータ量を削減し,その後,記憶装置2の負荷が小さ
くなったときに,ムーブイン対象となったブロックにお
ける残りのデータをムーブインすることにより,その後
のデータアクセスにおけるヒット率の低下を防ぐことも
できる。
【0015】記憶装置2の負荷を,例えば記憶装置2に
対するポートのビジー状態によって判断することができ
る。記憶装置の高負荷時にムーブインするデータ量を削
減する単位を,ブロックサイズのn分の1(nは2以上
の整数)とすることにより,バッファストレイジ3のブ
ロックごとの管理を,エントリ数を増大させないで容易
に行うことができる。
対するポートのビジー状態によって判断することができ
る。記憶装置の高負荷時にムーブインするデータ量を削
減する単位を,ブロックサイズのn分の1(nは2以上
の整数)とすることにより,バッファストレイジ3のブ
ロックごとの管理を,エントリ数を増大させないで容易
に行うことができる。
【0016】
【実施例】図2は本発明の一実施例に係るブロック構成
図である。図中,1は処理装置,2は記憶装置,31は
バッファストレイジのタグ部(以下,BS−TAGと略
す),32はバッファストレイジのデータ部(以下,B
S−DATAと略す),33は処理装置1の要求するデ
ータがバッファストレイジにおいてヒットするか否かを
確認するために要求されたアドレスとBS−TAG31
の出力とを比較するアドレス比較器,34はBS−DA
TA32の4WAYある出力からヒットしたWAYの出
力を選択するセレクタ(SEL),35はBS−DAT
A32から読み出したデータを保持するBSデータレジ
スタ,36は処理装置1へ送るデータを保持するフェッ
チデータレジスタ,37は処理装置1へ送るデータを選
択するセレクタ(SEL),38は記憶装置2からムー
ブインしたデータを一時的に保持するムーブインデータ
レジスタである。
図である。図中,1は処理装置,2は記憶装置,31は
バッファストレイジのタグ部(以下,BS−TAGと略
す),32はバッファストレイジのデータ部(以下,B
S−DATAと略す),33は処理装置1の要求するデ
ータがバッファストレイジにおいてヒットするか否かを
確認するために要求されたアドレスとBS−TAG31
の出力とを比較するアドレス比較器,34はBS−DA
TA32の4WAYある出力からヒットしたWAYの出
力を選択するセレクタ(SEL),35はBS−DAT
A32から読み出したデータを保持するBSデータレジ
スタ,36は処理装置1へ送るデータを保持するフェッ
チデータレジスタ,37は処理装置1へ送るデータを選
択するセレクタ(SEL),38は記憶装置2からムー
ブインしたデータを一時的に保持するムーブインデータ
レジスタである。
【0017】また,42は要求データがバッファストレ
イジでヒットしない場合に記憶装置2に対してのムーブ
イン動作を起動するムーブイン起動回路,43は記憶装
置2の負荷状態に応じてバッファストレイジのブロック
へムーブインするデータ量を決定するムーブイン量決定
回路,44は処理装置1からの要求を受け付けるリクエ
ストポート(以下,REQPORTという),45は記
憶装置へのアクセスを設定するポート(以下,MSPO
RTという)である。この例では,ポート45はMSP
ORT0からMSPORT3の4個あるものとする。4
6は4つあるMSPORTの中から1つを選び記憶装置
2へアクセスを送るプライオリティ回路である。
イジでヒットしない場合に記憶装置2に対してのムーブ
イン動作を起動するムーブイン起動回路,43は記憶装
置2の負荷状態に応じてバッファストレイジのブロック
へムーブインするデータ量を決定するムーブイン量決定
回路,44は処理装置1からの要求を受け付けるリクエ
ストポート(以下,REQPORTという),45は記
憶装置へのアクセスを設定するポート(以下,MSPO
RTという)である。この例では,ポート45はMSP
ORT0からMSPORT3の4個あるものとする。4
6は4つあるMSPORTの中から1つを選び記憶装置
2へアクセスを送るプライオリティ回路である。
【0018】この実施例では,バッファストレイジ(B
S)は,256バイトブロック×256エントリ×4W
AY=256Kバイトの構成を持つものとする。データ
のアドレスは,ビット0(A00)〜ビット31(A3
1)までのバイトアドレスとし,BS−TAG31はア
ドレスのビット16(A16)〜ビット23(A23)
で参照され,内部にビット0(A00)〜ビット15
(A15)が格納される。したがって,ヒットしたか否
かを判断するアドレス比較器33によるアドレス比較
は,ビット0(A00)〜ビット15(A15)によ
る。また,処理装置1からのデータ要求は64バイト単
位の要求であるとする。
S)は,256バイトブロック×256エントリ×4W
AY=256Kバイトの構成を持つものとする。データ
のアドレスは,ビット0(A00)〜ビット31(A3
1)までのバイトアドレスとし,BS−TAG31はア
ドレスのビット16(A16)〜ビット23(A23)
で参照され,内部にビット0(A00)〜ビット15
(A15)が格納される。したがって,ヒットしたか否
かを判断するアドレス比較器33によるアドレス比較
は,ビット0(A00)〜ビット15(A15)によ
る。また,処理装置1からのデータ要求は64バイト単
位の要求であるとする。
【0019】図3はBS−TAG31のエントリの内容
を示すものである。アドレスのビット(A00〜A1
5)は,対応するバッファストレイジのブロック内に保
持するデータの記憶装置2上のアドレスであり,V0/
V1は,それぞれ対応するブロックについての前半/後
半の128バイトずつの有効ビットである。すなわち,
V0/V1のビットは,V0・V1が‘00’であれ
ば,バッファストレイジにおけるそのブロックはすべて
無効,V0・V1が‘01’であれば,バッファストレ
イジにおけるそのブロックの後半の128バイトだけが
有効,V0・V1が‘10’であれば,バッファストレ
イジにおけるそのブロックの前半の128バイトだけが
有効,V0・V1が‘11’であれば,バッファストレ
イジにおけるそのブロックのすべてが有効であることを
示す。
を示すものである。アドレスのビット(A00〜A1
5)は,対応するバッファストレイジのブロック内に保
持するデータの記憶装置2上のアドレスであり,V0/
V1は,それぞれ対応するブロックについての前半/後
半の128バイトずつの有効ビットである。すなわち,
V0/V1のビットは,V0・V1が‘00’であれ
ば,バッファストレイジにおけるそのブロックはすべて
無効,V0・V1が‘01’であれば,バッファストレ
イジにおけるそのブロックの後半の128バイトだけが
有効,V0・V1が‘10’であれば,バッファストレ
イジにおけるそのブロックの前半の128バイトだけが
有効,V0・V1が‘11’であれば,バッファストレ
イジにおけるそのブロックのすべてが有効であることを
示す。
【0020】図4はBS−TAG31からの出力を比較
するアドレス比較器33の内部構成例を示す。図中,5
0は比較回路,51〜54はアンド(AND)回路,5
5,56はオア(OR)回路を表す。
するアドレス比較器33の内部構成例を示す。図中,5
0は比較回路,51〜54はアンド(AND)回路,5
5,56はオア(OR)回路を表す。
【0021】比較回路50により,BS−TAG31と
REQPORT44のそれぞれのアドレスのビットA0
0〜A15を比較する。この値が一致し,かつ,V0ま
たはV1のどちらかが‘1’の場合,アドレスが一致し
たという。このとき,アンド回路51の出力が‘1’と
なり,一致信号が出力される。さらに,REQPORT
44のアドレスのビットA24が‘0’のときはV0,
‘1’のときはV1が‘1’であった場合には,アドレ
スがヒットしたという。このとき,アンド回路54の出
力が‘1’となり,ヒット信号が出力される。
REQPORT44のそれぞれのアドレスのビットA0
0〜A15を比較する。この値が一致し,かつ,V0ま
たはV1のどちらかが‘1’の場合,アドレスが一致し
たという。このとき,アンド回路51の出力が‘1’と
なり,一致信号が出力される。さらに,REQPORT
44のアドレスのビットA24が‘0’のときはV0,
‘1’のときはV1が‘1’であった場合には,アドレ
スがヒットしたという。このとき,アンド回路54の出
力が‘1’となり,ヒット信号が出力される。
【0022】このアドレス比較器33を各WAYごとに
持ち,合計4つのアドレス比較器33の出力の論理和
(OR)で,バッファストレイジ(BS)全体のヒット
信号を作成する。また,各WAYごとの一致信号,ヒッ
ト信号の論理和(OR)をとってムーブイン起動回路4
2に送出する。
持ち,合計4つのアドレス比較器33の出力の論理和
(OR)で,バッファストレイジ(BS)全体のヒット
信号を作成する。また,各WAYごとの一致信号,ヒッ
ト信号の論理和(OR)をとってムーブイン起動回路4
2に送出する。
【0023】図5はムーブイン量決定回路43の内部構
成例を示す。図中,60〜65はアンド回路,66はオ
ア回路を表す。また,+MSPORTi−VLD(iは
0〜3)は,ポートが使われていることを示す信号,+
128B−MOVE−INは,ムーブインデータ量を2
56バイトではなく,128バイトにすることを示す信
号を表す。
成例を示す。図中,60〜65はアンド回路,66はオ
ア回路を表す。また,+MSPORTi−VLD(iは
0〜3)は,ポートが使われていることを示す信号,+
128B−MOVE−INは,ムーブインデータ量を2
56バイトではなく,128バイトにすることを示す信
号を表す。
【0024】ムーブイン量決定回路43は,記憶装置2
の負荷の状況を見て高負荷か否かを判断するが,ここで
は図5に示す回路により,4つあるMSPORT45の
うち,いずれか2つが有効すなわち記憶装置2に対する
ムーブイン要求が2個以上あるときに高負荷と判断して
いる。高負荷と判断された場合には,256バイトある
ブロック全体の半分の128バイトをムーブインするよ
うに,ムーブイン起動回路42に通知する。
の負荷の状況を見て高負荷か否かを判断するが,ここで
は図5に示す回路により,4つあるMSPORT45の
うち,いずれか2つが有効すなわち記憶装置2に対する
ムーブイン要求が2個以上あるときに高負荷と判断して
いる。高負荷と判断された場合には,256バイトある
ブロック全体の半分の128バイトをムーブインするよ
うに,ムーブイン起動回路42に通知する。
【0025】次に,本発明の実施例の動作を説明する。
図2において,処理装置1から要求された64バイトフ
ェッチアクセスは,まずREQPORT44に格納され
る。そのREQPORT44内のアドレスを用いてBS
−TAG31を検索し,アドレス比較器33によってヒ
ットか否かを判断する。
図2において,処理装置1から要求された64バイトフ
ェッチアクセスは,まずREQPORT44に格納され
る。そのREQPORT44内のアドレスを用いてBS
−TAG31を検索し,アドレス比較器33によってヒ
ットか否かを判断する。
【0026】ヒットした場合には,アドレス比較器33
の出力により,BS−DATA32の出力をセレクタ3
4で選択して,BSデータレジスタ35,セレクタ3
7,フェッチデータレジスタ36を経由して処理装置1
に送出する。
の出力により,BS−DATA32の出力をセレクタ3
4で選択して,BSデータレジスタ35,セレクタ3
7,フェッチデータレジスタ36を経由して処理装置1
に送出する。
【0027】ヒットしない場合には,ムーブイン起動回
路42が起動される。ヒットせず一致もしない場合に
は,要求データを含むブロックが全く存在しないので,
1ブロック=256バイトのムーブインを行う。このと
き,ムーブイン量決定回路43が記憶装置2は高負荷で
はないと判断すれば,ムーブイン起動回路42は,25
6バイトのムーブイン処理を空いているMSPORT
(0〜3)45に設定する。MSPORT45は,プラ
イオリティ回路(PRI)46に選択されて記憶装置2
にデータ要求を送る。ムーブインしたデータは,ムーブ
インデータレジスタ38を介してBS−DATA32の
該当するエントリに格納されるとともに,その一部がセ
レクタ37およびフェッチデータレジスタ36を介して
処理装置1へ送られる。このムーブインが完了すると,
データを格納したBS−TAG31のエントリには,V
0,V1ともに‘1’がセットされる。
路42が起動される。ヒットせず一致もしない場合に
は,要求データを含むブロックが全く存在しないので,
1ブロック=256バイトのムーブインを行う。このと
き,ムーブイン量決定回路43が記憶装置2は高負荷で
はないと判断すれば,ムーブイン起動回路42は,25
6バイトのムーブイン処理を空いているMSPORT
(0〜3)45に設定する。MSPORT45は,プラ
イオリティ回路(PRI)46に選択されて記憶装置2
にデータ要求を送る。ムーブインしたデータは,ムーブ
インデータレジスタ38を介してBS−DATA32の
該当するエントリに格納されるとともに,その一部がセ
レクタ37およびフェッチデータレジスタ36を介して
処理装置1へ送られる。このムーブインが完了すると,
データを格納したBS−TAG31のエントリには,V
0,V1ともに‘1’がセットされる。
【0028】もし,ムーブイン量決定回路43が記憶装
置2は高負荷であるとした場合には,さらなるビジーを
防ぐために,必要な64バイトのデータを含む128バ
イトだけのムーブインをMSPORT45にセットす
る。このムーブインが完了したとき,対応するBS−T
AG31のエントリには,128バイトに対応するV0
またはV1の片方だけに‘1’がセットされる。
置2は高負荷であるとした場合には,さらなるビジーを
防ぐために,必要な64バイトのデータを含む128バ
イトだけのムーブインをMSPORT45にセットす
る。このムーブインが完了したとき,対応するBS−T
AG31のエントリには,128バイトに対応するV0
またはV1の片方だけに‘1’がセットされる。
【0029】ヒットではないが一致信号がオンのときに
は,ムーブインすべきブロックのうち,要求された64
バイトを含まない128バイトはバッファストレイジ
(BS)内に存在するので,必要な128バイトのムー
ブインをMSPORT45にセットする。このムーブイ
ンが完了すると,対応するBS−TAG31のエントリ
のV0,V1のうち‘0’であったほうが‘1’にセッ
トされる。
は,ムーブインすべきブロックのうち,要求された64
バイトを含まない128バイトはバッファストレイジ
(BS)内に存在するので,必要な128バイトのムー
ブインをMSPORT45にセットする。このムーブイ
ンが完了すると,対応するBS−TAG31のエントリ
のV0,V1のうち‘0’であったほうが‘1’にセッ
トされる。
【0030】次に,本発明の他の実施例を説明する。図
6はその実施例のブロック構成図である。図6におい
て,70は記憶装置2が低負荷に遷移したときにムーブ
インすべきデータのアドレスを保持しておくプリフェッ
チレジスタ,71はREQPORT44のアドレスとプ
リフェッチレジスタ70のアドレスのいずれかを選択す
るセレクタ(SEL)を表す。他の構成部分について
は,前述した図2に示す例と同様であるので,その詳細
な説明は省略する。
6はその実施例のブロック構成図である。図6におい
て,70は記憶装置2が低負荷に遷移したときにムーブ
インすべきデータのアドレスを保持しておくプリフェッ
チレジスタ,71はREQPORT44のアドレスとプ
リフェッチレジスタ70のアドレスのいずれかを選択す
るセレクタ(SEL)を表す。他の構成部分について
は,前述した図2に示す例と同様であるので,その詳細
な説明は省略する。
【0031】図2に示す実施例では,前述したように,
記憶装置2の高負荷時にはムーブインを128バイトに
削減し,残りの128バイトはその部分に対する処理装
置1からの要求がきたときにムーブインするように構成
されている。これに対し,本実施例では,図6に示すよ
うな構成により,128バイトのムーブインが完了した
後,プリフェッチレジスタ70にムーブインの対象とな
った記憶装置2のアドレスをセットしておく。そして,
記憶装置2が高負荷から低負荷へ遷移したことを,ムー
ブイン量決定回路43が検出したときに,プリフェッチ
レジスタ70に保持していたアドレスを,セレクタ71
を介してバッファストレイジへ送り,処理装置1からの
アクセス要求を待たずに,残りの128バイトのムーブ
インを実行する。
記憶装置2の高負荷時にはムーブインを128バイトに
削減し,残りの128バイトはその部分に対する処理装
置1からの要求がきたときにムーブインするように構成
されている。これに対し,本実施例では,図6に示すよ
うな構成により,128バイトのムーブインが完了した
後,プリフェッチレジスタ70にムーブインの対象とな
った記憶装置2のアドレスをセットしておく。そして,
記憶装置2が高負荷から低負荷へ遷移したことを,ムー
ブイン量決定回路43が検出したときに,プリフェッチ
レジスタ70に保持していたアドレスを,セレクタ71
を介してバッファストレイジへ送り,処理装置1からの
アクセス要求を待たずに,残りの128バイトのムーブ
インを実行する。
【0032】さらに,他の実施例として,プリフェッチ
レジスタ70を別に設けずに,128バイトのムーブイ
ンが完了した後もそのMSPORT45に要求を保持し
ておき,ムーブイン量決定回路43が記憶装置2の高負
荷から低負荷への遷移を検出したときに,残りの128
バイトのムーブインを実行するように構成することも可
能である。
レジスタ70を別に設けずに,128バイトのムーブイ
ンが完了した後もそのMSPORT45に要求を保持し
ておき,ムーブイン量決定回路43が記憶装置2の高負
荷から低負荷への遷移を検出したときに,残りの128
バイトのムーブインを実行するように構成することも可
能である。
【0033】本発明の実施例の説明として,バッファス
トレイジのブロックを前半と後半の128バイトずつに
分割してムーブインできるようにしたものを説明した
が,ブロックを1/2ではなく,1/n(ただし,n=
3,4,…)に分割した場合にも,例えば図3に示す有
効ビットV0,V1を増やすことにより,同様に本発明
を実施することができる。
トレイジのブロックを前半と後半の128バイトずつに
分割してムーブインできるようにしたものを説明した
が,ブロックを1/2ではなく,1/n(ただし,n=
3,4,…)に分割した場合にも,例えば図3に示す有
効ビットV0,V1を増やすことにより,同様に本発明
を実施することができる。
【0034】
【発明の効果】以上説明したように,本発明によれば,
記憶装置の高負荷時にバッファストレイジのムーブイン
によるさらなる負荷の増大と待ち時間の増大とを緩和す
ることが可能となり,情報処理装置の安定した処理性能
向上に寄与するところが大きい。
記憶装置の高負荷時にバッファストレイジのムーブイン
によるさらなる負荷の増大と待ち時間の増大とを緩和す
ることが可能となり,情報処理装置の安定した処理性能
向上に寄与するところが大きい。
【図1】本発明の原理説明図である。
【図2】本発明の一実施例に係るブロック構成図であ
る。
る。
【図3】BS−TAGのエントリの内容の例を示す図で
ある。
ある。
【図4】アドレス比較器の構成例を示す図である。
【図5】ムーブイン量決定回路の構成例を示す図であ
る。
る。
【図6】他の実施例に係るブロック構成図である。
1 処理装置 2 記憶装置 3 バッファストレイジ 31 バッファストレイジのタグ部 33 アドレス比較器 4 記憶制御部 41 バッファストレイジ制御部 42 ムーブイン起動回路 43 ムーブイン量決定回路
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平4−205446(JP,A) 特開 昭63−284648(JP,A) 特開 昭54−89444(JP,A) 特開 平2−287828(JP,A) 特開 平3−132858(JP,A) 特開 昭60−83156(JP,A) 特開 平2−122345(JP,A) 特開 平2−196352(JP,A) 特開 昭64−46145(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/08 - 12/12
Claims (3)
- 【請求項1】 処理装置と,記憶装置と,該記憶装置の
一部の内容の写しを格納するバッファストレイジとを有
する情報処理装置におけるムーブイン制御方法におい
て,前記 記憶装置から前記バッファストレイジへのデータム
ーブインが必要になったとき,該記憶装置へデータ要求
を送信する前に,該記憶装置の負荷を該記憶装置に対す
るポートのビジー状態によって判断し,該記憶装置の負荷状態に応じて,低負荷の場合にはムー
ブインデータ量を所定のデータ量に,高負荷の場合には
ムーブインデータ量を削減したデータ量になるように決
定し, 前記決定したデータ量のムーブインを前記記憶装置に要
求する ことを特徴とするバッファストレイジのムーブイ
ン制御方法。 - 【請求項2】 請求項1記載のバッファストレイジのム
ーブイン制御方法において,前記記憶装置の負荷状態に応じて,ムーブインデータ量
を削減したデータ量でムーブインした後,該記憶装置の
負荷が低負荷に戻ったとき 削減した部分のデータムーブ
インを再開することを特徴とするバッファストレイジの
ムーブイン制御方法。 - 【請求項3】 請求項1または請求項2記載のバッファ
ストレイジのムーブイン制御方法において,前記記憶装置の負荷状態に応じて ムーブインするデータ
量を変化させる場合に,該記憶装置の低負荷時にムーブ
インするデータ量のn分の1(nは2以上の整数)を単
位として変化させることを特徴とするバッファストレイ
ジのムーブイン制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00615894A JP3174211B2 (ja) | 1994-01-25 | 1994-01-25 | バッファストレイジのムーブイン制御方法 |
US08/327,848 US5649231A (en) | 1994-01-25 | 1994-10-21 | Storage control method and apparatus having a buffer storage for transferring variable amounts of data to a main storage based on current system load |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00615894A JP3174211B2 (ja) | 1994-01-25 | 1994-01-25 | バッファストレイジのムーブイン制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07210460A JPH07210460A (ja) | 1995-08-11 |
JP3174211B2 true JP3174211B2 (ja) | 2001-06-11 |
Family
ID=11630727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP00615894A Expired - Fee Related JP3174211B2 (ja) | 1994-01-25 | 1994-01-25 | バッファストレイジのムーブイン制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5649231A (ja) |
JP (1) | JP3174211B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102310180B1 (ko) * | 2019-11-19 | 2021-10-08 | 대명이노베이션 주식회사 | 과일 포장 용기 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3175675B2 (ja) | 1997-12-04 | 2001-06-11 | 日本電気株式会社 | プリフェッチ制御装置 |
JP3071752B2 (ja) | 1998-03-24 | 2000-07-31 | 三菱電機株式会社 | ブリッジ方法、バスブリッジ及びマルチプロセッサシステム |
US7096335B2 (en) * | 2003-08-27 | 2006-08-22 | International Business Machines Corporation | Structure and method for efficient management of memory resources |
US7162551B2 (en) * | 2003-10-31 | 2007-01-09 | Lucent Technologies Inc. | Memory management system having a linked list processor |
WO2007097030A1 (ja) | 2006-02-27 | 2007-08-30 | Fujitsu Limited | キャッシュ制御装置およびキャッシュ制御方法 |
US8032711B2 (en) * | 2006-12-22 | 2011-10-04 | Intel Corporation | Prefetching from dynamic random access memory to a static random access memory |
US8627021B2 (en) * | 2011-08-31 | 2014-01-07 | Qualcomm Incorporated | Method and apparatus for load-based prefetch access |
JP6260303B2 (ja) * | 2014-01-29 | 2018-01-17 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
GB2551508B (en) * | 2016-06-20 | 2019-11-27 | Advanced Risc Mach Ltd | Transferring Data between memory system and buffer of a master device |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3898623A (en) * | 1973-06-05 | 1975-08-05 | Ibm | Suspension and restart of input/output operations |
US3970997A (en) * | 1974-08-29 | 1976-07-20 | Honeywell Information Systems, Inc. | High speed peripheral system interface |
US4374415A (en) * | 1980-07-14 | 1983-02-15 | International Business Machines Corp. | Host control of suspension and resumption of channel program execution |
US4460959A (en) * | 1981-09-16 | 1984-07-17 | Honeywell Information Systems Inc. | Logic control system including cache memory for CPU-memory transfers |
JPS5935209A (ja) * | 1982-08-20 | 1984-02-25 | Koyo Denshi Kogyo Kk | シ−ケンスコントロ−ラ |
US4692895A (en) * | 1983-12-23 | 1987-09-08 | American Telephone And Telegraph Company, At&T Bell Laboratories | Microprocessor peripheral access control circuit |
JPS6191752A (ja) * | 1984-10-11 | 1986-05-09 | Nec Corp | マイクロコンピユ−タ |
DE68929288T2 (de) * | 1988-12-19 | 2001-11-15 | Nec Corp., Tokio/Tokyo | Datenübertragungsvorrichtung |
US5249271A (en) * | 1990-06-04 | 1993-09-28 | Emulex Corporation | Buffer memory data flow controller |
US5394527A (en) * | 1991-05-17 | 1995-02-28 | Zenith Data Systems Corporation | Method and apparatus facilitating use of a hard disk drive in a computer system having suspend/resume capability |
US5280587A (en) * | 1992-03-31 | 1994-01-18 | Vlsi Technology, Inc. | Computer system in which a bus controller varies data transfer rate over a bus based on a value of a subset of address bits and on a stored value |
-
1994
- 1994-01-25 JP JP00615894A patent/JP3174211B2/ja not_active Expired - Fee Related
- 1994-10-21 US US08/327,848 patent/US5649231A/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102310180B1 (ko) * | 2019-11-19 | 2021-10-08 | 대명이노베이션 주식회사 | 과일 포장 용기 |
Also Published As
Publication number | Publication date |
---|---|
US5649231A (en) | 1997-07-15 |
JPH07210460A (ja) | 1995-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6499085B2 (en) | Method and system for servicing cache line in response to partial cache line request | |
US6292871B1 (en) | Loading accessed data from a prefetch buffer to a least recently used position in a cache | |
US8516163B2 (en) | Hardware-based concurrent direct memory access (DMA) engines on serial rapid input/output SRIO interface | |
EP1573555B1 (en) | Page descriptors for prefetching and memory management | |
US6976126B2 (en) | Accessing data values in a cache | |
US20040003179A1 (en) | Pre-fetch control device, data processing apparatus and pre-fetch control method | |
US7447844B2 (en) | Data processing system, processor and method of data processing in which local memory access requests are serviced on a fixed schedule | |
EP0541319B1 (en) | Write through virtual cache memory, alias addressing, and cache flushes | |
JP3174211B2 (ja) | バッファストレイジのムーブイン制御方法 | |
US10229066B2 (en) | Queuing memory access requests | |
US6792498B2 (en) | Memory system with mechanism for assisting a cache memory | |
US7162588B2 (en) | Processor prefetch to match memory bus protocol characteristics | |
US20110022802A1 (en) | Controlling data accesses to hierarchical data stores to retain access order | |
US6751700B2 (en) | Date processor and storage system including a set associative cache with memory aliasing | |
US5761709A (en) | Write cache for servicing write requests within a predetermined address range | |
JPH0695972A (ja) | ディジタルコンピュータシステム | |
JPH113281A (ja) | 回路,ネットワーク、及びメモリ内の無効アドレス変換をチェックする方法 | |
US6882589B2 (en) | Prefetch buffer | |
US20010032297A1 (en) | Cache memory apparatus and data processing system | |
US20060200631A1 (en) | Control circuit and control method | |
US7543113B2 (en) | Cache memory system and method capable of adaptively accommodating various memory line sizes | |
US20060224832A1 (en) | System and method for performing a prefetch operation | |
US20240168885A1 (en) | Providing location-based prefetching in processor-based devices | |
US6473834B1 (en) | Method and apparatus for prevent stalling of cache reads during return of multiple data words | |
JP3319386B2 (ja) | キャッシュメモリ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20010313 |
|
LAPS | Cancellation because of no payment of annual fees |