Skip to content

第八章:输入输出系统

输入输出系统是计算机与外部世界交互的桥梁,负责管理各种I/O设备、处理中断、实现DMA传输等功能。本章详细介绍I/O系统的组成、工作原理和实现技术。

8.1 I/O系统概述

8.1.1 I/O系统的功能

输入输出系统的主要功能包括:

  1. 设备管理:管理各种I/O设备
  2. 数据传输:在CPU、内存、I/O设备间传输数据
  3. 中断处理:处理设备中断请求
  4. 错误处理:处理I/O操作中的错误
  5. 设备驱动:提供设备访问接口

生动比喻:I/O系统就像公司的前台

  • 接待来访者(处理设备请求)
  • 传递信息(数据传输)
  • 处理突发事件(中断处理)
  • 协调各部门(设备管理)

8.1.2 I/O系统的层次结构

应用程序

系统调用接口

设备驱动程序

I/O子系统

硬件抽象层

I/O硬件

8.2 I/O接口与控制

8.2.1 I/O接口的功能

I/O接口是CPU与I/O设备之间的桥梁,主要功能:

  1. 数据缓冲:暂存传输的数据
  2. 信号转换:转换信号格式和电平
  3. 时序控制:控制数据传输时序
  4. 错误检测:检测传输错误
  5. 设备选择:选择特定的I/O设备

8.2.2 I/O接口的组成

数据寄存器

功能:存储要传输的数据

例子

  • 数据输入寄存器:存储从设备读取的数据
  • 数据输出寄存器:存储要发送给设备的数据

状态寄存器

功能:存储设备状态信息

状态位

  • 就绪位(Ready):设备是否准备好
  • 忙位(Busy):设备是否忙碌
  • 错误位(Error):是否发生错误
  • 完成位(Done):操作是否完成

控制寄存器

功能:控制设备操作

控制位

  • 启动位(Start):启动设备操作
  • 停止位(Stop):停止设备操作
  • 中断使能位:是否允许中断
  • 方向位:数据传输方向

8.2.3 I/O端口编址

统一编址

特点:I/O端口与内存统一编址

优点

  • 指令统一
  • 寻址方式丰富
  • 编程简单

缺点

  • 占用内存地址空间
  • 地址译码复杂

独立编址

特点:I/O端口独立编址

优点

  • 不占用内存地址空间
  • 地址译码简单
  • 指令区分明确

缺点

  • 需要专门的I/O指令
  • 寻址方式有限

8.3 中断系统

8.3.1 中断的基本概念

**中断(Interrupt)**是I/O设备向CPU请求服务的一种机制。

中断的作用

  • 提高CPU利用率
  • 实现实时响应
  • 处理异常情况

中断类型

  • 外部中断:来自I/O设备
  • 内部中断:来自CPU内部
  • 软件中断:由程序指令产生

8.3.2 中断处理过程

中断请求

中断请求信号

  • 设备产生中断请求
  • 中断控制器接收请求
  • 向CPU发送中断信号

中断响应

CPU响应条件

  • 中断使能位为1
  • 当前指令执行完毕
  • 没有更高优先级中断

中断处理

中断处理步骤

  1. 保存现场:保存程序计数器、状态寄存器
  2. 关中断:禁止其他中断
  3. 查找中断源:确定中断来源
  4. 执行中断服务程序:处理中断
  5. 恢复现场:恢复保存的寄存器
  6. 开中断:允许其他中断
  7. 返回:返回原程序

8.3.3 中断优先级

优先级设计

固定优先级

  • 每个中断源有固定优先级
  • 高优先级中断可以打断低优先级中断
  • 简单但不够灵活

动态优先级

  • 优先级可以动态调整
  • 根据系统状态调整优先级
  • 灵活但复杂

中断嵌套

中断嵌套:高优先级中断可以打断低优先级中断的处理

嵌套规则

  • 只有高优先级中断可以嵌套
  • 嵌套深度有限制
  • 需要保存多个现场

8.3.4 中断控制器

8259A中断控制器

功能

  • 管理8个中断源
  • 优先级控制
  • 中断屏蔽

寄存器

  • IRR:中断请求寄存器
  • ISR:中断服务寄存器
  • IMR:中断屏蔽寄存器

现代中断控制器

APIC(Advanced Programmable Interrupt Controller)

  • 支持多处理器
  • 消息中断
  • 动态路由

8.4 DMA工作原理

8.4.1 DMA的基本概念

DMA(Direct Memory Access):直接内存访问

DMA的作用

  • 减少CPU负担
  • 提高数据传输效率
  • 实现高速数据传输

DMA适用场景

  • 大量数据传输
  • 高速设备
  • 实时性要求高

8.4.2 DMA控制器

DMA控制器的功能

  1. 总线控制:控制总线使用权
  2. 地址管理:管理内存地址
  3. 传输控制:控制传输过程
  4. 状态监控:监控传输状态

DMA控制器的组成

地址寄存器

  • 源地址寄存器:存储源地址
  • 目标地址寄存器:存储目标地址
  • 地址计数器:自动递增地址

控制寄存器

  • 传输长度寄存器:存储传输字节数
  • 控制位寄存器:控制传输参数
  • 状态寄存器:存储传输状态

8.4.3 DMA传输过程

传输准备

  1. CPU设置DMA参数
    • 设置源地址
    • 设置目标地址
    • 设置传输长度
    • 启动DMA传输

传输执行

  1. DMA请求总线

    • 向总线仲裁器请求总线
    • 等待总线授权
  2. 执行传输

    • 从源地址读取数据
    • 向目标地址写入数据
    • 更新地址计数器
    • 递减传输计数器
  3. 传输完成

    • 传输计数器为0
    • 向CPU发送中断
    • 释放总线控制权

8.4.4 DMA传输模式

单次传输模式

特点:每次DMA请求传输一个数据

适用:低速设备

块传输模式

特点:一次DMA请求传输一个数据块

适用:高速设备

请求传输模式

特点:根据设备请求决定传输

适用:可变速率设备

8.5 外部设备与接口标准

8.5.1 存储设备

硬盘驱动器

接口类型

  • IDE:并行ATA接口
  • SATA:串行ATA接口
  • SCSI:小型计算机系统接口

性能指标

  • 容量:存储容量
  • 转速:磁盘转速
  • 寻道时间:磁头定位时间
  • 传输速率:数据传输速度

固态硬盘

特点

  • 无机械部件
  • 读写速度快
  • 功耗低
  • 价格高

接口

  • SATA:传统接口
  • M.2:新式接口
  • NVMe:高速接口

8.5.2 输入设备

键盘

接口类型

  • PS/2:传统接口
  • USB:现代接口
  • 无线:蓝牙、2.4GHz

工作原理

  • 按键扫描
  • 键码生成
  • 数据传输

鼠标

类型

  • 机械鼠标:使用滚球
  • 光电鼠标:使用光学传感器
  • 激光鼠标:使用激光传感器

接口

  • PS/2:传统接口
  • USB:现代接口
  • 无线:蓝牙、2.4GHz

8.5.3 输出设备

显示器

类型

  • CRT:阴极射线管显示器
  • LCD:液晶显示器
  • LED:发光二极管显示器
  • OLED:有机发光二极管显示器

接口

  • VGA:模拟接口
  • DVI:数字接口
  • HDMI:高清多媒体接口
  • DisplayPort:显示端口

打印机

类型

  • 针式打印机:使用打印针
  • 喷墨打印机:使用墨水喷射
  • 激光打印机:使用激光和墨粉

接口

  • 并行接口:传统接口
  • USB:现代接口
  • 网络接口:网络打印

8.5.4 网络设备

网卡

功能

  • 数据包接收和发送
  • 协议处理
  • 错误检测

接口类型

  • 以太网:有线网络
  • WiFi:无线网络
  • 蓝牙:短距离无线

调制解调器

功能

  • 数字信号与模拟信号转换
  • 数据传输
  • 错误检测和纠正

8.6 I/O性能优化

8.6.1 缓存技术

设备缓存

功能:在设备中缓存数据

优点

  • 减少访问延迟
  • 提高传输效率

系统缓存

功能:在内存中缓存设备数据

优点

  • 减少设备访问
  • 提高系统性能

8.6.2 预读技术

预读:提前读取可能需要的数据

优点

  • 减少访问延迟
  • 提高命中率

缺点

  • 可能读取无用数据
  • 占用内存空间

8.6.3 写回技术

写回:延迟写入数据到设备

优点

  • 减少写入次数
  • 提高写入效率

缺点

  • 数据丢失风险
  • 需要额外管理

8.7 总结

本章介绍了I/O系统的核心内容:

  1. I/O接口:数据、状态、控制寄存器
  2. 中断系统:中断处理、优先级、控制器
  3. DMA技术:直接内存访问、传输模式
  4. 外部设备:存储、输入、输出、网络设备
  5. 性能优化:缓存、预读、写回技术

I/O系统是计算机系统的重要组成部分,其设计直接影响系统的性能和用户体验。随着技术的发展,I/O系统不断演进,出现了USB、SATA、PCIe等新的接口标准,为计算机系统提供了更高的性能和更好的扩展性。理解I/O系统的工作原理对于系统设计、性能优化和故障诊断都具有重要意义。


外部参考