Zynq-7000 SoC,互连 - OCM交换机可以通过繁重的CPU / ACP流程体验饥饿

描述

由于CPU和ACP互连流程非常大,因此OCM互连可能会使存储器访问匮乏,因为CPU读写请求的仲裁优先级高于通过OCM互连的请求。

通过启用MMU / Cache机制并将地址范围设置为Cacheable或Strongly Ordered,可以减少CPU生成的内存流程。

影响:

次要。该问题发生在非常极端和人为创建的使用场景下。通过推荐的解决方案,饥饿场景从未重新创建过。

解决方法:

启用MMU后,将OCM内存区域配置为可缓存或强有序内存类型。请参阅下面的解决方法详细信息。

受影响的配置:

处理器访问OCM的系统。

受影响的器件版本: 请参阅(Xilinx答复47916) - Zynq-7000设计咨询主答复记录


解决方法细节

某些MMU配置更有可能创建这些饥饿场景,因为它们可以对OCM的CPU端口产生更高的数据吞吐量要求。

建议在启用MMU时,将OCM内存区域配置为Cacheable或Strongly Ordered内存类型。通过使用这些配置,在任何仿真中都没有观察到饥饿期。

其他MMU设置可能导致OCM交换机端口遭遇饥饿。

编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-31 14:49:55 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它