导图社区 第三章 系统总线
计算机408 计算机组成原理 第三章 系统总线,计算机系统的五大部件之间的互连方式有两种,一种是各部件之间使用单独的连线,称为分散连接;另一种是将各部件连到一组公共信息传输线上,称为总线连接。
编辑于2023-03-24 16:49:55 山西第三章 系统总线
3.1 系统总线的概念
计算机系统的五大部件之间的互连方式有两种,一种是各部件之间使用单独的连线,称为分散连接;另一种是将各部件连到一组公共信息传输线上,称为总线连接
早期计算机
人们希望随时增添或删减设备,由此出现了总线连接方式
总线
特点
分时
同一时刻只允许一个部件向总线发送信息
共享
总线上可以挂接多个部件,各个部件之间互相交换的信息都可以通过这组线路分时共享
类型
单总线结构
CUP工作效率提升,但是可能会发生冲突
面向CPU的双总线结构
会影响CPU的工作效率
以存储器为中心的双总线结构
即提高了传输效率,又减轻了系统总线的负担,还保留了I/O设备与存储器交换信息时不经过CPU的特点
3.2 总线的分类
按照连接部位不同分类
片内总线
片内总线是指芯片内部的总线,如在CPU芯片内部,寄存器与寄存器之间、寄存器与算逻单元ALU之间都由片内总线连接
系统总线
CPU、主存、I/O设备各大部件之间的信息传输线。由于这些部件通常都安放在主板或各个插件版(插卡)上,故又称板级总线(在一块电路板上各芯片间的连线)或板间总线。
按照系统总线传输信息的不同分类
数据总线
传输各功能部件之间的数据信息,它是双向传输总线,其位数与机器字长、存储字长有关。
数据总线的位数称为数据总线宽度,它是衡量系统性能的一个重要参数
如果数据总线的宽度为8位,指令字长为16位,那么CPU在取指阶段必须两次访问主存
地址总线
指出数据总线上的源数据或目的数据在主存单元的地址或I/O设备的地址
地址总线上的代码是用来指明CPU欲访问的存储单元或I/O端口的地址,由CPU输出,单向传输。
地址总线的位数与存储单元的个数有关
控制总线
如何使各部件能在不同时刻占有总线使用权,需依靠控制总线完成, 因此控制总线是用来发出各种控制信号的传输线
通信总线
计算机系统之间或计算机系统与其他系统之间的通信
按照传输方式分类
串行通信
数据在单条1位宽的传输线上,一位一位地按顺序分时传送
远距离传送
还可以利用现有的电话网络实现远程通信,降低了通信费用
并行通信
数据在多条并行1位宽的传输线上,同时由源传送到目的地
适宜于近距离的数据传输
传输速率与距离成反比
3.3 总线特性以及性能指标
总线结构的物理实现
图中CPU、主存、I/O这些插板通过插头与水平方向总线插槽(按总线标准用印刷电路板或一束电缆连接而成的多头插座)连接
为了保证机械上的可靠连接,必须规定其机械特性; 为了确保电器上的正确连接,必须规定其电气特性; 为保证正确地连接不同部件,还需规定其功能特性和时间特性
总线特性
机械特性
总线在机械连接方式上的一些性能
如插头与插座使用的标准,它们的几何尺寸、形状、引脚的个数以及排列的顺序,接头处的可靠接触等
电气特性
总线的每一根传输线上信号的传递方向和有效的电平范围
由CPU发出的信号称为输出信号,送入CPU的信号称为输入信号
例如地址总线属于单向输出线,数据总线属于双向传输线,它们都定义为高电平为 1 ,低电平为 0 。 控制总线的每一根都是单向的,但从整体看,有输入,也有输出。 有的定义为高电平有效,有的定义为低电平有效,必须注意不同的规格
功能特性
总线中每根传输线的功能
时间特性
总线中的任一根线在什么时间内有效。
每条总线上的各种信号互相存在一种有效时序的关系,因此时间特性一般可用信号时序图来描述
总线性能指标
总线宽度
数据总线的根数,用bit(位)表示
总线带宽
总线的数据传输速率,即单位时间内总线上传输数据的位数
通常用每秒传输信息的字节数来衡量,单位为MBps(兆每字节)
时钟同步/异步
总线上的数据与时钟同步工作的总线称为同步总线,与时钟不同步工作的总线称为异步总线
总线复用
一条信号线上分时传送两种信号
可以将地址总线和数据总线共用一组物理线路, 在这组物理线路上分时传送地址信号和数据信号,即为总线的多路复用
信号线数
地址总线、数据总线、控制总线三种总线数的总和
总线控制方式
突发工作
自动配置
仲裁方式
逻辑方式
计数方式
其他指标
负载能力
即驱动能力,是指当总线接上负载后,总线输入输出的逻辑电平是否能保持在正常的额定范围
通常用可连接扩增电路板数反映总线的负载能力
电源电压(5V还是3.3V)
总线宽度能否扩展
总线标准
ISA总线
EISA总线
VESA(VL-BUS)总线
PCI总线
PCI集团
特点
高性能
良好的兼容性
支持即插即用
支持多主设备能力
具有与处理器和存储器子系统完全并行操作的能力
提供数据和地址奇偶校验功能,保证了数据的完整和准确
支持两种电压标准
可扩充性好
软件兼容性好
采用多路复用技术,减少了总线引脚个数
AGP总线
RS-232C总线
USB总线
3.4 总线结构
单总线结构
结构简单,便于扩充
CUP工作效率提升,但是可能会发生冲突
在数据传输需求量和传输速度要求不太高的情况下,为克服总线瓶颈问题,尽可能采用增加总线宽度和提高传输速率来解决
多总线结构
双总线结构
将速度较低的I/O设备从单总线上分离出来,形成主存总线与I/O总线分开的结构
通道是一个具有特殊功能的处理器,CPU将一部分功能下放给通道,使其对I/O设备具有统一管理的功能,以完成外部设备与主存储器之间的数据传送,其系统的吞吐能力可以相当大
三总线结构
如果将速率不同的I/O设备进行分类,然后将它们连接在不同的通道上,那么计算机的工作效率会更高,由此发展成多总线结构
在三总线结构中,任一时刻只能用一种总线
三总线结构三总线结构的又一形式
四总线结构
又增加了一条与计算机系统紧密相连的高速总线
这种结构对高速设备而言,其自身的工作可以很少依赖CPU,同时它们又比扩展总线上的设备更贴近CPU,可见对于高性能设备与CPU来说,各自的效率将获得更大的提高
总线结构举例
传统微型计算机的总线结构
VL-BUS局部总线结构
PCI总线结构
多层PCI总线结构
3.5 总线控制
总线上连接着多个设备,什么时候由哪个部件发送信息,如何给信息传送定时,如何防止信息丢失,如何避免多个部件同时发送,如何规定接收信息的部件等一系列问题都需要由总线控制器统一管理
总线判优控制
总线上所连接的各类设备,按其对总线有无控制功能可分为
主设备
对总线有控制权
从设备
只能响应从主设备发来的总线命令,对总线没有控制权
总线判优控制
集中式
将控制逻辑集中在一处(如CPU)
分类
链式查询
控制总线中有3根用于总线控制
BG总线同意
串行地从一个I/O接口送到下一个I/O接口
如果BG到达的接口有总线请求,BG信号就不再往下传,意味着该接口获得了总线使用权 并建立总线忙BS信号,表示它占用了总线
BS总线忙
BR总线请求
特点
只需要很少几根线就能按一定优先次序实现总线控制,并且很容易扩充设备,但对电路故障敏感,且优先级别低的设备可能很难获得请求
计数器定时查询
工作流程
与链式查询相比多了一组设备地址线,少了一根总线同意线BG
总线控制部件接到由BR送来的总线请求信号后,在总线未被使用(BS=0)的情况下, 总线控制部件中的计数器开始计数,并通过设备地址线,向各设备发出一组地址信号。 当某个请求占用总线的设备地址与计数值一致时,便获得总线使用权。
特点
计数可以从 0 开始,此时一旦设备的优先次序被固定,设备的优先级就按0,1,,,,n 的顺序降序排列,且固定不变; 计数也可以从上一次计数的终止点开始,即是一种循环方法
设备的优先级相等
优先次序可以改变
此方式对电路故障不如链式查询方式敏感,但增加了控制线(设备地址)数,控制也较复杂
独立请求方式
每一台设备均有一对总线请求线BRi和总线同意线BGi
当设备要求使用总线时,便发出该设备的请求信号
总线控制部件中有一排队电路,可根据优先次序确定响应哪一台设备的请求
特点
响应速度快
优先次序控制灵活
控制线数量多,总线控制更复杂
分布式
将控制逻辑分散在与总线连接的各个部件或设备上
总线通信控制
众多部件共享总线,在争夺总线使用权时,应按各部件的优先等级来解决
在通信时间上,则应按照分时方式来处理,即以获得总线使用权的先后顺序分时占用总线, 即哪一个部件获得使用权,此刻就由它传送,下一部件获得使用权,接着下一时刻传送。
总线周期
申请分配阶段
由需要使用总线的主模块(主设备)提出申请,经总线仲裁机构决定下一传输周期的总线使用权授于某一申请者
寻址阶段
取得了使用权的主模块通过总线发出本次要访问的从模块(或从设备)的地址及有关命令,启动参与本次传输的从模块。
传数阶段
主模块和从模块进行数据交换,数据由源模块发出,经数据总线流入目的模块
结束阶段
主模块的有关信息均从系统上撤除,让出总线使用权
对于一个仅含有主模块的简单系统,无需申请、分配和撤除,总线使用权始终归他占有。对于包含中断、DMA控制或多处理器的系统,还需要有其他管理机构来参与
总线通信控制
主要解决通信双方如何获知传输开始和传输结束,以及通信双方如何协调如何配合
方式
同步通信
通信双方由统一时标控制数据传送称为同步通信。
时标通常由CPU的总线控制部件发出,送到总线上的所有部件;也可以由每个部件各自的时序发生器发出,但必须由总线控制部件发出的时钟信号对它们进行同步
图中总线传输周期是连接在总线上的两个部件完成一次完整且可靠的信息传输时间,它包含4个时钟周期
对四个时钟周期都有明确、唯一的规定
特点
规定明确、统一,模块间的配合简单一致。
主、从模块时间配合属于强制性 同步 ,必须在限定时间内完成规定的要求,并且对所有从模块都用同一限时,这就造成对各不相同速度的部件而言,必须按照最慢速度的部件来设计公共时钟,严重影响总线的工作效率,也给设计带来了局限性,缺乏灵活性。
异步通信
克服同步通信的缺点,允许各模块速度的不一致性,给设计者充分的灵活性和选择余地
他没有公共的时钟标准,不要求所有部件严格的统一操作时间,而是采用应答方式, 即当主模块发出请求信号时,一直等待从模块反馈回来响应信号后,才开始通信。 当然这就要求主、从模块之间增加两条应答线(握手交互信号线)
应答方式
不互锁
主模块发出请求信号后,不必等待接到从模块的回答信号,而是经过一段时间,确认从模块已收到请求信号后,便撤销其请求信号;
从模块接到请求信号后,在条件允许时发出回答信号,并且经过一段时间确认主模块已收到回答信号后,自动撤销回答信号
半互锁
主模块发出请求信号,必须待接到从模块的回答信号后再撤销其请求信号有互锁关系
而从模块在接到请求信号后发出回答信号,但不必等待获知主模块的请求信号已经撤销,而是隔一段时间后自动撤销其回答信号,无互锁关系
全互锁
主模块发出请求信号,必须待接到从模块的回答信号后再撤销其请求信号有互锁关系
而从模块在接到请求信号后发出回答信号,必须等待获知主模块的请求信号已经撤销后,再撤销其回答信号,有互锁关系
半同步通信
既保留了同步通信的基本特点,如所有的地址,命令、数据信号的发出时间,都严格参照系统时钟的某个前沿开始,,而接收方都采用系统时钟后沿时刻来进行判断识别;
同时又像异步通信那样,允许不同速度的模块和谐地工作
为此增设了一条等待响应信号线,采用插入时钟(等待)周期的措施来协调通信双方的配合问题
分离式通信
将一个传输周期(或总线周期)分解为两个子周期。
第一个子周期
主模块A在获得总线使用权后将命令、地址以及其他有关信息,包括该主模块编号发送到系统总线上,经过总线传播后,由有关的从模块B接收下来。
主模块A向系统总线发布这些信息只占用总线很短的时间,一旦发送完,立即放弃系统总线使用权以便其他模块使用
第二个子周期
当模块B收到模块A发来的有关命令信号后,经选择、译码、读取等一系列内部操作,将A模块所需的数据准备好,便由B模块申请总线使用权,一旦获准,B模块便将A模块的编号、B模块的地址、A模块所需要的数据等一系列信息送到总线上,供A模块接收。
两个传输子周期都只有单方向的信息流,每个模块都变成了主模块