JPH08180094A - アーキテクチャ・シミュレータ - Google Patents

アーキテクチャ・シミュレータ

Info

Publication number
JPH08180094A
JPH08180094A JP6324556A JP32455694A JPH08180094A JP H08180094 A JPH08180094 A JP H08180094A JP 6324556 A JP6324556 A JP 6324556A JP 32455694 A JP32455694 A JP 32455694A JP H08180094 A JPH08180094 A JP H08180094A
Authority
JP
Japan
Prior art keywords
memory
model
timing
system call
information
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.)
Granted
Application number
JP6324556A
Other languages
English (en)
Other versions
JP2663893B2 (ja
Inventor
Tatsuya Minagawa
達哉 皆川
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP6324556A priority Critical patent/JP2663893B2/ja
Publication of JPH08180094A publication Critical patent/JPH08180094A/ja
Application granted granted Critical
Publication of JP2663893B2 publication Critical patent/JP2663893B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 アプリケーション実行時の計算機の動作を詳
細に解析、性能のボトルネックになる部分を検出する。 【構成】 システムコール機能モデル11は、OSの関数
であるシステムコール部の動作モデルを格納する。動作
モデルは各システムコールを実行する際の実行インスト
ラクション列により表現される。システムコール時に引
数を伴うものは、引数を変数として、動作モデルが記述
される。システムコール解析モジュール12は、実行アプ
リケーション101 が実行しているインストラクション列
からシステムコール部を検出し、システムコール機能モ
デル11を参照しシステムコールを実行インストラクショ
ン列に展開、付加して拡張インストラクション列103 を
出力する。拡張インストラクション列は、システムコー
ル部も実行インストラクション列に展開されており、実
行するインストラクションの参照関係は全て解決されて
いる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、計算機システムに関
し、特に、計算機システムのアーキテクチャ、性能解析
行うアーキテクチャ・シミュレータに関するものであ
る。
【0002】
【従来の技術】近年の半導体技術の発展に伴い、様々な
計算機システムが考案され、実用化されている。
【0003】初期の計算機システムは、構成が比較的単
純であったため、その処理能力は、中央演算装置(CPU)
のみに依存していたが、さらなる処理能力向上のため、
階層的なメモリ構造、多重バス、ライト・バッファ(wr
ite Buffer)等そのアーキテクチャは複雑化しつつあ
る。その結果、計算機システムの性能は、中央演算装置
(CPU) 自体の処理能力だけではなく、前記メモリ、バ
ス、I/O 等計算機全体のアーキテクチャに強く依存する
ようになった。このため、計算機を開発、ないしは特定
の計算機でプログラムを高速に動作させるためには、ア
ーキテクチャに合わせてプログラムを最適化、あるいは
プログラムに合わせてハードウエアの最適化する必要が
ある。
【0004】以上のような背景の下、事前にハードウエ
アの動作をシミュレーションにより求め、その動作を最
適化するためのシミュレーション手段としてアーキテク
チャ・シミュレーションの技術が注目されつつある。
【0005】従来のアーキテクチャ・シミュレータは、
例えば、スタンフォード大学発行テクニカルレポート
“Tango:A Multiprosessor Simulation and Tracing Sy
stem (YML-TR-90-439)”に示すように、プログラム実行
時のインストラクション列をロジックアナライザ等のト
レーサを使用して採取し、別プログラムで解析を行うト
レースドリブン方式で構成される。例を図4に示し、動
作を説明する。
【0006】従来のアーキテクチャ・シミュレータは、
計算機を構成するプロセッサエレメントおよびメモリシ
ステムの機能および動作を定義したPE・メモリ機能モ
デル41と、プロセッサエレメントの動作上のタイミング
情報を定義したPEタイミングモデル42と、メモリの部
分的なタイミング情報を格納した部分的なメモリ・タイ
ミングモデル43と、詳細なメモリのタイミング情報を格
納したメモリ・タイミングモデル45と、前記メモリタイ
ミングモデル45を基に、メモリの動作をシミュレートす
るメモリ・タイミングシミュレータ46により構成され
る。
【0007】複数のプロセッサエレメントからなる計算
機のアーキテクチャをシミュレーションする際、実行イ
ンストラクション列は、アドレスジェネレータ44がPE
・メモリ機能モデル41、PEタイミングモデル42を参照
しながら各プロセッサエレメントの実行インストラクシ
ョンをトレースデータ402 として出力する。共有メモリ
へのアクセス等、プロセッサ間の調停が必要な場合は部
分的なメモリ・タイミングモデル43を参照してそのアク
セス順序を決定する。トレースデータ採取後、メモリ・
タイミングシミュレータ46が、各トレースファイル402
およびメモリ・タイミングモデル45を参照しながら、各
プロセッサエレメントの動作を決定する。
【0008】
【発明が解決しようとする課題】上述した従来のアーキ
テクチャ・シミュレータは、シミュレーション方式が比
較的簡単であり、単一プロセッサエレメントのシミュレ
ーションの場合、十分な精度が確保できる等の利点があ
る反面、後処理では、インストラクション列を逐次翻訳
しながら処理を進めるため処理速度が遅く、部分的なメ
モリ・タイミングモデルを使用しているため、マルチプ
ロセッサシステムの詳細な動作解析が困難である、ま
た、トレースファイルを作成するための膨大な容量の記
憶装置を必要とするという欠点があった。
【0009】
【課題を解決するための手段】本発明のアーキテクチャ
・シミュレータは、計算機システムのシステムコール部
の機能および動作を定義したシステムコール機能モデル
と、実行プログラムの命令から前記システムコール部を
検出し、前記システムコール機能モデルを参照し、前記
計算機の動作を決定するシステムコール解析モジュール
と、前記計算機を構成するプロセッサエレメントおよび
メモリシステムの機能および動作を定義したPE・メモ
リ機能モデルと、プロセッサエレメントの動作上のタイ
ミング情報を定義したPEタイミングモデルと、前記シ
ステムコール解析モジュールが決定した前記計算機の動
作情報と、前記PE・メモリ機能モデルおよび前記PE
タイミングモデルにより定義された機能・タイミング情
報より、前記計算機が参照するメモリアドレスを決定
し、参照メモリアドレス情報を生成するアドレスジェネ
レータと、前記計算機のメモリシステムの動作上のタイ
ミング情報を格納したメモリ・タイミングモデルと、前
記アドレスジェネレータの決定した前記参照メモリアド
レス情報と前記メモリ・タイミングモデルにより、前記
メモリシステムの動作を決定するメモリ・タイミングシ
ミュレータを含んで構成される。
【0010】
【実施例】次に、本発明の実施例について、図面を参照
して詳細に説明する。
【0011】図1は、本発明のアーキテクチャ・シミュ
レータの一実施例を示すブロック図である。11はシステ
ムコール機能モデル、12はシステムコール解析モジュー
ル、13はPEタイミングモデル、14はPE・メモリ機能
モデル、15はアドレスジェネレータ、16はメモリ・タイ
ミングモデル、17はメモリ・タイミングシミュレータで
ある。
【0012】システムコール機能モデル11は、オペレー
ティングシステム(OS)の関数であるシステムコール部の
動作モデルを格納する。動作モデルは各システムコール
を実行する際の実行インストラクション列により表現さ
れる。システムコール時に引数を伴うものは、引数を変
数として、動作モデルが記述される。システムコール解
析モジュール12は、実行アプリケーション101 が実行し
ているインストラクション列からシステムコール部を検
出し、システムコール機能モデル11を参照しシステムコ
ールを実行インストラクション列に展開、付加して拡張
インストラクション列103 を出力する。拡張インストラ
クション列は、システムコール部も実行インストラクシ
ョン列に展開されており、実行するインストラクション
の参照関係は全て解決されている。PEタイミングモデ
ル13はPE( プロセッサ・エレメント) のバスアクセ
ス、メモリアクセス等のタイミング情報を格納してお
り、参照することによって動作時にPEが生成する各種
動作のタイミング情報を得る。PE・メモリ機能モデル
14は、PEおよびメモリの機能的なモデルを格納され、
参照アドレス情報よりPEとメモリの機能的な動作を決
定する。アドレスジェネレータ15は、拡張インストラク
ション列103 を入力し、インストラクション列の中から
メモリ、I/O アクセス情報を抽出し、PE・メモリ機能
モデル14をアクセス104 し、PEとメモリの動作を決定
する。さらに、決定した動作に基づき、PEタイミング
モデル13をアクセス105 し、バスアクセス時刻、メモリ
アクセス時刻等のPEの動作上のタイミングを解決す
る。このタイミングに基づき、メモリ・タイミングシミ
ュレータ17をアクセス106 し、メモリアクセスのタイミ
ング問題を解決する。共有メモリ型マルチプロセッサの
場合、共有変数のアクセス競合で動作が大きく異なる場
合があるが、アドレスジェネレータ15が厳密に各PEの
動作時刻を管理しているため、正確にシミュレートする
ことができる。このように、アーキテクチャのシミュレ
ーションを実行し、各プロセッサ毎のトレース情報108
を出力する。メモリ・タイミングモデル16は、アクセス
タイム等のメモリの動作タイミングモデルを格納する。
メモリ・タイミングシミュレータ17は、メモリ・タイミ
ングモデル16を参照107 し、メモリアクセス時のタイミ
ングを解決する。
【0013】メモリ・タイミングシミュレータ17の詳細
な構成例を図2に示す。21はキャッシュモデル、22はバ
スモデル、23はメモリモデル、24はI/O モデルである。
この構成は、シミュレーション対象となるハードウエア
・アーキテクチャに依存しているので、シミュレートす
るハードの構成に応じてモデルを用意する必要がある。
メモリアクセス情報106 は、キャッシュモデル21に入力
され、キャッシュヒット/ ミスヒットが判定される。ミ
スヒットの場合、メモリアクセス情報106 はバスモデル
22に入力される。バスモデル22では、バス遅延に基づ
き、アクセス時刻にバス遅延を加え、参照アドレスによ
りメモリモデル23、I/O モデル24が参照される。メモリ
モデル23では、メモリのアクセス時間が加算され、メモ
リアクセス情報106 の終了時刻が決定される。I/O モデ
ル24では、各種I/O のアクセス時間が加算され、メモリ
アクセス情報106 の終了時刻が決定される。
【0014】図3に本発明のアーキテクチャシミュレー
タの運用例を示す。シミュレーション対象となるアプリ
ケーションは一般的な手順でコンパイルされ、アセンブ
ラコードに変換される(ステップ1)。アセンブラコー
ドは前記システムコール解析モジュールによりシステム
コール部が抽出され、システムコールの実行インストラ
クションが拡張される(ステップ2)。拡張インストラ
クションはアセンブラによりバイナリに変換され(ステ
ップ3)、リンク時にPEタイミングモデル、PE・メ
モリ機能モデル、アドレスジェネレータ、メモリ・タイ
ミングシミュレータとリンクされ実行モジュールとなる
(ステップ4)。プログラムは実行すると、アプリケー
ションコードは、従来と同じく直接実行され、メモリア
クセス時は、本発明のアーキテクチャシミュレータがサ
ブルーチンとして呼び出され、アーキテクチャの評価を
行う。
【0015】
【発明の効果】以上説明したように、本発明のアーキテ
クチャ・シミュレータは、シミュレーション対象のアプ
リケーションにアークテクチャシミュレータをリンクし
直接実行するため、処理速度の低下がほとんどなく、メ
モリ・タイミングモデルにより厳密にタイミング情報を
管理しているため、マルチプロセッサの共有メモリ動作
を正確に評価する事が可能であり、シミュレーション時
にトレースファイル作成が不要なため、トレースデータ
格納のための記憶装置が不要になるという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例を示すブロック図である。
【図2】図中のメモリ・タイミングシミュレータを例示
するブロック図である。
【図3】本発明のアーキテクチャシミュレータの運用例
を示す図である。
【図4】従来例を示すブロック図である。
【符号の説明】
11 システムコール機能モデル 12 システムコール解析モジュール 13 PEタイミングモデル 14 PE・メモリ機能モデル 15 アドレスジェネレータ 16 メモリ・タイミングモデル 17 メモリ・タイミングシミュレータ 21 キャッシュモデル 22 バスモデル 23 メモリモデル 24 I/O モデル

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 計算機システムのシステムコール部の機
    能および動作を定義したシステムコール機能モデルと、
    実行プログラムの命令から前記システムコール部を検出
    し、前記システムコール機能モデルを参照し、前記計算
    機の動作を決定するシステムコール解析モジュールと、
    前記計算機を構成するプロセッサエレメントおよびメモ
    リシステムの機能および動作を定義したPE・メモリ機
    能モデルと、プロセッサエレメントの動作上のタイミン
    グ情報を定義したPEタイミングモデルと、前記システ
    ムコール解析モジュールが決定した前記計算機の動作情
    報と、前記PE・メモリ機能モデルおよび前記PEタイ
    ミングモデルにより定義された機能・タイミング情報よ
    り、前記計算機が参照するメモリアドレスを決定し、参
    照メモリアドレス情報を生成するアドレスジェネレータ
    と、前記計算機のメモリシステムの動作上のタイミング
    情報を格納したメモリ・タイミングモデルと、前記アド
    レスジェネレータの決定した前記参照メモリアドレス情
    報と前記メモリ・タイミングモデルにより、前記メモリ
    システムの動作を決定するメモリ・タイミングシミュレ
    ータを含むことを特徴とするアーキテクチャ・シミュレ
    ータ。
  2. 【請求項2】 前記メモリ・タイミングシミュレータに
    おいて、メモリアクセス情報が、キャッシュモデルに入
    力され、キャッシュヒット/ ミスヒットが判定され、ミ
    スヒットの場合、メモリアクセス情報がバスモデルに入
    力され、前記バスモデルでは、バス遅延に基づき、アク
    セス時刻にバス遅延を加え、参照アドレスによりメモリ
    モデル、I/O モデルが参照され、前記メモリモデルで
    は、メモリのアクセス時間が加算され、メモリアクセス
    情報の終了時刻が決定され、前記I/O モデル24では、各
    種I/O のアクセス時間が加算され、メモリアクセス情報
    の終了時刻が決定されることを特徴とする請求項1記載
    のアーキテクチャ・シミュレータ。
JP6324556A 1994-12-27 1994-12-27 アーキテクチャ・シミュレータ Expired - Lifetime JP2663893B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6324556A JP2663893B2 (ja) 1994-12-27 1994-12-27 アーキテクチャ・シミュレータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6324556A JP2663893B2 (ja) 1994-12-27 1994-12-27 アーキテクチャ・シミュレータ

Publications (2)

Publication Number Publication Date
JPH08180094A true JPH08180094A (ja) 1996-07-12
JP2663893B2 JP2663893B2 (ja) 1997-10-15

Family

ID=18167136

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6324556A Expired - Lifetime JP2663893B2 (ja) 1994-12-27 1994-12-27 アーキテクチャ・シミュレータ

Country Status (1)

Country Link
JP (1) JP2663893B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6507809B1 (en) 1998-04-09 2003-01-14 Hitachi, Ltd. Method and system for simulating performance of a computer system
WO2004055672A1 (ja) * 2002-12-18 2004-07-01 Fujitsu Limited 性能シミュレーション装置、性能シミュレーションプログラムおよび性能シミュレーション方法
JP2010146194A (ja) * 2008-12-17 2010-07-01 Fujitsu Ltd シミュレーション方法、シミュレーション装置およびシミュレーションプログラム
JP2011081623A (ja) * 2009-10-07 2011-04-21 Fujitsu Ltd シミュレーション装置、方法およびプログラム
JP2017111768A (ja) * 2015-12-18 2017-06-22 富士通株式会社 シミュレーションプログラム、情報処理装置、シミュレーション方法
JP2022190627A (ja) * 2021-06-14 2022-12-26 東芝情報システム株式会社 メモリ性能測定シミュレーション装置及びメモリ性能測定シミュレーション用プログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6507809B1 (en) 1998-04-09 2003-01-14 Hitachi, Ltd. Method and system for simulating performance of a computer system
WO2004055672A1 (ja) * 2002-12-18 2004-07-01 Fujitsu Limited 性能シミュレーション装置、性能シミュレーションプログラムおよび性能シミュレーション方法
JP2010146194A (ja) * 2008-12-17 2010-07-01 Fujitsu Ltd シミュレーション方法、シミュレーション装置およびシミュレーションプログラム
JP2011081623A (ja) * 2009-10-07 2011-04-21 Fujitsu Ltd シミュレーション装置、方法およびプログラム
JP2017111768A (ja) * 2015-12-18 2017-06-22 富士通株式会社 シミュレーションプログラム、情報処理装置、シミュレーション方法
JP2022190627A (ja) * 2021-06-14 2022-12-26 東芝情報システム株式会社 メモリ性能測定シミュレーション装置及びメモリ性能測定シミュレーション用プログラム

Also Published As

Publication number Publication date
JP2663893B2 (ja) 1997-10-15

Similar Documents

Publication Publication Date Title
US7558719B1 (en) System and method for runtime analysis of system models for variable fidelity performance analysis
US5960198A (en) Software profiler with runtime control to enable and disable instrumented executable
US9507688B2 (en) Execution history tracing method
JP3480973B2 (ja) 並列処理システムの動作解析装置
US20020184615A1 (en) System and method for selectively and automatically modifying the source code of a computer program
US6467082B1 (en) Methods and apparatus for simulating external linkage points and control transfers in source translation systems
US7096322B1 (en) Instruction processor write buffer emulation using embedded emulation control instructions
US6038391A (en) Method and apparatus for evaluating performance of multi-processing system and memory medium storing program for the same
WO2017114472A1 (en) Method and apparatus for data mining from core traces
US6856951B2 (en) Repartitioning performance estimation in a hardware-software system
JP2009539186A (ja) ハードウエアエミュレーションシステムのプロセッサを同期化する方法及び装置
JP2663893B2 (ja) アーキテクチャ・シミュレータ
Yuan et al. Automatic enhanced CDFG generation based on runtime instrumentation
Cheung et al. Framework for fast and accurate performance simulation of multiprocessor systems
Jerraya et al. SYCO—a silicon compiler for VLSI ASICs specified by algorithms
JP2919406B2 (ja) 性能評価方法
US20050251795A1 (en) Method, system, and program for optimizing code
JP3647287B2 (ja) マルチプロセッサ・システムの性能評価方法および装置
JPH10221410A (ja) Lsiの自動論理検証方式
Wang et al. Uniform SystemC Co-Simulation Methodology for System-on-Chip Designs
JP2005332110A (ja) シミュレーションシステム
Gavrilov et al. Method of simulation the asymmetric memory access for solving synchronization problems in multiprocessor systems
CN118171707A (zh) 一种基于卷积神经网络微处理器的虚拟原型平台
Duenha et al. Mpsocbench: A benchmark suite for evaluating multiprocessor system-on-chip tools and methodologies
JP2001256079A (ja) ソフトウェアのデバッグ方法および論理回路のデバッグ方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19970520