JP2001249829A - システムシミュレータ - Google Patents

システムシミュレータ

Info

Publication number
JP2001249829A
JP2001249829A JP2000065694A JP2000065694A JP2001249829A JP 2001249829 A JP2001249829 A JP 2001249829A JP 2000065694 A JP2000065694 A JP 2000065694A JP 2000065694 A JP2000065694 A JP 2000065694A JP 2001249829 A JP2001249829 A JP 2001249829A
Authority
JP
Japan
Prior art keywords
cache
access
simulator
information
processing
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
JP2000065694A
Other languages
English (en)
Inventor
Nobutaka Takahashi
宜孝 高橋
Yuichiro Morita
雄一朗 守田
Eiko Naya
英光 納谷
Takanori Yokoyama
孝典 横山
Hiromichi Endo
浩通 遠藤
Yuji Sugaya
祐二 菅谷
Masahiro Ohashi
正博 大橋
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2000065694A priority Critical patent/JP2001249829A/ja
Publication of JP2001249829A publication Critical patent/JP2001249829A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】キャッシュ模擬手段がCPUモデル内に実装さ
れている場合、キャッシュの構成の変更が困難である。
また、キャッシュの仕様を変更してシミュレーションを
実行する場合、シミュレート処理全体を再実行する必要
がある。また、多階層のキャッシュを構成した場合、そ
のキャッシュに関する評価を行うことが容易ではなかっ
た。 【解決手段】本発明のシステムシミュレータは、命令シ
ミュレータの中に補足情報付きアクセス情報を出力する
手段を有し、キャッシュシミュレータの中に補足情報付
きアクセス情報を入力する手段と、補足情報付きアクセ
ス情報を出力する手段と、を有する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はシステムシミュレー
タに関するものであり、更に詳細には中央演算処理装置
(CPU)のキャッシュの動作を模擬するための装置に関
するものである。
【0002】
【従来の技術】従来のシミュレータの技術としては、特
開平10−187484号公報に開示されたものがある。アプリ
ケーションプログラムをシミュレータで実行することに
より、キャッシュのヒット率やミス率、あるいはプログ
ラムの実行サイクル数を知ることができ、この情報をプ
ログラムの改善に役立てることができる。
【0003】
【発明が解決しようとする課題】しかしながら上記従来
例に開示された技術では、キャッシュ模擬手段はCPU
モデル内に実装されており、キャッシュの構成の変更が
困難である。また、キャッシュの仕様を変更してシミュ
レーションを実行する場合、シミュレート処理全体を再
実行する必要がある。
【0004】また、上記従来例に開示された技術では、
多階層のキャッシュを構成した場合、そのキャッシュに
関する評価を行うことが容易ではなかった。
【0005】
【課題を解決するための手段】上記課題を解決するた
め、本発明のシステムシミュレータは、命令シミュレー
タの中に補足情報付きアクセス情報を出力する手段を有
し、キャッシュシミュレータの中に補足情報付きアクセ
ス情報を入力する手段と、補足情報付きアクセス情報を
出力する手段と、を有する。
【0006】
【発明の実施の形態】以下、本発明の実施例を図面を参
照して詳細に説明する。
【0007】はじめに図1を用いて、本発明のシステム
構成について説明する。
【0008】図1(a)に、本発明の実施例の処理を行
うためのシステムの構成を示す。また、図1(b)に、
図1(a)のシステムの概観図を示す。
【0009】演算装置0101は、ディスク装置010
3からプログラムを読み込み、一時ファイルをディスク
装置0103に書き出し、または読み出し、最終結果を
ディスク装置0103に書き出す。また演算装置010
1は、キーボード0107及びマウス0106からの入
力を受け取り、表示装置0102に画像を出力する。ま
た演算装置0103は、ネットワークインタフェース0
105を制御し、ネットワーク0108を経由して他演
算装置と、情報の交換が可能になっている。
【0010】次に図2を用いて、シミュレーション対象
システムについて説明する。前記シミュレーション対象
システムは、図1のシステム上に仮想的に構築されたも
のである。
【0011】図2(a)において、主記憶0201は、
一般にRAMとROMから構成されている。例えば、シ
ミュレーション対象システムを初期化後、ROM内のプ
ログラムがCPUによりRAM内へ転送され、RAM上
のプログラムをCPUが実行する、といった処理が行わ
れる。本実施例では、RAMはSDRAMであり、L1
(第1レベル)キャッシュとL2(第2レベル)キャッ
シュはSRAMとキャッシュコントローラにより実現さ
れている。
【0012】CPU0207は主記憶0201に格納さ
れたプログラムの各命令を解釈し、実行し、その結果を
主記憶に書き戻すといった動作を繰り返し行う。その
際、命令及びデータを読み込むためのアクセスと、デー
タを書き出すためのアクセスとは、信号線0206を経
由して行われる。
【0013】L1キャッシュ0205は、信号線020
6からライトまたはリードのアクセス要求を受け取り、
リード要求の場合はリードデータを信号線0206へ出
力する。前記アクセス要求がミスした場合には、信号線
0204を通じてアクセス要求を出す。
【0014】L2キャッシュ0203は、信号線020
4からライトまたはリードのアクセス要求を受け取り、
リード要求の場合はリードデータを信号線0204へ出
力する。前記アクセス要求がミスした場合には、信号線
0202を通じてアクセス要求を出す。
【0015】主記憶0201は、信号線0202からの
アクセス要求を受け取り、リード要求の場合はリードデ
ータを信号線0202へ出力する。
【0016】なお、シミュレーション対象が図2(b)
の構成であったとしても、図2(a)の構成との違いはレ
イテンシの違いだけであるため、本発明のシミュレータ
による模擬は可能である。
【0017】次に図3を用いて、本発明の処理の全体の
流れを説明する。
【0018】命令シミュレーション実行処理0301
は、シミュレーション対象システム上で実行するプログ
ラムを入力とし、実行トレース及びCPUからL1キャ
ッシュへのアクセスログを出力する処理である。
【0019】L1キャッシュ処理0302は、CPUか
らL1キャッシュへのアクセスログを入力とし、L1キ
ャッシュからL2キャッシュへのアクセスログを出力す
る処理である。
【0020】L2キャッシュ処理0303は、L1キャ
ッシュからL2キャッシュへのアクセスログを入力と
し、L2キャッシュから主記憶へのアクセスログを出力
する処理である。
【0021】主記憶処理0304は、L2キャッシュか
ら主記憶へのアクセスログを入力とし、主記憶動作ログ
を出力する処理である。
【0022】総サイクル数計算処理0305は、030
1から0304の各処理の計算結果を元に、命令シミュ
レーション処理0301で実行されたプログラムの実サ
イクル数を計算する処理である。
【0023】次に図4を用いて、命令シミュレーション
実行処理0301について説明する。
【0024】実行プログラム読み込み処理0401は、
シミュレーション対象システム上で実行するプログラム
をファイルより読み込む処理である。
【0025】1命令実行処理0402は、1命令読み込
み、内部のパイプライン処理を1フェーズ進める。
【0026】トレース出力処理0403は、実行トレー
ス及びCPUからL1キャッシュへのアクセスログを出
力する処理である。このとき、アクセスログには、命令
アクセスにはinstという文字列を、データアクセスには
dataという文字列を、付加して出力する。
【0027】シミュレーション終了判断処理0404
は、実行プログラムの終了を判断する処理である。
【0028】なお、ここで述べた命令シミュレーション
実行処理0301は、上記の「CPUからL1キャッシュ
へのアクセスログ」を除けば、サイクルベースシミュレ
ーションとも呼ばれる、特開平11−66037 号公報等に開
示された従来技術である。上記の「CPUからL1キャ
ッシュへのアクセスログ」には、アクセス種別情報を含
み、これは従来からある技術とは異なり新規なものであ
る(前記アクセスログについての詳細は後述)。
【0029】次に図5を用いてL1キャッシュ処理につ
いて説明する。
【0030】キャッシュ仕様読み込み処理0501は、
キャッシュ仕様をディスク装置0103から読み込む。本実
施例のL1キャッシュは、命令キャッシュとデータキャ
ッシュのそれぞれが、1ライン32バイト,256エン
トリ,2ウェイ構成の16KBのキャッシュとする。
【0031】1行入力処理0502は、CPUからL1
キャッシュへのアクセスログを1行読み込む。
【0032】タグテーブル処理0503は、L1キャッ
シュのタグテーブル部分をシミュレートし、ヒットした
か否かの判定と、ヒットカウンタ及びミスカウンタの更
新を行う。またL1キャッシュは、命令キャッシュとデ
ータキャッシュを分けて持つ構成とし、ヒットカウンタ
とミスカウンタを命令キャッシュ用とデータキャッシュ
用の2組持っている。
【0033】アクセスログ出力処理0504は、L1キ
ャッシュミス時及びL1キャッシュのライトバック動作
時に、L1キャッシュからL2キャッシュへのアクセス
要求のログを出力する。ログには、L1キャッシュミス
時にはL1missという文字列を、L1キャッシュのライ
トバック動作時にはL1writeback という文字列を、付
加して出力する。
【0034】終了判定処理0505は、入力されるアク
セスログの終了を判定する。
【0035】次に図6を用いてL2キャッシュ処理につ
いて説明する。
【0036】キャッシュ仕様読み込み処理0601は、
キャッシュ仕様をディスク装置0103から読み込む。本実
施例のL2キャッシュは、命令とデータが同じキャッシ
ュを利用するユニファイドキャッシュであり、1ライン
32バイト、256エントリの8KBのキャッシュとす
る。
【0037】1行入力処理0602は、CPUからL2
キャッシュへのアクセスログを1行読み込む。
【0038】タグテーブル処理0603は、L2キャッ
シュのタグテーブル部分をシミュレートし、ヒットした
か否かの判定と、ヒットカウンタ及びミスカウンタの更
新と、を行う。L2キャッシュは、L1キャッシュと異
なり、命令キャッシュとデータキャッシュの区別はな
く、いわゆるユニファイド型のキャッシュ構成とする。
そのため、ヒットカウンタとミスカウンタは1組しかな
い。
【0039】アクセスログ出力処理0604は、L2キ
ャッシュミス時及びL2キャッシュのライトバック動作
時に、L2キャッシュから主記憶へのアクセス要求のロ
グを出力する。ログには、L2キャッシュミス時にはL
2iss という文字列を、L2キャッシュのライトバック
動作時にはL2ritebackという文字列を、付加して出力
する。
【0040】終了判定処理0605は、入力されるアク
セスログの終了を判定する。
【0041】ここでL1キャッシュまたはL2キャッシ
ュの仕様を変更した場合の再シミュレーションの方法に
ついて述べる。L1キャッシュの仕様を変更した場合に
は、ディスク装置0103に保存されたCPUからL1
キャッシュへのアクセスログ情報を元に、図3のL1キ
ャッシュ処理0302から処理を行えばよい。L2キャ
ッシュの仕様を変更した場合には、ディスク装置010
3に保存されたL1キャッシュからL2キャッシュへの
アクセスログ情報を元に、図3のL2キャッシュ処理0
303から処理を行えばよい。
【0042】次に図7を用いて主記憶処理0304につ
いて説明する。
【0043】主記憶仕様読み込み処理0701は、主記
憶仕様をディスク装置0103から読み込む。
【0044】1行入力処理0702は、L2キャッシュ
から主記憶へのアクセスのログを1行読み込む。
【0045】主記憶モデル処理0703は、SDRAM
モデルの動作処理を行う。
【0046】動作ログ出力処理0704は、前記SDR
AMモデルがいかに動作したかということを出力する。
【0047】入力終了判定処理0705は、入力される
アクセスログの終了を判定する。
【0048】次に図8を用いて、総サイクル数計算処理
0305について説明する。
【0049】仮実行サイクル数読み込み処理0801
は、0301から0304までの結果ファイルから実行
サイクル数を計算するために必要なデータを読み込む。
【0050】オーバーヘッド計算処理0802は、L1
キャッシュのミスと、L2キャッシュのミスによるオー
バヘッドを計算する。
【0051】総サイクル数出力処理0803は、シミュ
レーション対象のプログラム実行にかかったサイクル数
をディスク装置0103へ出力する。
【0052】図9を用いて、アクセスログについて説明
する。
【0053】図9(a)は、CPUからL1キャッシュ
へのアクセスのログである。(1)から(4)まで4回
のアクセスが示されており、「0x」で始まる16進数
はアドレスを示している。その右隣の列の4または2
は、アクセス長(データの長さ)を示している。さらにそ
の右隣の列のdataまたはinstは、そのアクセスがデータ
アクセスなのか、あるいは命令アクセスなのかというこ
とを示している。これにより、L1キャッシュシミュレ
ータ内で、命令キャッシュ処理とデータキャッシュ処理
とを分けて行うことができる。
【0054】図9(b)は、L1キャッシュからL2キ
ャッシュへのアクセスのログである。図9(a)に比べ
て、さらに右1列が増えている。ここにはL1miss,L
1write_back,L1uncache と書かれているが、これは
それぞれ「L1キャッシュミスによるアクセス」「L1
キャッシュのライトバックアクセス」「L1キャッシュ
のアンキャッシュ領域アクセス」ということを示してい
る。
【0055】図9(c)は、L2キャッシュから主記憶
へのアクセスのログである。図9(b)との違いは、最
右の列が“,”が入った表記になっていることである。
ここにはL1miss,L2miss,L1uncache,L2uncac
heと書かれているが、これはそれぞれ「L1キャッシュ
ミスが原因のL2キャッシュアクセスで、L2キャッシ
ュもミスした」「L1キャッシュのアンキャッシュ領域
アクセスにおいて、L2キャッシュでもアンキャッシュ
領域であった」ことを示している。
【0056】図9(a)から(c)において、(a)の
最右に1列の空列があるとみれば、(a)から(c)は
同じフォーマット(アドレス,アクセス長,データ種
別,キャッシュ情報)であり、フォーマットが統一され
ていることがわかる。この統一化により、多階層キャッ
シュの容易なシミュレーションが可能となっている。
【0057】図9(d)は、主記憶動作ログである。ここ
にはアドレス0x12340000と、0x42340
00との、2回の32バイト長のデータアクセスが記録
されている。
【0058】
【発明の効果】以上本発明によれば、命令シミュレーシ
ョン手段と、キャッシュシミュレーション手段とが分割
されて実装されており、キャッシュの構成の変更が容易
である。また、キャッシュの仕様を変更してシミュレー
ションを実行する場合、キャッシュ部分のみのシミュレ
ーションを実行すればよく、命令シミュレーションは再
実行しなくてよい。
【0059】また、キャッシュシミュレーション手段の
入力と、出力のフォーマットが統一されているので、多
階層キャッシュのシミュレーションが容易である。
【図面の簡単な説明】
【図1】本発明のシミュレータを実行するシステムの全
体構成である。
【図2】本発明のシミュレータが対象とするメモリ構成
の例である。
【図3】本発明のシミュレータの全体フローである。
【図4】命令シミュレーション処理の全体フローであ
る。
【図5】L1キャッシュ処理の全体フローである。
【図6】L2キャッシュ処理の全体フローである。
【図7】主記憶処理の全体フローである。
【図8】総サイクル数計算処理の全体フローである。
【図9】アクセスログの例である。
【符号の説明】
0101…演算装置、0103…ディスク装置、020
7…CPU、0205…L1キャッシュ、0203…L
2キャッシュ、0201…主記憶、0301…命令シミ
ュレーション処理、0302…L1キャッシュ処理、0
303…L2キャッシュ処理、0304…主記憶処理、
0305…総サイクル数計算処理。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 納谷 英光 茨城県日立市大みか町七丁目1番1号 株 式会社日立製作所日立研究所内 (72)発明者 横山 孝典 茨城県日立市大みか町七丁目1番1号 株 式会社日立製作所日立研究所内 (72)発明者 遠藤 浩通 茨城県日立市大みか町七丁目1番1号 株 式会社日立製作所日立研究所内 (72)発明者 菅谷 祐二 茨城県ひたちなか市大字市毛882番地 株 式会社日立製作所計測器グループ内 (72)発明者 大橋 正博 茨城県ひたちなか市大字市毛882番地 株 式会社日立製作所計測器グループ内 Fターム(参考) 5B005 JJ11 LL01 LL11 MM05 UU32 VV03 VV04 VV24 5B042 GA15 GA33 HH07 HH20 MA08 MB01 MC01 MC28 MC33 MC40 5B048 AA19 DD14

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】演算装置のシミュレータにおいて、前記シ
    ミュレータは補足情報付きアクセス情報を出力すること
    を特徴とする演算装置シミュレータ。
  2. 【請求項2】キャッシュメモリのシミュレータにおい
    て、前記シミュレータは補足情報付きアクセス情報を入
    力することと、前記シミュレータは補足情報付きアクセ
    ス情報を出力することと、を特徴とするキャッシュメモ
    リシミュレータ。
  3. 【請求項3】請求項1から3において、補足情報とはア
    クセスが命令アクセスか、データアクセスか、を示す情
    報であことを特徴とする、シミュレータ。
JP2000065694A 2000-03-06 2000-03-06 システムシミュレータ Pending JP2001249829A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000065694A JP2001249829A (ja) 2000-03-06 2000-03-06 システムシミュレータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000065694A JP2001249829A (ja) 2000-03-06 2000-03-06 システムシミュレータ

Publications (1)

Publication Number Publication Date
JP2001249829A true JP2001249829A (ja) 2001-09-14

Family

ID=18585178

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000065694A Pending JP2001249829A (ja) 2000-03-06 2000-03-06 システムシミュレータ

Country Status (1)

Country Link
JP (1) JP2001249829A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009050768A1 (ja) * 2007-10-15 2009-04-23 Fujitsu Limited シミュレート方法、電子装置の設計方法、シミュレートプログラムおよびシミュレーション装置
US9465595B2 (en) 2013-06-11 2016-10-11 Fujitsu Limited Computing apparatus, computing method, and computing program
US9880841B2 (en) 2014-01-07 2018-01-30 Fujitsu Limited Computation method for computing performance value when processor executes code, computation apparatus for computing performance value when processor executes code, and computer readable storage medium storing computation program for computing performance value when processor executes code

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009050768A1 (ja) * 2007-10-15 2009-04-23 Fujitsu Limited シミュレート方法、電子装置の設計方法、シミュレートプログラムおよびシミュレーション装置
JP4634525B2 (ja) * 2007-10-15 2011-02-16 富士通株式会社 シミュレート方法、シミュレートプログラムおよびシミュレーション装置
US8428927B2 (en) 2007-10-15 2013-04-23 Fujitsu Limited Simulation method and simulation apparatus
US9465595B2 (en) 2013-06-11 2016-10-11 Fujitsu Limited Computing apparatus, computing method, and computing program
US9880841B2 (en) 2014-01-07 2018-01-30 Fujitsu Limited Computation method for computing performance value when processor executes code, computation apparatus for computing performance value when processor executes code, and computer readable storage medium storing computation program for computing performance value when processor executes code

Similar Documents

Publication Publication Date Title
US8725485B2 (en) Simulation method and simulation apparatus
Wood et al. An in-cache address translation mechanism
US8457943B2 (en) System and method for simulating a multiprocessor system
JPS62245442A (ja) 情報処理装置
JP2005276201A (ja) コード・カバレッジ用のハードウェア支援を使用する自律テスト・ケース・フィードバックのための方法および装置
CN100392623C (zh) 用于从地址高速缓存去除条目的方法和设备
JP2012247827A (ja) プログラム生成装置、プログラム生成方法及びプログラム
JPH02234242A (ja) 部分書込み制御装置
JP2001249829A (ja) システムシミュレータ
JP3766339B2 (ja) 入出力制御装置及びコンピュータシステム
Mawer et al. The potential of dynamic binary modification and CPU-FPGA SoCs for simulation
JPH1173329A (ja) ソフトウエア開発支援システム
JP2000148584A (ja) プリフェッチ方法および装置
JP2006172234A (ja) システム性能評価方法およびシステム性能評価装置
JP2000215104A (ja) Way別hit/missカウンタおよびそのカウント方法
WO2018168264A1 (ja) 情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム
JPH10187484A (ja) シミュレータ
JP2004240783A (ja) シミュレータ
JPH0773132A (ja) 内部メモリマップレジスタを観察する方法及び装置
JPH0217552A (ja) 性能データ計測方式
JP2002334128A (ja) 半導体集積回路の消費電力シミュレーション方法
JPH06149669A (ja) キャッシュデータ転送方式およびキャッシュデータ転送装置
JPH0298754A (ja) 主記憶制御方式
Crisu An architectural survey and modeling of data cache memories in verilog hdl
Rothman et al. Analysis of shared memory misses and reference patterns