電子工作

LEDだらけのCPU「TD4」

  • 閲覧数: 5070
  • 19
  • C.120x80.b21065f903ae8f138b1b21cd28bcbef5
  • C.120x80.f4d72c8538238b39eeeb4667e7f34b79
  • C.120x80.271200be928d6d764b4644fe08a51b31
  • C.120x80.17e272854073572b4baba27fe83f6911
  • C.120x80.b40575cb9812353db917afe8f9bb4304
  • C.120x80.22679c83b38580c422bcd079fee90bab
  • C.120x80.9fd3d974a07fd6d214d9fcec69de09f9

作品説明

標準ロジックで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件)

コメントはまだありません