参考答案:
【问题1】
(1)0xD020’0000
(2)0x00F0’0000
(3)0xD000’0100
(4)0x00F0’0100
【问题2】
(1)0xAABBCCDD
(2)0x78563412
(3)0x78563412
【问题3】
(1)设置DMA目的地址或(2)
(2)设置传输长度或(1)
(3)设置DMA传输启动位
(4)DMA是否正常终止
详细解析:
本题考查嵌入式系统中计算机总线、存储、DMA等相关知识及应用。
【问题1】
VME总线驱动中,按照上述方式对寄存器进行设置,实现了VME总线共享存储器工作方式,将对其他模块的操作转化为对处理器本地地址空间访问操作相似的读写操作,并且都采用总线远程写,总线本地读的方式。
数据处理模块1发送消息到数据处理模块2,它们之间采用1M数据缓冲区的第一个32位作为握手标志。则系统的映射关系如下图所示:
【问题2】
大端模式中字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中;而与大端存储模式相反,在小端存储模式中,低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。
【问题3】
使用DMA方式传输时,需要一个专门的器件来协调外设接口和内存储器的数据传输,这个专门的器件称为DMA控制器,简称DMAC。如下图所示:
一个完整的DMA传输过程必须经过DMA请求、DMA响应、DMA传输、DMA结束4个步骤。
1.DMA请求:CPU初始化DMA控制器,并提供要传送的数据的起始位置、目的地址和数据长度。外设发出DMA请求。
2.DMA响应:DMA控制器判断DMA请求的优先级及屏蔽,向总线仲裁器提出总线请求。当CPU执行完当前总线周期时,可释放总线控制权。此时总线仲载器输出总线应答,表示DMA已经响应,DMA控制器从CPU接管对总线的控制,并通知外设开始DMA传输。
3.DMA传输:DMA数据以规定的传输单位(通常是字)传输,每个单位的数据传送完成后,DMA控制器修改地址,并对传送单位的个数进行计数,继而开始下一个单位数据的传送,如此循环往复,直至达到预先设定的传送单位数量为止。
4.DMA结束:当规定数量的DMA数据传输完成后,DMA控制器通知外设停止传输,并向CPU发送一个信号(产生中断或事件)报告DMA数据传输操作结束,同时释放总线控制权。