始める電子回路 | CPUを作る | 回路がわかる本 | 始める電子工作 |
CPU部分の確認検査CPU部分の動作テストいよいよCPU部分ができ、それを動かして検査する、今こそCPU動作確認の時です!おそらくCPUを作る TD4への道 最大の佳境でしょう。ワクワクせずにはいられません^^ CPUの部分つまり心臓部が動き出すわけですから。 この場合、やっぱり動きの仕組みがよく理解できていて、事前の検査もちゃんとやっているほど不安は小さいと思いますが、スパゲティのよくわかんなくなった配線でもちゃんと動けば同じです。 もうなんでもいいから動いてネ という感じ。。。 ココまでの制作 単独でCPU部分を動作させるにはこの回路部部はCPU部分だけです。実際はこの後ろに命令デコーダが加わり完成となります。命令デコーダが変換した信号をCPUにいれることでCPUは動作します。 その命令デコーダをすっ飛ばしてCPUを動かそうというので、それなりの工夫が必要。それは面倒なことです。 その信号をひもとくと、 MOV B,A のような命令は デコーダによって、CPU動作信号に変換されてCPU部分に入る。 その変換されてCPU部分に入る信号を最初から擬似的にCPUに入れて動かてしまうというやりかた、CPUを乗っ取る、ハックするといえば少しはかっこいいかも。 このCPUの命令TD4の命令は 8ビット、一行です。つまりROMの1行のデータ MOV B,A (BレジスタにAレジスタを転送)の命令は
という数字8個つまり8ビットのデータです。 このうち前4桁つまり4ビットが 命令語(オペコード、オペレーションコード)、 後ろ4桁つまり4ビットが データ。 この命令4桁を変換するのが命令デコーダです MOV B命令は0100というような機械語になります。この命令部分がいわいるニーモニックになる。 (そのあとの引数のようなのはオペランド) MOV B, A というのは 01000000 という数字に置き換えられプログラムされます。 つまり MOV B, A とプログラムは書くけど入力するときは 01000000 これがいわゆる・・・プログラムの実行の章に(本書P295より引用) 変換してくれるソフト(アセンブラ)などという立派なものはありませんから、手で変換することになります。これが(年寄りの昔話に登場する)「ハンドアセンブル」という作業です。なんだかしみじみと楽しい・・ あの昔話の ハンドアセンブル が今に蘇(よみがえ)り、体験して動かすところが・・・シミジミと来たりします (ところで、この本でいうところの ジイさまエンジニアの昔話 という内容は、全国共通なんでしょうか 他には、プリンタをディスプレイ代わりに使っていたような頃は、、なんていうジイさまエンジニアも パソコンの昔話だと カセットテープでプログラム保存していたような頃は。。。。。もうすぐジイさまエンジニア入り(^^; でもそんなことを昔話だと見物している人々も、日進月歩のこの分野は恐ろしく速い Windowsでインターネットしていたころは。。。。。。ギリシャ神話の出てくるような気がする神話の1つ iPadで本が読めるのに驚いた頃は。。。。。。。。iPad = 弥生式土器 といわれるのは、近い将来かもしれません。。 デコーダの変換このCPUを乗っ取って単独動作確認するには、デコーダの変換後のデータを入れる必要があります。それを紐(ひも)解くのは面倒です。 それは、ジイさまエンジニアになにか尋ねたとき、聞きたくなくても付属してくることになる 遠い目をしながら話す昔話の1つ ハンドアセンブル どころの作業ではないです。 ハンド命令エンコード変換とでもなるんだろうか・・・デコーダの命令からCPU動作信号を作る、変換表なんてなく面倒なので構造から紐解いて作っても1,2個ぐらいに終わってしまうかな、と思っているとこの本には資料がちゃんとありました。 命令デコーダの章 命令一覧に このTD4の命令のすべてが資料としてまとめてある。(本書P231 MOV A B) 説明もあり、フローダイアグラムもあります。そこに指示の真理値表があって、CPUの動作命令が全部命令ごとにかかれている。 助かりました。この資料はちょうど 回路がわかる本の PICの教科書としている PIC16F活用ハンドブック の本にあるのと同様の資料・・ ここまで作りながら来るると、このフロー図はもはや手に取るようにわかる。 思った以上にちゃんと設計されているCPUでした。 CPU部分を動かすCPU部分だけを動かすための信号ですが、このCPUを作る TD4への道 では 驚くことに、それを最初から算段に入れています^^ オリジナルのスイッチ群のROMで作る場合も、近代的TD4ROMで作る場合でも、疑似信号を生成にも考えてある。 すでにここまで作った段階で、 まずROMは自由に8ビット信号のかたまりを順繰りに出力できます。 そして、確認LEDとして、ジャンパで自由につなぐ8個(8ビット)のLED 上の 赤線の所のソケットがLED 下のソケットがROM出力の取り出し どうつながっているかはかつての配線図にあり。 さらに先取りして作った4ビットのDipスイッチがありますがこれはもうオリジナル通り配線してしまうことにしました。 また、出力レジスタとして4個のLEDがCレジスタにあります。 これだけあれば、CPUの単独動作確認はできるでしょう、、とはいうもののホントにCPU動くだろうか? いや、必ず動く! そう読んだのだ。 |
始める電子回路 | CPUを作る | 回路がわかる本 | 始める電子工作 |
メインページへ |