|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
1.Thumb指令集(T变种)
2 z+ y( ^& e n Thumb指令集是将ARM指令集的一个子集重新编码而形成的的一个指令集。ARM指令长度为32位,Thumb指令长度为16位。与ARM指令集相比,Thumb指令集具有一定的局限性,即完成相同的操作,Thunmb指令通常需要更多的指令。因此在对系统运行时间要求苛刻的应用场合,ARM指令集更为合适。' C6 V7 X2 C1 i3 Q' _- t' ^ D% w
Thumb指令集没有包含进行异常处理时需要的一些指令,所以在异常中断的低级处理时,还是需要使用ARM指令。这种限制决定了Thumb指令需要和ARM指令配合使用。7 W6 c8 q' B# f) o5 b3 x8 e9 y
2.长乘法指令(M变种)
. x7 H+ t7 ]7 z/ {* R% b, j/ X M变种增加了两条用于进行长乘法操作的ARM指令:其中一条指令用于实现32位整数乘以32位整数,生成64位整数的长乘法操作,另一条指令用于实现32位整数乘以32位整数,然后再加上32位整数,生成64位整数长乘操作。$ U/ w) ]% Q5 H2 p5 c
在需要这种长乘法的应用场合,使用M变种比较合适,然而,在有些应用场合中,乘法操作的性能并不重要,在系统实现时就不适合增加M变种的功能。9 D; f) A' F. L2 ~+ V, `( }2 Z2 V
5 @) R& M& h+ O; F% k3.增强型DSP指令(E变种)
1 S" C6 n3 z$ ^- K$ _) o6 z) n- l% q) P. }5 f9 i1 S; R' J( i
E变种包含了一些附加的指令,这些指令用于增强处理器对一些典型DSP算法的处理性能,主要包括:几条新的实现16位数据乘法和乘加操作的指令,实现饱和的带符号数的加减法操作指令。
2 @" ?7 z/ a7 D 所谓饱和的带符号数的加减法操作是在加减法操作溢出时,结果并不进行卷绕,而是使用最大的正数或最小的负数来表示。进行数字数据操作的指令,包括双字数读取指令LDRD、双字写入指令STRD和协助处理器的寄存器传输指令MCRR/MRRC、Cache预取指令PLD。
3 X( ]7 V1 y+ }
9 C" ~1 D! g9 ]$ i4.JAVA加速器Jazelle(J变种)
& S K3 K [; O% g
0 p5 M3 ]% V$ @8 g1 [& b' r% p* U+ l ARM的Jazelle技术将Java的优势和先进的32位RISC芯片完美地结合在一起。Jazelle技术提供了Java加速功能,可以得到比普通Java虚拟机高得多的性能。与普通的Java虚拟机相比,Jazelle使Java代码运行速度提高了3倍,而功耗降低了80%% [. S' E, J: E. ^9 S( k0 H& S
Jazelle技术使得程序员可以在一个单独对的处理器上同时运行Java应用程序、已经建立好的操作系统、中间件以及其他应用程序。与使用协处理器和双处理器相比,使用单独的处理器可以在提供高性能的同时,保证低功耗和低成本。
- y! ~" w/ J2 d1 r- i' ^ V5 d! J/ A6 P+ l; \* }; L1 W
5.ARM媒体功能扩展(SIMD变种)5 _% b9 d6 [; p+ F& U1 H/ W
3 _1 X7 F+ F- u$ |1 [
ARM媒体功能扩展为嵌入式应用系统提供了高性能的音频/视频处理技术。这就要求处理器能够提供很强的数字信号处理能力,同时还必须保持低功耗,以延长电池的使用时间。ARMd的SIMD媒体功能扩展为这些应用需要提供了解决方案。
1 P4 ~( a H* s7 e. j" ` SIMD变种的主要特点:可以同时进行两个16位操作数或者4个8位操作数的运算,提供了小数算数运算,用户可以定义饱和运算的模式,两套16位操作数的乘加/乘减运算,32位乘以32位的小数MAC,同时8位/16位选择操作。2 R# v& [+ K* @8 y, a
* m o( A* w3 B& n ^+ L* X* @7 a8 e" A! h4 ~0 d9 o
|
|