JP6244916B2 - 演算処理装置,演算処理装置の制御方法及び情報処理装置 - Google Patents
演算処理装置,演算処理装置の制御方法及び情報処理装置 Download PDFInfo
- Publication number
- JP6244916B2 JP6244916B2 JP2014000251A JP2014000251A JP6244916B2 JP 6244916 B2 JP6244916 B2 JP 6244916B2 JP 2014000251 A JP2014000251 A JP 2014000251A JP 2014000251 A JP2014000251 A JP 2014000251A JP 6244916 B2 JP6244916 B2 JP 6244916B2
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- arithmetic processing
- processing unit
- cache
- abort
- 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
- 238000000034 method Methods 0.000 title claims description 32
- 230000010365 information processing Effects 0.000 title claims description 17
- 230000015654 memory Effects 0.000 claims description 128
- 206010000210 abortion Diseases 0.000 claims description 36
- 230000004044 response Effects 0.000 claims description 20
- 230000008569 process Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 20
- 101100328518 Caenorhabditis elegans cnt-1 gene Proteins 0.000 description 14
- 101100328519 Caenorhabditis elegans cnt-2 gene Proteins 0.000 description 9
- 230000007717 exclusion Effects 0.000 description 7
- 101100206389 Caenorhabditis elegans tag-124 gene Proteins 0.000 description 6
- 230000015556 catabolic process Effects 0.000 description 5
- 238000006731 degradation reaction Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0833—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30047—Prefetch instructions; cache control instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30087—Synchronisation or serialisation instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3824—Operand accessing
- G06F9/3834—Maintaining memory consistency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/62—Details of cache specific to multiprocessor cache arrangements
- G06F2212/621—Coherency control relating to peripheral accessing, e.g. from DMA or I/O device
Description
前記メモリへの書込命令を制御する第2の命令制御部と,第2のキャッシュメモリを有する第2のキャッシュユニットとを有する第2の演算処理部とを有し,
前記第1の演算処理部が,実行中の第1のトランザクション内での前記第1のキャッシュメモリへの書込要求時に,前記第2の演算処理部に無効化要求を送信し,
前記第2の演算処理部の前記第2のキャッシュユニットは,前記無効化要求に応答して,実行中の第2のトランザクションが前記書込要求先のキャッシュブロックについて競合する場合に,前記無効化要求に含まれる情報に基づいて前記第2のトランザクションをアボートするか否かを判定し,判定結果を前記第1の演算処理部に返信する演算処理装置である。
図4は,第1の実施の形態における演算処理装置を示す図である。演算処理装置10は,例えばCPUチップであり,複数のCPUコアCPU_1〜CPU_3と,メモリコントローラ16と,バス15とを有する。そして,演算処理装置10は,メモリ20にアクセス可能に接続される。
図7は,第2の実施の形態における排他処理を示す図である。第2の実施の形態においても,図4,5,6で説明した演算処理装置の構成を有し,排他処理のための無効化要求とアボート判定を行う。そして,第2の実施の形態では,アボート判定論理として,トランザクション内でのアボート回数が多いトランザクションの実行を継続し,少ないトランザクションをアボートするという論理を採用する。つまり,アボート回数が多いトランザクションほど優先して実行できるようにする。
第3の実施の形態では,アボート判定回路が,トランザクションの状態情報としてトランザクションの実行時間関連情報を利用し,アボート判定を実行する。トランザクションの実行時間関連情報の例は,トランザクションの実行開始後の実経過時間(μsec)である実行時間,トランザクションの実行開始後のクロックサイクル数,トランザクションの実行開始から実行されたプログラムの命令数である。
図17は,第4の実施の形態におけるアボート判定回路を示す図である。第4の実施の形態では,第2の実施の形態と同様に,アボート回数を比較して,アボート回数が少ないほうのトランザクションをアボートさせる。但し,第2の実施の形態と異なり,アボート回数が等しい場合に,第3の実施の形態の判定論理である実行時間関連情報を比較して,実行時間関連情報が短いまたは少ないほうをアボートさせる。
図18は,第5の実施の形態における情報処理装置(コンピュータ)を示す図である。第5の実施の形態では,NUMA(Cache Coherent Non Uniform Memory Access)アーキテクチャのコンピュータシステムに適用される。
図22は,第6の実施の形態における情報処理装置を示す図である。図22の情報処理装置は,複数の演算処理装置(CPUチップ)CPU_1,CPU_2,CPU_3を有するコンピュータである。複数の演算処理装置(CPUチップ)CPU_1,CPU_2,CPU_3は,共通のメモリ20を共有している。したがって,演算処理装置(CPUチップ)CPU_1,CPU_2,CPU_3のキャッシュメモリ間で,キャッシュコヒーレンシを保つ必要がある。そこで,第6の実施の形態においても,各キャッシュユニットが,第2,第3の実施の形態と同様のアボート判定を実行する。
メモリへの書込命令を制御する第1の命令制御部と,第1のキャッシュメモリを有する第1のキャッシュユニットとを有する第1の演算処理部と,
前記メモリへの書込命令を制御する第2の命令制御部と,第2のキャッシュメモリを有する第2のキャッシュユニットとを有する第2の演算処理部とを有し,
前記第1の演算処理部が,実行中の第1のトランザクション内での前記第1のキャッシュメモリへの書込要求時に,前記第2の演算処理部に無効化要求を送信し,
前記第2の演算処理部の前記第2のキャッシュユニットは,前記無効化要求に応答して,実行中の第2のトランザクションが前記書込要求先のキャッシュブロックについて競合する場合に,前記無効化要求に含まれる情報に基づいて前記第2のトランザクションをアボートするか否かを判定し,判定結果を前記第1の演算処理部に返信する演算処理装置。
付記1において,
前記無効化要求に含まれる情報は,前記第1の演算処理部が実行中のトランザクションの状態情報である演算処理装置。
付記1において,
前記無効化要求に含まれる情報は,前記第1のトランザクションの第1のアボート回数を有し,
前記第2のキャッシュユニットは,前記第2のトランザクションの第2のアボート回数が前記第1のアボート回数より少ない場合に,前記第2のトランザクションをアボートする判定結果を前記第1の演算処理部に返信する演算処理装置。
付記1において,
前記無効化要求に含まれる情報は,前記第1のトランザクションの第1の実行時間関連情報を有し,
前記第2のキャッシュユニットは,前記第2のトランザクションの第2の実行時間関連情報が前記第1の実行時間関連情報より短い場合に,前記第2のトランザクションをアボートする判定結果を前記第1の演算処理部に返信する演算処理装置。
付記4において,
前記実行時間関連情報は,トランザクションの実行開始からの経過時間である実行時間,前記実行開始からのクロックサイクル数,実行開始からの実行済み命令数のいずれかである演算処理装置。
付記1において,
前記判定結果が前記第2のトランザクションをアボートする場合は,前記第2の演算処理部は,前記第2のトランザクションをアボートし,前記第2のトランザクションで変更されたキャッシュメモリを無効化し,前記第1の演算処理部は,前記書込要求を実行し,
前記判定結果が前記第2のトランザクションをアボートしない場合は,前記第2の演算処理部は,前記第2のトランザクションの実行を継続し,前記第1の演算処理部は,前記第1のトランザクションをアボートし,前記第1のトランザクションで変更されたキャッシュメモリを無効化する演算処理装置。
付記1において,
実行中の第2のトランザクションが前記書込要求先のキャッシュブロックについて競合しない場合に,前記第2の演算処理部は,前記第2のトランザクションの実行を継続し,前記第1の演算処理部は,前記書込要求を実行する演算処理装置。
メモリへの書込命令を制御する第1の命令制御部と,第1のキャッシュメモリを有する第1のキャッシュユニットとを有する第1の演算処理装置と,
前記メモリへの書込命令を制御する第2の命令制御部と,第2のキャッシュメモリを有する第2のキャッシュユニットとを有する第2の演算処理装置と,
前記メモリへのアクセスを制御する第3の演算処理装置とを有し,
前記第1の演算処理装置が,実行中の第1のトランザクション内での前記第1のキャッシュメモリへの書込要求時に,前記第3の演算処理装置に書込要求を送信し,
前記第3の演算処理装置が,前記第2の演算処理装置に無効化要求を送信し,
前記第2の演算処理装置の前記第2のキャッシュユニットは,前記無効化要求に応答して,実行中の第2のトランザクションが前記書込要求先のキャッシュブロックについて競合する場合に,前記無効化要求に含まれる情報に基づいて前記第2のトランザクションをアボートするか否かを判定し,判定結果を前記第3の演算処理装置に返信する情報処理装置。
付記8において,
前記無効化要求に含まれる情報は,前記第1の演算処理装置の識別情報と,アクセス先メモリアドレスとを有し,
前記第2のキャッシュユニットは,前記第2の演算処理装置と前記第3の演算処理装置との信号伝搬時間が,前記第1の演算処理装置と前記第3の演算処理装置との信号伝搬時間より短い場合に,前記第2のトランザクションをアボートする判定結果を前記第1の演算処理装置に返信する演算処理装置。
トランザクション内のメモリへの書込命令を制御する命令制御部と,
キャッシュメモリを有するキャッシュユニットとを有し,
前記キャッシュユニットは,他の演算処理装置内のキャッシュメモリへの書込要求時に受信した無効化要求に応答して,実行中のトランザクションが前記書込要求先のキャッシュブロックについて競合する場合に,前記無効化要求に基づいて前記実行中のトランザクションをアボートするか否か判定し,判定結果を返信する演算処理装置。
メモリへの書込命令を制御する第1の命令制御部と,第1のキャッシュメモリを有する第1のキャッシュユニットとを有する第1の演算処理装置と,
前記メモリへの書込命令を制御する第2の命令制御部と,第2のキャッシュメモリを有する第2のキャッシュユニットとを有する第2の演算処理装置とを有し,
前記第1の演算処理装置が,実行中の第1のトランザクション内での前記第1のキャッシュメモリへの書込要求時に,前記第2の演算処理装置に無効化要求を送信し,
前記第2の演算処理装置の前記第2のキャッシュユニットは,前記無効化要求に応答して,実行中の第2のトランザクションが前記書込要求先のキャッシュブロックで競合する場合に,前記無効化要求に含まれる情報に基づいて前記第2のトランザクションをアボートするか否かを判定し,判定結果を前記第1の演算処理装置に返信する情報処理装置。
メモリへの書込命令を制御する第1の命令制御部と,第1のキャッシュメモリを有する第1のキャッシュユニットとを有する第1の演算処理部と,
前記メモリへの書込命令を制御する第2の命令制御部と,第2のキャッシュメモリを有する第2のキャッシュユニットとを有する第2の演算処理部とを有する演算処理装置の制御方法であって,
前記第1の演算処理部が,実行中の第1のトランザクション内での前記第1のキャッシュメモリへの書込要求時に,前記第2の演算処理部に無効化要求を送信する工程と,
前記第2の演算処理部の前記第2のキャッシュユニットが,前記無効化要求に応答して,実行中の第2のトランザクションが前記書込要求先のキャッシュブロックについて競合する場合に,前記無効化要求に含まれる情報に基づいて前記第2のトランザクションをアボートするか否かを判定し,判定結果を前記第1の演算処理部に返信する工程とを有する演算処理装置の制御方法。
メモリへの書込命令を制御する第1の命令制御部と,第1のキャッシュメモリを有する第1のキャッシュユニットとを有する第1の演算処理装置と,
前記メモリへの書込命令を制御する第2の命令制御部と,第2のキャッシュメモリを有する第2のキャッシュユニットとを有する第2の演算処理装置と,
前記メモリへのアクセスを制御する第3の演算処理装置とを有する情報処理装置の制御方法であって,
前記第1の演算処理装置が,実行中の第1のトランザクション内での前記第1のキャッシュメモリへの書込要求時に,前記第3の演算処理装置に書込要求を送信する工程と,
前記第3の演算処理装置が,前記第2の演算処理装置に無効化要求を送信する工程と,
前記第2の演算処理装置の前記第2のキャッシュユニットが,前記無効化要求に応答して,実行中の第2のトランザクションが前記書込要求先のキャッシュブロックについて競合する場合に,前記無効化要求に含まれる情報に基づいて前記第2のトランザクションをアボートするか否かを判定し,判定結果を前記第3の演算処理装置に返信する工程とを有する情報処理装置の制御方法。
CPU_1,CPU_2,CPU_3:演算処理部,CPUコア
11,13:命令制御部
12,14:キャッシュユニット
20:メモリ
Claims (10)
- メモリへの書込命令を制御する第1の命令制御部と,第1のキャッシュメモリを有する第1のキャッシュユニットとを有する第1の演算処理部と,
前記メモリへの書込命令を制御する第2の命令制御部と,第2のキャッシュメモリを有する第2のキャッシュユニットとを有する第2の演算処理部とを有し,
前記第1の演算処理部が,実行中の第1のトランザクション内での前記第1のキャッシュメモリへの書込要求時に,前記第2の演算処理部に無効化要求を送信し,前記無効化要求は書込要求先アドレスと所定の情報を有し,
前記第2の演算処理部の前記第2のキャッシュユニットは,前記無効化要求に応答して,実行中の第2のトランザクションが前記書込要求先アドレスのキャッシュブロックについて競合するか否かの第1の判定と,前記所定の情報に基づいて前記第2のトランザクションをアボートするか否かの第2の判定とを行い,前記第1の判定と第2の判定が共に真なら前記第2のトランザクションをアボートすると判定し,いずれかが偽なら前記第2のトランザクションをアボートしないと判定し,判定結果を前記第1の演算処理部に返信する演算処理装置。 - 請求項1において,
前記所定の情報は,前記第1のトランザクションの状態情報である演算処理装置。 - 請求項1において,
前記所定の情報は,前記第1のトランザクションの第1のアボート回数を有し,
前記第2のキャッシュユニットは,前記第2のトランザクションの第2のアボート回数が前記第1のアボート回数より少ない場合に,前記第2の判定を真と判定する演算処理装置。 - 請求項1において,
前記所定の情報は,前記第1のトランザクションの第1の実行時間関連情報を有し,
前記第2のキャッシュユニットは,前記第2のトランザクションの第2の実行時間関連情報が前記第1の実行時間関連情報より短い場合に,前記第2の判定を真と判定する演算処理装置。 - 請求項1において,
前記判定結果が前記第2のトランザクションをアボートする場合は,前記第2の演算処理部は,前記第2のトランザクションをアボートし,前記第2のトランザクションで変更されたキャッシュメモリを無効化し,前記第1の演算処理部は,前記書込要求を実行し,
前記判定結果が前記第2のトランザクションをアボートしない場合は,前記第2の演算処理部は,前記第2のトランザクションの実行を継続し,前記第1の演算処理部は,前記第1のトランザクションをアボートし,前記第1のトランザクションで変更されたキャッシュメモリを無効化する演算処理装置。 - メモリへの書込命令を制御する第1の命令制御部と,第1のキャッシュメモリを有する第1のキャッシュユニットとを有する第1の演算処理装置と,
前記メモリへの書込命令を制御する第2の命令制御部と,第2のキャッシュメモリを有する第2のキャッシュユニットとを有する第2の演算処理装置と,
前記メモリへのアクセスを行う第3の演算処理装置とを有し,
前記第1の演算処理装置が,実行中の第1のトランザクション内での前記メモリへの書込要求時に,前記第3の演算処理装置に書込要求を送信し,
前記第3の演算処理装置が,前記第2の演算処理装置に無効化要求を送信し,
前記第2の演算処理装置の前記第2のキャッシュユニットは,前記無効化要求に応答して,実行中の第2のトランザクションが前記書込要求の書込要求先のキャッシュブロックについて競合する場合,前記第2の演算処理装置と前記第3の演算処理装置との間の信号伝搬時間が,前記第1の演算処理装置と前記第3の演算処理装置との間の信号伝搬時間より短いか否か基づいて,前記第2のトランザクションをアボートするか否かを判定し,判定結果を前記第3の演算処理装置に返信する情報処理装置。 - 請求項6において,
前記無効化要求に含まれる情報は,前記第1の演算処理装置の識別情報と,アクセス先メモリアドレスとを有し,
前記第2のキャッシュユニットは,前記第2の演算処理装置と前記第3の演算処理装置との間の信号伝搬時間が,前記第1の演算処理装置と前記第3の演算処理装置との間の信号伝搬時間より短い場合に,前記第2のトランザクションをアボートする判定結果を前記第3の演算処理装置に返信する情報処理装置。 - トランザクション内のメモリへの書込命令を制御する命令制御部と,
キャッシュメモリを有するキャッシュユニットとを有し,
前記キャッシュユニットは,他の演算処理装置が実行中の他のトランザクション内でのキャッシュメモリへの書込要求時に送信した書込要求先アドレスと所定の情報を有する無効化要求の受信に応答して,実行中のトランザクションが前記書込要求先アドレスのキャッシュブロックについて競合するか否かの第1の判定と,前記所定の情報基づいて前記実行中のトランザクションをアボートするか否かの第2の判定とを行い,前記第1の判定と第2の判定が共に真なら前記実行中のトランザクションをアボートすると判定し,いずれかが偽なら前記実行中のトランザクションをアボートしないと判定し,判定結果を前記他の演算処理装置に返信する演算処理装置。 - メモリへの書込命令を制御する第1の命令制御部と,第1のキャッシュメモリを有する第1のキャッシュユニットとを有する第1の演算処理装置と,
前記メモリへの書込命令を制御する第2の命令制御部と,第2のキャッシュメモリを有する第2のキャッシュユニットとを有する第2の演算処理装置とを有し,
前記第1の演算処理装置が,実行中の第1のトランザクション内での前記第1のキャッシュメモリへの書込要求時に,前記第2の演算処理装置に無効化要求を送信し,前記無効化要求は書込要求先アドレスと所定の情報を有し,
前記第2の演算処理装置の前記第2のキャッシュユニットは,前記無効化要求に応答して,実行中の第2のトランザクションが前記書込要求先アドレスのキャッシュブロックで競合するか否かの第1の判定と,前記所定の情報に基づいて前記第2のトランザクションをアボートするか否かの第2の判定とを行い,前記第1の判定と第2の判定が共に真なら前記第2のトランザクションをアボートすると判定し,いずれかが偽なら前記第2のトランザクションをアボートしないと判定し,判定結果を前記第1の演算処理装置に返信する情報処理装置。 - メモリへの書込命令を制御する第1の命令制御部と,第1のキャッシュメモリを有する第1のキャッシュユニットとを有する第1の演算処理部と,
前記メモリへの書込命令を制御する第2の命令制御部と,第2のキャッシュメモリを有する第2のキャッシュユニットとを有する第2の演算処理部とを有する演算処理装置の制御方法であって,
前記第1の演算処理部が,実行中の第1のトランザクション内での前記第1のキャッシュメモリへの書込要求時に,前記第2の演算処理部に書込要求先アドレスと所定の情報を有する無効化要求を送信する工程と,
前記第2の演算処理部の前記第2のキャッシュユニットが,前記無効化要求に応答して,実行中の第2のトランザクションが前記書込要求先アドレスのキャッシュブロックについて競合するか否かの第1の判定と,前記所定の情報に基づいて前記第2のトランザクションをアボートするか否かの第2の判定とを行い,前記第1の判定と第2の判定が共に真なら前記第2のトランザクションをアボートすると判定し,いずれかが偽なら前記第2のトランザクションをアボートしないと判定し,判定結果を前記第1の演算処理部に返信する工程とを有する演算処理装置の制御方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014000251A JP6244916B2 (ja) | 2014-01-06 | 2014-01-06 | 演算処理装置,演算処理装置の制御方法及び情報処理装置 |
EP14200107.2A EP2891984B1 (en) | 2014-01-06 | 2014-12-23 | Transaction abort method in a multi-core CPU |
EP16184313.1A EP3131018B1 (en) | 2014-01-06 | 2014-12-23 | Transaction abort method in a multi-core cpu. |
US14/589,023 US9535839B2 (en) | 2014-01-06 | 2015-01-05 | Arithmetic processing device, method of controlling arithmetic processing device, and information processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014000251A JP6244916B2 (ja) | 2014-01-06 | 2014-01-06 | 演算処理装置,演算処理装置の制御方法及び情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015129996A JP2015129996A (ja) | 2015-07-16 |
JP6244916B2 true JP6244916B2 (ja) | 2017-12-13 |
Family
ID=52272919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014000251A Active JP6244916B2 (ja) | 2014-01-06 | 2014-01-06 | 演算処理装置,演算処理装置の制御方法及び情報処理装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9535839B2 (ja) |
EP (2) | EP3131018B1 (ja) |
JP (1) | JP6244916B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9430273B2 (en) * | 2014-02-27 | 2016-08-30 | International Business Machines Corporation | Suppressing aborting a transaction beyond a threshold execution duration based on the predicted duration |
US10929431B2 (en) * | 2015-08-28 | 2021-02-23 | Hewlett Packard Enterprise Development Lp | Collision handling during an asynchronous replication |
US9898202B2 (en) * | 2015-11-30 | 2018-02-20 | Samsung Electronics Co., Ltd. | Enhanced multi-streaming though statistical analysis |
US10101925B2 (en) * | 2015-12-23 | 2018-10-16 | Toshiba Memory Corporation | Data invalidation acceleration through approximation of valid data counts |
US11157307B2 (en) * | 2017-05-24 | 2021-10-26 | International Business Machines Corporation | Count and transaction identifier based transaction processing |
US10540316B2 (en) | 2017-12-28 | 2020-01-21 | Advanced Micro Devices, Inc. | Cancel and replay protocol scheme to improve ordered bandwidth |
JP7318203B2 (ja) * | 2018-12-12 | 2023-08-01 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1584036A4 (en) * | 2003-01-17 | 2008-06-18 | Tacit Networks Inc | METHOD AND SYSTEM FOR USING INTERMEDIATE STORAGE IN A DISTRIBUTED FILE SYSTEM |
US7856537B2 (en) | 2004-09-30 | 2010-12-21 | Intel Corporation | Hybrid hardware and software implementation of transactional memory access |
JP2006301825A (ja) * | 2005-04-19 | 2006-11-02 | Hitachi Ltd | アドレス競合時のスタベーション防止方法およびチップセットおよびマルチプロセッサシステム |
US8108631B2 (en) * | 2008-07-18 | 2012-01-31 | Oracle America, Inc. | Transactional memory support for non-coherent shared memory systems using selective write through caches |
US8776063B2 (en) * | 2008-11-26 | 2014-07-08 | Oracle America, Inc. | Method and system for hardware feedback in transactional memory |
US9785462B2 (en) | 2008-12-30 | 2017-10-10 | Intel Corporation | Registering a user-handler in hardware for transactional memory event handling |
US8645632B2 (en) * | 2009-02-04 | 2014-02-04 | Oracle America, Inc. | Speculative writestream transaction |
US8316194B2 (en) * | 2009-12-15 | 2012-11-20 | Intel Corporation | Mechanisms to accelerate transactions using buffered stores |
US9015419B2 (en) * | 2012-06-15 | 2015-04-21 | International Business Machines Corporation | Avoiding aborts due to associativity conflicts in a transactional environment |
US8914586B2 (en) * | 2012-07-31 | 2014-12-16 | Advanced Micro Devices, Inc. | TLB-walk controlled abort policy for hardware transactional memory |
US9298626B2 (en) * | 2013-09-26 | 2016-03-29 | Globalfoundries Inc. | Managing high-conflict cache lines in transactional memory computing environments |
-
2014
- 2014-01-06 JP JP2014000251A patent/JP6244916B2/ja active Active
- 2014-12-23 EP EP16184313.1A patent/EP3131018B1/en active Active
- 2014-12-23 EP EP14200107.2A patent/EP2891984B1/en active Active
-
2015
- 2015-01-05 US US14/589,023 patent/US9535839B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP2891984A3 (en) | 2015-11-25 |
EP2891984A2 (en) | 2015-07-08 |
US20150193346A1 (en) | 2015-07-09 |
EP3131018A1 (en) | 2017-02-15 |
US9535839B2 (en) | 2017-01-03 |
EP3131018B1 (en) | 2018-09-26 |
EP2891984B1 (en) | 2017-08-02 |
JP2015129996A (ja) | 2015-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6244916B2 (ja) | 演算処理装置,演算処理装置の制御方法及び情報処理装置 | |
US6141734A (en) | Method and apparatus for optimizing the performance of LDxL and STxC interlock instructions in the context of a write invalidate protocol | |
US9244725B2 (en) | Management of transactional memory access requests by a cache memory | |
US7958319B2 (en) | Hardware acceleration for a software transactional memory system | |
US7890725B2 (en) | Bufferless transactional memory with runahead execution | |
US9390026B2 (en) | Synchronizing access to data in shared memory | |
US8285937B2 (en) | Fused store exclusive/memory barrier operation | |
US20110219215A1 (en) | Atomicity: a multi-pronged approach | |
US7620954B2 (en) | Mechanism for handling load lock/store conditional primitives in directory-based distributed shared memory multiprocessors | |
US9798577B2 (en) | Transactional storage accesses supporting differing priority levels | |
US9367348B2 (en) | Protecting the footprint of memory transactions from victimization | |
US10169103B2 (en) | Managing speculative memory access requests in the presence of transactional storage accesses | |
US10031697B2 (en) | Random-access disjoint concurrent sparse writes to heterogeneous buffers | |
US20210306414A1 (en) | Circuitry and method | |
JP7281491B2 (ja) | トランザクショナル比較及び破棄命令 | |
CN101061462B (zh) | 多处理器系统以及其中的排他控制方法 | |
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 | |
KR20210021521A (ko) | 트랜잭션 메모리를 지원하는 장치에서의 로드 전용 명령 처리 | |
JP5828324B2 (ja) | マルチプロセッサシステム、マルチプロセッサ制御方法、及びプロセッサ | |
KR102476438B1 (ko) | 데이터 액세스의 원자 세트를 제공하는 장치 및 방법 | |
JP6493187B2 (ja) | 情報処理装置、演算処理装置および情報処理装置の制御方法 | |
Net et al. | 4 Multiprocessor Memory Systems | |
US20080091879A1 (en) | Method and structure for interruting L2 cache live-lock occurrences |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160905 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170428 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170516 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170718 |
|
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: 20171017 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171030 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6244916 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |