Isi kandungan:

Reka Bentuk Pengawal Cache Bersekutu Set Empat Cara Mudah dalam VHDL: 4 Langkah
Reka Bentuk Pengawal Cache Bersekutu Set Empat Cara Mudah dalam VHDL: 4 Langkah

Video: Reka Bentuk Pengawal Cache Bersekutu Set Empat Cara Mudah dalam VHDL: 4 Langkah

Video: Reka Bentuk Pengawal Cache Bersekutu Set Empat Cara Mudah dalam VHDL: 4 Langkah
Video: KURSUS PRAKTIKAL REKA BENTUK PENGATUCARAAN MIKROPENGAWAL ARDUINO (BUKU TEKS - UNIT) 2024, Jun
Anonim
Reka bentuk Pengendali Cache Bersekutu Set Empat Cara Mudah di VHDL
Reka bentuk Pengendali Cache Bersekutu Set Empat Cara Mudah di VHDL

Dalam arahan saya sebelumnya, kami melihat bagaimana merancang pengawal cache langsung yang dipetakan langsung. Kali ini, kita melangkah selangkah ke depan. Kami akan merancang pengawal cache gabungan empat arah yang mudah. Kelebihan? Kurang kadar rindu, tetapi dengan kos prestasi. Sama seperti blog saya sebelumnya, kami akan merancang dan meniru keseluruhan pemproses, memori utama dan persekitaran cache untuk menguji pengawal cache kami. Saya harap anda dapati ini sebagai rujukan berguna untuk memahami konsep dan merancang pengawal cache anda sendiri di masa hadapan. Oleh kerana model untuk pemproses (bangku ujian) dan sistem memori utama sama seperti blog sebelumnya, saya tidak akan menerangkannya lagi. Sila rujuk instruksi sebelumnya untuk mendapatkan perincian mengenainya.

Langkah 1: Spesifikasi

Spesifikasi
Spesifikasi

Pandangan pantas melalui spesifikasi Cache Controller yang disajikan di sini:

  • Pengawal Cache Set Bersama Empat Hala (pergi ke pautan ini jika mencari Pengawal Cache Terpadu Langsung).
  • Single-Banks, Blocking Cache.
  • Dasar Menulis Melalui Hits Tulis.
  • Dasar Tulis-Sekitar mengenai kesalahan menulis.
  • Dasar Penggantian Tree Pseudo-LRU (pLRU).
  • Tag Array di dalam alat kawalan.
  • Parameter yang boleh dikonfigurasi.

Spesifikasi lalai untuk Memori Cache dan Memori Utama adalah sama seperti dari arahan saya sebelumnya. Sila rujuk mereka.

Langkah 2: Paparan RTL Keseluruhan Sistem

RTL Paparan Keseluruhan Sistem
RTL Paparan Keseluruhan Sistem

Perwakilan RTL lengkap Modul Teratas ditunjukkan dalam Rajah (tidak termasuk pemproses). Spesifikasi lalai untuk bas adalah:

  • Semua Bas Data adalah Bas 32-bit.
  • Bus Alamat = Bas 32-bit (Tetapi hanya 10 bit yang boleh dialamatkan di sini oleh Memory).
  • Blok Data = 128 bit (Bas Lebar Lebar Lebar untuk Dibaca).
  • Semua komponen didorong oleh jam yang sama.

Langkah 3: Keputusan Ujian

Modul Teratas diuji menggunakan Bangku Uji, yang hanya memodelkan Prosesor tanpa paip, seperti yang kami lakukan pada instruksi terakhir. Bangku Ujian menghasilkan permintaan Data Baca / Tulis ke Memori dengan kerap. Ini mengolok-olok arahan "Muat" dan "Simpan" yang biasa, yang biasa berlaku di semua program yang dijalankan oleh pemproses.

Hasil ujian berjaya mengesahkan fungsi Cache Controller. Berikut adalah statistik ujian yang diperhatikan:

  • Semua isyarat Baca / Tulis Miss dan Hit dihasilkan dengan betul.
  • Semua operasi Baca / Tulis Data berjaya dalam keempat-empat cara.
  • Algoritma pLRU berjaya disahkan untuk penggantian baris cache.
  • Tidak ada masalah ketidakkonsistenan / ketidakkonsistenan data yang dikesan.
  • Reka bentuk berjaya disahkan masa untuk Maxm. Jam Frekuensi operasi = 100 MHz di Papan Xilinx Virtex-4 ML-403 (keseluruhan sistem), 110 MHz untuk Cache Controller sahaja.
  • RAM blok disimpulkan untuk Memori Utama. Semua susunan lain dilaksanakan pada LUT.

Langkah 4: Fail Terlampir

Fail berikut dilampirkan di sini dengan blog ini:

  • . VHD fail Cache Controller, Cache Data Array, Main Memory System.
  • Bangku Ujian.
  • Dokumentasi pada Cache Controller.

Catatan:

  • Baca dokumentasi untuk memahami sepenuhnya spesifikasi Cache Controller yang dibentangkan di sini.
  • Sebarang perubahan dalam kod bergantung pada modul lain. Jadi, perubahan harus dilakukan secara bijaksana.
  • Perhatikan semua komen dan tajuk yang telah saya berikan.
  • Sekiranya atas sebab apa pun, RAM Blok tidak disimpulkan untuk Memori Utama, KURANGKAN ukuran memori, diikuti dengan perubahan lebar bus alamat di seluruh fail dan sebagainya. Supaya memori yang sama dapat dilaksanakan sama ada pada LUT atau RAM Teragih. Ini akan menjimatkan masa dan sumber penghalaan. Atau, Pergi ke dokumentasi FPGA tertentu dan cari kod yang sesuai untuk Blok RAM dan edit kod yang sesuai, dan gunakan spesifikasi lebar bus alamat yang sama. Teknik yang sama untuk Altera FPGAs.

Disyorkan: