Taula de continguts:
- Pas 1: especificacions
- Pas 2: Vista RTL de tot el sistema
- Pas 3: Resultats de les proves
- Pas 4: fitxers adjunts
Vídeo: Disseny d'un controlador de memòria cau associatiu conjunt de quatre vies en VHDL: 4 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:13
A la meva instrucció anterior, vam veure com dissenyar un controlador de memòria cau mapat directe. Aquesta vegada, fem un pas endavant. Dissenyarem un senzill controlador de memòria cau associativa de quatre vies. Avantatge ? Menys taxa d’errors, però a costa del rendiment. Igual que el meu bloc anterior, dissenyaríem i emularíem un processador sencer, memòria principal i entorn de memòria cau per provar el nostre controlador de memòria cau. Espero que us sembli una referència útil per entendre els conceptes i dissenyar els vostres propis controladors de memòria cau en el futur. Com que el model per al processador (banc de proves) i el sistema de memòria principal són exactament els mateixos que el meu bloc anterior, no els tornaré a explicar. Consulteu les instruccions anteriors per obtenir més informació al respecte.
Pas 1: especificacions
Vista ràpida a través de les especificacions del controlador de memòria cau que es presenten aquí:
- Establir controlador de memòria cau associatiu de quatre direccions (aneu a aquest enllaç si busqueu un controlador de memòria cau assignat directament).
- Memòria cau de bloqueig única.
- Política d’escriptura sobre els hits d’escriptura.
- Política de redacció sobre falles d'escriptura.
- Política de substitució de l'arbre Pseudo-LRU (pLRU).
- Etiqueta matriu dins del controlador.
- Paràmetres configurables.
Les especificacions predeterminades per a la memòria cau i la memòria principal són les mateixes que les que es van instruir anteriorment. Consulteu-los.
Pas 2: Vista RTL de tot el sistema
La representació completa RTL del mòdul superior es mostra a la figura (excloent el processador). Les especificacions predeterminades per als autobusos són:
- Tots els busos de dades són busos de 32 bits.
- Bus d'adreces = Bus de 32 bits (però només la memòria pot dirigir aquí 10 bits).
- Bloc de dades = 128 bits (Bus ample de banda ampla per llegir).
- Tots els components són accionats pel mateix rellotge.
Pas 3: Resultats de les proves
El mòdul superior es va provar utilitzant un banc de proves, que simplement modelava un processador no canalitzat, tal com vam fer a la darrera instrucció. El banc de proves genera sol·licituds de lectura / escriptura de dades a la memòria amb freqüència. Això es burla de les instruccions típiques de "Carregar" i "Emmagatzemar", habituals en tots els programes executats per un processador.
Els resultats de la prova han verificat correctament la funcionalitat del controlador de memòria cau. A continuació es mostren les estadístiques de prova observades:
- Tots els senyals de lectura i escriptura Miss i Hit es van generar correctament.
- Totes les operacions de lectura / escriptura de dades van tenir èxit de les quatre maneres.
- L'algorisme pLRU es verifica amb èxit per a la substitució de línies de memòria cau.
- No s'han detectat problemes d'incoherència o incoherència de dades.
- El disseny s'ha verificat correctament per un Maxm. Freqüència de funcionament del rellotge = 100 MHz a la placa Xilinx Virtex-4 ML-403 (sistema sencer), 110 MHz només per al controlador de memòria cau.
- Les memòries RAM de bloc es van inferir per a la memòria principal. La resta de matrius es van implementar als LUT.
Pas 4: fitxers adjunts
Els fitxers següents s’adjunten aquí amb aquest bloc:
- Fitxers. VHD del controlador de memòria cau, matriu de dades de memòria cau, sistema de memòria principal.
- Banc de proves.
- Documentació sobre el controlador de memòria cau.
Notes:
- Consulteu la documentació per obtenir una comprensió completa de les especificacions del controlador de memòria cau que es presenta aquí.
- Qualsevol canvi en el codi depèn d'altres mòduls. Per tant, els canvis s’han de fer amb criteri.
- Presteu atenció a tots els comentaris i capçaleres que he fet.
- Si per qualsevol motiu, les memòries RAM no es dedueixen per a la memòria principal, REDUEIX la mida de la memòria, seguida de canvis en l'amplada del bus d'adreces dels fitxers, etc. De manera que la mateixa memòria es pot implementar en LUT o en RAM distribuïda. Això estalviarà el temps i els recursos d’encaminament. O bé, aneu a la documentació FPGA específica i cerqueu el codi compatible per a Block RAM i editeu el codi en conseqüència i utilitzeu les mateixes especificacions d'amplada del bus d'adreces. La mateixa tècnica per als FPGA d’Altera.
Recomanat:
Controlador de semàfors Arduino amb led RBG - 4 vies: 3 passos
Controlador de semàfors Arduino amb led RBG | 4 vies: en aquest post, aprendràs sobre com fer un controlador de semàfor Arduino. Aquest controlador de semàfors s’utilitzarà per controlar el flux de trànsit. Es poden aplicar a zones de gran trànsit per evitar bloquejos o accidents de trànsit
Disseny d'un controlador d'interrupció programable en VHDL: 4 passos
Disseny d'un controlador d'interrupció programable en VHDL: estic aclaparat pel tipus de respostes que rebo en aquest bloc. Gràcies nois per visitar el meu bloc i motivar-me a compartir el meu coneixement amb vosaltres. Aquesta vegada, presentaré el disseny d’un altre mòdul interessant que veiem a tots els SOCs: Interrupt C
Disseny d'un controlador de memòria cau simple en VHDL: 4 passos
Disseny d'un controlador de memòria cau simple a VHDL: escric això instructiu, perquè em va semblar una mica difícil obtenir algun codi VHDL de referència per aprendre i començar a dissenyar un controlador de memòria cau. Així que vaig dissenyar un controlador de memòria cau des de zero i el vaig provar amb èxit a FPGA. Tinc p
Disseny d'un controlador VGA simple en VHDL i Verilog: 5 passos
Disseny d'un controlador VGA senzill en VHDL i Verilog: en aquesta instrucció, dissenyarem un controlador VGA simple en RTL. El controlador VGA és el circuit digital dissenyat per conduir pantalles VGA. Es llegeix des de Frame Buffer (memòria VGA) que representa el marc que es mostrarà i genera nece
Interruptors de tres i de quatre vies: com funcionen: 6 passos
Comutadors de tres i de quatre vies: com funcionen: Tot i que un commutador de tres vies és molt senzill per a molts que visiten Instructables.com, és un misteri per a molts altres. Comprendre el funcionament del circuit satisfà la curiositat. També pot ajudar a diagnosticar un commutador de tres vies que no funciona perquè algú