1720|0

2015

帖子

0

TA的资源

纯净的硅(中级)

楼主
 

C64x+ CACHE一致性维护操作 [复制链接]

出现CACHE一致性问题时,为了保证Core或者其它Master在进行数据操作的时候能够得到最新的数据,需要进行CACHE的一致性维护操作。CACHE一致性问题维护在设计中,有两种处理方式:硬件自动维护和应用程序进行维护。

下面具体分析以上几种情况在C64x+平台上如何进行CACHE一致性问题处理:

4.1 硬件维护的CACHE一致性

在C64x+平台上,硬件会对Case5的情况自动进行数据一致性维护。分析需要分为读写两类操作进行,图 5和图 6分别描述了Core对L2上的数据进行读和写的情况。

图 5 Core读L2数据的情况

图 6 Core写L2数据的情况

其它Master要对L2中的内容进行更新操作时,L2控制器会根据被更新数据的地址判断相应的地址是否在L1D CACHE中,如果在L1D CACHE中,硬件会自动将更新的数据拷贝一份到L1D CACHE中。当Core重新对L2中的这部分数据进行处理的时候,如果要读取的数据已经在L1D CACHE中,Core可以直接从L1D CACHE中得到更新过的数据。如果要读取的数据不在L1D CACHE中,L1D控制器会自动从L2加载数据,Core也可以得到更新后的数据。过程如图 5中的1和2所示,这样就可以解决一致性的问题

其它Master要对L2中的内容进行读操作的时候,L2控制器会判断要读取的数据地址是否在L1D CACHE中,对于在L1D CACHE中的数据,硬件会自动从L1D CACHE中读取最新的数据。对于不在L1D CACHE中的数据,说明L2中的数据已经是最新的数据,可以直接从L2中读取。通过这样的处理,可以保证其它Master读到Core更新后的数据,从而可以解决一致性的问题。过程如图 6中的1和2所示。

4.2 软件维护的CACHE一致性

在C64x+平台上,Case2、Case3和Case6的情况需要软件进行的一致性维护操作以保证Core或者其它Master可以得到最新的数据。

4.2.1 C64x+软件一致性维护实现

C64x+平台上由软件控制的一致性维护操作包含三种:CACHE数据失效、CACHE数据回写和CACHE数据回写并失效。启动维护操作需要配置相应的基地址和计数寄存器,当计数寄存器中的值变为0时表示操作完成。TI提供的芯片支持库中也提供了相应的API来完成相应的功能。各种操作涉及的各级CACHE的一致性操作控制寄存器列在表 2中。

WB:全局回写寄存器
INV:全局失效寄存器
WBINV:全局回写并失效寄存器
IBAR: 部分失效基地址寄存器
IWC:部分失效计数寄存器
WBAR:部分回写基地址寄存器
WWC:部分回写计数寄存器
WIBAR:部分回写并失效基地址寄存器
WIWC:部分回写并失效计数寄存器
表 2 C64x+ CACHE一致性维护寄存器

 


 
例如,需要对L2 CACHE进行部分回写操作,需要将回写的DDR2的地址配置到L2WBAR,同时将需要回写的数据32-bit长度写到L2的计数寄存器L2WWC中,当L2WWC中的值变为0之后,表示回写操作已经完成。

点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表