JP3728368B2 - リソース競合チェック装置、アセンブル装置、リンク装置、命令パイプラインシミュレーション装置、リソース競合チェック方法、およびリソース競合チェックプログラムを記録した媒体 - Google Patents
リソース競合チェック装置、アセンブル装置、リンク装置、命令パイプラインシミュレーション装置、リソース競合チェック方法、およびリソース競合チェックプログラムを記録した媒体 Download PDFInfo
- Publication number
- JP3728368B2 JP3728368B2 JP13372997A JP13372997A JP3728368B2 JP 3728368 B2 JP3728368 B2 JP 3728368B2 JP 13372997 A JP13372997 A JP 13372997A JP 13372997 A JP13372997 A JP 13372997A JP 3728368 B2 JP3728368 B2 JP 3728368B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- resource
- extracted
- resource conflict
- extracting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Advance Control (AREA)
- Debugging And Monitoring (AREA)
- Devices For Executing Special Programs (AREA)
Description
【発明の属する技術分野】
本発明は、命令パイプラインにより動作するCPU(Central Processing Unit )、DSP(Digital Signal Processor)等のマイクロコードのリソース競合に関し、特に、命令パイプラインで発生するリソース競合を予め検出するためのリソース競合チェック装置、アセンブル装置、リンク装置、命令パイプラインシミュレーション装置、リソース競合チェック方法、およびリソース競合チェックプログラムを記録した媒体に関する。
【0002】
【従来の技術】
近年、高性能のコンピュータを実現するために、ハードウェア技術およびソフトウェア技術において種々の機能向上がなされている。ハードウェア技術としては、CPU、DSP等のプロセッサのクロック周波数の向上等が挙げられる。また、ソフトウェア技術においては、オブジェクトプログラムの実行命令ステップ数の低減を図るためのコンパイラ技術の高度化等が挙げられる。
【0003】
これらの技術と並んで、1命令当りの平均実行サイクル数を低減させる手法であるパイプライン制御が最も重要な技術の1つとして挙げられる。
【0004】
【発明が解決しようとする課題】
命令パイプライン方式において、1マシンサイクルごとに1命令の実行が理想であるが、実際にはリソース競合のようなパイプラインの乱れと呼ばれる現象が生じる。この現象として、たとえば、同一のキャッシュメモリへのアクセス要求の競合や同一の演算器の使用による競合等が挙げられる。この現象が起こらないようにマイクロコードを作成しないと、意図した動作を実際のハードウェアで実現することができないか、または性能の低下が起こるという問題が生じる。
【0005】
本発明は、上記問題点を解決するためになされたものであり、請求項1〜4記載の発明の目的は、リソース競合が発生するか否かを自動的に判定できるリソース競合チェック装置を提供することである。
【0006】
請求項5に記載の発明の目的は、リソース競合が発生するか否かを自動的に判定できるアセンブル装置を提供することである。
【0007】
請求項6に記載の発明の目的は、リソース競合が発生するか否かを自動的に判定できるリンク装置を提供することである。
【0008】
請求項7〜8に記載の発明の目的は、リソース競合が発生するか否かを自動的に判定できる命令パイプラインシミュレーション装置を提供することである。
【0009】
請求項9記載の発明の目的は、リソース競合が発生するか否かを自動的に判定できるリソース競合チェック方法を提供することである。
【0010】
請求項10記載の発明の目的は、リソース競合が発生するか否かを自動的に判定できるリソース競合チェックプログラムを記録した媒体を提供することである。
【0011】
【課題を解決するための手段】
請求項1に記載のリソース競合チェック装置は、命令の種類に基づいてリソース競合の対象となる命令を抽出するための命令抽出手段と、命令抽出手段によって抽出された命令のリソース競合の対象となるステージ数を抽出するためのステージ数抽出手段と、命令抽出手段によって抽出された命令のアドレスとステージ数抽出手段によって抽出されたステージ数とに基づいてリソース競合が発生するか否かを判定するための競合判定手段とを含む。
【0012】
競合判定手段は、リソース競合の対象となる命令のアドレスとリソース競合の対象となるステージ数とに基づいてリソース競合が発生するか否かを判定するので、プログラム中の各命令において命令パイプラインにおけるリソース競合が発生するポイントを抽出することが可能となる。
【0013】
請求項2に記載のリソース競合チェック装置は、請求項1記載のリソース競合チェック装置であって、競合判定手段は命令抽出手段によって抽出された命令のアドレスからトレースを開始し、ステージ数抽出手段によって抽出されたステージ数分トレースしてリソース競合のチェックポイントを抽出するためのトレース手段と、トレース手段によって抽出されたチェックポイントに基づいてリソース競合が発生するポイントを抽出するためのチェック手段とを含む。
【0014】
請求項3に記載のリソース競合チェック装置は、請求項1または2記載のリソース競合チェック装置であって、リソース競合チェック装置はさらにリソース競合の対象命令の情報を登録するための命令登録手段を含み、命令抽出手段は命令の種類に基づいてリソース競合の対象命令を命令登録手段に登録された情報の中から抽出し、ステージ数抽出手段は命令抽出手段によって抽出された命令のリソース競合の対象ステージ数を命令登録手段に登録された情報の中から抽出する。
【0015】
請求項4に記載のリソース競合チェック装置は、請求項1〜3のいずれかに記載のリソース競合チェック装置であって、命令抽出手段はマイクロコードを構成する命令の種類に基づいてリソース競合の対象となる命令を抽出する。
【0016】
請求項5に記載のアセンブル装置は、アセンブリ言語で記述されたプログラムを機械語に変換するためのアセンブリ処理手段と、アセンブリ処理手段によって変換されるアセンブリ言語で記述されたプログラムの命令の種類に基づいてリソース競合の対象となる命令を抽出するための命令抽出手段と、命令抽出手段によって抽出された命令のリソース競合の対象となるステージ数を抽出するためのステージ数抽出手段と、命令抽出手段によって抽出された命令のアドレスとステージ数抽出手段によって抽出されたステージ数とに基づいてリソース競合が発生するか否かを判定するための競合判定手段とを含む。
【0017】
競合判定手段は、アセンブリ言語で記述されたプログラム中のリソース競合の対象となる命令とリソース競合の対象となるステージ数とに基づいてリソース競合が発生するか否かを判定するので、アセンブリ言語で記述されたプログラムを機械語に変換する前にリソース競合が発生するポイントを抽出することが可能になる。
【0018】
請求項6に記載のリンク装置は、機械語に変換されたプログラムをオブジェクトコードに変換するためのリンク処理手段と、リンク処理手段によってオブジェクトコードに変換されるプログラムの命令の種類に基づいてリソース競合の対象となる命令を抽出するための命令抽出手段と、命令抽出手段によって抽出された命令のリソース競合の対象となるステージ数を抽出するためのステージ数抽出手段と、命令抽出手段によって抽出された命令のアドレスとステージ数抽出手段によって抽出されたステージ数とに基づいてリソース競合が発生するか否かを判定するための競合判定手段とを含む。
【0019】
競合判定手段は、オブジェクトコードに変換されるプログラム中のリソース競合の対象となる命令のアドレスとリソース競合の対象となるステージ数とに基づいてリソース競合が発生するか否かを判定するので、機械語に変換されたプログラムをオブジェクトコードに変換する前にリソース競合が発生するポイントを抽出することが可能となる。
【0020】
請求項7に記載の命令パイプラインシミュレーション装置は、プログラム中の命令を更新するためのデバッグ手段と、デバッグ手段によって更新されたプログラムの命令の種類に基づいてリソース競合の対象となる命令を抽出するための命令抽出手段と、命令抽出手段によって抽出された命令のリソース競合の対象となるステージ数を抽出するためのステージ数抽出手段と、命令抽出手段によって抽出された命令のアドレスとステージ数抽出手段によって抽出されたステージ数とに基づいてリソース競合が発生するか否かを判定するための競合判定手段と、デバッグ手段によって更新されたプログラムの命令パイプラインにおける動作をシミュレートするためのシミュレーション手段とを含む。
【0021】
競合判定手段によってリソース競合が発生すると判定された命令を、デバッグ手段によって更新することが可能となる。したがって、リソース競合が発生する箇所を改善したプログラムによって、命令パイプラインにおける動作をシミュレートすることが可能となる。
【0024】
請求項8に記載のリソース競合チェック方法は、命令の種類に基づいてリソース競合の対象となる命令を抽出するステップと、抽出された命令のリソース競合の対象となるステージ数を抽出するステップと、抽出された命令のアドレスと抽出されたステージ数とに基づいてリソース競合が発生するか否かを判定するステップとを含む。
【0025】
請求項9に記載のリソース競合チェックプログラムを記録した媒体は、命令の種類に基づいてリソース競合の対象となる命令を抽出するステップと、抽出された命令のリソース競合の対象となるステージ数を抽出するステップと、抽出された命令のアドレスと抽出されたステージ数とに基づいてリソース競合が発生するか否かを判定するステップとを含む。
【0026】
【発明の実施の形態】
図1は、本発明のリソース競合チェック装置の外観を示す図である。リソース競合チェック装置は、コンピュータ本体1、グラフィックディスプレイ装置2、磁気テープ装置3、磁気テープ4、キーボード5、マウス6、CD−ROM(Compact Disk-Reat Only Memory )装置7、CD−ROM8、および通信モデム9を含む。リソース競合チェックプログラムは、磁気テープ4またはCD−ROM8等の記録媒体によって供給される。リソース競合チェックプログラムはコンピュータ本体1によって実行され、操作者はグラフィックディスプレイ装置2を見ながらキーボード5またはマウス6を操作することによってリソース競合のチェックを行なう。また、リソース競合チェックプログラムは他のコンピュータにより通信回線を経由し、通信モデム9を介してコンピュータ本体1に供給されてもよい。
【0027】
図2は、本発明のリソース競合チェック装置の構成を示すブロック図である。図1に示すコンピュータ本体1は、CPU10、ROM(Read Only Memory)11、RAM(Random Access Memory)12およびハードディスク13を含む。CPU10は、グラフィックディスプレイ装置2、磁気テープ装置3、キーボード5、マウス6、CD−ROM装置7、通信モデム9、ROM11、RAM12またはハードディスク13との間でデータを入出力しながら処理を行なう。磁気テープ4またはCD−ROM8に記録されたリソース競合チェックプログラムは、CPU10によって磁気テープ装置3またはCD−ROM装置7を介して一旦ハードディスク13に格納される。CPU10は、ハードディスク13から適宜リソース競合チェックプログラムをRAM12にロードして実行することによってリソース競合のチェックが行なわれる。以下、本発明の各実施の形態におけるリソース競合チェック装置について説明するが、図1に示すリソース競合チェック装置の外観および図2に示すリソース競合チェック装置の構成ブロック図は各実施の形態において共通である。
【0028】
[実施の形態1]
図3は、本発明の実施の形態1におけるリソース競合チェック装置の概略構成を示す図である。リソース競合チェック装置は、マイクロコードが入力される入力部31、マイクロコードを構成する命令のリソース競合をチェックするためのリソース競合チェック部32、リソース競合チェック部32によってチェックされた結果を出力するための出力部33、および各種テーブルの情報を記憶するための記憶部34を含む。
【0029】
入力部31は、マイクロコードが入力されるマイクロコード入力部35を含む。リソース競合チェック部32は、入力部31に入力されたマイクロコードを構成する命令の中からリソース競合のチェックが必要な命令を抽出し、当該命令のアドレスおよび競合の起こり得るステージ数等の始点情報を設定するための始点情報設定部36、始点情報設定部36によって設定された始点情報に基づいてトレースを行なうためのトレース部37、およびリソース競合が発生するか否かを判定するためのチェック部38を含む。記憶部34は、マイクロコードを構成する命令および当該命令の次にフェッチされる命令を格納するための命令情報格納テーブル39、リソース競合が発生し得る命令のチェック項目およびステージ数を格納するためのリソース競合チェック対応テーブル40、始点情報設定部36によって設定された始点情報を格納するための始点情報格納テーブル41、およびリソース競合が発生する命令のチェックポイントおよびチェック項目を格納するためのチェックポイント設定テーブル42を含む。
【0030】
マイクロコード入力部35は、入力されたマイクロコードを構成する命令を命令情報格納テーブル39に格納する。始点情報設定部36は、マイクロコード入力部35に入力されたマイクロコードを構成する命令が入力され、各命令の次のサイクルでフェッチされる命令の情報を命令情報格納テーブル39に格納するとともに、リソース競合チェック対応テーブル40を参照することにより、リソース競合のチェックが必要な命令を抽出し、当該命令のアドレス、チェック項目、および競合の起こり得るステージ数を始点情報格納テーブル41に格納し、トレース部37におけるトレースの始点情報としてスタックに格納する。
【0031】
トレース部37は、始点情報設定部36によってスタックに格納された始点情報に基づいて、当該命令のアドレスからリソース競合の起こり得るステージ数までトレースし、トレース結果をチェックポイントとしてチェックポイント設定テーブル42に設定する。チェック部38は、トレース部37によって設定されたチェックポイントに基づいて、リソース競合が発生するか否かを判定し、その判定結果を出力部33に出力する。
【0032】
図4は、本発明の実施の形態1におけるリソース競合チェック装置の処理手順を示すフローチャートである。まず、マイクロコード入力部35は、マイクロコードを構成する命令を入力し、命令を命令情報格納テーブル39に格納する(S1)。始点情報設定部36は、命令情報格納テーブル39に格納された命令に基づいて、次のサイクルでフェッチされる命令の情報を命令情報格納テーブル39に追加する。そして、リソース競合チェック対応テーブル40を参照してリソース競合のチェックの必要な命令を抽出し、当該命令のチェック項目、競合の起こり得るステージ数をリソース競合チェック対応テーブル40から抽出し、始点情報格納テーブル41に格納するとともに、トレースの始点情報としてスタックに格納する(S2)。
【0033】
次に、トレース部37は、ステップS2でスタックに格納された命令に基づいて、当該命令のアドレスからリソース競合が発生するステージ数だけトレースし、トレース結果であるチェックポイントをチェックポイント設定テーブル42に格納する(S3)。そして、チェック部38は、ステップS3で設定されたチェックポイントに基づいて、リソース競合が発生するか否かを判定する(S4)。最後に、出力部33は、ステップS4における判定結果を出力する。
【0034】
図5は、図4のステップS1をより詳細に説明するためのフローチャートである。マイクロコード入力部35は、入力されたマイクロコードを構成する命令を命令情報格納テーブル39に格納する。また、始点情報設定部36は、図6に示すように命令と命令のアドレスとから、次にフェッチされる命令を決定し命令情報格納テーブル39に格納する(S11)。
【0035】
図7は、図4のステップS2の処理手順をより詳細に示すフローチャートである。始点情報設定部36は、命令情報格納テーブル39から命令を1つ取出し(S21)、取出すべき命令がない場合は、すべての命令について処理したと判断し(S22,Yes)、図4のステップS3に処理が進む。ステップS21において取出された命令が最後の命令でない場合は(S22,No)、当該命令がリソース競合のチェック対象命令であるか否かを判断する。
【0036】
当該命令がリソース競合のチェック対象命令である場合(S23,Yes)は、リソース競合のチェック項目およびリソース競合が発生し得るステージ数を始点情報格納テーブル41に設定し、その情報をスタックに格納し、ステップS25へ進む。また、取出した命令がリソース競合のチェック対象命令でない場合(S23,No)、次にフェッチされる命令の情報を命令情報格納テーブル39に格納し、ステップS21に戻り以上の処理を繰返す。
【0037】
図8は、図4のステップS3の処理手順をより詳細に説明するためのフローチャートである。まず、スタックから始点情報を1つ取出す(S31)。スタックが空の場合(S32,Yes)、図4のステップS4へ進む。また、スタックが空でない場合(S32,No)、スタックからチェック項目を取出し(S33)、チェック項目があるか否かを判定する(S34)。
【0038】
スタックにチェック項目がない場合(S34,No)、ステップS31へ戻り以上の処理を繰返す。また、スタックにチェック項目がある場合(S34,Yes)、当該命令のアドレスからリソース競合が発生し得るステージ数だけトレースし(S35)、このポイントをチェックポイントとしてチェックポイント設定テーブル42に登録し(S36)、ステップS33へ戻り以上の処理を繰返す。
【0039】
図9は、図4のステップS4の処理手順をより詳細に説明するためのフローチャートである。まず、チェック部38は、チェックポイント設定テーブル42からチェックポイント情報を取出す(S41)。チェックポイント設定テーブル42にチェックポイントがない場合(S42,No)、図4のステップS5へ進む。また、チェックポイント設定テーブル42にチェックポイントがある場合(S42,Yes)、チェック項目を取出す(S43)。
【0040】
チェックポイント設定テーブル42にチェック項目がない場合(S44,No)、ステップS41へ戻り以上の処理を繰返す。また、チェックポイント設定テーブル42にチェック項目がある場合(S44,Yes)、チェックポイントに基づいてリソース競合が発生するか否かのチェックを行ない(S45)、ステップS43へ戻り以上の処理を繰返す。
【0041】
次に、図10に示すマイクロコードがマイクロコード入力部35に入力された場合のリソース競合チェック装置の具体的な処理を、図11〜図15に示す各種テーブルの内容を適宜参照しながら説明する。
【0042】
マイクロコード入力部35は、図10に示すマイクロコードを構成する命令が入力された場合、図12に示す命令情報格納テーブルにアドレスと命令を格納する。また、始点情報設定部36は、図10のマイクロコードを構成する命令に基づいて、図12に示すように次にフェッチされる命令の情報を命令情報格納テーブル39に格納する。
【0043】
図12に示す命令の中で、0番地および5番地のMV命令は、図11に示すようにステージ数3で書込競合が発生する命令である。また1番地のADD命令は、図11に示すようにステージ数6において演算器競合が発生し、ステージ数7において書込競合が発生する命令である。
【0044】
まず、マイクロコード入力部35は、図10に示すマイクロコードが入力され、命令情報格納テーブル39に図12に示すアドレスおよび命令を格納する(S11)。
【0045】
始点情報設定部36は、命令情報格納テーブル39から0番地のMV命令を取出す(S21)。始点情報設定部36は、図11に示すリソース競合チェック対応テーブル40を参照することにより、0番地のMV命令がリソース競合のチェック対象命令であると判定し(S23,Yes)、図13に示すように始点情報格納テーブル41に、アドレス“0”、命令“MV”、チェック項目“書込競合”、およびステージ数“3”を設定し、スタックに格納する(S24)。
【0046】
そして、0番地のMV命令の次にフェッチされる命令は、ADD命令であるので、次にフェッチされる命令としてADDを命令情報格納テーブル39に格納する(S25)。そして、ステップS21に戻り、命令情報格納テーブル39から1番地のADD命令を取出す(S21)。始点情報設定部36は、リソース競合チェック対応テーブル40を参照することにより、ADD命令がリソース競合のチェック対象命令であると判定し、始点情報格納テーブル41に、アドレス“1”、命令“ADD”、チェック項目“演算器競合”、およびステージ数“6”を格納する。また、ADD命令は書込競合も発生し得る命令であるので、始点情報格納テーブル41に、チェック項目“書込競合”、およびステージ数“7”を設定し、スタックに格納する(S24)。そして、始点情報設定部36は、ADD命令の次にフェッチされる命令として、JA命令を命令情報格納テーブル39に格納する(S25)。
【0047】
次に、始点情報設定部36は、命令情報格納テーブル39から2番地のJA命令を取出す(S21)。始点情報設定部36は、リソース競合チェック対応テーブル40を参照することにより、JA命令がリソース競合のチェック対象命令でないと判定し(S23,No)、次にフェッチされる5番地のMV命令を命令情報格納テーブル39に格納する(S25)。
【0048】
以上の処理を繰返し、始点情報設定部36は、図12に示す命令情報格納テーブル39および図13に示す始点情報格納テーブル41を作成し記憶部34にそれぞれ格納する。このときスタックに格納される情報を図14に示す。
【0049】
次に、トレース部37は、スタックから始点情報G1を取出す(S31)。そして、トレース部37は、チェック項目としてG1に対応する書込競合を取出す(S33)。そして、トレース部37は、アドレス0からステージ数3だけトレースし、書込競合が発生し得るポイントとして、チェックポイント“2”をチェックポイント設定テーブル42に登録する。トレース部37は、図12に示す命令情報格納テーブルに格納される次にフェッチされる命令の情報に基づいてトレースを行なう。
【0050】
次に、トレース部37は、スタックからG2の始点情報を取出し(S31)、ADD命令のトレースを行ない(S35)、チェック項目である演算器競合のチェックポイント“6”および書込競合のチェックポイント“7”をチェックポイント設定テーブル42に登録する(S36)。
【0051】
同様に、トレース部37は、スタックからG3のMV命令を取出し(S31)、トレースを行ない(S35)、MV命令のチェックポイント“7”を図15に示すようにチェックポイント設定テーブル42に登録する(S36)。
【0052】
次に、チェック部38は、チェックポイント設定テーブル42からチェックポイント“2”のデータを取出す(S41)。チェックポイントが“2”のデータは、チェックポイント設定テーブル42内には1つのみであるので、リソース競合は発生しないと判定される(S45)。また、チェックポイント“6”のデータもチェックポイント設定テーブル42内に1つのみであるので、チェックポイント“6”においてリソース競合が発生しないと判定される。しかし、チェックポイント“7”のデータは、チェックポイント設定テーブル42内にADD命令の“書込競合”とMV命令の“書込競合”の2つがあるので、リソース競合が発生するポイントとして抽出される(S45)。
【0053】
出力部33は、チェック部38で抽出されたリソース競合が発生するポイントを出力する(S5)。そして処理を終了する。
【0054】
本実施の形態においては、リソース競合のチェック対象としてマイクロコードを構成する命令を例にとって説明したが、通常のアセンブラ言語で作成された命令あるいは高級言語で作成されたプログラムをコンパイルしたプログラム等に適用することも可能である。
【0055】
以上説明したように、本実施の形態におけるリソース競合チェック装置は、従来人手で行なっていたリソース競合のチェックを自動的に行なえるようにしたので、マイクロコードの開発期間の短縮が可能となった。
【0056】
[実施の形態2]
図16は、本発明の実施の形態2におけるリソース競合チェック装置の概略構成を示すブロック図である。本実施の形態におけるリソース競合チェック装置は、図3に示す実施の形態1におけるリソース競合チェック装置と比較して、入力部にリソース競合情報入力部43を追加した点においてのみ異なる。したがって、本実施の形態における入力部の参照符号を31′とする。また、それ以外の部分の構成および機能は図3に示す実施の形態1におけるリソース競合チェック装置の部分と同じであるので、詳細な説明は繰返さない。
【0057】
図17は、本実施の形態におけるリソース競合チェック装置の入力部31′における処理手順(図4のステップS1)の詳細を説明するためのフローチャートである。まず、マイクロコード入力部35はマイクロコードを構成する命令を入力し、リソース競合情報入力部43はリソース競合情報を入力する(S12)。リソース競合情報とは、図11に示すリソース競合チェック対応テーブル40の内容を更新するための情報であり、リソース競合が起こり得るステージ数やチェック項目等が変更になった場合に、容易に変更できる情報である。
【0058】
次に、マイクロコード入力部35は、マイクロコードを構成する命令を命令情報格納テーブル39に格納する。リソース競合情報入力部43は、リソース競合情報をリソース競合チェック対応テーブル40に格納する(S13)。そして、図4のステップS2へ進み、以下の処理を行なう。
【0059】
リソース競合情報入力部43は、図11に示すリソース競合チェック対応テーブル40の内容を、図18に示すリソース競合チェック情報に更新した場合、図4のステップS2〜S4の処理によって、図19に示す始点情報が始点情報格納テーブル41に格納され、図20に示すチェックポイントがチェックポイント設定テーブル42に格納される。図20のチェックポイント設定テーブル42に格納される情報に示すとおり、重複するチェックポイントがないので、チェック部38はリソース競合が発生しないことを出力し、出力部33はその旨を出力する。
【0060】
以上説明したように、本実施の形態におけるリソース競合チェック装置は、リソース競合が発生し得るステージ数やチェック項目等を容易に変更して再チェックすることが可能となるので、マイクロコードの開発期間の短縮が可能となる。
【0061】
[実施の形態3]
図21は、本発明の実施の形態3におけるアセンブル装置の概略構成を示すブロック図である。アセンブル装置は、アセンブリ言語で記述されたプログラムを機械語に変換するためのアセンブリ処理部52、およびリソース競合が発生するか否かを判定するためのリソース競合チェック装置30を含む。リソース競合チェック装置30は図3に示す実施の形態1におけるリソース競合チェック装置30と構成および機能が同じであるので、詳細な説明は繰返さない。
【0062】
アセンブリ言語で記述されたプログラムは、リソース競合チェック装置30に入力されリソース競合が発生するか否かが判定される。また、アセンブリ言語で記述されたプログラムは、アセンブリ処理部52によって機械語に変換され、リンク装置53に入力される。リンク装置53内のリンク処理部54は、入力された機械語からオブジェクトコードを生成し出力する。
【0063】
以上説明したように、本実施の形態におけるアセンブル装置は、アセンブラ言語でプログラムを記述する際に、同時にリソース競合のチェックが行なえ、プログラムの開発期間の短縮が可能となる。
【0064】
[実施の形態4]
実施の形態4におけるアセンブル装置は、図21に示す実施の形態3におけるアセンブル装置の構成と同じである。ただし、リソース競合チェック装置は、図16に示す実施の形態2におけるリソース競合チェック装置30′である点においてのみ異なる。したがって、重複する部分の構成および機能の詳細な説明は繰返さない。
【0065】
本実施の形態におけるアセンブル装置は、実施の形態3において説明した効果に加えて、命令パイプラインの動作の変更を容易に行なえるという効果を奏する。
【0066】
[実施の形態5]
図22は、実施の形態5におけるリンク装置の概略構成を示すブロック図である。リンク装置56は、入力された機械語からオブジェクトコードを生成するためのリンク処理部54、およびリソース競合が発生するか否かを判定するためのリソース競合チェック装置30を含む。
【0067】
リンク装置56内のリンク処理部54は、アセンブル装置55から入力された機械語からオブジェクトコードを生成する。生成されたオブジェクトコードは、リソース競合チェック装置30に入力され、リソース競合が発生するか否かが判定される。このように、本実施の形態におけるリンク装置56は、オブジェクトコード全体に対してリソースの競合が発生するか否かをチェックできる。
【0068】
たとえば図23に示すマイクロコードと、図10に示すマイクロコードがリンク装置56に入力された場合、図24に示すオブジェクトコードを生成し、リソース競合チェック装置30は図24のオブジェクトコードの0番地のADD命令と3番地のMV命令とで書込競合が発生することを検出することが可能となる。
【0069】
以上説明したように、本実施の形態におけるリンク装置は、生成されたオブジェクトコード全体に対してリソース競合が発生するか否かを判定することが可能となり、マイクロコードの開発期間の短縮が可能となる。
【0070】
[実施の形態6]
本発明の実施の形態6におけるリンク装置は、図22に示す実施の形態5におけるリンク装置の構成と同じである。ただし、リソース競合チェック装置が図16に示す実施の形態2におけるリソース競合チェック装置30′に置換されている点においてのみ異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。
【0071】
本実施の形態のおけるリンク装置は、実施の形態5で説明した効果に加えて、命令パイプラインにおける動作の変更が容易に行なえるという効果を奏する。
【0072】
[実施の形態7]
図25は、本発明の実施の形態7におけるアセンブル装置およびリンク装置の概略構成を示すブロック図である。アセンブル装置51は、図21に示す実施の形態3におけるアセンブル装置と、リンク装置56は図22に示す実施の形態5におけるリンク装置と構成および機能が同じであるので、詳細な説明は繰返さない。図25に示す構成にすることによって、アセンブリ言語でプログラムを作成する際にリソース競合のチェックが可能となるとともに、生成されたオブジェクトコード全体に対するリソース競合のチェックも行なえるという効果を奏する。
【0073】
[実施の形態8]
本発明の実施の形態8におけるアセンブル装置およびリンク装置は、図25に示す実施の形態7におけるアセンブル装置およびリンク装置の構成と同じである。ただし、リソース競合チェック装置30が図16に示す実施の形態2におけるリソース競合チェック装置30′に置換されている点においてのみ異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。
【0074】
本実施の形態におけるアセンブル装置およびリンク装置は、実施の形態7において説明した効果に加えて、命令パイプラインの動作を容易に変更することができるという効果を奏する。
【0075】
[実施の形態9]
図26は、実施の形態9における命令パイプラインシミュレーション装置の概略構成を示すブロック図である。命令パイプラインシミュレーション装置は、プログラム中の命令を更新するためのデバッグ部62、命令パイプラインの動作をシミュレートするためのシミュレーション部63、およびリソース競合が発生するか否かを判定するためのリソース競合チェック装置30を含む。リソース競合チェック装置30は、図3に示す実施の形態1におけるリソース競合チェック装置と構成および機能は同じであるので、詳細な説明は繰返さない。
【0076】
プログラマは、作成したプログラムを実行して、レジスタの内容表示等を参照しながらプログラムのデバッグを行なう。デバッグ部62によって更新されたプログラムは、リソース競合チェック装置30に入力され、実施の形態1において説明したリソース競合のチェックを行なう。そして、プログラマはデバッグが終了した時点で、作成されたプログラムをシミュレーション部63に入力し、命令パイプラインの動作をシミュレートする。
【0077】
以上説明したように、本実施の形態における命令パイプラインシミュレーション装置は、プログラムの変更時にリソース競合のチェックが行なえ、リソース競合チェック後のプログラムをシミュレートできるという効果を奏する。
【0078】
[実施の形態10]
実施の形態10における命令パイプラインシミュレーション装置は、図26に示す実施の形態9における命令パイプラインシミュレーション装置の構成と同じである。ただし、リソース競合チェック装置30が図16に示す実施の形態2におけるリソース競合チェック装置30′に置換された点においてのみ異なる。したがって、重複する部分の構成および機能は同じであるので、詳細な説明は繰返さない。
【0079】
本実施の形態における命令パイプラインシミュレーション装置は、実施の形態9で説明した効果に加えて、命令パイプラインの動作の変更を容易に行なえるという効果を奏する。
【0080】
[実施の形態11]
図27は、本発明の実施の形態11における命令パイプラインシミュレーション装置の概略構成を示すブロック図である。命令パイプラインシミュレーション装置は、マイクロコードを構成する命令を更新するためのデバッグ部62、および命令パイプラインの動作をシミュレートするためのシミュレーション部72を含む。また、シミュレーション部72は、プログラムカウンタが示しているアドレスの命令を設定するための命令設定部73、および命令パイプラインにおける各ステージの処理を解析するための命令解析部74を含む。
【0081】
図29は、本発明の実施の形態11における命令パイプラインシミュレーション装置の処理手順を示すフローチャートである。まず、命令設定部73はプログラムカウンタに0を設定する(S50)。命令設定部73は、プログラムカウンタが示すアドレスから命令を読出し(S51)、命令があるか否かを判定する(S52)。
【0082】
プログラムカウンタが示すアドレスに命令がなければ(S52,No)、処理を終了する。また、プログラムカウンタが示すアドレスに命令があれば(S52,Yes)、読出した命令をリストへ登録する(S53)。そして、命令設定部73は、プログラムカウンタの値をインクリメントする(S54)。
【0083】
次に、命令解析部74は、リストから命令を取出し(S55)、解析が終了していない命令があるか否かを判定する(S56)。
【0084】
命令解析部74は、解析の終了していない命令がない場合は(S56,No)、ステップS51に戻り以上の処理を繰返す。また、命令解析部74は、解析が終了していない命令がある場合(S56,Yes)、命令に対応する処理を実行する(S57)。そして、命令解析部74は、命令の解析においてリソースの競合が発生するか否かを判定する(S58)。
【0085】
命令解析部74は、次ステージの処理を設定し(S59)、命令の命令パイプラインにおける処理が終了したか否かを判定する(S60)。
【0086】
命令パイプラインにおける命令の処理が終了した場合(S60,Yes)、リストから当該命令を削除し(S61)、ステップS55に戻り以上の処理を繰返す。また、命令パイプラインにおける命令の処理が終了していない場合(S60,No)、ステップS55に戻り以上の処理を繰返す。
【0087】
次に、図29に示すフローチャートの処理を、図30を用いて具体的に説明する。図30(a)〜(h)は、図10に示すプログラムの命令の命令パイプラインにおける各ステージの処理を示す図である。
【0088】
(1) 1サイクル目(PC=0)
まず、プログラムカウンタに0を設定する(S50)。そして、命令設定部73は、アドレス0番地からMV命令を取出す(S51)。命令設定部73は、MV命令をリストに登録し(S53)、プログラムカウンタをインクリメントする(S54)。このときの命令パイプラインにおける各ステージの状態は図30(a)に示すものとなる。
【0089】
(2) 2サイクル目(PC=1)
命令設定部73は、プログラムカウンタが示す1番地からADD命令を取出し(S51)、ADD命令をリストへ登録する(S53)。命令解析部74は、リストからMV命令を取出し(S55)、MV命令に対応する第2ステージの処理を行なう(S57)。この時点で命令パイプラインにおける各ステージの状態は図30(b)に示すものとなる。
【0090】
(3) 3サイクル目(PC=2)
命令設定部73は、プログラムカウンタが示す2番地からJA命令を読出し(S51)、JA命令をリストへ登録する(S53)。命令解析部74は、リストからMV命令を取出し(S55)、MV命令の第3ステージの処理を行なう(S57)。MV命令の処理は、第3ステージで終了するので、命令解析部74はリストからMV命令を削除する(S61)。また、命令解析部74は、リストからADD命令を取出し(S55)、ADD命令の第2ステージの処理を行なう(S57)。このときの命令パイプラインにおける各ステージの状態は図30(c)となる。
【0091】
(4) 4サイクル目(PC=3)
命令設定部73は、プログラムカウンタが示す3番地からNOP命令を読出し(S51)、NOP命令をリストへ登録する(S53)。命令解析部74は、リストからADD命令を取出し(S55)、ADD命令の第3ステージの処理を行なう(S57)。また、命令解析部74は、リストからJA命令を取出し(S55)、JA命令の第2ステージの処理を行なう(S57)。命令解析部74は、JA命令を処理することによってプログラムカウンタに5を設定する。また、JA命令は第2ステージで終了する命令であるので、命令解析部74はリストからJA命令を削除する。このときの命令パイプラインにおける各ステージの状態は、図30(d)となる。
【0092】
(5) 5サイクル目(PC=5)
命令設定部73は、プログラムカウンタが示す5番地からMV命令を取出し(S51)、MV命令をリストへ登録する(S53)。命令解析部74は、リストからADD命令を取出し(S55)、ADD命令の第4ステージの処理を行なう。また、命令解析部74は、リストからNOP命令を取出し(S55)、NOP命令の第2ステージの処理を行なう。NOP命令は第2ステージで処理を終了する命令であるので、命令解析部74はNOP命令をリストから削除する(S61)。このときの命令パイプラインにおける各ステージの状態は、図30(e)に示すものとなる。
【0093】
(6) 6サイクル目(PC=6)
命令設定部73は、プログラムカウンタが示す6番地からNOP命令を読出し(S51)、NOP命令をリストへ登録する(S53)。命令解析部74は、リストからADD命令を取出し(S55)、ADD命令の第5ステージの処理を行なう(S57)。また、命令解析部74は、リストからMV命令を取出し(S55)、MV命令の第2ステージの処理を行なう(S57)。このときの命令パイプラインにおける各ステージの状態は図30(f)に示すものとなる。
【0094】
(7) 7サイクル目(PC=7)
命令設定部73は、プログラムカウンタが示す7番地からNOP命令を読出し(S51)、NOP命令をリストへ登録する(S53)。命令解析部74は、リストからADD命令を取出し(S55)、ADD命令の第6ステージの処理を行なう。ADD命令は第6ステージで処理を終了するので、命令解析部74はADD命令をリストから削除する(S61)。また、命令解析部74は、リストからMV命令を取出し(S55)、MV命令の第3ステージの処理を行なう(S57)。命令解析部74は、MV命令の第3ステージの書込とADD命令の第6ステージの書込とにおいて競合が発生するのを検出し、その結果を出力する(S58)。また、命令解析部74は、リストからNOP命令を取出し(S55)、NOP命令の第2ステージの処理を行なう(S57)。NOP命令は第2ステージで処理を終了する命令であるので、命令解析部74はリストからNOP命令を削除する(S61)。このときの命令パイプラインにおける各ステージの状態を図30(g)に示す。
【0095】
(8) 8サイクル目(PC=8)
命令設定部73は、プログラムカウンタが示す8番地からNOP命令を読出し(S51)、NOP命令をリストへ登録する(S53)。命令解析部74は、リストからNOP命令を取出し(S55)、NOP命令の第2ステージの処理を行なう(S57)。NOP命令は第2ステージで処理を終了するので、命令解析部74はリストからNOP命令を削除する(S61)。
【0096】
(9) 9サイクル目(PC=9)
命令設定部73は、プログラムカウンタが示す9番地に命令が格納されていないことを検出し(S52,No)、処理を終了する。
【0097】
以上説明したように、本実施の形態における命令パイプラインシミュレーション装置は、命令を解析しながら命令パイプラインにおける処理をシミュレートするので、データに依存するようなリソース競合を検出することが可能となる。
【0098】
[実施の形態12]
図28は、本発明の実施の形態12における命令パイプラインシミュレーション装置の概略構成を示す図である。リソース競合チェック装置30は、図3に示す実施の形態1におけるリソース競合チェック装置と同じ構成および機能であるので詳細な説明は繰返さない。また、デバッグ部62およびシミュレーション部72は、図27に示す実施の形態11における命令パイプラインシミュレーション装置のデバッグ部およびシミュレーション部と同じ構成および機能を有するので、詳細な説明は繰返さない。
【0099】
本実施の形態における命令パイプラインシミュレーション装置は、実施の形態1において説明したのと同じくデータに依存しないリソース競合を検出することが可能であり、また実施の形態11において説明したデータに依存して発生するリソース競合をも検出することが可能であるという効果を奏する。
【0100】
[実施の形態13]
本発明の実施の形態13における命令パイプラインシミュレーション装置は、図28に示す実施の形態12における命令パイプラインシミュレーション装置の構成および機能と同じである。ただし、リソース競合チェック装置は、図16に示す実施の形態2におけるリソース競合チェック装置30′に置換されている点においてのみ異なる。
【0101】
本実施の形態における命令パイプラインシミュレーション装置は、実施の形態12において説明した効果に加えて、命令パイプラインの動作の変更が容易に行なえるという効果も奏する。
【0102】
【発明の効果】
請求項1〜4におけるリソース競合チェック装置によれば、命令のアドレスとリソース競合の対象となるステージ数とに基づいてリソース競合が発生するか否かを判定するようにしたので、従来人手てチェックを行なっていたリソース競合を自動的に行なえ、プログラムの開発期間の短縮が可能となった。
【0103】
請求項5におけるアセンブル装置によれば、命令のアドレスとリソース競合の対象となるステージ数とに基づいてリソース競合が発生するか否かを判定するようにしたので、アセンブル言語で作成されるプログラムにおいて発生するリソース競合を早期に検出することが可能となった。
【0104】
請求項6におけるリンク装置によれば、命令のアドレスと命令のリソース競合の対象となるステージ数とに基づいてリソース競合が発生するか否かを判定するようにしたので、作成されたオブジェクトコードにおいて発生するリソース競合を早期に検出することが可能となった。
【0105】
請求項7における命令パイプラインシミュレート装置によれば、命令のアドレスと命令のリソース競合の対象となるステージ数とに基づいてリソース競合が発生するか否かを判定するようにしたので、プログラムのデバッグ時に適宜リソース競合が発生するか否かを判定することが可能となり、プログラムの開発の早期においてリソース競合の検出が可能となった。
【0107】
請求項8におけるリソース競合チェック方法によれば、命令のアドレスと命令のリソース競合の対象となるステージ数とに基づいてリソース競合が発生するか否かを判定するようにしたので、従来人手でチェックしていたリソース競合を自動的に行なえるようになり、プログラムの開発期間の短縮が可能となった。
【0108】
請求項9におけるリソース競合チェックプログラムを記録した媒体によれば、命令のアドレスと命令のリソース競合の対象となるステージ数とに基づいてリソース競合が発生するか否かを判定するようにしたので、従来人手でチェックを行なっていたリソース競合が自動的に行なえるようになり、プログラムの開発期間の短縮が可能となった。
【図面の簡単な説明】
【図1】 本発明のリソース競合チェック装置の外観を示す図である。
【図2】 本発明のリソース競合チェック装置の構成を示すブロック図である。
【図3】 本発明の実施の形態1におけるリソース競合チェック装置の構成を示すブロック図である。
【図4】 実施の形態1におけるリソース競合チェック装置の処理手順を示すフローチャートである。
【図5】 図4のステップS1の詳細を説明するためのフローチャートである。
【図6】 命令情報格納テーブルを説明するための図である。
【図7】 図4のステップS2の詳細を説明するためのフローチャートである。
【図8】 図4のステップS3の詳細を説明するためのフローチャートである。
【図9】 図4のステップS4の詳細を説明するためのフローチャートである。
【図10】 マイクロコードの一例を示す図である。
【図11】 リソース競合チェック対応テーブルの一例を示す図である。
【図12】 命令情報格納テーブルの一例を示す図である。
【図13】 始点情報格納テーブルの内容の一例を示す図である。
【図14】 スタックの説明をするための図である。
【図15】 チェックポイント設定テーブルの内容の一例を示す図である。
【図16】 本発明の実施の形態2におけるリソース競合チェック装置の概略構成を示すブロック図である。
【図17】 図4のステップS1の詳細を説明するためのフローチャートである。
【図18】 リソース競合チェック情報の一例を示す図である。
【図19】 始点情報の一例を示す図である。
【図20】 チェックポイントの一例を示す図である。
【図21】 本発明の実施の形態3および実施の形態4におけるアセンブル装置の概略構成を示すブロック図である。
【図22】 本発明の実施の形態5および実施の形態6におけるリンク装置の概略構成を示すブロック図である。
【図23】 マイクロコードの一例を示す図である。
【図24】 マイクロコードのオブジェクトコードの一例を示す図である。
【図25】 本発明の実施の形態7および実施の形態8におけるアセンブル装置およびリンク装置の概略構成を示すブロック図である。
【図26】 本発明の実施の形態9における命令パイプラインシミュレーション装置の概略構成を示すブロック図である。
【図27】 本発明の実施の形態11における命令パイプラインシミュレーション装置の概略構成を示すブロック図である。
【図28】 本発明の実施の形態12および実施の形態13における命令パイプラインシミュレーション装置の概略構成を示すブロック図である。
【図29】 本発明の実施の形態11における命令パイプラインシミュレーション装置の処理手順を示すフローチャートである。
【図30】 命令パイプラインにおける各ステージの状態を示す図である。
【符号の説明】
1 コンピュータ本体、2 グラフィックディスプレイ装置、3 磁気テープ装置、4 磁気テープ、5 キーボード、6 マウス、7 CD−ROM装置、8 CD−ROM、9 通信モデム、10 CPU、11 ROM、12 RAM、13 ハードディスク装置、30,30′ リソース競合チェック装置、31 入力部、32 リソース競合チェック部、33 出力部、34 記憶部、35 マイクロコード入力部、36 始点情報設定部、37 トレース部、38チェック部、39 命令情報格納テーブル、40 リソース競合チェック対応テーブル、41 始点情報格納テーブル、42 チェックポイント設定テーブル、43 リソース競合情報入力部、51,55 アセンブル装置、52 アセンブリ処理部、53,56 リンク装置、54 リンク処理部、61,71,81命令パイプラインシミュレーション装置、62 デバッグ部、63,72 シミュレーション部、73 命令設定部、74 命令解析部。
Claims (9)
- 命令の種類に基づいてリソース競合の対象となる命令を抽出するための命令抽出手段と、
前記命令抽出手段によって抽出された命令のリソース競合の対象となるステージ数を抽出するためのステージ数抽出手段と、
前記命令抽出手段によって抽出された命令のアドレスと前記ステージ数抽出手段によって抽出されたステージ数とに基づいてリソース競合が発生するか否かを判定するための競合判定手段とを含むリソース競合チェック装置。 - 前記競合判定手段は、前記命令抽出手段によって抽出された命令のアドレスからトレースを開始し、前記ステージ数抽出手段によって抽出されたステージ数分トレースしてリソース競合のチェックポイントを抽出するためのトレース手段と、
前記トレース手段によって抽出されたチェックポイントに基づいてリソース競合が発生するポイントを抽出するためのチェック手段とを含む、請求項1記載のリソース競合チェック装置。 - 前記リソース競合チェック装置はさらに、リソース競合の対象命令の情報を登録するための命令登録手段を含み、
前記命令抽出手段は、命令の種類に基づいてリソース競合の対象命令を前記命令登録手段に登録された情報の中から抽出し、
前記ステージ数抽出手段は、前記命令抽出手段によって抽出された命令のリソース競合の対象ステージ数を前記命令登録手段に登録された情報の中から抽出する、請求項1または2記載のリソース競合チェック装置。 - 前記命令抽出手段は、マイクロコードを構成する命令の種類に基づいてリソース競合の対象となる命令を抽出する、請求項1〜3のいずれかに記載のリソース競合チェック装置。
- アセンブリ言語で記述されたプログラムを機械語に変換するためのアセンブリ処理手段と、
前記アセンブリ処理手段によって変換されるアセンブリ言語で記述されたプログラムの命令の種類に基づいてリソース競合の対象となる命令を抽出するための命令抽出手段と、
前記命令抽出手段によって抽出された命令のリソース競合の対象となるステージ数を抽出するためのステージ数抽出手段と、
前記命令抽出手段によって抽出された命令のアドレスと前記ステージ数抽出手段によって抽出されたステージ数とに基づいてリソース競合が発生するか否かを判定するための競合判定手段とを含むアセンブル装置。 - 機械語に変換されたプログラムをオブジェクトコードに変換するためのリンク処理手段と、
前記リンク処理手段によってオブジェクトコードに変換されるプログラムの命令の種類に基づいてリソース競合の対象となる命令を抽出するための命令抽出手段と、
前記命令抽出手段によって抽出された命令のリソース競合の対象となるステージ数を抽出するためのステージ数抽出手段と、
前記命令抽出手段によって抽出された命令のアドレスと前記ステージ数抽出手段によって抽出されたステージ数とに基づいてリソース競合が発生するか否かを判定するための競合判定手段とを含むリンク装置。 - プログラム中の命令を更新するためのデバッグ手段と、
前記デバッグ手段によって更新されたプログラムの命令の種類に基づいてリソース競合の対象となる命令を抽出するための命令抽出手段と、
前記命令抽出手段によって抽出された命令のリソース競合の対象となるステージ数を抽出するためのステージ数抽出手段と、
前記命令抽出手段によって抽出された命令のアドレスと前記ステージ数抽出手段によって抽出されたステージ数とに基づいてリソース競合が発生するか否かを判定するための競合判定手段と、
前記デバッグ手段によって更新されたプログラムの命令パイプラインにおける動作をシミュレートするためのシミュレーション手段とを含む命令パイプラインシミュレーション装置。 - 命令の種類に基づいてリソース競合の対象となる命令を抽出するステップと、
前記抽出された命令のリソース競合の対象となるステージ数を抽出するステップと、
前記抽出された命令のアドレスと前記抽出されたステージ数とに基づいてリソース競合が発生するか否かを判定するステップとを含むリソース競合チェック方法。 - 命令の種類に基づいてリソース競合の対象となる命令を抽出するステップと、
前記抽出された命令のリソース競合の対象となるステージ数を抽出するステップと、
前記抽出された命令のアドレスと前記抽出されたステージ数とに基づいてリソース競合が発生するか否かを判定するステップとを含むリソース競合チェックプログラムを記録した媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13372997A JP3728368B2 (ja) | 1997-05-23 | 1997-05-23 | リソース競合チェック装置、アセンブル装置、リンク装置、命令パイプラインシミュレーション装置、リソース競合チェック方法、およびリソース競合チェックプログラムを記録した媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13372997A JP3728368B2 (ja) | 1997-05-23 | 1997-05-23 | リソース競合チェック装置、アセンブル装置、リンク装置、命令パイプラインシミュレーション装置、リソース競合チェック方法、およびリソース競合チェックプログラムを記録した媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10326188A JPH10326188A (ja) | 1998-12-08 |
JP3728368B2 true JP3728368B2 (ja) | 2005-12-21 |
Family
ID=15111555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP13372997A Expired - Fee Related JP3728368B2 (ja) | 1997-05-23 | 1997-05-23 | リソース競合チェック装置、アセンブル装置、リンク装置、命令パイプラインシミュレーション装置、リソース競合チェック方法、およびリソース競合チェックプログラムを記録した媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3728368B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001222442A (ja) | 2000-02-08 | 2001-08-17 | Fujitsu Ltd | パイプライン試験方法、パイプライン試験命令生成方法及びその記憶媒体 |
-
1997
- 1997-05-23 JP JP13372997A patent/JP3728368B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10326188A (ja) | 1998-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5845064A (en) | Method for testing and verification of a CPU using a reference model | |
EP0453394A2 (en) | Dynamic process for the generation of biased pseudo-random test patterns for the functional verification of hardware designs | |
US20080263528A1 (en) | High-level language, architecture-independent probe program compiler | |
JPH03188535A (ja) | プログラム・エラー検出方法 | |
JP5504960B2 (ja) | シミュレーション装置及びシミュレーション方法 | |
JPS60107142A (ja) | プログラム翻訳装置 | |
Wagstaff et al. | Automated ISA branch coverage analysis and test case generation for retargetable instruction set simulators | |
JP3728368B2 (ja) | リソース競合チェック装置、アセンブル装置、リンク装置、命令パイプラインシミュレーション装置、リソース競合チェック方法、およびリソース競合チェックプログラムを記録した媒体 | |
JP2817786B2 (ja) | シミュレーション装置及びシミュレーション方法 | |
JPH06309193A (ja) | 機械語プログラムの動作検証方法および装置 | |
JPH10320212A (ja) | キャッシュ向け最適化方法 | |
JP4503203B2 (ja) | 情報処理装置を評価するためのテストプログラムを作成する方法、装置、およびそのための処理を記述したプログラム | |
JP3745968B2 (ja) | 試験システム及び試験方法及び試験プログラム及び試験プログラムを記録した計算機で読み取り可能な記録媒体 | |
Wang et al. | An embedded C language Target Code level Unit Test method based on CPU Simulator | |
Liu | Improved feedback and debugging support for student assembly programming | |
CN101615209B (zh) | 基于内存监视的处理器验证方法 | |
JP2001290857A (ja) | タイミングシミュレータ | |
JP2000242529A (ja) | プログラム開発支援装置および開発支援システムおよび記録媒体 | |
US20060178863A1 (en) | Combining and representing signals of a hardware simulation device and elements of a program listing | |
JPH10187484A (ja) | シミュレータ | |
CN117933167A (zh) | 一种面向超长指令字异构处理器的模拟方法及模拟器 | |
KARAPATEAS | RETARGETING AN ASSEMBLY OPTIMIZER FOR THE MIPS/SCALE ASSEMBLY | |
JP2004145670A (ja) | テストベンチ生成方法、テストベンチ生成装置、及びコンピュータプログラム | |
JP2908446B1 (ja) | コンピュータシミュレータ及びシミュレーション方法 | |
JPH05250221A (ja) | シミュレータ実行方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040430 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050614 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050804 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050920 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051003 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081007 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091007 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091007 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101007 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111007 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111007 Year of fee payment: 6 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111007 Year of fee payment: 6 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111007 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121007 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121007 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131007 Year of fee payment: 8 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |