【系统架构设计师】四、嵌入式基础知识(体系结构|嵌入式系统|多核处理器)

目录

一、嵌入式微处理体系结构

1.1 冯诺依曼结构

1.2 哈佛结构

二、嵌入式系统

2.1 定义

2.2 嵌入式系统特性

三、嵌入式系统的分类

四、嵌入式系统

4.1 嵌入式数据库系统EDBMS

4.1.1.使用环境的特点

4.1.2 系统组成

4.2 嵌入式操作系统EOS

4.3 嵌入式实时操作系统(RTOS)

五、多核处理器

5.1个或多个内核工作协调实现方式

5.2 多核CPU的调度

六、真题练习


一、嵌入式微处理体系结构

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之间切换。

六、历年真题练习

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

A.内存 B.寄存器组 C.Flash D.Cache
  • 6.2 嵌入式系统设计一般要考虑低功耗,软件设计也要考虑低功耗设计,软件低功耗设计一般采用( )。

    • A.结构优化、编译优化和代码优化

    • B.软硬件协同设计、开发过程优化和环境设计优化

    • C.轻量级操作系统、算法优化和仿真实验

    • D.编译优化技术、软硬件协同设计和算法优化 答案

答案

  • 6.1 B

    • 解析:存储速度从快到慢分别是:寄存器组、Cache、内存、Flash

  • 6.2 D

    • 解析:软件设计层面的功耗控制可以从以下几个方面展开:
      • (1)软硬件协同设计,即软件的设计要与硬件的匹配,考虑硬件因素。

      • (2)编译优化,采用低功耗优化的编译技术。

      • (3)减少系统的持续运行时间,可从算法角度进行优化。

      • (4)用“中断”代替“查询”。

      • (5)进行电源的有效管理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/31213.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何通过自定义模块DIY出专属个性化的CSDN主页?一招教你搞定!

个人主页:学习前端的小z 个人专栏:HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结,欢迎大家在评论区交流讨论! 文章目录 💯如何通过HTMLCSS自定义模板diy出自己的个性化csdn主页&#x…

Git回滚和撤销---吃上后悔药、坐上时光机

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点 提交分3步:add、commit、push,回滚和撤销也分3种情况: 撤销add撤销commit回滚push,也就是回滚远…

哈尔滨等保的定级备案

哈尔滨等保的定级备案是确保信息安全,保障国家和人民利益的重要措施。在当前信息化社会,信息安全已成为国家发展的重要支撑,哈尔滨等保的定级备案工作显得尤为关键。本文将从哈尔滨等保定级备案的背景、定级标准、备案流程、实施意义等方面进…

Electron快速入门(一):用VS Code快速创建html+js+css编写的项目

创建一个文件夹(例如:start或者create-electron 都是小写英文字母有的插件才不会报错),并进入该文件夹,打开 vscode创建3个文件: 1. 名为 main.js 的文件是主进程 // main.js//用于控制应用程序寿命和创建…

如何把模糊的图片修复变清晰,怎么做?有那些方法?

模糊照片怎么修复清晰?有些照片可能会因为保存不当或其他原因而变得模糊,这些照片删掉又觉得可惜,那么如何让这些照片焕然一新呢?今天就给大家分享几种可以将这些珍贵的模糊照片修复为高清照片的方法。接下来,给大家演…

WPF——Binding

一、作用 将Window GUI的运行机理从 “事件驱动” 转变为 “数据驱动”。将UI界面与业务逻辑解耦,使得改动一个而无需改动另一个。数据逻辑层自成体系,使得无需借助UI也可进行单元测试。 二、基础 1. Binding源模板 Binding包括源与目标,源…

揭示数据库内核的奥秘--手写数据库toadb开源项目

揭示数据库内核的奥秘–手写数据库toadb 数据为王的时代 在信息化时代,数据已成为企业和应用不可或缺的核心,而数据库不仅是数据的仓库,更是支撑业务决策、系统运行的基石。对于求职者而言,掌握数据库知识已成为求职市场上的必考…

MinIO Enterprise Cache:实现超性能的分布式 DRAM 缓存

随着计算世界的发展和 DRAM 价格的暴跌,我们发现服务器配置通常配备 500GB 或更多的 DRAM。当您处理大型部署时,即使是那些具有超高密度 NVMe 驱动器的部署,这些服务器上的服务器数量乘以 DRAM 也会迅速增加,通常达到几 TB。该 DR…

详细分析Oracle日期和时间的基本命令

目录 1. 基本类型2. 常用函数3. Demo 1. 基本类型 Oracle支持不同的日期格式模型,其中包括: ISO 8601: YYYY-MM-DDTHH:MI:SS,例如2024-06-20T14:30:00Oracle内部格式: DD-MON-YYYY HH:MI:SS AM,例如20-JUN-2024 02:30:00 PM DA…

【Golang - 90天从新手到大师】Day11 - 包的管理

系列文章合集 Golang - 90天从新手到大师 Go语言中包的使用 Go语言使用包(package)这种语法元素来组织源码,所有语法可见性均定义在package这个级别,与Java 、python等语言相比,这算不上什么创新,但与C传…

大型语言模型在AMD GPU上的推理优化

Large language model inference optimizations on AMD GPUs — ROCm Blogs 大型语言模型(LLMs)已经改变了自然语言处理和理解,促进了在多个领域中的众多人工智能应用。LLMs在包括AI助手、聊天机器人、编程、游戏、学习、搜索和推荐系统在内的…

Linux管道与重定向

管道 是进程通信的方法之一,在Linux中用命令1|命令2的形式表示,将前一个命令的结果作为后续命令的参数进行输入,也有tee管道,可以进行多次筛选,即多次使用|过滤命令。 重定向 文件描述符FD Linux中输入输出分为三种…

基于AT32_Work_Bench配置AT32工程

基于AT32_Work_Bench配置AT32工程 ✨AT32_Work_Bench工具是用来给AT32 MCU快速构建外设初始化工程软件,类似STM32的STM32CubeMX工具软件。 📍AT32 TOOL系列工具下载地址:https://www.arterytek.com/cn/support/index.jsp?index4&#x1f3f7…

INFINI Labs 助力开源与教育:免费许可证计划全面升级

在数字化浪潮席卷全球的今天,INFINI Labs 深刻认识到开源项目和教育机构在技术创新与人才培养中的核心作用。因此,我们郑重推出全新升级的免费许可证计划,旨在全球范围内为开源社区和教育界提供有力支持,共同推动软件生态的繁荣与…

什么是数据库?从零开始了解数据库基础概念

什么是数据库?从零开始了解数据库基础概念 相信大家在日常生活中都听到过大数据,数据这个东西越来越火,比如交通大数据、旅游大数据等,,,数据成为了企业决策和业务运作的关键元素。而管理这些庞大而复杂的…

nginx出现504 Gateway Time-out错误的原因分析及解决

nginx出现504 Gateway Time-out错误的原因分析及解决 1、查看公网带宽是否被打满 2、查看网络是否有波动(可以在nginx上ping后端服务,看是否有丢包情况) 3、查看服务器资源使用情况(cpu、内存、磁盘、网络等) 4、查看nginx日志,具体到哪个服务的哪个…

如何利用AI大模型设计电机本体?

一、背景 AI在电机本体设计中的应用正逐渐成为提升设计效率、优化性能和降低成本的重要手段。通过深度学习、机器学习、计算机辅助设计(CAD)和仿真技术的结合,AI能够帮助工程师更快速准确地完成电机的设计与优化工作。以下是AI在电机本体设计…

02_02_SpringMVC基于注解的应用

一、请求处理 1、常用注解 RequestMapping 作用:用来匹配客户端发送的请求(用来处理URL映射,将请求映射到处理方法中),可以在类或者方法上使用。 用在类上,可以将请求模块化,避免请求方法中的…

网络编程(二)TCP编程 TCP粘包问题

文章目录 一、TCP网络编程(一)流程(二)相关函数1. socket2. bind3. listen4. accept5. connect 二、收发函数(一)send函数(二)recv函数 三、TCP粘包问题(一)将…

详细分析Matplotlib 绘制三维曲线图的细节(附Demo)

目录 前言1. 基本知识2. Demo 前言 对于Matplotlib的基本知识推荐阅读:python之Matplotlib详细分析(附代码) 1. 基本知识 Matplotlib 是 Python 中常用的绘图库,可以用于生成各种类型的图表,包括三维曲线图 在三维…