Skip to content

第七章:总线与输入输出系统

总线是连接计算机各个部件的通信通道,输入输出系统负责计算机与外部设备的交互。本章介绍总线结构、I/O控制方式和外设接口技术。

7.1 总线系统概述

7.1.1 总线的定义与作用

**总线(Bus)**是一组用于传输信息的公共信号线,连接计算机的各个部件。

总线的作用

  • 连接CPU、内存、I/O设备
  • 传输数据、地址、控制信号
  • 实现资源共享

生动比喻:总线就像城市的道路系统

  • 数据总线 = 车道(传输货物)
  • 地址总线 = 路标(指示目的地)
  • 控制总线 = 交通信号(控制通行)

7.1.2 总线的分类

按功能分类

  • 数据总线:传输数据
  • 地址总线:传输地址信息
  • 控制总线:传输控制信号

按位置分类

  • 内部总线:CPU内部总线
  • 系统总线:连接CPU、内存、I/O
  • 外部总线:连接外部设备

7.2 总线结构与分类

7.2.1 单总线结构

特点:所有设备共享一条总线

优点

  • 结构简单
  • 成本低
  • 易于扩展

缺点

  • 总线竞争严重
  • 性能瓶颈
  • 可靠性差

7.2.2 双总线结构

特点:CPU与内存、I/O设备分别连接

结构

CPU ←→ 内存总线 ←→ 内存

I/O总线 ←→ I/O设备

优点

  • 减少总线竞争
  • 提高性能

7.2.3 多总线结构

特点:使用多条总线连接不同设备

例子:现代PC总线结构

  • 前端总线:CPU与北桥
  • 内存总线:北桥与内存
  • PCI总线:连接扩展卡
  • USB总线:连接外设

7.3 总线仲裁与带宽

7.3.1 总线仲裁

总线仲裁:决定哪个设备可以使用总线

集中式仲裁

菊花链仲裁

  • 设备按优先级连接
  • 高优先级设备优先获得总线
  • 简单但不公平

独立请求仲裁

  • 每个设备独立请求总线
  • 仲裁器决定使用权
  • 公平但复杂

分布式仲裁

自仲裁:设备自己决定是否使用总线

7.3.2 总线带宽

总线带宽:单位时间内传输的数据量

计算公式

带宽 = 总线宽度 × 时钟频率

例子

  • 32位总线,100MHz时钟
  • 带宽 = 32位 × 100MHz = 400MB/s

7.4 I/O控制方式

7.4.1 程序查询方式

原理:CPU不断查询I/O设备状态

特点

  • 简单易实现
  • CPU利用率低
  • 适合慢速设备

例子:键盘输入

c
while(!keyboard_ready()) {
    // 等待键盘就绪
}
data = read_keyboard();

7.4.2 中断方式

原理:I/O设备完成操作后向CPU发送中断请求

中断处理过程

  1. 保存现场
  2. 执行中断服务程序
  3. 恢复现场
  4. 返回原程序

优点

  • CPU利用率高
  • 响应及时

缺点

  • 中断开销大
  • 编程复杂

7.4.3 DMA方式

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

原理:DMA控制器直接控制内存与I/O设备的数据传输

DMA工作过程

  1. CPU设置DMA参数
  2. DMA控制器接管总线
  3. 直接传输数据
  4. 传输完成中断CPU

优点

  • 减少CPU负担
  • 传输效率高

应用:磁盘、网络、音频等高速设备

7.5 外设接口与同步/异步传输

7.5.1 串行接口

RS-232接口

特点

  • 串行传输
  • 异步通信
  • 距离远(可达15米)

信号线

  • TXD:发送数据
  • RXD:接收数据
  • GND:地线

USB接口

特点

  • 即插即用
  • 热插拔
  • 高速传输

版本

  • USB 1.0:12Mbps
  • USB 2.0:480Mbps
  • USB 3.0:5Gbps

7.5.2 并行接口

并行打印机接口

特点

  • 8位并行传输
  • 传输速度快
  • 距离短

IDE接口

特点

  • 16位并行传输
  • 连接硬盘、光驱
  • 已被SATA替代

7.5.3 同步与异步传输

同步传输

特点

  • 使用时钟信号同步
  • 传输效率高
  • 需要时钟线

例子:SPI、I2C总线

异步传输

特点

  • 使用起始位、停止位同步
  • 传输效率低
  • 不需要时钟线

例子:RS-232、UART

7.6 现代总线技术

7.6.1 PCI总线

特点

  • 32位/64位数据总线
  • 33MHz/66MHz时钟
  • 即插即用

应用:扩展卡、网卡、声卡

7.6.2 PCI Express

特点

  • 串行传输
  • 点对点连接
  • 高速传输

版本

  • PCIe 1.0:2.5Gbps/lane
  • PCIe 2.0:5Gbps/lane
  • PCIe 3.0:8Gbps/lane

7.6.3 SATA接口

特点

  • 串行ATA
  • 高速传输
  • 热插拔

版本

  • SATA 1.0:1.5Gbps
  • SATA 2.0:3Gbps
  • SATA 3.0:6Gbps

7.7 总线性能优化

7.7.1 总线宽度优化

增加总线宽度

  • 提高数据传输率
  • 增加硬件成本
  • 需要更多引脚

7.7.2 时钟频率优化

提高时钟频率

  • 提高传输速度
  • 增加功耗
  • 信号完整性要求高

7.7.3 总线协议优化

流水线传输

  • 重叠地址和数据传输
  • 提高总线利用率

突发传输

  • 连续传输多个数据
  • 减少地址开销

7.8 总结

本章介绍了总线与I/O系统的基本概念:

  1. 总线结构:单总线、双总线、多总线
  2. 总线仲裁:集中式、分布式仲裁方法
  3. I/O控制:程序查询、中断、DMA方式
  4. 接口技术:串行、并行接口
  5. 现代总线:PCI、PCIe、SATA等

总线系统是计算机的重要组成部分,其设计直接影响系统性能。随着技术的发展,总线技术不断演进,出现了高速串行总线、点对点连接等新技术,为计算机系统提供了更高的性能和更好的扩展性。


外部参考