总线
约 2642 字大约 9 分钟
2025-05-17
为了能使计算机中各个部件交换信息,所以引出了总线。但是在刚开始发展时还不是总线,而是分散的线。
后者说的分散的线是各个部件之间的线路是独立的,只关注连接的部件之间信息传输;前者说的总线是所有部件共享信息。
总线的基本概念
总线的定义
一组能为多个部件分时和共享的公共信息传输线路,任何总线都包含数据总线、地址总线、控制总线三大类总线。
分时和共享是总线的两个特点。
前者表示同一时刻只允许有一个部件向总线发送信息,若系统中有多个部件,则他们只能分时地向总线发送信息;
后者表示总线上可以挂载多个部件,各个部件之间互相交换的信息都可以通过这组线路分时共享,多个部件可同时从总线上接受相同的信息。
为什么要引入总线呢?
相较于之前专线方式,引入总线后带来了以下好处:
- 简化了系统结构,便于系统设计制造
- 大大减少了连线数目,便于布线,减小体积,提高了系统的可靠性
- 便于接口设计,所有与总线连接的设备均采用类似的接口
- 便于系统的扩充、更新和灵活配置,易于实现系统的模块化
- 便于设备的软件设计
- 便于故障诊断和维修,同时也能降低成本
但是引入总线后,也不是一帆风顺的。如果总线上多个设备同时请求使用总线就会造成冲突,导致没得设备能获得总线,为解决这个问题,需要采用总线仲裁部件, 以某种方式选择一个主设备获得总线控制权,只有获得总线控制器的设备才能传输数据。
总线设备
是可以在总线上连接的设备,分为两类:
主设备:发出总线请求且获得总线控制器的设备。
从设备:被主设备访问的设备,只响应主设备发出的各种总线命令。
常见的主设备有:CPU、DMA、GPU...
常见的从设备有:内存、输入/输出设备、外设控制器...
总线特性
计网上物理层的那4个特性:
- 机械特性:尺寸、形状
- 电气特性:传输方向和有效的电平范围
- 功能特性:每根传输线的功能
- 时间(过程)特性:信号和时序的关系
这4个特性和计算机网络的物理层特性类似。
总线的分类
按功能层次分类
片内总线:在芯片内部的总线,用于CPU芯片内部各个寄存器之间以及寄存器和ALU之间的连接。
系统总线:为了计算机的各个功能部件之间相互连接的总线。其中包括数据总线、地址总线、控制总线。
注意
有必要说明一下这三个系统总线的功能:
- 数据总线:其位数反映了一次能传送数据的位数,用于在各个部件之间传输数据、指令和中断类型号等,是一种双向传输总线。
- 地址总线:其位数反映了最大寻址空间,用于指出数据总线上源数据或目的数据所在的主存单元或I/O端口的地址,是一种单向传输总线。
- 控制总线:用于传输各种命令、反馈和定时信号。
I/O总线:用于连接中低速的I/O设备,通过I/O接口与系统总线相连接,目的是将低速设备和高速总线分离,使总线的系统性能提升,常见的有:USB、PCI总线。
通信总线:用于计算机系统之间,或者是计算机主机与外围设备之间的传输通路,也称为外部总线。
按时序控制方式分类
同步总线:总线上的部件通过统一的时钟进行同步
异步总线:总线上的部件通过信号握手的方式协调信号的传输,总线操作时序是不固定的
按数据传输方式分类
串行总线:只有一条双向传输或两条单向传输的数据线,传输单位是bit,其对数据线要求不高,适合长距离传输
并行总线:有多条双向传输的数据线,传输单位是n个bit,虽然这个的效率比串行的高,但是需要更复杂的实现(用以解决信息位的延迟、数据线之间的干扰等),适合近距离通信
需要注意的是,尽管并行总线在直观影响上比串行总线快,但实际上并不是如此,并行总线想要提升传输速度的成本很高,而且有着很难逾越的上限,串行总线则与之相反, 因为不需要考虑数据的协同性和线路之间的相互干扰,可以很容易的提高工作频率,所以串行总线速度最终会超过并行总线速度。
系统总线的结构
总线结构随着时间发展,如今已发展到三总线结构,系统吞吐量得到了很大提升,在此之前还存在单总线、双总线结构。
单总线结构
将计算机内部的各个部件都挂在一组总线上,故I/O设备之间、I/O设备和主存之间可以直接交换信息。

其优点为:结构简单,成本低,易接入新的设备。
其缺点为:不支持并发传送操作,多个部件会争用唯一的总线,负载重,带宽低
双总线结构

三总线结构

总线事务
将事务类比,我们在数据库的学习中常常说到事务,通俗得讲,就是让一组操作要么全部成功,要么全部失败。
在总线这里也是类似的,其中包含请求阶段、仲裁阶段、寻址阶段、传输阶段、释放阶段。
总线上的数据传输分为突发传送和非突发传送,前者“不规矩”,后者“规矩”。
所谓的“规矩”怎样理解,规矩的意思是,每个传送周期内都先传送地址,再传送数据,主、从设备之间每次只能传输一个字长的数据;不规矩的意思是,可以连续成组数据的传输,但每个时钟周期仍是传输一个字长的信息, 意思就是传输完一个字长的信息,不会释放总线,得一组信息全部传输完成才释放。
总线定时
总线上的数据不能是想发就发,和我们生活中的各种事情一样,有对应的处理次序和规则,总线定时就是这个意思,需要交换数据的双方在时间上配合控制。
分为4种,下面依次讲解。
同步定时方式
同步定时方式的核心在于所有连接到总线的部件(如CPU、内存、I/O设备等)都采用统一的、固定的时钟信号作为其操作的基准和同步节拍。 由这个全局时钟信号统一进行控制和管理,确保每个操作阶段(如地址传输、数据准备、数据传输等)的时钟周期数和持续时间都是预先规定好的, 并且事件的发生顺序与时间点也都是固定的。这种严格的时序同步是其能够实现高效传输的关键机制,因为它避免了设备之间的额外握手和等待时间
带来的好处就是总线控制逻辑简单,具有较高的传输速率,但是存在“木桶效应”,只能以最慢的部件作为标准,而且不易扩展,不好协调速度差异多大的设备。
异步定时方式
异步定时方式是一种不依赖于统一的时钟信号来同步数据传输的总线定时方法,主设备向从设备发出“请求”信号,经接口传输到从设备,从设备接到主设备的请求后, 通过接口向主设备发出“回答”信号。
通过握手信号机制来协调总线主设备和总线从设备之间的数据传输,以确保数据在正确的时间点被发送和接收。
它的各个阶段没有固定的时间间隔,而是由设备的实际响应速度决定的。在日常生活中也常常使用握手机制,比如:你要过马路,你给司机说“我要过去了”,司机说“你过去吧”,你又对司机说“我已经过去了”, 司机说“好的,我可以走了”。这就是握手机制,双方通过不断的请问和回答,达到自己的目的。
根据请求和回答信号的撤销是否互锁,可将其分为3类(信号撤销表示撤销那一方的事情已经干完了):
不互锁方式:一方发出信号后,不依赖对方的响应而自行撤销。比如:主设备发出请求信号后,不等待从设备的应答信号,在发出请求信号后经过一个固定但预设的延迟时间就撤销请求信号。从设备在检测到请求信号后发出应答信号,在处理完毕后经过一个固定但预设的延迟时间撤销应答信号,也不等待主设备撤销请求信号的确认
半互锁方式:
全互锁方式:
其优点是:总线周期长度可变,可以保证两个工作速率相差很大的部件或设备之间可靠地进行信息交换,自动适应时间的配合。
其缺点是:控制方式复杂,速度比同步定时方式慢。
半同步定时方式
分离式定时方式
更新日志
版权所有
版权归属:代码・生 活・THINKING