制御部1は、状態管理部11、構成番号変換部12、構成情報記憶部14及び構成書換部13を備えている。演算部2は、複数の演算器21及び該複数の演算器21を接続するための相互接続部22を備えている。
状態管理部11は、構成情報に含まれる現在の動作状態及び次に遷移する状態の候補群(遷移先候補群)、並びに演算部2から送出されるイベント信号に基づき、予め備える状態遷移表を用いて次の動作状態で使用する構成情報の論理番号を決定し、該決定した論理番号を構成番号変換部12へ通知する。
論理番号はオブジェクトコードに含まれる各構成情報の相互関係を示す情報である。構成情報記憶部13に保存されている構成情報の実際の格納位置は実番号によって特定される。
本実施形態の状態管理部11は対応実番号記憶部15を備える。対応実番号記憶部15は、実番号とその実番号が有効であるか無効であるかを示す情報を一時的に保持する。状態管理部11は、現在動作状態にある構成情報の論理番号と演算部2から送出されるイベント信号とに基づいて対応実番号記憶部15から実番号の読み出しを試みる。対応実番号記憶部15から有効な実番号を読み出せた場合、状態管理部11は該実番号を構成情報記憶部14へ通知する。対応実番号記憶部15から無効を示す情報を読み出した場合は、対応する論理番号を構成番号変換部12へ通知すると共に演算部2の動作を停止させる。
また、状態管理部11は、構成番号変換部12から実番号が通知されると、該実番号を対応実番号記憶部15の所定の格納位置に書き込むと共に、該実番号が有効であることを示す情報を格納する。
構成番号変換部12は、予め備える変換表を用いて状態管理部11から通知された構成情報の論理番号を実番号に変換し、該実番号を構成情報記憶部14及び状態管理部11へ通知する。論理番号から実番号への変換が失敗した場合、構成情報記憶部14に必要な構成情報が格納されていないため、構成番号変換部12は、構成書換部13に該論理番号を通知し、構成情報記憶部14内の構成情報の書き換えを要求する。
構成書換部13は、データ処理装置の初動時に、構成情報記憶部13に構成情報を書き込み、状態管理部11に状態遷移表を書き込み、構成番号変換部12に変換表を書き込む。
また、構成書換部13は、構成番号変換部12から書き換え要求が発行されると、構成情報記憶部14に保存された構成情報のうち、現時点で不要な構成情報の実番号を決定し、該決定した実番号が記憶された対応実番号記憶部15内のエントリを無効にする。さらに、該実番号で特定される構成情報を、構成情報記憶部14から要求された、指定された構成情報に書き換える。また、構成書換部13は、状態管理部11の該実番号の遷移先候補群と、構成番号変換部12の論理番号から実番号への変換処理に必要な変換情報とを更新する。不要な構成情報の選択には、例えばLRU(Least Recently Used)法等の周知の方法を用いればよい。
構成書換部13は、構成番号変換部12からの書き換え要求に対して基本的に指定された構成情報を1つだけ書き換えるが、指定された構成情報と共にそれ以降に使用する構成情報も併せて書き換えてよい。この場合も、現時点で不要な実番号が格納された対応実番号記憶部15のエントリの無効化、状態管理部11の遷移先候補群及び構成番号変換部12の論理番号から実番号への変換処理に必要な変換情報の書き換えを行う。
構成情報記憶部14は、複数の構成情報を記憶する。構成情報記憶部14は、状態管理部11、構成番号変換部12あるいは構成書換部13から実番号が通知されると、通知された実番号を保持する。構成情報記憶部14は、保持した実番号に対応する構成情報を読み出し、演算部2に通知する。また、保持した実番号を状態管理部11に通知する。
対応実番号記憶部15は、遷移先候補群と演算部2から送出されたイベント信号とにより、次の動作状態で使用する構成情報の実番号とそれが有効であるか無効であるかを示す情報とを読み出す。また、対応実番号記憶部15は、指定された実番号を検索し、検出した全てのエントリを無効に設定する機能を備える。
演算部2は、順次遷移する複数の動作状態毎に構成情報記憶部14から通知された構成情報にしたがって演算器21を用いて演算処理を実行する。また、演算過程で発生するイベント信号を制御部1の状態管理部11に出力する。
なお、図1に示すデータ処理装置の各構成要素は、それぞれ図1に示した機能単位で独立して備える必要はなく、任意の構成要素が他の構成要素に含まれていてもよく、任意の構成要素が複数の部品で構成されていてもよい。例えば、構成情報記憶部14は、演算器21や相互接続部22がそれぞれ備える不図示のメモリによって構成されてもよい。また、図1に示すデータ処理装置の各構成要素は、その全てを1つの装置内に備える必要はない。例えば、構成書換部13は、外部の装置や外部のMPU等で実現してもよい。
構成情報は、上述したように、ある時点における演算器21に対する演算命令、相互接続部22による各演算器21の接続関係を示す情報、イベント信号とそれに対応して次に選択すべき構成情報の関係を示す情報等を備えた、データ処理装置内に仮想的に回路を構成するために必要な情報である。オブジェクトコードは、所望の処理を実行するために必要な構成情報の集まりを示す。
なお、状態管理部11は、現在の状態とイベント信号とから次に遷移すべき状態を決定できればどのような構成でもよい。例えば、状態管理部11には、各状態間の遷移関係を示す対応表を備える構成が考えられる。
また、構成番号変換部12は、状態管理部11が指定する構成情報の論理番号を実番号に変換できればどのような構成でもよい。構成番号変換部12には、例えば論理番号と実番号の対応関係を示す変換表を備えた構成、あるいは論理番号と実番号の相対値を基準に論理番号から実番号へ変換するための機能を備えた構成が考えられる。本実施形態では、構成番号変換部12による論理番号から実番号へ変換するための処理で必要な上記対応表や相対値等を「変換情報」と総称する。
以上の各構成要素に対する要件は、第1の実施の形態だけでなく、以下に記載する第2の実施の形態から第6の実施の形態、並びに第1実施例から第3実施例にも適用される。
本実施形態のデータ処理装置では、状態管理部11に実番号とその実番号が有効であるか無効であるかを示す情報を一時的に保持する対応実番号記憶部15を備えることで、遷移元と遷移先の両方の構成情報が書き込まれた後の初回の遷移では、次の動作状態で使用する構成情報の実番号が無効であり、構成番号変換部12によって論理番号から実番号への変換処理が必要になる。
しかしながら、2回目以降は対応実番号記憶部15に次の動作状態で使用する構成情報の有効な実番号が保持されている。したがって、本実施形態のデータ処理装置によれば、先願発明1,2に記載されたデータ処理装置と比べて動作所要時間を低減できる。
また、先願発明3に記載されたデータ処理装置では、構成情報の書き込み時に全ての実番号を構成情報記憶部14へ書き込み、その後、演算部2の動作を再開するが、本実施形態のデータ処理装置では、構成情報の書き込み時に実番号の情報を書き込まず、必要に応じて構成番号変換部12により論理番号から実番号への変換処理を経た後、対応実番号記憶部15にその実番号を書き込む。そのため、本実施形態のデータ処理装置によれば、先願発明3に記載されたデータ処理装置と比べても動作所要時間を低減できる。
(第2の実施の形態)
図2は第2の実施の形態のデータ処理装置の構成を示すブロック図である。
対応実番号補充部16は、演算部2の動作中に、状態管理部11の遷移先候補群のうち、対応実番号記憶部15内の無効なエントリの論理番号を構成番号変換部12へ通知し、構成番号変換部12により該論理番号に対応する実番号が通知されると、該実番号を対応実番号記憶部15の所定の格納位置に書き込み、該実番号が有効であることを示す情報を格納する。
以上の動作において、構成番号変換部12による論理番号から実番号への変換処理が失敗した場合は、遷移先の構成情報が構成情報記憶部14に格納されていないことを意味するため、対応実番号記憶部15内の該エントリは無効のままとする。なお、演算部2の動作中における構成情報記憶部14の書き換えが許されている場合は、この段階で構成書換部13に書き換え要求を発行してもよい。その他の制御部1及び演算部2の構成及び動作は第1の実施の形態で示したデータ処理装置と同様であるため、その説明は省略する。
本実施形態のデータ処理装置によれば、状態管理部11に対応実番号記憶部15及び対応実番号補充部16を備えることで、遷移元と遷移先の両方の構成情報が構成情報記憶部14に書き込まれてから初回の遷移でも、演算部2の動作中に次の動作状態で使用する構成情報の論理番号を実番号に変換して有効な状態となるため、第1の実施の形態のデータ処理装置と比べて動作所要時間を低減できる。
また、演算部2の動作中における構成情報記憶部14の書き換えが許されている場合は、演算部2が長時間動作している間に遷移先の構成情報を順次構成情報記憶部14に書き込むことができるため、オンデマンドで構成情報記憶部14を書き換える背景技術のデータ処理装置と比べて動作所要時間を低減できる。
(第3の実施の形態)
図3は第3の実施の形態のデータ処理装置の構成を示すブロック図である。
構成書換部13は、構成番号変換部12からの書き換え要求に対して指定された構成情報を書き換えた後、対応実番号記憶部15の書き換え対象となる実番号が格納されたエントリを無効化し、状態管理部11の遷移先候補群および構成番号変換部12による論理番号から実番号への変換処理で必要な変換情報の書き換えを行う。その後、演算部2による動作が再開される。構成書換部13は、書き換えた構成情報の遷移先の論理番号に対応する実番号が有効であれば、該実番号を対応実番号記憶部15の所定の格納位置に書き込み、該実番号が有効であることを示す情報を格納する。
また、構成書換部13は、書き換えた構成情報への遷移を行う旨が記された対応実番号記憶部15の各エントリに対し、実番号を対応実番号記憶部15の所定の位置に書き込み、該実番号が有効であることを示す情報を格納する。その他の制御部1及び演算部2の構成及び動作は第1の実施の形態で示したデータ処理装置と同様であるため、その説明は省略する。
本実施形態のデータ処理装置によれば、構成書換部13により対応実番号記憶部15のエントリの無効化及び実番号の書き込みを行うことで、遷移元と遷移先の両方の構成情報が書き込まれてから初回の遷移でも、演算部2の動作中に次の動作状態で使用する構成情報の論理番号を実番号に変換して有効な状態となるため、第1の実施の形態と比べて動作所要時間を低減できる。
また、演算部2の動作中における構成情報記憶部14の書き換えが許されている場合は、演算部2が長時間動作している間に遷移先の構成情報を順次構成情報記憶部14に書き込むことができるため、オンデマンドで構成情報記憶部14を書き換える背景技術のデータ処理装置に比べて動作所要時間を低減できる。
(第4の実施の形態)
図4は第4の実施の形態のデータ処理装置の構成を示すブロック図である。
第4の実施の形態のデータ処理装置は、状態管理部11が論理番号と共に内部状態番号を管理し、演算部2に対して内部状態番号を指定する点で第1の実施の形態と異なっている。
状態管理部11は、構成情報に含まれる現在の動作状態及び次に遷移する状態の候補群(遷移先候補群)と演算部2から送出されたイベント信号とにより、次の動作状態で使用する構成情報の論理番号と内部状態番号とを決定し、該内部状態番号を演算部2に指定する。
また、本実施形態の状態管理部11は対応実番号記憶部15を備えている。状態管理部11は、現動作状態と演算部2から送出されたイベント信号とに基づき対応実番号記憶部15から実番号の読み出しを試みる。対応実番号記憶部15から有効な実番号を読み出せた場合、状態管理部11は、該実番号を構成情報記憶部14へ通知する。また、対応実番号記憶部15から無効を示す情報を読み出した場合は、対応する論理番号を構成番号変換部12へ通知すると共に演算部2の動作を停止させる。
状態管理部11は、構成番号変換部12から実番号が通知されると、該実番号を対応実番号記憶部15の所定の格納位置に書き込み、該実番号が有効であることを示す情報を格納する。
演算部2は、順次遷移する複数の動作状態毎に構成情報記憶部14から通知される構成情報にしたがって演算処理を実行する。このとき、演算部2は、状態管理部11が指定する内部状態番号を演算処理に使用する。また、演算過程で発生するイベント信号を制御部1の状態管理部11に発行する。
相互接続部22は、構成情報記憶部14から通知された構成情報にしたがって複数の演算器21の接続関係を切り換える。その他の制御部1及び演算部2の構成及び動作は第1の実施の形態で示したデータ処理装置と同様であるため、その説明は省略する。
本実施形態のデータ処理装置によれば、状態管理部11が論理番号と内部状態番号を管理し、かつ論理番号と内部状態番号とを分離して保持し、論理番号を実番号への変換対象とし、内部状態番号を演算部2に対して指定することで、第1の実施の形態のデータ処理装置と比べて、より多くの状態に遷移するオブジェクトコードにしたがった処理が可能である。
(第5の実施の形態)
図5は本発明のデータ処理装置の第5の実施の形態の構成を示すブロック図である。
対応実番号補充部16は、演算部2の動作中に、状態管理部11の遷移先候補群のうち、対応実番号記憶部15内の無効のエントリの論理番号を構成番号変換部12へ通知し、構成番号変換部12から実番号が通知されると、該実番号を対応実番号記憶部15の所定の格納位置に書き込み、該実番号が有効であることを示す情報を格納する。ここで、論理番号から実番号への変換に失敗した場合は、構成情報記憶部14に遷移先の構成情報が格納されていないため、対応実番号記憶部15内の該エントリは無効のままとする。
なお、演算部2の動作中における構成情報記憶部14の書き換えが許されている場合は、この段階で構成書換部13に書き換え要求を発行してもよい。その他の制御部1及び演算部2の構成及び動作は第4の実施の形態で示したデータ処理装置と同様であるため、その説明は省略する。
本実施形態のデータ処理装置によれば、状態管理部11に対応実番号記憶部15及び対応実番号補充部16を備えることで、遷移元と遷移先の両方の構成情報が書き込まれてから初回の遷移でも、演算部2の動作中に次の動作状態で使用する構成情報の論理番号を実番号に変換して有効な状態となるため、第1の実施の形態と比べて動作所要時間を低減できる。
また、演算部2の動作中における構成情報記憶部14の書き換えが許されている場合は、演算部2が長時間動作する間に遷移先の構成情報を順次構成情報記憶部14に書き込むことができるため、オンデマンドで構成情報記憶部14を書き換える背景技術のデータ処理装置に比べて動作所要時間を低減できる。
(第6の実施の形態)
図6は第6の実施の形態のデータ処理装置の構成を示すブロック図である。
構成書換部13は、構成番号変換部12からの書き換え要求に対して指定された構成情報を書き換えた後、対応実番号記憶部15の書き換え対象となる実番号が格納されたエントリを無効化し、状態管理部11の遷移先候補群および構成番号変換部12による論理番号から実番号への変換処理で必要な変換情報の書き換えを行う。その後、演算部2による動作が再開される。構成書換部13は、書き換えた構成情報の遷移先の論理番号に対応する実番号が有効であれば、該実番号を対応実番号記憶部15の所定の格納位置に書き込み、該実番号が有効であることを示す情報を格納する。
また、構成書換部13は、書き換えた構成情報への遷移を行う旨が記された対応実番号記憶部15の各エントリに対し、実番号を対応実番号記憶部15の所定の位置に書き込み、該実番号が有効であることを示す情報を格納する。その他の制御部1及び演算部2の構成及び動作は第4の実施の形態で示したデータ処理装置と同様であるため、その説明は省略する。
本実施形態のデータ処理装置によれば、構成書換部13により対応実番号記憶部15のエントリの無効化及び実番号の書き込みを行うことで、遷移元と遷移先の両方の構成情報が書き込まれてから初回の遷移でも、演算部2の動作中に次の動作状態で使用する構成情報の論理番号を実番号に変換して有効な状態となるため、第4の実施の形態と比べて動作所要時間を低減できる。
また、演算部2の動作中における構成情報記憶部14の書き換えが許されている場合は、演算部2が長時間動作している間に遷移先の構成情報を順次構成情報記憶部14に書き込むことができるため、オンデマンドで構成情報記憶部14を書き換える背景技術のデータ処理装置に比べて動作所要時間を低減できる。
次に本発明のデータ処理装置の実施例について図面を用いて説明する。
(第1実施例)
第1実施例のデータ処理装置は、上記先願発明1(特願2006−103987号)のデータ処理装置に上述した第1の実施の形態を適用する例である。
図7は第1実施例のデータ処理装置の構成を示すブロック図である。
本実施例では、上記先願発明1に記載されたデータ処理装置の状態遷移管理部(STC)3のみ変更し、演算部4については何も変更していない。
本実施例の演算部4は、レジスタファイル(RFU)、ALU、データ処理演算器(DMU)を備えた複数のプロセッサエレメント41(PE)を有し、各プロセッサエレメント41が配線及びスイッチ(SW)により相互に接続される構成である。このような構成では、RFU、FFU、ALU、DMU等を備える各プロセッサエレメント41が第1の実施の形態で示した演算器21となる。なお、演算部4は、上記プロセッサエレメント41に限らず、例えばロジックアレイで構成してもよい。
本実施例のプロセッサエレメント41は構成情報メモリ44を備える。構成情報メモリ44は、実番号が指定されると、該指定された実番号の内容(構成情報)を読み出し、RFU、FFU、ALU、DMU等の動作及びスイッチによる接続を指定する。
本実施例の状態遷移管理部3は、状態管理部31、構成番号変換部32、構成書換部33および実番号レジスタ34を備えたDRPの状態遷移管理部(STC)3に相当する。
本実施例では、状態管理部31に対応実番号記憶部35を備えている。
状態管理部31は、実番号レジスタ34に格納された現在の実番号と、演算部4から送出されたイベント信号とを受け取ると、該実番号及びイベント信号に基づいて次遷移先の論理番号を決定する。また同時に、現在の実番号と演算部4から発行されたイベント信号を受け取ると、対応実番号記憶部35から次遷移先の実番号または次遷移先の実番号が格納されていない場合は無効を示す情報を読み出す。
以降、現在の実番号とイベント信号で特定される対応実番号記憶部35内の格納位置(エントリ)を「対応記憶箇所」と称す。
対応実番号記憶部35の対応記憶箇所から次遷移先の実番号を読み出すことができた場合、状態管理部31は該実番号を実番号レジスタ34に書き込む。
また、対応実番号記憶部35の対応記憶箇所から無効を示す情報を読み出した場合、状態管理部31は、次遷移先の論理番号に対応する実番号が不明であるため、構成番号変換部32に対して次遷移先の論理番号から実番号への変換を要求する。
構成番号変換部32による論理番号から実番号への変換に成功した場合、状態管理部31は構成番号変換部32から受け取った実番号を実番号レジスタ34に書き込む。また同時に、対応実番号記憶部35内の対応記憶箇所に次遷移先の実番号を書き込む。
一方、構成番号変換部32による論理番号から実番号への変換に失敗した場合、次遷移先の論理番号の構成情報は構成情報メモリ44に格納されていない。この場合、構成情報メモリ44で保持する構成情報の書き換えが必要であるため、構成番号変換部32は次遷移先の論理番号を構成書換部33に通知し、構成情報メモリ44の書き換えを要求する。
構成書換部33は、構成情報メモリ44で保持された構成情報のうち、現時点で不要な構成情報の実番号を決定し、該決定した実番号が格納された対応実番号記憶部35のエントリを無効とする。不要な構成情報の選択には、例えばLRU(Least Recently Used)法等の周知の方法を用いればよい。そして、構成情報メモリ44内の無効にしたエントリに、書き換え要求時に指定された構成情報を書き込む。構成情報メモリ44に書き込む構成情報は外部メモリ5から取得する。また、状態管理部31の現実番号の遷移先候補群および構成番号変換部32の論理番号から実番号への変換処理に必要な変換情報を更新し、実番号レジスタ34に該実番号を書き込む。
構成番号変換部32は、構成書換部33による構成情報メモリ44の書き換え終了後、対応実番号記憶部35内の対応記憶箇所に遷移先の実番号を書き込む。
状態管理部31は、構成番号変換部32による論理番号から実番号への変換処理時および構成書換部33による書き換え時、プロセッサエレメント41群にWEキャンセルを発行してレジスタ書き込みを禁止し、プロセッサエレメント41群の動作を停止させる。
本実施例では、各プロセッサエレメント41内の構成情報メモリ44が構成情報記憶部14となる。
また、本実施例では、状態管理部31が、実番号とイベント信号の種類に応じて次遷移先の論理番号と、対応実番号記憶部35内の実番号または無効を示す情報とを、図8に示す表形式(対応表)で保持する。
以下、装置構成要素の符号との混同を避けるため、実番号及び論理番号は、「0」のように鍵括弧を用いて示す。
図8は、実番号「0」とイベント信号Aが指定されると、次論理番号「1」と次実番号「1」が読み出され、実番号「1」とイベント信号Aが指定されると、次論理番号「0」と次実番号「0」が読み出され、実番号「1」とイベント信号Bが指定されると、次論理番号「2」と次実番号が対応実番号記憶部35に格納されていないため無効を示す情報とが読み出される例を示している。
なお、図8の各実番号で特定されるエントリのうち、次論理番号が「−」で示されたエントリは、該当するイベント信号が発生しないことを示している。また、このエントリに対応する対応実番号記憶部35の各部位には、内容に意味がないため、何も記載していない。また、図8では、全てのイベント信号に対応する次論理番号が「−」で示されている実番号「2」〜「7」には、対応する対応実番号記憶部35に構成情報が書き込まれていないことを示している。
また、本実施例では、構成番号変換部32が、図9に示す表形式(変換表)で実番号と論理番号の関係を保持する。すなわち、本実施例の構成番号変換部32は、論理番号が指定されると、図9に示す変換表を検索し、検出した該論理番号に対応する実番号を出力する、連想メモリ形式とする。図9は、実番号「0」に論理番号「0」の構成情報が記憶され、実番号「1」に論理番号「1」の構成情報が記憶されていることを示している。
また、本実施例では、オブジェクトコードが格納された外部メモリ(記憶手段)5を備え、構成書換部33は、該外部メモリ5からオブジェクトコードの各構成情報を取得できるものとする。
以下、図10で示す状態遷移図にしたがって処理を実行する場合を例にして本実施例のデータ処理装置の動作について説明する。図10は、丸で囲んだ数字が一つの論理番号を示し、全部で14個の構成情報からなるオブジェクトコードの状態遷移図を示している。
本実施例では、データ処理装置(DRP)が備える構成情報メモリの実番号「0」に論理番号「1」の構成情報が保持されているものとする。このときの状態管理部31が備える対応表を図11Aに示す。
図11Aに対応表によれば、論理番号「0」の構成情報は実番号「0」に書き込まれ、論理番号「1」の構成情報は実番号「1」に書き込まれている。また、対応実番号記憶部35は遷移先の実番号を保持していない。実番号の最大値は「7」であり、合計8個の構成情報を保持できるものとする。
以下、1サイクル目にて論理番号「0」の処理を実行している状態からの動作を考える。
この場合、実番号レジスタ34には実番号「0」が書き込まれている。そのため、各プロセッサエレメント41の構成情報メモリ44には実番号「0」が通知され、対応する構成情報が読み出されて各プロセッサエレメント41の動作とスイッチの接続関係が決定する。その結果、各プロセッサエレメント41で所定の演算が実行される。
各プロセッサエレメント41による演算結果がイベント信号Aとして状態管理部31に通知されると、状態管理部31は、状態遷移図に基づいて作成された対応表にしたがって、現在の実番号「0」とイベント信号Aから次の状態の論理番号「1」を決定する。また、同時に対応実番号記憶部35の対応記憶箇所から「無効」を読み出す。
ここでは、対応実番号記憶部35内の対応記憶箇所からの読み出し結果が「無効」であるため、状態管理部31は、動作を停止させるためのWEキャンセル信号をプロセッサエレメント41群に対して2サイクル目以降発行し続ける。プロセッサエレメント41のレジスタは、この信号により内容更新を受け付けなくなる。また、外部ポートからのデータ入力動作も停止する。
2サイクル目において、状態管理部31は、次の状態の論理番号「1」を構成番号変換部32へ通知する。
構成番号変換部32は、変換表にしたがって論理番号「1」を実番号に変換する。ここでは、論理番号「1」の構成情報が既に構成情報メモリ44で保持されているため変換に成功する。状態管理部31は、構成番号変換部32から取得した実番号「1」を実番号レジスタ34へ格納する。また、次サイクルより動作を再開させるために、WEキャンセル信号の発行を停止し、プロセッサエレメント41群に動作を再開させる。
また、状態管理部31は、対応実番号記憶部35の対応記憶箇所に、遷移先の実番号「1」を書き込み、「有効」を示す情報を書き込む。このときの状態管理部31が備える対応表を図11Bに示す。
3サイクル目において、実番号「1」が実番号レジスタ34から構成情報メモリ44に通知され、対応する構成情報が読み出されて各プロセッサエレメント41の動作とスイッチの接続関係が決定する。その結果、各プロセッサエレメント41で所定の演算が実行される。
各プロセッサエレメント41による演算結果がイベント信号Aとして状態管理部31に通知されると、状態管理部31は、状態遷移図に基づいて作成された対応表にしたがって、現在の実番号「1」とイベント信号Aから次の状態の論理番号「2」を決定する。また、同時に対応実番号記憶部35の対応記憶箇所から「無効」を読み出す。
ここでは、対応実番号記憶部35の対応記憶箇所からの読み出し結果が「無効」であるため、状態管理部31は、動作を停止させるためのWEキャンセル信号をプロセッサエレメント41群に対して2サイクル目以降発行し続ける。プロセッサエレメント41のレジスタは、この信号により内容更新を受け付けなくなる。また、外部ポートからのデータ入力動作も停止する。
4サイクル目において、状態管理部31は、次の状態の論理番号「2」を構成番号変換部32へ通知する。
構成番号変換部32は、変換表を用いて論理番号「2」から実番号への変換を試みる。ここでは、論理番号「2」の構成情報が構成情報メモリ44で保持されていないため、変換に失敗する。構成番号変換部32は、論理番号から実番号への変換に失敗すると、該論理番号「2」の構成情報を構成情報メモリ44に書き込むよう構成書換部33に要求する。
構成書換部33は、構成情報メモリ44、状態管理部31および構成番号変換部32の書き換えを行う。ここでは、未使用の実番号「2」を使用する。
構成書換部33は、外部メモリ5より論理番号「2」の構成情報を取得し、該構成情報を構成情報メモリ44に書き込む。また、構成書換部33は、状態管理部31の実番号「2」のエントリに論理番号「2」の遷移先の情報を書き込み、構成番号変換部32の実番号「2」のエントリに論理番号「2」を書き込む。
構成書換部33による書き換えが終了すると、構成番号変換部32は、論理番号「2」に対応する実番号「2」を実番号レジスタ34へ送信する。また、次サイクルより動作を再開させるために、WEキャンセル信号の発行を停止し、プロセッサエレメント41群に動作を再開させる。
同様にして、論理番号「3」→「3」→「3」→「6」→「6」→「10」→「10」→「12」の順に遷移し、論理番号「12」から論理番号「2」に戻ったときの状態管理部31が備える対応表を図11Cに示す。
ここで、再度、論理番号「2」から論理番号「3」へ遷移する場合、現在の実番号「2」とイベント信号Aから遷移先の論理番号「3」を読み出すと共に、対応実番号記憶部35から遷移先の実番号「3」を読み出すことができる。
したがって、状態管理部31は、対応実番号記憶部35の対応記憶箇所から有効な実番号「3」を読み出し、実番号レジスタ34に該実番号「3」を格納する。そして、次のサイクルで、実番号「3」が実番号レジスタ34から構成情報メモリ44に通知され、構成情報メモリ44から対応する構成情報が読み出されて各プロセッサエレメント41の動作とスイッチの接続関係が決定する。その結果、各プロセッサエレメント41で所定の演算が実行される。
本サイクルでは、演算部4の動作が停止することなく、イベント信号Aが発行された次のサイクルで論理番号「3」に対応した演算が実行できる。また、以降、論理番号「12」までの状態遷移は、対応実番号記憶部35で対応する実番号が既に保持されているため、構成番号変換部32を使用することなく動作できる。
次に、論理番号「2」→「3」→「6」→「10」→「12」→「2」の状態遷移のループを何度か繰り返した後に、「12」→「13」→「0」→「1」→「2」に遷移したときの状態管理部31が備える対応表を図11Dに示す。
ここで、演算部4からイベント信号Bが発行された場合を考える。
状態管理部31は、現在の実番号「2」とイベント信号Bから対応実番号記憶部35から「無効」を読み出す。この場合、次サイクルで、構成番号変換部32は論理番号「4」から実番号への変換に失敗するため、構成番号変換部32は、該論理番号「4」の構成情報を構成情報メモリ44に書き込むよう構成書換部33に要求する。
構成書換部33は、構成情報メモリ44、状態管理部31および構成番号変換部32の書き換えを行う。ここでは、未使用の実番号が無くなってしまったため、論理番号「4」の構成情報を書き込む場所を決定する必要がある。そこで、使用頻度に基づき論理番号「0」を消去する。
構成情報メモリ44の実番号「0」から論理番号「0」を消去する場合、まず対応実番号記憶部35内の実番号「0」への遷移を保持しているエントリを無効化する。ここでは、実番号「7」とイベント信号Aで特定されるエントリが該当する。対応実番号記憶部35内の特定のエントリの無効化が完了すると、構成情報メモリ44、状態管理部31および構成番号変換部32の実番号「0」に対応する内容を消去し、新たに論理番号「4」の内容を書き込む。書き込み後の状態管理部31が備える対応表を図11Eに示す。
ここで、対応実番号記憶部35内の特定の実番号への遷移を保持しているエントリを無効化するための回路例を図12に示す。
図12は対応実番号記憶部35の1つのエントリの回路例を示し、実番号をビット単位で保持する複数の実番号ビットセル60と、該実番号が有効であるか否かを示す情報を保持するための状態ビットセル61とを有する。図12は、実番号が6ビットで構成され、各実番号ビットセル60に2本のビット線71(上線付きは反転信号用)を介して対応するビット値がそれぞれ供給される回路例を示している。
実番号ビットセル60は、図の上部に示す2つのインバータから成る記憶素子およびワード線70を介して制御される書き込み素子と、図の下部に示す比較回路とを備えている。
実番号ビットセル60には、ワード線70、ビット線71、比較実施線72および比較結果線73が接続されている。状態ビットセル61には、ビット線71、比較実施線72及び比較結果線73が接続されている。また、比較結果線73にはプリチャージ素子62が接続されている。
状態ビットセル61は、図の上部に示す2つのインバータから成る記憶素子およびワード線70を介して制御される書き込み素子と、図の下部に示す無効化書き込み回路とを備えている。
実番号ビットセル60及び状態ビットセル61は、ビット線71を介して読み出し回路(不図示)に接続されている。
なお、実際の対応実番号記憶部35は、図12に示す複数の回路が図の縦方向に並列に配列された構成であり。それら回路全体でビット線71および比較実施線72を共有する構成である。なお、図12では、実番号ビットセル60に格納されたビット値を読み出すための読み出し回路の構成は省略している。
次に、図12に示した対応実番号記憶部35の動作について説明する。
予め、プリチャージ素子62により比較結果線73の電位をHighにしておく。
無効化する際には、無効化する実番号がビット線71を介して各実番号ビットセル60に供給される。また、ビット線71を介して状態ビットセル61に無効状態を示すビットパタン信号が供給される。
実番号ビットセル60は、ビット線71を介して供給されたビット値と保持している値とを比較回路により比較する。ここで、比較実施線72の電位をHighとすると、1ビットでも比較結果が一致していない場合は、接地電位と比較結果線73とが接続され、比較結果線73の電位がLowになる。一方、全ビットで比較結果が一致している場合は、比較結果線73の電位はHighで保持される。状態ビットセル61は、無効化書き込み回路により、比較結果線73の電位がLowのとき、記憶素子に「無効」を書き込む。
以下、同様にして、既に実行したことがある状態遷移については、状態管理部31が対応実番号記憶部35に格納された次実番号を読み出して実番号レジスタ34に書き込むため、構成番号変換部32を使用することなく、次のサイクルにて次の論理番号に対応する演算が実行される。
本実施例では、上述した先願発明1における、状態管理部31の内容を読み出し、その結果に応じて構成番号変換部から読み出した結果を実番号レジスタ34に書き込む場合と比較して、演算を実行するまでに必要な遅延時間を低減できる。本実施例のように構成番号変換部32からの読み出し処理を別のサイクルで実行する場合は、動作に必要なサイクル数が低減するため、データ処理装置の性能が向上する。
(第2実施例)
第2実施例は上記先願発明1(特願2006−103987号)のデータ処理装置に上述した第5の実施の形態を適用する例である。
図13は第2実施例のデータ処理装置の構成を示すブロック図である。
本実施例では、上記先願発明1に記載されたデータ処理装置の状態遷移管理部(STC)3のみ変更し、演算部4については何も変更していない。
本実施例の演算部4は、レジスタファイル(RFU)、ALU、データ処理演算器(DMU)を備えた複数のプロセッサエレメント41(PE)を有し、各プロセッサエレメントが配線及びスイッチ(SW)により相互に接続される構成である。このような構成では、RFU、FFU、ALU、DMU等を備える各プロセッサエレメント41が、第1の実施の形態で示した演算器21となる。なお、演算部4は、上記プロセッサエレメント41に限らず、例えばロジックアレイで構成してもよい。
本実施例のプロセッサエレメント41は構成情報メモリ44を備える。構成情報メモリ44は、実番号が指定されると、該指定された実番号の内容(構成情報)を読み出し、該構成情報にしたがってRFU、FFU、ALU、DMU等の動作及びスイッチによる接続を指定する。
本実施例の状態遷移管理部3は、状態管理部31、構成番号変換部32、構成書換部33および実番号レジスタ34を備えたDRPの状態遷移管理部(STC)3に相当する。
本実施例の状態管理部31は、対応実番号記憶部35および対応実番号補充部36を備えている。
状態管理部31は、実番号レジスタ34に格納された現在の実番号と、演算部4から送出されたイベント信号とを受け取ると、該実番号及びイベント信号に基づいて次遷移先の論理番号を読み出す。また同時に、現在の実番号と演算部4から発行されたイベント信号とを受け取ると、対応実番号記憶部35から次遷移先の実番号または次遷移先の実番号が格納されていない場合は無効を示す情報を読み出す。
以降、現在の実番号とイベント信号で特定される対応実番号記憶部35内の格納位置を「対応記憶箇所」と称す。
対応実番号記憶部35の対応記憶箇所から次遷移先の有効な実番号を読み出すことができた場合、状態管理部31は該実番号を実番号レジスタ34に書き込む。
また、対応実番号記憶部35の対応記憶箇所から無効を示す情報を読み出した場合、状態管理部31は、次遷移先の論理番号に対応する実番号が不明であるため、構成番号変換部32に対して次遷移先の論理番号を実番号へ変換するよう要求する。
構成番号変換部32による論理番号から実番号への変換に成功した場合、状態管理部31は構成番号変換部32から受け取った実番号を実番号レジスタ34に書き込む。また同時に、対応実番号記憶部35内の対応記憶箇所に次遷移先の実番号を書き込む。
一方、構成番号変換部32による論理番号から実番号への変換に失敗した場合、次遷移先の論理番号の構成情報は構成情報メモリ44に格納されていない。この場合、構成情報メモリ44で保持する構成情報の書き換えが必要であるため、構成番号変換部32は次遷移先の論理番号を構成書換部33に通知し、構成情報メモリ44の書き換えを要求する。
構成書換部33は、構成情報メモリ44で保持された構成情報のうち、現時点で不要な構成情報の実番号を決定し、該決定した実番号が格納された対応実番号記憶部35のエントリを無効にする。不要な構成情報の選択には、例えばLRU(Least Recently Used)法等の周知の方法を用いればよい。そして、構成情報メモリ44内の無効にしたエントリに、書き換え要求時に指定された構成情報を書き込む。構成情報メモリ44に書き込む構成情報は外部メモリ5から取得する。また、状態管理部31の現実番号の遷移先候補群および構成番号変換部32の論理番号から実番号への変換処理に必要な変換情報を更新し、実番号レジスタ34に該実番号を書き込む。
構成番号変換部32は、構成書換部33による構成情報メモリ44の書き換え終了後に、対応実番号記憶部35内の対応記憶箇所に遷移先の実番号を書き込む。
状態管理部31は、構成番号変換部32による論理番号から実番号への変換処理時および構成書換部33による書き換え時、プロセッサエレメント41群にWEキャンセル信号を発行してレジスタへの書き込みを禁止し、プロセッサエレメント41群の動作を停止させる。
対応実番号補充部36は、現実番号からの遷移先のうち、対応実番号記憶部35内の無効となっているイベント信号を一つ選択し、選択したイベント信号に対応する論理番号を先行して構成番号変換部32に通知する。選択したイベント信号と同一のイベント信号が同クロックサイクルで演算部4から通知され、構成番号変換部32による論理番号から実番号への変換が成功した場合、構成番号変換部32から取得した実番号を対応実番号記憶部35の該当するエントリに書き込み、併せて実番号レジスタ34へ書き込む。
この場合、実番号レジスタ34で保持された実番号が次のサイクルで構成情報メモリ44に通知され、対応する構成情報が構成情報メモリ44から読み出されて各プロセッサエレメント41の動作及びスイッチの接続関係が決定する。そして、内部状態番号がプロセッサエレメント41群に通知され、各プロセッサエレメント41で所定の演算が実行される。
本実施例では、各プロセッサエレメント41内の構成情報メモリ44が構成情報記憶部14となる。
また、本実施例では、状態管理部31が、実番号とイベント信号の種類から次遷移先の論理番号と、対応実番号記憶部35内の実番号または無効を示す情報とを、図14に示す表形式(対応表)で保持しているものとする。
以下、装置構成要素の符号との混同を避けるため、実番号、論理番号、内部状態番号は「0」のように鍵括弧を用いて示す。また、論理番号と内部状態番号の組についても「1−1」のように鍵括弧を用いて示す。単に「1−1」と表記した場合は論理番号と内部状態番号の組を示す。
図14は、実番号「0」とイベント信号Aが指定されると、次論理番号と内部状態番号の組「1−1」と次実番号「1」が読み出され、実番号「0」とイベント信号Aが指定されると、次論理番号と内部状態番号の組「0−1」と次実番号「0」が読み出され、実番号「1」とイベント信号Bが指定されると、次論理番号と内部状態番号の組「2−1」と、「無効」を示す情報が読み出される例を示している。
なお、図14の各実番号で特定されるエントリのうち、次論理番号が「−」で示されたエントリは、該当するイベント信号が発生しないことを示している。このエントリに対応する対応実番号記憶部35の部位には、内容に意味がないため、何も記載していない。また、図14では、全てのイベント信号に対応する次論理番号が「−」で示されている実番号「2」〜「7」には、対応する対応実番号記憶部35に構成情報が書き込まれていないことを示している。
また、本実施例では、構成番号変換部32が、第1実施例と同様に、図9に示す表形式(変換表)で実番号と論理番号の関係を保持する。すなわち、本実施例の構成番号変換部32は、論理番号が指定されると、図9に示す変換表を検索し、検出した該論理番号に対応する実番号を出力する、連想メモリ形式とする。図9は、実番号「0」に論理番号「0」の構成情報が記憶され、実番号「1」に論理番号「1」の構成情報が記憶されていることを示している。
また、本実施例では、オブジェクトコードが格納された外部メモリ(記憶手段)6を備え、構成書換部33は、該外部メモリ6からオブジェクトコードの各構成情報を取得できるものとする。
以下、図15で示す状態遷移図にしたがって処理を実行する場合を例にして本実施例のデータ処理装置の動作について説明する。図15は、小さい丸で囲んだ数字が一つの論理番号−内部状態番号の組を示し、大きい丸で囲んだ数字が一つの論理番号を示している。論理番号「0」と「1」は2つの内部状態を備え、論理番号「2」〜「11」は1つの内部状態を備えている。図15は、全部で12個の構成情報からなるオブジェクトコードの状態遷移図を示している。図15に示す状態遷移は、第1実施例で示した状態遷移図(図10)と全ての状態および状態遷移が同じであるが、内部状態が導入されているため、番号の付与のしかたが異なっている。
本実施例では、データ処理装置(DRP)が備える構成情報メモリの実番号「0」に論理番号「0」の構成情報が保持されているものとする。このときの状態管理部31が備える対応表を図16Aに示す。
図16Aの対応表によれば、論理番号「0」の構成情報は実番号「0」に書き込まれている。また、対応実番号記憶部35は遷移先の実番号を保持していない。実番号の最大値は「7」であり、合計8個の構成情報を保持できるものとする。
以下、1サイクル目にて論理番号−内部状態番号「0−1」の処理を実行している状態からの動作を考える。
この場合、実番号レジスタ34には実番号「0」が書き込まれている。また、状態管理部31は内部状態番号「1」を出力している。そのため、各プロセッサエレメント41の構成情報メモリ44には実番号「0」が通知され、対応する構成情報が読み出されて各プロセッサエレメント41の動作とスイッチの接続関係が決定する。また、各プロセッサエレメント41に内部状態番号「1」が通知され、一部の演算器の動作を決定する。その結果、各プロセッサエレメント41で所定の演算が実行される。
同時に、対応実番号補充部36は、対応実番号記憶部35内の「無効」となっているイベント信号を一つ選択する。ここでは対応実番号補充部36がイベント信号Aを選択したものとする。対応実番号補充部36は、選択したイベント信号Aに対応する論理番号「0」を先行して構成番号変換部32に通知する。構成番号変換部32は、変換表を用いて論理番号「0」を実番号「0」に変換し、実番号「0」を実番号レジスタ34及び状態管理部31に通知する。
各プロセッサエレメント41による演算結果がイベント信号Aとして状態管理部31に通知されると、該イベント信号Aが対応実番号補充部36が選択したイベント信号Aと一致し、かつ構成番号変換部32による論理番号から実番号への変換が成功しているため、実番号レジスタ34は構成番号変換部32から通知された実番号「0」を保持する。また、状態管理部31は、対応実番号記憶部35の対応記憶箇所に遷移先の実番号「0」を格納し、併せて「有効」を示す情報を格納する。また、状態管理部31は、次サイクルの内部状態番号「2」を読み出す。
2サイクル目において、演算部4は、論理番号−内部状態番号「0−2」の処理を実行する。このときの状態管理部31が備える対応表を図16Bに示す。
2サイクル目では、実番号レジスタ34に実番号「0」が書き込まれ、状態管理部31は内部状態番号「2」を出力する。実番号レジスタ34に格納された実番号「0」は構成情報メモリ44へ通知され、対応する構成情報が読み出されて各プロセッサエレメント41の動作とスイッチの接続関係が決定する。また、各プロセッサエレメント41に内部状態番号「2」が通知され、一部の演算器の動作を決定する。その結果、各プロセッサエレメント41で所定の演算が実行される。ここでは、構成情報は1サイクル目と同じであるが、内部状態番号が異なるため、1サイクル目とは異なる演算結果となる。
対応実番号補充部36は、対応実番号記憶部35内の無効となっているイベント信号を一つ選択する。ここではイベント信号Bを選択したと仮定する。
対応実番号補充部36は、選択したイベント信号Bに対応する論理番号「2」を先行して構成番号変換部32に通知する。構成番号変換部32は、論理番号「2」から実番号への変換を試みるが、失敗する。
各プロセッサエレメント41による演算結果がイベント信号Bとして状態管理部31に通知されると、該イベント信号Bは対応実番号補充部36が選択したイベント信号Bと一致し、かつ構成番号変換部32による論理番号から実番号への変換が失敗しているため、構成番号変換部32は、論理番号「2」の構成情報を構成情報メモリ44へ書き込むよう構成書換部33に要求する。また、状態管理部31は、プロセッサエレメント41群に動作を停止させるためのWEキャンセル信号を3サイクル目以降発行し続ける。プロセッサエレメント41のレジスタは、この信号により内容更新を受け付けなくなる。また、外部ポートからのデータ入力動作も停止する。
次に、状態管理部31は、動作再開時の内部状態番号として「1」を読み出す。
構成書換部33は、構成情報メモリ44、状態管理部31および構成番号変換部32の書き換えを行う。ここでは、未使用の実番号「1」を使用する。
構成書換部33は、外部メモリ5より論理番号「2」の構成情報を取得し、該構成情報を構成情報メモリ44に書き込む。また、構成書換部33は、状態管理部31の実番号「1」のエントリに論理番号「2」の遷移先の情報を書き込み、構成番号変換部32の実番号「1」のエントリに論理番号「2」を書き込む。
ここでは、構成書換部33による書き換えが100サイクルを必要であるとする。
102サイクル目において、構成書換部33による書き換えが終了すると、構成番号変換部32は、論理番号「2」に対応する実番号「1」を実番号レジスタ34へ送信する。また、次サイクルより動作を再開させるために、WEキャンセル信号の発行を停止し、プロセッサエレメント41群に動作を再開させる。
103サイクル目において、プロセッサエレメント41は、論理番号−内部状態番号「2−1」の処理を実行する。このときの状態管理部31の対応表を図16Cに示す。103サイクル目では、実番号レジスタ34に実番号「1」が書き込まれ、状態管理部31は内部状態番号「1」を出力する。実番号レジスタ34に格納された実番号「1」は構成情報メモリ44へ通知され、対応する構成情報が読み出されて各プロセッサエレメント41の動作とスイッチの接続関係が決定する。また、各プロセッサエレメント41に内部状態番号「1」が通知され、一部の演算器の動作を決定する。その結果、各プロセッサエレメント41で所定の演算が実行される。
対応実番号補充部36は、対応実番号記憶部35内の無効となっているイベント信号を一つ選択する。ここではイベント信号Bを選択したと仮定する。
対応実番号補充部36は、選択したイベント信号Bに対応する論理番号「4」を先行して構成番号変換部32に通知する。構成番号変換部32は、論理番号「4」から実番号への変換を試みるが、失敗する。
各プロセッサエレメント41による演算結果がイベント信号Aとして状態管理部31に通知されると、該イベント信号Aは対応実番号補充部36が選択したイベント信号Bと一致しないため、状態管理部31は状態遷移図に基づいて作成された対応表にしたがって、現在の実番号「1」とイベント信号Aから次の状態の論理番号「3」を決定する。また、同時に対応実番号記憶部35の対応記憶箇所から「無効」を読み出す。
対応実番号補充部36がイベント信号Bを選択し、構成番号変換部32に通知した変換結果は失敗であったが、各プロセッサエレメント41による演算結果に応じて発行されるイベント信号とは一致しないため、構成番号変換部32は論理番号「4」の書き換え要求は行わない。
対応実番号記憶部35の対応記憶箇所の読み出し結果が「無効」であるため、状態管理部31は、プロセッサエレメント41群に動作を停止させるためのWEキャンセル信号を104サイクル目以降発行し続ける。プロセッサエレメント41のレジスタは、この信号により内容更新を受け付けなくなる。また、外部ポートからのデータ入力動作も停止する。
次に、状態管理部31は、動作再開時の内部状態番号として「1」を読み出す。
104サイクル目において、状態管理部31は次の状態の論理番号「3」を構成番号変換部32へ通知する。
構成番号変換部32は、変換表を用いて論理番号「3」を実番号に変換することを試みる。ここでは、論理番号「3」の構成情報が構成情報メモリ44に格納されていないため、論理番号から実番号への変換に失敗する。この場合、構成情報メモリ44で保持する構成情報の書き換えが必要であるため、構成番号変換部32は次遷移先の論理番号「3」を構成書換部33に通知し、構成情報メモリ44の書き換えを要求する。
構成書換部33は、構成情報メモリ44、状態管理部31および構成番号変換部32の書き換えを行う。ここでは、未使用の実番号「2」を使用する。
構成書換部33は、外部メモリ5より論理番号「3」の構成情報を取得し、該構成情報を構成情報メモリ44に書き込む。また、構成書換部33は、状態管理部31の実番号「2」のエントリに論理番号「3」の遷移先の情報を書き込み、構成番号変換部32の実番号「2」のエントリに論理番号「3」を書き込む。
ここでは、構成書換部33による書き換えが100サイクルを必要であるとする。
204サイクル目において、構成書換部33による書き換えが終了すると、構成番号変換部32は、論理番号「3」に対応する実番号「2」を実番号レジスタ34へ送信する。また、次サイクルより動作を再開させるために、WEキャンセル信号の発行を停止し、プロセッサエレメント41群に動作を再開させる。
205サイクル目において、プロセッサエレメント41は、論理番号−内部状態番号「3−1」の処理を実行する。このときの状態管理部31の対応表を図16Dに示す。205サイクル目では、実番号レジスタ34に実番号「2」が書き込まれ、状態管理部31は内部状態番号「1」を出力する。実番号レジスタ34に格納された実番号「2」は構成情報メモリ44へ通知され、対応する構成情報が読み出されて各プロセッサエレメント41の動作とスイッチの接続関係が決定する。また、各プロセッサエレメント41に内部状態番号「1」が通知され、一部の演算器の動作を決定する。その結果、各プロセッサエレメント41で所定の演算が実行される。
対応実番号補充部36は、対応実番号記憶部35内の無効となっているイベント信号を一つ選択する。ここではイベント信号Aを選択したと仮定する。
対応実番号補充部36は、選択したイベント信号Aに対応する論理番号「3」を先行して構成番号変換部32に通知する。構成番号変換部32は、論理番号「3」を実番号「2」に変換し、実番号「2」を実番号レジスタ34と状態管理部31に通知する。
各プロセッサエレメント41による演算結果がイベント信号Aとして状態管理部31に通知されると、該イベント信号Aは対応実番号補充部36が選択したイベント信号Aと一致し、かつ構成番号変換部32による論理番号から実番号への変換が成功しているため、実番号レジスタ34は構成番号変換部32から通知された実番号「2」を保持する。また、状態管理部31は、対応実番号記憶部35の対応記憶箇所に遷移先の実番号「2」を格納し、併せて「有効」を示す情報を格納する。また、状態管理部31は、次サイクルの内部状態番号「1」を読み出す。
206サイクル目において、演算部4は、論理番号−内部状態番号「3−1」の処理を実行する。このときの状態管理部31が備える対応表を図16Eに示す。206サイクル目では、実番号レジスタ34に実番号「2」が書き込まれ、状態管理部31は内部状態番号「1」を出力する。実番号レジスタ34に格納された実番号「2」は構成情報メモリ44へ通知され、対応する構成情報が読み出されて各プロセッサエレメント41の動作とスイッチの接続関係が決定する。また、各プロセッサエレメント41に内部状態番号「1」が通知され、一部の演算器の動作を決定する。その結果、各プロセッサエレメント41で所定の演算が実行される。
対応実番号補充部36は、対応実番号記憶部35内の無効となっているイベント信号を一つ選択する。ここではイベント信号Bを選択したと仮定する。
対応実番号補充部36は、選択したイベント信号Bに対応する論理番号「6」を先行して構成番号変換部32に通知する。構成番号変換部32は、論理番号「6」から実番号への変換を試みるが、失敗する。
各プロセッサエレメント41による演算結果がイベント信号Aとして状態管理部31に通知されると、該イベント信号Aは対応実番号補充部36が選択したイベント信号Bと一致しないため、状態管理部31は状態遷移図に基づいて作成された対応表にしたがって、現在の実番号「2」とイベント信号Aから次の状態の論理番号「3」を決定する。また、同時に対応実番号記憶部35の対応記憶箇所から有効な実番号「2」を読み出す。
対応実番号記憶部35の対応記憶箇所の読み出し結果が「有効」であるため、状態管理部31は、実番号レジスタ34に実番号「2」を書き込む、次サイクルの内部状態番号「1」を読み出す。
対応実番号補充部36がイベント信号Bを選択し、構成番号変換部32に通知した変換結果は失敗であったが、各プロセッサエレメント41による演算結果に応じて発行されるイベント信号とは一致しないため、構成番号変換部32は論理番号「6」の書き換え要求は行わない。
207サイクル目において、演算部4は、論理番号−内部状態番号「3−1」の処理を実行する。このときの状態管理部31が備える対応表は図16Eに示した206サイクル目から変化しない。207サイクル目では、実番号レジスタ34に実番号「2」が書き込まれ、状態管理部31は内部状態番号「1」を出力する。実番号レジスタ34に格納された実番号「2」は構成情報メモリ44へ通知され、対応する構成情報が読み出されて各プロセッサエレメント41の動作とスイッチの接続関係が決定する。また、各プロセッサエレメント41に内部状態番号「1」が通知され、一部の演算器の動作を決定する。その結果、各プロセッサエレメント41で所定の演算が実行される。
対応実番号補充部36は、対応実番号記憶部35内の「無効」となっているイベント信号を一つ選択するが、「無効」のエントリが無いため処理を実行しない。
各プロセッサエレメント41による演算結果がイベント信号Bとして状態管理部31に通知されると、状態管理部31は状態遷移図に基づいて作成された対応表にしたがって、現在の実番号「2」とイベント信号Aから次の状態の論理番号「6」を決定する。また同時に、状態管理部31は対応実番号記憶部35の対応記憶箇所から「無効」を読み出す。
対応実番号記憶部35の対応記憶箇所の読み出し結果が「無効」であるため、状態管理部31は、プロセッサエレメント41群に動作を停止させるためのWEキャンセル信号を2サイクル目以降発行し続ける。プロセッサエレメント41のレジスタはこの信号により、内容更新を受け付けなくなる。また、外部ポートからのデータ入力動作も停止する。また、状態管理部31は動作再開時の内部状態番号として「1」を読み出す。
208サイクル目において、状態管理部31は次の状態の論理番号「6」を構成番号変換部32へ通知する。
構成番号変換部32は、変換表を用いて論理番号「6」を実番号に変換することを試みる。ここでは、論理番号「6」の構成情報が構成情報メモリ44で保持されていないため、論理番号から実番号への変換に失敗する。そのため、構成番号変換部32は、論理番号「6」の構成情報を構成情報メモリ44に書き込むよう構成書換部33に要求する。
構成書換部33は、構成情報メモリ44、状態管理部31および構成番号変換部32の書き換えを行う。ここでは、未使用の実番号「3」を使用する。
構成書換部33は、外部メモリ5より論理番号「6」の構成情報を取得し、該構成情報を構成情報メモリ44に書き込む。また、構成書換部33は、状態管理部31の実番号「3」のエントリに論理番号「6」の遷移先の情報を書き込み、構成番号変換部32の実番号「3」のエントリに論理番号「6」を書き込む。
308サイクル目において、構成書換部33による書き換えが終了すると、構成番号変換部32は、論理番号「6」に対応する実番号「3」を実番号レジスタ34へ送信する。また、次サイクルより動作を再開させるために、WEキャンセル信号の発行を停止し、プロセッサエレメント41群に動作を再開させる。
以降、同様にして論理番号−内部状態番号の組「6−1」→「6−1」→「10−1」→「10−1」→「1−1」の順に遷移し、「1−1」から「2−1」に戻ったときの状態管理部31が備える対応表を図16Fに示す。
ここで、再度、論理番号−内部状態番号の組「2−1」から「3−1」へ遷移する場合、次に「1−1」に到達するまでの状態遷移で用いる実番号は対応実番号記憶部35で保存されているため、構成番号変換部32を使用しない動作が可能である。
以下、論理番号−内部状態番号の組「1−1」から「2−1」に戻るときの動作を示す。
この場合、実番号レジスタ34には実番号「5」が書き込まれ、状態管理部31は内部状態番号「1」を出力する。そのため、演算部4の各プロセッサエレメント41の構成情報メモリ44に実番号「5」が通知され、対応する構成情報が読み出されて各プロセッサエレメント41の動作とスイッチの接続関係が決定する。また、各プロセッサエレメント41に内部状態番号「1」が通知され、一部の演算器の動作を決定する。その結果、各プロセッサエレメント41で所定の演算が実行される。
また、対応実番号補充部36は、対応実番号記憶部35内から「無効」となっているイベント信号を一つ選択する。ここではイベント信号Bを選択したと仮定する。対応実番号補充部36は、選択したイベント信号Bに対応する論理番号「1」を先行して構成番号変換部32に通知する。構成番号変換部32は、論理番号「1」を実番号「5」に変換し、実番号「5」を実番号レジスタ34と状態管理部31に通知する。
各プロセッサエレメント41による演算結果がイベント信号Aとして状態管理部31に通知されると、該イベント信号Aが、対応実番号補充部36が選択したイベント信号Bと一致していない。しかしながら、構成番号変換部32による論理番号から実番号への変換は成功しているため、状態管理部31は対応実番号記憶部35の実番号「5」とイベント信号Bで特定されるエントリに実番号「5」を記憶し、「有効」を示す情報を格納する。このときの状態管理部31が備える対応表を図16Gに示す。
イベント信号の不一致を検出した状態管理部31は、状態遷移図に基づいて作成された対応表にしたがって、現在の実番号「5」とイベント信号Aから次の状態の論理番号「2」を決定する。また、状態管理部31は、対応実番号記憶部35を現在の実番号「5」とイベント信号Aで特定されるエントリから有効な実番号「1」読み出し、該実番号「1」を実番号レジスタ34に書き込む。
また、状態管理部31は、次サイクルの内部状態番号「1」を読み出す。
同様に「1−1」から「2−1」に戻り、「2−1」から「3−1」に遷移するループを繰り返すことで、対応実番号記憶部35の実番号「5」とイベント番号C、Dで特定されるエントリは、無効から実番号「0」に書き換えられる。書き換え後の状態管理部31の対応表を図16Hに示す。
その後、「2−1」から「4−1」、さらに「7−1」に遷移するとき、状態管理部31は、対応実番号記憶部35から「無効」を読み出し、構成番号変換部32による論理番号から実番号への変換も失敗するため、構成書換部33による書き換えが行われる。また、「7−1」から「10−1」、「12−1」を経て「2−1」に戻り、さらに「4−1」に遷移したときの状態管理部31が備える対応表を図16Iに示す。
ここで、「4−1」から「8−1」に遷移する場合の動作を示す。
この場合、現在の実番号「1」とイベント信号Cに基づいて対応実番号記憶部35からは「無効」が読み出される。また、次サイクルで構成番号変換部32による論理番号「5」から実番号への変換に失敗し、構成番号変換部32は、論理番号「8」の構成情報を構成情報メモリ44に書き込むよう構成書換部33に要求する。
構成書換部33は、構成情報メモリ44、状態管理部31および構成番号変換部32の書き換えを行う。ここでは、未使用の実番号が無くなってしまったため、論理番号「8」の構成情報を書き込む場所を決定する必要がある。ここでは、論理番号「10」を消去する。
構成情報メモリ44の実番号「4」から論理番号「10」を消去する場合、まず対応実番号記憶部35内の実番号「4」への遷移を保持しているエントリを無効化する。ここでは、実番号「3」とイベント信号Bで特定されるエントリおよび実番号「7」とイベント信号Aで特定されるエントリが該当する。また、実番号「4」とイベント信号Aで特定されるエントリも該当するが、この後、実番号「4」の全内容が消去されるため、ここでは対応実番号記憶部35の内容のみを明示的に無効化する必要はない。
対応実番号記憶部35内の特定のエントリの無効化が完了すると、構成情報メモリ44、状態管理部31および構成番号変換部32の実番号「4」に対応する内容を消去し、新たに論理番号「8」の内容を書き込む。書き込み後の状態管理部31が備える対応表を図16Jに示す。
この後、「8−1」から「11−1」に遷移する際に実番号「3」を論理番号「11」に書き換えたとする。書き換え後の状態管理部31が備える対応表を図16Kに示す。
さらに、「1−1」を経て「2−1」に遷移し、再び「2−1」から「3−1」を経て「6−1」に遷移する場合、論理番号「6」の構成情報を再度書き込む。ここでは先ほどと異なり実番号「4」に書き込んだとする。このときの状態管理部31が備える対応表を図16Lに示す。
その後、論理番号「10」の構成情報を実番号「3」に書き込み、「10−1」に遷移したとき、状態管理部31が備える対応表を図16Mに示す。この時点では、実番号「7」のイベント信号Aの対応実番号記憶部35は無効のままである。この対応記憶箇所は、「7−1」に遷移するまで書き込まれない。
以降、同様に、既に実行したことがあり、遷移元及び遷移先が消去されていない遷移については、状態管理部31が対応実番号記憶部35の内容を読み出して直接実番号レジスタ34に書き込むことに加え、まだ行ったことがない遷移についても現状態の遷移先の構成情報が書き込まれていれば対応実番号補充部36が対応実番号記憶部35の内容を補充していく。
本実施例によれば、構成番号変換部32を使用することなく、直ぐに次のサイクルにて次の論理番号に対応する処理が可能であり、第1実施例と比べて処理を実行するまでに必要なサイクル数が低減するため、処理性能が向上する。
(第3実施例)
第3実施例は、上記先願発明1(特願2006−103987号)のデータ処理装置に上述した第6の実施の形態を適用する例である。
図17は第3実施例のデータ処理装置の構成を示すブロック図である。
本実施例は、第2実施例で示した対応実番号補充部36の機能を構成書換部33で実現する例である。
構成書換部33は、論理番号毎に、状態管理部31のどのエントリに遷移先が存在するかを示すリストを備え、構成情報の書き換え時に該リストを更新する。
第2実施例の対応実番号補充部36は、対応実番号記憶部35内の現在の実番号のエントリのみを補充していたが、本実施例の構成書換部33は、構成情報の書き込みを行い、動作を再開した直後に書き込んだ構成情報の実番号の対応実番号記憶部35を補充し、その後、それ以外の実番号の対応実番号記憶部35を補充する。
上記以外の構成は第2実施例と同様であるため、その説明は省略する。
また、データ処理装置の動作についても、図16Mに示す状態に到達するまでの動作は第2実施例と同様である。但し、第2実施例では、ある実番号に遷移したときに、対応実番号記憶部35の該実番号のエントリに「無効」が存在すると、対応実番号補充部36が毎回動作するのに対し、本実施例では、構成書換部33が構成情報の書き換えを行った直後にのみ対応実番号記憶部35の補充を行う。
第2実施例と同様の演算を行い、構成書換部33が論理番号「10」の構成情報を実番号「3」に書き込み、図16Mに示した状態になると、構成書換部33は、論理番号「10」を遷移先として持つエントリのリストを参照し、対応実番号記憶部35の実番号「7」とイベント信号Aで特定されるエントリに、遷移先の論理番号「10」に対応する実番号「3」を書き込む。
本実施例によれば、ある論理番号に対し、複数の論理番号から遷移する可能性があり、かつその遷移元の論理番号の構成情報が構成情報メモリに書き込まれている場合に、第2実施例と比べて無駄となる動作を削減できる。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されものではない。本願発明の構成や詳細は本願発明のスコープ内で当業者が理解し得る様々な変更が可能である。
この出願は、2009年8月25日に出願された特願2009−194074号を基礎とする優先権を主張し、その開示の全てをここに取り込む。