JPS5833968B2 - Memory usage management method - Google Patents

Memory usage management method

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
Application number
JP54126550A
Other languages
Japanese (ja)
Other versions
JPS5547548A (en
Inventor
操 宮田
明 前田
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
Tokyo Shibaura Electric Co 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 Tokyo Shibaura Electric Co Ltd filed Critical Tokyo Shibaura Electric Co Ltd
Priority to JP54126550A priority Critical patent/JPS5833968B2/en
Publication of JPS5547548A publication Critical patent/JPS5547548A/en
Publication of JPS5833968B2 publication Critical patent/JPS5833968B2/en
Expired legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 本発明はメモリ利用管理方式に係り、特にメモリ内のデ
ータの属性を示す情報を格納するプロセッサ内のテーブ
ルの管理方式に関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a memory usage management system, and more particularly to a management system for a table in a processor that stores information indicating attributes of data in memory.

一般に、複数個のプロセッサで共用メモリ内にある同一
のデータを共用し、かつ共用メモリを仮想的に拡張して
利用する場合、この共用データを共用メモリから追いだ
す時、各プロセッサ内にある”共用メモリにどんなデー
タが入っているか”を示す情報、つまりデータの属性を
記憶したテーブルを書きかえてやる必要がある。
In general, when multiple processors share the same data in shared memory and use the shared memory by expanding it virtually, when this shared data is flushed out of the shared memory, each processor It is necessary to rewrite the table that stores information indicating what kind of data is stored in the shared memory, that is, the attributes of the data.

一番単純な方法は、一つでも共用データを追いだした時
、各プロセッサ内にあるテーブルの内容を無効にし、あ
らためてその内容を書き換える方法がある。
The simplest method is to invalidate the contents of the table in each processor when even one piece of shared data is removed, and then rewrite the contents.

この方法は単純ではあるが、かなりムダな操作を含んで
いる。
Although this method is simple, it involves a lot of unnecessary operations.

またこれらのテーブルは通常あまり容量が大きくなく、
メモリ内にあるすべてのデータの属性の情報を格納して
おくことはできない。
Also, these tables usually do not have a large capacity;
It is not possible to store information about the attributes of all data in memory.

それゆえすべてのデータの属性の情報はメモリコントロ
ーラ内のテーブルに格納しておき、比較的良く使われる
ものだけをプロセッサ内のテーブルに取り込むのが普通
である。
Therefore, it is common practice to store all data attribute information in a table in the memory controller, and to import only relatively frequently used data into a table in the processor.

この時、どのデータの属性の情報を取り込めば良いか、
言いかえればどの情報をテーブルから追いだせばよいか
を決定するのは簡単ではない。
At this time, which data attribute information should be imported?
In other words, deciding what information to push off the table is not easy.

従来、どの情報を追いだすかをランダムに決めたり、こ
こ最近量も使われていないものを選ぶ方法などがある。
Conventionally, methods include randomly deciding which information to export, or selecting information that has not been used in any recent amount.

前者はそれを実現するハードウェアは簡単だが、プログ
ラムの局地性を無視している。
The former uses simple hardware to implement it, but ignores the locality of the program.

後者はプログラムの局地性を有効に利用しているが、従
来のこの種の方法ではハードウェアが複雑になるきらい
がある。
The latter makes effective use of program locality, but conventional methods of this type tend to complicate the hardware.

本発明は以上の点を考慮してなされたもので、その目的
はメモリ内のデータの属性を記憶したプロセッサ内のテ
ーブルを、比較的簡単なハードウェアで比較的近い将来
使われそうなものに関する情報およびそれ以外でもどう
しても追い出したくない情報が残るように効率的に管理
するメモリ利用管理方式を提供するにある。
The present invention has been made in consideration of the above points, and its purpose is to create a table in a processor that stores attributes of data in memory using relatively simple hardware that is likely to be used in the relatively near future. To provide a memory use management method that efficiently manages information and other information that is not desired to be deleted.

以下、本発明を図を参照しながら詳しく説明する。Hereinafter, the present invention will be explained in detail with reference to the drawings.

第1図は本発明の一実施例の概要を説明するためのマル
チプロセッサシステムの概略構成図であり、1〜4はプ
ロセッサ、5はメモリコントローラ、6は共用メモリを
示す。
FIG. 1 is a schematic configuration diagram of a multiprocessor system for explaining the outline of an embodiment of the present invention, in which 1 to 4 represent processors, 5 represents a memory controller, and 6 represents a shared memory.

このようなマルチプロセッサシステムでメモリ6内のデ
ータを共用する場合、プロセッサ1〜4内のテーブルに
記憶されている、メモリ6内にどのようなデータが格納
されているかを示す情報、つまり属性を示す情報と、メ
モリ6内のデータとの対応関係が常にとられていなけれ
ばならない。
When data in the memory 6 is shared in such a multiprocessor system, information indicating what kind of data is stored in the memory 6, that is, attributes stored in tables in the processors 1 to 4, is used. There must always be a correspondence between the information shown and the data in the memory 6.

今、第2図に示すようにプロセッサ1と2がメモリ6内
の同一データ61を共用していたとする。
Now, suppose that processors 1 and 2 share the same data 61 in memory 6 as shown in FIG.

そしてこのデータの属性に関する情報(データ61がメ
モリのどの位置にあるか、どのような性質をもつか・・
・など)を2つのプロセッサ1,2がそれ自身のテーフ
゛ル10,2Qのエントリ12゜21に格納していたと
する。
Information regarding the attributes of this data (where in the memory the data 61 is located, what properties it has, etc.)
.

この状態で何らかの理由で一方のプロセッサ、例えば1
がデータ61の属性を変えると、プロセッサ2内のテー
ブル20の内容は偽になってしまう。
In this state, for some reason one of the processors, for example 1
If the user changes the attributes of the data 61, the contents of the table 20 in the processor 2 will become false.

このままの状態ではシステムの正しい動作は期待できず
テーブル20の内容を修正しなければならない。
In this state, correct operation of the system cannot be expected, and the contents of the table 20 must be corrected.

これを実現するため、第3図のように各プロセッサ1〜
4内に1ビツトのレジスタ101〜104とデータ名を
格納するレジスタ201〜204を設ける。
In order to achieve this, each processor 1~
4 are provided with 1-bit registers 101-104 and registers 201-204 for storing data names.

ここで共用データの属性を変えようとするプロセッサ、
第2図でいえばデータ61の属性を変えようとしたプロ
セッサ1は、メモリコントローラ5に属性を変えようと
しているデータ61の名称を送る。
A processor that attempts to change the attributes of shared data here,
In FIG. 2, the processor 1 that wishes to change the attributes of data 61 sends the name of the data 61 whose attributes are to be changed to the memory controller 5.

メモリコントローラ5は各プロセッサ1〜4内の1ビツ
トのレジスタ101〜104のすべてが”■”状態であ
ることを確認したあと、プロセッサ1から送られてきた
データ名をすべてのプロセッサ1〜4内のレジスタ20
1〜204に転送し、1ビツトのレジスタ101〜10
4をすべて0”状態にする。
After confirming that all 1-bit registers 101 to 104 in each processor 1 to 4 are in the "■" state, the memory controller 5 transfers the data name sent from processor 1 to all processors 1 to 4. register 20 of
1 to 204, 1-bit registers 101 to 10
4 are all set to 0'' state.

このように1ビツトのレジスタ101〜104が”O”
状態にされると、各プロセッサ1〜4は各自のテーブル
10〜40より指示されたデータ名を消去する。
In this way, 1-bit registers 101 to 104 are set to “O”.
When set to the state, each processor 1-4 erases the designated data name from its own table 10-40.

消去し終れば1ビツトのレジスタ101〜104を”1
”状態にする。
After erasing, 1-bit registers 101 to 104 are set to “1”.
``state.

メモリコントローラ5はレジスタ101〜104のすべ
てが1”状態になったのを検出すれば、属性を変えよう
としたプロセッサ1にその旨を知らせ、そしてはじめて
そのプロセッサ1は共用データ61の属性を変えること
ができる。
When the memory controller 5 detects that all of the registers 101 to 104 are in the 1'' state, it notifies the processor 1 that has attempted to change the attribute, and only then does that processor 1 change the attribute of the shared data 61. be able to.

その変えたあとの新しい属性はメモリテーブル5内のテ
ーブル50に格納しておく。
The new attributes after the change are stored in a table 50 within the memory table 5.

もし後にデータ61の新しい属性を知りたければ、プロ
セッサ1〜4はこのテーブル60を参照すれば良い。
If the processors 1 to 4 wish to know the new attributes of the data 61 later, they can refer to this table 60.

このようにすることにより、共用メモリ6内のデータと
、プロセッサ1〜4内のテーブル10〜40に取り込ま
れたデータの属性を示す情報との対応をとることができ
る。
By doing so, it is possible to establish a correspondence between the data in the shared memory 6 and the information indicating the attributes of the data taken into the tables 10 to 40 in the processors 1 to 4.

さて第2図に示した各プロセッサ1〜4内にあるデータ
の属性に関する情報を貯蔵したテーブル10〜40は容
量が充分に大きくなく、メモリ5内のすべてのデータの
属性を格納できない場合がある。
Now, the tables 10 to 40 that store information regarding the attributes of data in each of the processors 1 to 4 shown in FIG. 2 may not have a sufficiently large capacity and may not be able to store the attributes of all data in the memory 5 .

この場合はメモリコントローラ5内にあるテーブル50
に格納されたメモリ6内のすべてのデータの属性を示す
情報の一部を、各プロセッサ1〜4内のテーブル10〜
40に転送することになる。
In this case, the table 50 in the memory controller 5
A part of the information indicating the attributes of all the data in the memory 6 stored in the processors 1 to 4 is stored in the tables 10 to
It will be transferred to 40.

この時、今後良く利用されるデータの属性に関する情報
をテーブル10〜40に格納することが得策である。
At this time, it is a good idea to store information regarding attributes of data that will be frequently used in the future in the tables 10-40.

計算機におけるプログラムの性質として、比較的限られ
た範囲のデータを参照する傾向、すなわちプログラムの
局地性傾向があり、この性質を利用すればプロセッサ1
〜4内の容量の小さなテーブル10〜40に情報のある
確率を増加させることができる。
As a property of programs in computers, there is a tendency to refer to data in a relatively limited range, that is, a tendency for programs to be localized.
It is possible to increase the probability that information is present in tables 10 to 40 with small capacities within .about.4.

すなわち、最近にアクセスされたデータの属性に関する
情報のみをテーブル10〜40に格納するように、いい
換えると最も最近使われていない情報をテーブル10〜
40から追いだすようにしてやれば良い。
In other words, only information related to attributes of data that has been accessed recently is stored in tables 10 to 40, or in other words, information that has been least recently used is stored in tables 10 to 40.
All you have to do is try to push it out from 40.

このため、本発明では第4図に示すように第1゜第2お
よび第3のレジスタ301,302,303を設置する
Therefore, in the present invention, first, second, and third registers 301, 302, and 303 are installed as shown in FIG.

これらのレジスタ301,302゜303の各ビットは
それぞれ第2図のプロセッサ1〜4内のテーブル10〜
40の各エントリ11゜12.13〜41,42.43
に対応している。
Each bit of these registers 301, 302 and 303 corresponds to tables 10 to 4 in processors 1 to 4 in FIG.
40 entries 11゜12.13 to 41, 42.43
It corresponds to

プロセッサ1〜4がメモリ6内のデータをアクセスする
時は、そのデータの属性を知るため自分自身の内にある
テーブル10〜40の内容を参照する。
When processors 1-4 access data in memory 6, they refer to the contents of tables 10-40 within themselves in order to know the attributes of that data.

この時テーブル10〜40の参照したエントリーに対応
したレジスタ301のビットを”1”にする。
At this time, the bit in the register 301 corresponding to the referenced entry in tables 10 to 40 is set to "1".

そしてもしレジスタ301のビットのうち一定数以上(
例えば過半数)が”■”になると、これを検出回路30
4が検出してレジスタ301の内容とレジスタ303の
内容との論理和をオア回路305でとり、この論理和を
レジスタ302に転送し、レジスタ301自身はすべて
のビットを”0″状態にクリ、アする。
If more than a certain number of bits in register 301 (
For example, if the majority) becomes “■”, the detection circuit 30 detects this.
4 is detected, the OR circuit 305 calculates the logical sum of the contents of the register 301 and the contents of the register 303, transfers this logical sum to the register 302, and the register 301 itself clears all bits to the "0" state. a.

なお、レジスタ303はテーブル10〜40の各エント
リーのうち、どうしても追い出したくない情報が格納し
である特定のエントリーに対応するビットのみ1″′が
セットされている。
Note that, in the register 303, among the entries in the tables 10 to 40, only the bit corresponding to a specific entry storing information that is not to be deleted is set to 1''.

ここで、もしプロセッサ1〜4内のテーブル10〜40
からどれか1つの情報を追いだす必要にせまられれば、
レジスタ301.302の内容の相対応するビット毎の
論理和をオア回路306でとり、その論理和が10”に
なったビットに対応するテーブル10〜40内のエント
リーの中から1つの選択してその内容を追いだせばよい
Here, if tables 10-40 in processors 1-4
If you are faced with the need to extract any one piece of information from
The OR circuit 306 calculates the logical sum of the corresponding bits of the contents of the registers 301 and 302, and selects one of the entries in tables 10 to 40 corresponding to the bit whose logical sum is 10''. All you have to do is track down the content.

このようにすることにより、プロセッサ1〜4内のテー
ブル10〜40には比較的最近に参照された情報を残す
ことが可能であり、さらに最近に参照されたことがなく
とも、レジスタ303の”■”がセットされたビットに
対応するテーブル10〜40内の特定のデータに関して
は追いださないようにすることができる。
By doing this, it is possible to leave information that has been referenced relatively recently in the tables 10 to 40 in the processors 1 to 4, and even if it has not been referenced recently, the information in the register 303 " It is possible to prevent specific data in tables 10 to 40 corresponding to the bits set with "2" from being evicted.

以上詳しく説明したように、本発明によればメモリ内の
データの属性を示す情報の一部を格納したプロセッサ内
のテーブルの各エントリーに各ビットを対応させた3つ
のシフトレジスタを主体とする比較的簡単なハードウェ
アを設けることによって、プロセッサ内のテーブルの内
容の一部を追い出して新たな情報に書き換える必要が生
じたとき、追い出すのに一番都合のよい、つまり最も最
近使われておらず、しかも追い出しても支障のない情報
を容易に選ぶことができるという利点を有する。
As explained in detail above, according to the present invention, the comparison is mainly based on three shift registers in which each bit corresponds to each entry of a table in the processor that stores part of the information indicating the attributes of data in the memory. By providing simple hardware, when it becomes necessary to remove part of the contents of the table in the processor and rewrite it with new information, it is possible to remove part of the contents of the table in the processor, and to rewrite it with new information. Moreover, it has the advantage of being able to easily select information that will not cause any problems even if it is deleted.

【図面の簡単な説明】[Brief explanation of drawings]

第1図はメモリを共用したマルチプロセッサシステムの
概略構成図、第2図はマルチプロセッサシステムにおけ
るデータの共用の様子を示した図、第3図はマルチプロ
セッサシステムにおいてメモリとプロセッサに取り込ん
だ情報を一致させる方法を示した図、第4図はこの発明
の一実施例の要部であるプロセッサ内のテーブルに格納
された情報の中から比較的使われないものを選びだす回
路の回路図である。 1〜4・・・・・・フロセッサ、5・・・・・・メモリ
コントローラ、6・・・・・・メモリ、10〜40・・
・・・・テーブル、50・・・・・・テーブル、301
,302,303・・・・・・レジスタ、304・・・
・・・検出回路、305,306・・・・・・オア回路
Figure 1 is a schematic configuration diagram of a multiprocessor system that shares memory, Figure 2 is a diagram showing how data is shared in a multiprocessor system, and Figure 3 shows information captured in memory and processors in a multiprocessor system. FIG. 4, which is a diagram showing a matching method, is a circuit diagram of a circuit that selects information that is relatively unused from among information stored in a table in a processor, which is a main part of an embodiment of the present invention. . 1 to 4...Flosser, 5...Memory controller, 6...Memory, 10 to 40...
...Table, 50...Table, 301
, 302, 303... register, 304...
...Detection circuit, 305, 306...OR circuit.

Claims (1)

【特許請求の範囲】[Claims] 1 メモリコントローラ内にメモリ内の各データの属性
を示す情報を格納したテーブルを有し、前記メモリ内の
データを利用するプロセッサ内に前記メモリコントロー
ラ内のテーブルの一部の内容を格納するテーブルと、こ
のテーブルの各エントリーにそれぞれ各ビットが対応し
た第1、第2および第3のレジスタを有し、前記プロセ
ッサ内のテーブルに属性を示す情報が格納された前記メ
モリ内のデータが前記プロセッサでアクセスされると、
その属性を示す情報が格納された前記プロセッサ内のテ
ーブルのエントリーに対応する第1のレジスタのビット
を”1”にセットシ第1のレジスタのビットのうち一定
数以上が”1”になると、第1のレジスタの内容と、前
記プロセッサ内のテーブルの特定のエントリーに対応す
るビットに′1”がセットされた第3のレジスタの内容
との論理和を第2のレジスタに転送すると同時に第1の
レジスタを全ビット″0”状態にクリアし、前記プロセ
ッサ内のテーブルに格納された内容の一部を追い出す必
要が生じた場合は、第1および第2のレジスタの相対応
するビットが共に”0”状態となっているビットに対応
するエントリーの中の1つの内容を追出すようにしたこ
とを特徴とするメモリ利用管理方式。
1. A memory controller having a table storing information indicating the attributes of each data in the memory, and a table storing part of the contents of the table in the memory controller in a processor that uses the data in the memory. , has first, second, and third registers each corresponding to each entry in this table, and data in the memory in which information indicating an attribute is stored in the table in the processor is stored in the table in the processor. When accessed,
The bit of the first register corresponding to the entry of the table in the processor that stores the information indicating the attribute is set to "1". When a certain number or more of the bits of the first register become "1", The logical sum of the contents of the first register and the contents of the third register whose bit corresponding to a specific entry of the table in the processor is set to '1'' is transferred to the second register; If it becomes necessary to clear all bits of a register to the "0" state and flush out part of the contents stored in the table in the processor, the corresponding bits of the first and second registers are both set to "0". A memory usage management method characterized in that the contents of one of the entries corresponding to the bit in the "state" are deleted.
JP54126550A 1979-10-01 1979-10-01 Memory usage management method Expired JPS5833968B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP54126550A JPS5833968B2 (en) 1979-10-01 1979-10-01 Memory usage management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP54126550A JPS5833968B2 (en) 1979-10-01 1979-10-01 Memory usage management method

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 (en) 1983-07-23

Family

ID=14937942

Family Applications (1)

Application Number Title Priority Date Filing Date
JP54126550A Expired JPS5833968B2 (en) 1979-10-01 1979-10-01 Memory usage management method

Country Status (1)

Country Link
JP (1) JPS5833968B2 (en)

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
US6185663B1 (en) Computer method and apparatus for file system block allocation with multiple redo
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
JP4557975B2 (en) Reassign ownership in a non-shared database system
TW412692B (en) Parallel file system and method with a metadata node
US8825718B2 (en) Methods and apparatus for marking objects for garbage collection in an object-based memory system
US20030208500A1 (en) Multi-level undo of main-memory and volatile resources
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
EP0843267A2 (en) Processing multiple database transactions in the same process to reduce process overhead and redundant retrieval from database servers
JP2000284995A (en) Data processor and recording medium
JP2004062869A (en) Method and apparatus for selective caching of transactions in computer system
US6502168B1 (en) Cache having virtual cache controller queues
US6968382B2 (en) Activating a volume group without a quorum of disks in the volume group being active
JP2001507845A (en) Prefetch management in cache memory
KR101587995B1 (en) Adaptive logging apparatus and method
JP2007004802A (en) Snoop operation management in data processor
JPH10254748A (en) Distributed common memory consistency optimum control method
US20030163648A1 (en) Coherence-free cache
US7590845B2 (en) Key cache management through multiple localities
US20180307601A1 (en) Managing cache operations using epochs
KR102105478B1 (en) High throughput, highly reliable data processing system
CN108733584A (en) Method and apparatus for optimizing data buffer storage