verilog簡易實現CPU的Cache設計


verilog簡易實現CPU的Cache設計

該文是基於博主之前一篇博客http://www.cnblogs.com/wsine/p/4661147.html所增加的Cache,相同的內容就不重復寫了,可點擊鏈接查看之前的博客。

Cache結構

struct

采用的是2-way,循環5遍的測試方式,和書本上一致,4個set

Cache設計

首先在PCPU模塊里面增加寄存器

1

在流水線MEM那一階段如果是STROE或者LOAD指令更新cache

2

采取的替換策略是FIFO策略,在cache上面增加了一個位U

整個cache的控制部分如下:

3
4

如果讀取時沒有hit,則會成memory中取值並存到cache里面

5
6

書本和ppt上的樣例,初始化了datamemory的值

仿真結果

從仿真器可以比較容易觀察數據的變化,特別是hit0和hit1的變化

7
8
9

從仿真文本來看,gr1和gr2的load結果也是成功的。沒有出現不能錯誤讀取的xxxx結果

傳送門:

  • CPU2_Cache

點擊這里


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM