(57)【要約】  アプリケーションを処理する複数のモジュール（Ｍ）を含む集積回路が提供され、前記モジュールのそれぞれが、ローカル・メモリ（ＬＭ）を含む。この集積回路は、さらに、複数のモジュール（Ｍ）の間で共用することができるグローバル・メモリ（ＧＭ）と、前記モジュール（Ｍ）と前記グローバル・メモリ（ＧＭ）とを相互接続する相互接続手段（ＩＭ）を含む。メモリ管理ユニット（ＭＭＵ）が、前記モジュール（Ｍ）のそれぞれに関連し、ローカル・メモリ（ＬＭ）が現在処理されているアプリケーションに十分なメモリ空間を提供するかどうかを決定する。そうでない場合、メモリ管理ユニット（ＭＭＵ）が、それに関連するモジュール（Ｍ）の処理データ専用に予約される前記グローバル・メモリ（ＧＭ）内のグローバル・バッファ（ＦＢ）を要求する。したがって、ローカル・メモリ（ＬＭ）を使用することによって、可能な時に必ず、データがグローバル・メモリ（ＧＭ）にアウトソーシングされる前に、相互接続手段の電力ならびに帯域幅を節約することができる。さらに、十分な柔軟性が、このシステム・オン・チップに導入されて、ワースト・ケース・シナリオについてサブシステムまたはモジュールを設計する必要なしに、サブシステムまたはモジュール（Ｍ）で使用可能なものより多くのローカル・リソース、たとえばローカル・メモリを要求するアプリケーションを実行することが可能になる。特に、ワーストケース需要が平均的なケースより遥かに高い時に、コストの利点が大きくなる可能性がある。
2007500390.tif 000002
【特許請求の範囲】
【請求項１】
それぞれがローカル・メモリを有する、アプリケーションを処理する複数のモジュールを含む集積回路であって、さらに、
前記複数のモジュールによって共用することができるグローバル・メモリと、
前記モジュールと前記グローバル・メモリとを相互接続する相互接続手段と、
前記モジュールのそれぞれに関連する１つのメモリ管理ユニットであって、前記ローカル・メモリが現在処理されているアプリケーションに十分なメモリ空間を提供するかどうかを決定し、前記ローカル・メモリ内に使用可能で不十分なメモリ空間がある場合、前記関連するモジュールの処理データのために予約される前記グローバル・メモリ内のグローバル・バッファを要求するメモリ管理ユニットと
を含む集積回路。
【請求項２】
前記メモリ管理ユニットが、それに関連するモジュールと前記グローバル・メモリとの間の通信経路を要求し、前記通信経路が、前記グローバル・メモリへの必要とされるアクセスに従って通信特性を有する
請求項１に記載の集積回路。
【請求項３】
前記メモリ管理ユニットの前記要求に従って前記グローバル・メモリ内でメモリ空間を割り振るリソース管理ユニット
をさらに含む、請求項１に記載の集積回路。
【請求項４】
前記リソース管理ユニットが、前記メモリ管理ユニットによって要求された通信特性に基づいて通信経路をセットするように適合されている
請求項３に記載の集積回路。
【請求項５】
前記グローバル・メモリ内の前記グローバル・バッファに記憶された、アプリケーションのデータのアドレス変換を実行する、前記モジュールのそれぞれに関連するアドレス変換ユニット
をさらに含む、請求項４に記載の集積回路。
【請求項６】
前記リソース管理ユニットが、前記グローバル・メモリのアクセス調停を実行するように適合されている
請求項３または４に記載の集積回路。
【請求項７】
前記ローカル・メモリが、前記グローバル・バッファからデータをプリフェッチするプリフェッチ・バッファを含む
請求項１に記載の集積回路。
【請求項８】
アプリケーションを処理する複数のモジュールを含む集積回路でのメモリ割振りの方法であって、各モジュールが、ローカル・メモリを含み、前記集積回路が、さらに、前記複数のモジュールの間で共用されるように適合されたグローバル・メモリを含み、
前記ローカル・メモリが現在処理されているアプリケーションに十分なメモリ空間を提供するかどうかを決定することによって、また、前記ローカル・メモリ内に使用可能なメモリ空間が十分でないときに前記モジュールの１つを処理するために予約される前記グローバル・メモリ内のグローバル・バッファを要求するためにメモリ管理するステップ
を含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のモジュールを含む集積回路およびそのような集積回路内のメモリ割振りの方法に関する。
【背景技術】
【０００２】
計算リソースおよび通信リソースの最近の開発に伴って、移動端末（mobile terminaｌ）のアーキテクチャにおける２つの主要な傾向が生じた。第１の傾向は、アプリケーション収束および高まる多様性であり、たとえば、ますます多様な機能またはサブシステムが単一の端末に統合され、その端末が新しいサービスおよびアプリケーションを実行できるようになる。第２の傾向は、アーキテクチャの複雑さが悪化することであり、たとえば、ハードウェア・アーキテクチャおよびソフトウェア・アーキテクチャの両方の全体的な複雑さが、バスによって接続されたコアに基づく従来のアーキテクチャ・スタイルの限度を超えている。
【０００３】
上述の傾向を満たす１つの可能な解決策は、モジュール性であると思われる。モジュールの境界が、ＧＳＭモデム、ディスプレイ、またはオーディオなどの機能サブシステムと一致するように選択された時に、２つのレベルのハードウェアおよびソフトウェアのアーキテクティング（architecting）を導出することができる。第１のレベルは、バスによって接続されたコアに基づく従来のアーキテクチャ・スタイルを適用でき、これによって既存サブシステムを再利用できるサブシステム内アーキテクチャである。アーキテクティングの第２のレベルは、ネットワーク・アーキテクチャを適用でき、サブシステム間通信がＯＳＩ状の階層化ネットワーク・アーキテクチャ上で実行されるサブシステム間アーキテクチャである。この２レベルのアーキテクティングを用いて、機能サブシステムの開発を、当該技術分野で既知のように実行することができ、したがって、知的所有権（ＩＰ）ブロックを再利用することができる。
【０００４】
通常、殆どの移動端末は、ポータブル・オーディオ・プレイヤ（オーディオ・サブシステムおよびＣＤまたはソリッドステート・ストレージ）、携帯電話機（ＧＳＭモデムおよび音声コーデック）、パームトップ・オーガナイザ（タッチスクリーン＋マイクロプロセッサ）、またはソリッド・ステート・カメラ（カメラ＋ディスプレイ＋ソリッドステート・ストレージ）など、少数の周辺コンポーネントを基礎として機能を提供する。たとえば周辺コンポーネントなど、これらの異なるサブシステムのバラエティが、着実に増えている。これらの異なるサブシステムは、互いに独立して進歩し、急速により高度かつより複雑になり、その結果、ビット・レート、容量、解像度、および品質などの性能パラメータが、着実に改善される。実際の端末は、ますます多くのサブシステムを含み、これらのサブシステムの内部は、力点がソフトウェア、アプリケーション、およびサービスに移るので、あまり重要でなくなる。
【０００５】
コアおよびバスに基づく伝統的なアーキテクティングは、計算リソースの限られた集合に対する計算、待ち時間の短い密結合されたブロックの小さい集合に対するタスクのスケジューリング、およびきついバス・プロトコルに焦点を合わせてきたが、サブシステムの間のアーキテクティングは、もはや計算ではなく通信に焦点を合わせている。異なるサブシステムによって共用されるリソースは、通信インフラストラクチャであり、おそらくは共用メモリである。これらのサブシステムは、通常は、比較的長い待ち時間および比較的低い同期化レートならびにネットワーク・プロトコルを用いて疎結合される。
【０００６】
端末は、通常、ネットワークを介して互いに接続された複数のサブシステムからなる。ＵＭＴＳモデムまたはビデオ・コーデックなどのサブシステムを、独立して設計することができる。これらは、１つまたは複数のプログラム可能なコア、あるコプロセッサ、ローカル・メモリ、および入出力を含むことができる。ネットワークは、サブシステムを接続するのに使用される。データ、命令、メモリ・トラフィック、および制御情報などの全てのサブシステム間通信が、ネットワークを介して実行される。
【０００７】
いわゆるシステム・オン・チップＳｏＣは、通常、たとえばローカル・メモリを有する機能要素またはモジュールなど、相互接続方式によって接続される、複数のサブシステムを含む。このシステム・オン・チップＳｏＣは、サブシステムの集合にマッピングすることができる異なるアプリケーションを実行するように適合される。これらのサブシステムによって実行される全ての機能が、その処理を実行するためにある量のメモリを必要とする。メモリの正確な量は、ビデオ・デコーディングの画面サイズ、モデムのデータ・レート、または類似物などの複数のパラメータに依存する。したがって、異なるアプリケーションは、メモリに関して異なる需要を有する。現在、コンピュータ・エレクトロニクスの分野の殆どの応用領域は、システム・コストならびに電力消費が最小にされることを必要とする。上述の制約環境で競争的であるためには、必要なメモリの量（オンチップおよび外部の両方）が、特定のアプリケーションについて最適化されていることが必須である。その一方で、携帯電話機、ＰＤＡ、ＭＰ３プレイヤ、または類似物などの多くの消費者電子製品市場の収束という上述の傾向に伴って、これ以上、単一の特定のアプリケーションまたは単にアプリケーションの限られた集合に注目することは不可能である。端末の全ての実現が、低コストであり低電力でなければならず、ここで、コストは、材料の表すなわち、チップ面積、チップ数、ピン・カウント、およびＰＣＢ配線層によって実質的に定義される。これらの端末の１つの重要な態様が、アプリケーションを必要に応じて実行できるようにするための十分なメモリの割振りである。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
したがって、本発明の目的は、最適にメモリ割振りした、相互接続方式によって接続された複数のモジュールを有する集積回路を提供することである。
【課題を解決するための手段】
【０００９】
この目的は、請求項１による集積回路および請求項８によるメモリ割振りの方法によって達成される。
【００１０】
したがって、アプリケーションを処理する複数のモジュールＭを含む集積回路が提供され、前記モジュールのそれぞれが、ローカル・メモリＬＭを含む。この集積回路は、さらに、複数のモジュールＭの間で共用することができるグローバル・メモリＧＭと、前記モジュールＭと前記グローバル・メモリＧＭとを相互接続する相互接続手段ＩＭを含む。メモリ管理ユニットＭＭＵが、前記モジュールＭのそれぞれに関連し、ローカル・メモリＬＭが現在処理されているアプリケーションに十分なメモリ空間を提供するかどうかを決定する。そうでない場合、メモリ管理ユニットＭＭＵが、それに関連するモジュールＭの処理データのため専用に予約される前記グローバル・メモリＧＭ内のグローバル・バッファＦＢを要求する。
【００１１】
したがって、ローカル・メモリＬＭを使用することによって、可能な時に必ず、データがグローバル・メモリＧＭにアウトソーシングされる前に、相互接続手段の電力および帯域幅を節約することができる。さらに、十分な柔軟性が、このシステム・オン・チップに導入されて、ワースト・ケース・シナリオについてサブシステムまたはモジュールを設計する必要なしに、サブシステムまたはモジュールＭで使用可能なものより多くのローカル・リソース、たとえばローカル・メモリを要求するアプリケーションを実行することが可能になる。特に、ワーストケース需要が平均的なケースより遥かに高い時に、コストの利点が大きくなる可能性がある。
【００１２】
本発明の態様によれば、メモリ管理ユニットＭＭＵが、モジュールＭと前記グローバル・メモリＧＭとの間の、この間の通信専用に予約される通信経路を要求する。とりわけ、この通信経路は、メモリへの割り込まれないアクセスに関する必要な特性を有することが要求される。したがって、通信経路が、モジュールとグローバル・メモリとの間で保証される。
【００１３】
本発明のもう１つの態様によれば、前記集積回路が、さらに、リソース管理ユニットＲＭＵを含む。リソース管理ユニットＲＭＵは、前記メモリ管理ユニットＭＭＵの要求に従って前記グローバル・メモリＧＭ内で前記グローバル・バッファＦＢ用のメモリ空間を割り振る。したがって、十分なメモリ空間が、メモリ管理ユニットＭＭＵに関連するモジュールの処理データ専用に予約される。
【００１４】
本発明のさらなる態様によれば、リソース管理ユニットＲＭＵは、メモリ管理ユニットからの要求に従って、モジュールＭとグローバル・メモリＧＭとの間の通信経路をセットする。したがって、十分な帯域幅が、モジュールＭとグローバル・メモリＧＭとの間の通信のために提供される。
【００１５】
本発明の好ましい態様によれば、この集積回路は、さらに、前記グローバル・メモリＧＭ内の前記グローバル・バッファＦＢに記憶された、前記モジュールで実行されるアプリケーションのデータのアドレス変換を実行する、モジュールのそれぞれに関連するアドレス変換手段ＡＴＵを含む。したがって、ローカル・メモリに記憶できないデータのアウトソーシングは、モジュールの処理から不可視である。
【００１６】
本発明のもう１つの態様によれば、リソース管理ユニットＲＭＵが、さらに、グローバル・メモリＧＭのアクセス調停を実行するように適合されている。アクセス調停の提供は、必要な保証の中でのデータの配送を可能にする。
【００１７】
本発明のもう１つの態様によれば、前記ローカル・メモリＬＭは、前記グローバル・メモリＧＭ内のグローバル・バッファＦＢからデータをプリフェッチするプリフェッチ・バターＰＢを含む。したがって、グローバル・メモリへの処理データのアウトソーシングによって導入された待ち時間が、アプリケーションから隠蔽される。
【００１８】
本発明は、アプリケーションを処理する複数のモジュールを含む集積回路でのメモリ割振りの方法にも関し、ここで、各モジュールが、ローカル・メモリＬＭを含む。この集積回路が、さらに、前記複数のモジュールの間で共用されるグローバル・メモリを含む。メモリ管理が、モジュールで動作するアプリケーションの処理データに十分な空間がローカル・メモリ内で使用可能であるかどうかを決定する。そうでない場合、前記グローバル・メモリ内のバッファが、モジュールで動作するアプリケーションのデータ処理専用に要求される。
【００１９】
本発明は、サブシステムまたはモジュールが、パラメータのある集合を有する機能またはアプリケーションにより不十分なローカル・メモリを有する場合、必ず、データが共用メモリとの間で移動することを可能にするために、バッファが共用メモリ内で割り振られ、さらに、十分な帯域幅を有する通信経路がセットされるという発想に基づく。  
本発明を、これから、図面を参照して詳細に説明する。
【発明を実施するための最良の形態】
【００２０】
本発明によるシステム・オン・チップは、リソースに関して少ないもの、すなわち携帯電話機またはポータブル装置など、低コストで低電力のシステムとすることができる。しかし、本発明の原理は、より制約の少ない環境に適用することもできる。
【００２１】
図１は、第１の実施形態によるシステム・オン・チップのブロック線図を示す。このシステムは、モジュールＭ、シェルＳ、相互接続手段ＩＭ、グローバル・メモリＧＭ、およびリソース管理ユニットＲＭＵを含む。モジュールＭは、シェルＳおよび相互接続手段ＩＭを介してグローバル・メモリＧＭに接続される。モジュールＭは、プロセッサＰＲＯＣ、命令キャッシュＩ、データ・キャッシュＤ、およびローカル・メモリＬＭを含む。プロセッサＰＲＯＭおよびローカル・メモリＬＭは、バスＢを介して互いに接続される。ローカル・メモリＬＭは、プリフェッチ・バッファＰＢを含む。ローカル・メモリＬＭは、モジュールＭ専用のプライベート・メモリとして使用される。ローカル・メモリＬＭは、低いメモリ需要を有するアプリケーションを実行するのに十分な小さいメモリとして寸法を定められている。このメモリ空間の量は、モジュールＭで実行されるアプリケーションに依存するものとすることができる。
【００２２】
モジュールＭは、任意のサブシステムとすることができ、さらに、専用アプリケーションまたは複数の異なるアプリケーションを実行する他の機能ブロックを含めることができる。モジュールＭは、プロセッサＰＲＯＣ、命令キャッシュＩ、データ・キャッシュＤ、およびローカル・メモリＬＭを含むものとして説明したが、これらのモジュールは、キャッシュなし、通常のプロセッサなしで、少なくとも１つの小さい専用処理ユニットを用いて実施することもできる。
【００２３】
シェルＳは、モジュールＭと相互接続方式ＩＭとの間に設けられ、このモジュールと相互接続方式との間の通信を管理するのに使用される。シェルＳの発想は、相互接続方式の特性をモジュールから隠蔽することである。したがって、シェルＳがインターフェイスとして使用されるので、既に存在するモジュールを、その通信を設計し直す必要なしに使用することができる。相互接続方式ＩＭは、チップ上のネットワークであることが好ましいが、バスベースの方式とすることもできる。このネットワークは、たとえば待ち時間に基づいて、このネットワークを通る経路を動的に割り当てることもできる。そのような相互接続ＩＭは、たとえば、帯域幅、遅延、デカップリングなどの異なるパラメータを有する通信チャネルを提供することもできる（グローバル・メモリ内のバッファによって）。あるパラメータを有するあるタイプの通信に適当なチャネルすなわち、適当なパラメータを有するチャネルを、動的に選択することができる。
【００２４】
シェルＳは、メモリ管理ユニットＭＭＵおよびアドレスド変換ユニット（addressed translation unit）ＡＴＵを含む。メモリ管理ユニットＭＭＵは、ローカル・メモリＬＭ内の空きメモリ空間を監視し、ローカル・メモリＬＭ内の使用可能メモリ空間が所定の最小値より少なくなると、グローバル・メモリＧＭ内のグローバル・バッファＦＢの割振りを要求する。この背景にある発想は、ローカル・メモリ内にそれのための十分な空間がない、モジュールＭで実行されているアプリケーションから処理データをアウトソーシングすることである。次に、アドレス変換ユニットＡＴＵは、モジュールＭで実行されるアプリケーションによって使用されるアドレスを、グローバル・メモリＧＭに対応するグローバル・アドレス・マップのアドレスに変換するために設けられている。
【００２５】
上述のように、メモリ管理ユニットＭＭＵは、このモジュールからの処理データ専用に予約されなければならないグローバル・メモリＧＭ内のバッファに関する要求を送る。メモリ管理ユニットＭＭＵからのこの要求は、リソース管理ユニットＲＭＵに送られる。リソース管理ユニットＲＭＵは、システム内のリソース全体を管理するために設けられている。さらに、メモリ管理ユニットＭＭＵは、モジュールＭとグローバル・メモリＧＭとの間の相互接続方式ＩＭを介する保証されたデータ・経路を設けることを要求する。リソース管理ユニットＲＭＵは、これらの要求を受け取り、要求されたサイズのバッファを予約するのに十分なグローバル・メモリＧＭ内の使用可能な空間があるかどうか、ならびに、相互接続方式ＩＭが、モジュールＭとグローバル・メモリＧＭとの間の要求された通信経路に十分な帯域幅を提供できるかどうかを決定する。リソース管理ユニットＲＭＵが、グローバル・メモリＧＭに十分な使用可能な空間があり、通信経路に使用可能な十分な通信リソースがあると決定した場合、リソース管理ユニットＲＭＵは、メモリ管理ユニットＭＭＵに応答を送る。リソース管理ユニットＲＭＵは、グローバル・メモリＧＭ内のグローバル・バッファＦＢの使用可能な空間ならびにそのアドレスをこの応答に含める。メモリ管理ユニットＭＭＵは、リソース管理ユニットＲＭＵからこの肯定の応答を受け取るや否や、アドレス変換ユニットＡＴＵをアクティブ化することができる。アドレス変換ユニットＡＴＵは、処理データのアウトソーシングをモジュールＭで動作するアプリケーションから隠蔽するのに使用される。この隠蔽を実行するために、これ以上ローカル・メモリＬＭに記憶できない処理データのアドレスに、オフセットが与えられる。これらの、ローカル・メモリＬＭに記憶できない処理データのアドレスのオフセットは、リソース管理ユニットＲＭＵによって返されたグローバル・メモリＧＭ内のグローバル・バッファＦＢのアドレスに基づいて計算される。
【００２６】
このシステムの性能の追加の改善を達成するために、グローバル・バッファＦＢに記憶されたデータを、モジュールＭで実行されるアプリケーションによって使用される前にプリフェッチし、ローカル・メモリＬＭ内のプリフェッチ・バッファＰＢに記憶することができる。このデータをプリフェッチすることによって、グローバル・メモリＧＭ内のグローバル・バッファＦＢのより長い経路が、アプリケーションから隠蔽され、処理データをアウトソーシングすることによって導入される待ち時間も、このアプリケーションから隠蔽することができる。
【００２７】
グローバル・メモリＧＭ内のグローバル・バッファＦＢの割振りは、あるアプリケーションの実行時に実行することができ、あるいは、所定の時間期間の後に実行することができ、あるいはその代わりに、上で説明したようにあるイベントに基づいて実行することができる。
【００２８】
オンチップならびにオフチップのグローバル・メモリがこのシステムに存在する場合、グローバル・メモリ内のバッファの割振りは、コスト、電力、および帯域幅リソースを最適化するなどのために行われる。
【００２９】
本発明による動的メモリ割振りの欠点は、アドレス変換ユニットＡＴＵを導入することによって、モジュールＭのインターフェイスまたはシェルに追加の複雑さが追加されることである。さらに、使用可能な通信リソースを記憶するために、リソース管理ユニットＲＭＵをシステム・オン・チップに組み込む必要がある。データのエクスポートまたはアウトソーシングは、追加の待ち時間を導入する。さらに、リソース管理ユニットＲＭＵは、必要な通信経路を保証できるようにするために、グローバル・メモリでアクセス調停を実行する必要がある。
【００３０】
本発明の第２の実施形態によれば、図１からのモジュールＭを、デインターリーブ機能を実行するためにメモリを必要とするＵＭＴＳモデムとすることができる。この機能に必要なメモリの量は、データ・レート、インターリーブ・スパン（インターリーブするｍｓの長さ）、および誤り訂正の符号化レートに依存する。メモリが、最大のデータ・レートおよび最大のスパンについて寸法を定められている場合、２Ｍビットのメモリが必要である。通常、そのような大量のデータは、グローバル・メモリＧＭに置かれなければならない。その一方で、低いデータ・レートおよび最小のインターリーブ・スパンでの低い要求の事例が検討される場合、単に５０ｋビットが必要である。このメモリ空間の量は、ローカル・メモリＬＭに簡単に記憶することができ、したがって、これは、データをアウトソーシングする必要がないので、電力の利点に繋がる。したがって、携帯電話機が必要とする電力を減らすことが、常に好ましい。というのは、これが、携帯電話機の主な競争要因（「通話時間」）であるからである。
【００３１】
上述の実施形態は、本発明を制限するのではなく例示すること、および、当業者なら、添付の請求項の範囲から逸脱することなしに多数の代替実施形態を設計できることに留意されたい。請求項では、括弧の間に置かれた全ての符号が、その請求項を制限するものでないと解釈されるべきである。単語「comprising（含む）」は、請求項に列挙されたもの以外の要素またはステップの存在を除外しない。要素の前の単語「ａ」または「ａｎ」は、複数のそのような要素の存在を除外しない。複数の手段を列挙した装置請求項では、複数のこれらの手段を、１つの同一のハードウェアによって実施することができる。ある手段が相互に異なる従属請求項に記載されているという単なる事実は、これらの手段の組合せを有利に使用できないことを示さない。
【００３２】
さらに、請求項の符号は、その請求項の範囲を制限しないものと解釈されるべきである。
【図面の簡単な説明】
【００３３】
【図１】第１の実施形態によるシステム・オン・チップを示すブロック線図である。
【図１】
2007500390.tif 000003
【国際調査報告】
2007500390.tif 000004
2007500390.tif 000005