如题,设计之初想要有四个并行核分别去负责运算四分之一的数据,期望达到运算时间也减少到单核串行运算的四分之一,但有点担心,多核并行计算同时去读写ddr的时候,如果不支持同时访问,会不会实际上运算还是串行的?四个核分别承担四分之一的数据计算任务且计算任务的算法是相同的,只是数据不同。这种情况下运算时间是否可以达到单核运算的四分之一呢?我们目前没有用到一级存储器以及二级存储器之类的数据搬移,是直接内核读写ddr的。任务紧急,辛苦回答,谢谢!
Shine:
多个master可以同时访问DDR3,内部会由总线优先级仲裁,相对单个master访问时效率有所下降,但是可以保证正确性,不需要软件干预。DDR3内部仲裁机制可以参考user guide
2.6.1 Arbitration
www.ti.com/…/sprugv8e.pdf
user6109135:
回复 Shine:
您好,您这里提到的效率下降是指多核总时间比单核时间略长,还是多核运行的时候每个核都比单核运行时间长?打个比方单核运行完整的数据需要4分钟,我们现在用四个核同时运算,每个核处理四分之一的数据,期望时间可以达到1分钟左右。这种设想是可以实现的吗?
Shine:
回复 user6109135:
上面的效率是针对同一个核的情况下,如在没有其他核访问DDR时,该核需要1分钟,但如果有其他核同时访问DDR了,由于仲裁导致的延时,可能这个核就达不到1分钟的处理时间,所以说效率有所下降。
您说的情况需要统计一下每个核的执行时间,看是否能达到1分钟。