嵌入式考试简答填空
- 格式:pdf
- 大小:144.58 KB
- 文档页数:7
嵌入式一、填空题1、根据嵌入式系统使用的微处理器,可以将嵌入式系统分为(嵌入式微处理器),嵌入式DSP,(嵌入式微控制器)以及片上系统。2、从嵌入式操作系统特点可以将嵌入式操作系统分为实时操作系统和(分时操作系统),其中实时系统亦可分为(硬实时系统)和软实时系统。3、内核负责管理各个任务,或者为每个任务分配CPU时间,并且负责任务之间的(通信),内核的基本服务是(任务切换)。4、ARM7TDMI采用(三)级流水线结构,ARM920TDMI采用(五)级流水线。5、按操作系统的分类可知,Dos操作系统属于顺序执行操作系统,Unix操作系统属于(分时)操作系统,VxWorks属于(实时)操作系统。6、ARM7TDMI中,T表示支持16位Thumb指令集,D表示(支持片上调试),M表示内嵌乘法器Multiplier,I表示(嵌入式ICE),支持在线断点和调试。7、嵌入式系统体系结构一般具有(冯.诺伊曼结构)和(哈佛结构)两种基本形式。8、嵌入式存储系统一般由(高速缓存)、(内存)和(外存)组成。9、嵌入式存储系统具有(大端格式)和(小端格式)两种数据存放格式。10、从编程的角度看,ARM微处理器的一般有(ARM)和(HUMB)两种工作状态。11、ARM系列微处理器支持的边界对齐格式有:(字节对齐)、(半字对齐)和(字对齐)。12、ARM微处理器有(七)种工作模式,它们分为两类(非特权模式)、(特权模式)。其中用户模式属于(非特权模式)。二、简答题1.简要叙述嵌入式系统的定义。答:嵌入式系统是以应用为中心、以计算机技术为基础,软、硬件可裁剪,适应于应用系统对功能、可靠性、成本、体积、功耗等方面有特殊要求的专用计算机系统。2.什么是嵌入式实时操作系统?简单叙述其特点。答:当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的嵌入式操作系统。特点:首要任务调用一切可利用资源,实时控制任务,提高计算机系统利用率。3.什么是操作系统的移植?答:一款嵌入式操作系统通常可以运行在不同体系结构的处理器和开发板上。为了使嵌入式操作系统可以在某款具体的目标设备上运行,嵌入式操作系统的编写者通常无法一次性完成整个操作系统的代码,而必须把一部分与具体硬件设备相关的代码作为抽象的接口保留出来,让提供硬件的OEM厂商来完成。这样才可以保证整个操作系统的可移植性。4.什么是非抢先式实时操作系统?有何优缺点?它的实时性如何决定?答:对于基于优先级的实时操作系统而言,非抢先式实时操作系统是指某个任务运行后,就把CPU控制权完全交给了该任务,直到它主动将CPU控制权还回来。优点:实时性比不使用实时操作系统的好,程序设计相对简单,可调用不可重入函数(任务间不嵌套)。缺点:如果最长任务的执行时间不能确定,系统的实时性就不能确定。
实时性取决于最长任务执行时间。
5.什么是前后台系统?有何优缺点?它的实时性如何决定?答:应用程序是一个无限的循环,循环中调用相应的函数完成相应的操作,这部分可以看成后台行为。前台程序通过中断来处理事件;后台程序则掌管整个嵌入式系统软、硬件资源的分配、管理以及任务的调度,是一个系统管理调度程序。这就是通常所说的前后台系统.优点:系统结构简单,几乎不需要额外的存储开销。缺点:所有的任务具有相同的优先级别,任务响应时间不可预测;后台程序是一个无限循环的结构,一旦在这个循环体中正在处理的任务崩溃,使得整个任务队列中的其他任务得不到机会被处理,从而造成整个系统的崩溃。
实时性取决于所有任务的执行时间之和。
6.简述ARM发生异常时,ARM核心会自动做哪些事情?从异常返回时,我们要做哪些事情?答:当异常产生时,ARMcore:拷贝CPSR到SPSR_设置适当的CPSR位:改变处理器状态进入ARM状态改变处理器模式进入相应的异常模式设置中断禁止位禁止相应中断(如果需要)保存返回地址到LR_设置PC为相应的异常向量返回时,异常处理需要:从SPSR_恢复CPSR从LR_恢复PCNote:这些操作只能在ARM态执行.
7.嵌入式操作系统的作用是什么?请举出3种常见的操作系统。答:作用:嵌入式操作系统是一种用途广泛的系统软件,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配、任务调度,控制、协调并发活动。它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。三种常见的操作系统:实时操作系统,分时操作系统,多道批处理操作系统。
8.计算机中的两种典型体系结构是什么,各自的特点是什么?答:CISC和RISC.RISC特点:*有限、简单的指令集*CPU配备大量的通用寄存器*强调对指令流水线的优化*使用等长指令(即:不需要解析指令)*寻址方式少,绝不出现存储器间接寻址*指令集中指令数一般少于100条,指令格式少于4种*指令功能简单,控制器多采用硬布线方式等。CISC指令结构,即完全采用复杂指令来支持高级语言、应用程序和操作系统。这种PC不但成本高且效率较低,速度受限。
9.ARM处理器共有多少个32位寄存器,多少个为通用寄存器,多少个状态寄存
器。答:31个32位寄存器。31个通用寄存器。6个状态寄存器。10.在ARM指令中,R13寄存器常用?R14寄存器被称为?,R15寄存器?答:R13为SP堆栈寄存器。R14为LR返回指针寄存器。R15为PC程序计数器寄存器。11.弄清楚CPSR每一位的含义,例如:条件标志位N,Z,C,V;控制位;T标志位条件码标志位:N·Z·C·V答:N——本位设置成当前指令运算结果的bit[31]的值。当两个表示的有符号整数运算时,n=1表示运算结果为负数,n=0表示结果为正数或零。Z——Z=1表示运算的结果为零;z=0表示运算的结果不为零。对于CMP指令,Z=1表示进行比较的两个数大小相等。C——下面分四种情况讨论C的设置方法:**在加法指令中(包括比较指令CMN),当结果产生了进位,则C=1,表示无符号运算发生溢出(overflow);其他情况C=0。**在减法指令中(包括比较指令CMP),当运算中发生借位,则C=0,表示无符号运算数发生进位;其他情况下C=1。对于包含移位操作的非加减运算指令,C中包含最后一次溢出的位的数值对于其他非加减运算指令,C位的值通常不受影响V——对于加减运算指令,当操作数和运算结果为二进制的补码表示的带符号数时,V=1表示符号位溢出;通常其他指令不影响V位。
12、ARM核中什么寄存器用于存储PC?R13通常用来存储什么?R14通常用来
存储什么?答:R15程序寄存器寄存PC。R13:寄存器R13在ARM指令中常用作堆栈指针SP。而在Thumb指令集中,某些指令强制性的要求使用R13作为堆栈指针。R14:寄存器R14也称作子程序链接寄存器或链接寄存器LR。当执行BL子程序调用指令时,R14中得到R15(程序计数器PC)的备份。其他情况下,R14用作通用寄存器。13、简述static和volatile关键字的含义和作用。
答:1)、volatile,声明这个字段易变(可能被多个线程使用),Java内存模型负责各个线程的工作区与主存区的该字段的值保持同步,即一致性。2)、static,声明这个字段是静态的(可能被多个实例共享),在主存区上该类的所有实例的该字段为同一个变量,即唯一性。3)、volatile,声明变量值的一致性;static,声明变量的唯一性。此外,volatile同步机制不同于synchronized,前者是内存同步,后者不仅包含内存同步(一致性),且保证线程互斥(互斥性)。4)、static只是声明变量在主存上的唯一性,不能保证工作区与主存区变量值的一致性;除非变量的值是不可变的,即再加上final的修饰符,否则static声明的变量,不是线程安全的。14、、通用寄存器包括R0~R15,可以分为具体哪三类?1)未分组寄存器R0~R7;2)分组寄存器R8~R14;3)程序计数器PC(R15)。15、请描述Thumb状态下的寄存器与ARM状态下的寄存器有什么关系?
(1)Thumb状态下和ARM状态下的R0~R7是相同的。(2)Thumb状态下和ARM状态下的CPSR和所有的SPSR是相同的。(3)Thumb状态下的SP对应于ARM状态下的R13。(4)Thumb状态下的LR对应于ARM状态下的R14。(5)Thumb状态下的程序计数器对应于ARM状态下R15。16、当一个异常出现以后,ARM微处理器会执行哪几步操作?
答:(1)将下一条指令的地址存入相应连接寄存器LR,以便程序在处理异常返回时能从正确的位置重新开始执行。若异常是从ARM状态进入,则LR寄存器中保存的是下一条指令的地址(当前PC+4或PC+8,与异常的类型有关);若异常是从Thumb状态进入,则在LR寄存器中保存当前PC的偏移量,这样,异常处理程序就不需要确定异常是从何种状态进入的。例如:在软件中断异常SWI,指令MOVPC,R14_svc总是返回到下一条指令,不管SWI是在ARM状态执行,还是在Thumb状态执行。(2)将CPSR复制到相应的SPSR中。(3)根据异常类型,强制设置CPSR的运行模式位。(4)强制PC从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。
17、简述ARM微处理器两种工作状态集的切换操作及方法。ARM处理器状态:
答:1、从ARM状态切换到Thumb状态有两种情况(1)执行BX指令,当操作数寄存器的位[0]为1时,则微处理器从ARM状态切换到Thumb状态。此为主动切换。