JP2003228492A - Computer simulation program, verification method for model of processor, and computer simulation method - Google Patents

Computer simulation program, verification method for model of processor, and computer simulation method

Info

Publication number
JP2003228492A
JP2003228492A JP2002025447A JP2002025447A JP2003228492A JP 2003228492 A JP2003228492 A JP 2003228492A JP 2002025447 A JP2002025447 A JP 2002025447A JP 2002025447 A JP2002025447 A JP 2002025447A JP 2003228492 A JP2003228492 A JP 2003228492A
Authority
JP
Japan
Prior art keywords
memory
computer simulation
area
program
flag
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.)
Granted
Application number
JP2002025447A
Other languages
Japanese (ja)
Other versions
JP3848171B2 (en
Inventor
Teruhiko Kamigata
輝彦 上方
Hideo Miyake
英雄 三宅
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2002025447A priority Critical patent/JP3848171B2/en
Publication of JP2003228492A publication Critical patent/JP2003228492A/en
Application granted granted Critical
Publication of JP3848171B2 publication Critical patent/JP3848171B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

<P>PROBLEM TO BE SOLVED: To provide a computer simulation program capable of detecting readout from an uninitialized area. <P>SOLUTION: When executing a program with a model of a processor on a computer simulation, the computer simulation program assigns a flag for a memory element indicating whether or not writing has been already executed for each memory element in the memory area accessed by the model of the processor. <P>COPYRIGHT: (C)2003,JPO

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、計算機シミュレー
ションプログラムに関し、詳しくは命令レベルで計算機
プロセッサのシミュレーションを実行する計算機シミュ
レーションプログラムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a computer simulation program, and more particularly to a computer simulation program for executing a computer processor simulation at an instruction level.

【従来の技術】一般に、計算機上で動作するプログラム
は、テキスト領域(テキスト・セクション)、データ領
域(データ・セクション)、BSS領域(BSSセクシ
ョン)、スタック領域、ヒープ領域を有する。テキスト
領域は、命令列を保持する領域であり、プログラム実行
時に初期値を有する。データ領域は、初期値が定まって
いるデータを保持する領域であり、プログラム実行時に
初期値を有する。BSS領域は、初期値が定まっていな
いデータを保持する領域であり、本来は初期値を有さな
いが、一般的にはOS或いは初期化ルーチン等によって
零に初期化される場合が多い。スタック領域は、手続き
呼び出しのフレーム及びスタック変数を保持する領域で
あり、プログラム実行時に初期値を有さない。ヒープ領
域は、動的なメモリ領域として用いる領域であり、プロ
グラム実行時に初期値を有さない。動的なメモリ領域の
獲得及び解放は、malloc関数及びfree関数等の専用のA
PI(Application Program Interface)を介して実現
される。
2. Description of the Related Art Generally, a program operating on a computer has a text area (text section), a data area (data section), a BSS area (BSS section), a stack area, and a heap area. The text area is an area for holding an instruction string and has an initial value when the program is executed. The data area is an area for holding data whose initial value is fixed, and has an initial value when the program is executed. The BSS area is an area that holds data for which an initial value has not been set and originally does not have an initial value, but is generally initialized to zero by the OS or an initialization routine. The stack area is an area that holds a frame for calling a procedure and a stack variable, and does not have an initial value when the program is executed. The heap area is an area used as a dynamic memory area and has no initial value when the program is executed. Dynamic acquisition and release of the memory area is done by a dedicated A such as malloc function and free function.
It is realized via a PI (Application Program Interface).

【0002】プログラム実行時にこれらの領域に対する
読み書き操作を考えた場合、初期値を有する領域に対し
ては、書き込み操作を行う前に読み出し操作を行って
も、プログラムの動作が不安定になることはない。しか
し初期値を有さない領域に対しては、書き込み操作を行
う前に読み出し操作を行った場合、プログラムの動作が
不安定になる可能性がある。従って、正常に動作するプ
ログラム(動作が不安定にならないプログラム)を実現
するためには、不当な未初期化領域からの読み出し操作
を行ってはならない。
When a read / write operation is performed on these areas at the time of program execution, even if a read operation is performed on an area having an initial value before a write operation, the operation of the program is not stable. Absent. However, if the read operation is performed before the write operation for the area having no initial value, the operation of the program may become unstable. Therefore, in order to realize a program that operates normally (a program that does not become unstable in operation), an illegal read operation from an uninitialized area must not be performed.

【0003】ここでは、不当な未初期化領域からの読み
出し操作を含むプログラムを「正しくないプログラム」
と呼び、不当な未初期化領域からの読み出し操作を含ま
ないプログラムを「正しいプログラム」と呼ぶ。
Here, a program including an illegal read operation from an uninitialized area is referred to as an "incorrect program".
A program that does not include an illegal read operation from an uninitialized area is called a “correct program”.

【0004】一般に、計算機が実行するメモリ領域への
読み書き操作には、命令フェッチ、ロード命令によるデ
ータ・ロード、ストア命令によるデータ・ストア、命令
プリフェッチ、メモリから命令キャッシュへのキャッシ
ュ・ブロックの読み出し、メモリからデータ・キャッシ
ュへのキャッシュ・ブロックの読み出し、データ・キャ
ッシュからメモリへのキャッシュ・ブロックの書き込み
等がある。ここで、命令プリフェッチ及びメモリから命
令キャッシュへのキャッシュ・ブロックの読み出し以外
の操作については、「正しいプログラム」であればプロ
グラムの動作が不安定になることはない。しかし命令プ
リフェッチ及びメモリから命令キャッシュへのキャッシ
ュ・ブロックの読み出し操作については、「正しいプロ
グラム」であっても、プリフェッチ対象領域が初期化さ
れていない場合が考えられる。この場合、プログラムの
動作が不安定になることはないが、若干の性能劣化が考
えられる。
Generally, a read / write operation to a memory area executed by a computer includes an instruction fetch, a data load by a load instruction, a data store by a store instruction, an instruction prefetch, a read of a cache block from a memory to an instruction cache, Reading cache blocks from memory to data cache, writing cache blocks from data cache to memory, and so on. Here, regarding operations other than instruction prefetch and reading of a cache block from the memory to the instruction cache, the operation of the program does not become unstable if it is a “correct program”. However, regarding the instruction prefetch and the read operation of the cache block from the memory to the instruction cache, it is possible that the prefetch target area is not initialized even if it is a “correct program”. In this case, the operation of the program does not become unstable, but a slight performance deterioration can be considered.

【発明が解決しようとする課題】プロセッサを設計する
場合、プロセッサの設計情報(モデル)は、ハードウェ
ア記述言語にて記述されることが多い。この際、プロセ
ッサモデルの設計の確からしさを確認する作業として、
ハードウェア記述言語を取り扱えるシミュレータ上で、
論理検証プログラムをプロセッサモデルにより実行する
ことにより、論理検証作業を実行することが多い。
When designing a processor, the design information (model) of the processor is often described in a hardware description language. At this time, as work to confirm the certainty of the design of the processor model,
On a simulator that can handle hardware description language,
The logic verification work is often executed by executing the logic verification program according to the processor model.

【0005】ここで、論理検証プログラムが「正しくな
いプログラム」であった場合を考えると、不当な未初期
化領域が読み出されるので、モデルが期待の動作をしな
い可能性がある。また、論理検証プログラムが「正しい
プログラム」であったとしても、プリフェッチ対象領域
が初期化されていない場合等には、不定として表現され
る未初期化領域が読み出されるので、モデルが期待の動
作をしない可能性がある。
Here, considering the case where the logic verification program is an “incorrect program”, an uncorrected uninitialized area is read, and therefore the model may not perform the expected operation. Even if the logic verification program is a “correct program”, if the prefetch target area is not initialized, the uninitialized area expressed as indefinite is read, and the model operates as expected. May not.

【0006】このように論理検証プログラムが未初期化
領域を読み出す場合にはモデルが期待の動作をしないの
で、そのような論理検証プログラムを使用したのでは、
プロセッサモデルの設計について正当な検証作業を行う
ことが出来ない。従って、未初期化領域を読み出すよう
な論理検証プログラムが作成された場合には、未初期化
領域を読み出している旨を検出して、論理検証プログラ
ムを修正することが望ましい。
As described above, when the logic verification program reads the uninitialized area, the model does not operate as expected. Therefore, if such a logic verification program is used,
Unable to perform valid verification work on the design of the processor model. Therefore, when a logic verification program for reading the uninitialized area is created, it is desirable to detect that the uninitialized area is read and correct the logic verification program.

【0007】以上を鑑みて、本発明は、未初期化領域の
読み出しを検出することが可能な計算機シミュレーショ
ンプログラムを提供することを目的とする。
In view of the above, it is an object of the present invention to provide a computer simulation program capable of detecting reading of an uninitialized area.

【課題を解決するための手段】本発明による計算機シミ
ュレーションプログラムは、計算機シミュレーション上
でプロセッサのモデルによりプログラムを実行する際
に、該プロセッサのモデルがアクセスするメモリ領域の
メモリ要素の各々に対して、該メモリ要素への書き込み
が既に行われたか否かを示すフラグを割り当てることを
特徴とする。
A computer simulation program according to the present invention, when executing a program by a model of a processor on a computer simulation, for each memory element of a memory area accessed by the model of the processor, It is characterized by allocating a flag indicating whether or not writing to the memory element has already been performed.

【0008】上記計算機シミュレーションプログラムに
おいては、メモリ要素の内容が既に書き込み済みか否か
を示すフラグを各メモリ要素に対して設ける。従って、
メモリ読み出し動作を実行時にこのフラグをチェックす
ることで、未初期化領域からの読み出し動作が発生した
場合には、これを検出することが可能になる。
In the above computer simulation program, a flag indicating whether or not the contents of the memory element have already been written is provided for each memory element. Therefore,
By checking this flag when executing the memory read operation, it becomes possible to detect when the read operation from the uninitialized area occurs.

【0009】また本発明によるプロセッサのモデルの検
証方法は、論理検証プログラムを作成し、計算機シミュ
レーション上でプロセッサのモデルがアクセスするメモ
リ領域のメモリ要素の各々に対して該メモリ要素への書
き込みが既に行われたか否かを示すフラグを割り当てる
命令レベルシミュレータで該論理検証プログラムを実行
し、該フラグをチェックすることで未初期化領域からの
読み出し動作が実行されたか否かを判定し、未初期化領
域からの読み出し動作が検出された場合には該論理検証
プログラムを修正する各段階を含む。
The processor model verification method according to the present invention creates a logic verification program, and writes to the memory element for each memory element of the memory area accessed by the processor model on the computer simulation. By executing the logic verification program with an instruction level simulator that assigns a flag indicating whether or not the read operation is performed, it is determined whether or not the read operation from the uninitialized area is performed, and the uninitialized When the read operation from the area is detected, each step of modifying the logic verification program is included.

【0010】上記プロセッサのモデルの検証方法におい
ては、メモリ要素の内容が既に書き込み済みか否かを示
すフラグを各メモリ要素に対して設け、計算機シミュレ
ータで論理検証プログラムを実行時にこのフラグをチェ
ックすることで、「未初期化領域からの読み出し動作」
が発生した旨を検出することが可能である。これによ
り、論理検証プログラムを適宜修正して、適切な論理検
証作業を実行することが出来る。
In the above processor model verification method, a flag indicating whether or not the content of the memory element has already been written is provided for each memory element, and this flag is checked when the logic verification program is executed by the computer simulator. By doing so, "read operation from uninitialized area"
It is possible to detect the occurrence of. As a result, the logic verification program can be appropriately modified to execute an appropriate logic verification work.

【発明の実施の形態】以下に、本発明の実施例を添付の
図面を用いて詳細に説明する。
Embodiments of the present invention will be described in detail below with reference to the accompanying drawings.

【0011】図1は、本発明による命令レベルの計算機
シミュレータのフローチャートである。
FIG. 1 is a flow chart of an instruction level computer simulator according to the present invention.

【0012】本発明による命令レベルシミュレータは、
ステップST1で、命令フェッチを行い、実行する命令
を命令レジスタに格納する。次にステップST2で、命
令デコードを行い、実行する命令を解釈する。最後にス
テップST3で、命令実行を行う。
The instruction level simulator according to the present invention is
In step ST1, instruction fetch is performed and the instruction to be executed is stored in the instruction register. Next, in step ST2, instruction decoding is performed to interpret the instruction to be executed. Finally, in step ST3, instruction execution is performed.

【0013】図2は、命令フェッチのフローチャートで
ある。
FIG. 2 is a flow chart of instruction fetch.

【0014】命令フェッチ段階では、まずステップST
1で、フェッチすべき命令アドレスの計算を行う。次に
ステップST2で、計算されたアドレスに対応するメモ
リ領域から命令を読み出す。最後にステップST3で、
読み出した命令を命令レジスタに格納する。
In the instruction fetch stage, first, step ST
At 1, the instruction address to be fetched is calculated. Next, in step ST2, an instruction is read from the memory area corresponding to the calculated address. Finally in step ST3,
The read instruction is stored in the instruction register.

【0015】図3は、命令実行のフローチャートであ
る。
FIG. 3 is a flow chart of instruction execution.

【0016】命令実行段階では、まずステップST1
で、命令の種別を判別する。
In the instruction execution stage, first, step ST1
Then, the type of the instruction is determined.

【0017】実行すべき命令がロード命令であった場
合、ステップST2で、レジスタの読み出し結果に基づ
き実効アドレスを計算する。ステップST3で、計算し
た実効アドレスに対応するメモリ領域を読み出す。ステ
ップST4で、読み出した内容をロード・データとして
レジスタに書き込む。
When the instruction to be executed is the load instruction, the effective address is calculated based on the read result of the register in step ST2. In step ST3, the memory area corresponding to the calculated effective address is read. In step ST4, the read content is written in the register as load data.

【0018】実行すべき命令がストア命令であった場
合、ステップST5で、レジスタの読み出し結果に基づ
き実効アドレスを計算する。ステップST6で、レジス
タからストア・データを読み出す。ステップST7で、
ストア・データを実効アドレスに対応するメモリ領域に
書き込む。
When the instruction to be executed is the store instruction, the effective address is calculated based on the read result of the register in step ST5. In step ST6, the store data is read from the register. In step ST7,
Write the store data to the memory area corresponding to the effective address.

【0019】実行すべき命令が演算命令であった場合、
ステップST8で、レジスタを読み出す。ステップST
9で、読み出し結果に基づき演算を行う。ステップST
10で、演算結果をレジスタに書き込む。
If the instruction to be executed is an arithmetic instruction,
In step ST8, the register is read. Step ST
At 9, the calculation is performed based on the read result. Step ST
At 10, the calculation result is written in the register.

【0020】実行すべき命令が分岐命令であった場合、
ステップST11で、レジスタを読み出す。ステップS
T12で、読み出し結果に基づき、分岐アドレスを計算
する。ステップST13で、計算した結果をプログラム
カウンタ(レジスタ)に書き込む。
If the instruction to be executed is a branch instruction,
In step ST11, the register is read. Step S
At T12, the branch address is calculated based on the read result. In step ST13, the calculated result is written in the program counter (register).

【0021】本発明による命令レベルシミュレータにお
いては、図2の命令フェッチ段階のステップST2及び
図3の命令実行段階のステップST3にあるメモリ読み
出し動作、及び図3の命令実行段階のステップST7に
あるメモリ書き込み動作において、未初期化領域読み出
し検出を可能にするための処理を行う。
In the instruction level simulator according to the present invention, the memory read operation in step ST2 of the instruction fetch stage of FIG. 2 and step ST3 of the instruction execution stage of FIG. 3 and the memory of step ST7 of the instruction execution stage in FIG. In the write operation, processing is performed to enable detection of uninitialized area read.

【0022】図4は、本発明によるメモリ書き込み動作
の第1実施例を示すフローチャートである。図5は、本
発明によるメモリ読み出し動作の第1実施例を示すフロ
ーチャートである。
FIG. 4 is a flow chart showing a first embodiment of the memory write operation according to the present invention. FIG. 5 is a flow chart showing a first embodiment of the memory read operation according to the present invention.

【0023】まず準備段階として、命令シミュレータの
命令シミュレータの起動時に、メモリの各要素に対応す
るフラグを0に初期化する。図6は、第1実施例に対応
するデータ構造を示す図である。図6に示されるよう
に、メモリ領域10は、メモリ値を格納する領域である
メモリ要素10aとそれに対応するフラグ領域10b
が、複数個集まった単一の纏まりとして割り当てられ
る。このフラグ領域10bの各々を、命令シミュレータ
の起動時に0に初期化する。以降、フラグ領域10bの
フラグをフラグAと呼ぶ。
First, as a preparatory step, when the instruction simulator of the instruction simulator is started, the flags corresponding to the respective elements of the memory are initialized to 0. FIG. 6 is a diagram showing a data structure corresponding to the first embodiment. As shown in FIG. 6, the memory area 10 includes a memory element 10a which is an area for storing a memory value and a flag area 10b corresponding to the memory element 10a.
, Are assigned as a single collection of a plurality of groups. Each of the flag areas 10b is initialized to 0 when the instruction simulator is activated. Hereinafter, the flag in the flag area 10b will be referred to as flag A.

【0024】命令レベルシミュレータでのプログラム実
行時に、指定アドレスのメモリ要素10aに対して書き
込みを行うメモリ書き込み動作を実行すると、まず図4
のステップST1で、書き込み対象のメモリ要素10a
に対応するフラグAが0であるか否かを判定する。フラ
グAが0であるならば、ステップST2でフラグAを1に
変更し、ステップST3に進む。フラグAが0でなけれ
ば、そのままステップST3に進む。ステップST3
で、指定アドレスのメモリ要素10aに書き込みデータ
を書き込む。
When a memory write operation for writing to the memory element 10a at the specified address is executed during execution of the program in the instruction level simulator, first, FIG.
In step ST1 of, the memory element 10a to be written is
It is determined whether or not the flag A corresponding to is 0. If the flag A is 0, the flag A is changed to 1 in step ST2, and the process proceeds to step ST3. If the flag A is not 0, the process directly proceeds to step ST3. Step ST3
Then, the write data is written in the memory element 10a at the specified address.

【0025】命令レベルシミュレータでのプログラム実
行時に、指定アドレスのメモリ要素10aに対して読み
出しを行うメモリ読み出し動作を実行すると、まず図5
のステップST1で、読み出し対象のメモリ要素10a
に対応するフラグAが0であるか否かを判定する。フラ
グAが0であるならば、ステップST2で未初期化領域
に対する読み出し動作を検出し、ステップST3に進
む。フラグAが0でなければ、そのままステップST3
に進む。ステップST3で、指定アドレスのメモリ要素
10aからデータを読み出す。
When a memory read operation for reading the memory element 10a at the specified address is executed during execution of the program in the instruction level simulator, first, FIG.
In step ST1 of, the memory element 10a to be read
It is determined whether or not the flag A corresponding to is 0. If the flag A is 0, the read operation for the uninitialized area is detected in step ST2, and the process proceeds to step ST3. If flag A is not 0, then step ST3
Proceed to. In step ST3, data is read from the memory element 10a at the designated address.

【0026】このように、本発明のメモリ書き込み動作
及びメモリ読み出し動作の第1実施例においては、複数
のメモリ要素を一纏まりの記憶空間として管理する場合
に、メモリ要素の内容が既に書き込み済みか否かを示す
フラグを各メモリ要素に対して設けることで、未初期化
領域からの読み出し動作を検出することが可能になる。
As described above, in the first embodiment of the memory write operation and the memory read operation of the present invention, when managing a plurality of memory elements as a storage space, whether the contents of the memory elements have already been written or not. Providing a flag indicating whether or not each memory element makes it possible to detect a read operation from an uninitialized area.

【0027】図7は、本発明によるメモリ書き込み動作
の第2実施例を示すフローチャートである。図8は、本
発明によるメモリ読み出し動作の第2実施例を示すフロ
ーチャートである。
FIG. 7 is a flow chart showing a second embodiment of the memory write operation according to the present invention. FIG. 8 is a flow chart showing a second embodiment of the memory read operation according to the present invention.

【0028】図9は、第2実施例に対応するデータ構造
を示す図である。図9に示されるように、メモリ領域1
2は離散的に割り当てられる複数のメモリ割付領域13
を含み、各メモリ割付領域13は、メモリ値を格納する
領域であるメモリ要素13aとそれに対応するフラグ領
域13bが、複数個集まった単一の纏まりとして割り当
てられる。以降、フラグ領域13bのフラグをフラグA
と呼ぶ。
FIG. 9 is a diagram showing a data structure corresponding to the second embodiment. As shown in FIG. 9, the memory area 1
2 is a plurality of memory allocation areas 13 that are discretely allocated
In each memory allocation area 13, a memory element 13a, which is an area for storing a memory value, and a flag area 13b corresponding thereto are allocated as a single group. After that, the flag of the flag area 13b is set to the flag A.
Call.

【0029】図10は、図9の離散メモリ領域を管理す
るデータ構造を示す図である。図10に示されるように
メモリ割付管理テーブル14を設け、各メモリ割付領域
13の先頭アドレスをテーブルエントリ14aとし、各
先頭アドレスに対応するメモリ割付領域13へのポイン
タを更なるテーブルエントリ14bとする。このように
してメモリ割付管理テーブル14により記憶領域を管理
することで、計算機シミュレーションを実行しながら、
随時必要に応じてメモリ割付領域13を増やしていくこ
とが出来る。
FIG. 10 is a diagram showing a data structure for managing the discrete memory area of FIG. As shown in FIG. 10, a memory allocation management table 14 is provided, the head address of each memory allocation area 13 is a table entry 14a, and the pointer to the memory allocation area 13 corresponding to each head address is a further table entry 14b. . In this way, by managing the storage area by the memory allocation management table 14, while executing the computer simulation,
The memory allocation area 13 can be increased as needed at any time.

【0030】命令レベルシミュレータでのプログラム実
行時に、指定アドレスのメモリ要素13aに対して書き
込みを行うメモリ書き込み動作を実行すると、まず図7
のステップST1で、書き込み対象のメモリ要素13a
を含むメモリ割付領域13が既に割り当てられ確保され
ているかを判定する。確保されている場合には、ステッ
プST2で、書き込み対象のメモリ要素13aに対応す
るフラグAが0であるか否かを判定する。フラグAが0
であるならば、ステップST3でフラグAを1に変更
し、ステップST6に進む。フラグAが0でなければ、
そのままステップST6に進む。またステップST1で
メモリ割付領域13が確保されていないと判定された場
合には、ステップST4で、メモリ割付領域13を割り
付けて、割り付けたメモリ割付領域13内の全てのフラ
グAを0に初期化する。その後ステップST5で、書き
込み対象のメモリ要素13aに対応するフラグAを1に
変更する。ステップST6で、指定アドレスのメモリ要
素13aに書き込みデータを書き込む。
When a memory write operation for writing to the memory element 13a at the specified address is executed during execution of the program in the instruction level simulator, first, FIG.
In step ST1 of, the memory element 13a to be written
It is determined whether or not the memory allocation area 13 including is already allocated and secured. If so, it is determined in step ST2 whether or not the flag A corresponding to the memory element 13a to be written is 0. Flag A is 0
If so, the flag A is changed to 1 in step ST3, and the process proceeds to step ST6. If flag A is not 0,
Then, the process proceeds to step ST6. If it is determined in step ST1 that the memory allocation area 13 is not secured, the memory allocation area 13 is allocated in step ST4 and all the flags A in the allocated memory allocation area 13 are initialized to 0. To do. Thereafter, in step ST5, the flag A corresponding to the memory element 13a to be written is changed to 1. In step ST6, write data is written in the memory element 13a at the specified address.

【0031】命令レベルシミュレータでのプログラム実
行時に、指定アドレスのメモリ要素13aに対して読み
出しを行うメモリ読み出し動作を実行すると、まず図8
のステップST1で、読み出し対象のメモリ要素13a
を含むメモリ割付領域13が既に割り当てられ確保され
ているかを判定する。確保されている場合には、ステッ
プST2で、読み出し対象のメモリ要素13aに対応す
るフラグAが0であるか否かを判定する。フラグAが0
であるならば、ステップST3で未初期化領域に対する
読み出し動作を検出し、ステップST6に進む。フラグ
Aが0でなければ、そのままステップST6に進む。ま
たステップST1でメモリ割付領域13が確保されてい
ないと判定された場合には、ステップST4で、メモリ
割付領域13を割り付けて、割り付けたメモリ割付領域
13内の全てのフラグAを0に初期化する。その後ステ
ップST5で、未初期化領域に対する読み出し動作を検
出する。ステップST6で、指定アドレスのメモリ要素
13aからデータを読み出す。
When a memory read operation for reading the memory element 13a at the specified address is executed during execution of the program in the instruction level simulator, first, FIG.
In step ST1 of, the memory element 13a to be read
It is determined whether or not the memory allocation area 13 including is already allocated and secured. If so, it is determined in step ST2 whether the flag A corresponding to the memory element 13a to be read is 0. Flag A is 0
If so, the read operation for the uninitialized area is detected in step ST3, and the process proceeds to step ST6. flag
If A is not 0, the process directly proceeds to step ST6. If it is determined in step ST1 that the memory allocation area 13 is not secured, the memory allocation area 13 is allocated in step ST4 and all the flags A in the allocated memory allocation area 13 are initialized to 0. To do. Then, in step ST5, the read operation for the uninitialized area is detected. In step ST6, data is read from the memory element 13a at the designated address.

【0032】このように、本発明のメモリ書き込み動作
及びメモリ読み出し動作の第2実施例においては、複数
のメモリ要素を一纏まりのメモリ割付領域として複数の
メモリ割付領域を離散的に割り当てて管理する場合に、
メモリ要素の内容が既に書き込み済みか否かを示すフラ
グを各メモリ要素に対して設けることで、未初期化領域
からの読み出し動作を検出することが可能になる。
As described above, in the second embodiment of the memory writing operation and the memory reading operation of the present invention, a plurality of memory allocation areas are discretely allocated and managed as a plurality of memory allocation areas. In case,
By providing a flag indicating whether or not the content of the memory element has already been written to each memory element, it becomes possible to detect the read operation from the uninitialized area.

【0033】図11は、本発明によるメモリ書き込み動
作の第3実施例を示すフローチャートである。図12
は、本発明によるメモリ読み出し動作の第3実施例を示
すフローチャートである。
FIG. 11 is a flow chart showing a third embodiment of the memory write operation according to the present invention. 12
3 is a flowchart showing a third embodiment of the memory read operation according to the present invention.

【0034】図13は、第3実施例に対応するデータ構
造を示す図である。図13に示されるデータ構造は、フ
ラグ領域13cが各メモリ割付領域13に対して設けら
れていることを除いて、図9に示される離散メモリ領域
を管理する場合のデータ構造と同一である。以降、フラ
グ領域13cのフラグをフラグBと呼ぶ。
FIG. 13 is a diagram showing a data structure corresponding to the third embodiment. The data structure shown in FIG. 13 is the same as the data structure for managing the discrete memory area shown in FIG. 9 except that the flag area 13c is provided for each memory allocation area 13. Hereinafter, the flag in the flag area 13c is referred to as flag B.

【0035】命令レベルシミュレータでのプログラム実
行時に、指定アドレスのメモリ要素13aに対して書き
込みを行うメモリ書き込み動作を実行すると、まず図1
1のステップST1で、書き込み対象のメモリ要素13
aを含むメモリ割付領域13が既に割り当てられ確保さ
れているかを判定する。確保されている場合には、ステ
ップST2で、書き込み対象のメモリ要素13aに対応
するフラグAが0であるか否かを判定する。フラグAが
0であるならば、ステップST3でフラグAを1に変更
し、ステップST6に進む。フラグAが0でなければ、
ステップST9に進む。またステップST1でメモリ割
付領域13が確保されていないと判定された場合には、
ステップST4で、メモリ割付領域13を割り付けて、
割り付けたメモリ割付領域13内の全てのフラグAを0
に初期化する。その後ステップST5で、書き込み対象
のメモリ要素13aに対応するフラグAを1に変更し、
ステップST6に進む。
When a memory write operation for writing to the memory element 13a at a specified address is executed at the time of executing a program in the instruction level simulator, first, as shown in FIG.
In step ST1 of 1, the memory element 13 to be written
It is determined whether the memory allocation area 13 including a is already allocated and secured. If so, it is determined in step ST2 whether or not the flag A corresponding to the memory element 13a to be written is 0. If the flag A is 0, the flag A is changed to 1 in step ST3, and the process proceeds to step ST6. If flag A is not 0,
Go to step ST9. If it is determined in step ST1 that the memory allocation area 13 is not secured,
In step ST4, the memory allocation area 13 is allocated,
Set all flags A in the allocated memory allocation area 13 to 0
Initialize to. After that, in step ST5, the flag A corresponding to the memory element 13a to be written is changed to 1,
Go to step ST6.

【0036】ステップST6で、書き込み対象のメモリ
要素13aを含むメモリ割付領域13のフラグBが0で
あるか否かを判定する。フラグBが0であるならば、ス
テップST7に進む。フラグBが0でなければ、ステッ
プST9に進む。
In step ST6, it is determined whether or not the flag B of the memory allocation area 13 including the memory element 13a to be written is 0. If the flag B is 0, the process proceeds to step ST7. If the flag B is not 0, the process proceeds to step ST9.

【0037】ステップST7で、書き込み対象のメモリ
要素13aを含むメモリ割付領域13の全てのフラグA
が1であるか否かを判定する。全てのフラグAが1であ
るならば、ステップST8で対応するフラグBを1に変
更して、その後ステップST9に進む。少なくとも1つ
のフラグAが1でなければ、そのままステップST9に
進む。
At step ST7, all flags A in the memory allocation area 13 including the memory element 13a to be written are included.
Is determined to be 1. If all the flags A are 1, the corresponding flags B are changed to 1 in step ST8, and then the process proceeds to step ST9. If at least one flag A is not 1, the process directly proceeds to step ST9.

【0038】ステップST9で、指定アドレスのメモリ
要素13aに書き込みデータを書き込む。
In step ST9, write data is written in the memory element 13a at the specified address.

【0039】命令レベルシミュレータでのプログラム実
行時に、指定アドレスのメモリ要素13aに対して読み
出しを行うメモリ読み出し動作を実行すると、まず図1
2のステップST1で、読み出し対象のメモリ要素13
aを含むメモリ割付領域13が既に割り当てられ確保さ
れているかを判定する。確保されている場合には、ステ
ップST2で、当該メモリ割付領域13のフラグBが0
であるか否かを判定する。フラグBが0であるならば、
ステップST3に進む。フラグBが0でなければ、ステ
ップST7に進む。
When a memory read operation for reading the memory element 13a at the specified address is executed during execution of the program in the instruction level simulator, first, as shown in FIG.
In step ST1 of 2, the memory element 13 to be read
It is determined whether the memory allocation area 13 including a is already allocated and secured. If secured, the flag B of the memory allocation area 13 is set to 0 in step ST2.
Or not. If flag B is 0,
Go to step ST3. If the flag B is not 0, the process proceeds to step ST7.

【0040】ステップST3で、読み出し対象のメモリ
要素13aに対応するフラグAが0であるか否かを判定
する。フラグAが0であるならば、ステップST4で未
初期化領域に対する読み出し動作を検出し、ステップS
T7に進む。フラグAが0でなければ、そのままステッ
プST7に進む。
In step ST3, it is determined whether or not the flag A corresponding to the memory element 13a to be read is 0. If the flag A is 0, the read operation for the uninitialized area is detected in step ST4, and step S
Proceed to T7. If the flag A is not 0, the process directly proceeds to step ST7.

【0041】またステップST1でメモリ割付領域13
が確保されていないと判定された場合には、ステップS
T5で、メモリ割付領域13を割り付けて、割り付けた
メモリ割付領域13内の全てのフラグAを0に初期化す
ると共に、対応するフラグBを0に初期化する。その後
ステップST6で、未初期化領域に対する読み出し動作
を検出する。
In step ST1, memory allocation area 13
If it is determined that is not secured, step S
At T5, the memory allocation area 13 is allocated, and all the flags A in the allocated memory allocation area 13 are initialized to 0 and the corresponding flags B are initialized to 0. Then, in step ST6, the read operation for the uninitialized area is detected.

【0042】ステップST7で、指定アドレスのメモリ
要素13aからデータを読み出す。以上で処理を終了す
る。
At step ST7, data is read from the memory element 13a at the designated address. With that, the process ends.

【0043】このように、本発明のメモリ書き込み動作
及びメモリ読み出し動作の第3実施例においては、複数
のメモリ要素を一纏まりのメモリ割付領域として複数の
メモリ割付領域を離散的に割り当てて管理する場合に、
メモリ要素の内容が既に書き込み済みか否かを示すフラ
グを各メモリ要素に対して設けると共に、メモリ割付領
域毎に全てのメモリ要素が既に書き込み済みか否かを示
すフラグを設ける。これにより、メモリ割付領域内の全
てのメモリ要素が既に書き込み済みである場合には、各
メモリ要素のフラグを逐一チェックすることなく、未初
期化領域からの読み出し動作を検出することが可能にな
る。
As described above, in the third embodiment of the memory writing operation and the memory reading operation of the present invention, a plurality of memory allocation areas are discretely allocated and managed as a plurality of memory allocation areas. In case,
A flag indicating whether or not the content of the memory element has already been written is provided for each memory element, and a flag indicating whether or not all the memory elements have already been written is provided for each memory allocation area. As a result, when all the memory elements in the memory allocation area have already been written, it becomes possible to detect the read operation from the uninitialized area without checking the flags of each memory element one by one. .

【0044】図14は、本発明によるメモリ書き込み動
作の第4実施例を示すフローチャートである。図15
は、本発明によるメモリ読み出し動作の第4実施例を示
すフローチャートである。
FIG. 14 is a flow chart showing a fourth embodiment of the memory write operation according to the present invention. Figure 15
9 is a flowchart showing a fourth embodiment of the memory read operation according to the present invention.

【0045】図16は、第4実施例に対応するデータ構
造を示す図である。図16に示されるデータ構造は、カ
ウント領域13dが各メモリ割付領域13に対して設け
られていることを除いて、図13に示される離散メモリ
領域を管理する場合のデータ構造と同一である。カウン
ト領域13dは、未初期化領域であるメモリ要素13a
に書き込み動作を実行する度に1ずつカウントアップす
るカウント数Cを格納する。
FIG. 16 is a diagram showing a data structure corresponding to the fourth embodiment. The data structure shown in FIG. 16 is the same as the data structure for managing the discrete memory area shown in FIG. 13 except that the count area 13d is provided for each memory allocation area 13. The count area 13d is a memory element 13a that is an uninitialized area.
A count number C that is incremented by one each time a write operation is executed is stored in the.

【0046】図14に示されるメモリ書き込み動作の第
4実施例のフローチャートは、図11に示されるメモリ
書き込み動作の第3実施例のフローチャートに対して、
ステップST7がステップST7AとST7Bとに変更
されていることが異なる。
The flowchart of the fourth embodiment of the memory write operation shown in FIG. 14 is different from the flowchart of the third embodiment of the memory write operation shown in FIG.
The difference is that step ST7 is changed to steps ST7A and ST7B.

【0047】ステップST6でフラグBが0であると判
定されると、ステップST7Aで、カウント数Cを1だ
けインクリメントする。その後ステップST7Bで、カ
ウント数Cがメモリ割付領域13のメモリ要素数に等し
いか否かを判定する。両者が等しければ、全てのフラグ
Aが1であることになるので、ステップST8で対応す
るフラグBを1に変更する。両者が等しくなければ、少
なくとも1つのフラグAが1でないことになるので、そ
のままステップST9に進む。
When the flag B is determined to be 0 in step ST6, the count number C is incremented by 1 in step ST7A. Then, in step ST7B, it is determined whether the count number C is equal to the number of memory elements in the memory allocation area 13. If both are equal, all flags A are 1, so the corresponding flag B is changed to 1 in step ST8. If they are not the same, at least one flag A is not 1, so the process proceeds to step ST9.

【0048】図15に示されるメモリ読み出し動作の第
4実施例のフローチャートは、図12に示されるメモリ
読み出し動作の第3実施例のフローチャートと同一であ
るので説明を省略する。
Since the flow chart of the fourth embodiment of the memory read operation shown in FIG. 15 is the same as the flow chart of the third embodiment of the memory read operation shown in FIG. 12, its explanation is omitted.

【0049】このように、本発明のメモリ書き込み動作
及びメモリ読み出し動作の第4実施例においては、複数
のメモリ要素を一纏まりのメモリ割付領域として複数の
メモリ割付領域を離散的に割り当てて管理する場合に、
メモリ要素の内容が既に書き込み済みか否かを示すフラ
グを各メモリ要素に対して設けると共に、メモリ割付領
域毎に全てのメモリ要素が既に書き込み済みか否かを示
すフラグと、既に書き込み済みのメモリ要素の数を示す
カウンタとを設ける。これにより、各メモリ要素のフラ
グを逐一チェックすることなく、カウンタをチェックす
るだけで、メモリ割付領域内の全てのメモリ要素が既に
書き込み済みになったか否かを容易に判定することが出
来る。従って、未初期化領域からの読み出し動作を効率
的に検出することが可能になる。
As described above, in the fourth embodiment of the memory write operation and the memory read operation of the present invention, a plurality of memory allocation areas are discretely allocated and managed as a plurality of memory allocation areas. In case,
A flag indicating whether or not the content of the memory element has already been written is provided for each memory element, and a flag indicating whether or not all the memory elements have already been written for each memory allocation area and the already written memory. And a counter for indicating the number of elements. As a result, it is possible to easily determine whether or not all the memory elements in the memory allocation area have already been written by checking the counter without checking the flags of each memory element one by one. Therefore, it becomes possible to efficiently detect the read operation from the uninitialized area.

【0050】図17は、本発明による計算機シミュレー
タを用いた検証作業のフローチャートである。
FIG. 17 is a flow chart of verification work using the computer simulator according to the present invention.

【0051】ステップST1で、論理検証プログラムを
作成する。ステップST2で、論理検証プログラムを命
令レベルシミュレータで実行する。即ち、図1に示され
る命令レベルシミュレータを実行することにより、ステ
ップST1で作成された論理検証プログラムをシミュレ
ータ上で実行する。この際、データ書き込み及びデータ
読み出し動作に関しては、前述の第1乃至第4実施例の
何れかの実施例を用いる。
In step ST1, a logic verification program is created. In step ST2, the logic verification program is executed by the instruction level simulator. That is, by executing the instruction level simulator shown in FIG. 1, the logic verification program created in step ST1 is executed on the simulator. At this time, for the data writing and data reading operations, any one of the first to fourth embodiments described above is used.

【0052】ステップST3で、論理検証プログラムが
正常に終了し、且つ、未初期化領域のアクセスが検出さ
れなかったか否かを判定する。前述の第1乃至第4実施
例において、未初期化領域からの読み出し動作が検出さ
れると、「未初期化領域からの読み出し動作」を実行し
た旨を、読み出しアドレス等の情報と共に例えばエラー
ログに記録する。このエラーログを確認することによ
り、「未初期化領域からの読み出し動作」があったか否
かを確認することが出来る。またこの「未初期化領域か
らの読み出し動作」が発生した旨の情報は、発生ごとに
計算機シミュレータのディスプレイに逐次表示してよ
い。
In step ST3, it is determined whether the logic verification program has ended normally and no access to the uninitialized area has been detected. In the above-described first to fourth embodiments, when the read operation from the uninitialized area is detected, the fact that the “read operation from the uninitialized area” is executed is displayed together with the information such as the read address in the error log, for example. To record. By checking this error log, it is possible to check whether or not there is a "read operation from the uninitialized area". The information indicating that the "read operation from the uninitialized area" has occurred may be sequentially displayed on the display of the computer simulator every time it occurs.

【0053】ステップST3の判定がNOの場合、論理
検証プログラムに問題があるので、ステップST4で論
理検証プログラムを修正し、ステップST2以降の処理
を繰り返す。ステップST3の判定がYESの場合、論
理検証プログラムに問題がないので、ステップST5で
論理検証プログラムを用いた検証作業を実行する。
If the determination in step ST3 is NO, there is a problem with the logic verification program, so the logic verification program is corrected in step ST4, and the processes in and after step ST2 are repeated. If the determination in step ST3 is YES, there is no problem with the logic verification program, so the verification work using the logic verification program is executed in step ST5.

【0054】以上で処理を終了する。With the above, the processing is completed.

【0055】このように本発明においては、計算機シミ
ュレータで論理検証プログラムを実行時に、「未初期化
領域からの読み出し動作」が発生した旨を検出すること
が可能であるので、論理検証プログラムを適宜修正し
て、適切な論理検証作業を実行することが出来る。
As described above, in the present invention, when the logic verification program is executed by the computer simulator, it is possible to detect that the "read operation from the uninitialized area" has occurred, and therefore the logic verification program is appropriately used. It can be modified to perform the appropriate logic verification work.

【0056】図18は、本発明による計算機シミュレー
ションを実行する装置の構成を示す図である。
FIG. 18 is a diagram showing the configuration of an apparatus for executing computer simulation according to the present invention.

【0057】図18に示されるように、本発明による計
算機シミュレーションを実行する装置は、例えばパーソ
ナルコンピュータやエンジニアリングワークステーショ
ン等のコンピュータにより実現される。図18の装置
は、コンピュータ510と、コンピュータ510に接続
されるディスプレイ装置520、通信装置523、及び
入力装置よりなる。入力装置は、例えばキーボード52
1及びマウス522を含む。コンピュータ510は、C
PU511、RAM512、ROM513、ハードディ
スク等の二次記憶装置514、可換媒体記憶装置51
5、及びインターフェース516を含む。
As shown in FIG. 18, the apparatus for executing the computer simulation according to the present invention is realized by a computer such as a personal computer or an engineering workstation. The device of FIG. 18 includes a computer 510, a display device 520 connected to the computer 510, a communication device 523, and an input device. The input device is, for example, the keyboard 52.
1 and mouse 522. The computer 510 is C
PU 511, RAM 512, ROM 513, secondary storage device 514 such as a hard disk, removable medium storage device 51
5 and an interface 516.

【0058】キーボード521及びマウス522は、ユ
ーザとのインターフェースを提供するものであり、コン
ピュータ510を操作するための各種コマンドや要求さ
れたデータに対するユーザ応答等が入力される。ディス
プレイ装置520は、コンピュータ510で処理された
結果等を表示すると共に、コンピュータ510を操作す
る際にユーザとの対話を可能にするために様々なデータ
表示を行う。通信装置523は、遠隔地との通信を行な
うためのものであり、例えばモデムやネットワークイン
ターフェース等よりなる。
The keyboard 521 and the mouse 522 provide an interface with the user, and various commands for operating the computer 510 and user responses to requested data are input. The display device 520 displays the results processed by the computer 510, and displays various data to allow the user to interact when operating the computer 510. The communication device 523 is for communicating with a remote place, and is composed of, for example, a modem or a network interface.

【0059】本発明による計算機シミュレーション方法
は、コンピュータ510が実行可能なコンピュータプロ
グラムとして提供される。このコンピュータプログラム
は、可換媒体記憶装置515に装着可能な記憶媒体Mに
記憶されており、記憶媒体Mから可換媒体記憶装置51
5を介して、RAM512或いは二次記憶装置514に
ロードされる。或いは、このコンピュータプログラム
は、遠隔地にある記憶媒体(図示せず)に記憶されてお
り、この記憶媒体から通信装置523及びインターフェ
ース516を介して、RAM512或いは二次記憶装置
514にロードされる。
The computer simulation method according to the present invention is provided as a computer program executable by the computer 510. This computer program is stored in a storage medium M that can be mounted in the removable medium storage device 515, and the storage medium M to the removable medium storage device 51 is stored in the storage medium M.
5, and is loaded into the RAM 512 or the secondary storage device 514. Alternatively, this computer program is stored in a storage medium (not shown) in a remote place, and is loaded from the storage medium into the RAM 512 or the secondary storage device 514 via the communication device 523 and the interface 516.

【0060】キーボード521及び/又はマウス522
を介してユーザからプログラム実行指示があると、CP
U511は、記憶媒体M、遠隔地記憶媒体、或いは二次
記憶装置514からプログラムをRAM512にロード
する。CPU511は、RAM512の空き記憶空間を
ワークエリアとして使用して、RAM512にロードさ
れたプログラムを実行し、適宜ユーザと対話しながら処
理を進める。なおROM513は、コンピュータ510
の基本動作を制御するための制御プログラムが格納され
ている。
Keyboard 521 and / or mouse 522
When a user gives a program execution instruction via
The U 511 loads the program from the storage medium M, the remote storage medium, or the secondary storage device 514 into the RAM 512. The CPU 511 uses the free storage space of the RAM 512 as a work area, executes the program loaded in the RAM 512, and advances the processing while appropriately interacting with the user. The ROM 513 is the computer 510.
A control program for controlling the basic operation of is stored.

【0061】上記コンピュータプログラムを実行するこ
とで、上記各実施例で説明されたように、命令レベルの
計算機シミュレーション方法を実行する。またこの計算
機シミュレーション環境が、計算機シミュレータであ
る。
By executing the above computer program, the instruction level computer simulation method is executed as described in each of the above embodiments. Further, this computer simulation environment is a computer simulator.

【0062】以上、本発明を実施例に基づいて説明した
が、本発明は上記実施例に限定されるものではなく、特
許請求の範囲に記載の範囲内で様々な変形が可能であ
る。
Although the present invention has been described based on the embodiments, the present invention is not limited to the above embodiments, and various modifications can be made within the scope of the claims.

【発明の効果】本発明による計算機シミュレーションプ
ログラムにおいては、メモリ要素の内容が既に書き込み
済みか否かを示すフラグを各メモリ要素に対して設け
る。従って、メモリ読み出し動作を実行時にこのフラグ
をチェックすることで、未初期化領域からの読み出し動
作が発生した場合には、これを検出することが可能にな
る。
In the computer simulation program according to the present invention, a flag indicating whether or not the content of the memory element has already been written is provided for each memory element. Therefore, by checking this flag when executing the memory read operation, it becomes possible to detect when the read operation from the uninitialized area occurs.

【0063】また本発明によるプロセッサのモデルの検
証方法においては、メモリ要素の内容が既に書き込み済
みか否かを示すフラグを各メモリ要素に対して設け、計
算機シミュレータで論理検証プログラムを実行時にこの
フラグをチェックすることで、「未初期化領域からの読
み出し動作」が発生した旨を検出することが可能であ
る。これにより、論理検証プログラムを適宜修正して、
適切な論理検証作業を実行することが出来る。
Further, in the method of verifying the model of the processor according to the present invention, a flag indicating whether or not the content of the memory element has already been written is provided for each memory element, and this flag is set when the logic verification program is executed by the computer simulator. By checking, it is possible to detect that the "read operation from the uninitialized area" has occurred. This allows you to modify the logic verification program as appropriate,
Appropriate logic verification work can be performed.

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

【図1】本発明による命令レベルの計算機シミュレータ
のフローチャートである。
FIG. 1 is a flowchart of an instruction level computer simulator according to the present invention.

【図2】命令フェッチのフローチャートである。FIG. 2 is a flowchart of instruction fetch.

【図3】命令実行のフローチャートである。FIG. 3 is a flowchart of instruction execution.

【図4】本発明によるメモリ書き込み動作の第1実施例
を示すフローチャートである。
FIG. 4 is a flowchart showing a first embodiment of a memory write operation according to the present invention.

【図5】本発明によるメモリ読み出し動作の第1実施例
を示すフローチャートである。
FIG. 5 is a flowchart showing a first embodiment of a memory read operation according to the present invention.

【図6】第1実施例に対応するデータ構造を示す図であ
る。
FIG. 6 is a diagram showing a data structure corresponding to the first example.

【図7】本発明によるメモリ書き込み動作の第2実施例
を示すフローチャートである。
FIG. 7 is a flowchart showing a second embodiment of a memory write operation according to the present invention.

【図8】本発明によるメモリ読み出し動作の第2実施例
を示すフローチャートである。
FIG. 8 is a flowchart showing a second embodiment of the memory read operation according to the present invention.

【図9】第2実施例に対応するデータ構造を示す図であ
る。
FIG. 9 is a diagram showing a data structure corresponding to the second embodiment.

【図10】図9の離散メモリ領域を管理するデータ構造
を示す図である。
10 is a diagram showing a data structure for managing the discrete memory area of FIG.

【図11】本発明によるメモリ書き込み動作の第3実施
例を示すフローチャートである。
FIG. 11 is a flowchart showing a third embodiment of a memory write operation according to the present invention.

【図12】本発明によるメモリ読み出し動作の第3実施
例を示すフローチャートである。
FIG. 12 is a flowchart showing a third embodiment of the memory read operation according to the present invention.

【図13】第3実施例に対応するデータ構造を示す図で
ある。
FIG. 13 is a diagram showing a data structure corresponding to the third example.

【図14】本発明によるメモリ書き込み動作の第4実施
例を示すフローチャートである。
FIG. 14 is a flow chart showing a fourth embodiment of a memory write operation according to the present invention.

【図15】本発明によるメモリ読み出し動作の第4実施
例を示すフローチャートである。
FIG. 15 is a flowchart showing a fourth embodiment of the memory read operation according to the present invention.

【図16】第4実施例に対応するデータ構造を示す図で
ある。
FIG. 16 is a diagram showing a data structure corresponding to the fourth example.

【図17】本発明による計算機シミュレータを用いた検
証作業のフローチャートである。
FIG. 17 is a flowchart of verification work using the computer simulator according to the present invention.

【図18】本発明による計算機シミュレーションを実行
する装置の構成を示す図である。
FIG. 18 is a diagram showing a configuration of an apparatus for executing computer simulation according to the present invention.

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

510 コンピュータ 511 CPU 512 RAM 513 ROM 514 二次記憶装置 515 可換媒体記憶装置 516 インターフェース 520 ディスプレイ装置 521 キーボード 522 マウス 523 通信装置 510 computer 511 CPU 512 RAM 513 ROM 514 secondary storage device 515 Removable medium storage device 516 interface 520 display device 521 keyboard 522 mouse 523 Communication device

───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B042 GA03 HH07 LA06 MC25 5B048 DD01 DD14    ─────────────────────────────────────────────────── ─── Continued front page    F-term (reference) 5B042 GA03 HH07 LA06 MC25                 5B048 DD01 DD14

Claims (10)

【特許請求の範囲】[Claims] 【請求項1】計算機シミュレーション上でプロセッサの
モデルによりプログラムを実行する際に、該プロセッサ
のモデルがアクセスするメモリ領域のメモリ要素の各々
に対して、該メモリ要素への書き込みが既に行われたか
否かを示すフラグを割り当てることを特徴とする計算機
シミュレーションプログラム。
1. When executing a program by a model of a processor on a computer simulation, whether or not writing to the memory element has already been performed for each of the memory elements of the memory area accessed by the model of the processor. A computer simulation program characterized by allocating a flag indicating that.
【請求項2】該メモリ領域を単一の連続する割付空間と
して管理し、該単一の連続する割付空間は複数の該メモ
リ要素を含むことを特徴とする請求項1記載の計算機シ
ミュレーションプログラム。
2. The computer simulation program according to claim 1, wherein the memory area is managed as a single continuous allocation space, and the single continuous allocation space includes a plurality of the memory elements.
【請求項3】該メモリ領域を、単一の連続する割付空間
を複数個離散的に割り当てることにより管理し、該単一
の連続する割付空間は複数の該メモリ要素を含むことを
特徴とする請求項1記載の計算機シミュレーションプロ
グラム。
3. The memory area is managed by discretely allocating a plurality of single continuous allocation spaces, and the single continuous allocation space includes a plurality of the memory elements. The computer simulation program according to claim 1.
【請求項4】該単一の連続する割付空間の各々に対し
て、対応する該メモリ要素の全てに対して書き込みが既
に行われたか否かを示すフラグを割り当てることを特徴
とする請求項3記載の計算機シミュレーションプログラ
ム。
4. A flag is assigned to each of the single contiguous allocation spaces to indicate whether a write has already been performed to all of the corresponding memory elements. The computer simulation program described.
【請求項5】該単一の連続する割付空間の各々に対し
て、対応する該メモリ要素のうちで書き込みが既に行わ
れたメモリ要素の数を示すカウント数を割り当てること
を特徴とする請求項4記載の計算機シミュレーションプ
ログラム。
5. A count number is assigned to each of the single contiguous allocation spaces, the count number indicating the number of memory elements of the corresponding memory elements that have already been written. 4. The computer simulation program described in 4.
【請求項6】指定アドレスのメモリ要素に対して読み出
し動作を実行する際に、該指定アドレスのメモリ要素に
対応する該フラグが未書き込みを示す場合に、未初期化
領域からの読み出し動作が発生した旨を検出することを
特徴とする請求項1記載の計算機シミュレーションプロ
グラム。
6. A read operation from an uninitialized area occurs when a read operation is performed on a memory element at a specified address and the flag corresponding to the memory element at the specified address indicates unwritten. The computer simulation program according to claim 1, wherein the computer simulation program detects that the above has been done.
【請求項7】該プログラムの命令をフェッチするフェッ
チ段階と、 該命令をデコードするデコード段階と、 該デコードされた命令を実行する命令実行段階を含み、
該読み出し動作は該フェッチ段階と該命令実行段階で実
行されることを特徴とする請求項6記載の計算機シミュ
レーションプログラム。
7. A fetch step of fetching an instruction of the program, a decode step of decoding the instruction, and an instruction execution step of executing the decoded instruction,
7. The computer simulation program according to claim 6, wherein the read operation is executed in the fetch step and the instruction execution step.
【請求項8】未初期化領域からの読み出し動作が発生し
た旨をエラーログとして記録することを特徴とする請求
項6記載の計算機シミュレーションプログラム。
8. The computer simulation program according to claim 6, wherein the fact that a read operation from the uninitialized area has occurred is recorded as an error log.
【請求項9】論理検証プログラムを作成し、 計算機シミュレーション上でプロセッサのモデルがアク
セスするメモリ領域のメモリ要素の各々に対して該メモ
リ要素への書き込みが既に行われたか否かを示すフラグ
を割り当てる命令レベルシミュレータで該論理検証プロ
グラムを実行し、 該フラグをチェックすることで未初期化領域からの読み
出し動作が実行されたか否かを判定し、 未初期化領域からの読み出し動作が検出された場合には
該論理検証プログラムを修正する各段階を含む命令レベ
ルシミュレータによるプロセッサのモデルの検証方法。
9. A logic verification program is created, and a flag indicating whether or not writing to the memory element has already been performed is assigned to each memory element of the memory area accessed by the model of the processor on the computer simulation. When the read operation from the uninitialized area is detected by executing the logic verification program with the instruction level simulator and checking the flag to determine whether or not the read operation from the uninitialized area is executed. A method of verifying a model of a processor by an instruction level simulator including each step of modifying the logic verification program.
【請求項10】計算機シミュレーション上でプロセッサ
のモデルによりプログラムを実行する際に、該プロセッ
サのモデルがアクセスするメモリ領域のメモリ要素の各
々に対して、該メモリ要素への書き込みが既に行われた
か否かを示すフラグを割り当てる段階を含むことを特徴
とする計算機シミュレーション方法。
10. When executing a program by a model of a processor on a computer simulation, whether or not writing to the memory element has already been performed for each of the memory elements of the memory area accessed by the model of the processor. A computer simulation method comprising the step of assigning a flag indicating that.
JP2002025447A 2002-02-01 2002-02-01 Computer simulation program, processor model verification method, and computer simulation method Expired - Fee Related JP3848171B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002025447A JP3848171B2 (en) 2002-02-01 2002-02-01 Computer simulation program, processor model verification method, and computer simulation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002025447A JP3848171B2 (en) 2002-02-01 2002-02-01 Computer simulation program, processor model verification method, and computer simulation method

Publications (2)

Publication Number Publication Date
JP2003228492A true JP2003228492A (en) 2003-08-15
JP3848171B2 JP3848171B2 (en) 2006-11-22

Family

ID=27747601

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002025447A Expired - Fee Related JP3848171B2 (en) 2002-02-01 2002-02-01 Computer simulation program, processor model verification method, and computer simulation method

Country Status (1)

Country Link
JP (1) JP3848171B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010152645A (en) * 2008-12-25 2010-07-08 Fujitsu Semiconductor Ltd Simulation support program, simulation device, and simulation support method
JP2012160182A (en) * 2011-01-31 2012-08-23 Fujitsu Ltd Memory correctness checking in distributed computer systems
JP2015162191A (en) * 2014-02-28 2015-09-07 三菱電機株式会社 Software testing apparatus and software testing program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010152645A (en) * 2008-12-25 2010-07-08 Fujitsu Semiconductor Ltd Simulation support program, simulation device, and simulation support method
JP2012160182A (en) * 2011-01-31 2012-08-23 Fujitsu Ltd Memory correctness checking in distributed computer systems
JP2015162191A (en) * 2014-02-28 2015-09-07 三菱電機株式会社 Software testing apparatus and software testing program

Also Published As

Publication number Publication date
JP3848171B2 (en) 2006-11-22

Similar Documents

Publication Publication Date Title
US6633968B2 (en) Pre-fetching of pages prior to a hard page fault sequence
US7702894B2 (en) System and method for loading programs from HDD independent of operating system
US20030233534A1 (en) Enhanced computer start-up methods
US7743228B2 (en) Information processing apparatus and method for obtaining software processing log
US9766958B2 (en) Runtime emulating static thread local storage of portable executable software code
CN104583948B (en) Operating system is laid out and performs using BPRAM
US20110213954A1 (en) Method and apparatus for generating minimum boot image
US7949848B2 (en) Data processing apparatus, method and computer program product for reducing memory usage of an object oriented program
JP2000347872A (en) Method and device for processing exception as regular control flow
US9710355B2 (en) Selective loading of code elements for code analysis
US6907597B1 (en) Method and apparatus for constructing an executable program in memory
US6317818B1 (en) Pre-fetching of pages prior to a hard page fault sequence
US20110016463A1 (en) Computer-hardware, life-extension apparatus and method
US6971003B1 (en) Method and apparatus for minimizing option ROM BIOS code
US20070079109A1 (en) Simulation apparatus and simulation method
JP3848171B2 (en) Computer simulation program, processor model verification method, and computer simulation method
US20170132025A1 (en) Target process injection prior to execution of marker libraries
US9342319B1 (en) Accelerated class check
CN101107591B (en) Computer system and method for activating basic program therein
JP2001306334A (en) Emulation device
US7617087B2 (en) Memory management method for dynamic conversion type emulator
KR101225577B1 (en) Apparatus and method for analyzing assembly language code
US7870543B2 (en) Dynamic tuning of user-space process
JP3917079B2 (en) How to determine the best access strategy
JP2006031248A (en) Software evaluation system for generating log by hooking function call

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040903

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060124

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060327

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060824

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090901

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100901

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100901

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110901

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120901

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120901

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130901

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees