[计算机类试卷]2014年下半年软件水平考试(中级)嵌入式系统设计师下午(应用技术)真题试卷及答案与解析.doc

上传人:outsidejudge265 文档编号:493170 上传时间:2018-11-30 格式:DOC 页数:23 大小:1.33MB
下载 相关 举报
[计算机类试卷]2014年下半年软件水平考试(中级)嵌入式系统设计师下午(应用技术)真题试卷及答案与解析.doc_第1页
第1页 / 共23页
[计算机类试卷]2014年下半年软件水平考试(中级)嵌入式系统设计师下午(应用技术)真题试卷及答案与解析.doc_第2页
第2页 / 共23页
[计算机类试卷]2014年下半年软件水平考试(中级)嵌入式系统设计师下午(应用技术)真题试卷及答案与解析.doc_第3页
第3页 / 共23页
[计算机类试卷]2014年下半年软件水平考试(中级)嵌入式系统设计师下午(应用技术)真题试卷及答案与解析.doc_第4页
第4页 / 共23页
[计算机类试卷]2014年下半年软件水平考试(中级)嵌入式系统设计师下午(应用技术)真题试卷及答案与解析.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、2014年下半年软件水平考试(中级)嵌入式系统设计师下午(应用技术)真题试卷及答案与解析 一、试题一 1 阅读下列说明和图,回答问题 1至问题 3,将答案填入答题纸的对应栏内。【说明】 ATM自动取款机系统是一个由终端机、 ATM系统、数据库组成的应用系统,具有提取现金、查询账户余额、修改密码及转账等功能。 ATM自动取款机系统用例图如图 1-1所示。 ATM自动取款机系统功能组成如图 1-2所示。【问题 1】 根据 ATM自动取款机系统功能和系统用例图,完成图 1-3所示的 ATM自动取款机系统的系统状态图,将系统状态图 中的 (1) (6)答案填写在答题纸的对应栏中。【问题 2】 ATM自

2、动取款机系统取款用例描述用户取款的过程。其事件流如下: (1)基本流 a用户输入取款金额; b系统验证输入金额是否符合输入要求; c系统验证用户账户余额; d系统显示用户账户余额; e用户确认取款金额; f系统要求点钞机出钞; g系统更新并保存账户信息。 (2)备选流 a如果输入金额不符合输入数字格式要求,给出提示,退出; b如果输入金额超出最大取款金额,给出提示,退出; c如果用户没有确认,给出提示,退出。 根据上述 ATM自动取款机系统取款用例描述,请完成取款功能的流程图,将答案填写在答题纸的对应栏中。【问题 3】 ATM自动取款机系统是与银行服务器联网的网络系统,由于系统涉及个人和企事业

3、单位的财产安全,要求网络通信安全可靠,因此通信过程要采取消息加解密、身份认证、消息鉴别和访问控制等信息安全措施。 (1)请简要解释下列术语的基本概念,将答案填写在答题纸的对应栏中。 a对称密钥 b公开密钥 c访问控制 d消息鉴别 (2)以下几种常见的加密算法哪些属于对称加密算法 ?哪些属于非对称加密算法 ?请将答案填写在答题纸的对应栏中 。 a DES b RSA c AES d IDEA e PGP f DSA g椭圆曲线 DSA 二、试题二 2 阅读下列说明和图,回答问题 1和问题 2,将解答填入答题纸的对应栏内。【说明】 在嵌入式系统设计中,李工使用某嵌入式处理器和对应的以太网芯进行带有

4、网络功能的单板实现,该电路中还包含 DDR、 Flash等存储芯片和相应的外围控制芯片。图 2-1为所选用嵌入式处理器的存储模块存储地址总线变换示意图,图2 2为以太网芯片外围设计的相关原理示意图,图 2-3为用户在该嵌入式单板系统上实现内部嵌入式 Web服务器 的流程示意图。 在该嵌入式处理器的存储系统设计中,嵌入式处理器内部包含 SA25: 0(从高到低 )共 26根系统地址总线,外部使用22根数据线和外部存储设备进行连接。 嵌入式处理器和以太网芯片之间的交互接口为 MII(Media Independent Interface)接口,包含数据线和控制线。数据线分为收发两个方向:其中 RX

5、D3: 0为并行数据接收线, RXCLK为对应的时钟线;TXD3: O为并行数据发送线, TXCLK为对应的时钟线。 MDIO和 MDC为控制线,通过其进行以太网芯片的配置。以太网芯片的最 大通信频率由其外围的晶振频率和收发数据线的并行数目决定。 在嵌入式系统设计中,嵌入式处理器和以太网芯片之间可以设计为一对多的方式,每个以太网控制器都有一个 PHYID,该PHYID依赖于以太网芯片周边的电路设计。在图 2 2的设计中,该以太网芯片的PHYID由图中的 PHYID4: 0五个管脚来定。对于该以太网芯片而言,PHYID4: 0在启动时是作为 PHYID选择控制使用,在启动后是作为其它指示功能使用

6、。 PHYID的最大值是 31(五位 ),最小是 0,由 PHYID4: 0从高位到低位决定,对应管脚为高电平时对 应的值为 1,低电平时对应的值为 0。【问题 1】 如图2-1所示,用户可以通过寄存器将存储总线变换方式配置为字节模式 (8位模式 ),半字模式 (16位模式 )或者字模式 (32位模式 )中的任何一种,不同模式下,所使用到的地址线不同。 在图 2-1中的, 、 、和 分别对应的地址线连接应该依次是 (1) 。 A SA2-SA23, SA1一 SA22, SA0一 SA21B SA0-SA2 1, SA2-SA23, SA1一SA22C SA1一 SA22, SA2一 SA23

7、, SA0一 SA21lD SA0-SA21, SA1一 SA22,SA2一SA23根据图 2-2的网络部分相关电路设计,可以知道该嵌入式处理器的网络通信中,最大通信频率是 (2)Mbps。 A 10000 B 1000 C 100 D 10 如果该网络芯片工作在100Mbps,那么在图 22的设计中, RXCLK的工作频率应该是 (3)Mbps 根据图22的电路和题目说明,在该电路中,以太网芯片的 PHYID应该是 (4) 。【问题2】 在图 2-3中,为了实现嵌入式 Web服务器和对应的请求流程,李工设计了该流程示意图,根据网络通信的过程,从下面选项中选择合适的处理过程,填充图 2-3中的

8、空 (1) (4)。 空 (1) (4)备选答案: A.创建 TCP socket套接字 B.关闭 socket套接字 C.accept尝试建立 TCP连接 D.HTTP服务 E.数据发送处理 F.数据接收处理 G bind绑定套接字 H本地其它服务处理 I 1isten侦听客户套接字 J创建 UDP socket套接字 三、试题三 3 阅读下列说明,回答问题 1至问题 3,将解答填入答题纸的对应栏内。【说明】 某嵌入式刹车控制软件,应用于汽车刹车控制器,该软件需求如下: 1模式选择:采集模式控制离散量信号 In_D1并通过模式识别信号灯显示软件当前工作模式。在信号 In_D1为低电平时进入正

9、常工作模式 (模式识别信号灯为绿色 ),为高电平时进入维护模式 (模式识别信号灯为红色 )。软件在正常工作模式下仅进行刹车控制和记录刹车次数,在维护模式下仅进行中央控制器指令响应; 2刹车控制:采用定时中断机制,以 5ms为周期采集来自驻车器发出的模拟量信号 In_A1以及来自刹车踏板发出的模拟量信号 In_A2,并向刹车执行组件发送模拟量信号 Out_A1进行刹车控制; 3记录刹车次数:在 Out_A1大于 4V时,读出非易失存储器NVRAM中保存的刹车次数记录进行加 1操作,然后保存至非易失存储器 NVRAM中; 4响应中央控制器指令:接收来自中央控制器的串行口指令字 In_S1,回送串行

10、口响应字 Out_S1。当接收的指令字错误时,软件直接丢弃该命令字,不进行任何响应。 指令字及响应字说明如表 31所示。【问题 1】请简述本软件串行输入接口测试的测试策略及测试内容。针对表 31中 “读取刹车次数指令 ”进行鲁棒性测试时应考虑哪些情况 ?【问题 2】 某测试人员设计了表 3 2所示的操作步骤对模式选择功能进行测试 (表中 END表示用例到此结束 )。为进一 步提高刹车控制软件的安全性,在需求中增加了设计约束:软件在单次运行过程中,若进入正常工作模式,则不得再进入维护模式。请参照表 3 2的测试用例完成表 3 3,用于测试该设计约束。【问题 3】 本项目在开发过程中通过测试发现了

11、 17个错误,后期独立测试发现了31个软件错误,在实际使用中用户反馈了 2个错误。请计算缺陷探测率 (DDP)。 四、试题四 4 阅读下列说明、图和表,回答问题 1至问题 3,将答案填入答题纸的对应栏内。【说明】 某公司承接了一个控制系统的项目,由王工负责系统的方案设计。王工的设计方案如图 4 1所 示。该方案是基于 VME总线的多机并行处理系统,由主控制模块作为 VME总线的主设备,即总线控制器,负责整个系统的控制与管理;3个数据处理模块作为从设备,负责数据处理与计算; 1个 I O模块也作为从设备,负责系统与外部接口之间的高速数据通信。同时,为了简化设计,该系统 5个模块均采用同一款 VM

12、E协议芯片,实现内总线和 VME总线的连接。该系统中每个模块的相关信息见表 4-1所示。【问题 1】 王工设计采用共享存储器方式,进行多机之间的通信。 VME共享存储器的地址空间映射,分为输出窗口和输入窗口两部分。输出窗口实现处理 器本地地址空间到 VME总线地址空间的映射,输入窗口实现 VME总线地址空间到处理器本地地址空间的映射。输出窗口空间设置说明:为了每个模块能访问到其他 4个模块,在每个模块的处理器本地地址空间中开辟 5M空间,映射到 VME总线上的5M地址空间。映射关系见表 4-2输入窗口空间设置说明:每个模块分配 1M的 VME地址空间,并将这 1M空间映射到处理器本地 RAM区

13、域中,专门用于 VME通信数据缓冲区。映射关系见表43。VME总线驱动中,按照上述方式对寄存器进行设置,实现了 VME总线共享存储器工作方式,将对其他模块的 操作转化为对处理器本地地址空间访问操作相似的读写操作,并且都采用总线远程写,总线本地读的方式。 数据处理模块 1发送消息到数据处理模块 2,它们之间采用 1M数据缓冲区的第一个 32位作为握手标志。则数据处理模块 1访问标志区的总线地址为 (1) ,数据处理模块 2访问标志区的总线地址为 (2) 。 I O模块向主控制模块发送控制命令,它们之间采用 1M数据缓冲区偏移 Oxloo处作为命令缓冲区。则 I O模块访问命令区的总线地址为 (3

14、) ,主控制模块访问命令区的总线地址为 (4) 。【问题 2】 如表 4-1所示,该系统中采用的处理器有大端和小端两种工作模式。王工设计 VME总线上传输的数据全部采用小端方式,那么当处理器通过 VME总线发送数据时,需要根据自己的工作模式,对数据进行必要的转换,以符合协议要求。 当 I O模块向主控制模块发送控制命令 OxAABBCCDD,那么它写入 VME总线的实际数据是 (1) ,当主控制模块向数据处理模块 3和 I O模块发送控制命令 Oxl2345678,那么它写入 VME总线的实际数据是 (2) 和 (3) 。【问题 3】 为了提高数据通信的性能,在进行大数据量通信时,王工设计采用

15、 DMA的方式。 DMA通信方 式能够满足高速 VME设备的需求,也有利于发挥 CPU效率。该 VME协议芯片有两种 DMA工作方式:一种是直接方式 (Direct mode),一种是链方式 (Linked_listmode)。在直接方式下,在每次数据传输前,需要驱动程序对 DMA控制寄存器进行设置,然后进行 DMA传输,并等待传输完成,或者异常错误。直接方式是一种软件和硬件同步工作方式。在链方式下,驱动程序只需要设置命令包。在通信过程中,硬件根据命令包的内容完成传输,并根据链中的下一个命令包,继续传输,直到所有命令包完成或者异常错误。链方式是一种软件和 硬件异步工作的方式。 图 4-2是 D

16、MA直接方式的流程图,请补全流程图,并将答案填写在答题纸的对应栏中。五、试题五 5 阅读下列说明和程序,回答问题 1至问题 3,将答案填入答题纸的对应栏内。 【说明】 在开发某嵌入式系统时,设计人员根据系统要求,分别编写了如下程序,其中: 【程序 1】:实现两个变量的值的互换; 【程序 2】:完成某功能的 C语言程序; 【程序 3】和【程序 4】:是 P、 V操作的形式化定义,设 S为信号量。在多道程序系统中,进程是并发执行的。这些进程间存在着不同的相 互制约关系,主要表现为同步和互斥两个方面。信号量是解决进程间同步与互斥的有效方法。 【程序 1】 Void swap(int n1, int

17、n2) int tmp=n1; n1=n2; n2=tmp; 【程序 2】 #include int fun(int n) int f0=0, f1=1, f, i; if(n=0) return 0; if(n=1) return 1; for(i=2; i =n; i+) f=f0+f1; f0=f1; f1=f; return f; void main() int n=5; printf(”fun( d)= d n”, n, fun(n); n=7; printf(”fun( d)= d n”, n, fun(n); n=9; printf(”fun( d)= d n”, n, fun(

18、n); 【程序 3】 P操作的形式化定义: P(S) (1) : if ( (2) ) 阻塞该进程 ; 将该进程插入信号量 S的等待队列; 【程序 4】 V操作的形式化定义: V(S) (3) ; if ( (4) ) 从信号量 S的等待队列中取出队首进程; 将其插入就绪队列; 【问题 1】 执行 【程序 1】后,没有能够实现两个变量值的交换,为什么 ?请修改上述函数,实现两个变量值的交换,要求函数无返回值,形式为: void swap() 。请将答案填写在答题纸中对应的栏目。 【问题 2】 请问【程序 2】运行结果是什么 ? 【问题 3】 请简述什么是临界资源 ?什么是临界区 ? 请完成【程

19、序 3】和【程序 4】的形式化定义,将应填入 (n)处的内容写在答题纸的对应栏中。 2014年下半年软件水平考试(中级)嵌入式系统设计师下午(应用技术)真题试卷答案与解析 一、试题一 1 【正确答案】 【问 题 1】 (1)取款 (2)选择修改密码 (3)选择继续服务 (4)选择转账 (5)转账 (6)输入密码【问题 2】【问题 3】 (1) a对称密钥:对称密钥加密又叫专用密钥加密,即发送和接收数据的双方必须使用相同的密钥对明文进行加密和解密运算。 b公开密钥:公开密钥也称为非对称密钥,每个人都有一对唯一对应的密钥:公开密钥 (简称公钥 )和私人密钥 (私钥 ),公钥对外公开,私钥由个人秘密

20、保存;用其中一把密钥加密,就只能用另一把密钥解密。 c访问控制:按用户身份及其所归属的某项定义组来限制用户对某些信息项的访问,或 限制对某些控制功能的使用的一种技术。 d消息鉴别:利用鉴别函数产生一个鉴别符,接收者通过鉴别符能够检验和证实消息的合法性、真实性和完整性。这是一个证实收到的消息来自可信的原点且未被篡改的过程。 (2) 对称加密算法: DES、 AES、 IDEA 非对称加密算法: RSA、 PGP、DSA、椭圆曲线 DSA 【试题解析】 本题考查软件设计中的状态图、流程图以及信息安全方面概念和基本知识。 本题要求考生认真阅读题目的描述,根据 ATM自动取款机系统用例图和 ATM自动

21、取款机系统功能图了解 ATM自动取款机系统工作过程,结 合软件设计中的状态图和流程图的绘制要求,完成相关问题。【问题 1】 由 ATM自动取款机系统用例图和 ATM自动取款机系统功能图可知,其工作过程如下:当客户将银行卡插入 ATM机后, ATM机会要求输入密码,如果密码不正确,则需要重新输入;如果密码正确,则进入主菜单,选择不同的服务类型。服务类型有取款、修改密码、查询余额、转帐等功能。完整的 ATM自动取款机系统的系统状态图如图1-4所示。【问题 2】 该问题的描述部分已经给出了删自动取款机系统的取款过程的事件,流程图只需要根据实际取款的工作次序排序即可。正确的流程如下 : a)用户输入取

22、款金额; b)系统验证输入金额是否符合输入要求; c)判断格式要求,如果满足要求,则继续;否则,转结束; d)系统验证用户账户余额; e)系统显示用户账户余额; f)判断实际取款金额是否超出最大取款金额,若不大于,则继续;否则,给出超出最大金额提示后,转结束; g)用户确认取款金额; h)如果用户没有确认,时间超时,则给出超时提示,转结束; i)系统要求点钞机出钞; j)系统更新并保存账户信息; k)结束。【问题 3】 在信息安全领域,密码技术是解决信息系统安全问题的主要手段,包括加密技术、 解密技术、密钥、认证等。按照密钥或者加密算法的不同,密码分为两大类:对称密钥或对称加密算法以及非对称密

23、钥或非对称加密算法。 对称密钥 (或称单密钥 )或对称加密算法:编码和解码时使用同一密钥,主要用于通信和存储数据的加密。消息的发送者和接收者事先需要通过某种方法约定密钥,不让别人知道。对称密钥的优点是加密和解密速度快,容易实现;缺点是随着网络规模的扩大,密钥的管理困难,无法解决消息确认问题,缺乏自动检测密钥泄漏的能力。 非对称密钥 (或称双钥 )或非对称加密算法:加密和解密的密钥不同,公开密钥的加密算法,把密钥分为 私钥和公钥,两者成对使用,加密用公钥,解密用私钥。非对称密钥管理简单,还具有数字签名功能,但算法比较复杂,加解密速度慢。 DES算法是对称加密算法。 1997年 1月,美国政府采纳

24、 IBM公司设计的密码算法,作为正式的数据加密标准 (Data Encryption Standard, DES),简称 DES。 RSA是非对称加密算法。由 Rivest、 Shamir、Adleman于 1977年提出的, RSA是第一个使用公开密钥的加密算法,也是第一个既能用于数据加密,也能用于数字签名的算法。 RSA现在广泛用于电子商务。 AES是先进加密标准 (Advanced Encryption Standard, AES)的简称, 1997年NIST公开征集新的数据加密标准,以取代 DES, 2002年 5月 26日正式生效,到了 2006年, AES成为应用广泛的对称加密算法

25、。 IDEA是国际数据加密算法(International Data EncryptionAlgofithm, IDEA)的简称,是由我国科学家来学嘉和其同事 James Massey设计的,于 1991年发表,目的是取代 DES。 PGP(Pretty Good Privacy)密码算法用于签名、电子邮件加密和解密,是 MIT的 Philio Zimmermann于 1991年提出的。 PGP使用公开密钥加密,包括一个把公钥和用户名或电子邮箱地址捆绑起来的系统,他在第二版中使用 IDEA加密算法。 DSA数字签名算法 (Digital Signature Algorithm, DSA)是美国

26、 NIST在 1991年 8月提出的,作为数字签名标准 (Digital Signature Standard, DSS)。 1993年 DSA被 FIPS所采用。 DSA属于非对称加密算法,其安 全性于 RSA相似。 椭圆曲线DSA(Elliptic Curve DSA, ECDSA)是 DSA的变种,是 Scott Vanstone于 1992年提出的,椭圆曲线加密是公开密钥加密的一种方法,基于有限域的椭圆曲线的代数结构。椭圆曲线 DSA于 1998年被 ISO接受为标准 (ISO 148883), 1999年被NIST接受为标准 (ANSI X9 62), 2000年被 IEEE和 FI

27、PS接受为标准 (IEEE 13632000和 FIPS186-2)。 因此,对称加密算法有 DES、 AES、 IDEA非对称加密算法有 RSA、 PGP、 DSA、椭圆曲线 DSA。 二、试题二 2 【正确答案】 【问题 1】 (1)D (2)C (3)25 (4)1或者 0x01 【问题 2】 (1)G (2)I (3)C (4)D 【试题解析】 本题考查嵌入式处理器的硬件原理及连线设计和相关软件中网络程序的设计。 此类题目要求考生认真阅读题目对题目进行分析,仔细查看所提供的硬件原理设计,根据设计开发经验,进行问题回答。 【问题 1】 在该嵌入式处理器的存储系统设计中,嵌入式处 理器内部

28、包含 SA25: 0(从高到低 )共 26根系统地址总线,外部使用 22根数据线和外部存储设备进行连接。由原理图中可以看出,该存储器设计可以实现 8位, 16位, 32位的不同控制,在不同控制方式下,连线的方式也会不同。在 8位模式下,最低位使用的肯定是SA0;在 16位模式下,也就是无论最低位是 0是 1都不影响地址选择,即此时最低位应该是 SA1;在 32位模式下,即最低位是 0, 1, 2, 3时候都不影响寻址,即此时最低位应该是 SA2。由此即可知,在不同模式选择下所连接的地址位是不同的。 目前典型的嵌入式处理器支持 10M、 100M、 1000M的不同速率设计,在不同模式下,网络芯

29、片和外部接口有所不同,尤其表现在 RJ45连线的差分线的数目上,以及表现在 PHY芯片和 CPU之间的 MDIO数据线和 PHY芯片的时钟上。由原理图可以看出,该 PHY芯片的时钟为 25M,同时 MDIO中收发数据线各是 4根,因此其最大速率应该是 100Mbps。 当网络工作在 100Mbps情况下, PHY和 CPU之间的收发都是依靠四根并行线来实现的。因此 100M 4=25M,也就是说 CLK应该工作在 25M。由原理图及题目中所给出 PHYID的计算方法, 由高位到低位,依据上电状态下的高低电平可以非常容易计算出 PHYID的数值。 【问题 2】 在网络设计过程中,一般服务器和客户

30、端的通信可以采用 TCP,也可以采用UDP的形式进行。 TCP是面向连接的通信方式,可以保证数据的准确性和一致性, UDP是不保证连接,但是其速度快,负荷较小。 在 TCP连接过程中,需要服务器,客户端按照固定的流程进行软件实现。服务器首先绑定端口和 IP,然后侦听,等待客户端连接。客户端在创建对应的套接字后即可按照 IP,端口来连接服务器,待连接成功后,服务器客户端即可开 始通信。 在 UDP的通信实现中,客户端不用连接服务器,只是向固定的 IP和端口进行数据报文的发送,服务器端只是不断的接收对应 IP和端口的数据,然后依据数据内容进行有效性判断,进而进行数据处理。 三、试题三 3 【正确答

31、案】 【问题 1】 测试策略包括测试正常和异常指令的响应。 测试内容包括读取刹车次数和清除刹车次数两种指令。 对 “读取刹车次数指令 ”鲁棒性测试时应考虑输入接口帧头错误、指令码错误、帧长错误、帧尾错误以及整个指令长度超过 4字节的情况。【问题 2】【问题 3】 DDP=(17+31) (17+31+2)=96 【试题解析】 本题考查软件测试的一些基本概念及依据需求进行测试用例设计的能力。 此题目要求考生认真阅读题目所给的说明,了解刹车控制软件的工作流程,结合软件测试的一些基本概念,在刹车控制软件中进行实际应用。 【问题 1】 本问题主要考查测试的基本概念,对所有的测试而言,都必须进行正常测试

32、和异常测试,在本题中对测试对象实例化为串行输入接口。串行输入接口在本题的需求描述中,根据表 3-1内容,负责接收读取刹车次数和清除刹车次数两种指令,故测试内容为此两种指令。对 “读 取刹车次数指令 ”进行鲁棒性测试时应考虑的情况,其实也是接口鲁棒性测试概念的一个实例化,对接口的数据包而言,至少应该包括帧头错误、数据长度错误、数据错误、校验和错误、校验码错误以、帧尾错误以及其他防止指令错误手段的错误等。对本题的实例化而言,具体包括帧头错误、指令码错误、帧长错误、帧尾错误以及整个指令长度超过 4字节的情况。 【问题 2】 如果不考虑约束,软件工作状态从组合的角度来说,表 3 2的测试顺序完全符合要

33、求。但是许多软件在实际使用中,由于真实情况的限制,不能从理论的情况进行组合,对一些条件必须要进 行约束。比如本题中,在单次进入正常工作模式后,就不能进入维护模式,因为维护模式是一种检修模式,不能在正常工作中进行检修,所以必须保证在正常工作模式下,对维护模式命令不响应。所以此题的前提条件应该为 “上电前置 In_D1为高电平,给测试环境上电,模式识别信号灯为红色 ”,即在上电后首先让工作模式为维护模式;然后再发送进入正常工作模式命令,灯变绿,进入工作模式;最后在正常工作模式下,发送进入维护模式命令,此时软件应该不响应,灯继续为绿色,表示在工作模式,完成带约束条件的状态转换测试。如果继续表 3 2

34、的测试前提条件, 不管发送什么命令,灯一直不会变化,就无法判断是软件问题还是测试设备问题,无法完成测试。 【问题 3】 此题是一个简单的测试概念,缺陷探测率 (DDP)=测试发现的软件问题软件总的发现问题,对本题而言,缺陷探测率 (DDP)=(17+31) (17+31+2)=96。 四、试题四 4 【正确答案】 【问题 1】 (1)0xD0200000 (2)0x00F00000 (3)0xD0000100 (4)0x00F00100 【问题 2】 (1)0xAABBCCDD (2)0x78563412 (3)0x78563412 【问题 3】 (1)设置 DMA目的地址或 (2) (2)设

35、置传输长度或 (1) (3)设置 DMA传输启动位 (4)DMA是否正常终止 【试题解析】 本题考查嵌入式系统中计算机总线、存储、 DMA等相关知识及应用。【问题 1】 该系统是基于 VME总线的多机并行处理系统,采用共享存储器方式进行多机之间的通信,定义了 5MB的 VME空间,用于主控制模块等 5个模块之间的 VME通信。 VME总线的共享存储器方式,通 过地址空间映射来实现,分为输出窗口和输入窗口两部分。输出窗口实现处理器本地地址空间到 VME总线地址空间的映射,本系统中每个模块配置了相同的 5MB的处理器输出窗口地址空间(0xD0000000 0xD04FFFFF),用于映射到 VME

36、总线上的 5MB地址空间(0x00000000 0x004FFFFF)。输入窗口实现 VME总线地址空间到处理器本地地址空间的映射。本系统中按照模块顺序,每个模块将 1M的 VME地址空间,映射到处理器本地 RAM区域中 (0x00F00000 0x00FFFFFF),专门用于 VME通信数据缓冲区。整个系统的映射关系图 4-3所示。由于所有驱动都采用总线远程写方式,数据处理模块 1要访问数据处理模块 2的通信缓冲区,访问的基地址就是数据处理模块 2内存缓存区对应的 VME总线地址,即 VME总线 0x00200000,该地址对应数据处理模块 1的本地地址,则为0xD0200000。由于所有驱

37、动都采用总线本地读的方式,所以数据处理模块 2访问的基地址为本地存储器地址,即 0x00F00000。具体的地址空间再由基地址加上指定的偏移即可。 同理, I O模块要访问主控制模块的通信缓存区,访问的基地 址就是主控制模块内存缓存区对应的 VME总线地址,即 VME总线 0x00000000,该地址对应 I O模块的本地地址,则为 0xD0000000。主控制模块访问的基地址为本地存储器地址,即 0x00F00000。具体的地址空间再由基地址加上指定的偏移即可。【问题 2】 数据在计算机中表示时,有大端和小端两种格式。大端模式是指数据的高位保存在内存的低地址中,而数据的低位保存在内存的高地址

38、中,这样的存储模式有点儿类似于把数据当作字符串顺序处理,地址由小向大增加,而数据从高位往低位放。小端模式是指数据的高位保存在内存 的高地址中,而数据的低位保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低,与用户的逻辑方法一致。 例如,数字 0x12345678在内存中的表示形式为: 1大端模式:低地址 高地址 0x12 | 0x34 |0x56 | 0x78 2小端模式:低地址 高地址 0x78 | 0x56 | 0x34 | 0x12 从软件处理的角度上,不同端模式的处理器进行数据传递时必须要考虑端模式的不同。如进行网络数据传递时,必

39、须要考虑端模式的转换。其中互联网使用的网络字节顺序采用大端模式进行编址,而主机字节顺序则根据处理器的不同而不同,如 PowerPC处理器使用大端模式,而 Pentium处理器使用小端模式。大端模式处理器的字节序到网络字节序不需要转换;而小端模式处理器的字节序到网络字节必须要进行转换。 在该系统中, VME总线上传输的数据全部采用小端方式,但主控制模块、数据处理模块 1、数据处理模块 2、数据处理模块 3均采用大端方式处理器,因此发送到 VME总线上的数据要进行大端到小端模式的转换,而从 VME总线上接收的数据,要进行小端到大端模式的转换,但 I O模块由于采用 的是小端模式的处理器,则不需要进

40、行转换。【问题 3】 DMA(Direct Memory Access,直接内存存取 )是所有计算机的重要特色,它允许不同速度的硬件装置来传输数据,而不需要依赖于 CPU的大量负载。 DMA传输将数据从一个地址空间复制到另外一个地址空间。当 CPU初始化这个传输动作,传输过程则由 DMA控制器来实行和完成,如图 4-4所示。典型的例子就是移动一个外部内存的区块到芯片内部更快的内存区。这样的操作并没有让处理器工作拖延,反而可以被重新安排去处理其他的工作。 DMA传输对于高效能嵌入式系统是很重要 的。在实现 DMA传输时,由 DMA控制器直接掌控总线,因此,存在着一个总线控制权转移问题。即DMA传

41、输前, CPU要把总线控制权交给 DMA控制器,而在结束 DMA传输后,DMA控制器应立即把总线控制权再交回给 CPU。一个完整的 DMA传输过程必须经过 DMA请求、 DMA响应、 DMA传输、 DMA结束 4个步骤。 (1)DMA请求 CPU对 DMA控制器初始化,并提供要传送的数据的起始位置、目的地址和数据长度。并向 I O设备发出启动操作命令, I O设备提出 DMA请求。 (2)DMA响应 DMA控制器对: DMA请求判别优先 级及屏蔽,向总线裁决逻辑提出总线请求。当 CPU执行完当前总线周期即可释放总线控制权。此时,总线裁决逻辑输出总线应答,表示 DMA已经响应,通过 DMA控制器

42、通知 I O设备开始 DMA传输。 (3)DMA传输 DMA控制器获得总线控制权后, CPU即刻挂起或只执行内部操作,由 DMA控制器输出读写命令,直接控制 RAM与 I O设备进行 DMA传输。 在 DMA控制器的控制下,在存储器和外部设备之间直接进行数据传送,在传送过程中不需要中央处理器的参与。 (4)DMA结束 当完成规定的成批数据传送后, DMA控制器即释放总线控制权 ,并向 I O设备发出结束信号。当 I O设备收到结束信号后,一方面停止 I O设备的工作,另一方面向 CPU提出中断请求,使 CPU从不介入的状态解脱,并执行一段检查本次 DMA传输操作正确性的代码。最后带着本次操作结

43、果及状态继续执行原来的程序。由此可见, DMA传输方式无需 CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为 RAN与 I O设备开辟一条直接传送数据的通路,使 CPU的效率大为提高。 五、试题五 5 【正确答案】 【问题 1】 两个变量不能交换值的原因: 因为函 数是传值的,函数形参值的交换,并不影响到实参的值的变化。 正确的函数编写如下 (下面只是范例,变量名称不作要求 ): void swap(int*pnl, int*pn2) int tmp=*pn1; *pnl=*pn2; *pn2=tmp; 【问题 2】 第一次输出: fun(5)=5 第二次输出:

44、fun(7)=13 第三次输出: fun(9)=34 【问题 3】 临界资源:一次只能使一个进程访问的资源称为临界资源。 临界区:进程中访问临界资源的那段代码称为临界区。 (1) S- (2) S 0 (3)S+ (4)S =0 【试题解析】 本题考查嵌入式 C C+语言编程基础知识。 【问题 1】 函数 swap采用值传递,虽然将形参 n1和 n2交换了,但是并不影响到实参,所以执行【程序 1】后,实参变量并没有完成数据交换。将值传递改成指针传递就可以了。 对应的 swap函数应修改如下: swap (int *pn1, int*pn2) int tmp; tmp=*pn1; *pn1=*p

45、n2; *pn2=tmp; 【问题 2】 当 n=5时,初始: f0=0, f1=1; for循环计算如下: i=2: f=0+1=1; f0=1; f1=1 i=3: f=1+1=2; f0=1; f1=2; i=4: f=1+2=3; f0=2; f1=3; i=5: f=2+3=5; f0=3; f1=5; 所以,调用 fun(5),得到返回值 5; 同理,可计算出 fun(7)=13; fun(9)=34。 【问题 3】 在多道程序系统中,进程是并发执行的,这些进程之间存在着不同的相互制约关系。进程之间的这种制约关系来源于并发进程的合作以及对资源的共享。 进程在运行过程中,一般会与其它

46、进程共享资源,而有些资源的使用具有排他性。系统中的多个进程可以共享系统的各种资源,然而其中许多资源一次只能为一个进程所使用,通常把一次仅允许一个进程使用的资源称为临界资源。许多物理设备都属于临界资源,如打印机、绘图机等。除物理设备外,还有许多变量、数据等都可由若干进程所共享,它们也属于临界资源。 进程中访问临界资源的那段代码称为临界区,也称为临界段。 访问临界资源应遵循如下原则: 空闲让进 (或有空即进 ):当没有进程处于临界区时,可以允许一个请求进入临界区的进程立即进入自己的临界区; 忙则等待 (或无空则等 ):当已有进程进入其临界区时,其它试图进入临界区的进程必须等待; 有限等待:对要求访

47、问临界资源的进程,应保证能在有限时间内进入自己的临界区; 让权等待:当进程不能进入自己的临界区时,应释放处理机。 信号量是荷兰著名的计算机科学家 Dijkstra于 1965年提出的一个同步机制,其基本思想是在多个相互合作的进程之间使用简单的信号来同步。 在操作系统中,信号量是表示资源的实体,除信号量的初值外,信号量的值仅能由 P操作 (又称 Wait操作 )和 V操作 (又称 Signal操作 )改变。 设 S为一个信号量, P(S)执行时主要完成:先执行 S=S一 1;若 S0则进程继续运行;若 S 0则阻塞改进程,并将它插入该信号量的等待队列中。 V(S)执行时主要完成:先执行 S=s+1;若 S 0则进程继续执行;若 S0则从该信号量等待队列中移出第一个进程,使 其变为就绪状态并插入就绪队列,然后再返回原进程继续执行。 P、 V操作的形式化描述如下: P(S) S 一一; IF( S 0 ) 阻塞该进程; 将该进程插入信号量 s的等待队列; V(S) S+: IF( S = 0 ) 从信号量 s的等待队列中取出队首进程; 将其插入就绪队列;

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

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1