嵌入式系统是不是计算机系统,开发必知:嵌入式系统对比计算机系统_蔡道济的博客-程序员信息网

技术标签: 嵌入式系统是不是计算机系统  

【IT168技术】对目前国内流行的嵌入式系统定义提出质疑,认为嵌入式系统不是“专用计算机系统”,嵌入式系统不只“以计算机技术为基础”。从嵌入式系统的发展起源、体系结构、功能特点、知识技术体系等方面进行了分析论证,从而进一步完善了嵌入式系统的定义。

随着现代化技术的飞速发展,嵌入式系统已深入到社会的各个领域,嵌入式系统的产品已应用到人们的日常生活的各个角落,嵌入式系统技术已成为目前人们研究的热门之一。但是,什么是嵌入式系统?大家却众说不一,至今没有统一的定论,为此我们有必要加以探讨,使嵌入式系统沿着健康的道路发展。

1 什么是嵌入式系统

对于不懂这方面知识的人来说,嵌入式系统这个词可能显得比较深奥,其实嵌入式系统和普通人的生活联系非常紧密。手机、U盘你一定很熟悉吧,它就是典型的嵌入式系统;MP3、MP4、微波炉、有线电视机顶盒,你一定不陌生,它也是嵌入式系统;汽车、ATM自动取款机、电梯等等都属于嵌入式系统。以上仅从应用方面感性的认识嵌入式系统,但它并不是嵌入式系统的真正含义。

那么嵌入式系统真正的含义是什么?现在国内流行的说法是:“嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。”对于这个定义,我有两点疑义:其一,说嵌入式系统“以计算机技术为基础”,我认为不全面,它忽略了微电子等技术作为嵌入式系统基础的重要作用;其二,把嵌入式系统定义为“专用计算机系统”,我认为不正确,它混淆了嵌入式系统与计算机系统的区别。何立民老师说得好:“嵌入式系统不是专用计算机系统”,嵌入式系统是一个智能化的控制系统。

为什么嵌入式系统不是“专用计算机系统”,不只是“以计算机技术为基础”?如何定义嵌入式系统?我们从以下几方面分析探讨。

2 嵌入式系统不是“专用计算机系统”

“专用计算机系统”这个名词应该和“通用计算机系统”这个名词相对应。从字义上看,不管是“专用”或者是“通用”,它们都没有脱离计算机系统这个范畴,应该说它们都归属计算机系统。既然是计算机系统,那它们的发展起源应该是计算机。它们的体系结构、功能特点,知识体系、技术要求应该有相同之处。但是,事实上嵌入式系统和计算机系统虽有联系,可在以上提及的几点上并没有多少相同之处,又何谈它是“专用计算机系统”。

2.1 发展并行独立

嵌入式系统独立发展至今约30年了。它与计算机系统是两个独立的发展系统,从它们的起源看,二者都源于半导体集成电路,诞生于微型计算机时代,二者发展并行独立。如图1所示。

201111010224978615.jpg

图1

嵌入式系统起源于半导体集成电路,该半导体集成电路分为晶体管和集成电路。20世纪70年代,集成电路产生了微处理器,微处理器是智能内核,它有两个功能,其一是运算处理功能,即高速海量的解算能力,它促使了计算机独立的飞速发展至今;其二是控制功能,嵌入式系统属控制功能,控制功能产生了微控制器,俗称单片机,它促使了嵌入式系统的独立发展至今。

20世纪70年代,微处理器的控制功能引起了控制专业人士研究兴趣,他们将微机嵌入到对象体系内,经过电气、机械加固,并配置各种外围接口,从而实现了对对象体系的智能化控制。这样此微机便失去了原来的形态和微型计算机功能,嵌入式计算机系统(简称嵌入式系统)由此而得名。由于嵌入式系统要求嵌入到对象器件内,体积要特小,功能要可靠,成本还要低,而计算机无法承担起对对象系统的智能化控制任务,所以嵌入式系统则走上了自己独立发展的单芯片化的道路。

微控制器也就是传统意义上的单片机。它的特点是体积小、结构简单、便于开发以及价格经济。它可以说是目前嵌入式系统的前身。单片机就是把对象所需要的主要功能集成到了一个芯片上,通常一个单片机芯片包含了运算处理单元、ARM、FLASH存储器以及一些外部接口等。通过外部接口可以输出或者输入信号,控制相应的设备,用户可以把编写好的代码烧写到单片机芯片内部来控制外部设备。单片机常被用在智能仪器、工业测量、办公自动化方面。如数字电表、公交IC刷卡系统、打印机等,内部都有单片机存在。

我们由嵌入式系统发展起源的历史看,嵌入式系统起源于半导体集成电路,它不是起源于计算机,所以它不是“专用计算机系统”,它是专用的智能化的控制系统。将嵌入式系统定义为“专用计算机系统”,不符合历史,混淆了二者的本质区别,因此不可取。

2.2 技术发展方向不同

嵌入式系统顾名思义,是要嵌入到对象体系中,与对象系统有机地结合,实现的是对对象系统的智能化控制。它有着与计算机完全不同的技术要求、技术发展方向。

嵌入式系统从形式上,要求该系统智能化、超小型;从功能上,要求功能可靠、功耗低、经济实惠;从应用的范围上,要面向市场、面向用户、面向对象、面向产品;从技术上,要求提高对对象的智能化控制能力、与对象密切相关的嵌入性能和控制的可靠性。

计算机系统从形式上,是要看得见、摸得着,不需要嵌入到别的器件内;从功能上,要求多处理功能;从技术上,要求的是高速海量的数值计算、总线速度的无限提升、存储容量的不断扩大。

所以我们说:嵌入式系统与计算机系统,技术要求、技术发展方向根本不同,不应定义为“专用计算机系统”。如果定义为“专用计算机系统”,就等于嵌入式系统的发展,要沿着计算机技术要求的发展道路走,这就等于束缚了嵌入式系统健康开放式的独立发展之路。

2.3 体系结构不同

嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统、用户应用程序4个部分组成,用于实现对其他设备的控制、监视和管理等功能。

嵌入式系统的经典体系结构有3个层次的软硬件,有4个通道接口,它的通道接口是为了嵌入到对象体系去,和对象体系产生4个界面。它的核心是嵌入式微处理器,这个处理器不是通用的计算机处理器。也就是说,二者采用的处理器是截然不同的。嵌入式外围功能扩展之后,形成了微控制器,其对象接口技术扩展,产生4个接口,形成了SoC整个片上结构,4个中断。其软件分为:指令系统、驱动软件、操作系统3部分。

我们从嵌入式系统体系结构看出:

① 二者的处理器不同。计算机是通用的处理器,嵌入式系统是面向特定应用的微处理器,它具有低功耗、体积小、集成度高等特点,有利于整个系统设计趋于小型化。

② 计算机是标准总线和外设,嵌入式总线和外部接口都集成在处理器内;计算机软硬件相对独立,嵌入式系统则是将软硬件紧密集成在一起,结构更紧凑;计算机系统偏重多功能处理设置,嵌入式系统重在对对象的控制能力设置。

所以说,嵌入式体系结构与计算机的体系结构是不同的。嵌入式系统体系结构是控制性的体系结构,不是计算机系统的处理型体系结构。结构不同,则性质全非,所以,嵌入式系统不能定义为“专用计算机系统”。

2.4 功能特点各异

① 嵌入式系统具有嵌入性、控制性,软硬件可根据对象需要来设置。计算机系统则不是这样。

② 嵌入式系统功能专一,即软硬件专门为某一特定应用系统而设计;计算机系统则是多功能处理。

③ 嵌入式系统结构紧凑:嵌入式系统中的软件一般不像计算机存储于磁盘等载体中,而都固化在存储器芯片或单片系统的存储器之中,这样使其结构特别紧凑,从而达到小体积、高效能、低成本、低功耗。计算机结构要求可大可小,大到台式,小到笔记本、手提电脑等;计算机的CPU要求严格,相比嵌入式系统的微处理器,一般价格昂贵,达不到嵌入式系统那样低成本、低功耗。嵌入式系统通常使用闪存(FLASH Memory)等作为存储介质,以提高速度、减小体积、降低功耗。而计算机通常使用磁盘这类具有大容量但速度较慢的存储介质。

④ 嵌入式系统智能灵活及实时性:就是要对不同的情况作出不同的反应,同时必须实时地给出计算的结果并进行实时控制,计算机在智能灵活性方面则比不上。

⑤ 嵌入式系统可靠性高,因为软件是固化的。例如,它无*侵害。计算机则不然,常常受*的攻击。所以嵌入式系统常常应用在人身设备安全、国家机密等重大事务上。

⑥ 计算机行业一般受技术垄断,例如计算机操作系统方面微软占居垄断地位。但嵌入式系统领域,不会出现这种情况。因为它是一个分散的,充满竞争、机遇与创新的领域,没有谁的操作系统和处理器能够垄断市场。

总而言之,嵌入式系统与计算机系统功能特点各异,二者不能混为一谈。

3 嵌入式系统不只以“计算机技术为基础”

嵌入式系统知识体系具有广泛性。它与微电子学科技术、计算机学科技术、电子学科技术与对象学科技术都密切相关。计算机技术在嵌入式系统中,承担着应用平台的构建任务,它包括嵌入式系统的集成开发环境、计算机工作方法、编程语言、程序设计方法等内容,它是构建嵌入式系统平台的重要基础之一,但并不是唯一。嵌入式系统还需要其他的技术支持。

微电子技术为嵌入式系统的应用提供了集成电路基础。电子技术提供电路设计技术。它将微电子领域的集成电路设计,迅速从电路集成、功能集成、技术集成发展到知识集成,为计算机技术提供嵌入式系统的硬件设计技术支持;对象学科技术是嵌入式系统的最终用户的技术学科。对象学科几乎囊括了所有的科技领域,形成了嵌入式系统一个无限大的应用领域。对象学科要在嵌入式系统平台上构建本领域的一个嵌入式应用系统。嵌入式应用系统的技术基础是对象学科的基础理论与应用环境、应用要求。同时,在应用中要不断给微电子、集成电路设计、嵌入式系统提出技术要求,以便不断提升嵌入式系统平台的技术水平。在对象学科中,广大的应用工程师在嵌入式软硬件平台上实现最广泛的应用。图2将嵌入式系统独立的知识技术体系归类。

201111010224998134.jpg

图2

从图2中可以看到,嵌入式系统是先进的计算机技术、半导体技术、微电子技术、电子技术以及各种具体应用相结合的产物,是技术密集、资金密集、高度分散、不断创新的新型集成知识系统。它以微电子学科、计算机学科、电子技术学科为构建平台基础,以对象学科技术为平台应用,并且各学科技术又相互联系、相互支持。嵌入式系统包容各家技术之长,吸取各专业之精华,形成自己独特的知识技术体系。

从以上分析可以看出,把嵌入式系统定义为“以计算机技术为基础”,缩小了嵌入式系统的外延范围,否定了各学科技术在嵌入式系统中的综合应用作用,不全面,带有一定的局限性,不利于嵌入式系统独特的学科体系建立。

4 总结

我们从嵌入式的发展起源、结构体系、功能特点、知识技术体系等方面,对嵌入式系统的定义进行了探讨分析,否定了嵌入式系统是“专用计算机系统”,及嵌入式系统是“以计算机技术为基础”的说法,发现嵌入式系统定义确实需要完善。我支持何立民教授的意见,将嵌入式系统定义完善为“嵌入式系统是以嵌入式微处理器为内核,以微电子技术、计算机技术、电子技术、对象技术为基础,软硬件可根据对象需要所设置,并且嵌入到对象器件内,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用智能化的控制系统。”这样使嵌入式系统不再受计算机系统的束缚,嵌入式系统能建立自己独立的学科体系,高校嵌入式系统教学走向独立正规化,嵌入式系统能独立健康地发展。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42295859/article/details/118866985

智能推荐

一个Demo学会用Android兼容包新控件_限量发行x的博客-程序员信息网_android surpport 新控件

一个Demo学会用Android兼容包新控件前言伟大的Google为Android推出了一系列的兼容包,最新的就是Design Support Library了,这里我们结合v7和v4中的几个控件,来主要学习Design Support Library中的几个新控件!一个Demo学会用它们!效果动图GIF:Design Support Library D

Python 2.7.9 Demo - 获取调用的参数_dongjizheng9270的博客-程序员信息网

#coding=utf-8#!/usr/bin/pythonimport sys;print("The command line parameters are : ");for i in range(0, len(sys.argv)) : print str(i) + ' -> ' + sys.argv[i];日志...

线性表---单链表(头结点与头指针)_爱橙子的OK绷的博客-程序员信息网

当链表的每个结点只包含一个指针域时,我们称此链表为单链表。关于单链表的存取,有时候我们在单链表的第一个结点(有效元素)之前附设一个结点,称之为头结点;指向头结点的指针,称之为头指针;对单链表的存取必须从头指针开始进行,由于单链表的最后一个数据元素没有直接后继,则指针为NULL。 对于头结点,数据域可以不存储任何信息,也可存储如链表长度等附加信息。下面是带头结点的单链表与空表的比较图。 头指针与头

Rasa聊天机器人(一):简介及环境搭建_Mr_不想起床的博客-程序员信息网

基本概念Rasa 是一个基于机器学习实现多轮对话的开源机器人框架,其中包含两个模块Rasa_core:github与Rasa_nlu:githubRasa-Nlu 是自然语言理解模型集合,主要包括意图识别,实体识别,它会把用户的输入转换为结构化的数据Rasa-Core 是一个对话管理的平台,它的工作是决定接下来机器该返回什么内容给用户,即实现与用户的交互逻辑开发语言:Python模型...

JAVA 赛码网|笔试时输入输出的控制_张小李的风的博客-程序员信息网

JAVA 笔试输入用例因为习惯了力扣的刷题模式,在刚刚接触互联网笔试的时候,被输入的控制搞得很头痛,尤其是说明有多个测试用例的时候,很容易只控制了单个测试用例,导致本来算法思路没问题,最后无法AC。两道例题,给自己做一个笔记。忽略题解,就输入控制可以参考。题目1import java.util.*;public class Main{public static void main(String[] args) { Scanner cin = new Scanner(System.in);

STM32单片机(八). ADC、DAC和DMA数据传输_流水过客的博客-程序员信息网_stm32 dac dma

对于STM32的ADC模数转换器的介绍以及配置在文章《STM32单片机(六). 传感器的使用》中已经详细介绍,在本章节中主要介绍DAC数模转换器以及DMA的使用。1、DAC转换1.1 数模转换器的介绍DAC(Digital to analog converter),数字模拟转换器,可以将数字信号转换为模拟信号。DAC可以输出电压模拟信号,用来去驱动其它器件。STM32F1中的DAC模块是由12位电压输出数模转换器,可以配置为8位或12位模式,也可以与DMA控制器配合使用。在12位模式下,数据可使用左对

随便推点

USB外接电源与锂电池自动切换电路设计_strongerHuang的博客-程序员信息网

关注、星标公众号,不错过精彩内容作者:瑞生,排版整理:晓宇微信公众号:芯片之家(ID:chiphome-dy)当我们的电路既可以由外部USB电源供电,也...

elementUI el-select中el-option中插入图片_Xv威的博客-程序员信息网_option 加图片

el-select中el-option中插入图片先看效果上代码<el-select v-model="form.promotionGroupStyle.id" style="width: 355px;" filterable clearable @change="QueryPromotionGroupStyle" > <el-option v-for="item in promotionGroupStyles" :key="item.id":label="item.name"

Flume_卑微前端汪的博客-程序员信息网

简介概述Flume是Cloudera公司开发的后来贡献给了Apache的一套用于进行日志的收集(collecting)、汇聚(aggregating)和传输(movlng)的机制在大数据中,有超过70%的数据来源是日志 - 日志是大数据的基石Flume版本:Flume0.X:Flume-og,配置结构复杂,并且对分布式支持不好Flume1.X:Flume-ng,配置结构进行简化,并且很好的支持分布式基本概念Event:事件Flume会将收集到的日志封装成Event对象,一

解决 jenkins 下使用 HTML Publisher 插件后查看 html 报告显示不正常 以 jmeter 报告为例_Jack_Chen3的博客-程序员信息网_jenkins重新htmlpublisher

文章转载自:https://testerhome.com/topics/9185jenkins 配置使用 html publisher 查看 jmeter html 报告时,发现显示不全,很多东西显示不了。项目配置:查看 html 报告异常(很多资源无法加载):控制台查看加载日志(与安全机制有关):在查看官方文档后,这原来是安全问题所导致的。Jenkins 安全默认是将以下功能都关闭了1、javascript2、html 上的内置插件3、内置 css 或从其它站的

Ubuntu16.04+Pycharm+Anaconda配置_JohnieLi的博客-程序员信息网

配置完Eclipse+pydev之后用了一段时间,其实感觉还是不错的。但是听学弟说Pycharm用起来更加爽,那试着换一个IDE试试。1. 下载https://www.jetbrains.com/pycharm/download/#section=linux 。 选择Linux,选择下载免费的Community。2. 安装PyCharm# 下载完之后,将安装包放到Dow...

不同路径(一个机器人位于一个 m x n 网格的左上角)_be_gin_ner的博客-程序员信息网

一个机器人位于一个m x n网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?示例1:输入: m = 3, n = 2输出: 3解释:从左上角开始,总共有 3 条路径可以到达右下角。1. 向右 -> 向右 -> 向下2....

推荐文章

热门文章

相关标签