(57)【要約】【課題】処理能力の向上と、コストの抑制、ハードウェア規模の小型化を同時に実現することに加え、消費電力の極端な増加やデバイスの発熱量の増加を抑制することも実現することができるソフトウェア無線機を提供する。【解決手段】同一のハードウェアで複数の無線通信方式に対応する制御をするマイクロプロセッサを備えたソフトウェア無線機であって、前記マイクロプロセッサは、メモリと、該メモリに接続された演算回路と、該演算回路のクロックを制御するクロック制御回路とを備え、該演算回路には、ｍ，ｎを２以上の整数としたとき、（ｍ×ｎ）個の演算器がマトリックス状に配置され、該（ｍ×ｎ）個の演算器が縦，横方向及び縦，横方向に対し±４５°の斜めの方向に任意に接続可能なバスにより接続され、該（ｍ×ｎ）個の演算器のおのおのでは予め定めた単位の指令毎に個別の動作速度で分散して並列処理する制御が行われるように構成されている。【選択図】      図４
2005208961.tif 000002
【特許請求の範囲】
【請求項１】
同一のハードウェアで複数の無線通信方式に対応する制御をするマイクロプロセッサを備えたソフトウェア無線機であって、
前記マイクロプロセッサは、メモリと、該メモリに接続された演算回路と、
該演算回路のクロックを制御するクロック制御回路とを備え、
該演算回路には、ｍ，ｎを２以上の整数としたとき、（ｍ×ｎ）個の演算器がマトリックス状に配置され、該（ｍ×ｎ）個の演算器が縦，横方向及び縦，横方向に対し±４５°の斜めの方向に任意に接続可能なバスにより接続され、
該（ｍ×ｎ）個の演算器のおのおのでは予め定めた単位の指令毎に個別の動作速度で分散して並列処理する制御が行われるように構成されたソフトウェア無線機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、同一のハードウェアで複数の無線通信方式に対応する制御を有するマイクロプロセッサを備えたソフトウェア無線機に関するものである。
【背景技術】
【０００２】
図１は、このようなソフトウェア無線機１００の機能ブロック例を示す。ソフトウェア無線機１００は、アンテナ１０２と、送受信増幅部１０４と、無線部１０８と、ベースバンド信号処理部１１０と、制御部１２０と、音声処理部１４２と、ＬＥＤ１４６と、リンガ１４８と、表示部１５０と、入力部１５２と、スピーカ１５４と、マイク１５６と、記録メディアドライブ１５８とを備える。ソフトウェア無線機１００は、本発明に係るソフトウェア無線機の一例である。
【０００３】
アンテナ１０２は、送信アンプで増幅された上りＲＦ信号を送信し、また広帯域下りＲＦ信号を受信し、低雑音アンプに送る。送受信増幅部１０４は、送信ＲＦ信号を増幅する送信アンプと、受信ＲＦ信号を増幅する低雑音アンプを有し、ＲＦ送信信号とＲＦ受信信号を多重分離する。
【０００４】
無線部１０８は、送受信増幅部１０４から受け取った受信信号を純同期検波し、Ａ／Ｄ変換してベースバンド信号処理部１１０に送る。また無線部１０８では、ベースバンド信号処理部１１０がベースバンド拡散した送信信号をＤ／Ａ変換し、直交変調によりＲＦ信号に変換する。ベースバンド信号処理部１１０は、送信信号及び受信信号にベースバンド信号処理を行う。ベースバンド信号処理部１１０は、例えば、無線部１０８から伝送される受信信号には、逆拡散，バス設定，チップ同期，誤り訂正複号化，データの多重分離，ダイバーシチハンドオーバ合成等の処理を行い、送信データには、誤り訂正符号化，フレーム化，データ変調，拡散変調等の処理を行う。更に、アンテナ１０２，送受信増幅部１０４，無線部１０８、およびベースバンド信号処理部１１０は、無線チャネルを介して、当該ソフトウェア無線機１００のプログラムの更新又は追加に関する情報を受信し、制御部１２０に送る。プログラムの更新又は追加に関する情報とは、プログラムの更新又は追加を実現するために用いられる情報であり、例えば、ＯＳおよびアプリケーションプログラムを含むプログラム全体の更新又は追加部分のプログラムモジュール、設定パラメータ等である。すなわち、プログラムの更新又は追加は、プログラム全体の入れ替え、プログラムの更新部分の入れ替え、プログラムの追加部分の追加、設定パラメータの変更等により実現される。
【０００５】
この種のソフトウェア無線機に用いられている従来のマイクロプロセッサでは、演算処理のコア部分の動作周波数が数ＧＨｚに達し、一層高速な処理が可能になっている。これは、半導体製造技術において、一層微細な配線が可能になったことや、大手のマイクロプロセッサ製造メーカの製品で導入されている、プロセッサの付加状態によって動作クロック周波数を変える技術等により実用可能なものとなっている。
ＦＰＧＡやＣＰＬＤなどの書換え可能な論理デバイスに、動作クロックが中低速のプロセッサのコア回路を複数搭載することにより、低コストで高性能なマイクロプロセッサの機能を実現する方法も用いられている（例えば、特許文献１参照）。
一方、ソフトウェア無線機のハードウェアは、ＦＰＧＡやＤＳＰ、及びＭＰＵを用いた構成が一般的で、例えば、リアルタイムの信号処理はＦＰＧＡ、中低速の信号処理はＤＳＰ（Digital Signal Processing ）やＭＰＵ（Micro-Processor Unit）、制御関連の処理はＭＰＵという構成でその機能が実現されている（例えば、特許文献２参照）。
【特許文献１】特開平５−２０２８２号公報
【特許文献２】特開２００３−６９４７０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
このような従来のソフトウェア無線機のハードウェア構成で、処理能力を向上させるためには、使用するプロセッサの動作クロックを一層高速にすることや、使用するプロセッサ・デバイスの数量を増加して、並列処理により総合的な演算能力を高める方法が一般的な対策方法として用いられる。しかし、これらの方法では、コストの増加が大きい上に、ハードウェア規模が物理的に大きくなってしまうこと、さらに、消費電力の増加やデバイスの発熱量の増大など、問題が多数存在することになる。
【０００７】
本発明は、処理能力の向上と、コストの抑制、ハードウェア規模の小型化を同時に実現することに加え、消費電力の極端な増加やデバイスの発熱量の増加を抑制することも実現することができるソフトウェア無線機を提供するものである。
【課題を解決するための手段】
【０００８】
この目的を達成するために、本発明によるソフトウェア無線機は、同一のハードウェアで複数の無線通信方式に対応する制御をするマイクロプロセッサを備えたソフトウェア無線機であって、
前記マイクロプロセッサは、メモリと、該メモリに接続された演算回路と、
該演算回路のクロックを制御するクロック制御回路とを備え、
該演算回路には、ｍ，ｎを２以上の整数としたとき、（ｍ×ｎ）個の演算器がマトリックス状に配置され、該（ｍ×ｎ）個の演算器が縦，横方向及び縦，横方向に対し±４５°の斜めの方向に任意に接続可能なバスにより接続され、
該（ｍ×ｎ）個の演算器のおのおのでは予め定めた単位の指令毎に個別の動作速度で分散して並列処理する制御が行われるように構成されている。
【０００９】
すなわち、本発明では、後述のように、マイクロプロセッサ１０（図５の無線機１００における制御部１２０に相当する）の演算回路１１が、中低速動作の演算器１を複数使用して、超格子接続により各演算器を接続可能な構成とし、各演算器１ではスレッドやタスク単位で処理を分散して行うことにより、ハードウェアレベルで分散並列処理が可能な構成とする。また、個別に動作速度を切替えることができる構成とすることにより、処理負荷に適合した最適な動作速度で動作させることが可能な構成とする。
さらに、このハードウェア構成を１チップのＡＳＩＣ、もしくは、ＳｏＣ（System on Chip）で１パッケージのデバイスとすることにより、大規模なソフトウェア処理が必要とされるシステムのハードウェアを大幅に小型化することが可能となる。
これに加え、演算器が個々に高速のシリアルバスとのインタフェースを有していれば、各演算器間を高速のシリアルバスで接続することによって配線が簡素化されるため、隣接する演算器間だけではなく、離散した演算器間の接続も可能となるため、より自由度の高いハードウェア構成が実現可能となる。そのため、一層多くの処理機能を１つのプロセッサ・デバイスで処理することができるため、ハードウェアを一層小型化することが可能となる。
また、近年入手が可能となっている大規模のゲート数を有するＦＰＧＡに、プロセッサコアを複数搭載することでも、同様のハードウェア構成を実現することができる。
【発明の効果】
【００１０】
本発明により、ソフトウェア無線機のハードウェアを低コストで小型化，効率化，低消費電力化することが可能となる。
さらに、複数の演算器による並列処理が可能であるため、各演算器を相補的な関係で動作させることで、高信頼性のシステムの構築が可能となる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施例について説明する。
【００１２】
図１は、図５の無線機１００における制御部１２０に相当する本発明に用いるマイクロプロセッサ１０の構成例を示すもので、１１は演算回路、１２はメモリ、１３はバスインタフェース回路、１４はクロック制御回路、１５は状態監視回路である。以下各回路について、順次説明する。
【００１３】
図２は、演算回路１１の構成例を示すもので、以下順次説明されているように、ｍ，ｎを２以上の整数としたとき、（ｍ×ｎ）個の演算器がマトリックス状に配置され、該（ｍ×ｎ）個の演算器が縦，横方向及び縦，横方向に対し±４５°の斜めの方向に任意に接続可能なバスにより接続され、該（ｍ×ｎ）個の演算器のおのおのでは予め定めた単位の指令毎に個別の動作速度で分散して並列処理する制御が行われるように構成されている。
【００１４】
図３は演算回路１１の構成例を示すブロック図である。プロセッサ１０の演算回路１１は、４×４の配列で演算器が１６個のプロセッサコアにより構成される。これらの演算器は、図３に示すように超格子状にバス接続可能となっており、縦横、斜め方向の接続も可能である。
【００１５】
次に、このプロセッサ１０で複数種類の処理を行う場合について説明する。図４に示すように、ソフトウェア実行時の演算器に対する処理負荷の異なる５種類の処理として、処理Ａ，Ｂ，Ｃ，Ｄ、および、その他のＩ／Ｏ制御や頻度が少なく処理量が比較的少ない処理をこのプロセッサ１０で実行使用とする場合、最も負荷が大きな処理Ａは、演算部＜１＞〜＜３＞，＜５＞，＜６＞の５個の演算器（１０１）で、次に負荷が大きな処理Ｂは演算器＜４＞，＜７＞，＜８＞の３個の演算器（１０２）で、次の処理Ｃは演算器＜９＞，＜１３＞の２個の演算器（１０３）、処理Ｄは＜１０＞，＜１４＞の２個の演算器（１０４）、さらにその他の処理については、演算器＜１１＞，＜１２＞，＜１５＞，＜１６＞の４個の演算器でそれぞれ分散処理される。さらに、各処理が複数のタスクで構成されるマルチタスクである場合でも、使用する演算器の数だけ並列にタスクを処理することができるため、実際には、複数段のパイプラインを有する高速のプロセッサと同等の処理能力を一層低い動作速度で得ることができる。さらに、各演算器が別個に動作することが可能であるため、高度のリアルタイム性が要求される信号処理や、監視、制御などの高負荷の処理と、高速のプロトコル処理が必要な高速データバスへの接続時にも、同時に、双方の処理能力を低下させることなく並列に処理することが可能となる。
【００１６】
これに加えて、各マイクロプロセッサ１０の構成を図１に示すような構成とし、クロック制御回路１４により個別に動作クロックを制御することができるようにすることにより、処理負荷の大小、処理の時間制約の有無などに応じて、演算器単位で適切なクロック速度で動作させることが可能となる。これにより、１つの高速動作可能なプロセッサを使用するよりも低消費電力で、同等以上の処理能力を実現することが可能となる。さらに、演算器単位で動作を休止させることができるスリープ制御機能を負荷することにより、処理負荷が軽いアイドリング時の消費電力を大幅に低減することが可能となる。
【００１７】
この例では、処理ＡはＯＳをはじめシステムの基幹となる処理を行い、処理Ｂはリアルタイム性が要求される信号の処理を実行し、処理ＣはインターネットやＬＡＮなどへ接続を行うためのプロトコル処理やその他のネットワーク関連の処理を行い、処理Ｄは、ＭＰＥＧ，ＪＰＥＧ，暗号符復号処理など、高度な処理が要求されるアプリケーションの処理、その他、シリアルインタフェースや周辺のメモリへのアクセス、周辺バスへの接続処理などのＩ／Ｏ制御、リアルタイム性が低いアプリケーションの実行処理等を残りの４個の演算器で分散して行うなど、システムとしての処理を同時に並列分散処理することができる。さらに、これにより、データバス接続の数を大幅に削減することが可能であるため、ハードウェアを縮小することが可能となる。
【００１８】
さらに、各処理での各回路の振る舞いについて説明する。
処理Ａを実行する演算器群をグループＡとする。このグループＡ１０１は、システムの基幹となる処理を行うため、リアルタイム性が要求される処理が複数実行される。この場合、複数の演算器で分散並列処理を行うことにより、リアルタイム性を確実に保証することが可能となる。さらに、ある演算器をバックアップ用として割当てることにより、仮にＯＳや厳密なリアルタイム性が要求されるような処理を実行している演算器でハングアップが発生した場合であっても、状態監視回路１５で取得され、共有のメモリ空間や記憶装置などに保存されている監視情報を用いることで、バックアップ用の演算器に切り替えられた後に、この情報を用いて、故障発生前の正常動作時の状態から処理を継続して実行することができるため、システムとしての信頼性を高めることで可能となる。また、バックアップの演算器での処理で再開された後、ハングアップした演算器のみを単独でリセットすることにより、リッセト処理完了後に、このプロセッサをバックアップ用の演算器として待機させることが可能となる。
【００１９】
次に、処理Ｂを実行する演算器群をグループＢとする。このグループは、高速の信号処理を行うために、動作クロックを一層高速に設定することにより、演算に特化させることができる。
【００２０】
さらに、処理Ｃを実行する演算器群をグループＣとすると、このグループは、ネットワーク関連の処理を行うため、プロトコル処理とバスへの接続処理、その他、セキュリティー，ゲートウェイ等の処理も実行する場合、一方の演算器をプロトコル処理やバス接続の処理に専念させ、もう一方でその他の関連するアプリケーション層の処理を行うことにより、効率の良いソフトウェア処理が可能となる。
【００２１】
また、処理Ｄを実行する演算器群をグループＤとすると、ここでは、高度の処理が必要なアプリケーションの実行に使用するが、そのような処理は、常時実行されることよりも、一時的に高負荷の処理となることが多いため、実行要求が発生した場合にのみ動作し、それ以外は、一方の演算器のみで処理を行い、もう一方の演算器を待機状態とすることにより、消費電力を抑制することが可能となる。
【００２２】
最後に、Ｉ／Ｏ制御やリアルタイム性が要求されないアプリケーションの実行処理などの、その他の動作については、様々な種類の様々な負荷の処理を複数実行することになるため、処理負荷に応じて、４個の演算器で複数のアプリケーションを個別に実行したり、処理負荷に応じて２つの演算器で分散処理したり、いくつかのアプリケーションが関連した場合には、演算器間での連携を取りながら並列処理を行うなど、処理負荷に応じて適応的に演算器間の接続状態を変えることにより、効率的な処理を実現することができる。
【産業上の利用可能性】
【００２３】
本発明は、ハードウェアの変更を行うことなしに、ソフトウェアの変更のみで無線機の機能及び性能を維持することができるので、無線機全般に広く利用して優れた効果を発揮することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明に用いるマイクロプロセッサの構成例を示すブロック図である。
【図２】図１に示された演算回路の構成例を示すブロック図である。
【図３】図２に示す演算回路の具体例を示すブロック図である。
【図４】本発明に用いるマイクロプロセッサの具体例を示すブロック図である。
【図５】従来のソフトウェア無線機の構成例を示すブロック図である。
【符号の説明】
【００２５】
１  演算器（プロセッサコア）
１０  マイクロプロセッサ
１１  演算回路
１２  メモリ
１３  バスインタフェース
１４  クロック制御回路
１５  状態監視回路
１００  ソフトウェア無線機
【図１】
2005208961.tif 000003
【図２】
2005208961.tif 000004
【図３】
2005208961.tif 000005
【図４】
2005208961.tif 000006
【図５】
2005208961.tif 000007