Satu pertanyaan yang sering muncul, “Mengapa tidak membuat semua memori komputer berjalan pada kecepatan yang sama dengan cache L1, jadi tidak diperlukan caching?” Itu bisa saja, tatapi akan sangat mahal.
Ide dibalik caching adalah untuk menggunakan sejumlah kecil memori mahal untuk mempercepat memori lebih murah yang besar dan lambat. Dalam membuat komputer, tujuannya adalah memungkinkan mikroprocessor berjalan pada kecepatan penuh dengan biaya semurah mungkin.
Chip 500-MHz mempunyai 500 juta cycle dalam satu detik (satu cycle setiap dua nanodetik). Tanpa cache L1 dan L2, akses ke memori utama membutuhkan 60 nanodetik atau 30 cycle. Cukup menakjubkan bahwa memori yang relatif sangat kecil dapat memaksimalkan memri yang jumlahnya jauh lebih besar.
Coba pikirkan tentang cahce L2 256-kilobyte yang men-cache RAM 64 megabyte. Dalam kasus ini, 256.000 byte men-cache 64.000.000 byte. Bagaimana itu bisa? Dalam ilmu komputer, kita mempunyai konsep bernama locality of reference. Ini berarti dalam program yang besar, hanya sebagian kecil yang digunakan pada satu waktu.
Locality of reference bekerja untuk bagian besar dari program. Meskipun hanya berukuran 10 megabyte, hanya sedikit byte dari program itu yang digunakan pada satu waktu, dan tingkat pengulangannya sangat tinggi.