TigerSHARC系列DSP应用教程_for2012秋季.docx

上传人:小飞机 文档编号:1665059 上传时间:2022-12-13 格式:DOCX 页数:118 大小:3.32MB
返回 下载 相关 举报
TigerSHARC系列DSP应用教程_for2012秋季.docx_第1页
第1页 / 共118页
TigerSHARC系列DSP应用教程_for2012秋季.docx_第2页
第2页 / 共118页
TigerSHARC系列DSP应用教程_for2012秋季.docx_第3页
第3页 / 共118页
TigerSHARC系列DSP应用教程_for2012秋季.docx_第4页
第4页 / 共118页
TigerSHARC系列DSP应用教程_for2012秋季.docx_第5页
第5页 / 共118页
点击查看更多>>
资源描述

《TigerSHARC系列DSP应用教程_for2012秋季.docx》由会员分享,可在线阅读,更多相关《TigerSHARC系列DSP应用教程_for2012秋季.docx(118页珍藏版)》请在三一办公上搜索。

1、TigerSHARC系列DSP应用教程苏 涛 崔向阳西 安 电 子 科 技 大 学雷达信号处理国家重点实验室2012年10月目录TIGERSHARC系列DSP应用教程1第1章 DSP技术综述31.1数字信号处理器的发展和特点31.2数字信号处理器的应用领域3第2章 ADSP-TS201S处理器结构与功能32.1 ADSP-TS201S处理器概述32.2 ADSP-TS201S的计算块32.2.1 寄存器组32.2.3 CLU32.2.4 乘法器32.2.5移位器32.3 IALU32.3.1 IALU寄存器32.3.2 IALU算术、逻辑和函数操作32.3.3 IALU执行状态与执行条件32.

2、3.4 IALU 执行条件32.3.5 IALU 数据寻址和传送操作32.4 程序控制器32.5 存储器组织32.5.1 主机寻址空间32.5.2 处理器内部存储空间32.5.3 外部存储器寻址空间32.5.4多处理器寻址空间32.6 链路口32.6.1链路口寄存器32.6.2链路口模式设置32.6.3 链路口DMA32.6.4 链路口连接与通信32.6.5 链路口服务请求中断32.7 SDRAM接口32.7.1 概述32.7.2 SDRAM控制寄存器(SDRCON)32.8 DMA32.8.1 概述32.8.2 DMA状态和控制寄存器组32.8.3 链式DMA32.8.4 DMA中断32.9

3、 中断32.9.1中断的处理过程32.10 ADSP-TS201S引脚说明3第三章 TIGERSHARC指令系统33.1 TIGERSHARC指令系统特点33.1.1 TigerSHARC结构与指令特点33.1.2 指令行结构33.2 指令集33.2.1 ALU 指令33.2.2乘法指令33.2.3移位器指令33.2.4 IALU 指令33.2.5 程序流控制指令3第4章 ADSP的软件开发34.1 DSP的软件开发流程34.2 开发工具VisualDSP+概述34.3 集成开发环境34.3.1 创建一个新的工程文件34.3.2 设置工程选项34.3.3 添加或编辑工程源文件34.3.4生成一

4、个调试版的工程34.3.5 调试一个工程34.3.6 生成一个正式版的工程34.4 选择合适的调试平台34.4.1 安装仿真器驱动软件34.4.2 选择调试平台34.5 Debugger 工具34.5.1程序调试(Debug)操作34.5.2 程序性能分析操作34.5.3 设置观察点和断点34.5.4 模仿硬件环境34.5.5 寄存器窗口操作34.5.6 存储器窗口操作34.5.7 其它窗口操作34.6 编写链接描述文件34.7 编程练习34.7.1 DFT汇编例子34.7.2 DFT C程序例子34.7.3 FIR 汇编的例子34.7.4 SDRAM和内部存储器的DMA通信(利用EZ-KIT

5、)34.7.5编写C程序,建立磁盘文件,练习读写数据34.7.6调试器和EZ-KIT板的性能比较34.7.7用ADSP_TS201 EZ-KIT板实现定时器34.7.8用链路口实现数据传输34.7.9 DSP实验课大作业设计3第1章 DSP技术综述数字信号处理相对于模拟信号处理有很大的优越性,表现在精度高、灵活性大、可靠性好、易于大规模集成等方面。随着人们对实时信号处理要求的不断提高和大规模集成电路技术的迅速发展,数字信号处理技术也发生着日新月异的变革。1.1数字信号处理器的发展和特点实时数字信号处理技术的核心和标志是数字信号处理器(DSP)。数字信号处理有别于普通的科学计算与分析,它强调运算

6、处理的实时性,因此DSP除了具备普通微处理器所强调的高速运算和控制功能外,针对实时数字信号处理,在处理器结构、指令系统、指令流程上做了很大的改动,其结构特点如下:1) DSP普遍采用了数据总线和程序总线分离的哈佛结构及改进的哈佛结构,比传统处理器的冯诺依曼结构有更高的指令执行速度;2) DSP大多采用流水技术,即每条指令都由片内多个功能单元分别完成取指、译码、取数、执行等多个步骤,从而在不提高时钟频率的条件下减少了每条指令的执行时间;3) 片内有多条总线可以同时进行取指和多个数据存取操作,并且有辅助寄存器用于寻址,它们可以在寻址访问前或访问后自动修改内容,以指向下一个要访问的地址;4) 针对滤

7、波、相关、矩阵运算等需要大量乘法累加运算的特点,DSP配有独立的乘法器和加法器,使得同一时钟周期内可以完成相乘、累加运算,最新出现的如ADSP-TS101、ADSP-TS201系列的DSP可以同时完成乘、加、减各2次运算,大大加快了FFT的蝶形运算速度;5) 许多DSP带有DMA通道控制器,以及串口通信等,配合片内多总线结构,数据块传送速度大大提高;6) 配有中断处理器和定时控制器,可以很方便地构成一个小规模系统;7) 具有软、硬件等待功能,能与各种存储器连接。数字信号处理器(DSP)、通用微处理器(MPU)、微控制器(MCU)三者的区别在于:DSP面向高性能、重复性、数值运算密集型的实时处理

8、;MPU大量用于计算机;MCU则用于以控制为主的处理过程。而DSP本身具有以下功能,提高了实时数字信号处理的性能:1) 单指令周期的乘、加操作;2) 特殊的高速寻址方式,可以在其他操作进行的同时完成地址寄存器指针的修改,并具有循环寻址、位反序寻址功能。循环寻址用于FIR滤波器,可以省去相当于迟延线功能的大量数据移动,用于FFT则可以紧凑地存放旋转因子表;位反序有利于FFT的快速完成;3) 针对实时处理所设计的存储器接口,能在单指令周期时间内完成多次存储器或I/O设备访问;4) 专门的指令集和较长的指令字,一个指令字同时控制片内多个功能单元的操作;5) 单片系统,易于小型化设计;6) 低功耗,一

9、般为0.54W,采用低功耗技术的DSP只有0.1W,可用电池供电,对嵌入式系统很适合,而新型MPU,如Pentium、Power PC等功耗达20-50W。因此,DSP的运算速度要高得多。以FFT、相关为例,高性能DSP不仅处理速度是MPU的410倍,而且可以流水无间断地完成数据的实时输入和输出。DSP结构相对单一,普遍采用汇编语言编程,其任务完成时间的可预测性相对于结构和指令复杂(超标量指令)、严重依赖于编译系统的MPU要强得多。以一个FIR滤波器为例,每输入一个数据,对应每阶滤波器系统需要一次乘、一次加、一次取指、两次取数,有时还需要专门的数据移动操作,DSP可以单周期完成乘加并行操作以及

10、34次数据存取操作,而普通MPU至少需要4个指令周期,因此在相同的指令周期和片内缓存条件下,DSP是MPU运算速度的4倍以上。正是基于DSP的这些优势,在高性能通用微处理器片内已经融入了DSP的功能,从而使计算机在网络通信、语音图像处理、实时数据分析等方面的效率大大提高。自1985年第一片数字信号处理器TMS320C10产生以来,DSP发展大致经历了多个阶段,形成了目前DSP产品的三类档次:第一类是低成本、低功耗、高性价比的16bit定点DSP,应用最广泛,代表产品是TMS320C2000、TMS320C5000、Blackfin等型号;第二类是32bit浮点DSP,目前代表产品有TMS320

11、C3x、ADSP2106x等型号;第三类是性能更高的DSP,如定点的TMS320C62xx、TMS320C64xx,浮点的TMS320C67xx、ADSP- TS10x、ADSP-TS20x等型号。不同类型的 DSP适用于不同的场合。定点DSP可以胜任大多数数字信号处理应用,速度比浮点DSP快,成本、功耗比浮点DSP低;但在某些场合,当信号处理方式复杂、数据的动态范围很大时,按定点处理就会发生数据上溢出或下溢出,使信号处理无法进行。如果仍用定点DSP,以移位定标或模拟浮点运算的方式,将使程序执行速度大大降低。若采用浮点DSP,就解决了这些问题。常见的16bit定点DSP动态范围仅96dB,每增

12、加1bit,动态范围增加6dB;而32bit浮点数据的动态范围为1536dB。因此,浮点DSP的处理性能在许多情况下要比定点DSP高得多。32位浮点DSP也可以完成32位定点运算(与定点DSP用法一致),目前的浮点DSP还具备更大的存储访问空间。更重要的是,浮点DSP的汇编程序比定点DSP的汇编程序简单:、易读、易编程、易调试,产生的代码也短,与常用的C编程方法相近,因此目前高级语言(如C语言)编译器更适合于浮点DSP,这使得普通计算机上的源代码无需大的修改,就可以较方便地移植到DSP设计中。虽然目前已经有了峰值运算能力超过每秒10亿次的DSP,但相对于人们要求的每秒几百亿次、上千亿次运算来说

13、仍远远不够。受到开关速度极限的限制,进一步提高主频所遇到的难度和付出的成本越来越大,单处理器性能的提高受到制约。为此,引入了并行处理技术。其实在DSP内部的多级流水处理、同时相乘/累加进行等功能中已经融入了片内并行技术。TMS320C6x采用超长指令字(VLIW)和多级流水线技术,在每条256bit的指令字中指定了多条流水线、多个处理单元的并行操作。在DSP外部也采用并行技术。以TMS320C4x、SHARC、ADSP-TS10x和ADSP-TS20x等并行DSP为用户提供了设计大规模并行系统的硬件基础,它们都提供了多通信(链路)口、多DSP共享总线的控制逻辑。利用通信(链路)口可以组成松耦合

14、的分布式并行系统,利用共享总线控制逻辑,可方便地直接构成共享总线/存储器的多DSP系统,即紧耦合的总线共享式并行系统。1.2数字信号处理器的应用领域随着DSP性能的迅速提高和成本价格的大幅度下降,DSP的应用范围不断扩大,几乎遍及整个电子领域,常见的典型应用有:1通用数字信号处理数字滤波、卷积、相关、FFT、希尔伯特变换、自适应滤波、窗函数、波形发生等。2通信高速调制解调器、编/译码器、自适应均衡器、传真、程控交换机、蜂房移动电话、数字基站、手机、回音消除、噪声抑制、电视会议、保密通信、卫星通信、TDMA/PDMA/CDMA等各种通信制式。随着互联网络的迅猛发展,DSP又在网络管理/服务、信息

15、转发、IP电话等新领域扮演着重要角色,而软件无线电的提出和发展进一步增强了DSP在无线电通信系统的作用。3语音识别语音识别、语音合成、矢量编码、语音信箱。4图形/图像处理三维图像变换、模式识别、图像增强、动画、电子出版、电子地图等。5自动控制磁盘、光盘、打印机伺服控制、发动机控制。6仪器仪表测量数据谱分析、自动监测及分析、静态分析、勘探、模拟试验。7医学电子助听器、CT扫描、超声波、心脑电图、核磁共振、医疗监护等。8军事与尖端科技雷达和声纳信号处理、雷达成像、自适应波束合成、阵列天线信号处理、导弹制导、火控系统、战场C3I系统、导航、全球定位GPS、目标搜索跟踪、尖端武器试验、航空航天试验、宇

16、宙飞船、侦察工具。9计算机与工作站阵列处理机、计算加速卡、图形加速卡、多媒体计算机。10消费电子数字电视、高清晰度电视、图像/声音压缩解压器、DVD/CD播放机、游戏机、数字留言/应答机、汽车电子装置、音响合成、电子安全系统、家电电脑控制装置。第2章 ADSP-TS201S处理器结构与功能2.1 ADSP-TS201S处理器概述ADSP-TS201S 是ADI公司的高性能数字信号处理器TigerSHARC系列中最强大的一员,这一系列还包括有:ADSP-TS101、ADSP-TS202等。ADSP-TS201S内核工作主频达600MHz,片内存储器增加到24Mbit,加之其合理的结构以及高带宽的

17、I/O接口,使得ADSP-TS201S在无线通信、军事、图像等高端市场的应用更加广泛。图2.1给出了ADSP-TS201S的功能框图。图2.1 ADSP-TS201S的功能框图ADSP-TS201S的主要性能如下:l 高达600MHz的运行速度,1.67ns指令周期;l 24Mbit片内DRAM;l 25mm25mm(576-Ball)PBGA封装;l 双运算核,每个计算块包含1个ALU、1个乘法器、1个移位器、一个寄存器组和1个通信逻辑运算单元;l 双整数ALU,提供数据寻址和指针操作功能;l 集成I/O接口,包括14通道的DMA控制器,外部总线,4个链路口,SDRAM控制器,可编程标志引脚

18、,2个定时器及其输出指示;l IEEE1149.1兼容的JTAG端口用于在线仿真;l 通过共享外部总线可无缝连接多达8个TS201。其主要优点有:l 提供高性能静态超标量DSP操作,专门优化适用于通信和需要多DSP处理器的应用;l 优异的DSP算法和I/O性能表现;l DMA控制器支持14个DMA通道,可完成片内存储器,片外存储器,存储器映射外设,链路口,主机处理器和其他多处理器之间的低开销的高速传输;l 非常灵活的指令集和支持高级语言的DSP结构,便于DSP编程;l 可扩展的多处理器系统,连接时仅需很低的通信开销;ADSP-TS201S DSP内核的结构ADSP-TS201S系列的DSP内核

19、主要包括运算块、程序控制器、整型ALU、数据对齐缓冲器和中断控制器等。l 双运算模块ADSP-TS201S的运算模块包括两个能通过相互独立或一起工作,执行通用运算来实现单指令多数据(SIMD)引擎的计算单元,分别称为运算块X,运算块Y。每个运算模块又包含一个寄存器组和4个独立的运算单元:算术逻辑运算单元(ALU)、通信逻辑处理单元(CLU)、乘法器、移位器。这些模块都能处理定点数和浮点数,可满足各种不同的处理要求。每个运算块包含的通用寄存器组是32位宽、多端口的,用于运算单元与数据总线之间数据传输,存储中间结果。这些寄存器都可以单字、双字、四字寄存器方式访问。ALU完成定点数和浮点数的算术运算

20、、定点数的逻辑运算,大多数ALU运算的数据源和目的地均为运算块的寄存器组。CLU完成通信处理,支持通信处理的算法,如Viterbi解码、Turbo code解码、CDMA系统解调。乘法器主要完成定点数和浮点数的乘法运算,定点数的乘累加运算,并且支持各种定点数和浮点数的数据格式。移位器完成算术和逻辑移位,比特和比特流控制,域存储和提取操作。l 双整数ALU(IALU)ADSP-TS201S拥有两个IALU。能提供强大的地址产生能力和执行通用的整数操作。每个IALU能够:(1) 为数据提供存储器地址,为寻址提供指针的更新;(2) 支持循环缓冲和位反序寻址;(3) 实现通用的整数操作,提高了编程的灵

21、活性;(4) 包含一个由32个字构成的寄存器组。作为地址产生器,IALU完成立即或间接寻址(预修改或后修改),不受限制地完成存储器地址取模和位反序。每个IALU能够指定单、双、四字的内存访问。IALU通过硬件支持来实现循环缓冲、位反序和零开销循环。每个IALU提供了4个循环缓冲的寄存器,因此程序能够建立最多8个循环缓冲器,循环缓冲器的起始地址是任意的。l 程序控制器ADSP-TS201S的程序控制器支持如下功能:(1) 可灵活的使用汇编语言和C/C+,编写能够相应中断的程序。以高吞吐量处理中断并且不存在错误的指令周期。(2) 10个指令周期流水线四个周期取指流水,六个周期执行流水运算结果将会在

22、操作数可用的两个周期以后得到。(3) 提供指令寻址内存地址;控制器的指令对齐缓冲器(IAB)可以缓存最多5条预取来的指令行,以后续等待执行,程序控制器从IAB中提取指令行,并将指令发给内核模块来执行。(4) 管理由CJMP,CALL,RTI,RTS指令,循环结构,条件,中断和软件异常决定的程序结构和程序流程。(5) 用分支预测和128入口分支目标缓冲器(BTB)来减少分支跳转的延时,以实现条件和无条件跳转指令的高效执行和零消耗循环;正确预测跳转是零开销的,能够减少59个周期的开销。l 中断控制器DSP支持嵌套和非嵌套中断。每种中断类型在中断向量表中拥有一个寄存器,并且在中断锁存寄存器和中断屏蔽

23、寄存器中占一位。除了可以被设置为边沿触发或电平触发以外,其他中断被固定设置为边沿触发(或电平触发)。DSP能够区分硬件中断和软件异常,并分别处理。当软件出现异常时,DSP中止流水线中的所有指令。当硬件中断发生时,DSP将继续执行已经在流水线中的指令。ADSP-TS201S DSP总线的结构和片内DRAM存储器ADSP-TS201S的总线结构分为内部总线和外部总线,外部总线由外部引脚连接到处理器外。l 内部总线ADSP-TS201S处理器内核有3条相互独立的128位的内部数据总线和32位的地址总线(称为I-BUS、J-BUS、K-BUS),每条数据总线借助接口桥与所有内部存储器块相连。每条数据总

24、线上,1个周期内允许传输多达4条指令或4个排列好的数据。片内系统单元用SOC-BUS和S-BUS总线访问存储器。在一个周期内,每个存储器块只能允许一次访问,所以应用中如果能设法把各个访问指向不同的存储器块,则这些访问可同时进行。l 外部总线与接口ADSP-TS201S的片内系统总线(SOC BUS)通过SOC结构与S-BUS连接外部总线及存储器系统,如图2.2所示,所有外设都通过片内系统总线,SOC接口与S-BUS连接,进而与存储器系统、处理器核内寄存器交换数据。图2.2 ADSP-TS201S的SOC总线结构与接口外部总线包括32或64位数据总线、32位地址总线以及各种控制信号。其中大多数信

25、号是双向的,因为在共享总线的多处理器系统中,TigerSHARC可以是连接在外部总线上的主控处理器,也可以是从处理器。为了提高时钟的速率,TigerSHARC处理器使用了流水式外部总线,其流水深度是可编程的,可完成处理器间通信、访问同步SRAM和DRAM(即SSRAM和SDRAM)。最快速的协议是流水协议。TigerSHARC多处理器系统的处理器之间就是使用这个协议通信。此外,TigerSHARC还能通过此协议与其他主机或存储器系统连接。流水协议的峰值吞吐率为每个外部周期传输一个数据,其实际的吞吐率可以保持在与峰值吞吐率非常接近的水平,其中的一个原因是此协议对连续的数据流的地址范围没有限制。另

26、一快速协议是SDRAM。这个协议由工业标准的SDRAM芯片定义。TigerSHARC有一个片上SDRAM控制器,它可以提供访问SDRAM所需的所有控制信号(/RAS,/CAS,/SDWE,SDCKE,LDQM,HDQM),而且可以初始化、刷新SDRAM。SDRAM的峰值吞吐率是每个周期传输一个数据。如在同一页中连续访问,则实际吞吐率可以保持在非常接近最大值的水平,此条件对DMA块传输也同样适用。但对SDRAM的单次访问开销是很大的。TigerSHARC还支持慢速设备协议。慢速设备协议适用于较慢速的设备。对于大多数系统,我们建议将这些慢速设备连接在二级总线上,因为它们会增加总线负担,影响快速协议

27、。当然,慢速设备仍可以直接连接到TigerSHARC外部总线上。外部总线有以下特点:l 总线宽度64位或32位,对存储器、多处理器或主机接口可独立配置此宽度;l 流水传输,且流水级数可编程;l IDLE状态可编程;l 通过使用ACK引脚,可插入等待周期;l EPROM和FLASH接口为8位数据总线,等待周期数固定,可读写;l 主机接口;l SDRAM接口不插入等待周期;l 支持慢速设备;l 基于分布式总线仲裁的多处理器无缝连接;l 通过握手方式,支持与外部I/O设备的DMA传输;l 支持外部存储器与I/O设备间的DMA飞跃操作。l 片内DRAM存储器ADSP-TS201S拥有24Mbit片上D

28、RAM存储器,该存储器被分为6个4Mbit的块,每个存储块(M0,M2,M4,M6,M8,M10)能够存储程序、数据或同时存储数据和程序。所以,在应用中能够根据具体需要配置。将程序和数据存储在不同的块中时,DSP就可以在取指令的同时访问数据。每个片内存储块通过总线桥与处理器内部4条128位宽的内部总线相连。该连接使DSP能够在1个周期内完成4个128位内部传输。DSP内部总线结构提供了33.6GB/s的存储器带宽,使内核和I/O可以在一个周期内访问8个32位数据字(256位)和4个32位指令。DSP的这种灵活的存储器结构,使其能完成如下功能:l DSP内核和I/O在同一周期里访问不同的存储块;

29、l DSP内核可并行访问3个存储块:1个取指令,2个访问数据;l 可编程的程序存储器和数据存储器分区;l 程序可以用16位、32位、64位或128位的形式访问所有存储器(使用DAB)。ADSP-TS201S的I/O结构ADSP-TS201S由专门的I/O处理器用于I/O访问,I/O访问方式可以是内核控制方式,也可以是DMA方式,此外,ADSP-TS201S还有专门的SDRAM控制器,专门产生SDRAM访问时所需的控制信号。l 外部总线(片外存储器和外设接口) ADSP-TS201S提供了外部总线用于连接外部存储器和其他外设。4G字的寻址空间在DSP统一的寻址空间中。独立的片内总线(4条128位

30、数据总线,4条32位地址总线)通过复用开关连接外部系统总线,该总线提供了64位的数据总线和32位的地址总线。外部端口能提供1000MB/s的访问速度。l 主机接口ADSP-TS201S在外部总线和主机处理器之间提供了方便的接口。为了能和各种主机处理器配合工作,主机接口支持流水线或慢速协议,用于从机访问。每种协议带有可编程的传输参数,例如空闲等待、流水深度、插入等待状态等。主机接口支持主机初始化的突发传输模式。在主机发出开始地址后,使信号有效,DSP将会在主机继续有效时增加地址。主机接口提供了死锁恢复机制,使得主机能从DSP死锁中恢复。信号提供了死锁恢复机制。当主机有效时,DSP取消当前的传输,

31、并使信号有效,放弃了外部总线。主机能够直接读写ADSP-TS201S的片内存储器,能够访问DSP的大多数寄存器,包括DMA控制寄存器。l 多处理器接口ADSP-TS201S通过外部总线和链路口为多处理器DSP系统设计集成了无缝多处理器支持功能。这种多处理器接口为处理器间通信提供了最大的带宽,包括:共享总线支持多达8个DSP;为无缝多处理器连接提供片内仲裁;用于点对点通信的链路口。l SDRAM控制器SDRAM控制器控制ADSP-TS201S与同步DRAM间的数据传输,每个SCLK周期传送32位或64位数据。SDRAM接口提供与标准SDRAM16Mbit、64Mbit、128Mbit和256Mb

32、it的无缝接口。有4个BANK,每个都支持最大达64M字32位的SDRAM。SDRAM被映射到DSP统一的存储空间中。l EPROM接口ADSP-TS201S能够被配置为复位后从外部8位EPROM自动引导。复位后自动从EPROM装载程序到片内存储器,装载过程读访问时插入16个等待周期。引导时引脚用作EPROM的片选信号。EPROM引导过程使用DMA通道0,将字节型数据打包成32位的指令。应用程序也可以通过DMA随意访问EPROM。l DMA控制器ADSP-TS201S片上DMA控制器拥有14个DMA通道,提供无处理器核干预的零开销数据传输。DMA控制器独立工作,对DSP内核是不可见的。DMA可

33、以在以下部件之间进行。片内存储器、外部存储器及存储器映射的外设共享总线上的其他DSP的片内存储器、主机处理器或链路口外部存储器、外设或链路口外部主处理器和片内存储器或链路口l 链路口 ADSP-TS201S的4个链路口提供额外4位的全双向I/O能力。以双倍速率(CCLK上升和下降沿)锁存数据,当内核时钟为500MHz时,即单方向速率可高达500MB/s,每个链路口双向通信最高吞吐量可达1GB/s。l 定时器和通用I/OADSP-TS201S有一个定时器溢出引脚(TIM0E),当编程的定时器计数满时产生高电平输出。有4个可编程的I/O引脚(FLAG30),可以用作输入或输出。作为输出使用时,这些

34、引脚可以驱动外设;作为输入时,可以用作条件分支指令的判断条件。2.2 ADSP-TS201S的计算块DSP有两个计算块计算块X和计算块Y。每个块包含一个通用寄存器组和四个独立的计算部件ALU、CLU、乘法器和移位器。2.2.1 寄存器组1. 计算块的选择所用的寄存器在哪个计算块里,用寄存器名前缀X和Y表示: X表示只在计算块X中, Y表示只在计算块Y中, XY( 或没有前缀) 表示在两个块中。 计算块前缀允许你选择在一个还是在两个计算块里运行指令,该前缀提供单指令单数据(SISD)和单指令多数据(SIMD)模式之间的选择。如果相同的算法用来处理两个通道的数据,使用SIMD执行是最优的。值得注意

35、的是,在SISD和SIMD的模式切换无延迟。SISD和SIMD模式总是可以通过简单地选择寄存器名而实现。2. 寄存器宽度选择每个独立的寄存器堆寄存器(XR31-0和YR31-0)是32位宽的。为了支持比32位字更宽的数据长度,DSP汇编语法允许寄存器组合。Rn表示包含一个32位(或更少位数)的单寄存器(如R1),Rnd表示包含一个64位(或更少位数)的双寄存器(最低位寄存器的序号要求能被2整除,如R1:0),Rnq表示包含一个128位(或更少位数)的四寄存器(最低位寄存器的序号要求能被4整除,如R7:4)。3. 操作数的长度和格式的选择寄存器命名的汇编语法允许选择操作数长度和定点或浮点数据格式

36、。单、双和四寄存器(Rs,Rsd,Rsq)保存着指令的操作数(输入和输出)。根据操作数长度和定点或浮点格式, 一个寄存器里可放置多个操作数。B表示字节(8位)数据;S表示短字(16位)数据;无表示标准字(32位)数据;L表示长字(64位)数据。为区别定点和浮点数据,用寄存器名前缀F表示寄存器包含浮点数据。4. 数据格式DSP支持IEEE 标准754/854的32位单精度浮点数据格式。 此外,DSP支持此格式的40位扩展精度版本,该版本在其尾数中增加八位。DSP也支持 8、16、32和64位定点格式小数和整数可以是有符号数(2的补码)或无符号数。2.2.2 ALU这个单元执行所有的算术操作 (加

37、/减法),处理的数据是定点和浮点格式;执行逻辑操作,处理的数据是定点格式。ALU也执行数据转换操作,如定点格式数据的扩展/压缩。ALU也运行专用通信功能操作,主要支持解码和CDMA扩展操作。在ALU里,这个功能块主要是指通信逻辑单元(CLU)。不是所有的ALU操作都支持定点和浮点数据。 ALU操作和相应的支持数据类型的相关性如下,在每个计算块里的64位ALU单元支持:l 定点和浮点算术操作加(+)、减(-)、最小值(MIN)、最大值(MAX)、维特比最大值(VMAX)、比较(COMP)、截取(CLIP)和绝对值(ABS)。l 仅对定点数的算术操作增加(INC)、减少(DEC)、叠加(求和)、叠

38、加的并行结果 (PRx= SUM)、1的补码(ONES)和位FIFO指针增量(BFOINC)。l 仅对浮点数的算术操作浮点转换(FLOAT)、定点转换(FIX)、符号复制(COPYSIGN)、缩放(SCALB)、倒数或除法(RECIPS)、平方根或平方根的倒数(RSQRTS)、尾数提取(MANT)、指数提取(LOGB)、运算数扩展(EXTD)和扩展精度向标准字转换(SNGL)。l 仅对定点数的逻辑操作AND、AND NOT、OR、XOR和PASS。l 仅对定点数据转换(升高/降低)操作扩展(EXPAND)、压缩(COMPACT)和合并(MERGE)。l 仅对定点CLU操作最大值的Viterbi

39、解码(VMAX), turbo解码的雅可比对数(TMAX),CDMA解扩(DESPREAD),多项式的重新排列(PERMUTE) 和格构增加/比较/选择(ACS)。ALU操作支持定点算术操作和逻辑操作,其操作数可以是8位、16位、32位、64位宽度;也支持浮点数算术操作,其操作可以是32位标准字、40位扩展精度字。定点数据转换操作的操作数可以是8位、16位、32位、64位、128位,当输入操作数是128位,只能用于EXPAND和COMPACT指令。对于ALU的定点数CLU操作,其操作数可以是一个或两个32位数,两个或四个16位数,四个或八个8位操作数。1. ALU操作ALU对定点和浮点数据执行

40、算术操作,对定点数执行逻辑操作。DSP将输入数据和输出结果均放在计算块寄存器中。计算块寄存器XR0XR31和YR0YR31。ALU用一个专用双寄存器PR寄存器存放并行结果。DSP使用PR寄存器完成不同类型的SUM、VMAX和VMIN指令。2. 指令选项大部份ALU指令带有选项,允许灵活的运行指令。注意,这些选项细化指令执行,不同的选项适应不同的指令群不是所有的选项都适用所有指令。指令选项出现在指令域末端的圆括弧中。ALU 指令选项包括:l () 有符号操作,非饱和,向最近舍入,小数模式l (S) 有符号操作,饱和l (U) 无符号操作,非饱和,向最近舍入l (SU) 无符号操作,饱和l (X)

41、 ABS扩展操作l (T) 有符号操作,截断l (TU) 无符号操作,截断l (Z) 对MAX/MIN,有符号结果返回零操作l (UZ) 对MAX/MIN,无符号结果返回零操作l (I) 有符号操作,整数模式l (IU) 无符号操作, 整数模式l (IS) 有符号操作,饱和,整数模式l (ISU) 无符号操作, 饱和,整数模式1) 有符号/无符号选项DSP用8、16、32或64位表示定点数据,最多用四个32位的数据寄存器。在ALU中的定点可以是无符号的或是2的补码;浮点数总是原码表示的。饱和选项有两种类型的饱和算法有符号数或无符号数。对有符号数饱和,无论何时发生溢出(AV标志被置位),把最大正

42、值或最小负值作为输出结果。无符号数饱和,即溢出时,将把最大值或零作为输出结果。在输出格式中,最大值和最小值指的是输出格式所能表示的最大值和最小值。例如, 在16位的短字运算中,最大的正数、最小的负数和最大无符号数分别是0x7fff, 0x8000,和0xffff。2) 扩展(ABS)选项对于ABS指令,X选项提供一个扩展的输出范围。没有X时,输出范围是从0到正的最大有符号数(0x0到0x7FF)。ABS使用X选项时,扩展输出范围从0x0到0x800,并且在这个范围内,输出数值是无符号的。3) 截断选项ALU指令,支持T选项截断,这个选项选择结果的舍入模式。DSP支持两种舍入模式向零舍入和向最近

43、值舍入。定义如下:l 向最近舍入(不带T选项)。如果舍入前的结果不能确切地用目的格式表示,则舍入的结果最接近舍入前的数值;如果舍入前的结果恰好是目的格式中最接近的两个数的中间值(相差一个最低有效位),舍入的结果是最低有效位为零的数。l 向零舍入(使用T选项)。如果舍入前的结果不能确切地用目的格式表示,则舍入的结果是最接近零的数值,这与截断相同。4) 返回零(最大/最小)选项对于MAX/MIN指令,如果第二个输入寄存器包含最大值(对于MAX)或最小值(对于MIN),则Z选项改变操作,返回零值。5) 小数/整数的选项DSP用8、16、32或64位表示定点数,最多用四个32位的数据寄存器。在ALU中

44、, 小数或整数格式可用EXPAND和COMPACT指令。默认是小数格式。I选项选择整数模式。3. ALU执行状态ALU操作更新计算块算术状态(XSTAT和YSTAT)寄存器,用来指示操作结果的状态,保存在(XSTAT和YSTAT)寄存器。如表2-1所示表2-1.ALU状态标志标志定义被更新AZALU定点数为0和浮点数下溢出所有ALU操作ANALU负数所有ALU操作AVALU上溢出所有算术操作AC ALU进位所有定点操作;被浮点操作清零AIALU浮点无效操作所有浮点操作;被定点操作清零ALU操作也更新算术状态(XSTAT和YSTAT)寄存器中的关联状态标志位。表2-2中XSTAT或YSTAT中的

45、标志位给出了最新的ALU操作中ALU的关联状态。一旦置位,关联状态将保持高,直到被程序明确地清零。表 2-2. ALU状态相关联的标志标志定义被更新AUSALU浮点下溢出,关联位所有浮点操作AVSALU浮点上溢出,关联位所有浮点操作AOSALU定点上溢出,关联位所有定点操作AISALU浮点无效操作,关联位所有浮点操作标志位在每个操作结束的时候更新,以便下个指令域应用。在乘法器正在进行一个操作的同一周期中,程序不能对算术状态寄存器赋值。4. ALU执行条件在一个条件ALU指令中,整个指令行的执行依赖指令行开始所指定的条件,如表2-3。条件ALU指令采用以下格式:IF cond; DO, inst

46、r.; DO, instr.; DO, instruct. ;这个语法允许一个条件控制多达三条指令。在指令之前省略DO,则相应指令是无条件的。表2-3.ALU的条件标志定义标志设置AEQALU 等于零AZ=1ALTALU 小于零AN和AZ=1ALEALU 小于或等于零AN或AZ=1NAEQNOT (ALU 等于零)AZ=0NALTNOT (ALU 小于零)AN和AZ=0NALENOT (ALU 小于或等于零)AN或AZ=02.2.3 CLU通信逻辑单元(CLU)指令用来完成通信应用中的多种的算法。这些指令主要为下列算法设计(虽然也可以用于许多其它算法) :l Viterbi 解码l Turbo 码的解码l 码分多址(CDMA)系统的解扩CLU指令的引入简化了这些算法的程序,但仍保留软件方式的灵活性,靠这种方式,根据特殊需求调整运算法是很容易的。另外,指令能满足各种用途的需求;例如,对低密度的奇偶校验码,支持turbo码解码的TMAX指令,是非常有用的。TigerSHARC处理器的主要性能是有高的数据传输率每个周期可以进行两个128位的存储器访问。解扩指令每周期可完成16个16位复数(8位实部,8 位虚部)乘-加操作。在两个计算块里,每两个周期就能完成整个

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号