JP2006178663A - Information processor, method for processing information, verification apparatus, and method of verification - Google Patents
Information processor, method for processing information, verification apparatus, and method of verification Download PDFInfo
- Publication number
- JP2006178663A JP2006178663A JP2004369920A JP2004369920A JP2006178663A JP 2006178663 A JP2006178663 A JP 2006178663A JP 2004369920 A JP2004369920 A JP 2004369920A JP 2004369920 A JP2004369920 A JP 2004369920A JP 2006178663 A JP2006178663 A JP 2006178663A
- Authority
- JP
- Japan
- Prior art keywords
- data processing
- data
- processing block
- output
- block
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000012545 processing Methods 0.000 title claims description 250
- 238000012795 verification Methods 0.000 title claims description 98
- 230000008569 process Effects 0.000 claims description 55
- 238000012544 monitoring process Methods 0.000 claims description 34
- 230000010365 information processing Effects 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 8
- 238000003672 processing method Methods 0.000 claims description 4
- 238000004088 simulation Methods 0.000 abstract description 72
- 238000012360 testing method Methods 0.000 description 28
- 230000006870 function Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 18
- 239000004065 semiconductor Substances 0.000 description 10
- 238000004891 communication Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000012356 Product development Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
本発明は、共有されるソフトウェアの管理に係る技術に関するものである。 The present invention relates to a technique related to management of shared software.
半導体回路の論理検証に関して、シミュレーションツールライセンスやホストコンピュータの有効的活用を目的として、これらリソースを一括管理し、複数の人でこれを共有するということが行われている。例えば論理検証シミュレーションを行う1テスター(論理検証者)は、これらリソースを管理しているシステム(プログラム)に対してリソース要求を行い、管理システムはテスターに対して順番にリソース、すなわちツールライセンスやホストコンピュータを割り当てる。シミュレーションが終了すると、リソースは開放され、管理システムの管理下に戻る。 Regarding logic verification of semiconductor circuits, for the purpose of effective use of a simulation tool license and a host computer, these resources are collectively managed and shared by a plurality of people. For example, one tester (logic verifier) that performs a logic verification simulation makes a resource request to a system (program) that manages these resources, and the management system sequentially requests the resources, that is, a tool license and a host. Assign a computer. When the simulation ends, the resources are released and the management system returns to the management.
この様なシステムにより、各テスターは、ツールライセンスの数やホストコンピュータの使用状況を気にすることなく、シミュレーションを行う事ができる。既にシミュレーションが流れているホストコンピュータで、さらに別のシミュレーションを流すと、CPUの仕事量は限られているため、シミュレーション速度は遅くなる。このため、ホストコンピュータが複数ある場合には、同じホストコンピュータでなるべく少ないシミュレーションが行われるように、リソース管理するという事が行われている。 With such a system, each tester can perform a simulation without worrying about the number of tool licenses or the usage status of the host computer. If another simulation is run on a host computer that is already running simulation, the workload of the CPU is limited, and the simulation speed is slowed down. For this reason, when there are a plurality of host computers, resource management is performed so that as few simulations as possible are performed on the same host computer.
また、ツールライセンスを一括管理せず、各テスターに割り当てた場合では、テスターがシミュレーションを行っていないときには、リソースが遊んでいる状態になるにも関わらず、他のテスターはこのリソースを使用することができない。さらに、リソースの数がテスターの数より少ない場合には、全てのテスターにリソースを割り当てられない。 In addition, if the tool license is not managed in a batch and assigned to each tester, the other testers will use this resource even if the resource is idle when the tester is not simulating. I can't. Furthermore, when the number of resources is less than the number of testers, resources cannot be allocated to all testers.
よって、リソースを一括管理するシステム(プログラム)により、リソースを使いたい人に対して、使いたい数だけ割り当てるという事が実現でき、リソースを有効に利用する事ができている。 Therefore, a system (program) that collectively manages resources can realize that a desired number of resources is allocated to those who want to use the resources, and resources can be used effectively.
また、年々拡大する電子機器の性能への要求を満たすため、大規模集積回路(以下LSI)は高機能化・高集積化を続けている。中央制御回路(以下CPU)と、このCPUと電気的に接続されている周辺回路とを内蔵し、大規模化したシステムLSI、このシステムLSIの大規模化・複雑化により、論理回路の設計期間の長期化が問題になっており、とりわけこの回路が正しく動作することを確認する機能検証が大きな割合を占めている。そこで、効率良く検証を行うことが重要になっている。 In addition, large-scale integrated circuits (hereinafter referred to as LSIs) continue to be highly functional and highly integrated in order to meet the ever-increasing demand for electronic device performance. Built-in central control circuit (hereinafter referred to as CPU) and peripheral circuits that are electrically connected to the CPU. Larger system LSI, and the design and development period of the logic circuit due to the increased scale and complexity of this system LSI. In particular, functional verification that confirms that this circuit operates correctly occupies a large percentage. Therefore, it is important to perform verification efficiently.
一般に、システムLSI等の集積回路の為の論理検証テストにおいては、集積回路に含まれる複数の周辺回路のそれぞれを個別に検証するテスト(以下、個別検証という)と、複数の周辺回路を同時に動作させて検証を行うテスト(以下、システム検証という)とは、別々に記述されていたが、これを改善し、個別検証のためのテストをシステム検証で流用可能とし、精度の高いシステム検証を効率よく行う発明が特許文献2に開示されている。
Generally, in a logic verification test for an integrated circuit such as a system LSI, a plurality of peripheral circuits included in the integrated circuit are individually verified (hereinafter referred to as individual verification) and a plurality of peripheral circuits are operated simultaneously. The test (hereinafter referred to as “system verification”), which was performed separately, was described separately, but this was improved and the test for individual verification could be used in the system verification. A frequently performed invention is disclosed in
このような発明では、複数の個別検証テストをシステム検証テストとして同時に起動させる仕組み、およびシステム検証テストにおいて、各個別検証テストに記載された、CPUコマンドおよび、メモリへのアクセス要求が衝突して誤動作を発生させないための仕組みが記載されている。 In such an invention, a mechanism for simultaneously starting a plurality of individual verification tests as a system verification test, and in the system verification test, a CPU command and a memory access request described in each individual verification test collide to cause a malfunction. It describes a mechanism for preventing the occurrence of
また、データパスの個別検証テストをシステム検証で流用する仕組みが従来から開示されている。 Further, a mechanism for diverting an individual data path verification test in system verification has been disclosed.
ここで、一般的なシステムLSIの集積回路について説明する。図6は、一般的なシステムLSIの集積回路の基本構成を示すブロック図である。同図において601はシステムLSIの集積回路、602は以下説明する各部を制御すると共に、後述する検証処理を実行するCPUである。604はメモリを内蔵し、このメモリへのデータの読み書きを制御するためのメモリコントローラである。以下説明するプログラムやデータはこのメモリ内に保持されている。605,606はそれぞれ本システムLSIの集積回路と外部とのデータ通信を行うためのインターフェースとして機能するI/Oデバイスである。607は、I/Oデバイスを介してメモリコントローラ604が有するメモリに入力されたデータに対して、画像処理などの各種の処理を行うことで、このデータの加工処理を行うデータパスである。603は上述の各部を繋ぐバスである。
Here, a general system LSI integrated circuit will be described. FIG. 6 is a block diagram showing a basic configuration of a general system LSI integrated circuit. In the figure,
このような構成を有するシステムLSIの集積回路において、先ず、データパス607が図7に示す如く、3つのデータ処理ブロックが直列につながっている構成を有する場合の、各データ処理ブロックの検証処理について説明する。図7は、3つのデータ処理ブロックが直列につながっているデータパス607の構成を示すブロック図である。702から704はそれぞれデータ処理ブロックで、それぞれこの順に処理を行う。
In the integrated circuit of the system LSI having such a configuration, first, verification processing of each data processing block when the
図8は、データ処理ブロック(同図ではデータ処理1ブロック)の個別検証の処理の流れを示す図である。同図において検証に用いられる入力データファイル801は、入力バスモデル802により解釈され、検証対象であるデータ処理1ブロック806に送られる。
FIG. 8 is a diagram showing a flow of individual verification processing of the data processing block (data processing 1 block in the figure). The
この時の動作モード等を設定するためのパラメータデータファイル803はCPU I/Fモデル805を通して、動作モードが設定され、データ処理1ブロック806は、設定された動作モードに従って、入力データファイル801を用いて動作する。この動作結果は出力バスモデル807を通して、出力データファイル810として出力される。
The
一方、データ処理1ブロック806が出力すべき正解データとしての期待値データファイル808は予め、正解データを生成するデータ処理1プログラム804を用いて、入力データファイル801、パラメータデータファイル803より生成し、検証対象であるデータ処理1ブロック806の処理が終了すると、終了結果は期待値データファイル808と比較され、データ処理1ブロック806が期待した動作を行ったか否かを検証する。
On the other hand, an expected
また、図3示した検証方法ではデータ処理1ブロック806が動作を終了した後に期待値比較を行うとしたが、別な方法として、図11に示すような方法も一般的に知られている。
Further, in the verification method shown in FIG. 3, the expected value comparison is performed after the operation of the data processing 1
図11は、上記処理とは異なる、データ処理ブロック(同図ではデータ処理1ブロック)の個別検証の処理の流れを示す図である。 FIG. 11 is a diagram showing a flow of individual verification processing of a data processing block (data processing 1 block in the figure) different from the above processing.
検証対象回路であるデータ処理1ブロック1106にデータを入力する方法、パラメータの設定方法は共に図3に示したものもと同じであるが、期待値の比較方法が異なっている。
The method for inputting data to the data processing 1
図11では、出力バスモデル1107はデータ処理1ブロック1106とのハンドシェイク動作のみを行い、出力データファイルは作成しない。データ処理1ブロック1106と出力バスモデル1107をつなぐバスの仕様がハンドシェイクを必要としないものである場合には、必ずしも出力バスモデル1107は必要としない。この検証環境では新たにデータ1モニタ1111を設けた。
In FIG. 11, the
データ1モニタ1111は、データ処理1ブロック1106が出力する処理結果データを各クロックサイクル毎に監視し、予め作成された期待値1データファイル1108とオン・ザ・フライで比較する。この検証環境は図8の検証環境と比して、オン・ザ・フライで期待値比較を行っているため、データ処理1ブロック1106が処理の途中で期待した動作を行わなかった場合であっても、ブロックが全ての処理を終了する前にErrorとして検出することができ、余計なシミュレーションを行わなくてよい。
The data 1
このデータ処理1ブロックの検証において、従来では、図9に示したテスト記述を定義し、実行する。図9は、従来用いたテスト記述の構成例を示す図である。 In the verification of this data processing 1 block, conventionally, the test description shown in FIG. 9 is defined and executed. FIG. 9 is a diagram showing a configuration example of a test description used conventionally.
同図においてデータ処理1ブロック用シーケンスクラスは、全てのデータ処理ブロックに共通の検証シーケンスを定義する共通検証関数(共通シーケンス基本クラス)を継承して作成したものである。このシーケンスクラスが持つシーケンス関数には、データ処理1ブロックの検証シーケンスである、初期化、パラメータ設定、期待値作成、テスト開始、処理終了待ち、期待値比較等の処理が定義されている。また、この順に実行することも定義されている(同図では番号が付けてある順に実行する)。そして、このデータ処理1ブロック用シーケンスクラスと共通検証関数とを用いる事により、データ処理ブロック1の個別検証を行う。このような検証処理については周知のものであるので、これに関する詳細な説明は省略する。 In the figure, the sequence class for data processing 1 block is created by inheriting a common verification function (common sequence basic class) that defines a verification sequence common to all data processing blocks. In the sequence function of this sequence class, processes such as initialization, parameter setting, expected value creation, test start, process end wait, expected value comparison, etc., which are verification sequences for one block of data processing, are defined. It is also defined that the processes are executed in this order (in the figure, they are executed in the order in which they are numbered). The data processing block 1 is individually verified by using the sequence class for the data processing 1 block and the common verification function. Since such verification processing is well known, detailed description thereof will be omitted.
また、図7に示す如く、データ処理ブロックが複数の場合にはそれぞれについてシーケンスクラスを同様に作成する。図10は、図7の各データ処理ブロックについて作成したシーケンスクラス、及びそれぞれのシーケンスの実行順を示す図である。共通検証関数は、各シーケンスクラスのシーケンス関数を逐次呼び出す事によりシステム検証を行うことが出来、かつ個別検証でのテスト記述をシステム検証に流用可能となる。 Further, as shown in FIG. 7, when there are a plurality of data processing blocks, a sequence class is similarly created for each. FIG. 10 is a diagram showing the sequence class created for each data processing block in FIG. 7 and the execution order of each sequence. The common verification function can perform system verification by sequentially calling sequence functions of each sequence class, and the test description in the individual verification can be used for system verification.
また、図12に示すように個別検証で作成したテストベンチから、システム検証のテストベンチを構成することができる。図12は、それぞれのデータ処理ブロックに対する検証の流れ((a)〜(c))を1つ((d))にまとめた図である。ここでのシステムは、3つのデータ処理ブロックを有するシステムである。 Further, as shown in FIG. 12, a test bench for system verification can be configured from a test bench created by individual verification. FIG. 12 is a diagram that summarizes the verification flow ((a) to (c)) for each data processing block into one ((d)). The system here is a system having three data processing blocks.
図13は、3つのデータ処理ブロックを有するシステムの検証装置の基本構成を示すブロック図である。同図において1315は、データ処理1ブロックについて個別検証テストベンチを行うための各部を示すものであり、1325は、データ処理2ブロックについて個別検証テストベンチを行うための各部を示すものであり、1335は、データ処理3ブロックについて個別検証テストベンチを行うための各部を示すものである。
FIG. 13 is a block diagram showing a basic configuration of a verification apparatus of a system having three data processing blocks. In the figure,
このように、個別検証で用いられたデータモニタは、システム検証のテストベンチでも有効であり、システム検証において期待値比較エラーが場合にも、どのデータ処理ブロックブロックのバグによるものなのかを特定することが容易である。
検証対象の半導体回路や、これを検証するためのテストベンチ(テストプログラム)は、半導体プロセスの進化に伴い、年々巨大化している。この大きな半導体回路を論理検証するために、この大きなテストベンチを用いてシミュレーションを行うためには、ホストコンピュータに大きなサイズのメモリを搭載する事を必要とする。しかし、メモリは高価なため、全てのホストコンピュータに搭載できる限りの、大きなメモリを積むという事は難しい。 The semiconductor circuit to be verified and the test bench (test program) for verifying the semiconductor circuit have become larger year by year as the semiconductor process has evolved. In order to perform logic verification using this large test bench in order to verify the logic of this large semiconductor circuit, it is necessary to mount a large-sized memory in the host computer. However, since the memory is expensive, it is difficult to load as much memory as possible in all the host computers.
一方、各テスターの検証対象の回路規模やテストベンチの大きさには差があり、全てのテスターが大きなメモリを必要するわけではない。 On the other hand, there is a difference in the circuit scale to be verified and the size of the test bench of each tester, and not all testers require a large memory.
このため、予算の許す範囲でいくつかのホストコンピュータには、最大限のメモリを搭載するというように、ホストコンピュータによってメモリの搭載量に差をつけ、テストベンチの規模やテストの内容によりホストコンピュータを割り当てを変えたいという要求があった。しかし、前述のようなリソースを一括管理するような方法だけでは不十分であるという問題があった。 For this reason, some host computers are equipped with the maximum amount of memory within the limits of the budget, so that the amount of memory varies depending on the host computer, and the host computer depends on the size of the test bench and the content of the test. There was a request to change the allocation. However, there is a problem that the above-described method for managing resources collectively is not sufficient.
すなわち、管理システムによって割り当てられたホストコンピュータのメモリー容量が、テスト(テストベンチ)が必要とするメモリ容量よりも少なかった場合には、シミュレーションは異常終了をしてしまうという問題があった。 In other words, if the memory capacity of the host computer allocated by the management system is less than the memory capacity required by the test (test bench), the simulation ends abnormally.
本発明は以上の問題に鑑みてなされたものであり、実行要求されたプログラムを最適なホストコンピュータに対して実行許可する為の技術を提供することを目的とする。 The present invention has been made in view of the above problems, and an object of the present invention is to provide a technique for permitting execution of a requested program to an optimal host computer.
また、図13に示した構成でもって各データ処理ブロックを検証する際、それぞれのデータモニタは、前述の通り、クロックの毎サイクルにおいて処理出力データを監視しており、これら監視する回数が多くなればなるほどシミュレーション時間に影響を与え、遅くなるという問題があった。すなわちデータモニタの数が多ければ多いほどシミュレーション時間が長くなってしまう。これに対し、単純に最終段のデータモニタ、すなわち図13におけるデータ3モニタ1333だけを有効にするという方法もあるが、これではこのモニタにてErrorを検出したときに、どのデータ処理ブロックの処理が正しくなかったのかを特定することが非常に困難であるという問題があった。これらの問題は、集積回路の論理検証を長引かせ、製品開発日程に大きな影響を及ぼす。
Further, when verifying each data processing block with the configuration shown in FIG. 13, each data monitor monitors the processing output data in each cycle of the clock as described above, and the number of times of monitoring can be increased. There was a problem that the simulation time was affected more and more slowly. That is, the more data monitors, the longer the simulation time. On the other hand, there is a method in which only the last stage data monitor, that is, the
よって、本発明の別の目的としては、より高速にデータ処理ブロックの動作検証を行うための技術を提供することを目的とする。 Therefore, another object of the present invention is to provide a technique for performing operation verification of a data processing block at a higher speed.
本発明の目的を達成するために、例えば、本発明の情報処理装置は以下の構成を備える。 In order to achieve the object of the present invention, for example, an information processing apparatus of the present invention comprises the following arrangement.
即ち、複数のコンピュータで共有するソフトウェアを保持している情報処理装置であって、
前記複数のコンピュータを搭載メモリ容量に応じて複数のグループに分けた場合に、それぞれのグループに対応するキューを保持するキュー保持手段と、
前記ソフトウェアの実行要求を受けると、前記ソフトウェアの実行に必要なメモリ使用量を求める計算手段と、
前記計算手段が求めたメモリ使用量を許容する搭載メモリ容量を有するコンピュータが属するグループに対応するキューに、前記ソフトウェアの実行ジョブを格納する格納手段と
前記格納手段が実行ジョブを格納したキューに対応するグループに属するコンピュータの何れかに前記実行ジョブの使用許可を与える許可手段と
を備えることを特徴とする。
That is, an information processing apparatus holding software shared by a plurality of computers,
A queue holding means for holding a queue corresponding to each group when the plurality of computers are divided into a plurality of groups according to the installed memory capacity;
Upon receiving the execution request for the software, calculation means for obtaining the memory usage necessary for the execution of the software,
Corresponding to a queue corresponding to a group to which a computer having an installed memory capacity allowing the memory usage obtained by the calculation means belongs, and a queue storing the execution job of the software Permission means for granting permission to use the execution job to any of the computers belonging to the group.
本発明の目的を達成するために、例えば、本発明の検証装置は以下の構成を備える。 In order to achieve the object of the present invention, for example, the verification apparatus of the present invention comprises the following arrangement.
即ち、入力データを処理して後段に出力するデータ処理ブロックを複数個直列に結合した状態で備え、データ入力側のデータ処理ブロックにデータを入力した後に後段のデータ処理ブロックを順次動作させることで、それぞれのデータ処理ブロックの動作検証処理を行う検証装置であって、
それぞれのデータ処理ブロックについて、
データ処理ブロックの出力を所定の時間間隔で監視する監視手段と、
前記監視手段が監視している出力を保存する保存手段と、
前記監視手段が監視した出力が本来従うべき正解データを保持する保持手段と、
前記監視手段が監視した出力が、当該出力に対応する正解データと一致するか否かを判断する判断手段と
を備え、
出力側の末端データ処理ブロックについては当該末端データ処理ブロックの前記監視手段、前記保存手段、前記判断手段を動作させると共に、前記末端データ処理ブロック以外のデータ処理ブロックについては前記保存手段のみを動作させて前記動作検証処理を行い、当該判断手段が一致していないと判断した場合には、それぞれのデータ処理ブロックの出力を、当該判断時に最も最近の時点でそれぞれのデータ処理ブロックの前記保存手段が保存した出力値に再設定してから、それぞれのデータ処理ブロックの動作を再開させる制御手段と、
前記制御手段による動作再開後、それぞれのデータ処理ブロックの前記判断手段のうち、一致していないと判断した判断手段を有するデータ処理ブロックを特定する特定手段と
を備える。
That is, a plurality of data processing blocks that process input data and output to the subsequent stage are connected in series, and after the data is input to the data processing block on the data input side, the subsequent data processing block is operated sequentially. , A verification device that performs operation verification processing of each data processing block,
For each data processing block,
Monitoring means for monitoring the output of the data processing block at predetermined time intervals;
Storage means for storing the output monitored by the monitoring means;
Holding means for holding correct data that the output monitored by the monitoring means should follow originally;
Judgment means for judging whether or not the output monitored by the monitoring means matches the correct data corresponding to the output;
For the terminal data processing block on the output side, the monitoring unit, the storage unit, and the determination unit of the terminal data processing block are operated, and only the storage unit is operated for data processing blocks other than the terminal data processing block. When the operation verification process is performed and it is determined that the determination unit does not match, the output of each data processing block is output to the storage unit of each data processing block at the most recent time at the time of the determination. A control means for resetting the saved output value and restarting the operation of each data processing block;
After the operation is resumed by the control means, a specifying means for specifying a data processing block having a determining means determined to be inconsistent among the determining means of each data processing block.
本発明の目的を達成するために、例えば、本発明の情報処理方法は以下の構成を備える。 In order to achieve the object of the present invention, for example, an information processing method of the present invention comprises the following arrangement.
即ち、複数のコンピュータで共有するソフトウェアを保持しており、当該複数のコンピュータを搭載メモリ容量に応じて複数のグループに分けた場合に、それぞれのグループに対応するキューを保持するキュー保持手段を備える情報処理装置が行う情報処理方法であって、
前記ソフトウェアの実行要求を受けると、前記ソフトウェアの実行に必要なメモリ使用量を求める計算工程と、
前記計算工程で求めたメモリ使用量を許容する搭載メモリ容量を有するコンピュータが属するグループに対応するキューに、前記ソフトウェアの実行ジョブを格納する格納工程と
前記格納工程で実行ジョブを格納したキューに対応するグループに属するコンピュータの何れかに前記実行ジョブの使用許可を与える許可工程と
を備えることを特徴とする。
In other words, when a plurality of computers holds software shared and the plurality of computers are divided into a plurality of groups according to the installed memory capacity, a queue holding unit that holds a queue corresponding to each group is provided. An information processing method performed by an information processing apparatus,
Upon receiving the execution request for the software, a calculation step for obtaining a memory usage necessary for executing the software;
Corresponding to the storage step for storing the execution job of the software and the queue for storing the execution job in the storage step in the queue corresponding to the group to which the computer having the installed memory capacity allowing the memory usage obtained in the calculation step belongs A permission step of giving permission to use the execution job to any of the computers belonging to the group.
本発明の目的を達成するために、例えば、本発明の検証装置の制御方法は以下の構成を備える。 In order to achieve the object of the present invention, for example, a method for controlling a verification apparatus of the present invention comprises the following arrangement.
即ち、入力データを処理して後段に出力するデータ処理ブロックを複数個直列に結合した状態で備え、データ入力側のデータ処理ブロックにデータを入力した後に後段のデータ処理ブロックを順次動作させることで、それぞれのデータ処理ブロックの動作検証処理を行う検証装置の制御方法であって、
それぞれのデータ処理ブロックについて、
データ処理ブロックの出力を所定の時間間隔で監視する監視工程と、
前記監視工程で監視している出力を保存する保存工程と、
前記監視工程で監視した出力が本来従うべき正解データを保持する保持工程と、
前記監視工程で監視した出力が、当該出力に対応する正解データと一致するか否かを判断する判断工程と
を備え、
出力側の末端データ処理ブロックについては当該末端データ処理ブロックの前記監視工程、前記保存工程、前記判断工程における処理を動作させると共に、前記末端データ処理ブロック以外のデータ処理ブロックについては前記保存工程における処理のみを動作させて前記動作検証処理を行い、当該判断工程で一致していないと判断した場合には、それぞれのデータ処理ブロックの出力を、当該判断時に最も最近の時点でそれぞれのデータ処理ブロックの前記保存工程で保存した出力値に再設定してから、それぞれのデータ処理ブロックの動作を再開させる制御工程と、
前記制御工程による動作再開後、それぞれのデータ処理ブロックの前記判断工程のうち、一致していないと判断した判断工程を有するデータ処理ブロックを特定する特定工程と
を備えることを特徴とする。
That is, a plurality of data processing blocks that process input data and output to the subsequent stage are connected in series, and after the data is input to the data processing block on the data input side, the subsequent data processing block is operated sequentially. , A method of controlling a verification device that performs an operation verification process of each data processing block,
For each data processing block,
A monitoring step of monitoring the output of the data processing block at predetermined time intervals;
A storage step for storing the output monitored in the monitoring step;
A holding step for holding correct data that the output monitored in the monitoring step should originally follow;
A determination step of determining whether or not the output monitored in the monitoring step matches the correct data corresponding to the output;
For the terminal data processing block on the output side, the processing in the monitoring step, the storage step, and the determination step of the terminal data processing block is operated, and for the data processing blocks other than the terminal data processing block, the processing in the storage step When the operation verification processing is performed by operating only the data, and it is determined that they do not match in the determination step, the output of each data processing block is displayed at the most recent time at the time of the determination. After resetting the output value stored in the storage step, the control step of restarting the operation of each data processing block,
And a specifying step of specifying a data processing block having a determination step that is determined not to match among the determination steps of the respective data processing blocks after the operation is resumed by the control step.
本発明の構成により、実行要求されたプログラムを最適なホストコンピュータに対して実行許可することができる。 According to the configuration of the present invention, it is possible to permit execution of a requested program to an optimal host computer.
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。 Hereinafter, the present invention will be described in detail according to preferred embodiments with reference to the accompanying drawings.
[第1の実施形態]
先ず、従来のシステムについて説明する。
[First Embodiment]
First, a conventional system will be described.
<従来のシステム>
図3は、従来のシステムの機能構成を示す図である。このシステムは、回路の論理検証を行うためのシミュレーションプログラムを、要求されたコンピュータについて実行許可するというためのものである。
<Conventional system>
FIG. 3 is a diagram showing a functional configuration of a conventional system. This system is for permitting execution of a simulation program for performing logic verification of a circuit on a requested computer.
300はシミュレーション実行受付部で、ユーザからシミュレーション実行要求を受け付ける。シミュレーション実行受付部300はシミュレーション実行要求が入力されると、要求されたシミュレーションを行うソフトウェア(プログラム)を実行するジョブをシミュレーションキュー320に投入する。シミュレーションキュー320は、シミュレーション実行受付部300から投入されたジョブを順次保持するキューとして機能すると共に、ソフトウェアの実行状況を監視する。
Reference numeral 300 denotes a simulation execution receiving unit that receives a simulation execution request from a user. When a simulation execution request is input, the simulation execution accepting unit 300 inputs a job for executing the requested simulation (software) to the
なお、ここでは説明上、ソフトウェアのライセンス数を後述するホストコンピュータの数と同数にした。すなわち、シミュレーションを高速に行うため、1つのホストコンピューター上では1つのシミュレーションしか行わない(1つのシミュレーションソフトウェアしか動作しない)ように制御した。 Here, for the sake of explanation, the number of software licenses is the same as the number of host computers described later. That is, in order to perform the simulation at high speed, control was performed so that only one simulation is performed on one host computer (only one simulation software operates).
330はホストコンピュータ群で、この中に現在処理を行っていない(空いている)ホストコンピュータがあれば、このホストコンピュータにソフトウェアの実行のライセンスを与えると共に、シミュレーションキュー320から次に取り出し可能なジョブをこのホストコンピュータに割り当てるので、ホストコンピュータは割り当てられたジョブを実行(ソフトウェアを実行)する。
そしてジョブの実行が完了すると、ホストコンピュータはジョブの実行終了の旨をシミュレーションキュー320に通知するので、シミュレーションキュー320は、シミュレーションソフトウェアを実行中のホストコンピュータを把握してると共に、シミュレーションキュー320に投入されたジョブは、ホストコンピュータ群330のうち、空いているホストコンピュータに割り当てられる。
When the execution of the job is completed, the host computer notifies the
図4は、シミュレーションキュー320が行う処理のフローチャートである。先ず、ホストコンピュータ群330のうち空いているホストコンピュータがあるかをチェックする(ステップS410)。そして空いているホストコンピュータが無ければ、シミュレーション実行終了の指示を待ち(ステップS450)、この指示を受ければ処理をステップS420に進め、この指示を発したホストコンピュータにシミュレーションソフトウェアのライセンスを発行する(ステップS420)と共に、このシミュレーションソフトウェアの実行許可を与える(ステップS430)。
FIG. 4 is a flowchart of processing performed by the
その結果、ホストコンピュータは実行許可が与えられたシミュレーションソフトウェアを実行するのであるが、実行が終了すると、ライセンスを解放するので、シミュレーションキュー320はこれを待ち、受け付ける(ステップS440)。
As a result, the host computer executes the simulation software to which the execution permission is given. When the execution is completed, the license is released, and the
ここで例えば、シミュレーションソフトウェアが、半導体回路の論理検証のシミュレーションであるとする。そうすると、ホストコンピュータにとってシミュレーションソフトウェアの実行負荷は、論理検証対象の半導体回路の規模、及び検証用プログラム(テスト、及びテストベンチ)の規模によって異なってくる。すなわち、これらが大きければ、使用するコンピュータ上のメモリも多くなる。時にはシミュレーションソフトウェアの実行負荷がホストコンピュータの能力を超え、すなわちシミュレーションソフトウェアの実行に必要なメモリ容量がホストコンピュータが有するメモリサイズを超えてしまい、シミュレーションが破綻するという問題が起きる。 Here, for example, it is assumed that the simulation software is a logic verification simulation of a semiconductor circuit. Then, the execution load of the simulation software for the host computer varies depending on the scale of the semiconductor circuit to be logically verified and the scale of the verification program (test and test bench). That is, if these are large, more memory is used on the computer. Sometimes, the execution load of the simulation software exceeds the capacity of the host computer, that is, the memory capacity necessary for executing the simulation software exceeds the memory size of the host computer, causing a problem that the simulation fails.
このため、ホストコンピュータにはさらに大きなサイズのメモリを搭載することが要求されるが、メモリは高価なため、前述のホストコンピュータ群全てに十分なメモリを搭載することが難しいという問題がある。 For this reason, the host computer is required to be equipped with a larger size memory. However, since the memory is expensive, there is a problem that it is difficult to install a sufficient memory in all the host computer groups described above.
また、前述のように、シミュレーションソフトウェアの実行負荷は、検証対象の半導体回路、及び検証用プログラムの規模によって異なるため、これらが比較的小さい場合は、ホストコンピュータに大きなメモリを搭載しなくても十分シミュレーションを行う事ができ、必要以上のメモリを搭載する事は無駄となるという問題がある。 As described above, since the execution load of the simulation software varies depending on the scale of the semiconductor circuit to be verified and the verification program, if these are relatively small, it is not necessary to install a large memory in the host computer. There is a problem that a simulation can be performed and it is useless to install more memory than necessary.
<本実施形態に係るシステム>
以上の問題を解決すべく、本実施形態に係るシステムは図1に示す構成を備える。図1は、本実施形態に係るシステムの機能構成を示す図である。なお、本実施形態に係るシステムもまた、ホストコンピュータから要求されたシミュレーションソフトウェアの実行を管理するものであるが、以下の説明においても、このシミュレーションは、半導体回路の論理検証のシミュレーションであるとする。しかし、以下の説明は、これ以外の種類のシミュレーションであっても良いし、シミュレーションの種類に限定するものではない。また、実行を管理するソフトウェアの種類についても特に限定するものではない。
<System according to this embodiment>
In order to solve the above problem, the system according to the present embodiment has the configuration shown in FIG. FIG. 1 is a diagram illustrating a functional configuration of a system according to the present embodiment. The system according to the present embodiment also manages the execution of simulation software requested from the host computer. In the following description, this simulation is assumed to be a logic verification simulation of a semiconductor circuit. . However, the following description may be other types of simulations, and is not limited to the types of simulations. Further, the type of software for managing execution is not particularly limited.
本実施形態に係るシステムは、大まかにはサーバ装置190、メモリ容量Aグループ130、メモリ容量Bグループ131、メモリ容量Cグループ132に大別される。
The system according to the present embodiment is roughly divided into a
サーバ装置190は、シミュレーション実行受付部100、メモリ使用量予測部101、リソース管理部110、シミュレーションキューA120、シミュレーションキューB121、シミュレーションキューC122により構成されている。
The
なお、本実施形態ではシミュレーション実行受付部100、メモリ使用量予測部101、リソース管理部110、シミュレーションキューA120、シミュレーションキューB121、シミュレーションキューC122は1つの装置(サーバ装置190)を構成する各部として説明するが、それぞれが別個の装置であっても良いということはいうまでもない。
In the present embodiment, the simulation execution receiving unit 100, the memory
本実施形態に係るシステムでは先ず、複数のホストコンピュータを搭載メモリ容量別に複数のグループに予め分割している。同図では、3つのグループに分割しており、それぞれのグループをメモリ容量Aグループ130、メモリ容量Bグループ131、メモリ容量Cグループ132としている。ここで、メモリ容量Cグループ132に属するホストコンピュータが最も大きいメモリ容量を有するものとし、メモリ容量Bグループ131に属するホストコンピュータは次に大きいメモリ容量を有し、メモリ容量Aグループ130に属するホストコンピュータが最も小さいメモリ容量を有する、とする。
In the system according to this embodiment, first, a plurality of host computers are divided in advance into a plurality of groups according to the installed memory capacity. In the figure, the data is divided into three groups, and the groups are a memory
ここで以下の説明では、メモリ容量Aグループ130に属するホストコンピュータが有するメモリのサイズ(それぞれの平均値でも良いし、最低値でも良い)をA、メモリ容量Bグループ131に属するホストコンピュータが有するメモリのサイズをB、メモリ容量Cグループ132に属するホストコンピュータが有するメモリのサイズをCと表現する。
Here, in the following description, the memory size (may be an average value or a minimum value) of the host computers belonging to the memory
また、本実施形態ではそれぞれのグループ毎にキューが設けられており、メモリ容量Aグループ130に対してはシミュレーションキューA120が設けられており、メモリ容量Bグループ131に対してはシミュレーションキューB121が設けられており、メモリ容量Cグループ132に対しては、シミュレーションキューC122が設けられている。
In this embodiment, a queue is provided for each group, a simulation queue A120 is provided for the memory
図5は、上記サーバ装置190の基本構成を示すブロック図である。
FIG. 5 is a block diagram showing a basic configuration of the
同図において501はCPUで、RAM502やROM503に格納されているプログラムやデータを用いてサーバ装置190全体の制御を行うと共に、サーバ装置190が行う後述の各処理を実行する。
In the figure,
502はRAMで、外部記憶装置506からロードされたプログラムやデータを一時的に記憶するためのエリアを備えると共に、CPU501が各種の処理を実行する際に使用するワークエリアを備える。また、以下の説明で登場する「キュー」はこのRAM502内に設けられたものである。また、後述するNIC507を介して外部から受信したプログラムやデータを一時的記憶するためのエリアを備える。
503はROMで、サーバ装置190の設定データや、ブートプログラムなどを格納する。
A
504は操作部で、マウスやキーボードなどにより構成されており、各種の指示をCPU501に対して入力することができる。
An
505は表示部で、CRTや液晶画面などにより構成されており、CPU501による処理結果を画像や文字などでもって表示することができる。
A display unit 505 includes a CRT, a liquid crystal screen, and the like, and can display processing results by the
506は外部記憶装置で、ハードディスクドライブ装置等の大容量情報記憶装置であって、ここにOS(オペレーティングシステム)や、CPU501に、サーバ装置190が行う後述の各処理を実行させるためのプログラムやデータなどが保存されており、これらの一部もしくは全部はCPU501の制御に従ってRAM502にロードされ、CPU501の処理対象となる。
507はNIC(ネットワークインターフェース)で、後述する各ホストコンピュータとのデータ通信を行うためのインターフェースとして機能するものである。
508は上述の各部を繋ぐバスである。
A
次に、このような構成を有するサーバ装置190を含むシステムが行う処理について説明する。ユーザから入力されたシミュレーションソフトウェアの実行要求はシミュレーション実行受付部100を介して入力されるので、メモリ使用量予測部101は、実行要求されたシミュレーションソフトウェアを実行したときに使用するメモリ量や、どの規模の回路のシミュレーションを行うのかといったことを求める。例えば、同じシミュレーションソフトウェアを実行するにも、規模の大きい回路の論理検証を行うためにはより大きいメモリ容量を必要とするし、逆に規模の小さい回路の論理検証を行うためにはより小さいメモリ容量で良い。そこで、シミュレーションソフトウェアを実行するために最低限必要なメモリ量と、どの規模の回路の論理検証を行うのかということを把握すれば、要求されたシミュレーションを実行するために必要なメモリ容量を求める(予測する)ことができる。
Next, processing performed by a system including the
シミュレーションを実行するために必要なメモリ容量は、例えば、シミュレーション受付実行部100において受け付けられたシミュレーションソフトウェアのプログラムから予めシミュレーションに用いるデータのサイズおよびサブプログラムが使用するメモリの使用量を取得し、これらの使用量を合計したものを最大使用量としておく。 The memory capacity necessary for executing the simulation is obtained, for example, by acquiring in advance the size of data used for the simulation and the amount of memory used by the subprogram from the simulation software program received by the simulation reception execution unit 100. The total usage amount is set as the maximum usage amount.
必要な最大メモリ使用量が求まると、リソース管理部110は、シミュレーションキューA120、シミュレーションキューB121、シミュレーションキューC122のうち、どのキューにシミュレーションソフトウェアの実行ジョブ(要求された規模の回路の論理検証を行うためのシミュレーションソフトウェアの実行のジョブ)を投入するのかを、メモリ使用量予測部101が計算したメモリ使用量、各キューの容量に基づいて決定する。
When the required maximum memory usage is obtained, the
例えば、メモリ使用量予測部101が求めたメモリ使用量がNであり、A<N<Bである場合、即ち、メモリ使用量がAよりも大きい場合には、このようなシミュレーションソフトウェアの実行ジョブが実行できるのはメモリ容量Bグループ131に属するホストコンピュータ、もしくはメモリ容量Cグループ132に属するホストコンピュータしかない。そこで、メモリ容量Cグループ132に属するホストコンピュータでなくても、メモリ容量Bグループ131に属するホストコンピュータで十分であるので、メモリ容量Bグループ131に対応するシミュレーションキューB121に実行ジョブを投入する。
For example, when the memory usage obtained by the memory
しかし、例えばシミュレーションキューB121にて待ち状態(ジョブが投入できない状態)であり、シミュレーションキューC122に空きがある場合には、メモリ容量Cグループ132に属するホストコンピュータにジョブを実行させるのはオーバースペックではあるものの、ジョブをシミュレーションキューC122に投入するようにしても良い。
However, for example, if the simulation queue B121 is in a waiting state (a state where a job cannot be submitted) and the simulation queue C122 has a free space, it is overspec that the host computer belonging to the memory
シミュレーションキューB121は、ジョブが投入されると、メモリ容量Cグループ132に属するホストコンピュータのうち、処理を行っていない、もしくは他の処理を行うほど能力に余裕のある等、所謂「空いている」ホストコンピュータを探し、そのホストコンピュータにジョブの実行ライセンスを与え、ジョブの実行許可を与える。
When a job is submitted, the
ジョブの実行処理は全てホストコンピュータが行うようにしても良いし、一部をサーバ装置190が行うようにしても良い。いずれにせよ、例え全てをホストコンピュータに行わせる場合であっても、このホストコンピュータは、ジョブを実行するために必要なメモリサイズを有しているが故に選出されたものであるので、このジョブは必ず実行することができ、メモリサイズの不足による処理の中断はない。
All of the job execution processing may be performed by the host computer, or part of the job execution processing may be performed by the
図2は、以上説明したサーバ装置190が行う処理のフローチャートである。なお、同図のフローチャートに従った処理をCPU501に実行させるためのプログラムやデータは外部記憶装置506からRAM502に予めロードされており、これをCPU501が実行することで、サーバ装置190は以下説明する処理を実行することになる。なお、以下の各ステップにおける処理は上述の通りであるので、ここでは簡単に説明する。
FIG. 2 is a flowchart of processing performed by the
先ず、CPU501が操作部504を介してユーザにより入力されたシミュレーションソフトウェアの実行要求を検知すると、シミュレーションソフトウェアに記述されたデータを解析し(ステップS201)、要求されたシミュレーションソフトウェアを実行したときに使用するメモリ量や、どの規模の回路のシミュレーションを行うのかといったことを求め、結果として、要求された回路規模の論理検証を行うためにこのシミュレーションソフトウェアを実行した際に使用するメモリ使用量を求める(予測する)(ステップS202)。
First, when the
そして各グループのホストコンピュータに搭載されたメモリ量(図1ではA、B、C)のうち、ステップS202で求めたメモリ使用量Nを許容するメモリ量を許容するものを選ぶ(ステップS203)。ここで、各グループのホストコンピュータに搭載されたメモリ量のうち、ステップS202で求めたメモリ使用量Nを許容するメモリ量を許容するものがなかった場合には、処理をステップS205に進め、警告を発行する(ステップS205)のであるが、予めの設定により、これを「有効」とする場合には処理をステップS206を介して本処理を終了する。 Of the memory amounts (A, B, and C in FIG. 1) installed in the host computers of each group, a memory amount that allows the memory usage amount N obtained in step S202 is selected (step S203). Here, if there is no memory amount that allows the memory usage amount N obtained in step S202 among the memory amounts installed in the host computers of each group, the process proceeds to step S205, and a warning is issued. Is issued (step S205), but if this is set to “valid” due to the preset setting, the process is terminated via step S206.
これにより予想したメモリ使用量が、ホストコンピュータが搭載しているメモリ容量をオーバする事が分かり、無駄なシミュレーションを実行せずにシミュレーションプログラムの見直しを行う事ができる。また、予想メモリ使用量がホストコンピュータが搭載しているメモリ容量をオーバーしている場合でも、確実にシミュレーションが破綻するわけではないので、シミュレーションを実行したい場合もある。このときは前述の上記設定を「無効」とすることにより、最大のメモリを搭載したホストコンピュータのシミュレーションキューに投入することができる。前述のようにシミュレーションプログラムを見直した際に、変更する余地がない場合などにも上記設定を「無効」にする事は有効である。 As a result, it can be seen that the predicted memory usage exceeds the memory capacity installed in the host computer, and the simulation program can be reviewed without executing useless simulation. Even if the expected memory usage exceeds the memory capacity installed in the host computer, the simulation does not necessarily fail, so it may be desired to execute the simulation. At this time, by setting the above-described setting to “invalid”, the setting can be put into the simulation queue of the host computer equipped with the maximum memory. As described above, when the simulation program is reviewed, it is effective to set the above setting to “invalid” even when there is no room for change.
一方、上記設定を「無効」とする場合には処理をステップS206を介してステップS210に進める。 On the other hand, when the setting is “invalid”, the process proceeds to step S210 via step S206.
一方、各グループのホストコンピュータに搭載されたメモリ量(図1ではA、B、C)のうち、ステップS202で求めたメモリ使用量Nを許容するメモリ量を許容するものがある場合には処理をステップS204に進める。ここではメモリ容量Bグループ131がこれに相当するとして説明する。よってステップS204では、メモリ容量Bグループ131を選出する(ステップS204)。
On the other hand, if there is a memory amount that allows the memory usage amount N obtained in step S202 among the memory amounts (A, B, C in FIG. 1) installed in the host computers of each group, the processing is performed. Advances to step S204. Here, a description will be given assuming that the memory
そして、メモリ容量Bグループ131に属するホストコンピュータのうち、空いているホストコンピュータがあるか否かを判断し(ステップS210)、無ければ処理をステップS250に進め、シミュレーション実行終了の指示を待ち(ステップS250)、この指示を受ければ処理をステップS220に進め、この指示を発したホストコンピュータにシミュレーションソフトウェアのライセンスを発行する(ステップS220)と共に、このシミュレーションソフトウェアの実行許可を与える(ステップS230)。 Then, it is determined whether there is a vacant host computer among the host computers belonging to the memory capacity B group 131 (step S210). If not, the process proceeds to step S250 and waits for an instruction to end simulation execution (step S210). If this instruction is received, the process proceeds to step S220, a license for the simulation software is issued to the host computer that issued this instruction (step S220), and permission to execute the simulation software is given (step S230).
その結果、ホストコンピュータは実行許可が与えられたシミュレーションソフトウェアを実行するのであるが、実行が終了すると、ライセンスを解放するので、CPU501ははこれを待ち、受け付ける(ステップS240)。
As a result, the host computer executes the simulation software to which the execution permission is given. When the execution is completed, the license is released, and the
以上の説明により、本実施形態によって、実行要求されたプログラムを最適なホストコンピュータに対して実行許可することができる。これにより、例えば半導体回路の論理検証において、論理検証シミュレーションを行うホストコンピュータに搭載するメモリに対する投資を最小限抑えることが出来、また、無駄なシミュレーションを走らせる事のない論理検証システムを提供する事が出来る。 As described above, according to the present embodiment, execution of the requested program can be permitted to an optimal host computer. As a result, for example, in logic verification of a semiconductor circuit, it is possible to minimize the investment in the memory installed in the host computer that performs the logic verification simulation, and to provide a logic verification system that does not run a useless simulation. I can do it.
[第2の実施形態]
本実施形態では、直列に結合している3つのデータ処理ブロックの動作検証を行う場合について説明するが、以下の説明の本質はデータ処理ブロックの数に限定されるものではないことは、以下の説明により明らかと成るであろう。
[Second Embodiment]
In the present embodiment, a case where operation verification of three data processing blocks coupled in series is performed will be described. However, the essence of the following description is not limited to the number of data processing blocks. It will be clear from the explanation.
<従来の検証システム>
先ず、図2に示したシステムLSI601に含まれる3つのデータ処理ブロック(データ処理1ブロック、データ処理2ブロック、データ処理3ブロック)について、従来の検証方法について説明する。
<Conventional verification system>
First, a conventional verification method for three data processing blocks (data processing block 1,
図13は上述の通り、この3つのデータ処理ブロックを従来の方法でもって検証する為の装置の構成を示すものである。同図では検証対象の論理回路は、データ処理1ブロック1106、データ処理2ブロック1320、データ処理3ブロック1330である。なお、以下の説明において、プログラムの実行や各種の処理制御は、CPU602が行うものである。
FIG. 13 shows the configuration of an apparatus for verifying these three data processing blocks by a conventional method as described above. In the figure, the logic circuits to be verified are a data processing 1
同図において検証に用いられる入力データファイル1101は、入力バスモデル1102により解釈され、データ処理1ブロック1106に送られる。
The input data file 1101 used for verification in the figure is interpreted by the
この時の動作モード等を設定するためのパラメータデータファイル1103はCPU I/Fモデル1105を通して、動作モードが設定され、データ処理1ブロック1106、データ処理2ブロック1320、データ処理3ブロック1330は、設定された動作モードに従って動作する。その動作については即ち、データ処理1ブロック1106は、入力バスモデル1102を介して入力された入力データファイル1101を設定された動作モードに従って処理して後段のデータ処理2ブロック1320に送出する。データ処理2ブロック1320は、データ処理1ブロック1106から出力されたデータを設定された動作モードに従って処理して後段のデータ処理3ブロック1330に送出する。データ処理3ブロック1330は、データ処理2ブロック1320から出力されたデータを設定された動作モードに従って処理して後段の出力バスモデル1340を通して出力する。
The parameter data file 1103 for setting the operation mode at this time is set to the operation mode through the CPU I /
一方、データ処理1ブロック1106が出力すべき正解データとしての期待値1データファイル1108は予め、正解データを生成するデータ処理1プログラム1104を用いて、入力データファイル1101、パラメータデータファイル1103より生成している。またデータ処理1ブロック1106の出力は所定時間間隔毎にデータ1モニタ1111により監視されており、データ1モニタ1111は、監視した出力と期待値1データファイル1108とを比較し、データ処理1ブロック1106が期待した処理を行ったか否かを検証する。
On the other hand, the expected value 1 data file 1108 as correct data to be output by the data processing 1
また、データ処理2ブロック1320が出力すべき正解データとしての期待値2データファイル1322は予め、正解データを生成するデータ処理2プログラム1321を用いて、(先にデータ処理1プログラム1104により生成された)期待値1データファイル1108と、パラメータデータファイル1103より生成している。またデータ処理2ブロック1320の出力は所定時間間隔毎にデータ2モニタ1323により監視されており、データ2モニタ1323は、監視した出力と期待値2データファイル1322と比較し、データ処理2ブロック1320が期待した処理を行ったか否かを検証する。
In addition, the expected
また、データ処理3ブロック1330が出力すべき正解データとしての期待値3データファイル1332は予め、正解データを生成するデータ処理3プログラム1331を用いて、(先にデータ処理2プログラム1321により生成された)期待値2データファイル1322と、パラメータデータファイル1103より生成している。またデータ処理3ブロック1330の出力は所定時間間隔毎にデータ3モニタ1333により監視されており、データ3モニタ1333は、監視した出力と期待値3データファイル1332とを比較し、データ処理3ブロック1330が期待した処理を行ったか否かを検証する。
Further, the expected
以上の構成によるシステムによって行う検証では、検証対象のデータ処理ブロックが誤った動作を行った場合、各データ処理ブロックの出力バスに接続された各データモニターがこれを検出することができるため、どのデータ処理ブロックが誤った動作をしたのかの特定が容易であり、検証効率を向上させる利点がある。一方、これらデータモニタは各サイクル毎にバスを監視しているため、その度にバスとデータモニタ間で通信が発生し、シミュレーション速度を低下させる原因となる。システムが大きくなるほど接続されるデータモニタの数が多くなるため、シミュレーション速度の低下は顕著に表れる。 In the verification performed by the system having the above configuration, if the data processing block to be verified performs an incorrect operation, each data monitor connected to the output bus of each data processing block can detect this. It is easy to specify whether the data processing block has performed an error, and there is an advantage of improving the verification efficiency. On the other hand, since these data monitors monitor the bus for each cycle, communication occurs between the bus and the data monitor each time, causing a reduction in simulation speed. Since the number of connected data monitors increases as the system becomes larger, the simulation speed is significantly reduced.
よって本実施形態に係る検証システムはこれに鑑みて成されたものである。以下、本実施形態に係る検証システムについて説明する。 Therefore, the verification system according to the present embodiment is made in view of this. Hereinafter, the verification system according to the present embodiment will be described.
<本実施形態に係る検証システム>
図15は、本実施形態に係る検証システムの基本構成を示すブロック図である。尚同図において図11,13と同じ部分については同じ番号を付けており、その説明は省略する。
<Verification system according to this embodiment>
FIG. 15 is a block diagram illustrating a basic configuration of the verification system according to the present embodiment. In the figure, the same parts as those in FIGS. 11 and 13 are denoted by the same reference numerals, and the description thereof is omitted.
図15に示した構成が図13に示した構成と異なる点は、それぞれのデータモニタ(データ1モニタ1111、データ2モニタ1323、データ3モニタ1333)の監視/非監視を切り替えるためのスイッチ1501,1502,1503を設けた点にある。例えばスイッチ1501をオンにすると、データ処理1ブロック1106からの出力線はデータ1モニタ1111とつながるので、データ1モニタ1111は、データ処理1ブロック1106からの出力を監視することができ、逆にスイッチ1501をオフにすると、データ処理1ブロック1106からの出力線はデータ1モニタ1111とはつながっていないので、データ1モニタ1111は、データ処理1ブロック1106からの出力を監視することができない。これはスイッチ1502についても同様である。
The configuration shown in FIG. 15 is different from the configuration shown in FIG. 13 in that a
このようにして、データモニタにより監視/非監視をこのスイッチによって切り替えることができる。なお、データモニタによる監視/非監視の制御手段についてはこのような手段に限定するものではない。 In this way, monitoring / non-monitoring can be switched by this switch by the data monitor. The monitoring / non-monitoring control means by the data monitor is not limited to such means.
このようなシステムにおいて各データ処理ブロックの動作検証を行う場合には以下のようにして行う。なお、以下説明する各処理の制御はCPU602が行うものとする。 In such a system, operation verification of each data processing block is performed as follows. In addition, control of each process demonstrated below shall be performed by CPU602.
先ず、CPU602は、スイッチ1501,1502を共にオフにする指示を送出するので、スイッチ1501、1502は共にこれを受けて自身をオフにし、その後CPU602は、上記検証処理を制御する。即ち、データ処理1ブロック1106は、入力バスモデル1102を介して入力された入力データファイル1101を設定された動作モードに従って処理して後段のデータ処理2ブロック1320に送出する。データ処理2ブロック1320は、データ処理1ブロック1106から出力されたデータを設定された動作モードに従って処理して後段のデータ処理3ブロック1330に送出する。データ処理3ブロック1330は、データ処理2ブロック1320から出力されたデータを設定された動作モードに従って処理して後段の出力バスモデル1340を通して出力する。そしてデータ3モニタ1333は、所定時間間隔毎にデータ処理3ブロック1330の出力を監視し、監視した出力と期待値3データファイルとの比較を行い、一致しているのか否かを判断する。よってデータ3モニタ1333は、所定時間間隔毎に、一致しているか否かの判断処理を行っていることになる。
First, since the
また、CPU602は、それぞれのデータ処理ブロックの出力を所定時間間隔毎にサンプリングし、メモリコントローラ604内のメモリに格納する処理を行う。
In addition, the
このようにして、それぞれのデータ処理ブロックは入力されたデータを処理して後段に出力する処理を繰り返し、且つCPU602は、所定時間間隔毎のそれぞれのデータ処理ブロックの出力をサンプリングし、メモリコントローラ604内のメモリに格納する。また、データ3モニタ1333は、所定時間間隔毎に、データ処理3ブロック1330の出力と期待値3データファイル1332とが一致しているのか否かを判断する。
In this way, each data processing block repeats the process of processing the input data and outputting it to the subsequent stage, and the
ここで、ある時点でデータ3モニタ1333が「一致していない」と判断した場合(Errorを検出した場合)、CPU602はこれを検知して各部の動作を停止させる。ここで、データ3モニタ1333が「一致していない」と判断したということは、データ処理1ブロック1106、データ処理2ブロック1302の何れかもしくはその両方が期待値データファイルとは異なるものを出力したことになる。よって、以下では、データ処理1ブロック1106、データ処理2ブロック1302のうち、期待値データファイルと一致していないものを検知することで、動作が正常ではないデータ処理ブロックを特定する。
Here, when the
CPU602は先ず、スイッチ1501、1502をオンにする。そして、CPU602が「一致していない」という判断を検知した時点に最も近いタイミングでメモリコントローラ604内のメモリに格納した(即ち最も最近メモリに格納した)それぞれのデータ処理ブロックの出力データを読み出して、それぞれのデータ処理ブロックの出力を再設定する。即ち、検証処理を、CPU602が「一致していない」という判断を検知した時点に最も近いタイミングにおける状態から再度行うようにする。なお、その際にはスイッチ1501、1502をオンにしているので、再度検証処理を行う場合にはデータ処理1ブロック1106、データ処理2ブロック1302の出力を監視する事になる。
First, the
そしてCPU602は各部を制御して各部の動作を再開させると、データ1モニタ1111、データ2モニタ1323はそれぞれ、データ処理1ブロック1106、データ処理2ブロック1302の出力を監視することになり、上記タイミングまでで、データ1モニタ1111、及び/又はデータ2モニタ1323が「一致していない」と判断することになる。
When the
これにより、検証処理開始時には全てのデータモニタを動作させず、1つのデータモニタのみを動作させるので、データ監視のためのデータ通信が多く発生することがなく、検証処理を上記従来よりもより高速に行うことができる。 As a result, not all the data monitors are operated at the start of the verification process, and only one data monitor is operated, so that a large amount of data communication for data monitoring does not occur, and the verification process is faster than the conventional one. Can be done.
図14は、本実施形態に係る検証処理のフローチャートである。なお、同図のフローチャートに従った処理の制御は上述の通り、CPU602が行う。
FIG. 14 is a flowchart of the verification process according to the present embodiment. Note that the
先ず、CPU602はスイッチ1501、1502に対してオフの指示を送出する(ステップS900)ので、スイッチ1501、1502は自身をオフにする。これにより、データ1モニタ1111、データ2モニタ1323による監視は行われない。
First, since the
次に、CPU602が各データ処理ブロックの出力データをメモリコントローラ604内のメモリに保存する時間間隔を設定する(ステップS901)のであるが、これは予め設定しておいてメモリコントローラ604内のメモリに保存しておいても良いし、CPU602のクロックに合わせて設定するようにしても良い。
Next, the
次に、処理を1サイクル進める(ステップS902)。ここで処理を1サイクル進めるとは、データ処理1ブロック1106が、入力バスモデル1102を介して入力された入力データファイル1101を設定された動作モードに従って処理して後段のデータ処理2ブロック1320に送出し、次にデータ処理2ブロック1320が、データ処理1ブロック1106から出力されたデータを設定された動作モードに従って処理して後段のデータ処理3ブロック1330に送出し、次にデータ処理3ブロック1330が、データ処理2ブロック1320から出力されたデータを設定された動作モードに従って処理して後段の出力バスモデル1340を通して出力すると共に、データ3モニタ1333は、所定時間間隔毎にデータ処理3ブロック1330の出力を監視し、監視した出力と期待値3データファイルとの比較を行い、一致しているのか否かを判断する、という一連の処理を行うことを差す。
Next, the process is advanced by one cycle (step S902). Here, when the process is advanced by one cycle, the data processing 1
そして1サイクルの処理を行った結果、データ3モニタ1333が「一致していない」と判断した場合(ステップS903)には、処理をステップS908に進め、スイッチ1501、1502をオンにし(ステップS908)、メモリコントローラ604内のメモリに最も最近格納したそれぞれのデータ処理ブロックの出力をそれぞれのデータ処理ブロックに再設定し(ステップS909)、その後、1サイクルの処理を再開する(ステップS910)。
If the
ここでの1サイクルの処理とは、ステップS902における処理に加え、データ1モニタ1111、データ2モニタ1323による監視処理、判断処理を行う。
The one-cycle processing here includes monitoring processing and determination processing by the data 1
そして、データ1モニタ1111、データ2モニタ1323のうちの少なくとも1つがErrorを検出した場合には、CPU602はこれを検知し、Errorを発生したデータ処理ブロックを特定する(ステップS912)。
If at least one of the data 1
より具体的には、データ1モニタ1111がErrorを検出した場合には、データ処理1ブロック1106をErrorを発生した(出力が期待値1データファイル1108と一致しない)データ処理ブロックとして特定し、データ2モニタ1323がErrorを検出した場合には、データ処理2ブロック1320をErrorを発生した(出力が期待値2データファイル1322と一致しない)データ処理ブロックとして特定する。
More specifically, if the data 1
一方、ステップS911で、Errorを検出したデータモニタがない場合には処理ステップS910を繰り返す。なお、繰り返し処理は、CPU602がステップS903でErrorを検知した時点まで行う。
On the other hand, if there is no data monitor that has detected an error in step S911, processing step S910 is repeated. The iterative process is performed until the
一方、ステップS903で、データ3モニタ1333が「一致していない」という判断を行っていない場合には処理をステップS904に進め、各データ処理ブロックの動作が終了していない場合には処理をステップS905に進め、ステップS902における処理を開始以降、ステップS901で設定した時間が経過したか否かを判断し、経過していない場合には処理をステップS902に戻し、以降の処理を繰り返すのであるが、経過した場合には処理をステップS907に進め、CPU602は各データ処理ブロックの出力をメモリコントローラ604内のメモリに格納する(ステップS907)。
On the other hand, if it is determined in step S903 that the
ここで、各データ処理ブロックの出力をメモリに格納する際、メモリには2回前の分まで保存してあるとする。そして今回の格納を行う場合には2回前のデータ(2回前の各データ処理ブロックの出力のデータ)を消去し、新たに今回のデータ(今回の各データ処理ブロックの出力のデータ)を格納する。そしてステップS909で出力のデータをメモリから読み出す場合には2回前のものを読み出す。 Here, when the output of each data processing block is stored in the memory, it is assumed that the memory stores the previous two times. When the current storage is performed, the previous data (the data output from each previous data processing block) is erased, and the current data (the output data from each current data processing block) is newly stored. Store. If the output data is read from the memory in step S909, the previous data is read twice.
このように2回前の分までを保存しておくのであるが、これが1回前の分までしか保存していないとすると、保存した次のサイクルでステップS903にてErrorが検知された場合に、シミュレーション状態は1サイクル前にしか戻せず、全てのスイッチをオンにしたとしても、Errorを発生したデータ処理ブロックを特定することができない。よって、本実施形態では、各データ処理ブロックの出力は2回前の分までを保存しておく。 In this way, the previous two minutes are stored, but if this is stored only up to the previous one, if Error is detected in step S903 in the next stored cycle. The simulation state can be returned only one cycle before, and even if all the switches are turned on, the data processing block in which the error has occurred cannot be specified. Therefore, in this embodiment, the output of each data processing block is stored up to the previous two times.
なお、本実施形態では各データモニタは、データ処理ブロックの出力と期待値データファイルとが1回でも一致していないとErrorを検出するのであるが、1回に限定するものではなく、予め設定した回数であっても良い。 In this embodiment, each data monitor detects an error when the output of the data processing block and the expected value data file do not match even once, but the data monitor is not limited to once, but is set in advance. It may be the number of times.
[その他の実施形態]
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
[Other Embodiments]
Also, an object of the present invention is to supply a recording medium (or storage medium) in which a program code of software that realizes the functions of the above-described embodiments is recorded to a system or apparatus, and the computer (or CPU or Needless to say, this can also be achieved when the MPU) reads and executes the program code stored in the recording medium. In this case, the program code itself read from the recording medium realizes the functions of the above-described embodiment, and the recording medium on which the program code is recorded constitutes the present invention.
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an operating system (OS) running on the computer based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included.
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Furthermore, after the program code read from the recording medium is written into a memory provided in a function expansion card inserted into the computer or a function expansion unit connected to the computer, the function is based on the instruction of the program code. It goes without saying that the CPU or the like provided in the expansion card or the function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。 When the present invention is applied to the recording medium, program code corresponding to the flowchart described above is stored in the recording medium.
Claims (8)
前記複数のコンピュータを搭載メモリ容量に応じて複数のグループに分けた場合に、それぞれのグループに対応するキューを保持するキュー保持手段と、
前記ソフトウェアの実行要求を受けると、前記ソフトウェアの実行に必要なメモリ使用量を求める計算手段と、
前記計算手段が求めたメモリ使用量を許容する搭載メモリ容量を有するコンピュータが属するグループに対応するキューに、前記ソフトウェアの実行ジョブを格納する格納手段と
前記格納手段が実行ジョブを格納したキューに対応するグループに属するコンピュータの何れかに前記実行ジョブの使用許可を与える許可手段と
を備えることを特徴とする情報処理装置。 An information processing apparatus holding software shared by a plurality of computers,
A queue holding means for holding a queue corresponding to each group when the plurality of computers are divided into a plurality of groups according to the installed memory capacity;
Upon receiving the execution request for the software, calculation means for obtaining the memory usage necessary for the execution of the software,
Corresponding to a queue corresponding to a group to which a computer having an installed memory capacity allowing the memory usage obtained by the calculation means belongs, and a queue storing the execution job of the software An information processing apparatus comprising: permission means for giving permission to use the execution job to any of the computers belonging to the group.
それぞれのデータ処理ブロックについて、
データ処理ブロックの出力を所定の時間間隔で監視する監視手段と、
前記監視手段が監視している出力を保存する保存手段と、
前記監視手段が監視した出力が本来従うべき正解データを保持する保持手段と、
前記監視手段が監視した出力が、当該出力に対応する正解データと一致するか否かを判断する判断手段と
を備え、
出力側の末端データ処理ブロックについては当該末端データ処理ブロックの前記監視手段、前記保存手段、前記判断手段を動作させると共に、前記末端データ処理ブロック以外のデータ処理ブロックについては前記保存手段のみを動作させて前記動作検証処理を行い、当該判断手段が一致していないと判断した場合には、それぞれのデータ処理ブロックの出力を、当該判断時に最も最近の時点でそれぞれのデータ処理ブロックの前記保存手段が保存した出力値に再設定してから、それぞれのデータ処理ブロックの動作を再開させる制御手段と、
前記制御手段による動作再開後、それぞれのデータ処理ブロックの前記判断手段のうち、一致していないと判断した判断手段を有するデータ処理ブロックを特定する特定手段と
を備えることを特徴とする検証装置。 A plurality of data processing blocks that process input data and output to the subsequent stage are connected in series, and after the data is input to the data processing block on the data input side, the subsequent data processing block is operated sequentially, A verification device that performs an operation verification process of the data processing block of
For each data processing block,
Monitoring means for monitoring the output of the data processing block at predetermined time intervals;
Storage means for storing the output monitored by the monitoring means;
Holding means for holding correct data that the output monitored by the monitoring means should follow originally;
Judgment means for judging whether or not the output monitored by the monitoring means matches the correct data corresponding to the output;
For the terminal data processing block on the output side, the monitoring unit, the storage unit, and the determination unit of the terminal data processing block are operated, and only the storage unit is operated for data processing blocks other than the terminal data processing block. When the operation verification process is performed and it is determined that the determination unit does not match, the output of each data processing block is output by the storage unit of each data processing block at the most recent time at the time of the determination. A control means for resetting the saved output value and restarting the operation of each data processing block;
A verification apparatus comprising: a specifying unit that specifies a data processing block having a determination unit that is determined not to match among the determination units of each data processing block after the operation is resumed by the control unit.
前記ソフトウェアの実行要求を受けると、前記ソフトウェアの実行に必要なメモリ使用量を求める計算工程と、
前記計算工程で求めたメモリ使用量を許容する搭載メモリ容量を有するコンピュータが属するグループに対応するキューに、前記ソフトウェアの実行ジョブを格納する格納工程と
前記格納工程で実行ジョブを格納したキューに対応するグループに属するコンピュータの何れかに前記実行ジョブの使用許可を与える許可工程と
を備えることを特徴とする情報処理方法。 Information processing provided with queue holding means that holds software shared by a plurality of computers and holds a queue corresponding to each group when the plurality of computers are divided into a plurality of groups according to the installed memory capacity An information processing method performed by a device,
Upon receiving the execution request for the software, a calculation step for obtaining a memory usage necessary for executing the software;
Corresponding to the storage step for storing the execution job of the software and the queue for storing the execution job in the storage step in the queue corresponding to the group to which the computer having the installed memory capacity allowing the memory usage obtained in the calculation step belongs And a permission step of granting permission to use the execution job to any of the computers belonging to the group.
それぞれのデータ処理ブロックについて、
データ処理ブロックの出力を所定の時間間隔で監視する監視工程と、
前記監視工程で監視している出力を保存する保存工程と、
前記監視工程で監視した出力が本来従うべき正解データを保持する保持工程と、
前記監視工程で監視した出力が、当該出力に対応する正解データと一致するか否かを判断する判断工程と
を備え、
出力側の末端データ処理ブロックについては当該末端データ処理ブロックの前記監視工程、前記保存工程、前記判断工程における処理を動作させると共に、前記末端データ処理ブロック以外のデータ処理ブロックについては前記保存工程における処理のみを動作させて前記動作検証処理を行い、当該判断工程で一致していないと判断した場合には、それぞれのデータ処理ブロックの出力を、当該判断時に最も最近の時点でそれぞれのデータ処理ブロックの前記保存工程で保存した出力値に再設定してから、それぞれのデータ処理ブロックの動作を再開させる制御工程と、
前記制御工程による動作再開後、それぞれのデータ処理ブロックの前記判断工程のうち、一致していないと判断した判断工程を有するデータ処理ブロックを特定する特定工程と
を備えることを特徴とする検証装置の制御方法。 A plurality of data processing blocks that process input data and output to the subsequent stage are connected in series, and after the data is input to the data processing block on the data input side, the subsequent data processing block is operated sequentially, A method for controlling a verification apparatus that performs an operation verification process of the data processing block of
For each data processing block,
A monitoring step of monitoring the output of the data processing block at predetermined time intervals;
A storage step for storing the output monitored in the monitoring step;
A holding step for holding correct data that the output monitored in the monitoring step should originally follow;
A determination step of determining whether or not the output monitored in the monitoring step matches the correct data corresponding to the output;
For the terminal data processing block on the output side, the processing in the monitoring step, the storage step, and the determination step of the terminal data processing block is operated, and for the data processing blocks other than the terminal data processing block, the processing in the storage step When the operation verification processing is performed by operating only the data, and it is determined that they do not match in the determination step, the output of each data processing block is displayed at the most recent time at the time of the determination. After resetting the output value stored in the storage step, the control step of restarting the operation of each data processing block,
And a specifying step for specifying a data processing block having a determination step that is determined not to match among the determination steps of each data processing block after the operation is resumed by the control step. Control method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004369920A JP2006178663A (en) | 2004-12-21 | 2004-12-21 | Information processor, method for processing information, verification apparatus, and method of verification |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004369920A JP2006178663A (en) | 2004-12-21 | 2004-12-21 | Information processor, method for processing information, verification apparatus, and method of verification |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006178663A true JP2006178663A (en) | 2006-07-06 |
Family
ID=36732730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004369920A Withdrawn JP2006178663A (en) | 2004-12-21 | 2004-12-21 | Information processor, method for processing information, verification apparatus, and method of verification |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006178663A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010122758A (en) * | 2008-11-17 | 2010-06-03 | Fujitsu Ltd | Job managing device, job managing method and job managing program |
JP2011248580A (en) * | 2010-05-26 | 2011-12-08 | Nakayo Telecommun Inc | Information processing terminal |
JP2021157340A (en) * | 2020-03-25 | 2021-10-07 | 京セラドキュメントソリューションズ株式会社 | Data linkage system and API platform |
-
2004
- 2004-12-21 JP JP2004369920A patent/JP2006178663A/en not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010122758A (en) * | 2008-11-17 | 2010-06-03 | Fujitsu Ltd | Job managing device, job managing method and job managing program |
US8812639B2 (en) | 2008-11-17 | 2014-08-19 | Fujitsu Limited | Job managing device, job managing method and job managing program |
JP2011248580A (en) * | 2010-05-26 | 2011-12-08 | Nakayo Telecommun Inc | Information processing terminal |
JP2021157340A (en) * | 2020-03-25 | 2021-10-07 | 京セラドキュメントソリューションズ株式会社 | Data linkage system and API platform |
JP7421165B2 (en) | 2020-03-25 | 2024-01-24 | 京セラドキュメントソリューションズ株式会社 | Data linkage system and API platform |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7313381B2 (en) | Embedded scheduling of hardware resources for hardware acceleration | |
US5796941A (en) | Method for supervising software execution in a license restricted environment | |
TWI410864B (en) | Controlling instruction execution in a processing environment | |
US20120144146A1 (en) | Memory management using both full hardware compression and hardware-assisted software compression | |
JP2006178663A (en) | Information processor, method for processing information, verification apparatus, and method of verification | |
JP4580722B2 (en) | Test simulator and test simulation program | |
US9058207B2 (en) | Simulation apparatus, method, and computer-readable recording medium | |
JP5516737B2 (en) | Processor system, control program, and control method | |
JP2012123726A (en) | Simulation device and simulation program | |
US20130318310A1 (en) | Processor processing method and processor system | |
US7945901B2 (en) | System and method for facilitating software profiling procedures | |
US9582410B2 (en) | Testing software on a computer system | |
JPWO2011118014A1 (en) | Verification support program, control program, verification support apparatus, multi-core processor system, verification support method, and control method | |
JP2009238176A (en) | Information processing apparatus and program verifying method | |
KR20170065845A (en) | Processor and controlling method thereof | |
CN111930502A (en) | Server management method, device, equipment and storage medium | |
US20020169908A1 (en) | System and method for implementing a flexible arbitration mechanism | |
US20240289156A1 (en) | Methods and systems of managing hypervisor efficiency and uptime | |
US11880231B2 (en) | Accurate timestamp or derived counter value generation on a complex CPU | |
JP7478037B2 (en) | Continuous integration system and continuous integration method | |
JP5390464B2 (en) | Simulation apparatus, simulation apparatus control method, and program | |
JP2010231296A (en) | Parallel computing system | |
JP5761419B2 (en) | Multiprocessor system, control method, and control program | |
JP2967741B2 (en) | CPU compatibility test equipment | |
CN113900928A (en) | IO load automatic test method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080304 |