您的位置:首页 > 其它

DMA传输数据过程简介

2015-10-20 11:05 267 查看
  DMA传送操作分三个阶段:准备阶段、DMA传送阶段和传送结束阶段。

  1.准备阶段:在这个阶段中,CPU通过指令向DMA控制器发送必要的传送参数。

  ①控制字送DMA控制器指出数据传送方向。

  ②预置MBAP,即数据块在主存缓冲区的首址。

  ③置DAR外设的地址,如外设为磁盘机,其地址包括:磁盘机号、盘面号、柱面号和扇区号。

  ④给WBC预置,指出数据传送字节/字数。

  2.DMA传送阶段

  DMA接口上传送的一批数据是一个个传送的,在周期挪用控制方式下DMA控制器主要完成以下五个操作。

  ①外设准备好一次数据传送后,接口向主机发DMA请求。

  ②CPU响应DMA请求,把总线使用权让给DMA控制器。DMA控制器控制源、目的端口准备传送数据。

  ③DMA周期挪用一次,交换一个数据信息。

  ④归还总线使用权,修改主存地址指针和传送计数值。

  ⑤判断这批数据是否传送完毕:是,结束该工作阶段;没有,又开始传送下一个数据。DMA中信息传送过程.

  3.结束阶段

  DMA在两种情况下都会进入结束阶段,一种情况是一批数据传送完毕,这是正常结束。另一种情况是DMA发生故障,也要进入结束阶段,这是非正常结束。不论是哪一种情况进入结束阶段,DMA都向主机发出中断请求,CPU执行服务程序查询DMA接口状态,根据状态进行不同的处理。

  DMA是程序中断传送技术的发展。它在硬件逻辑机构的支持下,以更快的速度、更简便的形式传送数据。程序中断与DMA相比有以下几个不同。

  ①中断方式通过程序实现数据传送,而DMA方式不使用程序直接靠硬件来实现,信息传送速度快。 

  ②CPU对中断的响应是在执行完一条指令之后,而对DMA的响应则可以在指令执行过程中的任何两个存储周期之间,请求响应快。

  ③中断方式必须切换程序,要进行CPU现场的保护和恢复操作。DMA仅挪用了一个存储周期,不改变CPU现场,额外化销小。

  ④DMA请求的优先权比中断请求高。CPU优先响应DMA请求,是为了避免DMA所连接的高速外设丢失数据。

  ⑤中断方式不仅具有I/O数据传送能力,而且还能处理异常事件,DMA只能进行I/O数据传送。

总而言之,在进行I/O控制时,DMA控制方式比程序中断控制方式速度快,但程序中断控制方式的应用范围比DMA控制方式广。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: