読者です 読者をやめる 読者になる 読者になる

Tech と Culture

テクノロジーとカルチャー

調査中

(1) デバイスドライバからの転送データ数について。
8bit x64 ではなく、 8bitx64x6 (MCU単位)で転送してみた。
なんと、fpsはややダウン。
8bit x64 では、デバイスドライバ内部でのレジスタアクセスを64行ダイレクトに記述していたものを、MCU単位では、for-loop にした分のオーバーヘッドが出たと思われる。
いずれにしろ、 for-loopが効いてしまうぐらいの状態なので、デバイスドライバへの転送単位を大きくしてもあまり意味は無い(コンテキストスイッチのオーバーヘッドは無い)と考えられる。

という訳で現状では、ハードウェア化した効果は2.5倍で頭打ち。実際の内部の状態は見れないが、3倍ぐらいにはなるのではと思っていたので、ちょっとやばいかも。
まあgprofがターゲットボードで動いていないので、ハフマンデコーダをハードウェア化しないかぎりなんとも言えません。

(2)DCT部分誤差
RTL記述中で、丸め部分にバグがあることが判明。修正した。
しかし、微小な誤差が時々出ている。
まだ調査必要。

後記:
ソフトウェア側に微細なバグ発見。
ソフトウェアとRTLの出力は一致した。
IJGの出力に対して、時々±1のバグがIDCT一つに対して乗ることがある。
こちらはビット幅が怪しい。ビット幅の考察から見直し。