C> menentukan ukuran cache

C

CH

Guest
halo,

siapapun bisa membantu saya dalam menulis program C untuk menentukan ukuran L1 dan L2 cache.I'd juga ingin dapat menentukan apakah L1 Cache adalah 1-way, 2-way atau 4 arah.

What I've done hingga sekarang telah membuat besar array, melalui penambahan jumlah array banyak kali, membaca dan menulis ke setiap lokasi sementara waktu itu.Kemudian saya yang sama persis dengan hal lagi tanpa membaca dan menulis ke memori ...maka gunakan perbedaan antara dua hasil sebagai salah satu cara untuk menentukan ukuran.

Metode I'm using sangat tidak tepat, dan I'm a litle bingung tentang bagaimana seluruh proses caching terjadi (misalnya dengan cara menarik dalam cache hanya 32B baris pada satu waktu)

any advice akan sangat dihargai, thx.

 
Hal ini bukan bagian dari bahasa C.Apa yang Anda inginkan adalah beberapa fungsi tingkat rendah kotor.Yang RTOS atau OS yang Anda gunakan?

Tom

 
Saya akan menggunakan w2k dan linux RH.

Saya
telah menemukan dua lembar C kode yang melakukan apa yang aku inginkan, tetapi yang pertama potong terlalu rumit bagi saya untuk memahami dengan benar.Yang kedua lebih sederhana tapi istirahat menjadi macro ditulis dalam ASM (which i dont understand) untuk menghitung jumlah clock ticks yang telah lulus untuk sejumlah membaca / menulis ke cache.

 
Saya tidak tahu untuk w2k, tetapi untuk RedHat / proc / cpuinfo adalah cara untuk pergi.Don't reinvent the wheel - hanya menggunakan info dari / proc file system.

BTW, masukkan "linux L1 cache size" sebagai kata kunci di google.

Tom

 
thx tom.interesed untuk orang lain dalam hal ini, lihat di sini untuk quick tutorial tentang cara coding lanjut tentang solusi untuk masalah ini.

 

Welcome to EDABoard.com

Sponsor

Back
Top