一. 为什么要用总线
如果采用两两分散连接(每两个需要通讯的部件采用一条线连接),将有以下缺点:
- 需要的通讯线路将非常庞大
- 将这些线印刷在电路板上的难度非常大,成本非常高
- 设备的接口的空间占用将会非常巨大
- 很难增加新设备,如果需要增加一个新设备,将需要另外的N束线与系统的原模块通讯
为了解决以上问题,所以引入总线
二. 什么是总线
总线是:连接各个部件的信息传输线,是各部件共享的传输介质;
当多个部件与总线相连时,如果两个或两个以上部件同时向总线发送信息,势必导致信息冲突,传输无效,因此,在某一时刻,只允许有一个部件向总线发送信息,而多个部件可以同时从总线上接受相同的信息。
总线简化了硬件的设计,简化了系统结构,使系统扩充性提升,提升了系统的更新性能。
显然,总线将非常繁忙,任何时刻只有一对设备能使用总线,其他设备想要通讯必须等待总线处理完正在进行的通讯
缺点:总线的使用效率是整个系统的一个瓶颈
优点:结构简单,可拓展性非常好
三. 总线上信息的传送
串行 :要传输的的信息一位一位的放在总线上去,接收方一位一位的接收
▬ ▬ ▬ ▬ ▬ ▬ ▬ ▬ ▬ ▬ ▬ ▬ ▬ ▬ ▬ ▬ ▬ ▬ ▬ ▬ ▬ ▬ ▬
并行:要传输的信息多位同时放在总线上传输,接收方同时接收多位信息
〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓
〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓
〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓 〓
并行传输方式需要多位总线进行传输,如果传输距离较远,平行的线互相之间存在干扰;所以并行传输的距离一般较短,比如集中在机箱的内部;如果想要并行传输较远,需要特殊的技术措施,但目前并行传输技术遭遇发展困境
串行传输在机器与机器之间
从技术发展的情况来看,串行传输方式大有彻底取代并行传输方式的势头,USB取代IEEE 1284,SATA取代PATA,PCI Express取代PCI
四. 总线结构的计算机举例
-
单总线结构框图
存在的问题:
①如果一个I/O设备在和主存进行通讯,那么CPU将无法与主存通讯,这将严重影响CPU运行效率
②如果设备较多,那么总线长度将过长,时间延迟会比较长
③设备之间的总线争用 -
面向CPU的双总线结构框图
存在的问题:
主存和I/O设备之间的信息传输没有直接的连接,需要占用CPU -
以存储器为中心的双总线结构框图
技术瓶颈:现在技术水平下,主存的两个总线端口不能同时工作;虽然现在有双口的RAM,但是也是分时工作的
随着技术的发展,期望以后主存能同时向系统总线和存储总线进行信息传输
总线的分类按不同的分类标准:
-
片内总线:芯片内部的总线
-
系统总线:计算机各部件之间的信息传输线
①数据总线:双向,与机器字长、存储字长有光
②地址总线:单向,与存储地址、I/O地址有关
③控制总线:有出(存储器读写,总线允许、中断确认) 有入(中断请求、总线请求) -
通信总线:用于计算机系统之间或计算机系统与其他系统(如控制仪表、移动通信等)之间的通信
一. 总线物理实现
二. 总线特性
- 机械特性:尺寸、形状、管脚数 及 排列顺序
- 电气特性:传输方向和有效的电平范围
- 功能特性:每根传输线的功能 地址 数据 控制
- 时间特性:信号的时序关系
三. 总线的性能指标
- 总线宽度:数据线的根数
- 标准传输率:每秒传输的最大字节数(MBps)
- 时钟同步/异步
- 总线复用:地址线与数据线复用(减少总线中信号线的数量,减少芯片的管脚数)
- 信号线数:地址线、数据线和控制线的总和
- 总线控制方式:突发、自动、仲裁、逻辑、计数
- 其他指标:负载能力
四. 总线标准
一. 单总线结构
问题突出,需要改良
二. 双总线结构
三. 三总线结构
DMA:Direct Memory Access,直接存储器访问
主存的性能提升跟不上CPU的性能提升,所以增加了一个高速Cache
问题:高速设备和低速设备共用总线
四. 四总线结构
高速设备和低速设备分开,数据传输效率更高
五. 总线结构举例
PCI是并行传输,PCI-E命名为PCIExpress,Express意思是高速、特别快。
PCI-E采用了点对点串行连接,能提供更高的传输速率和质量,大有取代PCI之趋势。
并行传输即字符编码的各位同时传输。并行传输速度快,一位时间内可传输一个字符,但通信成本高,每位传输要求一个单独的信道支持;因此如果一个字符包含8个二进制位,则并行传输要求8个独立的信道的支持。而且并行不支持长距离传输,由于信道之间的电容感应,远距离传输时,可靠性较低。
串行传输是将组成字符的各位串行发往线路。串行传输速度较低,一次一位;不过通信成本也较低,只需一个信道。串行支持长距离传输,目前计算机网络中所用的传输方式均为串行传输
总线控制总线上连接了多个设备,设备之间的通讯必须解决一下两个问题:
- 总线的判优控制:多个设备可能同时向总线发出占用请求,到底谁先优先使用呢?
- 保证通讯的正确性
- 主设备(模块):对总线有控制权
- 从设备(模块):响应从主设备发来的总线命令
- 总线判优控制方法:
①集中式:链式查询、计数器定时查询、独立请求方式
②分布式:
缺点:
①BG这条线是逐个向下进行查询的,如果某个设备排的靠后,那么优先级将很低,可能总线占用请求将很长时间内得不到应答
②同时,查询的速度非常慢,需要一个一个的往下查询
③对线路故障特别敏感,如果某个I/O接口出现故障,那么后面的所有接口也无法使用
优点:
①结构特别简单,和总线仲裁相关的线主要就是BS BR BG这三条;
②增删设备简单,直接往后排就可以了
③优先级算法简单
④可靠性设计容易实现,比如只需BR增加一条线,确保万一BR线出现故障,另一条可以正常使用
基于以上优缺点,这种判优方式一般出现在微型计算机,简单的嵌入式系统当中
计数器定时查询方式
当I/O接口通过BR向总线发出占用请求时,如果总线有空,那么就启用计数器,假如此时计数器的值为4,那么总线控制通过设备地址线查询接口4是否发出请求,如果没有,计数器+1 = 5,查询接口5,+1 … +1 … +1 直到查询到发出过请求的接口
优点:
接口的优先级非常灵活,比如计数器初值可以灵活设置,用软件设置为K,那么每次都是从接口K开始查询,接口K的优先级最高;比如计数器的值为上一次的值,那么将会是循环优先级
每个接口都有一条独立的BR线,一条独立的BG线,优先级的排队在总线控制部件内部实现
优点:优先级非常灵活,内部排队器可以自己设置
缺点:线数较多



