免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7183 | 回复: 10
打印 上一主题 下一主题

CPU的cache会cache 直接内存映射的外设寄存器值吗? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-10-02 12:27 |只看该作者 |倒序浏览
Hi,

IA32,可寻址4G物理地址空间。这4G物理地址空间包括了物理内存和直接映射的外设地址。线性地址通过MMU转化成物理地址,物理地址离开CPU被发送到北桥,北桥再根据地址区分出是物理内存还是IO设备,从而进行后面的访问。

那么对于CPU的cache来说,它只负责cache数据,应该见不到北桥以及北桥后面的情况,也就是说应该见不到是内存数据还是直接映射的IO数据,对吧?


我的疑问是:如果是一个直接内存映射的IO register值,cpu cache会把这个值与内存值等同起来,做cache吗?

如果不做,那cache是怎么知道这个值是io值从而不做的呢?
如果做,那么我们(OS)访问直接映射的IO值时,肯定应该绕过cache直接去读IO值,那怎样绕过呢?

论坛徽章:
2
摩羯座
日期:2013-10-10 14:29:04天蝎座
日期:2014-01-03 09:14:49
2 [报告]
发表于 2010-10-02 15:45 |只看该作者
IA32?

论坛徽章:
0
3 [报告]
发表于 2010-10-02 16:30 |只看该作者
本帖最后由 epegasus 于 2010-10-02 16:55 编辑

IA32通过页目录项和页表项相关字段控制是否cache
有的mips构架硬性规定某个空间某段地址就是非cache的。这时虚拟地址到物理地址映射是固定的而不是通过页转换 见 < see mips run linux >

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
4 [报告]
发表于 2010-10-06 13:41 |只看该作者
Processor可以有方法控制哪一块cache,哪一块不cache,再或者也有Prosessor以地址分的,从不同地址访问同一物理存储,但一个是cache机制的,一个不是cache机制的。
当然,对于比如外设寄存器这种东西,软件上是要把cache干掉的,否则就有问题了。

论坛徽章:
0
5 [报告]
发表于 2010-10-07 00:45 |只看该作者
Processor可以有方法控制哪一块cache,哪一块不cache,再或者也有Prosessor以地址分的,从不同地址访问同一物 ...
cjaizss 发表于 2010-10-06 13:41



    学习了.

论坛徽章:
0
6 [报告]
发表于 2010-10-07 16:17 |只看该作者
cpu可以工作在uncached模式

论坛徽章:
0
7 [报告]
发表于 2010-10-08 17:41 |只看该作者
回复 1# new_learner


    这是driver的责任,driver当然知道ioremap过来的虚拟地址在经过页表来取数据时是每次都绕过cache还是先访问cache,这是page table的table entry的bit来控制的。

论坛徽章:
0
8 [报告]
发表于 2010-10-09 10:18 |只看该作者
这时虚拟地址到物理地址映射是固定的而不是通过页转换 见 < see mips run linux >
epegasus 发表于 2010-10-02 16:30



你的意思是这些uncachel的512M虚拟地址空间,就不用经过MMU了?

多谢推荐此书,看了下前面部分,很适合偶这种菜鸟

论坛徽章:
0
9 [报告]
发表于 2010-10-09 10:22 |只看该作者
当然,对于比如外设寄存器这种东西,软件上是要把cache干掉的,否则就有问题了
cjaizss 发表于 2010-10-06 13:41



那就是说,X86中IO register这种统一编址的memory,在OS访问register时,需要OS自己去负责cache的invalidate,cache硬件本身不会关心这种事?

论坛徽章:
0
10 [报告]
发表于 2010-10-09 10:22 |只看该作者
回复  new_learner


    这是driver的责任,driver当然知道ioremap过来的虚拟地址在经过页表来取数据时 ...
snail_314 发表于 2010-10-08 17:41



    多谢!
你的意思跟3楼的意思是一样的吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP