(57)【特許請求の範囲】
【請求項１】
複数のコアを有するマルチコアプロセッサを備え、時分割多重接続方式により通信を行う通信装置であって、
時分割されたタイムスロット毎の処理内容を格納するスケジューラテーブルと、
時分割された各タイムスロットに対して、前記スケジューラテーブルに基づいて、該タイムスロットで実行すべきタスクが割り当てられているコアを該タイムスロットにおける動作コアとして選択する選択手段と、を備えたことを特徴とする通信装置。
【請求項２】
前記マルチコアプロセッサの各コアに対するクロックの供給を制御するクロック供給制御手段を備え、
前記クロック供給制御手段は、前記選択手段による選択結果に基づいて各コアへのクロック供給を制御することを特徴とする請求項１記載の通信装置。
【請求項３】
前記クロック供給制御手段は、前記選択手段により動作させるコアとして選択されずクロックの供給が停止中であり、かつ前記選択手段により次のタイムスロットで動作させるコアとして選択されているコアに対して、次のタイムスロットの開始時刻よりもクロックを安定化させるために予め設定された時間だけ前に、該コアへのクロック供給を開始させることを特徴とする請求項２記載の通信装置。
【請求項４】
前記マルチコアプロセッサの各コアに対する電源供給を制御する電源供給制御手段を備え、
前記電源供給制御手段は、前記選択手段による選択結果に基づいて各コアへの電源供給を制御することを特徴とする請求項１記載の通信装置。
【請求項５】
前記電源供給制御手段は、前記選択手段により動作させるコアとして選択されず電源の供給が停止中であり、かつ前記選択手段により次のタイムスロットで動作させるコアとして選択されているコアに対して、次のタイムスロットの開始時刻よりも電源電圧を安定化させるために予め設定された時間だけ前に、該コアへの電源供給を開始させることを特徴とする請求項４記載の通信装置。
【請求項６】
時分割多重接続方式により通信を行う他の通信装置からのビーコンパケットを受信した場合、該受信されたビーコンパケットの内容に基づいて前記スケジューラテーブルを更新する更新手段を備えたことを特徴とする請求項１から５の何れか１項に記載の通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のコアを有するマルチコアプロセッサを備え、時分割多重接続（ＴＤＭＡ；Time Division Multiple Access）方式により通信を行う通信装置に関する。
【背景技術】
【０００２】
近年、無線通信等において年々スループットの高速化が進み、プロセッサの高い処理能力が必要となっている。
こうしたプロセッサの処理能力向上に対するアプローチの１つとして、動作周波数の高周波数化が行われてきたが、近年、その高周波数化による性能向上にも限界が見え始めている。そのような中、消費電力を抑えながら処理能力を高める技術として、マルチコアプロセッサが注目されている。マルチコアプロセッサでは、１つのプロセッサチップの中に複数の命令処理部（コア）を実装することにより、各コアの動作に基づき複数命令の並列処理を可能としている。それにより、シングルコアプロセッサで同様に処理する場合と比較して、動作周波数を下げられるため、より低い電源電圧で動作させることができ、最終的に消費電力あたりの処理能力の向上が可能となることが既に知られている。
【０００３】
また、マルチコアプロセッサシステムにおいて各コアでの処理単位となるタスクを動的に効率よく割り当てる目的で、再実行するタスクはパフォーマンスモニタで以前に収集したハードウェア資源の利用情報を参照してマルチコアプロセッサからプロセッサコアを選択し、選択したプロセッサコアへ提供するようにスケジューリングするものがある（例えば、特許文献１参照）。
【０００４】
また、本出願人によるマルチプロセッサシステムとして、スペクトル拡散送受信器を備えて中央処理装置やメモリ装置などの装置間で相互接続させるものがある（例えば、特許文献２参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した一般的なマルチコアプロセッサを用いた処理システムにおいて消費電力あたりの処理能力の向上を実現するにあたっては、アプリケーションプログラムの各コアへの割り当て・スケジューリングを適切に行う必要がある。
その対策の１つとして、コンパイラによるアプリケーションプログラムの自動並列化という方法がある。様々なアプリケーションを対象とし、アプリケーションプログラムのコンパイル時に判明する依存性などの静的な解析情報から得られるスケジューリングによる消費電力あたりの処理能力の向上の面では有用であるが、例えば特定のアプリケーションに特化したマルチコアプロセッサを用いた処理システムなどで、アプリケーションプログラムからは判明しないアプリケーションに特化した情報がある場合に、アプリケーションプログラムの各コアへの割り当て・スケジューリングを適切に行うことができないという問題があった。
【０００６】
また、上述した特許文献１のものは、コンパイラによる自動並列化を利用せずに効率化を図るものであるが、時分割多重接続方式により通信を行う通信装置のマルチコアプロセッサについて、時分割された各タイムスロットにおける各コア動作のスケジューリングを適切に行うことについてまで考慮されたものではなかった。
【０００７】
また、上述した特許文献２のものは、時分割多重接続方式により通信を行う通信装置で各タイムスロットにおける各コア動作のスケジューリングを適切に行うことについてまで考慮されたものではなかった。
【０００８】
本発明はこのような状況に鑑みてなされたものであり、時分割多重接続方式により通信を行う通信装置のマルチコアプロセッサについて、各コア動作のスケジューリングを適切に行うことができる通信装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
かかる目的を達成するために、本発明に係る通信装置は、複数のコアを有するマルチコアプロセッサを備え、時分割多重接続方式により通信を行う通信装置であって、時分割されたタイムスロット毎の処理内容を格納するスケジューラテーブルと、時分割された各タイムスロットに対して、スケジューラテーブルに基づいて、該タイムスロットで実行すべきタスクが割り当てられているコアを該タイムスロットにおける動作コアとして選択する選択手段と、を備えたことを特徴とする。
【発明の効果】
【００１０】
以上のように、本発明によれば、時分割多重接続方式により通信を行う通信装置のマルチコアプロセッサについて、時分割された各タイムスロットで実行すべきタスクの情報に基づいて、各コア動作のスケジューリングを適切に行うことができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態としてのＴＤＭＡ通信装置の構成例を示すブロック図である。
【図２】本実施形態によるコア選択処理動作例を示すフローチャートである。
【図３】本実施形態によるスケジューラテーブル更新処理動作例を示すフローチャートである。
【図４】スケジューラテーブルと動作コアとの対応関係を具体例で示す図である。
【図５】本実施形態のＴＤＭＡ通信装置におけるコア毎のクロック供給や電源電圧供給の制御構成例を示す図である。
【発明を実施するための形態】
【００１２】
次に、本発明に係る通信装置を適用した一実施形態について、図面を用いて詳細に説明する。
【００１３】
まず、本実施形態の概略について説明する。
本実施形態は、ＴＤＭＡ通信装置のアプリケーションプログラムの処理として並列化可能な処理単位毎に分割された各タスクを処理するのに特化したコアからなるマルチコアプロセッサを用いたＴＤＭＡ通信装置におけるコアのスケジューリングの方法に際して、受信したビーコンパケットの内容によりタイムスロット毎の処理内容が想定されると、その処理内容に応じて実行すべきタスクも想定されることにより、タイムスロット毎に動作させるコアを選択するという特徴を有する。
【００１４】
次に、本実施形態の構成について詳細に説明する。
図１は、本発明の実施形態に係るマルチコアプロセッサを用いたＴＤＭＡ通信装置について説明する図である。
【００１５】
図１に示す構成例では、マルチコアプロセッサに含まれるコア数を３つとして説明するが、複数であればコア数は任意であってよく、３つに限定されるものではない。
また、本実施形態によるＴＤＭＡ通信装置の複数を少なくとも含み、ＴＤＭＡ通信装置間でビーコンパケットを送受信することにより、タイムスロットの概念を共有して装置間でのＴＤＭＡ通信を行うＴＤＭＡ通信システムを構成していることとする。
【００１６】
ＴＤＭＡ通信装置は、その構成要素として、アンテナ１００、ＴＤＭＡ通信回路部２００、マルチコアプロセッサ３００、リソース部４００を含む。
【００１７】
アンテナ１００は、ＴＤＭＡ通信装置においてパケットを空間に送出する最終的な出力端となり、また、パケット受信する際の最初の入力端となる。
【００１８】
ＴＤＭＡ通信回路部２００は、ＴＤＭＡ通信装置を利用する上位層から受け取ったデータをマルチコアプロセッサ３００およびリソース部４００を用いてＴＤＭＡ通信装置のパケットを形成し、所望の周波数に変換した後、アンテナ１００に送り出す。また、アンテナ１００から受信したＴＤＭＡ通信装置のパケットをマルチコアプロセッサ３００およびリソース部４００を用いて解析し、必要な情報だけ抽出した後、ＴＤＭＡ通信装置を利用する上位層に受け渡す。また、ＴＤＭＡ通信回路部２００は、その中にスケジューラ２１０を含む。
【００１９】
スケジューラ２１０は、タイムスロット毎の処理内容を示すスケジューラテーブルに基づいて現在のタイムスロットで行うべき処理を管理するブロックである。スケジューラテーブルは、ビーコンパケットの受信によりその内容をもとに該当するタイムスロットの処理内容が更新される。
【００２０】
ここで、スケジューラテーブルにおけるタイムスロット毎の処理内容としては、送信処理または受信処理または送受信を行わないという情報と、処理するパケットのタイプに関する情報を含むものとする。そして、スケジューラ２１０は、処理内容に応じて実行すべきタスクが想定されることにより、各タスクに対応したマルチコアプロセッサ３００内の動作させるコアを選択する。その選択情報を示す手段としては例えば、コア数分のセレクト信号を出力し、ＴＤＭＡ通信回路およびマルチコアプロセッサを経由して各コアに接続することなどであってよい。
【００２１】
マルチコアプロセッサ３００は、複数のコア３０１，３０２，３０３をその構成要素として含む。ここで、各コア３０１，３０２，３０３はＴＤＭＡ通信装置に特化したコアで、具体的にはＴＤＭＡ通信装置のアプリケーションプログラムの処理として並列化可能な処理単位毎に分割された各タスクに特化したコアであり、各コアはスケジューラにより動作させるコアとして選択されると、各コアに割り当てられているタスクを実行する。
【００２２】
リソース部４００は、メモリやクロック供給部４１０や電源電圧供給部４２０などを含む。
【００２３】
図２は、本実施形態に係るＴＤＭＡ通信装置におけるコア選択処理を含むフローについて説明する図である。
【００２４】
ＴＤＭＡ通信装置は起動後、ＴＤＭＡ通信システムとしてのＴＤＭＡ通信の同期を確立する（ステップＳ１１）。ここでいう同期を確立するとは、他のＴＤＭＡ通信装置が送信するビーコンパケットをＴＤＭＡ通信回路部２００およびマルチコアプロセッサ３００およびリソース部４００を用いて初めて受信することにより、ＴＤＭＡ通信装置がＴＤＭＡ通信システムで共有されているタイムスロットの概念を自装置にも保持することを意味する。
この同期の確立にあたっては、タイムスロットの概念が導入される前であり、またビーコンパケットの受信のみを処理内容とするため、スケジューラテーブルの参照を行うことなく、マルチコアプロセッサ３００のコア３０１，３０２，３０３のうちビーコンパケットの受信処理に対応するコアを動作させる。さらに補足すると、送信されるビーコンパケット内にはそのビーコンパケットがどのタイムスロットを使用して送信されているかの情報が含まれ、その情報をもとにタイムスロットによる時間の基準を確立することができる。
【００２５】
こうしてＴＤＭＡ通信ネットワークとの同期が確立された後、ＴＤＭＡ通信回路部２００のスケジューラ２１０はスケジューラテーブルを参照する（ステップＳ１２）。
【００２６】
次に、ＴＤＭＡ通信回路部２００のスケジューラ２１０はマルチコアプロセッサ３００内のコア３０１，３０２，３０３のうち現タイムスロットの処理内容に応じて動作させるコアを選択する（ステップＳ１３）。
【００２７】
その後、ＴＤＭＡ通信を終了しない場合（ステップＳ１４でＮｏ）、同期確立後のフローを繰り返し、そうでない場合（ステップＳ１４でＹｅｓ）はＴＤＭＡ通信を終了する。
【００２８】
図３は、本実施形態に係るＴＤＭＡ通信装置におけるスケジューラテーブル更新処理フローについて説明する図である。
【００２９】
ＴＤＭＡ通信装置は起動後、ＴＤＭＡ通信システムとしてのＴＤＭＡ通信の同期を確立する（ステップＳ２１）。ここでの処理は、図２におけるＳ１１と同様であるとする。
【００３０】
こうしてＴＤＭＡ通信ネットワークとの同期が確立された後、同期確立で受信したビーコンパケットの内容をもとにスケジューラテーブルが更新される（ステップＳ２２）。
【００３１】
次に、ビーコンパケットを受信すると（ステップＳ２３でＹｅｓ）、その度に受信した内容をもとにスケジューラテーブルの更新が行われる（ステップＳ２３）。
【００３２】
ビーコンパケットを受信せず（ステップＳ２３でＮｏ）、ＴＤＭＡ通信を終了しない場合（ステップＳ２４でＮｏ）、ＴＤＭＡ通信装置は、ビーコンパケットを受信するか、ＴＤＭＡ通信を終了するまでこの確認を繰り返す。
【００３３】
図４は、本実施形態に係るＴＤＭＡ通信装置におけるスケジューラテーブルと動作させるコアとの対応関係を示す図である。
【００３４】
ＴＤＭＡ通信装置は起動後初めてビーコンパケットを受信すると、ＴＤＭＡ通信システムとしてのＴＤＭＡ通信の同期を確立し、タイムスロット（ＴＳ）の概念が導入される。それにより、ＴＤＭＡ通信回路部２００のスケジューラ２１０は、現在時刻のＴＤＭＡ通信システムで共有しているタイムスロット上での時間的位置を把握し、以降時間の経過とともに現タイムスロットとしての処理を進めていく。
【００３５】
なお、本実施形態によるＴＤＭＡ通信システムにおけるＴＤＭＡ通信では、複数のタイムスロットからなる１スーパーフレーム（ＳＦ）を周期的に繰り返し、１スーパーフレーム内でのタイムスロット数は決まっているものとする。
【００３６】
ＴＤＭＡ通信回路部２００がビーコンパケットを受信すると、そのビーコンパケットの内容に基づいてスケジューラ２１０がスケジューラテーブルを更新する。図４の例のように、受信したビーコンパケットに、タイムスロット２でタイプＢのパケットの受信を行うなどの処理内容に関するスケジュール情報が含まれていると、スケジューラテーブルのタイムスロット２に該当する部分の内容が、タイムスロット２でタイプＢのパケットの受信を行うといったビーコンパケットに応じた情報に更新される。
【００３７】
ＴＤＭＡ通信回路部２００のスケジューラ２１０は、スケジューラテーブルの現タイムスロットの処理内容を参照し、それをもとにマルチコアプロセッサ３００内のコア３０１，３０２，３０３から実行すべきタスクに対応するコアを、そのタイムスロットでの動作させるコアとして選択する。
図４の例で説明すると、現タイムスロットがタイムスロット４の場合、ＴＤＭＡ通信回路部２００のスケジューラ２１０は、スケジューラテーブルより現タイムスロットの処理内容をタイプＣのパケットの送信に関するものだと把握し、その処理内容に応じたタスクを予め割り当てられたコアであるコア０、コア２を動作させるコアとして選択する。そして、次のタイムスロット５になった場合は、同様にそのタイムスロット５についてスケジューラテーブルの処理内容を参照し、動作させるコアとしてコア０、コア１、コア２を選択する。
このようにして、タイムスロット毎にそのタイムスロットでの処理内容を実行するのに適切なコアを選択する。
【００３８】
図５は、本実施形態に係るＴＤＭＡ通信装置におけるコア毎のクロック供給または電源電圧供給の制御を示す図である。
【００３９】
リソース部４００内のクロック供給部４１０は、各コア毎に独立して、クロック供給経路３０１ａ、３０２ａ、３０３ａを介してクロック供給を行う。また、電源電圧供給部４２０は、各コア毎に独立して、電源電圧供給経路３０１ｂ、３０２ｂ、３０３ｂを介して電源電圧供給を行う。
【００４０】
そして、ＴＤＭＡ通信回路部２００のスケジューラ２１０は、動作させるコアとして選択されなかったコアへのクロックの供給または電源電圧の供給を停止させるようにクロック供給部４１０または電源電圧供給部４２０を制御する。その結果、クロック供給部４１０または電源電圧供給部４２０では、該当するコアへのクロックまたは電源電圧の供給を停止する。
【００４１】
例えば、現タイムスロットが図４のタイムスロット４の場合、スケジューラはコア１へのクロックの供給または電源電圧の供給を停止させるように、クロック供給部４１０または電源電圧供給部４２０を制御し、その結果コア１へのクロック供給経路３０２ａを介したクロックの供給または電源電圧供給経路３０２ｂを介した電源電圧の供給は停止する。
【００４２】
さらにこの場合、ＴＤＭＡ通信回路部２００のスケジューラ２１０は、コア１へのクロックの供給または電源電圧の供給を停止させているので、次タイムスロットで動作させるコアであるかどうかを確認する。そして、タイムスロット５で動作させるコアとして選択されると判明すると、タイムスロット５の開始時刻よりもクロックの安定化時間または電源電圧の安定時間として設定された時間だけ前から、コア１へのクロック供給経路３０２ａを介したクロックの供給または電源電圧供給経路３０２ｂを介した電源電圧の供給を開始するように、クロック制御部９または電源電圧供給部４２０を制御する。
【００４３】
クロックの安定化時間や電源電圧の安定時間として設定する時間は、スケジューラ２１０に予め設定された時間であってもよく、各種条件に応じて算出された時間であってもよい。
【００４４】
以上のように、上述した実施形態では、ＴＤＭＡ通信装置に特化したマルチコアプロセッサを用いるＴＤＭＡ通信装置において、タイムスロット毎に動作させるコアを選択する選択手段を備える。
【００４５】
より詳述すると、時分割されたタイムスロット毎の処理内容を格納するスケジューラテーブルを備え、時分割された各タイムスロットに対して、スケジューラテーブルによりそのタイムスロットで実行すべきタスクが割り当てられているコアを、上記の選択手段が動作コアとして選択する。
【００４６】
ＴＤＭＡ通信システムでは、１つの無線チャネルをタイムスロットに分割し、タイムスロット毎に各ＴＤＭＡ通信装置に通信機会を割り当てるのであるが、その割り当て方法は受信するビーコンパケットを介して動的に決まるものがある。さらに、ビーコンパケットを介して、タイムスロット毎の各ＴＤＭＡ通信装置の処理内容、例えば、送信または受信、送受信するパケットのタイプなど、が想定される。
このようなＴＤＭＡ通信装置のアプリケーションプログラムの処理として並列化可能な処理単位毎に分割された各タスクを処理するのに特化したコアからなるマルチコアプロセッサを用いたＴＤＭＡ通信装置では、受信したビーコンパケットを介してタイムスロット毎の処理内容が想定されると、その処理内容に応じて実行すべきタスクも想定されることによりタイムスロット毎に動作させるコアの選択が可能となっている。
【００４７】
このように、各タイムスロットについての実行すべきタスクの情報に基づいてそのタイムスロットでの動作コアを選択することで、各コアに対するスケジューリングを適切に行うことができる。
このため、ＴＤＭＡ通信装置に特化したマルチコアプロセッサを用いるＴＤＭＡ通信装置において、ＴＤＭＡ通信装置に特化したコアのスケジューリングを適切に行うことができる。
【００４８】
また、選択可能なコア毎に供給するクロックを制御する手段をさらに備える。こうして選択手段において動作させるコアとして選択されなかったコアに供給されていたクロックを停止させることにより、クロックを供給するために発生していた消費電力を削減することができる。このため、消費電力あたりの処理能力を向上させることができる。
【００４９】
また、選択可能なコア毎に供給する電源電圧を制御する手段をさらに備える。こうして選択手段において動作させるコアとして選択されなかったコアに供給されていた電源電圧を落とすことにより、その電源電圧を供給するために発生していた消費電力を削減することができる。このため、消費電力あたりの処理能力を向上させることができる。
【００５０】
また、動作させるコアとして選択されずクロックの供給が停止中で、かつ次タイムスロットにおいて動作させるコアとして選択されるコアに対して、次タイムスロットの開始時刻よりもクロックを安定化させるのに必要な時間だけ前に、クロックの動作を開始する。
こうして次タイムスロットの開始時刻までの間にクロックの安定化時間を確保することにより、ＴＤＭＡ通信装置を正常に動作させることができる。
【００５１】
また、動作させるコアとして選択されず電源電圧の供給が停止中で、かつ次タイムスロットにおいて動作させるコアとして選択されるコアに対して、次タイムスロットの開始時刻より電源電圧を安定化させるのに必要な時間だけ前に、電源電圧の供給を開始する。
こうして次タイムスロットの開始時刻までの間に電源電圧の安定化時間を確保することにより、ＴＤＭＡ通信装置を正常に動作させることができる。
【００５２】
なお、上述した各実施形態は本発明の好適な実施形態であり、本発明はこれに限定されることなく、本発明の技術的思想に基づいて種々変形して実施することが可能である。
【００５３】
例えば、上述した実施形態では、動作コアとして選択されていないコアに対して、スケジューラ２１０が、クロック供給部４１０によるクロックの供給、または電源電圧供給部４２０による電源電圧の供給を停止させることとして説明したが、このことに限定されず、クロックと電源電圧の両方を停止させる構成であってもよい。
【００５４】
また、上述した実施形態では、ＴＤＭＡ通信装置が無線通信を行う構成として説明したが、ＴＤＭＡ方式により通信を行う通信装置であれば、有線通信を行う構成であってもよい。この場合、各タイムスロットでの処理内容に関するスケジュール情報を何らかの方法により取得できれば、上述した実施形態におけるビーコンパケットに替えて、他の方法で制御情報を取得する構成であってもよい。
【符号の説明】
【００５５】
１００    アンテナ
２００    ＴＤＭＡ通信回路部
２１０    スケジューラ
３００    マルチコアプロセッサ
３０１，３０２，３０３    コア
４００    リソース部
４１０    クロック供給部
４２０    電源電圧供給部
【先行技術文献】
【特許文献】
【００５６】
【特許文献１】特開２００８−８４００９号公報
【特許文献２】特開平４−３０５７５７号公報
【図１】
0005477187.tif 000002
【図２】
0005477187.tif 000003
【図３】
0005477187.tif 000004
【図４】
0005477187.tif 000005
【図５】
0005477187.tif 000006