JP6740607B2 - シミュレーションプログラム、情報処理装置、シミュレーション方法 - Google Patents
シミュレーションプログラム、情報処理装置、シミュレーション方法 Download PDFInfo
- Publication number
- JP6740607B2 JP6740607B2 JP2015247976A JP2015247976A JP6740607B2 JP 6740607 B2 JP6740607 B2 JP 6740607B2 JP 2015247976 A JP2015247976 A JP 2015247976A JP 2015247976 A JP2015247976 A JP 2015247976A JP 6740607 B2 JP6740607 B2 JP 6740607B2
- Authority
- JP
- Japan
- Prior art keywords
- simulation
- execution
- instruction
- main memory
- result
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45516—Runtime code conversion or optimisation
- G06F9/4552—Involving translation to a different instruction set architecture, e.g. just-in-time translation in a JVM
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/10—Processors
Description
初めに、実施の形態において、シミュレーションの対象となるCPU(ターゲットCPU)を含むハイブリッドメモリシステムについて説明する。
ハイブリッドメモリシステム11は、CPU12、DRAM13、およびNVRAM14を備える。CPU12、DRAM13、およびNVRAM14は、バス15を介して接続している。
ハイブリッドメモリシステム21は、CPU22、DRAM23、およびNVRAM24を備える。CPU22とDRAM23はバス25−1を介して接続し、DRAM23とNVRAM24は、バス25−2を介して接続している。ハイブリッドメモリシステム21において、DRAM23はNVRAM24のキャッシュとして動作する。
図2は、第1の実施の形態に係るシミュレーション装置の構成図である。
図3に示すように、あるブロックには、ターゲットコードの3つの命令;(1)“LDR [r1],r2”(ロード);(2)“MUL r3,r4, r5(乗算)”;(3)“ADD r2,r5, r6(加算)”の命令が含まれ、(1)〜(3)の順でターゲットCPUのパイプラインに投入されて実行されるとする。各命令のr1〜r6は、レジスタ(アドレス)を表す。
図4に示すタイミング情報301では、LDR命令について、ソースレジスタrs1(r1)は1番目の処理要素(e1)で、宛先レジスタrd(r2)は2番目の処理要素(e2)で使用可能であることを表す。タイミング情報301は、LDR命令について、キャッシュミス時のペナルティを示す情報を含む。詳細には、キャッシュミス時にターゲットCPUがアクセスする主記憶装置がDRAMの場合とNVRAMの場合のそれぞれのペナルティ(サイクル)を示す情報を含む。図4のタイミング情報301において、キャッシュミス時にターゲットCPUがアクセスする主記憶装置がDRAMの場合、ペナルティは6サイクル、キャッシュミス時にターゲットCPUがアクセスする主記憶装置がNVRAMの場合、ペナルティは22サイクルである。
・命令キャッシュ:予測=ヒット
・データキャッシュ:予測=ヒット
・TLB検索:予測=ヒット
・分岐予測:予測=ヒット
・コール/リターン:予測=ヒット
〔コード変換処理〕
(1) シミュレーション装置101のコード変換部110のブロック分割部111は、ターゲットプログラム201のターゲットコードを得て記憶部(図2に図示しない)に保持し、保持したターゲットコードを任意のブロックに分割する(図3参照)。
(2) 予測シミュレーション実行部113は、入力されるターゲットプログラム201に関するタイミング情報301、予測情報401を得て記憶部に保存する。
そして、予測シミュレーション実行部113は、予測情報401をもとに、分割されたブロックの外部依存命令のそれぞれについて予測結果を設定する。例えば、予測シミュレーション実行部113は、図4に示すブロックの命令のうち、LDR命令のデータキャッシュの予測結果として「ヒット」を設定する。
(3) 予測シミュレーション実行部113は、ブロックのコードを解釈して、設定された予測結果を前提とする場合の命令実行をシミュレーションする。すなわち、予測シミュレーション実行部113は、図5Aに示すタイミング例の命令実行をシミュレーションすることになる。
(4) 次に、コード生成部115は、予測ケースのシミュレーション結果をもとに、ターゲットコードからホストコードを生成する。さらに、コード生成部115は、ターゲットコードから変換したホストコード(機能コードのみ)に、性能シミュレーション(サイクルシミュレーション)を実行するためのサイクルシミュレーション用コードを組み込む。
(1) シミュレーション実行部120のコード実行部121は、コード変換部110が生成したホストコードを用いて、ターゲットプログラム201の性能シミュレーションを行う。
コード実行部121は、ターゲットプログラム201の命令実行をシミュレーションし、各命令の実行時間を得ていく。
(2) コード実行部121は、シミュレーションの実行中に、外部依存命令(例えばLDR命令)を検出した場合に、補正部123が呼び出される。
(3) 補正部123は、外部依存命令の実行結果が、設定された予測結果と異なっているかを判定し、実行結果が予測結果と違っている場合に、補正する。例えば、命令「LDR [r1],r2」が検出され、データキャッシュの予測結果(キャッシュヒット)と、実際の実行結果(キャッシュミス)と、が異なっていた場合に、補正部123は、検出された命令「LDR [r1],r2」の実行時間(サイクル数)を補正する。さらに、補正部123は、この補正により、次命令の実行タイミングt+nも変更する。
ステップS2720において、コード実行部121は、ヘルパー関数呼出し命令で指定されるヘルパー関数を呼び出す。第1の実施の形態において、ヘルパー関数(判定処理あり)が呼び出され、ヘルパー関数(判定処理あり)により以下のステップS721〜S725,S727,S728が実行される。
「LDR [r1],r2 :[r1]→r2;
MUL r3,r4,r5 :r3*r4→r5;
ADD r2,r5,r6 :r2+r5→r6」
第2の実施の形態では、メモリデバイスの種類の判定結果に基づいて、ホストコードのメモリデバイスの種類の判定を行うヘルパー関数を呼び出すヘルパー関数呼び出し命令をメモリデバイスの種類の判定を行わないヘルパー関数を呼び出すヘルパー関数呼び出し命令書き換える。これにより、シミュレーション装置がホストコードを再度実行したときに、初回実行時に比べ、メモリデバイスの種類の判定が省略されるため、シミュレーション時間が短縮される。
シミュレーション装置2101は、コード変換部2110、シミュレーション実行部2120、およびシミュレーション情報収集部2130を有する。コード変換部2110は、ブロック分割部2111、予測シミュレーション予測部2113、およびコード生成部2115を有する。
(第3の実施の形態)
例えば、ターゲットCPUがARMプロセッサの場合、ターゲットCPUは、カーネルモード(特権モード)とユーザモードの2つの動作モードを有する。カーネルモードは、ユーザモードよりもターゲットCPUの動作の制限が小さいモードである。ユーザモードは、カーネルモードよりもターゲットCPUの動作の制限が大きいモードである。カーネルモードではカーネルなどが記憶されたシステム領域にアクセスすることが出来る。
シミュレーション装置3101は、コード変換部3110、シミュレーション実行部3120、およびシミュレーション情報収集部3130を有する。
図16は、第3の実施の形態に係るシミュレーション装置のホストコード生成処理のフローチャートである。
実施の形態のシミュレーション装置101,2101、3101は、例えば、図17に示すような情報処理装置(コンピュータ)1によって実現可能である。
(付記1)
ターゲットプロセッサに対するプログラムの命令実行のシミュレーションをコンピュータに実行させるシミュレーションプログラムであって、
前記プログラムのコードに含まれる主記憶アクセス命令の処理の実行結果を予測結果として設定し、
前記予測結果を前提とする命令実行の機能シミュレーションを行い、前記主記憶アクセス命令の実行タイミングを示すタイミング情報を得て、前記機能シミュレーションの結果と前記タイミング情報とをもとに、前記予測結果での主記憶アクセス命令の実行時間を算出し、
前記機能シミュレーションの結果をもとに、前記予測結果を前提とする命令実行の性能シミュレーションに用いられる、前記主記憶アクセス命令を含むホストコードを生成し、
前記生成されたホストコードを実行し、
前記ホストコードに含まれる前記主記憶アクセス命令におけるキャッシュアクセスの実行結果が前記予測結果と異なる場合に、前記主記憶アクセス命令においてアクセスするメモリの種類を判定し、
前記メモリの種類の判定結果に応じた補正値を用いて、前記予測結果での主記憶アクセス命令の実行時間を補正して、前記機能シミュレーションでの前記主記憶アクセス命令の実行時間とする、
処理を実行させるシミュレーションプログラム。
(付記2)
前記主記憶アクセス命令においてアクセスするメモリの種類を判定する処理を行わず、前記メモリの種類の判定結果に応じた補正値を用いて、前記予測結果での主記憶アクセス命令の実行時間を補正して、前記機能シミュレーションでの前記主記憶アクセス命令の実行時間とする処理を実行させるように、前記メモリの種類の判定結果に基づいて、前記ホストコードを書き換える処理をさらに前記コンピュータに実行させる付記1記載のシミュレーションプログラム。
(付記3)
前記ターゲットプロセッサは、第1のモードと前記第1のモードよりも動作の制限が大きい第2のモードを有し、
前記ホストコードを生成する処理は、
前記主記憶アクセス命令の実行時の前記ターゲットプロセッサが前記第1のモードの場合、前記ホストコードに含まれる前記主記憶アクセス命令におけるキャッシュアクセスの実行結果が前記予測結果と異なる場合に、前記主記憶アクセス命令においてアクセスするメモリの種類を判定し、前記メモリの種類の判定結果に応じた補正値を用いて、前記予測結果での前記主記憶アクセス命令の実行時間を補正して、前記機能シミュレーションでの前記前記主記憶アクセス命令の実行時間とする処理を実行させる前記ホストコードを生成し、
前記主記憶アクセス命令の実行時の前記ターゲットプロセッサが前記第2のモードの場合、前記ホストコードに含まれる前記主記憶アクセス命令におけるキャッシュアクセスの実行結果が前記予測結果と異なる場合に、前記主記憶アクセス命令においてアクセスするメモリの種類を判定し、前記メモリの種類の判定結果に応じた補正値を用いて、前記予測結果での前記主記憶アクセス命令の実行時間を補正して、前記機能シミュレーションでの前記主記憶アクセス命令の実行時間とし、前記主記憶アクセス命令においてアクセスするメモリの種類を判定する処理を行わず、前記メモリの種類の判定結果に応じた補正値を用いて、前記予測結果での前記主記憶アクセス命令の実行時間を補正して、前記機能シミュレーションでの前記主記憶アクセス命令の実行時間とする処理を実行させるように、前記メモリの種類の判定結果に基づいて、前記ホストコードを書き換える処理を実行させる前記ホストコードを生成することを特徴とする付記1記載のシミュレーションプログラム。
(付記4)
ターゲットプロセッサに対するプログラムの命令実行のシミュレーションを実行する情報処理装置であって、
前記プログラムのコードに含まれる主記憶アクセス命令の処理の実行結果を予測結果として設定し、前記予測結果を前提とする命令実行の機能シミュレーションを行い、前記主記憶アクセス命令に含まれる命令の実行タイミングを示すタイミング情報を得て、前記機能シミュレーションの結果と前記タイミング情報とをもとに、前記予測結果での主記憶アクセス命令の実行時間を算出する予測シミュレーション実行部と、
前記機能シミュレーションの結果をもとに、前記予測結果を前提とする命令実行の性能シミュレーションに用いられる前記主記憶アクセス命令を含むホストコードを生成するコード生成部と、
前記生成されたホストコードを実行するコード実行部と、
前記ホストコードに含まれる主記憶アクセス命令におけるキャッシュアクセスの実行結果が前記予測結果と異なる場合に、前記主記憶アクセス命令においてアクセスするメモリの種類を判定する判定部と、
前記メモリの種類の判定結果に応じた補正値を用いて、前記予測結果での主記憶アクセス命令の実行時間を補正して、前記機能シミュレーションでの前記主記憶アクセス命令の実行時間とする補正部と
を備える情報処理装置。
(付記5)
前記主記憶アクセス命令においてアクセスするメモリの種類を判定する処理を行わず、前記メモリの種類の判定結果に応じた補正値を用いて、前記予測結果での主記憶アクセス命令の実行時間を補正して、前記機能シミュレーションでの前記主記憶アクセス命令の実行時間とする処理を前記補正部に実行させるように、前記メモリの種類の判定結果に基づいて、前記ホストコードを書き換える最適化部をさらに備えることを特徴とする付記4記載の情報処理装置。
(付記6)
前記ターゲットプロセッサは、第1のモードと前記第1のモードよりも動作の制限が大きい第2のモードを有し、
前記コード生成部は、
前記主記憶アクセス命令の実行時の前記ターゲットプロセッサが前記第1のモードの場合、前記ホストコードに含まれる前記主記憶アクセス命令におけるキャッシュアクセスの実行結果が前記予測結果と異なる場合に、前記主記憶アクセス命令においてアクセスするメモリの種類を判定し、前記メモリの種類の判定結果に応じた補正値を用いて、前記予測結果での前記主記憶アクセス命令の実行時間を補正して、前記機能シミュレーションでの前記前記主記憶アクセス命令の実行時間とする処理を実行させる前記ホストコードを生成し、
前記主記憶アクセス命令の実行時の前記ターゲットプロセッサが前記第2のモードの場合、前記ホストコードに含まれる前記主記憶アクセス命令におけるキャッシュアクセスの実行結果が前記予測結果と異なる場合に、前記主記憶アクセス命令においてアクセスするメモリの種類を判定し、前記メモリの種類の判定結果に応じた補正値を用いて、前記予測結果での前記主記憶アクセス命令の実行時間を補正して、前記機能シミュレーションでの前記主記憶アクセス命令の実行時間とし、前記主記憶アクセス命令においてアクセスするメモリの種類を判定する処理を行わず、前記メモリの種類の判定結果に応じた補正値を用いて、前記予測結果での前記主記憶アクセス命令の実行時間を補正して、前記機能シミュレーションでの前記主記憶アクセス命令の実行時間とする処理を実行させるように、前記メモリの種類の判定結果に基づいて、前記ホストコードを書き換える処理を実行させる前記ホストコードを生成することを特徴とする付記4記載の情報処理装置。
(付記7)
ターゲットプロセッサに対するプログラムの命令実行のシミュレーションを行うコンピュータが実行するシミュレーション方法であって、
前記プログラムのコードに含まれる主記憶アクセス命令の処理の実行結果を予測結果として設定し、
前記予測結果を前提とする命令実行の機能シミュレーションを行い、前記主記憶命令の実行タイミングを示すタイミング情報を得て、前記機能シミュレーションの結果と前記タイミング情報とをもとに、前記予測結果での主記憶アクセス命令の実行時間を算出し、
前記機能シミュレーションの結果をもとに、前記予測結果を前提とする命令実行の性能シミュレーションに用いられる前記主記憶アクセス命令を含むホストコードを生成し、
前記生成されたホストコードを実行し、前記ホストコードに含まれる前記主記憶アクセス命令におけるキャッシュアクセスの実行結果が前記予測結果と異なる場合に、前記主記憶アクセス命令においてアクセスするメモリの種類を判定し、
前記メモリの種類の判定結果に応じた補正値を用いて、前記予測結果での主記憶アクセス命令の実行時間を補正して、前記機能シミュレーションでの前記主記憶アクセス命令の実行時間とする、
処理を備えるシミュレーション方法。
(付記8)
前記主記憶アクセス命令においてアクセスするメモリの種類を判定する処理を行わず、前記メモリの種類の判定結果に応じた補正値を用いて、前記予測結果での主記憶アクセス命令の実行時間を補正して、前記機能シミュレーションでの前記主記憶アクセス命令の実行時間とする処理を実行させるように、前記メモリの種類の判定結果に基づいて、前記ホストコードを書き換える処理をさらに備える付記7記載のシミュレーション方法。
(付記9)
前記ターゲットプロセッサは、第1のモードと前記第1のモードよりも動作の制限が大きい第2のモードを有し、
前記ホストコードを生成する処理は、
前記主記憶アクセス命令の実行時の前記ターゲットプロセッサが前記第1のモードの場合、前記ホストコードに含まれる前記主記憶アクセス命令におけるキャッシュアクセスの実行結果が前記予測結果と異なる場合に、前記主記憶アクセス命令においてアクセスするメモリの種類を判定し、前記メモリの種類の判定結果に応じた補正値を用いて、前記予測結果での前記主記憶アクセス命令の実行時間を補正して、前記機能シミュレーションでの前記前記主記憶アクセス命令の実行時間とする処理を実行させる前記ホストコードを生成し、
前記主記憶アクセス命令の実行時の前記ターゲットプロセッサが前記第2のモードの場合、前記ホストコードに含まれる前記主記憶アクセス命令におけるキャッシュアクセスの実行結果が前記予測結果と異なる場合に、前記主記憶アクセス命令においてアクセスするメモリの種類を判定し、前記メモリの種類の判定結果に応じた補正値を用いて、前記予測結果での前記主記憶アクセス命令の実行時間を補正して、前記機能シミュレーションでの前記主記憶アクセス命令の実行時間とし、前記主記憶アクセス命令においてアクセスするメモリの種類を判定する処理を行わず、前記メモリの種類の判定結果に応じた補正値を用いて、前記予測結果での前記主記憶アクセス命令の実行時間を補正して、前記機能シミュレーションでの前記主記憶アクセス命令の実行時間とする処理を実行させるように、前記メモリの種類の判定結果に基づいて、前記ホストコードを書き換える処理を実行させる前記ホストコードを生成することを特徴とする付記7記載のシミュレーション方法。
12,22 CPU
13,23 DRAM
14,24 NVRAM
15,25 バス
101,2101,3101 シミュレーション装置
110,2110,3110 コード変換部
111,2111,3111 ブロック分割部
113,2113,3113 予測シミュレーション実行部
115,2115,3115 コード生成部
120,2120,3120 シミュレーション実行部
121,2121,3121 コード実行部
123,2123,3123 補正部
125,2125,3125 判定部
2127,3127 最適化部
130,2130,3130 シミュレーション情報収集部
Claims (5)
- ターゲットプロセッサに対するプログラムの命令実行のシミュレーションをコンピュータに実行させるシミュレーションプログラムであって、
前記プログラムのコードに含まれる主記憶アクセス命令の処理の実行結果を予測結果として設定する処理と、
前記予測結果を前提とする命令実行の機能シミュレーションを行い、前記主記憶アクセス命令の実行タイミングを示すタイミング情報を得て、前記機能シミュレーションの結果と前記タイミング情報とをもとに、前記予測結果での主記憶アクセス命令の実行時間を算出する処理と、
前記機能シミュレーションの結果をもとに、前記予測結果を前提とする命令実行の性能シミュレーションに用いられる、前記主記憶アクセス命令を含むホストコードを生成する処理と、
前記生成されたホストコードを実行する処理と、
前記ホストコードに含まれる前記主記憶アクセス命令におけるキャッシュアクセスの実行結果が前記予測結果と異なる場合に、前記主記憶アクセス命令においてアクセスする主記憶装置として用いられているメモリデバイスの種類を、前記キャッシュアクセスのシミュレーション時におけるキャッシュのアドレスに基づいて判定する処理と、
前記メモリデバイスの種類の判定結果に応じた補正値を用いて、前記予測結果での主記憶アクセス命令の実行時間を補正して、前記機能シミュレーションでの前記主記憶アクセス命令の実行時間とする処理と、
を前記コンピュータに実行させるシミュレーションプログラム。 - 前記メモリデバイスの種類の判定結果に応じた補正値を用いて前記予測結果での主記憶アクセス命令の実行時間を補正する前記処理を実行させるように、前記ホストコードを書き換える処理をさらに前記コンピュータに実行させる請求項1記載のシミュレーションプログラム。
- 前記ターゲットプロセッサは、第1のモードと前記第1のモードよりも動作の制限が大きい第2のモードを有し、
前記シミュレーションプログラムは、
前記主記憶アクセス命令の実行時の前記ターゲットプロセッサが前記第1のモードの場合には、前記ホストコードを生成する処理を前記コンピュータに実行させ、
前記主記憶アクセス命令の実行時の前記ターゲットプロセッサが前記第2のモードの場合には、前記ホストコードを生成する処理を前記コンピュータに実行させると共に、前記メモリデバイスの種類の判定結果に応じた補正値を用いて前記予測結果での主記憶アクセス命令の実行時間を補正する前記処理を実行させるように、前記ホストコードを書き換える処理をさらに前記コンピュータに実行させることを特徴とする請求項1記載のシミュレーションプログラム。 - ターゲットプロセッサに対するプログラムの命令実行のシミュレーションを実行する情報処理装置であって、
前記プログラムのコードに含まれる主記憶アクセス命令の処理の実行結果を予測結果として設定し、前記予測結果を前提とする命令実行の機能シミュレーションを行い、前記主記憶アクセス命令の実行タイミングを示すタイミング情報を得て、前記機能シミュレーションの結果と前記タイミング情報とをもとに、前記予測結果での主記憶アクセス命令の実行時間を算出する予測シミュレーション実行部と、
前記機能シミュレーションの結果をもとに、前記予測結果を前提とする命令実行の性能シミュレーションに用いられる、前記主記憶アクセス命令を含むホストコードを生成するコード生成部と、
前記生成されたホストコードを実行するコード実行部と、
前記ホストコードに含まれる前記主記憶アクセス命令におけるキャッシュアクセスの実行結果が前記予測結果と異なる場合に、前記主記憶アクセス命令においてアクセスする主記憶装置として用いられているメモリデバイスの種類を、前記キャッシュアクセスのシミュレーション時におけるキャッシュのアドレスに基づいて判定する判定部と、
前記メモリデバイスの種類の判定結果に応じた補正値を用いて、前記予測結果での主記憶アクセス命令の実行時間を補正して、前記機能シミュレーションでの前記主記憶アクセス命令の実行時間とする補正部と、
を備える情報処理装置。 - ターゲットプロセッサに対するプログラムの命令実行のシミュレーションを行うコンピュータが実行するシミュレーション方法であって、
前記プログラムのコードに含まれる主記憶アクセス命令の処理の実行結果を予測結果として設定する処理と、
前記予測結果を前提とする命令実行の機能シミュレーションを行い、前記主記憶アクセス命令の実行タイミングを示すタイミング情報を得て、前記機能シミュレーションの結果と前記タイミング情報とをもとに、前記予測結果での主記憶アクセス命令の実行時間を算出する処理と、
前記機能シミュレーションの結果をもとに、前記予測結果を前提とする命令実行の性能シミュレーションに用いられる、前記主記憶アクセス命令を含むホストコードを生成する処理と、
前記生成されたホストコードを実行する処理と、
前記ホストコードに含まれる前記主記憶アクセス命令におけるキャッシュアクセスの実行結果が前記予測結果と異なる場合に、前記主記憶アクセス命令においてアクセスする主記憶装置として用いられているメモリデバイスの種類を、前記キャッシュアクセスのシミュレーション時におけるキャッシュのアドレスに基づいて判定する処理と、
前記メモリデバイスの種類の判定結果に応じた補正値を用いて、前記予測結果での主記憶アクセス命令の実行時間を補正して、前記機能シミュレーションでの前記主記憶アクセス命令の実行時間とする処理と、
を備えるシミュレーション方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015247976A JP6740607B2 (ja) | 2015-12-18 | 2015-12-18 | シミュレーションプログラム、情報処理装置、シミュレーション方法 |
US15/299,509 US10671780B2 (en) | 2015-12-18 | 2016-10-21 | Information processing device that executes simulation and a simulation method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015247976A JP6740607B2 (ja) | 2015-12-18 | 2015-12-18 | シミュレーションプログラム、情報処理装置、シミュレーション方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017111768A JP2017111768A (ja) | 2017-06-22 |
JP6740607B2 true JP6740607B2 (ja) | 2020-08-19 |
Family
ID=59064487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015247976A Active JP6740607B2 (ja) | 2015-12-18 | 2015-12-18 | シミュレーションプログラム、情報処理装置、シミュレーション方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10671780B2 (ja) |
JP (1) | JP6740607B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117648226A (zh) * | 2024-01-29 | 2024-03-05 | 北京开源芯片研究院 | 一种处理器缓存的工作机制的测试方法以及装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6393540B1 (en) * | 1998-06-30 | 2002-05-21 | Emc Corporation | Moving a logical object from a set of source locations to a set of destination locations using a single command |
US7412369B1 (en) * | 2000-06-09 | 2008-08-12 | Stmicroelectronics, Inc. | System and method for designing and optimizing the memory of an embedded processing system |
US7890314B2 (en) * | 2007-12-05 | 2011-02-15 | Seagate Technology Llc | Method for modeling performance of embedded processors having combined cache and memory hierarchy |
JP5278624B2 (ja) | 2010-10-12 | 2013-09-04 | 富士通株式会社 | シミュレーション装置,方法,およびプログラム |
US8527704B2 (en) * | 2010-11-11 | 2013-09-03 | International Business Machines Corporation | Method and apparatus for optimal cache sizing and configuration for large memory systems |
JP5961971B2 (ja) | 2011-10-12 | 2016-08-03 | 富士通株式会社 | シミュレーション装置,方法,およびプログラム |
JP2013222392A (ja) | 2012-04-18 | 2013-10-28 | Mitsubishi Electric Corp | 情報処理装置および情報処理方法およびプログラム |
JP2014153965A (ja) | 2013-02-11 | 2014-08-25 | Kobe Univ | 不揮発メモリキャッシュ |
US9547594B2 (en) | 2013-03-15 | 2017-01-17 | Intel Corporation | Instructions to mark beginning and end of non transactional code region requiring write back to persistent storage |
JP6064765B2 (ja) * | 2013-04-18 | 2017-01-25 | 富士通株式会社 | シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム |
JP6163898B2 (ja) | 2013-06-11 | 2017-07-19 | 富士通株式会社 | 計算装置、計算方法、および計算プログラム |
US10452539B2 (en) * | 2016-07-19 | 2019-10-22 | Sap Se | Simulator for enterprise-scale simulations on hybrid main memory systems |
-
2015
- 2015-12-18 JP JP2015247976A patent/JP6740607B2/ja active Active
-
2016
- 2016-10-21 US US15/299,509 patent/US10671780B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017111768A (ja) | 2017-06-22 |
US20170177772A1 (en) | 2017-06-22 |
US10671780B2 (en) | 2020-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5278624B2 (ja) | シミュレーション装置,方法,およびプログラム | |
JP5961971B2 (ja) | シミュレーション装置,方法,およびプログラム | |
US9465595B2 (en) | Computing apparatus, computing method, and computing program | |
US8261251B2 (en) | Modification of array access checking in AIX | |
US10564992B2 (en) | Simulation apparatus and storage medium | |
JP2001034537A (ja) | アドレス変換回路 | |
US8949681B2 (en) | Correction apparatus, correction method, and computer product | |
JP6740607B2 (ja) | シミュレーションプログラム、情報処理装置、シミュレーション方法 | |
US20160196156A1 (en) | Simulation apparatus, simulation method, and computer product | |
US20160011889A1 (en) | Simulation method and storage medium | |
JP2004070862A (ja) | メモリ資源最適化支援方法、プログラム及び装置 | |
JP2000242529A (ja) | プログラム開発支援装置および開発支援システムおよび記録媒体 | |
Prakash et al. | Modelling communication overhead for accessing local memories in hardware accelerators | |
JP3214459B2 (ja) | シミュレーション方法及び装置 | |
van der Wijst | An Accelerator based on the ρ-VEX Processor: an Exploration using OpenCL | |
JP2000222245A (ja) | プログラム実行時間評価装置、ソースプログラム実行時間評価装置、プログラム実行時間評価方法、及びソースプログラム実行時間評価方法 | |
JP4768214B2 (ja) | コンパイル方法、及びデータ処理装置。 | |
US20150127318A1 (en) | Apparatus and method for simulating an operation of an out-of-order processor | |
JPH0234058B2 (ja) | ||
JP2000267901A (ja) | ソフトウェア実行システム | |
JP2000081981A (ja) | Cコンパイラ | |
JP2016139332A (ja) | 検証支援方法、検証支援プログラム、および検証支援装置 | |
JPH07121378A (ja) | プログラム変換装置およびプログラム変換方法 | |
JPH1166037A (ja) | シミュレータ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180810 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190424 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190528 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190723 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20190723 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20190723 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191217 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200127 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20200623 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200706 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6740607 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |