or1200中IMMU分析(续)

下面内容摘自《步步惊芯——软核处理器内部设计分析》一书

2 IMMU中的特殊寄存器

      OR1200处理器中的IMMU包括第2组特殊寄存器,如表10.1所看到的。

      ITLBW0MRx是指令TLB匹配寄存器,其格式如表10.2所看到的。

      表10.2OpenRISC 1000规范中的定义,实际在OR1200处理器中仅仅实现了当中一部分字段,包含VPNVirtual Page Number)的一部分、VValid标志位)。ITLBW0MRx相应图10.7MR_RAM的表项,每个表项相应一个ITLBW0MRx,表项中“有效地址的19-31位”相应ITLBW0MRx19-31位,表项中的V相应ITLBW0MRx中的V。如图10.8所看到的。

 

      ITLBW0TRx是指令TLB翻译寄存器,其格式如表10.3所看到的。

      表10.3是OpenRISC 1000规范中的定义,实际在OR1200中也仅仅实现了当中一部分字段,包含PPN(Physical Page Number)的一部分、UXE、SXE、CI。ITLBW0TRx相应图10.7中TR_RAM的表项,每个表项相应一个ITLBW0TRx,详细的相应关系也非常直接。如图10.9所看到的。

      ITLB最大可配置有128项,所以ITLBW0MRx、ITLBW0TRx的x是从0-127,默认ITLB仅仅配置有64项,此时ITLBW0MRx、ITLBW0TRx中的x仅仅有0-63是有效的。

3 OR1200中关于IMMU的一些配置

      在or1200_defines.v中有一些与IMMU相关的宏定义,用户能够通过改动宏定义实现对IMMU的配置,主要宏定义例如以下:

原文地址:https://www.cnblogs.com/mengfanrong/p/4006138.html