「作って学ぶCPU設計入門」について
書籍化しました
本ページの内容を元に大幅に加筆修正して書籍化しました.
作って学ぶCPU設計入門 - エミュレータでよくわかる!内部動作とAHDL設計・FPGA実装
第1章 コンピュータの基礎
第2章 エミュレータによる動作理解
第3章 回路シミュレータを用いたK‐COMの設計
第4章 ハードウェア記述言語を用いたK‐COMの設計
第5章 K‐COMの拡張
第6章 汎用CPUのアーキテクチャとPCのハードウェア
付録 本書で使用したツールやソースファイルの入手方法
演習問題の解答例
「書籍化に際しての変更点」
1章,2章について,以前から学校のホームページとVectorに公開したK-COMのマニュアルを大幅に加筆修正してまとめました.
K-COM公開時は「シミュレータ」と読んでいたのですが,本書をまとめるに当たり,「エミュレータ」と呼ぶことにしました.機能的に同じコンピュータを以降の章で作成するので,エミュレータの呼称で問題ないことと,3章の「回路シミュレータを用いた・・・」のシミュレータとの混同を避けるためです.
3章について,本ブログではCircuitMakerを使った回路作成について説明してありますが,CircitMakerが既に販売されていないことから,書籍にこれを使うことはできないと出版社の指摘から,4章以降でも使うQuartusIIのSchematic用いて回路作成しました.CircuitMakerはGUIでリアルタイムの動作を見れるので直感的には良いのですが,QuartusIIの場合はピンの波形で動作を確認することになり少し面倒です.しかし,時間的に波形を追って動作を確認するには良いと思います.
4章について,このブログではいきなり全回路の記述を示していますが,書籍の方では,機能的なパーツに分け,詳細な説明を加えています.いまさらAHDL?との声が聞かれますが,本書の論理回路を意識した解説の手順からはAHDLによる説明が直感的に分りやすいと思ったことが主な理由です.本書の趣旨はCPUをブラックボックスでなくすことですので,主流の言語にこだわらず書いてみました.
5章の内容に関しては、題材としたK-COMは8ビットで最小限の機能しかありませんから,これを拡張して見ることで,汎用のCPUの概念にも理解を拡げてもらおうという趣旨と6章へのつなぎ的内容です.具体的には,8ビットを16ビット化して,アドレス空間の拡張,命令の追加,サブルーチン処理,割り込み機能を持たせる拡張を行っています.
6章についてはブログには触れていませんが,タイトル通り簡潔にまとめてあります.
最後に,このブログは書籍と内容がかぶっているところが多いですが,書籍のサポートのページではありません.
(正式なサポートのページは森北出版内にあります.こちら)とはいえ,書籍の不備や間違い,問題点などのご指摘をいただければ出来る限り(能力と時間が許す範囲で)対処させていただきたいと思っております.
残念ながら...
せっかく書籍化されたのですが、初版の一部が売れ残り在庫整理、重版未定のまま在庫切れで、現在は実質廃版の状態になってしまって購入できません。
ESP32 Wifi Bluetooth開発ボード |
Arduino Nano Every |
Raspberry Pi pico |
FPGA XILINX Artix-7 |