在软件设计师考试中,关于输入输出技术的主要考点是“数据传输控制方式”。而针对这一考点,常考的有以下是一些控制方式:
关于这些知识点的题目,大多是概念性选择-判断题,其中关于 DMA
的题目出现的比较频繁。接下来我们依次介绍一下这些知识点。
关注公众号“月上老狗”,发送“软件设计师”,获取历年软件设计师软考真题。
数据传输控制方式是指控制数据在计算机内部或系统之间传输的方式和方法。它涉及了对数据传输过程的控制、调度和管理,以确保数据能够按照预期的方式进行传输,并达到预期的效果。数据传输控制方式包括了对数据传输速率、数据传输路径、数据传输优先级等方面的控制。
按照特点和实现方式,数据传输控制方式可以分为以下几种分类:
Polling
):原理:通过程序轮询特定的输入/输出端口或设备状态来判断是否有数据需要处理,然后采取相应的措施。
优点:简单易实现,适用于简单的数据传输和处理任务。
缺点:效率低下,会造成CPU资源的浪费,不适用于高速数据传输和实时响应的场景。
Programmed I/O with Interrupt
):原理:通过设置中断信号,当设备需要处理数据时向
CPU
发送中断请求,CPU
暂停当前任务转而处理中断请求,然后返回继续执行原任务。
优点:实时性较高,能够及时响应设备的数据请求,适用于对数据处理要求较高的场景。
缺点:由于频繁的中断请求可能会影响CPU
的正常工作,导致系统的吞吐量下降。
Direct Memory Access,DMA
):原理:通过DMA控制器实现设备和存储器之间的直接数据传输,减轻了
CPU
的负担,提高了数据传输效率。
优点:数据传输效率高,不需要CPU
参与数据传输过程,适用于大容量数据的传输和高速数据流处理。
缺点:硬件成本较高,对系统的稳定性和安全性要求较高,配置和调试较为复杂。
还有一些其他的方式,但不需要学习,知道其名字即可:
注意:从上到下,这些处理方式的执行效率是越来越高的。
程序中断方式用于处理设备发出的中断请求,其处理过程通常包括以下几个步骤:
DMA(直接内存访问)是一种数据传输方式,允许外部设备直接访问系统内存,而无需CPU的干预。其处理过程通常包括以下步骤:
数据传输控制方式 | 轮询方式 | 程序中断方式 | DMA |
---|---|---|---|
优点 | 简单易实现 | 实时性较高 | 数据传输效率高 |
缺点 | 效率较低 | 频繁中断,影响其他程序执行 | 实现方式复杂,成本较高 |
常见应用场景 | 老式鼠标键盘 | 现在的鼠标、键盘;老式硬盘 | 移动硬盘、显卡等接口 |
本文作者:DingDangDog
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!