(57)【要約】【課題】処理の無駄を省いて消費電力の低減を図る。【解決手段】ＤＳＰ６において制御部６ａは、基底タイミングが到来する毎にエントリされたタスクの中からこれらの各タスクに対して設定された待機時間が前回実行されてから既に経過している１つのタスクの選出を試みる。ここでタスクが選出できたならば、制御部６ａはそのタスクを次の基底タイミングが到来するまでの期間中に処理する。しかし、タスクが選出できなかったならば、制御部６ａは新たな基底期間となるまでスリープ状態とする。【選択図】　　図１
2004021884.tif 000002
【特許請求の範囲】
【請求項１】
割り当てられたタスクを処理する処理手段と、
所定の基底期間毎に複数の有効なタスクの中からこれらの各タスクに対して設定された待機時間が前回実行されてから既に経過しているタスクを１つ選出する選出手段と、
この選出手段によりタスクが選出できたならばそのタスクを現基底期間中において前記処理手段に割り当てる処理制御手段と、
前記選出手段によりタスクが選出できなかったならば新たな基底期間となるまで、前記処理手段および前記選出手段を動作させないスリープ状態とするスリープ手段とを具備したマルチタスクプロセッサ。
【請求項２】
割り当てられたタスクを処理する処理手段と、
所定の基底期間毎にそれぞれ移動通信のための処理を複数のタスクのうちの有効なタスクの中からこれらの各タスクに対して設定された待機時間が前回実行されてから既に経過しているタスクを１つ選出する選出手段と、
この選出手段によりタスクが選出できたならばそのタスクを現基底期間中において前記処理手段に割り当てる処理制御手段と、
前記選出手段によりタスクが選出できなかったならば新たな基底期間となるまで、前記処理手段および前記選出手段を動作させないスリープ状態とするスリープ手段とを具備したマルチタスクプロセッサを備える移動通信端末。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のタスクを時分割で処理するＤＳＰ（Ｄｉｇｉｔａｌ　Ｓｉｇｎａｌ　Ｐｒｏｃｅｓｓｏｒ）等のようなマルチタスクプロセッサおよびそのマルチタスクプロセッサを備えた移動通信端末に関する。
【０００２】
【従来の技術】
移動通信端末では、例えば送受信処理に関わるものなどのような一部の機能の制御をＤＳＰでのファームウェア処理により行うことがある。
【０００３】
ここで複数の機能を単一のＤＳＰにより制御する場合、その制御はタスクスケジューラにより時分割に行われる。タスクスケジューラは、例えば６６μｓ周期の基底タイミングで区切られる基底期間毎に１つのタスクを処理することで複数のタスクを時分割に実行させる。
【０００４】
具体的には、例えば図５に示すようなタスクテーブルが用いられる。このタスクテーブルには、ＤＳＰが実行するべきタスクが全て記述されている。これらのタスクにはシリアルな番号が付与されている。またタスクテーブルには、各タスクに対してそのタスクのエントリの有無を設定できるようになっている。そしてＤＳＰは、新たな基底タイミングが到来する毎に、タスクテーブルからエントリされているタスクを巡回的に検索し、ヒットしたタスクを実行する。
【０００５】
図５の例では、Ａ〜Ｚまでの２６個のタスクが存在するが、そのうちのＡ〜Ｎまでの１９個がエントリされている。この場合、図６に示すように、まず最初の基底タイミングとなったことに応じての検索でタスクＡがヒットし、このタスクＡが次の基底タイミングが到来するまでに実行される。以降、基底タイミングとなる毎にタスクＢ〜Ｎが順次選択され、それらが実行される。タスクＮが実行されれば、処理が１順したことになる。なお図６において、「実効タスク」と示されるものが各基底タイミングにて実行されるタスクである。
【０００６】
ところで、各タスクのエントリは、そのタスクが完了した時点で解除される。図６の例では、１巡目にてタスクＣ，Ｄ，Ｌ，Ｍ，Ｎが完了している。このため２巡目では、タスクＡ，ＢとタスクＥ〜Ｋとが基底タイミング毎に実行される。さらに２巡目では、タスクＥ〜Ｋが完了している。そこで３巡目では、タスクＡ，Ｂが基底タイミング毎に実行される。この３巡目では、タスクＡが完了している。従って、残るタスクはタスクＢのみであり、このタスクＢが４巡目からｎ巡目まで連続して実行される。
【０００７】
このようにして、エントリされているタスクが均等な割合で順次選択されて、時分割に実行される。
【０００８】
【発明が解決しようとする課題】
ところでタスクの中には、制御対象からの応答を受けるのに一定時間の待機が必要となるものがある。例えばチャネル符号器やチャネル復号器の場合、フレーム単位のデータを処理するのに一定時間を要する。すなわち、ＤＳＰがチャネル符号器やチャネル復号器に対して動作設定をしてから、チャネル符号器やチャネル復号器の処理が完了するまでには一定時間を要する。このため、チャネル符号器やチャネル復号器の制御のためのタスクは、チャネル符号器やチャネル復号器が処理中であるときに実行されると単に待ち状態となり、実効的な処理が行われない。
【０００９】
図６の例の場合、タスクＢがそのようなものであり、例えば２巡目からｎ−１巡目においては待ち状態になっているとすると、それらのタイミングにおいてはＤＳＰは無駄に処理を行っていることとなり、電力を浪費していることになる。そして移動通信端末の場合には、このような電力の浪費は大きな不具合となってしまう。
【００１０】
本発明はこのような事情を考慮してなされたものであり、その目的とするところは、処理の無駄を省いて消費電力の低減を図ることが可能なマルチタスクプロセッサおよび移動通信端末を提供することにある。
【００１１】
【課題を解決するための手段】
以上の目的を達成するために本発明は、所定の基底期間毎に複数の有効なタスクの中からこれらの各タスクに対して設定された待機時間が前回実行されてから既に経過している１つのタスクの選出を選出手段が試み、この選出手段によりタスクが選出できたならば、処理制御手段がそのタスクを現基底期間中において処理手段に割り当て、そのタスクを処理手段に処理させる。しかし、選出手段によりタスクが選出できなかったならば、スリープ手段が新たな基底期間となるまで前記処理手段および前記選出手段を動作させないスリープ状態とすることとした。
【００１２】
このような手段を講じたことにより、同一タスクどうしの実行間隔は少なくともそのタスクに対して設定された待機時間以上とされる。そして、有効な全てのタスクがこの実行間隔の間の待機状態にある基底期間では選択手段によりいずれのタスクも選択されず、スリープ状態とされる。タスクが実行される基底期間の数が低減され、処理動作を行う時間が短縮される。
【００１３】
【発明の実施の形態】
以下、図面を参照して本発明の一実施形態につき説明する。
【００１４】
図１は本実施形態に係る移動通信端末のブロック図である。
【００１５】
この図に示すように本実施形態の移動通信端末は、アンテナ１、デュプレクサ２、受信部３、復調器４、チャネル復号器５、ＤＳＰ６、ＭＰＵ７、ＭＰＵインタフェース８、チャネル符号器９、変調器１０、送信部１１および無線環境監視器１２を有する。受信部３はさらに、無線部（ＲＦ）３ａおよびアナログフロントエンド部（ＡＦＥ）３ｂを有する。送信部１１はさらに、アナログフロントエンド部（ＡＦＥ）１１ａおよび無線部（ＲＦ）１１ｂを有する。
【００１６】
図示しない基地局から送信された下り方向の無線周波信号は、アンテナ１で受信されてデュプレクサ２を介して受信部３に入力される。無線周波信号は受信部３では、無線部３ａにて他の周波数成分と分離され、受信信号とされる。この受信信号は、アナログフロントエンド部３ｂにてディジタル処理された上で、復調器４へと与えられる。受信信号は復調器４で復調がなされ、ベースバンドに変換される。さらに受信信号は、チャネル復号器５で所望チャネルに関する受信信号を抽出するための復号処理が施される。チャネル復号器５で抽出された受信信号は、ＤＳＰ６へと与えられる。
【００１７】
ＤＳＰ６は、ファームウェア処理により制御された演算処理により、制御部６ａ、復号器６ｂおよび符号器６ｃとしての機能を実現する。チャネル復号器５からＤＳＰ６へと与えられた受信信号は、制御部６ａを介して復号器６ｂに与えられる。受信信号は、この復号器６ｂにより誤り訂正復号や音声復号などが施される。そして復号がなされた受信信号は、ＭＰＵ７へと与えられる。
【００１８】
ＭＰＵ７は、当該移動通信端末の全体を統括制御する。ＭＰＵ７は復号器６ｂから与えられる受信信号に基づき、例えば受話音声の再生などのための処理を行う。ＭＰＵ７とＤＳＰ６の制御部６ａとは、ＭＰＵインタフェース８を介して、各種の制御要求や結果応答などの情報を互いに授受する。ＭＰＵ７は、送話音声信号などの送信信号を、符号器６ｃへと与える。
【００１９】
送信信号は、符号器６ｃにより音声符号化や誤り訂正符号化などが施される。そして符号化がなされた送信信号は、制御部６ａを介してチャネル符号器９に与えられる。送信信号は、チャネル符号器９で無線プロトコルに則ったフレーム形態とされる。送信信号はさらに変調器１０に与えられ、ここで変調が施されて無線周波帯の信号とされる。こののち送信信号は、アナログフロントエンド部１１ａによりアナログ化されたのち、無線部１１ｂによりデュプレクサ２およびアンテナ１を介して図示しない基地局に向けて無線送信される。
【００２０】
無線環境監視器１２は、ハンドオーバ制御などのために無線環境の監視を行い、監視結果を制御部６ａに与える。
【００２１】
ところで制御部６ａは、ＭＰＵ７の制御の下に、受信部３、復調器４、チャネル復号器５、復号器６ｂ、符号器６ｃ、チャネル符号器９、変調器１０、送信部１１および無線環境監視器１２を制御する。この制御を行うために制御部６ａは、タスク処理部、タスク選出部、タスク処理制御部およびスリープ制御部としての機能を有している。
【００２２】
ここでタスク処理部は、実際にタスクの処理を実行するために演算処理などを行う。タスク処理部は、実行するタスクを任意に変更可能であり、そのタスクはタスク処理制御部により割り当てられる。タスク選出部は、基底タイミングとなる毎に後述するタスクテーブルを参照して、タスク処理部に割り当てるタスクを選出する。タスク処理制御部は、タスク選出手段によりタスクが選出されたならばそのタスクをタスク処理手段に割り当てる。スリープ制御部は、タスク選出手段によりタスクが選出されなかった場合に、新たな基底タイミングが到来するまでの間にＤＳＰ６をスリープ状態に設定する。
【００２３】
図２（ａ）はタスクテーブルの一例を示す図である。この図２に示すようにタスクテーブルには、ＤＳＰが実行するべきタスクが全て記述されている。ここでは、受信部３、復調器４、チャネル復号器５、復号器６ｂ、符号器６ｃ、チャネル符号器９、変調器１０、送信部１１および無線環境監視器１２をそれぞれ個別に制御する９つのタスクが設定されていて、これらが記述されている。これらのタスクにはシリアルな番号が付与されている。またタスクテーブルには、各タスクに対してそのタスクのエントリの有無を設定できるようになっている。またタスクテーブルには、各タスクに対して予め定められた待機時間が記述されている。さらにタスクテーブルには、各タスクを次に実行するべきタイミングを示す基底タイミング値を設定できるようになっている。なお上記待機時間は、各タスクでの制御対象が所定の処理を行うのに要する時間を考慮して設定されるもので、基底タイミング数で表わされる。
【００２４】
次に以上のように構成された移動通信端末の動作につき説明する。
【００２５】
制御部６ａはＭＰＵ７から制御開始が要求されると、図３に示すタスクスケジューラ処理を開始する。
【００２６】
まず制御部６ａはステップＳＴ１において、初期化処理を行う。この初期化処理で制御部６ａは、ポインタｉと各タスクのレジスタ退避／復帰用領域とを初期化する。また制御部６ａは、各タスクの実行先頭アドレスをａｄｒ（）に格納する。さらに制御部６ａは、変数Ａを「０」に設定する。
【００２７】
続いて制御部６ａはステップＳＴ２において、変数Ａが「９」であるか否かを確認する。ここで変数Ａが「９」では無いことを確認したならば、制御部６ａはステップＳＴ３において、ポインタインクリメント処理を行う。ポインタインクリメント処理において制御部６ａは、通常はポインタｉの値を１つだけ増加させる。ただし、ポインタｉの値がタスクテーブルに記述されたタスクの数と同一である場合には、制御部６ａはポインタｉの値を「１」にする。すなわち本実施形態の場合に制御部６ａは、ポインタｉの値が「１」〜「８」であるならば、それを「２」〜「９」に変更する。しかし制御部６ａは、ポインタｉの値が「９」であるならば、それを「１０」ではなく「１」に変更する。
【００２８】
次に制御部６ａはステップＳＴ４において、タスクテーブルにおける番号がｉであるタスクのエントリを確認する。なお以下では、タスクテーブルにおける番号がｉであるタスクをタスク（ｉ）と記述する。
【００２９】
ここでタスク（ｉ）がエントリされていることを確認したならば、制御部６ａはステップＳＴ５において、タスク（ｉ）に対してタスクテーブルに記述されている次実行タイミングｔ１（ｉ）に現基底タイミング値が到達しているか否かを確認する。なお、基底タイミング値とは、基底タイミング毎にカウントアップされるカウント値である。
【００３０】
もし、ステップＳＴ４にてタスク（ｉ）がエントリされていないことを確認した場合、あるいはステップＳＴ５にて次実行タイミングｔ１（ｉ）に現タイミングが到達していないことを確認した場合、制御部６ａはステップＳＴ６において、変数Ａの値を１つ増加させる。そしてこの上で制御部６ａは処理をステップＳＴ２に移行し、それ以降の処理を上述と同様に実行する。
【００３１】
ところでタスクテーブルにおいて次実行タイミングは、初期には図２（ａ）に示すように全てクリアされていて有効な値が設定されていない。次実行タイミングがこのような状態にある場合には、現基底タイミング値がいくつであっても制御部６ａはステップＳＴ５において次実行タイミングｔ１（ｉ）に現タイミングが到達していると判定する。あるいは、後述する処理により次実行タイミングｔ１（ｉ）に実値が設定されているならば、現基底タイミング値が次実行タイミングｔ１（ｉ）以上である場合に、制御部６ａはステップＳＴ５において次実行タイミングｔ１（ｉ）に現タイミングが到達していると判定する。そしてこのように次実行タイミングｔ１（ｉ）に現タイミングが到達していることをステップＳＴ５にて確認した場合には、制御部６ａはステップＳＴ７において、退避してあるタスク（ｉ）用のレジスタの内容を全てレジスタに復帰させるとともに、実行を開始するアドレスａｄｒ（ｉ）を設定する。
【００３２】
続いて制御部６ａはステップＳＴ８において、現在の基底タイミング値を保持しておくために変数ｔ０に代入する。この上で制御部６ａはステップＳＴ９において、タスク処理を開始する。ここでは、タスク（ｉ）の処理を行う状態にステップＳＴ７にて設定してあるから、タスク（ｉ）の処理を開始することになる。
【００３３】
タスク処理を行っている状態で、制御部６ａはステップＳＴ１０およびステップＳＴ１１において、実行中のタスクが完了するか、あるいは割込みが発生するのを待ち受ける。そして実行中のタスクが完了したことをステップＳＴ１０にて確認したならば、制御部６ａはステップＳＴ１２において、タスク完了処理を行う。このタスク完了処理は、タスク（ｉ）の処理を次回に実行する場合にタスク（ｉ）の先頭から処理が開始されるように設定する処理である。具体的にはタスク完了処理において制御部６ａは、タスクテーブル（ｉ）のエントリを解除する。また制御部６ａは、タスク（ｉ）のレジスタ退避／復帰用領域を初期化する。さらに制御部６ａは、タスク（ｉ）の実行先頭アドレスをａｄｒ（ｉ）に設定する。このタスク完了処理が終了したならば、制御部６ａは続いてステップＳＴ１３において、次実行タイミングｔ１（ｉ）をクリアする。
【００３４】
ところで、新たな基底タイミングが到来すると、ＤＳＰ６に対して割込みが発生する。この割込みの発生をステップＳＴ１１にて確認した場合には、制御部６ａはステップＳＴ１４において、タスク中断処理を行う。このタスク中断処理は、実行中のタスク処理を停止させるとともに、タスク（ｉ）の処理を次回に実行する場合に上記停止したタスク処理を継続して行うように設定する処理である。具体的にはタスク中断処理において制御部６ａは、タスク（ｉ）のレジスタ退避領域に現状での全レジスタの内容を退避させる。また制御部６ａは、タスク処理を停止した際の実行アドレスの次の実行アドレスをａｄｒ（ｉ）に設定する。このタスク中断処理が終了したならば、制御部６ａは続いてステップＳＴ１５において、次実行タイミングｔ１（ｉ）を変数ｔ０の値にタスク（ｉ）に関する待機時間ｔｓ（ｉ）を加算して求まる値に更新する。例えば、基底タイミング値が「３１」であるときにタスク（１）の処理を行ったのであれば、タスク（１）に関する待機時間ｔｓ（１）が図２に示すように「１」であるから、次実行タイミングｔ１（１）は図２（ｂ）に示すように「３２」に更新される。また例えば、基底タイミング値が「３２」であるときにタスク（３）の処理を行ったのであれば、タスク（３）に関する待機時間ｔｓ（３）が図２に示すように「２０」であるから、次実行タイミングｔ１（３）は図２（ｂ）に示すように「５２」に更新される。
【００３５】
ステップＳＴ１３またはステップＳＴ１５で次実行タイミングｔ１（ｉ）を更新し終えたならば、制御部６ａは続いてステップＳＴ１６において、変数Ａを「０」に変更する。この上で制御部６ａは、処理をステップＳＴ３に移行し、それ以降の処理を上述と同様にして行う。
【００３６】
さて、前述したように、次実行タイミングは初期においては図２（ａ）に示すように全てクリアされている。このため、１巡目においては、エントリされている全てのタスクが基底タイミング毎に順次実行される。
【００３７】
具体的には、エントリが図２（ａ）に示すような状態にあるのだとすれば、１巡目では図４に示すように番号が「１」「３」「４」「６」「８」であるタスクが順に実行される。そして基底タイミング値が図４に示すようになっているならば、１巡目が終了したときに各タスクに関する次実行タイミングｔ１（ｉ）は図２（ｂ）に示すように更新される。
【００３８】
次の基底タイミングでは、基底タイミング値が「３６」であり、タスク（１）に関する次実行タイミングｔ１（１）の「３２」以上となっている。従って、この基底タイミングではタスク（１）が選択され、次の基底タイミングまでの期間ではタスク（１）が実行される。さらに次の基底タイミングでは、基底タイミング値が「３７」であるが、これはタスク（３）（４）（６）（８）の次実行タイミングのいずれよりも小さい。このためタスク（３）（４）（６）（８）は選択されることがなく、次実行タイミングが「３７」となっているタスク（１）が連続して選択される。このようにして、２巡目および３巡目ではタスク（１）のみが実行される。
【００３９】
さて、３巡目においてタスク（１）が完了したとする。そうするとタスク（１）のエントリは解除されるので、残りのエントリはタスク（３）（４）（６）（８）となる。これらのタスクに関する次実行タイミングは、最も小さいものでタスク（３）の「５２」であるから、基底タイミング値が「５２」である基底タイミングが到来するまでは、制御部６ａがステップＳＴ５にて「ＹＥＳ」と判定することがない。この結果、制御部６ａはステップＳＴ６の処理を繰り返し行うこととなり、９つ全てのタスクに関するチェックを終えたならば、変数Ａが「９」となる。
【００４０】
このようにして変数Ａが「９」になったことをステップＳＴ２にて確認した場合には、制御部６ａはステップＳＴ１７において、変数Ａを「０」にクリアする。この上で制御部６ａはステップＳＴ１８において、割込みが発生するのを待ち受ける。従って、次の基底タイミングが到来するまではＤＳＰ６においては何ら処理が行われず、ＤＳＰ６はスリープ状態となる。そして次の基底タイミングが到来して割込みが発生したことをステップＳＴ１８にて確認したならば、制御部６ａは処理をステップＳＴ３に移行し、それ以降の処理を上述と同様に行う。なお図４においては、実効タスクとして「Ｓ」と示されている期間がスリープ状態となっている期間を示している。
【００４１】
これにより、基底タイミング値が「５２」となるまでの間の各期間においては、ＤＳＰ６は繰り返しスリープ状態となる。
【００４２】
基底タイミング値が「５２」となる基底タイミングにおいては、ポインタｉが「３」であるときに制御部６ａはステップＳＴ４で「有」と、またステップＳＴ５で「ＹＥＳ」とそれぞれ判定することになる。この結果、この基底タイミングにおいては、タスク（３）が実行される。これが４巡目となる。
【００４３】
この後、エントリされたタスクに関する次実行タイミングは、最も小さいものでタスク（４）の「５８」となるから、上述と同様にして、基底タイミング値が「５８」となるまでの間の各期間においては、ＤＳＰ６は繰り返しスリープ状態となる。
【００４４】
そして、基底タイミング値が「５８」「５９」「６０」である各期間に、タスク（４）（６）（８）がそれぞれ実行される。これらが５巡目となる。
【００４５】
このように本実施形態によれば、同一タスクどうしの実行間隔は少なくともそのタスクに対して設定された待機時間以上とされる。そして、エントリされている全てのタスクがこの実行間隔の間の待機状態にある基底タイミングではいずれのタスクも選択されず、ＤＳＰ６はスリープ状態とされる。従って、タスクの実行が無駄に行われることが無く、消費電力が低減される。
【００４６】
また本実施形態によれば、待機時間が大きく設定されたタスクに比べて、待機時間が小さく設定されたタスクが高頻度で実行されることになる。従って、短周期で実行可能なタスクを効率よく処理することが可能となる。
【００４７】
なお、本発明は上記実施形態に限定されるものではない。例えば、本発明のマルチタスクプロセッサは、ＣＰＵを主体として、このＣＰＵに上記実施形態における制御部６ａと同様な処理を行わせることによっても実現可能である。
【００４８】
また、本発明のマルチタスクプロセッサが適用される装置は移動通信端末には限らない。
【００４９】
また、処理対象とするタスクの内容や数はそれぞれ任意であって良い。
【００５０】
このほか、本発明の要旨を逸脱しない範囲で種々の変形実施が可能である。
【００５１】
【発明の効果】
本発明によれば、同一タスクどうしの実行間隔は少なくともそのタスクに対して設定された待機時間以上とし、有効な全てのタスクがこの実行間隔の間の待機状態にある基底期間では、スリープ状態とすることとしたので、タスクが実行される基底期間の数が低減され、処理動作を行う時間が短縮される。この結果、処理の無駄を省いて消費電力の低減を図ることが可能となる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る移動通信端末のブロック図。
【図２】タスクテーブルの一例を示す図。
【図３】タスクスケジューラ処理のフローチャート。
【図４】タスクが実行される様子の具体例を示す図。
【図５】従来のタスクテーブルの一例を示す図。
【図６】従来のＤＳＰにてタスクが実行される様子の具体例を示す図。
【符号の説明】
１…アンテナ
２…デュプレクサ
３…受信部
４…復調器
５…チャネル復号器
６…ＤＳＰ
６ａ…制御部
６ｂ…復号器
６ｃ…符号器
７…ＭＰＵ
８…ＭＰＵインタフェース
９…チャネル符号器
１０…変調器
１１…送信部
１２…無線環境監視器
【図１】
2004021884.tif 000003
【図２】
2004021884.tif 000004
【図３】
2004021884.tif 000005
【図４】
2004021884.tif 000006
【図５】
2004021884.tif 000007
【図６】
2004021884.tif 000008