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