在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 6171|回复: 4

关于BATs以及tlb的问题

[复制链接]
发表于 2009-1-21 10:50:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
代码中看到关于BATs和TLB entry的内容,有一些不知所云
希望哪位可以出来给讲解一下

缓存跟这两个内容有什么关系?
在8260的模版代码中,是先清理BATs,然后把TLB无效化,这样做的目的是什么呢?
文档中关于TLB的内容我是这样理解的
根据603e用户手册,603e内核提供使TLB entry无效化的能力。TLB无效化入口指令使以EA(有效地址)作为偏移量的指令无效化,并且使同时使四个入口(数据/指令TLB)同时无效。
到底使无效化的作用是什么?
发表于 2009-2-2 11:09:45 | 显示全部楼层
BAT和TLB属于MMU,是用来进行逻辑地址(有时候被称为虚拟地址)和物理地址之间转换的,处理的是地址映射关系:
603e提供3中地址转换模式:页地址转换,通过TLB实现;BAT(块地址转换),将逻辑地址映射到一连续的物理地址;实地址转换,禁止地址转换(MSR[IR] =0,MSR[DR]=0), 逻辑地址与物理地址相等,直接将逻辑地址送往地址总线, 如果物理内存较小,高位的逻辑地址可能被忽略。

BAT机制可以将一连续的大于一页地址的逻辑地址映射到物理内存中。如果有效地址与相应的BAT寄存器匹配,将使用BAT寄存器中的信息来转换有效地址为物理地址。BAT是一种简单有效的映射机制,映射关系比较简单,转换效率上比页转换快,但功能不如页转换强大,最大的缺点就是不能提供虚拟映射机制。因此如果BAT和页转换相互结合能组成一更为强大高效的转换机制。

在做地址映射的时候,TLB匹配和BAT匹配会并行进行。但如果BAT命中,那么会用BAT中的映射关系去转换地址,TLB会被忽略;如果BAT未命中,那么会尝试用TLB机制去映射地址。

而缓存是CPU和内存空间之间的中继设施,和MMU不一样,它处理的是数据,包括CPU读取的数据和指令。
缓存和MMU之间的区别,我建议找本讲处理器结构的书看看。
 楼主| 发表于 2009-2-2 13:24:18 | 显示全部楼层
非常感谢
那TLB或者缓存的禁止与否就看个人需要了吧?
没有什么特别的规定
比如说在某个过程某个步骤需要特别禁止的
发表于 2009-2-3 17:35:02 | 显示全部楼层
一般来说,在处理器初始化的时候会需要把这些机制暂时禁止,因为没有配置,一开始无法工作,在后面再把他们打开。cache一般都会需要的,但是TLB机制可能会不需要,这个跟操作系统的内存管理有关。简单的嵌入式系统中,可能不需要虚拟地址/物理地址的转换,那么就可以将TLB关闭。
发表于 2009-3-4 14:56:50 | 显示全部楼层
找本FSL的Datasheet或者看看Linux PowerPC详解不就得了。不同的Power还不太一样。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-5-12 22:54 , Processed in 0.021751 second(s), 10 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表