Pemahaman saya adalah bahwa perbedaan utama antara kedua metode tersebut adalah bahwa dalam metode "tulis-melalui" data ditulis ke memori utama melalui cache segera, sedangkan dalam "menulis kembali" data ditulis dalam "waktu terakhir".
Kita masih harus menunggu memori di "waktu yang terakhir" jadi Apa manfaat "menulis melalui"?
caching
cpu-architecture
cpu-cache
Naftaly
sumber
sumber
write back
memiliki kinerja yang lebih baik?write back
memiliki kinerja yang lebih baik, karena menulis ke memori utama jauh lebih lambat daripada menulis ke cache cpu, dan datanya mungkin pendek selama (berarti mungkin berubah lagi lebih cepat, dan tidak perlu memasukkan versi lama ke dalam memori). Ini rumit, tetapi lebih canggih, sebagian besar memori di cpu modern menggunakan kebijakan ini.Jawaban:
Manfaat write-through ke memori utama adalah menyederhanakan desain sistem komputer. Dengan write-through, memori utama selalu memiliki salinan baris terbaru. Jadi ketika pembacaan selesai, memori utama selalu dapat membalas dengan data yang diminta.
Jika write-back digunakan, terkadang data terbaru berada di cache prosesor, dan terkadang di memori utama. Jika data berada dalam cache prosesor, maka prosesor tersebut harus menghentikan memori utama dari membalas permintaan baca, karena memori utama mungkin memiliki salinan data yang sudah basi. Ini lebih rumit daripada menulis melalui.
Selain itu, tulis-tayang dapat menyederhanakan protokol koherensi cache karena tidak memerlukan status Modify . The Modify negara catatan bahwa cache harus menulis kembali baris cache sebelum membatalkan atau evicts baris. Dalam penulisan tembolok baris cache selalu dapat dibatalkan tanpa menulis kembali karena memori telah memiliki salinan baris terbaru.
Satu hal lagi - pada perangkat lunak arsitektur tulis-balik yang menulis ke register I / O yang dipetakan memori harus mengambil langkah ekstra untuk memastikan bahwa penulisan segera dikirim dari cache. Jika tidak, tulisan tidak akan terlihat di luar inti sampai garis dibaca oleh prosesor lain atau garis tersebut dikeluarkan.
sumber
Mari kita lihat ini dengan bantuan sebuah contoh. Misalkan kita memiliki cache yang dipetakan langsung dan kebijakan tulis kembali digunakan. Jadi kami memiliki bit yang valid, bit kotor, tag, dan bidang data di baris cache. Misalkan kita memiliki operasi: tulis A (di mana A dipetakan ke baris pertama cache).
Apa yang terjadi adalah bahwa data (A) dari prosesor ditulis ke baris pertama cache. Bit yang valid dan bit tag ditetapkan. Bit kotor disetel ke 1.
Bit kotor hanya menunjukkan bahwa baris cache pernah ditulis sejak terakhir kali dibawa ke cache!
Sekarang misalkan operasi lain dilakukan: baca E (di mana E juga dipetakan ke baris cache pertama)
Karena kami memiliki cache yang dipetakan langsung, baris pertama dapat dengan mudah diganti dengan blok E yang akan dibawa dari memori. Tetapi karena blok yang terakhir dituliskan ke dalam baris (blok A) belum ditulis ke dalam memori (ditandai dengan bit kotor), maka pengontrol cache akan terlebih dahulu mengeluarkan penulisan kembali ke memori untuk mentransfer blok A ke memori, kemudian itu akan menggantikan baris dengan blok E dengan mengeluarkan operasi baca ke memori. bit kotor sekarang disetel ke 0.
Jadi kebijakan tulis kembali tidak menjamin bahwa pemblokiran tersebut akan sama di memori dan baris cache yang terkait. Namun, setiap kali baris akan diganti, tulis kembali dilakukan pada awalnya.
Kebijakan write through adalah kebalikannya. Menurutnya, memori akan selalu memiliki data yang up-to-date. Artinya, jika blok cache ditulis, memori juga akan ditulis sesuai. (tidak menggunakan potongan kotor)
sumber
mungkin artikel ini bisa membantu anda link disini
Write-through: Penulisan dilakukan secara sinkron baik ke cache maupun ke penyimpanan cadangan.
Write-back (atau Write-behind): Penulisan dilakukan hanya ke cache. Blok cache yang dimodifikasi ditulis kembali ke penyimpanan, tepat sebelum diganti.
Write-through: Ketika data diperbarui, itu ditulis ke cache dan penyimpanan back-end. Mode ini mudah dioperasikan tetapi lambat dalam penulisan data karena data harus ditulis ke cache dan penyimpanan.
Write-back: Ketika data diperbarui, itu hanya ditulis ke cache. Data yang dimodifikasi ditulis ke penyimpanan ujung belakang hanya saat data dihapus dari cache. Mode ini memiliki kecepatan tulis data yang cepat tetapi data akan hilang jika listrik mati sebelum data yang diperbarui ditulis ke penyimpanan.
sumber
Write-back dan write-through mendeskripsikan kebijakan ketika hit tulis terjadi, yaitu ketika cache memiliki informasi yang diminta. Dalam contoh ini, kami menganggap satu prosesor sedang menulis ke memori utama dengan cache.
Write-through: Informasi ditulis ke cache dan memori, dan penulisan selesai jika keduanya telah selesai. Keuntungannya karena lebih sederhana untuk diterapkan, dan memori utama selalu konsisten (sinkron) dengan cache (untuk kasus uniprocessor - jika beberapa perangkat lain mengubah memori utama, maka kebijakan ini tidak cukup), dan kesalahan pembacaan tidak pernah menghasilkan penulisan ke memori utama. Kerugian yang jelas adalah bahwa setiap klik tulis harus melakukan dua penulisan, salah satunya mengakses memori utama yang lebih lambat.
Write-back: Informasi ditulis ke satu blok di cache. Blok cache yang dimodifikasi hanya ditulis ke memori ketika diganti (pada dasarnya, penulisan malas ). Bit khusus untuk setiap blok cache, bit kotor , menandai apakah blok cache telah dimodifikasi atau belum saat berada di cache. Jika bit kotor tidak diset, blok cache "bersih" dan kesalahan penulisan tidak harus menulis blok ke memori.
Keuntungannya adalah penulisan dapat terjadi pada kecepatan cache, dan jika menulis dalam blok yang sama, hanya diperlukan satu penulisan ke memori utama (ketika blok sebelumnya diganti). Kerugiannya adalah protokol ini lebih sulit untuk diterapkan, memori utama tidak konsisten (tidak sinkron) dengan cache, dan pembacaan yang mengakibatkan penggantian dapat menyebabkan penulisan blok kotor ke memori utama.
Kebijakan untuk kehilangan menulis dirinci di tautan pertama saya.
Protokol ini tidak menangani kasus dengan banyak prosesor dan banyak cache, seperti yang umum pada prosesor modern. Untuk ini, diperlukan mekanisme koherensi cache yang lebih rumit . Cache tulis-tayang memiliki protokol yang lebih sederhana karena penulisan ke cache segera tercermin dalam memori.
Sumber daya yang bagus:
sumber
Write-Back adalah cara yang lebih kompleks dan membutuhkan Cache Coherence Protocol (MOESI) yang rumit tetapi itu sepadan karena membuat sistem cepat dan efisien.
Satu-satunya keuntungan dari Write-Through adalah membuat penerapannya sangat sederhana dan tidak diperlukan protokol koherensi cache yang rumit.
sumber