Download - 自作コンピューターでなんかする - 第八回 カーネル/VM探検隊&懇親会
自作コンピューターでなんかする(仮)
@hktechnoつくばの森に住み始めて 5年目
(但し、まだ卒業できてない)
未踏 2011 でなんかやってた。
最近全然違うことしてて辛い。
@cpu_labs がハードウェア担当してます。
僕は、Verilog 書いてません。
自作PC != 自作コンピュータ
本格的自作コンピューター
自作コンピューターというのであれば、CPU から作らなければ!
・命令セット・MMU・IOコントローラ
全部作る
mist32 アーキテクチャ
ハードウェアとソフトウェアの協調動作
OS を支援する機能をたくさん載せる
アウトオブオーダー実行
回路規模は大きくなるが速くなる
独自の命令セット
アウトオブオーダー実行に最適化
MIST1032ISAIn Order Execution : 6-StageDebugger Interface35000 Logic Elements(Altera Cyclone IV)
MIST1032SAOut of Order Execution : 9-Stage2-Issue / 4-Execute / 3-CDBRegister Renaming / Re Order BufferSpeculative Execution120000 Logic Elements(Altera Cyclone IV)
mist32 の目標
アセンブラとバイナリ00000470 <genrand_int31>:
470: 11 00 03 c0 push rbase
474: 11 00 03 e0 push rret
478: 18 00 03 c0 srspr rbase
47c: 0e e0 03 a0 lih rtmp,0x0
480: 0d 40 47 a0 wl16 rtmp,0x220
484: 20 70 03 e2 movepc rret,8
488: 14 40 03 a0 b rtmp,#al
48c: 08 30 00 01 shr r0,0x1
490: 12 00 03 e0 pop rret
494: 12 00 03 c0 pop rbase
498: 14 40 03 e0 b rret,#al
call
return
32bitaddr
ソフトウェアとか
gccふつーのコンパイラ
binutilsアセンブラとか
シミュレータ命令実行するだけコンパイラのバグつぶし
newlibちゃんと動いてない
gdb手付かず...
llvmやりたい
mruby 載せたい
UART (シリアル) ついてる
タイマーついてるとりあえずコンパイルできれば動くらしい。
何かできそう。
最終的に OS 載せたいけど、いつになるかな...
これからやろうとしてること
● Out of Order コアを動かす○ DE2-115 は諦めて、DE3 を買った
● MMU や割り込み・IO 周りのテスト○ 多分、バグが大量に出てくる○ ソフトウェアのバグなのか、ハードウェアのバグなのか、
責任の押し付け合い問題
● ベンチマーク取る○ 現状の Dhrystone の数値がおかしい(バグ?)
● SD カード対応○ スライドが現状13枚分しか入らない
● DMA 対応
DE3 用拡張ボード
詳しくはこちらhttp://open-arch.org/
(ググっても出て来ません)
https://github.com/technohttp://github.com/cpulabs