JPH10269189A - Device and method for verifying program - Google Patents
Device and method for verifying programInfo
- Publication number
- JPH10269189A JPH10269189A JP9073200A JP7320097A JPH10269189A JP H10269189 A JPH10269189 A JP H10269189A JP 9073200 A JP9073200 A JP 9073200A JP 7320097 A JP7320097 A JP 7320097A JP H10269189 A JPH10269189 A JP H10269189A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- program
- verification
- unit
- processing
- 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.)
- Withdrawn
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、プログラム検証装
置および方法に関し、特に、複数のプロセッサブロック
を有する情報処理装置により処理されるプログラムを、
所定の数のプロセッサブロックを有する処理部を使用し
て検証するプログラム検証装置および方法に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an apparatus and a method for verifying a program, and more particularly, to a method and apparatus for verifying a program processed by an information processing apparatus having a plurality of processor blocks.
The present invention relates to a program verification device and method for verifying using a processing unit having a predetermined number of processor blocks.
【0002】[0002]
【従来の技術】最近の半導体技術の進歩に伴い、画像が
電気的なデータとして取り扱われるようになっている。
このような画像データに対する信号処理においては、1
枚の画像を構成する全ての画素に対して同様の演算処理
を施すことが多い。その場合、多くのデータに対して同
様の演算処理を高速に実行するために開発されたSIM
D(Single Instruction Multiple Data-stream、単一
命令複数データ)型処理装置が利用されることがある。
SIMD型処理装置は、演算装置を必要な個数だけ並べ
て、各演算装置が同一の命令に従って動作するようにし
たものである。したがって、各演算装置に別々のデータ
を与えると、それぞれのデータに対する演算結果が1回
の演算により得られる。2. Description of the Related Art With recent advances in semiconductor technology, images have been treated as electrical data.
In signal processing for such image data, 1
In many cases, the same arithmetic processing is performed on all pixels constituting a sheet of image. In that case, a SIM developed to execute the same arithmetic processing at high speed for many data
A D (Single Instruction Multiple Data-stream) processing device may be used.
In the SIMD type processing device, a required number of arithmetic devices are arranged, and each arithmetic device operates according to the same instruction. Therefore, when separate data is given to each processing device, a calculation result for each data can be obtained by one calculation.
【0003】SIMD型処理装置の画像処理を適用した
ものとしては、例えば、「Kurokawaet al., "5.4GOPS L
inear Array Architecture DSP for Video-Format Conv
ersion", IEEE 1969/Feb. ISCC, FP 15.7.」に記載され
ているものが知られている。図7は、このようなSIM
D型画像処理装置の構成例を示している。[0003] As an example of applying image processing of a SIMD type processing apparatus, for example, "Kurokawa et al.," 5.4 GOPS L
inear Array Architecture DSP for Video-Format Conv
ersion ", IEEE 1969 / Feb. ISCC, FP 15.7." FIG. 7 shows such a SIM
2 shows a configuration example of a D-type image processing apparatus.
【0004】図7に示すように、SIMD型画像処理装
置は、信号制御部64、入力SAM(Serial Access Me
mory)部61、プロセッサブロック62−1,61−
2、および、出力SAM部63で構成されている。プロ
セッサブロック62−1,62−2は、データメモリ部
71−1,71−2、ALUアレイ部72−1,72−
2、および、プログラム制御部73−1,73−2でそ
れぞれ構成されている。As shown in FIG. 7, a SIMD type image processing apparatus comprises a signal control unit 64, an input SAM (Serial Access Me
mory) unit 61, processor blocks 62-1, 61-
2 and an output SAM unit 63. The processor blocks 62-1 and 62-2 include a data memory unit 71-1 and 71-2, an ALU array unit 72-1 and 72-
2 and program control units 73-1 and 73-2.
【0005】信号制御部64は、各プロセッサブロック
62−1,62−2に対してアプリケーションプログラ
ムに対応する命令コードを供給するとともに、入力SA
M部61および出力SAM部63によるデータの入出力
のタイミングを制御するようになされている。入力SA
M部61は、複数のカラムにより構成され、各カラム
(図7に斜線で示す四角形)から1ビットの情報をデー
タメモリ部71−1に入力するようになされている。[0005] The signal control section 64 supplies an instruction code corresponding to an application program to each of the processor blocks 62-1 and 62-2, and also receives an input SA.
The input / output timing of data by the M unit 61 and the output SAM unit 63 is controlled. Input SA
The M section 61 is composed of a plurality of columns, and inputs 1-bit information from each column (square hatched in FIG. 7) to the data memory section 71-1.
【0006】プロセッサブロック62−1のデータメモ
リ部71−1は、入力SAM部61より供給されたデー
タを一時的に記憶し、必要に応じて、ALUアレイ部7
2−1に転送するようになされている。The data memory section 71-1 of the processor block 62-1 temporarily stores the data supplied from the input SAM section 61, and, if necessary, stores the data in the ALU array section 7.
2-1.
【0007】ALUアレイ部72−1は、データメモリ
部71−1よりデータを読み込み、プログラム制御部7
3−1からの指令に応じて所定の演算処理を実行し、演
算結果を次段のプロセッサブロック62−2のデータメ
モリ部71−2に出力するようになされている。The ALU array section 72-1 reads data from the data memory section 71-1 and stores the data in the program control section 7-1.
A predetermined calculation process is executed in response to a command from 3-1 and the calculation result is output to the data memory unit 71-2 of the next processor block 62-2.
【0008】プロセッサブロック62−2は、プロセッ
サブロック62−1と同様に構成されているので、その
説明を省略する。[0008] The processor block 62-2 has the same configuration as the processor block 62-1 and will not be described.
【0009】出力SAM部63は、プロセッサブロック
62−2のALUアレイ部72−2より出力されたデー
タを、出力データDoutとして順次出力する。The output SAM unit 63 sequentially outputs data output from the ALU array unit 72-2 of the processor block 62-2 as output data Dout.
【0010】なお、入力SAM部61、データメモリ部
71−1,71−2、ALUアレイ部72−1,72−
2、および、出力SAM部63は、リニアアレイ(直線
配列)型に並列化された要素プロセッサ群を構成してい
る。これらの要素プロセッサの各部分は、その部分を含
むプロセッサブロックのプログラム制御部73−1また
は73−2により制御される。SIMD型画像処理装置
では、このように、プロセッサブロックを多段に構成す
ることにより、その段数にほぼ比例して処理能力を向上
させることが可能となる。The input SAM unit 61, data memory units 71-1 and 71-2, and ALU array units 72-1 and 72-
2, and the output SAM unit 63 constitute a group of element processors parallelized in a linear array (linear array) type. Each part of these element processors is controlled by the program control unit 73-1 or 73-2 of the processor block including the part. In the SIMD-type image processing apparatus, as described above, by configuring the processor blocks in multiple stages, it is possible to improve the processing capability almost in proportion to the number of stages.
【0011】また、図7に示すSIMD型画像処理装置
の各プロセッサブロックにおいては、SIMD型の処理
が実行されるが、プロセッサブロックごとに異なる処理
を実行することが可能であるので、装置全体としては、
複数のプログラムを並列に処理するMIMD(Multiple
Instruction Multiple Data Stream:複数命令複数デ
ータ)型の処理が実行される。Further, in each processor block of the SIMD type image processing apparatus shown in FIG. 7, SIMD type processing is executed, but different processing can be executed for each processor block. Is
MIMD (Multiple) that processes multiple programs in parallel
Instruction Multiple Data Stream (multiple instruction multiple data) type processing is executed.
【0012】汎用のプロセッサ(CPU:Central Proc
essing Unit)においては、所定のビット数(例えば、
64ビット)のデータに対して演算処理が実行される
が、図7に示す装置においては、ALUアレイ部72−
1,72−2によりデータが1ビットずつ演算される。
即ち、図7において、斜線が施されている1つの要素プ
ロセッサのうち、入力SAM部61、データメモリ部7
1−1,71−2、出力SAM部63は、メモリのカラ
ムを構成し、ALUアレイ部72−1,72−2は1ビ
ットのALU(Arithmetic and Logical Unit)を有し
ており、例えばフルアダー(全加算器)として動作す
る。General-purpose processor (CPU: Central Proc)
essing Unit), a predetermined number of bits (for example,
The arithmetic processing is performed on the data of (64 bits). In the device shown in FIG.
1, 72-2, the data is operated one bit at a time.
That is, in FIG. 7, the input SAM unit 61, the data memory unit 7,
1-1, 71-2, the output SAM unit 63 constitutes a column of a memory, and the ALU array units 72-1 and 72-2 have 1-bit ALUs (Arithmetic and Logical Units). (Full adder).
【0013】このような1ビット単位の処理プロセッサ
である要素プロセッサは、小規模な回路で実現されるの
で、多数の要素プロセッサを半導体基板上に構成(形
成)することが可能である。そこで、画像処理用の並列
プロセッサでは、要素プロセッサの並列数(図7の要素
プロセッサ数N)は、画像信号の1水平走査期間の画素
数(H)に一致させることが多い。[0013] Such an element processor, which is a processing processor in units of one bit, is realized by a small-scale circuit, so that a large number of element processors can be configured (formed) on a semiconductor substrate. Therefore, in a parallel processor for image processing, the parallel number of element processors (the number N of element processors in FIG. 7) is often set to be equal to the number of pixels (H) of one horizontal scanning period of an image signal.
【0014】次に、図7に示すSIMD型画像処理装置
の動作について説明する。Next, the operation of the SIMD type image processing apparatus shown in FIG. 7 will be described.
【0015】入力SAM部61は、画像信号の水平走査
アクティブ期間において、1水平走査線分のN個(=H
個)の画像データを入力して記憶した後、画像信号の水
平走査部ブランキング期間において、プロセッサブロッ
ク62−1のデータメモリ部71−1に転送する。The input SAM section 61 receives N (= H) signals corresponding to one horizontal scanning line during the horizontal scanning active period of the image signal.
After inputting and storing the image data, the image data is transferred to the data memory unit 71-1 of the processor block 62-1 during the horizontal scanning unit blanking period of the image signal.
【0016】データメモリ部71−1は、入力SAM部
61より供給された画像データを一時的に記憶し、記憶
された画像データを必要に応じてALUアレイ部72−
1に供給するとともに、ALUアレイ部72−1から出
力される演算の途中経過のデータを記憶する。そして、
ALUアレイ部72−1は、データメモリ部71−1よ
り供給されるデータに対して、プログラム制御部73−
1より供給される命令に応じた処理(例えば、加算処
理)を施し、データメモリ部71−1またはプロセッサ
ブロック62−2に出力する。The data memory unit 71-1 temporarily stores the image data supplied from the input SAM unit 61, and stores the stored image data in the ALU array unit 72-
1 and stores data in the middle of the operation output from the ALU array unit 72-1. And
The ALU array section 72-1 performs program control on the data supplied from the data memory section 71-1.
A process (for example, an addition process) according to the instruction supplied from 1 is performed and output to the data memory unit 71-1 or the processor block 62-2.
【0017】データメモリ部71−2は、プロセッサブ
ロック62−1より供給された、処理後の画像データを
一時的に記憶し、記憶された画像データを必要に応じて
ALUアレイ部72−2に供給するとともに、ALUア
レイ部72−2から出力される演算の途中経過のデータ
を記憶する。そして、ALUアレイ部72−2は、デー
タメモリ部71−2より供給されるデータに対して、プ
ログラム制御部73−2より供給される命令に応じた処
理を施し、データメモリ部71−2または出力SAM部
63に出力する。The data memory section 71-2 temporarily stores the processed image data supplied from the processor block 62-1 and stores the stored image data in the ALU array section 72-2 as necessary. The data is supplied and the data output from the ALU array unit 72-2 during the course of the operation is stored. Then, the ALU array unit 72-2 performs a process according to the instruction supplied from the program control unit 73-2 on the data supplied from the data memory unit 71-2, and Output to the output SAM unit 63.
【0018】出力SAM部63は、画像信号が水平走査
アクティブ期間である場合に、処理の結果得られた1水
平走査線分の画像データを出力する。The output SAM unit 63 outputs image data for one horizontal scanning line obtained as a result of the processing when the image signal is in a horizontal scanning active period.
【0019】なお、このような処理が実行されている際
には、各プロセッサブロックにおけるすべての要素プロ
セッサは、同一の命令に従って並列に動作している。When such processing is executed, all the element processors in each processor block operate in parallel according to the same instruction.
【0020】図8は、例えば図7に示す並列プロセッサ
用のプログラムの検証を行うプログラム検証装置の一構
成例を示している。FIG. 8 shows an example of a configuration of a program verifying apparatus for verifying a program for the parallel processor shown in FIG. 7, for example.
【0021】制御部101は、記録媒体102より、検
証するプログラムおよび検証の際に処理されるデータを
読み出し、そのプログラムを信号制御部5に供給し、デ
ータを入力SAM部6に供給する他、操作部3における
ユーザによる操作に対応して信号制御部5に、その操作
に対応する信号を供給する。The control unit 101 reads a program to be verified and data to be processed at the time of verification from the recording medium 102, supplies the program to the signal control unit 5, supplies the data to the input SAM unit 6, A signal corresponding to the operation is supplied to the signal control unit 5 in response to a user operation on the operation unit 3.
【0022】信号制御部5は、制御部101より供給さ
れたプログラムに対応する命令を、入力SAM部6、各
プロセッサブロック107−i、および、出力SAM部
8に供給する。The signal control unit 5 supplies an instruction corresponding to the program supplied from the control unit 101 to the input SAM unit 6, each processor block 107-i, and the output SAM unit 8.
【0023】プロセッサブロック107−1は、入力S
AM部6より供給されたデータに対して、信号制御部5
より供給された命令に従って演算を施し、演算結果を次
段のプロセッサブロック107−2に出力するととも
に、出力データ観測装置9に出力する。The processor block 107-1 receives the input S
The data supplied from the AM unit 6 is processed by the signal control unit 5
The operation is performed according to the supplied instruction, and the operation result is output to the output data observing device 9 while being output to the processor block 107-2 of the next stage.
【0024】プロセッサブロック107−2乃至107
−(M−1)は、前段のプロセッサブロックより供給さ
れたデータに対して、信号制御部5より供給された命令
に従って演算を施し、演算結果を次段のプロセッサブロ
ックに出力するとともに、出力データ観測装置9に出力
する。Processor blocks 107-2 to 107
-(M-1) performs an operation on the data supplied from the preceding processor block in accordance with the instruction supplied from the signal control unit 5, outputs the operation result to the next processor block, and outputs data Output to the observation device 9.
【0025】プロセッサブロック107−Mは、前段の
プロセッサブロック107−(M−1)より供給された
データに対して、信号制御部5より供給された命令に従
って演算を施し、演算結果を出力SAM部8に出力する
とともに、出力データ観測装置9に出力する。The processor block 107-M performs an operation on the data supplied from the preceding processor block 107- (M-1) in accordance with the instruction supplied from the signal control unit 5, and outputs the operation result to the output SAM unit. 8 and to the output data observation device 9.
【0026】出力SAM部8は、最後のプロセッサブロ
ック107−Mより供給されたデータを出力データ観測
装置9に順次出力する。The output SAM unit 8 sequentially outputs the data supplied from the last processor block 107-M to the output data observation device 9.
【0027】出力データ観測装置9は、プロセッサブロ
ック107−1乃至107−Mの演算後のデータ(中間
データ)と、出力SAM部8より供給される演算結果
を、例えば表示用のデータに変換し、その表示用データ
に対応する画像を所定の表示部に表示させる。The output data observation device 9 converts the data (intermediate data) calculated by the processor blocks 107-1 to 107-M and the calculation result supplied from the output SAM unit 8 into, for example, display data. Then, an image corresponding to the display data is displayed on a predetermined display unit.
【0028】図9は、図8のプロセッサブロック107
−1乃至107−Mの構成例を示している。FIG. 9 shows the processor block 107 of FIG.
1 shows configuration examples of -1 to 107-M.
【0029】入力データ転送回路21は、前段のプロセ
ッサブロックより供給されるデータを、並列プロセッサ
シミュレーション部22のデータメモリ部31に供給す
る。なお、最初のプロセッサブロック107−1の入力
データ転送回路21は、入力SAM部6より供給される
データをデータメモリ部31に供給する。The input data transfer circuit 21 supplies data supplied from the preceding processor block to the data memory unit 31 of the parallel processor simulation unit 22. The input data transfer circuit 21 of the first processor block 107-1 supplies the data supplied from the input SAM unit 6 to the data memory unit 31.
【0030】並列プロセッサシミュレーション部22
は、データメモリ部31とALUアレイ部32で構成さ
れており、プログラム制御部41より供給される命令に
対応する処理を行い、処理の結果を出力データ転送回路
23に出力する。The parallel processor simulation unit 22
Is composed of a data memory unit 31 and an ALU array unit 32, performs a process corresponding to an instruction supplied from the program control unit 41, and outputs a result of the process to the output data transfer circuit 23.
【0031】出力データ転送回路23は、その処理の結
果を次段のプロセッサブロックに出力するとともに、出
力データ観測装置9に出力する。なお、最後のプロセッ
サブロック107−Mの出力データ転送回路23は、処
理の結果を出力SAM部8と出力データ観測装置9に出
力する。The output data transfer circuit 23 outputs the result of the processing to the next processor block and to the output data observation device 9. The output data transfer circuit 23 of the last processor block 107-M outputs the processing result to the output SAM unit 8 and the output data observation device 9.
【0032】図10は、このような並列プロセッサ用の
プログラムを開発する場合の処理の流れの一例を示して
いる。FIG. 10 shows an example of a processing flow when a program for such a parallel processor is developed.
【0033】まず、ステップS41において、制御部1
01は、記録媒体102より所定のデータを読み出し、
入力SAM部6に供給し、ステップS42において検証
するプログラムを読み出し、信号制御部5に供給する。
そして、ステップS43において、信号制御部5が、各
プロセッサブロックのプログラム制御部41に命令を供
給し、プログラムに従って、各プロセッサブロックのデ
ータメモリ部31およびALUアレイ部32を制御して
データ処理を行わせ、処理結果を出力SAM部8を介し
て出力データ観測装置9に出力させる。First, in step S41, the control unit 1
01 reads predetermined data from the recording medium 102,
The program is supplied to the input SAM unit 6, a program to be verified is read in step S 42, and supplied to the signal control unit 5.
Then, in step S43, the signal control unit 5 supplies an instruction to the program control unit 41 of each processor block, controls the data memory unit 31 and the ALU array unit 32 of each processor block according to the program, and performs data processing. Then, the processing result is output to the output data observation device 9 via the output SAM unit 8.
【0034】このとき、ユーザは、出力データ観測装置
9に表示された処理結果を参照し、ステップS44にお
いて、その結果が良好なものであるか否かを判断し、検
証結果が良好ではないと判断したときは、ステップS4
5において、そのプログラムのデバッグを行った後、ス
テップS42に戻り、変更されたプログラムを入力し、
再度、検証を行わせる。At this time, the user refers to the processing result displayed on the output data observing device 9 and determines whether or not the result is good in step S44. If determined, step S4
In step 5, after debugging the program, the process returns to step S42, and the changed program is input.
The verification is performed again.
【0035】このようにして、プログラムが正しく動作
するまで検証が繰り返されながら、プログラムの開発が
行われる。In this way, the program is developed while the verification is repeated until the program operates properly.
【0036】[0036]
【発明が解決しようとする課題】ところで、並列プロセ
ッサのプログラムを開発する際、プログラムを詳細に検
証する必要があるため、各要素プロセッサのデータメモ
リ部の値などの詳細な情報を観測する必要がある。その
ために、ターゲットとなる並列プロセッサを忠実にシミ
ュレーションしつつ、そのような詳細な情報を観測する
機構を有する装置を使用してプログラムの開発が行われ
ることが多い。By the way, when developing a parallel processor program, it is necessary to verify the program in detail, so that it is necessary to observe detailed information such as the value of the data memory section of each element processor. is there. Therefore, a program is often developed using a device having a mechanism for observing such detailed information while faithfully simulating a target parallel processor.
【0037】しかしながら、図7に示す並列プロセッサ
が数百から数千にも及ぶ要素プロセッサを有する多数の
プロセッサブロックで構成されていることに起因して、
単一のプロセッサ(汎用のプロセッサ)において動作す
るソフトウェアで、並列プロセッサをシミュレーション
する場合においては、実機の数千から数万倍にも及ぶ処
理時間を要し、プログラム開発において幾度となく繰り
返されるデバッグ作業のために、長い時間が浪費されて
しまうという問題を有している。However, due to the fact that the parallel processor shown in FIG. 7 is composed of a large number of processor blocks having hundreds to thousands of element processors,
Software that runs on a single processor (general-purpose processor). When simulating a parallel processor, it takes thousands to tens of thousands of times as long as a real machine, and debugging is repeated many times during program development. There is a problem that a long time is wasted for work.
【0038】本発明は、そのような状況に鑑みてなされ
たもので、所定の数のプロセッサブロックのうちの一部
または全部のプロセッサブロックを使用してプログラム
の検証を行うようにして、プログラム開発に要する時間
を低減することができるようにするものである。The present invention has been made in view of such a situation, and a program is developed by verifying a program using a part or all of a predetermined number of processor blocks. To reduce the time required.
【0039】[0039]
【課題を解決するための手段】請求項1に記載のプログ
ラム検証装置は、第1の数のプロセッサブロックを有す
る処理手段と、第1の数のプロセッサブロックのうち、
検証に使用する第2の数のプロセッサブロックを選択す
る選択手段と、プログラムに対応する命令コードを処理
手段に供給する供給手段と、検証の結果を出力する出力
手段とを備えることを特徴とする。According to a first aspect of the present invention, there is provided a program verifying apparatus comprising: a processing unit having a first number of processor blocks;
It is characterized by comprising a selecting means for selecting a second number of processor blocks to be used for verification, a supplying means for supplying an instruction code corresponding to a program to the processing means, and an output means for outputting a result of the verification. .
【0040】請求項8に記載のプログラム検証方法は、
第1の数のプロセッサブロックのうち、検証に使用する
第2の数のプロセッサブロックを選択するステップと、
プログラムに対応する命令コードを第2の数のプロセッ
サブロックで処理するステップと、検証の結果を出力す
るステップとを備えることを特徴とする。[0040] The program verifying method according to claim 8 is characterized in that:
Selecting a second number of processor blocks from the first number of processor blocks for use in verification;
The method includes a step of processing an instruction code corresponding to a program by a second number of processor blocks and a step of outputting a verification result.
【0041】請求項1に記載のプログラム検証装置にお
いては、選択手段は、処理手段の第1の数のプロセッサ
ブロックのうち、検証に使用する第2の数のプロセッサ
ブロックを選択し、供給手段は、プログラムに対応する
命令コードを処理手段に供給し、処理手段における第1
の数のプロセッサブロックのうちの第2の数のプロセッ
サブロックが処理を実行して検証を行い、出力手段は、
検証の結果を出力する。In the program verifying apparatus according to the first aspect, the selecting means selects a second number of processor blocks used for verification from the first number of processor blocks of the processing means, and the supply means And supplying an instruction code corresponding to the program to the processing means,
A second number of processor blocks among the number of processor blocks execute the processing and perform verification, and the output unit includes:
Output the result of verification.
【0042】請求項8に記載のプログラム検証方法にお
いては、第1の数のプロセッサブロックのうち、検証に
使用する第2の数のプロセッサブロックを選択し、プロ
グラムに対応する命令コードを第2の数のプロセッサブ
ロックで処理し、検証の結果を出力する。In the program verifying method according to the present invention, a second number of processor blocks to be used for verification are selected from the first number of processor blocks, and an instruction code corresponding to the program is stored in the second number. It processes in a number of processor blocks and outputs the result of verification.
【0043】[0043]
【発明の実施の形態】図1は、本発明のプログラム検証
装置の一実施の形態の構成例を示している。このプログ
ラム検証装置においては、制御部1(選択手段、変更手
段、入力手段)は、記録媒体2より、検証されるプログ
ラムおよび検証の際に処理されるデータを読み出し、そ
のプログラムを信号制御部5(供給手段)に供給し、デ
ータを入力SAM部6に供給する他、操作部3における
ユーザによる操作に対応して信号制御部5に、その操作
に対応する信号を供給するようになされている。さら
に、制御部1は、検証の際に使用されるプロセッサブロ
ックの番号に対応する信号をプロセッサブロック選択回
路4に出力するようになされている。FIG. 1 shows an example of the configuration of an embodiment of a program verification device according to the present invention. In this program verification device, the control unit 1 (selection unit, change unit, input unit) reads out a program to be verified and data to be processed at the time of verification from the recording medium 2 and transmits the program to the signal control unit 5. (Supply means) to supply data to the input SAM unit 6, and to supply a signal corresponding to the operation to the signal control unit 5 in response to a user operation on the operation unit 3. . Further, the control unit 1 outputs a signal corresponding to the number of the processor block used at the time of verification to the processor block selection circuit 4.
【0044】プロセッサブロック選択回路4は、プロセ
ッサブロック7−1乃至7−Mの動作状態を指定するM
個のフラグを記憶するリスト構造のバッファを有し、そ
のフラグの値に対応する信号を、プロセッサブロック7
−1乃至7−Mにそれぞれ供給するようになされてい
る。The processor block selection circuit 4 has an M for designating the operation states of the processor blocks 7-1 to 7-M.
Has a list-structured buffer for storing a number of flags, and outputs a signal corresponding to the value of the flag to the processor block 7.
-1 to 7-M.
【0045】M段のプロセッサブロック7−1乃至7−
M(処理手段)のうちのプロセッサブロック7−1は、
プロセッサブロック選択回路4より所定の信号が供給さ
れたときだけ、入力SAM部6より供給されたデータに
対して、信号制御部5より供給された命令に従って演算
を施し、演算結果を次段のプロセッサブロック7−2に
出力するとともに、出力データ観測装置9(出力手段)
に出力するようになされている。M-stage processor blocks 7-1 to 7-
The processor block 7-1 of M (processing means)
Only when a predetermined signal is supplied from the processor block selection circuit 4, an operation is performed on the data supplied from the input SAM unit 6 in accordance with the instruction supplied from the signal control unit 5, and the operation result is transmitted to the next processor. Output to block 7-2 and output data observation device 9 (output means)
Output.
【0046】プロセッサブロック7−2乃至7−(M−
1)は、プロセッサブロック選択回路4より所定の信号
が供給されたときだけ、前段のプロセッサブロックより
供給されたデータに対して、信号制御部5より供給され
た命令に従って演算を施し、演算結果を次段のプロセッ
サブロックに出力するとともに、出力データ観測装置9
に出力するようになされている。The processor blocks 7-2 to 7- (M-
1) Only when a predetermined signal is supplied from the processor block selection circuit 4, the data supplied from the preceding processor block is operated according to the instruction supplied from the signal control unit 5, and the operation result is calculated. Output to the next processor block and output data observation device 9
Output.
【0047】プロセッサブロック7−Mは、プロセッサ
ブロック選択回路4より所定の信号が供給されたときだ
け、前段のプロセッサブロック7−(M−1)より供給
されたデータに対して、信号制御部5より供給された命
令に従って演算を施し、演算結果を出力SAM部8に出
力するとともに、出力データ観測装置9に出力するよう
になされている。Only when a predetermined signal is supplied from the processor block selection circuit 4, the processor block 7-M receives the signal supplied from the preceding processor block 7- (M-1), The operation is performed in accordance with the supplied instruction, and the operation result is output to the output SAM unit 8 and the output data observation device 9.
【0048】なお、信号制御部5、入力SAM部6、出
力SAM部8、および、出力データ観測装置9は、図8
のものと同様であるので、その説明を省略する。The signal control unit 5, the input SAM unit 6, the output SAM unit 8, and the output data observation device 9
Therefore, the description is omitted.
【0049】図2は、プロセッサブロック7−1乃至7
−Mの構成例を示している。FIG. 2 shows the processor blocks 7-1 to 7
13 illustrates a configuration example of −M.
【0050】並列プロセッサシミュレーション部22A
は、データメモリ部31とALUアレイ部32を有し、
プロセッサブロック制御回路33より所定の信号が供給
されている場合、プログラム制御部41より供給される
命令に従って、入力データ転送回路21からのデータに
対して演算を行い、プロセッサブロック制御回路33よ
り所定の信号が供給されていない場合、入力データ転送
回路21からのデータを、そのまま、出力データ転送回
路23Aに出力するようになされている。Parallel processor simulation unit 22A
Has a data memory unit 31 and an ALU array unit 32,
When a predetermined signal is supplied from the processor block control circuit 33, an operation is performed on data from the input data transfer circuit 21 in accordance with an instruction supplied from the program control unit 41, and a predetermined signal is supplied from the processor block control circuit 33. When the signal is not supplied, the data from the input data transfer circuit 21 is output to the output data transfer circuit 23A as it is.
【0051】なお、並列プロセッサシミュレーション部
22Aにおいては、データに対して演算を行う場合、信
号制御部5の要素プロセッサ数制御部42より供給され
る信号に対応する数の要素プロセッサだけが動作するよ
うになされている。In the parallel processor simulation unit 22A, when performing an operation on data, only the number of element processors corresponding to the signal supplied from the element processor number control unit 42 of the signal control unit 5 is operated. Has been made.
【0052】また、この並列プロセッサシミュレーショ
ン部22Aは、ゲートアレイなどのハードウェアとして
構成される他、汎用の並列プロセッサにおけるソフトウ
ェアとして実現されるようにしてもよい。The parallel processor simulation unit 22A may be configured as hardware such as a gate array, or may be realized as software in a general-purpose parallel processor.
【0053】出力データ転送回路23Aは、並列プロセ
ッサシミュレーション部22Aより供給されたデータを
次段のプロセッサブロックに出力するとともに、プロセ
ッサブロック制御回路33より所定の信号が供給されて
いる場合、そのデータを出力データ観測装置9に出力す
るようになされている。なお、最後のプロセッサブロッ
ク7−Mの出力データ転送回路23Aは、次段のプロセ
ッサブロックの代わりに、出力SAM部8にデータを出
力するようになされている。The output data transfer circuit 23A outputs the data supplied from the parallel processor simulation section 22A to the next processor block and, when a predetermined signal is supplied from the processor block control circuit 33, outputs the data. The data is output to the output data observation device 9. The output data transfer circuit 23A of the last processor block 7-M outputs data to the output SAM unit 8 instead of the next processor block.
【0054】プロセッサブロック制御回路33は、プロ
セッサブロック選択回路4より供給される、フラグの値
に対応する信号に従って、並列プロセッサシミュレーシ
ョン部22Aと出力データ転送回路23Aを制御するよ
うになされている。The processor block control circuit 33 controls the parallel processor simulation section 22A and the output data transfer circuit 23A according to the signal corresponding to the value of the flag supplied from the processor block selection circuit 4.
【0055】次に、図3および図4のフローチャートを
参照して、図1のプログラム検証装置を使用してプログ
ラムの開発を行う場合の処理の流れについて説明する。Next, a flow of processing when a program is developed using the program verification device of FIG. 1 will be described with reference to flowcharts of FIGS.
【0056】ステップS1において、制御部1は、操作
部3におけるユーザによる操作に従って記録媒体2に保
存されている入力データを読み出し、入力SAM部6に
出力する。In step S 1, the control unit 1 reads input data stored in the recording medium 2 according to a user operation on the operation unit 3 and outputs the data to the input SAM unit 6.
【0057】次にステップS2において、制御部1は、
操作部3におけるユーザによる操作に従って記録媒体2
に保存されている検証対象のプログラムを読み出し、信
号制御部5に出力する。Next, in step S2, the control unit 1
Recording medium 2 according to a user operation on operation unit 3
Is read out and stored in the signal control unit 5.
【0058】ステップS3において、制御部1は、操作
部3におけるユーザによる操作に従って記録媒体2に保
存されている、検証条件が記述されたファイルを読み出
し、ステップS4において、検証に使用するプロセッサ
ブロック7−iの個数(初期の個数)iを1に設定す
る。In step S3, the control unit 1 reads out a file in which the verification conditions are described, which is stored in the recording medium 2 according to the operation of the operation unit 3 by the user, and in step S4, the processor block 7 used for verification. -Set the number of i (initial number) i to 1.
【0059】そして、ステップS5において、制御部1
は、検証に使用するプロセッサブロックの先頭の番号j
を1に設定する。Then, in step S5, the control unit 1
Is the first number j of the processor block used for verification.
Is set to 1.
【0060】ステップS6において、制御部1は、プロ
セッサブロック7−1乃至7−Mの動作状態に対応する
フラグPBenable[1]乃至PBenable
[M]の値を、処理を実行しない状態に対応する値OF
Fに設定する。即ち、フラグPBenable[1]乃
至PBenable[M]がリセットされる。In step S6, the controller 1 sets the flags PBenable [1] to PBenable corresponding to the operation states of the processor blocks 7-1 to 7-M.
The value of [M] is changed to a value OF corresponding to a state where the process is not executed.
Set to F. That is, the flags PBenable [1] to PBenable [M] are reset.
【0061】そして、ステップS7乃至ステップS10
において、上述のiとjの値に対応して、今回の検証に
使用されるプロセッサブロックに対応するフラグPBe
nable[j]乃至PBenable[j+i−1]
の値が、処理を実行する状態に対応する値ONに設定さ
れる。Then, steps S7 to S10
, The flag PBe corresponding to the processor block used in the current verification, corresponding to the values of i and j described above.
table [j] to PBenable [j + i-1]
Is set to the value ON corresponding to the state in which the process is executed.
【0062】まず、制御部1は、ステップS7におい
て、カウンタkにjの値を代入し、ステップS8におい
て、フラグPBenable[k]の値を、処理を行う
状態に対応する値ONに設定する。First, in step S7, the controller 1 substitutes the value of j for the counter k, and in step S8, sets the value of the flag PBenable [k] to the value ON corresponding to the state in which the processing is performed.
【0063】次に、ステップS9において、制御部1
は、カウンタkの値が、(j+i−1)であるか否かを
判断し、k=j+i−1ではないと判断した場合、ステ
ップS10において、カウンタkの値を1だけ増加させ
た後、ステップS8に戻り、次のフラグの値を設定す
る。Next, in step S9, the control unit 1
Determines whether or not the value of the counter k is (j + i-1). If it is determined that k is not equal to j + i-1, the value of the counter k is increased by 1 in step S10. Returning to step S8, the value of the next flag is set.
【0064】一方、ステップS9において、k=j+i
−1であると判断された場合、即ち、i個のプロセッサ
ブロック7−j乃至7−(j+i−1)に対応するフラ
グPBenable[j]乃至PBenable[j+
i−1]に、処理を実行する状態に対応する値ONが設
定されたと判断された場合、ステップS11に進む。On the other hand, in step S9, k = j + i
If it is determined to be -1, that is, the flags PBenable [j] to PBenable [j +] corresponding to the i processor blocks 7-j to 7- (j + i-1).
When it is determined that the value ON corresponding to the state in which the process is executed is set in [i-1], the process proceeds to step S11.
【0065】ステップS11において、制御部1は、フ
ラグPBenable[1]乃至PBenable
[M]に対応する信号をプロセッサブロック選択回路4
に供給する。In step S11, the control unit 1 sets the flags PBenable [1] to PBenable
The signal corresponding to [M] is sent to the processor block selection circuit 4
To supply.
【0066】ステップS12において、制御部1は、ス
テップS3で読み出した制御情報に対応して、検証に使
用する要素プロセッサの数Nを設定し、その数Nに対応
する信号を信号制御部5の要素プロセッサ数制御部42
に供給する。In step S12, the control unit 1 sets the number N of element processors to be used for verification in accordance with the control information read in step S3, and outputs a signal corresponding to the number N to the signal control unit 5. Element processor number control unit 42
To supply.
【0067】そして、ステップS13において、制御部
1は、プロセッサブロック選択回路4と信号制御部5に
所定の信号を供給し、M個のプロセッサブロックのうち
のi個のプロセッサブロック7−j乃至7−(j+i−
1)を動作させて、プログラムの検証を行わせる。Then, in step S13, the control section 1 supplies a predetermined signal to the processor block selection circuit 4 and the signal control section 5, and the i processor blocks 7-j to 7-j to 7 out of the M processor blocks. − (J + i−
1) is operated to verify the program.
【0068】このとき、プロセッサブロック7−j乃至
7−(j+i−1)の処理結果が、それぞれ出力データ
観測装置9に直接供給され、プロセッサブロック7−
(j+i−1)の処理結果、即ちプログラムに従った最
終的な処理結果が、出力SAM部8を介して、出力デー
タ観測装置9に供給される。出力データ観測装置9は、
それらの処理結果に対応する画像を、例えば所定の表示
部に表示させる。At this time, the processing results of the processor blocks 7-j to 7- (j + i-1) are directly supplied to the output data observing device 9, respectively.
The processing result of (j + i−1), that is, the final processing result according to the program is supplied to the output data observation device 9 via the output SAM unit 8. The output data observation device 9
Images corresponding to the processing results are displayed on a predetermined display unit, for example.
【0069】そして、ステップS14において、その検
証結果が良好なものであるか否かが判断され、検証結果
が良好なものであると判断された場合、ステップS16
に進む。Then, in step S14, it is determined whether or not the verification result is good. If it is determined that the verification result is good, step S16 is performed.
Proceed to.
【0070】なお、その検証結果が良好なものであるか
否かを判断する場合、ユーザが出力データ観測装置9に
おける表示を参照して判断し、その判断に対応して操作
部3を操作するか、あるいは、所定の基準値を予め制御
部1に記憶させておき、その基準値と検証結果が比較さ
れる。When determining whether or not the verification result is satisfactory, the user makes a determination with reference to the display on the output data observation device 9 and operates the operation unit 3 in accordance with the determination. Alternatively, a predetermined reference value is stored in the control unit 1 in advance, and the reference value is compared with the verification result.
【0071】一方、検証結果が良好なものではないと判
断された場合、ステップS15において、記録媒体2に
記録されているプログラムがユーザにより変更される。
即ち、プログラムのデバッグが行われる。そして、デバ
ッグ終了後、ステップS13に戻り、操作部3における
ユーザの操作に対応して、制御部1は、デバッグ後のプ
ログラムを記録媒体2より読み出し、信号制御部5に供
給し、プログラムを更新させる。そして、ステップS1
3において、再度、検証が行われる。On the other hand, if it is determined that the verification result is not good, the program recorded on the recording medium 2 is changed by the user in step S15.
That is, the program is debugged. After the end of debugging, the process returns to step S13, and in response to a user operation on the operation unit 3, the control unit 1 reads the program after debugging from the recording medium 2, supplies the read program to the signal control unit 5, and updates the program. Let it. Then, step S1
At 3, the verification is performed again.
【0072】そして、ステップS16において、使用し
た要素プロセッサの数が充分な数であったか否かが判断
され、使用した要素プロセッサの数が充分な数であった
と判断された場合、ステップS18に進む。Then, in step S16, it is determined whether or not the number of used element processors is sufficient. If it is determined that the number of used element processors is sufficient, the process proceeds to step S18.
【0073】なお、使用した要素プロセッサの数が充分
な数であったか否かを判断する場合、ユーザが出力デー
タ観測装置9における表示を参照して判断し、操作部3
を操作するか、あるいは、所定の基準値(例えば、実機
である並列プロセッサの要素プロセッサ数)を予め制御
部1に記憶させておき、その基準値と検証結果が比較さ
れる。When it is determined whether or not the number of used element processors is sufficient, the user makes a determination with reference to the display on the output data observing device 9 and determines whether the operation unit 3
Or a predetermined reference value (for example, the number of element processors of a parallel processor as an actual machine) is stored in the control unit 1 in advance, and the reference value is compared with the verification result.
【0074】一方、使用した要素プロセッサの数が充分
な数ではなかったと判断された場合、ステップS17に
おいて、制御部1は、要素プロセッサの数Nを増加し
て、それに対応する信号を信号制御部5の要素プロセッ
サ数制御部42に供給した後、ステップS13に戻り、
再度、検証を行わせる。On the other hand, if it is determined that the number of used element processors is not a sufficient number, in step S17, the control unit 1 increases the number N of the element processors and sends a signal corresponding thereto to the signal control unit. After being supplied to the number-of-elements-controller 42, the process returns to step S13.
The verification is performed again.
【0075】そして、ステップS18において、制御部
1は、検証に使用されたプロセッサブロック7−j乃至
7−(j+i−1)のうちの最後のプロセッサブロック
の番号(j+i−1)が、実機である装置に設けられて
いるプロセッサブロックのうちの最後のプロセッサブロ
ックの番号PBMaxと同一であるか否かを判断し、
(j+i−1)=PBMaxではないと判断した場合、
ステップS19において、検証に使用するプロセッサブ
ロックのうちの先頭のプロセッサブロックの番号jの値
を1だけ増加させた後、ステップS6に戻り、ステップ
S7乃至ステップS11において、フラグPBenab
leの値を設定した後、検証を行う。Then, in step S18, the control unit 1 determines that the last processor block number (j + i-1) of the processor blocks 7-j to 7- (j + i-1) used for verification is It is determined whether the number is the same as the number PBMax of the last processor block among the processor blocks provided in a certain device,
If it is determined that (j + i-1) = PBMax is not satisfied,
In step S19, after increasing the value of the number j of the first processor block among the processor blocks used for verification by 1, the process returns to step S6, and in steps S7 to S11, the flag PBenab
After setting the value of le, verification is performed.
【0076】一方、ステップS18において、(j+i
−1)=PBMaxであると判断された場合、ステップ
S20に進み、制御部1は、検証に使用するプロセッサ
ブロックの個数iが、装置に設けられているプロセッサ
ブロックの個数PBMaxと同一であるか否かを判断
し、i=PBMaxではないと判断した場合、ステップ
S21において、検証に使用するプロセッサブロックの
個数iの値を1だけ増加させた後、ステップS5に戻
り、jの値を1にリセットした後、検証を順次行わせ
る。On the other hand, in step S18, (j + i
If it is determined that -1) = PBMax, the process proceeds to step S20, and the control unit 1 determines whether the number i of processor blocks used for verification is the same as the number PBMax of processor blocks provided in the device. If it is determined that i is not equal to PBMax, in step S21, the value of the number i of processor blocks used for verification is increased by one, and the process returns to step S5 to set the value of j to one. After resetting, verification is sequentially performed.
【0077】一方、ステップS20において、i=PB
Maxであると判断された場合、ステップS22に進
み、出力データ観測装置9により、最終的な処理結果が
出力される。On the other hand, in step S20, i = PB
If it is determined to be Max, the process proceeds to step S22, and the output data observation device 9 outputs the final processing result.
【0078】例えば、実機のプロセッサブロックの数P
BMaxが4である場合においては、図5に示すよう
に、iは1から4まで変化し、jは1から(5−i)ま
で変化する。そして、iが1である場合、図5(A)に
示すように、jが1であるとき、検証装置の第1番目の
プロセッサブロックPB[1]だけが処理を行い、jが
2であるとき、第2番目のプロセッサブロックPB
[2]だけが処理を行う。その後、jが3であるとき、
第3番目のプロセッサブロックPB[3]だけが処理を
行い、jが4であるとき、第4番目のプロセッサブロッ
クPB[4]だけが処理を行う。そして、4通りの検証
が行われた後、iが1だけ増加される。For example, the number P of actual processor blocks
When BMax is 4, as shown in FIG. 5, i changes from 1 to 4, and j changes from 1 to (5-i). Then, when i is 1, as shown in FIG. 5A, when j is 1, only the first processor block PB [1] of the verification device performs processing, and j is 2. At this time, the second processor block PB
Only [2] performs the processing. Then, when j is 3,
Only the third processor block PB [3] performs processing, and when j is 4, only the fourth processor block PB [4] performs processing. After the four types of verification are performed, i is increased by one.
【0079】次に、iが2である場合、図5(B)に示
すように、jが1であるとき、PB[1]とPB[2]
だけが処理を行い、jが2であるとき、PB[2]とP
B[3]だけが処理を行い、jが3であるとき、PB
[3]とPB[4]だけが処理を行う。そして、3通り
の検証が行われた後、iが1だけ増加される。Next, when i is 2, as shown in FIG. 5B, when j is 1, PB [1] and PB [2]
Only performs processing, and when j is 2, PB [2] and PB [2]
Only B [3] performs the processing, and when j is 3, PB
Only [3] and PB [4] perform processing. Then, after three kinds of verifications are performed, i is incremented by one.
【0080】そして、iが3である場合、図5(C)に
示すように、jが1であるとき、PB[1]、PB
[2]、および、PB[3]が処理を行い、jが2であ
るとき、PB[2]、PB[3]、および、PB[4]
が処理を行う。そして、2通りの検証が行われた後、i
が1だけ増加される。When i is 3, as shown in FIG. 5C, when j is 1, PB [1], PB
[2] and PB [3] perform the processing, and when j is 2, PB [2], PB [3] and PB [4]
Performs the processing. After two types of verification, i
Is increased by one.
【0081】最後に、iが4である場合、図5(D)に
示すように、jが1であるとき、すべてのプロセッサブ
ロックであるPB[1]乃至PB[4]が1回だけ処理
を行う。Finally, when i is 4, as shown in FIG. 5D, when j is 1, all the processor blocks PB [1] to PB [4] are processed only once. I do.
【0082】以上のようにして、検証に使用するプロセ
ッサブロックの数iが順次増加されていくとともに、各
プロセッサブロック数iで(PBMax−i+1)通り
の組み合わせで、それぞれ検証が行われる。As described above, the number i of processor blocks used for verification is sequentially increased, and verification is performed in (PBMax-i + 1) combinations with each processor block number i.
【0083】次に、プログラムの検証の一例として、図
7に示す2つのプロセッサブロックを有する画像処理用
並列プロセッサにおける水平方向のローパスフィルタ処
理とゲインコントロール処理を記述したプログラムの検
証について説明する。なお、この並列プロセッサは、1
水平走査期間に対して720画素のデータを有するNT
SC方式の画像データに対して処理を行うので、720
個の要素プロセッサを内蔵している。Next, as an example of program verification, verification of a program describing horizontal low-pass filter processing and gain control processing in an image processing parallel processor having two processor blocks shown in FIG. 7 will be described. This parallel processor has 1
NT having 720 pixel data for horizontal scanning period
Since processing is performed on image data of the SC system, 720
Built-in element processors.
【0084】例えば、図6に示すように、原画像の各画
素値をAijで表し、ローパスフィルタ処理とゲインコン
トロール処理を施した後の画像の各画素値をBijで表す
と、処理後の画素値B22は、次式で表される。 B22=(A21/4+A22/4+A23/4)×4/3For example, as shown in FIG. 6, each pixel value of the original image is represented by A ij , and each pixel value of the image subjected to the low-pass filter processing and the gain control processing is represented by B ij. pixel value B 22 is expressed by the following equation. B 22 = (A 21/4 + A 22/4 + A 23/4) × 4/3
【0085】水平方向のローパスフィルタ処理において
は、所定の画素の値の1/4の値、その画素の左隣りの
画素の値の1/4の値、および、その画素の左隣りの画
素の値の1/4の値の総和が計算される。そして、ゲイ
ンコントロール処理においては、ローパスフィルタ処理
における計算結果に4/3が乗ぜられる。従って、図7
のプロセッサブロック62−1において、水平方向のロ
ーパスフィルタ処理が行われ、プロセッサブロック62
−2において、ゲインコントロール処理が行われる。In the horizontal low-pass filter processing, a value of 1/4 of the value of a predetermined pixel, a value of 1/4 of a value of a pixel on the left of the pixel, and a value of a pixel on the left of the pixel are determined. The sum of 1/4 of the values is calculated. Then, in the gain control processing, the calculation result in the low-pass filter processing is multiplied by 4/3. Therefore, FIG.
In the processor block 62-1, a low-pass filter process in the horizontal direction is performed.
At -2, a gain control process is performed.
【0086】このような処理を行うプログラムを検証す
る場合、まず、図3のステップS1において、制御部1
は、NTSC方式の原画像データを記録媒体2より読み
出し、入力SAM部6に供給する。When verifying a program for performing such processing, first, in step S1 of FIG.
Reads the original image data of the NTSC system from the recording medium 2 and supplies it to the input SAM unit 6.
【0087】次に、ステップS2において、制御部1
は、上述のローパスフィルタ処理に対応する並列プロセ
ッサ用プログラムを記録媒体2より読み出し、信号制御
部5を介してプロセッサブロック7−1のプログラム制
御部41に供給し、上述のゲインコントロール処理に対
応する並列プロセッサ用プログラムを記録媒体2より読
み出し、信号制御部5を介してプロセッサブロック7−
2のプログラム制御部41に供給する。Next, in step S2, the control unit 1
Reads the program for the parallel processor corresponding to the above-described low-pass filter processing from the recording medium 2 and supplies the program to the program control unit 41 of the processor block 7-1 via the signal control unit 5 to support the above-described gain control processing. The program for the parallel processor is read from the recording medium 2, and the processor block 7-
2 program control unit 41.
【0088】なお、並列プロセッサ用プログラムが機械
語以外で記述されている場合(例えば、並列プロセッサ
に対応したアセンブリ言語でプログラムが記述されてい
る場合)、制御部1は、並列プロセッサ用プログラムを
機械語に翻訳した後、翻訳後のプログラムを供給する。When the parallel processor program is described in a language other than the machine language (for example, when the program is described in an assembly language corresponding to the parallel processor), the control unit 1 converts the parallel processor program into a machine language. After the translation into words, supply the translated program.
【0089】そして、ステップS3において、制御部1
は、検証に使用される要素プロセッサの数などの制御情
報が記録されているファイルを読み出す。Then, in step S3, the control unit 1
Reads a file in which control information such as the number of element processors used for verification is recorded.
【0090】次に、制御部1は、ステップS4におい
て、検証に使用するプロセッサブロックの数iを1に設
定し、ステップS5において、検証に使用するプロセッ
サブロックの先頭の番号jを1に設定する。Next, in step S4, the control unit 1 sets the number i of the processor blocks used for verification to one, and in step S5, sets the head number j of the processor block used for verification to one. .
【0091】そして、制御部1は、ステップS6におい
て、プロセッサブロック7−1乃至7−Mの動作状態に
それぞれ対応するフラグPBenable[1]乃至P
Benable[M]に、処理を実行しない状態に対応
する値OFFを設定する。その後、制御部1は、ステッ
プS7において、カウンタkにjの値(今の場合j=
1)を代入し、ステップS8において、プロセッサブロ
ック62−1に対応するフラグPBenable[1]
に、処理を実行する状態に対応する値ONを設定する。Then, in step S6, the control section 1 sets the flags PBenable [1] to PBen [1] to PBnn corresponding to the operation states of the processor blocks 7-1 to 7-M, respectively.
A value OFF corresponding to a state in which the process is not executed is set to Benable [M]. Thereafter, in step S7, the control unit 1 stores the value of j in the counter k (in this case, j =
1), and in step S8, the flag PBenable [1] corresponding to the processor block 62-1
Is set to a value ON corresponding to the state in which the processing is executed.
【0092】次に、ステップS9において、制御部1
は、k=j+i−1であるか否かを判断する。今の場
合、kが1であり、(j+i−1)が1であるので、ス
テップS11に進み、フラグPBenable[1]乃
至PBenable[M]に対応する信号をプロセッサ
ブロック選択回路4に供給する。今の場合、PBena
ble[1]の値はONであり、PBenable
[2]乃至PBenable[M]の値はOFFであ
る。Next, in step S9, the control unit 1
Determines whether k = j + i−1. In this case, since k is 1 and (j + i-1) is 1, the process proceeds to step S11, and the signals corresponding to the flags PBenable [1] to PBenable [M] are supplied to the processor block selection circuit 4. In this case, PBena
The value of ble [1] is ON and PBenable
The values of [2] to PBenable [M] are OFF.
【0093】そして、ステップS12において、制御部
1は、検証に使用する要素プロセッサの数Nを、ステッ
プS3で読み出した制御情報で指定される値に設定し、
その値に対応する信号を信号制御部5の要素プロセッサ
数制御部42に供給する。検証の初期段階においては、
プログラムにバグが存在することが比較的多いので、制
御情報を記録しているファイルに、検証に使用する要素
プロセッサの数Nを、予め少ない数(例えば3個)に設
定し、記録しておくようにする。今の場合、Nは3に設
定される。In step S12, the control unit 1 sets the number N of element processors used for verification to a value specified by the control information read in step S3.
A signal corresponding to the value is supplied to the element processor number control unit 42 of the signal control unit 5. In the early stages of validation,
Since a bug often exists in a program, the number N of element processors used for verification is set to a small number (for example, three) in advance and recorded in a file in which control information is recorded. To do. In this case, N is set to 3.
【0094】次に、ステップS13において、制御部1
は、プログラムに対応する処理を行わせる。このとき、
プロセッサブロック選択回路4は、プロセッサブロック
7−1に対してだけ所定の信号を供給し、プロセッサブ
ロック7−1だけを動作させる。また、要素プロセッサ
数制御部3は、所定の信号をプロセッサブロック7−1
に供給することにより、使用する要素プロセッサ数が3
個であることをプロセッサブロック7−1に通知する。Next, in step S13, the control unit 1
Causes the program to perform a corresponding process. At this time,
The processor block selection circuit 4 supplies a predetermined signal only to the processor block 7-1 to operate only the processor block 7-1. Further, the element processor number control unit 3 sends a predetermined signal to the processor block 7-1.
The number of element processors used is 3
The processor block 7-1 is notified that the number is the number.
【0095】従って、今の場合、プロセッサブロック7
−1における3個の要素プロセッサだけが処理(ローパ
スフィルタ処理)を行うことになる。Therefore, in this case, the processor block 7
Only the three element processors in -1 perform the processing (low-pass filter processing).
【0096】そして、プロセッサブロック7−1におけ
る3個の要素プロセッサにより処理されたデータは、プ
ロセッサブロック7−2および出力SAM部8を介して
出力データ観測装置9に出力される。なお、このとき、
プロセッサブロック7−2は、プロセッサブロック7−
1より受け取ったデータをそのまま出力SAM部8に出
力する。The data processed by the three element processors in the processor block 7-1 is output to the output data observation device 9 via the processor block 7-2 and the output SAM unit 8. At this time,
The processor block 7-2 includes a processor block 7-
The data received from 1 is output to the output SAM unit 8 as it is.
【0097】出力データ観測装置9は、そのデータの
他、プロセッサブロック7−1の出力データ転送回路2
3Aからのメモリやレジスタの値などの詳細な情報を、
所定の形式(例えばテキスト形式)に変換した後、所定
の表示部に表示する。The output data observation device 9 outputs the data and the output data transfer circuit 2 of the processor block 7-1.
Detailed information such as memory and register values from 3A
After conversion into a predetermined format (for example, a text format), it is displayed on a predetermined display unit.
【0098】そして、例えばユーザにより、ステップS
14において、その検証結果が良好なものであるか否か
が判断され、その判断に対応する操作が操作部3に対し
て行われる。Then, for example, by the user, step S
At 14, it is determined whether or not the verification result is good, and an operation corresponding to the determination is performed on the operation unit 3.
【0099】検証結果が良好なものではないと判断され
た場合、制御部1は、処理を中止する。そして、ステッ
プS15に進み、ユーザは、プログラムのデバッグを行
った後、デバッグしたプログラムを記録媒体2に記録さ
せる。そして、操作部3におけるユーザによる操作に対
応して、再度、検証が行われる。If it is determined that the verification result is not good, the control unit 1 stops the processing. Then, proceeding to step S15, the user debugs the program, and then records the debugged program on the recording medium 2. Then, the verification is performed again in response to the operation of the operation unit 3 by the user.
【0100】一方、検証結果が良好なものであると判断
された場合、ステップS16に進む。On the other hand, if it is determined that the verification result is good, the process proceeds to step S16.
【0101】そして、ステップS16において、使用し
た要素プロセッサの数Nが充分な数であったか否かが判
断される。このとき、図7の並列プロセッサの要素プロ
セッサの数と、使用した要素プロセッサの数Nが比較さ
れる。Then, in step S16, it is determined whether the number N of used element processors is a sufficient number. At this time, the number of element processors of the parallel processor in FIG. 7 is compared with the number N of element processors used.
【0102】今の場合、図7の並列プロセッサの要素プ
ロセッサの数が720個であり、使用した要素プロセッ
サの数Nが3個であるので、充分な数ではなかったと判
断され、ステップS17において、検証に使用する要素
プロセッサの数が例えば720個に増加された後、再
度、検証が行われる。In this case, since the number of element processors of the parallel processor of FIG. 7 is 720 and the number N of element processors used is three, it is determined that the number is not a sufficient number. After the number of element processors used for verification is increased to, for example, 720, verification is performed again.
【0103】一方、ステップS16において、使用した
要素プロセッサの数が充分な数(今の場合、720個)
であったと判断された場合、ステップS18に進む。On the other hand, in step S16, the number of used element processors is sufficient (720 in this case).
If it is determined that the answer is YES, the process proceeds to step S18.
【0104】そして、ステップS18において、制御部
1は、検証に使用されたプロセッサブロックのうちの最
後のプロセッサブロックの番号(j+i−1)(今の場
合、j+i−1=1)が、実機である装置(図7)に設
けられているプロセッサブロックのうちの最後のプロセ
ッサブロックの番号PBMax(=2)と同一であるか
否かを判断する。Then, in step S18, the control unit 1 determines the last processor block number (j + i-1) (in this case, j + i-1 = 1) of the processor blocks used for the verification by the actual device. It is determined whether or not the number is the same as the number PBMax (= 2) of the last processor block among the processor blocks provided in a certain device (FIG. 7).
【0105】今の場合、(j+i−1)=PBMaxで
はないと判断され、ステップS19において、検証に使
用するプロセッサブロックのうちの先頭のプロセッサブ
ロックの番号jの値が1から2に増加された後、ステッ
プS6に戻り、ステップS7乃至ステップS11におい
て、フラグPBenable[1]の値がOFFに、フ
ラグPBenable[2]の値がONに設定された
後、プロセッサブロック7−2で、ゲインコントロール
処理を記述したプログラムだけの検証が行われる。In this case, it is determined that (j + i-1) = PBMax is not satisfied, and in step S19, the value of the number j of the first processor block among the processor blocks used for verification is increased from 1 to 2. Thereafter, the process returns to step S6, and in steps S7 to S11, after the value of the flag PBenable [1] is set to OFF and the value of the flag PBenable [2] is set to ON, the gain control process is performed in the processor block 7-2. Is verified only for the program that describes.
【0106】この場合においても、最初に、3個の要素
プロセッサで検証が行われた後、検証に使用される要素
プロセッサの数が720個まで順次増加される。Also in this case, first, verification is performed by three element processors, and then the number of element processors used for verification is sequentially increased to 720.
【0107】そして、プロセッサブロック7−2だけで
検証が行われた後、ステップS18において、(j+i
−1)=PBMax(この場合、j=2、i=1、PB
Max=2)であると判断され、ステップS20に進
み、制御部1は、検証に使用するプロセッサブロックの
個数iが、装置に設けられているプロセッサブロックの
個数PBMaxと同一であるか否かを判断する。今の場
合、i=1であり、PBMax=2であるので、i=P
BMaxではないと判断され、ステップS21におい
て、検証に使用するプロセッサブロックの個数iの値が
1から2に増加された後、ステップS5に戻り、ステッ
プS5においてjの値を1にリセットした後、2つのプ
ロセッサブロック7−1,7−2で検証が行われる。After the verification is performed only in the processor block 7-2, in step S18, (j + i
-1) = PBMax (in this case, j = 2, i = 1, PB
Max = 2), the process proceeds to step S20, and the control unit 1 determines whether the number i of processor blocks used for verification is the same as the number PBMax of processor blocks provided in the device. to decide. In this case, since i = 1 and PBMax = 2, i = P
It is determined that it is not BMax, and in step S21, after the value of the number i of processor blocks used for verification is increased from 1 to 2, the process returns to step S5, and after the value of j is reset to 1 in step S5, Verification is performed by two processor blocks 7-1 and 7-2.
【0108】この場合においても、最初に、3個の要素
プロセッサで検証が行われた後、検証に使用される要素
プロセッサの数が720個まで順次増加される。Also in this case, first, verification is performed by three element processors, and then the number of element processors used for verification is sequentially increased to 720.
【0109】そして、2つのプロセッサブロック7−
1,7−2で検証が行われた後、ステップS20におい
て、i=PBMaxであると判断され(この場合、i=
2、PBMax=2)、ステップS22に進み、出力デ
ータ観測装置9により、最終的な処理結果が出力され
る。Then, the two processor blocks 7-
After the verification is performed in steps 1 and 7-2, it is determined in step S20 that i = PBMax (in this case, i = PBMax).
(2, PBMax = 2), the process proceeds to step S22, and the output data observation device 9 outputs a final processing result.
【0110】このように、最初に、ローパスフィルタ処
理のプログラムだけの検証が行われた後、ゲインコント
ロール処理のプログラムだけの検証が行われ、最後に、
ローパスフィルタ処理のプログラムとゲインコントロー
ル処理のプログラムの検証が同時に行われる。As described above, first, only the program of the low-pass filter processing is verified, then, only the program of the gain control processing is verified, and finally,
The verification of the program of the low-pass filter processing and the verification of the program of the gain control processing are performed simultaneously.
【0111】なお、本発明は、上記実施の形態に限定さ
れるものではなく、他の検証装置に応用することができ
る。Note that the present invention is not limited to the above embodiment, but can be applied to other verification devices.
【0112】[0112]
【発明の効果】以上のごとく、請求項1に記載のプログ
ラム検証装置および請求項8に記載のプログラム検証方
法によれば、第1の数のプロセッサブロックのうち、検
証に使用する第2の数のプロセッサブロックを選択し、
プログラムに対応する命令コードを第2の数のプロセッ
サブロックで処理し、検証の結果を出力するようにした
ので、デバッグをプログラムの部分ごとに行うことが可
能となり、デバッグに要する時間が短縮され、プログラ
ム開発に要する時間を低減することができる。As described above, according to the program verifying device of the first aspect and the program verifying method of the eighth aspect, the second number used for verification among the first number of processor blocks is used. Select the processor block of
Since the instruction code corresponding to the program is processed by the second number of processor blocks and the result of the verification is output, debugging can be performed for each part of the program, and the time required for debugging is reduced, The time required for program development can be reduced.
【図1】本発明のプログラム検証装置の一実施の形態の
構成を示すブロック図である。FIG. 1 is a block diagram showing a configuration of an embodiment of a program verification device of the present invention.
【図2】図1のプロセッサブロックの構成例を示すブロ
ック図である。FIG. 2 is a block diagram illustrating a configuration example of a processor block in FIG. 1;
【図3】図1のプログラム検証装置を使用してプログラ
ムの開発を行う場合の処理の流れについて説明するフロ
ーチャートである。FIG. 3 is a flowchart illustrating a processing flow when a program is developed using the program verification device of FIG. 1;
【図4】図1のプログラム検証装置を使用してプログラ
ムの開発を行う場合の処理の流れについて説明するフロ
ーチャートである。FIG. 4 is a flowchart illustrating a processing flow when a program is developed using the program verification device of FIG. 1;
【図5】検証に使用されるプロセッサブロックの順番の
一例を示す図である。FIG. 5 is a diagram showing an example of the order of processor blocks used for verification.
【図6】画像処理の一例を示す図である。FIG. 6 is a diagram illustrating an example of image processing.
【図7】画像処理用並列プロセッサの一構成例を示すブ
ロック図である。FIG. 7 is a block diagram illustrating a configuration example of a parallel processor for image processing.
【図8】従来のプログラム検証装置の一構成例を示すブ
ロック図である。FIG. 8 is a block diagram illustrating a configuration example of a conventional program verification device.
【図9】図8のプロセッサブロックの一構成例を示すブ
ロック図である。FIG. 9 is a block diagram illustrating a configuration example of a processor block in FIG. 8;
【図10】図8の並列プロセッサ用のプログラムを開発
する場合の処理の流れの一例を説明するフローチャート
である。FIG. 10 is a flowchart illustrating an example of a processing flow when a program for the parallel processor in FIG. 8 is developed.
1 制御部, 2 記録媒体, 3 操作部, 4 プ
ロセッサブロック選択回路, 5 信号制御部, 6
入力SAM部, 7−1乃至7−M プロセッサブロッ
ク, 8 出力SAM部, 9 出力データ観測装置,
21 入力データ転送回路, 22A 並列プロセッ
サシミュレーション部, 23A 出力データ転送回
路, 31 データメモリ部, 32 ALUアレイ
部, 41プログラム制御部, 42 要素プロセッサ
数制御部Reference Signs List 1 control unit, 2 recording medium, 3 operation unit, 4 processor block selection circuit, 5 signal control unit, 6
Input SAM unit, 7-1 to 7-M processor block, 8 output SAM unit, 9 output data observation device,
Reference Signs List 21 input data transfer circuit, 22A parallel processor simulation unit, 23A output data transfer circuit, 31 data memory unit, 32 ALU array unit, 41 program control unit, 42 element processor number control unit
Claims (8)
処理装置により処理されるプログラムを検証するプログ
ラム検証装置において、 第1の数のプロセッサブロックを有する処理手段と、 前記第1の数のプロセッサブロックのうち、検証に使用
する第2の数のプロセッサブロックを選択する選択手段
と、 前記プログラムに対応する命令コードを前記処理手段に
供給する供給手段と、前記検証の結果を出力する出力手
段とを備えることを特徴とするプログラム検証装置。1. A program verification device for verifying a program processed by an information processing device having a plurality of processor blocks, wherein: a processing unit having a first number of processor blocks; Selecting means for selecting a second number of processor blocks to be used for verification, supplying means for supplying an instruction code corresponding to the program to the processing means, and output means for outputting the result of the verification. A program verification device characterized by the above-mentioned.
ブロックの数に応じて前記第2の数を変更する変更手段
をさらに備えることを特徴とする請求項1に記載のプロ
グラム検証装置。2. The program verifying apparatus according to claim 1, further comprising changing means for changing the second number in accordance with the number of processor blocks used in the previous verification.
用した前記第2の数のプロセッサブロックのうちの少な
くとも1つを他のプロセッサブロックに変更した前記第
2の数のプロセッサブロックを選択することを特徴とす
る請求項1に記載のプログラム検証装置。3. The method according to claim 1, wherein the selecting unit selects the second number of processor blocks in which at least one of the second number of processor blocks used in the previous verification is changed to another processor block. The program verification device according to claim 1, wherein:
グラムを前記供給手段に入力する入力手段をさらに備え
ることを特徴とする請求項1に記載のプログラム検証装
置。4. The program verification apparatus according to claim 1, further comprising an input unit that inputs a program changed according to a result of the verification to the supply unit.
プロセッサであることを特徴とする請求項1に記載のプ
ログラム検証装置。5. The program verification device according to claim 1, wherein the information processing device is a SIMD type parallel processor.
を行う演算部を有することを特徴とする請求項1に記載
のプログラム検証装置。6. The program verification apparatus according to claim 1, wherein the processing unit has an arithmetic unit that performs parallel processing in a SIMD type.
要素プロセッサを有し、 前記所定の数の要素プロセッサのうち、検証に使用する
要素プロセッサを選択する第2の選択手段を備えること
を特徴とする請求項1に記載のプログラム検証装置。7. The processor block includes a predetermined number of element processors, and includes a second selection unit that selects an element processor to be used for verification from among the predetermined number of element processors. The program verification device according to claim 1, wherein
処理装置により処理されるプログラムを、第1の数のプ
ロセッサブロックを有する処理部を使用して検証するプ
ログラム検証方法で、 前記第1の数のプロセッサブロックのうち、検証に使用
する第2の数のプロセッサブロックを選択するステップ
と、 前記プログラムに対応する命令コードを前記第2の数の
プロセッサブロックで処理するステップと、 前記検証の結果を出力するステップとを備えることを特
徴とするプログラム検証方法。8. A program verification method for verifying a program processed by an information processing device having a plurality of processor blocks by using a processing unit having a first number of processor blocks, wherein the first number of processors is provided. Selecting, from the blocks, a second number of processor blocks to be used for verification; processing the instruction code corresponding to the program by the second number of processor blocks; outputting the result of the verification And a program verifying method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9073200A JPH10269189A (en) | 1997-03-26 | 1997-03-26 | Device and method for verifying program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9073200A JPH10269189A (en) | 1997-03-26 | 1997-03-26 | Device and method for verifying program |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH10269189A true JPH10269189A (en) | 1998-10-09 |
Family
ID=13511279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9073200A Withdrawn JPH10269189A (en) | 1997-03-26 | 1997-03-26 | Device and method for verifying program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH10269189A (en) |
-
1997
- 1997-03-26 JP JP9073200A patent/JPH10269189A/en not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20080320038A1 (en) | Method for Processing an Object on a Platform Having One or More Processors and Memories, and Platform Using Same | |
JPH10254839A (en) | Simd controlling parallel processor and arithmetic method | |
JP3442192B2 (en) | Data-driven information processor | |
JPH10269189A (en) | Device and method for verifying program | |
US7900021B2 (en) | Image processing apparatus and image processing method | |
JP2001216275A (en) | Image processor and image processing method | |
JPH1153189A (en) | Operation unit, operation method and recording medium readable by computer | |
JPH10240565A (en) | Application program verification device, application program verification method and medium | |
JP2960328B2 (en) | Apparatus for providing operands to "n + 1" operators located in a systolic architecture | |
US6741294B2 (en) | Digital signal processor and digital signal processing method | |
JPH10254841A (en) | Program verification device and method | |
JPS58105355A (en) | Controlling system for execution of instruction | |
JP2927049B2 (en) | Image processing device | |
JPH0589234A (en) | Method and device for image processing | |
JPH1165882A (en) | Device and method for verifying program and transmission medium | |
JPH1115801A (en) | Data arithmetic unit, method and transmission medium | |
JP2557043B2 (en) | Bit pattern detector | |
JP2998298B2 (en) | Image processing device | |
JP2000020705A (en) | Parallel image processing processor | |
JP2001229138A (en) | Device and method for image processing | |
JPH0723289A (en) | Image data transfer processor | |
JPH0436427B2 (en) | ||
JPH0863452A (en) | Simd processor | |
JPH01251286A (en) | Image processor | |
JPH07334671A (en) | Filtering processing system for extra-high speed picture processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20040601 |