標準TTLだけ(!)でCPUをつくろう!(組立てキットです!)
(ホントは74HC、CMOSなんだけど…)
[第155回]

●テストプログラムを実行して時間を計ってみました


↑ここの上側のLEDがDレジスタでその右がEレジスタです。
下側のLEDがHレジスタでその右がLレジスタです。
今回はプログラムの先頭でレジスタをクリアしてからスタートするようにしました。
ストップウォッチもプログラムのスタートと同時に計測開始です。
といっても、これがなかなかに難しい…。

片方の手で、「つくるCPU」のリセットスイッチを押したまま、もう一方の手で携帯を持ってスタンバイです。
リセットスイッチを離すと同時に携帯のスタートONを押すのですけれどね。
生来まったくの不器用なものですから、左手の指を離すと「同時に」、右手の指を押すっていうのが、どうも…。うーん。難しい…。
こっちを離してから、それからこっちを押す、っていうのなら、まあ、なんとかできるのですけれどねぇ…。

そうやって、悪戦苦闘しながら、撮った写真です。
バイナリカウンタD、E、H、L、Aの表示ですが、最上位のDレジスタは00です。下位のLレジスタとAレジスタは速すぎて全点灯しているように見えます。
E+Hレジスタの値を見ると、表示は07CCです。十進数に直すと、1996です。
ストップウォッチは30’38”です。秒に直すと1838秒です。

前回の計算で、Hレジスタが+1するのにかかる時間は、920838μsでした。
そこで、LEDに表示されたカウント数を時間に直してみます。
0.920838×1996=1837.99秒
おおお。ぴったりじゃありませんか。うれしくなってしまいますね。

もう少し続けてみました。


ストップウォッチは、60分でストップしてしまいます。
あと少しで60分、というぎりぎりのところで、シャッターを切りました。

LEDの表示は、0F41です。十進数に直すと3905です。
ストップウォッチの表示は59’56”です。おお、ぎりぎり、危うくセーフというところです。
秒に直すと、3596秒です。

先ほどと同様にして、計算をしてみます。
0.920838×3905=3595.87秒
おお。みごとに、ぴったりです。
これはもう、祝杯ものですねぇ。

●連続40時間実行後の写真です



時計(安物の壁掛時計です)を見て、約40時間経ったところで写真を撮りました。
実行開始が21:55、翌々日の13:30に写真を撮りました。
2:05+24:00+13:30=39:35です。
秒に直すと、(39×60+35)×60=142500秒です。
D、E、HレジスタのLED表示は、025C7Dです。十進数に直すと、154749になります。
0.920838×154749=142498.76秒

約1秒のずれがありますが、これは誤差の範囲です。
撮影するときに、基板に直接照明があたると、基板が反射してしまいますから、間接光で撮影しています。
前にも書きましたが、撮影感度を上げると画面のザラつきが目立ちます。
そこで感度を下げてASA100〜200で撮影しています。
当然シャッタースピードが超遅くなります。1/4秒くらいです(!)。
私の指も超遅いですから、もうその段階で0.何秒は、ずれてしまいます。
Hレジスタの下位のLレジスタは速いのでLEDが全点灯しています。正確な表示はわかりません(なにしろシャッターが0.25秒も開いたままなのですから、その間にしっかり回転しています。Lレジスタが1回転するには0.92秒しかかかりません)。
Hレジスタがもう少しで+1されるあたりのタイミングだったかもしれません。すると、それだけでも0.92秒近い誤差があることになります。
ということを考えると、さきほどの計算結果は、「みごと一致」と考えてもよいと思います。
だいたい、掛時計(超安物)が測定に適する代物である保証は全くありません。まあ、月差30秒〜1分なら上等なのですから、すると40時間も経過したら1〜2秒程度狂わない方がおかしい。
そんな時計で測定している私もおかしい…か。
うーん。何やってるんでしょうねー。

2009.2.6upload

前へ
次へ
ホームページトップへ戻る