DSP中的中的DSP芯片中并行运算处理指令的应用技巧芯片中并行运算处理指令的应用技巧
根据处理器芯片的指令及其实现形式,我们可以把处理器芯片分为复杂指令系统(CISC)和精简指令系统
(RISC),前者追求单条指令的强大功能以简化编程;后者强调指令的简化以提高硬件效率。由于RISC具有指
令长度一致、单周期执行时间、易于并行和流水线处理等优点,绝大多数的DSP处理芯片都采用了RISC.另外,
根据计算机的存储器结构及其总线连接形式,计算机系统可以被分为冯诺依曼结构和哈佛结构,前者共用数据
存储空间和程序存储空间,共用存储器总线;后者具有分离的数据和程序空间及分离的访问总线。由于哈佛结
构在指令执行时,取指和取数可以并行,因此具有更高的执行效率,所以大多数的DSP芯片都采用了哈佛结
构。
根据处理器芯片的指令及其实现形式,我们可以把处理器芯片分为复杂指令系统(CISC)和精简指令系统(RISC),前
者追求单条指令的强大功能以简化编程;后者强调指令的简化以提高硬件效率。由于RISC具有指令长度一致、单周期执行时
间、易于并行和流水线处理等优点,绝大多数的DSP处理芯片都采用了RISC.另外,根据计算机的存储器结构及其总线连接形
式,计算机系统可以被分为冯诺依曼结构和哈佛结构,前者共用数据存储空间和程序存储空间,共用存储器总线;后者具有分
离的数据和程序空间及分离的访问总线。由于哈佛结构在指令执行时,取指和取数可以并行,因此具有更高的执行效率,所以
大多数的DSP芯片都采用了哈佛结构。
数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。20世纪
60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。数字信号处理是一种通过
使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。在过去的二十多年时间里,数字信号
处理已经在通信等领域得到极为广泛的应用。德州仪器、Freescale等半导体厂商在这一领域拥有很强的实力。其工作原理是
接收模拟信号,转换为0或1的数字信号。再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟
数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理
器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。
ADSP2106x就是一款采用超级哈佛结构和RISC的DSP处理芯片,其强大的浮点、定点运算功能和大容量的片内存储器,
使其可以胜任苛刻的实时信号处理任务;而它丰富的外部接口和10个通道的DMA可以使所处理数据的畅通无阻[1];再加上片内
的仲裁逻辑,6个ADSP2106x和一个主机可以很容易连在一起构成一个并行处理系统。利用ADSP2106x可以开发出功能很强
的信号处理系统[2].
虽然ADSP2106x芯片本身提供了优异的性能,但该性能的发挥离不开软件编程的支持。比如,ADSP2106x的峰值运算速
度可达120MFLOPS(主频40MHz),即在一个时钟周期内可以完成一次乘法、一次加法和一次减法,但这三个并行运算指令
是需要合理安排才能实现的。另外,由于芯片内部采用了超级哈佛结构,因此可以在一定条件下同时存取两个数据,但这也需
要合理安排数据在数据存储器和程序存储器中的放置,才能使并行的存取指令有效。
本文主要介绍ADSP2106x中并行指令的一些应用技巧,重点针对并行运算指令和数据存取指令。通过这些技巧的应用,
可以提高编程效率,充分发挥硬件潜力,同时对ADSP2106x的内部结构有更为深入的了解。
ADSP2106x中的运算处理单元中的运算处理单元
ADSP2106x中的核心处理部分包含了三个运算单元:ALU、乘法器和移位器,它们与寄存器组间的连接关系如图1所示
[3].三个运算单元的功能如下:
(1)ALU单元:定点、浮点加减法和求平均;逻辑运算;求绝对值、最大值、最小值、限幅、比较;定点<-->浮点转
换。
(2)乘法器:浮点乘法;定点乘法及乘法累加。
(3)移位器:移位操作;位操作;位场(bit field)提取和存储。
ADSP2106X是AD公司的一种高性能32位浮点DSP,它的基本特点有:
·最高工作频率为40MHz,时钟周期25ns.