Linuxで簡単なドライバを作って、メモリ転送の性能測定をしてみました。
メモリはSpartanのブロックRAMを使っていて、PCIクロックに同期して読み書きができるはずです。
しかし...、
- 32MBライト=9.77MB/s
real 0m3.274s
user 0m0.000s
sys 0m3.276s
- 32MBリード=5.28MB/s
real 0m6.060s
user 0m0.000s
sys 0m6.052s
32bitPCIバスの理論性能値は133MB/sですから、1/10~1/20程度しか性能が出ていないことが判ります。まあ、シングル転送オンリーの上に無駄な状態遷移が沢山あるので仕方ないといえば仕方ありません。リードがライトの半分しか出ない理由は不明ですが、どこかで無駄なクロックを消費しているのでしょう...。
0 件のコメント:
コメントを投稿