ARMed解决方案对DSP的战争

ARM体系结构简化了数字信号处理

ARM与数字信号处理(DSP)有什么关系?

  • ARM似乎在处理领域处于领先地位。该处理器已将其视为其最大的细分市场之一,这主要是由于该公司已采取一些措施以适应嵌入式市场及其采用的体系结构。
  • DSP在手机,无绳电话,基站,传呼机,调制解调器,智能手机和PDA(个人数字或数据助手)中普遍采用嵌入式处理器。
  • 利用此类处理器的其嵌入式应用程序包括:磁盘驱动器控制器,汽车引擎控制和管理系统,数字自动环绕声,电视机顶盒和互联网设备。仍在修改其产品以利用:玩具,手表等。可能的应用几乎是无止境的。

但这仍然不能回答问题,为什么要使用ARM处理器来完成这项工作?

  • 答案很简单。ARM可以提供低成本,高性能和低功耗,而要使便携式嵌入式产品在当今世界上可销售,则必须具备上述两种功能。更不用说一个事实,即整个ARM体系结构的专门小组严格致力于充当信号处理器。
  • 这种经过改进的处理器已被命名为“ Piccolo”。Piccolo充当标准ARM微处理器的集成协处理器,允许将第二个面向DSP的数据路径和相关的DSP指令集集成到标准ARM 32位RISC / 16位Thumb系统中。这种配置允许协处理器通过共享相同的单个系统总线来重用数据。这样的系统具有成本效益和功率效率。

Piccolo的这种协处理器情况如何更好地适合DSP?

  • 答案是,在许多方面都有帮助。首先,ARM微处理器与Piccolo的集成通过最小化片上代码存储量并有效利用芯片存储器来减少总硅片面积。如果使用两个独立的处理器,通常不会发现这种情况。
  • 通过结合单周期算术运算和维持该性能所需的数据吞吐量,可以通过指令集集成来提高性能。
  • 阐明为什么Piccolo DSP解决方案具有优势的另一点是,其独立运行的处理器通常基于“传统”技术,这不一定是最好的实现,而与ARM集成则不依赖于不足之处标准。
  • 其重要的优势是可以提高功耗效率,这有助于延长电池寿命并减少热量产生,当然,可以通过集成实现成本节省。两者都有利于支持小型便携式无线产品的强劲趋势。

这种系统是什么样的?

好吧-Piccolo体系结构

左上方显示的是通用寄存器集,所有这些寄存器都可供程序员访问,并包含32个16位寄存器或16个32位寄存器,以最大化piccolo处理器本地的数据存储以及四个扩展精度48位寄存器。在底部是用于输入和输出的缓冲区,以最大程度地减少内存访问以及由于ARM协处理器接口遇到的结构性危害而导致的停顿。

其值得注意的硬件是用于数据快速缩放的32位桶形移位器,16 * 16单周期乘法器,内置对扩展精度算术的支持,以及用于单周期双16位算术和逻辑运算的拆分式ALU。指令字或一个32位数据项算术或逻辑运算。

寄存器具有用于代码优化和灵活性的重新映射方案,并且有四个可嵌套的零开销硬件循环结构用于执行DSP算法。

看起来很简单,不是吗。但是,可能会问一个好问题:ARM协处理器接口如何工作?共享数据的处理器之间不会有很多争论吗?

让从描述协处理器架构本身开始。通过添加硬件协处理器,ARM支持其指令集的通用扩展。

  • 该架构接口最多支持16个逻辑协处理器
  • 每个协处理器最多可以具有16个不限于32位的专用寄存器。
  • 协处理器使用加载/存储架构
  • 为了提高性能,大多数新的ARM将协处理器接口限制在片上使用,以进行缓存和内存管理。

现在让看一下界面。

  • ARM协处理器接口是一个“总线监视”系统。
  • 当协处理器接收指令时,该协处理器通过总线连接到ARM处理器,该指令将数据通过输入缓冲区移动到其自己的内部指令管道。
  • 当协处理器指令开始执行时,ARM和协处理器之间便发生了“握手”,表明都已准备好执行指令。该协议包括三个信号:

1.    Cpi(从ARM到所有协处理器)。

“协处理器指令”的信号,该信号表示ARM已识别出协处理器指令并希望执行。

2.    Cpa(从协处理器到ARM)。

“不存在协处理器”的信号,该信号向ARM指示没有可用的协处理器来执行当前指令。

3.    Cpb(从协处理器到ARM)。

“协处理器繁忙”信号,该信号告诉ARM协处理器尚未开始执行指令。

握手产生了什么结果?这是有趣的部分!

一旦协处理器接收到指令,并且指令正在坐着并等待执行,则根据发生的握手情况有四种可能的结果。

1.    ARM可能不选择执行此指令(不声明cpi),可能是因为落在分支影子内或某些条件测试失败(所有ARM指令均按条件执行)。结果-所有协处理器都放弃指令。

2.    ARM决定执行(声明cpi),但是任何协处理器都无法执行,因此cpa保持活动状态,ARM将采用未定义的指令陷阱并使用软件进行恢复。

3.    ARM决定执行,协处理器接受,但还不能执行。协处理器将CPA调低,但将CPB调高;同时,ARM“忙-等待”直到协处理器将cpb调低,从而使指令流停滞。但是,ARM会中断中断。

4.    ARM决定执行,协处理器接受立即执行。Cpi,cpa和cpb均被拉低,并且双方均致力于完成指令。

特别说明:抢先执行。

只要在握手未完成的情况下协处理器可以恢复状态,协处理器就可以在流水线中接收到指令后立即开始执行指令。

毕竟能说什么?

手机无处不在。而且,为什么呢?因为是如此的便宜,并且很方便携带。但是,这还不是DSP的终结。汽车,电视,微波炉,立体声音响,手表,PDA(等等)都在使用此技术。ARM的Piccolo及其协处理器思想是朝着正确方向迈出的一步。提供了一种在性能,成本和功耗之间取得平衡的架构。在计算机领域,ARM已成为该类别的当前领导者,并取得了短暂的成就。但是,还有更多的事情要来。

ARMed解决方案对DSP的战争的更多相关文章

  1. 利用UltraScale和UltraScale+FPGA和MPSOC加速DSP设计生产力

    利用UltraScale和UltraScale+FPGA和MPSOC加速DSP设计生产力 Accelerating DSP Design Productivity with UltraScale an ...

  2. VS 6.00 工程项目文件详解

    *.dsp(DeveloperStudio Project):是VC++的工程配置文件,比如说你的工程包含哪个文件,你的编译选项是什么等等,编译的时候是按照.dsp的配置来的.*.dsw(Develo ...

  3. 一种高灵敏度自带DSP降噪算法的音频采集解决方案

    背景调研   随着AI渗透到各行各业,人们对语音的需求也越来越大,最近一两年,各种AI音频设备如雨后春笋般冒出.各种智能AI设备的推出,意味者市场对低成本的音频采集设备越来越多.针对这种情况,我们开发 ...

  4. 高灵敏度自带DSP降噪算法的audio codec解决方案

    背景调研   随着AI渗透到各行各业,人们对语音的需求也越来越大,最近一两年,各种AI音频设备如雨后春笋般冒出.各种智能AI设备的推出,意味者市场对低成本的音频采集设备越来越多.针对这种情况,我们开发 ...

  5. 基于TI 多核DSP 的大数据智能计算处理解决方案

    北京太速科技有限公司 大数据智能计算,是未来的一个发展趋势,大数据计算系统主要完成数据的存储和管理:数据的检索与智能计算. 特别是在智能城市领域,由于人口聚集给城市带来了交通.医疗.建筑等各方面的压力 ...

  6. Atitit 在线支付系统功能设计原理与解决方案 与目录

    Atitit 在线支付系统功能设计原理与解决方案 与目录 1.1. 支付系统1 1.2. 独立的支付子体系..微服务架构..1 1.3. 参考书籍1 支付战争 [The PayPal Wars:Bat ...

  7. Nordic Semiconductor nRF52832 蓝牙智能多协议单芯片解决方案荣获《中国电子商情》编辑选择奖

    挪威奥斯陆 – 2016年4月11日 – Nordic Semiconductor ASA (OSE: NOD) 赢得<中国电子商情>颁发的"2015年编辑选择奖",其 ...

  8. dsp与sem的互补以及技术实现

    SEM翻译过来叫搜索引擎营销,个人认为是随着搜索引擎竞价排名出现的一个行业,已经有了好多年的历史,做sem的公司这些年里手里应该都积攒着大量的cookie,关键词等与SEM和追踪相关的数据,这些数据现 ...

  9. DSP\BIOS调试Heaps are enabled,but not set correctly

    转自:http://blog.sina.com.cn/s/blog_735f291001015t9i.html Heaps are enabled, but the segment for DSP/B ...

随机推荐

  1. hdu5012 水搜索

    题意:       给你一个正方体的初始状态和末状态,问你是否可以再6步之内转到这个状态,有四种转的方式,如果你面对的是正方向的正前方,那么转的方式就是 顺时针,逆时针,上,下. 思路:        ...

  2. SQLServer数据库及注入方法

    目录 SQLServer数据库 SQLServer数据库的查询语句 SA权限开启xp_cmdshell获取主机权限 盲注SQLServer数据库 SQLServer数据库 SQL Server数据库是 ...

  3. Linux提权

    讲Linux提权之前,我们先看看与Linux有关的一些知识: 我们常说的Linux系统,指的是Linux内核与各种常用软件的集合产品,全球大约有数百款的Linux系统版本,每个系统版本都有自己的特性和 ...

  4. CVE-2019-11043 Nginx PHP 远程代码执行漏洞复现

    漏洞背景:来自Wallarm的安全研究员Andrew Danau在9月14-16号举办的Real World CTF中,意外的向服务器发送%0a(换行符)时,服务器返回异常信息.由此发现了这个0day ...

  5. OpenStack+kvm虚拟机xml格式解析

    配置说明 首先介绍一下配置结构: xml配置遵循<keyword> xxxxxx </keyword>的格式,即一个配置段以<keyword>开头,以</ke ...

  6. C++ Socket 简单封装

    以下代码一部分来自于<网络多人游戏架构与编程>, 其它的都是我瞎写的. 备忘. 一个简单的Socket封装,没有做什么高级的操作(比如IO完成端口等等). 1 #pragma once 2 ...

  7. 【python】Leetcode每日一题-删除排序链表中的重复元素2

    [python]Leetcode每日一题-删除排序链表中的重复元素2 [题目描述] 存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除链表中所有存在数字重复情况的节点,只保留原始链表 ...

  8. Mac终端使用tree命令查看目录结构

    使用brew管理tree扩展 brew search tree brew install tree tree

  9. python爬虫——《英雄联盟》英雄及皮肤图片

    还记得那些年一起网吧开黑通宵的日子吗?<英雄联盟>绝对是大学时期的风靡游戏,即使毕业多年的大学同学相聚,难免不怀念一番当时一起玩<英雄联盟>的日子. 今天就给大家分享一下英雄及 ...

  10. [2021BUAA软工_助教博客]作业成绩汇总

    作业及成绩 作业链接 成绩链接 个人阅读作业#1 个人阅读作业#1_成绩 个人阅读作业#2 个人阅读作业#2_成绩 结对项目-第一阶段 结对项目-第一阶段_成绩 结对项目-第二阶段 结对项目-第二阶段 ...