16 KiB
第3章 系统总线
📖 本章介绍系统总线的基本概念、分类和控制逻辑。 🎯 重点理解总线结构和总线仲裁方式
📋 本章目录
3.1 总线的基本概念
3.1.1 什么是总线
[!info] 定义 总线是连接多个部件的信息传输线,是各部件共享的传输介质。
关键特性:
- 同一时刻只允许一个部件向总线发送信息
- 多个部件可以同时从总线上接收相同的信息
graph TB
subgraph "总线结构"
CPU[CPU] <--> |"共享总线"| BUS[系统总线]
MEM[主存] <--> |"共享总线"| BUS
IO1[I/O设备1] <--> |"共享总线"| BUS
IO2[I/O设备2] <--> |"共享总线"| BUS
IO3[I/O设备3] <--> |"共享总线"| BUS
end
style BUS fill:#ffcc00
总线就像一条公共马路:所有车辆(部件)都使用同一条马路,但同一时刻只能过一辆车(单车道),不过一个电台广播时很多人可以同时收听(多人同时接收)。
或者想象一个会议室:麦克风(总线)是共享的,所有人都可以用,但不能两个人同时说话,不过一个人说话时所有人都能听到。
3.1.2 总线连接方式
分散连接 vs 总线连接
| 特性 | 分散连接 | 总线连接 |
|---|---|---|
| 连线方式 | 各部件单独连线 | 共享传输线 |
| 灵活性 | 差,增删设备困难 | 好,便于扩展 |
| 复杂度 | 高 | 低 |
| 成本 | 高 | 低 |
这两种连接方式可以类比电话系统:分散连接就像每个办公室之间都拉一条专用电话线,A要打给B需要A-B专线,打给C需要A-C专线,线多成本高;总线连接就像所有办公室都连到一条电话总线上,通过总线转接,线少成本低,增加新办公室只需接一条线。
3.1.3 总线结构类型
1. 面向CPU的双总线结构
graph TB
subgraph "面向CPU的双总线"
CPU[CPU] <--> |"M总线"| MEM[主存]
CPU <--> |"I/O总线"| IO1[I/O设备1]
CPU <--> |"I/O总线"| IO2[I/O设备2]
CPU <--> |"I/O总线"| ION[I/O设备n]
end
style CPU fill:#ff9999
style MEM fill:#99ff99
特点:
- 两组总线:M总线(存储总线)和I/O总线
- I/O设备与主存交换信息需经过CPU
- 影响CPU工作效率
这种结构就像公司的物流系统,M总线是仓库和生产车间之间的专用通道,I/O总线是生产车间和客户之间的通道。问题是客户要从仓库取货,必须经过生产车间,影响生产效率。
2. 单总线结构
graph TB
subgraph "单总线结构"
CPU[CPU] <--> |"系统总线"| BUS[系统总线]
MEM[主存] <--> |"系统总线"| BUS
IO1[I/O设备1] <--> |"系统总线"| BUS
IO2[I/O设备2] <--> |"系统总线"| BUS
ION[I/O设备n] <--> |"系统总线"| BUS
end
style BUS fill:#ffcc00
特点:
- 所有部件挂到同一组总线
- I/O与主存交换信息不占用CPU
- 需要总线判优逻辑解决冲突
单总线就像公司内部只有一条快递通道,所有部门共用。优点是客户可以直接从仓库取货,不经过生产车间;缺点是如果多个部门同时要用通道就会冲突,需要排队。
3. 以存储器为中心的双总线结构
graph TB
subgraph "以存储器为中心的双总线"
CPU[CPU] <--> |"存储总线"| MEM[主存]
MEM <--> |"系统总线"| BUS[系统总线]
IO1[I/O设备1] <--> |"系统总线"| BUS
IO2[I/O设备2] <--> |"系统总线"| BUS
ION[I/O设备n] <--> |"系统总线"| BUS
end
style MEM fill:#99ff99
style BUS fill:#ffcc00
特点:
- 在单总线基础上增加CPU与主存之间的专用总线
- 存储总线速度高,只供CPU与主存传输信息
- 既提高传输效率,又减轻系统总线负担
这是对单总线的改进,增加了仓库和生产车间之间的高速专用通道。这样既提高了CPU和内存之间的传输效率,其他部门又可以直接从仓库取货,系统总线负担也减轻了。现代计算机大多采用这种结构。
3.2 总线的分类
3.2.1 按连接部件分类
1. 片内总线
[!info] 定义 片内总线是指芯片内部的总线,如在CPU芯片内部,寄存器与寄存器之间、寄存器与算逻单元ALU之间都由片内总线连接。
片内总线就像公司内部各部门之间的内部电话,只在公司内部(芯片内部)使用,用于各部门之间沟通工作,速度快距离短。
2. 系统总线
[!info] 定义 系统总线是指CPU、主存、I/O设备各大部件之间的信息传输线。由于这些部件通常都安放在主板或各个插件板上,故又称板级总线或板间总线。
系统总线的三类:
graph TB
subgraph "系统总线"
DB[数据总线] --> |"传输数据"| DATA[数据信息]
AB[地址总线] --> |"传输地址"| ADDR[地址信息]
CB[控制总线] --> |"传输控制"| CTRL[控制信号]
end
-
数据总线:传输各功能部件之间的数据信息,双向传输,宽度与机器字长有关(8位、16位、32位)
-
地址总线:指出源数据或目的数据在主存单元的地址或I/O设备的地址,单向输出(由CPU输出),宽度与存储单元个数有关
-
控制总线:发出各种控制信号,每根线单向但整体有输入也有输出,包括存储器读/写、I/O读/写、中断请求等
系统总线可以理解为公司的三套沟通系统:数据总线是快递通道,传送实际的文件和包裹,双向传输;地址总线是门牌号系统,告诉快递员送到哪个办公室,只有总经理(CPU)能指定地址;控制总线是指令系统,传达各种指令和状态,有输入有输出。
当你在电脑上保存文件时:CPU通过地址总线告诉内存"我要存到地址1000",通过数据总线把文件数据传给内存,通过控制总线发出"写入"命令。
3. 通信总线
[!info] 定义 通信总线用于计算机系统之间或计算机系统与其他系统之间的通信。
分类:
-
串行通信:数据在单条1位宽的传输线上,一位一位地按顺序传送,适合远距离,成本低,但速度慢
-
并行通信:数据在多条并行1位宽的传输线上,同时传送,速度快,但适合近距离,成本高
串行通信就像一个人骑自行车送信,一次只能带一封信,分8次送完8封信,成本低适合远距离;并行通信就像8个人同时骑自行车送信,一次就能送8封信,速度快但成本高。
USB、网络线、电话线用串行通信;打印机接口、早期硬盘接口用并行通信。
3.3 总线特性及性能指标
3.3.1 总线特性
总线特性包括以下几项:
-
机械特性:总线在机械连接方式上的一些性能,如插头与插座标准、几何尺寸、引脚个数、排列顺序。就像电源插头的形状和大小。
-
电气特性:总线的每一根传输线上信号的传递方向和有效的电平范围,高电平表示1,低电平表示0。就像电源的电压标准(220V还是110V)。
-
功能特性:总线中每根传输线的功能,如地址线、数据线、控制线。就像不同颜色的电线代表不同功能。
-
时间特性:总线中的任一根线在什么时间内有效,信号时序关系。就像交通信号灯的时序(红灯停、绿灯行)。
3.3.2 总线性能指标
| 指标 | 说明 | 计算方式 |
|---|---|---|
| 总线宽度 | 数据总线的根数 | 8位、16位、32位、64位 |
| 总线带宽 | 数据传输速率 | 总线宽度 × 总线频率 |
| 时钟同步 | 数据与时钟同步方式 | 同步总线、异步总线 |
| 总线复用 | 一条线传送多种信号 | 地址/数据复用 |
| 信号线数 | 三种总线数的总和 | 地址线+数据线+控制线 |
这些指标可以类比公路:总线宽度是车道数,8位就是8车道;总线带宽是车流量,计算方式是车道数×车速;时钟同步就像交通信号灯,同步总线所有车按信号灯行驶;总线复用就像多功能车道,白天走汽车晚上走自行车。
假设总线工作频率为33MHz,总线宽度为32位:总线带宽 = 33MHz × (32÷8) = 132MBps,意味着每秒可以传输132MB的数据。
3.3.3 总线标准
[!info] 定义 总线标准是系统与各模块、模块与模块之间的一个互连的标准界面。
总线标准就像交通规则,标准化使得所有车辆都遵守同一套规则,不同品牌的车都能在同一条路上行驶,便于扩展。
常见的总线标准包括ISA、EISA、VESA、PCI、USB等。USB总线是统一的外部设备接口标准,手机、U盘、鼠标都可以用USB接口,不同品牌的设备都能互相兼容,即插即用。
3.4 总线结构
3.4.1 单总线结构
graph TB
subgraph "单总线结构"
CPU[CPU] <--> |"系统总线"| BUS[系统总线]
MEM[主存] <--> |"系统总线"| BUS
IO1[I/O设备1] <--> |"系统总线"| BUS
IO2[I/O设备2] <--> |"系统总线"| BUS
end
style BUS fill:#ffcc00
优点:结构简单,便于扩展,成本低 缺点:总线成为瓶颈,多设备同时使用会冲突,影响系统性能
单总线就像一条单车道公路,建设成本低维护简单,但如果车多就会堵车。早期的个人计算机采用单总线结构。
3.4.2 双总线结构
graph TB
subgraph "双总线结构"
CPU[CPU] <--> |"存储总线"| MEM[主存]
CPU <--> |"I/O总线"| IO[I/O设备]
MEM <--> |"I/O总线"| IO
end
style MEM fill:#99ff99
优点:CPU和I/O可以并行工作,减轻总线负担,提高系统性能 缺点:结构复杂,成本高
双总线就像两条公路,存储总线是仓库和生产车间之间的专用高速公路,I/O总线是仓库和其他部门之间的普通公路,专用通道效率高不会互相干扰。现代计算机采用双总线结构。
3.4.3 三总线结构
graph TB
subgraph "三总线结构"
CPU[CPU] <--> |"存储总线"| MEM[主存]
CPU <--> |"I/O总线"| IO[I/O设备]
MEM <--> |"DMA总线"| IO
end
style MEM fill:#99ff99
优点:支持DMA(直接内存访问),I/O设备可以直接访问内存,进一步提高系统性能
三总线增加了仓库和其他部门之间的直达通道(DMA总线),其他部门可以直接从仓库取货,不经过生产车间。现代计算机支持DMA技术,硬盘可以直接把数据传到内存,不经过CPU。
3.5 总线控制
3.5.1 总线仲裁
[!info] 定义 总线仲裁是解决多个部件同时申请使用总线时,如何决定哪个部件获得总线使用权的机制。
仲裁方式:
-
集中式仲裁:有一个中央仲裁器,控制简单,但有单点故障风险。就像路口的交通警察,指挥统一秩序井然,但如果警察不在交通就乱了。
-
分布式仲裁:每个设备都有仲裁逻辑,可靠性高,但控制复杂。就像没有警察,车辆自己按规则(如先到先行)通过,容易混乱但没有单点故障。
传统的电话系统用集中式仲裁,由交换机决定谁先通话;以太网用分布式仲裁,设备自己检测冲突并重试。
3.5.2 总线通信控制
通信方式:
-
同步通信:所有操作按统一时钟进行,控制简单,但速度受限于最慢设备。就像全公司统一上下班时间,管理简单但如果某个部门慢其他部门都要等。
-
异步通信:没有统一时钟,用握手信号,速度灵活但控制复杂。就像各部门按自己的节奏工作,用"准备好"和"收到"信号协调,各部门可以按自己的速度工作。
工厂的流水线用同步通信,所有工位按同一节奏工作;快递系统用异步通信,快递员按自己的节奏送货,用"已签收"信号确认。
📝 本章小结
核心概念
- 总线:连接多个部件的共享传输介质
- 总线分类:片内总线、系统总线、通信总线
- 总线结构:单总线、双总线、三总线
- 总线控制:仲裁方式、通信控制
关键术语
| 术语 | 英文 | 含义 |
|---|---|---|
| Bus | Bus | 总线 |
| Arbitration | Arbitration | 仲裁 |
| Synchronous | Synchronous | 同步 |
| Asynchronous | Asynchronous | 异步 |
| DMA | Direct Memory Access | 直接内存访问 |
重点图示
[!summary] 必须掌握的图
- 三种总线结构框图(单总线、双总线、三总线)
- 系统总线的三类(数据、地址、控制)
- 总线仲裁方式
🧪 例题与解析
例题1:总线带宽计算
题目:某计算机总线工作频率为66MHz,总线宽度为32位,求总线带宽。
答案:
总线带宽 = 总线频率 × 总线宽度(字节)= 66×10⁶ × 4 = 264×10⁶ 字节/秒 = 264 MBps
这就像一条公路,每秒可以通过66百万辆车,每辆车能装4个包裹(32位=4字节),每秒能送264百万个包裹。
例题2:地址总线计算
题目:某计算机有20位地址线,求该计算机能访问的最大存储单元数。
答案:
20位地址线可以表示 2²⁰ = 1048576 个地址,即能访问1048576个存储单元。
这就像仓库的门牌号系统,20位地址线表示门牌号有20位数字,最多能编1048576个门牌号。
例题3:总线结构比较
题目:比较单总线结构和双总线结构的优缺点。
答案:
单总线结构简单、成本低,但总线成为瓶颈,多设备同时使用会冲突;双总线结构复杂、成本高,但CPU和I/O可以并行工作,总线负担轻,系统性能高。
单总线就像一条主干道,所有车辆都走这条路容易堵车;双总线有两条主干道,一条高速一条普通,车辆分流不容易堵车。
例题4:总线仲裁
题目:简述集中式仲裁和分布式仲裁的区别。
答案:
集中式仲裁有中央仲裁器,控制简单但有单点故障风险;分布式仲裁每个设备都有仲裁逻辑,可靠性高但控制复杂。
集中式仲裁就像路口有警察指挥,秩序井然但警察不在就乱了;分布式仲裁没有警察,车辆自己按规则行驶,没有单点故障但容易混乱。
例题5:串行与并行通信
题目:比较串行通信和并行通信的优缺点。
答案:
串行通信一位一位传送,速度慢但成本低,适合远距离;并行通信多位同时传送,速度快但成本高,适合近距离。
串行通信就像一个人骑自行车送信,成本低适合远距离;并行通信就像8个人同时骑自行车送信,速度快但成本高。
⚡ 知识点速记卡
考前快速过一遍,30秒回忆整章核心
总线 = 各部件共享的传输介质,同一时刻只能一个部件发送,但多个部件可以同时接收。
系统总线三类:数据总线(双向,传数据)、地址总线(单向,CPU输出地址)、控制总线(有读有写,传控制信号)。
三种总线结构:单总线(简单但有瓶颈)→ 双总线(CPU-主存专用线+系统总线)→ 三总线(再加DMA总线)。
总线带宽 = 总线宽度 × 总线频率。32位宽度、66MHz频率 → 带宽 = 4B × 66M = 264MBps。
总线仲裁:集中式(有中央仲裁器,简单但有单点故障)vs 分布式(各设备自己仲裁,可靠但复杂)。
通信方式:同步(统一时钟,简单但受限于最慢设备)vs 异步(握手信号,灵活但复杂)。
串行 vs 并行:串行一位一位传,慢但便宜适合远距离;并行多位同时传,快但贵适合近距离。
🔗 相关链接
- 00_计算机组成原理学习指南 - 返回主目录
- 01_计算机系统概论 - 上一章
- 04_存储器 - 下一章
- 05_输入输出系统 - I/O相关内容
本章难度:⭐⭐⭐ 中等 重要程度:⭐⭐⭐ 基础