当前位置:首页 > 上海交大--嵌入式系统及应用所有章节单元自测(1)
C. 在C/C++中,函数的内联(inline)化是遵循选用速度更快的指令的优化原则。 D. 整数乘以4的运算可以变为左移2位来完成是遵循减少指令或执行次数的优化原则。 6. 对于如下C代码片段:
for ( i=0; i<30; i++) a[i] = get_data(i) * 33;
假设:1) get_data函数是别人实现的,它返回一个根据i而定的整数值;2) 编译器不会帮你进行任何优化;3) 目标CPU上乘法需要较多周期。
则以上代码( D )。 A. 不需要进行优化 B. 需要优化,代码为:
for ( i=0; i<30; i++) a[i]=get_data(i)<<5 + get_data(i); C. 需要优化,代码为:
for ( i=0; i<30; i++) a[i]=(get_data(i)<<5) + get_data(i); D. 需要优化,代码为: int j;
for ( i=0; i<30; i++) { j = get_data(i); a[i]=(j<<5) + j; }
7. 对于如下C代码片段: for ( i=0; i<30; i++)
a[i] = get_data(i); for ( j=0; j<30;j++)
b[j] = a[j] – 78 + 100;
假设:1) get_data函数是别人实现的,它返回一个根据i而定的整数值;2) 编译器不会帮你进行任何优化; 则以上代码( B )。 A. 不需要进行优化 B. 需要优化,代码为:
for ( i=0; i<30; i++) { a[i] = get_data(i); b[i] = a[i] + 22; } C. 需要优化,代码为:
for ( i=0; i<30; i++) { a[i] = get_data(i); b[i] = a[i] – 78 + 100; } D. 需要优化,代码为:
for ( i=0; i<30; i++) a[i] = get_data(i); for ( j=0; j<30; j++) b[j] = a[j] + 22;
8. 对于如下C代码片段: for ( i=0; i 假设:1) get_data和loop_count函数是别人实现的,它返回一个整数值;2) 编译器不会帮你进行任何优化; 则以上代码( C )。 A. 不需要进行优化 B. 需要优化,代码为: int j = get_data(i); for ( i=0; i< loop_count(); i++) a[i] = j; C. 需要优化,代码为: int j = loop_count(); for ( i=0; i for ( i=0; i< k; i++) a[i] = j; 9. 关于软件优化的工具,下面说法正确的是( C )。 A. 简档(Profiling)工具可以自己实现对用户程序的修改、优化。 B. 将归并排序改为快速排序是编译器能自动完成的优化。 C. 当gcc编译、链接程序时,使用-O3参数得到可执行文件的长度可能比-O2要大。 D. 在ARM架构机器上使用IPP库完成计算可以收到缩短运行时间的效果。 第八章 1. 下面说法正确的是:( B )。 A. 基于CMOS工艺的处理器内核的动态功耗与供电电压成正比 B. 基于CMOS工艺的处理器内核可支持的工作频率一定范围内随着供电电压升高而升高 C. 目前的笔记本中,CPU功耗在整体系统功耗中占了绝对的大头 D. 基于CMOS工艺的处理器内核的动态功耗与工作频率的平方成正比 2. CPU节流(CPU throttling)采用的是( B )功耗控制技术。 A. APM、ACPI标准 Gating)技术 3. Intel EIST采用的是( B )功耗控制技术。 A. APM、ACPI标准 Gating)技术 4. 操作系统的各种睡眠状态中,必须保持对内存供电的是( A )。 A. 待机(Standby) B. 休眠(Hibernate) C. 睡眠(Sleep) D. 关机 B. 动态电压/频率放缩技术 C. 节能的电路设计和制造工艺 D. 时钟门控(Clock B. 动态电压/频率放缩技术 C. 节能的电路设计和制造工艺 D. 时钟门控(Clock 5. 下面不符合低功耗设计原则的行为是( B )。 A. 在循环控制变量前加register关键词。 B. 一个要求持续一段时间的Windows程序的实现思路是,不停地将系统时间比对截止时间,大于等于时结束程序。 C. 一个要求持续一段时间的Windows程序的实现思路是,用开始程序开始启动一个系统定时器,将时间到消息(Message)的响应动作设置为结束应用。 D. 一个要求持续一段时间的Windows程序的实现思路是,调用操作系统Sleep函数睡眠指定时间后结束应用。 6. 关于Linux的功耗控制技术,下面说法正确的是( C )。 A. PowerTop可以降低Linux内核运行的功率消耗。 B. PowerTop可以自动修改程序代码,将其改为符合低功耗原则的代码。 C. Tickless Idle降低了Linux内核运行的功率消耗,特别是系统轻负载时的功率消耗。 D. Tickless Idle通过将Linux内核定时循环的周期延长的方式来降低内核的功率消耗。 试验基础:嵌入式Linux和Linux 1. 关于嵌入式Linux,下面说法正确的是( D ) A. 嵌入式Linux通用采用了桌面Linux的图形用户界面(GUI)。 B. 不同Linux发行版本(Linux distribution)的Linux内核不同。 C. 嵌入式Linux的内核与通用Linux的内核完全属于两个不同的体系。 D. 嵌入式Linux在通用Linux上经过裁剪、定制和修改后得到的,它拥有更小的ROM空间要求、更快的启动速度。 2. 关于Linux内核,下面说法错误的是( A ) A. Linux采用了微内核结构。 B. Linux支持虚拟地址模式。 D. Linux的驱动程序可以动态加载和卸载。 C. Linux是一种抢占式多任务操作系统。 3. 关于Linux设备驱动,下面说法正确的是( D ) A. 硬盘属于字符设备。 B. Linux设备驱动工作在用户态。 C. Linux设备文件对应着磁盘中占一定容量空间的数据,自然可以用cp命令来拷贝。 D. 用户可以选择将Linux设备驱动直接编译到kernel中,或者编译成独立的可动态加载的模块(loadable module)。 4. 关于Linux文件的链接,下面说法正确的是( A ) A. 无法创建到一个目录的硬链接。 C. 无法创建到一个目录的软链接。 B. 当移动了原路径后,硬链接就失效(orphaned)了。 D. 软链接就是多个不同的文件路径名指向同一个inode。 5. 关于嵌入式Linux文件系统,下面说法正确的是( D ) A. JFFS2中每次修改都是修改原来的数据节点。 B. ext2、ext3是适用于Flash存储介质的文件系统。 C. CRAMFS是可读和写的,并对文件内容进行了压缩的文件系统。 D. Tmpfs、Ramdisk、Initrd都是以内存为存储介质的文件系统,如果系统掉电就会丢失全部的数据。 6. 关于嵌入式Linux移植,下面说法正确的是( B ) A. 嵌入式Linux移植仅仅包括内核的编译与移植。 B. 嵌入式Linux移植包括驱动的开发、移植工作。 C. Linux移植最后得到的FLASH中不包括Bootloader。 D. Linux移植最后得到的FLASH中仅仅包括Linux内核和根文件系统。 7. 显示当前目录的路径的命令是( D ) A. cd B. cd / C. cd $HOME D. pwd 8. 在整个文件系统搜索hello.c文件所在的位置,可以使用( D )命令。 A. ls -l hello.c B. cat \ C. grep -i hello.c D. find / -name hello.
共分享92篇相关文档