ARM9E 和 cortex a8 NEON 优化效率的对比
最近需要对比ARM9E和cortex a8 NEON的优化效率,虽然NEON的指令在完全适合的情况下,可以做到是ARM9E的1/4的运行周期,但是实际情况下很少有程序完全适合NEON的并行思想,只能是部分适合,所以在网上搜了下,发现visual on 公司做过arm11和cortex a8的对比。
实际上,arm11和arm9e的效率基本相当,这点可以从多家公司公布的datasheet看出来。
那么我们可以吧arm11的效率作为arm9e的效率来参考,可以得到下面的对比表格
对于视频
|
RES
|
ARM11(MHz@30fps)
|
Cortex A8(MHz@30fps)
|
A8/ARM11 |
Mpeg4_Akiyo_VGA |
640x480 |
297 |
104 |
0.35 |
Mpeg4_Akiyo_CIF |
352x288 |
100 |
30 |
0.3 |
Mpeg4_Ruby_CIF |
352x288 |
103 |
34 |
0.33 |
DivX_E05_M10 320 |
320x240 |
85 |
32 |
0.37 |
对于音频
Decoder |
Sample rate (kbps)
|
ARM11(MHz)
|
Cortex A8(MHz)
|
A8/ARM11 |
AAC_128kbps_1
|
44.1k
|
19.8
|
9.9
|
0.5 |
AAC_128kbps_3
|
44.1k
|
18.7
|
9.1
|
0.48 |
AAC_86kbps
|
44.1k
|
18.6
|
8.7
|
0.47 |
MP3_128kbps_2
|
44.1k
|
14.8
|
9.7
|
0.66 |
MP3_128kbps_3
|
44.1k
|
14.4
|
9.6
|
0.66 |
MP3_192kbps
|
44.1k
|
15.8
|
9.9
|
0.63 |
从上表可以看出cortex a8 要做到只有arm9e的1/4运行周期还是很困难的,对视频好些,可以做到1/3左右。对于语音和音频,能做到1/2就相当不错了。