ZYNQ7000双核AMP工作方式下如何共享L2 Cache

运行环境:
Zynq7045芯片平台,Core0跑Linux,Core1跑FreeRTOS,通过OpenAMP框架来启动Core1-FreeRTOS和核间通信。
问题现象:
目前发现Core0-Linux执行2MB以上DDR数据的memcpy操作或者memtester 1M 1,Core1-FreeRTOS的运行性能就会受到影响。
可能的原因:
在AMP模式中,core 0与core 1共用512K L2 Cache,这势必会引起两个核的Cache竞争问题。
通常情况下,L2 Cache被core 0,core 1共享。core 0的内存访问操作可能会清除core 1所使用的L2缓存内容,从而使core 1的软件性能有不确定性。
尤其是架构为AMP时,这种不确定性会造成系统运行不正常。

问题验证步骤:
1.Core0-Linux初始化L2-cache,Core1-FreeRTOS BSP不对L2-cache初始化,Core1-FreeRTOS DMA搬运数据
core0的memtester 100M 1 操作影响core1的响应速度

2.Core0-Linux不初始化L2-cache,Core1-FreeRTOS BSP对L2-cache初始化,Core1-FreeRTOS DMA搬运数据
core0的memtester 100M 1 操作影响core1的响应速度

3.Core0-Linux不初始化L2-cache,Core1-FreeRTOS BSP对L2-cache初始化,lockdown by master方法,将L2-Cache空间一半用于Core0-Linux,一半用于缓存Core1-FreeRTOS的数据,Core1-FreeRTOS DMA搬运数据
网口不通,core0的memtester 100M 1 操作影响core1的响应速度

4.Core0-Linux不初始化L2-cache,Core1-FreeRTOS BSP对L2-cache初始化,lockdown

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值