QSPIフラッシュ読み出しとCRC計算で処理時間のばらつき

お世話になります。

 

RZ/T1で、BTCMで実行しているソフトですが、QSPIフラッシュを読みながらCRC演算器で計算させています。

256kByte程度の処理で、処理時間が早いときと遅いときがあり悩んでいます。

時間はばらつくわけではなく2通りで、時間差としては4%程度になります。

シリアルフラッシュアドレス:3000 0000h~ から CRC データ入力レジスタ(CRCDIR)への書き込みになります。

フラッシュはキャッシュに読み込まれますが、その読み出し時間は変わらないようです。

 

何か考えられることはあるでしょうか?

よろしくお願いいたします。

Parents
  • 返信ありがとうございます。

    ルネサスへの問い合わせはこちらと同時に行いました。
    なんとなく傾向は分かったのですが、ルネサスから回答が来たらこちらへも書き込みます。
  • ルネサスさんから回答が来ました。
    CRC演算器が接続されている周辺バスとメインバスは非同期のためアクセス時間に数クロックのばらつきがでるそうです。ループ1回あたり数クロックでもループ回数が多いとばらつきが目立つということでした。
    ただ、早いときと遅いときの両極端なのでそこは疑問が残ります。
  • 最近の速いプロセッサでこういう不確定性が出てしまうのはもう、こういう物だとして受け入れるしかないのかなと思います。
    周辺/メインバスの周波数の関係が整数倍なのか/位相が揃っている事が期待できるのかどうかによっても変わってきますし、データサイズによってもばらつきの傾向が変わると思います。
    でも、256kByteもあればばらつきは平均化されて見えなくなるような気はしますね。
    256Byteじゃなくて、256"k"Byteなんですよね
  • わわいです
    そういう理由なら、SPIの内容を一気にメモリに展開し、改めてそれをCRC計算するってので分離してしまえば良さそうですが、そこらへんどんなもんでしょうか
Reply
  • わわいです
    そういう理由なら、SPIの内容を一気にメモリに展開し、改めてそれをCRC計算するってので分離してしまえば良さそうですが、そこらへんどんなもんでしょうか
Children
No Data