第1章 必要な基礎知識

どこから語るべきか?

CPUの自作方法とそれを用いたコンピュータの自作方法を語るときに、常に付きまとう悩みが『どこから語るべきか?』です。

対面式の講義なら、受講者のレベルを見極めながら講義内容をリアルタイムで修正することができますが、文章で語る場合はリアルタイムでの修正は不可能です。

ですのでここでは逆に、「ここまでは知っているよね」というリストを提示します。

当然知っていて欲しいこと

10進、16進、2進

これらの意味と、相互変換の方法は説明しません。相互変換に関してはその意味さえ理解していれば、手作業での変換に時間を要したり、関数電卓等が無ければ変換できなくても問題はありません。

なお、これらの表記法は多々ありますが、本書では一般的なプログラミング言語(C言語系の言語)の記述法に従います。例えば100という値は以下になります。(上から順に10進、16進、2進)

ANDとかORとか

これらの記号の違いも本書では説明しません。「論理ゲート」等の言葉で検索するなどして、御自身で学んで下さい。

但しこれらを代表する論理ゲートとてNANDゲートを選び、それの「実戦上(実践上ではありません)の使い方」に関しては、本章の後半で詳しく触れます。

オームの法則

オームの法則に限らず、普通の中学校の授業レベルの、電気・電子関係の知識は十分にあることを前提としています。

知っている事が望ましいこと

抵抗とコンデンサ

本書はデジタル回路の説明ですので、抵抗やコンデンサは殆ど使用しません。

但し、「LEDの保護抵抗」と「プルアップ抵抗」と「バイパスコンデンサ」という言葉は登場します。これらは本文中でも説明しますが、言葉の意味は事前に理解していることが望ましいです。

トランジスタとダイオード

トランジスタは使用しませんので記号や動作を理解している必要はありません。ダイオード(LEDを含む)は使用しますので、回路記号とその働きの事前に理解している事が望ましいです

プログラミング言語

言語や開発環境は問いませんが「1から10までの和を求めるプログラム」程度は何も見ないで組める知識があることが望ましいです。少なくとも「プログラムって何ですか?」のレベルでは困ります。

但し、高度なプログラムを作る事が本書の目的ではありませんので、プログラミングの知識はそれほど深い必要はありません。

電子工作の経験

これも必須ではありませんが、ハンダゴテ等を用いて何か(何でも良い)を作った経験がある事が望ましいです。

但し「CPUの作り方」を学びたいだけで、実際に作ることまでは望まないのであれば、電子工作の経験は必須ありません。

自ら調べて欲しいこと

ここまでで既に、「CPU」とか「LED」という「英字のみの略語」が登場しています。

これらの言葉をフルスペル(略さない名前)で書けないのであれば、必ず自分で調べて書けるようになって下さい。(ちなみに、前者はCentral Processing Unit、後者は Light Emitting Diodeです)


「英語の勉強もせよ」と言いたいのではありません。この程度の事すら「自ら調べる意欲」が全く無いのなら、何をどう学んでも「途中で飽きて投げ出す」という結果になるだけだと警告したいのです。