JP4568292B2 - キャッシュライン・ポーリングを実行する方法、装置、プログラム及び情報処理システム - Google Patents
キャッシュライン・ポーリングを実行する方法、装置、プログラム及び情報処理システム Download PDFInfo
- Publication number
- JP4568292B2 JP4568292B2 JP2007039392A JP2007039392A JP4568292B2 JP 4568292 B2 JP4568292 B2 JP 4568292B2 JP 2007039392 A JP2007039392 A JP 2007039392A JP 2007039392 A JP2007039392 A JP 2007039392A JP 4568292 B2 JP4568292 B2 JP 4568292B2
- Authority
- JP
- Japan
- Prior art keywords
- load
- memory location
- store
- cacheable memory
- instruction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 72
- 230000010365 information processing Effects 0.000 title claims description 39
- 230000008569 process Effects 0.000 claims description 53
- 238000012545 processing Methods 0.000 claims description 45
- 230000004044 response Effects 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 14
- 238000000348 solid-phase epitaxy Methods 0.000 description 12
- 230000007704 transition Effects 0.000 description 11
- 238000012546 transfer Methods 0.000 description 8
- 238000011112 process operation Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000005291 magnetic effect Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000036316 preload Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000007787 solid Substances 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/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- 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 or 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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
- Memory System (AREA)
Description
添付の図面中の同じ又は類似の参照記号の使用は、類似の又は同一の項目を示すことを意図している。
102A、102B、102C、102D:ソフトウェア・セル
104:ネットワーク
106A、106B:クライアント・コンピュータ
108A、108B:サーバ・コンピュータ
110A、110B:携帯情報端末
112:ディジタル・テレビ
200:Cell Broadband Engine
210、310:Power Processor Element
220−234:Synergistic Processor Element
286、386:エレメント接続バス
287、387:バス・インタフェース・コントローラ
288、388:メモリ・インタフェース・コントローラ
289、389:共有メモリ
290、390:外部バス/デバイス
300:情報処理システム
312、314:キャッシュ
316:パワー・プロセッサ・ユニット
318:ロード/ストア・ユニット
320:状態レジスタ
322、328:キャッシュ管理ユニット
324、332:ストレージ・エレメント
330:レジスタ
336:キャッシュ可能メモリ・ロケーション
338、340:破線
400:状態マシン
S0−S4:状態
Claims (9)
- キャッシュライン・ポーリング・オペレーションを実行する方法であって、
第1のキャッシュ可能メモリ・ロケーション内にバッファ・フラグ・ビジー標識データ値をストアし、ストア及び予約命令を介して前記第1のキャッシュ可能メモリ・ロケーション上にロード/ストア・オペレーション予約を設定するステップと、
前記第1のキャッシュ可能メモリ・ロケーション上の前記ロード/ストア・オペレーション予約がリセットされたとの判断に応答して、条件付きロード命令を介して、前記第1のキャッシュ可能メモリ・ロケーション内にストアされているデータ値にアクセスするステップと、
前記第1のキャッシュ可能メモリ・ロケーション上の前記ロード/ストア・オペレーション予約がリセットされていないとの判断に応答して、前記条件付きロード命令の実行を停止するステップと、
を含む方法。 - 前記第1のキャッシュ可能メモリ・ロケーション内に格納されている前記データのアクセスに応答して、該第1のキャッシュ可能メモリ・ロケーション内に格納されている前記データ値を前記バッファ・フラグ・ビジー標識データ値と比較するステップをさらに含む、請求項1に記載の方法。
- プロセス・コンテキスト切替えを検出するステップと、
前記プロセス・コンテキスト切替えの検出に応答して、前記第1のキャッシュ可能メモリ・ロケーション上の前記ロード/ストア・オペレーション予約をリセットするステップ
をさらに含む、請求項1に記載の方法。 - 前記ストア及び予約命令を介して前記第1のキャッシュ可能メモリ・ロケーション上に前記ロード/ストア・オペレーション予約を設定するステップは、
第2のキャッシュ可能メモリ・ロケーション上の以前のロード/ストア・オペレーション予約をリセットするステップと、
前記以前のロード/ストア・オペレーション予約がリセットされたとの判断に応答して、前記第1のキャッシュ可能メモリ・ロケーション上に前記ロード/ストア・オペレーション予約を設定するステップと、
を含む、請求項1に記載の方法。 - 前記条件付きロード命令は、予約喪失時のロード命令を含む、請求項1に記載の方法。
- 情報処理システム内でキャッシュライン・ポーリング・オペレーションを実行するための装置であって、
第1のキャッシュ可能メモリ・ロケーション内にバッファ・フラグ・ビジー標識データ値をストアし、ストア及び予約命令を介して前記第1のキャッシュ可能メモリ・ロケーション上にロード/ストア・オペレーション予約を設定するための手段と、
前記第1のキャッシュ可能メモリ・ロケーション上の前記ロード/ストア・オペレーション予約がリセットされたとの判断に応答して、条件付きロード命令を介して、前記第1のキャッシュ可能メモリ・ロケーション内にストアされているデータ値にアクセスするための手段と、
前記第1のキャッシュ可能メモリ・ロケーション上の前記ロード/ストア・オペレーション予約がリセットされていないとの判断に応答して、前記条件付きロード命令の実行を停止するための手段と、
を備える装置。 - 情報処理システム内のキャッシュライン・ポーリングを実行するためのプログラムであって、
第1のキャッシュ可能メモリ・ロケーション内にバッファ・フラグ・ビジー標識データ値をストアし、かつ、ストア及び予約命令を介して前記第1のキャッシュ可能メモリ・ロケーション上にロード/ストア・オペレーション予約を設定するステップと、
前記第1のキャッシュ可能メモリ・ロケーション上の前記ロード/ストア・オペレーション予約がリセットされたとの判断に応答して、条件付きロード命令を介して、前記第1のキャッシュ可能メモリ・ロケーション内にストアされているデータ値にアクセスするステップと、
前記第1のキャッシュ可能メモリ・ロケーション上の前記ロード/ストア・オペレーション予約がリセットされていないとの判断に応答して、前記条件付きロード命令の実行を停止するステップと、
を実行させる、プログラム。 - 第1のキャッシュ可能メモリ・ロケーションを含むメモリと、
前記メモリに結合された処理エレメントを備え、
前記処理エレメントは、ロード/ストア・オペレーション予約を指定するデータをストアするレジスタと、
ロード/ストア・ユニットを含み、
前記ロード/ストア・ユニットは、
前記第1のキャッシュ可能メモリ・ロケーション内にバッファ・フラグ・ビジー標識データ値をストアし、かつ、ストア及び予約命令を介して、前記第1のキャッシュ可能メモリ・ロケーション上にロード/ストア・オペレーション予約を前記レジスタに格納するための第1のロード/ストアロジックと、
前記第1のキャッシュ可能メモリ・ロケーション上の前記ロード/ストア・オペレーション予約がリセットされたとの判断に応答して、条件付きロード命令を介して、前記第1のキャッシュ可能メモリ・ロケーション内にストアされているデータ値にアクセスための第2のロード/ストアロジックと、
前記第1のキャッシュ可能メモリ・ロケーション上の前記ロード/ストア・オペレーション予約がリセットされていないとの判断に応答して、前記条件付きロード命令の実行を停止するための第3のロード/ストアロジックを含む、
情報処理システム。 - 前記処理エレメントは、
前記第1のキャッシュ可能メモリ・ロケーションのデータをストアするためのキャッシュ・メモリと、
前記第1のキャッシュ可能メモリ・ロケーション内の前記バッファ・フラグ・ビジー標識データ値の変更を検出するための第1のキャッシュ管理ロジックと、
前記変更に応答して、前記第1のキャッシュ可能メモリ・ロケーション上の前記ロード/ストア・オペレーション予約がリセットされたことを示すデータを前記レジスタ内にストアするための第2のキャッシュ管理ロジック
を含むキャッシュ管理ユニットと、
を含む、請求項8に記載の情報処理システム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/377,506 US7600076B2 (en) | 2006-03-16 | 2006-03-16 | Method, system, apparatus, and article of manufacture for performing cacheline polling utilizing store with reserve and load when reservation lost instructions |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007249960A JP2007249960A (ja) | 2007-09-27 |
JP4568292B2 true JP4568292B2 (ja) | 2010-10-27 |
Family
ID=38519306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007039392A Expired - Fee Related JP4568292B2 (ja) | 2006-03-16 | 2007-02-20 | キャッシュライン・ポーリングを実行する方法、装置、プログラム及び情報処理システム |
Country Status (4)
Country | Link |
---|---|
US (1) | US7600076B2 (ja) |
JP (1) | JP4568292B2 (ja) |
CN (1) | CN101038567B (ja) |
TW (1) | TW200813745A (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9983874B2 (en) * | 2006-03-16 | 2018-05-29 | International Business Machines Corporation | Structure for a circuit function that implements a load when reservation lost instruction to perform cacheline polling |
US8219763B2 (en) | 2006-03-16 | 2012-07-10 | International Business Machines Corporation | Structure for performing cacheline polling utilizing a store and reserve instruction |
US9390015B2 (en) * | 2006-03-16 | 2016-07-12 | International Business Machines Corporation | Method for performing cacheline polling utilizing a store and reserve instruction |
US8117389B2 (en) * | 2006-03-16 | 2012-02-14 | International Business Machines Corporation | Design structure for performing cacheline polling utilizing store with reserve and load when reservation lost instructions |
US8024521B2 (en) * | 2007-03-13 | 2011-09-20 | Sony Computer Entertainment Inc. | Atomic operation on non-standard sized data using external cache |
US8539485B2 (en) * | 2007-11-20 | 2013-09-17 | Freescale Semiconductor, Inc. | Polling using reservation mechanism |
US20090240928A1 (en) * | 2008-03-18 | 2009-09-24 | Freescale Semiconductor, Inc. | Change in instruction behavior within code block based on program action external thereto |
US8713261B1 (en) * | 2011-03-11 | 2014-04-29 | Emc Corporation | Caching techniques |
GB2524063B (en) | 2014-03-13 | 2020-07-01 | Advanced Risc Mach Ltd | Data processing apparatus for executing an access instruction for N threads |
US10552153B2 (en) * | 2017-03-31 | 2020-02-04 | Intel Corporation | Efficient range-based memory writeback to improve host to device communication for optimal power and performance |
GB2580316B (en) * | 2018-12-27 | 2021-02-24 | Graphcore Ltd | Instruction cache in a multi-threaded processor |
CN114610394B (zh) * | 2022-03-14 | 2023-12-22 | 海飞科(南京)信息技术有限公司 | 指令调度的方法、处理电路和电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5611074A (en) * | 1994-12-14 | 1997-03-11 | International Business Machines Corporation | Efficient polling technique using cache coherent protocol |
-
2006
- 2006-03-16 US US11/377,506 patent/US7600076B2/en not_active Expired - Fee Related
-
2007
- 2007-02-20 JP JP2007039392A patent/JP4568292B2/ja not_active Expired - Fee Related
- 2007-03-13 TW TW096108603A patent/TW200813745A/zh unknown
- 2007-03-15 CN CN2007100883086A patent/CN101038567B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
TW200813745A (en) | 2008-03-16 |
US20070220213A1 (en) | 2007-09-20 |
CN101038567B (zh) | 2012-05-23 |
JP2007249960A (ja) | 2007-09-27 |
US7600076B2 (en) | 2009-10-06 |
CN101038567A (zh) | 2007-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4568292B2 (ja) | キャッシュライン・ポーリングを実行する方法、装置、プログラム及び情報処理システム | |
JP4566264B2 (ja) | 格納および予約命令を利用して関連アプリケーションと相互参照してキャッシュライン・ポーリングを行う方法、システム、装置、およびプログラム | |
US8117389B2 (en) | Design structure for performing cacheline polling utilizing store with reserve and load when reservation lost instructions | |
CN110865968B (zh) | 多核处理装置及其内核之间数据传输方法 | |
US7581067B2 (en) | Load when reservation lost instruction for performing cacheline polling | |
JP5801372B2 (ja) | システム管理モードのためのプロセッサにおける状態記憶の提供 | |
US9658877B2 (en) | Context switching using a context controller and on-chip context cache | |
US8225120B2 (en) | Wake-and-go mechanism with data exclusivity | |
US8145849B2 (en) | Wake-and-go mechanism with system bus response | |
US8127080B2 (en) | Wake-and-go mechanism with system address bus transaction master | |
US8452947B2 (en) | Hardware wake-and-go mechanism and content addressable memory with instruction pre-fetch look-ahead to detect programming idioms | |
US20060136919A1 (en) | System and method for controlling thread suspension in a multithreaded processor | |
US20100293341A1 (en) | Wake-and-Go Mechanism with Exclusive System Bus Response | |
JP2003030050A (ja) | マルチスレッド実行方法及び並列プロセッサシステム | |
EP3588288B1 (en) | A multithreaded processor core with hardware-assisted task scheduling | |
US9009420B2 (en) | Structure for performing cacheline polling utilizing a store and reserve instruction | |
US20040123078A1 (en) | Method and apparatus for processing a load-lock instruction using a scoreboard mechanism | |
US7080209B2 (en) | Method and apparatus for processing a load-lock instruction using a relaxed lock protocol | |
US9983874B2 (en) | Structure for a circuit function that implements a load when reservation lost instruction to perform cacheline polling | |
JP5213485B2 (ja) | マルチプロセッサシステムにおけるデータ同期方法及びマルチプロセッサシステム | |
US9946665B2 (en) | Fetch less instruction processing (FLIP) computer architecture for central processing units (CPU) | |
WO1999032976A1 (en) | Risc processor with concurrent snooping and instruction execution | |
US20060095905A1 (en) | Method and apparatus for servicing threads within a multi-processor system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091117 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100518 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100706 |
|
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: 20100803 |
|
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: 20100806 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130813 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |