Tembolok (komputer)
Tembolok atau memori singgahan (Indonesia: 'cache') dalam teknologi informasi adalah mekanisme penyimpanan data s pberkecepatan primer tinggi yang digunakan untuk menyimpan data/instruksi yang sering diakses. Memori cache dimaksudkan untuk memberi kecepatan memori yang mendekati memori yang paling cepat yang bisa diperoleh, dan pada waktu yang sama menyediakan kapasitas memori yang besar dengan harga yang lebih murah dari jenis-jenis memori konduktor.
Istilah berasal dari kata bahasa Perancis 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.
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.
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.
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.