ADSP - 3212浮点乘法器/除法器和ADSP - 3222浮点算术逻辑单元(ALU)是符合IEEE 754标准的高速、低功耗算术处理器。乘法器/除法器和ALU构成了实现高速数值处理器的基本计算单元。支持四种数据格式的运算:32位IEEE单精度浮点、64位IEEE双精度浮点、32位二进制补码定点和32位无符号幅度定点。
ADSP - 3212/ADSP - 3222仅采用一级内部流水线就实现了高吞吐量,大大简化了程序开发。与其他采用更深流水线的芯片组相比,使用这种芯片架构在实际系统中更易接近理论MFLOPS速率。此外,ADSP - 3212/ADSP - 3222的内部流水线极少,因此延迟非常低,这在标量处理和具有数据依赖的算法中十分重要。
这两款芯片都有从输出到八个输入寄存器中四个寄存器的内部反馈路径,以及从所有输入寄存器到输出寄存器的前馈路径。向两组输入寄存器反馈有助于交错部分和与部分积,以实现最大吞吐量。
通过符合IEEE 754标准,这些芯片确保了遵循该标准的计算算法具有完全的软件可移植性。所有浮点数据格式和转换均支持四种舍入模式。五种IEEE异常条件——溢出、下溢、无效操作、不精确结果和除零——可通过四个状态引脚从外部获取。同时也支持IEEE渐进下溢规定,并提供处理非规格化数的特殊指令。此外,每款芯片都提供FAST模式,该模式会将小于最小IEEE规格化值的结果置为零,从而在无需完全符合标准时消除下溢异常处理。
ADSP3212和ADSP - 3222均支持IEEE浮点除法。ADSP - 3212速度更快,单精度除法需六个周期,双精度除法需12个周期。除法运算通过断言乘法器/除法器的DIVMUL输入来启动。在ADSP - 3222 ALU上,两条指令SDIV和DDIV分别用于计算单精度除法(16个周期)和双精度除法(30个周期)。支持ADSP - 3222的除法指令是为了与ADSP - 3221兼容。
ADSP - 3212/ADSP - 3222的指令集是ADSP - 3210/3211/3220/3221指令集的超集,适用于函数计算的系统级实现。其中包含特定指令,以方便进行浮点除法和平方根运算、查表、三角函数象限归一化、扩展精度整数运算、逻辑运算以及所有数据格式之间的转换等操作。
两款芯片均有两个输入端口和八个输入寄存器(两组,每组四个寄存器),且始终采用双输入端口配置;数据始终可以同时从两个端口输入。在32位数据加载模式下,输入数据可被导向任意一组寄存器,但两个端口不能同时向同一组寄存器输入数据。如果启用64位并行数据加载,两个端口的64位数据可被导向四对寄存器中的一对。
除了双精度和单精度浮点乘法和除法,ADSP - 3212浮点乘法器/除法器还支持32位定点乘法:二进制补码、无符号幅度和混合模式。ADSP - 3212还有一个HOLD控制,可防止更新输出数据和状态寄存器。