Saya mencoba memahami mengapa memori cache CPU lebih cepat dari yang lain. Ketika membandingkan memori cache dengan sesuatu seperti memori utama, ada perbedaan dalam jenis memori (SRAM vs DRAM), dan masalah lokalitas (on-chip vs harus melintasi bus memori) yang dapat mempengaruhi kecepatan akses. Tapi L1 dan L2 umumnya pada chip yang sama, atau setidaknya pada die yang sama, dan saya pikir mereka adalah tipe memori yang sama. Jadi mengapa L1 lebih cepat?
14
Jawaban:
Tidak, mereka bukan jenis RAM yang sama, meskipun mereka pada chip yang sama yang menggunakan proses pembuatan yang sama.
Dari semua cache, cache L1 perlu memiliki waktu akses tercepat (latensi terendah), versus berapa banyak kapasitas yang diperlukan untuk menyediakan tingkat "hit" yang memadai. Oleh karena itu, ia dibangun menggunakan transistor yang lebih besar dan jalur logam yang lebih luas, menukar ruang dan kekuatan untuk kecepatan. Tembolok level yang lebih tinggi harus memiliki kapasitas yang lebih tinggi, tetapi mampu menjadi lebih lambat, sehingga mereka menggunakan transistor yang lebih kecil yang dikemas lebih rapat.
sumber
L1 biasanya digunakan sebagai penyimpanan untuk instruksi yang diterjemahkan, sedangkan L2 adalah cache umum untuk satu inti. Semakin rendah cache, semakin kecil ukurannya dan semakin cepat biasanya. Sebagai pedoman praktis untuk prosesor PC:
L1 Cache: akses siklus 2-3 jam
L2 Cache: ~ 10 siklus akses jam
L3 Cache: ~ akses siklus 20-30 jam
Kutipan yang bersumber di sini dari respons "Pinhedd".
sumber
Ada beberapa alasan mengapa kecepatan berbanding terbalik dengan ukuran. Yang pertama terlintas dalam pikiran adalah dominasi fisik konduktor, di mana perambatan sinyal saya terbatas pada beberapa faktor dari kecepatan cahaya. Operasi mungkin memakan waktu selama itu akan membutuhkan sinyal listrik untuk menempuh jarak terpanjang di dalam ubin memori dan kembali. Alasan terkait lainnya adalah pemisahan domain jam. Setiap CPU menjalankan clock generatornya sendiri, yang memungkinkan CPU untuk berjalan pada jam multi-GHz. Cache Level-1 berjalan pada dan disinkronkan dengan jam CPU, yang merupakan yang tercepat di sistem. Cache Level-2 di sisi lain harus melayani banyak CPU, dan berjalan di domain jam yang berbeda (lebih lambat). Tidak hanya clock L2 lebih lambat (ubin lebih besar) tetapi untuk melintasi batas domain jam menambahkan penundaan lain. Maka tentu saja ada masalah fan-out (sudah disebutkan).
sumber
Terlepas dari karakteristik kinerja yang melekat, lokalitas juga memiliki peran (L1 lebih dekat ke CPU). Menurut Apa yang harus diketahui setiap programmer tentang memori :
sumber