Apakah cache Prosesor L1, L2 dan L3 semuanya terbuat dari SRAM? Jika benar, mengapa L1 lebih cepat dari L2 dan L2 lebih cepat dari L3? Saya tidak mengerti bagian ini ketika saya membaca tentang mereka.
Apakah cache Prosesor L1, L2 dan L3 semuanya terbuat dari SRAM? Jika benar, mengapa L1 lebih cepat dari L2 dan L2 lebih cepat dari L3? Saya tidak mengerti bagian ini ketika saya membaca tentang mereka.
Jawaban:
Secara umum mereka semua diimplementasikan dengan SRAM.
(IBM POWER dan chip zArchitecture menggunakan memori DRAM untuk L3. Ini disebut DRAM tertanam karena diimplementasikan dalam jenis teknologi proses yang sama dengan logika, memungkinkan logika cepat untuk diintegrasikan ke dalam chip yang sama dengan DRAM. Untuk POWER4 the off- chip L3 menggunakan eDRAM; POWER7 memiliki L3 pada chip yang sama dengan core pemrosesan.)
Meskipun mereka menggunakan SRAM, mereka tidak semua menggunakan desain SRAM yang sama . SRAM untuk L2 dan L3 dioptimalkan untuk ukuran (untuk meningkatkan kapasitas mengingat ukuran chip manufaktur terbatas atau mengurangi biaya kapasitas yang diberikan) sementara SRAM untuk L1 lebih mungkin dioptimalkan untuk kecepatan.
Lebih penting lagi, waktu akses terkait dengan ukuran fisik penyimpanan. Dengan tata letak dua dimensi seseorang dapat mengharapkan latensi akses fisik kira - kira sebanding dengan akar kuadrat kapasitas. (Arsitektur cache yang tidak seragam mengeksploitasi ini untuk menyediakan subset cache pada latensi yang lebih rendah. Irisan L3 dari prosesor Intel baru-baru ini memiliki efek yang serupa; hit pada slice lokal memiliki latensi yang jauh lebih rendah.) Efek ini dapat membuat cache DRAM lebih cepat daripada cache SRAM pada kapasitas tinggi karena DRAM secara fisik lebih kecil.
Faktor lain adalah sebagian besar cache L2 dan L3 menggunakan akses serial tag dan data di mana sebagian besar cache L1 mengakses tag dan data secara paralel. Ini adalah pengoptimalan daya (tingkat kehilangan L2 lebih tinggi dari tingkat kehilangan L1, sehingga akses data lebih cenderung menjadi pekerjaan yang sia-sia; akses data L2 umumnya membutuhkan lebih banyak energi yang terkait dengan kapasitas -; dan cache L2 biasanya memiliki asosiasi yang lebih tinggi yang berarti bahwa lebih banyak entri data harus dibaca secara spekulatif). Jelas, harus menunggu pencocokan tag sebelum mengakses data akan menambah waktu yang diperlukan untuk mengambil data. (Akses L2 juga biasanya hanya dimulai setelah miss L1 dikonfirmasi, sehingga latensi pendeteksian miss L1 ditambahkan ke latensi akses total L2.)
Selain itu, L2 cache secara fisik lebih jauh dari mesin eksekusi. Menempatkan cache data L1 dekat dengan mesin eksekusi (sehingga kasus umum dari hit L1 cepat) umumnya berarti bahwa L2 harus ditempatkan lebih jauh.