总线概述
- 总线简图
- 总线的物理实现
如上图所示,4根信号线组成一根总线,所有的硬件部件都可以通过这根总线传递数据并发送 4 bit 的数据,同一时刻仅可以有一个部件发送数据,但是可以有多个部件接收数据。
- 总线的定义
总线是一组可以为多个部件分时共享的公共信息传送路线
共享:总线上可以挂接多个部件,各个部件之间相互交换的信息都可以通过这组路线分时共享。
分时:同一时刻只允许有一个部件像总线发送信息,如果系统中有多个部件,它们只能分时的向总线发送数据。
- 总线的特征
(1)机械特征:尺寸,形状,管脚数,排列顺序
(2)电气特征:传输方向和有效的电平范围
(3)功能特征:每根线的功能(地址,数据,控制)
(4)时间特征:信号的时序关系
- 总线的分类
- 按数据传输格式
串行总线:
优点:只需要一条传输线,成本低廉,广泛的应用到长距离传输,应用到计算机内部中,可以节省布线空间。
缺点:在数据发送和接收时需要拆卸和装配,要考虑串行-并行的转换问题。
优点:总线的顺序逻辑比较简单,电路实现起来比较容易。
缺点:信号线数量多,占用更多的布线成本,远距离传输成本高。当工作效率提高时,信号线之间会发生严重干扰,因此并行不一定比串行的效率高。
- 按总线功能
(1)片内总线
芯片内部的总线,是 CPU 芯片内部寄存器和寄存器之间,寄存器和 ALU 之间的公共连接线。
(2)系统总线
计算机系统中各功能部件(CPU,主存,I / O 接口)之间相互连接的总线。
按照传输信息的不同,分为数据总线,地址总线,控制总线。
注意:对于单根控制总线来说,传输的信息是单向的,对于整个控制总线来说,传输的信息是双向的。
(3)通信总线
计算机系统之间或计算机系统与其他系统(如远程通信设备,测试设备)之间信息传送的总线,也被称为外部总线。
- 按时许控制方式
(1)同步总线
(2)异步总线
- 系统总线的结构
- 单总线结构
CPU,主存,I/O 设备都连接在一组总线上,允许I/O 设备之间,I/O 设备和CPU 之间或I/O 设备与主存之间直接交换信息。
优点:结构简单,成本低,易于接受新的设备。
缺点:带宽低,负载重,多个部件只能使用唯一的总线,不支持并行的操作。
注意:单总线并不是仅仅只有一根信号线,可以按照信息的不同分为地址总线,数据总线,控制总线。
- 双总线结构
双总线结构存在两条总线,一条是主存总线,用于CPU,主存,通道之间进行数据传送,另一条是I/O总线,用于多个外部设备和通道之间进行数据传送。
通道是具有特殊功能的处理器,可以对I/O 设备进行统一管理,通道程序存放在主存中。
注意:支持突发传送,送出一个地址,收到多个地址连续的数据。
优点:将较低速的I/O 设备从单总线中分离出来,实现存储器和I/O 总线的分离。
缺点:需要增加通道等硬件设备。
- 三总线结构
三总线结构实在计算机系统各部件之间采用 3 条各自独立的总线来构成信息通路,分别是主存总线,I/O 总线,和直接内存访问的 DMA 总线。
优点:提高了 I/O 设备的性能,使其可以更快的响应命令,提高系统的吞吐量。
缺点:系统工作效率较低(上面的三条总线仅有一条可以同时工作)。
- 扩展:四总线
(1)桥接器:用于连接不同的总线,具有数据缓冲,转换和控制功能。
(2)靠近CPU的总线速度快。
(3)每级总线的设计遵循总线标准。
总线的性能指标
- 总线的传输周期(总线周期)
一次总线操作的时间(包含申请阶段,寻址阶段,传输阶段,结束阶段),通常由若干个总线周期构成。
- 总线的时钟周期
机器的时钟周期。计算机中有一个统一的时钟,以此控制计算机的各个部件,总线也要受到时钟的控制。现在的计算机中,总线的时钟周期也有可能是通过桥接器提供。
- 总线的工作效率
总线上各种操作的频率,为总线周期的倒数。若总线周期 = N 个时钟周期,总线的工作频率 = 时钟频率 / N。实际上指每秒传输几次数据。
- 总线的时钟周期
时钟周期的倒数。若时钟周期 = T,时钟频率 = 1 / T。实际上指每秒有几个时钟周期。
- 总线宽度
也被称为总线位宽,是同时可以传输的数据位数,通常是指数据总线的根数,如 32 根称为32 位总线。
- 总线宽度
可以理解为总线的数据传输率,单位时间总线可以传输的位数,通常使用每秒钟传送的字节数来衡量,单位可以使用字节 / 秒表示。
总线带宽 = 总线工作频率 * 总线宽度
注意:总线带宽是指总线本身可以达到的最高的传输速率。在计算实际的有效数据的传输率时,要根据实际传输的数据量除以耗时。
- 总线复用
使用一种信号线在不同的时间传输不同的信息,可以使用更少的成本和节省时间,但会造成时间的增加。
- 信号线数
地址总线,数据总线和控制总线 3 种总线数的和称为信号线。
总线的操作和定时
- 总线周期的四个阶段
- 申请分配阶段:
通过使用总线的主设备提出请求,经过总线仲裁机构决定将下一传输周期的总线使用权授予某个申请者。也可以将该阶段分为传输请求和总线仲裁两个阶段。
- 寻址阶段:
获得使用权的主模块通过总线发出本次要访问的从模块的地址和命令,启动参与本次传输的从模块。
- 传输阶段:
主模块和从模块进行数据交换,可以单向或双向的数据传送。
- 结束阶段:
主模块的有关信息均可以从系统总线上撤除,让出总线使用权。
总线定时是指总线在双方交换数据的过程中需要时间上的配合,被称为总线定时,实质上是一种协议或规则。
- 同步定时方式 - 读命令
假设:CPU 作为主设备,某个输入设备作为从设备。
优点:传送速度快,具有较高的传输速率;总线控制逻辑简单。
缺点:主从设备属于强制性同步,无法进行数据通信之间的有效性检测。可靠性较差。
适用于总线长度较短和总线部件的存取时间比较接近的系统。
- 异步定时方式
没有统一的时钟,也没有固定的时间间隔,完全依靠传送双方制定的“握手信号”实现定时控制。
主设备提出交换信息的请求设备,经过接口传送到从设备,从设备接到主设备的请求,通过接口向主设备发送“回答”信号。
根据请求和回答的信号是否撤销,分为以下 3 种类型。
(1)不互锁方式 (速度最快,可靠性最差)
(2)半互锁方式
(3)全互锁方式 (最可靠,速度最慢)
优点:总线的周期长度可变,可以保证两个工作时间相差很大的部件或设备之间进行可靠的信息交换,自动适应时间的配合。
缺点:比同步控制的方式麻烦一些,速度也会更慢一些。
- 半同步通信
在统一时钟的基础上,添加一个”等待“响应信号。
- 分离式通信
由于在从模块准备数据的时候不需要使用总线,但还是占据总线,因此可以将该阶段的总线分配给其他设备,也就是分离式通信。