阅读下列说明、图和表,回答问题1至问题3,将答案填入答题纸的对应栏内。
【说明】
某公司承接了一个控制系统的项目,由王工负责系统的方案设计。王工的设计方案如图4-1所示。该方案是基于VME总线的多机并行处理系统,由主控制模块作为VME总线的主设备,即总线控制器,负责整个系统的控制与管理;3个数据处理模块作为从设备,负责数据处理与计算;1个I/O模块也作为从设备,负责系统与外部接口之间的高速数据通信。同时,为了简化设计,该系统5个模块均采用同一款VME协议芯片,实现内总线和VME总线的连接。
该系统中每个模块的相关信息见表4-1所示。
【问题1】(6分)
王工设计采用共享存储器方式,进行多机之间的通信。VME共享存储器的地址空间映射,分为输出窗口和输入窗口两部分。输出窗口实现处理器本地地址空间到VME总线地址空间的映射,输入窗口实现VME总线地址空间到处理器本地地址空间的映射。
输出窗口空间设置说明:为了每个模块能访问到其他4个模块;在每个模块的处理器本地地址空间中开辟5M空间,映射到VME总线上的5M地址空间。映射关系见表4-2。
输入窗口空间设置说明:每个模块分配1M的VME地址空间,并将这1M空间映射到处理器本地RAM区域中,专门用于VME通信数据缓冲区。映射关系见表4-3。
VME总线驱动中,按照上述方式对寄存器进行设置,实现了VME总线共享存储器工作方式,将对其他模块的操作转化为对处理器本地地址空间访问操作相似的读写操作,并且都采用总线远程写,总线本地读的方式。
数据处理模块1发送消息到数据处理模块2,它们之间采用1M数据缓冲区的第一个32位作为握手标志。则数据处理模块1访问标志区的总线地址为(1),数据处理模块2访问标志区的总线地址为(2)。
I/O模块向主控制模块发送控制命令,它们之间采用1M数据缓冲区偏移0x100处作为命令缓冲区。则I/O模块访问命令区的总线地址为(3),主控制模块访问命令区的总线地址为(4)。
【问题2】(3分)
如表4-1所示,该系统中采用的处理器有大端和小端两种工作模式。王工设计VME总线上传输的数据全部采用小端方式,那么当处理器通过VME总线发送数据时,需要根据自己的工作模式,对数据进行必要的转换,以符合协议要求。
当I/O模块向主控制模块发送控制命令OxAABBCCDD,那么它写入VME总线的实际数据是(1),当主控制模块向数据处理模块3和I/O模块发送控制命令0x12345678,那么它写入VME总线的实际数据是(2)和(3)。
【问题3】(6分)
为了提高数据通信的性能,在进行大数据量通信时,王工设计采用DMA的方式。DMA通信方式能够满足高速VME设备的需求,也有利于发挥CPU效率。该VME协议芯片有两种DMA工作方式:一种是直接方式(Direct mode),一种是链方式(Linked_list mode)。在直接方式下,在每次数据传输前,需要驱动程序对DMA控制寄存器进行设置,然后进行DMA传输,并等待传输完成,或者异常错误。直接方式是一种软件和硬件同步工作方式。在链方式下,驱动程序只需要设置命令包。在通信过程中,硬件根据命令包的内容完成传输,并根据链中的下一个命令包,继续传输,直到所有命令包完成或者异常错误。链方式是一种软件和硬件异步工作的方式。
图4-2是DMA直接方式的流程图,请补全流程图,并将答案填写在答题纸的对应栏中。