总线的基本概念
- 为什么需要总线
- 分散链接
- 占用空间
- 实现难度比较大
- 分散链接
- 总线连接
- 总线是连接各个部件的信息传输线
- 是各个部件共享的传输介质
- 总线上的信息传送
- 高速线缆传输使用的是串行
- 总线结构的计算机
- 单总线
- 只有一条总线的结构
- 缺点
- 任何时刻只能有一个设备使用(瓶颈问题)
- 如果主存设备在读写数据,其他设备会无法使用
- 如果CPU相I/O设备传输数据延迟非常大
- 面向CPU双总线
- 缺点
- CPU与主存之间提供一条总线
- 外部设备与主存交流时,没有直接通路,只能与中央处理器交流,CPU压力比较大
- 缺点
- 以存储器为中心的双总线结构图
- 缺点
- 还是分时操作,两条总线依旧无法同时操作
- 缺点
- 单总线
总线的分类
- 根据总线的位置划分
- 片内总线
- 芯片内的总线(完成了不同元件之间的连接)
- 系统总线(计算机各个部件之间的信息传输)
- 计算机各部件之间的信息传输线
- 数据总线(传输的数据信号)
- 双向,与机器字长、寄存器字长有关
- 总线宽度小于等于字长
- 地址总线(由主设备或者CPU出)
- 单向,与存储地址、I/O地址有关(传输地址)
- 地址总条数线和地址单元相关,与MAR相等
- 控制总线(传出控制状态信号)
- 有出 有入
- CPU发出
- 存储器读、存储器写、总线允许、中断确认
- CPU接入
- 中断请求、总线请求
- 通信总线
- 用于 计算机系统之间 或 计算机系统与其他系统(如控制仪表、移动通信等)之间的通信
- 传输方式
- 串行
- 并行
- 数据总线(传输的数据信号)
- 计算机各部件之间的信息传输线
- 片内总线
总线的性能及性能指标
- 物理实现
- 总线特性
- 机械特性
- 尺寸、形状、管脚数、排列顺序
- 电气特性
- 传输方向和有效的电平范围
- 功能特性
- 每根传输线的功能:地址、数据、控制
- 时间特向
- 信号的时序关系
- 机械特性
- 总线的性能指标
总线宽度 | 数据线的根数 |
---|---|
标准传输速率 | 每秒传输的最大字节数(MBps) |
时钟的同步/异步 | 同步、不同步 |
总线复用 | 地址线与数据线复用(减少芯片的管脚数,管脚数对CPU影响较大) |
信号线数 | 地址线和控制线的总和 |
总线的控制方式 | 突发、自动、仲裁、逻辑、计数 |
其他指标 | 负载能力 |
- 总线标准
- 发展类别
- ISA 一秒8MHz 传输两个字节 带宽为16MBps
- EISA 兼容ISA带宽扩展一倍
- VESA 视频传输格式,信号来自CPU驱动能力比较差
- PCI 外设部件互联标准,最多的接口,独立于处理器的接口,中间缓冲器式的结构
- AGP 点对点的局部总线,链接控制芯片和显卡
- RS-232 串行总线标准
- USB 通用串行总线标准
- 发展类别
总线结构
- 单总线结构
- 多总线结构
- 双总线结构
- 一CPU 或者存储器为中心
- 主存总线和I/O总线,通过通道进行传输
- 通道具有控制器,由操作系统进行编写的
- 具有特殊功能。结构简单的处理器,专门用于输入输出操作
- 三总线结构
- DMA:直接存储器访问(外部设备直接访问存储器 高速访问)
- I/O总线(低速设备访问主存依旧通过I/O总线)
- 主存总线
- 三总线结构二
- CPU和主存之间交换速度为最大
- CPU速度比内存速度快的多
- 使用局部总线让CPU和cache连接到一起,解决I/O设备的传输问题
- 多种设备都链接到扩展总线上,会影响外围设备的速度。
- 四总线结构
- 局部总线:实现CPU和桥之间的链接
- 系统总线:实现主存和桥的链接
- 高速总线:高速设备链接
- 低速总线:高速和低速的分开实现效率最大化
- 双总线结构
- 总线结构举例
- 传统微机型总线结构
- VL-BUS局部总线结构
- 高速设备和低速设备分离
- PCI总线结构
- 对多设备承载能力不够
- 多层PCI总线结构
- 总线驱动能力强化版
- 传统微机型总线结构
总线的控制
- 总线的判优控制
- 原因:在同一时刻收到多个请求
- 原因:占用通信时如何保证正确性
- 基本概念
- 主设备是有控制权的,可以发送也可以接受,从设备只能响应主设备发出的命令。有部分设备是可以做主设备也可以做从设备
- 分布式:将所有的判优分到从设备上
- 链式查询的方式
- 总线控制部件在一起,是集中式的特征
- 数据总线:用于数据交换
- 地址总线:主设备通过地址找到通讯的从设备
- 总线设备,所有的设备都通过BR发送总线请求
- 如果有设备占用则通过BS发送总线忙
- BG是一个一个的向下查询
- 逻辑模块
- 通过BR向总线提出请求
- 总线控制不知道是哪个设备提出
- 通过BG向每个设备依次发出询问
- 直到找到第一个发出请求的设备,即完成找到设备
- 随机通过BS发出总线忙
- 提出总线占用请求的设备是按照优先级排列的
- 缺点:对电路设备故障敏感,如果有一个电路无法向下传送信号,则设备崩坏
- 优点:结构简单可靠,比较容易实现。判优过程可以把BS、BG多设置几条线、读取速度较慢
- 计数器定时查询方式
- 相同,有地址线和数据线,多了个设备地址线,用来传输计数器给出的地址,用来查找地址设备发出的总线请求
- 逻辑
- 主设备占用总线传输
- 通过BR提出总线占用请求
- 总线设备计数器给出地址,通过设备地址线向设备询问,如果没有发出请求则计数器+1如果选中的话则响应设备。
- 优点:优先级设备响应灵活,计数器每次查询都是从0开始n结束,如果不是从0开始的话,就变成了循环优先值。
- 少了一条BG线,多了一条设备地址线,设备地址线和设备数量有关、
- 独立请求方式
- 能更快的确定设备占用。
- 优先级的排队,由总线控制部件内部进行排队,或者事先进行优先级排队,也可以采用自适应和计数器,混合模式等。
- 对应答设备进行判优,谁回答,谁优秀
总线的通信控制
- 目的 解决通信双方协调配合问题(主从设备)
- 总线传输周期(主从设备完成一次完整地可靠的通信)
- 申请分配
- 主模块申请,总线仲裁决定(总线判优逻辑)
- 寻址阶段
- 主模块向从模块给出地址和命令
- 传数模块
- 主模块和从模块交换数据
- 结束阶段
- 主模块撤销有关信息
- 申请分配
总线通信的四种方式
- 同步通信
- 由统一时标控制数据传送
- 同步式数据输入
- 在固定的时间点上需要给定操作
- 需要有定宽定距的时钟
- 同步式数据输出
- 所有从模块都用同一个时钟控制
- 强制统一为最慢的那个进行数据传输
- 应用在,数据线比较短,各个模块存取时间比较一致
- 异步通信
- 采用应答方式,没有公共时钟标准
- 不互锁
- 这个过程中,无论主设备是否接受到信号,在一定时间之后就会撤销任务,因此通信可靠性比较低
- 半互锁
- 在这个过程中,如果收不到信号会持续发送,但是从设备会在无论是否收到信息都会撤销任务,因此会导致请求信号高频任务
- 全互锁
- 在这个过程中,主设备发出请求,从设备收到应答,主设备收到应答之后才会撤销任务,会完成可靠传输。会发现数据出错,半互锁和全互锁会重新发送或者接受数据
- 采用应答方式,没有公共时钟标准
- 半同步通信
- 同步。异步结合
- 同步:发送方 用系统 时钟前沿 发信号,接收方 用系统 时钟后沿 判断、识别
- 异步:允许不同速度的模块和谐工作,增加一条 “等待”响应信号 WAIT
- 以输入数据为例的半同步通信时序
- 四个时钟周期
- T1主模块发出地址
- T2主模块发出命令(主模块发出检测命令等待,当标志变为高电平时才会发出命令)
- T3从模块提出数据
- T4从模块撤销数据,主模块撤销命令(主模块和从模块速度不一致,在T3时钟到来之前从模块无法向主模块提供数据)
- 以输入数据为例的半同步通信
- 第一个时钟周期开始时,CPU给出地址线
- 第二个时钟周期CPU给出读信号
- 第三个时钟周期,如果从设备无法不能准备好数据,将会发出wait信号,会在第三个周期到来之前会插入wait信号
- 第四个周期,开始时读命令和写命令会在总线上撤销命令
- 允许不同传输速度的设备进行通信
- 共同点
- 一个总线传输周期(以输入数据为例)
- 同步。异步结合
|主模块发地址 、命令 | 占用总线 |
|从模块准备数据 |不占用总线 | 总线空闲 |
|从模块向主模块发数据 | 占用总线 |
- 分离式通信
- 充分挖掘系统总线每个瞬间的潜力
- 一个总线传输周期
- 分离通信的特点
- 各模块有权申请占用总线
- 采用同步方式通信,不用等对方应答
- 各模块被占用时,无空闲