简述用DMA方式输入数据块的过程?
推荐于2017-12-15
展开全部
一个数据块的DMA传送过程(采用周期挪用控制方式)
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控制方式广。
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控制方式广。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询