JP2012514254A - トランザクショナルメモリシステム内でのハードウェア属性のメモリモデル - Google Patents
トランザクショナルメモリシステム内でのハードウェア属性のメモリモデル Download PDFInfo
- Publication number
- JP2012514254A JP2012514254A JP2011543575A JP2011543575A JP2012514254A JP 2012514254 A JP2012514254 A JP 2012514254A JP 2011543575 A JP2011543575 A JP 2011543575A JP 2011543575 A JP2011543575 A JP 2011543575A JP 2012514254 A JP2012514254 A JP 2012514254A
- Authority
- JP
- Japan
- Prior art keywords
- attribute
- storage
- logic
- type
- data
- 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.)
- Granted
Links
- 230000015654 memory Effects 0.000 title claims abstract description 78
- 238000000034 method Methods 0.000 claims abstract description 176
- 230000008569 process Effects 0.000 claims abstract description 144
- 238000012544 monitoring process Methods 0.000 claims abstract description 112
- 238000012545 processing Methods 0.000 claims abstract description 56
- 238000012360 testing method Methods 0.000 claims abstract description 32
- 230000003139 buffering effect Effects 0.000 claims abstract description 27
- 238000012546 transfer Methods 0.000 claims abstract description 23
- 238000003860 storage Methods 0.000 claims description 93
- 239000000872 buffer Substances 0.000 claims description 40
- 239000012536 storage buffer Substances 0.000 claims description 33
- 230000002427 irreversible effect Effects 0.000 claims description 17
- 230000007717 exclusion Effects 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 6
- 230000000903 blocking effect Effects 0.000 claims description 3
- 235000019580 granularity Nutrition 0.000 description 12
- 238000010586 diagram Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000001693 membrane extraction with a sorbent interface Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 210000000352 storage cell Anatomy 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- 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 or look ahead
- G06F9/3824—Operand accessing
- G06F9/3834—Maintaining memory consistency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0715—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0721—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
- G06F11/0724—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/073—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3017—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is implementing multitasking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3471—Address tracing
-
- 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
-
- 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/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/885—Monitoring specific for caches
-
- 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 or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3838—Dependency mechanisms, e.g. register scoreboarding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【選択図】 図1
Description
Set_monitor[M]
R0=test_monitor[M]
R1=test_monitor[M]
1)R0=TRUEおよびR1=FALSEは許可
2)R0=FALSEおよびR1=TRUEは禁止
3)R0=TRUEおよびR1=TRUEは許可
4)R0=FALSEおよびR1=FALSEは許可
Claims (33)
- 不可逆性データに対応付けられる予定のキャッシュ素子を有するデータキャッシュメモリと、
前記キャッシュ素子に対応付けられている損失フィールドと、
前記データキャッシュメモリおよび前記損失フィールドに結合されており、前記不可逆性データが失われる予定であると判断される場合に、損失値を保持するように前記損失フィールドを更新する制御ロジックと
を備える装置。 - 前記キャッシュ素子は、キャッシュセットを含む請求項1に記載の装置。
- 前記キャッシュ素子に対応付けられている前記損失フィールドは、前記キャッシュセット用の前記データキャッシュメモリ内の損失ビットを有し、
前記損失値を保持するように前記損失フィールドを前記制御ロジックが更新することは、第1の論理値の前記損失ビットを前記制御ロジックが更新することを含む請求項2に記載の装置。 - 前記キャッシュ素子は、キャッシュセットのキャッシュエントリを含む請求項1に記載の装置。
- 前記キャッシュ素子に対応付けられている前記損失フィールドは、前記キャッシュセット用の前記データキャッシュメモリ内の複数のビットを有し、
前記複数のビットのうち1つのビットが前記キャッシュエントリに対応付けられる予定であり、
前記損失値を保持するように前記損失フィールドを前記制御ロジックが更新することは、前記複数のビットのうち前記1つのビットを前記制御ロジックが第1の論理値に更新することを含む請求項4に記載の装置。 - 前記不可逆性データに対応付けられる予定の前記キャッシュ素子は、前記キャッシュ素子に対応付けられている不可逆性のハードウェア属性を含む請求項1に記載の装置。
- 前記不可逆性のハードウェア属性は、バッファリングされているハードウェア属性、前記データキャッシュメモリに対応付けられている状態アレイに保持されているハードウェア属性、および、前記データキャッシュメモリにおいて不可逆性のメタデータとして保持されているハードウェア属性から成る群から選択されるハードウェア属性を含む請求項6に記載の装置。
- 前記不可逆性データが失われる予定であると判断される場合に、前記損失値を保持するように前記制御ロジックが前記損失フィールドを更新することは、前記制御ロジックが前記データ要素の少なくとも一部を強制排除の対象として選択する結果、前記キャッシュ素子に対応付けられている前記不可逆性データが失われることを含む請求項1に記載の装置。
- 前記制御ロジックはさらに、前記損失フィールドが前記損失値を保持している場合に、前記キャッシュ素子から読み出すための後続のロード処理のエラーを開始する請求項1に記載の装置。
- 属性に対応付けられているキャッシュ素子を有するキャッシュメモリと、
前記キャッシュメモリに結合されており、前記属性を更新する格納処理に対応付けられている格納バッファエントリを保持する格納バッファと、
前記格納バッファに対応付けられており、前記格納処理に応じて前記属性が更新されるまで、前記属性から読み出すための後続のロード処理をブロックする制御ロジックと
を備える装置。 - 前記キャッシュ素子は、前記キャッシュメモリのセット、前記キャッシュメモリのライン、および、前記キャッシュメモリのエントリから成る群から選択される請求項10に記載の装置。
- 前記属性に対応付けられている前記キャッシュ素子は、前記属性を保持しており前記キャッシュ素子に対応するコヒーレンシ状態エントリを有し、
前記属性は、読出監視、書込監視、および、バッファリング監視から成る群から選択されるハードウェア監視を含む請求項11に記載の装置。 - 前記属性は、読出監視属性を含み、
前記格納処理は、前記読出監視属性を更新するための読出監視属性設定命令を含む請求項10に記載の装置。 - 前記後続のロード処理は、前記読出監視属性を読み出す読出監視試験命令を含み、
前記読出監視試験命令は、プログラム順序で、前記読出監視属性設定命令の後に位置する請求項13に記載の装置。 - 一のキャッシュメモリの一のキャッシュ素子に対応付けられている複数のハードウェア属性と、
前記複数のハードウェア属性のうち少なくとも1つに対する格納処理と、前記複数のハードウェア属性のうち少なくとも1つに対する後続のロード処理との間に依存関係が存在するか否かを、少なくとも前記格納処理の第1の属性アクセスの種類および前記後続のロード処理の第2の属性アクセスの種類に基づいて判断するロジックと、
前記ロジックに結合されており、前記格納処理と前記後続のロード処理との間に前記依存関係が存在すると判断される場合に、前記格納処理の更新済み属性データを前記後続のロード処理に転送する転送ロジックと
を備える装置。 - 前記格納処理と、前記後続のロード処理との間に依存関係が存在するか否かを、少なくとも前記格納処理の前記第1の属性アクセスの種類および前記後続のロード処理の前記第2の属性アクセスの種類に基づいて判断する前記ロジックは、前記格納処理に対応付けられている前記第1の属性アクセスの種類を保持する格納バッファロジックと、前記格納バッファロジックに結合されており、少なくとも前記第1の属性アクセスの種類および前記第2の属性アクセスの種類を比較する依存関係ロジックとを有する請求項15に記載の装置。
- 前記第1の属性アクセスの種類および前記第2の属性アクセスの種類はそれぞれ別個に、読出監視アクセス、書込監視アクセス、および、バッファリングアクセスから選択される請求項16に記載の装置。
- 前記格納処理に対応付けられている前記第1の属性アクセスの種類を保持する前記格納バッファロジックは、前記第1の属性アクセスの種類が付加されている前記格納処理に対応付けられている格納アドレスを保持する格納アドレスバッファロジックを含み、
前記格納バッファロジックおよび前記転送ロジックに結合されている前記依存関係ロジックが少なくとも前記第1の属性アクセスの種類および前記第2の属性アクセスの種類を比較することは、前記依存関係ロジックが前記第1の属性アクセスの種類が付加されている前記格納アドレスと、前記第2の属性アクセスの種類が付加されている前記後続のロード処理に対応付けられているロードアドレスとを比較することを含む請求項16に記載の装置。 - 外部アクセス要求に応じて前記格納バッファロジックをスヌープするスヌープロジックをさらに備え、
前記転送ロジックは、前記外部アクセス要求が前記格納アドレスを参照している場合に、前記更新済み属性データを転送しない請求項18に記載の装置。 - 前記依存関係ロジックはさらに、前記第1の属性アクセスの種類が付加されている前記格納アドレスが前記第2の属性アクセスの種類が付加されている前記ロードアドレスに一致する場合に、前記格納処理と前記後続のロード処理との間に前記依存関係が存在すると判断する請求項18に記載の装置。
- 前記依存関係ロジックはさらに、前記第1の属性アクセスの種類が付加されている前記格納アドレスが、前記第2の属性アクセスの種類が付加されている前記ロードアドレスに一致しない場合に、前記格納処理と前記後続のロード処理との間に前記依存関係が存在しないと判断し、
前記転送ロジックは、前記依存関係ロジックが前記格納処理と前記後続のロード処理との間に前記依存関係が存在しないと判断する場合に、前記更新済みの属性データを転送しない請求項20に記載の装置。 - 前記格納処理と、前記後続のロード処理との間に前記依存関係が存在するか否かを、少なくとも前記格納処理の前記第1の属性アクセスの種類および前記後続のロード処理の前記第2の属性アクセスの種類に基づいて判断する前記ロジックは、前記格納処理に対応付けられている格納データバッファエントリにおける一の位置に前記更新済みの属性データを保持する格納データバッファロジックを有し、
前記格納データバッファエントリにおける前記一の位置は、前記第1の属性アクセスの種類を表している請求項15に記載の装置。 - 前記格納処理と、前記後続のロード処理との間に前記依存関係が存在するか否かを、少なくとも前記格納処理の前記第1の属性アクセスの種類および前記後続のロード処理の前記第2の属性アクセスの種類に基づいて判断する前記ロジックはさらに、前記格納データバッファおよび前記転送ロジックに結合されており、前記格納処理に対応付けられている格納アドレスが前記後続のロード処理に対応付けられているロードアドレスに一致し、且つ、前記格納データバッファエントリ内に保持されている前記更新済みのデータの前記一の位置に基づいて決まる前記第1の属性アクセスの種類が前記第2の属性アクセスの種類と同じである場合に、前記格納処理と前記後続のロード処理との間に前記依存関係が存在すると判断する依存関係ロジックを有する請求項22に記載の装置。
- 前記依存関係ロジックは、前記格納処理に対応付けられている前記格納アドレスが前記後続のロード処理に対応付けられている前記ロードアドレスに一致しない場合、または、前記格納データバッファエントリに保持されている前記更新済み属性データの前記一の位置に基づいて決まる前記第1の属性アクセスの種類が前記第2の属性アクセスの種類と同じである場合に、前記格納処理と前記後続のロード処理との間に前記依存関係が存在しないと判断し、
前記転送ロジックは、前記格納処理と前記後続のロード処理との間に前記依存関係が存在しないと前記依存関係ロジックが判断する場合に、前記更新済み属性データを転送しない請求項23に記載の装置。 - ハードウェア属性を読み出すための処理であり、属性の種類と対応付けられており、前記属性の種類のハードウェア属性に対応付けられているアドレスを参照するロード処理が発生する段階と、
先行するインフライトの格納処理が、前記属性の種類と対応付けられているか否か、および、前記ハードウェア属性に対応付けられている前記アドレスを参照しているか否かを判断する段階と、
前記先行するインフライトの格納処理が、前記属性の種類と対応付けられており、且つ、前記ハードウェア属性に対応付けられている前記アドレスを参照していると判断される場合に、依存関係処理を実行する段階と
を備える方法。 - 前記ロード処理は、ハードウェア属性試験処理を含み、
前記先行するインフライトの格納処理は、ハードウェア属性設定処理を含む請求項25に記載の方法。 - 前記属性の種類は、読出監視属性、書込監視属性、および、バッファリング属性から成る群から選択される請求項25に記載の方法。
- 前記先行するインフライトの格納処理が、前記属性の種類と対応付けられているか否か、および、前記ハードウェア属性に対応付けられている前記アドレスを参照しているか否かを判断する段階は、前記属性の種類が付加されている前記アドレスについて格納アドレスバッファを検索し、前記属性の種類が付加されている前記アドレスを保持している前記格納アドレスバッファの格納アドレスバッファエントリが発見される場合に、前記先行するインフライトの格納処理が前記属性の種類に対応付けられており、且つ、前記ハードウェア属性に対応付けられている前記アドレスを参照していると判断する段階を有する請求項25に記載の方法。
- 前記先行するインフライトの格納処理が、前記属性の種類と対応付けられているか否か、および、前記ハードウェア属性に対応付けられている前記アドレスを参照しているか否かを判断する段階は、
前記アドレスに対応付けられている格納バッファエントリを発見するべく格納バッファを検索する段階と、
前記アドレスに対応付けられている前記格納バッファエントリが発見される場合に、前記格納バッファの格納バッファエントリに保持されている前記ハードウェア属性に対応付けられている格納データの位置を特定する段階と、
前記格納バッファエントリに保持されている前記格納データの前記位置に基づき格納の属性の種類を特定する段階と、
前記格納の属性の種類が前記ロード処理に対応付けられている前記属性の種類と同じであると判断される場合に、前記先行するインフライトの格納処理が、前記属性の種類と対応付けられており、且つ、前記ハードウェア属性に対応付けられている前記アドレスを参照していると判断する段階と
を有する請求項25に記載の方法。 - 前記依存関係処理を実行する段階は、前記先行するインフライトの格納処理に対応付けられている格納データを転送する段階を有する請求項25に記載の方法。
- 前記依存関係処理を実行する段階は、前記先行するインフライトの格納処理によって前記ハードウェア属性が更新されるまで、前記ロード処理をブロックする段階を有する請求項25に記載の方法。
- 前記ハードウェア属性に対応付けられているキャッシュ位置の強制排除が発生した結果、前記ハードウェア属性が失われる場合に、前記ハードウェア属性に対応付けられている損失フィールドを損失値へと更新する段階をさらに備える請求項25に記載の方法。
- 前記ロード処理は、前記ハードウェア属性を読み出す前記ロード処理が発生し、前記損失フィールドが前記損失値を保持している場合に、エラーとなる請求項32に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/346,539 | 2008-12-30 | ||
US12/346,539 US8627014B2 (en) | 2008-12-30 | 2008-12-30 | Memory model for hardware attributes within a transactional memory system |
PCT/US2009/068114 WO2010077884A2 (en) | 2008-12-30 | 2009-12-15 | Memory model for hardware attributes within a transactional memory system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012514254A true JP2012514254A (ja) | 2012-06-21 |
JP5416223B2 JP5416223B2 (ja) | 2014-02-12 |
Family
ID=42286303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011543575A Expired - Fee Related JP5416223B2 (ja) | 2008-12-30 | 2009-12-15 | トランザクショナルメモリシステム内でのハードウェア属性のメモリモデル |
Country Status (6)
Country | Link |
---|---|
US (2) | US8627014B2 (ja) |
JP (1) | JP5416223B2 (ja) |
CN (1) | CN101814017B (ja) |
BR (1) | BRPI0920229A2 (ja) |
TW (1) | TWI461912B (ja) |
WO (1) | WO2010077884A2 (ja) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8627014B2 (en) | 2008-12-30 | 2014-01-07 | Intel Corporation | Memory model for hardware attributes within a transactional memory system |
US9785462B2 (en) | 2008-12-30 | 2017-10-10 | Intel Corporation | Registering a user-handler in hardware for transactional memory event handling |
US8812796B2 (en) * | 2009-06-26 | 2014-08-19 | Microsoft Corporation | Private memory regions and coherence optimizations |
US8489864B2 (en) * | 2009-06-26 | 2013-07-16 | Microsoft Corporation | Performing escape actions in transactions |
US8250331B2 (en) | 2009-06-26 | 2012-08-21 | Microsoft Corporation | Operating system virtual memory management for hardware transactional memory |
US20100332768A1 (en) * | 2009-06-26 | 2010-12-30 | Microsoft Corporation | Flexible read- and write-monitored and buffered memory blocks |
US8370577B2 (en) | 2009-06-26 | 2013-02-05 | Microsoft Corporation | Metaphysically addressed cache metadata |
US8356166B2 (en) * | 2009-06-26 | 2013-01-15 | Microsoft Corporation | Minimizing code duplication in an unbounded transactional memory system by using mode agnostic transactional read and write barriers |
US8229907B2 (en) * | 2009-06-30 | 2012-07-24 | Microsoft Corporation | Hardware accelerated transactional memory system with open nested transactions |
US8533440B2 (en) | 2009-12-15 | 2013-09-10 | Microsoft Corporation | Accelerating parallel transactions using cache resident transactions |
US8539465B2 (en) * | 2009-12-15 | 2013-09-17 | Microsoft Corporation | Accelerating unbounded memory transactions using nested cache resident transactions |
US9092253B2 (en) * | 2009-12-15 | 2015-07-28 | Microsoft Technology Licensing, Llc | Instrumentation of hardware assisted transactional memory system |
US8402218B2 (en) | 2009-12-15 | 2013-03-19 | Microsoft Corporation | Efficient garbage collection and exception handling in a hardware accelerated transactional memory system |
US20120059971A1 (en) * | 2010-09-07 | 2012-03-08 | David Kaplan | Method and apparatus for handling critical blocking of store-to-load forwarding |
US9104690B2 (en) | 2011-01-27 | 2015-08-11 | Micron Technology, Inc. | Transactional memory |
US20140013083A1 (en) * | 2011-12-30 | 2014-01-09 | Ashish Jha | Cache coprocessing unit |
EP2831721B1 (en) | 2012-03-30 | 2020-08-26 | Intel Corporation | Context switching mechanism for a processing core having a general purpose cpu core and a tightly coupled accelerator |
US10120809B2 (en) * | 2015-09-26 | 2018-11-06 | Intel Corporation | Method, apparatus, and system for allocating cache using traffic class |
TWI587218B (zh) | 2016-09-10 | 2017-06-11 | 財團法人工業技術研究院 | 記憶體事務層級模型模擬方法及系統 |
US10620971B2 (en) | 2017-02-22 | 2020-04-14 | International Business Machines Corporation | Accelerating reference count processing in object deletion |
CN110647663B (zh) * | 2019-09-09 | 2021-12-17 | 中国人民解放军国防科技大学 | 面向最短路径问题的图结点属性存储器实现方法和装置 |
CN111047187B (zh) * | 2019-12-12 | 2023-10-17 | 浙江大搜车软件技术有限公司 | 信息匹配处理方法、装置、计算机设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004005710A (ja) * | 2003-06-23 | 2004-01-08 | Hitachi Ltd | 情報処置装置 |
WO2007015925A1 (en) * | 2005-08-01 | 2007-02-08 | Sun Microsystems, Inc. | Avoiding locks by transactionally executing critical sections |
WO2007115003A1 (en) * | 2006-03-30 | 2007-10-11 | Intel Corporation | Transactional memory in out-of-order processors |
WO2008005687A2 (en) * | 2006-06-30 | 2008-01-10 | Intel Corporation | Global overflow method for virtualized transactional memory |
WO2008155827A1 (ja) * | 2007-06-20 | 2008-12-24 | Fujitsu Limited | キャッシュ制御装置及び制御方法 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8728494D0 (en) | 1987-12-05 | 1988-01-13 | Int Computers Ltd | Multi-cache data storage system |
JP2651037B2 (ja) | 1990-04-23 | 1997-09-10 | 株式会社日立製作所 | アドレスバス制御装置 |
US6216200B1 (en) * | 1994-10-14 | 2001-04-10 | Mips Technologies, Inc. | Address queue |
US6192452B1 (en) * | 1999-02-26 | 2001-02-20 | International Business Machines Corporation | Method and system for avoiding data loss due to cancelled transactions within a non-uniform memory access system |
US6549996B1 (en) | 1999-07-02 | 2003-04-15 | Oracle Corporation | Scalable multiple address space server |
US6490668B2 (en) | 2000-12-15 | 2002-12-03 | Hewlett-Packard Company | System and method for dynamically moving checksums to different memory locations |
US7035963B2 (en) | 2000-12-27 | 2006-04-25 | Intel Corporation | Method for resolving address space conflicts between a virtual machine monitor and a guest operating system |
US7565687B2 (en) * | 2002-02-08 | 2009-07-21 | International Business Machines Corporation | Transmission control system, server, terminal station, transmission control method, program and storage medium |
FR2859307A1 (fr) | 2003-08-27 | 2005-03-04 | St Microelectronics Sa | Memoire cache a lecture asynchrone et dispositif de controle de l'acces a une memoire de donnees comprenant une telle memoire cache |
US20050091459A1 (en) | 2003-10-23 | 2005-04-28 | Nhon Quach | Flexible mechanism for enforcing coherency among caching structures |
US7237131B2 (en) * | 2003-12-30 | 2007-06-26 | Intel Corporation | Transaction-based power management in a computer system |
US7177987B2 (en) | 2004-01-20 | 2007-02-13 | Hewlett-Packard Development Company, L.P. | System and method for responses between different cache coherency protocols |
US7395374B2 (en) | 2004-01-20 | 2008-07-01 | Hewlett-Packard Company, L.P. | System and method for conflict responses in a cache coherency protocol with ordering point migration |
ATE385646T1 (de) * | 2004-04-14 | 2008-02-15 | Telecom Italia Spa | Eine methode und ein system zur bedienung der zustellung eines inhalts in computernetzen |
US7644239B2 (en) | 2004-05-03 | 2010-01-05 | Microsoft Corporation | Non-volatile memory cache performance improvement |
JP4431022B2 (ja) | 2004-10-18 | 2010-03-10 | 株式会社日立製作所 | コンピュータシステム及びその制御方法 |
US7490199B2 (en) * | 2005-05-09 | 2009-02-10 | Noam Camiel | System and method for safe removal of a removable device from a digital appliance |
US8180967B2 (en) | 2006-03-30 | 2012-05-15 | Intel Corporation | Transactional memory virtualization |
TWI317065B (en) * | 2006-08-11 | 2009-11-11 | Shiwu Lo | Method of accessing cache memory for parallel processing processors |
US7783805B2 (en) * | 2006-11-29 | 2010-08-24 | Cisco Technology, Inc. | Interlocking input/outputs on a virtual logic unit number |
US7937535B2 (en) | 2007-02-22 | 2011-05-03 | Arm Limited | Managing cache coherency in a data processing apparatus |
US7917701B2 (en) * | 2007-03-12 | 2011-03-29 | Arm Limited | Cache circuitry, data processing apparatus and method for prefetching data by selecting one of a first prefetch linefill operation and a second prefetch linefill operation |
US8751859B2 (en) | 2007-05-10 | 2014-06-10 | International Business Machines Corporation | Monitoring lost data in a storage system |
US8195832B2 (en) | 2007-12-12 | 2012-06-05 | Alcatel Lucent | Facilitating management of layer 2 hardware address table based on packet priority information |
US8078807B2 (en) * | 2007-12-27 | 2011-12-13 | Intel Corporation | Accelerating software lookups by using buffered or ephemeral stores |
US8627014B2 (en) | 2008-12-30 | 2014-01-07 | Intel Corporation | Memory model for hardware attributes within a transactional memory system |
-
2008
- 2008-12-30 US US12/346,539 patent/US8627014B2/en not_active Expired - Fee Related
-
2009
- 2009-12-15 JP JP2011543575A patent/JP5416223B2/ja not_active Expired - Fee Related
- 2009-12-15 WO PCT/US2009/068114 patent/WO2010077884A2/en active Application Filing
- 2009-12-15 BR BRPI0920229A patent/BRPI0920229A2/pt not_active Application Discontinuation
- 2009-12-17 TW TW098143379A patent/TWI461912B/zh not_active IP Right Cessation
- 2009-12-28 CN CN200910216935.2A patent/CN101814017B/zh not_active Expired - Fee Related
-
2012
- 2012-01-26 US US13/359,238 patent/US8769212B2/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004005710A (ja) * | 2003-06-23 | 2004-01-08 | Hitachi Ltd | 情報処置装置 |
WO2007015925A1 (en) * | 2005-08-01 | 2007-02-08 | Sun Microsystems, Inc. | Avoiding locks by transactionally executing critical sections |
WO2007115003A1 (en) * | 2006-03-30 | 2007-10-11 | Intel Corporation | Transactional memory in out-of-order processors |
WO2008005687A2 (en) * | 2006-06-30 | 2008-01-10 | Intel Corporation | Global overflow method for virtualized transactional memory |
JP2009537053A (ja) * | 2006-06-30 | 2009-10-22 | インテル・コーポレーション | 仮想化されたトランザクショナルメモリのグローバルオーバーフロー方法 |
WO2008155827A1 (ja) * | 2007-06-20 | 2008-12-24 | Fujitsu Limited | キャッシュ制御装置及び制御方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101814017A (zh) | 2010-08-25 |
WO2010077884A2 (en) | 2010-07-08 |
US20120159079A1 (en) | 2012-06-21 |
US20100169580A1 (en) | 2010-07-01 |
US8769212B2 (en) | 2014-07-01 |
US8627014B2 (en) | 2014-01-07 |
BRPI0920229A2 (pt) | 2015-12-29 |
CN101814017B (zh) | 2015-02-11 |
JP5416223B2 (ja) | 2014-02-12 |
TWI461912B (zh) | 2014-11-21 |
WO2010077884A3 (en) | 2010-09-30 |
TW201037517A (en) | 2010-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5416223B2 (ja) | トランザクショナルメモリシステム内でのハードウェア属性のメモリモデル | |
JP6342970B2 (ja) | トランザクショナルメモリ(tm)システムにおける読み出し及び書き込み監視属性 | |
JP5860450B2 (ja) | ローカルにバッファリングされたデータをサポートするためのキャッシュコヒーレンスプロトコルの拡張 | |
JP5944417B2 (ja) | トランザクショナル・メモリ・イベントの処理のためのハードウェアにおけるユーザハンドラの登録 | |
US8612950B2 (en) | Dynamic optimization for removal of strong atomicity barriers | |
JP5608738B2 (ja) | 無制限トランザクショナルメモリ(utm)システムの最適化 | |
US8195898B2 (en) | Hybrid transactions for low-overhead speculative parallelization | |
US20100122073A1 (en) | Handling exceptions in software transactional memory systems | |
JP6023765B2 (ja) | 無制限トランザクショナルメモリ(utm)システムの最適化 | |
JP6318440B2 (ja) | 無制限トランザクショナルメモリ(utm)システムの最適化 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130206 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130226 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130524 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130531 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130625 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130702 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130725 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130801 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130826 |
|
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: 20130917 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20131016 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20131021 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131114 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5416223 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |