Mündəricat:

VHDL-də Sadə Dörd Yollu Assosiativ Keş Nəzarətçisinin Dizaynı: 4 Addım
VHDL-də Sadə Dörd Yollu Assosiativ Keş Nəzarətçisinin Dizaynı: 4 Addım

Video: VHDL-də Sadə Dörd Yollu Assosiativ Keş Nəzarətçisinin Dizaynı: 4 Addım

Video: VHDL-də Sadə Dörd Yollu Assosiativ Keş Nəzarətçisinin Dizaynı: 4 Addım
Video: Fun with Music and Programming by Connor Harris and Stephen Krewson 2024, Noyabr
Anonim
VHDL-də Sadə Dörd Yollu Set Assosiativ Keş Nəzarətçisinin Dizaynı
VHDL-də Sadə Dörd Yollu Set Assosiativ Keş Nəzarətçisinin Dizaynı

Əvvəlki təlimatımda, sadə bir xəritəli önbellek nəzarətçisinin necə dizayn ediləcəyini gördük. Bu dəfə bir addım irəli gedirik. Sadə dörd yollu assosiativ önbelleğe nəzarətçi dizayn edəcəyik. Üstünlük? Daha az qaçırma dərəcəsi, amma performans bahasına. Öncəki blogumda olduğu kimi, önbellek nəzarətçimizi sınamaq üçün bütün bir prosessoru, əsas yaddaşı və önbellek mühitini dizayn edib təqlid edərdik. Ümid edirəm ki, uşaqlar bunu anlayışları başa düşmək və gələcəkdə öz önbellek nəzarətçilərinizi hazırlamaq üçün faydalı bir istinad olaraq tapacaqsınız. Prosessor (test dəzgahı) modeli və əsas yaddaş sistemi əvvəlki bloqumla tam eyni olduğundan, bunları bir daha izah etməyəcəyəm. Bununla bağlı ətraflı məlumat üçün zəhmət olmasa əvvəlki təlimata baxın.

Addım 1: Xüsusiyyətlər

Xüsusiyyətlər
Xüsusiyyətlər

Burada təqdim olunan Önbellek Denetleyicisinin xüsusiyyətlərinə sürətli baxın:

  • Dörd Yollu Assosiativ Keş Nəzarətçisi (Birbaşa Eşlenen Önbellek Denetleyicisi axtarırsınızsa bu linkə daxil olun).
  • Tək Banklı, Bloklama Önbelleği.
  • Yazılan hitlərə dair yazma siyasəti.
  • Yazma səhvləri ilə əlaqədar Ətraflı Yazma Siyasəti.
  • Tree Pseudo-LRU (pLRU) dəyişdirmə siyasəti.
  • Nəzarətçi içərisində Etiket Array.
  • Konfiqurasiya edilə bilən parametrlər.

Önbellek Yaddaşı və Əsas Yaddaş üçün standart xüsusiyyətlər əvvəlki təlimatımla eynidir. Zəhmət olmasa onlara müraciət edin.

Addım 2: Bütün Sistemin RTL Görünüşü

Bütün Sistemin RTL Görünüşü
Bütün Sistemin RTL Görünüşü

Üst Modulun tam RTL nümayişi Şəkildə göstərilmişdir (prosessor istisna olmaqla). Avtobuslar üçün standart xüsusiyyətlər:

  • Bütün Məlumat Avtobusları 32 bitlik Avtobuslardır.
  • Ünvan Avtobusu = 32 bitlik Avtobus (Ancaq burada yalnız 10 bit Yaddaş tərəfindən ünvanlanır).
  • Məlumat Bloku = 128 bit (Oxunmaq üçün Geniş Bant Genişliyi Avtobusu).
  • Bütün komponentlər eyni saatla idarə olunur.

Addım 3: Test Nəticələri

Üst Modul, son təlimatda etdiyimiz kimi, boru kəmərsiz bir Prosessorun modelləri olan bir Test Tezgahı ilə sınaqdan keçirildi. Test Bench tez -tez Yaddaşa Məlumat Oxu/Yazma sorğuları yaradır. Bu, prosessor tərəfindən icra edilən bütün proqramlarda ümumi olan "Yüklə" və "Saxla" təlimatlarını lağa qoyur.

Test nəticələri Cache Controller funksiyasını uğurla yoxladı. Aşağıda müşahidə olunan test statistikası verilmişdir:

  • Bütün Oxu/Yaz Miss və Hit siqnalları düzgün yaradılmışdır.
  • Bütün Məlumatların Oxunması/Yazılması əməliyyatları dörd yolla da uğurlu alındı.
  • pLRU alqoritmi önbellek xətlərinin dəyişdirilməsi üçün uğurla təsdiqlənir.
  • Məlumat uyğunsuzluğu/uyğunsuzluq problemi aşkarlanmadı.
  • Dizayn bir Maxm üçün uğurla təsdiqləndi. İşləmə tezliyi = Xilinx Virtex-4 ML-403 lövhəsində 100 MHz (bütün sistem), yalnız Cache Controller üçün 110 MHz.
  • Blok RAM -lar Əsas Yaddaş üçün çıxarıldı. Bütün digər seriallar LUT -lərdə tətbiq edilmişdir.

Addım 4: Əlavə edilmiş fayllar

Aşağıdakı fayllar bu blogla birlikdə burada əlavə olunur:

  • Cache Controller, Cache Data Array, Ana Yaddaş Sisteminin. VHD faylları.
  • Test bench.
  • Cache Controller sənədləri.

Qeydlər:

  • Burada təqdim olunan Önbellek Denetleyicisinin xüsusiyyətlərini tam başa düşmək üçün sənədlərdən keçin.
  • Koddakı hər hansı bir dəyişiklik digər modullardan asılıdır. Buna görə dəyişikliklər ağıllı şəkildə aparılmalıdır.
  • Verdiyim bütün şərhlərə və başlıqlara diqqət yetirin.
  • Hər hansı bir səbəbdən, Blok RAM -lar Əsas Yaddaş üçün nəticə çıxarmırsa, yaddaşın ölçüsünü azaldın, sonra fayllar arasında ünvan avtobusu genişliyində dəyişikliklər edin və s. Eyni yaddaş ya LUT -lərdə, ya da Paylanmış RAM -da tətbiq oluna bilər. Bu, marşrutlaşdırma vaxtına və mənbələrə qənaət edəcəkdir. Və ya xüsusi FPGA sənədlərinə gedin və Block RAM üçün uyğun kodu tapın və buna uyğun olaraq kodu düzəldin və eyni ünvan avtobus genişliyi xüsusiyyətlərindən istifadə edin. Altera FPGA'lar üçün eyni texnika.

Tövsiyə: