アナログ信号の計算は、デジタル信号の計算よりも高速ですか?


36

デジタルFPU(CPU-> DAC->アナログFPU-> ADC-> CPU)の代わりにアナログ信号演算(精度と精度を犠牲にして)を使用する場合、理論的には最新のプロセッサを高速化できますか?

アナログ信号の分割は可能ですか(FPUの乗算は1 CPUサイクルとなることが多いため)。


それはあなたの質問に答えるが、ここでは軍艦でアナログ電気機械、コンピュータの使用に関する興味深い記事があるしないarstechnica.com/information-technology/2014/03/...
Doombot

マルチステートデジタルロジックを使用する提案が時々ありました。たとえば、2つの代わりに4つのステートを持つ「フリップフロップ」です。実際には、配線のボトルネックを軽減するため、一部の製品メモリチップでこれが行われています。(ただし、現在生産されているチップがマルチステートロジックを使用しているかどうかはわかりません。)
Hot Licks 14

回答:


44

基本的に、すべての回路はアナログです。アナログ電圧または電流で計算を実行する際の問題は、ノイズと歪みの組み合わせです。アナログ回路はノイズの影響を受けやすく、アナログ回路を非常に大きな規模で線形化することは非常に困難です。アナログ回路の各ステージは、信号にノイズや歪みを追加します。これは制御できますが、排除することはできません。

デジタル回路(つまりCMOS)は、基本的にこの問題全体を回避します。情報を表すのに2つのレベルのみを使用し、各段階で信号を再生します。出力が10%オフかどうかを気にする人は、しきい値を上回ったり下回ったりするだけです。出力が10%歪むかどうかは誰も気にしませんが、ここでもしきい値を上回るか下回る必要があります。各しきい値の比較で、信号は基本的に再生成され、ノイズ/非線形性の問題などが発生します。ストリッピング。これは、入力信号を増幅およびクリップすることによって行われます-CMOSインバーターは、コンパレーターとしてオープンループで動作する2つのトランジスターで作られた非常に単純なアンプです。レベルがしきい値を超えると、ビットエラーが発生します。プロセッサは、一般に10 ^ -20のオーダーのビットエラーレート、IIRCを持つように設計されています。このため、デジタル回路は非常に堅牢です-線形性とノイズは基本的に問題ではないため、非常に広範囲の条件で動作できます。64ビットの数値をデジタルで処理するのはほとんど簡単です。64ビットは、385 dBのダイナミックレンジを表します。それは19桁です。地獄では、アナログ回路でそれの近くに行く方法はありません。解像度が1ピコボルト(10 ^ -12)である場合(そして、これは基本的に熱雑音によってすぐに圧倒されます)、10 ^ 7の最大値をサポートする必要があります。これは10メガボルトです。アナログでそのようなダイナミックレンジを操作する方法は絶対にありません-それは単に不可能です。アナログ回路のもう1つの重要なトレードオフは、帯域幅/速度/応答時間とノイズ/ダイナミックレンジです。狭い帯域幅の回路はノイズを平均化し、広いダイナミックレンジで良好に機能します。トレードオフは、それらが遅いことです。広帯域回路は高速ですが、ノイズはより大きな問題であるため、ダイナミックレンジは制限されます。デジタルを使用すると、問題にビットを投げて、ダイナミックレンジを拡大したり、並行して処理を実行することで速度を向上したりできます。

ただし、一部の操作では、アナログには利点があります-高速、単純、低消費電力など。デジタルはレベルと時間で量子化する必要があります。アナログは両方とも連続しています。アナログが勝つ1つの例は、wifiカードのラジオ受信機です。入力信号は2.4 GHzで入力されます。完全なデジタルレシーバーには、少なくとも毎秒5ギガサンプルで動作するADCが必要です。これは膨大な電力を消費します。そして、それはADC後の処理を考慮していません。現在、その速度のADCは、非常に高性能なベースバンド通信システム(例:高シンボルレートコヒーレント光変調)およびテスト機器でのみ使用されています。ただし、少数のトランジスタとパッシブを使用して2をダウンコンバートできます。

一番下の行は、アナログおよびデジタル計算には長所と短所があるということです。ノイズ、歪み、低ダイナミックレンジ、および/または低精度を許容できる場合は、アナログを使用します。ノイズや歪みに耐えられない場合や、高ダイナミックレンジと高精度が必要な場合は、デジタルを使用してください。より多くの精度を得るために、いつでもより多くのビットを問題に投げることができます。ただし、これに相当するアナログはありません。


これは、より多くの賛成に値します!
ジョンU 14

私はそれを知っていました!いい言葉にできませんでした。ワイヤレスレシーバーに関する追加情報。
スミザーズ14

2
サンプル&ホールド回路?磁気テープ?レコードの記録?写真フィルム?アナログメモリデバイスは確かに存在しますが、デジタルデバイスとはわずかに異なる特性を持っています。
alex.forencich

1
あらゆる範囲、はい。しかし、任意の解像度を持つ任意の範囲?そんなにない。
alex.forencich

1
@ehsan増幅では、ダイナミックレンジは増加しません。最小値(ノイズフロア)は最大値とともに増幅されます。
mbrig

20

先月「バックトゥザフューチャー:アナログ信号処理」というタイトルのIEEEトークに参加しました。この講演はIEEE Solid State Circuit Societyによってアレンジされました。

アナログMAC(乗算および累積)は、デジタルMACよりも消費電力が少ないことが提案されました。ただし、1つの問題は、アナログMACがアナログノイズの影響を受けることです。したがって、同じ入力を2回表示すると、結果はまったく同じになりません。


1
(アナログノイズの場合は+1。)
ジョージヘロルド14

同様に、軍艦上の機械的なコンピュータの使用についての記事はarstechnica.com/information-technology/2014/03/...
Doombot

18

あなたが話していることはアナログコンピューターと呼ばれ、コンピューターの初期にはかなり普及していました。60年代の終わり頃には、彼らは本質的に姿を消していた。問題は、デジタルよりも精度がはるかに悪いだけでなく、精度も同じであるということです。また、デジタル計算の速度は、控えめなアナログ回路よりもはるかに高速です。

アナログ分周器は確かに可能であり、アナログデバイスは約10種類のモデルを製造しています。これらは実際には乗算器であり、オペアンプのフィードバックパスに挿入されて除算器を生成しますが、ADは除数の広いダイナミックレンジ(60 dBと思います)に最適化された専用の除算器を生成するために使用されます。

基本的に、アナログ計算はデジタルに比べて遅く、不正確です。それだけでなく、特定のアナログ計算を実現するには、ハードウェアの再構成が必要です。ゲームの後半では、これをソフトウェアで制御できるハイブリッドアナログコンピューターが製造されましたが、これらはかさばり、特別な用途を除いて決してキャッチされませんでした。


6
あなたの答え(+1)と質問が好きです。しかし、速度の部分については同意しません。アナログは非常に高速です。問題は精度であり、おそらく最も重要なのはノイズです。アナログには常にノイズがあります。デジタルはコンピューターのようにノイズがありません。
ジョージヘロルド14

親切な言葉をありがとう。しかし。アナログは「十分に」高速ですが、一般にデジタルは高速です。ノイズのシミュレーションは簡単です。
WhatRoughBeast 14

4
アナログは、算術演算、exp、sqrtなどであれば高速です。しかし、微分や積分に必要なコンデンサやインダクタを追加するとすぐに遅くなります。歴史のアナログコンピューターは、微分方程式を解くためにしばしば使用されました-それらは「低速」でした。しかし、代数をした人もいます。だから、なぜ人々がアナログ計算速度に関して異なる見方をしているのかがわかる。
DarenW 14

1
アナログが遅い理由を説明できますか?デジタルコンピューターでは、完了するのに必要な反復回数が少ないため、一部の命令は「低速」です。しかし、analogを使用すると、結果を得るのに1回のパスで済むと思います。
mrpyo 14

1
@mrpyo-もちろん、両方の機能を実行できます。乗数を取り、両方の入力を一緒に接続すると、「平方」になります。両方の入力をオペアンプの出力に接続して、彼の答えで使用した回路を使用すると、平方根が生成されます。ダイオードの電圧/電流の関係は指数関数であるため、これを使用して指数を生成できます。フィードバックパスにダイオードを配置すると、対数が得られます。ただし、すべての場合において、ダイナミックレンジはアンプのオフセット、ドリフトなどによって制限される可能性があります。また、ダイオード回路には、他のエラーソースもあります。
WhatRoughBeast

11

アナログ信号の分割は可能ですか(FPUの乗算は1 CPUサイクルとなることが多いため)。

アナログ乗算器を使用している場合、アナログ除算器を作成するのは簡単です。

schematic

この回路のシミュレーションCircuitLabを使用して作成された回路

X1とX2が正であると仮定すると、これはY = X1 / X2を解きます。

アナログ乗算器が存在するため、この回路は原則として可能です。残念ながら、ほとんどのアナログ乗算器の入力値の許容範囲はかなり限られています。

別のアプローチは、最初に対数増幅器を使用してX1とX2の対数を取得し、減算してから累乗することです。

デジタルFPU(CPU-> ADC->アナログFPU-> DAC-> CPU)の代わりに(精度を犠牲にして)アナログ信号演算を使用すると、理論的には最新のプロセッサを高速化できますか?

本質的には技術の問題です。デジタル操作を高速化するためにR&Dに多くの投資が行われているため、アナログ技術はこの時点で追いつくのに長い道のりがあります。しかし、絶対に不可能だと言う方法はありません。

一方、上記の粗い分周器回路が10 MHz以上で動作することを期待することはありません。

また、精度を無視する必要があると言いますが、私が描いたような回路は、おそらくチューニングなしで1%程度の精度であり、おそらく新しいテクノロジーを発明しなければ0.1%だけです。また、有効に計算できる入力のダイナミックレンジも同様に制限されます。そのため、利用可能なデジタル回路よりもおそらく100〜1000倍遅いだけでなく、そのダイナミックレンジもおそらく(IEEE 64ビット浮動小数点と比較して)約10〜300倍劣っています。


5
ちょっと私は10 MHzを実行する古いAD乗算器を持っています。私は今、より速く何かを得ることができるに違いない。モンキーレンチをこのトピックに放り込むだけで、量子コンピューティングがうまく機能しなくなったら、アナログになります。
ジョージヘロルド14

@GeorgeHerold、それが量子コンピューティングがヘビ油である理由です。
ザフォトン

非常にきちんとしたトリック。A(x1)/(1 + A(x2))を計算すると思うが、これは大きなゲインAに対して正確でなければならない。
Yale Zhang 14

@georgeheroldミキサーは実際にはわずかに奇妙な入力要件を備えた高速アナログ乗算器であり、マイクロ波の人々は最近これらを最大60 GHz以上になっていると思います
-mbrig

@mbrig、問題はオペアンプとフィードバックループを閉じたままにすることです。
光子

7
  1. いいえ。DACとADCの変換は、デジタル除算または乗算よりもはるかに時間がかかるためです。

  2. アナログの乗算と除算はそれほど単純ではなく、より多くのエネルギーを使用し、コスト効率がよくありません(デジタルICと比較して)。

  3. 高速(GHz範囲)アナログ乗算および除算ICの精度は約1%です。つまり、高速アナログ除算器で除算できるのは、8ビットの数値などです。デジタルICは、このような数値を非常に高速に処理します。

  4. 3.410343.41034

ここでは、アナログデバイスが提供するアナログ除算器と乗算器を見ることができます(リンク

enter image description here

これらのことは、一般的なコンピューティングではあまり役に立ちません。これらは、アナログ信号処理においてはるかに優れています。


4.正確ではありません。浮動小数点数は科学的表記法で表され、基本的には2つの数値-係数と指数の両方がより限られた範囲をカバーします。
mrpyo 14

@mrpyoよろしいですか?16ビットの浮動小数点範囲は、編集前に書いた数値(0000000000000.1や10000000000000など)よりもはるかに高いと思います。
カミル14

en.wikipedia.org/wiki/IEEE_floating_point C floatの場合、係数は23ビット、指数は8ビット、符号は1ビットです。これら3つの範囲をアナログで表現する必要があります。
mrpyo 14

多数のユニットを直列に配置し、一度に1つのユニットのみを使用することで、必要な周波数を削減できませんでしたか?
mrpyo 14

4
浮動小数点に相当する真のアナログは対数領域であるため、不当に高いダイナミックレンジ(FP仮数より高い)は必要ありません。そうでなければ、良い点。
ブライアンドラモンド

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.