JP2017504980A - プロセッサのバッファの自律的制御 - Google Patents

プロセッサのバッファの自律的制御 Download PDF

Info

Publication number
JP2017504980A
JP2017504980A JP2016519997A JP2016519997A JP2017504980A JP 2017504980 A JP2017504980 A JP 2017504980A JP 2016519997 A JP2016519997 A JP 2016519997A JP 2016519997 A JP2016519997 A JP 2016519997A JP 2017504980 A JP2017504980 A JP 2017504980A
Authority
JP
Japan
Prior art keywords
buffer
pad
value
coupled
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
Application number
JP2016519997A
Other languages
English (en)
Other versions
JP6403764B2 (ja
Inventor
ケイ エリアス、ヴィヌ
ケイ エリアス、ヴィヌ
ラマニ、サンダー
エス. トマー、アーヴィンド
エス. トマー、アーヴィンド
リウ、ジアンジュン
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 JP2017504980A publication Critical patent/JP2017504980A/ja
Application granted granted Critical
Publication of JP6403764B2 publication Critical patent/JP6403764B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3212Monitoring battery levels, e.g. power saving mode being initiated when battery voltage goes below a certain level
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/0175Coupling arrangements; Interface arrangements
    • H03K19/0185Coupling arrangements; Interface arrangements using field effect transistors only
    • H03K19/018585Coupling arrangements; Interface arrangements using field effect transistors only programmable
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/0175Coupling arrangements; Interface arrangements
    • H03K19/0185Coupling arrangements; Interface arrangements using field effect transistors only
    • H03K19/018592Coupling arrangements; Interface arrangements using field effect transistors only with a bidirectional operation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/10Aspects relating to interfaces of memory device to external buses
    • G11C2207/105Aspects related to pads, pins or terminals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1057Data output buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1084Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Bus Control (AREA)
  • Logic Circuits (AREA)
  • Dc Digital Transmission (AREA)

Abstract

実施形態において、装置は、ロジックユニットをパッドを介して結合された別のデバイスに結合させる入出力(I/O)バッファと、アーキテクチャ状態へのエントリに応答して、パッド上の値を検出し、パッドに値を提供すべくI/Oバッファをコントロールすべく、I/Oバッファに結合されたロジックとを備える。他の複数の実施形態が、説明され、請求される。

Description

現代の複数の集積回路(複数のIC)は、複数のピン又は複数のパッドを介してプラットフォームの他の複数のデバイスに結合し、これらは、1又は複数の回路ボード上にルーティングされた複数のインターコネクトへの接続を介して、ICをインターフェースする。電気的な入出力(I/O)パッドの競合は、パッドに結合した1より多くのデバイスが、同時に反対の値をパッドに置こうとすることになる、望ましくないI/Oパッド状態である。I/Oパッドの競合は、誤った動作をもたらし、ハードウェア、及び、供給電圧から接地電圧への直流(DC)短絡回路の経路に損傷を与え、スタンバイリーク電流の目立った増大をもたらし、これはバッテリ電力で動作する複数のポータブルデバイスに、特に望ましくない。
本発明の実施形態に係る入出力(I/O)バッファのブロック図である。
本発明の実施形態に係るコントロールロジックの実装のブロック図である。
本発明の実施形態に係るバッファのコントロール方法のフロー図である。
本発明の実施形態に係るバッファの1又は複数のコントロール可能なエレメントのサンプリング、生成、及びプログラミングをする場合に実行される詳細な複数の動作のブロック図である。 本発明の実施形態に係るコンピュータシステムの複数のコンポーネントのブロック図である。
本発明の実施形態に係るプロセッサのブロック図である。
本発明の実施形態に係るシステムのブロック図である。
本発明の別の実施形態に係るプロセッサのブロック図である。
多くの場合、プロセッサ又はシステムオンチップ(SoC)等のICの複数の汎用入出力(GPIO)双方向パッドは、プラットフォームの他の周辺デバイスの中でも、カメラ、モデム、複数のストレージ及びオーディオデバイスへの複数のインターフェースとして使用すべく構成(方向―入力又は出力、パッド状態―ハイ又はロー)され得る。一般的に、GPIOパッドの構成(状態、方向及び強さ)が1又は複数のコントロールレジスタに格納される値を使用してプログラミングされる。これらのレジスタは、ソフトウェア/ファームウェアのフローを使用する特定のアーキテクチャ状態(例えば、リセットデアサーション、スタンバイアサーション、及び、パワーグッドアサーション)の間に上書きし得る、ハードウェアのデフォルトの値を有する。
典型的には、SoCファームウェアコード又はソフトウェアベースのI/Oデバイスドライバが、その特定のユースケースに依存して、I/Oパッドの方向、バッファの強さ、及び、スタンバイ状態を構成するであろう。しかしながら、既存のGPIOプログラミングフローは、完全に手動で行われるため、時間がかかり、エラーしがちである。そのようなプログラミングは、ボード/プラットフォームチームが製品の複数の構成を決定し、複数のI/Oパッドへ接続されるべき異なる複数のベンダの複数のデバイスを選択することから開始する。それから、SoCソフトウェアチームは、構成をデコードすべく、複数のプラットフォームチームと連携し、コードコントロールレジスタの値をSoCにプログラミングされたファームウェアイメージへと手渡す。SoCスタンバイの間に誤ってプログラミングされたI/Oパッドは、電気的なパッドの競合をもたらし得て、リーク電流を上げ、バッテリ寿命を失わせる。また、そのような不正確なプログラミングは、たとえ複数の単純なI/O構成の変化の場合でさえも、SoC電力がオンの間の複数の機能不全の場合にデバッグすることを困難にさせ得る。
複数の実施形態は、現在のアーキテクチャ状態に基づいて、I/Oパッド状態を検出し、正しく構成する。結果として、面倒な手動のデバッグ、最終的なハードウェアの設計の電力及び機能の相関が回避され得る。より具体的には、GPIOパッド値、及び、方向は、スタンバイ状態のような、少なくとも複数の特定のアーキテクチャ状態の間に自律的にコントロールされ、生成され得る。技術は、プラットフォーム上のI/Oパッドのユースケースに適応的であり、アーキテクチャ上、及び電気的に正しい複数のI/Oパッド状態のみを駆動する。実施形態に係る技術は、有限状態機械(FSM)を使用して、ハードウェアに実装され、I/Oコントローラに統合され得る。自動化及びハードウェアコントロールは、サンプル及びドライブスキームが適応的で正確であり、高速ターンアラウンド時間を実現することを可能とする。電気的なパッドの競合の回避により、不必要なリーク電流が除去される。本発明の実施形態を使用して、コントローラは、複数のI/Oパッドの複数の構成をインテリジェントに適応し、又は、整理する。
双方向GPIOパッドは、複数のドライバを有し得る。SoCに関連して、パッドは、SoC側又はオンボードの複数のエンドポイントデバイスにより駆動され得る。I/Oパッドがハイで駆動される場合、SoCは、例えばプルダウンデバイスの使用を介して、パッドをローにしようと試みてはならず、その逆も成り立つ。パッドの電気的競合がないことを確実にする方法で、1又は複数のウィークプルインピーダンスデバイスを使用して、パッドをある状態に駆動する前に、複数の実施形態は、I/Oパッド電圧のサンプリングをすべく動作する。
このように、GPIOパッドのプログラミングへの集中的な手動の関与の必要性が回避される。簡単に上に説明されたように、一般的に、この手動プログラミングは複数のボード/プラットフォームエンジニアリングチームと複数のソフトウェアエンジニアリングチームとの間の連携を含む。一度、手動でデータシートをチェックし、複数の電気的な仕様を調和することにより、所望のパッド値がキャプチャされれば、それはSoCへとプログラミングされる。いくつかのチームが、電力最適化及び機能的に安定な設定が達成されるまで連携し、複数の段階を数回反復する。このプロセスは非常に時間がかかり、異なるデバイスベンダが選択されるか、ボードの構成がわずかであっても変化する場合、繰り返される。代わりに、複数の実施形態は、ボードの構成又はデバイスの選択に関係なく、安定したI/Oパッド状態に適応する。SoCが任意のアーキテクチャ状態、例えば、システムスタンバイ状態、リセットデアサーション状態等に入る前に、I/O電圧はサンプリングされ、適切な値がパッドに駆動される。
ここで図1を参照すると、本発明の実施形態に係る入出力(I/O)バッファのブロック図が示される。図1に示されるように、バッファ10は、汎用I/Oバッファ(GPIO)である。GPIOバッファ10は、デジタル信号によりコントロールされ得るアナログフロントエンド(AFE)カスタム回路ブロックを有する。本明細書に説明される複数の実施形態は複数の汎用I/Oバッファに関するものであるが、本発明の範囲は、この点に限定されず、本明細書で説明される複数のコントロール機構は、他の複数のタイプのバッファに等しく適用するものと理解されたい。一般的に、バッファ10は、バッファがその一部をなすICの1又は複数のロジックユニットと、あるタイプのインターコネクトを介してICに結合する1又は複数の他のデバイスとの間の信号情報を結合する。説明目的で、I/Oバッファ10はマルチコアプロセッサ、SoC又は他のタイプのプロセッサデバイスのようなプロセッサの一部であると仮定されたい。今度は、プロセッサは、例えば、システムの回路ボード上にルーティングされたインターコネクトを介して、別のIC又はシステムの他のデバイスに結合するものと仮定されたい。
送信方向において、I/Oバッファ10を介して通信されるべき情報は、送信機20において送信データ(tx_data)として受信される。送信機20は、信号を調整し、I/Oパッド50を介して出力する。I/Oパッド50は、任意のタイプのI/Oピン、表面実装パッド、又はインターコネクトに結合するプロセッサの任意の他のタイプの導電性要素であり得る。複数の送信通信をイネーブルとすべく、送信イネーブル信号(tx_enable)は、送信機がパッド50上で強い論理ハイ又は論理ロー値を駆動するのを可能にすべく、送信機20に結合される。更に示されるように、送信機20をパッド50に結合するI/Oライン25に複数の特定の状態を存在させることを可能とすべく、プルアップインピーダンス30及びプルダウンインピーダンス40は、送信機20に結合した出力に結合したノード45においてライン25に更に結合する。実施形態において、例えば、およそ2kΩと50kΩとの間の値を有する複数のウィークプルレジスタを使用して実装され得るこれらのインピーダンスデバイスは、それぞれパッド50をハイ又はローの論理値にプルすべく、複数のコントロール信号(それぞれ、weakpullup_enable及びweakpulldown_enable)を介してコントロールされる。このために、プルアップインピーダンス30は、有効な場合に供給電圧ノード(不図示)と出力ノードとの間に切り替え可能に結合され得る(例えば、金属酸化物半導体電界効果トランジスタ(MOSFET)又は他のタイプのスイッチを介して)。そして、プルダウンインピーダンス40は、イネーブルの場合、基準電圧ノード(典型的には、接地)と出力ノードとの間に切り替え可能に結合され得る(例えば、MOSFET、又は他のタイプのスイッチを介して)。
更に図1に示されるように、I/Oバッファ10は、パッド50を介してシステムの別のコンポーネントからの入力信号情報の受信を可能にする。より具体的には、入力情報は、受信データの形式(rx_data)の入力信号情報をプロセッサの所与の1又は複数のロジックユニットに提供する受信機60を通じて、結合する。受信機60は、別のコントロール信号(rx_enable)により、受信機がパッド50からの入力パスを提供することを可能とすべく、イネーブルにされる。図1の実施形態においてこのような高レベルで示されるが、本発明の範囲はこの点に限定されず、バッファの複数のバリエーションが可能であるものと理解されたい。
ここで図2を参照すると、本発明の実施形態に係るコントロールロジックの実装のブロック図が示される。図2に示されるように、回路100は、プロセッサをシステムの中の1又は複数の他のデバイスへ結合する、I/Oコントローラの一部のような、プロセッサの一部である。一般的には、動作の機能モードについて、プロセッサの任意のタイプのロジックユニット(コア、固定された機能ユニット又は他のIO信号のジェネレータ若しくはコンシューマのような)であり得るロジック回路110が存在する。多くの場合、回路110は動作の通常機能モードの間、情報を出力又は受信しようとする。従って、複数の信号は、ロジック回路110と、バッファコントロールロジック130との間を通信し、バッファコントロールロジック130は、回路110と、図2の実施形態においてGPIOバッファであるI/Oバッファ140との間に結合される。一般的に、ロジック130及びバッファ140は、プロセッサのアンコア部分の一部であり得る、プロセッサのI/Oコントローラの一部であり得る。
本明細書に更に説明されていくように、バッファコントロールロジック130は、ロジック回路110と、I/Oパッド150を介してプロセッサに結合された別のデバイスとの間の信号通信パスを提供する動作の様々なモードで動作し得る。動作の他のモード、例えば、パワーオン、リセット、及びスタンバイ/サスペンド状態等の、所与のアーキテクチャ状態又はマイクロアーキテクチャ状態において、動作のモードに依存して、情報の様々なソースの1つに基づいて、I/Oライン145において特定の値を有すべく、バッファコントロールロジック130はバッファ140をコントロールし得る。従って、I/Oリーク電流を可能な限り最小にすべく、SoCが所与のアーキテクチャ状態又はマイクロアーキテクチャ状態に入り、電気的なパッドの競合を回避する場合、複数の実施形態は、I/Oパッドの構成を決定するプロセスを自動化する。
スタンバイモード又はサスペンドモードにおいて場合によっては、ソフトウェア又はファームウェアにコントロールされた値は、代替的なコントロールパス120を介して提供され得る。特定のアーキテクチャ状態の他の場合において、電気的競合が生じないように、バッファコントロールロジック130が、I/Oパッド150における値を決定し、その値を再現するための信号を生成すべくI/Oバッファ140をコントロールするよう、サンプリングベースのアプローチが使用され得る。
更に図2に示されるように、ハードウェア、ファームウェア、及び/又はソフトウェア又はそれらの複数の組み合わせであり得る、バッファコントロールロジック130は、様々な構成のロジックで形成される。これらのロジックは、パッド150の状態(及び/又は信号ライン145の状態)をサンプリングするよう構成される、サンプルロジック132を含む。バッファコントロールロジック130は、プロセッサが動作する所与のモードを決定し、適切な値がパッド150に提供されることを可能にすべく、そのような情報をバッファ140への1又は複数のコントロール入力のための適切なコントロール値を決定するようにコントロール値生成ロジック138に提供する、モードコントロールロジック134を更に含む。また、更に示されるように、構成ストレージ136も、バッファコントロールロジック130に含まれ得る。本明細書で説明されるように、そのような構成ストレージは、バッファ140についての1又は複数のコントロール可能な値についてのコントロール情報をそれぞれ格納する複数のフィールドを含み得る。
バッファ140について、図1のバッファ10と同様に構成される。従って、送信機142は、IOパッド150に次に結合する信号ライン145上の出力ノード143に結合されたプルアップインピーダンス146及びプルダウンインピーダンス148を有することが示される。
更に図2に示されるように、バッファコントロールロジック130は、様々なアーキテクチャ及びマイクロアーキテクチャ状態情報信号を更に受信し得る。示された実施形態において、アーキテクチャ状態は、パワーグッドアサーション状態、リセットデアサーション状態、及びパワーボタンサイクル状態を含む。例示の実施形態において、バッファコントロールロジック130は、これらの複数の状態において、パッド150への特定の値の提供を引き起こし得る。勿論、追加的なアーキテクチャ状態も存在し得、特定の他の複数の値のパッド150への提供を引き起こし得る。更に、特定のマイクロアーキテクチャ電力状態は、処理中に生じ得、これらの状態に関する情報も、バッファコントロールロジック130へ提供され得る。次に、この情報も、バッファコントロールロジック130にパッド150において適切な値を提供させ得る。図2の実施形態においてこの特定の実装例で示されているが、本発明の範囲はこの点に限定はされないものと理解されたい。例えば、図1の回路は単一のI/Oバッファに関連している。類似の回路がそれぞれそのようなバッファに提供され得、さもなければ、対応するコントロールレジスタを有する集中コントロールロジックが全てのバッファを収容すべく提供され得る。
サンプル及びドライブスキームは、I/Oパッド150を構成すべくスタンバイモード中に使用され得る。機能モード及び他のアーキテクチャ状態において、ロジック130は、例えば、コントロールビットのオーバーライド又はバイパスを使用するような、ソフトウェア/ファームウェア駆動アプローチ又はレガシーアプローチを使用する柔軟性を提供する。実施形態において、ロジック130は、アクティブ電流の減少、及び信号の整合性の改善の両方に役立つように、アクティブモードの間、パッドからウィークプル(アップ/ダウン)インピーダンスをディセーブルし得る。ロジック130は、デバイスが使用されるべきアーキテクチャ状態の変化においてデバイスを非常に低いレイテンシで再度イネーブルにするため、そのようなコントロールが実現できる。
ここで図3を参照すると、本発明の実施形態に係るバッファのコントロール方法のフロー図が示される。図3に示されるように、方法200は、バッファに関連付けられたバッファコントロールロジックを少なくとも部分的に使用して実装され得る。方法200の説明の目的のために、バッファが、送信方向のみで、受信方向のみで、又は送信/受信方向の組み合わせのいずれかで別のデバイスとアクティブに通信するよう、デバイス(プロセッサ又はSoC等)は、通常機能モードで動作するものと仮定する(ブロック210)。動作の送信モードについて、出力信号情報は、I/Oバッファを通じて結合すべく、デバイスの所与のロジックユニットから受信される。同様に動作の受信モードについて、入力信号情報は、I/Oバッファを通じてデバイスの所与のロジックユニットへ提供される。従って、この通常動作モードにおいて、バッファコントロールロジックは、ロジックユニットから受信されたままの信号情報がI/Oバッファを通過するのを可能とすべく、一般的に動作し、その逆も成り立つ。複数のウィークプルデバイスは、可能な限り最小のレイテンシを有するアクティブモードに入る場合、機能モードの間、ディセーブルにされ、競合及び信号の整合性の問題を回避することに留意されたい。
次に、状態の変化のインジケーションが受信されたかどうかが判断される(ひし形220)。そのような状態の変化は、アーキテクチャ状態又はマイクロアーキテクチャ状態の変化の1又は複数に対応し得る。一般的に、アーキテクチャ状態の変化は、システム全体に可視な全デバイスの状態の変化に対応する。一方、次に、マイクロアーキテクチャ状態の変化は、所与のコア又はデバイスの他の部分についての電力状態の変化のようなデバイスの一部のみに関する変化であり得る。そのように、マイクロアーキテクチャ状態において、それぞれのパッド又は複数のパッド状態の複数のクラスタは、コントローラの状態に依存して異なり得る。全システムに対して可視であるグローバルアーキテクチャ状態は、マイクロアーキテクチャパッド状態値を、本明細書に説明されるロジックを使用してオーバーライドし得ることに留意されたい。
そのようなインジケーションが受信されない場合、通常動作がブロック210で継続する。さもなければ、状態の変化が生じることが決定される場合、コントロールは、対応するI/Oパッドに存在する値がサンプリングされるブロック230に移る。実施形態において、値はI/Oバッファの受信機を介してサンプリングされ得る。本明細書に説明されるコントロールロジックを使用して、複数のパッド状態は、特定のアーキテクチャ状態において柔軟にサンプリングされ得、又は定期的にサンプリングされ得る。
次に、自律的コントロールモードがオーバーライドされるべきかどうかが判断される(ひし形240)。そのような自律的コントロールモードは、バッファコントロールロジックが、I/Oパッドに駆動される適切な値を自動的に決定する状況で実行され得る。このモードがオーバーライドされた場合には、コントロールは、構成ストレージのフィールドに対する1又は複数のコントロール値が、示される状態についての特定のデフォルトのコントロール値に基づいて設定され得るブロック260に移る。すなわち、自律モードがオーバーライドされたとき、ソフトウェア及び/又はファームウェアにコントロールされた値は、構成ストレージに提供され得る。この構成ストレージは、I/Oバッファをコントロールすべく次に使用される、複数のコントロール値を格納する1又は複数のフィールドを含むことに留意されたい。さもなければ、自律的コントロールモードがオーバーライドされないことが決定された場合に、コントロールは、構成ストレージフィールドについての1又は複数のコントロール値がサンプリングされた値に基づいて設定され得る、ブロック250に移る。
いずれの場合においても、次に、コントロールは、構成ストレージから取得されたコントロール値がI/Oバッファへ駆動され得る、ブロック270に移る。I/Oバッファにこれらのコントロール信号を駆動することにより、I/Oパッドにおいて所望の値が取得され得る。複数の実施形態において、より具体的には、この所望の値はこのパッドにおいてサンプリングされた値に対応し得る。このように、電気的競合、及び/又は、望ましくないリークパスは、例えば、スタンバイモード、又は他の低電力モードにおいて、電力消費の減少を可能とすることで、回避される。図3の実施形態においてこのような高レベルで示されるが、本発明の範囲はこの点に限定されないことを理解されたい。200の方法は、本明細書に説明されるようにコントロールされるべく、各バッファについて独立に実行し得ることに留意されたい。
ここで、図4を参照すると、本発明の実施形態に係るバッファの1又は複数のコントロール可能なエレメントのサンプリング、生成、及びプログラミングにおいて実行される動作を詳述するブロック図が示される。図4に示されるように、方法300は、プロセッサ又はSoCのI/OコントローラのロジックユニットのようなI/Oバッファに関連付けられたロジックにより実行され得る。
図4に示されるように、方法300は、最初にサンプリング及びサンプリングに基づく1又は複数のコントロール値の決定をする(ブロック310)。より具体的には、パッドに与えられる値を準備、及び、サンプリングし、次に、このサンプリングされた値に基づいてコントロール値を決定すべく、様々な段階が実行され得る。実施形態において、まず、パッドは、プロセッサがパッドにあらゆる状態を駆動していないことを確実にすべく、トライステートにされ得る(ブロック312)。実施形態において、このトライステートは、I/OバッファのTXイネーブルコントロールピンが確実にアサートされていないことをチェックすることにより実現され得る。次にブロック314において、パッドの状態は、サンプリングされ得る。実施形態において、値を得るべく、I/Oバッファの受信パスを使用して、サンプリングが実行され得る。この値は、パッド状態を決定するRX入力値として、レジスタに格納され得る。それから、この値は、後の参照のために登録され得る。
様々なコントロール値はパッドの状態に基づいて決定され得る。示される例において、サンプリングがロー値を示す場合、プルダウンコントロール可能なエレメントはイネーブルにされ得る(ブロック316)。代わりに、ハイ値が示された場合、プルアップコントロール可能なエレメントはイネーブルにされ得る(ブロック318)。さらに、所与のシステム構成において、パッドが使用されていない(所与のプラットフォームにおいて、パッドにアクティブな接続が存在しないことを意味する)場合、デフォルトのスタンバイ状態がイネーブルにされる(ブロック319)。実施形態において、スタンバイ状態は、プルダウンコントロール可能なエレメントをイネーブルにし、ウェイクサポートについてのI/Oバッファの受信機をイネーブルにすることにより実装され得る。このように、パッドの可能な最も低いリーク構成が、実現される。
次に、決定されたコントロール値に基づいて、可能なパッド値状態が生成され得る(ブロック320)。決定されたコントロール値に基づいて、パッド値ポリシーは、ブロック322で設定され得る。実施形態において、2ビットフィールドが、方向と値との両方を示すべく、パッド毎に提供され得る。そのような実施形態において、最上位ビットが、パッドが入力パッドとなるようにコントロールされているか、出力パッドとなるようにコントロールされているかを示し、最下位ビットが、パッド上の値がハイ値であるべきか、ロー値であるべきかを示す。以下の表1は、実施形態に係るI/Oパッド値ポリシーについての例示の値を示す。
Figure 2017504980
次にブロック324において、オーバーライド又はバックアップオプションが可能とされるかどうかが決定される。そのようなオーバーライド又はバックアップオプションは、オーバーライドが望まれていることを示すべく実行するソフトウェア又はファームウェアによりコントロール可能であり得る。アクティブなオーバーライドインジケータの提供に加えて、デフォルトのコントロール値が、例えば適切なストレージから取得され得る。それから、ブロック326において、最終パッド構成値が1又は複数のバッファコントロールレジスタに対しマッピングされ得る。異なる実施形態において、複数のコントロールレジスタの様々な複数の量が存在し得る。いくつかの場合において、バッファのそれぞれのコントロール可能なエレメントの複数のフィールドを含む、単一のコントロールレジスタが存在する。一方、他の複数の実装において、所与のコントロール可能なエレメントに関連付けられた少なくとも1つのフィールドをそれぞれが含む複数の構成レジスタが提供され得る。
なおも図4を参照すると、次にブロック330において、パッドコントロールレジスタは、最終パッド構成値を使用して、プログラミングされ得る。図4の例において、複数のフィールド、即ち、送信イネーブルフィールド332、受信イネーブルフィールド334、プルダウンイネーブルフィールド336、及びプルアップイネーブルフィールド338を含む、単一のパッドコントロールレジスタの存在を仮定する。実施形態において、これらのフィールドは、図1のI/Oバッファに提供される信号をコントロールする複数のコントロール値を格納する。従って、最終的にマッピングされた構成値に基づいて、パッドコントロールレジスタのこれらのフィールドがプログラミングされる。
結果として、これらの値は、バッファが所望の状態にあるのを可能とすべく、バッファの対応するコントロール可能なエレメントをコントロールすべく送られ得る。例えば、スタンバイモード又は別の低電力モードの場合、オーバーライド又はバックアップモードが選択されていないと仮定すると、I/Oバッファは、パッドにサンプリングされたものと同じ値を示すべく構成され得る。図4の実施形態において、この高レベルにおいて示されるが、本発明の範囲はこの点に限定されないことを理解されたい。
複数の実施形態は、I/O構成レジスタをプログラミングする際に人間により導入される複数のエラーを排除して、SoCにとって市場に出す時間を減らすのに役立つ。加えて、I/Oバッファパッドプログラミングは、GPIO回路バッファ設計に適合し、利用できる可能な状態の値を制限すべく調整される。本明細書に説明されるように、電力管理ロジックをI/Oコントローラに提供することにより、I/Oパッドの競合に起因する電力損失が回避され得る。
ここで図5を参照すると、本発明の実施形態に係るコンピュータシステムにおいて存在する複数のコンポーネントのブロック図が、示される。図5に示されるように、システム400は、任意の組み合わせのコンポーネントを含み得る。これらのコンポーネントは、コンピュータシステムに適合される、複数のIC、それらの部分、別個の電子デバイス、又は他のモジュール、ロジック、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせとして、又は異なるようにコンピュータシステムの筐体の中に組み込まれたコンポーネントとして、実装され得る。図5のブロック図は、コンピュータシステムの多くのコンポーネントの高レベルの図を示すことが意図されることにも留意されたい。しかしながら、他の複数の実装において、いくつかの示されるコンポーネントは省略され得て、追加の複数のコンポーネントが存在してよく、示される複数のコンポーネントの異なる配置がなされてよいことが理解される。
図5に示されるように、一実施形態において、プロセッサ410は、マイクロプロセッサ、マルチコア・プロセッサ、マルチスレッド・プロセッサ、超低電圧プロセッサ、埋め込みプロセッサ、又は他の公知の処理要素を含む。示された実装において、プロセッサ410は、システム400の様々なコンポーネントの多くとの通信についてのメイン処理ユニット及び中央ハブとして動作する。一例として、プロセッサ400は、システムオンチップ(SoC)として実装される。特定の実施例として、プロセッサ410は、i3、i5、i7等のインテル(登録商標)アーキテクチャコア(登録商標)ベースのプロセッサ又はカリフォルニア州サンタクララのインテルコーポレーションから入手可能な別のこのようなプロセッサであってよい。しかしながら、カリフォルニア州サニーベールのAdvanced Micro Devices,Inc.(AMD)から入手可能なもの等の他の複数の低電力プロセッサ、ARM Holdings,Ltd.若しくは、それらの顧客から入手可能なARMベースの設計、又は、カリフォルニア州サニーベールのMIP Technologies,Inc.若しくはそれらの複数のライセンシ、若しくは複数の利用者のMIPSベースの設計は、アップル社製のA5プロセッサ、クアルコム社製のスナップドラゴン(登録商標)プロセッサ、又はTI社製のOMAP(登録商標)プロセッサ等の他の実施形態において代わりに存在し得る。一実装における、プロセッサ410のアーキテクチャ及び処理に関する特定の詳細が、以下に更に説明されるであろう。
一実施形態において、プロセッサ410はシステムメモリ415と通信する。説明に役立つ例として、所与の量のシステムメモリを提供すべく、システムメモリ415は、複数のメモリデバイス又は複数のモジュールを介して実装される。一実施形態において、メモリは、JEDEC JESD 209−2E(2009年4月に発行された)による現行のLPDDR2規格、又は、帯域幅を増大すべくLPDDR2に拡張を提供するであろう、LPDDR3又はLPDDR4と称されることとなる次世代のLPDDR規格等の電子機器技術評議会(JEDEC)の低電力ダブルデータレート(LPDDR)ベースの設計に従って動作可能である。例として、2/4/8/12/16ギガバイト(GB)のシステムメモリが存在してよく、1又は複数のメモリインターコネクトを介してプロセッサ410に結合されることが出来る。様々な実装において、個々の複数のメモリデバイスは、シングルダイパッケージ(SDP)、デュアルダイパッケージ(DDP)、又はクァッドダイパッケージ(QDP)等、異なるパッケージタイプであり得る。いくつかの実施形態において、これらのデバイスは、より低いプロファイルソリューションを提供すべく、マザーボードに直接的に半田付けされる。一方、他の複数の実施形態において、複数のデバイスは、次に所与のコネクタによりマザーボードに結合する1又は複数のメモリモジュールとして構成される。
データ、複数のアプリケーション、及び1又は複数のオペレーティングシステム等の情報の永続的なストレージを提供すべく、大容量ストレージ420もまた、プロセッサ410に結合し得る。様々な実施形態において、システム応答性を改善するためだけでなく、より薄くより軽いシステム設計を可能にするために、この大容量ストレージはSSDを用いて実装されてよい。しかしながら、他の複数の実施形態において、大容量ストレージは、複数のシステムのアクティビティの再起動において高速の電力上昇が生じ得るように、パワーダウンイベントの間、コンテキスト状態及び他のそのような情報の不揮発性ストレージを可能とするSSDキャッシュとして動作するより小さい量のSSDストレージとともに、ハードディスクドライブ(HDD)を使用して主に実装され得る。また、図5に示されるように、フラッシュデバイス422は、例えばシリアル周辺インターフェース(SPI)を介して、プロセッサ410に結合されてよい。このフラッシュデバイスは、システムの他のファームウェアだけでなく、基本入出力ソフトウェア(BIOS)を含む、システムソフトウェアの不揮発性ストレージを提供し得る。
様々な入出力(I/O)デバイスがシステム400中に存在し得る。様々な実施形態において、少なくともいくつかのデバイスは本明細書に最初に説明されるようにコントロールされる複数のI/Oバッファを介してプロセッサ410に結合され得る。筐体蓋部内に構成される高解像度のLCD又はLEDパネルであり得るディスプレイ424が、図5の実施形態において具体的に示される。このディスプレイパネルは、例えば、ディスプレイパネル上に外部から適合されるタッチスクリーン425を提供してもよく、このタッチスクリーンとのユーザの相互作用を介して、複数のユーザの入力が、例えば、情報の表示、及び情報のアクセス等に関する所望の複数の動作を可能とすべく、システムに提供され得る。一実施形態において、ディスプレイ424は、高性能グラフィックスインターコネクトとして実装されることができるディスプレイインターコネクトを介してプロセッサ410に結合されてよい。タッチスクリーン425は、実施形態において、ICインターコネクトであり得る、別のインターコネクトを介して、プロセッサ410に結合され得る。図5に更に示されるように、タッチスクリーン425に加えて、筐体内で構成され得、タッチスクリーン425と同一のICインターコネクトに結合もされ得るタッチパッド430を介して、タッチによるユーザの入力も生じ得る。
知覚コンピューティング又は他の目的のために、様々なセンサが、システム内に存在してよく、異なる態様でプロセッサ410に結合されてよい。特定の慣性センサ及び環境センサが、例えば、ICインターコネクトを介して、センサハブ440を通じてプロセッサ410に結合し得る。図5に示される実施形態において、これらのセンサは、加速度計441、環境光センサ(ALS)442、コンパス443、及びジャイロスコープ444を含み得る。他の複数の環境センサは、いくつかの実施形態において、システム管理バス(SMバス)を介してプロセッサ410に結合する1又は複数の熱センサ446を含んでよい。
プラットフォームにおいて存在する様々な複数の慣性センサ及び複数の環境センサを使用して、多数の異なるユースケースが実現され得る。これらのユースケースは、知覚コンピューティングを含む先進的な計算処理を可能とし、また、電力管理/バッテリ寿命、セキュリティ、及びシステム応答性に関する強化も可能とする。
例えば、電力管理/バッテリ寿命の問題に関して、環境光センサからの情報に少なくとも部分的に基づいて、プラットフォームの位置における複数の環境光の状態が判断され、従って、ディスプレイの強度がコントロールされる。従って、ディスプレイを動作させる際に消費される電力は、複数の特定の光の条件において減少される。
また、図5に示されるように、様々な周辺デバイスが、ローピンカウント(LPC)インターコネクトを介してプロセッサ410に結合し得る。示される実施形態において、様々なコンポーネントがエンベデッドコントローラ435を通じて結合され得る。そのような複数のコンポーネントは、(例えば、PS2インターフェースを介して結合される)キーボード436、ファン437、及び熱センサ439を含み得る。いくつかの実施形態において、タッチパッド430もPS2インターフェースを介してEC435に結合し得る。加えて、2003年10月2日付のトラステッドコンピューティンググループ(TCG)TPM仕様書、バージョン1.2に係るトラステッドプラットフォームモジュール(TPM)438のようなセキュリティプロセッサも、このLPCインターコネクトを介して、プロセッサ410に結合し得る。しかしながら、本発明の範囲はこの点に限定はされず、セキュアな処理及びセキュアな情報の格納は、セキュリティ・コプロセッサ内のスタティックランダムアクセスメモリ(SRAM)等の別の保護された位置にあり得、セキュアエンクレーブ(SE)プロセッサモードによって保護された場合にのみ復号化される複数の暗号化されたデータブロブとしてであり得る。
システム400は、無線を含む様々な方法で、複数の外部デバイスと通信出来る。図5に示される実施形態において、特定の無線通信プロトコルのために構成された無線機に各々が対応できる様々な無線モジュールが存在する。近距離のような短距離の無線通信についての一態様は、一実施形態においてSMバスを介してプロセッサ410と通信し得る、近距離無線通信(NFC)ユニット445を介してであってよい。このNFCユニット445を介して、互いに極めて接近している複数のデバイスが通信できることに留意されたい。例えば、ユーザは、システム400が、(例えば)ユーザのスマートフォン等の別のポータブルデバイスと通信させることを、2つのデバイスを密接な関係で一緒に適応させることを介して可能とし、識別情報、支払い情報等の情報、画像データ等のデータの転送を可能とすることが出来る。無線電力転送が、NFCシステムを使用して実行されてもよい。
本明細書に説明されるNFCユニットを使用して、複数のユーザは、1又は複数のそのようなデバイスの複数のコイルの間の結合を利用することにより、(近距離無線通信及び無線電力転送(WPT)等の)近距離フィールド結合機能のために、左右で複数のデバイスを押し付け、並べて複数のデバイスを置くことが出来る。より具体的には、複数の実施形態は、複数のコイルのより良好な結合を提供すべく、戦略的に成形及び配置されたフェライト材料の複数のデバイスを提供する。システムの共通の共鳴周波数を可能とすべく、各コイルは、システムの抵抗性、容量性、又は他の特徴とともに選択され得る、コイルに関連付けられたインダクタンスを有する。
図5に更に示されるように、追加の複数の無線ユニットは、WLANユニット450及びブルートゥース(登録商標)ユニット452を含む他の複数の短距離無線エンジンを含むことが出来る。WLANユニット450を使用して、所与のInstitute of Electrical and Electronics Engineers(IEEE)802.11規格に従ってWi−Fi(登録商標)通信が実現され得、ブルートゥース(登録商標)ユニット452を介して、ブルートゥース(登録商標)プロトコルを介した短距離通信が生じ得る。これらのユニットは、例えば、USBリンク又は万能非同期送受信機(UART)リンクを介して、プロセッサ410と通信してよい。さもなければ、これらのユニットは、例えば、仕様書バージョン3.0ベース(2007年1月17日に発行された)のPCI Express(登録商標)仕様書に係る、Peripheral Component Interconnect Express(登録商標)(PCIe(登録商標))プロトコル、又は、シリアルデータ入出力(SDIO)規格等の別のこのようなプロトコルによるインターコネクトを介して、プロセッサ410に、結合してよい。勿論、1又は複数のアドインカード上に構成され得る、これらの周辺デバイスの間の実際の物理的接続は、マザーボードに適合される複数のNGFFコネクタによることも出来る。
加えて、(例えば、セルラープロトコル又は他の無線広域プロトコルによる)無線広域通信は、次に加入者識別モジュール(SIM)457に結合し得るWWANユニット456を介して生じ得る。 加えて、位置情報の受信及び使用を可能にするために、GPSモジュール455が存在してもよい。図5に示される実施形態において、WWANユニット456、及び、カメラモジュール454等の統合キャプチャデバイスは、USB2.0若しくは3.0リンク等の所与のUSBプロトコル、又はUART若しくはICプロトコルを介して、通信し得ることに留意されたい。また、これらのユニットの実際の物理的接続は、マザーボード上に構成されたNGFFコネクタに対するNGFFアドインカードの適合を用いることができる。
統合カメラモジュール454は、蓋に組み込まれ得る。一例として、このカメラは、例えば、少なくとも2.0メガピクセル(MP)、及び、6.0MPへ、及びそれを超える解像度に拡張する解像度を有する、高解像度カメラであり得る。
複数の音声入力及び出力を提供すべく、高解像度オーディオ(HDA)リンクを介してプロセッサ410に結合し得るデジタル信号プロセッサ(DSP)460を介して、オーディオプロセッサは、実装され得る。同様に、DSP460は、筐体内に実装されてよい複数の出力スピーカ463に次に結合してよい統合符号復号機(CODEC)及びアンプ462と通信してよい。同様に、システム内の様々な処理の音声で起動されるコントロールを可能とすべく、複数の高品質音声入力を提供するため、アンプ及びCODEC462は、実施形態において、(デジタルマイクアレイ等の)デュアルアレイマイクを介して実装され得るマイク465から音声入力を受信すべく結合され得る。オーディオ出力は、アンプ/CODEC462からヘッドフォンジャック464に提供され得ることにも留意されたい。図5の実施形態において、これらの特定のコンポーネントにより示されるが、本発明の範囲は、この点に限定されないことを理解されたい。
いくつかの実施形態において、プロセッサ410は、外部電圧レギュレータ(VR)、及び複数の完全統合電圧レギュレータ(複数のFIVR)と称される、プロセッサダイの内部に統合される複数の内部電圧レギュレータにより電力供給され得る。グループ内の複数のコンポーネントのみにFIVRにより、電力が制御され、供給されるよう、プロセッサにおける複数のFIVRの使用は、複数のコンポーネントを別々の電源プレーンへ分類することを可能とする。電力管理の間、プロセッサが特定の低電力状態へと置かれた場合、1つのFIVRの所与の電源プレーンは、パワーダウン又はオフにされ得る。一方、別のFIVRの別の電源プレーンは、アクティブのままにされるか、又は完全に電力供給される。
複数の実施形態は、サーバプロセッサ、デスクトッププロセッサ、モバイルプロセッサ等を含む様々な市場のプロセッサに実装され得る。ここで図6を参照すると、本発明の実施形態に係るプロセッサのブロック図が示される。図6に示されるように、プロセッサ500は、複数のコア510−510を有する、マルチコアプロセッサであり得る。一実施形態において、そのようなコアそれぞれは、独立した電力の領域にあり得、ワークロードに基づいて、アクティブ状態、及び/又は最大性能状態等の様々なアーキテクチャ状態へ入る、及びそこから抜けるよう構成され得る。様々なコアが、インターコネクト515を介して、様々なコンポーネントを含むシステムエージェント又はアンコア520に結合され得る。示されるように、アンコア520は、最終レベルキャッシュであり得る、共有キャッシュ530を含み得る。加えて、アンコアは、統合メモリコントローラ540、様々なインターフェース550、及びパワーコントロールユニット555を含み得る。様々な実施形態において、パワーコントロールユニット555は、本発明の実施形態に係るバッファコントロールロジック559を含み得る。このロジックを使用して、複数の異なるインターフェースに結合されたプロセッサの様々なパッドが、電気的競合を回避する状態にコントロールされ得る。他の複数の実施形態において、このコントロールロジックは、複数のインターフェースのI/Oコントローラ中に実装され得ることを理解されたい。
更に図6を参照すると、プロセッサ500は、例えばメモリバスを介して、システムメモリ560と通信してよい。加えて、複数のインターフェース550によって、複数の周辺デバイス、大容量ストレージ等の様々なオフチップコンポーネントへの接続がされ得る。そのような複数のインターフェースは、本明細書に説明されるようにコントロールされる複数のGPIOバッファを含み得る。図6の実施形態においてこの特定の実装例により示されるが、本発明の範囲はこの点に限定されない。
複数の実施形態は、多数の異なるシステムタイプにおいて実装され得る。ここで図7を参照すると、本発明の実施形態に係るシステムのブロック図が示される。図7に示されるように、マルチプロセッサシステム600は、ポイントツーポイントインターコネクトシステムであり、ポイントツーポイントインターコネクト650を介して結合される第1のプロセッサ670及び第2のプロセッサ680を備える。図7に示されるように、プロセッサ670及び680の各々は、複数の第1及び第2のプロセッサコア(即ち、プロセッサコア674a及び674b並びにプロセッサコア684a及び684b)を有する、マルチコアプロセッサであり得る。しかし、潜在的にさらにより多数のコアが複数のプロセッサ中に存在し得る。それぞれのプロセッサは、本明細書で説明されるように、スタンバイ又は他のアーキテクチャ状態の間、電気的競合を回避すべく、ピン状態を自律的にコントロールすべく、PCU又は他のロジックを有し得る。
図7をなお参照すると、第1のプロセッサ670は、メモリコントローラハブ(MCH)672、及び、ポイントツーポイント(P−P)インターフェース676及び678を更に含む。同様に、第2のプロセッサ680は、MCH682、並びに、P−Pインターフェース686及び688を含む。図7に示されるように、MCH672及び682は複数のプロセッサをそれぞれのメモリ、即ち、メモリ632、及び、メモリ634に結合する。これらは、それぞれのプロセッサにローカルに取り付けられたシステムメモリ(例えば、DRAM)の一部であり得る。第1のプロセッサ670及び第2のプロセッサ680は、それぞれP−Pインターコネクト662及び664を介してチップセット690に結合され得る。図7に示されるように、チップセット690はP−Pインターフェース694及び698を含む。
更に、チップセット690は、P−Pインターコネクト639により、チップセット690を高性能グラフィックエンジン638と結合するインターフェース692を含む。次に、チップセット690はインターフェース696を介して第1のバス616に結合され得る。図7に示されるように、様々な入出力(I/O)デバイス614は、第1のバス616を第2のバス620に結合するバスブリッジ618と共に第1のバス616に結合され得る。一実施形態において、例えば、キーボード/マウス622、通信デバイス626、及び、コード630を含み得るディスクドライブ、又は他の大容量ストレージデバイス等のデータストレージユニット628を含む、様々なデバイスが、第2のバス620に結合され得る。更に、オーディオI/O624は、第2のバス620に結合され得る。複数の実施形態は、スマートセルラーテレフォン、タブレット型コンピュータ、ネットブック、ウルトラブック(登録商標)、等の複数のモバイルデバイスを含む他のタイプのシステムに組み込まれ得る。
ここで、図8を参照すると、本発明の別の実施形態に係るプロセッサのブロック図が示される。図8の実施形態において、プロセッサ1000は、各々が独立の動作電圧及び動作周波数において動作するようコントロールされ得る、複数の領域を有するシステムオンアチップ(SoC)であり得る。特定の実施例として、プロセッサ1000は、カリフォルニア州サンタクララのインテルコーポレーションから入手可能なi3、i5、i7等のインテル(登録商標)アーキテクチャコア(登録商標)ベースのプロセッサ又は別のそのようなプロセッサであってよい。しかしながら、カリフォルニア州サニーベールのAdvanced Micro Devices,Inc.(AMD)から入手可能なもの等の他の複数の低電力プロセッサ、ARM Holdings,Ltd.若しくは、それらの顧客から入手可能なARMベースの設計、又は、カリフォルニア州サニーベールのMIP Technologies,Inc.若しくはそれらの複数のライセンシ、若しくは複数の利用者のMIPSベースの設計が、アップル社製のA5プロセッサ、クアルコム社製のスナップドラゴン(登録商標)プロセッサ、又はTexas Instruments社製のOMAP(登録商標)プロセッサ等の他の実施形態において代わりに存在し得る。そのようなSoCは、スマートフォン、タブレット型コンピュータ、ウルトラブック(登録商標)コンピュータ、又は他のポータブルコンピューティングデバイス等の低電力システムで使用され得る。
図8に示される高レベルの図において、プロセッサ1000は、複数のコアユニット1010―1010を含む。各コアユニットは、1又は複数のプロセッサコア、1又は複数のキャッシュメモリ、及び他の回路を含み得る。それぞれのコアユニット1010は、1若しくは複数の命令セット(例えば、x86命令セット(複数の新バージョンでいくつかの拡張が追加されている)、カリフォルニア州サニーベールのMIPS TechnologiesのMIPS命令セット、カリフォルニア州サニーベールのARM HoldingsのARM命令セット(NEON等の複数のオプションの追加拡張を含む))又は他の命令セット又はそれらの複数の組み合わせをサポートし得る。いくつかのコアユニットは複数の異種のリソース(例えば、異なる設計の)であり得ることに留意されたい。加えて、そのようなコアそれぞれは、実施形態において共有レベル(L2)キャッシュメモリであり得る、キャッシュメモリに結合し得る。不揮発性ストレージ1030は、様々なプログラム及び他のデータを格納すべく使用され得る。例えば、このストレージは、マイクロコード、BIOS等のブート情報、他のシステムソフトウェア等の少なくとも一部を格納するのに使用され得る。
各コアユニット1010は、プロセッサの追加的な回路への相互接続を可能とするバスインターフェースユニット等のインターフェースも有し得る。実施形態において、各コアユニット1010は、次にメモリコントローラ1035に結合する、一次キャッシュコヒーレントオンダイインターコネクトとして作用するコヒーレントファブリックへ結合する。次に、メモリコントローラ1035は、(図8において理解し易くするため、不図示)ダイナミックランダムアクセスメモリ(DRAM)等のメモリとの通信をコントロールする。
複数のコアユニットに加えて、グラフィック処理を実行すると共にグラフィックプロセッサ上で汎用処理(いわゆる、GPGPU処理)を実行し得る、少なくとも1又は複数のグラフィック処理ユニット(GPU)を含み得る、少なくとも1つのグラフィックユニット1020を有する、複数の追加的な処理エンジンがプロセッサ中に存在する。加えて、少なくとも1つのイメージ信号プロセッサ1025が存在し得る。信号プロセッサ1025は、SoC内部又はオフチップのいずれかの、1又は複数のキャプチャデバイスから受信される入力画像データを処理すべく構成され得る。他のアクセラレータもまた、存在し得る。図8の図示において、ビデオコーダ1050は、例えば、高解像度ビデオコンテンツについてのハードウェアの加速サポートを提供して、ビデオ情報のエンコード及びデコードを含むコーディング処理を実行し得る。ディスプレイコントローラ1055は、システムの内部及び外部ディスプレイのサポートの提供を含む、複数のディスプレイ処理を加速すべく、更に提供され得る。加えて、セキュリティプロセッサ1045は、セキュアなブート処理、様々な暗号処理等のセキュリティ処理を実行すべく存在し得る。各々のユニットはパワーマネージャ1040を介してコントロールされた電力消費を有し得る。いくつかの実施形態において、SoC1000は、様々な周辺デバイスが結合し得るコヒーレントファブリックに結合した非コヒーレントファブリックを更に有し得る。1又は複数のインターフェース1060a−1060dは1又は複数のオフチップデバイスとの通信を可能とする。所与のアーキテクチャ状態にある場合、I/Oバッファに結合されたパッド上に所望の値を自律的に維持すべく、1又は複数のインターフェースは、本明細書に説明されるように、コントロールロジックを含み得る。そのような通信は、他のタイプの通信プロトコルの中でも、PCIe(登録商標)、GPIO、USB、IC、UART、MIPI、SDIO、DDR、SPI、HDMI(登録商標)等の様々な通信プロトコルによるものであり得る。図8の実施形態において、このような高レベルで示されるが、本発明の範囲はこの点について限定されないことを理解されたい。
以下の複数の例は更なる複数の実施形態に関する。
一例において、装置は、装置のロジックユニットを、パッドを介して装置に結合されるデバイスへ結合するI/Oバッファと、装置のアーキテクチャ状態へのエントリに応答して、パッド上の値を検出し、I/Oバッファがパッドへ値を提供するようコントロールする、I/Oバッファに結合されたロジックと、を備える。
例において、構成ストレージは、I/Oバッファに結合され、ロジックは検出される値に少なくとも部分的に基づいて、構成ストレージの少なくとも1つのフィールドをプログラミングする。少なくとも1つのフィールドは、I/Oバッファの供給電圧ノードと、出力ノードとの間に結合される第1のスイッチについてのコントロール値を格納すべく、第1のフィールドを含み得、第1のスイッチが閉じられた場合、出力ノードに結合すべくプルアップインピーダンスがイネーブルにされる。少なくとも1つのフィールドは、I/Oバッファの基準電圧ノードと、出力ノードとの間に結合される第2のスイッチについての第2のコントロール値を格納すべく、第2のフィールドを更に含み得、ここで、第2のスイッチが閉じられた場合、出力ノードに結合するプルダウンインピーダンスがイネーブルにされる。少なくとも1つのフィールドは、I/Oバッファの送信機をイネーブルにするイネーブル信号を格納すべく、第3のフィールドも含み得る。
例において、ロジックは、オーバーライドインジケータがアクティブな場合に、オーバーライド値をパッドに提供するようI/Oバッファをコントロールし、このときソフトウェアドライバがオーバーライド値を提供する。
例において、アーキテクチャ状態は低電力状態へのエントリを有し得る。
例において、I/Oバッファは、信号を受信してパッドに信号を出力する送信機と、供給電圧ノードと送信機の出力ノードとの間にコントロール可能に結合されるよう構成されたプルアップ抵抗と、基準電圧ノードと送信機の出力ノードとの間にコントロール可能に結合されるよう構成されたプルダウン抵抗と、を含む。I/Oバッファは、パッドからの第2の信号を受信して、ロジックユニットに信号を出力する受信機を更に有し得る。
上の装置は様々な手段を使用して実装されるプロセッサを有し得ることを留意されたい。
例において、プロセッサは、ユーザ機器の接触式デバイスに組み込まれるシステム・オン・チップ(SoC)を含む。
別の例において、システムは、ディスプレイ及びメモリを含み、上述した複数の例の1又は複数のプロセッサを含む。
別の例において、システムは、IC内に形成されたプロセッサであって、少なくとも1つのコアを有するプロセッサと、電力管理ロジックを有するI/Oコントローラと、信号情報をプロセッサに結合された1又は複数のデバイスと通信するI/Oコントローラに結合された少なくとも1つのI/Oバッファであって、電力管理ロジックは、プロセッサの少なくとも一部の低電力状態へのエントリのインジケーションを受信し、ICのパッド上の値をサンプリングし、状態の値を決定し、状態の値に応答して少なくとも1つのI/Oバッファを動的にコントロールし、パッドは少なくとも1つのI/Oバッファとインターコネクトとの間に結合される、I/Oバッファとを備える。システムは、プロセッサに結合されたDRAMを更に備え得る。
例において、電力管理ロジックは、サンプリングされた値に応答するコントロールストレージのフィールドを設定して、第1のインピーダンス及び第2のインピーダンスの少なくとも1つを少なくとも1つのI/Oバッファの出力ノードへ結合させる。電力管理ロジックは更に値のサンプリングをし得、状態を決定し得、及び、ファームウェア又はソフトウェアドライバにより提供されるオーバーライド値に基づいて、結合を引き起こすべく、第1のモードにおいて、及び第2のモードにおいて、結合させ得る。電力管理ロジックは、I/Oバッファがサンプリングされた値に対応する信号を出力することを可能にすべく、第1のインピーダンス又は第2のインピーダンスの結合を引き起こし得る。
別の例において、方法は、インターコネクトに結合されたICのパッド上の状態をサンプリングする段階であって、パッドはICのバッファに結合され、バッファは送信機及び受信機を含む段階と、サンプリングされた状態に基づいて、バッファの少なくとも1つのコントロール可能なエレメントについてのコントロール値を選択する段階と、オーバーライドインジケータがアクティブかどうかを判断し、アクティブであれば、オーバーライド値をバッファに関連付けられたストレージに格納し、そうでなければ、ストレージにコントロール値を格納する段階と、を備える。
例において、方法は、格納されたコントロール値を使用して、サンプリングされた状態を維持すべく、バッファをコントロールする段階を更に備える。
例において、方法は、システムのファームウェアから、オーバーライドインジケータを受信する段階を更に備える。
例において、方法は、状態をサンプリングする段階の前に、パッドをトライステートに置くべく、バッファをコントロールする段階を更に備える。
例において、方法は、第2のストレージにサンプリングされた状態を格納する段階、及び、その後、サンプリングされた状態を参照する段階を更に備える。
例において、方法は、パッドがICを含むプラットフォームにおいて使用されていない場合、プルダウンインピーダンスをパッドに結合すべく、バッファをコントロールする段階を更に備える。
別の例において、命令を含むコンピュータ可読媒体は、上述した複数の例のいずれかの方法を実行する。
別の例において、装置は、上述した複数の例のいずれか1つの方法を実行するための手段を備える。
上述した複数の例の様々な組み合わせが可能であると理解されたい。
複数の実施形態が、多数の異なるタイプのシステムにおいて使用され得る。例えば、一実施形態において、通信デバイスは、本明細書で説明された様々な方法及び技術を実行するよう構成され得る。勿論、本発明の範囲は通信デバイスに限定されず、代わりに他の複数の実施形態は、複数の命令を処理する他のタイプの装置、又は、コンピューティングデバイス上で実行されることに応答して、デバイスに本明細書で説明される1又は複数の方法及び技術を実行させる複数の命令を含む1若しくは複数の機械可読媒体を対象にする。
複数の実施形態はコードで実装され得、複数の命令を実行すべくシステムをプログラミングするために使用され得る複数の命令を格納する非一時的記憶媒体上に格納され得る。記憶媒体は、フロッピー(登録商標)ディスク、光ディスク、ソリッドステートドライブ(SSD)、コンパクトディスクリードオンリメモリ(CD−ROM)、コンパクトディスクリライタブル(CD−RW)、及び磁気光ディスクを含む任意のタイプのディスク、リードオンリメモリ(ROM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)等のランダムアクセスメモリ(RAM)、消去可能プログラマブルリードオンリメモリ(EPROM)、フラッシュメモリ、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)等の半導体デバイス、磁気又は光カード、又は複数の電子命令を格納するのに適切な任意の他のタイプの媒体を含み得るが、それらに限定されない。
本発明は限られた数の実施形態に関して説明されたが、当業者はそこから多数の修正形態及び変形形態を理解するであろう。添付の特許請求の範囲が、本発明の真の趣旨及び範囲に含まれるそのような全ての修正形態および変形形態を包含することが意図される。

Claims (22)

  1. 装置のロジックユニットを、パッドを介して前記装置に結合されたデバイスに結合する入出力(I/O)バッファと、
    前記装置のアーキテクチャ状態へのエントリに応答して、前記パッド上の値を検出し、前記パッドへ前記値を提供すべく前記I/Oバッファをコントロールする、前記I/Oバッファに結合されるロジックと、を備える装置。
  2. 前記I/Oバッファに結合された構成ストレージを更に備え、
    前記ロジックは、検出された前記値に少なくとも部分的に基づいて、前記構成ストレージの少なくとも1つのフィールドをプログラミングする、請求項1に記載の装置。
  3. 前記少なくとも1つのフィールドが、前記I/Oバッファの供給電圧ノードと出力ノードとの間に結合された第1のスイッチについてのコントロール値を格納する第1のフィールドを有し、前記第1のスイッチが、閉じられた場合に、プルアップインピーダンスが前記出力ノードに結合することを可能にする、請求項2に記載の装置。
  4. 前記少なくとも1つのフィールドが、前記I/Oバッファの基準電圧ノードと、前記出力ノードとの間に結合された第2のスイッチについての第2のコントロール値を格納する第2のフィールドを有し、前記第2のスイッチが閉じられた場合に、プルダウンインピーダンスが前記出力ノードに結合することを可能にする、請求項3に記載の装置。
  5. 前記少なくとも1つのフィールドは、前記I/Oバッファの送信機をイネーブルにすべく、イネーブル信号を格納する第3のフィールドを有する、請求項4に記載の装置。
  6. オーバーライドインジケータがアクティブなときに、前記ロジックが、オーバーライド値を前記パッドへ提供すべく前記I/Oバッファをコントロールし、ソフトウェアドライバは前記オーバーライド値を提供する、請求項1に記載の装置。
  7. 前記アーキテクチャ状態が低電力状態へのエントリを含む、請求項1に記載の装置。
  8. 前記I/Oバッファが、
    信号を受信し、前記パッドに前記信号を出力する送信機と、
    前記送信機の供給電圧ノードと、出力ノードとの間にコントロール可能に結合されたプルアップ抵抗と、
    前記送信機の基準電圧ノードと、前記出力ノードとの間にコントロール可能に結合されたプルダウン抵抗と、を有する、請求項1に記載の装置。
  9. 前記I/Oバッファが、前記パッドからの第2の信号を受信し、前記ロジックユニットに前記信号を出力する受信機を更に含む、請求項8に記載の装置。
  10. 集積回路(IC)内に形成されたプロセッサであって、
    少なくとも1つのコアと、
    電力管理ロジックを有する入出力(I/O)コントローラと、
    信号情報を前記プロセッサに結合された1又は複数のデバイスと通信すべく前記I/Oコントローラに結合された少なくとも1つの入出力(I/O)バッファであって、前記電力管理ロジックは、前記プロセッサの少なくとも一部の低電力状態へのエントリのインジケーションを受信し、前記ICのパッド上の値をサンプリングし、前記値の状態を決定し、前記値の前記状態に応答して前記少なくとも1つのI/Oバッファを動的にコントロールし、前記パッドは前記少なくとも1つのI/Oバッファとインターコネクトとの間に結合される、前記少なくとも1つのI/Oバッファと、を有する前記プロセッサと、
    前記プロセッサに結合されたダイナミックランダムアクセスメモリ(DRAM)と、を備えるシステム。
  11. 前記電力管理ロジックが、前記サンプリングされた値に応答してコントロールストレージのフィールドを設定し、第1のインピーダンス及び第2のインピーダンスのうち少なくとも1つを前記少なくとも1つのI/Oバッファの出力ノードへ結合させる請求項10に記載のシステム。
  12. 前記電力管理ロジックが前記値をサンプリングし、前記状態を判断し、及び、第1のモードにおいて前記結合を引き起こし、第2のモードにおいて、ファームウェア又はソフトウェアドライバにより提供されたオーバーライド値に基づいて前記結合を引き起こす、請求項11に記載のシステム。
  13. 前記電力管理ロジックは、前記I/Oバッファが前記サンプリングされた値に対応する信号を出力するのを可能にすべく、前記第1のインピーダンス又は前記第2のインピーダンスの結合を引き起こす、請求項12に記載のシステム。
  14. インターコネクトに結合された集積回路(IC)のパッド上の状態をサンプリングする段階であって、前記パッドは前記ICのバッファに結合され、前記バッファは送信機と受信機とを有する段階と、
    前記サンプリングされた状態に基づいて、前記バッファの少なくとも1つのコントロール可能なエレメントについてのコントロール値を選択する段階と、
    オーバーライドインジケータがアクティブかどうかを判断し、アクティブであれば、前記バッファに関連付けられたストレージにオーバーライド値を格納し、そうでなければ前記ストレージに前記コントロール値を格納する段階と、を備える方法。
  15. 格納された前記コントロール値を使用して、前記サンプリングされた状態を維持すべく、前記バッファをコントロールする段階を更に備える請求項14に記載の方法。
  16. システムのファームウェアから前記オーバーライドインジケータを受信する段階を更に備える請求項14に記載の方法。
  17. 前記状態をサンプリングする段階の前に、前記パッドをトライステートに置くよう、前記バッファをコントロールする段階を更に備える請求項14に記載の方法。
  18. 前記ストレージは、
    前記バッファの供給電圧ノードと、出力ノードとの間に結合された第1のスイッチについてのコントロール値を格納する第1のフィールドと、
    前記バッファの基準電圧ノードと、前記出力ノードとの間に結合された第2のスイッチについての第2のコントロール値を格納する第2のフィールドと、
    前記バッファの前記送信機についての第3のコントロール値を格納する第3のフィールドと、
    前記バッファの前記受信機についての第4のコントロール値を格納する第4のフィールドと、を含む複数のフィールドを有する請求項14に記載の方法。
  19. 第2のストレージに前記サンプリングされた状態を格納し、その後、前記サンプリングされた状態を参照する段階を更に備える請求項14に記載の方法。
  20. 前記パッドが前記ICを有するプラットフォームにおいて使用されていない場合、プルダウンインピーダンスを前記パッドに結合させるよう前記バッファをコントロールする段階を更に備える請求項14に記載の方法。
  21. 請求項14から20のいずれか1項に記載の方法を実行する手段を備える装置。
  22. 実行された場合に、請求項14から20のいずれか1項に記載の方法を実装する複数の機械可読な命令を含む、機械可読記憶媒体。
JP2016519997A 2013-11-27 2013-11-27 プロセッサのバッファの自律的制御 Active JP6403764B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/087934 WO2015077936A1 (en) 2013-11-27 2013-11-27 Autonomously controlling a buffer of a processor

Publications (2)

Publication Number Publication Date
JP2017504980A true JP2017504980A (ja) 2017-02-09
JP6403764B2 JP6403764B2 (ja) 2018-10-10

Family

ID=53198185

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016519997A Active JP6403764B2 (ja) 2013-11-27 2013-11-27 プロセッサのバッファの自律的制御

Country Status (7)

Country Link
US (2) US10241556B2 (ja)
EP (1) EP3075118B1 (ja)
JP (1) JP6403764B2 (ja)
KR (1) KR101835494B1 (ja)
CN (1) CN105659546B (ja)
DE (1) DE112013007650B4 (ja)
WO (1) WO2015077936A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10820274B2 (en) * 2017-06-19 2020-10-27 T-Mobile Usa, Inc. Systems and methods for testing power consumption of electronic devices
US11790977B2 (en) * 2020-07-20 2023-10-17 Mediatek Inc. Transmitter with voltage level adjustment mechanism in memory controller

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5500611A (en) * 1994-09-30 1996-03-19 Cirrus Logic, Inc. Integrated circuit with input/output pad having pullup or pulldown
JPH11136119A (ja) * 1997-10-29 1999-05-21 Nec Corp 入力回路
JP2004537792A (ja) * 2001-07-18 2004-12-16 インテル・コーポレーション 省電力
US8564335B1 (en) * 2010-10-15 2013-10-22 Marvell International Ltd. Low power pad

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5931945A (en) 1994-04-29 1999-08-03 Sun Microsystems, Inc. Graphic system for masking multiple non-contiguous bytes having decode logic to selectively activate each of the control lines based on the mask register bits
US5828233A (en) * 1996-09-12 1998-10-27 Quality Semiconductor, Inc. Mixed mode CMOS input buffer with bus hold
US5752261A (en) 1996-11-07 1998-05-12 Ncr Corporation Method and apparatus for detecting thrashing in a cache memory
US6020757A (en) * 1998-03-24 2000-02-01 Xilinx, Inc. Slew rate selection circuit for a programmable device
JP3512678B2 (ja) 1999-05-27 2004-03-31 富士通株式会社 キャッシュメモリ制御装置および計算機システム
US6624656B1 (en) 1999-10-15 2003-09-23 Triscend Corporation Input/output circuit with user programmable functions
US6678795B1 (en) 2000-08-15 2004-01-13 International Business Machines Corporation Method and apparatus for memory prefetching based on intra-page usage history
US6640285B1 (en) 2000-10-26 2003-10-28 Emc Corporation Method and apparatus for improving the efficiency of cache memories using stored activity measures
KR20030009117A (ko) 2001-07-19 2003-01-29 김승우 전자화폐 기능을 갖는 이동통신 기기를 사용한 전자화폐운용 방법 및 시스템
US6496058B1 (en) * 2001-07-24 2002-12-17 Virtual Ip Group Method for designing an integrated circuit containing multiple integrated circuit designs and an integrated circuit so designed
TWI247402B (en) * 2002-02-05 2006-01-11 Via Tech Inc Pad circuit and method for automatically adjusting gain for same
US7292067B2 (en) 2005-05-13 2007-11-06 Itt Manufacturing Enterprises, Inc. Method and apparatus for buffering bi-directional open drain signal lines
US7342838B1 (en) * 2005-06-24 2008-03-11 Lattice Semiconductor Corporation Programmable logic device with a double data rate SDRAM interface
KR100666176B1 (ko) * 2005-08-04 2007-01-09 삼성전자주식회사 반도체 장치의 탐침정렬 확인회로 및 탐침정렬 확인방법
US7526614B2 (en) 2005-11-30 2009-04-28 Red Hat, Inc. Method for tuning a cache
US7583102B1 (en) 2006-05-05 2009-09-01 Xilinx, Inc. Testing of input/output devices of an integrated circuit
US9223751B2 (en) * 2006-09-22 2015-12-29 Intel Corporation Performing rounding operations responsive to an instruction
US8341300B1 (en) * 2007-08-30 2012-12-25 Virident Systems, Inc. Systems for sustained read and write performance with non-volatile memory
TWI337000B (en) 2007-12-11 2011-02-01 Rdc Semiconductor Co Ltd Tri-state i/o port
US7969181B1 (en) * 2008-02-03 2011-06-28 Freescale Semiconductor, Inc. Device and method for adjusting an impedance of an output driver of an integrated circuit
US8423715B2 (en) 2008-05-01 2013-04-16 International Business Machines Corporation Memory management among levels of cache in a memory hierarchy
US8200954B2 (en) * 2008-07-08 2012-06-12 Texas Instruments Incorporated Multi-stage boot pin sampling
US9104420B2 (en) 2011-08-09 2015-08-11 Samsung Electronics Co., Ltd. Image forming apparatus, microcontroller, and methods for controlling image forming apparatus and microcontroller

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5500611A (en) * 1994-09-30 1996-03-19 Cirrus Logic, Inc. Integrated circuit with input/output pad having pullup or pulldown
JPH11136119A (ja) * 1997-10-29 1999-05-21 Nec Corp 入力回路
JP2004537792A (ja) * 2001-07-18 2004-12-16 インテル・コーポレーション 省電力
US8564335B1 (en) * 2010-10-15 2013-10-22 Marvell International Ltd. Low power pad

Also Published As

Publication number Publication date
DE112013007650T5 (de) 2016-08-11
CN105659546B (zh) 2020-01-21
US20190196568A1 (en) 2019-06-27
JP6403764B2 (ja) 2018-10-10
CN105659546A (zh) 2016-06-08
EP3075118B1 (en) 2019-11-20
DE112013007650B4 (de) 2020-04-23
US20160246352A1 (en) 2016-08-25
EP3075118A1 (en) 2016-10-05
WO2015077936A1 (en) 2015-06-04
KR20160060726A (ko) 2016-05-30
US10241556B2 (en) 2019-03-26
KR101835494B1 (ko) 2018-03-08
EP3075118A4 (en) 2017-09-20
US10884476B2 (en) 2021-01-05

Similar Documents

Publication Publication Date Title
US11782492B2 (en) Techniques to enable communication between a processor and voltage regulator
US10084698B2 (en) Selectively enabling first and second communication paths using a repeater
US11106474B2 (en) System, method, and apparatus for DVSEC for efficient peripheral management
KR101565357B1 (ko) 타임아웃을 처리하기 위한 시스템, 방법 및 장치
US9405345B2 (en) Constraining processor operation based on power envelope information
US11263165B2 (en) Apparatuses for periodic universal serial bus (USB) transaction scheduling at fractional bus intervals
US11451067B2 (en) Method, apparatus and system to enhance a device policy manager to manage devices based on battery condition
US20140289434A1 (en) Leveraging an Enumeration and/or Configuration Mechanism of One Interconnect Protocol for a Different Interconnect Protocol
US11231937B2 (en) Autonomous host detection for communication port management
US20160274923A1 (en) An apparatus, method, and system for a fast configuration mechanism
WO2017205697A1 (en) Method, apparatus, and system for signal equalization
US11232056B2 (en) System and method for vector communication
US11188492B2 (en) Enhanced serial peripheral interface (eSPI) port expander
US10884476B2 (en) Autonomously controlling a buffer of a processor
US20220113967A1 (en) Accelerator fabric for discrete graphics

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170829

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180123

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180419

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180911

R150 Certificate of patent or registration of utility model

Ref document number: 6403764

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