Cache CPU dikelola oleh komponen perangkat lunak mana?

9

Cache CPU digunakan dengan mengeksploitasi temporal dan spatial locality. Pertanyaan saya adalah siapa yang bertanggung jawab untuk mengelola cache ini? Apakah sistem Operasi ini yang mengidentifikasi pola akses tertentu dan kemudian mengelola (yaitu menyimpan data dalam) cache, menggunakan panggilan fungsi OS tingkat rendah?

gpuguy
sumber
Jika cache di mana dikelola oleh perangkat lunak, CPU tidak akan menyelesaikan apa pun berdasarkan waktu; juga, bukankah itu tangkapan 22?
Raphael

Jawaban:

8

The CPU Cache menangani setiap akses ke memori, yang terlalu cepat berada di bawah kontrol perangkat lunak. Itu sepenuhnya dibangun ke dalam perangkat keras, baik pada chip CPU itu sendiri atau pada motherboard.

vonbrand
sumber
12

Tembolok CPU beroperasi sejak saat dinyalakan. Baik BIOS maupun OS secara tegas “tidak perlu” untuk mengontrol cache. BIOS dan OS dapat mengubah pengaturan konfigurasi cache di CPU tetapi mereka tidak mengontrol operasi normal, ini semua dibangun ke dalam CPU itu sendiri.

uli
sumber
Beberapa prosesor default untuk mengaktifkan cache; beberapa standar untuk menonaktifkannya. Mengaktifkan cache memungkinkan prosesor untuk berperilaku agak terkendali bahkan ketika tidak ada RAM (misalnya prosesor mungkin berbunyi bip beberapa kali pada speaker); awalnya dinonaktifkan akan menghindari keharusan untuk menonaktifkannya sebelum mengubah opsi konfigurasi memori apa pun.
supercat
3

Ini sepenuhnya tergantung pada platform perangkat keras Anda (Misalnya Nios® II menyediakan beberapa instruksi untuk mengelola cache). Anda harus membaca instruksi dan bahasa assembly . Beberapa prosesor memberikan Anda beberapa instruksi untuk mengelola cache di beberapa level. misalnya WBINVD menyediakan Write back dan flush cache internal; memulai penulisan kembali dan pembilasan cache eksternal (atau INVD ).

Reza
sumber