论文部分内容阅读
在过去的二十多年里,数字信号处理技术已经在通讯,多媒体,信息家电等各个领域得到了极为广泛的应用。数字信号处理芯片(Digital Signal Processors,简称DSP芯片或DSP)在其中扮演了非常重要的角色。DSP芯片的迅速发展使得数字信号处理技术范围越来越广,能够完成的任务越来越多,以往由于实现方法的限制而仅仅停留在理论上的数字信号处理理论也因此得到了实现并有了进一步的发展。同时,DSP的发展也推动了其他领域,学科的发展。可以毫不夸张的说,可编程DSP芯片的诞生机发展对近年来通信,计算机,控制,多媒体等领域的技术发展起到了十分重要的作用。作为可编程的器件,DSP在各个环境中的应用都是以软件编程的形式实现其数字信号处理功能的。在应用中编写其数字信号处理算法的实现程序成为一个相当重要的环节。由于不同厂商不同型号的DSP芯片各异,其汇编语言也大有不同,掌握不同种汇编给程序员也带来了难度。这种汇编和特定机器相关联的特点使得在工程中若更换了DSP器件就需要重新编写汇编实现,大大提高了系统设计的复杂度。因而,许多DSP芯片供应商都借鉴了通用处理器的做法在提供芯片的同时也提供该芯片的高级语言开发环境(通常为C编译器,汇编器,连接器,仿真器等集成环境)。可以允许程序员用C语言开发DSP应用程序,这样在更新目标机器时只需运用其高级编译器重新编译C代码即可将应用程序重新定位到新的DSP芯片上。而C编译器的编译效率也直接影响所撰写的程序在DSP上的执行效率。由于现阶段大部分C编译器还不够高效,在实际应用中,还不得不用C,汇编混合编程,甚至完全汇编编程的方式编写高效程序以满足日益苛刻的实时应用的需要,因此,开发出高效的面向可编程DSP芯片的C编译器成为当前研究的一个热点,也成为DSP芯片应用的当务之急。本文对DSP芯片的C编译器设计进行了探讨性的研究,通过对DSP和通用处理器的在结构和应用等方面的对比给出一些可行的C编译设计的实现方法并借鉴传统的编译优化理论结合DSP结构和应用特性得出一些与DSP相适应的编译优化策略。并以一个特定的16位DSP芯片为目标,对工程应用中常用的一些运算做了优化前后代码的比较。之后,对DSP应用所需的软件开发环境中编译之后的汇编环节做了介绍,并结合本人所作的项目工作对汇编器设计给出了通常的实现方法。此外,本文还对处理器的浮点运算单元设计做了初步的研究,以ANSI/IEEE-754浮点数二进制标准为参考,借鉴了经典的定点加法器和乘法器的设计,尝试性的给出了浮点加法单元和乘法单元的实现模型和行为级上的硬件描述,并对其进行仿真和验证。