JPH02139647A - バッファメモリへのデータ転送制御方法 - Google Patents
バッファメモリへのデータ転送制御方法Info
- Publication number
- JPH02139647A JPH02139647A JP63292485A JP29248588A JPH02139647A JP H02139647 A JPH02139647 A JP H02139647A JP 63292485 A JP63292485 A JP 63292485A JP 29248588 A JP29248588 A JP 29248588A JP H02139647 A JPH02139647 A JP H02139647A
- Authority
- JP
- Japan
- Prior art keywords
- area
- data
- buffer memory
- areas
- information
- 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
Links
- 239000000872 buffer Substances 0.000 title claims abstract description 74
- 238000000034 method Methods 0.000 title claims description 45
- 238000010586 diagram Methods 0.000 description 12
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明は、バッファメモリ(キャッシュメモリ)方式の
コンピュータにおける主記憶装置からバッファメモリへ
のデータ転送制御方法に関する。
コンピュータにおける主記憶装置からバッファメモリへ
のデータ転送制御方法に関する。
(従来の技術)
コンピュータにおいて、メモリアクセスを高速化するた
めの方法の1つとして、バッファメモリ方式がある。こ
の方式では、ハードウェアにより、主記憶装置に格納さ
れたデータの一部が、高速のアクセスが可能なバッファ
メモリに転送される。そして、プロセッサは、主に、こ
のバッファメモリ上にあるデータを直接参照して処理を
行なう。
めの方法の1つとして、バッファメモリ方式がある。こ
の方式では、ハードウェアにより、主記憶装置に格納さ
れたデータの一部が、高速のアクセスが可能なバッファ
メモリに転送される。そして、プロセッサは、主に、こ
のバッファメモリ上にあるデータを直接参照して処理を
行なう。
プロセッサが参照すべきデータがバッファメモリ上にな
いときは、主記憶装置から転送されたデータによりバッ
ファメモリ上のデータが更新される。一般に、バッファ
メモリは、複数の領域に分割されており、データの更新
はこの領域単位で行なわれる。
いときは、主記憶装置から転送されたデータによりバッ
ファメモリ上のデータが更新される。一般に、バッファ
メモリは、複数の領域に分割されており、データの更新
はこの領域単位で行なわれる。
バッファメモリにおけるデータの更新を行なう領域とし
ては、プロセッサが最近参照していない領域を選択し、
この領域のデータを更新する方式がある。このような方
式は、LRU方式と呼ばれ、メモリアクセス速度の向上
に有効である。
ては、プロセッサが最近参照していない領域を選択し、
この領域のデータを更新する方式がある。このような方
式は、LRU方式と呼ばれ、メモリアクセス速度の向上
に有効である。
LRU方式を忠実に実行するためには、プロセッサが処
理中にバッファメモリの複数の領域をどのような順序で
参照したかを記憶しておくことが必要である。即ち、バ
ッファメモリがn個の領域に分割されている場合は、プ
ロセッサが参照した順序の総数はn!である。従って、
領域の参照順序を記憶するには、log2(nりビット
あるいはそれ以上の情報量が必要である。
理中にバッファメモリの複数の領域をどのような順序で
参照したかを記憶しておくことが必要である。即ち、バ
ッファメモリがn個の領域に分割されている場合は、プ
ロセッサが参照した順序の総数はn!である。従って、
領域の参照順序を記憶するには、log2(nりビット
あるいはそれ以上の情報量が必要である。
LRU方式によるバッファメモリへのデータ転送制御方
法としては、従来、以下のような方法があった。
法としては、従来、以下のような方法があった。
第2図は、従来のバッファメモリへのデータ転送制御方
法を示す説明図である。
法を示す説明図である。
この図に示すバッファメモリ21は、4つの領域A。−
A、に分割されている。そして、これらの領域へ〇〜A
3のうちの任意の2つの領域の間の参照順序が、新しい
順に6つの矢印a N’fの向きとして記憶される。例
えば、領域Aoと領域A+どの間の参照順序が、領域へ
〇が先で領域A、が後だとすると、この参照順序は図示
の矢印aの向きにより表わされる。即ち、矢印aの先が
外側に向かっている方の領域A1の方が、領域へ〇より
も新しく参照されている。他の2つの領域の間の参照順
序は、図示の矢印b−fの向きにより表わされる。
A、に分割されている。そして、これらの領域へ〇〜A
3のうちの任意の2つの領域の間の参照順序が、新しい
順に6つの矢印a N’fの向きとして記憶される。例
えば、領域Aoと領域A+どの間の参照順序が、領域へ
〇が先で領域A、が後だとすると、この参照順序は図示
の矢印aの向きにより表わされる。即ち、矢印aの先が
外側に向かっている方の領域A1の方が、領域へ〇より
も新しく参照されている。他の2つの領域の間の参照順
序は、図示の矢印b−fの向きにより表わされる。
これらの矢印a −fは、プロセッサ22がデータの参
照を行なったとき、設定される。例えば、領域A1内の
データが参照された直後は、矢印a、f及びdがすべて
領域AIに対して外向きにされる。
照を行なったとき、設定される。例えば、領域A1内の
データが参照された直後は、矢印a、f及びdがすべて
領域AIに対して外向きにされる。
従って、すべての矢印が外側を向いている領域があれば
、その領域が最新に参照された領域である。図示の例で
は、領域A、が最新に参照された領域である。また、す
べての矢印が内側を向いている領域があれば、その領域
が最も古く参照された領域である。図示の例では、領域
A3が最も古く参照された領域である。
、その領域が最新に参照された領域である。図示の例で
は、領域A、が最新に参照された領域である。また、す
べての矢印が内側を向いている領域があれば、その領域
が最も古く参照された領域である。図示の例では、領域
A3が最も古く参照された領域である。
そして、プロセッサ22がデータの参照を行なったとき
、バッファメモリ21内に必要なデータがないときは、
主記憶装置23からデータが転送される。そして、この
転送されたデータは、最も古く参照された領域A3に格
納される。
、バッファメモリ21内に必要なデータがないときは、
主記憶装置23からデータが転送される。そして、この
転送されたデータは、最も古く参照された領域A3に格
納される。
上述した矢印a % fの向きは、各々1ビツトの情報
としてバッファメモリ21内の所定の領域に記憶される
。例えば、矢印a−fの先が図示の向きのときは、各1
ビツトの情報をそれぞれ“l“とじ、図示と反対の向き
のときは、それぞれ“0”とする、即ち、図示の例では
、6ビツトの情報が主記憶装置23からバッファメモリ
21へのデータ転送制御のために必要である。
としてバッファメモリ21内の所定の領域に記憶される
。例えば、矢印a−fの先が図示の向きのときは、各1
ビツトの情報をそれぞれ“l“とじ、図示と反対の向き
のときは、それぞれ“0”とする、即ち、図示の例では
、6ビツトの情報が主記憶装置23からバッファメモリ
21へのデータ転送制御のために必要である。
(発明が解決しようとする課題)
ところが、以上のようなバッファメモリへのデータ転送
制御方法には、次のような問題点があった。
制御方法には、次のような問題点があった。
即ち、第2図に示すような、バッファメモリ内の分割さ
れた領域が4つの場合であっても、6ビツトの情報量を
必要とし、バッファメモリ内の分割された領域の数がn
の場合には、n(n−1)/2ビットの情報量を必要と
する。
れた領域が4つの場合であっても、6ビツトの情報量を
必要とし、バッファメモリ内の分割された領域の数がn
の場合には、n(n−1)/2ビットの情報量を必要と
する。
従って、領域数nが増加すると、データ転送制御に必要
な情報量が2次関数的に増加してしまう。
な情報量が2次関数的に増加してしまう。
このため、領域数が多い場合は、制御のための情報量が
非常に多くなり、これによりバッファメモリが占有され
る領域が非常に大きくなってしまうという問題があった
。また、制御のためにデコードしなければならない情報
量が非常に多くなるので、制御が複雑になってしまうと
いう問題があった。
非常に多くなり、これによりバッファメモリが占有され
る領域が非常に大きくなってしまうという問題があった
。また、制御のためにデコードしなければならない情報
量が非常に多くなるので、制御が複雑になってしまうと
いう問題があった。
本発明は以上の点に着目してなされたもので、バッファ
メモリ内の分割された領域が多い場合も、制御のための
情報量を少なくし、制御を容易に行えるようにしたバッ
ファメモリへのデータ転送制御方法を提供することを目
的とする。
メモリ内の分割された領域が多い場合も、制御のための
情報量を少なくし、制御を容易に行えるようにしたバッ
ファメモリへのデータ転送制御方法を提供することを目
的とする。
(課題を解決するための手段)
本発明のバッファメモリへのデータ転送制御方法は、主
記憶装置に格納されたデータの一部を転記するバッファ
メモリを複数の領域に分割し、前記領域単位で前記デー
タの更新をする場合において、前記すべての領域を、ま
ず、2群に区分して、プロセッサにより最新にデータを
参照された領域が、前記いずれの群に含まれるかを判断
し、前記最新にデータ参照の対象とならなかった方の群
に含まれる領域を選択し、前記選択された領域が複数あ
る場合、再び、前記区分と前記判断を繰り返して、最終
的に1の領域を選択し、当該最終選択された領域に前記
主記憶装置に格納されたデータの一部を転記して更新す
るものである。
記憶装置に格納されたデータの一部を転記するバッファ
メモリを複数の領域に分割し、前記領域単位で前記デー
タの更新をする場合において、前記すべての領域を、ま
ず、2群に区分して、プロセッサにより最新にデータを
参照された領域が、前記いずれの群に含まれるかを判断
し、前記最新にデータ参照の対象とならなかった方の群
に含まれる領域を選択し、前記選択された領域が複数あ
る場合、再び、前記区分と前記判断を繰り返して、最終
的に1の領域を選択し、当該最終選択された領域に前記
主記憶装置に格納されたデータの一部を転記して更新す
るものである。
(作用)
以上のバッファメモリへのデータ転送制御方法において
は、プロセッサがデータの参照を要求し、バッファメモ
リ上に該当するデータがない場合、主記憶装置からその
データが転送される。転送されたデータは、以下のよう
にして選択されたlの領域に格納される。まず、バッフ
ァメモリ内の多数の領域を2つの群に区分する。そして
、2つの群のうち、最近参照した領域が含まれていない
方の群が選択される。この選択された群に含まれる領域
が1つの場合には、領域の選択が完了する。また、多数
の領域を含む場合、再び2つに区分し、各群のうち、最
新に参照した領域が含まれていない方の群が選択される
。以下、この手順が繰り返され、最終的にデータを格納
すべき1の領域が選択される。
は、プロセッサがデータの参照を要求し、バッファメモ
リ上に該当するデータがない場合、主記憶装置からその
データが転送される。転送されたデータは、以下のよう
にして選択されたlの領域に格納される。まず、バッフ
ァメモリ内の多数の領域を2つの群に区分する。そして
、2つの群のうち、最近参照した領域が含まれていない
方の群が選択される。この選択された群に含まれる領域
が1つの場合には、領域の選択が完了する。また、多数
の領域を含む場合、再び2つに区分し、各群のうち、最
新に参照した領域が含まれていない方の群が選択される
。以下、この手順が繰り返され、最終的にデータを格納
すべき1の領域が選択される。
(実施例)
第1図は、本発明のバッファメモリへのデータ転送制御
方法を示す説明図である。
方法を示す説明図である。
図示の装置は、バッファメモリlと、このバッファメモ
リlを接続したプロセッサ2と、バッファメモリ1を介
してプロセッサ2に接続された主記憶装置3とから成る
。
リlを接続したプロセッサ2と、バッファメモリ1を介
してプロセッサ2に接続された主記憶装置3とから成る
。
バッファメモリlは、主記憶装置3に格納されたデータ
の一部を転記するものである。このバッファメモリ1は
、複数の領域A o = A sに分割されている。そ
して、これらの領域単位でデータの更新が行なわれる。
の一部を転記するものである。このバッファメモリ1は
、複数の領域A o = A sに分割されている。そ
して、これらの領域単位でデータの更新が行なわれる。
図示の例では、領域へ〇が最も古く参照された領域であ
るとし、この領域へ〇にデータが格納される。
るとし、この領域へ〇にデータが格納される。
これらのすべての領域A o ” A sは、まず、領
域Ao、A+と、領域A2.A3との2群に区分される
。
域Ao、A+と、領域A2.A3との2群に区分される
。
そして、プロセッサ2が最新にデータを参照した領域が
、いずれの群に含まれるかが判断される。この判断は、
1ビツトの情報L0によって示される矢印a0の向きに
より、行なわれる。即ち、矢印aoは、最新に参照され
た領域が含まれていない方の群を指す向きにされている
。矢印a0の向きは、0または1を表わす1ビツトの情
報L0として、プロセッサ2によるデータの参照時に設
定される。
、いずれの群に含まれるかが判断される。この判断は、
1ビツトの情報L0によって示される矢印a0の向きに
より、行なわれる。即ち、矢印aoは、最新に参照され
た領域が含まれていない方の群を指す向きにされている
。矢印a0の向きは、0または1を表わす1ビツトの情
報L0として、プロセッサ2によるデータの参照時に設
定される。
従って、情報L0がOか1かを判断することにより、矢
印a0の向きが判断され、最新の参照の対象とならなか
った方の群に含まれる領域A。。
印a0の向きが判断され、最新の参照の対象とならなか
った方の群に含まれる領域A。。
Atが選択される。
選択された領域Ao、Atは複数あるので、再び、上述
した区分と判断が繰り返される。
した区分と判断が繰り返される。
即ち、次には、選択された領域Ao、A+が、領域A。
と、領域A、どの2つに区分される。
そして、プロセッサ2が最新にデータを参照した領域が
、いずれの領域かが判断される。この判断は、1ビツト
の情報り、によって示される矢印alの向きにより、行
なわれる。即ち、矢印a1は、最新に参照された領域で
ない方の領域へ〇を指す向きにされている。矢印a1の
向きは、Oまたはlを表わす1ビツトの情報L1として
、矢印aoの向きと同様に、プロセッサ2によるデータ
の参照時に設定される。
、いずれの領域かが判断される。この判断は、1ビツト
の情報り、によって示される矢印alの向きにより、行
なわれる。即ち、矢印a1は、最新に参照された領域で
ない方の領域へ〇を指す向きにされている。矢印a1の
向きは、Oまたはlを表わす1ビツトの情報L1として
、矢印aoの向きと同様に、プロセッサ2によるデータ
の参照時に設定される。
従って、情報り、がOか1かを判断することにより、矢
印a1の向きが判断され、最新の参照の対象とならなか
った方の領域へ〇が選択される。
印a1の向きが判断され、最新の参照の対象とならなか
った方の領域へ〇が選択される。
以上のようにして、3ビツトの情報LO,L。
及びL2のみによって、最終的に1の領域へ〇が選択さ
れる。そして、この選択された領域へ〇に、主記憶装置
3から読み出されたデータの一部が転記されて更新され
る。従って、少ない情報量で、容易に、LRU方式のデ
ータ転送制御を行なえる。
れる。そして、この選択された領域へ〇に、主記憶装置
3から読み出されたデータの一部が転記されて更新され
る。従って、少ない情報量で、容易に、LRU方式のデ
ータ転送制御を行なえる。
第3図は、本発明のバッファメモリへのデータ転送制御
の処理手順を示すフローチャートである。
の処理手順を示すフローチャートである。
このフローチャートは、第1図のプロセッサ2が参照し
たデータが、バッファメモリ1上にない場合に、ハード
ウェアがこのデータを主記憶装置3から読み出してバッ
ファメモリ1内の所定の領域A。、 A r 、 A2
またはA3に転送して格納する手順を示す。
たデータが、バッファメモリ1上にない場合に、ハード
ウェアがこのデータを主記憶装置3から読み出してバッ
ファメモリ1内の所定の領域A。、 A r 、 A2
またはA3に転送して格納する手順を示す。
まず、第1図の主記憶装置3からプロセッサ2が必要と
するデータを読み出す(ステップSl)。次に、情報り
。が1か否かを判別する(ステップS2)。情報L0は
、1のとき第1図の矢印a。が領域A。、A+の群を指
すことを表わし、0のとき矢印a0が領域A2.A3の
群を指すことを表わすものとする。
するデータを読み出す(ステップSl)。次に、情報り
。が1か否かを判別する(ステップS2)。情報L0は
、1のとき第1図の矢印a。が領域A。、A+の群を指
すことを表わし、0のとき矢印a0が領域A2.A3の
群を指すことを表わすものとする。
ステップS2の答が肯定(Yes)のとき、即ち、矢印
a0が領域A。、A+の群を指すときは、ステップS3
に進み、情報L+が1か否かを判別する。情報L1は、
lのとき第1図の矢印a、が領域へ〇を指すことを表わ
し、0のとき矢印a1が領域A+を指すことを表わすも
のとする。
a0が領域A。、A+の群を指すときは、ステップS3
に進み、情報L+が1か否かを判別する。情報L1は、
lのとき第1図の矢印a、が領域へ〇を指すことを表わ
し、0のとき矢印a1が領域A+を指すことを表わすも
のとする。
ステップS3の答が肯定(Yes)のとき、即ち、矢印
alが領域A。を指すことを表わすときは、ステップS
4に進み、主記憶装置3から読み出したデータをバッフ
ァメモリ1内の領域へ〇に格納する。そして、次に、情
報L0及びL+にそれぞれ0を設定する(ステップS5
)。その後、バッファメモリ1内の領域Aoに格納した
データをプロセッサlに送る(ステップS6)。
alが領域A。を指すことを表わすときは、ステップS
4に進み、主記憶装置3から読み出したデータをバッフ
ァメモリ1内の領域へ〇に格納する。そして、次に、情
報L0及びL+にそれぞれ0を設定する(ステップS5
)。その後、バッファメモリ1内の領域Aoに格納した
データをプロセッサlに送る(ステップS6)。
また、ステップS3の答が否定(NO)のとき、即ち、
矢印a1が領域A、を指すことを表わすときは、ステッ
プS7に進み、主記憶装置3から読み出したデータをバ
ッファメモリ1内の領域A1に格納する。そして、次に
、情報Loに0を設定し、情報L1に1を設定する(ス
テップS8)。その後、ステップS6に進み、バッファ
メモリl内の領域A1に格納したデータをプロセッサ1
に送る。
矢印a1が領域A、を指すことを表わすときは、ステッ
プS7に進み、主記憶装置3から読み出したデータをバ
ッファメモリ1内の領域A1に格納する。そして、次に
、情報Loに0を設定し、情報L1に1を設定する(ス
テップS8)。その後、ステップS6に進み、バッファ
メモリl内の領域A1に格納したデータをプロセッサ1
に送る。
一方、ステップS2の答が否定(No)のとき、即ち、
矢印aOが領域A 2 、 A sの群を指すときは、
ステップS9に進み、情報L2が1か否かを判別する。
矢印aOが領域A 2 、 A sの群を指すときは、
ステップS9に進み、情報L2が1か否かを判別する。
情報L2は、lのとき第1図の矢印a2が領域A2を指
すことを表わし、Oのとき矢印a2が領域A3を指すこ
とを表わすものとする。
すことを表わし、Oのとき矢印a2が領域A3を指すこ
とを表わすものとする。
ステップS9の答が肯定(Yes)のとき、即ち、矢印
a2が領域A2を指すことを表わすときは、ステップS
IOに進み、主記憶装置3から読み出したデータをバッ
ファメモリ1内の領域A2に格納する。そして、次に、
情報り。に1を設定し、情報L2に0を設定する(ステ
ップ5ll)。その後、バッファメモリ1内の領域A2
に格納したデータをプロセッサlに送る(ステップS6
)。
a2が領域A2を指すことを表わすときは、ステップS
IOに進み、主記憶装置3から読み出したデータをバッ
ファメモリ1内の領域A2に格納する。そして、次に、
情報り。に1を設定し、情報L2に0を設定する(ステ
ップ5ll)。その後、バッファメモリ1内の領域A2
に格納したデータをプロセッサlに送る(ステップS6
)。
また、ステップS9の答が否定(No)のとき、即ち、
矢印a2が領域A3を指すことを表わすときは、ステッ
プSL2に進み、主記憶装置3から読み出したデータを
バッファメモリ1内の領域A3に格納する。そして、次
に、情報L0及びL2にそれぞれlを設定する(ステッ
プ513)。その後、ステップS6に進み、バッファメ
モリ1内の領域へ〇にあるデータをプロセッサ1に送る
。
矢印a2が領域A3を指すことを表わすときは、ステッ
プSL2に進み、主記憶装置3から読み出したデータを
バッファメモリ1内の領域A3に格納する。そして、次
に、情報L0及びL2にそれぞれlを設定する(ステッ
プ513)。その後、ステップS6に進み、バッファメ
モリ1内の領域へ〇にあるデータをプロセッサ1に送る
。
第4図は、本発明の方法を適用したバッファメモリの制
御装置の構成図である。
御装置の構成図である。
バッファメモリ1は、主記憶装置3から転送されたデー
タを格納する4゛種類の領域Ao、At。
タを格納する4゛種類の領域Ao、At。
A2及びA、を持っている。これらの領域Ao。
A1.A2及びA3は、それぞれ複数あり、それぞれが
タグ情報及びデータを格納しうるものである。ここで、
タグ情報とは、主記憶装置3内の所定のアドレスをいう
。
タグ情報及びデータを格納しうるものである。ここで、
タグ情報とは、主記憶装置3内の所定のアドレスをいう
。
プロセッサ2がデータをアクセスする際は、アドレス信
号として、タグ情報と、バッファメモリ1内の領域へ〇
〜A3のアドレスと、そのアドレスで指定された領域内
のアドレスとを、バッファメモリ1に出力する。タグ情
報に対応する信号は、各比較器30,31.32及び3
3に入力される。これらの比較器30,31.32及び
33には、それぞれ領域Ao 、AI 、AI及びA、
からのアドレス出力が入力される。そして、これらの比
較器30,31.32及び33から出力されるアドレス
一致信号、並びに領域Ao、A+。
号として、タグ情報と、バッファメモリ1内の領域へ〇
〜A3のアドレスと、そのアドレスで指定された領域内
のアドレスとを、バッファメモリ1に出力する。タグ情
報に対応する信号は、各比較器30,31.32及び3
3に入力される。これらの比較器30,31.32及び
33には、それぞれ領域Ao 、AI 、AI及びA、
からのアドレス出力が入力される。そして、これらの比
較器30,31.32及び33から出力されるアドレス
一致信号、並びに領域Ao、A+。
A2及びA3からのデータ出力は、データセレクタ50
に人力される。
に人力される。
また、バッファメモリ1は、前述した情報Lo、L+及
びLtを記憶する領域ALを持っている。領域ALは、
−組の領域Ao 、 At 、 A2及びA3に対し、
1つずつ設けられている。領域AL内の情報り。、Lt
及びLtは、置き換え制御40によって更新される。
びLtを記憶する領域ALを持っている。領域ALは、
−組の領域Ao 、 At 、 A2及びA3に対し、
1つずつ設けられている。領域AL内の情報り。、Lt
及びLtは、置き換え制御40によって更新される。
第5図は、プロセッサによるバッファメモリの参照時の
処理手順を示すフローチャートである。
処理手順を示すフローチャートである。
このフローチャートは、第1図のプロセッサ2が参照し
たデータが、バッファメモリ1上にあるか否かを判定し
、プロセッサ2が参照したデータがバッファメモリ1上
にある場合に、ハードウェアが情報L0〜L3の設定を
行なう手順を示す。
たデータが、バッファメモリ1上にあるか否かを判定し
、プロセッサ2が参照したデータがバッファメモリ1上
にある場合に、ハードウェアが情報L0〜L3の設定を
行なう手順を示す。
まず、バッファメモリ1を制御するハードウェアは、プ
ロセッサ2が出力したアドレス信号を受信する(ステッ
プ521)。次に、各領域へ〇〜A3からタグ情報を読
み出す(ステップ522)。そして、アドレス信号のタ
グ情報と、各領域へ〇〜A、のタグ情報とを比較しくス
テップ323)、これらのタグ情報が一致するか否かを
判別する(ステップ524)・ ステップS24の答が否定(No)のときは、バッファ
メモリ1上にプロセッサ2が必要とするデータがないの
で、前述した第3図のフローチャートに示す手順に従っ
て、主記憶装置3から読み出したデータを特定の領域に
格納する。
ロセッサ2が出力したアドレス信号を受信する(ステッ
プ521)。次に、各領域へ〇〜A3からタグ情報を読
み出す(ステップ522)。そして、アドレス信号のタ
グ情報と、各領域へ〇〜A、のタグ情報とを比較しくス
テップ323)、これらのタグ情報が一致するか否かを
判別する(ステップ524)・ ステップS24の答が否定(No)のときは、バッファ
メモリ1上にプロセッサ2が必要とするデータがないの
で、前述した第3図のフローチャートに示す手順に従っ
て、主記憶装置3から読み出したデータを特定の領域に
格納する。
ステップS24の答が肯定(Yes)のときは、タグ情
報が一致するデータがプロセッサ2の必要とするデータ
であるので、一致したタグ情報がどの領域のものかを判
別する(ステップ525)。タグ情報が領域Aoのもの
のときは、情報L0及びLlにそれぞれOを設定する(
ステップ526)。タグ情報が領域A、のもののときは
、情報L0に0を設定し、情報L+に1を設定する(ス
テップ527)。タグ情報が領域A2のもののときは、
情報Laに1を設定し、情報L2にOを設定する(ステ
ップ828)。そして、タグ情報が領域A3のもののと
きは、情報L0及びLtにそれぞれlを設定する(ステ
ップ529)。
報が一致するデータがプロセッサ2の必要とするデータ
であるので、一致したタグ情報がどの領域のものかを判
別する(ステップ525)。タグ情報が領域Aoのもの
のときは、情報L0及びLlにそれぞれOを設定する(
ステップ526)。タグ情報が領域A、のもののときは
、情報L0に0を設定し、情報L+に1を設定する(ス
テップ527)。タグ情報が領域A2のもののときは、
情報Laに1を設定し、情報L2にOを設定する(ステ
ップ828)。そして、タグ情報が領域A3のもののと
きは、情報L0及びLtにそれぞれlを設定する(ステ
ップ529)。
その後、タグ情報が一致した領域のデータをプロセッサ
2に出力する(ステップ530)。
2に出力する(ステップ530)。
第6図は、本発明の方法による領域選択と領域参照順序
との関係を示すテーブル図である。
との関係を示すテーブル図である。
領域の参照順序が最近のものから順に八〇。
AI、A2 、A3であるとする。この場合、最も古く
は、領域A3が参照されている。このとき、第5図のス
テップS29で、情報L0及びLtは、それぞれ1にさ
れている。次に、領域A2が参照されている。このとき
、第5図のステップ828で、情報Loは1にされ、情
報L2は0にされている。その次に、領域A1が参照さ
れている。このとき、第5図のステップS27で、情報
り、はOにされ、情報り、は1にされている。次に、領
域へ〇が参照されている。このとき、第5図のステップ
S26で、情報L0及びLtは、それぞれ0にされてい
る。従って、最終的には、情報り。、Lt及びLtはす
べてOにされている。
は、領域A3が参照されている。このとき、第5図のス
テップS29で、情報L0及びLtは、それぞれ1にさ
れている。次に、領域A2が参照されている。このとき
、第5図のステップ828で、情報Loは1にされ、情
報L2は0にされている。その次に、領域A1が参照さ
れている。このとき、第5図のステップS27で、情報
り、はOにされ、情報り、は1にされている。次に、領
域へ〇が参照されている。このとき、第5図のステップ
S26で、情報L0及びLtは、それぞれ0にされてい
る。従って、最終的には、情報り。、Lt及びLtはす
べてOにされている。
この場合に、主記憶装置から転送されたデータが格納さ
れる領域は、情報L0及びLtがともにOで、第3図の
ステップS2及びステップS9がともに否定(No)な
ので、領域A、となる。
れる領域は、情報L0及びLtがともにOで、第3図の
ステップS2及びステップS9がともに否定(No)な
ので、領域A、となる。
領域の参照順序が最近のものから順にA。。
Ax 、At 、A3であるとする。この場合も、最終
的には、情報り、、L、及びり、はすべてOにされてお
り、主記憶装置から転送されたデータが格納される領域
は、領域A、となる。
的には、情報り、、L、及びり、はすべてOにされてお
り、主記憶装置から転送されたデータが格納される領域
は、領域A、となる。
領域の参照順序が最近のものから順にAo。
At 、 A3 、 A +であるとする。この場合も
、最終的には、情報LO,L、及びLtはすべてOにさ
れており、主記憶装置から転送されたデータが格納され
る領域は、領域A、となる。従って、この場合、最も古
い参照領域A1でなく、2番目に古い参照領域A、に、
転送データが格納される。
、最終的には、情報LO,L、及びLtはすべてOにさ
れており、主記憶装置から転送されたデータが格納され
る領域は、領域A、となる。従って、この場合、最も古
い参照領域A1でなく、2番目に古い参照領域A、に、
転送データが格納される。
同様に、領域の参照順序が最近のものから順にA、、A
、、A3.A2である場合、Ao。
、、A3.A2である場合、Ao。
As 、AI 、A2である場合は、最終的には、情報
Lo及びLlはともにOにされ、情報L2は1にされて
いる。従って、主記憶装置から転送されたデータが格納
される領域は、最も古い参照領域A2どなる。また、領
域の参照順序が最近のものから順にA。、As 、A2
、AIである場合も、最終的には、情報り。及びLlは
ともに0にされ、情報L2は1にされている。従って、
この場合、最も古い参照領域A、でなく、2番目に古い
参照領域A2に、転送データが格納される。
Lo及びLlはともにOにされ、情報L2は1にされて
いる。従って、主記憶装置から転送されたデータが格納
される領域は、最も古い参照領域A2どなる。また、領
域の参照順序が最近のものから順にA。、As 、A2
、AIである場合も、最終的には、情報り。及びLlは
ともに0にされ、情報L2は1にされている。従って、
この場合、最も古い参照領域A、でなく、2番目に古い
参照領域A2に、転送データが格納される。
同様に、領域の参照順序が最近のものから順にA I、
Ao 、A2 、Asである場合、A、。
Ao 、A2 、Asである場合、A、。
A2.Ao 、Asである場合は、最終的には、情報L
0及びL2はともにOにされ、情報L1は1にされてい
る。従って、主記憶装置から転送されたデータが格納さ
れる領域は、最も古い参照領域A3となる。また、領域
の参照順序が最近のものから順にA I、A2 、As
、Aoである場合も、最終的には、情報L0及びL2
はともに0にされ、情報L1は1にされている。従って
、この場合、最も古い参照領域へ〇でなく、2番目に古
い参照領域A、に、転送データが格納される。
0及びL2はともにOにされ、情報L1は1にされてい
る。従って、主記憶装置から転送されたデータが格納さ
れる領域は、最も古い参照領域A3となる。また、領域
の参照順序が最近のものから順にA I、A2 、As
、Aoである場合も、最終的には、情報L0及びL2
はともに0にされ、情報L1は1にされている。従って
、この場合、最も古い参照領域へ〇でなく、2番目に古
い参照領域A、に、転送データが格納される。
同様に、領域の参照順序が最近のものから順にAr 、
Ao 、A3.Axである場合、At。
Ao 、A3.Axである場合、At。
As 、Ao 、A2である場合は、最終的には、情報
り。は0にされ、情報り、及びL2はともに1にされて
いる。従って、主記憶装置から転送されたデータが格納
される領域は、最も古い参照領域A2となる。また、領
域の参照順序が最近のものから順にA r 、 As
、 A2 、 Aoである場合も、最終的には、情報り
。はOにされ、情報L1及びL2はともに1にされてい
る。従って、この場合、最も古い参照領域へ〇でなく、
2番目に古い参照領域A2に、転送データが格納される
。
り。は0にされ、情報り、及びL2はともに1にされて
いる。従って、主記憶装置から転送されたデータが格納
される領域は、最も古い参照領域A2となる。また、領
域の参照順序が最近のものから順にA r 、 As
、 A2 、 Aoである場合も、最終的には、情報り
。はOにされ、情報L1及びL2はともに1にされてい
る。従って、この場合、最も古い参照領域へ〇でなく、
2番目に古い参照領域A2に、転送データが格納される
。
同様に、領域の参照順序が最近のものから順にAa 、
As 、Ao 、AIである場合、A2Ao 、A3
、AIである場合は、最終的には、情報L0はlにされ
、情報L1及びL2はともにOにされている。従って、
主記憶装置から転送されたデータが格納される領域は、
最も古い参照領域A、どなる。また、領域の参照順序が
最近のものから順にA2 、 Ao 、 A r 、
A!である場合も、最終的には、情報Loは1にされ、
情報り。
As 、Ao 、AIである場合、A2Ao 、A3
、AIである場合は、最終的には、情報L0はlにされ
、情報L1及びL2はともにOにされている。従って、
主記憶装置から転送されたデータが格納される領域は、
最も古い参照領域A、どなる。また、領域の参照順序が
最近のものから順にA2 、 Ao 、 A r 、
A!である場合も、最終的には、情報Loは1にされ、
情報り。
及びL2はともにOにされている。従って、この場合、
最も古い参照領域A3でなく、2番目に古い参照領域A
、に、転送データが格納される。
最も古い参照領域A3でなく、2番目に古い参照領域A
、に、転送データが格納される。
同様に、領域の参照順序が最近のものから順にA3.A
t 、Ao 、AIである場合、A、。
t 、Ao 、AIである場合、A、。
Ao 、A2 、AIである場合は、最終的には、情報
Lo及びL2はともに1にされ、情報L+は0にされて
いる。従って、主記憶装置から転送されたデータが格納
される領域は、最も古い参照領域AIとなる。また5領
域の参照順序が最近のものから順にAs 、Ao 、A
I、A2である場合も、最終的には、情報Lo及びL
2はともに1にされ、情報L+はOにされている。従っ
て、この場合、最も古い参照領域A2でなく、2番目に
古い参照領域AIに、転送データが格納される。
Lo及びL2はともに1にされ、情報L+は0にされて
いる。従って、主記憶装置から転送されたデータが格納
される領域は、最も古い参照領域AIとなる。また5領
域の参照順序が最近のものから順にAs 、Ao 、A
I、A2である場合も、最終的には、情報Lo及びL
2はともに1にされ、情報L+はOにされている。従っ
て、この場合、最も古い参照領域A2でなく、2番目に
古い参照領域AIに、転送データが格納される。
同様に、領域の参照順序が最近のものから順にA2 、
A3 、A1.Aaである場合、A2゜AI 、A3
、Aoである場合は、最終的には、情報り。及びLlは
ともに1にされ、情報L2はOにされている。従って、
主記憶装置から転送されたデータが格納される領域は、
最も古い参照領域へ〇となる。また、領域の参照順序が
最近のものから順にA2.A 1.Ao 、Asである
場合も、最終的には、情報Lo及びLlはともに1にさ
れ、情報L2はOにされている。従って、この場合、最
も古い参照領域A3でなく、2番目に古い参照領域へ〇
に、転送データが格納される。
A3 、A1.Aaである場合、A2゜AI 、A3
、Aoである場合は、最終的には、情報り。及びLlは
ともに1にされ、情報L2はOにされている。従って、
主記憶装置から転送されたデータが格納される領域は、
最も古い参照領域へ〇となる。また、領域の参照順序が
最近のものから順にA2.A 1.Ao 、Asである
場合も、最終的には、情報Lo及びLlはともに1にさ
れ、情報L2はOにされている。従って、この場合、最
も古い参照領域A3でなく、2番目に古い参照領域へ〇
に、転送データが格納される。
同様に、領域の参照順序が最近のものから順にAs 、
A2 、At 、Aoである場合、A3゜At 、A2
、Aoである場合は、最終的には、情報Lo、L!及
びL2はすべて1にされている。
A2 、At 、Aoである場合、A3゜At 、A2
、Aoである場合は、最終的には、情報Lo、L!及
びL2はすべて1にされている。
従って、主記憶装置から転送されたデータが格納される
領域は、最も古い参照領域へ〇となる。また、領域の参
照順序が最近のものから順にA、5A+ 、Ao 、A
2である場合も、最終的には、情報Lo、L+及びL2
はすべてlにされている。
領域は、最も古い参照領域へ〇となる。また、領域の参
照順序が最近のものから順にA、5A+ 、Ao 、A
2である場合も、最終的には、情報Lo、L+及びL2
はすべてlにされている。
従って、この場合、最も古い参照領域A2でなく、2番
目に古い参照領域へ〇に、転送データが格納される。
目に古い参照領域へ〇に、転送データが格納される。
以上のようにして、第1図の主記憶装置3からの転送デ
ータは、2/3の確率で最も古い参照領域に格納され、
1/3の確率で2番目に古い参照領域に格納される。
ータは、2/3の確率で最も古い参照領域に格納され、
1/3の確率で2番目に古い参照領域に格納される。
このようにして、24通りの参照順序が、情報Lo、L
+及びL2によって8通りの状態に縮退される。従って
、少ない情報量で、容易に、LRU方式のデータ転送制
御を行える。
+及びL2によって8通りの状態に縮退される。従って
、少ない情報量で、容易に、LRU方式のデータ転送制
御を行える。
本発明は、以上の実施例に限定されない。
即ち、上記実施例においては、第1図のバッファメモリ
1を4つの領域に分割した場合のデータ転送制御方法の
詳細を説明したが、本発明の方法はこれに限らず、バッ
ファメモリを任意の複数の領域に分割した場合にも適用
できる。即ち、バッファメモリが2’ (nは自然数
)でない数に分割されている場合にも適用できる0例え
ば、第7図に示すように、バッファメモリが3−)、の
、領域に分割されているときは、領域A o ’、−A
−メ群と、領域A2の群とに区分し、情報Loによろて
これらの群のいずれかを選択する。そして、領域Ao、
A+の群を選択したときは、次に、領域へ〇と、領域A
+とに区分し、情報Liによってこれらの領域のいずれ
かを選択する。
1を4つの領域に分割した場合のデータ転送制御方法の
詳細を説明したが、本発明の方法はこれに限らず、バッ
ファメモリを任意の複数の領域に分割した場合にも適用
できる。即ち、バッファメモリが2’ (nは自然数
)でない数に分割されている場合にも適用できる0例え
ば、第7図に示すように、バッファメモリが3−)、の
、領域に分割されているときは、領域A o ’、−A
−メ群と、領域A2の群とに区分し、情報Loによろて
これらの群のいずれかを選択する。そして、領域Ao、
A+の群を選択したときは、次に、領域へ〇と、領域A
+とに区分し、情報Liによってこれらの領域のいずれ
かを選択する。
このように、バッファメモリがn個の領域に分割されて
いるときは、n−1ビツトの情報L0〜Ln−2によっ
て、領域A。−An−tの区分と選択を繰り返して最終
的に1の領域が選択される。
いるときは、n−1ビツトの情報L0〜Ln−2によっ
て、領域A。−An−tの区分と選択を繰り返して最終
的に1の領域が選択される。
従って、n個の領域の参照順序を表す情報の量が、従来
はn(n−1)/2ビットであったので、nが大きくな
るほど、従来より、情報量が少なくなって、制御が容易
となる。
はn(n−1)/2ビットであったので、nが大きくな
るほど、従来より、情報量が少なくなって、制御が容易
となる。
(発明の効果)
以上詳述したように、本発明のバッファメモリへのデー
タ転送制御方法は、バッファメモリ内の複数の領域を2
つずつの群に区分していき、順次いずれか一方の群を選
択して、最終的に1つの領域を選び、その領域にデータ
を格納するようにしたので、次のような効果がある。
タ転送制御方法は、バッファメモリ内の複数の領域を2
つずつの群に区分していき、順次いずれか一方の群を選
択して、最終的に1つの領域を選び、その領域にデータ
を格納するようにしたので、次のような効果がある。
即ち、LRU方式による主記憶装置からバッファメモリ
へのデータ転送制御を、少ない情報量で行うことができ
る。従って、制御のための情報を記憶する領域を節約す
ることができるとともに、容易で円滑な制御を行なうこ
とができる。
へのデータ転送制御を、少ない情報量で行うことができ
る。従って、制御のための情報を記憶する領域を節約す
ることができるとともに、容易で円滑な制御を行なうこ
とができる。
第1図は本発明のバッファメモリへのデータ転送制御方
法を示す説明図、第2図は従来のバッファメモリへのデ
ータ転送制御方法を示す説明図、第3図は本発明に係る
データ転送制御手順を示すフローチャート、第4図は本
発明の方法を適用したバッファメモリの制御装置の構成
図、第5図はプロセッサによるバッファメモリの参照時
の処理手順を示すフローチャート、第6図は本発明方法
による領域選択のすべての、場合を示すテーブル図、第
7図は本発明方法の他の具体例を示す説明図である。 1・・・バッファメモリ、2・・・プロセッサ、3・・
・主記憶装置、Ao 、At 、Az 、As・・・領
域。 特許出願人 沖電気工業株式会社 本発明のパフファメモリへのデータ転送am方法を示す
説明図第 1 図 従来のパフファメモリへのデータ転送制御方法を示す説
明図第 2 図 本発明方法の他の具体例を示す説明図 第7図 プロセッサによるバッファメモリの#層時の処理手順を
示すフローチャート第5図 本晃明方法による領域選択のすべての場合を示すテーブ
ル図第6図
法を示す説明図、第2図は従来のバッファメモリへのデ
ータ転送制御方法を示す説明図、第3図は本発明に係る
データ転送制御手順を示すフローチャート、第4図は本
発明の方法を適用したバッファメモリの制御装置の構成
図、第5図はプロセッサによるバッファメモリの参照時
の処理手順を示すフローチャート、第6図は本発明方法
による領域選択のすべての、場合を示すテーブル図、第
7図は本発明方法の他の具体例を示す説明図である。 1・・・バッファメモリ、2・・・プロセッサ、3・・
・主記憶装置、Ao 、At 、Az 、As・・・領
域。 特許出願人 沖電気工業株式会社 本発明のパフファメモリへのデータ転送am方法を示す
説明図第 1 図 従来のパフファメモリへのデータ転送制御方法を示す説
明図第 2 図 本発明方法の他の具体例を示す説明図 第7図 プロセッサによるバッファメモリの#層時の処理手順を
示すフローチャート第5図 本晃明方法による領域選択のすべての場合を示すテーブ
ル図第6図
Claims (1)
- 【特許請求の範囲】 主記憶装置に格納されたデータの一部を転記するバッフ
ァメモリを複数の領域に分割し、前記領域単位で前記デ
ータの更新をする場合において、前記すべての領域を、
まず、2群に区分して、プロセッサにより最新にデータ
を参照された領域が、前記いずれの群に含まれるかを判
断し、前記最新にデータ参照の対象とならなかった方の
群に含まれる領域を選択し、 前記選択された領域が複数ある場合、再び、前記区分と
前記判断を繰り返して、 最終的に1の領域を選択し、 当該最終選択された領域に前記主記憶装置に格納された
データの一部を転記して更新することを特徴とするバッ
ファメモリへのデータ転送制御方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63292485A JPH02139647A (ja) | 1988-11-21 | 1988-11-21 | バッファメモリへのデータ転送制御方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63292485A JPH02139647A (ja) | 1988-11-21 | 1988-11-21 | バッファメモリへのデータ転送制御方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02139647A true JPH02139647A (ja) | 1990-05-29 |
Family
ID=17782428
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63292485A Pending JPH02139647A (ja) | 1988-11-21 | 1988-11-21 | バッファメモリへのデータ転送制御方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH02139647A (ja) |
-
1988
- 1988-11-21 JP JP63292485A patent/JPH02139647A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4244033A (en) | Method and system for operating an associative memory | |
| JP2571342B2 (ja) | データをキャッシュ・メモリに貯蔵するシステム及び方法 | |
| US4322815A (en) | Hierarchical data storage system | |
| US4755936A (en) | Apparatus and method for providing a cache memory unit with a write operation utilizing two system clock cycles | |
| US20040019737A1 (en) | Multiple-RAM CAM device and method therefor | |
| CN114036077A (zh) | 数据处理方法及相关装置 | |
| JPH02139647A (ja) | バッファメモリへのデータ転送制御方法 | |
| EP0261947A1 (en) | Computer system | |
| US5953717A (en) | Iterative search method builds key list for speeding up future searches | |
| US20260044736A1 (en) | Neural network system using multi format data and method of operating the same | |
| JPH05120133A (ja) | キヤツシユ装置 | |
| JPS6084646A (ja) | テ−ブル探索方式 | |
| JPS6046456B2 (ja) | デ−タアクセス装置 | |
| JPH0612331A (ja) | キャッシュメモリ制御装置 | |
| JPH07152650A (ja) | キャッシュ制御装置 | |
| JPH04199338A (ja) | データベース管理システム | |
| JPH04288647A (ja) | キャッシュメモリにおける置き換え制御装置 | |
| JP2669311B2 (ja) | ビットマップファイルアクセスシステム | |
| JPH08241242A (ja) | メモリ制御方法およびメモリ制御回路 | |
| JPS60169946A (ja) | タスク制御方式 | |
| JPH02150920A (ja) | 最大値データ検索方式 | |
| JPH02156352A (ja) | キャッシュメモリ | |
| JPS6180440A (ja) | バツフアメモリ制御方式 | |
| JPS61208153A (ja) | ペ−ジ履歴メモリ装置 | |
| JPH1124993A (ja) | ライト命令処理装置 |