目录
1.1总线基本概念
一、使用总线原因
- 每两个设备都使用线来连接,分散连接消耗和难度较大
- 在设备之间连接的接口需要大量空间
- 系统很难扩展,增加一个设备的时候,要和许多设备进行连接非常麻烦
二、什么是总线
- 总线是连接各个部件的信息传输线,是各个部件共享的传输介质
三、总线上信息的传输
- 串行 将要传输的信息一位一位的进行传输
- 并型 将要传输的信息多位同时放在总线上进行传输需要多条数据线进行传输
串行传输还分为:异步传输、同步传输、等时传输。实际上由于频率加快串行传输速度超过并行
当传输距离较长时多线同时传输会发生干扰,并行传输一般较短,在一台设备内部使用。当远距离传输时一般会使用串行传输
四、总线结构的计算机举例
1、单总线
总线是信号的公共传输线,同一时刻只能有一对设备使用总线,实际上不采取特殊措施会严重影响cpu效率,而设备较多会导致总线长度较长。
2、面向cpu的双总线
和单总线结构相比,在cpu与主存间添加总线,专门提供cpu与主存间进行数据传输,但是主存无法与I/O设备直接传输
3、以存储器为中心的双总线结构框图
通常情况下双口ram无法同时对存储总线与系统总线传输数据
1.2总线的分类
1、片内总线 芯片内部的总线
2、系统总线 计算机各个部件之间的信息传输线
通常情况下总线宽度是小于等于机器字长
- 数据总线 双向 与机器字长、存储字长有关
- 地址总线 单向 与存储地址、I/O地址有关 由cpu等发出的 宽度与mar寄存器相同
- 控制总线 有出 存储区读写 总线使用权的许可与中断的确认;有入 中断请求、总线请求
3、通信总线 用于计算机系统之间或计算机系统与其他系统(控制仪表、移动通信)之间的通信
1.3总线特性及性能指标
一、总线物理实现
二、总线特性
- 机械特性 尺寸、形状、管脚数、排列顺序
- 电气特性 传输方向和有效的电平范围
- 功能特性 每根传输线的功能(地址、数据、控制)
- 时间特性 信号的时序关系
三、总线的性能指标
- 总线宽度:数据线的根数 同时可以传输多少位数据
- 标准传输率:每秒传输的最大字节数(MBps)
- 时钟同步/异步
- 总线复用:地址线与数据线复用
- 信号线数:地址线、数据线和控制线的总和
- 总线控制方式:突发、自动、仲裁、逻辑、计数
四、总线标准
1.4总线结构
一、单总线结构
把所有的设备都连接在总线上,导致总线成为系统的瓶颈
二、多总线结构
1、双总线结构
通道专门用于输入输出操作,通道有自己的控制器和指令系统,执行通道程序,通道由操作系统编写而不是人工编写
2、三总线结构
DMA(Direct Memory Access):直接存储器访问
一些高速设备通过DMA与内存进行交互,但是低速设备与主存进行操作使用I/O总线
3、其他三总线结构
内存的速度成为瓶颈,现在cpu与内存间添加了小容量高速Cache进行缓存,cpu运行时需要的指令和数据从Cache获取。
局部I/O控制器连接一些高速设备
4、四总线结构
桥电路扩展出高速总线,低速设备通过拓展总线
三、总线结构举例
1、传统微型机总线结构
2、VL-BUS局部总线结构
3、PCI总线
系统总线连接PCI桥扩展出PCI总线连接高速设备,又通过标准总线控制器连接低速设备
4、多层PCI总线结构
PCI总线上连接设备过多会导致驱动能力不够,使用PCI桥进行拓展
1.5总线控制
- 总线判优 多个设备可能同时向总线发出总线占用请求,但同一时刻只能有一对设备占用总线
- 通讯控制 一对设备占用总线后进行通讯,如何进行通讯才能保证通信正确
一、总线判优控制
1、基本概念
- 主模块(模块) 对总线有控制权 可以提出总线占用申请,可以控制与另外一台设备的通讯过程
- 从设备(模块) 本身不能对总线进行控制,也不能提出占用请求,只能响应从主设备发来的总线命令
- 计算机系统当中有一些设备既可以当做主设备也可以当作从设备,有些总线有多个主设备
- 总线判优分为两种方法:集中式 分布式 其中 集中式 又分为三种方法:链式查询 计数器定时查询 独立请求方式
2、链式查询方式
- 总线控制部件是集中在一起的是集中式判优的特点
- 数据总线用于信息交换过程中数据的传输
- 主设备通过地址总线找到要通讯的从设备
- BR 设备都通过它发出总线占用或使用请求
- BS 如果有一个设备占用了总线的控制权,就通过BS告诉控制部件
- BG 是总线授权线,链式查询方式特点就在BG
若设备有总线占用请求,则它会通过BR向总线控制部件,总线控制部件收到请求后若可以让外部设备使用,因为所有外部设备都会用BR进行请求,不知道是哪个设备,这时将要通过BG向下逐个进行查询,直到碰到第一个提出总线占用请求的I/O接口,此时该接口将会通过BS设置总线忙,于此获得总线使用权
总线使用优先级与BG查询顺序有直接关系,优先级在连接时已经确定,若设备排的比较靠后,则可能他提出的总线占用请求一直不会收到应答
对电路故障非常敏感,若电路发生故障则后面的设备再也无法获得总线使用权
电路结构简单,与优先级和仲裁设备只与三条线有关,非常简单,增加设备也比较简单,进行可靠性设计比较容易实现,速度较慢,这种结构一般用在微型计算机或嵌入式系统
3、计数器定时查询方式
- 设备地址线 是这种方式命名的来源,这上面传输的地址是由一个计数器给出的,通过这个地址来查找某个设备是否发出总线请求
- 总线控制部件中有计数器
- 若某个主设备想要占用总线,与某个从设备进行传输,它将向BR提出总线占用请求,总线控制部件若可以让出总线控制权时,启动计数器,计数器的值,是通过设备地址线向外进行输出的。设备地址线给出信号后,若计数器值为0,则查看接口0,若接口0没有则加1,查看接口1提出请求,则通过BS进行应答,接口1被选中
优先级次序:若计数器不从0开始,若从上一次计数开始,则为循环给予总线控制权,若使用软件控制计数器,则可以更灵活的改变优先级。
设备地址线宽度与设备数有关 至少需要条线
4、独立请求方式
任何I/O接口都增加两条线,BG给出应答信号,优先级排队在总线控制部件内部有排队起,优先级确定由排队器决定,可以使用自适应。该方法需要2n条线
二、总线通讯控制
1、目的 解决通讯双方协调配合的问题
2、总线的传输周期 指主设备和从设备之间完成一次完整的可靠的通讯所需要的时间
- 申请分配阶段 主模块申请,总线仲裁决定
- 寻址阶段 主模块想从模块给出地址和命令
- 传输阶段 主模块和从模块交换数据 如果从设备已经准备好数据,就可以发送,如果准备好数据接收,就进行数据接收。
- 结束阶段 主模块撤销有关信息
3、总线通信的四种方式
- 同步通信 由统一定宽定距时标控制数据传送的过程 每一个操作每一个信号的给出都是在固定的时间点由时标进行控制
- 异步通信 采用应答方式,没有公共时钟标准,主设备发出请求,从设备给出应答信号
- 半同步设备 主要为不同速度两设备之间通讯问题 是同步和异步的结合
- 分离式通信 可以充分挖掘系统总线每一瞬间的潜力,让系统总线发挥最大的效能
(1)同步式数据输入
加入CPU使用同步方式从某一个外部设备进行数据输入,同步式是要有一个定宽定距的时钟来控制
- 在T1时钟的上升沿,必须给出地址信号,是主设备给出的
- 在T2上升沿,必须给出读命令信号,告诉从设备,主设备要读入数据
- 在T3上升沿之前,从设备必须要给出数据信号,从数据总线给出
- 在T4上升沿,数据信号与控制信号可以撤销
- 在T4结束,地址信号撤销
(2)同步式数据输出
- 在T1时钟的上升沿,必须给出地址信号
- 在T1时钟的下降沿,给出数据
- 在T2时钟的上升沿,给出写命令
- 在T4时钟的上升沿,主设备撤销数据和写命令
- 在T4时钟的上升沿,撤销地址信息完成这次输出操作
同步方式所有从模块都用同一个时标进行控制,要在同一个实现中完成规定的操作,主从模块是强制同步的,对多个速度不同的模块必须要选择最慢的模块作为统一时标进行控制
这种方式应用在总线较短因为传输时延不能太大,且各个模块存取时间比较一致的情况下。
(3)异步通信
设备有主设备和从设备,主设备发起,从设备受主设备控制,与同步相比无时钟但增加两条线请求线和应答线
不互锁方式:主设备发出通信请求,从设备接收到后进行应答,主设备撤销请求信号,从设备撤销应答信号。主设备不管是否接收到了应到信号,一段时间后会自动撤销请求信号;从设备也不管主设备是否接收到了应答信号,一段时间后也会自动撤销应答信号
- 半互锁方式:主设备发出通信请求,从设备发出应答信号,主设备接收到应答信号后再撤销请求,若接受不到,请求会保持。有可能会造成请求信号一直保持高电平
- 全互锁方式,主设备发出请求信号,从设备发出应答信号,主设备接收到应答信号后再撤销请求信号,主设备信号撤销后,从设备才会撤销应答信号
若传输过程中数据出错,半互锁全互锁可以请求从设备重新发送或接收数据
(4)半同步通信(同步、异步结合)
同步特征:有定宽定距时钟,发送方用系统时钟前沿发信号,接收方用系统时钟后沿判断、识别
异步特征:允许不同速度的模块协调进行工作,为调整主从设备速度差异,增加了一条由从设备给出的等待信号WAIT
以输入数据为例的半同步通信时序
- T1 上升沿 主模块发地址
- T2 上升沿 主模块发命令
- Tw 当WAIT为低电平时 等待一个T,等待数据的到来,再下一个时钟周期到来时,主模块继续检测,继续等待T,直到某一个时钟周期WAIT为高电平,从模块已经准备好发送设备
- T3 上升沿 从模块提供数据
- T4 上升沿 从模块撤销数据,主模块撤销命令
上述三种通信的共同点
- 主模块发地址、命令 占用总线
- 从模块准备数据 不需要占用总线 总线空闲(总线是瓶颈,空闲即造成总线资源浪费)
- 从模块向主模块发数据 占用总线
(5)分离式通信
充分挖掘系统总线再每一瞬间的潜力
一个总线传输周期分成两个子周期
子周期1:主模块申请占用总线,使用完后即放弃总线使用权,从设备开始准备数据
子周期2:从设备可以发送设备(此时从模块变成了主模块,因为他发起总线占用请求),即从模块申请占用总线,将各种信息送至总线上
分离式通讯特点
- 各个模块都有权申请占用总线
- 采用同步方式通讯,不等对方应答
- 个模块准备数据时,不占用总线
- 总线被占用时,无空闲,充分利用总线带宽