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