系统总线
总线是一种能由多个部件分时共享的公共信息传送线路。
分时 | 共享 |
---|---|
同一时刻总线上只能传送一个部件的信息 | 总线上可以连接多个部件 |
总线提供一个共同遵循的协议或标准使得不同厂商提供的产品能够互换组合。
分类 | 举例 | |
---|---|---|
片内总线 | Internal Bus 芯片内部的总线 | AMBA |
存储总线 | 连接CPU、Cache和主存的总线 | |
系统总线 | 又称板级总线,连接存储总线和I/O总线 | PCI、AGP |
I/O总线 | 用于连接外部设备 | USB |
基本概念 | 意义 | 单位 |
---|---|---|
总线频率 | 反映总线工作的频率(f) | MHz |
总线宽度 | 数据总线的位数(w) | bit |
总线传输速率 | 总线上可传输的数据总量(BW) | MB / s |
BW = ( w / 8 ) * f | ||
波特率 | 衡量异步串行通信的数据传送速率。是指单位时间内传送二进制数据的位数 | bps(位 / 秒) |
基本概念 | ||
---|---|---|
总线周期 | 一次总线操作需要的时间 | |
总线事务 Bus Transaction | 从请求总线到完成总线使用的操作序列,它是一个总线周期内发生的一系列活动 | 包括:请求操作,裁决操作,地址传输,数据传输和总线释放 |
总线裁决方式 | 决定哪个设备进行总线传送的控制方式 | |
主设备 Master | 能够提出申请并获得总线控制权的设备 | |
从设备 Slave | 只能被动接受总线控制,被主设备访问的设备 |
总线完成一次数据传输操作:
- 申请和仲裁阶段:主设备提出申请,又总线仲裁机构决定谁能使用总线
- 寻址阶段:获得总线控制权的设备通过总线发出要访问的从设备的地址及相关命令,启动有关从设备
- 传输阶段:主设备和从设备通过DB进行数据交换
- 结束阶段:主设备相关信息从系统总线上撤出,让出总线使用权
系统总线结构
单总线结构
用一组总线连接整个计算机系统的各大部件,各部件之间所有信息都通过这组总线,访问存储器和访问外设指令相同,由地址区分。
优点 | 缺点 |
---|---|
允许 I/O设备之间 或 I/O设备与内存之间直接交换信息 | 外设和内存统一编址,内存容易受外设数量的影响 |
总线简单,使用灵活,易于扩展 | 总线负担很重 |
所有设备分时工作,适用于慢速的计算机系统 |
双总线结构
内存总线 | 用于CPU、内存和通道之间进行数据传送 |
I/O总线 | 用于外围设备与通道之间进行数据传送 |
通道是一个具有特殊功能的处理器,CPU将一部分功能下放给通道,使其对I/O设备具统一管理的功能,以完成外设和主存之间的数据传送,使CPU效率大为提高,可以实现形式多样且更为复杂的数据传送
由于外设和内存分别处于不同的总线,需要单独增加I/O指令
优点 | 缺点 |
---|---|
保持了单总线结构的系统简单,易于扩充的优点 | |
减轻了系统总线的负担,提高了并行性 | 以增加通道为代价 |
多级总线结构
- 主存总线:用于与CPU与主存之间的传输
- I/O总线:CPU与I/O设备之间的传输
- DMA总线:高速I/O设备(磁盘等)与主存之间的传输
任一时刻只能使用一种总线
- 主存总线和DMA总线不能同时对主存操作
- I/O总线只有在CPU执行I/O指令时才能用到
总线结构对计算机系统性能的影响
单总线结构 | 双总线结构 | 多级总线结构 | |
---|---|---|---|
最大存储容量 | 外设和内存统一编址,内存易受外设数量影响 | 不受外设数量影响 | 不受影响 |
指令系统 | 不需要专门的I/O指令系统 | 需要 | 需要 |
吞吐量 | 总线数量越多,吞吐量越大 |
集中式总线仲裁
常用的总线仲裁策略 |
---|
固定优先级总线仲裁 |
轮叫式总线仲裁 Round Robin |
LRG总线仲裁 Least Recently Granted |
混合式总线仲裁 |
链式查询——固定优先级
BG串行地从一个接口送到下一个接口,如果BG到达的接口有总线请求,BG不再往下传,该接口获得总线使用权,并建立BS信号,表示它占用了总线。
离总线控制部件越近的部件优先级越高。
优点 | 缺点 |
---|---|
结构简单,易于扩充 | 对电路故障敏感,优先级不能改变 |
优先级固定,有较高的实时响应性 | 当优先级高的部件频繁请求使用总线时,优先级别低的设备长期不能使用总线 |
计数器定时查询——轮叫式
与串行链式相比,多增加了一组设备地址线,少了BG线。
- 设计数器初值为00
- 若BR1 = 1,由于BR0 = 0,所以BS0 = 0;计数器计数到01,由于BR1 = 1,部件1占用总线,计数器停止计数和查询。
- 若BR0 = BR1 = 1,计数器初值为00,部件0优先占用总线,部件1等待
当计数器初值为0时,优先级:部件0 > 部件1 > 部件2 > 部件3
- 设计数器初值为01,此时优先级:部件1 > 部件2 > 部件3 > 部件0
……
以此类推
优点 | 缺点 |
---|---|
计数器的初始值可由程序设置,优先级可改变 | 增加了设备地址线,控制也比较复杂 |
对电路故障不如串行链式敏感 |
独立请求
每一台设备均由一对BRi和BGi
当设备要求使用总线时,便发出请求信号。总线控制部件中有排队电路,按照一定的优先次序确定响应哪一个请求
优点 | 缺点 |
---|---|
响应速度快 | 结构复杂 |
控制方式灵活,既可采用固定优先级(组合逻辑实现),也可以通过程序改变优先级(编程实现),还可以通过屏蔽某个请求来禁止相关部件使用总线 |
链式查询仅用2根线
计数器查询大致用log2n根线(n是允许接纳的最大设备数)
独立请求方式需要2n根线
总线通信方式
同步通信
采用统一的时钟信号来协调发送和接受双方的传送定时关系
优点 | 缺点 |
---|---|
时序关系简单,实现简单 | 时标线上的干扰信号会引起错误的同步,滞后的时标会造成同步误差 |
传送速度快,传输速率较高 | 时钟频率必须适应最长延迟和最慢接口 |
不知道被访问的外设是否响应 可靠性较低 |
同步通信一般用于总线长度较短、各部件存取时间比较一致的场合
异步通信
没有时钟信号,采用传送双方相互制约的握手信号来实现定时控制
应答方式 | 释义 | 应用 |
---|---|---|
不互锁 | 请求信号的结束和应答信号的结束不互锁 | CPU向主存写信号 |
半互锁 | 请求信号的撤销取决于应答信号,有互锁关系;应答信号的撤销由从设备自己决定,无互锁关系 | 多机系统中某个CPU访问共享存储器 |
全互锁 | 请求信号的撤销取决于应答信号的到来,请求信号的撤销又导致应答信号撤销 | 网络通信 |
优点 | 缺点 |
---|---|
数据传输可靠 | 速度较慢 |
异步通信适用于传输周期不同的设备之间的通信
总线的信息传送方式
- 串行传送
- 并行传送
- 串并行传送:将信息分组(一般每组一个字节),组内并行,组间串行
- 分时传送:共享总线的部件分时传送信息
总线标准
- ISA(Industrial Standard Architecture)最早出现的微机总线标准
- EISA(Extended Industrial Standard Architecture)在ISA基础上为32位微机开发
- VESA(Video Electronics Standards Association)
- PCI外围设备互连(Peripheral Component Interconnect)支持即插即用,配置PCI适配器时,配置带有即插即用功能的BIOS,可由软件自动识别插卡。
桥:是不同速率总线之间的连接部件,起信号速度缓冲,电平转换,控制协议转换等作用。
- PCI-Express:
改进 |
---|
更高的最大系统总线吞吐量 |
更少的I/O引脚数量 |
更小的物理尺寸 |
更好的总线设备性能缩放 |
更详细的错误检测和报告机制 |
为I/O虚拟化提供硬件支持 |
- AGP(Accelerated Graphics Port)专用于连接主存和图形存储器。
- USB通用串行总线(Universal Serial Bus)
- IEEE 1394 高速数据传输的串行接口
- IDE(Intergrated Drive Electronics)主机处理器和磁盘驱动器之间广泛使用的集成总线
- EIDE(Enhanced IDE)增强型IDE