1 嵌入式系统简介
1.1 嵌入式系统的定义
根据美国电气与电子工程师学会(IEEE:Institute of Electrical and Electronics Engineers )的定义,嵌入式系统是用于控制、监视或辅助操作机器和设备的装置(原文: devices used to control, monitor, or assist the operation of equipment, machinery or plants)。需指出的是,本定义并不能充分体现嵌入式系统的精髓,嵌入式系统的概念根本上应该从应用的角度予以阐述。
在国内的纵多嵌入式网站和相关书籍中,一般认为嵌入式系统是以应用为中心,以计算机技术为基础,并且软/硬件可裁剪,可满足应用系统对功能、可靠性、成本、体积和功耗有严格要求的专用计算机系统。
嵌入式系统就是嵌入到对象体中的专用计算机系统,三要素:==嵌入性、专用性、专用性
嵌入性 | 专用性 | 专用性 |
---|---|---|
嵌入到对象体系中,有对象环境要求 | 软、硬件按对象要求裁减 | 实现对象的智能化功能 |
1.2 嵌入式系统的特征
与通用计算机系统相比,嵌入式系统具有以下几个重要特征:
- 面向特定应用:具有功耗低、体积小、集成度高等特点。
- 硬件和软件都必须高效率地设计,量体裁衣:力争在同样的硅片面积上实现更高的性能,这样才能完成功能、可靠性和功耗的苛刻要求。
- 实时操作系统支持。尽管嵌入式系统的应用程序可以不需要操作系统的支持就能直接运行,但是为了合理地调度多任务,充分利用系统资源,用户可以自行选配实时操作系统开发平台。
- 嵌入式系统与具体应用有机地结合在一起,升级换代也是同步地进行。因此嵌入式系统产品一旦进入市场,具有较长的生命周期。
- 为了提高运行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片中。
- 专门开发工具的支持。嵌入式系统本身不具备自主开发能力,即使在设计完成以后,用户通常也不能对程序功能进行修改,必须有一套开发工具和环境才能进行嵌入式系统开发。
1.3 嵌入式系统的组成
[[嵌入式系统的组成]]
2 嵌入式微处理器
嵌入式微处理器是嵌入式系统的核心。嵌入式微处理器通常把通用PC机中许多由板卡完成的任务集成到芯片内部,这样可以大幅减小系统的体积和功耗,具有重量轻、成本低、可靠性高等优点。由于嵌入式系统通常应用于比较恶劣的工作环境中,因此嵌入式微处理器在工作温度、电磁兼容性(EMC: ElectroMagnetic Compatibility )及可靠性要求方面比通用的标准微处理器要高。嵌入式微处理器可按数据总线宽度划分为8位、16位、32位和64位等不同类型,目前比较流行的有Power PC、MC68000、MIPS、ARM等。
2.1 嵌入式微处理器的体系结构
嵌入式微处理器的体系结构可以采用冯·诺依曼体系结构或哈佛体系结构,指令系统可以选用精简指令集系统(Reduced Instruction Set Computer,RISC)或复杂指令集系统(Complex Instruction Set Computer, CISC)。
冯·诺依曼体系结构 | 哈佛结构 |
---|---|
冯·诺依曼结构的计算机由CPU和存储器构成,其程序和数据共用一个存储空间,程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置;采用单一的地址及数据总线,程序指令和数据的宽度相同。 | 哈佛(Harvard)结构的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编址、独立访问。系统中具有程序的数据总线与地址总线,数据的数据总线与地址总线。这种分离的程序总线和数据总线可允许在一个机器周期内同时获取指令字(来自程序存储器)和操作数(来自数据存储器),从而提高执行速度,提高数据的吞吐率。 |
2.2 精简指令集计算机
早期的计算机采用复杂指令集计算机(CISC)体系,如Intel公司的80x86系列CPU,从8086到Pentium系列,采用的都是典型的CISC体系结构。采用CISC体系结构的计算机各种指令的使用频率相差悬殊,统计表明,大概有20%的比较简单的指令被反复使用,使用量约占整个程序的80%;而有80%左右的指令则很少使用,其使用量约占整个程序的20%,即指令的2/8规律。在CISC中,为了支持目标程序的优化,支持高级语言和编译程序,增加了许多复杂的指令,用一条指令来代替一串指令。通过增强指令系统的功能,简化软件,却增加了硬件的复杂程度。而这些复杂指令并不等于有利于缩短程序的执行时间。在VLSI制造工艺中要求CPU控制逻辑具有规整性,而CISC为了实现大量复杂的指令,控制逻辑极不规整,给VLSI工艺造成很大困难。
精简指令集计算机(Reduced Instruction Set Computer,RISC)体系结构于20世纪80年代提出,RISC是在CISC的基础上产生并发展起来的。RISC的着眼点不是简单地放在简化指令系统上,而是通过简化指令系统使计算机的结构更加简单合理,从而提高运算效率。在RISC中,优先选取使用频率最高的、很有用但不复杂的指令,避免使用复杂指令;固定指令长度,减少指令格式和寻址方式种类; 指令之间各字段的划分比较一致,各字段的功能也比较规整;采用Load/Store指令访问存储器,其余指令的操作都在寄存器之间进行;增加CPU中通用寄存器数量,算术逻辑运算指令的操作数都在通用寄存器中存取;大部分指令控制在一个或小于一个机器周期内完成;以硬布线控制逻辑为主,不用或少用微码控制;采用高级语言编程,重视编译优化工作,以减少程序执行时间。
2.3 设计制造微处理器的典型技术
复杂指令集计算机(CISC)和精简指令集计算机(RISC)是目前设计制造微处理器的两种典型技术,为了达到相应的技术性能,所采用的方法有所不同。
RISC | CISC | |
---|---|---|
指令系统 | RISC设计者把主要精力放在那些经常使用的指令上,尽量使它们具有简单高效的特色。对不常用的功能,常通过组合指令来实现。 | 而CISC的指令系统比较丰富,有专用指令来 |