当前位置: 首页 > 编程日记 > 正文

ARM、FPGA和DSP的特点和区别是什么?(转)

发布时间:2009-5-8 14:25        发布者:ARM

关键词:DSP, ARM, FPGA, 特点

DSP(digital singnal processor)是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件。一个数字信号处理器在一块不大的芯片内包括有控制单元、运算单元、各种寄存器以及一定数量的存储单元等等,在其外围还可以连接若干存储器,并可以与一定数量的外部设备互相通信,有软、硬件的全面功能,本身就是一个微型计算机。DSP采用的是哈佛设计,即数据总线和地址总线分开,使程序和数据分别存储在两个分开的空间,允许取指令和执行指令完全重叠。也就是说在执行上一条指令的同时就可取出下一条指令,并进行译码,这大大的提高了微处理器的速度。另外还允许在程序空间和数据空间之间进行传输,因为增加了器件的灵活性。其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。由于它运算能力很强,速度很快,体积很小,而且采用软件编程具有高度的灵活性,因此为从事各种复杂的应用提供了一条有效途径。根据数字信号处理的要求,DSP芯片一般具有如下主要特点:

(1)在一个指令周期内可完成一次乘法和一次加法;
(2)程序和数据空间分开,可以同时访问指令和数据;
(3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;
(4)具有低开销或无开销循环及跳转的硬件支持;
(5)快速的中断处理和硬件I/O支持;
(6)具有在单周期内操作的多个硬件地址产生器;
(7)可以并行执行多个操作;
(8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。


当然,与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。

ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。ARM架构是面向低预算市场设计的第一款RISC微处理器,基本是32位单片机的行业标准,它提供一系列内核、体系扩展、微处理器和系统芯片方案,四个功能模块可供生产厂商根据不同用户的要求来配置生产。由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行。目前ARM在手持设备市场占有90以上的份额,可以有效地缩短应用程序开发与测试的时间,也降低了研发费用。

FPGA是英文Field Programmable Gate Array(现场可编程门阵列)的缩写,它是在PAL、GAL、PLD等可编程器件的基础上进一步发展的产物,是专用集成电路(ASIC)中集成度最高的一种。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个 新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB (Input Output Block)和内部连线(Interconnect)三个部分。用户可对FPGA内部的逻辑模块和I/O模块重新配置,以实现用户的逻辑。它还具有静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改。作为专用集成电路(ASIC)领域中的一种半定制电路,FPGA既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。可以毫不夸张的讲,FPGA能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路,都可以用FPGA来实现。FPGA如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由的设计一个数字系统。通过软件仿真,我们可以事先验证设计的正确性。在PCB完成以后,还可以利用FPGA的在线修改能力,随时修改设计而不必改动硬件电路。使用FPGA来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片内编程RAM 中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA 编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。目前FPGA的品种很多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。

他们的区别是什么呢?DSP主要是用来计算的,比如进行加密解密、调制解调等,优势是强大的数据处理能力和较高的运行速度。ARM具有比较强的事务管理功能,可以用来跑界面以及应用程序等,其优势主要体现在控制方面,而FPGA可以用VHDL或verilogHDL来编程,灵活性强,由于能够进行编程、除错、再编程和重复操作,因此可以充分地进行设计开发和验证。当电路有少量改动时,更能显示出FPGA的优势,其现场编程能力可以延长产品在市场上的寿命,而这种能力可以用来进行系统升级或除错。

转载于:https://www.cnblogs.com/sherry00/archive/2012/06/03/2532774.html

相关文章:

unix to linux,UNIX to Linux 的关键问题都有哪些?

答:针对问题描述有一些不同的观点。1、第一个问题就是应用架构的改造问题,需要支持负载均衡模式。说明:这个不一定需要支持负载均衡模式,首先本身LINUXONE提供多分区架构,不需要改变原有应用系统的部署模式。而且负载均…

MongoDb 查询时常用方法

Query.All("name", "a", "b");//通过多个元素来匹配数组Query.And(Query.EQ("name", "a"), Query.EQ("title", "t"));//同时满足多个条件Query.EQ("name", "a");//等于Query.Exist…

解决Error response from daemon: Get https://registry-1.docker.io/v2/library/hello-world/manifests/

https://blog.csdn.net/quanqxj/article/details/79479943转载于:https://www.cnblogs.com/liuys635/p/10624068.html

从 StarCraft 2 Installer.exe 中提取种子文件

蛋疼的想在 Linux 下下载星际争霸,但是暴雪提供的是 exe 格式的文件,这其实就是个 BT 客户端,但是问题是怎么提取出里面的种子文件呢,经过一番 google 找到了答案。 直接用 Vi 或 Emacs 打开 exe 格式的文件,搜索“d8:…

linux下接口持续集成,部署jenkins持续集成工具

1、Linux安装配置jdk环境1.1、上传到 Linux 服务器;例如:上传至: cd /usr/local1.2、解压:rpm -ivh jdk-8u111-linux-x64.rpm1.3、环境变量配置cd /etc在etc下,找到 profile文件,增加如下如下配置&#xff…

iOS UILabel UITextView自适应文本,或文本大小自适应

//UILabel自适应文本的高度UILabel *label [[UILabel alloc]initWithFrame:CGRectMake(0, 100, 300, 100)];label.numberOfLines 0;label.lineBreakMode NSLineBreakByWordWrapping;label.text "是它吗?哈哈,太兴奋了。”12日,随着土…

(原)War3 脚本分析5-基础脚本资源

众所周知War3编辑器非常强大,这种强大不仅是因为其拥有诸如地形编辑器、开关编辑器、声音编辑器、物体编辑器、战役编辑器、AI编辑器、物体管理器、输入管理器等非常全面且易于使用的功能,更为重要的是在其基础上MOD爱好者通过很简单的操作即可实现各式各…

Mysql统计分组区间的人数和

统计各分数区间数据 现在要统计&#xff1a;<50、50-60、60-70、70-80、80-90、90-100、>100分数区间的人数&#xff1b;利用 INTERVAL 划出7个区间&#xff1b;再利用 elt 函数将7个区间分别返回一个列名&#xff0c;如下SQL&#xff1a; 123456789101112131415 mysql&g…

tcl c语言笔试题,TCL技术类笔试题目.doc

TCL技术类笔试题目模拟电路试题一&#xff0e;二极管1.如图所示电路中&#xff0c;已知电源电压 E4V 时,I1mA。那么当电源电压 E8V 时 , 电流I的大小将是______2.稳压管通常工作于______&#xff0c;来稳定直流输出电压截止区 正向导通区 反向击穿区3. 由二极管的伏安特性可知&…

Js-函数式编程

前言 JavaScript是一门多范式语言&#xff0c;即可使用OOP&#xff08;面向对象&#xff09;&#xff0c;也可以使用FP&#xff08;函数式&#xff09;&#xff0c;由于笔者最近在学习React相关的技术栈&#xff0c;想进一步深入了解其思想&#xff0c;所以学习了一些FP相关的知…

MFC中显示 .bmp格式的位图

最近在看VisualC 图像处理的书籍&#xff0c;表示一直在从基础做起&#xff0c;今天就记录一个简单功能的实现&#xff0c;显示.bmp格式的位图。 首先需要理解的是窗口创建的过程包括两个步骤&#xff1a;首先擦除窗口的背景&#xff0c;然后在对窗口进行重新绘制。 一般而言&a…

ibatis源码浅析- 初探

ibatis核心类 SqlMapExecutor&#xff1a;定义了数据库curd操作api SqlMapTransactionManager &#xff1a; 主要定义了事务管理功能 SqlMapClient&#xff1a;继承SqlMapExecutor, SqlMapTransactionManager接口 也就具有curd操作 事务管理行为 SqlMapSession&#xff1a; 它…

c语言中void跟argv,argc和argv []在C语言中

我学习C和在其中一个例子&#xff0c;我们写出这样的程序&#xff1a;argc和argv []在C语言中#include int main(int argc, char *argv[]){// go through each string in argvint i 0;while(i < argc){printf("arg %d: %s\n", i, argv[i]);i;}// lets make our o…

【转】apache常用配置

如何设 置请求等待时间在httpd.conf里面设置&#xff1a;  TimeOut n  其中n为整数&#xff0c;单位是秒。 如何接收一个get请求的总时间接收一个post和put请求的TCP包之间的时间  TCP包传输中的响应&#xff08;ack&#xff09;时间间隔 如何使得apache监听在特定的端口…

[20190402]对比_mutex_wait_scheme不同模式cpu消耗.txt

[20190402]对比_mutex_wait_scheme不同模式cpu消耗.txt--//前几天做了sql语句在mutexes上的探究.今天对比不同_mutex_wait_scheme模式cpu消耗.1.环境:SYSbook> hide mutexNAME DESCRIPTION DEFAULT_VALUE SESSION_VALUE SYSTEM_VALUE---------------…

【宋红康学习日记11】Object类与equals方法

1 &#xff08;1&#xff09;当对象是基本数据类型时&#xff0c;比较值&#xff1b; &#xff08;2&#xff09;当对象是引用型时&#xff0c;比较的是地址值&#xff01;&#xff01;1 2 equals&#xff08;&#xff09;&#xff1a;只处理引用型数据&#xff1b;Object类中…

C语言图书管理系统注册功能,图书管理系统的c语言源程序

/*****************************************************************************************/#include #include #include #include /输入/输出文件流类using namespace std;const int maxr100;/最多的读者const int maxb100;/最多的图书const int maxbor5;/每位读者最多借…

python三层架构

conf/setting(配置文件) 一般是对utility进行相关设置index(主文件)main函数触发某个对象的业务逻辑方法model(数据库)admin 是对数据库的操作&#xff0c;数据库的增删改查操作utility(公共功能)sql_helper操作数据库的方法(其实就是些连接数据库&#xff0c;关闭数据库等…

【转】对random_state参数的理解

转自&#xff1a;https://blog.csdn.net/az9996/article/details/86616668 在学习机器学习的过程中&#xff0c;常常遇到random_state这个参数&#xff0c;下面来简单叙述一下它的作用。作用&#xff1a;控制随机状态。 原因&#xff1a;为什么需要用到这样一个参数random_stat…

关于项目总结一下

最近在做两很多事情&#xff0c;总结一下 1、MySQL使用需要注意的地方1) 存储引擎选择InnoDB&#xff0c;在高并发下读写有很好的表现2) 数据合理分表分区&#xff0c;均衡各数据库服务器的负载3) 适当作数据的冗余&#xff0c;便于在cache失效时的快速恢复 2、Redis使用需要注…

鸿蒙系统能内测吗,鸿蒙系统内测用户:使用体验已经超越ios

首先&#xff0c;鸿蒙流畅度堪比iOS&#xff0c;如同德芙巧克力一样非常丝滑&#xff0c;各种界面切换毫无卡顿。鸿蒙是万物互联的基础&#xff0c;在与其他设备联动上&#xff0c;使用了freebuds pro和magic wathc2&#xff0c;状态栏就能直接切换耳机&#xff0c;非常顺畅&am…

19.04.02笔记

用户权限&#xff1a;su 切换用户账户格式&#xff1a;【su 用户名 】【su】 切换到root【su root】 切换到root【su -】 切换到root用户 同时切换到root目录添加组&#xff1a;【groupadd 组名】 添加组 需要用户权限删除组【groupdel 组名】 删除组 需要用户权限和清空组…

VS2013自带的Browser Link功能引发浏览localhost网站时不停的轮询

浏览localhost网站时候不管你打开那个页面它都会不停的轮询。据悉这是VS2013自带的Browser Link功能&#xff0c;里面用到SignalR机制什么是Browser Link功能&#xff0c;什么是SignalR机制大家可以没事去百度了解一下。Browser Link功能讲解地址&#xff1a;http://www.cxyclu…

编译型语言和解释型语言(转载)

在具体计算机上实现一种语言&#xff0c;首先要确定的是表示该语言语义解释的虚拟计算机&#xff0c;一个关键的问题是程序执行时的基本表示是实际计算机上的机器语言还是虚拟机的机器语言。这个问题决定了语言的实现。根据这个问题的回答&#xff0c;可以将程序设计语言划分为…

魅族手机使用鸿蒙系统,魅族宣布接入华为鸿蒙系统,这应该是黄章最正确的决定...

安卓能有现在的成就一切源于苹果之外其它所有品牌都在使用&#xff0c;俗话讲“众人拾柴火焰高”就是这个道理。相对来讲华为鸿蒙要想做大做强必须有其它品牌支持才可以&#xff0c;如果华为自己一家使用是无法做到与苹果的iOS、谷歌的安卓相抗衡的。这就是为什么华为鸿蒙正式确…

(转)互斥对象锁和临界区锁性能比较 .

在Win32平台上进行多线程编程&#xff0c;常会用到锁。下边用C实现了互斥对象&#xff08;Mutex&#xff09;锁和临界区&#xff08;CRITICAL_SECTION&#xff09;锁&#xff0c;以加深理解和今后方便使用。代码已在VS2005环境下编译测试通过。 Lock.h [cpp] view plaincopypri…

CentOS6.5 下sciki-learn numpy scipy 的安装

CentOS6.5 下sciki-learn numpy scipy 的安装软件安装CentOSPython之前用的一直是CentOS 7&#xff0c; 后来觉的软件安装太麻烦就改到了Ubuntu&#xff0c; 这些Python 的包在Ubuntu下安装几乎是无脑的&#xff0c;用apt-get 安装 Ipython 的时候会自动下载numpy, scipy 和 ma…

2021年甘肃省副高考试成绩查询,2021年甘肃卫生资格考试成绩查询-中国卫生人才网...

国家卫生资格考试网为您发布 2021年甘肃卫生资格考试成绩查询-中国卫生人才网&#xff0c;同步中国卫生人才网信息&#xff1a;2021甘肃卫生资格成绩查询。更多关于卫生资格成绩,卫生资格考试,2021卫生资格考试,国家卫生资格成绩查询的信息内容&#xff0c;请关注国家卫生资格考…

OWIN初探(转)

什么是 OWIN &#xff1f; OWIN 的全称是 "Open Web Interface for .NET"&#xff0c; OWIN 在 .NET Web 服务器和 .NET Web 应用之间定义了一套标准的接口&#xff0c; 其目的是为了实现服务器与应用之间的解耦&#xff0c; 鼓励为 .NET Web 应用开发简单模块。 OWI…

JavaMail学习笔记(一)、理解邮件传输协议(SMTP、POP3、IMAP、MIME)

电子邮件需要在邮件客户端和邮件服务器之间&#xff0c;以及两个邮件服务器之间进行传递&#xff0c;就必须遵循一定的规则&#xff0c;这些规则就是邮件传输协议。SMTP协议定了邮件客户端与SMTP服务之间&#xff0c;以及两台SMTP服务器之间发送邮件的通信规则&#xff1b;POP3…