JP2014112399A - ディジタル・パワー・スロットルを備えたマイクロプロセッサ - Google Patents

ディジタル・パワー・スロットルを備えたマイクロプロセッサ Download PDF

Info

Publication number
JP2014112399A
JP2014112399A JP2014002324A JP2014002324A JP2014112399A JP 2014112399 A JP2014112399 A JP 2014112399A JP 2014002324 A JP2014002324 A JP 2014002324A JP 2014002324 A JP2014002324 A JP 2014002324A JP 2014112399 A JP2014112399 A JP 2014112399A
Authority
JP
Japan
Prior art keywords
processor
power
throttle
power consumption
unit
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
Application number
JP2014002324A
Other languages
English (en)
Other versions
JP6042830B2 (ja
Inventor
T Grochowski Edward
グロコウスキー,エドワード・ティー
Sharma Vinod
シャーマ,ヴィノッド
S Matthew Gregory
マシュー,グレゴリー・エス
Joshi Vivek
ジョーシ,ビベック
M Kling Ralph
クリング,ラルフ・エム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of JP2014112399A publication Critical patent/JP2014112399A/ja
Application granted granted Critical
Publication of JP6042830B2 publication Critical patent/JP6042830B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

【課題】プロセッサ内の電力消費を調整するためのディジタルベースのメカニズムを提
供する。
【解決手段】本発明は、プロセッサ内の電力消費を調整するためのディジタルベースのメカニズムを提供する。このプロセッサは、1つまたは複数の機能ユニットと、プロセッサの機能ユニットの活動状態を監視して、プロセッサの電力消費を推定するディジタル・スロットルとを含む。このディジタル・スロットルの一実施形態は、1つまたは複数のゲート・ユニットと、1つの監視回路(320)と、1つのスロットル回路(330)とを含む。各ゲート・ユニットは、プロセッサの機能ユニットへの電力送付を制御し、その関連機能ユニットの活動状態を示す信号を出力する。監視回路は、信号から推定電力消費レベルを決定し、その推定電力消費としきい電力レベルを比較する。推定電力消費レベルがしきい電力レベルを超える場合、スロットル回路はプロセッサ内の命令フローを調整する。
【選択図】図3

Description

本発明は、マイクロプロセッサに関し、特に、マイクロプロセッサ内の電力消費を制御するためのメカニズムに関する。
最新のプロセッサは、複数命令の並行処理をサポートするために多くの実行資源を含んでいる。通常、プロセッサは、それぞれ、整数命令、浮動小数点命令、分岐命令、ロード/ストア命令を実施するために、1つまたは複数の整数実行ユニット、浮動小数点実行ユニット、分岐実行ユニット、メモリ実行ユニットを含む。そのうえ、整数ユニットと浮動小数点ユニットは通常、プロセッサ・コアに比較的密接なデータを維持管理するためのレジスタ・ファイルを含む。多くの実行資源をプロセッサに設ける場合の欠点の1つは、それらを動作させるために大量の電力を必要とすることである。種々の実行ユニットは、それらのサイズおよびそれらが実施する機能に応じて、多かれ少なかれ電力を消費するがあるが、比較的小さいプロセス・チップ上に非常に多くのロジックをパッキングすることによる最終結果として、重大な電力損問題の可能性が生じる。
相当な間隔の間プロセッサの実行資源の全域を必要とするプログラムはほとんどない。プログラムを実行することによって浪費する電力は、そのコンポーネント命令の性質と、その命令が並行して実行される可能性によって決まる。プログラムは通常、様々な命令タイプを含むが、相当な期間の間、プロセッサのすべての実行資源を使用中として保持するために適切なタイプの沢山の命令が使用可能であることはめったにない。このため、ほとんどのプロセッサではクロック・ゲート・メカニズムを使用し、実行資源を使用していないときにその実行資源に送られるクロックを遮断し、それにより電力を削減する。そのうえ、実行資源の種々のコンポーネントは、そのコンポーネントが処理するパイプ・ステージに命令が出入りするときに、オン/オフすることができる。その結果、平均的なプログラムが浪費する電力レベルは比較的管理しやすいものになる可能性がある。
プログラムによっては、比較的長い間プロセッサの実行資源の多くを活動化し、その結果、平均的なプログラムよりかなり多くの電力を浪費するものがある。プロセッサの電力消費を制限するためのメカニズムが設けられていない場合、そのプロセッサは、一般に、最大電力を消費するプログラムを取り扱うように設計されている。このため、平均的なプログラムを実行するために必要な電力とは無関係に、すべてのプログラムについて、その最高パフォーマンス・レベル未満でプロセッサを動作させることが必要になる場合もある。
パワー・スロットルは、ハイ・パフォーマンス・プロセッサによって発生する電力消費問題を取り扱うために提案された戦略である。パワー・スロットルは、プロセッサの電力消費が高くなりすぎると、そのプロセッサのパフォーマンスを低下させる。これは、電力消費が安全なレベルに低下するまでプロセッサが命令を実行する速度を一時的に低減することによって実行することができる。パワー・スロットルにより、平均的なプログラムが実行される電力レベルに対応してプロセッサを設計することができる。多大な資源を必要とするプログラムを実行すると、プロセッサはその命令実行速度を低減して、その電力消費を既定の制限内に維持する。
提案されているパワー・スロットル・メカニズムは、プロセッサが浪費する電力を監視するためにアナログ・パラメータを頼りにしている。たとえば、サーマル・スロットル・メカニズムは、プロセッサ・チップの温度を監視し、その温度がしきい値を超えるとプロセッサの実行速度を低減する。プロセッサが消費する電流またはスイッチング・レギュレータ内のパルス幅変調器のデューティ・サイクルを監視するために、その他のスロットル方式も提案されている。
このようなパワー・スロットル・メカニズムにはいくつかの欠点がある。このようなメカニズムは、主にディジタルの環境、すなわち、プロセッサ内に追加のアナログ回路をもたらすことになる。このようなメカニズムは、プロセッサの環境(温度、電圧、構成)の変化によって様々になる傾向がある。また、このようなメカニズムは、プロセッサが消費する電力を直接制限するわけではなく、決定的なものではない。すなわち、その挙動はクロック単位で予測することができない。
本発明は、使用可能なパワー・スロットル・メカニズムの上記その他の欠点に対処するものである。
本発明は、マイクロプロセッサの電力消費を制御するためのディジタル・スロットルを提供する。
本発明によれば、プロセッサは、1つまたは複数の機能ユニットと、ディジタル・スロットルとを含む。ディジタル・スロットルは、プロセッサの機能ユニットの活動状態を監視して、プロセッサの電力消費を推定する。
本発明の一実施態様の場合、ディジタル・スロットルは、1つまたは複数のゲート・ユニットと、1つの監視回路と、1つのスロットル回路とを含む。各ゲート・ユニットは、プロセッサの機能ユニットへの電力送付を制御し、その関連機能ユニットの活動状態を示す信号を出力する。監視回路は、信号からそのプロセッサの推定電力消費を決定し、その推定電力消費としきい電力レベルを比較する。推定電力消費レベルがしきい電力レベルを超える場合、スロットル回路はプロセッサ内の命令フローを調整する。
本発明は添付図面を参照して理解可能であるが、その添付図面では同様の要素は同様の番号で示されている。これらの図面は、本発明の特定の実施形態を例示するために提供するものであり、本発明の範囲を制限するためのものではない。
本発明を実施することができるコンピュータ・システムの一実施形態を示すブロック図である。 本発明によるディジタル・パワー・スロットルを実現するプロセッサの一実施形態を示すブロック図である。 図2のプロセッサによって実現されるディジタル・パワー・スロットルの一実施形態を示すブロック図である。 図3のスロットル回路の一実施形態を表す概略図である。 プロセッサの電力消費を調整するための本発明による方法を表す流れ図である。 本発明によるディジタル・スロットルを実現する複数実行コア・プロセッサの実施形態を表すブロック図である。 本発明によるディジタル・スロットルを実現する複数実行コア・プロセッサの実施形態を表すブロック図である。
以下の説明では、本発明を完全に理解できるようにするために多くの具体的な詳細を示している。しかし、この開示内容の恩恵を受ける当業者は、このような具体的な詳細がなくても本発明を実施可能であることが分かるだろう。さらに、本発明の特徴に焦点を当てるために、様々な周知の方法、手順、構成要素、回路については詳細に説明していない。
本発明は、一連の命令に応答してプロセッサの機能ユニットの活動を監視してプロセッサの電力損を制御するためのメカニズムを提供する。その活動、たとえば、現在進行中の命令によってどの機能ユニットが活動化されるかは、対応する機能ユニットがオンかオフかを示す2進信号によって表すことができる。プロセッサが消費する電力の推定値は、現在「オン」になっている各機能ユニットに関連するパワー・ウェイトを合計することによって得られる。機能ユニットのパワー・ウェイトは、その機能ユニットが活動化されたときに消費する電力の量を表す。推定電力がしきい値レベルを超えた場合、スロットル・メカニズムはプロセッサを通る命令フローを調整して、機能ユニットの活動を低減する。
各機能ユニットのパワー・ウェイトは、較正プロセスによって決定することができる。たとえば、デジタル・スロットルは設計プロセスの一部として1回較正される場合もあれば、自己較正し続ける場合もある。後者の場合、ディジタル・スロットルは、電流監視回路と較正アルゴリズムを使用して、定期的に各機能ユニットごとにパワー・ウェイトを調整することができる。
本発明の一実施形態の場合、現在進行中の命令に応答して機能ユニットへの電力送付を制御するために、各機能ユニットに1つのゲート・ユニットが関連づけられている。パイプライン制御回路は、各ゲート・ユニットにそれに関連する機能ユニットのオン/オフ状態を示す。各ゲート・ユニットからの信号は、それに関連する機能ユニットのオン/オフ状態を監視回路に示す。監視回路は、示された状態に応じて、対応するパワー・ウェイトをプロセッサの現行電力消費の推定値に含めるかまたはそのパワー・ウェイトを無視する。別法として、各ゲート・ユニット信号は、それに関連する機能ユニットが「オン」になっているときにその機能ユニットのパワー・ウェイトを監視回路に連絡することもできる。本発明の他の実施形態では、推定電力で考慮すべきパワー・ウェイトを示すために他のメカニズムを使用することができる。
監視回路は、アクティブな機能ユニットのパワー・ウェイトを合計し、それをしきい値と比較して、プロセッサの電力消費のクロック単位の推定値を出力する。ディジタル・スロットルの一実施形態の場合、複数のクロック・サイクルにわたってこのような推定値を累積し、プロセッサの電力消費のクロック単位の変動を平滑化する累積電力値を出力する。スロットル回路は、累積電力値に応じて、命令が処理される速度を調整する。たとえば、スロットル回路は、プロセッサの命令実行パイプラインに「バブル」を注入してパフォーマンスを低減する場合もあれば、プロセッサのクロックが動作する周波数を低減する場合もある。
したがって、開示したメカニズムでは、電力消費を推定するためにプロセッサのロジック内のディジタル・イベント(活動状態)を頼りにし、命令が処理される速度によってこれらのイベントの速度を直接調整する。これにより、プロセッサの電力消費を制御するための高速かつ直接的で決定的なメカニズムが得られ、プロセッサにアナログ回路をもたらさずにそれが実行される。
図1は、本発明を実施可能なコンピュータ・システム100の一実施形態を示すブロック図である。コンピュータ・システム100は、1つまたは複数のプロセッサ110と、メイン・メモリ140と、不揮発性メモリ150と、様々な周辺装置160と、システム・ロジック170とを含む。システム・ロジック170は、プロセッサ(複数も可)110と、メイン・メモリ140と、不揮発性メモリ150と、周辺装置160との間のデータ転送を制御する。コンピュータ・システム100は、本発明の様々な特徴を例示するために示したものである。図示の特定の構成は、本発明を実施するために必要なものではない。
プロセッサ110は複数の機能ユニット124を含み、これらが1つの命令実行パイプライン120を形成する。命令は、メイン・メモリ140および不揮発性メモリ150からプロセッサ110に供給される。ディジタル・スロットル130は、処理された命令に応答して様々な機能ユニット124内の電力消費を監視し、それに応じてパイプライン120を通る命令フローを調整する。
命令は、パイプライン120のステージに載せられると、まとめるとその命令を実施することになる1つまたは複数のオペレーションを実行するよう様々な機能ユニット124に指示する。たとえば、浮動小数点乗算累算命令(FMAC)では示された資源内で次のようなオペレーションが行われる可能性がある。すなわち、浮動小数点レジスタ・ファイルが3つのオペランドを読み取り、FMAC実行ユニットがそのうちの2つのオペランドを乗算し、その積を第3のオペランドに加算し、例外ユニットがその積と和についてエラーがないかどうかチェックし、エラーが検出されない場合にリタイヤメント・ユニットがその結果を浮動小数点レジスタに書き込む。特定のプロセッサ実施例に応じて、このような資源またはそのコンポーネントは1つまたは複数の機能ユニットにグループ化することができ、その機能ユニットは命令がパイプラインのステージに載せられるときにオン/オフされる。各機能ユニットは、命令によって活動化されると、所与の量の電力を消費する。
本発明の一実施形態の場合、機能ユニット124が消費する電力は関連のパワー・ウェイトによって表される。機能ユニットが命令によって活動化されると、ディジタル・スロットル130は、そのアクティブ状態を検出し、それに関連するパワー・ウェイトをプロセッサの総電力消費の推定値に加算する。ディジタル・スロットル130は、選択した間隔にわたってこのようなオペレーションを実施し、現在実行中の命令シーケンスが消費する電力の推定値を生成し、推定電力消費が指定のしきい値レベルを超えた場合にパイプライン120を通る命令フローを調整する。
図2は、プロセッサ110の一実施形態をより詳細に表している。開示したプロセッサ110の実施形態の場合、パイプライン120は、それぞれフェッチ(FET)ステージ、展開(EXP)ステージ、レジスタ(REG)ステージ、実行(EXE)ステージ、検出(DET)ステージ、リタイヤメント(RET)ステージとして表され、各ステージに対応する実行資源が示されている。本発明では、プロセッサ110を特定のパイプライン・ステージ・セットに区分する必要はない。たとえば、開示した1つのステージは、タイミング問題に対処するかまたはより高速のプロセッサ・クロック速度を容易にするために、2つまたはそれ以上のステージに細分することができる。別法として、2つまたはそれ以上のステージを単一ステージに結合することもできる。他の実施形態では、命令をout−of−order方式で処理するためのハードウェアを含むこともできる。開示したパイプラインは、本発明を実施するプロセッサに複数のオペレーションを区分する方法の一例のみを示している。
パイプライン120のフロント・エンドはフェッチ・ユニット210と発行ユニット220とを含み、これらはパイプライン120のバック・エンド内の実行ユニットに命令を供給して実行する。フェッチ・ユニット210は、メモリ140から直接またはローカル・キャッシュ(図示せず)を介して命令を取り出し、フェッチした命令を発行ユニット220に供給する。発行ユニット220は、命令をデコードし、それをパイプライン120のバック・エンド内の実行資源に発行する。
この説明全体を通して、「命令」という用語は、一般に、命令、マクロ命令、命令バンドル、またはプロセッサ・オペレーションをコード化するために使用するその他の複数のメカニズムのいずれかを指すために使用する。たとえば、デコード・オペレーションは、マクロ命令を1つまたは複数のマイクロオペレーション(μop)に変換する場合もあれば、命令バンドルを1つまたは複数の命令シラブルに分解するか、または命令に関連するマイクロコード・シーケンスを取り出す場合もある。
パイプライン120のバック・エンドは、レジスタ・ユニット230と、実行ユニット250と、例外ユニット260と、リタイヤメント・ユニット270とを含む。レジスタ・ユニット230は、命令に指定されたレジスタを識別し、識別したレジスタからのデータにそれぞれアクセスするために、レジスタ・リネーム・ユニットと様々なレジスタ・ファイル(図示せず)とを含む。実行ユニット250は、分岐命令、整数命令、ロード/ストア命令、浮動小数点命令を処理するために、1つまたは複数の分岐実行ユニット(BRU)252と、整数実行ユニット(IEU)254と、ロード/ストア・ユニット(LSU)256と、浮動小数点実行ユニット(FPU)258とを含む。例外ユニット260は、実行ユニット250によって生成された結果をチェックし、例外条件を検出した場合に制御フローを調整する。例外条件が一切検出されない場合、リタイヤメント・ユニット270は、その結果によってプロセッサ110のアーキテクチャ状態を更新する。
種々の命令によって活動化された機能ユニットは、パイプライン120に関して示した実行資源の様々な組合せおよびサブセットに対応する。ディジタル・スロットル130は、これらの機能ユニットの活動状態を監視し、パイプライン120を通って命令が処理される速度をそれに応じて調整する。たとえば、1つの機能ユニットが浮動小数点レジスタ(レジスタ・ユニット230内)を含む場合があり、FPU258が2つまたはそれ以上の機能ユニット内のコンポーネントを有する場合もある。一般に、機能ユニットは、まとめて活動化され非活動化される様々な実行資源(レジスタ・ファイル、実行ユニット、追跡ロジック)を含む。本発明は、図2に示す機能ユニットと実行資源間の詳細なマッピングに依存していない。
図3は、ディジタル・スロットル130の一実施形態と、それとパイプライン120の機能ユニット124との対話を表すブロック図である。開示したディジタル・スロットル130の実施形態は、ゲート・ユニット310(1)〜310(n)(総称してゲート・ユニット130)と、監視回路320と、スロットル回路330とを含む。各ゲート・ユニット310は、機能ユニットへの電力送付を制御するために、パイプライン120内の機能ユニット124に関連づけられている。たとえば、ゲート・ユニット310は、現在、機能ユニットが動作するパイプライン・ステージ内にある命令を実施するために機能ユニット124のサービスが必要かどうかに応じて機能ユニット124にクロック信号を結合するかまたは減結合するクロック・ゲート回路にすることができる。図3には、現在実行中の命令に関してどの機能ユニットがアクティブであるかをゲート・ユニット310に示すパイプライン制御回路350も示されている。
開示したディジタル・スロットル130の実施形態の場合、各ゲート・ユニット130は、機能ユニット124に電力が送付されているかどうかを示すための信号を監視回路320に供給する。たとえば、その信号は機能ユニット124の活動状態にすることができ、機能ユニット124が「オン」になったときにアサートされる。その信号がアサートされると、すなわち、ゲート・ユニット130が機能ユニット124に電力を供給すると、その機能ユニットのパワー・ウェイトがプロセッサ110の推定電力消費に加算される。その信号がアサートされないと、すなわち、ゲート・ユニット130が機能ユニット124への電力を遮断すると、関連のパワー・ウェイトは推定電力消費に加算されない。典型的なプロセッサは、10〜20個の機能ユニット124への電力送付を制御するために、10〜20個のゲート・ユニット310を含むことができる。
監視回路320は、ゲート・ユニット130から信号を収集し、収集した信号からプロセッサ110の現行推定電力消費レベルを決定する。開示したディジタル・スロットル130の実施形態の場合、監視回路320は、ウェイト・ユニット314(1)〜314(n)(総称してウェイト・ユニット314)と、加算器324と、飽和回路326と、アキュムレータ328とを含む。本発明の一実施形態では、各ウェイト・ユニット314は、対応するゲート・ユニット310を介して機能ユニット124の1つに関連づけられている。ウェイト・ユニット314は、そのゲート・ユニット310からの活動状態信号がアサートされると、加算器324に電力レベルを供給する。活動状態信号がアサートされないと、ウェイト・ユニット314は0を出力する。
加算器324は、ウェイト・ユニット134によって示されたパワー・ウェイトを合計し、その和からしきい値レベルを減算する。加算器324の出力は飽和回路326を介してアキュムレータ328に転送される。飽和回路326は、加算器324によって転送された値がオーバフローした場合のラップアラウンドを防止するために含まれている。アキュムレータ328は、転送された値をスロットル回路330に供給し、プロセッサの後続活動状態に応じて更新すべきコピー・バックも加算器324に供給する。
アキュムレータ328の内容(「累積電力」)は、選択した間隔でスロットル回路330に供給される。スロットル回路330の一実施形態では、累積電力が正の場合、たとえば、指定の間隔にわたる累積電力消費推定値がしきい電力レベルを超えた場合に、パイプライン120を通る命令フローを低減する。スロットル回路330は、パイプライン120のバック・エンドに供給された命令ストリームに「バブル」を注入するよう、フェッチ・ユニット210に合図する。実際に、スロットル回路330は、指定の間隔に関する推定電力消費がしきい値レベルを超えると、プロセッサ・クロックのデューティ・サイクルを調整する。
表1は、指定の間隔が128クロック・サイクルである場合のデューティ・サイクル調整値のセットを示している。
Figure 2014112399
表1が示す実施形態の場合、パワー・ウェイトは、機能ユニットが活動化されたときにその機能ユニットが消費する電力に比例した8〜16ビットの固定小数点数にすることができる。Xの上位8ビットは、プロセッサ・クロックのデューティ・サイクルを調整するために使用することができる。これらのビットはより低速で変化し、スロットル回路330が示す命令フローの変化をダンピングする。上記の例では、サンプリング間隔が128クロック・サイクルであり、ディジタル・スロットル130は、128通りのスロットル・レベルを提供する。これらのレベルは、推定電力消費がしきい電力消費を超えた量に比例した微調整スロットル制御を可能にする。好ましくは、スロットル回路350は、そのサンプリング間隔にわたって推定電力消費が示すオン/オフ周期を分散させる。この分散は、均一である場合もあれば、ランダムである場合もあり、他の何らかのパターンで左右される場合もある。このような分散の1つを以下に詳細に説明する。
図4は、スロットル回路330の一実施形態の概略表現である。開示したスロットル回路330の実施形態は、メモリ装置410と、制御ユニット420と、カウンタ430とを含む。累積電力が記憶されるアキュムレータ338のレジスタ440も示されている。メモリ装置410はたとえば読取り専用メモリ(ROM)にすることができ、その項目はカウンタ420からのタイミング表示とアキュムレータ328からの累積電力レベルに応答して制御ユニット420を介してアクセスされる。
開示したスロットル回路330の実施形態の場合、カウンタ430はモジュロ128カウンタである。カウンタ430の出力は、連続するクロック・サイクルで0〜127まで制御ユニット420内の列インデックスを増分し、127に達すると0に戻る。同様に、アキュムレータ328の出力は、累積電力の現行値に応じて制御ユニット420内の行インデックスを調整する。開示した実施形態の場合、行インデックスは、X<=0、72、124のときに、それぞれ0、71、123になる。制御ユニット420はこれらのインデックスを使用して、メモリ装置410から対応する項目を読み取る。その項目の値は、プロセッサ110の命令実行パイプラインにバブルを注入すべきかどうかを示す。たとえば、出力が0の場合はバブルを注入し、出力が1の場合はバブルを一切注入しない。
メモリ装置410の一実施形態の場合、各行には1と0からなる種々の数が入り、0の数はその行にマッピングされたXの値でスケーリングする。たとえば、行0はすべて1を含み、したがって、累積電力レベル(X)が0を超えない場合、すなわち、動作電力推定値がしきい値レベルを超えない場合は、命令実行パイプラインにバブルが一切注入されない。パワー・スペクトルの反対側の行127は1を一切含まない。したがって、累積電力レベルが指定の量を超える限り、各クロック・サイクルごとに命令実行パイプラインにバブルが注入される。開示した例では、この量は飽和回路328によって127として決定され、すなわち、X=>127になる。行0から行127までの行には、Xの値に比例した0を入れることができる。たとえば、行67はその種々の列に分散した68個の0を含み、行111はその列全体に分散した112個の0を含み、行17はその列全体に分散した18個の0を含む。本発明の一実施形態の場合、それが指定する行の列全体に0をランダムに分散することができる。
開示したディジタル・スロットル130の実施形態はフィードバック・ループを含む。スロットルの量は機能ユニットの活動状態によって決まり、それはスロットルの量に影響される。アキュムレータ328は経時的に積分を実行し、このフィードバック・ループに90度の遅れ移相をもたらす。安定性のため、フィードバック・ループ内のその他の遅延、すなわち移相を最小限にすることが重要である。ディジタル・フィードバック・ループの安定性基準は、おそらく、命令実行パイプラインを通り抜けるために必要なクロック・サイクル数に対応する間隔(パイプライン間隔)中にプロセッサの電力消費を著しく調整する方法によって決まることになる。たとえば、パイプライン間隔中の電力消費の変化が比較的小さくなるようにパワー・ウェイトを選択しなければならない。
ディジタル・スロットル130の応答時間はそのフィードバック・ループによって制御される。ディジタル・スロットルは、プロセッサのコンポーネントの群挙動によって決まる巨視的現象(温度、電流)ではなくロジック内の離散信号に応答して動作するので、その応答時間は数マイクロ秒程度になる。また、サーマル・ベースのスロットル・メカニズムの応答時間は数秒程度になる。ディジタル・スロットル130は、この応答時間より持続時間が短い電力消費のピークを制御することはできない。たとえば、注入したバブルによって表されるパフォーマンス損失を最小限にするために、ディジタル・スロットル130は、電力送付システムが許す限り低速で応答する。これは、電力送付システムがこの応答時間より短い間隔についてしきい値レベルを上回るプロセッサの電力消費のピークを処理できなければならないことを意味する。このようなピークの場合、プロセッサの電源コンデンサからエネルギーを供給することができる。
ディジタル・スロットル130は、それがプロセッサの電力消費を制御する程度が大きくなるほど効果的なものになるだろう。また、プロセッサの機能ユニットの大部分をカバーするゲート・メカニズムをプロセッサ130が実装する場合にディジタル・スロットル130は最も効果的なものになる。多くのゲート制御手段のディジタル・スロットル130は、しきい値レベルを超えたときに電力消費のレベルを迅速かつ大幅に制御することができる。同様に、機能ユニットをきめ細かく制御すると、ディジタル・スロットル130の効力が増大する。たとえば、プロセッサの実行資源をより多数の機能ユニット124に分割し、これらの機能ユニットを制御するために追加のゲート・ユニットを設けると、スロットル130はプロセッサの電力消費をより強力に制御できるようになる。
図5は、プロセッサ内の電力をスロットリングするための本発明による方法500を表す流れ図である。方法500は、まず、510でプロセッサ内のどの機能ユニットがアクティブになっているかを決定する。機能ユニットの状態(アクティブ/非アクティブ)は、たとえば、その機能ユニットに電力を供給するクロック・ゲート回路からの信号によって示すことができる。たとえば、ゲート回路はそれが機能ユニットに電力を供給している場合(アクティブ状態)にその信号をアサートすることができ、それが現在機能ユニットに電力を供給していない場合(非アクティブ状態)にその信号をアサート解除することができる。
510でアクティブな機能ユニットが決定されると、520でそのプロセッサの電力レベルを推定する。これは、各ゲート・ユニットが出力する信号にパワー・ウェイトを関連づけ、アサートされた各信号に関連するパワー・ウェイト分だけ推定電力レベルを増分することによって、実施することができる。アサート解除した信号に関連するウェイト付き電力は現行推定電力レベルに寄与しない。
530で現行推定電力レベルをしきい電力レベルと比較する。しきい電力レベルは、たとえば、そのレベル以上で長期間の間、プロセッサを動作させてはならない電力レベルを表している。一実施形態の場合、現行推定電力レベルからしきい値を減算し、プロセッサの相対電力レベルの現行推定値、すなわち、累積電力にその結果を加算する。累積電力が正(EPL>しきい値)である場合、540で命令スループットを調整する。累積電力が負(EPL<しきい値)である場合、命令スループットに対する調整を一切行わない。
プロセッサの命令スループットはいくつかのメカニズムによって低減することができる。方法500の一実施形態の場合、クロック・サイクルのうち、プロセッサの機能ユニットがアクティブになっている部分を低減するために、命令実行パイプラインにバブルを注入することができる。たとえば、プロセッサ・クロックの選択したサイクルでのみ命令を発行するよう発行ユニットをトリガすることによってバブルを導入することができる。本発明の他の実施形態の場合、プロセッサのクロックが動作する周波数を低減することができる。
本発明の利点の1つは、プロセッサ・パイプラインの実行資源がパイプラインの機能ユニットにおける活動のレベルに応じて調整されることである。電力消費を推定するためのサーマル・ベースまたは電流ベースの技法とは異なり、ディジタル・スロットルが監視する機能ユニットの活動は、プロセッサ内の個々のパイプラインに特有のものである。その結果、特定のユニットに活動および電力消費を割り当てる際の特異性は、単一のプロセッサ・チップ上で複数の実行コアを実施するプロセッサで特に有用である。この場合、「実行コア」とは、完全なプロセッサに関連する実行資源を指すので、複数実行コア・プロセッサは単一チップ上で複数のプロセッサを効果的に実施する。本発明のディジタル・スロットルにより、多大な電力を必要とするコード・セグメントを処理する実行コアは、総電力消費量がしきい値レベルを超えない限り、残りの実行コア(複数も可)から電力を効果的に借りることができる。別法として、その命令実行パイプライン内の活動に応じて、各実行コアをスロットリングすることができる。
図6Aは、本発明が実施される複数実行コア・プロセッサ610の一実施形態を示すブロック・レベル図である。プロセッサ610は実行コア620(a)〜620(n)(総称して実行コア(複数も可)630)を含む。各実行コア620は、実行パイプライン640を形成する機能ユニット630を含む。共用ディジタル・スロットル650は、すべてのパイプライン640の機能ユニット630内の活動を監視して調整する。プロセッサ110のこの実施形態により、各実行コア620は、総電力しきい値を超えない限り、残りの実行コアから電力を借りることができる。
図6Bは、本発明が実施される複数実行コア・プロセッサ660の他の実施形態を示すブロック・レベル図である。プロセッサ660は実行コア620(a)〜620(n)(総称して実行コア(複数も可)630)を含み、そのそれぞれは、実行パイプライン640を形成する機能ユニット630を含む。各実行コア630は、その機能ユニット630内の活動を監視して調整するためのディジタル・スロットル650も含む。プロセッサ110のこの実施形態により、各実行コア620は、それに関連するディジタル・スロットル630によって独立してスロットリングすることができる。
したがって、プロセッサの機能ユニットの活動状態に応じてプロセッサ内の電力消費を制御するディジタル・スロットルが提供されている。命令実行中に活動状態を監視し、活動状態から推定した電力消費レベルに応じて実行速度を調整する。推定電力消費に応答して命令実行ストリーム内に「バブル」またはNOPを注入することにより、電力消費を制御することができる。
本発明の一実施形態の場合、各機能ユニットにパワー・ユニットを割り当て、アクティブになっている各機能ユニットのパワー・ウェイトを合計することによりプロセッサの電力消費を推定する。推定電力消費量がしきい値を超えると、ディジタル・スロットルは、プロセッサが命令を実行する速度を低減する。プロセッサの設計またはテスト段階での較正手順によって様々な機能ユニットのパワー・ウェイトを決定することができる。また、ディジタル・スロットルは、自己較正手順を実施するための回路も含むことができる。
開示した実施形態は、本発明の様々な特徴を例示するために提供されている。この開示内容の恩恵を受けるプロセッサ設計の当業者であれば、開示した実施形態の変形および変更を認識できるだろうが、それにもかかわらず、その変形および変更は特許請求の範囲の精神および範囲に含まれるものである。

Claims (1)

  1. 複数の機能ユニットと、
    前記複数の機能ユニットのそれぞれに対する電力供給を制御し、前記複数の機能ユニットに供給された電力レベルを示す信号を出力する複数のゲート回路と、
    示された前記電力レベルを反映した推定電力レベルをしきい電力レベルと比較する監視回路と、
    前記推定電力レベルが前記しきい電力レベルを超えた場合にプロセッサ内の命令フローを調整するスロットル回路とを含む、プロセッサ。
JP2014002324A 1999-12-23 2014-01-09 プロセッサおよびプロセッサ内の電力消費を推定する方法 Expired - Fee Related JP6042830B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/471,795 US6564328B1 (en) 1999-12-23 1999-12-23 Microprocessor with digital power throttle
US09/471,795 1999-12-23

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012130447A Division JP5650689B2 (ja) 1999-12-23 2012-06-08 ディジタル・パワー・スロットルを備えたマイクロプロセッサ

Publications (2)

Publication Number Publication Date
JP2014112399A true JP2014112399A (ja) 2014-06-19
JP6042830B2 JP6042830B2 (ja) 2016-12-14

Family

ID=23873030

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2001549170A Expired - Fee Related JP5073903B2 (ja) 1999-12-23 2000-11-21 ディジタル・パワー・スロットルを備えたマイクロプロセッサ
JP2012130447A Expired - Fee Related JP5650689B2 (ja) 1999-12-23 2012-06-08 ディジタル・パワー・スロットルを備えたマイクロプロセッサ
JP2014002324A Expired - Fee Related JP6042830B2 (ja) 1999-12-23 2014-01-09 プロセッサおよびプロセッサ内の電力消費を推定する方法

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2001549170A Expired - Fee Related JP5073903B2 (ja) 1999-12-23 2000-11-21 ディジタル・パワー・スロットルを備えたマイクロプロセッサ
JP2012130447A Expired - Fee Related JP5650689B2 (ja) 1999-12-23 2012-06-08 ディジタル・パワー・スロットルを備えたマイクロプロセッサ

Country Status (12)

Country Link
US (1) US6564328B1 (ja)
EP (1) EP1259870B1 (ja)
JP (3) JP5073903B2 (ja)
KR (1) KR100511110B1 (ja)
CN (2) CN100492252C (ja)
AT (1) ATE460698T1 (ja)
AU (1) AU1626601A (ja)
DE (1) DE60043996D1 (ja)
GB (1) GB2373896C (ja)
HK (1) HK1046561B (ja)
TW (1) TW512261B (ja)
WO (1) WO2001048584A1 (ja)

Families Citing this family (192)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100361340B1 (ko) * 2000-05-15 2002-12-05 엘지전자 주식회사 씨피유 클럭 제어 방법
US6968469B1 (en) 2000-06-16 2005-11-22 Transmeta Corporation System and method for preserving internal processor context when the processor is powered down and restoring the internal processor context when processor is restored
KR100613201B1 (ko) * 2000-08-28 2006-08-18 마이크로코넥트 엘엘씨 씨피유 사용량 측정 방법
KR100487543B1 (ko) * 2000-09-01 2005-05-03 엘지전자 주식회사 시피유 스케쥴링 방법
US6625737B1 (en) * 2000-09-20 2003-09-23 Mips Technologies Inc. System for prediction and control of power consumption in digital system
US7620832B2 (en) * 2000-09-20 2009-11-17 Mips Technologies, Inc. Method and apparatus for masking a microprocessor execution signature
US6704876B1 (en) * 2000-09-26 2004-03-09 Sun Microsystems, Inc. Microprocessor speed control mechanism using power dissipation estimation based on the instruction data path
US7174194B2 (en) * 2000-10-24 2007-02-06 Texas Instruments Incorporated Temperature field controlled scheduling for processing systems
US6895520B1 (en) * 2001-03-02 2005-05-17 Advanced Micro Devices, Inc. Performance and power optimization via block oriented performance measurement and control
US7231500B2 (en) * 2001-03-22 2007-06-12 Sony Computer Entertainment Inc. External data interface in a computer architecture for broadband networks
US6526491B2 (en) * 2001-03-22 2003-02-25 Sony Corporation Entertainment Inc. Memory protection system and method for computer architecture for broadband networks
US7233998B2 (en) * 2001-03-22 2007-06-19 Sony Computer Entertainment Inc. Computer architecture and software cells for broadband networks
US7516334B2 (en) * 2001-03-22 2009-04-07 Sony Computer Entertainment Inc. Power management for processing modules
JP2002366351A (ja) * 2001-06-06 2002-12-20 Nec Corp スーパースカラ・プロセッサ
US7000138B1 (en) * 2001-06-07 2006-02-14 Cirrus Logic, Inc Circuits and methods for power management in a processor-based system and systems using the same
US6907534B2 (en) * 2001-06-29 2005-06-14 Hewlett-Packard Development Company, L.P. Minimizing power consumption in pipelined circuit by shutting down pipelined circuit in response to predetermined period of time having expired
KR100390645B1 (ko) * 2001-07-27 2003-07-07 삼성전자주식회사 이동통신단말기 시스템에서 소모전류를 줄이기 위한 방법
US7111178B2 (en) * 2001-09-28 2006-09-19 Intel Corporation Method and apparatus for adjusting the voltage and frequency to minimize power dissipation in a multiprocessor system
US6859886B1 (en) 2001-10-02 2005-02-22 Lsi Logic Corporation IO based embedded processor clock speed control
US6834353B2 (en) * 2001-10-22 2004-12-21 International Business Machines Corporation Method and apparatus for reducing power consumption of a processing integrated circuit
US6892312B1 (en) * 2001-10-30 2005-05-10 Lsi Logic Corporation Power monitoring and reduction for embedded IO processors
GB2366891B (en) 2001-12-06 2002-11-20 Appsense Ltd Improvements in and relating to computer apparatus terminal server apparatus & performance management methods therefor
GB2412972B (en) * 2001-12-28 2006-01-04 Intel Corp Mechanism for estimating and controlling di/dt-induced power supply voltage variations
US7035785B2 (en) 2001-12-28 2006-04-25 Intel Corporation Mechanism for estimating and controlling di/dt-induced power supply voltage variations
US7096145B2 (en) * 2002-01-02 2006-08-22 Intel Corporation Deterministic power-estimation for thermal control
US7137013B2 (en) 2002-01-07 2006-11-14 International Business Machines Corporation Method and apparatus for dynamic power management in an execution unit using pipeline wave flow control
US7191350B2 (en) * 2002-01-30 2007-03-13 Matsushita Electric Industrial Co., Ltd. Instruction conversion apparatus and instruction conversion method providing power control information, program and circuit for implementing the instruction conversion, and microprocessor for executing the converted instruction
TW567408B (en) * 2002-03-29 2003-12-21 Uniwill Comp Corp Apparatus and method for controlling power and clock speed of electronic system
DE10221529A1 (de) * 2002-05-14 2003-12-04 Systemonic Ag Verfahren zum gesteuerten Abschalten von Datenverarbeitungseinheiten
US6908227B2 (en) * 2002-08-23 2005-06-21 Intel Corporation Apparatus for thermal management of multiple core microprocessors
US7062394B2 (en) * 2002-09-20 2006-06-13 Intel Corporation Performance characterization using effective processor frequency
US20040064745A1 (en) * 2002-09-26 2004-04-01 Sudarshan Kadambi Method and apparatus for controlling the rate at which instructions are executed by a microprocessor system
US7152169B2 (en) * 2002-11-29 2006-12-19 Intel Corporation Method for providing power management on multi-threaded processor by using SMM mode to place a physical processor into lower power state
US7219241B2 (en) * 2002-11-30 2007-05-15 Intel Corporation Method for managing virtual and actual performance states of logical processors in a multithreaded processor using system management mode
US7120804B2 (en) 2002-12-23 2006-10-10 Intel Corporation Method and apparatus for reducing power consumption through dynamic control of supply voltage and body bias including maintaining a substantially constant operating frequency
US7278040B2 (en) * 2003-03-21 2007-10-02 Via Technologies, Inc. Mechanism for providing measured power management transitions in a microprocessor
CN1795428B (zh) * 2003-05-27 2010-09-01 Nxp股份有限公司 监测和控制功耗
US7251737B2 (en) * 2003-10-31 2007-07-31 Sandbridge Technologies, Inc. Convergence device with dynamic program throttling that replaces noncritical programs with alternate capacity programs based on power indicator
US7034556B1 (en) * 2003-11-05 2006-04-25 Lockheed Martin Corporation Pulsed thermal monitor
US7287173B2 (en) * 2003-12-19 2007-10-23 Intel Corporation Method for computing power consumption levels of instruction and recompiling the program to reduce the excess power consumption
TWI276950B (en) * 2004-02-12 2007-03-21 Intervideo Digital Technology Computer power management architecture and method thereof
US20050228967A1 (en) * 2004-03-16 2005-10-13 Sony Computer Entertainment Inc. Methods and apparatus for reducing power dissipation in a multi-processor system
JP3830491B2 (ja) * 2004-03-29 2006-10-04 株式会社ソニー・コンピュータエンタテインメント プロセッサ、マルチプロセッサシステム、プロセッサシステム、情報処理装置および温度制御方法
US7360102B2 (en) * 2004-03-29 2008-04-15 Sony Computer Entertainment Inc. Methods and apparatus for achieving thermal management using processor manipulation
US8224639B2 (en) * 2004-03-29 2012-07-17 Sony Computer Entertainment Inc. Methods and apparatus for achieving thermal management using processing task scheduling
US7478225B1 (en) 2004-06-30 2009-01-13 Sun Microsystems, Inc. Apparatus and method to support pipelining of differing-latency instructions in a multithreaded processor
US7353364B1 (en) 2004-06-30 2008-04-01 Sun Microsystems, Inc. Apparatus and method for sharing a functional unit execution resource among a plurality of functional units
US7216216B1 (en) 2004-06-30 2007-05-08 Sun Microsystems, Inc. Register window management using first pipeline to change current window and second pipeline to read operand from old window and write operand to new window
US7747771B1 (en) 2004-06-30 2010-06-29 Oracle America, Inc. Register access protocol in a multihreaded multi-core processor
US8225034B1 (en) 2004-06-30 2012-07-17 Oracle America, Inc. Hybrid instruction buffer
US7861063B1 (en) 2004-06-30 2010-12-28 Oracle America, Inc. Delay slot handling in a processor
US7370243B1 (en) 2004-06-30 2008-05-06 Sun Microsystems, Inc. Precise error handling in a fine grain multithreaded multicore processor
US7383403B1 (en) 2004-06-30 2008-06-03 Sun Microsystems, Inc. Concurrent bypass to instruction buffers in a fine grain multithreaded processor
US7890734B2 (en) 2004-06-30 2011-02-15 Open Computing Trust I & II Mechanism for selecting instructions for execution in a multithreaded processor
US7523330B2 (en) * 2004-06-30 2009-04-21 Sun Microsystems, Inc. Thread-based clock enabling in a multi-threaded processor
US7434000B1 (en) 2004-06-30 2008-10-07 Sun Microsystems, Inc. Handling duplicate cache misses in a multithreaded/multi-core processor
US7941642B1 (en) 2004-06-30 2011-05-10 Oracle America, Inc. Method for selecting between divide instructions associated with respective threads in a multi-threaded processor
US7401206B2 (en) * 2004-06-30 2008-07-15 Sun Microsystems, Inc. Apparatus and method for fine-grained multithreading in a multipipelined processor core
US7676655B2 (en) * 2004-06-30 2010-03-09 Sun Microsystems, Inc. Single bit control of threads in a multithreaded multicore processor
US7533248B1 (en) 2004-06-30 2009-05-12 Sun Microsystems, Inc. Multithreaded processor including a functional unit shared between multiple requestors and arbitration therefor
US7343474B1 (en) 2004-06-30 2008-03-11 Sun Microsystems, Inc. Minimal address state in a fine grain multithreaded processor
US7774393B1 (en) 2004-06-30 2010-08-10 Oracle America, Inc. Apparatus and method for integer to floating-point format conversion
US7185178B1 (en) 2004-06-30 2007-02-27 Sun Microsystems, Inc. Fetch speculation in a multithreaded processor
US7437538B1 (en) 2004-06-30 2008-10-14 Sun Microsystems, Inc. Apparatus and method for reducing execution latency of floating point operations having special case operands
US7178005B1 (en) 2004-06-30 2007-02-13 Sun Microsystems, Inc. Efficient implementation of timers in a multithreaded processor
US7426630B1 (en) 2004-06-30 2008-09-16 Sun Microsystems, Inc. Arbitration of window swap operations
US7373489B1 (en) 2004-06-30 2008-05-13 Sun Microsystems, Inc. Apparatus and method for floating-point exception prediction and recovery
US8095778B1 (en) 2004-06-30 2012-01-10 Open Computing Trust I & II Method and system for sharing functional units of a multithreaded processor
US7702887B1 (en) 2004-06-30 2010-04-20 Sun Microsystems, Inc. Performance instrumentation in a fine grain multithreaded multicore processor
US7330988B2 (en) * 2004-06-30 2008-02-12 Sun Microsystems, Inc. Method and apparatus for power throttling in a multi-thread processor
US8190863B2 (en) * 2004-07-02 2012-05-29 Intel Corporation Apparatus and method for heterogeneous chip multiprocessors via resource allocation and restriction
US7966511B2 (en) * 2004-07-27 2011-06-21 Intel Corporation Power management coordination in multi-core processors
JP2006059068A (ja) * 2004-08-19 2006-03-02 Matsushita Electric Ind Co Ltd プロセッサ装置
US7437581B2 (en) * 2004-09-28 2008-10-14 Intel Corporation Method and apparatus for varying energy per instruction according to the amount of available parallelism
US7430672B2 (en) * 2004-10-27 2008-09-30 Intel Corporation Method and apparatus to monitor power consumption of processor
US8037250B1 (en) 2004-12-09 2011-10-11 Oracle America, Inc. Arbitrating cache misses in a multithreaded/multi-core processor
US7898545B1 (en) * 2004-12-14 2011-03-01 Nvidia Corporation Apparatus, system, and method for integrated heterogeneous processors
US7466316B1 (en) 2004-12-14 2008-12-16 Nvidia Corporation Apparatus, system, and method for distributing work to integrated heterogeneous processors
US8074057B2 (en) 2005-03-08 2011-12-06 Hewlett-Packard Development Company, L.P. Systems and methods for controlling instruction throughput
US7600135B2 (en) * 2005-04-14 2009-10-06 Mips Technologies, Inc. Apparatus and method for software specified power management performance using low power virtual threads
US20060248355A1 (en) * 2005-04-27 2006-11-02 Thayer Larry J Power throttling system and method for a memory controller
US7509506B2 (en) 2005-06-09 2009-03-24 International Business Machines Corporation Hierarchical system and method for managing power usage among server data processing systems
US7386743B2 (en) 2005-06-09 2008-06-10 International Business Machines Corporation Power-managed server and method for managing power consumption
US7467311B2 (en) * 2005-06-09 2008-12-16 International Business Machines Corporation Distributed system and method for managing power usage among server data processing systems
US7421599B2 (en) * 2005-06-09 2008-09-02 International Business Machines Corporation Power management server and method for managing power consumption
US7664968B2 (en) * 2005-06-09 2010-02-16 International Business Machines Corporation System and method for managing power usage of a data processing system subsystem
US7444526B2 (en) * 2005-06-16 2008-10-28 International Business Machines Corporation Performance conserving method for reducing power consumption in a server system
US20070005152A1 (en) * 2005-06-30 2007-01-04 Ben Karr Method and apparatus for monitoring power in integrated circuits
US7472292B2 (en) * 2005-10-03 2008-12-30 Hewlett-Packard Development Company, L.P. System and method for throttling memory power consumption based on status of cover switch of a computer system
US7159082B1 (en) 2005-10-03 2007-01-02 Hewlett-Packard Development Company, L.P. System and method for throttling memory accesses
US20070085583A1 (en) * 2005-10-18 2007-04-19 Envision Technology, Inc. System for and method of automatically reducing power to a semiconductor device
US7698089B2 (en) * 2005-11-29 2010-04-13 International Business Machines Corporation Generation of software thermal profiles executed on a set of processors using processor activity
US7721128B2 (en) * 2005-11-29 2010-05-18 International Business Machines Corporation Implementation of thermal throttling logic
US7490017B2 (en) * 2005-11-29 2009-02-10 International Business Machines Corporation Analytical generation of software thermal profiles
US7848901B2 (en) * 2005-11-29 2010-12-07 International Business Machines Corporation Tracing thermal data via performance monitoring
US7480586B2 (en) * 2005-11-29 2009-01-20 International Business Machines Corporation Thermal interrupt generation
US7376532B2 (en) * 2005-11-29 2008-05-20 International Business Machines Corporation Maximal temperature logging
US7512513B2 (en) * 2005-11-29 2009-03-31 International Business Machines Corporation Thermal throttling control for testing of real-time software
US7512530B2 (en) * 2005-11-29 2009-03-31 International Business Machines Corporation Generation of software thermal profiles for applications in a simulated environment
US20070124618A1 (en) * 2005-11-29 2007-05-31 Aguilar Maximino Jr Optimizing power and performance using software and hardware thermal profiles
US7395174B2 (en) * 2005-11-29 2008-07-01 International Business Machines Corporation Generation of software thermal profiles executed on a set of processors using thermal sampling
US7460932B2 (en) * 2005-11-29 2008-12-02 International Business Machines Corporation Support of deep power savings mode and partial good in a thermal management system
US7386414B2 (en) * 2005-11-29 2008-06-10 International Business Machines Corporation Generation of hardware thermal profiles for a set of processors
US7603576B2 (en) * 2005-11-29 2009-10-13 International Business Machines Corporation Hysteresis in thermal throttling
US7681053B2 (en) 2005-11-29 2010-03-16 International Business Machines Corporation Thermal throttle control with minimal impact to interrupt latency
US7650517B2 (en) * 2005-12-19 2010-01-19 International Business Machines Corporation Throttle management for blade system
US8108863B2 (en) * 2005-12-30 2012-01-31 Intel Corporation Load balancing for multi-threaded applications via asymmetric power throttling
US7349828B1 (en) * 2006-02-15 2008-03-25 Hewlett-Packard Development Company, L.P. Estimating an electronic device condition
US8037893B2 (en) * 2006-05-03 2011-10-18 International Business Machines Corporation Optimizing thermal performance using thermal flow analysis
US7552346B2 (en) * 2006-05-03 2009-06-23 International Business Machines Corporation Dynamically adapting software for reducing a thermal state of a processor core based on its thermal index
US7596430B2 (en) * 2006-05-03 2009-09-29 International Business Machines Corporation Selection of processor cores for optimal thermal performance
US7669071B2 (en) 2006-05-05 2010-02-23 Dell Products L.P. Power allocation management in an information handling system
US8214660B2 (en) * 2006-07-26 2012-07-03 International Business Machines Corporation Structure for an apparatus for monitoring and controlling heat generation in a multi-core processor
US7617403B2 (en) * 2006-07-26 2009-11-10 International Business Machines Corporation Method and apparatus for controlling heat generation in a multi-core processor
US7584369B2 (en) * 2006-07-26 2009-09-01 International Business Machines Corporation Method and apparatus for monitoring and controlling heat generation in a multi-core processor
KR100770703B1 (ko) * 2006-08-30 2007-10-29 삼성전자주식회사 메모리 시스템의 전력 쓰로틀링 방법 및 메모리 시스템
US8060765B1 (en) * 2006-11-02 2011-11-15 Nvidia Corporation Power estimation based on block activity
US7757103B2 (en) * 2006-12-20 2010-07-13 Intel Corporation Method and apparatus to estimate energy consumed by central processing unit core
US7793125B2 (en) * 2007-01-10 2010-09-07 International Business Machines Corporation Method and apparatus for power throttling a processor in an information handling system
US7779276B2 (en) * 2007-03-05 2010-08-17 International Business Machines Corporation Power management in a power-constrained processing system
NZ553984A (en) * 2007-03-19 2009-07-31 Lanzatech New Zealand Ltd Alcohol production process
US7627742B2 (en) * 2007-04-10 2009-12-01 International Business Machines Corporation Method and apparatus for conserving power by throttling instruction fetching when a processor encounters low confidence branches in an information handling system
US8069354B2 (en) 2007-08-14 2011-11-29 Mips Technologies, Inc. Power management for system having one or more integrated circuits
US8027798B2 (en) * 2007-11-08 2011-09-27 International Business Machines Corporation Digital thermal sensor test implementation without using main core voltage supply
US7551508B2 (en) * 2007-11-16 2009-06-23 International Business Machines Corporation Energy efficient storage device using per-element selectable power supply voltages
JP2009130036A (ja) * 2007-11-21 2009-06-11 Toshiba Corp 半導体装置
US8006070B2 (en) * 2007-12-05 2011-08-23 International Business Machines Corporation Method and apparatus for inhibiting fetch throttling when a processor encounters a low confidence branch instruction in an information handling system
US7925853B2 (en) * 2008-01-04 2011-04-12 International Business Machines Corporation Method and apparatus for controlling memory array gating when a processor executes a low confidence branch instruction in an information handling system
US8255669B2 (en) * 2008-01-30 2012-08-28 International Business Machines Corporation Method and apparatus for thread priority control in a multi-threaded processor based upon branch issue information including branch confidence information
CN102067064B (zh) * 2008-02-25 2014-02-19 意法爱立信有限公司 具有可调节的性能水平的数据处理装置及其操作方法
US8010824B2 (en) * 2008-04-11 2011-08-30 Advanced Micro Devices , Inc. Sampling chip activity for real time power estimation
GB2461292B (en) * 2008-06-26 2012-02-08 Tantallon Systems Ltd Systems and methods for energy management
US7884499B2 (en) 2008-06-30 2011-02-08 Intel Corporation Intervention of independent self-regulation of power consumption devices
US8024719B2 (en) 2008-11-03 2011-09-20 Advanced Micro Devices, Inc. Bounded hash table sorting in a dynamic program profiling system
US20100115494A1 (en) * 2008-11-03 2010-05-06 Gorton Jr Richard C System for dynamic program profiling
US8478948B2 (en) * 2008-12-04 2013-07-02 Oracle America, Inc. Method and system for efficient tracing and profiling of memory accesses during program execution
US8219831B2 (en) * 2009-01-28 2012-07-10 Oracle America, Inc. Reducing temperature and power by instruction throttling at decode stage of processor pipeline in time constant duration steps
WO2011074059A1 (ja) * 2009-12-14 2011-06-23 富士通株式会社 演算処理装置、情報処理装置及びその制御方法
US8856564B2 (en) * 2009-12-18 2014-10-07 Intel Corporation Method and apparatus for power profile shaping using time-interleaved voltage modulation
US8805590B2 (en) * 2009-12-24 2014-08-12 International Business Machines Corporation Fan speed control of rack devices where sum of device airflows is greater than maximum airflow of rack
US8356194B2 (en) * 2010-01-28 2013-01-15 Cavium, Inc. Method and apparatus for estimating overshoot power after estimating power of executing events
US8429441B2 (en) 2010-04-19 2013-04-23 International Business Machines Corporation Operating processor below maximum turbo mode frequency by sending higher than actual current amount signal to monitor
US8442786B2 (en) 2010-06-02 2013-05-14 Advanced Micro Devices, Inc. Flexible power reporting in a computing system
US8484593B2 (en) 2010-07-19 2013-07-09 Advanced Micro Devices Method of determining event based energy weights for digital power estimation
US9092219B2 (en) 2010-11-02 2015-07-28 Advanced Micro Devices, Inc. Method and system of sampling to automatically scale digital power estimates with frequency
US8756442B2 (en) 2010-12-16 2014-06-17 Advanced Micro Devices, Inc. System for processor power limit management
US9069555B2 (en) * 2011-03-21 2015-06-30 Intel Corporation Managing power consumption in a multi-core processor
US9047067B2 (en) * 2011-04-22 2015-06-02 Qualcomm Incorporated Sensorless detection and management of thermal loading in a multi-processor wireless device
CN102347767B (zh) * 2011-06-09 2014-01-08 东南大学 数模混合模式时钟占空比校准电路
US9009451B2 (en) * 2011-10-31 2015-04-14 Apple Inc. Instruction type issue throttling upon reaching threshold by adjusting counter increment amount for issued cycle and decrement amount for not issued cycle
US8862924B2 (en) * 2011-11-15 2014-10-14 Advanced Micro Devices, Inc. Processor with power control via instruction issuance
CN102411492B (zh) * 2011-11-25 2014-04-23 北京创毅视讯科技有限公司 一种数据处理的方法和装置
US9134788B2 (en) * 2011-12-29 2015-09-15 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including detecting and controlling current ramps in processing circuit
WO2013147801A1 (en) * 2012-03-29 2013-10-03 Intel Corporation Dynamic power limit sharing in a platform
CN104204825B (zh) * 2012-03-30 2017-06-27 英特尔公司 动态测量处理器中的功耗
US8984307B2 (en) * 2012-05-21 2015-03-17 Qualcomm Incorporated System and method for dynamic battery current load management in a portable computing device
US9229524B2 (en) 2012-06-27 2016-01-05 Intel Corporation Performing local power gating in a processor
US9846463B2 (en) * 2012-09-28 2017-12-19 Intel Corporation Computing system and processor with fast power surge detection and instruction throttle down to provide for low cost power supply unit
US9195291B2 (en) 2013-06-21 2015-11-24 Apple Inc. Digital power estimator to control processor power consumption
US9304573B2 (en) 2013-06-21 2016-04-05 Apple Inc. Dynamic voltage and frequency management based on active processors
EP2849024A1 (en) 2013-09-16 2015-03-18 ST-Ericsson SA Power consumption management system and method
WO2015040654A1 (ja) * 2013-09-20 2015-03-26 富士通株式会社 情報処理システム、管理装置、情報処理方法及びプログラム
US9671844B2 (en) * 2013-09-26 2017-06-06 Cavium, Inc. Method and apparatus for managing global chip power on a multicore system on chip
US9696999B2 (en) * 2013-12-17 2017-07-04 Intel Corporation Local closed loop efficiency control using IP metrics
US9606605B2 (en) 2014-03-07 2017-03-28 Apple Inc. Dynamic voltage margin recovery
US10108454B2 (en) * 2014-03-21 2018-10-23 Intel Corporation Managing dynamic capacitance using code scheduling
US9507405B2 (en) * 2014-06-18 2016-11-29 Oracle International Corporation System and method for managing power in a chip multiprocessor using a proportional feedback mechanism
GB2530782A (en) * 2014-10-02 2016-04-06 Ibm Voltage droop reduction in a processor
CN104317557B (zh) * 2014-10-27 2017-01-18 杭州中天微系统有限公司 基于流水线轮动的低峰值功耗嵌入式处理器
US9658634B2 (en) * 2015-03-30 2017-05-23 Apple Inc. Under voltage detection and performance throttling
US10073659B2 (en) * 2015-06-26 2018-09-11 Intel Corporation Power management circuit with per activity weighting and multiple throttle down thresholds
US9779058B2 (en) * 2015-07-13 2017-10-03 Google Inc. Modulating processsor core operations
US10255231B1 (en) * 2015-07-31 2019-04-09 Marvell International Ltd. Apparatus and methods for managing aggregate integrated circuit (IC) current demand
GB2544721B (en) 2015-10-15 2019-03-06 Arm Ip Ltd Detecting undesired energy consumption in electronic devices
US9874917B2 (en) 2016-01-04 2018-01-23 International Business Machines Corporation Adaptive power capping in a chip
US9971390B1 (en) 2016-01-05 2018-05-15 Apple Inc. Processor energy consumption rate limiting system
US10706101B2 (en) 2016-04-14 2020-07-07 Advanced Micro Devices, Inc. Bucketized hash tables with remap entries
US10255462B2 (en) 2016-06-17 2019-04-09 Arm Limited Apparatus and method for obfuscating power consumption of a processor
US10496409B2 (en) 2016-11-22 2019-12-03 The Arizona Board Of Regents Method and system for managing control of instruction and process execution in a programmable computing system
US10969858B2 (en) * 2019-01-03 2021-04-06 Apple Inc. Operation processing controlled according to difference in current consumption
US10955906B2 (en) * 2019-02-07 2021-03-23 International Business Machines Corporation Multi-layered processor throttle controller
US11054882B2 (en) 2019-02-21 2021-07-06 Apple Inc. Externally-triggered throttling
US10948957B1 (en) 2019-09-26 2021-03-16 Apple Inc. Adaptive on-chip digital power estimator
US11586272B2 (en) * 2019-09-27 2023-02-21 Qualcomm Incorporated Power control based on performance modification through pulse modulation
US11057727B2 (en) * 2019-10-18 2021-07-06 Cirrus Logic, Inc. Dynamic power/current allocation among groups of audio amplifiers and/or haptic drivers
WO2021114155A1 (zh) * 2019-12-11 2021-06-17 华为技术有限公司 一种处理器及降低功耗的方法
US11181967B2 (en) * 2020-02-07 2021-11-23 Marvell Asia Pte Ltd Power management and transitioning cores within a multicore system from idle mode to operational mode over a period of time
US11556342B1 (en) * 2020-09-24 2023-01-17 Amazon Technologies, Inc. Configurable delay insertion in compiled instructions
US11836031B2 (en) 2020-11-10 2023-12-05 Advanced Micro Devices, Inc. Application override of power estimation mechanism
GB2604981B (en) * 2020-12-18 2023-03-22 Advanced Risc Mach Ltd Balancing high energy events
US11698671B2 (en) * 2021-09-22 2023-07-11 Apple Inc. Peak power management for processing units
US20230176645A1 (en) * 2021-12-06 2023-06-08 Mediatek Inc. Maximum current suppression for power management in a multi-core system

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02270011A (ja) * 1987-03-16 1990-11-05 Donald S Stern 選択パワーゲーティング装置
JPH07319575A (ja) * 1994-05-16 1995-12-08 Symbios Logic Inc 電力浪費調整方法および調整システム
JPH07326714A (ja) * 1994-05-31 1995-12-12 Toshiba Corp 1チップコントローラ及び同コントローラを用いた電子機器
US5557551A (en) * 1993-10-27 1996-09-17 International Business Machines Corporation Method and apparatus for a thermal protection unit
JPH1069330A (ja) * 1996-07-17 1998-03-10 Internatl Business Mach Corp <Ibm> 集積回路上のホット・スポットを回避するための論理回路及び方法
JPH1097341A (ja) * 1996-06-18 1998-04-14 Natl Semiconductor Corp <Ns> シャドウアドレスを使用するクロック停止信号を制御することによるコンピュータシステムにおける電力節約方法及び装置
JPH10326129A (ja) * 1997-05-23 1998-12-08 Mitsubishi Electric Corp 半導体装置
JPH11167629A (ja) * 1997-09-03 1999-06-22 Matsushita Electric Ind Co Ltd プロセッサ
JP2000047872A (ja) * 1998-08-03 2000-02-18 Hitachi Ltd 低消費電力動作機能を備えたマイクロプロセッサ

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6145354A (ja) * 1984-08-10 1986-03-05 Nec Corp マイクロプロセツサ
JPH02171812A (ja) * 1988-12-23 1990-07-03 Komatsu Ltd ウエイトステイト機能を持たないプロセッサの高速化回路
JPH0387909A (ja) * 1989-05-10 1991-04-12 Seiko Epson Corp 情報処理装置およびマイクロプロセッサ
US5287292A (en) * 1992-10-16 1994-02-15 Picopower Technology, Inc. Heat regulator for integrated circuits
US5392437A (en) * 1992-11-06 1995-02-21 Intel Corporation Method and apparatus for independently stopping and restarting functional units
US6192479B1 (en) * 1995-01-19 2001-02-20 Texas Instruments Incorporated Data processing with progressive, adaptive, CPU-driven power management
US5719800A (en) 1995-06-30 1998-02-17 Intel Corporation Performance throttling to reduce IC power consumption
US5996083A (en) * 1995-08-11 1999-11-30 Hewlett-Packard Company Microprocessor having software controllable power consumption
US5815724A (en) * 1996-03-29 1998-09-29 Intel Corporation Method and apparatus for controlling power consumption in a microprocessor
JPH1020959A (ja) * 1996-07-01 1998-01-23 Matsushita Electric Ind Co Ltd 低消費電力マイクロプロセッサ
US6029006A (en) * 1996-12-23 2000-02-22 Motorola, Inc. Data processor with circuit for regulating instruction throughput while powered and method of operation
US6219796B1 (en) * 1997-12-23 2001-04-17 Texas Instruments Incorporated Power reduction for processors by software control of functional units
US6367023B2 (en) * 1998-12-23 2002-04-02 Intel Corporation Method and apparatus of measuring current, voltage, or duty cycle of a power supply to manage power consumption in a computer system
JP5557551B2 (ja) * 2010-02-19 2014-07-23 東邦レオ株式会社 緑化用パネル

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02270011A (ja) * 1987-03-16 1990-11-05 Donald S Stern 選択パワーゲーティング装置
US5557551A (en) * 1993-10-27 1996-09-17 International Business Machines Corporation Method and apparatus for a thermal protection unit
JPH07319575A (ja) * 1994-05-16 1995-12-08 Symbios Logic Inc 電力浪費調整方法および調整システム
JPH07326714A (ja) * 1994-05-31 1995-12-12 Toshiba Corp 1チップコントローラ及び同コントローラを用いた電子機器
JPH1097341A (ja) * 1996-06-18 1998-04-14 Natl Semiconductor Corp <Ns> シャドウアドレスを使用するクロック停止信号を制御することによるコンピュータシステムにおける電力節約方法及び装置
JPH1069330A (ja) * 1996-07-17 1998-03-10 Internatl Business Mach Corp <Ibm> 集積回路上のホット・スポットを回避するための論理回路及び方法
JPH10326129A (ja) * 1997-05-23 1998-12-08 Mitsubishi Electric Corp 半導体装置
JPH11167629A (ja) * 1997-09-03 1999-06-22 Matsushita Electric Ind Co Ltd プロセッサ
JP2000047872A (ja) * 1998-08-03 2000-02-18 Hitachi Ltd 低消費電力動作機能を備えたマイクロプロセッサ

Also Published As

Publication number Publication date
AU1626601A (en) 2001-07-09
GB0214785D0 (en) 2002-08-07
CN101520725B (zh) 2012-02-15
CN101520725A (zh) 2009-09-02
GB2373896B (en) 2004-11-03
HK1046561A1 (en) 2003-01-17
JP2003523563A (ja) 2003-08-05
EP1259870B1 (en) 2010-03-10
JP6042830B2 (ja) 2016-12-14
US6564328B1 (en) 2003-05-13
JP5650689B2 (ja) 2015-01-07
HK1046561B (zh) 2005-06-03
TW512261B (en) 2002-12-01
CN1434934A (zh) 2003-08-06
WO2001048584A1 (en) 2001-07-05
EP1259870A1 (en) 2002-11-27
JP5073903B2 (ja) 2012-11-14
DE60043996D1 (de) 2010-04-22
JP2012198922A (ja) 2012-10-18
CN100492252C (zh) 2009-05-27
KR100511110B1 (ko) 2005-08-31
GB2373896C (en) 2013-02-13
GB2373896A (en) 2002-10-02
ATE460698T1 (de) 2010-03-15
KR20020062986A (ko) 2002-07-31

Similar Documents

Publication Publication Date Title
JP6042830B2 (ja) プロセッサおよびプロセッサ内の電力消費を推定する方法
US6931559B2 (en) Multiple mode power throttle mechanism
US7281140B2 (en) Digital throttle for multiple operating points
US7992017B2 (en) Methods and apparatuses for reducing step loads of processors
KR101980502B1 (ko) 동적 전압 마진 복구
US7627742B2 (en) Method and apparatus for conserving power by throttling instruction fetching when a processor encounters low confidence branches in an information handling system
EP1307806B1 (en) MECHANISM TO CONTROL di/dt FOR A MICROPROCESSOR
EP1023656B1 (en) Localized performance throttling to reduce ic power consumption
JP5283762B2 (ja) 演算処理装置、情報処理装置及びその制御方法
US8127153B2 (en) Memory power profiling
JP2004326766A (ja) マルチスレッド・プロセッサにおいてスレッドの優先度を調整するための装置および方法
Sadrosadati et al. ITAP: Idle-time-aware power management for GPU execution units
JP4086808B2 (ja) マルチスレッド・プロセッサにおいて処理する命令スレッドを選択するための方法および装置
Zhang et al. Compiler support for reducing leakage energy consumption
US20020112193A1 (en) Power control of a processor using hardware structures controlled by a compiler with an accumulated instruction profile
US20030172256A1 (en) Use sense urgency to continue with other heuristics to determine switch events in a temporal multithreaded CPU
GB2506169A (en) Limiting task context restore if a flag indicates task processing is disabled
KR20040101344A (ko) 마이크로프로세서, 인스트럭션 시퀀스 발생 방법 및 이를구현한 프로그램 디바이스
Michaud et al. HAIR: Halving the Area of the Integer Register File with Odd/Even Banking

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141216

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150316

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150416

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150518

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160202

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160502

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160802

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: 20161108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161110

R150 Certificate of patent or registration of utility model

Ref document number: 6042830

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees