Bagaimana cara kerja cache CPU?

Pembaharuan Terakhir: 25 September 2020
penulis: Isaac
cache, CPU

La memori cache Cache tidak selalu ada di CPU. Bahkan, prosesor lama tidak memilikinya. Kemudian, modul yang mirip dengan modul RAM masa kini muncul, yang memungkinkan Anda menambahkan cache secara opsional untuk meningkatkan kinerja CPU, mirip dengan cara penambahan koprosesor matematika, atau FPU.

Pada mikroprosesor saat ini, memori cache telah terintegrasi dalam chip itu sendiri, kini menjadi bagian yang hampir tak terpisahkan dari mereka, dan dengan beberapa tingkatan untuk mendapatkan manfaat yang lebih besar. Dalam tutorial ini, Anda akan mempelajari lebih lanjut tentang jenis memori ini dan pentingnya.

Apa itu cache?

Sebelum saya mulai menjelaskan apa itu memori cache, saya ingin meringkasnya secara singkat. cara kerja CPU, agar Anda dapat lebih memahami kinerjanya. Sederhananya, CPU tidak lebih dari sebuah "kalkulator" yang memproses serangkaian operasi dengan bit data.

Perangkat lunak, atau program, inilah yang akan menunjukkan perhitungan apa yang harus dilakukan CPU. Program ini terdiri dari serangkaian data dan instruksi. Semua data dan instruksi ini disimpan di dalam memori sekunder (hard drive) akan dikirim ke memori utama (primer). Dari sana, data tersebut akan ditangkap oleh CPU dan dimasukkan ke dalam memori internalnya. Instruksi tersebut akan menunjukkan apa yang harus dilakukan CPU dengan data tersebut. Misalnya, bisa berupa instruksi penjumlahan. Beginilah cara perangkat lunak dieksekusi…

Singkatnya, komputer awal menggunakan satu tingkat memori lambat (sejenis ROM atau penyimpanan magnetik) untuk mengambil instruksi dan data ini. Namun, seiring perkembangan CPU dan kecepatannya, muncul hambatan besar akibat lambatnya memori ini. Oleh karena itu, memori buffer cepat diperkenalkan di antara CPU dan memori sekunder: RAM (SDRAM).

  Jika tablet Samsung Anda tidak dapat diisi dayanya, kami akan memberi Anda kunci untuk membalikkan keadaan tersebut.

Meskipun demikian, CPU terus berkembang lebih cepat daripada kecepatan RAM itu sendiri, sehingga menciptakan hambatan lain. Oleh karena itu, memori lain yang jauh lebih cepat pun dikembangkan, lebih dekat ke prosesor dan terletak di antara RAM dan CPU: tempat penyimpanan (SRAM).

Memori sekunder murah, jadi Anda bisa mendapatkan kapasitas besar dengan harga terjangkau. RAM memang lebih cepat, tetapi juga lebih mahal daripada memori sekunder. Itulah sebabnya kapasitas memori primer tidak sebesar itu. Jika kita menelusuri lebih lanjut, kita akan menemukan memori cache, yang bahkan lebih mahal lagi, sehingga kapasitasnya sangat rendah. Lalu ada register, yang juga sangat mahal dan terbatas...

Dengan memori cache ini, inti CPU dapat diberi makan lebih cepat, sehingga latensi dan bandwidth RAM berfungsi sedemikian rupa sehingga tidak terlalu memengaruhi kinerja CPU. Ini adalah cara untuk menyediakan data dan instruksi tersebut secara lebih lokal dan cepat... Dengan kata lain, agar lebih "siap sedia".

Saat ini, peningkatan memori sekunder telah membawa lompatan besar. Saya mengacu pada SSD atau hard drive solid-stateNamun, kecepatannya masih lebih lambat daripada RAM, sehingga level-level lainnya tetap diperlukan.

Tingkat cache dalam prosesor modern

Dieshot Intel Pentium III (Tualatin) yang saya tandai sebagai cache L2 terpadu dalam warna hijau dan cache data dan instruksi L1 dalam warna ungu.

Pada prosesor modern, cache tidak hanya memiliki satu tingkat, tetapi dibagi menjadi beberapa tingkat. Biasanya, terdapat antara 2 dan 4 tingkat. tingkat atau level (kiri):

  • LLC (Cache Tingkat Terakhir)Ini adalah level terakhir dari memori cache, yaitu yang "paling dekat" dengan RAM, yang memiliki angka tertinggi di dalam prosesor. Bisa berupa L4, L3, atau L2, tergantung levelnya. Misalnya, pada prosesor Intel dan AMD saat ini, L3. Memori ini dapat mencapai beberapa megabita dan terpadu, artinya menyimpan data dan instruksi. Umumnya, jenis memori ini digunakan bersama oleh semua inti, jika ada beberapa. Jika, misalnya, ada L3 dan L2, L2 dapat didedikasikan hanya untuk satu inti atau digunakan bersama oleh dua inti, dan L3 akan memberi daya pada semuanya.
  • L1 cacheCache ini lebih cepat daripada cache sebelumnya dan terletak lebih dekat ke unit kontrol sehingga dapat mengambil informasi dan mengirimkannya ke unit eksekusi lebih cepat. Tidak seperti level yang lebih tinggi, L1 memiliki kapasitas yang lebih rendah, yang merupakan hal yang wajar, karena semakin rendah levelnya, semakin rendah pula kapasitasnya. Namun, perbedaan yang paling mencolok adalah bahwa pada banyak prosesor, cache ini tidak terpadu seperti level lainnya. Dalam hal ini, cache L1 dipisahkan menjadi L1I dan LXNUMXD, yaitu hanya untuk instruksi dan hanya untuk data.
  Cara mengetahui apakah suatu game kompatibel dengan PC Anda

Mengapa ini penting?

CPU Cores

Nah, pada titik ini Anda sudah akan memiliki kesan tentang alasan mengapa hal itu meningkatkan prestasiContoh praktis akan membantu Anda memahami hal ini dengan sangat baik. Bayangkan Anda (CPU) harus pergi dan mendapatkan alat (instruksi dan data) yang dibutuhkan untuk melakukan suatu pekerjaan (program).

Tidak sama dengan memiliki alat-alatnya di toko (memori sekunder), daripada menyimpannya di garasi (RAM), atau menyimpannya di ujung jari Anda (cache). Jika Anda harus pergi ke toko atau garasi, prosesnya akan jauh lebih lama daripada jika Anda bisa meraih dan mengambilnya tepat di dekat Anda. Hal ini tidak selalu terjadi. Saat pertama kali membutuhkan instruksi atau data, Anda harus pergi ke ruangan atau garasi untuk mengambilnya. Namun, setelah Anda mengambilnya dan menyimpannya tepat di dekat Anda, Anda akan jauh lebih efisien saat membutuhkannya lagi.

CPU, melalui sistem pencarian dan bug Proses pencarian instruksi dan data akan selalu dilakukan terlebih dahulu di L1. Jika terjadi kegagalan, proses pencarian akan dilakukan di L2, dan jika L3 juga tidak ada, proses pencarian akan dilanjutkan ke L1 (jika ada). Dan jika terjadi kegagalan, proses pencarian tidak punya pilihan selain dilakukan di RAM, yang membutuhkan lebih banyak siklus clock. Namun, jika berhasil, akses akan jauh lebih cepat. Ingat bahwa dibutuhkan siklus yang lebih sedikit untuk mengakses L2 daripada L3, dan LXNUMX pada gilirannya membutuhkan siklus yang lebih sedikit untuk mengakses daripada LXNUMX, dan seterusnya.

Itulah tujuan cache, untuk mengurangi latensi akses memori. Saya bersikeras, saya meringkas banyak hal Cara kerjanya. Tapi pada dasarnya, beginilah cara aplikasi dan game Anda berjalan jauh lebih cepat.

  Cara menghubungkan ponsel Anda ke TV melalui USB untuk berbagi konten tanpa menggunakan Wi-Fi