Versal ACAP,APU - 当有逐出传输事务处于暂挂状态时,外部数据嗅探可能导致数据损坏

今日头条

1142人已加入

描述

条件

1. Cortex-A72 配置为针对 UC 逐出传输事务不发送任何数据。这是通过将 L2ACTLR[14] 设置为 1b0 来实现的。该位的默认值为 1'b1。
2. Cortex-A72 配置为向外部推送无数据逐出传输事务。这是通过将 L2ACTLR[3] 设置为 1b0 来实现的。该位的默认值为 1b1。
3. Cortex-A72 针对处于 UC 状态的缓存行发出无数据逐出传输事务(即 SnpClean、SnpShared 或 SnpUnique 传输事务)。
4. Cortex-A72 发出逐出传输事务,并等待来自互连对象的完成响应 (COMP)。
5. 互连对象发出 COMP,随后又向同一缓存行地址发出嗅探请求。
6. 由于互连中存在争用条件,Cortex-A72 先接收到嗅探请求,后接收到 COMP。

解决方案

影响:

如果满足上述条件,则可能发生数据损坏。

变通方法:

有多种变通方法可选:

选项 1:

将 Cortex-A72 配置为针对 UC 逐出传输事务发送数据。这可通过将 L2ACTLR[14] 设置为 1b1 来实现。

选项 2:

将 Cortex-A72 配置为禁止向外部推送清除 (Clean) 或逐出 (Evict) 传输事务。

这可通过将 L2ACTLR[3] 设置为 1b1 来实现。

受影响的配置:

具有 Arm Cortex-A72 (APU) 的所有 Versal 器件。

解决方案:

请参阅此第三方勘误表 (Arm, Inc. 854172)。

审核编辑 黄昊宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分