dsp处理器与通用处理器的比较.docxVIP

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DSP 处理器与通用处理器的比较 考虑一个数字信号处理的实例,比如有限冲击响应滤波器(FIR)。用数学语言来说,FIR 滤波器是做一系列的点积。取一个输入量和一个序数向量,在系数和输入样本的滑动窗口间作乘法,然后将所有的乘积加起来,形成一个输出样本。类似的运算在数字信号处理过程中大量地重复发生,使得为此设计的器件必须提供专门的支持,促成了了 DSP 器件与通用处理器(GPP)的分流: 1 对密集的乘法运算的支持 GPP 不是设计来做密集乘法任务的,即使是一些现代的 GPP,也要求多个指令周期来做一次乘法。而 DSP 处理器使用专门的硬件来实现单周期乘法。DSP处理器还增加了累加器寄存器来处理多个乘积的和。累加器寄存器通常比其他寄存器宽,增加称为结果 bits 的额外 bits 来避免溢出。 同时,为了充分体现专门的乘法-累加硬件的好处,几乎所有的 DSP 的指令集都包含有显式的 MAC 指令。 2 存储器结构 传统上,GPP 使用冯.诺依曼存储器结构。这种结构中,只有一个存储器空间通过一组总线(一个地址总线和一个数据总线)连接到处理器核。通常,做一次乘法会发生 4 次存储器访问,用掉至少四个指令周期。 大多数 DSP 采用了哈佛结构,将存储器空间划分成两个,分别存储程序和数据。它们有两组总线连接到处理器核,允许同时对它们进行访问。这种安排将处理器存贮器的带宽加倍,更重要的是同时为处理器核提供数据与指令。在这种布局下,DSP 得以实现单周期的 MAC 指令。 还有一个问题,即现在典型的高性能 GPP 实际上已包含两个片内高速缓存,一个是数据,一个是指令,它们直接连接到处理器核,以加快运行时的访问速度。从物理上说,这种片内的双存储器和总线的结构几乎与哈佛结构的一样了。然而从逻辑上说,两者还是有重要的区别。 GPP 使用控制逻辑来决定哪些数据和指令字存储在片内的高速缓存里,其程序员并不加以指定(也可能根本不知道)。与此相反,DSP 使用多个片内存储器和多组总线来保证每个指令周期内存储器的多次访问。在使用 DSP 时,程序员要明确地控制哪些数据和指令要存储在片内存储器中。程序员在写程序时,必须保证处理器能够有效地使用其双总线。 此外,DSP 处理器几乎都不具备数据高速缓存。这是因为 DSP 的典型数据是数据流。也就是说,DSP 处理器对每个数据样本做计算后,就丢弃了,几乎不再重复使用。 3 零开销循环 如果了解到 DSP 算法的一个共同的特点,即大多数的处理时间是花在执行较小的循环上,也就容易理解,为什么大多数的 DSP 都有专门的硬件,用于零 开销循环。所谓零开销循环是指处理器在执行循环时,不用花时间去检查循环计数器的值、条件转移到循环的顶部、将循环计数器减 1。 与此相反,GPP 的循环使用软件来实现。某些高性能的 GPP 使用转移预报硬件,几乎达到与硬件支持的零开销循环同样的效果。 4 定点计算 大多数 DSP 使用定点计算,而不是使用浮点。虽然 DSP 的应用必须十分注意数字的精确,用浮点来做应该容易的多,但是对 DSP 来说,廉价也是非常重要的。定点机器比起相应的浮点机器来要便宜(而且更快)。为了不使用浮点机器而又保证数字的准确,DSP 处理器在指令集和硬件方面都支持饱和计算、舍入和移位。 5 专门的寻址方式 DSP 处理器往往都支持专门的寻址模式,它们对通常的信号处理操作和算法是很有用的。例如,模块(循环)寻址(对实现数字滤波器延时线很有用)、位倒序寻址(对 FFT 很有用)。这些非常专门的寻址模式在 GPP 中是不常使用的,只有用软件来实现。 6 执行时间的预测 大多数的 DSP 应用(如蜂窝电话和调制解调器)都是严格的实时应用,所有的处理必须在指定的时间内完成。这就要求程序员准确地确定每个样本需要多少处理时间,或者,至少要知道,在最坏的情况下,需要多少时间。 如果打算用低成本的 GPP 去完成实时信号处理的任务,执行时间的预测大概不会成为什么问题,应为低成本 GPP 具有相对直接的结构,比较容易预测执行时间。然而,大多数实时 DSP 应用所要求的处理能力是低成本 GPP 所不能提供的。 这时候,DSP 对高性能 GPP 的优势在于,即便是使用了高速缓存的 DSP,哪些指令会放进去也是由程序员(而不是处理器)来决定的,因此很容易判断指令是从高速缓存还是从存储器中读取。DSP 一般不使用动态特性,如转移预测和推理执行等。因此,由一段给定的代码来预测所要求的执行时间是完全直截了当的。从而使程序员得以确定芯片的性能限制。 7 定点 DSP 指令集 定点 DSP 指令集是按两个目标来设计的: 使处理器能够在每个指令周期内完成多个操作,从而提高每个指令周期的计算效率。 将存贮 DSP 程序的存储器空间减到最小(由于存储器对整个系统

文档评论(0)

pengyou2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档