JP2012531681A - プロセッサの待機状態をイネーブルする命令 - Google Patents
プロセッサの待機状態をイネーブルする命令 Download PDFInfo
- Publication number
- JP2012531681A JP2012531681A JP2012517935A JP2012517935A JP2012531681A JP 2012531681 A JP2012531681 A JP 2012531681A JP 2012517935 A JP2012517935 A JP 2012517935A JP 2012517935 A JP2012517935 A JP 2012517935A JP 2012531681 A JP2012531681 A JP 2012531681A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- core
- low power
- value
- power state
- 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
- 230000004044 response Effects 0.000 claims abstract description 18
- 230000015654 memory Effects 0.000 claims description 34
- 238000012360 testing method Methods 0.000 claims description 16
- 238000012544 monitoring process Methods 0.000 claims description 13
- 238000000034 method Methods 0.000 claims description 12
- 239000010432 diamond Substances 0.000 description 12
- 229910003460 diamond Inorganic materials 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000007726 management method Methods 0.000 description 6
- 238000007667 floating Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 239000000872 buffer Substances 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 241000238876 Acari Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
-
- 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/30083—Power or thermal control instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3293—Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
-
- 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
-
- 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/3009—Thread control instructions
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Power Sources (AREA)
- Executing Machine-Instructions (AREA)
- Debugging And Monitoring (AREA)
- Microcomputers (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【選択図】図1
Description
Claims (24)
- 監視されるロケーションのID及びタイマ値を規定する命令を第1アプリケーションから受信し、当該命令をデコードするデコードロジック、及び、前記デコードロジックと結合され前記タイマ値に関してカウントを実行するタイマを有するコアと、
前記コアと結合され、前記タイマ値に少なくとも一部基づいて、プロセッサの低電力状態の一種類を決定し、前記監視されるロケーションの値がターゲット値と等しくなく且つ前記タイマ値が過ぎていない場合には、オペレーティングシステム(OS)の介入なしに、前記プロセッサを前記決定に応答した前記低電力状態にする電力管理ユニットと
を備えるプロセッサ。 - キャッシュメモリと結合され、前記監視されるロケーションのコピーを含む前記キャッシュメモリのラインが更新されたかを判断する監視エンジンを更に備える請求項1に記載のプロセッサ。
- 前記監視エンジンは、更新された前記コピー及びウェイクアップ信号を、前記コアに伝達する請求項2に記載のプロセッサ。
- 前記コアは、更新された前記コピーが、前記ターゲット値に対応しているかを判断し、
対応している場合には、前記低電力状態から抜け出し、
対応していない場合には、新たな低電力状態を決定し、当該低電力状態に入る請求項3に記載のプロセッサ。 - 前記命令は、前記プロセッサに、第1の値を読み込ませ、前記第1の値と宛先ロケーションに格納されたデータとの間のマスクオペレーションを実行させるユーザーレベル命令であって、前記マスクオペレーションの結果が第1結果である場合には、前記低電力状態に入り、前記マスクオペレーションの結果が前記第1結果でない場合には、前記プロセッサは、前記第1の値を前記宛先ロケーションに読み込む請求項1に記載のプロセッサ。
- 前記マスクオペレーションの結果がゼロに等しい場合には、前記プロセッサは、フラグレジスタのゼロインジケータを設定する請求項5に記載のプロセッサ。
- 前記タイマは、タイムスタンプカウンタ値と前記タイマ値との間の差分に対応する値に設定される請求項1に記載のプロセッサ。
- 前記プロセッサは、前記コア及び第2コアを含むマルチコアプロセッサを含み、
前記命令は、前記コアで実行される第1スレッド及び前記監視されるロケーションを更新する第2スレッドの命令である請求項1に記載のプロセッサ。 - 前記コアは、前記監視されるロケーションの前記更新に応答して、前記低電力状態を抜ける請求項8に記載のプロセッサ。
- 前記コアは、前記低電力状態を抜けた後に、前記第2スレッドが前記監視されるロケーションを更新する前に、前記第2スレッドによって更新されたデータを使用して前記第1スレッドの少なくとも1つのオペレーションを実行する請求項9に記載のプロセッサ。
- 監視されるロケーションのID及びタイマ値を規定する命令を、プロセッサ内の第1アプリケーションから受信しデコードする段階と、
前記命令に応答して、前記プロセッサにおいて、前記プロセッサの低電力状態の一種類を前記タイマ値に少なくとも一部基づいて決定する段階と、
前記監視する場所の値がターゲット値と等しくなく且つ前記タイマ値を過ぎていない場合に、前記決定に応答した前記プロセッサの前記低電力状態に入る段階と
を備える方法。 - 前記命令は、前記監視されるロケーションに対する前記ターゲット値を更に規定する請求項11に記載の方法。
- 前記タイマ値を過ぎたことに応答して、前記低電力状態を抜け出す段階を更に備える請求項11に記載の方法。
- 前記プロセッサのキャッシュメモリの監視エンジンからウェイクアップ信号を受信することを含む、前記監視されるロケーションの値が前記ターゲット値に等しい時に、前記低電力状態を抜け出す段階を更に備え、
前記監視エンジンは、前記監視されるロケーションのコピーを含むキャッシュラインの格納値が変化した時に、前記ウェイクアップ信号を送信する請求項11に記載の方法。 - 前記プロセッサの電力管理ユニット(PMU)を使用して、それぞれが一の低電力状態と一のタイマ値とを関連付けている複数のエントリを有するテーブルにおける情報に基づいて、複数の低電力状態から前記低電力状態の前記一種類を選択する段階と、
前記プロセッサのコアを前記低電力状態にするべく、前記PMUから少なくとも1つの制御信号を前記コアに送信する段階とを更に備える請求項11に記載の方法。 - 前記プロセッサに結合された第2プロセッサからウェイクアップ信号を受信する段階と、
前記ウェイクアップ信号に応答して、前記低電力状態を抜け出す段階とを更に備える請求項11に記載の方法。 - マルチコアプロセッサと、
前記マルチコアプロセッサと結合されたダイナミック・ランダム・アクセス・メモリ(DRAM)とを備え、
前記マルチコアプロセッサは、
待機状態を発生させるべく、監視されるロケーション及びタイマ値を規定するユーザーレベル命令をデコードするデコードロジックを含む第1コア、及び、第2コアを含むマルチプロセッサと、
前記デコードロジックと結合され、前記タイマ値に対してカウントを実行するタイマと、
前記第1コア及び前記第2コアと結合され、オペレーティングシステム(OS)が介入することなく、前記タイマ値に少なくとも一部基づいて複数の低電力状態のうちの一つを選択し、前記監視されるロケーションの値がターゲット値と等しくない場合に、前記選択に応答して前記第1コアを選択された前記低電力状態にする電力管理ロジックと
を有するシステム。 - 前記第1コアは、前記ユーザーレベル命令に応答して、第1オペランドと第2オペランドとの間のマスクオペレーションを実行し、前記マスクオペレーションの結果が前記ターゲット値でない場合に、前記選択された低電力状態に入る請求項17に記載のシステム。
- 前記第1コアに結合される監視ロジックを更に備え、
前記監視ロジックは、前記監視されるロケーションの更新に応答して、前記第1コアを前記低電力状態から抜け出させる請求項18に記載のシステム。 - 前記監視されるロケーションと関連付けられているキャッシュラインが更新された時又は前記キャッシュラインのコヒーレンシ状態が更新された時には、前記監視ロジックは、ウェイクアップ信号を前記第1コアに送信する請求項19に記載のシステム。
- 命令を含む機械アクセス可能記憶媒体を備える物品であって、
前記命令が実行されるとシステムに、
第1スレッドの実行の間に、マルチコアプロセッサの第1コアにおいて、監視される場所及びタイマ値を規定するユーザーレベルプロセッサ待機命令を受信させ、
前記第1コアにおいて、前記ユーザーレベルプロセッサ待機命令の条件が満たされたかを判断させ、満たされていない場合には、前記マルチコアプロセッサの電力管理ロジックによって選択される低電力状態に入らせ、
前記マルチコアプロセッサの第2コアにおける第2スレッドの実行の間に、値を更新させ、
前記値の更新に応答して、前記第1コアの前記低電力状態を抜け出させ、前記条件が満たされたかを判断させ、
前記条件が満たされた場合には、前記第1コアにおける前記第1スレッドの実行を継続させる
物品。 - 前記監視されるロケーションの更新に応答して、前記システムが前記第1コアについて前記低電力状態を抜け出させることを可能とし、前記システムが、前記値の更新を利用して前記条件をテストさせることを可能とする命令を更に備える請求項21に記載の物品。
- 前記監視されるロケーションと関連付けられるキャッシュラインが更新された時、又は、前記キャッシュラインのコヒーレンシ状態が更新された時に、前記システムが、前記監視されるロケーションに対する前記更新を判断することを可能とし、前記監視されるロケーションへの前記更新に応答して、前記システムが、前記第1コアについて前記低電力状態を抜け出させることを可能とする命令を更に備える請求項22に記載の物品。
- 前記電力管理ロジックを使用して、それぞれが一の低電力状態を一のタイマ値と関連付けている複数のエントリを有するテーブルにおける情報に基づいて、前記システムが、複数の低電力状態から前記低電力状態を選択することを可能とし、
前記システムが、前記第1コアを前記低電力状態にするべく、少なくとも1つの制御信号を送信することを可能とする命令を更に備える請求項21に記載の物品。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/641,534 US8464035B2 (en) | 2009-12-18 | 2009-12-18 | Instruction for enabling a processor wait state |
US12/641,534 | 2009-12-18 | ||
PCT/US2010/056320 WO2011075246A2 (en) | 2009-12-18 | 2010-11-11 | Instruction for enabling a processor wait state |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014131157A Division JP5795820B2 (ja) | 2009-12-18 | 2014-06-26 | プロセッサ、方法、システム、及び、プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012531681A true JP2012531681A (ja) | 2012-12-10 |
JP5571784B2 JP5571784B2 (ja) | 2014-08-13 |
Family
ID=44152840
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012517935A Active JP5571784B2 (ja) | 2009-12-18 | 2010-11-11 | プロセッサ、方法、システム、及び、プログラム |
JP2014131157A Active JP5795820B2 (ja) | 2009-12-18 | 2014-06-26 | プロセッサ、方法、システム、及び、プログラム |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014131157A Active JP5795820B2 (ja) | 2009-12-18 | 2014-06-26 | プロセッサ、方法、システム、及び、プログラム |
Country Status (8)
Country | Link |
---|---|
US (3) | US8464035B2 (ja) |
JP (2) | JP5571784B2 (ja) |
KR (1) | KR101410634B1 (ja) |
CN (1) | CN102103484B (ja) |
DE (1) | DE102010052680A1 (ja) |
GB (1) | GB2483012B (ja) |
TW (1) | TWI512448B (ja) |
WO (1) | WO2011075246A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020505696A (ja) * | 2017-01-30 | 2020-02-20 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 電気デバイスにおける電力消費を最適化する方法、システム、およびコンピュータ・プログラム |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9672019B2 (en) | 2008-11-24 | 2017-06-06 | Intel Corporation | Systems, apparatuses, and methods for a hardware and software system to automatically decompose a program to multiple parallel threads |
US10621092B2 (en) | 2008-11-24 | 2020-04-14 | Intel Corporation | Merging level cache and data cache units having indicator bits related to speculative execution |
US8464035B2 (en) * | 2009-12-18 | 2013-06-11 | Intel Corporation | Instruction for enabling a processor wait state |
US8775153B2 (en) * | 2009-12-23 | 2014-07-08 | Intel Corporation | Transitioning from source instruction set architecture (ISA) code to translated code in a partial emulation environment |
US8977878B2 (en) * | 2011-05-19 | 2015-03-10 | Texas Instruments Incorporated | Reducing current leakage in L1 program memory |
US9207730B2 (en) * | 2011-06-02 | 2015-12-08 | Apple Inc. | Multi-level thermal management in an electronic device |
WO2013048468A1 (en) | 2011-09-30 | 2013-04-04 | Intel Corporation | Instruction and logic to perform dynamic binary translation |
US9063760B2 (en) * | 2011-10-13 | 2015-06-23 | International Business Machines Corporation | Employing native routines instead of emulated routines in an application being emulated |
US9829951B2 (en) | 2011-12-13 | 2017-11-28 | Intel Corporation | Enhanced system sleep state support in servers using non-volatile random access memory |
WO2013095618A1 (en) | 2011-12-23 | 2013-06-27 | Intel Corporation | Instruction execution that broadcasts and masks data values at different levels of granularity |
WO2013101165A1 (en) * | 2011-12-30 | 2013-07-04 | Intel Corporation | Register error protection through binary translation |
JP5900606B2 (ja) * | 2012-03-30 | 2016-04-06 | 富士通株式会社 | データ処理装置 |
US20140075163A1 (en) * | 2012-09-07 | 2014-03-13 | Paul N. Loewenstein | Load-monitor mwait |
JP5715107B2 (ja) * | 2012-10-29 | 2015-05-07 | 富士通テン株式会社 | 制御システム |
WO2014098845A1 (en) * | 2012-12-19 | 2014-06-26 | Intel Corporation | Vector mask driven clock gating for power efficiency of a processor |
US9081577B2 (en) | 2012-12-28 | 2015-07-14 | Intel Corporation | Independent control of processor core retention states |
US9164565B2 (en) | 2012-12-28 | 2015-10-20 | Intel Corporation | Apparatus and method to manage energy usage of a processor |
US9405551B2 (en) | 2013-03-12 | 2016-08-02 | Intel Corporation | Creating an isolated execution environment in a co-designed processor |
JP6175980B2 (ja) * | 2013-08-23 | 2017-08-09 | 富士通株式会社 | Cpuの制御方法、制御プログラム、情報処理装置 |
US9471133B2 (en) * | 2013-08-28 | 2016-10-18 | Via Technologies, Inc. | Service processor patch mechanism |
US9891936B2 (en) | 2013-09-27 | 2018-02-13 | Intel Corporation | Method and apparatus for page-level monitoring |
US9690581B2 (en) | 2013-10-15 | 2017-06-27 | Mil Computing, Inc. | Computer processor with deferred operations |
CN105094747B (zh) * | 2014-05-07 | 2018-12-04 | 阿里巴巴集团控股有限公司 | 基于smt的中央处理单元以及用于检测指令的数据相关性的装置 |
US10467011B2 (en) * | 2014-07-21 | 2019-11-05 | Intel Corporation | Thread pause processors, methods, systems, and instructions |
KR20160054850A (ko) * | 2014-11-07 | 2016-05-17 | 삼성전자주식회사 | 다수의 프로세서들을 운용하는 장치 및 방법 |
US20160306416A1 (en) * | 2015-04-16 | 2016-10-20 | Intel Corporation | Apparatus and Method for Adjusting Processor Power Usage Based On Network Load |
KR102476357B1 (ko) | 2015-08-06 | 2022-12-09 | 삼성전자주식회사 | 클럭 관리 유닛과 이를 적용하는 집적 회로 및 시스템 온 칩 및 그 동작 방법 |
US20170177336A1 (en) * | 2015-12-22 | 2017-06-22 | Intel Corporation | Hardware cancellation monitor for floating point operations |
US11023233B2 (en) | 2016-02-09 | 2021-06-01 | Intel Corporation | Methods, apparatus, and instructions for user level thread suspension |
US10185564B2 (en) | 2016-04-28 | 2019-01-22 | Oracle International Corporation | Method for managing software threads dependent on condition variables |
WO2018059655A1 (en) | 2016-09-30 | 2018-04-05 | Intel Corporation | Method and apparatus for smart store operations with conditional ownership requests |
US11061730B2 (en) * | 2016-11-18 | 2021-07-13 | Red Hat Israel, Ltd. | Efficient scheduling for hyper-threaded CPUs using memory monitoring |
US10289516B2 (en) | 2016-12-29 | 2019-05-14 | Intel Corporation | NMONITOR instruction for monitoring a plurality of addresses |
US11086672B2 (en) * | 2019-05-07 | 2021-08-10 | International Business Machines Corporation | Low latency management of processor core wait state |
CN113867518A (zh) * | 2021-09-15 | 2021-12-31 | 珠海亿智电子科技有限公司 | 处理器低功耗阻塞式延时方法、装置及可读介质 |
CN113986663A (zh) * | 2021-10-22 | 2022-01-28 | 上海兆芯集成电路有限公司 | 电子装置及其功耗控制方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001318742A (ja) * | 2000-05-08 | 2001-11-16 | Mitsubishi Electric Corp | コンピュータシステムおよびコンピュータ読み取り可能な記録媒体 |
US20030126375A1 (en) * | 2001-12-31 | 2003-07-03 | Hill David L. | Coherency techniques for suspending execution of a thread until a specified memory access occurs |
JP2005316854A (ja) * | 2004-04-30 | 2005-11-10 | Fujitsu Ltd | 情報処理装置、プロセッサ、プロセッサの制御方法、情報処理装置の制御方法、キャッシュメモリ |
JP2006500639A (ja) * | 2001-12-31 | 2006-01-05 | インテル コーポレイション | 指定されたメモリアクセスが発生するまでスレッドの実行をサスペンドする方法及び装置 |
JP2006031691A (ja) * | 2004-06-30 | 2006-02-02 | Intel Corp | スリープ‐起動機構を用いた比較および交換動作 |
JP2007520769A (ja) * | 2003-06-27 | 2007-07-26 | インテル コーポレイション | モニタメモリ待機を用いたキューされたロック |
WO2009024459A1 (en) * | 2007-08-17 | 2009-02-26 | International Business Machines Corporation | Proactive power management in a parallel computer |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2414573B (en) | 2004-05-26 | 2007-08-08 | Advanced Risc Mach Ltd | Control of access to a shared resource in a data processing apparatus |
US8719819B2 (en) * | 2005-06-30 | 2014-05-06 | Intel Corporation | Mechanism for instruction set based thread execution on a plurality of instruction sequencers |
US8607235B2 (en) * | 2004-12-30 | 2013-12-10 | Intel Corporation | Mechanism to schedule threads on OS-sequestered sequencers without operating system intervention |
US7810083B2 (en) * | 2004-12-30 | 2010-10-05 | Intel Corporation | Mechanism to emulate user-level multithreading on an OS-sequestered sequencer |
US8516483B2 (en) * | 2005-05-13 | 2013-08-20 | Intel Corporation | Transparent support for operating system services for a sequestered sequencer |
US8010969B2 (en) * | 2005-06-13 | 2011-08-30 | Intel Corporation | Mechanism for monitoring instruction set based thread execution on a plurality of instruction sequencers |
US7882339B2 (en) * | 2005-06-23 | 2011-02-01 | Intel Corporation | Primitives to enhance thread-level speculation |
GB0519981D0 (en) * | 2005-09-30 | 2005-11-09 | Ignios Ltd | Scheduling in a multicore architecture |
US8028295B2 (en) * | 2005-09-30 | 2011-09-27 | Intel Corporation | Apparatus, system, and method for persistent user-level thread |
US20090150696A1 (en) * | 2007-12-10 | 2009-06-11 | Justin Song | Transitioning a processor package to a low power state |
US9081687B2 (en) * | 2007-12-28 | 2015-07-14 | Intel Corporation | Method and apparatus for MONITOR and MWAIT in a distributed cache architecture |
US8156362B2 (en) * | 2008-03-11 | 2012-04-10 | Globalfoundries Inc. | Hardware monitoring and decision making for transitioning in and out of low-power state |
DE102009001142A1 (de) * | 2009-02-25 | 2010-08-26 | Robert Bosch Gmbh | Elektromechanischer Bremskraftverstärker |
US8156275B2 (en) * | 2009-05-13 | 2012-04-10 | Apple Inc. | Power managed lock optimization |
US8464035B2 (en) * | 2009-12-18 | 2013-06-11 | Intel Corporation | Instruction for enabling a processor wait state |
-
2009
- 2009-12-18 US US12/641,534 patent/US8464035B2/en active Active
-
2010
- 2010-10-26 TW TW099136477A patent/TWI512448B/zh not_active IP Right Cessation
- 2010-11-11 WO PCT/US2010/056320 patent/WO2011075246A2/en active Application Filing
- 2010-11-11 KR KR1020127018822A patent/KR101410634B1/ko active IP Right Grant
- 2010-11-11 JP JP2012517935A patent/JP5571784B2/ja active Active
- 2010-11-11 GB GB1119728.2A patent/GB2483012B/en not_active Expired - Fee Related
- 2010-11-26 DE DE102010052680A patent/DE102010052680A1/de not_active Withdrawn
- 2010-12-17 CN CN201010615167.0A patent/CN102103484B/zh not_active Expired - Fee Related
-
2013
- 2013-03-06 US US13/786,939 patent/US9032232B2/en active Active
- 2013-05-10 US US13/891,747 patent/US8990597B2/en active Active
-
2014
- 2014-06-26 JP JP2014131157A patent/JP5795820B2/ja active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001318742A (ja) * | 2000-05-08 | 2001-11-16 | Mitsubishi Electric Corp | コンピュータシステムおよびコンピュータ読み取り可能な記録媒体 |
US20030126375A1 (en) * | 2001-12-31 | 2003-07-03 | Hill David L. | Coherency techniques for suspending execution of a thread until a specified memory access occurs |
JP2006500639A (ja) * | 2001-12-31 | 2006-01-05 | インテル コーポレイション | 指定されたメモリアクセスが発生するまでスレッドの実行をサスペンドする方法及び装置 |
JP2007520769A (ja) * | 2003-06-27 | 2007-07-26 | インテル コーポレイション | モニタメモリ待機を用いたキューされたロック |
JP2005316854A (ja) * | 2004-04-30 | 2005-11-10 | Fujitsu Ltd | 情報処理装置、プロセッサ、プロセッサの制御方法、情報処理装置の制御方法、キャッシュメモリ |
JP2006031691A (ja) * | 2004-06-30 | 2006-02-02 | Intel Corp | スリープ‐起動機構を用いた比較および交換動作 |
WO2009024459A1 (en) * | 2007-08-17 | 2009-02-26 | International Business Machines Corporation | Proactive power management in a parallel computer |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020505696A (ja) * | 2017-01-30 | 2020-02-20 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 電気デバイスにおける電力消費を最適化する方法、システム、およびコンピュータ・プログラム |
JP6998385B2 (ja) | 2017-01-30 | 2022-01-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 電気デバイスにおける電力消費を最適化する方法、システム、およびコンピュータ・プログラム |
Also Published As
Publication number | Publication date |
---|---|
US8990597B2 (en) | 2015-03-24 |
US20130246824A1 (en) | 2013-09-19 |
WO2011075246A2 (en) | 2011-06-23 |
GB2483012B (en) | 2017-10-18 |
WO2011075246A3 (en) | 2011-08-18 |
DE102010052680A1 (de) | 2011-07-07 |
US20110154079A1 (en) | 2011-06-23 |
CN102103484B (zh) | 2015-08-19 |
GB201119728D0 (en) | 2011-12-28 |
US20130185580A1 (en) | 2013-07-18 |
JP5571784B2 (ja) | 2014-08-13 |
JP5795820B2 (ja) | 2015-10-14 |
KR20120110120A (ko) | 2012-10-09 |
TW201131349A (en) | 2011-09-16 |
KR101410634B1 (ko) | 2014-06-20 |
US8464035B2 (en) | 2013-06-11 |
GB2483012A (en) | 2012-02-22 |
TWI512448B (zh) | 2015-12-11 |
CN102103484A (zh) | 2011-06-22 |
US9032232B2 (en) | 2015-05-12 |
JP2014222520A (ja) | 2014-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5795820B2 (ja) | プロセッサ、方法、システム、及び、プログラム | |
TWI742032B (zh) | 用於使用者等級執行緒暫止的方法、設備及指令 | |
US8539485B2 (en) | Polling using reservation mechanism | |
TWI590153B (zh) | 用於多線串處理之方法 | |
JP4642305B2 (ja) | マルチスレッド・プロセッサ内の複数のスレッドに入り、出る方法と装置 | |
US10423216B2 (en) | Asymmetric multi-core processor with native switching mechanism | |
US9003421B2 (en) | Acceleration threads on idle OS-visible thread execution units | |
US7127561B2 (en) | Coherency techniques for suspending execution of a thread until a specified memory access occurs | |
JP2010044770A (ja) | モニタメモリ待機を用いたキューされたロック | |
US8271765B2 (en) | Managing instructions for more efficient load/store unit usage | |
US8612730B2 (en) | Hardware assist thread for dynamic performance profiling | |
US20160162293A1 (en) | Asymmetric processor with cores that support different isa instruction subsets | |
US20110173420A1 (en) | Processor resume unit | |
US20240103914A1 (en) | Dynamically adjusting thread affinitization using hardware-based core availability notifications | |
US20240103868A1 (en) | Virtual Idle Loops |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130617 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130702 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131002 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131022 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140120 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140212 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140508 |
|
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: 20140527 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140626 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5571784 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 |
|
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 |