Rumah  >  Artikel  >  Apakah tiga kaedah pemetaan alamat antara memori utama dan cache?

Apakah tiga kaedah pemetaan alamat antara memori utama dan cache?

青灯夜游
青灯夜游asal
2021-07-26 13:43:0317231semak imbas

Terdapat tiga kaedah pemetaan: kaedah bersekutu penuh, kaedah langsung dan kaedah bersekutu kumpulan. Pemetaan langsung boleh menyimpan blok memori utama ke dalam garisan cache yang unik.

Apakah tiga kaedah pemetaan alamat antara memori utama dan cache?

Persekitaran pengendalian tutorial ini: sistem Windows 10, komputer Dell G3.

Cache ialah daftar penimbal berkelajuan tinggi dan teknologi penting yang digunakan untuk menyelesaikan ketidakpadanan kelajuan antara CPU dan memori utama.

Akses CPU kepada memori biasanya membaca dan menulis satu unit perkataan pada satu masa. Apabila CPU gagal mengakses cache, unit perkataan yang disimpan dalam ingatan utama perlu dipindahkan ke dalam cache bersama-sama dengan beberapa perkataan berikutnya Sebab untuk melakukan ini adalah untuk memastikan akses memori seterusnya boleh memukul cache.

Oleh itu, unit data yang ditukar antara memori utama dan Cache hendaklah menjadi blok data. Saiz blok data adalah tetap dan terdiri daripada beberapa perkataan, dan saiz blok data memori utama dan Cache adalah sama.

Dari perspektif matlamat yang dicapai pada tahap memori utama Cache, dalam satu pihak, kelajuan capaian memori CPU mestilah hampir dengan kelajuan capaian Cache, dan sebaliknya, kelajuan berjalan. ruang yang disediakan untuk program pengguna harus kekal sebagai ruang penyimpanan saiz kapasiti memori utama.

Dalam sistem yang menggunakan hierarki memori utama Cache, Cache adalah telus kepada program pengguna, iaitu, program pengguna tidak perlu mengetahui kewujudan Cache. Oleh itu, setiap kali CPU mengakses memori, ia masih memberikan alamat memori utama sama seperti kes apabila Cache tidak digunakan. Tetapi dalam hierarki memori utama Cache, perkara pertama yang diakses oleh CPU ialah Cache, bukan memori utama.

Atas sebab ini, mekanisme diperlukan untuk menukar alamat akses memori utama CPU kepada alamat akses Cache. Penukaran antara alamat memori utama dan alamat Cache berkait rapat dengan hubungan pemetaan antara blok memori utama dan blok Cache Maksudnya, apabila akses CPU kepada Cache terlepas, perkataan yang hendak diakses perlu terletak dalam memori utama. Blok dipindahkan ke dalam Cache, dan strategi yang digunakan untuk memindahkannya secara langsung mempengaruhi hubungan yang sepadan antara alamat memori utama dan alamat Cache Ini adalah masalah pemetaan alamat antara memori utama dan Cache ke diselesaikan dalam bahagian ini.

Terdapat tiga kaedah pemetaan alamat antara memori utama dan cache: kaedah bersekutu penuh, kaedah langsung dan kaedah bersekutu set.

  • Pemetaan langsung (pemetaan terus)

    Simpan blok memori utama ke baris Cache yang unik.

  • Pemetaan bersekutu sepenuhnya

    boleh menyimpan blok memori utama ke dalam mana-mana baris Cache.

  • Tetapkan pemetaan bersekutu (pemetaan setassociative)

    boleh menyimpan blok memori utama ke dalam mana-mana baris dalam kumpulan Cache yang unik.

memetakan terus

kepada perhubungan pemetaan banyak dengan satu, tetapi blok memori utama hanya boleh disalin ke kedudukan baris tertentu dalam cache.

Nombor baris cache i dan nombor blok memori utama j mempunyai hubungan fungsi berikut: i=j mod m (m ialah jumlah bilangan baris dalam cache)

Kelebihan: Mudah perkakasan, mudah dilaksanakan

Kelemahan: kadar pukulan rendah, penggunaan ruang storan Cache rendah

Apakah tiga kaedah pemetaan alamat antara memori utama dan cache?

Pemetaan bersekutu sepenuhnya

Satu blok memori utama disalin terus ke mana-mana talian dalam cache

Kelebihan: kadar pukulan tinggi, penggunaan ruang storan cache yang tinggi

Kelemahan: pendawaian kompleks, kos tinggi, kelajuan rendah

Apakah tiga kaedah pemetaan alamat antara memori utama dan cache?

Pemetaan bersekutu kumpulan

Bahagikan cache kepada kumpulan u, setiap kumpulan mempunyai baris v dan kumpulan mana blok memori utama disimpan dalam Ia adalah tetap. Bagi baris mana yang disimpan dalam kumpulan, ia adalah fleksibel, iaitu, terdapat hubungan fungsi berikut: jumlah bilangan baris cache m=u×v Nombor kumpulan q=j mod u

Pemetaan langsung digunakan antara kumpulan dan dalam kumpulan Bersambung sepenuhnya

Perkakasan lebih ringkas, kelajuan lebih pantas dan kadar pukulan lebih tinggi

Apakah tiga kaedah pemetaan alamat antara memori utama dan cache?

Untuk lebih banyak pengetahuan berkaitan, sila lawati Soalan LazimLajur!

Atas ialah kandungan terperinci Apakah tiga kaedah pemetaan alamat antara memori utama dan cache?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn