Jika saya memiliki CPU dengan dua core, masing-masing core memiliki cache L1 sendiri, mungkinkah Core1 dan Core2 cache bagian memori yang sama pada saat yang sama?
Iya. Performa akan mengerikan jika ini tidak terjadi. Pertimbangkan dua utas yang menjalankan kode yang sama. Anda ingin kode itu di kedua cache L1.
Jika memungkinkan, berapakah nilai memori utama jika Core1 dan Core2 telah mengedit nilainya dalam cache?
Nilai lama akan berada di memori utama, yang tidak masalah karena CPU tidak akan membacanya. Sebelum mengeluarkan nilai yang dimodifikasi dari cache, itu harus ditulis ke memori. Biasanya beberapa varian protokol MESI digunakan. Dalam implementasi MESI tradisional, jika suatu nilai diubah dalam satu cache, itu tidak bisa hadir sama sekali dalam cache lain di tingkat yang sama.