I/O 接口的功能和特性

Q: I/O 接口有哪些主要功能?
A: I/O 接口的主要功能有:

  1. 进行地址译码和设备选择;
  2. 实现主机和外设的通信联络控制;
  3. 实现数据缓冲;4
  4. ) 信号格式的转换;
  5. 传送控制命令和状态信息。

Q: CPU 如何选择外设进行信息交换?
A: CPU 通过地址总线发送选择外设的地址码,I/O 接口对地址码进行译码,选中相应的设备。

Q: I/O 接口如何解决主机与外设速度不匹配的问题?
A: 通过设置数据缓冲寄存器, 用于数据的暂存,以避免因速度不一致而丢失数据。

Q: I/O 接口如何解决主机与外设之间电平、数据格式的差异?
A: 接口提供信号格式的转换功能,如电平转换、并/串或串/并转换、模/数或数/模转换等。
例如,RS-232 串口将 CPU 发送的并行数据转换为串行数据传输给外设。

Q: CPU 如何启动外设?
A: CPU 通过向 I/O 接口中的控制寄存器写入启动命令来启动外设。外设工作结束后,会将状态信息写入状态寄存器反馈给 CPU。

I/O 接口的结构

Q: I/O 接口的基本结构包括哪些?
A: I/O 接口在主机侧连接 CPU 和内存,在设备侧连接外设。
其基本结构包括:数据线、地址线、控制线、数据缓冲寄存器、状态寄存器、控制寄存器、I/O 控制逻辑等。

Q: I/O 接口中数据线、地址线和控制线分别传输什么信息?
A: - 数据线:双向传输,用于在 CPU、内存和外设之间传输数据、控制信息、状态信息以及中断类型号等。

  • 地址线:单向传输,CPU 通过地址线发送 I/O 端口地址,选中 I/O 接口中的某个寄存器。
  • 控制线:用于传送读/写控制信号、中断请求和响应信号、总线仲裁信号和握手信号等。

Q: 数据缓冲寄存器有什么作用?为什么需要它?
A: 数据缓冲寄存器用于暂存 CPU 与外设之间传输的数据。
由于 CPU 和外设的速度往往不匹配,设置数据缓冲寄存器可以起到缓冲作用,避免数据丢失。
例如,CPU 将数据写入打印机接口的缓冲区后即可继续执行其他任务,打印机则可以从缓冲区读取数据进行打印。

Q: 状态寄存器有什么作用?它记录哪些状态信息?
A: 状态寄存器用于记录接口和外设的工作状态信息,例如 “设备忙”、“数据准备好”、“出现错误” 等,CPU 可以通过读取状态寄存器了解外设的工作状态。

Q: 控制寄存器有什么作用?它保存哪些控制信息?
A: 控制寄存器保存 CPU 对外设的控制命令,例如启动、停止、复位等命令,以及设置外设工作方式的控制信息。

Q: 为什么状态寄存器和控制寄存器可以合二为一?
A: 因为它们在传送方向上是相反的,在访问时间上也是错开的,所以可以合用同一个寄存器。

Q: I/O 控制逻辑有哪些功能?
A: I/O 控制逻辑的功能主要包括:

  1. 对 CPU 发出的控制命令进行译码。
  2. 将译码后的控制信号发送给外设。
  3. 控制数据缓冲寄存器与外设之间的数据传输。
  4. 收集外设状态信息并保存到状态寄存器。

Q: 什么是 I/O 指令?它有什么特点?
A: I/O 指令是 CPU 指令系统中专门用于访问 I/O 端口的指令,例如 IN 指令和 OUT 指令分别用于从 I/O 端口读数据和向 I/O 端口写数据。I/O 指令只能在操作系统内核程序中使用,是一种特权指令。

I/O 接口的分类

按数据传送方式分类

Q: 按数据传送方式分类,I/O 接口可以分为哪两种?它们有什么区别?
A: 按数据传送方式分类,I/O 接口可以分为并行接口和串行接口。

  • 并行接口:数据线有多条,一次可以传输多个数据位,速度快,但成本高,常用于连接高速设备,例如打印机、扫描仪等。
  • 串行接口:只有一条数据线,数据逐位传输,速度慢,但成本低,常用于连接低速设备,例如鼠标、键盘等。

按主机访问 I/O 设备的控制方式分类

Q: 按主机访问 I/O 设备的控制方式分类,I/O 接口可以分为哪几种?它们分别有什么特点?
A: 按主机访问 I/O 设备的控制方式分类,I/O 接口可以分为:

  • 程序查询接口:CPU 不断查询外设状态,效率低,适用于简单、低速的外设。
  • 中断接口:外设主动向 CPU 发出中断请求,CPU 响应中断进行数据传输,效率较高,适用于速度较快的外设。
  • DMA 接口:DMA 控制器直接控制数据在内存和外设之间传输,CPU 不参与数据传输过程,效率最高,适用于高速外设,例如磁盘。

按功能选择的灵活性分类

Q: 按功能选择的灵活性分类,I/O 接口可以分为哪两种?它们有什么区别?
A: 按功能选择的灵活性分类,I/O 接口可以分为:

  • 可编程接口:可以通过软件编程改变接口的功能,灵活性高,例如 UART 接口。
  • 不可编程接口:功能固定,灵活性低,例如一些简单的打印机接口。

I/O 端口和编址

Q: 什么是 I/O 端口?它有什么作用?
A: I/O 端口是指 I/O 接口电路中可被 CPU 直接访问的寄存器,例如数据缓冲寄存器、状态寄存器和控制寄存器等。I/O 端口是 CPU 与外设之间进行数据交换的桥梁。

Q: I/O 端口有哪些类型?它们分别有什么作用?
A: I/O 端口主要有三种类型:

  • 数据端口:用于 CPU 与外设之间进行数据传输。
  • 状态端口:CPU 通过读取状态端口获取外设的状态信息。
  • 控制端口:CPU 通过向控制端口写入控制命令来控制外设的工作方式。

Q: CPU 对数据端口、状态端口和控制端口分别可以进行什么操作?
A: - 数据端口:CPU 可以对其进行读/写操作。

  • 状态端口:CPU 只能对其进行读操作。
  • 控制端口:CPU 只能对其进行写操作。

Q: I/O 端口的编址方式有哪两种?它们有什么区别?
A: I/O 端口的编址方式有独立编址和统一编址两种。

  • 独立编址:I/O 端口的地址空间与主存地址空间相互独立,使用专门的 I/O 指令来访问 I/O 端口。
  • 统一编址:I/O 端口的地址空间是主存地址空间的一部分,使用访存指令就可以访问 I/O 端口。

独立编址

Q: 什么是独立编址?它有什么特点?
A: 独立编址是指为 I/O 端口分配独立的地址空间,与主存地址空间分离。其特点是:

  • 需要专门的 I/O 指令来访问 I/O 端口。
  • I/O 端口地址译码简单,寻址速度快。
  • 程序清晰易懂,便于理解和检查。

Q: 独立编址的优缺点是什么?
A: 优点:

  • I/O 端口译码简单,寻址速度快。
  • 程序清晰易懂,便于理解和检查。
    缺点:
  • 需要专门的 I/O 指令,指令系统复杂度增加。
  • I/O 指令的功能比较简单,程序设计的灵活性较差。

统一编址

Q: 什么是统一编址?它有什么特点?
A: 统一编址是指把 I/O 端口的地址映射到主存地址空间中,将 I/O 端口视为内存单元进行访问。其特点是:

  • 可以使用访存指令访问 I/O 端口,不需要专门的 I/O 指令。
  • CPU 对 I/O 端口的访问更加灵活方便。
  • I/O 端口的地址空间更大。

Q: 统一编址的优缺点是什么?
A: 优点:

  • 可以使用访存指令访问 I/O 端口,不需要专门的 I/O 指令。
  • CPU 对 I/O 端口的访问更加灵活方便。
  • I/O 端口的地址空间更大。
    缺点:
  • I/O 端口地址占用了一部分主存地址空间,使主存可用容量减少。
  • 地址译码电路更复杂,译码速度降低。

I/O 控制方式

Q: 什么是程序查询方式?它的原理和优缺点是什么?
A: 程序查询方式是指 CPU 不断查询外设状态寄存器的 “准备好” 标志位,判断外设是否准备好进行数据传输。

  • 原理:CPU 通过循环执行查询指令来读取外设状态,直到外设准备好为止。
  • 优点:硬件结构简单,易于实现。
  • 缺点:CPU 效率低,大部分时间浪费在查询外设状态上,不适用于高速外设。

Q: 什么是中断方式?它的原理和优缺点是什么?
A: 中断方式是指当外设准备好进行数据传输时,向 CPU 发送中断请求信号,CPU 暂停当前程序的执行,转去处理 I/O 请求。

  • 原理:外设通过中断控制器向 CPU 发送中断请求信号,CPU 响应中断后,根据中断向量找到中断服务程序入口地址,执行中断服务程序。
  • 优点:CPU 效率高,不必浪费时间查询外设状态,响应速度快。
  • 缺点:硬件结构比程序查询方式复杂。

Q: 什么是 DMA 方式?它的原理和优缺点是什么?
A: DMA (直接内存访问) 方式是指在 DMA 控制器的控制下,数据直接在内存和外设之间进行高速传输,无需 CPU 干预。

  • 原理:DMA 控制器向 CPU 请求总线控制权,获得总线控制权后,直接控制内存和外设之间的数据传输。
  • 优点:数据传输速度快,CPU 效率高。
  • 缺点:硬件结构复杂,需要 DMA 控制器。

I/O 设备

Q: 请列举一些常见的 I/O 设备类型,并简要描述它们的工作原理。
A: 常见的 I/O 设备包括:

  • 输入设备:键盘、鼠标、扫描仪、麦克风等。
    • 键盘:按下按键时,对应的电路闭合,产生相应的字符编码,发送给计算机。
    • 鼠标:通过光电传感器或机械传感器检测鼠标的移动和点击,并将信息发送给计算机。
  • 输出设备:显示器、打印机、音箱等。
    • 显示器:通过电子枪发射电子束轰击屏幕上的像素点,使其发光显示图像。
    • 打印机:激光打印机通过激光束在感光鼓上形成图像,然后将墨粉吸附到感光鼓上,再转印到纸张上。
  • 存储设备:硬盘、光盘、U 盘等。
    • 硬盘:通过磁头在磁盘表面读写数据。
    • 光盘:通过激光束读写光盘上的数据。
  • 网络设备:网卡、路由器、交换机等。
    • 网卡:将计算机连接到网络,并进行数据传输。

I/O 系统性能指标

Q: I/O 系统的性能指标有哪些?
A: I/O 系统的主要性能指标包括:

  • 带宽:指单位时间内传输的数据量,通常用字节/秒 (B/s) 或位/秒 (bps) 来表示。
  • 延迟:指从发出 I/O 请求到数据传输完成所经历的时间,通常用毫秒 (ms) 或微秒 (μs) 来表示。
  • 吞吐量:指单位时间内完成的 I/O 操作次数,例如每秒钟读写的磁盘块数。
  • 响应时间:指从用户发出 I/O 请求到系统给出响应所经历的时间。