在 LDREX 指令执行前,执行的强秩序存储器区域写入,可能会导致在没有执行STREX 指令的情况下发出 STREX 通过事件 (0x63) 信号。
作为写入结果,所报告的 0x63 事件计数可能会大于实际发生的数量。此外,该问题还会影响相关的 PMUEVENT[27] 信号,其将再次报告相同的寄生事件。
在以下条件下会出现该问题:
在这些条件下,如果在执行 LDREX 时,强秩序存储器区域的写入指令收到其确认(AXI 上的 BRESP 响应),那么就会出现上述故障。
影响: | 轻微.该问题的发生会导致 0x63 事件的一个错误计数,或错误的 PMUEVENT 信号发送[27]。 |
解决方法:: | 在强秩序存储器区域的写入指令和 LDREX 指令之间插入 DMB 或 DSB 指令。 |
受影响的配置: | 使用 CPU 的系统。 |
受影响的器件修订版本: | 全部。无计划修复。参考 (Xilinx Answer 47916) - Zynq-7000 SoC 芯片版本差异。 |
修订历史:
05/16/2013 - 初始版本
Answer Number | 问答标题 | 问题版本 | 已解决问题的版本 |
---|---|---|---|
47916 | Zynq-7000 AP SoC 器件:芯片修订差异 | N/A | N/A |
AR# 55018 | |
---|---|
日期 | 06/13/2018 |
状态 | Active |
Type | 设计咨询 |
器件 |