HoppeSoft

やわらかコーディング

近況メモとか・FPGAに俺CPU載せたい

 生存報告も兼ねて今やってる諸々について

・OS自作(猫又本)関係は一時休戦
・DE0-CV買いました(楽しい!)
・(なるべく)フルスクラッチで俺CPU実装
・俺アセンブラと俺言語で俺OSつくりたい

 アセンブラとかOS関係の書籍を何冊か漁っているうちに、『多様なアーキテクチャを自在に操る』というのは自分のやりたいこととはどうも違うなあ……と思い始めた。それはそれでかっこいいし、処理速くするためのチューニング技術とかいいなあとは思うんだけど、自分がより興味をそそられるのってやっぱり『どのようにしてコンピュータは動くのか?』的な要素なのかなと。

 思えば『PC自作』ってワードを何かの拍子に(たぶん本屋とか)知った時、「PCって作れるの!?」なんて感心したんだけど蓋を開けてみたら手差しでパーツ組み立てるだけでなんだか期待外れなんてことがありました(決してPC自作をdisってるわけではなくて自分の期待値が高すぎた)。それでも先人の知識というのは本当に馬鹿にならなくて、実は個人レベルでコンピュータ作れるんだよとご教示いただけたわけです。これがやりたかったんだよ。

 そんなこんなで、FPGAに俺CPU(というか俺SoC?)を載せたい。というかやりたいばっかり言っててもしょうがないのでもう作ってる。16bitのCPUで、今VRAM周辺をいじってる(メモリはリソース馬鹿食いするから色数減らすか解像度抑えるかで悩んでる)。SDRAMは怖くて触れてない……ので一通り完成したら使おうかなあ。
 実は命令セット-機械語はほぼほぼ決まっているからアセンブラ(みたいなの)はもうできちゃいつつある。最近Pythonに惚れ込んでるからこれで書いてる。遅いから使わないとか言う人もいるけど、プロトタイプというか、思いついたことをすぐ実行できる形に作り上げるのはすごく向いてると思うの、Python。それとこっから俺言語作って俺OSまでもっていきたいんだけど、それはPythonですべきかすごく悩んでる。Plyみたいなlex/yaccPythonで書けるで!というのもあるし。まあ悩んでる時間も楽しいんですが。

 とりあえずSoCある程度完成したら何らかの形でお披露目したいなと思ってます。薄い本も出したいなあ。