嵌入式系统原理重点(2)

2022-02-26 10:59

完成同样的操作,指令数比ARM代码多约30%~40% 存储器为32位时ARM代码比Thumb代码快约40% 存储器为16位时Thumb比ARM代码快约40~50% 使用Thumb代码,存储器的功耗会降低约30%

14. 简述 ARM V1-V7 版本特征? ARM版本Ⅰ: V1版架构

该版架构只在原型机ARM1出现过,只有26位的寻址空间,没有用于商业产品。 ARM版本Ⅱ: V2版架构

该版架构对V1版进行了扩展,例如ARM2和ARM3(V2a)架构。包含了对32位乘法指令和协处理器指令的支持。 版本2a是版本2的变种,ARM3芯片采用了版本2a,是第一片采用片上Cache的ARM处理器。同样为26位寻址空间,现在已经废弃不再使用。 ARM版本Ⅲ : V3版架构 V3版架构( 目前已废弃 )对ARM体系结构作了较大的改动,比如:寻址空间增至32位(4GB);增加了程序状态保存寄存器SPSR;增加了从异常处理返回的指令功能等。 ARM版本Ⅳ : V4版架构 V4版架构在V3版上作了进一步扩充,。V4不再强制要求与26位地址空间兼容,而且还明确了哪些指令会引起未定义指令异常。 ARM版本Ⅴ : V5版架构 V5版架构是在V4版基础上增加了一些新的指令。这些新增命令有:计数前导零CLZ指令,BRK中断指令,带有链接和交换的转移BLX指令等。 ARM版本Ⅵ : V6版架构 V6版在降低耗电量地同时,还强化了图形处理性能。通过追加有效进行多媒体处理的SIMD(Single Instruction, Multiple Data,单指令多数据 )功能,将语音及图像的处理功能提高到了原型机的4倍。

ARM版本Ⅵ : V7版架构

V7采用了THUMB-2技术和NEON技术,支持改良了浮点运算,支持动态编译器。 15. 指令系统 CISC 与 RISC 的优缺点? CISC:

–优点:指令越多功能越强,强调代码效率,容易和高级语言接轨。可以对存储器直接操作,实现从存储器到存储器的数据转移,可加入DSP指令。

–缺点:指令太多不易记忆;CPU内部结构复杂造成频率不高;指令执行速度慢。 RISC:

–优点:指令少容易记忆,尽量将操作码和操作数用1个16位数或32位数表示,指令整齐。CPU时钟频率可以做得很高,指令执行速度快。

–缺点:同样功能的程序,产生的代码量比较大;不能对存储器直接访问,不能实现存储器到存储器的数据转移。

16. 如何理解公式 P∝CV2F,进而说明嵌入式系统如何进行能耗控制? P∝CV2F使用的前提是在数字集成电路中,CMOS电路静态功耗非常低,与动态功耗相比可忽略不计,故可以写成该形式。 公式中,P为CMOS芯片的动态功耗,C为CMOS芯片的负载电容,V为CMOS芯片的工作电压,F为CMOS芯片的工作频率。通过上式可发现,降低CMOS电路的工作电压比降低时钟频率更能降低活动功耗。因为功耗与电压时指数幂的关系,而与时钟频率只是线性关

系。因此,选定满足电子系统中所有电驴模块的最低要求电压,对降低能耗至关重要。 17. 怎样看待复位和看门狗的关系?

手动复位是在有需要时直接给CPU一个信号,使其直接从头开始执行程序,而看门狗是在每次开机或关机时由电容放电使CPU复位,使程序下次运行处于最佳状态,它实质上是一个由MCU进行复位的定时器,提高了系统的抗干扰能力。一般情况下,嵌入式系统同时应用这两种技术。

(看门狗即监控定时器,在嵌入式系统内部使用看门狗技术是一种防止尖峰脉冲干扰的有效方法。当侵入的尖峰脉冲干扰使程序编码的一位(或数位)发生改变时,程序所呈现的外在表现可能为“飞掉”,此时,利用看门狗技术可帮助系统自动恢复正常运行。) 18. 为什么嵌入式系统中也加入 BIOS 环节?

BIOS在嵌入式系统中具有极其重要的作用,主要表现在一下三方面: 1. 自检及初始化。这部分工作是负责启动计算机,主要完成三件事:对硬件进行检测;创建中断向量、设置寄存器、对一些外部设备进行初始化和检测、设置BIOS的参数;引导操作系统。

2. 程序服务处理,这些工作主要是为应用程序和操作系统服务的。服务内容主要与I/O设备有关,例如读磁盘,文件输出到打印机等。

3. 中断处理,在开机时,BIOS会传送所有硬件设备的中断向量号给CPU。当用户发出使用某个设备的指令后,CPU就会根据中断向量号使用相应的硬件来完成工作。 19. PC BIOS 和 ISA 总线在 PC 产业的发展过程中起到了哪些作用?

PC结构中的BIOS的出现产生了具有重大意义的变革,它促使了硬件与软件就得以分离,使得PC软件得以独立发展,而且由于有了BIOS,增加了I/O扩展槽,才有了外部总线,促使I/O设备得以应用。

ISA总线使寻址范围、数据总线宽度、中断处理能力有了很大的提高,具备了良好的兼容性,为以后更先进总线的诞生打好了基础。 20. 怎样描述嵌入式 Linux 的启动过程? P150

移交控制权给Linux内核——内核自解压后,跳转到CPU相关的初始化汇编代码——初始化CPU,设定MMU,初始化页表,进入虚存模式——跳转到CPU无关的C语言函数start_kernel(),初始化中断向量、虚存管理、cache等——init()函数初始化外设及驱动程序——用execve()加载init进程,启动相关的服务程序——打开终端,提示输入用户名 21. 评述层次和微内核嵌入式操作系统的优缺点?

微内核结构:

优点:结构规范,易于裁剪、编程和调试;扩展和移植性强;降低内存固定使用量;实时性强。

缺点:整体效率低;资源管理复杂。 层次内核体系结构:

优点:各模块之间的组织结构和依赖关系清晰明确,适合进行系统功能的划分;分层思想有利于组织操作系统的开发、调试和诊断,也使得系统的修改和扩展相对容易。

缺点:对某一层功能的修改往往影响到相关层次,使得指定和裁剪系统功能相对困难;底层代码和硬件直接相关,功能越强,关系越紧;与微内核结构相比比较庞大,移植较复杂。 22. 嵌入式实时系统分类?

按照系统错过时限的严重性,可将系统分为硬实时系统和软实时系统。

硬实时系统指必须能及时对外部事件作出反应,绝对不能允许任务错过时限。硬实时系统一旦错过时限就意味着巨大的损失和灾难。

软实时系统是指在系统负荷较重时,任务错过时限会引起系统性能下降,但是不会造

成严重的后果。

23. 改造非实时操作系统为实时操作系统,将从哪几个方面下手? 1. 增加实时控制模块,进行任务转换和执行用户定义的程序。 2. 多任务管理:允许对用于多种外部事件的多线程执行。

3. 进程调度和抢占调度:使用适用于实时应用的按优先级抢占CPU的调度方法,允许就绪的低优先级任务抢占高优先级的任务执行。

24. 按照本课程的分类 WinCE、Vxwork、ucos、Linux 和 QNX 从结构分类和对象分类 分别从属于哪些类? 嵌入式系统从结构分类上分类有:整体式、层次式和插件式。 VxWorks, uCOS和QNX属于插件式,WinCE和Linux属于整体式。 嵌入式系统按对象分类有:可崩溃/不可崩溃系统,实时/非实时系统,可交换/不可交换系统,可信/非可信系统。 WinCE是可崩溃可交换的非实时操作系统(为整体内核结构),VxWorks是不可崩溃可交换可信的实时操作系统(属于微内核结构),uCOS是不可崩溃可交换的实时操作系统(属于微内核结构),Linux是可崩溃可交换的非实时操作系统(采用具有微内核思想的整体内核结构),QNX是可崩溃可交换的非实时操作系统(微内核结构)。 25. 怎样评测嵌入式操作系统的实时性?

实时性能指标包括任务切换时间、中断延迟时间和系统响应时间。

任务切换时间:该指标主要受微处理器控制,在进行任务切换时,保存和恢复CPU所花费的时间与CPU的寄存器个数有关。

中断延迟时间:由最大中断屏蔽时间,得到只想ISR(中断服务例程)向量的时间、存储所有寄存器的时间和执行中断处理的时间。

系统响应时间:该时间是系统在发出处理要求到系统给出应答信号的时间,从整体上评价操作系统。

实时性测量方法:Rhealston方法、进程调度间隙时间法、三维表示法、Real/Stong Benchmark方法。

方法说明:

Rhealstone方法(六元素测量法):对EOS的六个关键操作的时间量进行评测,即任务切换时间,抢占时间,中断延迟时间,信号量混洗时间,死锁解除时间、数据包吞吐率。 进程调度间隙时间法:从中断产生到由中断激活的实时任务开始执行之间的时间间隔。

三维表示法:测试EOS的计算能力、中断处理能力、I/O吞吐率。然后可用一个三维图形来表达三个特性之间的依赖关系。

Real/Stong Benchmark方法:为一个纯软件的基准程序,属于合成工作负载,包含了系统响应能力、系统抢占能力和系统I/O吞吐能力三个测试。

26. 程序与数据共同的评价是什么?

嵌入式系统中所关注的信息主要有两类:程序和数据。信息评价分为开放性和兼容性。 信息的开放性主要是针对程序而言的。具体定义就是要求系统可以通过第三方机构定制、增加和扩展功能。包括开放API,开放源代码,开放标准。 信息的兼容性: 从程序的角度来说,兼容性指的是程序可以不经修改或很少量的修改就可以移植到其它平台上去;

从数据的角度来说,兼容性是指数据可以直接被多种异构的应用系统读取、识别、处理。 可从两个角度分析程序和数据的兼容性:一是时间上,存在向上兼容和向下兼容;类别

上,存在不同程序和数据之间的兼容。 27. 如何理解 Java 语言的安全性

Java语言的安全性可以从两个方面得到保证。

一方面在Java语言里,象指针和释放内存等C++功能被删除,避免了非法内存操作。 另一方面当Java用来创建浏览器时,语言功能和一些浏览器本身提供的功能结合起来,使它更安全。

Java语言在机器上面执行前,要经过很多次的测试。它经过代码校验、检查代码段的格式、检测指针操作、对象操作是否过分以及试图改变一个对象的类型。 28. 如何理解 Java 的程序兼容性,JVM 起到了什么作用?

虚拟机是由一套完整的规范定义的。JVM保证了Java代码在任何系统上到能运行。凡是符合Java虚拟机规范的实现都是百分之百兼容的。JVM规范对其实现做出了具体规定。JVM规范定义了虚拟机体系结构、支持的数据类型和类结构文件。 29. 怎样理解基于 iOS 编程的 HIG 用户界面准则? 30. 可测性设计对于嵌入式系统设计有什么帮助?

可测性设计是为了降低电路测试费用和提高故障覆盖率,在电路设计阶段对原电路进行修改,但不影响其性能的设计方法。嵌入式系统设计中需要采用结构化设计方法,将系统划分为几个模块,而每个模块都需要进行测试以满足要求,引入可测性设计可以保证系统的可靠性和稳定性。为保证测试的有效性,驱动的开发需要有一定的相互独立性。系统开发达到一定程度时,可进行整机测试。而且软硬件测试的有机结合使得嵌入式系统的设计更加方便、可靠。

31. 简述 Java 与.NET 战略? Sun公司的Java体系是面向程序的,它的初衷是实现程序的跨平台。Java体系包括J2EE、J2SE、J2ME作为平台标准,他们具有宽范畴性、良好扩展性以及前瞻性。Java体系的基石是Java虚拟机,通过在虚拟机上运行程序来屏蔽平台底层的差异,从而达到跨平台的目的。但是Java虚拟机存在不完善之处,虚拟机自身实现方式不规范,工作运行远没有达到最佳。 微软公司的.NET战略是一种类似Java的体系,他是面向内容的。.NET战略实现了Microsoft.NET平台上程序和数据的兼容。在.NET平台上开发程序的一个重要好处在于可以实现真正的“代码重用”,因为在设计.NET平台时,一个重要思想就是运行时和具体的语言分开。

32. 为什么系统设计中,可测性设计对于复杂系统非常重要? 可测性设计是为了降低电路测试费用和提高故障覆盖率,在电路设计阶段对原电路进行修改,但不影响其性能的设计方法。复杂系统中软件的开发往往是与相应的硬件设备同步进行的,硬件的可靠性与软件的运行息息相关,引入可测性设计可以保证系统的可靠性和稳定性;复杂系统设计常将系统划分为几个模块,而每个模块都需要进行测试,引入可测性设计对每个模块进行测试从而简化了复杂系统的设计。

33. 软件测试基本机理式什么?复杂的软件系统能够保证绝对没有 Bug 吗?嵌入式 软件的基本质量是什么? 1) 机理:软件测试是使用人工或自动的手段测试某个软件系统的过程。目的在于检验它是

否满足规定的要求或弄清预期结果与实际内容之间的差别。

(软件测试的方法包括白盒测试和黑盒测试。白盒测试:按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常运行,检测程序中的每条通路是否都按照预定要求工作。黑盒测试:也称功能测试,是通过测试来检测每个功能是否都能正常使用,完全不考虑程序内部结构和内部特性。)

2) 不能保证。测试程序是不能发现所有Bug的,只能将软件系统中可能存在的Bug找出

来,但是并不是所有的Bug都能被发现。但没有致命的BUG存在,模拟的不完整。

3) 嵌入式软件的基本质量:可靠性、剪裁性、兼容性、安全性(另一种答案:安全性足够

高,系统长时间可靠、实时性)。

34. 为什么嵌入式系统的软件测试一定要有目标板级测试?

嵌入式软件测试一般都在微机上进行过仿真,与实际设计、运行环境不同,模拟的不够完整,许多指标在模拟仿真环境下测试不出来,所以嵌入式系统的软件测试一定要有目标板级的测试。

35. 简述嵌入式系统的基本设计流程?

系统需求分析-----体系结构设计-----硬件、软件设计-----软硬件集成-----系统集成 36. 描述评价嵌入式操作系统的 10 大方面?

十个方面分别是时域、资源占用、能耗、干扰、智能、控制、融合、封装、功能性、可靠性。

时域:系统完成规定任务所需要的时间必须满足的条件。

资源占用:系统在正常运行的各个阶段,所需的硬件资源的种类,数量及多少。 能耗:系统在运行的各种状态下所消耗的电能的速率。

干扰:嵌入式产品在加入了嵌入式系统后,对原有产品性能及其他指标的影响程度。 智能:统能够完成的操作种类多少、解决问题的复杂程度以及自我完善、更新、发展的能力。

控制:系统的控制过程的快速、准确和精细程度以及操作此控制作用的便捷性。 融合:指嵌入式系统和嵌入式产品其他部分相匹配、结合的能力。

封装:简单说,封装就是打包,把一系列相关的东西打包在一起,把细节隐藏,只把简单的、稳定的接口提供给用户。

功能性

可靠性:在预定的操作和环境条件下,在一定的时期或是某一时刻,系统专一并正确的执行任务的可依赖程度。

37. 嵌入式系统的可靠性主要是指哪些属性? (了解即可)

可用性:随时可以向使用者提供正确服务。 可信性:可以持续的提供正确服务。

安全性:不会对使用者和环境造成灾难性的损害。 完整性:不会出现意外的系统部分替换。 可维护性:可以进行修改和维修。

38. 提高嵌入式系统的可靠性,需要从哪些方面入手?(了解即可)

如何正确合理的处理缺陷,是提高嵌入式系统可靠性的关键。 处理缺陷的方法:

1.缺陷避免:避免缺陷出现或被引入系统。

2.缺陷包容:在缺陷出现时,避免出现系统服务失效。包括错误发现和恢复。 3.缺陷取出:减少缺陷的数量,降低失效的严重性。

4.缺陷预测:预测缺陷的数量,分布,可能产生的结果等。

39. 几种提高嵌入式系统可靠性的手段各有什么特点,如何选取合适的手段用于系 统设计? (了解即可)

1.缺陷避免:避免缺陷出现或被引入系统。

2.缺陷包容:在缺陷出现时,避免出现系统服务失效。包括错误发现和恢复。 3.缺陷取出:减少缺陷的数量,降低失效的严重性。

4.缺陷预测:预测缺陷的数量,分布,可能产生的结果等。

 


嵌入式系统原理重点(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:概率论与数理统计习题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: