GNU/Linux >> Belajar Linux >  >> Linux

secara terprogram menonaktifkan prefetching perangkat keras pada sistem AMD

Semua prosesor AMD Family 10h (termasuk Barcelona dan Istanbul) memiliki dua prefetcher perangkat keras yang berbeda.

  1. Yang pertama adalah prefetcher cache data tradisional yang mengenali aliran yang berdekatan dari akses jalur cache naik atau turun. Itu dapat dinonaktifkan dengan menyetel bit 13 dari MSRC001_1022 ke "1".

  2. Prefetcher perangkat keras lainnya adalah "prefetcher pengontrol memori". Ini adalah prefetcher yang agak lebih umum, tetapi hanya beroperasi di dalam pengontrol memori (yaitu, tidak mengirim data yang diambil sebelumnya ke inti -- ini hanya memungkinkan pengontrol memori untuk mengembalikannya lebih cepat saat inti memintanya).

    • Kontrol utama untuk prefetcher ini ada di ruang konfigurasi PCI, Fungsi 2, offset 11Ch, dengan kontrol tambahan di Fungsi 2, offset 1B0h untuk prosesor setelah Barcelona.
    • Saya telah berhasil menonaktifkan dan mengaktifkan kembali prefetcher ini pada sistem Barcelona "langsung" dengan memperbarui nilai dalam ruang konfigurasi PCI melalui driver perangkat /dev/mem. (Jangan coba ini di rumah!)
    • Aktivitas prefetcher pengontrol memori ditunjukkan oleh peristiwa penghitung kinerja perangkat keras 1F0h, dengan UnitMasks 02 dan 04.
    • Perhatikan bahwa prefetcher pengontrol memori untuk Shanghai/Istanbul/MagnyCours beroperasi "secara koheren" (artinya operasi pemeriksaan koherensi cache dikeluarkan bersama dengan prefetches memori), sedangkan prefetcher pengontrol memori di Barcelona tidak mengeluarkan operasi koherensi cache (mereka jangan dikeluarkan sampai permintaan inti untuk baris cache tiba di pengontrol memori).

Hal-hal di atas didokumentasikan dalam Panduan Pengembang BIOS dan Kernel untuk prosesor Family 10h:http://support.amd.com/us/Processor_TechDocs/31116.pdf


Linux
  1. Memecahkan masalah perangkat keras di Linux

  2. dmidecode:Dapatkan Informasi Perangkat Keras Sistem Di Linux

  3. 13 tutorial keamanan Linux

  1. Cara Menonaktifkan ETag di NGINX

  2. Vim Latex:Nonaktifkan Quickfix?

  3. Batas memori PHP

  1. Penggunaan Memori Linux

  2. Apa itu ioremap()

  3. Bagaimana Anda Secara Terprogram Mengatur Jam Perangkat Keras di Linux?