总线
概述
基本概念
一组能为多个部件分时共享的 公共信息传送线路
共享指总线上可以挂接多个部件,各个部件之间相互交换的信息都可以通过这组线路分时共享
分时是指同一时刻只允许有一个部件向总线发送信息,如果系统中有多个部件,则它们只能分时地向总线发送信息
使用总线原因:
早期计算机外部设备少时大多采用分散连接方式,不易实现随时增减外部设备。
为了更好的解决I/O设备和主机之间连接的灵活性问题,计算机的结构从分散连接发展为总线连接。
总线特性
- 机械特性:尺寸,形状,管脚数,排列顺序
- 电气特性:传输方向和有效的平范围
- 功能特性:每根传输线的功能(地址,数据,控制)
- 时间特性:信号的时序关系
- 通信协议
总线的分类和经典结构
分类
按数据传输方式:
- 串行
特点:
-
只需要一根传输线,成本低廉,官方应用于长距离传输;应用于计算机内部时,可以节省布线空间。
-
在数据发送和接收时要进行拆卸和装配,要考虑串行-并行转换的问题。
-
并行
特点:
-
总线的逻辑时序比较简单,电路实现起来比较容易。
-
信号线数量多,占用更多的布线空间;远距离传输成本高昂。
由于工作频率较高时,并行的信号线之间会产生严重的干扰,对每条线等长的要求就越高,所以无法持续提升工作效率。
速度
总线带宽=总线频率X总线宽度
- 工作频率相同时,串行总线传输速度比并行总线慢。
- 并行总线的工作频率无法持续提高,而串行总线可以通过不断提高工作频率来提高传输速度,最终超过并行总线。
按总线功能:
-
片内总线
芯片内部总线
是CPU芯片内部寄存器与寄存器之间,寄存器和ALU之间的公共连接线。
-
系统总线
系统总线是计算机系统内各功能部件(CPU、主存、I/O接口)之间相互连接的总线。按系统总线传输信息内容的不同,又可分为3类:数据总线,地址总线,控制总线。
*数据总线:*传输各功能部件之间的数据信息,包括指令和操作数;位数和机器字长,存储字长有关;双向。
*地址总线:*传输地址信息,包括主存单元或I/O端口地址;位数与主存地址空间大小以及设备数量相关;单向。
*控制总线:*一根控制线传输一个信号;有出:CPU发出的控制命令;有入:主存(或外设)返回CPU的反馈信号。
-
通信总线
用于计算机之间或计算机系统与其他系统(如远程通信设备,测试设备)之间信息传送的总线,通信总线也称外部总线。
系统总线结构
单总线结构
CPU、主存、I/O设备(通过I/O接口)都连接在一组总线上,允许I/O设备之间、I/O设备与CPU等其他任意两者之间直接交换信息。
*注:*一组而不是一条。
**优点:**结构简单、成本低、易于接入新的设备
**缺点:**带宽低、负载重、多个部件只能挣用唯一的总线,且不支持并发传送操作。
双总线结构
双总线结构有两条总线,一条是主存总线,用于CPU、主存和通道之间进行数据传送;另一条是I/O总线,用于多个外部设备与通道之间进行数据传送。
通道是具有特殊功能的处理器,能对I/O设备进行统一管理。通道程序放于主存中。
支持突发传送:送出一个地址,收到多个地址连续的数据
*优点:*将较低速的I/O设备从单总线上分离,实现存储器总线和I/O总线分离。
*缺点:*需要增加通道等硬件设备。
三总线结构
在计算机系统各部件之间采用3条各自独立的总线来构成信息通路,这三条总线分别为主存总线,I/O总线和直接内容访问DMA总线。
*优点:*提高了I/O设备的性能,使其更快地响应命令,提高系统吞吐量。
*缺点:*系统工作效率较低。
性能指标
总线传输周期(总线周期)
一次总线操作所需要的时间(包括申请阶段,寻址阶段,传输阶段和结束阶段),通常由若干个总线时钟周期构成。
总线时钟周期
即机器时钟周期。计算机有一个统一的时钟,以控制整个计算机的各个部件,总线也要受此时钟的控制。
总线工作频率
总线上各种操作的频率,为总线周期的倒数。若总线周期=N个时钟周期,则总线的工作频率=时钟频率/N。
一秒内能传输几次数据
总线时钟频率
即机器时钟周期,为时钟周期的导数。若时钟周期为T,则时钟频率为1/T。
实际上一秒内有多少个时钟周期
总线宽度
总线位宽,是总线上能够传输的数据位数,通常是指数据总线的根数,如32根称为32位(bit)总线。
总线带宽
可以理解为总线的数据传输率,即单位时间内总线上可传输数据的位数,通常用每秒钟传送信息的字节数来衡量,单位可用字节/秒(B/s)表示。
总线带宽 = 总线工作频率X总线宽度(bit/s) = 总线工作频率X(总线宽度/8)(B/s)
总线带宽是指总线本身所能达到的最高传输速率。
在计算实际的有效传输率时,要用实际传输的数据量除以耗时。
总线复用
一种信号线在不同的时间传输不同的信息。可以使用较少的线传输更多的信息,从而节省了空间和成本。
信号线数
地址总线、数据总线和控制总线3种总线数的总和称为信号线数。
总线仲裁
解决多个设备争用总线问题
基本概念
多个主设备同时竞争主线控制权时,以某种方式选择一个主设备优先获得总线控制权称为总线仲裁。
同一时刻只能有一个设备控制总线传输操作,可以有一个或多个设备从总线接收数据。
将总线上所连接的各类设备按其对总线有无控制功能分为:
*主设备:*获得总线控制权的设备。
*从设备:*被主设备访问的设备,只能响应从主设备发来的各种总线命令。
需要仲裁的原因:
总线作为一种共享设备,不可避免地会出现同一时刻有多个主设备竞争总线控制权的问题。
分类
集中仲裁方式
工作流程:
- 主设备发出请求信号
- 若多个主设备同时要使用总线,则由总线控制器的判优,仲裁逻辑按一定的有限等级顺序确定哪个主设备能使用总线。
- 获得总线使用全都主设备开始传输数据。
链式查询方式
总线忙信号由获得总线控制权发出而不是总线控制部件
优先级:
- 离总线控制器越近的部件,其优先级越高;
- 离总线控制器越远的部件,其优先级越低。
特点
- 优先级固定。
- 需要的控制线数少,结构简单,扩容容易。
- 对硬件电路的故障敏感,且优先级无法改变
- 当优先级高的部件频繁使用总线时,会使优先级较低的部件长期不能使用总线。
计数器定时查询方式
用一个计数器控制总线控制权,相对链式查询多了一组设备地址线,少了一根总线响应线BG;仍然共用一根总线请求线。
过程:
当总线控制器收到总线请求信号,判断总线空闲时,计数器开始计数,计数值通过设备地址线发向各个部件。
当地址线上的计数值与请求使用总线设备的地址一致时,该设备获得总线控制权。同时,中止计数器的计数与查询。
特点:
-
计数初值可以改变优先次序
计数每次从"0"开始,设备的优先级就按顺序排列,固定不变;
计数从上一次的终点开始,此时设备使用总线的优先级相等;
计数器的初值还可以由程序设置
-
对电路的故障没有链式敏感
-
增加了控制线数
设备有n个,需要
-
控制相对比链式查询相对复杂
独立请求方式
每一个设备均有一对总线请求线BR和总线允许线BG
当总线上的部件需要使用总线时,经各自的总线请求发送总线请求信号,在总线控制器中排队。
当总线控制器按一定的有限次序决定批准某个部件的请求时,则给该部件发送总线响应信号。
特点
- 响应速度快,总线允许信号BG直接从控制器发送到有关设备,不必在设备间传递或查询。
- 对优先次序的控制相当灵活。
分布仲裁方式
不需要中央仲裁器,每个潜在的主模块都有自己的仲裁器和仲裁号,多个仲裁器竞争使用总线。
总结
操作和定时
设备如何控制总线来完成操作。
总线传输的四个阶段
申请分配阶段
由需要使用总线的主模块(或主设备)提出申请,经总线仲裁机构决定将下一传输周期的总线使用权授予某一申请者。也可将此阶段分为传输请求和总线仲裁两个阶段。
寻址阶段
获得使用权的主设备发出本次要访问从模块地址与有关命令,启动参与本次传输的从模块。
传输模块
主模块和从模块进行数据交换,可单向或双向进行数据传送。
结束阶段
主模块的有关信息均从总线上撤出,让出总线使用权。
总线定时
总线定时是指总线在双方交换数据的过程中需要时间上配合关系的控制,这种控制称为总线定时,他的实质是一种协议或规则。
同步定时方式-读命令
系统采用统一的时钟信号来协调发送和接收双方的传送定时关系。
特点
- 传送速度快,具有较高的传输速率,总线控制逻辑简单。
- 主从设备属于强制性同步,不能及时进行数据通信的有效性检验,可靠性较差。
同步通信适用于总线长度较短及总线所接部件的存取时间比较接近的系统。
异步定时方式
没有统一的时钟与固定时间间隔,完全依靠传送双方相互制约的握手信号来实现定时控制。
主设备提出交换信息的请求信号,经过传送到从设备,从设备接到主设备的请求后,通过接口向主设备发出回答信号。
特点
- 总线周期长度可变,能保障两个工作速度相差很大的部件或设备之间可靠地进行信息交换,自动适应时间的配合。
- 控制方式比同步复杂,速度比同步定时方式慢。
异步定时方式数据传输率
半同步通信
同步 发送方用系统时钟前沿发信号
接收方用系统时钟后沿判断、识别
异步 允许不同速度的模块和谐工作
分离式通信
标准(不重要)
是国际上公布或推荐的互联各个模块的标准,他是把各种不同的模块组成计算机系统时必须遵守的规范。按总线标准设计的接口可视为通用接口,在接口的两端,任何一方只需根据总线标准的要求完成自身方面的功能要求,而无须了解对方接口的要求。
系统总线
局部总线