JP2005078640A - プロセッサ資源電力管理のためのスレッド・スケジューリング機構 - Google Patents

プロセッサ資源電力管理のためのスレッド・スケジューリング機構 Download PDF

Info

Publication number
JP2005078640A
JP2005078640A JP2004248530A JP2004248530A JP2005078640A JP 2005078640 A JP2005078640 A JP 2005078640A JP 2004248530 A JP2004248530 A JP 2004248530A JP 2004248530 A JP2004248530 A JP 2004248530A JP 2005078640 A JP2005078640 A JP 2005078640A
Authority
JP
Japan
Prior art keywords
resource
power
processor
power management
circuit
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.)
Pending
Application number
JP2004248530A
Other languages
English (en)
Other versions
JP2005078640A5 (ja
Inventor
Scott P Gary
ピー.ゲーリー スコット
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments 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 Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JP2005078640A publication Critical patent/JP2005078640A/ja
Publication of JP2005078640A5 publication Critical patent/JP2005078640A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5019Workload prediction
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

【課題】プロセッサ資源電力管理のためのスレッド・スケジューリング機構を提供する。
【解決手段】リアルタイム・オペレーティング・システム(100)は、プロセッサ(110)上で実行し、プロセッサ(110)と共に個々の回路あるいは資源(122)の電力状態を動的に管理する。従って、特定の回路(122)が必要でない場合、その回路(122)への電力を非通電することができる。回路(122)が遮断される場合、回路の電源を切る前に、任意の構成情報あるいは他の型のデータをセーブすることができる。電力は、応答あるいは予測ベースに基づき回路(122)に再通電することができ、構成情報および/あるいはデータ(集合的に“状態”情報と呼ばれる)を回路にリロードすることができる。
【選択図】図1

Description

本発明は、プロセッサにおける電力管理に関する。
電力効率は、小型の携帯用機器から何ラックにも重なるサーバ・システムまでの、広い範囲にわたるシステムの重要な要求である。高性能が望ましいシステムにおいてさえ、電力効率はまだ問題となる可能性がある。電力効率は、ハードウェア設計および構成要素の選択の双方、および、ソフトウェアに基づく実行時電力管理技術に影響される。
相補形金属酸化膜半導体(“CMOS”)回路は、“活動的”および“静的”双方の消費電力を経験する。活動的消費電力は、回路が1つの論理状態から他の論理状態に活動的にスイッチングしている時に起こる。活動的消費電力は、“スイッチング”電流および“スルー”電流(PおよびNチャネル・トランジスタが共に一時的にオンである場合に流れる電流)の双方により生じる。静的消費電力は、逆バイアス漏洩から生じ、回路が活動的にスイッチングしていない時でも生じる。CMOS回路の合計消費電力は、活動的および静的消費電力双方の合計である。
従来のCMOS処理技術では、節電は、単にクロックをゲート・オフすることによって行うことができる。このような状態における回路において、活動的消費電力はゼロとなり、その結果の漏洩は比較的少なくなる。しかし、より最近開発されたCMOS技術においては、トランジスタの大きさは有益に小さくなったが、漏洩電流は望ましくなく増加することとなった。その結果、CMOS回路の中には、全てのクロックがゲート・オフされている状態であっても、望ましくなく高い電流が流れるのを経験するものもある。
多様なハードウェアおよびソフトウェア技術が、回路あるいはシステム全体の電力状態を管理するのを助けるために使用されてきた。これらの技術のいくつかは満足のいくものではあるが、個々の半導体装置(例えば、プロセッサ)、特に、活動的消費電力が少ない時に比較的高い漏洩電流を有する半導体装置に対する、電力管理にはまだ改良の必要がある。
(概要)
一般に、ここに記述される実施例は、プロセッサ上で実行し、プロセッサ内の個々の回路あるいは資源の電力状態を動的に管理する、オペレーティング・システムに関する。プロセッサ内の特定の回路が必要でない場合、その回路への電力は非通電とされる。回路が遮断される場合、その回路に関連する任意の構成情報あるいは他の型のデータは、回路の電源を切る前にセーブされる。電力は、応答あるいは予測ベースに基づき回路に再通電とすることができ、構成情報および/あるいはデータ(集合的に“状態”情報と呼ばれる)は、回路にリロードすることができる。
いくつかの実施例において、方法は、半導体装置内の資源に対する要求を受け取ることと、電力がまだ資源に通電されていない場合、要求の受け取りに応答して資源への電力を通電することと、状態情報を資源にリストアすべきかどうかを決定することと、状態情報をリストアすべき場合、電力を通電した後に状態情報を資源にリストアすることとを含む。
他の実施例において、方法は、資源に対する必要が発生する前に、資源が必要とされることを決定することと、電力がまだ資源に通電されていない場合、資源に電力を通電することと、状態情報を資源にリストアすべきかどうかを決定することと、状態情報をリストアすべき場合、電力を通電した後に状態情報を資源にリストアすることとを含む。
更に他の実施例において、システムは、プロセッサと、プロセッサに含まれる複数の資源と、プロセッサ上で実行し、資源の使用に対する要求を受け取り、電力がまだ資源に通電されていない場合、要求の受け取りに応答して資源への電力を通電し、状態情報を資源へリストアするべきかどうかを決定し、状態情報をリストアすべき場合、電力を通電した後に状態情報を資源にリストアする電力管理プログラムとを含む。
他の実施例によると、システムは、プロセッサと、プロセッサに含まれる複数の資源と、プロセッサ上で実行し、資源に対する必要が発生する前に、資源が必要とされることを決定する電力管理プログラムとを含み、電力管理プログラムはまた、電力がまだ資源に通電されていない場合、資源への電力を通電し、状態情報を資源へリストアするべきかどうかを決定し、状態情報をリストアすべき場合、電力を通電した後に状態情報を資源にリストアする。
本発明の多様な実施例はまた、ソフトウェアを含む記憶媒体として実現することもでき、ソフトウェアは、プロセッサによって実行されると、プロセッサ内の電力を動的に管理し、プロセッサは複数の回路を含む。ソフトウェアは、プロセッサ内の回路がいつ使用のために必要とされるかを決定する命令、回路が既に回路に通電されている電力を有するかどうかを決定する命令、および、電力がまだ回路に通電されていない場合、電力を回路に通電する命令、を含む。
(表記および専門用語)
いくつかの用語は、以下の説明および請求項を通して、特定のシステム構成要素を指すために使用される。この分野の技術者には理解されるように、多様な会社が1つの構成要素に対して異なる名前を使用している。本明細書は、名前は異なるが機能は同じである構成要素を区別するようには意図していない。以下の記述および請求項において、“含む”および“有する”は可変的に使用され、従って、“含むが、制限されない”と解釈されるべきである。また、用語“結合”は、間接あるいは直接の接続を意味するよう意図している。従って、第1の素子が第2の素子に結合する場合、この接続は、直接接続、あるいは、他の素子および接続を介する間接接続を通したものであってもよい。
以下の説明は、本発明の多様な実施例に関する。これらの実施例の1つあるいはいくつかが好ましいかもしれないが、開示される実施例は、特記されない限り、請求項を含む開示の範囲を制限するよう解釈あるいは使用されるべきではない。加えて、この分野の技術者には理解されるように、以下の説明は広範囲に応用することができ、任意の実施例の記述は、その実施例の例示をのみ意味するものであり、請求項を含む本開示の範囲がその実施例に制限されることを暗示するよう意図するものではない。
図1は、リアルタイム・オペレーティング・システム(“RTOS”)102、プロセッサ110(あるいは他の型の半導体装置)、複数のドライバ112、およびアプリケーション・スレッド114、を含むシステム100の実施例の論理構造を示している。更に、電力管理プログラム104がRTOS102の一部として含まれていることが好ましく、電力管理プログラムはそれ自体ソフトウェアを含む。個別のコントロール・スレッド116が、電力管理プログラム104の動作のために使用される。RTOS102はまた、1つあるいは複数の非活動状態タイマ106を含むか、あるいはアクセスすることができる。
プロセッサ110は、複数の資源を含むか、あるいはそれらにアクセスする。図1において、プロセッサ110は、複数の資源122に結合するコア120を含むことが好ましい。資源122は、プロセッサ110に含まれる回路を含んでもよい。例えば、資源は、メモリ、入出力ポート、アナログ・ディジタル・チャネル(“ADC”)、および、個別のベースで動的に(つまり、実行時の間)オン・オフすることができる他の資源、を含んでもよい。好ましい実施例において、資源を“オフ”することは、単に資源へのクロックをゲート・オフすることではなく、資源へ電力を完全に非通電することを含む。このように資源をオフにすることによって、資源における漏洩電流はゼロになる。従って、好ましい実施例において、プロセッサ110内の個々の資源は、選択的および動的に電源を入れたり切ったりすることができる。このように、必要のないプロセッサ資源は選択的に電源を切ることができる一方、他の資源は選択的に電源を入れることができる。
電力管理プログラム104は、プロセッサ110内の個々の資源の電源を入れたり切ったりするための、以下に説明される機能のいくつかあるいは全てを実現する。一般に、電力管理プログラム104の動作は、プロセッサ上で実行しているアプリケーションには透過である。1つの資源(あるいは複数の資源)は、1つあるいは複数の基準に基づき電源を切ることができる。例えば、非活動状態タイマ106は、1つあるいは複数の資源を非活動状態に対して個別に監視するよう構成することができる。従って、特定の資源が、関連する非活動状態タイマにプログラムされた時間期間より長い間非活動である場合、電力管理プログラム104はその資源の電力を減少させる。更に、ユーザは、メモリ(特には示されていない)の一部を、どのプロセッサ資源がこれから使用され、どの資源が使用されないかに関する情報でプログラムすることができる。この情報を使用して、初期化の間に、電力管理プログラム104は、使用されない資源に電力が通電されるのを防ぎ、アプリケーションが使用しない、デフォルトで電源が入れられた資源の電源を切ることが好ましい。
少なくともいくつかの実施例において、アプリケーションが実行するスレッドは、電力資源要求に関する情報を保持することができる。これらの実施例において、スレッドは、電力資源割当て、リストア境界、および電源準備状態情報を含んでもよい。より明確には、スレッドは、以下の情報を含んでもよい。
a 電力資源割当て、それが依存する電力“ドメイン”(“ドメイン”はメモリ・バンクあるいは、一緒に電源をONあるいはOFFされる一群の周辺装置である)、あるいは、個々のバンク/周辺装置への電力が個別にゲートすることができる場合、スレッドが要求する特定のバンク/周辺装置、を意味する。
b リストアする必要のあるメモリ状態に対するリストア境界(例えば、スレッドは、64キロバイトのメモリ・バンクから100バイトのみを必要とするかもしれない。“境界”はこの100バイトの領域を定義する)。
c 電源準備状態情報、これは、スレッドに依存する全ての資源に現在電源が入っているかどうか、および、必要なスレッド状態がリストアされているかどうか、を示すフラグであってもよい。
この情報は、設計時にスレッドのために静的に構成するか、あるいは、スレッドが実行時に動的に生成される場合、電力管理プログラムに動的に登録することができる。
いくつかの資源は、電力管理プログラム104によって資源の電源が切られた場合、望ましい場合にはセーブすべき状態情報(“状態”)を含むかもしれない。状態情報は、任意の型の構成情報あるいはデータを含む。例えば、メモリ装置に関する状態情報は、メモリの現在のデータ内容を含んでもよい。他の型の資源は構成可能であるかもしれず、従って、構成の多様なアイテム(例えば、速度、チャネルの数、その他)が資源の状態情報を含むかもしれない。一旦電力管理プログラム104が資源の電源を切るのが適当であると決定すると、資源の状態情報は記憶媒体(特には示されていない)にセーブされ、記憶媒体は資源に電源が入れられても電源を切られない。一旦資源の状態がセーブされると、資源の電源を切ることができる。
一旦プロセッサ資源の電源が切られると、資源の電源を再び入れるための機構が必要となる。電力管理プログラム104は、応答モードおよび予測モードを含むがこれらに限定されない複数のモードのいずれかに従って、資源の電源を入れることができることが好ましい。応答モードにおいては、電力管理プログラム104は、その資源に対する要求に応答して、資源の電源を再び入れる。予測モードにおいては、電力管理プログラムは、アプリケーションが資源へのアクセスを要求する前に、資源へ電力を通電する処理を開始する。予測モードはまた、資源の使用が要求あるいは必要とされる前に、先にセーブされた状態情報を資源にリストアすることができてもよい。図2は、応答モードにおける電力管理プログラム104の動作を表している。図3は、予測モードにおける電力管理プログラムの動作を表している。電力管理プログラムは、図2および図3のフローチャートに表される論理を実現することが好ましい。
ここで図2を参照すると、フローチャート200は、ブロック202におけるアプリケーション割込みから開始する。アプリケーション割込みは、電力管理プログラム104に特定の資源の電源を入れるよう要求するかもしれない、アプリケーションに特定の動作を要求するよう主張される。ブロック204において、ソフトウェア割込み(“SWI”)が実行するよう通知される。それに応答して、プロセッサ110はブロック206において、“SWI POST”コード(RTOS102に含まれていてもよい)を実行し始める。SWI POSTコードは、資源が電力管理されているかどうかを決定する(判断ブロック208)。電力管理されていない資源は、一般に、実行時の間に電源が入れられ、ここに説明される選択的プロセッサ資源電力管理機構には従わない。他の資源は電力管理され、従って、ここに説明されるように、選択的に電源を入れたり切ったりすることができる。
プロセッサ資源が電力管理されていない場合(これは、資源には既に電源が入っているとSWI POSTコードに示す)、制御はブロック230に渡り、そこで資源を使用するスレッドはRTOS102にアクセス可能な“準備完了”リストに載せられる。一旦準備完了リストに載ると、スレッドは、RTOSによって制御される適当な時間において実行される。いくつかの実施例によると、スレッドは優先順位を割り当てられてもよく、いくつかのスレッドは他のスレッドより高い優先順位を有してもよい。従って、ブロック232において、RTOS102は、その優先順位が準備完了リストにおける他の全てのスレッドの中で一番高い優先順位である場合、230において準備完了リストに載せられたスレッドを実行することが好ましい。電力管理プログラム104は、より高い優先順位を有するセーブ/リストアジョブが生じた場合に、状態セーブ/リストアジョブを中断することができる。
しかし、資源が判断208によって決定されたように電力管理されている場合、制御は判断210に渡り、そこでSWI POSTコードは、資源を使用しようとしているスレッドが実行可能状態にあるかどうかを決定する。スレッドが実行可能状態にある場合、制御はブロック230および232に渡り、これらのブロックは上に説明したように実行される。スレッドが実行可能状態にない場合、制御は判断212に渡り、そこでSWI POSTコードは資源に電源が入っているかどうかを決定する。資源に電源が入っていない場合、214において電力が資源に通電される。一旦資源に電源が入ると、あるいは判断212において決定されたように資源に既に電源が入っている場合、制御は判断216に渡り、そこでSWI POSTコードは、資源がその状態をリストアする必要があるかどうかを決定する。資源がその状態のリストアを必要としない場合、制御は上記のブロック230および232に渡る。資源がその状態をリストアする必要がある場合、SWI POSTコードはブロック218において、資源の状態を資源にコピーして戻すために直接メモリ・アクセス(“DMA”)を待ち行列に入れる。DMA動作は、電力管理プログラムがスケジューリング優先順位に不利に影響しないようにするため、スレッド優先順位の逆転が起こらないように、優先順位をつけてもよい(優先順位待ち行列に入れてもよい)。進行中のリストアジョブより高い優先順位を有するリストアジョブが待ち行列に入れられた場合、進行中のジョブは、より高い優先順位のジョブのために中断される。DMA処理はもちろん、資源の状態情報を全て完全にコピーして戻すのにかける時間は限られている。ブロック220において、DMA処理が実行している間、SWI POSTコードは、DMA状態リストア処理は完了してなく、従って資源はまだ通電状態ではないことを示すために、フラグの状態を“準備中”に設定する。SWI POSTコードはそれから224において戻る。
DMA処理が完了すると、SWI POSTコードの実行を再入力するために、DMA完了割込みが226において主張される。ブロック228において、資源の状態がリストアされたことを示すために、フラグが“準備完了”状態に設定される。制御はそれからブロック206に戻る。結局は、SWI POSTコードは、判断ブロック210においてスレッドが実行可能状態であると決定し、制御はブロック230および232に渡る。
図3において、例示的処理300が示され、この処理において電力管理プログラム104は、プロセッサ資源に電力を通電する予測モードを実現する。処理300は、処理を実現するコードへの3つの入口点302、320および330を含むことが好ましい。入口点302は、電力管理プログラム104が、現在電源の入っていない資源が近い将来において使用される必要があるかもしれないと予測的に決定した場合に、起動される。将来の資源の使用を予測する方法は、資源によって多様であり、システム構造全体およびシステムの使用による。例えば、電力管理プログラム104は、特定の資源は、予め決定された事象に続く一定の時間期間が経過した後に使用されるであろうと決定するよう実現されてもよい。
304において、電力管理プログラム104は、資源に既に電源が入っているかどうかを決定する。資源にまだ電源が入っていない場合、電力管理プログラムは、306において資源に電源が入るようにする。資源に電源を入れた後、あるいは資源には既に電源が入っていると決定した後、電力管理プログラムは、308において、資源がその状態をリストアする必要があるかどうかを決定する。状態をリストアする必要がない場合、制御は314において戻る。資源がその状態をリストアする必要がある場合、制御は310に渡り、そこでDMAジョブが、資源に対する関連する状態情報を検索し始めるよう待ち行列に入れられる。312において、電力管理プログラム104は、資源はまだ通電状態ではないことを示すために、状態フラグを“準備中”に設定する。実行はそれから314において戻る。
一旦資源の状態を検索するDMAジョブが完了すると、電力管理プログラムは、DMA完了割込みが322において主張された時、320において再入力される。状態フラグは、資源の状態が完全にリストアされたことを示すために324において“準備完了”状態に設定され、実行は326において再び戻る。
第3の入口点330は、資源を使用しようとするアプリケーションが、関連する資源に対するアプリケーション割込みを主張した時(332)に起こる。SWIは334において通知され、SWI POSTコードは336において実行される。338において、電力管理プログラムは、上記のように、資源が電力管理されているかどうかを決定する。資源が電力管理されていない場合、制御は342および344に渡り、そこで資源を使用するスレッドは準備完了リストに載せられ、O/Sがスレッドを実行する。資源が電力管理されている場合、制御は判断ブロック340に渡り、そこでスレッドが実行可能状態であるかどうかが決定される。スレッドが実行可能状態である場合、制御はブロック342および344に渡る。そうでない場合、制御は、スレッドが実行可能状態になるまで判断ブロック340にループバックする。
ここに説明される実現により、電力管理プログラム104は既存のスケジューリング機能に関係することができ、スレッド・スケジューリングが開始されるOSコード・ベースにおける複数の点に対して、(スケジューリング動作が最終的に起こる)単一の点において関わることが好ましい。このことは、カーネル自体は複数の修正および保全点によって変動させられる可能性はないことを意味する。
本発明の好ましい実施例を示し説明してきたけれども、これらの修正はこの分野の技術者によって、本発明の精神および開示から逸脱することなく行うことができる。ここに説明される実施例は例示的のみであって、制限的であることを意図するものではない。ここに開示される発明の多くの変更および修正は可能であり、本発明の範囲内にある。例えば、RTOSブロック可能タスクのような、SWI以外の任意の適当な型のスレッドを、上記のSWIの代わりに使用することができる。従って、保護の範囲は、上記の説明によって制限されない。個々のおよび全ての請求項は、本発明の実施例として本明細書に取り入れられる。
以上の説明に関して更に以下の項を開示する。
(1)半導体装置内の資源が使用のためにいつ必要とされるかを決定し、
上記装置が使用のために必要とされるとの決定に応答して、上記資源に電力がまだ通電されていない場合に、上記資源に電力を通電し、
状態情報を上記資源にリストアすべきかどうかを決定し、
上記状態情報をリストアすべき場合、電力を通電した後に、上記状態情報を上記資源にリストアする
ことを含む方法。
(2)(1)に記載の方法において、いつ資源が使用のために必要とされるかを決定することは、上記資源に対する必要が発生する前に、上記資源が必要とされることを予測することを含む上記方法。
(3)(2)に記載の方法において、上記資源の必要を予測することは、上記半導体装置の他の活動に基づき、いつ上記資源が必要とされるかを示す構成可能テーブルから情報を読むことを含む上記方法。
(4)(2)に記載の方法であって更に、上記資源に電力が既に通電されているかどうかを決定することを含む上記方法。
(5)(2)に記載の方法において、上記状態情報をリストアすることは、上記状態情報を上記資源にコピーするために直接メモリ・アクセス処理を開始することを含む上記方法。
(6)(5)に記載の方法であって更に、上記直接メモリ・アクセス処理に優先順位を割当てることを含む上記方法。
(7)プロセッサと、
上記プロセッサに含まれる複数の資源と、
上記プロセッサ上で実行し、いつ資源が必要とされるかを決定し、電力が上記資源にまだ通電されていない場合に要求の受け取りに応答して上記資源に電力を通電し、状態情報を上記資源にリストアすべきかどうかを決定し、上記状態情報をリストアすべき場合、電力を通電した後に上記資源に上記状態情報をリストアする電力管理プログラムと、
を含むシステム。
(8)(7)に記載のシステムにおいて、いつ資源が使用のために必要とされるかを決定することは、上記資源に対する必要が発生する前に、上記資源が必要とされることを予測することを含む上記システム。
(9)(8)に記載のシステムにおいて、上記資源の必要を予測することは、半導体装置の他の活動に基づき、いつ上記資源が必要とされるかを示す構成可能テーブルから情報を読むことを含む上記システム。
(10)ソフトウェアを含む記憶媒体であって、プロセッサによって実行されるとき、上記ソフトウェアは上記プロセッサ内の電力を動的に管理し、上記プロセッサは複数の回路を含み、上記ソフトウェアは、
上記プロセッサ内の回路が使用のためにいつ必要とされるかを決定する命令と、上記回路に通電された電力を上記回路が既に有するかどうかを決定する命令と、電力が上記回路にまだ通電されていない場合、電力を上記回路に通電する命令を含む
上記記憶媒体。
(11)(10)に記載の記憶媒体において、いつ回路が使用のために必要とされるかを決定する上記命令は、上記回路に対する要求が受け取られる前に、いつ上記回路が使用のために必要とされるかを予測する命令を含む上記記憶媒体。
(12)(11)に記載の記憶媒体において、上記予測する命令は、他のプロセッサの活動に基づき、いつ上記回路が必要とされるかを示す構成可能テーブルから情報を読む命令を含む上記記憶媒体。
(13)リアルタイム・オペレーティング・システム(100)は、プロセッサ(110)上で実行し、プロセッサ(110)と共に個々の回路あるいは資源(122)の電力状態を動的に管理する。従って、特定の回路(122)が必要でない場合、その回路(122)への電力を非通電することができる。回路(122)が遮断される場合、回路の電源を切る前に、任意の構成情報あるいは他の型のデータをセーブすることができる。電力は、応答あるいは予測ベースに基づき回路(122)に再通電することができ、構成情報および/あるいはデータ(集合的に“状態”情報と呼ばれる)を回路にリロードすることができる。
ここに記述される電力管理技術を実現するシステムの1つの実施例の論理構造を示す図である。 応答電力管理モードを実現するソフトウェアの動作を表すフローチャートである。 予測電力管理モードを実現するソフトウェアの動作を表すフローチャートである。
符号の説明
100 システム
102 リアルタイム・オペレーティング・システム(RTOS)
104 電力管理プログラム
106 非活動状態タイマ
110 プロセッサ
112 ドライバ
114 アプリケーション・スレッド
116 コントロール・スレッド
120 コア
122 資源

Claims (2)

  1. 半導体装置内の資源が使用のためにいつ必要とされるかを決定し、
    上記装置が使用のために必要とされるとの決定に応答して、上記資源に電力がまだ通電されていない場合に、上記資源に電力を通電し、
    状態情報を上記資源にリストアすべきかどうかを決定し、
    上記状態情報をリストアすべき場合、電力を通電した後に、上記状態情報を上記資源にリストアする
    ことを含む方法。
  2. プロセッサと、
    上記プロセッサに含まれる複数の資源と、
    上記プロセッサ上で実行し、いつ資源が必要とされるかを決定し、電力が上記資源にまだ通電されていない場合に上記要求の受け取りに応答して、上記資源に電力を通電し、状態情報を上記資源にリストアすべきかどうかを決定し、上記状態情報をリストアすべき場合、電力を通電した後に上記資源に上記状態情報をリストアする、電力管理プログラムと
    を含むシステム。
JP2004248530A 2003-08-29 2004-08-27 プロセッサ資源電力管理のためのスレッド・スケジューリング機構 Pending JP2005078640A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/652,384 US7111182B2 (en) 2003-08-29 2003-08-29 Thread scheduling mechanisms for processor resource power management

Publications (2)

Publication Number Publication Date
JP2005078640A true JP2005078640A (ja) 2005-03-24
JP2005078640A5 JP2005078640A5 (ja) 2007-11-22

Family

ID=34104747

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004248530A Pending JP2005078640A (ja) 2003-08-29 2004-08-27 プロセッサ資源電力管理のためのスレッド・スケジューリング機構

Country Status (3)

Country Link
US (1) US7111182B2 (ja)
EP (1) EP1510908B1 (ja)
JP (1) JP2005078640A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007257169A (ja) * 2006-03-22 2007-10-04 Fujitsu Ltd アクセス制御方法及び情報処理装置
JP2007287101A (ja) * 2006-04-20 2007-11-01 Hitachi Ltd システムの休止制御方法及び制御システム

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7484016B2 (en) * 2004-06-30 2009-01-27 Intel Corporation Apparatus and method for high performance volatile disk drive memory access using an integrated DMA engine
JP2006236057A (ja) * 2005-02-25 2006-09-07 Sony Corp 情報処理装置および情報処理方法、並びにプログラム
US8745627B2 (en) * 2005-06-27 2014-06-03 Qualcomm Incorporated System and method of controlling power in a multi-threaded processor
US7447923B2 (en) * 2005-08-19 2008-11-04 International Business Machines Corporation Systems and methods for mutually exclusive activation of microprocessor resources to control maximum power
JP4370336B2 (ja) * 2007-03-09 2009-11-25 株式会社日立製作所 低消費電力ジョブ管理方法及び計算機システム
TWI361345B (en) * 2007-04-13 2012-04-01 Ind Tech Res Inst Multi-thread power-gating design
GB2452733A (en) * 2007-09-12 2009-03-18 Symbian Software Ltd Managing power under operating constraints set by system components
TWI462011B (zh) * 2007-12-28 2014-11-21 Accton Technology Corp 程序之執行緒群組管理方法
US8112648B2 (en) * 2008-03-11 2012-02-07 Globalfoundries Inc. Enhanced control of CPU parking and thread rescheduling for maximizing the benefits of low-power state
US8010822B2 (en) 2008-03-28 2011-08-30 Microsoft Corporation Power-aware thread scheduling and dynamic use of processors
US9027027B2 (en) * 2008-06-09 2015-05-05 Microsoft Technology Licensing, Llc Thread management based on device power state
US8140876B2 (en) * 2009-01-16 2012-03-20 International Business Machines Corporation Reducing power consumption of components based on criticality of running tasks independent of scheduling priority in multitask computer
JP4886889B1 (ja) * 2010-09-09 2012-02-29 株式会社東芝 情報処理装置およびデバイス制御方法
US20140073305A1 (en) * 2012-09-11 2014-03-13 Apple Inc. Preemptive hardware activation
US9507405B2 (en) 2014-06-18 2016-11-29 Oracle International Corporation System and method for managing power in a chip multiprocessor using a proportional feedback mechanism
US9652027B2 (en) 2015-04-01 2017-05-16 Microsoft Technology Licensing, Llc Thread scheduling based on performance state and idle state of processing units
CN114661139B (zh) * 2020-12-23 2024-02-13 龙芯中科技术股份有限公司 降低功耗的方法、装置、设备及计算机可读存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3526364A1 (de) * 1985-07-19 1987-01-22 Siemens Ag Schaltungsanordnung zur netzunabhaengigen spannungsversorgung einer an ein busnetzwerk angeschlossenen verteileinrichtung fuer datenstationen
JPS62169218A (ja) * 1986-01-17 1987-07-25 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 情報処理システムのアプリケ−シヨン中断再開装置
US4926458A (en) * 1988-05-26 1990-05-15 Mars Incorporated Low power control apparatus for a coin operated telephone
US5357519A (en) * 1991-10-03 1994-10-18 Apple Computer, Inc. Diagnostic system
JP3045948B2 (ja) * 1995-07-05 2000-05-29 インターナショナル・ビジネス・マシーンズ・コーポレイション 情報処理装置及びその制御方法
US6336161B1 (en) * 1995-12-15 2002-01-01 Texas Instruments Incorporated Computer configuration system and method with state and restoration from non-volatile semiconductor memory
JPH11312356A (ja) * 1998-04-28 1999-11-09 Fujitsu Ltd 信号処理装置の電源供給方法、信号処理装置、制御装置及びディスク装置
US6209088B1 (en) * 1998-09-21 2001-03-27 Microsoft Corporation Computer hibernation implemented by a computer operating system
DE10141626B4 (de) * 2000-09-06 2007-08-09 International Business Machines Corp. Dynamische Angleichung von Leistungsvermögen und Strombedarf
KR100396897B1 (ko) * 2001-08-14 2003-09-02 삼성전자주식회사 페리(peri)용 전압 발생 회로와 이를 구비하는 반도체메모리 장치 및 전압 발생 방법
US20030061383A1 (en) * 2001-09-25 2003-03-27 Zilka Anthony M. Predicting processor inactivity for a controlled transition of power states
US20030084353A1 (en) * 2001-10-31 2003-05-01 Norman Chang System and method for predictive power ramping
KR100446510B1 (ko) * 2002-02-04 2004-09-04 삼성전자주식회사 휴대용 전자단말의 전원 관리 방법
US6928531B2 (en) * 2002-08-29 2005-08-09 Micron Technology, Inc. Linear and non-linear object management
US7035972B2 (en) * 2002-09-03 2006-04-25 Copan Systems, Inc. Method and apparatus for power-efficient high-capacity scalable storage system
GB2395302B (en) * 2002-11-13 2005-12-28 Advanced Risc Mach Ltd Hardware driven state save/restore in a data processing system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007257169A (ja) * 2006-03-22 2007-10-04 Fujitsu Ltd アクセス制御方法及び情報処理装置
JP2007287101A (ja) * 2006-04-20 2007-11-01 Hitachi Ltd システムの休止制御方法及び制御システム

Also Published As

Publication number Publication date
US20050050369A1 (en) 2005-03-03
EP1510908A3 (en) 2010-07-21
EP1510908A2 (en) 2005-03-02
EP1510908B1 (en) 2019-05-22
US7111182B2 (en) 2006-09-19

Similar Documents

Publication Publication Date Title
JP2005078640A (ja) プロセッサ資源電力管理のためのスレッド・スケジューリング機構
KR100745477B1 (ko) 단일 스레드와 동시 멀티스레드 모드간의 멀티스레드프로세서의 동적 스위칭
EP0669016B1 (en) Method of autonomously reducing power consumption in a computer system
JP4704041B2 (ja) マルチスレッド・プロセッサ性能を制御する装置及び方法
KR100934533B1 (ko) 연산 처리 시스템, 컴퓨터 시스템 상에서의 태스크 제어 방법, 및 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
US8799929B2 (en) Method and apparatus for bandwidth allocation mode switching based on relative priorities of the bandwidth allocation modes
US6230279B1 (en) System and method for dynamically controlling processing speed of a computer in response to user commands
US9003421B2 (en) Acceleration threads on idle OS-visible thread execution units
US20070106827A1 (en) Centralized interrupt controller
JP4057911B2 (ja) 予め格納されるベクトルの割込処理システムおよび方法
JPH0969017A (ja) コンピュータ・システムの電力管理方法及び装置
JPWO2009022371A1 (ja) タスク処理装置
US9817696B2 (en) Low latency scheduling on simultaneous multi-threading cores
JP2002099436A (ja) コンピュータシステムおよびそのレジューム処理方法
JPWO2008023427A1 (ja) タスク処理装置
JP5200085B2 (ja) コンピュータを短時間で起動する方法およびコンピュータ
JP2006092042A (ja) 情報処理装置及びコンテキスト切り替え方法
JP2006243864A (ja) プロセッサおよび情報処理方法
US8255721B2 (en) Seamless frequency sequestering
KR100978147B1 (ko) 중앙형 인터럽트 콘트롤러를 위한 장치, 방법 및 시스템
US7603673B2 (en) Method and system for reducing context switch times
WO2024024102A1 (ja) 計算機システム、タスクスケジューラ装置、待ちプロセス起床方法およびプログラム
JP2008269597A (ja) タスク処理装置
JP5710712B2 (ja) 中央化された割り込みコントローラ
Trivedi An examination of Linux and Windows CE embedded operating systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070827

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071004

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090904

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100216