• 締切済み

波形発生回路

波形発生回路の実験はマシン語で行うことが多いのはなぜ??

みんなの回答

noname#60878
noname#60878
回答No.3

おそらく、その実験に使用する波形発生回路がマシン語で制御する必要があるからでしょう。 波形を発生させる方法、その発生を制御する方法によります。波形自体をデジタル的に発生させ(PCM)、それを逐次送出するならば、リアルタイム性が必要です。完全なリアルタイム性でなくてもよければ、途中にバッファを入れれば済みます。極端な場合、実験に必要な波形の変化のすべてを先にゆっくりと計算しておいて、大きなメモリにでも入れておけば、これを順次読み出すだけで済みます。逆に、最近のパソコンのOSのようにマシン語でプログラムを書いてもリアルタイム性が保証されない場合、ある程度バッファ的な働きをする回路が必要になります。 波形の生成は、実験の手法やテーマによって違います。高速で高度なコンピュータ機器を使わないで実験するとすれば、どうやってやれば良いか(私が学生の頃はコンピュータなんて使えなかった)考えてみてはいかがですか。 複雑な波形を制御して得る回路の例として、電子楽器がありますね。真空管の時代から存在します。完全にデジタル的に生成するか、波形発生にある種の回路や素子を使用できるのか、アナログ的な加算や乗算でカバーできる部分があるのか・・・・

  • tnt
  • ベストアンサー率40% (1358/3355)
回答No.2

マシン語である必要はありませんよ。 ただし、他のソフトを介する場合、 そのソフトのリアルタイム性が 担保されなければいけません。 また、正確なタイミングがわからないとダメです。 たとえば、BASICの様なインタプリンタ言語で 出力ポートを操作したとして、 この言語の1ステップあたりの時間は 命令によって、そしてCPUクロックやIOクロック によって異なってしまいます。 ということは、実際のポート操作の時間はわかりません。 (全部取得してから処理する方法もありますが) これがマシン語だったら簡単です。 クロックで速度がわかり、 ステップ数で操作に掛かる時間がわかります。 RISCチップだったらステップ数を数えるのも 簡単です。特定の2バイト命令と複数クロック命令だけ 気をつければ大丈夫ですから。 なお、どうしてもマシン語を使いたくない場合、 DSPやDDSを使う手があります。 DSP自体は複雑な処理が可能ですが、 リアルタイム性が担保されているので そちらを利用するわけです。

blink0036
質問者

お礼

参考になりました。 ありがとうございます^^

  • foobar
  • ベストアンサー率44% (1423/3185)
回答No.1

リアルタイムで処理をする必要があり、(使っているCPUの能力と比較して)高速の処理が必要なので、直接マシン語を使うことが多いのではないかと思います。 (リアルタイム処理でも、充分高速なCPU、リアルタイム処理可能なOS(と言語処理系)の組み合わせなら、C等の言語で記述することも多いかと思います)

blink0036
質問者

お礼

参考になりました。 ありがとうございます^^

関連するQ&A