JP5499987B2 - Shared cache memory device - Google Patents

Shared cache memory device Download PDF

Info

Publication number
JP5499987B2
JP5499987B2 JP2010181300A JP2010181300A JP5499987B2 JP 5499987 B2 JP5499987 B2 JP 5499987B2 JP 2010181300 A JP2010181300 A JP 2010181300A JP 2010181300 A JP2010181300 A JP 2010181300A JP 5499987 B2 JP5499987 B2 JP 5499987B2
Authority
JP
Japan
Prior art keywords
data
storage area
cache memory
processor
unit
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 - Fee Related
Application number
JP2010181300A
Other languages
Japanese (ja)
Other versions
JP2012043031A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010181300A priority Critical patent/JP5499987B2/en
Publication of JP2012043031A publication Critical patent/JP2012043031A/en
Application granted granted Critical
Publication of JP5499987B2 publication Critical patent/JP5499987B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、複数のプロセッサにより共有される共有キャッシュメモリ装置に関する。   The present invention relates to a shared cache memory device shared by a plurality of processors.

大量のデータに対して行われる情報処理の中には、中間的な処理結果を生成する前段処理と、前段処理の処理結果から最終的な処理結果を生成するための,前段処理と並行的に実行可能な後段処理とに分けられるものが存在している。なお、そのような情報処理としては、図18に示したような内容の前段処理と後段処理とからなる情報処理(画像処理)を例示できる。   In the information processing that is performed on a large amount of data, the pre-processing for generating intermediate processing results and the pre-processing for generating final processing results from the processing results of the pre-processing are performed in parallel. There is what can be divided into executable post-processing. An example of such information processing is information processing (image processing) including pre-processing and post-processing with contents as shown in FIG.

そして、そのような情報処理を前段処理と後段処理とに分けて、複数のプロセッサを備えた情報処理システム(コンピュータ)内の2プロセッサに実行させれば、前段処理及び後段処理を1プロセッサに実行させた場合よりも短時間で最終的な処理結果を得ることが出来る。そのため、情報処理を前段処理と後段処理とに分けて、前段処理を或るプロセッサ(以下、前段プロセッサと表記する)に実行させ、後段処理を他のプロセッサ(以下、後段プロセッサと表記する)に実行させることが行われている。   Then, if such information processing is divided into pre-processing and post-processing and is executed by two processors in an information processing system (computer) having a plurality of processors, the pre-processing and post-processing are executed by one processor. The final processing result can be obtained in a shorter time than the case of making it. Therefore, the information processing is divided into pre-stage processing and post-stage processing, and the pre-stage processing is executed by a certain processor (hereinafter referred to as the pre-stage processor), and the post-stage processing is performed by another processor (hereinafter referred to as the post-stage processor). It has been done.

特開2002−373115号公報JP 2002-373115 A 特開昭63−221441号公報JP 63-222141 A 特開2004−38600号公報JP 2004-38600 A

上記の様な形での情報処理の実行時には、前段処理の処理結果が主記憶装置等の共有メモリを介して後段プロセッサに渡されているのであるが、後段処理は、或る量のデータの用意が完了しないと開始できない処理である。   When executing information processing as described above, the processing result of the pre-stage processing is passed to the post-stage processor via the shared memory such as the main storage device. This is a process that cannot be started without preparation.

そのため、上記の様な形での情報処理の実行時には、所定量のデータの用意(共有メモリ上にへの書き込み)が完了する度に、そのことを、割り込みや共有リソース上への所定情報の書き込みにより前段プロセッサから後段プロセッサに通知することが行われている。   Therefore, when information processing in the above-described form is executed, every time preparation of a predetermined amount of data (writing on the shared memory) is completed, this is indicated by the interruption or the predetermined information on the shared resource. Notification is made from the preceding processor to the succeeding processor by writing.

具体的には、例えば、前段/後段処理が図18に示した内容のものである場合、図19に模式的に示してあるように、3ライン目以降の各1ライン分の前段処理が完了する度に、1ライン分の後段処理が開始できることになる。そのため、前段/後段処理が図18に示した内容のものである場合、通常、前段プロセッサは、3ライン目以降の各1ライン分の処理が完了する度に状況通知用通信処理(割り込みを出力する処理、共有リソース上へ所定情報を書き込む処理等)を行うようにプログラミングされる。また、後段プロセッサは、定期的に状況通知用通信処理(共有リソース上へ所定情報が書き込まれたか否かを判定する処理等)を行うことによって、後段処理中の1ライン分の処理の開始タイミングを決定するようにプログラミングされる。   Specifically, for example, if the pre-stage / post-stage processing has the contents shown in FIG. 18, the pre-stage processing for each one line after the third line is completed as schematically shown in FIG. Each time, the subsequent processing for one line can be started. Therefore, when the pre-stage / post-stage processing has the contents shown in FIG. 18, the pre-stage processor normally outputs a status notification communication process (interrupt is output every time processing for one line after the third line is completed. For example, processing to write predetermined information on the shared resource). In addition, the latter processor periodically performs a status notification communication process (such as a process for determining whether or not predetermined information has been written on the shared resource), thereby starting processing for one line during the latter process. Programmed to determine.

前段/後段プロセッサを上記のようにプログラミングすることにより、後段プロセッサに後段処理を問題なく実行させることは出来る。ただし、状況通知用通信処理を各プロセッサに行わせているということは、状況通知用通信処理の実行に要する時間分、処理(前
段処理及び前段処理)の完了に時間がかかっていると言うことである。
By programming the pre-stage / post-stage processor as described above, the post-stage processor can be executed without any problem. However, having each processor perform status notification communication processing means that it takes time to complete the processing (pre-processing and pre-processing) for the time required to execute the status notification communication processing. It is.

そこで、開示の技術の課題は、それを用いることにより、2個のプロセッサに、より高速に連携した処理を行わせることが出来るようになる共有キャッシュメモリ装置を提供することにある。   Accordingly, an object of the disclosed technique is to provide a shared cache memory device that can cause two processors to perform processing linked in a higher speed by using the disclosed technology.

上記課題を解決するために、開示の技術の一態様の、第1のプロセッサ及び第2のプロセッサと接続される共有キャッシュメモリ装置は、下位記憶装置から読み出して各プロセッサに供給したデータ、又は、各プロセッサから下位記憶装置へ書き込むことが指示されたデータを記憶しておくための複数のデータ記憶領域を有するデータ記憶部と、データ記憶部を利用して各プロセッサからのリード/ライト要求に応答する要求応答部であって、データ記憶部の複数のデータ記憶領域の中に、第1のプロセッサが生成して第2プロセッサが利用するデータを記憶するための幾つかの監視対象記憶領域を確保する機能、或る監視対象記憶領域に或るデータを書き込むべきライト要求が第1のプロセッサから送信されてきたときに、その監視対象記憶領域に当該データを書き込むと共に、その監視対象記憶領域へのデータの書き込みが完了したことを記憶するライト要求応答機能、及び、或る監視対象記憶領域上のデータを返送すべきリード要求が第2のプロセッサから送信されてきたときに、その監視対象記憶領域がデータの書き込みが完了しているものであった場合には、その監視対象記憶領域上のデータを返送することによって当該リード要求に応答とし、そうではなかった場合には、その監視対象記憶領域に或るデータを書き込むべきライト要求が第1のプロセッサから送信されくるのを待機した後に、当該リード要求に応答するリード要求応答機能を有する要求応答部と、を備える。   In order to solve the above-described problem, the shared cache memory device connected to the first processor and the second processor according to one aspect of the disclosed technology is the data read from the lower storage device and supplied to each processor, or A data storage unit having a plurality of data storage areas for storing data instructed to be written from each processor to the lower-level storage device, and responding to read / write requests from each processor using the data storage unit A plurality of data storage areas of the data storage section, and several monitoring target storage areas for storing data generated by the first processor and used by the second processor are secured When a write request for writing certain data to a certain monitoring target storage area is transmitted from the first processor, the monitoring target recording The write request response function for writing the data to the area and storing the completion of the writing of the data to the monitoring target storage area, and the read request for returning the data on the monitoring target storage area are the second If the monitored storage area has already been written, the response to the read request is returned by returning the data on the monitored storage area. If not, after waiting for a write request to write certain data in the monitored storage area to be transmitted from the first processor, a read request response function for responding to the read request is provided. A request response unit.

上記構成を採用しておけば、それを用いることにより、2個のプロセッサに、より高速に連携した処理を行わせることが出来るようになる共有キャッシュメモリ装置を実現できる。   By adopting the above configuration, it is possible to realize a shared cache memory device that makes it possible to cause two processors to perform processing linked at a higher speed.

第1実施形態に係る共有キャッシュメモリ装置の概略構成及び使用形態の説明図。Explanatory drawing of a schematic structure and usage pattern of the shared cache memory device according to the first embodiment. 第1実施形態に係る共有キャッシュメモリ装置の構成図。1 is a configuration diagram of a shared cache memory device according to a first embodiment. FIG. フレームアドレス等の説明図。Explanatory drawing such as a frame address. 前段プロセッサのプログラミング例の説明図。Explanatory drawing of the example of a programming of a front | former stage processor. 後段プロセッサのプログラミング例の説明図。Explanatory drawing of the example of a programming of a back | latter stage processor. 監視対象記憶領域に関する管理情報記憶領域に設定される管理情報の説明図。Explanatory drawing of the management information set to the management information storage area regarding the monitoring object storage area. リード要求受信時における共有キャッシュメモリ装置の全体的な動作手順を示した流れ図。6 is a flowchart showing an overall operation procedure of the shared cache memory device when a read request is received. ライト要求受信時における共有キャッシュメモリ装置の全体的な動作手順を示した流れ図。6 is a flowchart showing an overall operation procedure of the shared cache memory device when a write request is received. 第1実施形態に係る情報処理システム(第1実施形態に係る共有キャッシュメモリ装置が用いられたシステム)における前段/後段処理の進み方の説明図。Explanatory drawing of how to advance the pre-stage / post-stage process in the information processing system according to the first embodiment (system using the shared cache memory device according to the first embodiment). 第2実施形態に係る共有キャッシュメモリ装置のリード要求受信時における全体的な動作手順を示した流れ図。9 is a flowchart showing an overall operation procedure when a read request is received by the shared cache memory device according to the second embodiment. 第3実施形態に係る共有キャッシュメモリ装置の構成図。FIG. 9 is a configuration diagram of a shared cache memory device according to a third embodiment. 第3実施形態に係る情報処理システムにおける前段/後段処理の進み方の説明図。Explanatory drawing of how to advance the front | former stage / back | latter stage process in the information processing system which concerns on 3rd Embodiment. 第4実施形態に係る共有キャッシュメモリ装置の構成図。FIG. 9 is a configuration diagram of a shared cache memory device according to a fourth embodiment. 第4実施形態に係る情報処理システムの機能の説明に用いる前段/後段処理の内容の説明図。Explanatory drawing of the content of the front stage / back | latter stage process used for description of the function of the information processing system which concerns on 4th Embodiment. 第4実施形態に係る情報処理システムにおける,図14に示した内容の前段/後段処理の進み方の説明図。Explanatory drawing of the progress of the front | former / backstage process of the content shown in FIG. 14 in the information processing system which concerns on 4th Embodiment. 各実施形態に係る共有キャッシュメモリ装置の変形形態を説明するための図。The figure for demonstrating the deformation | transformation form of the shared cache memory device which concerns on each embodiment. 各実施形態に係る共有キャッシュメモリ装置の変形形態における前段/後段処理の進み方の説明図。Explanatory drawing of how to advance the pre-stage / post-stage process in the modification of the shared cache memory device according to each embodiment. 前段処理、後段処理の一例の説明図。Explanatory drawing of an example of a front | former stage process and a back | latter stage process. 前段処理及び後段処理の2プロセッサによる実行例の説明図。Explanatory drawing of the example of execution by 2 processors of a front | former stage process and a back | latter stage process.

以下、発明者らが開発した4タイプの共有キャッシュメモリ装置(以下、第1〜第4実施形態に係る共有キャッシュメモリ装置10と表記する)について、図面を参照して詳細に説明する。   Hereinafter, four types of shared cache memory devices developed by the inventors (hereinafter referred to as shared cache memory devices 10 according to the first to fourth embodiments) will be described in detail with reference to the drawings.

《第1実施形態》
図1に示してあるように、第1実施形態に係る共有キャッシュメモリ装置10は、2個のプロセッサ14と下位記憶階層15とに接続されて使用される装置であり、2個のアクセス制御部11、アクセス情報バス12及び共有キャッシュメモリ13を備えている。
<< First Embodiment >>
As shown in FIG. 1, the shared cache memory device 10 according to the first embodiment is a device that is used by being connected to two processors 14 and a lower storage hierarchy 15, and includes two access control units. 11, an access information bus 12 and a shared cache memory 13 are provided.

この共有キャッシュメモリ装置10に接続される下位記憶階層15は、主記憶装置自体や、主記憶装置を含む記憶装置群(例えば、より下位のキャッシュメモリと主記憶装置)である。   The lower storage hierarchy 15 connected to the shared cache memory device 10 is the main storage device itself or a storage device group including the main storage device (for example, lower cache memory and main storage device).

各プロセッサ14は、キャッシュメモリ(本実施形態では、ライトバック方式のもの)を内蔵した一般的なプロセッサである。なお、共有キャッシュメモリ装置10は、通常は、これらのプロセッサ14を備えたデバイスの一構成要素(2個のプロセッサ14が実装されたチップ、パッケージ上の一回路)として製造されるものとなっている。   Each processor 14 is a general processor incorporating a cache memory (in this embodiment, a write-back type). The shared cache memory device 10 is normally manufactured as one component of a device including these processors 14 (a chip on which two processors 14 are mounted, one circuit on a package). Yes.

以下、図2を用いて、共有キャッシュメモリ装置10の構成をさらに具体的に説明する。   Hereinafter, the configuration of the shared cache memory device 10 will be described more specifically with reference to FIG.

共有キャッシュメモリ装置10が備える各アクセス制御部11、共有キャッシュメモリ13は、図2に示した構成を有するユニット(回路)である。   Each access control unit 11 and shared cache memory 13 provided in the shared cache memory device 10 are units (circuits) having the configuration shown in FIG.

すなわち、共有キャッシュメモリ13は、キャッシュメモリ制御部30と、キャッシュアクセス調停部31と、n(≧2)組のタグメモリ部32及びデータメモリ部33と、下位記憶階層インタフェース部34とを、備えている。   That is, the shared cache memory 13 includes a cache memory control unit 30, a cache access arbitration unit 31, an n (≧ 2) set of tag memory units 32 and a data memory unit 33, and a lower storage hierarchy interface unit 34. ing.

キャッシュアクセス調停部31は、各アクセス制御部11からのアクセス要求(各プロセッサ14からのリード/ライト要求)を調停するユニットである。下位記憶階層インタフェース部34は、下位記憶階層15と通信を行うためのユニット(インタフェース回路)である。   The cache access arbitration unit 31 is a unit that arbitrates access requests from each access control unit 11 (read / write requests from each processor 14). The lower storage hierarchy interface unit 34 is a unit (interface circuit) for communicating with the lower storage hierarchy 15.

各データメモリ部32は、所定長のデータを格納できるn個(例えば、n=211)のデータ記憶領域を備えたユニットである。各データメモリ部32の各データ記憶領域は、各プロセッサ14のキャッシュメモリ(以下、内蔵キャッシュと表記する)のライン(キャッシュライン/ブロック)と同サイズのものとなっている。 Each data memory unit 32 is a unit having n L (for example, n L = 2 11 ) data storage areas that can store data of a predetermined length. Each data storage area of each data memory unit 32 has the same size as a line (cache line / block) of a cache memory (hereinafter referred to as a built-in cache) of each processor 14.

各タグメモリ部33は、n個(n=データメモリ部32のデータ記憶領域数)の、Vフィールド、Mフィールド、Lフィールド、Wフィールド、SPIDフィールド及びADDRフィールドを有する管理情報記憶領域を備えたユニットである。 Each tag memory section 33 has a management information storage area having n L (n L = number of data storage areas of the data memory section 32), V field, M field, L field, W field, SPID field, and ADDR field. It is a unit equipped.

各タグメモリ部33の各管理情報記憶領域は、組を成しているデータメモリ部32の特定のデータ記憶領域の利用状況を示す情報(各フィールドの設定値からなる情報;以下、管理情報と表記する)を記憶しておくための領域である。   Each management information storage area of each tag memory section 33 is information indicating the usage status of a specific data storage area of the data memory section 32 constituting the set (information consisting of setting values of each field; hereinafter, management information and This is an area for storing (notation).

より具体的には、管理情報記憶領域のVフィールドは、対応するデータ記憶領域が有効である(データの記憶に使用されている)か否かを“1”/“0”で示す1ビットデータ(以下、Vビットと表記する)が設定されるフィールドである。   More specifically, the V field of the management information storage area is 1-bit data indicating whether the corresponding data storage area is valid (used to store data) by “1” / “0”. (Hereinafter referred to as V bit) is a field to be set.

Mフィールドは、対応するデータ記憶領域上のデータが更新されているか否かを“1”/“0”で示す1ビットデータ(以下、Mビットと表記する)が設定されるフィールドである。Lフィールドは、対応するデータ記憶領域がロックされている(対応するデータ記憶領域を別データの記憶に利用することが禁止されている)か否かを“1”/“0”で示す1ビットデータ(以下、Lビットと表記する)が設定されるフィールドである。   The M field is a field in which 1-bit data (hereinafter referred to as M bit) indicating “1” / “0” indicating whether or not the data in the corresponding data storage area has been updated is set. The L field is 1 bit indicating “1” / “0” whether or not the corresponding data storage area is locked (the use of the corresponding data storage area for storing other data is prohibited). This is a field in which data (hereinafter referred to as L bits) is set.

ADDRフィールドは、対応するデータ記憶領域に記憶されているデータ(又は、その後、記憶されるデータ;詳細は後述)のフレームアドレスが設定されるフィールドである。なお、フレームアドレスとは、図3に示したように、アドレス(図では、32ビットアドレス)の上位mビット(図では、m=14)のことである。より具体的には、フレームアドレスとは、アドレスを、最下位ビット側から、データ記憶領域のサイズ(バイト数)に応じたビット数のインデックスアドレスと、n(各データメモリ部32のデータ記憶領域数)に応じたビット数のエントリアドレスと、残りの部分とに分けた場合における当該残りの部分のことである。 The ADDR field is a field in which the frame address of data stored in the corresponding data storage area (or data stored thereafter; details will be described later) is set. The frame address is the upper m bits (m = 14 in the figure) of the address (32-bit address in the figure) as shown in FIG. More specifically, the frame address refers to the address from the least significant bit side, the index address of the number of bits corresponding to the size (number of bytes) of the data storage area, and n L (data storage of each data memory unit 32) This is the remaining part when the entry address is divided into the number of bits corresponding to the number of areas) and the remaining part.

管理情報記憶領域のSPIDフィールド(図2)は、対応するデータ記憶領域が監視対象記憶領域である場合には、或るプロセッサ14のプロセッサ識別情報(以下、PIDと表記する)が設定され、そうではない場合には、所定値が設定されるフィールドである。   In the SPID field (FIG. 2) of the management information storage area, when the corresponding data storage area is the monitoring target storage area, processor identification information (hereinafter referred to as PID) of a certain processor 14 is set. If not, it is a field in which a predetermined value is set.

ここで、監視対象記憶領域とは、前段処理により生成されて後段処理により利用されるデータ(図19参照。)の一時記憶領域として使用されるデータ記憶領域のことである。この監視対象記憶領域の詳細については後述するが、対応するデータ記憶領域が監視対象記憶領域である場合、SPIDフィールドには、前段プロセッサ14(前段処理を実行するプロセッサ14)のPID(プロセッサ識別情報)が設定される。   Here, the monitoring target storage area is a data storage area that is used as a temporary storage area for data (see FIG. 19) that is generated by the pre-processing and used by the post-processing. Although details of the monitoring target storage area will be described later, when the corresponding data storage area is the monitoring target storage area, the PID (processor identification information) of the preceding processor 14 (the processor 14 that executes the preceding process) is displayed in the SPID field. ) Is set.

Wフィールドは、対応する監視対象記憶領域へのデータの書き込みが完了しているか否かを、“0”/“1”で示す1ビットデータ(以下、Wビットと表記する)が設定されるフィールドである。このWフィールドは、同じ監視対象記憶領域のSPIDフィールドにPIDが設定されている場合(対応するデータ記憶領域が監視対象記憶領域である場合)にのみ、有効なフィールド(設定されている値が参照されるフィールド)となっている。   The W field is a field in which 1-bit data (hereinafter referred to as W bit) indicating “0” / “1” indicating whether or not the writing of data to the corresponding monitoring target storage area is completed is set. It is. This W field is valid only when the PID is set in the SPID field of the same monitoring target storage area (when the corresponding data storage area is the monitoring target storage area). Field).

キャッシュメモリ制御部30は、複数のアドレスデコーダ、複数の比較器、複数のセレクタ等からなる回路である。説明の便宜上、このキャッシュメモリ制御部30の機能を説明する前に、共有キャッシュメモリ装置10が備える各アクセス制御部11の構成を説明することにする。   The cache memory control unit 30 is a circuit including a plurality of address decoders, a plurality of comparators, a plurality of selectors, and the like. For convenience of explanation, before explaining the function of the cache memory control unit 30, the configuration of each access control unit 11 provided in the shared cache memory device 10 will be explained.

図2に示してあるように、各アクセス制御部11は、プロセッサインタフェース部20、制御部21、保留アクセス記憶部22、アクセス領域一致判定部23、アクセス情報送
信部24及びアクセス要求選択部25を備えている。
As shown in FIG. 2, each access control unit 11 includes a processor interface unit 20, a control unit 21, a reserved access storage unit 22, an access area match determination unit 23, an access information transmission unit 24, and an access request selection unit 25. I have.

プロセッサインタフェース部20は、プロセッサ14と通信を行うためのインタフェース回路である。このプロセッサインタフェース部20は、自身に接続されているプロセッサ14のPID(プロセッサ14から取得したもの又は自ユニット内に設定されているもの)を制御部21に通知する機能や、プロセッサ14から受信した領域確保コマンド/領域解放コマンドを制御部21に通知する機能を有している。また、プロセッサインタフェース部20は、受信したアクセス要求(リード要求及びライト要求)を、アクセス情報送信部24、保留アクセス記憶部22及びアクセス要求選択部25に供給する機能も有している。さらに、プロセッサインタフェース部20は、アクセス要求選択部25に供給するライト要求に、PIDを付加する機能も有している。   The processor interface unit 20 is an interface circuit for communicating with the processor 14. The processor interface unit 20 receives a function of notifying the control unit 21 of the PID (acquired from the processor 14 or set in the own unit) of the processor 14 connected to the processor interface unit 20 or received from the processor 14. It has a function of notifying the controller 21 of an area allocation command / area release command. The processor interface unit 20 also has a function of supplying the received access request (read request and write request) to the access information transmission unit 24, the pending access storage unit 22, and the access request selection unit 25. Further, the processor interface unit 20 has a function of adding a PID to a write request supplied to the access request selection unit 25.

保留アクセス記憶部22は、プロセッサ14から受信したが応答を保留している(実際の処理を行っていない)アクセス要求を記憶しておくためのユニットである。この保留アクセス記憶部22は、各種制御(プロセッサインタフェース部20からのアクセス要求を取り込むか否かについての制御等)が制御部21によって行われるものとなっている。   The hold access storage unit 22 is a unit for storing an access request received from the processor 14 but holding a response (not performing actual processing). In the reserved access storage unit 22, various types of control (such as control as to whether or not an access request is received from the processor interface unit 20) is performed by the control unit 21.

アクセス情報送信部24は、今回のアクセス要求にてアクセスが要求されている領域を示すアクセス情報を、制御部21から所定のアクセス情報出力指示が入力されたときに、アクセス情報バス12上に送出するユニットである。   The access information transmission unit 24 sends access information indicating an area for which access is requested in the current access request to the access information bus 12 when a predetermined access information output instruction is input from the control unit 21. Unit.

アクセス領域一致判定部23は、アクセス情報バス12上に送出されたアクセス情報が示している領域と、保留アクセス記憶部22に記憶されているアクセス要求にてアクセスが要求されている領域とが一致していている場合に、所定の第2書込完了通知を制御部21に対して出力するユニットである。なお、このアクセス領域一致判定部23が機能するのは、他アクセス制御部11内のアクセス情報送信部24によってアクセス情報バス12上にアクセス情報が送出された場合だけである。   The access area match determination unit 23 determines that the area indicated by the access information sent on the access information bus 12 and the area where access is requested by the access request stored in the reserved access storage unit 22 are the same. In this case, the unit outputs a predetermined second writing completion notification to the control unit 21 when it is done. The access area match determination unit 23 functions only when access information is transmitted on the access information bus 12 by the access information transmission unit 24 in the other access control unit 11.

アクセス要求選択部25は、制御部21の制御下(制御部21からの制御信号に従って)、保留アクセス記憶部22上のアクセス要求、又は、プロセッサインタフェース部20からのアクセス要求を、共有キャッシュメモリ13に供給するユニットである。   Under the control of the control unit 21 (in accordance with a control signal from the control unit 21), the access request selection unit 25 sends an access request on the pending access storage unit 22 or an access request from the processor interface unit 20 to the shared cache memory 13 It is a unit to supply to.

制御部21は、通常は、プロセッサインタフェース部20により受信されたアクセス要求が共有キャッシュメモリ13に供給されるように、且つ、当該アクセス要求で保留アクセス記憶部22上のアクセス要求が更新されるように各部を制御しているユニットである。   Normally, the control unit 21 is configured so that the access request received by the processor interface unit 20 is supplied to the shared cache memory 13 and the access request on the pending access storage unit 22 is updated with the access request. This unit controls each part.

この制御部21は、保留要求通知(詳細は後述)がキャッシュメモリ制御部30から入力された場合には、今回のアクセス要求(保留要求通知の送信原因となったアクセス要求)を保持し続けるように保留アクセス記憶部22を制御する。また、制御部21は、上記した第2書込完了通知がアクセス領域一致判定部23から入力された際に、アクセス要求選択部25に保留アクセス記憶部22上のアクセス要求を共有キャッシュメモリ13に供給させてから各部を通常の状態に戻す機能も有している。さらに、制御部21は、第1書込完了通知(詳細は後述)がキャッシュメモリ制御部30から入力された際に、アクセス情報送信部24に対してアクセス情報出力指示を出力する機能等も有している。   When a hold request notification (details will be described later) is input from the cache memory control unit 30, the control unit 21 continues to hold the current access request (the access request that caused the hold request notification to be transmitted). The pending access storage unit 22 is controlled. When the second write completion notification is input from the access area match determination unit 23, the control unit 21 sends the access request on the pending access storage unit 22 to the shared cache memory 13 to the access request selection unit 25. It also has a function of returning each part to a normal state after being supplied. Further, the control unit 21 has a function of outputting an access information output instruction to the access information transmitting unit 24 when a first write completion notification (details will be described later) is input from the cache memory control unit 30. doing.

以下、制御部21の機能、キャッシュメモリ制御部30の機能及び共有キャッシュメモリ装置10の全体的な機能を、図1のシステム(以下、第1実施形態に係る情報処理システムと表記する)の利用法等と共に、より具体的に説明する。   Hereinafter, the function of the control unit 21, the function of the cache memory control unit 30, and the overall function of the shared cache memory device 10 are used in the system of FIG. 1 (hereinafter referred to as the information processing system according to the first embodiment). A more specific explanation will be given together with the law.

或る処理を前段処理と後段処理とに分けて2つのプロセッサ14に実行させる場合、前段プロセッサ14は、図4に示した手順で動作するようにプログラミングされる。すなわち、前段プロセッサ14は、前段処理の処理結果を記憶するための前段処理用領域を内蔵キャッシュに確保(ステップS101)し、領域確保コマンドを送信(ステップS102)してから、前段処理(ステップS103)を開始するように、プログラミングされる。なお、前段プロセッサ14は、通常、前段処理の実行中に、時々、内蔵キャッシュ内のデータの掃き出し(主記憶装置への書き出し)を行うようにも、プログラミングされる。   When a certain process is divided into a pre-stage process and a post-stage process and is executed by the two processors 14, the pre-stage processor 14 is programmed to operate in the procedure shown in FIG. That is, the pre-stage processor 14 secures a pre-processing area for storing the processing result of the pre-stage processing in the internal cache (step S101), transmits an area reservation command (step S102), and then performs pre-stage processing (step S103). Is programmed to start). Note that the pre-stage processor 14 is usually programmed so as to sometimes sweep out data in the internal cache (write to the main storage device) during execution of the pre-stage processing.

一方、後段プロセッサ14は、図5に示した示した手順で動作するようにプログラミングされる。すなわち、後段プロセッサ14は、内蔵キャッシュの特定領域を無効化(ステップS201)してから、後段処理(ステップS202)を開始し、その完了後、領域解放コマンドを送信する(ステップS203)ように、プログラミングされる。なお、内蔵キャッシュの特定領域とは、後段処理を実行するために読み出したデータが記憶されることになる領域、又は、当該領域を含む領域(例えば、内蔵キャッシュの全領域)のことである。   On the other hand, the post-stage processor 14 is programmed to operate according to the procedure shown in FIG. That is, the post-stage processor 14 invalidates the specific area of the internal cache (step S201), starts the post-stage process (step S202), and transmits the area release command after the completion (step S203). To be programmed. The specific area of the internal cache is an area in which data read to execute the subsequent process is stored, or an area including the area (for example, the entire area of the internal cache).

また、後段プロセッサ14は、この図5の処理を、前段プロセッサ14による領域確保コマンドの送信完了後に開始するようにも、プログラミングされる。   Further, the latter processor 14 is also programmed to start the processing of FIG. 5 after the transmission of the area allocation command by the former processor 14 is completed.

領域確保コマンド(図4参照)は、前段処理により生成されるデータ群の主記憶装置における記憶位置を示す記憶位置情報(例えば、当該データ群が記憶される領域の先頭アドレスと当該データ群の総サイズ)と前段プロセッサ14のPIDとを含むコマンドである。   The area allocation command (see FIG. 4) is a storage location information indicating the storage location of the data group generated by the preceding process in the main storage device (for example, the start address of the area storing the data group and the total of the data group Size) and the PID of the preceding processor 14.

この領域確保コマンドを受信した場合、共有キャッシュメモリ装置10内では、各部によって以下の処理が行われる。   When this area reservation command is received, the following processing is performed by each unit in the shared cache memory device 10.

各アクセス制御部11内の制御部21(図2)は、領域確保コマンドをプロセッサインタフェース部20を介して受信した場合には、受信したコマンドを共通キャッシュメモリ13に送信(転送)する。   The control unit 21 (FIG. 2) in each access control unit 11 transmits (transfers) the received command to the common cache memory 13 when the area reservation command is received via the processor interface unit 20.

共通キャッシュメモリ13に送信された領域確保コマンドは、キャッシュアクセス調停部31を介してキャッシュメモリ制御部30に入力される。   The area reservation command transmitted to the common cache memory 13 is input to the cache memory control unit 30 via the cache access arbitration unit 31.

キャッシュメモリ制御部30は、領域確保コマンドが入力された場合には、その領域確保コマンド中の記憶位置情報に基づき、監視対象記憶領域とする幾つかのデータ記憶領域を特定する。より具体的には、キャッシュメモリ制御部30は、領域確保コマンド中の記憶位置情報に基づき、前段処理の処理結果として前段プロセッサ14から書き込みが要求されることになるデータ毎に、それに関するエントリアドレスから定まる各データメモリ部32のデータ記憶領域の中から,監視対象記憶領域とする1つのデータ記憶領域を特定する。   When an area allocation command is input, the cache memory control unit 30 specifies several data storage areas to be monitored storage areas based on the storage location information in the area allocation command. More specifically, based on the storage location information in the area allocation command, the cache memory control unit 30 sets an entry address for each piece of data that is requested to be written from the upstream processor 14 as a processing result of the upstream processing. From the data storage areas of each data memory unit 32 determined from the above, one data storage area as a monitoring target storage area is specified.

そして、キャッシュメモリ制御部30は、特定した各データ記憶領域に関する管理情報記憶領域に、図6に示したような管理情報を記憶する。すなわち、キャッシュメモリ制御部30は、特定した各データ記憶領域に関する管理情報記憶領域のV〜Wフィールドにそれぞれ“1”を設定すると共に、領域確保コマンドに含まれるPID(図では、PID1)を、特定した各データ記憶領域に関する管理情報記憶領域のSPIDフィールドに設定する。また、キャッシュメモリ制御部30は、特定した各データ記憶領域に関する管理情報記憶領域のADDRフィールドに、各データ記憶領域に記憶されるデータのフレームアドレス(図では、0x0800)を設定する。   Then, the cache memory control unit 30 stores the management information as shown in FIG. 6 in the management information storage area regarding each identified data storage area. That is, the cache memory control unit 30 sets “1” in each of the V to W fields of the management information storage area related to each specified data storage area, and sets the PID (PID1 in the figure) included in the area reservation command, The SPID field of the management information storage area for each identified data storage area is set. Further, the cache memory control unit 30 sets the frame address (0x0800 in the figure) of the data stored in each data storage area in the ADDR field of the management information storage area related to each specified data storage area.

なお、領域確保コマンドの入力時にキャッシュメモリ制御部30が実際に行う処理は、監視対象記憶領域とするデータ記憶領域を特定する度に、上記内容の管理情報を、特定したデータ記憶領域に関する管理情報記憶領域に記憶(設定)する処理である、また、当該処理は、必要である場合には、監視対象記憶領域とするデータ記憶領域上のデータを主記憶装置に書き戻してから、当該データ記憶領域に関する管理情報記憶領域に、上記内容の管理情報を設定するものともなっている。   Note that the processing actually performed by the cache memory control unit 30 at the time of inputting the area allocation command is that the management information of the above contents is changed to the management information related to the specified data storage area every time the data storage area to be monitored is specified. This is a process of storing (setting) in the storage area. If necessary, the process stores the data in the data storage area as the monitoring target storage area back to the main storage device, and then stores the data. The management information having the above contents is set in the management information storage area related to the area.

次に、リード要求受信時における共有キャッシュメモリ装置10の動作を説明する。   Next, the operation of the shared cache memory device 10 when a read request is received will be described.

既に説明したように、各アクセス制御部11内の制御部21(図2)は、通常は、アクセス要求選択部25に、プロセッサインタフェース部20からのアクセス要求を共有キャッシュメモリ13に供給させている。   As already described, the control unit 21 (FIG. 2) in each access control unit 11 normally causes the access request selection unit 25 to supply the access request from the processor interface unit 20 to the shared cache memory 13. .

共有キャッシュメモリ13に供給されたアクセス要求は、キャッシュアクセス調停部31を介してキャッシュメモリ制御部30に供給される。   The access request supplied to the shared cache memory 13 is supplied to the cache memory control unit 30 via the cache access arbitration unit 31.

キャッシュメモリ制御部30は、リード要求が供給された場合には、各タグメモリ部33を参照することにより、以下のいずれの条件が成立しているかを判断する。なお、以下の説明において、読出対象データとは、アクセス制御部11から供給されたリード要求で読み出しが要求されているデータ(前段/後段プロセッサ14が読み出しを要求している,データ記憶領域サイズのデータ)のことである。SPID値とは、SPIDフィールドの値(いずれかのプロセッサ14のPID、又は、所定値)のことである。   When a read request is supplied, the cache memory control unit 30 refers to each tag memory unit 33 to determine which of the following conditions is satisfied. In the following description, the data to be read is the data requested to be read by the read request supplied from the access control unit 11 (the data storage area size requested by the preceding / following processor 14 to read). Data). The SPID value is a value in the SPID field (PID of any processor 14 or a predetermined value).

・R1:読出対象データのエントリアドレスから定まるn個の管理情報の中に、フレームアドレスが読出対象データのフレームアドレスと一致し、Vビット、SPID値が、それぞれ、“1”、所定値となっている管理情報が存在する。
・R2:読出対象データのエントリアドレスから定まるn個の管理情報の中に、フレームアドレスが読出対象データのフレームアドレスと一致し、Vビット、Wビット、SPID値が、それぞれ、“1”、“0”、PID(所定値ではない値)となっている管理情報が存在する。
・R3:読出対象データのエントリアドレスから定まるn個の管理情報の中に、フレームアドレスが読出対象データのフレームアドレスと一致し、Vビット、Wビット、SPID値が、それぞれ、“1”、“1”、PIDとなっている管理情報が存在する。
・R4:R1〜R3のいずれの条件も成立していない。
R1: Among n pieces of management information determined from the entry address of the read target data, the frame address matches the frame address of the read target data, and the V bit and the SPID value are “1” and a predetermined value, respectively. Management information exists.
R2: Among the n pieces of management information determined from the entry address of the read target data, the frame address matches the frame address of the read target data, and the V bit, W bit, and SPID value are “1”, “ There is management information that is 0 ″, PID (a value that is not a predetermined value).
R3: Among the n pieces of management information determined from the entry address of the read target data, the frame address matches the frame address of the read target data, and the V bit, W bit, and SPID value are “1”, “ There is management information which is 1 ″, PID.
R4: None of the conditions R1 to R3 is satisfied.

換言すれば、キャッシュメモリ制御部30は、以下のいずれの条件が成立しているかを判断する。
・読出対象データ用のデータ記憶領域(読出対象データ用のものとして確保されているデータ記憶領域;以下、同様)が存在していない(R4)。
・読出対象データ用の非監視対象記憶領域(読出対象データ用の、監視対象記憶領域ではないデータ記憶領域)が存在している(R1)。
・読出対象データ用の,データの書き込みが完了している監視対象記憶領域が存在している(R2)。
・読出対象データ用の,データの書き込みが完了していない監視対象記憶領域が存在している(R3)。
In other words, the cache memory control unit 30 determines which of the following conditions is satisfied.
There is no data storage area for read target data (data storage area reserved for read target data; hereinafter the same) (R4).
A non-monitoring target storage area for reading target data (a data storage area for reading target data that is not a monitoring target storage area) exists (R1).
There is a monitoring target storage area for which data writing has been completed (R2).
There is a monitoring target storage area for which data writing has not been completed (R3).

そして、キャッシュメモリ制御部30は、読出対象データ用の非監視対象記憶領域が存在していた場合(条件R1が成立していた場合)には、当該非監視対象記憶領域上のデータ(読出対象データ)を、受信したリード要求の送信元プロセッサ14に返送する処理を
行う。なお、この処理及び以下で説明する同様の処理(要求されたデータを返送する処理)は、いずれも、受信したリード要求の送信元プロセッサ14と接続されているアクセス制御部11(リード要求の転送元アクセス制御部11)を介して、当該送信元プロセッサ14にデータを返送する処理である。
Then, when there is a non-monitoring target storage area for the read target data (when the condition R1 is satisfied), the cache memory control unit 30 performs data (read target) in the non-monitoring target storage area. Data) is sent back to the transmission source processor 14 of the received read request. Note that this process and the similar process described below (the process of returning the requested data) are both performed by the access control unit 11 (read request transfer) connected to the source processor 14 of the received read request. This is a process of returning data to the transmission source processor 14 via the original access control unit 11).

キャッシュメモリ制御部30は、読出対象データ用の,データの書き込みが完了している監視対象記憶領域が存在していた場合(条件R2が成立していた場合)には、当該監視対象記憶領域上のデータを、受信したリード要求の送信元プロセッサ14に返送する処理を行う。   When there is a monitoring target storage area for which data writing has been completed for read target data (when the condition R2 is satisfied), the cache memory control unit 30 reads the data on the monitoring target storage area. Is sent back to the transmission source processor 14 of the received read request.

キャッシュメモリ制御部30は、読出対象データ用のデータ記憶領域が存在していなかった場合(条件R4が成立していた場合)には、読出対象データを下位記憶階層15から読み出し、読み出した読出対象データを、受信したリード要求の送信元プロセッサ14に返送する処理を行う。また、この場合、キャッシュメモリ制御部30は、下位記憶階層15から読み出したデータを、キャッシュする処理(いずれかのデータメモリ部32内の特定のデータ記憶領域に記憶すると共に、その管理情報を変更する処理)も行う。   When the data storage area for the read target data does not exist (when the condition R4 is satisfied), the cache memory control unit 30 reads the read target data from the lower storage hierarchy 15 and reads the read target The data is returned to the transmission source processor 14 of the received read request. In this case, the cache memory control unit 30 also caches the data read from the lower storage hierarchy 15 (stores it in a specific data storage area in any of the data memory units 32 and changes its management information. Process).

キャッシュメモリ制御部30は、読出対象データ用の,データの書き込みが完了している監視対象記憶領域が存在していた場合(条件R3が成立していた場合)には、『受信したアクセス要求(この場合、リード要求)に応答できない状況にある旨を示す保留要求通知』を、受信したリード要求の送信元アクセス制御部11内の制御部21に対して送信する。   When there is a monitoring target storage area for which data writing has been completed for read target data (when the condition R3 is satisfied), the cache memory control unit 30 reads “received access request ( In this case, a “pending request notification” indicating that the read request) cannot be responded is transmitted to the control unit 21 in the transmission source access control unit 11 of the received read request.

要するに、本共有キャッシュメモリ装置10は、リード要求を受信した場合、各部(主として、キャッシュメモリ制御部30)により、図7に示した手順の処理が行われる装置として構成されている。   In short, the shared cache memory device 10 is configured as a device in which the processing of the procedure shown in FIG. 7 is performed by each unit (mainly the cache memory control unit 30) when a read request is received.

すなわち、リード要求を受信した場合、キャッシュメモリ制御部30は、各タグメモリ部32上の特定のn個の管理情報を参照することにより、読出対象データ用のデータ記憶領域(図7では、対応データ記憶領域)が存在するか否かを判断する(ステップS301)。そして、キャッシュメモリ制御部30は、読出対象データ用のデータ記憶領域が存在していなかった場合(ステップS301;NO)には、ステップS304にて、読出対象データを下位記憶階層15から読み出し、受信したリード要求の送信元プロセッサ14に対して返送する処理等(図では、通常のリード要求用制御処理)を行う。すなわち、キャッシュメモリ制御部30は、セットアソシエイティブ方式のキャッシュメモリ内の制御機構(キャッシュメモリ制御部30に相当する部分;以下、既存制御機構と表記する)が、リード要求についてのキャッシュミス時に行うものと本質的には同内容の処理を、このステップS304にて行う。   That is, when a read request is received, the cache memory control unit 30 refers to specific n pieces of management information on each tag memory unit 32 to thereby read a data storage area for data to be read (in FIG. It is determined whether or not (data storage area) exists (step S301). If the data storage area for the read target data does not exist (step S301; NO), the cache memory control unit 30 reads the read target data from the lower storage hierarchy 15 and receives it in step S304. The process of returning the read request to the transmission source processor 14 is performed (in the figure, a normal read request control process). That is, the cache memory control unit 30 performs a control mechanism in the set associative cache memory (a part corresponding to the cache memory control unit 30; hereinafter referred to as an existing control mechanism) when a cache miss occurs with respect to a read request. The process having essentially the same contents as the process is performed in step S304.

また、キャッシュメモリ制御部30は、読出対象データ用の非監視対象記憶領域が存在していた場合(ステップS301;YES,ステップS302;NO)には、ステップS304にて、当該非監視対象記憶領域から読出対象データを読み出して、受信したリード要求の送信元プロセッサ14に返送する処理を行う。すなわち、この場合、キャッシュメモリ制御部30は、既存制御機構がリード要求についてのキャッシュヒット時に行うものと本質的には同内容の処理を行う。   In addition, when there is a non-monitoring target storage area for read target data (step S301; YES, step S302; NO), the cache memory control unit 30 determines that the non-monitoring target storage area in step S304. The data to be read is read out from the received data, and the received read request is sent back to the transmission source processor 14. In other words, in this case, the cache memory control unit 30 performs processing essentially the same as that performed by the existing control mechanism at the time of a cache hit for a read request.

また、キャッシュメモリ制御部30は、読出対象データ用の,データの書き込みが完了している(その管理情報中のWビットが“0”となっている)監視対象記憶領域が存在していた場合(ステップS301;YES,ステップS302;YES、ステップS303;NO)にも、既存制御機構がリード要求についてのキャッシュヒット時に行うものと本
質的には同内容の処理をステップS304にて行う。
The cache memory control unit 30 also has a monitoring target storage area for which data has been written for the reading target data (the W bit in the management information is “0”). (Step S301; YES, Step S302; YES, Step S303; NO) In Step S304, essentially the same processing as that performed when the existing control mechanism performs a cache hit for the read request is performed.

キャッシュメモリ制御部30は、読出対象データ用の,データの書き込みが完了していない(その管理情報中のWビットが“1”となっている)監視対象記憶領域が存在していた場合(ステップS301;YES,ステップS302;YES、ステップS303;YES)には、受信したリード要求の送信元アクセス制御部11内の制御部21に保留要求通知を送信する(図示略)。   The cache memory control unit 30 determines that there is a monitoring target storage area for data to be read that has not been written (the W bit in the management information is “1”) (step S1). In step S301; YES, step S302; YES, step S303; YES, a hold request notification is transmitted to the control unit 21 in the transmission source access control unit 11 of the received read request (not shown).

既に説明したように、制御部21は、保留要求通知がキャッシュメモリ制御部30から入力された場合には、今回のアクセス要求(保留要求通知の送信原因となったアクセス要求)を保持し続けるように保留アクセス記憶部22を制御する。従って、読出対象データ用の監視対象記憶領域が存在し、その管理情報中のWビットが“1”であった場合(ステップS303;YES)、今回のリード要求が、当該リード要求を受信したアクセス制御部11内の保留アクセス記憶部22に保存される(ステップS305)ことになる。   As already described, when the hold request notification is input from the cache memory control unit 30, the control unit 21 continues to hold the current access request (the access request that caused the hold request notification to be transmitted). The pending access storage unit 22 is controlled. Therefore, if there is a monitoring target storage area for data to be read and the W bit in the management information is “1” (step S303; YES), the current read request is the access that received the read request. It is stored in the reserved access storage unit 22 in the control unit 11 (step S305).

なお、或る監視対象記憶領域上のデータの読み出しを要求するのは、原則として(プログラミングを誤らない限り)、後段プロセッサ14である。従って、ステップS305の処理が行われるのは、『後段プロセッサ14が、前段処理の処理結果データを要求するリード要求を送信したが、当該処理結果データの前段プロセッサ14による書き込みが完了していなかった場合』である。また、ステップS305の処理では、後段プロセッサ14と接続されているアクセス制御部11(以下、後段アクセス制御部11と表記する)内の保留アクセス記憶部22に、後段プロセッサ14が送信したリード要求が保存されることになる。   In principle, it is the post-stage processor 14 that requests reading of data on a certain monitoring target storage area (unless programming is wrong). Therefore, the processing in step S305 is performed because “the post-stage processor 14 has transmitted a read request for requesting the processing result data of the pre-stage processing, but writing of the processing result data by the pre-stage processor 14 has not been completed. Case ”. In the process of step S305, the read request transmitted by the subsequent processor 14 is sent to the reserved access storage unit 22 in the access control unit 11 (hereinafter referred to as the subsequent access control unit 11) connected to the subsequent processor 14. Will be saved.

次に、ライト要求に対する共有キャッシュメモリ装置10の動作を説明する。   Next, the operation of the shared cache memory device 10 in response to a write request will be described.

既に説明したように、プロセッサインタフェース部20(図2)は、アクセス要求選択部25に供給するライト要求に、PIDを付加する。そして、制御部21は、通常は、アクセス要求選択部25にプロセッサインタフェース部20からのアクセス要求を共有キャッシュメモリ13に供給させている。従って、各プロセッサ14からのライト要求は、PIDが付加された形で、共有キャッシュメモリ13に供給されることになる。   As already described, the processor interface unit 20 (FIG. 2) adds a PID to the write request supplied to the access request selection unit 25. The control unit 21 normally causes the access request selection unit 25 to supply the access request from the processor interface unit 20 to the shared cache memory 13. Therefore, the write request from each processor 14 is supplied to the shared cache memory 13 with the PID added.

キャッシュメモリ制御部30は、キャッシュアクセス調停部31を介してライト要求及びPID(以下、供給PIDと表記する)が供給された場合には、各タグメモリ部33を参照することにより、以下の条件W1〜W4のいずれが成立しているかを判断する。なお、以下の説明において、書込対象データとは、アクセス制御部11から供給されたライト要求で書き込みが要求されているデータ(前段処理/後段処理の処理結果データ等)のことである。   When a write request and a PID (hereinafter referred to as a supply PID) are supplied via the cache access arbitration unit 31, the cache memory control unit 30 refers to each tag memory unit 33 to satisfy the following conditions: It is determined which of W1 to W4 is established. In the following description, the write target data is data that is requested to be written by the write request supplied from the access control unit 11 (process result data of the pre-stage process / post-stage process).

W1:書込対象データのエントリアドレスから定まるn個の管理情報の中に、フレームアドレスが書込対象データのフレームアドレスと一致し、Vビット、SPID値が、それぞれ、“1”、所定値となっている管理情報が存在する。
W2:書込対象データのエントリアドレスから定まるn個の管理情報の中に、フレームアドレス、SPID値が、それぞれ、書込対象データのフレームアドレス、供給PIDと一致し、Vビットが“1”となっている管理情報が存在する。
W3:書込対象データのエントリアドレスから定まるn個の管理情報の中に、フレームアドレスが書込対象データのフレームアドレスと一致し、Vビット、SPID値が、それぞれ、“1”、“供給PIDと一致しないPID”となっている管理情報が存在する。
・W4:W1〜W3のいずれの条件も成立していない。
W1: Among the n pieces of management information determined from the entry address of the write target data, the frame address matches the frame address of the write target data, the V bit and the SPID value are “1”, a predetermined value, Management information is present.
W2: Among the n pieces of management information determined from the entry address of the write target data, the frame address and the SPID value match the frame address and supply PID of the write target data, respectively, and the V bit is “1” Management information is present.
W3: Among the n pieces of management information determined from the entry address of the write target data, the frame address matches the frame address of the write target data, and the V bit and SPID value are “1” and “supply PID”, respectively. Management information having a PID "that does not match" exists.
W4: None of the conditions of W1 to W3 is satisfied.

換言すれば、キャッシュメモリ制御部30は、以下のいずれの条件が成立しているかを判断する。
・書込対象データ用のデータ記憶領域が存在しない(W4)。
・書込対象データ用の非監視対象記憶領域が存在している(W1)。
・書込対象データ用の監視対象記憶領域が存在し、書き込みを要求したプロセッサ14が前段プロセッサ14である〔今回、受信したライト要求が、前段プロセッサ14からの、前段処理の処理結果データの書き込みを要求するライト要求である〕(W2)。
・書込対象データ用の監視対象記憶領域が存在し、書き込みを要求したプロセッサ14が後段プロセッサ14である〔後段プロセッサ14による監視対象記憶領域へのデータ書き込みが行われた〕(W3)。
In other words, the cache memory control unit 30 determines which of the following conditions is satisfied.
There is no data storage area for write target data (W4).
A non-monitoring target storage area for writing target data exists (W1).
The monitoring target storage area for the write target data exists, and the processor 14 that requested the write is the pre-stage processor 14 [this time, the received write request is the write of the processing result data of the pre-stage process from the pre-stage processor 14 (W2).
There is a monitoring target storage area for write target data, and the processor 14 that has requested writing is the subsequent processor 14 [the data writing to the monitoring target storage area has been performed by the subsequent processor 14] (W3).

そして、キャッシュメモリ制御部30は、書込対象データ用のデータ記憶領域が存在していなかった場合(条件W4が成立していた場合)には、書込対象データを記憶するためのデータ記憶領域を確保し、そのデータ記憶領域に書込対象データを記憶する処理等を行う。また、キャッシュメモリ制御部30は、書込対象データ用の非監視対象記憶領域が存在していた場合(条件W1が成立していた場合)には、当該非監視対象記憶領域に書込対象データを記憶すると共に、当該非監視対象記憶領域に関する管理情報中のMビットの値を“1”に変更する処理を行う。   Then, when there is no data storage area for the write target data (when the condition W4 is satisfied), the cache memory control unit 30 stores the data to be written. And processing for storing the write target data in the data storage area is performed. In addition, when the non-monitoring target storage area for the write target data exists (when the condition W1 is satisfied), the cache memory control unit 30 writes the write target data in the non-monitoring target storage area. And a process of changing the value of the M bit in the management information related to the non-monitoring target storage area to “1”.

すなわち、図8に示したように、キャッシュメモリ制御部30は、書込対象データ用のデータ記憶領域(図8では、対応データ記憶領域)が存在していなかった場合(ステップS401;NO)には、ステップS404にて、既存制御機構がライト要求についてのキャッシュミス時に行うものと本質的には同内容の制御(図では、“通常のライト要求用制御処理”)を行う。また、キャッシュメモリ制御部30は、書込対象データ用の非監視対象記憶領域が存在していた場合(ステップS401;YES,ステップS402;NO)には、ステップS404にて、既存制御機構がライト要求についてのキャッシュヒット時に行うものと本質的には同内容の制御を行う。   In other words, as shown in FIG. 8, the cache memory control unit 30 determines that the data storage area for the write target data (corresponding data storage area in FIG. 8) does not exist (step S401; NO). In step S404, essentially the same control as that performed by the existing control mechanism at the time of a cache miss with respect to a write request (in the figure, "normal write request control process") is performed. Further, if there is a non-monitoring target storage area for the write target data (step S401; YES, step S402; NO), the cache memory control unit 30 writes the existing control mechanism to the write in step S404. The control is essentially the same as that performed when a request hits a cache hit.

キャッシュメモリ制御部30は、後段プロセッサ14による監視対象記憶領域へのデータ書き込みが行われた場合(条件W3が成立していた場合:ステップS401;YES,ステップS402;YES、ステップS403;NO)には、保留要求通知を、受信したライト要求の送信元アクセス制御部11内の制御部21に送信する(図示略)。   When the subsequent processor 14 writes data to the monitoring target storage area (when the condition W3 is satisfied: step S401; YES, step S402; YES, step S403; NO), the cache memory control unit 30 Transmits a hold request notification to the control unit 21 in the transmission source access control unit 11 of the received write request (not shown).

既に説明したように、制御部21は、保留要求通知がキャッシュメモリ制御部30から入力された場合、今回のアクセス要求を保持し続けるように保留アクセス記憶部22を制御する。従って、この場合(ステップS403;NO)、今回、処理を試みたライト要求が、ライト要求の送信元(転送元)アクセス制御部11内の保留アクセス記憶部22に保存される(ステップS408)ことになる。なお、上記条件W3は、通常は、成立しない条件(プログラムミスをしない限り成立することがない条件)である。そのため、共有キャッシュメモリ装置10は、保留アクセス記憶部22にライト要求が記憶されること(図8のステップS408の処理が行われること)が実際上ない装置となっている。   As already described, when the hold request notification is input from the cache memory control unit 30, the control unit 21 controls the hold access storage unit 22 so as to keep the current access request. Therefore, in this case (step S403; NO), the write request attempted to be processed this time is stored in the pending access storage unit 22 in the write request transmission source (transfer source) access control unit 11 (step S408). become. The condition W3 is normally a condition that is not satisfied (a condition that is not satisfied unless a program mistake is made). Therefore, the shared cache memory device 10 is a device that does not actually store the write request in the reserved access storage unit 22 (the processing in step S408 in FIG. 8 is performed).

キャッシュメモリ制御部30は、今回、受信したライト要求が、前段プロセッサ14からの、前段処理の処理結果データの書き込みを要求するライト要求であった場合(条件W2が成立していた場合:ステップS401;YES,ステップS402;YES、ステップS403;YES)には、書込対象データ用の監視対象記憶領域に書込対象データを記憶すると共に、当該監視対象記憶領域に関する管理情報中のWビット値を“0”に変更する処理(ステップS405)を行う。   The cache memory control unit 30 this time, when the received write request is a write request for requesting writing of the processing result data of the preceding stage processing from the preceding stage processor 14 (when the condition W2 is satisfied: Step S401) YES, step S402; YES, step S403; YES), the write target data is stored in the monitoring target storage area for the write target data, and the W bit value in the management information related to the monitoring target storage area is stored. A process of changing to “0” (step S405) is performed.

また、この場合、キャッシュメモリ制御部30は、第1書込完了通知を送信することに
より、前段アクセス制御部11内の制御部21に、或る監視対象記憶領域へのデータの書き込みが完了したことを通知する(図示略)。そのため、条件W2の成立時(ステップS403;YES)に、今回の書込データを要求するリード要求が後段アクセス制御部11内の保留アクセス記憶部22に記憶されていた場合(ステップS406;YES)には、そのリード要求で要求されているデータを後段プロセッサ14に返送する処理(ステップS407)も行われることになる。
Further, in this case, the cache memory control unit 30 has completed the writing of data to a certain monitoring target storage area to the control unit 21 in the upstream access control unit 11 by transmitting the first write completion notification. (Not shown). Therefore, when the condition W2 is satisfied (step S403; YES), a read request for requesting the current write data is stored in the pending access storage unit 22 in the post-stage access control unit 11 (step S406; YES). In this case, a process of returning data requested by the read request to the subsequent processor 14 (step S407) is also performed.

具体的には、既に説明したように、制御部21は、第1書込完了通知が入力された場合に、アクセス情報送信部24に対してアクセス情報出力指示を出力するユニットであり、アクセス情報送信部24は、今回のアクセス要求にてアクセスが要求されている領域を示すアクセス情報を、制御部21から所定のアクセス情報出力指示が入力されたときに、アクセス情報バス12上に送出するユニットである。また、アクセス領域一致判定部23は、アクセス情報バス12上に送出されたアクセス情報が示している領域と、保留アクセス記憶部22に記憶されているアクセス要求にてアクセスが要求されている領域とが一致していている場合に、第2書込完了通知を制御部21に対して出力するユニットである。そして、制御部21は、第2書込完了通知が入力されたときに、アクセス要求選択部25に、保留アクセス記憶部22上のアクセス要求を共有キャッシュメモリ13に供給させる機能を有している。   Specifically, as already described, the control unit 21 is a unit that outputs an access information output instruction to the access information transmission unit 24 when the first writing completion notification is input, and the access information The transmission unit 24 is a unit that sends access information indicating an area for which access is requested in the current access request to the access information bus 12 when a predetermined access information output instruction is input from the control unit 21. It is. Further, the access area match determination unit 23 includes an area indicated by the access information transmitted on the access information bus 12, an area where access is requested by the access request stored in the reserved access storage unit 22, and Is a unit that outputs a second write completion notification to the control unit 21 when the two match. The control unit 21 has a function of causing the access request selection unit 25 to supply the access request on the reserved access storage unit 22 to the shared cache memory 13 when the second write completion notification is input. .

従って、第1書込完了通知が、前段アクセス制御部11内の制御部21に対して送信された場合、まず、前段アクセス制御部11内のアクセス情報送信部24が、今回、データが書き込まれた領域を示すアドレス情報をアドレス情報バス12上に送出する。   Therefore, when the first write completion notification is transmitted to the control unit 21 in the upstream access control unit 11, first, the access information transmission unit 24 in the upstream access control unit 11 writes data this time. The address information indicating the specified area is transmitted onto the address information bus 12.

次いで、そのアドレス情報を検知した,後段アクセス制御部11内のアクセス領域一致判定部23が、当該アクセス情報が示している領域と、自アクセス制御部11内の保留アクセス記憶部22に記憶されているリード要求にてアクセスが要求されている領域とが一致していているか否かを判断する。換言すれば、後段アクセス制御部11内のアクセス領域一致判定部23は、今回、書き込みが完了したデータを要求するリード要求が自アクセス制御部11内の保留アクセス記憶部22に記憶されているか否かを判断する(ステップS406)。   Next, the access area match determination unit 23 in the subsequent access control unit 11 that has detected the address information is stored in the area indicated by the access information and the reserved access storage unit 22 in the own access control unit 11. It is determined whether or not the read request is consistent with the area requested to be accessed. In other words, the access area match determination unit 23 in the subsequent access control unit 11 determines whether or not a read request for requesting data that has been written is currently stored in the reserved access storage unit 22 in the own access control unit 11. Is determined (step S406).

そして、アクセス領域一致判定部23は、そのようなリード要求が保留アクセス記憶部22に記憶されていた場合(ステップS406;YES)には、制御部21に対して第2書込完了通知を出力する。その結果、第2書込完了通知が入力された制御部21によりアクセス要求選択部25が制御されて、保留アクセス記憶部22上のリード要求が共有キャッシュメモリ13に供給されることになる。   Then, when such a read request is stored in the pending access storage unit 22 (step S406; YES), the access area match determination unit 23 outputs a second write completion notification to the control unit 21. To do. As a result, the access request selection unit 25 is controlled by the control unit 21 to which the second write completion notification is input, and the read request on the reserved access storage unit 22 is supplied to the shared cache memory 13.

共有キャッシュメモリ13に供給されたリード要求は、図7等を用いて既に説明した手順で処理されるが、第1書込完了通知が送信された結果として共有キャッシュメモリ13に供給されるリード要求が要求するデータは、今回、書き込みが完了したデータ(対応する管理情報のWビットが“0”となっているデータ)である。従って、第1書込完了通知が送信された結果としてリード要求が共有キャッシュメモリ13に供給された場合、直前に書き込まれたデータがデータメモリ部32から読み出され、後段アクセス制御部11を介して後段プロセッサ14に返送される(ステップS407)ことになる。   The read request supplied to the shared cache memory 13 is processed according to the procedure already described with reference to FIG. 7 and the like, but the read request supplied to the shared cache memory 13 as a result of the first write completion notification being transmitted. Is the data that has been written at this time (data in which the W bit of the corresponding management information is “0”). Therefore, when a read request is supplied to the shared cache memory 13 as a result of the transmission of the first write completion notification, the data written immediately before is read from the data memory unit 32 and passed through the subsequent access control unit 11. Is returned to the subsequent processor 14 (step S407).

次に、領域解放コマンド受信時における共有キャッシュメモリ装置10の動作を説明する。   Next, the operation of the shared cache memory device 10 when an area release command is received will be described.

後段プロセッサ14が送信する領域解放コマンド(図5参照)は、特にオペランドを含まないコマンドである。この領域解放コマンドは、プロセッサインタフェース部20、制
御部21及びキャッシュアクセス調停部31を介してキャッシュメモリ制御部30に入力される。
The area release command (see FIG. 5) transmitted by the subsequent processor 14 is a command that does not include an operand. This area release command is input to the cache memory control unit 30 via the processor interface unit 20, the control unit 21, and the cache access arbitration unit 31.

そして、領域解放コマンドが入力された場合、キャッシュメモリ制御部30は、各監視対象記憶領域上のデータを主記憶装置に書き戻すことなく、各監視対象記憶領域に関する管理情報記憶領域のVフィールド、SPIDフィールドに、それぞれ、“0”、所定値を設定する処理(他の各フィールドにも初期値をする処理)を行う。要するに、領域解放コマンドが入力された場合、キャッシュメモリ制御部30は、前段処理及び後段処理用に確保した各監視対象記憶領域を、通常のデータ記憶領域に戻すための処理を行う。   When the area release command is input, the cache memory control unit 30 does not write back the data on each monitoring target storage area to the main storage device, and the V field of the management information storage area related to each monitoring target storage area, Processing for setting “0” and a predetermined value in the SPID field (processing for setting initial values in other fields) is performed. In short, when an area release command is input, the cache memory control unit 30 performs a process for returning each monitoring target storage area reserved for the preceding process and the subsequent process to the normal data storage area.

なお、各監視対象記憶領域上のデータを主記憶装置に書き戻させていないのは、前段処理が、“後段処理以外の処理によりその処理結果が利用されない処理”であることを想定しているからである。従って、前段プロセッサ14に、後段処理以外の処理によりその処理結果が利用される前段処理を実行させる場合には、キャッシュメモリ制御部30を、領域確保コマンドの入力時に(又は、別タイミングで)、各監視対象記憶領域上のデータを主記憶装置に書き戻すユニットとしておくべきである。   Note that the reason why the data in each monitoring target storage area is not written back to the main storage device is that the pre-processing is “processing whose processing results are not used by processing other than post-processing”. Because. Accordingly, when the pre-stage processor 14 executes pre-stage processing in which the processing result is used by processing other than the post-stage processing, the cache memory control unit 30 is set to receive the area allocation command (or at another timing). It should be a unit that writes back the data on each monitored storage area to the main storage.

以上、詳細に説明したように、本実施形態に係る情報処理システム(図1)は、後段処理(及び前段処理)が、例えば、図9に示したような形で進行するシステムとなっている。   As described above in detail, the information processing system (FIG. 1) according to the present embodiment is a system in which the post-stage processing (and the pre-stage processing) proceeds in a form as shown in FIG. 9, for example. .

すなわち、第1実施形態に係る情報処理システムの前段プロセッサ14が前段処理を開始すると、バイト/ワード単位の各処理結果データが前段プロセッサ14の内蔵キャッシュに一旦記憶される。そして、ラインの入れ替えが必要になった場合等に、ラインサイズのデータのライト要求が共有キャッシュメモリ装置10(図では、共有キャッシュ)に対して出されることになる。   That is, when the pre-stage processor 14 of the information processing system according to the first embodiment starts pre-stage processing, each processing result data in byte / word units is temporarily stored in the internal cache of the pre-stage processor 14. Then, when line replacement becomes necessary, a line size data write request is issued to the shared cache memory device 10 (shared cache in the figure).

また、後段処理を開始した後段プロセッサ14は、前段処理の進行状況とは全く無関係なタイミングで、前段処理の処理結果データの読み出しを要求するリード要求を共有キャッシュメモリ装置10に対して送信することになる。   Further, the post-stage processor 14 that has started the post-stage processing transmits a read request for requesting reading of the processing result data of the pre-stage process to the shared cache memory device 10 at a timing completely unrelated to the progress status of the pre-stage process. become.

後段プロセッサ14から受信したリード要求が、前段プロセッサ14により未だ書き込まれていないデータを要求するものであった場合、共有キャッシュメモリ装置10は、後段プロセッサ14にデータを返送することなく、そのリード要求を保留する(そのリード要求を後段アクセス制御部11内の保留アクセス記憶部22に保存する;図7参照)。従って、後段プロセッサ14は、要求したデータが共有キャッシュメモリ装置10から返送されてくるのを待機することになる。   If the read request received from the succeeding processor 14 requests data that has not been written by the preceding processor 14, the shared cache memory device 10 does not return the data to the succeeding processor 14, and the read request (The read request is stored in the hold access storage unit 22 in the post-stage access control unit 11; see FIG. 7). Accordingly, the post-stage processor 14 waits for the requested data to be returned from the shared cache memory device 10.

また、共有キャッシュメモリ装置10は、前段プロセッサ14からのライト要求に対しては、常に、応答する(図8参照)。そのため、しばらくすると、保留しているリード要求にて要求されているデータが前段プロセッサ14により共有キャッシュメモリ装置10内に書き込まれることになる。   Further, the shared cache memory device 10 always responds to a write request from the preceding processor 14 (see FIG. 8). Therefore, after a while, the data requested by the pending read request is written into the shared cache memory device 10 by the upstream processor 14.

そして、共有キャッシュメモリ装置10は、保留しているリード要求にて要求されているデータが前段プロセッサ14により共有キャッシュメモリ装置10内に書き込まれたときに、保留しているリード要求に対する実際の処理を行う機能(図8:ステップS406,407)を有している。従って、送信したリード要求が共有キャッシュメモリ装置10により保留された後段プロセッサ14は、この機能によりデータが返送されてきたときに、中断していた後段処理を再開することになる。   Then, the shared cache memory device 10 performs the actual processing for the pending read request when the data requested by the pending read request is written into the shared cache memory device 10 by the pre-stage processor 14. (FIG. 8: Steps S406 and 407). Therefore, when the transmitted read request is held by the shared cache memory device 10, the subsequent processor 14 resumes the interrupted subsequent processing when data is returned by this function.

このように、第1実施形態に係る情報処理システムは、前段処理/後段処理を前段/後段プロセッサ14に実行させる際に、各プロセッサ14に状況通知用通信処理(割り込みを出力する処理、共有リソース上へ所定情報を書き込む処理等)を行わせる必要が全くないシステムとなっている。そして、各プロセッサ14に状況通知用通信処理を行わせる必要がなければ、その分、全処理の完了に要する時間を短くすることが出来るのであるから、第1実施形態に係る共有キャッシュメモリ装置10は、それを用いることにより、『2個のプロセッサに、より高速に連携した処理を行わせることが出来るようになる装置』となっていると言うことが出来る。   As described above, the information processing system according to the first embodiment causes each processor 14 to perform status notification communication processing (processing for outputting an interrupt, shared resource) when the pre-stage / post-stage processing is executed by the pre-stage / post-stage processor 14. This is a system that does not require any processing to write predetermined information on the top. If it is not necessary to cause each processor 14 to perform status notification communication processing, the time required for completion of all processing can be shortened accordingly. Therefore, the shared cache memory device 10 according to the first embodiment can be shortened. By using it, it can be said that it is “an apparatus that allows two processors to perform processing linked in a higher speed”.

《第2実施形態》
第2実施形態に係る共有キャッシュメモリ装置10は、後段処理として、『一度、共有キャッシュメモリ装置10から読み出したデータを再度読み出すことがない処理』が実行されることを想定して開発した装置である。
<< Second Embodiment >>
The shared cache memory device 10 according to the second embodiment is an apparatus developed on the assumption that “a process in which data read from the shared cache memory device 10 is not read again” is executed as a subsequent process. is there.

第2実施形態に係る共有キャッシュメモリ装置10は、キャッシュメモリ制御部30の機能のみが、第1実施形態に係る共有キャッシュメモリ装置10(図1参照)と異なる装置である。そして、第2実施形態に係る共有キャッシュメモリ装置10を用いて構築されるシステム(以下、第2実施形態に情報処理システムと表記する)は、第1実施形態に係る情報処理システムとは利用法が若干異なるものとなっている。そのため、以下では、第2実施形態に係る共有キャッシュメモリ装置10内のキャッシュメモリ制御部30(以下、第2キャッシュメモリ制御部30と表記する)の機能と、第2実施形態に係る情報処理システムの利用法のみを説明することにする。   The shared cache memory device 10 according to the second embodiment is a device that is different from the shared cache memory device 10 (see FIG. 1) according to the first embodiment only in the function of the cache memory control unit 30. A system constructed using the shared cache memory device 10 according to the second embodiment (hereinafter referred to as an information processing system in the second embodiment) is used as an information processing system according to the first embodiment. Are slightly different. Therefore, hereinafter, the function of the cache memory control unit 30 (hereinafter referred to as the second cache memory control unit 30) in the shared cache memory device 10 according to the second embodiment, and the information processing system according to the second embodiment Only the usage of will be explained.

第2キャッシュメモリ制御部30は、ライト要求に対しては、第1実施形態に係る共有キャッシュメモリ装置10内のキャッシュメモリ制御部30(以下、第1キャッシュメモリ制御部30と表記する)と同内容の処理を行うユニットである。ただし、第2キャッシュメモリ制御部30は、共有キャッシュメモリ装置10を、リード要求を図10に示した手順で処理する装置として機能させるユニットとなっている。   The second cache memory control unit 30 is the same as the cache memory control unit 30 (hereinafter referred to as the first cache memory control unit 30) in the shared cache memory device 10 according to the first embodiment for a write request. A unit that processes content. However, the second cache memory control unit 30 is a unit that causes the shared cache memory device 10 to function as a device that processes a read request according to the procedure shown in FIG.

この図10におけるステップS501〜505の処理は、図8におけるステップS301〜305の処理と本質的には同じ処理である。すなわち、リード要求を受信した場合、第2キャッシュメモリ制御部30は、各タグメモリ部32上の特定のn個の管理情報を参照することにより、読出対象データ用のデータ記憶領域(図10では、対応データ記憶領域)が存在するか否かを判断する(ステップS501)。そして、第2キャッシュメモリ制御部30は、読出対象データ用のデータ記憶領域が存在していなかった場合(ステップS501;NO)には、ステップS504にて、読出対象データを下位記憶階層15から読み出し、受信したリード要求の送信元プロセッサ14に対して返送する処理等(図では、通常のリード要求用制御処理)を行う。   The processing in steps S501 to S505 in FIG. 10 is essentially the same as the processing in steps S301 to S305 in FIG. That is, when a read request is received, the second cache memory control unit 30 refers to specific n pieces of management information on each tag memory unit 32 to thereby read a data storage area for data to be read (in FIG. 10). It is determined whether or not the corresponding data storage area exists (step S501). If the data storage area for the read target data does not exist (step S501; NO), the second cache memory control unit 30 reads the read target data from the lower storage hierarchy 15 in step S504. Then, a process of returning the received read request to the transmission source processor 14 is performed (in the figure, a normal read request control process).

また、第2キャッシュメモリ制御部30は、読出対象データ用の非監視対象記憶領域が存在していた場合(ステップS301;YES,ステップS502;NO)には、ステップS504にて、当該非監視対象記憶領域から読出対象データを読み出して、受信したリード要求の送信元プロセッサ14に返送する処理を行う。   In addition, if there is a non-monitoring target storage area for read target data (step S301; YES, step S502; NO), the second cache memory control unit 30 determines that the non-monitoring target in step S504. Data to be read is read from the storage area, and the received read request is returned to the transmission source processor 14.

第2キャッシュメモリ制御部30は、読出対象データ用の監視対象記憶領域が存在し、その管理情報中のWビットが“1”であった場合(ステップS501;YES,ステップS502;YES、ステップS503;YES)には、受信したリード要求の送信元アクセス制御部11内の制御部21に保留要求通知を送信する。そして、その結果として、今回の,応答できなかったリード要求が、当該リード要求を受信したアクセス制御部11内の保留アクセス記憶部22に保存される(ステップS505)ことになる。   The second cache memory control unit 30 has a monitoring target storage area for read target data, and the W bit in the management information is “1” (step S501; YES, step S502; YES, step S503). YES), a hold request notification is transmitted to the control unit 21 in the source access control unit 11 of the received read request. As a result, the read request that could not be answered at this time is stored in the pending access storage unit 22 in the access control unit 11 that has received the read request (step S505).

第2キャッシュメモリ制御部30は、読出対象データ用の監視対象記憶領域が存在し、その管理情報中のWビットが“0”であった場合(ステップS503;NO)、存在していた読出対象データ用の監視対象記憶領域(図では、対応監視対象記憶領域)上のデータをリード要求の送信元プロセッサ14に返送する処理(ステップS506)を行う。また、このステップ506にて、第2キャッシュメモリ制御部30は、当該監視対象記憶領域に関する管理情報記憶領域を初期化する処理(Vフィールド、SPIDフィールドに、それぞれ、“0”、所定値を設定し、他の各フィールドにも初期値を設定する処理)も行う。   When there is a monitoring target storage area for read target data and the W bit in the management information is “0” (step S503; NO), the second cache memory control unit 30 Processing for returning data in the data monitoring target storage area (corresponding monitoring target storage area in the figure) to the read request source processor 14 is performed (step S506). In step 506, the second cache memory control unit 30 initializes the management information storage area related to the monitoring target storage area (sets “0” and a predetermined value in the V field and SPID field, respectively). And processing for setting initial values in the other fields).

要するに、後段処理が、一度読み出したデータを再度読み出さない処理である場合、データの読み出しが完了した監視対象記憶領域を、通常のデータ記憶領域に戻しても何ら問題は生じないことになる。そして、通常のデータ記憶領域(特に制限なく利用できるデータ記憶領域)が多い方が、キャッシュミスが発生し難くなるので、第2実施形態に係る共有キャッシュメモリ装置10に上記構成を採用しているのである。   In short, when the subsequent process is a process in which data once read is not read again, no problem occurs even if the monitoring target storage area from which data has been read is returned to the normal data storage area. Since a cache miss is less likely to occur when there is more normal data storage area (a data storage area that can be used without limitation), the above configuration is adopted in the shared cache memory device 10 according to the second embodiment. It is.

最後に、第2実施形態に係る情報処理システムの利用法を簡単に説明しておくことにする。   Finally, a method for using the information processing system according to the second embodiment will be briefly described.

上記したように、第2実施形態に係る共有キャッシュメモリ装置10は、或る監視対象記憶領域からのデータの読み出しが完了した際に、その監視対象記憶領域を通常のデータ記憶領域に戻す装置となっている。換言すれば、第2実施形態に係る情報処理システムは、後段処理の完了と同時に、共有キャッシュメモリ装置10内の全てのデータ記憶領域が非監視対象記憶領域(通常のデータ記憶領域)となるシステムとなっている。   As described above, the shared cache memory device 10 according to the second embodiment is a device that returns a monitoring target storage area to a normal data storage area when reading of data from a monitoring target storage area is completed. It has become. In other words, the information processing system according to the second embodiment is a system in which all the data storage areas in the shared cache memory device 10 become non-monitoring target storage areas (normal data storage areas) simultaneously with the completion of the subsequent processing. It has become.

そのため、第2実施形態に係る情報処理システムの各プロセッサ14に前段処理及び後段処理を行わせる場合、後段プロセッサ14は、領域解放コマンドを送信しないように(図5のステップS201及びS202の処理を行うように)、プログラミングされる。   Therefore, when causing each processor 14 of the information processing system according to the second embodiment to perform the pre-stage process and the post-stage process, the post-stage processor 14 does not transmit the area release command (the processes in steps S201 and S202 in FIG. 5 are performed). Programmed to do).

《第3実施形態》
図11に、第3実施形態に係る共有キャッシュメモリ装置10の構成を示す。
<< Third Embodiment >>
FIG. 11 shows the configuration of the shared cache memory device 10 according to the third embodiment.

この図11に示してあるように、第3実施形態に係る共有キャッシュメモリ装置10は、2個のアクセス制御部11a、アクセス情報バス12及び共有キャッシュメモリ13を備えた装置である。なお、この共有キャッシュメモリ装置10も、第1,第2実施形態に係る共有キャッシュメモリ装置10と同様に、2個のプロセッサ14と下位記憶階層15(図11には、未表記;図1参照。)とに接続される装置である。   As shown in FIG. 11, the shared cache memory device 10 according to the third embodiment is a device including two access control units 11 a, an access information bus 12, and a shared cache memory 13. Note that this shared cache memory device 10 also has two processors 14 and a lower storage hierarchy 15 (not shown in FIG. 11; see FIG. 1), similarly to the shared cache memory device 10 according to the first and second embodiments. )).

この共有キャッシュメモリ装置10が備える共有キャッシュメモリ13は、第1実施形態に係る共有キャッシュメモリ装置10が備える共有キャッシュメモリ13と同構成、同機能のユニットである。   The shared cache memory 13 included in the shared cache memory device 10 is a unit having the same configuration and function as the shared cache memory 13 included in the shared cache memory device 10 according to the first embodiment.

アクセス制御部11aは、図2等を用いて既に説明したアクセス制御部11内のアクセス情報送信部24、アクセス領域一致判定部23、制御部21を、それぞれ、アクセス情報送信部24a、アクセス領域一致判定部23a、制御部21aに置き換えたユニットである。   The access control unit 11a replaces the access information transmission unit 24, the access region match determination unit 23, and the control unit 21 in the access control unit 11 already described with reference to FIG. This unit is replaced with the determination unit 23a and the control unit 21a.

アクセス情報送信部24aは、アクセス情報送信部24と同様に、アクセス情報を、所定のアクセス情報出力指示が制御部21aから入力されたときに、アクセス情報バス12上に送出するユニットである。ただし、このアクセス情報送信部24aは、アクセス要求
自体を、アクセス情報としてアクセス情報バス12上に送出するユニットとなっている。
Similar to the access information transmission unit 24, the access information transmission unit 24a is a unit that sends access information onto the access information bus 12 when a predetermined access information output instruction is input from the control unit 21a. However, the access information transmission unit 24a is a unit that sends the access request itself as access information onto the access information bus 12.

アクセス領域一致判定部23aは、アクセス領域一致判定部23と同様に、アクセス情報バス12上に送出されたアクセス情報が示している領域と、保留アクセス記憶部22に記憶されているアクセス要求にてアクセスが要求されている領域とが一致しているか否かを判定する機能を有するユニットである。また、アクセス領域一致判定部23aは、両領域が一致していた場合、第2書込完了通知を制御部21に対して出力するユニットともなっている。   Similar to the access area match determination unit 23, the access area match determination unit 23 a uses the area indicated by the access information sent on the access information bus 12 and the access request stored in the reserved access storage unit 22. This is a unit having a function of determining whether or not an area for which access is requested matches. The access area match determination unit 23a is also a unit that outputs a second write completion notification to the control unit 21 when both areas match.

ただし、アクセス領域一致判定部23aは、両領域が一致していた場合、アクセス情報バス12上に送出されたアクセス情報中のデータ(ライト要求の書込対象データ)を、自アクセス制御部11aと接続されているプロセッサ14に返送する処理も行うように、構成(改良)されている。   However, if the two areas match, the access area match determination unit 23a sends the data in the access information sent on the access information bus 12 (write request write target data) to the own access control unit 11a. It is configured (improved) so as to perform processing of returning to the connected processor 14.

そして、制御部21aは、第2書込完了通知が入力されたときに、各部を通常の状態に戻す制御のみを行うように(保留アクセス記憶部22上のアクセス要求を共有キャッシュメモリ13に供給しないように)、制御部21を改良したユニットとなっている。   Then, when the second write completion notification is input, the control unit 21a only performs control to return each unit to the normal state (supply the access request on the reserved access storage unit 22 to the shared cache memory 13). The control unit 21 is an improved unit.

要するに、本共有キャッシュメモリ装置10は、図12に模式的に示した如く、或るデータについてのリード要求を保留している状態で当該データについてのライト要求を受信した場合、そのライト要求の書込対象データ自体を後段プロセッサ14に返送する装置として構成されている。   In short, when the shared cache memory device 10 receives a write request for the data while holding a read request for certain data, as schematically shown in FIG. It is configured as a device that returns the target data itself to the subsequent processor 14.

従って、この共有キャッシュメモリ装置10は、データメモリ部32に書き込んだデータを読み出すことにより保留リード要求に応答する第1実施形態に係る共有キャッシュメモリ装置10(図10)よりも、保留リード要求に対する応答が早い装置となっていることになる。   Therefore, the shared cache memory device 10 responds to the pending read request more than the shared cache memory device 10 (FIG. 10) according to the first embodiment that responds to the pending read request by reading the data written in the data memory unit 32. This means that the response is fast.

《第4実施形態》
図13に、第4実施形態に係る共有キャッシュメモリ装置10の構成を示す。
<< 4th Embodiment >>
FIG. 13 shows the configuration of the shared cache memory device 10 according to the fourth embodiment.

この図13に示してあるように、第4実施形態に係る共有キャッシュメモリ装置10は、2個のアクセス制御部11b、アクセス情報バス12及び共有キャッシュメモリ13を備えた装置である。   As shown in FIG. 13, the shared cache memory device 10 according to the fourth embodiment is a device including two access control units 11b, an access information bus 12, and a shared cache memory 13.

この共有キャッシュメモリ装置10も、第1〜第3実施形態に係る共有キャッシュメモリ装置10と同様に、2個のプロセッサ14と下位記憶階層15(図13には、未表記;図1参照。)とに接続された状態で使用される装置である。ただし、第3実施形態に係る共有キャッシュメモリ装置10は、或るリード要求に対する応答がなくても次のリード要求を出せるプロセッサが、後段プロセッサ14として接続される装置となっている。   Similarly to the shared cache memory device 10 according to the first to third embodiments, this shared cache memory device 10 also includes two processors 14 and a lower storage hierarchy 15 (not shown in FIG. 13; see FIG. 1). It is a device used in a state connected to the. However, the shared cache memory device 10 according to the third embodiment is a device in which a processor that can issue a next read request without a response to a certain read request is connected as a subsequent processor 14.

本実施形態に係る共有キャッシュメモリ装置10が備える共有キャッシュメモリ13は、第1、第3実施形態に係る共有キャッシュメモリ装置10が備える共有キャッシュメモリ13と同構成、同機能のユニットである。   The shared cache memory 13 included in the shared cache memory device 10 according to the present embodiment is a unit having the same configuration and the same function as the shared cache memory 13 included in the shared cache memory device 10 according to the first and third embodiments.

各アクセス制御部11bは、プロセッサインタフェース部20、制御部21b、複数の保留アクセス記憶部22、アクセス領域一致判定部23b、アクセス情報送信部24及びアクセス要求選択部25bを備えたユニットである。   Each access control unit 11b is a unit including a processor interface unit 20, a control unit 21b, a plurality of reserved access storage units 22, an access area match determination unit 23b, an access information transmission unit 24, and an access request selection unit 25b.

このアクセス制御部11b内のプロセッサインタフェース部20、各保留アクセス記憶
部22、アクセス情報送信部24は、それぞれ、アクセス制御部11(図2)内の同名のユニットと本質的には同機能のユニットである。
Each of the processor interface unit 20, each reserved access storage unit 22, and the access information transmission unit 24 in the access control unit 11b is essentially a unit having the same function as the unit of the same name in the access control unit 11 (FIG. 2). It is.

アクセス要求選択部25bは、制御部21bの制御下、複数の保留アクセス記憶部22の中のいずれかの保留アクセス記憶部22上のアクセス要求、又は、プロセッサインタフェース部20からのアクセス要求を、共有キャッシュメモリ13に供給するユニットである。   The access request selection unit 25b shares an access request on one of the reserved access storage units 22 among the plurality of reserved access storage units 22 or an access request from the processor interface unit 20 under the control of the control unit 21b. This unit is supplied to the cache memory 13.

アクセス領域一致判定部23bは、以下の機能を有するユニットである。アクセス領域一致判定部23bは、通常は、アクセス情報バス12上にアクセス情報が送出されるのを監視している。アクセス領域一致判定部23bは、アクセス情報バス12上にアクセス情報が送出されたことを検出した場合には、当該アクセス情報が示している領域と同じ領域に対するアクセスを要求しているアクセス要求がいずれかの各保留アクセス記憶部22に記憶されているか否かを判断する。そして、アクセス領域一致判定部23bは、そのようなアクセス要求が或る保留アクセス記憶部22に記憶されていた場合には、当該保留アクセス記憶部22の識別情報を含む記憶部通知情報を制御部21bに対して送信する。   The access area match determination unit 23b is a unit having the following functions. The access area match determination unit 23b normally monitors the access information sent on the access information bus 12. When the access area coincidence determining unit 23b detects that access information has been transmitted on the access information bus 12, the access area requesting access to the same area as the area indicated by the access information is It is determined whether or not it is stored in each of the pending access storage units 22. Then, when such an access request is stored in a certain reserved access storage unit 22, the access area match determination unit 23b transmits the storage unit notification information including the identification information of the reserved access storage unit 22 to the control unit. It transmits to 21b.

制御部21bは、以下の機能を有するユニットである。制御部21bは、通常は、プロセッサインタフェース部20により受信されたアクセス要求が共有キャッシュメモリ13に供給されるように、アクセス要求選択部25bを制御している。また、制御部21bは、プロセッサインタフェース部20により受信されたアクセス要求で、その時点において制御対象となっている保留アクセス記憶部22(以下、制御対象記憶部22と表記する)上のアクセス要求が更新されるように各部を制御している。   The control unit 21b is a unit having the following functions. The control unit 21b normally controls the access request selection unit 25b so that the access request received by the processor interface unit 20 is supplied to the shared cache memory 13. The control unit 21b receives an access request received from the processor interface unit 20, and an access request on the pending access storage unit 22 (hereinafter referred to as the control target storage unit 22) that is a control target at that time is received. Each part is controlled to be updated.

そして、制御部21bは、保留要求通知がキャッシュメモリ制御部30から入力された場合には、今回のアクセス要求を保持し続けるように、制御対象記憶部22を制御すると共に、制御対象記憶部22を、未使用状態にある(保留したアクセス要求の記憶のために使用されていない)他の保留アクセス記憶部22に変更する。   When the hold request notification is input from the cache memory control unit 30, the control unit 21b controls the control target storage unit 22 so as to keep the current access request, and also controls the control target storage unit 22. Is changed to another reserved access storage unit 22 which is in an unused state (not used for storing a reserved access request).

制御部21bは、第1書込完了通知がキャッシュメモリ制御部30から入力された場合には、アクセス情報送信部24に対してアクセス情報出力指示を出力する。また、制御部21bは、上記した記憶部通知情報がアクセス領域一致判定部23bから入力された場合には、その記憶部通知情報中の識別情報で識別される保留アクセス記憶部22上のアクセス要求を、アクセス要求選択部25に共有キャッシュメモリ13に供給させてから、当該保留アクセス記憶部22が未使用状態になったことを記憶する。   When the first write completion notification is input from the cache memory control unit 30, the control unit 21 b outputs an access information output instruction to the access information transmission unit 24. In addition, when the storage unit notification information is input from the access area match determination unit 23b, the control unit 21b accesses the access request on the pending access storage unit 22 identified by the identification information in the storage unit notification information. Is stored in the shared cache memory 13 and the reserved access storage unit 22 is in an unused state.

以上の説明(及び第1実施形態に係る共有キャッシュメモリ装置10についての説明)から明らかなように、この第4実施形態に係る共有キャッシュメモリ装置10は、第1実施形態に係る共有キャッシュメモリ装置10を、リード要求を複数個保留できるように(保留することが必要なリード要求が連続的に入力されても問題が生じないように)、改良したものとなっている。   As is clear from the above description (and the description of the shared cache memory device 10 according to the first embodiment), the shared cache memory device 10 according to the fourth embodiment is the same as the shared cache memory device according to the first embodiment. 10 is improved so that a plurality of read requests can be held (so that a problem does not occur even if read requests that need to be held continuously are input).

従って、この共有キャッシュメモリ装置10に接続した後段プロセッサ14に、図14に示したような内容の後段処理、すなわち、第2入力画像データ(前段処理の入力画像データ自体等)と前段処理の処理結果とから出力画像データを生成する後段処理を実行させた場合、図15に示したように、第2入力画像データを後段プロセッサ14内に読み込む第2入力画像データ取得処理は、前段処理の進行状況に因らず(リード要求が保留中であっても)行えることになる。   Accordingly, the post-stage processor 14 connected to the shared cache memory device 10 receives the post-stage processing as shown in FIG. 14, that is, the second input image data (such as the input image data of the pre-stage process itself) and the pre-stage process. When the subsequent process for generating the output image data from the result is executed, as shown in FIG. 15, the second input image data acquisition process for reading the second input image data into the subsequent processor 14 is a progress of the previous process. It can be done regardless of the situation (even if the read request is pending).

そして、第1実施形態に係る共有キャッシュメモリ装置10を用いた場合、リード要求
の保留中に、この第2入力画像データ取得処理を行うことが出来ないのであるから、本実施形態に係る共有キャッシュメモリ装置10は、第1実施形態に係る共有キャッシュメモリ装置10よりも、処理性能が高い情報処理システムを構築できるものとなっていることになる。
When the shared cache memory device 10 according to the first embodiment is used, the second input image data acquisition process cannot be performed while the read request is pending. The memory device 10 can construct an information processing system with higher processing performance than the shared cache memory device 10 according to the first embodiment.

《変形形態》
上記した各実施形態に係る共有キャッシュメモリ装置10については、各種の変形を行うことが出来る。
<Deformation>
Various modifications can be made to the shared cache memory device 10 according to each embodiment described above.

例えば、各実施形態に係る共有キャッシュメモリ装置10を、ライトスルー方式のキャッシュメモリを備えたプロセッサ14と接続して使用するものに変形することが出来る。具体的には、共有キャッシュメモリ装置10を、例えば、ラインサイズが64バイトの,ライトスルー方式のキャッシュメモリを備えたプロセッサ14と接続して使用するものに変形する場合には、図16に示したように、タグメモリ部32のWフィールドを、64個のWビットを記憶できるものとしておく。また、キャッシュメモリ制御部30を、領域確保コマンドの入力時に、監視対象記憶領域に関する管理情報記憶領域のWフィールド内の全Wビットの値を“1”とし、1バイト単位のデータが前段プロセッサ14により書き込まれる度に該当するWビットを“0”に書き換えるユニットとしておく。さらに、キャッシュメモリ制御部30を、後段プロセッサ14からのリード要求には、管理情報中の全Wビットが“0”となっている場合にのみ応答するユニットともしておく。   For example, the shared cache memory device 10 according to each embodiment can be modified to be used by being connected to a processor 14 having a write-through cache memory. Specifically, when the shared cache memory device 10 is modified to be used by being connected to a processor 14 having a line size of 64 bytes and having a write-through cache memory, for example, as shown in FIG. As described above, it is assumed that the W field of the tag memory unit 32 can store 64 W bits. Further, when the cache memory control unit 30 inputs an area allocation command, the value of all W bits in the W field of the management information storage area related to the monitoring target storage area is set to “1”, and data in units of 1 byte is stored in the preceding processor 14. As a unit, the corresponding W bit is rewritten to “0” each time it is written. Further, the cache memory control unit 30 is also a unit that responds to a read request from the downstream processor 14 only when all W bits in the management information are “0”.

そのように共有キャッシュメモリ装置10を変形しておけば、図17に模式的に示したように、第1実施形態に係る情報処理システム等とは、前段プロセッサ14(前段プロセッサ14内の共有キャッシュ)から出されるライト要求の回数のみが異なる情報処理システムを実現できることになる。なお、上記場合、キャッシュメモリ制御部30を、後段プロセッサ14から1バイト単位のリード要求に応答できるユニットに変形しておくことも出来る。   If the shared cache memory device 10 is modified in such a manner, as schematically shown in FIG. 17, the information processing system according to the first embodiment is different from the former processor 14 (the shared cache in the former processor 14). It is possible to realize an information processing system that differs only in the number of write requests issued from. In the above case, the cache memory control unit 30 can be modified into a unit that can respond to a read request in units of 1 byte from the post-stage processor 14.

また、同様の構成を採用することによって、共有キャッシュメモリ装置10を、各データ記憶領域のサイズが、内蔵キャッシュのラインサイズと整数倍である装置に変形することも出来る。   Further, by adopting the same configuration, the shared cache memory device 10 can be transformed into a device in which the size of each data storage area is an integral multiple of the line size of the built-in cache.

第3、第4実施形態に係る共有キャッシュメモリ装置10に、第2実施形態に係る共有キャッシュメモリ装置10が備える機能(データの読み出しが完了した監視対象記憶霊異記を通常のデータ記憶領域に戻す機能)を付加しておくことも出来る。   In the shared cache memory device 10 according to the third and fourth embodiments, the function provided in the shared cache memory device 10 according to the second embodiment (returns the monitored storage memorandum whose data has been read back to the normal data storage area) Function) can also be added.

アクセス制御部11を増やすことにより、各実施形態に係る共有キャッシュメモリ装置10を、3個以上のプロセッサ14と接続できる装置に変形することも出来る。また、各実施形態に係る共有キャッシュメモリ装置10を、フルアソシエイティブ方式の装置に変形することも出来る。   By increasing the number of access control units 11, the shared cache memory device 10 according to each embodiment can be modified into a device that can be connected to three or more processors 14. Further, the shared cache memory device 10 according to each embodiment can be modified into a fully associative device.

各実施形態に係る共有キャッシュメモリ装置10を、各アクセス制御部11が、タグメモリ部32及びデータメモリ部33を制御する装置(キャッシュメモリ制御部30がない装置)や、キャッシュメモリ制御部30がアクセス制御部11としての機能も有する装置(アクセス制御部11がない装置)に変形することも出来る。さらに、上記技術を、キャッシュメモリではない共有メモリに適用することも出来る。   In the shared cache memory device 10 according to each embodiment, each access control unit 11 controls a tag memory unit 32 and a data memory unit 33 (a device without the cache memory control unit 30), or a cache memory control unit 30 It can also be modified to a device having a function as the access control unit 11 (device without the access control unit 11). Furthermore, the above technique can also be applied to a shared memory that is not a cache memory.

10 共有キャッシュメモリ装置
11、11a、11b アクセス制御部
12 アクセス情報バス
13 共有キャッシュメモリ
14 プロセッサ
15 下位記憶階層
20 プロセッサインタフェース部
21、21a、21b 制御部
22 保留アクセス記憶部
23、23a、23b アクセス領域一致判定部
24、24a アクセス情報送信部
25、25b アクセス要求選択部
30 キャッシュメモリ制御部
31 キャッシュアクセス調停部
32 タグメモリ部
33 データメモリ部
34 下位記憶階層インタフェース部
DESCRIPTION OF SYMBOLS 10 Shared cache memory device 11, 11a, 11b Access control part 12 Access information bus 13 Shared cache memory 14 Processor 15 Lower storage hierarchy 20 Processor interface part 21, 21a, 21b Control part 22 Pending access storage part 23, 23a, 23b Access area Match determination unit 24, 24a Access information transmission unit 25, 25b Access request selection unit 30 Cache memory control unit 31 Cache access arbitration unit 32 Tag memory unit 33 Data memory unit 34 Lower storage hierarchy interface unit

Claims (5)

第1のプロセッサ及び第2のプロセッサと接続される共有キャッシュメモリ装置において、
下位記憶装置から読み出して各プロセッサに供給したデータ、又は、各プロセッサから下位記憶装置へ書き込むことが指示されたデータを記憶しておくための複数のデータ記憶領域を有するデータ記憶部と、
前記データ記憶部を利用して各プロセッサからのリード/ライト要求に応答する要求応答部であって、
前記データ記憶部の前記複数のデータ記憶領域の中に、第1のプロセッサが生成して第2プロセッサが利用するデータを記憶するための幾つかの監視対象記憶領域を確保する機能、
或る監視対象記憶領域に或るデータを書き込むべきライト要求が第1のプロセッサから送信されてきたときに、その監視対象記憶領域に当該データを書き込むと共に、その監視対象記憶領域へのデータの書き込みが完了したことを記憶するライト要求応答機能、及び、
或る監視対象記憶領域上のデータを返送すべきリード要求が第2のプロセッサから送信されてきたときに、その監視対象記憶領域がデータの書き込みが完了しているものであった場合には、その監視対象記憶領域上のデータを返送することによって当該リード要求に応答とし、そうではなかった場合には、その監視対象記憶領域に或るデータを書き込むべきライト要求が第1のプロセッサから送信されくるのを待機した後に、当該リード要求に応答するリード要求応答機能
を有する要求応答部と、
を備えることを特徴とする共有キャッシュメモリ装置。
In a shared cache memory device connected to a first processor and a second processor,
A data storage unit having a plurality of data storage areas for storing data read from the lower storage device and supplied to each processor, or data instructed to be written from each processor to the lower storage device;
A request response unit that responds to a read / write request from each processor using the data storage unit,
A function of securing several monitoring target storage areas for storing data generated by the first processor and used by the second processor in the plurality of data storage areas of the data storage unit;
When a write request for writing certain data to a certain monitoring target storage area is transmitted from the first processor, the data is written to the monitoring target storage area and the data is written to the monitoring target storage area Write request response function for storing the completion of
When a read request for returning data on a certain monitoring target storage area is transmitted from the second processor, if the monitoring target storage area has been written with data, In response to the read request by returning the data on the monitored storage area, if not, a write request for writing certain data to the monitored storage area is sent from the first processor. A request response unit having a read request response function for responding to the read request after waiting for
A shared cache memory device comprising:
前記要求応答部が有する前記リード要求応答機能が、
或る監視対象記憶領域上のデータを返送すべきリード要求が第2のプロセッサから送信されてきたときに、その監視対象記憶領域がデータの書き込みが完了しているものでなかった場合、その監視対象記憶領域に或るデータを書き込むべきライト要求が第1のプロセッサから送信されてきたときに、当該ライト要求で書き込むことが指示されているデータ自体を、前記当該リード要求に対する応答として第2のプロセッサに返送する機能である
ことを特徴とする請求項1に記載の共有キャッシュメモリ装置。
The read request response function of the request response unit is
When a read request for returning data on a certain monitoring target storage area is transmitted from the second processor, if the monitoring target storage area has not completed data writing, the monitoring is performed. When a write request for writing certain data in the target storage area is transmitted from the first processor, the data itself instructed to be written by the write request is used as a response to the read request. The shared cache memory device according to claim 1, wherein the shared cache memory device has a function of returning to a processor.
前記要求応答部が、さらに、
第2のプロセッサによる或る監視対象記憶領域からのデータの読み出しが完了したときに、その監視対象記憶領域を、任意のプロセッサからのリード/ライト要求への応答に利用できるデータ記憶領域に戻す機能を有する
ことを特徴とする請求項1又は請求項2に記載の共有キャッシュメモリ装置。
The request response unit further includes:
A function of returning the monitored storage area to a data storage area that can be used for a response to a read / write request from any processor when the second processor completes reading of data from the monitored storage area The shared cache memory device according to claim 1, wherein the shared cache memory device is provided.
前記要求応答部が有する前記リード要求応答機能が、
データの書き込みが完了していない或る監視対象記憶領域上のデータを返送すべきリード要求を受信したため、その監視対象記憶領域に或るデータを書き込むべきライト要求が第1のプロセッサから送信されてくるのを待機している最中に、次のリード要求を受信して処理できる機能である
ことを特徴とする請求項1乃至請求項3のいずれか一項に記載の共有キャッシュメモリ装置。
The read request response function of the request response unit is
Since a read request for returning data on a monitoring target storage area for which data writing has not been completed has been received, a write request for writing certain data to the monitoring target storage area is transmitted from the first processor. The shared cache memory device according to any one of claims 1 to 3, wherein the shared cache memory device is a function that can receive and process a next read request while waiting to come.
前記データ記憶領域が複数の部分記憶領域に分割されており、
前記第1プロセッサが送信するライト要求が、或る監視対象記憶領域内の特定の部分記憶領域にデータの書き込みを要求するライト要求であり、
前記要求応答部が有する前記ライト要求応答機能が、
ライト要求を前記第1プロセッサから受信した際に、当該ライト要求で書き込みが指示されているデータを、当該ライト要求で書き込みが指示されている監視対象記憶領域内の特定の部分記憶領域に書き込むと共に、その監視対象記憶領域の当該特定の部分記憶領域へのデータの書き込みが完了したことを記憶する機能であり、
前記要求応答部が有する前記リード要求応答機能が、
或る監視対象記憶領域上のデータを返送すべきリード要求が第2のプロセッサから送信されてきたときに、その監視対象記憶領域が、全ての部分記憶領域にデータの書き込みが完了しているものであった場合には、その監視対象記憶領域上のデータを返送することによって当該リード要求に応答とし、そうではなかった場合には、その監視対象記憶領域の全ての部分記憶領域へのデータの書き込みが完了するの待機した後に、当該リード要求に応答する機能である
ことを特徴とする請求項1乃至請求項4のいずれか一項に記載の共有キャッシュメモリ装置。
The data storage area is divided into a plurality of partial storage areas;
The write request transmitted by the first processor is a write request for requesting writing of data to a specific partial storage area in a certain monitoring target storage area,
The write request response function of the request response unit is
When a write request is received from the first processor, the data instructed to be written by the write request is written to a specific partial storage area in the monitoring target storage area instructed to be written by the write request. , A function for storing the completion of data writing to the specific partial storage area of the monitoring target storage area,
The read request response function of the request response unit is
When a read request for returning data in a certain monitoring target storage area is transmitted from the second processor, the monitoring target storage area has completed writing of data in all the partial storage areas If it is, the response to the read request is returned by returning the data on the monitoring target storage area, and if not, the data in all the partial storage areas of the monitoring target storage area is returned. 5. The shared cache memory device according to claim 1, wherein the shared cache memory device has a function of responding to the read request after waiting for completion of writing.
JP2010181300A 2010-08-13 2010-08-13 Shared cache memory device Expired - Fee Related JP5499987B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010181300A JP5499987B2 (en) 2010-08-13 2010-08-13 Shared cache memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010181300A JP5499987B2 (en) 2010-08-13 2010-08-13 Shared cache memory device

Publications (2)

Publication Number Publication Date
JP2012043031A JP2012043031A (en) 2012-03-01
JP5499987B2 true JP5499987B2 (en) 2014-05-21

Family

ID=45899302

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010181300A Expired - Fee Related JP5499987B2 (en) 2010-08-13 2010-08-13 Shared cache memory device

Country Status (1)

Country Link
JP (1) JP5499987B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI578327B (en) * 2014-09-18 2017-04-11 上海兆芯集成電路有限公司 Cache memory diagnostic writeback
CN107015940A (en) * 2015-11-12 2017-08-04 三星电子株式会社 Multicomputer system and its method comprising the memory shared by multiprocessor

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929832B (en) * 2012-09-24 2015-05-13 杭州中天微系统有限公司 Cache-coherence multi-core processor data transmission system based on no-write allocation
JP6110417B2 (en) * 2015-01-27 2017-04-05 Necエンジニアリング株式会社 Cache memory control device and control method
JP6929074B2 (en) * 2017-01-31 2021-09-01 キヤノン株式会社 Information processing device and its control method
JP7474061B2 (en) 2019-03-01 2024-04-24 キヤノン株式会社 Interface device, data processing device, cache control method, and program
US11409655B2 (en) 2019-03-01 2022-08-09 Canon Kabushiki Kaisha Interface apparatus, data processing apparatus, cache control method, and medium

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0449463A (en) * 1990-06-19 1992-02-18 Fujitsu Ltd Data transfer system
JPH04369069A (en) * 1991-06-17 1992-12-21 Nec Corp File sharing system in roughly connected multiprocessor type computer system
JP2004326633A (en) * 2003-04-28 2004-11-18 Hitachi Ltd Hierarchical memory system
US6862027B2 (en) * 2003-06-30 2005-03-01 Microsoft Corp. System and method for parallel execution of data generation tasks
JP5101128B2 (en) * 2007-02-21 2012-12-19 株式会社東芝 Memory management system
JP5267166B2 (en) * 2009-01-30 2013-08-21 ソニー株式会社 Interface device, arithmetic processing device, interface generation device, and circuit generation device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI578327B (en) * 2014-09-18 2017-04-11 上海兆芯集成電路有限公司 Cache memory diagnostic writeback
CN107015940A (en) * 2015-11-12 2017-08-04 三星电子株式会社 Multicomputer system and its method comprising the memory shared by multiprocessor
CN107015940B (en) * 2015-11-12 2021-12-21 三星电子株式会社 Multiprocessor system including memory shared by multiple processors and method thereof

Also Published As

Publication number Publication date
JP2012043031A (en) 2012-03-01

Similar Documents

Publication Publication Date Title
JP6802287B2 (en) Cache memory access
JP5499987B2 (en) Shared cache memory device
US8719507B2 (en) Near neighbor data cache sharing
JP5100176B2 (en) Multiprocessor system
US8949547B2 (en) Coherency controller and method for data hazard handling for copending data access requests
US7447845B2 (en) Data processing system, processor and method of data processing in which local memory access requests are serviced by state machines with differing functionality
US7120755B2 (en) Transfer of cache lines on-chip between processing cores in a multi-core system
US20130304990A1 (en) Dynamic Control of Cache Injection Based on Write Data Type
JP5536658B2 (en) Buffer memory device, memory system, and data transfer method
US20060064518A1 (en) Method and system for managing cache injection in a multiprocessor system
JP4803983B2 (en) Arithmetic processing unit
TW201011537A (en) Apparatus and method for ensuring data coherency within a cache memory hierarchy of a microprocessor
US10152417B2 (en) Early freeing of a snoop machine of a data processing system prior to completion of snoop processing for an interconnect operation
US9606923B2 (en) Information processing device with shared memory, memory order guarantee method using counters fence instructions in relation to cache-oriented requests, and recording medium storing program
JPH0950400A (en) Multiprocessor system
JPWO2008155829A1 (en) Information processing apparatus, cache memory control apparatus, and memory access order guarantee method
US9372795B2 (en) Apparatus and method for maintaining cache coherency, and multiprocessor apparatus using the method
JP2009288977A (en) Cache memory control device, semiconductor integrated circuit, and cache memory control method
JP2010244327A (en) Cache system
JPH06348593A (en) Data transfer controller
JP2017191435A (en) Arithmetic processing device and control method of the same
US8938588B2 (en) Ensuring forward progress of token-required cache operations in a shared cache
JP5168800B2 (en) Multiprocessor system
WO2007039933A1 (en) Operation processing device
JP2004326175A (en) Processor, cache system, and cache memory

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130604

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140131

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140225

R150 Certificate of patent or registration of utility model

Ref document number: 5499987

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees