JPH09244955A - キャッシュメモリ制御方法及びその装置 - Google Patents

キャッシュメモリ制御方法及びその装置

Info

Publication number
JPH09244955A
JPH09244955A JP8053318A JP5331896A JPH09244955A JP H09244955 A JPH09244955 A JP H09244955A JP 8053318 A JP8053318 A JP 8053318A JP 5331896 A JP5331896 A JP 5331896A JP H09244955 A JPH09244955 A JP H09244955A
Authority
JP
Japan
Prior art keywords
token
column
register
row
registers
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.)
Withdrawn
Application number
JP8053318A
Other languages
English (en)
Inventor
Jun Hasegawa
純 長谷川
Toshitada Saito
藤 利 忠 斎
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP8053318A priority Critical patent/JPH09244955A/ja
Publication of JPH09244955A publication Critical patent/JPH09244955A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 ブロックの未使用期間に応じた待機順序の管
理と、パイプライン処理で使用中の各ブロックの処理段
階を簡易な構成で同時に把握することができなかった。 【解決手段】 行方向にレジスタがN行設けられ、列方
向に、レジスタがL列配置された作業領域と、レジスタ
がM−L−1列配置された待機領域とが設けられた蓄積
手段と、蓄積手段における各行において、作業領域の少
なくとも1つのレジスタにトークンが存在する場合、当
該行における待機領域のレジスタが保持していたトーク
ンを消去する消去手段OC(1)〜OC(N)と、蓄積
手段の待機領域の各列において、トークンが存在する当
該列より前方の少なくとも1列の全レジスタにトークン
が存在しない場合、当該列のトークンを前方のレジスタ
へ遷移させる遷移手段S(1,L+2)〜S(N,
M)、N(L+2)〜N(M)、OR(L+2)〜OR
(M−1)とを備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、キャッシュメモリ
の複数のブロックの使用状況を管理するためのキャッシ
ュメモリ制御方法及びその装置に関する。
【0002】
【従来の技術】近年、ATM(asynchronous transfer
mode)等の通信システムにおいてキャッシュメモリが用
いられている。このキャッシュメモリの使用効率を向上
させるためには、二つの制御が必要となる。
【0003】一つ目の制御は、キャッシュメモリに既に
格納されたものと同一のデータは、外部記憶装置から読
み込んで書き込むことをしない、というものである。二
つ目の制御は、外部記憶装置からキャッシュメモリに新
たなデータを読み込ませる場合は、キャッシュメモリを
構成している各ブロック毎の使用履歴を管理しておき、
最も長い期間使用されなかったブロックに読み込ませる
LRU(least-recently used )方式というものであ
る。
【0004】従来は、このような二つの制御を実現する
ために、シフトレジスタを用いた方式、あるいはリンク
トリストを用いた方式等が採用されていた。これらの方
式は、いずれも待ち行列を用いたブロック制御を行って
いる。キャッシュメモリの記憶内容の索引と、ブロック
を指定するポインタとを、同時に待ち行列に保持してお
く。そして、待ち行列に記憶された索引と同じ索引の記
憶内容に使用の要請があった場合は、ポインタの指示す
るブロックの記憶内容を使用し、待ち行列の該当する索
引とポインタの情報を、待ち行列の最後尾に移動させ
る。待ち行列に記憶された全ての索引とは異なる索引の
記憶内容に使用要請があった場合は、外部記憶装置の記
憶内容を待ち行列の先頭に位置するポインタの指示する
ブロックに書き込み、該当する索引とポインタとを最後
尾に記録する。
【0005】シフトレジスタを用いる方式では、待ち行
列をシフトレジスタを用いて構成する。待ち行列の内容
を入れ替える場合は、入れ替えるべき行列の内容が、行
列のどの位置にあるかを検索し、一時的にその内容を保
持しておく。そして、待ち行列をシフトして遷移させ、
待ち行列の最後尾に挿入する。
【0006】リンクトリストを用いる方式は、待ち行列
をリンクトリスト形式で管理する。待ち行列の内容の順
序を入れ替える場合は、入れ替えるべき行列の内容が行
列のどこにあるのか検索し、行列内容のリンクを繋ぎ換
える。
【0007】
【発明が解決しようとする課題】しかし、いずれの方式
であっても、従来のキャッシュメモリ制御方法及びその
装置には次のような問題があった。
【0008】一般に、ATM等の通信システムで用いら
れる集積回路は、複数の段階を経るパイプライン処理を
行う場合が多い。パイプライン処理では、各々の段階で
どのキャッシュブロックが用いられているかを、随時把
握しておかなければらならない。例えば、パイプライン
が3つの段階から成り、このうちの2つの段階で同じブ
ロックを用いる場合には、アクセスが同一ブロックの入
出力端子に集中して処理速度が低下しないように管理す
る必要が生じる。
【0009】ところが、従来の方式では、シフトレジス
タを用いる方式とリンクトリストを用いる方式のいずれ
であっても、キャッシュの記憶内容の索引とブロックを
指定するポインタとを待ち行列で管理しており、パイプ
ライン処理の処理の順序でキャッシュのブロックが配列
されてはいない。このことを、図4を用いて説明する。
【0010】図4(a)に示されたように、待ち行列1
01に行列内容1、2、3、…が配列されており、各行
列内容1、2、3、…には、それぞれの番号に対応する
キャッシュのブロックの記憶内容の情報が入っているも
のとする。いま、パイプライン処理で次に用いる記憶内
容が、行列内容6が示すブロックの記憶内容と同一であ
る場合、この行列内容6が抜き出される。そして、図4
(b)のように、待ち行列101の最後尾に配置され
る。行列内容6が以前に存在していた場所は詰められ
て、行列内容7に後続の行列内容5、4、…が引き続く
状態になる。この結果、行列内容5、6、7、8、…
は、行列内容4、5、7、8、…のような順番に配置さ
れる。
【0011】この図4(b)に示された、待ち行列に順
に示された行列内容の順番は、パイプライン処理の各段
階で用いられるキャッシュのブロックの記憶内容の順番
とは相違する。従って、パイプライン処理の各段階にお
ける、キャッシュの各ブロックの使用状況を把握するに
は、別途専用の制御装置が必要であり、システム構成の
複雑化及びコスト上昇を招いていた。
【0012】本発明は上記事情に鑑みてなされたもの
で、簡素な構成で、キャッシュのブロックの使用履歴
と、パイプライン処理の各段階で使用しているブロック
の状況とを把握することが可能なキャッシュメモリ制御
及びその装置を提供することを目的とする。
【0013】
【課題を解決するための手段】本発明のキャッシュメモ
リ制御方法は、キャッシュメモリの各ブロックの使用状
況を示すトークンを記録する方法であって、行方向に、
N個のブロックに対応してトークンを保持するレジスタ
がN行設けられ、列方向に、それぞれのブロックがパイ
プライン処理のL個の段階のいずれにおいて使用されて
いるかを示し、トークンを与えられて遷移させていくレ
ジスタがL列配置された作業領域と、それぞれの行に対
応するブロックの未使用期間の長さに対応した順番を示
し、トークンを与えられて遷移させていくレジスタがP
列配置された待機領域とが設けられており、パイプライ
ン処理で用いられるブロックに対応する行の作業領域の
レジスタにトークンを入れて、処理の段階が進むにつれ
て対応するレジスタにトークンを遷移させていくステッ
プと、前記作業領域のレジスタから遷移されてきたトー
クンを同一行の待機領域のレジスタに遷移させ、当該行
の待機領域のレジスタ間を遷移させていくステップと、
前記蓄積手段における各行において、前記作業領域の少
なくとも1つのレジスタにトークンが存在する場合、当
該行における前記待機領域のレジスタが保持していたト
ークンを消去するステップと、前記蓄積手段の待機領域
の各列において、トークンが存在する当該列より前方の
少なくとも1列の全レジスタにトークンが存在しない場
合、当該列のトークンを前方のレジスタへ遷移させるス
テップとを備える。
【0014】あるいは、本発明の制御方法は、作業領域
と待機領域との間に緩衝領域が設けられている場合、前
記作業領域のレジスタを遷移されてきたトークンを同一
行の緩衝領域のレジスタに前記所定周期で遷移させるス
テップと、前記緩衝領域のレジスタを遷移されてきたト
ークンを同一行の待機領域のレジスタに前記所定周期で
遷移させ、この待機領域のレジスタに前記所定周期でト
ークンを遷移させていくステップとをさらに備えてい
る。
【0015】あるいはまた、本発明の制御方法は、作業
領域では第1の周期でトークンを遷移させ、待機領域で
は第2の周期でトークンを遷移させる場合、パイプライ
ン処理で用いられるブロックに対応する行の作業領域の
レジスタにトークンを入れて、処理の段階が進むにつれ
て対応するレジスタに前記第1の周期でトークンを遷移
させていくステップと、前記作業領域のレジスタから遷
移されてきたトークンを同一行の緩衝領域のレジスタに
前記第1の周期で遷移させるステップと、前記緩衝領域
のレジスタに遷移されてきたトークンを同一行の待機領
域のレジスタ間を前記第2の周期で遷移させていくステ
ップとをさらに備えている。
【0016】本発明のキャッシュメモリ制御装置は、行
方向に、N個のブロックに対応してトークンを保持する
レジスタがN行設けられ、列方向に、それぞれのブロッ
クがパイプライン処理のL個の段階のいずれにおいて使
用されているかを示し、トークンを与えられて遷移させ
ていくレジスタがL列配置された作業領域と、それぞれ
の行に対応するブロックの未使用期間の長さに対応した
順番を示し、トークンを与えられて遷移させていくレジ
スタがP列配置された待機領域とが設けられた蓄積手段
と、前記蓄積手段における各行において、前記作業領域
の少なくとも1つのレジスタにトークンが存在する場
合、当該行における前記待機領域のレジスタが保持して
いたトークンを消去する消去手段と、前記蓄積手段の待
機領域の各列において、トークンが存在する当該列より
前方の少なくとも1列の全レジスタにトークンが存在し
ない場合、当該列のトークンを前方のレジスタへ遷移さ
せる遷移手段とを備えることを特徴とする。
【0017】あるいは、本発明のキャッシュメモリ制御
装置は、作業領域はトークンを第1の周期で遷移させて
いき、待機領域はトークンを前記第1の周期よりも短い
第2の周期で遷移させていき、作業領域と待機領域との
間に、作業領域から第1の周期でトークンを与えられて
第2の周期で待機領域にトークンを与える少なくとも1
列のレジスタが配置された緩衝領域が設けられている。
【0018】ここで、前記蓄積手段における各行におい
て、当該行の全レジスタにトークンが存在しない場合、
当該行における待機領域のいずれかのレジスタにトーク
ンを保持させる手段をさらに備えていてもよい。
【0019】また、前記トークンは、キャッシュメモリ
の各ブロックがパイプライン処理で使用されている場
合、当該ブロックが記憶している内容に関する情報を含
んでいてもよい。
【0020】さらには、前記蓄積手段は、各行毎に、入
出力端子が相互に接続されたM段のレジスタを有し、前
記消去手段は、各行毎に、前記作業領域の全レジスタの
出力端子に入力側を接続され、前記待機領域の全レジス
タのリセット端子に出力側を接続され、前記作業領域の
少なくとも1つのレジスタにトークンが保持されている
ときは前記作業領域の全レジスタをリセットしてトーク
ンを消去させる第1の論理回路を有し、前記遷移手段
は、前記待機領域において、それぞれのレジスタの入力
側に設けられ、1段後列のレジスタの出力端子と当該レ
ジスタの出力端子とに2つの入力側がそれぞれ接続さ
れ、当該レジスタの入力端子に出力側が接続され、制御
端子に入力される値に応じて出力を切り替えるセレクタ
と、各列毎に、当該列の全レジスタの出力端子に入力側
を接続された第2の論理回路と、当該列の前記第2の論
理回路の出力側と、当該列より一列前方の列の前記第2
の論理回路の出力側とに2つの入力側がそれぞれ接続さ
れ、当該列に設けられた全てのセレクタの制御端子に出
力側が接続された第3の論理回路とを有し、当該列より
前方の列の少なくとも1列の全レジスタにトークンが保
持されていない場合、前記セレクタは1列後方の列のレ
ジスタの出力端子と当該列のレジスタの入力端子とを接
続し、当該列より前方の各列において少なくとも1つの
レジスタがトークンを保持している場合、前記セレクタ
は当該列のレジスタの出力端子と当該列のレジスタの入
力端子とを接続するものであってもよい。
【0021】
【発明の実施の形態】以下、本発明の一実施の形態につ
いて図面を参照して説明する。図1に、本実施の形態に
よるキャッシュメモリ制御装置の構成を示し、この装置
を制御する方法について述べる。
【0022】本装置は、N(Nは、1以上の整数)個の
ブロックを有するキャッシュメモリの使用履歴の管理を
行う。D型フリップフロップのレジスタが、N×M個マ
トリクス状に配列されている。ここで、横方向の配列を
行(N行)、縦方向の配列を列(M列)と称する。行方
向に、N個のキャッシュブロックに対応してN行のレジ
スタが配置されている。列方向には、パイプライン処理
の段階の数L(Lは、1以上の整数)に対応する作業領
域としてのL列のレジスタと、緩衝領域としての少なく
とも1列のレジスタと、待機領域としてのM−(L+
1)(Mは、L+2以上の整数)列のレジスタとが配置
されている。例えば、レジスタR(1,1)、R(2,
1)、R(3,1)、…、R(N,1)から成る一列を
第1列といい、レジスタR(1,1)、R(1,2)、
R(1,3)、…、R(1,M)から成る一行を第1行
という。待機領域は、未使用ブロックの使用すべき順序
を管理するものであるが、LRU法の効率を向上させる
ためには、キャッシュブロックの数Nと同数の列が設け
られていることが望ましい。しかし、待機領域の列はキ
ャッシュブロックと同数である必要は必ずしもなく、キ
ャッシュブロック数より少ないか、あるいはより多くと
も待機列を構成することは可能である。
【0023】上述したように、パイプラインの段階はL
個存在する。第1列目から第L列目までを作業列、第L
+1列目を緩衝列、第L+2列目から第M列までを待機
列として分類する。作業列における各々の列は、パイプ
ラインの各々の段階に対応している。待機列は、この待
機列にトークンが保持されたブロックはパイプライン処
理で使用されていないことを示す。緩衝列は、後述する
ように、作業列に属するレジスタを駆動するクロックと
待機列に属するレジスタを駆動するクロックとが相違し
ている場合には必ず必要なもので、作業列の第L列目の
レジスタの出力のタイミングと、緩衝列の第L+2列目
のレジスタの入力のタイミングとを調節するために設け
られている。即ち、作業列のレジスタから、作業列の駆
動クロックでトークンが緩衝列のレジスタに入力され、
このレジスタから待機列のレジスタにトークンが出力さ
れる。ここで、作業列のレジスタから作業列の遅い駆動
クロックでトークンが緩衝列のレジスタに入力され、こ
のトークンが待機列の速い駆動クロックで待機列のレジ
スタに出力された時点で、緩衝列のレジスタが保持して
いるトークンを消去しておく必要がある。このような消
去がなされず、緩衝列のレジスタのトークンが作業列の
駆動クロックの周期で保持されていると、待機列のレジ
スタに待機列の速い駆動クロックで連続して出力するこ
とになるからである。
【0024】また、作業列と待機列とでクロックが相違
していない場合であっても、緩衝列は設けられている方
が望ましい。これは、作業列のレジスタから待機列のレ
ジスタへトークンが遷移する時に、作業列のレジスタに
トークンが存在することで待機列のレジスタに遷移した
トークンが消去されてしまう事態を確実に防止するため
である。
【0025】このように、緩衝領域には、(1)作業領
域の駆動クロックと待機領域の駆動クロックの周期が相
違する場合に、この周期の差異を調整する役割と、
(2)作業領域から待機領域に遷移する時点で、作業領
域にあったトークンが待機領域に遷移した自分自身を消
去することを防止する役割とがある。
【0026】レジスタのうち、例えばx行y列目のレジ
スタR(x,y)は、データ入力端子D(x,y)、デ
ータ出力端子Q(x,y)、クロック入力端子CLK、
リセット端子CLR(x,y)を有する。y列目のレジ
スタに対して、第y+1列を次列、第y−1列を前列、
y+1〜M列の方向を前方、1〜y−1列を後方、とし
て表現する。
【0027】一行目のレジスタR(1,1)〜R(1,
M)を例にとると、作業列において、レジスタR(1,
1)の入力端子Dは外部入力端子B1に接続され、レジ
スタR(1,1)〜R(1,L)の出力端子Qはそれぞ
れ次段のレジスタの入力端子Dに接続されている。ま
た、レジスタR(1,1)〜R(1,L)の出力端子Q
は、全てNOR回路OC(1)の入力端子に接続されて
いる。
【0028】緩衝列におけるレジスタR(1,L+1)
は、出力端子QがセレクタS(1,L+2)の一方の入
力端子に接続され、反転出力端子/Qがリセット端子C
LRに接続されている。セレクタS(1,L+2)は、
他方の入力端子が次段のレジスタR(1,L+2)の出
力端子Qに接続され、後述するOR回路OR(L+2)
の出力端子に制御端子が接続されている。
【0029】待機列におけるレジスタR(1,L+2)
〜R(1,M)のうち、R(1,L+2)〜R(1,M
−1)は、それぞれセレクタS(1,L+3)〜S
(1,M)の入出力端子を間に介在させて当該レジスタ
の出力端子Qが次段のレジスタの入力端子Dに接続され
ている。レジスタR(1,L+2)〜R(1,M)の出
力端子Qは、セレクタS(1,L+2)〜S(1,M)
の入力端子を介在させて当該レジスタ自身の入力端子D
にそれぞれ接続されている。レジスタR(1,L+2)
〜R(1,M)のリセット端子CLRは全て、NOR回
路OC(1)の出力端子に接続されている。
【0030】同様に、他の第2〜N行においてそれぞれ
のレジスタ及びセレクタが接続されている。
【0031】そして、待機列における第L+2〜M列目
のそれぞれの列において、全レジスタの出力端子Qがそ
れぞれNOR回路N(L+2)〜N(M)の入力端子に
接続されている。OR回路OR(L+2)〜(M−1)
の一方の入力端子には、NOR回路N(L+2)〜(M
−1)の出力端子がそれぞれ接続されており、他方の入
力端子には、それぞれ1段前のOR回路OR(L+3)
〜OR(M−1)あるいはNOR回路N(M)の出力端
子が接続されている。
【0032】このような構成を備えた本実施の形態で
は、次のように動作する。上述したように、パイプライ
ン処理はL個の段階から成り、それぞれの段階における
処理は作業列におけるクロック周期Aまでには完了する
ものとする。そして、キャッシュメモリの各ブロックの
使用状況を表現するために、トークンという概念を用い
る。このトークンは、後述するように作業列から緩衝列
を経て待機列へと順に遷移していく。作業列のレジスタ
に入力されるクロック周期Aは、パイプラインの動作周
期と同一であり、待機領域のレジスタに入力されるクロ
ック周期Bはクロック周期Aよりも短く、周期A=j×
周期B(jは2以上の整数)の関係にある。例えば、j
はキャッシュブロック数と同程度の数に設定されるのが
望ましく、例えば8〜9に設定される。
【0033】先ず、この回路におけるトークンの基本的
な遷移動作について説明する。図2に、パイプライン処
理の段階数が3、キャッシュブロック(A〜H)数が8
であり、作業領域が3列、緩衝領域が1列、待機領域が
8列設けられた場合のトークンの動作を示す。
【0034】図2(a)のように、現在のパイプライン
処理のサイクルで、パイプライン処理の段階1〜3でキ
ャッシュブロックD、B及びDがそれぞれ用いられてお
り、他のブロックは図示されたように、A、G、E、
C、H、Fの順番で待機状態にあるとする。ブロックA
は、未使用期間が最も長く、次に使用される順番にあ
る。上述したように、作業領域には同一の行(例えば第
D行)に複数のトークンが存在してもよいが、待機領域
では同一行には一つのトークンしか存在しない。また、
作業領域にトークンが存在する行は、当該ブロックが使
用されているため待機領域にトークンは存在しない。ま
た、動作開始時等において、同一の行にトークンが全く
存在しない場合、そのままの状態では当該ブロックは使
用されなくなるので、待機領域のいずれかにトークンを
入れることが望ましい。
【0035】パイプライン処理で1段階処理が進み、次
のサイクルへ移行すると、矢印のようにそれぞれのトー
クンが右方向へ遷移する。キャッシュメモリに格納され
ていないデータをパイプライン処理の段階1で用いる場
合は、図2(b)のように、ブロックAが段階1で用い
られる。キャッシュメモリに既に格納されているデータ
を段階1で用いる場合は、そのデータを格納しているブ
ロックが段階1で用いられる。これにより、作業領域の
第A行目の1段目にトークンが入り、同じ第A行の待機
領域に存在していたトークンが廃棄される。
【0036】また、図3(a)に示されたように、パイ
プラインの段階1で第C行が用いられてトークンが入る
と、待機領域の4番目にあったトークンが廃棄される。
これにより、4番目の列にはトークンが全く存在しなく
なる。このような場合、矢印のように待機領域における
後方のブロックH及びGが前方へ遷移し、図3(b)に
示されるようになる。待機領域はクロック周期Bが短い
ので遷移するが、作業領域のクロック周期Aは長く、パ
イプライン処理で用いられているブロックC、A、Eの
トークンは遷移しない。
【0037】ここで、作業領域よりも待機領域において
トークンをより速く遷移させるのは、以下のような理由
による。仮に同じクロック周期Aで遷移させると、作業
領域で多くのトークンが存在する場合に、各々の行にお
いてトークンが緩衝領域を経て待機領域まで遷移し、待
機領域の最前列まで到達するのに時間がかかる。特に、
待機列はキャッシュブロックの数よりも多く設けられて
いる方が望ましいが、この待機列の数が多い場合には、
より長い時間がかかる。このため、待機列の最前列にど
の行のトークンも到達していない場合が起こりうる。こ
の結果、新たなデータをキャッシュメモリに書き込もう
としても、どのブロックを用いたらよいか判断できない
ことになる。このような事態を回避するために、待機領
域におけるトークンが遷移する速度が速くなるように、
待機領域では作業領域のクロック周期Aよりも短いクロ
ック周期Bで遷移させる方が望ましい。
【0038】そして、このように作業領域と待機領域と
で異なるクロック周期を用いる場合には、後述するよう
に間に緩衝領域を設けて、クロック周期の相違を調整す
る必要がある。
【0039】次に、図1の装置における動作を説明す
る。先ず、パイプラインの第1段階の処理が開始される
と、この段階で用いられるキャッシュブロックに対応し
た第x行の第1列目のレジスタR(x,1)にトークン
が発生される。具体的には、レジスタR(x,1)の入
力端子Dに、論理「1」のデータがクロック周期Aのタ
イミングで入力され保持される。このトークンは、クロ
ック周期Aのタイミングで順次右方向のレジスタへ遷移
していく。
【0040】x行の作業列においていずれかのレジスタ
にトークンが存在すると、NOR回路OC(x)にデー
タ「1」が入力され、論理「0」のデータが待機列の全
てのレジスタR(x,L+2)〜R(x,M)のリセッ
ト端子CLRに入力されてリセットされる。上述したよ
うに、作業列のいずれかのレジスタにトークンが存在す
ると、その行xの待機列のいずれかにトークンがあった
としても破棄され、どのレジスタにもトークンが存在し
なくなり、待機状態ではなくなる。逆に、作業列におい
ては、同一のx行のレジスタR(x,1)〜R(x,
L)に複数のトークンが存在することができる。
【0041】パイプライン処理が完了した時点では、最
終の段階Lに対応する第L列のレジスタR(x,L)ま
でトークンが遷移している。このレジスタR(x,L)
の出力端子Qからデータ「1」が出力されると、緩衝領
域のレジスタR(x,L+1)に、クロック周期Aに従
って取り込まれる。出力端子Qからデータ「1」が出力
されると、セレクタS(x,L+2)に入力される。
【0042】待機列の1列目の全レジスタR(1,L+
2)〜R(N,L+2)にトークンがない場合、OR回
路OR(L+2)からは論理「1」のデータが出力され
てセレクタS(x,L+2)の制御端子に入力される。
これにより、セレクタS(x,L+2)は緩衝領域のレ
ジスタR(x,L+1)の出力「1」を選択して出力す
る。レジスタR(x,L+2)は、クロック周期Bに従
ってこのデータを受け取り、トークンが待機列に遷移す
ることになる。さらに、レジスタR(1,L+1)の出
力端子Qからデータ「1」が出力されると反転出力端子
/Qからはデータ「0」がリセット端子CLRに入力さ
れるため、レジスタR(1,L+2)はリセットされ
る。このような緩衝列のレジスタR(1,L+1)が設
けられていないと、短いクロック周期Bで動作するレジ
スタR(x,L+2)がデータ「1」を受け取って次の
サイクルになっても、前段のレジスタR(x,L+1)
からは引き続いてデータ「1」が出力された状態が維持
されることになり、動作に支障をきたす。そこで、長い
クロック周期Aで駆動するレジスタR(x,L+1)か
らデータを受け取り、短いクロック周期Bで駆動するレ
ジスタR(x,L+2)へデータ「1」を転送した後は
自分の出力でリセットするようにする緩衝列を設けるこ
とで、周期の異なる列を調整することができる。
【0043】待機列のレジスタR(x,L+2)にトー
クンが遷移したときには、同じ第x行の前方のレジスタ
R(x,L+3)〜R(x,M)には全くトークンは存
在しない。上述したように、同一の第x行の作業列のい
ずれかのレジスタにトークンがあると、この第x行の作
業列のレジスタのトークンは全て消去されて待機状態で
はなくなる。よって、待機列の第L+2列目のレジスタ
に到達したトークンは、第x行の最前列のトークンとな
り、またこの第x行の待機列にはトークンは1つしか存
在しない。
【0044】そして、当該レジスタR(x,L+2)の
前方の全レジスタR(1,L+3)〜R(N,M)のう
ち、いずれか一列、例えば第y列の全レジスタR(1,
y)〜R(N,y)のいずれにもトークンが存在しない
場合にのみ、クロック周期Bで次段のレジスタR(x,
L+3)へ遷移する。当該列より前方の各列にトークン
がそれぞれ存在する場合は、第y列に設けられたNOR
回路N(y)にデータ「1」が入力され、「0」が出力
されてOR回路OR(y)の一方の入力端子に入力され
る。さらに、前方の列のNOR回路N(y+1)から
「0」データが出力されてOR回路OR(y)の他の入
力端子に入力される。そのOR回路OR(y)から出力
された「0」データが、セレクタS(x,y)の制御端
子に入力される。セレクタS(x,y)の出力が切り替
わり、当該レジスタR(x,y)の出力端子Qと入力端
子Dとが接続された状態になり、トークンが遷移せずに
保持される。
【0045】このようにして形成された待機列に存在す
るトークンは、長い期間に渡って使用されなかったブロ
ックの順序に対応したものとなる。よって、待機列の最
前列、即ち第M列にあるトークンは、最も長い期間使用
されなかったブロックを示すことになる。この第M列の
レジスタR(x,M)までトークンが遷移し、該当する
キャッシュブロックxが呼び出されて使用されると、次
のクロック周期Bでこのトークンは破棄される。
【0046】本実施の形態によれば、作業列のレジスタ
R(1,1)〜R(N,L)に存在するトークンは、1
〜Nのブロックがパイプライン処理の段階1〜Lのいず
れで使用されているかを示す。よって、パイプライン処
理の各々の段階において、キャッシュメモリのブロック
のいずれが用いられているのか、言い換えれば各々のブ
ロックはパイプライン処理のどの段階にあるかを把握す
ることができる。
【0047】さらに、待機列のレジスタR(1,L+
2)〜R(N,M)に保持されたトークンは、ブロック
1〜Nを未使用期間の長さに応じた順序に並べて示すも
のである。よって、使用頻度に応じてブロックを用いる
ことができ、使用効率が向上する。
【0048】このように、本実施の形態によれば図1に
示されたような簡易な構成で、キャッシュメモリの各ブ
ロックがパイプライン処理のいずれの段階にあるか状況
を把握し、さらに各ブロックを未使用期間の長さに応じ
て並べ替えて管理することとを、簡易な構成で実現する
ことが可能である。
【0049】上述した実施の形態は一例であり、本発明
を限定するものではない。例えば、本実施の形態では、
作業領域と待機領域とを異なるクロック周期で駆動し、
間に緩衝領域を設けている。しかし、待機列の数が短い
場合等では同じクロック周期で駆動することも可能であ
り、この場合には緩衝領域を必ずしも設ける必要はな
い。また、緩衝領域を本実施の形態では1列設けている
が、2列以上設けてもよい。
【0050】図1に示された回路では、消去手段として
NOR回路OC(1)〜OC(N)が用いられ、遷移手
段としてセレクタS(1,L+2)〜S(N,M)、N
OR回路N(L+2)〜N(M)及びOR回路OR(L
+2)〜OR(M−1)が用いられているが、他の論理
構成で同様にトークンを消去あるいは遷移させてもよ
い。
【0051】また、トークンの情報量は、最低限1ビッ
ト必要である。しかし、キャッシュブロックが記憶して
いる内容の索引等に相当する情報を持たせる場合には、
2ビット以上のビット幅が必要となる。この他、トーク
ンには必要に応じて他の情報を持たせることもできる。
【0052】
【発明の効果】以上説明したように、本発明のキャッシ
ュメモリ制御方法及びその装置によれば、パイプライン
処理で使用されているキャッシュブロックを示す作業領
域と、未使用状態にあり待機しているブロックを示す待
機領域とを有し、各々のブロック毎にその使用状況に対
応してトークンを遷移あるいは消滅させることで、作業
領域ではパイプライン処理で使用されているブロックを
処理の順序に配列することができ、また待機領域では未
使用期間の長さに応じた順序にブロックを並べ替えるこ
とが可能であり、簡易な構成で、ブロック毎のパイプラ
イン処理での使用状況の把握と、キャッシュメモリの使
用効率の向上とを同時に達成することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態によるキャッシュメ
モリ制御装置の構成を示した回路図。
【図2】同キャッシュメモリ制御装置におけるトークン
の遷移を示した説明図。
【図3】同キャッシュメモリ制御装置におけるトークン
の遷移を示した説明図。
【図4】従来のキャッシュメモリを制御する技術におい
て待ち行列を用いてブロックの使用順序を管理した様子
を示した説明図。
【符号の説明】
R(1,1)〜R(N,M) レジスタ OC(1)〜OC(N) NOR回路 S(1,L+2)〜S(1,M) セレクタ N(L+2)〜N(M) NOR回路 OR(L+2)〜OR(M−1) OR回路

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】キャッシュメモリの各ブロックの使用状況
    を示すトークンを記録するキャッシュメモリ制御方法で
    あって、 行方向に、N(Nは1以上の整数)個のブロックに対応
    してトークンを保持するレジスタがN行設けられ、列方
    向に、それぞれのブロックがパイプライン処理のL(L
    は1以上の整数)個の段階のいずれにおいて使用されて
    いるかを示し、トークンを与えられて遷移させていくレ
    ジスタがL列配置された作業領域と、それぞれの行に対
    応するブロックの未使用期間の長さに対応した順番を示
    し、トークンを与えられて遷移させていくレジスタがP
    (Pは1以上の整数)列配置された待機領域とが設けら
    れており、 パイプライン処理で用いられるブロックに対応する行の
    作業領域のレジスタにトークンを入れて、処理の段階が
    進むにつれて対応するレジスタにトークンを遷移させて
    いくステップと、 前記作業領域のレジスタから遷移されてきたトークンを
    同一行の待機領域のレジスタに遷移させ、当該行の待機
    領域のレジスタ間を遷移させていくステップと、 前記蓄積手段における各行において、前記作業領域の少
    なくとも1つのレジスタにトークンが存在する場合、当
    該行における前記待機領域のレジスタが保持していたト
    ークンを消去するステップと、 前記蓄積手段の待機領域の各列において、トークンが存
    在する当該列より前方の少なくとも1列の全レジスタに
    トークンが存在しない場合、当該列のトークンを前方の
    レジスタへ遷移させるステップと、 を備えることを特徴とするキャッシュメモリ制御方法。
  2. 【請求項2】キャッシュメモリの各ブロックの使用状況
    を示すトークンを記録するキャッシュメモリ制御方法で
    あって、 行方向に、N個のブロックに対応してトークンを保持す
    るレジスタがN行設けられ、列方向に、それぞれのブロ
    ックがパイプライン処理のL個の段階のいずれにおいて
    使用されているかを示し、トークンを与えられて所定周
    期で遷移させていくレジスタがL列配置された作業領域
    と、それぞれの行に対応するブロックの未使用期間の長
    さに対応した順番を示し、トークンを与えられて前記所
    定周期で遷移させていくレジスタがP列配置された待機
    領域と、前記作業領域と前記待機領域との間に設けら
    れ、前記作業領域から前記所定周期でトークンを与えら
    れて前記所定周期で前記待機領域にトークンを与える少
    なくとも1列のレジスタが配置された緩衝領域とが設け
    られており、 パイプライン処理で用いられるブロックに対応する行の
    作業領域のレジスタにトークンを入れて、処理の段階が
    進むにつれて対応するレジスタに前記所定周期でトーク
    ンを遷移させていくステップと、 前記作業領域のレジスタから遷移されてきたトークンを
    同一行の緩衝領域のレジスタに前記所定周期で遷移させ
    るステップと、 前記緩衝領域のレジスタに遷移されてきたトークンを同
    一行の待機領域のレジスタに前記所定周期で遷移させ、
    この待機領域のレジスタ間を前記所定周期で遷移させて
    いくステップと、 前記蓄積手段における各行において、前記作業領域の少
    なくとも1つのレジスタにトークンが存在する場合、当
    該行における前記待機領域のレジスタが保持していたト
    ークンを消去するステップと、 前記蓄積手段の待機領域の各列において、トークンが存
    在する当該列より前方の少なくとも1列の全レジスタに
    トークンが存在しない場合、前記所定周期に従って当該
    列のトークンを前方のレジスタへ遷移させるステップ
    と、 を備えることを特徴とするキャッシュメモリ制御方法。
  3. 【請求項3】キャッシュメモリの各ブロックの使用状況
    を示すトークンを記録するキャッシュメモリ制御方法で
    あって、 行方向に、N個のブロックに対応してトークンを保持す
    るレジスタがN行設けられ、列方向に、それぞれのブロ
    ックがパイプライン処理のL個の段階のいずれにおいて
    使用されているかを示し、トークンを与えられて第1の
    周期で遷移させていくレジスタがL列配置された作業領
    域と、それぞれの行に対応するブロックの未使用期間の
    長さに対応した順番を示し、トークンを与えられて前記
    第1の周期よりも短い第2の周期で遷移させていくレジ
    スタがP列配置された待機領域と、前記作業領域と前記
    待機領域との間に設けられ、前記作業領域から前記第1
    の周期でトークンを与えられて前記第2の周期で前記待
    機領域にトークンを与える少なくとも1列のレジスタが
    配置された緩衝領域とが設けられており、 パイプライン処理で用いられるブロックに対応する行の
    作業領域のレジスタにトークンを入れて、処理の段階が
    進むにつれて対応するレジスタに前記第1の周期でトー
    クンを遷移させていくステップと、 前記作業領域のレジスタから遷移されてきたトークンを
    同一行の緩衝領域のレジスタに前記第1の周期で遷移さ
    せるステップと、 前記緩衝領域のレジスタに遷移されてきたトークンを同
    一行の待機領域のレジスタに前記第2の周期で遷移さ
    せ、この待機領域のレジスタ間を前記第2の周期で遷移
    させていくステップと、 前記蓄積手段における各行において、前記作業領域の少
    なくとも1つのレジスタにトークンが存在する場合、当
    該行における前記待機領域のレジスタが保持していたト
    ークンを消去するステップと、 前記蓄積手段の待機領域の各列において、トークンが存
    在する当該列より前方の少なくとも1列の全レジスタに
    トークンが存在しない場合、前記第2の周期に従って当
    該列のトークンを前方のレジスタへ遷移させるステップ
    と、 を備えることを特徴とするキャッシュメモリ制御方法。
  4. 【請求項4】前記蓄積手段における各行において、当該
    行の全レジスタにトークンが存在しない場合、当該行に
    おける待機領域のいずれかのレジスタにトークンを保持
    させるステップをさらに備えることを特徴とする請求項
    1乃至3のいずれかに記載のキャッシュメモリ制御方
    法。
  5. 【請求項5】キャッシュメモリの各ブロックの使用状況
    を示すトークンを記録するキャッシュメモリ制御装置で
    あって、 行方向に、N個のブロックに対応してトークンを保持す
    るレジスタがN行設けられ、列方向に、それぞれのブロ
    ックがパイプライン処理のL個の段階のいずれにおいて
    使用されているかを示し、トークンを与えられて遷移さ
    せていくレジスタがL列配置された作業領域と、 それぞれの行に対応するブロックの未使用期間の長さに
    対応した順番を示し、トークンを与えられて遷移させて
    いくレジスタがP列配置された待機領域とが設けられた
    蓄積手段と、 前記蓄積手段における各行において、前記作業領域の少
    なくとも1つのレジスタにトークンが存在する場合、当
    該行における前記待機領域のレジスタが保持していたト
    ークンを消去する消去手段と、 前記蓄積手段の待機領域の各列において、トークンが存
    在する当該列より前方の少なくとも1列の全レジスタに
    トークンが存在しない場合、当該列のトークンを前方の
    レジスタへ遷移させる遷移手段と、 を備えることを特徴とするキャッシュメモリ制御装置。
  6. 【請求項6】キャッシュメモリの各ブロックの使用状況
    を示すトークンを記録するキャッシュメモリ制御装置で
    あって、 行方向に、N個のブロックに対応してトークンを保持す
    るレジスタがN行設けられ、列方向に、それぞれのブロ
    ックがパイプライン処理のL個の段階のいずれにおいて
    使用されているかを示し、トークンを与えられて所定周
    期で遷移させていくレジスタがL列配置された作業領域
    と、 それぞれの行に対応するブロックの未使用期間の長さに
    対応した順番を示し、トークンを与えられて前記所定周
    期で遷移させていくレジスタがP列配置された待機領域
    と、前記作業領域と前記待機領域との間に設けられ、前
    記作業領域から前記所定周期でトークンを与えられて前
    記所定周期で前記待機領域にトークンを与える少なくと
    も1列のレジスタが配置された緩衝領域とが設けられた
    蓄積手段と、 前記蓄積手段における各行において、前記作業領域の少
    なくとも1つのレジスタにトークンが存在する場合、当
    該行における前記待機領域のレジスタが保持していたト
    ークンを消去する消去手段と、 前記蓄積手段の待機領域の各列において、トークンが存
    在する当該列より前方の少なくとも1列の全レジスタに
    トークンが存在しない場合、前記所定周期に従って当該
    列のトークンを前方のレジスタへ遷移させる遷移手段
    と、 を備えることを特徴とするキャッシュメモリ制御装置。
  7. 【請求項7】キャッシュメモリの各ブロックの使用状況
    を示すトークンを記録するキャッシュメモリ制御装置で
    あって、 行方向に、N個のブロックに対応してトークンを保持す
    るレジスタがN行設けられ、列方向に、それぞれのブロ
    ックがパイプライン処理のL個の段階のいずれにおいて
    使用されているかを示し、トークンを与えられて第1の
    周期で遷移させていくレジスタがL列配置された作業領
    域と、 それぞれの行に対応するブロックの未使用期間の長さに
    対応した順番を示し、トークンを与えられて前記第1の
    周期よりも短い第2の周期で遷移させていくレジスタが
    P列配置された待機領域と、前記作業領域と前記待機領
    域との間に設けられ、前記作業領域から前記第1の周期
    でトークンを与えられて前記第2の周期で前記待機領域
    にトークンを与える少なくとも1列のレジスタが配置さ
    れた緩衝領域とが設けられた蓄積手段と、 前記蓄積手段における各行において、前記作業領域の少
    なくとも1つのレジスタにトークンが存在する場合、当
    該行における前記待機領域のレジスタが保持していたト
    ークンを消去する消去手段と、 前記蓄積手段の待機領域の各列において、トークンが存
    在する当該列より前方の少なくとも1列の全レジスタに
    トークンが存在しない場合、前記第2の周期に従って当
    該列のトークンを前方のレジスタへ遷移させる遷移手段
    と、 を備えることを特徴とするキャッシュメモリ制御装置。
  8. 【請求項8】前記蓄積手段における各行において、当該
    行の全レジスタにトークンが存在しない場合、当該行に
    おける待機領域のいずれかのレジスタにトークンを保持
    させる手段をさらに備えることを特徴とする請求項5乃
    至7のいずれかに記載のキャッシュメモリ制御装置。
  9. 【請求項9】前記トークンは、キャッシュメモリの各ブ
    ロックがパイプライン処理で使用されている場合、当該
    ブロックが記憶している内容に関する情報を含むことを
    特徴とする請求項5乃至8のいずれかに記載のキャッシ
    ュメモリ制御装置。
  10. 【請求項10】前記蓄積手段は、各行毎に、入出力端子
    が相互に接続されたM(Mは、L+P+1以上の整数)
    段のレジスタを有し、 前記消去手段は、各行毎に、前記作業領域の全レジスタ
    の出力端子に入力側を接続され、前記待機領域の全レジ
    スタのリセット端子に出力側を接続され、前記作業領域
    の少なくとも1つのレジスタにトークンが保持されてい
    るときは前記作業領域の全レジスタをリセットしてトー
    クンを消去させる第1の論理回路を有し、 前記遷移手段は、前記待機領域において、それぞれのレ
    ジスタの入力側に設けられ、1段後列のレジスタの出力
    端子と当該レジスタの出力端子とに2つの入力側がそれ
    ぞれ接続され、当該レジスタの入力端子に出力側が接続
    され、制御端子に入力される値に応じて出力を切り替え
    るセレクタと、 各列毎に、当該列の全レジスタの出力端子に入力側を接
    続された第2の論理回路と、 当該列の前記第2の論理回路の出力側と、当該列より一
    列前方の列の前記第2の論理回路の出力側とに2つの入
    力側がそれぞれ接続され、当該列に設けられた全てのセ
    レクタの制御端子に出力側が接続された第3の論理回路
    とを有し、 当該列より前方の列の少なくとも1列の全レジスタにト
    ークンが保持されていない場合、前記セレクタは1列後
    方の列のレジスタの出力端子と当該列のレジスタの入力
    端子とを接続し、当該列より前方の各列において少なく
    とも1つのレジスタがトークンを保持している場合、前
    記セレクタは当該列のレジスタの出力端子と当該列のレ
    ジスタの入力端子とを接続することを特徴とする請求項
    5乃至9のいずれかに記載のキャッシュメモリ制御装
    置。
JP8053318A 1996-03-11 1996-03-11 キャッシュメモリ制御方法及びその装置 Withdrawn JPH09244955A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8053318A JPH09244955A (ja) 1996-03-11 1996-03-11 キャッシュメモリ制御方法及びその装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8053318A JPH09244955A (ja) 1996-03-11 1996-03-11 キャッシュメモリ制御方法及びその装置

Publications (1)

Publication Number Publication Date
JPH09244955A true JPH09244955A (ja) 1997-09-19

Family

ID=12939380

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8053318A Withdrawn JPH09244955A (ja) 1996-03-11 1996-03-11 キャッシュメモリ制御方法及びその装置

Country Status (1)

Country Link
JP (1) JPH09244955A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013511081A (ja) * 2010-02-01 2013-03-28 インターナショナル・ビジネス・マシーンズ・コーポレーション デバイス・アダプタを介して、データをキャッシュから複数のストレージ・デバイスの各々にデステージするための方法、システム及びコンピュータ・プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013511081A (ja) * 2010-02-01 2013-03-28 インターナショナル・ビジネス・マシーンズ・コーポレーション デバイス・アダプタを介して、データをキャッシュから複数のストレージ・デバイスの各々にデステージするための方法、システム及びコンピュータ・プログラム

Similar Documents

Publication Publication Date Title
EP0180237B1 (en) Data processor system having look-ahead control
JP2740097B2 (ja) クロック同期型半導体記憶装置およびそのアクセス方法
JPH08129890A (ja) 半導体記憶装置
EP0048810B1 (en) Recirculating loop memory array with a shift register buffer
JPH04505522A (ja) ディジタルデータを転置するための装置
JPH0433029A (ja) メモリ装置とその駆動方法
EP0386719A2 (en) Partial store control circuit
JPH0792779B2 (ja) データ転送制御装置
CN100456679C (zh) 供双缓存tdm交换机使用的数据存储器扩展
JPH09244955A (ja) キャッシュメモリ制御方法及びその装置
JPH0613890A (ja) 2進電子カウンタのための安全なカウント方法
US6760273B2 (en) Buffer using two-port memory
JP2000132982A (ja) 情報記録媒体素子、情報記録装置及び情報記録方法、並びに情報再生装置及び情報再生方法
JP3028932B2 (ja) 入出力バッファメモリ回路
JP2566911B2 (ja) デユアルポ−トメモリ
JPH035986A (ja) Fifoメモリ
JPH09288618A (ja) 記憶装置及びそのメモリアクセス制御方法
JP3966944B2 (ja) データ転送制御装置
JPH05210981A (ja) 半導体記憶装置
SU1015441A1 (ru) Асинхронный регистр сдвига
JPS607676A (ja) メモリ書込み回路
JPS6073730A (ja) バツフア制御装置
JPS60198663A (ja) デ−タ転送で御方式および回路
JPH054693B2 (ja)
JPS6113611B2 (ja)

Legal Events

Date Code Title Description
A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20040624