Operasi Cache

Cache adalah himpunan kemasukan. Setiap kemasukan mempunyai datum, iaitu salinan kepada datum dalam storan sokongan lain. Setiap kemasukan turut mempunyai tag, yang menyatakan identiti datum dalam storan penyokong yang mana adalah salinan kemasukan.

Apabila pelanggan cache (CPU, pelayar web, sistem operasi) ingin mencapai datum yang dianggap terdapat dalam storan sokongan, ia memeriksa cache dahulu. Jika kemasukan dijumpai dengan tag yang padan dengan datum yang diperlukan, datum dalam kemasukan itu digunakan. Situasi ini dikenali sebagai jumpaan cache cache hit. Jadi sebagai contoh, perisian pelayar web mungkin memeriksa cache tempatannya di cakera untuk melihat sama ada ia mempunyai salinan tempatan laman web pada URL tertentu. Dalam contoh ini, URL adalah tag, dan kandungan laman web adalah datum tersebut.

Situasi lain, apabila cache diperiksa dan tidak mengandungi datum yang diperlukan, ia dikenali sebagai cache miss. Datum diambil dari storan sokongan semasa pengendalian tidak tepat cache miss biasanya diletak ke dalam cache, sedia untuk capaian berikutnya. Sekiranya cache mempunyai simpanan terhad, ia mungkin perlu menyingkir kemasukan lain bagi memberi ruang. Sains Heuristic digunakan bagi menentukan kemasukan mana perlu disingkir yang dikenali sebagai polisi gantian. Satu polisi gantian, LRU, menggantikan kemasukan yang paling kurang digunakan.

Apabila datum ditulis kepada cache, ia mesti pada suatu masa perlu juga disalin kepada storan simpanan. Tempoh penyalinan ini dikawal oleh apa yang dikenali sebagai polisi menulis. Dalam cache sentiasa-tulis - (write-through), setiap penulisan pada cache menyebabkan penulisan pada storan simpanan juga. Pilihan lain, dalam penulisan cache kembali-tulis - (write-back) tidak disalin serta merta pada ingatan. Sabaliknya, cache menjejak lokasi di mana telah ditulis semula (lokasi ini ditanda kotor). Data pada lokasi ini ditulis semula pada ingatan utama apabila data disingkir dari cache. Dengan itu, miss dalam cache tulis semula seringkali memerlukan dua capaian ingatan untuk diservis.

Penulisan-semula data boleh dimulakan oleh polisi lain juga. Pelanggan mungkin membuat banyak perubahan kepada datum di cache, dan memberitahu cache dengan jelas untuk kembali-tulis datum.

Data dalam ingatan utama yang di cache mungkin ditukar oleh entiti lain, dalam kes ini salinan cache menjadi lapuk atau usang. Pilihan lain, apabila pelanggan mengemaskini data di cache, salinan data dalam cache lain menjadi lapuk. Protokol komunikasi antara pengurus cache yang mengekalkan data konsistent dikenali sebagai protokol koherensi cache-(cache coherency)