(57)【要約】【課題】デジタル信号プロセッサにおいて先行ゼロおよび先行１をカウントするシステムおよび方法。【解決手段】システムおよび方法が開示されており、データワード内で先行ゼロをカウントするのに使用することができる実行ユニットを備えている。操作中、実行ユニットは、２のＮ乗の幅を有するデータワードを受けることができる。さらに、実行ユニットは、データワードを２のＭ乗の幅を有する一時データワードに署名拡張することができ、ＭはＮより大きい。一時データワードは、２のＭ乗の幅を有するカウンタに入力することができ、カウンタは結果を得るために、一時データワード内で先行ゼロをカウントすることができる。【選択図】      図２
2008547137.tif 000002
【特許請求の範囲】
【請求項１】
データワードを処理する方法であって、
前記データワードを受けることと、
前記データワードが３２ビットデータワードであるか、６４ビットデータワードであるかを判断することと、
前記データワードが３２ビットデータワードであることを判断した後に、一時６４ビットデータワードを作り出すように前記３２ビットデータワードを署名拡張することとを含む方法。
【請求項２】
先行ゼロ値または先行１値が測定されるかどうかを判断することをさらに含む、請求項１に記載の方法。
【請求項３】
前記先行ゼロ値が測定されるかどうかを判断した後に、前記一時６４ビットデータワードを６４ビットの幅を有するビットカウンタに通信させることをさらに含む、請求項２に記載の方法。
【請求項４】
署名拡張先行ゼロカウントを生成するように前記一時６４ビットデータ内で前記先行ゼロをカウントすることをさらに含む、請求項３に記載の方法。
【請求項５】
測定した先行ゼロカウントを生成するように、前記カウントがゼロではない場合に前記署名拡張先行ゼロカウントから３２の固定値を減算することをさらに含む、請求項４に記載の方法。
【請求項６】
前記測定した先行ゼロカウントをレジスタに書き込むことをさらに含む、請求項５に記載の方法。
【請求項７】
先行１値が測定される場合に逆６４ビットデータワードを生成するように、前記一時６４ビットデータワードを反転させることをさらに含む、請求項２に記載の方法。
【請求項８】
前記反転した一時６４ビットデータワードを６４ビットの幅であるビットカウンタに通信させることをさらに含む、請求項７に記載の方法。
【請求項９】
署名拡張先行１カウントを生成させるように、前記反転させた一時６４ビットデータワード内で前記先行ゼロをカウントすることをさらに含む、請求項８に記載の方法。
【請求項１０】
測定した先行１カウントを生成するように、前記カウントがゼロでない場合に、前記署名拡張先行１カウントから３２の固定値を減算することをさらに含む、請求項９に記載の方法。
【請求項１１】
前記測定した先行１カウントをレジスタに書き込むことをさらに含む、請求項１０に記載の方法。
【請求項１２】
前記データワードが６４ビットデータワードであることを判断した後に、先行ゼロ値または先行１値が使用されるかどうかを判断することをさらに含む、請求項１に記載の方法。
【請求項１３】
前記先行ゼロ値が使用されることを判断した後に、前記６４ビットデータワードを６４ビットの幅を有するビットカウンタに通信させることと、
測定した先行ゼロカウントを生成させるように、前記６４ビットデータワード内で前記先行ゼロをカウントすることと、
前記測定した先行ゼロカウントをレジスタに書き込むこととをさらに含む、請求項１２に記載の方法。
【請求項１４】
先行１値が使用される場合に反転させた６４ビットデータワードを生成するように、前記６４ビットデータワードを反転させることと、
前記反転させた６４ビットデータワードを６４ビットカウンタに通信させることと、
測定した先行１カウントを生成するように、前記反転させた６４ビットデータワード内で前記先行ゼロをカウントすることと、
前記測定した先行１カウントをレジスタに書き込むこととをさらに含む、請求項１２に記載の方法。
【請求項１５】
３２ビットデータワード内で１つまたは複数の先行ゼロをカウントするように、６４ビット論理カウンタを使用することを含む方法。
【請求項１６】
前記３２ビットデータワードを受けることと、
一時６４ビットデータワードを生成するように、前記３２ビットデータワードを署名拡張させることとをさらに含む、請求項１５に記載の方法。
【請求項１７】
暫定結果を得るために、前記一時６４ビットデータワード内の前記先行ゼロをカウントすることをさらに含む、請求項１６に記載の方法。
【請求項１８】
最終結果を得るために、前記カウントがゼロでない場合に、前記暫定結果から固定値を減算することをさらに含む、請求項１７に記載の方法。
【請求項１９】
前記最終結果を先行ゼロ値としてレジスタに書き込むことをさらに含む、請求項１８に記載の方法。
【請求項２０】
反転させた一時６４ビットデータワードを生成するように、前記一時６４ビットデータワードを反転させることをさらに含む、請求項１６に記載の方法。
【請求項２１】
暫定結果を得るために、前記反転させた一時６４ビットデータワードの前記先行ゼロをカウントすることをさらに含む、請求項２０に記載の方法。
【請求項２２】
最終結果を得るために、前記カウントがゼロでない場合に、前記暫定結果から前記固定値を減算することをさらに含む、請求項２１に記載の方法。
【請求項２３】
前記固定値は３２である、請求項２２に記載の方法。
【請求項２４】
前記最終結果を先行１値としてレジスタに書き込むことをさらに含む、請求項２３に記載の方法。
【請求項２５】
デジタル信号プロセッサ用命令実行ユニットであって、
少なくとも１つの制御モジュールと、
少なくとも１つの制御モジュールに結合された少なくとも１つの署名拡張装置と、
少なくとも１つの制御モジュールに結合された少なくとも１つの反転装置と、
少なくとも１つの制御モジュールに結合された少なくとも１つの６４ビットの幅のビットカウンタとを備えた命令実行ユニットであって、
前記少なくとも１つの制御モジュールは、
命令実行ユニットで受けられた１つまたは複数の３２ビットデータワード内で先行ゼロをカウントするように、前記６４ビット幅のビットカウンタに命令する論理と、
命令実行ユニットで受けられた１つまたは複数の６４ビットデータワード内で先行ゼロをカウントするように、前記６４ビット幅のビットカウンタに命令する論理とを含む命令実行ユニット。
【請求項２６】
前記制御モジュールはさらに、一時６４ビットデータワードを生成するように、前記１つまたは複数の３２ビットデータワードを署名拡張するように前記署名拡張装置を制御する論理を含む、請求項２５に記載の命令実行ユニット。
【請求項２７】
前記制御モジュールはさらに、暫定先行ゼロカウントを得るために、前記一時６４ビットデータワード内で前記先行ゼロをカウントするように前記６４ビット幅のビットカウンタを命令する論理を含む、請求項２６に記載の命令実行ユニット。
【請求項２８】
前記制御モジュールはさらに、最終先行ゼロカウントを得るために、前記カウントがゼロでない場合に、前記暫定先行ゼロカウントから固定値を減算する論理を含む、請求項２７に記載の命令実行ユニット。
【請求項２９】
前記制御モジュールはさらに、反転させた一時６４ビットデータワードを作り出すために、前記一時６４ビットデータワードを反転させるように前記反転装置を制御する論理を含む、請求項２６に記載の命令実行ユニット。
【請求項３０】
前記制御モジュールはさらに、暫定先行１カウントを得るために、前記反転させた一時６４ビットデータワードの前記先行ゼロをカウントするように前記６４ビット幅のビットカウンタを命令する論理を含む、請求項２９に記載の命令実行ユニット。
【請求項３１】
前記制御モジュールはさらに、最終先行１カウントを得るために、前記カウントがゼロでない場合に、前記暫定先行１カウントから固定値を減算する論理を含む、請求項３０に記載の命令実行ユニット。
【請求項３２】
メモリと、
前記メモリに応答するシーケンサと、
前記メモリに結合されたレジスタファイルと、
前記シーケンサに応答する命令実行ユニットであって、少なくとも１つの制御モジュール、前記制御モジュールに結合された少なくとも１つの署名拡張装置、前記制御モジュールに結合された少なくとも１つの反転装置、および前記制御モジュールに結合された少なくとも１つの６４ビットの幅のビットカウンタを備えた命令実行ユニットであって、前記少なくとも１つの制御モジュールは、１つまたは複数の３２ビットデータワード内で先行ゼロをカウントするように、前記６４ビット幅のビットカウンタを制御する論理、および１つまたは複数の６４ビットデータワード内で先行ゼロをカウントするように、前記６４ビット幅のビットカウンタを制御する論理を含む命令実行ユニットとを備えているデジタル信号プロセッサ。
【請求項３３】
メモリと、
前記メモリに応答するシーケンサと、
前記メモリに結合されたレジスタファイルと、
前記シーケンサに応答する命令実行ユニットであって、制御モジュール、前記制御モジュールに結合された署名拡張装置、前記制御モジュールに結合された反転装置、および前記制御モジュールに結合された６４ビットの幅のビットカウンタを備えた命令実行ユニットであって、前記制御モジュールは、１つまたは複数の３２ビットデータワード内で先行ゼロをカウントするように前記６４ビット幅のビットカウンタを制御する論理、および１つまたは複数の６４ビットデータワード内で先行ゼロをカウントするように前記６４ビット幅のビットカウンタを制御する論理を含む命令実行ユニットとを含むデジタル信号プロセッサを備えている携帯型通信装置。
【請求項３４】
前記デジタル信号プロセッサに結合されたアナログベースバンドプロセッサと、
前記アナログベースバンドプロセッサに結合されたステレオオーディオ符号器／復号器（ＣＯＤＥＣ）と、
前記アナログベースバンドプロセッサに結合された無線周波数（ＲＦ）トランシーバと、
前記ＲＦトランシーバに結合されたＲＦスイッチと、
前記ＲＦスイッチに結合されたＲＦアンテナとをさらに備えた、請求項３３に記載の携帯型通信装置。
【請求項３５】
前記デジタル信号プロセッサに結合された音声符号器／復号器（ＣＯＤＥＣ）と、
前記デジタル信号プロセッサに結合されたブルートゥースコントローラと、
前記ブルートゥースコントローラに結合されたブルートゥースアンテナと、
前記デジタル信号プロセッサに結合された無線ローカルエリアネットワークメディアアクセス制御（ＷＬＡＮ  ＭＡＣ）ベースバンドプロセッサと、
前記ＷＬＡＮ  ＭＡＣベースバンドプロセッサに結合されたＲＦトランシーバと、
前記ＲＦトランシーバに結合されたＲＦアンテナとをさらに備えた、請求項３３に記載の携帯型通信装置。
【請求項３６】
前記デジタル信号プロセッサに結合されたステレオ符号器／復号器（ＣＯＤＥＣ）と、
前記デジタル信号プロセッサに結合された８０２．１１コントローラと、
前記８０２．１１コントローラに結合された８０２．１１アンテナと、
前記デジタル信号プロセッサに結合されたブルートゥースコントローラと、
前記ブルートゥースコントローラに結合されたブルートゥースアンテナと、
前記デジタル信号プロセッサに結合されたユニバーサルシリアルバス（ＵＳＢ）コントローラと、
前記ＵＳＢコントローラに結合されたＵＳＢポートとをさらに備えた、請求項３３に記載の携帯型通信装置。
【請求項３７】
３２ビットデータワードを受けるための手段と、
一時６４ビットデータワードを生成するように、前記３２ビットデータワードを署名拡張するための手段と、
暫定先行ゼロカウントを得るように、前記一時６４ビットデータワード内で前記先行ゼロをカウントするための手段と、
最終先行ゼロカウントを得るように、前記カウントがゼロでない場合に、前記暫定先行ゼロカウントから値を減算するための手段とを備えたプロセッサ装置。
【請求項３８】
３２ビットデータワードを受けるための手段と、
一時６４ビットデータワードを生成するように、前記３２ビットデータワードを署名拡張するための手段と、
反転させた一時６４ビットデータワードを生成するように、前記一時６４ビットデータワードを反転させるための手段と、
暫定先行１カウントを得るように、前記一時６４ビットデータワード内で前記先行ゼロをカウントするための手段と、
最終先行１カウントを得るように、前記カウントがゼロでない場合に、前記暫定先行１カウントから値を減算するための手段とを備えたプロセッサ装置。
【請求項３９】
データワードを受けるための手段と、
前記データワードが３２ビットデータワードであるか６４ビットデータワードであるかを判断するための手段と、
一時６４ビットデータワードを生成するように３２ビットデータワードを署名拡張するための手段とを備えているプロセッサ装置。
【請求項４０】
２のＮ乗の幅を有するデータワードを受けることと、
２のＭ乗の幅を有する一時データワードまで前記データワードを署名拡張することと、
２のＭ乗の幅を有するカウンタに前記一時データワードを入力することとを含む、データワードを処理する方法。
【請求項４１】
結果を得るために、前記一時データワード内で前記先行ゼロをカウントすることをさらに含む、請求項４０に記載の方法。
【請求項４２】
前記結果がゼロである場合に、カウントをゼロにセットすることをさらに含む、請求項４１に記載の方法。
【請求項４３】
カウントを得るために、２のＭ乗マイナス２のＮ乗の値が結果から減算することをさらに含む、請求項４１に記載の方法。
【請求項４４】
Ｍ＋１ビットを有する結果を得るために前記一時データワード内で前記先行ゼロをカウントすることをさらに含む方法であって、前記結果は、最も重要でないビットとしてビットゼロを、最も重要なビットとしてビットＭを、および前記ビットゼロと前記ビットＭの間のビットＮを含む、請求項４０に記載の方法。
【請求項４５】
ビットＭをビットＮの位置にコピーすることと、
ビットＭからビットＮ＋１をゼロに置換することとをさらに含む、請求項４４に記載の方法。
【請求項４６】
２のＮ乗の幅を有するデータワードを受けるための手段と、
２のＭ乗の幅を有する一時データワードまで前記データワードを署名拡張するための手段と、
２のＭ乗の幅を有するカウンタに前記一時データワードを入力するための手段とを備えたプロセッサ装置。
【請求項４７】
結果を得るために、前記一時データワード内で前記先行ゼロをカウントするための手段をさらに備えた、請求項４６に記載の装置。
【請求項４８】
前記結果がゼロである場合に、カウントをゼロに設定するための手段をさらに備えた、請求項４７に記載の装置。
【請求項４９】
カウントを得るために、２のＭ乗マイナス２のＮ乗の値を前記結果から減算するための手段をさらに備えた、請求項４７に記載の装置。
【請求項５０】
Ｍ＋１ビットを有する結果を得るために前記一時データワード内で前記先行ゼロをカウントするための手段をさらに備えた装置であって、前記結果は、最も重要でないビットとしてビットゼロを、最も重要なビットとしてビットＭを、および前記ビットゼロと前記ビットＭの間のビットＮを含む、請求項４６に記載の装置。
【請求項５１】
ビットＭをビットＮの位置にコピーするための手段と、
ビットＭからビットＮ＋１をゼロに置換するための手段とをさらに備えた、請求項５０に記載の装置。
【請求項５２】
デジタル信号プロセッサと、
前記デジタル信号プロセッサに結合された音声符号器／復号器（ＣＯＤＥＣ）と、
前記デジタル信号プロセッサに結合されたマルチメディアカードと、
前記デジタル信号プロセッサに結合されたユニバーサルシリアルバス（ＵＳＢ）ポートとを備えた音声ファイルプレイヤであって、
前記デジタル信号プロセッサは、
メモリと、
前記メモリに応答するシーケンサと、
前記メモリに結合されたレジスタファイルと、
前記シーケンサに応答する命令実行ユニットであって、制御モジュール、前記制御モジュールに結合された署名拡張装置、前記制御モジュールに結合された反転装置、および前記制御モジュールに結合された６４ビットの幅のビットカウンタを備えた命令実行ユニットであって、前記制御モジュールは、１つまたは複数の３２ビットデータワード内で先行ゼロをカウントするように前記６４ビット幅のビットカウンタを制御する論理、および１つまたは複数の６４ビットデータワード内で先行ゼロをカウントするように前記６４ビット幅のビットカウンタを制御する論理を含む命令実行ユニットとを備えている、デジタル信号プロセッサを備えた音声ファイルプレイヤ。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は概して、デジタル信号プロセッサおよびこのようなプロセッサを使用する装置に関する。より詳細には、開示はデータワード内で先行ゼロ（leading zeros）をカウントする、または先行１（leading ones）をカウントするデジタル信号プロセッサ内の構成部品に関する。
【背景技術】
【０００２】
技術の進歩は、より小さくより強いパソコン装置につながった。例えば、現時点において、携帯型無線電話、パーソナルデジタルアシスタント（ＰＤＡ）、および小さく、軽量であり、使用者が簡単に運べるページング装置などの無線演算装置を含む様々な携帯型パソコン装置が存在する。より詳細には、携帯電話およびＩＰ電話などの携帯型無線電話は、無線ネットワーク上で音声およびデータパケットを通信することができる。さらに、多くのこのような無線電話は、中に組み込まれた他のタイプのデバイスを含む。例えば、無線電話はまた、デジタルスチルカメラ、デジタルビデオカメラ、デジタルレコーダ、および音声ファイルプレイヤを備えることもできる。また、このような無線電話は、インターネットにアクセスするのに使用することができるウェブインターフェイスを備えることができる。このように、これらの無線電話はかなりの演算能力を備えている。
【０００３】
無線電話内に組み込まれた異なる装置の機能を提供するプログラムのいくつかは、特定のデータワードに対して先行ゼロカウント（leading zeros count）または先行１カウント（leading ones count）を必要とする命令を含む。普通、多数のデータワード寸法が異なるプログラムで使用される。このように、多数のハードウェア構成部品を、異なるデータワード内で先行ゼロおよび先行１をカウントするのに使用することができる。
【発明の開示】
【０００４】
したがって、デジタル信号プロセッサ内で先行ゼロをカウントし、先行１をカウントする改良型のシステムおよび方法を提供することが有利であろう。
【０００５】
［概要］
データワードを処理する方法が開示されており、データワードを受けることと、データワードが３２ビットデータワードであるか、６４ビットデータワードであるかを判断することとを含む。さらに、この方法は、データワードが３２ビットデータワードであることを判断した後に、一時的な６４ビットデータワードを作り出すように３２ビットデータワードを拡張させる署名を含む。
【０００６】
特定の実施形態では、この方法は先行ゼロ値（leading zeros value）または先行１値（leading ones value）が測定されるかどうかを判断することを含むことができる。また、特定の実施形態では、この方法は先行ゼロ値が測定されることを判断した後に、一時６４ビットデータワードを６４ビットの幅を有するビットカウンタに通信させることを含むことができる。さらに、特定の実施形態では、この方法は署名拡張先行ゼロカウント（sign extended leading zeros count）を生成するように一時６４ビットデータワード内で先行ゼロをカウントすることと、測定した先行ゼロカウントを生成するように、カウントがゼロではない場合に署名拡張先行ゼロカウントから３２の固定値を減算することと、測定した先行ゼロカウントをレジスタに書き込むこととを含むことができる。
【０００７】
別の特定の実施形態では、この方法は、先行１値が測定される場合に逆６４ビットデータワードを生成するように、一時６４ビットデータワードを反転させることを含むことができる。また、特定の実施形態では、この方法は反転させた一時６４ビットデータワードを６４ビットの幅を有するビットカウンタに通信させることと、署名拡張先行１カウントを生成させるように反転させた一時６４ビットデータワード内で先行ゼロをカウントすることと、測定した先行１カウントを生成するように、カウントがゼロでない場合に、署名拡張先行１カウントから３２の固定値を減算することと、測定した先行１カウントをレジスタに書き込むこととを含むことができる。
【０００８】
さらに別の特定の実施形態では、この方法はさらに、データワードが６４ビットデータワードであることを判断した後に、先行ゼロ値または先行１値が使用されるかどうかを判断することを含むことができる。加えて、特定の実施形態では、この方法は、先行ゼロ値が使用されることを判断した後に、６４ビットデータワードを６４ビットの幅を有するビットカウンタに通信させることと、測定した先行ゼロカウントを生成させるように６４ビットデータワード内で先行ゼロをカウントすることと、測定した先行ゼロカウントをレジスタに書き込むこととを含むことができる。
【０００９】
さらに別の特定の実施形態では、この方法は、先行１値が使用される場合に反転させた６４ビットデータワードを生成するように６４ビットデータワードを反転させることと、反転させた６４ビットデータワードを６４ビットカウンタに通信させることと、測定した先行１カウントを生成するように反転させた６４ビットデータワード内で先行ゼロをカウントすることと、測定した先行１カウントをレジスタに書き込むこととを含むことができる。
【００１０】
別の実施形態では、方法が開示されており、３２ビットデータワード内で１つまたは複数の先行ゼロをカウントするように、６４ビットの幅を有するビットカウンタを使用することを含むことができる。
【００１１】
さらに別の実施形態では、デジタル信号プロセッサ用命令実行ユニットが開示されており、制御モジュールと、制御モジュールに結合された署名拡張装置と、制御モジュールに結合された反転装置と、制御モジュールに結合された６４ビットの幅を有するビットカウンタとを備えることができる。この実施形態では、制御モジュールは、命令実行ユニットで受ける１つまたは複数の６４ビットデータワード内で先行ゼロをカウントするように６４ビット論理カウンタを命令するために、命令実行ユニットおよび論理で受けた１つまたは複数の３２ビットデータワード内で先行ゼロをカウントするようにビットカウンタを命令する論理を含むことができる。
【００１２】
さらに別の実施形態では、デジタル信号プロセッサが提供され、メモリと、メモリに応答するシーケンサと、メモリに結合されたレジスタファイルと、シーケンサに応答する命令実行ユニットとを備えている。この実施形態では、命令実行ユニットは、制御モジュールと、制御モジュールに結合された署名拡張装置と、制御モジュールに結合された反転装置と、制御モジュールに結合された６４ビットの幅を有するビットカウンタとを備えることができる。この実施形態では、制御モジュールは、１つまたは複数の６４ビットデータワード内で先行ゼロをカウントするように６４ビットの幅を有するビットカウンタを制御するように１つまたは複数の３２ビットデータワードおよび論理内で先行ゼロをカウントするために、６４ビット論理カウンタを制御する論理を含むことができる。
【００１３】
さらに別の実施形態では、携帯型通信装置が開示されており、デジタル信号プロセッサを備えている。この実施形態では、デジタル信号プロセッサは、メモリと、メモリに応答するシーケンサと、メモリに結合されたレジスタファイルと、シーケンサに応答する命令実行ユニットとを備えることができる。この実施形態では、命令実行ユニットは、制御モジュールと、制御モジュールに結合された署名拡張装置と、制御モジュールに結合された反転装置と、制御モジュールに結合された６４ビットの幅を有するビットカウンタとを備えることができる。この実施形態では、制御モジュールは、１つまたは複数の６４ビットデータワード内で先行ゼロをカウントするように６４ビット論理カウンタを制御するために、１つまたは複数の３２ビットデータワードおよび論理内で先行ゼロをカウントするように６４ビット論理カウンタを制御する論理を含むことができる。
【００１４】
さらに別の実施形態では、プロセッサ装置が開示されており、３２ビットデータワードを受けるための手段と、一時６４ビットデータワードを生成するように３２ビットデータワードを署名拡張するための手段と、暫定先行ゼロカウントを得るように一時６４ビットデータワード内で先行ゼロをカウントするための手段と、最終先行ゼロカウントを得るように、カウントがゼロでない場合に、暫定先行ゼロカウントから値を減算するための手段とを備えている。
【００１５】
別の実施形態では、プロセッサ装置が開示されており、３２ビットデータワードを受けるための手段と、一時６４ビットデータワードを生成するように３２ビットデータワードを署名拡張するための手段と、反転させた一時６４ビットデータワードを生成するように一時６４ビットデータワードを反転させるための手段と、暫定先行１カウントを得るように一時６４ビットデータワード内で先行ゼロをカウントするための手段と、最終先行１カウントを得るように、カウントがゼロでない場合に、暫定先行１カウントから値を減算するための手段とを備えている。
【００１６】
さらに別の実施形態では、プロセッサ装置が開示されており、データワードを受けるための手段と、データワードが３２ビットデータワードであるか６４ビットデータワードであるかを判断するための手段と、一時６４ビットデータワードを生成するように３２ビットデータワードを署名拡張するための手段とを備えている。
【００１７】
さらに別の実施形態では、データワードを処理する方法が開示されており、２のＮ乗の幅を有するデータワードを受けることを含む。この方法はさらに、２のＭ乗の幅を有する一時データワードまでデータワードを署名拡張することと、２のＭ乗の幅を有するカウンタに一時データワードを入力することとを含む。
【００１８】
さらに別の実施形態では、プロセッサ装置が開示されており、２のＮ乗の幅を有するデータワードを受けるための手段と、２のＭ乗の幅を有する一時データワードまでデータワードを署名拡張するための手段と、２のＭ乗の幅を有するカウンタに一時データワードを入力するための手段とを備えている。
【００１９】
別の実施形態では、音声ファイルプレイヤが開示されており、デジタル信号プロセッサと、デジタル信号プロセッサに結合された音声符号器／復号器（ＣＯＤＥＣ）と、デジタル信号プロセッサに結合されたマルチメディアカードと、デジタル信号プロセッサに結合されたユニバーサルシリアルバス（ＵＳＢ）ポートとを備えている。この実施形態では、デジタル信号プロセッサは、メモリと、メモリに応答するシーケンサと、メモリに結合されたレジスタファイルと、シーケンサに応答する命令実行ユニットとを備えている。命令実行ユニットは、制御モジュールと、制御モジュールに結合された署名拡張装置と、制御モジュールに結合された反転装置と、やはり制御モジュールに結合された６４ビット幅ビットカウンタとを備えることができる。この実施形態では、制御モジュールは、１つまたは複数の３２ビットデータワード内で先行ゼロをカウントするように６４ビット幅ビットカウンタを制御する論理を備えている。また、制御モジュールは、１つまたは複数の６４ビットデータワード内で先行ゼロをカウントするように６４ビット幅ビットカウンタを制御する論理を備えることができることである。
【００２０】
本明細書に開示した１つまたは複数の実施形態の利点は、異なるデータワード寸法に対して先行ゼロをカウントするために同じリソースを使用することを含むことができる。
【００２１】
別の利点は、異なるデータワードサイズに対して先行１をカウントするために同じリソースを使用することを含む。
【００２２】
さらに別の利点は、先行ゼロをカウントし、先行１をカウントするのに必要なハードウェアを実質的に少なくすることを含むことができることである。
【００２３】
本開示の他の態様、利点および特性は、図面の簡単な説明、詳細な説明、および特許請求の範囲の部分を含む、出願全体を検討すれば明らかになるだろう。
【００２４】
［詳細な記載］
本明細書に記載した実施形態の態様および付随する利点は、添付の図面と合わせて考えた場合、以下の詳細な説明を参照してより簡単に明らかになるだろう。
【００２５】
図１は、デジタル信号プロセッサ（ＤＳＰ）１００の例示的な非限定的実施形態のブロック図である。図１に示すように、ＤＳＰ１００は、第１のバス１０６を介してシーケンサ１０４に結合されたメモリ１０２を備えている。本明細書で使用するように、結合されたワードは、２つ以上の構成部品が直接的に結合される、または間接的に結合されることを示すことができる。特定の実施形態では、第１のバス１０６は６４ビットバスであり、シーケンサ１０４は３２ビットまたは６４ビットの長さを有するメモリ１０２から命令を取り出すように構成されている。第１のバス１０６は、第１の命令実行ユニット１０８、第２の命令実行ユニット１１０、第３の命令実行ユニット１１２、および第４の命令実行ユニット１１４に結合されている。図１は、各命令実行ユニット１０８、１１０、１１２、１１４は第２のバス１１８を介して普通のレジスタファイル１１６に結合できることを示している。普通のレジスタファイル１１６はまた、第３のバス１２０を介してシーケンサ１０４およびメモリ１０２に結合されることができる。
【００２６】
特定の実施形態では、メモリ１０２は、第１の命令キャッシュ１２２と、第２の命令キャッシュ１２４と、第３の命令キャッシュ１２６と、第４の命令キャッシュ１２８と、第５の命令キャッシュ１３０と、第６の命令キャッシュ１３２とを含む。操作中、命令キャッシュ１２２、１２４、１２６、１２８、１３０、１３２は、シーケンサ１０４によって互いに独立してアクセスすることができる。加えて、特定の実施形態では、各命令キャッシュ１２２、１２４、１２６、１２８、１３０、１３２は、複数の命令を含む。
【００２７】
図１に示すように、メモリ１０２は、各命令キャッシュ１２２、１２４、１２６、１２８、１３０、１３２用の命令キューを含んだ命令キュー１３４を含むことができる。より詳細には、命令キュー１３４は、第１の命令キャッシュ１２２に関連する第１の命令キュー１３６と、第２の命令キャッシュ１２４に関連する第２の命令キュー１３８と、第３の命令キャッシュ１２６に関連する第３の命令キュー１４０と、第４の命令キャッシュ１２８に関連する第４の命令キュー１４２と、第５の命令キャッシュ１３０に関連する第５の命令キュー１４４と、第６の命令キャッシュ１３２に関連する第６の命令キュー１４６とを含む。
【００２８】
操作中、シーケンサ１０４は、命令キュー１３４を介して各命令キャッシュ１２２、１２４、１２６、１２８、１３０、１３２から命令を取ることができる。特定の実施形態では、シーケンサ１０４は、第１のキュー１３６から第６の命令キュー１４６の順序で、命令キュー１３６、１３８、１４０、１４２、１４４、１４６から命令を取る。第６の命令キュー１４６から命令を取った後に、シーケンサ１０４は第１の命令キュー１３６に戻り、命令キュー１３６、１３８、１４０、１４２、１４４、１４６から命令を順番に取り続ける。
【００２９】
特定の実施形態では、シーケンサ１０４は、スーパースカラ命令を支持する２方向スーパースカラシーケンサとして第１のモードで動作する。さらに、特定の実施形態では、シーケンサはまた、極めて長い命令ワード（ＶＬＩＷ）命令を支持する第２のモードで動作する。より詳細には、シーケンサは４方向ＶＬＩＷシーケンサとして動作することができる。特定の実施形態では、第１の命令実行ユニット１０８は、ロード命令、記憶命令、および算術演算論理ユニット（ＡＬＵ）命令を実行することができる。第２の命令実行ユニット１１０は、ロード命令およびＡＬＵ命令を実行することができる。また、第３の命令実行ユニットは、乗算命令、乗累算命令（ＭＡＣ）、ＡＬＵ命令、プログラムリダイレクト構築、および転送レジスタ（ＣＲ）命令を実行することができる。図１はさらに、第４の命令実行ユニット１１４が、シフト（Ｓ）命令、ＡＬＵ命令、プログラムリダイレクト構成、およびＣＲ命令を実行することができることを示している。図２は、第４の命令実行ユニット１１４内に含むことができる構成部品の詳細を示している。特定の実施形態では、プログラムリダイレクト構築は、ゼロオーバーヘッドループ、ブランチ命令、ジャンプ（Ｊ）命令などであってもよい。
【００３０】
図１に示すように、普通のレジスタ１１６は、第１の統一レジスタファイル１４８、第２の統一レジスタファイル１５０、第３の統一レジスタファイル１５２、第４の統一レジスタファイル１５４、第５の統一レジスタファイル１５６、および第６の統一レジスタファイル１５８を含む。各統一レジスタファイル１４８、１５０、１５２、１５４、１５６、１５８は、メモリ１０２内の命令キャッシュ１２２、１２４、１２６、１２８、１３０、１３２に対応している。さらに、特定の実施形態では、各統一レジスタファイル１４８、１５０、１５２、１５４、１５６、１５８は同じ構成を有し、いくつかのデータオペランドおよびいくつかのアドレスオペランドを含む。
【００３１】
デジタル信号プロセッサ１００の操作中に、シーケンサ１０４によってメモリ１０２から命令を取ることができ、統一レジスタファイル１４８、１５０、１５２、１５４、１５６、１５８からオペランドを取ることができる。さらに、命令およびオペランドは、指定の命令実行ユニット１０８、１１０、１１２、１１４に送ることができ、命令実行ユニット１０８、１１０、１１２、１１４で実行することができる。さらに、１つまたは複数のオペランドは、普通のレジスタ１１６、例えば統一レジスタファイル１４８、１５０、１５２、１５４、１５６、１５８の１つから取り出され、命令の実行中に使用される。各命令実行ユニット１０８、１１０、１１２、１１４での結果は、普通のレジスタ１１６、すなわち統一レジスタファイル１４８、１５０、１５２、１５４、１５６、１５８の１つに書き込むことができる。
【００３２】
図２を参照すると、命令実行ユニットの例示的な非限定的実施形態が示されており、全体が２００で示されている。特定の実施形態では、命令実行ユニット２００は、図１に示すシステム１００に組み込むことができる。例えば、命令実行ユニット２００は、図１に示す第４の命令実行ユニット１１４に代わることができる。図２に示すように、命令実行ユニット２００は署名拡張装置２０２を備えている。さらに図示するように、反転装置２０４は、署名拡張装置２０２に結合できる。また、カウントモジュール２０６は反転装置２０４に結合できる。特定の実施形態では、カウントモジュール２０６は６４ビットカウンタを備えている。
【００３３】
図２はまた、制御モジュール２０８を、署名拡張装置２０２、反転装置２０４、およびカウントモジュール２０６に結合できることを示している。特定の実施形態では、命令実行ユニット２００は、複数の命令２１０、例えば６４ビット命令および３２ビット命令を受けることができる。また、例示的な実施形態では、命令２１０は命令キュー１３６、１３８、１４０、１４２、１４４、１４６（図１）の１つ内に記憶させ、シーケンサ１０４（図１）を介して実行ユニット２００に送ることができる。さらに、命令実行ユニット２００は、カウントモジュール２０６によって行われるカウント動作の結果をレジスタ２１２に書き込むことができる。特定の実施形態では、制御モジュール２０８は、本明細書に記載する方法ステップの１つまたは複数を行う論理を含むことができる。
【００３４】
図３を参照すると、データワード用の先行ゼロをカウントする方法が示されており、ブロック３００で始まる。ブロック３００では、命令実行ユニットは、２のＮ乗の幅を有するデータワードを受ける。次にブロック３０２では、署名拡張装置は、データワードを２のＭ乗の幅を有する一時データワードに署名拡張する。特定の実施形態では、ＮおよびＭは整数である。さらに、特定の実施形態では、ＭはＮより大きい。ブロック３０４に移動して、署名拡張装置は、一時データワードを２のＭ乗の幅を有するカウンタに入力する、あるいは通過させる。ブロック３０６では、カウンタは一時データワード内で先行ゼロをカウントする。
【００３５】
決定ステップ３０８に進んで、コントローラはカウンタからの結果がゼロであるかどうかを判断する。そうである場合、方法はブロック３１０に進み、コントローラはカウントをゼロに等しく設定する。次にブロック３１２では、制御モジュールはカウントをレジスタに書き込む。この方法はその後、状態３１４で終了する。決定ステップ３０８に戻って、カウントの結果がゼロでない場合、この方法はステップ３１６に進み、２のＭ乗マイナス２のＮ乗と同等の値が、カウントを得るために結果から減算される。ブロック３１２に移動して、制御モジュールはカウントをレジスタに書き込む。この方法はその後、状態３１４で終了する。
【００３６】
図４は、データワード用の先行ゼロをカウントする別の方法を示している。ブロック４００で始まり、命令実行ユニットは、２のＮ乗の幅を有するデータワードを受ける。ブロック４０２では、署名拡張装置は、データワードを２のＭ乗の幅を有する一時データワードに署名拡張する。特定の実施形態では、ＮおよびＭは整数であり、ＭはＮより大きい。ブロック４０４に進んで、署名拡張装置は、一時データワードを２のＭ乗の幅を有するカウンタまで通過させる、あるいは入力する。ブロック４０６では、カウンタは、Ｍ＋１ビットを含む結果を得るために、一時データワード内で先行ゼロをカウントする。特定の実施形態では、結果の最も重要ではないビットはビットゼロ（０）であり、結果の最も重要なビットはビットＭである。さらにビットＮは、最も重要でないビットと最も重要なビットの間にある。ブロック４０８に進んで、ビットＭはビットＮの位置にコピーされる。ブロック４１０では、ビットＭからＮ＋１がゼロに置き換えられる。次にブロック４１２では、制御モジュールが変更した結果をレジスタに書き込む。この方法はその後、状態４１４で終了する。
【００３７】
図５は、６４ビットデータワード５００および３２ビットデータワード５０２を示している。特定の実施形態では、６４ビットデータワード５００は、カウントモジュール、例えば図２と合わせて記載したカウントモジュール２０６に入力することができる。カウントモジュール２０６は、６４ビットデータワード５００内の先行ゼロの数をカウントすることができる。さらに、命令が６４ビットデータワード内の先行１のカウントを必要とする場合、６４ビットデータワードが反転され、反転させた６４ビットデータワードの得られる先行ゼロはカウントモジュールによってカウントされる。
【００３８】
別の実施形態では、命令が３２ビットデータワード用の先行ゼロまたは先行１カウントを必要とする場合、３２ビットデータワード５０２は、署名拡張させた一時６４ビットデータワード５０４を生成するために、３２ビットによって署名拡張することができる。一時６４ビットデータワード５０４は、本明細書に記載するように、先行ゼロカウントまたは先行１カウントを得るために、カウントモジュールに入力することができる。
【００３９】
図６は、先行ゼロをカウントし、先行１をカウントする例示的な非限定的方法を示している。ブロック６００で始まり、命令実行ユニットは命令に関連するワードを受ける。ブロック６０２では、命令実行ユニット、例えば命令実行ユニット内の制御モジュールが、ワードの先行ゼロカウントまたは先行１カウントが関連する命令によって必要とされているかどうかを判断する。先行ゼロカウントまたは先行１カウントが必要でない場合、この方法は状況６０４で終了する。もう一方では、先行ゼロカウントまたは先行１カウントが必要である場合、この方法は決定ステップ６０６に進む。
【００４０】
決定ステップ６０６では、制御モジュールは、ワードが３０ビットの長さ、または６４ビットの長さであるかどうかを判断する。ワードが３２ビットの長さである場合、この方法はブロック６０８に進み、署名拡張装置は、一時６４ビットデータワードを生成するように３２ビットデータワードを署名拡張する。その後、この方法は決定ステップ６１０に進む。決定ステップ６０４に戻って、ワードが６４ビットである場合、この方法は決定ステップ６１０に直接進む。
【００４１】
決定ステップ６１０では、制御モジュールは、先行ゼロカウントまたは先行１カウントが６４ビットデータワードまたは一時６４ビットデータワードに必要であるかどうかを判断する。先行１カウントが必要である場合、この方法はブロック６１２に進み、反転装置が、反転させた６４ビットデータワードまたは反転させた一時６４ビットデータワードを生成するように、６４ビットデータワードまたは一時６４ビットデータワードを反転させる。ブロック６１４に移動して、反転装置は、反転させた６４ビットデータワードまたは反転させた一時６４ビットデータワードをカウントモジュールまで通過させる。ブロック６１６では、カウントモジュールが、暫定結果を得るために、反転させた６４ビットデータワードまたは反転させた一時６４ビットデータワードの先行ゼロをカウントする。
【００４２】
決定ステップ６１０に戻って、先行ゼロカウントが必要である場合、この方法はブロック６１８に進み、制御モジュールは６４ビットデータワードまたは一時６４ビットデータワードをカウントモジュールまで通過させる。その後、この方法はブロック６１６に移動し、カウントモジュールは、暫定結果を得るために、６４ビットデータワードまたは一時６４ビットデータワードの先行ゼロをカウントする。ブロック６１６から、この方法は決定ステップ６２０に進み、制御モジュールはカウントの対象である６４ビットデータワードが前に署名拡張されたかどうかを判断する。そうでない場合、この方法は決定ステップ６２２まで進み、制御モジュールはカウントが先行ゼロカウントまたは先行１カウントであるかを判断する。カウントが先行ゼロカウントである場合、この方法はブロック６２４に進み、制御モジュールは先行ゼロカウントをレジスタに書き込む。この方法はその後、状態６０４で終了する。逆に、決定ステップ６２２で、カウントが先行１カウントである場合、この方法はブロック６２６まで進み、制御モジュールは先行１カウントをレジスタに書き込む。この方法はその後、状態６０４で終了する。
【００４３】
決定ステップ６２０に戻って、カウントの対象である６４ビットデータワードが前に署名拡張された場合、この方法は決定ステップ６２８に進む。決定ステップ６２８では、制御モジュールはカウントの結果がゼロであるかどうかを判断する。そうである場合、この方法は決定ステップ６２２に移動し、本明細書に記載するように進む。一方では、結果がゼロでない場合、この方法はブロック６３０に進み、３２の固定値が最終結果をもたらすように暫定結果から減算される。その後、この方法は決定ステップ６２２に進み、本明細書に記載するように進む。
【００４４】
図７を参照すると、デジタル信号プロセッサ用のインターリーブマルチスレッドの詳細な方法が示されている。図７は、この方法がブランチルーティン７００、ロードルーティン７０２、記憶ルーティン７０４、およびｓ−パイプルーティン７０６を含むことを示している。各ルーティン７００、７０２、７０４、７０６は、シーケンサによって命令キューから取り出された各命令に対する６クロックサイクル中に行われる複数のステップを含む。特定の実施形態では、クロックサイクルは、復号クロックサイクル７０８、レジスタファイルアクセスクロックサイクル７１０、第１の実行クロックサイクル７１２、第２の実行クロックサイクル７１４、第３の実行クロックサイクル７１６、およびライトバッククロックサイクル７１８を含む。さらに、各クロックサイクルは、第１の部分および第２の部分を含む。
【００４５】
図７は、ブランチルーティン７００中に、ブロック７２０で、命令用の迅速復号化が復号クロックサイクルの第１の部分の間にシーケンサ内で行われることを示している。ブロック７２２では、復号クロックサイクル７０８の第２の部分の間に、シーケンサがレジスタファイルにアクセスする、例えば、第１のオペランド用のレジスタファイルアクセスを開始する。ブロック７２２のレジスタアクセスは、レジスタファイルアクセスクロックサイクル７１０内で終了し、第１のオペランドはレジスタファイルから取り出される。特定の実施形態では、シーケンサは第１のデータ読取ポートを介してレジスタファイルにアクセスする。図示するように、ブロック７２２のレジスタファイルアクセスは、復号クロックサイクル７０８の第２の部分、およびレジスタファイルアクセスクロックサイクル７１０の第１の部分の間で起こる。このように、レジスタファイルアクセスは、復号クロックサイクル７０８およびレジスタファイルアクセスクロックサイクル７１０に重複する。
【００４６】
ブロック７２４では、また復号クロックサイクル７０８中に、シーケンサが命令用の完全復号を開始させる。シーケンサによって行われる完全復号は、復号クロックサイクル７０８の第２の部分、およびレジスタファイルアクセスブロックサイクル７１０の第１の部分内で起こる。
【００４７】
レジスタファイルアクセスクロックサイクル７１０中に、ブロック７２６では、シーケンサが命令仮想アドレス（ＩＶＡ）を生成する。その後、ブロック７２８では、シーケンサが、仮想アドレスページ数に関連する物理的アドレスページを判断するために、ページチェックを行う。第１の実行クロックサイクル７１２に移動して、ブロック７３０では、シーケンサが命令キュー検索を行う。ブロック７３２では、シーケンサは第１の時に命令キャッシュにアクセスし、命令用の第１のダブルワードを取り出す。特定の実施形態では、各命令は、３つのダブルワード、例えば、第１のダブルワード、第２のダブルワード、および第３のダブルワードを含む。ブロック７３４では、第１の実行クロックサイクル７１２中に、シーケンサは命令キャッシュから来るダブルワードを位置合わせする。
【００４８】
第２の実行クロックサイクル７１４に進んで、シーケンサは、ブロック７３６で命令用の第２のダブルワードを取り出すために、第２の時に命令キャッシュにアクセスする。次にブロック７３８では、シーケンサは命令キャッシュから取り出したダブルワードを位置合わせする。
【００４９】
第３の実行クロックサイクル７１６に進んで、シーケンサは、ブロック７４２で第３のダブルワードを取り出すために、第３の時に命令キャッシュにアクセスする。シーケンサが第３の時に命令キャッシュにアクセスした後に、シーケンサはブロック７４４で第３のダブルワードを位置合わせする。
【００５０】
図７に示すように、ロードルーティン７０２中に、ブロック７５０では、シーケンサが復号クロックサイクル７０８の第１の部分の間に命令用の迅速復号化を行う。ブロック７５２では、復号クロックサイクル７０８の第２の部分の間に、シーケンサはレジスタファイルアクセスを開始させる。図示するように、シーケンサによる第２のレジスタアクセスは、２つのクロックサイクルにわたる、すなわち、復号クロックサイクル７０８の第２の部分、およびレジスタファイルアクセスクロックサイクル７１０の第１の部分を含む。このようにして、レジスタファイルアクセスはレジスタファイルアクセスクロックサイクル７１０内で終了し、第２のオペランドを取り出すことができる。次に第１の実行サイクル７１２中に、ブロック７５４では、第１の命令実行ユニット内のアドレス生成ユニットは、前に読み込んだレジスタファイル内容に基づき、命令用の第１の仮想アドレスを生成する。
【００５１】
ブロック７５６では、第２の実行クロックサイクル７１４中に、データ変換ルックアサイドバッファ（ＤＴＬＢ）は、第１の物理的アドレスを生成するために、第１の仮想アドレス用のアドレス変換を行う。さらに第２の実行クロックサイクル７１４内では、ブロック７５８で、シーケンサはタグチェックを行う。
【００５２】
第３の実行サイクル７１６に移動して、シーケンサは、ブロック７６０でＳＲＡＭからデータを読み取るために、データキャッシュ静的ランダムアクセスメモリ（ＳＲＡＭ）にアクセスする。また、第３の実行サイクル内では、ブロック７６２で、シーケンサは第１のデータ書込ポートを介して第１の時に命令に関連するレジスタファイルを更新する。特定の実施形態では、シーケンサはポストインクリメントアドレスの結果のファイルでレジスタを更新する。次に、ライトバッククロックサイクル７１８中に、ブロック７６４では、ロードアライナが、ダブルワード内でデータを位置合わせするようにデータをシフトする。ブロック７６６では、またライトバッククロックサイクル７１８内で、シーケンサはキャッシュからロードされたデータで第１のデータ書込ポートを介して第２の時に命令用のレジスタファイルを更新する。
【００５３】
図７は、記憶ルーティン７０４中に、ブロック７６８で、シーケンサが復号クロックサイクル７０８の間に命令用の迅速復号を行うことを示している。さらに、復号クロックサイクル７０８中に、ブロック７７０では、シーケンサは第３のデータ読取ポートを介して第３の時に命令に関連するレジスタファイルにアクセスする。ブロック７７０のレジスタアクセスは、復号クロックサイクル７０８の最後の部分、およびレジスタファイルアクセスクロックサイクル７１０の第１の部分内で起こる。このように、レジスタファイルは復号クロックサイクル７０８内で開始し、レジスタファイルアクセスクロックサイクル７１０内で終了する。特定の実施形態では、第３のオペランドはレジスタファイルアクセスクロックサイクル７１０中にレジスタファイルから取り出される。
【００５４】
図７に示すように、レジスタファイルアクセスクロックサイクル７１０の第２の部分の間に、シーケンサは、ブロック７７２で第３のデータ読取ポートを介して第４の時に命令用のレジスタファイルにアクセスする。第４のレジスタファイルは、レジスタファイルアクセスクロックサイクル７１０内で開始し、第４のオペランドがレジスタから取り出される第１の実行クロックサイクル７１２内で終了する。特定の実施形態では、第３のデータ読取ポートは、第３のオペランドおよび第４のオペランドを取り出すために、レジスタにアクセスするのに使用される。ブロック７７４では、シーケンサからのデータの一部は多重化装置によって多重化される。また、第１の実行クロックサイクル７１２中、ブロック７７６では、第２の命令実行ユニット内の第２のアドレス生成ユニットが、レジスタファイルから前に読み取ったデータに基づき、命令用の仮想アドレスを生成する。
【００５５】
第２の実行クロックサイクル７１４に進み、記憶ルーティンの間に、ブロック７７８では、データ変換ルックアサイドバッファ（ＤＴＬＢ）が、命令用の前に生成した仮想アドレスを物理アドレスに変換する。ブロック７８０では、第２の実行クロックサイクル７１４内で、シーケンサはタグチェックを行う。また、第２の実行クロックサイクル７１４中に、ブロック７８２では、記憶アライナは、データをデータキャッシュに書き込む前に、記憶データをダブルワード内の適当なバイト、ハーフワード、またはワード境界に位置合わせする。第３の実行クロックサイクル７１６に移動して、ブロック７８４では、シーケンサはデータキャッシュ静的ランダムアクセスメモリを更新する。その後、ブロック７８６では、シーケンサは、第３の実行クロックサイクル７１６中に命令を実行する結果で、第２のデータ書込ポートを介して第３の時に命令用のレジスタファイルを更新する。
【００５６】
図７に示すように、ｓ−パイプルーティン７０６は、ブロック７８８で復号クロックサイクル７０８の間に開始され、ここで迅速復号化が命令のために行われる。ブロック７９０では、シーケンサは、第４のデータ読取ポートを介して第５の時に命令用のレジスタファイルにアクセスする。第５のレジスタファイルアクセスはまた、２つのクロックサイクルにわたり、復号クロックサイクル７０８の第２の部分内で開始し、第５のオペランドが取り出されるレジスタファイルアクセスクロックサイクル７１０の第１の部分内で終了する。さらにレジスタファイルアクセスクロックサイクル７１０中に、命令用のレジスタファイルからのデータの一部が多重化装置で多重化される。また、レジスタファイルアクセスクロックサイクル７１０中に、シーケンサはブロック７９４で第４のデータ読取ポートを介して第６の時に命令用のレジスタファイルにアクセスする。レジスタファイルへの第６のアクセスは、レジスタファイルアクセスクロックサイクル７１０の第２の部分内で始まり、第１の実行クロックサイクル７１２の第１の部分内で終了する。第６のオペランドは、第１の実行クロックサイクル７１２中に取り出される。
【００５７】
第２の実行クロックサイクル７１４に進んで、ブロック７９６では、第５のレジスタファイルアクセスおよび第６のレジスタファイルアクセスの間に取り出されたデータは、６４ビットシフタ、ベクトルユニット、および署名／ゼロ拡張装置に送られる。また、第１の実行クロックサイクル中に、ブロック７９８では、シフタ、ベクトルユニット、および署名／ゼロ拡張装置からのデータは多重化される。
【００５８】
第２の実行クロックサイクル７１４に移動して、シフタ、ベクトルユニット、および署名／ゼロ拡張装置からの多重化データは、ブロック８００で算術演算論理ユニット、カウント先行ゼロユニット、または比較器に送られる。ブロック８０２では、算術演算論理ユニット、カウント先行ゼロユニット、および比較器からのデータは、単一の多重化装置で多重化される。データが多重化された後に、シフタは、第３の実行クロックサイクル７１６中にブロック８０４で、データを２、４、８などで乗算するために、多重化データをシフトする。その後、ブロック８０６では、シフタの出力が飽和される。ライトバッククロックサイクル７１８の間に、ブロック８０８では、命令用のレジスタファイルが、第３の書込データポートを介して第４の時に更新される。
【００５９】
特定の実施形態では、図７に示すように、デジタル信号プロセッサ用のインターリーブマルチスレッド方法は、各レジスタ用の４つの読取ポート、および各レジスタ用の３つの書込ポートを利用する。読取ポートおよび書込ポートの再利用により、６つのオペランドを４つの読取データポートを介して取り出すことができる。さらに、４つの結果を、３つの書込データポートを介してレジスタファイルに更新することができる。
【００６０】
図８は、全体を８２０で示した携帯型通信装置の例示的な非限定的実施形態を示している。図８に示すように、携帯型通信装置はデジタル信号プロセッサ８２４を備えたオンチップシステム８２２を備えている。特定の実施形態では、デジタル信号プロセッサ８２４は、図１に示し、本明細書に記載するデジタル信号プロセッサである。図８はまた、デジタル信号プロセッサ８２４に結合されたディスプレイコントローラ８２６、およびディスプレイ８２８を示している。さらに、入力装置８３０はデジタル信号プロセッサ８２４に結合されている。図示するように、メモリ８３２はデジタル信号プロセッサ８２４に結合されている。加えて、符号器／復号器（ＣＯＤＥＣ）８３４はデジタル信号プロセッサ８２４に結合できる。スピーカ８３６およびマイク８３８は、ＣＯＤＥＣ  ８３４に結合できる。
【００６１】
図８はまた、無線コントローラ８４０を、デジタル信号プロセッサ８２４および無線アンテナ８４２に結合できることを示している。特定の実施形態では、電源装置８４４はオンチップシステム８２２に結合されている。さらに特定の実施形態では、図８に示すように、ディスプレイ８２８、入力装置８３０、スピーカ８３６、マイク８３８、無線アンテナ８４２、および電源装置８４４は、オンチップシステム８２２に対して外側にある。しかし、それぞれオンチップシステム８２２の構成部品に結合されている。
【００６２】
特定の実施形態では、デジタル信号プロセッサ８２４は、携帯型通信装置８２０の様々な構成部品が必要とする機能および操作を行うのに必要なプログラムスレッドに関連する命令を処理するためにインターリーブしたマルチスレッドを利用する。例えば、無線通信セッションが無線アンテナを介して確立された場合、使用者はマイク８３８内に話すことができる。使用者の音声を示す電子信号は、符号化されるようにＣＯＤＥＣ  ８３４に送ることができる。デジタル信号プロセッサ８２４は、マイクからの電子信号を符号化するように、ＣＯＤＥＣ  ８３４に対してデータ処理を行うことができる。さらに、無線アンテナ８２４を介して受けた入ってくる信号は、復号化されるように無線コントローラ８４０によってＣＯＤＥＣ  ８３４に送ることができ、スピーカ８３６に送ることができる。デジタル信号プロセッサ８２４はまた、無線アンテナ８４２を介して受けた信号を復号化する場合に、ＣＯＤＥＣ  ８３４に対するデータ処理を行うこともできる。
【００６３】
さらに、無線通信セッションの前、その間、またはその後に、デジタル信号プロセッサ８２４は入力装置８３０から受けた入力を処理することができる。例えば、無線通信セッション中に、使用者は、携帯型通信装置８２０のメモリ８３２内に埋め込まれたウェブブラウザを介してインターネットサーフィンするために、入力装置８３０およびディスプレイ８２８を使用することができる。デジタル信号プロセッサ８２４は、本明細書に記載するように、携帯型通信装置８２０およびその中の様々な構成部品の操作を効率的に制御するように、入力装置８３０、ディスプレイコントローラ８２６、ディスプレイ８２８、ＣＯＤＥＣ  ８３４、および無線コントローラ８４０によって使用される様々なプログラムスレッドをインターリーブすることができる。様々なプログラムスレッドに関連する命令の多くは、１つまたは複数のクロックサイクル中に同時に実行される。このように、無駄になったクロックサイクルによる電力およびエネルギー消費は実質的に少なくなる。
【００６４】
図９を参照すると、携帯電話の例示的な非限定的実施形態が示されており、全体が９２０で示されている。図示するように、携帯電話９２０は、互いに結合されたデジタルベースバンドプロセッサ９２４およびアナログベースバンドプロセッサ９２６を備えたオンチップシステム９２２を備えている。特定の実施形態では、デジタルベースバンドプロセッサ９２４は、デジタル信号プロセッサ、例えば図１に示し、本明細書に記載するデジタル信号プロセッサである。さらに特定の実施形態では、アナログベースバンドプロセッサ９２６はまた、デジタル信号プロセッサ、例えば図１に示すデジタル信号プロセッサであってもよい。図９に示すように、ディスプレイコントローラ９２８およびタッチスクリーンコントローラ９３０は、デジタルベースバンドプロセッサ９２４に結合されている。その後、オンチップシステム９２２の外側にあるタッチスクリーンディスプレイ９３２は、ディスプレイコントローラ９２８およびタッチスクリーンコントローラ９３０に結合されている。
【００６５】
図９はさらに、画像符号器９３４、例えば位相交代ライン（ＰＡＬ）符号器、順次式カラーメモリ（ＳＥＣＡＭ）符号器、または全国テレビジョン方式委員会（ＮＴＳＣ）符号器が、デジタルベースバンドプロセッサ９２４に結合されていることを示している。さらに、画像増幅器９３６は、画像符号器９３４およびタッチスクリーンディスプレイ９３２に結合されている。また、画像ポート９３８は画像増幅器９３６に結合されている。図９に示すように、ユニバーサルシリアルバス（ＵＳＢ）コントローラ９４０は、デジタルベースバンドプロセッサ９２４に結合されている。また、ＵＳＰポート９４２はＵＳＢコントローラ９４０に結合されている。メモリ９４４および加入者識別モジュール（ＳＩＭ）カード９４６はまた、デジタルベースバンドプロセッサ９２４に結合できる。さらに図９に示すように、デジタルカメラ９４８はデジタルベースバンドプロセッサ９２４に結合できる。例示的な実施形態では、デジタルカメラ９４８は電荷結合素子（ＣＣＤ）カメラ、または相補型金属酸化膜半導体（ＣＭＯＳ）カメラである。
【００６６】
図９にさらに示すように、ステレオオーディオＣＯＤＥＣ  ９５０は、アナログベースバンドプロセッサ９２６に結合できる。さらに、オーディオ増幅器９５２はステレオオーディオＣＯＤＥＣ  ９５０に結合できる。例示的な実施形態では、第１のステレオスピーカ９５４および第２のステレオスピーカ９５６は、オーディオ増幅器９５２に結合されている。図９は、マイク増幅器９５８をステレオオーディオＣＯＤＥＣ  ９５０に結合できることを示している。加えて、マイク９６０はマイク増幅器９５８に結合できる。特定の実施形態では、周波数変調（ＦＭ）ラジオチューナ９６２は、ステレオオーディオＣＯＤＥＣ  ９５０に結合できる。また、ＦＭアンテナ９６４はＦＭラジオチューナ９６２に結合されている。さらに、ステレオヘッドフォン９６６は、ステレオオーディオＣＯＤＥＣ  ９５０に結合できる。
【００６７】
図９はさらに、無線周波数（ＲＦ）トランシーバ９６８をアナログベースバンドプロセッサ９２６に結合できることを示している。ＲＦスイッチ９７０は、ＲＦトランシーバ９６８およびＲＦアンテナ９７２に結合できる。図９に示すように、キーパッド９７４は、アナログベースバンドプロセッサ９２６に結合できる。また、マイク９７６を備えたモノヘッドセットは、アナログベースバンドプロセッサ９２６に結合できる。さらに、振動装置９７８はアナログベースバンドプロセッサ９２６に結合できる。図９はまた、電源装置９８０をオンチップシステム９２２に結合できることを示している。特定の実施形態では、電源装置９８０は電力を必要とする携帯電話９２０の様々な構成部品に電力を与える直流（ＤＣ）電源装置である。さらに特定の実施形態では、電源装置は、ＡＣ電力源に接続された交流（ＡＣ）からＤＣへの変圧器に由来する再充電可能なＤＣ電池またはＤＣ電源装置である。
【００６８】
特定の実施形態では、図９に示すように、タッチスクリーンディスプレイ９３２、画像ポート９３８、ＵＳＰポート９４２、カメラ９４８、第１のステレオスピーカ９５４、第２のステレオスピーカ９５６、マイク９６０、ＦＭアンテナ９６４、ステレオヘッドフォン９６６、ＲＦスイッチ９７０、ＲＦアンテナ９７２、キーパッド９７４、モノヘッドセット９７６、振動装置９７８、および電源装置９８０は、オンチップシステム９２２の外側にある。さらに特定の実施形態では、デジタルベースバンドプロセッサ９２４およびアナログベースバンドプロセッサは、携帯電話９２０に関連する異なる構成部品の１つまたは複数に関連する様々なプログラムスレッドを処理するために、本明細書に記載したインターリーブしたマルチスレッドを使用することができる。
【００６９】
図１０を参照すると、無線インターネットプロトコル（ＩＰ）電話の例示的な非限定的実施形態が示されており、全体が１０００で示されている。図示するように、無線ＩＰ電話１０００は、デジタル信号プロセッサ（ＤＳＰ）１００４を備えたオンチップシステム１００２を備えている。特定の実施形態では、ＤＳＰ１００４は、図１に示し、本明細書に記載したデジタル信号プロセッサである。図１０に記載するように、ディスプレイコントローラ１００６はＤＳＰ１００４に結合されており、ディスプレイ１００８はディスプレイコントローラ１００６に結合されている。例示的な実施形態では、ディスプレイ１００８は液晶ディスプレイ（ＬＣＤ）である。図１０はさらに、キーパッド１０１０をＤＳＰ１００４に結合できることを示している。
【００７０】
図１０にさらに示すように、フラッシュメモリ１０１２をＤＳＰ１００４に結合できる。同期動的ランダムアクセスメモリ（ＳＤＲＡＭ）１０１４、静的ランダムアクセスメモリ（ＳＲＡＭ）１０１６、および電気的消去可能プログラム可能読取専用メモリ（ＥＥＰＲＯＭ）１０１８はまた、ＤＳＰ１００４に結合できる。図１０はまた、発光ダイオード（ＬＥＤ）１０２０がＤＳＰ１００４に結合できることを示している。加えて特定の実施形態では、音声ＣＯＤＥＣ  １０２２はＤＳＰ１００４に結合できる。増幅器１０２４は音声ＣＯＤＥＣ  １０２２に結合させることができ、モノスピーカ１０２６は増幅器１０２４に結合できる。図１０はさらに、モノヘッドセット１０２８は音声ＣＯＤＥＣ  １０２２に結合させることもできることを示している。特定の実施形態では、モノヘッドセット１０２８はマイクを備えている。
【００７１】
図１０はまた、無線ローカルエリアネットワーク（ＷＬＡＮ）ベースバンドプロセッサ１０３０は、ＤＳＰ１００４に結合できることを示している。ＲＦトランシーバ１０３２はＷＬＡＮベースバンドプロセッサ１０３０に結合させることができ、ＲＦアンテナ１０３４はＲＦトランシーバ１０３２に結合できる。特定の実施形態では、ブルートゥースコントローラ１０３６はＤＳＰ１００４に結合させることもでき、ブルートゥースアンテナ１０３８はコントローラ１０３６に結合できる。図１０はまた、ＵＳＰポート１０４０はまたＤＳＰ１００４に結合できることを示している。さらに、電源装置１０４２はオンチップシステム１００２に結合され、オンチップシステム１００２を介して無線ＩＰ電話１０００の様々な構成部品に電力を与える。
【００７２】
特定の実施形態では、図１０に示すように、ディスプレイ１００８、キーパッド１０１０、ＬＥＤ１０２０、モノスピーカ１０２６、モノヘッドセット１０２８、ＲＦアンテナ１０３４、ブルートゥースアンテナ１０３８、ＵＳＰポート１０４０、および電源装置１０４２はオンチップシステム１００２の外側にある。しかし、これらの各構成部品はオンチップシステムの１つまたは複数の構成部品に結合されている。さらに特定の実施形態では、デジタル信号プロセッサ１００４は、ＩＰ電話１０００に関連する異なる構成部品の１つまたは複数に関連する様々なプログラムスレッドを処理するために、本明細書に記載するように、インターリーブしたマルチスレッドを使用することができる。
【００７３】
図１１は、全体を１１００で示した携帯型デジタルアシスタント（ＰＤＡ）の例示的な非限定的実施形態を示している。図示するように、ＰＤＡ１１００は、デジタル信号プロセッサ（ＤＳＰ）１１０４を備えたオンチップシステム１１０２を備えている。特定の実施形態では、ＤＳＰ１１０４は、図１に示し、本明細書に記載したデジタル信号プロセッサである。図１１に示すように、タッチスクリーンコントローラ１１０６およびディスプレイコントローラ１１０８は、ＤＳＰ１１０４に結合されている。さらに、タッチスクリーンディスプレイは、タッチスクリーンコントローラ１１０６およびディスプレイコントローラ１１０８に結合されている。図１１はまた、キーパッド１１１２をＤＳＰ１１０４に結合できることを示している。
【００７４】
さらに図１１に示すように、フラッシュメモリ１１１４はＤＳＰ１１０４に結合できる。また、読取専用メモリ（ＲＯＭ）１１１６、動的ランダムアクセスメモリ（ＤＲＡＭ）１１１８、および電気的消去可能プログラム可能読取専用メモリ（ＥＥＰＲＯＭ）１１２０は、ＤＳＰ１１０４に結合できる。図１１はまた、赤外線データ接続（ＩｒＤＡ）ポート１１２２は、ＤＳＰ１１０４に結合できる。加えて、特定の実施形態では、デジタルカメラ１１２４はＤＳＰ１１０４に結合できる。
【００７５】
図１１に示すように、特定の実施形態では、ステレオオーディオＣＯＤＥＣ  １１２６は、ＤＳＰ１１０４に結合できる。第１のステレオ増幅器１１２８はステレオオーディオＣＯＤＥＣ  １１２６に結合することができ、第１のステレオスピーカ１１３０は第１のステレオ増幅器１１２８に結合できる。加えて、マイク増幅器１１３２はステレオオーディオＣＯＤＥＣ  １１２６に結合することができ、マイク１１３４はマイク増幅器１１３２に結合できる。図１１はさらに、第２のステレオ増幅器１１３６はステレオオーディオＣＯＤＥＣ  １１２６に結合することができ、第２のステレオスピーカ１１３８は第２のステレオ増幅器１１３６に結合できることを示している。特定の実施形態では、ステレオヘッドフォン１１４０はまた、ステレオオーディオＣＯＤＥＣ  １１２６に結合できる。
【００７６】
図１１はまた、８０２．１１コントローラ１１４２はＤＳＰ１１０４に結合することができ、８０２．１１アンテナ１１４４は８０２．１１コントローラ１１４２に結合できることを示している。さらに、ブルートゥースコントローラ１１４６はＤＳＰ１１０４に結合することができ、ブルートゥースアンテナ１１４８はブルートゥースコントローラ１１４６に結合できる。図１１に示すように、ＵＳＢコントローラ１１５０はＤＳＰ１１０４に結合することができ、ＵＳＢポート１１５２はＵＳＢコントローラ１１５０に結合できる。加えて、スマートカード１１５４、例えばマルチメディアカード（ＭＭＣ）またはセキュアデジタルカード（ＳＤ）は、ＤＳＰ１１０４に結合できる。さらに図１１に示すように、電源装置１１５６はオンチップシステム１１０２に結合することができ、オンチップシステム１１０２を介してＰＤＡ１１００の様々な構成部品に電力を供給することができる。
【００７７】
特定の実施形態では、図１１に示すように、ディスプレイ１１１０、キーパッド１１１２、ＩｒＤＡポート１１２２、デジタルカメラ１１２４、第１のステレオスピーカ１１３０、マイク１１３４、第２のステレオスピーカ１１３８、ステレオヘッドフォン１１４０、８０２．１１アンテナ１１４４、ブルートゥースアンテナ１１４８、ＵＳＢポート１１５２、および電源装置１１５０はオンチップシステム１１０２の外側にある。しかし、これらの各構成部品は、オンチップシステム上の１つまたは複数の構成部品に結合されている。加えて、特定の実施形態では、デジタル信号プロセッサ１１０４は、携帯型デジタルアシスタント１１００に関連する異なる構成部品の１つまたは複数に関連する様々なプログラムスレッドを処理するために、本明細書に記載した、インターリーブしたマルチスレッドを使用することができる。
【００７８】
図１２を参照すると、エムペグオーディオレイヤ−３（ＭＰ３）プレイヤなどのオーディオファイルプレイヤの例示的な非限定的実施形態が示されており、全体が１２００で示されている。図示するように、オーディオファイルプレイヤ１２００は、デジタル信号プロセッサ（ＤＳＰ）１２０４を備えたオンチップシステム１２０２を備えている。特定の実施形態では、ＤＳＰ１２０４は、図１に示し、本明細書に記載したデジタル信号プロセッサである。図１２に示すように、ディスプレイコントローラ１２０６はＤＳＰ１２０４に結合され、ディスプレイ１２０８はディスプレイコントローラ１２０６に結合されている。例示的な実施形態では、ディスプレイ１２０８は液晶ディスプレイ（ＬＣＤ）である。図１２はさらに、キーパッド１２１０はＤＳＰ１２０４に結合できることを示している。
【００７９】
図１２にさらに示すように、フラッシュメモリ１２１２および読取専用メモリ（ＲＯＭ）１２１４は、ＤＳＰ１２０４に結合できる。加えて、特定の実施形態では、オーディオＣＯＤＥＣ  １２１６はＤＳＰ１２０４に結合できる。増幅器１２１８はオーディオＣＯＤＥＣ  １２１６に結合することができ、モノスピーカ１２２０は増幅器１２１８に結合できる。図１２はさらに、マイク入力１２２２およびステレオ入力１２２４はまたオーディオＣＯＤＥＣ  １２１６に結合することもできることを示している。特定の実施形態では、ステレオヘッドフォン１２２６はまたオーディオＣＯＤＥＣ  １２１６に結合できる。
【００８０】
図１２はまた、ＵＳＢポート１２２８およびスマートカード１２３０は、ＤＳＰ１２０４に結合できることを示している。加えて、電源装置１２３２はオンチップシステム１２０２に結合することができ、オンチップシステム１２０２を介してオーディオファイルプレイヤ１２００の様々な構成部品に電力を供給することができる。
【００８１】
特定の実施形態では、図１２に示すように、ディスプレイ１２０８、キーパッド１２１０、モノスピーカ１２２０、マイク入力１２２２、ステレオ入力１２２４、ステレオヘッドフォン１２２６、ＵＳＢポート１２２８、および電源装置１２３２は、オンチップシステム１２０２の外側にある。しかし、これらの各構成部品は、オンチップシステム上の１つまたは複数の構成部品に結合されている。また特定の実施形態では、デジタル信号プロセッサ１２０４は、オーディオファイルプレイヤ１２００に関連する異なる構成部品の１つまたは複数に関連する様々なプログラムスレッドを処理するために、本明細書に記載する、インターリーブしたマルチスレッドを使用することができる。
【００８２】
本明細書に開示した構造の構成では、本明細書に記載したシステムおよび方法は、デジタル信号プロセッサ内で同じハードウェアを使用して、６４ビットデータワードおよび３２データワード内で先行ゼロをカウントし、先行１をカウントする方法を提供する。このようにして、異なる寸法のデータワード内で先行ゼロおよび先行１をカウントするための異なるセットのハードウェアの必要性が取り除かれる。
【００８３】
当業者はさらに、本明細書に開示された実施形態に関連して記載された様々な例示的論理ブロック、構成、モジュール、回路およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組み合わせとして実行することができることが分かるだろう。ハードウェアおよびソフトウェアのこのような互換性を明らかに例示するために、様々な例示的構成部品、ブロック、構成、モジュール、回路およびステップを、その機能に関して全体的に上に記載した。このような機能がハードウェアまたはソフトウェアとして実行されるかどうかは、システム全体に加えられる特定の応用および設計の制約による。当業者は、各特定の応用例の様々な方法で記載した機能を実施することができるが、このような実施の決定は本開示の範囲からの逸脱を生じさせるものとして解釈すべきではない。
【００８４】
本明細書に開示された実施形態に関連して記載した方法またはアルゴリズムのステップは、ハードウェア、プロセッサによって実行されるソフトウェアモジュール、または２つの組み合わせ内で直接具体化することができる。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＰＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、または当技術分野で知られているあらゆる形の記憶媒体にあってもよい。例示的な記憶媒体は、プロセッサが情報を記憶媒体から読み取ることができ、情報を記憶媒体に書き込むことができるように、プロセッサに結合されている。代替形態では、記憶媒体はプロセッサと一体的であってもよい。プロセッサおよび記憶媒体は、ＡＳＩＣ内にあってもよい。ＡＳＩＣは、計算装置または使用者端末内にあってもよい。代替形態では、プロセッサおよび記憶媒体は、計算装置または使用者端末内の別個の構成部品としてあってもよい。
【００８５】
開示した実施形態の前の記載が、当業者が本開示を行うまたは使用することを可能にするように提供される。これらの実施形態への様々な変更形態は、当業者にすぐに明らかになり、本明細書で定義された全体的な原理は開示の精神または範囲から逸脱することなく他の実施形態に適用することができる。したがって、本開示は本明細書に示す実施形態に限ることを意図したものではなく、特許請求の範囲によって規定された原則および新規の特徴と一致する最も広い範囲と一致することを意図したものである。
【図面の簡単な説明】
【００８６】
【図１】例示的なデジタル信号プロセッサの略図である。
【図２】例示的な命令実行ユニットを示す図である。
【図３】データワード内で先行ゼロをカウントする方法を示すフローチャートである。
【図４】データワード内で先行ゼロをカウントする別の方法を示すフローチャートである。
【図５】例示的な６４ビットデータワード、および３２ビットによって署名拡張された例示的な３２ビットデータワードを示す図である。
【図６】６４ビットデータワードおよび３２ビットデータワード内で先行ゼロをカウントし、先行１をカウントする方法を示すフローチャートである。
【図７】図１に示すデジタル信号プロセッサの詳細なインターリーブマルチスレッド操作を示す図である。
【図８】デジタル信号プロセッサを組み込んだ携帯型通信装置の略図である。
【図９】デジタル信号プロセッサを組み込んだ例示的な携帯電話の略図である。
【図１０】デジタル信号プロセッサを組み込んだ例示的な無線インターネットプロトコル電話の略図である。
【図１１】デジタル信号プロセッサを組み込んだ例示的な携帯型デジタルアシスタントの略図である。
【図１２】デジタル信号プロセッサを組み込んだ例示的な音声ファイルプレイヤの略図である。
【図１】
2008547137.tif 000003
【図２】
2008547137.tif 000004
【図３】
2008547137.tif 000005
【図４】
2008547137.tif 000006
【図５】
2008547137.tif 000007
【図６】
2008547137.tif 000008
【図７】
2008547137.tif 000009
【図８】
2008547137.tif 000010
【図９】
2008547137.tif 000011
【図１０】
2008547137.tif 000012
【図１１】
2008547137.tif 000013
【図１２】
2008547137.tif 000014
【国際調査報告】
2008547137.tif 000015
2008547137.tif 000016
2008547137.tif 000017