(57)【特許請求の範囲】
【請求項１】
変更自在なデータ処理を個々に実行する複数のデータ処理回路と複数の前記データ処理回路の接続関係を切換制御する複数の配線切換回路とがマトリクス配列されている並列演算装置の複数段階の動作状態を動作サイクルごとに順次遷移させる動作記述のソースコードとオブジェクトコードとの少なくとも一方をデバッグするためのデータ処理システムであって、
前記並列演算装置が前記状態遷移を一時停止する機能も有しており、
前記オブジェクトコードで前記並列演算装置に状態遷移を実行させる動作実行手段と、
前記並列演算装置の前記状態遷移を前記動作サイクルごとに一時停止させる装置停止手段と、
一時停止した前記並列演算装置の複数の前記データ処理回路の保持データをデータ出力する結果出力手段と、
前記状態遷移の再開指令がデータ入力される再開入力手段と、
前記再開指令がデータ入力されると前記動作実行手段に前記状態遷移を再開させる動作再開手段と、
前記ソースコードがデータ入力されるソース入力手段と、
データ入力された前記ソースコードから、順次遷移する複数段階の動作状態を示す番号を検出して、複数の前記データ処理回路と複数の前記配線切換回路との順次切り換わる動作サイクルごとの前記動作命令からなる一連のオブジェクトコードをデータ生成するオブジェクト生成手段と、
前記ソースコードに含まれる各コードと前記オブジェクトコードに含まれる各コードとの対応関係をデータ生成する対応生成手段と、
を有し、
前記結果出力手段は、データ生成された前記対応関係を参照して前記並列演算装置が一時停止したときの前記オブジェクトコードに対応した前記ソースコードの部分をデータ出力し、
前記並列演算装置は、複数の前記データ処理回路と複数の前記配線切換回路とがマトリクス配列されているマトリクス回路部と、前記マトリクス回路部の動作命令を動作サイクルごとに順次切り換える状態管理部と、を別個に有しており、
前記オブジェクト生成手段は、前記ソースコードから前記オブジェクトコードをデータ生成するときに、前記マトリクス回路部に対応したデータパスの動作を記述する部分と前記状態管理部に対応した有限状態マシンの動作を記述する部分とを分離する、データ処理システム。
【請求項２】
変更自在なデータ処理を個々に実行する複数のデータ処理回路と複数の前記データ処理回路の接続関係を切換制御する複数の配線切換回路とがマトリクス配列されている並列演算装置の複数段階の動作状態を動作サイクルごとに順次遷移させる動作記述のソースコードとオブジェクトコードとの少なくとも一方をデバッグするためのデータ処理システムであって、
前記オブジェクトコードで前記並列演算装置に状態遷移を実行させる動作実行手段と、
前記並列演算装置の停止指令が特定の前記動作状態を示す番号とともにデータ入力される停止入力手段と、
前記停止指令とともにデータ入力された番号に対応する前記動作状態のときに前記並列演算装置の前記状態遷移を一時停止させる装置停止手段と、
一時停止した前記並列演算装置の複数の前記データ処理回路の保持データをデータ出力する結果出力手段と、
前記ソースコードがデータ入力されるソース入力手段と、
データ入力された前記ソースコードから、順次遷移する複数段階の動作状態を示す番号を検出して、複数の前記データ処理回路と複数の前記配線切換回路との順次切り換わる動作サイクルごとの前記動作命令からなる一連のオブジェクトコードをデータ生成するオブジェクト生成手段と、
前記ソースコードに含まれる各コードと前記オブジェクトコードに含まれる各コードとの対応関係をデータ生成する対応生成手段と、
を有し、
前記結果出力手段は、データ生成された前記対応関係を参照して前記並列演算装置が一時停止したときの前記オブジェクトコードに対応した前記ソースコードの部分をデータ出力し、
前記並列演算装置は、複数の前記データ処理回路と複数の前記配線切換回路とがマトリクス配列されているマトリクス回路部と、前記マトリクス回路部の動作命令を動作サイクルごとに順次切り換える状態管理部と、を別個に有しており、
前記オブジェクト生成手段は、前記ソースコードから前記オブジェクトコードをデータ生成するときに、前記マトリクス回路部に対応したデータパスの動作を記述する部分と前記状態管理部に対応した有限状態マシンの動作を記述する部分とを分離する、データ処理システム。
【請求項３】
変更自在なデータ処理を個々に実行する複数のデータ処理回路と複数の前記データ処理回路の接続関係を切換制御する複数の配線切換回路とがマトリクス配列されている並列演算装置の複数段階の動作状態を動作サイクルごとに順次遷移させる動作記述のソースコードとオブジェクトコードとの少なくとも一方をデバッグするためのデータ処理システムであって、
前記オブジェクトコードで前記並列演算装置に状態遷移を実行させる動作実行手段と、
前記並列演算装置の停止指令が複数の前記データ処理回路の少なくとも一部の保持データを使用した停止条件とともにデータ入力される停止入力手段と、
前記停止条件が成立するときに前記並列演算装置の前記状態遷移を一時停止させる装置停止手段と、
一時停止した前記並列演算装置の複数の前記データ処理回路の保持データをデータ出力する結果出力手段と、
前記ソースコードがデータ入力されるソース入力手段と、
データ入力された前記ソースコードから、順次遷移する複数段階の動作状態を示す番号を検出して、複数の前記データ処理回路と複数の前記配線切換回路との順次切り換わる動作サイクルごとの前記動作命令からなる一連のオブジェクトコードをデータ生成するオブジェクト生成手段と、
前記ソースコードに含まれる各コードと前記オブジェクトコードに含まれる各コードとの対応関係をデータ生成する対応生成手段と、
を有し、
前記結果出力手段は、データ生成された前記対応関係を参照して前記並列演算装置が一時停止したときの前記オブジェクトコードに対応した前記ソースコードの部分をデータ出力し、
前記並列演算装置は、複数の前記データ処理回路と複数の前記配線切換回路とがマトリクス配列されているマトリクス回路部と、前記マトリクス回路部の動作命令を動作サイクルごとに順次切り換える状態管理部と、を別個に有しており、
前記オブジェクト生成手段は、前記ソースコードから前記オブジェクトコードをデータ生成するときに、前記マトリクス回路部に対応したデータパスの動作を記述する部分と前記状態管理部に対応した有限状態マシンの動作を記述する部分とを分離する、データ処理システム。
【請求項４】
変更自在なデータ処理を個々に実行する複数のデータ処理回路と複数の前記データ処理回路の接続関係を切換制御する複数の配線切換回路とがマトリクス配列されている並列演算装置の複数段階の動作状態を動作サイクルごとに順次遷移させる動作記述のソースコードとオブジェクトコードとの少なくとも一方をデバッグするためのデータ処理システムであって、
前記ソースコードがデータ入力されるソース入力手段と、
データ入力された前記ソースコードから、順次遷移する複数段階の動作状態を示す番号を検出して、複数の前記データ処理回路と複数の前記配線切換回路との順次切り換わる動作サイクルごとの前記動作命令からなる一連のオブジェクトコードをデータ生成するオブジェクト生成手段と、
前記ソースコードに含まれる各コードと前記オブジェクトコードに含まれる各コードとの対応関係をデータ生成する対応生成手段と、
データ生成された前記オブジェクトコードで前記並列演算装置に状態遷移を実行させる動作実行手段と、
前記並列演算装置の停止指令が前記ソースコードの特定部分を使用した停止条件とともにデータ入力される停止入力手段と、
データ生成された前記対応関係を参照して前記停止条件が成立する前記オブジェクトコードのときに前記並列演算装置の前記状態遷移を一時停止させる装置停止手段と、
一時停止した前記並列演算装置の複数の前記データ処理回路の保持データをデータ出力する結果出力手段と、
を有し、
前記並列演算装置は、複数の前記データ処理回路と複数の前記配線切換回路とがマトリクス配列されているマトリクス回路部と、前記マトリクス回路部の動作命令を動作サイクルごとに順次切り換える状態管理部と、を別個に有しており、
前記オブジェクト生成手段は、前記ソースコードから前記オブジェクトコードをデータ生成するときに、前記マトリクス回路部に対応したデータパスの動作を記述する部分と前記状態管理部に対応した有限状態マシンの動作を記述する部分とを分離する、データ処理システム。
【請求項５】
変更自在なデータ処理を個々に実行する複数のデータ処理回路と複数の前記データ処理回路の接続関係を切換制御する複数の配線切換回路とがマトリクス配列されている並列演算装置の複数段階の動作状態を動作サイクルごとに順次遷移させる動作記述のソースコードとオブジェクトコードとの少なくとも一方をデバッグするためのデータ処理システムであって、
前記オブジェクトコードで前記並列演算装置に状態遷移を実行させる動作実行手段と、
前記並列演算装置の停止指令が停止条件とともにデータ入力される停止入力手段と、
データ入力された前記停止条件で前記状態遷移を一時停止させる停止条件回路として複数の前記データ処理回路と前記配線切換回路との一部を機能させるオブジェクトコードをデータ生成する停止生成手段と、
データ生成された前記停止条件回路のオブジェクトコードを前記動作記述のオブジェクトコードに挿入する停止挿入手段と、
一時停止した前記並列演算装置の複数の前記データ処理回路の保持データをデータ出力する結果出力手段と、
前記ソースコードがデータ入力されるソース入力手段と、
データ入力された前記ソースコードから、順次遷移する複数段階の動作状態を示す番号を検出して、複数の前記データ処理回路と複数の前記配線切換回路との順次切り換わる動作サイクルごとの前記動作命令からなる一連のオブジェクトコードをデータ生成するオブジェクト生成手段と、
前記ソースコードに含まれる各コードと前記オブジェクトコードに含まれる各コードとの対応関係をデータ生成する対応生成手段と、
を有し、
前記結果出力手段は、データ生成された前記対応関係を参照して前記並列演算装置が一時停止したときの前記オブジェクトコードに対応した前記ソースコードの部分をデータ出力し、
前記並列演算装置は、複数の前記データ処理回路と複数の前記配線切換回路とがマトリクス配列されているマトリクス回路部と、前記マトリクス回路部の動作命令を動作サイクルごとに順次切り換える状態管理部と、を別個に有しており、
前記オブジェクト生成手段は、前記ソースコードから前記オブジェクトコードをデータ生成するときに、前記マトリクス回路部に対応したデータパスの動作を記述する部分と前記状態管理部に対応した有限状態マシンの動作を記述する部分とを分離する、データ処理システム。
【請求項６】
前記停止入力手段は、所定データの入力も受け付け、
前記停止生成手段は、前記所定データに対応して前記並列演算装置に所定の機能を付加する機能付加回路として複数の前記データ処理回路と前記配線切換回路との一部を機能させるオブジェクトコードもデータ生成し、
前記停止挿入手段は、データ生成された前記機能付加回路のオブジェクトコードを前記動作記述のオブジェクトコードに挿入する、請求項５に記載のデータ処理システム。
【請求項７】
前記停止挿入手段は、一時停止した前記並列演算装置で実現されている前記動作記述のオブジェクトコードに、前記停止条件回路のオブジェクトコードを挿入する、請求項５または６に記載のデータ処理システム。
【請求項８】
前記停止入力手段は、前記並列演算装置が一時停止している状態で前記停止指令と停止条件のデータ入力を受け付け、
前記停止生成手段は、前記並列演算装置が一時停止している状態で前記停止条件回路のオブジェクトコードをデータ生成する、請求項７に記載のデータ処理システム。
【請求項９】
前記ソースコードがデータ入力されるソース入力手段と、
データ入力された前記ソースコードから、順次遷移する複数段階の動作状態を示す番号を検出して、複数の前記データ処理回路と複数の前記配線切換回路との順次切り換わる動作サイクルごとの前記動作命令からなる一連のオブジェクトコードをデータ生成するオブジェクト生成手段と、
前記ソースコードに含まれる各コードと前記オブジェクトコードに含まれる各コードとの対応関係をデータ生成する対応生成手段と、
を有しており、
前記停止入力手段は、前記動作状態として前記ソースコードの行番号がデータ入力され、
前記装置停止手段は、前記対応関係を参照してデータ入力された前記行番号に対応する前記動作状態のときに前記並列演算装置の前記状態遷移を一時停止させる、請求項２に記載のデータ処理システム。
【請求項１０】
前記ソースコードがデータ入力されるソース入力手段と、
データ入力された前記ソースコードから、順次遷移する複数段階の動作状態を示す番号を検出して、複数の前記データ処理回路と複数の前記配線切換回路との順次切り換わる動作サイクルごとの前記動作命令からなる一連のオブジェクトコードをデータ生成するオブジェクト生成手段と、
前記ソースコードに含まれる各コードと前記オブジェクトコードに含まれる各コードとの対応関係をデータ生成する対応生成手段と、
を有しており、
前記停止入力手段は、前記保持データとして前記ソースコードの変数を使用した停止条件がデータ入力され、
前記装置停止手段は、前記対応関係を参照して前記停止条件が成立する保持データのときに前記並列演算装置の前記状態遷移を一時停止させる、請求項３に記載のデータ処理システム。
【請求項１１】
前記ソース入力手段は、各所に変数がデータ記述されている複数行の前記ソースコードがデータ入力され、
前記対応生成手段は、前記ソースコードの特定部分として前記変数と前記行番号と前記オブジェクトコードの特定部分との対応関係をデータ生成し、
前記停止入力手段は、前記ソースコードの特定部分として前記変数と前記行番号との少なくとも一つを使用した停止条件がデータ入力され、
前記装置停止手段は、前記対応関係を参照して前記停止条件が成立する前記オブジェクトコードのときに前記並列演算装置の前記状態遷移を一時停止させる、請求項４に記載のデータ処理システム。
【請求項１２】
前記ソースコードがデータ入力されるソース入力手段と、
データ入力された前記ソースコードから、順次遷移する複数段階の動作状態を示す番号を検出して、複数の前記データ処理回路と複数の前記配線切換回路との順次切り換わる動作サイクルごとの前記動作命令からなる一連のオブジェクトコードをデータ生成するオブジェクト生成手段と、
前記ソースコードに含まれる各コードと前記オブジェクトコードに含まれる各コードとの対応関係をデータ生成する対応生成手段と、
を有しており、
前記停止入力手段は、前記並列演算装置の停止指令とともに前記ソースコードの特定部分を使用した停止条件がデータ入力され、
前記停止生成手段は、前記対応関係を参照して前記停止条件に対応した前記停止条件回路のオブジェクトコードをデータ生成し、
前記停止挿入手段は、データ生成された前記停止条件回路のオブジェクトコードを前記動作記述のオブジェクトコードに前記対応関係を参照して挿入する、請求項５乃至８のいずれか１項に記載のデータ処理システム。
【請求項１３】
前記並列演算装置は、複数の前記データ処理回路と複数の前記配線切換回路とがマトリクス配列されているマトリクス回路部と、前記マトリクス回路部の動作命令を動作サイクルごとに順次切り換える状態管理部と、を別個に有しており、
複数の前記データ処理回路は、個々にデータ設定される動作命令に対応して前記データ処理を個々に実行し、
複数の前記配線切換回路は、個々にデータ設定される動作命令に対応して複数の前記データ処理回路の接続関係を個々に切換制御する請求項１乃至１２のいずれか１項に記載のデータ処理システム。
【請求項１４】
変更自在なデータ処理を個々に実行する複数のデータ処理回路と複数の前記データ処理回路の接続関係を切換制御する複数の配線切換回路とがマトリクス配列されている並列演算装置の複数段階の動作状態を動作サイクルごとに順次遷移させる動作記述のソースコードとオブジェクトコードとの少なくとも一方をデバッグするためのデータ処理システムであって、
前記並列演算装置が前記状態遷移を一時停止する機能も有しており、
前記オブジェクトコードで前記並列演算装置に状態遷移を実行させる動作実行手段と、
前記並列演算装置の前記状態遷移を前記動作サイクルごとに一時停止させる装置停止手段と、
一時停止した前記並列演算装置の複数の前記データ処理回路の保持データをデータ出力する結果出力手段と、
前記状態遷移の再開指令がデータ入力される再開入力手段と、
前記再開指令がデータ入力されると前記動作実行手段に前記状態遷移を再開させる動作再開手段と、
を有し、
前記並列演算装置は、複数の前記データ処理回路と複数の前記配線切換回路とがマトリクス配列されているマトリクス回路部と、前記マトリクス回路部の動作命令を動作サイクルごとに順次切り換える状態管理部と、を別個に有しており、
複数の前記データ処理回路は、個々にデータ設定される動作命令に対応して前記データ処理を個々に実行し、
複数の前記配線切換回路は、個々にデータ設定される動作命令に対応して複数の前記データ処理回路の接続関係を個々に切換制御する、データ処理システム。
【請求項１５】
変更自在なデータ処理を個々に実行する複数のデータ処理回路と複数の前記データ処理回路の接続関係を切換制御する複数の配線切換回路とがマトリクス配列されている並列演算装置の複数段階の動作状態を動作サイクルごとに順次遷移させる動作記述のソースコードとオブジェクトコードとの少なくとも一方をデバッグするためのデータ処理システムであって、
前記オブジェクトコードで前記並列演算装置に状態遷移を実行させる動作実行手段と、
前記並列演算装置の停止指令が特定の前記動作状態を示す番号とともにデータ入力される停止入力手段と、
前記停止指令とともにデータ入力された番号に対応する前記動作状態のときに前記並列演算装置の前記状態遷移を一時停止させる装置停止手段と、
一時停止した前記並列演算装置の複数の前記データ処理回路の保持データをデータ出力する結果出力手段と、
を有し、
前記並列演算装置は、複数の前記データ処理回路と複数の前記配線切換回路とがマトリクス配列されているマトリクス回路部と、前記マトリクス回路部の動作命令を動作サイクルごとに順次切り換える状態管理部と、を別個に有しており、
複数の前記データ処理回路は、個々にデータ設定される動作命令に対応して前記データ処理を個々に実行し、
複数の前記配線切換回路は、個々にデータ設定される動作命令に対応して複数の前記データ処理回路の接続関係を個々に切換制御する、データ処理システム。
【請求項１６】
変更自在なデータ処理を個々に実行する複数のデータ処理回路と複数の前記データ処理回路の接続関係を切換制御する複数の配線切換回路とがマトリクス配列されている並列演算装置の複数段階の動作状態を動作サイクルごとに順次遷移させる動作記述のソースコードとオブジェクトコードとの少なくとも一方をデバッグするためのデータ処理システムであって、
前記オブジェクトコードで前記並列演算装置に状態遷移を実行させる動作実行手段と、
前記並列演算装置の停止指令が複数の前記データ処理回路の少なくとも一部の保持データを使用した停止条件とともにデータ入力される停止入力手段と、
前記停止条件が成立するときに前記並列演算装置の前記状態遷移を一時停止させる装置停止手段と、
一時停止した前記並列演算装置の複数の前記データ処理回路の保持データをデータ出力する結果出力手段と、
を有し、
前記並列演算装置は、複数の前記データ処理回路と複数の前記配線切換回路とがマトリクス配列されているマトリクス回路部と、前記マトリクス回路部の動作命令を動作サイクルごとに順次切り換える状態管理部と、を別個に有しており、
複数の前記データ処理回路は、個々にデータ設定される動作命令に対応して前記データ処理を個々に実行し、
複数の前記配線切換回路は、個々にデータ設定される動作命令に対応して複数の前記データ処理回路の接続関係を個々に切換制御する、データ処理システム。
【請求項１７】
変更自在なデータ処理を個々に実行する複数のデータ処理回路と複数の前記データ処理回路の接続関係を切換制御する複数の配線切換回路とがマトリクス配列されている並列演算装置の複数段階の動作状態を動作サイクルごとに順次遷移させる動作記述のソースコードとオブジェクトコードとの少なくとも一方をデバッグするためのデータ処理システムであって、
前記ソースコードがデータ入力されるソース入力手段と、
データ入力された前記ソースコードから、順次遷移する複数段階の動作状態を示す番号を検出して、複数の前記データ処理回路と複数の前記配線切換回路との順次切り換わる動作サイクルごとの前記動作命令からなる一連のオブジェクトコードをデータ生成するオブジェクト生成手段と、
前記ソースコードに含まれる各コードと前記オブジェクトコードに含まれる各コードとの対応関係をデータ生成する対応生成手段と、
データ生成された前記オブジェクトコードで前記並列演算装置に状態遷移を実行させる動作実行手段と、
前記並列演算装置の停止指令が前記ソースコードの特定部分を使用した停止条件とともにデータ入力される停止入力手段と、
データ生成された前記対応関係を参照して前記停止条件が成立する前記オブジェクトコードのときに前記並列演算装置の前記状態遷移を一時停止させる装置停止手段と、
一時停止した前記並列演算装置の複数の前記データ処理回路の保持データをデータ出力する結果出力手段と、
を有し、
前記並列演算装置は、複数の前記データ処理回路と複数の前記配線切換回路とがマトリクス配列されているマトリクス回路部と、前記マトリクス回路部の動作命令を動作サイクルごとに順次切り換える状態管理部と、を別個に有しており、
複数の前記データ処理回路は、個々にデータ設定される動作命令に対応して前記データ処理を個々に実行し、
複数の前記配線切換回路は、個々にデータ設定される動作命令に対応して複数の前記データ処理回路の接続関係を個々に切換制御する、データ処理システム。
【請求項１８】
変更自在なデータ処理を個々に実行する複数のデータ処理回路と複数の前記データ処理回路の接続関係を切換制御する複数の配線切換回路とがマトリクス配列されている並列演算装置の複数段階の動作状態を動作サイクルごとに順次遷移させる動作記述のソースコードとオブジェクトコードとの少なくとも一方をデバッグするためのデータ処理システムであって、
前記オブジェクトコードで前記並列演算装置に状態遷移を実行させる動作実行手段と、
前記並列演算装置の停止指令が停止条件とともにデータ入力される停止入力手段と、
データ入力された前記停止条件で前記状態遷移を一時停止させる停止条件回路として複数の前記データ処理回路と前記配線切換回路との一部を機能させるオブジェクトコードをデータ生成する停止生成手段と、
データ生成された前記停止条件回路のオブジェクトコードを前記動作記述のオブジェクトコードに挿入する停止挿入手段と、
一時停止した前記並列演算装置の複数の前記データ処理回路の保持データをデータ出力する結果出力手段と、
前記並列演算装置は、複数の前記データ処理回路と複数の前記配線切換回路とがマトリクス配列されているマトリクス回路部と、前記マトリクス回路部の動作命令を動作サイクルごとに順次切り換える状態管理部と、を別個に有しており、
複数の前記データ処理回路は、個々にデータ設定される動作命令に対応して前記データ処理を個々に実行し、
複数の前記配線切換回路は、個々にデータ設定される動作命令に対応して複数の前記データ処理回路の接続関係を個々に切換制御する、データ処理システム。
【請求項１９】
前記停止入力手段は、所定データの入力も受け付け、
前記停止生成手段は、前記所定データに対応して前記並列演算装置に所定の機能を付加する機能付加回路として複数の前記データ処理回路と前記配線切換回路との一部を機能させるオブジェクトコードもデータ生成し、
前記停止挿入手段は、データ生成された前記機能付加回路のオブジェクトコードを前記動作記述のオブジェクトコードに挿入する、請求項１８に記載のデータ処理システム。
【請求項２０】
前記停止挿入手段は、一時停止した前記並列演算装置で実現されている前記動作記述のオブジェクトコードに、前記停止条件回路のオブジェクトコードを挿入する、請求項１８または１９に記載のデータ処理システム。
【請求項２１】
前記停止入力手段は、前記並列演算装置が一時停止している状態で前記停止指令と停止条件のデータ入力を受け付け、
前記停止生成手段は、前記並列演算装置が一時停止している状態で前記停止条件回路のオブジェクトコードをデータ生成する、請求項２０に記載のデータ処理システム。
【請求項２２】
前記ソースコードがデータ入力されるソース入力手段と、
データ入力された前記ソースコードから、順次遷移する複数段階の動作状態を示す番号を検出して、複数の前記データ処理回路と複数の前記配線切換回路との順次切り換わる動作サイクルごとの前記動作命令からなる一連のオブジェクトコードをデータ生成するオブジェクト生成手段と、
前記ソースコードに含まれる各コードと前記オブジェクトコードに含まれる各コードとの対応関係をデータ生成する対応生成手段と、
を有しており、
前記停止入力手段は、前記動作状態として前記ソースコードの行番号がデータ入力され、
前記装置停止手段は、前記対応関係を参照してデータ入力された前記行番号に対応する前記動作状態のときに前記並列演算装置の前記状態遷移を一時停止させる、請求項１５に記載のデータ処理システム。
【請求項２３】
前記ソースコードがデータ入力されるソース入力手段と、
データ入力された前記ソースコードから、順次遷移する複数段階の動作状態を示す番号を検出して、複数の前記データ処理回路と複数の前記配線切換回路との順次切り換わる動作サイクルごとの前記動作命令からなる一連のオブジェクトコードをデータ生成するオブジェクト生成手段と、
前記ソースコードに含まれる各コードと前記オブジェクトコードに含まれる各コードとの対応関係をデータ生成する対応生成手段と、
を有しており、
前記停止入力手段は、前記保持データとして前記ソースコードの変数を使用した停止条件がデータ入力され、
前記装置停止手段は、前記対応関係を参照して前記停止条件が成立する保持データのときに前記並列演算装置の前記状態遷移を一時停止させる、請求項１６に記載のデータ処理システム。
【請求項２４】
前記ソース入力手段は、各所に変数がデータ記述されている複数行の前記ソースコードがデータ入力され、
前記対応生成手段は、前記ソースコードの特定部分として前記変数と前記行番号と前記オブジェクトコードの特定部分との対応関係をデータ生成し、
前記停止入力手段は、前記ソースコードの特定部分として前記変数と前記行番号との少なくとも一つを使用した停止条件がデータ入力され、
前記装置停止手段は、前記対応関係を参照して前記停止条件が成立する前記オブジェクトコードのときに前記並列演算装置の前記状態遷移を一時停止させる、請求項１７に記載のデータ処理システム。
【請求項２５】
前記ソースコードがデータ入力されるソース入力手段と、
データ入力された前記ソースコードから、順次遷移する複数段階の動作状態を示す番号を検出して、複数の前記データ処理回路と複数の前記配線切換回路との順次切り換わる動作サイクルごとの前記動作命令からなる一連のオブジェクトコードをデータ生成するオブジェクト生成手段と、
前記ソースコードに含まれる各コードと前記オブジェクトコードに含まれる各コードとの対応関係をデータ生成する対応生成手段と、
を有しており、
前記停止入力手段は、前記並列演算装置の停止指令とともに前記ソースコードの特定部分を使用した停止条件がデータ入力され、
前記停止生成手段は、前記対応関係を参照して前記停止条件に対応した前記停止条件回路のオブジェクトコードをデータ生成し、
前記停止挿入手段は、データ生成された前記停止条件回路のオブジェクトコードを前記動作記述のオブジェクトコードに前記対応関係を参照して挿入する、請求項１８乃至２１のいずれか１項に記載のデータ処理システム。
【請求項２６】
一時停止した前記並列演算装置の複数の前記データ処理装置の少なくとも一部の保持データが書換指令とともにデータ入力される書換入力手段と、
前記書換指令とともにデータ入力された前記保持データで一時停止した前記並列演算装置の対応する保持データを書き換えるデータ書換手段と、
を有している、請求項１乃至２５のいずれか１項に記載のデータ処理システム。
【請求項２７】
前記並列演算装置が一体に実装されている請求項１乃至２６のいずれか１項に記載のデータ処理システム。
【請求項２８】
請求項１または１４に記載のデータ処理システムによるデータ処理方法であって、
前記オブジェクトコードで前記並列演算装置に前記状態遷移を実行させ、
前記並列演算装置の前記状態遷移を前記動作サイクルごとに一時停止させ、
一時停止した前記並列演算装置の複数の前記データ処理回路の保持データをデータ出力し、
前記状態遷移の再開指令のデータ入力を受け付け、
前記再開指令がデータ入力されると前記動作実行手段に前記状態遷移を再開させる、データ処理方法。
【請求項２９】
請求項２または１５に記載のデータ処理システムによるデータ処理方法であって、
前記並列演算装置の停止指令と特定の前記動作状態とのデータ入力を受け付け、
前記オブジェクトコードで前記並列演算装置に前記状態遷移を実行させ、
前記停止指令とともにデータ入力された前記動作状態のときに前記並列演算装置の前記状態遷移を一時停止させ、
一時停止した前記並列演算装置の複数の前記データ処理回路の保持データをデータ出力する、データ処理方法。
【請求項３０】
請求項３または１６に記載のデータ処理システムによるデータ処理方法であって、
前記並列演算装置の停止指令と複数の前記データ処理回路の少なくとも一部の保持データを使用した停止条件とのデータ入力を受け付け、
前記オブジェクトコードで前記並列演算装置に前記状態遷移を実行させ、
前記停止条件が成立するときに前記並列演算装置の前記状態遷移を一時停止させ、
一時停止した前記並列演算装置の複数の前記データ処理回路の保持データをデータ出力する、データ処理方法。
【請求項３１】
請求項４または１７に記載のデータ処理システムによるデータ処理方法であって、
前記ソースコードのデータ入力を受け付け、
データ入力された前記ソースコードから、順次遷移する複数段階の動作状態を示す番号を検出して、複数の前記データ処理回路と複数の前記配線切換回路との順次切り換わる動作サイクルごとの前記動作命令からなる一連のオブジェクトコードをデータ生成し、
前記ソースコードに含まれる各コードと前記オブジェクトコードに含まれる各コードとの対応関係をデータ生成し、
前記並列演算装置の停止指令と前記ソースコードの特定部分を使用した停止条件とのデータ入力を受け付け、
データ生成された前記オブジェクトコードで前記並列演算装置に前記状態遷移を実行させ、
データ生成された前記対応関係を参照して前記停止条件が成立する前記オブジェクトコードのときに前記並列演算装置の前記状態遷移を一時停止させ、
一時停止した前記並列演算装置の複数の前記データ処理回路の保持データをデータ出力する、データ処理方法。
【請求項３２】
請求項５または１８に記載のデータ処理システムによるデータ処理方法であって、
前記並列演算装置の停止指令と停止条件とのデータ入力を受け付け、
データ入力された前記停止条件で前記状態遷移を一時停止させる停止条件回路として複数の前記データ処理回路と前記配線切換回路との一部を機能させるオブジェクトコードをデータ生成し、
データ生成された前記停止条件回路のオブジェクトコードを前記動作記述のオブジェクトコードに挿入し、
前記オブジェクトコードで前記並列演算装置に前記状態遷移を実行させ、
一時停止した前記並列演算装置の複数の前記データ処理回路の保持データをデータ出力する、データ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、並列演算装置のソースコードとオブジェクトコードとの少なくとも一方をデバッグするためのデータ処理システムに関する。
【背景技術】
【０００２】
現在、各種のデータ処理を自在に実行できるプロセッサユニットとしては、いわゆるＣＰＵ(Central Processing Unit)やＭＰＵ(Micro Processor Unit)と呼称される製品が実用化されている。
【０００３】
このようなプロセッサユニットを利用したデータ処理システムでは、複数の動作命令が記述された各種のオブジェクトコードと各種の処理データとがメモリデバイスに格納され、プロセッサユニットはメモリデバイスから動作命令や処理データを順番にデータ読出して複数のデータ処理を逐次実行する。
【０００４】
このため、一個のプロセッサユニットで各種のデータ処理を実現できるが、そのデータ処理では複数のデータ処理を順番に逐次実行する必要があり、その逐次処理ごとにプロセッサユニットがメモリデバイスから動作命令をデータ読出する必要があるので、複雑なデータ処理を高速に実行することは困難である。
【０００５】
一方、実行するデータ処理が一つに限定されている場合には、そのデータ処理を実行するように論理回路をハードウェアで形成すれば、プロセッサユニットがメモリデバイスから複数の動作命令を順番にデータ読出して複数のデータ処理を順番に逐次実行するような必要はない。このため、複雑なデータ処理を高速に実行することが可能であるが、当然ながら一つのデータ処理しか実行することができない。
【０００６】
つまり、オブジェクトコードを切換自在としたデータ処理システムでは、各種のデータ処理を実行できるが、ハードウェアの構成が固定されているのでデータ処理を高速に実行することが困難である。一方、ハードウェアからなる論理回路では、データ処理を高速に実行することが可能であるが、オブジェクトコードを変更できないので一つのデータ処理しか実行できない。
【０００７】
このような課題を解決するため、本出願人はソフトウェアに対応してハードウェアの構成が変化するプロセッサユニットとして並列演算装置を創案した。この並列演算装置では、小規模の多数のデータ処理回路と配線切換回路とがマトリクス配列されており、このマトリクス回路部に状態管理部が並設されている。
【０００８】
複数のデータ処理回路は、個々にデータ設定される動作命令に対応してデータ処理を個々に実行し、複数の配線切換回路は、個々にデータ設定される動作命令に対応して複数のデータ処理回路の接続関係を個々に切換制御する。
【０００９】
つまり、並列演算装置は複数のデータ処理回路と複数の配線切換回路との動作命令を切り換えることでハードウェアの構成が変化するので、各種のデータ処理を実行することができ、ハードウェアとして小規模の多数のデータ処理回路が簡単なデータ処理を並列に実行するので、データ処理を高速に実行することができる。
【００１０】
そして、上述のような複数のデータ処理回路と複数の配線切換回路との動作命令からなるコンテキストを状態管理部がオブジェクトコードに対応して動作サイクルごとに順次切り換えるので、並列演算装置はオブジェクトコードに対応して並列処理を連続的に実行することができる(例えば、特許文献１〜６、非特許文献１参照)。
【特許文献１】特開２０００−１３８５７９号
【特許文献２】特開２０００−２２４０２５号
【特許文献３】特開２０００−２３２３５４号
【特許文献４】特開２０００−２３２１６２号
【特許文献５】特開２００３−７６６６８号
【特許文献６】特開２００３−９９４０９号
【非特許文献１】"Introduction to the Configurable, Highly Parallel Computer", Lawrence Snyder著, Purdue University, "IEEE Computer, vol.1 5, No. 1, Jan. 1982, pp. 47-56"
【発明の開示】
【発明が解決しようとする課題】
【００１１】
上述のような並列演算装置は、オブジェクトコードに内包されているコンテキストを状態管理部が動作サイクルごとに順次切り換えるので、マトリクス配列されている複数のデータ処理回路と複数の配線切換回路とがコンテキストに対応して動作サイクルごとに並列動作することができる。
【００１２】
しかし、このような並列演算装置は構造と動作との両方が従来のＣＰＵなどとは根本的に相違しているため、そのオブジェクトコードやソースコードを従来の手法で単純にデバッグすることができない。
【００１３】
本発明は上述のような課題に鑑みてなされたものであり、並列演算装置のソースプログラムやオブジェクトコードを良好にデバッグできるデータ処理システムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明のデータ処理システムは、変更自在なデータ処理を個々に実行する複数のデータ処理回路と複数のデータ処理回路の接続関係を切換制御する複数の配線切換回路とがマトリクス配列されている並列演算装置の複数段階の動作状態を動作サイクルごとに順次遷移させる動作記述のソースコードとオブジェクトコードとの少なくとも一方をデバッグするためのデータ処理システムであって、第１のデータ処理システムは、動作実行手段、装置停止手段、結果出力手段、再開入力手段、動作再開手段、を有している。
【００１５】
並列演算装置は状態遷移を一時停止する機能も有しており、動作実行手段は、オブジェクトコードで並列演算装置に状態遷移を実行させる。装置停止手段は、並列演算装置の状態遷移を動作サイクルごとに一時停止させ、結果出力手段は、一時停止した並列演算装置の複数のデータ処理回路の保持データと接続関係と動作命令との少なくとも一部をデータ出力する。再開入力手段は、状態遷移の再開指令がデータ入力され、動作再開手段は、再開指令がデータ入力されると並列演算装置の状態遷移を再開させる。
【００１６】
本発明の第２のデータ処理システムは、動作実行手段、停止入力手段、装置停止手段、結果出力手段、を有している。動作実行手段は、オブジェクトコードで並列演算装置に状態遷移を実行させ、停止入力手段は、並列演算装置の停止指令が特定の動作状態とともにデータ入力される。装置停止手段は、停止指令とともにデータ入力された動作状態のときに並列演算装置の状態遷移を一時停止させ、結果出力手段は、一時停止した並列演算装置の複数のデータ処理回路の保持データと接続関係と動作命令との少なくとも一部をデータ出力する。
【００１７】
本発明の第３のデータ処理システムは、動作実行手段、停止入力手段、装置停止手段、結果出力手段、を有している。動作実行手段は、オブジェクトコードで並列演算装置に状態遷移を実行させ、停止入力手段は、並列演算装置の停止指令が複数のデータ処理回路の少なくとも一部の保持データを使用した停止条件とともにデータ入力される。装置停止手段は、停止条件が成立するときに並列演算装置の状態遷移を一時停止させ、結果出力手段は、一時停止した並列演算装置の複数のデータ処理回路の保持データと接続関係と動作命令との少なくとも一部をデータ出力する。
【００１８】
本発明の第４のデータ処理システムは、ソース入力手段、オブジェクト生成手段、対応生成手段、動作実行手段、停止入力手段、装置停止手段、結果出力手段、を有している。ソース入力手段は、ソースコードがデータ入力され、オブジェクト生成手段は、データ入力されたソースコードから順次遷移する複数段階の動作状態を検出して複数のデータ処理回路と複数の配線切換回路との順次切り換わる動作サイクルごとの動作命令からなる一連のオブジェクトコードをデータ生成する。対応生成手段は、ソースコードとオブジェクトコードとの対応関係をデータ生成し、動作実行手段は、データ生成されたオブジェクトコードで並列演算装置に状態遷移を実行させる。停止入力手段は、並列演算装置の停止指令がソースコードの特定部分を使用した停止条件とともにデータ入力され、装置停止手段は、データ生成された対応関係を参照して停止条件が成立するオブジェクトコードのときに並列演算装置の状態遷移を一時停止させ、結果出力手段は、一時停止した並列演算装置の複数のデータ処理回路の保持データと接続関係と動作命令との少なくとも一部をデータ出力する。
【００１９】
本発明の第５のデータ処理システムは、動作実行手段、停止入力手段、停止生成手段、停止挿入手段、結果出力手段、を有している。動作実行手段は、オブジェクトコードで並列演算装置に状態遷移を実行させ、停止入力手段は、並列演算装置の停止指令が停止条件とともにデータ入力される。停止生成手段は、データ入力された停止条件で状態遷移を一時停止させる停止条件回路として複数のデータ処理回路と配線切換回路との一部を機能させるオブジェクトコードをデータ生成し、停止挿入手段は、データ生成された停止条件回路のオブジェクトコードを動作記述のオブジェクトコードに挿入し、結果出力手段は、一時停止した並列演算装置の複数のデータ処理回路の保持データと接続関係と動作命令との少なくとも一部をデータ出力する。
【００２０】
なお、本発明で云う各種手段は、その機能を実現するように形成されていれば良く、例えば、所定の機能を発揮する専用のハードウェア、所定の機能がコンピュータプログラムにより付与されたデータ処理装置、コンピュータプログラムによりデータ処理装置に実現された所定の機能、これらの組み合わせ、等として実現することができる。
【００２１】
また、本発明で云う各種手段は、かならずしも個々に独立した存在である必要はなく、複数の手段が１個の部材として形成されていること、ある手段が他の手段の一部であること、ある手段の一部と他の手段の一部とが重複していること、等も可能である。
【発明の効果】
【００２２】
本発明の第１のデータ処理システムでは、オブジェクトコードに対応した並列演算装置の状態遷移を動作サイクルごとに一時停止させて各種データを出力させ、状態遷移の再開指令がデータ入力されると並列演算装置の状態遷移を再開させることにより、オブジェクトコードに対応して状態遷移する並列演算装置の各種データを逐次確認することができ、それでいて並列演算装置の一時停止を迅速に解除できるので、並列演算装置のオブジェクトコードやソースコードを良好にデバッグすることができる。
【００２３】
本発明の第２のデータ処理システムでは、並列演算装置の停止指令が特定の動作状態とともにデータ入力されると、その動作状態のときに並列演算装置の状態遷移を一時停止させて各種データを出力させることにより、所望の動作状態で並列演算装置を一時停止させて各種データを確認することができるので、並列演算装置のオブジェクトコードやソースコードを良好にデバッグすることができる。
【００２４】
本発明の第３のデータ処理システムでは、並列演算装置の停止指令が複数のデータ処理回路の少なくとも一部の保持データを使用した停止条件とともにデータ入力されると、その停止条件が成立するときに並列演算装置の状態遷移を一時停止させて各種データを出力させることにより、所望の停止条件が成立するときに並列演算装置を一時停止させて各種データを確認することができるので、並列演算装置のオブジェクトコードやソースコードを良好にデバッグすることができる。
【００２５】
本発明の第４のデータ処理システムでは、ソースコードからオブジェクトコードをデータ生成するとともに対応関係もデータ生成し、並列演算装置の停止指令がソースコードの特定部分を使用した停止条件とともにデータ入力されると、対応関係を参照して停止条件が成立するオブジェクトコードのときに並列演算装置の状態遷移を一時停止させて各種データを出力させることにより、所望の停止条件が成立するときに並列演算装置を一時停止させて各種データを確認することができるので、並列演算装置のソースコードを良好にデバッグすることができる。
【００２６】
本発明の第５のデータ処理システムでは、並列演算装置の停止指令が停止条件とともにデータ入力されると、その停止条件に対応した停止条件回路のオブジェクトコードをデータ生成して動作記述のオブジェクトコードに挿入し、一時停止した並列演算装置の各種データを出力することにより、所望の停止条件で並列演算装置を一時停止させて各種データを確認することができるので、並列演算装置のオブジェクトコードやソースコードを良好にデバッグすることができる。
【発明を実施するための最良の形態】
【００２７】
本発明の実施の一形態を図面を参照して以下に説明する。ただし、本実施の形態に関して前述した一従来例と同一の部分は、同一の名称を使用して詳細な説明は省略する。
【００２８】
［実施の形態の構成］
本発明の実施の一形態を図面を参照して以下に説明する。まず、本形態の並列演算装置であるアレイ型プロセッサ１００は、図３および図４（ａ）に示すように、オブジェクト入力手段であるＩ／Ｆユニット１０１、コード格納手段であるコードメモリ１０２、状態管理部１０３、データ分配部１０４、マトリクス回路部１０５、データメモリ１０６、を有しており、マトリクス回路部１０５には、複数のデータ処理回路であるプロセッサエレメント１０７、複数の配線切換回路であるスイッチエレメント１０８、多数のｍｂバス１０９、多数のｎｂバス１１０、等がマトリクス配列されている。
【００２９】
また、同図（ｂ）に示すように、プロセッサエレメント１０７は、インストラクションメモリ１１１、インストラクションデコーダ１１２、ｍｂ回路資源であるｍｂレジスタファイル１１３、ｎｂ回路資源であるｎｂレジスタファイル１１４、ｍｂ回路資源でありｍｂ演算器であるｍｂＡＬＵ１１５、ｎｂ回路資源でありｎｂ演算器であるｎｂＡＬＵ１１６、内部配線資源１１７、等を各々有しており、スイッチエレメント１０８は、バスコネクタ１２１、入力制御回路１２２、出力制御回路１２３、等を各々有している。
【００３０】
Ｉ／Ｆユニット１０１は、後述するデータ処理装置３００が接続され、このデータ処理装置３００から一連のオブジェクトコードが外部入力される。コードメモリ１０２は、ＲＡＭ等の情報記憶媒体からなり、外部入力されたオブジェクトコードをデータ記憶する。
【００３１】
このオブジェクトコードは、詳細には後述するが、マトリクス回路部１０５にマトリクス配列された複数のプロセッサエレメント１０７と複数のスイッチエレメント１０８との動作命令が、順次切り換わる動作サイクルごとのコンテキストとしてデータ設定されており、このコンテキストを動作サイクルごとに切り換える状態管理部１０３の動作命令が、順次遷移する動作状態としてデータ設定されている。
【００３２】
この状態管理部１０３は、コードメモリ１０２でデータ記憶された一連のオブジェクトコードから動作サイクルごとにコンテキストをデータ読出し、その動作命令から複数のプロセッサエレメント１０７と複数のスイッチエレメント１０８とのインストラクションポインタを各々発生する。
【００３３】
本形態ではスイッチエレメント１０８のインストラクションメモリが隣接するプロセッサエレメント１０７のインストラクションメモリ１１１で兼用されているので、状態管理部１０３は、発生したプロセッサエレメント１０７とスイッチエレメント１０８との一組のインストラクションポインタを対応するプロセッサエレメント１０７のインストラクションメモリ１１１に供給する。
【００３４】
このインストラクションメモリ１１１はプロセッサエレメント１０７とスイッチエレメント１０８との複数の動作命令が事前に格納されており、状態管理部１０３から供給される二つのインストラクションポインタでプロセッサエレメント１０７とスイッチエレメント１０８との動作命令が指定される。インストラクションデコーダ１１２は、インストラクションポインタで指定された動作命令をデコードし、スイッチエレメント１０８、内部配線資源１１７、ｍ／ｎｂＡＬＵ１１５，１１６、等の動作を制御する。
【００３５】
ｍｂバス１０９は“８（ビット）”の処理データであるｍｂデータを伝送し、ｎｂバス１１０は“１（ビット）”の処理データであるｎｂデータを伝送するので、スイッチエレメント１０８は、インストラクションデコーダ１１２の動作制御に対応してｍ／ｎｂバス１０９，１１０による複数のプロセッサエレメント１０７の接続関係を制御する。
【００３６】
より詳細には、スイッチエレメント１０８のバスコネクタ１２１は、ｍｂバス１０９と
ｎｂバス１１０とが四方から連通しており、このように連通している複数のｍｂバス１０
９の相互の接続関係と連通する複数のｎｂバス１１０の相互の接続関係とを制御する。
【００３７】
このため、本形態のアレイ型プロセッサ１００は、コードメモリ１０２にデータ設定されたオブジェクトコードに対応して状態管理部１０３がマトリクス回路部１０５のコンテキストを動作サイクルごとに順次切り換え、その段階ごとに複数のプロセッサエレメント１０７は個々に設定自在なデータ処理で並列動作する。
【００３８】
なお、ここでは説明を簡略化するために各部が平面状に配列されている構造を例示しているが、実際には、上述のｍ／ｎｂバス１０９，１１０とスイッチエレメント１０８とプロセッサエレメント１０７とを積層構造で重複させて形成するようなことも可能である。
【００３９】
入力制御回路１２２は、ｍｂバス１０９からｍｂレジスタファイル１１３やｍｂＡＬＵ１１５へのデータ入力の接続関係と、ｎｂバス１１０からｎｂレジスタファイル１１４やｎｂＡＬＵ１１６へのデータ入力の接続関係とを制御し、出力制御回路１２３は、ｍｂレジスタファイル１１３やｍｂＡＬＵ１１５からｍｂバス１０９へのデータ出力の接続関係と、ｎｂレジスタファイル１１４やｎｂＡＬＵ１１６からｎｂバス１１０へのデータ出力の接続関係とを制御する。
【００４０】
データ分配部１０４は、外部入力される一連の処理データをｍｂデータとｎｂデータとに分配し、このｍ／ｎｂデータをスイッチエレメント１０８により接続関係が制御されたｍ／ｎｂバス１０９，１１０から複数のプロセッサエレメント１０７の特定の一部に適宜入力する。
【００４１】
このプロセッサエレメント１０７の内部配線資源１１７は、インストラクションデコーダ１１２の動作制御に対応して、プロセッサエレメント１０７の内部でのｍｂレジスタファイル１１３およびｍｂＡＬＵ１１５の接続関係とｎｂレジスタファイル１１４およびｎｂＡＬＵ１１６の接続関係とを制御する。
【００４２】
ｍｂレジスタファイル１１３は、内部配線資源１１７に制御される接続関係に対応して、ｍｂバス１０９などから入力されるｍｂデータを一時保持してｍｂＡＬＵ１１５などに出力する。ｎｂレジスタファイル１１４は、内部配線資源１１７に制御される接続関係に対応して、ｎｂバス１１０などから入力されるｎｂデータを一時保持してｎｂＡＬＵ１１６などに出力する。
【００４３】
ｍｂＡＬＵ１１５は、インストラクションデコーダ１１２の動作制御に対応したデータ処理をｍｂデータで実行し、ｎｂＡＬＵ１１６は、インストラクションデコーダ１１２の動作制御に対応したデータ処理をｎｂデータで実行する。なお、プロセッサエレメント１０７は、上述のように内蔵されているｍ／ｎｂレジスタファイル１１３，１１４でｍ／ｎｂデータをデータ読書するが、必要により外部のデータメモリ１０６でも処理データをデータ読書する。
【００４４】
なお、上述のような構造からなるアレイ型プロセッサ１００は、実際には一般的なＣＰＵ（図示せず）などと連携して動作することを前提としているため、停止指令の外部入力に対応して状態遷移を一時停止する機能が状態管理部１０３に実装されており、このように一時停止した状態でもプロセッサエレメント１０７の保持データなどを外部からデータ読出できる読出配線（図示せず）が形成されている。
【００４５】
本形態のデータ処理システム２００は、図１に示すように、アレイ型プロセッサ１００、データ処理装置３００、ソース供給手段２０１、等を有している。本形態のデータ処理装置３００は、図２に示すように、コンピュータの主体となるハードウェアとしてＣＰＵ３０１を有しており、このＣＰＵ３０１には、バスライン３０２により、ＲＯＭ３０３、ＲＡＭ３０４、ＨＤＤ３０５、ＦＤ３０６が交換自在に装填されるＦＤＤ(FD Drive)３０７、ＣＤ−ＲＯＭ３０８が交換自在に装填されるＣＤドライブ３０９、キーボード３１０、マウス３１１、ディスプレイ３１２、Ｉ／Ｆユニット３１３、等のハードウェアが接続されている。
【００４６】
本形態のデータ処理装置３００では、ＲＯＭ３０３、ＲＡＭ３０４、ＨＤＤ３０５、交換自在なＦＤ３０６、交換自在なＣＤ−ＲＯＭ３０８、等のハードウェアが情報記憶媒体に相当し、これらの少なくとも一個にＣＰＵ３０１のためのコンピュータプログラムや各種データがソフトウェアとして格納されている。
【００４７】
例えば、ＣＰＵ３０１に各種のデータ処理を実行させるコンピュータプログラムは、ＦＤ３０６やＣＤ−ＲＯＭ３０８に事前に格納されている。このようなソフトウェアはＨＤＤ３０５に事前にインストールされており、データ処理装置３００の起動時にＲＡＭ３０４に複写されてＣＰＵ３０１にデータ読取される。
【００４８】
このようにＣＰＵ３０１が適正なコンピュータプログラムをデータ読取して各種のデータ処理を実行することにより、本形態のデータ処理装置３００は、図１に示すように、ソース入力手段２１１、条件記憶手段２１２、オブジェクト生成手段２１３、オブジェクト出力手段２１４、動作実行手段２１５、対応生成手段２１７、停止入力手段２１８、装置停止手段２１９、結果出力手段２２１、再開入力手段２２２、動作再開手段２２３、空域検出手段２２５、停止生成手段２２６、停止挿入手段２２７、書換入力手段２２８、データ書換手段２２９、等の各種手段を各種機能として論理的に有している。
【００４９】
データ処理システム２００のソース供給手段２０１は、例えば、一連のソースコードが格納されたＦＤ３０６からなり、そのソースコードをデータ処理装置３００のソース入力手段２１１に供給する。ソースコードは、アレイ型プロセッサ１００の複数段階の動作状態を動作サイクルごとに順次遷移させる動作記述からなり、Ｃ言語などの高級言語でデータ記述されている。
【００５０】
このようなソースコードは、各所に変数を含んだ演算式および制御構造がデータ記述されている複数行からなり、アレイ型プロセッサ１００の順次遷移する動作状態はソースコードの特定の行番号に反映されている。また、アレイ型プロセッサ１００のインストラクションメモリ１１１やｍ／ｎｂレジスタファイル１１３，１１４などでは各種データが一時保持されるので、その保持データは、ソースコードに変数としてデータ記述されている。
【００５１】
例えば、“ｙ＝ｘ＋１２３”なる演算のソースコードは、“ｘ”“ｙ”なるｍ／ｎｂレジスタファイル１１３，１１４などの保持データとなる変数、“１２３”なるｍ／ｎｂレジスタファイル１１３，１１４などの保持データとなる定数、これらのｍ／ｎｂレジスタファイル１１３，１１４などを結線するための命令、等でデータ記述されている。
【００５２】
データ処理装置３００のソース入力手段２１１は、ＲＡＭ３０４に格納されているコンピュータプログラムに対応してＣＰＵ３０１がＦＤＤ３０７を動作制御する機能などに相当し、ソース供給手段２０１からソースコードがデータ入力される。
【００５３】
条件記憶手段２１２は、上述のコンピュータプログラムに対応してＣＰＵ３０１がデータ認識するＨＤＤ３０５の記憶エリアなどに相当し、アレイ型プロセッサ１００の物理構造や物理特性などに対応した各種の制約条件が事前にデータ登録されている。
【００５４】
オブジェクト生成手段２１３は、ＣＰＵ３０１がコンピュータプログラムに対応して所定のデータ処理を実行する機能などに相当し、ソース入力手段２１１にデータ入力されたソースコードから条件記憶手段２１２の制約条件により順次遷移する複数段階の動作状態を検出し、アレイ型プロセッサ１００の複数のプロセッサエレメント１０７と複数のスイッチエレメント１０８との順次切り換わる動作サイクルごとの動作命令からなる一連のオブジェクトコードをデータ生成する。
【００５５】
なお、オブジェクト生成手段２１３は、前述のようにアレイ型プロセッサ１００に状態管理部１０３とマトリクス回路部１０５とが別個に形成されているので、この構造を反映した制約条件によりソースコードからオブジェクトコードをデータ生成するとき、図３に示すように、マトリクス回路部１０５に対応したデータパスと状態管理部１０３に対応した有限状態マシンとを分離する。
【００５６】
また、オブジェクト生成手段２１３は多段階の各種処理によりソースコードからオブジェクトコードをデータ生成し、その多段階の各種処理で条件記憶手段２１２から必要な制約条件を適宜参照するので、この条件記憶手段２１２にはオブジェクト生成手段２１３の各種処理に必要充分なデータ内容で各種の制約条件がデータ設定されている。
【００５７】
オブジェクト出力手段２１４は、ＣＰＵ３０１がコンピュータプログラムに対応してＩ／Ｆユニット３１３のデータ出力を制御する機能などに相当し、オブジェクト生成手段２１３でデータ生成された一連のオブジェクトコードをアレイ型プロセッサ１００のＩ／Ｆユニット１０１にデータ入力する。このアレイ型プロセッサ１００のＩ／Ｆユニット１０１には、前述のようにコードメモリ１０２が接続されているので、このコードメモリ１０２でオブジェクトコードがデータ保持される。
【００５８】
動作実行手段２１５は、ＣＰＵ３０１がコンピュータプログラムに対応して所定のデータ処理を実行する機能などに相当し、例えば、一連の処理データを発生してアレイ型プロセッサ１００のデータ分配部１０４に入力することで、アレイ型プロセッサ１００にオブジェクトコードに対応した状態遷移を実行させる。
【００５９】
対応生成手段２１７も、ＣＰＵ３０１が所定のデータ処理を実行する機能などに相当し、ソースコードとオブジェクトコードとの対応関係をデータ生成する。より具体的には、前述のようにアレイ型プロセッサ１００の順次遷移する動作状態はソースコードの特定の行番号に反映されており、アレイ型プロセッサ１００のｍ／ｎｂレジスタファイル１１３，１１４などの保持データは、ソースコードに変数などとしてデータ記述されている。
【００６０】
このため、データ処理装置３００は、前述のようにソースコードをオブジェクトコードにデータ変換するとき、ソースコードの行番号とアレイ型プロセッサ１００の動作状態との対応関係をデータ生成するとともに、ソースコードの変数などとアレイ型プロセッサ１００のｍ／ｎｂレジスタファイル１１３，１１４などの保持データとの対応関係をデータ生成する。
【００６１】
停止入力手段２１８は、ＣＰＵ３０１がキーボード３１０の手動操作をデータ検出する機能などに相当し、アレイ型プロセッサ１００の停止指令がデータ入力される。この停止指令は単独でもデータ入力されるが、アレイ型プロセッサ１００の特定の動作状態に対応したソースコードの行番号や、アレイ型プロセッサ１００の特定の保持データに対応したソースコードの変数、作業者の所望により入力操作される定数、等を使用した停止条件とともにもデータ入力される。
【００６２】
例えば、変数や定数を使用した停止条件は、アレイ型プロセッサ１００の複数の保持データの保持パターンに対応した複数の変数や定数のパターンデータや、アレイ型プロセッサ１００の複数の保持データの相互関係に対応した複数の変数や定数の条件式、などとしてデータ入力される。
【００６３】
装置停止手段２１９は、ＣＰＵ３０１が所定のデータ処理を実行する機能などに相当し、上述のように停止指令がデータ入力されるとアレイ型プロセッサ１００の状態遷移を一時停止させる。より詳細には、停止指令が停止条件であるソースコードの行番号とともにデータ入力された場合、ソースコードとオブジェクトコードとの対応関係を参照し、その行番号に対応した動作状態のときにアレイ型プロセッサ１００の状態遷移を一時停止させる。
【００６４】
また、停止指令が停止条件としてソースコードの複数の変数などのパターンデータとともにデータ入力された場合、ソースコードとオブジェクトコードとの対応関係を参照し、停止条件の保持パターンの保持データのときにアレイ型プロセッサ１００の状態遷移を一時停止させる。
【００６５】
また、停止指令が停止条件としてソースコードの変数などの条件式とともにデータ入力された場合、ソースコードとオブジェクトコードとの対応関係を参照し、停止条件の条件式が成立する保持データのときにアレイ型プロセッサ１００の状態遷移を一時停止させる。
【００６６】
結果出力手段２２１は、ＣＰＵ３０１が所定データをディスプレイ３１２に表示出力させる機能などに相当し、上述のように一時停止したアレイ型プロセッサ１００の複数のプロセッサエレメント１０７の保持データや接続関係や動作命令などをデータ出力するとともに、ソースコードとオブジェクトコードとの対応関係を参照して、アレイ型プロセッサ１００が一時停止したときのオブジェクトコードに対応したソースコードの部分もデータ出力する。
【００６７】
再開入力手段２２２は、ＣＰＵ３０１がキーボード３１０の手動操作をデータ検出する機能などに相当し、状態遷移の再開指令がデータ入力される。動作再開手段２２３は、ＣＰＵ３０１が所定のデータ処理を実行する機能などに相当し、再開指令がデータ入力されるとアレイ型プロセッサ１００の状態遷移を再開させる。
【００６８】
以下はＣＰＵ３０１が所定のデータ処理を実行する機能などに相当し、空域検出手段２２５は、動作記述のオブジェクトコードに対応して動作サイクルごとにアレイ型プロセッサ１００にプロセッサエレメント１０７やスイッチエレメント１０８で論理処理回路１５０が形成されるとき、論理処理回路１５０として利用されないプロセッサエレメント１０７とスイッチエレメント１０８からなる空域部分１５１をデータ検出する。
【００６９】
停止生成手段２２６は、停止指令とともに前述の停止条件がデータ入力された場合、そのデータ入力された停止条件でアレイ型プロセッサ１００の状態遷移を一時停止させる停止条件回路１５２として、複数のプロセッサエレメント１０７とスイッチエレメント１０８との一部を機能させるオブジェクトコードをデータ生成する。
【００７０】
より詳細には、停止生成手段２２６は、前述のように停止指令がソースコードの行番号や変数などを使用した停止条件とともにデータ入力されると、ソースコードとオブジェクトコードとの対応関係を参照し、データ検出された空域部分１５１のプロセッサエレメント１０７とスイッチエレメント１０８とを停止条件回路１５２として機能させるオブジェクトコードを、データ入力された停止条件に対応してデータ生成する。
【００７１】
停止挿入手段２２７は、データ生成された停止条件回路１５２のオブジェクトコードを動作記述のオブジェクトコードに挿入することにより、コンテキストごとに論理処理回路１５０が配列されているアレイ型プロセッサ１００の空域部分１５１に停止条件回路１５２を挿入する。なお、このようにアレイ型プロセッサ１００の空域部分１５１に停止条件回路１５２を挿入するため、オブジェクト生成手段２１３は、図５に示すように、事前に停止条件回路１５２を挿入できる空域部分１５１が発生するように論理処理回路１５０のオブジェクトコードをデータ生成する。
【００７２】
また、上述のようなオブジェクトコードによりアレイ型プロセッサ１００のマトリクス回路部１０５に構築される停止条件回路１５２は、例えば、周囲の論理処理回路１５０の保持データなどを監視し、その保持データが停止指令とともにデータ入力された所定条件に整合すると、動作停止を状態管理部１０３に通達するので、この状態管理部１０３により状態遷移が一時停止される。
【００７３】
書換入力手段２２８は、ＣＰＵ３０１がキーボード３１０の手動操作をデータ検出する機能などに相当し、一時停止したアレイ型プロセッサ１００の複数のｍ／ｎｂレジスタファイル１１３，１１４などの保持データが書換指令とともにデータ入力される。データ書換手段２２９は、ＣＰＵ３０１が所定のデータ処理を実行する機能などに相当し、書換指令とともにデータ入力された保持データで一時停止したアレイ型プロセッサ１００の対応するｍ／ｎｂレジスタファイル１１３，１１４などの保持データを書き換える。
【００７４】
なお、このようにデータ処理装置３００への入力操作でアレイ型プロセッサ１００の保持データを書き換える場合も、ソースコードの変数などを利用して保持データを指定すれば、データ処理装置３００がソースコードとオブジェクトコードとの対応関係を参照し、アレイ型プロセッサ１００の対応する保持データを書き換える。
【００７５】
上述したデータ処理装置３００の各種手段は、必要によりＦＤＤ３０７やＩ／Ｆユニット３１２等のハードウェアを利用して実現されるが、その主体はＲＡＭ３０４等の情報記憶媒体に格納されたソフトウェアに対応して、データ処理装置３００のハードウェアであるＣＰＵ３０１が機能することにより実現されている。
【００７６】
このようなソフトウェアは、例えば、アレイ型プロセッサ１００の物理構造や物理特性などに対応した各種の制約条件をＨＤＤ３０５などにデータ記憶させる処理、ＦＤ３０６の格納データをＦＤＤ１０７にデータ読出させることなどでアレイ型プロセッサ１００の動作記述のソースコードをデータ入力する処理、このデータ入力されたソースコードから制約条件によりアレイ型プロセッサ１００のオブジェクトコードをデータ生成する処理、このデータ生成されたオブジェクトコードをＩ／Ｆユニット３１３などからデータ出力する処理、一連の処理データを発生してアレイ型プロセッサ１００のデータ分配部１０４に入力することでアレイ型プロセッサ１００にオブジェクトコードに対応した状態遷移を実行させる処理、ソースコードとオブジェクトコードとの対応関係をデータ生成する処理、アレイ型プロセッサ１００の停止指令のキーボード３１０などへのデータ入力を受け付ける処理、停止指令がデータ入力されるとアレイ型プロセッサ１００の状態遷移を一時停止させる処理、停止指令がソースコードの行番号を使用した停止条件とともにデータ入力された場合、ソースコードとオブジェクトコードとの対応関係を参照し、その行番号に対応した動作状態のときにアレイ型プロセッサ１００の状態遷移を一時停止させる処理、停止指令がソースコードの変数などを使用した停止条件とともにデータ入力された場合、ソースコードとオブジェクトコードとの対応関係を参照し、その停止条件が成立する保持データのときにアレイ型プロセッサ１００の状態遷移を一時停止させる処理、アレイ型プロセッサ１００から論理処理回路１５０として利用されないプロセッサエレメント１０７とスイッチエレメント１０８からなる空域部分１５１をデータ検出する処理、データ入力された停止条件でアレイ型プロセッサ１００を一時停止させる停止条件回路１５２として空域部分１５１のプロセッサエレメント１０７やスイッチエレメント１０８を機能させるオブジェクトコードをデータ生成する処理、データ生成された停止条件回路１５２のオブジェクトコードを動作記述のオブジェクトコードに挿入する処理、一時停止したアレイ型プロセッサ１００の複数のプロセッサエレメント１０７の保持データや接続関係や動作命令などをデータ出力するとともに、ソースコードとオブジェクトコードとの対応関係を参照して、アレイ型プロセッサ１００が一時停止したときのオブジェクトコードに対応したソースコードの部分もデータ出力する処理、再開指令のキーボード３１０などへのデータ入力を受け付ける処理、再開指令がデータ入力されるとアレイ型プロセッサ１００の状態遷移を再開させる処理、一時停止したアレイ型プロセッサ１００の複数のｍ／ｎｂレジスタファイル１１３，１１４などの保持データと書換指令とのデータ入力を受け付ける処理、書換指令とともにデータ入力された保持データで一時停止したアレイ型プロセッサ１００の対応するｍ／ｎｂレジスタファイル１１３，１１４などの保持データを書き換える処理、等のデータ処理をＣＰＵ３０１等に実行させるためのコンピュータプログラムとしてＲＡＭ３０４等の情報記憶媒体に格納されている。
【００７７】
［実施の形態の動作］
上述のような構成において、本形態のデータ処理システム２００では、アレイ型プロセッサ１００の動作記述のソースコードがソース供給手段２０１からデータ処理装置３００にデータ供給されると、このデータ処理装置３００はソースコードをオブジェクトコードに変換してアレイ型プロセッサ１００にデータ供給する。
【００７８】
このアレイ型プロセッサ１００では、状態管理部１０３が外部入力されるオブジェクトコードを保持してプロセッサエレメント１０７ごとのインストラクションポインタを発生し、このインストラクションポインタでプロセッサエレメント１０７ごとにインストラクションメモリ１１１に格納されている複数の動作命令から一つが指定される。
【００７９】
この指定された動作命令がインストラクションデコーダ１１２でデコードされ、スイッチエレメント１０８による複数のプロセッサエレメント１０７の接続関係、内部配線資源１１７によるプロセッサエレメント１０７の内部での接続関係、ｍ／ｎｂＡＬＵ１１５，１１６のデータ処理、等が制御されるので、これで本形態のアレイ型プロセッサ１００は、オブジェクトコードに対応したデータ処理を実行するハードウェアの状態となる。
【００８０】
このような状態で、動作実行手段２１５から外部入力される一連の処理データがデータ分配部１０４でｍｂデータとｎｂデータとに分配され、上述のように接続関係とデータ処理とが制御された複数のプロセッサエレメント１０７ごとにｍｂＡＬＵ１１５とｎｂＡＬＵ１１６とでデータ処理される。
【００８１】
本形態のデータ処理システム２００では、上述のようにアレイ型プロセッサ１００がオブジェクトコードに対応して状態遷移を実行するとき、データ処理装置３００にアレイ型プロセッサ１００の停止指令がデータ入力されると、この停止指令に対応してアレイ型プロセッサ１００の状態遷移が一時停止される。
【００８２】
より詳細には、本形態のデータ処理装置３００は、前述のようにソースコードをオブジェクトコードにデータ変換するとき、ソースコードの行番号とアレイ型プロセッサ１００の動作状態との対応関係と、ソースコードの変数などとアレイ型プロセッサ１００のｍ／ｎｂレジスタファイル１１３，１１４などの保持データとの対応関係も、データ生成する。
【００８３】
そして、アレイ型プロセッサ１００が実装されたオブジェクトコードとデータ処理装置３００から供給される処理データとに対応して状態遷移を実行するとき、そのデータ処理装置３００に停止指令がアレイ型プロセッサ１００の特定の動作状態に対応したソースコードの行番号を使用した停止条件とともにデータ入力されると、このデータ処理装置３００は、ソースコードとオブジェクトコードとの対応関係を参照し、データ入力された行番号に対応した動作状態のときにアレイ型プロセッサ１００の状態遷移を一時停止させる。
【００８４】
その場合、データ処理装置３００はアレイ型プロセッサ１００の状態管理部１０３とリアルタイムにデータ通信して動作状態を監視し、特定の動作状態に遷移したときに状態管理部１０３に停止指令をデータ入力する。アレイ型プロセッサ１００は、前述のように一時停止の機能が事前に実装されているので、停止指令がデータ入力された状態管理部１０３は実行していた状態遷移を一時停止させる。
【００８５】
このような状態で、データ処理装置３００は一時停止したアレイ型プロセッサ１００から、複数のプロセッサエレメント１０７の保持データや接続関係や動作命令などをデータ読出してディスプレイ３１２で表示出力するとともに、一時停止した動作状態に対応したソースコードも表示出力するので、作業者は表示出力された各種データを確認することでソースコードをデバッグすることができる。
【００８６】
なお、一時停止したアレイ型プロセッサ１００の各種データを確認した作業者が、データ処理装置３００にキーボード３１０などで状態遷移の再開指令をデータ入力すると、データ処理装置３００はアレイ型プロセッサ１００の状態管理部１０３の一時停止を解除して処理データの供給を再開するので、これでアレイ型プロセッサ１００の状態遷移が再開される。
【００８７】
また、作業者はデータ処理装置３００のキーボード３１０への入力操作などにより、一時停止したアレイ型プロセッサ１００のｍ／ｎｂレジスタファイル１１３，１１４などの保持データを書き換えることもできる。このため、アレイ型プロセッサ１００の保持データを一時的に変更して動作を検証するようなことができ、これをソースコードのデバッグに利用することができる。
【００８８】
また、アレイ型プロセッサ１００が状態遷移を実行するとき、データ処理装置３００に停止指令がソースコードの変数などを使用した停止条件とともにデータ入力されると、このデータ処理装置３００は、ソースコードとオブジェクトコードとの対応関係を参照し、その停止条件が成立する保持データのときにアレイ型プロセッサ１００の状態遷移を一時停止させる。
【００８９】
その場合、データ処理装置３００は動作状態を順次遷移させているアレイ型プロセッサ１００の複数のプロセッサエレメント１０７の保持データをリアルタイムに監視し、その保持データがデータパターンや条件式に対応するときに状態管理部１０３に停止指令をデータ入力する。
【００９０】
このような状態で、データ処理装置３００は一時停止したアレイ型プロセッサ１００から各種データを読み出してソースコードとともにディスプレイ３１２で表示出力するので、作業者はアレイ型プロセッサ１００のソースコードをデバッグすることができる。また、この場合も作業者は一時停止したアレイ型プロセッサ１００のｍ／ｎｂレジスタファイル１１３，１１４などの保持データを書き換えることができるので、これをソースコードのデバッグに利用することができる。
【００９１】
なお、本形態のデータ処理システム２００では、上述のようにデータ処理装置３００がアレイ型プロセッサ１００の状態遷移をリアルタイムに一時停止させる他、アレイ型プロセッサ１００に一時停止を能動的に実行させることもできる。その場合、データ処理装置３００に停止指令がソースコードの行番号や変数などを使用した停止条件とともにデータ入力されると、このデータ処理装置３００は、ソースコードとオブジェクトコードとの対応関係を参照し、その停止条件でアレイ型プロセッサ１００の状態遷移を一時停止させる停止条件回路１５２のオブジェクトコードをデータ生成して動作記述のオブジェクトコードに挿入する。
【００９２】
なお、データ処理装置３００は、動作記述のソースコードからオブジェクトコードをデータ生成するとき、図５に示すように、停止条件回路１５２を挿入できる空域部分１５１が発生するように論理処理回路１５０のオブジェクトコードをデータ生成する。そして、動作記述のオブジェクトコードでアレイ型プロセッサ１００に論理処理回路１５０が構築されない空域部分１５１をデータ検出し、この空域部分１５１に停止条件回路１５２が配置されるように停止条件回路１５２のオブジェクトコードを動作記述のオブジェクトコードに挿入する。
【００９３】
そこで、データ処理装置３００は停止条件回路１５２のオブジェクトコードが挿入されている動作記述のオブジェクトコードをアレイ型プロセッサ１００に供給するので、このアレイ型プロセッサ１００は、停止条件回路１５２のオブジェクトコードが挿入されている動作記述のオブジェクトコードで状態遷移を実行することになる。
【００９４】
すると、アレイ型プロセッサ１００に構築された停止条件回路１５２は周囲に構築された論理処理回路１５０の動作状態を監視し、それで停止条件が成立すると状態管理部１０３に停止指令をデータ出力するので、アレイ型プロセッサ１００は停止条件に対応した動作状態で自動的に一時停止することになる。
【００９５】
このような状態で、データ処理装置３００は一時停止したアレイ型プロセッサ１００から各種データを読み出してソースコードとともにディスプレイ３１２で表示出力するので、作業者はアレイ型プロセッサ１００のソースコードをデバッグすることができる。当然ながら、この場合も作業者は一時停止したアレイ型プロセッサ１００のｍ／ｎｂレジスタファイル１１３，１１４などの保持データを書き換えることができるので、これをソースコードのデバッグに利用することができる。
【００９６】
より具体的な例として、ソースプログラム４００が状態遷移４０３を持つアレイ型プロセッサ１００などのハードウェアに合成され、また行対応表４０１と変数対応表４０２がデータ処理装置３００からデータ出力されている状態で、作業者が停止条件をデータ入力する場合を、図６を参照して以下に説明する。
【００９７】
ここで例示するソースプログラム４００では、変数ａ，ｂは入力ポート、変数ｃは出力ポートに対応しており、変数ｉ，ｊは関数ｍａｉｎ内のローカル変数である。データ処理装置３００が表示出力する行対応表４０１より、作業者は状態０が行番号８から合成された状態であることを認識でき、同様に、状態１は行番号８，９，１１から、状態２は行番号１１，１２，１４から合成された状態であることを認識できる。
【００９８】
また、変数ｉはアレイ型プロセッサ１００のｍｂレジスタファイル１１３などのレジスタＲＥＧ０で実現され、変数ｊはｎｂレジスタファイル１１４などのレジスタＲＥＧ１で実現されることが認識される。
【００９９】
例えば、作業者が停止指令とともにソースプログラムの行番号９をデータ処理装置３００に入力操作すると、データ処理装置３００は、行対応表から状態番号１が対応していることを認識し、アレイ型プロセッサ１００を状態番号１の時に停止させる。これは停止指令とともに直接に状態番号１を指定することと等価である。
【０１００】
また、データ処理装置３００は、停止指令とともにソースプログラムの行番号が９かつｊ＞＝１００なる条件式が入力操作されると、行対応表により状態番号１が対応していることを認識するとともに、変数対応表により変数ｊはＲＥＧ０に対応していることを認識する。
【０１０１】
そして、状態番号が１となるとともにＲＥＧ０の内容が１００以上になると停止信号を出力する停止条件回路１５２を生成し、アレイ型プロセッサ１００の空域部分１５１を検出して停止条件回路１５２を書き込む。このような状態でアレイ型プロセッサ１００が動作すると、その状態番号が１のときにＲＥＧ０の内容が１００以上になったときに停止条件回路１５２が状態管理部１０３に停止信号を通知するので、この状態管理部１０３がアレイ型プロセッサ１００の動作を停止させる。
【０１０２】
なお、停止指令や停止条件は複数に設定することも可能である。例えば、データ処理装置３００は、上述の停止条件に加え、ソースコードの行番号１２かつｊ＞２００なる条件式が入力操作されると、１つ目のループでＪが１００以上になったときと、２つ目のループでｊが２００より大きくなったときに、アレイ型プロセッサ１００を停止させる。また、作業者の所望操作により、データ処理装置３００に設定した停止条件を解除することも可能である。
【０１０３】
［実施の形態の効果］
本形態のデータ処理装置３００は、アレイ型プロセッサ１００の停止指令が特定の動作状態とともにデータ入力されると、その動作状態のときにアレイ型プロセッサ１００の状態遷移を一時停止させて各種データを出力させる。このため、所望の動作状態でアレイ型プロセッサ１００を一時停止させて各種データを確認することができるので、作業者はアレイ型プロセッサ１００のオブジェクトコードやソースコードを良好にデバッグすることができる。
【０１０４】
また、アレイ型プロセッサ１００の停止指令が特定のプロセッサエレメント１０７の保持データを使用した停止条件とともにデータ入力されると、その停止条件が成立する保持データのときにアレイ型プロセッサ１００の状態遷移を一時停止させて各種データを出力させる。このため、所望の停止条件が成立するときにアレイ型プロセッサ１００を一時停止させて各種データを確認することができるので、作業者はアレイ型プロセッサ１００のオブジェクトコードやソースコードを良好にデバッグすることができる。
【０１０５】
さらに、本形態のデータ処理装置３００は、アレイ型プロセッサ１００の動作状態や保持データをリアルタイムに監視して状態遷移を一時停止させる他、動作状態や保持データに対応した停止条件回路１５２のオブジェクトコードをデータ生成して動作記述のオブジェクトコードに挿入する。このため、アレイ型プロセッサ１００は所望の停止条が成立するときに能動的に状態遷移を一時停止することができるので、作業者はアレイ型プロセッサ１００のオブジェクトコードやソースコードを良好にデバッグすることができる。
【０１０６】
しかも、本形態のデータ処理装置３００は、アレイ型プロセッサ１００のソースコードからオブジェクトコードをデータ生成するとともに、そのソースコードとオブジェクトコードとの対応関係もデータ生成する。このため、上述の動作状態や保持データを使用した停止条件を、ソースコードの行番号や変数などを使用した停止条件としてデータ処理装置３００にデータ入力すれば、対応関係を参照して自動的に適切なときにアレイ型プロセッサ１００を一時停止させることができる。
【０１０７】
従って、作業者はデータ処理装置３００にソースコードを使用して停止条件をデータ入力すれば良く、ソースコードに対応するオブジェクトコードを確認して停止条件を作成する煩雑な作業が必要ないので、簡単な作業で良好にソースコードをデバッグすることができる。しかも、作業者はデータ処理装置３００がデータ出力するソースコードを確認すれば良く、データ出力されるオブジェクトコードからソースコードを確認する煩雑な作業も必要ないので、簡単な作業で良好にソースコードをデバッグすることができる。
【０１０８】
さらに、アレイ型プロセッサ１００が一時停止した状態でデータ処理装置３００に書換指令とともに保持データが入力操作されると、その保持データでアレイ型プロセッサ１００のｍ／ｎｂレジスタファイル１１３，１１４の保持データを書き換えることができるので、この書き換えによりアレイ型プロセッサ１００の動作を検証してソースコードのデバッグに利用することができる。
【０１０９】
なお、このようにデータ処理装置３００への入力操作でアレイ型プロセッサ１００の保持データを書き換える場合も、ソースコードの変数などを利用して保持データを指定すれば、データ処理装置３００がソースコードとオブジェクトコードとの対応関係を参照し、アレイ型プロセッサ１００の対応する保持データを書き換えるので、ソースコードに対応するオブジェクトコードを確認して保持データを入力操作する煩雑な作業が必要ない。
【０１１０】
しかも、アレイ型プロセッサ１００が一時停止した状態でデータ処理装置３００に状態遷移の再開指令がデータ入力されると、このデータ処理装置３００はアレイ型プロセッサ１００の状態遷移を再開させるので、一連のソースコードのデバッグを簡単に継続することができる。
【０１１１】
また、本形態のデータ処理装置３００は、動作記述のオブジェクトコードに停止条件回路１５２のオブジェクトコードを挿入するとき、動作記述のオブジェクトコードにより論理処理回路１５０が構築されない空域部分１５１をデータ検出し、その空域部分１５１に停止条件回路１５２が配置されるように動作記述のオブジェクトコードに停止条件回路１５２のオブジェクトコードを挿入するので、アレイ型プロセッサ１００に停止条件回路１５２を良好に構築することができる。
【０１１２】
しかも、本形態のデータ処理装置３００は、動作記述のソースコードからオブジェクトコードをデータ生成するとき、停止条件回路１５２を挿入できる空域部分１５１が発生するように動作記述のオブジェクトコードをデータ生成するので、アレイ型プロセッサ１００に停止条件回路１５２を良好に構築することができる。
【０１１３】
［実施の形態の変形例］
本発明は本実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で各種の変形を許容する。例えば、上記形態では別体のハードウェアからなるデータ処理装置３００とアレイ型プロセッサ１００とを一体に結線することを例示したが、データ処理装置３００とアレイ型プロセッサ１００とを一体のハードウェアとして形成しておくことも可能である。
【０１１４】
さらに、上記形態ではデータ処理システム２００が実機のデータ処理装置３００と実機のアレイ型プロセッサ１００からなることを例示したが、例えば、エミュレーションプログラムによりデータ処理装置３００に仮想のアレイ型プロセッサ１００を構築することも可能である。
【０１１５】
この場合、仮想のアレイ型プロセッサ１００でソースコードをデバッグしてから、実機のアレイ型プロセッサ１００でもソースコードを検証する必要はあるが、例えば、アレイ型プロセッサ１００の実機の生産や供給が遅滞するときに、事前にエミュレーションプログラムでアレイ型プロセッサ１００のソースコードをデバッグすることが可能である。
【０１１６】
また、上記形態ではデータ処理装置３００に、ソースコードをオブジェクトコードにデータ変換するコンパイラの機能と、ソースコードやオブジェクトコードをデバッグするデバッガの機能と、が一体に実装されていることを例示したが、これらが別体のハードウェアやソフトウェアからなることも可能である。
【０１１７】
その場合でも、コンパイラがソースコードとオブジェクトコードとの対応関係をデータ生成してデバッガにデータ出力する必要があり、デバッガが停止条件回路１５２のオブジェクトコードのデータ生成と挿入をコンパイラに依頼する必要があるので、コンパイラとデバッガとのハードウェアやソフトウェアはリアルタイムにデータ通信して連携動作することが好適である。
【０１１８】
なお、このような場合でも、デバッガが停止条件回路１５２のオブジェクトコードを独自にデータ生成し、コンパイラがデータ生成した動作記述のオブジェクトコードに挿入することも不可能ではない。
【０１１９】
さらに、上記形態ではデータ処理装置３００にコンパイラとデバッグとの機能が実装されており、コンパイラの機能によりアレイ型プロセッサ１００のソースコードをオブジェクトコードにデータ変換することのみ例示した。しかし、このようなコンパイラの機能に、例えば、デバッグモードと本番モードとを切換自在な動作モードとして設定しておき、デバッグと本番とに適切なオブジェクトコードをデータ生成することも可能である。
【０１２０】
例えば、前述のようにデバッグのために空域部分１５１が発生するように動作記述のオブジェクトコードをデータ生成する場合、本番のオブジェクトコードでは空域部分１５１は無駄となる。そこで、上述のようにコンパイラ機能でデバッグモードと本番モードとを切換自在とすることにより、空域部分１５１をデバッグモードでは発生させるが本番モードでは発生させないようなことが可能である。さらに、このようなデバッグ用と本番用とのコンパイラを別個のソフトウェアやハードウェアとして形成し、デバッグ時と本番時とで使い分けることも可能である。
【０１２１】
また、上記形態ではアレイ型プロセッサ１００を所望のときに一時停止させることを例示したが、例えば、オブジェクトコードに対応したアレイ型プロセッサ１００の状態遷移を動作サイクルごとに一時停止させて各種データを出力させ、状態遷移の再開指令がデータ入力されるとアレイ型プロセッサ１００の状態遷移を再開させることも可能である。
【０１２２】
この場合、オブジェクトコードに対応して状態遷移するアレイ型プロセッサ１００の各種データを逐次確認することができ、一時停止するごとにアレイ型プロセッサ１００の保持データを書き換えることもできる。それでいてアレイ型プロセッサ１００の一時停止を迅速に解除できるので、アレイ型プロセッサ１００のオブジェクトコードやソースコードを良好にデバッグすることができる。
【０１２３】
さらに、上記形態ではアレイ型プロセッサ１００に停止条件回路１５２を構築するために空域部分１５１が発生するようにオブジェクトコードを事前にデータ生成しておくことを例示したが、例えば、オブジェクトコードは空域部分１５１が発生しないようにデータ生成しておき、停止条件回路１５２の挿入が必要となったときに論理処理回路１５０の配置を変更して空域部分１５１を生成することも可能である。
【０１２４】
また、動作記述のオブジェクトコードに停止条件回路１５２のオブジェクトコードを挿入してから、一連のオブジェクトコードでアレイ型プロセッサ１００を動作させることを例示したが、アレイ型プロセッサ１００を一時停止させた状態で動作記述のオブジェクトコードに停止条件回路１５２のオブジェクトコードを挿入することも可能である。その場合、状態遷移を一時停止しているアレイ型プロセッサ１００に停止条件回路１５２を追加できるので、アレイ型プロセッサ１００に停止条件を動的に挿入することができる。
【０１２５】
さらに、上記形態では状態管理部１０３で管理される複数段階の動作状態とマトリクス回路部１０５で順次切り換えられる動作サイクルごとのコンテキストとが一対一に対応することを例示したが、本出願人が特開２００３−９９４０９号公報に開示したように、制約条件により複数段階の動作状態から一つのコンテキストに割り付けられる複数を検出し、この検出された複数の動作状態を一つのコンテキストに割り付けることも可能であり、一つのコンテキストに連続しない複数の動作状態を割り付けることも可能である。この場合、オブジェクトコードにデータ設定されるコンテキストの個数を削減することができるので、アレイ型プロセッサ１００のオブジェクトコードを一時保持するコードメモリ１０２の記憶容量を節約することができる。
【０１２６】
例えば、図７に示すように、第１のコンテキストには第１と第５の動作状態が割り付けられ、第２のコンテキストには第２，第３，第６の動作状態が割り付けられ、第３のコンテキストには第４の動作状態が割り付けられた場合、そのオブジェクトコードに対応して動作するアレイ型プロセッサ１００では、第１の動作サイクルでは第１のコンテキストの第１の動作状態のデータ処理が実行される。
【０１２７】
このとき、第５の動作状態の論理処理回路１５０も構築されているが、この第５の動作状態の論理処理回路１５０は第５の動作サイクルでは使用されるが第１の動作サイクルでは使用されない。換言すると、第１の動作サイクルでは第５の動作状態の論理処理回路１５０の構築位置を空域部分１５１として認識し、そこに停止条件回路１５２を形成することも可能である。さらに、利用する論理処理回路１５０が構築されている領域でも、そこから使用しない論理処理回路１５０を検出し、これを空域部分１５１として停止条件回路１５２に置換することも不可能ではない。
【０１２８】
さらに、上記形態では並列演算装置としてマトリクス回路部１０５と状態管理部１０３とが分離されているアレイ型プロセッサ１００を例示したが、これらが分離されていない、いわゆるＦＰＧＡ(Field Programmable Gate Array)やＰＬＤ(Programmable Logic Device)も可能である（図示せず）。ただし、現在市販されているＦＰＧＡやＰＬＤには動作を一時停止する機能が実装されていないので、ソースコードやオブジェクトコードをデバッグするためにＦＰＧＡなどを一時停止させる場合は、そのクロック信号を一時停止させることや、ＦＰＧＡなどにオブジェクトコードにより一時停止機能を論理処理回路１５０として構築することが好適である。
【０１２９】
また、上記形態ではアレイ型プロセッサ１００が複数段階の動作状態を順次遷移させることを状態遷移として例示したが、このような状態遷移の特殊解として一つの動作状態を繰り返すことも可能である。このような場合、データ処理装置３００は繰り返される一つの動作状態を任意のタイミングで一時停止させるので、その動作状態のソースコードをデバッグすることが可能である。
【０１３０】
さらに、上記形態ではソースコードの変数や定数がレジスタファイル１１３，１１４の保持データとして実現されることを例示したが、例えば、このような変数や定数は、レジスタ、ワイヤ、ポート、メモリ、等の各種のハードウェアを利用するように記述されたオブジェクトコードに変換することが可能である。
【０１３１】
また、上記形態では停止入力手段２１８が停止指令と停止条件とのデータ入力を受け付け、停止生成手段２２６が停止条件回路１５２のオブジェクトコードをデータ生成し、停止挿入手段２２７が停止条件回路１５２のオブジェクトコードを動作記述のオブジェクトコードに挿入することを例示した。
【０１３２】
しかし、停止入力手段２１８が、停止指令と停止条件ではない所定データの入力も受け付け、停止生成手段２２６が、所定データに対応してアレイ型プロセッサ１００に所定の機能を付加する機能付加回路（図示せず）のオブジェクトコードをデータ生成し、停止挿入手段２２７が機能付加回路のオブジェクトコードを動作記述のオブジェクトコードに挿入することも可能である。この場合、例えば、一時停止したアレイ型プロセッサ１００に所望の機能を追加するようなことができるので、より良好にデバッグ作業を実行することができる。
【０１３３】
また、上記形態では停止条件のデータ入力に利用されるソースコードの特定部分として変数を例示したが、このようなソースコードの特定部分としては、レジスタ、ワイヤ、ポート、メモリ等に対応したソースプログラムの記述部分でも良く、これらを集合体として扱う配列や構造体や共用体の記述部分でも可能である。
【０１３４】
さらに、上記形態ではデータ処理装置３００に停止条件として条件式がデータ入力されることを例示したが、このような条件式は、一つ以上の条件式の否定や論理和や論理積や排他的論理和からなることも可能である。また、上記形態では一つの条件式が成立したときにアレイ型プロセッサ１００を停止させることを例示したが、例えば、複数の条件が成立したときに停止させることも可能である。
【０１３５】
また、上記形態ではＲＡＭ３０４等に格納されているコンピュータプログラムに対応してＣＰＵ３０１が動作することにより、データ処理装置３００の各種機能として各種手段が論理的に実現されることを例示した。しかし、このような各種手段の各々を固有のハードウェアとして形成することも可能であり、一部をソフトウェアとしてＲＡＭ３０４等に格納するとともに一部をハードウェアとして形成することも可能である。
【図面の簡単な説明】
【０１３６】
【図１】本発明の実施の形態のデータ処理システムの論理構造を示す模式図である。
【図２】データ処理装置の物理構造を示すブロック図である。
【図３】ソースコードの記述内容と並列演算装置であるアレイ型プロセッサのハードウェアとの対応関係を示す模式図である。
【図４】アレイ型プロセッサの物理構造を示すブロック図である。
【図５】ソースプログラムと合成後の状態遷移および行番号対応表と変数対応表を示す模式図である。
【図６】停止条件回路のマトリクス回路部の空き領域への挿入を示す模式図である。
【図７】連続しない複数の動作状態が一つのコンテキストに割り付けられた状態を示す模式図である。
【符号の説明】
【０１３７】
１００    並列演算装置であるアレイ型プロセッサ
１０３    状態管理部
１０７    データ処理回路であるプロセッサエレメント
１０８    配線切換回路であるスイッチエレメント
２００    データ処理システム
２０１    ソース供給手段
２０３    データ入力手段
２１１    ソース入力手段
２１２    条件記憶手段
２１３    オブジェクト生成手段
２１４    オブジェクト出力手段
２１５    動作実行手段
２１７    対応生成手段
２１８    停止入力手段
２１９    装置停止手段
２２１    結果出力手段
２２２    再開入力手段
２２３    動作再開手段
２２５    空域検出手段
２２６    停止生成手段
２２７    停止挿入手段
２２８    書換入力手段
２２９    データ書換手段
３００    データ処理装置
３０１    コンピュータの主体であるＣＰＵ
３０３    情報記憶媒体であるＲＯＭ
３０４    情報記憶媒体であるＲＡＭ
３０５    情報記憶媒体であるＨＤＤ
３０６    情報記憶媒体であるＦＤ
３０８    情報記憶媒体であるＣＤ−ＲＯＭ
１５０    論理処理回路
１５１    空域部分
１５２    停止条件回路
４００    ソースプログラム
４０３    状態遷移
【図１】
0004633073.tif 000002
【図２】
0004633073.tif 000003
【図３】
0004633073.tif 000004
【図４】
0004633073.tif 000005
【図５】
0004633073.tif 000006
【図６】
0004633073.tif 000007
【図７】
0004633073.tif 000008