i.MX6 maximum EIM burst length and performance

Document created by Yuri Muhin Employee on Jul 21, 2015
Version 1Show Document
  • View in full screen mode

  When considering EIM bursts (performance, burst length, etc) we should

take into account, that some parameters (maximum burst length, which

defines length in clocks of back-to-back EIM access) depend on master, which

performs the access (EIM always service as slave). The EIM can split a master
burst in order to meet own settings, but the EIM cannot join two master accesses.

So, the maximum  burst length is defined by master. 

Usually three options are applied for EIM burst accesses :

- ARM block copy instructions (LDM / STM) ;
- ARM NEON copy instructions (VLDM / VSTM) ;

- i.MX SDMA.

 

  Below are some details regarding these options.  

 

1. ARM.

ARM provide recommendations below about the fastest way to copy memory on a Cortex-A8.

http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka13544.html

  According to section 8.1.2 (Supported AXI transfers) of ARM Cortex-A9 Technical Reference
Manual, it is possible to get maximum 64 bytes (16 beats x 4 bytes) burst for read and

8 bytes burst for write.

 

 

“INCR N (N:1-16) 32-bit read transfers

INCR N (N:1-2) for 32-bit write transfers”

 

 

http://infocenter.arm.com/help/topic/com.arm.doc.ddi0388i/DDI0388I_cortex_a9_r4p1_trm.pdf

 

 

2. SDMA.

  According to section 55.4.3.1 (Burst DMA Unit) of the i.MX6 DQ RM :

“Perform up to 8-beat read and write bursts to the ARM platform memory, which

optimizes throughput when accessing SDRAM-type devices because of an internal,

36-byte FIFO”.

This means, that burst length of the SDMA cannot be greater than 32 bytes

(8 beat x 4 bytes).

 

As for performance and implementation of SDMA approach, please look at the following :

 

“Measure SDMA Memory To Memory Copy Performance on i.MX6Q”

 

https://community.freescale.com/docs/DOC-103127

1 person found this helpful

Attachments

    Outcomes