1、嵌入式系统设计师-58 及答案解析(总分:25.00,做题时间:90 分钟)1.下列关于 IEEE1394 的叙述中,正确的是_。(分数:1.00)A.IEEE1394 最高传输速率可达 120Mb/sB.IEEE1394 具有 32 位的地址宽度C.IEEE1394 不分主设备和从设备,都是主导者和服务者D.IEEE1394 是一个并行接口标准,所以传输速率很快2.下列关于流水线的叙述中,错误的是_。(分数:1.00)A.流水线能够提高吞吐率B.流水线提高了器件的利用率C.流水线提高了单指令的处理速度D.超标量处理器采用了流水线技术3.软件测试按级别可分为_。(分数:1.00)A.单元测试、
2、部件测试、配置项测试、系统测试B.黑盒测试、白盒测试、灰盒测试C.代码走查、逻辑测试、功能测试、性能测试D.接口测试、边界测试、部件测试、系统测试4.在 ANSIC 中,sizeof(int) 是在_时确定其占用内存空间大小的。(分数:1.00)A.编辑B.编译C.链接D.运行5.关于计算机性能的评价,下列说法中错误的是_。(分数:1.00)A.微处理器主频高的机器比主频低的机器速度快B.平均指令执行速度(MIPS)能正确反映计算机执行实际程序的速度C.基准程序测试法能比较全面地反映实际运行情况,但各个基准程序测试的重点不一样D.EEMBC 测试基于每秒钟算法执行的次数和编译代码大小的统计结果
3、6.以下是部分 ARM 汇编程序,该程序的执行结果是_。 AREA EXAMPLE2,CODE,READONLY ENTYR start MOV ro,#10 MOV r1,#3 BL DOADD doadd ADD r0,r0,r1 MOV pc,1r END(分数:1.00)A.结果值 13 存放在 R0 寄存器中B.结果值 23 存放在 R1 寄存器中C.结果值 13 存放在 LR 寄存器中D.结果值 23 存放在 LR 寄存器中7.关于 SRAM 的写操作周期,下列说法错误的是_。(分数:1.00)A.CE 端为低电平B.R/W“端为高电平C.地址出现在 address 线上D.数据出
4、现在 data 线上8.进行存储解决方案选择时,以下说法错误的是_。(分数:1.00)A.NAND Flash 的读取速度比 NOR Flash 快一些B.NAND Flash 的写人速度比 NOR Flash 快一些C.NAND Flash 的擦除速度比 NOR Flash 快一些D.NAND Flash 的写入操作需要先进行擦除操作9.下面列出了系统维护工作流程中的几个关键步骤,正确的工作顺序是_。 用户提交维护申请报告 交付使用 更新文档 测试 核实和评价维护申请报告 制定维护计划 实施维护(分数:1.00)A.B.C.D.10.下面关于 PV 操作的论述,不正确的是_。(分数:1.00
5、)A.P 操作和 V 操作是执行时不被打断的两个操作系统原语B.P 操作和 V 操作可单独使用C.PV 操作与信号灯的处理相关D.P 表示通过的意思,V 表示释放的意思【说明】 在某嵌入式安全监测系统中,对某任务的加工操作需通过数据采集(Collect_task)、计算(Calculate_task)这两个不同的程序段来完成,并且执行程序段 Collect_task 和 Calculate _task 的顺序及次数有如下约定: Collect_task(2 次)Calculate_task(1 次)Collect_task(5 次)Calculate_task(4 次)Collect_task
6、(2 次)Calculate_task(2 次) 表 所示为 x86 系统部分指令及寄存器说明。 表 x86 系统部分指令及寄存器说明表 指令 功能 寄存器 功能 MOV 传送字或字节 CS 代码段寄存器 LEA 地址传送 DS 数据段寄存器 ADD 加法指令 SS 堆栈段寄存器 SUB 减法指令 ES 附加段寄存器 PUSH 进栈操作 段寄存器 AX 累加器 POP 出栈操作 BX 基址寄存器 SAL 算术左移 CX 计数寄存器 CALL 子程序调用 数据寄存器 DX 数据寄存器 DEC 减 1 指令 BP 基数指针寄存器 JMP 无条件转移指令 SP 堆栈指针寄存器 JZ/JNZ 结果为
7、0/不为 0 时转移 SI 源变址寄存器 JL/JG 结果小于/大于转移 专用寄存器 DI 目的变址寄存器 JC/JNC 有进(借)位/无进(借)位时转移 INT 软中断 RET 返回主程序 IRET 从中断服务程序返回 采用逻辑尺控制法实现以上要求的汇编程序如下: 【汇编程序代码】 N EQU 1 RULE EQU 2 CODE SEGMENT ASSUME CS:CODE START: MOV AX,RULE MOV CL,N LOP: SAL AX,1 JC 3 Collect: CALL Collect_task ;执行 Collect_task 程序段 JMP 4 Calculate
8、:CALL Calculate_task ;执行 Calculate_task 程序段 NEXT: 5 JNZ 6 MOV AH,4CH ;功能号送入 AH 寄存器 INT 7 ;结束程序运行,中断返回 8 END START(分数:15.00)(1).【问题 1】 请根据试题的要求,将汇编程序代码中(1)(8)空缺处的内容填写完整。(分数:5.00)_(2).【问题 2】 汇编程序是一种系统软件,它的基本功能是将汇编语言源程序翻译成(1)。对于一个 N 行汇编语言代码的源程序,由于汇编指令中形成操作数地址的部分可能出现后面才会定义的符号,因此汇编程序一般至少需要(2)次扫描程序才能完成翻译过
9、程。(分数:5.00)_(3).【问题 3】 编译程序的功能是什么?解释程序与编译程序的主要区别是什么?请在 150 字以内简要说明。(分数:5.00)_嵌入式系统设计师-58 答案解析(总分:25.00,做题时间:90 分钟)1.下列关于 IEEE1394 的叙述中,正确的是_。(分数:1.00)A.IEEE1394 最高传输速率可达 120Mb/sB.IEEE1394 具有 32 位的地址宽度C.IEEE1394 不分主设备和从设备,都是主导者和服务者 D.IEEE1394 是一个并行接口标准,所以传输速率很快解析:2.下列关于流水线的叙述中,错误的是_。(分数:1.00)A.流水线能够提
10、高吞吐率B.流水线提高了器件的利用率C.流水线提高了单指令的处理速度 D.超标量处理器采用了流水线技术解析:3.软件测试按级别可分为_。(分数:1.00)A.单元测试、部件测试、配置项测试、系统测试 B.黑盒测试、白盒测试、灰盒测试C.代码走查、逻辑测试、功能测试、性能测试D.接口测试、边界测试、部件测试、系统测试解析:4.在 ANSIC 中,sizeof(int) 是在_时确定其占用内存空间大小的。(分数:1.00)A.编辑B.编译 C.链接D.运行解析:5.关于计算机性能的评价,下列说法中错误的是_。(分数:1.00)A.微处理器主频高的机器比主频低的机器速度快 B.平均指令执行速度(MI
11、PS)能正确反映计算机执行实际程序的速度C.基准程序测试法能比较全面地反映实际运行情况,但各个基准程序测试的重点不一样D.EEMBC 测试基于每秒钟算法执行的次数和编译代码大小的统计结果解析:6.以下是部分 ARM 汇编程序,该程序的执行结果是_。 AREA EXAMPLE2,CODE,READONLY ENTYR start MOV ro,#10 MOV r1,#3 BL DOADD doadd ADD r0,r0,r1 MOV pc,1r END(分数:1.00)A.结果值 13 存放在 R0 寄存器中 B.结果值 23 存放在 R1 寄存器中C.结果值 13 存放在 LR 寄存器中D.结
12、果值 23 存放在 LR 寄存器中解析:7.关于 SRAM 的写操作周期,下列说法错误的是_。(分数:1.00)A.CE 端为低电平B.R/W“端为高电平 C.地址出现在 address 线上D.数据出现在 data 线上解析:8.进行存储解决方案选择时,以下说法错误的是_。(分数:1.00)A.NAND Flash 的读取速度比 NOR Flash 快一些 B.NAND Flash 的写人速度比 NOR Flash 快一些C.NAND Flash 的擦除速度比 NOR Flash 快一些D.NAND Flash 的写入操作需要先进行擦除操作解析:9.下面列出了系统维护工作流程中的几个关键步骤
13、,正确的工作顺序是_。 用户提交维护申请报告 交付使用 更新文档 测试 核实和评价维护申请报告 制定维护计划 实施维护(分数:1.00)A. B.C.D.解析:10.下面关于 PV 操作的论述,不正确的是_。(分数:1.00)A.P 操作和 V 操作是执行时不被打断的两个操作系统原语B.P 操作和 V 操作可单独使用 C.PV 操作与信号灯的处理相关D.P 表示通过的意思,V 表示释放的意思解析:【说明】 在某嵌入式安全监测系统中,对某任务的加工操作需通过数据采集(Collect_task)、计算(Calculate_task)这两个不同的程序段来完成,并且执行程序段 Collect_task
14、 和 Calculate _task 的顺序及次数有如下约定: Collect_task(2 次)Calculate_task(1 次)Collect_task(5 次)Calculate_task(4 次)Collect_task(2 次)Calculate_task(2 次) 表 所示为 x86 系统部分指令及寄存器说明。 表 x86 系统部分指令及寄存器说明表 指令 功能 寄存器 功能 MOV 传送字或字节 CS 代码段寄存器 LEA 地址传送 DS 数据段寄存器 ADD 加法指令 SS 堆栈段寄存器 SUB 减法指令 ES 附加段寄存器 PUSH 进栈操作 段寄存器 AX 累加器 PO
15、P 出栈操作 BX 基址寄存器 SAL 算术左移 CX 计数寄存器 CALL 子程序调用 数据寄存器 DX 数据寄存器 DEC 减 1 指令 BP 基数指针寄存器 JMP 无条件转移指令 SP 堆栈指针寄存器 JZ/JNZ 结果为 0/不为 0 时转移 SI 源变址寄存器 JL/JG 结果小于/大于转移 专用寄存器 DI 目的变址寄存器 JC/JNC 有进(借)位/无进(借)位时转移 INT 软中断 RET 返回主程序 IRET 从中断服务程序返回 采用逻辑尺控制法实现以上要求的汇编程序如下: 【汇编程序代码】 N EQU 1 RULE EQU 2 CODE SEGMENT ASSUME CS
16、:CODE START: MOV AX,RULE MOV CL,N LOP: SAL AX,1 JC 3 Collect: CALL Collect_task ;执行 Collect_task 程序段 JMP 4 Calculate:CALL Calculate_task ;执行 Calculate_task 程序段 NEXT: 5 JNZ 6 MOV AH,4CH ;功能号送入 AH 寄存器 INT 7 ;结束程序运行,中断返回 8 END START(分数:15.00)(1).【问题 1】 请根据试题的要求,将汇编程序代码中(1)(8)空缺处的内容填写完整。(分数:5.00)_正确答案:(
17、)解析:(1)16 或等价的二进制数“00010000B” (2)20F3H 或等价的二进制数“0010000011110011B” (3)Calculate (4)NEXT (5)DEC CL (6)LOP (7)21H (8)CODE ENDS(2).【问题 2】 汇编程序是一种系统软件,它的基本功能是将汇编语言源程序翻译成(1)。对于一个 N 行汇编语言代码的源程序,由于汇编指令中形成操作数地址的部分可能出现后面才会定义的符号,因此汇编程序一般至少需要(2)次扫描程序才能完成翻译过程。(分数:5.00)_正确答案:()解析:(1)机器语言程序 (2)两次 这是一道要求读者掌握汇编程序基本
18、功能及其执行过程的常识题。本题所涉及的知识点如下: 汇编程序是一种系统软件,它的基本功能是将汇编语言源程序翻译成机器语言程序。 对于一个 N 行汇编语言代码的源程序,由于汇编指令中形成操作数地址的部分可能出现后面才会定义的符号,因此汇编程序一般至少需要两次扫描程序才能完成翻译过程。 其中,第 1 次扫描的主要工作是通过固定的机器指令表 MOT1 定义符号的值并创建一个符号表 ST,其中,ST 记录了汇编时所遇到的符号的值。 第 2 次扫描的任务是使用机器指令表 MOT2 产生目标程序。(3).【问题 3】 编译程序的功能是什么?解释程序与编译程序的主要区别是什么?请在 150 字以内简要说明。
19、(分数:5.00)_正确答案:()解析:编译程序的功能是把某些高级语言编写的源程序翻译成与之等价的目标语言程序 解释程序与编译程序的主要区别是它不产生源程序的目标程序 这是一道要求读者掌握编译程序、解释程序基本功能的常识题。本题所涉及的知识点如下: 编译程序的功能是把某些高级语言编写的源程序翻译成与之等价的目标语言程序。通常将编译程序的工作过程分为六个阶段,如表所示。每个阶段的操作在逻辑上是紧密相连的,将源程序从一种表示形式一步步转换成目标代码。 表 编译器六个工作阶段功能 名称 主要任务 备注 词法分析阶段 对源程序从前到后、从左到右逐个字符进行扫描,从中识别出一个“单词”符号 这两个阶段的
20、本质都是对源程序的结构进行分析 语法分析阶段 根据语言的语法规则将单词符号序列分解成各类语法单位,构造出相应的语法树 语义分析阶段 对源程序进行类型分析,检查是否存在语义错误,并收集类型信息供代码生成阶段使用 这两个阶段的依据是语言的语义规则 中间代码生成阶段 根据语义分析的输出生成与具体机器无关的中间代码 代码优化阶段 优化中间代码在时间和空间上的浪费问题 依据是程序的等价变换规则 目标代码生成阶段 把中间代码变换成特定机器上的绝对指令码、可重定位的指令代码或汇编指令代码 此阶段的工作与与具体的机器相关 符号表管理 记录源程序中各个符号的必要信息,以辅助语义的正确性检查和代码生成 出错处理 处理源程序中的静态错误和动态错误 解释程序是另一种语言处理程序,在词法、语法和语义分析方面与编译程序的工作原理基本相同,但在运行用户程序时,它直接执行源程序或源程序的内部形式。 解释程序与编译程序的主要区别在于它不产生源程序的目标程序。 解释程序通常可以分为两部分:第一部分是分析部分,包括通常的词法分析、语法分析和语义分析程序,经语义分析后把源程序翻译成中间代码,中间代码常采用逆波兰表示形式;第二部分是解释部分,用来对第一部分所生产的中间代码进行解释执行。