CPUの創り方

本書は秋葉原等で手に入る程度の電子部品を組み合わせ
4bitCPU / 16BytesMemory を実際に作成する手順と
その電子回路図を紹介する本です(鬼
以下、Amazonレビューより
ノイマン型コンピュータを自作する・・・名著かも
このふざけた表紙イラスト。
電車の中で読むにはあまりに恥ずかしい表紙の本書。
ではありますが、レビューアー(わたし)の様に何十年も計算機(コンピュータ)を生業にする人間からみると本書はとても良く出来た計算機ハードウェア概論(詳論?)に思えます。良書というより名著かも知れません。
まず4ビットCPUです。メモリは16バイト(16キロバイト/16メガバイト/16ギガバイトではない)です。
アドレス空間も4ビット分しかないからです。
それでもIOポートを制御し、フォン・ノイマン型CPUとして必要不可欠な機能は一通り揃っています。
これを「自作」しようというのです。
たった13種類の
アホみたいにシンプルなICを買ってきて
半田付けしながら。
CPUの基本クロックは1ヘルツです。
1キロヘルツとか1メガヘルツとか1ギガヘルツじゃあございません。
この「性能」で、でもCPUとは何かということが、それこそしっかり学べる仕組み・内容になっています。
素晴らしいとしか形容できません。
月刊XXマガジン等のパソコン雑誌で製品情報・パーツ情報に少し詳しくなり、パソコンやコンピュータのことを判った積もりでいるそこの貴方!
コンピュータ(計算機)というのは実はこういう考え方・理念・理屈で作られてるんですよ、ということを鮮やかに示してくれる、本書は教養書なのです。
是非読んでみて御覧なさい。貴方のコンピュータ理解がずっと深まりますよ。
本来あるはずで実は無かった入門書
マイコンが普及した時にはCPUは既にワンチップのブラックボックスで、CPU内部をどうこうしようとは誰も思いませんでした。
しかしそれに至るまでには、数多くの構造が考案され消えて行きました。
本書でのプログラムROMに当たる部分はENIAC時代の物ですが、現在でも立派に動きますし、演算部も汎用TTLを使って極力単純化され、小学生でも理解できる内容となっているのは秀逸です。
挿絵がネックになる事を作者も気にしていますが、結構年配な私でも楽しく読めました。
作者はハード屋としては一風変わった見方をされる方のようで、今まで当たり前に使ってきた部品が別の視点で解説されるのは新鮮でした。
世代に係わらず読んで頂きたい一冊です。
RAMへのアクセスについて触れられていればベスト
まず始めに、表紙の絵だけを見て買わないようにしてください。
これでも(失礼)技術解説書です(笑)
この本で取り上げられているCPUに使われている部品は汎用のものばかりなので、その気になれば誰でも作ることができるでしょう。
ただし、汎用品を使う分配線が大変(特にROMの部分は圧巻!)ですから、その点は覚悟しておいた方がいいでしょう。
その割には実用性に乏しいので、過度の期待は禁物です。
たぶんENIACの足下にも及びません(苦笑)
とはいえ、論理回路やCPUコアの部分はもとより、部品の基礎知識から汎用マイコンなどを使用する上でも十分役立つ周辺回路のノウハウまでが事細かに解説されており、これからデジタル回路をいじってみようという向きにはピッタリでしょう。
私は典型的なアナログ回路屋の頭ですが、(一応論理回路の基礎くらいはわきまえているつもりですが)そんな私でも十分理解できます。
このように至れり尽くせりの内容ですが、RAMへのアクセスについて触れられていないのは少々残念です。
できるだけ簡単に、という制約はあったのでしょうが、RAMにアクセスしないCPUはまず存在しないので、終盤にある機能拡張編で少しでもいいから触れて欲しかったです。
蛇足ですが、(表紙を見れば察しがつくと思いますが)全体的におちゃらけた表現になっています。
その方がかえって親しみやすいかもしれませんが、それが気になるという向きには読まない方が無難です。
皆が皆、表紙にツッコミつつ
内容は褒め称える・・・。
これは買いでは無かろうか!?
いや、URIは持ってるけどね。

try { var fAction=false; var fAllow=true; var sCLSName=null; var isIE=(document.documentElement.getAttribute("style")==document.documentElement.style); var sCLSXNm="class"; if(isIE) { sCLSXNm="className"; } var aryElsKr=document.getElementsByTagName("font"); for(var vdx=0;vdx