(57)【特許請求の範囲】
【請求項１】
複数のリソースが同時に異なるタスクを実行することができるマルチリソースアーキテクチャの管理のためのシステムであって、当該システムは：
−１つ以上のタスクのセットまたはサブセット（ｉ，０≦ｉ）の一部（ｊ，０≦ｊ）の実行を管理するための複数の管理手段（Ｇｉｊ）と、
−複数の管理手段（Ｇｉｊ）を制御するための少なくとも１つの制御手段（Ｃｉ）と、
−１つ以上の与えられたタスクの完了を確認するための少なくとも１つの完了確認手段と、
−前記の手段の全部または一部を初期化する初期化手段と、を有し、
前記完了確認手段は、
それぞれが制御手段（Ｃｉ）の１つに対応しており、当該制御手段（Ｃｉ）によって実行の管理が制御されている１つ以上の所定のタスクの実行の終了を示す信号を送信する完了信号送信機（ｅｍｉ）と、
それぞれが管理手段（Ｇｉｊ）の１つに対応しており、すべての完了信号送信機（ｅｍｉ）および／またはすべてのリソース（６）から完了信号を受信する完了検出器（ｄｉｊ）と、を有し、
完了検出器（ｄｉｊ）は、
対応する管理手段（Ｇｉｊ）が待機状態であるスタンバイモードであるときに、前記完了信号を観測する監視モードであり、
対応する管理手段（Ｇｉｊ）が前記スタンバイモードでないとき、前記完了信号を記憶する記憶モードであり、
管理手段（Ｇｉｊ）が前記スタンバイでないとき、前記記憶モードで記憶した完了信号と前記監視モードで観測した信号とのなかから、タスクのサブセット（ｉ’）の終了を示す完了信号を含む所定の完了信号を検出し、
管理手段（Ｇｉｊ）は、
対応する完了検出器（ｄｉｊ）が前記所定の完了信号を検出したときに、送信を許可された送信モードになり、当該所定の完了信号に対応するタスクのアドレスを送信するシステム。
【請求項２】
各完了確認手段が、
−各完了信号送信機（ｅｍｉ）および／または各リソースからすべての完了検出器（ｄｉｊ）に対して送られる完了信号を送信する単一の完了信号バスと、
−当該完了信号バスへのアクセスのアービトレーションを行う手段とを有する請求項１に記載のシステム。
【請求項３】
−初期化手段、および／または、管理手段（Ｇｉｊ）、および／または、制御手段（Ｃｉ）とのリンクを有する実行すべきタスクのアドレスを送信するために使用される１つ以上の出力部（Ｓ３）と、
−すべての制御手段（Ｃｉ）とのリンクを有する実行すべきタスクを受信するための１つ以上の入力部（Ｅ５）と、
−初期化手段とのリンクを有し、初期化命令を受信するための１つ以上の入力部（Ｅ１）と、
−制御手段（Ｃｉ）に対応した完了確認手段、および／または、管理手段（Ｇｉｊ）に対してリソースからの完了信号を送信するための１つ以上の入力部とを有する請求項１または２に記載のシステム。
【請求項４】
−初期化手段とのリンクを有する初期化コマンドを受信するための単一の入力部（Ｅ１）と、
−初期化手段と管理手段（Ｇｉｊ）とのリンクを含む実行すべきタスクのアドレスを送信するための単一の出力部と、
−制御手段（Ｃｉ）とのリンクを含む実行すべきタスクを受信するための単一の入力部（Ｅ５）と、
−完了検出器（ｄｉｊ）とのリンクを有するリソースからの完了信号を受信するための単一の入力部（Ｅ７）とを有する請求項１ないし３のいずれか１項に記載のシステム。
【請求項５】
−アドレス出力部（Ｓ３）に初期化手段と管理手段（Ｇｉｊ）とを接続する単一のアドレスバスと、
−当該アドレスバスへのアクセスのアービトレーションを行う手段とを有する請求項１ないし４に記載のシステム。
【請求項６】
初期化手段が初期化命令を受信したときに、
−初期化指示が位置するアドレスに関する第１のアドレス信号を送信し、
−各制御手段（Ｃｉ）の第１の管理手段（Ｇｉ０）を起動し、
−上記以外の管理手段（Ｇｉｊ、ｊ≠０）を非動作状態にする請求項１ないし５のいずれか１項に記載のシステム。
【請求項７】
−当該管理手段（Ｇｉｊ）が前記送信モードであれば管理手段（Ｇｉｊ）に含まれるアドレス（Ａ［ｊ］ｉ）を送信し、
−当該送信には、前記管理手段（Ｇｉｊ）に含まれるアドレスの増分処理（Ａ［ｊ］ｉ＝Ａ［ｊ］ｉ＋１）を含む請求項１ないし６のいずれか１項に記載のシステム。
【請求項８】
前記アービトレーション手段（２３＋）が、管理手段（Ｇｉｊ）が前記アドレスバスへの送信することを許可すれば、前記送信モードにある管理手段（Ｇｉｊ）が、送信する請求項６に記載のシステム。
【請求項９】
制御手段（Ｃｉ）が受信した実行すべきタスクがタスクのセットまたはサブセット（ｉ）を初期化すべきとの指示を含んでいるときは：
−複数の制御手段（Ｃｉ）の内の利用可能な物が、当該タスクのセットまたはサブセット（ｉ）の部分の数（Ｊｉ）を含む初期化指示に含まれる初期化パラメータを受信し、
−制御手段（Ｃｉ）に対応する第１の管理手段（Ｇｉ０）が基本アドレス（Ａ０ｉ）を受け取り、
−前記管理手段（Ｇｉ０）が送信を開始し、
−管理手段（Ｇｉ０）に対応した完了検出器（ｄｉ０）が前記記憶モードになる請求項１ないし８のいずれか１項に記載のシステム。
【請求項１０】
制御手段（Ｃｉ）が受け取った実行すべきタスクがタスクのセットまたはサブセット（ｉ）の初期化指示を含み、さらに、タスクのセットまたはサブセット（ｉ、ｉ≠ｉ’）の部分（ｊ）の管理手段（Ｇｉｊ）が前記送信モードにあるときは、当該送信モードにある管理手段（Ｇｉｊ）がスタンバイモードになる請求項１ないし９のいずれか１項に記載のシステム。
【請求項１１】
制御手段（Ｃｉ）が受け取った実行すべきタスクがスタンバイにすべきとの指示を含んでいるときは、送信状態の管理手段（Ｇｉｊ）がスタンバイモードになる請求項１ないし１０のいずれか１項に記載のシステム。
【請求項１２】
制御手段（Ｃｉ）が受信した実行すべきタスクが、２つの部分（ｊ）と（ｊ＋１）との境界とを指定する指示を含むときは、前記送信モードの管理手段（Ｇｉｊ）が処理の終了状態になる請求項１ないし１１のいずれか１項に記載のシステム。
【請求項１３】
タスクのセットまたはサブセット（ｉ）がプログラムループ（ｉ）であり、すべての管理手段（Ｇｉｊ）が処理の終了状態であれば、
−当該制御手段（Ｃｉ）が、ループ（ｉ）のイテレーション（ｉｔｉ）から次のイテレーション（ｉｔｉ＋１）に移行し、
−当該制御手段（Ｃｉ）の各管理手段（Ｇｉｊ）が、前記ループ（ｉ）のイテレーション（Ｎｉ）の処理の終了状態でなければ、アドレス（Ａ［ｊ］ｉ＝Ａ［ｊ−１］ｉ）を含む前の管理手段（Ｇｉｊ）の少なくとも一部のパラメータを受け取り、
−第１の管理手段（Ｇｉ０）は、前記ループ（ｉ）のイテレーション（Ｎｉ）の処理の終了状態でなければ、基本アドレス（Ａ０ｉ）を受け取り、
−アドレスＡ［ｊ］ｉを受け取った各管理手段（Ｇｉｊ）は前記送信モードになり、
−前記送信モードである管理手段（Ｇｉｊ）に対応した完了検出器（ｄｉｊ）が前記記憶モードになる請求項１ないし１２のいずれか１項に記載のシステム。
【請求項１４】
管理手段（Ｇｉｊ）の組が処理の終了状態であるときに、前記ループ（ｉ）のイテレーション（Ｎｉ）の処理終了状態にあれば、制御手段（Ｃｉ）が当該セットまたはサブセット（ｉ）の完了を通知する請求項１２または１３に記載のシステム。
【請求項１５】
−請求項１ないし１４のいずれか１項に記載のシステムから送られたアドレス信号を受信する入力部と、
−実行すべきタスクを前記システムと回路のリソースに送る出力部とを有する単一のプログラムメモリを有するプログラム可能な集積回路。
【請求項１６】
同時に異なるタスクを実行することができる複数のリソースを有するマルチリソースアーキテクチャを管理するシステムが実行する管理方法であって、当該方法は、
−１つ以上のタスクのセットまたはサブセットｉ、０≦ｉの少なくとも１つの部分ｊ、０≦ｊの実行を前記システムの複数の管理手段により管理するステップと、
−１つ以上のタスクの少なくとも１つのセットまたはサブセット（ｉ）またはそれぞれの部分の管理を前記システムの少なくとも１つの制御手段により制御するステップと、
−前記管理するステップ、前記制御するステップ、及び、前記リソースによる実行の間の少なくとも１つのタスクの実行の完了を確認するステップと、
上記のステップのすべてまたは一部を初期化するステップと、を含み、
複数の管理手段はそれぞれ、１つ以上のタスクの少なくとも１つのセットまたはサブセット（ｉ）の１つに対応しており、
前記確認するステップは、
前記制御手段が有する完了信号送信機により、当該制御手段により制御されている１つ以上の所定のタスクの実行の完了を示す信号を送信するステップと、
それぞれが前記管理手段の１つに対応する完了検出器により、すべての完了信号送信機およびすべてのリソースからの完了信号を受信するステップと、を有し、
前記完了検出器は、
前記管理手段がスタンバイ状態であるとき、当該管理手段に対応した完了検出器が、前記完了信号を観測する観測モードであり、
管理手段がスタンバイ状態でないとき、当該管理手段に対応した完了検出器が、前記完了信号を記憶する記憶モードであり、
前記確認するステップは、
記憶モードで記憶した前記完了信号と前記観測モードで観測した前記完了信号とのなかから、タスクのサブセット（ｉ’）の終了を含む所定の完了を検出するステップを含み、
前記管理するステップは、
完了検出器が前記所定の完了を検出し、当該完了検出器に対応する管理手段が送信を許可された送信モードになったときに、当該所定の完了に対応するタスクのアドレスを送信するステップを含む方法。
【請求項１７】
前記初期化するステップは、初期化指示を見つけることができる第１のアドレスを送るステップを少なくとも含む請求項１６に記載の方法。
【請求項１８】
タスクのセット又はサブセット（ｉ）の部分（ｊ）を実行する前記送信モードにある管理手段による前記管理するステップが、
−実行すべきタスクのアドレスＡ［ｊ］ｉを送信するステップと、
−アドレスＡ［ｊ］ｉからＡ［ｊ］ｉ＋１に同時に移行するステップと、を含む請求項１６または１７のいずれかに記載の方法。
【請求項１９】
−タスクのセット又はサブセット（ｉ）の部分（ｊ）の実行を管理する管理手段による前記管理するステップが、
・当該タスクのセット又はサブセット（ｉ）の初期化指示を実行するステップと、
・当該実行中における当該初期化指示に含まれるセット又はサブセット（ｉ）の、タスクのセット又はサブセット（ｉ）の複数の部分（ｊｉ）のパラメータと基本アドレス（Ａ０ｉ）を含む初期化パラメータを受信するステップと、
・受信した基本アドレスＡ０ｉを送信するステップと、を含み、
−前記タスクのセット又はサブセットの第１の部分の実行の管理する管理手段による前記管理ステップが、
・タスクのセット又はサブセット管理の制御途中に送信された基本アドレスＡ０ｉを受信するステップと、
・前記送信モードに移行するステップと、を含み、
−前記確認するステップは、前記管理手段が、前記送信モードに移行したときに、当該管理手段に対応する完了検出器が記憶モードへの移行するステップを含む請求項１６ないし１８のいずれか１項に記載の方法。
【請求項２０】
サブセット（ｉ’）の実行の管理を制御する制御手段による前記制御するステップの間に、サブセット（ｉ’）の初期化指示が実行され、サブセット（ｉ、ｉ≠ｉ’）の部分（ｊ）の実行を管理する管理手段が前記送信モードであるときに：
−前記サブセット（ｉ）の部分（ｊ）の実行を管理する管理手段による前記管理するステップが、サブセット（ｉ’）の初期化指示を実行するステップを含み、
−サブセット（ｉ）の部分（ｊ）の実行を管理する管理手段による前記管理するステップが、当該セット又はサブセット（ｉ）の実行の管理を制御する制御手段による前記制御するステップの間に、完了が待たれているサブセット（ｉ’）の初期化指示の実行されたときに、当該管理手段が前記スタンバイモードに移行するステップを含む請求項１６ないし１９のいずれか１項に記載の方法。
【請求項２１】
−セット又はサブセット（ｉ）の実行の管理を制御する制御手段による前記制御するステップが、セット又はサブセット（ｉ）の部分（ｊ）の実行を管理する管理手段が前記送信モードであれば、前記スタンバイモードにする指示の実行を含み、
−前記送信モードにあるセット又はサブセット（ｉ）の部分（ｊ）の実行を管理する管理手段が、完了が待たれているタスクを指示する実行があったときに、当該管理手段が前記スタンバイモードに移行するステップを含む請求項１６ないし２０のいずれか１項に記載された方法。
【請求項２２】
−タスクのセット又はサブセット（ｉ）の実行の管理の制御する制御ステップは、タスクのセットまたはサブセット（ｉ）の部分（ｊ）の実行を管理する管理手段が前記送信モードであるときに、部分（ｊ）と部分（ｊ＋１）の間の境界を指摘する指示を実行するステップを含み、
−当該セット又はサブセット（ｉ）の当該部分（ｊ）の実行する管理手段による前記管理するステップが、当該部分（ｊ）と次の部分（ｊ＋１）との間の境界を指摘する指示が実行されたときに、当該管理手段が処理の終了状態に移行するステップを含む請求項１６ないし２１のいずれか１項に記載の方法。
【請求項２３】
−タスクのセット又はサブセット（ｉ）がプログラムループであり、ループ（ｉ）の全ての部分又はステージ（ｊ）の実行の管理をする管理手段が処理の終了状態であれば、
−ループ（ｉ）の実行の管理を制御する制御手段による制御するステップは、
・次のイテレーション（ｉｔｉ）＝（ｉｔｉ）＋１へ移行するステップと、
・前記ループ（ｉ）のイテレーション（Ｎｉ）が処理の終了状態でなければ、ループの次のステージ（ｊ＋１）の実行管理中に取得したアドレス（Ａ［ｊ］ｉ）を送信するステップと、
・前記ループ（ｉ）の第１ステージの実行を管理する管理手段が、ループ（ｉ）のイテレーション（Ｎａｉ）の処理の終了状態にあれば、基本アドレス（Ａ０ｉ）の送信するステップを含み、
−前記ループ（ｉ）のステージ（ｊ＋１）の実行を管理する管理手段による前記管理するステップは、
・該当する場合には送信されたアドレスである第１の状態のための基本アドレス（Ａ０ｉ）と、ループ（ｉ）の前のステージ（ｊ）の実行を管理する管理手段からのアドレス（Ａ［ｊ＋１］ｉ）＝（Ａ［ｊ］ｉ）と、を受信するステップと、
・当該受信するステップのときに、当該管理手段が前記送信モードに移行するステップと、を含み、
−前記確認するステップは、管理手段が前記送信モードに移行したときに、当該管理手段に対応した完了検出器が前記記憶モードに移行するステップを含む請求項１６ないし２２のいずれか１項に記載の方法。
【請求項２４】
タスクのセット又はサブセット（ｉ）の実行の管理を制御する制御手段による前記制御するステップは、タスクのセット又はサブセットの部分（ｊ）のそれぞれの実行を管理する管理手段が処理の終了状態になるとすぐに、また、当該タスクのセット又はサブセットがプログラムループ（ｉ）である場合には、ループ（ｉ）のイテレーション（Ｎｉ）処理の終了状態になるとすぐに、タスクのセット又はサブセットの完了を報告するステップを含む請求項２２または２３に記載の方法。
【発明の詳細な説明】
【０００１】
【発明が属する技術分野】
本発明は、たとえば処理されるデータのほとんど依存しないかあるいはまったく依存しないインブリケーテッドループに基づくアルゴリズムを特徴とするアプリケーションのような、高速演算大規模アプリケーション用に設計されたデジタル演算用のプログラム可能な集積回路に関するものである。この種の適用は特にデジタル信号処理の第１段で使用されるものである。
【０００２】
【従来の技術】
対象の回路は、たとえば、演算（データの組に対するマイクループログラムに基づく代数演算能力）やデータ転送（１つの記憶領域から別の記憶領域へのデータの組の移動）のような特定の機能を実現するマイクループログラムを実行することができる物理リソースを複数有する。物理リソースは並列に作動し、それぞれがシーケンシャルのマイクループログラムを実行するか、場合によってはループ処理を行う。これらの物理リソースによるプログラムの実行管理には２つのモードがある。
【０００３】
第１のモードでは、１つのプログラムが共通に実行される。各基本サイクルでは、それぞれの物理リソースのためのフィールド（マイクロインストラクション）を含む単一の指示が動作している。これがＶＬＩＷ(Very Long Instruction Word）アーキテクチャの場合である。
【０００４】
別の場合には、マイクループログラムは物理リソースと個別に対応しており、独立にかつその固有のペースでリソースが特定のシーケンスを実行し繰り返すことを可能にしている。
【０００５】
第２のモードは、アーキテクチャの自由度を高くすることができるので、多くのデジタル信号プロセッサ（ＤＳＰ）が採用しているものである。メインリソースは動作部分（代数演算を実行する部分）である。これはその固有のペースで、ＤＭＡ(Dynamic Memory Access)制御装置として知られているデータ転送リソースと並行に作動する。さらに、当該リソースはダウンロード可能であると考えられる。
【０００６】
図１に示したように、各リソースは初期に、タスクを実行するために十分な、それ自身のためのマイクロコマンドまたはマイクロインストラクションを記憶することができる。これらのマイクロコマンドを供給して実行を初期化する以外は外部からの中断は不要である。各リソースは他のリソースから独立して動作する；その代わりに、リソースは予定されたタスクの実行が終了すると報告を送る。各リソースに備えられたマイクロインストラクション記憶ユニットは、回路の外部から入来するマイクロコマンドの平均入力ビットレート（これは高速演算回路に共通の問題であり、プログラムのパスバンドにも関連する）を低減するために使用されるキャッシュメモリとみなすこともできる。
【０００７】
複数のリソースを使用してタスクの並行処理を行うために、静的なスケジュール手法に基づいてリソースによるタスクの実行を管理する装置が設けられている。リソースによるマイクループログラムの実行の管理は１つまたは２つのレベルのシーケンスで実行される。
【０００８】
特にデジタル信号マイクループロセッサ（ＤＳＰ）で使用されている標準的な方法は、プログラムの動作部分に含まれたスケジューリング指示から構成される。シーケンス化は１つのレベルのみで行われる。マイクループログラムは各リソースに対応しており、各リソースは（特に、近隣のリソースからは独立に、特定のシーケンスの繰り返しを行うことに関して）固有のペースでマイクループログラムを実行することができる。
【０００９】
【発明が解決しようとする課題】
図１に示されているように、次に所定のリソースに固有のマイクロシーケンサが、他のリソースからは独立の当該リソースにマイクループログラムを実行させる。インストラクションの大部分は、演算用リソースのために設計されている。それらのうちのいくつかは、転送用リソースのパラメータ設定に使用される。１つのレベルでシーケンス化を行うことの欠点は、異なるリソースのマイクロシーケンサによる、他のリソースの動作とは非同期的に（繰り返し演算の終了、ループの終了等）イベントを発生させる多くの動作を同時に管理しなければならないことである。このために、他のタスクを開始したりタスクの完了を考慮に入れるために動作に割り込みをする必要が生じ、したがって、設計コストが高くなる比較的複雑なロジック（割り込み管理、内容の保存等）が必要になる。
【００１０】
本発明者が発明した適用は単純なものである。従って、より単純で、高性能の回路を実現することが期待される。そのために２つのレベルのシーケンス化が導入された：
−非同期イベントを管理しないリソースのそれぞれに対する高速シーケンス化レベル；
−各リソースへのマイクループログラムのダウンロードと開始を制御する全体シーケンス化レベル。この第２のレベルを使用することによって、リソースの動作を遅くせずにダウンロードを並行に実行できるので、マイクループログラムのビットレートを低減することができる。この全体シーケンスレベルはある程度複雑である。
【００１１】
１つの複雑さは、完了メッセージを考慮せずにタスクの開示時間を強制するプログラムを実行することである。これはあらかじめ設定された時刻における直接的な開始である。このための準備はより単純で応答性がよいが、タスクの実行時間の変化を受け付けず、マルチモード動作の場合には問題になる。
【００１２】
他の準備は、処理コア型構造の使用であるが、これは大掛かりで応答性の低い方法である。
【００１３】
本発明は、タスクの完了を考慮することができる実時間リソース管理のための静的スケジュール手段を実現するための複雑でかつ小型のシステムを提案することによってこの欠点を克服、あるいは少なくとも改善するために使用するものである。
【００１４】
【課題を解決するための手段】
上記の目的を達成するために、本発明が対象とするのは、複数のリソースが同時に異なるタスクを実行することができるマルチリソースアーキテクチャの管理のために使用するシステムであって、当該方法は：
−１つ以上のタスクのセットまたはサブセットの一部の実行を管理するための少なくとも１つの手段と、
−前記タスクのセットまたはサブセットの実行のための１つまたは複数の管理手段を制御するための少なくとも１つの手段と、
−１つ以上の与えられたタスクの完了を確認するための少なくとも１つの手段であって、各完了確認手段は管理手段のすべてまたは一部、および／または、制御手段の全部または一部、および／または、リソースの全部または一部に対応している手段と、
−および／または、前記の手段の全部または一部を初期化する初期化手段とを有する。
【００１５】
本発明は、１つのプログラムメモリを具備するプログラム可能な集積回路に関連し、当該プログラムメモリは：
−当該システムが送信したアドレス信号を受信する入力部と、
−当該システムと前記回路のリソースに対して実行すべきタスクを送信する出力部とを具備する。
【００１６】
以下ではオーガナイザと称することにする、本発明の提案するマルチリソースアーキテクチャのための管理システムは、複数のリソースが同時に異なるタスクを実行するマルチリソースアーキテクチャのための管理方法を使用し、当該システムは少なくとも以下のステップを有する：
−１つ以上のタスクのセットまたはサブセットの少なくとも一部の実行を管理する過程と、
−１つ以上のタスクの各部分または少なくとも１つのセットまたはサブセットの管理を制御する過程と、
−リソースによる管理および／または制御および／または実行の途中において、少なくとも１つのタスクの実行の完了を確認する過程と、
−上述の過程の全部または一部を初期化する過程。
【００１７】
本発明の特徴と利点を、例として記載した以下の説明と添付の図面とによって一層明らかにする。
【００１８】
【発明の実施の形態】
図２は、本発明に基づくマルチリソースアーキテクチャの基本を示す図である。
初期化命令１は、オーガナイザ２による、単一のプログラムメモリ４のアドレスを含む信号３の送信を生じさせる。プログラムメモリ４に格納されているコードは以下のように構成されている：
−対象となるリソースに固有のコードシーケンスと、
−オーガナイザ２が意図する動作のスケジューリングパターンを反映した、スケジューリング指示。
【００１９】
アドレス３にあるタスク５は従って、それが実行命令であればリソース６によって実行され、あるいは、それがスケジュールのための指示であればオーガナイザ２によって実行される。リソース６が命令の実行を完了したときは、この命令の完了をオーガナイザ２に対して報告する。
【００２０】
図３は、本発明に基づくオーガナイザ２の概念を例示する図である。初期化コマンド１は入力部Ｅ１を通って初期化手段２１によって受け取られ、（図示しない）オーガナイザの手段を初期化してアドレス出力部Ｓ３に第１のアドレス３を送り出す。このアドレス３で読み出された実行すべきタスク５はリソースとオーガナイザ２によって入力部Ｅ５で受け取られ、タスクｉのセットまたはサブセットの１つ以上の部分ｊを実行の管理のために手段Ｇｉｊの制御手段Ｃｉに送信される。タスク５は、たとえば、アドレス指示またはタイプ（演算、転送、スケジューリング）の指示を含む。タスクｉのセットまたはサブセットの部分ｊの実行中、管理手段Ｇｉｊは出力部Ｓ３にアドレス３を送る。完了確認手段８は、管理手段Ｇｉｊが完了を待っているようにする、つまり、管理手段Ｇｉｊが期待する１つ以上のタスクの実行終了は、リソース６のうちの１つ、または管理手段Ｇｉｊの内の１つ、または制御手段Ｃｉの内の１つからの完了報告である。
【００２１】
特定のリソース６から見れば、このリソースは配信されたマイクロインストラクションをダウンロードして、開始命令が届き次第実行を行う。このタスク５（マイクロインストラクションと開始命令）は、プログラムメモリ４によって、オーガナイザ２から送られたアドレスからシーケンシャルに読み出される。オーガナイザ２の役目は、正しい時刻に、仮にそれがループであれば正しい回数だけ、対応するアドレスのシーケンスを管理することである。スケジュール化指示は、タスクｉのセットまたはサブセットに含まれる部分ｊに必要なだけの数のプログラムアドレスポインタの並行管理を初期化して実行可能にする。
【００２２】
プログラムループｉを構成するタスクの組ｉの実行に関するオーガナイザ２によるマルチリソースアーキテクチャ管理を例にとることにする。タスクのセットまたはサブセットｉの部分ｊの管理手段Ｇｉｊが、メインまたはインブリケーテッドプログラムループｉの部分またはステージｊの実行管理手段である、つまり、以下ではＬＡＹＥＲ  Ｇｉｊと称する管理手段である。ＬＡＹＥＲ  Ｇｉｊの制御手段Ｃｉは、以下ではＫＥＲＮＥＬ  Ｃｉと称することにする。各ＫＥＲＮＥＬ  Ｃｉは、対応してそれぞれに異なるループレベルｌを有する。従って、そのインブリケーテッドループについて、階層化された複数のＫＥＲＮＥＬ  Ｃｉが存在する。
【００２３】
図４は、プログラムループｉの実行管理のために適用されるオーガナイザ２のアーキテクチャを例示したものである。図５は、図４に提示したアーキテクチャの対応するＬＡＹＥＲ  ＧｉｊのＫＥＲＮＥＬ  Ｃｉの例を詳細に例示したものである。
【００２４】
ループｉの初期化パラメータに基づくループｉのイテレーション回数Ｎｉの実行管理のために、ＫＥＲＮＥＬ  Ｃｉは、実行すべきループｉのイテレーションの回数で初期化されて、ループｉの新たなイテレーションのたびにｉｔｉ＝ｉｔｉ−１で減算される相互作用カウンタｉｔｉを有する。カウンタｉｔｉが０になり、完了バス２７へのアクセスのためのアクセスアービトレータ２７＋がアクセスを承認するとすぐに、完了信号センダｅｍｉが完了信号を送信してループｉの処理が終了したことを報告する。
【００２５】
アービトレータ２７＋によって与えられる完了バス２７へのアクセス承認は、完了信号７を送信するために１サイクルを使って、完了信号搬送バス（以下においては、完了バスと称する）を送信する権限を与える。複数の要求が同時に発生したときは、タスクを終了したリソース６とＫＥＲＮＥＬ  Ｃｉのそれぞれが完了信号７の送信を希望するので、アービトレータ２７＋から与えられる許可は定められた優先順位に基づくことになる。
【００２６】
ＫＥＲＮＥＬ  Ｃｉに対応した一組のＬＡＹＥＲ  Ｇｉｊは、シフトレジスタチェーンを構成する。ＫＥＲＮＥＬ  Ｃｉの役目は、ループｉの管理、対応するパイプラインの制御（カスケード接続されたＬＡＹＥＲ  Ｇｉｊのチェーン）とＬＡＹＥＲ  Ｇｉｊ相互間の同期である。この目的のために、各ＬＡＹＥＲ  Ｇｉｊはパイプラインフィード機構ｃｉを具備する。対応するＫＥＲＮＥＬ  ＣｉとＬＡＹＥＲ  Ｇｉｊから構成される組は、ＳＥＱＰＡＲと称する。
【００２７】
このチェーンの各レジスタに含まれる情報は、状態指標ｅ、プログラムアドレスカウンタａｄ、パイプラインの進行状態指標ａ、と（図示しない）ディメンジョン指標である。
【００２８】
オーガナイザ２は、ループｉのステップｊにおける実行の進行状態を示す、一組の動作レジスタａｉｊを具備する。ループｉのステージＪｉによって有効にされたＬＡＹＥＲ  Ｇｉｊだけが作動することができる。
【００２９】
オーガナイザ２は又増分するアドレスカウンタａｄｉｊを有する。これらのカウンタがループｉのステージｊにおける各実行をつかさどる。各ＬＡＹＥＲ  ＧｉｊはアドレスのシーケンスＡ[ｊ]ｉを管理して、ループｉのステージｊの並列実行を可能にする。ＬＡＹＥＲ  Ｇｉｊの中で、プログラムの実行はアドレスカウンタをａｄｉｊ＝ａｄｉｊ＋１と増分することによって行う。アドレスカウンタの増分ａｄｉｊ＝ａｄｉｊ＋１は、プログラムアドレスバス２３に、カウンタａｄｉｊのアドレスＡ［ｊ］を含む信号３を送る間に行われる。基本アドレスＡ０ｉは、第１のＬＡＹＥＲ  Ｇｉ０のアドレスカウンタを初期化しａｄｉｊ＝Ａ０ｉ、他のＬＡＹＥＲ  Ｇｉｊのアドレスカウンタａｄｉｊは、新しいイテレーションが開始されるときに前のＬＡＹＥＲ  Ｇｉｊ−１のアドレスカウンタａｄｉｊ−１に含まれていたアドレスＡ［ｊ−１］ｉによって初期化される。
【００３０】
状態指標ｅｉｊは、ＬＡＹＥＲ  Ｇｉｊがアイドル常態化、送信モード化、スタンバイかあるいは処理を終了した状態であるかを示す。ＬＡＹＥＲ  Ｇｉｊが動作中であり、その状態レジスタｅｉｊが送信中であれば、アドレスバス２３のアービトレータ２３＋はＬＡＹＥＲ  Ｇｉｊのためのバス２３に対するアクセス要求を取り上げる。
【００３１】
アービトレータ２３＋が与える完了バス２３へのアクセス許可は、要求した素子が当該要求を維持している限り、アドレスバス２３を使用する権利を与える。複数の要求が同時に起こった場合には、各ＬＡＹＥＲ  Ｇｉｊが完了信号３を送信することを希望するので、アービトレータ２３＋からの許可は定められた優先権の順序に従う。
【００３２】
（監視モード）ＬＡＹＥＲ  Ｇｉｊが動作中で、その状態レジスタｅｉｊがスタンバイ状態であれば、ＬＡＹＥＲ  Ｇｉｊの完了検出器ｄｉｊはオーガナイザ２とリソースのＫＥＲＮＥＬＳ  Ｃｉの完了信号センダｅｍｉがバス２７に対して送信した完了信号７を観測する。受信された完了信号７が待っていた完了コードに対応するものであれば、ＬＡＹＥＲ  Ｇｉｊの状態レジスタｅｉｊはスタンバイ状態を終了する。
【００３３】
（記憶モード）状態レジスタｅｉｊがスタンバイ状態でないときに、ＬＡＹＥＲ  Ｇｉｊの完了検出器ｄｉｊが完了信号７を受信すると、完了検出器ｄｉｊは、状態レジスタｅｉｊがスタンバイ状態になったときにこれを考慮することができるように完了信号７を記憶する。
【００３４】
ＫＥＲＮＥＬ  ＣｉのすべてのＬＡＹＥＲ  Ｇｉｊが処理の「終わり］において状態レジスタｅｉｊを有するなら、パイプラインフィード機構ｃｉがＫＥＲＮＥＬ  Ｃｉによって与えられたクロック信号２９に基づいてこのＫＥＲＮＥＬ  Ｃｉのチェーンのレジスタのシフティングを開始し、ＫＥＲＮＥＬ  Ｃｉのイテレーションカウンターｉｔｉを１つずつ減らす。レジスタの内容は従って、パイプラインｉ（ＫＥＲＮＥＬ  Ｃｉに対応するシフトレジスタストリング）が前に進むときに次のＬＡＹＥＲ  Ｇｉｊ+1に送られる。
【００３５】
プログラムループｉの実行はこのように、（図示しないディメンジョン指示レジスタに含まれる）データアドレッシング情報を作成することによって管理され、プログラムａｄｉｊ＋１＝ａｄｉｊはこのチェーンを通じて続く。この情報は従って、特定の再現に関して固有のものである（マルチモードプログラミング）。従って、イテレーションにリンクしたコードは必ずシーケンシャルになる。基本アドレスＡ０ｉのアドレッシングが行われると、オーガナイザ２は外部からの中断なしに実行のすべての動作を制御する。
【００３６】
オーガナイザ２はシーケンス化されたレジスタとカウンタしか有していないので、オーガナイザ２が使用する材料のボリュームは小さい。さらに、タスクバス２５が１つなので、スケジューリングのために必要なタスク５のフローレートは低い。
【００３７】
プログラムループｉの実行を初期化するために、初期化手段２１は、一例として図６に示した動作の基本の中のステップ（Ｓ１）において、オーガナイザ２の手段を初期化する命令１を受ける。次に、この初期化手段２１は、あらかじめ内容が与えられているレジスタから受け取った第１のアドレスを含む信号３をバス２３に送り出す（ステップＳ２）。オーガナイザ２は、スケジューリング指示、つまりオーガナイザのために設計された命令を含む前記第１のアドレスから読み出された第１のタスク５を受け取る（ステップＳ３とＳ４）。次にオーガナイザ２はこの命令を実行する（Ｓ５）。
【００３８】
ここに例示した実施例では、動作スケジュールパターンを反映して４つのスケジューリング動作がある。
−ループ初期化指示：動作レジスタａｉ０を動作モードに初期化し、ループｉの初期かパラメータを含むので、ＫＥＲＮＥＬＳ  Ｃｉの内の１つを構成する（基本アドレスＡ０ｉ、および／または、イテレーションの回数Ｎｉ、および／または、ループのステージの数Ｊｉ、および／または、ループのインブリケーションの数ｉ、および／または、完了コードまたはループのコードｉ、および／または、ループｉのステージｊ等）。
−スタンバイ指示：タスクの実行の終わりにスタンバイを示し、たとえば、待っている完了コードを含む。従って、タスクの終了と当該タスクを実行しているリソース６が自由になるのを待って、同じステージｊの次のタスクを実行する。又、同じループｉまたは２つのインブリケーテッドループｉとｉ’における２つの異なるステージｊとｊ’の２つのタスクの間にスタンバイをプログラムするために使用することもできる。この種のスタンバイは、たとえば、タスク間のデータに従属関係がある場合や共通のリソース６を使用する場合に必要になる。
−２つのステージｊとｊ＋１との間の境界命令：これは、たとえば、ステージｊの完了コードを含む。
−ループ終了指示：ループｉの最後のステージｊｉ−１の終了を示す。
【００３９】
上述のように例示した指示は関連するパラメータを含み、場合によっては、プログラムメモリ４の中のいくつかの連続したワードを呼び出す。変形例の１つは、最後の３つの指示において、初期化指示と実行指示で挿入されたフィールドの使用から構成される。
【００４０】
実行指示は、タスクに必要なパラメータ（形状パラメータとマイクループログラム、マイクロインストラクション）を含む。実際に、実行までにリソース６に対して情報が与えられなければならない。この情報は、パラメータ（ループのイテレーションの数、アドレスパラメータ等）や、実行を制御するために必要ならリソース６が使用するマイクループログラムであってもよい。この場合のプログラミングは、それ自身がマイクループログラムを使用するタスクを使用するので、階層的である。
【００４１】
図７は、上述のスケジューリング指示を実行中のオーガナイザ２の動作の基本を説明するものである
【００４２】
（スタート）第１のアドレスで読み出された指示はループ０の初期化指示である。この指示の実行は、オーガナイザ２のＫＥＲＮＥＬ  Ｃ０の選択を促す（ステップ  Ｓ５３ｄ）。動作レジスタａ００は次に動作モードになり、他のすべての動作レジスタａ０ｊ（ｊ≠０）は非動作モードになる（ステップ  Ｓ５４ｄ）。ＫＥＲＮＥＬ  Ｃ０のパイプラインフィード機構ｃ０がループ９の初期化パラメータを受け取る（ステップ  Ｓ５５ｄ）。このパイプラインフィード機構ｃ０は、ループ０（ｉｔ０＝Ｎ０）が実行するイテレーションの数にイテレーションカウンタを初期化して、ＫＥＲＮＥＬ  Ｃ０に対応するＬＡＹＥＲＳ  Ｇ０ｊの状態レジスタｅ０ｊをアイドル状態に置く。次に、基本アドレスを、ＬＡＹＥＲＧ００（ａｄ００＝Ａ００）のアドレスカウンタに送る（ステップ  Ｓ５６ｄ）。これによってＬＡＹＥＲ  Ｇ００の状態レジスタｅ００が記憶モードになる（ステップ  Ｓ５７ｄ）。
【００４３】
（送信）次にＬＡＹＥＲ  Ｇ００がアドレスカウンタａｄ００に含まれるアドレスＡ００を（ステップ  Ｓ８ｅ）アドレスバス２３に、このバス２３に対するアクセスに関するアービトレータ２３＋から許可され次第送信する準備が完了する（ステップ  Ｓ７ｅ）。送信されたアドレスＡ００に含まれる指示はリソース６または意図されたオーガナイザ２が読み出して実行する。アドレスカウンタａｄ００は増分が加えられるａｄ００＝ａｄ００＋１（ステップ  Ｓ９ｅ）。読み出された指示がスケジューリング指示でなければ（ステップ  Ｓ３−Ｓ４）、状態レジスタｅ００は送信モードのままで（ステップ  Ｓ６）、ＬＡＹＥＲ  Ｇ００はバス２３に対するアクセスを維持し、アドレスカウンタａｄ００に含まれる新しいアドレスＡ［０］０が送信され（ステップ  Ｓ８ｅ）アドレスカウンタａｄ００が増分される（ステップ  Ｓ９ｅ）。
【００４４】
（スタンバイ）読み出された指示がスケジューリング指示の「スタンバイ命令］であれば（ステップ  Ｓ３からＳ５）、ＬＡＹＥＲ  Ｇ００の状態レジスタｅ００はスタンバイモードになり、その完了検出器ｄ００は監視モードになる。ＬＡＹＥＲ  Ｇ００がＫＥＲＮＥＬ  Ｃ０から所望の完了コードを受領すると、ＬＡＹＥＲ  Ｇ００は送信状態になる。このことは、プログラムアドレスバス２３へのアクセスを再度要求することを意味する。次にアドレスバス２３に対してＬＡＹＥＲ  Ｇ００が最初にアクセスを要求したときと同様な処理が行われる。
【００４５】
（境界）読み出された指示が、スケジューリング指示の「２つのステージ指示の境界」（ステップＳ３からＳ５）であれば、ＬＡＹＥＲ  Ｇ００の状態レジスタｅ００は、処理の「終了」位置に行く。
【００４６】
（処理の終了）ＬＡＹＥＲ  Ｇ００が唯一のものなので（ループには１つのステージ０しかないか、他のＬＡＹＥＲＳ  Ｇ０ｊ（ｊ≠０）は作動していないという理由で）、パイプラインフィード機構ｃ０は次のイテレーションへの移行を管理する（ステップ  Ｓ８ｆ）。この目的のために、イテレーションカウンタをｉｔ０＝ｉｔ０−１のように１つ減らし（ステップ  Ｓ８１ｆ）、ＫＥＲＮＥＬＣ０に対応するＬＡＹＥＲＳ  Ｇ０ｊの状態レジスタｅ０ｊをアイドル状態とする。次に、動作レジスタをａ０ｊ＝ａ０ｊ−１（ｊ≧１）として、作動中のＬＡＹＥＲＳ  Ｇ０ｊ−１に関して、アドレスカウンタをａｄ０ｊ＝ａｄ０ｊ−１（ｊ≧１）とする（ステップ  Ｓ８２ｆ）。最後に、イテレーションカウンタｉｔ０の値が０になったら、ＫＥＲＮＥＬ  Ｃ０の第１のＬＡＹＥＲ  Ｇ００の動作レジスタａ００を非動作とする、つまりこのＬＡＹＥＲ  Ｇ００をループの部分的な終了段階とする（ステップ  Ｓ８３ｆ−Ｓ８４ｆ）。そうでない場合は、ＫＥＲＮＥＬ  Ｃ０の第１のＬＡＹＥＲ  Ｇ００の動作レジスタａ００を作動させ（ステップ  Ｓ８３ｆ−Ｓ８４ｆ）、パイプラインフィード機構ｃ０は基本アドレスＡ００を第１のＬＡＹＥＲ  Ｇ００のアドレスカウンタａｄ００に送る（ステップ  Ｓ８５ｆ）。動作中のＬＡＹＥＲ  Ｇ０ｊの状態レジスタｅ０ｊは、送信モードになり、これらのＬＡＹＥＲＳ  Ｇ０ｊの完了検出器ｄ０ｊは記憶モードになる（ステップ  Ｓ８６ｆ）。
【００４７】
ループ０が１つのステージ０しか有しておらず、ＬＡＹＥＲ  Ｇ００がループの部分的な終了段階にあれば、たとえば、上記の例の場合には、これが非動作状態で処理段階の終わりの位置にあれば、ＫＥＲＮＥＬ  Ｃ０は完了信号送信機ｅｍ０から完了バス２７に対してアービトレータ２７からの了解を得たあとでループ０の完了信号７を送信するループの最終段階に入る（ステップ  Ｓ９ｆ−Ｓ１０ｆ）。
【００４８】
ループ０が複数のステージｊを有していれば、第２のＬＡＹＥＲ  Ｇ０１が作動し、当該ＬＡＹＥＲ  Ｇ０１のアドレスカウンタａｄ０１は第１のＬＡＹＥＲＧ００が計算した最後のアドレスＡ［０］０を含む。ループに複数のイテレーションが含まれていれば、第１のＬＡＹＥＲ  Ｇ００は引き続き作動中で、ＬＡＹＥＲ  Ｇ００のアドレスカウンタａｄ００は基本アドレスＡ００を含む。
【００４９】
（送信）２つのＬＡＹＥＲ  Ｇ００とＧ０１が送信状態である、つまりこれらはアドレスバス２３に対してアクセスを要求している。アービトレータ２３＋はたとえば第２のＬＡＹＥＲ  Ｇ０１に対して（この場合にはＫＥＲＮＥＬ  Ｃｉの最後のＬＡＹＥＲから第１のＬＡＹＥＲの順で）優先権を与える。このＬＡＹＥＲ  Ｇ０１のアドレスカウンタａｄ０１は、次にそのアドレスＡ［１］０を送って増分演算ａｄ０１＝ａｄ０１＋１を行う（ステップ  Ｓ７ｅからＳ９ｅ）。送られたアドレスＡ［１］０から読み出された指示は、リソース６またはオーガナイザ２のために設計されたループ０のための第２のステージの第１の指示である。
【００５０】
読み出された指示がスケジューリング指示で無ければ（ステップ  Ｓ３−Ｓ４）、状態レジスタｅ０１は送信モードのままで（ステップ  Ｓ６）、ＬＡＹＥＲＧ０１は従ってバス２３へのアクセスを維持し、新しいアドレスＡ［１］０が送信され（ステップ  Ｓ８ｅ）アドレスカウンタａｄ０１は増分演算を行う（ステップ  Ｓ９ｅ）。
【００５１】
（スタンバイ）読み出された指示が「スタンバイ指示」スケジューリング指示（ステップＳ３からＳ５）、ＬＡＹＥＲ  Ｇ０１の状態レジスタｅ０１はスタンバイモードになり、その完了検出器ｄ０１は監視モードになる（ステップ  Ｓ５１ａ）。アービトレータ２２が次にアドレスバス２３に対するアクセス許可を要求しているレイヤであるＬＡＹＥＲ  Ｇ００に与える。ＫＥＲＮＥＬ  Ｃ０の第２のＬＡＹＥＲ  Ｇ０１が待っていた完了コードが受領されるとすぐに、ＬＡＹＥＲ  Ｇ０１は送信状態になる（ステップ  Ｓ７aからS８a）。次に、再度アドレスバス２３に対するアクセスを要求する。プロセスは次に第１回目のイテレーションと同様に進行する。
【００５２】
（境界）読み出された指示が、「２つのステージ指示の境界」スケジューリング指示であれば（ステップ  Ｓ３からＳ５）、ＬＡＹＥＲ  Ｇ０ｊ（ｊ＝０，１）の状態レジスタｅ０ｊ（ｊ＝０，１）は送信段階になる、つまり送信状態で、アドレスバス２３へのアクセスの許可を得て、処理終了の値をとる（ステップ  Ｓ５１ｆ）。
【００５３】
（処理の終了）作動中のＬＡＹＥＲＳ  Ｇ０ｊ（ｊ＝０，１）のすべての状態レジスタｅ０ｊ（ｊ＝０，１）が処理の終了位置であれば、パイプラインフィード機構ｃ０は次のイテレーションに移行することができる（ステップ  Ｓ７ｆからＳ８ｆ）。このために、作動中のＬＡＹＥＲ  Ｇ０ｊ−１についてイテレーションカウンタを１つ減算しｉｔ０＝ｉｔ０−１（ステップ  Ｓ８１ｆ）、動作レジスタをシフトしａ０ｊ＝ａ０ｊ−１（ｊ≧１）、アドレスカウンタをａｄ０ｊ＝ａｄ０ｊ−１（ｊ≧１）とする（ステップ  Ｓ８２ｆ）。
【００５４】
すべてのＬＡＹＥＲＳ  Ｇ０ｊ（ｊ＝０，１）が部分的な終了段階であれば、つまりイテレーションカウンタｉｔ０が０の値になって、すべてのＬＡＹＥＲＳＧ０ｊ（ｊ＝０，１）が非作動であれば、ループ０の実行は終了する。ＫＥＲＮＥＬ  Ｃ０は次に、アービトレータ２７＋からの許可を得た後に完了信号送信機ｅｍ０から完了バス２７にループ０の完了信号を送信することを含むループの終了段階に入る。
【００５５】
上述の例は、意図的に２つのＬＡＹＥＲＳ  Ｇｉｊ（ｊ＝０，１）のＫＥＲＮＥＬ  Ｃｉによる制御に限定していたが、この例に示したものと同じ手順を用いて、ＫＥＲＮＥＬ  Ｃｉが１つのＬＡＹＥＲを制御することもできるし２つ以上のＲＡＹＥＲＳ  Ｇｉｊ（ｊはＮに属する）を制御することもできる。
【００５６】
（開始）プログラムがインブリケートされたループを含む場合には、ＬＡＹＥＲ  Ｇｉｊが送信されたアドレスＡ［ｊ］ｉから読み出した指示じゃループ初期化指示である可能性がある（ステップ  Ｓ４からＳ５）。この場合には、送信段階の前記ＬＡＹＥＲ  Ｇｉｊは、つまり送信状態でプログラムアドレスバスにアクセスを有しており、スタンバイ状態になり、その完了検出器ｄｉｊは新しいＫＥＲＮＥＬ  Ｃｉ’（ｉ’≠ｉ）の完了信号を監視する監視モードになる（ステップ  ５１ｄから  ５３ｄ）。
【００５７】
この新しいＫＥＲＮＥＬ  Ｃｉ’は、たとえば、ループｉ’の初期化支持のＮＵＭＳＥＱフィールドに含まれるデータエレメントの関数として利用できるものから選択される。ループ初期化指示はインブリケーテッドループｉ’においてもメインループ０と同様に作動する。新しいＫＥＲＮＥＬ  Ｃｉ’は、複数のＬＡＹＥＲＳ  Ｇｉ’ｊ’を有して、メインループ０の管理を制御するＫＥＲＮＥＬ
Ｃ０と同様に作動する。
【００５８】
本発明に基づくオーガナイザ２の機能は非常に多い。これはたとえばタスクシーケンスの実行を管理することができる：
−マルチモードでは    初期化手段２１は、マルチモード動作はその名前が示すように複数のモードを有するので管理しているループｉとは別のプログラムのループｉ’のイテレーションを挿入するために使用することができるので、オーガナイザ２はマルチモードで作動する。この目的のために、たとえば、初期化手段が、ループｉに代えてループｉ’に対応する別のアドレスＡ００を与えることで十分である（ステップ  Ｓ８５ｆ参照）。リカレンスと称する時間間隔の間にデータエレメントの組が適用されるあらかじめ設定された処理のチェーンにモードが対応する。連続したリカレンスは、たとえば以下に示すように、モードが異なる可能性がある、
0004743998.tif 000002
【００５９】
−予測による場合    オーガナイザ２の予測機能を使用してリソース６のプログラミングを予測する、たとえば、リソース６’におけるタスク５の実行７の終了を待たずに、次のリソース６”で次のタスクをプログラムするために使用する。これによって、タスク５が開始されたばかりのときに、リソース６を次のタスクのためにプログラムすることが可能になる。このためには、リソース６”はこのプログラムのために２つのメモリ領域を受け入れることが必要である。最初のイテレーションの間、各ＬＡＹＥＲ  Ｇｉｊに第１のタスクをプログラムするために、動作レジスタチェーンはたとえば二重化されておりタスクが定義される。
【００６０】
−データにアクセスするためのイテレーションを考慮する    各イテレーション毎に、多次元イテレーションカウンタを多次元データテーブルへのアクセスと対応付けてもよい。ループのイテレーションの関数として異なるデータにアクセスするためのメモリアドレスを計算するために、イテレーションカウンタｉｔｉを使用する例である。多次元カウンタの値ｉｔｉ［ｊ］は、ＬＡＹＥＲ  ＧｉｊからＬＡＹＥＲ  Ｇｉｊ＋１に対してちょうど動作レジスタａｉｊと同じようにシフトレジスタを介して渡され、アドレスカウンタａｄｉｊは、値がループｉのチェーンの各ＬＡＹＥＲ  Ｇｉｊの進行に対応するようにシフトされる。
【００６１】
−ＫＥＲＮＥＬ  Ｃｉにデータバッファを対応付ける    ＫＥＲＮＥＬ  Ｃｉのイテレーションカウンタｉｔｉはパイプラインに対応してデータバッファ管理を提供する（ＫＥＲＮＥＬ  Ｃｉによって形成されＬＡＹＥＲＳ  Ｇｉｊに対応するチェーンによって）。これは、オーガナイザ２によるループｌの各イテレーションのためのメモリ領域の確保が可能であることを意味する。イテレーションが終了したときに、メモリ領域は、使用されたＬＡＹＥＲＳ  Ｇｉｊの数のイテレーションカウンタｉｔｉモジューロの値を計算するか、あるいは、ＬＡＹＥＲ  ＧｉｊからＬＡＹＥＲ  Ｇｉｊ＋１に値が渡されたＫＥＲＮＥＬ  Ｃｉのイテレーションカウンタｉｔｉと同じペースで作動しているカウンタを使用してメモリ領域を開放することができる。上述の機能はこれらに限定される意味で記載したものではない。
【００６２】
オーガナイザ２の第１の変形例は、ＬＡＹＥＲＳ  Ｇが特定のＫＥＲＮＥＬ  Ｃｉと物理的にリンクしていない点が特徴である。ＫＥＲＮＥＬ  ＣｉとＬＡＹＥＲＳ  Ｇとの間で交換される情報を多重化することによって、どのＫＥＲＮＥＬ  Ｃｉも、どのＬＡＹＥＲ  Ｇを使用することができる。
【００６３】
オーガナイザ２の第２の変形例は、ＬＡＹＥＲＳ  Ｇｉｊに含まれるレジスタを一括してすべてのＬＡＹＥＲＳ  Ｇｉｊからアクセス可能な全体的なレジスタバンクとする。この解決のためには、ＫＥＲＮＥＬ  Ｃｉに対応したＬＡＹＥＲＳ  Ｇｉｊのすべての動作レジスタａｉｊとすべての状態レジスタａｄｉｊが各サイクルにおいて読み出し可能でなければならない。
【００６４】
第３の変形例では、スケジューリング指示がリソース６をプログラムするすべての指示と同じように命令によってカバーされているか、あるいは、他の指示に対応した指示フィールドのみによってカバーされている。
【図面の簡単な説明】
【図１】  従来技術に属するマルチリソースアーキテクチャの基本的な図面である。
【図２】  本発明に基づく２つのシーケンス化レベルを有するマルチリソースアーキテクチャを示す基本的な図である。
【図３】  本発明に基づくオーガナイザの概念を例示したものである。
【図４】  本発明に基づくオーガナイザのアーキテクチャを例示したものである。
【図５】  図４に示したオーガナイザの一部の実施例を詳細に示すものである。
【図６】  本発明に基づくオーガナイザの動作原理を例示したものである。
【図７】  スケジューリング管理動作中のオーガナイザの動作を詳細に例示したものである。
【図８】  次の繰り返し処理への移行途中のオーガナイザの動作を詳細に例示したものである。
【図１】
0004743998.tif 000003
【図２】
0004743998.tif 000004
【図３】
0004743998.tif 000005
【図４】
0004743998.tif 000006
【図５】
0004743998.tif 000007
【図６】
0004743998.tif 000008
【図７】
0004743998.tif 000009
【図８】
0004743998.tif 000010