JP4764360B2 - メモリ属性を用いるための技術 - Google Patents
メモリ属性を用いるための技術 Download PDFInfo
- Publication number
- JP4764360B2 JP4764360B2 JP2007028172A JP2007028172A JP4764360B2 JP 4764360 B2 JP4764360 B2 JP 4764360B2 JP 2007028172 A JP2007028172 A JP 2007028172A JP 2007028172 A JP2007028172 A JP 2007028172A JP 4764360 B2 JP4764360 B2 JP 4764360B2
- Authority
- JP
- Japan
- Prior art keywords
- attribute
- cache line
- processor
- instruction
- memory
- 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 84
- 238000000034 method Methods 0.000 title claims description 10
- 230000004044 response Effects 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 2
- 238000013459 approach Methods 0.000 description 5
- 238000001693 membrane extraction with a sorbent interface Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
-
- 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
-
- 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/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- 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/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/145—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- 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/0817—Cache consistency protocols using directory methods
-
- 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
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
Claims (33)
- マルチソフトウェアスレッドを有するプログラムの唯一のソフトウェアスレッドに対応する一連の関連属性を有し、ロード・セット命令およびロード・チェック命令によりアクセスされるメモリブロックを含み、
前記ロード・セット命令に応じて、メモリブロックから情報をロードし、かつ、前記関連属性をセットし、
前記ロード・チェック命令に応じて、メモリブロックから情報をロードし、かつ、前記関連属性をチェックし、チェックされた前記関連属性に基づいて所定のイベントを実行する、
装置。 - 前記メモリブロックは、キャッシュメモリ内のキャッシュラインに関連付けられる、請求項1に記載の装置。
- 前記キャッシュメモリは、前記一連の関連属性をストアするための、属性ビット格納領域の格納領域を含む、請求項2に記載の装置。
- 前記属性ビット格納領域は、唯一のキャッシュラインに関連する少なくとも一つのビット格納サブ領域を有する、請求項3に記載の装置。
- 前記一連の関連属性は、前記唯一のキャッシュラインが前記マルチソフトウェアスレッドに対応することを示す情報を含む、請求項4に記載の装置。
- 前記キャッシュメモリの各キャッシュラインは属性ビットに関連する、請求項2から5のいずれかに記載の装置。
- 前記キャッシュメモリはデータキャッシュである、請求項2から6のいずれかに記載の装置。
- 前記キャッシュメモリは、データおよび命令をストアするための統合キャッシュである、請求項2から6のいずれかに記載の装置。
- ストア・セット命令に応じて、メモリブロックに情報をストアし、かつ、前記関連属性をセットし、
ストア・チェック命令に応じて、メモリブロックに情報をストアし、かつ、前記関連属性をチェックし、チェックされた前記関連属性に基づいて所定のイベントを実行する、
請求項1から8のいずれかに記載の装置。 - 予想外のメモリ状態が検出された場合に所定のイベントを実行する請求項1から9のいずれかに記載の装置。
- マルチスレッドプログラムの唯一のソフトウェアスレッドに対応する属性ビットを有するキャッシュラインを含むコンピュータシステムにより実行されるプログラムであって、
当該プログラムは、前記コンピュータシステムにより、
前記コンピュータシステムのプロセッサが、ロード・セット命令に応じて、キャッシュラインから情報をロードし、かつ、関連する属性ビットをセットすることと、
前記プロセッサが、ロード・チェック命令に応じて、キャッシュラインから情報をロードし、かつ、関連する前記属性ビットを読み取ることと、
前記プロセッサが、前記属性ビットの値を決定することと、
前記プロセッサが、前記属性ビットの前記値を決定することに応答して軽量イールドイベントを実行することと、
を実行させるプログラム。 - 前記属性ビットの前記値を決定することは、前記プロセッサが、前記プロセッサ内のアーキテクチャシナリオを実行することを含む、請求項11に記載のプログラム。
- 前記プロセッサは、一つの命令を実行した結果として前記属性ビットをチェックする、請求項11または12に記載のプログラム。
- 当該プログラムは、前記コンピュータシステムにより、
前記プロセッサが、ストア・セット命令に応じて、キャッシュラインに情報をストアし、かつ、関連する前記属性ビットをセットすることと、
前記プロセッサが、ストア・チェック命令に応じて、キャッシュラインに情報をストアし、かつ、関連する前記属性ビットを読み取ることと、
を更に実行させる請求項11から13のいずれかに記載のプログラム。 - 前記シナリオは、前記プロセッサが、前記キャッシュメモリが予想外の状態にあるか否かを決定する、請求項12に記載のプログラム。
- ロード・セット命令およびロード・チェック命令をストアするメモリと、
前記ロード・セット命令および前記ロード・チェック命令の少なくとも一つをフェッチする少なくとも一つのプロセッシングコアを有する少なくとも一つのプロセッサと、
を含み、
前記ロード・セット命令は、キャッシュラインから情報をロードし、かつ、関連する属性ビットをセットし、
前記ロード・チェック命令は、キャッシュラインから情報をロードし、かつ、関連する属性ビットをチェックし、チェックされた属性に基づいて所定のイベントを実行する、
システム。 - 少なくとも一つのプロセッサは、前記属性ビットをチェックすることに応答してシナリオを実行するロジックを含む、請求項16に記載のシステム。
- 前記キャッシュラインが予想外の状態にあることを前記属性が示す場合、前記シナリオは軽量イールドイベントを発生させる、請求項17に記載のシステム。
- 前記軽量イールドイベントが発生する場合、前記予想外の状態が検出されることに応答してハンドラルーチンが呼び出される、請求項18に記載のシステム。
- 前記ロード・セット命令および前記ロード・チェック命令は、マルチソフトウェアスレッドを含むプログラムの唯一のソフトウェアスレッドに関連付けられる、請求項16から19のいずれかに記載のシステム。
- 前記属性ビットは、前記キャッシュラインに関連する複数の属性ビットの一つである、請求項16から20のいずれかに記載のシステム。
- 前記複数の属性ビットはユーザ定義である、請求項21に記載のシステム。
- 前記メモリは、ストア・セット命令およびストア・チェック命令を更にストアし、
前記少なくとも一つのプロセッサは、前記ストア・セット命令および前記ストア・チェック命令の少なくとも一つをフェッチする前記少なくとも一つのプロセッシングコアを有し、
前記ストア・セット命令は、キャッシュラインに情報をストアし、かつ、関連する前記属性ビットをセットし、
前記ストア・チェック命令は、キャッシュラインに情報をストアし、かつ、関連する前記属性ビットをチェックし、チェックされた前記属性ビットに基づいて所定のイベントを実行する、
請求項16から22のいずれかに記載のシステム。 - キャッシュラインに関連する複数の属性ビットをセットするための第一命令と、前記複数の属性ビットをチェックするための第二命令と、をフェッチするためのフェッチユニットと、
前記複数の属性ビットをチェックすることに応答してシナリオを実行するためのロジックと、を含み、
前記第一命令および第二命令は、前記キャッシュラインから情報をロードまたはストアするためのオペレーションを含む、
プロセッサ。 - 複数のプロセッシングコアをさらに有し、各々は複数のソフトウェアスレッドを実行することができる、請求項24に記載のプロセッサ。
- 対応する前記キャッシュラインが予想外の状態にあることを前記複数の属性ビットが示す場合、前記シナリオを実行するための前記ロジックはハンドラルーチンを実行する、請求項24または25に記載のプロセッサ。
- 前記キャッシュラインは、変更状態、排他状態、共有状態および無効状態からなる複数の状態の一つにある、請求項26に記載のプロセッサ。
- 前記キャッシュラインが含まれるキャッシュメモリをさらに含む、請求項24から27のいずれかに記載のプロセッサ。
- コンピュータシステムのプロセッサが、ロード・セット命令に応じて、キャッシュラインから情報をロードし、かつ、関連する属性ビットをセットすることと、
前記プロセッサが、ロード・チェック命令に応じて、キャッシュラインから情報をロードし、かつ、キャッシュラインに関連する属性ビットを読み取ることと、
前記プロセッサが、前記属性ビットの値を決定することと、を含み、
前記属性ビットは、性能モニタリングツールおよびデバッギングツールからなるグループから選択されるツールによる分析を目的として、前記キャッシュラインへの以前のリファレンスをプログラムが記録したか否かを示す方法。 - 前記キャッシュラインは、マルチスレッドプログラムのソフトウェアスレッドに対応する、請求項29に記載の方法。
- 前記プロセッサが、前記属性ビットの前記値を決定することに応答して軽量イールドイベントを実行することをさらに含む、請求項29または30に記載の方法。
- 前記属性ビットの前記値を決定することは、前記プロセッサが、プロセッサ内のアーキテクチャシナリオを実行することを含む、請求項29から31のいずれかに記載の方法。
- 前記プログラムは計装プログラムである、請求項29から32のいずれかに記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/349,661 US7991965B2 (en) | 2006-02-07 | 2006-02-07 | Technique for using memory attributes |
US11/349,661 | 2006-02-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007242003A JP2007242003A (ja) | 2007-09-20 |
JP4764360B2 true JP4764360B2 (ja) | 2011-08-31 |
Family
ID=37898905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007028172A Active JP4764360B2 (ja) | 2006-02-07 | 2007-02-07 | メモリ属性を用いるための技術 |
Country Status (7)
Country | Link |
---|---|
US (3) | US7991965B2 (ja) |
JP (1) | JP4764360B2 (ja) |
KR (1) | KR100933820B1 (ja) |
CN (2) | CN101916231B (ja) |
DE (1) | DE102007006190B4 (ja) |
GB (2) | GB2451003B (ja) |
TW (1) | TWI335512B (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7991965B2 (en) | 2006-02-07 | 2011-08-02 | Intel Corporation | Technique for using memory attributes |
US7610448B2 (en) | 2006-12-27 | 2009-10-27 | Intel Corporation | Obscuring memory access patterns |
US8185698B2 (en) * | 2007-04-09 | 2012-05-22 | Bratin Saha | Hardware acceleration of a write-buffering software transactional memory |
US8806101B2 (en) * | 2008-12-30 | 2014-08-12 | Intel Corporation | Metaphysical address space for holding lossy metadata in hardware |
DE112009005006T5 (de) * | 2009-06-26 | 2013-01-10 | Intel Corporation | Optimierungen für ein ungebundenes transaktionales Speichersystem (UTM) |
US20120239887A1 (en) * | 2011-03-16 | 2012-09-20 | Advanced Micro Devices, Inc. | Method and apparatus for memory control |
US9495305B1 (en) | 2012-11-02 | 2016-11-15 | David Fuchs | Detecting pointer errors for memory protection |
US9361103B2 (en) * | 2012-11-02 | 2016-06-07 | Advanced Micro Devices, Inc. | Store replay policy |
GB2517453B (en) * | 2013-08-20 | 2017-12-20 | Imagination Tech Ltd | Improved use of memory resources |
WO2015180068A1 (zh) * | 2014-05-28 | 2015-12-03 | 华为技术有限公司 | 一种实现虚拟化网管的方法、装置及系统 |
US10031834B2 (en) | 2016-08-31 | 2018-07-24 | Microsoft Technology Licensing, Llc | Cache-based tracing for time travel debugging and analysis |
US10042737B2 (en) | 2016-08-31 | 2018-08-07 | Microsoft Technology Licensing, Llc | Program tracing for time travel debugging and analysis |
US10310963B2 (en) * | 2016-10-20 | 2019-06-04 | Microsoft Technology Licensing, Llc | Facilitating recording a trace file of code execution using index bits in a processor cache |
US10489273B2 (en) * | 2016-10-20 | 2019-11-26 | Microsoft Technology Licensing, Llc | Reuse of a related thread's cache while recording a trace file of code execution |
US10310977B2 (en) | 2016-10-20 | 2019-06-04 | Microsoft Technology Licensing, Llc | Facilitating recording a trace file of code execution using a processor cache |
US10324851B2 (en) | 2016-10-20 | 2019-06-18 | Microsoft Technology Licensing, Llc | Facilitating recording a trace file of code execution using way-locking in a set-associative processor cache |
US10540250B2 (en) | 2016-11-11 | 2020-01-21 | Microsoft Technology Licensing, Llc | Reducing storage requirements for storing memory addresses and values |
US10318332B2 (en) | 2017-04-01 | 2019-06-11 | Microsoft Technology Licensing, Llc | Virtual machine execution tracing |
US10296442B2 (en) | 2017-06-29 | 2019-05-21 | Microsoft Technology Licensing, Llc | Distributed time-travel trace recording and replay |
US11119914B2 (en) * | 2019-11-15 | 2021-09-14 | Micron Technology, Inc. | Method of operating a memory with dynamically changeable attributes |
Family Cites Families (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2573255B2 (ja) * | 1987-09-30 | 1997-01-22 | 株式会社東芝 | データキャッシュ制御方式 |
JPH01125638A (ja) * | 1987-11-11 | 1989-05-18 | Matsushita Electric Ind Co Ltd | キャッシュメモリ装置 |
JPH0210448A (ja) * | 1988-06-28 | 1990-01-16 | Hitachi Ltd | キャッシュメモリシステム |
JPH03193684A (ja) | 1989-12-20 | 1991-08-23 | Kobe Steel Ltd | 炭素又は炭素複合材料の製造方法 |
US5428761A (en) * | 1992-03-12 | 1995-06-27 | Digital Equipment Corporation | System for achieving atomic non-sequential multi-word operations in shared memory |
KR940015822A (ko) | 1992-12-30 | 1994-07-21 | 양승택 | 다중 프로세서 시스템에서 메모리 모듈의 상태변화 시험방법 |
US6461696B1 (en) | 1993-11-16 | 2002-10-08 | Baxter International Inc. | Multi-layered polymer based moisture barrier structure for medical grade products |
JP3266470B2 (ja) * | 1994-10-03 | 2002-03-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 強制順序で行う要求毎ライト・スルー・キャッシュを有するデータ処理システム |
US5761536A (en) * | 1996-08-21 | 1998-06-02 | International Business Machines Corporation | System and method for reducing memory fragmentation by assigning remainders to share memory blocks on a best fit basis |
US5974438A (en) * | 1996-12-31 | 1999-10-26 | Compaq Computer Corporation | Scoreboard for cached multi-thread processes |
US5909698A (en) * | 1997-03-17 | 1999-06-01 | International Business Machines Corporation | Cache block store instruction operations where cache coherency is achieved without writing all the way back to main memory |
US5974507A (en) * | 1997-04-14 | 1999-10-26 | International Business Machines Corporation | Optimizing a cache eviction mechanism by selectively introducing different levels of randomness into a replacement algorithm |
US6412056B1 (en) * | 1997-10-01 | 2002-06-25 | Compac Information Technologies Group, Lp | Extended translation lookaside buffer with fine-grain state bits |
US6189112B1 (en) * | 1998-04-30 | 2001-02-13 | International Business Machines Corporation | Transparent processor sparing |
US6332181B1 (en) * | 1998-05-04 | 2001-12-18 | International Business Machines Corporation | Recovery mechanism for L1 data cache parity errors |
JP3331592B2 (ja) * | 1998-05-22 | 2002-10-07 | 日本電気株式会社 | キャッシュメモリ |
US6430657B1 (en) * | 1998-10-12 | 2002-08-06 | Institute For The Development Of Emerging Architecture L.L.C. | Computer system that provides atomicity by using a tlb to indicate whether an exportable instruction should be executed using cache coherency or by exporting the exportable instruction, and emulates instructions specifying a bus lock |
US6366946B1 (en) * | 1998-12-16 | 2002-04-02 | Microsoft Corporation | Critical code processing management |
US6636950B1 (en) * | 1998-12-17 | 2003-10-21 | Massachusetts Institute Of Technology | Computer architecture for shared memory access |
US6496909B1 (en) * | 1999-04-06 | 2002-12-17 | Silicon Graphics, Inc. | Method for managing concurrent access to virtual memory data structures |
JP3607540B2 (ja) * | 1999-08-18 | 2005-01-05 | エヌイーシーシステムテクノロジー株式会社 | プログラム単位メモリアクセス属性管理方式 |
JP3813393B2 (ja) * | 1999-10-01 | 2006-08-23 | 富士通株式会社 | キャッシュメモリの制御方法及び情報処理装置 |
JP3611295B2 (ja) * | 2000-03-09 | 2005-01-19 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンピュータシステム、メモリ管理方法及び記憶媒体 |
EP1139222A1 (en) * | 2000-03-31 | 2001-10-04 | Texas Instruments Incorporated | Prefetch for TLB cache |
US6748496B1 (en) * | 2000-04-18 | 2004-06-08 | Ati International Srl | Method and apparatus for providing cacheable data to a peripheral device |
US6748501B2 (en) * | 2000-12-30 | 2004-06-08 | International Business Machines Corporation | Microprocessor reservation mechanism for a hashed address system |
US6704840B2 (en) * | 2001-06-19 | 2004-03-09 | Intel Corporation | Computer system and method of computer initialization with caching of option BIOS |
JP2003006046A (ja) | 2001-06-25 | 2003-01-10 | Sanyo Electric Co Ltd | メモリプロテクション方法および回路 |
US6898694B2 (en) * | 2001-06-28 | 2005-05-24 | Intel Corporation | High instruction fetch bandwidth in multithread processor using temporary instruction cache to deliver portion of cache line in subsequent clock cycle |
JP4434534B2 (ja) * | 2001-09-27 | 2010-03-17 | 株式会社東芝 | プロセッサ・システム |
JP4226816B2 (ja) * | 2001-09-28 | 2009-02-18 | 株式会社東芝 | マイクロプロセッサ |
US7120762B2 (en) * | 2001-10-19 | 2006-10-10 | Wisconsin Alumni Research Foundation | Concurrent execution of critical sections by eliding ownership of locks |
US6854039B1 (en) * | 2001-12-05 | 2005-02-08 | Advanced Micro Devices, Inc. | Memory management system and method providing increased memory access security |
AU2002217653A1 (en) | 2001-12-12 | 2003-07-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Collision handling apparatus and method |
JP2003223360A (ja) * | 2002-01-29 | 2003-08-08 | Hitachi Ltd | キャッシュメモリシステムおよびマイクロプロセッサ |
US6859868B2 (en) * | 2002-02-07 | 2005-02-22 | Sun Microsystems, Inc. | Object addressed memory hierarchy |
JP3866597B2 (ja) * | 2002-03-20 | 2007-01-10 | 株式会社東芝 | 内部メモリ型耐タンパプロセッサおよび秘密保護方法 |
US6862664B2 (en) * | 2003-02-13 | 2005-03-01 | Sun Microsystems, Inc. | Method and apparatus for avoiding locks by speculatively executing critical sections |
DE10309919B4 (de) | 2003-03-07 | 2008-09-25 | Qimonda Ag | Pufferbaustein und Speichermodule |
US7089373B2 (en) * | 2003-06-12 | 2006-08-08 | International Business Machines Corporation | Shadow register to enhance lock acquisition |
US7493618B2 (en) * | 2003-09-19 | 2009-02-17 | International Business Machines Corporation | Fault tolerant mutual exclusion locks for shared memory systems |
US20050138306A1 (en) * | 2003-12-19 | 2005-06-23 | Panchbudhe Ankur P. | Performance of operations on selected data in a storage area |
US7174428B2 (en) * | 2003-12-29 | 2007-02-06 | Intel Corporation | Method and system for transforming memory location references in instructions |
US7562361B2 (en) * | 2004-02-26 | 2009-07-14 | Microsoft Corporation | Thread-based limitation on computer application |
KR100620609B1 (ko) * | 2004-04-07 | 2006-09-13 | 한국해양연구원 | 저층수인양장치 |
US7594234B1 (en) * | 2004-06-04 | 2009-09-22 | Sun Microsystems, Inc. | Adaptive spin-then-block mutual exclusion in multi-threaded processing |
US20070124546A1 (en) * | 2005-11-29 | 2007-05-31 | Anton Blanchard | Automatic yielding on lock contention for a multi-threaded processor |
US7616218B1 (en) | 2005-12-05 | 2009-11-10 | Nvidia Corporation | Apparatus, system, and method for clipping graphics primitives |
US7987452B2 (en) * | 2005-12-15 | 2011-07-26 | International Business Machines Corporation | Profile-driven lock handling |
US7991965B2 (en) | 2006-02-07 | 2011-08-02 | Intel Corporation | Technique for using memory attributes |
-
2006
- 2006-02-07 US US11/349,661 patent/US7991965B2/en active Active
-
2007
- 2007-02-07 JP JP2007028172A patent/JP4764360B2/ja active Active
- 2007-02-07 TW TW096104443A patent/TWI335512B/zh not_active IP Right Cessation
- 2007-02-07 DE DE102007006190.2A patent/DE102007006190B4/de active Active
- 2007-02-07 GB GB0813998A patent/GB2451003B/en active Active
- 2007-02-07 CN CN2010102750409A patent/CN101916231B/zh active Active
- 2007-02-07 KR KR1020070012870A patent/KR100933820B1/ko active IP Right Grant
- 2007-02-07 GB GB0702377A patent/GB2434892B/en active Active
- 2007-02-07 CN CN2007101016755A patent/CN101059777B/zh active Active
-
2011
- 2011-07-04 US US13/175,928 patent/US8560781B2/en active Active
-
2013
- 2013-09-21 US US14/033,463 patent/US8812792B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
TW200817896A (en) | 2008-04-16 |
US7991965B2 (en) | 2011-08-02 |
US8812792B2 (en) | 2014-08-19 |
GB2434892A (en) | 2007-08-08 |
US20140025901A1 (en) | 2014-01-23 |
US20110264866A1 (en) | 2011-10-27 |
GB0813998D0 (en) | 2008-09-10 |
GB2434892B (en) | 2008-11-26 |
TWI335512B (en) | 2011-01-01 |
CN101059777A (zh) | 2007-10-24 |
KR20070080589A (ko) | 2007-08-10 |
GB0702377D0 (en) | 2007-03-21 |
GB2451003B (en) | 2010-06-23 |
GB2451003A (en) | 2009-01-14 |
DE102007006190A1 (de) | 2007-08-30 |
KR100933820B1 (ko) | 2009-12-24 |
DE102007006190B4 (de) | 2017-10-26 |
CN101059777B (zh) | 2010-11-03 |
CN101916231B (zh) | 2013-11-20 |
US8560781B2 (en) | 2013-10-15 |
CN101916231A (zh) | 2010-12-15 |
JP2007242003A (ja) | 2007-09-20 |
US20070186055A1 (en) | 2007-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4764360B2 (ja) | メモリ属性を用いるための技術 | |
KR100578437B1 (ko) | 다수의 스레드의 병행 실행을 지원하는 컴퓨터 시스템에서의 인터럽트 처리 메커니즘 | |
US8019947B2 (en) | Technique for thread communication and synchronization | |
US8521944B2 (en) | Performing memory accesses using memory context information | |
US20070239940A1 (en) | Adaptive prefetching | |
EP2645237B1 (en) | Deadlock/livelock resolution using service processor | |
WO2008005687A2 (en) | Global overflow method for virtualized transactional memory | |
JP7096840B2 (ja) | 能力メタデータを管理するための装置及び方法 | |
JP5226010B2 (ja) | 共有キャッシュ制御装置、共有キャッシュ制御方法及び集積回路 | |
GB2367648A (en) | Avoidance of repeated trap handling | |
US20060149940A1 (en) | Implementation to save and restore processor registers on a context switch | |
US7577791B2 (en) | Virtualized load buffers | |
KR20240004361A (ko) | 프로세싱-인-메모리 동시적 프로세싱 시스템 및 방법 | |
US20100131718A1 (en) | Multiprocessor system | |
US12007902B2 (en) | Configurable memory system and memory managing method thereof | |
JP2023538241A (ja) | メモリロケーションに記憶されたデータが修正されたかどうかを識別するためのメモリロケーションの監視 | |
TW202420100A (zh) | 可配置的記憶體系統及其記憶體管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100512 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100525 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100819 |
|
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: 20110524 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110610 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140617 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4764360 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 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 |
|
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 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |