JP3753572B2 - シミュレーションシステムおよび命令シミュレーション方法 - Google Patents
シミュレーションシステムおよび命令シミュレーション方法 Download PDFInfo
- Publication number
- JP3753572B2 JP3753572B2 JP28281799A JP28281799A JP3753572B2 JP 3753572 B2 JP3753572 B2 JP 3753572B2 JP 28281799 A JP28281799 A JP 28281799A JP 28281799 A JP28281799 A JP 28281799A JP 3753572 B2 JP3753572 B2 JP 3753572B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- simulation
- storage area
- executed
- information storage
- 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
- 238000004088 simulation Methods 0.000 title claims description 356
- 238000000034 method Methods 0.000 title claims description 65
- 238000012545 processing Methods 0.000 claims description 42
- 230000005055 memory storage Effects 0.000 claims description 21
- 238000006243 chemical reaction Methods 0.000 claims description 17
- 238000004904 shortening Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 15
- 230000000694 effects Effects 0.000 description 14
- 230000002093 peripheral effect Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000011161 development Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
【発明の属する技術分野】
本発明は、プロセッサの命令シミュレーション技術に係り、特にシミュレーション対象プログラムを従来の命令逐次実行シミュレーションに比べて高速にシミュレーションでき、マイクロコントローラのような制御系のプロセッサに対してもシミュレーションを1命令毎に実行できるシミュレーションシステムおよび命令シミュレーション方法に関する。
【0002】
【従来の技術】
図5は従来技術のプロセッサ命令シミュレーションの流れを説明するフロー図である。従来のプロセッサの命令シミュレーション方法としては、たとえば特開平10−177487号公報に記載のものがある。図5を参照すると、従来のプロセッサ命令シミュレーション方法は、シミュレーション対象プログラム1、プログラム分割手段3と、シミュレーションを実際に実行するコンピュータ(以下、ホストコンピュータと呼ぶ)の機械語に変換する手段4と、変換された機械語プログラムを実行する手段5と、機械語に変換できなかった部分を命令逐次実行するシミュレータ6とから構成されている。
【0003】
図8は従来技術を実現するための実際の計算機システム全体の構成図である。図8において、1はシミュレーション対象プログラム、23は擬似レジスタ・メモリ格納領域、25はネイティブ命令格納領域、90はシミュレータ、91は制御部、100はコンピュータシステム、101は補助記憶装置、102は入出力装置を示している。
【0004】
図8を参照すると、従来技術を実現するための実際の計算機システムでは、シミュレータ90の制御部91は、命令逐次実行シミュレーション機能と変換された機械語プログラムを直接実行する機能の2つを切り替えながら実行することができる機能を有している。
【0005】
図6は従来技術におけるシミュレーション対象プログラム1の実行のシミュレーションの流れを説明するフロー図である。図6を参照すると、上記構成を有する従来のプロセッサ命令シミュレーション方法では、次のように動作する。すなわち、シミュレーション対象プログラム1を高速にシミュレーションするために、プログラム分割手段3によってホストコンピュータの機械語に変換し、変換された機械語プログラムを実行することにより、シミュレーション対象プログラム1の実行のシミュレーションを実行する場合(図6中のa,b,c,e)とホストコンピュータによる命令逐次実行型シミュレータによってシミュレーションを実行する場合(図6中のd)とに分け、これに基づいて、シミュレーション対象プログラム1のシミュレーション結果を得る。
【0006】
また、ホストコンピュータによる命令逐次実行シミュレーションの動作は上記従来技術には具体的には説明されていないが、図7の処理の流れによって実行することができる。図7は従来の逐次命令シミュレーション方法の処理の流れを示すフローチャートである。図7の処理の流れは、実際のプロセッサのハードウェアで実行されることをソフトウェアの処理に置き換えたもので、特に目新しいものではない。ここで、周辺機能シミュレーションとは、シングルチップマイコンのI/Oポートやタイマ、A/D変換器をシミュレーションすることを示している。なお、上記従来技術では、周辺機能シミュレーションについては、触れられていないため、これらの機能を有しているか否かは、不明である。
【0007】
【発明が解決しようとする課題】
しかしながら、従来技術には以下に掲げる問題点があった。まず第1の問題点は、割り込みコントローラ、I/Oポート、タイマなど、周辺機器を内蔵したマイクロコントローラと呼ばれるプロセッサには適用できないことである。その理由は、マイクロコントローラの場合には、命令毎あるいは、1クロック毎に、周辺機器のシミュレーションを行わなければ、正確なシミュレーション結果を得ることができないからである。たとえば、外部割り込み処理が必要な場合、図6のcの部分を変換された機械語プログラムで実行している場合には、連続的にシミュレーション対象プログラム1のシミュレーションが実行されるため、cの部分では命令と命令の間の外部割り込み処理が受け付けられないためである。
【0008】
そして第2の問題点は、シミュレーション対象プログラム1をデバッグする場合には、1命令ずつステップ実行させたり、任意の場所で、シミュレーションの実行を停止させる必要があるため、変換された機械語プログラムに対して、実行停止をさせるための処理が必要になり、構造が複雑になることである。その理由は、変換されたプログラムの実行停止方法と命令逐次実行でのプログラム停止手段が異なるからである。
【0009】
本発明は斯かる問題点を鑑みてなされたものであり、その目的とするところは、シミュレーション対象プログラムを従来の命令逐次実行シミュレーションに比べて高速にシミュレーションでき、マイクロコントローラのような制御系のプロセッサに対してもシミュレーションを1命令毎に実行できるシミュレーションシステムおよび命令シミュレーション方法を提供する点にある。
【0010】
【課題を解決するための手段】
請求項1に記載の発明の要旨は、シミュレーション対象プログラムを従来の命令逐次実行シミュレーションに比べて高速にシミュレーションでき、制御系のプロセッサに対してもシミュレーションを1命令毎に実行できるシミュレーションシステムであって、シミュレーション対象プログラムから命令を取り出してシミュレーションを実行するシミュレーション実行手段と、前記命令が実行済であるか否かの判定用の情報を格納する実行済命令情報格納領域と、前記シミュレーション対象プログラムから取り出した命令が実行済であるか否かを前記実行済命令情報格納領域に格納されている前記判定用の情報を基に判断する手段と、前記命令のシミュレーションを1回目に実行した際に変換した実行済命令にかかる変換結果を格納するネイティブ命令格納領域と、前記命令をネイティブ命令に変換できない場合に当該命令のデコード情報を保存するためのデコード情報格納領域とを有し、前記シミュレーション実行手段は、前記シミュレーション対象プログラムに同一命令が複数含まれ当該同一命令のシミュレーションを2回目以降に実行する際に、前記実行済命令情報格納領域および前記ネイティブ命令格納領域を参照して2回目以降のシミュレーションを実行するとともに、2回目以降のシミュレーションの実行の場合には同一命令のデコード処理を行わずに前記デコード情報格納領域を参照して得た1回目のデコード情報を利用してシミュレーションの処理時間の短縮を図るように構成されていることを特徴とするシミュレーションシステムに存する。
また、請求項2に記載の発明の要旨は、前記命令のシミュレーションを1回目に実行した際に、シミュレータが動作するコンピュータの機械語命令に変換可能であれば当該変換結果を前記ネイティブ命令格納領域に格納するように構成されていることを特徴とする請求項1に記載のシミュレーションシステムに存する。
また、請求項3に記載の発明の要旨は、同一命令のシミュレーションを2回目以降に実行する場合に前記実行済命令情報格納領域から情報を取り出すとともに、前記ネイティブ命令格納領域に既に格納されている機械語で実行可能であれば当該機械語を実行することにより、高速に同一命令の2回目以降のシミュレーションを実行するように構成されていることを特徴とする請求項1に記載のシミュレーションシステムに存する。
また、請求項4に記載の発明の要旨は、シミュレータ全体を制御し実際にシミュレーションを実行する制御部と、シミュレーション対象プログラムと、シミュレーションを実行するために擬似的にシミュレーション対象のプロセッサのハードウェアを持たせた擬似レジスタ・メモリ格納領域と、命令が実行済であるか否かの判定用の情報を格納する前記実行済命令情報格納領域と、前記シミュレーション対象プログラムの命令をコンピュータシステムの機械語の命令に変換して実行することによって命令のシミュレーションを行うことを可能とするための前記ネイティブ命令格納領域と、を有することを特徴とする請求項1乃至3のいずれか一項に記載のシミュレーションシステムに存する。
また、請求項5に記載の発明の要旨は、シミュレーション対象プログラムを従来の命令逐次実行シミュレーションに比べて高速にシミュレーションでき、制御系のプロセッサに対してもシミュレーションを1命令毎に実行できるシミュレーションシステムであって、シミュレーション対象プログラムから命令を取り出してシミュレーションを実行するシミュレーション実行手段と、前記命令が実行済であるか否かの判定用の情報を格納する実行済命令情報格納領域と、前記シミュレーション対象プログラムから取り出した命令が実行済であるか否かを前記実行済命令情報格納領域に格納されている前記判定用の情報を基に判断する手段と、前記命令のシミュレーションを1回目に実行した際に、当該命令をネイティブ命令に変換できない場合に当該命令のデコード情報を保存するためのデコード情報格納領域とを有し、前記シミュレーション実行手段は、前記シミュレーション対象プログラムに同一命令が複数含まれ当該同一命令のシミュレーションを2回目以降に実行する際に、前記実行済命令情報格納領域と前記デコード情報格納領域とを参照して得たデコード情報を利用してシミュレーションの処理時間の短縮を図るように構成されていることを特徴とするシミュレーションシステムに存する。
また、請求項6に記載の発明の要旨は、シミュレーション対象プログラムから命令を取り出してシミュレーションを実行するシミュレーション実行手段を有するシミュレーションシステムであって、前記命令のシミュレーションを実行した際に、当該命令が機械語命令に変換できない場合に当該命令のデコード情報を格納するためのデコード情報格納領域を備え、前記シミュレーション実行手段は、前記シミュレーション対象プログラムから取り出した命令が前記デコード情報格納領域に格納された前記デコード情報に関する命令と同一であるか否かを判定し、当該命令のデコード情報が存在する場合には、前記デコード情報格納領域を参照して当該命令のシミュレーションを実行することを特徴とするシミュレーションシステムに存する。
また、請求項7に記載の発明の要旨は、前記命令のシミュレーションを実行した際に変換した機械語命令変換結果を格納するネイティブ命令格納領域を備え、前記シミュレーション実行手段は、前記シミュレーション対象プログラムから取り出した命令が前記ネイティブ命令格納領域に格納された前記機械語命令変換結果に関する命令と同一であるか否かを判定し、当該命令の機械語命令変換結果が存在する場合には、前記ネイティブ命令格納領域を参照して当該命令のシミュレーションを実行することを特徴とする請求項6に記載のシミュレーションシステムに存する。
また、請求項8に記載の発明の要旨は、前記シミュレーション実行手段は、命令のシミュレーションを実行した際に、シミュレータが動作するコンピュータの前記機械語命令に変換可能であれば、前記デコード情報を前記デコード情報格納領域に格納せずに前記機械語命令変換結果を前記ネイティブ命令格納領域に格納するように構成されていることを特徴とする請求項7に記載のシミュレーションシステムに存する。
また、請求項9に記載の発明の要旨は、前記シミュレーション実行手段において、未実行の命令のシミュレーションを行なうときに、前記デコード情報を前記デコード情報格納領域に格納することを特徴とする請求項6に記載のシミュレーションシステムに存する。
また、請求項10に記載の発明の要旨は、前記デコード情報は、シミュレーション対象の命令の種類、レジスタ番号、もしくはメモリアドレスであることを特徴とする請求項1及至9のいずれかに記載のシミュレーションシステムに存する。
また、請求項11に記載の発明の要旨は、シミュレーション対象プログラムを従来の命令逐次実行シミュレーションに比べて高速にシミュレーションでき、制御系のプロセッサに対してもシミュレーションを1命令毎に実行できる命令シミュレーション方法であって、シミュレーション対象プログラムから命令を取り出してシミュレーションを実行するシミュレーション実行工程と、前記命令が実行済であるか否かの判定用の情報を実行済命令情報格納領域に格納する工程と、前記シミュレーション対象プログラムから取り出した命令が実行済であるか否かを前記実行済命令情報格納領域に格納されている前記判定用の情報を基に判断する工程と、前記命令のシミュレーションを1回目に実行した際に変換した実行済命令にかかる変換結果をネイティブ命令格納領域に格納する工程と、前記命令をネイティブ命令に変換できない場合に当該命令のデコード情報をデコード情報格納領に保存する工程とを有し、前記シミュレーション実行工程は、前記シミュレーション対象プログラムに同一命令が複数含まれ当該同一命令のシミュレーションを2回目以降に実行する際に、前記実行済命令情報格納領域および前記ネイティブ命令格納領域を参照して2回目以降のシミュレーションを実行するとともに、2回目以降のシミュレーションの実行の場合には同一命令のデコード処理を行わずに前記デコード情報格納領域を参照して得た1回目のデコード情報を利用してシミュレーションの処理時間の短縮を図る工程を含むことを特徴とする命令シミュレーション方法に存する。
また、請求項12に記載の発明の要旨は、前記命令のシミュレーションを1回目に実行した際に、シミュレータが動作するコンピュータの機械語命令に変換可能であれば当該変換結果を前記ネイティブ命令格納領域に格納する工程を有することを特徴とする請求項11に記載の命令シミュレーション方法に存する。
また、請求項13に記載の発明の要旨は、同一命令のシミュレーションを2回目以降に実行する場合に前記実行済命令情報格納領域から情報を取り出すとともに、前記ネイティブ命令格納領域に既に格納されている機械語で実行可能であれば当該機械語を実行することにより、高速に同一命令の2回目以降のシミュレーションを実行する工程を有することを特徴とする請求項11に記載の命令シミュレーション方法に存する。
また、請求項14に記載の発明の要旨は、シミュレーション対象プログラムを従来の命令逐次実行シミュレーションに比べて高速にシミュレーションでき、制御系のプロセッサに対してもシミュレーションを1命令毎に実行できる命令シミュレーション方法であって、シミュレーション対象プログラムから命令を取り出してシミュレーションを実行するシミュレーション実行工程と、前記命令が実行済であるか否かの判定用の情報を実行済命令情報格納領域に格納する工程と、前記シミュレーション対象プログラムから取り出した命令が実行済であるか否かを前記実行済命令情報格納領域に格納されている前記判定用の情報を基に判断する工程と、前記命令のシミュレーションを1回目に実行する際に、当該命令をネイティブ命令に変換できない場合に当該命令のデコード情報をデコード情報格納領域に保存する工程とを有し、前記シミュレーション実行工程は、前記シミュレーション対象プログラムに同一命令が複数含まれ当該同一命令のシミュレーションを2回目以降に実行する際に、前記実行済命令情報格納領域と前記デコード情報格納領域とを参照して得たデコード情報を利用してシミュレーションの処理時間の短縮を図る工程を含むことを特徴とする命令シミュレーション方法に存する。
また、請求項15に記載の発明の要旨は、シミュレーション対象プログラムから命令を取り出してシミュレーションを実行する命令シミュレーション方法であって、前記命令のシミュレーションを実行した際に、当該命令が機械語命令に変換できない場合に当該命令のデコード情報をデコード情報格納領域に格納する工程と、前記シミュレーション対象プログラムから取り出した命令が前記デコード情報格納領域に格納された前記デコード情報に関する命令と同一であるか否かを判定し、当該命令のデコード情報が存在する場合には、前記デコード情報格納領域を参照して当該命令のシミュレーションを実行する工程とを含むことを特徴とする命令シミュレーション方法に存する。
また、請求項16に記載の発明の要旨は、前記デコード情報は、シミュレーション対象の命令の種類、レジスタ番号、もしくはメモリアドレスであることを特徴とする請求項11及至15のいずれかに記載の命令シミュレーション方法に存する。
【0011】
【発明の実施の形態】
本発明の特徴は、プロセッサの命令逐次実行シミュレータにおいて、シミュレーション対象プログラムから命令を取り出してシミュレーションを実行した場合に、対象プログラムにループ処理があり2回目に同一命令を実行する際に、1回目のシミュレーション処理よりも高速にシミュレーションを行い、より短時間にシミュレーション結果を取得できる構成を設けた点にある。これにより、第1に、シミュレーション対象プログラムを従来の命令逐次実行シミュレーションに比べて高速にシミュレーションできるようになる。また第2に、マイクロコントローラのような制御系のプロセッサに対して1命令毎に実行することで割り込み処理や周辺機能シミュレーションに対しても正確にシミュレーションを実行できるようになる。そして第3に、プログラムを開発する場合に、従来の命令逐次実行シミュレーションに対する改造点が少ないために開発期間が少なくて済むといった効果を奏する。以下、図面に基づき本発明の実施の形態を説明する。
【0012】
(第1の実施の形態)
初めに、図面に基づき本発明の第1の実施の形態を説明する。図1は本発明の第1の実施の形態のシステム構成図である。図1において、1はシミュレーション対象プログラム、20はシミュレータ、21は制御部、22は実行済命令情報格納領域、23は擬似レジスタ・メモリ格納領域、25はネイティブ命令格納領域、100はコンピュータシステム、101は補助記憶装置、102は入出力装置、200はシミュレーションシステムを示している。
【0013】
図1を参照すると、本実施の形態のシミュレーションシステム200は、オペレーティングシステム(たとえば、WindowsNTやWindows98,UNIXなど(いずれも商標))により動作するコンピュータシステム100と、シミュレーション対象プログラム1のソースプログラム、実行形式のプログラムを格納する補助記憶装置101と、コンピュータシステム100に接続された入出力装置102と、本発明のシミュレータ20から構成されている。
【0014】
また、本実施の形態におけるコンピュータシステム100は、オペレーティングシステム(Operating System)と、当該オペレーティングシステム上で動作するシミュレータ20を備えている。一方、シミュレータ20は、シミュレータ20全体を制御し実際にシミュレーションを実行する制御部21と、シミュレーション対象プログラム1と、シミュレーションを実行するために、擬似的にシミュレーション対象のプロセッサのハードウェアを持たせた擬似レジスタ・メモリ格納領域23と、実行済命令であるかの判定用の情報を格納する実行済命令情報格納領域22と、シミュレーション対象プログラム1の命令をコンピュータシステム100の機械語の命令に変換して実行することによって命令のシミュレーションを行うことを可能とするためのネイティブ命令格納領域25を備えている。
【0015】
すなわち、本実施の形態のシミュレータ20は、図1に示すように、前述の従来の命令逐次実行シミュレータ(図8参照)の構成に、実行済命令情報格納領域22を追加することで、1回目の命令シミュレーションを実行した際に、シミュレータ20が動作するコンピュータの機械語命令に変換可能であればその変換結果をネイティブ命令格納領域25に格納できる。さらに加えて、ループなどにより同一命令の命令シミュレーションを2回目に実行する場合に実行済命令情報格納領域22から情報を取り出すとともに、ネイティブ命令格納領域25の機械語で実行可能であれば当該機械語を実行することにより、高速に2回目の命令シミュレーションを実行できるようになるといった効果を奏する。
【0016】
次にシミュレーションシステム200の動作(命令シミュレーション方法)について説明する。図2は制御部21の処理の流れを示すフローチャートである。なお、本フローチャートに示す処理では実行済命令情報格納領域22の初期化処理などは省略している。
【0017】
図2において、ステップS201は、シミュレーション対象プログラム1からシミュレーションを行う1命令を取り出す処理である。
【0018】
ステップS202は、未実行の命令か否かを、実行済命令情報格納領域22を参照して判断する処理である。
【0019】
ステップS203は、ステップS201で取り出した命令をデコードし、命令の種類(転送、演算、分岐、比較などの命令)や、対象のレジスタ番号やメモリのアドレスの情報を取り出す処理である。
【0020】
ステップS204は、1命令シミュレーションを擬似レジスタ・メモリ格納領域23を参照しながら、命令の種類に従って動作を行い、シミュレーション結果を擬似レジスタ・メモリ格納領域23に格納する処理である。
【0021】
ステップS205は、シミュレーションした命令が、ネイティブ命令変換可能であるかを判断する処理である。
【0022】
ステップS206は、シミュレーション対象プログラム1の1命令を、コンピュータシステム100で直接実行可能な命令(ネイティブ命令)に変換して、ネイティブ命令格納領域25に格納する処理である。
【0023】
ステップS207は、同一命令を2回目に実行する場合に、ネイティブ命令で実行可能であることを示すために、実行済命令情報格納領域22に論理値(たとえば’1’)を格納する処理である。
【0024】
ステップS208は、実行済命令であった場合に、ネイティブ命令格納領域25の命令を実行して、シミュレーションを行う処理である。
【0025】
ステップS209は、周辺機能のシミュレーション、たとえば、プロセッサ内蔵のタイマがあり、かつ動作中であれば、タイマのカウントアップを行う処理である。
【0026】
ステップS210は、シミュレーション対象プロセッサに対する擬似割り込みがあった否かのチェック、シミュレーション処理に必要なクロック数の加算、およびシミュレーション対象プログラム1に対してシミュレーション停止の指示があったかのチェックをする処理である。
【0027】
ステップS211は、シミュレーション停止の指示があった場合にシミュレーションを停止し、シミュレーション停止の指示がなければシミュレーションを続行する処理である。
【0028】
次に図1および図2のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。本実施の形態では、まず、補助記憶装置101からコンピュータシステム100のシミュレータ20のシミュレーション対象プログラム1をロードする。
【0029】
続いて、制御部21の処理によって、シミュレーションを開始する。シミュレーション対象プログラム1の中から擬似レジスタ・メモリ格納領域23に格納されているプログラムカウンタが示しているアドレスの命令をステップS201で取り出す。
【0030】
続いて、ステップS202によって、取り出した命令が、未実行の命令であるか否かを判断する。もし、実行した命令であれば、ステップS208のステップ処理へ進む。未実行の命令であれば、次のステップの処理を行うステップS203によって、命令をデコードし、シミュレーションに必要な情報を取り出す。
【0031】
続いて、ステップS203で取り出した情報に従ってステップS204を実行し擬似レジスタ・メモリ格納領域23の情報を命令の種類によって操作し、その結果を擬似レジスタ・メモリ格納領域23に書き戻す。たとえば、ADDI R1,#10(すなわち、第1のレジスタに数値10を加え、当該演算結果を第1のレジスタに保持する)といった命令であった場合には擬似レジスタ・メモリ格納領域23の第1のレジスタに相当するメモリの内容を読み出して数値10を加算し、該演算結果を擬似レジスタ・メモリ格納領域23の第1のレジスタに相当するメモリに書き戻すことにより、1命令のシミュレーションを行ったことになる。
【0032】
続いて、ステップS205を実行し、シミュレーションした命令がネイティブ命令に変換可能であるかを判定する。このとき、変換可能な命令は事前に制御部21の管理するテーブルなどに登録しておくことによって判断可能である。変換不可能であれば、ステップS209へジャンプする。たとえばステップS204の具体的な命令の例である前述のADDI R1,#10であれば、変換可能である。すなわち、ネイティブ加算命令が、擬似レジスタ・メモリ格納領域23のメモリのアドレスの内容と数値10を加算し、結果を擬似レジスタ・メモリ格納領域23のメモリに格納できる命令であれば、ステップS204と同一の動作となる。
【0033】
続いて、ステップS206を実行し、シミュレーション対象プログラム1の命令をネイティブ命令に変換して、ネイティブ命令格納領域25に格納する。
【0034】
続いて、ステップS208を実行する際、ネイティブ命令実行可能とするために、ステップS207で、実行済命令情報格納領域22に値を書き込んで実行済命令とする。
【0035】
続いて、ステップS209にジャンプする。このとき、シミュレーション対象プログラム1と実行済命令情報格納領域22には、簡単な演算で1対1に対応できるようにマッピングする。たとえば、実行済命令情報格納領域22を1ビットで表現した場合、シミュレーション対象プログラムがバイト(8ビット単位)で命令が配置されていれば、1/8のメモリの容量で表現することができる。具体的には、シミュレーション対象プログラム1のアドレス(バイト単位)が0番地に対しては、実行済命令情報格納領域22のアドレス(バイト単位)およびビット位置は0番地およびビット0となる。同様に、シミュレーション対象プログラム1のアドレス(バイト単位)が1番地に対しては、実行済命令情報格納領域22のアドレス(バイト単位)およびビット位置は0番地およびビット1となる。同様に、シミュレーション対象プログラム1のアドレス(バイト単位)が2番地に対しては、実行済命令情報格納領域22のアドレス(バイト単位)およびビット位置は0番地およびビット2となる。同様に、シミュレーション対象プログラム1のアドレス(バイト単位)が8番地に対しては、実行済命令情報格納領域22のアドレス(バイト単位)およびビット位置は1番地およびビット0となる。
【0036】
続いて、ステップS208を実行し、ネイティブ命令格納領域25に格納されたネイティブ命令を実行する。
【0037】
続いて、ステップS209を実行し、1命令のシミュレーションでは直接操作できない周辺機能、たとえば、シミュレーション対象プロセッサに内蔵されたタイマーのカウントアップの処理などを行う。
【0038】
続いて、ステップS210を実行し、シミュレーション対象プロセッサに対する割り込み(たとえば外部割り込み、タイマーの一致による内部割り込みなど)のチェック、シミュレーションに必要であったクロック数の更新(この値によって、実際のプロセッサでは、どのくらいの時間で、処理ができるかの算出ができる)、シミュレーション停止か否かのチェックを行う。このような外部割り込みのシミュレーションは、入出力装置102とシミュレータ20の制御部21との会話処理(インタラクティブ処理)によって割り込みを発生させるように登録しておくこと、あるいは事前にシミュレーション開始から何クロック経過したら割り込みを発生させるかを登録しておくことにより実現できる。
【0039】
続いて、ステップS211を実行し、シミュレーション停止か否かの判断し、もしシミュレーション続行と判断した場合はステップS201へジャンプし、シミュレーション停止と判断した場合はシミュレーションを停止させる。
【0040】
以上説明したように第1の実施の形態によれば以下に掲げる効果を奏する。まず第1の効果は、シミュレーション対象プログラム1を従来の命令逐次実行シミュレーションに比べて、高速にシミュレーションできることである。その理由は、シミュレーション対象プログラム1のループ処理(たとえば、C言語でのfor文)で、同一の命令を実行する場合に、命令のデコードが不要であり、さらに、ネイティブ命令実行によって、擬似レジスタ・メモリ格納領域23の情報を直接扱うことができるからである。
【0041】
また第2の効果は、マイクロコントローラのような制御系のプロセッサに対して1命令毎に実行することで割り込み処理や周辺機能シミュレーションに対しても、正確にシミュレーションを行うことができることである。その理由は、従来のように、シミュレーション対象プログラム1をネイティブ命令に変換する場合、ある命令群の固まりを変換するのではなく、1命令毎に変換するため、ネイティブ命令実行によって、割り込み処理や周辺機能シミュレーションの動作に、影響を与えないからである。
【0042】
そして第3の効果は、本実施の形態のプログラムを開発する場合に、従来の命令逐次実行シミュレーションに対する改造点が少ないために、開発期間が少なくて済ませることができることである。その理由は、基本的な処理の流れは、従来の命令逐次実行シミュレーションと同じであるからである。
【0043】
(第2の実施の形態)
次に図面に基づき本発明の第2の実施の形態を説明する。なお、上記第1の実施の形態において既に記述したものと同一の部分については、同一符号を付し、重複した説明は省略する。図3は本発明の第2の実施の形態のシステム構成図である。図3において、1はシミュレーション対象プログラム、30はシミュレータ、31は制御部、22は実行済命令情報格納領域、23は擬似レジスタ・メモリ格納領域、25はネイティブ命令格納領域、32はデコード情報格納領域、100はコンピュータシステム、101は補助記憶装置、102は入出力装置、200はシミュレーションシステムを示している。
【0044】
図3を参照すると、第2の実施の形態は、図1の前述の第1の実施の形態のシステム構成図に対して、デコード情報格納領域32が追加され、ネイティブ命令に変換できない場合に当該命令のデコード情報を保存する構成とすることによって、2回目の実行の場合に同一命令のデコード処理を行わずに1回目のデコード情報を利用してシミュレーションの処理時間の短縮を図る点に特徴を有している。
【0045】
上記デコード処理では、通常、シミュレーション対象プログラム1から取り出した命令のコードに対して、フィールド(命令フィールド、レジスタフィールド、アドレスフィールド、その他に分けられているフィールド)毎にマスクを掛け、さらに値を取り出すためにシフト動作を行う。さらに、命令の種類を判別するために命令テーブルを参照するなどの処理が必要であり、数10ステップから数100ステップの処理を必要とする。
【0046】
第2の実施の形態ではこれらをデコード情報格納領域32へのデコード情報の書き込みと読み出しによって、処理ステップを少なくしてシミュレーションの性能を上げている。
【0047】
次にシミュレーションシステム200の動作(命令シミュレーション方法)について説明する。図4は第2の実施の形態の制御部31の処理の流れを示すフローチャートである。本実施の形態の制御部31の処理のフローチャートは、前述の制御部21の処理のフローチャートに、ステップP301〜ステップP304の処理が追加されている点に特徴を有している。
【0048】
これらのステップP301〜ステップP304は、それぞれ概ね次のように動作する。まず、ステップP301は、命令デコードの情報を、デコード情報格納領域32に格納する処理である。
【0049】
ステップP302は、デコード済命令であること示すために、実行済命令情報格納領域22に値を設定する処理である。前述の第1の実施の形態では、実行済命令情報格納領域22のデータは、1ビットで実行済(ネイティブ命令実行可能)か未実行かの判断が可能であったが、第2の実施の形態の場合には、未実行/ネイティブ命令は実行不可であるが、デコード情報格納/ネイティブ命令実行可能のいずれかを示す必要があるため、2ビットを使用することにより表現できる。たとえば、「00:初期値、未実行命令、01:ネイティブ命令実行可能命令、10:ネイティブ命令実行不可であるが、デコード情報を格納、11:この場合はありえないため、不定とする。」となる。
【0050】
ステップP303は、ステップP302で設定した2ビットのデータを読み込んで、デコード済命令である(たとえば上記の例の場合10)かを判定する処理である。
【0051】
ステップP304は、ステップP301で、デコード情報格納領域32に書き込んだ情報を読み出す処理を行う処理である。
【0052】
次に図3のシステム構成図および図4のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。本実施の形態では、まず、補助記憶装置101からコンピュータシステム100のシミュレータ30のシミュレーション対象プログラム1をロードし、制御部31の処理によってシミュレーションを開始する。
【0053】
続いて、ステップP201を実行し、擬似レジスタ・メモリ格納領域23に格納されているプログラムカウンタが示しているアドレスの命令を、シミュレーション対象プログラム1の中から取り出す。
【0054】
続いて、ステップP202を実行し、取り出した命令が未実行の命令であるかを判断する。もし、取り出した命令が既に実行した命令であれば後述するステップP303へジャンプする。一方、取り出した命令が未実行の命令であれば、ステップP203を実行する。ステップP203では当該命令をデコードしてシミュレーションに必要な情報を取り出す。
【0055】
続いて、ステップP204を実行し、ステップP203を実行して取り出した情報に従って、擬似レジスタ・メモリ格納領域23の情報を命令の種類によって操作し、当該実行結果を擬似レジスタ・メモリ格納領域23に書き戻す。
【0056】
続いて、ステップP205を実行し、ステップP204でシミュレーションした命令がネイティブ命令に変換可能であるかを判定する。当該変換可能な命令は、事前に制御部31の管理するテーブルなどに登録しておくことによって判断可能であり、ステップP206の処理へジャンプする。一方、ステップP204でシミュレーションした命令がネイティブ命令に変換不可能であった場合には次の処理を行う。
【0057】
すなわち、ステップP301を実行してデコード情報(命令の種類、レジスタ番号、メモリアドレスなどの情報)をデコード情報格納領域32に書き込む。
【0058】
続いて、ステップP302を実行し、値(たとえば’10’)の2ビットのデータをデコード済命令として実行済命令情報格納領域22に書き込み、ステップP304の処理へジャンプする。
【0059】
ステップP204でシミュレーションした命令がネイティブ命令に変換可能な場合は、続いてステップP206を実行し、シミュレーション対象プログラム1の命令をネイティブ命令に変換して、ネイティブ命令格納領域25に格納する。
【0060】
続いて、ステップP207を実行し、ネイティブ命令実行可能とするために、実行済命令(ネイティブ命令実行可能)の値(たとえば、’01’)の2ビットのデータを実行済命令情報格納領域22に書き込んでネイティブ命令実行可能命令とし、ステップP209の処理へジャンプする。
【0061】
一方、未実行命令でない場合(ステップP202のNO)は、ステップP303を実行して実行済命令情報格納領域22からデータを取り出し、ステップP201で取り出した命令がデコード済みの命令であるかを判断する。
【0062】
もし、実行済命令情報格納領域22から取り出したデータの論理値が’01’であれば、ネイティブ命令実行可能な命令であると判断してステップP208の処理へジャンプする。一方、実行済命令情報格納領域22から取り出したデータの論理値が’10’であれば、ネイティブ命令実行不可能な命令であるがデコード情報を格納した命令であると判断して次のステップを実行する。
【0063】
続いて、ステップP304を実行し、デコード情報格納領域32から命令シミュレーションに必要なデコードした情報を読み出す。
【0064】
続いて、ステップP204を実行して1命令のシミュレーションを実行し、ステップP209の処理へジャンプする。
【0065】
デコード済命令でない場合(ステップP303のNO)は、ステップP208を実行し、ネイティブ命令格納領域25に格納されたネイティブ命令を実行する。
【0066】
続いて、ステップP209を実行し、1命令のシミュレーションでは直接操作できない周辺機能、たとえば、シミュレーション対象プロセッサに内蔵されたタイマーのカウントアップの処理などを行う。
【0067】
続いて、ステップP210を実行し、シミュレーション対象プロセッサに対する割り込み(外部割り込み、タイマーの一致による内部割り込みなど)のチェック、シミュレーションに必要であったクロック数の更新(この値によって、実際のプロセッサでは、どのくらいの時間で、処理ができるかの算出ができる)、シミュレーション停止か否かのチェックなどを行う。
【0068】
続いて、ステップP211を実行し、シミュレーション停止か否かの判断し、もし、シミュレーションを続行すると判断したならばステップP201の処理へジャンプする。一方、シミュレーション停止と判断したならばシミュレーションを停止させる。
【0069】
ここで、図1を参照すると、本実施の形態は、シミュレータ30のプログラムを補助記憶装置101からコンピュータシステム100に読み込んでシミュレーションを実行するため、補助記憶装置101へシミュレータ30を記述したプログラムコードを記録した記録媒体(不図示)を備えている。当該記録媒体は磁気ディスク、光ディスク、半導体メモリカードなどの情報記憶媒体であってよい。
【0070】
以上説明したように第2の実施の形態によれば以下に掲げる効果を奏する。まず第1の効果は、シミュレーション対象プログラム1を従来の命令逐次実行シミュレーションに比べて、高速にシミュレーションできることである。その理由は、シミュレーション対象プログラム1のループ処理(たとえば、C言語でのfor文)で、同一の命令を実行する場合に、命令のデコードが不要であり、さらに、ネイティブ命令実行によって、擬似レジスタ・メモリ格納領域23の情報を直接扱うことができるからである。
【0071】
また第2の効果は、マイクロコントローラのような制御系のプロセッサに対して1命令毎に実行することで割り込み処理や周辺機能シミュレーションに対しても、正確にシミュレーションを行うことができることである。その理由は、従来のように、シミュレーション対象プログラム1をネイティブ命令に変換する場合、ある命令群の固まりを変換するのではなく、1命令毎に変換するため、ネイティブ命令実行によって、割り込み処理や周辺機能シミュレーションの動作に、影響を与えないからである。
【0072】
そして第3の効果は、本実施の形態のプログラムを開発する場合に、従来の命令逐次実行シミュレーションに対する改造点が少ないために、開発期間が少なくて済ませることができることである。その理由は、基本的な処理の流れは、従来の命令逐次実行シミュレーションと同じであるからである。
【0073】
なお、本発明が上記各実施の形態に限定されず、本発明の技術思想の範囲内において、各実施の形態は適宜変更され得ることは明らかである。また上記構成部材の数、位置、形状などは上記実施の形態に限定されず、本発明を実施する上で好適な数、位置、形状などにすることができる。また、各図において、同一構成要素には同一符号を付している。
【0074】
【発明の効果】
本発明は以上のように構成されているので、以下に掲げる効果を奏する。まず第1の効果は、シミュレーション対象プログラムを従来の命令逐次実行シミュレーションに比べて、高速にシミュレーションできることである。その理由は、シミュレーション対象プログラムのループ処理(たとえば、C言語での for文)で、同一の命令を実行する場合に、命令のデコードが不要であり、さらに、ネイティブ命令実行によって、擬似レジスタ・メモリ格納領域の情報を直接扱うことができるからである。
【0075】
また第2の効果は、マイクロコントローラのような制御系のプロセッサに対して1命令毎に実行することで割り込み処理や周辺機能シミュレーションに対しても、正確にシミュレーションを行うことができることである。その理由は、従来のように、シミュレーション対象プログラムをネイティブ命令に変換する場合、ある命令群の固まりを変換するのではなく、1命令毎に変換するため、ネイティブ命令実行によって、割り込み処理や周辺機能シミュレーションの動作に、影響を与えないからである。
【0076】
そして第3の効果は、本発明のプログラムを開発する場合に、従来の命令逐次実行シミュレーションに対する改造点が少ないために、開発期間が少なくて済ませることができることである。その理由は、基本的な処理の流れは、従来の命令逐次実行シミュレーションと同じであるからである。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態のシステム構成図である。
【図2】第1の実施の形態の制御部の処理の流れを示すフローチャートである。
【図3】本発明の第2の実施の形態のシステム構成図である。
【図4】第2の実施の形態の制御部の処理の流れを示すフローチャートである。
【図5】従来技術のプロセッサ命令シミュレーションの流れを説明するフロー図である。
【図6】従来技術におけるターゲットプログラムの実行のシミュレーションの流れを説明するフロー図である。
【図7】従来の逐次命令シミュレーション方法の処理の流れを示すフローチャートである。
【図8】従来技術を実現するためのシステム構成図である。
【符号の説明】
1…シミュレーション対象プログラム
20,30,90…シミュレータ
21,31,91…制御部
22…実行済命令情報格納領域
23…擬似レジスタ・メモリ格納領域
25…ネイティブ命令格納領域
32…デコード情報格納領域
100…コンピュータシステム
101…補助記憶装置
102…入出力装置
200…シミュレーションシステム
Claims (16)
- シミュレーション対象プログラムを従来の命令逐次実行シミュレーションに比べて高速にシミュレーションでき、制御系のプロセッサに対してもシミュレーションを1命令毎に実行できるシミュレーションシステムであって、
シミュレーション対象プログラムから命令を取り出してシミュレーションを実行するシミュレーション実行手段と、
前記命令が実行済であるか否かの判定用の情報を格納する実行済命令情報格納領域と、
前記シミュレーション対象プログラムから取り出した命令が実行済であるか否かを前記実行済命令情報格納領域に格納されている前記判定用の情報を基に判断する手段と、
前記命令のシミュレーションを1回目に実行した際に変換した実行済命令にかかる変換結果を格納するネイティブ命令格納領域と、
前記命令をネイティブ命令に変換できない場合に当該命令のデコード情報を保存するためのデコード情報格納領域とを有し、
前記シミュレーション実行手段は、前記シミュレーション対象プログラムに同一命令が複数含まれ当該同一命令のシミュレーションを2回目以降に実行する際に、前記実行済命令情報格納領域および前記ネイティブ命令格納領域を参照して2回目以降のシミュレーションを実行するとともに、2回目以降のシミュレーションの実行の場合には同一命令のデコード処理を行わずに前記デコード情報格納領域を参照して得た1回目のデコード情報を利用してシミュレーションの処理時間の短縮を図るように構成されている
ことを特徴とするシミュレーションシステム。 - 前記命令のシミュレーションを1回目に実行した際に、シミュレータが動作するコンピュータの機械語命令に変換可能であれば当該変換結果を前記ネイティブ命令格納領域に格納するように構成されていることを特徴とする請求項1に記載のシミュレーションシステム。
- 同一命令のシミュレーションを2回目以降に実行する場合に前記実行済命令情報格納領域から情報を取り出すとともに、前記ネイティブ命令格納領域に既に格納されている機械語で実行可能であれば当該機械語を実行することにより、高速に同一命令の2回目以降のシミュレーションを実行するように構成されていることを特徴とする請求項1に記載のシミュレーションシステム。
- シミュレータ全体を制御し実際にシミュレーションを実行する制御部と、
シミュレーション対象プログラムと、
シミュレーションを実行するために擬似的にシミュレーション対象のプロセッサのハードウェアを持たせた擬似レジスタ・メモリ格納領域と、
命令が実行済であるか否かの判定用の情報を格納する前記実行済命令情報格納領域と、
前記シミュレーション対象プログラムの命令をコンピュータシステムの機械語の命令に変換して実行することによって命令のシミュレーションを行うことを可能とするための前記ネイティブ命令格納領域と、
を有することを特徴とする請求項1乃至3のいずれか一項に記載のシミュレーションシステム。 - シミュレーション対象プログラムを従来の命令逐次実行シミュレーションに比べて高速にシミュレーションでき、制御系のプロセッサに対してもシミュレーションを1命令毎に実行できるシミュレーションシステムであって、
シミュレーション対象プログラムから命令を取り出してシミュレーションを実行するシミュレーション実行手段と、
前記命令が実行済であるか否かの判定用の情報を格納する実行済命令情報格納領域と、
前記シミュレーション対象プログラムから取り出した命令が実行済であるか否かを前記実行済命令情報格納領域に格納されている前記判定用の情報を基に判断する手段と、
前記命令のシミュレーションを1回目に実行した際に、当該命令をネイティブ命令に変換できない場合に当該命令のデコード情報を保存するためのデコード情報格納領域とを有し、
前記シミュレーション実行手段は、前記シミュレーション対象プログラムに同一命令が複数含まれ当該同一命令のシミュレーションを2回目以降に実行する際に、前記実行済命令情報格納領域と前記デコード情報格納領域とを参照して得たデコード情報を利用してシミュレーションの処理時間の短縮を図るように構成されていることを特徴とするシミュレーションシステム。 - シミュレーション対象プログラムから命令を取り出してシミュレーションを実行するシミュレーション実行手段を有するシミュレーションシステムであって、
前記命令のシミュレーションを実行した際に、当該命令が機械語命令に変換できない場合に当該命令のデコード情報を格納するためのデコード情報格納領域を備え、
前記シミュレーション実行手段は、前記シミュレーション対象プログラムから取り出した命令が前記デコード情報格納領域に格納された前記デコード情報に関する命令と同一であるか否かを判定し、当該命令のデコード情報が存在する場合には、前記デコード情報格納領域を参照して当該命令のシミュレーションを実行することを特徴とするシミュレーションシステム。 - 前記命令のシミュレーションを実行した際に変換した機械語命令変換結果を格納するネイティブ命令格納領域を備え、
前記シミュレーション実行手段は、前記シミュレーション対象プログラムから取り出した命令が前記ネイティブ命令格納領域に格納された前記機械語命令変換結果に関する命令と同一であるか否かを判定し、当該命令の機械語命令変換結果が存在する場合には、前記ネイティブ命令格納領域を参照して当該命令のシミュレーションを実行することを特徴とする請求項6に記載のシミュレーションシステム。 - 前記シミュレーション実行手段は、命令のシミュレーションを実行した際に、シミュレータが動作するコンピュータの前記機械語命令に変換可能であれば、前記デコード情報を前記デコード情報格納領域に格納せずに前記機械語命令変換結果を前記ネイティブ命令格納領域に格納するように構成されていることを特徴とする請求項7に記載のシミュレーションシステム。
- 前記シミュレーション実行手段において、未実行の命令のシミュレーションを行なうときに、前記デコード情報を前記デコード情報格納領域に格納することを特徴とする請求項6に記載のシミュレーションシステム。
- 前記デコード情報は、シミュレーション対象の命令の種類、レジスタ番号、もしくはメモリアドレスであることを特徴とする請求項1及至9のいずれかに記載のシミュレーションシステム。
- シミュレーション対象プログラムを従来の命令逐次実行シミュレーションに比べて高速にシミュレーションでき、制御系のプロセッサに対してもシミュレーションを1命令毎に実行できる命令シミュレーション方法であって、
シミュレーション対象プログラムから命令を取り出してシミュレーションを実行するシミュレーション実行工程と、
前記命令が実行済であるか否かの判定用の情報を実行済命令情報格納領域に格納する工程と、
前記シミュレーション対象プログラムから取り出した命令が実行済であるか否かを前記実行済命令情報格納領域に格納されている前記判定用の情報を基に判断する工程と、
前記命令のシミュレーションを1回目に実行した際に変換した実行済命令にかかる変換結果をネイティブ命令格納領域に格納する工程と、
前記命令をネイティブ命令に変換できない場合に当該命令のデコード情報をデコード情報格納領に保存する工程とを有し、
前記シミュレーション実行工程は、前記シミュレーション対象プログラムに同一命令が複数含まれ当該同一命令のシミュレーションを2回目以降に実行する際に、前記実行済命令情報格納領域および前記ネイティブ命令格納領域を参照して2回目以降のシミュレーションを実行するとともに、2回目以降のシミュレーションの実行の場合には同一命令のデコード処理を行わずに前記デコード情報格納領域を参照して得た1回目のデコード情報を利用してシミュレーションの処理時間の短縮を図る工程を含むことを特徴とする命令シミュレーション方法。 - 前記命令のシミュレーションを1回目に実行した際に、シミュレータが動作するコンピュータの機械語命令に変換可能であれば当該変換結果を前記ネイティブ命令格納領域に格納する工程を有することを特徴とする請求項11に記載の命令シミュレーション方法。
- 同一命令のシミュレーションを2回目以降に実行する場合に前記実行済命令情報格納領域から情報を取り出すとともに、前記ネイティブ命令格納領域に既に格納されている機械語で実行可能であれば当該機械語を実行することにより、高速に同一命令の2回目以降のシミュレーションを実行する工程を有することを特徴とする請求項11に記載の命令シミュレーション方法。
- シミュレーション対象プログラムを従来の命令逐次実行シミュレーションに比べて高速にシミュレーションでき、制御系のプロセッサに対してもシミュレーションを1命令毎に実行できる命令シミュレーション方法であって、
シミュレーション対象プログラムから命令を取り出してシミュレーションを実行するシミュレーション実行工程と、
前記命令が実行済であるか否かの判定用の情報を実行済命令情報格納領域に格納する工程と、
前記シミュレーション対象プログラムから取り出した命令が実行済であるか否かを前記実行済命令情報格納領域に格納されている前記判定用の情報を基に判断する工程と、
前記命令のシミュレーションを1回目に実行する際に、当該命令をネイティブ命令に変換できない場合に当該命令のデコード情報をデコード情報格納領域に保存する工程とを有し、
前記シミュレーション実行工程は、前記シミュレーション対象プログラムに同一命令が複数含まれ当該同一命令のシミュレーションを2回目以降に実行する際に、前記実行済命令情報格納領域と前記デコード情報格納領域とを参照して得たデコード情報を利用してシミュレーションの処理時間の短縮を図る工程を含むことを特徴とする命令シミュレーション方法。 - シミュレーション対象プログラムから命令を取り出してシミュレーションを実行する命令シミュレーション方法であって、
前記命令のシミュレーションを実行した際に、当該命令が機械語命令に変換できない場合に当該命令のデコード情報をデコード情報格納領域に格納する工程と、
前記シミュレーション対象プログラムから取り出した命令が前記デコード情報格納領域に格納された前記デコード情報に関する命令と同一であるか否かを判定し、当該命令のデコード情報が存在する場合には、前記デコード情報格納領域を参照して当該命令のシミュレーションを実行する工程とを含むことを特徴とする命令シミュレーション方法。 - 前記デコード情報は、シミュレーション対象の命令の種類、レジスタ番号、もしくはメモリアドレスであることを特徴とする請求項11及至15のいずれかに記載の命令シミュレーション方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP28281799A JP3753572B2 (ja) | 1999-10-04 | 1999-10-04 | シミュレーションシステムおよび命令シミュレーション方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP28281799A JP3753572B2 (ja) | 1999-10-04 | 1999-10-04 | シミュレーションシステムおよび命令シミュレーション方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2001101031A JP2001101031A (ja) | 2001-04-13 |
| JP3753572B2 true JP3753572B2 (ja) | 2006-03-08 |
Family
ID=17657480
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP28281799A Expired - Fee Related JP3753572B2 (ja) | 1999-10-04 | 1999-10-04 | シミュレーションシステムおよび命令シミュレーション方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3753572B2 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP2851815A1 (de) * | 2013-09-18 | 2015-03-25 | dSPACE digital signal processing and control engineering GmbH | Testeinrichtung zum Echtzeittest eines virtuellen Steuergeräts |
-
1999
- 1999-10-04 JP JP28281799A patent/JP3753572B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2001101031A (ja) | 2001-04-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0241946A2 (en) | Information processing system | |
| JP2006510126A (ja) | データ処理システムでの処理動作マスキング | |
| JPS6029126B2 (ja) | デ−タ処理装置 | |
| JP3938580B2 (ja) | 情報処理装置、情報処理方法、半導体装置、コンピュータプログラム | |
| JPH04233040A (ja) | コンピュータプログラム実行シミュレーションシステム | |
| JPH01310441A (ja) | データ処理装置 | |
| CN118426839A (zh) | 处理器的指令验证方法及装置 | |
| JP2817786B2 (ja) | シミュレーション装置及びシミュレーション方法 | |
| JP3753572B2 (ja) | シミュレーションシステムおよび命令シミュレーション方法 | |
| KR19990071604A (ko) | 램구성내의정보를판독하고복원하기위한처리시스템및방법 | |
| US20040098708A1 (en) | Simulator for software development and recording medium having simulation program recorded therein | |
| JP2000284964A (ja) | Vliwプロセッサにおける効率的なサブ命令エミュレーション | |
| JP2001306334A (ja) | エミュレーション装置 | |
| JPH0588884A (ja) | 状態モード設定方式 | |
| US9389865B1 (en) | Accelerated execution of target of execute instruction | |
| US12008372B2 (en) | Techniques for reducing CPU privilege boundary crossings | |
| JP3324542B2 (ja) | 仮想マシン | |
| JPH1173301A (ja) | 情報処理装置 | |
| JP2002007140A (ja) | 記録媒体、システム開発装置及びマイクロコンピュータ | |
| CN121579012A (zh) | 一种用于pscad仿真及装置运行的一体化编译方法及系统 | |
| CN119938430A (zh) | 一种流水级指令的原型验证方法、装置、设备及介质 | |
| CN116755781A (zh) | 指令异常处理方法及装置 | |
| JPH05250156A (ja) | Riscプロセッサ | |
| Navabi | Computer Architecture | |
| JP2000267901A (ja) | ソフトウェア実行システム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050418 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050426 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050627 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050816 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051017 |
|
| 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: 20051115 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051213 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
| 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: 20091222 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091222 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101222 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101222 Year of fee payment: 5 |
|
| S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101222 Year of fee payment: 5 |
|
| 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: 20111222 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111222 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121222 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121222 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131222 Year of fee payment: 8 |
|
| LAPS | Cancellation because of no payment of annual fees |