2017年2月26日日曜日

同じ速度でなぜ動く 【回路やデジタルの自己満説明!】

専門外の方に回路、コンピュータの動作原理を解説し興味を持ってもらうためのブログ。DVDプレーヤーなど各メーカの機械みんなバラバラの演算能力なのになぜ同じ速度で再生される?ということを解説してみました。

話の内容

前回はこんな話を書きましたが、今回はこんな話です。
○機械の動かし方は二通り

DVDプレーヤーなど各社から発売されています。また、パソコンでも再生できます。CDも各社同じ速度、DVDも各社同じ速度。
この記事で道具として使ったWebMSXエミュレータもパソコンの処理速度はバラバラなのに、昔々発売されたMSXというパソコンと同じ速度で動いています。
異なる処理速度の機械なのに全部同じ速度で動きます。なぜでしょうというのが今回の話題です。


動かし方は二通り

機械、プログラムの目的には大きく分けて以下の二通りあります。
      ただ単に速く答えを見つけたい、速く結果を表示したいというタイプ。
         数値解析、表計算ソフト、ワープロなど
      人間に対して映像を見せるなど演算結果を決まった速度で表示するタイプ。
         DVDプレーヤー、テレビなど

前者は無駄な時間をすべて排除し、処理能力すべてを演算に注ぎます。
後者は割り込み処理と言って、規定したタイミングで結果を順次表示していきます。
割り込み処理は、他の仕事はほっぽりだして先に別の仕事をする処理のことです。

規定したタイミングで割り込みを発生させます。
その瞬間から全力で必要な情報を集めて計算します。計算すべきものがなくなったら次の割り込みを待ちます。
その間は基本的に次の割り込みを監視してるだけです。(その他は重大なエラー監視程度)
次の割り込みが発生したタイミングで結果を人間に見せます。
移行続く…。

割り込みの間隔は、DVDの再生の場合は1秒間に29.97回、ゲームの場合は1秒間に60回や30回などが一般的のようです。人間から見ると割り込みのタイミングで状態が変化するだけなので、別々の機械を使っても同じように再生されるということになります。

ちなみに、図中の赤(全力で計算している期間)が割り込みと割り込みの期間を超えてしまう場合というのは、処理能力が足りず目的の速度で再生できない場合ということになります。


デジタルの到達限界ふたたび

この割り込み処理で作り出された映像、音声はデジタルなものです。
この記事の余談で、デジタルには到達限界があって人間の検出限界まで到達してしまうとそれより高分解能にしても無駄と書きました。

以前ヤマダ電機を徘徊している際にデモを行っていたのを覚えています。
ゲームの画面を二分割し左側を1秒間に60回、右側を1秒間に120回の画面を表示しているデモンストレーションです。
「この違いを見てください!これが120フレームです!」と書いた首振りポップが置いてありました。

ポク太郎には違いが分かりませんでした。
おそらく動体視力などの個人差により違いに気付く、気付かないの差が出るんだと思います。

これも到達限界の例です。
1秒間に60回、90回、120回などその辺りが人間の検出限界みたいですね。



話の内容

こんな話でしたが内容は伝わりましたでしょうか。
○機械の動かし方は二通り


【関連記事】  ハードの仕事とソフトの仕事
bit数の大きなコンピュータは速い
1バイト…1バイト…
なんで16進数!?(怒)




0 件のコメント:

コメントを投稿