Lors de l’utilisation du Nios II® cœur Gen2, la région périphérique est introduite, où il existe une option d’adresse 32 bits. Avec Nios II® Gen2, pour une écriture sans cache, où le bit 31 est défini ou dans la région de la mémoire périphérique, le cache est contourné.
Les données non mises en cache et les données mises en cache ne peuvent plus être allouées sur la même ligne dans le cache de données, car Nios II® cœur Gen2 ne met pas à jour le cache dans une ligne non mise en cache. C’est le comportement de Nios II® Classic. Cependant, NIOS II® gen2 ne met plus à jour le cache pour les écritures non mises en cache.
Si vous disposez d’un Nios II de code® et que vous utilisez unNios II/f® Gen2 avec un cache de données, vous devez vérifier votre logiciel pour vous assurer qu’il ne mélange pas de données cacheables et incassables sur la même ligne de cache.
Une fois que vous avez terminé l’écriture de vos données, vous devez vous assurer de vider la mémoire cache à l’aide de la fonction alt_dcache_flush (void* start, alt_u32 len). Cette fonction vide le cache de données pour obtenir une région de mémoire de longueur d’octets len, à partir du démarrage de l’adresse. Le vidage du cache consiste à écrire des données sales, puis à l’invalider.