VRS51L3074上增强型算术单元的高效算术运算

preview
需积分: 0 0 下载量 174 浏览量 更新于2020-07-25 收藏 97KB PDF 举报
VRS51L3074单片机是Ramtron公司推出的具有高性能特点的8位微控制器。它具备高速处理能力、大容量的片上存储空间、耐久擦写的非易失性存储器以及支持高精度控制的PWM输出等功能。VRS51L3074的增强型算术单元(EAU)为其算术运算提供了强大的硬件支持,能显著提高执行复杂算术运算的效率。 EAU是一个专门设计的硬件模块,支持高效地执行乘加(MAC)操作,这在数字信号处理和嵌入式应用中是常见的需求。EAU支持三种基本运算模式:乘加运算、32位加法运算和16位整数除法运算。此外,乘加运算和32位加法运算模式还可以添加一次桶形移位操作,以便在单个时钟周期内完成整个运算流程。 1. 乘加运算模式包括两个16位数的乘法操作,接着将得到的32位乘积与另一个32位数相加,并可进行桶形移位。这相当于执行了类似通用数字信号处理器(DSP)芯片的MAC操作。 2. 32位加法运算模式允许执行两个32位数的加法操作,并且还可以附带一次移位操作。 3. 16位整数除法运算模式则支持进行整数除法运算。 EAU的硬件结构包括四个主要组成部分:16×16位的乘法器、32位加法器、32位桶形移位器和16位除法器。乘法器和除法器支持有符号数的运算,加法器仅支持无符号加法,而桶形移位器则可以根据不同的操作选择处理有符号或无符号数。 在实际应用中,EAU的使用要点在于其硬件特性和寄存器的配置。例如,编写算法代码时,必须先初始化EAU模块,并确保按需设置寄存器以执行特定的运算。对于乘加运算,算法设计者必须将乘法器的输出正确地送至加法器,并处理桶形移位器。 在本文档中,通过两个算法示例详细说明了如何利用EAU进行高效算术运算: 1. 32位有符号整数开平方算法。这个算法利用了试根法,即不断尝试确定平方根的各个位,通过比较试根的平方与被开方数来确定每个位的值。EAU通过快速完成乘法和加法运算来提高算法效率。 2. 16位二进制数转BCD码算法。这个算法通过将二进制数除以2的操作逐步转换为BCD码。在这个过程中,EAU的除法器能够快速执行除法运算,从而加快转换速度。 在实现上述算法时,需要注意以下几点: - EAU的各个部分并不是任意组合的,而是三种基本运算模式对应不同的硬件模块组合。 - 使用EAU时,需要仔细配置各个相关寄存器,以确保运算能正确执行。 - 算法实现时,可能需要对EAU模块进行启用和禁用操作,并在必要时切换到特定的系统功能寄存器页。 - 对于乘加运算和加法运算,需要准备相应的输入值,对于除法运算,需要正确设置被除数和除数。 - 需要注意桶形移位器的设置,以决定是将输入值视为有符号数还是无符号数。 - 在执行运算的过程中,需要根据EAU的运算结果设置适当的算法逻辑。 通过这些知识点,可以看出VRS51L3074的EAU是通过专门设计的硬件来优化某些类型的算术操作,为开发者提供了一种高效执行复杂算术运算的手段。这也要求开发人员对硬件模块有深入理解,并能够结合实际应用来设计和实现高效算法。
身份认证 购VIP最低享 7 折!
30元优惠券