Table of Contents |
概要 †
- 鬼斬はマルチコアやSMTのシミュレーションをサポートしている
- 今のところ,完全に独立した複数のプロセスの実行のみをサポート
実装済みの要素 †
- マルチコア(非対称含む)
- SMT
- 共有キャッシュ
未実装の要素 †
- プロセスやスレッド間の通信,同期
- プロセスやスレッドの動的な作成
- メモリ・モデル
- キャッシュ・コヒーレンス
基本的な設定の方法 †
- ここでは,簡単な設定方法の例についてのみ述べる
- マルチスレッド実行のために設定を行う必要がある場所は主に以下の2カ所である
- リソース生成数
- 実行バイナリなどの起動プロセスの設定
- ここでリソースとは,コアやスレッド,分岐予測器や実行ユニットなどの資源を表す
リソース生成数の指定 †
- リソースの生成は,Constant内で定義された定数(あるいは数字)を用いて,Structure/Copy以下で指定された方法により行われる
- 詳細については,仕様/その他/リソースの生成と接続の項を参照
- 以下はリソース数の設定例
1コア/2スレッドSMT †
2コア/シングルスレッド †
2コア/2スレッドSMT †
起動プロセスの指定 †
- 基本的には,以下のようにしてEmulator/Processes 以下で複数のプロセス情報を記述することにより設定
<Processes> <Processs Command='a.out' ... > <Processs Command='b.out' ... > </Processes>
- 詳細はEmulator の項を参照
- 実際には,以下のようにしてプロセス情報が記述されたXML を複数インポートすると良い
- この例は,gzipとvprを起動する場合の例
<Session> <Import> <File Path="benchmark/SPECCPU2000_INT/alpha64/cmd/164.gzip-train.0.xml" /> <File Path="benchmark/SPECCPU2000_INT/alpha64/cmd/175.vpr-train.0.xml" /> </Import> ...
- この例は,gzipとvprを起動する場合の例
その他の設定 †
非対称マルチコアの設定方法 †
- 複数のCopy ノードを作成することにより,それぞれのコアの構成が異なるマルチコアのシステムを作ることが出来る
- コア構成ごとにCopy ノードを作成し,Configuration ノード以下に配置する
- (そのように実装したので理論上できるはずですが,試していないので誰かテストしてみてくださいお願いby塩谷
共有キャッシュ †
- キャッシュの生成数を指定することにより,複数コア間でキャッシュを共有できる
- 共有L2キャッシュを設定する場合,以下のノードのCount を1にすると複数コア間で1つのL2キャッシュが共有される
<Cache Name = 'cacheL2' Count='CoreCount'>
- Count に1以外を指定した場合,システム全体でその数のL2キャッシュが生成され,接続される
- 関連ページ
- 仕様/その他/リソースの生成と接続1255日前
ツールボックス
メニュー
最新の20件
最新の20件
2022-12-31
2022-09-24
2022-01-26
2019-09-17
2019-07-11
2018-07-12
2018-05-09
2018-02-07
2017-10-27
2017-10-15
2017-05-01
2017-03-27
2015-12-24