持续逐出与互连反压相结合可能导致写回无分配存储发生停滞

ace 要求 wu/wlu 传输事务不得绕过任何未完成的逐出类型传输事务 (writeback/writeevict/writeclean)。
为满足此要求,如果在逐出处于暂挂状态时尝试 wu/wlu 传输事务,则会导致微架构危害并强制回放。
在极为罕见的情况下,如果存在由 l2 高速缓存行填充和关联逐出构成的持久性数据流,并且互连中存在显著反压,这两者相结合并搭配特定时序,就可能导致 wbna 存储无限停滞。
条件
1. 通过将 l2actlr[4] 默认值更改为 1b0 来启用 writeunique/writelineunique 传输事务。
2. cortex-a72 处理器发出写回无分配存储 (op1) 指令。如果处理器将数据流传输存储降级至写回无分配,则同样满足此条件。
3. 存在暂挂的逐出事务,因 ace 要求未完成的逐出事务必须完成后才能执行 writeunique/writelineunique 存储,从而导致 (op1) 强制停滞。
4. 因其它核和/或预取导致发生持续性的 l2 高速缓存行填充数据流,从而触发新的逐出。
5. 在互连中存在显著持续性反压,使系统保持处于拥塞,从而使 ace 写入通道队列近满。
6. 存在特定仲裁和时序条件,并且此类条件与条件 5 相结合导致触发微架构危害,导致条件 3 不断重复。
解决方案
影响:
如满足以上条件,(op1) 将停滞直至 l2 子系统中的特定时序条件和反压放宽为止。写回无分配存储后的中断和屏障也将延迟,直至存储完成为止。
此错误的条件极为罕见,应该不会对实际系统性能产生显著影响。
此外,如果使用 l2actlr[4] 的复位值,并禁用 writeunique/writelineunique 传输事务,则可提升大部分系统的性能。
变通方法:
如无需 writeunique/writelineunique 传输事务,则可通过设置 l2actlr[4] = 1'b1 来将其禁用。
这是复位值。否则,设置 l2actlr[7] = 1'b1 即可启用 l2 危害检测超时。这将强制 l2 高速缓存定期重新评估危害,届时将释放停滞。
受影响的配置:
具有 arm cortex-a72 (apu) 的所有 versal 器件。
解决方案:
请参阅此第三方勘误表 (arm, inc. 851022)。不对该问题进行修复。


基于WinCE的GPS移动设备设计
Allegro宣布推出全新功率监控IC ACS37800解决方案
戴姆勒卡车北美公司正在研发冗余汽车底盘和基础设施
应用于低温环境测量的超声波液位传感器
全球首款20:1显示屏亮相 大宝剑设计亮瞎眼
持续逐出与互连反压相结合可能导致写回无分配存储发生停滞
AT32 MCU DMA通道的灵活配置
***破晓时,信创行业正扬帆
洲明在浔阳打造的700㎡户外裸眼3D巨屏成功点亮
DAC的指标和结构 DAC芯片的原理和分类
基于区块链技术的DrXin健康管理产业生态系统介绍
蓝牙基带数据传输机理分析
一文弄懂信源编码是什么
免费领门票啦!CITE2022专业观众预登记通道已全面开启
智能出入口控制系统的创新发展
单电源互补推挽功放电路及原理分析
常规五参数浮标AD叶绿素水质在线监测你了解过吗?
弘积科技VADP应用交付平台获得2020年度技术卓越奖
美国将在月球建4G网络 预计2022年下半年部署
hll_hll是什么意思