REPLACEMENT
REPLACEMENT
ALGORITHMS
ALGORITHMS
FIFO – First In First Out
LRU – Least Recently Used
LFU – Least Frequently Used
Least Recently Used – LRU
Least Recently Used – LRU
 Mengganti block di dalam set yang telah berada di dalam
cache paling lama dan tidak lagi di-refer.
 Untuk two-way set associative, masing-masing line
memuat bit USE. Ketika line di-refer, bit USE diset 1 dan
bit USE line lain diset 0. Ketika sebuah block dibaca ke
dalam set, line yang mempunyai bit USE 0 digunakan.
 Karena diasumsikan lokasi-lokasi memory lebih
belakangan (more recently) digunakan lebih mungkin di-
refer, maka LRU akan memberi rasio hit (hit ratio)
terbaik.
First In First Out – FIFO,
First In First Out – FIFO,
Least Frequently Used - LFU
Least Frequently Used - LFU
 FIFO dengan mudah diimplementasikan sebagai
teknik round robin atau circular buffer.
 LFU mengganti block di dalam set yang paling
tidak sering digunakan lagi.
 LFU bisa diimplementasikan dengan
memasangkan counter di masing-masing line.
 Teknik yang tidak berdasar pada penggunaan
(usage) adalah memilih line secara random dari line-
line calon (candidate lines).
Write Policy
Write Policy
 Write through (teknik tersederhana), dengan
teknik ini semua operasi write dilakukan di MM
maupun di cache, memastikan bahwa di MM
selalu valid.
 Module processor – cache lain bisa memonitor
traffic ke MM untuk memaintain konsistensi dalam
cache nya sendiri.
 Kerugian utama : menimbulkan traffic memory cukup
besar dan bisa menghasilkan bottleneck.
Write Policy
Write Policy
 Write back, meminimalkan memory write.
 Dengan write back, update dilakukan hanya di cache.
 Ketika update terjadi, bit UPDATE yang
terhubung pada line di-set. Ketika block ditukar
(replaced), ditulis kembali ke MM bila hanya bila bit
UPDATE di-set.
 Problem : bagian-bagian (portions) dari MM tidak
valid, sehingga akses-akses oleh I/O module bisa
diijinkan hanya melalui cache.
Write Policy
Write Policy
 Problem : ketika data di satu cache diubah, akan
meng-invalid word yang bersesuaian tidak hanya di
MM saja melainkan juga word yang sama di cache lain
(meskipun policy write-through digunakan).
 Sistem yang mencegah problem ini dikatakan me-
maintain cache coherency.
 Pendekatan-pendekatan cache coherency : Bus
watching with write through, Hardware
transparency, dan Noncacheable memory.
Line Size
Line Size
 Ketika block data diambil (retreived) dan ditempatkan
di dalam cache, tidak hanya word yang dibutuhkan
saja melainkan sejumlah word tetangga (adjacent
words) yang diambil.
 Block-block yang lebih besar mengurangi
banyaknya block yang fit (muat) di dalam cache.
 Seiring block menjadi lebih besar, masing-masing
word tambahan jauh dari word yang diminta (requested
words), oleh karena itu kemungkinannya kecil untuk
diperlukan dalam waktu dekat.
Number of Caches
Number of Caches
 Multilevel Caches
Cache pada chip yang sama seperti processor : the on-
chip cache. The on-chip cache mengurangi aktifitas
bus eksternal processor  mempercepat waktu
eksekusi dan meningkatkan kinerja sistem
keseluruhan.
Ketika requested instruction atau data ditemukan dalam
on-chip cache, maka bus access dihilangkan.
Two-level caches, dengan internal cache sbg level 1
(L1) dan external cache sbg level 2 (L2)
Number of Caches
Number of Caches
 Unified vs Split Caches
2 manfaat potensial dari Unified cache : (1) memiliki
hit rate lebih tinggi dibanding split caches, karena
menyeimbangkan load antara instruction fetch dan data
fetch secara otomatis. Yaitu, jika sebuah pola
instruksi melibatkan lebih banyak instruction fetch
dibanding data fetch, maka cache cenderung mengisi
dengan instructions, dan sebaliknya. (2) Hanya satu
cache yang perlu dirancang dan diimplementasikan.
Unified vs Split Caches
 Trend sekarang adalah ke pemakaian split
caches, khususnya karena superscalar machine
seperti Pentium dan PowerPC, yang
menekankan pengeksekusian instruksi paralel dan
prefetching untuk predicted future instructions.
 Kunci manfaat split caches design adalah meng-
eliminate contention untuk cache antara instruction
fetch/decode unit dengan execution unit.
Unified vs Split Caches
 Pipelining of instructions, processor akan fetch instruction di
depan (lebih awal) dan mengisi buffer, atau pipeline,
dengan instructions yang akan dieksekusi.
 Dengan unified instruction/data cache, ketika satuan
eksekusi melakukan akses memory untuk load dan store
data, request dikirim ke unified cache. Jika dalam waktu
bersamaan, instruction prefetcher mengeluarkan read request
ke cache untuk sebuah instruction, request tersebut akan
diblock sementara sehingga cache bisa melayani unit
eksekusi lebih dahulu, meng-enable nya untuk
menyelesaikan pengeksekusian instruksi saat itu.

REPLACEMENT ALGORITHMS ORGANIZAZIONAL COMPUTER.ppt

  • 1.
    REPLACEMENT REPLACEMENT ALGORITHMS ALGORITHMS FIFO – FirstIn First Out LRU – Least Recently Used LFU – Least Frequently Used
  • 2.
    Least Recently Used– LRU Least Recently Used – LRU  Mengganti block di dalam set yang telah berada di dalam cache paling lama dan tidak lagi di-refer.  Untuk two-way set associative, masing-masing line memuat bit USE. Ketika line di-refer, bit USE diset 1 dan bit USE line lain diset 0. Ketika sebuah block dibaca ke dalam set, line yang mempunyai bit USE 0 digunakan.  Karena diasumsikan lokasi-lokasi memory lebih belakangan (more recently) digunakan lebih mungkin di- refer, maka LRU akan memberi rasio hit (hit ratio) terbaik.
  • 3.
    First In FirstOut – FIFO, First In First Out – FIFO, Least Frequently Used - LFU Least Frequently Used - LFU  FIFO dengan mudah diimplementasikan sebagai teknik round robin atau circular buffer.  LFU mengganti block di dalam set yang paling tidak sering digunakan lagi.  LFU bisa diimplementasikan dengan memasangkan counter di masing-masing line.  Teknik yang tidak berdasar pada penggunaan (usage) adalah memilih line secara random dari line- line calon (candidate lines).
  • 4.
    Write Policy Write Policy Write through (teknik tersederhana), dengan teknik ini semua operasi write dilakukan di MM maupun di cache, memastikan bahwa di MM selalu valid.  Module processor – cache lain bisa memonitor traffic ke MM untuk memaintain konsistensi dalam cache nya sendiri.  Kerugian utama : menimbulkan traffic memory cukup besar dan bisa menghasilkan bottleneck.
  • 5.
    Write Policy Write Policy Write back, meminimalkan memory write.  Dengan write back, update dilakukan hanya di cache.  Ketika update terjadi, bit UPDATE yang terhubung pada line di-set. Ketika block ditukar (replaced), ditulis kembali ke MM bila hanya bila bit UPDATE di-set.  Problem : bagian-bagian (portions) dari MM tidak valid, sehingga akses-akses oleh I/O module bisa diijinkan hanya melalui cache.
  • 6.
    Write Policy Write Policy Problem : ketika data di satu cache diubah, akan meng-invalid word yang bersesuaian tidak hanya di MM saja melainkan juga word yang sama di cache lain (meskipun policy write-through digunakan).  Sistem yang mencegah problem ini dikatakan me- maintain cache coherency.  Pendekatan-pendekatan cache coherency : Bus watching with write through, Hardware transparency, dan Noncacheable memory.
  • 7.
    Line Size Line Size Ketika block data diambil (retreived) dan ditempatkan di dalam cache, tidak hanya word yang dibutuhkan saja melainkan sejumlah word tetangga (adjacent words) yang diambil.  Block-block yang lebih besar mengurangi banyaknya block yang fit (muat) di dalam cache.  Seiring block menjadi lebih besar, masing-masing word tambahan jauh dari word yang diminta (requested words), oleh karena itu kemungkinannya kecil untuk diperlukan dalam waktu dekat.
  • 8.
    Number of Caches Numberof Caches  Multilevel Caches Cache pada chip yang sama seperti processor : the on- chip cache. The on-chip cache mengurangi aktifitas bus eksternal processor  mempercepat waktu eksekusi dan meningkatkan kinerja sistem keseluruhan. Ketika requested instruction atau data ditemukan dalam on-chip cache, maka bus access dihilangkan. Two-level caches, dengan internal cache sbg level 1 (L1) dan external cache sbg level 2 (L2)
  • 9.
    Number of Caches Numberof Caches  Unified vs Split Caches 2 manfaat potensial dari Unified cache : (1) memiliki hit rate lebih tinggi dibanding split caches, karena menyeimbangkan load antara instruction fetch dan data fetch secara otomatis. Yaitu, jika sebuah pola instruksi melibatkan lebih banyak instruction fetch dibanding data fetch, maka cache cenderung mengisi dengan instructions, dan sebaliknya. (2) Hanya satu cache yang perlu dirancang dan diimplementasikan.
  • 10.
    Unified vs SplitCaches  Trend sekarang adalah ke pemakaian split caches, khususnya karena superscalar machine seperti Pentium dan PowerPC, yang menekankan pengeksekusian instruksi paralel dan prefetching untuk predicted future instructions.  Kunci manfaat split caches design adalah meng- eliminate contention untuk cache antara instruction fetch/decode unit dengan execution unit.
  • 11.
    Unified vs SplitCaches  Pipelining of instructions, processor akan fetch instruction di depan (lebih awal) dan mengisi buffer, atau pipeline, dengan instructions yang akan dieksekusi.  Dengan unified instruction/data cache, ketika satuan eksekusi melakukan akses memory untuk load dan store data, request dikirim ke unified cache. Jika dalam waktu bersamaan, instruction prefetcher mengeluarkan read request ke cache untuk sebuah instruction, request tersebut akan diblock sementara sehingga cache bisa melayani unit eksekusi lebih dahulu, meng-enable nya untuk menyelesaikan pengeksekusian instruksi saat itu.