shigobu が 2022年02月05日23時05分13秒 に編集
初版
タイトルの変更
TD4オーバークロック MHz級
タグの変更
TD4
オーバークロック
記事種類の変更
セットアップや使用方法
ライセンスの変更
(CC BY 4+) Creative Commons Attribution CC BY version 4.0 or later
本文の変更
# 前回のあらすじ [「CPUの創りかた」のTD4を作った](https://elchika.com/article/977f1e43-d10c-4086-b0af-d4ac80002f6f/)。 これには、オーバークロックのために、クロックの外部入力端子を搭載した。 とりあえず、100kHzまで動作することを確認した。 そして、MHzのクロック周波数に挑戦するため、オシレータを作成しました。 [30MHzまで出せるオシレータの作成](https://elchika.com/article/00673492-2375-4ce9-b8c5-5df0d80838e1/) 今回は、前回作成したオシレータを使用しオーバークロックを行います。 # オーバークロック 早速、オーバークロックを行います。 実験方法は前回と同じで、早押しボタンプログラムを使用します。 また、今回は1MHzから初めて1MHzづつ増やします。 ## 予想 書籍には、「最大動作周波数は3MHz程度」と書いてありましたが、なんとなくもっと早く動くのでは無いかと思います。プリント基板を使用していますし、なんとなくノイズにも強い気がします。なので、10MHzくらいまで動作するのではと思いました。 クロック周波数を上げると、ジャンプ命令が効かなくなり、ROMのLEDがすべて点灯するようになると思います。 ## 結果 @[youtube](https://www.youtube.com/watch?v=MpD5I2xuYf0&t=12s) | クロック周波数 | 結果 | |:---|:---| | 1MHz | 正常 | | 2MHz | 正常 | | 3MHz | 正常 | | 4MHz | ボタンを押しても反応せず。異常。 | 3MHzまでは、正常に動作しているようです。すくなくとも、早押しボタンプログラムに関しては。 4MHzは不思議な動きになりました。一番右のボタンは正常っぽいですが、他のボタンは反応しませんでした。 やはり、書籍に書いてあることは正しかったようです。適当なことを言うものではありませんね。 ジャンプ命令が効かなくなる前に、ボタンが反応しないという現象になりました。ボタンが反応しないだけで、ジャンプ命令は効いているみたいです。 # 考察 ボタンが反応しない理由はおそらく、キャリーフラグが`JNC`命令に届く前にクロックが来てるのだと思います。 一番右のボタンが正常に動作している理由はわかりません。「1111+0001」と「1111+0010」の計算速度が異なるのでしょうか? # まとめ 実験結果は、とてもおもしろい結果になりました。なぜこうなるのか気になりますが、この結果が面白くて満足もしています。オシロスコープがあれば詳しく調査することもできると思いますが、持っていません。また、速度のボトルネックになっているROM部分を改造すれば、もっと高速に動作させることができそうです。 しかし、他にも作りたい実用的なものも有るので、TD4で遊ぶのはとりあえず一区切りにしようと思います。