总线概述
I/O 设备的种类和数量也越来越多,为了解决 I/O 设备和主机之间连接的灵活性问题,从分散连接发展为总线连接
选择题:3 通道的存储器,它每次会输出 3 倍总线宽度的数据
选择题:PCI-Express 总线都采用串行数据包传输数据
总线基本概念
总线的定义
总线是一组能为多个部件分时共享的公共信息传送线路,分时和共享是总线的两个特点
分时:同一时刻只允许有一个部件向总线发送信息,系统中有多个部件只能分时地向总线发送信息
共享:总线上可以挂接多个部件,各个部件之间互相交换的信息都可通过这组线路分时共享
在某一时刻只允许有一个部件向总线发送信息,但多个部件可同时从总线上接收相同的信息
考点追踪:数据总线上传输的内容(2011)
数据总线传输的内容包括:指令、操作数、状态字、中断类型号。注意:不传输握手信号(握手信号在控制总线)。
总线设备
总线上所连接的设备,按其对总线有无控制功能可分为主设备和从设备两种
主设备:获得总线控制权的设备
从设备:被主设备访问的设备,它只能响应从主设备发来的各种总线命令
总线特性
机械特性:尺寸、形状、管脚数、排列顺序
电气特性:传输方向和有效的电平范围
功能特性:每根传输线的功能(地址、数据、控制)
时间特性:信号的时序关系
总线的猝发传输方式
若使用猝发传输方式在一个总线周期内传输一次存储地址就可以连续读多个数据数据字,否则取一个数据字要先传一个地址
例题:某同步总线的时钟频率为 100MHz,宽度为32位,地址/数据线复用,每传输一个地址或数据占用一个时钟周期。若该总线**支持突发(猝发)**传输方式,则一次“主存写”总线事务传输 128 位数据所需要的时间至少是 50ns
解释:总线时钟周期是 1s/100MHz=10ns,猝发所以地址只需要传一次,而数据需要传 128/32=4 次,所以需要 50ns
核心结论:寻址能力与带宽计算
- 寻址能力:由地址线位数
决定,可寻址 个存储单元。
- 总线带宽:总线宽度
工作频率 / 8 (B/s)。注意:复用总线(地址/数据分时)在计算带宽时通常不扣除地址周期,除非题目要求计算“有效传输速率”。
- 串行总线:提升频率极易,且无串扰,现代高速总线(PCI-E, USB, SATA)均为串行。
计算技巧:带宽与频率
- 总线周期与时钟周期可能不同。若一个总线周期包含
个时钟周期,则总线工作频率 = 时钟频率 / 。
- 突发传输:除了首个周期传地址,后续周期均传数据。
总线的分类
按功能分类
片内总线:片内总线是芯片内部的总线,它是 CPU 芯片内部寄存器与寄存器之间、寄存器与 ALU 之间的公共连接线
系统总线:系统总线是计算机系统内各功能部件之间相互连接的总线,按系统总线传输信息内容的不同分为:
- 数据总线:传输各功能部件之间的数据信息,它是双向传输总线,位数与机器字长、存储字长有关
地址总线:指出数据所在的主存或 I/O 端口的地址,它是单向传输总线,地址总线的位数与主存地址空间的大小有关
控制总线:传输控制信息,包括 CPU 送出的控制命令和主存(或外设)返回 CPU 的反馈信号
注意区分数据通路和数据总线:数据通路是数据流经的路径,而数据总线是承载的媒介
选择题:握手(应答)信号属于通信联络信号,应在控制总线上传输;而中断信号会在 CPU 响应后发回数据总线
- 通信总线:通信总线是在计算机系统之间或计算机系统与其他系统(如远程通信设备、测试设备)之间传送信息的总线,通信总线也称外部总线
按数据传输格式分类
并行总线:设备间的数据流动是一位一位地流动,只需要一条传输线
优点:适合长距离传输,节省布线空间;缺点:但数据收发时要进行拆卸和装配
串行总线:设备间的数据流动是多位并行地流动,逻辑时序简单,实现方便,但信号线多
速度比较:总线带宽 = 总线宽度 × 总线频率
并行总线频率较高时,信号线间产生严重干扰,电子速度是光速级别,信号线不够等长,无法持续提升工作频率
而串行总线可以通过不断提高工作频率来提高传输速度,最终超过并行总线
*按时序控制方式分类
分为同步总线、异步总线,用于总线的同步定时和异步定时
系统总线的结构
单总线结构
将 CPU、主存、I/O 设备都挂在一组总线上,允许 I/O 设备之间、I/O 设备与主存之间直接交换信息,CPU 与主存、CPU 与外设之间可直接进行信息交换,而无须经过中间设备的干预

注意:单总线并不是指只有一根信号线,系统总线按传送信息的不同可细分为地址总线、数据总线、控制总线
优点:结构简单,成本低,易于接入新的设备;缺点:带宽低、负载重,多个部件争用唯一的总线,不支持并发传送操作
双总线结构
一条是主存总线,用于在 CPU、主存和通道之间传送数据;另一条是 I/O 总线,用于在多个外部设备与通道之间传送数据

优点:将低速 I/O 设备从单总线上分离出来,实现了存储器总线和 I/O 总线分离;缺点:需要增加通道等硬件设备
三总线结构
采用 3 条各自独立的总线来构成信息通路:主存总线、I/O总线、直接内存访问(DMA)总线

主存总线:CPU 和内存之间传送地址、数据和控制信息
I/O 总线:CPU 和各类外设之间通信
DMA 总线:内存和高速外设之间直接传送数据,低速外设是打印机、显示器
优点:提高了 I/O 设备的性能,使其更快地响应命令,提高系统吞吐量;缺点:系统工作效率较低,三套总线每个时刻只有一套总线在工作
总线的性能指标
总线的传输周期(总线周期):指一次总线操作所需的时间,[由 4 个阶段组成](#总线传输的 4 个阶段),通常由若干总线时钟周期构成
总线时钟周期:即机器的时钟周期,总线也要受计算机的统一的时钟的控制
总线的工作频率:总线上各种操作的频率,为总线周期的倒数,实际上指 1 秒内传送几次数据
总线的时钟频率:即机器的时钟频率,它为时钟周期的倒数
总线宽度:又称总线位宽,它是总线上同时能够传输的数据位数,通常指数据总线的根数,如 32 根称为 32 位总线
总线带宽:总线的数据传输率,即单位时间内总线上可传输数据的位数
通常用每秒传送信息的字节数来衡量,总线带宽 = 总线工作频率 × (总线宽度 / 8)
总线带宽是指总线本身所能达到的最高传输速率,它是衡量总线性能的重要指标
总线复用:指一种信号线在不同的时间传输不同的信息,从而使用更少的线达到节省空间和成本
信号线数:地址总线、数据总线、控制总线 3 种总线线数的总和称为信号线数
总线的最主要性能指标为总线宽度、总线工作频率、总线带宽;三者关系:总线带宽 = 总线宽度 × 总线频率
综合应用题
题目:某总线支持二级 Cache 块传输方式,若每块 6 个字,每个字长 4 字节,时钟频率为 100MHz
读操作时,第一个时钟周期接收地址,第二、三个为延时周期,另用 4 个周期传送一个块。求读操作的总线传输速率?
写操作时,第一个时钟周期接收地址,第二个为延时周期,另用4个周期传送一个块,写操作的总线传输速率是多少?
设在全部的传输中,70%用于读,30%用于写,该总线在本次传输中的平均传输速率是多少?
解答:
周期数:1 + 2 + 4 = 7;对应频率:
100MHz / 7;总线宽度:6 × 4B = 24B;数据传输速率:24 × (100MHz / 7) = 343MB/s周期数:1 + 2 + 4 = 6;对应频率:
100MHz / 6;总线宽度:6 × 4B = 24B;数据传输速率:24 × (100MHz / 6) = 400MB/s平均传输速率:
1 / (0.7 × 1 / 343 + 0.3 × 1 / 400) = 358MB/s
*总线仲裁
采用总线仲裁部件解决多个主设备同时竞争总线控制权的问题,选择一个主设备优先获得总线控制权,只有获得了总线控制权的设备,才能开始传送数据
集中仲裁方式
集中仲裁方式指总线控制逻辑集中于一个设备中,将所有的总线请求集中起来,用一个特定的裁决算法进行裁决
链式查询方式
总线上所有部件共用一根总线请求线、总线忙线,以及串联总线允许线
当一个部件要使用总线(下面两种方式和这里差不多,就只写一次细节):
对总线请求线发出信号
总线控制部件检查总线忙线是否有效
如果有效,则延迟到失效再发出总线允许信号
总线允许信号从第一个部件一次向后传递,直到被要使用总线的部件截断
这个部件将总线忙线置为有效,开始使用总线,使用完后将总线忙置为无效

部件离总线控制器越近,其优先级越高;部件离总线控制器越远,其优先级越低
优点:链式查询方式优先级固定,结构简单,扩充容易
缺点:对硬件电路的故障敏感,且优先级不能改变,可能会使优先级低的部件长期不能使用总线
计算器定时查询方式
采用一个计数器控制总线使用权,相对链式查询方式多了一组设备地址线,少了一根总线响应线 BG
把计算器的数放入设备地址线,每个请求的部件比较自己的地址与设备地址线的地址,相等就置总线忙有效
总线控制部件检查总线忙线,如果有效就终止;无效就把计数器加 1,回到第 1 步

优点:计数从 0 开始,则优先级和链式查询一样;计数从上一次的终点开始,此时设备使用总线的优先级相等;计数器的初值由程序设置,优先次序可以改变,且这种方式对电路的故障没有链式查询方式敏感
缺点:增加了控制线数,需要
独立请求方式
每个设备均有一对总线请求线
当总线上的部件需要使用总线时,经各自的总线请求线发送总线请求信号,在总线控制器中排队(按一定的优先次序)
当总线控制器批准某个部件的请求时,给该部件发送总线响应信号,接到此信号后就获得了总线使用权,开始传送数据

优点:响应速度快,总线允许信号 BG 直接从控制器发送到有关设备,而且对优先次序的控制相当灵活
缺点:控制线数量多,需要 2n + 1 条控制线,总线控制逻辑更复杂
三种方式的联系与区别

考点追踪:总线仲裁对比
- 链式查询:硬件结构最简单,优先级固定(离控制器越近越高),故障敏感(断掉一个全断)。控制线:3 根(BS, BR, BG)。
- 计数器查询:优先级灵活(可轮询),对故障不敏感。控制线:
。
- 独立请求:速度最快,优先级最灵活。控制线:
。
核心结论:仲裁方式总结表
| 方式 | 控制线数 | 优先级 | 故障敏感度 |
| :--- | :--- | :--- | :--- |
| 链式查询 | 3 | 固定 (物理顺序) | 高 |
| 计数器查询 |
| 灵活 (程序可调) | 中 |
| 独立请求 |
( ) | 极灵活 (中央判优) | 低 |
*分布仲裁方式
分布仲裁方式不需要中央仲裁器,每个潜在的主模块都有自己的仲裁号和仲裁器
当它们有总线请求时,就会把它们各自唯一的仲裁号发送到共享的仲裁总线上,每个仲裁器将从仲裁总线上得到的仲裁号与自己的仲裁号进行比较
若仲裁总线上的仲裁号优先级高,则它的总线请求不予响应,并撤销它的仲裁号,最后获胜者的仲裁号保留在仲裁总线上
总线操作和定时
总线定时是指总线在双方交换数据的过程中需要时间上配合关系的控制,其实质是一种协议或规则
半同步通信是同步定时方式和异步定时方式的结合,会采用统一的时钟周期,在传数时会等待(异步),因此总线周期不同
总线传输的 4 个阶段
一个总线周期通常可分为以下 4 个阶段:
申请分配阶段:由主模块提出申请,然后仲裁出下总线使用者,可将此阶段分为传输请求和总线仲裁两个阶段
寻址阶段:主模块通过总线发出本次要访问的从模块的地址及有关命令,启动参与本次传输的从模块
传输阶段:主模块和从模块进行数据交换,可单向或双向进行数据传送
结束阶段:主模块的有关信息均从系统总线上撤除,让出总线使用权
同步定时方式
指使用统一的时钟信号和统一的总线周期,在一个总线周期中,发送方和接收方可以进行一次数据传送
每个部件或设备发送或接收信息都在固定的总线传送周期中,一个总线的传送周期结束,下一个总线的传送周期开始
优点:传送速度快,具有较高的传输速率;总线控制逻辑简单
缺点:主从设备属于强制性同步;不能及时进行数据通信的有效性检验,可靠性较差,如从模块突然不能按时完成传输
同步通信适用于总线长度较短及总线所接部件的存取时间比较接近的系统
额外:串行同步通信使用多个字符组成信息组,在传输数据的同时还需要传输时钟信号,根据时钟信号来同步
异步定时方式
没有统一的时钟,也没有固定的时间间隔,完全依靠传送双方相互制约的握手信号来实现定时控制
主设备提出交换信息的请求信号,经接口传送到从设备;从设备接到主设备的请求后,通过接口向主设备发出回答信号
优点:总线周期长度可变,能保证两个工作速度相差很大的部件或设备之间可靠地进行信息交换,自动适应时间的配合
缺点:比同步控制方式稍复杂一些,速度比同步定时方式慢
根据请求和回答信号的撤销是否互锁,分为以下 3 种类型:
不互锁方式:双方会自动撤销信号
主设备发出请求信号后,经过一段时间自动撤销请求信号
从设备在接到请求信号后,发出回答信号,经过一段时间后自动撤销回答信号
半互锁方式:只有一方自动撤销信号
主设备发出请求信号后,必须在从设备回答后才撤销请求信号
从设备在接到请求信号后,发出回答信号,经过一段时间后自动撤销回答信号
全互锁方式:必须等响应后才能撤销信号
主设备发出请求信号后,必须在从设备回答后才撤销请求信号
从设备发出回答信号后,必须在获知主设备请求信号已撤销后,再撤销其回答信号
考点追踪:总线定时方式(2015、2021)
- 同步定时:统一时钟,速度快,可靠性差。适合长距离短、存取时间接近的系统。
- 异步定时:握手机制。周期长度可变,可靠性高,速度慢。
- 不互锁:自动撤销。
- 半互锁:请求等回答,回答自动撤。
- 全互锁:双向确认才撤(最慢最可靠)。
- 分离式定时:将事务拆分为“申请”和“响应”两个独立阶段,中间释放总线。效率最高。

额外:串行异步通信,收发双方取得同步是通过在字符格式中设置起始位和停止位的方法来实现的,完整内容
总线标准
总线标准的基本概念
总线标准是国际上公布或推荐的互连各个模块的标准,它是把各种不同的模块组成计算机系统时必须遵守的规范
按总线标准设计的接口可视为通用接口,在接口的两端,任何一方只需根据总线标准的要求完成自身方面的功能要求
即插即用 Plug-and-Play:把设备插入总线上就可以用,配置是自动的,需要总线提供一定的硬件支持
热插拔 hot-plugging 或 Hot Swap:即带电插拔,需要总线提供一定的硬件支持
思考:使用总线系统有一部分原因是为了降低成本,高速的总线成本高,而低速的硬件配高速总线没什么用,所以直接给他配了成本低的低速总线;还有一部分原因是为了把计算机分成多个模块等
常见的总线标准

系统总线标准
系统总线指连接计算机系统各个部件的总线
ISA,Industry Standard Architecture,工业标准体系结构:是最早出现的微型计算机的系统总线,也叫 PC/AT 总线
数据传输需要 CPU 或 DMA 接口来管理,不支持总线仲裁
EISA,Extended Industry Standard Architecture,扩展的 ISA:是为配合 32 位 CPU 而设计的扩展总线EISA对 ISA 完全兼容,从 CPU 分离出了总线控制权,支持多个总线主控制器和突发传输
局部总线标准
为了解决系统总线太慢的问题,引用局部总线把高速设备单独连接到 CPU,有节省系统总带宽的作用
PCI,Peripheral Component Interconnect,外部设备互连:32 或 64 位数据线,比EISA更高的工作频率不依附于某个具体的处理器,支持突发传送;支持即插即用;可扩充性好,可采用多层结构提高驱动能力
PCI总线是独立于 CPU 的局部总线,可将高速的外围设直接挂在 CPU 总线上如网卡、声卡等;半同步总线AGP,Accclerated Graphics Port,加速图形接口:解决PCI对 3D 显卡力不从心的问题,是显卡专用的局部总线PCI-Express(PCI-E):最新标准,它取代了PCI和AGP统一总线标准;点对点串行连接方式;支持热插拔VESA,Video Electronics Standards Association,视频电子标准协会:针对视频的 32 位局部总线由 CPU 总线演化而来,是针对多媒体 PC 要求高速传送活动图像的大量数据应运而生的
考点追踪:总线标准大杂烩(高频)
- PCI-E:串行、点对点、全双工、支持热插拔。使用“通道”概念(x1, x4, x16)。
- PCI:局部总线、并行、同步、不支持热插拔(一般指经典PCI)。
- USB:设备总线、串行、支持热插拔、即插即用、级联。
- ISA/EISA:老旧并行总线。
- SATA:串行硬盘接口,取代 PATA(IDE)。
区分:PCI, PCI-E, AGP 是局部总线;USB, RS-232, SATA 是外部/设备总线。
设备总线标准
设备总线主要用于把外设接入计算机系统
USB,Universal Serial Bus,通用串行总线:USB属于设备总线,是设备和设备控制器之间的接口可以热插拔、即插即用;具有很强的连接能力和很好的可扩充性;标准统一;高速传输;可为低压外设供电
RS-232C,Recommended Standard,RS:是由美国电子工业协会(EIA)推荐的一种串行通信总线,是应用于串行二进制交换的数据终端设备(DTE)和数据通信设备(DCE)之间的标准接口IDE,Integrated Drive Electronics,集成设备电路:也称ATA,硬盘和光驱通过IDE接口与主板连接SATA,Serial Advanced Technology Attachment,串行高级技术附件:是一种基于行业标准的串行硬盘接口SCSI,Small Computer System Interface,小型计算机系统接口:是一种用于计算机和智能设备之间(硬盘、软驱、光驱、打印机等)系统级接口的独立处理器标准,SCSI 是一种智能的通用接口标准
PCMCIA,Personal Computer Memory Card International Association:是广泛应用于笔记本电脑的一种接口标准,是一个用于扩展功能的小型插槽。PCMCIA具有即插即用功能
*视频线的标准
VGA,Video Graphics Array,也称为 D-sub 端口,传输模拟信号 CRT 显示器
DVI,Digital Visual Interface,传输数字信号HDMI,High Definition MultimediaInterface理论最大传输速度可达Gb/s影像数据 + 8 声道的音讯信号源于DVI技术
