CPUを自作したりコンピューターアーキテクチャを理解するためにおすすめの本の一覧

hikaliumの独断と偏見で、積読は除いている。最近も結構新しい本が色々出ているので、それもいいかもしれないが、ある程度評価の定まった本を探したい場合に参考になれば。

ちなみに、hikaliumがセキュキャンでCPU自作を教えていたときのコードはここにある。参考にならないかもしれないが、おまけにどうぞ。

github.com

ディジタル回路設計とコンピュータアーキテクチャ

ハードウエア記述言語で実際にCPUをつくりながら、各アーキテクチャについても学べる良書。

MIPS版が広く知られているが、ARM版、RISC-V版も登場している。無印版はよくある技術書サイズだが、ARMとRISC-V版は大型本なので、そこらへんの好みとかも勘案するとよいかもしれない。

CPUの創り方

表紙がメイドさんだが、侮ることなかれ。(と私は中学生の時にクラスの人々の前で言いました。)

電子工作初心者の人々にもわかりやすく、回路素子の基本的な扱い方や、データシートの読み方も教えてくれる、実装寄りの良書。

74HCシリーズのICが手に入りにくいという現代的な事情はあるが、等価な回路を上の本などを参考にしつつVerilog-HDLで記述したりすれば、FPGAボードひとつでも等価なものを十分につくることができる。

RISC-V原典 オープンアーキテクチャのススメ

きれいなアーキテクチャで知られるRISC-Vの設計思想の背景や、どうしてその設計が選択されたのか、という思考の背後を知ることができる本。もう少し高いレベルからCPUのことを知りたかったり、RISC-Vについて知りたい場合には役立つ。

コンピュータアーキテクチャ 定量的アプローチ

通称ヘネパタ。大学でこの本を参考にキャッシュの特性を調べるグラフを描画する課題が出て、面白いなあと思った記憶がある。

めちゃくちゃ教科書的な内容なので、読むのは大変だし最初から最後まで読むタイプの本ではないが、持っておいて損はない。ペラペラめくったり目次をみて、興味のあるところや、参考になりそうなところを読む、辞書的な使い方をするのがよい。

作りながら学ぶコンピュータアーキテクチャ

上の方の本の翻訳にも携わっておられる、天野先生の著書。他の本では忘れられがちな、割り込み処理の実装方法が記述されているとネットで聞いて自分も購入した。

絶版本なので手に入れるのは少し大変。図書館などにあるかどうか、確認してみるのも手かもしれない。

上の分厚い辞書みたいな本たちにくらべたら、薄くて読みやすそうな見た目をしているので、一見の価値はある。

FPGAの原理と構成

いま気づいたがこれも天野先生の著書じゃん。おそらくCPU自作をはじめる最も手軽な方法はFPGAを用いることだが、じゃあFPGAって一体どうやって動いているの?というところの疑問を解決してくれる本。これも小さめ技術書によくあるサイズ感なので、電車の中でも読みやすいのでおすすめ。