Tembolok (komputer)

Konsep memori singgahan

Pengertian singgahan
Istilah Cache berasal dari kata bahasa Prancis cache yang berarti tempat sembunyi. Sesuai definisi tersebut cache adalah tempat menyimpan data sementara. Mekanisme ini dimaksudkan untuk meningkatkan transfer data dengan menyimpan data yang pernah diakses pada singgahan tersebut, sehingga apabila ada data yang ingin diakses adalah data yang sama maka maka akses akan dapat dilakukan lebih cepat. Singgahan adalah memori tipe SDRAM yang memiliki kapasitas terbatas namun memiliki kecepatan yang sangat tinggi dan harga yang lebih mahal dari memori utama. Memori singgahan ini terletak antara register dan RAM (memori utama) sehingga pemrosesan data tidak langsung mengacu pada memori utama.
Tingkatan singgahan
Memori singgahan bisa terdiri dari beberapa tingkatan, misalnya L1,L2 dan L3. Singgahan memori level 1 (L1) adalah memori singgahan yang terletak dalam prosesor (cache internal). Singgahan ini memiliki kecepatan akses paling tinggi dan harganya paling mahal. Ukuran memori berkembang mulai dari 8Kb, 64Kb dan 128Kb. Singgahan level 2 (L2) memiliki kapasitas yang lebih besar yaitu berkisar antara 256Kb sampai dengan 2Mb. Namun singgahan L2 ini memiliki kecepatan yang lebih rendah dari singgahan L1. Singgahan L2 terletak terpisah dengan prosesor atau disebut dengan singgahan eksternal. Sedangkan singgahan level 3 hanya dimiliki oleh prosesor yang memiliki unit lebih dari satu misalnya dualcore dan quadcore. Fungsinya adalah untuk mengontrol data yang masuk dari singgahan L2 dari masing-masing inti prosesor.
Cara kerja singgahan
Jika prosesor membutuhkan suatu data, pertama-tama ia akan mencarinya pada singgahan. Jika data ditemukan, prosesor akan langsung membacanya dengan delay yang sangat kecil. Tetapi jika data yang dicari tidak ditemukan,prosesor akan mencarinya pada RAM yang kecepatannya lebih rendah. Pada umumnya, singgahan dapat menyediakan data yang dibutuhkan oleh prosesor sehingga pengaruh kerja RAM yang lambat dapat dikurangi. Dengan cara ini maka memory bandwidth akan naik dan kerja prosesor menjadi lebih efisien. Selain itu kapasitas memori singgahan yang semakin besar juga akan meningkatkan kecepatan kerja komputer secara keseluruhan.
Dua jenis singgahan yang sering digunakan dalam dunia komputer adalah memory caching dan disk caching. Implementasinya dapat berupa sebuah bagian khusus dari memori utama komputer atau sebuah media penyimpanan data khusus yang berkecepatan tinggi.
Implementasi memory caching sering disebut sebagai memory cache dan tersusun dari memori komputer jenis SDRAM yang berkecepatan tinggi. Sedangkan implementasi disk caching menggunakan sebagian dari memori komputer.

Stuktur sistem singgahan

Memori utama terdiri dari sampai dengan 2ⁿ word beralamat, dengan masing-masing word mempunyai n-bit alamat yang unik. Untuk keperluan pemetaan, memori ini dinggap terdiri dari sejumlah blok yang mempunyai panjang K word masing-masing bloknya. Dengan demikian, ada M = 2ⁿ/K blok. Cache terdiri dari C buah baris yang masing-masing mengandung K word, dan banyaknya baris jauh lebih sedikit dibandingkan dengan banyaknya blok memori utama (C << M). Di setiap saat, beberapa subset blok memori berada pada baris dalam cache. jika sebuah word di dalam blok memori dibaca, blok itu ditransfer ke salah satu baris cache. karena terdapat lebih banyak blok bila dibanding dengan baris, maka setiap baris tidak dapat menjadi unik dan permanen untuk dipersempahkan ke blok tertentu mana yang disimpan. Tag biasanya merupakan bagian dari alamat memori utama.