平台说明:vxWorks6.8环境,loongson3a-4核cpu(mips架构)
首先说一下我对tlb的理解:
tlb就是按照一定的结构(具体的存储的时的结构是什么样子,跟使用的具体平台相关,不同平台的方式可能就不太一样)存储虚拟地址到物理地址的转换的一段存储空间,这段空间设计在cpu里,并且通过cpu中cp0辅助寄存器来进行读写,其中有一点比较特殊的是当cpu选择地址时,对tlb中的内容是同时进行比对的,是并行的,这样大大加快了处理的速度。画一个示意图:
首先说一下我对tlb的理解:
tlb就是按照一定的结构(具体的存储的时的结构是什么样子,跟使用的具体平台相关,不同平台的方式可能就不太一样)存储虚拟地址到物理地址的转换的一段存储空间,这段空间设计在cpu里,并且通过cpu中cp0辅助寄存器来进行读写,其中有一点比较特殊的是当cpu选择地址时,对tlb中的内容是同时进行比对的,是并行的,这样大大加快了处理的速度。画一个示意图:
这里就详细介绍下怎么设置tlb的,具体的寄存器内容,可以去这里下载一个3a手册,看一下对以辅助寄存器CP0的描述:http://www.loongnix.org/index.php/首页,在网页最下面就是手册的下载。
设置tlb表项的函数:
mmuMipsPteSet(&pte,
(default_fb_base + 0x2000000),
(ULONG) (default_fb_base + 0x2000000),
(MMU_R4K_STATE_VALID