mirror of
https://github.com/OmegaZhou/408-notes.git
synced 2026-02-02 18:28:58 +08:00
8.6 KiB
8.6 KiB
总线
概述
- 总线是连接多个部件的信息传输线,是各部件共享的传输介质
- 特点
- 分时
- 共享
- 总线传输周期:CPU通过总线对外设进行一次访问所需的时间
- 总线宽度:可同时传输的二进制代码位数
- 总线特性
- 机械特性:尺寸,形状
- 电气特性:传输方向,有效的电平范围
- 功能特性:每根传输线的具体功能(如传送地址、传送数据等)
- 时间特性:信号的时序关系(如某根线什么时间有效)
分类
按数据传输方式
- 串行传输总线
- 并行传输总线
按使用范围
- 计算机总线
- 测控总线
按连接部件
- 片内总线
- 位于芯片内部
- 如CPU内部,寄存器之间的连接
- 系统总线
- 连接五大部件(运算器、控制器、存储器、输入设备和输出设备)
- 分类
- 数据总线
- 双向传输总线
- 地址总线
- 单向传输总线
- 控制总线
- 整体上看:双向传输
- 任意一条:单向传输
- 数据总线
- 通信总线
- 计算机系统之间或计算机系统与其他系统间通信
- 分类
- 串行通信
- 适合远距离传输
- 并行通信
- 适合近距离传输
- 串行通信
总线的组成
- 控制线
- 数据线
- 地址线(部分总线无地址线,使用数据线传输地址,称为数据线和地址线复用)
总线的性能指标
- 总线宽度:总线的根数
- 总线带宽:单位时间内传输数据的位数
- 总线复用:地址线和数据线共用以概率总线
- 信号线数:三种总线数目总和
总线的结构
单总线结构
- 所有设备共用一组总线
- 允许交换信息的设备
- I/O设备之间
- I/O设备与CPU
- I/O设备与主存
- CPU与主存
- I/O设备与主存统一编址
- 优点
- 结构简单
- 容易扩充
- 缺点
- 不允许多个设备同时传输信息
- 无法解决不同设备速率不匹配问题
- 适用对象
- 小型计算机
- 微型计算机
双总线结构
- 将速度较低的I/O设备分离出来
- 形成CPU与主存,CPU与I/O设备两组总线
- 允许交换信息的设备
- I/O设备之间
- I/O设备与CPU(或通道处理器)
- CPU与主存
- 缺点
- 主存与I/O设备交换信息需要通过CPU或通道处理器,效率低
三总线结构
- 在高速I/O设备与主存间增加了DMA总线
- 允许交换信息的设备
- I/O设备之间
- I/O设备与CPU
- 高速I/O设备与主存
- CPU与主存
总线仲裁
集中仲裁方式
- 所有总线请求统一集中交予一个仲裁算法进行裁决
- 组成
- 总线忙线
- 总线同意线
- 总线请求线
链式查询方式
- 所有部件使用一条总线请求线
- 判定步骤
- 部件需要请求总线时,发送总线请求至总线控制器
- 若总线不忙,发送总线同意信号
- 总线同意信号串行依次传送到各个部件,若某一部件有总线请求时,停止传送
- 该部件建立总线忙信号
- 优先级
- 离总线控制器越近的部件优先级越高
- 优点
- 只需三根控制线,结构简单,易扩充
- 缺点
- 有硬件电路敏感,第i个部件出错,之后的部件都不能工作
- 优先级低的总线会出现饥饿现象
计数器查询方式
- 在总线控制器中增加一个计数器
- 不需要总线同意线
- 增加log
2n条设备地址线 - 判定步骤
- 总线控制器收到请求后,计数器开始计数
- 将计数器的数值通过设备地址线传输给每个设备
- 若发送请求的设备地址与计数器数值不一致时,继续计数,回到第二步
- 直到发送请求的设备的地址与计数器一致时,获取设备控制权,建立总线忙信号
- 优先级
- 方案1:每次计数从0开始,地址数值越小,优先级越大
- 方案2:每次计数从上一次的终点开始计数,所有设备优先级相等
- 优点
- 各设备优先级顺序可以改变(通过修改设备地址)
- 对电路故障不如链式查询方式敏感
- 缺点
- 增加了控制线数
- 控制也比链式查询复杂
独立请求方式
- 每个设备都有一个总线请求线和总线同意线
- 判定步骤
- 每个设备独立发送请求
- 总线控制器按照特点算法决定优先级
- 选择好某一设备后,使用他的总线同意线发送同意信息
- 该设备建立总线忙信号
- 优点
- 响应时间快
- 对优先级控制灵活(可通过程序改变)
- 缺点
- 控制线数量多
- 总线控制最复杂
总线数目
| 总线类型 | 链式查询方式 | 计数器查询方式 | 独立请求方式 |
|---|---|---|---|
| 总线同意线 | 1 | 无 | n |
| 总线忙线 | 1 | 1 | 1 |
| 总线请求线 | 1 | 1 | n |
| 设备地址线 | 无 | \lceil log_2n \rceil |
无 |
| 总数 | 3 | \lceil log_2n \rceil +2 |
2n+1 |
| 确定所有权需要的总线数 | 2 | \lceil log_2n \rceil +1 |
2n |
分布式仲裁方式
- 不需要中央仲裁器
- 每个模块有自己的仲裁号和仲裁器
- 每个仲裁器将自己的仲裁号发送到共享的仲裁总线上
- 通过对比仲裁总线上得到的仲裁号确定哪一个仲裁器占有总线
总线操作和定时
总线周期的组成
- 申请分配阶段(进行仲裁)
- 寻址阶段
- 传送数据阶段
- 结束阶段
分类
- 同步通信(同步定时方式)
- 异步通信(异步定时方式)
- 半同步通信
- 分离式通信
同步定时通信
- 时钟周期
- 发送地址信息(直到第四周期结束为止,始终保持信号),若写指令,则在第一周期的中间时刻进行数据准备操作
- 发送读写命令(维持到第三周期结束)
- 传输数据
- 撤销读写命令,撤销数据传输
- 优点
- 传输速度快
- 缺点
- 时钟必须以最慢模块设计
- 模块存取速度差别较大时,大大损失总线效率
- 可能不知道被访问的外部设备是否真正相应,可靠性低
- 适用范围
- 总线长度较短,各部件存取时间接近的设备
异步定时方式
- 增加两条应答线(请求线和回答线)
- 采用**应答(握手)**的方式进行通信
- 步骤
- 主模块发出请求
- 等待从模块响应信号后才开始通信
- 分类
- 不互锁方式
- 主从模块无制约关系
- 主模块发出请求一段时间后,默认从模块收到信号,撤销请求
- 从模块发出应答一段时间后,默认主模块收到信号,撤销应答
- 半互锁方式
- 主从模块只有简单制约关系
- 主模块发出请求后,只有收到从模块的应答信号后才撤销请求
- 从模块发出应答一段时间后,默认主模块收到信号,撤销应答
- 全互锁方式(与三次握手几乎一样)
- 主从模块只有完全制约关系
- 主模块发出请求后,只有收到从模块的应答信号后撤销请求,并发出应答
- 从模块发出应答后,只有收到主模块的应答信号后撤销应答
- 不互锁方式
总线标准
系统总线标准
- ISA(工业标准体系结构总线)
- 最早的微型计算机系统总线标准
- 用于IBM的AT机
- EISA(扩展的ISA总线)
- 配合32位CPU的总线扩展标准
- 完全兼容ISA
- VESA(VL-BUS)
- 32位的计算机局部总线
- 用于多媒体PC传输活动图像数据
- PCI(最常用)
- 计算机局部总线
- 连接外围设备与处理机/存储器系统
- 支持即插即用
- 支持对数据和地址的奇偶校验
- PCI-Express(PCI-E)
- 最新的总线和接口标准
- 将取代PCI和AGP
设备总线标准
- IDE(集成设备电路)
- 用于连接处理器和磁盘驱动器
- AGP(加速图形接口)
- 用于连接主存和图形存储器
- USB(通用串行总线)
- 用于快速连接外部设备
- 串行传输,只能同时传输一位数据
- 通信总线
- SATA(串行高级技术附件)
- 串行硬件驱动器接口
其他零散知识
- 计算机局部总线:局部总线是在ISA总线和CPU总线之间增加的一级总线或管理层。这样可将一些高速外设.如图形卡.硬盘控制器等从ISA总线上卸下而通过局部总线直接挂接到CPU总线上,使之与高速能CPU总线相匹配。