收藏 分享(赏)

嵌入式.doc

上传人:kuailexingkong 文档编号:1624061 上传时间:2018-08-12 格式:DOC 页数:5 大小:49.50KB
下载 相关 举报
嵌入式.doc_第1页
第1页 / 共5页
嵌入式.doc_第2页
第2页 / 共5页
嵌入式.doc_第3页
第3页 / 共5页
嵌入式.doc_第4页
第4页 / 共5页
嵌入式.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、1、简述嵌入式系统的体系结构。(P5)答:嵌入式系统自底向上包含四个部分:硬件平台、嵌入式实时操作系统(RTOS) 、硬件抽象层(HAL)和嵌入式实时应用程序。硬件抽象层位于操作系统和硬件之间,包含了系统中与硬件相关的大部分功能。屏蔽了底层硬件的多样性,操作系统不再直接面对具体的硬件环境,而是面向由这个中间层次所代表的、逻辑上的硬件环境。2、什么是实时操作系统,其主要功能是什么?(P8)答:实时多任务操作系统(Real Time multi-tasking Operation System,RTOS)简称实时操作系统,主要用来完成嵌入式实时应用的任务调度和控制等核心功能。这些功能是通过内核服务

2、函数形式交给用户调用的,也就是 RTOS 的系统调用,或者叫做 RTOS 的 API。3、嵌入式系统的硬件由哪几个部分组成?(P1213)答:嵌入式系统的硬件系统是由嵌入式处理器、存储器、I/O 接口电路、通信模块以及其他外部设备组成的。其核心是嵌入式处理器。存储器是构成嵌入式系统硬件的重要组成部分。嵌入式处理器工作时,必须有附属电路支持,如时钟电路、复位电路、调试电路、监视定时器、中断控制电路等,这些电路并不完成数据的输入/输出功能,而是为嵌入式处理器的工作提供必要的条件。嵌入式处理器与通用处理器的最大区别在于嵌入式处理器集成了大量的不同功能的 I/O 模块。用户在开发嵌入式系统时,可以根据

3、系统需求选择合适的嵌入式处理器,而无需再另外配备 I/O 电路。此外,嵌入式系统通常还包括人机交互界面,用于系统与用户的交互。人机界面常常使用键盘、液晶屏、触摸屏等部件,以方便与用户的交互操作。4.常用的嵌入式处理器通常分成哪几大类?(P13)答:嵌入式系统中的处理器通常分为三大类,即微处理器(Micro-Processor Unit,MPU) 、微控制器(Micro-Controller Unit,MCU)和数字信号处理器(DSP) 。微处理器是指功能较强大的 CPU,它不是为任何特定的计算目标而设计的。因此这种芯片通常用于个人计算机与服务器。微控制器是针对嵌入式系统而设计的,它将 CPU、

4、存储器以及其他外设都集成在同一片电路板上。数字信号处理器(DSP)中的 CPU 是针对快速离散时间信号处理计算的。因此,DSP 非常适用于音频及视频通信。现代的芯片生产工艺已经允许将重要处理器的内核和各种外围的芯片器件整合在一起,以进一步降低功耗,达到专用的需求,这时,便出现了片上系统 SoC(System On Chip) 。5 外设的常用通信接口有线接口:Rs232,通用串行总线USB,CAN,以太网接口等无线接口:红外线,GSM,蓝牙6、试比较 RISC 和 CISC 体系结构的异同,为什么 ARM 内核要采用 RISC体系结构?(P47)答:ARM 体系结构总的设计思路是在不牺牲性能的

5、同时尽可能简化处理器。同时从体系结构的层面上支持灵活的处理器扩展。这种简化和开放的思路使 ARM 处理器采用了很简单的结构精简指令集计算机(Reduced Instruction Set Computer,RISC)体系结构来进行实现。传统的复杂指令集计算机(Complex Instruction Set Computer,CISC)结构有其固有的缺点,即随着计算机技术的发展而不断引入新的复杂的指令集,为支持这些新增的指令,计算机的体系结构会越来越复杂,然而,在 CISC指令集的各种指令中,其使用频率却相差悬殊,大约有 20的指令会被反复使用,占整个程序代码的80。而余下的 80的指令却不经常

6、使用,在程序设计中只占 20,显然,这种结构是不太合理的。基于以上的不合理性,1979 年美国加州大学伯克利分校提出了RISC 的概念。RISC 并非只是简单地去减少指令。RISC 是一种设计思想,其目标是设计出一套能在高时钟频率下单周期执行、简单而有效的指 RISC 的设计重点在于降低由硬件执行的指令的复杂度,因为软件比硬件容易提供更大的灵活性和更高的智能。因此,RICS 设计对编译器有更高的要求;相反,传统的CISC 则更侧重于硬件执行指令的功能性,使 CISC 指令变得更复杂。7、ARM 体系结构发展过程中,主要有哪些变种,对各变种做简要介绍。 (P4950)答:我们将在 ARM 体系中

7、增加的某些特定功能称为 ARM 体系的某种变种(variant) ,下面介绍 ARM 体系的一些变种形式。(1)Thumb 指令集(T 变种)Thumb 指令集是将 ARM 指令集的一个子集重新编码而形成的一个指令集。ARM 指令长度为 32 位,Thumb 指令长度为 16 位。这样,使用 Thumb 指令集可以得到密度更高的代码,这对于需要严格控制产品成本的设计非常有意义。(2)长乘法指令(M 变种)M 变种增加了两条用于进行长乘法操作的 ARM 指令:其中一条指令用于实现 32 位整数乘以 32 位整数,生成 64 位整数的长乘法操作,另一条指令用于实现 32 位整数乘以 32 位整数,

8、然后再加上 32 位整数,生成 64 位整数的长乘加操作。(3)增强型 DSP 指令(E 变种)E 变种包含了一些附加的指令,这些指令用于增强处理器对一些典型 DSP 算法的处理性能,主要包括:几条新的实现 16 位数据乘法和乘加操作的指令,实现饱和的带符号数的加减法操作的指令。(4)Java 加速器 Jazelle(J 变种)ARM 的 Jazelle 技术将 Java 的优势和先进的 32 位 RISC 芯片完美地结合在一起。Jazelle 技术提供了 Java 加速功能,可以得到比普通 Java 虚拟机高得多的性能。与普通的 Java 虚拟机相比,Jazelle 使 Java代码运行速度

9、提高了 3 倍,而功耗降低了80%。Jazelle 技术使得程序员可以在一个单独的处理器上同时运行 Java 应用程序、已经建立好的操作系统、中间件以及其他应用程序。与使用协处理器和双处理器相比,使用单独的处理器可以在提供高性能的同时,保证低功耗和低成本。(5)ARM 媒体功能扩展(SIMD 变种)SIMD 变种的主要特点是:可以同时进行两个 16 位操作数或者 4 个 8 位操作数的运算,提供了小数算术运算,用户可以定义饱和运算的模式,两套 16 位操作数的乘加/乘减运算,32 位乘以 32 位的小数MAC,同时 8 位/16 位选择操作。8、比较 ARM9 与 ARM7 处理器的性能特点,

10、试说明它们有何异同。 (P5556)答:ARM7 提供了非常好的性能功耗比,它包含了 Thumb 指令集快速乘法指令和 ICE 调试技术的内核。ARM9 处理器通过全新的设计,采用了更多的晶体管,能够达到两倍以上于 ARM7 处理器的处理能力。ARM7 内核是 0.9MIPS/MHz 的三级流水线和冯诺伊曼结构,而 ARM9 内核是 5 级流水线,提供 1.1MIPS/MHz 的哈佛结构。从 ARM7 到 ARM9 的性能提升还来源于存储器读写指令load 和 store,以及互锁技术的应用。1、ARM 微处理器有哪几种运行模式?其中哪些是特权模式,哪些又是异常模式?(P64)答:ARM 微处

11、理器支持 7 种运行模式,分别为:用户模式;快速中断模式;外部中断模式;管理模式;数据访问终止模式;系统模式;未定义指令中止模式。除用户模式以外,其余的所有 6 种模式称之为非用户模式,或特权模式(Privileged Modes) ;而除去用户模式和系统模式以外的 5 种又称为异常模式(Exception Modes) ,常用于处理中断或异常。2、ARM 体系结构的存储器格式有哪几种?(P6465)答:ARM 体系结构可以用两种方法存储字数据,称之为大端格式(big-endian)和小端格式(little-endian) 。大端格式:字数据的高字节存储在低地址中,而字数据的低字节则存放在高地

12、址中;小端格式:低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。9、ARM 状态下和 Thumb 状态下寄存器的组织有何不同?(P6970)答:Thumb 状态下的寄存器集是 ARM 状态下寄存器集的一个子集,程序可以直接访问 8 个通用寄存器(R7R0) 、程序计数器(PC) 、堆栈指针(SP) 、连接寄存器(LR)和 CPSR。同时,在每一种特权模式下都有一组 SP、LR 和 SPSR。在 Thumb 状态下,高位寄存器 R8R15 并不是标准寄存器集的一部分,但可使用汇编语言程序受限制的访问这些寄存器,将其用作快速的暂存器。10、ARM 指令有哪几种寻址方式?试分别叙述其各

13、自的特点并举例说明。 (P77)答:ARM 指令系统支持的基本寻址方式有 7 种:立即数寻址、寄存器寻址、寄存器间接寻址、基址变址寻址、多寄存器寻址、堆栈寻址、相对寻址。他们的特点分别是:立即数寻址:操作数本身就在指令中给出。如:ADD R0,R0,#0x3f寄存器寻址:指令中地址码给出的是寄存器编号。如:ADD R0,R1,R2寄存器间接寻址:寄存器中的值作为操作数的地址,操作数本身存放在存储器中。如:ADD R0,R1,R2基址变址寻址:将寄存器的内容与指令中给出的地址偏移量相加,从而得到一个操作数的有效地址,用于访问基址附近的存储器单元。如:LDR R0,R1,#4多寄存器寻址:块拷贝寻

14、址。如:LDMIA R0,R1,R2,R3,R4堆栈寻址:用堆栈作为地址。如:STMFD SP! R1-R7,LR相对寻址:以程序计数器 PC 的当前值为基地址,指令中的地址标号作为偏移量,将两者相加之后得到操作数的有效地址。如:BL NEXT11、ARM 体系结构所支持的异常类型有哪些?具体描述各类异常,在应用程序中应该如何处理?(P7071)答:ARM 体系结构所支持的异常类型有复位、未定义指令、软件中断、指令预取中止、数据中止、外部中断请求、快速中断请求。具体地:当处理器的复位电平有效时,产生复位异常,程序跳转到复位异常处理程序处执行;当 ARM 处理器或协处理器遇到不能处理的指令时,产

15、生未定义指令异常。可使用该异常机制进行软件仿真;软件中断异常由执行 SWI 指令产生,可用于用户模式下的程序调用特权操作指令。可使用该异常机制实现系统功能调用;若处理器预取指令的地址不存在,或该地址不允许当前指令访问,存储器会向处理器发出中止信号,但当预取的指令被执行时,才会产生指令预取中止异常;若处理器数据访问指令的地址不存在,或该地址不允许当前指令访问时,产生数据中止异常;当处理器的外部中断请求引脚有效,且 CPSR 中的 I 位为 0 时,产生 IRQ 异常。系统的外设可通过该异常请求中断服务; 当处理器的快速中断请求引脚有效,且 CPSR 中的 F 位为 0 时,产生 FIQ 异常。1

16、2、嵌入式操作系统进程的定义是什么?(P101)答:进程是可并发执行的、具有独立功能的程序在一个数据集合上的运行过程,是操作系统进行资源分配和保护的基本单位。13、一个比较完善的操作系统应当包括哪几个模块?(P100)答:一个比较完善的操作系统应当包括内存管理、进程管理、文件管理以及为了充分利用各种资源而设计的调度机制等四个模块。14、说明嵌入式操作系统进程调度的几种策略,并说出不同之处和优缺点。(P105108)答:实时调度方法大致可以划分为以下几类:离线和在线调度:对于离线调度算法,运行过程中使用的调度信息在系统运行之前就确定了。离线调度算法具有确定性,但缺乏灵活性,适用于那些特性能够预先

17、确定,且不容易发生变化的应用。在线调度算法的调度信息则在系统运行过程中动态获得,在线调度算法在形成最佳调度决策上具有较大的灵活性。抢占和非抢占调度:在抢占式调度算法中,正在运行的任务可能被其他任务所打断,抢占式调度算法,使关键任务能够打断非关键任务的执行,确保关键任务的截止时间能够得到满足,抢占式调度算法要更复杂些,且需要更多的资源,并可能在使用不当的情况下会造成低优先级任务出现长时间得不到执行的情况。非抢占式调度常用于那些任务需要按照预先确定的顺序进行执行,且只有当任务主动放弃 CPU资源后,其他任务才能得到执行的情况。静态和动态调度:在静态调度算法中,任务的优先级需要在系统运行前进行确定,

18、且在运行过程中不会发生变化。在动态调度算法中,任务的优先级可根据需要进行改变,也可能随着时间按照一定的策略自动发生变化。15、嵌入式系统中进程间通信主要采用哪几种形式?(P110)答:嵌入式系统中进程间通信主要采用两种形式:共享内存和消息传递。二者在逻辑上没有什么区别,进程通信采用哪种方式,主要依赖实际需要。进程间通信也可以采用信号和 16、嵌入式操作系统中的内存管理功能有哪些?并做简要阐述。(P120)答:嵌入式操作系统中的内存管理功能有:1)虚拟内存空间:操作系统采用虚拟内存功能使系统显得它有比实际大得多的内存空间,虚拟内存可以比系统中的物理内存大许多倍。2)内存保护:系统中每个进程有自己

19、的虚拟地址空间,这些虚拟地址空间相互之间完全分离。因此运行一个应用的进程不会影响其他的进程。同样,硬件的虚拟内存机制允许内存区域被写保护,这样保护了代码和数据不被恶意应用重写。3)内存映射:用来把映像和数据文件映像到一个进程的地址空间。在内存映射中,文件的内容被直接链接到进程的虚拟地址空间。4)公平物理内存分配:内存管理子系统分配给系统中运行的每个进程公平的一份系统物理内存。5)共享虚拟内存:允许进程拥有分隔的虚拟地址空间,但有时还需要进程共享内存。如进程间通信需要共享内存。17、C/OS-II 的主要特点有哪些?简要说明之。 (P121)答:C/OS-II 的主要特点有:1)公开源代码2)可

20、移植性(Portable)绝大部分C/OS-II 的源码是用移植性很强的 ANSI C 写的。和微处理器硬件相关的那部分是用汇编语言写的。汇编语言写的部分已经压到最低限度,使得C/OS-II便于移植到其他微处理器上。C/OS-II 可以在绝大多数 8 位、16 位、32 位以至 64位微处理器、微控制器、数字信号处理器(DSP)上运行。3)可固化(Romable)C/OS-II 是为嵌入式应用而设计的,这就意味着,只要读者有固化手段(C 编译、连接、下载和固化) ,C/OS-II 可以嵌入到读者的产品中成为产品的一部分。4)可裁剪(Scalable)可以只使用C/OS-II 中应用程序需要的那

21、些系统服务。也就是说某产品可以只使用很少几个 C/OS-II 调用,而另一个产品则使用了几乎所有C/OS-II 的功能,这样可以减少产品中的C/OS-II 所需的存储器空间(RAM 和 ROM) 。这种可剪裁性是靠条件编译实现的。5)占先式(Preemptive)C/OS-II 是完全占先式的实时内核,C/OS-II 总是运行就绪条件下优先级最高的任务。6)多任务C/OS-II 可以管理 64 个任务,目前这一版本保留 8 个给系统。留给用户的应用程序最多可以有 56 个任务。赋予每个任务的优先级必须是不相同的,这意味着C/OS-II 不支持时间片轮转调度法(常用的非抢占式调度算法) 。7)可

22、确定性全部C/OS-II 的函数调用与服务的执行时间具有可确定性。8)任务栈每个任务有自己单独的栈,C/OS-II允许每个任务有不同的栈空间,以便压低应用程序对 RAM 的需求。9)系统服务C/OS-II 提供很多系统服务,例如邮箱、消息队列、信号量、块大小固定的内存的申请与释放、时间相关函数等。10)中断管理中断可以使正在执行的任务暂时挂起,如果优先级更高的任务被该中断唤醒,则高优先级的任务在中断嵌套全部退出后立即执行,中断嵌套层数可达 255 层。18、设备驱动程序在大多数嵌入式系统中起着重要作用,因为它们提供了 应用程序 和 设备 之间的软件层。19、设备驱动程序通常包含 中断处理程序

23、和 设备服务子程序 两部分。20、嵌入式系统中_按键_、_触摸屏 _、_手写板_等都属于字符设备,典型的块设备有_硬盘_、_ CD-ROM _等。21、系统中不同的设备有相同的主设备号,主设备号相同的设备使用相同的驱动程序。22、CS8900A 有两种工作模式:MEMORY 模式和 IO 模式。23、如何理解设备管理的“设备无关性”概念?(P174)答:在 Linux/uclinux 的框架结构中,和设备相关的处理可以分为两个层次文件系统层和设备驱动层。设备驱动层屏蔽具体设备的细节,文件系统层则向用户提供一组统一的、规范的用户接口。在嵌入式操作系统下的设备驱动程序主要是控制和管理下层物理设备的硬件控制器,同时为上层应用提供统一的、与设备无关的系统调用服务,这种设备管理方法称为“设备无关性” 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报