JP2012168851A - Emulator - Google Patents

Emulator Download PDF

Info

Publication number
JP2012168851A
JP2012168851A JP2011030730A JP2011030730A JP2012168851A JP 2012168851 A JP2012168851 A JP 2012168851A JP 2011030730 A JP2011030730 A JP 2011030730A JP 2011030730 A JP2011030730 A JP 2011030730A JP 2012168851 A JP2012168851 A JP 2012168851A
Authority
JP
Japan
Prior art keywords
virtual
hardware
information processing
hard disk
emulator
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2011030730A
Other languages
Japanese (ja)
Inventor
Shogo Shibazaki
省吾 柴崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011030730A priority Critical patent/JP2012168851A/en
Publication of JP2012168851A publication Critical patent/JP2012168851A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide an emulator capable of also simulating hardware operating time.SOLUTION: An emulator for simulating a hardware structure of a device to be simulated when being executed on an information processor includes a virtual hardware part for simulating a structure part included in the hardware structure. The virtual hardware part comprises: a drive part for driving an actual hardware part within the information processor associated with the virtual hardware part; and a response part that is executed on the information processor for simulating a response result shown to input by the structure part simulated by the virtual hardware part after driving of the actual hardware part by the drive part.

Description

本件開示は、エミュレータに関する。   The present disclosure relates to an emulator.

近年の技術進歩の加速化に伴って、特に情報処理関連の装置について開発期間の短縮化が求められている。そのため、自社のみで全ての部品を開発して製造する製造方式は減少し、その一方で、複数社で別々に開発して製造した部品やソフトウェアを集めて1つの装置をくみ上げる製造方式が増加している。大規模な装置の場合には、ソフトウェアも細かいソフトウェア部分に分けて開発製造することも多いので、ソフトウェア部分をくみ上げた後のデバッグが重要である。しかし、多くのソフトウェアは、装置のハードウェア上で実行させてみないとデバッグできず、デバッグに掛かる時間の短縮が困難であった。   With the recent acceleration of technological progress, there is a demand for shortening the development period especially for information processing related devices. As a result, the number of manufacturing methods that develop and manufacture all parts by themselves only decreases. On the other hand, the number of manufacturing methods that collect and develop parts and software that are separately developed and manufactured by multiple companies increases. ing. In the case of a large-scale apparatus, software is often developed and manufactured by dividing it into fine software parts, so debugging after drawing up the software parts is important. However, many software cannot be debugged unless they are executed on the hardware of the apparatus, and it has been difficult to shorten the time required for debugging.

このデバッグの時間を短縮する方法としては、試作装置を多数用意して同時にデバッグを行うことが考えられるが、試作装置が多いことでコストアップに繋がる恐れがある。しかも、ハードウェアに修正(改版)が生じた場合には多数の試作装置も作り直すことになるので、工数が増加してしまう結果、開発期間の短縮化にならない恐れもある。   As a method for shortening the debugging time, it is conceivable to prepare a large number of prototype devices and perform debugging at the same time. However, since there are many prototype devices, there is a possibility that the cost may be increased. In addition, if the hardware is modified (revised), a large number of prototype devices are also recreated, which increases the number of man-hours and may not shorten the development period.

そこで、装置全体あるいは一部分についてハードウェアの動作をソフトウェアで模擬する方法が採用されるようになってきている。このようにハードウェアの動作を模擬するソフトウェアは、一般にエミュレータと称される。そして、このエミュレータ等を用いて、特定条件下などでハードウェアの動作を試すことは、一般にシミュレーションと称される。   Therefore, a method of simulating hardware operation of the entire apparatus or a part of the apparatus with software has been adopted. Such software that simulates the operation of hardware is generally called an emulator. Using the emulator or the like to try the hardware operation under a specific condition is generally called simulation.

エミュレータを試作装置として用いて、装置に搭載予定のソフトウェアをそのエミュレータ上で実行させることによって、実際の装置に搭載したときの動作をシミュレートすることが出来る。そして、そのようなシミュレーションの結果を参照することでソフトウェアのデバッグが可能となる。   By using the emulator as a prototype device and executing the software to be installed in the device on the emulator, the operation when installed in the actual device can be simulated. The software can be debugged by referring to the simulation result.

このようなシミュレーションに関し、効率的なシミュレーションの提案がなされている。この提案では、シミュレーション対象計算機システムが持つメモリ、ハードディスク装置、入出力装置、にそれぞれ相当する実際のハードウェアを用意してシミュレーション実行計算機システムに接続する。また、シミュレーション対象計算機システムが持つCPU等についてはシミュレーション実行計算機システム内のメモリにモデルを構築する。そして、シミュレーション対象計算機システムのシミュレーションに際しては、用意された実際のハードウェアとメモリに構築されたモデルが用いられる。   With respect to such a simulation, an efficient simulation has been proposed. In this proposal, actual hardware corresponding to the memory, hard disk device, and input / output device of the simulation target computer system is prepared and connected to the simulation execution computer system. For the CPU and the like of the computer system to be simulated, a model is built in a memory in the simulation execution computer system. In the simulation of the computer system to be simulated, a model constructed with prepared actual hardware and memory is used.

特開平6−187191号公報JP-A-6-187191

しかし、実際のハードウェアを用意する上記方法によれば、試作装置を準備する方法と同様な事情でコストアップなどの恐れが生じると考えられる。   However, according to the above method for preparing actual hardware, it is considered that there is a risk of cost increase under the same circumstances as the method for preparing a prototype device.

一方、エミュレータでソフト的に模擬されているハードウェアは、実際のハードウェアが行う全ての動作を再現することは当然無理である。そこで、一般的には、入力と、その入力に反応した出力との対応を定義したいわば関数としてハードウェア要素が用意される。しかしながら、そのように関数として用意されたハードウェア要素では、実際のハードウェアの動作時に生じる動作時間の経過を模擬することが難しい。特に、実際のハードウェアでは、動作時間は一定の遅延ではなくて、動作状況の違いによってばらつきなどを生じるため、そのようなばらつきなども含めて動作時間の模擬が望まれている。   On the other hand, it is naturally impossible for hardware simulated by an emulator to reproduce all operations performed by actual hardware. Therefore, in general, a hardware element is prepared as a function that defines a correspondence between an input and an output in response to the input. However, with such hardware elements prepared as functions, it is difficult to simulate the passage of operating time that occurs during actual hardware operation. In particular, in actual hardware, the operation time is not a fixed delay, but varies due to differences in operation conditions. Therefore, it is desired to simulate the operation time including such variations.

上記事情に鑑み、本件開示は、ハードウェアの動作時間も模擬することが出来るエミュレータを提供することを目的とする。   In view of the above circumstances, it is an object of the present disclosure to provide an emulator that can also simulate the operation time of hardware.

上記目的を達成するエミュレータは、情報処理装置上で実行されることによって、該情報処理装置とは別の装置のハードウェア構造を模擬する。このエミュレータは、上記ハードウェア構造に含まれた構造部分を模擬する仮想的ハードウェア部分を有している。そして、この仮想的ハードウェア部分は、応答部と駆動部とを備えている。   An emulator that achieves the above object simulates the hardware structure of an apparatus different from the information processing apparatus by being executed on the information processing apparatus. This emulator has a virtual hardware part that simulates the structural part included in the hardware structure. And this virtual hardware part is provided with the response part and the drive part.

上記駆動部は、上記仮想的ハードウェア部分に対応付けられた上記情報処理装置内のハードウェア部分を駆動させるものである。   The said drive part drives the hardware part in the said information processing apparatus matched with the said virtual hardware part.

上記応答部は、上記仮想的ハードウェア部分が模擬する構造部分が入力に対して示す応答結果を模擬するために上記駆動部による現実のハードウェア部分の駆動後に上記情報処理装置上で実行されるものである。   The response unit is executed on the information processing apparatus after driving the actual hardware part by the drive unit in order to simulate a response result that the structure part simulated by the virtual hardware part shows with respect to the input. Is.

本件開示によれば、エミュレータでハードウェアの動作時間も模擬することが出来る。   According to the present disclosure, it is possible to simulate the operation time of hardware by using an emulator.

エミュレータの具体的な第1実施形態を示す図である。It is a figure which shows specific 1st Embodiment of an emulator. 第2実施形態のエミュレータを実行する情報処理装置を表す構造図である。It is a structural diagram showing the information processing apparatus which performs the emulator of 2nd Embodiment. エミュレータが模擬する模擬対象装置の一例に相当するストレージ装置を表す構造図である。It is a structural diagram showing the storage apparatus equivalent to an example of the simulation object apparatus which an emulator simulates. 図3に示すストレージ装置を模擬するエミュレータを表す図である。It is a figure showing the emulator which simulates the storage apparatus shown in FIG. 情報処理装置のメモリ上に展開された本体部(仮想NAS)を示す図である。It is a figure which shows the main-body part (virtual NAS) expand | deployed on the memory of information processing apparatus. 仮想HDCの構造を示す図である。It is a figure which shows the structure of virtual HDC. 仮想LANボードの構造を示す図である。It is a figure which shows the structure of a virtual LAN board. 仮想NASの起動処理を表すフローチャートである。It is a flowchart showing the starting process of virtual NAS. 対応表の一例を示す図である。It is a figure which shows an example of a correspondence table. 優先表の一例を示す図である。It is a figure which shows an example of a priority table. 仮想HDDへのアクセスにおける処理手順を表す図である。It is a figure showing the process sequence in access to virtual HDD. 仮想HDDへのアクセス処理のうちリード処理の手順を表したフローチャートである。4 is a flowchart showing a read processing procedure in access processing to a virtual HDD. 仮想HDDへのアクセス処理のうちライト処理の手順を表したフローチャートである。4 is a flowchart showing a write process procedure in an access process to a virtual HDD. 仮想LANボードへのアクセスにおける処理手順を表す図である。It is a figure showing the process sequence in access to a virtual LAN board. 仮想ハードディスク装置が複数備えられた変形例における仮想ハードディスク装置へのアクセスの処理手順を示す図である。It is a figure which shows the process sequence of access to the virtual hard disk apparatus in the modification provided with two or more virtual hard disk apparatuses.

上記説明したエミュレータに対する具体的な実施形態を、以下図面を参照して説明する。   Specific embodiments of the emulator described above will be described below with reference to the drawings.

図1は、エミュレータの具体的な第1実施形態を示す図である。   FIG. 1 is a diagram showing a specific first embodiment of an emulator.

図1に示すエミュレータ10は、現実のハードウェア部分21を有する情報処理装置20上で実行されることによって、模擬対象の装置のハードウェア構造を仮想的に模擬する。情報処理装置20上でのエミュレータ10の実行とは、具体的には、情報処理装置20のメモリ上にエミュレータ10が展開されてCPU等で処理されることである。   The emulator 10 illustrated in FIG. 1 virtually executes the hardware structure of the simulation target device by being executed on the information processing device 20 having the actual hardware portion 21. The execution of the emulator 10 on the information processing apparatus 20 is specifically that the emulator 10 is developed on the memory of the information processing apparatus 20 and processed by the CPU or the like.

エミュレータ10には、模擬対象の装置のハードウェア構造に含まれた構造部分を模擬する仮想的ハードウェア部分11が備えられている。そして、仮想的ハードウェア部分11には応答部12と駆動部13が備えられている。   The emulator 10 includes a virtual hardware portion 11 that simulates a structural portion included in the hardware structure of the simulation target device. The virtual hardware portion 11 includes a response unit 12 and a drive unit 13.

応答部12は情報処理装置20上で実行される。そして、仮想的ハードウェア部分11が模擬する構造部分が入力に対する応答結果を模擬する。このような応答部12の模擬により、模擬対象の装置における内部動作や外部への応答動作などにおける動作結果が模擬されることとなる。ただし、応答部12で模擬されるのは結果であって経過は模擬されない。   The response unit 12 is executed on the information processing apparatus 20. The structural part simulated by the virtual hardware part 11 simulates the response result to the input. By simulating the response unit 12 as described above, an operation result in an internal operation or an external response operation in the simulation target apparatus is simulated. However, what is simulated by the response unit 12 is a result, and the process is not simulated.

駆動部13は、少なくとも1つの仮想的ハードウェア部分11に備えられているが、全ての仮想的ハードウェア部分11に備えられているとは限らない。そして、駆動部13を備えた仮想的ハードウェア部分11には、情報処理装置20が有する現実のハードウェア部分21が対応付けられている。駆動部13は、仮想的ハードウェア部分11に対応付けられているハードウェア部分21を、この仮想的ハードウェア部分11における応答部12が実行される場合に応答部12の実行に先立って駆動させる。逆に言えば、応答部12は、駆動部13によるハードウェア部分21の駆動後に実行される。駆動部13によるこのような駆動の結果、模擬対象の装置における動作時間が模擬されることとなる。   The drive unit 13 is provided in at least one virtual hardware part 11, but is not necessarily provided in all virtual hardware parts 11. The virtual hardware portion 11 including the drive unit 13 is associated with an actual hardware portion 21 included in the information processing apparatus 20. The drive unit 13 drives the hardware part 21 associated with the virtual hardware part 11 prior to the execution of the response part 12 when the response part 12 in the virtual hardware part 11 is executed. . In other words, the response unit 12 is executed after driving the hardware part 21 by the drive unit 13. As a result of such driving by the driving unit 13, the operation time in the simulation target apparatus is simulated.

つまり、図1に示すエミュレータ10によれば、模擬対象の装置の動作がハードウェアの動作時間も含めて模擬されることとなるので、エミュレータ10の精度が高い。しかも、エミュレータ10がハードウェアの動作時間の模擬に用いる現実のハードウェア部分は、このエミュレータ10を実行する情報処理装置20のハードウェア部分21である。従って、ハードウェアの動作時間の模擬用に余計なハードウェアを用意する必要もない。   In other words, according to the emulator 10 shown in FIG. 1, the operation of the simulation target device is simulated including the operation time of the hardware, so that the accuracy of the emulator 10 is high. Moreover, the actual hardware portion used by the emulator 10 for simulating the hardware operating time is the hardware portion 21 of the information processing apparatus 20 that executes the emulator 10. Therefore, it is not necessary to prepare extra hardware for simulating hardware operation time.

次に、より具体的な第2実施形態について説明する。   Next, a more specific second embodiment will be described.

図2は、第2実施形態のエミュレータを実行する情報処理装置を表す構造図である。   FIG. 2 is a structural diagram illustrating an information processing apparatus that executes the emulator according to the second embodiment.

図2に示す情報処理装置100は、現実のハードウェア要素として、CPU110とノースブリッジ120とメモリ130とサウスブリッジ140とハードディスク装置150とUART(Universal Asynchronous Receiver/Transmitter)160とを備えている。   The information processing apparatus 100 shown in FIG. 2 includes a CPU 110, a north bridge 120, a memory 130, a south bridge 140, a hard disk device 150, and a UART (Universal Asynchronous Receiver / Transmitter) 160 as actual hardware elements.

CPU110とノースブリッジ120とサウスブリッジ140は互いにオリジナルバス170を介して接続されている。一方、UART160はサウスブリッジ140にPCIバス180を介して接続されている。   The CPU 110, the north bridge 120, and the south bridge 140 are connected to each other via an original bus 170. On the other hand, the UART 160 is connected to the south bridge 140 via the PCI bus 180.

ノースブリッジ120にはメモリコントローラとしての機能が内蔵されているので、メモリ130はノースブリッジ120にバスを介さず直接に接続されている。   Since the north bridge 120 has a built-in function as a memory controller, the memory 130 is directly connected to the north bridge 120 without a bus.

また、サウスブリッジ140にはハードディスクコントローラ(HDC)としての機能が内蔵されているので、ハードディスク装置150はサウスブリッジ140にバスを介さず直接に接続されている。以下の説明ではサウスブリッジ140のことをHDC140と称する場合がある。   Further, since the south bridge 140 has a function as a hard disk controller (HDC), the hard disk device 150 is directly connected to the south bridge 140 without a bus. In the following description, the south bridge 140 may be referred to as HDC 140.

エミュレータを実行するホストとして情報処理装置100が動作する場合には、メモリ130上にエミュレータが展開されてCPU110で実行される。このエミュレータは、メモリ130上に展開される前はハードディスク装置150に格納されている。   When the information processing apparatus 100 operates as a host for executing the emulator, the emulator is expanded on the memory 130 and executed by the CPU 110. This emulator is stored in the hard disk device 150 before being deployed on the memory 130.

UART160は、パラレルデータとシリアルデータの相互変換を行う装置である。   The UART 160 is a device that performs mutual conversion between parallel data and serial data.

図3は、エミュレータが模擬する模擬対象装置の一例に相当するストレージ装置を表す構造図である。   FIG. 3 is a structural diagram showing a storage apparatus corresponding to an example of a simulation target apparatus simulated by an emulator.

ここに示すストレージ装置200は、NAS(network attached storage)と称される種類のストレージ装置である。このNASは、ネットワークに接続されてネットワークからファイルサーバとして利用される。   The storage device 200 shown here is a type of storage device called NAS (network attached storage). This NAS is connected to the network and used as a file server from the network.

ストレージ装置200は、模擬対象のハードウェア要素として、CPU210とメモリコントローラ220とメモリ230とハードディスクコントローラ240とハードディスク装置250とLANボード260とを備えている。CPU210とメモリコントローラ220とハードディスクコントローラ240とLANボード260はPCIバス270を介して相互に接続されている。一方、メモリ230はメモリコントローラ220にバスを介さず直接に接続されている。また、ハードディスク装置250はハードディスクコントローラ240にバスを介さず直接に接続されている。   The storage apparatus 200 includes a CPU 210, a memory controller 220, a memory 230, a hard disk controller 240, a hard disk apparatus 250, and a LAN board 260 as simulation target hardware elements. The CPU 210, the memory controller 220, the hard disk controller 240, and the LAN board 260 are connected to each other via the PCI bus 270. On the other hand, the memory 230 is directly connected to the memory controller 220 without a bus. The hard disk device 250 is directly connected to the hard disk controller 240 without a bus.

CPU210は、ストレージ装置200内の各部の動作を統括するものである。   The CPU 210 controls the operation of each unit in the storage device 200.

メモリ230はRAMやROMを含んでいる。このメモリ230に、CPU210で実行されるプログラムが展開される。メモリコントローラ220はメモリ230に対するデータの入出力を制御するものである。   The memory 230 includes RAM and ROM. A program executed by the CPU 210 is expanded in the memory 230. The memory controller 220 controls data input / output with respect to the memory 230.

LANボード260は、ストレージ装置200をネットワークに接続するものである。   The LAN board 260 connects the storage apparatus 200 to a network.

ハードディスク装置250は、ネットワークから送られてきたデータを記憶する。ハードディスクコントローラ240は、ハードディスク装置250に対するデータの入出力を制御するものである。   The hard disk device 250 stores data sent from the network. The hard disk controller 240 controls data input / output with respect to the hard disk device 250.

図4は、図3に示すストレージ装置を模擬するエミュレータを表す図である。   FIG. 4 is a diagram illustrating an emulator that simulates the storage apparatus illustrated in FIG.

図4に示すエミュレータ300が、第2実施形態のエミュレータである。このエミュレータ300は、本体部320と起動部310を備えている。   An emulator 300 shown in FIG. 4 is an emulator according to the second embodiment. The emulator 300 includes a main body unit 320 and an activation unit 310.

本体部320は、図2に示す情報処理装置100のメモリ130上に展開されることで、図3に示すストレージ装置200のハードウェア構造を仮想的に模擬する。一方、起動部310は、本体部320をメモリ130上に展開して起動するものである。なお、以下の説明では、メモリ130上に展開された本体部320のことを仮想NAS320と称する場合がある。   The main unit 320 virtually expands on the memory 130 of the information processing apparatus 100 illustrated in FIG. 2 to virtually simulate the hardware structure of the storage apparatus 200 illustrated in FIG. 3. On the other hand, the activation unit 310 activates the main body unit 320 by expanding it on the memory 130. In the following description, the main body 320 expanded on the memory 130 may be referred to as a virtual NAS 320.

起動部310は、仮想ハード展開部311と実ハード確認部312と優先表313とを備えている。この起動部310の説明は後に回して、先に、メモリ130上に展開された本体部320について説明する。   The activation unit 310 includes a virtual hardware development unit 311, a real hardware confirmation unit 312, and a priority table 313. The activation unit 310 will be described later. First, the main body unit 320 developed on the memory 130 will be described.

図5は、情報処理装置のメモリ上に展開された本体部(仮想NAS)を示す図である。   FIG. 5 is a diagram showing a main body (virtual NAS) developed on the memory of the information processing apparatus.

図5に示すように、仮想NAS320は、情報処理装置100のメモリ130上の一部に展開される。メモリ130上に展開された仮想NAS320は、図3に示すストレージ装置200のハードウェア構造と同様の仮想的な構造を有している。即ち、仮想NAS320は、仮想のハードウェア要素として、仮想CPU321と仮想メモリコントローラ322と仮想メモリ323を備えている。更に仮想NAS320は、仮想のハードウェア要素として、仮想ハードディスクコントローラ(仮想HDC)324と仮想ハードディスク装置325と仮想LANボード326も備えている。   As shown in FIG. 5, the virtual NAS 320 is expanded on a part of the memory 130 of the information processing apparatus 100. The virtual NAS 320 deployed on the memory 130 has a virtual structure similar to the hardware structure of the storage apparatus 200 shown in FIG. In other words, the virtual NAS 320 includes a virtual CPU 321, a virtual memory controller 322, and a virtual memory 323 as virtual hardware elements. The virtual NAS 320 further includes a virtual hard disk controller (virtual HDC) 324, a virtual hard disk device 325, and a virtual LAN board 326 as virtual hardware elements.

これらの仮想の各ハードウェア要素321〜326は、図3に示すストレージ装置200が有する模擬対象の各ハードウェア要素210〜260を模擬するものである。   These virtual hardware elements 321 to 326 simulate the simulation target hardware elements 210 to 260 included in the storage apparatus 200 illustrated in FIG. 3.

仮想NAS320には対応表327も備えられている。この対応表327は、仮想NAS320が備えている仮想の各ハードウェア要素321〜326と、情報処理装置100が有する現実のハードウェア要素との対応を示したものである。この対応表327は、仮想NAS320がメモリ130上に展開されたときに構築されたものであるが、詳しい説明は、図4に示す起動部310の説明と共に後に回す。   The virtual NAS 320 is also provided with a correspondence table 327. This correspondence table 327 shows correspondence between virtual hardware elements 321 to 326 provided in the virtual NAS 320 and actual hardware elements included in the information processing apparatus 100. The correspondence table 327 is constructed when the virtual NAS 320 is expanded on the memory 130, and detailed description will be made later together with the explanation of the activation unit 310 shown in FIG. 4.

以下の説明では、説明の便宜のため、仮想のハードウェア要素、模擬対象のハードウェア要素、および現実のハードウェア要素それぞれを、仮想ハード、対象ハード、および実ハードと省略して称する場合がある。   In the following description, for convenience of explanation, a virtual hardware element, a simulation target hardware element, and a real hardware element may be abbreviated as virtual hardware, target hardware, and real hardware, respectively. .

ここで、仮想のハードウェア要素の構造について、仮想HDC324と仮想LANボード326とを例に挙げて説明する。   Here, the structure of the virtual hardware element will be described by taking the virtual HDC 324 and the virtual LAN board 326 as examples.

図6は、仮想HDCの構造を示す図である。また、図7は、仮想LANボードの構造を示す図である。   FIG. 6 is a diagram illustrating the structure of the virtual HDC. FIG. 7 shows the structure of the virtual LAN board.

仮想HDC324は、実ハード動作指示部410と仮想ハード動作実行部420とを備えている。また、仮想LANボード326も、実ハード動作指示部430と仮想ハード動作実行部440とを備えている。   The virtual HDC 324 includes an actual hardware operation instruction unit 410 and a virtual hardware operation execution unit 420. The virtual LAN board 326 also includes an actual hardware operation instruction unit 430 and a virtual hardware operation execution unit 440.

仮想ハードが模擬する対象ハードは、一般に、データや命令などといった入力を受けて応答を返すものである。仮想HDC324の仮想ハード動作実行部420は、模擬対象のHDC240における入力と応答結果との対応関係を表した一種の関数あるいはルーチンプログラムである。このような仮想ハード動作実行部420を情報処理装置100のCPU110が実行して応答結果を得ることで模擬対象のHDC240における応答が模擬される。同様に、仮想LANボード326の仮想ハード動作実行部440は、模擬対象のLANボード260における入力と応答結果との対応関係を表している。そして、この仮想ハード動作実行部440を情報処理装置100のCPU110が実行して応答結果を得ることで模擬対象のLANボード260における応答が模擬される。このように各仮想ハードが対象ハードの応答を模擬することにより、そのような仮想ハードで構成されたエミュレータは、模擬対象の装置の内部動作や外部への応答を模擬することが出来る。   The target hardware simulated by virtual hardware is generally one that receives an input such as data or a command and returns a response. The virtual hardware operation execution unit 420 of the virtual HDC 324 is a kind of function or routine program that represents the correspondence between the input and the response result in the HDC 240 to be simulated. A response in the simulation target HDC 240 is simulated by the CPU 110 of the information processing apparatus 100 executing such a virtual hardware operation execution unit 420 and obtaining a response result. Similarly, the virtual hardware operation execution unit 440 of the virtual LAN board 326 represents the correspondence relationship between the input and the response result on the simulation target LAN board 260. The virtual hardware operation execution unit 440 is executed by the CPU 110 of the information processing apparatus 100 to obtain a response result, thereby simulating a response in the LAN board 260 to be simulated. Thus, each virtual hardware simulates the response of the target hardware, so that an emulator configured with such virtual hardware can simulate the internal operation of the simulation target device and the response to the outside.

ところで、関数あるいはルーチンプログラムとしての仮想ハード動作実行部420,440による応答結果の取得には、模擬対象のHDC240やLANボード260がハードウェアとして動作する動作時間は掛からない。しかし、図5に示す仮想NAS320がエミュレータとして高精度であるためには、ハードウェアの動作時間も含めた模擬が実現されることが望ましい。特に、実際のハードウェアでは、装置の動作状況などによって動作時間に揺らぎが生じるので、そのような揺らぎが模擬されることが望ましい。   By the way, the acquisition of the response result by the virtual hardware operation execution units 420 and 440 as functions or routine programs does not take the operation time for the simulation target HDC 240 or the LAN board 260 to operate as hardware. However, in order for the virtual NAS 320 shown in FIG. 5 to be highly accurate as an emulator, it is desirable that simulation including the operation time of hardware is realized. In particular, in actual hardware, fluctuations occur in the operation time depending on the operation state of the apparatus, and it is desirable to simulate such fluctuations.

そこで、仮想HDC324および仮想LANボード326では、実ハード動作指示部410,430によって、情報処理装置100が有している実ハードの動作が情報処理装置100に指示される。このときの仮想ハードと実ハードとの対応は、上述した対応表に従う。実ハード動作指示部410,430によるこのような指示により、仮想HDC324および仮想LANボード326では、ハードウェアの動作時間も含めた模擬が実現されることになる。そして、このように模擬された動作時間には、情報処理装置100における動作状況などに応じた揺らぎが生じることが期待できるので、エミュレータとして望ましい動作時間の模擬が実現する。なお、このような実ハード動作指示部は、全ての仮想ハードで必要な訳ではない。例えば、仮想CPU321や仮想メモリコントローラ322や仮想メモリ323については、対象ハードの動作時間は、上述した仮想ハード動作実行部が情報処理装置100のCPU110で実行される時間と同程度と考えてよい。従って、仮想ハード動作実行部が情報処理装置100のCPU110で実行されるだけで十分に高精度の模擬となる。従って、実ハード動作指示部は、実ハード動作指示部による動作時間の模擬が必要な種類の仮想ハードのみに備えられている。   Therefore, in the virtual HDC 324 and the virtual LAN board 326, the actual hardware operation instruction units 410 and 430 instruct the information processing apparatus 100 to operate the actual hardware included in the information processing apparatus 100. The correspondence between the virtual hardware and the real hardware at this time follows the correspondence table described above. By such an instruction from the actual hardware operation instruction units 410 and 430, the virtual HDC 324 and the virtual LAN board 326 realize the simulation including the hardware operation time. Since the simulated operation time can be expected to fluctuate according to the operation status of the information processing apparatus 100, simulation of the operation time desirable for an emulator is realized. Note that such an actual hardware operation instruction unit is not necessary for all virtual hardware. For example, for the virtual CPU 321, the virtual memory controller 322, and the virtual memory 323, the operation time of the target hardware may be considered to be approximately the same as the time that the above-described virtual hardware operation execution unit is executed by the CPU 110 of the information processing apparatus 100. Therefore, the virtual hardware operation execution unit can be simulated with sufficiently high accuracy only by being executed by the CPU 110 of the information processing apparatus 100. Therefore, the actual hardware operation instruction unit is provided only in the type of virtual hardware that requires simulation of the operation time by the actual hardware operation instruction unit.

以下、図4に示すエミュレータ300の起動部310による仮想NASの起動について説明する。   Hereinafter, activation of the virtual NAS by the activation unit 310 of the emulator 300 illustrated in FIG. 4 will be described.

図8は、仮想NASの起動処理を表すフローチャートである。以下、このフローチャートが表す起動処理を説明するに当たり、図3も適宜に参照する。   FIG. 8 is a flowchart showing the virtual NAS activation process. Hereinafter, in describing the activation process represented by this flowchart, FIG. 3 is also referred to as appropriate.

図4に示すエミュレータ300の起動部310による本体部(仮想NAS)320の起動処理が開始されると、まず、仮想ハード展開部311によって仮想NASの仮想ハードが情報処理装置100のメモリ130上に展開される(ステップS101)。このとき仮想ハード展開部311は、メモリ130上に展開される各仮想ハードを、上述した対応表327に登録する。   When the activation process of the main body (virtual NAS) 320 by the activation unit 310 of the emulator 300 illustrated in FIG. 4 is started, first, the virtual hardware of the virtual NAS is placed on the memory 130 of the information processing apparatus 100 by the virtual hardware expansion unit 311. Expanded (step S101). At this time, the virtual hardware development unit 311 registers each virtual hardware developed on the memory 130 in the correspondence table 327 described above.

図9は、対応表の一例を示す図である。   FIG. 9 is a diagram illustrating an example of the correspondence table.

図9に示すように、対応表327は、仮想ハードウェア450と現実のハードウェア460とが対応付けられて登録されたものである。図8のステップS101では、この対応表327中の仮想ハードウェア450側だけが登録されて現実のハードウェア460側は空欄となっている。図9の対応表327の例では、1段目に「CPU」、2段目に「HDC」、3段目に「LAN」が登録されている。なお、ハードディスクコントローラはハードディスク装置を動作させる時に動作するものであるので、この対応表327ではこれらは区別されない。   As illustrated in FIG. 9, the correspondence table 327 is a table in which virtual hardware 450 and real hardware 460 are associated with each other and registered. In step S101 of FIG. 8, only the virtual hardware 450 side in the correspondence table 327 is registered, and the actual hardware 460 side is blank. In the example of the correspondence table 327 in FIG. 9, “CPU” is registered in the first row, “HDC” in the second row, and “LAN” in the third row. Since the hard disk controller operates when operating the hard disk device, the correspondence table 327 does not distinguish them.

図8のステップS101でこのように仮想ハードが登録されると、次のステップS102では、そのように登録された仮想ハードのうちの1つを実ハード確認部312が選択する。そして、ステップS103で実ハード確認部312は、その選択した仮想ハードの優先表313をハードディスク装置150から取得する。この優先表313は、仮想ハードに対応付けるべき実ハードの優先順位を表している。この優先表313は、本体部(仮想NAS)320の仮想ハードに対応して起動部310に当初から組み込まれている。   When the virtual hardware is registered in this manner in step S101 of FIG. 8, in the next step S102, the real hardware confirmation unit 312 selects one of the registered virtual hardware. In step S <b> 103, the real hardware confirmation unit 312 acquires the priority table 313 of the selected virtual hardware from the hard disk device 150. This priority table 313 represents the priority order of real hardware to be associated with virtual hardware. The priority table 313 is incorporated in the activation unit 310 from the beginning corresponding to the virtual hardware of the main unit (virtual NAS) 320.

図10は、優先表の一例を示す図である。   FIG. 10 is a diagram illustrating an example of a priority table.

図10に示す優先表313は、LANボードに対応付けられた優先表313の例である。この優先表313には、ハードウェアの種類として「LAN」「UART」「USB」が順に記載されている。優先表313で上に記載されている種類のハードウェアほど優先順位が高いことを意味している。図10に示す優先表313の例では、上に記載されている種類のハードウェアほどLANボードに動作内容が似ている。但し、動作内容の似た順が優先順とは限らず、内容は異なっていても動作時間が近い順を優先順としてもよい。   A priority table 313 illustrated in FIG. 10 is an example of a priority table 313 associated with a LAN board. In the priority table 313, “LAN”, “UART”, and “USB” are sequentially described as hardware types. This means that the hardware of the type described above in the priority table 313 has a higher priority. In the example of the priority table 313 shown in FIG. 10, the operation content is similar to the LAN board for the types of hardware described above. However, the order in which the operation contents are similar is not necessarily the priority order, and even if the contents are different, the order in which the operation times are close may be set as the priority order.

図10に示すような優先表313は、仮想ハードのうち上述した実ハード動作指示部による動作時間の模擬が必要な種類の仮想ハードのみに用意されている。このため、図8のステップS103で実ハード確認部312が優先表313を取得できなかった場合には、その後のステップS104およびステップS105は省略されてステップS106へと進む。一方、ステップS103で実ハード確認部312が優先表313を取得した場合には、ステップS104で実ハード確認部312が、この優先表313の順で実ハードの存在を情報処理装置100について確認する。この情報処理装置100は、上述したように、エミュレータを実行するホストとして動作する装置である。実ハードの存在確認の具体的な方法としては、情報処理装置100でBIOSなどが装置構成を確認するための仕組みとして情報処理装置100に元々備わっている機能が利用される。なお、この仕組みの詳細については、本件開示の本旨とは直接には関係しないのでこれ以上の説明は省略する。   The priority table 313 as shown in FIG. 10 is prepared only for virtual hardware of the type that requires simulation of the operation time by the above-described actual hardware operation instruction unit among the virtual hardware. For this reason, when the real hardware confirmation part 312 cannot acquire the priority table 313 in step S103 of FIG. 8, subsequent step S104 and step S105 are abbreviate | omitted and it progresses to step S106. On the other hand, when the real hardware confirmation unit 312 acquires the priority table 313 in step S103, the real hardware confirmation unit 312 confirms the existence of the real hardware with respect to the information processing apparatus 100 in the order of the priority table 313 in step S104. . As described above, the information processing apparatus 100 is an apparatus that operates as a host that executes an emulator. As a specific method for confirming the presence of actual hardware, a function originally provided in the information processing apparatus 100 is used as a mechanism for the BIOS or the like to confirm the apparatus configuration in the information processing apparatus 100. Note that the details of this mechanism are not directly related to the gist of the present disclosure and will not be described further.

ステップS104で実ハードの存在が確認された場合には、実ハード確認部312は実ハードを、この優先表313に対応した仮想ハードに対応付けて対応表327に登録する(ステップS105)。   When the presence of real hardware is confirmed in step S104, the real hardware confirmation unit 312 registers the real hardware in the correspondence table 327 in association with the virtual hardware corresponding to the priority table 313 (step S105).

実ハードの存在が確認される情報処理装置は、エミュレータ(本実施形態では仮想NAS)を実行するための装置であって、仮想NASが模擬する対象の装置(本実施形態ではNAS)とは一般に別の種類の装置である。しかも、エミュレータの作成時には、このエミュレータを実行する情報処理装置のハードウェア構造は未知であることが多い。このため、以下のような対応部を備えた応用形態が好適である。この対応部は、情報処理装置内に存在しているハードウェア部分を探索する。そして、対応部は、探索で得たハードウェア部分を、エミュレータが有する仮想的ハードウェア部分に、例えば後述する優先順位やその他の対応ルールで対応付ける。このような応用形態によれば、エミュレータを実行する情報処理装置のハードウェア構造が未知であっても、仮想的ハードウェア部分に現実のハードウェア部分を対応付けることが出来る。図4に示す実ハード確認部312は、この対応部の一例に相当する。   An information processing apparatus whose existence of real hardware is confirmed is an apparatus for executing an emulator (virtual NAS in the present embodiment), and is generally a target apparatus (NAS in the present embodiment) to be simulated by the virtual NAS. Another type of device. In addition, when creating an emulator, the hardware structure of an information processing apparatus that executes the emulator is often unknown. For this reason, the application form provided with the following corresponding | compatible parts is suitable. The corresponding unit searches for a hardware part existing in the information processing apparatus. Then, the correspondence unit associates the hardware part obtained by the search with the virtual hardware part of the emulator, for example, with a priority order and other correspondence rules described later. According to such an application mode, even if the hardware structure of the information processing apparatus that executes the emulator is unknown, the actual hardware portion can be associated with the virtual hardware portion. The actual hardware confirmation unit 312 illustrated in FIG. 4 corresponds to an example of the corresponding unit.

また、エミュレータを実行する情報処理装置のハードウェア構造には、仮想ハードの種類と同じ種類の実ハードが含まれているとは限らない。このため、以下のような応用形態が更に好適である。この更に好適な応用形態では、上記対応部は、上記仮想的ハードウェア部分に対応付けるべきハードウェア部分の優先順位が与えられていて、上記探索で得たハードウェア部分を、この優先順位に従って上記仮想的ハードウェア部分に対応付ける。
このように優先順位に従って対応付けられることで、仮想的ハードウェア部分には、例え同種のものでなくても、動作時間の模擬に適した現実のハードウェア部分が対応付けられることになる。図10に示す優先表313は、この更に好適な応用形態に言う優先順位の一例を表したものに相当する。また、図4に示す実ハード確認部312は、この更に好適な応用形態における対応部の一例にも相当する。
Further, the hardware structure of the information processing apparatus that executes the emulator does not always include the same type of real hardware as the type of virtual hardware. For this reason, the following application forms are more suitable. In this more preferred application mode, the correspondence unit is given a priority of the hardware part to be associated with the virtual hardware part, and the hardware part obtained by the search is assigned the virtual part according to the priority. Correspond to the hardware part.
By associating in accordance with the priority order as described above, the virtual hardware part is associated with the actual hardware part suitable for the simulation of the operation time even if they are not of the same type. The priority table 313 shown in FIG. 10 corresponds to an example of the priority order in this more preferable application form. Moreover, the real hardware confirmation part 312 shown in FIG. 4 is corresponded also to an example of the corresponding | compatible part in this more suitable application form.

図9に示す対応表327には、登録された現実のハードウェア460の例が示されている。   The correspondence table 327 shown in FIG. 9 shows an example of registered actual hardware 460.

対応表327の仮想ハードウェア450側の1段目に登録されている「CPU」には上述した優先表が用意されていないため、現実のハードウェア460側の1段目は空欄となっている。   Since the above priority table is not prepared for the “CPU” registered in the first level on the virtual hardware 450 side in the correspondence table 327, the first level on the actual hardware 460 side is blank. .

対応表327の仮想ハードウェア450側の2段目に登録されている「HDC(HDD)」については、図5に示す情報処理装置100に同種のハードウェアが実在しているため、現実のハードウェア460側の2段目には「HDC(HDD)」が登録されている。   Regarding “HDC (HDD)” registered in the second row on the virtual hardware 450 side of the correspondence table 327, since the same type of hardware actually exists in the information processing apparatus 100 shown in FIG. “HDC (HDD)” is registered in the second row on the hardware 460 side.

対応表327の仮想ハードウェア450側の3段目に登録されている「LAN」については、図5に示す情報処理装置100には同種のハードウェアが存在しないが、図10に示す優先表313で2番目に記載されている「UART」は存在している。このため、現実のハードウェア460側の3段目には「UART」が登録されている。   Regarding “LAN” registered in the third row on the virtual hardware 450 side of the correspondence table 327, the same type of hardware does not exist in the information processing apparatus 100 illustrated in FIG. 5, but the priority table 313 illustrated in FIG. The second “UART” described in FIG. For this reason, “UART” is registered in the third row on the actual hardware 460 side.

図8のステップS102〜ステップS105で、以上説明したように実ハードの確認と登録が行われると、次にステップS106に進み、仮想NASの全ての仮想ハードについて実ハードの確認と登録が終わったかが確認される。終わっていれば起動処理は終了され、終わっていなければ上述したステップS102に戻って次の仮想ハードが1つ選択されて実ハードの確認と登録が繰り返される。   When the real hardware is confirmed and registered in steps S102 to S105 in FIG. 8 as described above, the process proceeds to step S106, and whether or not the real hardware has been confirmed and registered for all virtual hardware in the virtual NAS. It is confirmed. If finished, the startup process is finished, and if not finished, the process returns to the above-described step S102, one next virtual hardware is selected, and confirmation and registration of the actual hardware are repeated.

以上説明した起動処理の結果、図5に示すように情報処理装置(即ちホスト)100のメモリ130上に仮想NAS320が展開されて起動される。以下、このように展開された仮想NAS320の具体的な動作における処理手順について、仮想HDD325へのアクセスと、仮想LANボード326へのアクセスを例に挙げて説明する。   As a result of the activation process described above, the virtual NAS 320 is expanded and activated on the memory 130 of the information processing apparatus (ie, host) 100 as shown in FIG. Hereinafter, the processing procedure in the specific operation of the virtual NAS 320 deployed in this way will be described by taking the access to the virtual HDD 325 and the access to the virtual LAN board 326 as examples.

図11は、仮想HDDへのアクセスにおける処理手順を表す図である。また、図12は、仮想HDDへのアクセス処理のうちリード処理の手順を表したフローチャートである。以下、図11を参照しながら図12のフローチャートが表すリード処理について説明する。なお、図12のフローチャートが表すリード処理は、ここでは特に、仮想HDDに記憶されているOSを起動するためのリード処理の例である。   FIG. 11 is a diagram illustrating a processing procedure in accessing a virtual HDD. FIG. 12 is a flowchart showing the read processing procedure in the access processing to the virtual HDD. Hereinafter, the read process represented by the flowchart of FIG. 12 will be described with reference to FIG. The read process represented by the flowchart of FIG. 12 is an example of the read process for starting up the OS stored in the virtual HDD.

このリード処理は、情報処理装置100のCPU110がノースブリッジ120を介してメモリ130内の仮想NAS320が有する仮想CPU321にアクセスすることで開始される(図11に矢印で示す処理手順1および処理手順2)。   This read processing is started when the CPU 110 of the information processing apparatus 100 accesses the virtual CPU 321 included in the virtual NAS 320 in the memory 130 via the north bridge 120 (processing procedure 1 and processing procedure 2 indicated by arrows in FIG. 11). ).

このリード処理が開始されると、図12のステップS201で、仮想NAS320の仮想CPU321が仮想HDC324にリードコマンドを発行する(図11の処理手順3)。このリードコマンドは、仮想ハードディスク装置325からOSを読み取るためのコマンドである。即ち、このリードコマンドは、仮想ハードディスク装置325上のセクタ0からセクタnまでに記憶されているデータ(OS)の読込みを仮想HDC324に指示する。なお、図11の処理手順3などといった仮想ハードの動作は、厳密に言えば情報処理装置100のCPU110やメモリ130による処理動作と言うことになるが、説明が煩雑となるだけであるので、以下、仮想ハードの動作として説明する。   When this read process is started, the virtual CPU 321 of the virtual NAS 320 issues a read command to the virtual HDC 324 in step S201 of FIG. 12 (process procedure 3 of FIG. 11). This read command is a command for reading the OS from the virtual hard disk device 325. That is, this read command instructs the virtual HDC 324 to read data (OS) stored in sectors 0 to n on the virtual hard disk device 325. The operation of the virtual hardware such as the processing procedure 3 in FIG. 11 is strictly speaking a processing operation by the CPU 110 or the memory 130 of the information processing apparatus 100. However, since the description is only complicated, the following will be described. The operation of the virtual hardware will be described.

仮想NAS320の仮想HDC324は、上記リードコマンドが発行されたことを認識する(図11の処理手順4)。そして図12のステップS202で仮想HDC324は、ハードウェアの動作時間を模擬するために、情報処理装置100に対して、情報処理装置100内の実ハードへのアクセスを指示する。この実ハードへのアクセスは、上記リードコマンドが指示する読込みに相当するアクセスである。このとき、仮想HDC324は、対応表327を参照することで、自分に対応している実ハードがHDC140であることを確認する(図11の処理手順4’)。そして、その確認したHDC140に対するアクセスを情報処理装置(即ちホスト)100に指示して処理を委ねる。   The virtual HDC 324 of the virtual NAS 320 recognizes that the read command has been issued (processing procedure 4 in FIG. 11). In step S202 of FIG. 12, the virtual HDC 324 instructs the information processing apparatus 100 to access the actual hardware in the information processing apparatus 100 in order to simulate the hardware operation time. This access to the actual hardware is an access corresponding to the reading designated by the read command. At this time, the virtual HDC 324 refers to the correspondence table 327 to confirm that the real hardware corresponding to itself is the HDC 140 (processing procedure 4 ′ in FIG. 11). Then, the information processing apparatus (ie, host) 100 is instructed to access the confirmed HDC 140 and the process is entrusted.

情報処理装置100側では、CPU110がハードディスクコントローラ140経由でハードディスク装置150に、セクタ0からセクタnまでに記憶されているデータの読込みを実行させる(図11の処理手順5および処理手順6、図12のステップS203)。その結果、セクタ0からセクタnまでのデータがハードディスク装置150からCPU110へと読み込まれる(図11の処理手順7)。但し、このように読み込まれたデータは使用されないデータであるため、仮想HDC324からの事前の指示に従ってCPU110によって破棄される。そして、CPU110は、読込み処理の完了を待って仮想HDC324に処理を返す。なお、一般のパーソナルコンピュータ上で複数のアプリケーションソフトの処理が同時に実行される場合があるのと同様に、この読込み処理も、ホスト上での他の処理と同時に実行される場合がある。このため、この読込み処理に要する処理時間には、ホストの動作状況に応じた揺らぎが生じることとなる。   On the information processing apparatus 100 side, the CPU 110 causes the hard disk device 150 to read data stored in sectors 0 to n via the hard disk controller 140 (processing procedure 5 and processing procedure 6 in FIG. 11, FIG. 12). Step S203). As a result, data from sector 0 to sector n is read from the hard disk device 150 to the CPU 110 (processing procedure 7 in FIG. 11). However, since the data read in this way is unused data, it is discarded by the CPU 110 in accordance with a prior instruction from the virtual HDC 324. Then, the CPU 110 waits for completion of the reading process and returns the process to the virtual HDC 324. It should be noted that this read process may be executed simultaneously with other processes on the host in the same manner that the processes of a plurality of application software may be executed simultaneously on a general personal computer. For this reason, in the processing time required for this reading process, fluctuations according to the operation status of the host occur.

その後、図12のステップS204で仮想HDC324は、仮想ハードディスク装置325にアクセスしてセクタ0からセクタnまでのデータ(OS)を読み込む。更に図12のステップS205で仮想HDC324は、仮想CPU321に対して処理完了を通知する(図11の処理手順8)。最後に仮想CPU321は情報処理装置100のCPU110に処理を返す。   Thereafter, in step S204 of FIG. 12, the virtual HDC 324 accesses the virtual hard disk device 325 and reads data (OS) from sector 0 to sector n. Further, in step S205 in FIG. 12, the virtual HDC 324 notifies the virtual CPU 321 of the completion of processing (processing procedure 8 in FIG. 11). Finally, the virtual CPU 321 returns the process to the CPU 110 of the information processing apparatus 100.

このような処理手順により、仮想NAS320では、ハードディスクに対するリード処理の動作が、アクセス時間を含めて模擬される。しかも、上述したように、情報処理装置100が有する現実のハードディスク装置150で生じるアクセス時間の揺らぎが反映されるので、模擬されたリード処理の動作はリアルで模擬の精度は高い。   With such a processing procedure, the virtual NAS 320 simulates the read processing operation for the hard disk including the access time. In addition, as described above, since the fluctuation of the access time that occurs in the actual hard disk device 150 included in the information processing apparatus 100 is reflected, the simulated read processing operation is real and the simulation accuracy is high.

次に、仮想HDDへのアクセス処理のうちライト処理について以下説明する。   Next, write processing among the access processing to the virtual HDD will be described below.

図13は、仮想HDDへのアクセス処理のうちライト処理の手順を表したフローチャートである。以下、図11を参照しながら図13のフローチャートが表すライト処理について説明する。   FIG. 13 is a flowchart showing the procedure of the write process in the access process to the virtual HDD. Hereinafter, the write process represented by the flowchart of FIG. 13 will be described with reference to FIG.

このライト処理も、情報処理装置100のCPU110がノースブリッジ120を介してメモリ130内の仮想NAS320が有する仮想CPU321にアクセスすることで開始される(図11に矢印で示す処理手順1および処理手順2)。   This write processing is also started when the CPU 110 of the information processing apparatus 100 accesses the virtual CPU 321 included in the virtual NAS 320 in the memory 130 via the north bridge 120 (processing procedure 1 and processing procedure 2 indicated by arrows in FIG. 11). ).

このライト処理が開始されると、図13のステップS301で、仮想NAS320の仮想CPU321が仮想HDC324にライトコマンドを発行する(図11の処理手順3)。このライトコマンドは、仮想ハードディスク装置325にデータを書き込むためのコマンドである。即ち、このライトコマンドは、仮想ハードディスク装置325上のセクタnからセクタmまでに対するデータの書込みを仮想HDC324に指示する。   When this write processing is started, the virtual CPU 321 of the virtual NAS 320 issues a write command to the virtual HDC 324 in step S301 of FIG. 13 (processing procedure 3 of FIG. 11). This write command is a command for writing data to the virtual hard disk device 325. In other words, this write command instructs the virtual HDC 324 to write data from sector n to sector m on the virtual hard disk device 325.

仮想NAS320の仮想HDC324は、上記ライトコマンドが発行されたことを認識する(図11の処理手順4)。そして図12のステップS302で仮想HDC324は、ハードウェアの動作時間を模擬するために、情報処理装置100に対して、情報処理装置100内の実ハードへのアクセスを指示する。この実ハードへのアクセスは、上記ライトコマンドが指示する書込みに相当するアクセスである。このときも、仮想HDC324は、対応表327を参照することで、自分に対応している実ハードがHDC140であることを確認する(図11の処理手順4’)。そして、その確認したHDC140に対するアクセスを情報処理装置100に指示して処理を委ねる。   The virtual HDC 324 of the virtual NAS 320 recognizes that the write command has been issued (processing procedure 4 in FIG. 11). In step S302 in FIG. 12, the virtual HDC 324 instructs the information processing apparatus 100 to access the actual hardware in the information processing apparatus 100 in order to simulate the hardware operation time. This access to the actual hardware is an access corresponding to the writing instructed by the write command. Also at this time, the virtual HDC 324 refers to the correspondence table 327 to confirm that the real hardware corresponding to itself is the HDC 140 (processing procedure 4 ′ in FIG. 11). Then, the information processing apparatus 100 is instructed to access the confirmed HDC 140 and the process is entrusted.

情報処理装置(即ちホスト)100側では、CPU110がハードディスクコントローラ140経由でハードディスク装置150に、セクタnからセクタmまでの分のデータの書込みを実行させる(図11の処理手順5と処理手順6、図13のステップS303)。但し、仮想HDC324による事前の指示に基づいて、セクタnからセクタmまでのセクタ領域へは書込みは行わず、そのセクタ領域までのシークが行われる。そしてシークの後に、情報処理装置100が使用していないセクタ領域に対してセクタnからセクタmまでの分のデータが書き込まれる。このような使用していないセクタ領域としては、例えば「/tmp」などが考えられる。また、セクタnからセクタmまでに比較して、使用していないセクタ領域が狭い場合には、その使用していないセクタ領域が繰り返し利用されて、セクタnからセクタmまでの分のデータが書き込まれる。なお、シークに要する動作時間の方が、データの書込みに要する動作時間よりもずっと長いので、データの書込みは自体は省略も可能である。データ書込みの完了がハードディスクコントローラ140経由でハードディスク装置150からCPU110に通知される(図11の処理手順7)とCPU110は仮想HDC324に処理を返す。   On the information processing device (ie, host) 100 side, the CPU 110 causes the hard disk device 150 to write data from sector n to sector m via the hard disk controller 140 (processing procedure 5 and processing procedure 6 in FIG. Step S303 in FIG. 13). However, based on a prior instruction from the virtual HDC 324, writing to the sector area from sector n to sector m is not performed, but seeking to that sector area is performed. Then, after the seek, the data from sector n to sector m is written into the sector area not used by the information processing apparatus 100. As such an unused sector area, for example, “/ tmp” can be considered. If the unused sector area is small compared to sectors n to m, the unused sector area is repeatedly used to write data from sector n to sector m. It is. Since the operation time required for seeking is much longer than the operation time required for writing data, the data writing itself can be omitted. When the completion of data writing is notified from the hard disk device 150 to the CPU 110 via the hard disk controller 140 (processing procedure 7 in FIG. 11), the CPU 110 returns the process to the virtual HDC 324.

その後、図13のステップS304で仮想HDC324は、仮想ハードディスク装置325にアクセスしてセクタnからセクタmまでにデータを書き込む。更に図13のステップS305で仮想HDC324は、仮想CPU321に対して処理完了を通知する(図11の処理手順8)。最後に仮想CPU321は情報処理装置100のCPU110に処理を返す。   Thereafter, in step S304 of FIG. 13, the virtual HDC 324 accesses the virtual hard disk device 325 and writes data from sector n to sector m. Further, in step S305 in FIG. 13, the virtual HDC 324 notifies the virtual CPU 321 of the completion of processing (processing procedure 8 in FIG. 11). Finally, the virtual CPU 321 returns the process to the CPU 110 of the information processing apparatus 100.

このような処理手順により、仮想NAS320では、ハードディスクに対するライト処理の動作が、アクセス時間を含めて模擬される。また、リード処理の動作の模擬と同様に、情報処理装置100が有する現実のハードディスク装置150で生じるアクセス時間の揺らぎが反映されるので、模擬されたライト処理の動作もリアルで模擬の精度は高い。   With this processing procedure, the virtual NAS 320 simulates the write processing operation for the hard disk including the access time. Similarly to the simulation of the read processing operation, the fluctuation of the access time that occurs in the actual hard disk device 150 included in the information processing apparatus 100 is reflected, so the simulated write processing operation is also real and the simulation accuracy is high. .

次に、仮想LANボード326へのアクセスにおける処理手順について説明する。   Next, a processing procedure for accessing the virtual LAN board 326 will be described.

図14は、仮想LANボードへのアクセスにおける処理手順を表す図である。   FIG. 14 is a diagram illustrating a processing procedure in accessing the virtual LAN board.

仮想LANボード326へのアクセスも、情報処理装置100のCPU110がノースブリッジ120を介してメモリ130内の仮想NAS320が有する仮想CPU321にアクセスすることで開始される(図14に矢印で示す処理手順1および処理手順2)。   Access to the virtual LAN board 326 is also started when the CPU 110 of the information processing apparatus 100 accesses the virtual CPU 321 included in the virtual NAS 320 in the memory 130 via the north bridge 120 (processing procedure 1 indicated by an arrow in FIG. 14). And processing procedure 2).

仮想NAS320の仮想CPU321は仮想LANボード326に、通信処理を指示するコマンドを発行する(図14の処理手順3)。   The virtual CPU 321 of the virtual NAS 320 issues a command for instructing communication processing to the virtual LAN board 326 (processing procedure 3 in FIG. 14).

仮想NAS320の仮想LANボード326は、上記通信処理のコマンドが発行されたことを認識する。そして仮想LANボード326は、ハードウェアの動作時間を模擬するために、情報処理装置100に対して、情報処理装置100内の実ハードへのアクセスを指示する。このとき、仮想LANボード326は、対応表327を参照することで、自分に対応している実ハードがUART160であることを確認する(図14の処理手順3’)。そして、その確認したUART160に対するアクセスを情報処理装置(即ちホスト)100に指示して処理を委ねる。このUART160に対するアクセスは、上記通信処理の指示に相当するアクセスである。   The virtual LAN board 326 of the virtual NAS 320 recognizes that the communication processing command has been issued. The virtual LAN board 326 instructs the information processing apparatus 100 to access the actual hardware in the information processing apparatus 100 in order to simulate the operating time of the hardware. At this time, the virtual LAN board 326 confirms that the actual hardware corresponding to itself is the UART 160 by referring to the correspondence table 327 (processing procedure 3 ′ in FIG. 14). Then, the access to the confirmed UART 160 is instructed to the information processing apparatus (that is, the host) 100 and the processing is entrusted. The access to the UART 160 is an access corresponding to the communication processing instruction.

処理を委ねられた情報処理装置100側では、CPU110がサウスブリッジ140経由でUART160にアクセスして上記通信処理の指示に対応したコマンドをUART160に対して発行する(図14の処理手順4および処理手順5)。そのようなコマンドの処理が完了するとUART160は完了の通知をCPU110に送る(図14の処理手順6)。そして、CPU110は、仮想LANボード326に処理を返す。   On the information processing apparatus 100 side to which the processing is entrusted, the CPU 110 accesses the UART 160 via the south bridge 140 and issues a command corresponding to the communication processing instruction to the UART 160 (processing procedure 4 and processing procedure in FIG. 14). 5). When processing of such a command is completed, the UART 160 sends a notification of completion to the CPU 110 (processing procedure 6 in FIG. 14). Then, the CPU 110 returns the process to the virtual LAN board 326.

その後、仮想LANボード326は、上記通信処理のコマンドに対する応答処理を実行する。そして、仮想LANボード326は、仮想CPU321に対して処理完了を通知する(図14の処理手順7)。最後に仮想CPU321は情報処理装置100のCPU110に処理を返す。   Thereafter, the virtual LAN board 326 executes a response process to the communication process command. Then, the virtual LAN board 326 notifies the virtual CPU 321 of the completion of processing (processing procedure 7 in FIG. 14). Finally, the virtual CPU 321 returns the process to the CPU 110 of the information processing apparatus 100.

このような処理手順により、仮想NAS320では、LANボードに対するアクセスの動作が、LANボードでの処理時間を含めて模擬される。しかも、上述したように、情報処理装置100が有する現実のUART160で生じる処理時間の揺らぎが反映されるので、模擬されたアクセスの動作はリアルで模擬の精度は高い。   With such a processing procedure, in the virtual NAS 320, an access operation to the LAN board is simulated including the processing time in the LAN board. In addition, as described above, the fluctuation of the processing time that occurs in the actual UART 160 of the information processing apparatus 100 is reflected, so that the simulated access operation is real and the simulation accuracy is high.

以上で第2実施形態の説明を終了する。   This is the end of the description of the second embodiment.

上記説明した第2実施形態では仮想ハードディスク装置が1つ備えられていたが、仮想ハードディスク装置が複数(一例として2つ)備えられた変形例について以下説明する。但し、この変形例は、仮想ハードディスク装置が複数備えられている点を除いて第2実施形態と同様であるので、以下では相違点について説明して重複説明は省略する。   In the second embodiment described above, one virtual hard disk device is provided, but a modified example in which a plurality (two by way of example) of virtual hard disk devices are provided will be described below. However, this modified example is the same as that of the second embodiment except that a plurality of virtual hard disk devices are provided, and therefore, different points will be described below and redundant description will be omitted.

図15は、仮想ハードディスク装置が複数備えられた変形例における仮想ハードディスク装置へのアクセスの処理手順を示す図である。   FIG. 15 is a diagram illustrating a processing procedure of access to a virtual hard disk device in a modification in which a plurality of virtual hard disk devices are provided.

図15に示すように、この変形例では、仮想NAS470が複数の仮想ハードディスク装置471,472を備えているとともに、ホストである情報処理装置101も複数のハードディスク装置151,152を備えている。このため、この変形例における対応表327では、各仮想ハードディスク装置471,472には現実の各ハードディスク装置151,152が別々に対応付けられている。   As shown in FIG. 15, in this modification, the virtual NAS 470 includes a plurality of virtual hard disk devices 471 and 472, and the information processing apparatus 101 that is a host also includes a plurality of hard disk devices 151 and 152. Therefore, in the correspondence table 327 in this modification, the actual hard disk devices 151 and 152 are individually associated with the virtual hard disk devices 471 and 472, respectively.

仮想ハードディスク装置へのアクセスは、情報処理装置101のCPU110がノースブリッジ120を介してメモリ130内の仮想NAS320が有する仮想CPU321にアクセスすることで開始される(図15に矢印で示す処理手順1および処理手順2)。そして仮想NAS320の仮想CPU321が仮想HDC324にアクセス(リードあるいはライト)のコマンドを発行する(図15の処理手順3)。このコマンドは、複数の仮想ハードディスク装置471,472のうち第1の仮想ハードディスク装置471に対するアクセスを指示するものとする。   Access to the virtual hard disk device is started when the CPU 110 of the information processing device 101 accesses the virtual CPU 321 of the virtual NAS 320 in the memory 130 via the north bridge 120 (processing procedure 1 and arrow indicated by arrows in FIG. 15). Processing procedure 2). Then, the virtual CPU 321 of the virtual NAS 320 issues an access (read or write) command to the virtual HDC 324 (processing procedure 3 in FIG. 15). It is assumed that this command instructs access to the first virtual hard disk device 471 among the plurality of virtual hard disk devices 471 and 472.

仮想NAS320の仮想HDC324は、コマンドが発行されたことを認識する(図15の処理手順4)。仮想HDC324は、ハードウェアの動作時間を模擬するために、第1の仮想ハードディスク装置471に対応づけられた実ハードが第1のハードディスク装置151であることを対応表327で確認する(図15の処理手順4’)。そして、仮想HDC324は、情報処理装置101に対し、第1のハードディスク装置151へのアクセスを指示して処理を委ねる。   The virtual HDC 324 of the virtual NAS 320 recognizes that the command has been issued (processing procedure 4 in FIG. 15). The virtual HDC 324 confirms from the correspondence table 327 that the actual hardware associated with the first virtual hard disk device 471 is the first hard disk device 151 in order to simulate the operating time of the hardware (FIG. 15). Procedure 4 ′). Then, the virtual HDC 324 instructs the information processing apparatus 101 to access the first hard disk device 151 and entrusts the processing.

情報処理装置(即ちホスト)101側では、CPU110がハードディスクコントローラ140に、第1のハードディスク装置151へのアクセスを指示したコマンドを発行する(図15の処理手順5)。コマンドの発行を受けたHDC140は、第1のハードディスク装置151へのアクセスを実行する。   On the information processing apparatus (ie, host) 101 side, the CPU 110 issues a command instructing access to the first hard disk device 151 to the hard disk controller 140 (processing procedure 5 in FIG. 15). The HDC 140 that has received the command executes access to the first hard disk device 151.

この変形例では、第1の仮想ハードディスク装置471および第1のハードディスク装置151へのアクセスが行われている間に、マルチタスクにて更に第2の仮想ハードディスク装置472および第2のハードディスク装置152へアクセスが可能である。   In this modification, while the first virtual hard disk device 471 and the first hard disk device 151 are being accessed, the second virtual hard disk device 472 and the second hard disk device 152 are further multitasked. Access is possible.

マルチタスクによる第2の仮想ハードディスク装置472へアクセスも、情報処理装置101のCPU110がノースブリッジ120を介してメモリ130内の仮想NAS320が有する仮想CPU321にアクセスすることで開始される(図15の処理手順7および処理手順8)。   Access to the second virtual hard disk device 472 by multitasking is also started when the CPU 110 of the information processing device 101 accesses the virtual CPU 321 of the virtual NAS 320 in the memory 130 via the north bridge 120 (the processing of FIG. 15). Procedure 7 and processing procedure 8).

そして、第1の仮想ハードディスク装置471へのアクセスの処理と同様に、アクセスのコマンド発行(図15の処理手順9)、コマンド発行の認識(図15の処理手順10)、対応表327での実ハードの確認(図15の処理手順10’)が行われる。   Similar to the process of accessing the first virtual hard disk device 471, issuance of an access command (processing procedure 9 in FIG. 15), recognition of command issuance (processing procedure 10 in FIG. 15), and actuality in the correspondence table 327. Hardware confirmation (processing procedure 10 'in FIG. 15) is performed.

続いて、情報処理装置101に対する第2のハードディスク装置152へアクセス指示、CPU110によるコマンド発行(図15の処理手順11)、第2のハードディスク装置152へのアクセス(図15の処理手順12)が行われる。   Subsequently, an instruction to access the information processing apparatus 101 to the second hard disk device 152, a command issuance by the CPU 110 (processing procedure 11 in FIG. 15), and an access to the second hard disk device 152 (processing procedure 12 in FIG. 15) are performed. Is called.

ここで、第1のハードディスク装置151へのアクセスと第2のハードディスク装置152へのアクセスとのどちらが先に完了するかは、動作状況によって異なる。ここでは、第2のハードディスク装置152へのアクセスが先に完了する「追い越し」が生じたものとして説明を続ける。   Here, which of the access to the first hard disk device 151 and the access to the second hard disk device 152 is completed first differs depending on the operation status. Here, the description will be continued on the assumption that the “overtaking” in which the access to the second hard disk device 152 is completed first occurs.

アクセスの完了がHDC140経由で第2のハードディスク装置152からCPU110に通知される(図15の処理手順13)とCPU110は仮想HDC324に、第2の仮想ハードディスク装置472へアクセスを実行させる。そしてアクセスが完了すると仮想HDC324は仮想CPU321に対して処理完了を通知する(図15の処理手順14および処理手順15)。さらに仮想CPU321は、情報処理装置100のCPU110に処理完了を通知する(図15の処理手順16および処理手順17)。   When the completion of access is notified from the second hard disk device 152 to the CPU 110 via the HDC 140 (processing procedure 13 in FIG. 15), the CPU 110 causes the virtual HDC 324 to access the second virtual hard disk device 472. When the access is completed, the virtual HDC 324 notifies the virtual CPU 321 of the completion of processing (processing procedure 14 and processing procedure 15 in FIG. 15). Further, the virtual CPU 321 notifies the CPU 110 of the information processing apparatus 100 of the completion of processing (processing procedure 16 and processing procedure 17 in FIG. 15).

一方、第2のハードディスク装置152に遅れて第1のハードディスク装置151からCPU110にアクセスの完了が通知される(図15の処理手順18)とCPU110は仮想HDC324に、第1の仮想ハードディスク装置471へアクセスを実行させる。そしてアクセスが完了すると仮想HDC324は仮想CPU321に対して処理完了を通知する(図15の処理手順19および処理手順20)。さらに仮想CPU321は、情報処理装置100のCPU110に処理完了を通知する(図15の処理手順21および処理手順22)。   On the other hand, when the completion of access is notified from the first hard disk device 151 to the CPU 110 after the second hard disk device 152 (processing procedure 18 in FIG. 15), the CPU 110 notifies the virtual HDC 324 to the first virtual hard disk device 471. Have access performed. When the access is completed, the virtual HDC 324 notifies the virtual CPU 321 of the completion of processing (processing procedure 19 and processing procedure 20 in FIG. 15). Further, the virtual CPU 321 notifies the CPU 110 of the information processing apparatus 100 of the completion of processing (processing procedure 21 and processing procedure 22 in FIG. 15).

このように、仮想ハードが実ハードの駆動を指示することにより「追い越し」処理も模擬可能となる。   In this way, the “overtaking” process can be simulated by the virtual hardware instructing the driving of the real hardware.

10 エミュレータ
21 現実のハードウェア部分
20 情報処理装置
11 仮想的ハードウェア部分
12 応答部
13 駆動部
100,101 情報処理装置(ホスト)
110 CPU
120 ノースブリッジ
130 メモリ
140 サウスブリッジ(ハードディスクコントローラ)
150,151,152 ハードディスク装置
160 UART
170 オリジナルバス
180 PCIバス
200 ストレージ装置
210 CPU
220 メモリコントローラ
230 メモリ
240 ハードディスクコントローラ
250 ハードディスク装置
260 LANボード
300 エミュレータ
310 起動部
320,470 本体部(仮想NAS)
311 仮想ハード展開部
312 実ハード確認部
313 優先表
321 仮想CPU
322 仮想メモリコントローラ
323 仮想メモリ
324 仮想ハードディスクコントローラ
325,471,472 仮想ハードディスク装置
326 仮想LANボード
327 対応表
410,430 実ハード動作指示部
420,440 仮想ハード動作実行部
DESCRIPTION OF SYMBOLS 10 Emulator 21 Real hardware part 20 Information processing apparatus 11 Virtual hardware part 12 Response part 13 Drive part 100,101 Information processing apparatus (host)
110 CPU
120 North Bridge 130 Memory 140 South Bridge (Hard Disk Controller)
150, 151, 152 Hard disk device 160 UART
170 Original bus 180 PCI bus 200 Storage device 210 CPU
220 Memory Controller 230 Memory 240 Hard Disk Controller 250 Hard Disk Device 260 LAN Board 300 Emulator 310 Start Unit 320, 470 Main Unit (Virtual NAS)
311 Virtual Hardware Expansion Unit 312 Real Hardware Confirmation Unit 313 Priority Table 321 Virtual CPU
322 Virtual memory controller 323 Virtual memory 324 Virtual hard disk controller 325, 471, 472 Virtual hard disk device 326 Virtual LAN board 327 Correspondence table 410, 430 Real hardware operation instruction unit 420, 440 Virtual hardware operation execution unit

Claims (3)

情報処理装置上で実行されることによって、模擬対象の装置のハードウェア構造を模擬するエミュレータであって、
前記ハードウェア構造に含まれた構造部分を模擬する仮想的ハードウェア部分を有し、この仮想的ハードウェア部分が、
前記仮想的ハードウェア部分に対応付けられた前記情報処理装置内の現実のハードウェア部分を駆動させる駆動部と、
前記仮想的ハードウェア部分が模擬する構造部分が入力に対して示す応答結果を模擬するために前記駆動部による現実のハードウェア部分の駆動後に前記情報処理装置上で実行される応答部と、
を備えたことを特徴とするエミュレータ。
An emulator that simulates the hardware structure of a simulation target device by being executed on an information processing device,
A virtual hardware part that simulates a structural part included in the hardware structure, the virtual hardware part comprising:
A drive unit for driving an actual hardware part in the information processing apparatus associated with the virtual hardware part;
A response unit that is executed on the information processing apparatus after driving the actual hardware part by the drive unit in order to simulate the response result that the virtual hardware part simulates with respect to the input;
An emulator characterized by comprising:
前記情報処理装置内に存在しているハードウェア部分を探索し、探索で得たハードウェア部分を、前記仮想的ハードウェア部分に対応付ける対応部を備えたことを特徴とする請求項1記載のエミュレータ。   The emulator according to claim 1, further comprising: a corresponding unit that searches for a hardware part existing in the information processing apparatus and associates the hardware part obtained by the search with the virtual hardware part. . 前記対応部は、前記仮想的ハードウェア部分に対応付けるべきハードウェア部分の優先順位に基づいて、前記探索で得たハードウェア部分を、該優先順位に従って前記仮想的ハードウェア部分に対応付けるものであることを特徴とする請求項2記載のエミュレータ。   The correspondence unit associates the hardware part obtained by the search with the virtual hardware part according to the priority order based on the priority order of the hardware part to be associated with the virtual hardware part. The emulator according to claim 2.
JP2011030730A 2011-02-16 2011-02-16 Emulator Pending JP2012168851A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011030730A JP2012168851A (en) 2011-02-16 2011-02-16 Emulator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011030730A JP2012168851A (en) 2011-02-16 2011-02-16 Emulator

Publications (1)

Publication Number Publication Date
JP2012168851A true JP2012168851A (en) 2012-09-06

Family

ID=46972927

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011030730A Pending JP2012168851A (en) 2011-02-16 2011-02-16 Emulator

Country Status (1)

Country Link
JP (1) JP2012168851A (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324384A (en) * 1992-05-20 1993-12-07 Fujitsu Ltd Emulation system for input device
US5911059A (en) * 1996-12-18 1999-06-08 Applied Microsystems, Inc. Method and apparatus for testing software
JP2003316603A (en) * 2002-04-24 2003-11-07 Matsushita Electric Ind Co Ltd Program verification system
JP2003316847A (en) * 2002-04-24 2003-11-07 Matsushita Electric Ind Co Ltd Generating device and generating method for emulation circuit information
JP2005084820A (en) * 2003-09-05 2005-03-31 Toshiba Corp Controller comprising simulating functions of input/output unit
US20080071517A1 (en) * 2006-09-19 2008-03-20 Seiko Epson Corporation Emulations system and emulation method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324384A (en) * 1992-05-20 1993-12-07 Fujitsu Ltd Emulation system for input device
US5911059A (en) * 1996-12-18 1999-06-08 Applied Microsystems, Inc. Method and apparatus for testing software
JP2003316603A (en) * 2002-04-24 2003-11-07 Matsushita Electric Ind Co Ltd Program verification system
JP2003316847A (en) * 2002-04-24 2003-11-07 Matsushita Electric Ind Co Ltd Generating device and generating method for emulation circuit information
JP2005084820A (en) * 2003-09-05 2005-03-31 Toshiba Corp Controller comprising simulating functions of input/output unit
US20080071517A1 (en) * 2006-09-19 2008-03-20 Seiko Epson Corporation Emulations system and emulation method

Similar Documents

Publication Publication Date Title
ES2724523T3 (en) USB device enumeration method that includes detecting a type of USB host operating system
TWI400652B (en) Dual operating system parallel processing methods, recording media and computer program products
US20080021693A1 (en) Storage Device Simulator
CN109426613B (en) Method for retrieving debugging data in UEFI and computer system thereof
US20160231935A1 (en) Memory Configuration Operations for a Computing Device
KR102243791B1 (en) Systems and methods for simulated device testing using a memory-based communication protocol
JP2015038644A (en) Computer and method of updating virtual machine
CN103123605A (en) Android platform automation integration testing method and device
JP6283096B2 (en) Program test service
TW202319914A (en) Apparatuses, devices, methods and computer program for performing unit tests on firmware code
CN103279408B (en) The method of testing of raid-array RAID performance
US20080281576A1 (en) Interface board, simulator, synchronization method, and synchronization program
JP2012168851A (en) Emulator
AU2011217727B2 (en) Co-design of a testbench and driver of a device
JP4589255B2 (en) Hardware / software co-verification device
US20110119529A1 (en) Virtual hard disk drive
JPWO2012008319A1 (en) Emulator verification system and emulator verification method
US20190012418A1 (en) Simulation program, method, and device
JP5673197B2 (en) Test program and test method
CN117251118B (en) Virtual NVMe simulation and integration supporting method and system
JP2014021540A (en) Digital signal processing system, digital signal processing system booting device and booting method of digital signal processing system
KR101679477B1 (en) Method and System for Verify using Embedded DDR Memory to Reduce the Proving Time for Memory Driving Peripheral circuit
JP4893028B2 (en) Chipset emulation apparatus and method
CN107145420B (en) OpenPower architecture-based automatic disk test method
JP4421498B2 (en) program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140811

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140819

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150210