(57)【要約】【課題】  割り込みが原因となって生じてしまう、低優先度タスクの処理の遅延時間を除去する事により、低消費電力化及び省エネルギー化を実現する情報処理装置を提供する。【解決手段】  タスク内の複数の処理単位（アプリケーションスライス：ＡＳ）毎に電力制御チェックポイント（ＣＰ）を配置し、タスク処理の開始（ＳＴＩＭ）から例えばｋ番目の電力制御チェックポイント（ＣＰｋ）までの実行時間（ＲＴＩＭ）から、割り込み処理などによって生じた遅延時間（ＤＴＩＭ）を引き算する事で補正実行時間（ＲＴＩＭ＿Ｘ）を算出し、次の電力制御チェックポイント（ＣＰｋ＋１）での計画時間に対応するサブＷＣＥＴ（Ｓ＿ＷＣＥＴｋ＋１）から補正実行時間（ＲＴＩＭ＿Ｘ）を引き算した値と、電力制御チェックポイント（ＣＰ）の時間間隔であるＣＰＴＩＭとを比較して、その比較結果に応じて情報処理装置の電力制御を行う。【選択図】  図１９
2006235907.tif 000002
【特許請求の範囲】
【請求項１】
ＲＴＯＳからの命令、ならびに前記ＲＴＯＳで管理され且つアプリケーションプログラムを実施するアプリケーションタスクからの命令に従って動作する中央処理装置と、
前記中央処理装置の内部又は外部に設けられるタイマと、
前記中央処理装置が所望する動作周波数のクロックパルスを前記中央処理装置及び前記タイマに供給するクロックパルス発生器と、
前記中央処理装置に電源電圧を供給し且つ前記電源電圧の値を調整可能な電源供給器とを備えた情報処理装置であって、
前記アプリケーションタスクは、複数の処理単位からなる第１のアプリケーションタスクと前記第１のアプリケーションタスクよりも優先度が高い第２のアプリケーションタスクとを含み、
前記第１のアプリケーションタスクが前記第２のアプリケーションタスクに割り込まれた際に前記第１のアプリケーションタスクに生じる遅延時間を前記タイマを用いて計測する機能と、
前記第１のアプリケーションタスクの前記複数の処理単位毎に予め実行時間の計画値を設定する機能と、
前記第１のアプリケーションタスクの前記複数の処理単位毎に実際の実行時間を前記タイマを用いて計測する機能と、
前記複数の処理単位毎の実際の実行時間から前記計測した遅延時間を引き算することで補正実行時間を算出する機能と、
前記実行時間の計画値と前記補正実行時間とを比較し、前記比較結果に応じて、前記クロックパルス発生器および／または前記電源供給器に対し、前記動作周波数および／または前記電源電圧を変更するための制御信号を発生する機能とを有することを特徴とする情報処理装置。
【請求項２】
請求項１記載の情報処理装置において、さらに、
前記中央処理装置に基板バイアスを供給し且つ前記基板バイアスの値を調整可能な基板バイアス電圧調整器と、
前記実行時間の計画値と前記補正実行時間との比較結果に応じて、前記基板バイアス電圧調整器に対し、前記基板バイアスを変更するための制御信号を発生する機能とを有することを特徴とする情報処理装置。
【請求項３】
請求項１記載の情報処理装置において、
前記遅延時間を計測する機能は、さらに、前記第２のアプリケーションタスクの継続実行によって前記第１のアプリケーションタスクに生じるジッタを遅延時間とみなして計測することを特徴とする情報処理装置。
【請求項４】
請求項１記載の情報処理装置において、
前記遅延時間を計測する機能は、ＰＵＳＨ処理とＰＯＰ処理を用いて実現されることを特徴とする情報処理装置。
【請求項５】
請求項１記載の情報処理装置において、
前記情報処理装置は、前記第１のアプリケーションタスクの前記複数の処理単位のそれぞれが実行を開始または終了する毎にチェック処理を行い、前記チェック処理の間の時間間隔の値となるチェックポイント時間間隔を予め設定し、
前記実行時間の計画値を設定する機能は、前記チェック処理の際に、前記複数の処理単位の実行経過に対応した前記チェックポイント時間間隔の合計を算出し、前記算出した合計に対して次に実行する処理単位に対応したチェックポイント時間間隔を更に加算した値を算出し、前記加算によって算出した値を前記実行時間の計画値として設定し、
前記実際の実行時間を計測する機能は、前記複数の処理単位の実行経過に対応した実際の実行時間を、前記第１のアプリケーションタスクの実行の開始の時点から前記タイマを用いて計測し、
前記補正実行時間を算出する機能は、前記補正実行時間を算出し、
前記制御信号を発生する機能は、前記設定した前記実行時間の計画値から前記補正実行時間を引いた余裕時間を算出し、前記中央処理装置で駆動可能な最低動作周波数に対する動作周波数倍率と前記チェックポイント時間間隔を掛けた計画余裕時間を算出し、前記余裕時間が前記計画余裕時間以上であれば前記クロックパルス発生器に対し前記動作周波数倍率を下げる制御信号を発生し、前記余裕時間が前記計画余裕時間よりも小さければ前記クロックパルス発生器に対し前記動作周波数倍率を上げる制御信号を発生することを特徴とする情報処理装置。
【請求項６】
請求項５記載の情報処理装置において、
前記実行時間の計画値を設定する機能は、さらに、前記第１のアプリケーションタスクに生じる遅延時間に基づいて前記チェックポイント時間間隔を短くし、前記短くしたチェックポイント時間間隔を用いて前記実行時間の計画値を設定することを特徴とする情報処理装置。
【請求項７】
ＯＳおよび／またはアプリケーションタスクからの命令に従って動作する中央処理装置と、
前記中央処理装置の内部又は外部に設けられるメモリおよびタイマとを備えた情報処理装置であって、
前記アプリケーションタスクの一つである第１のアプリケーションタスクを実行中に、前記アプリケーションタスクの一つである第２のアプリケーションタスクからの割り込み処理が発生した際に、前記タイマが示す第１の値をＰＵＳＨ処理を用いて前記メモリに格納し、前記第２のアプリケーションタスクの割り込み処理を実行中に、更に前記アプリケーションタスクの一つである第３のアプリケーションタスクからの割り込み処理が発生した際には、前記タイマが示す第２の値を更にＰＵＳＨ処理を用いて前記メモリに格納する機能と、
前記第２および前記第３のアプリケーションタスクの割り込み処理が終了した際のそれぞれの前記タイマの値を取得する機能と、
前記第３のアプリケーションタスクの割り込み処理が終了した際に、ＰＯＰ処理を用いて前記メモリから前記第２の値を取得し、前記第２のアプリケーションタスクの割り込み処理が終了した際に、更にＰＯＰ処理を用いて前記メモリから前記第１の値を取得する機能と、
前記割り込み処理が終了した際に取得した前記タイマの値と、前記ＰＯＰ処理を用いて取得した前記第１および前記第２の値を用いて、前記第１および前記第２のアプリケーションタスクのそれぞれに生じた割り込み遅延時間を算出する機能とを有することを特徴とする情報処理装置。
【請求項８】
請求項７記載の情報処理装置であって、
前記ＰＵＳＨ処理および前記ＰＯＰ処理は、前記メモリをスタック形式のメモリとして用いることで実現されることを特徴とする情報処理装置。
【請求項９】
請求項７記載の情報処理装置であって、
前記ＰＵＳＨ処理および前記ＰＯＰ処理は、前記メモリをリンクリスト形式のメモリとして用いることで実現されることを特徴とする情報処理装置。
【請求項１０】
中央処理装置およびタイマを含み電力モードを設定可能な情報処理装置と、前記情報処理装置上で実行するアプリケーションタスクとを制御するオペレーティングシステムであって、
前記アプリケーションタスクは、第１のアプリケーションタスクと前記第１のアプリケーションタスクよりも優先度が高い第２のアプリケーションタスクとを含み、
前記第１のアプリケーションタスクが前記第２のアプリケーションタスクに割り込まれた際に前記第１のアプリケーションタスクに生じる遅延時間を取得する処理と、
前記第２のアプリケーションタスクの割り込み処理の終了後に前記第１のアプリケーションタスクを実行する際に、前記情報処理装置に設定する電力モードを提供する処理とを有することを特徴とするオペレーティングシステム。
【請求項１１】
請求項１０記載のオペレーティングシステムにおいて、
前記電力モードは、予め設定する動作周波数に対する電源電圧及び閾値電圧の組み合わせで設定され、
前記第１のアプリケーションタスクが実行状態から実行準備状態に遷移するプリエンプト時刻及び前記プリエンプト時刻の前記電力モードを格納できるタスクコントロールブロックを有し、
前記タスクコントロールブロックに前記プリエンプト時刻及び前記電力モードを格納した後、実行準備状態から実行状態に遷移するディスパッチ時に、前記タイマの値から前記プリエンプト時刻を引いた遅延時間を算出し、
システムコールにて前記遅延時間を提供し、
システムコールにて前記ＴＣＢに格納した前記電力モードを提供する事を特徴とするオペレーティングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びそれに搭載されたオペレーティングシステムを含むソフトウェアに関し、特に組み込み機器などの情報処理装置およびそれに搭載されたリアルタイムＯＳおよびミドルウェアプログラムなどのソフトウェアに適用して有効な技術に関するものである。
【背景技術】
【０００２】
本発明者が検討したところによれば、情報処理装置の省電力技術に関しては、以下のようなものが考えられる。
【０００３】
図２７は、特許文献１の図５に記載の従来技術の電力制御装置及びその電力制御方法並びにそのプログラムを示す構成図である。この電力制御装置は、バッテリ駆動且つプロセッサ搭載の携帯機器、例えば携帯電話、携帯型オーディオ、携帯型ビデオカメラ、ノートブックパーソナルコンピュータ、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）の消費電力の最適化を実現する技術である。
【０００４】
図２７のように従来の電力制御装置には、ソフトウェア（ＳＷ）で動作するプロセッサ（ＣＰＵ）及び電力制御回路（ＰＷＣＵ）が搭載されている。ＰＷＣＵは、電源電圧／閾値電圧制御回路（ＶＣＵ）、クロックパルス発生器（ＣＰＧ：Ｃｌｏｃｋ  Ｐｕｌｓｅ  Ｇｅｎｅｒａｔｏｒ）、タイマ（ＴＭＵ）で構成されている。電源電圧／閾値電圧制御回路（ＶＣＵ）は、プロセッサ（ＣＰＵ）に対して印加する電源電圧、または閾値電圧を可変にする為の基板バイアス電圧を制御する機能を持っている。
【０００５】
クロックパルス発生器（ＣＰＧ）は、ＣＰＵに提供するクロックパルスを発生し、このクロックパルスの時間幅、つまり動作周波数を制御する機能を持っている。また、ＣＰＧは、ＣＰＵに提供の前記クロックパルスとは別に、タイマ（ＴＭＵ）にもタイマ用クロックパルスを提供する。ＴＭＵは、ＣＰＵが所望する任意の周期のカウントを実施する機能を有する。
【０００６】
ソフトウェア（ＳＷ）は、オペレーティングシステム（ＯＳ）と単数ないし複数のタスク（ＴＳＫ）等で構成されている。オペレーティングシステム（ＯＳ）（以下では、ＯＳまたはＲＴＯＳという）は、タイマ（ＴＭＵ）から供給される周期の割り込みイベント信号の割り込み回数のカウントを実施する。なお、このような情報処理装置における時刻とは、カウントの数に相当する。
【０００７】
タスク（ＴＳＫ）は、ミドルウェアプログラム、デバイスドライバプログラム等を用いたプログラムであり、１処理単位である。情報処理装置におけるアプリケーションは、単数ないし複数のタスク（ＴＳＫ）で形成する。更に電力制御プログラムも用いることにより情報処理装置の電力を制御する。更にＴＳＫは、ＲＴＯＳで管理されるタスク優先度に従い、高いタスク優先度の順番、及びタスクの起動時刻の早い順番から処理を実行する。
【０００８】
電力制御プログラムは、実行中のタスク（ＴＳＫ）に対して割り付けた起動時刻から現時刻までの実行時間を計測し、この実行時間と、予め設定したアプリケーションプログラムまたはミドルウェアプログラムのアプリケーションスライシングと呼ばれる処理単位毎に割り当てた最悪実行時間（ＷＣＥＴ：Ｗｏｒｓｔ  Ｃａｓｅ  Ｅｘｅｃｕｔｉｏｎ  Ｔｉｍｅ）から、実行中のタスク（ＴＳＫ）におけるデッドラインまでの余裕時間を算出する。なお、アプリケーションスライスは、アプリケーションプログラムをＮ個のスライス１，２，３，．．．，Ｎに分割することをいい、スライス１，２，３，．．．，Ｎの各々のＷＣＥＴと各スライスの時間間隔は、解析や測定を通じて取得される。
【０００９】
余裕時間があれば、図２７の実行中のタスク（ＴＳＫ）からＲＴＯＳに対し、所望の電源電圧、動作周波数を設定する為のシステムコール（ＳＣ）を発行する。そして、ＲＴＯＳの内部処理を行った後、ソフトウェア（ＳＷ）でプロセッサ（ＣＰＵ）から電力制御回路（ＰＷＣＵ）に対して所望の電源電圧、動作周波数が供給されるようにコマンド（Ｃ）を送信する。ＰＷＣＵは、受け取ったコマンド（Ｃ）からソフトウェア（ＳＷ）で所望の電源電圧、動作周波数を設定し、制御信号（ＣＳ）をＰＷＣＵからＣＰＵに送信する。制御信号（ＣＳ）を受け取ったＣＰＵは、所望の電源電圧及び動作周波数で駆動される。
【００１０】
次に、ＲＴＯＳ上でのタスク（ＴＳＫ）の動作状態について言及する。
【００１１】
図２８は、ＲＴＯＳのタスク状態遷移を説明する図である。
【００１２】
タスク（ＴＳＫ）は、実行状態（Ｒｕｎ）、待機状態（Ｗａｉｔ）、実行準備状態（Ｒｅａｄｙ）、初期状態（Ｉｎｉｔ）の何れかの状態となる。Ｉｎｉｔは、未だタスク（ＴＳＫ）存在していない状態である。例えばタスク（ＴＳＫｃ）は、既に生成されたＲｕｎ上のタスク（ＴＳＫａ）からＲＴＯＳ提供のタスク生成用システムコールを発行して初めて生成され、Ｒｅａｄｙへ遷移する事が可能になる。
【００１３】
Ｒｕｎは、任意のタスク（ＴＳＫ）がＣＰＵを占有し、処理実行中の状態である。Ｗａｉｔは、所定の処理を終えたタスク（ＴＳＫｄ）が他のタスク（ＴＳＫ）にＣＰＵの占有を譲る為に、ＲＴＯＳ提供のイベント受信待ち用システムコールを発行し、Ｒｕｎから遷移して起動イベント待ちになる状態である。Ｗａｉｔ上のタスク（ＴＳＫｄ）は自分に対する起動イベントを受信するとＲｅａｄｙに遷移する。
【００１４】
Ｒｅａｄｙは、タスク（ＴＳＫ）がＲＴＯＳによってタスク優先度の高い順番、またはタスク起動時刻の早い順番にＲｅａｄｙ  Ｑｕｅｕｅ（ＲＱ）に並び替えられた状態である。実際はＲｅａｄｙ  Ｑｕｅｕｅ（ＲＱ）は、タスク（ＴＳＫ）の状態を管理する動的メモリであるタスクコントロールブロック（ＴＣＢ）のタスク優先度格納部に記録されたタスク優先度の高い順に従って、ＴＣＢをリンクリストを用いて並び変える。
【００１５】
Ｒｅａｄｙ  Ｑｕｅｕｅ（ＲＱ）でタスク優先度順、及びタスク起動時刻の早い順番に並び変える事をスケジューリングという。Ｒｅａｄｙ上のタスク（ＴＳＫ）の内、最も先頭に並んでいるタスク（ＴＳＫ）、つまりＲｅａｄｙ上のタスク（ＴＳＫ）の内で最も優先度が高いタスクまたはタスク起動時刻が最も早いタスク（ＴＳＫ）が現時点でＲｕｎになる。ＲｅａｄｙからＲｕｎに遷移してＣＰＵを占有する事をディスパッチという。例えば、Ｒｕｎ上のタスク（ＴＳＫａ）、Ｒｅａｄｙ上のタスク（ＴＳＫｂ，ＴＳＫｃ）の内、その時点で最もタスク優先度が高いタスク（ＴＳＫａ）がディスパッチされることになる。
【００１６】
また、例えば起動用イベントの受信によってＷａｉｔからＲｅａｄｙに遷移したタスク（ＴＳＫｄ）のタスク優先度が、現在Ｒｕｎ上のタスク（ＴＳＫａ）のタスク優先度よりもタスク優先度の順位が高い場合、現在Ｒｕｎ上のタスク（ＴＳＫａ）は、Ｒｅａｄｙ上に遷移したタスク（ＴＳＫｄ）にＣＰＵを開放してＲｅａｄｙに遷移しなければならない。なお、ＣＰＵを開放してＲｅａｄｙに遷移する事をプリエンプトという。同時にプリエンプトされたタスク（ＴＳＫａ）は、ＲＴＯＳによってタスク優先度順に並び換えられ、ＲＴＯＳにディスパッチされる機会を伺う事になる。
【特許文献１】特開２００３−１４０７８７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
本願発明者等は本願に先立って、携帯電話、ＰＤＡ、携帯ディジタルカメラ、携帯ディジタルビデオプレイヤー、携帯ディジタルビデオカメラ、携帯ディジタルオーディオレコーダー及びプレイヤー等に代表される、バッテリ駆動の情報処理装置を対象に、前述した特許文献１の電力制御装置の技術について検討した。まず、この検討に先立ち、特許文献１で用いられているアプリケーションスライシングについて再度説明する。
【００１８】
図２９は、アプリケーションスライシングを説明する図である。
【００１９】
タスク（ＴＳＫ）は、アプリケーションプログラム開始点（Ｓ２９０１）から初期化処理（Ｓ２９０２）を経て、アプリケーションプログラム終了点（Ｓ２９０３）までの一連の処理を実行する。
【００２０】
初期化処理（Ｓ２９０２）では、ミドルウェアやデバイスドライバで使用するメモリ領域の確保やグローバルないしローカル変数の初期化、更にはプロセッサ（ＣＰＵ）で使用の電源電圧、動作周波数及び各レジスタの値の設定等、ＣＰＵ上でアプリケーションを動かす為に必要な前処理を実施する。
【００２１】
例えば、情報処理装置の主要な処理の一つにマルチメディア処理が挙げられるが、マルチメディア処理を扱うミドルウェアのプログラムは、繰り返し処理を実施する性質がある。また、役割の異なる処理毎にプログラムをプログラムモジュールとして纏める事も可能である。従って繰り返し処理やプログラムモジュールの処理単位をアプリケーションスライス（ＡＳ）と呼び、アプリケーションスライス（ＡＳ）に分割する技術をアプリケーションスライシングと呼ぶ事にする。
【００２２】
また、図２９におけるアプリケーションスライス（ＡＳ１〜ＡＳｎ）の中の値は、アプリケーションスライス（ＡＳ）の繰り返し処理数を表している。繰り返し処理数は、アプリケーションの処理経過として、タスク（ＴＳＫ）の内部に実装したアプリケーションスライス経過管理部（ＡＳＣＵ）で逐次、カウントされる。
【００２３】
繰り返し判別処理（ＪＧＥ）では、アプリケーションスライス経過管理部（ＡＳＣＵ）でカウントされ記録されたアプリケーションスライス（ＡＳ）の繰り返し処理数が判別される。そして、全部のアプリケーションスライス（ＡＳ）の完了を判別した場合には、アプリケーションプログラム終了点（Ｓ２９０３）でアプリケーションが終了し、そうでない場合は完了するまでアプリケーションスライス（ＡＳ）を処理する。
【００２４】
電力制御チェックポイント処理部（ＣＰ）は、アプリケーションスライス（ＡＳ）の直後で繰り返し判別処理（ＪＧＥ）の直前にプログラム配置されている。電力制御チェックポイント処理部（ＣＰ）については後ほど詳細を説明する。
【００２５】
図３０は、本願発明者等が特許文献１の電力制御装置を使用するに当たって作成した電力制御方法の概念図である。なお、図３０は、特許文献１には記載されていない。
【００２６】
図３０における横軸は、アプリケーションプログラムの処理経過時刻、縦軸は、電力制御チェックポイント処理部（ＪＧＥ）におけるアプリケーションプログラム処理経過を表している。ここで、アプリケーションスライス（ＡＳ）の数は任意のＮ個とする。デッドライン（ＤＬ）は、タスク（ＴＳＫ）の処理を仕様上、完了させなければならない、またはタスク（ＴＳＫ）の処理結果を出していなければならないと、予め分かっている時刻である。例えば、映像の１画面の出力時刻等が相当する。
【００２７】
特許文献１の電力制御は、動作周波数と電源電圧ないし閾値電圧を制御するという技術である。従って、電力の最適化、つまり低消費電力化の効果を出来るだけ上げるには、動作周波数も下げると同時に電源電圧を下げるないし閾値電圧を高くする必要がある。動作周波数を下げるないし閾値電圧を上げるということはすなわち、タスク（ＴＳＫ）の処理をゆっくりと実施する事に相当する。低消費電力化の効果を向上させるには、出来るだけデッドライン（ＤＬ）ギリギリまで低動作周波数で動作を行い、デッドライン（ＤＬ）直前に処理が終了するように、タスク（ＴＳＫ）の処理を行わせたい。
【００２８】
そこで本願発明者等は、図３０に示すように、タスク開始時刻（ＳＴＩＭ）からタスク（ＴＳＫ）の処理を始め、所望の処理の完了がデッドライン（ＤＬ）に間に合うように、線形計画法に基づいてアプリケーションスライス（ＡＳ）毎に同じ時間間隔のチェックポイント時間間隔（ＣＰＴＩＭ）を割り当てる事にした。また同じくアプリケーションスライス（ＡＳ）毎に、タスク開始時刻（ＳＴＩＭ）からチェックポイント時間間隔（ＣＰＴＩＭ）の整数倍の時間間隔であるサブＷＣＥＴ（Ｓ＿ＷＣＥＴ）を予め割り当てる事にした。例えば、線形計画法に基づいて設定したｋ番目のアプリケーションスライス（ＡＳｋ）のサブＷＣＥＴ（Ｓ＿ＷＣＥＴｋ）は、チェックポイント時間間隔（ＣＰＴＩＭ）にｋを掛けた積算時間に相当する。
【００２９】
電力制御チェックポイント部（ＣＰ）は、タスク開始時刻（ＳＴＩＭ）からｋ番目のアプリケーションスライス終了点（ＥＰ）までのプロセッサ（ＣＰＵ）の実行時間（ＲＴＩＭ）と、（ｋ＋１）番目のアプリケーションスライス（ＡＳｋ＋１）のサブＷＣＥＴ（Ｓ＿ＷＣＥＴｋ＋１）を比較判定し、逐次、電力制御つまり電源電圧、閾値電圧及び動作周波数の制御を実施する。例えば、高動作周波数及び高電源電圧の組み合わせである高電力モード状態と低動作周波数及び低電源電圧の組合せである低電力モード状態という、２つの電力モードで制御が可能な電力制御装置を想定する。
【００３０】
まず、タスク開始時刻（ＳＴＩＭ）からｋ番目のアプリケーションスライス（ＡＳｋ）処理終了時点（ＥＰ）の実行時間（ＲＴＩＭ）を（ｋ＋１）番目のアプリケーションスライス（ＡＳｋ＋１）に対応するサブＷＣＥＴ（Ｓ＿ＷＣＥＴｋ＋１）から引いた時間差と、ｋ番目のアプリケーションスライス（ＡＳｋ）のサブＷＣＥＴ（Ｓ＿ＷＣＥＴｋ）を（ｋ＋１）番目のアプリケーションスライス（ＡＳｋ＋１）のサブＷＣＥＴ（Ｓ＿ＷＣＥＴｋ＋１）から引いた時間差とを比較する。すなわち、（（Ｓ＿ＷＣＥＴｋ＋１）−ＲＴＩＭ）の値と、ｋ番目から（ｋ＋１）番目のアプリケーションスライス（ＡＳ）間のチェックポイント時間間隔（ＣＰＴＩＭ）の値とを比較する。そして、ＣＰＵの動作周波数の予測値とＣＰＵが採りえる最低動作周波数との比率に対してＣＰＴＩＭを積算した値より、（（Ｓ＿ＷＣＥＴｋ＋１）−ＲＴＩＭ）の値の方が大きい場合、つまり余裕時間がある場合、ｋ番目の電力制御チェックポイント部（ＣＰｋ）において低電力モードに制御して電力を下げる。
【００３１】
低電力モードに制御しても、つまり電源電圧及び動作周波数の予測値を下げても、（ｋ＋１）番目のアプリケーションスライス（ＡＳｋ＋１）が（ｋ＋１）番目の電力制御チェックポイント（ＣＰｋ＋１）時にサブＷＣＥＴ（Ｓ＿ＷＣＥＴｋ＋１）以内で終了するという予測が出来るので、デッドライン（ＤＬ）の厳守が満たせる。反対に小さい場合は、つまり余裕時間が無い場合は、高電力モードに制御して電力を上げないと、つまり電源電圧及び動作周波数を上げないと、デッドライン（ＤＬ）の厳守は満たせない。
【００３２】
上述のような事象の検討結果から、情報処理装置に図２７の電力制御装置を適用した場合、消費電力の最適化（省エネルギー化）効果を向上させ、また安定した処理動作を行わせるため、三つの課題が残されていることがわかった。
【００３３】
第一の課題は、割り込み処理により実行状態（Ｒｕｎ）に遷移した高優先度のタスクで費やす実行時間により、プリエンプトした低タスク優先度のタスクの処理に遅延時間が生じてしまい、消費電力の最適化が図れないということである。
【００３４】
図３１は、割り込みを受けた低タスク優先度のタスクの処理遅延を説明する図である。例えばタスク（ＴＳＫａ）内でｋ番目のアプリケーションスライス（ＡＳｋ）を処理している途中で高タスク優先度のタスク（ＴＳＫｄ）に割り込まれた場合、割り込まれた低タスク優先度のタスク（ＴＳＫａ）は、実行準備状態（Ｒｅａｄｙ）にプリエンプトされて処理が停止状態になる。割り込んだ高タスク優先度のタスク（ＴＳＫｄ）の処理が終了すると、割り込まれたタスク（ＴＳＫａ）はＲｕｎ上にディスパッチされ、割り込まれた時点から処理を継続する。
【００３５】
しかし、割り込まれたタスク（ＴＳＫａ）の処理は、停止した状態でもタイマ（ＴＭＵ）は動作し続ける為、割り込まれた時間分、絶対時間から見ると遅延が生じている。つまり、割り込みによって生じた遅延時間（ＤＴＩＭ）分、割り込まれたタスク（ＴＳＫａ）の実行時間（ＲＴＩＭ）は長くなる。従ってｋ番目での電力制御チェックポイント（ＣＰｋ）では、遅延時間（ＤＴＩＭ）を含んだ実行時間（ＲＴＩＭ）を下に電力制御を行ってしまうので、高電力モード状態に制御される機会が増加し、低消費電力効果及び省エネルギー効果が低下してしまう事が分った。
【００３６】
第二の課題は、同じく割り込み処理によりＲｕｎに遷移した高タスク優先度のタスクで費やす実行時間により、遅延を含んでデッドラインを超過するサブＷＣＥＴ（Ｓ＿ＷＣＥＴ）が生じてしまい、消費電力の最適化が図れないということである。
【００３７】
図３２は、低タスク優先度のタスクに割り込まれて生じたサブＷＣＥＴの遅延を説明する図である。通常、サブＷＣＥＴ（Ｓ＿ＷＣＥＴ）は、アプリケーションスライス（ＡＳ）毎に割り当てたチェックポイント時間間隔（ＣＰＴＩＭ）の和として予め求められる。また、チェックポイント時間間隔（ＣＰＴＩＭ）は、アプリケーションスライス（ＡＳ）間の各チェックポイント時間間隔（ＣＰＴＩＭ）の総和が、タスク開始時刻（ＳＴＩＭ）からデッドライン（ＤＬ）までの時間幅と丁度一致するように予め設定される。
【００３８】
しかし、例えばタスク（ＴＳＫａ）内でｋ番目のアプリケーションスライス（ＡＳｋ）を処理している途中で高タスク優先度のタスク（ＴＳＫｄ）に割り込まれた場合、割り込まれた低タスク優先度のタスク（ＴＳＫａ）の処理は、遅延時間（ＤＴＩＭ）分遅れる。このことは、実質的に、チェックポイント時間間隔（ＣＰＴＩＭ）に基づいて設定されたサブＷＣＥＴ（Ｓ＿ＷＣＥＴ）が、絶対時間上遅れることと等価であり、そうすると、最終のサブＷＣＥＴ（Ｓ＿ＷＣＥＴｎ）がデッドライン（ＤＬ）を超過する場合がある。そして、遅れたサブＷＣＥＴ（Ｓ＿ＷＣＥＴ）を基準に電力制御を実施すると、アプリケーションの動作が不安定になる恐れがある。
【００３９】
第三の課題は、低、高タスク優先度のタスクが一緒のプロセッサで並行処理を実施する環境の下、ジッタが生じることにより、消費電力の最適化が図れないということである。ここで、ジッタとは、高タスク優先度タスクのＲｕｎ状態により、起動イベントを受信したＷａｉｔ状態の低タスク優先度タスクがディスパッチ出来ずにＲｅａｄｙ状態に留まることで生じる起動時刻のズレの事である。
【００４０】
図３３は、ジッタによって生じたサブＷＣＥＴの遅延を説明する図である。待機状態（Ｗａｉｔ）のタスク（ＴＳＫ）は、起動イベントを受信した時刻、つまりタスク起動時刻（ＢＴＩＭ）に実行準備状態（Ｒｅａｄｙ）を経由して実行状態（Ｒｕｎ）にディスパッチするようにタスク優先度を設定する。ここで、図２８に記載のタスク（ＴＳＫｅ）よりもタスク（ＴＳＫａ）の方が高タスク優先度で、且つタスク（ＴＳＫｅ）がＷａｉｔ、タスク（ＴＳＫａ）がＲｕｎの場合、起動イベントをタスク（ＴＳＫｅ）が受信し、Ｒｅａｄｙに遷移してもタスク（ＴＳＫａ）の方が高タスク優先度の為、タスク（ＴＳＫａ）がＷａｉｔに遷移するまでＲｅａｄｙで待機しなければならない。この待機時間は、タスク起動時刻（ＢＴＩＭ）からの遅延時間に相当し、ジッタ（ＺＴＩＭ）と呼ばれる。
【００４１】
しかし、ここでタスク起動時刻（ＢＴＩＭ）をタスク開始時刻（ＳＴＩＭ）としてサブＷＣＥＴ（Ｓ＿ＷＣＥＴ）を設定した場合、ジッタの分、サブＷＣＥＴ（Ｓ＿ＷＣＥＴ）は遅延し、デッドライン（ＤＬ）を超過してしまう。そうすると、アプリケーションの動作が不安定になる恐れがある。
【００４２】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００４３】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００４４】
本発明の情報処理装置は、プロセッサと、プロセッサに内蔵する又はプロセッサの外部に設けるタイマと、プロセッサが所望する動作周波数のクロックパルスをプロセッサ及びタイマに供給するクロックパルス発生器と、プロセッサが所望する電源電圧ないし基板バイアス電圧をプロセッサに供給する電源供給器とを有し、プロセッサは、ＲＴＯＳと、アプリケーションが実装され且つＲＴＯＳで管理された複数のタスクとによって制御されるものとなっている。
【００４５】
そして、前記情報処理装置は、高タスク優先度のタスクによる割り込み及びジッタによって生じた低タスク優先度のタスクの処理の遅延時間をタイマで計測する遅延時間計測部を有しており、タスクは、自身に複数の処理単位毎に配置した電力制御チェックポイント毎にタイマを用いて計測した実行時間から、この遅延時間計測部で計測済みの遅延時間を引き算した補正実行時間を算出する機能を備えている。
【００４６】
更に、タスクは、前記電力制御チェックポイントの時間間隔を、タスク開始時刻からデッドラインまでのＷＣＥＴを元に線形計画法で予め計画し、このチェックポイント時間間隔にプロセッサの動作周波数を反映させた値と、前記補正実行時間との比較を行う。そして、比較の結果、余裕時間がある場合には、クロックパルス発生器に対して動作周波数を下げるように指令し、電源供給器に対して電源電圧を下げるようにないし基板電圧を上げるように指令し、余裕時間がない場合は、その逆の指令を行う。
【００４７】
また、このような前記情報処理装置に対して、ＷＣＥＴを元に線形計画法で予め計画したチェックポイント時間間隔を、割り込みやジッタによって生じる遅延時間に基づいて修正する機能を備えることも可能である。
【００４８】
以上のような構成によって、電力制御を行う際に、割り込まれて生じた遅延時間を実行時間から除去することができ、また、電力制御を行う前に、サブＷＣＥＴに含まれる遅延時間の影響を回避するようにチェックポイント時間間隔を修正する事が可能となり、さらに、電力制御を行う前に、サブＷＣＥＴに含まれるジッタの影響を回避するようにサブＷＣＥＴを修正する事が可能となる。これによって、前述した第一から第三の課題を解決でき、情報処理装置における消費電力の最適化や、処理の安定性を向上させることなどが可能となる。
【発明の効果】
【００４９】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、特に１プロセッサ上のマルチタスク実装アプリケーションに対して低消費電力効果を発揮し、情報処理装置の省エネルギー化の向上を達成することが出来る。
【発明を実施するための最良の形態】
【００５０】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００５１】
図１は、本発明の一実施の形態による情報処理装置において、その構成の一例を示すブロック図である。ここではバッテリ駆動で且つプロセッサ内蔵の情報処理装置を例として説明する。
【００５２】
図１に示す情報処理装置は、例えば、バッテリパック（ＢＡＴ）と、クロックパルス発生器（ＣＰＧ）と、電源電圧制御回路（ＶＤＤＣＵ）と、閾値電圧制御回路（ＶＴＨＣＵ）と、中央処理装置（ＣＰＵ）と、入出力部（Ｉ／Ｏ）と、プログラムメモリ（ＭＥＭ）と、ワーキングメモリ（ＲＡＭ１）と、バス（ＢＵＳ）などで構成される。
【００５３】
クロックパルス発生器（ＣＰＧ）は、例えばＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）回路を内蔵し、ＣＰＵからの命令によって送信された制御信号（ＦＲＱＣＳ）で設定されるレジスタ（ＲＥＧｂ）により、ＣＰＵ、Ｉ／Ｏ、プログラムメモリ（ＭＥＭ）、ワーキングメモリ（ＲＡＭ１）、およびＢＵＳのそれぞれに所望の動作周波数のクロックパルス（ＦＲＱ）を提供する。
【００５４】
電源電圧制御回路（ＶＤＤＣＵ）は、ＣＰＵからの命令によって送信された制御信号（ＶＤＤＣＳ）で設定されるレジスタ（ＲＥＧｃ）により、ＣＰＵ、Ｉ／Ｏ、ＭＥＭ、ＲＡＭ１、ＢＵＳ、ＣＰＧ、および閾値電圧制御回路（ＶＴＨＣＵ）に対し、バッテリパック（ＢＡＴ）の電池電圧（ＰＷＲ）からそれぞれ所望の電圧に変換した電源電圧（ＶＤＤ）を提供する。閾値電圧制御回路（ＶＴＨＣＵ）は、ＣＰＵからの命令によって送信された制御信号（ＶＢＢＣＳ）で設定されるレジスタ（ＲＥＧｄ）により、ＣＰＵ、Ｉ／Ｏ、ＭＥＭ、ＲＡＭ１、およびＢＵＳに対し、それぞれ所望の基板バイアス電圧（ＶＢＢ）を印加する。
【００５５】
Ｉ／Ｏは、情報処理装置の内部信号を出力する出力部、外部からの割り込みにより外部信号を入力する入力部を内蔵する他に、Ｉ／Ｏのレジスタ（ＲＥＧａ）を操作してＣＰＵの所望の時刻を設定したり、所定の時刻にＣＰＵに対して割り込みを掛けたりするタイマ（ＴＭＵ）も内蔵する。ちなみに出力部は、例えば映像信号をディスプレイに、音声音響信号をスピーカーに出力し、入力部はカメラから撮像信号を、マイクから音声音響信号を入力する。
【００５６】
プログラムメモリ（ＭＥＭ）は、ＲＯＭおよび／またはＲＡＭであり、例えば、アプリケーションプログラム（ＡＰＬ）、リアルタイムオペレーティングシステム（ＲＴＯＳ）、電力管理制御ソフトウェア（ＰＭＣＳ）などを格納する。アプリケーションプログラム（ＡＰＬ）は、例えば、ＭＰＥＧ標準化となっているビデオやオーディオのディジタル信号処理、またはＪａｖａ（登録商標）等のディジタル情報処理機能等が代表的である。ＲＴＯＳは、ＣＰＵ、Ｉ／Ｏ、ＭＥＭ、およびＲＡＭ１をタスクという形態で管理する。
【００５７】
電力管理制御ソフトウェア（ＰＭＣＳ）は、本発明の主要な特徴の一つであり、タイマ（ＴＭＵ）を用いてＡＰＬの時間的処理負荷を計測する事により、ＣＰＵが所望する動作周波数のクロックパルス（ＦＲＱ）をＣＰＵに供給するため、ＣＰＧのレジスタ（ＲＥＧｂ）に制御信号（ＦＲＱＣＳ）を送信する。また、ＰＭＣＳは、同じく所望する電源電圧（ＶＤＤ）をＣＰＵに供給するため、ＶＤＤＣＵのレジスタ（ＲＥＧｃ）に制御信号（ＶＤＤＣＳ）を送信し、同じく所望する基板バイアス電圧（ＶＢＢ）をＣＰＵに印加するため、ＶＴＨＣＵのレジスタ（ＲＥＧｄ）に制御信号（ＶＢＢＣＳ）を送信する。そして、これによって、ＣＰＵの電力制御を行う。
【００５８】
またＰＭＣＳは、未使用のＣＰＵ、Ｉ／Ｏ、ＭＥＭ、およびＲＡＭ１を検出し、レジスタ（ＲＥＧｂ〜ｄ）に制御信号（ＦＲＱＣＳ,ＶＤＤＣＳ,ＶＢＢＣＳ）を送信して、ＣＰＵ、Ｉ／Ｏ、ＭＥＭ、ＲＡＭ１に対してクロックパルス（ＦＲＱ）の停止または電源電圧（ＶＤＤ）の遮断を施す。
【００５９】
図２は、図１の情報処理装置において、そのソフトウェアの詳細を含めた構成の一例を示すブロック図である。図２においては、図１の情報処理装置がハードウェア（ＨＷ）部とソフトウェア部に分けて示されている。そして、図２のソフトウェア部には、図１の例えばプログラムメモリ（ＭＥＭ）に格納されているプログラム機能の一部が示されている。
【００６０】
図２のリアルタイムオペレーティングシステム（ＲＴＯＳ）は、ＣＰＵで駆動するタスク（ＴＳＫ）と、Ｉ／Ｏの割り込みと、メモリ資源であるプログラムメモリ（ＭＥＭ）およびワーキングメモリ（ＲＡＭ１）のメモリブロックを管理する機能などを備えている。ＲＴＯＳがタスク（ＴＳＫ）を割り当てて、且つＴＳＫが所望するメモリ容量を割り当てる。システムコール（ＳＣ）は、ＴＳＫの生成や消去、同期、非同期動作の為のＴＳＫ間のメッセージ通信、メモリ資源及び割り込み等の管理機能をユーザープログラムであるＴＳＫ等から呼び出す、ＲＴＯＳ提供のプログラムインターフェースである。
【００６１】
タスク（ＴＳＫ）は、情報処理装置に対する外部割り込みイベントやタイマ（ＴＭＵ）からのタイマイベントによって起動するスレッド又はプロセス等と呼ばれるＲＴＯＳ管理の１処理単位である。更に各ＴＳＫは、ＲＴＯＳが提供するメッセージ通信機能を用いてＴＳＫ間で同期、非同期動作を実施する。
【００６２】
同期動作とは、ある任意のＴＳＫがＲＴＯＳのメッセージ作成用のシステムコール（ＳＣ）を呼び出して提供されるメッセージ（ＭＳＧ）に伝えたい情報を書き込み、メッセージ送信用のＳＣを呼び出して他のＴＳＫに送信し、自らはメッセージ受信待ち状態遷移用のＳＣを呼び出して待機状態（Ｗａｉｔ）に遷移し、送信したＴＳＫにＣＰＵを開放する事をいう。一方、非同期動作とは、同じく任意のＴＳＫがＲＴＯＳのメッセージ作成用のＳＣを呼び出して提供されるＭＳＧに、伝えたい情報を書き込んで、メッセージ送信用のＳＣを呼び出して他のＴＳＫに送信する。しかし、実行状態（Ｒｕｎ）に引き続き留まり、自分の処理の終了または自分よりタスク優先度が高いＴＳＫに割り込まれるまでＣＰＵを占有する事をいう。
【００６３】
メッセージ（ＭＳＧ）は、メッセージ作成用のシステムコール（ＳＣ）が呼び出されればその都度、ＲＴＯＳによって生成される。ＭＳＧの実態は例えば、ＲＴＯＳがワーキングメモリ（ＲＡＭ１）から一部取得した、タスク（ＴＳＫ）間で共有出来るメモリブロックである。
【００６４】
図３は、図２におけるメッセージのフォーマットの一例を示す説明図である。図３のメッセージ（ＭＳＧ）の中味である送信パラメータは、説明を容易にする為の一例であり、様々なフォーマットが可能である。
【００６５】
送信パラメータＡの内容であるＴｏ＿ＩＤは、ＭＳＧの送信先、受信元タスクのＩＤを表す。送信パラメータＢの内容であるＦｒｏｍ＿ＩＤは、ＭＳＧの送信元、受信先タスクのＩＤを表す。送信パラメータＣの内容であるイベント番号は、ＭＳＧの受信先タスクに実施させたい機能の番号を表す。送信パラメータＤの内容である引数は、ＭＳＧの送信先、受信元タスクのタスク優先度を表す。送信パラメータＥからＨの内容である引数は、ＭＳＧの受信先タスクに送信したい情報を表す。
【００６６】
図２に戻り、アプリケーションプログラム（ＡＰＬ）は、本発明の主要な特徴の一つであるミドルウェアプログラム（ＭＷ）と単数ないし複数のタスク（ＴＳＫａ〜ＴＳＫｇ）で構成する。ＭＷは、アプリケーションプログラムインターフェース（ＡＰＩ）を介して情報処理装置が所望する処理機能をタスク（ＴＳＫａ〜ＴＳＫｇ）に提供する。
【００６７】
図２の電力管理制御プログラム（ＰＭＣＰ）は、電力管理制御プログラムインターフェース（ＰＭＣＰＩ）を介して、ＣＰＵの時間的処理負荷や未使用のモジュール、例えばＣＰＵ、Ｉ／Ｏ、ＭＥＭ、およびＲＡＭ１の状況を把握し、ＣＰＵからクロックパルス発生器（ＣＰＧ）、電源電圧制御回路（ＶＤＤＣＵ）及び閾値電圧制御回路（ＶＴＨＣＵ）に対して所望の電力、クロックパルス（ＦＲＱ）や電源電圧（ＶＤＤ）や基板バイアス電圧（ＶＢＢ）を供給するように命令する。
【００６８】
図４は、図２のソフトウェア部において、そのミドルウェアプログラムの詳細を含めた構成の一例を示すブロック図である。図４のミドルウェアプログラム（ＭＷ）は、例えば、メディア処理ミドルウェア（ＭＷａ）、デバイスドライバ（ＤＤ）、実行準備状態管理プログラム（ＲＳＭＰ）などで構成される。また、図４のアプリケーションプログラムインターフェース（ＡＰＩ）は、ＭＷａ、ＤＤ、ＲＳＭＰにそれぞれ対応して、ミドルウェアインターフェース（ＭＩ）、デバイスドライバインターフェース（ＤＩ）、実行準備状態管理プログラムインターフェース（ＲＩ）を含んでいる。
【００６９】
メディア処理ミドルウェア（ＭＷａ）は、例えばＭＰＥＧ標準化となっているビデオ及びオーディオ機能、更にＪａｖａ（登録商標）でプログラミングされた位置検出機能等に相当する。デバイスドライバ（ＤＤ）は、例えば、ディスプレイへの映像信号の出力、スピーカーへの音響信号の出力の為等のＩ／Ｏにおける割り込み管理プログラムに相当する。本実施の形態では、ＭＷａは、ＣＰＵやＤＳＰ（ディジタル信号処理ユニット）やＦＰＵ（浮動小数点演算ユニット）に内蔵のレジスタ（ＲＥＧ）を直接操作したり、システムコール（ＳＣ）を介してＲＴＯＳ提供のメモリやタスクや割り込みの管理機能を用いたり、電力管理制御プログラムインターフェース（ＰＭＣＰＩ）を介して電力管理制御プログラム（ＰＭＣＰ）が提供する電力制御、電力管理機能を用いたりする事を許容する。
【００７０】
図５は、図１の情報処理装置において、そのソフトウェアの一つである電力管理制御ソフトウェア（ＰＭＣＳ）の詳細な構成の一例を示すブロック図である。図５に示す電力管理制御ソフトウェア（ＰＭＣＳ）は、図２に示した電力管理制御プログラム（ＰＭＣＰ）や、図４に示した実行準備状態管理プログラム（ＲＳＭＰ）や、実行準備状態管理タスク（以下、ＲＴＭタスクという）（ＴＳＫａ）で構成する。
【００７１】
図４でも記載したＲＳＭＰは、任意のタスク（ＴＳＫ）がＲｅａｄｙになる毎にタイマ（ＴＭＵ）を用いてプリエンプト時刻を記録し、Ｒｅａｄｙになったタスク数を把握する機能を具備する。そしてディスパッチされるタスク（ＴＳＫ）の前記プリエンプト時刻と、ディスパッチ時のディスパッチ時刻から、割り込まれたＴＳＫの処理の遅延時間（ＤＴＩＭ）を算出する機能も具備する。Ｒｅａｄｙになったタスク数は、実行開始命令を発行されて直ぐにでも処理しなければならないタスクの数を表す。従ってＲＳＭＰは、ＡＶ再生機におけるシステムの忙しさの情報も他のＴＳＫに提供する事が出来る。
【００７２】
ＲＴＭタスク（ＴＳＫａ）は、ＲＩを呼び出して、ＲＳＭＰの機能を実施する。メッセージ（ＭＳＧ）が、ＲＴＭタスク（ＴＳＫａ）宛でない、つまり図３のＴｏ＿ＩＤがＲＴＭタスク（ＴＳＫａ）のＩＤでなかった場合には、Ｔｏ＿ＩＤのタスクＩＤである他のタスク（ＴＳＫ）にＭＳＧを再送信する。反対に、ＲＴＭタスク（ＴＳＫａ）宛である、つまりＴｏ＿ＩＤがＲＴＭタスク（ＴＳＫａ）のＩＤである場合には、受信したＭＳＧを再送信しない。
【００７３】
以下では本願発明の情報処理装置の動作説明を解かり易くする為、ＲＴＭタスク（ＴＳＫａ）、ＰＣＭ出力タスク（ＴＳＫｂ）、画像表示タスク（ＴＳＫｃ）、出力時間管理タスク（ＴＳＫｄ）、オーディオ処理タスク（ＴＳＫｅ）、ビデオ処理タスク（ＴＳＫｆ）及びスリープタスク（ＴＳＫｇ）という７つのタスクで構成した情報処理装置の１例であるＡＶ再生機を想定して説明する。各タスク（ＴＳＫ）の詳細な処理フローは後に記述する事とし、機能について以下に簡潔に紹介する。
【００７４】
出力時間管理タスク（ＴＳＫｄ）は、ＰＣＭ出力タスク（ＴＳＫｂ）で音声音響信号をスピーカーに出力する時刻、及び画像表示タスク（ＴＳＫｃ）で映像信号をディスプレイに出力する時刻等のデッドライン（ＤＬ）を管理し、デッドライン（ＤＬ）をＲＴＯＳに認識させる機能を具備する。デッドライン（ＤＬ）になった際、ＲＴＯＳからＰＣＭ出力タスク（ＴＳＫｂ）または画像表示タスク（ＴＳＫｃ）に対してそれぞれ、起動イベント用メッセージが発信される事になる。
【００７５】
ＰＣＭ出力タスク（ＴＳＫｂ）は、情報処理装置のＩ／Ｏに接続されたスピーカー等から音響音声信号を出力する機能を具備する。画像表示タスク（ＴＳＫｃ）は、情報処理装置のＩ／Ｏに接続されたディスプレイ等から画像を表示する機能を具備する。オーディオ処理タスク（ＴＳＫｅ）は、例えばＭＰ３やＭＰＥＧ−ＡＡＣ等の音声圧縮データをＰＣＭ信号に復号化を実施する機能を具備する。
【００７６】
ビデオ処理タスク（ＴＳＫｆ）は、例えばＭＰＥＧ等の画像圧縮データを映像信号に復号化を実施する機能を具備する。スリープタスク（ＴＳＫｇ）は、他の全てのタスク（ＴＳＫ）がＷａｉｔになった、つまりＡＶ再生機のシステム全体においてアイドル状態になった際に、ＣＰＵへのクロックパルス（ＦＲＱ）の提供を停止する機能を具備する。
【００７７】
タスク優先度については、ＲＴＭタスク（ＴＳＫａ）、ＰＣＭ出力タスク（ＴＳＫｂ）、画像表示タスク（ＴＳＫｃ）、出力時間管理タスク（ＴＳＫｄ）、オーディオ処理タスク（ＴＳＫｅ）、ビデオ処理タスク（ＴＳＫｆ）、スリープタスク（ＴＳＫｇ）の順に高タスク優先度を割り付ける。ＰＣＭ出力タスク（ＴＳＫｂ）の方が画像表示タスク（ＴＳＫｃ）よりもタスク優先度が高く、且つオーディオ処理タスク（ＴＳＫｅ）の方がビデオ処理タスク（ＴＳＫｆ）よりもタスク優先度が高い理由は、音響音声信号の出力時刻の間隔が映像信号の出力時刻の間隔よりも短く、処理が乱れた場合に音響音声信号の方が映像信号よりも主観的な違和感が目立つからである。
【００７８】
各タスク（ＴＳＫ）は所望の処理を行う為、図３のようなメッセージ（ＭＳＧ）のフォーマットに従って送信パラメータＡからＨをそれぞれの内容に従って書き込む。そして各タスク（ＴＳＫ）は書き込まれたＭＳＧの送受信を繰り返しながら、所望の同期、非同期処理を実施する。
【００７９】
以下にＡＶ再生機内部の各タスク（ＴＳＫ）の動作を説明する。
【００８０】
図６は、アプリケーションタスクフレームワーク動作のフローチャートを説明する図である。アプリケーションタスクは、ＰＣＭ出力タスク（ＴＳＫｂ）、画像表示タスク（ＴＳＫｃ）、出力時間管理タスク（ＴＳＫｄ）、オーディオ処理タスク（ＴＳＫｅ）、ビデオ処理タスク（ＴＳＫｆ）に該当する。
【００８１】
アプリケーションタスクは、アプリケーションタスク処理開始点（Ｓ６０１）から処理を開始する。アプリケーションタスク処理開始点（Ｓ６０１）では、当該アプリケーションタスクで使用するワーキングメモリ（ＲＡＭ１）のメモリ空間の初期化を実施する。
【００８２】
メッセージ受信待ち判別処理（Ｓ６０２）は、アプリケーションタスクへの起動イベントとしてメッセージ（ＭＳＧａ）が届いているかを判別し、届いていたらアプリケーション処理（Ｓ６０３）を行い、届いていなければメッセージ（ＭＳＧａ）が受信されるまで、アプリケーションタスクをＷａｉｔに遷移させる。なお、メッセージ受信待ち判別処理（Ｓ６０２）の機能は、実行準備状態管理プログラムインターフェース（ＲＩ）を呼び出す事でシステムコール（ＳＣ）を介してＲＴＯＳから提供される。
【００８３】
待機状態遷移処理（Ｓ６０４）は、アプリケーション処理（Ｓ６０３）が終了した事をＲＴＭタスク（ＴＳＫａ）に知らせる為、メッセージ（ＭＳＧｂ）のＴｏ＿ＩＤにＲＴＭタスク（ＴＳＫａ）のＩＤを書き込み、ＲＩを呼び出してシステムコール（ＳＣ）を介してメッセージ（ＭＳＧｂ）をＲＴＭタスク（ＴＳＫａ）に送信する。最後にＳＣを介してアプリケーションタスクをＷａｉｔに遷移させる。
【００８４】
アプリケーションタスクフレームワークは、図６のアプリケーション処理（Ｓ６０３）のみを換える事で、情報処理装置の開発を容易にする為のプログラムのフォーマットである。従って、アプリケーション処理（Ｓ６０３）に、ＰＣＭ出力タスク（ＴＳＫｂ）、画像表示タスク（ＴＳＫｃ）、出力時間管理タスク（ＴＳＫｄ）、オーディオ処理タスク（ＴＳＫｅ）、ビデオ処理タスク（ＴＳＫｆ）のそれぞれに対応の処理を実装すればよい。各タスク（ＴＳＫ）におけるアプリケーション処理（Ｓ６０３）の詳細を説明する。
【００８５】
出力時間管理タスク（ＴＳＫｄ）のアプリケーション処理（Ｓ６０３）である出力時間管理処理（Ｓ６０３ｄ）は、例えば通信や放送によって受信した、またはハードディスクやフラッシュメモリ等の蓄積メディアに記録されたＡＶビットストリームデータを、１フレームオーディオビットストリームデータないし１フレームビデオビットストリームデータに逐次分解すると同時に、１フレームオーディオ出力時刻ないし１フレームビデオ表示時刻も前記ＡＶビットストリームデータから分解し抽出する。
【００８６】
更に前記１フレームビデオ表示時刻が画像表示タスク（ＴＳＫｄ）のＲｕｎへの遷移時刻ないし１フレームオーディオ出力時刻がＰＣＭ出力タスク（ＴＳＫｃ）のＲｕｎへの遷移時刻となるようにシステムコール（ＳＣ）を呼び出してタイマ（ＴＭＵ）を設定する。最後にＲＩを呼び出し、ＳＣを介してメッセージ（ＭＳＧａ）のＴｏ＿ＩＤにオーディオ処理タスク（ＴＳＫｅ）ないしビデオ処理タスク（ＴＳＫｆ）のＩＤを、Ｆｒｏｍ＿ＩＤに出力時間管理タスク（ＴＳＫｄ）のＩＤを書き込み、再度ＲＩを呼び出してＳＣを介してメッセージ（ＭＳＧａ）をＲＴＭタスク（ＴＳＫａ）経由でオーディオ処理タスク（ＴＳＫｅ）ないしビデオ処理タスク（ＴＳＫｆ）に送信する。従って一旦、メッセージ（ＭＳＧａ）をＲＴＭタスク（ＴＳＫａ）に送信する事になる。
【００８７】
オーディオ処理タスク（ＴＳＫｅ）のアプリケーション処理（Ｓ６０３）であるオーディオ復号化処理（Ｓ６０３ｅ）は、出力時間管理タスク（ＴＳＫｄ）の出力時間管理処理（Ｓ６０３ｄ）で分解された前記１フレームオーディオビットストリームをＰＣＭ信号に復号する。オーディオ復号化処理（Ｓ６０３ｅ）は、例えばＭＰＥＧ−ＡＡＣ−ＤｅｃｏｄｅｒやＭＰ３−Ｄｅｃｏｄｅｒに相当する。
【００８８】
ビデオ処理タスク（ＴＳＫｆ）のアプリケーション処理（Ｓ６０３）であるビデオ復号化処理（Ｓ６０３ｆ）は、出力時間管理タスク（ＴＳＫｄ）の前記出力時間管理処理（Ｓ６０３ｄ）で分解された前記１フレームビデオビットストリームを映像信号に復号する。ビデオ復号化処理（Ｓ６０３ｆ）は、例えばＭＰＥＧ−４−Ｖｉｄｅｏ−ＤｅｃｏｄｅｒやＨ．２６４−Ｄｅｃｏｄｅｒに相当する。
【００８９】
ＰＣＭ出力タスク（ＴＳＫｂ）のアプリケーション処理（Ｓ６０３）であるＰＣＭ出力処理（Ｓ６０３ｂ）は、オーディオ処理タスク（ＴＳＫｅ）で復号したＰＣＭ信号をスピーカーに出力する。そして実行準備状態管理プログラムインターフェース（ＲＩ）を呼び出し、システムコール（ＳＣ）を介してメッセージ（ＭＳＧａ）のＴｏ＿ＩＤに出力時間管理タスク（ＴＳＫｄ）のＩＤを、Ｆｒｏｍ＿ＩＤにＰＣＭ出力タスク（ＴＳＫｂ）のＩＤを書き込み、再度ＲＩを呼び出し、ＳＣを介してメッセージ（ＭＳＧａ）をＲＴＭタスク（ＴＳＫａ）経由で出力時間管理タスク（ＴＳＫｄ）に送信する。従って一旦、メッセージ（ＭＳＧａ）をＲＴＭタスク（ＴＳＫａ）に送信する事になる。
【００９０】
画像表示タスク（ＴＳＫｃ）のアプリケーション処理（Ｓ６０３）である画像出力処理（Ｓ６０３ｃ）は、ビデオ処理タスク（ＴＳＫｆ）で復号した画像信号をディスプレイに表示する。そしてＲＩを呼び出し、ＳＣを介してメッセージ（ＭＳＧａ）のＴｏ＿ＩＤに出力時間管理タスク（ＴＳＫｄ）のＩＤを、Ｆｒｏｍ＿ＩＤに画像表示タスク（ＴＳＫｃ）のＩＤを書き込み、再度ＲＩを呼び出し、ＳＣを介してメッセージ（ＭＳＧａ）をＲＴＭタスク（ＴＳＫａ）経由で出力時間管理タスク（ＴＳＫｄ）に送信する。従って一旦、メッセージ（ＭＳＧａ）をＲＴＭタスク（ＴＳＫａ）に送信する事になる。
【００９１】
なお、前記１フレームオーディオ出力時刻になると、ＰＣＭ出力タスク（ＴＳＫｂ）にＲＴＯＳからＲＴＭタスク（ＴＳＫａ）経由で起動用メッセージ（ＭＳＧａ）が送信され、ＰＣＭ出力タスク（ＴＳＫｂ）がＲｕｎに遷移する。更に、前記１フレームビデオ出力時刻になると、画像表示タスク（ＴＳＫｃ）にＲＴＯＳからＲＴＭタスク（ＴＳＫａ）経由で起動用メッセージ（ＭＳＧａ）が送信され、画像表示タスク（ＴＳＫｃ）がＲｕｎに遷移する。
【００９２】
図７は、スリープタスク動作のフローチャートを説明する図である。スリープタスク（ＴＳＫｇ）のスリーププログラム開始点（Ｓ７０１）から開始し、スリープ処理（Ｓ７０２）に進む。
【００９３】
スリープ処理（Ｓ７０２）は、ＣＰＵに供給のクロックパルス（ＦＲＱ）を停止するようにクロックパルス発生器（ＣＰＧ）のレジスタ（ＲＥＧｂ）を設定し、ＣＰＵを停止させる。また、電源電圧制御回路（ＶＤＤＵＣ）のレジスタ（ＲＥＧｃ）で設定し、ＣＰＵへの電力を遮断させるとより低消費電力効果が現れる。スリープタスク（ＴＳＫｇ）は最低優先度タスクなので、スリープタスク（ＴＳＫｇ）以外の全タスクがＷａｉｔ、つまりアイドル状態になったらスリープタスク（ＴＳＫｇ）がディスパッチされ、ＣＰＵを停止する。またＩ／Ｏまたはタイマ（ＴＭＵ）からの割り込みが生じるとアイドル状態からスリープタスク（ＴＳＫｇ）がプリエンプトされ、通常の動作に復帰する。
【００９４】
図８は、ＲＴＭタスク動作のフローチャートを説明する図である。
【００９５】
ＲＴＭタスク（ＴＳＫａ）は、ＲＴＭタスク初期化処理開始点（Ｓ８０１）で、プリエンプト時刻スタックメモリ（ＳＴ＿ＲＡＭａ）、電力モードスタックメモリ（ＳＴ＿ＲＡＭｂ）、プリエンプト時刻スタックポインタ（ＳＰａ）、電力モードスタックポインタ（ＳＰｂ）、割り込み時間格納メモリ（ＲＡＭａ）、復帰電力モード格納メモリ（ＲＡＭｂ）のメモリエリアをワーキングメモリ（ＲＡＭ１）から取得し、プリエンプト時刻スタックポインタ（ＳＰａ）をプリエンプト時刻スタックメモリ（ＳＴ＿ＲＡＭａ）の０番地に、電力モードスタックポインタ（ＳＰｂ）を電力モードスタックメモリ（ＳＴ＿ＲＡＭｂ）の０番地に初期化した後、ＲＩを呼び出し、ＳＣを介してメッセージ受信待ち判別処理（Ｓ８０２）を実施する。なお、電力モードとは、情報処理装置で設定可能なクロックパルス（ＦＲＱ）、電源電圧（ＶＤＤ）、基板バイアス電圧（ＶＢＢ）の数値の組合せを数値で表したものである。
【００９６】
メッセージ受信待ち判別処理（Ｓ８０２）は、ＲＴＭタスク（ＴＳＫａ）への起動イベントとしてメッセージ（ＭＳＧａ）またはメッセージ（ＭＳＧｂ）が届いているかを判別し、届いていたら宛先判別処理（Ｓ８０３）を行い、届いていなければＭＳＧａないしＭＳＧｂが受信されるまでＲＴＭタスク（ＴＳＫａ）をＷａｉｔに遷移させる。なお、Ｗａｉｔへの遷移は、ＲＩを呼び出し、ＳＣを介す事でメッセージ受信待ち判別処理（Ｓ８０２）の機能が、ＲＴＯＳから提供される。
【００９７】
宛先判別処理（Ｓ８０３）は、受信したメッセージ（ＭＳＧ）がＲＴＭタスク（ＴＳＫａ）宛、つまり、Ｆｒｏｍ＿ＩＤがＲＴＭタスク（ＴＳＫａ）のＩＤかどうか、メッセージ（ＭＳＧａ）かメッセージ（ＭＳＧｂ）かどうかを判別する。もし、Ｔｏ＿ＩＤがＲＴＭタスク（ＴＳＫａ）のＩＤでならばＰＯＰ処理（Ｓ８０４）、Ｔｏ＿ＩＤがＲＴＭタスク（ＴＳＫａ）のＩＤ以外ならばＰＵＳＨ処理（Ｓ８０５）に処理に進める。
【００９８】
図９は、図８におけるＰＵＳＨ処理の動作を説明する図である。
【００９９】
ＰＵＳＨ処理（Ｓ８０５）は、プリエンプト時刻スタックポインタ（ＳＰａ）に指されている、プリエンプト時刻スタックメモリ（ＳＴ＿ＲＡＭａ）のスタックメモリ番地（ＡＤＤａ）に、プリエンプト時のタイマ（ＴＭＵ）の時刻、つまりプリエンプト時刻を記録すると共にプリエンプト時刻スタックポインタ（ＳＰａ）の値に１を加算する。更に電力モードスタックポインタ（ＳＰｂ）に指されている、電力モードスタックメモリ（ＳＴ＿ＲＡＭｂ）のスタックメモリ番地（ＡＤＤｂ）に、プリエンプト時の電力モードの値を記録し、電力モードスタックポインタ（ＳＰｂ）の値に１を加算する。そして受信したメッセージ（ＭＳＧａ）を同メッセージに書き込まれているＴｏ＿ＩＤのＩＤに相当するタスク（ＴＳＫ）に再送する。
【０１００】
例えばビデオ処理タスク（ＴＳＫｆ）の処理途中で出力時間管理タスク（ＴＳＫｄ）がメッセージ（ＭＳＧａ）をＲＴＭタスク（ＴＳＫａ）経由でオーディオ処理タスク（ＴＳＫｅ）に送信、つまり出力時間管理タスク（ＴＳＫｄ）から送信されたメッセージ（ＭＳＧａ）をＲＴＭタスク（ＴＳＫａ）が受信し、更にＲＴＭタスク（ＴＳＫａ）がＰＵＳＨ処理（Ｓ８０５）で受信メッセージ（ＭＳＧａ）をオーディオ処理タスク（ＴＳＫｅ）に再送した場合、再送されたメッセージ（ＭＳＧａ）を受信したオーディオ処理タスク（ＴＳＫｅ）がビデオ処理タスク（ＴＳＫｆ）の処理途中で割り込み、オーディオ処理タスク（ＴＳＫｅ）が終了してＷａｉｔに遷移するまで、ビデオ処理タスク（ＴＳＫｆ）はプリエンプトされる。
【０１０１】
ＰＵＳＨ処理（Ｓ８０５）でプリエンプト時刻スタックメモリ（ＳＴ＿ＲＡＭａ）に記録されたプリエンプト時刻は略、ビデオ処理タスク（ＴＳＫｆ）にとってオーディオ処理タスク（ＴＳＫｅ）に割り込まれた時刻に相当する。つまり、低タスク優先度のタスク（ＴＳＫｆ）から見て高タスク優先度のタスク（ＴＳＫｅ）に割り込まれた時刻という事になる。また、同時に記録された電力モードは割り込まれる前の低タスク優先度のタスクで動作していた電力モードとなる。
【０１０２】
図１０は、図８におけるＰＯＰ処理の動作を説明する図である。
【０１０３】
ＰＯＰ処理（Ｓ８０４）は、プリエンプト時刻スタックポインタ（ＳＰａ）の値を１減算し、これによって指されるプリエンプト時刻スタックメモリ（ＳＴ＿ＲＡＭａ）のスタックメモリ番地（ＡＤＤａ）において、その番地に格納されたプリエンプト時刻を、現時点のタイマ（ＴＭＵ）の時刻から引き算し、この引き算して得た時間値を割り込み時間格納メモリ（ＲＡＭａ）に格納する。更に電力モードスタックポインタ（ＳＰｂ）の値を１減算し、これによって指される電力モードスタックメモリ（ＳＴ＿ＲＡＭｂ）のスタックメモリ番地（ＡＤＤｂ）において、その番地に格納された電力モードの値を復帰電力モード格納メモリ（ＲＡＭｂ）に格納する。そして復帰電力モード格納メモリ（ＲＡＭｂ）に格納された電力モードに従って電力、つまりクロックパルス（ＦＲＱ）、電源電圧（ＶＤＤ）、基板バイアス電圧（ＶＢＢ）を再設定する。
【０１０４】
例えばオーディオ処理タスク（ＴＳＫｅ）でオーディオ復号化処理（Ｓ６０３ｅ）が終了すると、待機状態遷移処理（Ｓ６０４）を実施し、オーディオ処理タスク（ＴＳＫｅ）からＲＴＭタスク（ＴＳＫａ）宛、つまりＴｏ＿ＩＤにＲＴＭタスク（ＴＳＫａ）のＩＤが書きこまれたメッセージ（ＭＳＧｂ）が送信され、そしてＲＴＭタスク（ＴＳＫａ）がメッセージ（ＭＳＧｂ）を受信するとＰＯＰ処理（Ｓ８０４）が実施される。ＰＯＰ処理（Ｓ８０４）が終了すると略同時に、プリエンプトされていたビデオ処理タスク（ＴＳＫｆ）がディスパッチされる。ＰＯＰ処理（Ｓ８０４）で格納した割り込み時間格納メモリ（ＲＡＭａ）の値は、ビデオ処理タスク（ＴＳＫｆ）がオーディオ処理タスク（ＴＳＫｅ）に割り込まれた時間、つまり低タスク優先度のタスク（ＴＳＫｆ）の処理の遅延時間（ＤＴＩＭ）に相当し、復帰電力モード格納メモリ（ＲＡＭｂ）の値は、オーディオ処理タスク（ＴＳＫｅ）に割り込まれる直前のビデオ処理タスク（ＴＳＫｆ）の電力モードに相当する。
【０１０５】
また本発明においては、ＰＯＰ処理（Ｓ８０４）およびＰＵＳＨ処理（Ｓ８０５）に、前述したようなスタックメモリではなく、リンクリストを用いて実施することも可能である。
【０１０６】
図１１は、図８におけるＰＯＰ処理およびＰＵＳＨ処理にリンクリストを用いた場合のＲＴＭタスクの初期化動作の一例を示す説明図である。
【０１０７】
ＲＴＭタスク（ＴＳＫａ）は、先ずＲＴＭタスク初期化処理開始点（Ｓ８０１）でワーキングメモリ（ＲＡＭ１）にプリエンプト時刻リンクリスト（ＬＫ＿ＬＴａ）及び電力モードリンクリスト（ＬＫ＿ＬＴｂ）、つまりプリエンプト時刻リンクリストの番兵（ＳＴＬａ）、電力モードリンクリストの番兵（ＳＴＬｂ）を作成し、番兵（ＳＴＬａ）及び番兵（ＳＴＬｂ）のリンクリストポインタ（ＬＬＰａ）及びリンクリストポインタ（ＬＬＰｂ）は、自分自身のリンクリストメモリの先頭メモリ番地を指すように設定する。
【０１０８】
図１２は、図８におけるＰＵＳＨ処理にリンクリストを用いた場合の動作の一例を示す説明図である。
【０１０９】
リンクリストを用いたＰＵＳＨ処理（Ｓ８０５）は先ず、ワーキングメモリ（ＲＡＭ１）にプリエンプト時刻格納用のリスト（ＬＴａ）及び電力モード格納用のリスト（ＬＴｂ）を獲得し、リスト（ＬＴａ）にはメッセージ（ＭＳＧａ）に記載のタスク優先度とプリエンプト時刻を、リスト（ＬＴｂ）にはＭＳＧａに記載のタスク優先度とプリエンプト時の電力モードの値を記録する。
【０１１０】
そしてリスト（ＬＴａ）をリンクリスト（ＬＫ＿ＬＴａ）に、リスト（ＬＴｂ）をリンクリスト（ＬＫ＿ＬＴｂ）に挿入、つまりリンクリストポインタ（ＬＬＰａ）にリスト（ＬＴａ）の先頭メモリ番地を、リンクリストポインタ（ＬＬＰｂ）にリスト（ＬＴｂ）の先頭メモリ番地を格納する。
【０１１１】
その後、リンクリストを用いたＰＵＳＨ処理（Ｓ８０５）を実施する都度、前述したようにリスト（ＬＴ）に記載されたタスク優先度の高い順番にリスト（ＬＴ）をリンクリスト（ＬＫ＿ＬＴ）に並べる、つまり番兵（ＳＴＬ）及び既に挿入されているリスト（ＬＴ）のリンクリストポインタ（ＬＬＰ）に、新しく挿入するリスト（ＬＴ）の先頭メモリ番地を格納することになる。
【０１１２】
図１３は、図８におけるＰＯＰ処理にリンクリストを用いた場合の動作の一例を示す説明図である。
【０１１３】
リンクリストを用いたＰＯＰ処理（Ｓ８０４）は先ず、番兵（ＳＴＬ）のリンクリストポインタ（ＬＬＰ）に格納のメモリ番地のリスト（ＬＴ）を解放する。つまり解放するリスト（ＬＴ）に記録しているリンクリストポインタ（ＬＬＰ）のメモリ番地を、番兵（ＳＴＬ）のリンクリストポインタ（ＬＬＰ）に格納する。
【０１１４】
そして解放したプリエンプト時刻格納用のリスト（ＬＴａ）に記録されているプリエンプト時刻を現時点のＴＭＵの時刻から引き算し、この引き算して得た時間値を割り込み時間格納メモリ（ＲＡＭａ）に格納する。同じく、解放した電力モード格納用のリスト（ＬＴｂ）に記録されている電力モードの値を復帰電力モード格納メモリ（ＲＡＭｂ）に格納する。そして最後に、解放したリスト（ＬＴ）をワーキングメモリ（ＲＡＭ１）に戻す。
【０１１５】
上記のような一連のリンクリスト（ＬＫ＿ＬＴ）の動作は、図２８で述べたＲＴＯＳの内部処理である、Ｒｅａｄｙ  Ｑｕｅｕｅのスケジューリングに相当する。従って、図２８のＴＣＢにプリエンプト時刻と電力モードの記録部を持たせ、ＲＴＭタスクと同等の機能を提供するシステムコール（ＳＣ）を設ければ、ＲＴＭタスクの実装は省ける。
【０１１６】
以上のように、ＰＯＰ処理及びＰＵＳＨ処理を用いることによって、高優先度タスクの割り込みなどに伴う遅延時間（ＤＴＩＭ）を記録する機能や低優先度タスクが復帰する際の電力モードを記録する機能を容易に実現することが可能となる。そして、このような処理をスタックメモリやリンクリストなどを用いて実装することで、ＡＶ再生機の正常動作が可能となる。
【０１１７】
次に、本願発明であるマルチタスク処理に対応した電力制御方法について説明する。
【０１１８】
実際の電力制御は、図６のアプリケーション処理（Ｓ６０３）の内部で、前述した図２９のフローチャートの動作を実施する。つまりアプリケーションプログラム開始点（Ｓ２９０１）からアプリケーションプログラム終了点（Ｓ２９０３）までの間で、初期化処理（Ｓ２９０２）、アプリケーションスライス（ＡＳ）、電力制御チェックポイント（ＣＰ）、繰り返し判別処理（ＪＧＥ）の一連の処理を実施する。本明細書ではアプリケーションスライス（ＡＳ）の一例として、ＭＰＥＧ−４−ビデオ−Ｄｅｃｏｄｅｒプログラムにおけるアプリケーションスライスを説明する。
【０１１９】
図１４は、図１の情報処理装置をＭＰＥＧ−４−ビデオ−Ｄｅｃｏｄｅｒとした場合のアプリケーションスライスの処理の一例を示す説明図である。
【０１２０】
図１４ではＱＣＩＦと呼ばれる縦１４４画素、横１７６画素の１フレームの画像フォーマット（ＦＭＴ）を取り上げた。ＭＰＥＧ−４−ビデオ−Ｄｅｃｏｄｅｒは、マクロブロック（ＭＢ）と呼ばれる縦１６画素、横１６画素の画素ブロック毎に画像の復号化処理を繰り返す。ＭＰＥＧ−４−ビデオ−Ｄｅｃｏｄｅｒの処理において、マクロブロック（ＭＢ）毎の画像の復号化処理がアプリケーションスライス（ＡＳ）となる。従ってＱＣＩＦサイズのＭＢは９９ブロック存在するので、９９回、アプリケーションスライス（ＡＳ）を実施する事になる。
【０１２１】
なお、画像フォーマット（ＦＭＴ）が縦９６画素、横１４４画素であるＳｕｂ−ＱＣＩＦの場合はマクロブロック数が４８となるので、ＡＳの数は４８となる。また、ＭＰＥＧ−ＡＡＣやＭＰ３のＤｅｃｏｄｅｒの場合、アプリケーションスライス（ＡＳ）の数は例えばチャネル数に相当する。ステレオ再生ならばＡＳの数は２回である。言い換えれば、音声音響復号化処理であるＭＰ３−Ｄｅｃｏｄｅｒプログラムの場合は、チャンネル単位のＤｅｃｏｄｅ処理がＡＳとなる。
【０１２２】
図１５は、図１の情報処理装置を用いたアプリケーション処理の中で、図２９の電力制御チェックポイントの動作を行う場合の処理の一例を示すフロー図である。電力制御チェックポイント（ＣＰ）は、余裕時間計測処理（Ｓ１５０１）、動作周波数予測処理（Ｓ１５０２）、電力制御処理（Ｓ１５０３）の順に処理を実施する。なお、アプリケーションプログラム開始（Ｓ２９０１）の時点でシステムコール（ＳＣ）にて、タイマ（ＴＭＵ）の時刻をタスク開始時刻（ＳＴＩＭ）として記録する。
【０１２３】
図１６は、図１５の余裕時間計測処理の一例を示すフロー図である。余裕時間計測処理（Ｓ１５０１）は、サブＷＣＥＴ算出処理（Ｓ１６０１）、実行時間補正処理（Ｓ１６０２）、余裕時間算出処理（Ｓ１６０３）の順に処理を実施する。サブＷＣＥＴ算出処理（Ｓ１６０１）は、第１サブＷＣＥＴ算出処理（Ｓ１６０１ａ）と第２サブＷＣＥＴ算出処理（Ｓ１６０１ｂ）の２種類がある。両方とも前述したＡＶ再生機に限らず情報処理装置のコンセプトによって使い分ける事が有効である。
【０１２４】
図１７は、図１６におけるサブＷＣＥＴ処理の内の第１サブＷＣＥＴ算出処理の一例を示す説明図である。第１サブＷＣＥＴ算出処理（Ｓ１６０１ａ）は、電力制御を実施する前に、予め割り込み時間つまり遅延時間（ＤＴＩＭ）を見越し、タスク開始時刻（ＳＴＩＭ）からデッドライン（ＤＬ）までの時間幅であるＷＣＥＴよりも短い時間幅である仮想ＷＣＥＴ（ＷＣＥＴ＿Ｘ）と、全アプリケーションスライス数により、チェックポイント時間間隔（ＣＰＴＩＭ＿Ｘ）を設定し、そのチェックポイント時間間隔（ＣＰＴＩＭ＿Ｘ）とアプリケーションスライス処理経過管理部（ＡＳＣＵ）に格納の値、つまり現時点のアプリケーションスライスの繰り返し数に１加算した値の積算を施して、サブＷＣＥＴ（Ｓ＿ＷＣＥＴ）を求める。ＡＶ再生機が流通する前の製造及び生産の段階で予め、チェックポイント時間間隔（ＣＰＴＩＭ）をＡＶ再生機に内蔵しておく事になる。
【０１２５】
図１８は、図１６におけるサブＷＣＥＴ処理の内の第２サブＷＣＥＴ算出処理の一例を示す説明図である。第２サブＷＣＥＴ算出処理（Ｓ１６０１ｂ）は、電力制御を実施する前に予め、タスク開始時刻（ＳＴＩＭ）からデッドライン（ＤＬ）までの時間幅であるＷＣＥＴと、全アプリケーションスライス数により、チェックポイント時間間隔（ＣＰＴＩＭ）を設定し、そのチェックポイント時間間隔（ＣＰＴＩＭ）とアプリケーションスライス処理経過管理部（ＡＳＣＵ）に格納の値、つまり現時点のアプリケーションスライス（ＡＳ）の繰り返し数に１加算した値の積算を施して得たサブＷＣＥＴ（Ｓ＿ＷＣＥＴ）を求める。そして割り込みからディスパッチされる毎に、前述したようなＲＴＭタスク（ＴＳＫａ）により算出した遅延時間（ＤＴＩＭ）を引き算し、この引き算した時間幅である補正サブＷＣＥＴ（Ｓ＿ＷＣＥＴ＿Ｘ）をサブＷＣＥＴ（Ｓ＿ＷＣＥＴ）として使用する。
【０１２６】
以上を実施する事により、前述した第二及び第三の課題を解決する事が可能となる。すなわち、割り込みに伴う遅延時間（ＤＴＩＭ）が発生した場合にも、デットライン（ＤＬ）を確実に遵守することが可能となり、情報処理装置の消費電力の最適化、または処理の安定化を図ることが可能となる。
【０１２７】
図１９は、図１６における実行時間補正処理の一例を示す説明図である。実行時間補正処理（Ｓ１６０２）は、先ずシステムコール（ＳＣ）により、ＴＭＵから現時刻を記録し、この現時刻からアプリケーションプログラム開始点（Ｓ２９０１）時に記録したタスク開始時刻（ＳＴＩＭ）を引き算し、この引き算して得た時間を実行時間（ＲＴＩＭ）として算出する。更に、実行時間（ＲＴＩＭ）から、前述したようなＲＴＭタスク（ＴＳＫａ）で求めた割り込み時間格納メモリ（ＲＡＭａ）に格納の遅延時間（ＤＴＩＭ）を引いて補正実行時間（ＲＴＩＭ＿Ｘ）を算出する。
【０１２８】
このように補正実行時間（ＲＴＩＭ＿Ｘ）を算出し、ＲＴＩＭ＿Ｘを次の余裕時間算出処理（Ｓ１６０３）で実行時間として使用する事により、前述した第一の課題を解決する事が可能となる。そして、これによって、情報処理装置の省電力化を測ることが可能となる。
【０１２９】
図１６の余裕時間算出処理（Ｓ１６０３）は、サブＷＣＥＴ算出処理（Ｓ１６０１）で求めたサブＷＣＥＴ（Ｓ＿ＷＣＥＴ）または補正サブＷＣＥＴ（Ｓ＿ＷＣＥＴ＿Ｘ）から、実行時間補正処理（Ｓ１６０２）で求めた補正実行時間（ＲＴＩＭ＿Ｘ）を引き算する。そして、この引き算した結果は余裕時間（後述する図３４におけるＭＴＩＭ）となる。
【０１３０】
図２０は、図１５における動作周波数予測処理の動作の一例を示すフロー図である。図３４は、図１６および図２０の処理で算出する時間を説明するための図である。本明細書では、動作周波数予測処理（Ｓ１５０２）の説明を容易にする為、可変に出来る動作周波数を３０［ＭＨｚ］、６０［ＭＨｚ］、１２０［ＭＨｚ］の３段階とするが、他の動作周波数でも、更に可変に出来る動作周波数の数を増減しても本発明の実施は可能である。
【０１３１】
図２０の動作周波数倍率初期化処理（Ｓ２００１）では、動作周波数を予測する為に仮に設定する予測動作周波数倍率が設定される。動作周波数倍率とは、最高動作周波数の逆数である最短クロック周期時間を基準に１とした場合の各動作周波数のクロック周期時間の倍率の事を指す。ここでは１２０［ＭＨｚ］の動作周波数が最短クロック周期時間となるので動作周波数倍率を１とする。従って６０［ＭＨｚ］では２、３０［ＭＨｚ］では４という事になる。動作周波数倍率初期化処理（Ｓ２００１）では先ず、最低動作周波数である３０［ＭＨｚ］の動作周波数倍率である４に１を加算した値を予測動作周波数倍率として設定する。
【０１３２】
動作周波数倍率減算処理（Ｓ２００２）は、予測動作周波数倍率を１減算する。閾値時間算出処理（Ｓ２００３）は、動作周波数倍率減算処理（Ｓ２００２）の結果である予測動作周波数倍率と、サブＷＣＥＴ算出処理（Ｓ１６０１）で用いたチェックポイント時間間隔（ＣＰＴＩＭ）の掛け算を行う。そして、この掛け算で求まった値を閾値時間（図３４のＳＤＴＩＭ）とする。
【０１３３】
時間比較処理（Ｓ２００４）では、余裕時間算出処理（Ｓ１６０３）で求めた余裕時間（ＭＴＩＭ）と、閾値時間算出処理（Ｓ２００３）で求めた閾値時間（ＳＤＴＩＭ）とを比較する。具体的には、図３４に示す余裕時間（ＭＴＩＭ）よりも小さくなるまで、閾値時間（ＳＤＴＩＭ）を小さく（すなわち動作周波数倍率を下げ動作周波数を高く）していく。
【０１３４】
動作周波数予測処理（Ｓ１５０２）では、余裕時間が閾値時間よりも小さい間は図２０のフローチャートに記載のＬｏｏｐに従って処理を繰り返し、余裕時間が閾値時間よりも大きくなった所で初めて、Ｌｏｏｐを抜け、自身の処理を終了する。その時の予測動作周波数倍率は電力制御処理（Ｓ１５０３）に引き渡される。
【０１３５】
図２１は、図１５における電力制御処理の動作の一例を示すフロー図である。電力モード判別処理（Ｓ２１０１ａ〜ｃ）は、動作周波数予測処理（Ｓ１５０２）から引き渡された予測動作周波数倍率と、電力モードを比較する。電力モードとは、情報処理装置で設定可能なクロックパルス（ＦＲＱ）、電源電圧（ＶＤＤ）、基板バイアス電圧（ＶＢＢ）の数値の組合せを数値で表したものである。そして電力モードは予め、予測動作周波数倍率と対応付けする必要がある。本明細書の場合の電力モードは、３０［ＭＨｚ］、６０［ＭＨｚ］、１２０［ＭＨｚ］に対し、それぞれ、４、２、１となる。
【０１３６】
電力モード設定処理（Ｓ２１０２ａ〜ｃ）は、電力モード判別処理（Ｓ２１０１ａ〜ｃ）で電力モードと予測動作周波数倍率が合致した場合に有効となり、電力モード設定処理（Ｓ２１０２ａ〜ｃ）毎に個々の電力モードに対応したクロックパルス（ＦＲＱ）、電源電圧（ＶＤＤ）ないし基板バイアス電圧（ＶＢＢ）が供給されるようにＣＰＧ、ＶＤＤＣＵ、ＶＴＨＣＵに対して命令する。
【０１３７】
以上を実施すると、安定な動作を実施しながら、従来技術よりも２０％以上の低消費電力及び省エネルギー効果を発揮出来る。
【０１３８】
図２２は、図１の情報処理装置を変形した構成の一例を示すブロック図である。図２２に示す情報処理装置は、例えば、１プロセッサ構成の情報処理装置となっており、特に１プロセッサ構成の携帯電話を想定したものとなっている。
【０１３９】
図２２において、図１のＣＰＵに相当する部分は、ベースバンドプロセッサ（ＢＢ＿ＰＲＣ）である。通常、ＢＢ＿ＰＲＣは、ＣＰＵとクロックパルス発生器（ＣＰＧ）とタイマ（ＴＭＵ）を混載している事が多い。ここで、低消費電力効果を引き伸ばす為に、閾値電圧制御回路（ＶＴＨＣＵ）を混載することが望ましい。ＢＢ＿ＰＲＣは、主にディジタル通信処理及び通信プロトコル処理を実施するが、主に通信処理を行っていない時にはアプリケーション処理も行う。ＢＢ＿ＰＲＣの端子は直接、アンテナ（ＡＴ）に繋がれたアナログ無線回路（ＲＦ）、通話する為のマイクロフォン（ＭＦ）、通話と音楽を再生する為のスピーカー（ＳＰＫＲ）及びバス（ＢＵＳ）と接続する。
【０１４０】
図１の入出力部（Ｉ／Ｏ）は、図２２ではＣＭＯＳまたはＣＣＤカメラ（以下、ＣＡＭという）や液晶または有機ＥＬのディスプレイ（ＤＰＹ）などに該当する。フラッシュメモリ（ＦＬＭＥＭ）は、不揮発メモリの一種であり、図１のプログラムメモリ（ＭＥＭ）に相当し、プログラム命令の本体と固定変数等の静的プログラムデータを格納する。つまり、図１の電力管理制御ソフトウェア（ＰＭＣＳ）、アプリケーションプログラム（ＡＰＬ）、およびリアルタイムオペレーティングシステム（ＲＴＯＳ）などに加えて、必要となる静的データ等も格納する。また、ＳＲＡＭは、揮発メモリであり、図１のワーキングメモリ（ＲＡＭ１）に相当し、プログラム命令によって読み書きされる動的変数の実現の為に使用する。つまり図１のＰＭＣＳ、ＲＴＯＳ、およびＡＰＬの動的メモリエリアを具備する事になる。
【０１４１】
図２３は、図１の情報処理装置を更に変形した構成の一例を示すブロック図である。図２３に示す情報処理装置は、例えば、２プロセッサ構成の情報処理装置となっている。前述した図２２の情報処理装置では、通信信号処理及び通信プロトコル処理とマルチメディア処理を同時に処理する必要が起こった場合、ＢＢ＿ＰＲＣにかかる負荷が非常に重い。そこで、図２３においては、通信処理用途のＢＢ＿ＰＲＣとマルチメディア処理用途のアプリケーションプロセッサ（ＡＰ＿ＰＲＣ）を情報処理装置に搭載する。この場合、ＢＢ＿ＰＲＣとＡＰ＿ＰＲＣの両者に本願発明を適用することが可能である。
【０１４２】
図２４は、図１の情報処理装置を更に変形した構成の一例を示すブロック図である。図２４に示す情報処理装置は、例えば、不揮発メモリを混載したプロセッサの構成例を示すものである。この場合、この不揮発メモリに、図１のＰＭＣＳ、ＡＰＬ、およびＲＴＯＳを搭載すれば、外付けのフラッシュメモリは不要となる。
【０１４３】
なお、昨今、半導体の微細化が進むにつれ、チップ毎に閾値電圧のバラツキが目立ってきている。そこで、電源電圧制御回路（ＶＤＤＣＵ）を外付け実装にすることで、ＰＭＣＳでチップ毎に異なる閾値電圧に適した電源電圧（ＶＤＤ）を外から制御、供給することが可能となる。
【０１４４】
図２５は、図１の情報処理装置を更に変形した構成の一例を示すブロック図である。図２５に示す情報処理装置は、例えば、ＶＴＨＣＵ及び不揮発メモリを混載したプロセッサの構成例を示すものである。昨今、半導体の微細化が進むにつれ、耐圧の関係上、電源電圧（ＶＤＤ）は低くなってきているが、閾値電圧との兼ね合いで、電源電圧を低くする事が難しくなってきた。従って、電源電圧（ＶＤＤ）はある程度の値を確保しなければならない。このような場合、低消費電力化は、基板バイアス電圧を操作して閾値電圧のみを制御する事でも実現可能である。
【０１４５】
図２６は、図１の情報処理装置を更に変形した構成の一例を示すブロック図である。図２６に示す情報処理装置は、例えば、ＶＤＤＣＵ、ＶＴＨＣＵ及び不揮発メモリを混載したプロセッサの構成例を示すものである。
【０１４６】
昨今、半導体の微細化が進むにつれ、処理性能を上げる為に動作周波数を高くするように閾値電圧を低くしてきた。しかしリーク電流の指数的増加に伴って電源電圧も閾値電圧も下げることが低消費電力実現の点で難しくなってきた。リーク電流は、処理を実施していなくても電源を印加するだけで大きく電力を消費する、厄介な電流である。しかし性能毎、つまり動作周波数毎に低消費電力を最適にする電源電圧と閾値電圧の組合せが存在することが知られている。従って、ＰＭＣＳで時間的処理負荷の計測する事で、最適な動作周波数、電源電圧、閾値電圧を設定する事が実現可能である。
【０１４７】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【０１４８】
本発明は、バッテリを備えたモバイル機器などの情報処理装置に適用して特に有益な技術であり、これに限らず、マルチタスク実装のアプリケーションを備えた情報処理装置およびそのオペレーティングシステムなどに対して広く適用可能である。
【図面の簡単な説明】
【０１４９】
【図１】本発明の一実施の形態による情報処理装置において、その構成の一例を示すブロック図である。
【図２】図１の情報処理装置において、そのソフトウェアの詳細を含めた構成の一例を示すブロック図である。
【図３】図２におけるメッセージのフォーマットの一例を示す説明図である。
【図４】図２のソフトウェア部において、そのミドルウェアプログラムの詳細を含めた構成の一例を示すブロック図である。
【図５】図１の情報処理装置において、そのソフトウェアの一つである電力管理制御ソフトウェア（ＰＭＣＳ）の詳細な構成の一例を示すブロック図である。
【図６】アプリケーションタスクフレームワーク動作のフローチャートを説明する図である。
【図７】スリープタスク動作のフローチャートを説明する図である。
【図８】ＲＴＭタスク動作のフローチャートを説明する図である。
【図９】図８におけるＰＵＳＨ処理の動作を説明する図である。
【図１０】図８におけるＰＯＰ処理の動作を説明する図である。
【図１１】図８におけるＰＯＰ処理およびＰＵＳＨ処理にリンクリストを用いた場合のＲＴＭタスクの初期化動作の一例を示す説明図である。
【図１２】図８におけるＰＵＳＨ処理にリンクリストを用いた場合の動作の一例を示す説明図である。
【図１３】図８におけるＰＯＰ処理にリンクリストを用いた場合の動作の一例を示す説明図である。
【図１４】図１の情報処理装置をＭＰＥＧ−４−ビデオ−Ｄｅｃｏｄｅｒとした場合のアプリケーションスライスの処理の一例を示す説明図である。
【図１５】図１の情報処理装置を用いたアプリケーション処理の中で、図２９の電力制御チェックポイントの動作を行う場合の処理の一例を示すフロー図である。
【図１６】図１５の余裕時間計測処理の一例を示すフロー図である。
【図１７】図１６におけるサブＷＣＥＴ処理の内の第１サブＷＣＥＴ算出処理の一例を示す説明図である。
【図１８】図１６におけるサブＷＣＥＴ処理の内の第２サブＷＣＥＴ算出処理の一例を示す説明図である。
【図１９】図１６における実行時間補正処理の一例を示す説明図である。
【図２０】図１５における動作周波数予測処理の動作の一例を示すフロー図である。
【図２１】図１５における電力制御処理の動作の一例を示すフロー図である。
【図２２】図１の情報処理装置を変形した構成の一例を示すブロック図である。
【図２３】図１の情報処理装置を更に変形した構成の一例を示すブロック図である。
【図２４】図１の情報処理装置を更に変形した構成の一例を示すブロック図である。
【図２５】図１の情報処理装置を更に変形した構成の一例を示すブロック図である。
【図２６】図１の情報処理装置を更に変形した構成の一例を示すブロック図である。
【図２７】従来技術の電力制御装置及びその電力制御方法並びにそのプログラムを示す構成図である。
【図２８】ＲＴＯＳのタスク状態遷移を説明する図である。
【図２９】アプリケーションスライシングを説明する図である。
【図３０】従来技術の電力制御装置を使用するに当たって作成した電力制御方法の概念図である。
【図３１】割り込みを受けた低タスク優先度のタスクの処理遅延を説明する図である。
【図３２】低タスク優先度のタスクに割り込まれて生じたサブＷＣＥＴの遅延を説明する図である。
【図３３】ジッタによって生じたサブＷＣＥＴの遅延を説明する図である。
【図３４】図１６および図２０の処理で算出する時間を説明するための図である。
【符号の説明】
【０１５０】
ＭＥＭ  プログラムメモリ
ＡＰＬ  アプリケーションプログラム
ＲＴＯＳ，ＯＳ  オペレーティングシステム
ＰＭＣＳ  電力管理制御ソフトウェア
ＲＡＭ１  ワーキングメモリ
ＣＰＵ  プロセッサ
Ｉ／Ｏ  入出力部
ＢＵＳ  バス
ＲＥＧ，ＲＥＧａ〜ｅ  レジスタ
ＴＭＵ  タイマ
ＶＴＨＣＵ  閾値電圧制御回路
ＣＰＧ  クロックパルス発生器
ＶＤＤＣＵ  電源電圧制御回路
ＢＡＴ  バッテリパック
ＰＷＲ  電池電圧
ＶＢＢＣＳ，ＦＲＱＣＳ，ＶＤＤＣＳ，ＣＳ  制御信号
ＶＢＢ  基板バイアス電圧
ＶＤＤ  電源電圧
ＦＲＱ  クロックパルス
ＴＳＫ，ＴＳＫａ〜ｇ  タスク
ＳＣ  システムコール
ＡＰＩ，ＰＭＣＰＩ，ＲＩ，ＭＩ，ＤＩ  プログラムインターフェース
ＰＭＣＰ  電力管理制御プログラム
ＭＷ，ＭＷａ  ミドルウェア
ＨＷ  ハードウェア
ＳＷ  ソフトウェア
ＭＳＧ，ＭＳＧａ，ＭＳＧｂ  メッセージ
ＲＳＭＰ  実行準備状態管理プログラム
ＤＤ  デバイスドライバ
ＳＴ＿ＲＡＭａ，ＳＴ＿ＲＡＭｂ  スタックメモリ
ＲＡＭａ，ＲＡＭｂ  格納メモリ
ＳＰａ，ＳＰｂ  スタックポインタ
ＡＤＤａ，ＡＤＤｂ  メモリ番地
ＬＫ＿ＬＴａ，ＬＫ＿ＬＴｂ  リンクリスト
ＬＬＰａ〜ｄ  リンクリストポインタ
ＳＴＬａ，ＳＴＬｂ  番兵
ＬＴａ，ＬＴｂ  リスト
ＭＢ  マクロブロック
ＦＭＴ  画像フォーマット
ＷＣＥＴ  最悪実行時間
ＷＣＥＴ＿Ｘ  仮想ＷＣＥＴ
Ｓ＿ＷＣＥＴ  サブＷＣＥＴ
Ｓ＿ＷＣＥＴ＿Ｘ  補正サブＷＣＥＴ
ＤＴＩＭ  遅延時間
ＳＴＩＭ  タスク開始時刻
ＤＬ  デットライン
ＣＰＴＩＭ，ＣＰＴＩＭ＿Ｘ  チェックポイント時間間隔
ＲＴＩＭ  実行時間
ＲＴＩＭ＿Ｘ  補正実行時間
ＺＴＩＭ  ジッタ
ＭＴＩＭ  余裕時間
ＳＤＴＩＭ  閾値時間
ＡＳ  アプリケーションスライス
ＣＰ  チェックポイント
ＡＳＣＵ  アプリケーションスライス経過管理部
ＡＴ  アンテナ
ＭＦ  マイクロフォン
ＳＰＫＲ  スピーカー
ＲＦ  アナログ無線回路
ＣＡＭ  ＣＭＯＳまたはＣＣＤカメラ
ＤＰＹ  ディスプレイ
ＦＬＭＥＭ  フラッシュメモリ
ＢＢ＿ＰＲＣ  ベースバンドプロセッサ
ＡＰ＿ＰＲＣ  アプリケーションプロセッサ
ＰＷＣＵ  電力制御回路
ＶＣＵ  電源電圧／閾値電圧制御回路
Ｃ  コマンド
ＴＣＢ  タスクコントロールブロック
【図１】
2006235907.tif 000003
【図２】
2006235907.tif 000004
【図３】
2006235907.tif 000005
【図４】
2006235907.tif 000006
【図５】
2006235907.tif 000007
【図６】
2006235907.tif 000008
【図７】
2006235907.tif 000009
【図８】
2006235907.tif 000010
【図９】
2006235907.tif 000011
【図１０】
2006235907.tif 000012
【図１１】
2006235907.tif 000013
【図１２】
2006235907.tif 000014
【図１３】
2006235907.tif 000015
【図１４】
2006235907.tif 000016
【図１５】
2006235907.tif 000017
【図１６】
2006235907.tif 000018
【図１７】
2006235907.tif 000019
【図１８】
2006235907.tif 000020
【図１９】
2006235907.tif 000021
【図２０】
2006235907.tif 000022
【図２１】
2006235907.tif 000023
【図２２】
2006235907.tif 000024
【図２３】
2006235907.tif 000025
【図２４】
2006235907.tif 000026
【図２５】
2006235907.tif 000027
【図２６】
2006235907.tif 000028
【図２７】
2006235907.tif 000029
【図２８】
2006235907.tif 000030
【図２９】
2006235907.tif 000031
【図３０】
2006235907.tif 000032
【図３１】
2006235907.tif 000033
【図３２】
2006235907.tif 000034
【図３３】
2006235907.tif 000035
【図３４】
2006235907.tif 000036