DC_TouchRange

構文

#include <nitro/os.h>
void DC_TouchRange( const void* startAddr, u32 nBytes );

引数

startAddr プリロードする範囲の最下位アドレス
nBytes プリロードする範囲のバイト数

返り値

なし。

説明

指定したメモリ領域のデータをデータキャッシュに先読みするようCPUへ指示します。

startAddr は32バイト単位で下位方向に丸められます。startAddr + nBytes は32バイト単位で上位方向に丸められます。


注意

この関数はpld命令を実行しますがARM946E-Sではpld命令を認識しても何も動作しない仕様となっていますので、 実際には何も行わない関数となります。この関数は古いプログラムコードとの互換性のために残されています。

内部動作

pld 命令により先読みします。
この関数は指定領域をキャッシュライン単位に分割して操作を繰り返すため、領域サイズに比例した処理時間を必要とします。

参照

DC_LockdownRange

履歴

2005/12/22 pld命令が何もしない旨の説明を追記
2005/11/14 startAddrの型をconst void*に変更
2005/04/19 領域サイズに比例した処理時間を要する旨を追記
2003/12/22 初版