"第1処理から第2処理への変更を検出し、メモリから前記第2処理を実行するCPUの数と動作周波数とを取得し、前記CPUの数に基づいて、稼働中のCPUを停止しまたは停止中のCPUを起動し、前記第2処理を実行するCPUに前記動作周波数を割り当てることを特徴とするスケジューリング方法。前記稼働中のCPUの数が前記CPUの数より多い場合、前記稼働中のCPUから前記CPUの数を超える数分のCPUを停止させることを特徴とする請求項1に記載のスケジューリング方法。前記稼働中のCPUの数が前記CPUの数分より少ない場合、不足分のCPUを起動させることを特徴とする請求項1に記載のスケジューリング方法。さらに、前記メモリから前記第2処理を実行するCPUの数と動作周波数と電源電圧の値を取得し、前記CPUの数に基づいて、動作中のCPUを停止しまたは停止中のCPUを起動し、前記第2処理を実行するCPUに前記動作周波数と前記電源電圧の値を割り当てることを特徴とする請求項1乃至請求項3のいずれか一に記載のスケジューリング方法。第1処理を実行するときの、第1数個のCPUの第1稼働時間と第1停止時間とを測定し、第1最小動作周波数より大きい第1動作周波数を設定し、前記第1稼働時間と前記第1停止時間とに基づいて、前記第1動作周波数で動作する前記第1数個のCPUの第1消費電力を算出し、前記第1処理を実行するときの、前記第1数個とは異なる第2数個のCPUの第2稼働時間と第2停止時間とを測定し、第2最小動作周波数より大きい第2動作周波数を設定し、前記第2稼働時間と前記第2停止時間とに基づいて、前記第2動作周波数で動作する前記第2数個のCPUの第2消費電力を算出し、前記第1消費電力と前記第2消費電力との比較結果に基づいて、前記第1処理実行時のCPUの数を決定することを特徴とする設計支援方法。前記第1最小動作周波数は、前記第1処理を1個のCPUで処理するときの稼働時間と前記第1稼働時間と所定動作周波数とに基づいて算出され、前記第2最小動作周波数は、前記第1処理を1個のCPUで処理するときの稼働時間と前記第2稼働時間と前記所定動作周波数とに基づいて算出されることを特徴とする請求項5に記載の設計支援方法。複数のCPUと、複数の処理のそれぞれについて処理を実行するCPUの数と動作周波数とを記憶するメモリと、前記CPUの数に基づいて、動作中のCPUを停止しまたは停止中のCPUを起動するスケジューリング部と、前記CPUの数分のCPUに前記動作周波数を設定する制御部と、を含むことを特徴とするシステム。前記スケジューリング部は、前記稼働中のCPUの数が前記CPUの数より多い場合、前記稼働中のCPUから前記CPUの数を超える数分のCPUを停止することを特徴とする請求項7に記載のシステム。前記スケジューリング部は、前記稼働中のCPUの数が前記CPUの数分より少ない場合、不足分のCPUを起動することを特徴とする請求項7に記載のシステム。しかしながら、従来技術2では、複数のアプリケーションが同時に実行された場合、どのように空き時間が変化するか不明であるため、クロックの周波数を変更することができない問題点があった。また、携帯電話を例に挙げると、利用者がメールを長時間掛けて作成している最中などには性能はあまり重要ではなく、プロセッサをまたがった同期や通信によるオーバーヘッドを考慮すると並列化を行わない方がかえって効率が良い可能性がある。しかしながら、従来技術2ではそのような点は考慮されておらず、全てのCPUを最大限活用して並列処理を行おうとするため、従来技術2を用いると消費電力が増加する問題点があった。本発明は、上述した従来技術による問題点を解消するため、一定以上の性能を保ちつつ、消費電力を減少させることができるスケジューリング方法、およびシステムを提供することを目的とする。また、本発明は、消費電力が最も少ない稼働CPU数とクロック周波数の組み合わせを容易に特定することができ、システムの設計期間を短縮化することができる設計支援方法を提供することを目的とする。上述した課題を解決し、目的を達成するため、本発明の一の側面によれば、第1処理から第2処理への変更を検出し、メモリから前記第2処理を実行するCPUの数と動作周波数とを取得し、前記CPUの数に基づいて、稼働中のCPUを停止しまたは停止中のCPUを起動し、前記第2処理を実行するCPUに前記動作周波数を割り当てるスケジューリング方法、およびシステムが提案される。また、本発明の他の側面によれば、第1処理を実行するときの、第1数個のCPUの第1動作時間と第1停止時間とを測定し、第1最小動作周波数より大きい第1動作周波数を設定し、前記第1動作時間と前記第1停止時間とに基づいて、前記第1動作周波数で動作する前記第1数個のCPUの第1消費電力を算出し、前記第1処理を実行するときの、前記第1数個とは異なる第2数個のCPUの第2動作時間と第2停止時間とを測定して、第2最小動作周波数より大きい第2動作周波数を設定し、前記第2動作時間と前記第2停止時間とに基づいて、前記第2動作周波数で動作する前記第2数個のCPUの第2消費電力を算出し、前記第1消費電力と前記第2消費電力との比較結果に基づいて、前記第1処理実行時のCPUの数を決定する設計支援方法が提案される。本発明の一の側面によれば、一定以上の性能を保ちつつ、消費電力を減少させることができるという効果を奏する。また、本発明の他の側面によれば、消費電力が最も少ない稼働CPU数とクロック周波数の組み合わせを容易に特定することができるという効果を奏する。以下に添付図面を参照して、本発明にかかるスケジューリング方法、設計支援方法、およびシステムの実施の形態を詳細に説明する。ここで、マルチコアプロセッサシステムにおいて、マルチコアプロセッサとは、コアが複数搭載されたプロセッサである。コアが複数搭載されていれば、複数のコアが搭載された単一のプロセッサでもよく、シングルコアのプロセッサが並列されているプロセッサ群でもよい。なお、本実施の形態では、説明を単純化するため、シングルコアのプロセッサが並列されているプロセッサ群を例に挙げて説明する。図1は、本発明の一例を示す説明図である。たとえば、利用シーンごとに稼働CPU数とクロックの周波数とがテーブル100に記憶されている。ここで、利用シーンとは、たとえば、利用者が動画再生や音楽再生といった特定の処理の起動や、通話やメールの着信といった機器の主要な機能の実行や、機器の開閉などの所定のイベントを実行している状態である。その機器がどのような主要機能を持つかは機器の企画段階で決められるので、主要機能に基づいて機器の利用シーンが決定される。OSが、利用シーンが切り替わるごとにテーブル100から稼働CPU数とクロックの周波数を取得する。たとえば、メール中には、稼働CPU数を2とし、稼働中のCPUに供給するクロックの周波数を300[MHz]とする。そして、メール中に端末が閉じられると、OSが、テーブル100から端末が閉じられるイベントに対応する稼働CPU数とクロックの周波数を取得する。稼働CPU数は3であり、周波数は100[MHz]である。OSが、稼働CPU数分のCPUに取得した周波数のクロックを供給し、稼働CPU数分のCPUで実行中のプログラムを実行する。ここでは、実施の形態1~実施の形態4を用いて詳細に説明する。実施の形態1,2では、利用シーンが変化するごとに、変化後の利用シーンに応じたCPU数とクロックの周波数で動作させる例を示す。実施の形態3,4では、複数のプログラムが同時に実行された場合に、実行中のプログラムの組み合わせに応じて最適なCPU数とクロックの周波数を決定する例を示す。実施の形態1まず、実施の形態1では、利用シーンに応じたCPU数とクロックの周波数を設計時に特定する例を示す。マルチコアプロセッサシステムのハードウェア例図2は、マルチコアプロセッサシステムのハードウェア例を示す説明図である。マルチコアプロセッサシステム200は、CPU201~CPU204と、DVFS制御機構205と、RAMRandomAccessMemory206と、ROMReadOnlyMemory207と、フラッシュROM208と、を有している。さらに、マルチコアプロセッサシステム200は、フラッシュROMコントローラ209と、フラッシュROM210と、ディスプレイ211と、キーボード212と、I/FInterFace213と、を有している。各部は、バス214を介して接続されている。まず、CPU201~CPU204は、それぞれレジスタとコアとキャッシュとを有している。CPU201~CPU204はSMPSymmetricMultiprocessing型のOS220を実行する。SMP型のOS220では、OS220の内部処理もOS220上で動くアプリケーションプログラムも一部の例外を除いて、理論的にはすべてのCPUにまたがって実行される。各処理はマルチコアプロセッサ上のいずれかのCPUで実行されるが、どのCPUで実行されるかは意識する必要がない。そのため、SMP型のOS220では、稼働中のCPUの数を意識する必要が無く、OS220が稼働中のCPUに適切に処理を割り振るため、ソフトウェアは特に変更を加えなくても様々なCPU数で機器を動作させることができる。実際には、OS220の中核部分だけがCPUごとに独立して動作し、中核部分によりCPU間で通信しながらどのCPUでどの処理をおこなうかを決定している。ROM207と、RAM206と、フラッシュROM208と、フラッシュROMコントローラ209と、フラッシュROM210とは、CPU201~CPU204に共有されるメモリである。フラッシュROM208やROM207には、ブートシーケンスが記述されたブートローダなどのプログラムが記憶されている。フラッシュROM208やROM207には、OSなどのシステムソフトウェアやアプリケーションソフトウェアやOS220が制御するテーブルが記憶されている。RAM206は、各CPUのワークエリアとして使用される。フラッシュROMコントローラ209は、各CPUの制御にしたがってフラッシュROM210に対するデータのリード/ライトを制御する。フラッシュROM210は、フラッシュROMコントローラ209の制御で書き込まれたデータを記憶する。データの具体例としては、マルチコアプロセッサシステム200を使用するユーザがI/F213を通して取得した画像データ、映像データなどである。フラッシュROM210は、たとえば、メモリカード、SDカードなどを採用することができる。DVFS制御機構205は、各CPUに電源電圧やクロックを供給する。たとえば、DVFS制御機構205がCPU201~CPU204へ供給可能な電源電圧の値は0.1[V]刻みで1.0[V]~1.6[V]と0[V]である。DVFS制御機構205からCPU201~CPU204へそれぞれ電源配線VDD1~VDD4を介して電源電圧が供給される。DVFS制御機構205がCPU201~CPU204へ供給可能なクロックの周波数は100[MHz]刻みで100[MHz]~500[MHz]と0[Hz]である。DVFS制御機構205からCPU201~CPU204へそれぞれクロック配線CLK1~CLK4を介してクロックが供給される。供給される電源電圧が0[V]またはクロックの周波数が0[Hz]の場合、CPUは停止状態となる。ディスプレイ211は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。さらに、ディスプレイ211は、タッチパネルであり、数字、各種指示などの入力のためのキーを有し、データの入力をおこなってもよい。ディスプレイ211は、たとえば、TFT液晶ディスプレイ211などを採用することができる。キーボード212は、数字、各種指示などの入力のためのキーを有し、データの入力をおこなう。また、キーボード212は、タッチパネル式の入力パッドやテンキーなどであってもよい。I/F213は、通信回線を通じてLANLocalAreaNetwork、WANWideAreaNetwork、インターネットなどのネットワークに接続され、ネットワークを介して他の装置に接続される。そして、I/F213は、ネットワークと内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F213には、たとえば、モデムやLANアダプタなどを採用することができる。設計支援装置のハードウェア例図3は、実施の形態1にかかる設計支援装置のハードウェア例を示すブロック図である。設計支援装置300は、マルチコアプロセッサシステム200を有する機器に接続可能であって、処理時間や消費電力を計測する。図3において、設計支援装置300は、CPU301と、ROM302と、RAM303と、磁気ディスクドライブ304と、磁気ディスク305と、光ディスクドライブ306と、光ディスク307と、ディスプレイ308と、I/F309と、キーボード310と、マウス311と、スキャナ312と、プリンタ313と、を備えている。また、各部はバス315によってそれぞれ接続されている。ここで、CPU301は、設計支援装置300の全体の制御を司る。ROM302は、ブートプログラムなどのプログラムを記憶している。RAM303は、CPU301のワークエリアとして使用される。磁気ディスクドライブ304は、CPU301の制御にしたがって磁気ディスク305に対するデータのリード/ライトを制御する。磁気ディスク305は、磁気ディスクドライブ304の制御で書き込まれたデータを記憶する。光ディスクドライブ306は、CPU301の制御にしたがって光ディスク307に対するデータのリード/ライトを制御する。光ディスク307は、光ディスクドライブ306の制御で書き込まれたデータを記憶したり、光ディスク307に記憶されたデータをコンピュータに読み取らせたりする。ディスプレイ308は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ308は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。I/F309は、通信回線を通じてLANLocalAreaNetwork、WANWideAreaNetwork、インターネットなどのネットワーク314に接続され、このネットワーク314を介して他の装置に接続される。そして、I/F309は、ネットワーク314と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F309には、たとえばモデムやLANアダプタなどを採用することができる。キーボード310は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス311は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。スキャナ312は、画像を光学的に読み取り、設計支援装置300内に画像データを取り込む。なお、スキャナ312は、OCROpticalCharacterReader機能を持たせてもよい。また、プリンタ313は、画像データや文書データを印刷する。プリンタ313には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。実施の形態1にかかる設計支援装置300の機能ブロック図図4は、実施の形態1にかかる設計支援装置300の機能ブロック図を示す説明図である。設計支援装置300は、測定部401と、周波数算出部402と、消費電力算出部403と、決定部404と、出力部405と、を有している。具体的には、たとえば、測定部401~出力部405を有するプログラムがROM302、磁気ディスク305、光ディスク307などの記憶装置に記憶されている。CPU301が該記憶装置にアクセスして該プログラムを読み出し、該プログラム内にコーディングされている処理を実行することにより、測定部401~出力部405の処理が実行される。測定部401は、マルチコアプロセッサシステム200を有する機器で対象イベントを発生させ、稼働CPU数ごとに基準周波数における対象イベントに応じた処理を実行時の稼働時間と延べ空き時間を測定する。空き時間とはOS220が各CPUに割り振る処理が無い状態の時間のことで、マルチコアプロセッサシステム200の場合、空き時間はそれぞれのCPUでばらばらに発生する。そのため、測定部401は、典型的な処理をしている間に稼働しているすべてのCPUで発生する空き時間の合計を延べ空き時間として測定する。マルチコアプロセッサシステム200において稼働時間と空き時間はOS220が管理しているので、設計支援装置300はOS220に稼働時間と延べ空き時間を測定させる。図5は、測定データの一例を示す説明図である。利用シーン1測定データ501は、CPU数の項目と稼働時間の項目と待ち時間の項目とを有している。マルチコアプロセッサシステム200のCPUが4個であるため、CPU数の項目には1~4が登録されている。稼働時間の項目には利用シーン1での各CPU数での稼働時間が登録され、待ち時間の項目には利用シーン1での各CPU数での空き時間が登録される。利用シーン2測定データ502は、CPU数の項目と稼働時間の項目と待ち時間の項目とを有している。マルチコアプロセッサシステム200のCPUが4個であるため、CPU数の項目には1~4が登録されている。稼働時間の項目には利用シーン2での各CPU数での稼働時間が登録され、待ち時間の項目には利用シーン2での各CPU数での空き時間が登録される。利用シーン1測定データ501や利用シーン2測定データ502はROM302、磁気ディスク305、光ディスク307などの記憶装置に記憶される。図4に戻って、周波数算出部402は、測定部401により測定された指定CPU数での稼働時間と測定部401により測定されたCPU数ごとの稼働時間との比率により、指定CPU数での稼働時間を満たすことができる周波数をCPU数ごとに算出する。ここでは、指定CPU数を1とする。具体的には、たとえば、CPUが、下記式1を用いてCPU数ごとに周波数を算出する。周波数=基準周波数×測定した稼働時間/指定CPU数での稼働時間1消費電力算出部403は、周波数算出部402によりCPU数ごとに算出された周波数に応じた記憶装置に記憶された単位時間当たりの1CPUの消費電力を用いて、CPU数ごとに消費電力量を算出する。決定部404は、消費電力算出部403によりCPU数ごとに算出された消費電力量の中で最小の消費電力量であるCPU数を対象イベントの稼働CPU数に決定する。出力部405は、決定部404により決定された稼働CPU数と算出された周波数とを対象イベントの識別情報に関連付けて出力する。図6は、DVFS制御情報テーブル600の一例を示す説明図である。DVFS制御情報テーブル600は、出力結果の一例である。DVFS制御情報テーブル600には、指定されたイベントごとの稼働CPU数と周波数と電源電圧の値が定義されている。DVFS制御情報テーブル600は、イベントの項目601と、稼働CPU数の項目602と、周波数の項目603と、電源電圧の項目604と、を有している。イベントの項目601には、利用シーン移行条件が登録される。ここでは、イベントの項目601には、メーラの起動、動画再生ソフトウェアの起動、ブラウザの起動、端末の閉、キーYの押下が登録されている。稼働CPU数の項目602には稼働CPU数が登録されている。周波数の項目603には稼働CPUへ供給するクロックの周波数が登録されている。電源電圧の項目604には稼働中のCPUへ供給する電源電圧が登録されている。実施の形態1にかかる設計支援装置300による設計支援処理手順図7は、実施の形態1にかかる設計支援装置300による設計支援処理手順の一例を示すフローチャートである。まず、設計支援装置300が、稼働CPU数が未決定な利用シーンから任意の利用シーンを設定しステップS701、稼働CPU数=1としステップS702、稼働CPU数と利用シーンを設定して機器を起動するステップS703。ここで、機器は、上述のマルチコアプロセッサシステム200を有している。設計支援装置300が、稼働時間と延べ空き時間を測定しステップS704、シングルコアでの性能を下回らない最小の周波数を算出するステップS705。設計支援装置300が、算出した周波数でCPUが動作する最小の電源電圧と算出した周波数での消費電力を測定しステップS706、算出した周波数での消費電力量を算出するステップS707。設計支援装置300が、稼働CPU数=稼働CPU数1としステップS708、稼働CPU数>全CPU数であるか否かを判断するステップS709。設計支援装置300が、稼働CPU数>全CPU数でないと判断した場合ステップS709:No、ステップS702へ戻る。設計支援装置300が、稼働CPU数>全CPU数であると判断した場合ステップS709:Yes、消費電力量が最小となるCPU数を決定しステップS710、全利用シーンでCPU数を決定したか否かを判断するステップS711。設計支援装置300が、全利用シーンでCPU数を決定していないと判断した場合ステップS711:No、ステップS701へ戻る。設計支援装置300が、全利用シーンでCPU数を決定したと判断した場合ステップS711:Yes、決定結果を出力しステップS712、一連の処理を終了する。出力形式としては、たとえば、ディスプレイ308への表示、プリンタ313への印刷出力、I/F309による外部装置への送信がある。また、RAM303、磁気ディスク305、光ディスク307などの記憶領域に記憶することとしてもよい。実施の形態2まず、実施の形態2では、実施の形態1で決定した各利用シーンでの稼働CPU数とクロック周波数を用いて、利用シーンが切り替わる都度、該利用シーンに応じた稼働CPU数とクロックの周波数で利用シーンに応じた処理を動作させる例を示す。実施の形態2にかかるマルチコアプロセッサシステム200の機能ブロック図図8は、実施の形態2にかかるマルチコアプロセッサシステム200の機能ブロック図である。実施の形態2にかかるマルチコアプロセッサシステム200は、記憶部801と、イベント検出部802と、シーン決定部803と、DVFS制御部804と、スケジューリング部805と、を有している。具体的には、たとえば、イベント検出部802~スケジューリング部805を有するプログラムがROM207などの記憶装置に記憶されている。CPUが該記憶装置にアクセスして該プログラムを読み出し、該プログラム内にコーディングされている処理を実行することにより、イベント検出部802~スケジューリング部805の処理が実行される。ここでは、該プログラムはOS220である。記憶部801は、複数のイベントのイベントごとに指定数のCPUで実行した場合の性能を保ち、消費電力量が最も少なくなるCPU数と周波数と電源電圧の値を記憶する。具体的には、たとえば、上述のDVFS制御情報テーブル600がROM207やフラッシュROM208に記憶されている。イベント検出部802はイベントを検出し、シーン決定部803は、イベント検出部802により検出されたイベントがDVFS制御情報テーブル600に登録されているイベントに含まれているか否かを判断する。イベント検出部802により検出されたイベント対象イベントがDVFS制御情報テーブル600に登録されているイベントであると判断された場合、DVFS制御部804は、記憶部801に記憶された対象イベントに関する稼働CPU数を取得する。DVFS制御部804は、記憶部801に記憶された対象イベントに関する周波数を取得する。DVFS制御部804は、取得した稼働CPU数分のCPUへ取得した周波数のクロックを供給する。DVFS制御部804は、マルチコアプロセッサのうちの稼働中のCPUの数が稼働CPU数分のCPUより多い場合、稼働中のCPUから稼働CPU数を超える数分のCPUを停止させる。DVFS制御部804は、マルチコアプロセッサのうちの稼働中のCPUの数が稼働CPU数分のCPUより少ない場合、不足分のCPUを起動させる。そして、スケジューリング部805は、稼働CPU数分のCPUで対象イベントに応じた処理を実行する。以上を踏まえて詳細な具体例を説明する。図9は、イベントの発生例を示す説明図である。図9では、CPU201が稼働中であるが、CPU202~CPU204は停止中である。ユーザがメーラを起動すると、OS220が1メーラの起動指示を検出する。OS220が、2DVFS制御テーブル600のイベントの項目601にメーラの起動が登録されているかを確認する。DVFS制御テーブル600のイベントの項目601にメーラの起動が登録されているため、OS220が利用シーン移行条件を満たしたと判断する。OS220が、3DVFS制御情報テーブル600からメーラ起動に関する稼働CPU数とクロックの周波数と電源電圧の値とを取得する。OS220が、現在稼働中のCPUの数と取得した稼働CPU数とを比較することで、稼働中のCPUの数に変更が必要か否かを判断する。現在稼働中のCPUの数は1であり、取得した稼働CPU数は2である。よって、不足するCPU数は1である。OS220が、稼働中のCPUの数を1つ増加させるため、停止中のCPUから起動させるCPUを決定する。ここでは、CPU202が起動するCPUに決定される。OS220が、4取得した電源電圧の値と取得したクロックの周波数とをCPU201とCPU202に与えるようにDVFS制御機構205を制御する。図10は、稼働中のCPUの数が変化する例を示す説明図である。電源配線VDD1と電源配線VDD2の電源電圧の値が1.3[V]であり、クロック配線CLK1とクロック配線CLK2のクロックの周波数が300[MHz]である。電源配線VDD3と電源配線VDD4の電源電圧の値が0[V]であり、クロック配線CLK3とクロック配線CLK4のクロックの周波数が0[Hz]である。そして、OS220がメーラを起動する。実施の形態2にかかるOS220による制御処理手順図11は、実施の形態2にかかるOS220による制御処理手順の一例を示すフローチャートである。まず、OS220が、イベントを検出したか否かを判断するステップS1101。OS220が、イベントを検出していないと判断した場合ステップS1101:No、ステップS1101へ戻る。OS220が、イベントを検出したと判断した場合ステップS1101:Yes、DVFS制御情報テーブル600の利用シーン移行条件をチェックするステップS1102。OS220が、検出したイベントが利用シーン移行条件に合致するか否かを判断しステップS1103、合致しないと判断した場合ステップS1103:No、ステップS1112へ移行する。OS220が、検出したイベントが利用シーン移行条件に合致すると判断した場合ステップS1103:Yes、DVFS制御情報テーブル600から検出したイベントに対応する稼働CPU数、クロックの周波数、電源電圧の値を取得するステップS1104。つぎに、OS220が、稼働CPU数に変更があるか否かを判断しステップS1105、稼働CPU数に変更がないと判断した場合ステップS1105:No、ステップS1111へ移行する。OS220が、稼働CPU数に変更があると判断した場合ステップS1105:Yes、稼働CPU数が増加したか否かを判断するステップS1106。OS220が、稼働CPU数が増加したと判断した場合ステップS1106:Yes、停止中のCPUから起動させるCPU起動CPUを決定するステップS1107。OS220が、起動CPUと稼働中のCPUに取得した電源電圧の値と周波数のクロックとを供給させる制御をおこないステップS1108、ステップS1112へ移行する。OS220が、稼働CPU数が増加していないと判断した場合ステップS1106:No、停止させるCPU停止CPUを決定しステップS1109、停止CPUの電源供給、周波数入力を停止させる制御をおこなうステップS1110。OS220が、稼働中のCPUに取得した電源電圧の値と周波数のクロックとを供給させる制御をおこなうステップS1111。ステップS1103のNoの場合、ステップS1108、またはステップS1111のつぎに、OS220が、検出したイベントに応じた処理を稼働中のCPUで実行しステップS1112、ステップS1101へ移行する。実施の形態3実施の形態3では、プログラムごとに基準周波数におけるCPU数ごとの処理時間を測定し、周波数ごとに単位時間当たりの1コアの消費電力量を測定する例を示す。実施の形態3にかかる設計支援装置300の機能ブロック図図12は、設計支援装置300の機能ブロック図を示す説明図である。設計支援装置300は測定部1201と出力部1202とを有している。具体的には、たとえば、測定部1201と出力部1202を有するプログラムがROM302、磁気ディスク305、や光ディスク307などの記憶装置に記憶されている。CPU301が該記憶装置にアクセスして該プログラムを読み出し、該プログラム内にコーディングされている処理を実行することにより、測定部1201と出力部1202の処理が実行される。測定部1201は、マルチコアプロセッサシステム200を有する機器を用いて、プログラムごとに基準周波数におけるCPU数ごとの稼働時間を測定する。出力部1202は、測定結果とプログラムの識別情報を関連付けて出力する。図13に出力例を示す。図13は、稼働時間テーブル例を示す説明図である。稼働時間テーブル1300は、たとえば、メーラに関する稼働時間が登録されたテーブルであり、CPU数ごとに該CPU数でメーラを実行した際にかかる稼働時間が登録されている。稼働時間テーブル1310は、たとえば、ブラウザに関する稼働時間が登録されたテーブルであり、CPU数ごとに該CPU数でメーラを実行した際にかかる稼働時間が登録されている。稼働時間テーブル1300は、CPU数の項目1301と、稼働時間の項目1302と、空き時間の項目1303と、を有している。CPU数の項目1301には1~4までが登録されている。稼働時間の項目1302には、CPU数の項目1301に登録されたCPU数ごとに該CPU数でメーラを実行した際にかかる単位時間当たりの稼働時間が登録されている。空き時間の項目1303には、CPU数の項目1301に登録されたCPU数ごとに該CPU数分のCPUでメーラを実行した際に発生する延べ空き時間が登録されている。稼働時間テーブル1310は、CPU数の項目1311と、稼働時間の項目1312と、空き時間の項目1313と、を有している。CPU数の項目1311には1~4までが登録されている。稼働時間の項目1312には、CPU数の項目1311に登録されたCPU数ごとに該CPU数でブラウザを実行した際にかかる単位時間当たりの稼働時間が登録されている。空き時間の項目1313には、CPU数の項目1311に登録されたCPU数ごとに該CPU数分のCPUでブラウザを実行した際に発生する延べ空き時間が登録されている。図12に戻って、測定部1201は、周波数ごとに単位時間当たりの1CPUの消費電力量を測定する。出力部1203は、測定結果を出力する。図14に出力例を示す。図14は、周波数電力テーブル例を示す説明図である。周波数電力テーブル1400は、周波数の項目1401と、電源電圧の項目1402と、1CPU当たりの消費電力の項目1403と、を有している。周波数の項目1401には、各CPUに供給可能なクロックの周波数が登録されている。ここでは、周波数の項目1401には、100[MHz]、200[MHz]、300[MHz]、400[MHz]、500[MHz]が登録されている。電源電圧の項目1402には、周波数の項目1401に登録された周波数でクロックが供給される際に必要な電源電圧の値が登録されている。たとえば、周波数電力テーブル1400では、供給されるクロックの周波数が500[MHz]の場合、供給される電源電圧の値は1.6[V]以上でなければ、CPUが動作しないことを示している。1CPU当たりの消費電力の項目1403には、供給されるクロックの周波数が周波数の項目1401に登録された値で、かつ供給される電源電圧の値が電源電圧の項目1402に登録された値である場合の1CPU当たりの消費電力の値が登録されている。たとえば、周波数電力テーブル1400では、CPUに供給されるクロックの周波数が200[MHz]で、CPUに供給される電源電圧の値が1.1[V]である場合、1CPU当たりの消費電力の値は40[mW]であることを示している。実施の形態3にかかる設計支援装置300による設計支援処理手順図15は、実施の形態3にかかる設計支援装置300による設計支援処理手順の一例を示すフローチャートである。まず、設計支援装置300が、未測定なプログラムから任意のプログラムを選択しステップS1501、稼働CPU数=1としステップS1502、稼働CPU数を設定したプログラムを起動するステップ1503。そして、設計支援装置300が、単位時間当たりの稼働時間と延べ空き時間を測定するステップS1504。設計支援装置300が、稼働CPU数=稼働CPU数1としステップS1505、稼働CPU数>全CPU数であるか否かを判断するステップS1506。設計支援装置300が、稼働CPU数>全CPU数でないと判断した場合ステップS1506:No、ステップS1502へ戻る。設計支援装置300が、稼働CPU数>全CPU数であると判断した場合ステップS1506:Yes、全プログラムで測定済か否かを判断するステップS1507。設計支援装置300が、全プログラムで測定済でないと判断した場合ステップS1507:No、ステップS1501へ戻る。設計支援装置300が、全プログラムで測定済であると判断した場合ステップS1507:Yes、CPUの動作周波数を設定しステップS1508、設定した動作周波数でCPUが動作する最小の電源電圧と消費電力を測定するステップS1509。設計支援装置300が、設定可能な全動作周波数で測定したか否かを判断するステップS1510。設計支援装置300が、設定可能な全動作周波数で測定していないと判断した場合ステップS1510:No、ステップS1508へ戻る。設計支援装置300が、設定可能な全動作周波数で測定したと判断した場合ステップS1510:Yes、測定結果を出力するステップS1511。実施の形態4つぎに、実施の形態4では、複数のプログラムが同時に実行された場合において、1CPUで実行した場合の性能を保ちつつ、最も消費電力が少なくなるCPU数と周波数を特定し、該CPU数と周波数で複数のプログラムを動作させる例を示す。実施の形態4では、実施の形態1~3で説明した構成と同一構成については同一符号を付し、該同一符号が付された構成の詳細な説明を省略する。実施の形態4にかかるマルチコアプロセッサシステム200の機能ブロック図図16は、実施の形態4にかかるマルチコアプロセッサシステム200の機能ブロック図である。マルチコアプロセッサシステム200は、記憶部1601と、プロセス管理部1602と、稼働CPU数決定部1603と、DVFS制御部1604と、スケジューリング部1605と、を有している。具体的には、たとえば、プロセス管理部1602~スケジューリング部1605を有するプログラムがROM207やフラッシュROM208などの記憶装置に記憶されている。CPUが該記憶装置にアクセスして該プログラムを読み出し、該プログラム内にコーディングされている処理を実行することにより、プロセス管理部1602~スケジューリング部1605の処理が実行される。ここでは、該プログラムはOS220である。記憶部1601は、プログラムごとに基準周波数におけるCPU数ごとの稼働時間を記憶し、周波数ごとに単位時間当たりの1CPUの消費電力量を記憶する。具体的には、たとえば、ROM207やフラッシュROM208は、稼働時間テーブル1300や稼働時間テーブル1310や周波数電力テーブル1400を記憶している。プロセス管理部1602は、対象プログラムの起動を検出する。稼働CPU数決定部1603は、対象プログラムと実行中のプログラムを実行する稼働CPU数を決定する。稼働CPU数決定部1603は、抽出部1611と、周波数算出部1612と、消費電力算出部1613と、決定部1614と、を有している。抽出部1611は、プロセス管理部1602により対象プログラムの起動が検出された場合、マルチコアプロセッサで実行中のプログラムの稼働時間をCPU数ごとに記憶部1601から抽出する。抽出部1611は、対象プログラムの稼働時間をCPU数ごとに記憶部1601から抽出する。周波数算出部1612は、抽出部1611によりCPU数ごとに抽出された実行中のプログラムの稼働時間と対象プログラムの稼働時間との合計稼働時間との比率により、指定CPU数の合計稼働時間を満たす周波数をCPU数ごとに算出する。消費電力算出部1613は、周波数算出部1612によりCPU数ごとに算出された周波数に応じた記憶部1601に記憶された単位時間当たりの1CPUの消費電力に基づいて、CPU数ごとに消費電力量を算出する。決定部1614は、消費電力算出部1613によりCPU数ごとに算出された消費電力量の中で最少の消費電力量であるCPU数を稼働CPU数に決定する。DVFS制御部1604は、稼働CPU数決定部1603により決定されたCPU数分のCPUへ、稼働CPU数決定部1603により算出された周波数のクロックを供給する。DVFS制御部1604は、マルチコアプロセッサのうちの稼働中のCPUの数が決定されたCPU数より多い場合、稼働中のCPUから稼働CPU数を超える数分のCPUを停止させる。DVFS制御部1604は、マルチコアプロセッサのうちの稼働中のCPUの数が、決定されたCPU数より少ない場合、不足分のCPUを起動させる。そして、スケジューリング部1605は、決定されたCPU数分のCPUで対象プログラムと実行中のプログラムを実行する。以上を踏まえて詳細に説明する。図17は、複数のプログラムが同時に実行される例を示す説明図である。マルチコアプロセッサシステム200ではブラウザが実行中であり、稼働CPU数は4である。利用者がメーラを起動すると、OS220がメーラの起動指示を検出する。そして、OS220が、実行中のプログラムの識別情報を取得する。OS220が、該識別情報を取得したプログラムに対応する稼働時間テーブルと起動指示を検出したプログラムに対応する稼働時間テーブルとを取得する。ここでは、メーラに関する稼働時間テーブル1300とブラウザに関する稼働時間テーブル1310がROM207やフラッシュROM208などの記憶装置から読み出される。図18は、合計稼働時間を示す説明図である。OS220が、稼働時間テーブル1300と稼働時間テーブル1310を用いてメーラとブラウザとの合計稼働時間をCPU数ごとに算出する。CPU数が1の場合、合計稼働時間は165[ms]である。CPU数が2の場合、合計稼働時間は125[ms]である。CPU数が3の場合、合計稼働時間は100[ms]である。CPU数が4の場合、合計稼働時間は75[ms]である。図19は、消費電力が最も低くなるCPU数を特定する例を示す説明図である。つぎに、OS220が、各CPU数において、CPU数が1の場合の稼働時間を維持可能なクロックの周波数を算出する。具体的には、たとえば、OS220が、下記式2を用いて各CPU数におけるクロックの周波数を算出する。周波数=基準周波数×各CPU数での全稼働時間/指定CPU数での全稼働時間2たとえば、ここでは、基準周波数を500[MHz]とする。CPU数が2の場合、式2による算出結果は378[MHz]であり、クロックの周波数は400[MHz]となる。CPU数が3の場合、式2による算出結果は303[MHz]であり、クロックの周波数は400[MHz]となる。CPU数が4の場合、式2による算出結果は227[MHz]であり、クロックの周波数は300[MHz]となる。OS220が、周波数電力テーブル1400を用いて、各CPU数で実行した場合の消費電力の値を算出する。400[MHz]の場合の1CPU当たりの消費電力が85[mW]であるため、CPU数が2の場合、全消費電力は85×2で170[mW]である。CPU数が3の場合、全消費電力は85×3で255[mW]である。300[MHz]の場合の1CPU当たりの消費電力が60[mW]であるため、CPU数が4の場合、全消費電力は60×4で240[mW]である。よって、CPU数が1の場合での性能と同一性能で消費電力が最も低くなるCPU数は2であるため、OS220が稼働CPU数を2に決定する。図20は、稼働CPU数の変更例を示す説明図である。OS220が、稼働CPU数を減少させるため、停止させる停止CPUを決定する。ここでは、CPU203とCPU204を停止CPUとする。OS220が、DVFS制御機構205からCPU203とCPU204へのクロック電源電圧の供給を停止させる。OS220が、CPU201とCPU202へ供給するクロックの周波数を400[MHz]に設定し、電源電圧の値を1.4[V]に設定する。実施の形態4にかかるOS220による制御処理手順図21と図22は、実施の形態4にかかるOS220による制御処理手順の一例を示すフローチャートである。まず、OS220が、プロセスの起動または終了を検出したか否かを判断しステップS2101、プロセスの起動および終了を検出していないと判断した場合ステップS2101:No、ステップS2101へ戻る。OS220が、プロセスの起動または終了を検出したと判断した場合ステップS2101:Yes、稼働中のすべてのプロセスを特定するステップS2102。OS220が、特定したプロセスに対応する稼働時間テーブルを参照しステップS2103、各CPU数における稼働時間の全プロセス分の総計を算出するステップS2104。OS220が、周波数電力テーブル1400から算出した各CPU数での周波数に対応する1CPU当たりの消費電力の値を取得しステップS2105、各CPU数における全消費電力の値を算出するステップS2106。OS220が、算出した全消費電力の値が最小となるCPU数を稼働CPU数に決定しステップS2107、稼働CPU数に変更があるか否かを判断するステップS2108。OS220が、稼働CPU数に変更がないと判断した場合ステップS2108:No、ステップS2101へ移行する。OS220が、稼働CPU数に変更があると判断した場合ステップS2108:Yes、稼働CPU数が増加したか否かを判断するステップS2109。OS220が、稼働CPU数が増加したと判断した場合ステップS2109:Yes、停止中のCPUから起動させるCPU起動CPUを決定するステップS2110。OS220が、起動CPUと稼働中のCPUに取得した電源電圧の値と周波数とを供給させる制御を行いステップS2111、ステップS2101へ移行する。OS220が、稼働CPU数が増加していないと判断した場合ステップS2109:No、停止させるCPU停止CPUを決定しステップS2112、停止CPUの電源供給、周波数入力を停止させる制御をおこなうステップS2113。OS220が、稼働中有のCPUに取得した電源電圧の値と周波数とを供給させる制御を行いステップS2114、ステップS2101へ移行する。以上実施の形態1,3で説明したように、設計支援方法によれば、イベントごとに消費電力量が最小となる稼働CPU数とクロックの周波数の組み合わせを特定する。これにより、消費電力量が最小となる稼働CPU数とクロックの周波数でシステムを運用することができる。また、イベントごとにイベントに応じた処理を1CPUで実行した場合の稼働時間と基準周波数とに基づいてクロックの周波数を算出する。これにより、1CPUで実行した場合の性能を維持することができる。以上実施の形態2で説明したように、スケジューリング方法、およびシステムによれば、所定イベントごとに稼働CPU数とクロックの周波数とをメモリに記憶する。そして、所定イベントが発生する都度、稼働CPU数と周波数を切り替えて、該イベントに応じた処理を実行する。これにより、消費電力が最も少ない稼働CPU数とクロック周波数の組み合わせにより、イベントに応じた処理を実行でき、消費電力を減少させることができる。また、稼働中のCPUの数が稼働CPU数よりも多い場合、稼働中のCPUから稼働CPU数を超える数分のCPUを停止させることにより、消費電力が最小となる最適なCPU数でシステムを運用することができる。また、稼働中のCPUの数が稼働CPU数分より少ない場合、不足分のCPUを起動させることにより、1CPUで実行した場合の性能を維持することができる。また、所定イベントごとに稼働CPU数とクロックの周波数と電源電圧の値とをメモリに記憶し、所定イベントが発生する都度、稼働CPU数と周波数と電源電圧の値とを切り替えて、該イベントに応じた処理を実行する。消費電力は周波数と電源電圧の二乗に比例する。クロックの周波数を下げることにより、電源電圧を下げることができるため、消費電力量を減少させることができる。以上実施の形態4で説明したように、スケジューリング方法、およびシステムによれば、プログラムごとに各CPU数分のCPUで実行した場合の稼働時間と、周波数ごとに1CPU当たりの消費電力量を記憶する。そして、複数のプログラムが同時に実行された場合において、1CPUで実行した場合の性能を保ちつつ、最も消費電力が少なくなる最適な稼働CPU数と周波数を特定し、該稼働CPU数と周波数で複数のプログラムを動作させる。これにより、消費電力量を削減することができる。また、稼働中のCPUの数が稼働CPU数よりも多い場合、稼働中のCPUから稼働CPU数を超える数分のCPUを停止させることにより、消費電力が最小となる最適なCPU数でシステムを運用することができる。また、稼働中のCPUの数が稼働CPU数分より少ない場合、不足分のCPUを起動させることにより、1CPUで実行した場合の性能を維持することができる。"