为适应快速数字信号处理运算的要求,DSP芯片普遍采用了特殊的硬件和软件结构,以提高数字信号处理的运算速度,并且多数DSP运算操作可以在一个指令周期内完成。DSP芯片的结构特征主要是指:
哈佛结构不同于冯·诺依曼(Von Neuman)结构的并行体系结构,其主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编址,独立访问。与两个存储器相对应的是系统中设置了程序总线和数据总线两条总线,从而使数据的吞吐率提高了一倍。而冯·诺曼结构则是将指令、数据、地址存储在同一存储器中,统一编址,依靠指令计数器提供的地址来区分是指令、数据还是地址。取指令和取数据都访问同一存储器,数据吞吐率低。
在哈佛结构中,由于程序和数据存储器在两个分开的空间中,因此取指和执行能完全重叠运行。为了进一步提高运行速度和灵活性,TMS320系列DSP芯片在基本哈佛结构的基础上作了改进,一是允许数据存放在程序存储器中,并被算术运算指令直接使用,增强了芯片的灵活性;二是指令存储在高速缓冲器(Cache)中,当执行此指令时,不需要再从存储器中读取指令,节约了一个指令周期的时间。
在通用微处理器中,乘法是由软件实现的,实际上是由时钟控制的一连串移位运算。而在数字信号处理中,乘法和加法是最重要的运算,提高乘法运算的速度就是提高DSP的性能。在DSP芯片中,有专门的硬件乘法器(DM642有两个乘法器,其他只有一个),使得一次或者两次乘法运算可以在一个单指令周期中完成。大大提高了运算速度。
在流水线操作中,一个任务被分成若干子任务,这样,他们在执行时可以相重叠,与哈佛结构相关,DSP芯片广泛采用流水线以减少指令执行时间,从而增强了处理器的处理能力,把指令周期减小到最小值,同时也就增加了信号处理器的吞吐量。
第一代TMS320处理器采用二级流水线,第二代采用三级流水线,而第三代则采用四级流水线。也就是说,处理器可以并行处理2~6条指令,每条指令处于流水线上的不同阶段。在三级流水线操作中,取指、译码和执行操作可以独立地处理,这可使指令执行能完全重叠。在每个指令周期内,三个不同的指令处于激活状态,每个指令处于不同的阶段。
在片内外两级存储器结构中,片内存储器虽然不可能具有很大的容量,但速度快,可以多个存储器块并行访问。片外存储器容量大,但速度慢,结合他们各自优势,实际应用中,一般将正在运行的指令和数据放在内存储器中,暂时不用的数据和程序放在外部存储器中。片内存储器的访问速度接近寄存器访问速度,因此DSP指令中,采用存储器访问指令取代寄存器访问指令,而且可以采用双操作数和三操作数来完成多个存储器同时访问,使指令系统更加优化。
DSP的另一个特征就是采用特殊的DSP指令,不同系列的DSP都具备一些特殊的DSP操作指令,以充分发挥DSP算法和各系列特殊设计的功能。
哈佛结构、流水线操作、专用的硬件乘法器、特殊的DSP指令再加上集成电路的优化设计,可使DSP芯片的指令周期在200ns 以下。TMS320系列处理器的指令周期已经从第一代的200ns降低至现在的2ns 以下。快速的指令周期使得DSP芯片能够实时实现许多DSP应用。