2017年下半年软件水平考试(中级)嵌入式系统设计师下午(应用技术)真题试卷
试题一
阅读下列说明和图,回答问题,将解答填入对应栏内。
【说明】
某舰载综合处理系统由若干数据处理模块、IO处理模块、信号处理模块、图形处理模块、大容量处理模块和电源模块组成,各处理模块通过CAN总线连接,如图1-1所示。
为了提高综合处理系统的处理速度,主要处理模块都设计为多个处理器。其中,数据处理模块有4片PowerPC8640处理器,通过RapidIO内部网络连接,如图1-2所示。
串行RapidIO协议即SRIO通信协议,构建了3层的协议体系。如图1-3所示,分别是物理层、传输层、逻辑层。物理层定义了硬件接口的电器特性,并包括链路控制、初级流量控制和低级错误管理等功能;传输层负责进行寻址和路由信息管理;逻辑层定义了服务类型和包交换的格式。
1.可执行程序有严格的格式,一般分为text段、data段和bss段,请解释各段存放的内容,并将答案填写在(1)~(3)中。
陈工程师写了一段图形图像相关的程序,在程序中他定义了一个大数组,如下所示:
char arrMap[1024*1024];
void main(void)
{ … }
请问此数组位于内存哪个位置(即在那个段中)?
(1)text段:存放程序代码。
(2)data段:存放有初值的全局变量和常量。
(3)bss段:存放未被初始化的全局变量。
(4)bss段。
解析:本问题考查程序可执行程序基本结构和概念。
程序经过编译后生成的目标文件至少含有三个段,分别是text段、data段和bss段。
bss段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域,在程序载入时由内核清零。bss段属于静态内存分配。
data段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域,data段属于静态内存分配。
text段(code segmenfftext segment)通常是指用来存放程序执行代码的一块内存区域,这部分区域的大小在程序运行前就已经确定,并且内存区域通常属于只读(某些架构也允许代码段为可写,即允许修改程序)。在代码段中,也有可能包含一些只读的常数变量,例如字符串常量等。
在本题中数组arrMap被定义为无初值的全局变量,所以此数组位于bss段中。
2.RapidIO逻辑层中直接IO/DMA和消息传递这两种传输方式的主要差异如表1-1所示。请完成表中的内容,将表1-1中的(1)~(5)答案填写在对应栏中。
(1)可以
(2)不需要
(3)通过邮箱号间接寻址
(4)读/写
(5)无
解析:本问题考查RapidIO通讯的基本概念。
RapidIO规范在2009年发布了2.1版本,向后兼容RapidIO1.3。在2.1版本中采用了新的高性能物理层,除此之外还增强了数据平面的性能。针对并行传输方式提出了8/16并行LVDS协议,对串行方式提出了lx/4x两种模式。RapidIO协议的。I/O操作是基于请求的,在结束时会有响应事务。
上述串行模式下的RapidIO协议即SRIO通信协议,它构建了3层的协议体系。如图1-3所示,分别是物理层、传输层、逻辑层。物理层定义了硬件接口的电器特性,并包括链路控制、初级流量控制和低级错误管理等功能;位于中间的传输层,负责进行寻址和路由信息管理;顶层的逻辑层定义了服务类型和包交换的格式。
逻辑层定义了数据包的格式,同时支持两种操作方式,分别是直接IO/DMA(Direct IO/Direct Memory Access)方式和消息传递(Message Passing)方式。
1)直接IO/DMA传输方式
直接IO/DMA是一种常用的数据传输方式,但是发送端需要知道被访问设备的存储空间地址映射。在直接IO/DMA模式下,被访问端的操作基本由硬件实现。直接IO/DMA下,发起一次传输操作,需要有效数据、目标器件ID、数据长度、数据在被访问设备存储空间的地址以及包优先级等。同时,所有构成的包的长度为32bit的整数倍;若包长度不能满足要求,则添加附加位进行弥补。在直接IO/DMA传输方式下包含以下几种传输类型:
(1)NWRITE:可以直接向被访问器件的存储空间写数据。单次操作最多写入256字节数据,且不要求目标器件响应。
(2)NWRITE_R:与NWRITE基本相同,不同的是NWRITE_R操作要求目标器件响应。
NWRITE和NWRITE_R这两种传输类型均属于Rapid协议中定义的第5类事务。
(3)SWRITE:流写操作。在进行流写操作时数据大小要满足8字节的整数倍,且发送后不要求目的器件进行响应。同时SERITE操作也是SRIO传输方式中效率最高的。其属于第6类事务,包的开销大大减小,提高了数据传输的效率。
(4)NREAD:直接从目的器件相应的存储空间读取内容,一次操作可读取数据长度为1~256bit。NREAD属于SRIO协议中第2类事务。
(5)Atomic:即原子操作,它不包含任何有效载荷。
(6)Maintenance:即维护包,它的主要作用是器件发现、路由信息维护和交换器件初始化配置等。
2)消息传递方式
消息传递方式不要求发送节点知道目的节点的地址空间映射,当数据到达目的节点时,会根据邮箱号确定消息存储位置。在消息传递模式下进行数据传输时,除了有效载荷外还需要提供目的节点的ID、数据长度、包优先级和邮箱号等。除了用户自定义的传输类型外,消息传输方式定义了两种传输类型:
(1)DOORBELL:门铃消息要求信息传输长度小于等于16bit,适合于处理器间的中断通知。门铃消息属于第10类事务。
(2)MESSAGE:多事务消息的有效载荷最高可达4096字节,最多可包含16个事务,每个事务最大有效载荷为256字节,且要求有效载荷大小必须为双字的整数倍。MESSAGE是第11类事务。
3)以上两种传输方式的差异
SRJO逻辑层中直接IO/DMA模式和消息传递模式这两种传输方式的主要差异如表1-1所示。
3.在IO处理模块等多个模块上,都采用中断方式处理输入输出。在中断处过程包括关中断、保存断点、识别中断源等一系列步骤,如图1-4所示,请完成其中的填空,将答案填写在对应栏中。
(1)识别中断源
(2)设置新的屏蔽字
本文档预览:3600字符,共21583字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载