# 第3章 系统总线 > 📖 本章介绍系统总线的基本概念、分类和控制逻辑。 > 🎯 重点理解总线结构和总线仲裁方式 > ⚠️ 复习重点:书上例题3.1、3.2、3.4,课后习题3.1~3.5、3.14~3.16(必做) --- ## 📋 本章目录 - [[#3.1 总线的基本概念]] - [[#3.2 总线的分类]] - [[#3.3 总线特性及性能指标]] - [[#3.4 总线结构]] - [[#3.5 总线控制]] - [[#本章小结]] - [[#真题与作业精选]] - [[#例题与解析]] --- ## 3.1 总线的基本概念 ### 3.1.1 什么是总线 > [!info] 定义 > 总线是连接多个部件的信息传输线,是各部件**共享**的传输介质。 **关键特性**: - 同一时刻只允许**一个部件**向总线发送信息 - 多个部件可以**同时**从总线上接收相同的信息 ```mermaid 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的双总线结构 ```mermaid 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. 单总线结构 ```mermaid 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. 以存储器为中心的双总线结构 ```mermaid 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设备各大部件之间的信息传输线。由于这些部件通常都安放在主板或各个插件板上,故又称板级总线或板间总线。 **系统总线的三类**: ```mermaid graph TB subgraph "系统总线" DB[数据总线] --> |"传输数据"| DATA[数据信息] AB[地址总线] --> |"传输地址"| ADDR[地址信息] CB[控制总线] --> |"传输控制"| CTRL[控制信号] end ``` 1. **数据总线**:传输各功能部件之间的数据信息,双向传输,宽度与机器字长有关(8位、16位、32位) 2. **地址总线**:指出源数据或目的数据在主存单元的地址或I/O设备的地址,单向输出(由CPU输出),宽度与存储单元个数有关 3. **控制总线**:发出各种控制信号,每根线单向但整体有输入也有输出,包括存储器读/写、I/O读/写、中断请求等 系统总线可以理解为公司的三套沟通系统:数据总线是快递通道,传送实际的文件和包裹,双向传输;地址总线是门牌号系统,告诉快递员送到哪个办公室,只有总经理(CPU)能指定地址;控制总线是指令系统,传达各种指令和状态,有输入有输出。 当你在电脑上保存文件时:CPU通过地址总线告诉内存"我要存到地址1000",通过数据总线把文件数据传给内存,通过控制总线发出"写入"命令。 #### 3. 通信总线 > [!info] 定义 > 通信总线用于计算机系统之间或计算机系统与其他系统之间的通信。 **分类**: 1. **串行通信**:数据在单条1位宽的传输线上,一位一位地按顺序传送,适合远距离,成本低,但速度慢 2. **并行通信**:数据在多条并行1位宽的传输线上,同时传送,速度快,但适合近距离,成本高 串行通信就像一个人骑自行车送信,一次只能带一封信,分8次送完8封信,成本低适合远距离;并行通信就像8个人同时骑自行车送信,一次就能送8封信,速度快但成本高。 USB、网络线、电话线用串行通信;打印机接口、早期硬盘接口用并行通信。 --- ## 3.3 总线特性及性能指标 ### 3.3.1 总线特性 总线特性包括以下几项: 1. **机械特性**:总线在机械连接方式上的一些性能,如插头与插座标准、几何尺寸、引脚个数、排列顺序。就像电源插头的形状和大小。 2. **电气特性**:总线的每一根传输线上信号的传递方向和有效的电平范围,高电平表示1,低电平表示0。就像电源的电压标准(220V还是110V)。 3. **功能特性**:总线中每根传输线的功能,如地址线、数据线、控制线。就像不同颜色的电线代表不同功能。 4. **时间特性**:总线中的任一根线在什么时间内有效,信号时序关系。就像交通信号灯的时序(红灯停、绿灯行)。 ### 3.3.2 总线性能指标 | 指标 | 说明 | 计算方式 | |------|------|----------| | 总线宽度 | 数据总线的根数 | 8位、16位、32位、64位 | | 总线带宽 | 数据传输速率 | 总线宽度 × 总线频率 | | 时钟同步 | 数据与时钟同步方式 | 同步总线、异步总线 | | 总线复用 | 一条线传送多种信号 | 地址/数据复用 | | 信号线数 | 三种总线数的总和 | 地址线+数据线+控制线 | 这些指标可以类比公路:总线宽度是车道数,8位就是8车道;总线带宽是车流量,计算方式是车道数×车速;时钟同步就像交通信号灯,同步总线所有车按信号灯行驶;总线复用就像多功能车道,白天走汽车晚上走自行车。 假设总线工作频率为33MHz,总线宽度为32位:总线带宽 = 33MHz × (32÷8) = 132MBps,意味着每秒可以传输132MB的数据。 > ⚠️ **总线带宽计算是考试高频考点**,期末几乎每年都会出计算题。公式一定要记牢:**总线带宽 = 总线频率 × (总线宽度 ÷ 8)**,单位是字节/秒。注意宽度是位,要除以8换算成字节。 ### 3.3.3 总线标准 > [!info] 定义 > 总线标准是系统与各模块、模块与模块之间的一个互连的标准界面。 总线标准就像交通规则,标准化使得所有车辆都遵守同一套规则,不同品牌的车都能在同一条路上行驶,便于扩展。 常见的总线标准包括ISA、EISA、VESA、PCI、USB等。USB总线是统一的外部设备接口标准,手机、U盘、鼠标都可以用USB接口,不同品牌的设备都能互相兼容,即插即用。 --- ## 3.4 总线结构 ### 3.4.1 单总线结构 ```mermaid 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 双总线结构 ```mermaid 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 三总线结构 ```mermaid 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。 > ⚠️ **三种总线结构的对比是必考内容**,期中/期末常以简答题形式出现——要求对比单总线、双总线、三总线的特点和区别。记住核心演变路线:单总线简单有瓶颈 → 双总线加了CPU-主存专用线 → 三总线再加DMA总线。 --- ## 3.5 总线控制 ### 3.5.1 总线仲裁 > [!info] 定义 > 总线仲裁是解决多个部件同时申请使用总线时,如何决定哪个部件获得总线使用权的机制。 **仲裁方式**: 1. **集中式仲裁**:有一个中央仲裁器,控制简单,但有单点故障风险。就像路口的交通警察,指挥统一秩序井然,但如果警察不在交通就乱了。 2. **分布式仲裁**:每个设备都有仲裁逻辑,可靠性高,但控制复杂。就像没有警察,车辆自己按规则(如先到先行)通过,容易混乱但没有单点故障。 传统的电话系统用集中式仲裁,由交换机决定谁先通话;以太网用分布式仲裁,设备自己检测冲突并重试。 > ⚠️ **总线仲裁方式是考试重点**,集中式与分布式仲裁的对比经常出现在简答题和选择题中。要能说清楚各自的优缺点和适用场景。 ### 3.5.2 总线通信控制 **通信方式**: 1. **同步通信**:所有操作按统一时钟进行,控制简单,但速度受限于最慢设备。就像全公司统一上下班时间,管理简单但如果某个部门慢其他部门都要等。 2. **异步通信**:没有统一时钟,用握手信号,速度灵活但控制复杂。就像各部门按自己的节奏工作,用"准备好"和"收到"信号协调,各部门可以按自己的速度工作。 工厂的流水线用同步通信,所有工位按同一节奏工作;快递系统用异步通信,快递员按自己的节奏送货,用"已签收"信号确认。 --- ## 📝 本章小结 ### 核心概念 1. **总线**:连接多个部件的共享传输介质 2. **总线分类**:片内总线、系统总线、通信总线 3. **总线结构**:单总线、双总线、三总线 4. **总线控制**:仲裁方式、通信控制 ### 关键术语 | 术语 | 英文 | 含义 | |------|------|------| | Bus | Bus | 总线 | | Arbitration | Arbitration | 仲裁 | | Synchronous | Synchronous | 同步 | | Asynchronous | Asynchronous | 异步 | | DMA | Direct Memory Access | 直接内存访问 | ### 重点图示 > [!summary] 必须掌握的图 > 1. 三种总线结构框图(单总线、双总线、三总线) > 2. 系统总线的三类(数据、地址、控制) > 3. 总线仲裁方式 --- ## 📖 真题与作业精选 > 以下是期末真题和作业中出现过的典型题目,考前务必熟练掌握。对应教材例题3.1、3.2、3.4和课后习题3.1~3.5、3.14~3.16。 ### 真题1:总线带宽计算(2022-2023期末原题) **题目**:设总线工作频率60MHz,一个总线周期并行传送64位数据。求总线带宽。 **解答**: 总线带宽 = 总线频率 × (总线宽度 ÷ 8) = 60MHz × (64 ÷ 8) = 60 × 10⁶ × 8 = 480 × 10⁶ 字节/秒 = **480MBps** > 💡 计算要点:总线宽度64位要除以8换算成字节,频率的M对应10⁶。这种题型期末高频出现,建议多练几道变式题巩固。 ### 真题2:波特率计算(2022-2023期末原题) **题目**:异步串行传输,字符格式为1位起始位+8位数据位+1位校验位+2位终止位,每秒传送100个字符。求波特率。 **解答**: 每个字符的总位数 = 1(起始位)+ 8(数据位)+ 1(校验位)+ 2(终止位)= 12位 波特率 = 每字符位数 × 每秒字符数 = 12 × 100 = **1200b/s** > 💡 波特率 = 每秒传输的总位数。异步通信中起始位和终止位也要算进去,这是容易丢分的地方。类似的题在课后习题中也有出现。 ### 真题3:三种总线结构的特点 **题目**:简述三种总线结构(单总线、双总线、三总线)的特点。 **解答**: | 总线结构 | 特点 | 优缺点 | |----------|------|--------| | **单总线** | 所有部件共享一组总线 | 结构简单、成本低,但总线是瓶颈,多设备竞争会冲突 | | **双总线** | 在单总线基础上增加CPU与主存的专用存储总线 | CPU-主存传输效率高,系统总线负担减轻 | | **三总线** | 在双总线基础上增加DMA总线 | I/O设备可直接访问内存,进一步提高性能 | 总线结构的演变路线:单总线 → 双总线(加专用存储线)→ 三总线(加DMA线),每一步都是为了减少瓶颈、提高并行度。 > 💡 这道题几乎是每学期必考的简答题,回答时要点出每种结构的核心特征和优缺点对比。 --- ## 🧪 例题与解析 ### 例题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总线,支持直接内存访问)。 **总线带宽 = 总线频率 × (总线宽度 ÷ 8)**(计算题必考)。32位宽度、66MHz频率 → 带宽 = 4B × 66M = 264MBps。注意宽度是位,除以8转字节。 **波特率计算**(异步串行传输考点):波特率 = 每字符总位数(含起始位+数据位+校验位+终止位)× 每秒字符数。 **总线仲裁**(简答题常考):集中式(有中央仲裁器,简单但有单点故障)vs 分布式(各设备自己仲裁,可靠但复杂)。 **通信方式**:同步(统一时钟,简单但受限于最慢设备)vs 异步(握手信号,灵活但复杂)。 **串行 vs 并行**:串行一位一位传,慢但便宜适合远距离;并行多位同时传,快但贵适合近距离。 > 📌 复习建议:优先做书上例题3.1、3.2、3.4,再完成课后习题3.1~3.5和3.14~3.16,最后过一遍上方的真题与作业精选。 --- ## 🔗 相关链接 - [[00_计算机组成原理学习指南]] - 返回主目录 - [[01_计算机系统概论]] - 上一章 - [[04_存储器]] - 下一章 - [[05_输入输出系统]] - I/O相关内容 --- *本章难度:⭐⭐⭐ 中等* *重要程度:⭐⭐⭐ 基础*