JP5945292B2 - 異種システムをブートし、コアの対称的なビューを表示する方法 - Google Patents
異種システムをブートし、コアの対称的なビューを表示する方法 Download PDFInfo
- Publication number
- JP5945292B2 JP5945292B2 JP2014052039A JP2014052039A JP5945292B2 JP 5945292 B2 JP5945292 B2 JP 5945292B2 JP 2014052039 A JP2014052039 A JP 2014052039A JP 2014052039 A JP2014052039 A JP 2014052039A JP 5945292 B2 JP5945292 B2 JP 5945292B2
- Authority
- JP
- Japan
- Prior art keywords
- core
- physical
- processor
- virtual
- cores
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4405—Initialisation of multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3293—Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Advance Control (AREA)
- Power Sources (AREA)
- Stored Programmes (AREA)
- Microcomputers (AREA)
- Multi Processors (AREA)
Description
本出願は、本明細書において援用される2013年3月15日に出願された仮出願番号第61/801615の利点に関しおよび利点を主張するものである。
図1Aは、発明の実施形態による例示のインオーダーパイプラインと例示のレジスタリネーミング、アウトオブオーダー発行/実行パイプラインとの両方を示すブロック図である。図1Bは、本発明の実施形態による、インオーダーアーキテクチャコアと、プロセッサ内に含まれる例示のレジスタリネーミング、アウトオブオーダー発行/実行アーキテクチャコアの例示の実施形態との両方を示すブロック図である。図1A〜1Bの実線のボックスはインオーダーパイプラインとインオーダーコアを示し、任意で追加された点線の四角はレジスタリネーム、アウトオブオーダー発行/実行のパイプラインとコアを示す。インオーダー態様がアウトオブオーダー態様のサブセットであるとして、アウトオブオーダー態様を説明する。
以下に記載する本発明の実施形態は、システムから全体的に隠し、プロセッサ内のすべての異種性を意識した論理および発見的方法を統合することによって、システムファームウェアインタフェースおよびオペレーティングシステム(OS)における異種性に対するサポートの欠如を克服するものである。一方、従来のCPUでは、各タスクのコアに対する割り当ては、ソフトウェア(典型的にOS)によってのみ行われていた。本発明の一実施形態においては、この割り当てを2つの部分に分割する。ソフトウェアは露出された同種のコアに対するソフトウェア処理のスケジューリングを継続するが、ハードウェアは露出されたコアと隠された異種コアとの間のスレッドを動的にスワップする。
現在の異種コンピューティングソリューションは、ファームウェアインタフェースおよびオペレーティングシステム(OS)の両方が関連するソフトウェア複雑度とともに異種コアを意識する必要がある場合がある。しかしながら、ファームウェアインタフェースおよびOSが実際には1つ以上の異種コアで実行している時に単一の種類のコアで実行しているように動作するようなプロセッサインタフェースを提供することが可能である。1つ方法は、他の種類のコアのふるまいを「エミュレート」するマイクロコード層を使用することである。さらなる方法は、専用のマイクロコードおよびパッケージレベルハードウェアの支援を使用して、実行スレッドを適切な実行コア(例えば低電力または高性能)に移行することである。
本実施形態の例を下記の各項目として示す。
[項目1]
第1の命令セットおよび第1の消費電力レベルを有し、第1の性能レベルでスレッドを実行する第1の物理コアと、
第2の命令セットおよび第2の消費電力レベルを有し、第2の性能レベルでスレッドを実行する第2の物理コアと、
前記第1の物理コアおよび前記第2の物理コアに対して接続され、前記第1の物理コアを仮想コアを介してシステムファームウェアインタフェースにマッピングし、前記第2の物理コアを前記システムファームウェアインタフェースから隠す仮想−物理マッピング回路(V−Pマッピング回路)と
を備え、
前記第1の物理コアおよび前記第2の物理コアは動的なマルチコアユニット内に存在する
プロセッサ。
[項目2]
前記第1の命令セットおよび前記第1の消費電力レベルを有する第3の物理コアをさらに備え、前記V−Pマッピング回路は第1の仮想コアを前記第1の物理コアに対してマッピングし、第2の仮想コアを前記第3の物理コアにマッピングして、一組のスレッドを前記第1の物理コアおよび前記第3の物理コアの間で並列に実行可能とする項目1に記載のプロセッサ。
[項目3]
実行されている前記一組のスレッドに関連して検出された特性に応じて、前記V−Pマッピング回路は、前記ファームウェアインタフェースにトランスペアレントに、前記第2の仮想コアを前記第2の物理コアにマッピングする項目2に記載のプロセッサ。
[項目4]
前記第1の消費電力レベルは前記第2の消費電力レベルよりも低い項目3に記載のプロセッサ。
[項目5]
前記第2の性能レベルは前記第1の性能レベルよりも高い項目4に記載のプロセッサ。
[項目6]
前記V−Pマッピング回路が前記第1の仮想コアおよび前記第2の仮想コアの1つ以上を前記第2の物理コアにマッピングすることによって、前記第2の物理コアはソフトウェアにアクセス可能となる項目5に記載のプロセッサ。
[項目7]
単一の物理コアがブートストラッププロセッサとして動作する項目1〜6のいずれか一項に記載のプロセッサ。
[項目8]
前記第1の物理コアは前記ブートストラッププロセッサとして動作する項目7に記載のプロセッサ。
[項目9]
前記ブートストラッププロセッサは前記第2の物理コアを初期化する項目8に記載のプロセッサ。
[項目10]
一組の1つ以上の小さな物理プロセッサコアを提供する段階と、
前記一組の1つ以上の小さな物理プロセッサコアと比べて比較的高性能な処理能力および比較的高い電力使用を有する少なくとも1つの大きな物理プロセッサコアを提供する段階と、
一組の2つ以上の小さな物理プロセッサコアをシステムファームウェアインタフェースに対して露出する段階と、
前記少なくとも1つの大きな物理プロセッサコアを前記システムファームウェアインタフェースから隠す段階と
を備える方法。
[項目11]
スレッドを大きな物理プロセッサコアで実行可能とするべく、前記スレッドを第1の小さな物理プロセッサコアから前記大きな物理プロセッサコアに動的にスワップする段階をさらに備え、前記スワップする段階は、前記スレッドに対してトランスペアレントである項目10に記載の方法。
[項目12]
前記一組の1つ以上の小さな物理プロセッサコアのうちの一の小さな物理プロセッサコアをブートストラッププロセッサとして指定する段階と、
前記ブートストラッププロセッサによって、前記一組の1つ以上の小さな物理プロセッサコア内の各物理プロセッサコアを初期化する段階と、
前記ブートストラッププロセッサによって、前記少なくとも1つの大きな物理プロセッサコアを初期化する段階と
をさらに含む項目10に記載の方法。
[項目13]
仮想プロセッサコアと小さな物理プロセッサコアとの間のデフォルトマッピングによって、前記一組の1つ以上の小さな物理プロセッサコアはソフトウェアに対して露出される項目12に記載の方法。
[項目14]
前記少なくとも1つの大きな物理プロセッサコアは、前記システムファームウェアインタフェースから隠されており、1つ以上の仮想プロセッサコアを前記少なくとも1つの大きな物理プロセッサコアに対してトランスペアレントにマッピングすることによってオペレーティングシステムにアクセス可能となる項目13に記載の方法。
[項目15]
前記少なくとも1つの大きな物理プロセッサコアは、複数の命令セットを有するプロセッサコアに対するサポートを有するオペレーティングシステムにとって可視である項目14に記載の方法。
[項目16]
一組の小さな物理プロセッサコアと、
前記一組の小さな物理プロセッサコアと比べて比較的高性能な処理能力および比較的高い電力使用を有する少なくとも1つの大きな物理プロセッサコアと、
対応する一組の仮想プロセッサコアを介して、前記一組の小さな物理プロセッサコアをシステムファームウェアインタフェースに対して露出し、前記少なくとも1つの大きな物理プロセッサコアを前記システムファームウェアインタフェースから隠す仮想−物理マッピング論理(V−Pマッピング論理)と、
前記一組の小さな物理プロセッサコアから選択されたブートストラッププロセッサを指定および初期化するパッケージユニットと
を備えるシステム。
[項目17]
前記V−Pマッピング論理は、各仮想コアを前記一組の小さな物理プロセッサコア内の物理プロセッサコアにマッピングして、第1の組のスレッドを前記一組の小さな物理プロセッサコア間で並列に実行可能とする項目16に記載のシステム。
[項目18]
前記一組の物理プロセッサコアから選択された一のブートストラッププロセッサをさらに備え、前記ブートストラッププロセッサは、
前記一組の小さな物理プロセッサコア内の各物理プロセッサコアを初期化し、
前記少なくとも1つの大きな物理コアを初期化する、項目17に記載のシステム。
[項目19]
前記少なくとも1つの大きな物理プロセッサコアはマスクされたアイドル状態を含み、前記少なくとも1つの大きな物理プロセッサコアが前記マスクされたアイドル状態にある場合、前記少なくとも1つの大きな物理プロセッサコアが仮想コアにマッピングされない項目18に記載のシステム。
[項目20]
第1の命令セットおよび第1の消費電力レベルを有し、第1の性能レベルでスレッドを実行する第1の物理コアと、
第2の命令セットおよび第2の消費電力レベルを有し、第2の性能レベルでスレッドを実行する第2の物理コアと、
前記第1の命令セットおよび前記第1の消費電力レベルを有し、前記第1の性能レベルでスレッドを実行する第3の物理コアと、
前記第1の物理コア、前記第2の物理コア、および前記第3の物理コアに対して接続される仮想−物理マッピング回路(V−Pマッピング回路)と
を備え、前記V−Pマッピング回路は、
第1の仮想コアを介して前記第1の物理コアをシステムファームウェアインタフェースにマッピングし、
前記第2の物理コアを前記システムファームウェアインタフェースから隠し、
第2の仮想コアを介して前記第3の物理コアを前記システムファームウェアインタフェースにマッピングして、一組のスレッドが前記第1の物理コアおよび前記第3の物理コアの間で並列に実行可能とし、
実行されている前記一組のスレッドに関連して検出された特性に応じて、前記システムファームウェアインタフェースに対してトランスペアレントに前記第2の仮想コアを前記第2の物理コアにマッピングし、
前記第1の物理コア、前記第2の物理コア、および前記第3の物理コアは動的なマルチコアユニット内に存在するプロセッサ。
[項目21]
前記第1の消費電力レベルは前記第2の消費電力レベルよりも低く、前記第2の性能レベルは前記第1の性能レベルよりも高い項目20に記載のプロセッサ。
[項目22]
前記V−Pマッピング回路によって前記第1の仮想コアおよび前記第2の仮想コアのうちの1つ以上を前記第2の物理コアにマッピングすることによって、前記第2の物理コアがソフトウェアにアクセス可能とする項目20に記載のプロセッサ。
[項目23]
前記プロセッサの単一の物理コアはブートストラッププロセッサとして動作する項目22に記載のプロセッサ。
[項目24]
前記第1の物理コアは前記ブートストラッププロセッサとして動作する項目23に記載のプロセッサ。
Claims (25)
- 第1の命令セットおよび第1の消費電力レベルを有し、第1の性能レベルでスレッドを実行する第1の物理コアと、
第2の命令セットおよび第2の消費電力レベルを有し、第2の性能レベルでスレッドを実行する第2の物理コアと、
前記第1の物理コアおよび前記第2の物理コアに対して接続され、前記第1の物理コアを仮想コアを介してシステムファームウェアインタフェースに露出し、前記第2の物理コアを前記システムファームウェアインタフェースから隠す仮想−物理マッピング回路(V−Pマッピング回路)と
を備え、
前記第1の物理コアおよび前記第2の物理コアは動的なマルチコアユニット内に存在し、
前記システムファームウェアインタフェースは、前記第1の物理コアを列挙し、前記第2の物理コアを列挙せず、
前記V−Pマッピング回路は、実行されているスレッドに関連して検出された特性に応じて、仮想コアを前記第2の物理コアにマッピングする
プロセッサ。 - 前記第1の命令セットおよび前記第1の消費電力レベルを有する第3の物理コアをさらに備え、前記V−Pマッピング回路は第1の仮想コアを前記第1の物理コアに対してマッピングし、第2の仮想コアを前記第3の物理コアにマッピングして、一組のスレッドを前記第1の物理コアおよび前記第3の物理コアの間で並列に実行可能とする請求項1に記載のプロセッサ。
- 実行されている前記一組のスレッドに関連して検出された特性に応じて、前記V−Pマッピング回路は、前記ファームウェアインタフェースにトランスペアレントに、前記第2の仮想コアを前記第2の物理コアにマッピングする請求項2に記載のプロセッサ。
- 前記第1の消費電力レベルは前記第2の消費電力レベルよりも低い請求項3に記載のプロセッサ。
- 前記第2の性能レベルは前記第1の性能レベルよりも高い請求項4に記載のプロセッサ。
- 前記V−Pマッピング回路が前記第1の仮想コアおよび前記第2の仮想コアの1つ以上を前記第2の物理コアにマッピングすることによって、前記第2の物理コアはソフトウェアにアクセス可能となる請求項5に記載のプロセッサ。
- 単一の物理コアがブートストラッププロセッサとして動作する請求項1〜6のいずれか一項に記載のプロセッサ。
- 前記第1の物理コアは前記ブートストラッププロセッサとして動作する請求項7に記載のプロセッサ。
- 前記ブートストラッププロセッサは前記第2の物理コアを初期化する請求項8に記載のプロセッサ。
- 一組の2つ以上の小さな物理プロセッサコアをシステムファームウェアインタフェースに対して露出する段階と、
少なくとも1つの大きな物理プロセッサコアを前記システムファームウェアインタフェースから隠す段階と
を備え、
前記少なくとも1つの大きな物理プロセッサコアは、前記一組の2つ以上の小さな物理プロセッサコアと比べて比較的高性能な処理能力および比較的高い電力使用を有し、
前記システムファームウェアインタフェースは、前記一組の2つ以上の小さな物理プロセッサコアを列挙し、前記少なくとも1つの大きな物理プロセッサコアを列挙せず、
実行されているスレッドに関連して検出された特性に応じて、仮想プロセッサコアを前記少なくとも1つの大きな物理プロセッサコアにマッピングする
方法。 - スレッドを大きな物理プロセッサコアで実行可能とするべく、前記スレッドを第1の小さな物理プロセッサコアから前記大きな物理プロセッサコアに動的にスワップする段階をさらに備え、前記スワップする段階は、前記スレッドに対してトランスペアレントである請求項10に記載の方法。
- 前記一組の2つ以上の小さな物理プロセッサコアのうちの一の小さな物理プロセッサコアをブートストラッププロセッサとして指定する段階と、
前記ブートストラッププロセッサによって、前記一組の2つ以上の小さな物理プロセッサコア内の各物理プロセッサコアを初期化する段階と、
前記ブートストラッププロセッサによって、前記少なくとも1つの大きな物理プロセッサコアを初期化する段階と
をさらに含む請求項10に記載の方法。 - 仮想プロセッサコアと小さな物理プロセッサコアとの間のデフォルトマッピングによって、前記一組の2つ以上の小さな物理プロセッサコアはソフトウェアに対して露出される請求項12に記載の方法。
- 前記少なくとも1つの大きな物理プロセッサコアは、前記システムファームウェアインタフェースから隠されており、1つ以上の仮想プロセッサコアを前記少なくとも1つの大きな物理プロセッサコアに対してトランスペアレントにマッピングすることによってオペレーティングシステムにアクセス可能となる請求項13に記載の方法。
- 前記少なくとも1つの大きな物理プロセッサコアは、複数の命令セットを有するプロセッサコアに対するサポートを有するオペレーティングシステムにとって可視である請求項14に記載の方法。
- 一組の小さな物理プロセッサコアと、
前記一組の小さな物理プロセッサコアと比べて比較的高性能な処理能力および比較的高い電力使用を有する少なくとも1つの大きな物理プロセッサコアと、
対応する一組の仮想プロセッサコアを介して、前記一組の小さな物理プロセッサコアをシステムファームウェアインタフェースに対して露出し、前記少なくとも1つの大きな物理プロセッサコアを前記システムファームウェアインタフェースから隠す仮想−物理マッピング論理(V−Pマッピング論理)と、
前記一組の小さな物理プロセッサコアから選択されたブートストラッププロセッサを指定および初期化するパッケージユニットと
を備え、
前記システムファームウェアインタフェースは、前記一組の小さな物理プロセッサコアを列挙し、前記少なくとも1つの大きな物理プロセッサコアを列挙せず、
前記V−Pマッピング論理は、実行されているスレッドに関連して検出された特性に応じて、仮想プロセッサコアを前記少なくとも1つの大きな物理プロセッサコアにマッピングする
システム。 - 前記V−Pマッピング論理は、各仮想コアを前記一組の小さな物理プロセッサコア内の物理プロセッサコアにマッピングして、第1の組のスレッドを前記一組の小さな物理プロセッサコア間で並列に実行可能とする請求項16に記載のシステム。
- 前記一組の物理プロセッサコアから選択された一のブートストラッププロセッサをさらに備え、前記ブートストラッププロセッサは、
前記一組の小さな物理プロセッサコア内の各物理プロセッサコアを初期化し、
前記少なくとも1つの大きな物理コアを初期化する、請求項17に記載のシステム。 - 前記少なくとも1つの大きな物理プロセッサコアはマスクされたアイドル状態を含み、前記少なくとも1つの大きな物理プロセッサコアが前記マスクされたアイドル状態にある場合、前記少なくとも1つの大きな物理プロセッサコアが仮想コアにマッピングされない請求項18に記載のシステム。
- 第1の命令セットおよび第1の消費電力レベルを有し、第1の性能レベルでスレッドを実行する第1の物理コアと、
第2の命令セットおよび第2の消費電力レベルを有し、第2の性能レベルでスレッドを実行する第2の物理コアと、
前記第1の命令セットおよび前記第1の消費電力レベルを有し、前記第1の性能レベルでスレッドを実行する第3の物理コアと、
前記第1の物理コア、前記第2の物理コア、および前記第3の物理コアに対して接続される仮想−物理マッピング回路(V−Pマッピング回路)と
を備え、
前記V−Pマッピング回路は、
第1の仮想コアを介して前記第1の物理コアをシステムファームウェアインタフェースに露出し、
前記第2の物理コアを前記システムファームウェアインタフェースから隠し、
第2の仮想コアを介して前記第3の物理コアを前記システムファームウェアインタフェースに露出して、一組のスレッドが前記第1の物理コアおよび前記第3の物理コアの間で並列に実行可能とし、
前記システムファームウェアインタフェースは、前記第1の物理コアを列挙し、前記第2の物理コアを列挙せず、
実行されている前記一組のスレッドに関連して検出された特性に応じて、前記システムファームウェアインタフェースに対してトランスペアレントに前記第2の仮想コアを前記第2の物理コアにマッピングし、
前記第1の物理コア、前記第2の物理コア、および前記第3の物理コアは動的なマルチコアユニット内に存在するプロセッサ。 - 前記第1の消費電力レベルは前記第2の消費電力レベルよりも低く、前記第2の性能レベルは前記第1の性能レベルよりも高い請求項20に記載のプロセッサ。
- 前記V−Pマッピング回路によって前記第1の仮想コアおよび前記第2の仮想コアのうちの1つ以上を前記第2の物理コアにマッピングすることによって、前記第2の物理コアがソフトウェアにアクセス可能とする請求項20に記載のプロセッサ。
- 前記プロセッサの単一の物理コアはブートストラッププロセッサとして動作する請求項22に記載のプロセッサ。
- 前記第1の物理コアは前記ブートストラッププロセッサとして動作する請求項23に記載のプロセッサ。
- 前記第2の物理コアは、前記システムファームウェアインタフェース及びオペレーティングシステムから隠され、前記システムファームウェアインタフェースは、BIOS、EFI、またはUEFIである請求項1〜9のいずれか一項に記載のプロセッサ。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361801615P | 2013-03-15 | 2013-03-15 | |
US61/801,615 | 2013-03-15 | ||
US13/854,001 US9727345B2 (en) | 2013-03-15 | 2013-03-29 | Method for booting a heterogeneous system and presenting a symmetric core view |
US13/854,001 | 2013-03-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014225242A JP2014225242A (ja) | 2014-12-04 |
JP5945292B2 true JP5945292B2 (ja) | 2016-07-05 |
Family
ID=51534015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014052039A Expired - Fee Related JP5945292B2 (ja) | 2013-03-15 | 2014-03-14 | 異種システムをブートし、コアの対称的なビューを表示する方法 |
Country Status (7)
Country | Link |
---|---|
US (2) | US9727345B2 (ja) |
JP (1) | JP5945292B2 (ja) |
KR (1) | KR101773229B1 (ja) |
CN (1) | CN104503830B (ja) |
BR (1) | BR102014006299A8 (ja) |
DE (1) | DE102014003798B4 (ja) |
GB (2) | GB2547769B (ja) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9792112B2 (en) | 2013-08-28 | 2017-10-17 | Via Technologies, Inc. | Propagation of microcode patches to multiple cores in multicore microprocessor |
US9465432B2 (en) | 2013-08-28 | 2016-10-11 | Via Technologies, Inc. | Multi-core synchronization mechanism |
US10198269B2 (en) | 2013-08-28 | 2019-02-05 | Via Technologies, Inc. | Dynamic reconfiguration of multi-core processor |
US9600551B2 (en) * | 2013-10-24 | 2017-03-21 | Sap Se | Coexistence of message-passing-like algorithms and procedural coding |
US9507649B2 (en) * | 2014-05-29 | 2016-11-29 | Apple Inc. | Web browser for spoofing supported features |
CN107250985B (zh) * | 2015-02-27 | 2020-10-16 | 华为技术有限公司 | 用于异构计算应用编程接口(api)的系统和方法 |
US20170052799A1 (en) * | 2015-08-21 | 2017-02-23 | Microchip Technology Incorporated | Integrated Circuit Device With Selectable Processor Core |
US20170160782A1 (en) * | 2015-12-07 | 2017-06-08 | Mediatek Inc. | Share power source mechanism in a multicore processor system |
US10354033B2 (en) * | 2016-10-18 | 2019-07-16 | Intel Corporation | Mapping application functional blocks to multi-core processors |
CN108460282A (zh) * | 2017-02-22 | 2018-08-28 | 北京大学 | 一种基于异构多核芯片的计算机安全启动方法 |
US10599442B2 (en) * | 2017-03-02 | 2020-03-24 | Qualcomm Incorporated | Selectable boot CPU |
US10510133B2 (en) * | 2017-06-20 | 2019-12-17 | Think Silicon Sa | Asymmetric multi-core heterogeneous parallel processing system |
US20190004816A1 (en) * | 2017-06-29 | 2019-01-03 | Dell Products L.P. | Systems and methods for heterogeneous system on a chip servers |
US11288010B2 (en) * | 2017-09-25 | 2022-03-29 | Intel Corporation | Efficiently storing computer processor data structures in computer memory |
US11354135B2 (en) * | 2017-12-25 | 2022-06-07 | Intel Corporation | Pre-memory initialization multithread parallel computing platform |
CN108228189B (zh) * | 2018-01-15 | 2020-07-28 | 西安交通大学 | 一种隐藏异构编程多线程的关联结构及基于其的映射方法 |
CN109947569B (zh) * | 2019-03-15 | 2021-04-06 | Oppo广东移动通信有限公司 | 绑定核心的方法、装置、终端及存储介质 |
US11842202B2 (en) * | 2019-10-25 | 2023-12-12 | Intel Corporation | Apparatus and method for dynamic selection of an optimal processor core for power-up and/or sleep modes |
US20220058029A1 (en) * | 2020-08-24 | 2022-02-24 | Intel Corporation | Energy-efficient core voltage selection apparatus and method |
Family Cites Families (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4377000A (en) * | 1980-05-05 | 1983-03-15 | Westinghouse Electric Corp. | Automatic fault detection and recovery system which provides stability and continuity of operation in an industrial multiprocessor control |
US5440752A (en) | 1991-07-08 | 1995-08-08 | Seiko Epson Corporation | Microprocessor architecture with a switch network for data transfer between cache, memory port, and IOU |
US5642506A (en) | 1994-12-14 | 1997-06-24 | International Business Machines Corporation | Method and apparatus for initializing a multiprocessor system |
AU5722296A (en) | 1995-05-01 | 1996-11-21 | Apple Computer, Inc. | A modular system utilizing interchangeable printed circuit b oard processor cards |
JP3005499B2 (ja) | 1997-06-26 | 2000-01-31 | 日本電気アイシーマイコンシステム株式会社 | 図形処理装置及び図形処理方法 |
JP3497988B2 (ja) | 1998-04-15 | 2004-02-16 | 株式会社ルネサステクノロジ | 図形処理装置及び図形処理方法 |
US6341347B1 (en) | 1999-05-11 | 2002-01-22 | Sun Microsystems, Inc. | Thread switch logic in a multiple-thread processor |
US6970992B2 (en) | 1999-10-04 | 2005-11-29 | Intel Corporation | Apparatus to map virtual pages to disparate-sized, non-contiguous real pages and methods relating thereto |
US7233998B2 (en) | 2001-03-22 | 2007-06-19 | Sony Computer Entertainment Inc. | Computer architecture and software cells for broadband networks |
US7996839B2 (en) | 2003-07-16 | 2011-08-09 | Hewlett-Packard Development Company, L.P. | Heterogeneous processor core systems for improved throughput |
US7873776B2 (en) | 2004-06-30 | 2011-01-18 | Oracle America, Inc. | Multiple-core processor with support for multiple virtual processors |
US9264384B1 (en) | 2004-07-22 | 2016-02-16 | Oracle International Corporation | Resource virtualization mechanism including virtual host bus adapters |
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 |
US9058292B2 (en) | 2004-12-29 | 2015-06-16 | Intel Corporation | System and method for one step address translation of graphics addresses in virtualization |
US7353410B2 (en) | 2005-01-11 | 2008-04-01 | International Business Machines Corporation | Method, system and calibration technique for power measurement and management over multiple time frames |
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 |
US7490254B2 (en) | 2005-08-02 | 2009-02-10 | Advanced Micro Devices, Inc. | Increasing workload performance of one or more cores on multiple core processors |
US7461275B2 (en) | 2005-09-30 | 2008-12-02 | Intel Corporation | Dynamic core swapping |
US7516301B1 (en) | 2005-12-16 | 2009-04-07 | Nvidia Corporation | Multiprocessor computing systems with heterogeneous processors |
US7802073B1 (en) | 2006-03-29 | 2010-09-21 | Oracle America, Inc. | Virtual core management |
US7272517B1 (en) | 2006-04-25 | 2007-09-18 | International Business Machines Corporation | Method and system for providing performance estimations for a specified power budget |
US7822941B2 (en) | 2006-06-05 | 2010-10-26 | Oracle America, Inc. | Function-based virtual-to-physical address translation |
US7904676B2 (en) * | 2007-04-30 | 2011-03-08 | Hewlett-Packard Development Company, L.P. | Method and system for achieving varying manners of memory access |
US8225315B1 (en) * | 2007-07-23 | 2012-07-17 | Oracle America, Inc. | Virtual core management |
US7818500B2 (en) * | 2007-11-01 | 2010-10-19 | Pubali Ray | Apparatus and method for using one core for RAID control in multi-core CPU |
US8010822B2 (en) * | 2008-03-28 | 2011-08-30 | Microsoft Corporation | Power-aware thread scheduling and dynamic use of processors |
US20090309243A1 (en) | 2008-06-11 | 2009-12-17 | Nvidia Corporation | Multi-core integrated circuits having asymmetric performance between cores |
US8214675B2 (en) * | 2008-12-08 | 2012-07-03 | Lenovo (Singapore) Pte. Ltd. | Apparatus, system, and method for power management utilizing multiple processor types |
US9507640B2 (en) | 2008-12-16 | 2016-11-29 | International Business Machines Corporation | Multicore processor and method of use that configures core functions based on executing instructions |
US8122269B2 (en) * | 2009-01-07 | 2012-02-21 | International Business Machines Corporation | Regulating power consumption in a multi-core processor by dynamically distributing power and processing requests by a managing core to a configuration of processing cores |
US8930953B2 (en) | 2009-01-16 | 2015-01-06 | International Business Machines Corporation | Dynamic checking of hardware resources for virtual environments |
US8386747B2 (en) | 2009-06-11 | 2013-02-26 | Freescale Semiconductor, Inc. | Processor and method for dynamic and selective alteration of address translation |
US8400458B2 (en) | 2009-09-09 | 2013-03-19 | Hewlett-Packard Development Company, L.P. | Method and system for blocking data on a GPU |
US8650426B2 (en) * | 2009-12-16 | 2014-02-11 | Qualcomm Incorporated | System and method for controlling central processing unit power in a virtualized system |
US8386749B2 (en) | 2010-03-16 | 2013-02-26 | Advanced Micro Devices, Inc. | Address mapping in virtualized processing system |
US8898664B2 (en) * | 2010-06-01 | 2014-11-25 | Microsoft Corporation | Exposure of virtual cache topology to a guest operating system |
US8869164B2 (en) | 2010-09-02 | 2014-10-21 | International Business Machines Corporation | Scheduling a parallel job in a system of virtual containers |
US8943334B2 (en) | 2010-09-23 | 2015-01-27 | Intel Corporation | Providing per core voltage and frequency control |
US9268611B2 (en) | 2010-09-25 | 2016-02-23 | Intel Corporation | Application scheduling in heterogeneous multiprocessor computing platform based on a ratio of predicted performance of processor cores |
US8418177B2 (en) | 2010-10-01 | 2013-04-09 | Microsoft Corporation | Virtual machine and/or multi-level scheduling support on systems with asymmetric processor cores |
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 |
US8861434B2 (en) | 2010-11-29 | 2014-10-14 | Alcatel Lucent | Method and system for improved multi-cell support on a single modem board |
US9286257B2 (en) | 2011-01-28 | 2016-03-15 | Qualcomm Incorporated | Bus clock frequency scaling for a bus interconnect and related devices, systems, and methods |
WO2012134431A1 (en) | 2011-03-25 | 2012-10-04 | Research In Motion Limited | Dynamic power management of cache memory in a multi-core processing system |
US8793686B2 (en) | 2011-06-08 | 2014-07-29 | Microsoft Corporation | Operating system decoupled heterogeneous computing |
KR101624061B1 (ko) | 2011-09-06 | 2016-05-24 | 인텔 코포레이션 | 전력 효율적 프로세서 아키텍처 |
TW201319827A (zh) * | 2011-11-04 | 2013-05-16 | Inventec Corp | 執行多重作業系統的方法及電子裝置 |
US9442773B2 (en) | 2011-11-21 | 2016-09-13 | Qualcomm Incorporated | Thermally driven workload scheduling in a heterogeneous multi-processor system on a chip |
US20130155081A1 (en) | 2011-12-15 | 2013-06-20 | Ati Technologies Ulc | Power management in multiple processor system |
US9372524B2 (en) | 2011-12-15 | 2016-06-21 | Intel Corporation | Dynamically modifying a power/performance tradeoff based on processor utilization |
US9304570B2 (en) | 2011-12-15 | 2016-04-05 | Intel Corporation | Method, apparatus, and system for energy efficiency and energy conservation including power and performance workload-based balancing between multiple processing elements |
US20130160003A1 (en) | 2011-12-19 | 2013-06-20 | Vmware, Inc. | Managing resource utilization within a cluster of computing devices |
US9720730B2 (en) | 2011-12-30 | 2017-08-01 | Intel Corporation | Providing an asymmetric multicore processor system transparently to an operating system |
WO2013162589A1 (en) | 2012-04-27 | 2013-10-31 | Intel Corporation | Migrating tasks between asymmetric computing elements of a multi-core processor |
US9009508B2 (en) * | 2012-08-28 | 2015-04-14 | Advanced Micro Devices, Inc. | Mechanism for reducing interrupt latency and power consumption using heterogeneous cores |
US9524012B2 (en) | 2012-10-05 | 2016-12-20 | Dell Products L.P. | Power system utilizing processor core performance state control |
US9672046B2 (en) * | 2012-12-28 | 2017-06-06 | Intel Corporation | Apparatus and method for intelligently powering heterogeneous processor components |
US9329900B2 (en) | 2012-12-28 | 2016-05-03 | Intel Corporation | Hetergeneous processor apparatus and method |
US9448829B2 (en) * | 2012-12-28 | 2016-09-20 | Intel Corporation | Hetergeneous processor apparatus and method |
US9639372B2 (en) * | 2012-12-28 | 2017-05-02 | Intel Corporation | Apparatus and method for heterogeneous processors mapping to virtual cores |
KR102055622B1 (ko) | 2013-01-10 | 2020-01-23 | 삼성디스플레이 주식회사 | 평판 표시 장치 및 평판 표시 장치의 구동 방법 |
-
2013
- 2013-03-29 US US13/854,001 patent/US9727345B2/en active Active
-
2014
- 2014-03-14 JP JP2014052039A patent/JP5945292B2/ja not_active Expired - Fee Related
- 2014-03-14 GB GB1700245.2A patent/GB2547769B/en active Active
- 2014-03-14 GB GB1404549.6A patent/GB2514236B/en active Active
- 2014-03-17 CN CN201410098271.5A patent/CN104503830B/zh active Active
- 2014-03-17 BR BR102014006299A patent/BR102014006299A8/pt active Search and Examination
- 2014-03-17 DE DE102014003798.3A patent/DE102014003798B4/de active Active
- 2014-03-17 KR KR1020140031255A patent/KR101773229B1/ko active IP Right Grant
-
2017
- 2017-08-08 US US15/672,254 patent/US10503517B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR101773229B1 (ko) | 2017-08-31 |
GB2547769B (en) | 2018-04-25 |
GB2514236A (en) | 2014-11-19 |
JP2014225242A (ja) | 2014-12-04 |
US20140281457A1 (en) | 2014-09-18 |
BR102014006299A8 (pt) | 2018-05-29 |
CN104503830B (zh) | 2018-05-22 |
US10503517B2 (en) | 2019-12-10 |
GB201700245D0 (en) | 2017-02-22 |
US9727345B2 (en) | 2017-08-08 |
GB2547769A (en) | 2017-08-30 |
CN104503830A (zh) | 2015-04-08 |
GB201404549D0 (en) | 2014-04-30 |
DE102014003798B4 (de) | 2023-07-13 |
US20180060078A1 (en) | 2018-03-01 |
KR20140113600A (ko) | 2014-09-24 |
DE102014003798A1 (de) | 2014-09-18 |
GB2514236B (en) | 2017-02-15 |
BR102014006299A2 (pt) | 2015-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5945292B2 (ja) | 異種システムをブートし、コアの対称的なビューを表示する方法 | |
CN107408036B (zh) | 用户级分叉与结合处理器、方法、系统和指令 | |
JP6507435B2 (ja) | 命令エミュレーションプロセッサ、方法、およびシステム | |
KR101673435B1 (ko) | 공동 설계 프로세서에서 격리된 실행 환경의 생성 | |
KR101738212B1 (ko) | 명령어 에뮬레이션 프로세서, 방법, 및 시스템 | |
KR102262176B1 (ko) | 예외로부터 리턴할 때 마스크 불가능 인터럽트의 조기 인에이블링의 회피 | |
KR102187912B1 (ko) | 인터럽트들의 세트들을 구성하는 장치 및 방법 | |
CN104205042A (zh) | 用于具有通用cpu核心和紧密耦合的加速器的处理核心的上下文切换机制 | |
US20190205061A1 (en) | Processor, method, and system for reducing latency in accessing remote registers | |
US11941409B2 (en) | Methods, systems, and apparatuses for a multiprocessor boot flow for a faster boot process | |
US10223149B2 (en) | Implementing device models for virtual machines with reconfigurable hardware | |
US10771554B2 (en) | Cloud scaling with non-blocking non-spinning cross-domain event synchronization and data communication | |
EP3901768A1 (en) | Methods, systems, and apparatuses for a multiprocessor boot flow for a faster boot process | |
Asri et al. | The Non-Uniform Compute Device (NUCD) Architecture for Lightweight Accelerator Offload | |
US20180349137A1 (en) | Reconfiguring a processor without a system reset |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150309 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150317 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20150616 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20150716 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20150814 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150917 |
|
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: 20160329 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20160427 |
|
R155 | Notification before disposition of declining of application |
Free format text: JAPANESE INTERMEDIATE CODE: R155 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160527 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5945292 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 |
|
LAPS | Cancellation because of no payment of annual fees |