@パパリウス さん
CPUが何もしていない時間帯も、GPIOからは常にhigh/lowの電圧でI2Sシグナルを送り続けていますから、グランドを揺らしたりノイズを発するような活動を控えてCPUが静かにしているのは良いことなのでしょう。
なるほど。この辺りがネットワークや非同期のUSB転送でデータを送る場合とは考え方が異なる点なのでしょうね。
これらはリアルタイム性の保証されないOSでも動くようにするためは必要な処理ばかりですが、逆に言えばリアルタイムOSの支援があれば、ALSAライブラリ・ALSAドライバーで消費されるCPUサイクルの90%以上を取り除くことが可能です。
これも言われてみると、「眼から鱗」です。確かに実行権が保証され、絶対割り込まれないリアルタイム処理であれば多くの無駄は省けるという訳ですね。
特にRaspberry Piに搭載されたCPUキャッシュはあまりに小さいため、メガバイトのデータを扱うだけであっというまにCPUキャッシュ(L2キャッシュ)が汚染されてしまい、他のCPUコアの処理に影響を及ぼしてしまいます。
Linuxで動くソフトを使い、インテルマシンで音楽再生すると、ラズパイやBBBと比較して、圧倒的な安定感を感じます。その辺りはこの理由かなと思っています。もちろん、インテルハードにはGPIOがありませんから、i2sダイレクという再生方法はとれなくなるというディメリットはあるわけです。ただ、クロックのしっかりした優秀なDDCを使えばそんなハンディは問題じゃないという意見もあって、このあたりは何が正解かよく分からないですね。
SMPD v1.0はこういう議論を一蹴する音を聴かせてくれます。セパレート構成で、さらに完成度が上がれば、天下無敵でしょうね。
ただ、インテルハードでもAMDアーキテクチャのAPUはGPIOがあるらしいので、誰かそれを使った音楽再生システムを開発しないかなと思っています。APUは音に悪いディスプレイ関連のハードは省かれているし、ネットワーク周りは強力ですから、音楽再生用には理想的なハードだと思うのですが、如何せん知名度が低いのが残念です。