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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 10799|回复: 20

求教:ARM9-ARM11的L1 Cache

[复制链接]
发表于 2008-11-2 19:15:14 | 显示全部楼层 |阅读模式

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

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

x
ARM926的L1 Cache是Virtual Tag, Virtual Index的。
ARM1176的L1 Cache是Physical Tag,Virtual index的。
与此相关的问题,是在支持OS、Task context switching方面的效率高低。

请大家说说,怎样理解ARM9->ARM11的这点变化,另外,ARM9中设计的process id、FCSE等机制,与L1 Cache是采用实地址、虚拟地址,有什么具体联系呢?

thank you!
发表于 2008-11-5 18:18:01 | 显示全部楼层
Memory Systems: Cache, DRAM, Disk 这本书的93-96页有关于这两种cache的说明,可以参考一下
发表于 2008-11-5 18:39:59 | 显示全部楼层
9我要钱 我要钱
发表于 2009-5-26 16:58:09 | 显示全部楼层
我也不知道
发表于 2009-6-3 00:26:14 | 显示全部楼层


原帖由 阿基里奥斯 于 2008-11-2 19:15 发表
ARM926的L1 Cache是Virtual Tag, Virtual Index的。
ARM1176的L1 Cache是Physical Tag,Virtual index的。
与此相关的问题,是在支持OS、Task context switching方面的效率高低。

请大家说说,怎样理解ARM9->AR ...


对ARM不是很熟,但这种机制还是比较清楚,简单的说,主要是与性能和面积相关,因为采用Virtual Tag方式,在多进程环境下,不同的进程可能有同样的虚地址,为了解决这个问题,可以有如下办法:
        1:Virtual Tag中不仅要存储Virtual-Addr,还要存储Processor-ID号,从而增加了存储器的面积,也增加了比较逻辑(通常虚地址比物理地址大,再加ID号);
        2:采用所谓的别名机制,但增加了逻辑的复杂性;
        3:Virtual Tag存储阵列中不保存ID号,但进程切换的时候,将cache中上一个进程的内容全部从Cache写回到主存,并直置无效Cache,这自然增加了软件开销;
这是Virtual Tag的缺点,其优点在哪呢?优点是:访问Cache的时候,不必进行TLB转换,直接拿虚地址,就知道数据是不是在Cache中,如果不在Cache中,再将虚地址TLB转换成物理地址,从外部存储器取数据进来。

而采用Physical Tag恰恰与Virtual-Tag机制相反。

而Virtual index的条件是,每个Bank的Cache容量<=页面大小;如果想要Cache容量大些,但页面比较小(页面的大小主要与软件的兼容性相关,因为早期的OS支持的页面不大,所以页面大小不会轻易变化),通常采用多个Bank进行关联;
发表于 2009-6-6 16:34:04 | 显示全部楼层
Memory Systems: Cache, DRAM, Disk ?
发表于 2010-5-26 09:35:32 | 显示全部楼层
谢谢楼主分享!!!
发表于 2010-5-29 08:20:30 | 显示全部楼层
好,谢谢!
发表于 2010-5-29 10:10:10 | 显示全部楼层
楼上讲解的很清楚,学习了啊!
发表于 2010-6-3 23:58:42 | 显示全部楼层
good .. ..... .........
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-11-25 01:31 , Processed in 0.026093 second(s), 8 queries , Gzip On, Redis On.

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