モジュロ(サーキュラ)アドレッシングに... 投稿者:nami 投稿日:2007/04/11(Wed) 17:04 No.1412 | |
|
はじめまして。
最近、ARM9(+DSP拡張)のソフトウェア開発を始めたばかりの初心者で、 いつも拝見させて頂いています。
他のDSPコードを移植するように言われたのですが、ARMには モジュロアドレッシングがありません。 いちいちコピーするのでは、メモリのロード/ストアで時間が かかってしまいます。 皆様は、どういった方法でモジュロアドレッシングを 回避しておられるのか、ご教示下さい。
|
| Re: モジュロ(サーキュラ)アドレッシン... jun - 2007/04/11(Wed) 23:04 No.1413 | |
|
|
DSPもモジュロアドレッシングも使った事ありませんが、 リングバッファということなら、バッファサイズが2のべき乗の場合:
@ r2 バッファ先頭 @ r3 読み込み位置オフセット @ r4 書き込み位置オフセット @ r5 バッファサイズ-1
@ r1に読み込み ldr r1, [r2, r3] add r3, r3, #4 and r3, r3, r5
@ r1を書き込み str r1, [r2, r4] add r4, r4, #4 and r4, r4, r5
ではどうでしょうか? |
| Re: モジュロ(サーキュラ)アドレッシン... nami - 2007/04/13(Fri) 12:08 No.1414 | |
|
|
ありがとうございました。
これをもとに、2のべき乗で無い場合も色々試してみましたが、 やはり、3サイクルはどうしてもかかってしまうんですね。 |
|