JP4633073B2 - データ処理システム - Google Patents

データ処理システム Download PDF

Info

Publication number
JP4633073B2
JP4633073B2 JP2007045806A JP2007045806A JP4633073B2 JP 4633073 B2 JP4633073 B2 JP 4633073B2 JP 2007045806 A JP2007045806 A JP 2007045806A JP 2007045806 A JP2007045806 A JP 2007045806A JP 4633073 B2 JP4633073 B2 JP 4633073B2
Authority
JP
Japan
Prior art keywords
data
data processing
code
stop
parallel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007045806A
Other languages
English (en)
Other versions
JP2007179567A (ja
Inventor
弘和 紙
崇雄 戸井
亨 栗島
健一郎 安生
浩一郎 古田
太郎 藤井
真人 本村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Renesas Electronics Corp
Original Assignee
NEC Corp
Renesas Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp, Renesas Electronics Corp filed Critical NEC Corp
Priority to JP2007045806A priority Critical patent/JP4633073B2/ja
Publication of JP2007179567A publication Critical patent/JP2007179567A/ja
Application granted granted Critical
Publication of JP4633073B2 publication Critical patent/JP4633073B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、並列演算装置のソースコードとオブジェクトコードとの少なくとも一方をデバッグするためのデータ処理システムに関する。
現在、各種のデータ処理を自在に実行できるプロセッサユニットとしては、いわゆるCPU(Central Processing Unit)やMPU(Micro Processor Unit)と呼称される製品が実用化されている。
このようなプロセッサユニットを利用したデータ処理システムでは、複数の動作命令が記述された各種のオブジェクトコードと各種の処理データとがメモリデバイスに格納され、プロセッサユニットはメモリデバイスから動作命令や処理データを順番にデータ読出して複数のデータ処理を逐次実行する。
このため、一個のプロセッサユニットで各種のデータ処理を実現できるが、そのデータ処理では複数のデータ処理を順番に逐次実行する必要があり、その逐次処理ごとにプロセッサユニットがメモリデバイスから動作命令をデータ読出する必要があるので、複雑なデータ処理を高速に実行することは困難である。
一方、実行するデータ処理が一つに限定されている場合には、そのデータ処理を実行するように論理回路をハードウェアで形成すれば、プロセッサユニットがメモリデバイスから複数の動作命令を順番にデータ読出して複数のデータ処理を順番に逐次実行するような必要はない。このため、複雑なデータ処理を高速に実行することが可能であるが、当然ながら一つのデータ処理しか実行することができない。
つまり、オブジェクトコードを切換自在としたデータ処理システムでは、各種のデータ処理を実行できるが、ハードウェアの構成が固定されているのでデータ処理を高速に実行することが困難である。一方、ハードウェアからなる論理回路では、データ処理を高速に実行することが可能であるが、オブジェクトコードを変更できないので一つのデータ処理しか実行できない。
このような課題を解決するため、本出願人はソフトウェアに対応してハードウェアの構成が変化するプロセッサユニットとして並列演算装置を創案した。この並列演算装置では、小規模の多数のデータ処理回路と配線切換回路とがマトリクス配列されており、このマトリクス回路部に状態管理部が並設されている。
複数のデータ処理回路は、個々にデータ設定される動作命令に対応してデータ処理を個々に実行し、複数の配線切換回路は、個々にデータ設定される動作命令に対応して複数のデータ処理回路の接続関係を個々に切換制御する。
つまり、並列演算装置は複数のデータ処理回路と複数の配線切換回路との動作命令を切り換えることでハードウェアの構成が変化するので、各種のデータ処理を実行することができ、ハードウェアとして小規模の多数のデータ処理回路が簡単なデータ処理を並列に実行するので、データ処理を高速に実行することができる。
そして、上述のような複数のデータ処理回路と複数の配線切換回路との動作命令からなるコンテキストを状態管理部がオブジェクトコードに対応して動作サイクルごとに順次切り換えるので、並列演算装置はオブジェクトコードに対応して並列処理を連続的に実行することができる(例えば、特許文献1〜6、非特許文献1参照)。
特開2000−138579号 特開2000−224025号 特開2000−232354号 特開2000−232162号 特開2003−76668号 特開2003−99409号 "Introduction to the Configurable, Highly Parallel Computer", Lawrence Snyder著, Purdue University, "IEEE Computer, vol.1 5, No. 1, Jan. 1982, pp. 47-56"
上述のような並列演算装置は、オブジェクトコードに内包されているコンテキストを状態管理部が動作サイクルごとに順次切り換えるので、マトリクス配列されている複数のデータ処理回路と複数の配線切換回路とがコンテキストに対応して動作サイクルごとに並列動作することができる。
しかし、このような並列演算装置は構造と動作との両方が従来のCPUなどとは根本的に相違しているため、そのオブジェクトコードやソースコードを従来の手法で単純にデバッグすることができない。
本発明は上述のような課題に鑑みてなされたものであり、並列演算装置のソースプログラムやオブジェクトコードを良好にデバッグできるデータ処理システムを提供することを目的とする。
本発明のデータ処理システムは、変更自在なデータ処理を個々に実行する複数のデータ処理回路と複数のデータ処理回路の接続関係を切換制御する複数の配線切換回路とがマトリクス配列されている並列演算装置の複数段階の動作状態を動作サイクルごとに順次遷移させる動作記述のソースコードとオブジェクトコードとの少なくとも一方をデバッグするためのデータ処理システムであって、第1のデータ処理システムは、動作実行手段、装置停止手段、結果出力手段、再開入力手段、動作再開手段、を有している。
並列演算装置は状態遷移を一時停止する機能も有しており、動作実行手段は、オブジェクトコードで並列演算装置に状態遷移を実行させる。装置停止手段は、並列演算装置の状態遷移を動作サイクルごとに一時停止させ、結果出力手段は、一時停止した並列演算装置の複数のデータ処理回路の保持データと接続関係と動作命令との少なくとも一部をデータ出力する。再開入力手段は、状態遷移の再開指令がデータ入力され、動作再開手段は、再開指令がデータ入力されると並列演算装置の状態遷移を再開させる。
本発明の第2のデータ処理システムは、動作実行手段、停止入力手段、装置停止手段、結果出力手段、を有している。動作実行手段は、オブジェクトコードで並列演算装置に状態遷移を実行させ、停止入力手段は、並列演算装置の停止指令が特定の動作状態とともにデータ入力される。装置停止手段は、停止指令とともにデータ入力された動作状態のときに並列演算装置の状態遷移を一時停止させ、結果出力手段は、一時停止した並列演算装置の複数のデータ処理回路の保持データと接続関係と動作命令との少なくとも一部をデータ出力する。
本発明の第3のデータ処理システムは、動作実行手段、停止入力手段、装置停止手段、結果出力手段、を有している。動作実行手段は、オブジェクトコードで並列演算装置に状態遷移を実行させ、停止入力手段は、並列演算装置の停止指令が複数のデータ処理回路の少なくとも一部の保持データを使用した停止条件とともにデータ入力される。装置停止手段は、停止条件が成立するときに並列演算装置の状態遷移を一時停止させ、結果出力手段は、一時停止した並列演算装置の複数のデータ処理回路の保持データと接続関係と動作命令との少なくとも一部をデータ出力する。
本発明の第4のデータ処理システムは、ソース入力手段、オブジェクト生成手段、対応生成手段、動作実行手段、停止入力手段、装置停止手段、結果出力手段、を有している。ソース入力手段は、ソースコードがデータ入力され、オブジェクト生成手段は、データ入力されたソースコードから順次遷移する複数段階の動作状態を検出して複数のデータ処理回路と複数の配線切換回路との順次切り換わる動作サイクルごとの動作命令からなる一連のオブジェクトコードをデータ生成する。対応生成手段は、ソースコードとオブジェクトコードとの対応関係をデータ生成し、動作実行手段は、データ生成されたオブジェクトコードで並列演算装置に状態遷移を実行させる。停止入力手段は、並列演算装置の停止指令がソースコードの特定部分を使用した停止条件とともにデータ入力され、装置停止手段は、データ生成された対応関係を参照して停止条件が成立するオブジェクトコードのときに並列演算装置の状態遷移を一時停止させ、結果出力手段は、一時停止した並列演算装置の複数のデータ処理回路の保持データと接続関係と動作命令との少なくとも一部をデータ出力する。
本発明の第5のデータ処理システムは、動作実行手段、停止入力手段、停止生成手段、停止挿入手段、結果出力手段、を有している。動作実行手段は、オブジェクトコードで並列演算装置に状態遷移を実行させ、停止入力手段は、並列演算装置の停止指令が停止条件とともにデータ入力される。停止生成手段は、データ入力された停止条件で状態遷移を一時停止させる停止条件回路として複数のデータ処理回路と配線切換回路との一部を機能させるオブジェクトコードをデータ生成し、停止挿入手段は、データ生成された停止条件回路のオブジェクトコードを動作記述のオブジェクトコードに挿入し、結果出力手段は、一時停止した並列演算装置の複数のデータ処理回路の保持データと接続関係と動作命令との少なくとも一部をデータ出力する。
なお、本発明で云う各種手段は、その機能を実現するように形成されていれば良く、例えば、所定の機能を発揮する専用のハードウェア、所定の機能がコンピュータプログラムにより付与されたデータ処理装置、コンピュータプログラムによりデータ処理装置に実現された所定の機能、これらの組み合わせ、等として実現することができる。
また、本発明で云う各種手段は、かならずしも個々に独立した存在である必要はなく、複数の手段が1個の部材として形成されていること、ある手段が他の手段の一部であること、ある手段の一部と他の手段の一部とが重複していること、等も可能である。
本発明の第1のデータ処理システムでは、オブジェクトコードに対応した並列演算装置の状態遷移を動作サイクルごとに一時停止させて各種データを出力させ、状態遷移の再開指令がデータ入力されると並列演算装置の状態遷移を再開させることにより、オブジェクトコードに対応して状態遷移する並列演算装置の各種データを逐次確認することができ、それでいて並列演算装置の一時停止を迅速に解除できるので、並列演算装置のオブジェクトコードやソースコードを良好にデバッグすることができる。
本発明の第2のデータ処理システムでは、並列演算装置の停止指令が特定の動作状態とともにデータ入力されると、その動作状態のときに並列演算装置の状態遷移を一時停止させて各種データを出力させることにより、所望の動作状態で並列演算装置を一時停止させて各種データを確認することができるので、並列演算装置のオブジェクトコードやソースコードを良好にデバッグすることができる。
本発明の第3のデータ処理システムでは、並列演算装置の停止指令が複数のデータ処理回路の少なくとも一部の保持データを使用した停止条件とともにデータ入力されると、その停止条件が成立するときに並列演算装置の状態遷移を一時停止させて各種データを出力させることにより、所望の停止条件が成立するときに並列演算装置を一時停止させて各種データを確認することができるので、並列演算装置のオブジェクトコードやソースコードを良好にデバッグすることができる。
本発明の第4のデータ処理システムでは、ソースコードからオブジェクトコードをデータ生成するとともに対応関係もデータ生成し、並列演算装置の停止指令がソースコードの特定部分を使用した停止条件とともにデータ入力されると、対応関係を参照して停止条件が成立するオブジェクトコードのときに並列演算装置の状態遷移を一時停止させて各種データを出力させることにより、所望の停止条件が成立するときに並列演算装置を一時停止させて各種データを確認することができるので、並列演算装置のソースコードを良好にデバッグすることができる。
本発明の第5のデータ処理システムでは、並列演算装置の停止指令が停止条件とともにデータ入力されると、その停止条件に対応した停止条件回路のオブジェクトコードをデータ生成して動作記述のオブジェクトコードに挿入し、一時停止した並列演算装置の各種データを出力することにより、所望の停止条件で並列演算装置を一時停止させて各種データを確認することができるので、並列演算装置のオブジェクトコードやソースコードを良好にデバッグすることができる。
本発明の実施の一形態を図面を参照して以下に説明する。ただし、本実施の形態に関して前述した一従来例と同一の部分は、同一の名称を使用して詳細な説明は省略する。
[実施の形態の構成]
本発明の実施の一形態を図面を参照して以下に説明する。まず、本形態の並列演算装置であるアレイ型プロセッサ100は、図3および図4(a)に示すように、オブジェクト入力手段であるI/Fユニット101、コード格納手段であるコードメモリ102、状態管理部103、データ分配部104、マトリクス回路部105、データメモリ106、を有しており、マトリクス回路部105には、複数のデータ処理回路であるプロセッサエレメント107、複数の配線切換回路であるスイッチエレメント108、多数のmbバス109、多数のnbバス110、等がマトリクス配列されている。
また、同図(b)に示すように、プロセッサエレメント107は、インストラクションメモリ111、インストラクションデコーダ112、mb回路資源であるmbレジスタファイル113、nb回路資源であるnbレジスタファイル114、mb回路資源でありmb演算器であるmbALU115、nb回路資源でありnb演算器であるnbALU116、内部配線資源117、等を各々有しており、スイッチエレメント108は、バスコネクタ121、入力制御回路122、出力制御回路123、等を各々有している。
I/Fユニット101は、後述するデータ処理装置300が接続され、このデータ処理装置300から一連のオブジェクトコードが外部入力される。コードメモリ102は、RAM等の情報記憶媒体からなり、外部入力されたオブジェクトコードをデータ記憶する。
このオブジェクトコードは、詳細には後述するが、マトリクス回路部105にマトリクス配列された複数のプロセッサエレメント107と複数のスイッチエレメント108との動作命令が、順次切り換わる動作サイクルごとのコンテキストとしてデータ設定されており、このコンテキストを動作サイクルごとに切り換える状態管理部103の動作命令が、順次遷移する動作状態としてデータ設定されている。
この状態管理部103は、コードメモリ102でデータ記憶された一連のオブジェクトコードから動作サイクルごとにコンテキストをデータ読出し、その動作命令から複数のプロセッサエレメント107と複数のスイッチエレメント108とのインストラクションポインタを各々発生する。
本形態ではスイッチエレメント108のインストラクションメモリが隣接するプロセッサエレメント107のインストラクションメモリ111で兼用されているので、状態管理部103は、発生したプロセッサエレメント107とスイッチエレメント108との一組のインストラクションポインタを対応するプロセッサエレメント107のインストラクションメモリ111に供給する。
このインストラクションメモリ111はプロセッサエレメント107とスイッチエレメント108との複数の動作命令が事前に格納されており、状態管理部103から供給される二つのインストラクションポインタでプロセッサエレメント107とスイッチエレメント108との動作命令が指定される。インストラクションデコーダ112は、インストラクションポインタで指定された動作命令をデコードし、スイッチエレメント108、内部配線資源117、m/nbALU115,116、等の動作を制御する。
mbバス109は“8(ビット)”の処理データであるmbデータを伝送し、nbバス110は“1(ビット)”の処理データであるnbデータを伝送するので、スイッチエレメント108は、インストラクションデコーダ112の動作制御に対応してm/nbバス109,110による複数のプロセッサエレメント107の接続関係を制御する。
より詳細には、スイッチエレメント108のバスコネクタ121は、mbバス109と
nbバス110とが四方から連通しており、このように連通している複数のmbバス10
9の相互の接続関係と連通する複数のnbバス110の相互の接続関係とを制御する。
このため、本形態のアレイ型プロセッサ100は、コードメモリ102にデータ設定されたオブジェクトコードに対応して状態管理部103がマトリクス回路部105のコンテキストを動作サイクルごとに順次切り換え、その段階ごとに複数のプロセッサエレメント107は個々に設定自在なデータ処理で並列動作する。
なお、ここでは説明を簡略化するために各部が平面状に配列されている構造を例示しているが、実際には、上述のm/nbバス109,110とスイッチエレメント108とプロセッサエレメント107とを積層構造で重複させて形成するようなことも可能である。
入力制御回路122は、mbバス109からmbレジスタファイル113やmbALU115へのデータ入力の接続関係と、nbバス110からnbレジスタファイル114やnbALU116へのデータ入力の接続関係とを制御し、出力制御回路123は、mbレジスタファイル113やmbALU115からmbバス109へのデータ出力の接続関係と、nbレジスタファイル114やnbALU116からnbバス110へのデータ出力の接続関係とを制御する。
データ分配部104は、外部入力される一連の処理データをmbデータとnbデータとに分配し、このm/nbデータをスイッチエレメント108により接続関係が制御されたm/nbバス109,110から複数のプロセッサエレメント107の特定の一部に適宜入力する。
このプロセッサエレメント107の内部配線資源117は、インストラクションデコーダ112の動作制御に対応して、プロセッサエレメント107の内部でのmbレジスタファイル113およびmbALU115の接続関係とnbレジスタファイル114およびnbALU116の接続関係とを制御する。
mbレジスタファイル113は、内部配線資源117に制御される接続関係に対応して、mbバス109などから入力されるmbデータを一時保持してmbALU115などに出力する。nbレジスタファイル114は、内部配線資源117に制御される接続関係に対応して、nbバス110などから入力されるnbデータを一時保持してnbALU116などに出力する。
mbALU115は、インストラクションデコーダ112の動作制御に対応したデータ処理をmbデータで実行し、nbALU116は、インストラクションデコーダ112の動作制御に対応したデータ処理をnbデータで実行する。なお、プロセッサエレメント107は、上述のように内蔵されているm/nbレジスタファイル113,114でm/nbデータをデータ読書するが、必要により外部のデータメモリ106でも処理データをデータ読書する。
なお、上述のような構造からなるアレイ型プロセッサ100は、実際には一般的なCPU(図示せず)などと連携して動作することを前提としているため、停止指令の外部入力に対応して状態遷移を一時停止する機能が状態管理部103に実装されており、このように一時停止した状態でもプロセッサエレメント107の保持データなどを外部からデータ読出できる読出配線(図示せず)が形成されている。
本形態のデータ処理システム200は、図1に示すように、アレイ型プロセッサ100、データ処理装置300、ソース供給手段201、等を有している。本形態のデータ処理装置300は、図2に示すように、コンピュータの主体となるハードウェアとしてCPU301を有しており、このCPU301には、バスライン302により、ROM303、RAM304、HDD305、FD306が交換自在に装填されるFDD(FD Drive)307、CD−ROM308が交換自在に装填されるCDドライブ309、キーボード310、マウス311、ディスプレイ312、I/Fユニット313、等のハードウェアが接続されている。
本形態のデータ処理装置300では、ROM303、RAM304、HDD305、交換自在なFD306、交換自在なCD−ROM308、等のハードウェアが情報記憶媒体に相当し、これらの少なくとも一個にCPU301のためのコンピュータプログラムや各種データがソフトウェアとして格納されている。
例えば、CPU301に各種のデータ処理を実行させるコンピュータプログラムは、FD306やCD−ROM308に事前に格納されている。このようなソフトウェアはHDD305に事前にインストールされており、データ処理装置300の起動時にRAM304に複写されてCPU301にデータ読取される。
このようにCPU301が適正なコンピュータプログラムをデータ読取して各種のデータ処理を実行することにより、本形態のデータ処理装置300は、図1に示すように、ソース入力手段211、条件記憶手段212、オブジェクト生成手段213、オブジェクト出力手段214、動作実行手段215、対応生成手段217、停止入力手段218、装置停止手段219、結果出力手段221、再開入力手段222、動作再開手段223、空域検出手段225、停止生成手段226、停止挿入手段227、書換入力手段228、データ書換手段229、等の各種手段を各種機能として論理的に有している。
データ処理システム200のソース供給手段201は、例えば、一連のソースコードが格納されたFD306からなり、そのソースコードをデータ処理装置300のソース入力手段211に供給する。ソースコードは、アレイ型プロセッサ100の複数段階の動作状態を動作サイクルごとに順次遷移させる動作記述からなり、C言語などの高級言語でデータ記述されている。
このようなソースコードは、各所に変数を含んだ演算式および制御構造がデータ記述されている複数行からなり、アレイ型プロセッサ100の順次遷移する動作状態はソースコードの特定の行番号に反映されている。また、アレイ型プロセッサ100のインストラクションメモリ111やm/nbレジスタファイル113,114などでは各種データが一時保持されるので、その保持データは、ソースコードに変数としてデータ記述されている。
例えば、“y=x+123”なる演算のソースコードは、“x”“y”なるm/nbレジスタファイル113,114などの保持データとなる変数、“123”なるm/nbレジスタファイル113,114などの保持データとなる定数、これらのm/nbレジスタファイル113,114などを結線するための命令、等でデータ記述されている。
データ処理装置300のソース入力手段211は、RAM304に格納されているコンピュータプログラムに対応してCPU301がFDD307を動作制御する機能などに相当し、ソース供給手段201からソースコードがデータ入力される。
条件記憶手段212は、上述のコンピュータプログラムに対応してCPU301がデータ認識するHDD305の記憶エリアなどに相当し、アレイ型プロセッサ100の物理構造や物理特性などに対応した各種の制約条件が事前にデータ登録されている。
オブジェクト生成手段213は、CPU301がコンピュータプログラムに対応して所定のデータ処理を実行する機能などに相当し、ソース入力手段211にデータ入力されたソースコードから条件記憶手段212の制約条件により順次遷移する複数段階の動作状態を検出し、アレイ型プロセッサ100の複数のプロセッサエレメント107と複数のスイッチエレメント108との順次切り換わる動作サイクルごとの動作命令からなる一連のオブジェクトコードをデータ生成する。
なお、オブジェクト生成手段213は、前述のようにアレイ型プロセッサ100に状態管理部103とマトリクス回路部105とが別個に形成されているので、この構造を反映した制約条件によりソースコードからオブジェクトコードをデータ生成するとき、図3に示すように、マトリクス回路部105に対応したデータパスと状態管理部103に対応した有限状態マシンとを分離する。
また、オブジェクト生成手段213は多段階の各種処理によりソースコードからオブジェクトコードをデータ生成し、その多段階の各種処理で条件記憶手段212から必要な制約条件を適宜参照するので、この条件記憶手段212にはオブジェクト生成手段213の各種処理に必要充分なデータ内容で各種の制約条件がデータ設定されている。
オブジェクト出力手段214は、CPU301がコンピュータプログラムに対応してI/Fユニット313のデータ出力を制御する機能などに相当し、オブジェクト生成手段213でデータ生成された一連のオブジェクトコードをアレイ型プロセッサ100のI/Fユニット101にデータ入力する。このアレイ型プロセッサ100のI/Fユニット101には、前述のようにコードメモリ102が接続されているので、このコードメモリ102でオブジェクトコードがデータ保持される。
動作実行手段215は、CPU301がコンピュータプログラムに対応して所定のデータ処理を実行する機能などに相当し、例えば、一連の処理データを発生してアレイ型プロセッサ100のデータ分配部104に入力することで、アレイ型プロセッサ100にオブジェクトコードに対応した状態遷移を実行させる。
対応生成手段217も、CPU301が所定のデータ処理を実行する機能などに相当し、ソースコードとオブジェクトコードとの対応関係をデータ生成する。より具体的には、前述のようにアレイ型プロセッサ100の順次遷移する動作状態はソースコードの特定の行番号に反映されており、アレイ型プロセッサ100のm/nbレジスタファイル113,114などの保持データは、ソースコードに変数などとしてデータ記述されている。
このため、データ処理装置300は、前述のようにソースコードをオブジェクトコードにデータ変換するとき、ソースコードの行番号とアレイ型プロセッサ100の動作状態との対応関係をデータ生成するとともに、ソースコードの変数などとアレイ型プロセッサ100のm/nbレジスタファイル113,114などの保持データとの対応関係をデータ生成する。
停止入力手段218は、CPU301がキーボード310の手動操作をデータ検出する機能などに相当し、アレイ型プロセッサ100の停止指令がデータ入力される。この停止指令は単独でもデータ入力されるが、アレイ型プロセッサ100の特定の動作状態に対応したソースコードの行番号や、アレイ型プロセッサ100の特定の保持データに対応したソースコードの変数、作業者の所望により入力操作される定数、等を使用した停止条件とともにもデータ入力される。
例えば、変数や定数を使用した停止条件は、アレイ型プロセッサ100の複数の保持データの保持パターンに対応した複数の変数や定数のパターンデータや、アレイ型プロセッサ100の複数の保持データの相互関係に対応した複数の変数や定数の条件式、などとしてデータ入力される。
装置停止手段219は、CPU301が所定のデータ処理を実行する機能などに相当し、上述のように停止指令がデータ入力されるとアレイ型プロセッサ100の状態遷移を一時停止させる。より詳細には、停止指令が停止条件であるソースコードの行番号とともにデータ入力された場合、ソースコードとオブジェクトコードとの対応関係を参照し、その行番号に対応した動作状態のときにアレイ型プロセッサ100の状態遷移を一時停止させる。
また、停止指令が停止条件としてソースコードの複数の変数などのパターンデータとともにデータ入力された場合、ソースコードとオブジェクトコードとの対応関係を参照し、停止条件の保持パターンの保持データのときにアレイ型プロセッサ100の状態遷移を一時停止させる。
また、停止指令が停止条件としてソースコードの変数などの条件式とともにデータ入力された場合、ソースコードとオブジェクトコードとの対応関係を参照し、停止条件の条件式が成立する保持データのときにアレイ型プロセッサ100の状態遷移を一時停止させる。
結果出力手段221は、CPU301が所定データをディスプレイ312に表示出力させる機能などに相当し、上述のように一時停止したアレイ型プロセッサ100の複数のプロセッサエレメント107の保持データや接続関係や動作命令などをデータ出力するとともに、ソースコードとオブジェクトコードとの対応関係を参照して、アレイ型プロセッサ100が一時停止したときのオブジェクトコードに対応したソースコードの部分もデータ出力する。
再開入力手段222は、CPU301がキーボード310の手動操作をデータ検出する機能などに相当し、状態遷移の再開指令がデータ入力される。動作再開手段223は、CPU301が所定のデータ処理を実行する機能などに相当し、再開指令がデータ入力されるとアレイ型プロセッサ100の状態遷移を再開させる。
以下はCPU301が所定のデータ処理を実行する機能などに相当し、空域検出手段225は、動作記述のオブジェクトコードに対応して動作サイクルごとにアレイ型プロセッサ100にプロセッサエレメント107やスイッチエレメント108で論理処理回路150が形成されるとき、論理処理回路150として利用されないプロセッサエレメント107とスイッチエレメント108からなる空域部分151をデータ検出する。
停止生成手段226は、停止指令とともに前述の停止条件がデータ入力された場合、そのデータ入力された停止条件でアレイ型プロセッサ100の状態遷移を一時停止させる停止条件回路152として、複数のプロセッサエレメント107とスイッチエレメント108との一部を機能させるオブジェクトコードをデータ生成する。
より詳細には、停止生成手段226は、前述のように停止指令がソースコードの行番号や変数などを使用した停止条件とともにデータ入力されると、ソースコードとオブジェクトコードとの対応関係を参照し、データ検出された空域部分151のプロセッサエレメント107とスイッチエレメント108とを停止条件回路152として機能させるオブジェクトコードを、データ入力された停止条件に対応してデータ生成する。
停止挿入手段227は、データ生成された停止条件回路152のオブジェクトコードを動作記述のオブジェクトコードに挿入することにより、コンテキストごとに論理処理回路150が配列されているアレイ型プロセッサ100の空域部分151に停止条件回路152を挿入する。なお、このようにアレイ型プロセッサ100の空域部分151に停止条件回路152を挿入するため、オブジェクト生成手段213は、図5に示すように、事前に停止条件回路152を挿入できる空域部分151が発生するように論理処理回路150のオブジェクトコードをデータ生成する。
また、上述のようなオブジェクトコードによりアレイ型プロセッサ100のマトリクス回路部105に構築される停止条件回路152は、例えば、周囲の論理処理回路150の保持データなどを監視し、その保持データが停止指令とともにデータ入力された所定条件に整合すると、動作停止を状態管理部103に通達するので、この状態管理部103により状態遷移が一時停止される。
書換入力手段228は、CPU301がキーボード310の手動操作をデータ検出する機能などに相当し、一時停止したアレイ型プロセッサ100の複数のm/nbレジスタファイル113,114などの保持データが書換指令とともにデータ入力される。データ書換手段229は、CPU301が所定のデータ処理を実行する機能などに相当し、書換指令とともにデータ入力された保持データで一時停止したアレイ型プロセッサ100の対応するm/nbレジスタファイル113,114などの保持データを書き換える。
なお、このようにデータ処理装置300への入力操作でアレイ型プロセッサ100の保持データを書き換える場合も、ソースコードの変数などを利用して保持データを指定すれば、データ処理装置300がソースコードとオブジェクトコードとの対応関係を参照し、アレイ型プロセッサ100の対応する保持データを書き換える。
上述したデータ処理装置300の各種手段は、必要によりFDD307やI/Fユニット312等のハードウェアを利用して実現されるが、その主体はRAM304等の情報記憶媒体に格納されたソフトウェアに対応して、データ処理装置300のハードウェアであるCPU301が機能することにより実現されている。
このようなソフトウェアは、例えば、アレイ型プロセッサ100の物理構造や物理特性などに対応した各種の制約条件をHDD305などにデータ記憶させる処理、FD306の格納データをFDD107にデータ読出させることなどでアレイ型プロセッサ100の動作記述のソースコードをデータ入力する処理、このデータ入力されたソースコードから制約条件によりアレイ型プロセッサ100のオブジェクトコードをデータ生成する処理、このデータ生成されたオブジェクトコードをI/Fユニット313などからデータ出力する処理、一連の処理データを発生してアレイ型プロセッサ100のデータ分配部104に入力することでアレイ型プロセッサ100にオブジェクトコードに対応した状態遷移を実行させる処理、ソースコードとオブジェクトコードとの対応関係をデータ生成する処理、アレイ型プロセッサ100の停止指令のキーボード310などへのデータ入力を受け付ける処理、停止指令がデータ入力されるとアレイ型プロセッサ100の状態遷移を一時停止させる処理、停止指令がソースコードの行番号を使用した停止条件とともにデータ入力された場合、ソースコードとオブジェクトコードとの対応関係を参照し、その行番号に対応した動作状態のときにアレイ型プロセッサ100の状態遷移を一時停止させる処理、停止指令がソースコードの変数などを使用した停止条件とともにデータ入力された場合、ソースコードとオブジェクトコードとの対応関係を参照し、その停止条件が成立する保持データのときにアレイ型プロセッサ100の状態遷移を一時停止させる処理、アレイ型プロセッサ100から論理処理回路150として利用されないプロセッサエレメント107とスイッチエレメント108からなる空域部分151をデータ検出する処理、データ入力された停止条件でアレイ型プロセッサ100を一時停止させる停止条件回路152として空域部分151のプロセッサエレメント107やスイッチエレメント108を機能させるオブジェクトコードをデータ生成する処理、データ生成された停止条件回路152のオブジェクトコードを動作記述のオブジェクトコードに挿入する処理、一時停止したアレイ型プロセッサ100の複数のプロセッサエレメント107の保持データや接続関係や動作命令などをデータ出力するとともに、ソースコードとオブジェクトコードとの対応関係を参照して、アレイ型プロセッサ100が一時停止したときのオブジェクトコードに対応したソースコードの部分もデータ出力する処理、再開指令のキーボード310などへのデータ入力を受け付ける処理、再開指令がデータ入力されるとアレイ型プロセッサ100の状態遷移を再開させる処理、一時停止したアレイ型プロセッサ100の複数のm/nbレジスタファイル113,114などの保持データと書換指令とのデータ入力を受け付ける処理、書換指令とともにデータ入力された保持データで一時停止したアレイ型プロセッサ100の対応するm/nbレジスタファイル113,114などの保持データを書き換える処理、等のデータ処理をCPU301等に実行させるためのコンピュータプログラムとしてRAM304等の情報記憶媒体に格納されている。
[実施の形態の動作]
上述のような構成において、本形態のデータ処理システム200では、アレイ型プロセッサ100の動作記述のソースコードがソース供給手段201からデータ処理装置300にデータ供給されると、このデータ処理装置300はソースコードをオブジェクトコードに変換してアレイ型プロセッサ100にデータ供給する。
このアレイ型プロセッサ100では、状態管理部103が外部入力されるオブジェクトコードを保持してプロセッサエレメント107ごとのインストラクションポインタを発生し、このインストラクションポインタでプロセッサエレメント107ごとにインストラクションメモリ111に格納されている複数の動作命令から一つが指定される。
この指定された動作命令がインストラクションデコーダ112でデコードされ、スイッチエレメント108による複数のプロセッサエレメント107の接続関係、内部配線資源117によるプロセッサエレメント107の内部での接続関係、m/nbALU115,116のデータ処理、等が制御されるので、これで本形態のアレイ型プロセッサ100は、オブジェクトコードに対応したデータ処理を実行するハードウェアの状態となる。
このような状態で、動作実行手段215から外部入力される一連の処理データがデータ分配部104でmbデータとnbデータとに分配され、上述のように接続関係とデータ処理とが制御された複数のプロセッサエレメント107ごとにmbALU115とnbALU116とでデータ処理される。
本形態のデータ処理システム200では、上述のようにアレイ型プロセッサ100がオブジェクトコードに対応して状態遷移を実行するとき、データ処理装置300にアレイ型プロセッサ100の停止指令がデータ入力されると、この停止指令に対応してアレイ型プロセッサ100の状態遷移が一時停止される。
より詳細には、本形態のデータ処理装置300は、前述のようにソースコードをオブジェクトコードにデータ変換するとき、ソースコードの行番号とアレイ型プロセッサ100の動作状態との対応関係と、ソースコードの変数などとアレイ型プロセッサ100のm/nbレジスタファイル113,114などの保持データとの対応関係も、データ生成する。
そして、アレイ型プロセッサ100が実装されたオブジェクトコードとデータ処理装置300から供給される処理データとに対応して状態遷移を実行するとき、そのデータ処理装置300に停止指令がアレイ型プロセッサ100の特定の動作状態に対応したソースコードの行番号を使用した停止条件とともにデータ入力されると、このデータ処理装置300は、ソースコードとオブジェクトコードとの対応関係を参照し、データ入力された行番号に対応した動作状態のときにアレイ型プロセッサ100の状態遷移を一時停止させる。
その場合、データ処理装置300はアレイ型プロセッサ100の状態管理部103とリアルタイムにデータ通信して動作状態を監視し、特定の動作状態に遷移したときに状態管理部103に停止指令をデータ入力する。アレイ型プロセッサ100は、前述のように一時停止の機能が事前に実装されているので、停止指令がデータ入力された状態管理部103は実行していた状態遷移を一時停止させる。
このような状態で、データ処理装置300は一時停止したアレイ型プロセッサ100から、複数のプロセッサエレメント107の保持データや接続関係や動作命令などをデータ読出してディスプレイ312で表示出力するとともに、一時停止した動作状態に対応したソースコードも表示出力するので、作業者は表示出力された各種データを確認することでソースコードをデバッグすることができる。
なお、一時停止したアレイ型プロセッサ100の各種データを確認した作業者が、データ処理装置300にキーボード310などで状態遷移の再開指令をデータ入力すると、データ処理装置300はアレイ型プロセッサ100の状態管理部103の一時停止を解除して処理データの供給を再開するので、これでアレイ型プロセッサ100の状態遷移が再開される。
また、作業者はデータ処理装置300のキーボード310への入力操作などにより、一時停止したアレイ型プロセッサ100のm/nbレジスタファイル113,114などの保持データを書き換えることもできる。このため、アレイ型プロセッサ100の保持データを一時的に変更して動作を検証するようなことができ、これをソースコードのデバッグに利用することができる。
また、アレイ型プロセッサ100が状態遷移を実行するとき、データ処理装置300に停止指令がソースコードの変数などを使用した停止条件とともにデータ入力されると、このデータ処理装置300は、ソースコードとオブジェクトコードとの対応関係を参照し、その停止条件が成立する保持データのときにアレイ型プロセッサ100の状態遷移を一時停止させる。
その場合、データ処理装置300は動作状態を順次遷移させているアレイ型プロセッサ100の複数のプロセッサエレメント107の保持データをリアルタイムに監視し、その保持データがデータパターンや条件式に対応するときに状態管理部103に停止指令をデータ入力する。
このような状態で、データ処理装置300は一時停止したアレイ型プロセッサ100から各種データを読み出してソースコードとともにディスプレイ312で表示出力するので、作業者はアレイ型プロセッサ100のソースコードをデバッグすることができる。また、この場合も作業者は一時停止したアレイ型プロセッサ100のm/nbレジスタファイル113,114などの保持データを書き換えることができるので、これをソースコードのデバッグに利用することができる。
なお、本形態のデータ処理システム200では、上述のようにデータ処理装置300がアレイ型プロセッサ100の状態遷移をリアルタイムに一時停止させる他、アレイ型プロセッサ100に一時停止を能動的に実行させることもできる。その場合、データ処理装置300に停止指令がソースコードの行番号や変数などを使用した停止条件とともにデータ入力されると、このデータ処理装置300は、ソースコードとオブジェクトコードとの対応関係を参照し、その停止条件でアレイ型プロセッサ100の状態遷移を一時停止させる停止条件回路152のオブジェクトコードをデータ生成して動作記述のオブジェクトコードに挿入する。
なお、データ処理装置300は、動作記述のソースコードからオブジェクトコードをデータ生成するとき、図5に示すように、停止条件回路152を挿入できる空域部分151が発生するように論理処理回路150のオブジェクトコードをデータ生成する。そして、動作記述のオブジェクトコードでアレイ型プロセッサ100に論理処理回路150が構築されない空域部分151をデータ検出し、この空域部分151に停止条件回路152が配置されるように停止条件回路152のオブジェクトコードを動作記述のオブジェクトコードに挿入する。
そこで、データ処理装置300は停止条件回路152のオブジェクトコードが挿入されている動作記述のオブジェクトコードをアレイ型プロセッサ100に供給するので、このアレイ型プロセッサ100は、停止条件回路152のオブジェクトコードが挿入されている動作記述のオブジェクトコードで状態遷移を実行することになる。
すると、アレイ型プロセッサ100に構築された停止条件回路152は周囲に構築された論理処理回路150の動作状態を監視し、それで停止条件が成立すると状態管理部103に停止指令をデータ出力するので、アレイ型プロセッサ100は停止条件に対応した動作状態で自動的に一時停止することになる。
このような状態で、データ処理装置300は一時停止したアレイ型プロセッサ100から各種データを読み出してソースコードとともにディスプレイ312で表示出力するので、作業者はアレイ型プロセッサ100のソースコードをデバッグすることができる。当然ながら、この場合も作業者は一時停止したアレイ型プロセッサ100のm/nbレジスタファイル113,114などの保持データを書き換えることができるので、これをソースコードのデバッグに利用することができる。
より具体的な例として、ソースプログラム400が状態遷移403を持つアレイ型プロセッサ100などのハードウェアに合成され、また行対応表401と変数対応表402がデータ処理装置300からデータ出力されている状態で、作業者が停止条件をデータ入力する場合を、図6を参照して以下に説明する。
ここで例示するソースプログラム400では、変数a,bは入力ポート、変数cは出力ポートに対応しており、変数i,jは関数main内のローカル変数である。データ処理装置300が表示出力する行対応表401より、作業者は状態0が行番号8から合成された状態であることを認識でき、同様に、状態1は行番号8,9,11から、状態2は行番号11,12,14から合成された状態であることを認識できる。
また、変数iはアレイ型プロセッサ100のmbレジスタファイル113などのレジスタREG0で実現され、変数jはnbレジスタファイル114などのレジスタREG1で実現されることが認識される。
例えば、作業者が停止指令とともにソースプログラムの行番号9をデータ処理装置300に入力操作すると、データ処理装置300は、行対応表から状態番号1が対応していることを認識し、アレイ型プロセッサ100を状態番号1の時に停止させる。これは停止指令とともに直接に状態番号1を指定することと等価である。
また、データ処理装置300は、停止指令とともにソースプログラムの行番号が9かつj>=100なる条件式が入力操作されると、行対応表により状態番号1が対応していることを認識するとともに、変数対応表により変数jはREG0に対応していることを認識する。
そして、状態番号が1となるとともにREG0の内容が100以上になると停止信号を出力する停止条件回路152を生成し、アレイ型プロセッサ100の空域部分151を検出して停止条件回路152を書き込む。このような状態でアレイ型プロセッサ100が動作すると、その状態番号が1のときにREG0の内容が100以上になったときに停止条件回路152が状態管理部103に停止信号を通知するので、この状態管理部103がアレイ型プロセッサ100の動作を停止させる。
なお、停止指令や停止条件は複数に設定することも可能である。例えば、データ処理装置300は、上述の停止条件に加え、ソースコードの行番号12かつj>200なる条件式が入力操作されると、1つ目のループでJが100以上になったときと、2つ目のループでjが200より大きくなったときに、アレイ型プロセッサ100を停止させる。また、作業者の所望操作により、データ処理装置300に設定した停止条件を解除することも可能である。
[実施の形態の効果]
本形態のデータ処理装置300は、アレイ型プロセッサ100の停止指令が特定の動作状態とともにデータ入力されると、その動作状態のときにアレイ型プロセッサ100の状態遷移を一時停止させて各種データを出力させる。このため、所望の動作状態でアレイ型プロセッサ100を一時停止させて各種データを確認することができるので、作業者はアレイ型プロセッサ100のオブジェクトコードやソースコードを良好にデバッグすることができる。
また、アレイ型プロセッサ100の停止指令が特定のプロセッサエレメント107の保持データを使用した停止条件とともにデータ入力されると、その停止条件が成立する保持データのときにアレイ型プロセッサ100の状態遷移を一時停止させて各種データを出力させる。このため、所望の停止条件が成立するときにアレイ型プロセッサ100を一時停止させて各種データを確認することができるので、作業者はアレイ型プロセッサ100のオブジェクトコードやソースコードを良好にデバッグすることができる。
さらに、本形態のデータ処理装置300は、アレイ型プロセッサ100の動作状態や保持データをリアルタイムに監視して状態遷移を一時停止させる他、動作状態や保持データに対応した停止条件回路152のオブジェクトコードをデータ生成して動作記述のオブジェクトコードに挿入する。このため、アレイ型プロセッサ100は所望の停止条が成立するときに能動的に状態遷移を一時停止することができるので、作業者はアレイ型プロセッサ100のオブジェクトコードやソースコードを良好にデバッグすることができる。
しかも、本形態のデータ処理装置300は、アレイ型プロセッサ100のソースコードからオブジェクトコードをデータ生成するとともに、そのソースコードとオブジェクトコードとの対応関係もデータ生成する。このため、上述の動作状態や保持データを使用した停止条件を、ソースコードの行番号や変数などを使用した停止条件としてデータ処理装置300にデータ入力すれば、対応関係を参照して自動的に適切なときにアレイ型プロセッサ100を一時停止させることができる。
従って、作業者はデータ処理装置300にソースコードを使用して停止条件をデータ入力すれば良く、ソースコードに対応するオブジェクトコードを確認して停止条件を作成する煩雑な作業が必要ないので、簡単な作業で良好にソースコードをデバッグすることができる。しかも、作業者はデータ処理装置300がデータ出力するソースコードを確認すれば良く、データ出力されるオブジェクトコードからソースコードを確認する煩雑な作業も必要ないので、簡単な作業で良好にソースコードをデバッグすることができる。
さらに、アレイ型プロセッサ100が一時停止した状態でデータ処理装置300に書換指令とともに保持データが入力操作されると、その保持データでアレイ型プロセッサ100のm/nbレジスタファイル113,114の保持データを書き換えることができるので、この書き換えによりアレイ型プロセッサ100の動作を検証してソースコードのデバッグに利用することができる。
なお、このようにデータ処理装置300への入力操作でアレイ型プロセッサ100の保持データを書き換える場合も、ソースコードの変数などを利用して保持データを指定すれば、データ処理装置300がソースコードとオブジェクトコードとの対応関係を参照し、アレイ型プロセッサ100の対応する保持データを書き換えるので、ソースコードに対応するオブジェクトコードを確認して保持データを入力操作する煩雑な作業が必要ない。
しかも、アレイ型プロセッサ100が一時停止した状態でデータ処理装置300に状態遷移の再開指令がデータ入力されると、このデータ処理装置300はアレイ型プロセッサ100の状態遷移を再開させるので、一連のソースコードのデバッグを簡単に継続することができる。
また、本形態のデータ処理装置300は、動作記述のオブジェクトコードに停止条件回路152のオブジェクトコードを挿入するとき、動作記述のオブジェクトコードにより論理処理回路150が構築されない空域部分151をデータ検出し、その空域部分151に停止条件回路152が配置されるように動作記述のオブジェクトコードに停止条件回路152のオブジェクトコードを挿入するので、アレイ型プロセッサ100に停止条件回路152を良好に構築することができる。
しかも、本形態のデータ処理装置300は、動作記述のソースコードからオブジェクトコードをデータ生成するとき、停止条件回路152を挿入できる空域部分151が発生するように動作記述のオブジェクトコードをデータ生成するので、アレイ型プロセッサ100に停止条件回路152を良好に構築することができる。
[実施の形態の変形例]
本発明は本実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で各種の変形を許容する。例えば、上記形態では別体のハードウェアからなるデータ処理装置300とアレイ型プロセッサ100とを一体に結線することを例示したが、データ処理装置300とアレイ型プロセッサ100とを一体のハードウェアとして形成しておくことも可能である。
さらに、上記形態ではデータ処理システム200が実機のデータ処理装置300と実機のアレイ型プロセッサ100からなることを例示したが、例えば、エミュレーションプログラムによりデータ処理装置300に仮想のアレイ型プロセッサ100を構築することも可能である。
この場合、仮想のアレイ型プロセッサ100でソースコードをデバッグしてから、実機のアレイ型プロセッサ100でもソースコードを検証する必要はあるが、例えば、アレイ型プロセッサ100の実機の生産や供給が遅滞するときに、事前にエミュレーションプログラムでアレイ型プロセッサ100のソースコードをデバッグすることが可能である。
また、上記形態ではデータ処理装置300に、ソースコードをオブジェクトコードにデータ変換するコンパイラの機能と、ソースコードやオブジェクトコードをデバッグするデバッガの機能と、が一体に実装されていることを例示したが、これらが別体のハードウェアやソフトウェアからなることも可能である。
その場合でも、コンパイラがソースコードとオブジェクトコードとの対応関係をデータ生成してデバッガにデータ出力する必要があり、デバッガが停止条件回路152のオブジェクトコードのデータ生成と挿入をコンパイラに依頼する必要があるので、コンパイラとデバッガとのハードウェアやソフトウェアはリアルタイムにデータ通信して連携動作することが好適である。
なお、このような場合でも、デバッガが停止条件回路152のオブジェクトコードを独自にデータ生成し、コンパイラがデータ生成した動作記述のオブジェクトコードに挿入することも不可能ではない。
さらに、上記形態ではデータ処理装置300にコンパイラとデバッグとの機能が実装されており、コンパイラの機能によりアレイ型プロセッサ100のソースコードをオブジェクトコードにデータ変換することのみ例示した。しかし、このようなコンパイラの機能に、例えば、デバッグモードと本番モードとを切換自在な動作モードとして設定しておき、デバッグと本番とに適切なオブジェクトコードをデータ生成することも可能である。
例えば、前述のようにデバッグのために空域部分151が発生するように動作記述のオブジェクトコードをデータ生成する場合、本番のオブジェクトコードでは空域部分151は無駄となる。そこで、上述のようにコンパイラ機能でデバッグモードと本番モードとを切換自在とすることにより、空域部分151をデバッグモードでは発生させるが本番モードでは発生させないようなことが可能である。さらに、このようなデバッグ用と本番用とのコンパイラを別個のソフトウェアやハードウェアとして形成し、デバッグ時と本番時とで使い分けることも可能である。
また、上記形態ではアレイ型プロセッサ100を所望のときに一時停止させることを例示したが、例えば、オブジェクトコードに対応したアレイ型プロセッサ100の状態遷移を動作サイクルごとに一時停止させて各種データを出力させ、状態遷移の再開指令がデータ入力されるとアレイ型プロセッサ100の状態遷移を再開させることも可能である。
この場合、オブジェクトコードに対応して状態遷移するアレイ型プロセッサ100の各種データを逐次確認することができ、一時停止するごとにアレイ型プロセッサ100の保持データを書き換えることもできる。それでいてアレイ型プロセッサ100の一時停止を迅速に解除できるので、アレイ型プロセッサ100のオブジェクトコードやソースコードを良好にデバッグすることができる。
さらに、上記形態ではアレイ型プロセッサ100に停止条件回路152を構築するために空域部分151が発生するようにオブジェクトコードを事前にデータ生成しておくことを例示したが、例えば、オブジェクトコードは空域部分151が発生しないようにデータ生成しておき、停止条件回路152の挿入が必要となったときに論理処理回路150の配置を変更して空域部分151を生成することも可能である。
また、動作記述のオブジェクトコードに停止条件回路152のオブジェクトコードを挿入してから、一連のオブジェクトコードでアレイ型プロセッサ100を動作させることを例示したが、アレイ型プロセッサ100を一時停止させた状態で動作記述のオブジェクトコードに停止条件回路152のオブジェクトコードを挿入することも可能である。その場合、状態遷移を一時停止しているアレイ型プロセッサ100に停止条件回路152を追加できるので、アレイ型プロセッサ100に停止条件を動的に挿入することができる。
さらに、上記形態では状態管理部103で管理される複数段階の動作状態とマトリクス回路部105で順次切り換えられる動作サイクルごとのコンテキストとが一対一に対応することを例示したが、本出願人が特開2003−99409号公報に開示したように、制約条件により複数段階の動作状態から一つのコンテキストに割り付けられる複数を検出し、この検出された複数の動作状態を一つのコンテキストに割り付けることも可能であり、一つのコンテキストに連続しない複数の動作状態を割り付けることも可能である。この場合、オブジェクトコードにデータ設定されるコンテキストの個数を削減することができるので、アレイ型プロセッサ100のオブジェクトコードを一時保持するコードメモリ102の記憶容量を節約することができる。
例えば、図7に示すように、第1のコンテキストには第1と第5の動作状態が割り付けられ、第2のコンテキストには第2,第3,第6の動作状態が割り付けられ、第3のコンテキストには第4の動作状態が割り付けられた場合、そのオブジェクトコードに対応して動作するアレイ型プロセッサ100では、第1の動作サイクルでは第1のコンテキストの第1の動作状態のデータ処理が実行される。
このとき、第5の動作状態の論理処理回路150も構築されているが、この第5の動作状態の論理処理回路150は第5の動作サイクルでは使用されるが第1の動作サイクルでは使用されない。換言すると、第1の動作サイクルでは第5の動作状態の論理処理回路150の構築位置を空域部分151として認識し、そこに停止条件回路152を形成することも可能である。さらに、利用する論理処理回路150が構築されている領域でも、そこから使用しない論理処理回路150を検出し、これを空域部分151として停止条件回路152に置換することも不可能ではない。
さらに、上記形態では並列演算装置としてマトリクス回路部105と状態管理部103とが分離されているアレイ型プロセッサ100を例示したが、これらが分離されていない、いわゆるFPGA(Field Programmable Gate Array)やPLD(Programmable Logic Device)も可能である(図示せず)。ただし、現在市販されているFPGAやPLDには動作を一時停止する機能が実装されていないので、ソースコードやオブジェクトコードをデバッグするためにFPGAなどを一時停止させる場合は、そのクロック信号を一時停止させることや、FPGAなどにオブジェクトコードにより一時停止機能を論理処理回路150として構築することが好適である。
また、上記形態ではアレイ型プロセッサ100が複数段階の動作状態を順次遷移させることを状態遷移として例示したが、このような状態遷移の特殊解として一つの動作状態を繰り返すことも可能である。このような場合、データ処理装置300は繰り返される一つの動作状態を任意のタイミングで一時停止させるので、その動作状態のソースコードをデバッグすることが可能である。
さらに、上記形態ではソースコードの変数や定数がレジスタファイル113,114の保持データとして実現されることを例示したが、例えば、このような変数や定数は、レジスタ、ワイヤ、ポート、メモリ、等の各種のハードウェアを利用するように記述されたオブジェクトコードに変換することが可能である。
また、上記形態では停止入力手段218が停止指令と停止条件とのデータ入力を受け付け、停止生成手段226が停止条件回路152のオブジェクトコードをデータ生成し、停止挿入手段227が停止条件回路152のオブジェクトコードを動作記述のオブジェクトコードに挿入することを例示した。
しかし、停止入力手段218が、停止指令と停止条件ではない所定データの入力も受け付け、停止生成手段226が、所定データに対応してアレイ型プロセッサ100に所定の機能を付加する機能付加回路(図示せず)のオブジェクトコードをデータ生成し、停止挿入手段227が機能付加回路のオブジェクトコードを動作記述のオブジェクトコードに挿入することも可能である。この場合、例えば、一時停止したアレイ型プロセッサ100に所望の機能を追加するようなことができるので、より良好にデバッグ作業を実行することができる。
また、上記形態では停止条件のデータ入力に利用されるソースコードの特定部分として変数を例示したが、このようなソースコードの特定部分としては、レジスタ、ワイヤ、ポート、メモリ等に対応したソースプログラムの記述部分でも良く、これらを集合体として扱う配列や構造体や共用体の記述部分でも可能である。
さらに、上記形態ではデータ処理装置300に停止条件として条件式がデータ入力されることを例示したが、このような条件式は、一つ以上の条件式の否定や論理和や論理積や排他的論理和からなることも可能である。また、上記形態では一つの条件式が成立したときにアレイ型プロセッサ100を停止させることを例示したが、例えば、複数の条件が成立したときに停止させることも可能である。
また、上記形態ではRAM304等に格納されているコンピュータプログラムに対応してCPU301が動作することにより、データ処理装置300の各種機能として各種手段が論理的に実現されることを例示した。しかし、このような各種手段の各々を固有のハードウェアとして形成することも可能であり、一部をソフトウェアとしてRAM304等に格納するとともに一部をハードウェアとして形成することも可能である。
本発明の実施の形態のデータ処理システムの論理構造を示す模式図である。 データ処理装置の物理構造を示すブロック図である。 ソースコードの記述内容と並列演算装置であるアレイ型プロセッサのハードウェアとの対応関係を示す模式図である。 アレイ型プロセッサの物理構造を示すブロック図である。 ソースプログラムと合成後の状態遷移および行番号対応表と変数対応表を示す模式図である。 停止条件回路のマトリクス回路部の空き領域への挿入を示す模式図である。 連続しない複数の動作状態が一つのコンテキストに割り付けられた状態を示す模式図である。
符号の説明
100 並列演算装置であるアレイ型プロセッサ
103 状態管理部
107 データ処理回路であるプロセッサエレメント
108 配線切換回路であるスイッチエレメント
200 データ処理システム
201 ソース供給手段
203 データ入力手段
211 ソース入力手段
212 条件記憶手段
213 オブジェクト生成手段
214 オブジェクト出力手段
215 動作実行手段
217 対応生成手段
218 停止入力手段
219 装置停止手段
221 結果出力手段
222 再開入力手段
223 動作再開手段
225 空域検出手段
226 停止生成手段
227 停止挿入手段
228 書換入力手段
229 データ書換手段
300 データ処理装置
301 コンピュータの主体であるCPU
303 情報記憶媒体であるROM
304 情報記憶媒体であるRAM
305 情報記憶媒体であるHDD
306 情報記憶媒体であるFD
308 情報記憶媒体であるCD−ROM
150 論理処理回路
151 空域部分
152 停止条件回路
400 ソースプログラム
403 状態遷移

Claims (32)

  1. 変更自在なデータ処理を個々に実行する複数のデータ処理回路と複数の前記データ処理回路の接続関係を切換制御する複数の配線切換回路とがマトリクス配列されている並列演算装置の複数段階の動作状態を動作サイクルごとに順次遷移させる動作記述のソースコードとオブジェクトコードとの少なくとも一方をデバッグするためのデータ処理システムであって、
    前記並列演算装置が前記状態遷移を一時停止する機能も有しており、
    前記オブジェクトコードで前記並列演算装置に状態遷移を実行させる動作実行手段と、
    前記並列演算装置の前記状態遷移を前記動作サイクルごとに一時停止させる装置停止手段と、
    一時停止した前記並列演算装置の複数の前記データ処理回路の保持データをデータ出力する結果出力手段と、
    前記状態遷移の再開指令がデータ入力される再開入力手段と、
    前記再開指令がデータ入力されると前記動作実行手段に前記状態遷移を再開させる動作再開手段と、
    前記ソースコードがデータ入力されるソース入力手段と、
    データ入力された前記ソースコードから、順次遷移する複数段階の動作状態を示す番号を検出して、複数の前記データ処理回路と複数の前記配線切換回路との順次切り換わる動作サイクルごとの前記動作命令からなる一連のオブジェクトコードをデータ生成するオブジェクト生成手段と、
    前記ソースコードに含まれる各コードと前記オブジェクトコードに含まれる各コードとの対応関係をデータ生成する対応生成手段と、
    を有し
    前記結果出力手段は、データ生成された前記対応関係を参照して前記並列演算装置が一時停止したときの前記オブジェクトコードに対応した前記ソースコードの部分をデータ出力し、
    前記並列演算装置は、複数の前記データ処理回路と複数の前記配線切換回路とがマトリクス配列されているマトリクス回路部と、前記マトリクス回路部の動作命令を動作サイクルごとに順次切り換える状態管理部と、を別個に有しており、
    前記オブジェクト生成手段は、前記ソースコードから前記オブジェクトコードをデータ生成するときに、前記マトリクス回路部に対応したデータパスの動作を記述する部分と前記状態管理部に対応した有限状態マシンの動作を記述する部分とを分離する、データ処理システム。
  2. 変更自在なデータ処理を個々に実行する複数のデータ処理回路と複数の前記データ処理回路の接続関係を切換制御する複数の配線切換回路とがマトリクス配列されている並列演算装置の複数段階の動作状態を動作サイクルごとに順次遷移させる動作記述のソースコードとオブジェクトコードとの少なくとも一方をデバッグするためのデータ処理システムであって、
    前記オブジェクトコードで前記並列演算装置に状態遷移を実行させる動作実行手段と、
    前記並列演算装置の停止指令が特定の前記動作状態を示す番号とともにデータ入力される停止入力手段と、
    前記停止指令とともにデータ入力された番号に対応する前記動作状態のときに前記並列演算装置の前記状態遷移を一時停止させる装置停止手段と、
    一時停止した前記並列演算装置の複数の前記データ処理回路の保持データをデータ出力する結果出力手段と、
    前記ソースコードがデータ入力されるソース入力手段と、
    データ入力された前記ソースコードから、順次遷移する複数段階の動作状態を示す番号を検出して、複数の前記データ処理回路と複数の前記配線切換回路との順次切り換わる動作サイクルごとの前記動作命令からなる一連のオブジェクトコードをデータ生成するオブジェクト生成手段と、
    前記ソースコードに含まれる各コードと前記オブジェクトコードに含まれる各コードとの対応関係をデータ生成する対応生成手段と、
    を有し
    前記結果出力手段は、データ生成された前記対応関係を参照して前記並列演算装置が一時停止したときの前記オブジェクトコードに対応した前記ソースコードの部分をデータ出力し、
    前記並列演算装置は、複数の前記データ処理回路と複数の前記配線切換回路とがマトリクス配列されているマトリクス回路部と、前記マトリクス回路部の動作命令を動作サイクルごとに順次切り換える状態管理部と、を別個に有しており、
    前記オブジェクト生成手段は、前記ソースコードから前記オブジェクトコードをデータ生成するときに、前記マトリクス回路部に対応したデータパスの動作を記述する部分と前記状態管理部に対応した有限状態マシンの動作を記述する部分とを分離する、データ処理システム。
  3. 変更自在なデータ処理を個々に実行する複数のデータ処理回路と複数の前記データ処理回路の接続関係を切換制御する複数の配線切換回路とがマトリクス配列されている並列演算装置の複数段階の動作状態を動作サイクルごとに順次遷移させる動作記述のソースコードとオブジェクトコードとの少なくとも一方をデバッグするためのデータ処理システムであって、
    前記オブジェクトコードで前記並列演算装置に状態遷移を実行させる動作実行手段と、
    前記並列演算装置の停止指令が複数の前記データ処理回路の少なくとも一部の保持データを使用した停止条件とともにデータ入力される停止入力手段と、
    前記停止条件が成立するときに前記並列演算装置の前記状態遷移を一時停止させる装置停止手段と、
    一時停止した前記並列演算装置の複数の前記データ処理回路の保持データをデータ出力する結果出力手段と、
    前記ソースコードがデータ入力されるソース入力手段と、
    データ入力された前記ソースコードから、順次遷移する複数段階の動作状態を示す番号を検出して、複数の前記データ処理回路と複数の前記配線切換回路との順次切り換わる動作サイクルごとの前記動作命令からなる一連のオブジェクトコードをデータ生成するオブジェクト生成手段と、
    前記ソースコードに含まれる各コードと前記オブジェクトコードに含まれる各コードとの対応関係をデータ生成する対応生成手段と、
    を有し
    前記結果出力手段は、データ生成された前記対応関係を参照して前記並列演算装置が一時停止したときの前記オブジェクトコードに対応した前記ソースコードの部分をデータ出力し、
    前記並列演算装置は、複数の前記データ処理回路と複数の前記配線切換回路とがマトリクス配列されているマトリクス回路部と、前記マトリクス回路部の動作命令を動作サイクルごとに順次切り換える状態管理部と、を別個に有しており、
    前記オブジェクト生成手段は、前記ソースコードから前記オブジェクトコードをデータ生成するときに、前記マトリクス回路部に対応したデータパスの動作を記述する部分と前記状態管理部に対応した有限状態マシンの動作を記述する部分とを分離する、データ処理システム。
  4. 変更自在なデータ処理を個々に実行する複数のデータ処理回路と複数の前記データ処理回路の接続関係を切換制御する複数の配線切換回路とがマトリクス配列されている並列演算装置の複数段階の動作状態を動作サイクルごとに順次遷移させる動作記述のソースコードとオブジェクトコードとの少なくとも一方をデバッグするためのデータ処理システムであって、
    前記ソースコードがデータ入力されるソース入力手段と、
    データ入力された前記ソースコードから順次遷移する複数段階の動作状態を示す番号を検出して複数の前記データ処理回路と複数の前記配線切換回路との順次切り換わる動作サイクルごとの前記動作命令からなる一連のオブジェクトコードをデータ生成するオブジェクト生成手段と、
    前記ソースコードに含まれる各コードと前記オブジェクトコードに含まれる各コードとの対応関係をデータ生成する対応生成手段と、
    データ生成された前記オブジェクトコードで前記並列演算装置に状態遷移を実行させる動作実行手段と、
    前記並列演算装置の停止指令が前記ソースコードの特定部分を使用した停止条件とともにデータ入力される停止入力手段と、
    データ生成された前記対応関係を参照して前記停止条件が成立する前記オブジェクトコードのときに前記並列演算装置の前記状態遷移を一時停止させる装置停止手段と、
    一時停止した前記並列演算装置の複数の前記データ処理回路の保持データをデータ出力する結果出力手段と、
    を有し
    前記並列演算装置は、複数の前記データ処理回路と複数の前記配線切換回路とがマトリクス配列されているマトリクス回路部と、前記マトリクス回路部の動作命令を動作サイクルごとに順次切り換える状態管理部と、を別個に有しており、
    前記オブジェクト生成手段は、前記ソースコードから前記オブジェクトコードをデータ生成するときに、前記マトリクス回路部に対応したデータパスの動作を記述する部分と前記状態管理部に対応した有限状態マシンの動作を記述する部分とを分離する、データ処理システム。
  5. 変更自在なデータ処理を個々に実行する複数のデータ処理回路と複数の前記データ処理回路の接続関係を切換制御する複数の配線切換回路とがマトリクス配列されている並列演算装置の複数段階の動作状態を動作サイクルごとに順次遷移させる動作記述のソースコードとオブジェクトコードとの少なくとも一方をデバッグするためのデータ処理システムであって、
    前記オブジェクトコードで前記並列演算装置に状態遷移を実行させる動作実行手段と、
    前記並列演算装置の停止指令が停止条件とともにデータ入力される停止入力手段と、
    データ入力された前記停止条件で前記状態遷移を一時停止させる停止条件回路として複数の前記データ処理回路と前記配線切換回路との一部を機能させるオブジェクトコードをデータ生成する停止生成手段と、
    データ生成された前記停止条件回路のオブジェクトコードを前記動作記述のオブジェクトコードに挿入する停止挿入手段と、
    一時停止した前記並列演算装置の複数の前記データ処理回路の保持データをデータ出力する結果出力手段と、
    前記ソースコードがデータ入力されるソース入力手段と、
    データ入力された前記ソースコードから、順次遷移する複数段階の動作状態を示す番号を検出して、複数の前記データ処理回路と複数の前記配線切換回路との順次切り換わる動作サイクルごとの前記動作命令からなる一連のオブジェクトコードをデータ生成するオブジェクト生成手段と、
    前記ソースコードに含まれる各コードと前記オブジェクトコードに含まれる各コードとの対応関係をデータ生成する対応生成手段と、
    を有し
    前記結果出力手段は、データ生成された前記対応関係を参照して前記並列演算装置が一時停止したときの前記オブジェクトコードに対応した前記ソースコードの部分をデータ出力し、
    前記並列演算装置は、複数の前記データ処理回路と複数の前記配線切換回路とがマトリクス配列されているマトリクス回路部と、前記マトリクス回路部の動作命令を動作サイクルごとに順次切り換える状態管理部と、を別個に有しており、
    前記オブジェクト生成手段は、前記ソースコードから前記オブジェクトコードをデータ生成するときに、前記マトリクス回路部に対応したデータパスの動作を記述する部分と前記状態管理部に対応した有限状態マシンの動作を記述する部分とを分離する、データ処理システム。
  6. 前記停止入力手段は、所定データの入力も受け付け、
    前記停止生成手段は、前記所定データに対応して前記並列演算装置に所定の機能を付加する機能付加回路として複数の前記データ処理回路と前記配線切換回路との一部を機能させるオブジェクトコードもデータ生成し、
    前記停止挿入手段は、データ生成された前記機能付加回路のオブジェクトコードを前記動作記述のオブジェクトコードに挿入する、請求項5に記載のデータ処理システム。
  7. 前記停止挿入手段は、一時停止した前記並列演算装置で実現されている前記動作記述のオブジェクトコードに前記停止条件回路のオブジェクトコードを挿入する、請求項5または6に記載のデータ処理システム。
  8. 前記停止入力手段は、前記並列演算装置が一時停止している状態で前記停止指令と停止条件のデータ入力を受け付け、
    前記停止生成手段は、前記並列演算装置が一時停止している状態で前記停止条件回路のオブジェクトコードをデータ生成する、請求項7に記載のデータ処理システム。
  9. 前記ソースコードがデータ入力されるソース入力手段と、
    データ入力された前記ソースコードから順次遷移する複数段階の動作状態を示す番号を検出して複数の前記データ処理回路と複数の前記配線切換回路との順次切り換わる動作サイクルごとの前記動作命令からなる一連のオブジェクトコードをデータ生成するオブジェクト生成手段と、
    前記ソースコードに含まれる各コードと前記オブジェクトコードに含まれる各コードとの対応関係をデータ生成する対応生成手段と、
    を有しており、
    前記停止入力手段は、前記動作状態として前記ソースコードの行番号がデータ入力され、
    前記装置停止手段は、前記対応関係を参照してデータ入力された前記行番号に対応する前記動作状態のときに前記並列演算装置の前記状態遷移を一時停止させる、請求項2に記載のデータ処理システム。
  10. 前記ソースコードがデータ入力されるソース入力手段と、
    データ入力された前記ソースコードから順次遷移する複数段階の動作状態を示す番号を検出して複数の前記データ処理回路と複数の前記配線切換回路との順次切り換わる動作サイクルごとの前記動作命令からなる一連のオブジェクトコードをデータ生成するオブジェクト生成手段と、
    前記ソースコードに含まれる各コードと前記オブジェクトコードに含まれる各コードとの対応関係をデータ生成する対応生成手段と、
    を有しており、
    前記停止入力手段は、前記保持データとして前記ソースコードの変数を使用した停止条件がデータ入力され、
    前記装置停止手段は、前記対応関係を参照して前記停止条件が成立する保持データのときに前記並列演算装置の前記状態遷移を一時停止させる、請求項3に記載のデータ処理システム。
  11. 前記ソース入力手段は、各所に変数がデータ記述されている複数行の前記ソースコードがデータ入力され、
    前記対応生成手段は、前記ソースコードの特定部分として前記変数と前記行番号と前記オブジェクトコードの特定部分との対応関係をデータ生成し、
    前記停止入力手段は、前記ソースコードの特定部分として前記変数と前記行番号との少なくとも一つを使用した停止条件がデータ入力され、
    前記装置停止手段は、前記対応関係を参照して前記停止条件が成立する前記オブジェクトコードのときに前記並列演算装置の前記状態遷移を一時停止させる、請求項4に記載のデータ処理システム。
  12. 前記ソースコードがデータ入力されるソース入力手段と、
    データ入力された前記ソースコードから順次遷移する複数段階の動作状態を示す番号を検出して複数の前記データ処理回路と複数の前記配線切換回路との順次切り換わる動作サイクルごとの前記動作命令からなる一連のオブジェクトコードをデータ生成するオブジェクト生成手段と、
    前記ソースコードに含まれる各コードと前記オブジェクトコードに含まれる各コードとの対応関係をデータ生成する対応生成手段と、
    を有しており、
    前記停止入力手段は、前記並列演算装置の停止指令とともに前記ソースコードの特定部分を使用した停止条件がデータ入力され、
    前記停止生成手段は、前記対応関係を参照して前記停止条件に対応した前記停止条件回路のオブジェクトコードをデータ生成し、
    前記停止挿入手段は、データ生成された前記停止条件回路のオブジェクトコードを前記動作記述のオブジェクトコードに前記対応関係を参照して挿入する、請求項5乃至8のいずれか1項に記載のデータ処理システム。
  13. 前記並列演算装置は、複数の前記データ処理回路と複数の前記配線切換回路とがマトリクス配列されているマトリクス回路部と、前記マトリクス回路部の動作命令を動作サイクルごとに順次切り換える状態管理部と、を別個に有しており、
    複数の前記データ処理回路は、個々にデータ設定される動作命令に対応して前記データ処理を個々に実行し、
    複数の前記配線切換回路は、個々にデータ設定される動作命令に対応して複数の前記データ処理回路の接続関係を個々に切換制御する請求項1乃至12のいずれか1項に記載のデータ処理システム。
  14. 変更自在なデータ処理を個々に実行する複数のデータ処理回路と複数の前記データ処理回路の接続関係を切換制御する複数の配線切換回路とがマトリクス配列されている並列演算装置の複数段階の動作状態を動作サイクルごとに順次遷移させる動作記述のソースコードとオブジェクトコードとの少なくとも一方をデバッグするためのデータ処理システムであって、
    前記並列演算装置が前記状態遷移を一時停止する機能も有しており、
    前記オブジェクトコードで前記並列演算装置に状態遷移を実行させる動作実行手段と、
    前記並列演算装置の前記状態遷移を前記動作サイクルごとに一時停止させる装置停止手段と、
    一時停止した前記並列演算装置の複数の前記データ処理回路の保持データをデータ出力する結果出力手段と、
    前記状態遷移の再開指令がデータ入力される再開入力手段と、
    前記再開指令がデータ入力されると前記動作実行手段に前記状態遷移を再開させる動作再開手段と、
    を有し、
    前記並列演算装置は、複数の前記データ処理回路と複数の前記配線切換回路とがマトリクス配列されているマトリクス回路部と、前記マトリクス回路部の動作命令を動作サイクルごとに順次切り換える状態管理部と、を別個に有しており、
    複数の前記データ処理回路は、個々にデータ設定される動作命令に対応して前記データ処理を個々に実行し、
    複数の前記配線切換回路は、個々にデータ設定される動作命令に対応して複数の前記データ処理回路の接続関係を個々に切換制御する、データ処理システム。
  15. 変更自在なデータ処理を個々に実行する複数のデータ処理回路と複数の前記データ処理回路の接続関係を切換制御する複数の配線切換回路とがマトリクス配列されている並列演算装置の複数段階の動作状態を動作サイクルごとに順次遷移させる動作記述のソースコードとオブジェクトコードとの少なくとも一方をデバッグするためのデータ処理システムであって、
    前記オブジェクトコードで前記並列演算装置に状態遷移を実行させる動作実行手段と、
    前記並列演算装置の停止指令が特定の前記動作状態を示す番号とともにデータ入力される停止入力手段と、
    前記停止指令とともにデータ入力された番号に対応する前記動作状態のときに前記並列演算装置の前記状態遷移を一時停止させる装置停止手段と、
    一時停止した前記並列演算装置の複数の前記データ処理回路の保持データをデータ出力する結果出力手段と、
    を有し、
    前記並列演算装置は、複数の前記データ処理回路と複数の前記配線切換回路とがマトリクス配列されているマトリクス回路部と、前記マトリクス回路部の動作命令を動作サイクルごとに順次切り換える状態管理部と、を別個に有しており、
    複数の前記データ処理回路は、個々にデータ設定される動作命令に対応して前記データ処理を個々に実行し、
    複数の前記配線切換回路は、個々にデータ設定される動作命令に対応して複数の前記データ処理回路の接続関係を個々に切換制御する、データ処理システム。
  16. 変更自在なデータ処理を個々に実行する複数のデータ処理回路と複数の前記データ処理回路の接続関係を切換制御する複数の配線切換回路とがマトリクス配列されている並列演算装置の複数段階の動作状態を動作サイクルごとに順次遷移させる動作記述のソースコードとオブジェクトコードとの少なくとも一方をデバッグするためのデータ処理システムであって、
    前記オブジェクトコードで前記並列演算装置に状態遷移を実行させる動作実行手段と、
    前記並列演算装置の停止指令が複数の前記データ処理回路の少なくとも一部の保持データを使用した停止条件とともにデータ入力される停止入力手段と、
    前記停止条件が成立するときに前記並列演算装置の前記状態遷移を一時停止させる装置停止手段と、
    一時停止した前記並列演算装置の複数の前記データ処理回路の保持データをデータ出力する結果出力手段と、
    を有し、
    前記並列演算装置は、複数の前記データ処理回路と複数の前記配線切換回路とがマトリクス配列されているマトリクス回路部と、前記マトリクス回路部の動作命令を動作サイクルごとに順次切り換える状態管理部と、を別個に有しており、
    複数の前記データ処理回路は、個々にデータ設定される動作命令に対応して前記データ処理を個々に実行し、
    複数の前記配線切換回路は、個々にデータ設定される動作命令に対応して複数の前記データ処理回路の接続関係を個々に切換制御する、データ処理システム。
  17. 変更自在なデータ処理を個々に実行する複数のデータ処理回路と複数の前記データ処理回路の接続関係を切換制御する複数の配線切換回路とがマトリクス配列されている並列演算装置の複数段階の動作状態を動作サイクルごとに順次遷移させる動作記述のソースコードとオブジェクトコードとの少なくとも一方をデバッグするためのデータ処理システムであって、
    前記ソースコードがデータ入力されるソース入力手段と、
    データ入力された前記ソースコードから、順次遷移する複数段階の動作状態を示す番号を検出して、複数の前記データ処理回路と複数の前記配線切換回路との順次切り換わる動作サイクルごとの前記動作命令からなる一連のオブジェクトコードをデータ生成するオブジェクト生成手段と、
    前記ソースコードに含まれる各コードと前記オブジェクトコードに含まれる各コードとの対応関係をデータ生成する対応生成手段と、
    データ生成された前記オブジェクトコードで前記並列演算装置に状態遷移を実行させる動作実行手段と、
    前記並列演算装置の停止指令が前記ソースコードの特定部分を使用した停止条件とともにデータ入力される停止入力手段と、
    データ生成された前記対応関係を参照して前記停止条件が成立する前記オブジェクトコードのときに前記並列演算装置の前記状態遷移を一時停止させる装置停止手段と、
    一時停止した前記並列演算装置の複数の前記データ処理回路の保持データをデータ出力する結果出力手段と、
    を有し、
    前記並列演算装置は、複数の前記データ処理回路と複数の前記配線切換回路とがマトリクス配列されているマトリクス回路部と、前記マトリクス回路部の動作命令を動作サイクルごとに順次切り換える状態管理部と、を別個に有しており、
    複数の前記データ処理回路は、個々にデータ設定される動作命令に対応して前記データ処理を個々に実行し、
    複数の前記配線切換回路は、個々にデータ設定される動作命令に対応して複数の前記データ処理回路の接続関係を個々に切換制御する、データ処理システム。
  18. 変更自在なデータ処理を個々に実行する複数のデータ処理回路と複数の前記データ処理回路の接続関係を切換制御する複数の配線切換回路とがマトリクス配列されている並列演算装置の複数段階の動作状態を動作サイクルごとに順次遷移させる動作記述のソースコードとオブジェクトコードとの少なくとも一方をデバッグするためのデータ処理システムであって、
    前記オブジェクトコードで前記並列演算装置に状態遷移を実行させる動作実行手段と、
    前記並列演算装置の停止指令が停止条件とともにデータ入力される停止入力手段と、
    データ入力された前記停止条件で前記状態遷移を一時停止させる停止条件回路として複数の前記データ処理回路と前記配線切換回路との一部を機能させるオブジェクトコードをデータ生成する停止生成手段と、
    データ生成された前記停止条件回路のオブジェクトコードを前記動作記述のオブジェクトコードに挿入する停止挿入手段と、
    一時停止した前記並列演算装置の複数の前記データ処理回路の保持データをデータ出力する結果出力手段と、
    前記並列演算装置は、複数の前記データ処理回路と複数の前記配線切換回路とがマトリクス配列されているマトリクス回路部と、前記マトリクス回路部の動作命令を動作サイクルごとに順次切り換える状態管理部と、を別個に有しており、
    複数の前記データ処理回路は、個々にデータ設定される動作命令に対応して前記データ処理を個々に実行し、
    複数の前記配線切換回路は、個々にデータ設定される動作命令に対応して複数の前記データ処理回路の接続関係を個々に切換制御する、データ処理システム。
  19. 前記停止入力手段は、所定データの入力も受け付け、
    前記停止生成手段は、前記所定データに対応して前記並列演算装置に所定の機能を付加する機能付加回路として複数の前記データ処理回路と前記配線切換回路との一部を機能させるオブジェクトコードもデータ生成し、
    前記停止挿入手段は、データ生成された前記機能付加回路のオブジェクトコードを前記動作記述のオブジェクトコードに挿入する、請求項18に記載のデータ処理システム。
  20. 前記停止挿入手段は、一時停止した前記並列演算装置で実現されている前記動作記述のオブジェクトコードに、前記停止条件回路のオブジェクトコードを挿入する、請求項18または19に記載のデータ処理システム。
  21. 前記停止入力手段は、前記並列演算装置が一時停止している状態で前記停止指令と停止条件のデータ入力を受け付け、
    前記停止生成手段は、前記並列演算装置が一時停止している状態で前記停止条件回路のオブジェクトコードをデータ生成する、請求項20に記載のデータ処理システム。
  22. 前記ソースコードがデータ入力されるソース入力手段と、
    データ入力された前記ソースコードから、順次遷移する複数段階の動作状態を示す番号を検出して、複数の前記データ処理回路と複数の前記配線切換回路との順次切り換わる動作サイクルごとの前記動作命令からなる一連のオブジェクトコードをデータ生成するオブジェクト生成手段と、
    前記ソースコードに含まれる各コードと前記オブジェクトコードに含まれる各コードとの対応関係をデータ生成する対応生成手段と、
    を有しており、
    前記停止入力手段は、前記動作状態として前記ソースコードの行番号がデータ入力され、
    前記装置停止手段は、前記対応関係を参照してデータ入力された前記行番号に対応する前記動作状態のときに前記並列演算装置の前記状態遷移を一時停止させる、請求項15に記載のデータ処理システム。
  23. 前記ソースコードがデータ入力されるソース入力手段と、
    データ入力された前記ソースコードから、順次遷移する複数段階の動作状態を示す番号を検出して、複数の前記データ処理回路と複数の前記配線切換回路との順次切り換わる動作サイクルごとの前記動作命令からなる一連のオブジェクトコードをデータ生成するオブジェクト生成手段と、
    前記ソースコードに含まれる各コードと前記オブジェクトコードに含まれる各コードとの対応関係をデータ生成する対応生成手段と、
    を有しており、
    前記停止入力手段は、前記保持データとして前記ソースコードの変数を使用した停止条件がデータ入力され、
    前記装置停止手段は、前記対応関係を参照して前記停止条件が成立する保持データのときに前記並列演算装置の前記状態遷移を一時停止させる、請求項16に記載のデータ処理システム。
  24. 前記ソース入力手段は、各所に変数がデータ記述されている複数行の前記ソースコードがデータ入力され、
    前記対応生成手段は、前記ソースコードの特定部分として前記変数と前記行番号と前記オブジェクトコードの特定部分との対応関係をデータ生成し、
    前記停止入力手段は、前記ソースコードの特定部分として前記変数と前記行番号との少なくとも一つを使用した停止条件がデータ入力され、
    前記装置停止手段は、前記対応関係を参照して前記停止条件が成立する前記オブジェクトコードのときに前記並列演算装置の前記状態遷移を一時停止させる、請求項17に記載のデータ処理システム。
  25. 前記ソースコードがデータ入力されるソース入力手段と、
    データ入力された前記ソースコードから、順次遷移する複数段階の動作状態を示す番号を検出して、複数の前記データ処理回路と複数の前記配線切換回路との順次切り換わる動作サイクルごとの前記動作命令からなる一連のオブジェクトコードをデータ生成するオブジェクト生成手段と、
    前記ソースコードに含まれる各コードと前記オブジェクトコードに含まれる各コードとの対応関係をデータ生成する対応生成手段と、
    を有しており、
    前記停止入力手段は、前記並列演算装置の停止指令とともに前記ソースコードの特定部分を使用した停止条件がデータ入力され、
    前記停止生成手段は、前記対応関係を参照して前記停止条件に対応した前記停止条件回路のオブジェクトコードをデータ生成し、
    前記停止挿入手段は、データ生成された前記停止条件回路のオブジェクトコードを前記動作記述のオブジェクトコードに前記対応関係を参照して挿入する、請求項18乃至21のいずれか1項に記載のデータ処理システム。
  26. 一時停止した前記並列演算装置の複数の前記データ処理装置の少なくとも一部の保持データが書換指令とともにデータ入力される書換入力手段と、
    前記書換指令とともにデータ入力された前記保持データで一時停止した前記並列演算装置の対応する保持データを書き換えるデータ書換手段と、
    を有している、請求項1乃至25のいずれか1項に記載のデータ処理システム。
  27. 前記並列演算装置が一体に実装されている請求項1乃至26のいずれか1項に記載のデータ処理システム。
  28. 請求項1または14に記載のデータ処理システムによるデータ処理方法であって、
    前記オブジェクトコードで前記並列演算装置に前記状態遷移を実行させ、
    前記並列演算装置の前記状態遷移を前記動作サイクルごとに一時停止させ、
    一時停止した前記並列演算装置の複数の前記データ処理回路の保持データをデータ出力し、
    前記状態遷移の再開指令のデータ入力を受け付け、
    前記再開指令がデータ入力されると前記動作実行手段に前記状態遷移を再開させる、データ処理方法。
  29. 請求項2または15に記載のデータ処理システムによるデータ処理方法であって、
    前記並列演算装置の停止指令と特定の前記動作状態とのデータ入力を受け付け、
    前記オブジェクトコードで前記並列演算装置に前記状態遷移を実行させ、
    前記停止指令とともにデータ入力された前記動作状態のときに前記並列演算装置の前記状態遷移を一時停止させ、
    一時停止した前記並列演算装置の複数の前記データ処理回路の保持データをデータ出力する、データ処理方法。
  30. 請求項3または16に記載のデータ処理システムによるデータ処理方法であって、
    前記並列演算装置の停止指令と複数の前記データ処理回路の少なくとも一部の保持データを使用した停止条件とのデータ入力を受け付け、
    前記オブジェクトコードで前記並列演算装置に前記状態遷移を実行させ、
    前記停止条件が成立するときに前記並列演算装置の前記状態遷移を一時停止させ、
    一時停止した前記並列演算装置の複数の前記データ処理回路の保持データをデータ出力する、データ処理方法。
  31. 請求項4または17に記載のデータ処理システムによるデータ処理方法であって、
    前記ソースコードのデータ入力を受け付け、
    データ入力された前記ソースコードから順次遷移する複数段階の動作状態を示す番号を検出して複数の前記データ処理回路と複数の前記配線切換回路との順次切り換わる動作サイクルごとの前記動作命令からなる一連のオブジェクトコードをデータ生成し、
    前記ソースコードに含まれる各コードと前記オブジェクトコードに含まれる各コードとの対応関係をデータ生成し、
    前記並列演算装置の停止指令と前記ソースコードの特定部分を使用した停止条件とのデータ入力を受け付け、
    データ生成された前記オブジェクトコードで前記並列演算装置に前記状態遷移を実行させ、
    データ生成された前記対応関係を参照して前記停止条件が成立する前記オブジェクトコードのときに前記並列演算装置の前記状態遷移を一時停止させ、
    一時停止した前記並列演算装置の複数の前記データ処理回路の保持データをデータ出力する、データ処理方法。
  32. 請求項5または18に記載のデータ処理システムによるデータ処理方法であって、
    前記並列演算装置の停止指令と停止条件とのデータ入力を受け付け、
    データ入力された前記停止条件で前記状態遷移を一時停止させる停止条件回路として複数の前記データ処理回路と前記配線切換回路との一部を機能させるオブジェクトコードをデータ生成し、
    データ生成された前記停止条件回路のオブジェクトコードを前記動作記述のオブジェクトコードに挿入し、
    前記オブジェクトコードで前記並列演算装置に前記状態遷移を実行させ、
    一時停止した前記並列演算装置の複数の前記データ処理回路の保持データをデータ出力する、データ処理方法。
JP2007045806A 2007-02-26 2007-02-26 データ処理システム Expired - Fee Related JP4633073B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007045806A JP4633073B2 (ja) 2007-02-26 2007-02-26 データ処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007045806A JP4633073B2 (ja) 2007-02-26 2007-02-26 データ処理システム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003307061A Division JP3990332B2 (ja) 2003-08-29 2003-08-29 データ処理システム

Publications (2)

Publication Number Publication Date
JP2007179567A JP2007179567A (ja) 2007-07-12
JP4633073B2 true JP4633073B2 (ja) 2011-02-16

Family

ID=38304632

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007045806A Expired - Fee Related JP4633073B2 (ja) 2007-02-26 2007-02-26 データ処理システム

Country Status (1)

Country Link
JP (1) JP4633073B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2917837B1 (en) * 2012-11-09 2019-01-02 Coherent Logix Incorporated Real time analysis and control for a multiprocessor system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001154874A (ja) * 1999-11-30 2001-06-08 Advantest Corp プログラムデバッグ装置
JP2003099409A (ja) * 2001-09-26 2003-04-04 Nec Corp データ処理装置および方法、コンピュータプログラム、情報記憶媒体、並列演算装置、データ処理システム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2802128B2 (ja) * 1989-12-19 1998-09-24 株式会社エフ・エフ・シー プログラム開発装置
JPH0782439B2 (ja) * 1990-01-26 1995-09-06 インターナショナル・ビジネス・マシーンズ・コーポレイション 推論エンジンの実行監視方法及び装置
JPH0581069A (ja) * 1991-09-20 1993-04-02 Hitachi Ltd プログラムのデバツグ方法
JP2577149B2 (ja) * 1991-10-21 1997-01-29 株式会社ピーエフユー ブレークポイントの設定制御方法
JPH05197585A (ja) * 1992-01-23 1993-08-06 Fujitsu Ltd データ比較装置及びエミュレータ
JPH06242943A (ja) * 1993-02-15 1994-09-02 Nec Corp ソースコードレベルデバッグ装置
JP2864979B2 (ja) * 1993-12-29 1999-03-08 日本電気株式会社 ソフトウェアデバッガ
JPH09259002A (ja) * 1996-03-22 1997-10-03 Hitachi Ltd デバッグ支援装置
JPH10283222A (ja) * 1997-04-03 1998-10-23 Mitsubishi Electric Corp エミュレータ方法
JPH11232091A (ja) * 1998-02-12 1999-08-27 Nec Corp データ処理方法および装置、情報記憶媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001154874A (ja) * 1999-11-30 2001-06-08 Advantest Corp プログラムデバッグ装置
JP2003099409A (ja) * 2001-09-26 2003-04-04 Nec Corp データ処理装置および方法、コンピュータプログラム、情報記憶媒体、並列演算装置、データ処理システム

Also Published As

Publication number Publication date
JP2007179567A (ja) 2007-07-12

Similar Documents

Publication Publication Date Title
US10970245B2 (en) Processor with reconfigurable pipelined core and algorithmic compiler
US7266725B2 (en) Method for debugging reconfigurable architectures
JP3990332B2 (ja) データ処理システム
US7610475B2 (en) Programmable logic configuration for instruction extensions
TWI806550B (zh) 處理器操作方法、相關電腦系統、及非暫時性電腦可存取儲存媒體
JP6122749B2 (ja) コンピュータシステム
KR101293701B1 (ko) 코어스 그레인드 재구성 어레이에서의 중첩 루프문 수행 장치 및 그 방법
US20130290692A1 (en) Method and Apparatus for the Definition and Generation of Configurable, High Performance Low-Power Embedded Microprocessor Cores
JP4633073B2 (ja) データ処理システム
JP2013161484A (ja) 再構成可能コンピューティング装置、その第1メモリ制御器及び第2メモリ制御器、並びにそのデバッギング用のトレースデータを処理する方法
Chodorowski et al. IEC 61131-3 compliant PLC structure based on FPGA multi-core solution
JP2005508029A (ja) リコンフィギュアラブルアーキテクチャのためのプログラム変換方法
JP2005234968A (ja) 演算処理装置
Zhu et al. Hardware compilation for fpga-based configurable computing machines
US8176451B2 (en) Behavioral synthesis apparatus, behavioral synthesis method, and computer readable recording medium
Haug et al. Reconfigurable hardware as shared resource in multipurpose computers
JP2005222141A (ja) アレイ型プロセッサ
JP4208919B2 (ja) 活性化コードの生成方法
JP4569284B2 (ja) 集積回路のデバッグ方法、デバッグプログラム
JPS63214804A (ja) Plc用プロセツサ及びplc
JP6553694B2 (ja) プロセッサエレメント、プログラマブルデバイス及びプロセッサエレメントの制御方法
Paulino et al. Architecture for transparent binary acceleration of loops with memory accesses
JP2009251782A (ja) プログラマブルコントローラの高速化方法等
JP2006004123A (ja) 最適化装置、最適化方法及びプログラム
Lu et al. Efficient hardware task reuse and interrupt handling mechanisms for FPGA-based partially reconfigurable systems

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100526

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101027

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101116

R150 Certificate of patent or registration of utility model

Ref document number: 4633073

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131126

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees