• Tidak ada hasil yang ditemukan

MEMORI CACHE

Dalam dokumen Diktat Organisasi Komputer.pdf (Halaman 30-37)

1. Definisi dan Fungsi

Keberadaan memori cache dimaksudkan untuk mempercepat kerja dari memori utama sehingga mendekati kecepatan prosesor, cache memiliki salinan data dari memori utama. Pada saat CPU membaca sebuah word memori maka terlebih dahulu akan memeriksa keberaan word tersebut didalam cache bila ditemukan akan langsung dikirim ke CPU bila tidak ditemukan maka pencarian akan dilanjutkan ke memori utama. Cache terhubung dengan prosesor melalui saluran data, kontrol dan alamat.

Gambar 4.1. Cache dan Memori Utama

Keberadaan cache bisa terletak pada prosesor yang disebut on chip cache atau cache internal/ cache tingkat 1 (L1) dan berada diluar prosesor yang disebut off chip cache atau cache eksternal/cache tingkat 2 (L2)

Pada gambar berikut menjelaskan konsep kerja dari prosesor menuju cache dengan kondisi cache hit yaitu suatu keadaan ditemukannya data didalam cache dan cache miss keadaan tidak ditemukannya data didalam memori cache.

Pada peristiwa cache hit, buffer alamat dan buffer data akan diabaikan komunikasi terjadi hanya diantara prosesor dan cache.

Pada keadaan cache miss alamat akan dimuat pada sistem bus dan data akan dikembalikan dari cache maupun prosesor melalui buffer data.

Waktu yang digunakan untuk membawa word data dari memori utama menuju prosesor disebut sebagai miss pinallty.

Word Block

CPU Cache M em ori

ut am a Kapasit as

kecil, cepat

Kapasit as besar, lam bat

Gambar 4.2. Organisasi Cache Memori

Semakin besar ukuran cache maka semakin lambat unjuk kerja dari cache tersebut. Memori cache disusun atas sejumlah baris (disebut juga blok) dengan ukuran setiap baris sama dengan ukuran blok pada memori utama hanya saja memori utama memiliki jumlah blok yang lebih. Untuk itu diperlukan metode pemetaan untuk melakukan pemindahan word data dari keduanya.

2. Metode Pemetaan

Pemetaan Langsung, blok memori utama dipetakan ke satu baris khusus dalam memori

cache. Setiap saluran pada baris cache akan diberikan alamat dari blok sehingga tidak ada 2 blok memori utama dipetakan pada baris yang sama pada cache.

Kelebihan:

Metode ini sederhana karena tag dari baris cache hanya satu yang cocok dengan field tag dari memori utama yang diberikan.

Kekurangan :

Blok memori tertentu dipetakan pada suatu baris cache yang tetap. Jika dua blok yang sering diakses terjadi untuk dipetakan pada baris cache yang sama maka hit ratio pada baris yang sering diakses kecil menyebabkan eksekusi program menjadi lambat.

Gambar 4.2. Organisasi Cache Pemetaan Langsung

Pemetaan Asosiatif

Setiap blok memori utama akan dimuat kesembarang saluran cache berdasarkan tag yang dimiliki memori utama yang diatur oleh kontrol logika cache. Metode ini mengatasi kekurangan pada pemetaan langsung.

Kelebihan :

Fleksibelitas tinggi. Suatu blok memori dapat dimuatkan pada sembarang baris cache

Kekurangan:

Merupakan sistem yang mahal. Pengontrol cache menjadi komplek karena pencarian parallel terhadap perpindahan blok pada baris.

Gambar 4.3. Organisasi Cache Pemetaan Asosiatif

Pemetaan Assosiatif Set

Merupakan penggabungan dari dua metode pemetaan langsung dan assosiatif. Jumlah total baris cache dikelompokan ke dalam set yang banyak. Setiap blok memori utama dapat dimuat dalam sembarang saluran cache.

Kelebihan:

Menyediakan fleksibelitas yang lebih baik. Terdapat pilihan yang banyak dalam pemetaan suatu blok memori.

Selama pembacaan dan pencarian terjadi hanya dalam suatu set. Tidak seperti assosiatif pencarian dilakukan pada semua cache.

Kekurangan:

Biaya lebih mahal daripada pemetaan langsung namun tidak lebih mahal dari pemetaan assosiatif.

Gambar 4.4. Organisasi Cache Pemetaan Asosiatif Set

Gambar 4.4. Contoh Pemetaan Asosiatif Set

Gambar 4.5. Contoh Pemetaan Asosiatif Set

3. Algoritma Penggantian

Merupakan metode yang digunakan untuk membuat kosong isi dari memori cache untuk dapat dimuatkan blok data yang baru. Dalam pemetaan langsung tidak diperlukan algoritma penggantian. Tiga metode algoritma penggantian yang akan diuraikan sebagai berikut:

 Random Choice: memilih baris cache secara acak tanpa suatu acuan.

 First In First Out (FIFO) : memilih set yang telah berada pada cache dalam waktu yang lama.

 Least Frequently Used (LFU): mengganti blok data yang mempunyai referensi paling sedikit.

 Least recently Used (LRU) mengganti blok data terlama yang berada pada cache dan tidak memiliki referensi.

Write Policy

Sebelum dilakukan penggantian terhadap data yang berada pada memori cache perlu dilakukan cek apakah data pada memori telah sama. Bila data memori utama telah using maka segera digantikan. Dua metode yang digunakan:

 Write Through Policy

Penulisan data yang sama dalam memori utama sekaligus dalam memori cache. Metode ini memperlambat eksekusi dikarenakan setiap saat memerlukan akses ke memori utama.

 Write Back Policy penulisan hanya pada memori cache saja. Data pada memori cache akan dipindahkan ke memori utama apabila cache ingin melakukan perubahan data. Hal ini akan menimbulkan masalah apabila perangkat I/O mengakses data pada memori utama yang belum update.

Pendekatan yang mungkin dilakukan bagi koherensi cache meliputi:

 Bus Watching with Write Through, cache controller akan melakukan monitoring bus alamat untuk mendeteksi setiap operasi. Apabila ditemukan adanya penulisan pada alamat yang dipakai bersama maka data pada cache akan dianggap tidak valid.

 Hardware transparency, adanya perangkat keras tambahan yang menjamin semua updating data pada memori utama dan cache.

 Non Cacheable Memory, hanya bagian memori utama tertentu yang digunakan secara bersama oleh lebih dari satu prosesor. seluruh Akses yang masuk pada bagian memori ini dianggap sebagai cache miss dikarenakan data tidak akan pernah disalin kedalam cache.

Dalam dokumen Diktat Organisasi Komputer.pdf (Halaman 30-37)

Dokumen terkait