输入/输出技术

DMA

DMA控制器需要占用系统总线,以便将数据从外设传输到内存,或者从内存传输到外设(主存<->外设). 这个占用总线的过程就是一次总线周期

采用DMA方式传送数据时,每传送一个数据都需要占用一个(B)。

  • (A) 指令周期
  • (B) 总线周期
  • (C) 存储周期
  • (D) 机器周期

CPU是在(D)结束时响应DMA请求的。

  • (A) 一条指令执行
  • (B) 一段程序
  • (C) 一个时钟周期: 是处理操作的最基本单位。
  • (D) 一个总线周期: 也就是一个访存储器或I/O端口操作所用的时间。

计算机运行过程中,CPU需要与外设进行数据交换。采用( )控制技术时,CPU与外设可并行工作。

  • (A) 程序查询方式和中断方式
  • (B) 中断方式和DMA方式
  • (C) 程序查询方式和DMA方式
  • (D) 程序查询方式、中断方式和DMA方式

🔹 三种 I/O 方式对比表

特点/方式程序查询方式(轮询)中断方式DMA方式(直接存储器访问)
CPU角色全程盯着外设,亲力亲为外设需要时才打断 CPU,CPU帮忙搬数据CPU只发起DMA请求,之后甩手不管
并行性❌ 没有并行,CPU被绑死✅ 有并行(CPU能干别的,偶尔被打断)✅ 强并行(CPU和DMA几乎独立工作)
传输单位一条指令一次一次中断传输一个/少量数据一次DMA传输一大块数据
速度最慢中等最快
CPU是否保护现场不涉及(CPU没被中断)需要保存和恢复现场一般不需要
适用场景低速设备,小量数据中等速率设备,少量/中等数据高速设备,大量连续数据

程序控制(查询)方式

CPU需要不断查询I/O是否完成,因此一直占用CPU。

程序中断方式

与程序控制方式相比,中断方式因为CPU无需等待而提高了传输请求的响应速度。

DMA方式

DMA方式是为了在主存与外设之间实现高速、批量数据交换而设置的。DMA方式比程序控制方式与中断方式都高效。CPU只负责初始化,不参与具体传输过程


以下关于中断方式与DMA方式的叙述中,正确的是( )

A 中断方式与DMA方式都可实现外设与CPU之间的并行工作

B 程序中断方式和DMA方式在数据传输过程中都不需要CPU的干预

C 采用DMA方式传输数据的速度比程序中断方式的速度慢

D 程序中断方式和DMA方式都不需要CPU保护现场


在计算机中,I/O系统可以有5种不同的工作方式,分别是程序控制方式、程序中断方式、DMA工作方式、通道方式、I/O处理机。

1、程序控制方式

分为无条件查询和程序查询方式。

① 无条件传送方式,I/O端口总是准备好接受主机的输出数据,或是总是准备好向主机输入数据,而cpu在需要时,随时直接利用I/O指令访问相应的I/O端口,实现与外设的数据交换。优点是软、硬件结构简单,缺点是对时序要求高,只适用于简单的I/O控制。

② 程序查询方式

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

2、中断方式

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

3、DMA(直接内存存取)方式

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

4、通道控制方式

在一定的硬件基础上利用软件手段实现对I/O的控制和传送,更多地免去了cpu的接入,使主机和外设并行工作程度更高。

5、I/O处理机

指专门负责输入/输出的处理机。可以有独立的存储器、运算部件和指令控制部件。