私はARM cortex-a8プロセッサ上で動作する画像処理プロジェクトを改善しようとしています。ARM Cortex-A8:1つのメモリに読み込まれるバイト数は何バイトですか?
私はメモリから8ビットのグレースケールイメージデータにアクセスしていました。私の関数では、今私は個々のピクセル値にバイト単位でアクセスしています。
NEONを使用することで、メモリからワンショットで128/8 = 16バイトにアクセスし、それを自分の機能で使用することでこれを改善できると思いました。しかし、変更されたバージョンを実行すると、これは実際にはより多くのバイト単位のアクセスよりも時間かかることがわかります。私はNEONを使ったフェッチがボトルネックになり、計算時間よりも時間がかかると思います。
ARM Cortex-A8のデータバスサイズはどのくらいですか? 1回のメモリフェッチでメモリからアクセスされるバイト数はいくつですか? Cortex A8 TRMから
キャッシュは、通常これを抽象化しています。 SDRAMから、バースト読み書きを行います。ダイレクトスクリーンメモリを使用している場合、キャッシュは* write through *かもしれません。答えは、使用しているメモリによって異なります。あなたは常に*メモリパフォーマンス*をベンチマークして、あなたのコードと比較するべきです。 「Cortex-A8メモリコピー」(http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka13544.html)を参照してください。 –