2009年 春期 応用情報技術者試験 問7
携帯端末の省電力
X 社の、電池で駆動する携帯端末(以下、端末という)では、次のように消費電力を少なくする工夫をしている。
【MPUに対するクロック制御】
MPU へのクロック供給、タイマ割込み及びクロック発振の停止/再開は専用のクロック制御回路で行う。
(1) MPU へのクロック供給
クロックは、発振直後から発振が十分安定するまでに T ミリ秒かかる。MPU へのクロック供給は、クロック発振再開から T ミリ秒後となっている。
(2) タイマ割込み
タイマ割込み時刻は、ソフトウェアで設定する。設定された時刻になると、タイマ割込みが発生する。タイマ割込みを発生させるタイマは、MPU へ供給するクロックとは異なるクロックを使用し、独自に時間を計測している。
(3) クロック発振の停止/再開
クロック発振の停止/再開のタイミングを図1に示す。
クロック発振の停止は、ソフトウェアで指示する。クロック制御回路は、停止の指示を受け取ると、次のタイマ割込みの時刻までの時間を調べ、この時間が T ミリ秒より長い場合、クロック発振を停止し、T ミリ秒以下の場合、停止指示を取り消し、クロック発振を継続する。
クロック制御回路は、クロック発振を停止しているとき、タイマ割込みが発生する T ミリ秒前になるかほかの割込みを検出すると、クロック発振を再開する。
【リアルタイムOS】
この端末は、次のリアルタイムOSを使用している。
・タスクの状態は、実行状態、実行可能状態及び待ち状態がある。タスクの状態遷移を図2に示す。
・タスクには優先度が付与され、あるタスク実行中に、より優先度の高いタスクが起動されると、実行中のタスクは実行可能状態となり、優先度の高いタスクが実行状態になる。
・タスク間通信のためにメールボックスが用意され、タスクはメールをほかのタスクのメールボックスに送ることができ、ほかのタスクからのメールをメールボックスで受信することができる。
・メールボックスの操作には、送信要求と受信要求があり、受信要求したタスクはメールボックスにメールが届くまで待ち状態になる。
【省電力状態】
省電力状態は、スタンバイモードとアイドルモードがある。スタンバイモードは、MPU へクロック供給が停止している状態である。アイドルモードは、クロック供給を停止せず割込みを検出するまで MPU の命令の実行を停止している状態である。割込みを検出するとアイドルモードを終了し、命令を実行できる状態となる。
【タスク】
クロックを制御するクロック制御タスクは、①クロック発振の停止を指示し、②MPU をアイドルモードにする。このタスクは①と②を繰り返す。
クロック制御タスク以外のすべてのタスクは、メールボックスに受信要求しメール
を受信すると、そのメールの内容を解析し、それに応じた処理を行い、再び受信要求する。これらのタスクは、タスク固有のメールボックスを使用している。
【クロック制御回路】
クロック制御回路は、クロック制御タスクの①と②の間に割込みがあれば、その割込みを保留し、②の後にその割込みを MPU に通知する。
【クロック再開時の処理】
クロックの発振が再開し、MPU にクロックが供給されたとき、最初に実行される処理は、必ずaとなる。それがbであれば遅延なく実行されるが、b以外の場合は、ほかに割込みがなければ、割込み要求発生から、cミリ秒遅延してから実行される。
【省電力の効果】
MPU の単位時間当たりの消費電力は、命令を実行している場合 P、アイドルモードの場合 0.5×P、スタンバイモードの場合 0 である。
端末が通信中のとき、クロック供給は停止せず、80%は命令を実行している状態であり、20%はアイドルモードになっている。端末が通信中の単位時間当たりの消費電力はd×P である。
端末が通信を行っていないとき、1 秒ごとに 10 ミリ秒間 MPU にクロックが供給され、それ以外の時間はスタンバイモードである。その 10 ミリ秒のうち 90%は命令を実行している状態であり、10%はアイドルモードになっている。端末が通信を行っていないときの単位時間当たりの消費電力はe×P である。