JPH04233040A - コンピュータプログラム実行シミュレーションシステム - Google Patents
コンピュータプログラム実行シミュレーションシステムInfo
- Publication number
- JPH04233040A JPH04233040A JP3108460A JP10846091A JPH04233040A JP H04233040 A JPH04233040 A JP H04233040A JP 3108460 A JP3108460 A JP 3108460A JP 10846091 A JP10846091 A JP 10846091A JP H04233040 A JPH04233040 A JP H04233040A
- Authority
- JP
- Japan
- Prior art keywords
- state register
- combinational logic
- logic circuit
- data
- public
- 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
- 238000004088 simulation Methods 0.000 title abstract description 29
- 238000004590 computer program Methods 0.000 title description 4
- 230000006870 function Effects 0.000 claims description 14
- 238000000034 method Methods 0.000 claims description 13
- 230000000977 initiatory effect Effects 0.000 claims 1
- 230000001052 transient effect Effects 0.000 claims 1
- 230000000694 effects Effects 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 4
- 238000012886 linear function Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000001143 conditioned effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3457—Performance evaluation by simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/261—Functional testing by simulating additional hardware, e.g. fault simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3447—Performance evaluation by modeling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3404—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for parallel or distributed programming
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明はコンピュータプログラム
の実行をモデル化するためのシステムに関する。特に逐
次実行コードを用いるプロセスをモデル化することによ
り並列ハードウェアおよびソフトウェアの並列実行のミ
シュレーションを可能にするシステムである。
の実行をモデル化するためのシステムに関する。特に逐
次実行コードを用いるプロセスをモデル化することによ
り並列ハードウェアおよびソフトウェアの並列実行のミ
シュレーションを可能にするシステムである。
【0002】
【従来の技術及び課題】コンピュータプログラム、特に
並列処理システム用のプログラムのパフォーマンスの評
価において、プログラムを実行しつつそのパフォーマン
スをモニタするためにはコンピュータハードウェアをモ
デル化することが望ましい。このモデルは特定のプロセ
ッサアーキテクチャにより実行されるときのプログラム
のパフォーマンスを理解する上での手段として必要とさ
れる。コンピュータアーキテクチャをモデル化すること
により、実行の混雑が識別され分析されうる。それら問
題が分析されると、プログラムコードの変更が全体のプ
ログラム効率を改善するために行いうるようになる。プ
ログラムの実行のための実時間パフォーマンスはモデル
を用いて測定される。そのようなシミュレーション技術
を用いると、ハードウェアパフォーマンスの測定も可能
となり、実際のハードウェアパフォーマンスをシミュレ
ートするモデルでプログラムを走行させた結果としてハ
ードウェアに対する変更をモニタしうる。
並列処理システム用のプログラムのパフォーマンスの評
価において、プログラムを実行しつつそのパフォーマン
スをモニタするためにはコンピュータハードウェアをモ
デル化することが望ましい。このモデルは特定のプロセ
ッサアーキテクチャにより実行されるときのプログラム
のパフォーマンスを理解する上での手段として必要とさ
れる。コンピュータアーキテクチャをモデル化すること
により、実行の混雑が識別され分析されうる。それら問
題が分析されると、プログラムコードの変更が全体のプ
ログラム効率を改善するために行いうるようになる。プ
ログラムの実行のための実時間パフォーマンスはモデル
を用いて測定される。そのようなシミュレーション技術
を用いると、ハードウェアパフォーマンスの測定も可能
となり、実際のハードウェアパフォーマンスをシミュレ
ートするモデルでプログラムを走行させた結果としてハ
ードウェアに対する変更をモニタしうる。
【0003】逐次実行コンピュータコードにより構成さ
れる逐次論理を用いるコンピュータハードウェアのシミ
ュレーションはデータへの依存性のため困難である。プ
ログラム命令を先取りし、デコードしそして実行する組
合せ論理は順序によりきまり、データは或る順序をもっ
て処理されねばならない。逐次組合せ論理の順序依存性
はプログラム実行をシミュレートするに必要な時間を大
きくする。シミュレーションのための時間はnを組合せ
論理ユニットの論理装置の数とするとn2 の関数とな
る。シミュレーション時間は必然的にコンピュータハー
ドウェアのモデル化の有効性を低下させる。本発明の目
的は逐次型論理を用いる並列処理データ実行をモデル化
する技術を提供することである。本発明の他の目的はシ
ミュレートされたパイプラインプロセッサにおける並列
処理データ実行のモデル化を与えることである。本発明
の他の目的は同時処理をシミュレートするに必要なシミ
ュレーション時間を同時処理要素の数の線形関数となる
ようにすることである。更に他の目的は同時システムの
順序依存性のないシミュレーションの提供である。
れる逐次論理を用いるコンピュータハードウェアのシミ
ュレーションはデータへの依存性のため困難である。プ
ログラム命令を先取りし、デコードしそして実行する組
合せ論理は順序によりきまり、データは或る順序をもっ
て処理されねばならない。逐次組合せ論理の順序依存性
はプログラム実行をシミュレートするに必要な時間を大
きくする。シミュレーションのための時間はnを組合せ
論理ユニットの論理装置の数とするとn2 の関数とな
る。シミュレーション時間は必然的にコンピュータハー
ドウェアのモデル化の有効性を低下させる。本発明の目
的は逐次型論理を用いる並列処理データ実行をモデル化
する技術を提供することである。本発明の他の目的はシ
ミュレートされたパイプラインプロセッサにおける並列
処理データ実行のモデル化を与えることである。本発明
の他の目的は同時処理をシミュレートするに必要なシミ
ュレーション時間を同時処理要素の数の線形関数となる
ようにすることである。更に他の目的は同時システムの
順序依存性のないシミュレーションの提供である。
【0004】
【課題を解決するための手段】本発明はコンピュータシ
ステムの動的コード実行をシミュレーションする手段を
与える。シミュレーションモジュールは順序依存性をも
たず、データ依存性について関係することなくコードの
実行を可能にする。シミュレーション時間は逐次実行コ
ンピュータコードから構成される同時処理組合せ論理要
素の数の線形関数である。
ステムの動的コード実行をシミュレーションする手段を
与える。シミュレーションモジュールは順序依存性をも
たず、データ依存性について関係することなくコードの
実行を可能にする。シミュレーション時間は逐次実行コ
ンピュータコードから構成される同時処理組合せ論理要
素の数の線形関数である。
【0005】本発明は組合せ論理回路の出力に接続され
たワーキング状態レジスタを用いる。組合せ論理用のク
ロックサイクルがつくられ、これがシミュレートされる
プロセッサの公衆状態レジスタから組合せ論理へのデー
タの転送およびワーキング状態レジスタの設定された内
容の公衆状態レジスタへの転送を識別する。スプリット
クロックサイクルを用いることにより、組合せ論理回路
は公衆状態レジスタの内容が更新しうるようになる前に
全クロックサイクルについて逐次動作しうる。それ故シ
ミュレーションコードから構成される逐次論理は更新不
能であり公衆状態レジスタを、前のデータ値の処理完了
前に新しいデータ値で変化させることが出来ない。
たワーキング状態レジスタを用いる。組合せ論理用のク
ロックサイクルがつくられ、これがシミュレートされる
プロセッサの公衆状態レジスタから組合せ論理へのデー
タの転送およびワーキング状態レジスタの設定された内
容の公衆状態レジスタへの転送を識別する。スプリット
クロックサイクルを用いることにより、組合せ論理回路
は公衆状態レジスタの内容が更新しうるようになる前に
全クロックサイクルについて逐次動作しうる。それ故シ
ミュレーションコードから構成される逐次論理は更新不
能であり公衆状態レジスタを、前のデータ値の処理完了
前に新しいデータ値で変化させることが出来ない。
【0006】
【実施例】図1はプロセッサをシミュレートするために
PSR(公衆状態レジスタ)16と追跡レジスタ11と
共に用いられる組合せ論理回路を示す。このプロセッサ
シミュレーション装置はPSR16に記憶された機械の
状態を再計算するための組合せ論理回路12,13,1
4を含む。その実行をシミュレートすべきデータは追跡
レジスタ11に入る。一般に追跡レジスタ11は並列処
理用のコードラインを含む場合には組合せ論理回路に与
えられる100バイトまでの情報を含みうる。図示の組
合せ論理回路は一般に図1に示すより多くの組合せ論理
回路をオペレーティングシステム内に含んでいる。この
組合せ論理回路は組合せ論理ユニットのシミュレートの
ための逐次実行構成コードで形成されるという点で逐次
的である。
PSR(公衆状態レジスタ)16と追跡レジスタ11と
共に用いられる組合せ論理回路を示す。このプロセッサ
シミュレーション装置はPSR16に記憶された機械の
状態を再計算するための組合せ論理回路12,13,1
4を含む。その実行をシミュレートすべきデータは追跡
レジスタ11に入る。一般に追跡レジスタ11は並列処
理用のコードラインを含む場合には組合せ論理回路に与
えられる100バイトまでの情報を含みうる。図示の組
合せ論理回路は一般に図1に示すより多くの組合せ論理
回路をオペレーティングシステム内に含んでいる。この
組合せ論理回路は組合せ論理ユニットのシミュレートの
ための逐次実行構成コードで形成されるという点で逐次
的である。
【0007】並列プロセッサ実行のシミュレーションで
はデータは組合せ論理で処理されそして結果はPSRを
更新するために用いられる必要がある。追跡レジスタ1
1に入る夫々の新しいコードラインは組合せ論理で処理
されそしてプロセッサの状態がPSRに反映されるよう
に連続的に更新される。コストの点でモデル化技術は一
般に逐次型となる。組合せ論理回路12,13,14を
含むハードウェア構造は一般に逐次形であり、順序に依
存する。組合せ論理回路12と14はシミュレートされ
るプロセッサについての新しい状態を計算するために公
衆状態レジスタからの同一の値Aを必要とする。逐次形
成される組合せ論理を動作させる際にはそれ故回路12
と14が前のAの値で動作を行う機会をもつ前にPSR
が可変の値Aで更新されないように論理動作のシーケン
スを考えなくてはならない。
はデータは組合せ論理で処理されそして結果はPSRを
更新するために用いられる必要がある。追跡レジスタ1
1に入る夫々の新しいコードラインは組合せ論理で処理
されそしてプロセッサの状態がPSRに反映されるよう
に連続的に更新される。コストの点でモデル化技術は一
般に逐次型となる。組合せ論理回路12,13,14を
含むハードウェア構造は一般に逐次形であり、順序に依
存する。組合せ論理回路12と14はシミュレートされ
るプロセッサについての新しい状態を計算するために公
衆状態レジスタからの同一の値Aを必要とする。逐次形
成される組合せ論理を動作させる際にはそれ故回路12
と14が前のAの値で動作を行う機会をもつ前にPSR
が可変の値Aで更新されないように論理動作のシーケン
スを考えなくてはならない。
【0008】かくして図1の組合せ論理回路は回路12
がAの新しい値を与えるべくその機能を行う前に回路1
4がCの新しい値をとり出すべくその機能を行わねばな
らないような、一つの順序に従わねばならない。この順
序がみられずそして論理回路14がCを計算する前に組
合せ論理回路12が出力Aを与えるとすれば、論理回路
14に対するAの値は変わり、Cについての新しい計算
の結果が損われる。
がAの新しい値を与えるべくその機能を行う前に回路1
4がCの新しい値をとり出すべくその機能を行わねばな
らないような、一つの順序に従わねばならない。この順
序がみられずそして論理回路14がCを計算する前に組
合せ論理回路12が出力Aを与えるとすれば、論理回路
14に対するAの値は変わり、Cについての新しい計算
の結果が損われる。
【0009】組合せ論理回路が順序依存性をもつことに
ついての上記の基本的な例は、依存性に関連した問題を
避けるために一つの順序をもって論理回路を動作させる
ことが出来ることを例示するものである。しかしながら
、構成コードのラインを逐次実行することにより逐次形
成される組合せ論理回路は、逐次動作可能とされる組合
せ論理回路により用いられる前にPSR値を損うという
上記の問題を回避するようなシーケンスをしばしば有し
ないものであることがわかった。上記の問題を避けるた
めに組合せ論理回路を順序づける以外に、出力条件が収
斂し安定化するまでくり返すことによる、順序に依存し
ない技術を用いることが可能である。しかしながら、そ
のくり返しに必要なシミュレーション時間はNを組合せ
論理要素の総数とするとN2 の関数となる。このシミ
ュレーションを行うための付加的な時間は問題である。
ついての上記の基本的な例は、依存性に関連した問題を
避けるために一つの順序をもって論理回路を動作させる
ことが出来ることを例示するものである。しかしながら
、構成コードのラインを逐次実行することにより逐次形
成される組合せ論理回路は、逐次動作可能とされる組合
せ論理回路により用いられる前にPSR値を損うという
上記の問題を回避するようなシーケンスをしばしば有し
ないものであることがわかった。上記の問題を避けるた
めに組合せ論理回路を順序づける以外に、出力条件が収
斂し安定化するまでくり返すことによる、順序に依存し
ない技術を用いることが可能である。しかしながら、そ
のくり返しに必要なシミュレーション時間はNを組合せ
論理要素の総数とするとN2 の関数となる。このシミ
ュレーションを行うための付加的な時間は問題である。
【0010】図2は並列プログラムの実行をシミュレー
トする場合に順序に依存しない組合せ論理回路をつくる
、本発明の一実施例による技術を示す。データソース2
0は並列処理システムにより実行されるべきプログラム
のコードラインを含む。データソース20はリフォーマ
ット/変換ユニット21を含む。データはソース20か
らこのリフォーマット/変換ユニット21に転送されて
そこでデコードされる。ユニット21は、静的なデータ
であって、並列処理システムについての動的活性を表わ
すデータを除去し図2のシミュレーションモデルの入力
に転送しうるようにする。並列実行のシミュレーション
はプログラムの動的部分の実行をモニタするためである
。
トする場合に順序に依存しない組合せ論理回路をつくる
、本発明の一実施例による技術を示す。データソース2
0は並列処理システムにより実行されるべきプログラム
のコードラインを含む。データソース20はリフォーマ
ット/変換ユニット21を含む。データはソース20か
らこのリフォーマット/変換ユニット21に転送されて
そこでデコードされる。ユニット21は、静的なデータ
であって、並列処理システムについての動的活性を表わ
すデータを除去し図2のシミュレーションモデルの入力
に転送しうるようにする。並列実行のシミュレーション
はプログラムの動的部分の実行をモニタするためである
。
【0011】シミュレーションモデルは追跡レジスタ2
2を含み、このレジスタはPSR23の制御により、リ
フォーマットされて変換されたコードラインを受ける。 これらコードラインは組合せ論理回路24,25,26
に与えられる。これら回路は先取論理回路26、デコー
ド論理回路25、および実行論理回路24である。これ
ら組合せ論理回路は実行シミュレーションの現在の状態
を与えるためにPSR23からの入力を受ける。これら
回路はシミュレーションプロセッサにより実行されるプ
ログラムからの構成コードを逐次実行することにより形
成される。
2を含み、このレジスタはPSR23の制御により、リ
フォーマットされて変換されたコードラインを受ける。 これらコードラインは組合せ論理回路24,25,26
に与えられる。これら回路は先取論理回路26、デコー
ド論理回路25、および実行論理回路24である。これ
ら組合せ論理回路は実行シミュレーションの現在の状態
を与えるためにPSR23からの入力を受ける。これら
回路はシミュレーションプロセッサにより実行されるプ
ログラムからの構成コードを逐次実行することにより形
成される。
【0012】組合せ論理回路とPSRの間にはワーキン
グ状態レジスタ(WSR)28が配置される。WSR2
8とPSR23は組合せ論理回路24,25,26につ
いての実行シーケンスの異なる終りにおいてクロック3
1によりクロックされる。このシーケンスの第1インタ
ーバルTICKにおいて、PSR23の内容は組合せ論
理回路24,25,26に移される。次のインターバル
TICKにおいて、先取論理回路26がその出力26a
に結果を与え、それがWSR28にラッチされる。デコ
ードおよび実行論理回路24および25は逐次的であり
、先取に続き夫々デコードと実行の動作を行う。追跡レ
ジスタ22に3個の命令が入れられた後に、先取論理回
路26、デコード論理回路25および実行論理回路24
はこのデータの実行に完全に組込まれそして出力26a
,26b,26cがWSR28に転送される。このよう
にパイプライン効果が得られる。
グ状態レジスタ(WSR)28が配置される。WSR2
8とPSR23は組合せ論理回路24,25,26につ
いての実行シーケンスの異なる終りにおいてクロック3
1によりクロックされる。このシーケンスの第1インタ
ーバルTICKにおいて、PSR23の内容は組合せ論
理回路24,25,26に移される。次のインターバル
TICKにおいて、先取論理回路26がその出力26a
に結果を与え、それがWSR28にラッチされる。デコ
ードおよび実行論理回路24および25は逐次的であり
、先取に続き夫々デコードと実行の動作を行う。追跡レ
ジスタ22に3個の命令が入れられた後に、先取論理回
路26、デコード論理回路25および実行論理回路24
はこのデータの実行に完全に組込まれそして出力26a
,26b,26cがWSR28に転送される。このよう
にパイプライン効果が得られる。
【0013】組合せ論理回路24,25,26の結果を
ラッチしたWSR28はその内容を組合せ論理実行シー
ケンスTOCKの終りにPSR23に送る。WSR28
の使用はPSR23が、組合せ論理がPSR23内の必
要な前のデータでその機能を行ってしまう前に新しいデ
ータにより過早に更新される可能性がなくなる。上記の
シミュレーションモデルはPSR23の入力信号ライン
を介してメモリ出力29に接続する。メモリ出力29は
WSR28からの選ばれたデータの記録を可能にし、か
くしてシミュレーションのパフォーマンスの指標を与え
る。
ラッチしたWSR28はその内容を組合せ論理実行シー
ケンスTOCKの終りにPSR23に送る。WSR28
の使用はPSR23が、組合せ論理がPSR23内の必
要な前のデータでその機能を行ってしまう前に新しいデ
ータにより過早に更新される可能性がなくなる。上記の
シミュレーションモデルはPSR23の入力信号ライン
を介してメモリ出力29に接続する。メモリ出力29は
WSR28からの選ばれたデータの記録を可能にし、か
くしてシミュレーションのパフォーマンスの指標を与え
る。
【0014】以上の技術を用いることにより組合せ論理
は、その夫々のモジュール24,25,26から発生さ
れるデータがそのシーケンスの終了までWSR28に保
持されるために順序依存性がない。この時点において、
WSR28内の結果を、シミュレーション装置について
の状態が更新しうるようにPSR23に転送することが
可能である。WSRレジスタ28からの組合せ論理の結
果の転送は、より条件づけられた並列データが回路24
,25,26の夫々について使用可能となるように追跡
レジスタ22のクロックに従う。それ故、組合せ論理が
PSR23への結果の転送前にすべての論理機能を完了
しうるようにするシミュレーション装置用のクロックシ
ーケンスを与えることにより、実行時間が組合せ論理の
エレメント数の直線関数である本質的に順序に依存しな
いシステムが得られる。
は、その夫々のモジュール24,25,26から発生さ
れるデータがそのシーケンスの終了までWSR28に保
持されるために順序依存性がない。この時点において、
WSR28内の結果を、シミュレーション装置について
の状態が更新しうるようにPSR23に転送することが
可能である。WSRレジスタ28からの組合せ論理の結
果の転送は、より条件づけられた並列データが回路24
,25,26の夫々について使用可能となるように追跡
レジスタ22のクロックに従う。それ故、組合せ論理が
PSR23への結果の転送前にすべての論理機能を完了
しうるようにするシミュレーション装置用のクロックシ
ーケンスを与えることにより、実行時間が組合せ論理の
エレメント数の直線関数である本質的に順序に依存しな
いシステムが得られる。
【0015】図3、4は独立機能シミュレーション用に
多サイクルを用いるシミュレーションの例を示す。特に
図3の機能36,37,38は別々にシミュレートされ
そしてそれらの結果が保存される。図3はTICK1で
はじまりTOCK1で終る組合せ論理実行時間に対応す
るインターバルを与える、1つのクロック45を用いて
3個の機能36,37,38をモデル化する方法を示す
。図4はWSR40と第2PSR41が論理機能37と
38の間に置かれるようにしての同一の機能のモデル化
を示す。これらクロック44と45の夫々についてのク
ロックシーケンスは図4に示してある。図4は夫々PS
RレジスタとWSRレジスタをクロックするシーケンス
が TICK1 TOCK2 TICK2 TOCK
1であることを示す。上記のシーケンスに従ってクロッ
ク45とサブクロック44を用いれば論理回路37と3
8の夫々からの出力を別々に保存することが出来る。
多サイクルを用いるシミュレーションの例を示す。特に
図3の機能36,37,38は別々にシミュレートされ
そしてそれらの結果が保存される。図3はTICK1で
はじまりTOCK1で終る組合せ論理実行時間に対応す
るインターバルを与える、1つのクロック45を用いて
3個の機能36,37,38をモデル化する方法を示す
。図4はWSR40と第2PSR41が論理機能37と
38の間に置かれるようにしての同一の機能のモデル化
を示す。これらクロック44と45の夫々についてのク
ロックシーケンスは図4に示してある。図4は夫々PS
RレジスタとWSRレジスタをクロックするシーケンス
が TICK1 TOCK2 TICK2 TOCK
1であることを示す。上記のシーケンスに従ってクロッ
ク45とサブクロック44を用いれば論理回路37と3
8の夫々からの出力を別々に保存することが出来る。
【0016】
【発明の効果】以上のように、このシステムはコンピュ
ータプログラムの実行の動的活性をモデル化しうる。こ
の技術はプロセッサの実行の順序に依存しないシミュレ
ーションを与えるものであり、シミュレーション速度を
改善するものである。
ータプログラムの実行の動的活性をモデル化しうる。こ
の技術はプロセッサの実行の順序に依存しないシミュレ
ーションを与えるものであり、シミュレーション速度を
改善するものである。
【図1】プロセッサ実行の動的活性をシミュレートする
ための順序依存形論理を示すブロック図。
ための順序依存形論理を示すブロック図。
【図2】並列処理実行の動的活性をシミュレートするた
めの順序に依存しない技術を示す図。
めの順序に依存しない技術を示す図。
【図3】クロックサイクルのサブセットとして副機能的
要素をモデル化する組合せ論理用の多クロックサイクル
の使用を示す図。
要素をモデル化する組合せ論理用の多クロックサイクル
の使用を示す図。
【図4】クロックサイクルのサブセットとして副機能的
要素をモデル化する組合せ論理用の多クロックサイクル
の使用を示す図。
要素をモデル化する組合せ論理用の多クロックサイクル
の使用を示す図。
20 データソース
21 リフォーマット/変換ユニット22 追跡レ
ジスタ 23 公衆状態レジスタ(PSR) 24 実行論理回路 25 デコード論理回路 26 先取り論理回路 28 ワーキング状態レジスタ 29 メモリ
ジスタ 23 公衆状態レジスタ(PSR) 24 実行論理回路 25 デコード論理回路 26 先取り論理回路 28 ワーキング状態レジスタ 29 メモリ
Claims (11)
- 【請求項1】モデル化されるべき実行シーケンスについ
てクロックサイクル周期をつくる段階と、同時に実行さ
れるべき複数の命令をキャッシュに記憶する段階と、前
記クロックサイクルを第1(TICK)および第2(T
OCK)部分に分ける段階と、先取り論理、デコード論
理および実行論理を表わす組合せ論理回路をつくる段階
と、前記第1(TICK)部分において公衆状態レジス
タから前記組合せ論理にデータを転送する段階と、前記
第2(TOCK)部分において前記論理回路から前記公
衆状態レジスタにデータ結果を転送し、それにより全ク
ロックサイクル中に前記組合せ論理回路による並列転送
と実行が生じるようにする段階と、を備えている逐次組
合せ論理を有する同時実行段階をシミュレートする方法
。 - 【請求項2】前記第1(TICK)部分において組合せ
論理機能を行う公衆状態レジスタからデータを読取りそ
して論理機能結果をワーキング状態レジスタに書込む段
階と、 前記第2(TOCK)部分において前記ワー
キング状態レジスタから読取りそしてその読取データを
前記公衆状態レジスタに書込む段階とを更に備えている
請求項1記載の方法。 - 【請求項3】先取り機能、デコード機能および実行機能
を表わす第1、第2および第3組合せ論理回路を設ける
段階と、前記組合せ論理回路にデータを転送するための
第1、第2および第3公衆状態レジスタ出力を与える段
階と、前記組合せ論理回路により発生されるデータ結果
を受けるための第1、第2および第3ワーキング状態レ
ジスタ入力を与える段階と、クロックサイクルを第1お
よび第2クロック部分に分け、この第1のクロック部分
において前記公衆状態レジスタから前記組合せ論理回路
に転送しそして前記組合せ論理回路からの結果を前記ワ
ーキングレジスタに書込み、前記第2クロック部分にお
いて、前記ワーキング状態レジスタから前記公衆状態レ
ジスタにデータを転送し、前記クロックサイクルにより
限定される時間インターバルにおいて命令が逐次先取り
され、デコードされそして実行されるようにする手段と
、を備えている逐次実行ハードウェアを用いて命令の並
列処理をモデル化するための方法 - 【請求項4】並列処理中に発生されるデータを表わす一
連の多桁コードを与えるための追跡レジスタと、前記多
桁コードの夫々のビットを受けるための、複数の論理出
力を有する組合せ論理回路と、前記組合せ論理回路の出
力に接続する複数の入力を有するワーキング状態レジス
タと、前記ワーキング状態レジスタの出力に接続する複
数の入力ラインと上記組合せ論理回路の同じ数の入力に
接続する複数の出力とを有する公衆状態レジスタと、前
記組合せ論理回路の副回路が逐次新しい論理出力信号群
を計算するインターバルの開始を識別すると共に前記公
衆状態レジスタの内容の前記組合せ論理回路への転送を
開始させるために前記シーケンスの終りを識別し、そし
て前記ワーキング状態レジスタの内容を前記公衆状態レ
ジスタに転送し、前記組合せ論理回路により前記シーケ
ンス内で発生された過渡的データが前記組合せ論理回路
に達しないようにするためのクロック回路と、を備えて
いる逐次実行システムにおける命令の並列処理をモデル
化するための装置。 - 【請求項5】前記組合せ論理回路は命令先取り動作、デ
コード動作および実行動作をシミュレートする請求項4
記載の装置。 - 【請求項6】先取動作を表わす前記組合せ論理回路の出
力は前記デコード動作をシミュレートする前記組合せ論
理回路の一部に接続する前記公衆状態レジスタの入力に
前記ワーキング状態レジスタによって与えられる請求項
5の装置。 - 【請求項7】デコード動作を表わす前記組合せ論理回路
の出力は前記実行動作を表わす前記組合せ論理回路の一
部に接続する前記公衆状態レジスタの入力に前記ワーキ
ング状態レジスタによって与えられる請求項6記載の方
法。 - 【請求項8】コンピュータ処理システムの状態を表わす
データを保持するための公衆状態レジスタと、コンピュ
ータ処理適用業務により発生される処理データを表わす
多桁2進データを記憶する追跡レジスタと、前記公衆状
態レジスタと追跡レジスタから多ビットデータワードを
受けるための、逐次計算インターバルにわたり出力デー
タを発生する組合せ論理ユニットと、 この組合せ論
理ユニットに接続し、この組合せ論理ユニットにより逐
次発生される出力データを受けそしてクロック信号に応
じてデータを前記公衆状態レジスタに転送するためのワ
ーキング状態レジスタと、前記計算インターバルを限定
する第1および第2クロック信号を発生し、前記第1ク
ロック信号は前記公衆状態レジスタに加えられてその内
容を前記組合せ論理ユニットに転送し、前記第2クロッ
ク信号は前記計算インターバルの終りを表わし、前記計
算インターバルが完了するとき前記ワーキング状態レジ
スタが前記公衆状態レジスタの内容を転送しうるように
するクロック信号発生器と、を備えているコンピュータ
命令の実行をモデル化するためのシステム。 - 【請求項9】前記組合せ論理ユニットが、並列処理シス
テムの先取ユニットを表わすセクションと、並列処理シ
ステムのデコードユニットを表わすセクションと、並列
処理システムの実行ユニットを表わすセクションと、を
備えている請求項8記載のシステム。 - 【請求項10】前記先取りユニットを表わすセクション
は前記ワーキング状態レジスタと前記公衆状態レジスタ
を介して前記デコードユニットを表わすセクションの入
力部に接続する出力データを与え、それにより前記先取
りユニットの出力データが前記公衆状態レジスタに転送
されそしてそれにより前記組合せ論理ユニットのデコー
ドセクションに転送される請求項9記載のシステム。 - 【請求項11】前記デコードユニットを表わすセクショ
ンは前記ワーキング状態レジスタを介して前記実行ユニ
ットを表わすセクションの入力部にデータを与え、それ
により、前記デコードユニットを表わすセクションの出
力データが前記公衆状態レジスタに、そして更に実行ユ
ニットを表わす前記組合せ論理セクションに転送される
請求項10記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/540,680 US5179672A (en) | 1990-06-19 | 1990-06-19 | Apparatus and method for modeling parallel processing of instructions using sequential execution hardware |
US540680 | 1995-10-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04233040A true JPH04233040A (ja) | 1992-08-21 |
Family
ID=24156489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3108460A Pending JPH04233040A (ja) | 1990-06-19 | 1991-04-12 | コンピュータプログラム実行シミュレーションシステム |
Country Status (3)
Country | Link |
---|---|
US (1) | US5179672A (ja) |
EP (1) | EP0462446A3 (ja) |
JP (1) | JPH04233040A (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5450550A (en) * | 1991-08-09 | 1995-09-12 | Sony Corporation | Parallel processing system for parallel prefetching of identical packet having two rendering commands and processing second command prior to completion of processing the first command |
US5404496A (en) * | 1992-07-01 | 1995-04-04 | Hewlett-Packard Company | Computer-based system and method for debugging a computer system implementation |
US5590356A (en) * | 1994-08-23 | 1996-12-31 | Massachusetts Institute Of Technology | Mesh parallel computer architecture apparatus and associated methods |
US5886899A (en) * | 1996-01-26 | 1999-03-23 | Advanced Micro Devices | Method for analyzing the performance of a microprocessor |
JPH11120040A (ja) * | 1997-10-20 | 1999-04-30 | Fujitsu Ltd | 並列処理手続きの効果予測方法とそのための記録媒体 |
US6618698B1 (en) | 1999-08-12 | 2003-09-09 | Quickturn Design Systems, Inc. | Clustered processors in an emulation engine |
WO2001046827A1 (en) * | 1999-12-22 | 2001-06-28 | Ubicom, Inc. | System and method for instruction level multithreading in an embedded processor using zero-time context switching |
US7308686B1 (en) * | 1999-12-22 | 2007-12-11 | Ubicom Inc. | Software input/output using hard real time threads |
US7047396B1 (en) | 2000-06-22 | 2006-05-16 | Ubicom, Inc. | Fixed length memory to memory arithmetic and architecture for a communications embedded processor system |
US7822950B1 (en) | 2003-01-22 | 2010-10-26 | Ubicom, Inc. | Thread cancellation and recirculation in a computer processor for avoiding pipeline stalls |
US7460989B2 (en) * | 2004-10-14 | 2008-12-02 | International Business Machines Corporation | Method and apparatus for modeling multiple concurrently dispatched instruction streams in super scalar CPU with a sequential language |
US7631168B1 (en) | 2006-05-10 | 2009-12-08 | The Math Works, Inc. | Graphical interface for grouping concurrent computing units executing a concurrent computing process |
US9405564B2 (en) * | 2006-05-10 | 2016-08-02 | The Mathworks, Inc. | System and method for targeting commands to concurrent computing units executing a concurrent computing process |
US8484007B2 (en) * | 2008-02-16 | 2013-07-09 | International Business Machines Corporation | Method and apparatus of handling instruction rejects, partial rejects, stalls and branch wrong in a simulation model |
JP5139486B2 (ja) * | 2010-08-30 | 2013-02-06 | 株式会社東芝 | トレース生成装置、システム、およびそのプログラム |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5943781A (ja) * | 1982-09-01 | 1984-03-10 | 三菱電機株式会社 | エレベ−タの非常止め装置 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4231104A (en) * | 1978-04-26 | 1980-10-28 | Teradyne, Inc. | Generating timing signals |
US4245304A (en) * | 1978-12-11 | 1981-01-13 | Honeywell Information Systems Inc. | Cache arrangement utilizing a split cycle mode of operation |
US4439829A (en) * | 1981-01-07 | 1984-03-27 | Wang Laboratories, Inc. | Data processing machine with improved cache memory management |
US4484266A (en) * | 1981-12-11 | 1984-11-20 | The United States Of America As Represented By The Secretary Of The Navy | Externally specified index peripheral simulation system |
US4488229A (en) * | 1982-12-08 | 1984-12-11 | At&T Bell Laboratories | PLA-Based finite state machine with two-level control timing and same-cycle decision-making capability |
US4594655A (en) * | 1983-03-14 | 1986-06-10 | International Business Machines Corporation | (k)-Instructions-at-a-time pipelined processor for parallel execution of inherently sequential instructions |
US4608633A (en) * | 1983-04-01 | 1986-08-26 | Honeywell Information Systems Inc. | Method for decreasing execution time of numeric instructions |
US4573116A (en) * | 1983-12-20 | 1986-02-25 | Honeywell Information Systems Inc. | Multiword data register array having simultaneous read-write capability |
US4701844A (en) * | 1984-03-30 | 1987-10-20 | Motorola Computer Systems, Inc. | Dual cache for independent prefetch and execution units |
US4630195A (en) * | 1984-05-31 | 1986-12-16 | International Business Machines Corporation | Data processing system with CPU register to register data transfers overlapped with data transfer to and from main storage |
US4766535A (en) * | 1985-12-20 | 1988-08-23 | International Business Machines Corporation | High-performance multiple port memory |
US4937770A (en) * | 1986-02-07 | 1990-06-26 | Teradyne, Inc. | Simulation system |
JPS62182939A (ja) * | 1986-02-07 | 1987-08-11 | Hitachi Ltd | 情報処理装置の論理シミユレ−シヨン方法 |
US4787062A (en) * | 1986-06-26 | 1988-11-22 | Ikos Systems, Inc. | Glitch detection by forcing the output of a simulated logic device to an undefined state |
US4829425A (en) * | 1986-10-21 | 1989-05-09 | Intel Corporation | Memory-based interagent communication mechanism |
JP2699377B2 (ja) * | 1987-02-25 | 1998-01-19 | 日本電気株式会社 | ハードウエア論理シミユレータ |
US4876644A (en) * | 1987-10-30 | 1989-10-24 | International Business Machines Corp. | Parallel pipelined processor |
US4879718A (en) * | 1987-11-30 | 1989-11-07 | Tandem Computers Incorporated | Scan data path coupling |
-
1990
- 1990-06-19 US US07/540,680 patent/US5179672A/en not_active Expired - Lifetime
-
1991
- 1991-04-12 JP JP3108460A patent/JPH04233040A/ja active Pending
- 1991-06-06 EP EP19910109219 patent/EP0462446A3/en not_active Ceased
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5943781A (ja) * | 1982-09-01 | 1984-03-10 | 三菱電機株式会社 | エレベ−タの非常止め装置 |
Also Published As
Publication number | Publication date |
---|---|
EP0462446A2 (en) | 1991-12-27 |
EP0462446A3 (en) | 1992-10-21 |
US5179672A (en) | 1993-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4228498A (en) | Multibus processor for increasing execution speed using a pipeline effect | |
EP0241946A2 (en) | Information processing system | |
US4541045A (en) | Microprocessor architecture employing efficient operand and instruction addressing | |
EP1248211A2 (en) | Data processing system and design system | |
JPS58222355A (ja) | 論理シミユレ−シヨン機械 | |
JPH04233040A (ja) | コンピュータプログラム実行シミュレーションシステム | |
US6983234B1 (en) | System and method for validating processor performance and functionality | |
US7054802B2 (en) | Hardware-assisted design verification system using a packet-based protocol logic synthesized for efficient data loading and unloading | |
JP2693678B2 (ja) | データ処理装置 | |
US6212493B1 (en) | Profile directed simulation used to target time-critical crossproducts during random vector testing | |
JP5146451B2 (ja) | ハードウエアエミュレーションシステムのプロセッサを同期化する方法及び装置 | |
Reaz et al. | A single clock cycle MIPS RISC processor design using VHDL | |
US7110934B2 (en) | Analysis of the performance of a portion of a data processing system | |
WO2024003526A1 (en) | Vector extract and merge instruction | |
CN111124360A (zh) | 一种可配置矩阵乘法的加速器 | |
US20010010034A1 (en) | Simulation of data processing apparatus | |
US10409624B1 (en) | Data array compaction in an emulation system | |
JPH11161692A (ja) | 消費電力のシミュレーション方法 | |
US11106846B1 (en) | Systems and methods for emulation data array compaction | |
Denneau et al. | Design and implementation of a software simulation engine | |
Deny et al. | Five-Stage Pipelined MIPS Processor Verification Driver Module using UVM | |
US11048843B1 (en) | Dynamic netlist modification of compacted data arrays in an emulation system | |
JP2000122898A (ja) | シミュレーション方法及び装置 | |
JP3753572B2 (ja) | シミュレーションシステムおよび命令シミュレーション方法 | |
Starostenko et al. | Simulation facilities for risc processors data flow and performance optimizations |