《上海交大--嵌入式系统及应用所有章节单元自测.pdf》由会员分享,可在线阅读,更多相关《上海交大--嵌入式系统及应用所有章节单元自测.pdf(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、.第一章第一章1.下列哪个不是嵌入式系统的特点:(D)。A.专用性 B.资源受限 C.功耗约束 D.D.常由外接交流电电源供电常由外接交流电电源供电2.下列哪些不是嵌入式系统:(D)。A.移动、手机 B.MP3C.MIDD.D.深蓝超级计算机深蓝超级计算机3.关于嵌入式组成,下面说法错误的是:(A)。A.A.嵌入式系统的中间层是位于操作系统与应用程序之间嵌入式系统的中间层是位于操作系统与应用程序之间。B.嵌入式系统包括硬件和软件C.嵌入式系统包含了一个计算机系统基本部件D.并不是每个嵌入式系统都拥有独立的操作系统第二章第二章1.指令和数据共享同一总线的体系结构是(A)。A.A.诺依曼结构诺依曼
2、结构 B.哈佛结构 C.RISCD.CISC2.下面不属于嵌入式处理器的是:(A)。A.Intel CoreA.Intel Core(酷睿)处理器(酷睿)处理器 B.Intel Atom处理器 C.MCS-51 单片机 D.ARM 处理器3.在嵌入式处理器与外部设备接口中,使用2 根线实现多对多双向收发的是:(B)。A.UARTB.I2CB.I2CC.SPID.USB4.假设使用奇偶校验位,UART 发送一个字节的数据,从 idle 状态开始(及数据线为高),到允许进行下一次发送动作态为止,至少需要(D)个时钟节拍。A.8B.9C.10D.11D.11第三章第三章1.关于嵌入式处理器内核性能,
3、下面说法正确的是:(C)A.DMIPS 反映处理器内核的功耗性能。B.DMIPS 越高反映处理器内核架构的越先进。C.C.“DMIPS/主频”越高反映处理器内核架构的越先进。“DMIPS/主频”越高反映处理器内核架构的越先进。D.内核的动态功耗性能一般用mW 来衡量。2.关于体系结构与实现结构,下面说法正确的是:(C)A.x86 是一种实现结构。B.x86 架构处理器的实现结构都是一样的。C.C.体系结构相同的处理器器其指令集是相同或兼容的。体系结构相同的处理器器其指令集是相同或兼容的。D.不同处理器要想拥有相同或兼容的指令集,其实现结构也必须一样。3.关于 SIMD 说法错误的是:(B)。A
4、.SIMD 通过复制 ALU 和寄存器组,共享取值、译码单元来获得计算并行。B.SIMDB.SIMD 是通过增加寄存器个数来提高数据处理的宽度。是通过增加寄存器个数来提高数据处理的宽度。C.SIMD 中多个运算单元运行的是相同的指令。D.Intel Atom 的 SSE 指令属于 SIMD 指令4.关于跳转代码问题,下面说法正确的是:(D)A.任何处理器都会有跳转代码问题。B.处理器流水线深度越浅,跳转指令的影响越大。C.跳转代码问题就是处理器执行跳转指令时跳转目标地址错误导致运行错误问题。D.D.跳转代码问题就是跳转指令导致处理器处理速度下降的问题。跳转代码问题就是跳转指令导致处理器处理速度
5、下降的问题。.word.5.ARM7 中如果需要实现形如 R0=R1+(R23)的操作,最少可以用(A)条指令。A.1A.1B.2C.3D.4第四章第四章1.交叉开发形成的可执行文件(B)。A.直接在宿主机上运行B.B.下载到目标机上运行下载到目标机上运行C.上载到宿主机上运行D.在宿主机和目标机任选一处运行2._需要操作系统或加载程序将其加载到内存中才能执行,_加载器只能把它加载到固定的地址运行。(B)A.可重定位执行文件,可重定位执行文件B.B.可重定位执行文件,不可重定位执行文件可重定位执行文件,不可重定位执行文件C.不可重定位执行文件,可重定位执行文件D.不可重定位执行文件,不可重定位
6、执行文件3.使用 GCC 将 test.c 源代码文件编译、成名为test 可供 gdb 调试使用的可执行文件的命令为(B)。A.gcc test.c c o testB.gcc test.cB.gcc test.c g g o testo testC.gcc test.c pg o testD.gcc test.co test-static4.ELF 文件的.bss section 一般是用来存储:(C)。A.堆栈 B.寄存器 C.C.未初始化的全局变量未初始化的全局变量D.局部变量5.假设一个软件工程包含一个如下的Makefile,且已经用 make 命令进行了一次成功的编译。myprog
7、:data.o main.o io.o cc data.o main.o io.o-o myprogdata.o:data.c data.h cc-c data.cmain.o:data.h io.h main.c cc-c main.cio.o:io.h io.c cc-c io.cclean:rm*.o myprog假设我们又修改了main.c 文件,当执行make 命令时会(C)。A.无动作 B.删除所有.o 目标文件和 myprog 可执行文件C.C.只编译只编译 main.omain.o,然后,然后 myprogmyprog 可执行文件可执行文件 D.编译所有的.o 文件,然后myp
8、rog 可执行文件6.上题中(同样假设我们修改了main.c 文件),当执行 make clean 命令时会(B)。A.无动作 B.B.删除所有删除所有.o.o 目标文件和目标文件和 myprogmyprog 可执行文件可执行文件C.只编译 main.o,然后 myprog 可执行文件 D.编译所有的.o 文件,然后 myprog 可执行文件第五章第五章1.关于嵌入式系统组成,下面说法正确的是(B)A.操作系统是嵌入式系统必不可少的部分。B.B.硬件抽象层包括设备驱动、硬件抽象层包括设备驱动、BootloaderBootloader 与与 BSPBSP。C.BSP(板级支持包)位于操作系统与应
9、用程序之间。D.操作系统一般直接访问全部的硬件。2.关于嵌入式操作系统结构,下面说法正确的是(A)A.A.应用软件可以直接调用操作系统的系统服务。应用软件可以直接调用操作系统的系统服务。B.设备驱动程序工作在用户态(user mode)。C.操作系统内核包括系统库。D.系统库和应用库属于统一层次的两种不同功能的模块。3.关于 Bootloader,下面说法正确的是(C).word.A.Bootloader 是操作系统的一部分。B.操作系统运行期间,Bootloader 一直被使用。C.BootloaderC.Bootloader 的主要任务包括初始化系统硬件,引导和启动操作系统内核。的主要任务
10、包括初始化系统硬件,引导和启动操作系统内核。D.Bootloader 向操作系统提供访问硬件的接口,操作系统需要通过Bootloader 来访问硬件。4.关于 BSP,下面说法正确的是(D)A.BSP 是操作系统的一部分。B.从功能上说,BSP 不包括设备驱动的功能。C.BSP(板级支持包)就是向应用提供访问硬件的接口。D.BSPD.BSP 位于硬件抽象层。位于硬件抽象层。5.下列哪个关于实时系统的说法是不正确的:(A)。A.A.高性能系统一定是实时系统。高性能系统一定是实时系统。B.实时操作系统需保证最坏情况下系统响应时间的可预测性。C.实时操作系统不以提高系统(特别是CPU)的总体利用率为
11、目标。D.硬实时系统中,系统的响应时间如果超过允许上限,可能会造成致命影响。6.关于实时操作系统的任务调度策略,下面说法正确的是(A)A.RMSA.RMS 实现上比实现上比 EDFEDF 简单。简单。B.RMS 属于动态优先级策略。C.EDF 属于静态优先级策略。D.EDF 方法可调度的任务集,RMS 一定能实现可调度。7.关于优先级颠倒问题,下面说法正确的是(B)A.优先级顶置和优先级继承都可防止有边际的颠倒。B.B.无边际的颠倒对实时性造成妨害比有边际的颠倒要大无边际的颠倒对实时性造成妨害比有边际的颠倒要大C.优先级颠倒造成的问题是使操作系统任务调度的效率急速下降。D.高优先级任务H 和低
12、优先级任务L 需要互斥访问一个共享资源R,如果 L 持有 R 的过程中,恰好又被一个中间优先级的任务M 所抢占,此时称为有边际的优先级颠倒。8.关于操作系统的定制与裁剪,下面说法正确的是(A)A.A.操作系统定制与裁剪是一个概念。操作系统定制与裁剪是一个概念。B.操作系统定制在操作系统启动时完成。C.操作系统裁剪就要把操作系统从嵌入式系统删除掉。D.操作系统裁剪不惜以增加操作系统的存储空间为代价来加快操作系统运行速度。9.关于操作系统的合作式多任务和抢占式多任务,下列哪种说法是对的:(B)。A.Linux 不是基于抢占式多任务的。B.B.抢占式多任务很少出现合作式多任务那种被恶意或者出错进程阻
13、塞的情况。抢占式多任务很少出现合作式多任务那种被恶意或者出错进程阻塞的情况。C.合作式多任务中一个任务执行的最小时间是一个时间片。D.合作式还是抢占式的区别在于是不是支持多进程。10.关于嵌入式操作系统,下面说法正确的是(B)A.Clinux 是一种实时操作系统。B.VxWorksB.VxWorks 是一种实时操作系统。是一种实时操作系统。C.嵌入式 Linux 采用了微内核的结构。D.在嵌入式 Linux、VxWorks、Windows CE、C/OS-II 中所占空间最小的是VxWorks。第六章第六章1.下面说法正确的是(A)。A.WIMPA.WIMP 是由是由 WindowsWindo
14、ws、IconsIcons、MenusMenus 以及以及 PointersPointers 为代表的元素组成的图形用户界面。为代表的元素组成的图形用户界面。B.WIMP 是起源于嵌入式设备图形用户界面设计形成的模式。C.WIMP 依赖于触摸屏、指示笔、屏幕键盘来完成交互。D.GUI 是一种命令行操作界面2.下面说法正确的是(D)。A.嵌入式系统一般拥有全键盘之类的输入设备。B.屏幕键盘是覆盖在屏幕上的半透明的物理键盘。C.嵌入式系统和桌面计算机一样常使用4:3 屏幕纵横比的屏幕。D.D.嵌入式系统常采用触摸屏(嵌入式系统常采用触摸屏(Touch-screenTouch-screen)和指示笔
15、()和指示笔(StylusStylus)代替鼠标完成指向输入)代替鼠标完成指向输入。3.当一个应用从桌面计算机移植到同纵横比的小尺寸触摸屏的嵌入式系统时,引起的问题包括(C)。需正确地解释鼠标移动输入的问题。需正确地设置屏幕映射。.word.需处理悬停(Hover-Over)问题。A.B.C.C.D.4.下面说法正确的是(B)。A.在 GUI 库中,消息/事件模型属于设备模型层次的抽象。B.B.在在 GUIGUI 库中,应用模型的抽象是最高级别的抽象。库中,应用模型的抽象是最高级别的抽象。C.在 GUI 库中,将输入设备被封装成键盘扫描码属于交互(单元)模型层次的抽象。D.如果使用第三方的图形
16、界面开发库,开发者也不得不直接访问硬件或者访问Linux 下的 Frame buffer设备。5.常见的嵌入式系统的图形用户界面库包括(B)Micro WindowsQt/EmbeddedJava AWT/SwingA.B.B.C.D.MiniGUIWindows MFC需提供右击的代替功能。第七章第七章1.嵌入式系统的优化包括:(C)。运行速度优化低功耗优化A.B.。C.C.。D.。2.关于性能优化的方法论,下面说法正确的是(B)。A.内存访问方式从SDR 换到 QDR,体现了优化中并行化的思路。B.B.双缓存(双缓存(Double bufferDouble buffer)机制体现了优化中流
17、水线化的思路。)机制体现了优化中流水线化的思路。C.并行 PCI 的速度肯定比串行 PCI 高,前者替换后者是当今PCI 发展的一个趋势。D.Flash 存储 Linux 内核不应该压缩,因为将其装入RAM 运行时需要额外的解压缩时间,与性能优化的方法背道而驰。3.性能优化一般都有代价,也就说性能优化带来的副作用,这些副作用包括:(B)。增加了存储空间需求带来功耗的增加A.B.B.C.D.4.关于性能优化的层次,下面说法正确的是(D)。A.降低算法的计算复杂度属于与平台相关的优化。B.向量运算选用 SIMD 指令完成属于与平台无关的优化。C.减少实际的运算次数和数据搬移次数属于系统层次的性能优
18、化。D.D.用户界面层次的优化并没有加快应用的实际运行速度,对应用的实际运行性能没有改善。用户界面层次的优化并没有加快应用的实际运行速度,对应用的实际运行性能没有改善。5.关于软件性能优化,下面说法正确的是(A)。A.A.高速缓存优化的原则是尽量减少命中失败(高速缓存优化的原则是尽量减少命中失败(cache misscache miss)率。)率。B.向量运算选用 SIMD 指令完成是遵循提高并行度的优化原则。C.在 C/C+中,函数的内联(inline)化是遵循选用速度更快的指令的优化原则。D.整数乘以 4 的运算可以变为左移2 位来完成是遵循减少指令或执行次数的优化原则。6.对于如下 C
19、代码片段:使得相关设计复杂化了削弱了系统的鲁棒性代码尺寸优化体积和重量的优化.word.for(i=0;i30;i+)ai=get_data(i)*33;假设:1)get_data 函数是别人实现的,它返回一个根据i 而定的整数值;2)编译器不会帮你进行任何优化;3)目标 CPU 上乘法需要较多周期。则以上代码(D)。A.不需要进行优化B.需要优化,代码为:for(i=0;i30;i+)ai=get_data(i)5+get_data(i);C.需要优化,代码为:for(i=0;i30;i+)ai=(get_data(i)5)+get_data(i);D.D.需要优化,代码为:需要优化,代码为
20、:int j;int j;for(i=0;i30;i+)for(i=0;i30;i+)j=get_data(i);j=get_data(i);ai=(j5)+j;ai=(j5)+j;7.对于如下 C 代码片段:for(i=0;i30;i+)ai=get_data(i);for(j=0;j30;j+)bj=aj 78+100;假设:1)get_data 函数是别人实现的,它返回一个根据i 而定的整数值;2)编译器不会帮你进行任何优化;则以上代码(B)。A.不需要进行优化B.B.需要优化,代码为:需要优化,代码为:for(i=0;i30;i+)ai=get_data(i);for(i=0;i30;
21、i+)ai=get_data(i);bi=ai+22;bi=ai+22;C.需要优化,代码为:for(i=0;i30;i+)ai=get_data(i);bi=ai 78+100;D.需要优化,代码为:for(i=0;i30;i+)ai=get_data(i);for(j=0;j30;j+)bj=aj+22;8.对于如下 C 代码片段:for(i=0;iloop_count();i+)ai=get_data(i);假设:1)get_data 和 loop_count 函数是别人实现的,它返回一个整数值;2)编译器不会帮你进行任何优化;则以上代码(C)。A.不需要进行优化B.需要优化,代码为:i
22、nt j=get_data(i);for(i=0;i loop_count();i+)ai=j;C.C.需要优化,代码为:需要优化,代码为:int j=loop_count();int j=loop_count();for(i=0;ij;i+)for(i=0;ij;i+)ai=get_data(i);ai=get_data(i);.word.D.需要优化,代码为:int j=get_data(i);int k=loop_count();for(i=0;i k;i+)ai=j;9.关于软件优化的工具,下面说法正确的是(C)。A.简档(Profiling)工具可以自己实现对用户程序的修改、优化。B
23、.将归并排序改为快速排序是编译器能自动完成的优化。C.C.当当 gccgcc 编译、程序时,使用编译、程序时,使用-O3-O3 参数得到可执行文件的长度可能比参数得到可执行文件的长度可能比-O2-O2 要大。要大。D.在 ARM 架构机器上使用IPP 库完成计算可以收到缩短运行时间的效果。第八章第八章1.下面说法正确的是:(B)。A.基于 CMOS 工艺的处理器内核的动态功耗与供电电压成正比B.B.基于基于 CMOSCMOS 工艺的处理器内核可支持的工作频率一定工艺的处理器内核可支持的工作频率一定X X 围内随着供电电压升高而升高围内随着供电电压升高而升高C.目前的笔记本中,CPU 功耗在整体
24、系统功耗中占了绝对的大头D.基于 CMOS 工艺的处理器内核的动态功耗与工作频率的平方成正比2.CPU 节流(CPU throttling)采用的是(B)功耗控制技术。A.APM、ACPI 标准 B.B.动态电压动态电压/频率放缩技术频率放缩技术 C.节能的电路设计和制造工艺D.时钟门控(Clock Gating)技术3.Intel EIST 采用的是(B)功耗控制技术。A.APM、ACPI 标准 B.B.动态电压动态电压/频率放缩技术频率放缩技术 C.节能的电路设计和制造工艺D.时钟门控(Clock Gating)技术4.操作系统的各种睡眠状态中,必须保持对内存供电的是(A)。A.A.待机(
25、待机(StandbyStandby)B.休眠(Hibernate)C.睡眠(Sleep)D.关机5.下面不符合低功耗设计原则的行为是(B)。A.在循环控制变量前加register 关键词。B.B.一个要求持续一段时间的一个要求持续一段时间的WindowsWindows 程序的实现思路是,不停地将系统时间比对截止时间,大于等于时结束程序。程序的实现思路是,不停地将系统时间比对截止时间,大于等于时结束程序。C.一个要求持续一段时间的Windows 程序的实现思路是,用开始程序开始启动一个系统定时器,将时间到消息(Message)的响应动作设置为结束应用。D.一个要求持续一段时间的Windows 程
26、序的实现思路是,调用操作系统Sleep 函数睡眠指定时间后结束应用。6.关于 Linux 的功耗控制技术,下面说法正确的是(C)。A.PowerTop 可以降低 Linux 内核运行的功率消耗。B.PowerTop 可以自动修改程序代码,将其改为符合低功耗原则的代码。C.Tickless IdleC.Tickless Idle 降低了降低了 LinuxLinux 内核运行的功率消耗,特别是系统轻负载时的功率消耗。内核运行的功率消耗,特别是系统轻负载时的功率消耗。D.Tickless Idle 通过将 Linux 内核定时循环的周期延长的方式来降低内核的功率消耗。试验基础:嵌入式试验基础:嵌入式
27、 LinuxLinux 和和 LinuxLinux1.关于嵌入式 Linux,下面说法正确的是(D)A.嵌入式 Linux 通用采用了桌面 Linux 的图形用户界面(GUI)。B.不同 Linux 发行版本(Linux distribution)的 Linux 内核不同。C.嵌入式 Linux 的内核与通用Linux 的内核完全属于两个不同的体系。D.D.嵌入式嵌入式 LinuxLinux 在通用在通用 LinuxLinux 上经过裁剪、定制和修改后得到的,它拥有更小的上经过裁剪、定制和修改后得到的,它拥有更小的ROMROM 空间要求、更快的启动速度。空间要求、更快的启动速度。2.关于 Li
28、nux 内核,下面说法错误的是(A)A.LinuxA.Linux 采用了微内核结构。采用了微内核结构。B.Linux 支持虚拟地址模式。.word.C.Linux 是一种抢占式多任务操作系统。D.Linux 的驱动程序可以动态加载和卸载。3.关于 Linux 设备驱动,下面说法正确的是(D)A.硬盘属于字符设备。B.Linux 设备驱动工作在用户态。C.Linux 设备文件对应着磁盘中占一定容量空间的数据,自然可以用cp 命令来拷贝。D.D.用户可以选择将用户可以选择将 LinuxLinux 设备驱动直接编译到设备驱动直接编译到kernelkernel 中,或者编译成独立的可动态加载的模块(中
29、,或者编译成独立的可动态加载的模块(loadable moduleloadable module)。4.关于 Linux 文件的,下面说法正确的是(A)A.A.无法创建到一个目录的硬。无法创建到一个目录的硬。B.当移动了原路径后,硬就失效(orphaned)了。C.无法创建到一个目录的软。D.软就是多个不同的文件路径名指向同一个inode。5.关于嵌入式 Linux 文件系统,下面说法正确的是(D)A.JFFS2 中每次修改都是修改原来的数据节点。B.ext2、ext3 是适用于 Flash 存储介质的文件系统。C.CRAMFS 是可读和写的,并对文件内容进行了压缩的文件系统。D.TmpfsD
30、.Tmpfs、RamdiskRamdisk、InitrdInitrd 都是以内存为存储介质的文件系统,如果系统掉电就会丢失全部的数据。都是以内存为存储介质的文件系统,如果系统掉电就会丢失全部的数据。6.关于嵌入式 Linux 移植,下面说法正确的是(B)A.嵌入式 Linux 移植仅仅包括内核的编译与移植。B.B.嵌入式嵌入式 LinuxLinux 移植包括驱动的开发、移植工作。移植包括驱动的开发、移植工作。C.Linux 移植最后得到的 FLASH 中不包括 Bootloader。D.Linux 移植最后得到的 FLASH 中仅仅包括 Linux 内核和根文件系统。7.显示当前目录的路径的命令是(D)A.cdB.cd/C.cd$HOMED.pwdD.pwd8.在整个文件系统搜索hello.c 文件所在的位置,可以使用(D)命令。A.ls-l hello.cB.cat hello.cC.grep-i hello.cD.find/-name hello.D.find/-name hello.word.