JPH08339388A - Logical simulation method in multiprocessor system - Google Patents

Logical simulation method in multiprocessor system

Info

Publication number
JPH08339388A
JPH08339388A JP7143235A JP14323595A JPH08339388A JP H08339388 A JPH08339388 A JP H08339388A JP 7143235 A JP7143235 A JP 7143235A JP 14323595 A JP14323595 A JP 14323595A JP H08339388 A JPH08339388 A JP H08339388A
Authority
JP
Japan
Prior art keywords
read
processor
write
processors
simulation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP7143235A
Other languages
Japanese (ja)
Inventor
Hideki Adachi
英樹 足立
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 JP7143235A priority Critical patent/JPH08339388A/en
Publication of JPH08339388A publication Critical patent/JPH08339388A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE: To perform a test accessing to the same memory area from each processor, regarding the logical simulation method in a multiprocessor system. CONSTITUTION: This method is the one in which a logical simulation and a software simulation are simultaneously operated and the result of the logical simulation and the result of the software simulation are compared by arbitrary timing. In the method, the reading and writing area 1 exclusive for each processor and the writing area 2 shared by all the processors are provided. An instruction to be read is made to be read from the reading and writing area 1 exclusive for each processor, an instruction to be written is made to be written in the reading and writing area 1 exclusive for each processor or the writing area 2 shared by all the processors. By the writing from each processor in the writing area 2 shared by all the processors, the tests of the competitions between processors are made to be performed.

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、複数個のメモリユニッ
トを、複数個のプロセッサモジュールに分散させて配置
するか、又は、複数個のプロセッサモジュールとは独立
したメモリモジュールに配置し、該メモリユニットを複
数個のプロセッサモジュールから選択的にアクセスする
ようにしたマルチプロセッサシステムに対して、論理シ
ミュレーションとソフトシミュレーションとを同時に動
作させ、任意のタイミングで、該論理シミュレーション
の結果とソフトシミュレーションの結果とを比較する論
理シミュレーション方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention has a plurality of memory units distributed in a plurality of processor modules or arranged in a memory module independent of the plurality of processor modules. For a multiprocessor system in which a unit is selectively accessed from a plurality of processor modules, a logical simulation and a soft simulation are simultaneously operated, and the result of the logical simulation and the result of the soft simulation are obtained at arbitrary timing. And a logical simulation method for comparing

【0002】[0002]

【従来の技術】図7は、マルチプロセッサシステムの構
成例を示した図であり、図8は、従来の論理シミュレー
ションの問題点を説明する図である。
2. Description of the Related Art FIG. 7 is a diagram showing an example of the configuration of a multiprocessor system, and FIG. 8 is a diagram for explaining the problems of the conventional logic simulation.

【0003】近年、プロセッサ(CPU) の高速化も限界に
近づいており、計算機システムの高速化を図る場合、プ
ロセッサ(CPU) の数を増やしてマルチプロセッサシステ
ムを構築することで実現しており、このマルチプロセッ
サシステムの動作の検証をするために、試験プログラム
での検証が大変重要になっている。
In recent years, the speeding up of processors (CPUs) is approaching its limit, and in order to speed up computer systems, it is realized by increasing the number of processors (CPUs) to construct a multiprocessor system. In order to verify the operation of this multiprocessor system, verification by a test program is very important.

【0004】該試験プログラムでは、マルチプロセッサ
構成での各プロセッサ(CPU) 間でのデータ転送を多く
し、負荷を高めたときでの正常性を検証する必要があ
る。プロセッサ(CPU) の設計ミスによる製造工程の変
更、及び出荷後の製品対応には膨大な費用がかかるた
め、該設計工程での検証、具体的には論理シミュレーシ
ョンによる検証が重要になっている。
In this test program, it is necessary to verify the normality when the load is increased by increasing the data transfer between the processors (CPUs) in the multiprocessor configuration. Since it takes a huge amount of money to change a manufacturing process due to a design mistake of a processor (CPU) and to deal with a product after shipping, verification in the design process, specifically, verification by a logic simulation is important.

【0005】該論理シミュレーションの最終段階では、
通常の試験プログラムでは限界があるため、一般的に
は、ランダム手法を用いたランダム試験プログラムでの
検証が行われている。
At the final stage of the logic simulation,
Since a normal test program has limitations, verification is generally performed by a random test program using a random method.

【0006】図7は、マルチプロセッサシステムの構成
例を示した図であり、図7(a) は、複数個のプロセッサ
モジュール(PM0,PM1, 〜PMn) 1に、共有メモリ 13 が分
散されて設置されている場合を示し、図7(b) は、該共
有メモリ 20 が、複数個のプロセッサモジュール(PM0,P
M1, 〜PMn) 1とは独立にメモリモジュール(MM) 2として
独立している場合を示している。
FIG. 7 is a diagram showing an example of the configuration of a multiprocessor system. In FIG. 7A, a shared memory 13 is distributed to a plurality of processor modules (PM0, PM1, ... PMn) 1. FIG. 7B shows a case where the shared memory 20 is installed in a plurality of processor modules (PM0, P0
It shows a case where the memory module (MM) 2 is independent from M1, to PMn) 1 independently.

【0007】図7(a) に示したマルチプロセッサシステ
ムでは、各プロセッサモジュール(PM0,1, 〜n) 1に、メ
モリユニット(MSU0,1,〜n) 13 が分散されて配置されて
おり、各プロセッサモジュール(PM0,1, 〜n) 1内に、例
えば、頁単位に、どの頁がどのプロセッサモジュール(P
M0,1, 〜n) 1に配置されているかを示す、図示されてい
ない頁対応テーブルが備えられており、各プロセッサ(C
PU0,〜) 10が、該共有メモリ 13 をアクセスするとき、
上記頁対応テーブルを参照して、所望のデータが自己の
プロセッサモジュール(PM0,1, 〜n) 1内のメモリユニッ
ト(MSU0,1,〜n)13 に存在するか否かを検索し、他のプ
ロセッサモジュール(PM) 1に存在することが認識された
場合には、共通バス(BUS) 3 を介して、自己のプロセッ
サモジュール(PM) 1のメモリユニット(MSU) 13, キャッ
シュメモリ(Cache) 11を経て、読込むように制御され
る。
In the multiprocessor system shown in FIG. 7A, memory units (MSU0,1, ... n) 13 are distributed and arranged in each processor module (PM0,1, ... n) 1. Within each processor module (PM0,1, ... n) 1, for example, in page units, which page is which processor module (P
M0,1, ... n) 1 is provided with a page correspondence table (not shown) indicating whether each processor (C
When PU0, ~) 10 accesses the shared memory 13,
Referring to the above page correspondence table, search whether or not the desired data exists in the memory unit (MSU0,1, ... n) 13 in its own processor module (PM0,1, ... n) 1 and Memory module (MSU) 13, Cache memory (Cache) of its own processor module (PM) 1 via the common bus (BUS) 3 It is controlled to read through 11.

【0008】図7(b) に示したマルチプロセッサシステ
ムでは、共有メモリ 20 が、複数個のプロセッサモジュ
ール(PM0,PM1, 〜PMn) 1とは独立にメモリモジュール(M
M) 2として独立しているので、共通バス(BUS) 3 を介し
て、直接、該当のアドレスをアクセスすることで必要と
するデータを読込むように制御される。
In the multiprocessor system shown in FIG. 7 (b), the shared memory 20 has a memory module (M0, PM1, ... PMn) 1 independent of the plurality of processor modules (PM0, PM1, ... PMn) 1.
Since it is independent as M) 2, it is controlled to read the required data by directly accessing the corresponding address via the common bus (BUS) 3.

【0009】上記のようなマルチプロセッサシステムを
論理シミュレーションする場合、1台の計算機の主記憶
装置上に、該マルチプロセッサシステムの論理回路を構
築して、1プロセッサ単位に直列に、例えば、1命令
(或いは、複数命令)を実行することを繰り返して、見
かけ上のマルチプロセッサ動作の論理シミュレーション
を行う。
In the case of performing a logic simulation of the above multiprocessor system, a logic circuit of the multiprocessor system is constructed on the main memory of one computer, and one instruction unit is serially connected, for example, one instruction. (Or, a plurality of instructions) are repeatedly executed to perform a logical simulation of an apparent multiprocessor operation.

【0010】[0010]

【発明が解決しようとする課題】この論理シミュレーシ
ョン上で、上記ランダム命令試験を行う場合、以下の問
題がある。
When performing the above random instruction test on this logic simulation, there are the following problems.

【0011】(1) 先ず、マルチプロセッサシステムの各
プロセッサで実行されるランダム命令列の実行結果の期
待値を、予め、作成しておき、論理シミュレーション結
果と比較する手法では、該期待値の作成に工数がかかる
という問題がある。
(1) First, the expected value of the execution result of the random instruction sequence executed by each processor of the multiprocessor system is created in advance, and in the method of comparing with the result of the logic simulation, the expected value is created. There is a problem that it takes man-hours.

【0012】(2) そこで、該計算機上で、上記論理シミ
ュレーションと、ソフトシミュレーションとを同時 (実
際には、一台の計算機上で実行されるので、直列動作と
なる) に動作させ、任意のタイミングで、それぞれのシ
ミュレーション動作を停止させ、該停止した任意のタイ
ミングでの論理シミュレーションとソフトシミュレーシ
ョンの結果を比較する方法がある。
(2) Then, on the computer, the logical simulation and the soft simulation are simultaneously operated (actually, since they are executed on one computer, they are in serial operation), and an arbitrary There is a method of stopping each simulation operation at a timing and comparing the results of the logical simulation and the soft simulation at the stopped arbitrary timing.

【0013】この論理シミュレーションとソフトシミュ
レーションとを同時に実行して、その結果を比較する論
理シミュレーションの手法については、本願出願人が先
願している特開平5−225276号公報「論理シミュ
レーションの実行方法」に、その詳細が開示されてい
る。上記論理シミュレーションとソフトシミュレーショ
ンとを同時に実行して、任意のタイミングでの結果を比
較する手法として、上記特開平5−225276号公報
「論理シミュレーションの実行方法」に開示されている
方法を取るようにしても良い。
Regarding the method of the logic simulation for executing the logic simulation and the soft simulation at the same time and comparing the results, Japanese Patent Application Laid-Open No. 5-225276, which is the prior application of the applicant of the present application, is a method of executing the logic simulation. ”, The details are disclosed. As a method of simultaneously executing the logical simulation and the soft simulation and comparing the results at arbitrary timings, the method disclosed in Japanese Patent Laid-Open No. 5-225276, "Method of executing logical simulation" is adopted. May be.

【0014】この場合、マルチプロセッサシステムで
は、各プロセッサ(CPU) 1 での論理シミュレーション
と、ソフトシミュレーションの動作タイミングが異な
る。具体的には、例えば、論理シミュレーションではク
ロック単位で動作し、ソフトシミュレーションでは命令
単位で動作し、各命令での処理時間も異なるため、メモ
リに対すアクセスアドレスを同じにすると、そのアドレ
スの内容が、どのプロセッサ(CPU0,1,〜n) 1で実行され
た結果かを特定することができなくなるので、従来は、
図8に示したように、各プロセッサ(CPU) 1 でのアクセ
ス領域を、予め、分けて試験を行っていた。そのため、
マルチプロセッサシステムでの、各プロセッサ(CPU0,1,
〜n) 1からの、共有メモリ 13 上の同一領域にアクセス
する試験ができないという問題があった。
In this case, in the multiprocessor system, the operation timings of the logical simulation and the soft simulation in each processor (CPU) 1 are different. Specifically, for example, the logic simulation operates in units of clocks, the soft simulation operates in units of instructions, and the processing time for each instruction is different. Therefore, if the same access address to the memory is used, the contents of that address will change. , It is not possible to specify which processor (CPU0,1, ~ n) 1 has executed the result.
As shown in FIG. 8, the access area in each processor (CPU) 1 was divided and tested in advance. for that reason,
In a multiprocessor system, each processor (CPU0,1,
~ N) There was a problem that the test from 1 to access the same area on the shared memory 13 could not be performed.

【0015】(3) 又、論理シミュレーションを2回動作
させ、1回目と2回目との命令の順序は異なるが、1回
目と2回目の任意タイミングでのレジスタやメモリの内
容が同じとなるように、1回目と2回目で実行される命
令列を作成して、該1回目と2回目の任意タイミングで
のレジスタやメモリの内容を比較することで、例えば、
スーパースカラ装置での動作の検証を行う手法がある。
(3) Also, the logic simulation is operated twice, and the order of the first and second instructions is different, but the contents of the register and the memory are the same at the first and second arbitrary timings. By creating an instruction sequence to be executed at the first time and the second time and comparing the contents of the register and the memory at the arbitrary timings at the first time and the second time,
There is a method of verifying the operation of the superscalar device.

【0016】この方法では、1回目と2回目の命令列の
順序が異なるが、レジスタやメモリの内容を同一にする
ようなランダム命令列を作成するのは、非常に難しく、
工数が多大になるという問題があった。
According to this method, the order of the first and second instruction sequences is different, but it is very difficult to create a random instruction sequence in which the contents of registers and memories are the same.
There was a problem that man-hours would be large.

【0017】本発明は上記従来の欠点に鑑み、マルチプ
ロセッサシステムにおける論理シミュレーション方法に
おいて、論理シミュレーションとソフトシミュレーショ
ンとを同時に実行して、任意のタイミングで、該論理シ
ミュレーションとソフトシミュレーションの実行結果を
比較する手法で、各プロセッサ(CPU) から共有メモリ上
の同一領域にもアクセスできる方法、又は、該論理シミ
ュレーションを2回実行して、1回目と2回目の命令の
順序が異なるが任意のタイミングでのレジスタ、メモリ
の内容を同一にするランダム命令列を簡単に生成する方
法を提供することを目的とするものである。
In view of the above-mentioned conventional drawbacks, the present invention executes a logic simulation and a soft simulation at the same time in a logic simulation method in a multiprocessor system, and compares the execution results of the logic simulation and the soft simulation at arbitrary timings. Method to access the same area on the shared memory from each processor (CPU), or execute the logic simulation twice and the order of the first and second instructions is different but at any timing. It is an object of the present invention to provide a method for easily generating a random instruction sequence that makes the contents of registers and memory the same.

【0018】[0018]

【課題を解決するための手段】図1〜図6は、本発明の
一実施例を模式的に示した図である。上記の問題点は下
記の如くに構成したマルチプロセッサシステムにおける
論理シミュレーション方法によって解決される。
1 to 6 are schematic views showing an embodiment of the present invention. The above problems can be solved by a logic simulation method in a multiprocessor system configured as follows.

【0019】本発明においても、前述のように、論理シ
ミュレーションとソフトシミュレーションとの動作タイ
ミングが異なることに鑑みて、各プロセッサ(CPU) 1 で
アクセスするメモリ領域を、各プロセッサ(CPU) 1 毎
に、予め、分けておく手法を採ることを前提とする。
Also in the present invention, in view of the difference in operation timing between the logic simulation and the soft simulation as described above, the memory area accessed by each processor (CPU) 1 is set for each processor (CPU) 1. , It is assumed that the method of dividing in advance is adopted.

【0020】(1) 複数個のメモリユニット(MSU0,1,〜)
13を、複数個のプロセッサモジュール(PM0,1, 〜) 1 に
分散させて配置するか、又は、複数個のプロセッサモジ
ュール(PM0,1, 〜) 1 とは独立したメモリモジュール(M
M) 2に配置し、該メモリユニット(MSU0,1,〜) 13を複数
個のプロセッサモジュール(PM0,1, 〜) 1 から選択的に
アクセスするようにしたマルチプロセッサシステムにお
いて、{図7参照}論理シミュレーションとソフトシミ
ュレーションとを同時に動作させ、任意のタイミング
で、該論理シミュレーションの結果とソフトシミュレー
ションの結果とを比較する方法であって、上記複数個の
メモリユニット(MSU0,1,〜) 13に対して、各プロセッサ
の専用の読込み, 書込み領域と、全プロセッサの共有
書込み領域を割り当て、読込み命令は各プロセッサ専
用の読込み, 書込み領域から読込み、書込み命令は各
プロセッサ専用の読込み, 書込み領域, 又は全プロセ
ッサの共有の書込み領域に書込むようにして、全プロ
セッサ(CPU0,1,〜n) 10 に共有な書込み領域での各プ
ロセッサ(CPU0,1,〜n) 10 からの同一アドレスへの書込
みにより、プロセッサ間の競合の試験を行うように構成
する。{図1参照} (2) 複数個のメモリユニット(MSU0,1,〜) 13を、複数個
のプロセッサモジュール(PM0,1, 〜) 1 に分散させて配
置するか、又は、複数個のプロセッサモジュール(PM0,
1, 〜) 1 とは独立したメモリモジュール(MM) 2に配置
し、該メモリユニット(MSU0,1,〜) 13を複数個のプロセ
ッサモジュール(PM0,1, 〜) 1 から選択的にアクセスす
るようにしたマルチプロセッサシステムにおいて、論理
シミュレーションとソフトシミュレーションとを同時に
動作させ、任意のタイミングで、該論理シミュレーショ
ンの結果とソフトシミュレーションの結果とを比較する
方法であって、上記複数個のメモリユニット(MSU0,1,〜
n) 13 に対して、各プロセッサ(CPU0,1,〜n) 10 の専用
の読込み, 書込み領域と、全プロセッサに共有な読込
み,書込み領域を割り当て、読込み命令は、各プロセ
ッサの専用の読込み, 書込み領域から読込み、又は、
ある特定のレジスタAに読込むようにした読込み命令
では、他の各プロセッサ専用の読込み, 書込み領域,
又は全プロセッサに共有な読込み領域,書込み領域a
からの不定のデータのみを読み込み、上記不定データが
ロードされている特定のレジスタAは該特定の読込み
命令以外では一切使用しないようにして、論理シミュレ
ーションとソフトシミュレーションでの結果比較の対象
外とし、書込み命令は、各プロセッサの専用の読込み,
書込み領域,又は、全プロセッサに共有な上記書込み
領域aに書込み、上記特定のレジスタAでのデータ
比較をしないようにして、該全プロセッサに共有な読込
み,書込み領域aへの書込み動作とか、各プロセッサ
(CPU0,1,〜n) 10 の専用の読込み, 書込み領域での、
上記特定レジスタA以外のレジスタとの間の読込み,
書込みの擾乱の有無をチェックして、プロセッサ(CPU0,
1,〜n) 10 間の競合の試験を行うように構成する。{図
2参照} (3) 複数個のメモリユニット(MSU0,1,〜) 13を、複数個
のプロセッサモジュール(PM0,1, 〜) 1 に分散させて配
置するか、又は、複数個のプロセッサモジュール(PM0,
1, 〜) 1 とは独立したメモリモジュール(MM) 2に配置
し、該メモリユニット(MSU0,1,〜) 13を複数個のプロセ
ッサモジュール(PM0,1, 〜) 1 から選択的にアクセスす
るようにしたマルチプロセッサシステムにおいて、論理
シミュレーションとソフトシミュレーションとを同時に
動作させ、任意のタイミングで、該論理シミュレーショ
ンの結果とソフトシミュレーションの結果とを比較する
方法であって、上記複数個のメモリユニット(MSU0,1,〜
n) 13 に対して、各プロセッサの専用の読込み, 書込み
領域と、全プロセッサに共有な読込み,書込み領域
を割り当て、上記全プロセッサ(CPU0,1,〜n) 10 に共有
な読込み,書込み領域は、予め、任意の数値で初期化
しておき、読込み命令は、各プロセッサ(CPU0,1,〜n) 1
0 に専用の読込み,書込み領域から読み込み、又は、
ある特定のレジスタAに読込むようにした読込み命令
では、全プロセッサ(CPU0,1,〜n) 10 に共有な読込み,
書込み領域から読込むようにし、この特定のレジスタ
Aは、上記全プロセッサ(CPU0,1,〜n) 10 に共有な読
込み,書込み領域から読込み以外には使用しないよう
にし、書込み命令は、各プロセッサ(CPU0,1,〜n) 10 に
専用の読込み,書込み領域,又は、全プロセッサ(CPU
0,1,〜n) 10 に共有な書込み領域へ書込み、該全プロ
セッサ(CPU0,1,〜n) 10 に共有な書込み領域への書込
みデータは、各プロセッサ(CPU0,1,〜n) 10 で、常に、
上記初期化された値とは異なる固定値とし、任意のタイ
ミングで、上記特定のレジスタ、及び全プロセッサ共
有の読込み,書込み領域の値が、上記初期化された
値,又は各プロセッサに固有な固定値であることを確認
するように構成する。{図3参照} (4) 複数個のメモリユニット(MSU0,1,〜) 13を、複数個
のプロセッサモジュール(PM0,1, 〜) 1 に分散させて配
置するか、又は、複数個のプロセッサモジュール(PM0,
1, 〜) 1 とは独立したメモリモジュール(MM) 2に配置
し、該メモリユニット(MSU0,1,〜) 13を複数個のプロセ
ッサモジュール(PM0,1, 〜) 1 から選択的にアクセスす
るようにしたマルチプロセッサシステムで、他のプロセ
ッサモジュール(PM0,1, 〜n) 1のメモリユニットの内容
が、自己のプロセッサモジュール(PM0,1, 〜n) 1のキャ
ッシュメモリ(Cache) 11にムーブインされるマルチプロ
セッサシステムにおいて、該キャッシュメモリ(Cache)
11に格納される1キャッシュラインデータのサイズが、
1読込み,書込み命令による読込み,書込みデータのサ
イズより大きい場合での、該マルチプロセッサシステム
で論理シミュレーションとソフトシミュレーションとを
同時に動作させ、任意のタイミングで、該論理シミュレ
ーションの結果とソフトシミュレーションの結果とを比
較する方法であって、上記各プロセッサモジュール(PM
0,1, 〜n) 1に共有な複数個のメモリユニット(MSU0,1,
〜n) 13,20上で、上記1キャッシュラインのデータサイ
ズ (例えば、16バイト,32 バイト,64 バイト) を、各プ
ロセッサ(CPU0,1,〜n) 10 に対応して、上記各プロセッ
サ(CPU0,1,〜n) 10 で読込み,書込みするサイズ (語)
で分割し、更に、該分割された各プロセッサ(CPU0,1,〜
n) 10 で読込み,書込みするデータサイズの単位 (語)
を、各プロセッサ(CPU0,1,〜n) 10 に対応して、バイ
ト,又は複数ビット単位に分割して、各プロセッサ(CPU
0,1,〜n) 10 に専用の読込み, 書込み領域として割当
て、各プロセッサ(CPU0,1,〜n) 10 で上記読込み,書込
み命令のデータサイズの単位 (語) で、上記共有メモリ
13,20上の各プロセッサ(CPU0,1,〜n) 10 に割当てられ
た専用の領域をアクセスするように構成する。{図4
参照} (5) (1) 〜(4) 項の論理シミュレーション方法であっ
て、複数個のメモリユニット(MSU0,1,〜) 13を、複数個
のプロセッサモジュール(PM0,1, 〜) 1 に分散させて配
置するか、又は、複数個のプロセッサモジュール(PM0,
1, 〜) 1 とは独立したメモリモジュール(MM) 2に配置
し、該メモリユニット(MSU0,1,〜) 13を複数個のプロセ
ッサモジュール(PM0,1, 〜) 1 から選択的にアクセスす
るようにしたマルチプロセッサシステムで、各プロセッ
サ(CPU0,1,〜n) 10 での読込み,書込み命令に、該読込
み単位,又は書込み単位で、レジスタ,メモリ間で直
行,又は、交差させるモード備えたマルチプロセッサシ
ステムにおいて、論理シミュレーションとソフトシミュ
レーションとを同時に動作させ、任意のタイミングで、
該論理シミュレーションの結果とソフトシミュレーショ
ンの結果とを比較する方法であって、複数個の各プロセ
ッサモジュール(PM0,1, 〜n) 1で、上記読込み,書込み
モードを選択的に設定しておき、各プロセッサモジュー
ル(PM0,1, 〜n) 1で同一の試験プログラムを走行させ、
各プロセッサモジュール(PM0,1, 〜n) 1において、上記
モードの違いにより、メモリアクセス箇所を変更させ
て、試験するように構成する。{図5参照} (6) (1) 項〜(5) 項の論理シミュレーション方法であっ
て、論理シミュレーションを2回動作させ、1回目と2
回目との命令の順序が異なるが1回目と2回目の任意の
タイミングで、レジスタ,メモリの内容が同じである命
令列を生成し、該2つの命令列を実行して任意のタイミ
ングで、レジスタ,メモリの内容が同じであることを比
較して試験する方法であって、1回目に実行する命令列
は、全プロセッサ(CPU0,1,〜n) 10 で共有する書込み領
域への書込み命令を含まない命令列とし、2回目に実
行する命令列は、上記全プロセッサ(CPU0,1,〜n) 10 で
共有する書込み領域への書込み命令を含まない命令列
に、該全プロセッサ(CPU0,1,〜n) 10 で共有する書込み
領域への書込み命令を、選択的に挿入した命令列とす
るように構成する。{図6参照}
(1) Multiple memory units (MSU0,1, ...)
13 are distributed among a plurality of processor modules (PM0,1, ...) 1 or are arranged in a memory module (M0, M) independent of the plurality of processor modules (PM0,1, ...) 1.
M) 2 and the memory unit (MSU0,1, ...) 13 is selectively accessed from a plurality of processor modules (PM0,1, ...) 1 in a multiprocessor system (see FIG. 7). } A method of operating the logic simulation and the soft simulation at the same time and comparing the result of the logic simulation with the result of the soft simulation at an arbitrary timing, which comprises the plurality of memory units (MSU0,1, ...) 13 For each, a dedicated read / write area for each processor and a shared write area for all processors are assigned.Read instructions are read / write areas dedicated to each processor, and write instructions are read / write areas dedicated to each processor. Alternatively, write in the shared write area of all processors, so that each processor in the shared write area of all processors (CPU0, 1, to n) 10 Sessa (CPU0,1, ~n) by writing to the same address from the 10, configured to perform tests of conflicts between processors. {Refer to FIG. 1} (2) A plurality of memory units (MSU0,1,-) 13 are distributed and arranged in a plurality of processor modules (PM0,1,-) 1 or a plurality of processors Module (PM0,
1, ~) 1 is arranged in a memory module (MM) 2 independent of 1, and the memory unit (MSU0,1, ~) 13 is selectively accessed from a plurality of processor modules (PM0,1, ...) 1. In the multiprocessor system configured as described above, a method of operating a logical simulation and a soft simulation at the same time and comparing the result of the logical simulation and the result of the soft simulation at an arbitrary timing, wherein the plurality of memory units ( MSU0,1, ~
n) 13 to each processor (CPU0,1, to n) 10 dedicated read / write area and shared read / write area to all processors, read instructions are assigned to each processor Read from the writing area, or
With a read instruction designed to read into a specific register A, the read / write area for each other processor,
Or, read area and write area a shared by all processors
Read only undefined data from the specified register A, and do not use the specific register A loaded with the undefined data except for the specific read instruction, and exclude the result comparison between the logic simulation and the soft simulation. The write instruction is a dedicated read of each processor,
The write area or the write area a shared by all the processors is written, and the data shared by the specific register A is not compared, and the read shared by all the processors, the write operation to the write area a, and the like. Processor
(CPU0,1, ~ n) 10 dedicated read / write area,
Read between registers other than the above specific register A,
Check if there is any write disturbance and check the processor (CPU0,
1 to n) Configure to test for competition between 10. {Refer to FIG. 2} (3) A plurality of memory units (MSU0,1,-) 13 are distributed and arranged in a plurality of processor modules (PM0,1,-) 1 or a plurality of processors Module (PM0,
1, ~) 1 is arranged in a memory module (MM) 2 independent of 1, and the memory unit (MSU0,1, ~) 13 is selectively accessed from a plurality of processor modules (PM0,1, ...) 1. In the multiprocessor system configured as described above, a method of operating a logical simulation and a soft simulation at the same time and comparing the result of the logical simulation and the result of the soft simulation at an arbitrary timing, wherein the plurality of memory units ( MSU0,1, ~
n) For 13, the dedicated read / write area of each processor and the shared read / write area for all processors are assigned, and the shared read / write area for all the above processors (CPU0,1, ... n) 10 , Which is initialized in advance with an arbitrary numerical value, the read instruction is executed by each processor (CPU0,1, ... n) 1
Read only from 0, read from write area, or
With a read instruction designed to read into a specific register A, a shared read among all processors (CPU0,1, ... n) 10,
Read from the write area, this specific register A is used for all the processors (CPU0, 1, to n) 10 other than the common read and read from the write area. CPU0,1, ... n) 10 dedicated read / write area, or all processors (CPU
0,1, ~ n) 10 write to the shared write area, and write data to the shared write area for all the processors (CPU0,1, ~ n) 10 is for each processor (CPU0,1, ~ n) 10 And always
A fixed value different from the initialized value is set, and the read / write area values shared by all the specific registers are fixed to the initialized value or fixed to each processor at an arbitrary timing. Configure to check value. {Refer to FIG. 3} (4) A plurality of memory units (MSU0,1,-) 13 are distributed and arranged in a plurality of processor modules (PM0,1,-) 1 or a plurality of processors Module (PM0,
1, ~) 1 is arranged in a memory module (MM) 2 independent of 1, and the memory unit (MSU0,1, ~) 13 is selectively accessed from a plurality of processor modules (PM0,1, ...) 1. In this multiprocessor system, the contents of the memory unit of the other processor module (PM0,1, ... n) 1 is moved into the cache memory (Cache) 11 of its own processor module (PM0,1, ... n) 1. Cache memory in a multiprocessor system
The size of one cache line data stored in 11 is
1. When the read / write instruction has a size larger than the size of the read / write data, the logical simulation and the soft simulation are simultaneously operated in the multiprocessor system, and the result of the logical simulation and the result of the soft simulation are obtained at arbitrary timing. Of the processor modules (PM
0,1, ~ n) 1 shared memory units (MSU0,1,
~ N) 13,20, the data size of one cache line (for example, 16 bytes, 32 bytes, 64 bytes) corresponds to each processor (CPU0,1, ~ n) 10 CPU0,1, ... n) 10 size to read and write (word)
With each of the divided processors (CPU0, 1, ...
n) Unit of data size to read and write with 10 (word)
Corresponding to each processor (CPU0,1, ... n) 10 is divided into byte or multiple bit units, and each processor (CPU
0,1, ... n) 10 dedicated read / write area, each processor (CPU0,1, ... n) 10 has the above shared memory in the unit of read / write instruction data size (word)
It is configured to access the dedicated area assigned to each processor (CPU 0,1, to n) 10 on 13,20. {Fig. 4
Refer to (5) In the logic simulation method of items (1) to (4), a plurality of memory units (MSU0,1, ...) 13 are replaced by a plurality of processor modules (PM0,1, ...) 1. It can be distributed and placed, or multiple processor modules (PM0,
1, ~) 1 is arranged in a memory module (MM) 2 independent of 1, and the memory unit (MSU0,1, ~) 13 is selectively accessed from a plurality of processor modules (PM0,1, ...) 1. In such a multiprocessor system, each processor (CPU0, 1, to n) 10 is provided with a read or write command in a mode in which a read or write unit directly or crosses registers or memories. In a multiprocessor system, logical simulation and soft simulation are operated at the same time, and at arbitrary timing,
A method of comparing the result of the logical simulation and the result of the soft simulation, wherein the read and write modes are selectively set in each of a plurality of processor modules (PM0,1, ... n) 1. Run the same test program on each processor module (PM0,1, ... n) 1,
Each of the processor modules (PM0,1, ..., N) 1 is configured so that the memory access location is changed and tested depending on the mode difference. {Refer to FIG. 5} (6) In the logic simulation method of the items (1) to (5), the logic simulation is operated twice and the first and second
An instruction sequence having the same contents of the register and the memory is generated at an arbitrary timing of the first and second times although the order of the instructions is different from that of the second time, and the two instruction sequences are executed and the register is generated at an arbitrary timing. , It is a method of comparing and testing that the contents of memory are the same, and the instruction sequence to be executed for the first time is the writing instruction to the writing area shared by all the processors (CPU0,1, ~ n) 10. The instruction sequence that does not include the instruction sequence to be executed the second time is the instruction sequence that does not include the write instruction to the write area shared by all the processors (CPU0, 1, to n) 10 described above. , ~ N) The write command to the write area shared by 10 is configured as a selectively inserted command sequence. {Refer to Fig. 6}

【0021】[0021]

【作用】即ち、本発明によるマルチプロセッサシステム
での論理シミュレーション方法では、複数個のメモリユ
ニット(MSU0,1,〜) 13を、複数個のプロセッサモジュー
ル(PM0,1, 〜) 1 に分散させて配置するか、又は、複数
個のプロセッサモジュール(PM0,1, 〜) 1 とは独立した
メモリモジュール(MM) 2に配置し、該メモリユニット(M
SU0,1,〜) 13を複数個のプロセッサモジュール(PM0,1,
〜) 1 から選択的にアクセスするようにしたマルチプロ
セッサシステムにおいて、論理シミュレーションとソフ
トシミュレーションとを同時に動作させ、任意のタイミ
ングで、該論理シミュレーションの結果とソフトシミュ
レーションの結果とを比較するのに、各メモリユニット
(MSU0,1,〜n) 13 に対して、各プロセッサの専用の読込
み,書込み領域と、全プロセッサの共有書込み領域
を割り当て、読込み命令は各プロセッサの専用の読込
み, 書込み領域から読込み、書込み命令は各プロセッ
サ専用の読込み, 書込み領域, 又は全プロセッサの共
有の書込み領域に書込むようにした命令列で論理シミ
ュレーションを行うようにすることにより、上記全プロ
セッサ(CPU0,1,〜n) 10 に共有な書込み領域での各プ
ロセッサ(CPU0,1,〜n) 1からの同一アドレスへの書込み
の発生が可能となり、プロセッサ間の競合の試験を行う
ことができる。{図1,請求項1に対応} 又、上記の論理シミュレーション条件で、読込み命令は
各プロセッサの専用の読込み, 書込み領域から読込む
ようにし、又は、ある特定のレジスタAに読込むよう
にした読込み命令では、他の各プロセッサ専用の読込
み, 書込み領域,又は全プロセッサに共有な読込み領
域,書込み領域aからの、各プロセッサ(CPU0,1,〜n)
10 では特定することができない不定のデータのみを読
み込み、上記不定データがロードされている特定のレジ
スタAは該特定の読込み命令以外では一切使用しない
ようにして、論理シミュレーションとソフトシミュレー
ションでの結果比較の対象外とし、書込み命令は、各プ
ロセッサの専用の読込み,書込み領域,又は、全プロ
セッサに共有な上記書込み領域aに書込むようにした
命令列で論理シミュレーションを行うようにする。
That is, in the logic simulation method in the multiprocessor system according to the present invention, a plurality of memory units (MSU0,1, ...) 13 are dispersed in a plurality of processor modules (PM0,1, ...) 1. Or a plurality of processor modules (PM0,1, ...) 1 and a memory module (MM) 2 independent of the memory module (M
SU0,1, ...) 13 to multiple processor modules (PM0,1,
〜) In the multiprocessor system that is selectively accessed from 1, to simultaneously operate the logical simulation and the soft simulation and compare the result of the logical simulation with the result of the soft simulation at an arbitrary timing, Each memory unit
For (MSU0,1, ~ n) 13, allocate the dedicated read / write area of each processor and the shared write area of all the processors, and the read instruction is the read / write area of the dedicated read / write area of each processor. Is executed in all the processors (CPU0,1, ... n) 10 by performing a logic simulation with the instruction sequence designed to be written in the read / write area dedicated to each processor or the shared write area of all processors. It is possible to write to the same address from each processor (CPU 0, 1, to n) 1 in the shared write area, and it is possible to test the competition between processors. {Corresponding to FIG. 1, claim 1} Further, under the above-mentioned logic simulation conditions, the read instruction is read from a dedicated read / write area of each processor, or a read instruction which is read into a specific register A. , Each processor (CPU0, 1, to n) from the read / write area dedicated to each other processor, or the read / write area a shared by all processors
Only the undefined data that cannot be specified in 10 is read, and the specific register A loaded with the undefined data is not used at all except for the specific read instruction, and the result comparison between logic simulation and soft simulation is performed. The write instruction is excluded from the above, and the logic simulation is performed by a dedicated read / write area of each processor, or an instruction string written in the write area a shared by all the processors.

【0022】このような命令列を実行することで、該全
プロセッサに共有な読込み,書込み領域aへの書込み
動作では、複数のプロセッサ(CPU0,1,〜n) 10 から該共
有な読込み,書込み領域aの同一アドレスへの書込み
の発生が可能となり、プロセッサ間の競合の試験を行う
ことができると共に、各プロセッサ(CPU0,1,〜n) 10の
専用の読込み, 書込み領域での、読込み,書込み動作
中に、上記特定レジスタに対する読み込み(ロード)
命令を選択的に挿入して、該特定レジスタA以外のレ
ジスタと専用メモリ領域の間の読込み, 書込み動作の
擾乱の有無をチェックすることで、上記図1で説明した
命令列と異なるケースでプロセッサ(CPU0,1,〜n) 10 間
の競合を試験することができる。{図2,請求項2に対
応} 又、上記請求項2に記載の論理シミュレーション方法で
は、プロセッサ(CPU0,1,〜n) 10 に共有な読込み,書込
み領域には、各プロセッサ(CPU0,1,〜n) 10が認識す
ることがでいないデータが書込まれていた。そこで、こ
こでは、該全プロセッサ(CPU0,1,〜n) 10 に共有な読込
み,書込み領域を、論理シミュレーションの始めに初
期化、例えば、数値“5”を書込んでおく。又、各プロ
セッサ(CPU0,1,〜n) 10 から、該共有な読込み,書込み
領域への書込みデータは、上記初期化値とは異なる固
定の値、例えば、“0”〜とする。
By executing such an instruction sequence, in the read operation common to all the processors and the write operation to the write area a, the shared read operation and the write operation from the plurality of processors (CPU 0, 1, to n) 10 are performed. It is possible to write to the same address in area a, and it is possible to test the competition between processors, and also to read the data exclusively for each processor (CPU0, 1, to n) 10, read in the write area, Read (load) to the above specific register during the write operation
By selectively inserting an instruction and checking whether or not there is a disturbance of a read / write operation between a register other than the specific register A and a dedicated memory area, the processor can be used in a case different from the instruction sequence described in FIG. 1 above. You can test the competition between (CPU0,1, ... n) 10. {Corresponding to FIG. 2 and Claim 2} In the logic simulation method according to Claim 2, each processor (CPU0,1) has a read / write area shared by the processors (CPU0,1, ... , ~ N) The data that was not recognized by 10 was written. Therefore, here, the read and write areas shared by all the processors (CPU 0, 1, to n) 10 are initialized at the beginning of the logic simulation, for example, a numerical value “5” is written. Further, write data from each processor (CPU 0, 1, to n) 10 to the shared read / write area is a fixed value different from the above initialization value, for example, "0" to.

【0023】そして、上記論理シミュレーションを実行
して、任意のタイミングで、特定のレジスタAの内
容、又は、該全プロセッサ(CPU0,1,〜n) 10 に共有な読
込み,書込み領域の値が、上記初期値, 又は、各プロ
セッサ(CPU0,1,〜n) 10 に固有な値になっていることを
チェックする。若し、上記の値以外のデータが検出され
たときには、異常が発生したことになるので、各プロセ
ッサ(CPU0,1,〜n) 10 による競合試験を行うことができ
る。{図3,請求項3に対応} 図7に示したマルチプロセッサシステムは、他のプロセ
ッサモジュール(PM0,1, 〜n) 1のメモリユニット(MSU0,
1,〜n) 13 の内容が、共通バス(BUS) 3 を介して、自己
のキャッシュメモリ(Cache) 11にムーブインされるシス
テムであるとする。このムーブインで、各キャッシュメ
モリ(Cache) 11に格納されるデータのサイズ{1キャッ
シュライン(1ブロックともいう)}が、読込み,書込
み命令による読込み,書込みデータの単位(通常は、1
語)より大きい(例えば、16バイト,32バイト,6
4バイト等)場合、各プロセッサ(CPU0,1,〜n) 10 で読
込み, 書込みするデータサイズ (語) で、各プロセッサ
(CPU0,1,〜n) 10 に対応して、各プロセッサ(CPU0,1,〜
n) 10 に共有なメモリ 13 を分割して割当てる。{図4
(a) 参照} すると、あるプロセッサ(CPU0) 10 が特定の語をアクセ
スして、上記自己に割当てられた領域に対するアクセ
スが発生し、自己のキャッシュ(Cache) 11に存在しない
とき、他のプロセッサ(CPU1,2,〜n) 10 のメモリユニッ
ト(MSU0,1,〜n)13,又は、キャッシュ(Cache) 11から、
上記1キャッシュラインのデータが共通バス 3を介して
ムーブインされ、該ムーブインされた1キャッシュライ
ン中の所定の語が、上記プロセッサ(CPU0) 10 にロード
される。従って、各プロセッサ(CPU0,1,〜n) 10 で上記
のような処理を行う命令列を生成して論理シミュレーシ
ョンを行うことで、1キャッシュライン単位での負荷を
上げることができる。但し、この場合の該1キャッシュ
ラインのデータブロックの移動は、キャッシュメモリ(C
ache) 11→記憶制御ユニット(MMU) →メモリユニット(M
SU0,1,〜n)→共通バス→メモリユニット(MSU0,1,〜n)→
記憶制御ユニット(MMU) →キャッシュメモリ(Cache) 11
の経路である。
Then, by executing the above-mentioned logic simulation, the contents of a specific register A or the values of the read / write area shared by all the processors (CPU0, 1, ... Check that the above initial value or a value unique to each processor (CPU0, 1, to n) 10 is set. If data other than the above values is detected, it means that an abnormality has occurred, so that the competition test by each processor (CPU 0, 1, to n) 10 can be performed. {Corresponding to FIG. 3 and Claim 3} The multiprocessor system shown in FIG. 7 has a memory unit (MSU0,
It is assumed that the contents of (1 to n) 13 are moved into its own cache memory (Cache) 11 via the common bus (BUS) 3. In this move-in, the size of data stored in each cache memory (Cache) 11 {1 cache line (also referred to as 1 block)} is a unit of read / write data by a read / write command (usually 1
Larger than words) (eg 16 bytes, 32 bytes, 6
4 bytes), the data size (word) to be read and written by each processor (CPU0, 1, to n) 10
(CPU0,1, ~ n) 10 corresponding to each processor (CPU0,1, ~ n)
n) Divide and allocate shared memory 13 to 10. {Fig. 4
(see (a)) Then, when a certain processor (CPU0) 10 accesses a specific word to access the area allocated to itself and it does not exist in its own cache (Cache) 11, another processor (CPU1,2, ~ n) From 10 memory units (MSU0,1, ~ n) 13 or cache (Cache) 11,
The data of the one cache line is moved in via the common bus 3, and a predetermined word in the one cache line thus moved in is loaded into the processor (CPU0) 10. Therefore, it is possible to increase the load in units of one cache line by generating an instruction sequence for performing the above-described processing in each processor (CPU 0, 1, to n) 10 and performing logical simulation. However, the movement of the data block of the one cache line in this case is performed by the cache memory (C
ache) 11 → Storage control unit (MMU) → Memory unit (MMU
SU0,1, ~ n) → common bus → memory unit (MSU0,1, ~ n) →
Storage control unit (MMU) → Cache memory (Cache) 11
Is the route.

【0024】この論理シミュレーションの方法は、本願
出願人が先願している特願平07-071853 号「キャッシュ
メモリの動作試験方法および動作試験システム」に開示
しているものである。この方法では、前述のように、1
キャッシュライン単位での負荷を上げて論理シミュレー
ションを行う方法であるが、それ以下のデータサイズで
の負荷を上げるには別の方法を採る必要がある。
This logic simulation method is disclosed in Japanese Patent Application No. 07-071853 “Cache memory operation test method and operation test system” filed by the applicant of the present application. In this method, as described above, 1
This is a method of performing a logic simulation by increasing the load in cache line units, but another method must be adopted to increase the load in a data size smaller than that.

【0025】そこで、本願発明では、各プロセッサ(CPU
0,1,〜n) 10 の読込み, 書込み単位である1語(4バイ
ト,8バイト,16バイト等)を、各プロセッサ(CPU0,
1,〜n) 10 で読込み, 書込みする単位、例えば、バイ
ト, 複数ビットで、該読込み, 書込み単位 (語) の領
域を図4(b) に示したように分割して、各プロセッサ(C
PU0,1,〜n) 10 に割当てる。
Therefore, in the present invention, each processor (CPU
0,1, ... n) 1 word (4 bytes, 8 bytes, 16 bytes, etc.), which is the unit of reading and writing of 10, is read by each processor (CPU0,
1, to n) 10 read / write units, for example, bytes and multiple bits, and the read / write unit (word) area is divided as shown in FIG.
PU0,1, ~ n) 10 are assigned.

【0026】このように構成することで、例えば、バイ
ト単位,複数ビット単位でのアクセス毎に、1キャッシ
ュライン単位のムーブインを発生させ、語単位,1キャ
ッシュライン単位での負荷を増加させることができる。
この場合には、移動するデータブロックは、プロセッサ
(CPU0,1,〜n) 10 →キャッシュメモリ(Cache) 11→記憶
制御ユニット(MMU) →メモリユニット(MSU0,1,〜n)→共
通バス→メモリユニット(MSU0,1,〜n)→記憶制御ユニッ
ト(MMU) →キャッシュメモリ(Cache) 11→プロセッサ(C
PU0,1,〜n) 10 の経路となる。{図4,請求項4に対
応} 図5は、プロセッサ(CPU0,1,〜n) 10 の読込み, 書込み
方法に2つのモード、即ち、メモリとレジスタとの間
で、例えば、2バイト単位(1/4半語),4バイト単
位(半語)で交差して読み,書きするモード(方式1)
と、直行的に読み, 書きするモード(方式2)を示して
おり、最近のプロセッサモジュール(PM0,1, 〜n) 1で
は、該2つモードをサポートしていることが多いことに
着目して、例えば、2つのプロセッサ(PM0,1) の間で、
一方を方式1のモードとし、他方を方式2のモードで動
作させる。
With this configuration, for example, a move-in in cache line units can be generated for each access in byte units or plural bit units, and the load in word units or cache line units can be increased. it can.
In this case, the moving data block is the processor
(CPU0,1, to n) 10 → Cache memory (Cache) 11 → Storage control unit (MMU) → Memory unit (MSU0,1, to n) → Common bus → Memory unit (MSU0,1, to n) → Storage Control unit (MMU) → Cache memory (Cache) 11 → Processor (C
PU0,1, ~ n) 10 routes. {Corresponding to FIG. 4 and Claim 4} FIG. 5 shows two modes for the reading and writing methods of the processor (CPU0, 1, to n) 10, that is, between the memory and the register, for example, in units of 2 bytes ( 1/4 half word), 4 bytes unit (half word) crossing reading and writing mode (method 1)
And the mode (method 2) for reading and writing in a straight line are shown. It is noted that the latest processor modules (PM0,1, ... n) 1 often support these two modes. For example, between two processors (PM0,1),
One is set to the mode 1 mode, and the other is operated in the mode 2 mode.

【0027】プロセッサ(PM0) 10とプロセッサ(PM1) 10
との間で、このような動作をさせると、例えば、プロ
セッサ(PM0) 10のメモリユニット(MSU0) 13 の隣接した
4バイトに、2つのプロセッサ(PM0,1) からの書込みデ
ータを格納させることができ、プロセッサ(PM0,1) 間の
競合動作を確認することができる。{図5(a) 参照}図
5(b) は、半語単位での競合動作の例を示したもので、
原理的には、図5(a)の動作と同じである。{図5,請
求項5に対応} 次に、従来の技術で説明したように、論理シミュレーシ
ョンを2回動作させ、1回目と2回目との命令の順序は
異なるが、1回目と2回目の任意タイミングでのレジス
タやメモリの内容が同じとなるように、1回目と2回目
で実行される命令列を作成して、該1回目と2回目の任
意タイミングでのレジスタやメモリの内容を比較するこ
とで、例えば、スーパースカラ装置での動作の検証を行
う手法があるが、この方法では、1回目と2回目の命令
列の順序が異なるが、任意のタイミングでのレジスタや
メモリの内容を同一にするようなランダム命令列を作成
するのは、非常に難しく、工数が多大になるという問題
がある。
Processor (PM0) 10 and Processor (PM1) 10
When this kind of operation is performed between and, for example, write data from two processors (PM0,1) is stored in the adjacent 4 bytes of the memory unit (MSU0) 13 of the processor (PM0) 10. You can check the competition between processors (PM0,1). {Refer to Fig. 5 (a)} Fig. 5 (b) shows an example of competing actions in units of half words.
In principle, the operation is the same as that of FIG. {Corresponding to FIG. 5 and Claim 5} Next, as described in the prior art, the logic simulation is operated twice, and the first and second instructions have different orders, but the first and second instructions are different. Create a sequence of instructions to be executed at the first and second times so that the contents of the registers and memory will be the same at arbitrary timings, and compare the contents of registers and memory at the first and second arbitrary timings. By doing so, for example, there is a method of verifying the operation in the superscalar device. In this method, the contents of the register and memory at arbitrary timing are different even though the order of the first and second instruction sequences is different. It is very difficult to create the same random instruction sequence, and there is a problem that the number of steps is large.

【0028】そこで、本発明では、図6に示したよう
に、1回目に実行する命令列は、全プロセッサ(CPU0,1,
〜n) 10 に共有の書込み領域への書込み命令の無い命
令列を生成する。
Therefore, in the present invention, as shown in FIG. 6, the instruction sequence to be executed for the first time is all processors (CPU0, 1,
~ N) Generates an instruction sequence with no write instruction to the shared write area in 10.

【0029】そして、2回目に実行する命令列は、上記
1回目に実行する命令列に、全プロセッサ(CPU0,1,〜n)
10 に共有の書込み領域への書込み命令を、選択的に
挿入するだけで、1回目に実行する命令列の順序を変更
することができ、スーパースカラ装置では、同時に実行
する命令対が変わるので、1回目と2回目の命令列の順
序が異なるが、レジスタやメモリの内容を同一にするよ
うなランダム命令列を簡単に生成することができる。
{図6,請求項6に対応}
The instruction sequence to be executed for the second time is the same as the instruction sequence to be executed for the first time in all processors (CPU0,1, ... n).
The instruction sequence to be executed the first time can be changed simply by selectively inserting the write instruction to the shared write area in 10, and in the superscalar device, the instruction pair to be executed simultaneously changes. Although the order of the first and second instruction sequences is different, it is possible to easily generate a random instruction sequence that makes the contents of registers and memories the same.
{Corresponding to FIG. 6 and claim 6}

【0030】[0030]

【実施例】以下本発明の実施例を図面によって詳述す
る。前述の図1〜図6が、本発明の一実施例を模式的に
示した図である。
Embodiments of the present invention will be described in detail below with reference to the drawings. 1 to 6 described above are diagrams schematically showing an embodiment of the present invention.

【0031】本発明によに論理シミュレーション方法
は、論理シミュレーションの結果とソフトシミュレーシ
ョンの結果とを比較する方法であって、マルチプロセッ
サシステムの共有メモリ(MSU0,1,〜n) 13,20を、各プロ
セッサ(CPU0,1,〜n) 10 に専用の読込み, 書込み領域
と、各プロセッサ(CPU0,1,〜n) 10 に共有な読込み, 書
込み領域に分割して、該2つの領域,を選択的に
使用する命令列を生成して論理シミュレーションを行う
手段が、本発明を実施するのに必要な手段である。尚、
全図を通して同じ符号は同じ対象物を示している。
According to the present invention, the logic simulation method is a method for comparing the result of the logic simulation with the result of the soft simulation, wherein the shared memory (MSU0,1, ... n) 13,20 of the multiprocessor system is Divide into read / write area dedicated to each processor (CPU0,1, ~ n) 10 and read / write area shared by each processor (CPU0,1, ~ n) 10 and select the two areas Means for generating a sequence of instructions to be used for logical simulation and performing logic simulation are necessary means for implementing the present invention. still,
The same reference numerals denote the same objects throughout the drawings.

【0032】以下、図1〜図6によって、本発明による
論理シミュレーション方法を説明する。本発明のマルチ
プロセッサシステムの論理シミュレーション方法を実施
するハードウェアモデルは、図7(a),(b) に示したマル
チプロセッサシステムである。
The logic simulation method according to the present invention will be described below with reference to FIGS. A hardware model for implementing the logic simulation method of the multiprocessor system of the present invention is the multiprocessor system shown in FIGS. 7 (a) and 7 (b).

【0033】例えば、図7(a) に示したマルチプロセッ
サシステムは、前述のように、各プロセッサモジュール
(PM0,1, 〜n) 1に、メモリユニット(MSU0,1,〜n) 13 が
分散されて配置されており、各プロセッサモジュール(P
M0,1, 〜n) 1内に、例えば、頁単位に、どの頁がどのプ
ロセッサモジュール(PM0,1, 〜n) 1のメモリユニット(M
SU0,1,〜n) 13 に配置されているかを示す、図示されて
いない頁対応テーブルが備えられていて、各プロセッサ
(CPU0,〜) 10がメモリをアクセスするとき、上記頁対応
テーブルを参照して、所望のデータが自己のプロセッサ
モジュール(PM0,1, 〜n) 1内のメモリユニット(MSU0,1,
〜n) 13 に存在するか否かを検索し、他のプロセッサモ
ジュール(PM) 1に存在することが認識された場合には、
共通バス(BUS) 2 を介して、自己のプロセッサモジュー
ル(PM) 1のメモリユニット(MSU)13, キャッシュメモリ
(Cache) 11を介して読込むように動作する。
For example, as described above, the multiprocessor system shown in FIG.
Memory units (MSU0,1, ... n) 13 are distributed and arranged in (PM0,1, ... n) 1, and each processor module (P
M0,1, ... n) 1, for example, in page units, which page is the memory unit (M0,1, ... n) 1 of which processor module (PM0,1, ... n)
SU0,1, ... n) 13 is provided with a page correspondence table (not shown) indicating whether each processor
When (CPU0, ~) 10 accesses the memory, referring to the page correspondence table above, the desired data is the memory unit (MSU0, 1, n) in its own processor module (PM0, 1, ... n) 1.
~ N) It is searched whether it exists in 13, and if it is recognized that it exists in another processor module (PM) 1,
Memory unit (MSU) 13 of its own processor module (PM) 1 via the common bus (BUS) 2, cache memory
Works as if read via (Cache) 11.

【0034】図1は、上記マルチプロセッサシステム
で、プロセッサ間の競合試験を行う命令列を生成すると
きの条件を模式的に示しており、特に、同一領域への複
数のプロセッサ(CPU0,1,〜n) 10 からの書込みを可能に
する方法を示している。
FIG. 1 schematically shows conditions for generating an instruction sequence for performing a competition test between processors in the above-mentioned multiprocessor system. In particular, in particular, a plurality of processors (CPU0, 1, ~ N) shows how to enable writing from 10.

【0035】本実施例においては、各プロセッサモジュ
ール(PM0,1, 〜n) 1のプロセッサ(CPU0,1,〜n) 10 と共
有メモリ(MSU0,1,〜n) 13 との関係を図1に示すように
する。即ち、読込み命令は、各プロセッサ(CPU0,1,〜n)
10 専用の読込み, 書込み領域から読込み、書込み命
令は、各プロセッサ(CPU0,1,〜n) 10 専用の読込み,書
込み領域, 又は、全プロセッサ(CPU0,1,〜n) 10 の共
有書込み領域に書込むようにする。
In the present embodiment, the relationship between the processor (CPU0,1, ... n) 10 of each processor module (PM0,1, ... n) 1 and the shared memory (MSU0,1, ... n) 13 is shown in FIG. As shown in. That is, the read instruction is for each processor (CPU0,1, ... n)
10 Read / write commands from the dedicated read / write area are stored in the dedicated read / write area of each processor (CPU0, 1, to n) 10 or shared write area of all processors (CPU0, 1, to n) 10. Be sure to write.

【0036】このような条件で命令列を生成し、論理シ
ミュレーションを行うと、上記全プロセッサ(CPU0,1,〜
n) 10 の共有書込み領域において、各プロセッサ(CPU
0,1,〜n) 10 から同一アドレスに対する書込みが発生し
て、各プロセッサ(CPU0,1,〜n) 10 間の競合を試験する
ことができる。
When an instruction sequence is generated under such a condition and a logic simulation is performed, all the processors (CPU0, 1, ...
n) Each processor (CPU
A write to the same address occurs from 0,1, ... n) 10, and the competition between each processor (CPU0,1, ... n) 10 can be tested.

【0037】該競合が起こると、あるプロセッサ(CPUi)
10 のアクセスが待ち合わせとなり、その結果を解析す
ることにより、競合動作の正常性をチェックすることが
できる。例えば、プロセッサ(CPUi) 10 で、 「ST regB 共有メモリ領域」 「LD 専用メモリ領域 regB」 なる命令列の実行を想定すると、上記他のプロセッサ(P
Mj) 10との競合で、上記 「ST regA 共有メモリ領域」 の動作が遅くなるので、レジスタB(regB)の内容
を確認することでプロセッサ(CPUi) 10 とプロセッサ(P
Mj) 10との競合時での正常性を確認することができる。
{請求項1に対応する実施例} 図2は、図1と同じメモリ条件で、同一領域への複数の
プロセッサ(CPU0,1,〜n) 10 からの書込み,読込みを可
能にして論理シミュレーションする方法を模式的に示し
ている。
When the contention occurs, a processor (CPUi)
The access of 10 becomes a wait, and by analyzing the result, the normality of the competing operation can be checked. For example, assuming that the processor (CPUi) 10 executes an instruction sequence of "ST regB shared memory area" and "LD dedicated memory area regB", the other processor (P
Since the operation of the above "ST regA shared memory area" becomes slow due to the competition with Mj) 10, check the contents of register B (regB) to confirm that processor (CPUi) 10 and processor (P
It is possible to confirm the normality when competing with Mj) 10.
{Embodiment corresponding to claim 1} FIG. 2 is a memory simulation under the same memory condition as FIG. 1 by enabling writing and reading from a plurality of processors (CPU 0, 1, to n) 10 to the same area. The method is shown schematically.

【0038】この実施例では、図示されているように、
読込み命令は、各プロセッサ(CPU0,1,〜n) 10 の専用読
込み, 書込み領域から読込むようにし、更に、特定の
レジスタAを選定して、該特定のレジスタAに読込
むようにした読込み命令では、図示されているように他
のプロセッサ(CPU0,1,〜n 以外) 10の専用の読込み,書
込み領域, 又は、全プロセッサ(CPU0,1,〜n) 10 に共
有の読込み, 書込み領域aから読込む (ロード) する
ようにする。そして、この特定レジスタAは、この読
込み命令以外でと一切使用しないように命令列を作成す
る。このとき、該全プロセッサ(CPU0,1,〜n) 10 に共有
の読込み, 書込み領域には、各プロセッサ(CPU0,1,〜
n) 10 で実行される命令列では認識することができない
データが格納されているので、該特定のレジスタAに
ついては、ソフトシミュレーションの結果とのデータ比
較は行わないようにする。
In this embodiment, as shown,
The read instruction is to be read from the dedicated read / write area of each processor (CPU0, 1, to n) 10, and further, by selecting a specific register A and reading it into the specific register A, As shown in the figure, dedicated read / write area for other processors (other than CPU0, 1, to n) 10 or shared read / write area for all processors (CPU0, 1, to n) 10 To be loaded (loaded). Then, the specific register A creates an instruction sequence so as not to be used except for the read instruction. At this time, all the processors (CPU0,1, ... n) 10 have a shared read / write area in which each processor (CPU0,1, ... n)
n) Since data that cannot be recognized by the instruction sequence executed in 10 is stored, data comparison with the result of the soft simulation is not performed for the specific register A.

【0039】書込み命令は、図1で説明したと同じよう
に、各プロセッサ(CPU0,1,〜n) 10の専用の読込み、書
込み領域,又は、全プロセッサ(CPU0,1,〜n) 10 に共
有な書込み領域aへ書込むのに使用する。
The write command is issued to the dedicated read / write area of each processor (CPU 0,1, ... n) 10 or all processors (CPU 0,1, ... n) 10 as described in FIG. It is used to write in the shared writing area a.

【0040】このようにして命令列を生成し、該命令列
で論理シミュレーションを行うことにより、図1で説明
した各プロセッサ(CPU0,1,〜n) 10 による専用の読込
み, 書込み領域への読み,書き処理と、各プロセッサ
(CPU0,1,〜n) 10 に共有な読込み,書込み領域aへの
書込み処理と共に、各他のプロセッサ(CPU0,1,〜n 以
外) 10の専用の読込み, 書込み領域, 又は、全プロセ
ッサ(CPU0,1,〜n) 10 に共有の読込み, 書込み領域か
ら読込む (ロード) 命令を組合わせた命令列を生成する
ことができ、該命令列により、図1の場合に比較して、
より複雑な各プロセッサ(CPU0,1,〜n) 10 の読み, 書き
命令を組合わせた命令列による論理シミュレーションを
行うことができる。但し、該ロード対象の特定のレジス
タAの内容を確認することはできない。
By thus generating the instruction sequence and performing the logic simulation with the instruction sequence, the dedicated reading and reading to the writing area by each processor (CPU 0, 1, to n) 10 described in FIG. 1 is performed. , Write processing and each processor
(CPU0,1, -n) 10 shared read and write processing to write area a, as well as dedicated read / write area of each other processor (except CPU0,1, ... n) 10 or all processors ( CPU0,1, -n) 10 can generate an instruction sequence that combines a shared read / write (load) instruction from the write area. With this instruction sequence, compared to the case of FIG.
A more complex logic simulation can be performed by an instruction sequence that combines read and write instructions of each processor (CPU 0, 1, to n) 10. However, the contents of the specific register A to be loaded cannot be confirmed.

【0041】例えば、プロセッサ(CPUi) 10 で、 「ST regB 共有メモリ領域」 「LD 共有メモリ領域 regA」(但し、reg
Aは特定のレジスタ) なる命令列の実行を想定すると、「ST regB 共
有メモリ領域」の動作が、プロセッサ間の競合で遅く
なると、次の「LD 共有メモリ領域 regA」の
動作に影響が出てる可能性があるが、該regA(レジ
スタA)は、特定のレジスタAであるので、該論理シ
ミュレーションではデータの比較ができない。然し、該
共有メモリ領域からの読込み命令(ロード命令)を挿
入することで、各プロセッサ(CPU0,1,〜n) 10 で実行さ
れる命令列は、挿入前とは異なるので、該プロセッサ
が、前述のスーパースカラ装置であると、該ロード命令
を挿入する前(即ち、図1対応)とは異なる動作での論
理シミュレーションを実行することができる。{請求項
2に対応する実施例} 図3は、図2のケースと同じように、同一領域への複数
のプロセッサ(CPU0,1,〜n) 10 からの書込み,読込みを
可能にして、且つ、該読込み,書込みデータをチェック
する論理シミュレーション方法を模式的に示したもので
ある。
For example, in the processor (CPUi) 10, "ST regB shared memory area""LD shared memory area regA" (however, reg
Assuming the execution of an instruction sequence (A is a specific register), if the operation of "ST regB shared memory area" is delayed due to competition between processors, the operation of the next "LD shared memory area regA" is affected. Although there is a possibility, since the regA (register A) is a specific register A, data comparison cannot be performed in the logical simulation. However, by inserting a read instruction (load instruction) from the shared memory area, the instruction sequence executed by each processor (CPU0, 1, to n) 10 is different from that before insertion, so that the processor With the above-mentioned superscalar device, it is possible to execute a logic simulation in an operation different from that before the insertion of the load instruction (that is, corresponding to FIG. 1). {Embodiment corresponding to claim 2} FIG. 3 enables writing and reading from a plurality of processors (CPU0, 1, to n) 10 to the same area, as in the case of FIG. FIG. 3 schematically shows a logic simulation method for checking the read / write data.

【0042】先ず、全プロセッサ(CPU0,1,〜n) 10 に共
有な読込み,書込み領域に、予め、任意の数値、例え
ば、“5”で初期化しておく。読込み命令は、各プロセ
ッサ(CPU0,1,〜n) 10 の専用の読込み, 書込み領域か
ら読こむか、又は、前述の特定のレジスタAに読込む
ようにした読込み命令(ロード命令)では、全プロセッ
サ(CPU0,1,〜n) 10 に共有な読込み,書込み領域から
ロードするようにする。図2でも説明したように、この
特定のレジスタAは、上記読込み命令以外では一切使
用しないようにする。
First, the read and write areas shared by all the processors (CPU 0, 1, to n) 10 are initialized in advance with an arbitrary numerical value, for example, "5". The read instruction can be read from the dedicated read / write area of each processor (CPU0, 1, to n) 10 or by the read instruction (load instruction) designed to read to the specific register A described above. CPU0,1, ... n) Loads from shared read / write area to CPU10. As described with reference to FIG. 2, the specific register A is not used except for the read instruction.

【0043】又、書込み命令では、図1,図2で説明し
たと同じ動作、即ち、各プロセッサ(CPU0,1,〜n) 10 専
用の読込み, 書込み領域, 又は、全プロセッサ(CPU0,
1,〜n) 10 に共有な書込み領域へ書込むが、該全プロ
セッサ(CPU0,1,〜n) 10 に共有な書込み領域へ書込み
データは、各プロセッサ(CPU0,1,〜n) 10 で、常に、上
記初期値“5”とは異なる固有値、例えば、“0”〜
“3”(但し、プロセッサ(CPU) の数は、全体で3台と
する)とする。
In the write command, the same operation as that described with reference to FIGS. 1 and 2, that is, each processor (CPU0, 1, to n) 10 dedicated read / write area, or all processors (CPU0,
1, to n) 10 is written to the shared write area, but the write data to the shared write area to all the processors (CPU0, 1, to n) 10 is written to each processor (CPU0, 1, to n) 10. , Always an eigenvalue different from the initial value “5”, for example, “0” to
The number is 3 (however, the total number of processors (CPUs) is 3).

【0044】このような命令列で論理シミュレーション
を行い、任意のタイミングで、上記特定レジスタAの
値と、全プロセッサ(CPU0,1,〜n) 10 に共有な読込み領
域の値が、上記初期値“5”,又は、各プロセッサ(C
PU0,1,〜n) 10 で異なる固定値“0”〜“3”になって
いることをチェックする。もし、該全プロセッサ(CPU0,
1,〜n) 10 に共有な読込み領域のある領域の値が、
“4”になっていると、該論理シミュレーションでエラ
ーを発生したと認識することができる。{請求項3に対
応する実施例} 図4は、前述のように、図7に示したマルチプロセッサ
システムにおいて、他のプロセッサモジュール(PM0,1,
〜n) 1のメモリユニット(MSU0,1,〜n) 13 の内容が、共
通バス 3を介して、自己のキャッシュメモリ(Cache) 11
にムーブインされるシステムにおいて、共通バス(BUS)
3 を介したムーブイン時での負荷を上げる方法を模式的
にに示した図である。
A logical simulation is performed using such an instruction sequence, and the value of the specific register A and the value of the read area shared by all the processors (CPU0,1, ... “5” or each processor (C
Check that PU0,1, ... n) 10 has different fixed values "0"-"3". If all the processors (CPU0,
1, ~ n) The value of the area with the shared read area in 10 is
When it is "4", it can be recognized that an error has occurred in the logic simulation. {Embodiment corresponding to claim 3} As described above, FIG. 4 shows another processor module (PM0, 1, PM0, 1, in the multiprocessor system shown in FIG.
~ N) The contents of 1 memory unit (MSU0,1, ~ n) 13 are transferred to its own cache memory (Cache) 11 via the common bus 3.
Common bus (BUS) in systems that are moved in to
FIG. 7 is a diagram schematically showing a method of increasing the load at the time of move-in via 3.

【0045】このムーブインで、各キャッシュメモリ(C
ache) 11に格納されるデータのサイズ{1キャッシュラ
イン(1ブロックともいう)}が、読込み,書込み命令
による読込み,書込みデータの単位(通常は、1語)よ
り大きい(16バイト,32バイト,64バイト等)場
合、本発明においては、各プロセッサ(CPU0,1,〜n) 10
で読込み, 書込みするデータサイズ (語) で、各プロ
セッサ(CPU0,1,〜n) 10 に対応して、共有メモリ領域 1
3 を分割して割当てる。{図4(a) 参照} すると、あるプロセッサ(CPU0) 10 が、上記共有メモリ
13 上の上記自己に割当てられた領域内の特定の語を
アクセスして、自己のキャッシュ(Cache) 11に存在しな
いとき、他のプロセッサ(CPU1,2,〜n) 10 のメモリユニ
ット(MSU0,1,〜n) 13,又は、キャッシュ(Cache) 11か
ら、上記1キャッシュラインのデータが共通バス(BUS)
3 を介してムーブインされ、該ムーブインされた1キャ
ッシュライン中の所定の語がプロセッサ(CPU0) 10 にロ
ードされる。各プロセッサ(CPU0,1,〜n) 10 で上記のよ
うな処理を行う命令列を生成して論理シミュレーション
を行うことで、1キャッシュライン単位での負荷を上げ
ることができる。但し、この場合での、該1キャッシュ
ライン単位でのデータの移動は、キャッシュメモリ(Cac
he) 11→記憶制御ユニット(MMU) →メモリユニット(MSU
0,1,〜n)→共通バス→メモリユニット(MSU0,1,〜n)→記
憶制御ユニット(MMU) →キャッシュメモリ(Cache) 11の
経路である。
In this move-in, each cache memory (C
ache) The size of the data stored in 11 {1 cache line (also referred to as 1 block)} is larger than the unit of read / write data by a read / write command (usually 1 word) (16 bytes, 32 bytes, 64 bytes, etc.), each processor (CPU0, 1, to n) 10
Data size (word) to be read and written by, corresponding to each processor (CPU0,1, ... n) 10 Shared memory area 1
Divide 3 and assign. {Refer to Fig. 4 (a)} Then, a certain processor (CPU0) 10
When a specific word in the above-mentioned self-allocated area on 13 is accessed and does not exist in its own cache (Cache) 11, another processor (CPU 1, 2, to n) 10 memory unit (MSU0, 1, to n) 13, or from the cache (Cache) 11, the data of the above 1 cache line is a common bus (BUS)
3 is moved in, and a predetermined word in one moved cache line is loaded into the processor (CPU0) 10. It is possible to increase the load in units of one cache line by generating an instruction sequence for performing the above processing in each processor (CPU 0, 1, to n) 10 and performing a logic simulation. However, in this case, movement of data in units of one cache line is performed by the cache memory (Cac
he) 11 → Storage control unit (MMU) → Memory unit (MSU
0,1, to n) → common bus → memory unit (MSU0, 1, to n) → storage control unit (MMU) → cache memory (Cache) 11

【0046】この論理シミュレーションの方法は、前述
のように、本願出願人が先願している特願平07-071853
号「キャッシュメモリの動作試験方法および動作試験シ
ステム」に開示しているものである。この方法では、1
キャッシュライン単位での負荷を上げて論理シミュレー
ションを行う方法であるが、それ以下のデータサイズ
(例えば、バイト)でのアクセスで、語単位,1キャッ
シュライン単位での負荷を上げるには別の方法を採る必
要がある。
As described above, this logic simulation method is applied to the Japanese Patent Application No. 07-071853 previously filed by the applicant of the present application.
No. “Cache memory operation test method and operation test system”. With this method, 1
This is a method of increasing the load in cache line units and performing logical simulation. Another method is to increase the load in word units and one cache line unit when accessing with a data size smaller than that (for example, bytes). Need to take.

【0047】そこで、本願発明では、各プロセッサ(CPU
0,1,〜n) 10 の読込み, 書込み単位である1語(4バイ
ト,8バイト,16バイト等)を、各プロセッサ(CPU0,
1,〜n) 10 で読込み, 書込みする単位、例えば、バイ
ト, 複数ビットで、該読込み, 書込み単位 (語) の領
域を図4(b) に示したように分割して割当てる。
Therefore, in the present invention, each processor (CPU
0,1, ... n) 1 word (4 bytes, 8 bytes, 16 bytes, etc.), which is the unit of reading and writing of 10, is read by each processor (CPU0,
1, to n) 10 read / write units, for example, bytes and plural bits, and the read / write unit (word) area is divided and assigned as shown in FIG. 4 (b).

【0048】この結果、複数バイト単位でのアクセス毎
に、1キャッシュライン単位のムーブインを発生させ、
語単位,1キャッシュライン単位での負荷を増加させる
ことができる。この場合には、該アクセスで転送される
データブロックは、プロセッサ(CPU0,1,〜n) 10 →キャ
ッシュメモリ(Cache) 11→記憶制御ユニット(MMU) →メ
モリユニット(MSU0,1,〜n)→共通バス→メモリユニット
(MSU0,1,〜n)→記憶制御ユニット(MMU) →キャッシュメ
モリ(Cache) 11→プロセッサ(CPU0,1,〜n) 10の経路と
なる。
As a result, a move-in is generated in units of one cache line for each access in units of a plurality of bytes,
It is possible to increase the load in word units and one cache line unit. In this case, the data block transferred by the access is the processor (CPU0, 1, to n) 10 → cache memory (Cache) 11 → storage control unit (MMU) → memory unit (MSU0, 1, to n) → Common bus → Memory unit
(MSU0,1, -n) → Storage control unit (MMU) → Cache memory (Cache) 11 → Processor (CPU0,1, -n) 10 Route.

【0049】図5は、複数個のプロセッサ(CPU0,1,〜n)
10 間で、同一の試験プログラムを実行 (即ち、論理シ
ミュレーション) して、例えば、2つのプロセッサ(CPU
0,1)が備えている2つの読込み,書込みモードの検証を
行う方法を模式的に示している。
FIG. 5 shows a plurality of processors (CPU0,1, ... n).
The same test program is executed (that is, logic simulation) between 10 and, for example, two processors (CPU
0, 1) schematically shows a method of verifying two read / write modes provided in 0, 1).

【0050】前述のように、プロセッサ(CPU0,1,〜n) 1
0 の読込み, 書込み方法に2つのモード、即ち、メモリ
とレジスタとの間で、例えば、2バイト単位(1/4半
語),4バイト単位(半語)で交差して読み,書きする
モード(方式1)と、直行的に読み, 書きするモード
(方式2)を示しており、最近のプロセッサモジュール
(PM0,1, 〜n) 1では、該2つモードをサポートしている
ことが多い。
As described above, the processor (CPU0,1, ... n) 1
There are two modes for reading and writing 0, that is, a mode of reading and writing between the memory and the register, for example, in units of 2 bytes (1/4 half word) and 4 bytes (half word). (Mode 1) and a mode for directly reading and writing (Method 2) are shown.
(PM0,1, -n) 1 often supports the two modes.

【0051】そこで、本発明の論理シミュレーション方
法では、試験プログラムを実行する前に、該2つのプロ
セッサ(CPU0,1) 10 に上記読み, 書きモードを設定し、
書込み, 読込み命令では、1/4 半語, 又は、半語しか実
行しないように、例えば、所定の制御レジスタを設定し
て、2つのプロセッサ(CPU0,1) 10 の読込んだデータの
データ変更は、該決めた部分(即ち、1/4 半語, 又は、
半語)しか変更しないようにして、該2つのプロセッサ
(CPU0,1) 10 で同一の試験プログラムで論理シミュレー
ションを行う。
Therefore, in the logic simulation method of the present invention, the read / write mode is set in the two processors (CPU0, 1) 10 before the test program is executed.
Change the data read by two processors (CPU0, 1) 10 by setting a predetermined control register so that only 1/4 half-word or half-word is executed by write and read instructions. Is the fixed part (ie 1/4 half-word, or
Half-words), so that the two processors
(CPU0,1) 10 performs a logic simulation with the same test program.

【0052】この結果、2つのプロセッサ(CPU0,1) 10
で同一の試験プログラムを実行しても、予め、異なる読
み,書きモードが設定されているので、メモリアクセス
の領域が異なり、プロセッサ間でアドレス衝突すること
なく、該2つの読み,書きモードの検証を行うことがで
きる。
As a result, two processors (CPU0,1) 10
Even if the same test program is executed in, the different read and write modes are set in advance, so the areas for memory access are different and the two read and write modes are verified without address collision between the processors. It can be performed.

【0053】上記の実施例では、2つのプロセッサ(CPU
0,1) 10 で同一の試験プログラムを実行する方法で説明
したが、一般に、複数個のプロセッサ(CPU0,1,〜n) 10
間で同様のことを実施しても良いことは言う迄もないこ
とである。このような論理シミュレーションを行うこと
により、各プロセッサ(CPU0,1,〜n) 10 での、該モード
の検証を行うことができる。{請求項5に対応する実施
例} 又、上記のモード検証は、図1〜図4で説明した論理シ
ミュレーションの命令列の生成時にも適用できる。
In the above embodiment, two processors (CPU
0,1) 10 has been described as a method of executing the same test program, but in general, multiple processors (CPU0,1, ... n) 10
It goes without saying that the same thing can be carried out between the two. By performing such a logical simulation, it is possible to verify the mode in each processor (CPU 0, 1, to n) 10. {Embodiment corresponding to claim 5} The mode verification described above can also be applied when the instruction sequence of the logic simulation described in FIGS. 1 to 4 is generated.

【0054】図6は、論理シミュレーションを2回動作
させ、1回目と2回目との命令の順序が異なるが、任意
のタイミングでのレジスタ,メモリの内容が変わらない
ようにした命令列の作成方法を模式的にに示した図であ
る。
FIG. 6 shows a method of creating an instruction sequence in which the logic simulation is operated twice, and the order of the first and second instructions is different, but the contents of the register and memory are not changed at any timing. It is the figure which showed typically.

【0055】先ず、1回目に実行する命令列は、全プロ
セッサ(CPU0,1,〜n) 10 に共有の書込み領域への書込
み命令の無い命令列を生成する。そして、2回目に実行
する命令列は、上記1回目に実行する命令列に、全プロ
セッサ(CPU0,1,〜n) 10 に共有の書込み領域への書込
み命令を、選択的に挿入するだけで、1回目に実行する
命令列の順序を変更することができ、スーパースカラー
装置では、同時に実行する命令対が変わるので、1回目
と2回目の命令列の順序が異なるが、任意タイミングで
のレジスタやメモリの内容を同一にするようなランダム
命令列を簡単に生成することができる。
First, as the instruction sequence to be executed for the first time, an instruction sequence having no write instruction to the shared write area in all the processors (CPU 0, 1, to n) 10 is generated. Then, the instruction sequence to be executed the second time is only necessary to selectively insert the write instruction to the shared write area in all the processors (CPU0, 1, to n) 10 into the instruction sequence to be executed the first time. The order of the instruction sequence executed at the first time can be changed, and in the superscalar device, the pair of instructions executed at the same time is changed. Therefore, the order of the instruction sequence at the first time is different from that at the second time. It is possible to easily generate a random instruction sequence that makes the contents of memory and memory the same.

【0056】上記命令列の生成方法は、図1〜図5で説
明した論理シミュレーション用の命令列の生成に適用で
きる。{請求項6に対応する実施例}
The above-mentioned instruction sequence generation method can be applied to the generation of the instruction sequence for logic simulation described with reference to FIGS. {Example corresponding to claim 6}

【0057】[0057]

【発明の効果】以上、詳細に説明したように、本発明の
マルチプロセッサシステムにおける論理シミュレーショ
ン方法によれば、各プロセッサの専用の読込み, 書込み
領域と、全プロセッサの共有書込み領域を設け、読
込み命令は各プロセッサの専用の読込み, 書込み領域
から読込み、書込み命令は各プロセッサ専用の読込み,
書込み領域, 又は全プロセッサの共有の書込み領域
に書込むようにして命令列を生成することで、各プロセ
ッサから、上記全プロセッサの共有書込み領域におい
て同一領域にアクセスする試験を行うことができる。
又、論理シミュレーションを2回動作させ、1回目と2
回目との命令の順序が異なるが、任意のタイミングでの
レジスタ,メモリの内容が変わらないようにした命令列
も、上記各プロセッサの専用の読込み, 書込み領域
と、全プロセッサの共有書込み領域へアクセスする命
令列を組合わせることで、簡単に生成することができ
る。
As described above in detail, according to the logic simulation method in the multiprocessor system of the present invention, a dedicated read / write area for each processor and a shared write area for all processors are provided, and read instructions are provided. Read from the dedicated read / write area of each processor, and write instructions are read / write exclusive to each processor.
By generating the instruction sequence by writing in the write area or the shared write area of all the processors, each processor can perform a test to access the same area in the shared write area of all the processors.
Also, the logic simulation is operated twice and the first and second
Although the order of the instructions is different from the first time, the instruction sequence in which the contents of the register and memory do not change at any timing is also accessed to the dedicated read / write area of each processor and the shared write area of all processors. It can be easily generated by combining the instruction sequences to be executed.

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

【図1】本発明の一実施例を示した図(その1)FIG. 1 is a diagram showing an embodiment of the present invention (No. 1).

【図2】本発明の一実施例を示した図(その2)FIG. 2 is a diagram showing an embodiment of the present invention (Part 2).

【図3】本発明の一実施例を示した図(その3)FIG. 3 is a diagram showing an embodiment of the present invention (part 3).

【図4】本発明の一実施例を示した図(その4)FIG. 4 is a diagram showing an embodiment of the present invention (No. 4).

【図5】本発明の一実施例を示した図(その5)FIG. 5 is a diagram showing an embodiment of the present invention (No. 5).

【図6】本発明の一実施例を示した図(その6)FIG. 6 is a diagram showing an embodiment of the present invention (No. 6).

【図7】マルチプロセッサシステムの構成例を示した図FIG. 7 is a diagram showing a configuration example of a multiprocessor system.

【図8】従来の論理シミュレーションの問題点を説明す
る図
FIG. 8 is a diagram for explaining the problems of the conventional logic simulation.

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

1 プロセッサモジュール(PM0,1, 〜n) 10 プロセッサ(CPU0,1,〜n) 11 キャッシュ, キャッシュメモリ(Cache) 12 メモリ制御装置(MMU) 13,20 メモリユニット, 共有メモリ(MSU0,1,〜n) 2 メモリモジュール 3 共通バス(BUS) 各プロセッサ専用の読込み, 書込み領域 全プロセッサに共有な書込み領域 a 全プロセッサに共有な読込み,書込み領域 特定のレジスタA , 共有メモリを各プロセッサに対して分割
し、割当てた領域
1 Processor module (PM0,1, ~ n) 10 Processor (CPU0,1, ~ n) 11 Cache, cache memory (Cache) 12 Memory controller (MMU) 13,20 Memory unit, shared memory (MSU0,1, ~ n) n) 2 Memory module 3 Common bus (BUS) Read / write area dedicated to each processor Write area shared by all processors a Read / write area shared by all processors Specific register A, shared memory is divided for each processor Allocated area

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】複数個のメモリユニットを、複数個のプロ
セッサモジュールに分散させて配置するか、又は、複数
個のプロセッサモジュールとは独立したメモリモジュー
ルに配置し、該メモリユニットを複数個のプロセッサモ
ジュールから選択的にアクセスするようにしたマルチプ
ロセッサシステムにおいて、 論理シミュレーションとソフトシミュレーションとを同
時に動作させ、任意のタイミングで、該論理シミュレー
ションの結果とソフトシミュレーションの結果とを比較
する方法であって、 上記複数個のメモリユニットに対して、各プロセッサの
専用の読込み, 書込み領域と、全プロセッサの共有書込
み領域を割り当て、 読込み命令は各プロセッサの専用の読込み, 書込み領域
から読込み、書込み命令は各プロセッサ専用の読込み,
書込み領域, 又は全プロセッサの共有の書込み領域に書
込むようにして、全プロセッサに共有な書込み領域での
各プロセッサからの同一アドレスへの書込みにより、プ
ロセッサ間の競合の試験を行うことを特徴とするマルチ
プロセッサシステムにおける論理シミュレーション方
法。
1. A plurality of memory units are arranged in a distributed manner among a plurality of processor modules, or arranged in a memory module independent of the plurality of processor modules, and the memory units are arranged in a plurality of processors. In a multiprocessor system adapted to selectively access from a module, a method of operating a logical simulation and a soft simulation at the same time and comparing the result of the logical simulation with the result of the soft simulation at an arbitrary timing, For each of the above memory units, a dedicated read / write area for each processor and a shared write area for all processors are assigned.Read instructions are read / write areas dedicated to each processor, and write instructions are for each processor. Dedicated reading,
Write to the write area or the shared write area of all processors, and test the contention between processors by writing to the same address from each processor in the write area shared by all processors. Logic simulation method for processor system.
【請求項2】複数個のメモリユニットを、複数個のプロ
セッサモジュールに分散させて配置するか、又は、複数
個のプロセッサモジュールとは独立したメモリモジュー
ルに配置し、該メモリユニットを複数個のプロセッサモ
ジュールから選択的にアクセスするようにしたマルチプ
ロセッサシステムにおいて、 論理シミュレーションとソフトシミュレーションとを同
時に動作させ、任意のタイミングで、該論理シミュレー
ションの結果とソフトシミュレーションの結果とを比較
する方法であって、 上記複数個のメモリユニットに対して、各プロセッサの
専用の読込み, 書込み領域と、全プロセッサに共有な読
込み,書込み領域を割り当て、 読込み命令は、各プロセッサの専用の読込み, 書込み領
域から読込み、又は、ある特定のレジスタに読込むよう
にした読込み命令では、他の各プロセッサ専用の読込
み,書込み領域,又は全プロセッサに共有な読込み領
域,書込み領域から読み込み、上記特定のレジスタは該
読込み命令以外では一切使用しないようにし、 書込み命令は、各プロセッサの専用の読込み,書込み領
域,又は、全プロセッサに共有な上記書込み領域に書込
み、 上記特定のレジスタでのデータ比較をしないようにし
て、全プロセッサに共有な読込み,書込み領域での各プ
ロセッサからの読込み,書込み動作と、各プロセッサの
専用の読込み,書込み領域での、上記特定レジスタ以外
のレジスタとの間の読込み,書込み動作とにより、プロ
セッサ間の競合の試験を行うことを特徴とするマルチプ
ロセッサシステムにおける論理シミュレーション方法。
2. A plurality of memory units are arranged in a distributed manner among a plurality of processor modules, or are arranged in a memory module independent of the plurality of processor modules, and the memory units are arranged in a plurality of processors. In a multiprocessor system adapted to selectively access from a module, a method of operating a logical simulation and a soft simulation at the same time and comparing the result of the logical simulation with the result of the soft simulation at an arbitrary timing, A dedicated read / write area for each processor and a shared read / write area for all processors are assigned to the above-mentioned plurality of memory units, and read instructions are read or written from the dedicated read / write area of each processor, or Read into a specific register In the read instruction, the read / write area dedicated to each other processor, or the read area / write area shared by all the processors is read, and the specific register is not used except for the read instruction. , A dedicated read / write area for each processor, or write to the above write area shared by all processors, and a data read / write area shared by all processors without comparing data in the specific register It is characterized in that a competition test between processors is performed by a read / write operation from a processor and a read / write operation in a dedicated read / write area of each processor with a register other than the specific register. Simulation method in a multiprocessor system for parallel processing.
【請求項3】複数個のメモリユニットを、複数個のプロ
セッサモジュールに分散させて配置するか、又は、複数
個のプロセッサモジュールとは独立したメモリモジュー
ルに配置し、該メモリユニットを複数個のプロセッサモ
ジュールから選択的にアクセスするようにしたマルチプ
ロセッサシステムにおいて、 論理シミュレーションとソフトシミュレーションとを同
時に動作させ、任意のタイミングで、該論理シミュレー
ションの結果とソフトシミュレーションの結果とを比較
する方法であって、 上記複数個のメモリユニットに対して、各プロセッサの
専用の読込み, 書込み領域と、全プロセッサに共有な読
込み,書込み領域を割り当て、 上記全プロセッサに共有な読込み,書込み領域は、予
め、任意の数値で初期化しておき、 読込み命令は、各プロセッサに専用の読込み,書込み領
域から読み込み、又は、ある特定のレジスタに読込むよ
うにした読込み命令では、全プロセッサに共有な読込
み,書込み領域から読込むようにし、この特定のレジス
タは、上記全プロセッサに共有な読込み,書込み領域か
ら読込み以外には使用しないようにし、 書込み命令は、各プロセッサに専用の読込み,書込み領
域,又は、全プロセッサに共有な書込み領域へ書込み、
該全プロセッサに共有な書込み領域への書込みデータ
は、各プロセッサで、常に、上記初期化された値とは異
なる固定値とし、 任意のタイミングで、上記特定のレジスタ、及び全プロ
セッサ共有の読込み,書込み領域の値が、上記初期化さ
れた値,又は各プロセッサに固有な固定値であることを
確認することを特徴とするマルチプロセッサシステムに
おける論理シミュレーション方法。
3. A plurality of memory units are distributed and arranged in a plurality of processor modules, or arranged in a memory module independent of the plurality of processor modules, and the memory units are arranged in a plurality of processors. In a multiprocessor system adapted to selectively access from a module, a method of operating a logical simulation and a soft simulation at the same time and comparing the result of the logical simulation with the result of the soft simulation at an arbitrary timing, For each of the above memory units, a dedicated read / write area for each processor and a shared read / write area for all processors are assigned. Initialize with, and the read command is In a read instruction in which a read / write area dedicated to each processor is read or a specific register is read, the read / write area shared by all the processors is read, and this specific register is read by all the processors. Do not use it for anything other than reading from the shared read / write area, and use the write instruction for the read / write area dedicated to each processor, or to the write area shared by all processors.
The write data to the write area shared by all the processors is always a fixed value different from the initialized value in each processor, and the specific register and the read shared by all the processors are read at arbitrary timing. A logic simulation method in a multiprocessor system, characterized in that the value of the write area is confirmed to be the initialized value or a fixed value unique to each processor.
【請求項4】複数個のメモリユニットを、複数個のプロ
セッサモジュールに分散させて配置するか、又は、複数
個のプロセッサモジュールとは独立したメモリモジュー
ルに配置し、該メモリユニットを複数個のプロセッサモ
ジュールから選択的にアクセスするようにしたマルチプ
ロセッサシステムで、他のプロセッサモジュールのメモ
リユニットの内容が、自己のプロセッサモジュールのキ
ャッシュメモリにムーブインされるマルチプロセッサシ
ステムにおいて、 該キャッシュメモリに格納される1キャッシュラインデ
ータのサイズが、1読込み,書込み命令による読込み,
書込みデータのサイズより大きい場合での、該マルチプ
ロセッサシステムで論理シミュレーションとソフトシミ
ュレーションとを同時に動作させ、任意のタイミング
で、該論理シミュレーションの結果とソフトシミュレー
ションの結果とを比較する方法であって、 上記各プロセッサモジュールに共有な複数個のメモリユ
ニット上で、上記1キャッシュラインのデータサイズ
を、各プロセッサに対応して、上記各プロセッサで読込
み,書込みするサイズで分割し、更に、該分割された各
プロセッサで読込み,書込みするサイズを、各プロセッ
サに対応して、バイト,又は複数ビット単位に分割し
て、各プロセッサに専用の読込み,書込み領域として割
当て、 各プロセッサで上記読込み,書込み命令の上記割当てら
れたデータサイズの単位で、上記共有メモリ上の各プロ
セッサに割当てられた専用の領域をアクセスすることを
特徴とするマルチプロセッサシステムにおける論理シミ
ュレーション方法。
4. A plurality of memory units are arranged in a distributed manner in a plurality of processor modules, or arranged in a memory module independent of the plurality of processor modules, and the memory units are arranged in a plurality of processors. In a multiprocessor system in which a module is selectively accessed, the contents of a memory unit of another processor module are moved into the cache memory of its own processor module and stored in the cache memory in the multiprocessor system. The size of cache line data is 1 read, read by write command,
A method of simultaneously operating a logical simulation and a soft simulation in the multiprocessor system when the size is larger than the write data size, and comparing the result of the logical simulation and the result of the soft simulation at an arbitrary timing, On a plurality of memory units shared by the processor modules, the data size of the one cache line is divided into the sizes read and written by the processors corresponding to the processors, and further divided. The read / write size of each processor is divided into bytes or multiple bits corresponding to each processor and assigned as a dedicated read / write area for each processor. In units of allocated data size, Logic simulation method in a multiprocessor system, characterized in that access the dedicated region allocated to each processor in the serial shared memory.
【請求項5】複数個のメモリユニットを、複数個のプロ
セッサモジュールに分散させて配置するか、又は、複数
個のプロセッサモジュールとは独立したメモリモジュー
ルに配置し、該メモリユニットを複数個のプロセッサモ
ジュールから選択的にアクセスするようにしたマルチプ
ロセッサシステムで、各プロセッサでの読込み,書込み
命令に、該読込み単位,又は書込み単位で、レジスタ,
メモリ間で直行,又は、交差させるモード備えたマルチ
プロセッサシステムにおいて、 論理シミュレーションとソフトシミュレーションとを同
時に動作させ、任意のタイミングで、該論理シミュレー
ションの結果とソフトシミュレーションの結果とを比較
する方法であって、 複数個の各プロセッサモジュールで、上記読込み,書込
みモードを選択的に設定しておき、各プロセッサモジュ
ールで同一の試験プログラムを走行させ、各プロセッサ
モジュールにおいて、上記モードの違いにより、メモリ
アクセス箇所を変更させて、試験することを特徴とする
請求項1〜4に記載のマルチプロセッサシステムにおけ
る論理シミュレーション方法。
5. A plurality of memory units are arranged in a distributed manner in a plurality of processor modules, or arranged in a memory module independent of the plurality of processor modules, and the memory units are arranged in a plurality of processors. In a multiprocessor system configured to be selectively accessed from a module, a read / write instruction in each processor can receive a register in a read unit or a write unit,
In a multiprocessor system having a mode of orthogonal or crossing between memories, a logic simulation and a soft simulation are simultaneously operated, and the results of the logic simulation and the soft simulation are compared at arbitrary timing. Then, the read / write mode is selectively set in each of the plurality of processor modules, the same test program is run in each processor module, and the memory access location is different in each processor module due to the difference in the above mode. 5. The logic simulation method in the multiprocessor system according to claim 1, further comprising:
【請求項6】論理シミュレーションを2回動作させ、1
回目と2回目との命令の順序が異なるが1回目と2回目
の任意のタイミングで、レジスタ,メモリの内容が同じ
である命令列を生成し、該2つの命令列を実行して任意
のタイミングで、レジスタ,メモリの内容が同じである
ことを比較して試験する方法であって、 1回目に実行する命令列は、全プロセッサで共有する書
込み領域への書込み命令を含まない命令列とし、 2回目に実行する命令列は、上記全プロセッサで共有す
る書込み領域への書込み命令を含まない命令列に、該全
プロセッサで共有する書込み領域への書込み命令を、選
択的に挿入した命令列とすることを特徴とする請求項1
〜5に記載のマルチプロセッサシステムにおける論理シ
ミュレーション方法。
6. The logic simulation is operated twice and 1
Although the order of the instructions is different between the second time and the second time, an instruction sequence having the same contents of the register and the memory is generated at an arbitrary timing of the first time and the second time, and the two instruction sequences are executed to perform an arbitrary timing. Then, in the method of comparing and testing that the contents of the register and the memory are the same, the instruction sequence to be executed for the first time is an instruction sequence that does not include the write instruction to the write area shared by all the processors, The instruction sequence to be executed the second time is an instruction sequence in which a write command to the write area shared by all the processors is selectively inserted in an instruction sequence that does not include the write instruction to the write area shared by all the processors. Claim 1 characterized by the above.
5. A logic simulation method in the multiprocessor system according to any one of 5 to 6.
JP7143235A 1995-06-09 1995-06-09 Logical simulation method in multiprocessor system Pending JPH08339388A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7143235A JPH08339388A (en) 1995-06-09 1995-06-09 Logical simulation method in multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7143235A JPH08339388A (en) 1995-06-09 1995-06-09 Logical simulation method in multiprocessor system

Publications (1)

Publication Number Publication Date
JPH08339388A true JPH08339388A (en) 1996-12-24

Family

ID=15334049

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7143235A Pending JPH08339388A (en) 1995-06-09 1995-06-09 Logical simulation method in multiprocessor system

Country Status (1)

Country Link
JP (1) JPH08339388A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013182469A (en) * 2012-03-02 2013-09-12 Nec Corp Logic simulation device, logic simulation method and program
US8990062B2 (en) 2010-09-22 2015-03-24 International Business Machines Corporation Method and program for estimating operation of program
US10402510B2 (en) 2014-07-23 2019-09-03 Fujitsu Limited Calculating device, calculation method, and calculation program
JP2020153804A (en) * 2019-03-20 2020-09-24 Necプラットフォームズ株式会社 Testing device, testing method, and computer program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8990062B2 (en) 2010-09-22 2015-03-24 International Business Machines Corporation Method and program for estimating operation of program
JP2013182469A (en) * 2012-03-02 2013-09-12 Nec Corp Logic simulation device, logic simulation method and program
US10402510B2 (en) 2014-07-23 2019-09-03 Fujitsu Limited Calculating device, calculation method, and calculation program
JP2020153804A (en) * 2019-03-20 2020-09-24 Necプラットフォームズ株式会社 Testing device, testing method, and computer program

Similar Documents

Publication Publication Date Title
JP4888272B2 (en) Software simulation method, software simulation program, and software simulation apparatus
KR100578437B1 (en) Mechanism for interrupt handling in computer systems that support concurrent execution of multiple threads
EP1008053B1 (en) Controlling memory access ordering in a multi-processing system
US6779140B2 (en) Algorithmically programmable memory tester with test sites operating in a slave mode
US5809280A (en) Adaptive ahead FIFO with LRU replacement
US6393531B1 (en) Queue based data control mechanism for queue based memory controller
US8140925B2 (en) Method and apparatus to debug an integrated circuit chip via synchronous clock stop and scan
KR100286962B1 (en) Cache controller
WO2009093680A1 (en) Multiprocessor system and multiprocessor system synchronization method
US20060156092A1 (en) Memory technology test apparatus
US6226716B1 (en) Test driver for use in validating a circuit design
WO1995016959A1 (en) System and method for synchronization in split-level data cache system
US6795901B1 (en) Shared memory interface with conventional access and synchronization support
US20080208558A1 (en) System and method for simulating a multiprocessor system
US5247637A (en) Method and apparatus for sharing memory in a multiprocessor system
US7096322B1 (en) Instruction processor write buffer emulation using embedded emulation control instructions
CN102681937A (en) Correctness verifying method of cache consistency protocol
US8412507B2 (en) Testing the compliance of a design with the synchronization requirements of a memory model
JPH08339388A (en) Logical simulation method in multiprocessor system
JP6335253B2 (en) Multiprocessor system
US7886205B2 (en) Verification of a data processing system using overlapping address ranges
KR100286186B1 (en) One Chip Clock Synchronous Memory Device
US20040220794A1 (en) Methods and apparatus for generating effective test code for out of order superscalar microprocessors
Garashchenko et al. System of Combined Specialized Test Generators for the New Generation of VLIW DSP Processors with Elcore50 Architecture
Kikuchi et al. Development of Soft-Core Processor with Efficient Array Data Transfer Mechanism

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20031104