JP3137094B2 - Simulation method, simulation device, and recording medium therefor - Google Patents

Simulation method, simulation device, and recording medium therefor

Info

Publication number
JP3137094B2
JP3137094B2 JP10304284A JP30428498A JP3137094B2 JP 3137094 B2 JP3137094 B2 JP 3137094B2 JP 10304284 A JP10304284 A JP 10304284A JP 30428498 A JP30428498 A JP 30428498A JP 3137094 B2 JP3137094 B2 JP 3137094B2
Authority
JP
Japan
Prior art keywords
target
task
host
computer
stack
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
Application number
JP10304284A
Other languages
Japanese (ja)
Other versions
JPH11219301A (en
Inventor
輝幸 村田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP10304284A priority Critical patent/JP3137094B2/en
Publication of JPH11219301A publication Critical patent/JPH11219301A/en
Application granted granted Critical
Publication of JP3137094B2 publication Critical patent/JP3137094B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、ターゲット計算機
上で動作するように作られたターゲットプログラムをこ
のターゲット計算機とは異なる中央処理装置(CPU)
を有するホスト計算機で実行するシミュレーション方法
及び装置に関し、特に、ターゲット計算機上でのプロセ
スの切り換え(コンテクストスイッチ)のシミュレーシ
ョンが可能なシミュレーション方法及び装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a central processing unit (CPU) which is different from a target computer and is designed to operate on a target computer.
More particularly, the present invention relates to a simulation method and apparatus capable of simulating process switching (context switch) on a target computer.

【0002】[0002]

【従来の技術】シミュレーション装置(以下、シミュレ
ータともいう)は、ターゲット計算機とは異なる中央処
理装置を有するホスト計算機により、ターゲット計算機
の動作のシミュレーションを実行するものである。ホス
ト計算機によって構築されるシミュレータでは、一般
に、シミュレーション対象となる計算機すなわちターゲ
ット計算機上で動作するターゲットプログラムの命令列
をデータとして保持し、ホストコンピュータがターゲッ
トプログラムの命令列を一命令ずつ解釈・実行すること
により、ターゲット計算機の動作のシミュレーションが
実行される。つまり、ターゲット計算機とホスト計算機
とでは、CPUと記憶装置(メモリ)などを含む実行環
境が異なるため、シミュレータは、ホスト計算機上にタ
ーゲット計算機の実行環境を模した記憶領域(ターゲッ
トメモリ)とCPUレジスタの領域(ターゲットレジス
タ)を確保した上で、シミュレーション実行時にターゲ
ットCPU(ターゲット計算機のCPU)の命令をホス
ト計算機のソフトウェアで解釈し、ターゲット計算機の
各命令に対応する操作をターゲットメモリ及びターゲッ
トレジスタに施すことによって、ターゲット計算機の動
作を擬似的に実現している。
2. Description of the Related Art A simulation device (hereinafter, also referred to as a simulator) executes a simulation of the operation of a target computer by a host computer having a central processing unit different from the target computer. In a simulator constructed by a host computer, generally, a computer to be simulated, that is, an instruction sequence of a target program operating on the target computer is held as data, and the host computer interprets and executes the instruction sequence of the target program one instruction at a time. Thus, a simulation of the operation of the target computer is executed. That is, since the target computer and the host computer have different execution environments including a CPU and a storage device (memory), the simulator stores a storage area (target memory) simulating the execution environment of the target computer and a CPU register on the host computer. Of the target CPU (CPU of the target computer) at the time of executing the simulation after the area (target register) is secured, and the operation corresponding to each instruction of the target computer is executed in the target memory and the target register during the execution of the simulation. By doing so, the operation of the target computer is realized in a pseudo manner.

【0003】ところで、このようなシミュレーション方
法は、ターゲット計算機の命令をホスト計算機のソフト
ウェアによって解釈する過程に時間がかかるため、本来
のターゲット計算機の動作に比べて実行速度が非常に遅
くなるという問題点を有している。このような問題点を
解決し高速なシミュレーションを可能にするシミュレー
ション方法がいろいろと提案されている。
However, such a simulation method takes a long time in the process of interpreting the instructions of the target computer by the software of the host computer, so that the execution speed is much slower than the original operation of the target computer. have. Various simulation methods have been proposed to solve such problems and enable high-speed simulation.

【0004】例えば特開平6−250874号公報に
は、ターゲット計算機の命令ごとに、その命令をホスト
計算機でのネイティブコードによってシミュレートする
シミュレーション関数を用意し、シミュレーションの実
行に先立って、ターゲットプログラムの命令列中の各命
令をそれぞれ対応するシミュレーション関数を呼び出す
ホスト計算機のネイティブコードによる命令に置換し、
その後、シミュレーションを実行する方法が開示されて
いる。この方法では、シミュレーション自体はホスト計
算機のネイティブコードで実行され、シミュレーション
実行時にはターゲット命令の解釈を行わなくてよいた
め、シミュレーションの高速化を実現することができ
る。
For example, Japanese Patent Application Laid-Open No. 6-250874 discloses a simulation function for simulating each instruction of a target computer by a native code of a host computer. Replace each instruction in the instruction sequence with the instruction by the native code of the host computer that calls the corresponding simulation function,
Thereafter, a method of performing a simulation is disclosed. In this method, the simulation itself is executed by the native code of the host computer, and it is not necessary to interpret the target instruction at the time of executing the simulation, so that the simulation can be sped up.

【0005】しかしながら、この特開平6−25087
4号公報に開示の方法では、ターゲット計算機の1命令
ごとに対応するシミュレーション関数の呼び出しを行う
ため、呼び出しに伴うオーバヘッドが無視できない上、
ターゲット計算機での1命令をホスト計算機のネイティ
ブコードに変換すると場合によっては十数命令にもなる
ことがあるためホスト計算機側での全体としての命令ス
テップ数が膨れ上がり、必ずしも効率よくシミュレーシ
ョンを実行できるわけではない。
However, Japanese Patent Application Laid-Open No. Hei 6-25087 discloses
In the method disclosed in Japanese Patent Laid-Open No. 4 (1999) -1994, a simulation function corresponding to each instruction of the target computer is called, so that the overhead associated with the call cannot be ignored.
If one instruction in the target computer is converted to the native code of the host computer, the number of instructions may be as large as ten or more in some cases, so that the number of instruction steps as a whole on the host computer increases, and simulation can always be performed efficiently. Do not mean.

【0006】そこで本発明者は、既に特開平10−03
1595号公報において、ターゲットプログラムのう
ち、OS(オペレーティングシステム)のシステムコー
ルやコンパイラのランタイムライブラリなどのように複
数のプログラムで共通に利用され変更されることのない
定型的な処理(定型処理)については、その定型処理に
対応しかつホスト計算機のネイティブコードで記述され
たプログラム(ネイティブコード版定型処理)を予め用
意し、このプログラムを実行することにより定型処理部
分のシミュレーションを行う方法を提案した。ターゲッ
トプログラムのうち定型処理でない処理(非定型処理)
については、シミュレーションにより一命令ずつ解釈・
実行する。ネイティブコード版定型処理は、ターゲット
プログラムでの各命令を1命令ずつネイティブコードで
の命令に置き換えたものではなく、ターゲット計算機で
の定型処理と同じ機能を果たすようにホスト計算機のネ
イティブコードで書き直したものであって、その全体と
してターゲット計算機での定型処理をシミュレートする
ものである。ある程度まとまったステップ数のプログラ
ムブロックをネイティブコードにより新たに書き直して
いるので、ターゲットプログラムにおける定型処理とネ
イティブコード版定型処理での命令のステップ数は大差
ないものとなることが期待され、これにより、少なくと
も定型処理部分については、シミュレーションのさらな
る高速化を図ることができる。
Therefore, the present inventor has already disclosed in Japanese Patent Laid-Open No. 10-03 / 1998.
Japanese Patent Application Publication No. 1595 discloses a routine process (a routine process) such as a system call of an OS (operating system) or a runtime library of a compiler which is commonly used by a plurality of programs and is not changed among target programs. Proposed a method of preparing a program (native code version routine processing) corresponding to the routine processing and described in native code of the host computer in advance, and executing the program to simulate the routine processing part. Non-standard processing in the target program (ad-hoc processing)
Is interpreted one instruction at a time by simulation.
Execute. The native code version of the standard processing does not replace each instruction in the target program with one instruction in the native code, but rewrites it in the native code of the host computer to perform the same function as the standard processing in the target computer. It simulates routine processing in the target computer as a whole. Since the program block with a certain number of steps is newly rewritten with native code, the number of steps of instructions in the routine processing of the target program and the routine processing of the native code version is expected to be not much different. At least for the routine processing part, the speed of the simulation can be further increased.

【0007】[0007]

【発明が解決しようとする課題】シミュレーションの高
速化を図るためには、シミュレーションの実行時にター
ゲットプログラムの各命令の解釈を行わずに済ませるよ
うにすることはもちろんのこと、ターゲットプログラム
の命令の1ステップに対応するホスト計算機のネイティ
ブコードでの命令のステップ数がなるべく小さくなるよ
うにすることが有効である。この観点からすれば、上述
の特開平10−031595号公報においてターゲット
プログラム中の定型処理をホスト計算機でのネイティブ
コード版定型処理に置き換えるように、ターゲットプロ
グラムのあるブロックをそっくりホスト計算機のネイテ
ィブコードで書かれたブロックに置き換えることが有効
である。その際、ネイティブコードによるブロックは、
ターゲット計算機のCPUアーキテクチュア例えばレジ
スタセットなどを前提とせず、ホスト計算機のCPUの
ネイティブのアーキテクチュア(レジスタセットやメモ
リモデル)に基づいて記述することが可能である。
In order to speed up the simulation, it is not only necessary to avoid interpreting each instruction of the target program at the time of executing the simulation, but also one of the instructions of the target program. It is effective to make the number of steps of the instruction in the native code of the host computer corresponding to the step as small as possible. From this point of view, a block of the target program is completely replaced by the native code of the host computer so that the routine processing in the target program is replaced with the native code version routine processing in the host computer in the above-mentioned Japanese Patent Application Laid-Open No. 10-031595. It is effective to replace with written blocks. At that time, the block by the native code,
The description can be based on the native architecture (register set or memory model) of the CPU of the host computer without assuming the CPU architecture of the target computer, for example, a register set.

【0008】ところで、ターゲット計算機においてタス
ク切り換え(コンテクストスイッチ)が行われる場合に
は、ターゲット計算機のシミュレーションではこのコン
テクストスイッチもシミュレートしなければならない。
また、シミュレーションを実行するようなホスト計算機
は、一般に、マルチタスクのOSによって制御され、タ
ーゲット計算機のシミュレーションとは直接は関係がな
い他のプロセスもターゲット計算機のシミュレーション
のためのプロセスと並行して実行する。
When task switching (context switch) is performed in the target computer, this context switch must be simulated in the simulation of the target computer.
In addition, the host computer that executes the simulation is generally controlled by a multitasking OS, and other processes that are not directly related to the simulation of the target computer also execute in parallel with the process for simulating the target computer. I do.

【0009】ここで、ターゲットプログラムにおけるタ
スク切り換えがある場合を考える。上述したように、シ
ミュレーションの高速化という観点からは、ターゲット
プログラムの例えば定型処理の部分をホスト計算機のレ
ジスタセットやメモリモデルに基づくネイティブコード
のプログラムで記述することが有効であるが、このよう
にホスト計算機のネイティブコードのプログラムを用い
たとしても、タスク切り換えについては、ホスト計算機
のOSに依存することはできない。すなわち、ターゲッ
トプログラムでの各タスクが、シミュレータにおいて、
それぞれ、ターゲット計算機のレジスタセットやメモリ
モデルに依存するコードの部分(命令を1命令ずつ解釈
・実行することを前提としてターゲットプログラムその
ものでもよいし、特開平6−250874号公報記載の
ようにホスト計算機のネイティブコードで記述されてい
てもよい)と、ホスト計算機のレジスタセットやメモリ
モデルに依存しホスト計算機のネイティブコードで書か
れた部分とに分かれているとして、シミュレーション上
でこれら両方の部分が同期してコンテクストスイッチの
対象とならなければならないが、ホスト計算機のOSに
依存した場合には同期してコンテクストスイッチを行う
ことができないからである。以下、ターゲット計算機の
レジスタセットやメモリモデルに依存するコードの部分
をターゲットタスクと呼び、ホスト計算機のレジスタセ
ットやメモリモデルに依存しホスト計算機のネイティブ
コードで書かれた部分をホストタスクと呼ぶ。
Here, consider a case where there is a task switch in the target program. As described above, from the viewpoint of speeding up the simulation, it is effective to describe, for example, the routine processing portion of the target program in a native code program based on the register set and the memory model of the host computer. Even if a native code program of the host computer is used, task switching cannot depend on the OS of the host computer. That is, each task in the target program is
Each part of the code depends on the register set and the memory model of the target computer (the target program itself may be used assuming that the instructions are interpreted and executed one instruction at a time, or the host computer as described in JP-A-6-250874). And the part written in the native code of the host computer depending on the register set and the memory model of the host computer. This is because the context switch must be performed, and the context switch cannot be performed synchronously when the OS depends on the OS of the host computer. Hereinafter, the part of the code that depends on the register set and the memory model of the target computer is called a target task, and the part that is written in the native code of the host computer and that depends on the register set and the memory model of the host computer is called a host task.

【0010】本発明の目的は、ターゲットタスクとホス
トタスクとを同期させてコンテクストスイッチを行うこ
とができ、これによってタスク切り換えを含むシミュレ
ーションを高速に行うことができるシミュレーション方
法及び装置を提供することにある。
[0010] It is an object of the present invention to provide a simulation method and apparatus capable of performing a context switch by synchronizing a target task and a host task and thereby performing a simulation including task switching at a high speed. is there.

【0011】本発明の他の目的は、前記のシミュレーシ
ョン方法及び装置において、ターゲットタスクの実行結
果をホスト計算機の出力に反映させる、または、ホスト
計算機からターゲットタスクに入力を与えることを可能
にすることにある。
Another object of the present invention is to provide the above-mentioned simulation method and apparatus, wherein the execution result of the target task is reflected on the output of the host computer, or the input from the host computer is given to the target task. It is in.

【0012】[0012]

【課題を解決するための手段】本発明のシミュレーショ
ン方法は、ターゲット計算機上で動作するように作られ
たターゲットプログラムの動作を、ターゲット計算機と
異なる中央処理装置を有するホスト計算機上でシミュレ
ーションするシミュレーション方法において、ターゲッ
トプログラムが、ターゲット計算機に固有のレジスタセ
ットを前提とした部分であるターゲットタスクと、ホス
ト計算機に固有のレジスタセットを前提とした部分であ
るホストタスクとに分けられており、ホスト計算機上
に、ターゲットタスクとホストタスクとを配置し、ホス
ト計算機上に、ターゲット計算機のレジスタを仮想的に
実現する仮想ターゲットレジスタ部分と、ターゲット計
算機のメモリを仮想的に実現するターゲットメモリ部分
と、ターゲットタスクに対応するスタック領域であるタ
ーゲットスタックと、ホストタスクに対応するスタック
領域であるホストスタックとを設定し、ターゲットタス
クについては仮想ターゲットレジスタ部分、ターゲット
メモリ部分及びターゲットスタックを用いてシミュレー
ションを実行し、ホストタスクについては、ホストスタ
ック及びホスト計算機の実レジスタを用いてシミュレー
ションを実行する。
According to the present invention, there is provided a simulation method for simulating the operation of a target program created to operate on a target computer on a host computer having a central processing unit different from the target computer. In the above, the target program is divided into a target task, which is a part based on a register set specific to the target computer, and a host task, which is a part based on a register set specific to the host computer. A target task and a host task, and a virtual target register portion for virtually realizing a register of the target computer on the host computer, a target memory portion for virtually realizing a memory of the target computer, and a target task. Set a target stack that is a stack area corresponding to and a host stack that is a stack area corresponding to the host task, and execute a simulation using the virtual target register portion, the target memory portion, and the target stack for the target task, For the host task, a simulation is performed using the host stack and real registers of the host computer.

【0013】本発明のシミュレーション方法では、ター
ゲットプログラムを複数のタスクからなるマルチタスク
型のプログラムとすることが可能であり、この場合は、
各タスクごとに、ターゲットスタックとホストスタック
を設けるようにする。そして、第1のタスクから第2の
タスクへのタスク切り替えを行う際には、第1のタスク
のターゲットタスク及びホストタスクを待避し、その
後、ターゲットスタック及びホストスタックを同期させ
て第1のタスクから第2のタスクに同期して切り替え、
第2のタスクのターゲットタスク及びホストタスクを復
帰させるようにすればよい。
In the simulation method of the present invention, the target program can be a multitask type program including a plurality of tasks.
A target stack and a host stack are provided for each task. When the task is switched from the first task to the second task, the target task and the host task of the first task are saved, and then the first task is synchronized by synchronizing the target stack and the host stack. To switch in synchronization with the second task,
The target task and the host task of the second task may be restored.

【0014】さらに本発明のシミュレーション方法で
は、ターゲットメモリ部分のアドレスをホストメモリの
アドレスに変換し、ホストタスクあるいはホスト計算機
のOSからターゲットCPUのアドレス指定でターゲッ
トメモリ部のメモリ内容を参照できるようにすること
で、ターゲットタスクの処理結果をホスト計算機に出力
させたり、ホスト計算機からターゲットタスクに入力デ
ータを与えたりすることが可能になる。
Further, in the simulation method of the present invention, the address of the target memory portion is converted into the address of the host memory so that the host task or the OS of the host computer can refer to the memory contents of the target memory portion by specifying the address of the target CPU. By doing so, it becomes possible to output the processing result of the target task to the host computer, or to provide input data from the host computer to the target task.

【0015】本発明のシミュレーション装置は、ターゲ
ット計算機上で動作するように作られたターゲットプロ
グラムの動作を、ターゲット計算機と異なる中央処理装
置を有するホスト計算機上でシミュレーションするシミ
ュレーション装置において、ターゲットプログラムが、
ターゲット計算機に固有のレジスタセットを前提とした
ターゲットタスクと、ホスト計算機に固有のレジスタセ
ットを前提としたホストタスクとに分けられており、ホ
スト計算機上に、ターゲットタスクとホストタスクとを
読み込んでシミュレーションを実行するシミュレーショ
ン手段を有し、シミュレーション手段内に、ターゲット
タスクに対応するスタック領域であるターゲットスタッ
クと、ホストスタックに対応するスタック領域であるホ
ストスタックと、ターゲット計算機のレジスタを仮想的
に実現する仮想ターゲットレジスタ部分と、ターゲット
計算機のメモリを仮想的に実現する仮想ターゲットメモ
リ部分と、を有し、ターゲットタスクについては仮想タ
ーゲットレジスタ部分、ターゲットメモリ部分及びター
ゲットスタックを用いてシミュレーションを実行し、ホ
ストタスクについては、ホストスタック及びホスト計算
機の実レジスタを用いてシミュレーションを実行する。
The simulation apparatus of the present invention simulates the operation of a target program created to operate on a target computer on a host computer having a central processing unit different from the target computer.
It is divided into a target task that assumes a register set unique to the target computer and a host task that assumes a register set unique to the host computer.The target task and the host task are read and simulated on the host computer. In the simulation means, and virtually realizes a target stack which is a stack area corresponding to the target task, a host stack which is a stack area corresponding to the host stack, and a register of the target computer in the simulation means. It has a virtual target register part and a virtual target memory part that virtually realizes the memory of the target computer. For the target task, the virtual target register part, the target memory part and the target stack are There was run the simulation, the host task executes simulation using the actual registers of the host stack and the host computer.

【0016】本発明のシミュレーション装置では、ター
ゲットプログラムが複数のタスクから構成される場合に
は、各タスクごとにターゲットタスクとホストタスクが
設けられるようにし、シミュレーション手段内において
はタスクごとにターゲットスタック及びホストスタック
が設けられるようにするとともに、シミュレーション手
段内に、ターゲットスタックを切り替えるターゲットス
タック切り替え手段と、ホストスタックを切り替えるホ
ストスタック切り替え手段とを設け、第1のタスクから
第2のタスクへのタスク切り替えを行う際には、第1の
タスクのターゲットタスク及びホストタスクを待避し、
その後、ターゲットスタック及びホストスタックを同期
させて第1のタスクから第2のタスクに同期して切り替
え、第2のタスクのターゲットタスク及びホストタスク
を復帰させるようにすればよい。
In the simulation apparatus of the present invention, when the target program is composed of a plurality of tasks, a target task and a host task are provided for each task, and a target stack and a host task are provided for each task in the simulation means. A host stack is provided, and a target stack switching means for switching a target stack and a host stack switching means for switching a host stack are provided in the simulation means, and task switching from the first task to the second task is performed. When performing the task, save the target task and the host task of the first task,
Thereafter, the target stack and the host stack may be synchronized to switch from the first task to the second task in synchronization, and the target task and the host task of the second task may be restored.

【0017】さらに本発明のシミュレーション装置で
は、仮想ターゲットメモリ部分のアドレスをホストメモ
リのアドレスに変換するアドレス変換手段を設け、ホス
トタスクあるいはホスト計算機のOSからターゲットC
PUのアドレス指定で仮想ターゲットメモリ部のメモリ
内容を参照できるようにすることで、ターゲットタスク
の処理結果をホスト計算機に出力させたり、ホスト計算
機からターゲットタスクに入力データを与えたりするこ
とが可能になる。
Further, in the simulation apparatus of the present invention, there is provided an address conversion means for converting the address of the virtual target memory portion into the address of the host memory.
By making it possible to refer to the memory contents of the virtual target memory unit by specifying the address of the PU, it is possible to output the processing result of the target task to the host computer or to provide input data from the host computer to the target task. Become.

【0018】《作用》本発明では、シミュレーション対
象のターゲットプログラムが、ターゲット計算機に固有
のレジスタセットを前提とした部分であるターゲットタ
スクと、ホスト計算機に固有のレジスタセットを前提と
した部分であるホストタスクとに分けられているとし
て、ホスト計算機上でこのシミュレーションを行うため
のプロセスであるシミュレーションプロセス内に、ター
ゲット計算機を仮想的に実現する部分(仮想ターゲット
レジスタ部分及びターゲットメモリ部分)の他に、ター
ゲットタスクに対応したスタック領域であるターゲット
スタックとホストタスクに対応したホストスタックとを
設け、ターゲットタスクはターゲット計算機を仮想的に
実現する部分で処理され、ホストタスクはホスト計算機
の実レジスタで処理されるようにしている。このように
構成することにより、ターゲットタスク及びホストタス
クがいずれもホスト計算機のネイティブコードで記述さ
れている場合であっても、コンテクストスイッチに関わ
る問題を回避することができる。
<< Operation >> In the present invention, a target task to be simulated is a target task which is a part based on a register set unique to the target computer, and a host is a part which is based on a register set unique to the host computer. In the simulation process, which is a process for performing this simulation on the host computer, in addition to a portion that virtually realizes the target computer (virtual target register portion and target memory portion), A target stack, which is a stack area corresponding to the target task, and a host stack corresponding to the host task are provided.The target task is processed by the part that virtually realizes the target computer, and the host task is processed by the real registers of the host computer. It is as to be. With this configuration, even when both the target task and the host task are described in the native code of the host computer, it is possible to avoid the problem related to the context switch.

【0019】特に、ターゲットタスクが複数のタスクで
構成されている場合には、各タスクごとにターゲットス
タックとホストスタックを設け、タスク切り替えの際
に、ターゲットスタックとホストスタックとを同期して
切り替えることにより、ターゲットタスクとホストタス
クとを同期させてコンテクストスイッチを行うことがで
き、これによってタスク切り換えを含むシミュレーショ
ンを高速に行うことができるようになる。
In particular, when the target task is composed of a plurality of tasks, a target stack and a host stack are provided for each task, and when the tasks are switched, the target stack and the host stack are switched synchronously. Accordingly, a context switch can be performed by synchronizing the target task and the host task, and thereby a simulation including task switching can be performed at a high speed.

【0020】また、ホストタスクまたはホスト計算機の
OSからターゲットCPUのアドレス指定でのメモリ参
照を可能にしたことで、相互にデータの入出力を行なう
ことができるようになる。
Further, by enabling the host task or the OS of the host computer to refer to the memory by specifying the address of the target CPU, data can be mutually input / output.

【0021】[0021]

【発明の実施の形態】次に、本発明の実施の形態につい
て、図面を参照して説明する。図1は本発明の第1の実
施の形態のシミュレーション装置の構成を示すブロック
図である。
Next, an embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing the configuration of the simulation device according to the first embodiment of the present invention.

【0022】このシミュレーション装置は、ホスト計算
機上に構築されるものであり、ターゲット計算機でのプ
ログラム(ターゲットプログラム)のシミュレーション
を行うものである。ここでは、ターゲットプログラムと
して、複数のタスクが同時に動作するターゲットOSの
シミュレーションを実行するものとする。ホスト計算機
自体は、ターゲット計算機のシミュレーションを行うプ
ロセスを含む複数のプロセスを並行して動作させるホス
トOSによって管理されている。図1は、その全体で、
シミュレーションを実行するホスト計算機を表してい
る。ホスト計算機としては、一般的な計算機システムが
使用されている。以下の説明では、ホスト計算機におい
てホストOSによって管理されるものをプロセスと呼
び、シミュレーション対象のターゲットOSが管理する
ものをタスクと呼ぶことにより、両者を区別するものと
する。
This simulation device is built on a host computer and simulates a program (target program) on a target computer. Here, it is assumed that a simulation of a target OS in which a plurality of tasks operate simultaneously is executed as a target program. The host computer itself is managed by a host OS that operates a plurality of processes including a process for simulating the target computer in parallel. FIG. 1 shows, in its entirety,
This represents a host computer that executes a simulation. A general computer system is used as the host computer. In the following description, what is managed by the host OS in the host computer is called a process, and what is managed by the target OS to be simulated is called a task, so that the two are distinguished from each other.

【0023】ホストCPU10は、ホスト計算機におい
てハードウエアとして構成された中央処理装置(CP
U)であり、ホストCPU10の内部にはホストレジス
タ11が設けられており、このホストレジスタ11は、
ホストCPU10が規定するレジスタセットにより複数
のレジスタから構成されている。ホストレジスタ11を
構成するレジスタのうちの一つは、ホストスタックの位
置を保持するホストスタックポインタ(HSP)12で
ある。当然のことながら、ホストレジスタ11もハード
ウエアで構成されており、実レジスタとなっている。
The host CPU 10 is a central processing unit (CP) configured as hardware in the host computer.
U), a host register 11 is provided inside the host CPU 10, and the host register 11
The host CPU 10 includes a plurality of registers according to a register set. One of the registers constituting the host register 11 is a host stack pointer (HSP) 12 which holds the position of the host stack. As a matter of course, the host register 11 is also configured by hardware and is an actual register.

【0024】上述したように、ホスト計算機上ではシミ
ュレーションプロセス21とその他のプロセス(外部プ
ロセス14)が並行して動作しており、プロセス14,
21の間のCPU使用権の割り振りをホストOS13が
行っている。シミュレーションプロセス21は、シミュ
レーション手段として、ターゲット計算機の動作をシミ
ュレートするプロセスであり、ホストOS13の管理下
にあって通常はホスト計算機の主記憶(主メモリ)ある
いはハードディスク装置などの外部記憶装置上に駐在
し、ホストCPU10によって実行されるものである。
シミュレーションプロセス21の内部には、ホスト計算
機上にターゲットCPUの環境を仮想的に表現すること
によってターゲット計算機を仮想的に実現する仮想ター
ゲット部22が設けられている。
As described above, the simulation process 21 and other processes (external processes 14) are operating in parallel on the host computer.
The host OS 13 allocates the CPU usage right during the period 21. The simulation process 21 is a process for simulating the operation of the target computer as a simulation means. The simulation process 21 is under the control of the host OS 13 and is usually stored on a main memory (main memory) of the host computer or an external storage device such as a hard disk device. It is resident and executed by the host CPU 10.
Inside the simulation process 21, there is provided a virtual target unit 22 that virtually realizes the target computer by virtually expressing the environment of the target CPU on the host computer.

【0025】上述のようにこのシミュレーション装置で
のシミュレーションの対象となるプログラムは、複数の
タスクを切り替えて実行するマルチタスクOSアプリケ
ーションである。ここでは、各タスクは、上述の従来の
技術で述べたものと同様に、ホスト計算機のネイティブ
コードには変換されているがターゲット計算機のメモリ
モデルやレジスタセットに依存している部分(ターゲッ
トタスク28)と、ホストコンピュータのネイティブコ
ードで書かれているとともにホスト計算機のネイティブ
のメモリモデルやレジスタセットを前提とした部分(ホ
ストタスク33)に分離しており、1つのターゲットタ
スク28と1つのホストタスク33とが組をなして1つ
のタスクを構成している。これらターゲットタスク28
及びホストタスク33は、シミュレーションプロセス2
1によってその内部に読み込まれるようになっている。
タスク切り替えの際には、対をなすターゲットタスク2
8とホストタスク33とが同期して切り替えられなけれ
ばならない。
As described above, the program to be simulated by this simulation apparatus is a multitask OS application that switches between a plurality of tasks and executes the tasks. Here, each task is converted to the native code of the host computer, but depends on the memory model and register set of the target computer (target task 28), as in the case of the above-described conventional technology. ) And a part (host task 33) written in the native code of the host computer and based on the native memory model and register set of the host computer. 33 constitute a single task. These target tasks 28
And the host task 33 execute the simulation process 2
1 allows it to be read inside.
When switching tasks, target task 2
8 and the host task 33 must be switched synchronously.

【0026】ターゲットタスク28は、ターゲットCP
Uのアセンブリ言語で記述されたものを例えば1命令ず
つホスト計算機のネイティブコードでの命令に変更する
ことによってそのコードが生成される。なお、ターゲッ
トタスク28は、ターゲット計算機での命令列そのもの
とし、シミュレーション実行時に1命令ずつ解釈してホ
スト計算機での命令に変換するようにしてもよい。一
方、ホストタスク33は、例えば、高級言語で記述され
たソースコードをコンパイルしてホストCPUの機械語
命令に変換することにより、そのコードが生成される。
ホストタスク33から対応するターゲットタスク28が
呼び出されるものとする。図1では、複数のタスクに番
号を付け、ホストタスクHT1〜ホストタスクHTn、
ターゲットタスクTT1〜ターゲットタスクTTnと示
した。
The target task 28 includes a target CP
The code is generated by changing the instruction written in the assembly language of U into an instruction in the native code of the host computer, for example, one instruction at a time. The target task 28 may be an instruction sequence itself in the target computer, and may be interpreted one instruction at a time during simulation execution and converted into an instruction in the host computer. On the other hand, the host task 33 generates the code by compiling, for example, a source code described in a high-level language and converting the source code into a machine language instruction of the host CPU.
It is assumed that the corresponding target task 28 is called from the host task 33. In FIG. 1, a plurality of tasks are numbered, and host tasks HT1 to HTn,
Target tasks TT1 to TTn are shown.

【0027】ところで、タスク切り替え(コンテクスト
スイッチ)は、一般に、現在実行中のタスクのコンテク
ストを待避させ、次に実行すべきタスクのコンテクスト
をCPUに設定することによって行われる。ここでコン
テクストとは、タスクの実行を再開するに足る情報であ
って、例えば、CPUの各内部レジスタの値、プログラ
ムカウンタの値などである。コンテクストスイッチの
際、各タスクのコンテクストはスタックに保存するた
め、タスクごとにスタック領域を設けるようにする。本
実施形態の場合、各タスクには、ターゲットCPUの構
成(メモリモデルやレジスタセット)に依存するターゲ
ットタスク28と、ホストCPU10の構成に依存する
ホストタスク33とがあるので、コンテクストスイッチ
のために各タスクに設けられるスタック領域も、ターゲ
ットスタック27とホストスタック34の2種類があ
る。すなわち、ホストタスクHT1〜ホストタスクHT
nに対応してそれぞれホストスタックHS1〜HSnが
設けられ、ターゲットタスクTT1〜ターゲットタスク
TTnに対応してそれぞれターゲットスタックTS1〜
TSnが設けられている。そして、ターゲットスタック
27を切り替えるためにターゲットスタック切り替え手
段26が設けられ、ホストスタック34を切り替えるた
めにホストスタック切り替え手段31が設けられてい
る。
By the way, task switching (context switch) is generally performed by saving the context of the task currently being executed and setting the context of the task to be executed next in the CPU. Here, the context is information sufficient to restart the execution of the task, and is, for example, a value of each internal register of the CPU, a value of a program counter, or the like. At the time of context switching, the context of each task is stored in the stack, so that a stack area is provided for each task. In the case of the present embodiment, each task includes a target task 28 depending on the configuration of the target CPU (memory model and register set) and a host task 33 depending on the configuration of the host CPU 10. There are two types of stack areas provided for each task, the target stack 27 and the host stack 34. That is, the host task HT1 to the host task HT
n, host stacks HS1 to HSn are provided corresponding to the target tasks TT1 to TTn, respectively.
TSn is provided. Then, a target stack switching means 26 is provided for switching the target stack 27, and a host stack switching means 31 is provided for switching the host stack 34.

【0028】シミュレーションプロセス21には、各タ
ーゲットスタック27、各ターゲットタスク28、各ホ
ストタスク33及び各ホストスタック34のための記憶
領域と、ターゲットスタック切り替え手段26と、ホス
トスタック切り替え手段31とが設けられるのである
が、ターゲットスタック切り替え手段26、ターゲット
スタック27及びターゲットタスク28は、ターゲット
CPUのメモリモデルやレジスタセットを前提としたも
のであるため、上述した仮想ターゲット部22内に配置
される。仮想ターゲット部22は、ターゲットスタック
切り替え手段26、ターゲットスタック27及びターゲ
ットタスク28の他に、ターゲットCPUのレジスタセ
ットに対応するターゲットレジスタ23(仮想ターゲッ
トレジスタ部分)と、ターゲットCPUの主メモリを摸
倣しコンテクストスイッチにより実行中とされたターゲ
ットタスク28がロードされることになるターゲットメ
モリ25(仮想ターゲットメモリ部分)とを含み、ター
ゲットレジスタ23の中には、ターゲットCPUのスタ
ックポインタの位置を保持するターゲットスタックポイ
ンタ(TSP)24が設けられている。ターゲットレジ
スタ23は、ホストレジスタ11とは異なり、シミュレ
ーションプロセス21の一部として、そのワーク領域内
にソフトウエアによって実現されている。
The simulation process 21 includes storage areas for each target stack 27, each target task 28, each host task 33, and each host stack 34, target stack switching means 26, and host stack switching means 31. However, since the target stack switching means 26, the target stack 27, and the target task 28 are based on the memory model and the register set of the target CPU, they are arranged in the virtual target unit 22 described above. The virtual target unit 22 simulates a target register 23 (virtual target register portion) corresponding to a register set of the target CPU, and a main memory of the target CPU, in addition to the target stack switching unit 26, the target stack 27, and the target task 28. And a target memory 25 (virtual target memory portion) into which the target task 28 executed by the context switch is to be loaded. The target register 23 holds the position of the stack pointer of the target CPU. A target stack pointer (TSP) 24 is provided. The target register 23, unlike the host register 11, is realized by software in a work area thereof as a part of the simulation process 21.

【0029】ターゲットタスク28がターゲット計算機
での命令列をそのまま保持したものであるような場合に
は、仮想ターゲット部22の内部に、ターゲット計算機
の命令を解釈しホストCPUでのネイティブコードに変
換して実行する部分を設けるようにすればよい。
In the case where the target task 28 directly retains the instruction sequence in the target computer, the instruction of the target computer is interpreted in the virtual target section 22 and converted into native code in the host CPU. It is sufficient to provide a part to be executed.

【0030】ホストスタック切り替え手段31、ホスト
タスク33及びホストスタック34は、ホストメモリ3
2ともに、シミュレーションプロセス22において、仮
想ターゲット部22の外部に配置される。ここでホスト
メモリ32は、コンテクストスイッチにより実行中とさ
れたホストタスク33がロードされることになる領域で
あり、ホスト計算機の主メモリの中のシミュレーション
プロセス21が使用することになるメモリ領域の中に確
保される。
The host stack switching means 31, the host task 33 and the host stack 34
2 are arranged outside the virtual target unit 22 in the simulation process 22. Here, the host memory 32 is an area in which the host task 33 which is being executed by the context switch is to be loaded, and in the memory area to be used by the simulation process 21 in the main memory of the host computer. Is secured.

【0031】次に、このシミュレーション装置におい
て、シミュレーション対象のターゲットOSプログラム
でのコンテクストスイッチ(タスク切り替え)を行う際
の処理について説明する。図2は、このコンテクストス
イッチの処理を説明するフローチャートであり、ここで
は、第1のタスクから第2のタスクへと切り換えるもの
とする。
Next, a description will be given of a process of performing a context switch (task switching) in a target OS program to be simulated in the simulation apparatus. FIG. 2 is a flowchart for explaining the processing of the context switch. Here, it is assumed that the first task is switched to the second task.

【0032】コンテクストスイッチの前には、ホストレ
ジスタ11やターゲットレジスタ23の内容は第1のタ
スクに関するものであり、また、ホストスタックポイン
タ12は第1のタスクに対応するホストスタック34内
を指し、ターゲットスタックポインタ24は第1のタス
クに対応するターゲットスタック27内を指している。
そこでコンテクストスイッチを行う際には、まず、ター
ゲットレジスタを待避し(ステップ101)、ホストレ
ジスタを待避し(ステップ102)、次に、第1のタス
クから第2のタスクにホストスタック34を切り替え
(ステップ103)、第2のタスク分のホストレジスタ
を復帰させ(ステップ104)、同様に、第1のタスク
から第2のタスクにターゲットスタック27を切り替え
(ステップ105)、第2のタスク分のターゲットレジ
スタを復帰させる(ステップ106)。以上の操作によ
り、ホストレジスタ11やターゲットレジスタ23の内
容が第2のタスクに関するものとなり、また、各スタッ
クポインタ12,24が第2のタスクにそれぞれ対応す
るターゲットスタック34,27内を指すようになっ
て、コンテクストスイッチが完了する。
Before the context switch, the contents of the host register 11 and the target register 23 relate to the first task, and the host stack pointer 12 points in the host stack 34 corresponding to the first task. The target stack pointer 24 points in the target stack 27 corresponding to the first task.
Therefore, when performing a context switch, first, the target register is saved (step 101), the host register is saved (step 102), and then the host stack 34 is switched from the first task to the second task ( (Step 103), the host registers for the second task are restored (Step 104), and similarly, the target stack 27 is switched from the first task to the second task (Step 105), and the target for the second task is changed. The register is restored (step 106). By the above operation, the contents of the host register 11 and the target register 23 are related to the second task, and the stack pointers 12 and 24 are pointed in the target stacks 34 and 27 corresponding to the second task. And the context switch is completed.

【0033】図3は、コンテクスト切り替え時のスタッ
ク動作を表わした図である。ここでは、タスク1とタス
ク2の二つのタスクがあり、タスク1はホストタスクta
sk1とターゲットタスクfunc11,func12からなり、タスク
2はホストタスクtask2とターゲットタスクfunc21,func
22からなっている。そしてタスク1では、ホストタスク
task1からターゲットタスクfunc11,func12を呼び出すも
のとし、タスク2ではホストタスクtask2からターゲッ
トタスクfunc21,func22を呼び出すものとする。
FIG. 3 is a diagram showing a stack operation at the time of context switching. Here, there are two tasks, task 1 and task 2, and task 1 is a host task ta.
sk1 and target tasks func11 and func12. Task 2 is a host task task2 and target tasks func21 and func.
Consists of 22. And in task 1, the host task
In task 1, target tasks func11 and func12 are called, and in task 2, target tasks func21 and func22 are called from host task task2.

【0034】ここで、図3の(1)で示すように、task1の
func11から復帰する際にtask2へのコンテクストスイッ
チが起こったとする。このとき、タスク1のホストスタ
ックにはtask1のスタックフレームframe1h、ターゲット
スタックにはfunc11のスタックフレームframe11tがあ
る。ただし、func11から復帰する際にframe11tは解放さ
れている。
Here, as shown in (1) of FIG.
Assume that a context switch to task2 occurs when returning from func11. At this time, the host frame of task 1 has a stack frame frame1h of task1 and the target stack has a stack frame frame11t of func11. However, when returning from func11, frame11t is released.

【0035】一方、タスク2では、前回のコンテクスト
スイッチによって待避するまでに図3の(2)の箇所までt
ask2が進んでいたとすると、タスク2のホストスタック
にはtask2のスタックフレームframe2h、ターゲットスタ
ックにはfunc22のスタックフレームframe22tが保持され
ている。したがって、両方のスタックを切り替えてホス
トレジスタおよび仮想的なターゲットレジスタを復帰す
ることで、タスク全体のコンテクストをタスク1からタ
スク2へと切り替えることができる。
On the other hand, in the task 2, t is taken to the position (2) in FIG.
Assuming that ask2 has advanced, the host frame of task 2 holds the stack frame frame2h of task2, and the target stack holds the stack frame frame22t of func22. Therefore, by switching both stacks and restoring the host register and the virtual target register, the context of the entire task can be switched from task 1 to task 2.

【0036】以上説明したシミュレーション装置は、シ
ミュレーションプロセス21に対応する計算機プログラ
ムをホスト計算機に相当する計算機システムに読み込ま
せ、この計算機プログラムを実行することによっても、
実現できる。図4は、シミュレーション装置をソフトウ
ェアにより実現するための計算機システムの構成を示す
ブロック図である。
The simulation apparatus described above reads a computer program corresponding to the simulation process 21 into a computer system corresponding to a host computer, and executes the computer program.
realizable. FIG. 4 is a block diagram showing a configuration of a computer system for realizing the simulation device by software.

【0037】この計算機システムは、ホストOS13に
よって動作制御がなされるものであり、ホストCPU1
0に対応する中央処理装置(CPU)51と、プログラ
ムやデータを格納するためのハードディスク装置52
と、主メモリ53と、キーボードやマウスなどの入力装
置54と、CRTなどの表示装置55と、磁気テープや
CD−ROM等の記録媒体57を読み取る読み取り装置
56とから構成されている。ハードディスク装置52、
主メモリ53、入力装置54、表示装置55及び読み取
り装置56は、いずれも中央処理装置51に接続してい
る。シミュレーションプロセス21に対応するプログラ
ムを格納した記録媒体57を読み取り装置56に装着
し、記録媒体57からプログラムを読み出してハードデ
ィスク装置52に格納し、ハードディスク装置52に格
納されたプログラムを中央処理装置51が実行すること
により、上述したシミュレーションが実行される。すな
わち、このプログラムを実行することにより、上述した
シミュレーションプロセス21がホスト計算機上に生成
するとともに、このシミュレーションプロセス21での
初期化処理により、シミュレーションプロセス21の内
部に、各スタック27、33やターゲットタスク28、
ホストメモリ32、ホストタスク33のための領域が確
保され、ターゲットレジスタ23やターゲットメモリ2
5、ターゲットスタック切り替え手段26、ホストスタ
ック切り替え手段31が生成する。そして初期化処理の
後、シミュレーションプロセス21によって、ターゲッ
ト計算機のシミュレーションが実行され、上述した手順
によるタスク切り替えが実行される。
The operation of this computer system is controlled by the host OS 13.
And a hard disk device 52 for storing programs and data.
A main memory 53, an input device 54 such as a keyboard and a mouse, a display device 55 such as a CRT, and a reading device 56 that reads a recording medium 57 such as a magnetic tape or a CD-ROM. Hard disk drive 52,
The main memory 53, the input device 54, the display device 55, and the reading device 56 are all connected to the central processing unit 51. The recording medium 57 storing the program corresponding to the simulation process 21 is attached to the reading device 56, the program is read from the recording medium 57 and stored in the hard disk device 52, and the program stored in the hard disk device 52 is read by the central processing unit 51. By executing, the simulation described above is executed. That is, by executing this program, the above-described simulation process 21 is generated on the host computer, and the initialization process in the simulation process 21 causes the stacks 27 and 33 and the target task 28,
Areas for the host memory 32 and the host task 33 are secured, and the target register 23 and the target memory 2 are allocated.
5, generated by the target stack switching means 26 and the host stack switching means 31. Then, after the initialization processing, the simulation of the target computer is executed by the simulation process 21 and the task switching according to the above-described procedure is executed.

【0038】次に、本発明の第2の実施の形態について
説明する。図5は、本発明の第2の実施の形態のシミュ
レーション装置を示している。第2の実施の形態のシミ
ュレーション装置は、シミュレーションプロセス21に
おいて、ターゲットメモリ25がホストメモリ32の中
に含まれている点と、ターゲットメモリ25でのアドレ
スをホスト計算機でのアドレスに変換するアドレス変換
手段60を設けた点で、図1に示す第1の実施の形態の
シミュレーション装置と異なっている。
Next, a second embodiment of the present invention will be described. FIG. 5 shows a simulation device according to the second embodiment of the present invention. In the simulation apparatus according to the second embodiment, in the simulation process 21, the point that the target memory 25 is included in the host memory 32 and the address conversion for converting the address in the target memory 25 to the address in the host computer. The point that the means 60 is provided is different from the simulation apparatus of the first embodiment shown in FIG.

【0039】図6は、ターゲットCPUとホストCPU
のアドレス空間におけるターゲットメモリ25とホスト
メモリ32の構成の一例である。ターゲットCPUはタ
ーゲットメモリ空間70として0からx番地まで、ホス
トCPUは、ホストメモリ空間71として0からy番地
までのアドレス範囲をとるものとする。x,yの値はC
PUによって異なるが、両者は一致していてもよいし一
致していなくてもよい。また、ターゲットメモリ空間7
0は、シミュレーション対象であるターゲットCPUが
提供する空間であり、本シミュレーション装置上では仮
想的に取り扱われるものである。
FIG. 6 shows a target CPU and a host CPU.
Is an example of the configuration of the target memory 25 and the host memory 32 in the address space of FIG. The target CPU takes the address range from 0 to x as the target memory space 70, and the host CPU takes the address range from 0 to y as the host memory space 71. x and y values are C
Although they differ depending on the PU, they may or may not match. Also, the target memory space 7
Numeral 0 is a space provided by the target CPU to be simulated, and is virtually handled on the simulation apparatus.

【0040】さて、第1の実施の形態で説明した通り、
シミュレーションプロセス21ではシミュレーション対
象プログラムがターゲットタスク28およびホストタス
ク33の2つの部分に別れており、それぞれターゲット
メモリ25およびホストメモリ32をアクセスする。そ
の際、それぞれターゲットメモリ空間70およびホスト
メモリ空間71を想定してアドレスを指定するため、相
互にメモリ内容をやり取りするにはアドレスの変換が必
要となる。ただし、ターゲットタスク28は、本来、タ
ーゲット計算機で動作するものなので、これをシミュレ
ーションのために変更することはできない。したがっ
て、前記のアドレス変換は、ターゲットタスク28の外
で行なわなければならない。
Now, as described in the first embodiment,
In the simulation process 21, the simulation target program is divided into two parts, a target task 28 and a host task 33, and accesses the target memory 25 and the host memory 32, respectively. At this time, the addresses are specified by assuming the target memory space 70 and the host memory space 71, respectively. Therefore, address exchange is necessary to exchange memory contents with each other. However, since the target task 28 originally operates on the target computer, it cannot be changed for simulation. Therefore, the address translation must be performed outside the target task 28.

【0041】ここで、ターゲットタスク28がターゲッ
トメモリ空間上の領域(1)(T〜T)と領域(2)(T
〜T)を利用し、ホストタスク33がホストメモリ
空間71のホスト領域(H〜H)を利用するものとす
る。このとき、領域(1)および領域(2)の実体をホスト
メモリ空間上のターゲット領域(1)(T'〜T')およ
びターゲット領域(2)(T'〜T')に配置すると、例
えば領域(1)のアドレスaへのアクセスはターゲット領
域(1)上のアドレスa’(=a+T'−T)へのア
クセスに相当することになる。
Here, the target task 28 determines whether the area (1) (T 1 to T 2 ) and the area (2) (T
3 to T 4 ), and the host task 33 uses the host area (H 1 to H 2 ) of the host memory space 71. At this time, in the region (1) and region (2) the entity of the target area on the host memory space (1) (T 1 'through T 2') and the target area (2) (T 3 '~T 4') placing, for example, access to the address a of the area (1) will correspond to access to the address on the target area (1) a '(= a + T 1' -T 1).

【0042】アドレス変換手段60は、ホストタスク3
3からターゲットメモリ25へのアクセス要求が発生し
た場合に、要求されたアドレスを上述のように変換して
ホストメモリ空間71に対応付けるものである。このア
ドレス変換手段60により、ホストタスク33は、ター
ゲットメモリ空間70にターゲットCPUのアドレス指
定でアクセスでき、ターゲットタスク28と相互にメモ
リ内容のやり取りを行なうことができるようになる。
The address conversion means 60 is a host task 3
When a request for access to the target memory 25 is issued from the server 3, the requested address is converted as described above and associated with the host memory space 71. With this address conversion means 60, the host task 33 can access the target memory space 70 by specifying the address of the target CPU, and can exchange memory contents with the target task 28.

【0043】次に、本実施の形態のシミュレーション装
置の動作を説明する。
Next, the operation of the simulation apparatus according to the present embodiment will be described.

【0044】図2及び図3で示されるタスクのコンテク
スト切り替えに関する動作は、本実施の形態においても
第1の実施の形態と同一であるため説明は省略し、アド
レス変換手段60の動作について、図7を参照して説明
する。
The operation relating to the context switching of the tasks shown in FIGS. 2 and 3 is the same as that of the first embodiment in this embodiment, and therefore the description thereof is omitted. This will be described with reference to FIG.

【0045】まず、ホストタスク33がターゲットメモ
リ空間70内のa番地へのアクセスを要求する(ステッ
プ110)。要求を受けたアドレス変換手段60は、上
述したようなアドレスの変換を行ない、ホストメモリ空
間71でのアクセスアドレスa’を求める(ステップ1
11)。次に、ステップ112において、a’番地から
データを読み込み、これを要求元のホストタスク33に
転送する(ステップ113)。この動作により、ホスト
タスク33は、ターゲットメモリ空間70内の任意のア
ドレスからデータを取得することが可能となる。
First, the host task 33 requests access to address a in the target memory space 70 (step 110). Upon receiving the request, the address conversion means 60 performs the above-described address conversion to obtain an access address a 'in the host memory space 71 (step 1).
11). Next, in step 112, data is read from the address a 'and transferred to the requesting host task 33 (step 113). With this operation, the host task 33 can acquire data from an arbitrary address in the target memory space 70.

【0046】例えば、図6に示すターゲットメモリ空間
70の領域(1)がシミュレーション対象プログラム中で
画像記憶領域に割り当てられている場合、ホストタスク
33は、上述の方法を用いてターゲット領域(1)にアク
セスし、その内容をホストOS13を介して前述の計算
機システムにおける表示装置55に表示することができ
る。つまり、ターゲットタスクがターゲットメモリ空間
70の領域(1)に施した変更が、シミュレーション結果
としてホスト計算機システムの表示出力に表われること
になる。
For example, when the area (1) of the target memory space 70 shown in FIG. 6 is allocated to the image storage area in the program to be simulated, the host task 33 uses the above-described method to execute the target area (1). And the contents can be displayed on the display device 55 in the computer system via the host OS 13. That is, the change made by the target task to the area (1) of the target memory space 70 appears on the display output of the host computer system as a simulation result.

【0047】なお、ここでは、ホストOS13がホスト
タスク33を介してターゲットメモリ空間70から表示
内容を取得するものとしたが、ホストOS13が直接ア
ドレス変換手段60を呼び出し、ターゲットメモリ空間
70の特定の領域の内容を読み出して表示を行なうよう
にしてもよい。また、ここでは、ターゲットタスクの動
作結果をホスト計算機システムの表示装置に出力すると
したが、逆にホスト計算機システムから何らかの入力を
与え、これをターゲットタスクの動作に反映させる、つ
まり、ホスト計算機システムからターゲットタスクに入
力データを与えるという形態も可能である。
Here, it is assumed that the host OS 13 acquires display contents from the target memory space 70 via the host task 33. However, the host OS 13 directly calls the address conversion means 60 to specify the specific contents of the target memory space 70. The contents of the area may be read and displayed. Also, here, the operation result of the target task is output to the display device of the host computer system.On the contrary, some input is given from the host computer system, and this is reflected in the operation of the target task, that is, from the host computer system, A form in which input data is provided to the target task is also possible.

【0048】この第2の実施の形態のシミュレーション
装置も、第1の実施の形態のシミュレーション装置と同
様に、シミュレーションプロセス21に対応する計算機
プログラムをホスト計算機に相当する計算機システム
(例えば図4参照)に読み込ませ、その計算機プログラ
ムを実行することによっても実現できる。
In the simulation device of the second embodiment, similarly to the simulation device of the first embodiment, a computer program corresponding to the simulation process 21 is converted into a computer system corresponding to a host computer (for example, see FIG. 4). And executing the computer program.

【0049】[0049]

【発明の効果】以上説明したように本発明は、ホスト計
算機上でシミュレーションを行うためのプロセスである
シミュレーションプロセス内に、ターゲット計算機を仮
想的に実現する部分(仮想ターゲットレジスタ部分及び
ターゲットメモリ部分)の他に、ターゲットタスクに対
応したスタック領域であるターゲットスタックとホスト
タスクに対応したホストスタックとを設けることによ
り、ターゲットタスク及びホストタスクがいずれもホス
ト計算機のネイティブコードで記述されている場合であ
っても、コンテクストスイッチに関わる問題を回避する
ことができるようになるという効果がある。特に、ター
ゲットタスクが複数のタスクで構成されている場合に
は、各タスクごとにターゲットスタックとホストスタッ
クを設け、タスク切り替えの際に、ターゲットスタック
とホストスタックとを同期して切り替えることにより、
ターゲットタスクとホストタスクとを同期させてコンテ
クストスイッチを行うことができ、これによってタスク
切り換えを含むシミュレーションを高速に行うことがで
きるようになるという効果がある。
As described above, according to the present invention, a part (virtual target register part and target memory part) that virtually realizes a target computer is included in a simulation process for performing a simulation on a host computer. In addition, by providing a target stack that is a stack area corresponding to the target task and a host stack corresponding to the host task, both the target task and the host task are described in the native code of the host computer. However, there is an effect that a problem related to a context switch can be avoided. In particular, when the target task is composed of a plurality of tasks, a target stack and a host stack are provided for each task, and when the tasks are switched, the target stack and the host stack are switched synchronously.
The context switch can be performed by synchronizing the target task and the host task, which has the effect that simulation including task switching can be performed at high speed.

【0050】さらに、仮想ターゲットメモリ部分のアド
レスをホスト計算機でのアドレスに変換するアドレス変
換手段を設けた場合には、上記のタスク切り替えを含む
高速なシミュレーションを可能にするという効果に加え
て、ターゲットCPU固有のメモリ空間に配置されてい
るメモリ領域にホストタスクあるいはホストOSからア
クセスできるようになって、ターゲットタスクとホスト
タスクあるいはホストOSがターゲットメモリ空間にお
いてメモリ内容を相互にやり取りできるようになるとい
う効果も生じる。
Further, when address translation means for translating the address of the virtual target memory portion into an address in the host computer is provided, in addition to the effect of enabling high-speed simulation including the task switching, the target The host task or the host OS can access the memory area arranged in the CPU-specific memory space, and the target task and the host task or the host OS can exchange memory contents in the target memory space. An effect also occurs.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の第1の実施の形態のシミュレーション
装置の構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a simulation device according to a first embodiment of the present invention.

【図2】図1のシミュレーション装置におけるコンテク
ストスイッチの処理を説明するフローチャートである。
FIG. 2 is a flowchart illustrating processing of a context switch in the simulation apparatus of FIG. 1;

【図3】コンテクストスイッチ時のスタック動作を模式
的に示す図である。
FIG. 3 is a diagram schematically illustrating a stack operation at the time of a context switch.

【図4】本発明のシミュレーション方法を実行するため
に使用される計算機システムの構成の一例を示すブロッ
ク図である。
FIG. 4 is a block diagram showing an example of a configuration of a computer system used to execute a simulation method of the present invention.

【図5】本発明の第2の実施の形態のシミュレーション
装置の構成を示すブロック図である。
FIG. 5 is a block diagram showing a configuration of a simulation device according to a second embodiment of the present invention.

【図6】図5のシミュレーション装置におけるターゲッ
トメモリ空間とホストメモリ空間との関係を示す図であ
る。
FIG. 6 is a diagram illustrating a relationship between a target memory space and a host memory space in the simulation device of FIG. 5;

【図7】図5のシミュレーション装置におけるアドレス
変換手段の処理を説明するフローチャートである。
FIG. 7 is a flowchart illustrating a process of an address translation unit in the simulation device of FIG. 5;

【符号の説明】[Explanation of symbols]

10 ホストCPU 11 ホストレジスタ 12 ホストスタックポインタ 13 ホストOS 14 外部プロセス 21 シミュレーションプロセス 22 仮想ターゲット部 23 ターゲットレジスタ 24 ターゲットスタックポインタ 25 ターゲットメモリ 26 ターゲットスタック切り替え手段 27 ターゲットスタック 28 ターゲットタスク 31 ホストスタック切り替え手段 32 ホストメモリ 33 ホストタスク 34 ホストスタック 51 中央処理装置(CPU) 52 ハードディスク装置 53 主メモリ 54 入力装置 55 表示装置 56 読み取り装置 57 記録媒体 60 アドレス変換手段 70 ターゲットメモリ空間 71 ホストメモリ空間 101〜106,110〜113 ステップ DESCRIPTION OF SYMBOLS 10 Host CPU 11 Host register 12 Host stack pointer 13 Host OS 14 External process 21 Simulation process 22 Virtual target part 23 Target register 24 Target stack pointer 25 Target memory 26 Target stack switching means 27 Target stack 28 Target task 31 Host stack switching means 32 Host memory 33 Host task 34 Host stack 51 Central processing unit (CPU) 52 Hard disk device 53 Main memory 54 Input device 55 Display device 56 Reading device 57 Recording medium 60 Address conversion means 70 Target memory space 71 Host memory space 101 to 106, 110 ~ 113 steps

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 9/455 G06F 9/46 ──────────────────────────────────────────────────続 き Continued on front page (58) Field surveyed (Int.Cl. 7 , DB name) G06F 9/455 G06F 9/46

Claims (10)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 ターゲット計算機上で動作するように作
られたターゲットプログラムの動作を、前記ターゲット
計算機と異なる中央処理装置を有するホスト計算機上で
シミュレーションするシミュレーション方法において、 前記ターゲットプログラムが、前記ターゲット計算機に
固有のレジスタセットを前提とした部分であるターゲッ
トタスクと、前記ホスト計算機に固有のレジスタセット
を前提とした部分であるホストタスクとに分けられてお
り、 前記ホスト計算機上に、前記ターゲットタスクと前記ホ
ストタスクとを配置し、 前記ホスト計算機上に、前記ターゲット計算機のレジス
タを仮想的に実現する仮想ターゲットレジスタ部分と、
前記ターゲット計算機のメモリを仮想的に実現する仮想
ターゲットメモリ部分と、前記ターゲットタスクに対応
するスタック領域であるターゲットスタックと、前記ホ
ストタスクに対応するスタック領域であるホストスタッ
クとを設定し、 前記ターゲットタスクについては前記仮想ターゲットレ
ジスタ部分、前記仮想ターゲットメモリ部分及び前記タ
ーゲットスタックを用いてシミュレーションを実行し、
前記ホストタスクについては、前記ホストスタック及び
前記ホスト計算機の実レジスタを用いてシミュレーショ
ンを実行することを特徴とするシミュレーション方法。
1. A simulation method for simulating an operation of a target program created to operate on a target computer on a host computer having a central processing unit different from the target computer, wherein the target program is executed by the target computer. Are divided into a target task, which is a part based on a register set specific to the host computer, and a host task, which is a part based on a register set specific to the host computer. A virtual target register portion that arranges the host task and virtually realizes a register of the target computer on the host computer;
Setting a virtual target memory portion that virtually realizes the memory of the target computer, a target stack that is a stack area corresponding to the target task, and a host stack that is a stack area corresponding to the host task; For the task, execute a simulation using the virtual target register portion, the virtual target memory portion and the target stack,
A simulation method for the host task, wherein a simulation is performed using the host stack and real registers of the host computer.
【請求項2】 前記ターゲットプログラムをそれぞれ前
記ターゲットタスクと前記ホストタスクとからなる複数
のタスクから構成し、前記各タスクごとに、前記ターゲ
ットスタックと前記ホストスタックを設ける請求項1に
記載のシミュレーション方法。
2. The simulation method according to claim 1, wherein the target program includes a plurality of tasks each including the target task and the host task, and the target stack and the host stack are provided for each of the tasks. .
【請求項3】 第1のタスクから第2のタスクへのタス
ク切り替えを行う際に、前記第1のタスクのターゲット
タスク及びホストタスクを待避し、その後、前記ターゲ
ットスタック及び前記ホストスタックを同期させて前記
第1のタスクから前記第2のタスクに切り替え前記第2
のタスクのターゲットタスク及びホストタスクを復帰さ
せる、請求項2に記載のシミュレーション方法。
3. When a task is switched from a first task to a second task, a target task and a host task of the first task are saved, and then the target stack and the host stack are synchronized. Switching from the first task to the second task
3. The simulation method according to claim 2, wherein the target task and the host task of the first task are returned.
【請求項4】 前記仮想ターゲットメモリ部分のアドレ
スをホスト計算機でのアドレスに変換し、ホストタスク
から前記仮想ターゲットメモリ部分へのアクセスを可能
にした請求項1乃至3いずれか1項に記載のシミュレー
ション方法。
4. The simulation according to claim 1, wherein an address of said virtual target memory portion is converted into an address in a host computer, so that a host task can access said virtual target memory portion. Method.
【請求項5】 前記ターゲットタスクが、前記ターゲッ
ト計算機の命令体系による命令列を前記ホスト計算機の
ネイティブコードによる命令列に変換したものであり、
前記ホストタスクが、前記ホスト計算機と前記ターゲッ
ト計算機とに共通に使用される高級言語によって書かれ
たソースコードから、コンパイルによって前記ホスト計
算機のネイティブコードに変換されたものである、請求
項1乃至4いずれか1項に記載のシミュレーション方
法。
5. The target task is a program in which an instruction sequence based on an instruction system of the target computer is converted into an instruction sequence based on a native code of the host computer.
5. The host task, wherein a source code written in a high-level language commonly used by the host computer and the target computer is converted into a native code of the host computer by compilation. 6. The simulation method according to claim 1.
【請求項6】 ターゲット計算機上で動作するように作
られたターゲットプログラムの動作を、前記ターゲット
計算機と異なる中央処理装置を有するホスト計算機上で
シミュレーションするシミュレーション装置において、 前記ターゲットプログラムが、前記ターゲット計算機に
固有のレジスタセットを前提としたターゲットタスク
と、前記ホスト計算機に固有のレジスタセットを前提と
したホストタスクとに分けられており、 前記ホスト計算機上に、前記ターゲットタスクと前記ホ
ストタスクとを読み込んで前記シミュレーションを実行
するシミュレーション手段を有し、 前記シミュレーション手段内に、前記ターゲットタスク
に対応するスタック領域であるターゲットスタックと、
前記ホストスタックに対応するスタック領域であるホス
トスタックと、前記ターゲット計算機のレジスタを仮想
的に実現する仮想ターゲットレジスタ部分と、前記ター
ゲット計算機のメモリを仮想的に実現する仮想ターゲッ
トメモリ部分と、を有し、 前記ターゲットタスクについては前記仮想ターゲットレ
ジスタ部分、前記仮想ターゲットメモリ部分及び前記タ
ーゲットスタックを用いてシミュレーションを実行し、
前記ホストタスクについては、前記ホストスタック及び
前記ホスト計算機の実レジスタを用いてシミュレーショ
ンを実行することを特徴とするシミュレーション装置。
6. A simulation apparatus for simulating the operation of a target program created to operate on a target computer on a host computer having a central processing unit different from the target computer, wherein the target program is configured to execute the target computer. Are divided into a target task that assumes a register set unique to the host computer and a host task that assumes a register set unique to the host computer.The target task and the host task are read on the host computer. A simulation unit that executes the simulation in the simulation unit, and a target stack that is a stack area corresponding to the target task in the simulation unit;
A host stack that is a stack area corresponding to the host stack; a virtual target register portion that virtually realizes a register of the target computer; and a virtual target memory portion that virtually realizes a memory of the target computer. Performing a simulation using the virtual target register portion, the virtual target memory portion, and the target stack for the target task;
The simulation apparatus according to claim 1, wherein the host task performs a simulation using the host stack and real registers of the host computer.
【請求項7】 前記ターゲットプログラムが複数のタス
クから構成されて各タスクごとに前記ターゲットタスク
と前記ホストタスクが設けられ、 前記シミュレーション手段内に、前記タスクごとに設け
られた前記ターゲットスタック及び前記ホストスタック
と、前記ターゲットスタックを切り替えるターゲットス
タック切り替え手段と、前記ホストスタックを切り替え
るホストスタック切り替え手段とを有し、 第1のタスクから第2のタスクへのタスク切り替えを行
う際に、前記第1のタスクのターゲットタスク及びホス
トタスクを待避し、その後、前記ターゲットスタック及
び前記ホストスタックを同期させて前記第1のタスクか
ら前記第2のタスクに切り替え前記第2のタスクのター
ゲットタスク及びホストタスクを復帰させる、請求項6
に記載のシミュレーション装置。
7. The target program is composed of a plurality of tasks, the target task and the host task are provided for each task, and the target stack and the host provided for each task in the simulation means. A stack, a target stack switching unit for switching the target stack, and a host stack switching unit for switching the host stack, wherein when the task switching from the first task to the second task is performed, the first Save the target task and the host task of the task, and then synchronize the target stack and the host stack to switch from the first task to the second task and return the target task and the host task of the second task Claim
A simulation device according to claim 1.
【請求項8】 前記シミュレーション手段内に、前記仮
想ターゲットメモリ部分のアドレスをホスト計算機での
アドレスに変換するアドレス変換手段をさらに有し、ホ
ストタスクからの前記仮想ターゲットメモリ部分へのア
クセスを可能にした請求項6または7に記載のシミュレ
ーション装置。
8. The simulation means further comprises an address conversion means for converting an address of the virtual target memory portion into an address in a host computer, so that a host task can access the virtual target memory portion. The simulation device according to claim 6 or 7, wherein:
【請求項9】 ターゲット計算機上で動作するように作
られたターゲットプログラムの動作を、前記ターゲット
計算機と異なる中央処理装置を有するホスト計算機上で
シミュレーションするためのプログラムを格納し、前記
ホスト計算機が読み取り可能である記録媒体において、 前記ターゲットプログラムが、前記ターゲット計算機に
固有のレジスタセットを前提とした部分であるターゲッ
トタスクと、前記ホスト計算機に固有のレジスタセット
を前提とした部分であるホストタスクとに分けられてお
り、 前記ホスト計算機に、 前記ターゲット計算機のレジスタを仮想的に実現する仮
想ターゲットレジスタ部分と、前記ターゲット計算機の
メモリを仮想的に実現する仮想ターゲットメモリ部分
と、前記ターゲットタスクに対応するスタック領域であ
るターゲットスタックと、前記ホストタスクに対応する
スタック領域であるホストスタックとを設定する工程
と、 前記ターゲットタスクについては前記仮想ターゲットレ
ジスタ部分、前記仮想ターゲットメモリ部分及び前記タ
ーゲットスタックを用いてシミュレーションを実行し、
前記ホストタスクについては、前記ホストスタック及び
前記ホスト計算機の実レジスタを用いてシミュレーショ
ンを実行する工程と、 を実行させるプログラムを格納したことを特徴とする記
録媒体。
9. A program for simulating the operation of a target program created to operate on a target computer on a host computer having a central processing unit different from the target computer, and read by the host computer. In a possible recording medium, the target program is divided into a target task which is a part based on a register set specific to the target computer, and a host task which is a part based on a register set specific to the host computer. The host computer corresponds to a virtual target register portion that virtually realizes a register of the target computer, a virtual target memory portion that virtually realizes a memory of the target computer, and corresponds to the target task. Stack area Setting a target stack that is an area and a host stack that is a stack area corresponding to the host task; and simulating the target task using the virtual target register portion, the virtual target memory portion, and the target stack. Run
A storage medium storing a program for executing, for the host task, a simulation using the real registers of the host stack and the host computer;
【請求項10】 ターゲット計算機上で動作するように
作られたターゲットプログラムの動作を、前記ターゲッ
ト計算機と異なる中央処理装置を有するホスト計算機上
でシミュレーションするためのプログラムを格納し、前
記ホスト計算機が読み取り可能である記録媒体におい
て、 前記ターゲットプログラムが複数のタスクから構成さ
れ、前記各タスクがそれぞれ前記ターゲット計算機に固
有のレジスタセットを前提とした部分であるターゲット
タスクと、前記ホスト計算機に固有のレジスタセットを
前提とした部分であるホストタスクとに分けられてお
り、 前記ホスト計算機に、 前記ターゲット計算機のレジスタを仮想的に実現する仮
想ターゲットレジスタ部分と、前記ターゲット計算機の
メモリを仮想的に実現する仮想ターゲットメモリ部分
と、前記ターゲットタスクごとに当該ターゲットタスク
に対応するスタック領域であるターゲットスタックと、
前記ホストタスクごとに当該ホストタスクに対応するス
タック領域であるホストスタックとを設定する工程と、 前記ターゲットタスクについては前記仮想ターゲットレ
ジスタ部分、前記仮想ターゲットメモリ部分及び前記タ
ーゲットスタックを用いてシミュレーションを実行し、
前記ホストタスクについては、前記ホストスタック及び
前記ホスト計算機の実レジスタを用いてシミュレーショ
ンを実行する工程と、 第1のタスクのターゲットタスク及びホストタスクを待
避し、その後、前記ターゲットスタック及び前記ホスト
スタックを同期させて前記第1のタスクから第2のタス
クに切り替え前記第2のタスクのターゲットタスク及び
ホストタスクを復帰させることにより、前記第1のタス
クから前記第2のタスクへの切り替えを実行する工程
と、 を実行させるプログラムを格納したことを特徴とする記
録媒体。
10. A program for simulating the operation of a target program created to operate on a target computer on a host computer having a central processing unit different from the target computer, and read by the host computer. In a possible recording medium, the target program is composed of a plurality of tasks, each of the tasks being a part assuming a register set unique to the target computer, and a register set unique to the host computer. The host computer is divided into a host task, a virtual target register portion that virtually realizes the register of the target computer, and a virtual target portion that virtually realizes the memory of the target computer. Target memory A target stack, which is a stack area corresponding to the target task for each of the target tasks,
Setting a host stack that is a stack area corresponding to the host task for each of the host tasks; and executing a simulation using the virtual target register portion, the virtual target memory portion, and the target stack for the target task. And
For the host task, a step of executing a simulation using the host stack and real registers of the host computer; saving a target task and a host task of a first task; Switching from the first task to the second task by synchronously switching from the first task to the second task and restoring the target task and the host task of the second task And a program for executing the following.
JP10304284A 1997-11-11 1998-10-26 Simulation method, simulation device, and recording medium therefor Expired - Fee Related JP3137094B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10304284A JP3137094B2 (en) 1997-11-11 1998-10-26 Simulation method, simulation device, and recording medium therefor

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP30878297 1997-11-11
JP9-308782 1997-11-11
JP10304284A JP3137094B2 (en) 1997-11-11 1998-10-26 Simulation method, simulation device, and recording medium therefor

Publications (2)

Publication Number Publication Date
JPH11219301A JPH11219301A (en) 1999-08-10
JP3137094B2 true JP3137094B2 (en) 2001-02-19

Family

ID=26563847

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10304284A Expired - Fee Related JP3137094B2 (en) 1997-11-11 1998-10-26 Simulation method, simulation device, and recording medium therefor

Country Status (1)

Country Link
JP (1) JP3137094B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4873423B2 (en) * 2007-12-27 2012-02-08 東芝ソリューション株式会社 Virtualization program, simulation apparatus, and virtualization method

Also Published As

Publication number Publication date
JPH11219301A (en) 1999-08-10

Similar Documents

Publication Publication Date Title
US7568189B2 (en) Code translation and pipeline optimization
US5768567A (en) Optimizing hardware and software co-simulator
US5771370A (en) Method and apparatus for optimizing hardware and software co-simulation
US7058945B2 (en) Information processing method and recording medium therefor capable of enhancing the executing speed of a parallel processing computing device
JPH05233570A (en) Distributed data processing system between different operating systems
US20050108440A1 (en) Method and system for coalescing input output accesses to a virtual device
US6317876B1 (en) Method and apparatus for determining a maximum number of live registers
JPH11505645A (en) Apparatus and method for simulating a digital system based on a processor
US20010027387A1 (en) Debugging supporting apparatus, debugging supporting method and recording medium readable by computer with its programs recorded thereon
CN112579254B (en) Simulation method and device of graphic processor, electronic equipment and storage medium
KR102379406B1 (en) Data processing method and apparatus, and related product
US8886512B2 (en) Simulation apparatus, computer-readable recording medium, and method
EP0270983A2 (en) Method for the parallel simulation of multiprocessor computer systems
JP3137094B2 (en) Simulation method, simulation device, and recording medium therefor
Lyu et al. A procedure-based dynamic software update
JP2000330970A (en) Device and method for simulation
JPH08286896A (en) Software development method and software development system
JP2004021907A (en) Simulation system for performance evaluation
JPH11282693A (en) Mcu simulation device, its simulation method and computer redable recording medium recording simulation program
WO2007131089A2 (en) Code translation and pipeline optimization
US6937973B1 (en) Design of an application specific processor (ASP)
US7694301B1 (en) Method and system for supporting input/output for a virtual machine
JP3270729B2 (en) Extended instruction set simulator
Tijms Binary translation: Classification of emulators
JPH113236A (en) Virtual computer emulation device

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071208

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081208

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091208

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091208

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101208

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101208

Year of fee payment: 10

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: 20101208

Year of fee payment: 10

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: 20111208

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111208

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121208

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121208

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131208

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees