2024-04-26
藏龙卧虎
00
请注意,本文编写于 209 天前,最后修改于 144 天前,其中某些信息可能已经过时。

目录

考点
数据传输控制方式
概念
分类
补充
详解:程序中断方式
详解:DMA
总结

考点

在软件设计师考试中,关于输入输出技术的主要考点是“数据传输控制方式”。而针对这一考点,常考的有以下是一些控制方式:

  • 程序控制方式。
  • 中断控制方式。
  • DMA(直接存储器访问)。

关于这些知识点的题目,大多是概念性选择-判断题,其中关于 DMA 的题目出现的比较频繁。接下来我们依次介绍一下这些知识点。

关注公众号“月上老狗”,发送“软件设计师”,获取历年软件设计师软考真题。

image

数据传输控制方式

概念

数据传输控制方式是指控制数据在计算机内部或系统之间传输的方式和方法。它涉及了对数据传输过程的控制、调度和管理,以确保数据能够按照预期的方式进行传输,并达到预期的效果。数据传输控制方式包括了对数据传输速率、数据传输路径、数据传输优先级等方面的控制。

分类

按照特点和实现方式,数据传输控制方式可以分为以下几种分类:

  1. 轮询方式(程序控制方式)(Polling):

原理:通过程序轮询特定的输入/输出端口或设备状态来判断是否有数据需要处理,然后采取相应的措施。
优点:简单易实现,适用于简单的数据传输和处理任务。
缺点:效率低下,会造成CPU资源的浪费,不适用于高速数据传输和实时响应的场景。

  1. 程序中断方式(Programmed I/O with Interrupt):

原理:通过设置中断信号,当设备需要处理数据时向 CPU 发送中断请求,CPU 暂停当前任务转而处理中断请求,然后返回继续执行原任务。
优点:实时性较高,能够及时响应设备的数据请求,适用于对数据处理要求较高的场景。
缺点:由于频繁的中断请求可能会影响 CPU 的正常工作,导致系统的吞吐量下降。

  1. 直接存储器访问方式(Direct Memory Access,DMA):

原理:通过DMA控制器实现设备和存储器之间的直接数据传输,减轻了 CPU 的负担,提高了数据传输效率。
优点:数据传输效率高,不需要 CPU 参与数据传输过程,适用于大容量数据的传输和高速数据流处理。
缺点:硬件成本较高,对系统的稳定性和安全性要求较高,配置和调试较为复杂。

补充

还有一些其他的方式,但不需要学习,知道其名字即可:

  • 通道方式
  • I/O处理机

注意:从上到下,这些处理方式的执行效率是越来越高的。

详解:程序中断方式

程序中断方式用于处理设备发出的中断请求,其处理过程通常包括以下几个步骤:

  1. 中断请求发生:当外部设备需要与CPU进行通信或需要CPU的处理时,会向CPU发送中断请求(IRQ),表示需要CPU的注意或响应。
  2. 中断检测:CPU在执行当前指令时,会定期检测中断请求信号,以判断是否有设备发出了中断请求。
  3. 中断响应:当CPU检测到中断请求信号时,会立即停止当前正在执行的指令,保存当前的执行现场(如程序计数器、标志寄存器等),并进入中断处理程序。
  4. 中断处理程序执行:CPU根据中断请求的类型和优先级,跳转到相应的中断处理程序的入口地址开始执行中断处理程序。中断处理程序会根据中断请求的具体情况进行相应的处理,包括读取设备状态、处理设备数据、更新相关数据结构等。
  5. 中断处理完成:中断处理程序执行完毕后,CPU会恢复之前保存的执行现场,包括恢复程序计数器、标志寄存器等。CPU会从中断处理程序执行的下一条指令继续执行,即继续之前被中断的程序。
  6. 中断结束:处理完中断后,CPU会清除中断请求信号,以允许其他中断请求的发生。

详解:DMA

DMA(直接内存访问)是一种数据传输方式,允许外部设备直接访问系统内存,而无需CPU的干预。其处理过程通常包括以下步骤:

  1. 初始化DMA控制器:在进行DMA传输之前,需要初始化DMA控制器。这包括设置DMA控制器的工作模式、传输方向、传输地址等参数。
  2. DMA请求:外部设备(如硬盘、网卡等)发出DMA请求,请求访问系统内存进行数据传输。
  3. DMA控制器响应:DMA控制器检测到外部设备的DMA请求后,会向CPU发送DMA请求信号,通知CPU暂停对内存的访问,以便DMA传输。
  4. CPU暂停:在收到DMA请求信号后,CPU会暂停对内存的访问,以避免与DMA传输冲突。
  5. DMA传输:DMA控制器根据事先设置的参数,直接控制数据在外部设备和系统内存之间进行传输,无需CPU的干预。DMA控制器通过总线与外部设备进行数据传输,将数据从外部设备读取到内存,或者将数据从内存写入到外部设备。
  6. DMA完成:当DMA传输完成后,DMA控制器会向CPU发送DMA完成信号,通知CPU可以恢复对内存的访问。
  7. CPU恢复:CPU收到DMA完成信号后,可以恢复对内存的访问,继续执行其他任务或指令。

总结

数据传输控制方式轮询方式程序中断方式DMA
优点简单易实现实时性较高数据传输效率高
缺点效率较低频繁中断,影响其他程序执行实现方式复杂,成本较高
常见应用场景老式鼠标键盘现在的鼠标、键盘;老式硬盘移动硬盘、显卡等接口
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:DingDangDog

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!