免费注册 查看新帖 |

Chinaunix

广告
  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: hui03090402
打印 上一主题 下一主题

请教linux下可否将数据锁在L2cache之中?该怎么做? [复制链接]

论坛徽章:
0
21 [报告]
发表于 2008-08-14 09:26 |只看该作者
原帖由 gvim 于 2008-8-14 09:17 发表


一个例子是频谱仪。

能不能说详细点,讲一个实际运用中的情况。
比如说一段程序,不被软件放到cache里会发生什么情况,导致一定要被软件锁在cache里,并且CPU提供的手段是什么。例如前面某位兄弟提到了有lock cache指令,这条指令怎么操作?附加效应是什么(比如如何改变CPU的cache entry选择算法,让它跳过某个entry)。
或者兄弟丢个ARM手册中专门讲这段的我自己看也好

论坛徽章:
0
22 [报告]
发表于 2008-08-14 09:41 |只看该作者
原帖由 eRicBIN 于 2008-8-14 07:28 发表


比如bootloader把C代码放到cache里执行,当然要锁cache
这种需求还是很多的


bootloader中有这样强制性的要求吗?
那如果把cache关掉,难道bootloader就不能运行了吗?


另外回楼上的某人,arm中 lock cache是通过cp15来控制的,有对应的指令。
执行的时候只不过是lock的cache中的内容不会被换出去而已,没有什么特别的。
目的就是加快这部分数据的执行速度。

arm很多经典的书上都会讲到这部分的内容的。比如arm arm, arm system developers guide。

lock到cache中,无非是加快其访问速度,使其访问时间可预测。
应该在一些实时性要求高的地方会有使用。你可以想想,如果数据要从ram中取的话,会比较慢,运行时间就很难预测的精准。

论坛徽章:
0
23 [报告]
发表于 2008-08-14 09:53 |只看该作者
原帖由 xpl 于 2008-8-14 09:41 发表


bootloader中有这样强制性的要求吗?
那如果把cache关掉,难道bootloader就不能运行了吗?


另外回楼上的某人,arm中 lock cache是通过cp15来控制的,有对应的指令。
执行的时候只不过是lock的cache中 ...

“使其访问时间可预测”,多谢,这个解释比较明朗了。
我原来觉得仅仅为提高性能的话,是个非常奇怪的需求,因为想不出有什么数据关键到不能换出cache,并且局部性好的程序也不存在这个问题。
不过如果需要访问时间恒定,倒是个明确的需求。

论坛徽章:
2
亥猪
日期:2014-03-19 16:36:35午马
日期:2014-11-23 23:48:46
24 [报告]
发表于 2008-08-14 10:37 |只看该作者
原帖由 zx_wing 于 2008-8-14 09:53 发表

“使其访问时间可预测”,多谢,这个解释比较明朗了。
我原来觉得仅仅为提高性能的话,是个非常奇怪的需求,因为想不出有什么数据关键到不能换出cache,并且局部性好的程序也不存在这个问题。
不过如果需要 ...


呵呵,xpl解释的比我清楚呵呵。
与时间精度高度相关的东西就需要精确时间的预测,比如频谱仪、示波器等仪器里面,或者局部实时性很强的应用的时候(也就是说仅仅只有少数几个(比如1个)条件的触发导致hard realtime,而应用的绝大部分任务可以接受n-1路(其中1路被lock了)相关性的cache line导致的略微降低),比如控制领域的一些设备。

[ 本帖最后由 gvim 于 2008-8-14 10:39 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP