(57)【要約】  ストリームベース通信環境内にデータ処理システムが設けられる。このデータ処理システムは、複数の処理ジョブ(j1-j5)のストリームベース処理を行う少なくとも１つの処理ユニット(PU1,PU2)と、アドレスレンジを有するメモリ手段(MEM)と、前記メモリ手段(MEM)のアドレスレンジの一部分にそれぞれマッピングされた複数のＦＩＦＯメモリを具える。これらのＦＩＦＯの各々は前記複数の処理ジョブ(j1-j5)の１つと通信できるようにそれぞれ１つの処理ジョブに関連付けられる。前記メモリ手段(MEM)内で前記複数のＦＩＦＯにより現在使用されていないアドレスレンジを識別し、少なくとも１つのＦＩＦＯのアドレスレンジをメモリ手段(MEM)内の現在使用されていないアドレスレンジへ移動させるアドレス変換ユニットが設けられる。
2008529149.tif 000002
【特許請求の範囲】
【請求項１】
ストリームベース通信環境内のデータ処理システムであって、
複数の処理ジョブ(j1-j5)のストリームベース処理を行う少なくとも１つの処理ユニット(PU1,PU2)と、
アドレスレンジを有するメモリ手段(MEM)と、
前記メモリ手段(MEM)のアドレスレンジの一部分にそれぞれマッピングされた複数のＦＩＦＯメモリであって、それぞれ前記複数の処理ジョブ(j1-j5)の１つと通信できるように１つの処理ジョブに関連付けられた複数のＦＩＦＯと、
前記メモリ手段(MEM)内で前記複数のＦＩＦＯにより現在使用されていないアドレスレンジを識別し、少なくとも１つのＦＩＦＯのアドレスレンジをメモリ手段(MEM)内の現在使用されていないアドレスレンジへ移動させるアドレス変換ユニット(ATU)と、
を具えることを特徴とするデータ処理システム。
【請求項２】
前記アドレス変換ユニット(ATU)は、ＦＩＦＯのアドレスレンジを前記メモリ手段(MEM)内の次に高い又は次に低い現在使用されていないアドレスレンジへ移動させるように構成されていることを特徴とする請求項１記載のデータ処理システム。
【請求項３】
ＦＩＦＯに関連するリードポインタ(rp)とライトポインタ(wp)を具え、該リードポインタ及びライトポインタは、関連するＦＩＦＯの終りに到達するとすぐに、前記アドレス変換ユニット(ATU)によって、前記移動されたアドレスレンジに適合されることを特徴とする請求項１記載のデータ処理システム。
【請求項４】
複数の処理ジョブ(j1-j5)のストリームベース処理を行う少なくとも１つの処理ユニット(PU1,PU2)と、アドレスレンジを有するメモリ手段(MEM)と、前記メモリ手段(MEM)のアドレスレンジの一部分にそれぞれマッピングされた複数のＦＩＦＯメモリとを有するストリームベース通信環境内のデータ処理システムにおけるメモリのデフラグメンテーション方法であって、
ＦＩＦＯの各々を前記複数の処理ジョブ(j1-j5)の１つと通信できるように１つの処理ジョブに関連付ける手順と、
前記メモリ手段(MEM)内で前記複数のＦＩＦＯにより現在使用されていないアドレスレンジを識別する手順と、
少なくとも１つのＦＩＦＯのアドレスレンジをメモリ手段(MEM)内の現在使用されていないアドレスレンジへ移動させる手順と、
を具えることを特徴とするメモリデフラグメンテーション方法。
【請求項５】
ストリームベース通信環境内の電子デバイスであって、
複数の処理ジョブ(j1-j5)のストリームベース処理を行う少なくとも１つの処理ユニット(PU1,PU2)と、
アドレスレンジを有するメモリ手段(MEM)と、
前記メモリ手段(MEM)のアドレスレンジの一部分にそれぞれマッピングされた複数のＦＩＦＯメモリであって、それぞれ前記複数の処理ジョブの１つと通信できるように１つの処理ジョブに関連付けられた複数のＦＩＦＯと、
前記メモリ手段(MEM)内で前記複数のＦＩＦＯにより現在使用されていないアドレスレンジを識別し、少なくとも１つのＦＩＦＯのアドレスレンジをメモリ手段(MEM)内の現在使用されていないアドレスレンジへ移動させるアドレス変換ユニット(ATU)と、
を具えることを特徴とする電子デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、少なくとも１つの処理ユニット及びメモリを具えるデータ処理システム及びデータ処理システムにおけるメモリデフラグメンテーション方法に関する。
【背景技術】
【０００２】
特にストリーミング処理用の最近のエンベッドシステムにおいては、使用可能な(オンチップ)メモリの管理がその全体的性能にとって重要である。典型的にはメモリ管理のためにメモリマネージャが設けられる。これは基本的にはメモリの一部をアロケート及びデアロケートするプロシージャによって実行される。メモリはいくつかのブロックに分割できる。アロケーションは、連続番号のｎバイトのためのアドレス空間に対する要求により実行され、このようなアドレス空間のアドレスを指示するポインタが返送される。デアロケーションは、指示されたアドレス空間又はブロックがもはや必要とされない場合に、これを開放することにより行われる。更に、メモリマネージャはアロケートされたブロック間にあるアロケートされてないブロック又は解放されたブロックを記録する。しかし、アロケーションとデアロケーションが連続すると、メモリは断片化され、十分な連続アドレスが得られなくなるので新しいデータをメモリに書き込めなくなる。
【０００３】
メモリのデフラグメンテーションを行うために使用可能ないくつかの技術、即ちコンパクション及びガーベジコレクションがある。コンパクション技術は、アロケートされたすべてのブロックをメモリの一端に移動させて全ての空きアドレス空間が結合されるようにすることに基づく。アロケートされたブロックを移動させることは、アロケートされたブロック内の全てのデータをコピーすることを意味する。最初に、各ブロックのための新しい位置を計算してブロックを移動もしくはコピーすべき距離を決定する。次に各ポインタを、それが指示しているブロックに移動すべき量を加えることにより更新する。かかる後に、データを移動もしくはコピーする。ガーベジコレクションは、到達できないメモリ空間を識別し除去してこのメモリ空間を再利用する自動メモリマネジメントストラテジとみなすことができる。ガーベジコレクションは、アクセス不可のブロックを識別し、これはリファレンスカウンティング、マークアンドスイープ及びジェネレーショナルアルゴリズムにより実行できる。リファレンスカウンティング技術はブロックまでのポインタの数のカウント値を各ブロックに保持する。カウント値が零に低下すると、そのブロックは開放される。マークアンドスイープ技術は、すべての非ガーベジブロックにマーキングする処理と全てのブロックをスイーピングする処理からなり、マークされなかったブロックを開放ブロックのリストに戻すものである。スイーピングは通常上述したコンパクションも含む。ジェネレーショナルコレクションは、メモリを種々のススペースに分割する処理を含む。全てのブロックを新しいスペースにコピーして旧いスペースを開放し開放ブロックのリストに加えることができる。
【０００４】
特許文献１は、ヒープをダイナミックに拡大及び縮小することによるリアルタイムガーベジコレクションを具えたデータ処理システムに関する。メモリは少なくとも２つの部分に分割される。メモリ内の到達可能なメモリブロック又はラインが第２部分にコピーされ、到達不可能なブロック又はラインが第１メモリ部分に残される。この技術は、データをメモリ部分間でコピーしなければならないので、追加の帯域幅と追加のクロックサイクルを必要とする。
【０００５】
特許文献２は、メモリから使われなくなったオブジェクトを廃棄することによるガーベジコレクション用のメモリマネジメントプロセスに関する。アクセス可能な全てのオブジェクトを識別し、追加のコピースペースにコピーする。従って、データの追加のコピー処理が必要とされる。
【０００６】
非特許文献１には、ガーベジコレクタが開示されている。ページワイズコレクションを用いて開放メモリのページを探し出し、これらのページの再割り当てを必要に応じ空きリスト間で動的に行う。仮想メモリを用いて空きページを連続範囲に動的にリマップする。ここでは、フラグメンテーションは単一ページに減宿される。ページの数が少い場合には、リストが小さくなるとともに、フラグメンテーションが大きくなる。小さいフラグメンテーションに対してリストが大きくなり、大きな量のメモリスペースが犠牲になる。例えば１６Ｍバイトのメモリが１００Ｋｂのブロックに分割される場合、１００バイトのブロックが６４００００エントリを必要とするが、６４０エントリのリストのためのメモリスペースが必要とされる。
【０００７】
【特許文献１】米国特許第６，２８６，０１６号明細書
【特許文献２】米国特許第５，２１８，６９８号明細書
【非特許文献１】Lim他，“Memory-efficient real-time non-copying garbage collector”，”SIGPLAN Notices”，vol.34, no.3, pp.118-129, March 1999
【０００８】
上述の問題は、ＦＩＦＯを介して互いに通信する複数の処理ユニットを具えるデータ処理システム、即ちマルチプロセッサシステムにも生じる。ＦＩＦＯは、多数の論理ＦＩＦＯを割り当てることができる一つの連続メモリブロックである。複数の処理ユニットの一つはプロデューサとして作用し、データを生成しＦＩＦＯに書き込むが、他の処理ユニットはコンシューマとして作用し、ＦＩＦＯからデータを読出し消費する。しかし、ＦＩＦＯが満杯又は空である場合には、データの生成又は消費がストール又は中断する。
【０００９】
特に、いくつかの異なるジョブが単一のＦＩＦＯメモリをアクセスする１つ又はいくつかの処理ユニットで処理される場合に、いくつかのジョブがランタイムに開始及び停止されると、ＦＩＦＯメモリは断片化される。種々のプロセッシングジョブの各々はＦＩＦＯメモリの一部分を必要とする。ある時点では、一つのジョブが停止し、このジョブに関連する又はこのジョブのために確保されたメモリ位置はもはやこのジョブに使用されず、再び使用可能となる。しかし、次のジョブが前記ジョブの停止前に始まっていることもあり得るので、次のジョブは前記ジョブの後のメモリアドレスレンジに割り当てられる。しかし、この第２のジョブが停止すると、２つのジョブ間のアドレスレンジがどのジョブからのデータにも占有されないので、メモリが断片化される。従って、更に他のジョブがＦＩＦＯメモリに書込みアクセスを要求する場合、ＦＩＦＯメモリに十分なスペースが使用可能であっても、このスペースはコモンアドレスレンジと関連しないでＦＩＦＯメモリ内で断片化されているので、この要求は拒否される状況が起こり得る。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
従って、本発明の目的は、深刻な性能低下を生じることなく使用可能メモリをデフラグすることにより使用可能なメモリの効率的な使用を可能にするデータ処理システム及びメモリデフラグメンテーション方法提供することにある。
【課題を解決するための手段】
【００１１】
この目的は、請求項１に記載のデータ処理システム、請求項４に記載のメモリデフラグメンテーション方法並びに請求項５に記載の電子デバイスにより解決される。
【００１２】
このため、ストリームベース通信環境内にデータ処理システムを設ける。このデータ処理システムは、複数の処理ジョブのストリームベース処理を行う少なくとも１つの処理ユニットと、アドレスレンジを有するメモリ手段と、前記メモリ手段のアドレスレンジの一部分にそれぞれマッピングされた複数のＦＩＦＯメモリとを具える。ＦＩＦＯの各々は前記複数の処理ジョブの１つと通信できるようにそれぞれ１つの処理ジョブに関連付けられる。更に、前記メモリ手段内で前記複数のＦＩＦＯにより現在使用されていないアドレスレンジを識別し、少なくとも１つのＦＩＦＯのアドレスレンジをメモリ手段内の現在使用されていないアドレスレンジへ移動させるアドレス変換ユニットが設けられる。
【００１３】
従って、複雑なガーベジコレクションスキームを避けることができ、実際にデータをコピーする必要がなく、データコピーのためのオーバヘッドを低減できる。更に、種々のジョブの時間的挙動がメモリデフラグ時に影響されない。フラグメンテーションが許されない場合でも、開放リストを必要としないアプローチを開示している。
【００１４】
本発明の一つの特徴によれば、アドレス変換ユニットは、ＦＩＦＯのアドレスレンジをメモリ手段内の次に高い又は低い現在使用されていないアドレスレンジに移動させる。
【００１５】
本発明の他の特徴によれば、リードポインタとライトポインタがＦＩＦＯに関連する。これらのポインタの各々は、関連するＦＩＦＯの終りに到達するとすぐに、前記アドレス変換ユニットによって、前記移動されたアドレスレンジに適合される。単にライトポインタとリードポインタが更新されるだけであるので、デフラグメンテーションをランタイムに実効できる。
【００１６】
本発明は、  複数の処理ジョブのストリームベース処理を行う少なくとも１つの処理ユニットと、アドレスレンジを有するメモリ手段と、前記メモリ手段のアドレスレンジの一部分にそれぞれマッピングされた複数のＦＩＦＯメモリとを有するストリームベース通信環境内のデータ処理システムにおけるメモリのデフラグメンテーション方法にも関する。ＦＩＦＯの各々を前記複数の処理ジョブの１つと通信できるように１つの処理ジョブに関連させる。前記メモリ手段内で前記複数のＦＩＦＯにより現在使用されていないアドレスレンジを識別する。少なくとも１つのＦＩＦＯのアドレスレンジをメモリ手段内の現在使用されていないアドレスレンジへ移動させる。
【００１７】
本発明は、ストリームベース通信環境内の電子デバイスにも関する。この電子デバイスは、複数の処理ジョブのストリームベース処理を行う少なくとも１つの処理ユニットと、アドレスレンジを有するメモリ手段と、前記メモリ手段のアドレスレンジの一部分にそれぞれマッピングされた複数のＦＩＦＯメモリとを具える。ＦＩＦＯの各々は前記複数の処理ジョブの１つと通信できるように１つの処理ジョブに関連付けられる。前記メモリ手段内で前記複数のＦＩＦＯにより現在使用されていないアドレスレンジを識別し、少なくとも１つのＦＩＦＯのアドレスレンジをメモリ手段内の現在使用されていないアドレスレンジへ移動させるアドレス変換ユニットが設けられる。
【００１８】
本発明は、ＦＩＦＯベースのメディアストリーミング処理環境におけるメモリデフラグメンテーションを改善しようという考えに基づいている。論理ＦＩＦＯの位置は、ジョブの実行中に、メモリ内の最高／最低の空き位置へ一時に移動される。所定時間後に、全ての論理ＦＩＦＯはメモリ内に連続して位置する。これは、ＦＩＦＯのリード／ライトポインタを、該ＦＩＦＯの終りに到達したらすぐに、それより上又は下の空き位置に合わせることにより達成される。
【００１９】
本発明のこれらの特徴及び他の特徴は以下に記載する実施例を参照すると明らかになる。
【発明を実施するための最良の形態】
【００２０】
本発明の好適実施例のアーキテクチャは、特に多重処理環境内で連続メディアストリームを処理するために設計される。即ち、著しい性能低下を生じない、ランタイムリコンフィギュレーション機能を持つメディア処理アプリケーション用に設計される。このようなメディアアプリケーションの信号処理はＦＩＦＯの周期的通信動作を伴うストリームベース処理を含む。効率的な論理ＦＩＦＯの実現は、１つのＦＩＦＯに対するアドレスレンジを、ＦＩＦＯ内の次のワードをＦＩＦＯ内のポインタのインクリメントによって見つけ出せるように連続させる必要がある。
【００２１】
図１は、本発明の好適実施例に基づくシステムオンチップのアーキテクチャのブロック図である。このシステムは、第１及び第２処理ユニットＰＵ１，ＰＵ２と、メモリ手段ＭＥＭと、アドレス変換ユニットＡＴＵトランジスタを具える。第１及び第２処理ユニットＰＵ１，ＰＵ２は各々メモリＭＥＭ及びアドレス変換ユニットＡＴＵに接続される。メモリＭＥＭとアドレス変換ユニットＡＴＵも接続される。ここでは２つの処理ユニットを示すが、図１の構成は多数の処理ユニットで実現することもできる。処理ユニットＰＵ１，ＰＵ２とメモリＭＥＭとの間の接続はデータ接続又はデータバスに関連するものとしてよいが、アドレス変換ユニットＡＴＵを介する処理ユニットＰＵ１，ＰＵ２とメモリ手段ＭＥＭとの間の接続はアドレス接続又はアドレスバスに関連するもとしてよい。アドレス変換ユニットＡＴＵは、処理ユニットＰＵ１，ＰＵ２のアドレスレンジをメモリ手段ＭＥＭのアドレスレンジに変換する、即ち論理アドレスを実際の物理アドレスへ変換する、働きをする。処理ユニットＰＵ１，ＰＵ２の通信はＦＩＦＯベースとするのが好ましく、この場合にはＦＩＦＯがメモリ手段ＭＥＭにマッピングされる。即ちＦＩＦＯはメモリ手段ＭＥＭにマッピングされたメモリとする。
【００２２】
オプションとして、処理ユニットＰＵ１，ＰＵ２の１つを選択し、選択した処理ユニットＰＵ１，ＰＵ２をメモリ手段ＭＥＭに接続するために、スイッチング手段ＳＭ(図示せず)を処理ユニットＰＵ１，ＰＵ２とメモリ手段ＭＥＭとの間に結合することができる。これに加えて、またはこれに代えて、リソース管理ユニットＲＭＵ(図示せず)を設けることができ、これをアドレス変換ユニットＡＴＵとメモリ手段ＭＥＭに接続することができる。リソース管理ユニットＲＭＵは全データ処理システムのリソースを管理する。
【００２３】
図２は図１のメモリ手段のフラグメンテーション（断片化）の基本的表現を示す。ここでは、３つの異なる瞬時、即ちｔ＝ｘ，ｔ＝ｘ＋ｙ及びｔ＝ｘ＋ｙ＋ｚにおけるメモリ手段ＭＥＭ内の状態が示されている。メモリ手段ＭＥＭは０〜７０のアドレスレンジＡＤを具えている。各ジョブｊ１〜ｊ５はデータ処理システムで処理されるストリームの１つからの処理に対応し、ＦＩＦＯとして実行される。各ジョブはメモリ手段ＭＥＭのメモリスペースの一部分を使用し占有する。ｔ＝ｘにおいて、４つのジョブのデータがメモリＭＥＭに格納される。第１ジョブｊ１は１０個のアドレス又は１０個のメモリ位置、即ち０−１０を必要とする。第２ジョブｊ２は２０個のメモリ位置（１０−３０）を、第３ジョブｊ３は２０個のメモリ位置（３０−５０）を、第４ジョブｊ４は１０個のメモリ位置（５０−６０）を必要とする。ｔ＝ｘ＋ｙにおいて、第２ジョブｊ２の処理が停止し、メモリ位置１０−２９が不要になり、開放できる。ｔ＝ｘ＋ｙ＋ｚにおいて、３０個の連続するメモリ位置を必要とする第５ジョブｊ５が開始する。しかし、３０個の連続するメモリ位置はメッセージ手段ＭＥＭに存在しないので、第５ジョブは拒否しなければならない。
【００２４】
断片化されたメモリスペースの問題を避けるために、１つの論理ＦＩＦＯ、即ち１つのジョブと関連する論理ＦＩＦＯを、このジョブを実行しながら、即ちランタイムに、メモリ手段ＭＥＭの占有されていない最高位置又は最低位置に移動させる。これはデータを実際にコピーすることなく達成できる。もとの位置においてＦＩＦＯの終りに到達した後に、もっと上方の新しい位置において読み出し及び書き込みを続けることによりジョブのＦＩＦＯの位置を上方へ移動させる。この手法は図２に示す状態を参照して説明することができる。第３ジョブからのデータがアドレス４９に到達した後（ｔ＝ｘ＋ｙ）、このジョブからの次のデータをメモリアドレスレンジ１０−２９に連続的に書き込む。同じことが第３ジョブｊ３に関連するメモリスペース又はＦＩＦＯからデータが読み出される場合に適用される。換言すれば、ＦＩＦＯ内の最後のデータ項目がアクセスされ、このＦＩＦＯ内の最初のデータ項目へのアクセスにより処理が続行されると同時に、このＦＩＦＯの位置を上方（又は下方）の次の空きメモリスペースに変化させて、次のデータ項目をメモリ手段内のもっと上方(又は下方)の異なるアドレスに書き込む。ＦＩＦＯのアドレスレンジはＦＩＦＯの最終データ項目後に上方へ移動される。ライト及びリードポインタがアドレスレンジ１０−２９に移動されたらすぐに、ポインタを３０で始まるアドレスレンジに更新することにより、これまで第３ジョブで占有されていたメモリレンジ３０−４９を開放し、第４ジョブにより再使用させることができる。第４ジョブのＦＩＦＯが移動されたらすぐに、第５ジョブｊ５からのＦＩＦＯをメモリ手段ＭＥＭに収容することができる。
【００２５】
アドレス変換ユニットＡＴＵは、システムのアドレスバスをモニタするよう設計される。このユニットは各ＦＩＦＯの終りを検出する。ＦＩＦＯの終りに到達し、このＦＩＦＯの終りに対して書込み／読出しが生起したら、連続的な書込み／読出しのためにポインタ(又はアドレス)を次の上方空きアドレスに合わせる。従って、アドレス変換ユニットＡＴＵは、使用されてないメモリスペースを識別し、ＦＩＦＯのアドレスレンジをメモリフラグメンテーションが首尾よく阻止されるように上方へ移動させることができるか決定する必要もある。この実施例によれば、アドレス変換ユニットＡＴＵはハードウエアで実現される。しかし、ソフトウエア実現も可能である。
【００２６】
このような実現の擬似コードを以下に記す。
if (wp_base = base+range)
wp_base = p_base;
wp=wp_base+wp_curr
wp_curr=(wp_curr+1)%range;
if (rp = base+range)
rp-base=p_base;
signal_finish_move ();
rp=rp_base+rp_curr;
rp_curr=(rp_curr+1)%eange
【００２７】
論理ＦＩＦＯでは、リードポインタrpとライトポインタwpが使用される。リードポインタの値はコンシューマによってのみ更新され、ライトポインタの値はプロデューサによってのみ更新される。これらのポインタを更新するタスクは１つだけであるため、セマフォを提供する必要はない。コンシューマ及びプロデューサタスクは両ポインタを読み出すことができること勿論である。２つのポインタwp，rp間の差とＦＩＦＯの容量（ワード数）とから、ＦＩＦＯ内のデータ量およびＦＩＦＯ内のスペースの量を導出できる。例えば、トークンサイズが１ワードである場合、リードポインタからのライトポインタの減算は、どのくらいのデータワードがＦＩＦＯに格納されているかを示す。この場合、ＦＩＦＯのスペースは容量-(wp-rp)である。ポインタrp,wpのラップアラウンド効果はポインタ内に追加のＭＳＢビットを予約しておくことにより処理される。より詳しい情報は、Lippers他、”A Scalable and Flexible Data Synchronization Scheme for Embedded HW-SW Shared-Memory Systems”、 proceedings of the 14th international symposium on Systems synthesis (ISSS’01)、２００１年９月３０日―１０月３日、カナダ、モントレール、を参照されたい。
【００２８】
ＦＩＦＯは、上記の擬似コードに’base’として示されている所定のアドレスで始まる。ＦＩＦＯ中のアクセスはベースに相対的である。ポインタwpに対する’base’wp_baseは、ライトポインタが現在位置wp_curr(base+range)にてＦＩＦＯの終りを越えた後に変化する。このように新しいデータはメモリの低いアドレスに書き込まれ、ＦＩＦＯはメモリ内を上方へ（アドレス０の方向に）移動する。リードポインタrpが(base+range)を超えたら、ＦＩＦＯは移動し終えている。ＦＩＦＯの新しい位置への移動に要する時間は、最小読取りデータレートが与えられれば、計算できる。
【００２９】
トークンが１ワードより長い場合には、ＦＩＦＯ内のトークンの数もポインタwp及びrpから計算することができる。ＦＩＦＯ内のトークンの数はfloor((wp-rp)/tokensize)に対応する。トークン内のデータワードの読出しはポインタrpを変化するがこの等式の結果を変化しない。それゆえ、プロデューサは解放されたトークンはないこと及び使用可能な追加のスペースはないことを知ることができる。
【００３０】
オンチップメモリの総容量をできるだけ小さく維持するために、所要のデータのバッファリングをできるだけ効率よく行うのが好ましい。これは、処理すべきストリームごとにバッファ又はＦＩＦＯを設けることにより行うことができるが、この場合にはこのバッファをストリームのピーク帯域幅要求を処理できる必要がある。代替方法では、複数の小さいバッファの変わりに単一の大きな共用バッファを設ける。複数の処理ユニットのバッファへのアクセスは処理ユニット間のスイッチングにより実行できる。しかし、全てのデータストリームに対して（オーディオ又はビデオ処理のために）(難しい)リアルタイム制約を保証するために、各ストリームがいつでも必要な量のバッファスペースにアクセスできなければならない。その結果、バッファスペース又はキャッシュスペースを別々のストリームに割り当てることができる。
【００３１】
種々のデータストリームが互いに独立に動作し、キャッシュ又はバッファスペースが種々のストリームに動的に割り当てられ、また割り当て解除されるので、ランタイム中の種々のストリームのリコンフィギュレーションは極めて難しく、アクティブストリームがなければ一つの瞬間も存在しない。
【００３２】
これに代えてまた加えて、バッファ又はキャッシュを、ストリームベース周期的処理のためにセクションと、ランダムアクセスのための他のセクション、例えばデバッガとに分割することができる。
【００３３】
本発明の上述した原理はデータ処理システムに代わりに電子デバイスで実現することもできる。
【００３４】
上述した実施例は説明のためであって本発明を限定するものではなく、当業者であれば添付の特許請求の範囲から逸脱することなく多くの代替実施例を設計することが可能である。特許請求の範囲において、構成要素の後の括弧内の参照符号は特許請求の範囲を限定するものではない。「具える」は、請求項に記載の要素や手順以外の要素や手順を除外するものではない。数を特定してない要素は複数の存在を除外するものではない。また、装置の請求項に記載されている手段のいくつかは一つの同一ハードウエア要素で実現してもよい。また、いくつかの手段が互いに異なる従属請求項に記載されていることのみをもって、これらの手段の組合せは有利に使用できないことを意味するものではない。
【図面の簡単な説明】
【００３５】
【図１】本発明によるシステムオンチップの基本アーキテクチャのブロック図である。
【図２】メモリのフラグメンテーションの基本的表現を示す。
【図１】
2008529149.tif 000003
【図２】
2008529149.tif 000004
【国際調査報告】
2008529149.tif 000005
2008529149.tif 000006