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
    +关注

    关注

    544

    文章

    7681

    浏览量

    344331
  • 嵌入式
    +关注

    关注

    4981

    文章

    18272

    浏览量

    288333
收藏 人收藏

    评论

    相关推荐

    面向RISC-DSP处理器的代码生成和优化

    本帖最后由 luna 于 2011-3-3 11:53 编辑 随着嵌入式系统应用的发展,高效和小型化是其主要特点,这对目标代码质量的要求也越来越高。针对自行设计的32位具有RISC
    发表于 03-03 10:46

    【TL6748 DSP申请】嵌入式分析和实时信号处理

    工作模式。因此有必要发展一种可重构和可扩展的通用信号处理系统,能将信号处理机多功能化、模块化、标准化和通用化。将嵌入式操作
    发表于 09-10 11:13

    CS4235在DSP嵌入式系统中有哪些应用?

    目前,由于采用的录放音芯片结构简单、采样率过低而使得嵌入式系统的音质效果比较差,远远满足不了人们对高档生活、学习用嵌入式
    发表于 09-03 08:31

    什么是嵌入式系统

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

    嵌入式系统的硬件平台组成

    DSP处理器(也可内部集成),以完成高性能信号处理。  随着计算机技术、微电子技术、应用技术的不断发展及纳米芯片加工工艺技术的发展,以微处理
    发表于 06-20 15:25

    采用强大处理器开发高效嵌入式应用有哪些指导原则?

    DSP某些重要的软件与系统优化技术采用强大处理器开发高效嵌入式应用有哪些指导原则?
    发表于 04-20 06:28

    嵌入式系统的特点

    1.嵌入式系统的特点、分类、发展与应用,熟悉嵌入式系统的逻辑组成。(1)特点:专用性隐蔽性(嵌入式系统
    发表于 07-27 06:57

    嵌入式系统硬件层嵌入式处理

    /12/16,68300嵌入式微处理器MPU举例:Am186/88,PowerPC,68000,MIPS,ARM嵌入式数字信号处理DSP
    发表于 10-27 06:58

    嵌入式处理器具有哪些特点分类?

    一.嵌入式处理器的结构、特点与分类1.不同类型的典型嵌入式处理器及其特点1)数字信号处理
    发表于 11-09 07:42

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

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

    嵌入式和通用DSP之间的差别在哪

    DSP在内的多内核嵌入结构是提高整体数据处理能力的一个有效方案。如何更高速、高效地协调各个内核之间的工作成为这项工作的核心,与此相关的嵌入式
    发表于 12-15 06:01

    DSP嵌入式系统有哪些不同呢

    DSP:Digital Signal Processing(数字信号处理DSP芯片FPGA:Field Programmable Gate Array(现场可编程逻辑门阵列)
    发表于 12-15 08:53

    嵌入式系统概论与嵌入式系统的特点

    都可能会产生致命的后果实时性:需要实时数据软件固化:软件都固化在只读存储器ROM,用户不能随意更改其程序功能嵌入式系统的应用嵌入式处理器的
    发表于 12-21 08:21

    如何入门RISC-V嵌入式

    想入门RISC-V嵌入式不知如何下手?已经买了RV-STAR板子却仍然毫无头绪?RISC-V嵌入式课程早春营,here we come!老板说上一个开课通知早春营|《
    发表于 01-07 07:27

    dsp嵌入式微处理器的一种设备吗 ARM嵌入式微处理器有何特点?

    DSP(Digital Signal Processor)不是一种嵌入式微处理器的设备。DSP是一种专门用于数字信号处理的微
    的头像 发表于 04-21 09:37 152次阅读