2011-01-28 4 views
1

現代のCPUで計算される可能性のある計算を計画する必要があります。例えば、11という2つの整数を加算すると、3になります。現代のCPUにおける整数算術誤差

  • (頻度)ALUでこのようなエラーが発生しますか?
  • 現在、これに対して何らかの組み込み保護機能がありますか?
  • 上記の例のような算術エラーが、ほとんどの "heisenbugs"の背後にある理由ですか?

    +0

    私はいつも1 + 1 = 3を追加する日の準備ができています。 –

    +0

    "heisenbugs"と呼ばれるものは、しばしば競合状態によって引き起こされ、 "現代のCPUの誤算" –

    答えて

    0

    整数演算でエラーが発生することはありません。浮動小数点演算を使用していても、誰かがずっと古いプロセッサを使用している場合や、不合理な数値、信じられないほどの精度で何かをしようとしたり、特殊な数学ライブラリを使用していない限り、

    整数エラーのようなことをしていますか?あなたが興味があれば、私は興味があるでしょう。

    1

    CPUのフィーチャサイズが十分に小さくなっているため、データのようなエラーが発生する可能性がありますが、メモリに格納されているデータの実際の誤算が発生する可能性が高くなります。

    放射能の多い環境(衛星など)では、結果に「投票する」複数のCPUを持つことや、不一致がある場合に計算を繰り返すことはかなり一般的です。それ以外は、合理的かもしれない唯一の時期は、人間の生活に影響を与える可能性のあるものになるだろう。

    でも、Heisenbugは実際にはシングルビットの混乱の結果ですが、少なくともIMOではほとんどありません。私はかなりのバグを見てきましたが、その中には追跡が難しいものもありましたが、そのときはコードに間違いがありました。

    0

    私は現代のCPUで可能な誤算

    はいを​​計画する必要があります。また、ブラックホールの自発的形成を計画する必要があります。これは突然、あなたを含むすべての近隣の物質を吸収する可能性があります。

    ALUでこのようなエラーが発生しますか?

    エンジニアだけがエラー訂正コードを使用する場合、オッズは非常に小さくなります。何が起こらなければならないのは、回路の中で自発的に有効に見えるエラービットの組み合わせが生じなければならないことである。オッズはゼロではありませんが、小さいです。

    現在のところ、これに対して組み込みの保護機能はありますか?

    エラー訂正コードのみを完全に忘れていない場合。 「パリティは農民のためのものです」ということを覚えておいてください。

    http://en.wikipedia.org/wiki/SECDED#Hamming_codes_with_additional_parity_.28SECDED.29

    http://en.wikipedia.org/wiki/Dynamic_random_access_memory#Errors_and_error_correction

    http://en.wikipedia.org/wiki/Error_detection_and_correctionは、現実的な可能性があることを述べた

    などの算術演算エラーはい。あなたは "ゼロ"ではなく、実際には本当に小さな "現実的"を定義する場合。

    最近の試験は広く、10^-10から10^-17 エラー/ビット・Hまでの範囲の大きさ 差の7以上のオーダーと レート、

    約1ビットエラーエラーを変える与えます 1時間当たり、メモリのギガバイトあたり 1ギガバイトのメモリあたり あたり1ビットエラー。

    関連する問題