JP4543081B2 - リソースの割り当ておよび制限を介するヘテロジニアスチップマルチプロセッサのための装置および方法 - Google Patents
リソースの割り当ておよび制限を介するヘテロジニアスチップマルチプロセッサのための装置および方法 Download PDFInfo
- Publication number
- JP4543081B2 JP4543081B2 JP2007519337A JP2007519337A JP4543081B2 JP 4543081 B2 JP4543081 B2 JP 4543081B2 JP 2007519337 A JP2007519337 A JP 2007519337A JP 2007519337 A JP2007519337 A JP 2007519337A JP 4543081 B2 JP4543081 B2 JP 4543081B2
- Authority
- JP
- Japan
- Prior art keywords
- resource
- processor
- controller
- cycle
- register
- 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Power Sources (AREA)
- Microcomputers (AREA)
Description
図1は、一実施例に係る、プロセッサコントローラと少なくとも一つのリソース利用レジスタ130(130−1,...,130−N)とを有するプロセッサコア(CPU)110(110−1,...,110−N)を含み、少なくとも一つのプログラムサイクル中の少なくとも一つのリソース制限または割り当てに従ってCPU110のアクティビティを制限するチップマルチプロセッサ(CMP)100を示すブロック図である。代表的には、CMP100は、同一のダイ上に製造された複数のCPU110、共有キャッシュおよびその他の機能部を含む。図示のように、CPU110は、共有キャッシュ180にアクセスするべく相互接続ネットワーク170に接続される。一実施例において、各CPU110は、最小から最大利用レベルまでに制限されたリソースをCPU110が利用することを制限するために特権ソフトウェアによって書き込まれるスロットルリソース利用レジスタ130を含む。
図5は、一実施例に係る、リソース利用ポリシーに従って少なくとも一つのプログラムサイクル中に少なくとも一つのプロセッサコアのリソース利用レジスタを使用する、リソース制限のための方法300を示すフローチャートである。一実施例において、例えば図1から図4に示すように、リソース利用レジスタは、チップマルチプロセッサ(CMP)のプロセッサコア(CPU)の、アクティビティスロットルベクトルである。一実施例において、リソース利用ポリシーは、制限されたリソースに関連するプロセッサアクティビティを特定する。このプロセッサアクティビティは、例えば、プロセッサ命令発行、プロセッサ命令フェッチ、浮動小数点(FP)命令発行、整数命令発行、メモリ発行またはその他の、一つ以上のプロセッサコアの電流および電力消費ならびに共有CMPリソースへの負荷を低減するためのプロセッサアクティビティ等を含む。
上述における、ロジック実装、信号およびバスのサイズおよび名称、システムコンポーネントの種類および相互関係、ならびにロジックのパーティショニング/インテグレーション選択のような多数の具体的詳細が、さらに徹底的な理解を与えるために示される。しかし、当業者であれば、かかる具体的詳細がなくとも本発明が実施できることがわかるだろう。その他の場合では、本発明をあいまいにするのを避けるため制御構造およびゲートレベル回路は詳細に示さない。当業者であれば、本明細書の記載によって、過度の実験なしに所定のロジックまたはソフトウェアを実装することができるだろう。
Claims (35)
- (a)リソース利用ポリシーを決定するべく、Nビット値のベクトルを含むリソース利用レジスタに、プロセッサコントローラがアクセスすることと、
(b)制限されたリソースに向けられるプロセッサ利用を、前記決定されたリソース利用ポリシーに従って、前記プロセッサコントローラが制限することと、
(c)前記プロセッサコントローラが、前記リソース利用レジスタ内に格納された前記Nビット値をシフトさせて、隣接ビット値を現在のビット位置の値として中に移動させることと、
(a)から(c)を各プログラムサイクルに対して、前記プロセッサコントローラが繰り返すことと、
を含み、
前記ベクトルに含まれる各ビットは、前記制限されたリソースに向けられるプロセッサ利用が許可および不許可のうちの一つであるサイクルを表す、方法。 - 前記リソース利用レジスタの現在のビット位置がディアサートされる場合、前記プロセッサコントローラが、現在のプログラムサイクル中に前記制限されたリソースの前記プロセッサ利用を無効にする、請求項1に記載の方法。
- 前記制限されたリソースは、プロセッサアクティビティ、メモリ参照および共有キャッシュメモリのうちの一つである、請求項1に記載の方法。
- 前記プロセッサアクティビティは、プロセス命令発行、プロセッサ命令フェッチおよびプロセッサメモリ要求発行のうちの一つである、請求項3に記載の方法。
- チップマルチプロセッサの少なくとも一つのプロセッサコアに対するサイクル当たりの許可された所定数のリソース要求をリソース制御ベクトルに従って制限するべく、リソースコントローラが共有リソースを制限することをさらに含む、請求項1に記載の方法。
- アクセスすることに先立って、前記制限されたリソースに向けられるプロセッサ利用に対するリソース利用ポリシーを、Nを整数とした場合の最小アクティビティレベルから最大アクティビティレベルまでのプログラムサイクル増分のN分の1に定義するべく、特権ソフトウェアによって前記リソース利用レジスタ内にNビット値を書き込むことをさらに含む、請求項1に記載の方法。
- 前記プロセッサ利用を制限することは、前記決定されたリソース利用ポリシーに従って、前記プロセッサコントローラがサイクルごとに行う、請求項1に記載の方法。
- 命令処理カウントを、リソースコントローラが前記プロセッサから定期的に受け取ることと、
前記処理カウントに応答してプロセッサアクティビティの増加または減少のいずれかを特定するべく前記リソース利用ポリシーを調整して前記リソース利用レジスタを前記リソースコントローラがアップデートすることと、
をさらに含む、請求項1に記載の方法。 - 制限されたリソースに関連する最小利用レベルから最大利用レベルまでにリソース利用ポリシーを定義するべく、リソースコントローラがチップマルチプロセッサの少なくとも一つのプロセッサコアのリソース利用レジスタを投入することと、
前記プロセッサコアから命令処理カウントを、前記リソースコントローラが定期的に受け取ることと、
前記処理カウントに応答して前記リソース利用ポリシーを調整するべく、前記リソースコントローラが前記リソース利用をアップデートすることと、
を含み、
前記リソース利用レジスタはサイクルごとにシフトされる、ビットのベクトルである少なくとも1つのアクティビティスロットルベクトルを含み、
前記ベクトルに含まれる各ビットは、前記制限されたリソースに向けられるプロセッサ利用が許可および不許可のうちの一つであるサイクルを表す、方法。 - チップマルチプロセッサリソースのリソース利用レジスタを投入して、前記チップマルチプロセッサの少なくとも一つのプロセッサコアからの、サイクル当たり所定数の許可された要求を、前記リソースコントローラが制限すること、をさらに含む請求項9に記載の方法。
- 投入することは、
アプリケーションの最も性能上重要なスレッドを実行するべく割り当てられたプロセッサコアの前記少なくとも1つのアクティビティスロットルベクトルの1つに、特権ソフトウェアが値を書き込み、最大プロセッサコアアクティビティレベルを定義するリソース利用ポリシーに従って前記プロセッサコアを動作させることをさらに含む、請求項9に記載の方法。 - アップデートすることは、
前記チップマルチプロセッサの性能を向上させるべく各プロセッサコアから受け取られた前記命令処理カウントから決定された作業負荷特性に従って、前記リソースコントローラが少なくとも一つのプロセッサコアの前記少なくとも1つのアクティビティスロットルベクトルの1つを修正することをさらに含む、請求項9に記載の方法。 - 前記チップマルチプロセッサの性能を向上させるべく受け取られた前記命令処理カウントによって決定された作業負荷特性に従って、前記リソースコントローラが前記チップマルチプロセッサの電圧要求および周波数要求を変更することをさらに含む、請求項9に記載の方法。
- システムを、
制限されたリソースに関連する最小利用レベルから最大利用レベルまでにリソース利用ポリシーを定義するべく、リソースコントローラがチップマルチプロセッサの少なくとも一つのプロセッサコアのリソース利用レジスタを投入し、
前記プロセッサコアから命令処理カウントを、前記リソースコントローラが定期的に受け取り、
前記処理カウントに応答して前記リソース利用ポリシーを調整するべく、前記リソースコントローラが前記リソース利用をアップデートする、
ように機能させるプログラムであって、
前記リソース利用レジスタはサイクルごとにシフトされる、ビットのベクトルである少なくとも1つのアクティビティスロットルベクトルを含み、
前記ベクトルに含まれる各ビットは、前記制限されたリソースに向けられるプロセッサ利用が許可および不許可のうちの一つであるサイクルを表す、プログラム。 - チップマルチプロセッサリソースのリソース利用レジスタを投入して、前記チップマルチプロセッサの少なくとも一つのプロセッサコアからの、サイクル当たり所定数の許可された要求を、前記リソースコントローラが制限するように、前記システムをさらに機能させる、請求項14に記載のプログラム。
- 投入することは、
アプリケーションの最も性能上重要なスレッドを実行するべく割り当てられたプロセッサコアの前記少なくとも1つのアクティビティスロットルベクトルの1つに値を、特権ソフトウェアが書き込み、
最大プロセッサコアアクティビティレベルを定義するリソース利用ポリシーに従って前記プロセッサコアを動作させることをさらに含む、請求項14に記載のプログラム。 - アップデートすることは、
前記チップマルチプロセッサの性能を向上させるべく各プロセッサコアから受け取られた前記命令処理カウントにより決定された作業負荷特性に従って、前記リソースコントローラが少なくとも一つのプロセッサコアの前記少なくとも1つのアクティビティスロットルベクトルの1つを修正することをさらに含む、請求項14に記載のプログラム。 - 前記チップマルチプロセッサの性能を向上させるべく受け取られた前記命令処理カウントによって決定された作業負荷特性に従って、前記リソースコントローラが前記チップマルチプロセッサの電圧要求および周波数要求を変更するように、前記システムをさらに機能させる、請求項14に記載のプログラム。
- 少なくとも一つのプロセッサコアを含み、
前記プロセッサコアは、リソース利用レジスタおよびプロセッサコントローラを含み、
前記プロセッサコントローラは、リソース利用ポリシーを決定するべく前記リソース利用レジスタにアクセスし、制限されたリソースに向けられるプロセッサ利用を、前記決定されたリソース利用ポリシーに従って制限し、
前記リソース利用レジスタはサイクルごとにシフトされる、ビットのベクトルを含み、
前記ベクトルに含まれる各ビットは、前記制限されたリソースに向けられるプロセッサ利用が許可および不許可のうちの一つであるサイクルを表す、装置。 - 前記リソース利用レジスタは、プログラムサイクル当たりの最大発行速度に従って、少なくとも一つのプログラムサイクル中に前記プロセッサコントローラにプロセッサ命令発行を制限させる命令発行スロットルベクトルをさらに含む、請求項19に記載の装置。
- 前記リソース利用レジスタは、プログラムサイクル当たりの最大命令フェッチ速度に従って、少なくとも一つのプログラムサイクル中に前記プロセッサコントローラにプロセッサ命令発行を制限させる浮動小数点命令発行スロットルベクトルをさらに含む、請求項20に記載の装置。
- 前記リソース利用レジスタは、前記制限されたリソース非アクティビティのプロセッサコア利用に対するリソース利用ポリシーを、Nを整数とした場合の最小利用レベルから最大利用レベルまでのプログラムサイクル増分のN分の1に定義するNビットのバレルシフトレジスタを含む、請求項19に記載の装置。
- 前記プロセッサコアに接続されたリソースコントローラをさらに含み、前記リソースコントローラは、前記プロセッサコアから命令処理カウントを受け取り、前記命令処理カウントを少なくとも一つのソフトウェア可視レジスタ内に記録する、請求項19に記載の装置。
- 相互接続ネットワークに接続されたシステムメモリと、
前記相互接続ネットワークに接続された少なくとも複数のプロセッサコアを含むチップマルチプロセッサと、
前記複数のプロセッサコアに接続されたリソースコントローラと、を含み、
各プロセッサコアは、少なくとも一つのリソース利用レジスタと、前記リソース利用レジスタに接続されたプロセッサコントローラとを含み、
前記プロセッサコントローラは、リソース利用ポリシーを決定するべく前記リソース利用レジスタにアクセスし、制限されたリソースに向けられるプロセッサコア利用を、前記リソース利用レジスタへの前記アクセスが少なくとも一つのサイクル中にリソース制限を示す場合に、前記決定されたリソース利用ポリシーに従って制限し、
前記リソースコントローラは、各プロセッサコアから命令処理カウントを受け取り、各プロセッサコアから受け取った前記命令処理カウントを少なくとも一つのソフトウェア可視レジスタ内に格納し、
前記リソース利用レジスタはサイクルごとにシフトされる、ビットのベクトルを含み、
前記ベクトルに含まれる各ビットは、前記制限されたリソースに向けられるプロセッサ利用が許可および不許可のうちの一つであるサイクルを表す、システム。 - 前記リソースコントローラは、前記チップマルチプロセッサの性能を向上させるべく各プロセッサコアからの前記受け取られた命令処理カウントによって決定された作業負荷特性に従って前記プロセッサコアの前記リソース利用レジスタを修正する、請求項24に記載のシステム。
- 前記リソースコントローラは、前記チップマルチプロセッサの性能を向上させるべく前記受け取られた命令処理カウントによって決定された作業負荷特性に従って前記チップマルチプロセッサの電圧要求および周波数要求を変更する、請求項24に記載のシステム。
- 前記リソースコントローラは、共有チップマルチプロセッサリソースのリソース制御ベクトルを投入して、前記チップマルチプロセッサの少なくとも一つのプロセッサコアに対するサイクル当たり所定数の許可された要求を制限する、請求項24に記載のシステム。
- 前記リソース利用レジスタは、
プロセッサコントローラに少なくとも一つのプログラムサイクル中のプロセッサ命令発行を禁止させる命令発行スロットルベクトルと、
前記プロセッサコントローラに少なくとも一つのプログラムサイクル中のプロセッサ命令フェッチを禁止させる命令フェッチスロットルベクトルと、
をさらに含む、請求項24に記載のシステム。 - 前記プロセッサコアは、それぞれ前記リソース利用レジスタを有する、請求項5または9に記載の方法。
- 前記プロセッサコアは、それぞれ前記リソース利用レジスタを有する、請求項14に記載のプログラム。
- 前記プロセッサコントローラが、前記リソース利用レジスタの所定のビット位置を検査することと、
前記ビット位置が不許可のサイクルを表す場合、前記プロセッサコントローラが、前記プロセッサのクロックゲーティングロジックのクリティカルパスを無効にすることと、
をさらに含む、請求項1に記載の方法。 - プロセッサコントローラが、前記リソース利用レジスタの所定のビット位置を検査することと、
前記ビット位置が不許可のサイクルを表す場合、前記プロセッサコントローラが、前記プロセッサコアのクロックゲーティングロジックのクリティカルパスを無効にすることと、
をさらに含む、請求項9に記載の方法。 - プロセッサコントローラが、前記リソース利用レジスタの所定のビット位置を検査することと、
前記ビット位置が不許可のサイクルを表す場合、前記プロセッサコントローラが、前記プロセッサコアのクロックゲーティングロジックのクリティカルパスを無効にすることと、
をさらに含む、請求項14に記載のプログラム。 - 前記プロセッサコントローラが、前記リソース利用レジスタの所定のビット位置を検査することと、
前記ビット位置が不許可のサイクルを表す場合、前記プロセッサコントローラが、前記プロセッサコアのクロックゲーティングロジックのクリティカルパスを無効にすることと、
をさらに含む、請求項19に記載の装置。 - 前記プロセッサコントローラが、前記リソース利用レジスタの所定のビット位置を検査することと、
前記ビット位置が不許可のサイクルを表す場合、前記プロセッサコントローラが、前記プロセッサコアのクロックゲーティングロジックのクリティカルパスを無効にすることと、
をさらに含む、請求項24に記載のシステム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10/884,359 US8190863B2 (en) | 2004-07-02 | 2004-07-02 | Apparatus and method for heterogeneous chip multiprocessors via resource allocation and restriction |
| PCT/US2005/022773 WO2006014254A1 (en) | 2004-07-02 | 2005-06-25 | An apparatus and method for heterogenous chip multiprocessors via resource allocation and restriction |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2008505396A JP2008505396A (ja) | 2008-02-21 |
| JP4543081B2 true JP4543081B2 (ja) | 2010-09-15 |
Family
ID=34981954
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007519337A Expired - Fee Related JP4543081B2 (ja) | 2004-07-02 | 2005-06-25 | リソースの割り当ておよび制限を介するヘテロジニアスチップマルチプロセッサのための装置および方法 |
Country Status (5)
| Country | Link |
|---|---|
| US (2) | US8190863B2 (ja) |
| JP (1) | JP4543081B2 (ja) |
| CN (1) | CN100561461C (ja) |
| TW (1) | TW200723111A (ja) |
| WO (1) | WO2006014254A1 (ja) |
Families Citing this family (77)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040064745A1 (en) * | 2002-09-26 | 2004-04-01 | Sudarshan Kadambi | Method and apparatus for controlling the rate at which instructions are executed by a microprocessor system |
| US8020141B2 (en) * | 2004-12-06 | 2011-09-13 | Microsoft Corporation | Operating-system process construction |
| US7502948B2 (en) | 2004-12-30 | 2009-03-10 | Intel Corporation | Method, system, and apparatus for selecting a maximum operation point based on number of active cores and performance level of each of the active cores |
| JP4082706B2 (ja) * | 2005-04-12 | 2008-04-30 | 学校法人早稲田大学 | マルチプロセッサシステム及びマルチグレイン並列化コンパイラ |
| US8849968B2 (en) * | 2005-06-20 | 2014-09-30 | Microsoft Corporation | Secure and stable hosting of third-party extensions to web services |
| US7490254B2 (en) * | 2005-08-02 | 2009-02-10 | Advanced Micro Devices, Inc. | Increasing workload performance of one or more cores on multiple core processors |
| US7484131B2 (en) * | 2005-09-13 | 2009-01-27 | International Business Machines Corporation | System and method for recovering from a hang condition in a data processing system |
| US7577875B2 (en) * | 2005-09-14 | 2009-08-18 | Microsoft Corporation | Statistical analysis of sampled profile data in the identification of significant software test performance regressions |
| US20070094495A1 (en) * | 2005-10-26 | 2007-04-26 | Microsoft Corporation | Statically Verifiable Inter-Process-Communicative Isolated Processes |
| US8074231B2 (en) | 2005-10-26 | 2011-12-06 | Microsoft Corporation | Configuration of isolated extensions and device drivers |
| US8032898B2 (en) * | 2006-06-30 | 2011-10-04 | Microsoft Corporation | Kernel interface with categorized kernel objects |
| US20080244507A1 (en) * | 2007-03-30 | 2008-10-02 | Microsoft Corporation | Homogeneous Programming For Heterogeneous Multiprocessor Systems |
| US8789063B2 (en) | 2007-03-30 | 2014-07-22 | Microsoft Corporation | Master and subordinate operating system kernels for heterogeneous multiprocessor systems |
| US7818592B2 (en) * | 2007-04-18 | 2010-10-19 | Globalfoundries Inc. | Token based power control mechanism |
| US7992017B2 (en) | 2007-09-11 | 2011-08-02 | Intel Corporation | Methods and apparatuses for reducing step loads of processors |
| US8245232B2 (en) * | 2007-11-27 | 2012-08-14 | Microsoft Corporation | Software-configurable and stall-time fair memory access scheduling mechanism for shared memory systems |
| US20090138683A1 (en) * | 2007-11-28 | 2009-05-28 | Capps Jr Louis B | Dynamic instruction execution using distributed transaction priority registers |
| US8886918B2 (en) * | 2007-11-28 | 2014-11-11 | International Business Machines Corporation | Dynamic instruction execution based on transaction priority tagging |
| WO2009136628A1 (ja) * | 2008-05-08 | 2009-11-12 | 日本電気株式会社 | 情報処理システムと方法およびプログラム |
| US8589875B2 (en) * | 2009-06-16 | 2013-11-19 | International Business Machines Corporation | Computing system with compile farm |
| US8578026B2 (en) * | 2009-06-22 | 2013-11-05 | Citrix Systems, Inc. | Systems and methods for handling limit parameters for a multi-core system |
| US9098274B2 (en) | 2009-12-03 | 2015-08-04 | Intel Corporation | Methods and apparatuses to improve turbo performance for events handling |
| US20110153984A1 (en) * | 2009-12-21 | 2011-06-23 | Andrew Wolfe | Dynamic voltage change for multi-core processing |
| CN103329064B (zh) * | 2011-01-20 | 2016-08-10 | 日本电气株式会社 | 控制系统 |
| US8930714B2 (en) | 2011-07-19 | 2015-01-06 | Elwha Llc | Encrypted memory |
| US9170843B2 (en) * | 2011-09-24 | 2015-10-27 | Elwha Llc | Data handling apparatus adapted for scheduling operations according to resource allocation based on entitlement |
| US8955111B2 (en) | 2011-09-24 | 2015-02-10 | Elwha Llc | Instruction set adapted for security risk monitoring |
| US9460290B2 (en) | 2011-07-19 | 2016-10-04 | Elwha Llc | Conditional security response using taint vector monitoring |
| US9098608B2 (en) * | 2011-10-28 | 2015-08-04 | Elwha Llc | Processor configured to allocate resources using an entitlement vector |
| US9298918B2 (en) | 2011-11-30 | 2016-03-29 | Elwha Llc | Taint injection and tracking |
| US9443085B2 (en) | 2011-07-19 | 2016-09-13 | Elwha Llc | Intrusion detection using taint accumulation |
| US9798873B2 (en) | 2011-08-04 | 2017-10-24 | Elwha Llc | Processor operable to ensure code integrity |
| US9471373B2 (en) | 2011-09-24 | 2016-10-18 | Elwha Llc | Entitlement vector for library usage in managing resource allocation and scheduling based on usage and priority |
| US8813085B2 (en) * | 2011-07-19 | 2014-08-19 | Elwha Llc | Scheduling threads based on priority utilizing entitlement vectors, weight and usage level |
| US9575903B2 (en) | 2011-08-04 | 2017-02-21 | Elwha Llc | Security perimeter |
| US9465657B2 (en) * | 2011-07-19 | 2016-10-11 | Elwha Llc | Entitlement vector for library usage in managing resource allocation and scheduling based on usage and priority |
| US9558034B2 (en) | 2011-07-19 | 2017-01-31 | Elwha Llc | Entitlement vector for managing resource allocation |
| US9098309B2 (en) | 2011-09-23 | 2015-08-04 | Qualcomm Incorporated | Power consumption optimized translation of object code partitioned for hardware component based on identified operations |
| CN103827838A (zh) * | 2011-09-28 | 2014-05-28 | 松下电器产业株式会社 | 存储器控制系统以及电力控制方法 |
| US9009451B2 (en) * | 2011-10-31 | 2015-04-14 | Apple Inc. | Instruction type issue throttling upon reaching threshold by adjusting counter increment amount for issued cycle and decrement amount for not issued cycle |
| US10146545B2 (en) | 2012-03-13 | 2018-12-04 | Nvidia Corporation | Translation address cache for a microprocessor |
| US9880846B2 (en) | 2012-04-11 | 2018-01-30 | Nvidia Corporation | Improving hit rate of code translation redirection table with replacement strategy based on usage history table of evicted entries |
| US9875105B2 (en) | 2012-05-03 | 2018-01-23 | Nvidia Corporation | Checkpointed buffer for re-entry from runahead |
| US10241810B2 (en) | 2012-05-18 | 2019-03-26 | Nvidia Corporation | Instruction-optimizing processor with branch-count table in hardware |
| US9575806B2 (en) * | 2012-06-29 | 2017-02-21 | Intel Corporation | Monitoring accesses of a thread to multiple memory controllers and selecting a thread processor for the thread based on the monitoring |
| US9645929B2 (en) | 2012-09-14 | 2017-05-09 | Nvidia Corporation | Speculative permission acquisition for shared memory |
| US10001996B2 (en) | 2012-10-26 | 2018-06-19 | Nvidia Corporation | Selective poisoning of data during runahead |
| US9740553B2 (en) | 2012-11-14 | 2017-08-22 | Nvidia Corporation | Managing potentially invalid results during runahead |
| US9235252B2 (en) * | 2012-12-21 | 2016-01-12 | Intel Corporation | Dynamic balancing of power across a plurality of processor domains according to power policy control bias |
| US20140189310A1 (en) | 2012-12-27 | 2014-07-03 | Nvidia Corporation | Fault detection in instruction translations |
| US9569214B2 (en) | 2012-12-27 | 2017-02-14 | Nvidia Corporation | Execution pipeline data forwarding |
| US9361116B2 (en) | 2012-12-28 | 2016-06-07 | Intel Corporation | Apparatus and method for low-latency invocation of accelerators |
| US10140129B2 (en) | 2012-12-28 | 2018-11-27 | Intel Corporation | Processing core having shared front end unit |
| US9542193B2 (en) | 2012-12-28 | 2017-01-10 | Intel Corporation | Memory address collision detection of ordered parallel threads with bloom filters |
| US9417873B2 (en) | 2012-12-28 | 2016-08-16 | Intel Corporation | Apparatus and method for a hybrid latency-throughput processor |
| US10346195B2 (en) | 2012-12-29 | 2019-07-09 | Intel Corporation | Apparatus and method for invocation of a multi threaded accelerator |
| US9547602B2 (en) | 2013-03-14 | 2017-01-17 | Nvidia Corporation | Translation lookaside buffer entry systems and methods |
| US10108424B2 (en) | 2013-03-14 | 2018-10-23 | Nvidia Corporation | Profiling code portions to generate translations |
| US9244684B2 (en) * | 2013-03-15 | 2016-01-26 | Intel Corporation | Limited range vector memory access instructions, processors, methods, and systems |
| US9606842B2 (en) * | 2013-05-08 | 2017-03-28 | National Science Foundation | Resource and core scaling for improving performance of power-constrained multi-core processors |
| US9292362B2 (en) * | 2013-06-25 | 2016-03-22 | Intel Corporation | Method and apparatus to protect a processor against excessive power usage |
| US9582280B2 (en) | 2013-07-18 | 2017-02-28 | Nvidia Corporation | Branching to alternate code based on runahead determination |
| GB2510655B (en) * | 2013-07-31 | 2015-02-25 | Imagination Tech Ltd | Prioritizing instructions based on type |
| CN103543986B (zh) * | 2013-10-30 | 2017-04-05 | 曙光信息产业(北京)有限公司 | Cfx的计算任务的实现方法和装置 |
| US9436786B1 (en) * | 2014-02-12 | 2016-09-06 | Xilinx, Inc. | Method and circuits for superclocking |
| US10409350B2 (en) | 2014-04-04 | 2019-09-10 | Empire Technology Development Llc | Instruction optimization using voltage-based functional performance variation |
| US9817465B2 (en) | 2014-06-27 | 2017-11-14 | Microsoft Technology Licensing, Llc | Low latency computer system power reduction |
| US10877530B2 (en) * | 2014-12-23 | 2020-12-29 | Intel Corporation | Apparatus and method to provide a thermal parameter report for a multi-chip package |
| US10339295B2 (en) | 2016-07-28 | 2019-07-02 | Microsoft Technology Licensing, Llc | Tracking work between system entities |
| US10379904B2 (en) * | 2016-08-31 | 2019-08-13 | Intel Corporation | Controlling a performance state of a processor using a combination of package and thread hint information |
| US10628228B1 (en) * | 2017-08-28 | 2020-04-21 | Amazon Technologies, Inc. | Tiered usage limits across compute resource partitions |
| US11030007B2 (en) * | 2017-12-19 | 2021-06-08 | Western Digital Technologies, Inc | Multi-constraint dynamic resource manager |
| US11281501B2 (en) * | 2018-04-04 | 2022-03-22 | Micron Technology, Inc. | Determination of workload distribution across processors in a memory system |
| EP3608779B1 (en) * | 2018-08-09 | 2024-04-03 | Bayerische Motoren Werke Aktiengesellschaft | Method for processing a predetermined computing task by means of a distributed, vehicle-based computing system as well as computing system, server device, and motor vehicle |
| CN110687997B (zh) * | 2019-09-06 | 2021-06-11 | 苏州浪潮智能科技有限公司 | 一种动态调整fpga的功耗的方法及装置 |
| GB2626996B (en) * | 2023-02-13 | 2025-06-04 | Advanced Risc Mach Ltd | Power management |
| US20250004776A1 (en) * | 2023-06-29 | 2025-01-02 | Advanced Micro Devices, Inc. | Instruction flow regulator for a processing unit |
Family Cites Families (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0432359A3 (en) * | 1989-11-21 | 1993-03-17 | International Business Machines Corporation | Method and apparatus for performing memory protection operations in a parallel processor system |
| US5708788A (en) * | 1995-03-03 | 1998-01-13 | Fujitsu, Ltd. | Method for adjusting fetch program counter in response to the number of instructions fetched and issued |
| US5896528A (en) * | 1995-03-03 | 1999-04-20 | Fujitsu Limited | Superscalar processor with multiple register windows and speculative return address generation |
| US5809268A (en) * | 1995-06-29 | 1998-09-15 | International Business Machines Corporation | Method and system for tracking resource allocation within a processor |
| US5719800A (en) * | 1995-06-30 | 1998-02-17 | Intel Corporation | Performance throttling to reduce IC power consumption |
| US5996092A (en) * | 1996-12-05 | 1999-11-30 | International Business Machines Corporation | System and method for tracing program execution within a processor before and after a triggering event |
| US6237073B1 (en) * | 1997-11-26 | 2001-05-22 | Compaq Computer Corporation | Method for providing virtual memory to physical memory page mapping in a computer operating system that randomly samples state information |
| RU2131145C1 (ru) * | 1998-06-16 | 1999-05-27 | Закрытое акционерное общество Научно-технический центр "Модуль" | Нейропроцессор, устройство для вычисления функций насыщения, вычислительное устройство и сумматор |
| US6304978B1 (en) * | 1998-11-24 | 2001-10-16 | Intel Corporation | Method and apparatus for control of the rate of change of current consumption of an electronic component |
| US6564328B1 (en) * | 1999-12-23 | 2003-05-13 | Intel Corporation | Microprocessor with digital power throttle |
| US6636949B2 (en) * | 2000-06-10 | 2003-10-21 | Hewlett-Packard Development Company, L.P. | System for handling coherence protocol races in a scalable shared memory system based on chip multiprocessing |
| EP1182552A3 (en) | 2000-08-21 | 2003-10-01 | Texas Instruments France | Dynamic hardware configuration for energy management systems using task attributes |
| US6662278B1 (en) * | 2000-09-22 | 2003-12-09 | Intel Corporation | Adaptive throttling of memory acceses, such as throttling RDRAM accesses in a real-time system |
| US7174194B2 (en) * | 2000-10-24 | 2007-02-06 | Texas Instruments Incorporated | Temperature field controlled scheduling for processing systems |
| US7111178B2 (en) * | 2001-09-28 | 2006-09-19 | Intel Corporation | Method and apparatus for adjusting the voltage and frequency to minimize power dissipation in a multiprocessor system |
| US7281140B2 (en) * | 2001-12-28 | 2007-10-09 | Intel Corporation | Digital throttle for multiple operating points |
| US6931559B2 (en) * | 2001-12-28 | 2005-08-16 | Intel Corporation | Multiple mode power throttle mechanism |
| US7096145B2 (en) * | 2002-01-02 | 2006-08-22 | Intel Corporation | Deterministic power-estimation for thermal control |
| US7036032B2 (en) * | 2002-01-04 | 2006-04-25 | Ati Technologies, Inc. | System for reduced power consumption by phase locked loop and method thereof |
| US7076681B2 (en) * | 2002-07-02 | 2006-07-11 | International Business Machines Corporation | Processor with demand-driven clock throttling power reduction |
| JP2006518064A (ja) * | 2003-01-23 | 2006-08-03 | ユニバーシティー オブ ロチェスター | マルチクロックドメインを有するマイクロプロセッサ |
| US7174469B2 (en) * | 2003-09-30 | 2007-02-06 | International Business Machines Corporation | Processor power and energy management |
-
2004
- 2004-07-02 US US10/884,359 patent/US8190863B2/en not_active Expired - Fee Related
-
2005
- 2005-06-25 JP JP2007519337A patent/JP4543081B2/ja not_active Expired - Fee Related
- 2005-06-25 WO PCT/US2005/022773 patent/WO2006014254A1/en not_active Ceased
- 2005-06-25 CN CNB2005800226045A patent/CN100561461C/zh not_active Expired - Fee Related
- 2005-12-12 TW TW094121673A patent/TW200723111A/zh unknown
-
2012
- 2012-05-29 US US13/482,713 patent/US8924690B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| TW200723111A (en) | 2007-06-16 |
| JP2008505396A (ja) | 2008-02-21 |
| CN1981280A (zh) | 2007-06-13 |
| US20120239875A1 (en) | 2012-09-20 |
| US8924690B2 (en) | 2014-12-30 |
| US20060005082A1 (en) | 2006-01-05 |
| US8190863B2 (en) | 2012-05-29 |
| WO2006014254A1 (en) | 2006-02-09 |
| CN100561461C (zh) | 2009-11-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4543081B2 (ja) | リソースの割り当ておよび制限を介するヘテロジニアスチップマルチプロセッサのための装置および方法 | |
| US8799902B2 (en) | Priority based throttling for power/performance quality of service | |
| US9864681B2 (en) | Dynamic multithreaded cache allocation | |
| US9658877B2 (en) | Context switching using a context controller and on-chip context cache | |
| JP5688462B2 (ja) | 処理ノードの動的パフォーマンス制御 | |
| JP6154071B2 (ja) | アクティブなプロセッサに基づく動的電圧及び周波数管理 | |
| US8489904B2 (en) | Allocating computing system power levels responsive to service level agreements | |
| US9342122B2 (en) | Distributing power to heterogeneous compute elements of a processor | |
| US20190065243A1 (en) | Dynamic memory power capping with criticality awareness | |
| JP2009093665A (ja) | マルチスレッド・プロセッサ性能を制御する装置及び方法 | |
| KR20170031697A (ko) | 이종 공유된 가상 메모리에서 온-디맨드 공유가능성 변환 | |
| KR20080038389A (ko) | 멀티플 코어 프로세서에서 하나 또는 그 이상의 코어의워크로드 성능의 향상 및 향상 방법 | |
| KR20110134917A (ko) | 캐시에서의 웨이 할당 및 웨이 로킹 방법 | |
| US10482017B2 (en) | Processor, method, and system for cache partitioning and control for accurate performance monitoring and optimization | |
| US20070239940A1 (en) | Adaptive prefetching | |
| CN109582434B (zh) | 基于虚拟机运行时需求的动态平台特征调谐 | |
| Farina et al. | Enabling memory access isolation in real-time cloud systems using intel’s detection/regulation capabilities | |
| CN120561040A (zh) | 针对子numa集群化模式扩展动态资源控制器 | |
| EP4394598B1 (en) | Region-aware memory bandwidth allocation control | |
| US20250272144A1 (en) | Extending dynamic resource controller for sub-numa clustering mode | |
| Jia et al. | Dynamic time-slice scaling for addressing OS problems incurred by main memory DVFS in intelligent system | |
| CN118277082A (zh) | 区域感知存储器带宽分配控制 | |
| Sivakumaran et al. | Priority based yield of shared cache to provide cache QoS in multicore systems | |
| Ausavarungnirun et al. | High-Performance and Energy-Effcient Memory Scheduler Design for Heterogeneous Systems | |
| Jeong | Core-characteristic-aware off-chip memory management in a multicore system-on-chip |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090630 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090929 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091117 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100216 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100223 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100315 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100323 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100415 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100422 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100517 |
|
| 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: 20100608 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100628 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130702 Year of fee payment: 3 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |