DMA方式和中断方式的有什么不同?

DMA方式和中断方式的有什么不同?,第1张

DMA有两种方式,一种是查询方式,一种是中断方式。是问这两种方式有什么区别么?查询方式是通过查询标志位来判定DMA结束,中断方式是DMA结束的时候返回中断,在程序中不需要一直查询标志位。

DMA与中断的区别

⑴中断方式是在数据缓冲寄存器满之后发出中断,要求CPU进行中断处理,而DMA方式则是在所要求传送的数据块全部传送结束时要求CPU 进行中断处理。这就大大减少了CPU进行中断处理的次数。

⑵中断方式的数据传送是在中断处理时由CPU控制完成的,而DMA方式则是在DMA控制器的控制下,不经过CPU控制完成的。这就排除了CPU因并行设备过多而来不及处理以及因速度不匹配而造成数据丢失等现象。

DMA方式的优缺点

在DMA方式中,由于I/O设备直接同内存发生成块的数据交换,因此I/O效率比较高。由于DMA技术可以提高I/O效率,因此在现代计算机系统中,得到了广泛的应用。许多输入输出设备的控制器,特别是块设备的控制器,都支持DMA方式。

通过上述分析可以看出,DMA控制器功能的强弱,是决定DMA效率的关键因素。DMA控制器需要为每次数据传送做大量的工作,数据传送单位的增大意味着传送次数的减少。另外,DMA方式窃取了始终周期,CPU处理效率降低了,要想尽量少地窃取始族埋终周期,就要设法提高DMA控制器的性能,这样可以较少地影响CPU出理效率。四、通道方式

输入/输出通道是一个独立于CPU的,专门管理I/O的处理机磨碧,它控制设备与内存直接进行数据交换。它有自己的通道指令,这些通道指令由CPU启动,并在 *** 作结束时向CPU发出中断信号,见图6-3。

输入/输出通道控制是一种以内存为中心,实现设备和内参内直接交换数据的控制方式。在通道方式中,数据的传送方向、存放数据的内存起始地址以及传送的数据块长度等都由通道来进行控制。

另外,通道控制方式可以做到一个通道控制多台设备与内存进行数据交换。因而,通道方式进一步减轻了CPU的工作负担,增加了计算机系统的并行工作程度。

输入/输出通道分类

按照信息交换方式和所连接的设备种类不同,通道可以分为以下三种类型:

⑴字节多路通道

它适用于连接打印机、终端等低速或中速的I/O设备。瞎穗举这种通道以字节为单位交叉工作:当为一台设备传送一个字节后,立即转去为另一它设备传送一个字节。

⑵选择通道

它适用于连接磁盘、磁带等高速设备。这种通道以“组方式”工作,每次传送一批数据,传送速率很高,但在一段时间只能为一台设备服务。每当一个I/O请求处理完之后,就选择另一台设备并为其服务。

⑶成组多路通道

这种通道综合了字节多路通道分时工作和选择通道传输速率高的特点,其实质是:对通道程序采用多道程序设计技术,使得与通道连接的设备可以并行工作。

I/O控制方式主要有程序查询方式、中断方式、DMA方式和I/O通道控制方式:

1.程序查询方式,也称为程序轮询方式。该方式采用用户程序直接控制主机与外部设备之间输入/输出 *** 作。CPU必谨洞须不停地循环测试I/O设备的状态端口,当发现设备处于准备好(Ready)状态时,CPU就可以与I/O设备进行数据存取 *** 作。

2.中断方式。当I/O设备结束(完成、特殊或异常)时,就会向CPU发出中断请求信号,CPU收到信号就可以采取相应措施。当某个进程要启动某个设备时,CPU就向相应的设备控制器发出一条设备I/O启动指令,然后CPU又返回做原来的工作。

3.DMA(直接内存存取)方式。DMA方式也称为直接主存存取方式,其思想是:允许主存储器和I/O设备祥谈枯之间通过“DMA控制器(DMAC)”直接进行批量数据交换,除了在数据传输开始和结束时,整个过程无须CPU的侍仿干预。

4.I/O通道控制方式。通道(Channel)也称为外围设备处理器、输入输出处理机,是相对于CPU而言的。是一个处理器。也能执行指令和由指令的程序,只不过通道执行的指令是与外部设备相关的指令。是一种实现主存与I/O设备进行直接数据交换的控制方式。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12395935.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存