什么是dma控制方式?与中断控制方式的主要区别是什么?

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-19
DMA方式与程序中断方式相比,其主要特点是什么?

因为程序直接控制方式耗费大量的CPU时间,而且无法检测发现设备或其他硬件产生的错误,设备和CPU、设备和设备只能串行工作。中断控制方式虽然在某种程度上解决了上述问题,但由于中断次数多,因而CPU仍需要花较多的时间处理中断,而且能够并行操作的设备台数也受到中断处理时间的限制,中断次数增多导致数据丢失。DMA方式和通道方式较好地解决了上述问题。这两种方式采用了外设和内存直接交换数据的方式。只有在一段数据传送结束时,这两种方式才发出中断信号要求CPU做善后处理,从而大大减少了CPU的工作负担。DMA方式与通道控制方式的区别是,DMA方式要求CPU执行设备驱动程序启动设备,给出存放数据的内存始址以及操作方式和传送字节长度等;而通道控制方式则是在CPU发出I/O启动命令之后,由通道指令采完成这些工作。

  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请求处理完之后,就选择另一台设备并为其服务。
  ⑶成组多路通道
  这种通道综合了字节多路通道分时工作和选择通道传输速率高的特点,其实质是:对通道程序采用多道程序设计技术,使得与通道连接的设备可以并行工作。

 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请求处理完之后,就选择另一台设备并为其服务。
  ⑶成组多路通道
  这种通道综合了字节多路通道分时工作和选择通道传输速率高的特点,其实质是:对通道程序采用多道程序设计技术,使得与通道连接的设备可以并行工作。

我真的不知道楼上有没有学过真的。怎么感觉都像是另一个多元宇宙里的了。
首先常见的传输控制方式有4种。查询,无条件,中断和DMA。
大白话开始:无条件就是不管你外设准备好没,我直接传。由于我CPU比你外设快多了。你外设传东西给CPU,CPU基本上是立马处理的。所以无条件。
查询就是,CPU周期性的问外设你准备好了吗?准备好了再传。
中断就是,外设对CPU说,CPU 我想送你个礼物。CPU这时候停下手中的活,好的我收下了。
DMA就,外设寄快递给CPU,CPU不理你,直接让DMA帮忙签收。
就是这么个原理。DMA控制方式和CPU没啥关系,只需要让CPU让出总线控制权就行。中断还需要CPU停下手中的工作保护现场去处理中断

中断方式以字节为单位中断CPU,对块设备其效率极低,为此引入了DMA。DMA控制方式的思想是在外设与内存之间开辟直接的数据交换通路,在控制器的控制下,设备和内存之间可以成批地进行数据交换。
区别:
中断控制方式在每个数据传送完成后中断CPU,而DMA控制方式则是在所要求传送的一批数据全部传送结束时中断CPU;
中断控制方式的数据传送是在中断处理时由CPU控制完成,而DMA控制方式则是在DMA控制器的控制下完成。
转自老师课堂ppt,做参考吧

  • 什么是dma控制方式?与中断控制方式的主要区别是什么?
    答:⑴中断方式是在数据缓冲寄存器满之后发出中断,要求CPU进行中断处理,而DMA方式则是在所要求传送的数据块全部传送结束时要求CPU 进行中断处理。这就大大减少了CPU进行中断处理的次数。⑵中断方式的数据传送是在中断处理时由CPU控制完成的,而DMA方式则是在DMA控制器的控制下,不经过CPU控制完成的。这就排除...
  • 什么是DMA、中断处理、通道方式?
    答:3、DMA方式;DMA(Direct Memory Access,直接内存存取)方式用于高速外部设备与内存之间批量数据的传输。它使用专门的DMA控制器,采用窃取总线程控制权的方法,由DMA控制器送出内存地址和发出内存读、设备写或者设备读、内存写的控制信号完成内存与设备之间的直接数据传送,而不用CPU干预。当本次DMA传送的数...
  • 如何区分DMA与中断?
    答:程序查询方式,最简单的I/O方式,数据在CPU和外设之间的传送完全靠计算机程序控制,外设和CPU之间是串行工作,CPU效率低。DMA方式,完全由硬件执行I/O交换,其主要优点是数据传送速度很高,CPU根本不参加传送操作,而直接在内存和外设之间进行,传送速率仅受内存访问时间的限制。缺点是需要更多的硬件。中断...
  • 通道、DMA、中断三种基本I/O方式的异同点?
    答:DMA:不需要CPU干预介入的控制器来控制内存与外设之间的数据交流的场合 I/O通道方式:适用于以字节为单位的干预,同时实现CPU、通道和I/O设备三者并行操作的场合 三、处理方法不同:中断:在系统中具有多个中断源的情况下,常用的处理方法有,多中断信号线法.中断软件查询法.雏菊链法、总线仲裁法和中断...
  • IO方式中的DMA方式是指
    答:I/O控制方式主要有程序查询方式、中断方式、DMA方式和I/O通道控制方式:1.程序查询方式,也称为程序轮询方式。该方式采用用户程序直接控制主机与外部设备之间输入/输出操作。CPU必须不停地循环测试I/O设备的状态端口,当发现设备处于准备好(Ready)状态时,CPU就可以与I/O设备进行数据存取操作。2.中断方式...
  • dma方式和中断有什么区别?
    答:1.中断方式是在数据缓冲寄存区满后,发中断请求,CPU进行中断处理。2.DMA方式则是以数据块为单位传输的,在所要求传送的数据块全部传送结束时要求CPU进行中断处理,大大减少了CPU进行中断处理的次数。3.中断方式的数据传送是由设备到CPU再到内存,或者相反。4.DMA方式的数据传送则是将所传输的数据由设备...
  • 比较程序查询方式,中断控制方式和DMA等输入输出方式的优缺点
    答:并不很忙的情况 中断控制方式具有随机性,不能随意处理问题 DMADMA传输方式无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为RAM与I/O设备开辟一条直接传送数据的通路,使CPU的效率大为提高 所以总体来说,DMA的方式比较符合现代输入输出方式的需要 ...
  • 什么是中断控制器?什么是DMA控制器?
    答:DMA---Direct Memory Access,直接内存访问,是一种数据传输模式。DMA方式下由于不直接访问计算机的CPU,而直接在RAM与设备之间传输,因而大大提高了数据传输速度。PIO模式下硬盘和内存之间的数据传输是由CPU来控制的;而在DMA模式下,CPU只须向DMA控制器下达指令,让DMA控制器来处理数的传送,数据传送完毕...
  • CPU与I/O设备之间的数据传送有哪几种方式?
    答:2、中断控制方式:当程序常规运行中,若外部有优先级更高的事件出现,则通过中断请求通知CPU,CPU再读取状态寄存器确定事件的种类,以便执行不同的分支处理。这种方式CPU效率高且实时性好。3、DMA(Direct Memory Access)控制方式:顾名思义,直接内存存取即数据传送的具体过程直接由硬件(DMA控制器)在...
  • 通道、DMA、中断三种基本I/O方式的异同点?
    答:通道控制方式与DMA控制方式类似,也是一种以内存为中心,实现设备与内存直接交换数据的控制方式。通道方式输入/输出通道是一个独立于CPU的,专门管理I/O的处理机,它控制设备与内存直接进行数据交换。它有自己的通道指令,这些通道指令由CPU启动,并在操作结束时向CPU发出中断信号,见图6-3。中断处理方式;...