[スレッド全体]

[11263] Re3:造る楽しみ返信 削除
2018/3/10 (土) 14:04:58 Go
__ / __

▼ 好事家さん

 ハードと連携する処理は、読みとった信号
をリアルタイムで分析しつつ出力しなければ
ならないので、プログラムを追う時はμ秒で
イメージせねばなりませんね。

 掲示板の話題として参考になることもある
かと思うので、書いておきます。

 古い時代は
  読みとり -> 演算(読み書き) -> 出力
 を繰り返し

 センサー等の入力が増えてくると
  主処理(監視と待機)
  割り込み処理 -> 演算 -> 終了(復帰)
 として、要求に対する応答性を上げます。
 (プログラムの実行順は割り込み次第に)
 割り込みが発生すると、主処理のレジスタ
書き換えを止めてその内容を退避させ、処理
が終わると退避させた内容を戻して復帰。

 OS上で開発するようになって、割り込みの
手順を意識する必要なくなったのは楽でした

 OSを使うと空きメモリを探したり読み書き
の衝突を意識しないでいいんですが、その分
「実行したい処理がいつされるか」がOS任せ
になる。
 処理A -> 実行 -> 待機
 処理B -> (実行待ち) -> 実行 -> 待機

 DA変換された音声情報を後段の回路に渡す
時、アナログ処理は実時間必須なので、情報
が途切れたりしないように、優先度を上げて
作ることになる(そちらを処理C とすると、
処理A/B 実行中でも止めて先に終わらせる)。

 その精度が高ければ(想定される待ち時間
が短ければ)、バッファに貯めるマージンを
減らせ、高周波成分が多い情報量の多い信号
が来た場合に取りこぼすことなく復元できる、
ということですね。
(音声処理の DA変換もハードウェアチップ
が殆どでしょうが、別処理で CPU負荷が高い
と、ノイズに繋がる実例はあります)。

[▼次のスレッド]
INCM/CMT
Cyclamen v3.491
[ut:0.000][st:0.000]