(57)【要約】【課題】割り込み要求に対する応答速度を劣化させずに、低消費電力を実現する情報処理装置を提供する。【解決手段】所定のイベント実行までの時間を指定してシステムコールをする情報処理装置は、第１周期に設定される第１タイマ回路（９ａ）、第1周期より短い第２周期に設定される第２タイマ回路（９ｂ）、システムコールがあったとき発生時間を格納可能な前記タイムアウト監視部（７１）、及びシステムコールがあったとき次の第１タイマ回路（９ａ）の割り込み要求までの時間を格納可能な第１周期監視部（７２）を有する。タイムアウト監視部は、第１タイマの割り込み要求によりタイムアウト監視部に格納された時間から第１周期監視部に格納された時間を減算した時間を格納し、タイムアウト監視部に格納された時間が前記第１周期より短いとき、第２タイマ回路の割り込み要求によりタイムアウト監視部に格納された時間から第２周期の時間を減算する。【選択図】図１
2008243220.tif 000002
【特許請求の範囲】
【請求項１】
所定のイベント実行までの発生時間を指定してシステムコールをする情報処理装置であって、
第１周期に設定される第１タイマ回路と、
前記第1周期より短い第２周期に設定される第２タイマ回路と、
前記システムコールがあった際に、前記発生時間を格納することが可能な前記タイムアウト監視部と、
前記システムコールがあった際に、次の前記第１タイマ回路の割り込み要求までの時間を格納することが可能な第１周期監視部と、
前記第２タイマ回路からの割り込み発生が許可か禁止かを設定するためのレジスタとを有し、
前記タイムアウト監視部は、前記タイムアウト監視部に格納された時間が前記第１周期より長い場合は、前記第２タイマからの割り込み要求を禁止し、前記タイムアウト監視部に格納された時間が前記第１周期より短い場合は、前記第２タイマからの割り込み要求を許可するように前記レジスタを設定し、
前記タイムアウト監視部は、前記第１タイマ回路又は前記第２タイマ回路から割り込み要求を受けた場合に、前記レジスタの値を参照することで、前記第１タイマ回路からの割り込み要求か前記第２タイマ回路からの割り込み要求かを判別し、
前記タイムアウト監視部は、前記第１タイマ回路の割り込み要求と判別された場合に、前記タイムアウト監視部に格納された時間から前記第１周期監視部に格納された時間を減算した時間を格納し、前記第２タイマ回路の割り込み要求と判別された場合に前記タイムアウト監視部に格納された時間から前記第２周期の時間を減算し、
前記タイムアウト監視部に格納された時間が０以下となった時点で、前記イベントを実行することを特徴とする情報処理装置。
【請求項２】
システムコールから所定イベント実行時までの所定時間を計測する情報処理装置であって、
第1周期の時間間隔でカウントするための第1タイマと、
前記第1周期より短い第2周期の時間間隔でカウントするための第2タイマと、
前記所定時間を計測するためのタイムアウト監視部と、
前記第２タイマからの割り込み発生が許可か禁止かを設定するためのレジスタとを具備し、
前記タイムアウト監視部は、前記タイムアウト監視部に格納された時間が前記第１周期より長い場合は、前記第２タイマからの割り込み要求を禁止し、前記タイムアウト監視部に格納された時間が前記第１周期より短い場合は、前記第２タイマからの割り込み要求を許可するように前記レジスタを設定し、
前記タイムアウト監視部は、前記第１タイマ又は前記第２タイマから割り込み要求を受けた場合に、前記レジスタの値を参照することで、前記第１タイマからの割り込み要求か前記第２タイマからの割り込み要求かを判別し、
前記情報処理装置は、前記所定時間を計測する場合に、前記第１タイマからの割り込み要求と判断された場合に前記第1タイマでカウントし、前記第２タイマからの割り込み要求と判断された場合に前記第2タイマによりカウントし、
前記所定時間は、前記第１タイマの割り込み要求と判断された場合に前記タイムアウト監視部に格納された時間を減少させ、前記第２タイマの割り込み要求と判断された場合に前記第２タイマの割り込み要求を受けて前記タイムアウト監視部に格納された時間を減少させることにより計測され、
前記タイムアウト監視部に格納された時間が０以下となった時点で、前記イベントを実行することを特徴とする情報処理装置。
【請求項３】
システムコールから所定時間後に所定イベントを実行する情報処理装置であって、
中央処理装置と、
前記中央処理装置に接続されるメモリと、
第１周期のパルスに従って割り込み要求をする第１タイマと、
前記第１周期より短い第２周期のパルスに従って割り込み要求をする第２タイマと、
前記システムコール時に前記所定時間を格納するためのタイムアウト監視部と、
前記第２タイマからの割り込み発生が許可か禁止かを設定するためのレジスタとを具備し、
前記タイムアウト監視部は、前記タイムアウト監視部に格納された時間が前記第１周期より長い場合は、前記第２タイマからの割り込み要求を禁止し、前記タイムアウト監視部に格納された時間が前記第１周期より短い場合は、前記第２タイマからの割り込み要求を許可するように前記レジスタを設定し、
前記タイムアウト監視部は、前記第１タイマ又は前記第２タイマから割り込み要求を受けた場合に、前記レジスタの値を参照することで、前記第１タイマからの割り込み要求か前記第２タイマからの割り込み要求かを判別し、
前記中央処理装置は、前記第１タイマの割り込み要求と判断された場合に前記タイムアウト監視部に格納された時間を変化させ、前記第２タイマの割り込み要求と判断された場合に前記第２タイマの割り込み要求により前記タイムアウト監視部に格納された時間を変化させ、
前記タイムアウト監視部に格納された時間が０以下となった時点で、前記イベントを実行することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
情報処理通信装置及びオペレーティングシステムに関するものである。
【背景技術】
【０００２】
図１６は特開平１１−３５５１９８号公報に示された従来の無線通信装置を示す構成図である。
【０００３】
本願の図１６には、中央処理装置ＣＰＵ（以下、プロセッサという）（１）、フレーム同期回路ＳＹＮ（以下、同期回路という）（２）、受信回路ＲＣＶ（３）、レジスタ（制御手段）ＲＥＧ（４）、切替回路ＳＷＣ（５）、高速のクロックCKを発振し出力する高速発振回路ＯＳＣ（６）、無線通信装置の時計機能として使用されているタイマ機能を持つリアルタイムクロックＲＴＣ（以下、RTCという）（７）、入出力回路Ｉ／Ｏ（以下、I/Oという）（８）、タイマＴＩＭ（９）、割込回路INTC（１０）、アドレス、データ、制御データを送受信するバス（１１）が記載されている。
【０００４】
切替回路ＳＷＣ（５）は、プロセッサＣＰＵ（１）よりレジスタＲＥＧ（４）内に書き込まれ格納された制御データに基いて、高速発振回路ＯＳＣ（６）から出力されたクロックCK1か、あるいはRTC（７）から出力されたクロックCK２のいずれかを選択し、プロセッサＣＰＵ（１）、同期回路ＳＹＮ（２）、及びレジスタＲＥＧ（４）へ選択されたクロックを供給する。
【０００５】
タイマＴＩＭ（９）は、常時、RTC（７）から出力されていたクロックCK２に基いて動作し、ページングチャンネル受信後の間欠時（スリープモード）に、RTC（７）から出力されたクロックCK2を供給する時間を、プロセッサＣＰＵ（１）より設定される。さらに、タイマＴＩＭ（９）はタイムアウトすると割込回路INTC（１０）へ割込み制御信号を出力し、割込回路INTC（１０）を割込み状態に設定する。
【０００６】
割込回路INTC（１０）がタイマＴＩＭ（９）から出力された割込み制御信号を入力した時、また使用者がキーを操作し、I/O（８）を経由して入力されたキー割込みなどの割込み要求を割込回路INTC（１０）が受信した時に、プロセッサＣＰＵ（１）へ割込み要求の発生を通知する、即ち、割込回路INTC（１０）からのプロセッサＣＰＵ（１）へ割り込み要求が出力される。
【０００７】
プロセッサＣＰＵ（１）によりタイマ値がタイマＴＩＭ（９）へ設定された後、プロセッサＣＰＵ（１）は、制御データをレジスタＲＥＧ（４）へ書き込む。これにより、切替回路ＳＷＣ（５）は、レジスタＲＥＧ（４）内に格納された制御データに基いて、高速発振回路ＯＳＣ（６）から出力されるクロックCK1をRTC（７）から出力されるクロックCK2へ切り替え、クロックCK２をプロセッサＣＰＵ（１）、同期回路ＳＹＮ（２）、レジスタＲＥＧ（４）等へ出力する。このように、プロセッサＣＰＵ（１）、同期回路ＳＹＮ（２）、レジスタＲＥＧ（４）等はクロックCK2に基いて動作する。さらに、レジスタＲＥＧ（４）内に書き込まれた制御データに基いて、高速発振回路ＯＳＣ（６）の動作が停止される。
【０００８】
プロセッサＣＰＵ（１）は、割込回路INTC（１０）から出力された割込み要求を入力した場合、その割込み要求がどの回路から出力された割込み要求であるかを判定する。そして、その割込み要求がタイマＴＩＭ（９）以外の回路から出力された割込み要求であるならば、クロックCK１に基いて処理を行い、次の割込み要求の到着を待つ。
【０００９】
受信した割込み要求がタイマＴＩＭ（９）から出力された割込み要求である場合、プロセッサＣＰＵ（１）はレジスタＲＥＧ（４）内へ制御データを書き込む。切替回路ＳＷＣ（５）は、レジスタＲＥＧ（４）内に書き込まれた制御データに基いて、RTC（７）から出力されたクロックCK2を、高速発振回路ＯＳＣ（６）から出力されているクロックCK1へ切替える。そして切替えられたクロックCK1をプロセッサＣＰＵ（１）、同期回路ＳＹＮ（２）、レジスタＲＥＧ（４）等へ供給する。
【００１０】
【特許文献１】特開平１１−３５５１９８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本願発明者等は、本願に先立って、上記の従来技術について検討した。また、無線通信装置には電子メール、ブラウザ、動画音声音響録画再生等を搭載する情報処理装置も存在するため、本願発明者等は、特許文献1に示される無線通信装置を情報処理通信装置に適用した場合も同様に検討した。なお、従来の無線通信装置を情報処理通信装置に適用した場合には、図１６の無線通信装置にメモリＭＥＭ（２１）を搭載し、そのメモリＭＥＭ（２１）内はオペレーティングシステムＯＳ（以下OSと略す）（２２）を装備する必要がある。そして、OS（２２）はタイマＴＩＭ（９）から任意の周期毎に割込み要求を発生させることによって、情報処理通信装置の時間監視及び管理を行うことになる。
【００１２】
ここで、図１６の無線通信装置及び従来の無線通信装置を適用した情報処理通信装置に搭載のタイマＴＩＭ（９）の周期割込み要求には２つの課題が残されていることがわかった。
【００１３】
第一の課題は、省電力モード中にも関わらず、タイマＴＩＭ（９）の周期割込み要求の周期に従って省電力モードが解除され、プロセッサＣＰＵ（１）にクロックCK１及びクロックCK2が供給され、電流を消費してしまう事象である。以下、この事象を図１８に基づいて説明する。
【００１４】
図１７は、プロセッサＣＰＵ（１）の各動作モード時の消費電流（４１）を示している。ここで、４２はタイマ割込み要求モードを、４３は省電力モードを示している。OS（２２）がマルチタスク機能を有する場合、最低優先度タスクの無限ループ中に省電力モード（４３）を施す処理を設定する。そしてクロックCK１がプロセッサＣＰＵ（１）に供給されている、つまり情報処理の為に利用出来る場面において暫く使わない、またはデッドラインまでの余裕時間があるという、アイドル状態が存在することを想定する。なお、タイマ割込みが発生してから次のタイマ割込みが発生するまでの時間におけるタイマ割込み要求モード４２の時間をタイマ割込みDutyという。
【００１５】
ここで電流の無駄な消費を防止する為、アイドル状態に前記最低優先度タスクを起動させると、タイマＴＩＭ（９）からのタイマ割込み要求モード（４２）によって、省電力モード（４３）が解除され、プロセッサＣＰＵ（１）にクロックCK１が供給され、CPUが動作を開始し、本来、電流を削減したい場面で消費電流（４１）の増加が発生する。前記事象はタイマ周期（４４）を長くすることでタイマ（９）の割込み要求回数を削減し、省電力モード（４３）の時間を長くし、消費電流（４１）を抑えることは可能である。
【００１６】
しかしOS（２２）はタイマＴＩＭ（９）による周期割込み要求の度に内部でシステムクロック（２４）でカウントしながら、時間監視及び管理を行っている。従って、タイマＴＩＭ（９）のタイマ周期（４４）を長くすると、タイマ周期（４４）よりも短い時間内に待ち状態のタスクをタイムアウトで解放させるには時間精度が悪くなることがわかった。すなわち、消費電流（４１）を抑えようとすると時間精度が悪くなり、逆に時間精度を良くしようとすると消費電流（４１）が多くなってしまうことがわかった。
【００１７】
第二の課題は、常時タイマＴＩＭ（９）からタイマ周期（４４）毎に割込みが発生するので、その他のI/O回路（８）からの割込み要求の発生とかち合うという事象である。
【００１８】
特に時間管理を優先、つまりタイマＴＩＭ（９）の割込み要求レベルを高くすると、割込回路INTC（１０）の方で先ずタイマＴＩＭ（９）の周期割込み要求を受けつけて、その周期割込み要求の処理を終了した直後にI/O（８）からの割込み要求を受け付け、I/Oに関する処理を行う。従って割込み応答が鈍くなってしまうことがわかった。
【００１９】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００２０】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００２１】
すなわち、所定のイベント実行までの発生時間を指定してシステムコールをする情報処理装置であって、第１周期に設定される第１タイマ回路と、前記第1周期より短い第２周期に設定される第２タイマ回路と、前記システムコールがあった際に、前記発生時間を格納することが可能な前記タイムアウト監視部と、前記システムコールがあった際に、次の前記第１タイマ回路の割り込み要求までの時間を格納することが可能な第１周期監視部とを有し、前記タイムアウト監視部は、前記第１タイマの割り込み要求により前記タイムアウト監視部に格納された時間から前記第１周期監視部に格納された時間を減算した時間を格納し、前記タイムアウト監視部に格納された時間が前記第１周期より短い場合に、前記第２タイマ回路の割り込み要求により前記タイムアウト監視部に格納された時間から前記第２周期の時間を減算する構成とする。
【００２２】
更に望ましくは、前記第２タイマ回路は、前記タイムアウト監視部に格納された時間が前記第１周期より長い場合は、割り込み要求が不可とされ、前記タイムアウト監視部に格納された時間が前記第１周期より短いと判断された場合に、割り込み要求が許可とされるように構成するとよい。
【００２３】
更に望ましくは、前記第１周期監視部は、前記第１周期の周期時間を入力することが可能とされるように構成するとよい。
【発明の効果】
【００２４】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【００２５】
すなわち、  本願発明を実施することにより、情報処理装置の低消費電力化や割り込みの応答速度を向上させること達成することが出来る。
【発明を実施するための最良の形態】
【００２６】
まず、図１及び図２を用いて本願発明の思想を説明する。図１は、本願発明を実現するための基本的な構成の一実施例であり、プロセッサＣＰＵ（１）、複数のタイマＴＩＭ（９）、OS(22)を搭載したメモリＭＥＭ（２１）、I/O(８)、バス（１１）が示されている。また、プロセッサＣＰＵ（１）、複数のタイマＴＩＭ（９）、I/O(８)、バス（１１）で構成した１ブロックをプロセッサＣＰＵ（１）と見なし、そのプロセッサＣＰＵ（１）とメモリＭＥＭ（２１）をバス（１１）で接続した回路と見なすことも可能である。
【００２７】
複数のタイマＴＩＭ（９）は、第１タイマＴＩＭ１（９a）、第２タイマＴＩＭ２（９b）を含んでいる。また、第１タイマＴＩＭ１（９a）は、状態レジスタＳＲＥＧ１（８１a）、制御レジスタＣＲＥＧ１（８２a）、カウンタＣＮＴ１（８３a）、周期設定レジスタＣＹＣＲＥＧ１（８４a）を含んでいる。第２タイマＴＩＭ２（９b）も第１タイマＴＩＭ１（9a）と同じ構成である。またクロックCK（８５）は発振回路からのクロック信号である。タイマＴＩＭ（９）にRTC（７）から常時、クロックCK２が入力されているが、用途によってはRTC（７）に限らず、高速発振回路ＯＳＣ（６）から出力されるクロックＣＫ１を入力しても構わない。
【００２８】
状態レジスタＳＲＥＧ１，２（８１）は、各タイマに対して、カウンタＴＩＭ１，２（８３）のアンダーフローの発生判別、タイマ割込みの許可、禁止の状態判別等、タイマの内部状態を知らせるための情報を有する。
【００２９】
制御レジスタＣＲＥＧ（８２）は、各タイマに対して、カウンタＣＮＴ（８３）のアンダーフロー時のタイマ割込み許可禁止を設定、タイマ駆動に要するクロックCK（８５）の分周比の設定、タイマがカウントする周期等を可能にするための情報を有する。なお、状態レジスタSREG、制御レジスタCREGは、外部から設定可能とされる。
【００３０】
カウンタＣＮＴ（８３）は各タイマに、制御レジスタ（８２）で設定したクロックCK（８５）に対する分周比に同期して、初期時の設定値をカウントダウン（減算）する機能を有する。カウンタ（８３）はカウントダウンする方式、カウントアップする方式のどちらでも構わない。カウントアップ方式ならば、値をカウントアップ（加算）する機能を有する。
【００３１】
周期設定レジスタ（８４）は、各タイマに対して、初期時またはアンダーフロー時に割込み発生させる周期の長さを設定するための情報を有する。なお、カウンタ（８３）がカウントアップ方式ならば、アンダーフロー時ではなくオーバーフロー時となる。
【００３２】
また図１にOS（２２）の機能の一部としてOS時間管理部（９１）を記載した。OS時間管理部（９１）は、タスク情報制御テーブル（以下、TCBという）管理部（９２）、タイムアウト要求発行処理部（９３）、第１タイマー割込み処理部（９４）、第２タイマー割込み処理部（９５）、第一周期監視部（７２）、システムクロック（２４）等で構成する。TCB管理部（９２）にはタイムアウト監視部（７１）を含む。
【００３３】
図２は本願発明の概念を説明する図であり、以下図２を用いて本願発明を説明する。図２には、カウンタ軸（６１）、時間軸（６２）、カウンタ値（６３）、周期設定値（６４）、割込み発生（６５）、タイムアウト要求発行時刻（６６）、タイムアウト時刻（６７）、タイムアウト要求時間（６８）、タイムアウト監視部（７１）、第一周期監視部（７２）、時間監視レート格納部（７３）が示されている。
【００３４】
第１タイマTIM1（９a）に対し、第１タイマ周期（４４a）、カウンタ値（６３a）、周期設定値（６４a）、割込み発生（６５a）、第２タイマTIM2（９ｂ）に対し、第２タイマ周期（４４ｂ）、カウンタ値（６３ｂ）、周期設定値（６４b）、割込み発生（６５b）を表している。
【００３５】
なお、タイムアウト監視部（７１）、第一周期監視部（７２）、時間監視レート格納部（７３）は、特に制限されないがメモリ（２１）内に設けている。また、タイムアウト監視部や第一周期監視部等に格納される値は、第１タイマや第２タイマにおけるカウンタの値に対応する値となる。これらの値は、第1タイマや第2タイマに入力されるクロックの周期に前記カウンタの値をかけた時間と等価なものである。従って、タイムアウト監視部や第一周期監視部等は、それぞれに対応する時間を格納しているということもできる。
【００３６】
先ず初期化時にOS（２２）で、第１タイマ周期（４４a）が第２タイマ周期（４４ｂ）の整数倍にするようにタイマTIM（９）を設定し、時間監視レート格納部（７３）に第１タイマ周期（４４a）を第２タイマ周期（４４ｂ）で割った値を格納する。更に第２タイマＴＩＭ２（４４b）のみ、割込み発生（６５ｂ）を禁止とするように第２タイマＴＩＭ２（９b）の状態レジスタＳＲＥＧ２（８１ｂ）を設定する。次に、ＯＳ（２２）でタイムアウト要求が発行されたタイムアウト要求発行時刻（６６）に、タイムアウト要求時間（６８）をタイムアウト監視部（７１）に格納する。
【００３７】
第１タイマＴＩＭ１（９a）からタイマ割込みが発生する毎に、タイムアウト監視部（７１）に格納された値から第１タイマ周期（４４a）を引き、その減算値を再びタイムアウト監視部（７１）に格納する。
【００３８】
タイムアウト監視部（７１）に格納されている値が第１タイマ周期（４４a）よりも小さくなった時点で、第２タイマＴＩＭ２（９b）からのタイマ割込みを許可し、第一周期監視部（７２）に第１タイマ周期（４４a）を設定する。
【００３９】
第２タイマＴＩＭ２（９ｂ）からタイマ割込みが発生する毎に、タイムアウト監視部（７１）と第一周期監視部（７２）に格納されているそれぞれの値から第２タイマ周期（４４b）を引き、それぞれの減算値を再びタイムアウト監視部（７１）と第一周期監視部（７２）に格納する。
【００４０】
タイムアウト監視部（７１）に格納の値が０以下となった時点がタイムアウト時刻となり、タイムアウト要求を満たす事が可能になる。
【００４１】
上記のように周期の長い第１タイマ周期（４４a）と周期の短い第２タイマ周期（４４ｂ）を設け、第１タイマ周期（４４a）で大まかに時間監視すると共に割込み発生（６５）を抑制し、第２タイマ周期（４４ｂ）で細かい時間監視を行うことで、時間管理精度を維持しながら、省電力モード中のプロセッセ（１）に対するタイマ割込みを起因とする電流の消費を抑えることが可能となる。言い換えれば、第１イベント終了時から第２イベント発生時までの所定時間を計測する場合に、始めは周期の長い第１周期でカウントし、第２イベント発生時までの残り時間が第１周期の間隔より短くなった場合に、第２周期でカウントするように構成することで本願発明を達成できる。
【００４２】
例えば、タイマ割込み要求の第１周期を１０[msec]、第２周期を１[msec]とし、従来のタイマ割込み要求周期（４４）を1[msec]周期、そして割込み要求時の消費電流値（４６）を150[mA]、低消費電力モード時の消費電流値を35[mA]と仮定すると、ＴＭＵの割り込みDutyが１％ならば消費電流の改善率は約２％、５％ならば消費電流の改善率は約１２％、１０％ならば消費電流の改善率は約１８％、１５％ならば消費電流の改善率は約２５％という見積が可能であり、携帯電話や携帯端末に搭載の電池の持ち時間延長や、プロセッサから発する熱の抑制に効果がある。
【００４３】
また、上記と同じく、タイマ割込み発生を少なくすることでOS（２２）の処理の占有率が下がり、他の（割込み）処理に費やすことが可能となる。
【００４４】
次に、図３から図１２を用いて、本願発明の処理手順を詳しく説明する。図３は、TCB管理部（９２）を表している。TCB管理部（９２）は例えば、処理ポインタ（１０１）、挿入ポインタ（１０２）、臨時格納部（１０３）、レディキューヘッダ（１０４）、ウェイトキューヘッダ（１０５）、タイマキューヘッダ（１０６）、順方向ポインタ（１０７）、逆方向ポインタ（１０８）、単数ないし複数のTCB（１０９）で構成する。TCB（１０９）はOS(２２)が生成、動作しているタスクの数だけ、存在する。例えば、本実施例では、タスクが３つ（ＴＣＢ１０９ａ，１０９ｂ，１０９ｃ）存在している。タイマキューヘッダ（１０６）は、順方向ポインタ（１０７）、逆方向ポインタ（１０８）、第一周期監視部（７２）で構成する。ここで説明を簡単にするために、最初にタイムアウトするＴＣＢを１０９ａとし、次にタイムアウトするＴＣＢを１０９ｂとする。また、ＴＣＢ１０９ｃは、新規に生成されるタスクとする。
【００４５】
TCB（１０９ａ，ｂ，ｃ）は、用途別の複数の順方向ポインタ（１０７）と逆方向ポインタ（１０８）、タイムアウト監視部（７１）等で構成する。タイマキューヘッダ（１０６）の順方向ポインタ（１０７）は、待ち状態のタスクが解除されるのに要するタイムアウトが最も早いTCB（１０９ａ）の順方向ポインタ（１０７ａ）のメモリ番地を指す。ＴＣＢ（１０９ａ）の順方向ポインタは、次にタイムアウトするタスクのTCB(１０９ｂ)の順方向ポインタ（１０７ｂ）のメモリ番地を指す。そして指されたTCB(１０９ｂ)の逆方向ポインタ（１０８ｂ）は、一つ前のタイムアウトに待ち状態を解除されるタスクのTCB(１０９ａ)の逆方向ポインタ（１０８ａ）のメモリ番地を指す。従って、タイマキューヘッダ（１０６）の順方向ポインタ（１０７）は、最も早くタイムアウトするタスクのTCB(１０９a)を指し、反対に逆方向ポインタ（１０８）は最も遅くタイムアウトするタスクのTCB(１０９c)を指すことになる。即ちTCB管理部（７２）はタイマキューヘッダ（１０６）を起点（番兵）に各TCB（１０９）の双方向リストを形成している。
【００４６】
タイムアウト監視部（７１）には、一つ前に双方向リストに繋がれていたタスクのTCB（１０９）がタイムアウトした後にタイムアウトするまでのTCB（１０９）の残り時間が格納される。つまり、タイムアウト監視部（７１b）に格納される残り時間は、TCB（１０９a）が待ちを解除された直後からのタイムアウトまでの残り時間を指し、タイムアウト監視部（７１ｃ）に格納される残り時間は、TCB（１０９b）が待ちを解除された直後からのタイムアウトまでの残り時間を指す。因みにTCB（１０９）は、レディキューヘッダ（１０４）を先頭にしてタスク優先度順に双方向リストを形成され、ウェイトキューヘッダ（１０５）を先頭にして先着順に双方向リストを形成される。
【００４７】
処理ポインタ（１０１）は、現時点で処理中のTCB（１０９）のメモリ番地を指す。OS時間管理部（９１）は初期化時に予め、処理ポインタ（１０１）をタイマキューヘッダ（１０６）と同じメモリ番地を指すように設定する。ここでは、説明上、図３のように既にタイマキューヘッダ（１０６）はTCB(１０９a)を指していることにする。挿入ポインタ（１０２）は新規TCB（１０９c）のメモリ番地を指す。時間監視レート格納部（７３）には、第１タイマ周期（４４a）の値を第２タイマ周期（４４b）の値で割った値を格納する。
【００４８】
図４から図８は、タイムアウト要求発行処理部（９３）のフローチャートを説明する図であり、図４は、タイムアウト要求発行処理部（９３）の処理の全体を示すものである。タイムアウト要求発行処理部（９３）は、ＯＳ（２２）に装備のタイムアウトを要求するシステムコールの発行時に、そのシステムコールの中で処理される。まず、本発明では、第２タイマＴＩＭ２（９ｂ）の状態レジスタＳＲＥＧ２（８１b）を参照し、第２タイマＴＩＭ２（９ｂ）からの割込み発生状態が許可か禁止かを判別する（判別処理１２４）。即ち、ここでは第２タイマＴＩＭ２（９ｂ）に従ってカウントしているか否かを判断している。もし禁止（第１タイマＴＩＭ１（９ａ）に従ってカウントしている）であれば処理（２０１）へ、許可(第２タイマＴＩＭ２（９ｂ）に従ってカウントしている）であれば処理（２０２）へ進む。
【００４９】
図５は、処理（２０１）、即ち第２タイマＴＩＭ（９ｂ）からの割り込み発生状態が禁止の場合に実行される処理のフローチャートを説明する図である。判別処理（１２４）において第２タイマＴＩＭ２（９ｂ）からの割り込みが禁止されていると判別した場合は、現時点から次回第1タイマＴＩＭ（９ｂ）が割り込むまでの残り時間を求めて第1周期監視部（７２）に設定する。具体的には、第２タイマＴＩＭ２（９b）からの割込み発生を許可するように制御レジスタＣＲＥＧ２（８２b）を設定し、次に、第１タイマＴＩＭ１（９a）のカウンタＣＮＴ１（８３a）の値に１加算した値を、第２タイマＴＩＭ２（９b）の周期設定レジスタＣＹＣＲＥＧ２（８４b）で設定のタイマ周期（４４b）の値に１加算した値で割り算した値を第１周期監視部（７２）に格納する（処理２０３）。
【００５０】
次に、TCB管理部（９２）のタイマキューヘッダ（１０６）がTCB（１０９）のメモリ番地をさしているかどうか、つまりタイムアウトを待っているタスク（以下、待ちタスクと言う）があるかどうかを判別する(判別処理１２５）。もし、TCB（１０９）のメモリ番地を指していれば（待ちタスクがあれば）処理（２０４）へ、指してなければ（待ちタスクがなければ)処理（２０５）へ進む。
【００５１】
図６はタイムアウト待ちタスクが存在する場合に新たにタイムアウト設定を行うための処理（２０４）のフローチャートを説明する図である。判別処理（１２５）において、待ちタスクがあると判別された場合は、最も早くタイムアウトするタスクのタイムアウトまでの残り時間を求めるために、先ず第１周期監視部（７２）及び時間監視レート格納部（７３）を参照し、時間監視レート格納部（７３）に格納の値から第１周期監視部（７２）に格納の値を引いた減算値を求める。そして処理ポインタ（１０１）で指されているTCB（１０９）のタイムアウト監視部（７１）に格納された値からその前記減算値を引き、その減算値を前記タイムアウト監視部（７１）に格納する（処理２０６）。
【００５２】
次に、新たにタイムアウトを設定されるタスクと既にタイムアウトが設定されているタスクとのタイムアウトまでの残り時間を比較するために、新規にタイムアウトを要求したTCB（１０９c）のタイムアウト監視部（７１ｃ）と、処理ポインタ（１０１）で指されたTCB（１０９）のタイムアウト監視部（７１）に格納された値の大小を判別する（判別処理１２６）。新規にタイムアウトを要求したTCB（１０９c）のタイムアウト監視部（７１ｃ）にはタイムアウト要求時間（６８）が既に格納されている。もしタイムアウト監視部（７１ｃ）の方が大きいならば処理（２０７）へ、小さければ処理（２０８）へ進む。TCB（１０９c）はこの時点ではTCB管理部（９２）の双方向リストには挿入されてはいない。
【００５３】
判別処理（１２６）において新規のＴＣＢ（１０９ｃ）のタイムアウト監視部（７１ｃ）に格納された値が処理ポインタ（１０１）で指されたＴＣＢ（１０９）のタイムアウト監視部（７１）に格納された値より大きい場合は、新たにタイムアウト設定されるタスクのタイムアウトの残り時間を一時的に更新するために、TCB（１０９c）のタイムアウト監視部（７１c）に格納の値から、処理ポインタ（１０１）で指されたTCB（１０９）のタイムアウト監視部（７１）に格納された値を引いた減算値をTCB（１０９c）のタイムアウト監視部（７１）に格納し、処理ポインタ（１０１）を、現在処理ポインタ（１０１）で指しているTCB（１０９）の順方向ポインタ（１０７）で指されたTCB（１０９）のメモリ番地に設定する（処理２０７）。
【００５４】
次に、既にタイムアウトが設定されているタスクのタイムアウト残り時間を全て調査したかを判別するために処理ポインタ（１０１）がタイマキューヘッダ（１０６）のメモリ番地をさしているか、つまりタイマキューに接続のＴＣＢ（１０９）に対し、処理２０７を施したかどうかを判別する（判別処理１２７）。もし、タイマキューヘッダ（１０６）のメモリ番地を指しているなら処理（２０８）へ進み、指していなければ判別処理（１２６）に戻る。
【００５５】
判別処理（１２７）において、処理ポインタ（１０１）がタイマキューヘッダ（１０６）のメモリ番地を指していると判別された場合は、新たにタイムアウト設定されたタスクをタイマキューに挿入するために、処理ポインタ（１０１）が指しているTCB（１０９）のメモリ番地をTCB（１０９c）のメモリ番地に置換し、その設定の前に設定されていたTCB(１０９)のメモリ番地をTCB(１０９c)の順方向ポインタ（１０７ｃ）で指すように設定する（処理２０８）。つまり、TCB（１０９c）をTCB管理部（９２）の双方向リストに挿入したことになる。逆方向ポインタについても挿入するように設定を換える。
【００５６】
次に、新たにタイマキューに挿入されたタスクの次に早くタイムアウトするタスクのタイムアウトまでの残り時間を更新するために、挿入ポインタ（１０２）で指されたTCB（１０９c）の順方向ポインタ（１０７ｃ）でさされたTCB（１０９）メモリ番地に処理ポインタ（１０１）を設定し、処理ポインタ（１０１）で設定以前に指されたTCB（１０９）のタイムアウト監視部（７１）の値から挿入ポインタ（１０２）で指されたTCB（１０９ｃ）のタイムアウト監視部（７１c）に格納の値を引いた減算値を処理ポインタ（１０１）で指されたTCB（１０９）のタイムアウト監視部（７１）に格納する(処理２０９）。このようにして、新規のＴＣＢ（１０９ｃ）が処理ルーチンの中に挿入される。
【００５７】
図７は、新たにタイムアウト設定された時間が最短でタイムアウトする場合の処理（２０５）のフローチャートを説明する図である。まず、新たにタイムアウトを設定したタスク以外にタイムアウト待ちのタスクが存在するか判別するために、挿入ポインタ（１０２）が指しているTCB（１０９）の逆方向ポインタ（１０８）がタイマキューヘッダ（１０６）を指しているかを判断する（判別処理１２８）。もし、挿入ポインタ（１０２）が指しているTCB（１０９）の逆方向ポインタ（１０８）がタイマキューヘッダ（１０６）を指していたら判別処理（１２９）へ、指していなければ処理（２０５）を終了する。
【００５８】
判別処理（１２８）において、挿入ポインタ（１０２）が指しているTCB（１０９）の逆方向ポインタ（１０８）がタイマキューヘッダ（１０６）を指していると判断された場合は、新たにタイムアウトを設定したタスクの残り時間と第１周期監視部の値の大小を判別するために、挿入ポインタ（１０２）が指しているTCB（１０９）のタイムアウト監視部（７１）の値が第１周期監視部（７２）の値以上か否かを判断する（判別処理１２９）。ここで、挿入ポインタ（１０２）が指しているTCB（１０９）のタイムアウト監視部（７１）の値が第１周期監視部（７２）の値以上ならば処理（２１０）に進み、それ以外ならば処理（２０５）を終了する。処理（２１０）は第１タイマＴＩＭ１（９ａ）の割込みを禁止に設定するために、第２タイマＴＩＭ２（９b）の制御レジスタＣＲＥＧ２（８２b）で、第２タイマＴＩＭ２（９b）からの割込み発生を禁止に設定する。
【００５９】
図８は処理（２０２）のフローチャートを説明する図である。処理（２０２）は、第２タイマＴＩＭ２（９ｂ）の状態レジスタＳＲＥＧ２（８１b）を参照し、第２タイマＴＩＭ２（９ｂ）からの割込み発生状態が許可の場合に移行する処理である（図４参照）。この処理（２０２）は、前述の図５、１２で説明した処理と同様な処理を行うため説明は省略する。
【００６０】
図９は第１タイマー割込み処理部のフローチャートを説明する図である。第１タイマー割込み処理部（９４）は、第１タイマ割込み発生（６５a）した時に、下記の処理を行いプロセッサ（１）を起動させる。まず、第１周期監視部（７２）に第１タイマのタイマ周期を設定するために、第１タイマＴＩＭ１（９a）、第２タイマＴＩＭ２（９b）共、制御レジスタＳＲＥＧ（８２）でカウンタＣＮＴ（８３）がアンダーフローしないように設定し、第１周期監視部（７２）の値を臨時格納部（１０３）に格納し、時間監視レート格納部（７３）に格納した値を第１周期監視部（７２）に格納する（処理２２１）。
【００６１】
次に、タイムアウト待ちタスクが存在するかどうかを判別するためにTCB管理部（９２）のタイマキューヘッダ（１０６）がTCB（１０９）のメモリ番地をさしているかどうか、つまり待ちタスクがあるかどうかを判別する（判別処理１２５）。
【００６２】
判別処理（１２５）において、タイマキューヘッダが（１０６）がＴＣＢのメモリ番地を指していると判断される場合は、最も早くタイムアウトするタスクのタイムアウトまでの残り時間を更新するために、処理ポインタ（１０１）をタイマキューヘッダ（１０６）の順方向ポインタ（１０７）が指すTCB（１０９）のメモリ番地に設定し、処理ポインタ（１０１）が指しているTCB（１０９）のタイムアウト監視部（７１）に格納の値から臨時格納部（１０３）に格納した値を引いた減算値を処理ポインタ（１０１）が指しているTCB（１０９）のタイムアウト監視部（７１）に代入する処理（２２２）。
【００６３】
次に最も早くタイムアウトするタスクのタイムアウト処理（２２３）を行う。処理（２２３）は、図１０を用いて説明する。まず、タイムアウト要求発行処理用処理ポインタからタイマ割込み用処理ポインタに切り替えるために、処理ポインタ（１０１b）を処理ポインタ（１０１a）が指しているTCB（１０９）のメモリ番地と同じメモリ番地を指すように設定する（処理２２５）。次に、タイムアウト時刻かどうかを判別するために、処理ポインタ（１０１a）が指しているTCB（１０９）のタイムアウト監視部（７１）の値が０以下かを判断する（判別処理１４２）。もし処理ポインタ（１０１a）が指しているTCB（１０９）のタイムアウト監視部（７１）の値が０以下ならば、処理（２２６）に進み、それ以外の場合は処理（２２７）に進む。
【００６４】
判別処理（１４２）において、タイムアウト監視部（７１）の値が０以下と判断された場合は、タイマキューからＴＣＢを解除しタイムアウトさせるために、処理ポインタ（１０１a）が指しているTCB（１０９）をTCB管理部（９２）の双方向リストから削除し、TCB管理部（９２）の双方向リストの後処理を行う（処理２２６）。
【００６５】
その後、次にタイムアウトするＴＣＢに移行させる処理ポインタ（１０１b）で指されたTCB(１０９)の順方向ポインタ（１０８）が指すTCB(１０９)のメモリ番地を処理ポインタ（１０１a）が指すように設定し、タイムアウト処理をする（処理２２７）。
【００６６】
処理（２２７）が終了後（図９における処理２２３が終了後）、待ちタスクのタイムアウト状態を全て調査したかどうかを判別するために、処理ポインタ（１０１b）がタイマキューヘッダ（１０７）のメモリ番地を指しているかどうかを判別する（判別処理１４１）。もし指していれば処理（２２４）へ進み、指していなければ処理（２２３）に戻る。
【００６７】
図１１は処理（２２４）のフローチャートを説明する図である。まず、待ちタスクが存在するかどうかを判別するためにタイマキューヘッダ（１０６）の順方向ポインタ（１０７）が、タイマキューヘッダ（１０６）のメモリ番地を指しているかを判別する（判別処理１４３）。もし指していれば処理（２２８）へ進み、指していなければ判別処理（１４４）に進む。
【００６８】
判別処理（１４３）において、順方向ポインタ（１０７）がタイマキューヘッダのメモリ番地を指していないと判断さした場合は、最も早くタイムアウトするタスクのタイムアウトまでの残り時間が第１周期監視部よりも大きいかどうかを判別するために、タイマキューヘッダ（１０６）の順方向ポインタ（８３）が指すTCB(８２)のタイムアウト監視部（７１）に格納された値が、第１周期監視部（７２）の値以上かどうかを判別する（判別処理１４４）。も第１周期監視部（７２）の値以上であれば処理（２２８）へ進み、それ以外ならば処理（２２４）を終了する。
【００６９】
判別処理（１４３）において、順方向ポインタ（１０７）がタイマキューヘッダのメモリ番地を指していると判別された場合、又は、判別処理（１４４）において、タイムアウト監視部（７１）に格納された値が第1周期監視部(72)の値以上と判別された場合、制御レジスタ（８２b）で第２タイマ（９b）からの割込み発生を禁止に設定し（処理２２８）、処理（２２４）を終了する。
【００７０】
図１２は第２タイマー割込み処理部のフローチャートを説明する図である。第２タイマー割込み処理部（９５）は、第２タイマ割込み発生（６５ｂ）した時にプロセッサ（１）を起動させる。まず、第１周期監視部を更新するために、第２タイマ（９b）の制御レジスタ（８２b）で、カウンタ（８３b）がアンダーフローしないように設定し、第１周期監視部（７２）に格納の値から第２タイマ周期（４４b）を引いて、その減算値を第１周期監視部（７５）に代入する（処理２４１）。
【００７１】
次に、最も早くタイムアウトするタスクの残り時間を更新するために、タイマキューヘッダ（１０６）の順方向ポインタ（１０７）で指されたTCB（１０９）のメモリ番地を処理ポインタ（１０１a）に代入する。そして処理ポインタ（１０１a）が指しているTCB（１０９）のタイムアウト監視部（７１）に格納の値から第２タイマ周期（４４b）を引いた値を処理ポインタ（１０１a）が指しているTCB（１０９）のタイムアウト監視部（７１）に代入する（処理２４２）。
【００７２】
次に判別処理（１２５）、処理（２２３）、処理（２２４）、及び判別処理（１４１）を行う。これらは図９において説明したので省略する。
【００７３】
以上のような処理フローにより、本願発明を実施することができ、情報処理相装置の低消費電力化、応答速度の向上を図ることができる。
【００７４】
なお、本発明の実施形態はタイマ（９）がカウントダウン方式を採用していることを仮定し説明してきたが、カウントアップ方式のタイマ（９）についても動作原理は同じなので、適用することが出来る。
【００７５】
図１３は、本発明を施した情報処理装置、特に情報携帯端末に適用した場合の一実施例を説明する図である。本願発明は、タイマＴＩＭ（９）を２つ（２チャンネル）を有する情報処理装置ならば、ハードウェアを変更することなく、ＯＳの機能、即ちソフトウェアを変更することで容易に実現することが出来る。但し、ソフトウェア（ＯＳ）で処理している機能を適宜ハードウェアで実現することにより高速に処理することができる。更に、図１４のように、タイマ、省電力モードをCPUに搭載してもよい。この場合、情報処理装置を小さくすることが出来る。
【００７６】
図１５は本発明を施した情報処理装置の第２の実施例を説明する図である。携帯電話に代表される通信装置では、通信とマルチメディア処理を同時に処理することとなりプロセッサの負荷が重い。そこで、通信処理用途のベースバンドプロセッサ（１ｂ）とマルチメディア処理用途のアプリケーションプロセッサ（１ａ）を情報処理装置に搭載している。ここで、ベースバンドプロセッサ（１ｂ）とアプリケーションプロセッサ（１ａ）の両者に本願発明を適用することができる。しかし、ベースバンドプロセッサ（１ｂ）は、アプリケーションプロセッサ（１ａ）と比較してその消費電力は小さい。従って、図１５では、本願発明をアプリケーションプロセッサ（１ａ）のみに適用しており、ベースバンドプロセッサ（１ｂ）には適用していない。このような構成とすることにより、ベースバンドプロセッサ（１ｂ）に関するメモリＭＥＭ（２１ｂ）に容量を小さくすることができ、情報処理装置を小さく構成することが出来る。
【００７７】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００７８】
例えば、
【図面の簡単な説明】
【００７９】
【図１】本発明の代表例を説明する図である。
【図２】発明が解決しようとする課題を説明する図である。
【図３】本発明の動作を説明する図である。
【図４】タイムアウト要求発行処理部フローチャートを説明する図である。
【図５】処理（２０１）のフローチャートを説明する図である。
【図６】処理（２０４）のフローチャートを説明する図である。
【図７】処理（２０５）のフローチャートを説明する図である。
【図８】処理（２０２）のフローチャートを説明する図である。
【図９】第１タイマー割込み処理部のフローチャートを説明する図である。
【図１０】処理（２２３）のフローチャートを説明する図である。
【図１１】処理（２２４）のフローチャートを説明する図である。
【図１２】第２タイマー割込み処理部のフローチャートを説明する図である。
【図１３】本発明を施した情報処理装置を説明する図である。
【図１４】タイマ、省電力モード内臓CPU搭載情報処理装置の説明図である。
【図１５】本発明を施したプロセッサ搭載の情報処理装置を説明する図である。
【図１６】従来の無線通信装置を説明する図である。
【図１７】従来例の課題を説明する図である。
【符号の説明】
【００８０】
１  ・・・プロセッサ
２・・・同期回路
３・・・受信回路
４・・・レジスタ
５・・・切替回路
６・・・高速発振回路
７・・・RTC
８・・・I/O
９・・・タイマ
１０・・・割込回路
１１・・・バス
２１・・・メモリ
２２・・・OS
２３・・・省電力モード回路
２４・・・システムクロック
４１・・・消費電流
４２・・・タイマ割込み要求モード
４３  ・・・省電力モード
４４・・・タイマ周期
４５・・・０[A]
４６・・・タイマ割込み発生時消費電流値
４７・・・省電力モード時消費電流値
６１・・・カウンタ軸
６２・・・時間軸
６３・・・カウンタ値
６４・・・周期設定値
６５・・・割込み発生
６６・・・タイムアウト要求発行時刻
６７・・・タイムアウト時刻
６８・・・タイムアウト要求時間
７１・・・タイムアウト監視部
７２・・・第１周期監視部
７３・・・時間監視レート格納部
８１・・・状態レジスタ
８２・・・制御レジスタ
８３・・・カウンタ
８４・・・周期設定レジスタ
８５・・・クロックCK
９１・・・OS時間管理部
９２・・・TCB管理部
９３・・・タイムアウト要求発行処理部
９４・・・第１タイマー割込み処理部
９５・・・第２タイマー割込み処理部
１０１・・・処理ポインタ
１０２・・・挿入ポインタ
１０３・・・臨時格納部
１０４・・・レディキューヘッダ
１０５・・・ウェイトキューヘッダ
１０６・・・タイマキューヘッダ
１０７・・・順方向ポインタ
１０８・・・逆方向ポインタ
１０９・・・TCB
１２１・・・開始点
１２２・・・終了点
１２３・・・合流点
１２４、１２５、１２６，１２７、１２８，１２９、１４１、１４２、１４３，１４４・・・判別処理
２０１、２０２、２０３、２０４、２０５、２０６、２０７、２０８、２０９、２１０、２２１，２２２，２２３、２４１、２４２・・・処理
【図１】
2008243220.tif 000003
【図２】
2008243220.tif 000004
【図３】
2008243220.tif 000005
【図４】
2008243220.tif 000006
【図５】
2008243220.tif 000007
【図６】
2008243220.tif 000008
【図７】
2008243220.tif 000009
【図８】
2008243220.tif 000010
【図９】
2008243220.tif 000011
【図１０】
2008243220.tif 000012
【図１１】
2008243220.tif 000013
【図１２】
2008243220.tif 000014
【図１３】
2008243220.tif 000015
【図１４】
2008243220.tif 000016
【図１５】
2008243220.tif 000017
【図１６】
2008243220.tif 000018
【図１７】
2008243220.tif 000019