データ処理システム10であって、複数のタスクをスケジュールするよう配置されるタスクスケジューリングデバイス12と;複数の処理ユニット16、18、20とを備え、前記複数の処理ユニット16、18、20の少なくとも一部は、前記複数のタスクのうちの1以上の割当タスクを実行し、かつ割当タスクごとに、前記タスクスケジューリングデバイスへ前記割当タスクの実行が終了したことを示す少なくともタスク状態イベントを提供するよう構成され、前記タスクスケジューリングデバイスは、タスクスケジューラ制御器ユニット24を備え、前記タスクスケジューラ制御器ユニット24は、1以上の以前に割当てられたタスクと関連付けられる前記タスク状態イベントのうちの1以上を受信することに応じて、前記複数のタスクのうちの1つ以上を、それぞれ前記割当タスクを実行するよう構成される前記処理ユニットのうちの対応する1つに割当てるよう配置される、データ処理システム。前記データ処理システムは、フローチェーンバッファユニット22を備え、前記フローチェーンバッファユニット22は、前記複数のタスクのうちの1以上のうちの1以上の処理フローおよび1以上の関連フローチェーンを定義する1以上のタスクパラメータテーブルを保存するよう配置され、前記フローチェーンそれぞれは、前記複数の処理ユニットのうちの1以上を備え、前記タスクスケジューリングデバイスは、前記複数のタスクを保存するよう配置されるタスクレジスタ14を備え、前記複数のタスクそれぞれは、前記1以上の処理フローと関連付けられ、前記タスクスケジューラ制御器ユニットは、前記複数のタスクのうちの前記1以上を、前記1以上の処理フローのうちの対応する1つに応じて割当てるよう配置される、請求項1に記載のデータ処理システム。前記データ処理システムは、映像処理システムである、請求項1または2に記載のデータ処理システム。前記タスクスケジューリングデバイスは、1以上のリアルタイムタスクを受信しおよびスケジュールするよう配置される、請求項1-3いずれか1項に記載のデータ処理システム。前記タスクスケジューラ制御器ユニットは、入力キューを備え、前記タスクスケジューリングデバイスは、前記タスク状態イベントを受信し、前記タスクスケジューリングデバイスは、調停ユニット28を備え、前記調停ユニット28は、前記タスク状態イベントを前記入力キューに挿入するよう配置される、請求項1-4いずれか1項に記載のデータ処理システム。前記タスクスケジューリングデバイスは、タスクを、前記タスクの少なくとも部分的に並列な実行のために前記複数の処理ユニットのうちの異なるものに割当てるよう配置される、請求項1-5いずれか1項に記載のデータ処理システム。前記タスクスケジューリングデバイスは、複数のタスク出力キュー30、32、34を備え、前記複数のタスク出力キュー30、32、34それぞれは、前記複数の処理ユニットのうちの対応する1つに接続可能であり、前記タスクスケジューラ制御器ユニットは、前記複数のタスクのうちの1以上を、前記複数のタスクのうちの前記1以上を前記タスク出力キューのうちの1以上へ挿入することによって前記割当タスクを実行するよう構成される前記処理ユニットのうちの前記対応する1つに割当てるよう配置される、請求項1-6いずれか1項に記載のデータ処理システム。前記タスクスケジューリングデバイスは、前記複数のタスク出力キューに接続される複数のキュー制御ユニット36、38、40を備え、前記複数のキュー制御ユニットそれぞれは、接続されるタスク出力キューからのタスクを、対応する処理ユニットに前記対応する処理ユニットの利用可能情報に応じて割当てるよう配置される、請求項7に記載のデータ処理システム。前記複数のキュー制御ユニットのうちの少なくとも1つは、接続されるタスク出力キューからのタスクを対応する処理ユニットに前記タスクの優先度に応じて割当てるよう配置される、請求項8に記載のデータ処理システム。前記データ処理システムは、1以上の共用メモリバッファユニット42、44、46、48を備える、請求項1-9いずれか1項に記載のデータ処理システム。前記データ処理システムは、切り替えユニット50を備え、前記切り替えユニット50は、前記複数の処理ユニットを前記1以上の共用メモリバッファユニットに接続するよう配置される、請求項10に記載のデータ処理システム。前記タスクスケジューリングデバイスは、第2の制御器ユニット142を備え、前記第2の制御器ユニット142は、前記1以上の処理フローを開始するよう配置される、請求項1-11いずれか1項に記載のデータ処理システム。データ処理システムにおけるタスクスケジューリングの方法であって、前記データ処理システムは、タスクスケジューラ制御器ユニットを有するタスクスケジューリングデバイスと;少なくともその一部が複数のタスクのうちの1以上の割当タスクを実行するよう構成される複数の処理ユニットとを備え、前記方法は、前記複数のタスクを前記タスクスケジューリングデバイスに提供すること162と;前記複数のタスクのうちのタスクを前記複数の処理ユニットに割当てること164と;割当タスクごとに、前記タスクスケジューリングデバイスに、前記割当タスクの実行が終了することを示す少なくともタスク状態イベントを提供すること166と;前記タスクスケジューラ制御器ユニットによって、前記複数のタスクのうちの1以上を、前記割当タスクを実行するよう構成される前記処理ユニットのうちの対応する1つに、1以上の以前に割当てられたタスクに関連付けられる前記タスク状態イベントのうちの1以上を受信することに応じて、割当てること168とを有する、方法。プログラム可能装置上で実行するときに、請求項13に記載の方法のステップを実行するコード部分を備える、コンピュータプログラム製品。ポータブルコンピュータ、スマートフォン、または同類のものなど、モバイルデバイスにおけるデータ処理システムは、または車両などの自力推進装置の部分であるデータ処理システムは、制限された処理能力を提供してもよく、効率的な使用が必要となる。本発明は、付属の請求項に記載するようなデータ処理システム、データ処理システムにおけるタスクスケジューリングの方法、およびコンピュータプログラム製品を提供する。本発明の具体的な実施形態は、従属請求項に記載されている。本発明のこれらの態様および他の態様は、以下に記載される実施形態から明らかとなり、それらを参照することによって明瞭になろう。本発明のさらなる詳細、態様、および実施形態を、例としてのみ、図面を参照して記載する。図面において、同様の参照符号は同様のまたは機能的に類似の要素を特定するために使用される。図面内の要素は簡潔かつ明瞭にするために示されており、必ずしも原寸に比例して描かれてはいない。本発明の例示されている実施形態は、大部分について、当業者に既知の電子コンポーネントおよび回路を使用して実装されてもよいため、本発明の基礎となる概念の理解および評価のために、ならびに本発明の教示を分かりにくくせず当該教示から注意を逸らさせないために、詳細は例示されているような必要と考えられる範囲を超えては説明されない。図1を参照すると、データ処理システムの第1実施形態の一例の図が、概略的に示されている。データ処理システム10は、複数のタスクをスケジュールするよう配置されるタスクスケジューリングデバイス12と、複数の処理ユニット16、18、20とを備え、少なくとも複数の処理ユニットの一部は、複数のタスクのうちの1以上の割当タスクassignedtaskを実行し、かつ割当タスクごとに、タスクスケジューリングデバイス12へ、割当タスクの実行が終了したことを表す少なくともタスク状態イベントを提供するよう構成される。タスクスケジューリングデバイス12は、複数のタスクのうちの1以上を、それぞれ割当タスクを実行するよう構成される処理ユニット16、18、20のうちの対応する1つへ、1以上の以前に割当てられたタスクと関連付けられるタスク状態イベントのうちの1以上を受信することに応じて割当てるよう配置されるタスクスケジューラ制御器ユニット24を備える。イベント駆動型タスクスケジューリング手法を使用するデータ処理システムは、高速で省資源のタスク検索および解除を提供してもよく、従来の全検索を回避してもよい。示されるデータ処理システム10のタスクスケジューリングデバイス12は、タスクを処理ユニット16、18、20に割当て、かつ処理ユニット16、18、20間にタスク割当てを分散するよう配置されてもよい。タスクは、処理ユニットによってロードおよび実行され得る命令からなる処理アルゴリズムであってもよい。処理ユニット16、18、20は、データ処理システム10の処理デバイスであってもよい。処理ユニット16、18、20は、例えばマイクロプロセッサ、マイクロ制御器ユニットMCU、グラフィックス処理ユニットGPU、または任意あるいは専用タスクのプログラム命令を実行するよう配置される任意の他の回路であってもよい。処理ユニットは、例えばハードウェア加速エンジンであってもよく、すなわち専用タスクの加速実行に最適化された処理デバイスであってもよい。タスクを処理ユニットに割当てることは、処理資源を、すなわち処理ユニットおよび入力および出力バッファを、割当タスクおよび処理されるデータに割り振ることを指してもよい。スケジューリングは、タスクが利用可能な処理ユニットで起動するよう割当てされる方法を指してもよい。タスクスケジューリングデバイス12は、タスクを受信し、処理ユニット16、18、20の使用率を高め、データ処理システム10の性能を向上させるために、どのタスクが、処理ユニット16、18、20のうちのどのユニットへ、いつ割当てられるかを決定するよう配置されてもよい。データ処理システム10の性能は、例えばタスク処理量を、すなわち単位時間に完了するタスクの数を増やすことによって、またはタスクごとの待ち時間および応答時間を削減することによって向上されてもよい。タスクを受信することは、例えば特定のタスクのタスク記述子を受信することを指してもよい。タスク記述子は、例えばタスク識別子、タスクデータ、ならびに関連入力および出力バッファに対するアドレスまたはポインタを備える一連の情報であってもよい。タスクは、例えばタスクと関連付けられる処理ユニットの識別子番号、および次に処理されるデータを受信するための関連入力バッファまたは入力バッファリストIBLに対するポインタまたはアドレス、および処理データを受信するための関連出力バッファまたは出力バッファリストOBLに対するポインタまたはアドレスによって定義されてもよい。さらに、タスクを受信することは、タスク識別子またはタスク記述子に対するポインタのみを受信することを指してもよく、または特定のタスクに関するすべてのデータを受信することを指してもよい。同様に、タスクを割当てることは、タスク識別子またはタスク記述子または選択される処理ユニットがタスクを実行または動作させることを可能とするための任意の他の情報を割当てることを指してもよい。複数のタスクを保存するよう配置されるタスクレジスタ14は、例えばタスクデータ、タスク識別子、および/またはタスク記述子を保存するよう配置される、例えば任意のレジスタ、バッファ、または他のメモリデバイスであってもよい。新しいタスクは、タスクレジスタに動的に追加されてもよい。示されるデータ処理システム10は、複数のタスクうちの1以上の1以上の処理フロー、および1以上の関連フローチェーンを定義する1以上のタスクパラメータテーブルを保存するよう配置されるフローチェーンバッファユニット22を備えてもよく、フローチェーンはそれぞれ複数の処理ユニットのうちの1以上を備えてもよい。タスクスケジューリングデバイス12は、複数のタスクを保存するよう配置されるタスクレジスタ14を備えてもよく、複数のタスクはそれぞれ1以上の処理フローと関連付けられる。タスクスケジューラ制御器ユニット24は、1以上の処理フローのうちの対応する1つに応じて、複数のタスクのうちの1以上を割当てるよう配置されてもよい。タスクパラメータテーブルに定義されるタスクの処理フローは、例えば一連のデータを処理するときのタスクの間の依存性および必要な連続性を定義する情報の連結リストまたは他のソースであってもよい。単に一例を挙げると、圧縮映像データは、最初に解凍されてもよく、その後、拡大upsizing、色空間変換、および表示強化displayenhancementが、復号化された映像コンテンツを表示する前に映像データに適用されてもよい。タスクの処理フローは、1以上の関連フローチェーンと関連付けられるか、またはマップされてもよい。フローチェーンバッファユニット22は、例えば連結リストを包含する共用メモリバッファであってもよい。タスクスケジューリングデバイスは、連結リストに応じて1つまたはいくつかの処理フローの実行を管理してもよい。フローチェーンは、複数の処理ユニット16、18、20のうちの1以上を備えてもよく、すなわちフローチェーンは、データ処理システム10の処理ユニットのうちの1以上を使用してタスクの処理フローを実行する方法の情報を備えてもよい。フローチェーンは、例えばフローチェーンが特定の処理ユニットのポインタまたは他の識別子を備えるとき、特定の処理ユニットを備えると見なされてもよい。これにより、処理フローのタスクは、タスク割当て時のタスクの間の依存性の全検索および任意の外部メモリに対する高いアクセスレートの必要なしに、割当タスクを実行するよう構成される処理ユニット16、18、20とマップされることができ、データ処理システム10の待ち時間が削減され、QoSが向上する。処理ユニット16、18、20は、タスクスケジューリングデバイス12に接続されてもよく、処理するタスクを受信してタスクの実行が終了したことを示すタスク状態イベントを生成してもよい。タスク状態イベントは、タスクスケジューリングデバイス12へ伝えられてもよく、タスクスケジューリングデバイス12がさらなるタスクを特定の処理ユニットに割当て可能となってもよい。タスクスケジューリングデバイス12は、同じタスクの処理を繰り返すためのタスク状態条件を分析するよう配置されてもよく、例えば同じタスクを、同じまたは別の処理ユニット16、18、20に割当ててもよい。追加的にまたは代替的に、タスクスケジューリングデバイス12は、データバッファを終了タスクと共用するタスクを処理するためのタスク状態条件を分析するよう配置されてもよい。タスクスケジューリングデバイス12は、別のタスクを同じ処理ユニットに割当てるよう配置されてもよい。例えば、受信されたタスク状態イベントにより、タスクスケジューリングデバイス12は、以前に終了したタスクによって処理されたデータのフロー処理を開始することが可能となってもよく、すなわち処理フローの後続のタスクを関連フローチェーンの適切な後続の処理ユニットに割当てることが可能となってもよく、これは複数の処理ユニット16、18、20のうちの同じまたは異なる1つであってもよい。処理フローおよびフローチェーンは、イベント駆動型であってもよい。タスクスケジューリングデバイス12は、あらかじめ定義された許可されたフローの間で選択する代わりに、完全なるモジュラーベースでタスクのフローを処理する処理ユニットフローチェーンを選択してもよい。タスクスケジューリングは、例えば記載のデータ処理システム10をホストしてもよいコンピュータの中央処理ユニットによる干渉なしに、タスクスケジューリングデバイス12によって管理されてもよい。タスクスケジューリングデバイス12のタスクスケジューラ制御器ユニット24は、例えばタスクを、処理フローに一致すること、および1つ以上の以前に割当てられたタスクと関連付けられるタスク状態イベントを受信することに応じて、割当タスクを実行するよう構成または設定される処理ユニット16、18、20のうちの対応する1つに割当てるよう接続される処理デバイスまたは論理回路であってもよい。図1に示されるデータ処理システム10は、例えば映像処理システムであってもよい。それは、高度な映像処理システムまたはデバイスであってもよく、例えば幅広い処理能力およびハードウェア加速エンジンを、必要なタスクを実行する処理ユニット16、18、20として提供してもよい。各タスクは、映像または画像フレームの一部分の処理専用であってもよい。示されるデータ処理システムは、タスクごとに最小の電力および複雑性および最大の処理量およびQoSを生じる映像アプリケーションのタスク切り替えおよび多重送信の効率的な方法を提供してもよい。示されるシステム10は、複数の映像アルゴリズムを処理することを可能にしてもよい。示されるシステムは非常に拡張性があると見なされてもよい一方で、さらなるハードウェア加速ユニットは、例えばより複雑な処理フローの実行を可能としてもよいが、同じタスクスケジューリングデバイス12で管理されてもよいため、小領域のみ、例えばタスクスケジューリングデバイス12の小さなダイ面積のみを必要としてもよい。タスクスケジューリングデバイス12は、データチャネルを介してタスクレジスタユニット24に接続されてもよく、タスクを受信するよう配置されてもよい。タスクはオフラインタスクであってもよく、すなわち非リアルタイムタスクであってもよく、タスクスケジューリングデバイス12のタスクスケジューラ制御器ユニット24は、例えばタスクの処理量を最大化するか、またはタスク処理の待ち時間を最小化するよう配置されてもよく、または処理量と待ち時間との間の目指す妥協点に対してデータ処理システム10のQoSを最適化するよう構成されてもよい。データ処理システム10はさらに、タスクデータを受信するよう接続可能な入力26を備えてもよい。タスクデータはリアルタイムタスクデータを備えてもよく、タスクスケジューリングデバイス12は1つ以上のリアルタイムタスクを受信およびスケジュールするよう配置されてもよい。例えば、映像処理システムは、通信ネットワークを通して映像ストリームを受信するか、またはライブ映像通信をサポートするよう配置されてもよい。他のリアルタイム環境は、例えばロボットにおける、例えば自動制御のモバイルデバイスであってもよい。リアルタイムタスクは、イベントからシステム応答までの運用期限によって特徴づけられてもよい。リアルタイムタスクは、データ処理ユニット10の応答時間に対する厳しい制約strictconstraints内で実行されてもよい。タスクスケジューリングデバイス12は、いくつかの処理ユニット16、18、20を使用して、高出力データレートに適合するためにおよび高QoSを提供するために、最小のメモリ帯域、オーバーヘッド、および最大の効率で、効率的な方法において、入力データへの異なるオフラインおよびリアルタイムタスク動作を実行可能としてもよい。タスクスケジューリングデバイス12のタスクスケジューラ制御器ユニット24は、入力キューを備えてもよく、タスクスケジューリングデバイス12は、タスク状態イベントを受信し、タスク状態イベントを入力キューへ挿入するよう配置される調停ユニット28を備えてもよい。調停ユニット28または調停器は、例えば処理ユニット16、18、20と調停ユニット28との間の制御チャネルを介して、処理ユニット16、18、20によって生成される少なくともタスク状態イベントを受信するよう接続されてもよい。調停ユニット28または調停器はさらに、他のイベントを受信しても、またはしなくてもよい。調停ユニット28は、タスクレジスタ14からのタスク状態イベントまたは対応タスクまたは対応タスクを識別する他のデータを、タスクスケジューラ制御器ユニット24の入力キューに挿入してもよい。調停ユニット28はまた、タスクスケジューラ制御器ユニット24の入力キューに挿入するためのリアルタイムタスクまたは他の新しいタスクを受信する入力26に接続可能であってもよい。タスクスケジューラ制御器ユニット24の入力キューにエントリを有する各タスクは優先識別子を割当てていてもよく、これは例えば、処理の優先度を反映する位置で入力キューにエントリを挿入する調停ユニット28によって使用されてもよい。データ処理システム10の別の実施形態において、優先度情報は、調停ユニット28の代わりにタスクスケジューラ制御器ユニット24によって評価されてもよい。入力キューは、タスクスケジューラ制御器ユニット24に備えられてもよく、またはタスクスケジューラ制御器ユニット24に接続される別個のユニットとして実装されてもよい。タスクの処理デバイスへのパイプライン形式割当てにおいて、タスクスケジューリングデバイス12は、タスクの少なくとも部分的に並列な実行のために複数の処理ユニット16、18、20のうちの異なるものにタスクを割当てるように、配置されてもよい。タスクは、例えば1つ以上の処理フローに関連付けられてもよい。1以上の処理フローは、例えば同じ処理フローであってもよく、すなわち同じ処理フローを構成するタスクが利用可能な処理ユニット16、18、20にわたって分散されてもよい。追加的にまたは代替的に、処理フローは、例えば異なる処理フローであってもよく、すなわち異なる処理フローと関連付けられるタスクは利用可能な処理ユニット16、18、20に割当てられてもよい。換言すれば、異なる処理フローに属するタスクは、複数の処理ユニットで並列に実行されてもよい。処理フローの一定のタスクの連続処理が必須ではない場合、同じ処理フローに属するタスクもまた、利用可能な処理ユニット16、18、20で並列に実行されてもよい。処理ユニット16、18、20のうちの1以上は、例えば時分割多重化モードにおいて単一および複数の処理フローのタスクを実行するように、配置されてもよい。処理ユニット16、18、20は、同じ処理フローまたは異なる処理フローの異なるセグメント処理専用のタスクを並列または時分割多重化で動作してもよい。タスクの少なくとも部分的に並列な実行は、タスクの全体処理時間のうちの少なくとも一部で並列なタスクの実行であってもよい。一部の処理ユニット16、18、20は、例えば同じ機能性を少なくとも部分的に提供してもよく、マルチスレッドサポートを提供するよう配置されてもよい。タスクスケジューリングデバイス12は、複数のタスク出力キュー30、32、34を備えてもよく、それぞれが複数の処理ユニット16、18、20のうちの対応する1つに接続可能である。タスクスケジューラ制御器ユニット24は、タスク出力キュー30、32、34のうちの1以上に複数のタスクのうちの1以上を挿入することによって割当タスクを実行するように配置される処理ユニット16、18、20のうちの対応する1つに複数のタスクのうちの1以上を割当てるように、配置されてもよい。処理ユニット16、18、20それぞれの専用タスク出力キューを提供することは、ボトルネックおよび性能劣化のヘッドオブラインブロッキングを回避するのに役立ってもよく、かつ高タスク処理量および応答時間を可能としてもよく、それによってQoSが高まり、リアルタイムアプリケーションの適応性が向上する。処理ユニット16、18、20それぞれのタスク出力キューを提供することは、タスクの並列なキュー化、処理ユニットのマルチスレッドおよび並列計算を可能としてもよい。タスクスケジューリングデバイスは、複数のタスク出力キュー30、32、34に接続される複数のキュー制御ユニット36、38、40を備えてもよく、複数のキュー制御ユニットそれぞれは、接続されるタスク出力キュー30、32、34からのタスクを対応する処理ユニット16、18、20へ対応する処理ユニットの利用可能情報に応じて割当てるよう配置される。利用可能情報は、特定の処理ユニットによって伝えられるタスク状態イベントに備えられるか、またはタスク状態イベントから生じてもよく、または例えば、専用イベントに備えられてもよく、これは例えば、対応するキュー制御ユニットへ直接的に伝えられてもよい。新しいタスクは、例えば以前のタスクが終了した後に1つのクロックサイクルで割当てられてもよく、処理ユニットの完全利用が可能となる。キュー制御ユニットまたはキュー投入機器QLMは、例えば対応する接続タスク出力キューにおけるタスクを管理し、次の割当タスクを接続処理ユニットに割り振るよう配置されるキュー状態機器を実装する任意の論理回路または処理デバイスであってもよい。データ処理システム10の一実施形態において、複数のキュー制御ユニット36、38、40のうちの少なくとも1つは、タスクの優先度に応じて対応する処理ユニット16、18、20に接続されたタスク出力キュー30、32、34からのタスクを割当てるよう配置されてもよく、すなわちタスクスケジューラ制御器ユニット24および調停ユニット28は、削減された複雑さを備えてもよく、例えば優先情報を使用してもよいタスクのタスク割り振りを管理するキュー制御ユニット36、38、40のみが、優先情報を評価するために回路を備えてもよい。調停ユニット28およびタスクスケジューリング制御器24の削減された複雑さにより、非常に速い調停およびタスクスケジューリングがそれぞれ可能となってもよい。各タスク出力キュー30、32、34内で、キュー制御ユニット36、38、40は、接続された処理ユニット16、18、20においてタスク優先度に対して起動される次のタスクを選択してもよい。タスクと関連付けられる優先度は、例えば共用メモリバッファの利用可能性、タスク出力キューにおける待ち時間、またはタスクが属する処理フローの静的優先度に応じて、動的に適応されてもよい。データ処理システム10は、1以上のメモリバッファユニットを備えてもよい。1以上のメモリバッファユニットは、例えば処理ユニット16、18、20に割当てられるタスクごとに入力バッファおよび出力バッファを備えるよう設定可能であってもよい。1以上のメモリバッファユニットは、例えば共用メモリバッファユニットであってもよく、すなわちデータ処理システム10は1以上の共用メモリバッファユニット42、44、46、48を備えてもよい。共用メモリは、例えばそれらの間の通信を提供するか、または冗長コピーを回避するために、複数のタスクを実行する複数の処理ユニット16、18、20によってアクセスされてもよいメモリであってもよい。例えば、第1の処理ユニット16によって実行される第1のタスクの出力バッファは、データをコピーまたは移動することなく、第2の処理ユニット18によって実行される第2のタスクの入力バッファに変更されてもよい。第2の処理ユニット18は、第1の処理ユニット16の処理結果をさらなる処理の入力として受信してもよい。異なるタスクの間の内部メモリ共用バッファは、メモリ負荷と、中間結果intermediateresultsのために外部メモリデバイスにアクセスする必要性とを削減してもよい。示されるデータ処理システム10は、メモリ負荷および電力消費を削減してもよく、一方で追加画像または映像処理加速器または他の処理ユニットを追加する拡張可能アーキテクチャを提供してもよい。データ処理システム10は、複数の処理ユニット16、18、20を1以上の共用メモリバッファユニット42、44、46、48に接続するよう配置される切り替えユニット50を備えてもよい。切り替えユニット50は、例えば処理ユニット16、18、20を共用メモリバッファユニット42、44、46、48のうちの1以上に接続するよう配置されるクロスバースイッチまたは任意の他の切り替えデバイス、または多重化装置であってもよい。図2を参照すると、フローチェーンの第1の例の図が概略的に示されている。示されるフローチェーンは、例えば映像処理システムの処理ユニットを備えてもよい。フローチェーンは、例えば、映像直接メモリアクセスユニット52VDMA、サイズ変更および強化フィルタユニット54REF、ウェーブレット符号化/復号化ユニットWCD、および圧縮データ直接メモリアクセスユニット56CDMAを備えてもよい。例えば他の画像または映像符号化および復号化、動き補正フレームレート変換または立体映像処理など、他のタスクを実行する他の処理ユニットは、例えば画像直接メモリアクセスユニットIDMACまたはリアルタイム直接メモリアクセスユニットRDMAなどの映像処理システムのフローチェーンにおいて使用されてもよい。図3を参照すると、データ処理システムの第2実施形態の一例の図が概略的に示されている。図1に示されるデータ処理システムと異なるブロックのみが、詳細に記載される。示されるデータ処理システム60は、例えば図2に示されるフローチェーンを使用してタスクの処理フローを実行するよう配置されてもよい。タスクスケジューリングは、制御器ユニットによって、例えば縮小命令セット制御器ユニット図示せずによってイネーブルにされてもよい。タスク反復は、入力キュー62を有するタスクスケジューラ制御器ユニットによってイネーブルにてもよい。処理フローを実行するとき、図2に示されるフローチェーンを使用して、第1のタスクは、VDMA処理ユニット52による実行のためタスク出力キュー64に加えられてもよい。処理ユニット52、54、56、58、61は、読み込みおよび書き込みアクセスのために切り替えユニット80を介して、共用メモリバッファ74、76、80に接続されてもよい。関連処理フローの第1のタスクが完了すると、タスク状態イベントは、調停ユニット66へ送られてもよく、調停ユニット66は、処理フローの次のタスクをタスクスケジューラ制御器入力キュー62へ追加してもよい。タスクスケジューラ制御器ユニットは、処理ユニット54によって処理するためにタスク出力キュー68に次のタスクを割当ててもよい。タスクの完了および対応するタスク状態イベントの生成後、調停ユニット66は、処理フローの次のタスクをタスクスケジューラ制御器入力キュー62に反復して追加してもよく、その後、タスクスケジューラ制御器入力キュー62は、タスク出力キュー70に追加されてもよい。その後、タスクは、タスク出力キュー70に接続される2つの処理ユニット58、61のうちの処理ユニット58に割り振られてもよい。別のタスクの反復が、タスク出力キュー72および処理ユニット56を使用して、続いてもよい。他の処理フローに属する他のタスクは、記載されるタスクのスケジューリング後または合間の任意の時間にスケジュールされてもよい。図4を参照すると、データ処理システムの第3実施形態の一例の図が概略的に示されている。図1に示されるデータ処理システムと異なるブロックのみが、詳細に記載される。図示されるデータ処理システム90は、タスクスケジューリングデバイス92と、共用メモリバッファユニットであってもよい複数の内部メモリバッファユニット94、96、98、100、102、104と、受信された入力映像データを符号化または復号化するか、または映像符号化アルゴリズムをタスクスケジューリングデバイス92の処理ユニットに提供するよう配置されてもよい映像符号化ユニット106と、例えば映像フレームのグラフィックスオーバーレイを作成する専用グラフィックス処理を提供するよう配置されるグラフィックス処理ユニット108GPUと、を備える映像処理システムであってもよい。タスクスケジューリングデバイス92は、例えばタスクを複数の処理ユニット112、114、116、118、120、122、124に割当てるよう配置されるタスクスケジューラ制御器ユニット110または第1の制御器ユニットを備えてもよい。処理ユニットは、例えばVDMAユニット112、CDMAユニット120、IDMACユニット122およびRDMAユニット124を備えてもよい。入力映像データを受信するために、データ処理デバイス90は、例えばカメラセンサに接続可能なカメラセンサインタフェースなどの入力データインタフェース126を備えてもよい。データ処理デバイス90は、モニタまたは他の表示スクリーンなどの表示ユニットに接続可能な、表示制御器およびインタフェースなどのデータ出力制御器およびインタフェース128を備えてもよい。処理ユニット112、114、116、118、120、122、124は、データ処理システム90の内部メモリバッファユニット94、96、98、100、102、104と切り替えユニット130を介して接続可能であってもよく、切り替えユニットは、例えばクロスバースイッチCBSであってもよい。データ処理システム90は、外部メモリインタフェース134EMIを介して外部メモリデバイス132に接続可能であってもよい。共用メモリユニットは、外部メモリデバイス132に、例えば処理ユニットのうちの1以上を介して接続されてもよい。データ処理システム90は、データ入力インタフェース126を介して受信される入力データにタスクの処理フローを適用するように、配置されてもよい。例えば、受信した入力映像データは、必要ならば小型化されてもよく、圧縮されてもよい。圧縮された映像フレームは、例えば外部メモリデバイス132に位置する圧縮映像フレームバッファ136に保存されてもよい。圧縮および解凍のために、映像コーデック106は外部メモリ132に位置する参照バッファ138を使用してもよい。GPUは、例えば映像コンテンツをオーバーレイされてもよいグラフィックスを提供するために共用メモリバッファ104を使用するように、接続されてもよい。外部メモリ132に位置するグラフィックスフレームバッファ140は、グラフィックスコンテンツを受信するよう接続されてもよい。圧縮された映像データは、時間的補間が課されてもよい。映像コンテンツの表示専用の処理フローは、CDMA処理ユニット102を使用し、かつ復号化および拡大化を適用して、メモリから圧縮された映像データにアクセスすることを備えてもよい。その後、表示する映像は、例えば色空間変換CSCの影響を受けてもよく、例えばGPU108によって提供されてグラフィックスフレームバッファ136に保持されるグラフィックスオーバーレイと組み合わされてもよい。さらなる表示強化displayenhancementを適用した後、コンテンツは、すなわち復号化された映像および組み合わされたグラフィックスは、表示制御器およびインタフェース128に配信されてもよい。タスクスケジューリングは、例えばタスクスケジューラ制御器ユニット110または外部処理ユニットによって開始されてもよく、またはタスクスケジューリングデバイス92は1以上の処理フローを開始するよう配置される第2の制御器ユニット142を備えてもよい。さらに、第2の制御器ユニットは、処理フローを終了するよう配置されてもよい。第2の制御器ユニット142は、例えば高性能および高速動作を提供する縮小命令セットコンピューティングRISCデバイスであってもよく、または別の処理デバイスまたはマイクロ制御器デバイスであってもよい。図5を参照すると、第2のフローチェーンの一例の図が概略的に示されている。フローチェーンは、例えば図4に示されるデータ処理システム90によって実装されてもよい。太い矢印は、映像データなどの処理されるコンテンツデータを指してもよく、一方で細い矢印は、タスクスケジューラ制御器ユニット110によって受信および提供される信号およびイベントを指してもよい。例えばRISCデバイスであってもよい第2の制御器ユニット142は、一定のタスクcertaintaskのタスクパラメータを設定し、調停ユニット図示せずにタスクを解放するよう配置されてもよい。調停ユニットは、主要タスクと見なされてもよいタスクを、タスクスケジューラ制御器ユニット110TSCに解放してもよい。タスクスケジューラ制御器ユニット110は、現在の主要タスクの入力および出力バッファ利用可能性をチェックするよう配置されてもよく、共通バッファを介して関連付けられる関連タスクを二次タスクとしてマーク付けしてもよい。バッファが利用可能な場合、タスクスケジューラ制御器ユニット110は、タスクを処理することが可能な処理ユニットと関連付けられるタスク出力キューに主要タスクを解放するよう配置されてもよい。タスクが既にキューにある場合、タスクは、その後の分類のためにin-queueとしてマーク付けされてもよい。調停ユニットは、ネストタスクをタスクスケジューラ制御器ユニット110に解放してもよい。示されるフローチェーンは、イベント駆動型event-drivenであってもよい。第2の制御器ユニット142による初期コマンドの受信後、TSC110は、処理されるデータが外部メモリ132において利用可能である情報、および内部メモリバッファ94からのバッファ利用可能情報を受信してもよい。データおよび処理ユニットが利用可能である場合、TSC110は、タスクを処理ユニットに、例えばVDMA112などの直接メモリアクセスユニットに、実行のために割当ててもよい。VDMA112は、タスクが終了した後、タスク状態イベントをTSC110に伝えるよう配置されてもよい。VDMAタスク状態イベントの受信において、TSC110は、入力および出力バッファの利用可能性をチェックするよう配置されてもよく、VDMA112の出力バッファとして機能するバッファ94は、ここでフローチェーンにおいて次の処理ユニット114によって処理されるデータを保持する入力バッファであってもよい。処理ユニット114の出力バッファは、例えばバッファユニット96であってもよい。入力および出力バッファ94、96が利用可能である場合、TSC110は処理される処理フローにおける次の処理を処理ユニット114に割当ててもよい。処理ユニット114からタスク処理の完了を伝えるタスク状態イベントを受信した後、TSC110は、ここでは処理デバイス116の入力バッファとして機能してもよいバッファ96、およびバッファ98のバッファ利用可能性を再びチェックしてもよく、その後、処理フローの次のタスクを処理ユニット116に割当てるよう配置されてもよい。割当タスクが順調に完了したことを伝える処理ユニットからのタスク状態イベントの受信において、TSC110は、バッファ98の利用可能性を再びチェックしてもよく、処理フローの次のタスクをフローチェーンにおける次の処理ユニット120に割当ててもよい。示される例において、処理ユニット120は、処理された出力データを外部メモリ132に提供するよう配置される直接メモリアクセスユニットであってもよい。処理フローの最後のタスクの順調な完了を示すタスク状態イベントの受信において、TSC110は、指示indicationを第2の制御器ユニット142に提供してもよく、これは例えば、処理フローを終了するよう配置されてもよい。記述される手法により、次のタスクを選択する手順に起因する処理オーバーヘッドは、低下されてもよい。バッファ間の処理データをコピーすることは、共用メモリバッファを使用することによって削減または回避されてもよい。外部メモリコピーは、フローチェーンの最初に処理されるデータをロードすること、およびフローチェーンの最後に処理結果を外部メモリ132へ出力することを除いて、フローチェーンを処理するときに必要ではなくてもよい。データ処理システムのタスク処理量は、増加されてもよい。示されるフローチェーンによって実行される処理フローは、多くのうちの1つであってもよく、少なくとも部分的に並列に実行されてもよい。処理フローはパイプライン化されてもよい。TSC110は、異なるフローチェーンの処理ユニットからタスク状態イベントを受信してもよい。割当てる次のタスクの検索は、イベントに関連するタスクのみがチェックされてもよいため、ほんのわずかなオーバーヘッドのみで可能であってもよい。データ処理システムの応答時間は、例えば高速のタスク調停およびマルチスレッドアーキテクチャに起因して、速くてもよい。これは、処理ボトルネックの削減、待ち時間の削減、およびヘッドオブラインブロッキングの回避に役立ってもよい。図6を参照すると、映像データを処理するときの制御フロー階層を示す図が概略的に示されている。単に一例を挙げると、映像シーケンスの画像フレーム144の群が、示されている。フレームのスケジューリングは、すなわち次にデータ処理システムのタスクスケジューリングデバイスに割当てるフレームを決定することは、マイクロ制御器またはRISCプロセッサなどの第2の制御器ユニットによって行われてもよい。フローパラメータは、フレーム間ベースで調整されてもよい。例えば、フレームの群または写真の群は、例えばMPEG-1、MPEG-2、またはMPEG-4などのMPEG移動写真専門家グループ標準に応じた符号化または復号化を使用するとき、連続して符号化および復号化されなくてもよく、第2の制御器ユニットは、タスク処理デバイスへ送るために次のフレームを選択するよう配置されてもよい。タスクスケジューリングデバイスによって行われるイントラフレームレベルスケジューリングは、例えば単一の映像または画像フレーム146に適用されてもよく、さらなる処理のブロックまたはページに分割されてもよい。ページは、1つのタスク実行によって処理される映像フレームの一部であってもよい。イントラページレベルスケジューリングおよび処理は、フレームのページ148に適用されてもよく、データ処理システムの専用加速エンジンまたは他の処理ユニットによって行われてもよい。図7を参照すると、共用バッファユニットの一例の図が概略的に示されている。フローチェーンにおいて、データは、共用バッファを介してフローチェーンの処理ユニットによって実行されるタスク間を通過してもよい。共用バッファユニットは、例えば第1の処理ユニットで実行されるタスクによってセットされる書き込みポインタWPと、例えばフローチェーンにおいて第1の処理ユニットに続く第2の処理ユニットによってセットされる読み込みポインタRPとを備える、例えばバレルシフタBSであってもよい。バッファアーキテクチャは、例えば単入力単出力SISOバッファアーキテクチャであってもよい。読み込み閾値R_THRは、単一読み込みアクセス内で読み込まれるデータの量に依存してもよい。書き込み閾値W_THRは、単一書き込みアクセス内でバッファへ書き込まれるデータの量に依存してもよい。WP-RP>R_THRが真である場合、バッファBSは自由に読み込み可能であると見なされてもよい。BS-WP-RP>W_THRが真である場合、バッファBSは自由に書き込み可能であると見なされてもよい。他の可能なバッファアーキテクチャは、単入力多出力SIMOバッファアーキテクチャを備えてもよく、1つの書き込みポインタおよび複数の読み込みポインタが使用されてもよく、かつ異なるタスクが読み込みポインタをセット可能であってもよい。図8を参照すると、第3のフローチェーン150および関連バッファの一例の図が概略的に示されている。示される例において、フローチェーンは、因果関係チェーンにおいて接続される処理ユニットREF、WCD、CDMA、およびIDMACによって構成されてもよく、フローは、第1の処理ユニットがREFであることと、後にCDMAおよびIDMACを供給するWCDが続くことでフローチェーンを終結させることとを示してもよい。フローチェーンにおいて加速器番号ANによって識別される各処理ユニットまたは加速器ユニットは、タスク番号TNによって識別されるタスクを割当てていてもよく、各タスクは、入力バッファIBおよび出力バッファOBを互いに関連付けていてもよく、それぞれは、バッファ番号BN、関連読み込みポインタR_P、書き込みポインタW_P、読み込み閾値THR_R、書き込み閾値THR_W、およびバッファへの入力タスクITおよびバッファへの出力タスクOT識別子を有する。示される矢印は、示されるタスク記述子152のうちいずれが特定の処理ユニットによって実行されるタスクに対応してもよいことを示してもよく、バッファ記述子154のうちいずれが関連タスク記述子の入力および出力バッファを識別してもよいことを示してもよい。図9を参照すると、バッファ分類論理の一例の図が概略的に示されている。バッファ分類論理は、タスクスケジューリングデバイスのキュー制御ユニットまたはタスクスケジューラ制御器ユニットの一部であってもよく、バッファ利用可能情報を提供するよう配置されてもよい。バッファが現時点で自由に読み込み可能であり、タスク入力バッファであってもよいか否かの情報、または自由に書き込み可能であり、タスク出力バッファとして機能してもよいか否かの情報をバッファ分類論理は提供してもよく、情報は、1つの読み込みポインタR_Pを備えるSISOまたは3つの読み込みポインタR_Pを備えるSIMOのいずれかである、バッファ使用の種類に依存してもよい。示されるバッファ分類論理は、第1の出力バッファ156、第2の出力バッファ158、および第3の出力バッファ160の分類回路を備えてもよく、各分類回路は、対応する読み込みポインタR_P、書き込みポインタW_P、読み込み閾値THR_R、書き込み閾値THR_W、および全体バッファサイズBUFF_SIZE入力パラメータを受信してもよく、対応する読込可能バッファbuffer_free_to_readおよび書込可能バッファbuffer_free_to_write情報を提供してもよい。図10を参照すると、タスクスケジューラ制御器ユニットTSCの挙動の一例のフロー図が概略的に示されており、CTは、TSCによって現時点でスケジュールされる現タスクであってもよく、EOFファイルの終わりは、処理フローの最後のタスクを指してもよく、TPBNは、タスクパラメータバッファ番号を指してもよく、FLW_NUMは、フロー番号を指してもよく、DBは、タスクパラメータのデータベースを指してもよく、BDは、バッファ記述子を指してもよい。TSCは、チェックされる任意の主要または二次タスクがあるときに、すなわちスケジュールされるタスクがON_CHECK状態にあるときに、起動されてもよい。この場合、TSCは、タスクで何を行うかをまだ決定していない。TSCは、TSC入力キューが空であり、かつタスクがチェックされないとき、IDLE状態であってもよい。タスクがキューにあるとき、現タスクと関連付けられるバッファが利用可能であるか、タスクはチェックされてもよい。利用可能である場合、タスクは、それぞれのタスクの状態をIN_QUEUEとしてマーク付けすることによって、タスク出力キューに追加されてもよい。バッファ準備チェックの後、TSCは、共通バッファを共用する現タスクに関連付けられる他のタスクを更新してもよい。その後、TSCは、停止モードのタスクがあるか否かチェックするよう配置されてもよい。停止モードHaltmodeは、内部処理の理由に起因して、タスク実行が処理ユニットによって一時停止されていることを意味する。タスクが停止モードであるとき、そのポインタの読み込み動作は、TSCによって実行され、対応する処理ユニットまたは加速器に更新される。そうでない場合、TSCはIDLEモードへ切り替えてもよい。図11を参照すると、タスクスケジューラ制御器ユニットのチェックする次のタスクの検索モジュールの一例が概略的に示されている。示されるモジュールは、例えば図10の部分として示されるチェックする次のタスクを検索ブロックと対応していてもよい。示されるTSCのモジュールは、現時点の実行においてチェックされるタスクを選択する選択論理の例示的な実装を提供してもよい。対数検索が行われてもよい。BSは、バレルシフタバッファメモリを指してもよく、RT_taskは、各タスクと関連付けられるビットを指してもよく、タスクがリアルタイムタスクか否かを示す。リアルタイムタスクがON_CHECKモードで存在するとき、TSCは、最大QoSを提供してもよい。タスクがリアルタイムタスクである場合、他のタスクがスケジューリングサービスを受信する前に、最初に使用されてもよい。図12を参照すると、データ処理システムにおけるタスクスケジューリングの方法の一実施形態の一例の図が概略的に示されている。図12に示される方法は、記載されるデータ処理システムの利点および特徴を、データ処理システムにおけるタスクスケジューリングの方法の部分として実装することを可能にする。本方法は、タスクスケジューリング制御器ユニットを有するタスクスケジューリングデバイス、および複数の処理ユニットを備えるデータ処理システムにおけるタスクスケジューリングの方法であり、複数の処理ユニットは、少なくともその一部が、複数のタスクのうちの1以上の割当タスクを実行するよう構成される。本方法は、複数のタスクをタスクスケジューリングデバイスに提供すること162と;複数のタスクのうちのタスクを複数の処理ユニットに割当てること164と;割当タスクごとに、タスクスケジューリングデバイスに割当タスクの実行が終了したことを示す少なくともタスク状態イベントを提供すること166と;タスクスケジューラ制御器ユニットによって、複数のタスクのうちの1以上を、割当タスクを実行するよう構成される処理ユニットのうちの対応する1つに、1以上の以前に割当てられたタスクに関連付けられるタスク状態イベントのうちの1以上を受信することに応じて割当てること168とを備える。本方法は、フローチェーンバッファユニットにおいて、1以上の処理フローおよび1以上の関連フローチェーンを定義する1以上のタスクパラメータテーブルを保存することを備えてもよく、フローチェーンそれぞれは、複数の処理ユニットのうちの1以上を備える。本方法はさらに、タスクレジスタにおいて、複数のタスクを保存することを備えてもよく、複数のタスクそれぞれは、複数のタスクのうちの1以上の処理フローの1以上と関連付けられる。プログラム可能装置programmableapparatusは、示される方法のステップを少なくとも部分的に実行するために提供されてもよい。コンピュータプログラム製品は、プログラム可能装置上で実行されるときに上記に記載した方法のステップを実行するためのコード部分codeportionsを備えてもよい。本発明は、少なくとも、コンピュータシステムのようなプログラム可能装置上で実行されるときに本発明による方法のステップを実行するか、または、プログラム可能装置が本発明によるデバイスもしくはシステムの機能を実行することを可能にするためのコード部分を含む、コンピュータシステムで作動させるためのコンピュータプログラムにおいて実装されてもよい。コンピュータプログラムは、特定のアプリケーションプログラムおよび/またはオペレーティングシステムのような、命令のリストである。コンピュータプログラムは例えば、サブルーチン、関数、プロシージャ、オブジェクトメソッド、オブジェクトインプリメンテーション、実行可能アプリケーション、アプレット、サーブレット、ソースコード、オブジェクトコード、共有ライブラリ/動的ロードライブラリ、および/または、コンピュータシステム上での実行のために設計される他の一連の命令のうちの1以上を含んでもよい。コンピュータプログラムは、コンピュータ可読記憶媒体上に内部的に記憶されるか、またはコンピュータ可読伝送媒体を介してコンピュータシステムに送信されることができる。コンピュータプログラムのすべてまたはいくつかは、情報処理システムに永続的に、取り外し可能に、または遠隔的に結合される一過性または持続性コンピュータ可読媒体上で提供されることができる。コンピュータ可読媒体は例えば、限定されることなく、任意の数の、いくつか例を挙げると、ディスクおよびテープ記憶媒体を含む磁気記憶媒体、コンパクトディスク媒体例えば、CDROM、CDRなどおよびデジタルビデオディスク記憶媒体を含む光記憶媒体、FLASHメモリ、EEPROM、EPROM、ROMのような半導体ベースのメモリユニットを含む不揮発性メモリ記憶媒体、強磁性デジタルメモリ、MRAM、レジスタ、バッファまたはキャッシュ、メインメモリ、RAMなどを含む揮発性記憶媒体、ならびにコンピュータネットワーク、ポイントツーポイント遠隔通信機器、および搬送波伝送媒体を含むデータ伝送媒体を含んでもよい。コンピュータプロセスは通常、実行している作動しているプログラムまたはプログラムの一部、現在のプログラム値および状態情報、ならびにプロセスの実行を管理するためにオペレーティングシステムによって使用されるリソースを含む。オペレーティングシステムOSは、コンピュータのリソースの共有を管理するとともにプログラマにこれらのリソースにアクセスするために使用されるインタフェースを提供するソフトウェアである。オペレーティングシステムは、システムデータおよびユーザ入力を処理して、タスクおよび内部システムリソースをシステムのユーザおよびプログラムに対するサービスとして割り振りおよび管理することによって応答する。コンピュータシステムは例えば、少なくとも1つの処理装置、関連付けられるメモリ、および多数の入出力I/Oデバイスを含んでもよい。コンピュータプログラムを実行するとき、コンピュータシステムは、コンピュータプログラムに従って情報を処理して、結果としての出力情報をI/Oデバイスを介して生成する。上記の明細書において、本発明が本発明の実施形態の具体例を参照して説明された。しかしながら、添付の特許請求の範囲に記載されている本発明のより広い趣旨および範囲から逸脱することなく、そこにさまざまな修正および変更を行うことができることは明らかであろう。本明細書において説明されているような接続は、例えば介在するデバイスを介してそれぞれのノード、ユニットまたデバイスから、またはそれらへと信号を転送するのに適切な任意のタイプの接続であってもよい。従って、別途暗示または提示されていない限り、接続は例えば直接接続であってもよいし、間接接続であってもよい。接続は、単一の接続singleconnection、複数の接続apluralityofconnections、一方向性接続unidirectionalconnections、または双方向性接続bidirectionalconnectionsであることに関連して例示または記載されてもよい。しかしながら、実施形態が異なれば、接続の実施態様は変化してもよい。例えば、双方向性接続ではなく別個の一方向性接続が使用されてもよく、その逆であってもよい。さらに、複数の接続が、連続してまたは時分割多重方式で複数の信号を伝送する単一の接続に置換されてもよい。同様に、複数の信号を搬送する単一の接続singleconnectionsは、これらの信号のサブセットを搬送するさまざまな異なる接続に分離されてもよい。それゆえ、信号の伝送には多くの選択肢が存在する。本明細書において記載されている各信号は、正または負の論理として設計されてもよい。負論理信号の場合、信号は、論理的真状態が論理レベル0に対応するアクティブローである。正論理信号の場合、信号は、論理的真状態が論理レベル1に対応するアクティブハイである。本明細書に記載される信号はいずれも負または正論理信号のいずれかとして設計されることができることに留意されたい。それゆえ、代替の実施形態では、正論理信号として記載される信号は、負論理信号として実装されてもよく、負論理信号として記載される信号は、正論理信号として実装されてもよい。論理ブロック間の境界が例示にすぎないこと、および、代替的な実施形態は、論理ブロックもしくは回路要素を融合し、またはさまざまな論理ブロックもしくは回路要素に対する代替的な機能の分解を課してもよいことを、当業者は認識しよう。従って、本明細書において描写したアーキテクチャは例示にすぎないこと、および、事実、同じ機能を達成する多くの他のアーキテクチャを実装することができることは理解されたい。例えば、タスクスケジューラ制御器ユニット24、調停ユニット28、およびタスク出力キュー制御器ユニット36、38、40は、異なる回路またはデバイスとして提供されてもよく、単一デバイスにおいて統合されてもよい。または、フローチェーンバッファモジュール22は、タスクスケジューリングデバイス12に接続されるか、または統合されて提供されてもよい。同じ機能を達成するための構成要素の任意の構成は、所望の機能が達成されるように効果的に関連付けられる。従って、本明細書における、特定の機能を達成するために結合される任意の2つの構成要素は互いに関連付けられるとみなすことができ、それによって、アーキテクチャまたは中間の構成要素にかかわりなく、所望の機能が達成される。同様に、そのように関連付けられる任意の2つの構成要素も、所望の機能を達成するために互いに動作可能に接続されているまたは動作可能に結合されているとみなすことができる。さらに、上述の動作間の境界は例示にすぎないことを当業者は認識しよう。複数の動作を単一の動作に組み合わせ、単一の動作を追加の動作に分散させ、複数の動作を少なくとも部分的に時間的に重ね合わせて実行してもよい。その上、代替的な実施形態は、特定の動作の複数のインスタンスを含んでもよく、動作の順序は、さまざまな他の実施形態においては変更されてもよい。さらに例として、1つの実施形態では、例示される実施例は、単一の集積回路上または同じデバイス内に位置する回路として実装されてもよい。例えば、データ処理システム10は、単一の集積回路におけるシステムオンチップとして提供されてもよい。代替的には、実施例は、適切な様式で互いに相互接続される任意の数の別個の集積回路または別個のデバイスとして実装されてもよい。例えば、タスクスケジューリングデバイス12および処理ユニット16、18、20は、別個の集積回路として提供されてもよい。さらに例として、実施例、またはその一部は、任意の適切なタイプのハードウェア記述言語などによって、物理回路physicalcircuitryまたは物理回路に転換可能な論理表現のソフトまたはコード表現として実装されてもよい。さらに、本発明は、プログラム不能ハードウェアにおいて実装される物理デバイスまたはユニットに限定されるものではなく、本出願においては一般的にコンピュータシステムとして示されている、メインフレーム、ミニコンピュータ、サーバ、ワークステーション、パーソナルコンピュータ、ノートパッド、携帯情報端末、電子ゲーム、自動車および他の組込みシステム、携帯電話、ならびに、さまざまな他の無線デバイスのような、適切なプログラムコードに従って操作することによって所望のデバイス機能を実行することが可能なプログラム可能デバイスまたはユニット内に適用されることもできる。しかしながら、他の修正形態、変更形態および代替形態も可能である。従って、明細書および図面は限定的な意味においてではなく例示的に考慮されるべきである。特許請求の範囲において、括弧間に置かれる任意の参照符号は特許請求の範囲を限定するものとして解釈されるべきではない。備えるcomprisingという文言は、特許請求項内にリストされているもの以外の要素またはステップの存在を除外するものではない。さらに、本明細書において使用される場合、1つaoranという用語は、1つまたは2つ以上として定義される。さらに、特許請求の範囲における少なくとも1つのおよび1以上ののような前置きの語句の使用は、不定冠詞1つのaoranによる別の請求項要素の導入が、このように導入された請求項要素を含む任意の特定の請求項を、たとえ同じ請求項が前置きの語句1以上のまたは少なくとも1つのおよび1つのaoranのような不定冠詞を含む場合であっても、1つだけのこのような要素を含む発明に限定することを暗示するように解釈されるべきではない。同じことが、定冠詞の使用についても当てはまる。別途記載されない限り、第1のおよび第2ののような用語は、そのような用語が説明する要素間で適宜区別するように使用される。従って、これらの用語は必ずしも、このような要素の時間的なまたは他の優先順位付けを示すようには意図されていない特定の手段が相互に異なる特許請求項において記載されているというだけの事実は、これらの手段の組み合わせを有利に使用することができないということを示すものではない。本発明の原理が特定の装置に関連して上記で説明されてきたが、この説明は例示のみを目的として為されており、本発明の範囲に対する限定としてではないことは明瞭に理解されたい。