总线
是计算机体系结构的重要组成部分,通过它可以将计算机系统中各个功能部件连接起来,构成一个完整的系统
作用
- 是各功能部件间传递各类信息的通道;
- 是系统中各部件间的物理接口,能够减少各部件通信的复杂程度;
- 提供信息交换时所需的数据、地址、时序和控制信息;
- 提供一个共同遵循的协议或标准;
- 不应成为整个计算机性能的瓶颈;
- 方便计算机系统的集成、扩展和进化
分类
按用途分类
- 存储总线:短距离、高速总线,与存储器的特性相匹配,尽最大可能提高处理器与存储器之间的数据带宽,针对Cache块数据传输进行性能优化
- 系统总线:又称内部总线或板级总线,是计算机系统中最重要的总线,也是连接存储总线和I/O总线的中间总线
- I/O总线:通常连接距离较远、速度相对较慢,用于连接多种外部设备,同时与系统总线或存储总线连接
按位置分类
- 外部总线:USB、火线(IEEE-1394)等
- 内部总线:PCI、AGP等
- 片内总线:AMBA
组成
- 数据总线:用于传送数据信息,通常是双向三态形式的总线
- 地址总线:专门用来传送地址,地址总线总是单向三态的
- 控制总线:用来传送控制信号和时序信号
- 电源线和地线
性能参数
- 总线频率:反映总线工作的速率(f),通常单位是MHz
- 总线宽度:数据总线的位数(w),单位是b(位),通常与处理器的字长相一致
- 总线传输速率:总线上可传输的数据总量(BW),单位是MB/s,总线传输速率=(总线宽度÷8位)×总线频率
其他性能参数
- 同步方式
- 多路复用
- 信号线数量
- 控制方式
总线事务
从请求总线到完成总线使用的操作序列称为总线事务(Bus Transaction),它是在一个总线周期中发生的一系列活动
主设备和从设备
- 主设备(master):能够提出申请并获得总线控制权的设备;
- 从设备(slave) :只能被动接受总线控制传送数据的设备。
传输操作过程
完成一次数据传输操作,一般经过如下四个阶段:
- 申请与仲裁阶段
- 寻址阶段
- 传输阶段
- 结束阶段
常见的总线操作
- 读
- 写
- 读修改写
- 写后读
- 块操作
总线连接方式
单级总线结构
- 访问存储器和访问外设指令相同,由地址来区分;
- 总线简单,使用灵活,易于扩展;
- 任意两设备之间理论上都可以直接交换信息;
- 所有设备分时工作,仅适用于慢速的计算机系统中
双级总线结构
- 由于外设和内存分处于不同的总线,需要增加I/O指令;
- 存储总线的增加减轻了系统总线的负担,提高了并行性;
- 仍然保持了单总线结构的系统简单、易于扩充的优点
多级总线结构
- 在双级总线结构的基础上增加I/O总线构成;
- 并行性进一步提高,并可以通过增加通道或IO处理机来分担部分CPU的I/O功能,但是总线结构得越来越复杂
桥
是不同速率总线之间的连接器件,起信号速度缓冲、电平转换、控制协议转换等作用
总线结构对计算机性能的影响
- 对最大存储容量的影响:单总线结构有影响,双总线和多总线结构没有
- 对指令系统的影响:双总线和多总线结构需要增加IO指令
- 吞吐量:单总线结构的吞吐量小,多总线结构的吞吐量大,双总线结构的吞吐量居中
总线仲裁
菊花链式串行总线仲裁
集中式并行总线仲裁
常用的总线仲裁策略
- 固定优先级总线仲裁
- 轮询式总线仲裁(Round Robin)
- LRG总线仲裁(Least Recently Granted)
- 混合式总线仲裁
总线时序
- 同步定时:信息传送由公共时钟控制,总线中包含时钟线
- 时序关系简单,实现简单
- 在设备速度不一致时按最坏情况确定,传输线不能太长
- 异步定时:信息传送的每一个操作都是由主设备或从设备特定信号的跳变所确定,总线上每一个事件的发生取决于前一个事件的发生
- 数据传输可靠,适用于传输周期不同的设备,对通讯线的长度没有严格的要求
- 速度较慢
- 半同步定时:总线上各操作之间的时间间隔可以变化,但仅允许为公共时钟周期的整数倍。信号的出现、采样和结束仍以公共时钟为基准
数据传输方式
并行传送
同时并行传送的二进位数就是数据宽度
通常采用应答式的联络信号来协调双方的数据传送操作
串行传送
只使用一根传输线,采用脉冲方式传送信息
每次传送1位信息
一次新的传送,一定是以一个电平的跳变开始
串并传送
一次传送多个二进制位,但是同时传送的二进制位数小于数据宽度
按照串行的方式将整个数据宽度传送完
总线标准
计算机系统的各部件之间利用总线进行信息传输时应遵守的协议和规范,包括硬件和软件两个方面
常见的总线标准
- ISA(Industrial Standard Architecture):最早制定的总线技术标准,总线宽度8/16位,总线频率5
8MHz,总线带宽58MB/s。 - EISA(Extended Industry Standard Architecture)总线:在ISA总线的基础上为32位微机开发。
- VESA(Video Electronics Standard Association)总线:1992年推,它的推出为微机系统总线体系结构的革新奠定了基础,该总线系统考虑到CPU与主存和Cache的直接相连。标准定义了32位数据线,且可通过扩展槽扩展到64位,使用33MHz时钟频率,最大传输率为128MB/s~132MB/s。
- PCI(Peripheral Component Interconnect)总线:PCI是由Intel公司1991年推出的总线规范,用于取代ISA;不同于ISA总线,PCI总线的地址总线与数据总线是分时复用的,支持插即用。
- 支持10台外设,总线宽度32/64位,总线时钟频率33.3MHz/66MHz,最大数据传输速率 133/264MB/s,时钟同步方式,且与CPU的时钟频率无关
- AGP(AcceleratedGraphics Port)总线:是Intel公司1997年推出的一种3D标准图像接口,基于PCI2.1版规范并进行扩充修改而成,它采用点对点通道方式,能够提供四倍于PCI的传输速度。
- PCIe(Peripheral Component Interconnect Express)总线:是Intel公司2001年推出的一种高速串行计算机扩展总线标准,用于替代PCI、PCI-X和AGP总线
- USB(Universal Serial Bus)总线:是由Intel、Compaq、IBM、Microsoft等多家公司1994年联合提出的一种通用串行总线
- 采用四线电缆,其中两根是用来传送数据的串行通道,另两根为下游设备提供电源
- 采用级联星型拓扑,由三个基本部分组成:主机(Host),集线器(Hub)和功能设备
- AMBA(Advanced Microcontroller Bus Architecture)总线:是ARM公司推出的片上总线;AMBA提供了一种特殊的机制,可将RISC处理器集成在其它IP核和外设中。
- InfiniBand总线:解决了PCI总线中设备的距离问题,外部设备可以放到距离服务器很远的地方工作