UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 52033

Zynq-7000 SoC、APU — 禁用 MMU 的投机性指令可能不符合架构要求

描述

CPU 通常在启用 MMU 及分支预测的情况下运行。如果处理器在这种情况下运行了很长一段时间,分支目标地址高速缓存 (BTAC) 就将包含分支预测。 

随后,如果 MMU 被禁用,但分支预测仍然是启用的,这些陈旧的 BTAC 条目会导致处理器将投机性指令提取至读取敏感的位置。 

这违反了 ARM 架构参考手册中记录的关于投机性获取的 ARMv7 架构规则。

解决方案

影响:
很小。CPU 主要在启用 MMU 的情况下使用。该问题也可通过在下一节中列出的简单解决方法来避免。
解决方法:
使 BTAC 中的所有条目无效,执行 BPIALL(使整个分支预测阵列无效)操作,然后在禁用 MMU 之前执行 DSB。
另一种潜在解决方法是在禁用 MMU 时禁用分支预测,让分支预测一直处于禁用状态,直到 MMU 被重新启用。
受影响的配置:
使用 CPU 的系统。
受影响的器件修订版本:全部。无计划修复。参考 (Xilinx Answer 47916) - Zynq-7000 SoC 芯片版本差异答复记录。
 

修订历史:
2013 年 3 月新版。

链接问答记录

主要问答记录

Answer Number 问答标题 问题版本 已解决问题的版本
47916 Zynq-7000 SoC 器件:芯片修订差异 N/A N/A
AR# 52033
日期 06/13/2018
状态 Active
Type 设计咨询
器件
的页面