0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

DSP对处理嵌入式系统中的高效信号比RISC效果要好

模拟对话 来源:NL 2019-04-15 14:35 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

电子设备应用越来越多地涉及信号处理。家庭影院,计算机图形学,医学成像和电信都依赖于信号处理技术。信号处理需要在复杂但重复的算法中进行快速数学运算。并且许多应用需要实时计算:即,信号是时间的连续函数,必须对其进行采样并转换为数字,以进行数值处理。因此,处理器必须执行在样本到达时对样本执行离散计算的算法。

数字信号处理器(DSP)的架构经过优化,可以处理这些算法。良好的信号处理引擎的特征包括:快速,灵活的算术计算单元(例如,乘法器,累加器,桶形移位器);无限制的数据流入和流出计算单元;计算单元中的扩展精度和动态范围(以避免溢出并最小化舍入误差);双地址生成器(用于同时处理二元运算的两个输入);高效的程序排序(包括有效处理循环和中断的能力);

DSP具有与精简指令集计算机(RISC)相同的一些功能。此外,两者都围绕某些核心指令构建,使它们能够以非常高的指令速率运行;并且都避开了内部微码。然而,它们是根本不同的“动物”。 RISC和DSP之间的差异在处理器的

中最为明显

计算单位

数据地址生成器

内存架构

中断功能

循环硬件

< li>条件指令

接口功能

DSP属于两个基本类:定点,一个(通常)基于16位架构16位整数数据类型和浮点,通常采用32位架构,基于具有尾数和指数的数据类型。

计算单位:DSP都包含并行硬件乘法器以支持单周期乘法,它们的乘法器通常在一个周期内组合乘法和累加。 DSP具有专用的累加器,其寄存器明显宽于标称字大小,以保持精度 - 例如,32位ADSP-2106x SHARC系列中的80位(图1)。与ADSP-21xx系列一样,硬件可能支持从累加器溢出中恢复。此外,DSP都包含全功能的算术逻辑单元(ALU),与乘法器无关。

ALU可能具有特殊功能,例如同时产生的能力用于在时域和频域之间转换信号的快速傅里叶变换(FFT)算法中加速内核例程的和和差。高级DSP将在计算单元中包含饱和逻辑,以防止数据溢出。它还可以提供零开销(即,不需要额外的时钟周期)陷阱来中断算术异常的例程。

复杂的DSP还可以包含单周期桶形移位器(即,能够在一个时钟周期内向左或向右移位字的字段),具有优先级编码器数据缩放,数据压缩/扩展或打包/解包和位操作。它还可以包括专用硬件,以最小化快速划分,平方根和超越函数计算所需的时间。在RISC处理器上找不到具有这些专用功能的计算元素。

地址生成:高效的DSP将使其计算单元保持至少两个独立数据的数据 - 地址生成器。抽头延迟线和系数缓冲器是DSP的特征,但在通用计算中大多是未知的。高效的DSP需要循环缓冲硬件来支持缓冲区。循环缓冲区指针需要在每个周期更新而不会产生开销。此外,缓冲区结束的比较测试需要无延迟命令来重置缓冲区末尾的指针。另一方面,RISC处理器需要额外的周期进行每次比较测试。

存储器架构:DSP通常支持与通用计算系统不同的系统存储器架构。 DSP采用哈佛架构,允许持续单周期访问来自两个不同外部存储器的两个字数据。例如,ADI公司的SHARC DSP具有片上集成的2或4 Mbits双端口SRAM。这个存储器是直接寻址的 - 而不是像RISC处理器中那样的缓存。对于CPU来说,这个片上存储器看起来像一块独特的存储器,而不仅仅是系统中其他地方的高速存储器复制品。原因是DSP通常是嵌入式处理器。它们的片上存储器通常足以包含任务所需的完整,重复的DSP程序。每个存储器模块都是双端口,用于核心处理器和I / O处理器或DMA控制器的单周期独立访问(图2)。双端口存储器和独立的片上总线允许两个数据传输来自内核,一个来自I / O,所有这些都在一个周期内完成。

中断功能:由于DSP旨在用于实时系统,因此高效,复杂且可预测的中断处理对DSP至关重要。 RISC处理器采用高度流水线架构,往往具有较慢的中断响应时间和有限的中断能力。上下文切换应该非常快。高级DSP,如新型ADSP-21csp01和ADI公司的ADSP-2106x浮点系列,支持完整的备用寄存器,允许单周期上下文切换支持中断处理。 (寄存器文件窗口的不同之处在于它的目的是加速参数传递,而不是保存整个上下文。)

除内部中断外,高级DSP还将支持至少四个独立的外部中断。中断延迟将保持几个周期,并且必须是可预测的。中断应该是可嵌套的并且可以优先排序。此外,应该很容易实时启用和禁用特定中断。

硬件循环:高效循环对数字信号处理至关重要,因为信号处理算法是重复的。一个好的DSP将支持具有专用内部硬件的零开销循环。也就是说,芯片将监视循环条件和终止以与所有其他操作并行决定 - 是否将程序计数器或分支递增而没有循环时间损失到循环的顶部。另一方面,RISC处理器必须在每个循环结束时进行测试和分支,每个循环和每个循环至少花费额外的周期。嵌套循环在信号处理算法中也很常见; DSP循环硬件应支持至少四级嵌套循环的深度。 RISC处理器尚未发展以支持这些基本的信号处理需求。

条件执行:数据相关执行对于信号处理非常重要。因此,高级DSP(如ADSP-2100系列和ADSP-2106x SHARC浮点系列)支持大多数基本指令的条件执行:在单条指令中,处理器测试条件代码,如果为真,则在同一循环中执行操作。这可以对计算密集型算法产生巨大影响。英特尔在i860上发现了这个问题,并添加了一个图形单元来处理高性能Z缓冲所需的条件存储操作。

接口:DSP在真实世界的信号上运行来自模数转换器,他们将结果发送到D / A转换器。出于这个原因,DSP通常包含用于这些设备的廉价接口的串行端口。高级DSP添加硬件以提高操作效率,例如双缓冲和自动缓冲。由于这些输入/输出信号可能来自非线性编解码器,因此高级DSP可能具有用于零开销A律和μ律压缩扩展的专用硬件。此外,串行端口可能具有简化与T1和CEPT数据传输线接口的功能。

SHARC串行端口旨在通过灵活的硬件最大化吞吐量,同时调整到各种信号类型。它们的功能包括:每个串行端口可以自动接收和/或发送整个数据块,独立发送和接收 - 每个都带有数据缓冲寄存器以及移位寄存器,用于TDM的多通道模式。

编程注意事项:有一次,DSP和RISC之间的显着差异在于它们的编程模型。 DSP本质上是性能驱动的,因此DSP的编程主要是用汇编语言完成的,以便从处理器中获得最佳性能。这对于定点DSP来说通常仍然如此,但使用ADSP-2100系列直观的代数汇编语言则更容易实现(图3)。在不牺牲性能的情况下,它改善了易用性问题,使许多程序员更喜欢C等高级语言。

另一方面,浮点DSP更多用高级语言有效编程。浮点计算避免使用C中不存在的小数数据类型。此外,体系结构决策可能会影响编译器效率。例如,ADSP-2106x SHARC系列的大型统一地址空间使编译器的内存分配更加容易。此外,它们大而灵活的寄存器文件提高了效率。

我们的产品战略的核心是提供工具和DSP内核,使我们能够高效地编程高级别的固定和浮点DSP语言。这是ADSP-21csp背后的驱动力,ADSP-21csp是一系列新的并发信号处理器。尽管如此,虽然使用高级语言,DSP程序员必须能够在语言级别下降(尽量减少痛苦),以提高时间关键程序的性能。

DSP设计越来越多地按照以下顺序进行编程:首先,用高级语言编写和调试软件原型。该原型通常可以产生足够的性能。然而,更一般地,需要提高性能,因此高级代码在模拟中被直方图化以找到需要最多执行时间的部分。然后使用汇编语言对关键部分进行手工编码。迭代直方图和手动编码过程,直到满足性能目标。

虽然DSP和RISC之间的差异很多,但这两种架构往往会聚集在编程领域,这是由时间驱动的融合 - 推向市场以及DSP在应用中的不断发展的作用。熟悉快速开发工作C程序的程序员可以使用它们更快地将产品推向市场。同时,DSP采用更多系统管理功能,例如用户界面或系统控制,并且需要提供高级语言效率,以便与之前分配这些控制任务的μC和RISC处理器竞争。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • dsp
    dsp
    +关注

    关注

    559

    文章

    8219

    浏览量

    364210
  • 嵌入式
    +关注

    关注

    5187

    文章

    20172

    浏览量

    329221
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    什么是嵌入式系统

    和 指令 进行了特殊设计,使其适合于实时地进行 数字 信号处理。在数字滤波、 FFT 、谱分析等方面, DSP 算法正大量进入嵌入式领域, DSP
    发表于 04-16 09:53

    嵌入式开发DSP与FPGA的关系是什么

    嵌入式开发DSP与FPGA的关系常所说的单片机侧重于控制,不支持信号处理,属于低端嵌入式
    发表于 12-15 09:06

    处理器与DSP器件相结合的嵌入式系统结构设计

    处理器和DSP器件共同组成的嵌入式系统,不仅具有嵌入式系统的全部技术优势,还提供了快速数据
    发表于 05-09 10:48 20次下载

    嵌入式技术设计专用DSP系统研究

    分析了用嵌入式技术设计专用DSP处理系统的一些基本问题。分析结果指出,嵌入式技术的在专用DSP处理系统
    发表于 05-09 14:15 25次下载

    DSP嵌入式系统人机接口设计

    DSP嵌入式系统人机接口设计  1 引言   人机接口是嵌入式控制系统的重要组成部分,用于人机之间实时交换控制
    发表于 12-24 16:34 1152次阅读
    <b class='flag-5'>DSP</b><b class='flag-5'>嵌入式</b><b class='flag-5'>系统</b>人机接口设计

    嵌入式处理系统

    嵌入式处理系统 嵌入式系统概述 嵌入式处理系统设计 并行计算机的组织结构模型
    发表于 02-25 16:53 43次下载
    <b class='flag-5'>嵌入式</b><b class='flag-5'>处理系统</b>

    语音信号去噪和编码系统设计,DSP嵌入式系统开发典型案例

    语音信号去噪和编码系统设计,DSP嵌入式系统开发典型案例
    发表于 10-19 10:23 15次下载
    语音<b class='flag-5'>信号</b>去噪和编码<b class='flag-5'>系统</b>设计,<b class='flag-5'>DSP</b><b class='flag-5'>嵌入式</b><b class='flag-5'>系统</b>开发典型案例

    集成DSP与微处理器内核的嵌入式系统应用分析

    嵌入式应用包括信号处理算法与控制算法,在多种实时嵌入式系统,这两种算法共同执行必需的功能,因此
    发表于 10-21 10:35 0次下载
    集成<b class='flag-5'>DSP</b>与微<b class='flag-5'>处理</b>器内核的<b class='flag-5'>嵌入式</b><b class='flag-5'>系统</b>应用分析

    嵌入式DSP模块和FPGA构架为基础的提高无线信号处理性能的子系统设计

    您可以显著提高无线系统信号处理功能的性能。怎样提高呢?有效方法是利用FPGA结构的灵活性和目前受益于并行处理的FPGA架构
    发表于 07-17 11:48 1179次阅读
    以<b class='flag-5'>嵌入式</b><b class='flag-5'>DSP</b>模块和FPGA构架为基础的提高无线<b class='flag-5'>信号</b><b class='flag-5'>处理</b>性能的子<b class='flag-5'>系统</b>设计

    浅析DSP嵌入式系统的应用特性

    DSP嵌入式系统最重要的技术特性就是具有相当强大的数据处理功能,从现代信息技术角度看,在系统
    发表于 12-12 14:20 2431次阅读

    ADSP-2199x系列:用于嵌入式控制和信号处理应用的混合信号DSP产品亮点

    ADSP-2199x系列:用于嵌入式控制和信号处理应用的混合信号DSP产品亮点
    发表于 04-27 18:53 0次下载
    ADSP-2199x系列:用于<b class='flag-5'>嵌入式</b>控制和<b class='flag-5'>信号</b><b class='flag-5'>处理</b>应用的混合<b class='flag-5'>信号</b><b class='flag-5'>DSP</b>产品亮点

    DSP在高速数据处理嵌入式系统研究与应用

    DSP在高速数据处理嵌入式系统研究与应用(物联网嵌入式开发)-该文档为DSP在高速数据
    发表于 07-30 09:17 9次下载
    <b class='flag-5'>DSP</b>在高速数据<b class='flag-5'>处理</b>的<b class='flag-5'>嵌入式</b><b class='flag-5'>系统</b>研究与应用

    DSP嵌入式系统的应用实例

    DSP嵌入式系统的应用实例(嵌入式开发工具软件)-该文档为DSP
    发表于 07-30 13:09 22次下载
    <b class='flag-5'>DSP</b>在<b class='flag-5'>嵌入式</b><b class='flag-5'>系统</b><b class='flag-5'>中</b>的应用实例

    DSP与MCU在嵌入式系统的应用

    DSP与MCU在嵌入式系统的应用(嵌入式开发解决方案)-该文档为DSP与MCU在
    发表于 07-30 13:11 12次下载
    <b class='flag-5'>DSP</b>与MCU在<b class='flag-5'>嵌入式</b><b class='flag-5'>系统</b><b class='flag-5'>中</b>的应用

    如何用C语言开发DSP嵌入式系统

    如何用C语言开发DSP嵌入式系统DSP嵌入式系统开发是一个非常重要的领域,它涉及到设备的控制
    的头像 发表于 10-29 17:29 2180次阅读