動かしてわかる CPU の作り方 10 講(ウゴカシテワカルシーピーユーノツクリカタジュッコウ)
- 著者:
- 井澤裕司(イザワユウジ)
- 出版社:
- 技術評論社
- 出版日:
- 2019年08月21日頃
- ISBN:
- 9784297108212
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
■野村達雄氏 (『ポケモン GO 』開発者) 推薦!!
「簡潔明瞭な文章でソフトウェアからトランジスタまで漏れなく解説。
CPU をゼロから設計して FPGA で実装する、
僕の人生を変えた井澤先生の講義がパワーアップして本になった!」
■シンプルな CPU を例に、エミュレータの作成、 FPGA 上への実装、実用的な応用までを、やさしくていねいに解説します。 10 講で、基礎から応用までしっかり動かして実感できる、 CPU 設計の紙上講義です。
【第 I 部 シンプルな CPU を作ってみよう!】
第 1 講 ソフトウェアから CPU の動作をイメージする
第 2 講 シンプルな CPU のアーキテクチャを決定する
第 3 講 C 言語を用いて CPU の動作をエミュレートする
第 4 講 論理回路の基礎を復習する
第 5 講 ハードウェア記述言語の VHDL を用いて回路を表現する
第 6 講 FPGA 評価ボード上で簡単な回路を動作させる
第 7 講 VHDL を用いて CPU を設計する
第 8 講 FPGA 評価ボード上で CPU を動作させる
【第 II 部 より実用的な CPU を目指して!】
第 9 講 プログラムを独立化しメモリを実装する
第 10 講 パイプライン処理により高速化する
技書の森解説
ソフトウェアエンジニアにとって CPU は究極のブラックボックスです。命令がどう取り出され、演算器で処理され、結果がレジスタに書き戻されるのか。本書は井澤裕司氏が、その過程を論理回路レベルから 10 講で積み上げて CPU を自作する体験を提供します。加算器・マルチプレクサ・レジスタファイルといった基本要素から出発し、最終的に命令フェッチからライトバックまでを行う簡易プロセッサを構築します。
FPGA (MAX10) 上で実際に動作させることを前提とした構成のため、シミュレーションだけで終わらず、自分が設計した回路が物理的に動く実感を得られます。論理回路やブール代数の基礎が分かっていれば読み始められますが、デジタル回路の学習経験がまったくない場合は、組み合わせ回路と順序回路の基本を別途押さえてから取り組むとスムーズです。
本書で作る CPU は教育目的の簡易設計であり、パイプラインやキャッシュ、分岐予測といった実用プロセッサの機構は範囲外です。しかし、「命令セットの設計が回路構成をどう制約するか」「クロックの概念がなぜ必要か」を自分の手で確かめたという経験は、コンピュータアーキテクチャの教科書を読む際の解像度を格段に上げてくれます。
言及 Qiita 記事 (5 件)
言及 Zenn 記事 (3 件)
関連記事
本に出てくるサンプルコードは動かしてみよう
本に載っているサンプルコードは、読むだけでなく実際に動かすと理解度が段違いに上がります。動かし方のコツと、うまくいかないときの対処法を紹介します。
OS・低レイヤー本ガイド - コンピュータの仕組みを学ぶ技術書の選び方
OS、コンパイラ、ネットワークなど低レイヤーを学べる技術書の 4 ジャンルと、どこから始めるべきかの指針、賞味期限の見極め方を紹介します。
本を読んだらすぐパソコンを開こう
プログラミングの本を読んだら、すぐにパソコンを開いて手を動かしましょう。読むだけでは身につかない理由と、読んだ直後にやるべきことを紹介します。
関連用語
C4 Model
ソフトウェアアーキテクチャを 4 つの抽象レベルで図示するモデル
オニオンアーキテクチャ
ドメインロジックを中心に据え、外側の層が内側に依存する同心円状のアーキテクチャ
クリーンアーキテクチャ
ビジネスロジックを外部の技術的詳細から分離し、依存関係を内側に向けることで変更に強い設計を実現するアーキテクチャ原則
アーキテクチャ
システム全体の構造設計。コンポーネントの分割と関係を決める最上位の設計判断
YAGNI
You Aren't Gonna Need It - 今必要でない機能を先回りして実装しない原則
KISS 原則
Keep It Simple, Stupid - 設計をできるだけシンプルに保つことを求める原則