Ti 64xDSP的EDMA基本概念
1. 基本概念
l 元素传输(Element transfer):在1D传输中,从源到目的的单个数据元素的传输,每个同步事件触发一个元素的传输。
l 帧(Frame):在1D传输中,一组元素组成一帧,元素可以连续也可以有间隔(通过元素索引),一个同步事件可以触发一帧的传输。
l 数组(Array):在2D传输中,一组连续的元素组成一个数组。一个事件可以触发一个数组的传输。
l 块(Block):一组数组或帧构成一个数据块,对于1D传输,块由帧构成,对于2D传输,块由数组构成。
l 一维传输(1D transfer):帧组成的1D数据块的传输,FRMCNT指明帧数,ELECNT指明组成帧的元素个数。
l 二维传输(2D transfer):帧组成的2D数据块的传输,FRMCNT指明数组个数,ELECNT指明组成数组的元素个数。
2. 传输方式:
l 基于元素(Element)同步的1D1D传输:FS = 0,一个事件触发一个Element的传输。整个块完毕(FRMCNT = 0且ELECNT = 1)产生传输完毕中断。除最后一次传输结束外其它每次事件触发传输一次时产生Alternate Transfer Complete中断。
l 基于帧(Frame)同步的1D1D传输:FS = 1,一个事件触发一个Frame的传输。整个块完毕(FRMCNT = 0)产生传输完毕中断。除最后一次传输结束外其它每次事件触发传输一次时产生Alternate Transfer Complete中断。
l 基于数组(Array)同步的2D2D传输:FS = 0,一个事件触发一个Array的传输。整个块完毕(FRMCNT = 0)产生传输完毕中断。除最后一次传输结束外其它每次事件触发传输一次时产生Alternate Transfer Complete中断。
l 基于块(Block)同步的2D2D传输:FS = 1,一个事件触发整个Blcok的传输。整个块完毕(FRMCNT = 0)产生传输完毕中断。不产生Alternate Transfer Complete中断。
l 基于数组(Array)同步的1D2D传输:FS = 0,一个事件触发一个Array的传输。注意在这个方式,一维源的帧(Frame)必须是连续的。整个块完毕(FRMCNT = 0)产生传输完毕中断。除最后一次传输结束外其它每次事件触发传输一次时产生Alternate Transfer Complete中断。
l 基于块(Block)同步的1D2D传输:FS = 1,一个事件触发整个Block的传输。注意在这个方式,一维源的帧(Frame)必须是连续的,不能有间隔。整个块完毕(FRMCNT = 0)产生传输完毕中断。不产生Alternate Transfer Complete中断。
l 基于数组(Array)同步的2D1D传输:FS = 0,一个事件触发一个Array的传输。注意在这个方式,一维目的的帧(Frame)必须是连续的。整个块完毕(FRMCNT = 0)产生传输完毕中断。除最后一次传输结束外其它每次事件触发传输一次时产生Alternate Transfer Complete中断。
l 基于块(BLCOK)同步的2D1D传输:FS = 1,一个事件触发整个Block的传输。注意在这个方式,一维目的的帧(Frame)必须是连续的。整个块完毕(FRMCNT = 0)产生传输完毕中断。不产生Alternate Transfer Complete中断。
3. EDMA的传输效率:
对于一个给定的传输任务,按2所说,可能有多种传输方式可以实现要求传输任务,但是效率(传输速度)可能大大不一样,总线利用率相差非常巨大,这一点必须注意,比如下表:
表一:元素的尺寸与总线带宽利用率的关系
元素宽度 |
传输的数据长度(字节) |
读操作 |
写操作 |
||
传输带宽(Mb/sec) |
利用率 |
传输带宽(Mb/sec) |
利用率 |
||
32-bit |
4 |
400 |
50% |
400 |
50% |
32-bit |
16 |
800 |
100% |
800 |
100% |
32-bit |
128 |
800 |
100% |
800 |
100% |
16-bit |
4 |
143.9 |
18.0% |
200 |
25.0% |
16-bit |
16 |
85.1 |
10.6% |
105.3 |
13.2% |
16-bit |
128 |
74.0 |
9.3% |
100.6 |
12.6% |
8-bit |
4 |
50.0 |
7.0% |
55.6 |
7.0% |
8-bit |
16 |
42.1 |
5.3% |
51.9 |
6.5% |
8-bit |
128 |
38.4 |
4.8% |
50.2 |
6.3% |
可见字节传输效率最低
表二:EDMA地址更新模式(增量、减量、索引、固定)与总线带宽利用率的关系(以L2到EMIF为例)
SUM |
DUM |
传输周期(CPU周期) |
传输带宽(Mb/sec) |
利用率(%) |
L2: Any |
EMIF: Increment |
96 |
800 |
100 |
L2: Any |
EMIF: Fixed |
96 |
800 |
100 |
L2: Any |
EMIF: Decrement |
144 |
533.3 |
66.7 |
L2: Any |
EMIF: Index |
379 |
202.5 |
25.3 |
EMIF: Increment |
L2: Any |
96 |
800 |
100 |
EMIF: Fixed |
L2: Any |
96 |
800 |
100 |
EMIF: Decrement |
L2: Any |
108 |
715 |
89.4 |
EMIF: Index |
L2: Any |
495 |
155 |
19.4 |
可见Index传输效率最低
还有很多其它的影响因素,参看Ti文档spraa02