JP2014514660A - 論理コアの動的マッピング - Google Patents

論理コアの動的マッピング Download PDF

Info

Publication number
JP2014514660A
JP2014514660A JP2014505374A JP2014505374A JP2014514660A JP 2014514660 A JP2014514660 A JP 2014514660A JP 2014505374 A JP2014505374 A JP 2014505374A JP 2014505374 A JP2014505374 A JP 2014505374A JP 2014514660 A JP2014514660 A JP 2014514660A
Authority
JP
Japan
Prior art keywords
core
physical
processor
cores
logical
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
JP2014505374A
Other languages
English (en)
Other versions
JP6265885B2 (ja
JP2014514660A5 (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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JP2014514660A publication Critical patent/JP2014514660A/ja
Publication of JP2014514660A5 publication Critical patent/JP2014514660A5/ja
Application granted granted Critical
Publication of JP6265885B2 publication Critical patent/JP6265885B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)
  • Power Sources (AREA)
  • Multi Processors (AREA)

Abstract

論理コアを物理的コアに動的に再マッピングするプロセッサが開示される。一実施形態において、プロセッサは、複数の物理的コアを含み、複数の物理的コアに対する論理コアのマッピングを保存するように構成されている。プロセッサは、割当ユニットを含む。割当ユニットは、プロセッサのブート処理の後、論理コアを複数の物理的コアに再マッピングするように構成されている。いくつかの実施形態において、割当ユニットは、複数の物理的コアのうち1つ以上がアイドル状態に入った旨を示す指標の受信に応じて、論理コアを再マッピングするように構成されている。プロセッサは、第1の物理的コアがアイドル状態を終了したとき、複数の物理的コアのうち第1の物理的コアに対して、複数の物理的コアのうち第2の物理的コアの実行状態をロードするように構成されてもよい。
【選択図】図1

Description

本開示は、概してプロセッサに関し、より詳細には、複数のプロセッサコアにわたるワークロード(作業負荷)の分配に関する。
集積回路の長寿命化は、重要な設計目標であることが多い。なぜならば、多くの場合には、消費者が望んでいる回路は、高ストレス下において信頼性良く長期間動作することが可能な回路であるからである。そのため、開発者らは、集積回路の寿命に影響を与える多様な要素を考慮に入れようとしている。
プロセッサの予測寿命に影響を与える1つの重要な要素として、プロセッサが経時的に経験するワークロードがある。高ワークロード下において長時間動作するプロセッサ(例えば、サーバシステムにおいて用いられるプロセッサ)の場合には、より大量のシリコンストレスを受ける場合がある。このようなシリコンストレスは、エレクトロマイグレーション、誘電破壊又は熱的誘導摩耗の原因となる。これらの要素に起因して、プロセッサの寿命が大幅に短くなる場合がある。そのため、場合によっては、平均寿命の向上のために、プロセッサのワークロードの低減が望まれる場合がある。
本開示は、論理コアを、物理的コアに動的に再マッピングするための構造及び方法の多様な実施形態について記述する。
一実施形態において、プロセッサが開示される。プロセッサは、複数の物理的コアを含み、論理コアのマッピングを当該複数の物理的コアに格納するように構成されている。プロセッサは、割当ユニットをさらに含む。割当ユニットは、プロセッサのブート処理後に、論理コアを、複数の物理的コアに再マッピングするように構成されている。
一実施形態において、方法が開示される。この方法は、1組のタスクを行うプロセッサ上の複数の物理的コアを含む。1組のタスクは、複数の物理的コアへの論理コアのマッピングに基づいて、割り当てられている。方法は、オペレーティングシステムが実行しているときに、論理コアを複数の物理的コアに再マッピングするプロセッサをさらに含む。再マッピングに基づいて、さらなる1組のタスクが割り当てられる。
一実施形態において、コンピュータ可読記憶媒体が開示される。この記憶媒体は、データ構造を含む。データ構造は、コンピュータシステム上で実行可能なプログラムによって動作される。データ構造上で動作するプログラムは、データ構造によって記述された回路を含むプロセッサを作製するためのプロセスの一部を行うように、実行することが可能である。データ構造によって記述された回路は、複数の物理的コアを含む。プロセッサは、複数の物理的コアへの論理コアのマッピングを保存するように構成されている。また、回路は、プロセッサのブート処理の後、論理コアを複数の物理的コアに再マッピングするように構成された割当ユニットを含む。
論理コアを物理的コアに動的に再マッピングするように構成されたマルチコアプロセッサを含むコンピュータシステムの一実施形態を示すブロック図である。 マルチコアプロセッサ内に設けられ得る割当ユニットの一実施形態を示すブロック図である。 割当ユニット内に含まれ得る決定ユニットの一実施形態を示すブロック図である。 論理コアを物理的コアに動的に再マッピングするための方法の一実施形態を示すフロー図である。 例示的なコンピュータシステムの一実施形態を示すブロック図である。
本明細書は、「一実施形態」又は「ある実施形態」との表現を含む。「一実施形態では」又は「ある実施形態では」というフレーズは、必ずしも同一の実施形態を指していない。特定の特徴、構造又は特性を、本開示による任意の様態で組み合わせてもよい。
専門用語。以下の段落では、本開示(添付の特許請求の範囲を含む)において用いられる用語の定義及び/又は文脈を提供する。
「備える、含む(Comprising)」。この用語は、オープンエンドである。この用語が添付の特許請求の範囲において用いられる場合、この用語は、さらなる構造又はステップを排除しない。「1つ以上のプロセッサユニットを備える装置…」という請求項について検討すると、このような請求項は、装置がさらなる構成要素(例えば、ネットワークインターフェースユニット、グラフィックス回路など)を含む場合を排除しない。
「〜ように構成されている」。多様なユニット、回路又は他の構成要素が、タスク(単数又は複数)を行うように「構成されている」と記述されてもよいし、特許請求されてもよい。このような文脈において、「〜ように構成されている」とは、ユニット/回路/構成要素が、これらのタスク(単数又は複数)を動作中に行う構造(例えば、回路)を含む、ということを示すことによって、構造を暗示するために用いられる。よって、ユニット/回路/構成要素は、その具体的なユニット/回路/構成要素が現在動作していない(例えば、オンではない)場合であっても、タスクを行うように構成されているものと見なされ得る。このような「構成される」という文言と共に用いられるユニット/回路/構成要素としては、ハードウェア(例えば、回路や、動作を実行するために実行可能なプログラム命令を記憶するメモリ等)が挙げられる。ユニット/回路/構成要素が1つ以上のタスクを行うように「構成されている」という場合、そのユニット/回路/構成要素について35U.S.C.§112(第6段落)を行使しないことを明示的に意図する。さらに、「構成されている」としては、問題に際してタスク(単数又は複数)を行うことが可能な態様で動作するためのソフトウェア及び/又はファームウェア(例えば、FPGA若しくはソフトウェアを実行する汎用プロセッサ)によって操作される一般的構造(例えば、一般的回路)が挙げられる。また、「構成されている」は、1つ以上のタスクを実行又は実施するように適合されたデバイス(例えば、集積回路)を作製するための製造プロセス(例えば、半導体製造施設)を適合させることも含んでもよい。
「第1の」、「第2の」など。本明細書中用いられる場合、これらの用語は、これらが先行する名詞の標識として用いられ、いかなる種類の順序を示唆しない(例えば、空間的順序、時間的順序、論理的順序)。例えば、8個の処理要素又はコアを有するプロセッサにおいて、「第1の」処理要素及び「第2の」処理要素という用語は、これら8個の処理要素のうち任意の2個の処理要素を指してもよい。換言すれば、「第1の」処理要素及び「第2の」処理要素は、論理処理要素0及び1に限定されない。
「基づく」。本明細書において用いられる場合、この用語は、決定に影響を与える1つ以上の要素を説明するために使用される。この用語は、決定に影響を与えるさらなる要素を排除しない。すなわち、これらの要素のみに基づいて決定を行ってもよいし、あるいは、少なくとも部分的にこれらの要素に基づいて決定を行ってもよい。「Bに基づいてAを決定する」という句について検討する。Bは、Aの決定に影響を与える要素であってもよく、一方でこのような句は、Cに基づくAの決定を排除しない。他の場合において、Bのみに基づいてAが決定される場合がある。
「プロセッサ」。この用語は、当該分野において通常及び受け入れられている意味を有し、命令を実行可能なデバイスを含む。プロセッサは、中央処理装置(CPU)、コプロセッサ、演算処理装置、グラフィックス処理装置、デジタル信号プロセッサ(DSP)などを非限定的に指す。プロセッサは、単一のパイプライン又は複数のパイプラインを備えたスーパースカラプロセッサであってもよい。プロセッサは、命令を実行するようにそれぞれ構成された単一のコア又は複数のコアを含んでもよい。
「物理的コア」。この用語は、当該分野において通常及び受け入れられている意味を有し、プロセッサを含む物理的(すなわち、有形の)回路を含む。この回路は、命令を実行するように構成されている。プロセッサは、複数の物理的コアを含んでもよい。
「論理コア」。この用語は、当該分野において通常及び受け入れられている意味を有し、識別子を含む。この識別子は、マルチコアプロセッサ内の物理的コアと関連付けられており、当該コアにタスクを割り当てるために用いられる。例えば、一実施形態において、タスクは、当該タスクをP0上において行うことを直接指示する代わりに、物理的コアP0にマッピングされた論理コアL0によって当該タスクを行うことを特定する場合がある。論理コアL0がその後別の物理的コアP1に再マッピングされた場合、タスクをコアP1上で行ってもよい。よって、「論理コア」とは、異なる時期において同一の物理的コアに対応してもよく、又は対応しなくてもよいコアの識別子である。
「ブート処理」。この用語は、当該分野において通常及び受け入れられている意味を有し、コンピュータシステムを初期化し、コンピュータシステムのためのオペレーティングシステムをロードするプロセスを含む。また、ブート処理は、I/Oデバイスの初期化、メモリ試験等を含んでもよい。
多くの現代のオペレーティングシステムは、各コアのワークロードに基づいて、マルチコアプロセッサ内の異なるプロセッサコアへタスクを分配する能力に対応している。例えば、プロセッサに2つのプロセッサコアが含まれており、1つのコアが重いワークロード下において動作しており、同時にもう一方のコアはそうではない場合、オペレーティングシステム(又は他の何らかの機構)により、プロセッサコア間でタスクを再分配することができる。コア間でタスクの再分配を行うことにより、タスク性能の向上が可能となるだけでなく、過重稼働に起因するコアの早期故障の可能性が低減するため、プロセッサの予測される寿命も向上する。
ワークロードを均等に分配することは困難な場合がある。なぜならば、オペレーティングシステムは、特定のタスクを特定のコアのみで行うことしか許可しない場合があるからである。例えば、特定のオペレーティングシステムにおいてリアルタイムプログラムケイデンスを設定するためにサーバに割り込むタイマーチックは、論理ブートストラッププロセッサコアのために用いられるものであるため、他のコアに分配することはできない。他の例としては、(例えば、親和性(すなわち、キャッシュ内に既に存在する同一キャッシュメモリアクセスデータセットをプロセスが発見する可能性)を向上させるために)特定のコアが所与のアプリケーションプロセスを一貫して取り扱うことを要求するプロセッサ間割り込み、及びデバイスプログラミングを通じて特定のコアに方向付けられるIOデバイス割り込みが挙げられる。特定のコアが、このようにしていくつかのタスクを実行するように指定された場合、その他のコアよりも当該コアのワークロードが高くなる場合があり、そのため当該コアの予想寿命が短くなる場合がある。
単一のCPUコアが活性化されるシステムの電圧及び周波数を熱限界内で達成可能な最大限の電圧及び周波数まで上げるための電力管理策において、さらなる進展が発生している。このような進展により、性能は向上したものの、シリコン劣化速度のさらなる上昇も招いている。
シリコンの経時的劣化による影響を軽減する方法は数種類ある。典型的には、ワークロードと、チップ仕様の一部である環境動作条件との組を用いて、シリコン劣化をモデル化する。これらの前提を用いて、シリコンの経時的劣化による影響(詳細には、トランジスタ閾値電圧、飽和電流及び遷移速度に対する影響)を推定する。これを用いて、長期損傷を充分に回避できるように動作周波数を保護帯域設定することにより、当該部分に割り当てられる性能を制限することが可能になる。このような対策は、シリコン劣化のいくつかの局面に対応することは可能であるものの、熱的に誘導される機械摩耗には対応せず、寿命保証に関連して、起動時におけるシステムのピーク性能が制限される。
いくつかのシステムは、シリコンストレスを低減するために、アイドル期間における動作電圧及び周波数の低減を積極的に管理することを試みている。これは、典型的システムにおいて高活性期間及び低活性期間における予測される問題の軽減を支援するものの、部分的な解決法でしかないが、前の段落で記載した動作周波数保護帯域の低減のために用いることが可能である。
いくつかのシステムは、論理コアを物理的コアにマッピングし、BIOSパワーオン自己試験フェーズの間にマッピングを変更することにより、この問題の軽減を試みている。例えば、2つの物理的コアP0及びP1を有するプロセッサは、第1の起動の間にこれらのコアをそれぞれ論理コアL0及びL1にマッピングしてもよい。その後、論理コアL0を指定するタスクを物理的コアP0上で実行することができ、その後論理コアL1を指定するタスクを物理的コアP1上で実行することができる。リセット後、プロセッサは、論理コアL0及びL1を物理的コアP1及びP0へそれぞれ再マッピングしてもよい。論理コアL0が一般にL1よりも重いワークロードを有する場合、各リセットの間に論理コアを再マッピングすると、物理的コアP0及びP1の寿命を通じて、物理的コアP0及びP1におけるワークロード分配を向上させることが可能になる。このような再マッピングをリセットの間に行うことは、比較的簡単なことである。なぜならば、オペレーティングシステムは未だロードされていない状態であり、ソフトウェアは、特定のコアが割り込みを取り扱うことを予測していないからである。論理コアをこのように再マッピングした場合の問題は、サーバ(および一定範囲においてデスクトップ)に対するリセットイベントは一般的に稀であることを、本開示は認める。
本開示は、論理コアを物理的コアに動的に再マッピングするための多様な技術について記述する。以下に説明するように、マルチコアプロセッサは、論理コアのマッピングを複数の物理的コアに記憶することができる。このマッピングは、物理的コアのうち様々なコアにタスクを割り当てるために、オペレーティングシステム、I/Oデバイスなどによって用いられてもよい。一実施形態において、マルチコアプロセッサは、(すなわち、プロセッサのブート処理後に)論理コアをライブシステム上の物理的コアに再マッピングするように構成された割当ユニットを含む。例えば、先ず、第1の論理コアは、第1の物理的コアにマッピングされ得る。その後、第1の論理コアにアドレス指定されたタスクは、実行のために第1の物理的コアに割り当てられ得る。その後、割当ユニットは、第1の論理コアを、物理的コアのうち第2の物理的コアに再マッピングすることができる。その結果、第1の論理コアにアドレス指定されたタスクを、その後実行のために第1の物理的コアではなく第2の物理的コアに割り当ててもよい。第1の論理コアが他の論理コアよりも高いワークロードを有することが多い場合、多くの場合において、当該ワークロードを(プロセッサを再起動する必要無く)物理的コアにわたってより均等に分配することができる。
よって、本明細書に記載のプロセッサは、多くの場合において、動的再マッピングを行うように構成されていない他のプロセッサの場合よりも、物理的コア割当をより頻繁に局所的に切り換えることが可能である。多様な実施形態において、このように再マッピングをより高頻度に行うことにより、機能アーキテクチャ仕様を満足しつつ、コアへのワークロード分配を(OS、I/O及びシステム−デバイスプログラミングに関係無く)より均等に行うことが可能になる。その結果、単一の演算エンティティ上におけるプロセッサへのシリコンストレスを低減することができ、プロセッサの長寿命化が可能となる。また、シリコン長寿命化により、さらに信頼性及び性能も向上する。なぜならば、シリコン劣化に関する動作周波数保護帯域を低減することが可能であるからである。さらに、危険性が低減するため、製造時における部品毎のシリコンストレス試験(通常、「バーンイン」試験と呼ばれる)をより限定することができ、その結果製造コスト低減に繋がる。
ここで図1を参照して、コンピュータシステム100の一実施形態のブロック図を示す。この例示的実施形態において、コンピュータシステム100は、プロセッサ110と、メモリ120と、基本入出力システム(BIOS)130とを含む。プロセッサ110は、プロセッサコア112A〜112C(いくつかの実施形態において、プロセッサ110は、図示よりも多数又は少数のコア112を含み得る)と、割当ユニット114とを含む。プロセッサ110は、相互接続部115を介してメモリ120に接続されており、相互接続部125を介してBIOS130に接続されている。上記の例示的実施形態において、メモリ120は、オペレーティングシステム122と、1つ以上の保存された実行状態124とを保存するように構成されている。
プロセッサ110は、任意の適切な種類のマルチコアプロセッサであってよい。プロセッサ110は、汎用プロセッサ(例えば、中央処理装置(CPU))であってよい。プロセッサ110は、特殊目的用プロセッサ(例えば、加速処理装置(APU)、デジタル信号プロセッサ(DSP)、グラフィックス処理装置(GPU)等)であり得る。プロセッサ110は、加速論理(例えば、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)等)であってよい。プロセッサ110は、マルチスレッドスーパースカラプロセッサであってよい。
メモリ120は、任意の適切な種類のメモリであってよい。メモリ120は、異なる物理的記憶媒体(例えば、ハードディスク記憶装置、フロッピー(登録商標)ディスク記憶装置、リムーバブルディスク記憶装置、フラッシュメモリ、ランダムアクセスメモリ(RAM、例えば、静的RAM(SRAM)、拡張データ出力(EDO)RAM、同期型動的RAM(SDRAM)、ダブルデータレート(DDR)SDRAM、RAMBUS RAM等)、リードオンリーメモリ(ROM、例えば、プログラマブルROM(PROM)、電気的に消去可能なプログラマブルROM(EEPROM)等)を用いて実行することができる。
BIOS130は、プロセッサ110のブート処理を行うように構成された基本入出力システムの一実施形態である。多様な実施形態において、このブート処理は、コンピュータシステム100のI/Oデバイス(例えば、ビデオカード、マウス、キーボード)を特定及び初期化することを含んでよい。このブート処理は、メモリ120のデバイスの整合性(integrity)を試験することを含んでよい。一実施形態において、BIOS130は、ブート処理の終了時において、オペレーティングシステム122を永久記憶装置からメモリ120のRAMにロードすることと、オペレーティングシステム122の実行をプロセッサ110に開始させることとを行ってもよい。以下に説明するように、多様な実施形態において、BIOS130がプロセッサ110のブート処理実行を完了した後、割当ユニット114は、論理コアをコア112に再マッピングするように構成される。
プロセッサコア112は、物理的コアの一実施形態である。これらの物理的コアは、1つ以上のタスクを行うための命令を実行するように構成されている。多様な実施形態において、これらのタスクは、(例えば、時間チッカー割り込みを処理するために)オペレーティングシステム122によって割り当てられてよい。これらのタスクは、(例えば、プロセッサ間割り込み(IPI)を処理するために)他のコア112によって割り当てられてよい。これらのタスクは、(例えば、受信入力をサービスするために)I/Oデバイスによって割り当てられてよい。上述したように、多様な実施形態において、論理コアの物理的コア112へのマッピングに基づいて、いくつかのタスクを割り当ててもよい。例えば、オペレーティングシステム122は、特定のタスクを、一実施形態においてブートストラッププロセッサに対応し得る第1の論理コアL0に割り当ててよい。論理コアL0が現在プロセッサ112Aにマッピングされている場合、プロセッサ112Aは上記特定のタスクを行うことができる。しかし、論理コアL0がプロセッサ112Bにマッピングされた場合、プロセッサ112Bが上記特定のタスクを行うことができる。
いくつかの実施形態において、コア112は、異なる動作状態において動作するように構成されてよい。これらの動作状態は、プロセッサ110によって事前定義されており、異なる電力状態と、異なる性能状態とを含んでよい。いくつかの実施形態において、これらの電力状態及び/又は性能状態は、「C」状態及び「P」状態にそれぞれ対応する。これらの「C」状態及び「P」状態は、電力制御インターフェース(ACPI)標準によって規定されている。性能状態とは、コア112が特定の電圧/周波数において命令を実行している状態である。例えば、一実施形態において、重要な処理要求が存在する場合、コア112は、最高性能状態において動作することができる。この最高性能状態は、性能状態P0と呼ばれ得る。このような実施形態において、P0は、コア112の最大動作周波数及び最高電力設定に対応する。より少数の要求が存在する場合、コア112は、より低い性能状態(例えば、性能状態P1、P2)において動作することができる。この場合、コア112は、より低い動作周波数およびより低い電力設定において動作する。電力状態は、例えば、コア112がフル動作可能であるか、又は全体的若しくは部分的にパワーダウンしているかを示し得る。例えば、一実施形態において、コア112に対して一定の処理要求が存在する場合、コア112は、命令実行を可能にする電力状態において動作し得る。このような状態は、電力状態C0と呼ばれ得る。コア112に対する要求が存在しない、又はほとんど要求が存在しない場合、一実施形態において、コア112は、より低い電力状態(例えば、停止状態又はクロック停止状態)において動作し得る。このような状態は、電力状態C1又はC2とそれぞれ呼ばれ得る。そのため、電力状態は、コア112がフル動作可能である(すなわち、命令を実行できる)状態を指す場合もあるし、あるいは、コア112が命令を実行していない複数の異なるアイドル状態のうち1つ以上を指す場合もある。
一実施形態において、各コア112は、アイドル状態に入ったとき、(上述したコアの動作状態ではなく)自身の実行状態124をメモリ120に保存するように構成されている。多様な実施形態において、コア112の保存された実行状態124は、レジスタ、プログラムカウンタ、スタックポインター等の内容を含んでよい。また、保存された実行状態124は、命令キャッシュ(Iキャッシュ)の内容、データキャッシュ(Dキャッシュ)の内容、トランスレーションルックアサイドバッファ(TLB)情報等を含んでよい。一実施形態において、コア112がアイドル状態を終了するときに、コア112は、自身の実行状態124をリロードし、リロードされた状態124を用いて命令実行を再開するように構成されている。以下に説明するように、いくつかの実施形態において、コア112は、論理コアが物理的コアに再マッピングされるのに応じて、別のコア112の保存された状態124をロードするように構成されてもよい。
一実施形態において、割当ユニット114は、論理コアの物理的コア112へのマッピング(すなわち、論理コアマッピング)を生成し、論理コアの物理的コア112への動的再マッピングを行うように構成されている。本明細書で用いられる場合、動的再マッピングとは、BIOS130がプロセッサ110のためのブート処理を行った後に行われる再マッピングを指す。換言すれば、一実施形態において、割当ユニット114は、オペレーティングシステム122がロードされて実行状態となった後、論理コアを物理的コア112へ再マッピングするように構成されている。例示的な実施形態において、割当ユニット114は、プロセッサ110内に配置されるが、特定のコア112内には配置されない。いくつかの実施形態では、割当ユニット114は、コア112内に配置されてもよいし、あるいは、複数のコア112間に分配されてもよい(すなわち、コア112は、割当ユニット114の動作を実行することができる)。いくつかの実施形態では、割当ユニット114は、プロセッサ110のノースブリッジ論理内に配置されてもよい。いくつかの実施形態では、割当ユニット114は、プロセッサ110の外部に配置されてもよい(例えば、BIOS130内)。いくつかの実施形態では、割当ユニット114によって行われると記述された動作は、コンピュータシステム100内の複数のブロック間に分割されてもよい。
一実施形態において、プロセッサ110は、割当ユニット114が異なる論理コアを別のコア112に再マッピングしたとき、コア112の実行状態を当該別のコア112に転送するように構成されている。例えば、コア112Aが論理コアL0に割り当てられた場合、プロセッサ110は、L0がコア112Bに再マッピングされた後、コア112Aの状態をコア112Bに転送することができる。一実施形態において、プロセッサ110は、コア112間の相互接続部を介してコア112間の実行状態を転送するように、構成されている。一実施形態において、プロセッサ110は、当該状態を(状態124として)メモリ120に保存した後に、当該状態を別のコア112上に再ロードすることによって、実行状態を転送するように構成されてもよい。いくつかの実施形態において、プロセッサ110は、コア112がアイドル電力状態(例えば、上記したようなもの)に入った場合及びアイドル電力状態を終了した場合、実行状態を保存及び再ロードするように構成されている。以下に説明するように、一実施形態において、プロセッサ110は、割当ユニット114が再マッピングを行うのに応じて、1つ以上のコア112に対して、アイドル状態に入らせることとアイドル状態を終了させることとを行うように、構成されてもよい。あるいは、割当ユニット114は、1つ以上のコア112がアイドル状態に遷移した場合、又はアイドル状態から遷移した場合に、再マッピングを行うように構成されてもよい。多様な実施形態において、プロセッサ110は、オペレーティングシステム又はソフトウェアについての知識を用いること無く、実行状態を転送するように構成されてもよい。
次に、割当ユニット114について、図2に関連して説明する。
図2を参照すると、割当ユニット114の一実施形態が図示されている。この例示的実施形態において、割当ユニット114は、マッピングレジスタ210と、決定ユニット220と、カウンタレジスタ230とを含む。ユニット210〜230が単一のユニット114内にある様子を図示しているが、いくつかの実施形態において、コンピュータシステム100内のユニット間でユニット210〜230を分散させてもよい点に留意されたい。
一実施形態において、マッピングレジスタ210は、論理コアの物理的コアへのマッピングを表す識別子を(論理コアマッピング212として図示されている)保存するように構成されている。いくつかの実施形態において、レジスタ210は、コア112ごとのレジスタを含んでもよく、各レジスタ210は、コア112にマッピングされた論理コアを保存するように構成されてもよい。そのため、レジスタ210は、コア112Aに割り当てられた論理コアを保存する第1のレジスタと、コア112Bに割り当てられた論理コアを保存する第2のレジスタと、等を含んでもよい。多様な実施形態において、オペレーティングシステム122、コア112、I/Oデバイス等は、論理マッピング212をレジスタ210から読み出して、タスクをどこに割り当てるべきか(すなわち、コア112のうちどのコア112に当該タスクを行わせるべきか)を決定するように構成されてもよい。
一実施形態において、決定ユニット220は、論理コアの物理的コアへの再マッピングをいつ行うべきかを特定することと、論理コア再マッピングを決定することとを行うように構成されている。決定ユニット220は、再マッピングをいつ行うかの決定を、多様な適切な条件のうち任意の条件に基づいて決定してもよい。一実施形態において、決定ユニット220は、1つ以上のコア112がアイドル状態に入った旨を示す通知を受信したのに応じて、再マッピングを行うように構成されている。上述したように、プロセッサ110は、再マッピング中に、1つのコア112の実行状態124を別のコア112に転送することができる。いくつかの実施形態において、プロセッサ110は、(アイドル状態終了時において、コア112に、別のコア112の実行状態124をロードさせることにより)上記転送を行うように構成されている。コア112がアイドル状態に入った後に再マッピングを行うことにより、一実施形態において、プロセッサ110は、1つのコア112の状態を(当該コア112をアイドル状態にさせる必要無く)別のコアに転送することができる。なぜならば、コア112は既にそこに存在するからである。一実施形態において、決定ユニット220は、一定間隔で(例えば、前回の再マッピングから特定の長さの時間が経過したことを決定した後に)再マッピングを行うように構成されている。このような実施形態において、割当ユニット114は、1つ以上のコア112にアイドル状態に入らせ又ははアイドル状態を終了させることで、再マッピング時における実行状態124の転送を促進するように構成されてもよい。他の実施形態において、割当ユニット114は、上述したような実行状態の転送を促進するための他の技術を用いるように構成されてもよい。一実施形態において、決定ユニット220は、コア112に対して決定されたワークロードに基づいて、再マッピングを行うように構成されている。例えば、決定ユニット220は、特定のコア112のワークロードが閾値を超えたこと(例えば、コア112Aが特定の長さの時間にわたって特定の性能状態で動作していること)を決定した後、再マッピングを行うように構成されてもよい。例示的実施形態において、決定ユニット220は、オペレーティングシステム122から受信したコア情報222及び/又はコア112から受信したコア情報224に基づいて、再マッピングを行うか否かを決定するように構成されている。図3に関連して以下に説明するように、このような情報は、動作状態情報を含んでもよい。この動作状態情報は、例えば、コア112の電力及び/又は性能状態、コア112の温度を指定する温度情報等を示す。
また、決定ユニット220は、多様な適切な基準のうち任意の基準に基づいて、論理コア再マッピングを決定してもよい。一実施形態において、決定ユニット220は、事前決定された物理的コア112の順序に基づいて、論理コアを再マッピングするように構成されている。例えば、決定ユニット220は、先ず、論理コアを初期の物理的コア112(例えば、コア112A)にマッピングした後、論理コアを上記順序における次の物理的コア112(例えば、コア112B)に再マッピングしてもよい。別の実施形態において、決定ユニット220は、ランダム生成されたシーケンスに基づいて、論理コアを物理的コア112に割り当てるように構成されてもよい。いくつかの実施形態において、決定ユニット220は、受信した情報222及び/又は224に基づいて、再マッピングを決定するように構成されてもよい。以下に説明するように、一実施形態において、決定ユニット220は、1つ以上のコア112の動作状態に基づいて、再マッピングを決定するように構成されてもよい。一実施形態において、決定ユニット220は、1つ以上のコア112から測定された温度に基づいて、再マッピングを決定するように構成されてもよい。いくつかの実施形態において、決定ユニット220は、コア112の動作状態情報及び温度情報の組み合わせに基づいて、局所的コア再マッピングを決定するように構成されている。多様な実施形態において、決定ユニット220は、論理コアのうち一部又は全てを物理的コアに再マッピングするか否かを決定するように構成されてもよい。例えば、決定ユニット220は、(例えば、コア112の温度情報に基づいて)論理コアの一部のみを再マッピングすることを初期に決定した後、(例えば、コア112の現在のワークロードに基づいて)コア112全てを再マッピングすることを決定してもよい。
一実施形態において、カウンタレジスタ230は、論理コア再マッピングを行うか否かを決定する際に決定ユニット220が用いることが可能な情報を保存するように構成されている。一実施形態において、カウンタレジスタ230は、最終マッピング又は再マッピングから経過した時間を示す値に合わせて構成される。一実施形態において、カウンタレジスタ230は、コア112が特定の電力及び/又は性能状態においてどれくらいの期間にわたって動作しているかを示す値を、コア112ごとに保存するように構成されている。例えば、レジスタ230は、コア112Aがオーバークロック性能状態において最後のN秒間動作していることを示す値を保存してもよい。一実施形態において、カウンタレジスタ230は、コア112が特定の閾温度を超える温度において動作している期間の長さを示す値を、コア112ごとに保存するように構成されている。
図3を参照すると、決定ユニット220のブロック図が図示されている。上述したように、多様な実施形態において、決定ユニット220は、再マッピングを行う時期を特定することと、再マッピングを決定することとを行うように構成されている。上記例示的実施形態において、決定ユニット220は、動作状態ユニット310と、温度ユニット320とを含む。
一実施形態において、動作状態ユニット310は、決定ユニット220のために電力及び性能情報312を処理するように構成されている。多様な実施形態において、情報312は、コア112ごとの電力状態及び性能状態の指標を含む。また、情報312は、コア112が1つの状態から別の状態に遷移する時期を特定する指標(例えば、コア112Aが性能状態P1から性能状態P0に遷移することを示す指標)を含み得る。一実施形態において、動作状態ユニット310は、オペレーティングシステム122から情報312を受信するように構成されている。別の実施形態において、動作状態ユニット310は、情報をコア112から直接受信するように構成されてもよい。いくつかの実施形態において、動作状態ユニット310は、情報を保存及び検索するように構成されている(この情報は、カウンタレジスタ230内の情報312と関連付けられたカウンタ情報332として図示されている)。
一実施形態において、動作状態ユニット310は、決定ユニット220が新規論理コアマッピング332を生成するか否かを決定することを、処理された情報312を用いて支援するように構成されている。いくつかの実施形態において、動作状態ユニット310は、1つ以上のコア112が新規動作状態に遷移するのに応じて、論理コア再マッピングを行わせるように構成されている。例えば、一実施形態において、動作状態ユニット310は、少なくとも1つのコア112がアイドル状態に入ったのに応じて、再マッピングを行わせるように構成されている。上記したように、いくつかの実施形態において、コア112は、アイドル状態に入ったときに自身の実行状態124を保存するように構成されてよく、再マッピング後にアイドル状態が終了したときに別のコア112の実行状態124を再ロードしてもよい。いくつかの実施形態において、動作状態ユニット310は、コア112が特定の性能状態又は電力状態にある期間の長さに基づいて、再マッピングを行わせるように構成されている。例えば、動作状態ユニット310は、特定のコア112が一定期間を超える期間にわたって高性能状態(例えば、P0)にあることを決定したときに、再マッピングを行わせるように構成されてもよい。同様に、動作状態ユニット310は、特定のコア112が一定期間を超える期間にわたってオーバークロック状態で動作していることを決定したときに、再マッピングを行わせるように構成されてもよい。いくつかの実施形態において、動作状態ユニット310は、コア112ごとに、コアの動作状態及び当該状態において経過した時間に基づきワークロードスコアを計算するように構成されてもよい。その後、動作状態ユニット310は、個々のスコアが閾値を超えた場合、又はスコアの合計が合計閾値を超えた場合に再マッピングを行わせるように構成されてもよい。いくつかの実施形態において、このようなスコアを、(以下に説明する)温度ユニット320によって生成されたスコアと組み合わせることにより、再マッピングを行うべき時期を決定することができる。
一実施形態において、動作状態ユニット310は、決定ユニット220が論理コアマッピング332を決定することを、処理された情報312を用いて支援するように構成されている。一実施形態において、動作状態ユニット310は、決定ユニット220に対して、アイドル状態で動作している物理的コア112に論理コアを再マッピングさせ、アイドル状態で動作していない物理的コア112については論理コアを再マッピングさせないように構成されている。一実施形態において、動作状態ユニット310は、決定ユニット220に対して、より高い動作状態にあるコア112からより低い動作状態にあるコア112に論理コアを再マッピングさせるように構成されている。一実施形態において、動作状態ユニット310は、決定ユニット220に対して、より長期間にわたってより高い動作状態となっているコア112に論理コアを再マッピングした後、より短期間にわたってこれらの状態にあるコア112に論理コアを再マッピングさせるように構成されている。
一実施形態において、温度ユニット320は、決定ユニット220のために温度情報322を処理するように構成されている。多様な実施形態において、情報322は、プロセッサ110を通じて収集された1つ以上の温度を含む。一実施形態において、温度ユニット320は、コア112上に配置された複数のセンサーから情報322を受信するように構成されている。いくつかの実施形態において、温度ユニット320は、カウンタレジスタ320内の情報322と関連付けられた情報332を保存及び検索するように構成されてもよい。
一実施形態において、温度ユニット320は、決定ユニット220が新規論理コアマッピング332を生成するか否かを決定することを、処理された情報322を用いて支援するように構成されている。いくつかの実施形態において、温度ユニット320は、コア112が最大温度閾値を超えたことを決定したのに応じて、論理コア再マッピングを決定ユニット220に行わせるように構成されてもよい。一実施形態において、温度ユニット320は、コア112が閾温度を超えた否かを決定し、コア112が閾温度を超えている場合、コア112が当該閾温度を超えてからの経過時間を決定するように構成されてもよい。コア112が一定期間にわたってこの温度を超えた後、温度ユニット320は、論理コア再マッピングを行わせるように構成されてもよい。一実施形態において、温度ユニット320は、(コア112から収集された温度と、これらの温度となってから経過した時間とに基づいて)コア112ごとにワークロードスコアを計算するように構成されてもよい。温度ユニット320は、これらのスコアが閾値を超えた場合、再マッピングを行わせるように構成されてもよい。いくつかの実施形態において、このようなスコアと、動作状態ユニット310によって生成されたスコアとを組み合わせて、再マッピングを行うべき時期を決定してもよい。
一実施形態において、温度ユニット320は、決定ユニット220が論理コアマッピング332を決定することを、処理された情報322を用いて支援するように構成されている。一実施形態において、温度ユニット320は、決定ユニット220に対して、より高い温度で動作しているコア112からより低い温度で動作しているコア112に論理コアを再マッピングさせるように構成されている。一実施形態において、温度ユニット320は、決定ユニット220に対して、より長時間にわたってより高い温度で動作しているコア112へ論理コアを再マッピングした後、より短時間にわたって同様の温度で動作しているコア112へ論理コアを再マッピングさせるように構成されてもよい。
図4を参照すると、論理コアを動的に再マッピングするための方法400のフロー図が図示されている。方法400は、マルチコアプロセッサ(例えば、プロセッサ110)によって行われ得る方法の一実施形態である。多様な実施形態において、方法400を複数回行うことで、後続の再マッピングを行うことができる。いくつかの場合において、方法400を行うことにより、プロセッサコア間のワークロード分配を向上させ、その結果、プロセッサ寿命を向上させることができる。
ステップ410において、プロセッサ110は、論理コアの物理的コアへのマッピングを保存してもよい。上述したように、多様な実施形態において、このマッピングをオペレーティングシステム、他のコア、I/Oデバイス等が用いて、性能のためにタスクを物理的コア(例えば、コア112)に割り当てることが可能である。一実施形態において、プロセッサ110は、マッピングを、割当ユニット(例えば、割当ユニット114)の1組のレジスタ(例えば、レジスタ230)内に保存する。他の実施形態において、プロセッサ110は、マッピングを、他の場所(例えば、メモリ(例えば、メモリ120)、BIOS(例えば、BIOS130)等)に保存する。いくつかの場合において、保存されたマッピングは、例えばコンピュータシステム(例えば、システム100)のブート処理時に生成された初期マッピングであってよい。他の場合において、保存されたマッピングは、前回行われた再マッピング時に生成されたマッピングであってよい。
ステップ420において、プロセッサ110は、ブート処理後に、(例えば、割当ユニット114を用いて)論理コアを物理的コアに再マッピングする。その後、この再マッピングを多様な実施形態で用いて、後続タスクを、性能のために物理的コアに割り当てることができる。上述したように、プロセッサ110は、(例えば、決定ユニット220を用いて)いつ再マッピングを行うかを(多様な条件のうちの任意の条件に基づいて)特定してもよい。一実施形態において、プロセッサ110は、再マッピングを一定間隔で行ってもよい。いくつかの実施形態において、プロセッサ110は、再マッピングを行うことを、物理的コアの1つ以上の動作状態に基づいて決定してもよい。例えば、一実施形態において、プロセッサ110は、1つ以上のコアがアイドル状態に入るのに応じて、再マッピングを行うことを決定してもよい。いくつかの実施形態において、プロセッサ110は、コアから収集された温度情報に基づいて、再マッピングを行うことを決定してもよい。
上述したように、プロセッサ110は、多様な適切な基準のうち任意の基準を用いて再マッピングを決定してもよい。一実施形態において、プロセッサ110は、物理的コアについての事前決定された順序に基づいて、論理コアを物理的コアに再マッピングしてもよい。例えば、論理コアL0が物理的コアP0に割り当てられており、かつ、物理的コアP1が順序においてP0に続いている場合、次いで論理コアL0をコアP1に再マッピングしてもよい。いくつかの実施形態において、プロセッサ110は、コアの動作状態に基づいて、再マッピングを決定してもよい。例えば、一実施形態において、プロセッサ110は、論理コアを、より高い動作状態にある物理的コア(例えば、性能状態P0にある物理的コア)からより低い動作状態にある物理的コア(例えば、性能状態P1にある物理的コア)に再マッピングすることができる。いくつかの実施形態において、プロセッサ110は、物理的コアから測定された温度に基づいて、再マッピングを決定してもよい。例えば、一実施形態において、プロセッサ110は、論理コアを、より高い温度で動作している物理的コアからより低い温度で動作している物理的コアに再マッピングしてもよい。
多様な実施形態において、プロセッサ110は、再マッピングに応じて、物理的コア間で実行状態を転送する。上述したように、いくつかの実施形態において、プロセッサ110は、第1のコアからの実行状態をメモリに保存した後、この実行状態を第2のコア上に再ロードすることにより、実行状態を第2のコアに転送する。一実施形態において、プロセッサ110は、第1のコアをアイドル状態に入らせることによって、保存を行う。アイドル状態において、コアは、自身の実行状態をメモリに保存する。プロセッサ110は、第2のコアをアイドル状態から終了させて実行状態を再ロードすることによって、再ロードを行ってもよい。
(例示的なコンピュータシステム)
図5を参照すると、プロセッサ110を含み得る例示的なコンピュータシステム500の一実施形態が図示されている。コンピュータシステム500は、相互接続部560(例えば、システムバス)を介してシステムメモリ520及びI/Oインターフェース540に接続されたプロセッササブシステム580を含む。I/Oインターフェース540は、1つ以上のI/Oデバイス550に接続されている。コンピュータシステム500は、多様な種類のデバイス(例を非限定的に挙げると、サーバシステム、パーソナルコンピュータシステム、デスクトップコンピュータ、ラップトップ若しくはノートブックコンピュータ、メインフレームコンピュータシステム、ハンドヘルドコンピュータ、ワークステーション、ネットワークコンピュータ又は消費者デバイス(例えば、携帯電話、ページャ若しくはパーソナルデータアシスタント(PDA))のうち任意のものであり得る。また、コンピュータシステム500は、任意の種類のネットワーク型の周辺デバイスであってよい(例えば、記憶装置デバイス、スイッチ、モデム、ルータ等)。便宜上単一のコンピュータシステム500を図示しているが、共に動作する2つ以上のコンピュータシステムとしてシステム500を実装してもよい。
プロセッササブシステム580は、1つ以上のプロセッサ又は処理装置を含み得る。例えば、プロセッササブシステム580は、1つ以上の処理装置を含み得る(これらの処理装置はそれぞれ、複数の処理要素又はコアを含み得る)。これらの処理装置は、1つ以上のリソース制御処理要素520に接続されている。コンピュータシステム500の多様な実施形態において、プロセッササブシステム580の複数のインスタンスが、相互接続部560に接続されてもよい。多様な実施形態において、プロセッササブシステム580(あるいは580内の各プロセッサユニット若しくは処理要素)は、キャッシュ又は他の形態のオンボードメモリを含み得る。一実施形態において、プロセッササブシステム580は、上述したプロセッサ110を含み得る。
システムメモリ520は、プロセッササブシステム580によって用いられ得る。システムメモリ520は、異なる物理的記憶媒体(例えば、ハードディスク記憶装置、フロッピー(登録商標)ディスク記憶装置、リムーバブルディスク記憶装置、フラッシュメモリ、ランダムアクセスメモリ(RAM、例えば、静的RAM(SRAM)、拡張データ出力(EDO)RAM、同期型動的RAM(SDRAM)、ダブルデータレート(DDR)SDRAM、RAMBUSRAM等)、リードオンリーメモリ(ROM、例えばプログラマブルROM(PROM)、電気的に消去可能なプログラマブルROM(EEPROM)等))を用いて実行され得る。コンピュータシステム500内のメモリは、メモリ520等の主要記憶装置に限定されない。むしろ、コンピュータシステム500は、他の形態の記憶装置も含み得る(例えば、プロセッササブシステム580内のキャッシュメモリ及びI/Oデバイス550上の第2の記憶装置(例えば、ハードドライブ、記憶装置アレイ)。いくつかの実施形態において、これらの他の形態の記憶装置も、プロセッササブシステム580によって実行可能なプログラム命令を保存し得る。
I/Oインターフェース540は、多様な実施形態に従って、他のデバイスへ接続され、かつ、他のデバイスと通信するように構成された多様な種類のインターフェースのうち任意のものであってよい。一実施形態において、I/Oインターフェース540は、前側から1つ以上の後方側バスへのブリッジチップ(例えば、サウスブリッジ)である。I/Oインターフェース540は、1つ以上の対応するバス又は他のインターフェースを介して、1つ以上のI/Oデバイス550に接続されてもよい。I/Oデバイスの例を挙げると、記憶装置デバイス(ハードドライブ、光学ドライブ、リムーバブルフラッシュドライブ、記憶装置アレイ、SAN若しくはこれらに関連付けられたコントローラ)、ネットワークインターフェースデバイス(例えば、ローカルネットワーク若しくは広域ネットワークに対するもの)、又は他のデバイス(例えば、グラフィックス、ユーザインターフェースデバイス等)がある。一実施形態において、コンピュータシステム500は、ネットワークインターフェースデバイスを介して、ネットワークへ接続されている。
コンピュータシステム(例えば、コンピュータシステム500)によって実行されるプログラム命令は、多様な形態のコンピュータ可読記憶媒体に保存することができる。一般的に、コンピュータ可読記憶媒体は、任意の非一時的/有形の記憶装置媒体を含み得る。このような記憶装置媒体は、コンピュータによって読み出され、その結果、命令及び/又はデータがコンピュータに提供される。例えば、コンピュータ可読記憶媒体は、記憶媒体を含み得る(例えば、磁気媒体又は光学媒体(例えば、ディスク(固定若しくはリムーバブル)、テープ、CD−ROM、DVD−ROM、CD−R、CD−RW、DVD−R、DVD−RW又はブルーレイ)。記憶媒体は、揮発性記憶媒体又は不揮発性記憶媒体(例えば、RAM(同期型動的RAM(SDRAM)、ダブルデータレート(DDR、DDR2、DDR3等)SDRAM、低出力DDR(LPDDR2等)SDRAM、RambusDRAM(RDRAM)、静的RAM(SRAM)等)、ROM、フラッシュメモリ、周辺インターフェース(例えば、ユニバーサルシリアルバス(USB)インターフェース等)を介してアクセスすることが可能な不揮発性メモリ(例えば、フラッシュメモリ)等)をさらに含んでもよい。記憶媒体は、微小電気機械システム(MEMS)と、通信媒体(例えば、ネットワーク及び/又は無線リンク)を介してアクセスすることが可能な記憶媒体とを含み得る。
いくつかの実施形態において、コンピュータ可読記憶媒体を用いて、命令を保存することができる。命令は、プログラムによって読み出され、上述したプロセッサ110のためのハードウェアを作製するために直接的又は間接的に用いられる。例えば、命令は、ハードウェア機能の挙動レベル又はレジスタ転送レベル(RTL)記述を高レベル設計言語(HDL)(例えば、Verilog又はVHDL)で記述する1つ以上のデータ構造の概要を示す。記述は、合成ツールによって読み出され得る。合成ツールは、記述を合成してネットリストを生成することができる。ネットリストは、1組のゲート(例えば、合成ライブラリ内に規定されたもの)を含み得る。1組のゲートは、プロセッサ110の機能を示す。その後、ネットリストを配置及びルーティングして、データセットを生成することができる。データセットは、マスクに付加されるべき幾何学的形状を記述する。その後、マスクを多様な半導体製造ステップにおいて用いて、プロセッサ110に対応する半導体回路又はは回路を生成することができる。
上記において特定の実施形態について説明してきたが、これらの実施形態は、特定の特徴について単一の実施形態のみが記載されている場合においても、本開示の範囲を限定することを意図していない。他に明記無き限り、本開示中に記載される特徴の例は例示的なものであり、限定的なものではない。上記の記載は、本開示の恩恵を有する当業者にとっては明らかであるこのような改変例、変更例及び均等物を網羅することを意図している。
本開示の範囲は、本明細書に記載の問題のうち任意の問題又は全ての問題を軽減するか否かに関わらず、任意の特徴又は本明細書に(明示的若しくは暗示的のいずれかで)開示される特徴の組み合わせまたはこれらの任意の一般化を含む。よって、本出願(またはその優先権を主張する出願)の手続きの間に、このような特徴の任意の組み合わせに合わせて新規の請求項が作成され得る。具体的には、添付の請求項を参照して、従属請求項からの特徴を独立請求項の特徴と組み合わせることができ、添付の特許請求の範囲中に羅列されている特定の組み合わせの他にも、各独立請求項からの特徴を任意の適切な様態で組み合わせることが可能である。

Claims (20)

  1. プロセッサであって、
    複数の物理的コアであって、前記プロセッサは、前記複数の物理的コアに対する論理コアのマッピングを保存するように構成されている、複数の物理的コアと、
    前記プロセッサのブート処理の後、前記論理コアを前記複数の物理的コアに再マッピングするように構成された割当ユニットと、
    を備える、プロセッサ。
  2. 前記割当ユニットは、前記複数の物理的コアのうち1つ以上がアイドル状態に入った旨を示す指標を受信するように構成されており、前記割当ユニットは、前記指標の受信に応じて、前記論理コアを再マッピングするように構成されている、請求項1に記載のプロセッサ。
  3. 前記プロセッサは、前記複数の物理的コアのうち第1の物理的コアが前記アイドル状態に入ったのに応じて、前記第1の物理的コアの実行状態を保存するように構成されており、前記プロセッサは、前記第1の物理的コアが前記アイドル状態を終了したのに応じて、前記複数の物理的コアのうち第2の物理的コアの実行状態を前記第1の物理的コアにロードするように構成されている、請求項2に記載のプロセッサ。
  4. 前記割当ユニットは、前記論理コアの前回の再マッピングが行われてから経過した時間の長さを決定するように構成されており、前記割当ユニットは、前記時間の長さが閾値を超えるのに応じて、前記論理コアを再マッピングするように構成されている、請求項1に記載のプロセッサ。
  5. 前記割当ユニットは、前記複数の物理的コアのうち1つ以上の物理的コアそれぞれのワークロードを決定するように構成されており、前記割当ユニットは、前記1つ以上の決定されたワークロードに基づいて、前記論理コアのうち1つ以上の論理コアを前記複数の物理的コアのうち1つ以上の物理的コアに再マッピングするように構成されている、請求項1に記載のプロセッサ。
  6. 前記割当ユニットは、前記複数の物理的コアのうち1つ以上の物理的コアについての温度情報を受信するように構成されており、前記割当ユニットは、前記受信した温度情報に基づいて、前記論理コアのうち1つ以上の論理コアを前記複数の物理的コアのうち1つ以上の物理的コアに再マッピングするように構成されている、請求項1に記載のプロセッサ。
  7. 前記プロセッサは、前記複数の物理的コアのうち第1の物理的コアの実行状態と、前記複数の物理的コアのうち第2の物理的コアの実行状態とを保存するように構成されており、前記プロセッサは、前記割当ユニットが前記第1の物理的コア及び第2の物理的コアにマッピングされた論理コアを再マッピングするのに応じて、前記第2の物理的コアの保存された実行状態を前記第1の物理的コアにロードし、前記第1の物理的コアの保存された実行状態を前記第2の物理的コアにロードするように構成されている、請求項1に記載のプロセッサ。
  8. 前記プロセッサは、前記複数の物理的コアのうち1つの物理的コアをオーバークロックするように構成されており、前記割当ユニットは、前記物理的コアがオーバークロックされている時間の長さに基づいて、論理コアを前記オーバークロックされた物理的コアに再マッピングするように構成されている、請求項1に記載のプロセッサ。
  9. 前記割当ユニットは、前記論理コアの全てを再マッピングすることなく、前記複数の物理的コアのうちいくつかの物理的コアへの、前記論理コアのうち一部の論理コアの再マッピングを行うように構成されている、請求項1に記載のプロセッサ。
  10. プロセッサ上の複数の物理的コアが1組のタスクを行うステップであって、前記複数の物理的コアに対する論理コアのマッピングに基づいて、前記1組のタスクが割り当てられるステップと、
    前記プロセッサが、オペレーティングシステムの実行中に、前記論理コアを前記複数の物理的コアに再マッピングするステップであって、前記再マッピングに基づいて、追加の組のタスクが割り当てられるステップと、
    を含む方法。
  11. 論理コアが、前記複数の物理的コアのうち第1の物理的コアから前記複数の物理的コアのうち第2の物理的コアに再マッピングされるのに応じて、前記プロセッサが、現在の実行状態を、前記第1の物理的コアから前記第2の物理的コアに転送するステップをさらに含む、請求項10に記載の方法。
  12. 前記転送するステップは、前記実行状態を、前記プロセッサに接続されたメモリに保存し、前記実行状態を、前記第2の物理的コア上に再ロードするステップを含む、請求項11に記載の方法。
  13. 前記転送するステップは、前記第2の物理的コアをアイドル状態から終了させて、前記第1の物理的コアの実行状態を再ロードするステップを含む、請求項12に記載の方法。
  14. 前記プロセッサは、前記複数の物理的コアのうちいくつかの物理的コアの性能状態に基づいて、前記再マッピングを決定する、請求項10に記載の方法。
  15. 前記再マッピングするステップは、論理コアを、より高い性能状態にある第1の物理的コアからより低い性能状態にある第2の物理的コアに再マッピングするステップを含む、請求項14に記載の方法。
  16. 前記プロセッサは、前記複数の物理的コアから収集された1つ以上の温度に基づいて、前記再マッピングを決定する、請求項10に記載の方法。
  17. 前記プロセッサが、前記複数の物理的コアへの前記論理コアの再マッピングを一定間隔で行うステップ、をさらに含む、請求項10に記載の方法。
  18. コンピュータシステムにおいて実行可能なプログラムによって動作されるデータ構造を含むコンピュータ可読記憶媒体であって、前記プログラムは、前記データ構造上で動作して、前記データ構造によって記述された回路を含むプロセッサを作製するプロセスの一部を行い、前記データ構造によって記述された前記回路は、
    複数の物理的コアであって、前記プロセッサが、前記複数の物理的コアに対する論理コアのマッピングを保存するように構成されている、複数の物理的コアと、
    前記プロセッサのブート処理の後に、前記論理コアを前記複数の物理的コアに再マッピングするように構成された割当ユニットと、
    を含む、コンピュータ可読記憶媒体。
  19. 前記プロセッサは、実行状態を、前記複数の物理的コアのうち第1の物理的コアからメモリに保存し、論理コアが、前記第1の物理的コアから前記複数の物理的コアのうち第2の物理的コアに再マッピングされるのに応じて、前記実行状態を、前記第2の物理的コアにロードするように構成されている、請求項18に記載のコンピュータ可読記憶媒体。
  20. 前記コンピュータ可読記憶媒体は、ハードウェア記述言語(HDL)データ、Verilogデータ又はグラフィックデータベースシステムII(GDSII)データを保存する、請求項18に記載のコンピュータ可読記憶媒体。
JP2014505374A 2011-04-14 2012-04-13 論理コアの動的マッピング Active JP6265885B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/087,206 US8910177B2 (en) 2011-04-14 2011-04-14 Dynamic mapping of logical cores
US13/087,206 2011-04-14
PCT/US2012/033660 WO2012142512A1 (en) 2011-04-14 2012-04-13 Dynamic mapping of logical cores

Publications (3)

Publication Number Publication Date
JP2014514660A true JP2014514660A (ja) 2014-06-19
JP2014514660A5 JP2014514660A5 (ja) 2015-06-11
JP6265885B2 JP6265885B2 (ja) 2018-01-24

Family

ID=46001833

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014505374A Active JP6265885B2 (ja) 2011-04-14 2012-04-13 論理コアの動的マッピング

Country Status (6)

Country Link
US (1) US8910177B2 (ja)
EP (1) EP2697716A1 (ja)
JP (1) JP6265885B2 (ja)
KR (1) KR101835056B1 (ja)
CN (1) CN103477324B (ja)
WO (1) WO2012142512A1 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018022975A (ja) * 2016-08-02 2018-02-08 日本電気株式会社 制御装置及び制御方法
JP2018181344A (ja) * 2017-04-13 2018-11-15 ドゥアゴン アクチエンゲゼルシャフトduagon AG マルチコアアーキテクチャ、インタフェースカードおよびデータパケットを処理するための方法
US10261875B2 (en) 2013-12-18 2019-04-16 Qualcomm Incorporated Runtime optimization of multi-core system designs for increased operating life and maximized performance
WO2019167604A1 (ja) * 2018-03-02 2019-09-06 住友電気工業株式会社 車載制御装置、制御システム、制御方法および制御プログラム
JP2021507390A (ja) * 2017-12-19 2021-02-22 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated 寿命平均化のためのブート時の物理コア割り当てに関する論理的な疑似ランダム
WO2024009747A1 (ja) * 2022-07-08 2024-01-11 ソニーグループ株式会社 情報処理装置、情報処理方法、及び、プログラム
JP7424803B2 (ja) 2019-01-09 2024-01-30 インテル コーポレイション グラフィックス・プロセッサ、コンピュータ・プログラム、記憶媒体、及びコマンド実行方法

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8402530B2 (en) * 2010-07-30 2013-03-19 Microsoft Corporation Dynamic load redistribution among distributed servers
US8966187B2 (en) * 2011-12-01 2015-02-24 International Business Machines Corporation Flexible replication with skewed mapping in multi-core chips
US8782466B2 (en) * 2012-02-03 2014-07-15 Hewlett-Packard Development Company, L.P. Multiple processing elements
US9055069B2 (en) 2012-03-19 2015-06-09 Xcelemor, Inc. Hardware computing system with software mediation and method of operation thereof
US9003218B2 (en) * 2012-05-21 2015-04-07 International Business Machines Corporation Power shifting in multicore platforms by varying SMT levels
US8799710B2 (en) * 2012-06-28 2014-08-05 International Business Machines Corporation 3-D stacked multiprocessor structures and methods to enable reliable operation of processors at speeds above specified limits
DE102013108041B4 (de) 2012-07-31 2024-01-04 Nvidia Corporation Heterogene Mehrprozessor-Anordnung für ein leistungseffizientes und flächeneffizientes Rechnen
US9569279B2 (en) * 2012-07-31 2017-02-14 Nvidia Corporation Heterogeneous multiprocessor design for power-efficient and area-efficient computing
KR20140044596A (ko) * 2012-10-05 2014-04-15 삼성전자주식회사 멀티 코어 프로세서를 구비한 컴퓨팅 시스템 및 그것의 로드 밸런싱 방법
CN105210038B (zh) * 2013-05-15 2018-10-30 英派尔科技开发有限公司 核亲和性位掩码变换
US9292293B2 (en) * 2013-08-08 2016-03-22 Qualcomm Incorporated Intelligent multicore control for optimal performance per watt
US9606843B2 (en) * 2013-12-18 2017-03-28 Qualcomm Incorporated Runtime optimization of multi-core system designs for increased operating life and maximized performance
US9917777B2 (en) * 2014-01-15 2018-03-13 Wind River Systems, Inc. Method and system for decentralized workload optimization in a data packet processing system using a multicore CPU
CN105335228B (zh) * 2014-06-30 2018-12-07 华为技术有限公司 一种内存变更处理方法,及操作系统
US9842082B2 (en) * 2015-02-27 2017-12-12 Intel Corporation Dynamically updating logical identifiers of cores of a processor
US9942324B2 (en) 2015-08-05 2018-04-10 Futurewei Technologies, Inc. Rebalancing and elastic storage scheme with elastic named distributed circular buffers
US9864667B2 (en) * 2015-09-25 2018-01-09 Intel Corporation Techniques for flexible and dynamic frequency-related telemetry
US20180341482A1 (en) * 2015-12-18 2018-11-29 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for utilization of a processing arrangement
KR102509986B1 (ko) * 2016-03-28 2023-03-14 삼성전자주식회사 다중 코어 프로세서 및 다중 코어 프로세서를 제어하는 방법
US10318363B2 (en) 2016-10-28 2019-06-11 Advanced Micro Devices, Inc. System and method for energy reduction based on history of reliability of a system
CN108038077B (zh) * 2017-12-28 2021-07-27 深圳市风云实业有限公司 多任务并行数据处理方法及装置
US11048540B2 (en) * 2018-06-29 2021-06-29 Intel Corporation Methods and apparatus to manage heat in a central processing unit
US11048549B2 (en) * 2019-04-04 2021-06-29 Google Llc Transferral of process state and/or components in computing environments
US11983576B2 (en) * 2021-08-04 2024-05-14 International Business Machines Corporation Accessing topological mapping of cores

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH113235A (ja) * 1997-06-10 1999-01-06 Nec Software Ltd 仮想プロセッサによるタスク制御システム
JP2002132741A (ja) * 2000-10-20 2002-05-10 Hitachi Ltd プロセッサ追加方法、計算機及び記録媒体
JP2006127462A (ja) * 2004-09-29 2006-05-18 Sony Corp 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム
JP2008513912A (ja) * 2004-09-28 2008-05-01 インテル・コーポレーション 利用可能な並列性の量に従って1命令当たりのエネルギーを変化させるための方法及び装置
JP2008234191A (ja) * 2007-03-19 2008-10-02 Toshiba Corp ハードウエアモニタ管理装置及びハードウエアモニタ機能の実行方法
WO2009027153A1 (en) * 2007-08-27 2009-03-05 International Business Machines Corporation Method of virtualization and os-level thermal management and multithreaded processor with virtualization and os-level thermal management
US20090293055A1 (en) * 2008-05-22 2009-11-26 Carroll Martin D Central Office Based Virtual Personal Computer
US20100146513A1 (en) * 2008-12-09 2010-06-10 Intel Corporation Software-based Thread Remapping for power Savings
JP2012048545A (ja) * 2010-08-27 2012-03-08 Lenovo Singapore Pte Ltd 特定のプロセスを短時間で処理する方法およびコンピュータ

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007037006A1 (ja) 2005-09-29 2007-04-05 Fujitsu Limited マルチコアプロセッサ
US7992151B2 (en) 2006-11-30 2011-08-02 Intel Corporation Methods and apparatuses for core allocations
US8028286B2 (en) 2006-11-30 2011-09-27 Oracle America, Inc. Methods and apparatus for scheduling threads on multicore processors under fair distribution of cache and other shared resources of the processors
JP2008152594A (ja) 2006-12-19 2008-07-03 Hitachi Ltd マルチコアプロセッサ計算機の高信頼化方法
US7840821B2 (en) 2007-05-18 2010-11-23 Globalfoundries Inc. Method and apparatus for monitoring energy consumption of an electronic device
US8180997B2 (en) * 2007-07-05 2012-05-15 Board Of Regents, University Of Texas System Dynamically composing processor cores to form logical processors
US20090235108A1 (en) 2008-03-11 2009-09-17 Gold Spencer M Automatic processor overclocking
US8195962B2 (en) 2008-11-11 2012-06-05 Globalfoundries Inc. Method and apparatus for regulating power consumption
US20100162256A1 (en) 2008-12-18 2010-06-24 Alexander Branover Optimization of application power consumption and performance in an integrated system on a chip

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH113235A (ja) * 1997-06-10 1999-01-06 Nec Software Ltd 仮想プロセッサによるタスク制御システム
JP2002132741A (ja) * 2000-10-20 2002-05-10 Hitachi Ltd プロセッサ追加方法、計算機及び記録媒体
JP2008513912A (ja) * 2004-09-28 2008-05-01 インテル・コーポレーション 利用可能な並列性の量に従って1命令当たりのエネルギーを変化させるための方法及び装置
JP2006127462A (ja) * 2004-09-29 2006-05-18 Sony Corp 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム
JP2008234191A (ja) * 2007-03-19 2008-10-02 Toshiba Corp ハードウエアモニタ管理装置及びハードウエアモニタ機能の実行方法
WO2009027153A1 (en) * 2007-08-27 2009-03-05 International Business Machines Corporation Method of virtualization and os-level thermal management and multithreaded processor with virtualization and os-level thermal management
US20090293055A1 (en) * 2008-05-22 2009-11-26 Carroll Martin D Central Office Based Virtual Personal Computer
US20100146513A1 (en) * 2008-12-09 2010-06-10 Intel Corporation Software-based Thread Remapping for power Savings
JP2012048545A (ja) * 2010-08-27 2012-03-08 Lenovo Singapore Pte Ltd 特定のプロセスを短時間で処理する方法およびコンピュータ

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
上野仁, すべてわかる仮想化大全2011, JPN6015024639, 15 November 2010 (2010-11-15), JP, pages 168 - 178, ISSN: 0003097987 *
中山秀夫: "仮想化,クラウドでどうなる? ソフトウエア・ライセンス", 日経SYSTEMS, vol. 第198号, JPN6015024637, 26 September 2009 (2009-09-26), JP, pages 80 - 85, ISSN: 0003097986 *
植田省司,外4名: "Linuxやマルチコア環境のデバックを支える仮想化技術", 日経エレクトロニクス, vol. 第916号, JPN6015024636, 2 January 2006 (2006-01-02), JP, pages 115 - 122, ISSN: 0003097985 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10261875B2 (en) 2013-12-18 2019-04-16 Qualcomm Incorporated Runtime optimization of multi-core system designs for increased operating life and maximized performance
JP2018022975A (ja) * 2016-08-02 2018-02-08 日本電気株式会社 制御装置及び制御方法
JP2018181344A (ja) * 2017-04-13 2018-11-15 ドゥアゴン アクチエンゲゼルシャフトduagon AG マルチコアアーキテクチャ、インタフェースカードおよびデータパケットを処理するための方法
JP7160550B2 (ja) 2017-04-13 2022-10-25 ドゥアゴン アクチエンゲゼルシャフト マルチコアアーキテクチャ、インタフェースカードおよびデータパケットを処理するための方法
JP2021507390A (ja) * 2017-12-19 2021-02-22 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated 寿命平均化のためのブート時の物理コア割り当てに関する論理的な疑似ランダム
JP7421480B2 (ja) 2017-12-19 2024-01-24 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 寿命平均化のためのブート時の物理コア割り当てに関する論理的な疑似ランダム
WO2019167604A1 (ja) * 2018-03-02 2019-09-06 住友電気工業株式会社 車載制御装置、制御システム、制御方法および制御プログラム
JPWO2019167604A1 (ja) * 2018-03-02 2021-02-25 住友電気工業株式会社 車載制御装置、制御システム、制御方法および制御プログラム
JP7386785B2 (ja) 2018-03-02 2023-11-27 住友電気工業株式会社 車載制御装置、制御システム、制御方法および制御プログラム
JP7424803B2 (ja) 2019-01-09 2024-01-30 インテル コーポレイション グラフィックス・プロセッサ、コンピュータ・プログラム、記憶媒体、及びコマンド実行方法
WO2024009747A1 (ja) * 2022-07-08 2024-01-11 ソニーグループ株式会社 情報処理装置、情報処理方法、及び、プログラム

Also Published As

Publication number Publication date
US20120266179A1 (en) 2012-10-18
US8910177B2 (en) 2014-12-09
JP6265885B2 (ja) 2018-01-24
EP2697716A1 (en) 2014-02-19
KR101835056B1 (ko) 2018-03-08
CN103477324B (zh) 2017-09-08
WO2012142512A1 (en) 2012-10-18
CN103477324A (zh) 2013-12-25
KR20140027270A (ko) 2014-03-06

Similar Documents

Publication Publication Date Title
JP6265885B2 (ja) 論理コアの動的マッピング
CN109564556B (zh) 具有条纹和读取/写入事务管理的存储器控制器仲裁器
JP7313381B2 (ja) ハードウェアアクセラレーションのためのハードウェアリソースの埋込みスケジューリング
KR101673500B1 (ko) 캐시 제어를 위한 방법 및 장치
US10162658B2 (en) Virtual processor allocation techniques
TWI494850B (zh) 通透地提供給作業系統之非對稱多核心處理器系統
US7769918B2 (en) Apparatus and method for high performance volatile disk drive memory access using an integrated DMA engine
US20080244227A1 (en) Design structure for asymmetrical performance multi-processors
US8810584B2 (en) Smart power management in graphics processing unit (GPU) based cluster computing during predictably occurring idle time
JP5972981B2 (ja) マルチコアプラットフォームにおける制約ブート法
TWI570548B (zh) 包括執行指令集架構之不同部分之多個相異處理器核心之處理器
JP2016527609A (ja) アクティブなプロセッサに基づく動的電圧及び周波数管理
JP2013536532A (ja) 処理ノードの動的パフォーマンス制御
JPH11513825A (ja) 縮小命令セット・コンピューター・マイクロプロセッサーの構造
US20160231935A1 (en) Memory Configuration Operations for a Computing Device
WO2015144477A1 (en) Thread context restoration in a multithreading computer system
US8255721B2 (en) Seamless frequency sequestering
CN117377943A (zh) 存算一体化并行处理系统和方法
US9747116B2 (en) Identifying memory of a blade device for use by an operating system of a partition including the blade device
WO2017013799A1 (ja) 計算機及び計算機の制御方法
WO2021021185A1 (en) Configuring power level of central processing units at boot time

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150413

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150413

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20150514

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20150520

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150623

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150924

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160519

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20160531

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20160708

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170927

R150 Certificate of patent or registration of utility model

Ref document number: 6265885

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250