JPS6036618B2 - information processing system - Google Patents

information processing system

Info

Publication number
JPS6036618B2
JPS6036618B2 JP52151295A JP15129577A JPS6036618B2 JP S6036618 B2 JPS6036618 B2 JP S6036618B2 JP 52151295 A JP52151295 A JP 52151295A JP 15129577 A JP15129577 A JP 15129577A JP S6036618 B2 JPS6036618 B2 JP S6036618B2
Authority
JP
Japan
Prior art keywords
address
buffer memory
information
processor
memory
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
JP52151295A
Other languages
Japanese (ja)
Other versions
JPS5483329A (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.)
NEC Corp
Original Assignee
Nippon 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP52151295A priority Critical patent/JPS6036618B2/en
Publication of JPS5483329A publication Critical patent/JPS5483329A/en
Publication of JPS6036618B2 publication Critical patent/JPS6036618B2/en
Expired legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 本発明は情報処理システムに関するものであり更に詳し
く言えば、バッファメモリと主記憶間における内容の不
一致による論理矛盾の発生を阻止するためのバッファメ
モリ制御手段をもつ情報処理システムに関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to an information processing system, and more specifically, the present invention relates to an information processing system having a buffer memory control means for preventing the occurrence of logical contradictions due to content mismatch between a buffer memory and a main memory. Regarding the system.

情報処理システムにおいては、中央処理装置(以下プロ
セッサと呼ぶ)の速度と、主記憶装置の速度との間には
大きな隔たりがあり、これが計算機システムの性能を制
限する要因となっている。
In information processing systems, there is a large gap between the speed of a central processing unit (hereinafter referred to as a processor) and the speed of a main memory, and this is a factor that limits the performance of computer systems.

これを緩和するためにプロセッサ側に比較的小容量のバ
ッファメモリを設けるバッファメモリ方式がある。
To alleviate this problem, there is a buffer memory method in which a relatively small capacity buffer memory is provided on the processor side.

この方式ではプロセッサから主記憶にアクセスを行う際
にアクセスすべき語を含む複数語からなるブロックをバ
ッファメモ川こ取込んでおき、次にアクセスを行う際に
はこのバッファに対してアクセスを行うことにより、実
効的に主記憶の高速化が達成できることが知られている
。バッファメモリ方式は多くの計算機システムに採用さ
れており、特に主記憶とバッファメモリを複数のセット
に分割し、同一のセットに属するブロックのみが主記憶
からバッファメモリに割当てられるような構成にしたセ
ットアソシアティブ方式〔C.J.Conti“バッフ
ァ記憶の概念”(concepts的r“B虻ferS
to的ge”Computer Group.News
)196$王3月号9〜13頁参照〕のバッファメモリ
は一般に使用されている。しかしながら、バツフアメモ
リシステムにおいては、前述のようにバッファメモリは
プロセッサ毎に設けられるので例えば、入出力装置から
の主記憶へのデータの書込みに際しては、データは主言
己億のみに書込まれる。
In this method, when accessing main memory from the processor, a block consisting of multiple words including the word to be accessed is captured in a buffer memo, and the next time the access is made, this buffer is accessed. It is known that by doing so, it is possible to effectively speed up the main memory. The buffer memory method has been adopted in many computer systems, especially a set in which main memory and buffer memory are divided into multiple sets, and only blocks belonging to the same set are allocated from main memory to buffer memory. Associative method [C. J. Conti “The concept of buffer storage”
toge”Computer Group.News
) Buffer memory is commonly used. However, in a buffer memory system, as mentioned above, a buffer memory is provided for each processor, so for example, when writing data from an input/output device to main memory, the data is written only to the main memory. .

このとき、そのデータを含む主記憶領域が既にバッファ
メモ川こ取り込まれていればバッファメモリと主記憶の
間で内容の不一致が発生する。これを防ぐために、従来
はプロセッサにおいて実行すべきプロセスの切換えのた
び、あるいは入出力割込の毎にバッファメモリをすべて
消去することにより主記憶から新たに更新された情報を
取込むようにする方式‘1}、あるいは入出力装置から
の主記憶への書込み要求の度にそのアドレスをバッファ
メモリに送り、このアドレスがバッファメモリ上に存在
するかどうかを検索し、存在する場合にはバッファメモ
リの対応するブロックを消去することにより内容の不一
致を防ぐという方式{2)が行われている。この方式■
は計算機システムが複数のフ。。セッサをもつマルチプ
ロセッサシステムにおいても行われている。すなわち、
マルチプロセッサシステムにおいては、ある時点である
プロセッサAで実行されていたプロセスPが、次の他の
プロセッサBで実行され、主記憶のあるアドレスに対し
て書込みを行った場合には、以前に実行されたプロセッ
サAのバッファメモ川こ保持されているのでそのアドレ
スの内容は更新が行われないために再びそのプロセスP
がプロセッサAで実行されたとき、バッファメモリ上の
主記憶とは異なる古い内容が読出され、これにより謀ま
った処理が行われる可能性がある。このような不都合を
防ぐために、主記憶に対する書込みに際してそのアドレ
スを他のプロセッサに送り、これにより他のプロセッサ
のバッファメモリの対応する内容を消去することが行わ
れている。しかしながら、バッファメモリの内容を全部
消去する方式‘1)のような手段を用いると、バッファ
メモリの内容が頻繁に消去され、そのために必要な情報
がバッファメモリ内で見出される確率(ヒット率)が極
めて低くなり、従って実効アクセスタイムががあまり向
上しないという欠点がある。
At this time, if the main memory area containing the data has already been loaded into the buffer memory, a content mismatch will occur between the buffer memory and the main memory. In order to prevent this, conventional methods have been used in which newly updated information is fetched from main memory by erasing the entire buffer memory every time the processor switches the process to be executed or every time there is an input/output interrupt. '1}, or each time there is a write request from the input/output device to the main memory, the address is sent to the buffer memory, it is searched to see if this address exists on the buffer memory, and if it is, the address is sent to the buffer memory. A method {2) is used in which content mismatch is prevented by erasing corresponding blocks. This method ■
has multiple computer systems. . It is also used in multiprocessor systems with processors. That is,
In a multiprocessor system, if a process P that was being executed on a certain processor A at a certain point in time is executed on another processor B, and writes to a certain address in main memory, the process P that was executed previously will be Processor A's buffer memo is retained, so the contents of that address are not updated, so process P
When executed by processor A, old content on the buffer memory that is different from the main memory is read, which may lead to unintended processing. In order to prevent such inconveniences, when writing to main memory, the address is sent to another processor, thereby erasing the corresponding contents of the buffer memory of the other processor. However, if a method such as method 1) of erasing all the contents of the buffer memory is used, the contents of the buffer memory will be erased frequently, and the probability that the necessary information will be found in the buffer memory (hit rate) will decrease. This has the drawback that the effective access time is not significantly improved.

また主記憶への書込みアドレスを他のプロセッサにも送
る方式■では、他のプロセッサあるいは入出力装置から
の書込みアドレスの検索のために、本来のプロセッサか
らのアクセスが遅らされるという欠点がある。また、あ
るプロセッサからの書込みアドレスを他のプロセッサに
送るための信号通路や、バッファメモリで他のプロセッ
サからのアクセス、本来のプロセッサからのアクセスを
制御するためのアクセス制御機構が必要になる。プロセ
ッサの台数が多い場合には、これらのためのハードウェ
ア量が莫大になり、また他のフ。oセツサからのアクセ
スも増えるために、バッファメモリの性能の低下が著し
い。方式{洲こおいて、書込みアドレスの検索の頻度を
少〈するために各プロセッサ毎に他のプロセッサのバッ
ファメモリに現在格納されているブロックを保持するア
ドレスアレイを用意し、書込み動作に際してこのアドレ
スアレイを検索することにより、他のプロセッサのバッ
ファでの検索の回数を減少させる方式等も知られている
が、これらの方式においても、前述の他のプロセッサへ
の書込みアドレスのための信号通路、アクセス制御機構
等のためのハードウェア量の問題は解決できない。
In addition, method (2) in which the write address to main memory is also sent to other processors has the disadvantage that access from the original processor is delayed due to the search for the write address from other processors or input/output devices. . Further, a signal path for sending a write address from one processor to another processor, and an access control mechanism for controlling access from other processors to the buffer memory and access from the original processor are required. When the number of processors is large, the amount of hardware for these becomes enormous, and other functions are required. Since the number of accesses from the o setter also increases, the performance of the buffer memory is significantly degraded. In this system, in order to reduce the frequency of write address searches, each processor has an address array that holds the blocks currently stored in the buffer memory of other processors, and when a write operation is performed, this address is There are also known methods that reduce the number of searches in the buffers of other processors by searching the array, but these methods also require the aforementioned signal path for the write address to the other processor, The problem of the amount of hardware for access control mechanisms etc. cannot be solved.

また、方式■においては、プロセッサの台数よりハード
ウェア構成が異なるために最大限のプロセッサの台数が
接続できるような考慮が必要であり、プロセッサ台数が
少し、システムにおいては無駄なハードウェアを用意し
なければならないという欠点があった。
In addition, in method (2), since the hardware configuration differs more than the number of processors, it is necessary to consider how to connect the maximum number of processors. There was a drawback that it had to be done.

このため、バッファメモリをデイスパツチ、あるいは入
力動作の起動等で論理矛盾の発生の契機となる時点に必
要な部分だけを消去するような手段が必要となるが、セ
ットアソシアティブ方式のバッファメモリにおいてこの
ような処理を行おうとすると従来の方式では各消去に際
して全部のセットに関して管理テーブルを検索し、各セ
ットのフロックが対応する消去すべきブロックかどうか
をチェックする必要があり、このためバッファメモリの
消去に多くの時間が必要となり現実的でない。
Therefore, a method is required to erase only the necessary portion of the buffer memory at the time when a logical contradiction occurs, such as by dispatching the buffer memory or starting an input operation. When trying to perform such processing, in the conventional method, it is necessary to search the management table for all sets for each erase and check whether the block in each set is the corresponding block to be erased. It requires a lot of time and is not realistic.

本発明はこれらの欠点をなくすことを目的としたもので
、本発明の目的はプロセッサの台数が増大した場合でも
ハードウェア量の増大、性能の低下をもたらさずにバッ
ファメモリと主記憶間の内容の不一致を解消できるよう
な情報処理システムを提供することにある。
The present invention aims to eliminate these drawbacks, and the purpose of the present invention is to maintain the content between buffer memory and main memory without increasing the amount of hardware or degrading performance even when the number of processors increases. The objective is to provide an information processing system that can resolve discrepancies.

また本発明の他の目的はバッファメモリと主記憶間の内
容の不一致の発生に関連する部分だけの消去を高速に行
うことを可能にする手段を提供することにある。
Another object of the present invention is to provide a means for quickly erasing only the portion related to the occurrence of content mismatch between the buffer memory and the main memory.

本発明においては書込みが行われる可能性のある情報単
位に属するデータのアクセスに際し、このデータのアド
レスにその情報単位の識別番号およびその情報単位にお
ける現在のアドレスタグを付加し、これらによりブロッ
クのバッファメモリへの登録、検索が行われる。
In the present invention, when accessing data belonging to an information unit that may be written, the identification number of the information unit and the current address tag of the information unit are added to the address of this data, and these are added to the block buffer. Registration to memory and search are performed.

そして主記憶とバッファメモリ間での内容の不一致が生
じる可能性が発生した時点でこのアドレスタグを変更す
ることにより、等価的にバッファメモリから対応するデ
ータを消去しようとするものである。更に書込みが行わ
れないことが明らかな情報単位則ち読出し専用の情報単
位に対しては、アクセスに際してアドレスタグの部分を
無視することにより、アドレスタグの更新によってもバ
ッファメモリから消去されないようにすることにより、
書込みにより、その内容が変更されるデータに関しての
みバッファメモリからの消去を行うことを可能にしてい
る。
By changing this address tag at the time when there is a possibility that there will be a content mismatch between the main memory and the buffer memory, the corresponding data is equivalently erased from the buffer memory. Furthermore, for information units that are clearly not to be written, that is, read-only information units, the address tag part is ignored when accessing them, so that they are not erased from the buffer memory even when the address tag is updated. By this,
It is possible to erase from the buffer memory only data whose contents are changed by writing.

これにより、セットアソシアティブ方式のバッファメモ
リにおいて、全セットの検索を行うことなく必要な情報
単位のみをバッファメモリから高速に消去することが可
能になる。
As a result, in a set-associative type buffer memory, only necessary information units can be erased from the buffer memory at high speed without searching the entire set.

また本発明によれば、ハードウェア量の増大は情報単位
の識別番号、アドレスタグの印加、保持、比較等のため
のデータ通路、管理テーフル、比較回路等、アドレスに
付加されたタグに関連するものだけである。
Furthermore, according to the present invention, the amount of hardware is increased by an identification number of an information unit, a data path for application, retention, comparison, etc. of an address tag, a management table, a comparison circuit, etc. related to the tag attached to the address. It's just something.

従ってプロセッサの台数が増大しても同一のハードウェ
ア構成、制御方式が使用でき、また性能低下もないとい
う特徴がある。更に、複数のプロセッサをもつマルチプ
ロセッサシステムにおいてバッファメモリをもたないプ
ロセッサが含まれている場合にも本発明が適用できると
いう特徴もある。以下、図により本発明を説明する。
Therefore, even if the number of processors increases, the same hardware configuration and control method can be used, and the performance does not deteriorate. Furthermore, the present invention is also applicable to a multiprocessor system having a plurality of processors that includes a processor that does not have a buffer memory. The present invention will be explained below with reference to the drawings.

第1図は本発明による情報処理システムの第一実施例を
示すブロック図である。
FIG. 1 is a block diagram showing a first embodiment of an information processing system according to the present invention.

本実施例においては、バッファメモリは実アドレスによ
りアクセスされるものとする。
In this embodiment, it is assumed that the buffer memory is accessed using real addresses.

また、バッファメモリの消去の情報単位はプロセスであ
るとし、更に本実施例における情報処理システムにおい
ては、プログラムにおいて命令の格納される記憶位置と
オペランドの格納される記憶位置は分離されており、同
一のブロックには格納されないことがプログラム作成時
に保証されているものとし、またプログラム部の内容は
変更されないような方式を採用しているものとする。
Furthermore, it is assumed that the information unit for erasing the buffer memory is a process, and furthermore, in the information processing system in this embodiment, the storage location where instructions are stored and the storage location where operands are stored are separated and the same. It is assumed that it is guaranteed at the time of program creation that the program is not stored in the block , and that a method is adopted in which the contents of the program section are not changed.

このようなプログラム部とオペランド部を区別する方式
は最近の情報処理システムでよく行われている。本実施
例では、各プロセスにおけるオペランド部分が各プロセ
スを単位としてバッファメモリから消去されるものとす
る。本実施例では、バッファメモリに対するアクセスが
命令フレツチであるか、オペランド‘こ対するアクセス
であるかがアクセス要因としてメモリアクセス毎にバッ
ファメモリに印加され、これを判別することにより、そ
のアクセスされる情報が謙出し専用であるかどうかが判
定できるものとしている。
This method of distinguishing between the program section and the operand section is often used in recent information processing systems. In this embodiment, it is assumed that the operand portion of each process is erased from the buffer memory for each process. In this embodiment, whether the access to the buffer memory is an instruction fletch or an access to an operand is applied to the buffer memory as an access factor for each memory access, and by determining this, the information to be accessed is It is assumed that it is possible to determine whether or not the image is for use only for displaying.

本実施例では、プロセスを消去の情報単位としているの
で、バッファメモリと主記憶間の内容の不一致の発生の
契機として、あるプロセスがあるプロセッサで実行され
た後次に他のプロセッサで実行されようとした時点(デ
ィスパッチされた時点)およびあるプロセスが入力装置
からの入力命令を出して待ち状態に入った時点が検出さ
れこれらの時点で、各プロセス毎に保持されているアド
レスタグをカウントアップすることにより、更新以前に
そのプロセスの使用していたバッファメモリの内容のう
ち、オペランドの部分だけがアクセス不能となり、消去
されたと同じ効果を果すことになる。
In this embodiment, since a process is used as the unit of information to be erased, a discrepancy in content between the buffer memory and the main memory may occur if a process is executed on a processor and then executed on another processor. The time when a process enters the waiting state by issuing an input command from an input device is detected, and the address tag held for each process is counted up at these times. As a result, only the operand part of the contents of the buffer memory used by the process before the update becomes inaccessible, and has the same effect as if it had been erased.

従って本実施例では、バッファメモリに現在格納されて
いるブロックを管理するための管理テーブルにはブロッ
クのアドレスとして主記憶アドレスだけでなく消去の情
報単位であるプロセス番号およびそのプロセスのアドレ
スタグおよびそのブロックが書込みの行われているブロ
ックであるかどうかを示す書込みビットを保持するフィ
ールドが設けられる。
Therefore, in this embodiment, the management table for managing the blocks currently stored in the buffer memory includes not only the main memory address as the block address, but also the process number, which is the unit of information for erasure, the address tag of the process, and its address tag. A field is provided that holds a write bit indicating whether the block is the one that is being written to.

検索に際してはこれらのフィールドが用いられ、更にア
クセスに際しては、そのアクセスがオペランドに対する
アクセスか、命令の議出しであるかどうかを示すアクセ
ス要因情報もバッファメモ川こ印加される。また、情報
処理システムで実行される各プ。
These fields are used when searching, and when accessing, access factor information indicating whether the access is to an operand or issuing a command is also applied to the buffer memo. Also, each program executed on an information processing system.

セスは現在の命令アドレス、条件コード、各レジスタ等
を保持するためにプロセス制御ブロックをもつが、本実
施例ではバッファメモリの管理のために、制御ブロック
には、これらの情報の外にそのプロセスが実行されたプ
ロセッサ番号およびそのプロセスの現在のアドレスタグ
値も保持される。プロセッサ番号は、バッファメモリの
消去の契機を検出するのに用いられる。なお、プロセス
制御ブロックは主記憶上におかれるものとする。本実施
例においては、前述のようにバッファメモリ8にはプロ
セッサ7のプロセッサアドレスレジスターからプロセス
番号、アドレスタグおよびアクセス要因が主記憶アドレ
スとともに送られ、アドレスレジスタ2に印加される。
プロセス番号アドレスタグはアドレスレジスタ2の第1
および第2のフィールド21,22に各々印加され、ま
た主記憶アドレスの上位からそれぞれブロックアドレス
部、セットアドレス部14、ワードアドレス部15はア
ドレスレジスタ2の第3,第4,第5のフィールド23
,24,25に各々格納される。また、1ビットのアク
セス要因はアドレスレジスタ2の第6のフィールド26
に格納される。
Each process has a process control block to hold the current instruction address, condition code, each register, etc. However, in this embodiment, in order to manage the buffer memory, the control block contains information about the process in addition to these information. The processor number on which the process ran and the current address tag value for that process are also maintained. The processor number is used to detect the trigger for erasing the buffer memory. It is assumed that the process control block is stored on the main memory. In this embodiment, as described above, the process number, address tag, and access factor are sent from the processor address register of the processor 7 to the buffer memory 8 along with the main memory address, and applied to the address register 2.
The process number address tag is the first in address register 2.
and the second fields 21 and 22, respectively, and the block address section, set address section 14, and word address section 15 from the upper part of the main memory address are applied to the third, fourth, and fifth fields 23 of the address register 2, respectively.
, 24 and 25, respectively. Furthermore, the 1-bit access factor is stored in the sixth field 26 of address register 2.
is stored in

バッファメモリはセットアソシェイティブ方式で実現さ
れており、バッファメモリは各セット毎に主記憶上の同
一セットに属している2つのブロックを保持できるよう
に構成されている。従って現在バッファメモリに保持さ
れている主記憶のブロックを管理するための管理テーブ
ル3は各セットに対応してェントリをもち、各ェントリ
は各セットにおける2個のブロックに対応して第1およ
び第2のフィールドをもつ。
The buffer memory is implemented using a set associative method, and the buffer memory is configured so that each set can hold two blocks belonging to the same set on the main memory. Therefore, the management table 3 for managing the main memory blocks currently held in the buffer memory has an entry corresponding to each set, and each entry corresponds to the first and second blocks in each set. It has 2 fields.

第1および第2のフィールドはさらにプロセス番号をも
つ第1および第2のプロセス番号部311,321とア
ドレスタグを保持する第1および第2のアドレスタグ部
312,322およびブロックアドレスを保持する第1
および第2のブロックアドレス部313,323、各ブ
。ックがバッファメモリで現在使用可能かどうかを示す
第1および第2の有効ビット314,324および各ブ
ロックが書込みの行われるブロックであるかどうかを示
す書込み情報ビット315,325をもつ。管理テーブ
ル3の第1および第2のフィールドのプロセス番号部3
11,321、アドレスタグ部312,322、ブロッ
クアドレス部313,323の値は各々第1および第2
のプロセス番号比較回路511,521,1,第1およ
び第2のアドレスタグ比較回路512,522,第1お
よび第2のブロックアドレス比較回路513,523の
一方の入力に印加されており、これらの他の入力にはア
ドレスレジスタ2の第1,第2,第3のフィールド21
,22,23の値が各々印加されている。なお、これら
の値は管理テーブル3への書込みデータとして管理テー
ブル3の第1および第2のフィールド311,321に
も印加されている。また、バッファメモリアレイ4には
主記憶アドレスのうちのブロックアドレス部23および
セットアドレス部24の値および制御回路6からのブ。
ツクアドレス61がアドレスとして印加され、制御回路
からの制御信号線63からの指令により主記憶9および
プロセッサとの間でデータ転送ができるように構成され
ている。またアドレスレジスタ2の第6のフィールドの
書込みビット26および管理テーブルの第1および第2
の書込みビット315,325から読出された値は制御
部6(図示していないが)に印加される。
The first and second fields further include first and second process number parts 311, 321 having process numbers, first and second address tag parts 312, 322 holding address tags, and a second process number part 312, 322 holding block addresses. 1
and second block address sections 313, 323, each block. Each block has first and second valid bits 314, 324 indicating whether the blocks are currently available in the buffer memory and write information bits 315, 325 indicating whether each block is a block to be written to. Process number section 3 of first and second fields of management table 3
11, 321, address tag sections 312, 322, and block address sections 313, 323 are the first and second values, respectively.
It is applied to one input of the process number comparison circuits 511, 521, 1, the first and second address tag comparison circuits 512, 522, and the first and second block address comparison circuits 513, 523. Other inputs include the first, second and third fields 21 of address register 2.
, 22, and 23 are applied, respectively. Note that these values are also applied to the first and second fields 311 and 321 of the management table 3 as write data to the management table 3. The buffer memory array 4 also stores the values of the block address section 23 and set address section 24 of the main memory address and the block address section 24 from the control circuit 6.
A block address 61 is applied as an address, and data can be transferred between the main memory 9 and the processor in response to a command from a control signal line 63 from a control circuit. Also, the write bit 26 of the sixth field of address register 2 and the first and second bits of the management table
The values read from the write bits 315 and 325 are applied to the control section 6 (not shown).

次に本実施例の動作を説明する。Next, the operation of this embodiment will be explained.

まず、あるプロセッサであるプロセスがデイスパッチさ
れた時点でプロセッサは主記憶上のプロセス制御ブロッ
ク(図示せず)から、そのプロセスが以前に実行された
プロセッサ番号を示すプロセッサ番号部を読出し、これ
と現在のプロセッサ番号を比較する。
First, when a certain process is dispatched to a certain processor, the processor reads the processor number section indicating the processor number on which the process was previously executed from the process control block (not shown) in main memory, and compares this with the current processor number. Compare the processor numbers of .

これが現在のプロセッサ番号と異なる場合には、新たな
プロセッサ番号をプロセス制御ブロックに戻し、プロセ
ッサ番号の更新を行うとともにプロセス制御ブロックか
らアドレスタグを議出し、これをカウントアップして更
新するとともにそのプロセッサ番号、アドレスタグをプ
ロセッサアドレスレジス夕1の第1および第2のフィー
ルド11,12に格納する。プロセッサ番号が等しい場
合にはこれらの更新は行わずにプロセス番号および読出
されたアドレスタグをプロセッサアドレスレジスタ1に
格納する。
If this is different from the current processor number, the new processor number is returned to the process control block, the processor number is updated, an address tag is sent from the process control block, this is counted up and updated, and the processor number, address tag is stored in the first and second fields 11, 12 of the processor address register 1. If the processor numbers are the same, the process number and the read address tag are stored in the processor address register 1 without updating them.

アドレスタグのカウントアップに際して、アドレスタグ
がオーバフロゥしなかった場合には前述の動作のうちに
そのプロセスに対する実際の処理を開始する。カウント
アップに際してアドレスタグ値がオーバフロウを起した
場合には、以前の同じタグ値をもち、かつそのプロセス
に属し、書込みの行われる可能性のあるブロックがバッ
ファメモリ上に残っていないことを保証するためにバッ
ファメモリ8にそのプロセス番号とともに信号線71を
介して消去信号を送りバッファメモリからそのプロセス
に属し、書込みの行われる可能性のあるすべてのブロッ
クの消去を起動する。
When the address tag is counted up, if the address tag does not overflow, actual processing for that process is started during the above-described operations. If the address tag value overflows when counting up, it is guaranteed that there are no blocks remaining in the buffer memory that have the same previous tag value, belong to the process, and may be written to. In order to do this, an erase signal is sent to the buffer memory 8 along with the process number via the signal line 71, and the buffer memory starts erasing all blocks belonging to that process and to which there is a possibility of writing.

バッファメモリ8から消去完了信号が信号線65を介し
て戻された後にそのプロセスに対する処理を開始する。
プロセスの実行に際してのプロセッサからのメモリアク
セスについては、プロセッサアドレスレジスタ1の第3
,第4,第5のフィールド13,14,15に主記憶ア
ドレスが格納されるとともに信号線71を介してバッフ
ァメモリ8に対してアクセス要因とともにアクセス要求
が印加される。このアクセス要求を受けると、バッファ
メモリの制御回路6の制御のもとに以下の動作が行われ
る。
After the erase completion signal is returned from the buffer memory 8 via the signal line 65, processing for that process is started.
Regarding memory access from the processor when executing a process, the third
, fourth, and fifth fields 13, 14, and 15, and an access request is applied to the buffer memory 8 via a signal line 71 together with an access factor. When this access request is received, the following operations are performed under the control of the buffer memory control circuit 6.

即ち、まずプロセッサ7から送られたアドレスおよびア
クセス要因をアドレスレジスタ2に格納し、セットアド
レス部24の値をアドレスとして管理テーブル3を読出
し、第1,第2および第3の311,312,313の
値を比較回路511,512,513,521,522
,523により、アドレスレジスタ2の各々対応するフ
ィールドの値と比較する第1のフィールドで一致が検出
されたとき、即ち管理テーブル3から謙出された対応す
る有効ビットが1でかつアドレスレジスタ2の第6のフ
ィールド26の書込みビットが1でかつ第1のプロセス
番号比較回路511、アドレスタグ比較回路512、お
よびブロックアドレス比較回路513がともに一致検出
信号を出力したときあるいはアドレスレジスタ2の第6
のフィールドが0でかつ、第1のプロセス番号比較回路
511、ブロックアドレス比較回路513が一致検出信
号を出力した場合には、バッファメモリアレイ4の第1
ブロックに要求された情報が格納されていることになり
、信号線63を介してバッファメモリアレイ4に対して
アクセスが行われる。同様に、第2のフィールドで一致
が検出された場合には、バッファメモリアレイ4の対応
するセットの第2のブロックに対してアクセスが行われ
る。この第1および第2のブロックの指定に制御回路6
から出力されるブロックアドレス線61により指定され
る。
That is, first, the address and access factor sent from the processor 7 are stored in the address register 2, the management table 3 is read out using the value of the set address section 24 as an address, and the first, second and third 311, 312, 313 Comparison circuits 511, 512, 513, 521, 522
, 523, when a match is detected in the first field compared with the value of each corresponding field of the address register 2, that is, when the corresponding valid bit extracted from the management table 3 is 1 and the value of the corresponding field of the address register 2 is detected. When the write bit of the sixth field 26 is 1 and the first process number comparison circuit 511, address tag comparison circuit 512, and block address comparison circuit 513 all output a coincidence detection signal, or the sixth field of the address register 2
field is 0 and the first process number comparison circuit 511 and block address comparison circuit 513 output a coincidence detection signal, the first
The requested information is stored in the block, and the buffer memory array 4 is accessed via the signal line 63. Similarly, if a match is detected in the second field, the second block of the corresponding set of buffer memory array 4 is accessed. The control circuit 6 specifies the first and second blocks.
It is designated by the block address line 61 output from the block address line 61.

第1および第2のフィールドのいずれにおいても一致が
検出されないのは次の2つの場合である。即ち、アドレ
スレジスタ2の書込みビット26が1の場合で、第1お
よび第2のプロセス番号比較回路511,512、アド
レスタグ比較回路512,522、フロックァドレス比
較回路513,523のいずれかで不一致が検出された
場合、あるいは書込みビットが0で第1および第2のプ
ロセス番号比較回路511,521,ブロックアドレス
比較回路513,523のいずれかで不一致が検出され
た場合である。
There are two cases in which no match is found in either the first or second field. That is, when the write bit 26 of the address register 2 is 1, if there is a mismatch in either the first and second process number comparison circuits 511, 512, address tag comparison circuits 512, 522, or block address comparison circuits 513, 523. This is the case when the write bit is 0 and a mismatch is detected in either the first and second process number comparison circuits 511, 521 or the block address comparison circuits 513, 523.

このとき、バッファメモリアレイ4には要求されたブロ
ックが格納されていないことになり、そのブロックにバ
ッファメモリを割当てる必要がある。まず、バッファメ
モリの第1および第2のブロックのいずれか一方を選択
し、管理テーブルの選択された第1および第2のフィー
ルドのプロセス番号部、アドレスタグ部、ブロックアド
レス部、書込みビットに要求のあったアドレスに対応す
る値を書込み、有効ビットを0にする。それとともに主
記憶に対して信号線64を介してブロック転送要求を出
す。転送が終了した後、管理テーブル3のうちの対応す
る有効ビットを1に書き替え、バッファメモリに対して
アクセスを行う。また、プロセッサからプロセス番号と
ともに信号線71を介してバッファメモリの消去信号が
印加された場合には制御回路6の制御のもとに、次の動
作が行われる。
At this time, the requested block is not stored in the buffer memory array 4, and it is necessary to allocate a buffer memory to the block. First, select one of the first and second blocks of the buffer memory, and request the process number section, address tag section, block address section, and write bit of the selected first and second fields of the management table. Write the value corresponding to the address where it was and set the valid bit to 0. At the same time, a block transfer request is issued to the main memory via the signal line 64. After the transfer is completed, the corresponding valid bit in the management table 3 is rewritten to 1, and the buffer memory is accessed. Further, when a buffer memory erase signal is applied from the processor via the signal line 71 along with a process number, the following operation is performed under the control of the control circuit 6.

即ち、まず、 1 プロセス番号をアドレスレジスタ2の第1のフィー
ルド21に格納するとともに、制御回路6に設けられた
セットアドレスカウンタ62の値をリセットする。
That is, first, 1. The process number is stored in the first field 21 of the address register 2, and the value of the set address counter 62 provided in the control circuit 6 is reset.

2 次に、セットアドレスカウンタ62の値により、管
理テーブル3を議出し、第1および第2のプロセス番号
比較回路511,521により、管理テーブルから読出
されたプロセス番号とアドレスレジスタ2のプロセス番
号を比較する。
2 Next, the management table 3 is set based on the value of the set address counter 62, and the first and second process number comparison circuits 511 and 521 compare the process number read from the management table with the process number in the address register 2. compare.

そして、対応するブロックが書込みの行われるブロック
の場合、即ち管理テーブル3から読出された書込みビッ
トが1の場合には対応する比較回路511または521
が一致を検出した場合に、対応する有効ビットを0にリ
セットし、これを管理テーブルに書き戻す。
When the corresponding block is a block to which writing is performed, that is, when the write bit read from the management table 3 is 1, the corresponding comparison circuit 511 or 521
If a match is detected, the corresponding valid bit is reset to 0 and written back to the management table.

書込みビットが0の場合には消去する必要がないので、
有効ビットのリセットは行わない。3 セットアドレス
カウンタ62をカウントアップした後、2の動作を行う
If the write bit is 0, there is no need to erase it, so
The valid bit is not reset. 3 After counting up the set address counter 62, perform the operation 2.

4 2,3の動作をセットアドレスカウンタがオーバフ
ロウするまで行った後、プロセッサ7に対して信号線6
5を介して消去完了信号を送る。
4 After performing operations 2 and 3 until the set address counter overflows, the signal line 6 is connected to the processor 7.
5 to send an erase completion signal.

以上1から4までの動作により指定されたプロセスで使
用されたバッファメモリのブロックのうち書込みによる
内容の変更の行われるデ−外こ対する消去が行われたこ
とになる。
By the above operations 1 to 4, erasing has been performed for the blocks of the buffer memory used in the designated process, except for the data whose contents have been changed by writing.

次に、本発明の第2の実施例を第1図および第2図によ
り説明する。
Next, a second embodiment of the present invention will be described with reference to FIGS. 1 and 2.

本実施例においては、情報処理システムは、プログラム
の論理的な単位であるセグメントを主記憶への割当ての
単位とするセグメンテーション方式の仮想記憶を採用し
ているものとし、バッファメモリも実主記憶アドレスで
はなく仮想アドレスによって管理されるものとしている
In this embodiment, it is assumed that the information processing system employs a segmentation-based virtual memory in which a segment, which is a logical unit of a program, is the unit of allocation to the main memory, and the buffer memory also has real main memory addresses. It is assumed that virtual addresses are used instead of virtual addresses.

また、バッファメモリの消去はセグメントを単位として
行われるとし、更に書込みの行われるセグメントだけが
必要に応じて消去されるものとする。
It is also assumed that erasing of the buffer memory is performed in units of segments, and that only segments to which writing is performed are erased as necessary.

なお、第2図は本実施例におけるプロセッサ7のブロッ
ク図を示すものである。これを実現するために、本実施
例においては各セグメント毎にアドレスタグおよびその
セグメントがアクセスされた最後のプロセッサ番号が管
理される。
Note that FIG. 2 shows a block diagram of the processor 7 in this embodiment. To achieve this, in this embodiment, an address tag and the last processor number to which the segment was accessed are managed for each segment.

これらは、主記憶上のセグメント記述子の内におかれる
。本実施例では、メモリアドレスAは第2図に示すよう
に、プロセッサ7内に設けられるセグメント記述子レジ
スタSDRの指定番号RNおよびセグメント内変位Dで
表わされる。
These are placed in segment descriptors on main memory. In this embodiment, the memory address A is represented by a designated number RN and an intra-segment displacement D of a segment descriptor register SDR provided in the processor 7, as shown in FIG.

セグメント記述子レジスタSDRの各ヱントリはセグメ
ントアドレスおよび対応するアドレスタグをもつ。
Each entry in the segment descriptor register SDR has a segment address and a corresponding address tag.

このような構成の情報処理システムにおいてはあるプロ
セスがあるプロセッサでデイスパツチされる時点でその
プロセスが使用できるセグメントがチェックされ、正当
なセグメントであることがチェックされた後、このセグ
メントのアドレスAおよび主記憶上のセグメント記述子
から読出されたそのセグメントに対して書込みが許され
るかどうかを示す書込み情報W、セグメント長SL等が
対応するセグメント記述子レジスタSDRに格納される
In an information processing system with such a configuration, when a certain process is dispatched to a certain processor, the segment that can be used by that process is checked, and after checking that it is a valid segment, the address A and main address of this segment are checked. Write information W indicating whether writing is permitted for the segment read from the segment descriptor on storage, segment length SL, etc. are stored in the corresponding segment descriptor register SDR.

あるプロセスで使用できるセグメントがセグメント記述
子レジスタSDRに登録し終ったところで実際のプロセ
スの処理が開始される。従って、本実施例においては、
ディスパッチにおけるバッファメモリからの消去すべき
セグメントのチェックに際して、セグメント記述子にお
けるプロセッサ番号と、現在のプロセッサ番号を比較し
、等しい場合にはそのま封こし、異なる場合にはこれを
更新するとともに、アドレスタグATも更新し、更新さ
れたアドレスタグをセグメント記述子レジスタにも登録
する。また、本実施例では入出力動作は入出力制御プロ
セッサにより行われるものとする。
Once the segments that can be used by a certain process have been registered in the segment descriptor register SDR, actual processing of the process begins. Therefore, in this example,
When checking the segment to be erased from the buffer memory during dispatch, the processor number in the segment descriptor is compared with the current processor number, and if they are equal, it is sealed, and if they are different, it is updated and the address is The tag AT is also updated and the updated address tag is also registered in the segment descriptor register. Further, in this embodiment, it is assumed that input/output operations are performed by an input/output control processor.

また、各入出力動作に際してあるプロセスが入出力動作
を起動した場合には入出力制御プロセッサは、起動され
た入出力動作に関連するセグメントをチェックし、関連
するセグメント記述子のプロセッサ番号を更新しておく
。また、本実施例においては、あるセグメントがいくつ
かのプロセスで使用されるような場合にはそのセグメン
トの使用に際してそのセグメントを専有するために命令
および専有を解除するための命令が用意されている。
Additionally, for each I/O operation, if a process activates an I/O operation, the I/O control processor checks the segment associated with the activated I/O operation and updates the processor number in the associated segment descriptor. I'll keep it. Furthermore, in this embodiment, when a certain segment is used by several processes, an instruction for exclusive use of the segment and an instruction for releasing exclusive use of the segment are provided. .

プロセッサはこの命令の実行に際してこのセグメントが
他のプロセスで使用中でない場合には、プロセッサ内の
セグメント記述子レジスタに対応するセグメントを登録
する。このとき、セグメント記述子レジスタのプロセッ
サ番号と、現在のプロセッサ番号を比較して、異なる場
合にはアドレスタグの更新を行う。
When the processor executes this instruction, if this segment is not in use by another process, it registers the corresponding segment in the segment descriptor register within the processor. At this time, the processor number in the segment descriptor register is compared with the current processor number, and if they are different, the address tag is updated.

また、同時に、主記憶中のセグメント記述子があるプロ
セスで専有されていることを示すビットをセットする。
専有の解除に際しては、先に登録されたセグメント記述
子レジスタが無効にされる。以上のアドレスタグの更新
の契機において、アドレスタグがオーバフロウした場合
には、前述の第1の実施例と同様な処理が行われる。ま
た本実施例では、仮想アドレスはプロセスに関する情報
も含んでいるものとし、情報処理システム内においては
、仮想アドレスにより、ある情報が一意に指定できるも
のとする。
At the same time, it sets a bit indicating that the segment descriptor in main memory is exclusive to a certain process.
Upon release of exclusive use, the previously registered segment descriptor register is invalidated. If the address tag overflows when the address tag is updated as described above, the same process as in the first embodiment described above is performed. Further, in this embodiment, it is assumed that the virtual address also includes information regarding a process, and that certain information can be uniquely designated within the information processing system using the virtual address.

プロセッサからのメモリアクセスに際しては、プロセッ
サ7はプロセッサ内のセグメント記述子レジスタSDR
を介してセグメントアドレスAS、アドレスタグATお
よび書込み情報Wを議出し、これら、およびセグメント
内変位Dをプロセッサアドレスレジスターに格納し、バ
ッファメモリ8に対してセグメントを要求する。
When accessing memory from the processor, the processor 7 uses the segment descriptor register SDR in the processor.
The processor outputs the segment address AS, address tag AT and write information W through the processor address register, stores these and the intra-segment displacement D in the processor address register, and requests the buffer memory 8 for the segment.

以下の動作に関しては、第1の実施例における消去の情
報単位であるプロセス番号がセグメントアドレスにおき
かわり、書込まれる可能性のある情報であるかどうかを
示すためのアクセス要因ビットのかわりにプロセッサア
ドレスレスタの書込みビットの値が使用される点で異な
り、またバッファメモリ8で必要な情報が見出されない
場合には、セグメント記述子レジスタ上のセグメントア
ドレスから得られる実主記憶アドレスPAが主記憶に対
するブロック転送の要求に際して用いられる点が異なっ
ているが、他は第1の実施例と同様の動作が行われる。
Regarding the following operations, the process number, which is the information unit for erasing in the first embodiment, replaces the segment address, and the access factor bit, which indicates whether the information may be written, is replaced by the processor number. The difference is that the value of the write bit of the address register is used, and if the necessary information is not found in the buffer memory 8, the real main memory address PA obtained from the segment address on the segment descriptor register is used as the main memory address PA. The second embodiment differs in that it is used when requesting a block transfer, but otherwise operates in the same manner as in the first embodiment.

以上本発明のいくつかの実施例を説明したが、これらの
説明より明らかなように、本発明の主旨はプロセスの切
り替り等バッファメモリと主記憶間の内容の不一致が発
生する可能性の生じた契機に、メモリ上の情報の消去の
情報単位毎に付加したアドレスタグを切換えることによ
り、実効的にその消去すべき情報単位に属する書換えの
可能性のある情報だけをバッファメモリから消去するこ
とにより主記憶とバッファメモリ間の内容の不一致を解
消しようとするものであり、この主旨に反しない限りい
くつかの実現方式が可能なことは明らかであろう。例え
ば、消去のための情報単位毎に設けるアドレスタグのビ
ット数も実現に際して適当な値が選択でき、充分に長い
ビット数を与えることによりアドレスタグ値のオーバフ
ロウにおけるバッファメモリの全セット検索による消去
を実質的に行わなくても済むようにすることも可能であ
る。
Several embodiments of the present invention have been described above, but as is clear from these descriptions, the gist of the present invention is to avoid the possibility of content mismatch between the buffer memory and main memory due to process switching, etc. By switching the address tag attached to each information unit of information to be erased from the memory, effectively only the information that is likely to be rewritten and belongs to the information unit to be erased is erased from the buffer memory. The purpose of this is to eliminate the mismatch in content between the main memory and the buffer memory, and it is clear that several implementation methods are possible as long as they do not contradict this idea. For example, the number of address tag bits provided for each information unit for erasing can be selected as an appropriate value, and by giving a sufficiently long number of bits, it is possible to erase data by searching all sets of the buffer memory when the address tag value overflows. It is also possible to substantially eliminate the need to perform this process.

また、第1の実施例においては、プロセス番号とアドレ
スタグはプロセッサが保持しているとしたが、必ずしも
このような構成にする必要はなくこれらを保持するレジ
スタをバッファメモリ側に用意し、プロセスのディスパ
ツチに際してこれらを主記憶のアドレス線を介して送る
ように構成することもできる。また、第1の実施例にお
いては、バッファメモリは実主記憶アドレスにより管理
されているとしているが、仮想アドレスにより管理され
ているとしてもよい。
In addition, in the first embodiment, it was assumed that the process number and address tag are held by the processor, but it is not necessarily necessary to have such a configuration. It is also possible to arrange for these to be sent via the address line of the main memory when dispatching them. Further, in the first embodiment, the buffer memory is managed by real main memory addresses, but it may be managed by virtual addresses.

但し、バッファメモリに必要なブロックが存在しない場
合の主記憶からのブロック転送に際しては実アドレスに
より主記憶をアクセスするための制御が必要となろう。
However, when transferring a block from the main memory when the necessary block does not exist in the buffer memory, control for accessing the main memory using a real address will be required.

また、仮想アドレスにプロセスに関する情報が含まれて
いない場合には、第1の実施例と同じくプロセス番号を
付加し、これでバッファメモリの管理を行えばよいが、
仮想アドレスに既にプロセスに関する情報が含まれてい
る場合には、この情報をプロセス番号として使用できる
ことは自明である。また、第2の実施例においては、プ
ロセッサアドレスレジスタに書込みビットが設けられて
いるとしているが、セグメントアドレス内にそのセグメ
ントが書込みの許されるセグメントであるかどうかを示
す情報が含まれている場合には、この情報を書込みビッ
トのかわりに使うこともできる。
Furthermore, if the virtual address does not include information regarding the process, it is sufficient to add a process number as in the first embodiment and manage the buffer memory using this.
It is obvious that if the virtual address already contains information about the process, this information can be used as the process number. Furthermore, in the second embodiment, it is assumed that the processor address register is provided with a write bit, but if the segment address contains information indicating whether or not the segment is a write-permitted segment. This information can also be used in place of the write bit.

以上の本発明の実施例の説明においては本発明の主旨と
は直接関連がないので制御回路の具体的構成等は省略し
てあるが、これらは従来知られている方法で実現できる
ことは明らかであろう。また、バッファメモリにブロッ
クが見出されない場合に新しいブロックを取込むべき位
置の決定の仕方、あるいは主記憶とバッファメモリ間の
ブロックの転送およびこれに関連する有効ビットの取扱
い、書込み動作に際しての主記憶への書込み等について
も本発明とは直接関係がないのでその説明は省略してあ
るがこれらは従来知られている方式によって行われるも
のである。また、プロセスのディスパツチに際して、そ
のヂィスパッチが行われることにより、内容の不一致が
生じる可能性があることを検出するために行わせる以前
に実行されたプロセッサ番号と現在のプロセッサ番号の
チェック等は特別にハードウェアを設けてもよいが、通
常の機械的命令、あるし、はマイクロプログラムによっ
ても実現できるのであろう。
In the above description of the embodiments of the present invention, the specific configuration of the control circuit is omitted because it is not directly related to the gist of the present invention, but it is clear that these can be realized by conventionally known methods. Probably. It also describes how to determine where to take a new block when a block is not found in the buffer memory, how to transfer blocks between main memory and buffer memory, how to handle valid bits related to this, and how to handle write operations. Since writing to the memory and the like are not directly related to the present invention, a description thereof is omitted, but these are performed by conventionally known methods. Additionally, when a process is dispatched, there is a special need to check the previously executed processor number and the current processor number in order to detect the possibility of content inconsistency due to the dispatch. Although hardware may be provided, it may also be realized by ordinary mechanical instructions or a microprogram.

第1の実施例において入力装置からの入力動作による内
容の不一致の発生を防ぐためには、入力動作の起動に際
してプロセッサがアドレスタグの更新を行うかあるいは
入出力動作を行う入出力プロセッサがこの処理を行う。
In the first embodiment, in order to prevent content mismatches due to input operations from the input device, the processor updates the address tag when starting the input operation, or the input/output processor that performs the input/output operation performs this process. conduct.

あるいは入力動作が終了しそのプロセスがプロセッサで
デイスパッチされた時点で、そのプロセスが直前に入出
力プロセッサで入力動作を行ったことを検出した時点で
行う等いくつかの方法があり、そのいずれを採用しても
よい。また、第1の実施例ではプロセス制御のブロック
は主記憶内に設けられるとしているが、プロセッサ内の
特別な記憶位置を設け、これに格納することも可能であ
ろう。
Alternatively, there are several methods, such as when the input operation is completed and the process is dispatched to the processor, or when it is detected that the process has performed an input operation on the input/output processor just before. You may. Further, in the first embodiment, the process control block is provided in the main memory, but it would also be possible to provide a special memory location within the processor and store it there.

また、第1の実施例ではいくつかのプログラムで共用さ
れるデータについてはこれを取扱うために特別のプロセ
スが設けられ、これを各プログラムが呼ぶことによって
行われるとしており、従って特定のデータを同時に複数
のプロセスが使用しないものとしているが、複数のプロ
セスが主記憶上の同一のデータをアクセスするような構
成のシステムにおいては第2の実施例と同様にデータの
ロックを行う時点を契機としてプロセスのアドレスタグ
を切換えることにより、バッファメモリと主記憶間の矛
盾の発生を阻止できる。
Furthermore, in the first embodiment, a special process is provided to handle data shared by several programs, and each program calls this process. Therefore, specific data can be processed simultaneously. Although it is assumed that multiple processes do not use the same data, in a system configured such that multiple processes access the same data on the main memory, the process is triggered when the data is locked, as in the second embodiment. By switching the address tags of the buffer memory and main memory, it is possible to prevent conflicts between the buffer memory and the main memory.

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

第1図は本発明による情報処理システムの第1の実施例
を示すブロック図、第2図は本発明による情報処理シス
テムの第2の実施例におけるプロセッサ7を示すブロッ
ク図である。 図において、1はプロセッサアドレスレジスタ、2はア
ドレスレジスタ、3は管理テーブル、4はバツフアメモ
リアレイ、511,512,513,521,522,
523,6は制御回路、7プロセッサ、8はバッファメ
モリ、9は主記憶装置を示す。 オ2図 オー図
FIG. 1 is a block diagram showing a first embodiment of the information processing system according to the present invention, and FIG. 2 is a block diagram showing a processor 7 in the second embodiment of the information processing system according to the present invention. In the figure, 1 is a processor address register, 2 is an address register, 3 is a management table, 4 is a buffer memory array, 511, 512, 513, 521, 522,
523, 6 is a control circuit, 7 is a processor, 8 is a buffer memory, and 9 is a main storage device. O2 diagram O diagram

Claims (1)

【特許請求の範囲】[Claims] 1 主記憶装置上の情報をブロツクを単位として保持す
るバツフアメモリをもつプロセツサを含む情報処理シス
テムにおいて、メモリアドレスにバツフアメモリから消
去される情報単位の識別番号、前記識別番号に対応する
アドレスタグおよび前記情報単位が書込みの行われる情
報単位であるかどうかを示す書込み情報を付加する手段
と、前記情報単位毎に現在のアドレスタグおよび前記情
報単位が直前に使用されたプロセツサ番号を保持する手
段と、前記保持されたプロセツサ番号および現在のプロ
セツサ番号を用いて主記憶とバツフアメモリの内容の不
一致に関連する契機を検出する手段と、前記検出された
契機において前記アドレスタグ値を更新する手段と、前
記情報単位名、対応するアドレスタグ、メモリアドレス
におけるブロツクアドレスを用いて管理テーブルの内容
を検索し前記書込み情報が1の場合にて、前記情報単位
名アドレスタグ、ブロツクアドレスが、アクセスが要求
されたアドレスの各フイールドとともに一致した場合に
、前記書込み情報が0の場合にて、前記情報単位名およ
びブロツクアドレスが一致した場合に対応するバツフア
メモリのブロツクに対してアクセスする手段をもつバツ
フアメモリを具備し、各消去のための情報単位に設けら
れたアドレスタグの更新により、当該情報単位をバツフ
アメモリか消去すると等価の効果を生じさせることによ
り主記憶装置とバツフアメモリ間の内容の不一致により
生ずる論理矛盾の発生を阻止することを特徴とする情報
処理システム。
1. In an information processing system including a processor having a buffer memory that stores information on the main memory in units of blocks, an identification number of the information unit to be deleted from the buffer memory, an address tag corresponding to the identification number, and the information are stored in the memory address. means for adding write information indicating whether the unit is an information unit to be written; means for holding a current address tag and a processor number for which the information unit was most recently used for each of the information units; means for detecting a trigger related to a mismatch between the contents of the main memory and buffer memory using a held processor number and a current processor number; means for updating the address tag value at the detected trigger; and the information unit. The contents of the management table are searched using the name, the corresponding address tag, and the block address in the memory address, and if the write information is 1, the information unit name address tag and block address are the address of the address requested for access. A buffer memory having a means for accessing a block of the buffer memory corresponding to the information unit name and the block address when the write information is 0 and when the information unit name and the block address match together with each field is provided. By updating the address tag provided in the information unit for the buffer memory, an effect equivalent to erasing the information unit from the buffer memory is produced, thereby preventing the occurrence of logical contradictions caused by mismatch of contents between the main memory and the buffer memory. An information processing system characterized by:
JP52151295A 1977-12-15 1977-12-15 information processing system Expired JPS6036618B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP52151295A JPS6036618B2 (en) 1977-12-15 1977-12-15 information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP52151295A JPS6036618B2 (en) 1977-12-15 1977-12-15 information processing system

Publications (2)

Publication Number Publication Date
JPS5483329A JPS5483329A (en) 1979-07-03
JPS6036618B2 true JPS6036618B2 (en) 1985-08-21

Family

ID=15515551

Family Applications (1)

Application Number Title Priority Date Filing Date
JP52151295A Expired JPS6036618B2 (en) 1977-12-15 1977-12-15 information processing system

Country Status (1)

Country Link
JP (1) JPS6036618B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH087712B2 (en) * 1990-01-18 1996-01-29 松下電器産業株式会社 Cache memory device

Also Published As

Publication number Publication date
JPS5483329A (en) 1979-07-03

Similar Documents

Publication Publication Date Title
US5490261A (en) Interlock for controlling processor ownership of pipelined data for a store in cache
US6295594B1 (en) Dynamic memory allocation suitable for stride-based prefetching
US5664148A (en) Cache arrangement including coalescing buffer queue for non-cacheable data
KR101025354B1 (en) Global Overflow Method for Virtual Transaction Memory
US7721068B2 (en) Relocation of active DMA pages
US8255591B2 (en) Method and system for managing cache injection in a multiprocessor system
US20130091331A1 (en) Methods, apparatus, and articles of manufacture to manage memory
US9208082B1 (en) Hardware-supported per-process metadata tags
JPH0658650B2 (en) Virtual computer system
JPH10133943A (en) Link list forming method
JPH0364890B2 (en)
US12086065B2 (en) Computing system with direct invalidation in a hierarchical cache structure based on at least one designated key identification code
US11971821B2 (en) Computing system with write-back and invalidation in a hierarchical cache structure based on at least one designated key identification code
US7472253B1 (en) System and method for managing table lookaside buffer performance
US20050268028A1 (en) Programmable parallel lookup memory
JPH03225542A (en) Memory of data and processing circuit for bit encode data
JP3360933B2 (en) Storage control method and storage control device in information processing system
US4648033A (en) Look-aside buffer LRU marker controller
US7549035B1 (en) System and method for reference and modification tracking
JP3485940B2 (en) Virtual storage control device and method
US12038839B2 (en) Processor and method for designating a demotion target to be demoted from an in-core cache structure to an out-of-core cache structure
JP2685455B2 (en) Data processing device
JPS6036618B2 (en) information processing system
GB2037466A (en) Computer with cache memory
JPS6036617B2 (en) information processing system