始める電子回路 CPUを作る 回路がわかる本 始める電子工作 

命令デコーダ


        

横文字のワナ

最後に残るは、いよいよ命令デコーダだけになりました。
ついにここまできました! もうあと少し残すといったところでしょう。
これ、命令デコーダ 名前はなんかそれらしきカッコ良さを持っていますが、これは横文字のワナです。

命令デコーダと横文字にするとカッコ良く聞こえますが、命令のはめ込み器です。
最後に残るブロックでこの論理、一番苦手な作業です。
この回路用に信号を作り直す変換器ですが、これも簡単に一度 始める電子回路の 光センサ回路2 で出てきています。

出力が決まっていて、こんな出力にしたいけど、。。。それでそんな出力になるような、論理回路の組み合わせを作るというもの、これ一番苦手です。

つまり、真理値表が最初から決まっている。
その出力になるような回路をゲートICを組み合わせて作るというもの。
始める電子回路の 光センサ回路2  で一応やっていますが、これには
入力と出力を入れたら その変換回路が出るというような黄金法則はなくて、せっせとがんばるしかないようです。
カルノー図とかで追っていくことはできますが・・・と書いていますが、この本ではカルノー図も書いて解いていきます

ここまで来た、ついに来たといった感慨深いものはありますが・・・残りわずかにして、このCPUを創るの本での
最大のワナがこのへんに仕込まれている。。。

ここまで、この本ではくだらない冗談にハメられてしまい、それにもなれて素通りできるようになったことと思います。
だいたい読めてきました。

1.ちょっとした読み手を引きつけるリードがある
2.乗せられる 

そして乗っかると
3.くだらないオチだったと気づく

という展開。もうダマされないぞと慣れた(ハズだった)んですが、このあたりで最大のワナがあります(^^;

最大のワナ

いわゆるネタバレというやつになるので控えておきますが、私は不覚にも完全にハメられてしまいました・・・
よく考えるとリードだとわかるのに、 ”ええ! そうだったの?” と驚き、導かれ、次に落とされたのは 不甲斐ない、あまりに。。不覚だった、、
最後はイラストがこっち向いて手を振っていて、、、なんか完全にしてやられたみたいで・・
ここまであまりワナがなかったと思ったら、おそらくCPUを創る、最後に仕組まれた、とっておきの仕掛けなのかも。

(人によりツボは違うかと思いますが)

命令デコーダ

ここまで、ブロックとして確認もしながら作って来たので 命令デコーダが何するものかよくわかります。

プログラムの1行は8桁でそのうち命令部分=オペコード といわれるものは4桁でした。
そしてCPU部分を動作させる命令は6桁だったのは以前の動作テストの通り。

この本を最初に読み進めて、あれ? と違和感があったのは、命令群の方が先に説明されていて、命令デコーダ部分の章では最初から命令となる機械語の数値列(つまり真理値表の入力)が出来ています。
なんか違和感があったのですが、(順番から言うと逆)
そしてすでに出来上がっている真理値表の入出力になるようにゲートを組み合わせます。
これが一番苦手な作業なのですが、

最終的にあれこれ省略していき、複雑な真理値表がゲートIC2個で出来てしまいます。

     奇跡です(仕組まれた奇跡なんですが)     となってる(^^;

実際は簡単な回路になるように、入力を最初から決めて、逆算してあるのように記述が。
(その逆算で入力を作る方法が実際は必要なんじゃないの と思ってしまったのですが)

でも、真理値表から影響の列を排除していきまとめる技や、カルノー図を使って分解していくワザは美少女イラストの例えなんですが、わかりやすくて参考になりました。この章もいろんな意味で興味深いです。
でもやっぱりはめ込みワザなので、苦手であんまりやりたくない。あんまり深いことは考えず、そのまま作ってしまいましょう。

さて、命令デコーダですが、

      命令部分 −(4桁)→ 命令デコーダ −(6桁)→ CPU部分

4桁を6桁に変換する役割です。
H8の7セグメントLEDのところでもあるように、デコーダはビット節約する役割程度の機能。

命令部分=オペコード を6桁にすれば こんな作るのがややこしいものはいらなくなりそうです。(そんなCPUはへんですが)
そうするとROMが8→10連のSWになって、データバスが+2増えて 10ビットというへんなバスになりますが。。
でもそうすれば自由に命令を変更、追加出来るし、命令デコーダは必要無くなり この本に、何とか○子さん というのが登場することもない。。。

そのためにビットを増やすなんて、そういうCPUはあまり現実的でない、作ってしまえば、CPU構造や命令を変更なんていうことは必要ないのですが、
自作としてソフト的に近代的TD4ROMでやる場合、こういう方向まで考えてしまいました。

ついでにここまでであまり回路の解説されていないICが1つ。
フリップフロップです。キャリーフラグに使われているICですがあまり本書内で解説がされていません。
実際、基板上の命令デコーダの枠の3つのICは、命令デコーダ:IC2個 キャリーフラグに1個

さあて、最後の制作です。。。ついに最後のブロック。


命令デコーダ制作

最後のブロックの制作。
IC3個ですが、やっぱり配線が複雑でよく確認する必要があります。

この命令デコーダ部分だけの入出力を確認できるようにピンを付けました。




 これが最終的なの配置の図です。


 ついに書き上げました。



入力4ピン、出力6ピンをピンにして付けておく。
これで確実に最後の入出力を確認し、制作を完了しようという予定です。

ここはIC足の信号の接続になりますが、ここまで来るともうかなり配線は入り組んでいます。
接続と確認ですが、なかなかの作業になります。

こういう作業では配線図が頼りです。信頼できる配線図を作るように段階を経て着実にしました。

  回路図から配線図を書きます。
  印刷して配線を1本ずつ間違いないか確認。
  そして、印刷、反転させ裏面も印刷します。

この印刷された配線図を信頼して作業を進めるしかスパゲティ配線に対抗するのは難しい。
配線図が間違いだと、実態も間違い、となるので前段階の作業から確認して進めました。

すでに線はかなり入り組んでいるので、ハンダ付け作業では横に置いた配線図、、これがたよりです。

 やっと制作出来ました。

完成後、テスターで配線図と較べながら、全部のピンを確認しました。
混雑しているのでハンダ付けの忘れ、不良が2カ所ぐらいありました。でも裏面配線もあるのでよくある、位置の付け間違いはなかった。

もうこれで最後の作業が終わった。
長かったなあ。。もう机上は配線だらけで、配線の皮向いたくずだらけ。。何をどこの配線やっているのかもわからなくなってきた。
これがCPUを作る TD4への道 最後の制作となってくれるのか。。

これで動かなくて接続をまた追っていくのなんてイヤよ、お願いだら終わりにしてね。。
もう、こんなに祈る気持ちが強いです(^^;


始める電子回路 CPUを作る 回路がわかる本 始める電子工作 
        メインページへ