四、嵌入式技术(考点篇)试题(1)_嵌入式

我选择C,实际答案选B,答案给出的理由是,SoC是片上系统,包含完整系统和嵌入式软件全部内容,B的说法有点片面。

四、嵌入式技术(考点篇)试题(1)_数据_02

明显选C,嵌入式跟通用性不太沾边。

嵌入式OS特征:裁剪配置安全可靠实时高确定,另外加入实时性:高精计时、多级中断、实时调度

四、嵌入式技术(考点篇)试题(1)_调度算法_03

选C,NDB这个是用于嵌入式设备的数据库,那么涉及到嵌入式的,它虽然是服务器端,也需要嵌入式的特点,需要支撑裁剪和代码重用等。

四、嵌入式技术(考点篇)试题(1)_调度算法_04

AI相关领域,第一反应是智能化、智能化是基于大量的数据及其处理能力的,还有算法等等。还有本题目讨论的是芯片不仅仅是AI。

A和D中低精度设计这个坚决不允许的;芯片那么结合嵌入式的特点,选C。B中芯片很难重构,软件方面倒是可以。

正确答案选B,我的分析错了,超纲了,记住吧。

AI芯片的4大特征:新型的计算范式、训练和推断、大数据处理能力、可重构的能力

四、嵌入式技术(考点篇)试题(1)_数据_05

选D。这个时间不确定,根据具体情况来,但是必须要在允许的范围内。

实时OS与分时OS(通用OS)区别三点:

1.交互性强弱不同:实时弱,因为它专用于某方面,有些甚至都不需要交互;分时强,跟人、其他系统、设备等等打交道多,是通用的系统。

2.时间敏感性:分时弱;实时强,这个好理解

3.系统设计目标不同:分时的目的是多用户通用系统,所以交互能力强;实时的大多都是专用系统。

四、嵌入式技术(考点篇)试题(1)_数据_06

我选C和C。 答案:C和A。

这两个好像是书上的原话。

四、嵌入式技术(考点篇)试题(1)_嵌入式_07

四、嵌入式技术(考点篇)试题(1)_嵌入式_08

四、嵌入式技术(考点篇)试题(1)_嵌入式_09

我选D,答案选C。

首先强调的是到自己的截止期时,才改优先级,所以优先级算法只是辅助。

解析:嵌入式实时系统是为某个特定功能设计的一种专用系统,其任务的调度算法与系统功能密切相关。通常,实时系统存在多种调度算法,

优先级调度算法是指系统为每个任务分配一个相对固定的优先顺序,调度程序根据任务优先级的高低程度,按时间顺序进行高优先级任务优先被调度;

抢占式优先级调度算法是在优先级调度算法的基础上,允许高优先级任务抢占低优先级任务而运行;

最晚截止期调度算法是指调度程序按每个任务的最接近其截止期末端的时间进行调度,系统根据当前任务截止期的情况,选取最接近截止期的任务运行;

最早截止期调度算法是指调度程序按每个任务的截止期时间,选取最早到截止期的头端时间的任务进行调度。

补充:

最早截止时间优先 EDF

  • 该算法是根据任务的截止时间确定任务的优先级,具有最早截止时间的任务优先级高,排在队列的前面。
  • 根据任务的截止时间来确定任务的优先级
    截止时间越早,优先级越高
    可以是抢占式或非抢占式
    非抢占式调度方式用于非周期实时任务

举例:
:四个非周期任务,它们先后到达。
1、 系统先调度任务1执行,在其执行期间,任务2、3又先后到达。
2、 由于任务3的开始截止时间早于任务2,故系统在任务1后将调度任务3执行。
3、 在此期间又到达作业4,其开始截止时间仍是早于任务2的,故在任务3执行完后,系统又调度任务4执行,最后才调度任务2执行。

四、嵌入式技术(考点篇)试题(1)_数据_10

 

参考:操作系统处理机的调度问题_最早截止时间优先算法和最晚截止的区别

最晚截止期调度算法

想象每个订单都有一个必须完成的截止时间。在这种调度算法中,你总是选择离截止时间最近的订单来做,以确保每个订单都能在截止时间前完成。这种方式关注的是“谁最急需”,而不是“谁最重要”。

最早截止期调度算法

与最晚截止期相反,最早截止期调度算法会优先处理那些截止时间最早的订单。这样做的目的是尽量减少因订单延误而影响客户满意度的风险。即使有的订单可能更简单或更复杂,只要它的截止时间最早,就先做。

最晚截止期调度算法 VS 最早截止期调度算法
让我们用一个图书馆还书的例子来进一步阐明“最晚截止期调度算法”和“最早截止期调度算法”之间的区别。

最晚截止期调度算法
假设你是图书馆的管理员,负责收回借出的图书。图书的还书日期是不同的,有些是今天到期,有些是几天后。在使用最晚截止期调度算法时,你会优先处理那些离到期时间最近的图书。例如,如果今天有5本书到期,而明天有3本,你会先联系今天到期的那些借书者,确保这些书能及时回收。这种方式的关键是“避免逾期”,尽量在最后期限之前完成任务。

最早截止期调度算法
现在,如果你改用最早截止期调度算法,情况就反过来了。在这种情况下,你会优先处理那些截止时间最早的图书,无论它们的到期日是今天、明天还是后天。比如,如果昨天有2本书未还(假设已逾期但还未处理),今天有5本到期,你会先处理那2本昨天就应该归还的书。这种方式的目标是“最大程度减少逾期时间”,即使它们已经逾期,也要尽快处理。

通过这个图书馆还书的例子,可以更清楚地看出两种调度算法的差异:

最晚截止期调度算法专注于处理接近当前日期的紧急任务,以防任务逾期
最早截止期调度算法则优先解决已经逾期或最早需要处理的任务,以最快解决潜在的延误问题。
这两种算法都试图以不同的方式优化任务的完成时间和资源的利用,选择哪一种取决于你希望优化的目标是什么。

参考:软考高级架构师: AI 通俗讲解 嵌入式操作系统调度算法

四、嵌入式技术(考点篇)试题(1)_数据_11

我选B,看题目说是嵌入式实时,那么首先排除D的异步,然后我觉得混成系统,混成代表复杂,并行和串行都应该有。正确答案也是B

解析:混成系统定义:混成系统一般由离散分离组件连续组件并行或串行组成,组件行为计算模型进行控制。混成系统一般由离散分离组件并行组成,组件之间的行为由计算模型进行控制缺少“连续组件”和“串行”;混成系统一般由连续组件串行组成,组件之间的行为由计算模型进行控制缺少“离散分离组件”和“并行”;混成系统一般由离散分离组件和连续组件并行或串行组成,组件之间的行为由同步/异步事件进行管理“由同步/异步事件进行管理”是错误的,同步/异步事件是任务通信机制的一种,而不能替代计算模型。

四、嵌入式技术(考点篇)试题(1)_调度算法_12

选B,DSP数字信号处理器,它可是经过精心雕琢的,专用于处理数据,速度飞快,肯定是哈佛结构了。

补充:

编程DSP芯片是一种具有特殊结构的微处理器,为了达到快速进行数字信号处理的目的,DSP芯片一般都采用特殊的软硬件结构:
(1)哈佛结构。
DSP采用了哈佛结构,将存储器空间划分成两个,分别存储程序和数据。它们有两组总线连接到处理器核,允许同时对它们进行访问,每个存储器独立编址,独立访问。这种安排将处理器的数据吞吐率加倍,更重要的是同时为处理器核提供数据与指令。在这种布局下,DSP得以实现单周期的MAC指令。
在哈佛结构中,由于程序和数据存储器在两个分开的空间中,因此取指和执行能完全重叠运行
(2)流水线。
与哈佛结构相关,DSP芯片广泛采用2-6级流水线以减少指令执行时间,从而增强了处理器的处理能力。这可使指令执行能完全重叠,每个指令周期内,不同的指令都处于激活状态。
(3)独立的硬件乘法器。

在实现多媒体功能及数字信号处理的系统中,算法的实现和数字滤波都是计算密集型的应用。在这些场合,乘法运算是数字处理的重要组部分,是各种算法实现的基本元素之一。乘法的执行速度越快,DSP处理器的性能越高。相比与一般的处理器需要30-40个指令周期,DSP芯片的特征就是有一个专用的硬件乘法器,乘法可以在一个周期内完成。
(4)特殊的DSP指令。
DSP的另一特征是采用特殊的指令,专为数字信号处理中的一些常用算法优化。这些特殊指令为一些典型的数字处理提供加速,可以大幅提高处理器的执行效率。使一些高速系统的实时数据处理成为可能。
(5)独立的DMA总线和控制器。
有一组或多组独立的DMA总线,与CPU的程序、数据总线并行工作。在不影响CPU工作的条件下,DMA的速度已经达到800MB/S以上。这在需要大数据量进行交换的场合可以减小CPU的开销,提高数据的吞吐率。提高系统的并行执行能力。
(6)多处理器接口。使多个处理器可以很方便的并行或串行工作以提高处理速度。
(7)JTAG(Joint Test Action Group)标准测试接口(IEEE 1149标准接口)。便于对DSP作片上的在线仿真和多DSP条件下的调试。
(8)快速的指令周期。
哈佛结构,流水线操作,专用的硬件乘法器,特殊的DSP指令再加上集成电路的优化设计,可使DSP_芯片的指令周期在10ns以下。快速的指令周期可以使DSP芯片能够实时实现许多DSP应用。

总结:DSP牛逼的原因(特征)如下:

1.哈佛结构、流水线(因哈佛结构)、快速的流水线周期(哈佛结构、流水线、优化设计)

2.独立的硬件乘法器:这个好,因为乘法运算很耗时,它直接硬件实现,非常快。

3.特殊指令:专门优化算法数字处理提供加速。

4.独立的DMA总线和控制器:提供中断的。

5.多处理器接口:并行或串行都支持。

6.JTAG标准测试接口:线上仿真和多DSP测试方便。

四、嵌入式技术(考点篇)试题(1)_嵌入式_13

选A,运算量大还智能,这需要大量的数据并且计算,这种处理数据的专用的是DSP。

解析:MPU采用增强型通用微处理器。由于嵌入式系统通常应用于环境比较恶劣的环境中,因而MPU在工作温度、电磁兼容性以及可靠性方面的要求较通用的标准微处理器高。但是,MPU在功能方面与标准的微处理器基本上是一样的。A是错的。

MCU又称单片微型计算机(Single Chip Microcomputer)或者单片机,是指随着大规模集成电路的出现及其发展,将计算机的CPU、RAM、ROM、定时计数器和多种I/0接口集成在一片芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。B是对的

DSP是一种独特的微处理器,是以数字信号来处理大量信息的器件。其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,它的强大数据处理能力和高运行速度,是最值得称道的两大特色。C也是对的

SoC称为系统级芯片,也有称片上系统,意指它是一个产品,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容.D也是对的

四、嵌入式技术(考点篇)试题(1)_数据_14

选C,BSP是对硬件的抽象就是为了硬件的无关性,但是不同的嵌入式OS实现BSP的方式不一样的,所以要根据具体的嵌入式OS来设计BSP才能比较好的匹配。

正确答案选B。即与硬件有关由于操作系统有关

板级支持包也称为硬件抽象层HAL,一般包含相关底层硬件的初始化,数据的输入输出操作,硬件设备的配置等功能,它主要的特点有以下两个:
1.硬件相关性
因为嵌入式实时系统的硬件环境具有内容相关性,而作为上层软件与硬件平台之间的接口,BSP需要为操作系统提供操作和控制具体硬件的方法。
2.操作系统相关性
不同的操作系统具有各自的软件层次结构,因此不同的操作系统具有特定的硬件接口形式

解析:板级支持包(BSP)是介于主板硬件和操作系统中驱动层程序之间的一层,一般认为它属于操作系统一部分,主要是实现对操作系统的支持,为上层的驱动程序提供访问硬件设备寄存器的函数包,使之能够更好的运行于硬件主板。在嵌入式系统软件的组成中,就有BSP。BSP是相对于操作系统而言的,不同的操作系统对应于不同定义形式的BSP,例如VxWorks的BSP和Linux的BSP相对于某一CPU来说尽管实现的功能一样,可是写法和接口定义是完全不同的,所以写BSP一定要按照该系统BSP的定义形式来写(BSP的编程过程大多数是在某一个成型的BSP模板上进行修改)。这样才能与上层0S保持正确的接口,良好的支持上层0S。BSP主要功能为屏蔽硬件,提供操作系统及硬件驱动,具体功能包括:
1.单板硬件初始化,主要是CPU的初始化,为整个软件系统提供底层硬件支持
2.为操作系统提供设备驱动程序和系统中断服务程序
3.定制操作系统的功能,为软件系统提供一个实时多任务的运行环境
4.初始化操作系统,为操作系统的正常运行做好准备。
板级支持包(BSP,也称为硬件抽象层HAL)一般包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置等功能,它主要具有以下两个特点。
①硬件相关性,因为嵌入式实时系统的硬件环境具有应用相关性,而作为上层软件与硬件平台之间的接口,BSP需为操作系统提供操作和控制具体硬件的方法。
②操作系统相关性,不同的操作系统具有各自的软件层次结构,因此不同操作系统具有特定的硬件接口形式。

四、嵌入式技术(考点篇)试题(1)_嵌入式_15

明显选A。

四、嵌入式技术(考点篇)试题(1)_调度算法_16

解析:
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。所有操作系统(不仅仅只是嵌入式操作系统)给应用程序提供的接口,称之为APIPCI是Peripheral Component Interconnect(外设部件互连标准)的缩写,它是目前个人电脑中使用最为广泛的接口,几乎所有的主板产品上都带有这种插槽。选项中的GUI,是用户与操作系统之间的接口:图形用户界面(Graphical User Interface,简称GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。

四、嵌入式技术(考点篇)试题(1)_嵌入式_17

明显选B,肯定需要多任务啊。

嵌入式系统特点:

(1)系统内核小。由于嵌入式系统一般是应用于小型电子装置,系统资源相对有限,所以内核较之传统的操作系统要小得多。
(2)专用性强。嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植,即使在同一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断进行修改。同时针对不同的任务,往往需要对系统进行较大更改,程序的编译下载要和系统相结合,这种修改和通用软件的“升级”是完全两个概念。
(3)系统精简。嵌入式系统一般没有系统软件和应用软件的明显区分,不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全。
(4)高实时性。高实时性的系统软件是嵌入式软件的基本要求,而且软件要求固态存储,以提高速度;软件代码要求高质量和高可靠性。
(5)多任务的操作系统。嵌入式软件开发需要使用多任务的操作系统。嵌入式系统的应用程序可以没有操作系统直接在芯片上运行。但是为了合理地调度多任务、利用系统资源、系统函数以及和专用库函数接口,用户必须自行选配操作系统开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。

四、嵌入式技术(考点篇)试题(1)_调度算法_18

选C,嵌入式与设备最为相关,但是要可移植性好需要硬件无关性。

解析:备选答案中,只有硬件无关性与可移植性相关。事实上,现在很多嵌入式系统开发对此非常重视,例如进行电视机顶盒开发,以前解码使用硬件芯片解码的做法比较普遍,现在随着嵌入式系统CPU运算能力的提升,人们开始将硬件解码改为软件解码,为的就是解决移植过程中由于解码芯片型号不同带来的问题。

四、嵌入式技术(考点篇)试题(1)_调度算法_19

C和C

本题考查嵌入式处理器知识。MMU是存储器管理单元的缩写,是用来管理虚拟内存系统的器件。MMU通常是CPU的一部分,本身有少量存储空间存放从虚拟地址到物理地址的匹配表。此表称作TLB(转换旁置缓冲区)。所有数据请求都送往MMU,由MMU决定数据是在RAM内还是在大容量存储器设备内。如果数据不在存储空间内,MMU将产生页面错误中断。MMU的两个主要功能是将虚地址转换成物理地址,控制存储器存取允许。MMU关掉时,虚地址直接输出到物理地址总线。Cortex-M3处理器采用ARMv7-M架构,它包括所有的16位Thumb指令集和基本的32位Thumb-2指令集架构。Cortex-M3支持线程模式和处理模式。在复位时处理器进入“线程模式”,异常返回时也会进入该模式,特权和用户(非特权)模式代码能够在“线程模式”下运行。出现异常模式时处理器进入“处理模式”,在处理模式下,所有代码都是特权访问的。μC/OS-Ⅱ可以运行在Cortex-M3处理器上。

四、嵌入式技术(考点篇)试题(1)_数据_20

选A,同步

四、嵌入式技术(考点篇)试题(1)_调度算法_21

我选D。A好像是主板插槽的接口,B是外设的接口如U盘,C网络接口是连接网络的吧,D好像是调试的接口好像DSP芯片也有这个。

解析:JTAG(Joint Test Action Group;联合测试工作组)是一种国际标准测试协议(IEEE1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如DSP、FPGA器件等。标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。

四、嵌入式技术(考点篇)试题(1)_调度算法_22

选B。A:公平性是考虑的因素但是,更多的是剥夺式的给紧急重要的任务;B是对的;C不是都采用时间片轮转的还有很多其他的算法,C说法太绝对;D肯定不对,静态的调度。

解析:实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的操作系统。因而,提供及时响应和高可靠性是其主要特点。
为了精确管理“时间”资源,以达到实时性和与预测性要求,并能够满足实时系统的新要求,需用实时调度理论对任务进行调度和可调度性分析。任务调度技术包括调度策略和可调度性分析方法,两者是紧密结合的。任务调度技术研究的范围包括任务使用系统资源(包括处理机、内存、I/0、网络等资源)的策略和机制,以及提供判断系统性能是否可预测的方法和手段。例如,什么时候调度任务运行、在哪运行(当系统为多处理机系统或分布式系统时)、运行多长时间等等;以及判断分析用一定参数描述的实时任务能否被系统正确调度。
给定一组实时任务和系统资源,确定每个任务何时何地执行的整个过程就是调度。在非实时系统中,调度的主要目的是缩短系统平均响应时间,提高系统资源利用率,或优化某一项指标;而实时系统中调度的目的则是要尽可能地保证每个任务满足他们的时间约束,及时对外部请求做出响应。实时调度技术通常有多种划分方法。
抢占式调度通常是优先级驱动的调度。每个任务都有优先级,任何时候具有最高优先级且已启动的任务先执行。一个正在执行的任务放弃处理器的条件为:自愿放弃处理器(等待资源或执行完毕);有高优先级任务启动,该高优先级任务将抢占其执行。除了共享资源的临界段之外,高优先级任务一旦准备就绪,可在任何时候抢占低优先级任务的执行。抢占式调度的优点是实时性好、反应快,调度算法相对简单,可优先保证高优先级任务的时间约束,其缺点是上下文切换多。
而非抢占式调度是指不允许任务在执行期间被中断,任务一旦占用处理器就必须执行完毕或自愿放弃。其优点是上下文切换少;缺点是在一般情况下,处理器有效资源利用率低,可调度性不好。在RTOS中,大多数的RTOS高度算法都是抢占式的。