计组与微机控制
8.2 外总线简介
8.2 外总线简介
一、AGP 的后半部分
前面已经讲过,AGP 是专门给显卡用的高速接口。传统 PCI 是多个设备共享一条总线,而 AGP 是显卡和芯片组之间的点对点连接,所以更适合图形数据传输。
1. AGP 的 1×、2×、4×、8×模式
教材这里继续讲 AGP 的传输倍率。
AGP 基本频率是:66 MHz
数据总线宽度是:32 位 = 4 字节
所以 AGP 1× 的理论传输率是:66 MHz × 4 B = 266 MB/s
然后:
这里的“等效频率”不是说总线时钟真的一直变成那么高,而是通过在一个时钟周期内传输多次数据来提高吞吐量。
你可以这样记:
1×:一个周期传 1 次 2×:一个周期传 2 次 4×:一个周期传 4 次 8×:一个周期传 8 次
所以带宽依次翻倍:266 → 533 → 1066 → 2133 MB/s
2. 上升沿和下降沿传输
表中写:
1×:上升沿 2× / 4× / 8×:上升沿和下降沿,什么意思?
时钟信号是一个方波:
低电平 → 高电平:上升沿 高电平 → 低电平:下降沿
1× 模式只在上升沿传数据。
2× 开始,不仅上升沿传,下降沿也传,相当于一个时钟周期内传两次。
所以 2× 比 1× 快一倍。
4×、8×则通过更复杂的多倍速技术继续增加每周期的数据传输次数。
3. AGP 的 DIME 技术
教材写了:DIME:Direct Memory Execute
可以理解成:显卡可以直接使用主存中的一部分数据,尤其是纹理数据。
以前显卡处理 3D 图形时,需要把大量纹理数据放到显存中。显存容量有限,价格也比普通内存贵。
AGP 的想法是:让显卡可以通过 AGP 直接访问主存中的纹理数据。
这样,主存的一部分就像“显卡可用的扩展纹理存储区”。
4. DIME 和 UMA 的区别
书上提到 AGP 把纹理数据放入主存,也可以看成一种 UMA:
UMA:Unified Memory Architecture,统一内存体系结构
但是它又强调,AGP 的 DIME 和低端机的 UMA 不完全一样。
区别是:
AGP 的主存只是作为显存的扩展和补充; 低端 UMA 常常是显卡没有独立显存,直接把主存当显存用。
换句话说:
AGP DIME:显卡有自己的显存,主存主要用来补充存放纹理。 低端 UMA:显卡基本直接共享主存,速度较慢。
所以不能简单认为“AGP 就是 UMA”。AGP 的性能比低端 UMA 通常更好。
5. 地址信号和数据信号分离
教材说 AGP 采用:Demultiplexing,多路信号分离
以及:SBA:Side Band Address,边带寻址
这个点非常重要。PCI 总线里,地址和数据共用 AD 总线:先传地址,再传数据
这叫地址/数据复用。
AGP 为了提高速度,使用边带地址线 SBA,把地址信息和数据信息分开传。
这样就可以:一边传当前数据,一边准备下一次访问的地址。
这类似流水线思想。
对比一下:
PCI: 地址阶段 → 数据阶段 → 地址阶段 → 数据阶段 AGP: 数据传输时,旁边的 SBA 可以提前给出后续地址
所以 AGP 访问图形数据更快。
6. AGP 的并行操作
书上说:
CPU 访问系统 RAM 的同时,AGP 显卡可以访问 AGP 内存。
意思是,AGP 让显卡和 CPU 的数据通路更加独立。
传统 PCI 中,如果显卡大量占用 PCI 总线,会影响其他 PCI 设备,比如网卡、声卡、磁盘控制器。
AGP 则让显卡有自己的专用通道:
显卡通过 AGP 访问主存/图形数据; 普通外设继续通过 PCI 工作。
这样可以减轻 PCI 总线负担,提高系统整体性能。
二、AGP 的工作模式总结
AGP 的工作模式可以这样记:
AGP 1×:266 MB/s,3.3 V AGP 2×:533 MB/s,3.3 V AGP 4×:1066 MB/s,1.5 V AGP 8×:2133 MB/s,1.5 V
需要特别注意电压兼容问题:
AGP 1× / 2× 是 3.3 V AGP 4× / 8× 是 1.5 V
所以老显卡不能随便插到新插槽里,新显卡也不一定能插老插槽。电压不兼容可能损坏主板或显卡。
考试简答可以写:
AGP 通过提高工作模式倍率、采用流水线操作、边带寻址、地址数据分离和直接内存执行 DIME 技术,提高了图形数据传输能力。
三、PCI 和 AGP 的比较
可以整理成:
重点不是背表格,而是理解:
PCI 是通用外设总线; AGP 是图形显示专用接口。
PCI 可以挂多个设备:网卡、声卡、SCSI 卡、采集卡等
AGP 基本只给显卡用,并且一般只有一个 AGP 插槽。
所以:AGP 不能取代 PCI。
因为 AGP 只是图形接口,不是系统通用扩展总线。
补一个串行总线的概念:

四、外总线的概念
外总线外总线用于连接:
计算机主机 ↔ 外部设备
比如:
串口设备 打印机 仪器仪表 移动存储 扫描仪 键盘鼠标 工业控制设备
它和系统总线、局部总线不一样。
系统总线/局部总线更多在主板内部或扩展槽内部使用;外总线更偏向于外部设备接口。
五、RS-232-C 总线
1. RS-232-C 是什么?RS-232-C 是一种串行物理接口标准。
它是 EIA 制定的标准:
RS:Recommended Standard,推荐标准 232:标准编号 C:修订版本
RS-232-C 常见于老式串口,比如:
COM 口 调制解调器 工控设备 早期鼠标 单片机串口通信
2. RS-232-C 的信号线
教材说标准有 25 条信号线,包括:
一个主通道,一个辅助通道
但实际很多情况下不需要全部信号线。
最简单的双工通信只需要:
发送线 TXD 接收线 RXD 地线 GND
所以最常见的串口通信就是三根线:TXD、RXD、GND
如果要硬件流控,还会使用 RTS、CTS 等控制线。
3. RS-232-C 的波特率
书上列了一些标准波特率:
50、75、100、150、300、600、1200、2400、4800、9600、19200
常见的是:
9600 bps 19200 bps 115200 bps
虽然书上只列到 19200,但实际现代串口经常用更高的波特率。
4. RS-232-C 的缺点
教材重点说了 RS-232-C 的距离限制。
原因有两个:
1. 电缆电容负载限制 2. 单端信号抗干扰能力差
RS-232 是单端信号:信号线相对地线传输
问题是,一旦地线上有干扰,或者两端地电位不同,信号就容易出错。
所以 RS-232 一般适合:短距离、点对点通信
书上说通常用于:20 m 以内
六、RS-485 总线
1. RS-485 为什么比 RS-232 更适合远距离?
RS-485 采用:平衡发送,差分接收
也就是它不是用“信号线对地”的方式传输,而是用两根线之间的电压差表示 0 和 1。
例如:
A - B 为正:一种逻辑状态 A - B 为负:另一种逻辑状态
因为外界干扰通常同时加到两根线上,接收端只看两根线的差值,所以能抵消很多共模干扰。
这就是:差分传输抗干扰能力强。
2. RS-485 的特点
书上讲了几个关键点:
1. 适合几十米到上千米通信 2. 抗共模干扰能力强 3. 半双工工作方式 4. 适合多点互连 5. 可构成分布式系统
半双工的意思是:同一时刻只能有一个节点发送,其他节点接收。
不是不能双向通信,而是不能同时双向通信。
3. RS-485 的节点数量
传统 RS-485 最多并联 32 个驱动器和 32 个接收器。
后来芯片驱动能力增强,可以更多,比如:
128 个驱动器和 128 个接收器
这个点考试可能会问:
RS-485 适用于多点通信,而 RS-232 一般用于点对点通信。
4. RS-232 和 RS-485 对比
RS-232:短距离、点对点、单端 RS-485:长距离、多点、差分
七、IEEE-488 总线
IEEE-488 是一种并行总线接口标准。
它主要用于:仪器仪表系统
比如:数字电压表 信号发生器 示波器 频谱仪 数据采集设备
它也常被称为:GPIB
教材说它的特点:
1. 双向异步传输 2. 总线方式连接 3. 最多可连接 15 台设备 4. 最大传输距离约 20 m 5. 一般传输速度 500 KB/s 6. 最大可达 1 MB/s
它和 RS-232/RS-485 不一样。
RS-232/485 偏向串行通信;IEEE-488 是并行总线,主要用于实验室仪器控制。
八、SCSI 总线
1. SCSI 是什么?
SCSI 全称:Small Computer System Interface 小型计算机系统接口
它是一种连接主机和外设的接口。
常见设备包括:
硬盘 磁带机 光驱 扫描仪 服务器存储设备
2. SCSI 的特点
教材说 SCSI 的速度、性能、稳定性比 IDE 好,所以主要用于:
服务器 工作站 高性能存储系统
SCSI 不是简单的“线缆接口”,它的控制器比较强。
书上说:
SCSI 控制器相当于一块小型 CPU,有自己的命令集和缓存。
这说明 SCSI 外设的智能化程度比普通 IDE 高。
3. SCSI 设备数量
在 SCSI 总线中,控制器本身也算一个设备。
所以:实际最大可连接设备数 = 理论最大设备数 - 1
例如理论支持 8 个 ID,那么因为控制器占一个,外设最多 7 个。
九、USB 总线概述
USB 是这几页重点中的重点。
USB 全称:Universal Serial Bus通用串行总线
它是为了解决传统外设接口混乱、接口数量不足、配置麻烦的问题。
以前的 PC 后面有很多接口:
串口 COM 并口 LPT PS/2 键盘鼠标口 游戏口 专用扫描仪接口 打印机接口
USB 的目标是:用一种统一、方便、可扩展、低成本的接口连接多种外设。
1. USB 的主要特点
教材总结 USB 特点:
易于使用 速度较快 可靠性高 低成本 低功耗 可给外设供电 支持热插拔 支持多个设备连接
USB 的一个非常重要的优点是:设备插上之后,系统可以自动识别并配置。
这和 PCI 的即插即用思想类似。
2. USB 的引脚
USB 有 4 根线:

可以记成:两根电源线:+5V、GND,两根数据线:D+、D-
D+ 和 D- 是差分数据线。
所以 USB 不仅传数据,还能给设备供电。
3. USB 1.1 和 USB 2.0 指标
注意单位是:Mb/s,不是 MB/s,小写 b 是 bit,比特;大写 B 是 Byte,字节。

所以:480 Mb/s = 60 MB/s 理论值
十、USB 的拓扑结构
1. USB 是星形多层结构
图 7.7 是 USB 的逻辑拓扑结构。

USB 不是像 RS-485 那样一根总线挂一堆设备,而是:
主机 | 根集线器 Root Hub | 普通集线器 Hub | USB 设备
它是一种:多层星形结构
每个星形中心是一个集线器 Hub。
一个 Hub 可以有多个端口,通常 2 到 7 个端口。
2. USB 连接都是点对点
虽然叫 USB 总线,但它的物理连接不是所有设备并在一根线上,而是:
主机 ↔ Hub Hub ↔ 设备 Hub ↔ 下一级 Hub
每一段连接都是点对点的。
但从逻辑上看,主机统一管理所有 USB 设备,所以教材仍然称它为总线。
3. USB 设备的两大类
USB 设备可以分成:
1. 集线器 Hub 2. 功能设备 Function
Hub 的作用是:扩展 USB 端口
Function 的作用是:真正完成某种外设功能
例如:
鼠标 键盘 打印机 U 盘 摄像头 MODEM 移动硬盘
4. 复合设备 Composite Device
有些 USB 设备既有功能设备,又带 Hub 功能,或者一个物理设备内部包含多个功能。
这种设备叫:复合设备
比如:
带 USB Hub 的键盘 带读卡器的显示器 多功能打印机 带声卡和麦克风的 USB 摄像头
对主机来说,它可能表现为多个 USB 设备或多个 USB 功能。
十一、USB 是主从式协议
这一点非常重要。
USB 是主—从式总线协议。
意思是:USB 通信由主机发起; 设备不能随便主动占用总线发送数据。
也就是说,USB 设备一般要等主机来问:
你有没有数据? 你准备好了吗? 我要给你发数据。设备再响应。
这和 PCI 不同。PCI 设备可以通过总线主控成为 Master,而普通 USB 设备不能主动成为主机。
十二、USB 主机的职责
教材列了 USB 主机的几个职责。
1. 检测设备接入和断开
当 USB 设备插入或拔出时,主机要发现这个事件。
插入后,主机会:
1. 检测设备存在 2. 给设备分配地址 3. 读取设备描述符 4. 确认设备类型 5. 加载或匹配驱动 6. 配置设备
这个过程叫:枚举 Enumeration
虽然教材这页没有直接突出这个词,但它描述的就是 USB 枚举过程。
2. 管理 USB 数据流
主机负责安排总线上的数据传输。
如果多个 USB 设备都要传数据,主机会把时间分成帧,然后给每个设备分配传输机会。
USB 把数据通道分为 1 ms 的帧。
在每一帧里,主机给不同设备安排传输时间。
对于必须固定速率的设备,比如音频设备,主机要保证它们每帧能得到足够时间。
如果带宽不够:主机就不允许该设备进行通信或不接受该配置。
3. 错误检查
主机在发送的数据中加入错误校验码。
接收方收到后重新计算校验码,和收到的校验码比较。
如果不一致:说明数据传输有错
USB 可以要求重新传输,或者报告错误。
不过教材也提到,USB 有些传输类型可能不允许重传,目的是保持稳定的传输速率。
比如音频/视频实时数据,有时候宁可丢一点数据,也不能一直等重传。
4. 提供电源
USB 除了两根数据线,还有:+5 V,GND
所以 USB 可以给外设供电。
每个 USB 设备最多可从总线获得:500 mA
但低功耗设备或某些端口可能限制在:100 mA
所以有些外设需要外接电源,比如:
大功率移动硬盘 打印机 扫描仪 部分 USB Hub
十三、USB 设备的职责
USB 设备也有自己的职责。
1. 检测和自己相关的通信
USB 设备会监视总线上的通信。
如果主机发来的地址不是自己的,设备忽略。
如果地址是自己的,设备就接收数据或响应请求。
2. 对标准请求作出响应
设备连接后,主机会发标准请求,比如:
你是什么设备? 你支持哪些配置? 你需要多少电流? 你有几个端点? 你属于哪种设备类?
设备必须回答这些请求。
设备的回答信息存在描述符中,比如:
设备描述符 配置描述符 接口描述符 端点描述符 字符串描述符
这部分是 USB 驱动和枚举的核心。
3. 错误检查
USB 设备也要进行错误检测。
如果发现数据错误,可以请求重传,或者不确认该数据。
4. 电源管理
如果设备不是总线供电,就必须自己供电。
如果总线进入低功耗状态,设备也要进入挂起状态。
没有远程唤醒能力的设备,挂起时从总线取电不能超过 500 μA; 有远程唤醒能力并被主机使能后,限制为 2.5 mA。
十四、USB 设备类型
教材表 7.11 列了一些 USB 设备类。
其中最常见、最容易考的是:

HID:Human Interface Device,人机接口设备
键盘、鼠标都属于 HID。
U 盘、移动硬盘属于:Mass Storage,大容量存储设备
十五、USB 通信流
1. USB 是基于令牌包的协议
教材说:USB 是 token-based,总线协议。
也就是说,USB 通信不是设备想发就发,而是主机先发一个令牌包。
令牌包相当于主机发出的命令:
哪个设备? 哪个端点? 这次是读还是写?
设备收到令牌后,才按照主机要求传数据或接收数据。
2. 地址字段
USB 令牌包里有 7 位地址字段。
7 位可以表示:2^7 = 128
也就是地址范围:0 ~ 127
但地址 0 是默认地址,用于刚接入、还没有正式分配地址的设备。
所以实际最多可连接:127 个 USB 设备
这就是教材表里写的:连接的设备数:127
3. 端点 Endpoint
USB 里非常重要的概念是:Endpoint,端点
端点是 USB 设备内部的通信入口或出口。
可以这样理解:
设备地址:找到哪个 USB 设备 端点号:找到该设备内部哪个通信通道
比如一个 USB 摄像头可能有:
控制端点 视频数据端点 音频数据端点 状态端点
一个 USB 键盘可能有:
控制端点 按键数据输入端点
端点是主机和设备通信的终点。
4. 端点号
教材说令牌包中包含 4 位端点地址。
4 位可以表示:2^4 = 16
也就是端点号:0 ~ 15
并且端点还分方向:
输入 IN 输出 OUT
所以一个设备理论上可以有:16 个输入端点 + 16 个输出端点
共:32 个端点方向
注意端点 0 很特殊,一般用于控制传输,是每个 USB 设备必须有的默认控制端点。
十六、USB 中“设备、端点、管道”的关系
教材开始提到“管道”的概念。
可以这样理解:
设备 Device:一个 USB 外设 端点 Endpoint:设备内部的通信口 管道 Pipe:主机软件和设备端点之间建立的逻辑通信通道(也是操作系统第八章里面进程之间通讯的通道)
举例:
U 盘是一个 USB 设备; U 盘里面有接收命令的端点、传输数据的端点; 操作系统和这些端点之间建立管道来完成读写。
所以:主机不是直接“随便往设备发数据”,而是通过特定管道和特定端点通信。
十七、这几页最重要的对比总结
1. RS-232、RS-485、IEEE-488、SCSI、USB 对比
2. PCI、AGP、USB 的区别
十八、考试简答模板
题 1:RS-232-C 和 RS-485 有什么区别?
RS-232-C 采用单端信号传输,通信距离较短,抗干扰能力较弱,一般用于点对点短距离串行通信。RS-485 采用平衡发送和差分接收,具有较强的抗共模干扰能力,适合几十米到上千米的远距离通信,并且支持多点互连,常用于工业控制和分布式系统。
题 2:USB 的主要特点是什么?
USB 是一种通用串行总线,具有使用方便、速度较快、可靠性高、低成本、低功耗等特点。USB 支持热插拔和即插即用,可以通过集线器构成多层星形拓扑结构,最多连接 127 个设备。USB 使用 4 芯电缆,其中包括两根差分数据线和 +5V 电源线、地线,因此还可以向外设供电。
题 3:USB 的拓扑结构是什么?
USB 采用多层星形拓扑结构。整个 USB 系统中只有一个主机,主机通过根集线器连接普通集线器或功能设备,普通集线器又可以继续连接下一级集线器或 USB 设备。每个集线器可以提供多个下行端口,所有连接都是点对点的,但逻辑上由主机统一管理整个 USB 总线。
题 4:USB 主机的主要职责是什么?
USB 主机负责检测 USB 设备的连接和断开,为新接入设备分配地址并读取配置描述信息;负责管理总线上的数据流和带宽分配;负责进行错误检测和必要的重传控制;同时还通过 USB 电源线为外部设备提供电源,并进行电源管理。
题 5:USB 设备的主要职责是什么?
USB 设备负责监视总线通信,识别与自己地址相符的传输请求;对主机发出的标准请求作出响应,并提供设备能力和资源需求等配置信息;进行数据的错误检查;在需要时进行电源管理,进入挂起状态或响应远程唤醒。
题 6:什么是 USB 端点?
端点是 USB 设备中可以被主机识别的通信终点,是主机与设备进行数据传输的基本对象。USB 设备通过设备地址被主机选中,而设备内部的具体通信通道则通过端点号确定。令牌包中包含 4 位端点号,因此一个方向最多可有 16 个端点。端点分为输入端点和输出端点,端点 0 通常作为默认控制端点。
十九、复习
1. AGP 是显卡专用接口,解决 PCI 图形带宽不足。 2. AGP 通过 1×/2×/4×/8×、流水线、SBA、DIME 提高性能。 3. RS-232 适合短距离点对点,RS-485 适合远距离多点通信。 4. USB 是主从式、令牌包协议,主机控制所有通信。 5. USB 采用多层星形拓扑,通过 Hub 扩展端口。 6. USB 设备最多 127 个,端点是设备内部通信终点。
最容易混的地方是:
USB 不是设备主动发起通信,而是主机主动管理通信。 AGP 不是通用总线,而是图形专用接口。 RS-485 比 RS-232 抗干扰强,因为它是差分传输。
