【发布时间】:2021-10-24 17:53:43
【问题描述】:
我正在运行一个系统测试用例,其中 QSPI、SRAM、DRAM 和设备(外围)存储器 MPU 区域在 ARM_MPU_RASR 中保持为可共享。测试用例正在执行 SRAM 到 SRAM 的可缓存复制操作。这种配置导致 M7 性能低得多 ~70MB/s。 当除设备内存之外的所有设备都禁用可共享性时,性能将显着提高到 ~600 MB/s。 有人可以解释这种行为背后的原因吗? CM7的MPU可共享属性和CA53的MMU可共享属性有什么区别?
【问题讨论】:
-
你有什么特定的设备?如果在内部可共享域内有不同的方法来维护缓存一致性,这可能是相关的。
-
完全猜测,但也许 M7 并不能真正有效地参与 MESI,因此存储不能只访问它的 SRAM(这基本上是 L1d 缓存吗?),而是必须广播到其他核心,甚至等待确认无效。对于小的一致性请求队列,延迟 x 带宽乘积可能会变得太大,从而限制了实际带宽。
-
@PeterCordes 该设备是 NXP 用于车联网的 S32G2 处理器。
标签: arm benchmarking cpu-architecture cortex-m cortex-a