数字信号处理(吴镇扬)课后习题答案(比较详细的解答过程)cha.ppt_第1页
数字信号处理(吴镇扬)课后习题答案(比较详细的解答过程)cha.ppt_第2页
数字信号处理(吴镇扬)课后习题答案(比较详细的解答过程)cha.ppt_第3页
数字信号处理(吴镇扬)课后习题答案(比较详细的解答过程)cha.ppt_第4页
数字信号处理(吴镇扬)课后习题答案(比较详细的解答过程)cha.ppt_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

5.6 数字信号处理硬件基础 数字信号处理中的主要运算是乘(除)加 (减)运算,在一般的计算机与微处理器中,乘 (除)法运算是用若干次加(减)法运算及移位 操作方式实现的;在处理器的结构方面,通用计 算机及微处理器采用冯.诺曼结构。 数字信号处理处理器在以上两方面有所不同 。 数字信号处理器特点: 乘法运算直接用硬件乘法器完成,以提高 运算速度。 采用哈佛结构(多总线结构,即程序存储器 和数据存储器分开,各有各的总线,或地址总 线和数据总线分开),甚至采用多地址总线 和多数据总线。还采用流水线及并行结构。 5.6.1 数字信号处理器结构特点 5.6.1.1 冯.诺曼结构 1945年,冯.诺曼首先提出了“存储程序”的 概念和二进制原理,后来,人们把利用这种概 念和原理设计的电子计算机系统统称为“冯.诺曼 型结构”计算机。冯.诺曼结构的处理器使用同一 个存储器,经由同一个总线传输,如图5.6-1。 输入设备运算器输出设备 存储器控制器 图5.6-1 冯.诺曼结构 冯.诺曼结构处理器具有以下几个特点: (1) 必须有一个存储器; (2) 必须有一个控制器; (3) 必须有一个运算器,用于完成算术 运算和逻辑 运算; (4) 必须有输入和输出设备,用于进行 人机通信。 冯.诺曼的主要贡献就是提出并实现了“ 存储程序”的概念。由于指令和数据都是二 进制码,指令和操作数的地址又密切相关, 因此,当初选择这种结构是自然的。但是, 这种指令和数据共享同一总线的结构,使得 信息流的传输成为限制计算机性能的瓶颈, 影响了数据处理速度的提高。 5.6.1.2 哈佛结构 数字信号处理一般需要较大的数据流量和较 高的运算速度,为了提高数据吞吐量,在数字 信号处理器中大多采用哈佛结构,如图5.6-2。 图5.6-2 哈佛结构 程 序 存储器 CPU 操作数 存储器 与冯.诺曼结构处理器比较,哈佛结构处理 器有两个明显的特点: (1)使用两个独立的存储器模块,分别存储 指令和数据,每个存储模块都不允许指令和数 据并存; (2)使用两条独立的总线,分别作为CPU与 每个存储器之间的专用通信路径,而这两条总 线之间毫无关联。 改进的哈佛结构: 为了提高传输效率,节省总线,又提出了 改进的哈佛结构,如图5.6-3。 图5.6-3 改进型哈佛结构 程 序 存储器 CPU 操作数 存储器 改进型哈佛结构特点: (1)使用两个独立的存储器模块,分别 存储指令和数据,每个存储模块都不允许指令 和数据并存,以便实现并行处理; (2)具有一条独立的地址总线和一条独 立的数据总线,利用公用地址总线访问两个存 储模块(程序存储模块和数据存储模块),公 用数据总线则被用来完成程序存储模块或数据 存储模块与CPU之间的数据传输; (3)两条总线由程序存储器和数据存储 器分时共用。 指令流的定时关系: 可反映冯.诺曼结构与哈佛结构处理方式的 差别。 典型情况下,完成一条指令需要3个步骤,即: 取指令、指令译码和执行指令。举一个最简单 的对存储器进行读写操作的指令,如图5.6-4, 指令1至指令3均为存、取数指令。 对冯.诺曼结构处理器,由于指令和数据要 从同一个存储空间存取,经由同一总线传输, 因而它们无法重叠执行,只能顺序执行。 图6-5 哈佛结构处理器指令流的定时关系示意图 如果采用哈佛结构处理以上同样的3条存 取数指令,如图5.6-5,由于取指令和存取数据 分别经由不同的存储空间和不同的总线,使得 各条指令可以重叠执行,这样,也就克服了数 据流传输的瓶颈,提高了运算速度。 哈佛结构强调了总的系统速度以及通讯和 处理器配置方面的灵活性。 5.6.1.3 流水线处理 加快程序执行的一个途径是提高处理器 的时钟速度。但时钟速度的提高受工艺等的限 制,并不是可以无限提高的。而改进处理方法 则是提高程序流执行速度的另一个有效途径。 先进的处理方法有流水线处理和并行处 理,它们使得各项运算或处理都能在同一个时 钟周期里完成。 流水线概念取自工厂自动化生产线,它是 一种可以使两个或更多的操作在执行时发生重 叠的技术,在流水线操作中,一个任务被分解 为若干子任务,这样它们就可在执行时相互重 叠。一个子任务被称为一个流水段。 在上面讨论哈佛结构的例子中,一个指令 可以分为3步完成,每一步可作为一个流水段 ,当流水段填满时,处理器就可同时执行3个 指令,所以平均每个指令只用1个时钟周期就 可完成。 图5.6-6 流水线的概念 关于使用流水线方式的两个问题: (a) 一项处理一般很难分解成若干个处理 规模一致、因而时间上有最佳配合(无须等待 )的流水段,为此需要用若干个寄存器来协调 流水线的节奏。 (b) 在流水线的启动和停止阶段,流水线 要逐步地被填满或出空。因此,对于一次性的 非重复计算,流水线方式并不适用,只有当预 期的循环操作足够长时,或是对一系列数据反 复执行同一指令时,采用流水线处理方式才是 合理的。 5.6.1.4 并行处理 加快运算速度的另一种方法是采用并行处 理,这种方法克服了流水线方法要把一个处理 分解为若干子处理的困难。 并行处理指: 1)DSP充分利用哈佛结构多重总线的优点, 在一个周期里使内部的各个处理单元同时工作 ,实现高度的并行处理。 如在一个周期里可以同时完成取指令、计 算下一个指令的地址、执行一个或两个数据传 输、更新一个或两个地址指针并且进行计算等 等。 2)使用若干同样的处理单元对若干处理内容 相同(具有互换性)的操作同时作平等的处理。 并行处理的硬件开销很大,而且需要对各个 处理单元的输入和输出作复杂的管理。事实上, 在高度并行的结构里,主要的困难不是运算本身 ,而是数据的组织和地址的产生。以FFT运算为 例,要求并行存取N/2个数据点,由于一般的存 储器在每个周期里只能在总线上传输一个数据, 因此,并行处理要有专门的缓冲区以要求的吞吐 率来高速度地供应数据,数据地址也必须高速产 生。 5.6.2 DSP硬件构成 典型的DSP处理器中的运算/处理功能单元 主要包括以下几个部分: 乘法器/乘加器(MAC) 算术逻辑运算单元(ALU) 移位器 数据地址发生器(DAG) 程序定序器,又称指令定序器 存储器 5.6.21 DSP的乘法器/乘加器(MAC) DSP乘法器应具有以下基本功能: 1. 要求在一个时钟周期里对两个字长为 b位的输入由硬件作快速并行乘法; 2. 应能通过格式控制来执行无符号或带 符号或混合的乘法操作、小数或整数乘法操 作以及扩展精度或双精度运算,并有合适的 舍位方法; 3.应有输入和输出寄存器,这样可以锁 存数据,配合流水线操作。也可不用寄存器 ,使乘法器在透明方式下工作,这样可以有 最小的等待时间。 在数字信号处理的滤波器、FFT、卷积及各种矢量 运算中,由于要执行b(n)*x(n - k)一类的运算,这类运算 的乘法和加法总是同时出现,因此DSP中就希望将乘法器 和加法器相结合,在一个时钟周期完成一次乘、加运算, 并且累加乘法运算的结果。这样的运算单元称为乘法累加 器(MAC)。 对于乘法累加器,除了要求能在一个时钟周期完成一 次乘、加运算外,为了在累加时保证运算精度,还应在累 加输出寄存器中包括足够的保护位,因其在2b位的乘法输 出宽度之外,所以称为扩展位。扩展位中的逻辑应该能用 来预测累加器的溢出,并且能紧急通知作重新定标度操作 ,即防溢出处理。 5.6.22 DSP的算术逻辑运算单元( ALU) DSP的ALU与一般计算机不同的是具有 “条件移位”功能,它能在执行运算的同一个周期内 ,将运算结果根据输入的状态标志作增量或减量的 移位。这个功能可以加快许多DSP运算。例如, FFT蝶形运算的输出幅度总是不断增大,但是增大 多少是随信号而变的,如果不考虑信号的实际大小 而一律用自动减量移位来防止溢出,则会造成信噪 比下降,而采用加法条件移位操作则可以得到 最大的动态范围。 5.6.23 DSP的移位器 移位操作分算术移位和逻辑移位。算术移位 把1个数左移放大(升标度)或右移缩小(降标度 )若干位 。右移使得符号位扩展,也就是在左边 填入符号位,这样可以保留原有的正号或负号。 左移操作用0填入最低位,如果数的最高位不是符 号位,则左移的结果就造成了溢出,这时溢出标 志被置1。逻辑移位用来做某些逻辑操作,如用于 位屏蔽等。逻辑移位把无符号数左移或右移,腾 空位填0。 通用微处理器的移位操作是一位一位移的 ,每调用一次移位指令只能移动一位,速度很 慢。 DSP中的移位器主要用途: a. 对数字定标度,使之缩小或放大,以避 免上溢或下溢; b. 作定点数和浮点数之间的转换。 5.6.24 DSP的数据地址发生器(DAG ) 在通用微处理器中,产生数据的地址和 进行数据处理都是同一个ALU的工作。而在DSP 中,为了得到快速和灵活的寻址,使用了专门的 、有自己ALU的数据地址发生器,它可以按复杂 的逻辑产生数据所在的地址,存放在一组寄存器 中供其他单元存取。这样,与数据地址有关的计 算就可以由数据地址发生器内部的ALU并行地算 出,大大节省了公用ALU的时间。 DAG的基本功能包括以下几个方面: 将一个预先算好的地址送到数据存储器; 用一个算出来的偏移量来修正地址; 对地址执行逻辑操作(与、或、异或)和移位; 将指针与预置值比较,若相等,则将指针复位 到原始点,此即端点检测; 将地址各个位顺序反向; 高性能DSP中,DAG还具有移位、位反转 、逻辑屏蔽以及模寻址等功能。 5.6.25 DSP的程序定序器 DSP的程序定序器有以下基本功能: 管理正常的程序流,程序计数器(PC)在每 个周期加1; 跟踪子程序的寻址,管理返回地址的堆栈; 以无开销的方式(以硬件循环计数器控制) 管理循环; 测到数据溢出或要求数据重新定标时,转移 到相应的异常处理程序; 中断服务,发生中断和结束中断时,转移或 返回到相应的地址; 程序定序器主要包括:程序计数器、存 放子程序和中断返回地址的堆栈、存放计数 值的堆栈、存放转移地址的堆栈以及循环计 数器等。 5.6.26 DSP的存储器 在DSP中使用的各种特殊存储技术: 双口存储器,它有两个分开的端口,每个端 口有自己的控制、数据、地址和I/O信号线等, 可以独立地存取数据使用双口存储器可以在一个 周期内读出前一次存入的值和写入新的值; 寄存器,它事实上是一个多口的高速缓冲存 储器,可以被各个运算/处理单元以及总线所存取 ,具有极高的灵活性,在提高DSP吞吐量方面有 重要的作用; FIFO先进先出存储器,它可以配合流水线 操作,在速度较慢和速度较快的处理器之间起 缓冲作用; 高速缓冲存储器(cache), 它用来保存最近 使用的指令或数据,对它们提供快速的存取。 上述各种特殊的存储技术,可以使DSP放松 对常规存储器的要求。 5.6.3 通用数字信号处理器 1、 通用数字信号处理器概述 从功能上分,数字信号处理器可以有专用和通用两 大类。常用的专用数字信号处理器有单片并行乘累加器 (TDC1010)、专用数字滤波/相关器(TDC1028)、修 正的16位32阶数字横向滤波器(IMS100,可做DFT、卷 积及相关)以及专用FFT芯片(TMC2310,90年代初, 1024点复数FFT只需0.5 ms),等等。但是,随着超大规 模集成电路技术的发展,现在的通用数字信号处理器速 度越来越快、功能越来越强、并行性也越来越好,可以 替代大部分的专用DSP,再加上其使用灵活、批量生产所 带来的低成本等特点,所以其应用也越来越广。因此我 们后面的介绍讲到DSP也都是针对通用DSP。 自1982年美国德州仪器公司(TI公司)生 产出第一代通用数字信号处理器(DSP) TMS320C10以来,DSP以其独特的硬件结构和 出色的运行性能,得到了迅猛的发展和广泛的 应用。 常用的通用信号处理器: TMS320CXX 系列 ADSP21XXX 系列 就结构而言,DSP可以分为定点DSP和浮点 DSP。定点DSP与浮点DSP在硬件结构上最大的 不同之处在于数据存储结构方面。应用浮点DSP ,用户不必知道如何存储数据,而应用定点DSP 时就需了解数据存储格式,必须对数据格式作一 些转换。在选择DSP时,用户可以从芯片性能、 运行速度、价格、功耗等几个方面综合考虑。一 般情况下,定点DSP适用于采样频率低的相对比 较简单的算法,浮点DSP适用于采样频率高的相 对比较复杂的算法。 DSP的市场正成为半导体行业关注的热点 ,其应用由最初的军用尖端技术拓展到通讯、 计算机、家电、办公自动化、仪器仪表、汽车 电子、工业控制等许多领域。 在诸多应用中,通讯占了很大比例。通讯 技术的快速发展与DSP的发展密不可分。移动 电话、调制解调器等是目前DSP应用最多的一 类产品。采用了特殊功能DSP的调制解调器使 访问因特网的速度得到提高。 2、TMS320系列数字信号处理器简介 参见新书P220222 (1)TMS320C2000系列 低价格定点DSP,应用于电源功率控制、电机控 制等。 (2)TMS320C5000系列 低功耗定点DSP ,工作电压接近1伏,应用于手机 、便携式产品、值更系统等。 (3)TMS320C6000系列 并行、高速、高性能浮点DSP,主要应用于复杂 系统。 3TMS320系列的指令特点 TMS320系列有着相当优越的指令系统。 其主要特点是: (1)乘累加指令MACD 对数字信号处理中大量存在的形如 的卷积、相关与横向滤波器运算,用如下两条 指令实现: RPTK N MACD RPTK N是重复指令,表示下一条指令将重复N+1次, 指令MACD实现乘法和累加操作,具体操作为: (P)+(ACC)ACC; (dma)*(pma,由PFC寻址)P; (dma)dma+1; (PFC)+1PFC;(重复计数器)-1重复计数器 其中pma和dma是地址,pma存放滤波器系数h(k), 正向存放,dma存放数据样值,反向存放,最低位存放 最新样值,最高位存放最旧样值。RPTK指令需要一个 指令周期,重复执行时一旦流水线开始便只需要一个 指令周期。 但如用MAC指令实现循环乘,即使程序和数据都放 在片内RAM,执行一次循环也需要三个指令周期。 (3)指令SQRA可用来实现一个数的平方并 与前边的结果累加,而SQRS实现一个数的平 方后与前面的数相减,这对于 的运算十分有效。 (4)规格化指令NORM通过左移来规格化累 加器中的定点数(定点DSP): 它将ACC的31位与30位异或,结果为0则置 TC=0,说明最高两位相同,最高位是符号扩 展位; 将ACC内容左移,删除多余的符号位并将 AR(ARP)加1; 多次执行,完成完全规格化,阶码存于AR (ARP)。 累加器取指令LACT则根据T寄存器中的低 4位值(指数)来恢复规格化了的浮点数, ADDT和SUBT(根据T移位的累加器加和减 指令)可进行附加移位的算术运算,从而可 以处理带有16位尾数及4位指数的浮点数,因 规格化数为16位字长,所以只要4位指数。 4、TMS320系列DSP的寻址方式 (1)直接寻址方式 (2)间接寻址 间接寻址是通过辅助寄存器AR0 AR7来 实现的。指令 LARP n (0n7)将立即数 n 赋给辅助寄存器指针寄存器ARP(3位),由 此选中AR0 AR7中的一个,该寄存器所含 的内容是欲寻址的存储器单元。 在间接寻址中可用“*AR0+0B”实现FFT 中的位反转寻址。 “*AR0+0B” 表示将ARP所选中的辅助 寄存器作为当前寄存器间接寻址,并将当前 寄存器的内容和AR0的内容相加,若有位进 位,进位不是向左而是向右。 ( AR0也可以是ARX) 以N=8为例。 AR0赋值为FFT长度的一半N/2=4, AR1中存放位反转的基地址,例如, AR1=0200H, 重复执行输入指令N=8次, 可使数据以倒序方式排列,即 RPTK #7 IN*AR0+,PA0 (将PA0口顺序输入的数据以位反转的地址 存储) 则依次由AR1产生的地址分别为: 0200H 0204H 0202H 0206H 0201H 0205H 0203H 0207H 对应 数据: x(0) x(1) x(2) x(3) x(4) x(5) x(6) x(7) 顺序 地址:0200H 0201H 0202H 0203H 0204H 0205H 0206H 0207H 对应 数据: x(0) x(4) x(2) x(6) x(1) x(5) x(3) x(7) 具体操作为 执行前: AR0: 0000 0000 0000 0100 AR1: 0000 0010 0000 0000 执行中:(ARO)+(AR1)(AR1),位进位向右 如 AR1: 0000 0010 0000 0100 AR0: 0000 0000 0000 0100 AR1: 0000 0010 0000 0010 8次操作完成N=8的FFT二进制序数重排: 重复次数 AR1内容 对应地址中的数据 1 0000 0010 0000 0000 x(0) 2 0000 0010 0000 0100 x(1) 3 0000 0010 0000 0010 x(2) 4 0000 0010 0000 0110 x(3) 5 0000 0010 0000 0001 x(4) 6 0000 0010 0000 0101 x(5) 7 0000 0010 0000 0011 x(6) 8 0000 0010 0000 0111 x(7) 5TMS320C5000的结构原理 TMS320C54X TMS320C55X (见书222228) 5TMS320系列的开发 1.TMS320宏汇编编译/连接器(Macro Assembler/Linker),汇编用助记符编写,编译连接 成机器码,即目标文件,TI公司提供两种宏汇编的编 译/连接器,一类用于定点的DSP,一类用于浮点DSP 芯片。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论