TJD4 vol.2 ALU 汎用ロジックicだけで作るcpu
お久しぶりです,masudaです!
秋葉原に頻繁に通って電車代がバカになりません笑.
ということで,今回はALU編です.どうぞ~
ALUってなんですか?
ALUはCPUの中で一番計算機らしいふるまいをする機関で,足し算とか,引き算とか,論理積とか,シフト演算とかをしてくれます.
今回制作したALUは,4ビットの加算,4ビットの減算,4ビットのAND,4ビットのOR,右ローテートシフト,左ローテートシフト,スルーを計算できます.
それぞれのクロックでどの演算をするかは,命令デコーダの出力によって変化します.例えば000なら加算,101なら左ローテートシフト,,,といった感じで.
初回に比較回路も実装する旨を書きましたが,今回はALUとは別に作ろうかと思います.
比較回路の出力はフラグレジスタに格納されるので,フラグレジスタののいたに実装する予定で,毎クロック比較を実行しフラグを更新する形になると思います.
で,今回8種類の演算が可能なALUを作成したのですが,信号を選択するマルチプレクサはまだ作成していません.
どこが間違っているんだ!?
どーしてもBスルーの配線がどこかで繋がっちゃってるみたいで,配線の一つ一つにテスターを当てて何日もデバッグしたのですが,どこも間違ってない.心が折れる.故に死に至る.
...冗談は置いといて,原因はここでした.
ユニバーサル基板は2.54mm感覚に穴が空いていて,これは人間にとって大きすぎず小さすぎずちょうどいい感覚なのですが,世の中には2.54mmピッチで考えられていない部品もあります.そんなときに用いられるのがこの上の0.50の文字.
これらはそれぞれの穴に接続されていて,ここにハンダのカスが乗っていて,配線が接続されてしまっていたようです.クソが代!
ということで完成したものはこちら
感想
まーじできったない裏面配線ですね(笑)
こんなんどこかが断線したら接続し直すのめちゃくちゃめんどくさそうです.
次回からは配線の密度と表面の活用を意識したいと思います.
次は多分入力デバイスかALUセレクタかなーと思っています.
ではまた次回!
この記事が気に入ったらサポートをしてみませんか?