第七章:总线与输入输出系统
总线是连接计算机各个部件的通信通道,输入输出系统负责计算机与外部设备的交互。本章介绍总线结构、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发送中断请求
中断处理过程:
- 保存现场
- 执行中断服务程序
- 恢复现场
- 返回原程序
优点:
- CPU利用率高
- 响应及时
缺点:
- 中断开销大
- 编程复杂
7.4.3 DMA方式
DMA(Direct Memory Access):直接内存访问
原理:DMA控制器直接控制内存与I/O设备的数据传输
DMA工作过程:
- CPU设置DMA参数
- DMA控制器接管总线
- 直接传输数据
- 传输完成中断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系统的基本概念:
- 总线结构:单总线、双总线、多总线
- 总线仲裁:集中式、分布式仲裁方法
- I/O控制:程序查询、中断、DMA方式
- 接口技术:串行、并行接口
- 现代总线:PCI、PCIe、SATA等
总线系统是计算机的重要组成部分,其设计直接影响系统性能。随着技术的发展,总线技术不断演进,出现了高速串行总线、点对点连接等新技术,为计算机系统提供了更高的性能和更好的扩展性。

