阅读下列说明和图,回答问题,将解答填入对应栏内。 【说明】 某舰载综合处理系统由若干数据处理模块、IO处理模块、信号处理模块、图形处理模块、大容量处理模块和电源模块组成,各处理模块通过CAN总线连接,如图1-1所示。 为了提高综合处理系统的处理速度,主要

admin2018-11-21  31

问题 阅读下列说明和图,回答问题,将解答填入对应栏内。
【说明】
某舰载综合处理系统由若干数据处理模块、IO处理模块、信号处理模块、图形处理模块、大容量处理模块和电源模块组成,各处理模块通过CAN总线连接,如图1-1所示。

为了提高综合处理系统的处理速度,主要处理模块都设计为多个处理器。其中,数据处理模块有4片PowerPC8640处理器,通过RapidIO内部网络连接,如图1-2所示。

    串行RapidIO协议即SRIO通信协议,构建了3层的协议体系。如图1-3所示,分别是物理层、传输层、逻辑层。物理层定义了硬件接口的电器特性,并包括链路控制、初级流量控制和低级错误管理等功能;传输层负责进行寻址和路由信息管理;逻辑层定义了服务类型和包交换的格式。

    逻辑层定义了数据包的格式,同时支持两种操作方式,分别是直接IO/DMA方式和消息传递方式。
    直接IO/DMA是一种常用的数据传输方式,发送端需要知道被访问设备的存储空间地址映射,被访问端的操作基本由硬件实现。直接IO/DMA下,发起一次传输操作,需要有效数据、目标器件ID、数据长度、数据在被访问设备存储空间的地址以及包优先级等;同时,所有构成的包的长度为32bit的整数倍;若包长度不能满足要求,则添加附加位进行弥补。
    消息传递方式不要求发送节点知道目的节点的地址空间映射,当数据到达目的节点时,会根据邮箱号确定消息存储位置。在消息传递模式下进行数据传输时,除了有效载荷外还需要提供目的节点的ID、数据长度、包优先级和邮箱号等。
可执行程序有严格的格式,一般分为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段中。
转载请注明原文地址:https://jikaoti.com/ti/kJI7FFFM
0

相关试题推荐
最新回复(0)