(57)【要約】  異なる無線通信システムと同時に動作するディジタルベースバンドプロセッサが提供される。このディジタルベースバンドプロセッサは、ディジタル信号プロセッサ命令を実行するディジタル信号プロセッサと、マイクロコントローラ命令を実行するマイクロコントローラと、前記ディジタル信号プロセッサと前記マイクロコントローラによって制御されてタイミング感受性命令を実行するタイミング・事象プロセッサとを含む。このタイミング・事象プロセッサは、タイミング感受性命令スレッドを実行する複数の命令シーケンサと、該複数の命令シーケンサのそれぞれにおいて、命令スレッドの実行を開始するためのタイミング信号を生成する時間ベース発生器とを含む。
2005510779.tif 000002
【特許請求の範囲】
【請求項１】
第１の命令列内の命令を実行する少なくとも１つのメインプロセッサと、
該メインプロセッサに結合されて第２の命令列内のタイミング感受性命令を実行するタイミング・事象プロセッサであって、
前記第２の命令列のスレッドを実行する２つまたは３つ以上の命令シーケンサ、および
該２つまたは３つ以上の命令シーケンサのそれぞれにおいて命令の実行を開始するためのタイミング信号を生成する時間ベース発生器を含む、前記タイミング・事象プロセッサとを含む、ディジタルベースバンドプロセッサ。
【請求項２】
タイミング・事象プロセッサが、ディジタルベースバンドプロセッサの構成要素間の時間厳密ＤＭＡ転送を開始する手段を含む、請求項１に記載のディジタルベースバンドプロセッサ。
【請求項３】
タイミング・事象プロセッサが、ディジタルベースバンドプロセッサ内のＤＭＡチャネルの時間厳密イネーブリングを行う手段を含む、請求項１に記載のディジタルベースバンドプロセッサ。
【請求項４】
タイミング・事象プロセッサが、メインプロセッサに対する時間厳密割込みを生成する手段を含む、請求項１に記載のディジタルベースバンドプロセッサ。
【請求項５】
タイミング・事象プロセッサが、ディジタルベースバンドプロセッサの別の構成要素に対する時間厳密トリガを生成する手段を含む、請求項１に記載のディジタルベースバンドプロセッサ。
【請求項６】
タイミング・事象プロセッサが、時間厳密出力信号を生成する手段を含む、請求項１に記載のディジタルベースバンドプロセッサ。
【請求項７】
タイミング・事象プロセッサが、高周波クロックに対して低周波クロックを較正して、較正低周波クロックおよび位相補償信号を生成する手段を含む、請求項１に記載のディジタルベースバンドプロセッサ。
【請求項８】
タイミング・事象プロセッサが、時間ベース発生器に応答してディジタルベースバンドプロセッサ内のアイドル状態のモジュールへのクロックのゲートを閉じる電力管理回路を含む、請求項１に記載のディジタルベースバンドプロセッサ。
【請求項９】
タイミング・事象プロセッサが、２つまたは３つ以上の命令シーケンサのための命令およびデータを保持するメモリをさらに含む、請求項１に記載のディジタルベースバンドプロセッサ。
【請求項１０】
メモリが多重ポート型であるとともに、タイミング・事象プロセッサが、２つまたは３つ以上の命令シーケンサによってメモリへのアクセスを制御するメモリアクセスリゾルバをさらに含む、請求項９に記載のディジタルベースバンドプロセッサ。
【請求項１１】
タイミング・事象プロセッサが、２つまたは３つ以上の命令シーケンサによって生成される出力における競合を解消するとともに、競合に応答して例外を生成するＩ／Ｏ競合リゾルバをさらに含む、請求項１に記載のディジタルベースバンドプロセッサ。
【請求項１２】
ＤＭＡ要求を処理するＤＭＡコントローラをさらに含み、タイミング・事象プロセッサが時間厳密ＤＭＡ転送を開始するためのＤＭＡインターフェイスを含む、請求項１に記載のディジタルベースバンドプロセッサ。
【請求項１３】
タイミング・事象プロセッサが、２つまたは３つ以上の命令シーケンサが生成するＤＭＡ要求間の競合を解消するＤＭＡ要求リゾルバをさらに含む、請求項１２に記載のディジタルベースバンドプロセッサ。
【請求項１４】
タイミング・事象プロセッサが、２つまたは３つ以上の命令シーケンサをプロセッサバスに結合するためのバスインターフェイスをさらに含む、請求項１に記載のディジタルベースバンドプロセッサ。
【請求項１５】
時間ベース発生器が、比較的安定な高周波クロックに対して比較的不安定な低周波クロックを較正して較正低周波クロックを生成する、クロック較正回路を含む、請求項１に記載のディジタルベースバンドプロセッサ。
【請求項１６】
タイミング・事象プロセッサが、較正低周波クロックを計数してプログラム可能タイミング信号を生成する、絶対カウンタをさらに含む、請求項１５に記載のディジタルベースバンドプロセッサ。
【請求項１７】
異なる無線システムと同時動作するためのディジタルベースバンドプロセッサであって、
ディジタル信号プロセッサ命令を実行するディジタル信号プロセッサと、
マイクロコントローラ命令を実行するマイクロコントローラと、
前記ディジタル信号プロセッサおよび前記マイクロコントローラによって制御されてタイミング感受性命令を実行するタイミング・事象プロセッサであって、
タイミング感受性命令スレッドを実行する複数の命令シーケンサ、および
前記複数の命令シーケンサのそれぞれにおいて命令スレッドの実行を開始するためのタイミング信号を生成する時間ベース発生器を含む、前記タイミング・事象プロセッサとを含む、前記ディジタルベースバンドプロセッサ。
【請求項１８】
無線システム時間ベースを有する無線システム内で無線端末を動作させるためのタイミング信号を生成する方法であって、
較正低速クロックを生成するステップと、
前記較正低速クロックを計数することによって絶対時間値を生成して統一時間ベースを提供するステップと、
前記無線システム時間ベースとは独立に、前記統一時間ベースの前記絶対時間値に基づいて、無線システム内の事象のタイミングをとるステップとを含む、前記方法。
【請求項１９】
事象のタイミングをとるステップが、無線システム時間ベースとは独立に統一時間ベースに基づいて、それぞれが無線システム時間ベースを有する２つまたは３つ以上の無線システムにおける事象のタイミングをとることを含む、請求項１８に記載の方法。
【請求項２０】
事象のタイミングをとるステップが、システムクロックから取り出されるデルタ時間値に応答して、他の事象に相対的に事象をスケジューリングすることを含む、請求項１８に記載の方法。
【請求項２１】
事象のタイミングをとるステップが、命令に含まれる待機時間を絶対時間値と比較し、前記待機時間が絶対時間値に等しいときに指定された動作を実施することを含む、請求項１８に記載の方法。
【請求項２２】
無線システム時間ベースを有する無線システム内の無線端末を動作させるためのタイミング信号を生成する装置であって、
較正低速クロックを生成する手段と、
前記較正低速クロックを計数することによって絶対時間値を生成して、統一時間ベースを提供する手段と、
前記無線システム時間ベースとは独立に前記統一時間ベースの前記絶対時間値に基づいて前記無線システムにおける事象のタイミングをとる手段とを含む、前記装置。
【請求項２３】
自走式高速クロックを受け取るステップと、
自走式低速クロックを受け取るステップと、
前記自走式低速クロックを修正して、前記高速クロックと指定の周波数関係を有する、較正低速クロックを提供するステップと、
前記較正低速クロック中の位相誤差を表す、位相補償信号を提供するステップとを含む、較正クロックを生成する方法。
【請求項２４】
自走式低速クロックを修正するステップが、自走式低速クロックからサイクルを除去して較正低速クロックを提供することを含む、請求項２３に記載の方法。
【請求項２５】
自走式低速クロックを修正するステップが、選択された数の自走式低速クロックサイクル中の高速クロックサイクルの数を計数するステップと、指定された周波数関係および前記選択された数の自走式低速クロックサイクル中の高速クロックサイクル数に基づいて、前記自走式低速クロックからサイクルを除去する周期を決定するステップとをさらに含む、請求項２４に記載の方法。
【請求項２６】
自走式高速クロックを受け取るステップと、
自走式低速クロックを受け取るステップと、
前記高速クロックと較正低速クロックとの間の関係を指定するステップと、
選択された数の自走式低速クロックサイクル内の高速クロックサイクル数を計数して比較値を提供するステップと、
前記高速クロックと前記較正低速クロックとの間の指定の関係、および前記比較値に基づいて、前記自走式低速クロックからサイクルを除去して較正低速クロックを提供するステップと、
前記較正低速クロックにおける位相誤差を表す位相補償信号を提供するステップとを含む、較正クロックを生成する方法。
【請求項２７】
位相補償信号を提供するステップが、位相誤差を表すある数の高速クロックサイクルを提供することを含む、請求項２６に記載の方法。
【請求項２８】
自走式高速クロックを受け取る手段と、
自走式低速クロックを受け取る手段と、
前記自走式低速クロックを修正して、前記高速クロックと指定された周波数関係を有する較正低速クロックを提供する手段と、
前記較正低速クロックにおける位相誤差を表す、位相補償信号を提供する手段とを含む、較正クロックを生成する装置。
【請求項２９】
ベースバンドプロセッサ内でＤＭＡ転送を実施する方法であって、
ディジタル信号プロセッサコアにおいて計算を実施するステップと、
タイミング・事象プロセッサにおいてタイミング信号を生成するステップと、
前記ディジタル信号プロセッサからの要求に応答するとともに、前記タイミング・事象プロセッサからのタイミング信号に応答して、ＤＭＡ転送を実施して、タイミングを合わせたＤＭＡ転送を提供するステップとを含む、前記方法。
【請求項３０】
ＤＭＡ転送を実施するステップが、タイミング・事象プロセッサ専用のＤＭＡチャネル上で前記ＤＭＡ転送を実施することを含む、請求項２９に記載の方法。
【請求項３１】
ディジタル信号計算を実施するためのディジタル信号プロセッサコアと、
該ティジタル信号プロセッサコアに結合されて、タイミング感受性動作を実施するタイミング・事象プロセッサであって、
タイミング信号を生成する時間ベース発生器、および
前記ディジタル信号プロセッサコアからの命令、および前記時間ベース発生器からのタイミング信号に応答して、ＤＭＡ要求を開始するＤＭＡ制御回路を含む前記タイミング・事象プロセッサと、
前記ＤＭＡ要求を実行して、タイミングを合わせたＤＭＡ転送を提供するＤＭＡコントローラとを含む、無線通信用途のベースバンドプロセッサ。
【発明の詳細な説明】
【発明の詳細な説明】
【０００１】
関係する出願の相互参照
本出願は、２００１年８月２９日出願の、米国特許仮出願第６０／３１５，６５５号の利益を主張するものであり、その全文を本明細書に参照により組み入れる。
発明の分野
本発明は、無線通信に関し、より具体的には、無線システムにおけるタイミングおよび事象処理に関する。
【０００２】
発明の背景
無線通信ネットワークの急速な進歩によって、新しい無線通信標準が頻繁に創出されて、旧式の時代遅れとなった標準に置き換わる。しかしながら、新標準に基づく新しい無線ネットワークを、広い物理的領域にわたって実装するには時間を要することが多い。したがって、既存の無線ネットワークとともに、新しい無線ネットワークとも通信できる無線端末を有することが望ましいことが多い。さらに、無線コンピュータデータネットワークの急速な成長によって、これらのネットワークと通信し、それによってユーザがインターネットをブラウズしたり、または電子メイルを送受信したりできる、無線端末を有するのが望ましいことが多い。さらに、異なる無線システムと同時に通信して、ユーザが、例えば、第２世代無線ネットワーク（2G wireless network）上で音声電話通話をしながら、無線データネットワーク上で電子メイルをチェックすることができれば有用である。
【０００３】
そのような無線システムは、異なる時間ベースを使用することが多い。例えば、第２世代ＧＳＭネットワーク（2G GSM network）は、フレームが４．６１５ｍｓｅｃの継続時間を有して、８つのタイムスロットに分割された時間ベースを使用している。しかしながら、第３世代ＷＣＤＭＡネットワーク（3G WCDMA network）は、フレームが１０ｍｓｅｃの継続時間を有して、１５のタイムスロットに分割された時間ベースを使用している。移動端末内での事象は、その移動端末が１つの無線システムで動作するか、または同時に２つまたは３つ以上の無線システムと共に動作するかにかかわらず、無線システムのそれぞれに対して正確にタイミングを合わせ、同期されていなければならない。
また、携帯性を維持するために無線端末は、通常、バッテリ給電されており、再充電までの時間は、使用される電流の逆関数となる。再充電までの間に、ユーザができるだけ長く無線端末を使えることが望ましいので、電力管理は重要な検討事項である。
【０００４】
発明の概要
本発明の第１の態様によれば、ディジタルベースバンドプロセッサが提供される。このディジタルベースバンドプロセッサは、第１の命令列内の命令を実行する少なくとも１つのメインプロセッサと、該メインプロセッサに結合されて第２の命令列内のタイミング感受性命令を実行するタイミング・事象プロセッサを含む。このタイミング・事象プロセッサは、第２の命令列のスレッドを実行する２つまたは３つ以上の命令シーケンサと、２つまたは３つ以上の命令シーケンサのそれぞれにおいて命令の実行を開始するためのタイミング信号を生成する時間ベース発生器とを含む。
【０００５】
本発明の別の態様によれば、異なる無線システムと同時動作するためのディジタルベースバンドプロセッサが提供される。このディジタルベースバンドプロセッサは、ディジタル信号プロセッサ命令を実行するディジタル信号プロセッサと、マイクロコントローラ命令を実行するマイクロコントローラと、前記ディジタル信号プロセッサおよび前記マイクロコントローラによって制御されてタイミング感受性命令を実行するタイミング・事象プロセッサを含む。このタイミング・事象プロセッサは、タイミング感受性命令スレッドを実行する複数の命令シーケンサと、前記複数の命令シーケンサのそれぞれにおいて命令スレッドの実行を開始するためのタイミング信号を生成する時間ベース発生器とを含む。
【０００６】
本発明のさらに別の態様によれば、無線システム時間ベースを有する無線システム内で無線端末を動作させるためのタイミング信号を生成する方法が提供される。この方法は、較正低速クロックを生成するステップと、前記較正低速クロックを計数することによって絶対時間値を生成して統一時間ベースを提供するステップと、前記無線システム時間ベースとは独立に、前記統一時間ベースの前記絶対時間値に基づいて、無線システム内の事象のタイミングをとるステップとを含む。
本発明の別の態様によれば、較正クロックを生成する方法が提供される。この方法は、自走式高速クロックを受け取るステップと、自走式低速クロックを受け取るステップと、前記自走式低速クロックを修正して、前記高速クロックと指定の周波数関係を有する、較正低速クロックを提供するステップと、前記較正低速クロック中の位相誤差を表す、位相補償信号を提供するステップとを含む。
【０００７】
本発明の別の態様によれば、較正クロックを生成する方法が提供される。この方法は、自走式高速クロックを受け取るステップと、自走式低速クロックを受け取るステップと、前記高速クロックと較正低速クロックとの間の関係を指定するステップと、選択された数の自走式低速クロックサイクル内の高速クロックサイクル数を計数して比較値を提供するステップと、前記高速クロックと前記較正低速クロックとの間の指定の関係、および前記比較値に基づいて、前記自走式低速クロックからサイクルを除去して較正低速クロックを提供するステップと、前記較正低速クロックにおける位相誤差を表す位相補償信号を提供するステップとを含む。
【０００８】
本発明の別の態様によれば、ベースバンドプロセッサ内でＤＭＡ転送を実施する方法が提供される。この方法は、ディジタル信号プロセッサコアにおいて計算を実施するステップと、タイミング・事象プロセッサにおいてタイミング信号を生成するステップと、前記ディジタル信号プロセッサからの要求に応答するとともに、前記タイミング・事象プロセッサからのタイミング信号に応答して、ＤＭＡ転送を実施して、タイミングを合わせたＤＭＡ転送を提供するステップとを含む。
【０００９】
本発明のさらに別の態様によれば、無線通信用途のベースバンドプロセッサが提供される。このベースバンドプロセッサは、ディジタル信号計算を実施するためのディジタル信号プロセッサコアと、該ティジタル信号プロセッサコアに結合されて、タイミング感受性動作を実施するタイミング・事象プロセッサであって、タイミング信号を生成する時間ベース発生器、および前記ディジタル信号プロセッサコアからの命令および前記時間ベース発生器からのタイミング信号に応答して、ＤＭＡ要求を開始するＤＭＡ制御回路を含む前記タイミング・事象プロセッサと、前記ＤＭＡ要求を実行して、タイミングを合わせたＤＭＡ転送を提供するＤＭＡコントローラとを含む。
【００１０】
詳細な説明
無線端末は、無線ユニット、ディジタルベースバンドプロセッサ、ユーザインターフェイスおよびバッテリー（電池）を含むことがある。ベースバンドプロセッサは、信号処理アルゴリズムおよびその他の複雑な計算を実行するディジタル信号プロセッサと、制御機能および比較的簡単な計算を実行するマイクロコントローラとを含むことがある。無線端末内のベースバンドプロセッサが実行する多くのタスクは、正確なタイミングを必要とする。例えば、無線通信ネットワークにおいて、無線チャネル上の動作は、所定の時刻に指定の精度で発生するようにスケジュールされている。専用のタイミング・事象プロセッサ（ＴＥＰ）を使用して、そのようなタイミング精度を達成することができる。例えば、ＴＥＰは、タイミング信号の生成、事象のスケジュール、プロセッサへの割込みの生成、他のモジュールにおける動作の開始、および無線ユニットのようなオフチップ回路用の制御信号の生成を担当することができる。ＴＥＰは、ディジタル信号プロセッサ、マイクロコントローラおよびベースバンドプロセッサの他の構成要素と一緒に使用することによって、無線端末内のすべてのタイミングおよび事象を制御することができる。
【００１１】
いくつかの異なる無線システムと同時に通信するのが望ましいことがある。例えば、通信プロセッサは、ブルートゥース（Bluetooth）ネットワークのようなデータネットワークと通信して、無線ＣＤＭＡネットワークのページングチャネルの新しい音声電話通話をモニタしながら、同時にユーザの電子メイルアカウントの新しいメイルをモニタすることができる。往々にして、通信プロセッサが通信する別個の無線システムは、異なる時間ベースを利用している。ＴＥＰは、共通基準クロックを通信プロセッサが通信する任意の無線システムに対する事象をスケジュールするための時間ベースとして使用することによって、無線システムの事象をスケジュールすることができる。
【００１２】
本発明の一実施態様によるベースバンド通信プロセッサ１００のブロック図を図１に示してある。図１に示すプロセッサは、２つのコア処理装置を含む。ディジタル信号プロセッサ（ＤＳＰ）コア１０２は、セルサーチ、信号の相関、チャネル符号化および復号化などに関連する、通信プロセッサ１００のディジタル信号処理機能を実施するのに使用することができる。その他の多数の信号処理機能をＤＳＰコア１０２で実施することができる。この実施態様の使用に好適なＤＳＰコアの例が、２０００年１１月１６日公開のＰＣＴ公開ＷＯ００／６８７７８３号に開示されている。しかしながら、その他多くの種類のディジタル信号プロセッサを使用することが可能であり、本発明はいかなる特定のディジタル信号プロセッサにも限定されないことを理解すべきである。マイクロコントローラユニット（ＭＣＵ）１０４コア処理装置は、プロトコルスタック命令の実行などの、通信プロセッサ１００の制御コードを実行するのに使用することができる。本発明の使用に好適な市販のＭＣＵの例としては、アドバンスドＲＩＳＣマシン社（Advanced RISC Machines, Ltd.）が販売するＡＲＭ７ＴＤＭＩコアがある。しかしながら、他にも多種類のマイクロコントローラを使用することが可能であり、本発明はいかなる特定のマイクロコントローラにも限定されないことを理解すべきである。
【００１３】
通信プロセッサ１００はまた、システムメモリ１０６を含む。システムメモリ１０６は、スタティックランダムアクセスメモリ（ＳＲＡＭ）、またはダイナミックランダムアクセスメモリ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、強誘電体ＲＡＭ（ＦＲＡＭ）などの、その他任意の種類の揮発性もしくは不揮発性メモリとすることができる。ＤＳＰコア１０２およびＭＣＵ１０４は、共通メモリマップを使用する。したがって、これらのプロセッサは、システムメモリ１０６へのアクセスを共有して、システムメモリ１０６を介して互いに通信することができる。
図１に示す構成要素のそれぞれは、単一の集積回路として、または複数の集積回路として実装することができる。実施態様によっては、通信プロセッサ１００全体が、単一チップ上に製作される。本発明は、この点に関して限定されないことを理解すべきである。
【００１４】
ダイレクトメモリアクセス（ＤＭＡ）コントローラ１３４、１３６は、通信プロセッサ１００内におけるデータ転送を容易にするために設けられている。ＤＭＡコントローラ１３４、１３６は、デバイスとメモリ（例えば、システムメモリ１０６）の間で、プロセッサ介入なしに、データを直接転送することを可能にする。ＤＭＡチャネルをデバイスに割り当てることによって、それらのデバイスが、ＤＭＡ転送を要求できるようになる。チャネル構成は、ＤＳＰコア１０２およびＭＣＵ１０４によって決定することができる。両プロセッサは、各ＤＭＡチャネルにアクセスすることができるが、１群のチャネルに対するチャネル構成は、ＭＣＵコア１０４によって制御し、別の群のチャネルに対するチャネル構成をＭＣＵコア１０４によって制御してもよい。同様に、ＤＭＡコントローラ１３４は、ＤＳＰコア１０２によって構成されるチャネルに対するＤＭＡ転送を制御することが可能であり、同時にＤＭＡコントローラ１３６はＭＣＵ１０４によって構成されるチャネルに対するＤＡＭ転送を制御することができる。
【００１５】
ＤＳＰコア１０２には、キャッシュされたデータにアクセスするときの待ち時間（latency）を少なくるために、レベル１（Ｌ１）命令キャッシュ１４４およびＬ１データキャッシュ１４６を含めることができる。ＤＳＰコア１０２には、Ｌ１データキャッシュ１４６に接続された２つのデータバス、Ｌ１命令キャッシュ１４４に接続された命令バス、およびキャッシュ１４４および１４６に接続されたＤＭＡバスを備えることができる。レベル２（Ｌ２）メモリ１４８は、ＤＳＰコア１０２による使用に対して専用のＳＲＡＭとすることができる。メモリ１４８には、ＤＭＡコントローラ１３４がアクセス可能である。メモリ１４８には、ＭＣＵ１０４、ＤＭＡコントローラ１３６、および外部アプリケーションプロセッサインターフェイス（ＥＡＰＩ）１４２もアクセスすることができる。
システムバスインターフェイスユニット（ＳＢＩＵ）１３２は、バスブリッジ機能を実施する。例えば、ＳＢＩＵ１３２は、非対称クロスバースイッチとして機能し、このスイッチは、ＤＳＰコア１０２、ＤＭＡコントローラ１３４、ＭＣＵ１０４、ＤＭＡコントローラ１３５、および外部アプリケーションプロセッサインターフェイス１４２を、Ｌ１キャッシュ１４４、Ｌ１キャッシュ１４６、Ｌ２メモリ１４８、およびその他のシステム資源などの、適当なシステム資源に経路設定することができる。ＳＢＩＵ１３２は、様々なバス間での並列かつ同時のデータ転送を可能にする。
【００１６】
マンマシンインターフェイス（ＭＭＩ）モジュール１５０は、通信プロセッサ１００へのハードウエアユーザインターフェイスを提供し、ＰＢＵＳバス１２８を介してアクセス可能である。ＭＭＩ１５０モジュールには、通信プロセッサ１００の汎用Ｉ／Ｏ（ＧＰＩＯ）ピンへのインターフェイスを含めることができる。このようなピンは、無線ユニットおよびその他の外部デバイスへのインターフェイスを含み、様々な目的に使用することができる。その他のＭＭＩモジュールとしては、ディスプレイスクリーンインターフェイス、シリアルポートインターフェイス、汎用非同期式送受信インターフェイス（ＵＡＲＴ）、ＵＳＢインターフェイス、および通信プロセッサ１００が組み込まれる無線端末の特定のシリアル番号を含む、加入者識別モジュール（ＳＩＭ）が挙げられる。その他多くのインターフェイスモジュールを、ＭＭＩ１５０に含めることができる。
【００１７】
ハウスキーピングモジュールは、通信プロセッサ１５２のための様々なハウスキーピング機能を実施し、ＰＢＵＳバス１２８を介してアクセスすることができる。そのような機能としては、通信プロセッサにおけるソフトウエアデッドロックの事象において時間切れしてリセットを生成するウォッチドッグタイマ（ＷＤＴ）、提供されていない場合には、汎用タイミング機能のためのトリガを生成するのに使用することのできる汎用タイマ、およびＤＳＰコア１０２およびＭＣＵ１０４への割込みを管理するＩＲＱコントローラが挙げられる。
【００１８】
無線システムモジュール１５４は、通信プロセッサ１００の外部の無線システム構成要素に対するインターフェイスを提供し、ＰＢＵＳバス１２８を介してアクセスすることができる。例えば、無線システムモジュール１５４には、アナログベースバンドチップへの制御シリアルポートインターフェイスであるＣＳポート、および周波数シンセサイザへのインターフェイスを含めることができる。
ＤＳＰ周辺装置は、ＤＳＰコア１０２と連結して様々なディジタル信号処理機能を実施し、ＤＰＢＵＳバス１１０を介してアクセスすることができる。ＤＳＰ周辺装置には、例えば、コプロセッサインターフェイス１６２、ＢＳポート１６４、フラグＩ／Ｏ１６６、高速ロガー１６８、暗号エンジン１７０およびＤＳＰ ＩＲＱコントローラ１７２を含めることができる。
【００１９】
データは、１つまたは複数のバスを使用して、通信プロセッサの様々な構成要素間、および通信プロセッサとオフチップデバイスの間で転送することができる。各バスは、パラレルバスまたはシリアルバスとすることができる。さらに、各バスには、片方向でも両方向でもよい。さらに、各バスは、アドレスバス、データバス、および制御バスのいずれも含めることができる。図１に示す、通信プロセッサ１００のバス構成は、複数のバスシステムを含む。各バスシステムの機能を、概略的に以下に記述する。当業者であれば、図１に示すバス構成に対する、多くの変形、修正、および改良を思い付くであろうが、これらは本発明の主旨と範囲に含まれるものである。
【００２０】
ＳＹＳＬ２バス１０８が、ＳＢＩＵ１３２とＬ２メモリ１４８の間に結合されて、Ｌ２メモリ１４８へのインターフェイスを提供している。メモリ１４４は、ＭＣＵ１０４、システムＤＭＡコントローラ１３６、ＤＳＰ ＤＭＡコントローラ１３４、およびＤＳＰ１０２によって共有される。ＤＰＢＵＳバス１１０は、ＤＳＰ周辺バスであり、これは、ベースバンドシリアルポートとすることのできるＢＳＰｏｒｔ１６４、コプロセッサインターフェイス１６２、フラグＩ／Ｏ１６６、高速ロガー１６８、暗号エンジン１７０およびＤＳＰ ＩＲＱコントローラ１７２などの、様々なＤＰＳ周縁装置へのインターフェイスを提供する。ＤＰＢＵＳバス１１０へのアクセスは、ＭＣＵ１０４、システムＤＭＡコントローラ１３６およびＤＳＰ ＤＭＡコントローラ１３４の間で共有される。ＤＳＰコア１０２は、ＳＢＩＵ１３２を介して、ＤＰＢＵＳバス１１０にもアクセスすることができる。ＤＳＰＢＵＳバス１１２は、ＤＳＰコア１０２の、ＰＢＵＳバス１２８、システムメモリ１０６、およびＥＢＵＳバス１００へのインターフェイスである。ＤＡＢＵＳバス１１４は、ＳＢＩＵ１３２へのＤＳＰ ＤＭＡコントローラインターフェイスとして機能する。ＤＭＡＢＵＳバス１１６は、システムＤＭＡコントローラ１３６と、ＰＢＳＵバス１２８、ＲＢＵＳバス１１８、およびＥＢＵＳバス１２０上の資源との間のインターフェイスである。ＲＢＵＳバス１１８は、システムメモリ１０６へのインターフェイスである。
【００２１】
ＲＢＵＳバス１１８へのアクセスは、ＭＣＵ１０４、システムＤＭＡコントローラ１３６、ＤＳＰ ＤＭＡコントローラ１３４、およびＤＳＰコア１０２の間で共有される。ＥＢＵＳバス１２０は、通信プロセッサ１００の外部に配置されたＦＬＡＳＨメモリおよびＳＲＡＭへのインターフェイスとして機能する。ＳＢＵＳバス１２２は、ＭＣＵ１０４のメインシステムバスである。ＥＡＰＩバス１２４は、通信プロセッサ１００の外部のアプリケーションプロセッサから、通信プロセッサ１００の資源へのインターフェイスとして機能する。ＥＡＢＵＳバス１４０は、ＥＡＰＩ１４２と通信プロセッサ１００の外部にあるアプリケーションプロセッサの間のインターフェイスである。外部アプリケーションプロセッサを設けることが必須ではないことを理解すべきである。ＣＢＵＳ１２６は、外部コプロセッサに対するインターフェイスである。ＰＢＵＳ１２８は、周辺バスであり、このバスは、無線システム周辺装置１５４、ハウスキーピング周辺装置１５２、およびＭＭＩ周辺装置１５０の、ＭＣＵ１０４、システムＤＭＡコントローラ１３６、ＤＳＰ ＤＭＡコントローラ１３４、およびＤＳＰコア１０２へのインターフェイスを提供する。
【００２２】
ＰＢＵＳバス１２８およびＲＢＵＳバス１１８などのいくつかのバスへのアクセスは、複数の構成要素によって共有されるので、バスアービタ１３０ａ、１３０ｂおよび１３０ｃを設けて、これらのバスへのアクセスを管理する。通信プロセッサ１００は、タイミング・事象プロセッサ（ＴＥＰ）１３８を含み、このプロセッサは、通信プロセッサ１００の事象をスケジュールするのに使用することができる。そのような事象には、例えば、Ｉ／Ｏピンの設定および消去、ＤＳＰコア１０２およびＭＣＵ１０４への割込みの生成、ＴＥＰ１３８と通信プロセッサ１００のその他のモジュールとの間のＤＭＡメモリ転送の開始が挙げられる。ＴＥＰ１３８は、ＤＰＢＵＳ１１０を介して通信プロセッサ１００のその他のモジュールに接続されるとともに、ＤＳＰ ＤＭＡコントローラ１３４およびＤＳＰ ＩＲＱコントローラ１７２にも接続されている。
【００２３】
ＴＥＰ１３８において、異なる無線システム時間ベースが、統一時間ベースに変換され、この統一時間ベースは、いかなる無線システムにも特有のものではない。事象は、この統一時間ベースを使用して、絶対的な時点に対するトリガとしてスケジュールされる。ＴＥＰ１３８は、高精度自走式（free-running）高速クロックを較正基準として使用することによって、較正された低速ロックを統一時間ベースの基準として生成して、較正低速クロックの長期安定性を達成する。較正低速クロックは、統一時間ベースに対するクロックとして使用し、これは自走式低速クロックからクロックパルスを除去することによって生成する。これによって、位相誤差が導入されるが、それは正確なタイミング信号を得るために補償される。位相補償は、自走式低速クロックの各クロックサイクルに対して計算される。この位相補償は、自走式高速クロックのクロックサイクル数として表され、これを較正低速クロックと一緒に使用して、厳密なタイミングを提供する。１つの特徴は、自走式高速クロックのスイッチが切られても、位相補償値が維持されることである。これらの特徴について、以下に詳細に述べる。
【００２４】
図５は、ＴＥＰ１３８の機能の例を表す概略図である。ＴＥＰ１３８は、ＧＰＩＯピンを設定、および消去して、外部デバイスとのインターフェイスを制御することができる。ＴＥＰ１３８はまた、システムＤＭＡコントローラ１３６およびＤＳＰ ＤＭＡコントローラ１３４と通信して、ＤＭＡチャネルを動作可能にすることができる。また、専用ＤＭＡチャネル５１６を使用することによって、ＴＥＰ１３８は、任意のメモリマップ場所からの読み取り、およびそこへの書き込みが可能であり、それによってＴＥＰ１３８が、無線システム１５４のようなその他のモジュールと通信して、例えば、周波数シンセサイザインターフェイス１５４ａを使用して周波数シンセサイザをプログラムすることが可能になる。ＴＥＰ１３８は、ＤＳＰおよびＭＣＵ ＩＲＱコントローラ５０６とインターフェイスをとることによって、各プロセッシングコアに対する割込みを生成することができ、それによってコア処理装置が、必要がない場合にはアイドル状態に入り、必要なときには、ＴＥＰ１３８からの割込みを受け取ることによってアイドル状態から出ることができる。ＴＥＰ機能のすべては、下記のように正確にタイミングをとり、かつスケジュールすることができる。
【００２５】
図２は、本発明の一実施態様による、ＴＥＰアーキテクチャ１３８の例を示すブロック図である。ＴＥＰ１３８は、通信プロセッサ１００に対する、タイミングおよびスケジュール機構としての役割を果たすことができる。無線システムの動作においては、すべての無線制御事象は、スケジュールされた時刻において発生し、正確なタイミングを必要とする。通信プロセッサ１００の動作中のある時刻において、特に無線通信用途において、ＭＣＵ１０４およびＤＳＰコア１０２の両方とも、いずれの処理機能も実行する必要がなく、アイドルモードまたは「スリープ」モードに入ることがある。このモードにおいては、コア処理装置は、もうクロックを提供する必要がなく、それによって発振器の電源を切ることが可能となる。通信プロセッサ１００は、無線端末に組み込むことが可能であるとともに、バッテリーで給電することができる。必要のないときに、プロセッサをアイドリング状態にさせたり、発振器の電源を遮断したりすることによる電力節減によって、充電までの時間を延長することができる。しかしながら、コア処理装置は、アイドル状態にされる前に、それを再開する必要がある時刻を、ＴＥＰ１３８に示す場合がある。
【００２６】
ＴＥＰ１３８には、一般に、ＴＥＰ１３８によって使用される、時間指定動作（time-specific actions）を実行するための命令を実行する機能を果たす、複数のシーケンサ２０２ａ〜２０２ｎを含めることができる。またＴＥＰ１３８には、メモリ２０６を含め、このメモリを、例えば、スタティックＲＡＭ（ＳＲＡＭ）とすることができる。シーケンサ２０２ａ〜２０２ｎには、コードおよびデータを記憶するメモリ２０６を使用してもよい。メモリアクセスレゾルバ（memory access resolver）２０８は、シーケンサ２０２ａ〜２０２ｎおよびＤＰＢＵＳバス１１０から入ってくるメモリアクセス要求を処理する。ＤＰＢＵＳバスインターフェイスモジュール２１０は、ＴＥＰ１３８内の、システムクロックとＤＰＢＵＳバスクロックドメインとの間のブリッジを提供する。ＤＰＢＵＳバスインターフェイスモジュール２１０について、以下にさらに詳細を記述する。ＴＥＰ１３８は、ＴＥＰ内の統一時間ベースのクロック較正に使用することのできる、クロック較正ブロック２１２をさらに含む。クロック較正ブロック２１２については、以下にさらに詳細に述べる。ＴＥＰ１３８には、また、シーケンサ２０２ａ〜２０２ｎがタミング目的で使用することのできる、絶対カウンタ２１４を含めてもよい。絶対カウンタ２１４については、より詳細に以下に述べる。ＴＥＰ１３８には、シーケンサ２０２ａ〜２０２ｎから受け取られる矛盾信号を解消するための、Ｉ／Ｏコンフリクトリゾルバ２０４を含めてもよい。Ｉ／Ｏコンフリクトリゾルバ２０４については、より詳細に以下に述べる。クロック・電力制御ブロック２１６は、以下により詳細に述べるが、可能なときに、システムクロックの電源を切るために使用する。
【００２７】
シーケンサ２０２ａ〜２０２ｎは、ＲＩＳＣプロセッサのような、専用の命令セットを有するプロセッサであり、複数の無線システムに同時にタイミングを提供することができる。すなわち、シーケンサ２０２ａ〜２０２ｎは、ＧＰＩＯピンを設定、消去し、ＤＭＡコントローラに信号を送り、かつＤＳＰコア１０２およびＭＣＵ１０４に対する割込みを生成する信号を生成ことができる。各無線システムを同時に支援するための命令を実行するために、シーケンサを設けることができる。各無線システムに対して、２つまたは３つ以上のシーケンサを設けることによって、性能改善を得ることができる。例えば、本発明の一実施態様において、２つのシーケンサを、同時に支援するそれぞれの無線システムに設けることができる。この構成においては、一方のシーケンサは、他方のシーケンサに命令がロードされている間に、命令を実行することができる。単一のシーケンサが、複数の無線システムを支援することができることを理解すべきである。単一のシーケンサに、２つの異なる無線システムに関する命令をロードすることができる。しかしながら、第１の無線システムに関する命令の実行の時間が、第２の無線システムに関する別の命令を実行する時間と重なる可能性があるために、同時性は、単一のシーケンサを使用して達成することはできない。これらの命令は、単一のシーケンサによって順番に実行されるので、それらを同時に実行することはできない。
【００２８】
しかしながら、各無線システムに対して２つのシーケンサを使用する必要はないことを理解すべきである。無線システム毎に１つのシーケンサを使用するか、または各無線システムに、３つまたは４つ以上のシーケンサを使用することができる。無線システム処理に関係のない追加のシーケンサを、汎用タイミングを提供するのに使用することができる。例えば、追加のシーケンサを使用して、無線端末のディスプレイスクリーン上のクロック更新に関係する、事象のタイミングをスケジュールすることができる。実施態様によっては、ＴＥＰ１３８は、同時に支援される、各無線システムに対して２つのシーケンサと、１つの追加のシーケンサとを含む。
複数のシーケンサを使用することによって、無線システムが異なるタイミングを使用することにもかかわらず、通信プロセッサ１００は、いくつかの異なる無線システムと同時に通信することが可能となる。例えば、無線端末は、無線ＬＡＮ、ブルートゥース（Bluetooth）ネットワーク、あるいはその他の８０２．１１ｂネットワークからのデータを同時に受信する間に、ＧＳＭネットワークのページングチャネルをモニタすることができる。同様に、複数のシーケンサを有する通信プロセッサを備える無線端末は、始動すると、第２世代ＧＳＭネットワークおよび第３世代ＷＣＤＭＡネットワークの両方についてのセルサーチを同時に実行することができる。
【００２９】
上述のように、ＴＥＰ１３８は、ＧＰＩＯピンを設定および消去し、ＤＭＡチャネルを動作可能にし、割込みを生成し、かつクロック較正を実行することができる。しかしながら、２または３以上のシーケンサは、競合信号をアサートする可能性がある。例えば、１つのシーケンサが、特定のＩ／Ｏピンに対する設定信号をアサートし、他方、別のシーケンサが同じピンに対する消去信号を同時にアサートする場合がある。図２に示す、Ｉ／Ｏコンフリクトリゾルバ２０４は、そのような競合に対処する。Ｉ／Ｏコンフリクトリゾルバ２０４は、競合を解消するルールを含む。例えば、１つのルールは、すべての消去信号が設定信号に優先することである。例外を生成して、ソフトウエアプロセスに競合を通知することが可能であり、割込みをコア処理装置に送ることができる。割込みおよびＤＭＡチャネル動作可能化に対して、例えば、論理ＯＲ処理を使用して、競合信号を単に互いに結合してもよい。
【００３０】
図２に示すメモリ２０６は、ＤＰＢＵＳバス１１０とのインターフェイスを提供するＤＰＢＵＳバスインターフェイス２１０を介して、プロセッサからアクセス可能である。本発明の一実施態様によれば、メモリ２０６は２６ビット幅で、多重ポートを有し、シーケンサ２０２ａ〜２０２ｎおよびＤＰＢＵＳバス１１０による同時アクセスが可能である。メモリ２０６に設けられる読み取りおよび書き込みポートの数は、ＴＥＰ１３８内のシーケンサの数に基づいて選択することができる。例えば、１つの読み取りポートおよび１つの書き込みポートを、各シーケンサに設けることができる。しかしながら、多数のポートは、チップ上の面積を消費し、かつより多数の命令復号器を必要することがある。代替手法として、１つの命令復号器を、各シーケンサに設けることができる。さらに、すべてのシーケンサが、同一のクロックサイクル内にメモリアクセスを必要とすることはまれである。したがって、メモリ２０６に対する、読み取りポートの数は、同時に支援される無線システムの数に基づいて選択することができる。例えば、１つの読み取りポートを、支援される各無線システムに対して設けることができる。書き込みアクセスは、読み取りアクセスよりも頻度が低いために、読み取りポートよりも少ない書き込みポートの数を設けてもよい。メモリ２０６用のポート数は、任意の基準に基づいて選択することができ、本発明は、メモリ２０６用のポートのいかなる特定の数によっても限定されない。
【００３１】
上述のように、メモリアクセスリゾルバ２０８は、シーケンサ２０２ａ〜２０２ｎおよびＤＰＢＵＳバス１１０から入る、メモリ２０６へのアクセス要求を処理する。メモリアクセスリゾルバ２０８はまた、例えば読み取りポートの数よりも多いアクセス要求がある場合に、競合に対処することもできる。メモリアクセスリゾルバ２０８は、例えば、ラウンドロビン方式に基づいて要求を優先順位づけをすることによって、そのような状況に対処することができる。そのようなラウンドロビン方式において、シフトバックレジスタを使用して優先順位を決めることができる。一実施態様においては、メモリアクセスに対する競合が発生するとき、レジスタがシフトされる。別の実施態様においては、いずれかのシーケンサがメモリアクセスする度に、シフトバックレジスタがシフトされる。しかしながら、要求競合に対処する他の多くの方法を使用できることを理解すべきである。
【００３２】
ＤＰＢＵＳバスインターフェイスモジュール２１０は、ＴＥＰ１３８内で、システムクロックと、ＤＰＢＵＳバスクロックドメインとのブリッジを提供する。ＤＰＢＵＳインターフェイスモジュール２１０は、ＤＰＢＵＳバス１１０と内部ＴＥＰバスとの１６／３２ビットインターフェイスにも対処する。
本発明の一実施態様によるＤＰＢＵＳバスインターフェイスモジュール２１０のブロック図を図８に示してある。上述のように、ＤＰＢＵＳバスインターフェイス２１０は、ＤＰＢＵＳバスクロックとシステムクロックとのクロック間同期を実施する。各クロックドメインは、相互同期にハンドシェ−ク信号を使用して、別個に制御することができる。ＤＰＢＵＳプロトコルＦＳＭ８０２は、ＤＰＢＵＳへのハンドシェ−ク信号に対処する。ＴＥＰアクセスＦＳＭ８０４は、内部ＴＥＰバスへのハンドシェ−ク信号に対処する。
【００３３】
図３は、本発明の一実施態様によるシーケンサ２０２ａアーキテクチャの例を示すブロック図である。シーケンサ２０２ａは、フェッチ、復号、実行の段階を含むパイプライン式プロセッサとすることができる。命令復号器３２８は、マルチプレクサ３４２から受け取る命令を復号する。命令は、ＴＥＰ１３８のメモリ２０６からフェッチされる。シーケンサ命令は、ＤＳＰコア１０２およびＭＣＵ１０４の制御の下で、ＴＥＰ１３８のメモリ２０６中にロードすることができる。マルチプレクサ３４２は、命令に関連するデータを、レジスタ３２６に誘導することができる。レジスタ３２６に記憶されたデータは、書き込み動作または修正動作で書き込まれるデータ、または読み取り動作から取り出されるデータとすることができる。シーケンサ２０２ａには、ＤＭＡコントローラ１３４およびＤＭＡコントローラ１３６とインターフェイスをとるためのＤＭＡ制御モジュール３４８をさらに含めることができる。シーケンサ２０２ａには、ＤＭＡチャネルを構成するのに使用される、複数のＤＭＡレジスタ（例えば、３０２、３０４、３０６、３０８、３１０）を含めることができる。シーケンサ２０２ａには、デルタタイマ３３６を増分させるための時間チックを生成するのに使用するクロックプリスケールモジュール（clock pre-scale module）３４６を含めることができる。シーケンサ制御モジュール３３４は、シーケンサの全体動作を処理し、これについては以下により詳細に述べる。
【００３４】
図４は、シーケンサ２０２ａ〜２０２ｎで実行することのできる命令のフォーマットの例を示す。命令４００は、命令タイプを同定する６ビット操作符号（opcode）フィールドを含む。４ビットデータフィールド４０４には、命令を処理するのに必要なデータを含めることができる。例えば、汎用Ｉ／Ｏ（ＧＰＩＯ）ピンを設定する命令には、設定しようとするＧＰＩＯピンを識別するデータフィールドを含めることができる。拡張フィールド４０６を、データフィールド４０４に対する８ビット拡張として、任意選択で使用することができる。この命令に対応するデータが、４ビットデータフィールドには大きすぎる場合には、拡張フィールド４０６を使用してオーバフローを保持することができる。デルタ時間フィールド（Delta-time field）４０８を用いて、命令を実行する前の時間遅れを示すことができる。デルタ時間フィールド４０８は、前回の命令を実行した後、現在の命令（すなわち、命令４００）を実行する前に、待つべき時間を示すことができる。
【００３５】
命令復号器３２８によって命令が復号された後に、図３に示す、デルタタイマ３３６を使用して、命令のデルタ時間フィールドに示された待機期間のタイミングをとることができる。時間遅れが、デルタタイマ３３６における時間に達すると、実行ユニット３３０によって命令を実行することができる。デルタ時間に基づく命令の実行によって、シーケンサは、時間依存機能、すなわち特定の時間に作動するようにスケジュールされた機能を実施することが可能となる。例えば、シーケンサは、コア処理装置１０２および１０４（図１）へのタイミングを合わせた割込みを生成し、これによってプロセッサが、使用されないときにアイドル状態になることを可能にするとともに、適当な時刻に、これらのアイドル状態から抜けるためのタイミングを合わせた割込みを生成することができる。シーケンサ命令は、外部デバイスを制御するためのピンの設定を制御することが可能であり、また無線ユニットの電力を投入または遮断することができる。シーケンサ命令は、特定の時刻にＤＭＡチャネルを動作可能にすることができる。
【００３６】
図３に示す、クロックプリスケールモジュール３４６は、デルタタイマ３３６を増分させるための時間チックを生成するのに使用される。クロックプリスケールモジュール３４６は、システムクロックのクロック分割を実施して、時間チックを生成する。電力を節減するためには、無線システムによる動作に十分なタイミング精度を提供しながら、できるだけ低い周波数を使用するのが望ましい。クロック周波数は、無線システムのタイミングに依存するので、クロックプリスケールモジュール３４６は、２から６４の任意のプリスケール値でシステムクロックを除算することができる。プリスケール値は、レジスタ３１４に記憶することができる。
本発明の一実施態様によるシーケンサ命令セットの例を表１に示す。
【００３７】
【表１】
2005510779.tif 000003
【００３８】
【表２】
2005510779.tif 000004
【００３９】
ときには２つまたは３つ以上のＩ／Ｏピンを同時に設定または消去することが必要なこともある。シーケンサ命令セットは、Ｉ／Ｏピンを設定または消去する命令を提供することができるが、そのような命令は、同時に実行されるのではなく、逐次的に実行される。２つまたは３つ以上のピンを同時に設定または消去するために、設定命令および消去命令を特定の信号に同期させることができる。例えば、ピンＧＰＩＯＡおよびピンＧＰＩＯＢを同時に設定する必要がある場合に、シーケンサはこれらの命令をＧＰＳｉｇＡに同期させることができる。次いで、シーケンサは、最初にｓｅｔ ＧＰＩＯＡ命令を実行して、続いてｓｅｔ ＧＰＩＯＢ命令を実行することができる。これらのピンは、ｔｏｇｇｌｅ ＧＰＳｉｇＡ命令が実行されるまでは実際には設定されず、この命令によって両方のピンが同時に設定される。
【００４０】
シーケンサによってＬｏｎｇＷａｉｔ命令が実行されるときには、ＬｏｎｇＷａｉｔ比較モジュール３４０が使用される。ＬｏｎｇＷａｉｔ命令は、シーケンサが、所定の時間、後続の命令を実行しないときに実行することができる。ＬｏｎｇＷａｉｔ命令によって、電力を節減する目的で、システムクロックの電源を切って、シーケンサにタイミング用の低速クロックを使用させることができる。
ＬｏｎｇＷａｉｔ比較モジュール３４０は、ＬｏｎｇＷａｉｔ命令に示される待ち時間と絶対カウンタ２１４（図２）の値を比較し、これについて以下に詳細に述べる。待ち時間は２４ビット値としてもよく、これによって、８ビットデルタ時間フィールド、８ビット拡張フィールド、４ビットデータフィールド、および６ビット操作符号フィールドの４ビットを使用することが必要となる。ＬｏｎｇＷａｉｔ比較モジュール３４０は、２４ビット絶対カウンタからの入力を受け取り、その値をＬｏｎｇＷａｉｔ命令からの２４ビット待ち時間と比較する。値が一致するときには、シーケンサは、次の命令を実行することができる。ＬｏｎｇＷａｉｔ比較モジュール３４０は、アイドル情報も出力し、これを、ＴＥＰ１３８のクロック・電力制御ブロック２１６が使用して、シーケンサがＬｏｎｇＷａｉｔ命令を実行しているどうかを判定し、これによってすべてのシーケンサがアイドル状態にあるときに、システムクロックの電力を切ることができる。
【００４１】
ＰｒｅＡｂｓ３２レジスタ３３８は、発振器が停止されている場合に、発振器の電源を投入する時刻を決定するのに使用される。ＰｒｅＡｂｓ３２レジスタは、発振器の電源を投入する絶対時点を示し、これによって、現在実行中のＬｏｎｇＷａｉｔ命令が終了し、次の命令の実行が開始される前に、発振器が安定化するのに十分な時間が与えられる。
シーケンサ制御モジュール３３４は、プログラムフローを制御し、シーケンサ２０２ａ〜２０２ｎに対する割込みを処理する。シーケンサ制御モジュール３３４は、プログラムカウンタレジスタ３３２の内容に基づいて、メモリから命令を要求する。プログラムカウンタレジスタ３２２は、次に実行すべき命令のアドレスを保持する。シーケンサ制御モジュール３３４は、割込みセレクタ３２２から線路３４４を介して割込みを受け取ることができ、割込みセレクタは、複数の割込み源から最高優先順位の割込みを選択することができる。割込みが受け取られると、レジスタ３１６内の割込み許可ビット（interrupt enable bit）を設定し、割込みベクトルのアドレスを、レジスタ３１８にロードすることができる。シーケンサは、レジスタ３１８内の割込みベクトルのアドレスに飛び越し、そこから実行を継続する。
【００４２】
シーケンサがハードリセットを受け取るか、またはＤｉｅ命令を実行すると、シーケンサはアイドル状態に入る。ソフトリセットは、シーケンサに第１の命令をフェッチして、命令の実行を開始するように命令するのに使用される。シーケンサは、ソフトリセットまたは割込みを受け取ると、通常の実行に取り掛かることができる。シーケンサがソフトリセットを受け取る場合には、シーケンサがそこに飛び越して実行を開始するアドレスは、レジスタ３２０内に保持されている。シーケンサが割込みを受け取る場合には、シーケンサがそこに飛び越して実行を開始するアドレスは、レジスタ３１８に保持されている。
ＤＭＡレジスタ３０２、３０４、３０６、３０８、および３１０は、シーケンサが、ＤＭＡチャネル構成情報を記憶するのに使用される。例えば、３つのＤＡＭレジスタが、発生アドレス、宛先アドレス、および転送すべきバイト数を記憶することができる。ＤＭＡ制御モジュール３４８は、ＤＳＰＤＭＡコントローラ１３４（図１）およびシステムＤＭＡコントローラ１３６とのインターフェイスを提供し、ＤＭＡ転送を開始する。
【００４３】
図６は、ＴＥＰ１３８とＤＭＡコントローラ１３４のインターフェイスの例を示す。１つのＤＭＡチャネルが、ＴＥＰ１３８の使用の専用として、その他の資源には使用されないようにしてもよい。任意のＤＭＡチャネルを使用することができるが、例えば、チャネル０をＴＥＰ使用に割り当ててもよい。シーケンサ２０２ａ〜２０２ｎは、例えば、表１のシーケンサ命令セットに示されている、ＤａｔａＭｏｖＥ命令を実行することによって、固定チャネルを使用するＤＭＡ転送を開始することができる。ＤａｔａＭｏｖＥ命令は、ＤＭＡレジスタ３０２、３０４、３０６、３０８、および３１０からＤＭＡチャネル構成情報を取り出して、その情報をＤＭＡコントローラ１３４の内部ＲＡＭ６０４にコピーする。いくつかのシーケンサが、専用ＤＭＡチャネルへのアクセスを同時に要求することもある。要求リゾルバ有限状態機械（ＦＳＭ）２１８が、これらの同時要求に対処する。例えば、要求リゾルバＦＳＭ１２１８は、ラウンドロビン優先順位方式を使用して、ＤＭＡチャネルアクセスをシーケンサ２０２ａ〜２０２ｎに認可することができる。アクセスが認可されるときに、ＤＭＡレジスタの値は、ＤＭＡコントローラのメモリ６０４にコピーされて、要求リゾルバＦＳＭ２１８が、専用ＤＭＡチャネルを動作可能にするためのチャネルイネーブルフラグを設定する。ＤＭＡ転送が完了すると、ＤＭＡコントローラ１３４は、要求リゾルバＦＳＭ２１８に割込みを返す。また、要求リゾルバＦＳＭ２１８は、使用中に、ＤＲＲｅｑＳｙｓＣｌｋフラグ（図示せず）をアサートしてＤＭＡ転送中にシステムクロックの電源が切られないことを確実にする。
【００４４】
図７は、図６を参照して前述した、ＴＥＰ初期ＤＭＡ転送の例を概略的に示すものである。最初に、ＴＥＰ１３８が、専用チャネルを使用して、チャネル構成情報をＤＭＡコントローラ１３４に送るとともに、チャネルイネーブル信号をＤＭＡコントローラ１３４に送る。ＤＭＡコントローラ１３４は、データ転送を実施して、ＴＥＰ１３８への割込みを生成し、これがデータ転送の終了を示す。
図２に示すクロック較正ユニット２１２は、通信プロセッサ１００の低速クロックを較正するのに使用される。通信プロセッサ１００は、システムクロックからは、例えば１３ＭＨｚの周波数で、自走式低速クロックからは、例えば３２ｋＨｚの周波数でクロック信号を受け取ることができる。システムクロックのような高周波クロックが、通信プロセッサ１００のコア処理装置にクロックを提供するのに必要なこともある一方で、コア処理装置がアイドル状態あって高周波クロックでクロック信号を与える必要がないときに、低速クロックをタイミング制御に使用することによって、電力を節約することができる。ＴＥＰ１３８は、低速クロックからシステムタイミングを取り出すことができる。ＴＥＰ１３８が処理するタイミング事象は、低速クロックの時間および、低速クロックの時間に相対的なデルタ時間（システムクロックサイクルでカウントされる）に基づいている。システム発振器は、通信プロセッサ１００のいずれのモジュールも必要としないときには、電源を遮断し、次にスケジュールされた動作に必要なときには、低速クロックに依存してシステムクロックの電源投入を起動することができる。システム発振器の電源遮断については、以下により詳細に述べる。
【００４５】
低速クロックは、高周波システムクロックほどは正確ではなく、温度変動に対してより敏感である。したがって、低速クロックは、所望の程度の精度を保証するために較正することができる。低速クロックは、システムクロックまたは電波を介して受信した無線システムのタイミングを使用して較正することができる。システムクロックを較正に使用する場合には、システムクロックのサイクル数を、低速クロックの選択したサイクル数にわたって計数することができる。無線システムからのタイミングを較正に使用する場合には、無線システムクロックのサイクル数（電波を介して受信）を、選択された低速クロックのサイクル数にわたって計数する。
周波数シンセサイザまたはＶＣＯを使用して、低速クロックを較正することで消費されることになる、電力を節減するためには、低速クロックを、自走式低速クロック（free-running slow clock）からクロックサイクルを除去して、較正低速クロックを提供することができる。すなわち、自走式低速クロックの予測周波数よりも低い周波数を、較正されたクロック周波数として選択して（例えば、３２ｋＨｚ低速クロックの場合には３１ｋＨｚ）、自走式低速クロック信号からクロックパルスを除去することによって、較正されたクロック信号を生成することができる。自走式低速クロックの調整は、自走式低速クロックから周期的にクロックサイクルを除去する、分数Ｎクロック分割器（fractional N clock divider）によって行うことができる。自走式低速クロックからクロックサイクルを除去する周期は、指定された分数およびモジュラス値（modulus values）、ならびに低速クロックとシステムクロックを比較して得られる情報に依存する。例えば、クロックサイクルを除去する周期が、９つの低速クロックサイクルの場合、未較正の９つの低速クロックサイクル毎に、較正された８つの低速クロックサイクルが生成される。
【００４６】
しかしながら、自走式低速クロックからクロックサイクルを除去することによって、較正低速クロックに位相誤差が導入される。このような位相誤差は、較正低速クロックが、正確に周期性ではないことから生じる。例えば、較正された４０ｋＨｚの低速クロックが、自走式５０ｋＨｚクロックから生成されたと仮定する。５０ｋＨｚクロックは、２０μｓｅｃ毎に上昇エッジを有する。すなわち、５０ｋＨｚクロックは、２０μｓｅｃ、４０μｓｅｃ、６０μｓｅｃ、８０μｓｅｃ、１００μｓｅｃ、１２０μｓｅｃ、その他に上昇エッジを有することになる。４０ｋＨｚの較正低速クロックは、周期的に１サイクルを除外することによって生成することができる。したがって、この較正低速クロックは、２０μｓｅｃ、４０μｓｅｃ、６０μｓｅｃ、１００μｓｅｃ、１２０μｓｅｃに上昇エッジを有することになる。較正低速クロックは、平均が４０ｋＨｚクロック、すなわち１秒当たり４０，０００先頭クロックエッジ（leading clock edges）となるが、正確な４０ｋＨｚクロックに対して位相がずれている。正確な４０ｋＨｚクロックは、２５μｓｅｃ毎に上昇エッジを有することになる。例えば、正確な４０ｋＨｚクロックは、２５μｓｅｃ、５０μｓｅｃ、７５μｓｅｃ、１００μｓｅｃ、１２５μｓｅｃ、その他で上昇エッジを有する。すなわち、較正された４０ｋＨｚクロックにおける上昇エッジ、および正確な４０ｋＨｚクロックの上昇エッジは、異なる時刻に発生するので、以下に述べるように、位相補償を用いることによって、較正低速クロックと同一周波数の正確なクロックとの位相差を考慮する。
【００４７】
図９Ａおよび９Ｂは、それぞれ、本発明の一実施態様による位相補償付き分数Ｎクロック分割器の実装、および位相補償を示すタイミング図を示す。分数増分レジスタ（fractional increment register）９０２は、高速クロックサイクルと自走式３２ｋＨｚクロックサイクルの比を記憶して、加算器９０４への１つの入力として機能する。位相補償レジスタ９０６は、加算器９０４の出力を累算するアキュミュレータであり、モジュラス演算器（modulus operator）９１２への１つの入力として機能する。モジュラスレジスタ９０８は、コンパレータ９１４によって位相補償レジスタ９０６の上位１０ビットと比較される値を記憶する。コンパレータ９１４は、ＡＮＤゲート９１０への入力として機能し、自走式３２ｋＨｚクロックがゲート９１０を通過するかどうかを制御する。モジュラスレジスタ９０８は、モジュラス演算器９１２への第２の入力である。モジュラス演算器９１２は、コンパレータが設定されているときに、位相補償レジスタ９０６を増分するのに使用するモジュラス値を計算する。
【００４８】
動作に際しては、レジスタ９０６内の値が、モジュラスレジスタ９０８内の値に到達するときに、コンパレータ９１４の出力が設定され、それによってゲート９１０の出力が禁止される。図からわかるように、位相補償の量（すなわち、レジスタ９０６の値）は、累算されて、各自走式３２ｋＨｚクロックサイクル毎に直線的に増加する。アキュミュレータが、モジュラスレジスタ９０８に到達すると、自走式３２ｋＨｚクロック入力のゲートは、次のクロックサイクルまで閉じられる。次いで、位相補償アキュミュレータが、モジュラス演算器９１２からの計算されたモジュラス値を経由して折り返し元に戻る。
【００４９】
上述のように、クロックパルスを除去することによって、較正されたクロック信号中に位相誤差が導入される。この位相誤差は、図９Ｂに示す、パルスを除去された較正低速クロック９３０が、同一の周波数の自走式クロックとは異なる時間に発生するクロックエッジを有することに起因している。図９Ｂの波形９３２に示すように、位相誤差は、各低速クロックサイクルとともに増加し、最後にパルスが除去されて、次いでゼロに復帰する。位相補償がなければ、これらの位相誤差は、無線システムにおけるタイミング誤差を生じさせることになる。較正低速クロックおよび位相誤差を表す位相補償信号を使用することによって、較正低速クロックを用いて、正確なタイミングが達成される。
【００５０】
このように、較正されたクロック信号を用いて絶対カウンタ２１４をドライブするときには、較正されたクロック信号における位相誤差は、位相補償レジスタ９０６において計算された位相補償を使用することによって補償される。上述の例を参照すると、５０ｋＨｚ自走式低速クロックおよび４０ｋＨｚ較正低速クロックを使用して、事象が４０ｋＨｚクロック信号の３番目の上昇エッジで発生するようにスケジュールされていると仮定する。上述のように、正確な４０ｋＨｚクロックにおいては、３番目の上昇エッジは７５μｓｅｃで発生する。しかしながら、較正された４０ｋＨｚクロックにおいては、３番目の上昇エッジは６０μｓｅｃで発生する。したがって、較正低速クロックは、正確な４０ｋＨｚクロックと１５μｓｅｃだけ位相がずれている。較正低速クロックが、６０μｓｅｃで３番目の上昇エッジに到達するとき、システムクロックサイクルにおいて計数された、さらなる１５μｓｅｃの遅れが、スケジュールされた事象の実行の前に加算される。このようにして、シーケンサは、較正されたクロック信号の調整周波数を補償する。
【００５１】
時には、例えば、急速な温度変動などによって、低速クロックの十分な周波数安定性が達成できないことがある。しかしながら、それでも、絶対カウンタをドライブして、ＬｏｎｇＷａｉｔ命令の実行のタイミングをとるための較正低速クロック信号を生成することが必要なことがある。そのような状況においては、システムクロックの周波数分割を使用することができる。例えば、クロック分割器ＦＳＭ９１６によって、システムクロックを較正低速クロックに分割することができる。
図２に示す絶対カウンタ２１４は、較正低速クロックによってクロックを提供することができる。絶対カウンタ２１４は、図１０にさらに詳細に示してある。一実施態様においては、絶対カウンタ２１４は、２４ビットカウンタとしてもよく、ＬｏｎｇＷａｉｔ命令を実行しているときに、シーケンサ２０２ａ〜２０２ｎが、待ち期間が終了した時期を判定するのに使用することができる。例えば、シーケンサ２０２ａ〜２０２ｎは、絶対カウンタ２１４の値を、ＬｏｎｇＷａｉｔ命令の待ち時間と比較して、待ち時間が終了した時期を判定する。
【００５２】
２つの周期トリガ発生器１００２、１００４を備えて、割込みのトリガやスナップショットのトリガなどの、様々な目的で使用することができる。スナップショットは、システムクロックに対する低速クロックの測定値、または電波を介して受信した無線システムのタイミングに対する低速クロックの測定値であり、これは低速クロックの較正に使用することができる。スナップショットには、所定の低速クロックサイクル数におけるシステムクロックのサイクル数を計数することが必要である。
図１１Ａおよび１１Ｂは、スナップショットを得るための、ブロック図および状態遷移図をそれぞれ示す。スナップショットは、いくつかの異なる入力によって始動することができる。例えば、スナップショットは、絶対カウンタの２つの周期的なトリガのいずれかで始動するか、またはいずれかのシーケンサレジスタファイルのＳｅｑＣｔｒｌレジスタ３１２（図３）内の設定ビットに基づいて、２つのコア処理装置のいずれかで稼動中のソフトウエアによって始動することができる。
【００５３】
スナップショットが始動されると、較正信号がアサートされて、システムクロックの電源遮断が防止される。次に、スナップショットＦＳＭ１１０８が、セットアップ状態１１０３に入り、この状態では、システムクロック発振器の電源が遮断されていないことを示す、ＳｙｓＣｌｋＯｋ信号１１１０を受け取るために待機する。ＳｙｓＣｌｋＯｋ信号１１１０を受け取ると、スナップショットＦＳＭ１１０８は、スナップショット状態１１０５に入り、この状態で、低速クロックのあるサイクル数の間、システムクロックのサイクル数が計数される。低速クロックのサイクル数は、ＴＣＬＲレジスタ１１１２において指定され、このレジスタはソフトウエア構成可能である。ＴＣＬＲレジスタ１１１２に指定されたクロックサイクル数が、低速クロックサイクルカウンタ１１１４によって計数された後に、割込みが生成されて、スナップショットＦＳＭ１１０８が、リードバック状態１１０７に入る。スナップショットＦＳＭ１１０８が、リードバック状態１１０７にある間に、低速クロックの較正に必要なすべてのレジスタを更新するために、システムクロックサイクルカウンタ１１１６は、ＤＰＢＵＳバスインターフェイス２１０を経由してコア処理装置によって読み取り可能である。カウンタ１１１６が読み取られた後で、スナップショットＦＳＭ１１０８はアイドル状態１１０１に復帰する。
【００５４】
クロック・電力制御モジュール２１６を図２に示してある。ＴＥＰ１３８のあるモジュールが使用されていないときには、電力を節約するためにこれらのモジュールへのクロック信号に対してゲートが閉じられる。１つまたは複数のシーケンサがＬｏｎｇＷａｉｔ命令を実行中であり、かつその他のモジュールがいずれも、システムクロックを使用する必要がない場合には、クロック・電力制御モジュール２１６が、ＬｏｎｇＷａｉｔ命令の持続時間が、システムクロックの電源の遮断を許可するのに十分かどうかを判定することができる。
図１２は、クロック・電力制御モジュール２１６のブロック図である。メモリアクセスリゾルバ２０８やＤＭＡ要求リゾルバ２１８などの、いくつかのＴＥＰモジュールが、システムクロックの使用を必要とすることがあり、それぞれ、信号１２０６および１２０８を介して、システムクロックを必要とすることをクロック・電力制御モジュール２１６に示すことができる。外部信号ＲｅｑＳｙｓＣｌｋ１２１０を、外部源から供給して、ＴＥＰの外部の１つまたは複数のモジュールが、システムクロックの使用を必要とすることを示すことができる。いつＲｅｑＳｙｓＣｌｋ信号を供給するかの判定について、以下に詳細を述べる。較正信号１２１２は、低速クロックの較正を実行するときに、クロック較正モジュールによってアサートされて、システムクロックをアクティブのままにすることを要求する。
【００５５】
シーケンサ２０２ａ〜２０２ｎのそれぞれは、クロック・電力制御モジュール２１６に、設定・再設定フリップフロップ（ＳＲＦＦ）１２１８を介して、システムクロックが必要であることを示すことができる。ＳＲＦＦ１２１８のＱ出力は、ＴＥＰＲｅｑＳｙｓＣｌｋ信号１２１６である。システムクロックを必要としない各シーケンサは、ＡＮＤゲート１２２２を介してＫｉｌｌＳｙｓＯｓｃ信号をアサートする。いずれのシーケンサもシステムクロックを必要としないときには、ＳＲＦＦ１２１８が再設定状態になり、信号１２１６はアサートされない。いれずかのシーケンサがシステムクロックを使用する場合には、そのシーケンサは、ＯＲゲート１２２４を介してリスタートシステム発振器信号をアサートする。それに応答して、ＳＲＦＦ１２１８が設定状態になり、信号１２１６がアサートされる。ＰｒｅＡｂｓ３２レジスタを使用して、次の命令のスケジュールされた実行時刻および発振器の必要なウォームアップ時間を考慮して、発振器の電源を切ったままでいることのできる、最も遅い時刻を記憶することができる。シーケンサは、現在時刻がそのＰｒｅＡｂｓ３２レジスタ３３８内の時刻よりも前である場合には、ＫｉｌｌＳｙｓＯｓｃ信号をアサートすることができる。現在時刻がＰｒｅＡｂｓ３２レジスタ３３８内の時刻に等しい場合には、シーケンサは、ＲｅｓｔａｒｔＳｙｓＯｓｃ信号をアサートすることができる。現在時刻が、ＬｏｎｇＷａｉｔ命令の終了時刻に等しい場合には、システムクロックを安定化しなくてはならない。
【００５６】
電源投入シーケンサ１２２６は、ＯＲゲート１２２０から、ＴＥＰの内部または外部のいずれかのモジュールがシステムクロックの使用を必要とするかどうかを示す、入力信号を受け取る。この信号がアサートされる場合には、電源投入シーケンサ１２２６は、ＳｙｓＯｓｃＯｎ信号１２３６をアサートすることによって、システムクロック発振器の電源を投入することができる。クロックパッド電力投入レジスタ（ＣＰＰＵＲ）１２２８がクロックパッドバッファの整定時間を記憶し、発振器ウォームアップレジスタＯＷＵＲ１２３０が発振器のウォームアップ時間を記憶する。ＯＲゲート１２２０から電力投入シーケンサ１２２６への入力信号がアサートされるときには、ＦＳＭ１２３４は１０ビットカウンタ１２３２をゼロから開始して、ＳｙｓＯｓｃＯｎ信号１２３６をアサートし、その結果システム発振器の電源が投入される。カウンタ１２３２がＯＷＵＲ１２３０に指定された時刻に達すると、ＣｌｋＢｕｆＯｎ信号１２３８がアサートされて、クロックパッドバッファが動作可能となる。カウンタ１２３２が、ＯＷＵＲ１２３０内に指定された時刻とＣＣＰＵＲ１２２８に指定された時間の和に等しいときには、ＳｙｓＣｌｋＧａｔｅ信号１２４０がアサートされて、システムクロック発振器出力が、有効であることを示してＡＮＤゲート１２４２を動作可能にする。ＡＮＤゲート１２４２は、発振器が十分な安定化時間を費やすまで、システムクロック発振器出力を禁止する。ＯＷＵＲ１２３０に指定された発振器ウォームアップ時間にＣＰＰＵＲ１２２８に記憶されたクロックパッド電力投入遅れ時間を加えた時間の後は、発振器は安定である。この時刻に到達したときには、ＳｙｓＣｌｋＧａｔｅ信号１２４０がＡＮＤゲート１２４２を動作可能にして、発振器からのクロック信号が、ゲートを通過することが許可される。
【００５７】
上述のように、クロック・電力制御モジュール２１６は、ＲｅｑＳｙｓＣｌｋ信号をＴＥＰ１３８の外部の発生源から受け取る。この信号は、ＤＳＰコア１０２やＭＣＵ１０４などのＴＥＰ１３８外部のいずれかのモジュールが、システム発振器の使用を必要とするかどうかを示す。図１３Ａは、通信プロセッサ１００内でクロック信号を生成する方法を示す。電源１３００は、システム発振器１３０１に給電する。電源は、上述のように、ＴＥＰから受け取るＳｙｓＯｓｃＯｎ信号によって制御することができる。この信号は、発振器１３０１の電源を投入するか、遮断するかを制御するのに使用することができる。発振器出力は、パッドバッファ増幅器１３０３に入力される。バッファ増幅器１３０３は、ＴＥＰからの制御信号を介して、電源の投入および切断を行うことができる。バッファ増幅器１３０３からのクロック信号出力は、ＡＮＤゲート１３０５に入力される。ゲート１３０５への第２の入力は、ＴＥＰから受け取るＳｙｓＣｌｋＧａｔｅ信号であり、この信号によって、発振器のウォームアップ時間の間、発振器出力のゲートを閉じることができる。
【００５８】
ゲート１３０５からのクロック信号出力は、位相同期ループ（ＰＬＬ）１３０７に入力され、この位相同期ループ（ＰＬＬ）は、クロック信号をＤＳＰコア１０２にクロックを与えるのに適当な周波数に増幅する。ＤＳＰコアがアイドルである状況において、ＰＬＬ１３０７を使用してクロック信号を逓倍する必要がないことがあり、ゲート１３０５からのクロック信号出力はＰＬＬ１３０７に供給されない。マルチプレクサ１３０９は、ＰＬＬ１３０７からの逓倍されたクロック信号、またはゲート１３０５の出力のいずれかを選択する。図１３Ｂに示すように、いくつかのクロック信号を、マルチプレクサ１３０９の出力から生成することができる。最初に、ＤＣＬＫクロックを、ＰＬＬ１３０７の出力として生成することができる。ＤＣＬＫクロックは、ＤＳＰコア１０２にクロックを提供するのに使用することができる。ＮＯＴゲート付きＤＣＬＫ（ｎＧＤＣＬＫ）クロック１３１９は、ＡＮＤゲート１３１１に入力することができる。ＤＳＰコアがＤＣＬＫクロックを必要としないときには、ＡＮＤゲート１３１１を使用して、ＤＣＬＫクロックのゲートで閉じることができる。次に、ＤＣＬＫクロックを分割する周波数分割器１３２１を使用して、ＤＳＣＬＫクロックを生成することができる。周波数分割器１３２１は、ソフトウエアプログラム可能としてもよく、ＤＣＬＫクロックを１または２で割ることができる。ＤＳＣＬＫクロックは、ＤＳＰサブシステムにクロックを提供するのに使用してもよく、このサブシステムには、ＤＳＰ周辺装置およびＤＳＰ ＤＭＡコントローラ１３４が含まれる。ＤＳＣＬＫクロックは、必要でないときには、ＡＮＤゲート１３１３によってそのゲートを閉じることができる。ＮＯＴゲート付きＤＳＣＬＫ（ｎＧＤＳＣＬＫ）クロック１３２３を、プログラム可能クロック分割器１３２５に供給してもよく、このクロック分割器は、その入力信号を１から８の数で除算して、ＢＣＬＫクロックを生成することができる。ＢＣＬＫクロックは、通信プロセッサ１００のバスをドライブするのに使用することができる。ＢＣＬＫクロックは、ＡＮＤゲート１３１５が必要としてないときには、そのゲートを閉じることができる。ＭＣＬＫクロックは、ＢＣＬＫクロックと同一周波数としてもよく、ＭＣＵ１０４にクロックを提供するのに使用することができる。ＭＣＬＫクロックは、必要のないときにはＡＮＤゲート１３１７によって、そのゲートで閉じることができる。
【００５９】
図１４Ａおよび１４Ｂは、図１３Ｂのクロック信号を、必要の無いときにゲートで閉じる方法を示している。図１４Ａに示すように、ＰＬＬ１３０７は発振器出力を逓倍してクロック信号を生成する。クロック分割器１４１９は、図１３Ｂのクロック分割器１３２１および１３２５と同じ動作を実行することができる。クロック分割器１４１９からのクロック信号出力は、ｎＧＤＣＬＫ信号、ｎＧＤＳＣＬＫ信号、ｎＧＢＣＬＫ信号とすることができる。これらのクロック信号は、次いで、マルチプレクサ１３０９ａ〜１３０９ｃの１つに誘導し、次いで適当なＡＮＤゲート１３１１〜１３１５に誘導することができる。
【００６０】
レジスタ１４０５は、ＭＣＵスリープクロック要求レジスタ（ＭＳＣＲＲ）である。ＭＳＣＲＲレジスタ１４０５は、図１４Ｂに示すように、ＭＣＵがスリープするか、またはアイドル状態にある間に、どのクロックが必要かを示す。同様に、ＭＣＵアクティブクロック要求レジスタ（ＭＡＣＲＲ）１４０７は、ＭＣＵが稼動している間に、どのクロックが必要かに関する情報を記憶する。ＭＣＵ１０４によって生成されるＭＣＵアクティブ信号１４２７は、マルチプレクサ１４２３によって、ＭＳＣＲＲレジスタ１４０５またはＭＡＣＲＲレジスタ１４０７の内容を出力するかどうかを決定するのに使用される。ＭＳＣＲＲレジスタ１４０５におけるＰＬＬバイパスビットは、設定されるときには、ＭＣＵ１０４がスリープしている間、ＰＬＬ１３０７をバイパスさせることができる。ＭＣＵ１０４は、アイドルモードにある間、クロック供給する必要がないことがあるので、ＰＬＬ１３０７は、ＭＣＵ１０４をドライブするために、発振器を高周波数に逓倍する必要がないことあがる。したがって、ＰＬＬ１３０７をバイパスすることによって電力節減を達成することができる。また、高い処理速度が必要でない場合においては、ＤＳＰコア１０２およびＭＣＵ１０４は、ＰＬＬ逓倍なしに、通信プロセッサへのシステムクロック入力で実行することができる。
【００６１】
ＭＣＵ１０４と同様に、２つのＤＳＰレジスタが設けられ、それはＤＳＰスリープクロック要求レジスタ（ＤＳＣＲＲ）１４０１およびＤＳＰアクティブクロック要求レジスタ（ＤＡＣＲＲ）１４０３である。レジスタ１４０１および１４０３は、それぞれ、ＤＳＰコアがスリープしている間にどのクロックが必要か、およびＤＳＰコアがアクティブなときにどのクロックが必要かを示す。ＤＳＰコアによって生成されるＤＳＰアクティブ信号は、マルチプレクサ１４２１がＤＳＣＲＲレジスタ１４０１またはＤＡＣＲＲレジスタ１４０３の内容を出力するか、どうかを決定するのに使用される。ＯＲゲート１４０９、１４１１、および１４１３は、ＭＣＵ要求レジスタ１４０５および１４０７とＤＳＰ要求レジスタ１４０１および１４０３の出力を結合する。ＡＮＤゲート１４１５、１３１１、１３１３、１３１５および１３１７を使用することによって、レジスタ１４０１、１４０３、１４０５および１４０７の内容に応じて対応するクロック信号を利用可能または禁止することができる。
【００６２】
必要がないときには電力を節約するために、あるクロック信号を禁止するのに加えて、通信プロセッサ１００のいずれのモジュールもクロックを必要としないときには、システムクロック発振器の電源を遮断して、システムクロック信号を生成しないようにすることができる。図１５は、発振器の電源を切る方法を示す。ＤＳＰコア１０２およびＭＣＵコア１０４は、それぞれのコア処理装置がクロック信号を必要とするかどうか、およびいずれかの周辺装置がクロック信号を必要とするかどうかを示す、レジスタ１５０３を更新する。クロック制御モジュール１５０１は、レジスタ１５０３をモニタし、通信システム１００内のいずれかのモジュールがクロックのいずれかを必要としているかどうかを判定する。これらのクロック信号のいずれも必要でない場合には、クロック制御モジュール１５０１は、ＳｙｓＣｌｋＲｅｑ信号をＴＥＰ１３８に供給することができる。図１２を参照して上述したように、次いでＴＥＰ１３８は、システム発振器の電源を遮断できるかどうかの判定を行う。このようにして、電力を節約するために、必要なときにはシステム発振器の電源を投入し、必要でないときには電源を遮断することができる。
本発明の様々な実施態様について記述したが、当業者であれば、多くの改善および修正を思いつくであろう。したがって、本発明の範囲は、図に示して説明した特定の実施態様に限定されるものではない。そうではなく、本発明の範囲は、添付する特許請求の範囲とその等価物によってのみ限定されるものである。
【図面の簡単な説明】
【００６３】
【図１】本発明の一実施態様による、通信プロセッサのブロック図である。
【図２】本発明の一実施態様による、図１の通信プロセッサ内のタイミング・事象プロセッサのブロック図である。
【図３】本発明の一実施態様による、図２のタイミング・事象プロセッサ内のシーケンサのブロック図である。
【図４】本発明の一実施態様による、シーケンサでの使用に適する命令フォーマットの例を示す図である。
【図５】本発明の一実施態様による、タイミング・事象プロセッサの機能を示す図である。
【図６】本発明の一実施態様による、ダイレクトメモリアクセスコントローラとタイミング・事象プロセッサとのインターフェイスのブロック図である。
【図７】本発明の一実施態様による、タイミング・事象プロセッサを使用するダイレクトメモリアクセス転送の方法の例を示すブロック図である。
【図８】本発明の一実施態様による、タイミング・事象プロセッサとの外部バスインターフェイスのブロック図である。
【図９Ａ】本発明の一実施態様による、分数Ｎ分割器の例のブロック図である。
【図９Ｂ】本発明の一実施態様による、分数Ｎ分割器によって生成される較正クロックおよび位相補償を示す概略図である。
【図１０】本発明の一実施態様による、全体カウンタおよび構成可能周期トリガ発生器のブロック図である。
【図１１Ａ】本発明の一実施態様による、スナップショット有限状態機械のブロック図である。
【図１１Ｂ】本発明の一実施態様による、図１１Ａのスナップショット有限状態機械の動作を示すフローチャートである。
【図１２】本発明の一実施態様による、図２のタイミング・事象プロセッサ内のクロック・電力制御モジュールのブロック図である。
【図１３Ａ】本発明の一実施態様による、クロック生成モジュールの概略図である。
【図１３Ｂ】本発明の一実施態様による、クロック分配モジュールの概略図である。
【図１４Ａ】本発明の一実施態様による、クロックゲーティングモジュールの概略図である。
【図１４Ｂ】本発明の一実施態様による、図１４Ａに示すレジスタの内容を示す表である。
【図１５】本発明の一実施態様による、発振器電源遮断要求を示すブロック図である。
【図１】
2005510779.tif 000005
【図２】
2005510779.tif 000006
【図３】
2005510779.tif 000007
【図４】
2005510779.tif 000008
【図５】
2005510779.tif 000009
【図６】
2005510779.tif 000010
【図７】
2005510779.tif 000011
【図８】
2005510779.tif 000012
【図９Ａ】
2005510779.tif 000013
【図９Ｂ】
2005510779.tif 000014
【図１０】
2005510779.tif 000015
【図１１Ａ】
2005510779.tif 000016
【図１１Ｂ】
2005510779.tif 000017
【図１２】
2005510779.tif 000018
【図１３Ａ】
2005510779.tif 000019
【図１３Ｂ】
2005510779.tif 000020
【図１４Ａ】
2005510779.tif 000021
【図１４Ｂ】
2005510779.tif 000022
【図１５】
2005510779.tif 000023
【国際調査報告】
2005510779.tif 000024
2005510779.tif 000025