(57)【特許請求の範囲】
【請求項１】
アナログ信号の複数のサンプルを複数のデジタルサンプルに変換するよう構成されるアナログ‐デジタル変換器と、
プログラムランダムアクセスメモリ（ＰＲＡＭ）であって、
Ｎ個のＰＲＡＭブロックであって、Ｎは１より大きな整数である、Ｎ個のＰＲＡＭブロックと、
Ｍ個のデジタル信号処理機能のためのコードであって、Ｍは１より大きな整数であり、Ｎ個のＰＲＡＭブロックに格納される、Ｍ個のデジタル信号処理機能のためのコードと
を含み、前記Ｍ個のデジタル信号処理機能のそれぞれのための前記コードの最後のラインは、（ｉ）実行されるべき前記Ｍ個のデジタル信号処理機能のうちの次の１つを判断する命令、および（ｉｉ）前記Ｍ個のデジタル信号処理機能のうちの前記次の１つが格納された、前記Ｎ個のＰＲＡＭブロックのうちの１つのウェイクアップ期間のインジケータを含む、プログラムランダムアクセスメモリ（ＰＲＡＭ）と、
前記Ｎ個のＰＲＡＭブロックを、それぞれ、電源に接続し、電源から切断するよう構成されるＮ個のスイッチングデバイスと、
前記Ｍ個のデジタル信号処理機能を実行するか否かのそれぞれＭ個のインジケータを格納するレジスタと、
前記Ｎ個のスイッチングデバイスを制御し、前記レジスタに格納される前記Ｍ個のインジケータに基づき、前記Ｍ個のデジタル信号処理機能のうちの複数のものを選択し、前記複数のデジタルサンプルに対して前記Ｍ個のデジタル信号処理機能のうち選択された複数のものを、前記ＰＲＡＭから、読み取り、実行し、出力を生成するよう構成される制御モジュールとを備え、
前記制御モジュールは、
前記Ｎ個のスイッチングデバイスの１つ目を選択的に作動し、前記Ｎ個のＰＲＡＭブロックの１つ目を前記電源に接続し、
前記Ｎ個のＰＲＡＭブロックの前記１つ目に格納された前記Ｍ個のデジタル信号処理機能の１つ目のための前記コードの第１の部分を実行し、
前記Ｍ個のデジタル信号処理機能の前記１つ目のための前記コードの前記最後のラインを実行することに応答して、（ｉ）前記Ｍ個のデジタル信号処理機能の前記１つ目の後に、次に実行されるべき前記Ｍ個のデジタル信号処理機能の２つ目を判断し、（ｉｉ）前記Ｍ個のデジタル信号処理機能の前記２つ目が格納された前記Ｎ個のＰＲＡＭブロックの２つ目のウェイクアップ期間を判断し、
前記Ｍ個のデジタル信号処理機能の前記１つ目のための前記コードの前記最後のラインの前記実行の後に、前記Ｎ個のスイッチングデバイスの前記１つ目を作動させ、前記Ｎ個のＰＲＡＭブロックの前記１つ目を前記電源から切断し、
前記Ｍ個のデジタル信号処理機能の前記１つ目の後に、前記Ｍ個のデジタル信号処理機能の前記２つ目が次に実行されるべきである前記判断に基づいて、前記Ｎ個のスイッチングデバイスの２つ目を選択的に作動させ、前記Ｎ個のＰＲＡＭブロックの前記２つ目を前記電源に接続し、
前記Ｎ個のスイッチングデバイスの前記２つ目の前記作動し、前記Ｎ個のＰＲＡＭブロックの前記２つ目を前記電源に接続した後に、前記Ｎ個のＰＲＡＭブロックの前記２つ目の前記ウェイクアップ期間の経過に応答して、前記Ｍ個のデジタル信号処理機能の前記２つ目のための前記コードの第２の部分の実行を開始するよう構成される
デジタル信号処理システム（ＤＳＰシステム）。
【請求項２】
前記制御モジュールは、前記レジスタにおける前記Ｍ個のインジケータのうちの１つが、前記Ｍ個のデジタル信号処理機能の３つ目の実行が無効化されていることを示す場合に、デジタルサンプルの初めと、前記デジタルサンプルの終わりとの間の期間中に、前記Ｍ個のデジタル信号処理機能の前記３つ目を格納する前記Ｎ個のＰＲＡＭブロックの３つ目を、前記電源から切断するよう構成される請求項１に記載のＤＳＰシステム。
【請求項３】
クロック信号に基づきカウンタ値をインクリメントするよう構成されるカウンタを更に備え、前記制御モジュールは、前記カウンタ値に基づき前記コードの複数のラインを実行するよう構成される請求項１または２に記載のＤＳＰシステム。
【請求項４】
前記制御モジュールは、前記Ｎ個のスイッチングデバイスの前記２つ目の前記作動の後の前記ウェイクアップ期間をおいて、前記カウンタ値を、前記Ｍ個のデジタル信号処理機能の前記２つ目のための前記コードの第１のラインに対応する前記コードのライン数に、選択的に設定し、前記Ｎ個のＰＲＡＭブロックの前記２つ目を前記電源に接続するよう構成される請求項３に記載のＤＳＰシステム。
【請求項５】
前記制御モジュールは、前記Ｎ個のスイッチングデバイスの前記２つ目の前記作動の後の前記ウェイクアップ期間のための前記カウンタ値を維持し、前記Ｎ個のＰＲＡＭブロックの前記２つ目を前記電源に接続するよう構成される請求項３に記載のＤＳＰシステム。
【請求項６】
前記制御モジュールは、デジタルサンプルが受信される度に、前記カウンタ値をリセットするよう構成される請求項３から５の何れか一項に記載のＤＳＰシステム。
【請求項７】
デジタル信号処理システム（ＤＳＰシステム）の電力消費を低減するための方法であって、
アナログ‐デジタル変換器によって、アナログ信号の複数のサンプルを複数のデジタルサンプルに変換する段階と、
Ｎ個のスイッチングデバイスを使用して、複数のＮプログラムランダムアクセスメモリ（ＰＲＡＭ）ブロックを、選択的に、それぞれ、電源に接続し、電源から切断する段階であって、
Ｎは１より大きな整数であり、Ｍ個のデジタル信号処理機能のためのコードが、前記Ｎ個のＰＲＡＭブロックに格納され、Ｍは１より大きな整数であり、前記Ｍ個のデジタル信号処理機能のそれぞれのための前記コードの最後のラインは、（ｉ）実行されるべき前記Ｍ個のデジタル信号処理機能のうちの次の１つを判断する命令、および（ｉｉ）前記Ｍ個のデジタル信号処理機能のうちの前記次の１つが格納された、前記Ｎ個のＰＲＡＭブロックのうちの１つのウェイクアップ期間のインジケータを含む、段階と、を備え、
前記ＰＲＡＭブロックを、選択的に、それぞれ、電源に接続し、電源から切断する段階は、制御モジュールにより、前記Ｎ個のスイッチングデバイスを制御して、レジスタに格納された前記Ｍ個のデジタル信号処理機能を実行するか否かのそれぞれＭ個のインジケータに基づいて、前記Ｍ個のデジタル信号処理機能のうちの複数のものを選択し、前記複数のデジタルサンプルに対して、前記Ｍ個のデジタル信号処理機能のうち選択された複数のものを、前記ＰＲＡＭから、読み取り、実行し、出力を生成する段階を有し、
前記制御モジュールにより、前記制御し、前記読み取り、実行する段階は、
前記Ｎ個のスイッチングデバイスの１つ目を選択的に作動し、前記Ｎ個のＰＲＡＭブロックの１つ目を前記電源に接続する段階と、
前記Ｎ個のＰＲＡＭブロックの前記１つ目に格納された前記Ｍ個のデジタル信号処理機能の１つ目のための前記コードの第１の部分を実行する段階と、
前記Ｍ個のデジタル信号処理機能の前記１つ目のための前記コードの前記最後のラインを実行することに応答して、（ｉ）前記Ｍ個のデジタル信号処理機能の前記１つ目の後に、次に実行されるべき前記Ｍ個のデジタル信号処理機能の２つ目を判断し、（ｉｉ）前記Ｍ個のデジタル信号処理機能の前記２つ目が格納された前記Ｎ個のＰＲＡＭブロックの２つ目のウェイクアップ期間を判断する段階と、
前記Ｍ個のデジタル信号処理機能の前記１つ目のための前記コードの前記最後のラインの前記実行の後に、前記Ｎ個のスイッチングデバイスの前記１つ目を作動させ、前記Ｎ個のＰＲＡＭブロックの前記１つ目を前記電源から切断する段階と、
前記Ｍ個のデジタル信号処理機能の前記１つ目の後に、前記Ｍ個のデジタル信号処理機能の前記２つ目が次に実行されるべきである前記判断に基づいて、前記Ｎ個のスイッチングデバイスの２つ目を選択的に作動させ、前記Ｎ個のＰＲＡＭブロックの前記２つ目を前記電源に接続する段階と、
前記Ｎ個のスイッチングデバイスの前記２つ目の前記作動し、前記Ｎ個のＰＲＡＭブロックの前記２つ目を前記電源に接続した後に、前記Ｎ個のＰＲＡＭブロックの前記２つ目の前記ウェイクアップ期間の経過に応答して、前記Ｍ個のデジタル信号処理機能の前記２つ目のための前記コードの第２の部分の実行を開始する段階と
を含む
方法。
【請求項８】
前記レジスタにおける前記Ｍ個のインジケータのうちの１つが、前記Ｍ個のデジタル信号処理機能の３つ目の実行が無効化されていることを示す場合に、前記制御モジュールにより、デジタルサンプルの初めと、前記デジタルサンプルの終わりとの間の期間中に、前記Ｍ個のデジタル信号処理機能の前記３つ目を格納する前記Ｎ個のＰＲＡＭブロックの３つ目を、前記電源から切断する段階を更に備える
請求項７に記載の方法。
【請求項９】
カウンタにより、クロック信号に基づきカウンタ値をインクリメントする段階と、
前記制御モジュールにより、前記カウンタ値に基づき前記コードの複数のラインを実行する段階とを更に備える請求項７または８に記載の方法。
【請求項１０】
前記制御モジュールにより、前記Ｎ個のスイッチングデバイスの前記２つ目の前記作動の後の前記ウェイクアップ期間をおいて、前記カウンタ値を、前記Ｍ個のデジタル信号処理機能の前記２つ目のための前記コードの第１のラインに対応する前記コードのライン数に、選択的に設定し、前記Ｎ個のＰＲＡＭブロックの前記２つ目を前記電源に接続する段階を更に備える請求項９に記載の方法。
【請求項１１】
前記制御モジュールにより、前記Ｎ個のスイッチングデバイスの前記２つ目の前記作動の後の前記ウェイクアップ期間に、前記カウンタ値を維持し、前記Ｎ個のＰＲＡＭブロックの前記２つ目を前記電源に接続する段階を更に備える請求項９に記載の方法。
【請求項１２】
前記制御モジュールにより、デジタルサンプルが受信される度に、前記カウンタ値をリセットする段階を更に備える請求項９から１１の何れか一項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］  本出願は、２０１５年４月３０日に出願された米国特許出願第１４／７００，７５５号に対する優先権を主張し、又、２０１４年５月７日に出願された米国特許仮出願第６１／９８９，６９７号の利益を主張する。上記にて参照された両出願の開示全体は、参照により本明細書に組み込まれる。
【０００２】
本開示は、複数のメモリ制御システム及び方法に関し、より具体的には、メモリを含む複数のシステムの電力消費を低減するための複数のシステム及び方法に関する。
【背景技術】
【０００３】
本明細書において提供される背景技術の説明は、開示の文脈を概して提示することを目的とする。現在名を挙げられた発明者らの研究は、当該研究がこの背景技術において説明される範囲において、並びに出願時に別途従来技術としてみなされ得ない当該説明の複数の態様において、明示的にも暗示的にも、本開示に対する従来技術とは認められない。
【０００４】
揮発性メモリ及び不揮発性メモリは、２つの異なるタイプのメモリである。いくつかのタイプの揮発性メモリに格納されるデータは、メモリが電源をオフにされている場合に失われ得る。しかしながら、不揮発性メモリに格納されるデータは、たとえメモリが電源をオフにされた後でも、保持され得る。
【０００５】
様々なタイプのデータが、メモリに格納され得る。例えば、デジタルシグナルプロセッサ（ＤＳＰ）は、入力されたデータに対して複数の信号処理機能を実行し、複数の信号処理機能が、メモリに格納される。
【発明の概要】
【０００６】
デジタル信号処理（ＤＳＰ）システムは、アナログ‐デジタル変換器、プログラムランダムアクセスメモリ（ＰＲＡＭ）、Ｎ個のスイッチングデバイス、及び制御モジュールを備える。アナログ‐デジタル変換器は、アナログ信号の複数のサンプルを複数のデジタルサンプルに変換するよう構成される。ＰＲＡＭは、Ｎ個のＰＲＡＭブロックと、Ｎ個のＰＲＡＭブロックに格納されるＭ個のデジタル信号処理機能のためのコードとを含む。ここで、Ｎは１より大きな整数であり、Ｍは１より大きな整数である。Ｎ個のスイッチングデバイスは、Ｎ個のＰＲＡＭブロックを、それぞれ、電源に接続し、電源から切断するよう構成される。制御モジュールは、Ｎ個のスイッチングデバイスを制御し、複数のデジタルサンプルに対して、Ｍ個のデジタル信号処理機能のうち選択された複数のものを実行し、出力を生成するよう構成される。
【０００７】
他の特徴において、ＤＳＰシステムは、それぞれ、Ｍ個のデジタル信号処理機能を実行するか否かのＭ個のインジケータを格納するレジスタを更に備える。制御モジュールは、レジスタに格納されるＭ個のインジケータに基づき、Ｍ個のデジタル信号処理機能のうち選択された複数のものを選択し実行するよう構成される。
【０００８】
他の特徴において、制御モジュールは、レジスタにおけるＭ個のインジケータのうちの１つが、Ｍ個のデジタル信号処理機能のうちの１つの実行が無効化されていることを示す場合に、デジタルサンプルの初めと、デジタルサンプルの終わりとの間の期間中に、Ｍ個のデジタル信号処理機能のうちの１つを格納するＮ個のＰＲＡＭブロックのうちの１つを、電源から切断する。
【０００９】
他の特徴において、制御モジュールは、Ｎ個のスイッチングデバイスのうちの１つを選択的に作動し、Ｎ個のＰＲＡＭブロックのうちの１つを電源に接続し、Ｎ個のＰＲＡＭブロックのうちの１つに格納される、Ｍ個のデジタル信号処理機能のうちの１つのためのコードの一部を実行し、Ｍ個のデジタル信号処理機能のうちの１つのためのコードの一部の実行の後に、Ｎ個のスイッチングデバイスのうちの１つを作動し、Ｎ個のＰＲＡＭブロックのうちの１つを電源から切断するよう構成される。
【００１０】
他の特徴において、制御モジュールは、Ｎ個のスイッチングデバイスのうちの１つを作動し、Ｍ個の信号処理機能のうちの１つが実行されるという判断に応答して、Ｎ個のＰＲＡＭブロックのうちの１つを電源に接続するよう構成される。
【００１１】
他の特徴において、制御モジュールは、Ｎ個のスイッチングデバイスのうちの１つの作動後の予め定められた期間をおいて、Ｎ個のＰＲＡＭブロックのうちの１つに格納されるＭ個のデジタル信号処理機能のうちの１つのためのコードの一部の実行を開始し、Ｎ個のＰＲＡＭブロックのうちの１つを電源に接続するよう構成される。
【００１２】
他の特徴において、ＤＳＰシステムは、クロック信号に基づきカウンタ値をインクリメントするよう構成されるカウンタを更に備える。制御モジュールは、カウンタ値に基づきコードの複数のラインを実行するよう構成される。
【００１３】
他の特徴において、制御モジュールは、Ｎ個のスイッチングデバイスのうちの１つの作動後の予め定められた期間をおいて、カウンタ値を、Ｍ個のデジタル信号処理機能のうちの１つの第１のラインに対応するコードのライン数に、選択的に設定し、Ｎ個のＰＲＡＭブロックのうちの１つを電源に接続するよう構成される。
【００１４】
他の特徴において、制御モジュールは、Ｎ個のスイッチングデバイスのうちの１つの作動後の予め定められた期間に、カウンタ値を維持し、Ｎ個のＰＲＡＭブロックのうちの１つを電源に接続するよう構成される。
【００１５】
他の特徴において、制御モジュールは、デジタルサンプルが受信される度に、カウンタ値をリセットするよう構成される。
【００１６】
他の特徴において、デジタル信号処理（ＤＳＰ）システムの電力消費を低減するための方法が、アナログ信号の複数のサンプルを複数のデジタルサンプルに変換する段階と、Ｎ個のスイッチングデバイスを使用して、複数のＮプログラムランダムアクセスメモリ（ＰＲＡＭ）ブロックを、選択的に、それぞれ、電源に接続し、電源から切断する段階とを備える。Ｎは、１より大きな整数であり、Ｍ個のデジタル信号処理機能のためのコードは、Ｎ個のＰＲＡＭブロックに格納され、Ｍは、１より大きな整数である。方法は、Ｎ個のスイッチングデバイスを制御する段階と、複数のデジタルサンプルに対して、Ｍ個のデジタル信号処理機能のうち選択された複数のものを実行し、出力を生成する段階とを更に備える。
【００１７】
他の特徴において、方法は、それぞれ、Ｍ個のデジタル信号処理機能を実行するか否かのＭ個のインジケータをレジスタに格納する段階と、レジスタに格納されるＭ個のインジケータに基づき、Ｍ個のデジタル信号処理機能のうち選択された複数のものを選択し、実行する段階とを更に備える。
【００１８】
他の特徴において、方法は、レジスタにおけるＭ個のインジケータのうちの１つが、Ｍ個のデジタル信号処理機能のうちの１つの実行が無効化されていることを示す場合に、デジタルサンプルの初めと、デジタルサンプルの終わりとの間の期間中に、Ｍ個のデジタル信号処理機能のうちの１つを格納するＮ個のＰＲＡＭブロックのうちの１つを、電源から切断する段階を更に備える。
【００１９】
他の特徴において、方法は、Ｎ個のスイッチングデバイスのうちの１つを選択的に作動し、Ｎ個のＰＲＡＭブロックのうちの１つを電源に接続する段階と、Ｎ個のＰＲＡＭブロックのうちの１つに格納される、Ｍ個のデジタル信号処理機能のうちの１つのためのコードの一部を実行する段階と、Ｍ個のデジタル信号処理機能のうちの１つのためのコードの一部の実行の後に、Ｎ個のスイッチングデバイスのうちの１つを作動し、Ｎ個のＰＲＡＭブロックのうちの１つを電源から切断する段階とを更に備える。
【００２０】
他の特徴において、方法は、Ｎ個のスイッチングデバイスのうちの１つを作動し、Ｍ個の信号処理機能のうちの１つが実行されるという判断に応答して、Ｎ個のＰＲＡＭブロックのうちの１つを電源に接続する段階を更に備える。
【００２１】
他の特徴において、方法は、Ｎ個のスイッチングデバイスのうちの１つの作動後の予め定められた期間をおいて、Ｎ個のＰＲＡＭブロックのうちの１つに格納されるＭ個のデジタル信号処理機能のうちの１つのためのコードの一部の実行を開始し、Ｎ個のＰＲＡＭブロックのうちの１つを電源に接続する段階を更に備える。
【００２２】
他の特徴において、方法は、クロック信号に基づきカウンタ値をインクリメントする段階と、カウンタ値に基づきコードの複数のラインを実行する段階とを更に備える。
【００２３】
他の特徴において、方法は、Ｎ個のスイッチングデバイスのうちの１つの作動後の予め定められた期間をおいて、カウンタ値を、Ｍ個のデジタル信号処理機能のうちの１つの第１のラインに対応するコードのライン数に、選択的に設定し、Ｎ個のＰＲＡＭブロックのうちの１つを電源に接続する段階を更に備える。
【００２４】
他の特徴において、方法は、Ｎ個のスイッチングデバイスのうちの１つの作動後の予め定められた期間に、カウンタ値を維持し、Ｎ個のＰＲＡＭブロックのうちの１つを電源に接続する段階を更に備える。
【００２５】
他の特徴において、方法は、デジタルサンプルが受信される度に、カウンタ値をリセットする段階を更に備える。
【００２６】
本開示の適用可能性の複数の更なる領域が、詳細な説明、特許請求の範囲、及び複数の図面から明らかになるであろう。詳細な説明及び具体的な例は、例示のみを目的とすることが意図されており、本開示の範囲を限定することが意図されるものではない。
【図面の簡単な説明】
【００２７】
【図１】例示的なデジタル信号処理システムの機能ブロック図である。
【００２８】
【図２】複数の信号処理機能を含むファームウェアのための例示的なデータ構造を含む。
【００２９】
【図３】複数の異なる例示的な信号処理機能のセットを実行するための複数の例示的なタイミング図を含む。
【図４】複数の異なる例示的な信号処理機能のセットを実行するための複数の例示的なタイミング図を含む。
【図５】複数の異なる例示的な信号処理機能のセットを実行するための複数の例示的なタイミング図を含む。
【００３０】
【図６】デジタル信号処理機能の機能ブロック図を含む。
【００３１】
【図７】複数の信号処理機能を含むファームウェアのための例示的なデータ構造を含む。
【００３２】
【図８】異なる例示的な信号処理機能のセットを実行するための複数の例示的なタイミング図を含む。
【図９】異なる例示的な信号処理機能のセットを実行するための複数の例示的なタイミング図を含む。
【００３３】
【図１０】複数のメモリブロックの電源をオン及びオフする例示的な方法を示すフローチャートを含む。
【００３４】
複数の図面において、複数の参照番号は、同様の及び／又は同一の複数の要素を特定すべく再利用され得る。
【発明を実施するための形態】
【００３５】
複数のデジタル信号処理機能が、複数のデジタルサンプルに適用され、デジタル信号処理（ＤＳＰ）を実行する。複数の信号処理機能は、メモリに格納され得、カウンタがインクリメントする度に、ライン単位で実行される。複数の信号処理機能のうち選択された複数のものを実行するか否かは、例えば、ユーザ又はＤＳＰシステムを含むデバイスにより設定され得る。
【００３６】
しかしながら、実行されないであろう複数の信号処理機能を含むメモリの複数の部分が電源をオフにされる場合、電力消費が、低減され得る。更に、メモリの複数の部分の電源をオフにすることにより、それぞれの部分のうちの１又は複数の信号処理機能が実行される期間外において、電力消費が、低減され得る。
【００３７】
本開示によると、メモリは、独立して電源をオン及びオフされ得る、複数のメモリブロックに分割される。１又は複数の信号処理機能は、複数のメモリブロックの各々に格納される。実行されるであろう１又は複数の信号処理機能を含まない複数のメモリブロックは、電源をオフにされる。実行されるであろう１又は複数の信号処理機能を含む複数のメモリブロックは、１又は複数の信号処理機能の実行に対して電源をオンにされ、そうでない場合は電源をオフにされる。それによって、電力消費は、メモリ全体の電源をオンにする場合と比較して低減される。
【００３８】
図１は、デジタル信号処理（ＤＳＰ）システムを示す。アナログ‐デジタル変換器（ＡＤＣ）１０４は、アナログ入力信号の複数のサンプルを、複数のデジタル入力サンプルに変換する。制御モジュール１０８は、複数のデジタル入力サンプルに対して、１又は複数の信号処理機能を実行し、出力を生成する。複数のデジタル信号処理機能は、プログラムランダムアクセスメモリ（ＰＲＡＭ）１１６に格納されるファームウェア１１２に実装される。
【００３９】
プログラムカウンタ（ＰＣ）１２０が、ＰＲＡＭ１１６を読み取るために使用される。ＰＣ１２０は、クロック信号（ＣＬＫ）のそれぞれのサイクルに応答して、１ずつインクリメントする。クロック信号の周波数は、ＡＤＣ１０４のサンプリング周波数より高い。制御モジュール１０８は、デジタル入力サンプルが受信される場合に、ＰＣ１２０をゼロにリセットする。制御モジュール１０８は、ＰＣ１２０の値を判断し、ファームウェア１１２の対応するラインを読み取って、実行する。このように、制御モジュール１０８は、ファームウェア１１２を読み取って、実行し、それによって、デジタル入力サンプルを、複数の信号処理機能を使用し、ファームウェア１１２の終わりに達するまでライン単位で処理する。これは、それぞれの受信されたデジタル入力サンプルに対して実行される。
【００４０】
実行され得る可能な複数の信号処理機能が、ファームウェア１１２に格納され得る。実行される複数の格納される信号処理機能、及び、実行されない複数の格納される信号処理機能は、例えば、ユーザ、又はデジタル信号処理システムを含むシステムにより設定され得る。音声デジタル信号処理の例が、提供され、説明される一方、本開示は、複数の他のタイプの信号のデジタル信号処理に適用可能である。
【００４１】
アイ・スクエア・シー（Ｉ２Ｃ）レジスタ等の処理制御レジスタ１２４は、複数の格納される信号処理機能を実行するか否かを示す。処理制御レジスタ１２４は、音声処理制御レジスタと称され得る。８つの信号処理機能ｆ１、ｇ１、ｆ２、ｇ２、ｆ３、ｇ３、ｆ４、及びｇ４が、ファームウェア１１２に格納される、処理制御レジスタ１２４に含まれるデータを示す例示的な表が、以下で明らかにされる。
【表１】
0006519089.tif 000002
【００４２】
処理制御レジスタ１２４は、それぞれの信号処理機能のための複数のインジケータ（例えば、複数のフラッグ）を含む。複数のインジケータは、複数の信号処理機能が、それぞれ実行されるか（有効化されるか）否か（無効化されるか）を示す。例えば、処理制御レジスタ１２４の１'ｂ１のインジケータは、関連付けられる信号処理機能が実行されるであろうということを示し得る。１'ｂ０のインジケータ等の別のインジケータは、関連付けられる信号処理機能が実行されないであろうということを示し得る。
【００４３】
制御モジュール１０８は、命令／コマンドを実行し、処理制御レジスタ１２４の複数のインジケータの状態を判断し得る。そのような命令／コマンドの例は、Ｓｔａｔａ  ｃｏｎｄ（）関数を含む。１つの例において、格納される信号処理機能を実行するか否かを判断する命令は、その信号処理機能に対するコードの第１のラインの直前のラインに格納され得る。１つのそのような命令が、複数の格納される信号処理機能の各々に対してファームウェア１１２に格納され得る。
【００４４】
インジケータが、それぞれの信号処理機能が実行されるであろうということを示す場合、制御モジュール１０８は、ＰＣ１２０がインクリメントする度に、ファームウェアの複数の対応するラインを実行する。インジケータが、それぞれの信号処理機能が実行されないであろうということを示す場合、制御モジュール１０８は、命令／コマンドを実行し、その信号処理機能に対してファームウェア１１２の複数のラインをスキップする。より具体的には、制御モジュール１０８は、ＰＣ１２０を、信号処理機能が実行されないであろう場合に、実行されるべき複数の信号処理機能のうち次の１つの第１のラインに設定する。このように、有効化された複数の信号処理機能のみが実行されるであろう。
【００４５】
例えば、処理制御レジスタ１２４［７：０］が、７'ｂ０１０１０１０１に設定される場合に、複数の信号処理機能ｆ１、ｆ２、ｆ３及びｆ４のみが実行され、複数の信号処理機能ｇ１、ｇ２、ｇ３及びｇ４は実行されないであろう。図２は、８つの信号処理機能ｆ１−ｆ４及びｇ１−ｇ４、並びにそれぞれのコマンドを含み、処理制御レジスタ１２４をチェックし、複数の信号処理機能を実行するか否かを判断するファームウェアのための例示的なデータ構造の図示を含む。
【００４６】
単に例として、複数の信号処理機能は、以下の順序で実行されると説明されるであろう：ｆ１、ｆ２、ｆ３、ｆ４、ｇ１、ｇ２、ｇ３、ｇ４。処理制御レジスタ１２４をチェックし、複数のそれぞれの信号処理機能を実行するか否かを判断する複数のコマンドは、複数の信号処理機能の直前に格納される。例えば、処理制御レジスタ１２４をチェックし、信号処理機能ｆ１を実行するか否かを判断するコマンドは、ラインゼロ（０）に格納され、これは、信号処理機能ｆ１のためのコードの第１のライン、ライン１の直前である。信号処理機能ｆ１のためのコードは、複数のライン１からＣ１−１までを占有する。処理制御レジスタ１２４をチェックし、信号処理機能ｆ２を実行するか否かを判断するコマンドは、ラインＣ２に格納され、これは、信号処理機能ｆ２のためのコードの直前である。信号処理機能ｆ２のためのコードは、複数のラインＣ２＋１からＣ３−１までを占有する。処理制御レジスタ１２４をチェックし、信号処理機能ｇ２を実行するか否かを判断するコマンドは、ラインＣ３に格納される、等。
【００４７】
図３は、複数の信号処理機能ｆ１−ｆ４が実行され、複数の信号処理機能ｇ１−ｇ４が実行されない例のためのタイミング図を含む。図３に示されるように、デジタルサンプルＸ［ｎ］が受信される場合に、制御モジュール１０８は、ＰＣ１２０を０にリセットする。ＰＣ１２０が０と等しい場合に、制御モジュール１０８は、ライン０を読み取って、それによって、処理制御レジスタ１２４をチェックし、信号処理機能ｆ１を実行するか否かを判断する。信号処理機能ｆ１に対するインジケータが、信号処理機能ｆ１が実行されるべきであることを示す場合に、制御モジュール１０８は、ＰＣ１２０が１である場合に、信号処理機能ｆ１の第１のラインを実行する。制御モジュール１０８は、ＰＣ１２０がインクリメントする度に、信号処理機能ｆ１をライン単位で実行し続ける。
【００４８】
処理制御レジスタ１２４をチェックし、信号処理機能ｇ１を実行するか否かを判断する命令は、ファームウェア１１２のラインＣ１に格納される。この例において、信号処理機能ｇ１は実行されないであろう。
【００４９】
信号処理機能が実行されないであろう場合に、制御モジュール１０８は、実行されるべき複数の信号処理機能のうちの次の１つを判断する。制御モジュール１０８は次に、ＰＣ１２０を、複数の信号処理機能のうちその１つに対するファームウェア１１２の第１のラインに設定する。
【００５０】
制御モジュール１０８は、処理制御レジスタ１２４をチェックする複数の命令を実行することにより、実行される複数の信号処理機能のうちの次の１つを判断し、関連付けられる信号処理機能を実行するかどうかを判断する。より具体的には、複数のラインＣ０、Ｃ１、Ｃ２、Ｃ３、Ｃ４、Ｃ５、Ｃ６、Ｃ７、及びＣ８に格納される複数の命令は、その順序で実行され、それぞれの信号処理機能が実行されるかどうかを判断する。例えば、（処理制御レジスタ１２４で示されるように）信号処理機能ｇ１が実行されないであろう場合でも、ラインＣ１は実行され、信号処理機能ｇ１に対するインジケータのために処理制御レジスタ１２４を参照する。図３の例において、サンプルｘ［ｎ］に対して、ラインＣ１の実行を介して信号処理機能ｇ１が実行されるか否かをチェックする段階（そしてｇ１が実行されないであろうと判断する段階）の後、制御モジュール１０８は次に、ラインＣ２を実行し、これは処理制御レジスタ１２４で信号処理機能ｆ１のインジケータを介して、信号処理機能ｆ１が実行されるか否かをチェックする。概説するならば、信号処理機能が実行されないであろう場合に、制御モジュール１０８は、ＰＣ１２０を、処理制御レジスタ１２４をチェックする命令が格納される複数のラインのうち次の１つにアップデートする。信号処理機能が実行されるであろう場合に、制御モジュール１０８は、ＰＣ１２０がインクリメントする度に、信号処理機能を実行する。
【００５１】
図３の例において、信号処理機能ｆ２は、実行されるべき複数の信号処理機能のうちの次の１つである。信号処理機能ｆ２は次に、ＰＣ１２０がインクリメントする度にライン単位で実行される。
【００５２】
信号処理機能ｇ２を実行するか否かのために処理制御レジスタ１２４をチェックする命令は、ファームウェア１１２のラインＣ３に格納される。この例において、信号処理機能ｇ２も実行されないであろう。制御モジュール１０８は、従って、ＰＣ１２０をラインＣ４にアップデートし、信号処理機能ｆ３が実行されるか否かをチェックする。この例において、信号処理機能ｆ３は実行されるであろう。従って、制御モジュール１０８は、ＰＣ１２０がインクリメントする度に、信号処理機能ｆ３をライン単位で実行する。
【００５３】
この処理は、ファームウェア１１２の終わりに達するまで継続し、このポイントで、制御モジュール１０８は、デジタル入力サンプルＸ［ｎ］に対して複数の信号処理機能のうち有効化されたものを実行し、複数の信号処理機能のうち無効化されたものをスキップし、対応する出力を生成し終えているであろう。ファームウェア１１２の実行は、次のデジタル入力サンプルＸ［ｎ＋１］が受信された場合に再び開始する。図４は、複数の信号処理機能ｆ１、ｇ１、及びｆ２が実行され、複数の信号処理機能ｇ２、ｆ３、ｇ３、ｆ４、及びｇ４が実行されないタイミング図を含む。
【００５４】
ＰＣ１２０がカウントしている間に、ＰＲＡＭ１１６全体が電源をオンにされる場合に、電力が、不必要に消費され得る。例えば、複数の信号処理機能の全てより少ない信号処理機能が実行されるときに、ＰＣ１２０が実行している間に、ＰＲＡＭ１１６全体が電源をオンにされる場合、不必要な電力消費は生じ得る。又、複数の信号処理機能のうちの１つのみが任意の所与の時間に実行されるので、ファームウェア１１２のライン単位の実行に起因して、使用されていないＰＲＡＭ１１６の複数の部分の電源をオンにするために、不必要な電力が消費され得る。
【００５５】
図５は、複数の信号処理機能ｆ１、ｇ１、及びｆ２が実行され、複数の信号処理機能ｇ２、ｆ３、ｇ３、ｆ４、及びｇ４が実行されない例に関するタイミング図を含む。時間ｔ１及び時間ｔ２の間、信号処理機能ｆ１に関連付けられるファームウェア１１２の一部のみが、使用されている。使用されていない、ＰＲＡＭ１１６の他の複数の部分が、時間ｔ１及び時間ｔ２の間、電源をオフにされる場合、電力消費が低減され得る。更に、実行される複数の信号処理機能の全ては、時間ｔ１及び時間ｔ３の間、実行される。電力消費は、次のデジタル入力サンプルが受信されるまでメモリの電源をオフにすることにより、低減され得る。
【００５６】
図６は、デジタル信号処理システムの別の機能ブロック図を含む。ＰＲＡＭ１１６は、複数のメモリブロック２０４、２０８、２１２、２１６、及び２２０等の、複数の別々に電源をオンにされたメモリブロックに分割される。複数のメモリブロックは、複数のメモリアイランドとも称され得る。５つのメモリブロックを含むＰＲＡＭ１１６の例が、提供され、説明される一方、ＰＲＡＭ１１６は、２又はそれよりも多いメモリブロックを含んでよい。複数のメモリブロック２０４、２０８、２１２、２１６、及び２２０は、同一の（ストレージ）サイズであり得、又は異なるサイズを有し得る。
【００５７】
複数の信号処理機能は、分類され得、複数の信号処理機能の１又は複数のカテゴリは、それぞれのメモリブロックに格納され得る。メモリブロックのサイズより大きい複数の信号処理機能は、２又はそれよりも多い異なるメモリブロックに格納され得る。１つのカテゴリは、常に実行されるべきである複数の必須信号処理機能を含む。複数の他の信号処理機能は、実行され得るか、又は実行され得ない複数の光学信号処理機能である。複数の光学信号処理機能は、共に分類され、１又は複数のメモリブロックに格納される。複数の光学信号処理機能は、実行される場合に、全ての他の信号処理機能及び１又は複数の他の光学信号処理機能と共に実行される、光学信号処理機能とは独立して実行され得る複数の光学信号処理機能を含む。
【００５８】
複数のスイッチングデバイス２２４、２２８、２３２、２３６、及び２４０は、それぞれ、複数のメモリブロック２０４、２０８、２１２、２１６、及び２２０の、電力供給への接続及び電力供給からの切断を制御する。このように、複数のメモリブロック２０４、２０８、２１２、２１６、及び２２０は、互いに複数のメモリブロック２０４、２０８、２１２、２１６、及び２２０のうちの１つとは独立して電源をオン又はオフされ得る。複数のスイッチングデバイス２２４、２２８、２３２、２３６、及び２４０は、ＰＲＡＭ１１６の外側にあるように示される一方、複数のスイッチングデバイス２２４、２２８、２３２、２３６、及び２４０は、ＰＲＡＭ１１６の内側で実装され得る。制御モジュール１０８は、複数のスイッチングデバイス２２４、２２８、２３２、２３６、及び２４０を制御し、それぞれ、複数のメモリブロック２０４、２０８、２１２、２１６、及び２２０の電力供給を制御する。
【００５９】
複数のメモリブロック２０４、２０８、２１２、２１６、及び２２０の各々は、保持性能を有する。従って、電源をオフにされた場合に、複数のメモリブロック２０４、２０８、２１２、２１６、及び２２０は、それらの内容を維持する。制御モジュール１０８は、メモリブロック内に格納されている信号処理機能が実行されている、又は実行する直前の期間である場合にのみ、複数のメモリブロック２０４、２０８、２１２、２１６、及び２２０の電源をオンにする。デフォルトにより、複数のメモリブロック２０４、２０８、２１２、２１６、及び２２０の全ては、電源をオフにされ得る。
【００６０】
上で提供された複数の信号処理機能、即ちｆ１、ｇ１、ｆ２、ｇ２、ｆ３、ｇ３、ｆ４、それからｇ４の、実行の例示的な順序に関して、以下説明する。ファームウェアは、複数のメモリブロック２０４、２０８、２１２、２１６、及び２２０が、以下の例示的な順序、メモリブロック２０４、メモリブロック２０８、メモリブロック２１２、メモリブロック２１６、それからメモリブロック２２０で、アドレッシングされるように格納される。
【００６１】
ファームウェア１１２の複数の異なる部分が、複数の格納されるメモリブロック２０４、２０８、２１２、２１６、及び２２０である。例えば、複数のファームウェア部分２４４、２４８、２５２、２５６及び２６０が、図６に示される。１又は複数の必須信号処理機能が、第１に、ラインゼロにおける開始等の、上で提供された例示的な順序でのメモリブロック２０４内にあるファームウェア１１２に格納される。図６の例において、複数の信号処理機能ｆ１及び信号処理機能ｇ１が、必須信号処理機能であり、メモリブロック２０４のファームウェア部分２４４に格納される。
【００６２】
信号処理機能ｆ２が、メモリブロック２０８のファームウェア部分２４８に格納される。複数の信号処理機能ｇ２、ｆ３、及びｇ３が、有効化される場合に、共に実行され、メモリブロック２１２のファームウェア部分２５２に格納される、光学信号処理機能である。複数の信号処理機能ｆ４及びｇ４が、有効化される場合に、独立して実行され得、それぞれ、メモリブロック２１６及び２２０のファームウェア部分２５６及び２６０に格納される、光学信号処理機能である。
【００６３】
制御モジュール１０８は、デジタル入力サンプルが受信される場合に、ラインゼロに対応する信号処理機能が格納されるメモリブロックの電源をオンにする。図６の例において、制御モジュール１０８は、デジタル入力サンプルが受信される場合に、複数の必須信号処理機能ｆ１及び必須信号処理機能ｇ１が格納される、メモリブロック２０４の電源をオンにする。制御モジュール１０８は次に、上述されたように、ＰＣ１２０がインクリメントする度に、ライン単位で必須信号処理機能ｆ１及び必須信号処理機能ｇ１を含むファームウェア部分２４４を実行する。
【００６４】
複数のファームウェア部分の各々は、処理制御レジスタ１２４をチェックし、実行される複数の信号処理機能のうちの次の１つを判断する命令を含む。これらの命令／コマンドは、複数のファームウェア部分のそれぞれ最後のラインにある。例えば、これらの命令／コマンドは、図６において、それぞれ複数のメモリブロック２０４、２０８、２１２、２１６、及び２２０の、複数のセクション２６４、２６８、２７２、２７６及び２８０により示される。
【００６５】
複数のセクションの各々は又、その後の複数のメモリブロックの中に格納されるファームウェアが実行され得る前に、それらのメモリブロックが電源をオンにされるのに必須である複数の期間の複数のインジケータを含む。例えば、セクション２６４は、それぞれ、複数のファームウェア部分２４８、２５２、２５６及び２６０が実行され得る前に、複数のメモリブロック２０８、２１２、２１６、及び２２０が電源をオンにされるのに必須である複数の期間の複数のインジケータを含む。セクション２６８は、それぞれ、複数のファームウェア部分２５２、２５６及び２６０が実行され得る前に、複数のメモリブロック２１２、２１６、及び２２０が電源をオンにされるのに必須である複数の期間の複数のインジケータを含む。複数のセクションは、例えば、それぞれの期間に対応する多数のバッファ・サイクル・ファームウェアラインを含む。
【００６６】
メモリブロックが、その内容が実行され得る前に、電源をオンにされるための期間は、そのメモリブロックのウェイクアップ期間と称され得る。複数のメモリブロックのウェイクアップ期間は、同一であり得、又は異なり得る。ウェイクアップ期間は、例えば、複数の異なるサイズのメモリブロックが使用される場合に、異なり得る。
【００６７】
制御モジュール１０８は、ＰＣ１２０を、実行されるべき複数の信号処理機能のうち次の１つの第１のラインに設定し、信号処理機能が格納される複数のメモリブロック２０８、２１２、２１６、及び２２０のうちの１つの電源をオンにし、ＰＣ１２０を、そのメモリブロックのウェイクアップ期間のための値に維持する。ＰＣ１２０を維持する段階は、ＰＣ１２０の値を保持する段階と、ＰＣ１２０がインクリメントするのを停止する段階とを意味し得る。制御モジュール１０８は、メモリブロックに関連付けられるスイッチングデバイスを閉じることによりそのメモリブロックの電源をオンにする。制御モジュール１０８は、次のメモリブロックのウェイクアップ期間が経過した後に、前もって電源をオンにされたメモリブロックの電源をオフにする。
【００６８】
図７は、図６の例で上述されたように、８つの信号処理機能ｆ１−ｆ４及びｇ１−ｇ４を含むファームウェアのための例示的なデータ構造の図示を含む。上述されたように、処理制御レジスタ１２４をチェックし、複数の信号処理機能が実行されるべきかどうかを判断する複数のコマンドが、それぞれのファームウェア部分の終わりに含まれる。
【００６９】
図８は、複数の信号処理機能ｆ１、ｇ１、及びｆ２が実行され、複数の信号処理機能ｇ２、ｆ３、ｇ３、ｆ４、及びｇ４が実行されない例示的な場合のための、図６の複数の例の動作を示すタイミング図を含む。図８は又、複数のファームウェア部分の各々のユーザビリティ／電源の状態を示す。例えば、図８のＦＷ１電源は、メモリブロック２０４が、少なくともそのウェイクアップ期間の間、ファームウェア部分２４４が実行され得る（ＯＮ）、又は実行され得ない（ＯＦＦ）ように、電源をオンにされたかどうかを示す。図８のＦＷ２電源は、メモリブロック２０８が、少なくともそのウェイクアップ期間の間、ファームウェア部分２４８が実行され得る（ＯＮ）、又は実行され得ない（ＯＦＦ）ように、電源をオンにされたかどうかを示す、等である。
【００７０】
デジタル入力サンプルｘ［ｎ］が、時間ｔ１に受信され、制御モジュール１０８は、ＰＣ１２０をゼロにリセットする。メモリブロック２０４は、複数の必須信号処理機能ｆ１及び必須信号処理機能ｇ１を含み、これらはこの例において実行されるであろう。故に、図８においてＦＷ１電源がＯＮであると示されるように、メモリブロック２０４が、時間ｔ１に電源をオンにされる。全ての他のメモリブロックは、電力消費を最小化するべく電源をオフにされる。
【００７１】
信号処理機能ｆ１は、複数のファームウェアライン０からＣ１までを占有し、信号処理機能ｇ１は、複数のファームウェアラインＣ１＋１からＣ２−１までを占有する。処理制御レジスタ１２４をチェックし、実行されるべき次の信号処理機能を判断するメモリブロック２０４のコマンドは、ファームウェアラインＣ２を占有する。複数の信号処理機能ｆ１及び信号処理機能ｇ１は、この例において実行されるべきであるので、制御モジュール１０８は、ＰＣ１２０がインクリメントする度に、ライン０からＣ２までをライン単位で実行する。
【００７２】
ラインＣ２で、制御モジュール１０８は、処理制御レジスタ１２４をチェックし、実行されるべき次の信号処理機能を判断する。この例において、信号処理機能ｆ２が次に、実行される。信号処理機能ｆ２はメモリブロック２０８に格納されるので、制御モジュール１０８は、時間ｔ２にスイッチングデバイス２２８を閉じることにより、メモリブロック２０８の電源をオンにする。メモリブロック２０８のためのウェイクアップ期間は、時間ｔ２及び時間ｔ３の間の期間に対応する。制御モジュール１０８は、メモリブロック２０８内のファームウェアが実行され得る、時間ｔ３までＰＣ１２０をＣ２に維持する。
【００７３】
時間ｔ３で、メモリブロック２０８は、（図８で示されるようにＦＷ２電源が時間ｔ３でＯＦＦからＯＮに移行することにより）そのウェイクアップ期間に電源をオンにされており、これにより、そのファームウェア部分２４８は、実行され得る。制御モジュール１０８は、時間ｔ３でメモリブロック２０４の電源をオフにし、全ての他のメモリブロックは、電源をオフにされた状態のままである。
【００７４】
信号処理機能ｆ２は、複数のファームウェアラインＣ２＋１からＣ３−１までを占有する。処理制御レジスタ１２４をチェックし、実行されるべき次の信号処理機能を判断するメモリブロック２０８のコマンドは、ファームウェアラインＣ３を占有する。制御モジュール１０８は、ＰＣ１２０がインクリメントする度に、複数のラインＣ２＋１からＣ３までをライン単位で実行する。
【００７５】
ラインＣ３で、制御モジュール１０８は再び、処理制御レジスタ１２４をチェックし、実行されるべき次の信号処理機能を判断する。この例において、デジタル入力サンプルｘ［ｎ］に対して他の信号処理機能は実行されないであろう。従って、制御モジュール１０８は、実行されるべき次の信号処理機能は信号処理機能ｆ１であり、これはメモリブロック２０４に格納されると判断する。従って、制御モジュール１０８は、時間ｔ４で、メモリブロック２０８の電源をオフにする。制御モジュール１０８は、スイッチングデバイス２２８を開けることにより、メモリブロック２０８の電源をオフにする。
【００７６】
制御モジュール１０８は、時間ｔ５まで、複数のメモリブロック２０４、２０８、２１２、２１６、及び２２０の全てを、電源をオフにされた状態で維持する。次のデジタル入力サンプルＸ［ｎ＋１］が、時間ｔ６で受信される。時間ｔ５及び時間ｔ６の間の期間は、実行される次の信号処理機能（ｆ１）が格納される、メモリブロック２０４に対するウェイクアップ期間に対応する。実行される次の信号処理機能がメモリブロック２０４に格納されるので、制御モジュール１０８は、時間ｔ５で、スイッチングデバイス２２４を閉じることによりメモリブロック２０４の電源をオンにする。故に、メモリブロック２０４は、時間ｔ６で、そのウェイクアップ期間の間電源をオンにされており、実行されるべき次の信号処理機能、即ち、この場合次のデジタル入力サンプルＸ［ｎ＋１］に対する信号処理機能ｆ１は、時間ｔ６で開始して実行され得る。この処理は、処理制御レジスタ１２４が、ユーザ等により調節されない限り、それぞれのデジタル入力サンプルに対して継続する。
【００７７】
図９は、複数の信号処理機能ｆ１、ｇ１、ｆ２、及びｆ４が実行され、複数の信号処理機能ｇ２、ｆ３、ｇ３、及びｇ４が実行されない例示的な場合のためのタイミング図を含む。デジタル入力サンプルｘ［ｎ］が、時間ｔ１に受信され、制御モジュール１０８は、ＰＣ１２０を０にリセットする。図８の例と共に上述されたように、複数のライン０からＣ３までが、実行される。
【００７８】
ラインＣ３で、制御モジュール１０８は、処理制御レジスタ１２４をチェックし、実行されるべき次の信号処理機能を判断する。この例において、信号処理機能ｆ４が、デジタル入力サンプルｘ［ｎ］に対して次に実行される。信号処理機能ｆ４はメモリブロック２１６に格納されるので、制御モジュール１０８は、時間ｔ４でスイッチングデバイス２３６を閉じることにより、メモリブロック２１６の電源をオンにする。メモリブロック２１６のためのウェイクアップ期間は、時間ｔ４及び時間ｔ５の間の期間に対応する。制御モジュール１０８は、メモリブロック２１６内のファームウェアが実行され得る、時間ｔ５までＰＣ１２０をＣ３に維持する。
【００７９】
時間ｔ５で、メモリブロック２１６は、（図９で示されるようにＦＷ４電源が時間ｔ５でＯＦＦからＯＮに移行することにより）そのウェイクアップ期間の間電源をオンにされており、そのファームウェア部分２５６は、実行され得る。制御モジュール１０８は、時間ｔ５でメモリブロック２０４の電源をオフにし、全ての他のメモリブロックは電源をオフにされた状態のままである。
【００８０】
信号処理機能ｆ４は、複数のファームウェアラインＣ６＋１からＣ７−１までを占有する。処理制御レジスタ１２４をチェックし、実行されるべき次の信号処理機能を判断するメモリブロック２１６のコマンドは、ファームウェアラインＣ７を占有する。制御モジュール１０８は、ＰＣ１２０がインクリメントする度に、複数のラインＣ６＋１からＣ７までをライン単位で実行する。
【００８１】
ラインＣ７で、制御モジュール１０８は再び、処理制御レジスタ１２４をチェックし、実行されるべき次の信号処理機能を判断する。この例において、デジタル入力サンプルｘ［ｎ］に対して他の信号処理機能は実行されないであろう。従って、制御モジュール１０８は、実行されるべき次の信号処理機能が、次のデジタル入力サンプルＸ［ｎ＋１］に対する信号処理機能ｆ１であると判断し、信号処理機能ｆ１は、メモリブロック２０４に格納される。従って、制御モジュール１０８は、ラインＣ７で、メモリブロック２１６の電源をオフにする。制御モジュール１０８は、スイッチングデバイス２３６を開けることによりメモリブロック２１６の電源をオフにする。
【００８２】
制御モジュール１０８は、時間ｔ６まで、複数のメモリブロック２０４、２０８、２１２、２１６、及び２２０の全てを電源をオフにされた状態で維持する。次のデジタル入力サンプルＸ［ｎ＋１］が、時間ｔ７で、受信される。時間ｔ６及び時間ｔ７の間の期間は、実行される次の信号処理機能が格納される、メモリブロック２０４に対するウェイクアップ期間に対応する。実行される次の信号処理機能がメモリブロック２０４に格納されるので、制御モジュール１０８は、時間ｔ６で、スイッチングデバイス２２４を閉じることによりメモリブロック２０４の電源をオンにする。故に、メモリブロック２０４は、時間ｔ７で、そのウェイクアップ期間の間に電源をオンにされており、実行されるべき次の信号処理機能、即ち、この例における信号処理機能ｆ１は、時間ｔ７で開始して実行され得る。この処理は、処理制御レジスタ１２４が、ユーザ等により調節されない限り、それぞれのデジタル入力サンプルのために継続する。
【００８３】
図１０は、複数のメモリブロックの電源をオン及びオフにする例示的な方法を含むフローチャートである。制御は３０４から開始し、ここで制御モジュール１０８は、それぞれの受信されたデジタルサンプルに対して実行されるべき第１の信号処理機能が格納される第１のメモリブロックの電源をオンにする。例えば、図６の例において、制御モジュール１０８は、メモリブロック２０４の電源をオンにする。３０４で、全ての他のメモリブロックは電源をオフにされた状態のままである。制御モジュール１０８は、例えば、ＰＣ１２０が、予め定められた値に達する場合に、第１のメモリブロックの電源をオンにし得る。ＰＣ１２０が予め定められた値と等しい場合の時間と、次のデジタル入力サンプルが受信される場合の時間との間の期間は、第１のメモリブロックのウェイクアップ期間より大きく、又はそれと等しくなり得る。
【００８４】
３１２で、デジタル入力サンプルが受信される場合に、制御モジュール１０８は、ＰＣ１２０をゼロと等しく設定し、ＰＣ１２０がインクリメントすることを可能にする。ＰＣ１２０は、クロック信号に基づきインクリメントする。３１６で、制御モジュール１０８は、ＰＣ１２０がインクリメントする度に、第１のメモリブロックに格納される１又は複数の信号処理機能をライン単位で実行する。３２０で、制御モジュール１０８は、１又は複数の信号処理機能が、（３０８で受信された）デジタル入力サンプルに対してまだ実行されるべきか否かを判断する。制御モジュール１０８は、処理制御レジスタ１２４を使用して、１又は複数の信号処理機能が、まだ実行されるべきか否かを判断する。３２０が真の場合、制御は、３２４へと続く。３２０が偽の場合、制御は終わり得る。図１０は、終わりであるように示される一方、制御は、次のデジタル入力サンプルのために３０４に戻り得る。
【００８５】
制御モジュール１０８は、３２４で、処理制御レジスタ１２４を使用して、実行されるべき次の信号処理機能を判断する。３２８で、制御モジュール１０８は、信号処理機能が格納されるメモリブロックの電源をオンにする。しかしながら、そのメモリブロックは前もって電源をオフにされたので、メモリブロックは、次の信号処理機能が実行される前に、そのウェイクアップ期間の間、電源をオンにされる。制御モジュール１０８は、３２８で、ＰＣ１２０を維持する。
【００８６】
３３２で、ウェイクアップ期間が経過した場合に、制御モジュール１０８は、ＰＣ１２０を、実行されるべき次の信号処理機能の第１のラインに対応する値に設定する。制御モジュール１０８は又、３３２でＰＣ１２０がインクリメントすることを可能にし、電源をオンにされた最後のメモリブロックの電源をオフにする。例えば、３３２が最初に起こるとき、制御モジュール１０８は、第１のメモリブロックの電源をオフにする。３３６で、制御モジュール１０８は、ＰＣ１２０に従って、次の信号処理機能をライン単位で実行する。制御は次に、３２０に戻り得る。複数のメモリブロックの中に格納される信号処理機能を実行するために必要とされる、メモリブロックのみの電源をオンにすることは、電力消費を低減させる。
【００８７】
前述の説明は、本質的に専ら例示的なものであり、本開示、その用途、又は使用を限定することは全く意図しない。本開示の広範な教示が、様々な形態で実装され得る。従って、複数の図面、明細書、及び以下の特許請求の範囲を検討すれば、他の複数の変形が明らかになるので、本開示は複数の具体例を含むが、本開示の真の範囲はそのように限定されるべきではない。本明細書において使用されるとき、Ａ、Ｂ、及びＣのうち少なくとも１つ、という表現は、非排他的論理ＯＲを使用して、論理（Ａ又はＢ又はＣ）を意味するものと解釈されるべきであり、「Ａのうち少なくとも１つ、Ｂのうち少なくとも１つ、及び、Ｃのうち少なくとも１つ」を意味するものと解釈されるべきではない。方法内の１又は複数の段階は、本開示の複数の原理を変更することなく異なる順序で（又は同時に）実行され得ることが理解されるべきである。
【００８８】
本出願において、以下の複数の定義を含み、「モジュール」という用語又は「コントローラ」という用語は、「回路」という用語で置き換えられ得る。モジュール」という用語は、特定用途向け集積回路（ＡＳＩＣ）、デジタル、アナログ、若しくは混合アナログ／デジタルディスクリート回路、デジタル、アナログ、若しくは混合アナログ／デジタル集積回路、組み合わせ論理回路、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、コードを実行する（共有、専用、又はグループの）プロセッサ回路、プロセッサ回路によって実行されるコードを格納する（共有、専用、又はグループの）メモリ回路、説明された機能を提供する複数の他の適したハードウェアコンポーネント、又は、システムオンチップ等における、上記のうちのいくつか又は全てのものの組み合わせを指すか、これらの一部であるか、又はこれらを含んでよい。
【００８９】
モジュールは、１又は複数のインタフェース回路を含んでよい。いくつかの例において、複数のインタフェース回路は、ローカルエリアネットワーク（ＬＡＮ）、インターネット、ワイドエリアネットワーク（ＷＡＮ），又はそれらの組み合わせに接続される、有線若しくは無線のインタフェースを含んでよい。本開示の任意の所与のモジュールの機能は、複数のインタフェース回路を介して接続される複数のモジュールにわたり分散されてよい。例えば、複数のモジュールは負荷バランスを許容してよい。更なる例において、サーバ（又リモート又はクラウドとして知られる）モジュールは、クライアントモジュールに代わって何らかの機能を実現してよい。
【００９０】
コードという用語は、上記において使用されるように、ソフトウェア、ファームウェア、及び／又はマイクロコードを含んでよく、複数のプログラム、複数のルーチン、複数の機能、複数のクラス、複数のデータ構造、及び／又は複数のオブジェクトを指してよい。共有プロセッサ回路という用語は、複数のモジュールの一部又は全てのコードを実行する単一のプロセッサ回路を包含する。グループプロセッサ回路という用語は、追加のプロセッサ回路との組み合わせにおいて、１又は複数のモジュールに属する一部又は全てのコードを実行するプロセッサ回路を包含する。複数のプロセッサ回路への言及は、複数の別個のダイ上の複数のプロセッサ回路、単一のダイ上の複数のプロセッサ回路、単一のプロセッサ回路の複数のコア、単一のプロセッサ回路の複数のスレッド、又は上記のものの組み合わせを包含する。共有メモリ回路という用語は、複数のモジュールに属する一部又は全てのコードを格納する単一のメモリ回路を包含する。グループメモリ回路という用語は、追加のメモリとの組み合わせにおいて、１又は複数のモジュールに属する一部又は全てのコードを格納するメモリ回路を包含する。
【００９１】
メモリ回路という用語は、コンピュータ可読媒体という用語のサブセットである。コンピュータ可読媒体という用語は、本明細書において使用されるとき、（搬送波上等の）媒体を介して伝播する一時的な電気信号又は電磁信号は包含しない。コンピュータ可読媒体という用語は、従って、有形且つ非一時的であるとみなされ得る。非一時的な有形のコンピュータ可読媒体の複数の非限定的な例は、（フラッシュメモリ回路、消去可能プログラマブルリードオンリメモリ回路、又はマスクリードオンリメモリ回路等の）不揮発性メモリ回路、（スタティックランダムアクセスメモリ回路又はダイナミックランダムアクセスメモリ回路等の）揮発性メモリ回路、（アナログ若しくはデジタル磁気テープ又はハードディスクドライブ等の）磁気記憶媒体、及び、（ＣＤ、ＤＶＤ、又はブルーレイディスク等の）光記憶媒体である。
【００９２】
本出願において説明される複数の装置及び方法は、複数のコンピュータプログラム中に具現化される１又は複数の特定の機能を実行するよう汎用コンピュータを構成することによって作成される専用コンピュータによって部分的又は完全に実装され得る。上記の機能ブロック、フローチャートコンポーネント、及び他の要素は、当業者又はプログラマの日常業務によってコンピュータプログラムに変換可能なソフトウェア仕様として機能する。
【００９３】
複数のコンピュータプログラムは、少なくとも１つの非一時的な有形のコンピュータ可読媒体上に格納される複数のプロセッサ実行可能命令を含む。複数のコンピュータプログラムは又、格納されるデータを含む、又は格納されるデータに依存し得る。複数のコンピュータプログラムは、専用コンピュータのハードウェアと対話する基本入力／出力システム（ＢＩＯＳ）、専用コンピュータの複数の特定のデバイスと対話する複数のデバイスドライバ、１又は複数のオペレーティングシステム、複数のユーザアプリケーション、複数のバックグラウンドサービス、複数のバックグラウンドアプリケーション等を包含し得る。
【００９４】
複数のコンピュータプログラムは、（ｉ）ＨＴＭＬ（ハイパーテキストマークアップ言語）若しくはＸＭＬ（拡張マークアップ言語）等の解析されるべき記述テキスト、（ｉｉ）アセンブリコード、（ｉｉｉ）コンパイラによってソースコードから生成されるオブジェクトコード、（ｉｖ）インタプリタによる実行のためのソースコード、（ｖ）ジャストインタイムコンパイラによるコンパイル及び実行のためのソースコード等を含んでよい。単なる複数の例として、ソースコードは、Ｃ、Ｃ＋＋、Ｃ＃、Ｏｂｊｅｃｔｉｖｅ  Ｃ、Ｈａｓｋｅｌｌ、Ｇｏ、ＳＱＬ、Ｒ、Ｌｉｓｐ、Ｊａｖａ（登録商標）、Ｆｏｒｔｒａｎ、Ｐｅｒｌ、Ｐａｓｃａｌ、Ｃｕｒｌ、ＯＣａｍｌ、Ｊａｖａｓｃｒｉｐｔ（登録商標）、ＨＴＭＬ５、Ａｄａ、ＡＳＰ（ａｃｔｉｖｅ  ｓｅｒｖｅｒ  ｐａｇｅｓ）、ＰＨＰ、Ｓｃａｌａ、Ｅｉｆｆｅｌ、Ｓｍａｌｌｔａｌｋ、Ｅｒｌａｎｇ、Ｒｕｂｙ、Ｆｌａｓｈ（登録商標）、Ｖｉｓｕａｌ  Ｂａｓｉｃ（登録商標）、Ｌｕａ、及びＰｙｔｈｏｎ（登録商標）を含む複数の言語からのシンタックスを使用して書かれ得る。
【００９５】
要素が、「のための手段」という表現を使用して明示的に記載される場合、又は、「のための動作」若しくは「のための段階」という表現を使用する方法クレームの場合を除いては、本特許請求の範囲において記載される複数の要素の何れも、米国特許法１１２条（ｆ）の意味におけるミーンズ・プラス・ファンクション要素であることは意図されていない。
［項目１］
アナログ信号の複数のサンプルを複数のデジタルサンプルに変換するアナログ‐デジタル変換器と、
プログラムランダムアクセスメモリ（ＰＲＡＭ）であって、
Ｎ個のＰＲＡＭブロックであって、Ｎは１より大きな整数である、Ｎ個のＰＲＡＭブロックと、
Ｍ個のデジタル信号処理機能のためのコードであって、Ｍは１より大きな整数であり、Ｎ個のＰＲＡＭブロックに格納される、Ｍ個のデジタル信号処理機能のためのコードと
を含む、プログラムランダムアクセスメモリ（ＰＲＡＭ）と、
上記Ｎ個のＰＲＡＭブロックを、それぞれ、電源に接続し、電源から切断するＮ個のスイッチングデバイスと、
上記Ｎ個のスイッチングデバイスを制御し、上記複数のデジタルサンプルに対して上記Ｍ個のデジタル信号処理機能のうち選択された複数のものを実行し、出力を生成する制御モジュールとを備える
デジタル信号処理システム（ＤＳＰシステム）。
［項目２］
それぞれ、上記Ｍ個のデジタル信号処理機能を実行するか否かのＭ個のインジケータを格納するレジスタを更に備え、
上記制御モジュールは、上記レジスタに格納される上記Ｍ個のインジケータに基づき、上記Ｍ個のデジタル信号処理機能のうち上記選択された複数のものを選択し、実行する項目１に記載のＤＳＰシステム。
［項目３］
上記制御モジュールは、上記レジスタにおける上記Ｍ個のインジケータのうちの１つが、上記Ｍ個のデジタル信号処理機能のうちの上記１つの実行が無効化されていることを示す場合に、デジタルサンプルの初めと、上記デジタルサンプルの終わりとの間の期間中に、上記Ｍ個のデジタル信号処理機能のうちの上記１つを格納する上記Ｎ個のＰＲＡＭブロックのうちの１つを、上記電源から切断する項目２に記載のＤＳＰシステム。
［項目４］
上記制御モジュールは、
上記Ｎ個のスイッチングデバイスのうちの１つを選択的に作動し、上記Ｎ個のＰＲＡＭブロックのうちの１つを上記電源に接続し、
上記Ｎ個のＰＲＡＭブロックのうちの上記１つに格納される、上記Ｍ個のデジタル信号処理機能のうちの１つのための上記コードの一部を実行し、
上記Ｍ個のデジタル信号処理機能のうちの上記１つのための上記コードの上記一部の上記実行の後に、上記Ｎ個のスイッチングデバイスのうちの上記１つを作動し、上記Ｎ個のＰＲＡＭブロックのうちの上記１つを上記電源から切断する項目１から３の何れか一項に記載のＤＳＰシステム。
［項目５］
上記制御モジュールは、上記Ｎ個のスイッチングデバイスのうちの上記１つを作動し、上記Ｍ個の信号処理機能のうちの上記１つが実行されるという判断に応答して、上記Ｎ個のＰＲＡＭブロックのうちの上記１つを上記電源に接続する項目４に記載のＤＳＰシステム。
［項目６］
上記制御モジュールは、上記Ｎ個のスイッチングデバイスのうちの上記１つの上記作動の後の予め定められた期間に、上記Ｎ個のＰＲＡＭブロックのうちの上記１つに格納される上記Ｍ個のデジタル信号処理機能のうちの上記１つのための上記コードの上記一部の実行を開始し、上記Ｎ個のＰＲＡＭブロックのうちの上記１つを上記電源に接続する、項目４又は５に記載のＤＳＰシステム。
［項目７］
クロック信号に基づきカウンタ値をインクリメントするカウンタを更に備え、上記制御モジュールは、上記カウンタ値に基づき上記コードの複数のラインを実行する項目４から６の何れか一項に記載のＤＳＰシステム。
［項目８］
上記制御モジュールは、上記Ｎ個のスイッチングデバイスのうちの上記１つの上記作動の後の予め定められた期間に、上記カウンタ値を、上記Ｍ個のデジタル信号処理機能のうちの上記１つの第１のラインに対応する上記コードのライン数に、選択的に設定し、上記Ｎ個のＰＲＡＭブロックのうちの上記１つを上記電源に接続する項目７に記載のＤＳＰシステム。
［項目９］
上記制御モジュールは、上記Ｎ個のスイッチングデバイスのうちの上記１つの上記作動の後の上記予め定められた期間のための上記カウンタ値を維持し、上記Ｎ個のＰＲＡＭブロックのうちの上記１つを上記電源に接続する項目８に記載のＤＳＰシステム。
［項目１０］
上記制御モジュールは、デジタルサンプルが受信される度に、上記カウンタ値をリセットする項目７から９の何れか一項に記載のＤＳＰシステム。
［項目１１］
デジタル信号処理システム（ＤＳＰシステム）の電力消費を低減するための方法であって、
アナログ信号の複数のサンプルを複数のデジタルサンプルに変換する段階と、
Ｎ個のスイッチングデバイスを使用して、複数のＮプログラムランダムアクセスメモリ（ＰＲＡＭ）ブロックを、選択的に、それぞれ、電源に接続し、電源から切断する段階であって、
Ｎは１より大きな整数であり、Ｍ個のデジタル信号処理機能のためのコードが、上記Ｎ個のＰＲＡＭブロックに格納され、Ｍは１より大きな整数である、段階と、
上記Ｎ個のスイッチングデバイスを制御し、上記複数のデジタルサンプルに対して、上記Ｍ個のデジタル信号処理機能のうち複数の選択された複数のものを実行し、出力を生成する段階とを備える
方法。
［項目１２］
それぞれ、上記Ｍ個のデジタル信号処理機能を実行するか否かのＭ個のインジケータをレジスタに格納する段階と、
上記レジスタに格納される上記Ｍ個のインジケータに基づき、上記Ｍ個のデジタル信号処理機能のうち上記選択された複数のものを選択し、実行する段階とを更に備える項目１１に記載の方法。
［項目１３］
上記レジスタにおける上記Ｍ個のインジケータのうちの１つが、上記Ｍ個のデジタル信号処理機能のうちの上記１つの実行が無効化されていることを示す場合に、デジタルサンプルの初めと、上記デジタルサンプルの終わりとの間の期間中に、上記Ｍ個のデジタル信号処理機能のうちの上記１つを格納する上記Ｎ個のＰＲＡＭブロックのうちの１つを、上記電源から切断する段階を更に備える
項目１２に記載の方法。
［項目１４］
上記Ｎ個のスイッチングデバイスのうちの１つを選択的に作動し、上記Ｎ個のＰＲＡＭブロックのうちの１つを上記電源に接続する段階と、
上記Ｎ個のＰＲＡＭブロックのうちの上記１つに格納される、上記Ｍ個のデジタル信号処理機能のうちの１つのための上記コードの一部を実行する段階と、
上記Ｍ個のデジタル信号処理機能のうちの上記１つのためのコードの上記一部の上記実行の後に、上記Ｎ個のスイッチングデバイスのうちの上記１つを作動し、上記Ｎ個のＰＲＡＭブロックのうちの上記１つを上記電源から切断する段階とを更に備える
項目１１から１３の何れか一項に記載の方法。
［項目１５］
上記Ｎ個のスイッチングデバイスのうちの上記１つを作動し、上記Ｍ個の信号処理機能のうちの上記１つが実行されるという判断に応答して、上記Ｎ個のＰＲＡＭブロックのうちの上記１つを上記電源に接続する段階を更に備える項目１４に記載の方法。
［項目１６］
上記Ｎ個のスイッチングデバイスのうちの上記１つの上記作動の後の予め定められた期間に、上記Ｎ個のＰＲＡＭブロックのうちの上記１つに格納される上記Ｍ個のデジタル信号処理機能のうちの上記１つのための上記コードの上記一部の実行を開始し、上記Ｎ個のＰＲＡＭブロックのうちの上記１つを上記電源に接続する段階を更に備える項目１４又は１５に記載の方法。
［項目１７］
クロック信号に基づきカウンタ値をインクリメントする段階と、
上記カウンタ値に基づき上記コードの複数のラインを実行する段階とを更に備える項目１４から１６の何れか一項に記載の方法。
［項目１８］
上記Ｎ個のスイッチングデバイスのうちの上記１つの上記作動の後の予め定められた期間に、上記カウンタ値を、上記Ｍ個のデジタル信号処理機能のうちの上記１つの第１のラインに対応する上記コードのライン数に、選択的に設定し、上記Ｎ個のＰＲＡＭブロックのうちの上記１つを上記電源に接続する段階を更に備える項目１７に記載の方法。
［項目１９］
上記Ｎ個のスイッチングデバイスのうちの上記１つの上記作動の後の上記予め定められた期間に、上記カウンタ値を維持し、上記Ｎ個のＰＲＡＭブロックのうちの上記１つを上記電源に接続する段階を更に備える項目１８に記載の方法。
［項目２０］
デジタルサンプルが受信される度に、上記カウンタ値をリセットする段階を更に備える項目１７から１９の何れか一項に記載の方法。
【図１】
0006519089.tif 000003
【図２】
0006519089.tif 000004
【図３】
0006519089.tif 000005
【図４】
0006519089.tif 000006
【図５】
0006519089.tif 000007
【図６】
0006519089.tif 000008
【図７】
0006519089.tif 000009
【図８】
0006519089.tif 000010
【図９】
0006519089.tif 000011
【図１０】
0006519089.tif 000012