(57)【特許請求の範囲】
【請求項１】
アクセラレーテッド処理デバイス（ＡＰＤ）内でネットワークメッセージを処理する方法であって、
信号を受信することと、
受信した前記信号を処理するために前記信号を前記ＡＰＤ内の１つ以上の単一命令複数データ（ＳＩＭＤ）モジュールに割り当てることであって、前記ＡＰＤは複数のＳＩＭＤモジュールを含む、ことと、
割り当てられたＳＩＭＤモジュールにおいて、少なくとも１つの物理層メッセージを前記信号から抽出することであって、各ＳＩＭＤモジュールは、異なる種類の物理層メッセージを処理するために割り当てられており、前記異なる種類の物理層メッセージを処理するために割り当てられたＳＩＭＤモジュールの数は、前記ＡＰＤによって動的に決められる、ことと、
前記割り当てられたＳＩＭＤモジュールにおいて、抽出された少なくとも１つの物理層メッセージを処理して、前記信号を介して送信されたデータを取得することであって、遅延した物理層メッセージは、信号の質を改善するために処理前に組み合わされ、前記ＳＩＭＤモジュールの各々は、前記抽出された少なくとも１つの物理層メッセージの並列処理を実行する、ことと、を含む、方法。
【請求項２】
複数の信号は、少なくとも１つの信号がマルチパス伝搬により遅延することによって、同時に受信される、請求項１に記載の方法。
【請求項３】
送信側と受信側との間の信号を、前記送信側と前記受信側との間で一致させたコードを用いて追跡すること、をさらに含む、請求項１に記載の方法。
【請求項４】
前記ＡＰＤ内の前記ＳＩＭＤモジュールとＣＰＵとの間の通信は、オンチップ配線を経由し、
前記ＡＰＤの前記ＳＩＭＤのリソースは、前記信号とグラフィックス処理との間で配分される、請求項１に記載の方法。
【請求項５】
ネットワークメッセージを処理するコンピューティングシステムであって、
メモリ管理ユニットを含むＣＰＵであって、共通の基盤バスを介して、ソフトウェアアプリケーションモジュールと、オペレーティングシステムモジュールと、入出力メモリ管理ユニット（ＩＯＭＭＵ）モジュールに接続されたＣＰＵと、
信号を受信するためにそれぞれ前記ＩＯＭＭＵモジュールに接続された複数の入出力デバイスと、
複数の単一命令複数データ（ＳＩＭＤ）モジュールを有する少なくとも１つのアクセラレーテッド処理デバイス（ＡＰＤ）であって、受信した信号を、処理するために１つ以上のＳＩＭＤモジュールに割り当てるように構成されたＡＰＤと、
前記ソフトウェアアプリケーションモジュールにアクセスするために前記基盤バスに接続されたソフトウェアスケジューラ回路（ＳＷＳ）と、
前記基盤バスに接続された割り込みコントローラ回路と、
それぞれ前記基盤バスに接続されたメモリコントローラ回路およびオペレーティングシステム回路と、を備え、
前記ＡＰＤは、前記基盤バスと、カーネルモードドライバ（ＫＭＤ）回路とに接続されており、前記ＫＭＤ回路は、前記基盤バスに接続されており、
前記メモリコントローラ回路は、前記ＩＯＭＭＵモジュールと、別のシステムメモリモジュールとに接続されており、
割り当てられたＳＩＭＤモジュールは、少なくとも１つの物理層メッセージを前記信号から抽出するように構成されており、
各ＳＩＭＤモジュールは、異なる種類の物理層メッセージを処理するために割り当てられており、
前記異なる種類の物理層メッセージを処理するために割り当てられたＳＩＭＤモジュールの数は、前記ＡＰＤによって動的に決められており、
前記割り当てられたＳＩＭＤモジュールは、前記割り当てられたＳＩＭＤモジュールにおいて前記抽出された少なくとも１つの物理層メッセージを処理して、前記信号を介して送信されたデータを取得するように構成されており、
遅延した物理層メッセージは、信号の質を改善するために処理前に組み合わされ、
前記ＳＩＭＤモジュールの各々は、前記抽出された少なくとも１つの物理層メッセージの並列処理を実行する、
コンピューティングシステム。
【請求項６】
前記ＡＰＤ内の前記ＳＩＭＤモジュールは、オンチップ配線を経由して前記ＣＰＵと通信する、請求項５に記載のコンピューティングシステム。
【請求項７】
受信した前記信号は、セルラ信号、ＷｉＦｉ（登録商標）信号および全地球測位（ＧＰＳ）信号のうち少なくとも１つである、請求項５に記載のコンピューティングシステム。
【請求項８】
コンピュータプログラムロジックが記録されたコンピュータ可読記憶デバイスであって、コンピューティングデバイスによって前記コンピュータプログラムロジックが実行されると、前記コンピューティングデバイスに、
信号を受信することと、
受信した信号を、処理するために、アクセラレーテッド処理デバイス（ＡＰＤ）内の１つ以上の単一命令複数データモジュール（ＳＩＭＤモジュール）に割り当てることであって、前記ＡＰＤは複数のＳＩＭＤモジュールを含む、ことと、
割り当てられたＳＩＭＤモジュールにおいて、少なくとも１つの物理層メッセージを前記信号から抽出することであって、各ＳＩＭＤモジュールは、異なる種類の物理層メッセージを処理するために割り当てられており、前記異なる種類の物理層メッセージを処理するために割り当てられたＳＩＭＤモジュールの数は、前記ＡＰＤによって動的に決められる、ことと、
前記割り当てられたＳＩＭＤモジュールにおいて、抽出された少なくとも１つの物理層メッセージを処理して、前記信号を介して送信されたデータを取得することであって、遅延した物理層メッセージは、信号の質を改善するために処理前に組み合わされ、前記ＳＩＭＤモジュールの各々は、前記抽出された少なくとも１つの物理層メッセージの並列処理を実行する、ことと、を含む動作を実行させる、コンピュータ可読記憶デバイス。
【請求項９】
複数の信号は、少なくとも１つの信号がマルチパス伝搬により遅延することによって、同時に受信される、請求項８に記載のコンピュータ可読記憶デバイス。
【請求項１０】
前記組み合わせることは、送信側と受信側との間の信号を、前記送信側と前記受信側との間で一致させたコードを用いて追跡することをさらに含む、請求項９に記載のコンピュータ可読記憶デバイス。
【請求項１１】
受信した前記信号は、セルラ信号、ＷｉＦｉ（登録商標）信号および全地球測位（ＧＰＳ）信号のうち少なくとも１つである、請求項８に記載のコンピュータ可読記憶デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、グラフィックス処理ユニット（ＧＰＵ）に関し、より具体的には、ネットワークメッセージを処理するグラフィックス処理ユニットの使用に関する。
【背景技術】
【０００２】
既存のモバイルコンピューティングシステム（例えば、スマートフォン、タブレット、ラップトップ等）は、異なるタスクを実行するために割り当てられた複数のプロセッサを有する。例えば、中央プロセッサとしての中央処理装置（ＣＰＵ）、コンピュータグラフィックスを処理するためのグラフィックス処理ユニット（ＧＰＵ）、および、物理層メッセージを処理する１つ以上のプロセッサである。複数のプロセッサは、異なる種類のメッセージまたは異なるアプリケーションを対象としたメッセージを処理するために、モバイルコンピューティングシステムにおいて使用される。例えば、異なるプロセッサは、セルラ信号、ＷｉＦｉ（登録商標）信号、有線通信信号、全地球測位システム（ＧＰＳ）信号およびコンピュータグラフィックス信号の処理に対応し得る。複数のプロセッサは、既存の物理層プロセッサの計算能力が制限されるため、物理層メッセージ等のネットワークメッセージを処理するために使用される。特定用途向け集積回路（ＡＳＩＣ）の実装は、通信規格の頻繁な変更により実現可能ではない。複数のネットワークプロセッサの使用は、高価かつ非効率であり、これらのプロセッサからＣＰＵまでの経路は、長くて遅い。コンピューティングシステムのデータ速度が上昇するにつれて、物理層プロセッサからＣＰＵまでの経路はボトルネックとなり得る。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
異なる種類のネットワークメッセージをより効率的に処理するための方法およびシステムが必要とされる。
【０００４】
ＧＰＵ、アクセラレーテッド処理ユニット（ＡＰＵ）および汎用グラフィックス処理ユニット（ＧＰＧＰＵ）は、この分野で一般に使用されている用語であるが、「アクセラレーテッド処理デバイス（ＡＰＤ）」という表現は、より広範な表現であるとみなされる。例えば、ＡＰＤは、従来のＣＰＵ、従来のＧＰＵおよび／またはこれらの組み合わせ等のリソースに関して高速化された方法でグラフィックス処理タスク、データ並列タスク、または、ネスト化されたデータ並列タスクの高速化に関連する機能および計算を実行するハードウェアおよび／またはソフトウェアの任意の協働的集合体を指す。
【課題を解決するための手段】
【０００５】
本発明の実施形態は、ある特定の状況下で、アクセラレーテッド処理デバイス（ＡＰＤ）内でネットワークメッセージ（例えば、そのようなメッセージの物理層）の態様を処理するための方法およびシステムを提供する。一実施形態では、無線周波数（ＲＦ）信号が無線周波数集積回路（ＲＦＩＣ）チップによって受信され、デジタルデータに変換され、ＡＰＤに送信される。受信されたＲＦ信号は、処理するために単一命令複数データ（ＳＩＭＤ）モジュールに割り当てられる。一実施形態では、物理層メッセージは、ＲＦ信号から抽出され、ＲＦ信号を介して送信されたデータを取得するためにＳＩＭＤモジュールによって処理される。
【０００６】
本発明のさらなる特徴および利点、ならびに、本発明の様々な実施形態の構造および動作は、添付の図面を参照して以下で詳細に記載される。本発明が本明細書に記載される特定の実施形態に限定されないことに留意されたい。そのような実施形態は、単に例示的な目的のために本明細書に提示される。さらなる実施形態は、本明細書に含まれる教示に基づいて当業者に明らかであろう。
【０００７】
本明細書に組み込まれ、かつ、本明細書の一部を構成する添付の図面は、本発明を図解し、さらに、その記述とともに本発明の原理を説明し、かつ、当業者が本発明を作製および使用することを可能にする役目を果たす。本発明の様々な実施形態は、図面を参照して以下に記載され、同様の参照番号は、全体を通して同様の要素を指すために使用される。
【図面の簡単な説明】
【０００８】
【図１】一実施形態による、モバイルコンピューティングシステム内の複数の物理層プロセッサを示す図である。
【図２】一実施形態による、モバイルコンピューティングシステム内で異なる種類の物理層メッセージを処理するためのアクセラレーテッド処理デバイス（ＡＰＤ）を示す図である。
【図３】一実施形態による、モバイルコンピューティングシステム内の様々な層を示す図である。
【図４】一実施形態による、アクセラレーテッド処理デバイス（ＡＰＤ）を示す図である。
【図５】一実施形態による、アクセラレーテッド処理デバイス（ＡＰＤ）内で物理層メッセージを処理するための方法のフローチャートである。
【発明を実施するための形態】
【０００９】
以下の詳細な説明においては、「一実施形態（ｏｎｅ  ｅｍｂｏｄｉｍｅｎｔ）」、「一実施形態（ａｎ  ｅｍｂｏｄｉｍｅｎｔ）」、「例示的な一実施形態（ａｎ  ｅｘａｍｐｌｅ  ｅｍｂｏｄｉｍｅｎｔ）」等への言及は、記載される実施形態が、特定の特徴、構造または特性を含み得るが、全ての実施形態が、それらの特定の特徴、構造、特性を必ずしも含み得ないことを示す。さらに、そのような語句は、必ずしも同じ実施形態を指していない。さらに、特定の特徴、構造または特性が一実施形態に関連して記載される場合には、明確に記載されるか否かにかかわらず、他の実施形態に関連してそのような特定の特徴、構造または特性に影響を与えることは当業者の知識の範囲内であると提起される。
【００１０】
「本発明の実施形態」という用語は、本発明の全ての実施形態が、論じられる特徴、利点または動作モードを含むことを必要としない。代替の実施形態は、本発明の範囲から逸脱することなく考案されてもよく、本発明の周知の要素は、詳細に説明されなくてもよく、または、本発明の関連性のある詳細を不明瞭にしないように省略されてもよい。加えて、本明細書で使用される用語は、単に特定の実施形態を説明するためのものであり、本発明を限定するように意図されない。例えば、本明細書で使用される場合には、「１つの（ａ）」、「１つの（ａｎ）」および「その（ｔｈｅ）」は、特に文脈上明白に示さない限り、複数形を含むように意図される。用語「備える（ｃｏｍｐｒｉｓｅｓ）」、「備える（ｃｏｍｐｒｉｓｉｎｇ）」、「含む（ｉｎｃｌｕｄｅｓ）」および／または「含む（ｉｎｃｌｕｄｉｎｇ）」は、本明細書で使用される場合に、述べられた特徴、完全体、ステップ、動作、要素および／または構成要素の存在を特定するが、１つ以上の他の特徴、完全体、ステップ、動作、要素、構成要素および／またはこれらの群の存在または追加を除外しないことがさらに理解されよう。
【００１１】
約２０年前、テクノロジー産業は、コンピュータ産業、電気通信産業、電子メディア産業等に分類された。この１０年で、電気通信産業とコンピュータ産業の合併を目の当たりにした。後に、電子メディア産業も加わった。今日のモバイルコンピューティングシステムは、コンピューティング、通信およびマルチメディア関連タスクを実行するプリント回路基板（ＰＣＢ）上の複数のプロセッサからなり得る。加えて、開発により、コンピューティングプロセッサおよびマルチメディアエンジンが単一のシリコン内に存在し、リソースを共有し、性能を改善することを可能にしている。そのような技術は、ＡＰＤが、コンピューティングおよびマルチメディアタスクとともに、物理層動作等の様々なネットワーク動作を実行するように使用され得る。以下に記載される実施形態は、物理層動作に関して作成されるが、他のネットワーク動作および有線ネットワーク動作上の動作にも適用可能である。
【００１２】
図１は、一実施形態によるモバイルコンピューティングシステム１００を示す図である。例えば、モバイルコンピューティングシステム１００は、複数のプロセッサ（例えば、これらに限定されないが、中央プロセッサとしてＣＰＵ１０１と、グラフィックス処理のためのＡＰＤ１０２と、セルラベースバンド信号（物理層メッセージ）を処理するためのセルラ物理層プロセッサ１１０と、ＷｉＦｉ（登録商標）物理層メッセージを処理するためのＷｉＦｉ（登録商標）物理層プロセッサ１１２と、ＧＰＳベースバンド信号（物理層メッセージ）を処理するためのＧＰＳベースバンドプロセッサ１１４と）を含み得る。モバイルコンピューティングシステム１００内で物理層メッセージを処理するプロセッサの数は、図１に示されるような３つの物理層メッセージプロセッサ（例えば、１１０，１１２，１１４）に限定されない。
【００１３】
一例では、物理層メッセージプロセッサは、セルラ物理層メッセージを処理するために使用される。物理層メッセージプロセッサは、１つ以上のデジタル信号プロセッサ（ＤＳＰ）を有し得る。一例では、セルラベースバンドプロセッサ１１０は、セルラベースバンドプロセッサ１１０によって受信された物理層メッセージを処理する１つ以上のＤＳＰ１１１を有し得る。一例では、ライブストリーミングビデオ等のタイムセンシティブな物理層メッセージは、ある特定の時間内で処理されなければならない場合がある。ＤＳＰ１１１は、そのような時間的要件を満たすより高い周波数で動作しなければならない場合があり、より高い電力量を消費し、かつ、より高い熱量を放散するＤＳＰ１１１となり得る。一例では、物理層メッセージは、連続的にＤＳＰ１１１によって処理されなければならない場合がある。これにより、ＤＳＰ１１１は、メモリからデータを読み込む際にかなりのコンピューティング能力および時間を費やし、データ上で必要とされる動作を実行し、その後、処理されたデータをメモリに戻して書き込むこととなり得る。
【００１４】
例示的な無線環境では、信号は、基地局（図示せず）とモバイルコンピューティングシステム１００との間を行き来し得る。基地局は、ローカル無線ネットワークのハブとして機能を果たす無線受信機／送信機であり、有線ネットワークと無線ネットワークとの間のゲートウェイとしても機能し得る。困難なＲＦ環境（フェーディングまたは弱いＲＦ信号）を介して無線信号が伝搬すると、基地局は、モバイルコンピューティングシステム１００に対し、ある特定のタスクを実行するよう要求し得る。これらの要求により、モバイルコンピューティングシステム１００は、コンピューティングリソースを再度割り当て、かつ、より優先度の高いタスクに集中することができ、これにより、より優先度の低いタスクの処理を遅らせることができる。結果として、モバイルコンピューティングシステム１００の全体的な性能またはサービスの質（ＱｏＳ）が影響を受け得る。
【００１５】
一例では、モバイルコンピューティングシステム１００は、異なる種類のトラフィック（例えば、制御チャネル、音声チャネル、データチャネル等）の専用の無線チャネルを有する。これらのチャネルの各々は、異なる処理要件（例えば、順方向誤り訂正パラメータ等）を有する。いくつかのチャネルは、制御チャネル情報またはパイロットチャネル情報等のタイムセンシティブデータを搬送することができる。結果として、限定されたリソースを有するモバイルコンピューティングシステム１００は、モバイルコンピューティングシステム１００が不利なＲＦ条件下にある場合、相当量のコンピューティングリソースをタイムセンシティブタスクに割り当てなければならない場合がある。結果として、モバイルコンピューティングシステム１００の全体的なＱｏＳは、信号を維持し、かつ、タイムセンシティブ情報を優先するために低下する場合がある。
【００１６】
モバイルコンピューティングシステム１００の別の課題は、マルチパス伝搬であり得る。マルチパス伝搬は、ＲＦ信号がソースから目的地への異なる経路を通るときに生じる。例えば、ＲＦ信号の第１の部分が目的地に直接到達する一方で、ＲＦ信号の第２の部分は、障害物に跳ね返され、その後、目的地に到達する。一例では、そのような遅延信号の複数のバージョンが存在し得る。結果として、ＲＦ信号の一部は、遅延に遭遇し、目的地へのより長い経路を伝搬する。受信側では、マルチパス信号は、当業者に周知の技術を用いて組み合わされて、より良い質の信号を取得することができる。一例では、送信側および受信側は、信号を追跡するために使用されるコードを一致させる。送信側と受信側との間で一致させたコードは、送信されるメッセージに埋め込まれ、受信側は、内部でコードを生成することができる。物理層プロセッサ１１０，１１２，１１４内で利用可能なＤＳＰは、物理層メッセージプロセッサ１１０，１１２，１１４のＤＳＰ１１１，１１３，１１５内で利用可能な限定された数のコンピューティングリソースにより、モバイルコンピューティングシステム１００によって受信されたそのような信号のごくわずかの遅延バージョンを組み合わせることができる。
【００１７】
したがって、極めて多くの数の遅延信号を処理および組み合わせて、受信側でより良好な入力信号を生成して、ＱｏＳを改善する多数のコンピューティングリソースを有する物理層プロセッサの必要性が存在する。加えて、異なる種類の物理層メッセージを処理する高いコンピューティング能力を有するプロセッサの必要性が存在する。
【００１８】
図２は、本発明の一実施形態によるシステム２００を示す図である。例えば、システム２００は、図１に記載されたモバイルコンピューティングシステム１００内で異なる種類の物理層メッセージを処理するためのＡＰＤである。一例では、図２は、単一命令複数データ（ＳＩＭＤ）モジュール（例えば、異なる種類の物理層メッセージを処理するために割り当てられたＳＩＭＤモジュール２１０，２２０，２３０，２４０）を備えるＡＰＤ２００を示す。本明細書で言及されるように、ＳＩＭＤは、パイプラインまたはプログラミングモデルであり、カーネルが独自のデータごとに複数のプロセシングエレメント上で同時に実行される。ＳＩＭＤ内の全てのプロセシングエレメントは、同一の組の命令を実行する。１つ以上のＳＩＭＤを有することにより、概して、上述されるようなより高い処理能力を必要とし得るアプリケーションに対して、ＡＰＤ２００を理想的に適合させ得る。
【００１９】
一例では、ＳＩＭＤモジュール２１０は、セルラ物理層メッセージを処理するために割り当てられ、ＳＩＭＤモジュール２２０は、ＷｉＦｉ（登録商標）物理層メッセージを処理するために割り当てられ、ＳＩＭＤモジュール２３０は、ＧＰＳ物理層メッセージを処理するために割り当てられ、ＳＩＭＤモジュール２４０は、コンピュータグラフィックスを処理するために割り当てられる。
【００２０】
一実施形態では、複数の物理層メッセージプロセッサ（例えば、プロセッサ１１０，１１２，１１４）を用いて図１において上述された機能性は、比較的多数のコンピューティングリソース、すなわち、ＡＰＤ２００内で利用可能なＳＩＭＤモジュールにより、ＡＰＤ２００を用いて実装され得る。例えば、ＡＰＤ２００内で利用可能な多数のコンピューティングリソース（図１における物理層プロセッサで利用可能なＤＳＰの数に対して）は、比較的より高速で物理層メッセージを処理するために使用されてもよく、このため上述したマルチパス伝搬により、極めて多数の遅延信号を処理および組み合わせることによって受信側でより良い質の信号を生成することができる。一例では、ＡＰＤ２００は、複数のＳＩＭＤモジュールを割り当て、セルラ物理層メッセージを処理することができる。
【００２１】
一実施形態では、異なる種類の物理層メッセージを処理するために割り当てられたＳＩＭＤモジュールの数は、固定であってもよい。例えば、ＡＰＤ２００内で利用可能なＳＩＭＤモジュールは、例えば、セルラ物理層メッセージを処理するために３０％、ＷｉＦｉ（登録商標）物理層メッセージを処理するために１０％、ＧＰＳ物理層メッセージを処理するために１０％、コンピュータグラフィックスを処理するために残りの５０％、のように配分されてもよい。一実施形態では、異なる種類の物理層メッセージを処理するために割り当てられたＳＩＭＤモジュールの数は、ＡＰＤ２００によって動的に決定されてもよい。各種類のメッセージを処理するためのＳＩＭＤモジュールの数は、要求に基づいてもよく、ＡＰＤ２００によって動的に割り当てられてもよいことを認識されたい。
【００２２】
一例では、ＡＰＤ２００は、単純マトリクスおよびベクトル演算、ならびに、サンプリング、補間、エイリアシング、エンコーディング／デコーディング、フィルタリング、ディスクリート変換、インターリービング等の複素関数等の信号／メッセージ上の多数の数学的演算を実行することができる。ＡＰＤ２００の処理において利用可能な計算リソースおよびＡＰＤ２００内のＳＩＭＤモジュール（例えば、ＳＩＭＤモジュール２１０，２２０，２３０，２４０）の独立した性質は、ＡＰＤ２００が、図１において上述されたＤＳＰ実装形態と比較してより高いコンピューティング能力を提供し得ることを意味する。一例では、並列処理を必要とするアルゴリズムは、ＡＰＤ２００内のＳＩＭＤモジュールから大いに恩恵を受けることができ、例えば、ＡＰＤ２００内のＳＩＭＤモジュール２１０，２２０，２３０，２４０は、複数の組のデータで実質的に同時に同じ動作を実行することができる。一例では、ＳＩＭＤは、ＤＳＰ実装形態におけるマトリクスの全てのノードを個別に計算しなければならない代わりに、バタフライマトリクスの列全体で動作を実行することができる。例えば、当業者に周知の高速フーリエ変換／（ＦＦＴ）またはビタビ等の大きいバタフライアルゴリズムは、処理する時間および電力を節約するロバストな様式でＡＰＤ２００内に実装されてもよい。
【００２３】
一実施形態では、ＡＰＤ２００のＳＩＭＤモジュール内で利用可能な多数のコンピューティングリソースは、異なる種類の物理層メッセージ（例えば、セルラ、ＷｉＦｉ（登録商標）およびＧＰＳ）を処理するために使用されてもよい。加えて、ＡＰＤ２００のＳＩＭＤモジュール内で利用可能な多数のコンピューティングリソースは、遅延信号の複数のバージョン（例えば、ＤＳＰより極めて多数）を組み合わせて、モバイルコンピューティングシステム２００でより良好な入力信号を生成して、モバイルコンピューティングシステム２００でＱｏＳを改善するために使用されてもよい。
【００２４】
図３は、本発明の一実施形態による、様々な層を有するシステム３００を示す図である。例えば、システム３００は、ＣＰＵ３０１と、ＡＰＤ３０２と、無線周波数集積回路（ＲＦＩＣ）３０３と、を備え得る。ソフトウェア層３１１がＣＰＵ３０１内に存在してもよく、無線物理層３１２がＡＰＤ３０２内に存在してもよく、ＲＦ層３１３がＲＦＩＣ３０３内に存在してもよい。一例では、ソフトウェア層３１１は、ＣＰＵ３０１等のｘ８６コア上で実装され得るアプリケーションソフトウェアを有してもよく、物理層３１２は、ＡＰＤ３０２上で実装され得る物理層メッセージを有してもよく、ＲＦ層３１３は、ＲＦＩＣ３０３上で実装され得るＲＦメッセージを有してもよい。
【００２５】
一例では、ソフトウェア層３１１と物理層３１２との間のシグナル伝達は、ＣＰＵ３０１とＡＰＤ３０２との間の高速オンチップ配線を経由してもよい。高速オンチップ配線は、例えば図４において詳細に論じられる。一例では、ＲＦＩＣ３０３とＳＩＭＤモジュールとの間の接続は、当業者に周知の、連続的に稼動しているＩとＱの対を使用することができる。ＣＰＵ３０１は、ＲＦＩＣ３０３へのインターフェースを制御して、基地局からのリアルタイムの要求をサポートすることもできる。
【００２６】
一例では、無線モデムは、コンピュータのＰＣＢ上のサウスブリッジチップに接続されてもよい。ＰＣＢ上のこの接続は、周辺構成要素相互接続エクスプレス（ＰＣＩｅ）プロトコルを使用して、モデムをサウスブリッジチップ内のＰＣＩｅルートコンプレックスポートに接続することができる。サウスブリッジチップは、ＰＣＢ上の別のＰＣＩｅリンクを介して、ＰＣＩｅ形式データをノースブリッジに送信することができる。いくつかのシステムは、無線モデムをノースブリッジに直接接続して、性能を改善することができる。何れの場合においても、データは、ノースブリッジ内の何れかのＰＣＩｅルートコンプレックスポートによって受信される。次に、ＰＣＩｅ形式データは、ＰＣＢを経て、データが必要であるアプリケーションを実行するホストＣＰＵに到達する前にＨｙｐｅｒＴｒａｎｓｐｏｒｔ形式に変換される。この長い経路と、チップおよびＰＣＢを介した搬送を容易にする異なるプロトコルへのデータの変換／非変換とは、データ速度が上昇するにつれてボトルネックになり得る。提案された実装形態では、ＡＰＤ３０２およびＣＰＵ３０１は、以下の図４に詳細に示されるように、互いに、かつ、システムメモリに直接接続しており、システムを効率化する。
【００２７】
図４は、２つのプロセッサ（ＣＰＵ４０２およびＡＰＤ４０４）を含む統合コンピューティングシステム４００を示すダイアグラム４００である。ＣＰＵ４０２は、１つ以上のシングルまたはマルチコアＣＰＵを含み得る。
【００２８】
一例では、システム４００は、システムメモリ４０６と、オペレーティングシステム４０８と、通信基盤４０９とを含む。メモリ４０６へのアクセスは、メモリコントローラ４４０によって管理することができ、メモリコントローラ４４０は、システムメモリ４０６に連結されている。システム４００は、カーネルモードドライバ（ＫＭＤ）４１０、ソフトウェアスケジューラ（ＳＷＳ）４１２および入力／出力メモリ管理ユニット（ＩＯＭＭＵ）等のメモリ管理ユニット４１６を含む。システム４００の構成要素は、ハードウェア、ファームウェア、ソフトウェアまたはこれらの任意の組み合わせとして実装されてもよい。
【００２９】
ＣＰＵ４０２は、制御プロセッサ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）またはデジタル信号プロセッサ（ＤＳＰ）のうち１つ以上を含み得る（図示せず）。ＣＰＵ４０２は、例えば、制御ロジックを実行し、コンピューティングシステム４００の動作を制御するオペレーティングシステム４０８、ＫＭＤ４１０、ＳＷＳ４１２およびアプリケーション４１１を含む。この例示的な実施形態では、ＣＰＵ４０２は、一実施形態によれば、例えば、アプリケーションと関連付けられた処理を、ＣＰＵ４０２と、ＡＰＤ４０４等の他の処理リソースとに分散させることによって、アプリケーション４１１の実行を開始および制御する。
【００３０】
ＡＰＤ４０４は、数ある中でもとりわけ、グラフィックス動作、ネットワークメッセージの処理、および、例えば並列処理に特に適し得る他の動作等の、選択された機能のコマンドおよびプログラムを実行する。一般的に、ＡＰＤ４０４は、ピクセル操作、幾何学的計算およびディスプレイへの画像のレンダリング等のグラフィックスパイプライン動作を実行するために頻繁に使用され得る。ＡＰＤ４０４は、これらに限定されないが、１つ以上のＳＩＭＤ処理コア等の独自の計算ユニット（図示せず）を含み得る。本明細書で言及されるように、ＳＩＭＤは、パイプラインまたはプログラミングモデルであり、カーネルが独自のデータごとに複数のプロセシングエレメントおよび共有されたプログラムカウンタ上で同時に実行される。全てのプロセシングエレメントは、同一の組の命令を実行する。プレディケーションの使用により、各々の発行されたコマンドまたは命令に対して、作業項目の参加または不参加を可能にする。１つ以上のＳＩＭＤを有することは、一般的に、ＡＰＤ４０４をグラフィックスおよび物理層処理によく見られるもの等のデータ並列タスクの実行に理想的に適合させる。ＳＩＭＤの並列性は、遅延線の形成を可能にすることもでき、ＤＳＬ／ＶＤＳＬ物理層に使用される畳み込みインターリービング／デインターリービング方式のロバストな実装形態を容易にすることができる。
【００３１】
図示の例では、通信基盤４０９は、必要に応じてシステム４００の構成要素を相互接続する。通信基盤４０９は、コンピューティングシステム１００の構成要素を含む構成要素を相互接続する機能性を含む。この例では、オペレーティングシステム（ＯＳ）４０８は、システム４００のハードウェア構成要素を管理し、かつ、共通サービスを提供する機能性を含む。様々な実施形態では、ＯＳ４０８は、ＣＰＵ４０２上で実行し、共通サービスを提供することができる。これらの共通のサービスとしては、例えば、ＣＰＵ４０２内の実行のためのスケジューリングアプリケーション、障害管理、割り込みサービス、および、他のアプリケーションの入出力処理が挙げられ得る。
【００３２】
一般的に、ＩＯＭＭＵは、それぞれ独自のバスおよびＩ／Ｏデバイスに接続され得る。図４では、通信基盤４０９は、現在利用可能であるか将来開発されるかにかかわらず、ＰＣＩバス、ＡＧＰバス、ＰＣＩ−Ｅバス（より正確には、ポイントトゥポイント接続である）を含むコンピュータシステムに使用される任意の種類のバス、または、他の任意の種類のバスもしくは通信チャネルであってもよい。さらに、通信基盤４０９は、割り込みコントローラ４４８と、ＫＭＤ４１０と、ＳＷＳ４１２と、アプリケーション４１１と、ＯＳ４０８と、をシステム４００内の他の構成要素と相互接続することができる。
【００３３】
あるいは、任意の他のコヒーレント配線は、プロセッサ４０２のノード間で使用されてもよく、および／または、任意の他のＩ／Ｏ配線は、プロセッサノードとＩ／Ｏデバイスとの間で使用されてもよい。さらに、別の例では、ノースブリッジに連結されたプロセッサ４０２を含むことができ、プロセッサ４０２は、従来のＰＣ設計では、システムメモリ４０６および１つ以上のＩ／Ｏ配線に連結される。
【００３４】
図４に示されるように、ＩＯＭＭＵ４１６は、システムメモリ４０６と、Ｉ／Ｏデバイス４５０，４５２，４５４との間に接続されている。さらに、ＩＯＭＭＵ４１６は、システムメモリ４０６、メモリコントローラ４４０およびＩ／Ｏデバイス４５０，４５２，４５４とは別個のチップ上に位置し得る。ＩＯＭＭＵ４１６は、主要なシステムリソースを管理するために設計されてもよく、Ｉ／Ｏページテーブル４２４を使用して、権限チェックと、Ｉ／Ｏデバイスによってアクセスされたメモリ上のアドレス変換と、システムメモリ内のページのキャッシュ可能性特性と、を提供することができる。メモリ内のページの１つ以上の属性は、ページのキャッシュ可能性特性を定義することができる。また、Ｉ／Ｏページテーブルは、ＡＭＤ６４Ｌｏｎｇフォーマットで設計されてもよい。デバイステーブル４２６は、Ｉ／Ｏデバイスが特定のドメインに割り当てられることを可能にする。デバイステーブル４２６は、Ｉ／Ｏデバイスのページテーブルへのポインタを含むように構成されてもよい。
【００３５】
図５は、本発明の一実施形態による、方法５００のフローチャートである。例えば、方法５００は、ＡＰＤ３０２内の物理層メッセージを処理するために使用され得る。一例では、方法５００は、図２〜４で上述した１つ以上のシステムで動作することができ、便宜上ではあるが、限定的ではなく以下に言及される。方法５００は、図示される順で実行されなくてもよいし、図示される動作の全てを必要としなくてもよい。
【００３６】
ステージ５１０では、ＲＦ信号は、受信された信号から搬送信号を取り除くＲＦＩＣ３０３を介してＡＰＤ３０２によって受信され、受信されたアナログ信号は、デジタル信号に変換される。例えば、ＡＰＤ３０２は、処理するためのＲＦ信号をＲＦＩＣ３０３から受信することができる。ＲＦ信号は、セルラ信号（例えば、ＷｉＭＡＸ、ＬＴＥおよびＬＴＥ  Ａｄｖａｎｃｅｄ）、ＷｉＦｉ（登録商標）信号、ＧＰＳ信号等であってもよい。ＲＦ信号は、物理層３１２の受信機に接続されたデジタルのＩとＱの対を介して、ＲＦＩＣ３０３からＡＰＤ３０２に送信されてもよい。ＩとＱの対の使用は、当業者に周知である。一実施形態では、受信された信号は、デジタル加入者回線（ＤＳＬ）、または、非常に高いビットレートのデジタル加入者回線（ＶＤＳＬもしくはＶＨＤＳＬ）信号であってもよい。有線通信では、メッセージは、電線を介して中央局（ＣＯ）から加入者宅内機器（ＣＰＥ）に送信される。これらのメッセージは、ＤＳＬ／ＶＤＳＬ／ＶＨＤＳＬアナログ物理層によって受信され、デジタルに変換され、処理するためにＳＩＭＤに転送される。例えば、この手法の１つの利点は、処理するためのコンピュータに送信するためにＤＳＬメッセージをＥｔｈｅｒｎｅｔ（登録商標）メッセージに変換することの排除である。
【００３７】
ステージ５２０では、受信されたＲＦ信号は、ＳＩＭＤモジュールに割り当てられる。例えば、ＡＰＤ３０２は、処理するために受信されたＲＦ信号をＳＩＭＤモジュールに割り当てることができる。一例では、受信されたセルラ信号は、処理するためにＳＩＭＤモジュール２１０に割り当てられてもよい。信号を処理するために割り当てられたＳＩＭＤモジュールの数は、図３に示されるように１つに限定されない。ＡＰＤ３０２は、ＳＩＭＤモジュールを割り当て、受信されたＲＦ信号の優先度に基づいて、受信された信号を処理することができる。例えば、受信されたＲＦ信号がタイムセンシティブデータ（例えば、モバイルコンピューティングプラットフォーム１００上のライブストリーミングビデオ）の転送と関連付けられる場合、ＡＰＤ３０２は、複数のＳＩＭＤモジュールを割り当て、ＲＦ信号を処理することができる。
【００３８】
一例では、ＡＰＤ３０２によるＳＩＭＤモジュールの割り当ては、モバイルコンピューティングプラットフォーム１００上のいくつかのアンテナ（図示せず）に依存し得る。例えば、モバイルコンピューティングプラットフォーム１００が多入力多出力（ＭＩＭＯ）構成を使用して通信性能を改善する場合、ＡＰＤ３０２は、複数のＳＩＭＤモジュールを割り当て、ＲＦ信号を処理して、性能を改善することができる。モバイルコンピューティングプラットフォーム１００上のＭＩＭＯ構成は、モバイルコンピューティングプラットフォーム１００の送信機および受信機の両方における複数のアンテナを使用して、通信性能を改善することができる。ＭＩＭＯは、当業者に周知であるスマートアンテナ技術のいくつかの形態のうちの１つである。
【００３９】
ステージ５３０では、物理層メッセージは、受信されたＲＦ信号から抽出される。例えば、ＡＰＤ３０２は、ＳＩＭＤモジュール２１０を介して、受信されたセルラＲＦ信号を処理し、物理層メッセージを抽出することができる。当業者に周知の任意の抽出方法が使用されてもよい。
【００４０】
ステージ５４０では、抽出された物理層メッセージは、ＲＦ信号を介して送信されたデータを取得するために、ＳＩＭＤモジュールによって処理される。例えば、ＡＰＤ３０２は、割り当てられたＳＩＭＤモジュール２１０を介して、受信されたＲＦ信号から抽出された物理層メッセージを処理して、ＲＦ信号を介して送信されたデータを取得する。ステージ５４０が完了すると、方法５００は終了する。
【００４１】
発明の概要および要約は、本発明者によって意図されるように本発明の１つ以上であるが全てではない例示的な実施形態を規定することができ、したがって、いかなる形でも本発明および添付の特許請求の範囲を限定することを意図しない。
【００４２】
本発明は、特定の機能およびこれらの関係の実装形態を示す機能的構造ブロックを用いて上述している。これらの機能的構造ブロックの境界は、説明の便宜上、本明細書に任意に定義されている。特定の機能およびこれらの関係が適切に実行される限り、別の境界が定義され得る。
【００４３】
特定の実施形態の上述した説明は、本発明の一般的性質をあまりにも完全に露呈するため、本発明の一般概念から逸脱することなく、当業者の知識を応用することによって、他者が過度の実験をせずに、様々な用途のそのような特定の実施形態を容易に修正および／またはそれらに適合させることができる。したがって、そのような適合および修正は、本明細書に提示される教示および指導に基づいて、開示される実施形態の均等物の意味および範囲内であることが意図される。本明細書の表現または用語は、本明細書の用語または表現が教示および指導に照らして当業者によって解釈されるべきであるように、説明の目的であり、限定の目的ではないことを理解されたい。
【００４４】
本発明の広さおよび範囲は、前述の例示的な実施形態の何れかによって限定されるべきではなく、以下の特許請求の範囲およびその均等物のみに従って定義されるべきである。
【図１】
0006505012.tif 000002
【図２】
0006505012.tif 000003
【図３】
0006505012.tif 000004
【図４】
0006505012.tif 000005
【図５】
0006505012.tif 000006