JP5499987B2 - Shared cache memory device - Google Patents
Shared cache memory device Download PDFInfo
- 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
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.
上記の様な形での情報処理の実行時には、前段処理の処理結果が主記憶装置等の共有メモリを介して後段プロセッサに渡されているのであるが、後段処理は、或る量のデータの用意が完了しないと開始できない処理である。 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.
以下、発明者らが開発した4タイプの共有キャッシュメモリ装置(以下、第1〜第4実施形態に係る共有キャッシュメモリ装置10と表記する)について、図面を参照して詳細に説明する。
Hereinafter, four types of shared cache memory devices developed by the inventors (hereinafter referred to as shared
《第1実施形態》
図1に示してあるように、第1実施形態に係る共有キャッシュメモリ装置10は、2個のプロセッサ14と下位記憶階層15とに接続されて使用される装置であり、2個のアクセス制御部11、アクセス情報バス12及び共有キャッシュメモリ13を備えている。
<< First Embodiment >>
As shown in FIG. 1, the shared
この共有キャッシュメモリ装置10に接続される下位記憶階層15は、主記憶装置自体や、主記憶装置を含む記憶装置群(例えば、より下位のキャッシュメモリと主記憶装置)である。
The
各プロセッサ14は、キャッシュメモリ(本実施形態では、ライトバック方式のもの)を内蔵した一般的なプロセッサである。なお、共有キャッシュメモリ装置10は、通常は、これらのプロセッサ14を備えたデバイスの一構成要素(2個のプロセッサ14が実装されたチップ、パッケージ上の一回路)として製造されるものとなっている。
Each
以下、図2を用いて、共有キャッシュメモリ装置10の構成をさらに具体的に説明する。
Hereinafter, the configuration of the shared
共有キャッシュメモリ装置10が備える各アクセス制御部11、共有キャッシュメモリ13は、図2に示した構成を有するユニット(回路)である。
Each
すなわち、共有キャッシュメモリ13は、キャッシュメモリ制御部30と、キャッシュアクセス調停部31と、n(≧2)組のタグメモリ部32及びデータメモリ部33と、下位記憶階層インタフェース部34とを、備えている。
That is, the shared
キャッシュアクセス調停部31は、各アクセス制御部11からのアクセス要求(各プロセッサ14からのリード/ライト要求)を調停するユニットである。下位記憶階層インタフェース部34は、下位記憶階層15と通信を行うためのユニット(インタフェース回路)である。
The cache
各データメモリ部32は、所定長のデータを格納できるnL個(例えば、nL=211)のデータ記憶領域を備えたユニットである。各データメモリ部32の各データ記憶領域は、各プロセッサ14のキャッシュメモリ(以下、内蔵キャッシュと表記する)のライン(キャッシュライン/ブロック)と同サイズのものとなっている。
Each
各タグメモリ部33は、nL個(nL=データメモリ部32のデータ記憶領域数)の、Vフィールド、Mフィールド、Lフィールド、Wフィールド、SPIDフィールド及びADDRフィールドを有する管理情報記憶領域を備えたユニットである。
Each
各タグメモリ部33の各管理情報記憶領域は、組を成しているデータメモリ部32の特定のデータ記憶領域の利用状況を示す情報(各フィールドの設定値からなる情報;以下、管理情報と表記する)を記憶しておくための領域である。
Each management information storage area of each
より具体的には、管理情報記憶領域の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)のことである。より具体的には、フレームアドレスとは、アドレスを、最下位ビット側から、データ記憶領域のサイズ(バイト数)に応じたビット数のインデックスアドレスと、nL(各データメモリ部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
ここで、監視対象記憶領域とは、前段処理により生成されて後段処理により利用されるデータ(図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
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
図2に示してあるように、各アクセス制御部11は、プロセッサインタフェース部20、制御部21、保留アクセス記憶部22、アクセス領域一致判定部23、アクセス情報送
信部24及びアクセス要求選択部25を備えている。
As shown in FIG. 2, each
プロセッサインタフェース部20は、プロセッサ14と通信を行うためのインタフェース回路である。このプロセッサインタフェース部20は、自身に接続されているプロセッサ14のPID(プロセッサ14から取得したもの又は自ユニット内に設定されているもの)を制御部21に通知する機能や、プロセッサ14から受信した領域確保コマンド/領域解放コマンドを制御部21に通知する機能を有している。また、プロセッサインタフェース部20は、受信したアクセス要求(リード要求及びライト要求)を、アクセス情報送信部24、保留アクセス記憶部22及びアクセス要求選択部25に供給する機能も有している。さらに、プロセッサインタフェース部20は、アクセス要求選択部25に供給するライト要求に、PIDを付加する機能も有している。
The
保留アクセス記憶部22は、プロセッサ14から受信したが応答を保留している(実際の処理を行っていない)アクセス要求を記憶しておくためのユニットである。この保留アクセス記憶部22は、各種制御(プロセッサインタフェース部20からのアクセス要求を取り込むか否かについての制御等)が制御部21によって行われるものとなっている。
The hold
アクセス情報送信部24は、今回のアクセス要求にてアクセスが要求されている領域を示すアクセス情報を、制御部21から所定のアクセス情報出力指示が入力されたときに、アクセス情報バス12上に送出するユニットである。
The access
アクセス領域一致判定部23は、アクセス情報バス12上に送出されたアクセス情報が示している領域と、保留アクセス記憶部22に記憶されているアクセス要求にてアクセスが要求されている領域とが一致していている場合に、所定の第2書込完了通知を制御部21に対して出力するユニットである。なお、このアクセス領域一致判定部23が機能するのは、他アクセス制御部11内のアクセス情報送信部24によってアクセス情報バス12上にアクセス情報が送出された場合だけである。
The access area
アクセス要求選択部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
制御部21は、通常は、プロセッサインタフェース部20により受信されたアクセス要求が共有キャッシュメモリ13に供給されるように、且つ、当該アクセス要求で保留アクセス記憶部22上のアクセス要求が更新されるように各部を制御しているユニットである。
Normally, the
この制御部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
以下、制御部21の機能、キャッシュメモリ制御部30の機能及び共有キャッシュメモリ装置10の全体的な機能を、図1のシステム(以下、第1実施形態に係る情報処理システムと表記する)の利用法等と共に、より具体的に説明する。
Hereinafter, the function of the
或る処理を前段処理と後段処理とに分けて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
一方、後段プロセッサ14は、図5に示した示した手順で動作するようにプログラミングされる。すなわち、後段プロセッサ14は、内蔵キャッシュの特定領域を無効化(ステップS201)してから、後段処理(ステップS202)を開始し、その完了後、領域解放コマンドを送信する(ステップS203)ように、プログラミングされる。なお、内蔵キャッシュの特定領域とは、後段処理を実行するために読み出したデータが記憶されることになる領域、又は、当該領域を含む領域(例えば、内蔵キャッシュの全領域)のことである。
On the other hand, the
また、後段プロセッサ14は、この図5の処理を、前段プロセッサ14による領域確保コマンドの送信完了後に開始するようにも、プログラミングされる。
Further, the
領域確保コマンド(図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
この領域確保コマンドを受信した場合、共有キャッシュメモリ装置10内では、各部によって以下の処理が行われる。
When this area reservation command is received, the following processing is performed by each unit in the shared
各アクセス制御部11内の制御部21(図2)は、領域確保コマンドをプロセッサインタフェース部20を介して受信した場合には、受信したコマンドを共通キャッシュメモリ13に送信(転送)する。
The control unit 21 (FIG. 2) in each
共通キャッシュメモリ13に送信された領域確保コマンドは、キャッシュアクセス調停部31を介してキャッシュメモリ制御部30に入力される。
The area reservation command transmitted to the
キャッシュメモリ制御部30は、領域確保コマンドが入力された場合には、その領域確保コマンド中の記憶位置情報に基づき、監視対象記憶領域とする幾つかのデータ記憶領域を特定する。より具体的には、キャッシュメモリ制御部30は、領域確保コマンド中の記憶位置情報に基づき、前段処理の処理結果として前段プロセッサ14から書き込みが要求されることになるデータ毎に、それに関するエントリアドレスから定まる各データメモリ部32のデータ記憶領域の中から,監視対象記憶領域とする1つのデータ記憶領域を特定する。
When an area allocation command is input, the cache
そして、キャッシュメモリ制御部30は、特定した各データ記憶領域に関する管理情報記憶領域に、図6に示したような管理情報を記憶する。すなわち、キャッシュメモリ制御部30は、特定した各データ記憶領域に関する管理情報記憶領域のV〜Wフィールドにそれぞれ“1”を設定すると共に、領域確保コマンドに含まれるPID(図では、PID1)を、特定した各データ記憶領域に関する管理情報記憶領域のSPIDフィールドに設定する。また、キャッシュメモリ制御部30は、特定した各データ記憶領域に関する管理情報記憶領域のADDRフィールドに、各データ記憶領域に記憶されるデータのフレームアドレス(図では、0x0800)を設定する。
Then, the cache
なお、領域確保コマンドの入力時にキャッシュメモリ制御部30が実際に行う処理は、監視対象記憶領域とするデータ記憶領域を特定する度に、上記内容の管理情報を、特定したデータ記憶領域に関する管理情報記憶領域に記憶(設定)する処理である、また、当該処理は、必要である場合には、監視対象記憶領域とするデータ記憶領域上のデータを主記憶装置に書き戻してから、当該データ記憶領域に関する管理情報記憶領域に、上記内容の管理情報を設定するものともなっている。
Note that the processing actually performed by the cache
次に、リード要求受信時における共有キャッシュメモリ装置10の動作を説明する。
Next, the operation of the shared
既に説明したように、各アクセス制御部11内の制御部21(図2)は、通常は、アクセス要求選択部25に、プロセッサインタフェース部20からのアクセス要求を共有キャッシュメモリ13に供給させている。
As already described, the control unit 21 (FIG. 2) in each
共有キャッシュメモリ13に供給されたアクセス要求は、キャッシュアクセス調停部31を介してキャッシュメモリ制御部30に供給される。
The access request supplied to the shared
キャッシュメモリ制御部30は、リード要求が供給された場合には、各タグメモリ部33を参照することにより、以下のいずれの条件が成立しているかを判断する。なお、以下の説明において、読出対象データとは、アクセス制御部11から供給されたリード要求で読み出しが要求されているデータ(前段/後段プロセッサ14が読み出しを要求している,データ記憶領域サイズのデータ)のことである。SPID値とは、SPIDフィールドの値(いずれかのプロセッサ14のPID、又は、所定値)のことである。
When a read request is supplied, the cache
・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
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
キャッシュメモリ制御部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
キャッシュメモリ制御部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
キャッシュメモリ制御部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
要するに、本共有キャッシュメモリ装置10は、リード要求を受信した場合、各部(主として、キャッシュメモリ制御部30)により、図7に示した手順の処理が行われる装置として構成されている。
In short, the shared
すなわち、リード要求を受信した場合、キャッシュメモリ制御部30は、各タグメモリ部32上の特定のn個の管理情報を参照することにより、読出対象データ用のデータ記憶領域(図7では、対応データ記憶領域)が存在するか否かを判断する(ステップS301)。そして、キャッシュメモリ制御部30は、読出対象データ用のデータ記憶領域が存在していなかった場合(ステップS301;NO)には、ステップS304にて、読出対象データを下位記憶階層15から読み出し、受信したリード要求の送信元プロセッサ14に対して返送する処理等(図では、通常のリード要求用制御処理)を行う。すなわち、キャッシュメモリ制御部30は、セットアソシエイティブ方式のキャッシュメモリ内の制御機構(キャッシュメモリ制御部30に相当する部分;以下、既存制御機構と表記する)が、リード要求についてのキャッシュミス時に行うものと本質的には同内容の処理を、このステップS304にて行う。
That is, when a read request is received, the cache
また、キャッシュメモリ制御部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
また、キャッシュメモリ制御部30は、読出対象データ用の,データの書き込みが完了している(その管理情報中のWビットが“0”となっている)監視対象記憶領域が存在していた場合(ステップS301;YES,ステップS302;YES、ステップS303;NO)にも、既存制御機構がリード要求についてのキャッシュヒット時に行うものと本
質的には同内容の処理をステップS304にて行う。
The cache
キャッシュメモリ制御部30は、読出対象データ用の,データの書き込みが完了していない(その管理情報中のWビットが“1”となっている)監視対象記憶領域が存在していた場合(ステップS301;YES,ステップS302;YES、ステップS303;YES)には、受信したリード要求の送信元アクセス制御部11内の制御部21に保留要求通知を送信する(図示略)。
The cache
既に説明したように、制御部21は、保留要求通知がキャッシュメモリ制御部30から入力された場合には、今回のアクセス要求(保留要求通知の送信原因となったアクセス要求)を保持し続けるように保留アクセス記憶部22を制御する。従って、読出対象データ用の監視対象記憶領域が存在し、その管理情報中のWビットが“1”であった場合(ステップS303;YES)、今回のリード要求が、当該リード要求を受信したアクセス制御部11内の保留アクセス記憶部22に保存される(ステップS305)ことになる。
As already described, when the hold request notification is input from the cache
なお、或る監視対象記憶領域上のデータの読み出しを要求するのは、原則として(プログラミングを誤らない限り)、後段プロセッサ14である。従って、ステップS305の処理が行われるのは、『後段プロセッサ14が、前段処理の処理結果データを要求するリード要求を送信したが、当該処理結果データの前段プロセッサ14による書き込みが完了していなかった場合』である。また、ステップS305の処理では、後段プロセッサ14と接続されているアクセス制御部11(以下、後段アクセス制御部11と表記する)内の保留アクセス記憶部22に、後段プロセッサ14が送信したリード要求が保存されることになる。
In principle, it is the
次に、ライト要求に対する共有キャッシュメモリ装置10の動作を説明する。
Next, the operation of the shared
既に説明したように、プロセッサインタフェース部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
キャッシュメモリ制御部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
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
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
There is a monitoring target storage area for write target data, and the
そして、キャッシュメモリ制御部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
すなわち、図8に示したように、キャッシュメモリ制御部30は、書込対象データ用のデータ記憶領域(図8では、対応データ記憶領域)が存在していなかった場合(ステップS401;NO)には、ステップS404にて、既存制御機構がライト要求についてのキャッシュミス時に行うものと本質的には同内容の制御(図では、“通常のライト要求用制御処理”)を行う。また、キャッシュメモリ制御部30は、書込対象データ用の非監視対象記憶領域が存在していた場合(ステップS401;YES,ステップS402;NO)には、ステップS404にて、既存制御機構がライト要求についてのキャッシュヒット時に行うものと本質的には同内容の制御を行う。
In other words, as shown in FIG. 8, the cache
キャッシュメモリ制御部30は、後段プロセッサ14による監視対象記憶領域へのデータ書き込みが行われた場合(条件W3が成立していた場合:ステップS401;YES,ステップS402;YES、ステップS403;NO)には、保留要求通知を、受信したライト要求の送信元アクセス制御部11内の制御部21に送信する(図示略)。
When the
既に説明したように、制御部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
キャッシュメモリ制御部30は、今回、受信したライト要求が、前段プロセッサ14からの、前段処理の処理結果データの書き込みを要求するライト要求であった場合(条件W2が成立していた場合:ステップS401;YES,ステップS402;YES、ステップS403;YES)には、書込対象データ用の監視対象記憶領域に書込対象データを記憶すると共に、当該監視対象記憶領域に関する管理情報中のWビット値を“0”に変更する処理(ステップS405)を行う。
The cache
また、この場合、キャッシュメモリ制御部30は、第1書込完了通知を送信することに
より、前段アクセス制御部11内の制御部21に、或る監視対象記憶領域へのデータの書き込みが完了したことを通知する(図示略)。そのため、条件W2の成立時(ステップS403;YES)に、今回の書込データを要求するリード要求が後段アクセス制御部11内の保留アクセス記憶部22に記憶されていた場合(ステップS406;YES)には、そのリード要求で要求されているデータを後段プロセッサ14に返送する処理(ステップS407)も行われることになる。
Further, in this case, the cache
具体的には、既に説明したように、制御部21は、第1書込完了通知が入力された場合に、アクセス情報送信部24に対してアクセス情報出力指示を出力するユニットであり、アクセス情報送信部24は、今回のアクセス要求にてアクセスが要求されている領域を示すアクセス情報を、制御部21から所定のアクセス情報出力指示が入力されたときに、アクセス情報バス12上に送出するユニットである。また、アクセス領域一致判定部23は、アクセス情報バス12上に送出されたアクセス情報が示している領域と、保留アクセス記憶部22に記憶されているアクセス要求にてアクセスが要求されている領域とが一致していている場合に、第2書込完了通知を制御部21に対して出力するユニットである。そして、制御部21は、第2書込完了通知が入力されたときに、アクセス要求選択部25に、保留アクセス記憶部22上のアクセス要求を共有キャッシュメモリ13に供給させる機能を有している。
Specifically, as already described, the
従って、第1書込完了通知が、前段アクセス制御部11内の制御部21に対して送信された場合、まず、前段アクセス制御部11内のアクセス情報送信部24が、今回、データが書き込まれた領域を示すアドレス情報をアドレス情報バス12上に送出する。
Therefore, when the first write completion notification is transmitted to the
次いで、そのアドレス情報を検知した,後段アクセス制御部11内のアクセス領域一致判定部23が、当該アクセス情報が示している領域と、自アクセス制御部11内の保留アクセス記憶部22に記憶されているリード要求にてアクセスが要求されている領域とが一致していているか否かを判断する。換言すれば、後段アクセス制御部11内のアクセス領域一致判定部23は、今回、書き込みが完了したデータを要求するリード要求が自アクセス制御部11内の保留アクセス記憶部22に記憶されているか否かを判断する(ステップS406)。
Next, the access area
そして、アクセス領域一致判定部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
共有キャッシュメモリ13に供給されたリード要求は、図7等を用いて既に説明した手順で処理されるが、第1書込完了通知が送信された結果として共有キャッシュメモリ13に供給されるリード要求が要求するデータは、今回、書き込みが完了したデータ(対応する管理情報のWビットが“0”となっているデータ)である。従って、第1書込完了通知が送信された結果としてリード要求が共有キャッシュメモリ13に供給された場合、直前に書き込まれたデータがデータメモリ部32から読み出され、後段アクセス制御部11を介して後段プロセッサ14に返送される(ステップS407)ことになる。
The read request supplied to the shared
次に、領域解放コマンド受信時における共有キャッシュメモリ装置10の動作を説明する。
Next, the operation of the shared
後段プロセッサ14が送信する領域解放コマンド(図5参照)は、特にオペランドを含まないコマンドである。この領域解放コマンドは、プロセッサインタフェース部20、制
御部21及びキャッシュアクセス調停部31を介してキャッシュメモリ制御部30に入力される。
The area release command (see FIG. 5) transmitted by the
そして、領域解放コマンドが入力された場合、キャッシュメモリ制御部30は、各監視対象記憶領域上のデータを主記憶装置に書き戻すことなく、各監視対象記憶領域に関する管理情報記憶領域のVフィールド、SPIDフィールドに、それぞれ、“0”、所定値を設定する処理(他の各フィールドにも初期値をする処理)を行う。要するに、領域解放コマンドが入力された場合、キャッシュメモリ制御部30は、前段処理及び後段処理用に確保した各監視対象記憶領域を、通常のデータ記憶領域に戻すための処理を行う。
When the area release command is input, the cache
なお、各監視対象記憶領域上のデータを主記憶装置に書き戻させていないのは、前段処理が、“後段処理以外の処理によりその処理結果が利用されない処理”であることを想定しているからである。従って、前段プロセッサ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
以上、詳細に説明したように、本実施形態に係る情報処理システム(図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
また、後段処理を開始した後段プロセッサ14は、前段処理の進行状況とは全く無関係なタイミングで、前段処理の処理結果データの読み出しを要求するリード要求を共有キャッシュメモリ装置10に対して送信することになる。
Further, the
後段プロセッサ14から受信したリード要求が、前段プロセッサ14により未だ書き込まれていないデータを要求するものであった場合、共有キャッシュメモリ装置10は、後段プロセッサ14にデータを返送することなく、そのリード要求を保留する(そのリード要求を後段アクセス制御部11内の保留アクセス記憶部22に保存する;図7参照)。従って、後段プロセッサ14は、要求したデータが共有キャッシュメモリ装置10から返送されてくるのを待機することになる。
If the read request received from the succeeding
また、共有キャッシュメモリ装置10は、前段プロセッサ14からのライト要求に対しては、常に、応答する(図8参照)。そのため、しばらくすると、保留しているリード要求にて要求されているデータが前段プロセッサ14により共有キャッシュメモリ装置10内に書き込まれることになる。
Further, the shared
そして、共有キャッシュメモリ装置10は、保留しているリード要求にて要求されているデータが前段プロセッサ14により共有キャッシュメモリ装置10内に書き込まれたときに、保留しているリード要求に対する実際の処理を行う機能(図8:ステップS406,407)を有している。従って、送信したリード要求が共有キャッシュメモリ装置10により保留された後段プロセッサ14は、この機能によりデータが返送されてきたときに、中断していた後段処理を再開することになる。
Then, the shared
このように、第1実施形態に係る情報処理システムは、前段処理/後段処理を前段/後段プロセッサ14に実行させる際に、各プロセッサ14に状況通知用通信処理(割り込みを出力する処理、共有リソース上へ所定情報を書き込む処理等)を行わせる必要が全くないシステムとなっている。そして、各プロセッサ14に状況通知用通信処理を行わせる必要がなければ、その分、全処理の完了に要する時間を短くすることが出来るのであるから、第1実施形態に係る共有キャッシュメモリ装置10は、それを用いることにより、『2個のプロセッサに、より高速に連携した処理を行わせることが出来るようになる装置』となっていると言うことが出来る。
As described above, the information processing system according to the first embodiment causes each
《第2実施形態》
第2実施形態に係る共有キャッシュメモリ装置10は、後段処理として、『一度、共有キャッシュメモリ装置10から読み出したデータを再度読み出すことがない処理』が実行されることを想定して開発した装置である。
<< Second Embodiment >>
The shared
第2実施形態に係る共有キャッシュメモリ装置10は、キャッシュメモリ制御部30の機能のみが、第1実施形態に係る共有キャッシュメモリ装置10(図1参照)と異なる装置である。そして、第2実施形態に係る共有キャッシュメモリ装置10を用いて構築されるシステム(以下、第2実施形態に情報処理システムと表記する)は、第1実施形態に係る情報処理システムとは利用法が若干異なるものとなっている。そのため、以下では、第2実施形態に係る共有キャッシュメモリ装置10内のキャッシュメモリ制御部30(以下、第2キャッシュメモリ制御部30と表記する)の機能と、第2実施形態に係る情報処理システムの利用法のみを説明することにする。
The shared
第2キャッシュメモリ制御部30は、ライト要求に対しては、第1実施形態に係る共有キャッシュメモリ装置10内のキャッシュメモリ制御部30(以下、第1キャッシュメモリ制御部30と表記する)と同内容の処理を行うユニットである。ただし、第2キャッシュメモリ制御部30は、共有キャッシュメモリ装置10を、リード要求を図10に示した手順で処理する装置として機能させるユニットとなっている。
The second cache
この図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
また、第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
第2キャッシュメモリ制御部30は、読出対象データ用の監視対象記憶領域が存在し、その管理情報中のWビットが“1”であった場合(ステップS501;YES,ステップS502;YES、ステップS503;YES)には、受信したリード要求の送信元アクセス制御部11内の制御部21に保留要求通知を送信する。そして、その結果として、今回の,応答できなかったリード要求が、当該リード要求を受信したアクセス制御部11内の保留アクセス記憶部22に保存される(ステップS505)ことになる。
The second cache
第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
要するに、後段処理が、一度読み出したデータを再度読み出さない処理である場合、データの読み出しが完了した監視対象記憶領域を、通常のデータ記憶領域に戻しても何ら問題は生じないことになる。そして、通常のデータ記憶領域(特に制限なく利用できるデータ記憶領域)が多い方が、キャッシュミスが発生し難くなるので、第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
最後に、第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
そのため、第2実施形態に係る情報処理システムの各プロセッサ14に前段処理及び後段処理を行わせる場合、後段プロセッサ14は、領域解放コマンドを送信しないように(図5のステップS201及びS202の処理を行うように)、プログラミングされる。
Therefore, when causing each
《第3実施形態》
図11に、第3実施形態に係る共有キャッシュメモリ装置10の構成を示す。
<< Third Embodiment >>
FIG. 11 shows the configuration of the shared
この図11に示してあるように、第3実施形態に係る共有キャッシュメモリ装置10は、2個のアクセス制御部11a、アクセス情報バス12及び共有キャッシュメモリ13を備えた装置である。なお、この共有キャッシュメモリ装置10も、第1,第2実施形態に係る共有キャッシュメモリ装置10と同様に、2個のプロセッサ14と下位記憶階層15(図11には、未表記;図1参照。)とに接続される装置である。
As shown in FIG. 11, the shared
この共有キャッシュメモリ装置10が備える共有キャッシュメモリ13は、第1実施形態に係る共有キャッシュメモリ装置10が備える共有キャッシュメモリ13と同構成、同機能のユニットである。
The shared
アクセス制御部11aは、図2等を用いて既に説明したアクセス制御部11内のアクセス情報送信部24、アクセス領域一致判定部23、制御部21を、それぞれ、アクセス情報送信部24a、アクセス領域一致判定部23a、制御部21aに置き換えたユニットである。
The
アクセス情報送信部24aは、アクセス情報送信部24と同様に、アクセス情報を、所定のアクセス情報出力指示が制御部21aから入力されたときに、アクセス情報バス12上に送出するユニットである。ただし、このアクセス情報送信部24aは、アクセス要求
自体を、アクセス情報としてアクセス情報バス12上に送出するユニットとなっている。
Similar to the access
アクセス領域一致判定部23aは、アクセス領域一致判定部23と同様に、アクセス情報バス12上に送出されたアクセス情報が示している領域と、保留アクセス記憶部22に記憶されているアクセス要求にてアクセスが要求されている領域とが一致しているか否かを判定する機能を有するユニットである。また、アクセス領域一致判定部23aは、両領域が一致していた場合、第2書込完了通知を制御部21に対して出力するユニットともなっている。
Similar to the access area
ただし、アクセス領域一致判定部23aは、両領域が一致していた場合、アクセス情報バス12上に送出されたアクセス情報中のデータ(ライト要求の書込対象データ)を、自アクセス制御部11aと接続されているプロセッサ14に返送する処理も行うように、構成(改良)されている。
However, if the two areas match, the access area
そして、制御部21aは、第2書込完了通知が入力されたときに、各部を通常の状態に戻す制御のみを行うように(保留アクセス記憶部22上のアクセス要求を共有キャッシュメモリ13に供給しないように)、制御部21を改良したユニットとなっている。
Then, when the second write completion notification is input, the
要するに、本共有キャッシュメモリ装置10は、図12に模式的に示した如く、或るデータについてのリード要求を保留している状態で当該データについてのライト要求を受信した場合、そのライト要求の書込対象データ自体を後段プロセッサ14に返送する装置として構成されている。
In short, when the shared
従って、この共有キャッシュメモリ装置10は、データメモリ部32に書き込んだデータを読み出すことにより保留リード要求に応答する第1実施形態に係る共有キャッシュメモリ装置10(図10)よりも、保留リード要求に対する応答が早い装置となっていることになる。
Therefore, the shared
《第4実施形態》
図13に、第4実施形態に係る共有キャッシュメモリ装置10の構成を示す。
<< 4th Embodiment >>
FIG. 13 shows the configuration of the shared
この図13に示してあるように、第4実施形態に係る共有キャッシュメモリ装置10は、2個のアクセス制御部11b、アクセス情報バス12及び共有キャッシュメモリ13を備えた装置である。
As shown in FIG. 13, the shared
この共有キャッシュメモリ装置10も、第1〜第3実施形態に係る共有キャッシュメモリ装置10と同様に、2個のプロセッサ14と下位記憶階層15(図13には、未表記;図1参照。)とに接続された状態で使用される装置である。ただし、第3実施形態に係る共有キャッシュメモリ装置10は、或るリード要求に対する応答がなくても次のリード要求を出せるプロセッサが、後段プロセッサ14として接続される装置となっている。
Similarly to the shared
本実施形態に係る共有キャッシュメモリ装置10が備える共有キャッシュメモリ13は、第1、第3実施形態に係る共有キャッシュメモリ装置10が備える共有キャッシュメモリ13と同構成、同機能のユニットである。
The shared
各アクセス制御部11bは、プロセッサインタフェース部20、制御部21b、複数の保留アクセス記憶部22、アクセス領域一致判定部23b、アクセス情報送信部24及びアクセス要求選択部25bを備えたユニットである。
Each
このアクセス制御部11b内のプロセッサインタフェース部20、各保留アクセス記憶
部22、アクセス情報送信部24は、それぞれ、アクセス制御部11(図2)内の同名のユニットと本質的には同機能のユニットである。
Each of the
アクセス要求選択部25bは、制御部21bの制御下、複数の保留アクセス記憶部22の中のいずれかの保留アクセス記憶部22上のアクセス要求、又は、プロセッサインタフェース部20からのアクセス要求を、共有キャッシュメモリ13に供給するユニットである。
The access
アクセス領域一致判定部23bは、以下の機能を有するユニットである。アクセス領域一致判定部23bは、通常は、アクセス情報バス12上にアクセス情報が送出されるのを監視している。アクセス領域一致判定部23bは、アクセス情報バス12上にアクセス情報が送出されたことを検出した場合には、当該アクセス情報が示している領域と同じ領域に対するアクセスを要求しているアクセス要求がいずれかの各保留アクセス記憶部22に記憶されているか否かを判断する。そして、アクセス領域一致判定部23bは、そのようなアクセス要求が或る保留アクセス記憶部22に記憶されていた場合には、当該保留アクセス記憶部22の識別情報を含む記憶部通知情報を制御部21bに対して送信する。
The access area
制御部21bは、以下の機能を有するユニットである。制御部21bは、通常は、プロセッサインタフェース部20により受信されたアクセス要求が共有キャッシュメモリ13に供給されるように、アクセス要求選択部25bを制御している。また、制御部21bは、プロセッサインタフェース部20により受信されたアクセス要求で、その時点において制御対象となっている保留アクセス記憶部22(以下、制御対象記憶部22と表記する)上のアクセス要求が更新されるように各部を制御している。
The
そして、制御部21bは、保留要求通知がキャッシュメモリ制御部30から入力された場合には、今回のアクセス要求を保持し続けるように、制御対象記憶部22を制御すると共に、制御対象記憶部22を、未使用状態にある(保留したアクセス要求の記憶のために使用されていない)他の保留アクセス記憶部22に変更する。
When the hold request notification is input from the cache
制御部21bは、第1書込完了通知がキャッシュメモリ制御部30から入力された場合には、アクセス情報送信部24に対してアクセス情報出力指示を出力する。また、制御部21bは、上記した記憶部通知情報がアクセス領域一致判定部23bから入力された場合には、その記憶部通知情報中の識別情報で識別される保留アクセス記憶部22上のアクセス要求を、アクセス要求選択部25に共有キャッシュメモリ13に供給させてから、当該保留アクセス記憶部22が未使用状態になったことを記憶する。
When the first write completion notification is input from the cache
以上の説明(及び第1実施形態に係る共有キャッシュメモリ装置10についての説明)から明らかなように、この第4実施形態に係る共有キャッシュメモリ装置10は、第1実施形態に係る共有キャッシュメモリ装置10を、リード要求を複数個保留できるように(保留することが必要なリード要求が連続的に入力されても問題が生じないように)、改良したものとなっている。
As is clear from the above description (and the description of the shared
従って、この共有キャッシュメモリ装置10に接続した後段プロセッサ14に、図14に示したような内容の後段処理、すなわち、第2入力画像データ(前段処理の入力画像データ自体等)と前段処理の処理結果とから出力画像データを生成する後段処理を実行させた場合、図15に示したように、第2入力画像データを後段プロセッサ14内に読み込む第2入力画像データ取得処理は、前段処理の進行状況に因らず(リード要求が保留中であっても)行えることになる。
Accordingly, the
そして、第1実施形態に係る共有キャッシュメモリ装置10を用いた場合、リード要求
の保留中に、この第2入力画像データ取得処理を行うことが出来ないのであるから、本実施形態に係る共有キャッシュメモリ装置10は、第1実施形態に係る共有キャッシュメモリ装置10よりも、処理性能が高い情報処理システムを構築できるものとなっていることになる。
When the shared
《変形形態》
上記した各実施形態に係る共有キャッシュメモリ装置10については、各種の変形を行うことが出来る。
<Deformation>
Various modifications can be made to the shared
例えば、各実施形態に係る共有キャッシュメモリ装置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
そのように共有キャッシュメモリ装置10を変形しておけば、図17に模式的に示したように、第1実施形態に係る情報処理システム等とは、前段プロセッサ14(前段プロセッサ14内の共有キャッシュ)から出されるライト要求の回数のみが異なる情報処理システムを実現できることになる。なお、上記場合、キャッシュメモリ制御部30を、後段プロセッサ14から1バイト単位のリード要求に応答できるユニットに変形しておくことも出来る。
If the shared
また、同様の構成を採用することによって、共有キャッシュメモリ装置10を、各データ記憶領域のサイズが、内蔵キャッシュのラインサイズと整数倍である装置に変形することも出来る。
Further, by adopting the same configuration, the shared
第3、第4実施形態に係る共有キャッシュメモリ装置10に、第2実施形態に係る共有キャッシュメモリ装置10が備える機能(データの読み出しが完了した監視対象記憶霊異記を通常のデータ記憶領域に戻す機能)を付加しておくことも出来る。
In the shared
アクセス制御部11を増やすことにより、各実施形態に係る共有キャッシュメモリ装置10を、3個以上のプロセッサ14と接続できる装置に変形することも出来る。また、各実施形態に係る共有キャッシュメモリ装置10を、フルアソシエイティブ方式の装置に変形することも出来る。
By increasing the number of
各実施形態に係る共有キャッシュメモリ装置10を、各アクセス制御部11が、タグメモリ部32及びデータメモリ部33を制御する装置(キャッシュメモリ制御部30がない装置)や、キャッシュメモリ制御部30がアクセス制御部11としての機能も有する装置(アクセス制御部11がない装置)に変形することも出来る。さらに、上記技術を、キャッシュメモリではない共有メモリに適用することも出来る。
In the shared
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
Claims (5)
下位記憶装置から読み出して各プロセッサに供給したデータ、又は、各プロセッサから下位記憶装置へ書き込むことが指示されたデータを記憶しておくための複数のデータ記憶領域を有するデータ記憶部と、
前記データ記憶部を利用して各プロセッサからのリード/ライト要求に応答する要求応答部であって、
前記データ記憶部の前記複数のデータ記憶領域の中に、第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.
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)
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)
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)
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 |
-
2010
- 2010-08-13 JP JP2010181300A patent/JP5499987B2/en not_active Expired - Fee Related
Cited By (3)
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 |