Daftar Isi:
- Langkah 1: Spesifikasi
- Langkah 2: Tampilan RTL dari Seluruh Sistem
- Langkah 3: Hasil Tes
- Langkah 4: File Terlampir
Video: Desain Kontroler Cache Asosiatif Set Empat Arah Sederhana di VHDL: 4 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:55
Dalam instruksi saya sebelumnya, kami melihat bagaimana merancang pengontrol cache yang dipetakan langsung sederhana. Kali ini, kita selangkah lebih maju. Kami akan merancang pengontrol cache asosiatif set empat arah sederhana. Keuntungan ? Lebih sedikit miss rate, tetapi dengan mengorbankan kinerja. Sama seperti blog saya sebelumnya, kami akan merancang dan meniru seluruh prosesor, memori utama, dan lingkungan cache untuk menguji pengontrol cache kami. Saya harap kalian menemukan ini sebagai referensi yang berguna untuk memahami konsep dan merancang pengontrol cache Anda sendiri di masa mendatang. Karena model prosesor (bangku tes) dan sistem memori utama sama persis dengan blog saya sebelumnya, saya tidak akan menjelaskannya lagi. Silakan merujuk ke instruksi sebelumnya untuk perincian tentangnya.
Langkah 1: Spesifikasi
Lihat cepat melalui spesifikasi Cache Controller yang disajikan di sini:
- Empat arah Set Associative Cache Controller (buka link ini jika mencari Direct Mapped Cache Controller).
- Single-Banked, Blocking Cache.
- Kebijakan Write-Through tentang hit tulis.
- Kebijakan Write-Around tentang kesalahan tulis.
- Kebijakan Penggantian Tree Pseudo-LRU (pLRU).
- Tag Array di dalam pengontrol.
- Parameter yang dapat dikonfigurasi.
Spesifikasi default untuk Memori Cache dan Memori Utama sama seperti dari instruksi saya sebelumnya. Silakan merujuk ke mereka.
Langkah 2: Tampilan RTL dari Seluruh Sistem
Representasi RTL lengkap dari Modul Atas ditunjukkan pada Gambar (tidak termasuk prosesor). Spesifikasi standar untuk bus adalah:
- Semua Bus Data adalah Bus 32-bit.
- Bus Alamat = Bus 32-bit (Tetapi hanya 10 bit yang dapat dialamatkan di sini oleh Memori).
- Blok Data = 128 bit (Bus Bandwidth Lebar untuk Baca).
- Semua komponen digerakkan oleh jam yang sama.
Langkah 3: Hasil Tes
Modul Top diuji menggunakan Test Bench, yang hanya memodelkan Prosesor non-pipeline, seperti yang kami lakukan di instruksi terakhir. Test Bench sering menghasilkan permintaan Baca/Tulis Data ke Memori. Ini mengolok-olok instruksi "Muat" dan "Simpan", umum di semua program yang dijalankan oleh prosesor.
Hasil pengujian berhasil memverifikasi fungsionalitas Cache Controller. Berikut ini adalah statistik pengujian yang diamati:
- Semua sinyal Baca/Tulis Nona dan Hit dihasilkan dengan benar.
- Semua operasi Baca/Tulis Data berhasil dalam keempat cara.
- Algoritma pLRU berhasil diverifikasi untuk penggantian saluran cache.
- Tidak ada masalah inkoherensi/inkonsistensi data yang terdeteksi.
- Desain berhasil diverifikasi waktu untuk Maxm. Clock Frekuensi operasi = 100 MHz di Xilinx Virtex-4 ML-403 Board (seluruh sistem), 110 MHz untuk Cache Controller saja.
- Blok RAM disimpulkan untuk Memori Utama. Semua array lain diimplementasikan pada LUT.
Langkah 4: File Terlampir
File berikut dilampirkan di sini dengan blog ini:
- File. VHD dari Cache Controller, Cache Data Array, Sistem Memori Utama.
- bangku tes.
- Dokumentasi pada Cache Controller.
Catatan:
- Baca dokumentasi untuk pemahaman penuh tentang spesifikasi Cache Controller yang disajikan di sini.
- Setiap perubahan dalam kode memiliki ketergantungan pada modul lain. Jadi, perubahan harus dilakukan dengan bijaksana.
- Perhatikan semua komentar dan header yang saya berikan.
- Jika karena alasan apa pun, Block RAM tidak disimpulkan untuk Memori Utama, MENGURANGI ukuran memori, diikuti dengan perubahan lebar bus alamat di seluruh file dan seterusnya. Sehingga memori yang sama dapat diimplementasikan baik pada LUT maupun RAM Terdistribusi. Ini akan menghemat waktu dan sumber daya perutean. Atau, Buka dokumentasi FPGA spesifik dan temukan kode yang kompatibel untuk Block RAM dan edit kode yang sesuai, dan gunakan spesifikasi lebar bus alamat yang sama. Teknik yang sama untuk FPGA Altera.
Direkomendasikan:
Desain Pengontrol Cache Sederhana di VHDL: 4 Langkah
Desain Pengontrol Cache Sederhana di VHDL: Saya menulis instruksi ini, karena saya merasa agak sulit untuk mendapatkan beberapa kode referensi VHDL untuk belajar dan mulai merancang pengontrol cache. Jadi saya merancang pengontrol cache sendiri dari awal, dan mengujinya dengan sukses di FPGA. saya punya p
Desain Pengendali VGA Sederhana di VHDL dan Verilog: 5 Langkah
Desain Pengendali VGA Sederhana di VHDL dan Verilog: Dalam instruksi ini, kita akan merancang Pengendali VGA sederhana di RTL. VGA Controller adalah sirkuit digital yang dirancang untuk menggerakkan tampilan VGA. Ini membaca dari Frame Buffer (Memori VGA) yang mewakili frame yang akan ditampilkan, dan menghasilkan kebutuhan
Desain PCB Dengan Langkah Sederhana dan Mudah: 30 Langkah (dengan Gambar)
Desain PCB Dengan Langkah Sederhana dan Mudah: HELLO FRIENDS Tutorialnya sangat bermanfaat dan mudah bagi yang ingin belajar desain PCB ayo kita mulai
Sakelar Tiga Arah dan Empat Arah--Cara Kerjanya: 6 Langkah
Sakelar Tiga Arah dan Empat Arah--Cara Kerjanya: Sementara sakelar tiga arah sangat sederhana bagi banyak orang yang mengunjungi Instructables.com, ini merupakan misteri bagi banyak orang lainnya. Memahami cara kerja sirkuit memuaskan rasa ingin tahu. Ini juga dapat membantu mendiagnosis sakelar tiga arah yang tidak berfungsi karena seseorang
Kontrol Motor 2 arah sederhana untuk Arduino: 4 Langkah
Kontrol Motor 2 Arah Sederhana untuk Arduino: PERINGATAN: Ini bukan cara yang aman untuk mengontrol motor. Setiap pin I/O hanya dapat menangani arus 40 mA. Saya akan merekomendasikan menggunakan H-Bridge atau sesuatu seperti itu. Ketika saya mengatakan sederhana, saya tidak bermaksud menggunakan kontrol kecepatan. Tapi kendalikan motor secara langsung