Gen2 コア®Nios II を使用すると、ペリフェラル領域が導入され、32 ビットのアドレスオプションが存在します。Nios II® Gen2 では、ビット 31 が設定されているか、ペリフェラル・メモリー領域にあるキャッシュされていない書き込みでは、キャッシュはバイパスされます。
キャッシュされていないデータとキャッシュされたデータは、gen2 コア Nios II®キャッシュされていない行でキャッシュを 更新しないため、データキャッシュ内の同じ行に割り当てられません。これは、Nios II® Classic の動作です。しかし、NIOS® II® gen2 では、キャッシュされていない書き込み用のキャッシュは更新されません。
既存のNios II® コードを使用していて、データキャッシュでNios II/f® Gen2 を使用している場合、ソフトウェアをチェックして、同じキャッシュライン上でキャッシュ可能なデータとキャッシュ不能なデータが混在しないことを確認する必要があります。
データの書き込みが完了したら、関数alt_dcache_flush (void* start、alt_u32 alt_u32)を使用してキャッシュをフラッシュする必要があります。この関数はアドレスの先頭から、長さ 5 バイトのメモリー領域のデータキャッシュをフラッシュします。キャッシュのフラッシュは、スバックデータを書き戻し、キャッシュを無効化することで構成されます。