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

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实时数字信号处理 第2章 计算单元 概述 每个内核都有6个计算单元 两个算术/逻辑单元(ALU) 两个乘/累加器(乘法器)单元 一个移位器 一套视频ALU 提供定点操作 处理不同类型的操作 数据移入和移出计算单元是通过数据寄存器文件的 数据总线 高级并行机制利用多功能指令 数据地址产生 寄存器文件 3个寄存器组 数据寄存器文件为计算单元从数据总线接收操作数并存储计算结果 指针寄存器文件含有寻址操作的指针 DAG寄存器是专用于管理DSP操作中的零开销循环缓冲的寄存器。 数据寄存器文件 包含8个寄存器 每个32位宽 一对独立的16位寄存器:低半部分和高半部分 3条独立总线连接寄存器文件和L1数据存储器 2条读、1条写 32位宽 每个周期内搬移多达4个16位的有效数据 32-bit和16-bit操作 R2=R1 + R2; /* 32-bit addition */ R2.L=R1.H * R0.L; /* 16-bit multiplication */ 累加寄存器 两个专有的40位的累加寄存器(A0和A1)的访问形式: 16位低半部分(An.L)、高半部分(An.H) 8位扩展(An.X) 低32位寄存器An.W 完全的40位结果寄存器(An) 指令操作 A0=A1; /* 40-bit move */ A1.W=R7; /* 32-bit move */ A0.H=R5.H; /* 16-bit move */ R6.H=A0.X; /* read 8-bit value and sign extend to 16 bits */ 指针寄存器 通用地址指针寄存器,也称之为P寄存器 6个P寄存器文件P[5:0] 32位宽,主要用于地址计算 也可以在一组限定的算术操作集内用于一般的整数算术操作,譬如用作计数器,但不会影响到ASTAT寄存器的状态标志。 1个帧指针(FP)用于指向当前进程的活动记录 1个堆栈指针(SP)用来指向运行时堆栈中最近一次使用的位置 DAG寄存器组 DAG寄存器组用于寻址 I[3:0]包含索引地址 M[3:0]包含修改值 B[3:0]包含基地址 L[3:0]包含长度值 32位宽 I寄存器和B寄存器包含存储器8-bit字节地址 I寄存器含有一个有效地址,M寄存器含有用于在I寄存器上进行加或减的偏移值 任意的M寄存器可和任意的I寄存器关联,比如,I0可被M3修改 B寄存器和L寄存器定义循环缓冲,B寄存器存储缓冲的起始地址,L寄存器存储长度,按字节计。 L和B寄存器对是与对应的I寄存器相关联的,例如,L0和B0总是和I0相关联 寄存器文件指令汇总 符号的含义说明如下: Allreg表示:R[7:0]、P[5:0]、SP、FP、I[3:0]、M[3:0]、B[3:0]、L[3:0]、A0.X、A0.W、A1.X、A1.W、ASTAT、RETS、RETI、RETX、RETN、RETE、LC[1:0]、LT[1:0]、LB[1:0]、USP、SEQSTAT、SYSCFG、CYCLES和CYCLES2 An表示ALU结果寄存器A0或A1之一 Dreg表示任一个数据寄存器文件寄存器 Sysreg表示系统寄存器ASTAT、SEQSTAT、SYSCFG、RETI、RETX、RETN、RETE或RETS、LC[1:0]、LT[1:0]、LB[1:0]、CYCLES和CYCLES2 Preg表示任一Pointer寄存器、FP或SP寄存器 Dreg_even表示R0、R2、R4或R6 Dreg_odd表示R1、R3、R5或R7 寄存器文件指令汇总 符号的含义说明如下: DPreg表示任一数据寄存器文件寄存器或任一Pointer寄存器、FP或SP寄存器 Dreg_lo表示任一数据寄存器文件寄存器低16位 Dreg_hi表示任一数据寄存器文件寄存器高16位 An.L表示累加器An.W的低16位 An.H表示累加器An.W的高16位 Dreg_byte表示每一个数据寄存器的低8位 Option (X)表示符号扩展 Option (Z)表示零扩展 *指示这个标志可以置位或清零、依赖于指令的计算结果 **指示这个标志清零 –指示无作用 表2-1 寄存器文件指令汇总表 表2-1 寄存器文件指令汇总表[续] 算术状态寄存器(ASTAT) 指示了最近的ALU、乘法器或移位器操作的状态 算术状态寄存器(ASTAT) 数据类型 Balckfin处理器主要是16位定点处理器 大多数操作采用补码数,其它有无符号数或二进制串 一些指令支持32位整数算术、支持8位算术和块浮点 数据格式的详细情况参阅硬件参考手册附录C“数字格式” 在Blackfin处理器系列算术

文档评论(0)

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

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

1亿VIP精品文档

相关文档