void _mm_stream_si128(__m128i *p, __m128i a) a のデータを、キャッシュを介さずに、アドレス p にストアします。アドレス p を含むキャッシュラインが既にキャッシュ内にある場合、キャッシュは更新されます。アドレス p は、16 バイトにアライメントが合っていなければなりません。
System Bus Radioっていうくらいだから、System Bus(というよりメモリバスでしょうね)に データを吐き出した瞬間のEMIを拾ってるんでしょう。 だとすると、128bitから64bitに減らすと周波数が半分に下がるんじゃなくて、ノイズレベルが 半分に下がるんじゃないですかね。AMラジオだから、ストレートラジオなら音量半分、 普通のラジオならAGCが効いて音量変わらずノイズが増えるってとこじゃないでしょうか。
命令 (スコア:3, 参考になる)
名前からうっすら想像はできるけど
「_mm_stream_si128」命令を知らないのでググったところ
東大 地震火山情報センターの Intel C++コンパイラの説明 [u-tokyo.ac.jp]
がヒットしました(汗。
で,MSDN によると __m128i 型は,当然ながら 128 バイトの構造体でした。
ということは,__m64 だと周波数が半分になったり,__m128 や __m128d だと音色が変わる...とかだと面白いのだけど。
Re:命令 (スコア:1)
PWMになってんじゃねぇの
ビット数下げると音量が下がる気がする
Re: (スコア:0)
128ビットですね。
さらに言えば、構造体じゃなく共用体。
Re: (スコア:0)
System Bus Radioっていうくらいだから、System Bus(というよりメモリバスでしょうね)に
データを吐き出した瞬間のEMIを拾ってるんでしょう。
だとすると、128bitから64bitに減らすと周波数が半分に下がるんじゃなくて、ノイズレベルが
半分に下がるんじゃないですかね。AMラジオだから、ストレートラジオなら音量半分、
普通のラジオならAGCが効いて音量変わらずノイズが増えるってとこじゃないでしょうか。
Re: (スコア:0)
バスのビット幅は変わらんからなぁ…キャッシュのデータで空きを埋めたりしてバスの動作自体は変らないかも。
ああでも、CPUも電磁波出してるから、キャッシュ周りの動作とかが変わって影響は出る可能性は十分あるのか。
EMIとかサイドチャネル攻撃は妙なところから妙な出力が得られててほんと面白いというか怖い。