网站大量收购闲置独家精品文档,联系QQ:2885784924

实时数字信号处理第2章计算单元.ppt

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
乘法器操作 输入 数据寄存器文件寄存器 从两个32-bit输入得到两个16-bit操作数 输出 累加其结果到它的累加器寄存器A1或A0 累加器结果可饱和成32或40位 或圆整后直接写入16-bit或32-bit目的寄存器 数据类型 输入都是整数类型或者是小数类型,结果的类型和输入的类型一致 对于MAC0,两个输入都被当作无符号或有符号数 对于MAC1,有一个混合类型选项 若两个输入都是小数形式并是有符号数,将结果左移一位,以消除冗余符号位 而对于无符号小数、整数或者混合类型,不执行符号位修正的移位操作 乘法指令选项指定了输入数据的格式 参见“乘法器指令选项” 乘法器操作 乘法器结果的圆整或饱和 乘法结果溢出时的饱和处理 乘法器指令汇总(参见整理文稿) 乘法器指令选项(参见整理文稿) 不带累加的乘法 乘积结果直接存入一个数据寄存器文件寄存器或累加器寄存器 目的寄存器可以是16位的或32位的 16-bit目的寄存器,低半字则使用MAC0 16-bit目的寄存器,高半字则使用MAC1 32-bit目的寄存器,MAC0和MAC1都可以使用 乘法器操作 特殊的32-bit整数MAC指令 Dreg*=Dreg; 双MAC操作 两个16-bit MAC使MAC吞吐率加倍 两个32-bit输入寄存器可提供给每一个MAC单元,提供了4种可能组合的16-bit输入操作数。 矢量操作 存储样点矢量到4个输入操作数,并执行矢量计算。 例子 A1+=R1.H * R2.L, A0+=R1.L * R2.H; MAC操作中4个可能的组合 MAC0 MAC0 MAC0 MAC0 39 A 31 Rm Rp A0 39 B 31 Rm Rp A0 39 C 31 Rm Rp A0 39 D 31 Rm Rp A0 桶式移位器 提供对16-bit、32-bit或40-bit输入的移位功能,产生一个16-bit,32-bit,或40-bit的输出 功能 算术移位、逻辑移位、循环移位和各种位测试、设置、打包、解包和指数检测 移位功能可以组合 实现数字格式控制,包括完整的浮点表示 移位器操作 指令 ,,,ASHIFT,LSHIFT,ROT ASHIFT和指令表示算术移位 LSHIFT、、指令表示逻辑移位 在16-bit单个或成对的数值上操作的指令都可以采用ASHIFT和LSHIFT指令 在许多DSP算法中用到,典型的3操作数指令 操作一个32-bit寄存器值并使用两个操作数的指令,可以利用和指令 算术移位、逻辑移位和循环指令 可从寄存器或直接从指令的立即数中获得移位参数 两操作数移位 移位一个输入寄存器并将结果存入同一寄存器 立即移位 R0 contains 0000 B6A3; R0 =0x04; 结果:R0 contains 0000 0B6A 寄存器移位 R0 contains 0000 B6A3; R2 contains 0000 0004; R0=R2; 结果:R0 contains 000B 6A30。 3操作数移位 对一个输入寄存器进行移位并将结果存放在目的寄存器 立即移位 R0 contains 0000 B6A3; R1=R00x04; 结果:R1 contains 0000 0B6A 寄存器移位 R0 contains 0000 B6A3; R2.L contains 0004; R1=R0 ASHIFT by R2.L; 结果:R1 contains 000B 6A30 R0 contains ABCD EF12; R2.L contains 0004; R1=R0 ROT by R2.L; (循环移位,假设条件码位(CC)设置为0 ) 结果:R1 contains BCDE F125 CC位包含在结果中,在第3位 位测试、置位、清零、切换 对一个数据寄存器中的指定位进行测试、置位、清零及切换 两个参数——源寄存器和位域值 不改变源寄存器,结果保存在CC位里 例子 BITCLR (R0, 6) ; BITSET (R2, 9) ; BITTGL (R3, 2) ; CC=BITTST (R3, 0) ; 域抽取和域存储 可从一个32-bit源域中的任何位置上抽取出一个1-bit到16-bit域 可以将1-bit到16-bit长度的源域存储到一个32-bit目的域中的任何位置上 使用两个寄存器参数 一个包含32-bit目的或32-bit源 另一个包含要抽取/存储的值,它的长度和它在源里的位置 表2-12移位器指令汇总表部分指令 指令 ASTAT 状态标志 AZ AN AC0 AC0_COPY AC1 AV0 AV0S AV1 AV1S CC V V_COPY VS Dreg = DEPOSIT (Dreg, Dreg

您可能关注的文档

文档评论(0)

550008333 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档