Cuprins:
- Pasul 1: Specificații
- Pasul 2: Vizualizare RTL a întregului sistem
- Pasul 3: Rezultatele testelor
- Pasul 4: Fișiere atașate
Video: Proiectarea unui controler asociat asociat de cache simplu în patru direcții în VHDL: 4 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
În instrucțiunile mele anterioare, am văzut cum să proiectăm un controler de cache direct mapat simplu. De data aceasta, mergem cu un pas înainte. Vom proiecta un controler cache asociativ simplu cu patru căi. Avantaj? Mai puțin rate de rate, dar cu prețul performanței. La fel ca blogul meu anterior, am fi proiectat și emulat un întreg procesor, memorie principală și mediu cache pentru a testa controlerul nostru cache. Sper că veți găsi acest lucru ca o referință utilă pentru a înțelege conceptele și a vă proiecta propriile controlere cache în viitor. Deoarece modelul procesorului (test bench) și sistemul de memorie principal sunt exact aceleași cu blogul meu anterior, nu le voi explica din nou. Vă rugăm să consultați instrucțiunile anterioare pentru detalii referitoare la aceasta.
Pasul 1: Specificații
Privire rapidă prin specificațiile controlerului cache prezentate aici:
- Setare în patru direcții Asociative Cache Controller (accesați acest link dacă căutați un controler de cache direct mapat).
- Memorie cache unică, blocată.
- Politica de scriere prin intermediul hiturilor de scriere.
- Politica de scriere în jurul valorii de scriere.
- Tree Pseudo-LRU (pLRU) Politica de înlocuire.
- Tag Array în cadrul controlerului.
- Parametri configurabili.
Specificațiile prestabilite pentru memoria cache și memoria principală sunt aceleași ca și pentru instructiunile mele anterioare. Vă rugăm să vă referiți la ele.
Pasul 2: Vizualizare RTL a întregului sistem
Reprezentarea completă RTL a modulului superior este prezentată în figură (cu excepția procesorului). Specificațiile implicite pentru autobuze sunt:
- Toate magistralele de date sunt magistrale pe 32 de biți.
- Address Bus = 32-bit Bus (Dar doar 10 biți sunt adresabili aici de memorie).
- Bloc de date = 128 biți (magistrală cu lățime de bandă largă pentru citire).
- Toate componentele sunt acționate de același ceas.
Pasul 3: Rezultatele testelor
Modulul superior a fost testat folosind un banc de testare, care modelează pur și simplu un procesor fără conductă, așa cum am făcut în ultimul instructable. Test Bank generează frecvent cereri de citire / scriere în memorie. Acest lucru bate în joc instrucțiunile tipice „Încărcare” și „Stocare”, obișnuite în toate programele executate de un procesor.
Rezultatele testului au verificat cu succes funcționalitatea controlerului cache. Următoarele sunt statisticile de testare observate:
- Toate semnalele de citire / scriere Miss și Hit au fost generate corect.
- Toate operațiile de citire / scriere a datelor au avut succes în toate cele patru moduri.
- Algoritmul pLRU este verificat cu succes pentru înlocuirea liniilor cache.
- Nu s-au detectat probleme de incoerență / inconsecvență a datelor.
- Proiectarea a fost verificată cu succes pentru un Maxm. Frecvența de funcționare a ceasului = 100 MHz în placa Xilinx Virtex-4 ML-403 (întreg sistem), 110 MHz numai pentru Cache Controller.
- Au fost deduse blocuri RAM pentru memoria principală. Toate celelalte matrice au fost implementate pe LUT-uri.
Pasul 4: Fișiere atașate
Următoarele fișiere sunt atașate aici cu acest blog:
- Fișiere. VHD ale Cache Controller, Cache Data Array, Main Memory System.
- Test Bank.
- Documentație despre controlerul cache.
Note:
- Consultați documentația pentru înțelegerea completă a specificațiilor controlerului cache prezentate aici.
- Orice modificare a codului depinde de alte module. Deci, schimbările ar trebui făcute judicios.
- Acordați atenție tuturor comentariilor și antetelor pe care le-am dat.
- Dacă, din orice motiv, blocurile RAM nu sunt deduse pentru memoria principală, REDUȚI dimensiunea memoriei, urmată de modificări ale lățimilor magistralei de adresă din fișiere și așa mai departe. Astfel, aceeași memorie poate fi implementată fie pe LUT-uri, fie pe RAM distribuită. Acest lucru va economisi timpul și resursele de rutare. Sau accesați documentația specifică FPGA și găsiți codul compatibil pentru Block RAM și editați codul în consecință și utilizați aceleași specificații ale lățimii magistralei de adrese. Aceeași tehnică pentru Altera FPGA.
Recomandat:
Proiectarea și construirea unui filtru de linie de alimentare pentru un încărcător de telefon Android: 5 pași
Proiectarea și construirea unui filtru de linie de alimentare pentru un încărcător de telefon Android: În acest manual, vă voi arăta cum să luați un cablu USB standard la mini USB, separați-l în mijloc și introduceți un circuit de filtrare care va reduce zgomotul excesiv sau hash produs de o sursă de alimentare tipică pentru Android. Am un portabil m
Proiectarea unui controler de întrerupere programabil în VHDL: 4 pași
Proiectarea unui controler de întrerupere programabil în VHDL: sunt copleșit de tipul de răspunsuri pe care le primesc în acest blog. Mulțumesc băieți că mi-ați vizitat blogul și m-ați motivat să vă împărtășesc cunoștințele. De data aceasta, voi prezenta designul unui alt modul interesant pe care îl vedem în toate SOC - Interrupt C
Proiectarea unui controller de cache simplu în VHDL: 4 pași
Proiectarea unui controler de cache simplu în VHDL: scriu acest lucru instructiv, pentru că mi s-a părut puțin dificil să obțin un cod VHDL de referință pentru a învăța și a începe proiectarea unui controler de cache. Așa că am proiectat un controler cache de la zero și l-am testat cu succes pe FPGA. Am p
Proiectarea unui controler VGA simplu în VHDL și Verilog: 5 pași
Proiectarea unui controler VGA simplu în VHDL și Verilog: În acest instructable, vom proiecta un controler VGA simplu în RTL. VGA Controller este circuitul digital conceput pentru a conduce afișaje VGA. Se citește din Frame Buffer (memorie VGA) care reprezintă cadrul care trebuie afișat și generează nece
Instrucțiuni pentru realizarea unui atașament de legătură cu patru bare pentru suportul pentru picioare montat în centru: 9 pași (cu imagini)
Instrucțiuni pentru realizarea unui atașament de legătură cu patru bare pentru suportul pentru picioare montat în centru: scaunele cu roți cu putere medie (PWC) au devenit mai populare în ultimii ani. Cu toate acestea, datorită amplasării roților din față, suporturile tradiționale montate lateral au fost înlocuite cu un singur suport pentru picioare montat central. Din păcate, center-mou