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的配置,主要宏定义例如以下:

 

 

posted @ 2014-10-04 16:58  mengfanrong  阅读(349)  评论(0编辑  收藏  举报