系统架构师考试学习笔记第一篇——架构师设计基础(2)嵌入式基础知识

本课时,主要学习嵌入式系统的组成及特点、嵌入式系统的分类、嵌入式软件的组成及特点、嵌入式系统硬件体系结构、安全攸关软件的安全性设计等内容。根据考试大纲,本小时知识点会涉及单项选择题和案例分析题,本小时只关注选择题部分。按以往全国计算机技术与软件专业技术资格(水平)考试的出题规律约占5分。本小时内容属于基础知识范畴,除了书本上的知识以外,也涉及一些专业知识。本小时知识架构如图2.1所示。
图2.1

一、嵌入式系统的组成及特点

1、定义

嵌入式系统(Embedded System)是以特定应用为中心、以计算机技术为基础,并将可配置与可裁剪的软、硬件集成于一体的专用计算机系统。嵌入式系统的组成结构是:
(1)嵌入式处理器,除满足低功耗、体积小等需求外,工艺可分为民用、工业和军用等三个档次,民用级器件的工作温度范围是0-70℃、工业级的是-40-85℃、军用级的是-55-150℃。其应用环境常常非常恶劣,比如有高温、寒冷、电磁、震动、烟尘等环境因素。
(2)相关支撑硬件,指除处理器以外的其他硬件,如存储器、定时器、总线等。
(3)嵌入式操作系统,与通用操作系统不同,嵌入式操作系统应具备实时性、可裁剪性和安全性等特征。
(4)支撑软件,其中的公共服务通常运行在操作系统之上,以库的方式被应用软件所引用。
(5)应用软件,是指为完成嵌入式系统的某一专用目标所开发的软件。

2、嵌入式系统的特点

(1)专用性强,常常面向特定应用需求,配备多种传感器。(2)技术融合,将先进的计算机技术、通信技术、半导体技术和电子技术与各个行业的具体应用紧密结合难以拆分。
(3)软硬一体软件为主,在通用的嵌入式系统版本基础上裁剪冗余,高效设计。
(4)资源受限,由于低功耗、体积小和集成度高等要求,系统的资源非常少。
(5)程序代码固化在 ROM中,以提高执行速度和系统可靠性。
(6)需专门开发工具和环境,见第三点。
(7)体积小、价格低、工艺先进、性能价格比高、系统配置要求低、实时性强。
(8)对安全性和可靠性的要求高。

二、嵌人式系统的分类

1、分类

根据不同用途可将嵌入式系统划分为嵌入式实时系统和嵌入式非实时系统两种。而实时系统又可分为强实时(Hard Real-Time)系统和弱实时(WeakReal-Time)系统。从安全性要求看,入式系统还可分为安全攸关(Safety-Critical或Life-Critical)系统和非安全攸关系统。

2、实时系统

实时系统(Real-TimeSystem,RTS)是指能够在规定的时间内完成系统功能和做出响应的系统。

3、安全攸关系统

安全攸关系统(Safety-Critical System)是指其不正确的功能或者失效会导致人员伤亡、财产损失等严重后果的计算机系统。

三、嵌人式软件的组成及特点

1、基本概念

大多数嵌入式系统都具备实时特征,这种嵌入式系统的典型架构可概括为两种模式,即层次化模式架构和递归模式架构。嵌入式系统的最大特点就是系统的运行和开发是在不同环境中进行的,通常将运行环境称为“目标机”环境,称开发环境为“宿主机”环境,宿主机与目标机之间通过丰口、网络或 JTAG接口连接。由于宿主机和目标机的指令往往是不同的,嵌入式系统的开发通常需要交叉平台开发环境支持,基本开发工具是交叉编译器、交叉链接器和源代码调试器。还需要注意实时性、安全性和可靠性、代码规模、软/硬件协同工作的效率和稳定性、特定领域的需求等。

2、嵌入式系统的组成与特点

从细节上看,嵌入式系统可以分为:
(1)硬件层,包括处理器、存储器、总线、I/0 接口及电源、时钟等。
(2)抽象层,包括硬件抽象层(HAL),为上层应用(操作系统)提供虚拟的硬件资源:板级支持包(BSP),是一种硬件驱动软件,为上层操作系统提供对硬件进行管理的支持。
(3)操作系统层,由嵌入式操作系统、文件系统、图形用户接口、网络系统和通用组件等可配置模块组成。
(4)中间件层,是连接两个独立应用的桥梁,常用的有嵌入式数据库、OpenGL、消息中间件Java中间件、虚拟机(VM)、DDS/CORBA和Hadoop等。
(5)应用层,包括不同的应用软件。
嵌入式软件的主要特点有:
(1)可剪裁性:设计方法包括静态编译、动态库和控制函数流程实现功能控制等。
(2)可配置性:设计方法包括数据驱动、静态编译和配置表等。
(3)强实时性:设计方法包括表驱动、配置、静/动态结合、汇编语言等。
(4)安全性(Safety):设计方法包括编码标准、安全保障机制、FMECA(故障模式、影响及危害性分析)。
(5)可靠性:设计方法包括容错技术、余度技术和鲁棒性设计等。
(6)高确定性:设计方法包括静态分配资源、越界检查、状态机、静态任务调度等。综上所述,嵌入式软件的开发也与传统的软件开发方法差异较大。在嵌入式系统设计时,要进行低功耗设计。主要技术有编译优化技术、软件协同设计、算法优化。

四、嵌入式系统硬件体系结构

1、组成结构

传统的嵌入式系统主要由嵌入式微处理器、存储器、总线逻辑、定时/计数器、看门狗电路UO接口和外部设备等部件组成。

2、嵌入式微处理器分类

(1)微处理器(Microprocessor Unit,MPU):微处理器+专门设计的电路板,集成度低、可靠性高,主要有:Am186/88、386EX、SC-400、PowerPC、68000、MIPS、ARM系列等。
(2)微控制器(MicrocontrollerUnit,MCU):又称单片机,把核心存储器和部分外设封装在片内。优点是单片化、体积小、功耗和成本下降,可靠性提高。包括8501,P5IXA,MCS-251,MCS-96/196/296,C166/167,MC68HC05/11/12/16,68300和数目众多的ARM系列。
(3)数字信号处理器(DigitalSignalPiocessing,DSP):采用哈佛结构,对系统结构和指令进行了特殊设计,适合执行大量数据处理。包括TMS320系列(含C2000、C5000、C6000、C8000系列)、DSP56000系列、实时 DSP 处理器等。
(4)图形处理器(Graphics Processing Unit,GPU):与 CPU 相比大幅加强了浮点运算能力和多核并行计算能力,因此常用于 AI技术的深度学习的数据运算。
(5)片上系统(SystemonChip,SoC):由多个具有特定功能的集成电路组合在一个芯片上形成的系统或产品,其中包含完整的硬件系统,如处理器、IP(IntellectualProperty)核、存储器等及其承载的嵌入式软件,如操作系统和定制的用户软件。

3、存储器分类

(1)随机存取存储器(RandomAccessMemory,RAM)。工作需要持续电力提供,可随机读写。
1)动态随机存取存储器(Dynamic RAM,DRAM),采用电容存储信息,优点是集成度高、容量大、成本低,缺点是访问速度较慢、需要定期刷新。常作主存。
2)静态随机存取存储器(StaticRAM,SRAM),采用多个晶体管自锁的方式保存状态,优点是访问速度快、不需要刷新,缺点是集成度低、容量小、成本高。常用作高速缓存。
(2)只读存储器(Read Only Memory,ROM),存储的数据不会因掉电而丢失,读取的速度比 RAM 快,常见的有以下几种:
1)掩膜型只读存储器(Mask Programmed ROM,MROM),优点是通过掩膜大批量制造、成本低,缺点是同批数据全部一致且不可修改,只适合大批量生产。
2)可编程只读存储器(Programmabe ROM,PROM),可以用专用编程设备一次性烧录数据适合少量制造。
3)可擦可编程只读存储器(Erasable ProgrammableROM,EPROM),优点是写入的数据可以通过紫外线擦除重写。
4)电可擦可编程只读存储器(Elcctrically Erasable programmable ROM,EEPROM),优点是写入的数据可以通过电压来清除,但是清除的速度很慢。
5)快闪存储器(Flash Memory),优点是可以联机擦写数据且擦写的次数多、速度快,缺点是读取的速度慢(相对其他 ROM的速度而言)。
(3)内(外)总线逻辑。
1)根据传输的信息种类分类,可分为以下几种。
①数据总线,用于传送需要处理或者需要存储的数据。
②地址总线,用于指定在 RAM 之中存储的数据的地址。
③控制总线,将微处理器控制单元的信号传送到周边设备。
2)根据连接部件分类,可分为以下几种。
①片内总线,连接芯片内部各元件。
②系统总线或板级总线,连接计算机系统的核心组件。
③局部总线,连接局部少数组件。
④通信总线,主机连接外设的总线。
各类总线在嵌入式系统的位置如图2.2所示。
图2.2

3)按照数据传输的方向,总线可以分为单工总线和双工总线。单工总线只能从一端向另一端传输而不能反向;双工总线能在两个方向传输。双工总线又分为半双工总线和全双工总线。半双工总线只能轮流向两个方向传输;全双工总线可以同时在两个方向传输。
4)按照总线使用的信号类型,总线可以分为并行总线和串行总线。并行总线包含多位传输线,在同一时刻可以传输多位数据,但一致性要求高,传输距离较近;而串行总线只使用一位传输线,同一时刻只传输一位数据,但距离可以较远。
(4)看门狗电路,是嵌入式系统必须具备的一种系统恢复能力,可防止程序出错或者死锁主要由输入端、寄存器、计数器和狗叫模块构成。通过寄存器对看门狗进行基本设置,计数器计算狗叫时间,狗叫模块决定看门狗超时后发出的中断或复位方式。程序正常运行时 MCU 会在输入端定期“喂狗”,超时不“喂狗”就会触发狗叫模块,一般是重启 MCU。

五、安全攸关软件的安全性设计

1、定义

IEEE 定义安全攸关软件是“用于一个系统中,可能导致不可接受的风险的软件”。

2、DO-178B 标准

该标准的目的是为制造机载系统和设备的机载软件提供指导,使其能够提供在满足符合适航要求的安全性水平下完成预期功能。DO-178B 标准将软件生命周期分为“软件计划过程”“软件开发过程”和“软件综合过程”,其中软件开发过程细分为软件需求过程、软件设计过程、软件编码过程和集成过程4个子过程;软件综合过程细分为软件验证过程、软件配置管理过程、软件质量保证过程、审定联络过程4个子过程。DO-178B 根据软件在系统中的重要程度将软件的安全等级分为A~E五级,分别对应灾难级(A)、危害级(B)、严重级©、不严重级(D)和没有影响级(E)

六、课后练习

1.在嵌入式系统的存储部件中,存取速度最快的是( )。

A.内存
B.寄存器组
C.Flash
D.Cache

2.以下关于嵌入式系统硬件抽象层的叙述,错误的是( )。

A.硬件抽象层与硬件密切相关,可对操作系统隐藏硬件的多样性
B.硬件抽象层将操作系统与硬件平台隔开
C.硬件抽象层使软硬件的设计与调试可以并行
D.硬件抽象层应包括设备驱动程序和任务调度

3.以下描述中,( )不是嵌入式操作系统的特点。

A.面向应用,可以进行裁剪和移植
B.用于特定领域,不需要支持多任务
C.可靠性高,无须人工干预独立运行,并处理各类事件和故障
D、要求编码体积小,能够在嵌入式系统的有效存储空间内运行

4.嵌入式系统设计一般要考虑低功耗,软件设计也要考虑低功耗设计,软件低功耗设计一般采用( )。

A.结构优化、编译优化和代码优化
B.软硬件协同设计、开发过程优化和环境设计优化
C.轻量级操作系统、算法优化和仿真实验县出财单交热会系所唤小本大群射
D.编译优化技术、软硬件协同设计和算法优化

5.以下关于嵌入式系统开发的叙述,正确的是( )。

A.宿主机与目标机之间只需要建立逻辑连接
B.宿主机与目标机之间只能采用串口通信方式
C.在宿主机上必须采用交叉编译器来生成目标机的可执行代码
D.调试器与被调试程序必须安装在同一台机器上

答案解析:

1、解析:存储速度从快到慢分别是:寄存器组、Cache、内存、Flash。
答案:B

2、解析:硬件抽象层是位于操作系统内核与硬件电路之间的接口层,其目的在于将硬件抽象化。它隐藏了特定平台的硬件接口细节,为操作系统提供虚拟硬件平台,使其具有硬件无关性,可在多种平台上进行移植。在基于硬件抽象层的开发中,软硬件的设计和调试具有无关性,并可完全地并行进行。硬件的错误不会影响到系统软件的调试,同样,软件设计的错误也不会影响硬件。
答案:D

3、解析:嵌入式操作系统是应用于嵌入式系统,实现软硬件资源的分配,任务调度,控制、协调并发活动等的操作系统软件。它除了具有一般操作系统最基本的功能如多任务调度、同步机制等之外,通常还会具备以下适用于嵌入式系统的特性:面向应用,可以进行检查和移植,以支持开放性和可伸缩性的体系结构;强实时性,以适应各种控制设备及系统;硬件适用性,对于不同硬件平台提供有效的支持并实现统一的设备驱动接口;高可靠性,运行时无须用户过多干预,并处理各类事件和故障;编码体积小,通常会固化在嵌入式系统有限的存储单元中。
答案:B

4、解析:软件设计层面的功耗控制可以从以下几个方面展开:
(1)软硬件协同设计,即软件的设计要与硬件的匹配,考虑硬件因素。
(2)编译优化,采用低功耗优化的编译技术。
(3)减少系统的持续运行时间,可从算法角度进行优化。
(4)用“中断”代替“查询”。
推剜交
(5)进行电源的有效管理。
答案:D

5、解析:在嵌入式系统开发中,由于嵌入式设备不具备足够的处理器能力和存储空间,程序开发一般用 PC(宿主机)来完成,然后将可执行文件下载到嵌入式系统(目标机)中运行。当宿主机与目标机的机器指令不同时,就需要交叉工具链(指编译、汇编、链接等一整套工具)。
答案:C

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SheldonK

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值