LEDだらけのCPU「TD4」
- 閲覧数: 6489
- 19
作品説明
標準ロジックでCPUを実装してしまう伝説の名著、「 CPUの創りかた 」で紹介されているCPUがこの「 TD4 」です。
この回路に流れる信号のほぼ全てにLEDを取り付け、また若干の仕様変更を行なって実装した作品となります。
高2の夏休みの頃につくりました。
レシピ
頑張ってはんだづけします!!!
その際、すべて本通りに実装するのではなく、独自な要素をたくさん取り入れます。
独自なポイント
LEDだらけ
見ての通りです。もちろん、正論理・負論理どちらの場合でも、論理が「1」の場合にLEDを光らせたかったので、プルアップ/プルダウンをうまく使い分けています。おかげで配線はごちゃごちゃに・・・
I/Oポートの追加
上でも少し触れましたが、I/Oポートを取り付けています。これにより外部デバイスの取り付けが容易に行えます。
ディスクリート7セグデコーダ
まさにこれが「外部デバイス」です。
回路右側に取り付けたI/Oポートから電源と信号を取得し、OUTレジスタの値(4bitバイナリ)を、16進数に変換して7セグ用の信号にデコードしています。標準ロジックさえ使わず、抵抗30本・トランジスタ20石・ダイオード100本弱をガシガシ組み合わせてつくりました。
クロック生成回路の高機能化
オリジナルでのクロック生成は、74HC14 シュミットトリガインバータを使用したRC発振回路になっています。
クロック周波数は1Hz/10Hz切り替え式ですが、それはRCのRをトグルスイッチで切り替える形となっています。
ですが、それではあまりにも単純すぎて面白みにかけるので、555や各種標準ロジックを組み合わせ、1Hz~256Hz/ステップ実行をプッシュスイッチ2つで操作できるようにしました。
Cフラグの挙動変更
オリジナルの回路では、Cフラグレジスタの入力がALUのキャリー出力に直結しており、命令の内容にかかわらずどの命令が実行されても必ずCフラグが更新されてしまう、つまり計算でない命令を実行した直後のCフラグの値は必ず0になってしまうのです。私の作品ではこれを改善し(とはいってもマルチプレクサを1個追加しただけでしたが)、計算命令が実行される時にのみCフラグを更新するようにしています。
ROMの効率的な配線
これは仕様の変更というわけではないのですが、割と大きなポイントです。
オリジナルとは異なり、皮膜線を殆ど使っていません。大量に余ったダイオードの足を有効利用して、3階建ての空中配線を実現しいます。
コメント (0件)