EDA365电子论坛网
标题:
ARM体系的变种类型介绍
[打印本页]
作者:
monsterscvb
时间:
2021-3-11 13:31
标题:
ARM体系的变种类型介绍
1.Thumb
指令
集(T变种)
6 R9 @6 S8 J$ M9 Y1 e
Thumb指令集是将ARM指令集的一个子集重新编码而形成的的一个指令集。ARM指令长度为32位,Thumb指令长度为16位。与ARM指令集相比,Thumb指令集具有一定的局限性,即完成相同的操作,Thunmb指令通常需要更多的指令。因此在对系统运行时间要求苛刻的应用场合,ARM指令集更为合适。
- Q* C, a" B1 a
Thumb指令集没有包含进行异常处理时需要的一些指令,所以在异常中断的低级处理时,还是需要使用ARM指令。这种限制决定了Thumb指令需要和ARM指令配合使用。
* ~1 i2 p+ {1 d& Y
2.长乘法指令(M变种)
7 ]/ a1 ]# l9 O! X$ Y5 b
M变种增加了两条用于进行长乘法操作的ARM指令:其中一条指令用于实现32位整数乘以32位整数,生成64位整数的长乘法操作,另一条指令用于实现32位整数乘以32位整数,然后再加上32位整数,生成64位整数长乘操作。
/ y) U6 r" B) Q) g6 u
在需要这种长乘法的应用场合,使用M变种比较合适,然而,在有些应用场合中,乘法操作的性能并不重要,在系统实现时就不适合增加M变种的功能。
$ c) W/ e+ v& P% o
3.增强型DSP指令(E变种)
5 }! C) @5 N3 n' A, x4 x7 h
E变种包含了一些附加的指令,这些指令用于增强处理器对一些典型DSP算法的处理性能,主要包括:几条新的实现16位数据乘法和乘加操作的指令,实现饱和的带符号数的加减法操作指令。
: G7 r, _) h p7 a4 A
所谓饱和的带符号数的加减法操作是在加减法操作溢出时,结果并不进行卷绕,而是使用最大的正数或最小的负数来表示。进行数字数据操作的指令,包括双字数读取指令LDRD、双字写入指令STRD和协助处理器的寄存器
传输
指令MCRR/MRRC、Cache预取指令PLD。
$ G _8 S$ _: t. R
4.JAVA加速器Jazelle(J变种)
3 b9 m @, C, Z- V P I
ARM的Jazelle技术将Java的优势和先进的32位RISC
芯片
完美地结合在一起。Jazelle技术提供了Java加速功能,可以得到比普通Java虚拟机高得多的性能。与普通的Java虚拟机相比,Jazelle使Java代码运行速度提高了3倍,而功耗降低了80%
* t5 k3 `/ b) w: J
Jazelle技术使得程序员可以在一个单独对的处理器上同时运行Java应用程序、已经建立好的
操作系统
、中间件以及其他应用程序。与使用协处理器和双处理器相比,使用单独的处理器可以在提供高性能的同时,保证低功耗和低成本。
# A( w! P; p. y6 r, Q5 `$ {4 ?
5.ARM媒体功能扩展(SIMD变种)
" g- N# r/ X6 K1 W) q
ARM媒体功能扩展为
嵌入式
应用系统提供了高性能的
音频
/视频处理技术。这就要求处理器能够提供很强的数字信号处理能力,同时还必须保持低功耗,以延长
电池
的使用时间。ARMd的SIMD媒体功能扩展为这些应用需要提供了解决方案。
# W( \( q) t* `7 T! Y4 V8 y7 n# e$ \( r
SIMD变种的主要特点:可以同时进行两个16位操作数或者4个8位操作数的运算,提供了小数算数运算,用户可以定义饱和运算的模式,两套16位操作数的乘加/乘减运算,32位乘以32位的小数MAC,同时8位/16位选择操作。
! B4 G( V; b, c! K
作者:
nevadaooo
时间:
2021-3-11 14:38
学习了
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2