【系统架构设计师】四、嵌入式基础知识(体系结构|嵌入式系统|多核处理器)
一、嵌入式微处理体系结构
1.1 冯诺依曼结构
传统计算机采用冯·诺依曼(Von Neumann)结构,也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。
冯·诺依曼结构的计算机程序和数据共用一个存储空间,程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置。
采用单一的地址及数据总线,程序指令和数据的宽度相同。
处理器执行指令时,先从储存器中取出指令解码,再取操作数执行运算,即使单条指令也要耗费儿个甚至几十个周期,在高速运算时,在传输通道上会出现瓶颈效应。
1.2 哈佛结构
哈佛结构是一种并行体系结构,它的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独立的存储器每个存储器独立编址、独立访问。
与两个存储器相对应的是系统中的两套独立的地址总线和数据总线。
这种分离的程序总线和数据总线可允许在一个机器周期内同时获取指令字(来自程序存储器)和操作数(来自数据存储器),从而提高了执行速度,使数据的吞吐率提高了1倍。
二、嵌入式系统
2.1 定义
嵌人式系统(Embedded System)是以特定应用为中心、以计算机技术为基础,并将可配置与裁剪的软、硬件集成于一体的专用计算机系统。嵌入式系统的组成:一般嵌入式系统由嵌入式处理器、相关支撑硬件、嵌入式操作系统、支撑软件、以及应用软件组成。
-
1.嵌入式处理器。由于嵌入式系统一般是在恶劣的环境条件下工作,与一般处理器相比,嵌入式处理器应可抵抗恶劣环境的影响,比如高温、寒冷、电磁、加速度等环境因素。为适应恶劣环境,嵌入式处理器芯片除满足低功耗、体积小等需求外,根据不同环境需求,其工艺可分为民用、工业和军用等三个档次。
-
2.相关支撑硬件。相关支撑硬件是指除嵌入式处理器以外的构成系统的其他硬件,包括存储器定时器、总线、I/O接口以及相关专用硬件。
-
3.嵌入式操作系统。嵌入式操作系统是指运行在嵌入式系统中的基础软件,主要用于管理计算机资源和应用软件。与通用操作系统不同,嵌入式操作系统应具备实时性、可剪裁性和安全性等特征
-
4.支撑软件。支撑软件是指为应用软件开发与运行提供公共服务、软件开发调试能力的软件支撑软件的公共服务通常运行在操作系统之上,以库的方式被应用软件所引用。
-
5.应用软件。应用软件是指为完成嵌入式系统的某一特定目标所开发的软件。
2.2 嵌入式系统特性
-
1.专用性强。嵌入式系统面向特定应用需求,能够把通用CPU 中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统的小型化。
-
2.技术融合。嵌入式系统将先进的计算机技术、通信技术、半导体技术和电子技术与各个行业的具体应用相结合,是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。
-
3.软硬一体软件为主.软件是嵌入式系统的主体,有 IP 核。嵌入式系统的硬件和软件都可以高效地设计,量体裁衣,去除兄余,可以在同样的硅片面积上实现更高的性能。
-
4.比通用计算机资源少。由于嵌入式系统通常只完成少数几个任务。设计时考虑到其经济性,不能使用通用CPU,这就意味着管理的资源少,成本低,结构更简单。
-
5.程序代码固化在非易失存储器中。为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存在磁盘中。
-
6.需专门开发工具和环境.嵌入式系统本身不具备开发能力,即使设计完成以后,用户通常也不能对其中的程序功能进行修改,必须有一套开发工具和环境才能进行开发。
-
7.体积小、价格低、工艺先进性能价格比高、系统配置要求低、实时性强。
-
8.对安全性和可靠性的要求高。
三、嵌入式系统的分类
根据不同用途可将嵌入式系统划分为嵌入式实时系统和嵌入式非实时系统两种。而实时系统又可分为强实时(Hard Real-Time)系统和弱实时(Weak Real-Time)系统。
-
实时系统(Real-Time System,RTS)是指能够在规定的时间内完成系统功能和做出响应的系统。
从安全性要求看,嵌入式系统还可分为安全攸关(Safety-Critical 或 Life-Critical)系统和非安全攸关系统。
-
安全攸关系统(Safety-Critical System)是指其不正确的功能或者失效会导致人员伤亡、财产损失等严重后果的计算机系统。
DO-178B 根据软件在系统中的重要程度将软件的安全等级分为 A~E 五级,分别对应灾难级(A)、危害级(B)、严重级(C)、不严重级(D)和没有影响级(E)。
四、嵌入式系统
大多数嵌入式系统都具备实时特征,这种嵌入式系统的典型架构可概括为两种模式,即层次化模式架构和递归模式架构。
嵌入式系统分为硬件层、抽象层、操作系统层、中间件层和应用层等5 层:
-
1.硬件层。硬件层主要是为嵌入式系统提供运行支撑的硬件环境,其核心是微处理器、存储器(ROM、SDRAM、Flash 等)、I/O接口(A/D、D/A、I/O 等)和通用设备以及总线、电源、时钟等。
-
2.抽象层。在硬件层和软件层之间为抽象层,包括硬件抽象层(HAL),为上层应用(操作系统)提供虚拟的硬件资源;板级支持包(BSP),是一种硬件驱动软件,为上层操作系统提供对硬件进行管理的支持
-
3.操作系统层。操作系统层主要由嵌入式操作系统、文件系统、图形用户接口、网络系统和通用组件等可配置模块组成。
-
4.中间件层。中间件层一般位于操作系统之上,管理计算机资源和网络通信,中间件层是连接两个独立应用的桥梁。
-
5.应用层。应用层是指嵌入式系统的具体应用,主要包括不同的应用软件。
嵌入式软件的主要特点有:
-
1.可剪裁性:设计方法包括静态编译、动态库和控制函数流程实现功能控制等。
-
2.可配置性:设计方法包括数据驱动、静态编译和配置表等。
-
3.强实时性:设计方法包括表驱动、配置、静/动态结合、汇编语言等。
-
4.安全性(Safety):设计方法包括编码标准、安全保障机制、FMECA(故障模式、影响及危害性分析)。
-
5.可靠性:设计方法包括容错技术、余度技术和鲁棒性设计等。
-
6.高确定性:设计方法包括静态分配资源、越界检查、状态机、静态任务调度等。
综上所述,嵌入式软件的开发也与传统的软件开发方法差异较大。在嵌入式系统设计时,要进行低功耗设计。主要技术有编译优化技术、软硬件协同设计、算法优化。
4.1 嵌入式数据库系统EDBMS
4.1.1.使用环境的特点
-
1.设备随时移动性。嵌入式数据库主要用在移动信息设备上,设备的位置经常随使用者一起移动。
-
2.网络频繁断接。移动设备或移动终端在使用的过程中,受多方面影响,一般并不持续保持网络连接,而是经常主动或被动地间歇性断接和连接。
-
3.网络条件多样化。由于移动信息设备位置的经常变化,导致它们与数据库服务器在不同的时间可能通过不同的网络系统连接,这些网络在带宽、通信代价、网络延迟和QoS 等方面可能有所差异。
-
4.通信能力不对称。由于受到移动设备资的源限制,移动设备与服务器之间的网络通信能力是非对称的。
4.1.2 系统组成
一个完整的EDBMS 由若干子系统组成,包括主数据库、同步服务器、嵌入式数据库和连接网络等几个子系统;
嵌入式移动数据库在实际应用中必须解决好数据的一致性(复制性)、高效的事务处理和数据的安全性等关键问题,
4.2 嵌入式操作系统EOS
与通用操作系统相比,EOS主要有以下特点:
-
1.微型化。EOS 的运行平台不是通用计算机,而是嵌入式系统。这类系统-般没有大容量的内存,几乎没有外存,因此,EOS必须做得小巧,以占用尽量少的系统资源。
-
2.代码质量高。在大多数嵌入式应用中,存储空间依然是宝贵的资源,这就要求程序代码的质量要高,代码要尽量精简。
-
3.专业化。嵌入式系统的硬件平台多种多样,处理器的更新速度快1,每种处理器都是针对不同的应用领域而专门设计的。因此,EOS要有很好适应性和移植性,还要支持多种开发平台。
-
4.实时性强。嵌入式系统广泛应用于过程控制、数据采集、通信、多媒体信息处理等要求实时响应的场合,因此,实时性成为EOS的又一特点。
-
5.可裁减和可配置。应用的多样性要求EOS具有较强的适应能力,能够根据应用的特点和具体要求进行灵活配置和合理裁减,以适应微型化和专业化的要求。
4.3 嵌入式实时操作系统(RTOS)
嵌入式实时系统是一种完全嵌入受控器件内部,为特定应用而设计的专用计算机系统。在嵌入式实时系统中,要求系统在投入运行前即具有确定性和可预测性。
-
可预测性是指系统在运行之前,其功能、响应特性和执行结果是可预测的,
-
确定性是指系统在给定的初始状态和输入条件下,在确定的时间内给出确定的结果。
实时操作系统(RTOS)的特点是当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,并控制所有实时任务协调一致运行。因而,提供及时响应和高可靠性是其主要特点。
实时操作系统有硬实时和软实时之分:
-
硬实时要求在规定的时间内必须完成操作,这是在操作系统设计时保证的;
-
软实时则只要按照任务的优先级,尽可能快地完成操作即可。
实时操作系统的特征:
-
1.高精度计时系统:计时精度是影响实时性的一个重要因素在实时应用系统中,经常需要精确确定实时地操作某个设备或执行某个任务,或精确的计算一个时间函数。这些不仅依赖于一些硬件提供的时钟精度,也依赖于实时操作系统实现的高精度计时功能。
-
2.多级中断机制:一个实时应用系统通常需要处理多种外部信息或事件,但处理的紧迫程度有轻重缓急之分。有的必须立即作出反应,有的则可以延后处理。因此,需要建立多级中断嵌套处理机制,以确保对紧迫程度较高的实时事件进行及时响应和处理。
-
3.实时调度机制:实时操作系统不仅要及时响应实时事件中断,同时也要及时调度运行实时任务但是,处理机调度并不能随心所欲的进行,因为涉及到两个进程之间的切换,只能在确保“安全切换”的时间点上进行,实时调度机制包括两个方面,一是在调度策略和算法上保证优先调度实时任务;二是建立更多“安全切换”时间点,保证及时调度实时任务。
五、多核处理器
多核指多个微处理器内核,是将两个或更多的微处理器封装在一起,集成在一个电路中。多核处理器是单枚芯片,能够直接插入单一的处理器插槽中。多核与多CPU相比,很好的降低了计算机系统的功耗和体积。在多核技术中,由操作系统软件进行调度,多进程,多线程并发都可以。
5.1个或多个内核工作协调实现方式
-
对称多处理技术SMP:将2颗完全一样的处理器封装在一个芯片内,达到双倍或接近双倍的处理性能,节省运算资源。
-
非对称处理技术AMP:2个处理内核彼此不同,各自处理和执行特定的功能,在软件的协调下分担不同的计算任务。
5.2 多核CPU的调度
- 多核CPU环境下进程的调度算法一般有全局队列调度和局部队列调度两种:
-
全局队列调度是指操作系统维护一个全局的任务等待队列,当系统中有一个CPU空闲时操作系统就从全局任务等待队列中选取就绪任务开始执行,CPU核心利用率高。
-
局部队列调度是操作系统为每个CPU内核维护一个局部的任务等待队列,当系统中有就从该核心的任务等待队列中选取适当的任务执行,优点是无需个CPU内核空闲时,在多个CPU之间切换。
-
- 点赞
- 收藏
- 关注作者
评论(0)