JP2010102372A - Data processor, verification system, data processor verification method - Google Patents
Data processor, verification system, data processor verification method Download PDFInfo
- Publication number
- JP2010102372A JP2010102372A JP2008270566A JP2008270566A JP2010102372A JP 2010102372 A JP2010102372 A JP 2010102372A JP 2008270566 A JP2008270566 A JP 2008270566A JP 2008270566 A JP2008270566 A JP 2008270566A JP 2010102372 A JP2010102372 A JP 2010102372A
- Authority
- JP
- Japan
- Prior art keywords
- information
- event
- verification
- data processing
- range
- 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
Links
Images
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
Description
本発明は、ソフトウェア又はハードウェアの状態を検証するための検証情報を出力するデータ処理装置、検証システム及びデータ処理装置検証方法に関する。 The present invention relates to a data processing apparatus, a verification system, and a data processing apparatus verification method that output verification information for verifying the state of software or hardware.
プログラムを実行したりデバイス等を含むシステムを制御するデータ処理装置に関し、プログラムやシステムの性能を解析し論理不良を検証するため、同じ環境をシミュレータにより再現する手法が用いられることがある。このシミュレータは例えばデータ処理装置(以下、実機という)の環境を再現し、また例えば処理しうる全ての分岐やロジックを処理するように設計されているが、実行環境の再現に資源が利用されたり、開発中の実機に比べ低速な場合が多く、実機とは比較にならないほどの時間を要する。 With respect to a data processing apparatus that executes a program or controls a system including a device or the like, a method of reproducing the same environment by a simulator may be used to analyze the performance of the program or the system and verify a logic failure. This simulator is designed to reproduce the environment of a data processing device (hereinafter referred to as an actual machine), for example, and to process all branches and logic that can be processed, for example, but resources are used to reproduce the execution environment. In many cases, it is slower than the actual machine under development, and it takes time that cannot be compared with the actual machine.
この点について、マシンサイクル単位で実機の命令をシミュレーションするシミュレータにおいて、命令のスケジューリングに費やす時間を短縮する技術が提案されている(例えば、特許文献1参照。)。特許文献1には、一連の命令からループを検出し、ループが検出された状態における対象命令列を登録しておき、ループ周回毎に今回の実行命令と登録された命令を比較し一致した場合にはその命令をスキップする命令スケジュールのシミュレーション方法が記載されている。したがって、ループ周回時の状態が同じであれば命令をスケジュールしないのでシミュレーションに要する時間を短縮することができる。
With respect to this point, a technique for shortening the time spent for scheduling an instruction in a simulator that simulates an actual machine instruction in machine cycle units has been proposed (for example, see Patent Document 1). In
ところで、実機では、入出力、コア間通信、システムコール、割込み等の種々の事象が生じるが、一般に実機は、実行速度や各種デバイスの監視機能の制約からこの事象の発生タイミングを調整したり制御することはできない。これに対し、シミュレータでは所定のタイミングで事象を発生させることができるので、シミュレータは実機と同じタイミングで事象が生じるようタイミングを調整することができる。しかし、シミュレータは、実機と環境や実行速度が大きく異なるので、事象の発生タイミングを変更することができない。 By the way, various events such as I / O, communication between cores, system calls, and interrupts occur in the actual machine. Generally, the actual machine adjusts or controls the occurrence timing of this event due to restrictions on the execution speed and monitoring functions of various devices. I can't do it. On the other hand, since the simulator can generate an event at a predetermined timing, the simulator can adjust the timing so that the event occurs at the same timing as the actual machine. However, since the simulator differs greatly in environment and execution speed from the actual machine, the event occurrence timing cannot be changed.
この点について、指定された動作点における実機の再現情報を採取して、シミュレータに提供する技術が提案されている(例えば、特許文献2参照。)。特許文献2には、実機により論理不良が検出された場合、その直前で実機を停止させた時の再現情報をシミュレータに供給する実機の論理試験方法が記載されている。したがって、事象の発生タイミングについては実機により取得し、論理不良の原因についてはシミュレータで時間をかけて解析することができる。
しかしながら、シミュレータによる解析の後は、実機で発生した事象の内容及び時刻が大きくずれているため、一度、シミュレータに移行すると実機に戻ってのプログラムの再開が困難であるという問題がある。すなわち、特許文献2に記載された論理試験方法では、実機とシミュレータを動的に切り替えることができず、論理不良を解消した後、再度、プログラムを最初から実行しなければならないという問題がある。
However, after the analysis by the simulator, the contents and time of the event that occurred in the actual machine are greatly deviated, and therefore there is a problem that it is difficult to resume the program after returning to the actual machine once the process is shifted to the simulator. That is, in the logic test method described in
ところで、一つのICに複数のCPUコアが搭載されるマルチコア化されたデータ処理装置では、各コアが異なるOSを実行したり、各コア毎に異なる事象が発生しうるので、実機がマルチコアであると、その事象をシミュレータで再現することがコア数の増加に伴い累乗的に難しくなる。従来、このマルチコアの実機に対し、コア間の事象まで同期させてシミュレーションする技術は提案されていない。 By the way, in a multi-core data processing apparatus in which a plurality of CPU cores are mounted on one IC, each core can execute a different OS, or a different event can occur for each core, so the actual machine is multi-core. And it becomes difficult to reproduce the phenomenon with a simulator as the number of cores increases. Conventionally, there has not been proposed a technique for simulating the multi-core real machine in synchronization with events between cores.
本発明は、上記課題に鑑み、実機とシミュレータとを動的に切り替えることができるデータ処理装置、検証システム及びデータ処理装置検証方法を提供することを目的とする。また、コア間の事象を同期させてマルチコアのデータ処理装置をシミュレートできるデータ処理装置、検証システム及びデータ処理装置検証方法を提供することを目的とする。 In view of the above problems, an object of the present invention is to provide a data processing device, a verification system, and a data processing device verification method capable of dynamically switching between a real machine and a simulator. It is another object of the present invention to provide a data processing device, a verification system, and a data processing device verification method capable of simulating a multi-core data processing device by synchronizing events between cores.
上記課題に鑑み、本発明は、命令及びデータを規定するプログラムAPをメモリから読み出してオペレーティングシステム上で実行し、ソフトウェア又はハードウェアの状態を検証するための検証情報を出力するデータ処理装置であって、命令の実行に伴う、入出力情報、実行時間情報又は実行内容情報等の事象情報を、所定の時刻を基準にした時刻情報とともに記録する実行ログ記録手段と、検証情報を取得する範囲を実行ログに登録する範囲登録手段(例えば、再現区間登録部25)と、実行ログ記憶手段に記憶された実行ログを参照して、実行中のプログラムが、範囲の事象に到達したことを検出する範囲検出手段(例えば、再現区間検出部29)と、範囲の事象に到達したことが検出された場合、検証情報の取得を開始させる実行・検証切り替え手段(例えば、モード切替部27)と、を有し、範囲の検証情報の取得が完了すると、実行・検証切り替え手段が、検証情報の取得を終了させ、完了時の事象から再度、プログラムを実行する、ことを特徴とする。 In view of the above problems, the present invention is a data processing apparatus that reads a program AP defining instructions and data from a memory, executes the program AP on an operating system, and outputs verification information for verifying the state of software or hardware. An execution log recording means for recording event information such as input / output information, execution time information, or execution content information associated with execution of an instruction together with time information based on a predetermined time, and a range for acquiring verification information. Referring to the range registration means (for example, the reproduction section registration unit 25) to be registered in the execution log and the execution log stored in the execution log storage means, it detects that the program being executed has reached an event in the range. Range detection means (for example, the reproduction section detection unit 29), and execution of starting verification information acquisition when it is detected that a range event has been reached. And when the acquisition of the verification information of the range is completed, the execution / verification switching unit terminates the acquisition of the verification information and restarts the program from the event at the completion. It is characterized by performing.
本発明によれば、再現区間までは実機モードで実行し、再現区間はシミュレーションモードで実行するので、実機とシミュレータを動的に切り替えることができる。 According to the present invention, the real machine mode is executed until the reproduction section and the reproduction section is executed in the simulation mode, so that the real machine and the simulator can be dynamically switched.
また、本発明の一形態において、複数のCPUにより複数のOSを稼動するか、又は、複数のCPUにより1つのOSが稼動し、実行ログ記録手段は、CPU毎に事象情報を記録し、範囲検出手段は、それぞれのCPUが同じ時刻の事象情報の事象に到達したことを待って、範囲又はその手前に到達したことを検出する、ことを特徴とする。 In one embodiment of the present invention, a plurality of OSs are operated by a plurality of CPUs, or a single OS is operated by a plurality of CPUs, and the execution log recording unit records event information for each CPU. The detection means waits for each CPU to reach the event of the event information at the same time, and detects that the CPU has reached the range or the front thereof.
本発明によれば、各CPUが同じ時刻の事象情報の事象に到達するまで待機するので、コア間の事象の同期をとって、シミュレーションモードに切り替えることができる。 According to the present invention, since each CPU waits until the event of the event information at the same time arrives, it is possible to switch to the simulation mode by synchronizing the events between the cores.
実機とシミュレータとを動的に切り替えることができるデータ処理装置、検証システム及びデータ処理装置検証方法を提供することができる。コア間の事象を同期させてマルチコアのデータ処理装置をシミュレートできるデータ処理装置、検証システム及びデータ処理装置検証方法を提供することができる。 It is possible to provide a data processing device, a verification system, and a data processing device verification method that can dynamically switch between a real machine and a simulator. It is possible to provide a data processing apparatus, a verification system, and a data processing apparatus verification method capable of simulating a multi-core data processing apparatus by synchronizing events between cores.
以下、本発明を実施するための最良の形態について、図面を参照しながら実施例を挙げて説明する。 Hereinafter, the best mode for carrying out the present invention will be described with reference to the accompanying drawings.
図1は、本実施形態のデータ処理装置100の検証手順を概念的に説明する図である。データ処理装置100は、一台でコア1〜コアn(n≧2)を有するいわゆるマルチコアシステム又はマルチCPU(以下、単にマルチコアシステム)と称される、CPUコア又はCPUを複数備えた例えばノイマン型のコンピュータである。各コアはOS_A〜OS_Xを実行し(各コアが実行するOSは固定でない)、OS上では種々のアプリケーション(以下、APという)1〜nが実行される。ここで、データ処理装置100には、I/Oデバイス(デバイスドライバ)、特定のハードウェア(画像認識用のIC)等を含まれるので、本実施形態ではハードウェアを含めコア、OS、AP等をシステムと称する場合がある。
FIG. 1 is a diagram conceptually illustrating a verification procedure of the
<第1フェーズ>
(1)データ処理装置100は、各コア及び各OS毎に処理される事象を時刻に対応づけて時系列に記録する(以下、記録される情報を実行ログという)。実行ログは後述するように編集が可能である。
<First phase>
(1) The
ここで、事象とは、実行するAP及びOS、さらにAPであればイベント、操作情報の入出力、データの入出力、実行する関数、エラー情報、システムコール等が事象となり、OSであれば、実行するプロセス、コア間通信、データの入出力、利用したデバイスドライバ、APに割り当てたメモリ等が事象となる。そして、さらに例えばAPの「実行する関数」という事象は、実行する命令、データ等が事象となり、例えばOSの「コア間通信」という事象は、通信発行時刻、通信終了時刻及び通信結果等が事象となる。したがって、事象は階層的に管理することができ、実行ログにどの階層の事象までを含むかは設定できるようになっている。例えば、ユーザが階層をレベルで設定すると、そのレベルに対応づけられた階層の事象までを実行ログに記録したり、又は、所定の事象だけは必ず記録するように設定することができる。 Here, an event is an AP and OS to be executed, and if it is an AP, an event, operation information input / output, data input / output, a function to be executed, error information, a system call, etc. are events. Processes to be executed, inter-core communication, data input / output, used device driver, memory allocated to AP, and the like are events. Further, for example, the event “execution function” of the AP is an instruction, data, etc. to be executed, and for example, the event “inter-core communication” of the OS is an event of communication issue time, communication end time, communication result, etc. It becomes. Therefore, the events can be managed hierarchically, and it is possible to set up to what level of events are included in the execution log. For example, when a user sets a hierarchy by level, it can be set to record up to an event of a hierarchy associated with that level in the execution log or to record only a predetermined event.
また、本実施形態では、データ処理装置100が実機モードとシミュレーションモードを切り替える態様と、データ処理装置100とは別にシミュレータ(別のコンピュータ)が用意されている態様とがある。シミュレーションモードのデータ処理装置100又はシミュレータはソフトウェア又はハードウェアの状態を検証するための検証情報を出力する。
In the present embodiment, there are a mode in which the
データ処理装置100は起動時から時間の経過に応じて、OSやAPを実行していくものであるため、起動時刻を基準に時系列に事象を記録していく。したがって、実機モードとシミュレーションモードとで実行速度の違いがあっても、また、データ処理装置とシミュレータとで実行速度に違いがあっても、時間が経過すればいずれは同様な事象が発生する。
Since the
(2)そこで、検証したい事象をユーザが実行ログに登録できるようになっている。検証したい1つの事象のみを登録してもよいが、時系列の事象の範囲(以下、再現区間という)を、例えば開始時刻と終了時刻を指定することで、検証時に再現したい事象を含むように検証対象の事象を登録することができる。再現したい事象を指定して、その前後の所定時間を自動的に登録するようにしてもよい。 (2) Therefore, the user can register an event to be verified in the execution log. You may register only one event that you want to verify, but you can specify the time series of event ranges (hereinafter referred to as the reproduction interval), for example, by specifying the start time and end time so that the event you want to reproduce at the time of verification is included. Events to be verified can be registered. An event to be reproduced may be designated and a predetermined time before and after that may be automatically registered.
(3)ところで、検証時にこの再現区間を再現する場合、原理的には再現区間の開始時刻までデータ処理装置100を作動させなければならないが、実行ログの全てをシミュレーションモード又はシミュレータで実行する場合、再現区間の事象に到達するまで長時間の経過が必要となることがあるので、定期的又は不定期にチェックポイント設け、スナップショット情報を記憶しておくことが好適となる。スナップショット情報は、実機の状態を再現するための情報をいい、例えばメモリの内容、PSW(processor status word)、PC(Program Counter)等である。このスナップショット情報を記憶しておけば、再現区間の直前のチェックポイントから事象を辿ってAPを実行すればよいことになる。
(3) By the way, when reproducing this reproduction section at the time of verification, in principle, the
<第2フェーズ>
データ処理装置100が起動すると時間の経過により再現区間まで到達する。
<Second phase>
When the
(4)この再現区間の検出時、後述するようにマルチコアシステムに特有の現象として、実機と同じタイミングで各コアが同じ事象に到達するとは限らないという現象が起こる。このため、検証時は、指定した再現区間に最も早く到達したコアが、他のコアが指定した再現区間に到達するまで待ち、全ての各コアが指定された再現区間に到達したら、以降は各コアが同期をとりながらAPを実行することが好適となる。 (4) When this reproduction section is detected, as will be described later, a phenomenon that each core does not always reach the same event at the same timing as the actual machine occurs as a phenomenon peculiar to the multi-core system. Therefore, at the time of verification, it waits until the core that has reached the specified reproduction interval earliest reaches the reproduction interval specified by other cores, and when all cores reach the specified reproduction interval, It is preferable to execute the AP while the core is synchronized.
(5)また、スナップショット情報が記憶されている場合は、再現区間の手前のチェックポイントまでは、スナップショット情報により到達することができる。 (5) If snapshot information is stored, the check point before the reproduction section can be reached by the snapshot information.
(6)データ処理装置100が実機モードとシミュレーションモードを切り替える場合、再現区間が検出されると、データ処理装置100はシミュレーションモードに切り替えられる。シミュレーションモードでは、周知の、システムの機能検証、性能測定、評価、障害調査(以下、単に検証という)を行い、検証情報を出力する。別のコンピュータ(シミュレータ)で検証される場合、シミュレータの疑似環境で検証される。
(6) When the
(7)再現区間が終了すると、データ処理装置100は実機モードに戻る。再現区間では各コアの同期が取れているので、全コアが同期して実機モードに戻る。シミュレータが検証した場合、データ処理装置100に処理が移行する。以降は、データ処理装置100は実機として、再現区間以降の処理を実行し、また、再現区間があれば、同様にシミュレーションモードに切り替わったりシミュレータに処理が移行し、検証を実行する。
(7) When the reproduction section ends, the
したがって、本実施形態のデータ処理装置100は実機モードとシミュレーションモード、又は、データ処理装置100とシミュレータを動的に切り替えながら効率的に検証することができる。また、マルチコアシステムに対し各コア間の事象を同期させるので、マルチコアシステムのデータ処理装置100であっても正確にデータ処理装置100の事象を再現することができる。
Therefore, the
本実施例では、シミュレーションモードと実機モードに切り替わり、シミュレーションモードにおいてシステムを検証するデータ処理装置100について説明する。
In this embodiment, a
図2は、データ処理装置100の機能ブロック図の一例を示す。各ブロックは例えばCPUが検証プログラム40を実行するかASIC(Application Specific Integrated Circuit)等のハードウェアにより実現される。
FIG. 2 shows an example of a functional block diagram of the
検証プログラム40で実現する場合、各機能はAP又はOSの一態様として提供され、検証プログラム40は所定のコアが実行する所定のOS上で実行される。すなわち、検証プログラム40を実行するコア及びOSを限定する必要はない。また、検証プログラム40を実行するコア及びOSが、異なるOSを実行するコアの事象を取得するため、検証プログラム40はコア間通信及びOS間通信が可能となっている。検証プログラム40は、データ処理装置100の出荷時にハードディスクドライブやフラッシュメモリ(ハードディスク等という)に記憶されているか、又は、所定のサーバからダウンロードされる。
When implemented by the
データ処理装置100は実行ログを記憶するため事象記録部23を有し、事象記録部23は実行ログ記憶部20に事象を記録していく。また、どの程度詳細な事象を記録するかを設定するため、階層指定部21を有する。階層指定部21は、例えば、ユーザインターフェイスとなる表示装置に選択可能な階層を表示し、ユーザが選択した階層に応じて記録する事象を事象記録部23に指示する。また、このような階層による指定の他に、ユーザは個別に記録する事象を設定できる。
The
図3は実行ログ記憶部20に記録される実行ログの一例を示す。実行ログは、各コアに対応づけて、OS及びAP毎に記録される。また、システムの起動時(例えば、スイッチオン、通電、起動開始操作等)から計測した時刻に対応づけて、時系列に記録される。定期的、又は、エラーのような所定の事象が発生するとその時刻の各コアの事象が記録される。
FIG. 3 shows an example of an execution log recorded in the execution
実行ログを記録する時刻は各コアに共通であるので、同じ時刻に各コアの事象が記録される。記録までの遅延等を考慮すると厳密に同じ時刻(例えば、100分の1〜100分の10秒程度の精度)に記録されるとは限らないが、コア間に生じうる時刻の違いは既知であるので、誤差として扱うことができる。 Since the time for recording the execution log is common to each core, the event of each core is recorded at the same time. Considering the delay until recording, etc., it is not always recorded at the exact same time (for example, accuracy of about 1 / 100th to 100th of a second), but the time difference that can occur between the cores is known. Because there is, it can be treated as an error.
また、再現情報記録部24は、スナップショップ情報をスナップショット情報記憶部30に記録する。スナップショット情報により、いわゆるレジューム、サスペンド、ハイバネーションといった機能と同様に、システムの状況を再現することができる。
Further, the reproduction
期間指定部22は、表示装置に期間(例えば、○○秒、○○分等)を入力する欄を表示するので、ユーザは所望の間隔を入力することができる。再現情報記録部24は入力された期間毎に定期的に、かつ、所定の事象をトリガーにスナップショット情報を記録する。スナップショット情報は、実行ログと同様に時刻と共に記録される。スナップショット情報の時刻は実行ログの時刻と同様、システムの起動時を基準に計測された時刻である。
The
再現区間登録部25は、表示装置に時刻又は事象を入力する欄を表示し、ユーザにより入力された時刻又は事象に基づき実行ログに再現区間を登録する。図3では、「再現区間 始点」から「再現区間 終点」がユーザの指定した再現区間である。なお、再現区間は1つのログに複数あってもよい。データ処理装置100は再現区間の開始時刻から再現区間の終了時刻までシミュレーションモードとなり、それ以外では実機モードとなる。
The reproduction
そして、実行ログ編集部26は、ユーザによる実行ログの編集を可能とする。編集には2つの方法があり、その1つは実行ログ記録部が記録した実行ログを変更する方法である。例えば、複数のコアに同時刻に割込みなどの事象を発生させたい場合があるが、実機モードではかかる状況を生じさせることが困難な場合に、当該事象の時刻を各コアで同期させるため、時刻情報を変更することができる。もう1つの方法は、新たに事象を加える方法である。図3に示すように実行ログは時系列に記録されるので、前後の時刻の間に新たに事象を加えることができる。
The execution
実行ログ編集部26は例えば実行ログを表示装置に表示し、ユーザによる係る編集の入力を受け付け実行ログ記憶部20に記録する。そして、再現区間登録部25がこの事象を再現区間に含むように指定すれば、実機モードでは実現困難な事象を検証することができる。
The execution
モード切替部27は、シミュレーションモードと実機モードを切り替える。切り替え方には、再現区間の開始時刻と終了時刻とに応じて自動に切り替える方法とユーザの操作による方法とがある。本実施例では主に再現区間に応じて自動に切り替わる態様とすることで、実機モードとシミュレーションモードとを動的に切り替えることが可能となる。
The
スナップショット情報が記憶されている場合と記憶されていない場合があるが、どちらの場合でも再現区間の検出は同様である。再現区間検出部29は、APを実行しながら各事象を1つずつ実行ログ記憶部20の事象と照らし合わせ、システムが再現区間に設定された事象に到達すると、モード切替部27に通知する。これにより、モード切替部27はシステムをシミュレーションモードに切り替える。
Although the snapshot information may or may not be stored, the reproduction section detection is the same in either case. The reproduction section detection unit 29 compares each event one by one with the event in the execution
ここで、あるコアでは再現区間に設定された事象に到達しても、他のコアでは同じ時刻に同じ事象に到達しない場合がある。これは、例えばハードディスクでは磁気ヘッドでデータにアクセスするが実機ヘッドの位置までは再現することが困難なので、ハードディスクへのアクセスの度に時刻がずれるからである。また、例えば、CSMA(Carrier Sense Multiple Access)のように一方が通信していると場合、他方からの通信を受け付けない場合、通信の衝突が生じればその後の処理の時刻がずれることになる。このような処理は各コアが独立に実行するので、コア間における事象の時間的なずれは避けられない。 Here, even if an event set in the reproduction section is reached in a certain core, the same event may not be reached at the same time in another core. This is because, for example, data is accessed with a magnetic head in a hard disk, but it is difficult to reproduce data up to the position of the actual machine head, so the time is shifted every time the hard disk is accessed. Further, for example, when one side is communicating as in CSMA (Carrier Sense Multiple Access), when communication from the other side is not accepted, the time of subsequent processing is shifted if a communication collision occurs. Since such a process is executed independently by each core, a time lag of events between the cores cannot be avoided.
そこで、本実施例では再現区間検出部29は、再現区間に設定された事象に最も早く到達したコアを検出して、他のコアの全てが再現区間に設定された事象に到達するまで、各コアを待機させる。そして、各コアが再現区間に設定された事象に到達するとシミュレーションモードに切り替わる。 Therefore, in the present embodiment, the reproduction section detection unit 29 detects the core that has reached the earliest event set in the reproduction section, and until each of the other cores reaches the event set in the reproduction section, Make the core wait. When each core reaches the event set in the reproduction section, the simulation mode is switched.
また、スナップショット情報を利用して再現区間に到達する場合、2つの方法がある。1つは、再現区間検出部29が再現区間を検出すると、システム再現部32は再現区間の開始時刻よりも時間的に前でかつ最も近いスナップショット情報を読み出しシステムに設定する方法である。また2つめは、予め、再現区間検出部29が再現区間の開始時刻よりも時間的に前でかつ最も近いチェックポイントを検出しておき、事象がチェックポイントまで到達したら、システム再現部32がスナップショット情報を読み出しシステムに設定する方法である。このように、スナップショット情報を利用することで、例えば、コア間の事象と時刻のずれを低減でき、再現区間の事象の再現が容易になる。
There are two methods for reaching the reproduction section using the snapshot information. One is a method in which, when the reproduction section detection unit 29 detects a reproduction section, the
また、動的に切り替えるのでなく、データ処理装置100は再現区間のみ(シミュレーションモードのみ)でAPを実行することができる。この場合、再現区間検出部29は実行ログ記憶部20から再現区間の開示時刻を読み出す。そして、システム再現部32はスナップショット情報記憶部30から読み出した開始時刻よりも時間的に前でかつ最も近いスナップショット情報を読み出しシステムに設定する。これにより、早期に再現区間に到達するので、検証時間を短縮することができる。
Further, instead of dynamically switching, the
また、逆に、システムの起動時からAPの全てをシミュレーションモードで実行してもよい。この場合、実行ログに再現区間が設定されていても、再現区間及び再現区間以外とが区別されずに検証され、再現区間が実行ログに設定されていなくてもシステムが検証される。すなわち、モード切替部27はシステムをシミュレーションモードに固定する。
Conversely, all of the APs may be executed in the simulation mode from the time of system startup. In this case, even if a reproduction section is set in the execution log, verification is performed without distinguishing between the reproduction section and other than the reproduction section, and the system is verified even if the reproduction section is not set in the execution log. That is, the
同期部31は再現区間検出部29と同様に、シミュレーションモードにおいて全コアの同期をとる。すなわち、各事象毎に全てのコアが到達するまで、すでにその事象に到達したコアを待機させ、全てのコアが同じ事象に到達したらシステム検証部28に処理の再開を許可する。したがって、本実施例のデータ処理装置100は、マルチコアシステムの各コアの事象を正確に再現したシステムの検証が可能となる。
Similar to the reproduction section detection unit 29, the
シミュレーションモードではシステム検証部28は、実機モードと同じOSやAPを実行しながら、各コア毎に、システム(ソフトウェア又はハードウェア)の状態を検証するための検証情報、例えば、実行命令、エラーコード、CPU負荷率、命令の実行速度、等を記録する。
In the simulation mode, the
スナップショット情報が記憶されているか否かに関わらず、再現区間の終了時刻までシステムの事象が到達すると、再現区間検出部29はモード切替部27に通知するので、モード切替部27は実機モードに切り替える。そして、再現区間の検証が終了すると、検査結果出力部は検証情報を表示装置に表示したり、ハードディスク等に記憶する。
Regardless of whether or not snapshot information is stored, when the system event reaches the end time of the reproduction section, the reproduction section detection unit 29 notifies the
図4は、データ処理装置100が実行ログとスナップショット情報を記憶する手順を示すフローチャート図である。図4のフローチャート図は、例えばシステムの起動によりスタートする。なお、予め期間指定部22からスナップショット情報を記憶する期間が指定されており、階層指定部21から記憶する事象の階層が指定されている。また、事象は定期的及び所定の事象を検出して不定期に記憶するよう設定されている。
FIG. 4 is a flowchart showing a procedure in which the
システムが起動すると(S10)、起動時刻を基準に各コアはOSやAPを実行していく。そして、再現情報記録部24はスナップショット情報を記憶する期間を、例えば期間指定部22が期間情報を記憶したハードディスク等から読み出し、事象記録部23は事象を記録するタイミング及び事象の階層をハードディスク等から読み出す。
When the system is activated (S10), each core executes the OS and AP based on the activation time. The reproduction
そして、事象記録部23は事象を記録するか否かを時刻又は発生した事象に基づき判定する(S30)。事象を記録する場合(S30のYes)、事象記録部23は指定された階層に応じて記憶するべき事象を取得し、各コア毎に、時刻情報と共に実行ログ記憶部20に記録する(S40)。
Then, the
事象を記録しない場合(S30のNo)、再現情報記録部24は、期間情報に基づきスナップショット情報を記録する時刻となったか否かを判定する(S50)。スナップショット情報を記録する時刻となった場合(S50のYes)、再現情報記録部24はスナップショット情報をスナップショット情報記憶部30に記録する(S60)。なお、スナップショット情報を記録する事象が発生した場合は、不定期にスナップショット情報が記憶される。
When the event is not recorded (No in S30), the reproduction
データ処理装置100は以上の処理を所定時間、ユーザが停止するまで、又は、予め定められた時間が経過するまで繰り返す。
The
図4の処理が終了し、実行ログ記憶部20に実行ログが記録され、スナップショット情報がスナップショット情報記憶部30に記録されると、例えば、ユーザの操作により再現区間登録部25が再現区間を指定する。また、所定のエラーのような事象を検出して、再現区間登録部25が自動的に再現区間を指定してもよい。この場合、再現区間の終了時刻は開始時刻から所定時間経過後又は特定の事象に決定される。
When the processing of FIG. 4 is completed, the execution log is recorded in the execution
また、ユーザの操作により実行ログ編集部26が実行ログを編集してもよい。これにより、実機では生じにくい事象(コア間に同時に割込みを発生させる、臨界値の設定、生じにくい分岐の発生等)を検証することが可能となる。
Further, the execution
図5は、データ処理装置100が動的に実機モードとシミュレーションモードとを切り替えシステムを検証する手順を示すフローチャート図である。図5のフローチャート図は、例えばユーザがシステムの検証操作を入力するとスタートする。なお、図5では再現区間が設定されており、再現区間のみを検証する手順を示す。再現区間以外では実機モードとして作動するので、フローチャート図のスタート時、データ処理装置100は実機モードで作動する。
FIG. 5 is a flowchart showing a procedure in which the
まず、システムが起動する(S10)。そして、再現区間検出部29は、実行ログ記憶部20を参照して再現区間の開始時刻を読み出す(S110)。また、再現区間に早期に到達するため、システム再現部32はスナップショット情報が記憶されているか否かを判定する(S120)。スナップショット情報が記憶されている場合(S120のYes)、システム再現部32は再現区間の開始時刻よりも前で最も近い時刻のスナップショット情報を読み出す(S130)。そして、スナップショット情報によりメモリ及び各コアの状態を再現し、システムの処理を再開する(S140)。
First, the system is activated (S10). Then, the reproduction section detection unit 29 reads the start time of the reproduction section with reference to the execution log storage unit 20 (S110). Moreover, in order to reach the reproduction section early, the
スナップショット情報が記憶されていない場合、システムの起動時から再現区間の開始時刻まで実機モードで実行することになるが、実機モードで実行できるので非現実的な時間がかかることはない。 When the snapshot information is not stored, it is executed in the real machine mode from the start of the system to the start time of the reproduction section. However, since it can be executed in the real machine mode, it does not take an unrealistic time.
ついで、再現区間検出部29はいずれかのコアが再現区間の事象に到達したか否かを判定する(S150)。すなわち、複数のコアのうち最も早く再現区間の事象に到達したコアを検出する。いずれかのコアが再現区間の事象に到達すると(S150のYes)、再現区間検出部29は他の全てのコアが同じ事象に到達するまで、先に事象に到達したコアを待機させる(S160)。再現区間の各コアの事象は同じ時刻に記憶されているので、この「同じ事象」とは「同じ時刻」のことを示す。 Next, the reproduction section detection unit 29 determines whether any core has reached the event of the reproduction section (S150). That is, the core that reaches the event in the reproduction section earliest among the plurality of cores is detected. When any of the cores reaches the event in the reproduction section (Yes in S150), the reproduction section detection unit 29 waits for the core that has reached the event first until all other cores reach the same event (S160). . Since the event of each core in the reproduction section is stored at the same time, this “same event” indicates “the same time”.
他の全てのコアが同じ事象に到達すると(S170のYes)、モード切替部27は実機モードからシミュレーションモードに切り替える(S180)。これにより、システム検証部28はシステムの検証を開始する(S190)。同期部31は全コアの同期をとりながら(実行ログを参照して、全てのコアが同じ時刻の事象に到達したら、次の事象に向けてシステムの再開を許可する)、実機モードと同じOSやAPを実行して、機能検証、性能検証、障害調査等を実行する。このように、コア間で同期をとることで、例えばコア間通信のような事象に対し実機モードと同じ事象を精度よく再現することができる。
When all other cores reach the same event (Yes in S170), the
シミュレーションモードの間、再現区間検出部29は再現区間の終了時刻に到達したか否かを判定し(S200)、各コアが再現区間の終了時刻に到達すると(S200のYes)、検証結果出力部33は検証情報を出力する(S210)。また、モード切替部27は再現区間の終了を通知され、シミュレーションモードから実機モードに切り替える(S220)。
During the simulation mode, the reproduction section detection unit 29 determines whether or not the end time of the reproduction section has been reached (S200). When each core reaches the end time of the reproduction section (Yes in S200), a verification result output unit. 33 outputs verification information (S210). Further, the
以降は、ステップ130から処理を繰り返し、データ処理装置100は再現区間ではシミュレーションモードに切り替わり、再現区間が終了すると実機モードに切り替わる。したがって、モードが動的に切り替わりながらシステムを検証することができる。
Thereafter, the processing is repeated from
以上説明したように、本実施例のデータ処理装置100は、シミュレーションモードと実機モードを動的に切り替えることで、実機モードによる事象の発生タイミングに従い、以降はシミュレーションモードで検証することができるので、実機モードとシミュレーションモードの利点を併せ持った検証が可能となる。また、コア間の事象を同期させることで、マルチコアシステムでもシステムの正確な検証が可能となる。
As described above, the
本実施例では、データ処理装置100と別体に設けられたシミュレータ200を用いた検証について説明する。図6は、データ処理装置100とシミュレータ200とを有する検証システム300を模式的に示す図である。
In this embodiment, verification using a
シミュレータ200はコンピュータである。シミュレータ200はデータ処理装置100と同一のハードウェアを備えることが好ましいが、現実には困難な場合が多くいわゆるエミュレータにより、データ処理装置100のコア及びOSを再現し、疑似環境を実現している。したがって、シミュレータ200によるAPの実行は速度が低下することが多いが、データ処理装置100で動作するAPを、データ処理装置100と同じ疑似環境上で実行することができる。データ処理装置100とシミュレータ200は例えばネットワークで接続されており、通信可能となっている。
The
機能ブロック図は図2と同様であるが、このうち、階層指定部21、期間指定部22、事象記録部23及び再現情報記録部24、再現区間検出部29はデータ処理装置100が有し、システム検証部28、再現区間検出部29、システム再現部32、同期部31及び検証結果出力部33、はシミュレータ200が有する。再現区間登録部25及び実行ログ編集部26は、データ処理装置100及びシミュレータ200のいずれ有していてもよい。
The functional block diagram is the same as that in FIG. 2, but the
データ処理装置100とシミュレータ200の両方が再現区間検出部29を有するのは、データ処理装置100は実施例1と同様に再現区間を検出する必要があり、シミュレータ200はチェックポイントから再現区間を検出する場合があるためである。また、実行ログ記憶部20とスナップショット情報記憶部30には、データ処理装置100とシミュレータ200の両者がアクセスできるようになっている。
Both the
データ処理装置100からシミュレータ200への切り替えには2つの方法がある。1つは、データ処理装置100が実機として処理を実行し再現区間に到達すると、実機の状態を再現するための実機情報をシミュレータ200に送信する方法である。この実機情報はスナップショット情報と同等の情報であるので、シミュレータ200はシステムの状態を再現できる。
There are two methods for switching from the
もう1つは、スナップショット情報を用いる方法である。データ処理装置100又はシミュレータ200が再現区間を取得すれば、シミュレータ200は再現区間よりも時間的に前でかつ最も近いスナップショット情報を読み出しシステムに設定することができる。
The other is a method using snapshot information. If the
再現区間までデータ処理装置100がAPを実行することを考慮すると、チェックポイントから再現区間の開始時刻までは、データ処理装置100とシミュレータ200で同じ処理を重複して実行することになる。これを回避するため、データ処理装置100が再現区間の手前のチェックポイントまで実行したらシミュレータ200に通知し、シミュレータ200がスナップショット情報を読み出しシステムに設定してもよい。
Considering that the
なお、シミュレータ200が再現区間の終了時刻まで実行したら、シミュレータ200はスナップショット情報と同等のシミュレータ情報をデータ処理装置100に送信する。これにより、再現区間以降の処理をデータ処理装置100が実行できる。
If the
図7は、データ処理装置100とシミュレータ200が動的に切り替わって再現区間を検証する手順を示すシーケンス図である。図7のシーケンス図は、スナップショット情報が記憶されていない場合の手順を示す。
FIG. 7 is a sequence diagram illustrating a procedure in which the
まず、データ処理装置100が起動する(S10)。そして、再現区間検出部29は、実行ログ記憶部20を参照して再現区間の開始時刻を読み出す(S110)。ついで、システムの起動時から再現区間の開始時刻までデータ処理装置100はAPの各処理を実行していく。
First, the
そして、再現区間検出部29はいずれかのコアが再現区間の事象に到達したか否かを判定する(S150)。すなわち、複数のコアのうち最も早く再現区間の事象に到達したコアを検出する。いずれかのコアが再現区間の事象に到達すると(S150のYes)、再現区間検出部29は他の全てのコアが同じ事象に到達するまで、先に事象に到達したコアを待機させる(S160)。 Then, the reproduction section detection unit 29 determines whether any core has reached the event of the reproduction section (S150). That is, the core that reaches the event in the reproduction section earliest among the plurality of cores is detected. When any of the cores reaches the event in the reproduction section (Yes in S150), the reproduction section detection unit 29 waits for the core that has reached the event first until all other cores reach the same event (S160). .
他の全てのコアが同じ事象に到達すると、データ処理装置100は実機情報をシミュレータ200に送信する(S210)。この実機情報はスナップショット情報と同等なので再現情報記録部24が実機情報をシステムから取得する。
When all other cores reach the same event, the
シミュレータ200は実機情報を受信し(S310)、実機情報に基づき疑似環境上でメモリ及び各コアの状態を再現し、システムの処理を再開する(S320)。
The
ついで、システム検証部28はシステムの検証を開始する(S330)。すなわち、同期部31は全コアの同期をとりながら、疑似環境上で同じOSやAPを実行して、機能検証、性能検証、障害調査等を実行する。
Next, the
システムの検証中、再現区間検出部29は再現区間の終了時刻に到達したか否かを判定し(S340)、各コアが再現区間の終了時刻に到達すると(S340のYes)、検証結果出力部33は検証情報を出力する(S350)。また、シミュレータ200はシミュレータ情報をデータ処理装置100に送信する(S360)。
During verification of the system, the reproduction section detection unit 29 determines whether or not the end time of the reproduction section has been reached (S340), and when each core reaches the end time of the reproduction section (Yes in S340), a verification
データ処理装置100がシミュレータ情報を受信すると、データ処理装置100の処理に移行し、データ処理装置100はステップS110からの処理を繰り返す。すなわち、データ処理装置100は次の再現区間までAPを実行し、再現区間になるとシミュレータ200による検証を実行する。このように、データ処理装置100とシミュレータ200が別体であっても、処理を動的に切り替えながらシステムを検証することができる。
When the
本実施例の検証システム300は、実施例1の効果に加え、専用のシミュレータ200を用いるので、精度の高い検証情報を取得することができる。
Since the
20 実行ログ記憶部
23 事象記録部
24 再現情報記録部
30 スナップショット情報記憶部
100 データ処理装置
200 シミュレータ
300 検証システム
DESCRIPTION OF
Claims (7)
前記命令の実行に伴う、入出力情報、実行時間情報又は実行内容情報等の事象情報を、所定の時刻を基準にした時刻情報とともに記録する実行ログ記録手段と、
前記検証情報を取得する時間的な範囲を前記実行ログに登録する範囲登録手段と、
前記実行ログ記憶手段に記憶された前記実行ログを参照して、実行中の前記プログラムが、前記範囲の事象に到達したことを検出する範囲検出手段と、
前記範囲の事象に到達したことが検出された場合、前記検証情報の取得を開始させる実行・検証切り替え手段と、を有し、
前記範囲の前記検証情報の取得が完了すると、前記実行・検証切り替え手段は、前記検証情報の取得を終了させ、完了時の事象から再度、前記プログラムを実行させる、
ことを特徴とするデータ処理装置。 A data processing device that reads a program defining instructions and data from a memory, executes the program on an operating system, and outputs verification information for verifying the state of software or hardware,
Execution log recording means for recording event information such as input / output information, execution time information or execution content information along with execution of the instruction together with time information based on a predetermined time;
Range registration means for registering the time range for acquiring the verification information in the execution log;
Range detection means for referring to the execution log stored in the execution log storage means and detecting that the program being executed has reached the event in the range;
Execution / verification switching means for starting acquisition of the verification information when it is detected that an event in the range has been reached,
When the acquisition of the verification information in the range is completed, the execution / verification switching unit ends the acquisition of the verification information, and causes the program to be executed again from the event at the completion.
A data processing apparatus.
前記実行ログ記録手段は、前記CPU毎に前記事象情報を記録し、
前記範囲検出手段は、それぞれの前記CPUが同じ時刻の前記事象情報の事象に到達したことを待って、前記範囲の事象に到達したことを検出する、
ことを特徴とする請求項1記載のデータ処理装置。 Run multiple operating systems with multiple CPUs, or run one operating system with multiple CPUs,
The execution log recording means records the event information for each CPU,
The range detecting means waits for each of the CPUs to reach the event of the event information at the same time, and detects that the event of the range has been reached.
The data processing apparatus according to claim 1.
全ての前記CPUが同じ時刻情報の事象に到達するまで、すでに該事象に到達した前記CPUを待機させ、全ての前記CPUが同じ事象に到達したら、次の事象へ向けた処理を許可する同期手段、を有する、
ことを特徴とする請求項2記載のデータ処理装置。 When the execution / verification switching unit starts acquiring the verification information,
Synchronizing means for allowing the CPUs that have already reached the event to wait until all the CPUs have reached the same time information event, and permitting processing for the next event when all the CPUs have reached the same event Having
The data processing apparatus according to claim 2.
前記範囲よりも時間的に手前かつ最寄りの前記再現情報を読み出し、前記ソフトウェア及び前記ハードウェアの状態を再現する再現手段と、を有し、
前記再現手段が再現した状態から、前記範囲検出手段は前記範囲の事象に到達したことを検出する、
ことを特徴とする請求項1〜3いずれか1項記載のデータ処理装置。 Reproduction information recording means for recording reproduction information that reproduces the state of the software and the hardware together with the time information periodically or based on the event information;
Reproduction means for reading out the reproduction information nearest and temporally before the range, and reproducing the state of the software and the hardware,
From the state reproduced by the reproduction means, the range detection means detects that the event of the range has been reached,
The data processing device according to claim 1, wherein the data processing device is a data processing device.
ことを特徴とする請求項1〜3いずれか1項記載のデータ処理装置。 Having an execution log editing means for changing the event information or adding new event information to the execution log;
The data processing device according to claim 1, wherein the data processing device is a data processing device.
前記データ処理装置は、
前記命令の実行に伴う、入出力情報、時間情報又は実行内容情報等の事象情報を、所定の時刻を基準にした時刻情報とともに記録する実行ログ記録手段と、
前記実行ログを前記シミュレータに送信する第1の送信手段と、
前記検証情報を取得する範囲を前記実行ログに登録する範囲登録手段と、
前記実行ログ記憶手段に記憶された前記実行ログを参照して、実行中の前記プログラムが、前記範囲の事象に到達したことを検出する範囲検出手段と、
前記範囲検出手段が前記範囲の事象に到達したことを検出した場合、前記ソフトウェア及び前記ハードウェアの状態を再現するためのデータ処理装置情報を前記シミュレータに送信する第2の送信手段と、を有し、
前記シミュレータは、
前記データ処理装置情報に基づき、前記ソフトウェア及び前記ハードウェアの状態を再現する再現手段、を有し、
前記再現手段が再現した状態から、前記検証情報の取得を開始し、前記範囲の前記検証情報の取得が完了すると、前記ソフトウェア及び前記ハードウェアの状態を再現するためのシミュレータ情報を前記データ処理装置に送信する、
ことを特徴とする検証システム。 A data processing device that executes a program that defines instructions and data stored in a memory, and a hardware and software pseudo-environment of the data processing device are generated, the program is executed, and the software or the hardware A verification system having a simulator for outputting verification information for verifying a state,
The data processing device includes:
Execution log recording means for recording event information such as input / output information, time information, or execution content information associated with execution of the instruction together with time information based on a predetermined time;
First transmission means for transmitting the execution log to the simulator;
Range registration means for registering the range for acquiring the verification information in the execution log;
Range detection means for referring to the execution log stored in the execution log storage means and detecting that the program being executed has reached the event in the range;
And second transmission means for transmitting data processing device information for reproducing the software and the hardware state to the simulator when the range detection means detects that the event of the range has been reached. And
The simulator
Reproducing means for reproducing the software and the hardware state based on the data processing apparatus information,
The acquisition of the verification information is started from the state reproduced by the reproduction means, and when the acquisition of the verification information in the range is completed, simulator information for reproducing the state of the software and the hardware is obtained from the data processing device. Send to
A verification system characterized by that.
実行ログ記録手段が、前記命令の実行に伴う、入出力情報、実行時間情報又は実行内容情報等の事象情報を、所定の時刻を基準にした時刻情報と共に、時系列に記録した実行ログを、記憶手段に記録するステップと、
範囲登録手段が、前記検証情報を取得する範囲を前記実行ログに登録するステップと、
範囲検出手段が、前記実行ログ記憶手段に記憶された前記実行ログを参照して、実行中の前記プログラムが、前記範囲の事象に到達したことを検出するステップと、
前記範囲の事象に到達したことが検出された場合、実行・検証切り替え手段が、前記検証情報の取得を開始させるステップと、
前記範囲の前記検証情報の取得が完了すると、前記実行・検証切り替え手段が、前記検証情報の取得を終了させ、完了時の事象から再度、前記プログラムを実行させるステップ、
有することを特徴とするデータ処理装置検証方法。 A data processing device verification method for outputting verification information of software or hardware status of a data processing device that reads and executes a program defining instructions and data from a memory,
Execution log recording means, event information such as input / output information, execution time information or execution content information accompanying the execution of the instruction, together with time information based on a predetermined time, an execution log recorded in time series, Recording in storage means;
A range registering unit for registering a range in which the verification information is acquired in the execution log;
A range detecting means referring to the execution log stored in the execution log storage means to detect that the program being executed has reached an event in the range;
When it is detected that an event in the range has been reached, the execution / verification switching unit starts acquiring the verification information; and
When the acquisition of the verification information in the range is completed, the execution / verification switching unit ends the acquisition of the verification information, and executes the program again from the event at the completion;
A data processing device verification method comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008270566A JP2010102372A (en) | 2008-10-21 | 2008-10-21 | Data processor, verification system, data processor verification method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008270566A JP2010102372A (en) | 2008-10-21 | 2008-10-21 | Data processor, verification system, data processor verification method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010102372A true JP2010102372A (en) | 2010-05-06 |
Family
ID=42292997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008270566A Pending JP2010102372A (en) | 2008-10-21 | 2008-10-21 | Data processor, verification system, data processor verification method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010102372A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8935511B2 (en) | 2010-10-11 | 2015-01-13 | International Business Machines Corporation | Determining processor offsets to synchronize processor time values |
JP2020021173A (en) * | 2018-07-30 | 2020-02-06 | 東芝情報システム株式会社 | Digital verification support apparatus and digital verification support program |
US11520954B2 (en) | 2019-03-27 | 2022-12-06 | Hitachi, Ltd. | Simulation management method, simulation system, and program |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62211739A (en) * | 1986-03-13 | 1987-09-17 | Hitachi Ltd | Device and method for logic test of data processor |
JPH10161902A (en) * | 1996-12-04 | 1998-06-19 | Hitachi Ltd | Computer control system and operation reproducing device therefor |
JP2000020349A (en) * | 1998-07-06 | 2000-01-21 | Toshiba Corp | Device and method for supporting program development and medium recording program for program development support |
JP2000268005A (en) * | 1999-03-15 | 2000-09-29 | Mitsubishi Electric Corp | System and method for parallel distributed simulation |
JP2004078599A (en) * | 2002-08-19 | 2004-03-11 | Handotai Rikougaku Kenkyu Center:Kk | Simulation method and system for instruction scheduling |
-
2008
- 2008-10-21 JP JP2008270566A patent/JP2010102372A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62211739A (en) * | 1986-03-13 | 1987-09-17 | Hitachi Ltd | Device and method for logic test of data processor |
JPH10161902A (en) * | 1996-12-04 | 1998-06-19 | Hitachi Ltd | Computer control system and operation reproducing device therefor |
JP2000020349A (en) * | 1998-07-06 | 2000-01-21 | Toshiba Corp | Device and method for supporting program development and medium recording program for program development support |
JP2000268005A (en) * | 1999-03-15 | 2000-09-29 | Mitsubishi Electric Corp | System and method for parallel distributed simulation |
JP2004078599A (en) * | 2002-08-19 | 2004-03-11 | Handotai Rikougaku Kenkyu Center:Kk | Simulation method and system for instruction scheduling |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8935511B2 (en) | 2010-10-11 | 2015-01-13 | International Business Machines Corporation | Determining processor offsets to synchronize processor time values |
US9811336B2 (en) | 2010-10-11 | 2017-11-07 | International Business Machines Corporation | Determining processor offsets to synchronize processor time values |
JP2020021173A (en) * | 2018-07-30 | 2020-02-06 | 東芝情報システム株式会社 | Digital verification support apparatus and digital verification support program |
JP7180043B2 (en) | 2018-07-30 | 2022-11-30 | 東芝情報システム株式会社 | Digital verification support device and digital verification support program |
US11520954B2 (en) | 2019-03-27 | 2022-12-06 | Hitachi, Ltd. | Simulation management method, simulation system, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10318409B2 (en) | Application development environment for portable electronic devices | |
US8813035B2 (en) | Paradigm for concurrency testcase generation | |
US8484006B2 (en) | Method for dynamically adjusting speed versus accuracy of computer platform simulation | |
US10095611B1 (en) | Methodology for unit test and regression framework | |
US7926040B2 (en) | Method and system for timing code execution in a korn shell script | |
US9262299B1 (en) | Simulation observability and control of all hardware and software components of a virtual platform model of an electronics system | |
US9262305B1 (en) | Simulation observability and control of all hardware and software components of a virtual platform model of an electronics system | |
US20130139129A1 (en) | Test method for handheld electronic device application | |
US20060036910A1 (en) | Automated testing framework for event-driven systems | |
US20110314335A1 (en) | Failure reproducing apparatus and failure reproducing method | |
KR20160029754A (en) | Software failure locating method, apparatus and equipment | |
JP2009244999A (en) | Virtual machine management program and management server device | |
JP2017084082A (en) | Simulation device, test scenario file creation method, and test method using test scenario file | |
Fournier et al. | Analyzing blocking to debug performance problems on multi-core systems | |
JP2010102372A (en) | Data processor, verification system, data processor verification method | |
Carnevali et al. | Putting preemptive Time Petri Nets to work in a V-Model SW life cycle | |
US8250545B2 (en) | Associated apparatus and method for supporting development of semiconductor device | |
JP2001209411A (en) | Plc simulator | |
CN103713977A (en) | Microprocessor IP (internet protocol) kernel comparison and verification implementation method | |
US9218273B2 (en) | Automatic generation of a resource reconfiguring test | |
JP5314959B2 (en) | Information processing apparatus, control method therefor, computer program, and storage medium | |
JP2009104490A (en) | Apparatus for testing program | |
JP2006277280A (en) | Computer system, its date time change method and date change method | |
US10339229B1 (en) | Simulation observability and control of all hardware and software components of a virtual platform model of an electronics system | |
JP2010170325A (en) | Information processor, log storage method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110215 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130111 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130122 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130528 |