JPH08212103A - マルチスレッド・プロセッサのテスト・データ作成方法 - Google Patents
マルチスレッド・プロセッサのテスト・データ作成方法Info
- Publication number
- JPH08212103A JPH08212103A JP7043506A JP4350695A JPH08212103A JP H08212103 A JPH08212103 A JP H08212103A JP 7043506 A JP7043506 A JP 7043506A JP 4350695 A JP4350695 A JP 4350695A JP H08212103 A JPH08212103 A JP H08212103A
- Authority
- JP
- Japan
- Prior art keywords
- area
- file
- local
- value file
- thread
- 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.)
- Pending
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】
【目的】 単一スレッド・プロセッサの実行環境上で、
マルチスレッド・プロセッサ検証用のテスト・データを
作成すること。 【構成】 まず共有メモリ領域を共有領域初期値ファイ
ルにダンプし、次に夫々のスレッドに対して順に、局所
メモリ領域を割り付けた後、局所メモリ領域を局所領域
初期値ファイルにダンプする。そしてスレッドを実行し
た後、再び局所メモリ領域を局所領域期待値ファイルに
ダンプし、全てのスレッドの命令コードの実行を終えた
時点で、共有メモリ領域を共有領域期待値ファイルにダ
ンプする。こうするとマルチスレッド・プロセッサの検
証作業の正確さを向上し、検証作業の時間も短縮でき
る。
マルチスレッド・プロセッサ検証用のテスト・データを
作成すること。 【構成】 まず共有メモリ領域を共有領域初期値ファイ
ルにダンプし、次に夫々のスレッドに対して順に、局所
メモリ領域を割り付けた後、局所メモリ領域を局所領域
初期値ファイルにダンプする。そしてスレッドを実行し
た後、再び局所メモリ領域を局所領域期待値ファイルに
ダンプし、全てのスレッドの命令コードの実行を終えた
時点で、共有メモリ領域を共有領域期待値ファイルにダ
ンプする。こうするとマルチスレッド・プロセッサの検
証作業の正確さを向上し、検証作業の時間も短縮でき
る。
Description
【0001】
【産業上の利用分野】本発明は、複数の独立な命令流の
命令を並列実行するマルチスレッド・プロセッサLSI
を設計・検証する際に用いるマルチスレッド・プロセッ
サのテスト・データ作成方法に関するものである。
命令を並列実行するマルチスレッド・プロセッサLSI
を設計・検証する際に用いるマルチスレッド・プロセッ
サのテスト・データ作成方法に関するものである。
【0002】
【従来の技術】近年、大規模なマイクロプロセッサLS
Iが開発され、その検証作業には多大のコストが必要と
なってきている。従来、マイクロプロセッサ検証用のテ
スト・プログラムはアセンブラ言語を用いて(又は機械
語で直接)人手で作成されていた。そのテスト・プログ
ラムを動作させるための初期値データも人手で用意する
必要がある。さらに困難なことには、その初期値データ
を用いてテスト・プログラムを動作させた後の結果デー
タ、すなわち期待値データも人手で作成しなければなら
ず、作成時間および正確さの点で大きな費用を要するも
のであった。
Iが開発され、その検証作業には多大のコストが必要と
なってきている。従来、マイクロプロセッサ検証用のテ
スト・プログラムはアセンブラ言語を用いて(又は機械
語で直接)人手で作成されていた。そのテスト・プログ
ラムを動作させるための初期値データも人手で用意する
必要がある。さらに困難なことには、その初期値データ
を用いてテスト・プログラムを動作させた後の結果デー
タ、すなわち期待値データも人手で作成しなければなら
ず、作成時間および正確さの点で大きな費用を要するも
のであった。
【0003】一方、開発されるマイクロプロセッサLS
Iの規模及び複雑度は肥大化の一途をたどり、人手のみ
によるテスト・プログラムの作成では間に合わなくなっ
てきた。LSI開発と並行してソフトウェア開発を行な
うために作成された命令レベル・シミュレータ(命令セ
ットに関するシュミレータ)を用いることで、期待値デ
ータの作成については自動化が達成された。特に、既存
の命令セットに対する互換プロセッサを開発する場合に
は、コンパイラなどのプログラム開発環境もすでに整っ
ており、高級言語で記述された大規模な実用的プログラ
ムをLSI検証の時点でテスト・プログラムとして用い
ることも可能である。
Iの規模及び複雑度は肥大化の一途をたどり、人手のみ
によるテスト・プログラムの作成では間に合わなくなっ
てきた。LSI開発と並行してソフトウェア開発を行な
うために作成された命令レベル・シミュレータ(命令セ
ットに関するシュミレータ)を用いることで、期待値デ
ータの作成については自動化が達成された。特に、既存
の命令セットに対する互換プロセッサを開発する場合に
は、コンパイラなどのプログラム開発環境もすでに整っ
ており、高級言語で記述された大規模な実用的プログラ
ムをLSI検証の時点でテスト・プログラムとして用い
ることも可能である。
【0004】さらに、メモリ領域のダンプ(データのは
き出し)や実行トレース(各コマンドがどのように実効
されかを記録していくこと)などの、プログラム実行を
制御できるソフトウェア機能を備えれば、実機上でテス
ト・プログラムを実行することにより、命令レベル・シ
ミュレータを用いる場合よりも、より容易に且つ高速に
期待値データを作成することが可能である。
き出し)や実行トレース(各コマンドがどのように実効
されかを記録していくこと)などの、プログラム実行を
制御できるソフトウェア機能を備えれば、実機上でテス
ト・プログラムを実行することにより、命令レベル・シ
ミュレータを用いる場合よりも、より容易に且つ高速に
期待値データを作成することが可能である。
【0005】
【発明が解決しようとする課題】しかしながら上記のよ
うなプロセッサ検証手法は、既存のアーキテクチャとほ
ぼ同様のアーキテクチャを踏襲する場合にのみ可能であ
る。新規に開発したアーキテクチャをもつプロセッサに
対しては、ソフトウェア的な資産を持たないため、その
検証作業においては、初期のそれと同様、多大の費用が
要求されるという問題点が有った。
うなプロセッサ検証手法は、既存のアーキテクチャとほ
ぼ同様のアーキテクチャを踏襲する場合にのみ可能であ
る。新規に開発したアーキテクチャをもつプロセッサに
対しては、ソフトウェア的な資産を持たないため、その
検証作業においては、初期のそれと同様、多大の費用が
要求されるという問題点が有った。
【0006】本発明のテスト・データ作成方法が対象と
するプロセッサは、命令セット・アーキテクチャが既存
の命令セットと互換性を有するものであって、命令実行
方式には、例えば特開平3−134882号に開示され
たアーキテクチャを採用するものである。特開平3−1
34882号に開示されたプロセッサは、プログラム・
カウンタを複数個持ち、それぞれのプログラム・カウン
タでシーケンス制御される独立な命令流(これをスレッ
ドと呼ぶ)を並列に実行するものである。
するプロセッサは、命令セット・アーキテクチャが既存
の命令セットと互換性を有するものであって、命令実行
方式には、例えば特開平3−134882号に開示され
たアーキテクチャを採用するものである。特開平3−1
34882号に開示されたプロセッサは、プログラム・
カウンタを複数個持ち、それぞれのプログラム・カウン
タでシーケンス制御される独立な命令流(これをスレッ
ドと呼ぶ)を並列に実行するものである。
【0007】しかしながら従来から開発されてきたプロ
セッサは、単一スレッドの実行を対象としたものであ
り、特開平3−134882号に開示されるようなマル
チスレッド実行を対象としたものは存在しない。ソフト
ウェア的な環境も整っていない状態で、マルチスレッド
・プロセッサの検証を単一スレッド・プロセッサの場合
のように効率良く行なうことは困難であり、このような
マルチスレッド・アーキテクチャを対象としたプロセッ
サのテスト方法に関する報告はこれまでにも見当たらな
い。
セッサは、単一スレッドの実行を対象としたものであ
り、特開平3−134882号に開示されるようなマル
チスレッド実行を対象としたものは存在しない。ソフト
ウェア的な環境も整っていない状態で、マルチスレッド
・プロセッサの検証を単一スレッド・プロセッサの場合
のように効率良く行なうことは困難であり、このような
マルチスレッド・アーキテクチャを対象としたプロセッ
サのテスト方法に関する報告はこれまでにも見当たらな
い。
【0008】本発明はこのような従来の問題点に鑑みて
なされたものであって、単一スレッド・プロセッサの実
行環境上でマルチスレッド・プロセッサ検証用のテスト
・データを自動的に作成し、マルチスレッド・プロセッ
サ検証作業の正確さを向上すると共に、検証作業時間の
短縮を実現するマルチスレッド・プロセッサのテスト・
データ作成方法を実現することを目的とする。
なされたものであって、単一スレッド・プロセッサの実
行環境上でマルチスレッド・プロセッサ検証用のテスト
・データを自動的に作成し、マルチスレッド・プロセッ
サ検証作業の正確さを向上すると共に、検証作業時間の
短縮を実現するマルチスレッド・プロセッサのテスト・
データ作成方法を実現することを目的とする。
【0009】また本発明は、単一スレッド・プロセッサ
の環境上で実行されるテスト・データ作成時のプログラ
ムを、マルチスレッド・プロセッサの機能シミュレータ
(又は論理シミュレータ)上で、そのまま検証に使用す
る能力を備えたマルチスレッド・プロセッサのテスト・
データ作成方法を実現することを目的とする。
の環境上で実行されるテスト・データ作成時のプログラ
ムを、マルチスレッド・プロセッサの機能シミュレータ
(又は論理シミュレータ)上で、そのまま検証に使用す
る能力を備えたマルチスレッド・プロセッサのテスト・
データ作成方法を実現することを目的とする。
【0010】
【課題を解決するための手段】本願の請求項1の発明
は、本来独立な複数のプログラム・セグメントをリンク
して1つのプログラムとして実機上で実行し、テスト用
の初期値データと期待値データを作成するマルチスレッ
ド・プロセッサのテスト・データ作成方法であって、全
てのプログラム・セグメントの実行に先だってまず共有
メモリ領域を共有領域初期値ファイルにダンプし、次に
プログラム・セグメントの夫々に対して局所メモリ領域
を互いに重ならないように割り付け、プログラム・セグ
メントの夫々に対して順に局所メモリ領域のデータを局
所領域初期値ファイルにダンプし、実機上でリンクされ
た複数のプログラム・セグメントを実行し、共有領域初
期値ファイル及び局所領域初期値ファイルを用いて仮想
的なマルチスレッド・プロセッサを実行し、プログラム
・セグメントを実行した後再び局所メモリ領域のデータ
を局所領域期待値ファイルにダンプし、最後に、全ての
プログラム・セグメントの実行を終えた時点で共有メモ
リ領域を共有領域期待値ファイルにダンプし、実機上で
得られた期待値ファイルと仮想のマルチスレッド・プロ
セッサで得られた実行結果ファイルとを照合することを
特徴とするものである。
は、本来独立な複数のプログラム・セグメントをリンク
して1つのプログラムとして実機上で実行し、テスト用
の初期値データと期待値データを作成するマルチスレッ
ド・プロセッサのテスト・データ作成方法であって、全
てのプログラム・セグメントの実行に先だってまず共有
メモリ領域を共有領域初期値ファイルにダンプし、次に
プログラム・セグメントの夫々に対して局所メモリ領域
を互いに重ならないように割り付け、プログラム・セグ
メントの夫々に対して順に局所メモリ領域のデータを局
所領域初期値ファイルにダンプし、実機上でリンクされ
た複数のプログラム・セグメントを実行し、共有領域初
期値ファイル及び局所領域初期値ファイルを用いて仮想
的なマルチスレッド・プロセッサを実行し、プログラム
・セグメントを実行した後再び局所メモリ領域のデータ
を局所領域期待値ファイルにダンプし、最後に、全ての
プログラム・セグメントの実行を終えた時点で共有メモ
リ領域を共有領域期待値ファイルにダンプし、実機上で
得られた期待値ファイルと仮想のマルチスレッド・プロ
セッサで得られた実行結果ファイルとを照合することを
特徴とするものである。
【0011】本願の請求項2の発明は、夫々のプログラ
ム・セグメント実行中のメモリ参照アドレスをトレース
して夫々のトレース・ファイルに記録し、夫々の局所領
域初期値ファイル内のメモリ・ダンプ結果に対して、ト
レース・ファイルに記録されていないアドレスのメモリ
・セル内容をフラッシュして局所領域初期値ファイルを
更新し、夫々の局所領域期待値ファイル内のメモリ・ダ
ンプ結果に対して、トレース・ファイルに記録されてい
ないアドレスのメモリ・セル内容をフラッシュして局所
領域期待値ファイルを更新することを特徴とするもので
ある。
ム・セグメント実行中のメモリ参照アドレスをトレース
して夫々のトレース・ファイルに記録し、夫々の局所領
域初期値ファイル内のメモリ・ダンプ結果に対して、ト
レース・ファイルに記録されていないアドレスのメモリ
・セル内容をフラッシュして局所領域初期値ファイルを
更新し、夫々の局所領域期待値ファイル内のメモリ・ダ
ンプ結果に対して、トレース・ファイルに記録されてい
ないアドレスのメモリ・セル内容をフラッシュして局所
領域期待値ファイルを更新することを特徴とするもので
ある。
【0012】本願の請求項3の発明は、最初のプログラ
ム・セグメントを実行する前にある局所メモリ領域上の
変数をセットし、夫々のプログラム・セグメントの実行
を終了した時点で変数の値を調べ、セットされていれば
局所メモリ領域を局所領域期待値ファイルにダンプし、
フラッシュされていれば停止命令を実行することを特徴
とするものである。
ム・セグメントを実行する前にある局所メモリ領域上の
変数をセットし、夫々のプログラム・セグメントの実行
を終了した時点で変数の値を調べ、セットされていれば
局所メモリ領域を局所領域期待値ファイルにダンプし、
フラッシュされていれば停止命令を実行することを特徴
とするものである。
【0013】
【作用】このような特徴を有する本願の請求項1の発明
によれば、局所メモリ領域については、プログラム・セ
グメントの夫々に対して局所メモリ領域を互いに重なら
ないように割り付けた後に、プログラム・セグメントの
夫々に対して順に、局所メモリ領域のダンプ、実行、局
所メモリ領域の再ダンプを行なう。このため、各プログ
ラム・セグメントの実行の際に、互いの局所メモリ領域
に対するメモリ・アクセスが重なることなく、各プログ
ラム・セグメント実行の前後におけるメモリ領域の内容
が記録保存される。全てのプログラム・セグメントの実
行に先だってまず共有メモリ領域をダンプし、また、共
有メモリ領域については、本来独立な複数のプログラム
・セグメントをリンクして、1つのプログラムとして実
機上で実行する。また共有領域初期値ファイル及び局所
領域初期値ファイルを用いて仮想のマルチスレッド・プ
ロセッサのプログラムを実行する。全てのプログラム・
セグメントの実行を終えた時点で、再び共有メモリ領域
をダンプするため、全てのプログラム・セグメントの実
行開始時点及び終了時点でのメモリ領域の内容を記録保
存する。次に実機上で得られた期待値ファイルと仮想の
マルチスレッド・プロセッサで得られた実行結果ファイ
ルを照合する。
によれば、局所メモリ領域については、プログラム・セ
グメントの夫々に対して局所メモリ領域を互いに重なら
ないように割り付けた後に、プログラム・セグメントの
夫々に対して順に、局所メモリ領域のダンプ、実行、局
所メモリ領域の再ダンプを行なう。このため、各プログ
ラム・セグメントの実行の際に、互いの局所メモリ領域
に対するメモリ・アクセスが重なることなく、各プログ
ラム・セグメント実行の前後におけるメモリ領域の内容
が記録保存される。全てのプログラム・セグメントの実
行に先だってまず共有メモリ領域をダンプし、また、共
有メモリ領域については、本来独立な複数のプログラム
・セグメントをリンクして、1つのプログラムとして実
機上で実行する。また共有領域初期値ファイル及び局所
領域初期値ファイルを用いて仮想のマルチスレッド・プ
ロセッサのプログラムを実行する。全てのプログラム・
セグメントの実行を終えた時点で、再び共有メモリ領域
をダンプするため、全てのプログラム・セグメントの実
行開始時点及び終了時点でのメモリ領域の内容を記録保
存する。次に実機上で得られた期待値ファイルと仮想の
マルチスレッド・プロセッサで得られた実行結果ファイ
ルを照合する。
【0014】又本願の請求項2の発明によれば、夫々の
プログラム・セグメント実行中のメモリ参照アドレスを
トレースして、夫々のトレース・ファイルに記録する。
また局所領域のメモリ・ダンプ結果に対してトレース・
ファイルに記録されていないアドレスのメモリの内容を
フラッシュしてダンプ結果を更新する。このため実行中
に参照されなかったメモリの内容はフラッシュされ、参
照されたメモリ・セルの内容のみが残ることとなる。
プログラム・セグメント実行中のメモリ参照アドレスを
トレースして、夫々のトレース・ファイルに記録する。
また局所領域のメモリ・ダンプ結果に対してトレース・
ファイルに記録されていないアドレスのメモリの内容を
フラッシュしてダンプ結果を更新する。このため実行中
に参照されなかったメモリの内容はフラッシュされ、参
照されたメモリ・セルの内容のみが残ることとなる。
【0015】更に本願の請求項3の発明によれば、最初
のプログラム・セグメントを実行する前に、ある局所メ
モリ領域上の変数をセットし、夫々のプログラム・セグ
メントの実行を終了した時点でその変数の値を調べる。
そして、セットされていれば局所メモリ領域のデータを
局所領域期待値ファイルにダンプし、フラッシュされて
いれば停止命令を実行する。このためテスト・データ作
成時には、変数に値がセットされていればダンプを行な
い、検証時には変数の値がフラッシュされていれば停止
命令が実行される。
のプログラム・セグメントを実行する前に、ある局所メ
モリ領域上の変数をセットし、夫々のプログラム・セグ
メントの実行を終了した時点でその変数の値を調べる。
そして、セットされていれば局所メモリ領域のデータを
局所領域期待値ファイルにダンプし、フラッシュされて
いれば停止命令を実行する。このためテスト・データ作
成時には、変数に値がセットされていればダンプを行な
い、検証時には変数の値がフラッシュされていれば停止
命令が実行される。
【0016】
【実施例】以下本発明のマルチスレッド・プロセッサの
テスト・データ作成方法の一実施例について、図面を参
照しながら説明する。図2は本実施例におけるテスト・
データ作成環境を示す階層図ある。図2において、ハー
ドウェアであるワークステーション(WS)21は、オ
ペレーティング・システム(OS)22の下で動作する
プロセッサである。テスト・データ作成ツール23、V
erilogシミュレータ24、Verilogで記述
されたマルチスレッド・プロセッサ25、テスト・プロ
グラム(実行可能形式)26a、テスト・プログラム
(Verilog用に変換された形式)26bは、夫々
OS22の上で動作するものである。
テスト・データ作成方法の一実施例について、図面を参
照しながら説明する。図2は本実施例におけるテスト・
データ作成環境を示す階層図ある。図2において、ハー
ドウェアであるワークステーション(WS)21は、オ
ペレーティング・システム(OS)22の下で動作する
プロセッサである。テスト・データ作成ツール23、V
erilogシミュレータ24、Verilogで記述
されたマルチスレッド・プロセッサ25、テスト・プロ
グラム(実行可能形式)26a、テスト・プログラム
(Verilog用に変換された形式)26bは、夫々
OS22の上で動作するものである。
【0017】一般にWS21は、OS22と呼ばれる基
本ソフトウェアによりハードウェアが管理されたもので
あり、この上で種々のアプリケーション・プログラムが
実行される。本実施例では、開発するマルチスレッド・
プロセッサの命令セットがWS21の命令セットと同一
であるものとし、さらに、マルチスレッド・プロセッサ
はハードウェア記述言語であるVerilog(米国Ca
ndens Design Sstems社)を用いて設計されているもの
とする。
本ソフトウェアによりハードウェアが管理されたもので
あり、この上で種々のアプリケーション・プログラムが
実行される。本実施例では、開発するマルチスレッド・
プロセッサの命令セットがWS21の命令セットと同一
であるものとし、さらに、マルチスレッド・プロセッサ
はハードウェア記述言語であるVerilog(米国Ca
ndens Design Sstems社)を用いて設計されているもの
とする。
【0018】テスト・プログラム26aは高級言語また
はアセンブラ言語で記述され、コンパイラまたはアセン
ブラによって実行可能形式に翻訳されたものである。こ
れをテスト・データ作成ツール23の制御のもとで実行
する。OS22に例えばUNIXを使用する場合には、
親プロセスのテスト・プログラム26aをその子プロセ
スとして実行し、テスト・データ作成ツール23はUN
IXのptraceシステム・コールを用いてテスト・
プログラム26aの実行を制御できる。この機構によ
り、テスト・プログラム26aの実行をトレースしてト
レース・ファイルに記録したりメモリ・ダンプを行な
う。
はアセンブラ言語で記述され、コンパイラまたはアセン
ブラによって実行可能形式に翻訳されたものである。こ
れをテスト・データ作成ツール23の制御のもとで実行
する。OS22に例えばUNIXを使用する場合には、
親プロセスのテスト・プログラム26aをその子プロセ
スとして実行し、テスト・データ作成ツール23はUN
IXのptraceシステム・コールを用いてテスト・
プログラム26aの実行を制御できる。この機構によ
り、テスト・プログラム26aの実行をトレースしてト
レース・ファイルに記録したりメモリ・ダンプを行な
う。
【0019】一方、Verilogで記述されたマルチ
スレッド・プロセッサ25は、Verilogシミュレ
ータ24によってマルチスレッド・プロセッサの機能を
仮想的に実現できる。テスト・プログラム26aの命令
コード部分をVerilogシミュレータ24に入力で
きるデータ形式に変換したものがテスト・プログラム2
6bである。Verilogシミュレータ24上の仮想
マルチスレッド・プロセッサ25でテスト・プログラム
26bを実行した結果と、テスト・プログラム26aの
実行結果とが一致していれば、マルチスレッド・プロセ
ッサ25のVerilog記述は正しいことになる。
スレッド・プロセッサ25は、Verilogシミュレ
ータ24によってマルチスレッド・プロセッサの機能を
仮想的に実現できる。テスト・プログラム26aの命令
コード部分をVerilogシミュレータ24に入力で
きるデータ形式に変換したものがテスト・プログラム2
6bである。Verilogシミュレータ24上の仮想
マルチスレッド・プロセッサ25でテスト・プログラム
26bを実行した結果と、テスト・プログラム26aの
実行結果とが一致していれば、マルチスレッド・プロセ
ッサ25のVerilog記述は正しいことになる。
【0020】図1は本実施例におけるテスト・データ作
成方法のフローチャートである。図1において、ステッ
プ11a,11b,12a,12b,15a,15bの
処理はテスト・データ作成ツール23が担当して処理す
るものであり、その他のステップ13,14,16a,
16b,16cの処理はテスト・プログラム26aに組
み込まれたものである。
成方法のフローチャートである。図1において、ステッ
プ11a,11b,12a,12b,15a,15bの
処理はテスト・データ作成ツール23が担当して処理す
るものであり、その他のステップ13,14,16a,
16b,16cの処理はテスト・プログラム26aに組
み込まれたものである。
【0021】図3は本実施例におけるテスト・プログラ
ム実行の流れを摸式的に示すものである。図3におい
て、初期値ファイルとして共有領域初期値ファイル3
1、スレッド1の局所領域初期値ファイル32、スレッ
ド2の局所領域初期値ファイル33が設けられている。
また期待値ファイルとして共有領域期待値ファイル3
4、スレッド1の局所領域期待値ファイル35、スレッ
ド2の局所領域期待値ファイル36が設けられている。
更に実行結果ファイルとして、共有領域実行結果ファイ
ル37、スレッド1の局所領域実行結果ファイル38、
スレッド2の局所領域実行結果ファイル39が設けられ
ている。簡単のためここでは2つのスレッドを並列実行
するのもとしているが、任意数のスレッドに拡張できる
ことは自明である。
ム実行の流れを摸式的に示すものである。図3におい
て、初期値ファイルとして共有領域初期値ファイル3
1、スレッド1の局所領域初期値ファイル32、スレッ
ド2の局所領域初期値ファイル33が設けられている。
また期待値ファイルとして共有領域期待値ファイル3
4、スレッド1の局所領域期待値ファイル35、スレッ
ド2の局所領域期待値ファイル36が設けられている。
更に実行結果ファイルとして、共有領域実行結果ファイ
ル37、スレッド1の局所領域実行結果ファイル38、
スレッド2の局所領域実行結果ファイル39が設けられ
ている。簡単のためここでは2つのスレッドを並列実行
するのもとしているが、任意数のスレッドに拡張できる
ことは自明である。
【0022】スレッドとして実行する複数のプログラム
・セグメントはコンパイル時にリンクし、1つのプログ
ラム26aとしてWS21上で逐次実行される。このと
き、図1におけるステップ13、16a、16b、16
cの処理を担当するルーチンをライブラリとして一緒に
リンクしておく。まず、スレッド1の実行を開始する直
前で、テスト・プログラム26aの共有メモリ領域のデ
ータを共有領域初期値ファイル31にダンプする(ステ
ップ11aの処理)。次に、スレッド1の使用する局所
メモリ領域の割り付け(ステップ13の処理)を行な
う。
・セグメントはコンパイル時にリンクし、1つのプログ
ラム26aとしてWS21上で逐次実行される。このと
き、図1におけるステップ13、16a、16b、16
cの処理を担当するルーチンをライブラリとして一緒に
リンクしておく。まず、スレッド1の実行を開始する直
前で、テスト・プログラム26aの共有メモリ領域のデ
ータを共有領域初期値ファイル31にダンプする(ステ
ップ11aの処理)。次に、スレッド1の使用する局所
メモリ領域の割り付け(ステップ13の処理)を行な
う。
【0023】スレッドが使用する共有データのメモリ領
域は、リンク時にそれぞれ割り当てられるのでここでは
特に考慮する必要はないが、局所データに対するメモリ
領域はプログラム実行時に動的に割り付けるため、スレ
ッドのプログラム・セグメントを実行する前に、スレッ
ド間で局所データのメモリ領域に重なりが生じないよう
に割り付け直す必要がある。この割り付け方法について
は後述する。
域は、リンク時にそれぞれ割り当てられるのでここでは
特に考慮する必要はないが、局所データに対するメモリ
領域はプログラム実行時に動的に割り付けるため、スレ
ッドのプログラム・セグメントを実行する前に、スレッ
ド間で局所データのメモリ領域に重なりが生じないよう
に割り付け直す必要がある。この割り付け方法について
は後述する。
【0024】スレッド1に対する局所メモリ領域の割り
付けを行なった後、この割り付けた局所メモリ領域のデ
ータを局所領域初期値ファイル32にダンプする(ステ
ップ12aの処理)。実際には、スレッド1に局所的な
実行環境情報として、局所メモリ領域以外にレジスタの
内容などをダンプする必要があるが、ここでは省略す
る。そしてスレッド1の実行を開始し(ステップ14の
処理)、スレッド1のプログラム・セグメントを実行す
る。そしてスレッド1の実行直後に、再び局所メモリ領
域のデータを局所領域期待値ファイル35にダンプする
(ステップ12bの処理)。
付けを行なった後、この割り付けた局所メモリ領域のデ
ータを局所領域初期値ファイル32にダンプする(ステ
ップ12aの処理)。実際には、スレッド1に局所的な
実行環境情報として、局所メモリ領域以外にレジスタの
内容などをダンプする必要があるが、ここでは省略す
る。そしてスレッド1の実行を開始し(ステップ14の
処理)、スレッド1のプログラム・セグメントを実行す
る。そしてスレッド1の実行直後に、再び局所メモリ領
域のデータを局所領域期待値ファイル35にダンプする
(ステップ12bの処理)。
【0025】次に、スレッド2に対して同様の処理を行
ない、局所領域初期値ファイル33および局所領域期待
値ファイル36を得る。また、スレッド2のプログラム
・セグメントを実行し終えた時点で、共有メモリ領域の
データを共有領域期待値ファイル34にダンプする(ス
テップ11bの処理)。
ない、局所領域初期値ファイル33および局所領域期待
値ファイル36を得る。また、スレッド2のプログラム
・セグメントを実行し終えた時点で、共有メモリ領域の
データを共有領域期待値ファイル34にダンプする(ス
テップ11bの処理)。
【0026】Verilogシミュレータ24によって
実現される仮想マルチスレッド・プロセッサ25上で
は、上記のようにして生成されたファイル31、32、
33からメモリ上の初期イメージを作成し、スレッド1
およびスレッド2を並列に実行する。シミュレーション
(実行)終了時に、共有メモリ領域のデータを共有領域
実行結果ファイル37に、スレッド1の局所メモリ領域
のデータを局所領域実行結果ファイル38に、スレッド
2の局所メモリ領域のデータを局所領域実行結果ファイ
ル39に夫々ダンプする。そして、期待値ファイル3
4、35、36と実行結果ファイル37、38、39と
をそれぞれ比較することで、マルチスレッド・プロセッ
サ25のVerilog記述を検証する。
実現される仮想マルチスレッド・プロセッサ25上で
は、上記のようにして生成されたファイル31、32、
33からメモリ上の初期イメージを作成し、スレッド1
およびスレッド2を並列に実行する。シミュレーション
(実行)終了時に、共有メモリ領域のデータを共有領域
実行結果ファイル37に、スレッド1の局所メモリ領域
のデータを局所領域実行結果ファイル38に、スレッド
2の局所メモリ領域のデータを局所領域実行結果ファイ
ル39に夫々ダンプする。そして、期待値ファイル3
4、35、36と実行結果ファイル37、38、39と
をそれぞれ比較することで、マルチスレッド・プロセッ
サ25のVerilog記述を検証する。
【0027】次に、局所メモリ領域の割り付けのステッ
プ13について説明する。大抵の高級言語では、データ
領域を共有領域と局所領域とに分けて使用する。共有領
域はコンパイル時に割り付けられるのに対して、局所領
域は実行時に割り付けられるもので、スタック領域とも
呼ばれる。スタック領域は一般にサブルーチン内でのみ
使用されるデータを記憶するための領域であり、プログ
ラム実行の時間的経過とともに使用領域のサイズも変化
する。
プ13について説明する。大抵の高級言語では、データ
領域を共有領域と局所領域とに分けて使用する。共有領
域はコンパイル時に割り付けられるのに対して、局所領
域は実行時に割り付けられるもので、スタック領域とも
呼ばれる。スタック領域は一般にサブルーチン内でのみ
使用されるデータを記憶するための領域であり、プログ
ラム実行の時間的経過とともに使用領域のサイズも変化
する。
【0028】この領域内のデータは、一般に、プロセッ
サ内に保持されているスタック・ポインタあるいはフレ
ーム・ポインタからの相対アドレスでアドレッシングさ
れるため、図1におけるステップ13の処理では、この
スタック・ポインタ(又はフレーム・ポインタ)の値を
書き換えることでスタック領域の割り付けを行なう。こ
の様子を図4に示す。図4においてスレッド1のメモリ
空間41aは、共有メモリ領域41bと局所メモリ領域
41cを有している。スレッド2のメモリ空間42a
は、共有メモリ領域42bと局所メモリ領域42cを有
している。テスト・プログラム26aのメモリ空間43
aは、上から順にスレッド1の局所メモリ領域41c、
スレッド2の局所メモリ領域42c、スレッド2の共有
メモリ領域42b、スレッド1の共有メモリ領域41b
を有している。
サ内に保持されているスタック・ポインタあるいはフレ
ーム・ポインタからの相対アドレスでアドレッシングさ
れるため、図1におけるステップ13の処理では、この
スタック・ポインタ(又はフレーム・ポインタ)の値を
書き換えることでスタック領域の割り付けを行なう。こ
の様子を図4に示す。図4においてスレッド1のメモリ
空間41aは、共有メモリ領域41bと局所メモリ領域
41cを有している。スレッド2のメモリ空間42a
は、共有メモリ領域42bと局所メモリ領域42cを有
している。テスト・プログラム26aのメモリ空間43
aは、上から順にスレッド1の局所メモリ領域41c、
スレッド2の局所メモリ領域42c、スレッド2の共有
メモリ領域42b、スレッド1の共有メモリ領域41b
を有している。
【0029】一般に局所メモリ領域は、プログラム実行
前に初期化されない。従って、メモリ上のごみデータも
一緒に局所領域初期値ファイルや局所領域期待値ファイ
ルにダンプされてしまう。これは局所領域期待値ファイ
ルと局所領域実行結果ファイルとを比較する際の障害と
なるため、スレッドの実行(ステップ14の処理)を行
なう間、その実行中にアクセスされたデータのアドレス
をトレースする。このトレース結果をもとに、局所領域
初期値ファイルや局所領域期待値ファイル中のデータで
実際に参照されたアドレスのデータのみを残し、参照さ
れていないアドレスについてはその内容をすべて0にフ
ラッシュすることにより、局所領域実行結果ファイルと
の比較の際の障害を取り除く。
前に初期化されない。従って、メモリ上のごみデータも
一緒に局所領域初期値ファイルや局所領域期待値ファイ
ルにダンプされてしまう。これは局所領域期待値ファイ
ルと局所領域実行結果ファイルとを比較する際の障害と
なるため、スレッドの実行(ステップ14の処理)を行
なう間、その実行中にアクセスされたデータのアドレス
をトレースする。このトレース結果をもとに、局所領域
初期値ファイルや局所領域期待値ファイル中のデータで
実際に参照されたアドレスのデータのみを残し、参照さ
れていないアドレスについてはその内容をすべて0にフ
ラッシュすることにより、局所領域実行結果ファイルと
の比較の際の障害を取り除く。
【0030】以上のように本実施例によれば、すべての
プログラム・セグメントの実行に先だって、まず共有メ
モリ領域のデータを共有領域初期値ファイルにダンプ
し、次にプログラム・セグメントの夫々に対して局所メ
モリ領域を互いに重ならないように割り付ける。そして
この後、プログラム・セグメントの夫々に対して順に、
局所メモリ領域のデータを局所領域初期値ファイルにダ
ンプしてプログラム・セグメントを実行する。そして再
び局所メモリ領域のデータを局所領域期待値ファイルに
ダンプし、最後に、全てのプログラム・セグメントの実
行を終えた時点で、共有メモリ領域のデータを共有領域
期待値ファイルにダンプすることにより、単一スレッド
・プロセッサの実行環境上で自動的にマルチスレッド・
プロセッサ検証用のテスト・データを作成することがで
きる。
プログラム・セグメントの実行に先だって、まず共有メ
モリ領域のデータを共有領域初期値ファイルにダンプ
し、次にプログラム・セグメントの夫々に対して局所メ
モリ領域を互いに重ならないように割り付ける。そして
この後、プログラム・セグメントの夫々に対して順に、
局所メモリ領域のデータを局所領域初期値ファイルにダ
ンプしてプログラム・セグメントを実行する。そして再
び局所メモリ領域のデータを局所領域期待値ファイルに
ダンプし、最後に、全てのプログラム・セグメントの実
行を終えた時点で、共有メモリ領域のデータを共有領域
期待値ファイルにダンプすることにより、単一スレッド
・プロセッサの実行環境上で自動的にマルチスレッド・
プロセッサ検証用のテスト・データを作成することがで
きる。
【0031】最後に、スレッドの終了に関するトリック
について説明する。まず、最初に局所メモリ領域上の変
数flagを1にセットする(ステップ16aの処
理)。各スレッドはこの変数を参照してはならない。テ
スト・データ作成時には変数flagの値は1のままで
あるので、ステップ16bにおける判定では常にステッ
プ12b側へ制御が流れる。しかし、トレース結果によ
る局所領域初期値ファイルの更新で、Verilogシ
ミュレーション時には、変数flagの値は0にフラッ
シュされてしまっている。従って、ステップ16bにお
ける判定では常にステップ16c側へ制御が流れ、各ス
レッドは夫々実行すべきプログラム・セグメントの実行
を終えると、停止命令を実行して停止する。なお、変数
flagを共有メモリ領域上に持つことでも同様の処理
は可能であるが、この場合には変数flagの参照にレ
ジスタが使用され、シミュレーションに若干の影響があ
る。
について説明する。まず、最初に局所メモリ領域上の変
数flagを1にセットする(ステップ16aの処
理)。各スレッドはこの変数を参照してはならない。テ
スト・データ作成時には変数flagの値は1のままで
あるので、ステップ16bにおける判定では常にステッ
プ12b側へ制御が流れる。しかし、トレース結果によ
る局所領域初期値ファイルの更新で、Verilogシ
ミュレーション時には、変数flagの値は0にフラッ
シュされてしまっている。従って、ステップ16bにお
ける判定では常にステップ16c側へ制御が流れ、各ス
レッドは夫々実行すべきプログラム・セグメントの実行
を終えると、停止命令を実行して停止する。なお、変数
flagを共有メモリ領域上に持つことでも同様の処理
は可能であるが、この場合には変数flagの参照にレ
ジスタが使用され、シミュレーションに若干の影響があ
る。
【0032】以上のように本実施例によれば、最初のプ
ログラム・セグメントを実行する前に、ある局所メモリ
領域上の変数をセットし、夫々のプログラム・セグメン
トの実行を終了した時点で変数の値を調べ、セットされ
ていれば局所メモリ領域のデータを局所領域期待値ファ
イルにダンプし、フラッシュされていれば停止命令を実
行することにより、単一スレッド・プロセッサ環境上で
実行されるテスト・データ作成時のプログラムをマルチ
スレッド・プロセッサの機能シミュレータ(あるいは論
理シミュレータ)上でそのまま使用しながら、早く終了
したスレッドによるメモリ更新を抑制・制御して、プロ
セッサのVerilog記述に検証のための余分な記述
を含めることなく、正しく検証作業を行なうことができ
る。なお、本発明は上記実施例に限定されるものではな
く、本発明の趣旨に基づいて種々の変形が可能であり、
これらを本発明の範囲から排除するものではない。
ログラム・セグメントを実行する前に、ある局所メモリ
領域上の変数をセットし、夫々のプログラム・セグメン
トの実行を終了した時点で変数の値を調べ、セットされ
ていれば局所メモリ領域のデータを局所領域期待値ファ
イルにダンプし、フラッシュされていれば停止命令を実
行することにより、単一スレッド・プロセッサ環境上で
実行されるテスト・データ作成時のプログラムをマルチ
スレッド・プロセッサの機能シミュレータ(あるいは論
理シミュレータ)上でそのまま使用しながら、早く終了
したスレッドによるメモリ更新を抑制・制御して、プロ
セッサのVerilog記述に検証のための余分な記述
を含めることなく、正しく検証作業を行なうことができ
る。なお、本発明は上記実施例に限定されるものではな
く、本発明の趣旨に基づいて種々の変形が可能であり、
これらを本発明の範囲から排除するものではない。
【0033】
【発明の効果】以上のように本願の請求項1の発明によ
れば、単一スレッド・プロセッサの実行環境上で自動的
にマルチスレッド・プロセッサ検証用のテスト・データ
を作成することができる。このためマルチスレッド・プ
ロセッサ検証作業の正確さの向上、及び検証作業時間の
短縮を実現することができる。
れば、単一スレッド・プロセッサの実行環境上で自動的
にマルチスレッド・プロセッサ検証用のテスト・データ
を作成することができる。このためマルチスレッド・プ
ロセッサ検証作業の正確さの向上、及び検証作業時間の
短縮を実現することができる。
【0034】又本願の請求項2の発明によれば、上記の
発明の効果に加えて、単一スレッド・プロセッサ環境上
でプログラムの実行をする際に、局所メモリ領域上に残
されたゴミ・データを除去できる。このため生成した局
所領域期待値ファイルの内容と、マルチスレッド・プロ
セッサの機能シミュレーション(又は論理シミュレーシ
ョン)結果とを単純に比較して、一致しているか否かを
調べるだけでマルチスレッド・プロセッサの動作確認を
行なうことができる。
発明の効果に加えて、単一スレッド・プロセッサ環境上
でプログラムの実行をする際に、局所メモリ領域上に残
されたゴミ・データを除去できる。このため生成した局
所領域期待値ファイルの内容と、マルチスレッド・プロ
セッサの機能シミュレーション(又は論理シミュレーシ
ョン)結果とを単純に比較して、一致しているか否かを
調べるだけでマルチスレッド・プロセッサの動作確認を
行なうことができる。
【0035】又本願の請求項3の発明によれば、上記の
発明の効果に加えて、機能シミュレーション(又は論理
シミュレーション)には各スレッドが夫々のプログラム
・セグメントの実行を終えると停止命令を実行される。
このため、スレッド間で実行終了時間のばらつきが存在
しても、早く終了したスレッドがメモリを更新すること
がなく、生成した局所領域期待値ファイルの内容とシミ
ュレーション結果とを比較することで、正しくマルチス
レッド・プロセッサの検証を行なうことができる。
発明の効果に加えて、機能シミュレーション(又は論理
シミュレーション)には各スレッドが夫々のプログラム
・セグメントの実行を終えると停止命令を実行される。
このため、スレッド間で実行終了時間のばらつきが存在
しても、早く終了したスレッドがメモリを更新すること
がなく、生成した局所領域期待値ファイルの内容とシミ
ュレーション結果とを比較することで、正しくマルチス
レッド・プロセッサの検証を行なうことができる。
【図面の簡単な説明】
【図1】本発明の実施例におけるテスト・データ作成方
法のフローチャートである。
法のフローチャートである。
【図2】本実施例におけるテスト・データ作成環境のソ
フトウェア階層図である。
フトウェア階層図である。
【図3】本実施例におけるテスト・プログラム実行の摸
式図である。
式図である。
【図4】本実施例におけるテスト・プログラムのメモリ
空間マップを示す図である。
空間マップを示す図である。
21 ワークステーション 22 オペレーティング・システム 23 テスト・データ作成ツール 24 Verilogシミュレータ 25 マルチスレッド・プロセッサのVerilog記
述 26a,26b テスト・プログラム 31 共有領域初期値ファイル 32 スレッド1の局所領域初期値ファイル 33 スレッド2の局所領域初期値ファイル 34 共有領域期待値ファイル 35 スレッド1の局所領域期待値ファイル 36 スレッド2の局所領域期待値ファイル 37 共有領域実行結果ファイル 38 スレッド1の局所領域実行結果ファイル 39 スレッド2の局所領域実行結果ファイル 41a スレッド1のメモリ空間 41b スレッド1の共有メモリ領域 41c スレッド1の局所メモリ領域 42a スレッド2のメモリ空間 42b スレッド2の共有メモリ領域 42c スレッド2の局所メモリ領域 43a テスト・プログラムのメモリ空間
述 26a,26b テスト・プログラム 31 共有領域初期値ファイル 32 スレッド1の局所領域初期値ファイル 33 スレッド2の局所領域初期値ファイル 34 共有領域期待値ファイル 35 スレッド1の局所領域期待値ファイル 36 スレッド2の局所領域期待値ファイル 37 共有領域実行結果ファイル 38 スレッド1の局所領域実行結果ファイル 39 スレッド2の局所領域実行結果ファイル 41a スレッド1のメモリ空間 41b スレッド1の共有メモリ領域 41c スレッド1の局所メモリ領域 42a スレッド2のメモリ空間 42b スレッド2の共有メモリ領域 42c スレッド2の局所メモリ領域 43a テスト・プログラムのメモリ空間
Claims (3)
- 【請求項1】 本来独立な複数のプログラム・セグメン
トをリンクして1つのプログラムとして実機上で実行
し、テスト用の初期値データと期待値データを作成する
マルチスレッド・プロセッサのテスト・データ作成方法
であって、 全ての前記プログラム・セグメントの実行に先だってま
ず共有メモリ領域を共有領域初期値ファイルにダンプ
し、 次に前記プログラム・セグメントの夫々に対して局所メ
モリ領域を互いに重ならないように割り付け、 前記プログラム・セグメントの夫々に対して順に局所メ
モリ領域のデータを局所領域初期値ファイルにダンプ
し、 実機上でリンクされた複数のプログラム・セグメントを
実行し、 共有領域初期値ファイル及び局所領域初期値ファイルを
用いて仮想的なマルチスレッド・プロセッサを実行し、 前記プログラム・セグメントを実行した後再び局所メモ
リ領域のデータを局所領域期待値ファイルにダンプし、 最後に、全ての前記プログラム・セグメントの実行を終
えた時点で共有メモリ領域を共有領域期待値ファイルに
ダンプし、 実機上で得られた期待値ファイルと仮想のマルチスレッ
ド・プロセッサで得られた実行結果ファイルとを照合す
ることを特徴とするマルチスレッド・プロセッサのテス
ト・データ作成方法。 - 【請求項2】 夫々の前記プログラム・セグメント実行
中のメモリ参照アドレスをトレースして夫々のトレース
・ファイルに記録し、 夫々の前記局所領域初期値ファイル内のメモリ・ダンプ
結果に対して、前記トレース・ファイルに記録されてい
ないアドレスのメモリ・セル内容をフラッシュして前記
局所領域初期値ファイルを更新し、 夫々の前記局所領域期待値ファイル内のメモリ・ダンプ
結果に対して、前記トレース・ファイルに記録されてい
ないアドレスのメモリ・セル内容をフラッシュして前記
局所領域期待値ファイルを更新することを特徴とする請
求項1記載のマルチスレッド・プロセッサのテスト・デ
ータ作成方法。 - 【請求項3】 最初の前記プログラム・セグメントを実
行する前にある局所メモリ領域上の変数をセットし、 夫々の前記プログラム・セグメントの実行を終了した時
点で前記変数の値を調べ、セットされていれば局所メモ
リ領域を局所領域期待値ファイルにダンプし、フラッシ
ュされていれば停止命令を実行することを特徴とする請
求項2記載のマルチスレッド・プロセッサのテスト・デ
ータ作成方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7043506A JPH08212103A (ja) | 1995-02-07 | 1995-02-07 | マルチスレッド・プロセッサのテスト・データ作成方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7043506A JPH08212103A (ja) | 1995-02-07 | 1995-02-07 | マルチスレッド・プロセッサのテスト・データ作成方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH08212103A true JPH08212103A (ja) | 1996-08-20 |
Family
ID=12665624
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7043506A Pending JPH08212103A (ja) | 1995-02-07 | 1995-02-07 | マルチスレッド・プロセッサのテスト・データ作成方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH08212103A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008197980A (ja) * | 2007-02-14 | 2008-08-28 | Nec Corp | 分散並列プログラムの障害解析ファイル軽量化装置、その方法及びそのプログラム |
| CN108874666A (zh) * | 2018-05-30 | 2018-11-23 | 平安普惠企业管理有限公司 | 测试数据自动生成方法、装置、计算机设备及存储介质 |
-
1995
- 1995-02-07 JP JP7043506A patent/JPH08212103A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008197980A (ja) * | 2007-02-14 | 2008-08-28 | Nec Corp | 分散並列プログラムの障害解析ファイル軽量化装置、その方法及びそのプログラム |
| CN108874666A (zh) * | 2018-05-30 | 2018-11-23 | 平安普惠企业管理有限公司 | 测试数据自动生成方法、装置、计算机设备及存储介质 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11579856B2 (en) | Multi-chip compatible compiling method and device | |
| US5313387A (en) | Re-execution of edit-compile-run cycles for changed lines of source code, with storage of associated data in buffers | |
| US5325531A (en) | Compiler using clean lines table with entries indicating unchanged text lines for incrementally compiling only changed source text lines | |
| US5201050A (en) | Line-skip compiler for source-code development system | |
| US5193191A (en) | Incremental linking in source-code development system | |
| US5170465A (en) | Incremental-scanning compiler for source-code development system | |
| CN103348323B (zh) | 用于在计算机系统中执行目标程序的方法和系统 | |
| CN100555218C (zh) | 用于改善片上仿真系统中高级语言的仿真速度的装置和方法 | |
| Mercer et al. | Model checking machine code with the GNU debugger | |
| US7676774B2 (en) | System LSI verification system and system LSI verification method | |
| US5301327A (en) | Virtual memory management for source-code development system | |
| Lee et al. | Interactive program debugging and optimization for directive-based, efficient gpu computing | |
| Consel | From a program family to a domain-specific language | |
| EP0406028A2 (en) | Incremental compiler for source code development system | |
| US8056061B2 (en) | Data processing device and method using predesignated register | |
| Jia et al. | VeriLin: A linearizability checker for large-scale concurrent objects | |
| JP2919302B2 (ja) | Cpuシミュレーション方法 | |
| JPH09114693A (ja) | プログラム開発支援装置及びプログラム実行装置 | |
| KR0125605B1 (ko) | 프로그램의 아키덱쳐 변환방법 및 장치와 그 방법 및 장치를 사용하여 프로그램의 동작을 검증하는 방법 및 장치 | |
| JPH05101141A (ja) | 高位合成装置 | |
| JP3745968B2 (ja) | 試験システム及び試験方法及び試験プログラム及び試験プログラムを記録した計算機で読み取り可能な記録媒体 | |
| Melcher et al. | Controller synthesis for the “production cell” case study | |
| JPH0773044A (ja) | 最適化コンパイル方法及び最適化コンパイル装置 | |
| JP3424596B2 (ja) | シンボル参照情報のキャッシュ方法ならびに装置 | |
| Soest | Compiling Second-Order Accelerate Programs to First-Order TensorFlow Graphs |