一、数据类型
1 、Boolean
布尔值为TRUE或FALSE:
TRUE是生成时的值1,测试时为非零。
位串是位的填充字段。位串由逻辑、移位和位字段指令产生和使用。FALSE是值0
布尔值作为比较和逻辑指令的结果产生,并在逻辑和条件跳转指令中用作源操作数。
2、 Bit String
位串是位的填充字段。位串由逻辑、移位和位字段指令产生和使用。
3、 Byte
字节是一个8位值,可用于字符或非常短的整数。没有特定的编码假设。
4 、Signed Fraction
该体系结构支持16位、32位和64位符号小数数据用于DSP算法。这种格式的数据值有一个高阶符号位,其中0表示正(+),1表示负(-),后面跟着一个隐含的二进制点和分数。因此,它们的值在[-1,1]的范围内。
5 、Address
地址是一个32位的无符号值。
6 、Signed and Unsigned Integers
有符号整数和无符号整数通常是32位。较短的有符号或无符号整数在从内存加载到寄存器时是符号扩展或零扩展到32位的。
Multi-precision
支持多精度整数,使用进位进行加减。整数被认为是移位和屏蔽操作的位字符串。多精度移位可以使用单精度移位和位域提取的组合来实现。
7 、IEEE-754 Single-Precision Floating-Point Number
根据核心体系结构的具体实现,协处理器硬件指令或对库的软件调用支持IEEE-754浮点数。
二、 数据格式
所有通用寄存器(GPRs)都是32位宽,大多数指令操作字(32位)值。当字节或半字数据元素从内存中加载时,它们会自动进行符号扩展或零扩展以填充寄存器。填充类型在加载指令中是隐式的。例如,LD.B加载带有符号扩展名的字节,或LD.BU加载带有0扩展名的字节。
支持的数据格式有:
位
字节:有符号,无符号
半字:有符号,无符号,分数
字:有符号,无符号,分数,浮点数
48位:有符号,无符号,分数
双字:有符号,无符号,分数

1、对齐要求
地址和数据的对齐要求不同。加载到地址寄存器或从地址寄存器存储的地址变量必须始终是word对齐的。
数据可以在任何半字边界上对齐,无论大小如何,除非下面注明。这便于在DSP应用程序中使用打包算术运算,允许在任何半字边界上加载或存储两个或四个打包的16位数据元素。
编程限制
有一些限制是程序员必须知道的,具体来说:
LDMST, CMPSWAP.W, SWAPMSK.W和SWAP.W指令要求它们的操作数与word对齐。

本文详细介绍了架构中的关键数据类型,包括布尔值、位串、字节、整数、浮点数等,以及数据格式、对齐规则、内存模型、信号量操作和各种寻址模式,如绝对地址、基+偏移和循环寻址。
最低0.47元/天 解锁文章
533





