CPUの創り方 [PC]
しばらく前に、slashdot.jpにいろいろ書いてあったときに 目に留まって、しばらく忘れていて。で、 会社で業務とは全く関係ない8086のアーキテクチャや コードセットの話をしたときに思い出したので、 CPUの創りかた という本をAmazon.comで注文しました。中身は メモリエリア16バイト 4bitレジスタ2本、 IOポート二つ、0d-22" という4bit CPU を実際に設計して組み立てるステップをわかりやすく 解説した本です。
ちなみに8086コードセットの話というのは注文したときに表紙の写真を全くチェックしないでいて、 届いた本を見たとき...。 「しまった、この本は萌える系の本だったのか...」 表紙や挿し絵にメイドさんが... 会社の後輩にこの話をしたところ、 「知らなかったんですか? 当然知っている モノと思ってましたが。」 おまえはそーゆー目でオレをみてたのか。 とどめに「自分も買いましたよ。言ってくれれば貸してあげたのに。」
CXにカウンタ、DS:SIに転送元データアドレス、 ES:DIに転送先データアドレスをセットして、REP MOVSWという インストラクションで一発で実行する、というネタとか、 転送方向を決定するDIフラグのネタでした。
ちなみにこのコードはプログラムからPC-9801の グラフィックVRAMへ一発でデータを転送し表示したいときに 使ったコードです。 本来ならば裏VRAMに転送しておいて、あるポートへ 指示することでVRAMバンク切り替えをして 瞬時に表示する、という手を使うんですけどね。
読んでみると中身は「萌える」系の例に漏れず、 意外にハード。 LEDを直接点灯させたいとき、なぜ抵抗を直列に通すか、 中学校の技術家庭でやったネタの理由が今頃わかったり、 テスターの内部抵抗による誤差の影響、 パスコンが各チップのVcc(+5V)とGND(0V)の間に入れる理由など、 基本中の基本を最初に記述するなど、 理系素人の心をくすぐるネタが続きます。 自分はx86のアセンブラは大丈夫なんですが、 ハードは全く無知なのですけど、ぐいぐいと読めました。 でも、クロック回路のネタでちょっとひっかかったりして。
というわけで、理系、かつデジタル回路素人向けに いい本だと思います、はい。 学研の電子ブロックEX-150 はアナログ回路満載ですけど、 こっちはこっちでまた楽しめそうです。
コメント 0