|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
1.Thumb指令集(T变种)
% X3 c A. G5 y6 C6 |6 F! U Thumb指令集是将ARM指令集的一个子集重新编码而形成的的一个指令集。ARM指令长度为32位,Thumb指令长度为16位。与ARM指令集相比,Thumb指令集具有一定的局限性,即完成相同的操作,Thunmb指令通常需要更多的指令。因此在对系统运行时间要求苛刻的应用场合,ARM指令集更为合适。
* b4 d3 o- ?0 T- ]+ ~0 d3 A Thumb指令集没有包含进行异常处理时需要的一些指令,所以在异常中断的低级处理时,还是需要使用ARM指令。这种限制决定了Thumb指令需要和ARM指令配合使用。
6 e6 z" g. Q- O3 B6 E2 C2.长乘法指令(M变种)
( O$ ~; [$ w: [7 V7 R# s2 e M变种增加了两条用于进行长乘法操作的ARM指令:其中一条指令用于实现32位整数乘以32位整数,生成64位整数的长乘法操作,另一条指令用于实现32位整数乘以32位整数,然后再加上32位整数,生成64位整数长乘操作。% R+ w0 z2 K2 P
在需要这种长乘法的应用场合,使用M变种比较合适,然而,在有些应用场合中,乘法操作的性能并不重要,在系统实现时就不适合增加M变种的功能。0 A: u, Q3 E7 {- Z9 B
, x; C- g8 s" j6 Y5 I; b# E3.增强型DSP指令(E变种)
. i' d- e8 Y' ^4 l* Y
* k8 k+ H [) s' G E变种包含了一些附加的指令,这些指令用于增强处理器对一些典型DSP算法的处理性能,主要包括:几条新的实现16位数据乘法和乘加操作的指令,实现饱和的带符号数的加减法操作指令。8 j7 Q4 a4 B5 Y6 W1 ^( @
所谓饱和的带符号数的加减法操作是在加减法操作溢出时,结果并不进行卷绕,而是使用最大的正数或最小的负数来表示。进行数字数据操作的指令,包括双字数读取指令LDRD、双字写入指令STRD和协助处理器的寄存器传输指令MCRR/MRRC、Cache预取指令PLD。
L! ]+ n' V5 P) u" K; P. x- L; `+ @/ F. u/ z
4.JAVA加速器Jazelle(J变种)' O, ~/ D( W4 u$ V
" B0 b& v d: k- y0 e6 |1 L ARM的Jazelle技术将Java的优势和先进的32位RISC芯片完美地结合在一起。Jazelle技术提供了Java加速功能,可以得到比普通Java虚拟机高得多的性能。与普通的Java虚拟机相比,Jazelle使Java代码运行速度提高了3倍,而功耗降低了80%
u9 n( H' Z! w, C5 N Jazelle技术使得程序员可以在一个单独对的处理器上同时运行Java应用程序、已经建立好的操作系统、中间件以及其他应用程序。与使用协处理器和双处理器相比,使用单独的处理器可以在提供高性能的同时,保证低功耗和低成本。, f! p8 w2 R% x3 ^
4 P$ b8 O' z6 [( U. C; [
5.ARM媒体功能扩展(SIMD变种)5 p+ r$ S# y$ |! C
: c% h1 p& s5 h' v9 X k: X0 `7 f
ARM媒体功能扩展为嵌入式应用系统提供了高性能的音频/视频处理技术。这就要求处理器能够提供很强的数字信号处理能力,同时还必须保持低功耗,以延长电池的使用时间。ARMd的SIMD媒体功能扩展为这些应用需要提供了解决方案。8 t6 b( T% [- O) X+ Y9 }- R4 \
SIMD变种的主要特点:可以同时进行两个16位操作数或者4个8位操作数的运算,提供了小数算数运算,用户可以定义饱和运算的模式,两套16位操作数的乘加/乘减运算,32位乘以32位的小数MAC,同时8位/16位选择操作。
+ y! }+ |3 H" z5 c5 }
/ V# F& M9 |2 o' F" V0 y& j) q' H6 Y' R
|
|