美文网首页
【DSP应用与技术】学习记录2:DSP硬件结构

【DSP应用与技术】学习记录2:DSP硬件结构

作者: 2016年的夏天 | 来源:发表于2023-01-09 14:29 被阅读0次

    1、DSP硬件基本特点

    MIPS描述的是CPU每秒钟能运行百万次指令的能力

    MFLOPS:每秒钟运行百万次浮点操作的能力

    这样CPU一个周期内能完成一次乘法和一次加法,提高了数字信号处理算法执行效率

    哈弗结构的程序存储器和数据存储器是分开的,而一般的个人电脑采用的是冯.诺依曼体系结构

    需要一组程序总线访问程序存储器,还需要一组数据总线访问数据存储器

    由DSP芯片的结构可知需要有多总线,采用多总线访问机制

    由流水线操作可看出一个周期内可以执行多条操作。

    DMA:在没有CPU干预的情况下可以独立地完成数据的操作

    ROM:掉电不丢失   RAM:掉电丢失   FLASH:本质上属于ROM的一种,也是掉电不丢失的介质

    片内存储空间不够时,需要扩展外部存储器

    运算单元在访问片外FLASH时运行速度最慢,因为片外存储单元距离CPU最远;而运算单元在访问CPU上的寄存器时其运行速度是最快的,因为这些寄存器距离运算单元最近。

    2、DSP典型结构

    以TMS320C6000为例进行DSP芯片典型结构的介绍。

    上图的左下角是外部扩展部分

    以下了解一下6000系列CPU的八个功能模块,每个功能模块都有自己负责的操作

    下图是CPU执行指令的流程(从上往下看)。C6000芯片中,CPU读一次是读一个指令包,这个指令包是256位(固定)。指令包中有可能是16位的指令,也有可能是32位的指令。比如有的指令做的是乘法,就将其送到M单元去,如果有的指令是做的移位操作,那就将其送入S单元去。(该过程涉及指令分发和指令译码)。

    那么指令执行所需的数据从哪来呢(比如乘法需要的两个乘数)?这就涉及到数据通路A和寄存器文件。电路原理图如下所示。

    如上图中的引脚ST 其是64位总线,将计算结果的数据存到指定的存储单元中去。

    而上图中的引脚LD(load),他的功能主要是加载数据,将指令执行所需的数据从存储器中读取进来。

    除此之外,指令执行所需的数据也可以从通用寄存器文件中获得。寄存器文件可以存放运算过程中中间变量的值,而不需要放到外部存储器去。因为寄存器距离运算单元近,这样可以加快功能单元的执行效率。在C6000中有两个通用寄存器文件。每个寄存器文件都包含32个通用寄存器

    如下图是C6000系列中的存储器。一级缓存存储容量最小,但是存取速度最快。外部扩展存储器存储容量最大,但是存取速度最慢。二级缓存则在两者之间。如果CPU要访问程序一级缓存,则需要通过程序存储控制器来实现。而剩下的缓存和外部扩展存储器,也都由相应的存储控制器来实现访问。

    如下图一共有两种结构,第一种就是CPU在中间,存储单元分布在CPU周围,这是“平面结构”,主要适用于存储容量需求不大的情况。

    第二种是“分层结构”,对存取速度、存储容量有比较高的要求。(因为C6000主要处理视频、图像)

    以CPU读取指令为例说明:当需要调用某段代码的时候,CPU会首先在一级缓存中查找,如果找到了就立即执行;如果没有找到就去二级缓存查找,如果找到了就会将相应的指令代码读入一级缓存,以此类推。这样指令就会按照他们执行的‘’频度‘’分布在不同层次的存储空间内,从而实现了执行速度与成本之间的优化设计。比较常被调用的代码指令就放在离运算单元最近的一级缓存中,这样程序执行的整体速度会有所提升。

    不同类型的DSP芯片,由于其功能不同,面向的市场定位不同,其硬件结构也会有比较大的差别,因此一开始做好需求分析是很有必要的。

    相关文章

      网友评论

          本文标题:【DSP应用与技术】学习记录2:DSP硬件结构

          本文链接:https://www.haomeiwen.com/subject/vxdvkltx.html