嵌入式开发者社区

标题: 数组放在DDR3和SL2中运行效率为什么一样 [打印本页]

作者: 朱宝军    时间: 2018-1-13 10:11
标题: 数组放在DDR3和SL2中运行效率为什么一样
我用fread()函数从电脑硬盘上读取一幅图像数据,然后把图像数据等分六分,分别交给c6678的6个核来处理,我的想象是把图像数据放在SL2中要比放在DDR中效率要高很多,但是我发现效率没有任何提高,请问是怎么回事?
分配空间是这样进行的:
#pragma DATA_SECTION(img1, "image_1")
#pragma DATA_ALIGN(img1, 128)
int img1[640*100];
#pragma DATA_SECTION(img2, "image_2")
#pragma DATA_ALIGN(img2, 128)
int img2[640*100];
img1 ,img2。。。。。都是全局变量
其余4个核类似
然后用
image_1  >  SL2
image_2  >  DDR3
我多次运行发现无论放在SL2或DDR3中,对运行效率没有任何影响,
我想可能在以下3个环节有问题
1、通过fread()函数从电脑硬盘上读取图像的时候,应该是先把整幅图像读到DDR中,即使我用image_1  >  SL2,实际上图像任然需要从DDR拷贝到SL2中,这个过程比较耗时,所以和image_2  >  DDR3用时一样?
2、我从网上看需要把SL2映射到DDR3中,并且需要MSMC的内存设置为non-cacheable才行,请问怎么把SL2映射到DDR3,用MPAX怎么映射?
3、我的存放方法有问题吗,能使用image_1  >  SL2这种方式吗?






欢迎光临 嵌入式开发者社区 (https://51ele.net/) Powered by Discuz! X3.4