現在の位置
backup プラグインを使用中
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- 更新点/鬼斬 へ行く。
- 1 (2009-07-18 (土) 14:26:30)
- 2 (2009-07-18 (土) 16:16:26)
- 3 (2009-07-29 (水) 16:09:44)
- 4 (2009-08-14 (金) 21:53:36)
- 5 (2009-08-24 (月) 22:54:50)
- 6 (2009-09-30 (水) 22:23:36)
- 7 (2009-10-02 (金) 20:37:09)
- 8 (2009-10-20 (火) 20:17:37)
- 9 (2009-11-02 (月) 17:42:09)
- 10 (2009-12-22 (火) 21:19:09)
- 11 (2010-01-26 (火) 22:51:58)
- 12 (2010-04-15 (木) 17:56:14)
- 13 (2010-05-29 (土) 17:16:41)
- 14 (2010-10-22 (金) 17:25:42)
- 15 (2010-10-28 (木) 13:10:25)
- 16 (2012-05-29 (火) 15:50:06)
- 17 (2012-05-29 (火) 20:07:59)
- 18 (2012-06-02 (土) 06:17:57)
更新点 †
2010/10/28 rev.4240 †
- Inorder モード以外を実行するときに不要な warning が出ていたのを修正
2010/10/22 rev.4237 †
- シミュレータ
- setassoc_table の実装方法を変更
- アロケータの基本確保サイズを変更
- 変数初期化の順序を変更
- イベントリストをフリーリストを使用したものに変更
- Hook に登録可能なメソッドの種類をいくつか追加
- L1ヒットミス予測器のアップデートがL1予測以外の場合にも呼ばれていたのを修正
- PessimisticHitMissPred をデフォルトに追加
- シミュレーション側にメモリの確保と解放を通知するインターフェースを追加
- SystemIF の引数をconst 参照に
- 1つのスケジューラがいっぱいでも他が空いているとOoOにディスパッチしてしまう問題を修正
- Inorder モード時にヒットミス予測器の予測を引くように
- Inorder モード時に予測器とキャッシュを無効にできるように
- パラメータ
- スクリプト関連
- Makefile 生成スクリプトで,Makefile の再生成用コマンドの生成に失敗していたのを修正
- キューに投げた結果の自己診断機能を追加
- cfg.xml のセッション毎にEnable 属性を追加
- Kanata
- コントロールキーを押しながらホイールで拡大/縮小を行うように
2010/5/29 rev.4108 †
- Visual Studio 2010 対応
- コンパイルが通らなかったため,細かい修正が全体に渡って入っています.
- Visual Studio のプロジェクトファイル変換スクリプトが更新された際,Makefile を再生成するように変更
- GCC 用Makefile 設定で,ZLIB のリンク時のパスが間違っていたのを修正
- Inorder モードで分岐予測ヒット率とキャッシュ・ヒット率を取れるよう修正
- Cヘッダ<>XML変換スクリプトで,処理ファイル名をコマンドラインから渡せるように
2010/4/15 rev.4000 †
今回の更新点は,主にシミュレーション実行速度の向上とコードの整理です.環境にもよりますが,平均で50%程度実行速度が向上しています.
- イベント処理関連
- Dispatcher
- コードを整理
- Scheduler
- コードを整理,最適化
- Scheduler 内の仮発行フラグを構造体に移動
- Scheduler 内の仮発行フラグをdeque からvector に
- Retirer
- 一部メソッドをインライン化
- リタイアするスレッドを計算する際,剰余を使用しないように
- Retire 時にはイベントをキャンセルするのではなく,単純にクリアするように
- フック
- データ構造
- pool_list のメソッドプロトタイプがおかしかったのを修正
- pool_list のサイズを自前で管理するように
- pool_allocator に,確保したメモリ量を調べて表示できる機能を追加
- vector<bool> になっていた部分を構造体に
- アロケータ内のメモリ使用量のチェックを詳細に行うように
- Op,OpList ,OpArray 関連
- Kanata
- Kanata のログ読み込み速度を大幅に高速化
- その他
- 一部ASSERT の条件式が間違っていたのを修正
2010/1/26 rev.3842 †
- Kanata
- 右クリックやダブルクリックから拡大縮小できるように
- Kanata で任意の依存関係を表示できるように
- 拡大率を変えた後にマウスホイールをまわしても拡大率が変わらないように
- 表示色を調整
- 表示が崩れるバグの修正
- ダンプの先頭をスキップした場合に,命令数が正しく数えられていなかったのを修正
- ディペンデンシをダンプする際に,ProducerとConsumerのいずれかが範囲外ならはじくように
- Kanata 用ログのスキップ数指定をリタイア命令数で指定するように
- ログの終端でステージが完了していなかった場合,表示されていなかったのを修正
- 依存関係の表示が途中で途切れることがあったのを修正
- エミュレータ
- Alpha 21164A 以降のBWX を実装
- 標準入力を開く際のテキスト/バイナリモードをパラメータから指定できるように
- フック
- パラメータ
- シミュレータ
- InorderList のprivate フィールドをprotected に変更
- InorderList 内の OpList を隠蔽するように
- Retire 時のOp の削除をInorderList 内で行うように
- MemImageAccessParam にOpIterator を追加
- MemIF のメソッドの引数をconst MemAccess からconst MemAccess & に変更
- Dispatch 中にもOp::m_scheduler を使用するように
- op がSheduler を持っているか否かでディスパッチ済みかどうかを判定していた部分を,Op::IsDispatched で判定するように
- CoreIFとThreadIF にID を取るインターフェースを追加
- Dumper をシミュレータ内から手動で有効/無効にできるように
2009/12/22 rev.3563 †
- グローバルの命令IDをシステム全体で統一したものに変更
- Retirer 内でリタイア可能なスレッドが居なかった場合に落ちていたのを修正
- メモリ投機においてre-fetch 実行行った場合,ロード命令のチェックポイントをとるかどうかの判定が間違っていたのを修正
- MemOrderManager のインターフェースをMemOrderManagerIF に分離
- チェックポイント関連の定数,メソッド名を整理
- チェックポイント判定のメソッドをCheckpointMaster からCore に移動
- アクセスバイオレーション時のフラッシュを,選択的フラッシュから自分の後ろ全てをフラッシュするように変更
- 発行(+レジスタリード)のレイテンシを4に変更
- HookUtil にフックのエントリを簡単に書くための機構を追加
- フェッチするスレッドを選択するメソッドへのフックを追加
- フェッチできるかどうかの判定のフックを追加
- Retirer にフック箇所を追加
- チェックポイント判定のフックを追加
- パラメータで指定された物理レジスタ数が少なすぎた場合,正しくエラーが出力されていなかったのを修正
- TraceDumper に出力をフラッシュするオプションを追加
- RMT に論理レジスタの個数を取得するメソッドを追加
- ResourceArray に要素を取得するAt メソッドを追加
- gcc 用のMakefile でクリーン時に実行バイナリが削除されていなかったのを修正
- gcc 用プロジェクトで出力実行バイナリファイル名を指定できるように
- kanata の改良
- ファイルが更新されていた場合,自動的に再読み込みを行うように
- TID をグローバルなものを使用するように変更
- TID のログ出力をフェッチ時に行うように
- 分岐予測ミスでフラッシュされた部分を暗く表示するように
- ラベル部分のマウスオーバー時に,物理レジスタ番号と値,命令のニーモニックなどを表示するように
- スレッド毎にバックグラウンドに色をつけるように
- ダンプをコア毎/スレッド毎に出すよう制御できるように
- ログにヘッダーとファイルバージョンを入れるように変更
- ログファイル内のID を,グローバルシリアルIDではなくて,ファイル内シリアルIDを使用するように変更
- c header <> XML 変換スクリプトを改良
- ファイルの日付が異なった場合,処理を中断するのではなく,確認を取るように変更
- 行末がたまにずれていたのを修正
- 入力ファイルの修正時刻が出力より新しい場合,確認を行うように
2009/11/2 rev.3333 †
- gcc の最適化オプションをO3からO2に変更
- 一部環境でboost のコンパイル時にエラーがでていた模様
- gccで,初回Make時に失敗するバグを修正
- 内部メッセージ(バージョンとか)を表示しないオプションを追加
- 内部メッセージの表示先(ファイル)を指定するオプションを追加
- setassoc_table にreplacer とhasher へのアクセッサを追加
- RMT 内のレジスタの確保/解放部分にHook を追加
2009/10/20 rev.3292 †
- ユーザー定義外部命令デコーダが正しく動作していなかったのを修正
- Pipeline, PipelineNode のメソッド名を変更
- Thread のTID を扱いが間違っていたのを修正
- 各Thread オブジェクトにTID が振られていなかったのを修正
- LoadParam をINIT_PRE_CONNECTION 以前で呼び出した場合にエラーで落とすように
- エラー時に再帰的なエラーの表示を行わないように変更
- 最初に投げられたエラーのみを表示するように
- boost を1.40.0 に更新
- STL のdeque とstack をプリコンパイルドヘッダに追加
- HitMissPred をHitMissPredIF に変更
- 依存予測器まわりのコードを整理
- resource のスペルミスを修正
- MakeCfg .xml 編集時に,一度clean をかけるように変更
- MSVC でのビルド時に余計なメッセージが表示されていたのを修正
- 一部バージョンのgcc でコンパイルが通らなくなっていたのを修正
- 不要なinclude を削除
- 未使用の変数が残っていたのを削除
- RMT 内の変数初期化順序がおかしかったのを修正
- RMT のインターフェースからPID を削除
- SystemManager 内でシミュレーションやエミュレーションを行っている部分をオーバーライド可能なように分離
- SystemManager の各メソッドをvirtual に
- Main.cpp にテストコードが混じっていたのを削除
2009/10/2 rev.3195 †
- ユーザー定義外部命令デコーダが,エミュレーション時にうまく機能していなかったのを修正
2009/10/1 rev.3189 †
- システム・コールのデバッグ・コードを改良
- システム・コール fstat の実装がおかしかったのを修正
- エミュレータのスキップ実行を高速化
- スキップ実行された命令数を表示するように変更
- ダンプファイル名を決定する際,Envrionment/@HostWorkPath を考慮するように変更
- 時刻関係のシステム・コールのエミュレーションにおいて,実行命令数から時刻を計算するモードを実装
- 時刻関係のシステム・コールのエミュレーションにおいて,ホストの時計を使うかどうかを選択できるように
- ユーザー定義外部命令デコーダの実装
- Inorder モードの場合でも,命令のスキップを行えるように変更
- ヒットミス予測のバグを修正
- 変更前: 先頭から見ていき,数字の空きがあった場合に,そこを新しいセッション番号として使用
- 変更後: 最も数字の大きいセッションの次の番号を使用
- 構造定義XML 内のCopy 属性のCount が間違っていたのを修正
- Cヘッダ<>XML変換スクリプトで,変な位置にスペースが入っていたのを修正
2009/08/14 rev.3102 †
- ヒットミス予測器のデフォルトを,静的予測(ヒット)に変更
- カウンタベースの予測器にバグがあるための暫定措置
- エクスポート時,ライセンス文の後に改行を入れるように変更
- AutoRunTools の改良
- summary.pl で,要素数の異なるCSV 間でデータを集計することが可能な様に変更
- 出力の表示をソートするように変更
2009/07/29 rev.3092 †
- boost のアーカイブを自動的に展開するように変更
2009/07/18 rev.3083 †
- エクスポート時にLF が混じってしまっていたのを修正
- アーカイブにboost のzip が入ってしまうようになっていたのを修正
- 各コア内のスレッドが全て終了した際にエラーで落ちていたのを修正
- SimulationSystem 内で,実行が終了したコアの処理をスキップするように変更
- SysDeps /STL/unordered_map の読み込み位置を変更
- boost のコンパイルスイッチを有効にしてから読み込むため
- パラメータのサンプル内に余計なダブルクォート が残っていたのを修正
- サンプルのXML がおかしかったのを修正
- シミュレーションモードのデフォルト値が間違っていたのを修正
- AutoRunTools のサンプルを,最新版に即したものに変更
2009/07/14 rev.3073 †
- boost を最新版に
- boost のアーカイブの展開をやり直さければいけないので,注意.
- gcc 4.4.0/4.3.3 で出るようになった細かい警告への対処
- unordered_map の実装を変更
- boost 内のunordered_map を使用するように変更