Perbedaan Cache L1 L2 Dan L3 Di CPU


Labkom99.com - Setiap prosesor modern memiliki sedikit cache. Dalam beberapa dekade terakhir, arsitektur cache menjadi semakin kompleks. Level cache CPU telah meningkat menjadi tiga level yaitu L1, L2 dan L3. Ukuran pada setiap blok juga meningkat dan asosiasi cache juga telah terjadi Beberapa perubahan.

 

Tetapi sebelum kita mempelajari detailnya, alangkah baiknya kita mengetaui terlebih dahulu, apa sebenarnya cache itu dan mengapa diperlukan? Selain itu, prosesor modern terdiri dari cache L1, L2, dan L3. Apa perbedaan antara level cache tersebut?

 

Memori cache dan memori sistem: SRAM dan DRAM

Cache didasarkan pada RAM statis yang lebih cepat dan lebih mahal. Sedangkan memori sistem menggunakan DRAM (RAM dinamis) yang lebih lambat. Perbedaan utama antara keduanya adalah yang pertama terbuat dari teknologi CMOS dan transistor (enam per modul), sedangkan yang kedua menggunakan kapasitor dan transistor.

 

DRAM perlu terus diperbarui untuk menyimpan data dalam jangka waktu yang lebih lama. Oleh karena itu, DRAM mengkonsumsi lebih banyak daya secara signifikan dan juga lebih lambat. SRAM tidak perlu disegarkan dan lebih efisien. Namun, harga yang lebih tinggi, sehingga membatasi penggunaannya dalam cache prosesor.

 

Seberapa penting cache di prosesor?

Prosesor modern beberapa tahun ini lebih baik dari nenek moyang aslinya di tahun 80-an dan awal 90-an. Saat ini, chip prosesor kelas atas beroperasi pada frekuensi melebihi 4GHz, sementara sebagian besar modul memori DDR4 memiliki frekuensi di bawah 1800MHz. Akibatnya, memori sistem terlalu lambat untuk digunakan secara langsung dengan CPU tanpa mengurangi kecepatannya. 

 

Seberapa penting cache di prosesor?


Dan itu merupakan sumber memori cache. Dan juga bertindak sebagai perantara antara keduanya, menyimpan potongan kecil data yang akan digunakan kembali. Atau dalam beberapa kasus, menyimpan alamat memori dari file tersebut.


Baca Juga : Pastikan Pendingin Prosesor Berjalan Prima, Jika Tidak Akan Berdampak Fatal Di Komputer

 

L1, L2 dan L3 cache: apa bedanya?

Dalam prosesor modern, dalam urutan peningkatan ukuran dan penurunan kecepatan, memori cache dibagi menjadi tiga bagian yaitu L1, L2 dan L3 cache. Cache L3 adalah yang terbesar dan paling lambat (CPU Ryzen generasi ketiga memiliki cache L3 yang besar hingga 64MB) level cache. 

 

L1, L2 dan L3 cache: apa bedanya?


L2 dan L1 jauh lebih kecil dari L3 dan lebih cepat dan masing-masing core dipisahkan. Prosesor sebelumnya tidak menyertakan cache L3 tiga tingkat, dan memori sistem secara langsung berinteraksi dengan cache L2.

 

Perbedaan Cache L1 L2 Dan L3 Di CPU


Cache L1 selanjutnya dibagi menjadi dua bagian yaitu cache data L1 dan cache instruksi L1. Yang terakhir berisi instruksi yang perlu dijalankan oleh CPU, sedangkan yang pertama digunakan untuk menyimpan data untuk ditulis kembali ke memori utama.

 

Cache L1 tidak hanya bertindak sebagai cache instruksi, tetapi juga menyimpan data dan informasi cabang yang telah diterjemahkan sebelumnya. Selain itu, meskipun cache data L1 umumnya bertindak sebagai cache output, cache instruksi L1 berperilaku seperti cache input. Ini berguna saat melakukan perulangan, karena instruksi yang diperlukan ada di sebelah unit akuisisi.


Baca Juga : Cermat Memilih Prosesor Ketika Membeli Laptop Untuk Bermain Game


CPU modern dapat menyediakan prosesor andalan dengan cache L1 hingga 512KB (64KB per core), dan komponen server hampir dua kali lebih kuat.

 

Cache L2 jauh lebih besar dari L1, tetapi juga lebih lambat. Ukuran CPU andalannya adalah 4-8MB (512KB per core). Setiap core memiliki L1 dan L2 cache-nya sendiri, dan level terakhir dari cache L3 dibagikan di antara semua core pada die.

 

Cache L3 adalah cache tingkat terendah. Dari 10MB hingga 64MB. Chip server memiliki cache tiga tingkat hingga 256MB. Selain itu, CPU AMD Ryzen memiliki ukuran cache yang lebih besar dibandingkan dengan chip Intel saingannya. Ini karena desain MCM dibandingkan dengan Intel Monolithic.


Baca Juga : Spesifikasi Ryzen 4000 Series APU


Perbedaan Cache L1 L2 Dan L3 Di CPU


Saat CPU membutuhkan data, pertama-tama CPU mencari cache L1 dari inti terkait. Jika tidak ditemukan, cache L2 dan L3 akan dicari berikutnya. Jika data yang diperlukan ditemukan, itu disebut cache hit. Di sisi lain, jika data tidak ada di cache, CPU harus meminta untuk memuatnya dari memori utama atau perangkat penyimpanan ke dalam cache. Ini membutuhkan waktu dan dapat mempengaruhi kinerja. Proses ini disebut cache miss.

 

Umumnya, ketika ukuran cache meningkat, tingkat cache hit meningkat. Hal ini terutama berlaku dalam game dan beban kerja sensitif latensi lainnya.

 

Peta memori

Dengan penjelasan dasar tentang cache, mari kita bahas bagaimana memori sistem berkomunikasi dengan cache. Ini disebut caching atau pemetaan memori. Memori cache dibagi menjadi blok atau grup. Blok-blok ini dibagi menjadi n baris 64-byte. Memori sistem dibagi menjadi jumlah blok (grup) yang sama dengan cache dan kemudian keduanya dihubungkan bersama.

 

Perbedaan Cache L1 L2 Dan L3 Di CPU

 

Jika Anda memiliki RAM sistem 1GB, cache akan dibagi menjadi 8192 baris dan kemudian dibagi menjadi beberapa blok. Ini disebut cache asosiatif n-way . Saat menggunakan cache asosiatif 2 arah, setiap blok berisi 2 baris, 4 arah berisi 4 baris, 8 arah berisi 8 baris, dan 16 arah berisi 16 baris. Jika ukuran RAM total adalah 1GB, ukuran setiap blok di memori adalah 512 KB.

 

Jika Anda memiliki cache asosiatif 4 arah 512 KB, RAM akan dibagi menjadi 2.048 blok (1GB adalah 8192/4) dan ditautkan ke jumlah blok cache 4 baris yang sama.

 

Dengan cara yang sama seperti cache asosiatif 16 arah, cache dibagi menjadi 512 blok yang ditautkan ke blok 512 (2048 KB) dalam memori, dan setiap blok cache berisi 16 baris. Ketika blok data di cache habis, pengontrol cache akan memuat ulang satu set blok baru dengan data yang diperlukan untuk terus mengeksekusi prosesor.

 

Perbedaan Cache L1 L2 Dan L3 Di CPU


Cache asosiatif arah-N adalah metode pemetaan yang paling umum digunakan. Ada dua metode lain, yang disebut pemetaan langsung dan pemetaan asosiatif penuh. Di baris pertama, ada hard link antara baris cache dan memori. Sedangkan di baris terakhir, cache dapat berisi alamat memori apa pun. Pada dasarnya, setiap baris dapat mengakses blok memori utama mana pun. Metode ini memiliki rasio klik tertinggi. Namun, biaya implementasinya tinggi, sehingga produsen chip biasanya menghindari penggunaannya.


Perbedaan Cache L1 L2 Dan L3 Di CPU

 

Pemetaan mana yang terbaik?

Pemetaan langsung adalah konfigurasi termudah untuk diterapkan, tetapi pada proses yang bersamaan paling tidak efisien. Misalnya, jika CPU memerlukan alamat memori tertentu (ambil contoh 1.000 dalam kasus ini), pengontrol akan memuat baris 64-byte dari memori dan menyimpannya di cache (1.000 ke 1, 063). Di masa mendatang, jika CPU membutuhkan data dari alamat yang sama atau alamat setelah alamat ini (1.000 hingga 1.063), data tersebut sudah ada di cache.

 

Perbedaan Cache L1 L2 Dan L3 Di CPU


Ini menjadi masalah ketika CPU membutuhkan alamat berikutnya satu demi satu di blok memori yang dipetakan ke baris cache yang sama. Misalnya, jika CPU pertama kali meminta alamat 1.000 dan kemudian meminta alamat 2.000, cache miss akan terjadi karena kedua alamat tersebut berada di blok memori yang sama (128 KB adalah ukuran blok). Di sisi lain, baris cache yang dipetakan ke dalamnya adalah baris yang dimulai dari alamat 1.000 hingga 1.063. Oleh karena itu, pengontrol cache akan memuat alamat dari baris 2000 hingga 2063 di baris cache pertama, sehingga menghilangkan data yang lebih lama. Inilah sebabnya mengapa cache pemetaan langsung adalah teknik pemetaan cache yang paling tidak efisien dan telah banyak ditinggalkan.

 

Perbedaan Cache L1 L2 Dan L3 Di CPU


Pemetaan asosiatif penuh sampai batas tertentu merupakan kebalikan dari pemetaan langsung. Tidak ada hubungan keras antara baris cache memori dan lokasi memori RAM. Pengontrol cache dapat menyimpan alamat apa pun. Masalah di atas tidak akan terjadi. Teknik pemetaan cache ini adalah yang paling efektif dan memiliki rasio klik tertinggi. Namun, seperti yang telah dijelaskan, ini adalah yang paling sulit dan paling mahal untuk diterapkan.

 

Perbedaan Cache L1 L2 Dan L3 Di CPU


Hasilnya, digunakan pemetaan asosiatif himpunan yang merupakan campuran dari pemetaan asosiatif penuh dan pemetaan langsung. Di sini, setiap blok memori dihubungkan ke satu set baris (tergantung pada jenis pemetaan SA), dan setiap baris dapat menyimpan data dari alamat mana pun di blok memori yang dipetakan. Dalam cache asosiatif set 4 arah, setiap set dalam cache memori dapat menampung hingga empat baris dari blok memori yang sama. Dengan konfigurasi 16 arah, jumlahnya akan bertambah menjadi 16.

 

Ketika semua slot pada set pemetaan habis, pengontrol akan mengeluarkan konten dari salah satu slot dan memuat set data lain dari blok memori yang sama yang dipetakan. Misalnya, meningkatkan cara cache memori terkait grup dari 4 arah menjadi 8 arah, setiap grup memiliki lebih banyak slot cache yang tersedia. 


Baca Juga : Mengapa Orang Lebih Memilih Intel Core i5 Daripada Core i7? Saya Langsung Mengerti Setelah Membacanya

 

Namun, jika jumlah cache tidak bertambah, ukuran memori dari setiap blok memori yang ditautkan akan bertambah. Pada dasarnya, meningkatkan jumlah slot yang tersedia pada kumpulan cache koleksi tanpa meningkatkan ukuran cache secara keseluruhan berarti bahwa koleksi akan ditautkan ke blok memori yang lebih besar, yang secara efektif mengurangi efisiensi karena peningkatan jumlah penyegaran.

 

Di sisi lain, meningkatkan ukuran cache berarti akan ada lebih banyak baris di setiap koleksi (dengan asumsi ukuran koleksi juga meningkat). Ini berarti ada lebih banyak baris cache yang ditautkan per blok memori. Biasanya, ini meningkatkan hit rate, tetapi batas yang dapat meningkatkan jumlah keseluruhan dibatasi.

Komentar