知りたいのですが、マイクロプロセッサ (ロング モードの SandyBridge アーキテクチャで言う) は、データを「L1 コード」キャッシュから「L1 データ」キャッシュに、またはその逆にどのように切り替えますか? ページがデータ ストレージに使用されたため、L1 キャッシュにキャッシュされたとします。次に、OS の実行中に、命令ポインタが現在 L1 データ キャッシュにキャッシュされているメモリ位置にジャンプします (JMP 命令を発行します)。プロセッサはデータを L1 データから L1 コード キャッシュに移行しますか? データ管理命令が L1 コード キャッシュに格納されているアドレスに対して発行された場合 (つまり、アドレスがコード実行ではなくデータ格納に適していることを意味します) についても同じ質問があります。プロセッサはこれらの問題をどのように処理しますか?
私は自己変更コードについて勉強しているので、これを尋ねています。コードキャッシュの詳細を読むことができる追加情報があれば、リンク/参照を投稿してください。