JPS5833968B2 - メモリ利用管理方式 - Google Patents
メモリ利用管理方式Info
- Publication number
- JPS5833968B2 JPS5833968B2 JP54126550A JP12655079A JPS5833968B2 JP S5833968 B2 JPS5833968 B2 JP S5833968B2 JP 54126550 A JP54126550 A JP 54126550A JP 12655079 A JP12655079 A JP 12655079A JP S5833968 B2 JPS5833968 B2 JP S5833968B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- processor
- register
- contents
- 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
Links
Landscapes
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】
本発明はメモリ利用管理方式に係り、特にメモリ内のデ
ータの属性を示す情報を格納するプロセッサ内のテーブ
ルの管理方式に関する。
ータの属性を示す情報を格納するプロセッサ内のテーブ
ルの管理方式に関する。
一般に、複数個のプロセッサで共用メモリ内にある同一
のデータを共用し、かつ共用メモリを仮想的に拡張して
利用する場合、この共用データを共用メモリから追いだ
す時、各プロセッサ内にある”共用メモリにどんなデー
タが入っているか”を示す情報、つまりデータの属性を
記憶したテーブルを書きかえてやる必要がある。
のデータを共用し、かつ共用メモリを仮想的に拡張して
利用する場合、この共用データを共用メモリから追いだ
す時、各プロセッサ内にある”共用メモリにどんなデー
タが入っているか”を示す情報、つまりデータの属性を
記憶したテーブルを書きかえてやる必要がある。
一番単純な方法は、一つでも共用データを追いだした時
、各プロセッサ内にあるテーブルの内容を無効にし、あ
らためてその内容を書き換える方法がある。
、各プロセッサ内にあるテーブルの内容を無効にし、あ
らためてその内容を書き換える方法がある。
この方法は単純ではあるが、かなりムダな操作を含んで
いる。
いる。
またこれらのテーブルは通常あまり容量が大きくなく、
メモリ内にあるすべてのデータの属性の情報を格納して
おくことはできない。
メモリ内にあるすべてのデータの属性の情報を格納して
おくことはできない。
それゆえすべてのデータの属性の情報はメモリコントロ
ーラ内のテーブルに格納しておき、比較的良く使われる
ものだけをプロセッサ内のテーブルに取り込むのが普通
である。
ーラ内のテーブルに格納しておき、比較的良く使われる
ものだけをプロセッサ内のテーブルに取り込むのが普通
である。
この時、どのデータの属性の情報を取り込めば良いか、
言いかえればどの情報をテーブルから追いだせばよいか
を決定するのは簡単ではない。
言いかえればどの情報をテーブルから追いだせばよいか
を決定するのは簡単ではない。
従来、どの情報を追いだすかをランダムに決めたり、こ
こ最近量も使われていないものを選ぶ方法などがある。
こ最近量も使われていないものを選ぶ方法などがある。
前者はそれを実現するハードウェアは簡単だが、プログ
ラムの局地性を無視している。
ラムの局地性を無視している。
後者はプログラムの局地性を有効に利用しているが、従
来のこの種の方法ではハードウェアが複雑になるきらい
がある。
来のこの種の方法ではハードウェアが複雑になるきらい
がある。
本発明は以上の点を考慮してなされたもので、その目的
はメモリ内のデータの属性を記憶したプロセッサ内のテ
ーブルを、比較的簡単なハードウェアで比較的近い将来
使われそうなものに関する情報およびそれ以外でもどう
しても追い出したくない情報が残るように効率的に管理
するメモリ利用管理方式を提供するにある。
はメモリ内のデータの属性を記憶したプロセッサ内のテ
ーブルを、比較的簡単なハードウェアで比較的近い将来
使われそうなものに関する情報およびそれ以外でもどう
しても追い出したくない情報が残るように効率的に管理
するメモリ利用管理方式を提供するにある。
以下、本発明を図を参照しながら詳しく説明する。
第1図は本発明の一実施例の概要を説明するためのマル
チプロセッサシステムの概略構成図であり、1〜4はプ
ロセッサ、5はメモリコントローラ、6は共用メモリを
示す。
チプロセッサシステムの概略構成図であり、1〜4はプ
ロセッサ、5はメモリコントローラ、6は共用メモリを
示す。
このようなマルチプロセッサシステムでメモリ6内のデ
ータを共用する場合、プロセッサ1〜4内のテーブルに
記憶されている、メモリ6内にどのようなデータが格納
されているかを示す情報、つまり属性を示す情報と、メ
モリ6内のデータとの対応関係が常にとられていなけれ
ばならない。
ータを共用する場合、プロセッサ1〜4内のテーブルに
記憶されている、メモリ6内にどのようなデータが格納
されているかを示す情報、つまり属性を示す情報と、メ
モリ6内のデータとの対応関係が常にとられていなけれ
ばならない。
今、第2図に示すようにプロセッサ1と2がメモリ6内
の同一データ61を共用していたとする。
の同一データ61を共用していたとする。
そしてこのデータの属性に関する情報(データ61がメ
モリのどの位置にあるか、どのような性質をもつか・・
・など)を2つのプロセッサ1,2がそれ自身のテーフ
゛ル10,2Qのエントリ12゜21に格納していたと
する。
モリのどの位置にあるか、どのような性質をもつか・・
・など)を2つのプロセッサ1,2がそれ自身のテーフ
゛ル10,2Qのエントリ12゜21に格納していたと
する。
この状態で何らかの理由で一方のプロセッサ、例えば1
がデータ61の属性を変えると、プロセッサ2内のテー
ブル20の内容は偽になってしまう。
がデータ61の属性を変えると、プロセッサ2内のテー
ブル20の内容は偽になってしまう。
このままの状態ではシステムの正しい動作は期待できず
テーブル20の内容を修正しなければならない。
テーブル20の内容を修正しなければならない。
これを実現するため、第3図のように各プロセッサ1〜
4内に1ビツトのレジスタ101〜104とデータ名を
格納するレジスタ201〜204を設ける。
4内に1ビツトのレジスタ101〜104とデータ名を
格納するレジスタ201〜204を設ける。
ここで共用データの属性を変えようとするプロセッサ、
第2図でいえばデータ61の属性を変えようとしたプロ
セッサ1は、メモリコントローラ5に属性を変えようと
しているデータ61の名称を送る。
第2図でいえばデータ61の属性を変えようとしたプロ
セッサ1は、メモリコントローラ5に属性を変えようと
しているデータ61の名称を送る。
メモリコントローラ5は各プロセッサ1〜4内の1ビツ
トのレジスタ101〜104のすべてが”■”状態であ
ることを確認したあと、プロセッサ1から送られてきた
データ名をすべてのプロセッサ1〜4内のレジスタ20
1〜204に転送し、1ビツトのレジスタ101〜10
4をすべて0”状態にする。
トのレジスタ101〜104のすべてが”■”状態であ
ることを確認したあと、プロセッサ1から送られてきた
データ名をすべてのプロセッサ1〜4内のレジスタ20
1〜204に転送し、1ビツトのレジスタ101〜10
4をすべて0”状態にする。
このように1ビツトのレジスタ101〜104が”O”
状態にされると、各プロセッサ1〜4は各自のテーブル
10〜40より指示されたデータ名を消去する。
状態にされると、各プロセッサ1〜4は各自のテーブル
10〜40より指示されたデータ名を消去する。
消去し終れば1ビツトのレジスタ101〜104を”1
”状態にする。
”状態にする。
メモリコントローラ5はレジスタ101〜104のすべ
てが1”状態になったのを検出すれば、属性を変えよう
としたプロセッサ1にその旨を知らせ、そしてはじめて
そのプロセッサ1は共用データ61の属性を変えること
ができる。
てが1”状態になったのを検出すれば、属性を変えよう
としたプロセッサ1にその旨を知らせ、そしてはじめて
そのプロセッサ1は共用データ61の属性を変えること
ができる。
その変えたあとの新しい属性はメモリテーブル5内のテ
ーブル50に格納しておく。
ーブル50に格納しておく。
もし後にデータ61の新しい属性を知りたければ、プロ
セッサ1〜4はこのテーブル60を参照すれば良い。
セッサ1〜4はこのテーブル60を参照すれば良い。
このようにすることにより、共用メモリ6内のデータと
、プロセッサ1〜4内のテーブル10〜40に取り込ま
れたデータの属性を示す情報との対応をとることができ
る。
、プロセッサ1〜4内のテーブル10〜40に取り込ま
れたデータの属性を示す情報との対応をとることができ
る。
さて第2図に示した各プロセッサ1〜4内にあるデータ
の属性に関する情報を貯蔵したテーブル10〜40は容
量が充分に大きくなく、メモリ5内のすべてのデータの
属性を格納できない場合がある。
の属性に関する情報を貯蔵したテーブル10〜40は容
量が充分に大きくなく、メモリ5内のすべてのデータの
属性を格納できない場合がある。
この場合はメモリコントローラ5内にあるテーブル50
に格納されたメモリ6内のすべてのデータの属性を示す
情報の一部を、各プロセッサ1〜4内のテーブル10〜
40に転送することになる。
に格納されたメモリ6内のすべてのデータの属性を示す
情報の一部を、各プロセッサ1〜4内のテーブル10〜
40に転送することになる。
この時、今後良く利用されるデータの属性に関する情報
をテーブル10〜40に格納することが得策である。
をテーブル10〜40に格納することが得策である。
計算機におけるプログラムの性質として、比較的限られ
た範囲のデータを参照する傾向、すなわちプログラムの
局地性傾向があり、この性質を利用すればプロセッサ1
〜4内の容量の小さなテーブル10〜40に情報のある
確率を増加させることができる。
た範囲のデータを参照する傾向、すなわちプログラムの
局地性傾向があり、この性質を利用すればプロセッサ1
〜4内の容量の小さなテーブル10〜40に情報のある
確率を増加させることができる。
すなわち、最近にアクセスされたデータの属性に関する
情報のみをテーブル10〜40に格納するように、いい
換えると最も最近使われていない情報をテーブル10〜
40から追いだすようにしてやれば良い。
情報のみをテーブル10〜40に格納するように、いい
換えると最も最近使われていない情報をテーブル10〜
40から追いだすようにしてやれば良い。
このため、本発明では第4図に示すように第1゜第2お
よび第3のレジスタ301,302,303を設置する
。
よび第3のレジスタ301,302,303を設置する
。
これらのレジスタ301,302゜303の各ビットは
それぞれ第2図のプロセッサ1〜4内のテーブル10〜
40の各エントリ11゜12.13〜41,42.43
に対応している。
それぞれ第2図のプロセッサ1〜4内のテーブル10〜
40の各エントリ11゜12.13〜41,42.43
に対応している。
プロセッサ1〜4がメモリ6内のデータをアクセスする
時は、そのデータの属性を知るため自分自身の内にある
テーブル10〜40の内容を参照する。
時は、そのデータの属性を知るため自分自身の内にある
テーブル10〜40の内容を参照する。
この時テーブル10〜40の参照したエントリーに対応
したレジスタ301のビットを”1”にする。
したレジスタ301のビットを”1”にする。
そしてもしレジスタ301のビットのうち一定数以上(
例えば過半数)が”■”になると、これを検出回路30
4が検出してレジスタ301の内容とレジスタ303の
内容との論理和をオア回路305でとり、この論理和を
レジスタ302に転送し、レジスタ301自身はすべて
のビットを”0″状態にクリ、アする。
例えば過半数)が”■”になると、これを検出回路30
4が検出してレジスタ301の内容とレジスタ303の
内容との論理和をオア回路305でとり、この論理和を
レジスタ302に転送し、レジスタ301自身はすべて
のビットを”0″状態にクリ、アする。
なお、レジスタ303はテーブル10〜40の各エント
リーのうち、どうしても追い出したくない情報が格納し
である特定のエントリーに対応するビットのみ1″′が
セットされている。
リーのうち、どうしても追い出したくない情報が格納し
である特定のエントリーに対応するビットのみ1″′が
セットされている。
ここで、もしプロセッサ1〜4内のテーブル10〜40
からどれか1つの情報を追いだす必要にせまられれば、
レジスタ301.302の内容の相対応するビット毎の
論理和をオア回路306でとり、その論理和が10”に
なったビットに対応するテーブル10〜40内のエント
リーの中から1つの選択してその内容を追いだせばよい
。
からどれか1つの情報を追いだす必要にせまられれば、
レジスタ301.302の内容の相対応するビット毎の
論理和をオア回路306でとり、その論理和が10”に
なったビットに対応するテーブル10〜40内のエント
リーの中から1つの選択してその内容を追いだせばよい
。
このようにすることにより、プロセッサ1〜4内のテー
ブル10〜40には比較的最近に参照された情報を残す
ことが可能であり、さらに最近に参照されたことがなく
とも、レジスタ303の”■”がセットされたビットに
対応するテーブル10〜40内の特定のデータに関して
は追いださないようにすることができる。
ブル10〜40には比較的最近に参照された情報を残す
ことが可能であり、さらに最近に参照されたことがなく
とも、レジスタ303の”■”がセットされたビットに
対応するテーブル10〜40内の特定のデータに関して
は追いださないようにすることができる。
以上詳しく説明したように、本発明によればメモリ内の
データの属性を示す情報の一部を格納したプロセッサ内
のテーブルの各エントリーに各ビットを対応させた3つ
のシフトレジスタを主体とする比較的簡単なハードウェ
アを設けることによって、プロセッサ内のテーブルの内
容の一部を追い出して新たな情報に書き換える必要が生
じたとき、追い出すのに一番都合のよい、つまり最も最
近使われておらず、しかも追い出しても支障のない情報
を容易に選ぶことができるという利点を有する。
データの属性を示す情報の一部を格納したプロセッサ内
のテーブルの各エントリーに各ビットを対応させた3つ
のシフトレジスタを主体とする比較的簡単なハードウェ
アを設けることによって、プロセッサ内のテーブルの内
容の一部を追い出して新たな情報に書き換える必要が生
じたとき、追い出すのに一番都合のよい、つまり最も最
近使われておらず、しかも追い出しても支障のない情報
を容易に選ぶことができるという利点を有する。
第1図はメモリを共用したマルチプロセッサシステムの
概略構成図、第2図はマルチプロセッサシステムにおけ
るデータの共用の様子を示した図、第3図はマルチプロ
セッサシステムにおいてメモリとプロセッサに取り込ん
だ情報を一致させる方法を示した図、第4図はこの発明
の一実施例の要部であるプロセッサ内のテーブルに格納
された情報の中から比較的使われないものを選びだす回
路の回路図である。 1〜4・・・・・・フロセッサ、5・・・・・・メモリ
コントローラ、6・・・・・・メモリ、10〜40・・
・・・・テーブル、50・・・・・・テーブル、301
,302,303・・・・・・レジスタ、304・・・
・・・検出回路、305,306・・・・・・オア回路
。
概略構成図、第2図はマルチプロセッサシステムにおけ
るデータの共用の様子を示した図、第3図はマルチプロ
セッサシステムにおいてメモリとプロセッサに取り込ん
だ情報を一致させる方法を示した図、第4図はこの発明
の一実施例の要部であるプロセッサ内のテーブルに格納
された情報の中から比較的使われないものを選びだす回
路の回路図である。 1〜4・・・・・・フロセッサ、5・・・・・・メモリ
コントローラ、6・・・・・・メモリ、10〜40・・
・・・・テーブル、50・・・・・・テーブル、301
,302,303・・・・・・レジスタ、304・・・
・・・検出回路、305,306・・・・・・オア回路
。
Claims (1)
- 1 メモリコントローラ内にメモリ内の各データの属性
を示す情報を格納したテーブルを有し、前記メモリ内の
データを利用するプロセッサ内に前記メモリコントロー
ラ内のテーブルの一部の内容を格納するテーブルと、こ
のテーブルの各エントリーにそれぞれ各ビットが対応し
た第1、第2および第3のレジスタを有し、前記プロセ
ッサ内のテーブルに属性を示す情報が格納された前記メ
モリ内のデータが前記プロセッサでアクセスされると、
その属性を示す情報が格納された前記プロセッサ内のテ
ーブルのエントリーに対応する第1のレジスタのビット
を”1”にセットシ第1のレジスタのビットのうち一定
数以上が”1”になると、第1のレジスタの内容と、前
記プロセッサ内のテーブルの特定のエントリーに対応す
るビットに′1”がセットされた第3のレジスタの内容
との論理和を第2のレジスタに転送すると同時に第1の
レジスタを全ビット″0”状態にクリアし、前記プロセ
ッサ内のテーブルに格納された内容の一部を追い出す必
要が生じた場合は、第1および第2のレジスタの相対応
するビットが共に”0”状態となっているビットに対応
するエントリーの中の1つの内容を追出すようにしたこ
とを特徴とするメモリ利用管理方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP54126550A JPS5833968B2 (ja) | 1979-10-01 | 1979-10-01 | メモリ利用管理方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP54126550A JPS5833968B2 (ja) | 1979-10-01 | 1979-10-01 | メモリ利用管理方式 |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP50065539A Division JPS51141544A (en) | 1975-05-31 | 1975-05-31 | Method of memory utilization control |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS5547548A JPS5547548A (en) | 1980-04-04 |
| JPS5833968B2 true JPS5833968B2 (ja) | 1983-07-23 |
Family
ID=14937942
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP54126550A Expired JPS5833968B2 (ja) | 1979-10-01 | 1979-10-01 | メモリ利用管理方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS5833968B2 (ja) |
-
1979
- 1979-10-01 JP JP54126550A patent/JPS5833968B2/ja not_active Expired
Also Published As
| Publication number | Publication date |
|---|---|
| JPS5547548A (en) | 1980-04-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TW409215B (en) | Parallel file system and method for multiple node file access | |
| TW440769B (en) | Parallel file system and method for granting byte range tokens | |
| TW445405B (en) | Computer system with power management scheme for DRAM devices | |
| US6023747A (en) | Method and system for handling conflicts between cache operation requests in a data processing system | |
| US7234076B2 (en) | Multi-level undo of main-memory and volatile resources | |
| JP4557975B2 (ja) | 非共有データベースシステムにおける所有権の再割当 | |
| TW412692B (en) | Parallel file system and method with a metadata node | |
| US6353875B1 (en) | Upgrading of snooper cache state mechanism for system bus with read/castout (RCO) address transactions | |
| US5802571A (en) | Apparatus and method for enforcing data coherency in an information handling system having multiple hierarchical levels of cache memory | |
| JPH11282821A5 (ja) | ||
| JP2004062869A (ja) | コンピュータ・システムでのトランザクションの選択的キャッシングの方法および装置 | |
| JP2001507845A (ja) | キャッシュメモリにおけるプリフェッチ管理 | |
| KR101587995B1 (ko) | 적응적 로깅 장치 및 방법 | |
| JPH10254748A (ja) | 分散共有メモリ一貫性最適制御方法 | |
| US11481321B2 (en) | Asynchronous garbage collection in parallel transaction system without locking | |
| US7051164B2 (en) | Coherence-free cache | |
| US8825718B2 (en) | Methods and apparatus for marking objects for garbage collection in an object-based memory system | |
| WO2024239835A1 (zh) | 记录内存状态的方法、装置、计算机设备及存储介质 | |
| CN115437798A (zh) | 共享内存的数据处理方法、装置、设备和介质 | |
| US7590845B2 (en) | Key cache management through multiple localities | |
| US20180307601A1 (en) | Managing cache operations using epochs | |
| JP2005512192A (ja) | キャッシュメモリをメインメモリに同期させる方法 | |
| JP2007004802A (ja) | データ処理装置におけるスヌープ・オペレーションの管理 | |
| JPS5833968B2 (ja) | メモリ利用管理方式 | |
| US6910107B1 (en) | Method and apparatus for invalidation of data in computer systems |