Cache berasal dari kata cash. Dari istilah tersebut, cache berarti tempat
menyembunyikan atau tempat simpanan sementara. Memory ini terletak antara register dan
RAM (memori utama), sehingga pemrosesan data tidak langsung mengacu pada memori utama.
Tipe memory ini adalah tipe SDRAM yang memiliki kapasitas terbatas namun memiliki
kecepatan yang sangat tinggi dan harga yang lebih mahal daripada memori utama. Harga
memory ini bisa mencapai seratus dollar per mega byte-nya ($100/MB).
Prinsip kerja dari cache memory yaitu data-data yang digunakan kembali (reusable)
disimpan di dalam cache memory dan apabila sekali waktu diperlukan, ALU akan mengambil
data tersebut dari memori ini. Cara ini dimaksudkan untuk meningkatkan transfer data dengan
menyimpan data yang pernah diakses pada cache memory tersebut, sehingga apabila data yang
diakses adalah data yang sama maka data langsung diambil dari cache memory. Pendekatan
seperti ini membuat pemrosesan data menjadi lebih cepat jika dibandingkan dengan pemrosesan
data yang datanya diperoleh dari RAM.
■ Cache memory merupakan memori tipe SDRAM yang memiliki kecepatan sangat tinggi
dan digunakan untuk menjembatani gap atau perbedaan kecepatan antara CPU (cepat) dan
main memory (lambat)
■ Kapasitas lebih kecil tetapi lebih cepat dari RAM (main memory);
■ Cache memory menyimpan salinan data dari memori utama, tetapi saat pemrosesan
data tidak langsung mengacu atau berhadapan dengan memori utama ;
■ Word atau eksekusi perintah yang disimpan didalam cache memory diambil dari main
memory sesuai perintah CPU.
Terdapat tiga level cache yang digunakan komputer, yaitu Level 1 (Cache L1), Level 2
(Cache L2) dan Level 3 (Cache L3). Prinsip kerjanya ketiga level ini sederhana. CPU pertama-
tama akan memeriksa L1 cache, diikuti dengan L2 dan L3 cache. Jika processor telah
menemukan bit data yang dibutuhkan, maka disebut dengan cache hit. Namun jika cache tidak
menyediakan bit data yang dibutuhkan, processor mendapatkan sebuah cache miss, dan data
akan diambil dari RAM (main memory) yang lebih lambat.
Cache Level 1 (L1) terletak di dalam prosesor (internal cache), memiliki kecepatan
akses paling tinggi dan harganya paling mahal. Ukuran byte untuk Cache L1 bervariasi, mulai
dari 8KB, 64KB, dan 128KB. Cache L1 terintegrasi langsung di dalam prosesor agar instruksi-
instruksi yang dibutuhkan untuk menjalankan program telah siap digunakan dan hanya tinggal
mengambilnya langsung dari Cache L1, sehingga CPU dapat memproses request tanpa adanya
jeda (delay).
Cache Level 2 (L2) memiliki kapasitas yang lebih besar dari L1 yaitu sekitar 256KB -
2MB, akan tetapi memiliki kecepatan yang lebih rendah dari L1. Cache L2 letaknya terpisah
dengan prosesor atau disebut external cache. Biasanya L2 cache terintegrasi langsung pada
motherboard komputer.
Cache level 3 (L3) hanya dimiliki oleh komputer multi-prosesor. Fungsinya mengontrol
data yang masuk dari cache L2 dari masing-masing inti prosesor. Beberapa processor juga
menggabungkan L1 dan L2 cache bahkan juga menggabungkan L3 cache. Kecepatan akses L3
cache memang lebih lambat daripada kedua level cache tadi, namun memiliki kapasitas memori
yang jauh lebih besar.
Setiap block dari memori utama hanya memetakan ke dalam satu baris cache. Jika suatu
block ditemukan di cache, maka block tersebut selalu ditemukan pada tempat yang sama.
Nomor baris dihitung menggunakan rumus berikut:
i = j modulo m
0 0, m, 2m, 3m…2s-m
1 1,m+1, 2m+1…2s-m+1
Pada cara ini, address pada main memory dibagi 3 field atau bagian, yaitu Tag
identifier, Line number identifier, dan Word identifier (offset). Word identifier berisi
informasi tentang lokasi word atau unit addressable lainnya dalam line tertentu pada cache. Line
identifier berisi informasi tentang nomor fisik (bukan logika) line pada cache. Tag identifier
disimpan pada cache bersama dengan blok pada line. Untuk setiap alamat memory yang dibuat
oleh CPU, line tertentu yang menyimpan copy alamat tsb ditentukan, jika blok tempat lokasi
data tersebut sudah dikopi dari main memory ke cache . Tag yang ada pada line akan dicek
untuk melihat apakah benar blok yang dimaksud ada pada line tsb.
Item Keterangan
Panjang alamat (s + w) bits
Jumlah unit yang dapat dialamati 2s+w words or bytes
Ukuran Blok sama dengan ukuran Line 2w words or bytes
Jumlah blok di memori utama 2s+ w/2w = 2s
Jumlah line di cache m = 2r
Besarnya tag (s - r) bits
2 2 b i t s
2 bits
G
ambar 2.1.2. Organisasi Associative Mapping cache.
Item Keterangan
Panjang alamat (s + w) bits
Jumlah unit yang dapat dialamati 2s+w words or bytes
Ukuran Blok sama dengan ukuran Line 2w words or bytes
Jumlah blok di memori utama 2s+ w/2w = 2s
Jumlah line di cache undetermined
Besarnya tag s bits
Item Keterangan
Panjang alamat (s + w) bits
Jumlah unit yang dapat dialamati 2s+w words or bytes
Ukuran Blok sama dengan ukuran Line 2w words or bytes
Jumlah blok di memori utama 2d
Jumlah line dalam set k
Jumlah set V=2d
Jumlah line di cache Kv = k*2d
Besarnya tag (s-d) bits
3.1.
Data yang telah berubah pada memori utama harus di update di cache memory agar tidak
menimbulkan data yang tidak valid karena perbedaan di cache dan memory utama.
Ada beberapa teknik update diantaranya, write through, yaitu operasi penulisan melibatkan
data pada memori utama dan sekaligus pada cache memory sehingga
data selalu valid. Kekurangan teknik ini adalah menjadikan lalu lintas data sangat tinggi sehingga
bisa terjadi hang. Teknik lainnya adalah write back, yaitu teknik meminimasi penulisan dengan cara
penulisan pada cache memory saja. Pada saat akan terjadi penggantian blok data cache memory
maka baru diadakan penulisan di memori utama.
DAFTAR PUSTAKA
Prentice Hall.
Malvino, Albert Paul. Digital Computer Electronic, diterjemahkan oleh Tjia May