13.Bus
Bus
-
一根总线内有多根信号线, 并行发送数据. 同一时刻只能有一个部件发送数据, 但是可有多个部件接受数据
概述
基本概念
-
总线是一组能为多个部件分时共享的公共信息传送线路
-
总线的特性
- 机械特性: 尺寸, 形状, 管脚数, 排列顺序
- 电气特性: 传输方向和有效的电平范围
- 功能特性: 每根传输线的功能(地址, 数据, 控制)
- 时间特性: 信号的时序关系
分类
按数据传输格式
串行总线
并行总线
按总线功能
片内总线
-
CPU芯片内部寄存器与寄存器之间, 寄存器与ALU之间的公共连接线
系统总线
-
计算机系统内各功能部件(CPU, 主存, I/O接口)之间相互连接的总线
-
按系统总线传输信息内容的不同, 又可分为3类: 数据总线, 地址总线和控制总线
- 数据总线: 传输指令和操作数; 位数与机器字长, 存储字长有关; 双向
- 地址总线: 传输主存单元或I/O端口的地址; 位数与主存地址空间大小及设备数量有关; 单向
- 控制总线: 传输CPU送出的控制命令和主存(或外设)返回CPU的反馈信号
通信总线(外部总线)
-
计算机系统之间或计算机系统与其他系统(如远程通信设备, 测试设备)之间信息传送的总线
按时序控制方式
同步总线
异步总线
系统总线结构
单总线结构
双总线结构
三总线结构
四总线结构
性能指标
传输周期(总线周期)
-
一次总线操作所需的时间(包括申请阶段, 寻址阶段, 传输阶段和结束阶段), 通常由若干个总线时钟周期构成
时钟周期
-
即机器的时钟周期, 计算机有一个统一的时钟, 以控制整个计算机的各个部件, 总线也要受此时钟的控制
工作频率
-
总线上各种操作的频率, 为总线周期的倒数, 指一秒内传送几次数据
时钟频率
-
即机器的时钟频率, 为时钟周期的倒数, 指一秒内有多少个时钟周期
总线宽度
-
又称为总线位宽, 它是总线上同时能够传输的数据位数, 通常指数据总线的根数
总线带宽
-
总线的数据传输率(最高传输速率), 即单位时间内总线上可传输数据的位数, 通常用每秒钟传送信息的字节数来衡量, 单位可用字节/秒(B/s)表示
-
总线带宽 = 总线工作频率 * 总线宽度 (bit/s) = 总线工作频率 * (总线宽度 / 8) (B/s) = 总线宽度 / 总线周期 (bit/s) = (总线宽度 / 8) / 总线周期 (B/s)
总线复用
-
一种信号线在不同的时间传输不同的信息, 可以使用较少的线传输更多的信息, 从而节省了空间和成本
信号线数
-
地址总线, 数据总线和控制总线3种总线数的总和称为信号线数
仲裁
-
多个主设备同时竞争主线控制权时, 以某种方式选择一个主设备优先获得总线控制权称为总线仲裁
- 主设备: 获得总线控制权的设备
- 从设备: 被主设备访问的设备, 只能响应从主设备发来的各种总线命令
集中仲裁
-
工作流程
- 主设备发出请求信号
- 若多个主设备同时要使用总线, 则由总线控制器的判优, 仲裁逻辑按一定的优先等级顺序确定哪个主设备能使用总线
- 获得总线使用权的主设备开始传送数据
链式查询
-
优点: 链式查询方式优先级固定. 只需很少几根控制线就能按一定优先次序实现总线控制, 结构简单, 扩充容易
-
缺点: 对硬件电路的故障敏感, 并且优先级不能改变. 当优先级高的部件频繁请求使用总线时, 会使优先级较低的部件长期不能使用总线
计数器查询
-
结构特点: 用一个计数器控制总线使用权, 相对链式查询方式多了一组设备地址线, 少了一个总线响应线BG; 它仍共用一根总线请求线
-
优点
- 计数初始值可以改变优先次序
- 对电路的故障没有链式敏感
-
缺点
- 增加了控制线数
- 控制相对比链式查询相对复杂
独立请求
-
结构特点: 每一个设备均有一对总线请求线BRi和总线允许线BGi
-
优点
- 响应速度快, 总线允许信号BG直接从控制器发送到有关设备, 不必在设备间传递或查询
- 对优先次序的控制相当灵活
-
缺点
- 控制线数量多
- 总线的控制逻辑更加复杂
分布仲裁
-
特点: 不需要中央仲裁器, 每个潜在的主模块都有自己的仲裁器和仲裁号, 多个仲裁器竞争使用总线
-
工作流程
- 当设备有总线请求时, 它们就把各自唯一的仲裁号发送到共享的仲裁总线上
- 每个仲裁器将从仲裁总线上得到的仲裁号与自己的仲裁号进行比较
- 如果仲裁总线上的号优先级高, 则它的总线请求不予响应, 并撤销它的仲裁号
- 最后, 获胜者的仲裁号保留在仲裁总线上
操作和定时
总线周期
-
申请分配阶段: 由需要使用总线的主模块(或主设备)提出申请, 经总线仲裁机构决定将下一传输周期的总线使用权授予某一申请者. 也可将此阶段细分为传输请求和总线仲裁两个阶段
-
寻址阶段: 获得使用权的主模块通过总线发出本次要访问从模块的地址及有关命令, 启动参与本次传输的从模块
-
传输阶段: 主模块和从模块进行数据交换, 可单向或双向进行数据传送
-
结束阶段: 主模块的有关信息均从系统总线上撤除, 让出总线使用权
总线定时
-
总线在双方交换数据的过程中需要时间上配合关系的控制, 这种控制称为总线定时, 它的实质是一种协议或规则
同步定时方式(同步通信)
-
总线控制器采用一个统一的时钟信号来协调发送和接收双方的传送定时关系
-
示例
-
优点: 传送速度块, 具有较高的传输速率; 总线控制逻辑简单
-
缺点: 主从设备属于强制性同步; 不能及时进行数据通信的有效性检验, 可靠性较差
-
同步通信适用于总线长度较短及总线所接部件的存取时间比较接近的系统
异步定时方式(异步通信)
-
没有统一的时钟, 也没有固定的时间间隔, 完全依靠传送双方相互制约的"握手"信号来实现定时控制
-
主设备提出交换信息的 "请求"信号, 经接口传送到从设备; 从设备接到主设备的请求后, 通过接口向主设备发出 "回答"信号
-
优点: 总线周期长度可变, 能保证两个工作速度相差很大的部件或设备之间可靠地进行信息交换, 自动适应时间的配合
-
缺点: 比同步控制方式稍复杂一些, 速度比同步定时方式慢
不互锁方式
-
主设备发出 “请求” 信号后, 不必等到接到从设备的 “回答” 信号, 而是经过一段时间, 便撤销 “请求” 信号
-
从设备在接到 “请求” 信号后, 发出 “回答” 信号, 并经过一段时间, 自动撤销 “回答” 信号, 双方不存在互锁关系
半互锁方式
-
主设备发出 “请求” 信号后, 必须待接到从设备的 “回答” 信号后, 才撤销 “请求” 信号, 有互锁关系
-
从设备在接到 “请求” 信号后, 发出 “回答” 信号, 但不必等待获知主设备的 “请求” 信号已经撤销, 而是隔一段时间后自动撤销 “回答” 信号, 不存在互锁关系
全互锁方式
-
主设备发出 “请求” 信号后, 必须待从设备 “回答” 后, 才撤销 “请求” 信号
-
从设备发出 “回答” 信号, 必须待获知主设备 “请求” 信号已撤销后, 再撤销其 “回答” 信号. 双方存在互锁关系
半同步通信
-
统一时钟的基础上, 增加一个 "等待"响应信号
-
示例
分离式通信