DSP 处理器DSP 软件向桌面和嵌入式系统挑战 单个数字信号处理(DSP)芯片曾经作为协处理器来实现滤波器算法。现在 DSP 技术的进展已实现了多个复杂算法的并行。但是,这种功能的扩展也产生了新的问题,开发人员发现,在 DSP 处理能力方面,当 MIP 和存储器的问题得到解决时,他们又面临着新的课题,即如何来管理设计复杂的软件。如何合理地安排数据流程,使之在 DSP 的各执行单元间无冲突地顺利执行,仍是 DSP 开发人员面临的一个非常重要的问题。由于设计的复杂性,将算法映射到 DSP 具体目标硬件上时,尚不能采纳高层次编程语言,必须使用汇编语言,并对器件的并行执行机制有十分清楚的了解。而这种局限于汇编语言的编程设计,正是提高软件开发效率的瓶颈。 90 年代早期,嵌入式系统和桌面应用的开发人员曾面临相似的问题。当时为提高设计效率而采纳的方法现在仍可借鉴使用。一个短期的解决方案是由编程人员自己解决这一问题。但是,编程人员相对短缺,而且 DSP 领域编程人员更为紧缺。在 DSP 开发时,可以考虑采纳非 DSP 专业的编程人员,但这些人员一般倾向于使用桌面和嵌入式应用的开发工具。而 DSP 开发领域还没有类似的工具,这就阻碍了DSP 应用的进一步推广。 开发相似,实质不同 即使采纳了上述的开发工具,DSP 还具有不同于 RISC和 CISC 的独特特征。DSP 处理能力不仅靠越来越快的时钟速率来实现,而且还依赖于并行处理结构的进一步采纳。早期的 DSP 仅含有单个多路器和累加器,由哈佛结构以与一些控制寄存器环路组成。而目前的 DSP 处理器通常采纳多个执行单元,每个执行单元都由算数逻辑运算单元(ALU),一个多路器和累加器组成,而且这些执行单元可以并行执行。 美国 I.C 公司在与西门子半导体公司的合作中,开发出了 Carmel DSP,它通过一个非常类似 C 的汇编语言来解决 DSP 开发面临的上述瓶颈问题。 I.C 公司 VLSI 设计副总裁 Amnon Rom 说:“我们的目的是使我们的汇编语言 Carmel 尽可能地接近 C 语言。对DSP 开发来说,减少开发过程中从浮点算法转换到固定点算法,然后再到汇编语言程序所需的时间非常重要。通过将汇编语言与之一一对应,从而减去了从 C 语言到汇编语言的开发步骤。” 友好易用的硬件系统 美国 ZSP 公司采纳易于编译的硬件系统来解决 DSP 开发中面临的这一问题。其硬件系统包含一个正交指令集,一个透明状态机和一个流水线控制单元。其中流水...