JP6607069B2 - MEMORY ACCESS CONTROL DEVICE, MEMORY ACCESS CONTROL METHOD, PROGRAM - Google Patents
MEMORY ACCESS CONTROL DEVICE, MEMORY ACCESS CONTROL METHOD, PROGRAM Download PDFInfo
- Publication number
- JP6607069B2 JP6607069B2 JP2016024896A JP2016024896A JP6607069B2 JP 6607069 B2 JP6607069 B2 JP 6607069B2 JP 2016024896 A JP2016024896 A JP 2016024896A JP 2016024896 A JP2016024896 A JP 2016024896A JP 6607069 B2 JP6607069 B2 JP 6607069B2
- Authority
- JP
- Japan
- Prior art keywords
- access
- memory access
- memory
- unit
- delay
- 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.)
- Active
Links
- 230000015654 memory Effects 0.000 title claims description 512
- 238000000034 method Methods 0.000 title claims description 29
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 title 1
- 230000001629 suppression Effects 0.000 claims description 39
- 230000004044 response Effects 0.000 claims description 15
- 230000005540 biological transmission Effects 0.000 claims description 7
- 230000003111 delayed effect Effects 0.000 claims description 5
- 230000010365 information processing Effects 0.000 claims description 4
- 230000007246 mechanism Effects 0.000 description 93
- 238000012544 monitoring process Methods 0.000 description 41
- 238000012790 confirmation Methods 0.000 description 26
- 238000002360 preparation method Methods 0.000 description 18
- 238000012545 processing Methods 0.000 description 17
- 230000008030 elimination Effects 0.000 description 16
- 238000003379 elimination reaction Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000004913 activation Effects 0.000 description 4
- 230000006866 deterioration Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
Landscapes
- Memory System (AREA)
Description
本発明は、メモリアクセス制御装置、メモリアクセス制御方法、プログラムに関し、特にレイテンシを抑制するメモリアクセス制御装置、メモリアクセス制御方法、プログラムに関する。 The present invention relates to a memory access control device, a memory access control method, and a program, and more particularly to a memory access control device, a memory access control method, and a program that suppress latency.
複数のプロセッサがメモリを共有する共有メモリシステムが知られている。このような共有メモリシステムの場合、複数の命令が競合することなどを起因として、レイテンシ(遅延)が生じることがある。そこで、上記のようなレイテンシに対する対策が様々考えられている。 A shared memory system in which a plurality of processors share a memory is known. In such a shared memory system, latency (delay) may occur due to a plurality of instructions competing. Therefore, various countermeasures against the above latency are considered.
例えば、特許文献1には、データ処理部を複数のグループに分けた際のグループ間の優先順位が予め設定されたアクセス調停部を有するシステムが記載されている。特許文献1によると、アクセス調停部は、競合が生じた場合に、優先順位に従ってアクセスの調停を行う。また、アクセス調停部は、許容アクセス回数を超えるアクセス要求が発生した場合、優先順位の低いデータ処理部に対して、ウェイト指令信号を送信する。特許文献1によると、このような構成により、応答時間の増加を抑制することが出来る。
For example,
また、例えば、特許文献2には、記憶手段と登録手段と送信手段とを備えるレイテンシ短縮システムが記載されている。特許文献2によると、登録手段は、共有メモリの同一アドレスに対して同時にリクエストが発行された場合に、該リクエストを発行した発行元を特定する制御情報を記憶手段に記憶する。また、送信手段は、同時に送信されたリクエストのうち、最初に発行されたリクエストに対して当該リクエストの発行元にデータを返信するとき、当該発行元を制御情報に基づいて決定する。特許文献2によると、このような構成により、複数のプロセッサからの所定のリクエストを同時に処理することができ、その結果、レイテンシを短縮することが出来る。
Further, for example,
特許文献1に記載されている技術の場合、アクセス調停の結果アクセスが許可された複数のデータ処理部が同一のアドレス(又は、同一のアドレスレンジ)に対してアクセスすることがある。このような場合、同一のアドレスに対するアクセス集中が起こり、その結果として、コヒーレンシ処理などに時間がかかり、ロードやストア命令が通常よりも大幅に遅延するおそれがあった。このように、特許文献1に記載されている技術の場合、同一アドレスに対するアクセスの集中によりレイテンシが発生してしまうおそれがあった。
In the case of the technique described in
また、特許文献2に記載されている技術は、所定のリクエストを同時に処理することでレイテンシを抑制している。そのため、同時に処理できないリクエスト等に対して、必ずしも十分な対応となっていなかった。このように、特許文献2に記載されている技術の場合でも、同一アドレスに対するアクセスの集中によるレイテンシを抑制することが難しいおそれがあった。
The technique described in
以上のように、共有メモリを有するシステムにおいて、同一アドレスに対するアクセスの集中によるレイテンシを抑制することが難しい、という問題が生じていた。 As described above, in a system having a shared memory, there is a problem that it is difficult to suppress latency due to concentration of accesses to the same address.
そこで、本発明の目的は、共有メモリを有するシステムにおいて、同一アドレスに対するアクセスの集中によるレイテンシを抑制することが難しい、という問題を解決するメモリアクセス制御装置を提供することにある。 Therefore, an object of the present invention is to provide a memory access control device that solves the problem that it is difficult to suppress latency due to concentration of accesses to the same address in a system having a shared memory.
かかる目的を達成するため本発明の一形態であるメモリアクセス制御装置は、
メモリアドレスへのアクセス要求を受け付ける受付手段と、
前記受付手段が受け付けたアクセス要求に応じて、メモリアクセス手段に対してメモリアドレスへのアクセスを指示するアクセス命令を発行する発行手段と、
前記アクセス要求がアクセスを要求するメモリアドレスに対する前記メモリアクセス手段によるアクセスの状況を示す状況情報を参照し、当該状況情報に基づいて前記発行手段による前記アクセス命令の発行を所定時間抑制させる抑制手段と、
を有する
という構成を採る。
In order to achieve such an object, a memory access control device according to one aspect of the present invention provides:
Accepting means for accepting an access request to a memory address;
An issuing unit that issues an access instruction to instruct the memory access unit to access a memory address in response to the access request received by the receiving unit;
A control unit that refers to status information indicating a status of access by the memory access unit with respect to a memory address to which the access request requests access, and suppresses issuance of the access command by the issuing unit for a predetermined time based on the status information; ,
It has a configuration of having
また、本発明の他の形態であるメモリアクセス制御方法は、
メモリアドレスへのアクセス要求を受け付け、
受け付けた前記アクセス要求に応じて、メモリアクセス手段に対してメモリアドレスへのアクセスを指示するアクセス命令を発行し、
前記アクセス要求がアクセスを要求するメモリアドレスに対する前記メモリアクセス手段によるアクセスの状況を示す状況情報を参照し、当該状況情報に基づいて前記アクセス命令の発行を所定時間抑制させる、
という構成を採る。
In addition, a memory access control method according to another aspect of the present invention includes:
Accept access request to memory address,
In response to the received access request, issue an access instruction to instruct the memory access means to access the memory address,
The access request refers to status information indicating a status of access by the memory access means for a memory address that requests access, and based on the status information, issuance of the access command is suppressed for a predetermined time.
The structure is taken.
また、本発明の他の形態であるプログラムは、
情報処理装置に、
メモリアドレスへのアクセス要求を受け付ける受付手段と、
前記受付手段が受け付けたアクセス要求に応じて、メモリアクセス手段に対してメモリアドレスへのアクセスを指示するアクセス命令を発行する発行手段と、
前記アクセス要求がアクセスを要求するメモリアドレスに対する前記メモリアクセス手段によるアクセスの状況を示す状況情報を参照し、当該状況情報に基づいて前記発行手段による前記アクセス命令の発行を所定時間抑制させる抑制手段と、
を実現させるためのプログラムである。
Moreover, the program which is the other form of this invention is:
In the information processing device,
Accepting means for accepting an access request to a memory address;
An issuing unit that issues an access instruction to instruct the memory access unit to access a memory address in response to the access request received by the receiving unit;
A control unit that refers to status information indicating a status of access by the memory access unit with respect to a memory address to which the access request requests access, and suppresses issuance of the access command by the issuing unit for a predetermined time based on the status information; ,
It is a program for realizing.
本発明は、以上のように構成されることにより、共有メモリを有するシステムにおいて、同一アドレスに対するアクセスの集中によるレイテンシを抑制することが難しい、という問題を解決するメモリアクセス制御装置を提供することが可能となる。 The present invention is configured as described above to provide a memory access control device that solves the problem that it is difficult to suppress latency due to concentration of accesses to the same address in a system having a shared memory. It becomes possible.
[第1の実施形態]
本発明の第1の実施形態を図1乃至図10を参照して説明する。図1、図2は、メモリアクセス制御装置1の構成の一例を示すブロック図である。図3は、遅延予測テーブル42の構成の一例を示す図である。図4は、メモリアクセス要求機構3とメモリアクセス手段43の構成の一例を示す図である。図5、図6は、メモリアクセス要求制御機構2の動作の一例を示すフローチャートである。図7は、メモリアクセス要求機構3の動作の一例を示すフローチャートである。図8は、メモリアクセス管理機構4の動作の一例を示すフローチャートである。図9は、メモリアクセス要求制御機構2の実装例を示すブロック図である。図10は、メモリアクセス要求制御機構2の動作の一例を記述した擬似コードの一例である。
[First Embodiment]
A first embodiment of the present invention will be described with reference to FIGS. 1 and 2 are block diagrams showing an example of the configuration of the memory
本発明の第1の実施形態では、同一アドレスレンジに対するアクセスの集中により生じるレイテンシを抑制するメモリアクセス制御装置1について説明する。本実施形態におけるメモリアクセス制御装置1は、後述するように、アドレスレンジごとに処理中のリクエスト数を示すキュー長を計測する。そして、同一のアドレスレンジに対するアクセスが集中していると判断される場合、メモリアクセス制御装置1は、メモリアクセス命令の発行を一時的に抑制するよう構成されている。このような構成により、メモリアクセス制御装置1は、メモリアクセス遅延が予測される状況において、メモリアクセスを控えることが出来る。その結果、遅延の悪化を防ぐことが出来る。つまり、レイテンシを抑制することが出来る。
In the first embodiment of the present invention, a memory
なお、本実施形態において、アドレスレンジが同一であるとは、メモリアドレスのうち1つ目から所定数までの値が一致することをいう。アドレスレンジの粒度(所定数をいくつに設定するか)は、メモリアクセス制御装置1を用いるシステムに応じて任意に設定して構わない。
In the present embodiment, the same address range means that values from the first to a predetermined number of memory addresses match. The granularity of the address range (how many the predetermined number is set) may be arbitrarily set according to the system using the memory
図1を参照すると、本実施形態におけるメモリアクセス制御装置1は、メモリアクセス要求を受信するメモリアクセス要求制御機構2と、メモリアクセス要求機構3a、3b、3c、3d、3e、3f(以下、特に区別しない場合はメモリアクセス要求機構3とする)と、メモリアクセス管理機構4と、を有している。
Referring to FIG. 1, a memory
図1で示すように、メモリアクセス要求制御機構2とメモリアクセス要求機構3とは、通信可能なよう接続されている。同様に、メモリアクセス要求機構3とメモリアクセス管理機構4、メモリアクセス管理機構4とメモリアクセス要求制御機構2とも、通信可能なよう接続されている。
As shown in FIG. 1, the memory access
メモリアクセス要求制御機構2は、特定のメモリアドレスへのメモリアクセス要求(アクセス要求)を外部から受け付ける。すると、メモリアクセス要求制御機構2は、受け付けたメモリアクセス要求に応じて、当該メモリアクセス要求が要求するメモリアドレスへのアクセスを指示するメモリアクセス命令(アクセス命令)を発行する。また、本実施形態におけるメモリアクセス要求制御機構2は、後述する遅延予測テーブル42(状況情報)に基づいて、同一アドレスレンジへのアクセスが集中していると判断される場合、メモリアクセス命令の発行を一時的に抑制する。換言すると、メモリアクセス要求制御機構2は、アクセス集中によりメモリアクセス要求がアクセスを要求するメモリアドレスに対するアクセスが遅延すると判断される場合、当該メモリアドレスに対するメモリアクセス命令の発行を一時的に抑制する。
The memory access
図2を参照すると、本実施形態におけるメモリアクセス要求制御機構2は、遅延認識手段21と、遅延予測フラグ22と、メモリアクセス命令発行準備手段23と、遅延アドレス確認手段24と、遅延抑制手段25と、メモリアクセス命令発行手段26と、を有している。メモリアクセス要求制御機構2は、例えば、図示しない演算装置と記憶装置とを有しており、記憶装置が記憶するプログラムを演算装置が実行することで、上記各手段を実現する。
Referring to FIG. 2, the memory access
遅延認識手段21は、遅延予測フラグ22を更新する。例えば、遅延認識手段21は、メモリアクセス管理機構4が管理するアドレスレンジにおける遅延を予測する遅延予測通知をメモリアクセス管理機構4の遅延予測通知手段47から受信する。また、遅延認識手段21は、メモリアクセス管理機構4が管理するアドレスレンジにおける遅延の予測を解消する遅延解消通知を遅延予測通知手段47から受信する。そして、遅延認識手段21は、受信した遅延予測通知や遅延解消通知に基づいて、遅延予測フラグ22を更新する。
The
具体的には、遅延予測フラグ22はカウンタとして実装され、遅延認識手段21は、遅延予測通知を受信した場合、遅延予測フラグ22をインクリメントする(1増加させる)。また、遅延認識手段21は、遅延解消通知を受信した場合、遅延予測フラグ22をデクリメントする(1減少させる)。このように、遅延認識手段21は、遅延予測通知手段47から受信した通知に応じて、遅延予測フラグ22を更新する。
Specifically, the
遅延予測フラグ22は、メモリアクセス管理機構4において遅延が発生している可能性があるか否かという情報を示している。上記のように、遅延予測フラグ22は、例えばカウンタとして実装される。遅延予測フラグ22の値が0である場合は遅延が発生していないことを示しており、遅延予測フラグ22の値が1以上である場合は遅延が発生している可能性があることを示している。
The
メモリアクセス命令発行準備手段23(受付手段)は、遅延予測フラグ22に基づいて、受信したメモリアクセス要求を遅延アドレス確認手段24に送信するか否かを判断する。例えば、メモリアクセス命令発行準備手段23は、外部からメモリアクセス要求を受信する。すると、メモリアクセス命令発行準備手段23は、遅延予測フラグ22を参照して、メモリアクセス管理機構4が管理するアドレスレンジにおける直近のアクセスに対して遅延が予測されているか否かを判断する。そして、遅延予測フラグ22が立っている場合(値が1以上で遅延が予測されている場合)、メモリアクセス命令発行準備手段23は、メモリアクセス要求を遅延アドレス確認手段24に送信する。一方、遅延予測フラグ22が立っていない場合(値が0であり遅延が予測されていない場合)、メモリアクセス命令発行準備手段23は、メモリアクセス要求をメモリアクセス命令発行手段26に送信する。
Based on the
遅延アドレス確認手段24(抑制手段の一部)は、メモリアクセス要求がアクセスを要求するメモリアドレスに対応するエントリが、後述するメモリアクセス管理機構4の遅延予測テーブル42に存在しているか否か、当該エントリにアラートが立っているか否かを確認する。例えば、遅延アドレス確認手段24は、メモリアクセス命令発行準備手段23からメモリアクセス要求を受信する。すると、遅延アドレス確認手段24は、遅延予測テーブル42を参照して、受信したメモリアクセス要求がアクセスを要求するメモリアドレスに該当するエントリが遅延予測テーブル42に存在するか否かを確認する。換言すると、遅延アドレス確認手段24は、メモリアクセス要求がアクセスを要求するメモリアドレスが含まれるアドレスレンジのエントリが遅延予測テーブル42に存在するか否かを確認する。また、遅延アドレス確認手段24は、該当するエントリが存在する場合、当該エントリにアラートが立っているか否かを確認する。そして、該当するエントリが存在し、かつ、当該エントリにアラートが立っている場合、遅延アドレス確認手段24は、メモリアクセス要求を遅延抑制手段25に送信する。一方、該当するエントリが存在しない場合やエントリにアラートが立っていない場合、遅延アドレス確認手段24は、メモリアクセス要求をメモリアクセス命令発行手段26に送信する。
The delay address confirmation unit 24 (a part of the suppression unit) determines whether or not an entry corresponding to the memory address requested by the memory access request exists in the delay prediction table 42 of the memory
遅延抑制手段25(抑制手段の一部)は、予め定められた時間(遅延抑制時間)分該当メモリアドレスへのアクセスを抑制する。例えば、遅延抑制手段25は、遅延アドレス確認手段24からメモリアクセス要求を受信する。すると、遅延抑制手段25は、予め定められた時間分待機する。その後、遅延抑制手段25は、受信したメモリアクセス要求をメモリアクセス命令発行手段26に送信する。遅延抑制手段25は、例えば、このようにして、予め定められた時間分待機した後メモリアクセス要求をメモリアクセス命令発行手段26に送信することで、メモリアクセス命令発行手段26によるメモリアクセス命令の発行を所定時間抑制させることになる。
The delay suppression unit 25 (a part of the suppression unit) suppresses access to the corresponding memory address for a predetermined time (delay suppression time). For example, the
メモリアクセス命令発行手段26(発行手段)は、受信したメモリアクセス要求に基づいて、当該メモリアクセス要求が示すメモリアドレスへのアクセスを指示するメモリアクセス命令をメモリアクセス要求機構3に対して発行する。例えば、メモリアクセス命令発行手段26は、メモリアクセス命令発行準備手段23、遅延アドレス確認手段24、遅延抑制手段25、からメモリアクセス要求を受信する。そして、メモリアクセス命令発行手段26は、受信したメモリアクセス要求に基づいて、メモリアクセス要求機構3に対してメモリアクセス命令を発行する。
Based on the received memory access request, the memory access command issuing unit 26 (issuing unit) issues to the memory
メモリアクセス要求機構3は、図2で示すように、メモリアクセス判断手段31とキャッシュ32とを有している。メモリアクセス要求機構3は既存技術で実現可能な機構であり、例えば、プロセッサなどのような機構である。
As shown in FIG. 2, the memory access request mechanism 3 includes a memory
メモリアクセス判断手段31は、メモリアクセス命令に応じて、キャッシュ32を利用するか実際にメモリアクセスを行うかを判断する。例えば、メモリアクセス判断手段31は、メモリアクセス命令発行手段26から、メモリアクセス命令を受信する。すると、メモリアクセス判断手段31は、受信したメモリアクセス命令を解釈する。そして、メモリアクセス判断手段31は、解釈結果に応じて、キャッシュ32を利用するか、メモリアクセスを実際に行うかを判断する。また、メモリアクセス判断手段31は、メモリアクセスを実際に行うと判断した場合、メモリアクセス命令をメモリアクセス管理機構4のメモリアクセス監視手段41に送信する。
The memory
メモリアクセス管理機構4は、受信したメモリアクセス命令に応じて、メモリ44にアクセスする。また、メモリアクセス管理機構4は、特定アドレスレンジへのアクセス集中を検出して、メモリアクセス要求制御機構2に対して遅延予測通知を通知する。また、メモリアクセス管理機構4は、遅延発生の可能性が低くなった段階で、メモリアクセス要求制御機構2に対して遅延解消通知を通知する。
The memory
図2を参照すると、本実施形態におけるメモリアクセス管理機構4は、メモリアクセス監視手段41と遅延予測テーブル42とメモリアクセス手段43とメモリ44と遅延発生予測手段45と遅延解消予測手段46と遅延予測通知手段47とを有している。メモリアクセス管理機構4は、例えば、図示しない演算装置と記憶装置とを有しており、記憶装置が記憶するプログラムを演算装置が実行することで、上記各手段を実現する。また、メモリアクセス管理機構4は、メモリなどの記憶装置を有しており、当該記憶装置に遅延予測テーブル42を格納する。
Referring to FIG. 2, the memory
メモリアクセス監視手段41は、メモリアクセス要求機構3からメモリアクセス命令を受け付け、受け付けたメモリアクセス命令をメモリアクセス手段43に送信する。また、メモリアクセス監視手段41は、遅延予測テーブル42を管理する。後述するように、メモリアクセス監視手段41は、遅延予測テーブル42を管理することで、キュー長の計測などを行うことになる。
The memory
例えば、メモリアクセス監視手段41は、メモリアクセス要求機構3からメモリアクセス命令を受信する。すると、メモリアクセス監視手段41は、受信したメモリアクセス命令に基づいて遅延予測テーブル42を更新する。例えば、メモリアクセス監視手段41は、メモリアクセス命令を受信すると、受信したメモリアクセス命令が要求するメモリアドレスが属するアドレスレンジに対するエントリが遅延予測テーブル42に既に存在しているか否かを確認する。そして、対応するエントリが存在する場合、メモリアクセス監視手段41は、該当メモリアドレスに対応するキュー長をインクリメントする。一方、対応するエントリが存在しない場合、メモリアクセス監視手段41は、対応するエントリを新規エントリとして遅延予測テーブル42に登録する。この際、新規に登録されるエントリのキュー長は1の状態となる。また、メモリアクセス監視手段41は、メモリアクセス命令をメモリアクセス手段43に送信するとともに、必要に応じて遅延発生予測手段45を起動する。例えば、メモリアクセス監視手段41は、キュー長をインクリメントしたエントリにアラートが立っていない場合に遅延発生予測手段45を起動する。
For example, the memory
また、メモリアクセス監視手段41は、メモリアクセス手段43からメモリアクセスの完了を通知されると、遅延予測テーブル42を更新する。例えば、メモリアクセス監視手段41は、メモリアクセスが完了した旨の通知を受信すると、対応するエントリのキュー長をデクリメントする。また、その結果として、キュー長が0になった場合、メモリアクセス監視手段41は、該当するエントリを遅延予測テーブル42から削除する。また、メモリアクセス監視手段41は、必要に応じて遅延解消予測手段46を起動する。例えば、メモリアクセス監視手段41は、キュー長をデクリメントしたエントリにアラートが立っている場合に遅延解消予測手段46を起動する。
When the memory
遅延予測テーブル42(状況情報)は、メモリアクセス手段43によるアクセスの状況を示しており、例えば、メモリアドレスに対するアクセスの数を示している。具体的には、遅延予測テーブル42は、アドレスレンジごとにキュー長(処理中のリクエスト数。例えば、メモリアクセス手段43(メモリアクセス管理機構4)が受け付けた後実行完了前のメモリアクセス命令の数)を管理している。 The delay prediction table 42 (status information) indicates the status of access by the memory access means 43, for example, the number of accesses to the memory address. Specifically, the delay prediction table 42 indicates the queue length for each address range (number of requests being processed. For example, the number of memory access instructions received after the memory access unit 43 (memory access management mechanism 4) has received and before execution is completed. ).
図3は、遅延予測テーブル42の構成の一例である。図3を参照すると、遅延予測テーブル42は、アドレスレンジと、キューと、キュー長と、H−WM(High Watermark)(遅延閾値)と、L−WM(Low Watermark)(解消閾値)と、アラートと、を対応付けている。上記遅延予測テーブル42には、メモリアクセス監視手段41により、メモリアクセス監視手段41で監視中のリクエスト(メモリアクセス命令)が登録される。
FIG. 3 is an example of the configuration of the delay prediction table 42. Referring to FIG. 3, the delay prediction table 42 includes an address range, a queue, a queue length, an H-WM (High Watermark) (delay threshold), an L-WM (Low Watermark) (resolution threshold), an alert. Are associated with each other. In the delay prediction table 42, a request (memory access instruction) being monitored by the memory
上述したように、キュー長は処理中のリクエスト数を示している。キュー長は、メモリアクセス手段43にメモリアクセス命令が1つ送信される度に1増加するようメモリアクセス監視手段41により管理される。また、キュー長は、メモリアクセス命令の実行完了ごとに1減少するようメモリアクセス監視手段41により管理される。 As described above, the queue length indicates the number of requests being processed. The queue length is managed by the memory access monitoring means 41 so that it increases by 1 every time one memory access command is transmitted to the memory access means 43. The queue length is managed by the memory access monitoring means 41 so that the queue length is decreased by 1 every time the execution of the memory access instruction is completed.
H−WMは、アドレスレンジに対するアクセスが集中しているか否かを判断するために用いられる閾値である。H−WMは、遅延発生予測手段45によりキュー長と比較され、キュー長がH−WM以上になった場合に、該当するエントリのアラートが立てられることになる。また、L−WMは、例えばH−WMよりも小さな値であり、アドレスレンジに対するアクセスの集中が解消しているか否かを判断するために用いられる閾値である。L−WMは、遅延解消予測手段46によりキュー長と比較され、キュー長がL−WM以下となった場合に、該当するエントリのアラートが倒される(削除される)ことになる。また、上記のように、アラートは、キュー長がH−WM以上となった場合に立てられ、キュー長がL−WM以下となった場合に倒されることになる。このような構成のため、遅延アドレス確認手段24は、メモリアクセス命令発行手段26に対してメモリアクセス命令の発行を所定時間抑制させる状態(アラートが立った状態)において、キュー長がH−WMよりも小さな値であるL−WM以下となるまで、メモリアクセス命令の発行を所定時間抑制させる状態を持続することになる。
H-WM is a threshold value used to determine whether or not access to an address range is concentrated. The H-WM is compared with the queue length by the delay
なお、H−WM及びL−WMの値は、例えば、予め定められた値である。H−WM及びL−WMの値は、例えば、システム仕様や経験則に基づいてシステム固有の値として予め定められている。 Note that the values of H-WM and L-WM are, for example, predetermined values. The values of H-WM and L-WM are predetermined as system-specific values based on, for example, system specifications and empirical rules.
メモリアクセス手段43は、メモリ44へのメモリアクセスを行うとともにメモリアクセス要求機構3が有するキャッシュ32の内容の一貫性、コヒーレンシを保つよう動作する。メモリアクセス手段43には、既存の様々な技術を採用することが出来る。
The
メモリ44は、ハードディスクやメモリなどの記憶装置である。上記のように、メモリ44は、メモリアクセス手段43によりアクセスされることになる。
The
遅延発生予測手段45は、遅延予測テーブル42を情報源として遅延発生予測を行う。具体的には、上述したように、遅延発生予測手段45は、メモリアクセス監視手段41により起動される。すると、遅延発生予測手段45は、遅延予測テーブル42を参照して、該当するエントリ(例えば、起動の起因となったエントリ)のキュー長がH−WM以上であるか否かを確認する。そして、キュー長がH−WM以上である場合、遅延発生予測手段45は、該当するエントリのアラートを立てる。また、遅延発生予測手段45は、アラートを立てた旨を遅延予測通知手段47に通知する。一方、キュー長がH−WMよりも小さい場合、遅延発生予測手段45は、その処理を終了する。
The delay
遅延解消予測手段46は、遅延予測テーブル42を情報源として遅延解消予測を行う。具体的には、上述したように、遅延解消予測手段46は、メモリアクセス監視手段41により起動される。すると、遅延解消予測手段46は、遅延予測テーブル42を参照して、該当するエントリ(例えば、起動の起因となったエントリ)のキュー長がL−WM以下であるか否かを確認する。そして、キュー長がL−WM以下である場合、遅延解消予測手段46は、該当するエントリのアラートを倒す。また、遅延解消予測手段46は、アラートを倒した旨を遅延予測通知手段47に通知する。一方、キュー長がL−WMよりも大きい場合、遅延解消予測手段46は、その処理を終了する。
The delay elimination prediction means 46 performs delay elimination prediction using the delay prediction table 42 as an information source. Specifically, as described above, the delay
遅延予測通知手段47(送信手段)は、メモリアクセス要求制御機構2に対して、遅延予測通知や遅延解消通知を送信する。例えば、遅延予測通知手段47は、遅延発生予測手段45からアラートを立てた旨の通知を受信する。すると、遅延予測通知手段47は、当該受信した通知に応じて、遅延を予測する遅延予測通知を送信する。また、遅延予測通知手段47は、遅延解消予測手段46からアラートを倒した旨の通知を受信する。すると、遅延予測通知手段47は、当該受信した通知に応じて、遅延の予測を解消する遅延解消通知を送信する。
The delay prediction notification unit 47 (transmission unit) transmits a delay prediction notification and a delay cancellation notification to the memory access
以上が、メモリアクセス制御装置1の構成の一例についての説明である。
The above is an example of the configuration of the memory
なお、メモリアクセス要求機構3及びメモリアクセス管理機構4のメモリアクセス手段43は、例えば既存技術により実現可能な手段である。メモリアクセス要求機構3やメモリアクセス手段43は、例えば図4で示すようなシステム5(5a、5b)においては、それぞれ一般的なプロセッサ51(CPU(Central Processing Unit))やメモリコントローラ52のように動作する。
Note that the memory access means 43 of the memory access request mechanism 3 and the memory
また、上記のようなシステム5は、例えば、以下のような特徴を有している。
特徴1.各プロセッサ51からメモリコントローラ52に対して同時にメモリアクセス命令(メモリ53に対するアクセスを要求する命令)を出すことが出来る。
特徴2.各プロセッサ51からの要求がそれぞれ異なるアドレスレンジへのアクセスであった場合、メモリコントローラ52の処理は多くの場合において並列動作可能である。そのため、このような場合、遅延は少ないことになる(図4のシステム5a参照)。
特徴3.各プロセッサ51からの要求が同一アドレスレンジへのアクセスであった場合、メモリ及び各プロセッサ51内のキャッシュのコヒーレンシ維持が必要となり、処理がシリアライズ(逐次化)される。そのため、多数のプロセッサ51が同一メモリアドレスにアクセスし続けるような場合、多数のプロセッサ51上のキャッシュに該当メモリアドレスが載っているためコヒーレンシ維持のための更新処理、同期処理が重くなることになる。その結果、遅延が大きくなることになる(図4のシステム5b参照)。
Further, the
Feature 3. When the request from each
なお、図4は本実施形態におけるメモリアクセス制御装置1が用いられるシステムのうち非常に単純な一例を示している。本実施形態におけるメモリアクセス制御装置1は、例えば、上記のような特徴を持つ比較的大規模なシステムの性能向上を図るために用いられることが考えられるが、それ以外の装置、システムに適用されても構わない。
FIG. 4 shows a very simple example of the system in which the memory
続いて、図5乃至図8を参照して、メモリアクセス制御装置1の動作の一例について説明する。まず、図5を参照して、メモリアクセス要求を受信した際のメモリアクセス要求制御機構2の動作の一例について説明する。
Next, an example of the operation of the memory
図5を参照すると、メモリアクセス命令発行準備手段23は、外部装置や外部のソフトウェアなどからメモリアクセス要求を受信する(ステップS001)。すると、メモリアクセス命令発行準備手段23は、遅延予測フラグ22を参照してメモリアクセス管理機構4において遅延が予測されているか否かを判断する。
Referring to FIG. 5, the memory access command issuance preparation means 23 receives a memory access request from an external device or external software (step S001). Then, the memory access instruction
遅延予測フラグ22の値が1以上である場合(遅延が予測されている場合)(ステップS002、True)、メモリアクセス命令発行準備手段23は、メモリアクセス要求を遅延アドレス確認手段24に送信する。一方、遅延予測フラグ22の値が0である場合(遅延が予測されていない場合)(ステップS002、False)、メモリアクセス命令発行準備手段23は、メモリアクセス要求をメモリアクセス命令発行手段26に送信する。
When the value of the
遅延アドレス確認手段24は、メモリアクセス命令発行準備手段23からメモリアクセス要求を受信する。すると、遅延アドレス確認手段24は、メモリアクセス管理機構4の遅延予測テーブル42を参照して、受信したメモリアクセス要求が要求するメモリアドレスに該当するエントリが遅延予測テーブル42に存在し、かつ、当該エントリにアラートが立っているか否かを確認する。
The delay
該当するエントリが存在し、アラートが立っている場合(ステップS003、True)、遅延アドレス確認手段24は、メモリアクセス要求を遅延抑制手段25に送信する。一方、該当するエントリが存在しない場合やエントリにアラートが立っていない場合(ステップS003、False)、遅延アドレス確認手段24は、メモリアクセス要求をメモリアクセス命令発行手段26に送信する。
When the corresponding entry exists and an alert is raised (step S003, True), the delay
遅延抑制手段25は、遅延アドレス確認手段24からメモリアクセス要求を受信する。すると、遅延抑制手段25は、予め定められた時間分待機する。つまり、遅延抑制手段25は、遅延抑制処理を行う(ステップS004)。その後、遅延抑制手段25は、受信したメモリアクセス要求をメモリアクセス命令発行手段26に送信する。
The
メモリアクセス命令発行手段26は、受信したメモリアクセス要求に基づいて、当該メモリアクセス要求が示すメモリアドレスへのアクセスを指示するメモリアクセス命令をメモリアクセス要求機構3に対して発行する(ステップS005)。 Based on the received memory access request, the memory access command issuing means 26 issues a memory access command for instructing access to the memory address indicated by the memory access request to the memory access request mechanism 3 (step S005).
以上が、メモリアクセス要求を受信した際のメモリアクセス要求制御機構2の動作の一例である。次に、図6を参照して遅延予測フラグ22を更新する際のメモリアクセス要求制御機構2の動作の一例について説明する。
The above is an example of the operation of the memory access
図6を参照すると、メモリアクセス要求制御機構2の遅延認識手段21は、メモリアクセス管理機構4の遅延予測通知手段47から遅延予測通知や遅延解消通知を受信する(ステップS101)。
Referring to FIG. 6, the
すると、遅延認識手段21は、通知に応じた更新を行う。具体的には、遅延予測通知を受け取った場合(ステップS102、遅延予測通知)、遅延認識手段21は、遅延予測フラグ22をインクリメントする(ステップS103)。一方、遅延解消通知を受け取った場合(ステップS102、遅延解消通知)、遅延認識手段21は、遅延予測フラグ22をデクリメントする(ステップS104)。遅延認識手段21は、例えば、このように受信した通知に応じて遅延予測フラグ22を更新する。
Then, the
以上が、遅延予測フラグ22を更新する際のメモリアクセス要求制御機構2の動作の一例である。続いて、図7を参照して、メモリアクセス要求機構3の動作の一例について説明する。
The above is an example of the operation of the memory access
図7を参照すると、メモリアクセス要求機構3は、メモリアクセス命令発行手段26からメモリアクセス命令を受信する(ステップS201)。具体的には、メモリアクセス要求機構3のメモリアクセス判断手段31がメモリアクセス命令を受信する。
Referring to FIG. 7, the memory access request mechanism 3 receives a memory access command from the memory access command issuing unit 26 (step S201). Specifically, the memory
メモリアクセス判断手段31は、受信したメモリアクセス命令を解釈し、キャッシュ32を確認した上で、必要であればキャッシュ32の更新を行なったり、メモリアクセス管理機構4に対するメモリアクセスの要求を行ったりする(ステップS202)。
The memory access determination means 31 interprets the received memory access instruction, confirms the
以上が、メモリアクセス要求機構3の動作の一例である。続いて、図8を参照して、メモリアクセス管理機構4の動作の一例について説明する。
The above is an example of the operation of the memory access request mechanism 3. Next, an example of the operation of the memory
図8を参照すると、メモリアクセス管理機構4のメモリアクセス監視手段41は、メモリアクセス命令を受信する(ステップS301)。すると、メモリアクセス監視手段41は、受信したメモリアクセス命令が要求するメモリアドレスが属するアドレスレンジに対するエントリが遅延予測テーブル42に既に存在しているか否かを確認する(ステップS302)。
Referring to FIG. 8, the memory
対応するエントリが存在する場合(ステップS302、True)、メモリアクセス監視手段41は、該当メモリアドレスのキュー長をインクリメントする(ステップS303)。一方、対応するエントリが存在しない場合(ステップS302、False)、メモリアクセス監視手段41は、対応するエントリを新規エントリとして遅延予測テーブル42に登録する(ステップS304)。この際、新規に登録されるエントリのキュー長は1の状態となる。
If there is a corresponding entry (step S302, True), the memory
メモリアクセス監視手段41は、並列動作可能な処理として、該当エントリにアラートが立っているか否かを確認する(ステップS305)とともに、受信したメモリアクセス命令をメモリアクセス手段43に送信する。
The memory
アラートが立っている場合(ステップS305、False)、メモリアクセス監視手段41のこの並行処理の一つを終了する。一方、アラートが立っていない場合(ステップS305、True)、メモリアクセス監視手段41は、遅延発生予測手段45を起動する。
If an alert is set (step S305, False), one of the parallel processes of the memory
遅延発生予測手段45は、遅延予測テーブル42を参照して、起動の起因となったエントリのキュー長がH−WM以上であるか否かを確認する(ステップS306)。キュー長がH−WM以上である場合(ステップS306、True)、遅延発生予測手段45は、該当するエントリのアラートを立てる(ステップS307)。また、遅延発生予測手段45は、アラートを立てた旨を遅延予測通知手段47に通知する。その後、上記通知を受領した遅延予測通知手段47は、受信した通知に基づいて、遅延予測通知をメモリアクセス要求制御機構2に対して通知する(ステップS308)。一方、キュー長がH−WMよりも小さい場合(ステップS306、False)、遅延発生予測手段45は、その処理を終了する。
The delay
メモリアクセス命令を受信したメモリアクセス手段43は、例えば、当該メモリアクセス命令がアクセスを要求するアクセスレンジに対応するキューにリクエストを追加して、メモリアクセスを行う(ステップS309)。この処理は例えば既存の技術により行われる。 The memory access means 43 that has received the memory access instruction adds a request to a queue corresponding to the access range to which the memory access instruction requests access, for example, and performs memory access (step S309). This process is performed by, for example, an existing technique.
メモリアクセスが完了すると、メモリアクセス手段43は、メモリアクセスが完了した旨をメモリアクセス監視手段41に通知する。メモリアクセスが完了した旨の通知を受信すると、メモリアクセス監視手段41は、対応するエントリのキュー長をデクリメントする(ステップS310)。そして、デクリメントの結果、キュー長が0になった場合(ステップS311、True)、メモリアクセス監視手段41は、該当するエントリを遅延予測テーブル42から削除する(ステップS312)。一方、キュー長が0にならなかった場合(ステップS311、False)、メモリアクセス監視手段41は、該当するエントリにアラートが立っているか否かを確認する(ステップS313)。なお、この処理は並列処理の同期により、同一アクセスリクエストにおけるステップS307の後に実行される事が保証される。
When the memory access is completed, the
アラートが立っていない場合(ステップS313、True)、メモリアクセス監視手段41は、処理を終了する。一方、アラートが立っている場合(ステップS313、False)、メモリアクセス監視手段41は、遅延解消予測手段46を起動する。
If no alert is raised (step S313, True), the memory
遅延解消予測手段46は、遅延予測テーブル42を参照して、起動の起因となったエントリのキュー長がL−WM以下であるか否かを確認する(ステップS314)。キュー長がL−WM以下である場合(ステップS314、True)、遅延解消予測手段46は、該当するエントリのアラートを倒す(ステップS315)。また、遅延解消予測手段46は、アラートを倒した旨を遅延予測通知手段47に通知する。その後、上記通知を受領した遅延予測通知手段47は、受信した通知に基づいて、遅延解消通知をメモリアクセス要求制御機構2に対して通知する(ステップS316)。一方、キュー長がL−WMよりも大きい場合(ステップS314、False)、遅延解消予測手段46は、その処理を終了する。
The delay elimination prediction means 46 refers to the delay prediction table 42 and confirms whether or not the queue length of the entry that caused the activation is equal to or less than L-WM (step S314). When the queue length is equal to or shorter than L-WM (step S314, True), the delay
以上が、メモリアクセス管理機構4の動作の一例である。
The above is an example of the operation of the memory
このように、本実施形態におけるメモリアクセス制御装置1は、遅延アドレス確認手段24と、遅延抑制手段25とを有している。また、遅延予測テーブル42を有している。このような構成により、遅延アドレス確認手段24は、遅延予測テーブル42を参照して、メモリアクセス要求がアクセスを要求するメモリアドレスが属するアドレスレンジに対してアクセスが集中しているか否かを確認することが出来る。また、遅延抑制手段25は、遅延アドレス確認手段24による確認結果に基づいて、アクセスの集中によりメモリアクセス遅延が予測される状況において、メモリアクセスを控えることが出来る。その結果、遅延の悪化を防ぐことが出来る。つまり、レイテンシを抑制することが出来る。
As described above, the memory
また、本実施形態におけるメモリアクセス制御装置1は、遅延予測通知手段47を有している。このような構成により、メモリアクセス管理機構4は、遅延が発生している可能性があることをメモリアクセス要求制御機構2に伝えることが出来る。その結果、メモリアクセス要求制御機構2は、遅延発生の可能性に応じて、メモリアクセス命令を発行するか抑制するかを判断すること(または、判断するための情報の確認を行うか否かを判断すること)が可能となる。
Further, the memory
また、本実施形態におけるメモリアクセス制御装置1によると、効率的にメモリアクセスを制御して効率的に遅延の発生を抑制することが出来る。そのため、システムに搭載するCPUの数を増やした場合の遅延の増加を効率的に防ぐことが出来る。その結果、CPUの数を容易に増やすことが容易となる。また、遅延予測テーブル42を活用することで、システムに発生した問題の原因がメモリアクセス遅延によるものか否かを容易に判断することが可能となる。
Further, according to the memory
なお、本実施形態におけるメモリアクセス命令発行準備手段23は、メモリアクセス要求を受信すると、一律に遅延予測フラグ22を確認するとした。しかしながら、メモリアクセス命令発行準備手段23は、必ずしも受信した全てのメモリアクセス要求に対して遅延予測フラグ22を確認しなくても構わない。メモリアクセス命令発行準備手段23は、例えば、同時期に受信したメモリアクセス要求の全てがロード要求である場合、遅延予測フラグ22の確認を省略するよう構成しても構わない。このように、メモリアクセス命令発行準備手段23は、受信したメモリアクセス要求の内容や種類などに応じて遅延予測フラグ22を確認するか否か判断するよう構成することが出来る。また、メモリアクセス命令発行準備手段23は、例えば、予め定められたソフトウェアから発行されるメモリアクセス命令に対してのみ遅延予測フラグ22を確認するよう構成しても構わない。
Note that the memory access instruction
また、本実施形態におけるメモリアクセス要求制御機構2は、図9で示すような、CPUなどのハードウェアにプログラムが読み込まれることで実現されるソフトウェアで実装しても構わない。図9の割り込みハンドラ61は、割り込みに応じて遅延フラグ62を更新する。また、処理63は、例えば、遅延予測情報(遅延フラグ62、遅延予測テーブル64)を利用することで遅延を大幅に遅らせることが可能な処理のみに、本発明を適用して、遅延フラグ62(図2の遅延予測フラグ22に相当する)及び遅延予測テーブル64(遅延予測テーブル42に相当する)の確認を行う。なお、処理内容はシステム処理であっても構わないし、ユーザーアプリケーション処理であっても構わない。
Further, the memory access
また、例えば、図10の擬似コードのようなプログラムをハードウェアに読み込ませることで実現されるソフトウェア実装を行っても構わない。ここで、図10におけるis_delay関数は遅延アドレス確認手段24に相当し、lazy_spinlock関数は遅延抑制手段25に相当する。図10によると、is_delay関数が遅延を予測した場合、通常のspinlock関数ではなく、lazy_spinlock関数が利用される。lazy_spinlock関数では、lock->nop_times回、nop命令のような何もしない命令を繰り返す事で、一定期間、遅延を悪化させる無駄なlock->next_ticketが指すメモリアドレスへのアクセス抑制を実現している。
Further, for example, software implementation realized by loading a program such as the pseudo code in FIG. 10 into hardware may be performed. Here, the is_delay function in FIG. 10 corresponds to the delay
なお、上記記載の場合、どの程度アクセスを抑制するかを示すlock->nop_timesを変数とすることで、抑制時間を特定のアルゴリズムを用いて動的に変化させる事も可能である。このように、遅延抑制手段25がアクセスを抑制する時間は動的に変化するよう構成しても構わない。また、例えば、抑制時間を遅延予測テーブル42の新規項目として追加して、メモリアクセス管理機構4から抑制時間を取得するよう構成することも出来る。
In the case described above, the lock time can be dynamically changed using a specific algorithm by using lock-> nop_times indicating how much access is suppressed as a variable. As described above, the time during which the
また、本実施形態においては、メモリアクセス管理機構4は、対象を全アドレスレンジとしたグローバルな遅延予測テーブル42を有するとした。また、遅延予測テーブル42において、H−WM及びL−WMは固定値であるとし、遅延抑制時間はメモリアクセス要求制御機構2に予め定められているものとした。しかしながら、メモリアクセス管理機構4の構成は、上記場合に限定されない。例えば、1つの遅延予測テーブル42に格納するアドレスレンジを区切り、複数の遅延予測テーブル42に分散するよう構成し、遅延予測テーブル42の数だけ遅延予測フラグ22を構成したり、一部のメモリアドレスレンジの遅延予測テーブルだけを活用したりしても構わない。また、H−WM及びL―WMは、例えばメモリアクセス制御装置1を有するシステムに対する負荷の状況などに応じて動的に変更可能なよう構成しても構わない。また、遅延抑制時間は、メモリアクセス管理機構4により制御可能なよう構成しても構わない。例えば、遅延抑制時間は、遅延予測テーブル42に含まれていても構わない。また、遅延抑制時間は、例えば、キュー長が長くなるほど長くなるなど、例えばメモリアクセス監視手段41などにより動的に制御されても構わない。
Further, in the present embodiment, the memory
また、本実施形態においては、メモリアクセス管理機構4は、遅延の発生の予測をキュー長に基づいて行うとした。しかしながら、メモリアクセス管理機構4は、キュー長以外に基づいて遅延の発生を予測しても構わない。メモリアクセス管理機構4は、例えば、メモリアクセスにかかる時間などを計測して、計測結果に基づいて遅延の発生を予測するよう構成しても構わない。このように、メモリアクセス管理機構4は、キュー長以外に基づいて遅延の発生を予測して遅延予測通知を送信するよう構成しても構わない。
In the present embodiment, the memory
[第2の実施形態]
続いて、第2の実施形態では、第1の実施形態で説明したメモリアクセス制御装置1を、NUMA(Non-Uniform Memory Access)構成を持つNUMA型システム7のノードコントローラ71(ノードコントローラ71a、71b、71c、71d。特に区別しない場合は、ノードコントローラ71と表記する。以下、同様)に適用する場合の一例について説明する。なお、以下においては、第1の実施形態と重複する説明については省略する。
[Second Embodiment]
Subsequently, in the second embodiment, the memory
図11を参照すると、本実施形態におけるNUMA型システム7は、例えば、4つのノードを有しており、それぞれのノードに対応する、4つのノードコントローラ71(71a、71b、71c、71d)と、複数のCPUから構成される4つのCPU72(72a、72b、72c、72d)と、4つのメモリコントローラ73(73a、74b、73c、73d)と、16のメモリ74(74a、74b、74c、74dが4つずつ)とを有している。また、上記のように、各ノードコントローラ71は、第1の実施形態で説明したメモリアクセス制御装置1の構成を有している。
Referring to FIG. 11, the
このようなシステムにおいては、図12で示す経路C01のようにノードコントローラ71を経由する(経由C01の場合、ノードコントローラ71a、71bを経由する)アクセスを行う場合、CPU72からメモリ74までの経路(経由C01の場合、CPU72aからメモリ74b)が長くなるためレイテンシが大きくなる。このため、図13で示すように多数のCPU72から同一メモリアドレスへのアクセスが集中した場合、つまり、例えばノードコントローラ71bを経由した同一メモリアドレスへのアクセスが多い場合、ノードコントローラ71b経由のメモリアクセスのレイテンシに引きずられ、すべての経路においてレイテンシが発生しやすくなる。そこで、本発明をノードコントローラ71に対して適用することで、ノードコントローラ71を経由する経路経由でのメモリアクセスを監視することが可能となり、大きな効果を得ることが出来るものと考えられる。
In such a system, when accessing via the node controller 71 (in the case of via C01, via the
また、図12で示す経路C02や経路C03などノードコントローラ71を経由しない経路を使用した同一メモリアドレスへのアクセスの集中による遅延は、上記ノードコントローラ71を経由した場合に発生する遅延と比較して、相対的に小さいものと考えられる。そのため、各ノードコントローラ71は、例えば、図14で示すように、自分が直接管理するメモリコントローラ73の負荷状況だけを管理する(例えば、ノードコントローラ71aは、メモリコントローラ73aの負荷状況を管理する)。これにより、効率的な管理を行うことが可能となる。図14では、ノードコントローラ71aは、メモリコントローラ73a(MC1)の負荷状況を管理していることを示している。なお、図14では、各ノードコントローラ71において、図3で示すキューを各メモリコントローラ用のキューとし、キュー長を各メモリコントローラ73向けへのアクセス数とした遅延予測テーブル42の一例を示している。また、H−WM及びL―WMを動的に変更(例えば、各ノードに対する負荷などに応じて動的に変更する)した場合を示しており、遅延抑制時間を動的に制御している場合を示している。
Further, the delay due to the concentration of access to the same memory address using the path not passing through the
[第3の実施形態]
次に、図15を参照して、第3の実施形態について説明する。第3の実施形態では、同一アドレスレンジに対するアクセスの集中により生じるレイテンシを抑制するメモリアクセス制御装置8について説明する。本実施形態においては、メモリアクセス制御装置8の構成の概要について説明する。
[Third Embodiment]
Next, a third embodiment will be described with reference to FIG. In the third embodiment, a memory
図15を参照すると、本実施形態におけるメモリアクセス制御装置8は、受付手段81と発行手段82と抑制手段83とメモリアクセス手段84を有している。
Referring to FIG. 15, the memory
受付手段81は、メモリアドレスへのアクセス要求を受け付ける。発行手段82は、受付手段81が受け付けたアクセス要求に応じて、メモリアクセス手段84に対してメモリアドレスへのアクセスを指示するアクセス命令を発行する。
The accepting
抑制手段83は、アクセス要求がアクセスを要求するメモリアドレスに対するメモリアクセス手段84によるアクセスの状況を示す状況情報を参照し、当該状況情報に基づいて発行手段82によるアクセス命令の発行を所定時間抑制させる。
The
このように、本実施形態におけるメモリアクセス制御装置8は、発行手段82と抑制手段83とを有している。このような構成により、抑制手段83は、状況情報を参照し、当該状況情報に基づいて、発行手段82によるアクセス命令の発行を所定時間抑制させることが出来る。つまり、抑制手段83は、状況情報に基づいて、例えば、アクセス要求がアクセスを要求するメモリアドレスに対するアクセスが遅延すると判断される場合などにおいて、当該メモリアドレスに対するアクセスを要求するアクセス命令の発行を所定時間抑制させることが出来る。これにより、メモリアクセス遅延が予測される状況において、メモリアクセスを控えることが出来る。その結果、遅延の悪化を防ぐことが出来る。つまり、レイテンシを抑制することが出来る。
As described above, the memory
また、上記メモリアクセス制御装置8は、当該メモリアクセス制御装置8に所定のプログラムが組み込まれることで実現できる。具体的に、本発明の他の形態であるプログラムは、情報処理装置に、メモリアドレスへのアクセス要求を受け付ける受付手段と、受付手段が受け付けたアクセス要求に応じて、メモリアクセス手段に対してメモリアドレスへのアクセスを指示するアクセス命令を発行する発行手段と、アクセス要求がアクセスを要求するメモリアドレスに対するメモリアクセス手段によるアクセスの状況を示す状況情報を参照し、当該状況情報に基づいて発行手段によるアクセス命令の発行を所定時間抑制させる抑制手段と、を実現させるためのプログラムである。
The memory
また、上述したメモリアクセス制御装置8が作動することにより実行されるメモリアクセス制御方法は、メモリアドレスへのアクセス要求を受け付け、受け付けたアクセス要求に応じて、メモリアクセス手段に対してメモリアドレスへのアクセスを指示するアクセス命令を発行し、アクセス要求がアクセスを要求するメモリアドレスに対するメモリアクセス手段によるアクセスの状況を示す状況情報を参照し、当該状況情報に基づいてアクセス命令の発行を所定時間抑制させる、という方法である。
The memory access control method executed by the operation of the memory
上述した構成を有する、プログラム、又は、メモリアクセス制御方法、の発明であっても、上記メモリアクセス制御装置8と同様の作用を有するために、上述した本発明の目的を達成することが出来る。
Even the invention of the program or the memory access control method having the above-described configuration can achieve the above-described object of the present invention because it has the same operation as the memory
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明におけるメモリアクセス制御装置などの概略を説明する。但し、本発明は、以下の構成に限定されない。
<Appendix>
Part or all of the above-described embodiment can be described as in the following supplementary notes. The outline of the memory access control device and the like in the present invention will be described below. However, the present invention is not limited to the following configuration.
(付記1)
メモリアドレスへのアクセス要求を受け付ける受付手段と、
前記受付手段が受け付けたアクセス要求に応じて、メモリアクセス手段に対してメモリアドレスへのアクセスを指示するアクセス命令を発行する発行手段と、
前記アクセス要求がアクセスを要求するメモリアドレスに対する前記メモリアクセス手段によるアクセスの状況を示す状況情報を参照し、当該状況情報に基づいて前記発行手段による前記アクセス命令の発行を所定時間抑制させる抑制手段と、
を有する
メモリアクセス制御装置。
(Appendix 1)
Accepting means for accepting an access request to a memory address;
An issuing unit that issues an access instruction to instruct the memory access unit to access a memory address in response to the access request received by the receiving unit;
A control unit that refers to status information indicating a status of access by the memory access unit with respect to a memory address to which the access request requests access, and suppresses issuance of the access command by the issuing unit for a predetermined time based on the status information; ,
A memory access control device.
この構成によると、メモリアクセス制御装置は、発行手段と抑制手段とを有している。このような構成により、抑制手段は、状況情報を参照し、当該状況情報に基づいて、発行手段によるアクセス命令の発行を所定時間抑制させることが出来る。これにより、メモリアクセス遅延が予測される状況において、メモリアクセスを控えることが出来る。その結果、遅延の悪化を防ぐことが出来る。つまり、レイテンシを抑制することが出来る。 According to this configuration, the memory access control device has the issuing unit and the suppressing unit. With such a configuration, the suppression unit can refer to the situation information and suppress the issuance of the access command by the issuing unit for a predetermined time based on the situation information. Thereby, it is possible to refrain from memory access in a situation where memory access delay is predicted. As a result, deterioration of delay can be prevented. That is, the latency can be suppressed.
(付記2)
付記1に記載のメモリアクセス制御装置であって、
前記抑制手段は、前記状況情報として、前記アクセス要求がアクセスを要求するメモリアドレスに対するアクセスの数を示す情報を参照する
メモリアクセス制御装置。
(Appendix 2)
The memory access control device according to
The suppression means refers to information indicating the number of accesses to a memory address to which the access request requests access as the status information.
この構成によると、抑制手段は、状況情報として、アクセス要求がアクセスを要求するメモリアドレスに対するアクセスの数を示す情報を参照する。これにより、抑制手段は、例えば、アクセスの数が多くアクセスが集中していると判断される場合などにおいて、発行手段によるアクセス命令の発行を所定時間抑制させることが出来る。その結果、メモリアドレスに対するアクセスの集中により生じるレイテンシを抑制することが可能となる。 According to this configuration, the suppression unit refers to information indicating the number of accesses to the memory address requested by the access request as the status information. Thereby, the suppression means can suppress the issue of the access command by the issuing means for a predetermined time, for example, when it is determined that the number of accesses is large and the access is concentrated. As a result, it is possible to suppress latency caused by concentration of accesses to memory addresses.
(付記3)
付記1又は2に記載のメモリアクセス制御装置であって、
前記抑制手段は、前記状況情報として、前記メモリアクセス手段が受け付けた後であって実行完了前の前記アクセス命令の数であるキュー長を示す情報を参照する
メモリアクセス制御装置。
(Appendix 3)
The memory access control device according to
The memory unit is a memory access control device that refers to information indicating a queue length that is the number of the access instructions after the memory access unit receives and before the execution completion as the status information.
この構成によると、抑制手段は、状況情報として、キュー長を示す情報を参照する。これにより、メモリアクセス手段で実行中(処理中)のアクセス命令の数に基づいて、該当するメモリアドレスに対するアクセスが集中していると判断される場合などにおいて、発行手段によるアクセス命令の発行を所定時間抑制させることが出来る。 According to this configuration, the suppression unit refers to information indicating the queue length as the status information. As a result, when it is determined that access to the corresponding memory address is concentrated based on the number of access instructions being executed (processing) by the memory access means, the issuing means issues the access instructions in a predetermined manner. Time can be suppressed.
(付記4)
付記3に記載のメモリアクセス制御装置であって、
前記抑制手段は、前記キュー長が予め定められた遅延閾値以上である場合、対応するメモリアドレスに対するアクセスを指示する前記アクセス命令の発行を所定時間抑制させる
メモリアクセス制御装置。
(Appendix 4)
The memory access control device according to attachment 3, wherein
The memory access control device that suppresses issuance of the access command that instructs access to a corresponding memory address for a predetermined time when the queue length is equal to or greater than a predetermined delay threshold.
(付記5)
付記3又は4に記載のメモリアクセス制御装置であって、
前記抑制手段は、前記発行手段に対して前記アクセス命令の発行を所定時間抑制させる状態において、前記キュー長が前記遅延閾値よりも小さな値である解消閾値以下となるまで、当該アクセス命令の発行を所定時間抑制させる状態を持続する
メモリアクセス制御装置。
(Appendix 5)
The memory access control device according to
In a state where the issuing unit suppresses the issuing of the access command for a predetermined time, the suppressing unit issues the access command until the queue length becomes equal to or less than a cancellation threshold that is smaller than the delay threshold. A memory access control device that maintains a state of being suppressed for a predetermined time.
(付記6)
付記3乃至5のいずれかに記載のメモリアクセス制御装置であって、
前記キュー長は、メモリアドレスのうちの所定数までの値が一致するアドレスレンジごとに計測されている
メモリアクセス制御装置。
(Appendix 6)
The memory access control device according to any one of appendices 3 to 5,
The queue length is measured for each address range in which values up to a predetermined number of memory addresses coincide with each other.
(付記7)
付記1乃至6のいずれかに記載のメモリアクセス制御装置であって、
前記抑制手段は、前記受付手段から前記アクセス要求を受信した後当該受信したアクセス要求を前記発行手段に送信するよう構成され、前記状況情報に基づいて遅延が生じると判断される前記アクセス要求に対しては、前記受付手段から前記アクセス要求を受信した後、所定時間待機した後に、当該受信したアクセス要求を前記発行手段に送信する
メモリアクセス制御装置。
(Appendix 7)
The memory access control device according to any one of
The suppressing means is configured to transmit the received access request to the issuing means after receiving the access request from the accepting means, and for the access request that is determined to be delayed based on the status information Then, after receiving the access request from the accepting unit, the memory access control device transmits the received access request to the issuing unit after waiting for a predetermined time.
(付記8)
付記7に記載のメモリアクセス制御装置であって、
前記状況情報に基づいて遅延が生じると判断される場合に、遅延の発生を予測する遅延予測情報を前記受付手段に対して送信する送信手段を有し、
前記受付手段は、前記遅延予測情報に基づいて遅延の発生が予測されている場合、前記メモリアクセス要求を前記抑制手段に送信する
メモリアクセス制御装置。
(Appendix 8)
The memory access control device according to
When it is determined that a delay occurs based on the situation information, the transmission unit has a transmission unit that transmits the delay prediction information for predicting the occurrence of the delay to the reception unit,
The accepting unit is a memory access control device that transmits the memory access request to the suppressing unit when occurrence of a delay is predicted based on the delay prediction information.
(付記9)
メモリアドレスへのアクセス要求を受け付け、
受け付けた前記アクセス要求に応じて、メモリアクセス手段に対してメモリアドレスへのアクセスを指示するアクセス命令を発行し、
前記アクセス要求がアクセスを要求するメモリアドレスに対する前記メモリアクセス手段によるアクセスの状況を示す状況情報を参照し、当該状況情報に基づいて前記アクセス命令の発行を所定時間抑制させる、
メモリアクセス制御方法。
(Appendix 9)
Accept access request to memory address,
In response to the received access request, issue an access instruction to instruct the memory access means to access the memory address,
The access request refers to status information indicating a status of access by the memory access means for a memory address that requests access, and based on the status information, issuance of the access command is suppressed for a predetermined time.
Memory access control method.
(付記9−1)
付記9に記載のメモリアクセス制御方法であって、
前記状況情報として、前記アクセス要求がアクセスを要求するメモリアドレスに対するアクセスの数を示す情報を参照する
メモリアクセス制御方法。
(Appendix 9-1)
A memory access control method according to attachment 9, wherein
A memory access control method for referring to information indicating the number of accesses to a memory address to which the access request requests access as the status information.
(付記9−2)
付記9又は9−1に記載のメモリアクセス制御方法であって、
前記抑制手段は、前記状況情報として、前記メモリアクセス手段が受け付けた後であって実行完了前の前記アクセス命令の数であるキュー長を示す情報を参照する
メモリアクセス制御方法。
(Appendix 9-2)
A memory access control method according to appendix 9 or 9-1,
The memory control method according to
(付記10)
情報処理装置に、
メモリアドレスへのアクセス要求を受け付ける受付手段と、
前記受付手段が受け付けたアクセス要求に応じて、メモリアクセス手段に対してメモリアドレスへのアクセスを指示するアクセス命令を発行する発行手段と、
前記アクセス要求がアクセスを要求するメモリアドレスに対する前記メモリアクセス手段によるアクセスの状況を示す状況情報を参照し、当該状況情報に基づいて前記発行手段による前記アクセス命令の発行を所定時間抑制させる抑制手段と、
を実現させるためのプログラム。
(Appendix 10)
In the information processing device,
Accepting means for accepting an access request to a memory address;
An issuing unit that issues an access instruction to instruct the memory access unit to access a memory address in response to the access request received by the receiving unit;
A control unit that refers to status information indicating a status of access by the memory access unit with respect to a memory address to which the access request requests access, and suppresses issuance of the access command by the issuing unit for a predetermined time based on the status information; ,
A program to realize
(付記10−1)
付記10に記載のプログラムであって、
前記抑制手段は、前記状況情報として、前記アクセス要求がアクセスを要求するメモリアドレスに対するアクセスの数を示す情報を参照する
プログラム。
(Appendix 10-1)
The program according to
The suppression unit refers to information indicating the number of accesses to a memory address to which the access request requests access as the status information.
(付記10−2)
付記10又は10−1に記載のプログラムであって、
前記抑制手段は、前記状況情報として、前記メモリアクセス手段が受け付けた後であって実行完了前の前記アクセス命令の数であるキュー長を示す情報を参照する
プログラム。
(Appendix 10-2)
The program according to
The control unit refers to information indicating a queue length, which is the number of the access instructions after the memory access unit receives and before the execution is completed, as the status information.
なお、上記各実施形態及び付記において記載したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されていたりする。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。 The programs described in the above embodiments and supplementary notes are stored in a storage device or recorded on a computer-readable recording medium. For example, the recording medium is a portable medium such as a flexible disk, an optical disk, a magneto-optical disk, and a semiconductor memory.
以上、上記各実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることが出来る。 Although the present invention has been described with reference to the above embodiments, the present invention is not limited to the above-described embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.
1 メモリアクセス制御装置
2 メモリアクセス要求制御機構
21 遅延認識手段
22 遅延予測フラグ
23 メモリアクセス命令発行準備手段
24 遅延アドレス確認手段
25 遅延抑制手段
26 メモリアクセス命令発行手段
3 メモリアクセス要求機構
31 メモリアクセス判断手段
32 キャッシュ
4 メモリアクセス管理機構
41 メモリアクセス監視手段
42 遅延予測テーブル
43 メモリアクセス手段
44 メモリ
45 遅延発生予測手段
46 遅延解消予測手段
47 遅延予測通知手段
5 システム
51 プロセッサ
52 メモリコントローラ
53 メモリ
61 割り込みハンドラ
62 遅延フラグ
63 処理
64 遅延予測テーブル
7 NUMA型システム
71 ノードコントローラ
72 CPU
73 メモリコントローラ
74 メモリ
8 メモリアクセス制御装置
81 受付手段
82 発行手段
83 抑制手段
84 メモリアクセス手段
DESCRIPTION OF
73 memory controller 74
Claims (7)
前記受付手段が受け付けたアクセス要求に応じて、メモリアクセス手段に対してメモリアドレスへのアクセスを指示するアクセス命令を発行する発行手段と、
前記アクセス要求がアクセスを要求するメモリアドレスに対する前記メモリアクセス手段によるアクセスの状況を示す状況情報を参照し、当該状況情報に基づいて前記発行手段による前記アクセス命令の発行を所定時間抑制させる抑制手段と、
を有し、
前記抑制手段は、前記状況情報として、前記メモリアクセス手段が受け付けた後であって実行完了前の前記アクセス命令の数であるキュー長を示す情報を参照し、
前記キュー長は、メモリアドレスのうちの所定数までの値が一致するアドレスレンジごとに計測されている
メモリアクセス制御装置。 Accepting means for accepting an access request to a memory address;
An issuing unit that issues an access instruction to instruct the memory access unit to access a memory address in response to the access request received by the receiving unit;
A control unit that refers to status information indicating a status of access by the memory access unit with respect to a memory address to which the access request requests access, and suppresses issuance of the access command by the issuing unit for a predetermined time based on the status information; ,
Have a,
The suppression means refers to information indicating a queue length that is the number of the access instructions after the memory access means has received and before execution completion as the status information,
The queue length is a memory access control device that is measured for each address range in which values up to a predetermined number of memory addresses match .
前記抑制手段は、前記キュー長が予め定められた遅延閾値以上である場合、対応するメモリアドレスに対するアクセスを指示する前記アクセス命令の発行を所定時間抑制させる
メモリアクセス制御装置。 The memory access control device according to claim 1 ,
The memory access control device that suppresses issuance of the access command that instructs access to a corresponding memory address for a predetermined time when the queue length is equal to or greater than a predetermined delay threshold.
前記抑制手段は、前記発行手段に対して前記アクセス命令の発行を所定時間抑制させる状態において、前記キュー長が前記遅延閾値よりも小さな値である解消閾値以下となるまで、当該アクセス命令の発行を所定時間抑制させる状態を持続する
メモリアクセス制御装置。 The memory access control device according to claim 2 ,
In a state where the issuing unit suppresses the issuing of the access command for a predetermined time, the suppressing unit issues the access command until the queue length becomes equal to or less than a cancellation threshold that is smaller than the delay threshold. A memory access control device that maintains a state of being suppressed for a predetermined time.
前記抑制手段は、前記受付手段から前記アクセス要求を受信した後当該受信したアクセス要求を前記発行手段に送信するよう構成され、前記状況情報に基づいて遅延が生じると判断される前記アクセス要求に対しては、前記受付手段から前記アクセス要求を受信した後、所定時間待機した後に、当該受信したアクセス要求を前記発行手段に送信する
メモリアクセス制御装置。 A memory access control device according to any one of claims 1 to 3 ,
The suppressing means is configured to transmit the received access request to the issuing means after receiving the access request from the accepting means, and for the access request that is determined to be delayed based on the status information Then, after receiving the access request from the accepting unit, the memory access control device transmits the received access request to the issuing unit after waiting for a predetermined time.
前記状況情報に基づいて遅延が生じると判断される場合に、遅延の発生を予測する遅延予測情報を前記受付手段に対して送信する送信手段を有し、
前記受付手段は、前記遅延予測情報に基づいて遅延の発生が予測されている場合、前記アクセス要求を前記抑制手段に送信する
メモリアクセス制御装置。 The memory access control device according to claim 4 ,
When it is determined that a delay occurs based on the situation information, the transmission unit has a transmission unit that transmits the delay prediction information for predicting the occurrence of the delay to the reception unit,
It said accepting means, when the occurrence of the delay based on the delay prediction information is predicted, before a memory access controller for transmitting Kia access request to the suppressing means.
受け付けた前記アクセス要求に応じて、メモリアクセス手段に対してメモリアドレスへのアクセスを指示するアクセス命令を発行し、
前記アクセス要求がアクセスを要求するメモリアドレスに対する前記メモリアクセス手段によるアクセスの状況を示す状況情報を参照し、当該状況情報に基づいて前記アクセス命令の発行を所定時間抑制させ、
前記状況情報として、前記アクセス命令を受け付けた後であって実行完了前の前記アクセス命令の数であるキュー長を示す情報を参照し、
前記キュー長は、メモリアドレスのうちの所定数までの値が一致するアドレスレンジごとに計測されている
メモリアクセス制御方法。 Accept access request to memory address,
In response to the received access request, issue an access instruction to instruct the memory access means to access the memory address,
With reference to status information indicating the status of access by the memory access means for the memory address to which the access request requests access, issuance of the access command is suppressed for a predetermined time based on the status information ,
As the status information, refer to information indicating a queue length which is the number of the access instructions after the access instruction is received and before the execution is completed,
The queue length is a memory access control method measured for each address range in which values up to a predetermined number of memory addresses match .
メモリアドレスへのアクセス要求を受け付ける受付手段と、
前記受付手段が受け付けたアクセス要求に応じて、メモリアクセス手段に対してメモリアドレスへのアクセスを指示するアクセス命令を発行する発行手段と、
前記アクセス要求がアクセスを要求するメモリアドレスに対する前記メモリアクセス手段によるアクセスの状況を示す状況情報を参照し、当該状況情報に基づいて前記発行手段による前記アクセス命令の発行を所定時間抑制させる抑制手段と、
を実現させ、
前記抑制手段は、前記状況情報として、前記メモリアクセス手段が受け付けた後であって実行完了前の前記アクセス命令の数であるキュー長を示す情報を参照し、
前記キュー長は、メモリアドレスのうちの所定数までの値が一致するアドレスレンジごとに計測されている
プログラム。
In the information processing device,
Receiving means for receiving an access request to the memory address;
An issuing unit that issues an access instruction to instruct the memory access unit to access a memory address in response to the access request received by the receiving unit;
A control unit that refers to status information indicating a status of access by the memory access unit with respect to a memory address to which the access request requests access, and suppresses issuance of the access command by the issuing unit for a predetermined time based on the status information; ,
Realized ,
The suppression unit refers to information indicating a queue length that is the number of the access instructions after the memory access unit has received and before execution completion as the status information,
The queue length is measured for each address range in which values up to a predetermined number of memory addresses match .
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2016024896A JP6607069B2 (en) | 2016-02-12 | 2016-02-12 | MEMORY ACCESS CONTROL DEVICE, MEMORY ACCESS CONTROL METHOD, PROGRAM |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2016024896A JP6607069B2 (en) | 2016-02-12 | 2016-02-12 | MEMORY ACCESS CONTROL DEVICE, MEMORY ACCESS CONTROL METHOD, PROGRAM |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2017142730A JP2017142730A (en) | 2017-08-17 |
| JP6607069B2 true JP6607069B2 (en) | 2019-11-20 |
Family
ID=59627324
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2016024896A Active JP6607069B2 (en) | 2016-02-12 | 2016-02-12 | MEMORY ACCESS CONTROL DEVICE, MEMORY ACCESS CONTROL METHOD, PROGRAM |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6607069B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7226084B2 (en) | 2019-05-16 | 2023-02-21 | オムロン株式会社 | Information processing equipment |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7650481B2 (en) * | 2004-11-24 | 2010-01-19 | Qualcomm Incorporated | Dynamic control of memory access speed |
| US20060179197A1 (en) * | 2005-02-10 | 2006-08-10 | International Business Machines Corporation | Data processing system, method and interconnect fabric having a partial response rebroadcast |
| JP4142068B2 (en) * | 2006-06-16 | 2008-08-27 | 株式会社ソニー・コンピュータエンタテインメント | Information processing apparatus and access control method |
| JP4802284B2 (en) * | 2010-01-29 | 2011-10-26 | 株式会社東芝 | Semiconductor memory device and control method thereof |
-
2016
- 2016-02-12 JP JP2016024896A patent/JP6607069B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2017142730A (en) | 2017-08-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101639672B1 (en) | Unbounded transactional memory system and method for operating thereof | |
| US8949547B2 (en) | Coherency controller and method for data hazard handling for copending data access requests | |
| US9767027B2 (en) | Private memory regions and coherency optimization by controlling snoop traffic volume in multi-level cache hierarchy | |
| JP4474570B2 (en) | Cache coherency control method | |
| KR102929297B1 (en) | Memory interface having data signal path and tag signal path | |
| US20140006716A1 (en) | Data control using last accessor information | |
| US20110320743A1 (en) | Memory ordered store system in a multiprocessor computer system | |
| US8635409B2 (en) | Dynamic mode transitions for cache instructions | |
| US11687460B2 (en) | Network cache injection for coherent GPUs | |
| JP6319473B1 (en) | Information processing device | |
| US10997075B2 (en) | Adaptively enabling and disabling snooping bus commands | |
| KR101695845B1 (en) | Apparatus and method for maintaining cache coherency, and multiprocessor apparatus using the method | |
| WO2007096979A1 (en) | Information processor and data transfer method | |
| JP6607069B2 (en) | MEMORY ACCESS CONTROL DEVICE, MEMORY ACCESS CONTROL METHOD, PROGRAM | |
| JP5527477B2 (en) | Arithmetic processing device, information processing device, and control method for arithmetic processing device | |
| JP2008046958A (en) | System controller, same address request queuing prevention method, and information processing apparatus | |
| US10775870B2 (en) | System and method for maintaining cache coherency | |
| US8719499B2 (en) | Cache-line based notification | |
| US8838909B2 (en) | Dynamic initial cache line coherency state assignment in multi-processor systems | |
| CN117149278A (en) | A command processing system, control method and host device | |
| US20080307190A1 (en) | System and Method for Improved Virtual Real Memory | |
| JP4335298B2 (en) | Snoop control method and information processing apparatus | |
| EP3332329B1 (en) | Device and method for prefetching content to a cache memory | |
| JP2017151856A (en) | Arithmetic processing device, information processing device, and control method for information processing device | |
| JP6413605B2 (en) | Vector arithmetic device, control method and program, and vector processing device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190116 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190726 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190806 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190904 |
|
| 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: 20190924 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191007 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6607069 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |