Hexagon处理器对标量与矢量计算提供了丰富的指令,在本文中,我们就给各位介绍一下Hexagon中各种指令集。
l XTYPE-通用的数据指令
l ALU32-针对32位数据的算术与逻辑运算指令
1.数据类型
Hexagon处理器提供了对如下数据处理的指令:
l 定点数据
l 浮点数据
l 复数数据
l 矢量数据
1.1定点数据的处理
Hexagon处理器提供了对8位,16位,32位或64位的定点数据处理,这些数据既可以是整数型也可以是分数数据,有符号整数或无符号整数格式。
1.2浮点数据的处理
Hexagon处理器提供了对32位浮点数据的处理指令,这些数据应符合IEEE单精度浮点格式。
根据IEEE制定的标准,我们可以定义出表示正数或负数的无限大以及“非数字(NaN这个表示数据没有算术意义)。
浮点数据可以被保存在通用寄存器以内
1.3复数数据的处理
Hexagon处理器提供对32位或64位复数数据的处理。
复数数据包括了有符号的实数部分以及有符号的虚数部分。给定了两个复数数据(a+bi)与(c+di)后,负数的相乘指令将在一个指令内计算实数部分以及虚数部分。
复数可以被打包至一个通用寄存器或寄存器对。打包后,虚数部分在寄存器中将占主要的部分。
1.4矢量数据
Hexagon处理器提供了对64位矢量数据处理的指令
矢量数据类型可以将多种多样的数据类如字节,半字或字打包至64位寄存器,矢量数据指令一般用于视频与图像处理。
八个八位字节可以被打包至一个64位寄存器中,下图显示了矢量字节的处理
向量的字节操作