CPU実験を語る会2015

CPU実験を語る会[2015年度版]をまとめました。これからCPU実験をすることになるであろう方々の参考になればと。
0
ゆーちき @yuchiki1000yen

wasabizセンパイが概論を語ってくださる予定わず #CPU実験を語る会

2015-07-29 13:01:31
ゆーちき @yuchiki1000yen

CPU実験では進捗報告会が週一である プロジェクタートラブルでTAの心象を下げないようにすること #CPU実験を語る会

2015-07-29 13:03:12
ゆーちき @yuchiki1000yen

OoO採用理由 In orderは結構めんどくさい ・1clk=1instr.ではメモリが間に合わない ・Multicicle→命令ごとのレイテンシが異なる ・などによって実装が面倒になってきた #CPU実験を語る会

2015-07-29 13:08:17
(ρ_-)ノ @nemunemu3desu

「in-orderパイプラインは命令毎にレイテンシが異なって制御が面倒…」→「Out-of-orderで完動させちゃおう」優秀だ #CPU実験を語る会

2015-07-29 13:08:46
ゆーちき @yuchiki1000yen

OoOと投機実行の参考資料 ヘネパタ..配線図も乗っていて大変わかり易い。読み込もう Tomasuloでぐぐると出てくるスライド...resurvation stationの図がわかりやすい #CPU実験を語る会

2015-07-29 13:11:55
ゆーちき @yuchiki1000yen

CDBのarbitrationは先述資料になかった。 優先順位をつけてbus仕様要求を調停 #CPU実験を語る会

2015-07-29 13:13:37
ゆーちき @yuchiki1000yen

実装前にしたこと① ・SRAMモデルを作りこむ -レイテンシを実機と一致させる -読み書きをフックしてデバッグ -memoryを食わないようにintegerで保持するとか、signalではなくvariableを使うなど工夫した #CPU実験を語る会

2015-07-29 13:15:06
梅田 @umedaikiti

確かにRS232Cのシミュレーションは大変 #CPU実験を語る会

2015-07-29 13:16:55
ゆーちき @yuchiki1000yen

RS-232C ・実際のボーレートのほかに、超高速シミュレーションモードも実装 textio...fileOfCharcterという型を作って、byte単位で読み書きできる プログラムローダー ローダーを作ってrs232cで読み込む方式 soft実装した #CPU実験を語る会

2015-07-29 13:18:20
梅田 @umedaikiti

プログラムローダーはいろいろなプログラムを試すのに便利 #CPU実験を語る会

2015-07-29 13:18:46
HB @levelfour_

VHDLのassert文、report文でstdoutにデバッグ出力できる sigasi.com/content/vhdl-a… #CPU実験を語る会

2015-07-29 13:19:37
HB @levelfour_

VHDLのデバッグ出力は大量に出るので ・VHDLのフラグで制御 ・stdin -> file -> grep ・severity levelを調整してmsimで制御 などなど #CPU実験を語る会

2015-07-29 13:21:41
ゆーちき @yuchiki1000yen

・デバッグ出力 波形のほかに、report,assertという機能が有る 条件とメッセージを書いて、 severity を指定する。model simでon offを制御できる くないさんはreport出力をgregしてデバッグした #CPU実験を語る会

2015-07-29 13:22:12
HB @levelfour_

VHDLのMetavalue ・'X': 0 or 1 ・'U': 未初期化 ・'-': なんでもよい→最適化がかかりやすいかも ・'Z': high impedance を有効活用しよう(実機動作との整合性が高くなってデバッグしやすい) #CPU実験を語る会

2015-07-29 13:25:21
ゆーちき @yuchiki1000yen

・metavalue(0,1以外の値) Metavalueをassertで検出して、failureさせる(そこで強制終了させることができる) '-'を使うと最適化に効果が有る? 計算はstd_logicではなくnumeric_stdを使わないと挙動がおかしい #CPU実験を語る会

2015-07-29 13:25:43
HB @levelfour_

【バグ①】命令を発行したクロックと同一のクロックでCDBから通知が来ていて、通知をスルーしてしまい実行できなくなりロック #CPU実験を語る会

2015-07-29 13:29:06
ゆーちき @yuchiki1000yen

コンパイラ係 mincaml...x86 backendはきついよ spark かpowerPC向けのを参考にしたほうが幸せ #CPU実験を語る会

2015-07-29 13:31:12
HB @levelfour_

@コンパイラ係 min-camlにはx86/ppc/sparc向けが用意されているが、x86向けはとりあえずやめておいたほうがよい #CPU実験を語る会

2015-07-29 13:31:16
レプトン @Lepton_s

テスト用プログラム ・必要 ・PowerPC用のエミッタを元にすると簡単 ・サンプルとして、fibなど ・最終的にはレイトレを実行してデバッグ #CPU実験を語る会

2015-07-29 13:31:34
ゆーちき @yuchiki1000yen

レイトレのような大きなプログラムを実行して初めてわかるバグもある bufferがいっぱいになった時に起こるbug、 real timeで100ms経過後に起こるbugなど #CPU実験を語る会

2015-07-29 13:33:35
HB @levelfour_

シミュレーション環境の質をいかに上げるかというのが重要そうだ(run and debugはつらい) #CPU実験を語る会

2015-07-29 13:34:43
ゆーちき @yuchiki1000yen

続きまして、ぜぷとさんによるCPU実験概要説明です #cpu実験を語る会

2015-07-29 13:35:13
ゆーちき @yuchiki1000yen

CPU実験=プロセッサ・コンパイラ実験 プロセッサパート...班でCPUを作る(但しコンパイラ係は特殊) コンパイラパート...FLの延長をやる やること:FPGAでCPUを動かし、その上でレイトレ(3DCG処理)を動かす。 レイトレプログラムは配布される #cpu実験を語る会

2015-07-29 13:37:50