Bei Verwendung des Nios II® Gen2-Kerns wird die Peripheriezone eingeführt, wo es eine 32-Bit-Adressoption gibt. Mit Nios II® Gen2 wird der Cache bei nicht gecacheden Schreibzugriffen, bei denen Bit 31 eingestellt ist, oder im peripheren Speicherbereich umgangen.
Nicht gecachede Daten und zwischengespeicherte Daten können nicht mehr auf der gleichen Zeile im Daten-Cache zugewiesen werden, da Nios II® Gen2-Kern den Cache nicht in einer nicht gecacheden Zeile aktualisiert. Dies ist das Verhalten bei Nios II® Classic. NIOS II® Gen2 aktualisiert den Cache jedoch nicht mehr für nicht gespeicherte Schreibvorgänge.
Wenn Sie bestehenden Nios II-Code® haben und eine Nios II/f® Gen2 mit einem Daten-Cache verwenden, müssen Sie Ihre Software überprüfen, um sicherzustellen, dass sie nicht cachefähige und nicht cachefähige Daten in der gleichen Cache-Zeile kombiniert.
Sobald Sie mit dem Schreiben Ihrer Daten fertig sind, sollten Sie sicherstellen, dass Sie den Cache leeren, indem Sie function alt_dcache_flush(void* start, alt_u32 len) verwenden. Mit dieser Funktion wird der Daten-Cache für einen Speicherbereich von len Byte geleert, beginnend mit dem Adressstart. Das Leeren des Cache besteht darin, Daten zurück zu schreiben und dann den Cache ungültig zu machen.