基于算法的DSP硬件结构分析
发布时间:2008/5/27 0:00:00 访问次数:496
摘 要: 数字信号处理器(dsp)是专门针对数字信号处理运算而设计的微处理器芯片。本文在介绍dsp算法特点的基础上,指出了dsp的基本结构组成以及当前主流dsp的两种典型体系结构,分析了这两种结构各自的优缺点,最后根据dsp应用领域的新情况以及微处理器体系结构的发展,对dsp结构的发展提出了一些看法。
关键词: 数字信号处理器;算法;硬件结构;vliw;simd
中图分类号:tn47 文献标识码
1引言
在当前信息化、数字化进程中,信号作为信息的传输和处理对象,逐渐由模拟信号变成数字信号。信息化的基础是数字化,而数字化的核心技术之一就是数字信号处理。数字信号处理技术已成为人们日益关注的并得到迅速发展的前沿技术。dsp作为一种特别适合于进行数字信号处理运算的微处理器,凭借其独特的硬件结构和出色的数字信号处理能力,广泛应用于通讯、语言识别、图像处理、自动控制等领域。
2 dsp算法的主要特点及其硬件要求
数字信号处理是指将模拟信号通过采样进行数字化后的信号进行分析、处理、它侧重于理论、算法及软件实现。数字信号处理算法具有如下一些主要的特点:
①信号处理算法运算量大,要求速度快。不论是一维的语言信号,还是二维的图像信号,一般算法的运算量都很大,且算法的实现都必须实时。
②信号处理算法通常需要执行大量的乘累加运算。比如fir滤波算法主要执行的是一个点积运算,也就是以乘、加为主的运算。
③信号处理算法常具有某些特定模式。比较典型的数字滤波器中的连续推移位。
④信号处理算法大部分处理时间花在执行相对小循环的操作上。
⑤信号处理要求专门的接口。一个非常重要的接口是把模拟信号与数字信号相互转换的adc和dac,另外大量的数据交换需要有高速的数据吞吐能力。
从一开始,dsp的结构就是针对dsp算法模型进行构造的,几乎所有的dsp都包含有dsp算法的特征。因此,数字信号处理的上述特点要求dsp必须是专门设计的,典型dsp的设计满足数字信号处理的这样一些要求:
①单周期快速运算,允许任意计算次序。
②单周期内能取两个以上操作数,保证快速的乘累加运算(mac)。
③能产生信号处理算法需要的特殊寻址,如循环寻址和位翻转寻址。
④有相应的硬件循环缓冲区,能执行零开销的循环和转移操作。
⑤具有串口、dma控制器、定时器等丰富的外设资源。
3 dsp的基本结构组成
3.1 多总线结构
微处理器内一般有两种基本总线结构:冯·诺曼结构和哈佛结构。这两种总线结构的结构框图如图1所示。冯·诺曼结构取指令、取数据都是通过同一总线完成。因此必须分时进行,在高速运算时,往往在传输通道上出现瓶颈效应。而dsp内部采用的是哈佛结构,它在片内至少有四套总线:程序的数据总线、程序的地址总线、数据的数据总线和数据的地址总线。这种分离的程序总线和数据总线,可允许同时获取来自程序存储器的指令字和来自数据存储器的操作数,互不干扰。有的dsp片内还包括有其他总线,如dma总线等,可在单周期内完成更多的工作。
3.2 流水线
与哈佛总线结构相关, dsp广泛采用流水线以减少指令执行时间,从而增加了处理器的处理能力。要执行一条dsp指令,需要通过取指、译码、取操作数、执行等几个阶段,dsp的流水线结构是指它的这几个阶段在程序执行过程中是重叠进行的,即在对本条指令取指的同时,前面的三条指令已依次完成译码、取操作数、执行的操作。正是利用这种流水线机制,保证dsp的乘法、加法以及乘累加可以在单周期内完成,这对提高dsp的运算速度具有重要意义,特别是当设计的算法需要连续的乘累加运算时。
3.3 硬件乘法器
专用的硬件乘法器是dsp的特征之一,硬件乘法器的功能是在单周期内完成一次乘法运算。 dsp内还增加了累加器寄存器来处理多个乘积的和,而且该寄存器通常比其他寄存器宽,这样保证乘累加运算结果不至于发生溢出。
3.4 多处理单元
dsp内部一般都包括多个处理单元,如alu、乘法器、辅助算术单元等。它们都可在单独的一个指令周期内执行完计算和操作任务,而且往往同时完成。这种结构特别适合于滤波器的设计,如fir和iir。这种多处理单元结构还表现为在将一些特殊的算法作成硬件,如典型的fft的位翻转寻址和流水fir滤波算法的循环寻址等。而且大部分dsp具有零消耗循环控制的专门硬件,使得处理器不用花时间测试循环计数器的值就能执行一组指令的循环,硬件完成循环跳转和循环计数器的衰减。
3.5 外围设备
dsp片内通常具有dma控制器、串行口、定时器等外设,所以用户通常只需要外加很少的器件就可以构成自己的dsp系统。dma控制器可以在不干扰cpu操作的前提下,由其专用的数据存取通道独立完成接口到片内存
摘 要: 数字信号处理器(dsp)是专门针对数字信号处理运算而设计的微处理器芯片。本文在介绍dsp算法特点的基础上,指出了dsp的基本结构组成以及当前主流dsp的两种典型体系结构,分析了这两种结构各自的优缺点,最后根据dsp应用领域的新情况以及微处理器体系结构的发展,对dsp结构的发展提出了一些看法。
关键词: 数字信号处理器;算法;硬件结构;vliw;simd
中图分类号:tn47 文献标识码
1引言
在当前信息化、数字化进程中,信号作为信息的传输和处理对象,逐渐由模拟信号变成数字信号。信息化的基础是数字化,而数字化的核心技术之一就是数字信号处理。数字信号处理技术已成为人们日益关注的并得到迅速发展的前沿技术。dsp作为一种特别适合于进行数字信号处理运算的微处理器,凭借其独特的硬件结构和出色的数字信号处理能力,广泛应用于通讯、语言识别、图像处理、自动控制等领域。
2 dsp算法的主要特点及其硬件要求
数字信号处理是指将模拟信号通过采样进行数字化后的信号进行分析、处理、它侧重于理论、算法及软件实现。数字信号处理算法具有如下一些主要的特点:
①信号处理算法运算量大,要求速度快。不论是一维的语言信号,还是二维的图像信号,一般算法的运算量都很大,且算法的实现都必须实时。
②信号处理算法通常需要执行大量的乘累加运算。比如fir滤波算法主要执行的是一个点积运算,也就是以乘、加为主的运算。
③信号处理算法常具有某些特定模式。比较典型的数字滤波器中的连续推移位。
④信号处理算法大部分处理时间花在执行相对小循环的操作上。
⑤信号处理要求专门的接口。一个非常重要的接口是把模拟信号与数字信号相互转换的adc和dac,另外大量的数据交换需要有高速的数据吞吐能力。
从一开始,dsp的结构就是针对dsp算法模型进行构造的,几乎所有的dsp都包含有dsp算法的特征。因此,数字信号处理的上述特点要求dsp必须是专门设计的,典型dsp的设计满足数字信号处理的这样一些要求:
①单周期快速运算,允许任意计算次序。
②单周期内能取两个以上操作数,保证快速的乘累加运算(mac)。
③能产生信号处理算法需要的特殊寻址,如循环寻址和位翻转寻址。
④有相应的硬件循环缓冲区,能执行零开销的循环和转移操作。
⑤具有串口、dma控制器、定时器等丰富的外设资源。
3 dsp的基本结构组成
3.1 多总线结构
微处理器内一般有两种基本总线结构:冯·诺曼结构和哈佛结构。这两种总线结构的结构框图如图1所示。冯·诺曼结构取指令、取数据都是通过同一总线完成。因此必须分时进行,在高速运算时,往往在传输通道上出现瓶颈效应。而dsp内部采用的是哈佛结构,它在片内至少有四套总线:程序的数据总线、程序的地址总线、数据的数据总线和数据的地址总线。这种分离的程序总线和数据总线,可允许同时获取来自程序存储器的指令字和来自数据存储器的操作数,互不干扰。有的dsp片内还包括有其他总线,如dma总线等,可在单周期内完成更多的工作。
3.2 流水线
与哈佛总线结构相关, dsp广泛采用流水线以减少指令执行时间,从而增加了处理器的处理能力。要执行一条dsp指令,需要通过取指、译码、取操作数、执行等几个阶段,dsp的流水线结构是指它的这几个阶段在程序执行过程中是重叠进行的,即在对本条指令取指的同时,前面的三条指令已依次完成译码、取操作数、执行的操作。正是利用这种流水线机制,保证dsp的乘法、加法以及乘累加可以在单周期内完成,这对提高dsp的运算速度具有重要意义,特别是当设计的算法需要连续的乘累加运算时。
3.3 硬件乘法器
专用的硬件乘法器是dsp的特征之一,硬件乘法器的功能是在单周期内完成一次乘法运算。 dsp内还增加了累加器寄存器来处理多个乘积的和,而且该寄存器通常比其他寄存器宽,这样保证乘累加运算结果不至于发生溢出。
3.4 多处理单元
dsp内部一般都包括多个处理单元,如alu、乘法器、辅助算术单元等。它们都可在单独的一个指令周期内执行完计算和操作任务,而且往往同时完成。这种结构特别适合于滤波器的设计,如fir和iir。这种多处理单元结构还表现为在将一些特殊的算法作成硬件,如典型的fft的位翻转寻址和流水fir滤波算法的循环寻址等。而且大部分dsp具有零消耗循环控制的专门硬件,使得处理器不用花时间测试循环计数器的值就能执行一组指令的循环,硬件完成循环跳转和循环计数器的衰减。
3.5 外围设备
dsp片内通常具有dma控制器、串行口、定时器等外设,所以用户通常只需要外加很少的器件就可以构成自己的dsp系统。dma控制器可以在不干扰cpu操作的前提下,由其专用的数据存取通道独立完成接口到片内存