This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM3352内存有瓶颈?

Other Parts Discussed in Thread: AM3352


1.SAM9263(ARM926EJ-S)运行于200MHZ,32BIT SDRAM,其时钟是100MHZ,在Linux2.6下用bw_mem测试内存带宽:
runLmDDRBandwidth.sh
BANDWIDTH MEASUREMENTS

(MB)  (MB/s)
---------------
bw_mem 1M rd
1.05 194.36
bw_mem 1M rdwr
1.05 91.31
bw_mem 1M cp
1.05 142.90
bw_mem 1M frd
1.05 139.38
bw_mem 1M fcp
1.05 86.03
bw_mem 1M bzero
1.05 164.84
bw_mem 1M bcopy
1.05 92.32

1.AM3352运行于300MHZ,VDDCORE = 1.1V,VDDMPU = 1.2V, 16BIT DDR2 RAM,其时钟是266MHZ,在Linux3.2下用bw_mem测试内存带宽:
root@am335x-evm:~# runLmDDRBandwidth.sh
BANDWIDTH MEASUREMENTS
 
(MB)  (MB/s)
---------------
bw_mem 1M rd
1.00 181.42
bw_mem 1M rdwr
1.00 152.58
bw_mem 1M cp
1.00 149.68
bw_mem 1M frd
1.00 157.70
bw_mem 1M fcp
1.00 136.41
bw_mem 1M bzero
1.00 595.86
bw_mem 1M bcopy
1.00 199.92
3.上述结果简要对比
                             AM3352 @300MHZ        SAM9263@200MHZ
                             16BIT 266MHZ DDR2     32BIT 100MHZ SDRAM
bw_mem 1M rd          181.42 MB/s                    194.36 MB/s
bw_mem 1M bzero     595.86 MB/s                    164.84 MB/s
我们的问题:
16BIT 266MHZ DDR2的理论带宽是266Mx16x2 BIT/s=8512 M BIT/s
32BIT 100MHZ SDRAM的理论带宽是100Mx32 BIT/s=3200 M BIT/s
AM3352的内存带宽是SAM9263的2.66倍,但为何AM3352的bw_mem 1M rd的性能那么弱,以至于:
(1)比SAM9263的还低一些?

(2)仅是bw_mem 1M bzero的1/3?
我们的代码从SAM9263平台迁移到AM3352平台后,测试整体性能时,发现300MHZ的AM3352和200MHZ的SAM9263相当,我们认为这是不合理的,因此我们怀疑整体性能低下跟AM3352的bw_mem 1M rd的性能极弱有关,期待TI FAE能帮助分析原因,性能提升的瓶颈出在哪里。
  • 你好!

    如下链接中有AM335X@720M DDR2@266MHz下的测试数据:http://e2e.ti.com/support/arm/sitara_arm/f/791/p/187926/707626

     Test Name Units Linux PSP 04.06.00.07
    bw_mem-rd-1MB MB/s 244.82

  • 我知道你给的这个链接的数据,这个数据我也能复现出来,但我的问题不是问720MHZ下的性能如何,我的问题是:

    1.为什么300MHZ下bw_mem-rd-1MB这个值很低,跟一个200MHZ的SAM9263的相比还低

    2.为何bw_mem-rd-1MBbw_mem-bzero-1MB差别那么大,前者是纯粹的读内存,后者是纯粹的写内存。

    3.为何300MHZ的AM3352整体性能和SAM9263的性能相近?瓶颈在哪里?我们认为瓶颈跟读内存慢有关系,TI会如何回应这个问题?

  • 梁工:

    这个问题需要进一步咨询下我们美国同事,您可以基于那个e2e帖子提这个问题,同时我们会把那个帖子通过邮件highlight给我们美国同事

  • 我也遇到类似问题:
    AM335x裸机开发: 读DDR为什么比写慢很多?
    开发硬件: AM3352,SPI0.SPIFLASH,DDR3@400MHz/800MTS;
    开发软件: CCS; 参考AM335X_StarterWare,建立CCS裸机工程;SPL工程加载APP工程到DDR里运行;
    已经使能MMU,打开CACHE(包含L2开启);DDR也cache使能;
    测试结果: 读DDR比写DDR要慢很多;
    测试流程: 16M字节DDR,连续测试10次; 分正序(cache命中高)和倒序(cache命中低)测试;
    测试结果: 发现读DDR比写DDR要慢很多?

    详见: e2echina.ti.com/.../173681