您好!
我们有一个基于 AM5728的系统、该系统运行来自之前使用 TI 6482的设计的移植代码库。 AM5728上的 C66x 内核在 Sys/BIOS 下以750MHz 运行。 6482上的 C64x 内核在1GHz 的 DSP/BIOS 下运行。 在这两个系统中、我们都从 FPGA 获取数据。 我们看到5728的实现速度比6482慢2.5到3.0倍。 我想知道从哪里开始了解这种情况的发生原因。
更多信息: AM5728具有我们从 EVM 设计中基本取消的 DDR3。 DSP 已 启用尽可能多的 L1/L2高速缓存。 DSP 通过 PCIe 以5G x 1通道连接到 FPGA。 从 FPGA 到 DSP 的数据是通过从 FPGA 到 DSP 的 PCIe 写入的。 数据被写入 L2SRAM 存储器、这是32k 高速缓存后留下的一部分、然后 DSP 获得中断 并将数据复制到 DDR3存储器以供后续处理。 这样做是为了避免 每次 DSP 希望从 FPGA 访问数据时、必须进行高速缓存使 DDR3存储器失效。 如上所述、然后处理来自 DDR3的数据的代码 在 AM5728 DSP 上的速度要慢2.5至3.0倍。 我想、在我们的周期时间中、每个中断~70 μ s、数据从 PCIe 到达 L2SRAM 的时间大约为该时间的50%。
我想知道 、进入 L2RAM 的大量数据是否会阻止高速缓存有效工作、或者只是阻止 DSP 内核有效访问内存。 换句话说、PCIe 将数据传输到 L2SRAM 是否会导致我们的处理过程中止?
如果对此有任何建议或见解,将不胜感激。
谢谢、
Chris