以下内容摘自《步步惊芯——软核处理器内部设计分析》一书
ITLB代码分析
ITLB是IMMU中的主要模块,其实现也相对独立、简单。本节对ITLB的代码进行分析。ITLB的输入输出接口如图10.10所示,图中左边是输入接口,右边是输出接口。
因为在ITLB中实现了第2组特殊寄存器,所以有spr_cs、spr_write、spr_addr、spr_dat_i、spr_dat_o等接口,这些接口的含义在分析特殊寄存器类指令的时候已经学习过,应该是非常熟悉的。剩下的输入输出接口含义如下:
- tlb_en:输入的ITLB使能信号
- vaddr:输入的有效地址
- hit:表示ITLB是否命中
- ppn:如果命中,那么ppn输出物理地址的13-31位
- uxe:如果命中,那么uxe就是TR_RAM表中uxe属性位的值
- sxe: