CPUをゼロから設計しよう!

本書ではオリジナルのCPUをゼロから設計することで、CPUの内部構造を理解するとともに、CPU設計の面白さを読者に伝えていきたいと考えています。

本書はCPUの設計をメインターゲットとしていますが、CPUだけでなく周辺機器を制御するためのI/Oやバスの設計を行い、SoC(System-on-a-Chip)としました。CPUだけでなく、ボードの設計やソフトウェアの設計までコンピュータに必要な要素を全てカバーします。ハードウェアからソフトウェアまで全てを自分でゼロから設計・実装し、実機で動かします。CPUの設計から基板の設計、そしてソフトウェアの設計までを1冊の書籍で扱うことで、それぞれの関連性を包括的に理解することを可能にしています。

CPUの実装にはFPGA(Field Programmable Gate Array)を使用します。開発ツール等は無償のものを使用し、電子部品は読者が実際に作ることを考慮し、入手性が高い物を選定しました。製作コストは極力安くなるように配慮しました。

また、CPU及びI/O、バス等に関してはHDL(Hardware Description Language)のソースコードを、ソフトウェアに関してはプログラムのソースコードを、弊社のWebサイトの本書サポートページで公開しています。ただし基板に関しては本書に付録として付けるのではなく、既製品をリファレンスモデルとすることで対応しています。これにより、読者の興味に応じて作りたい部分だけを作るという読み方を可能にしています。

本書は学ぶことよりも実際に製作することに重点を置いており、⁠実際に製作することの楽しさ」を知る、ということが他の技術書と異なる大きなアピールポイントです。FPGAを用いてCPUを設計・実装し、基板製作を行い、ソフトウェアの開発を行う、これらすべての工程を自らの手で行うという趣旨の書籍は他に例がありません。雑誌の付属のマイコンをPCでプログラミングして動かすといった手軽な開発よりも達成感が得られると考えています。

本書のメインターゲットとなるのは、情報系や電気電子系分野の大学生や高専生としています。また、そういった分野を目指す中高生や、コンピュータに興味のある一般の読者にも広く読んでもらえるように配慮しています。簡単に読める、簡単に理解できるとは言えませんが、意欲を持って読めば充分に理解できる内容であると考えます。

本書は3章構成です!

第1章のCPUの設計では、CPU、メモリ、I/O、さらにそれらを接続するバスを設計し、ハードウェア記述言語Verilog HDLによって実装します。最終的にはそれらを組み合わせて簡単なコンピュータを作成します。

第2章の基板設計では、製作したCPUやソフトウェアを動作させるための実機を製作します。CPUの実装にはFPGAと呼ばれる、内部構造を書き換えることができるICを利用します。製作の手順は、まず必要な部品を選定し、回路図・配線図を作成します。その後に実際のプリント基板を製作します。

第3章のソフトウェア設計では、設計したCPU用のプログラムを作成し、製作した基板でプログラムを動作させます。サンプルプログラムを用いて、CPUやI/Oの使い方を説明し、製作した基板を使ってプログラムを動かします。

自分の手で製作しよう!

本書では「何ができるか」よりも「実際に自分の手で製作すること」に重点を置いているため、あまり高度なデモを用意していません。しかし、コンピュータに関わる全ての部分を自分の手で自作するということは、市販のマイコン基板を動作させるだけでは得られない達成感があります。また、現在、マイコンなどを利用して電子工作をしている読者にとっても、論理設計や基板設計、ソフトウェア設計に対してより理解が深まるはずです。ありものの部品だけでは必要な機能が実装できないケースは多々あります。そんなときに本書を読み直していただけると幸いです。