現在の位置
backup プラグインを使用中
- バックアップ一覧
- 現在との差分 を表示
- ソース を表示
- バックアップ を表示
- 仕様/ビジュアライザ/ログのフォーマット へ行く。
- 追加された行はこの色です。
- 削除された行はこの色です。
*関係あるソース [#r369df22]
-onikiri2側でログを出力しているのはVizualizationDumper
-KanataPPのMainForm.csの中でログを解釈
-出力する側と解釈する側でフォーマットの合意が必要
*ログのおおまかな約束事 [#u9dc3681]
-1行ずつ解釈する
-時間の粒度はサイクル単位
-ログは時間と共に進行
--Dumperのサイクルを進めてしまったら、もう前のサイクルにイベントを追加できない
---主にKanataPP側の都合
*1行のフォーマット [#u9dc3681]
-1行は複数の列からなる
--タブが区切り文字
-1列目は固有の識別子(行ラベル)
--2列目以降は1列目の識別子に従って解釈する
**現在使われている行ラベル [#tf7c8f5c]
***C= [#m5b43836]
-シミュレーション開始からの経過サイクル数を指定
-使用例:
C= 7
-ログファイルの先頭にしか現れない
-Kanataの表示には反映されない
***C [#c83ec5a5]
-前回ログ出力時からの経過サイクル数を指定
-使用例:
C 1
-次のC行が現れるまでのログは全てこのタイムドメインに属する
-大体毎サイクル何かしらログが出力されるので、C 1ばかりになる
***L [#c83ec5a5]
-特定の命令に関するログ出力の開始
-使用例:
L 0 0 0 12003ffa0 r64 = ADDR(r30)
-命令に関するログを出力する前にこれが必要
-2列目はログファイル内の一意のID
-3列目は命令のID
-4列目はTID(スレッド識別子)
-5列目は任意の命令の情報(命令アドレスやOpコード,レジスタ番号など).これはそのままKanata に表示される.
***S [#o7cab2d9]
-ステージ開始
-使用例:
S 0 F
-2列目は命令の一意のID
-3列目はステージ名
--onikiri2側で新しいステージを勝手に追加しても大丈夫
***E [#nec6ef26]
-ステージ終了
-使用例:
E 0 F
-2列目は命令の一意のID
-3列目はステージ名
***SL [#m8323937]
-ストール開始
-使用例:
SL 0
-2列目は命令の一意のID
***ESL [#z6561496]
-ストール終了
-使用例:
ESL 0
-2列目は命令の一意のID
***R [#ob57d622]
-特定の命令に関するログ出力の終了
-使用例:
R 4 4 0
-フラッシュの場合もリタイアの場合もRを出力する必要がある
-2列目は命令のシリアルID
-3列目はリタイアID
--onikiri2はフラッシュされる命令にも投機的にリタイアIDを振るため,リタイアIDは重複する場合がある
-4列目はリタイア/フラッシュの識別
--0ならリタイア
--1ならフラッシュ
-5列目はコメント
***W [#o4369339]
-任意の依存関係
--典型的にはウェイクアップ
--タイプ番号の指定により,違う色で表示される
-使用例:
W 1 0 0
-2列目はコンシューマーのID
-3列目はプロデューサーのID
-4列目は依存関係のタイプ
--0ならウェイクアップ
--1以降は今のところ予約
-コンシューマーが生きている期間のみ使用可能
(文責:堀尾)