JPH0411894B2 - - Google Patents
Info
- Publication number
- JPH0411894B2 JPH0411894B2 JP60267688A JP26768885A JPH0411894B2 JP H0411894 B2 JPH0411894 B2 JP H0411894B2 JP 60267688 A JP60267688 A JP 60267688A JP 26768885 A JP26768885 A JP 26768885A JP H0411894 B2 JPH0411894 B2 JP H0411894B2
- Authority
- JP
- Japan
- Prior art keywords
- array
- data
- program
- vector
- 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.)
- Expired - Lifetime
Links
Landscapes
- Debugging And Monitoring (AREA)
- Complex Calculations (AREA)
Description
【発明の詳細な説明】
〔概要〕
配列演算をベクトル処理装置によつて実行する
ようにしたプログラムのデバツグ処理方式であ
る。被演算配列の値又は添字の範囲等を検査する
デバツグ機能の実行において、検査のための参照
値をベクトルレジスタにロードし、同じくベクト
ルレジスタ上の被演算配列のデータ又は添字値と
参照値との比較検査を、ベクトル処理装置のベク
トル命令によつて一括処理する。この構成によ
り、デバツグ処理を高速に実行することができ
る。
ようにしたプログラムのデバツグ処理方式であ
る。被演算配列の値又は添字の範囲等を検査する
デバツグ機能の実行において、検査のための参照
値をベクトルレジスタにロードし、同じくベクト
ルレジスタ上の被演算配列のデータ又は添字値と
参照値との比較検査を、ベクトル処理装置のベク
トル命令によつて一括処理する。この構成によ
り、デバツグ処理を高速に実行することができ
る。
本発明は、計算機システムにおける、配列演算
をベクトル処理装置によつて実行するようにした
プログラムのデバツグ処理方式に関する。
をベクトル処理装置によつて実行するようにした
プログラムのデバツグ処理方式に関する。
計算機システムのプログラムのデバツグにおい
て、被演算数が正しく設定されているか、或いは
配列データの添字に所定の範囲内の値が指定され
ているか等を検査するプログラムを、被デバツグ
プログラムの所要個所に挿入して実行することは
よく知られている。
て、被演算数が正しく設定されているか、或いは
配列データの添字に所定の範囲内の値が指定され
ているか等を検査するプログラムを、被デバツグ
プログラムの所要個所に挿入して実行することは
よく知られている。
このような検査プログラムを挿入して実行した
場合には、一般にプログラムの処理時間が長くな
るが、ベクトル演算を含むプログラムの場合に
は、検査対象のデータ数が多くなり易いので、検
査処理時間の短縮が特に望まれる。
場合には、一般にプログラムの処理時間が長くな
るが、ベクトル演算を含むプログラムの場合に
は、検査対象のデータ数が多くなり易いので、検
査処理時間の短縮が特に望まれる。
第3図は、計算機システムの一構成例を示すブ
ロツク図である。
ロツク図である。
スカラ処理装置1は、通常の中央処理装置等と
同様の処理装置であつて、記憶制御装置2を経て
主記憶装置3と接続し、主記憶装置3上に保持さ
れているプログラムを実行することによつて、同
じく主記憶装置3上に保持されるデータを処理
し、又入出力システム4を制御する。
同様の処理装置であつて、記憶制御装置2を経て
主記憶装置3と接続し、主記憶装置3上に保持さ
れているプログラムを実行することによつて、同
じく主記憶装置3上に保持されるデータを処理
し、又入出力システム4を制御する。
スカラ処理装置1は、実行するプログラムにベ
クトル命令があつた場合には、ベクトル命令の実
行をベクトル処理装置5にまかせる。
クトル命令があつた場合には、ベクトル命令の実
行をベクトル処理装置5にまかせる。
ベクトル処理装置5は、配列データを高速に処
理するように構成された処理装置であり、そのた
めに公知のように、被演算数あるいは制御量であ
る配列データを多数保持することのできるベクト
ルレジスタ10と、演算部11、アクセス部1
2、制御部13等から構成される。
理するように構成された処理装置であり、そのた
めに公知のように、被演算数あるいは制御量であ
る配列データを多数保持することのできるベクト
ルレジスタ10と、演算部11、アクセス部1
2、制御部13等から構成される。
ベクトル処理装置5は制御部13によつて、ス
カラ処理装置1からベクトル命令を受け取り、そ
の命令実行のために、アクセス部12によつて主
記憶装置3とベクトルレジスタ10で配列データ
を授受する。
カラ処理装置1からベクトル命令を受け取り、そ
の命令実行のために、アクセス部12によつて主
記憶装置3とベクトルレジスタ10で配列データ
を授受する。
演算部11はベクトルレジスタ10に保持され
る配列データについて、いわゆるパイプライン方
式の並列処理によつて、多量のデータに対する同
種の演算の連続実行が効率よく行われるように構
成されている。
る配列データについて、いわゆるパイプライン方
式の並列処理によつて、多量のデータに対する同
種の演算の連続実行が効率よく行われるように構
成されている。
このようなシステムで実行されるプログラム
は、例えばFORTRANプログラミング言語で記
述され、いわゆるFORTRANコンパイラによつ
て、スカラ処理装置1及びベクトル処理装置5で
実行される命令からなる目的プログラミングに翻
訳されて実行される。
は、例えばFORTRANプログラミング言語で記
述され、いわゆるFORTRANコンパイラによつ
て、スカラ処理装置1及びベクトル処理装置5で
実行される命令からなる目的プログラミングに翻
訳されて実行される。
公知のようにFORTRANコンパイラ等には、
プログラムデバツグのための機能があり、そのよ
うな機能の所要のものを該コンパイラによる翻訳
時に選択して指定することにより、コンパイラは
デバツグのためのデータを取得する等のためのプ
ログラムを生成して、目的プログラムの中の所要
個所に挿入する。
プログラムデバツグのための機能があり、そのよ
うな機能の所要のものを該コンパイラによる翻訳
時に選択して指定することにより、コンパイラは
デバツグのためのデータを取得する等のためのプ
ログラムを生成して、目的プログラムの中の所要
個所に挿入する。
かゝるデバツグ機能には、配列データ等の演算
時において、プログラムで指定された被演算変数
に正しく値が設定されているかを検査する機能、
データを指定する配列の添字がプログラムで宣言
している範囲を越えていないかを検査する機能等
がある。
時において、プログラムで指定された被演算変数
に正しく値が設定されているかを検査する機能、
データを指定する配列の添字がプログラムで宣言
している範囲を越えていないかを検査する機能等
がある。
前者の検査は、例えば第4図に示す処理の流れ
によつて実行されるように、スカラ処理装置1で
実行する検査プログラムが生成される。
によつて実行されるように、スカラ処理装置1で
実行する検査プログラムが生成される。
なお、この検査が指定されている場合には、プ
ログラム実行開始時の初期設定において、変数の
全バイトを検査のための特定値(例えば、2進数
‘0100001011')にするための検査プログラムが
付加されるものとする。
ログラム実行開始時の初期設定において、変数の
全バイトを検査のための特定値(例えば、2進数
‘0100001011')にするための検査プログラムが
付加されるものとする。
検査プログラムが開始されると、第4図の処理
のステツプ20で、参照データ値(前記特定値と
一致する値)を適当なレジスタにロードする。
のステツプ20で、参照データ値(前記特定値と
一致する値)を適当なレジスタにロードする。
ステツプ21で、配列の先頭データにポインタ
を設定し、ステツプ22で配列中の1要素データ
を主記憶から読み出してレジスタにロードする。
を設定し、ステツプ22で配列中の1要素データ
を主記憶から読み出してレジスタにロードする。
ステツプ23で、読み出した1要素データと、
参照データ値とを比較し、ステツプ24で比較結
果による分岐をする。
参照データ値とを比較し、ステツプ24で比較結
果による分岐をする。
もし要素データが参照データと一致すれば、そ
の要素は検査のための初期設定後、被デバツグプ
ログラムによつて値が指定されていないこと(即
ちプログラムエラー)を示すので、ステツプ25
において、未定義データとしてメツセージ出力す
るために、例えば要素番号を所定の領域に記憶
し、ステツプ26へ進む。
の要素は検査のための初期設定後、被デバツグプ
ログラムによつて値が指定されていないこと(即
ちプログラムエラー)を示すので、ステツプ25
において、未定義データとしてメツセージ出力す
るために、例えば要素番号を所定の領域に記憶
し、ステツプ26へ進む。
ステツプ24で要素データと参照データが不一
致と判定したときは、その要素は何等かの定義が
されているので、そのまゝステツプ26へ進む。
致と判定したときは、その要素は何等かの定義が
されているので、そのまゝステツプ26へ進む。
ステツプ26で、配列データの終わりまで検査
したか識別し、未処理があればステツプ27で、
ポインタを次の要素データのアドレスへ進めた
後、ステツプ22へ処理へ戻る。
したか識別し、未処理があればステツプ27で、
ポインタを次の要素データのアドレスへ進めた
後、ステツプ22へ処理へ戻る。
このようにして、ステツプ22〜ステツプ27
のループによつて、1要素データづつ検査し、所
要の配列の全要素を検査して、この部分の検査プ
ログラムの実行を終わり、プログラムエラーがあ
つた場合にはその後エラーメツセージの出力処理
が開始される。又、エラーが無ければ、被デバツ
グプログラムの続く部分の実行が再開される。
のループによつて、1要素データづつ検査し、所
要の配列の全要素を検査して、この部分の検査プ
ログラムの実行を終わり、プログラムエラーがあ
つた場合にはその後エラーメツセージの出力処理
が開始される。又、エラーが無ければ、被デバツ
グプログラムの続く部分の実行が再開される。
以上の処理の流れによつて明らかなように、配
列の各要素について数ステツプの検査処理を要す
るので、配列のサイズが大きくなると検査時間が
無視できない長さになる。
列の各要素について数ステツプの検査処理を要す
るので、配列のサイズが大きくなると検査時間が
無視できない長さになる。
更に、このような検査を指定した場合に、1つ
の被デバツグプログラムには一般に多数の配列デ
ータ参照があるので、多数の個所に同様の検査が
挿入されることになるので、そのようなプログラ
ムの実行時間は極めて長くなり、デバツグ実行時
間を短縮する方式が望まれていた。
の被デバツグプログラムには一般に多数の配列デ
ータ参照があるので、多数の個所に同様の検査が
挿入されることになるので、そのようなプログラ
ムの実行時間は極めて長くなり、デバツグ実行時
間を短縮する方式が望まれていた。
第1図は、本発明の原理構成を示す処理の流れ
図である。
図である。
図において、30は参照配列データのロード、
31は被検査配列データのロード、32はベクト
ルレジスタ上のデータ比較及び結果セツトの、そ
れぞれ処理のステツプである。
31は被検査配列データのロード、32はベクト
ルレジスタ上のデータ比較及び結果セツトの、そ
れぞれ処理のステツプである。
処理のステツプ30において、被検査配列と同
サイズの参照値配列データを主記憶装置3からベ
クトルレジスタ10へロードし、ステツプ31
で、被検査配列データを主記憶装置3からベクト
ルレジスタ10へロードする。
サイズの参照値配列データを主記憶装置3からベ
クトルレジスタ10へロードし、ステツプ31
で、被検査配列データを主記憶装置3からベクト
ルレジスタ10へロードする。
ステツプ32で、ベクトルレジスタ10から被
検査配列の要素データと対応する参照値データを
読み出して比較し、比較結果を制御レジスタにセ
ツトする処理を、全要素について実行し、検査処
理を終わる。
検査配列の要素データと対応する参照値データを
読み出して比較し、比較結果を制御レジスタにセ
ツトする処理を、全要素について実行し、検査処
理を終わる。
以上の処理構成により、ベクトル処理装置5の
機能を有効に利用して、配列の検査が実行される
ので、被デバツグプログラムに実行時間を大幅に
短縮することができる。
機能を有効に利用して、配列の検査が実行される
ので、被デバツグプログラムに実行時間を大幅に
短縮することができる。
第2図aは、プログラムで指定された被演算配
列変数に正しく値が設定されているかを検査する
ことが指定された場合の、各配列参照に対して生
成されるプログラムの処理の流れ図である。
列変数に正しく値が設定されているかを検査する
ことが指定された場合の、各配列参照に対して生
成されるプログラムの処理の流れ図である。
この場合は、従来と同様にプログラム実行開始
時の初期設定において、配列変数の全バイトを、
検査のための特定値に、検査プログラムによつて
設定する。
時の初期設定において、配列変数の全バイトを、
検査のための特定値に、検査プログラムによつて
設定する。
処理のステツプ40において、被検査配列と同
サイズの参照値(前記特定値と一致する値)の配
列データを主記憶装置3からベクトルレジスタ1
0へロードする。
サイズの参照値(前記特定値と一致する値)の配
列データを主記憶装置3からベクトルレジスタ1
0へロードする。
ステツプ41で、被検査配列データを主記憶装
置3からベクトルレジスタ10をロードする。
置3からベクトルレジスタ10をロードする。
ステツプ42で、ベクトルレジスタ10から被
検査配列の要素データと対応する参照値データを
読み出して比較し、比較結果である一致/不一致
を、ビツトの1/0として適当な制御レジスタに
セツトする処理を、演算部11のパイプラインに
よつて全要素について連続的に実行し、検査処理
を終わる。
検査配列の要素データと対応する参照値データを
読み出して比較し、比較結果である一致/不一致
を、ビツトの1/0として適当な制御レジスタに
セツトする処理を、演算部11のパイプラインに
よつて全要素について連続的に実行し、検査処理
を終わる。
その後は、制御レジスタに記録された結果によ
り、スカラ処理装置1が従来と同様に、エラーメ
ツセージ出力、又は1デバツグプログラムの後続
部分の実行再開をするように制御する。
り、スカラ処理装置1が従来と同様に、エラーメ
ツセージ出力、又は1デバツグプログラムの後続
部分の実行再開をするように制御する。
第2図bは、データを指定する配列の添字がプ
ログラムで宣言している範囲を越えていないかを
検査するプログラムの処理の流れである。
ログラムで宣言している範囲を越えていないかを
検査するプログラムの処理の流れである。
この場合、コンパイラはプログラムの宣言に従
つて、各配列についての添字の上限及び下限値デ
ータを準備する。
つて、各配列についての添字の上限及び下限値デ
ータを準備する。
ステツプ50aにおいて、例えば上限値データ
を、主記憶装置3からベクトルレジスタ10に、
被検査配列と同サイズの第1の参照値配列データ
としてロードする。
を、主記憶装置3からベクトルレジスタ10に、
被検査配列と同サイズの第1の参照値配列データ
としてロードする。
ステツプ50bでは、下限値データを上記と同
様に、主記憶装置3からベクトルレジスタ10
に、被検査配列と同サイズの第2の参照値配列デ
ータとしてロードする。
様に、主記憶装置3からベクトルレジスタ10
に、被検査配列と同サイズの第2の参照値配列デ
ータとしてロードする。
ステツプ51で、被検査配列データとして、配
列の添字値からなる配列データを、主記憶装置3
からベクトルレジスタ10にロードする。
列の添字値からなる配列データを、主記憶装置3
からベクトルレジスタ10にロードする。
ステツプ52aで、例えば上限検査をするもの
とし、ベクトルレジスタ10上の被検査配列デー
タと第1の参照値配列データとを比較し、被検査
配列の要素データが対応する参照値配列の要素デ
ータ値より大きいとき、制御レジスタの要素に対
応するビツトを1にセツトする処理を、全要素に
ついて連続的に実行する。
とし、ベクトルレジスタ10上の被検査配列デー
タと第1の参照値配列データとを比較し、被検査
配列の要素データが対応する参照値配列の要素デ
ータ値より大きいとき、制御レジスタの要素に対
応するビツトを1にセツトする処理を、全要素に
ついて連続的に実行する。
次にステツプ52bで、ベクトルレジスタ10
上の被検査配列データと第2の参照値配列データ
とを比較する下限検査を、全要素について実行
し、下限を越える添字の有る要素に対応する、制
御レジスタのビツトに1をセツトする。
上の被検査配列データと第2の参照値配列データ
とを比較する下限検査を、全要素について実行
し、下限を越える添字の有る要素に対応する、制
御レジスタのビツトに1をセツトする。
以上の処理構成により、プログラムデバツグの
ための、配列データ及び配列の添字値の検査に、
ベクトル処理装置5の機能を有効に利用すること
ができるので、被デバツグプログラムの実行時間
を大幅に短縮することができる。
ための、配列データ及び配列の添字値の検査に、
ベクトル処理装置5の機能を有効に利用すること
ができるので、被デバツグプログラムの実行時間
を大幅に短縮することができる。
以上の説明から明らかなように、本発明によれ
ば、計算機システムにおける、ベクトル演算をベ
クトル処理装置のよつて実行するようにしたプロ
グラムのデバツグ処理モードにおける実行時間が
短縮されるので、計算機システムの利用効率を向
上するという著しい工業的効果がある。
ば、計算機システムにおける、ベクトル演算をベ
クトル処理装置のよつて実行するようにしたプロ
グラムのデバツグ処理モードにおける実行時間が
短縮されるので、計算機システムの利用効率を向
上するという著しい工業的効果がある。
第1図は本発明の原理構成の処理の流れ図、第
2図は本発明の実施例処理の流れ図、第3図は計
算機システムの一構成例ブロツク図、第4図は従
来の処理の流れ図である。 図において、1はスカラ処理装置、2は記憶制
御装置、3は主記憶装置、4は入出力システム、
5はベクトル処理装置、10はベクトルレジス
タ、11は演算部、12はアクセス部、13は制
御部、20〜27,30〜32,40〜42,5
0a,50b,52a,52bは処理のステツプ
を示す。
2図は本発明の実施例処理の流れ図、第3図は計
算機システムの一構成例ブロツク図、第4図は従
来の処理の流れ図である。 図において、1はスカラ処理装置、2は記憶制
御装置、3は主記憶装置、4は入出力システム、
5はベクトル処理装置、10はベクトルレジス
タ、11は演算部、12はアクセス部、13は制
御部、20〜27,30〜32,40〜42,5
0a,50b,52a,52bは処理のステツプ
を示す。
Claims (1)
- 【特許請求の範囲】 1 配列データの複数要素を保持するベクトルレ
ジスタを有し、該ベクトルレジスタ上の配列演算
を行うベクトル処理装置により実行する、配列演
算処理を含むプログラムをデバツグするに際し、 該配列演算処理の被演算配列に関する被検査配
列の各要素に対応する、所要の参照値を、上記ベ
クトルレジスタに保持し30、 該ベクトルレジスタに保持される、該被検査配
列31の各要素と、該参照値との比較処理32を
該ベクトル処理装置によつて実行するように構成
されていることを特徴とするプログラムデバツグ
処理方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60267688A JPS62127948A (ja) | 1985-11-28 | 1985-11-28 | プログラムデバッグ処理方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60267688A JPS62127948A (ja) | 1985-11-28 | 1985-11-28 | プログラムデバッグ処理方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS62127948A JPS62127948A (ja) | 1987-06-10 |
| JPH0411894B2 true JPH0411894B2 (ja) | 1992-03-02 |
Family
ID=17448149
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP60267688A Granted JPS62127948A (ja) | 1985-11-28 | 1985-11-28 | プログラムデバッグ処理方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS62127948A (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007246106A (ja) * | 2006-03-14 | 2007-09-27 | Nihon Yamamura Glass Co Ltd | 封止ボール付き容器とそれに用いるキャップ |
-
1985
- 1985-11-28 JP JP60267688A patent/JPS62127948A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS62127948A (ja) | 1987-06-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0111952B1 (en) | Verification of a processor architecture having a partial instruction set | |
| US5095426A (en) | Data processing system for effectively handling exceptions during execution of two different types of instructions | |
| TWI300523B (en) | Program processing device | |
| CN100363906C (zh) | 一种软件单元的测试方法 | |
| US6536020B2 (en) | Efficient generation of optimum test data | |
| JPS62127948A (ja) | プログラムデバッグ処理方式 | |
| JP4149047B2 (ja) | シミュレータ | |
| JP3745968B2 (ja) | 試験システム及び試験方法及び試験プログラム及び試験プログラムを記録した計算機で読み取り可能な記録媒体 | |
| Cantoro et al. | On the optimization of SBST test program compaction | |
| US20250224948A1 (en) | Firmware code development method | |
| US7017088B2 (en) | Graphical system and automated pattern generator for testing arrays | |
| JP3587644B2 (ja) | 半導体装置のテストプログラムの作成方法 | |
| JPH0355633A (ja) | モジュール間インタフェイス検査装置 | |
| JP2001005688A (ja) | 並列プログラム用デバッグ支援装置 | |
| JPS5995646A (ja) | 演算制御装置 | |
| JPH04533A (ja) | 情報処理システム | |
| JPS6143347A (ja) | ベクトル命令シミユレ−シヨン方法 | |
| JPS6059446A (ja) | プロセッサ試験方法 | |
| JPH05100901A (ja) | マイクロコンピユータ | |
| JPS59195751A (ja) | 情報処理装置の診断方式 | |
| US7720665B1 (en) | Method and system for realizing reset in discrete event simulation | |
| CN114741117A (zh) | 一种跨平台的程序指令重排的验证方法 | |
| JPH02115944A (ja) | 情報処理装置の試験方式 | |
| JPS6365542A (ja) | デバツグ方式 | |
| JPH096641A (ja) | 情報処理装置 |