2017年2月26日日曜日

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

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

話の内容

○機械の動かし方は二通り

DVDプレーヤーなど各社から発売されています。また、パソコンでも再生できます。CDも各社同じ速度、DVDも各社同じ速度。 異なる処理速度の機械なのに同じ速度で動きます。なぜでしょ?というのが今回の話題です。

動かし方は二通り

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

前者は、無駄な時間をすべて排除し、処理能力すべてを演算に注ぎます。
後者は、規定のタイミングでの結果を一定速度で順次表示していきます。

前者は何も考えず、全力で走り回るだけ。 
後者は、決まった速度で走ります。
(実際販売されている表計算などのソフトはOS側の監視に答えるために後者の作りになっていますが。)

以降は後者の説明です。

馬のようにおとなしく

機械は基本決まった速度でしか動きません。常にイノシシです。
どうやったらそのイノシシを一定速度で走る馬のように見せられるでしょうか。

答えは、割り込み処理で制御する構成にします。
割り込み処理というのは、割り込み条件が発生した際には他の仕事はほっぽりだして先に最優先の仕事をしますが、終わったら元の仕事に戻る処理のことです。

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

機械の処理能力によっては図中の赤(全力で計算している期間)が長い、短いがあるのですが、割り込みのタイミングでしか外から見える状態が変化しないので、人間の目にはどれも同じ速度で動いてるように見えることになります。これが同じ速度で動く(ように見えてる)理由です。

ちなみに、割り込みの間隔はDVDの再生の場合は秒間29.97回、TVの映像は秒間30回、ゲームの場合は秒間60回や30回などが一般的です。図中のが割り込みの間隔より長くなってしまった場合というのは“処理落ち”といい、要求される仕事に対して処理能力が十分でない場合に発生します。


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

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

以前ヤマダ電機を徘徊している際に、あるデモを見かけました。
画面を二分割し左側を秒間60回、右側を秒間120回の映像を写し出しているデモンストレーションです。「これが120フレームです!違いを体感してください!」と首振りポップが揺れていました。

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

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



話の内容

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


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

コンピュータ動作原理解説

割り込み処理


スポンサーリンク



blogramのブログランキング



0 件のコメント:

コメントを投稿