第3章:系统总线
总线结构计算机举例
(1)面向CPU的双总线结构框图(不常用)

I/O总线和I/O设备之间用I/O接口连接。
缺点:访问主存须经过CPU
(2)单总线结构框图(不常用)

优点:访问主存无需经过CPU
缺点:传输数据时完全占用了总线,CPU无法工作。
(3)以存储器为中心的双总线结构框图

优点:传输数据时CPU仍然可以工作。
总线的分类
(1)片内总线
芯片内部的总线
(2) 系统总线/板间总线
计算机各部件之间的信息传输线,包括三部分:
- 数据总线:双向,与机器字长、存储字长有关
- 地址总线:单向,与存储地址、I/O地址有关
- 控制总线:有出有入
出:存储器读、存储器写、总线允许、总线确认
入:中断请求、总线请求
(3) 通信总线(很少)
用于计算机系统之间或计算机系统与与其他系统之间的通信,包括:
- 串行通信总线
- 并行通信总线
总线特性
- 机械特性
- 电气特性
- 功能特性
- 时间特性
总线结构
单总线结构

缺点显而易见,一个I/O设备就把系统总线给占了,所以引入了双总线结构。
双总线结构

将总线分为:
- 主存总线
- I/O总线
注意
通道不是一个端口,而是一个具有特殊功能的处理器。上世纪的术语翻译很容易误解人
三总线结构
三总线有两种形式
第一种形式:

DMA总线以数据块为单位进行传送
高速外设:指硬盘一类的I/O设备
第二种形式:

在扩展总线上挂一些慢速的I/O设备。
四总线结构

高速总线:搭载高速通讯设备
低速设备仍然通过扩展总线接口挂载到扩展总线上。
计算机系统的演变趋势
其实从总线结构的演变,也看出了计算机系统和操作系统的趋势:按照设备的速度进行分层管理;越靠近CPU的层级速度越快。
PCI总线结构

计算机系统至今仍在遵循该标准。
总线控制
计算机总线具有独占性,最多只允许一个发送设备在主线上发送信息(不过接收设备可以有多个)。所以要强调总线的控制权。
总线判优控制
用于确定按什么样的等级顺序确定哪个主设备能使用总线。
主设备:对总线有控制权
从设备:相应从主设备发来的总线命令。
链式查询方式

三根总线:
- 地址线是单向的
- 数据线是双向的
- 控制线有入有出,但单根只有一根方向。
总线控制:
BS:总线忙
BR:总线请求
BG:总线同意
具体流程:
- I/O接口1想要占用总线,发送BR(总线请求)
- 总线为了判断当前总线是否空闲,接收BS(总线忙)
- 若BS=0,则总线发送BG(总线同意)至I/O接口0;
- I/O接口0发给I/O接口1;不断传给下一个I/O接口,所以叫链式查询
- I/O接口1收到BG后,发送BS=1,停止发送BR,开始占用总线。
- 在I/O接口1占用总线时,若其他I/O接口发送BR至总线控制部件,此时总线检测BS=1(总线忙),控制部件不响应BG,直到I/O接口1释放总线。
优点:
- 简单,只需要几根线就能按一定的优先次序实现总线控制
- 很容易扩充I/O设备
缺点:
- 对电路故障敏感,一个设备崩溃,后面优先级低的设备全部崩溃。
- 优先级别低的设备很难获得请求。
计数器定时查询

在总线控制部件中增加了计数器。
线路介绍:
- 数据线
- 地址线
- 设备地址线
流程:
- I/O接口1想要占用总线,发送BR(总线请求)
- 总线判断BS,若BS=0,开始下一步
- 总线控制部件的计数器开始计数,通过设备地址线向各设备发送地址信号
- 某个设备的设备地址=计数值时,该设备获得总线使用权,此时终止计数查询。
优点:
- 循环方法,设备优先级相等
- 计数器的初始值可由程序控制,故优先次序可以改变。
- 对电路故障不如链式查询方式敏感(一个I/O设备坏了,不影响其他设备)
缺点:
- 控制线增加,不易控制
独立请求方式

在总线控制部件中增加了排队器。设备之间的优先级由排队器确定,按照设置好的顺序挨个查询。
线路介绍:每个设备都有一对这两条线
- BG(总线同意)
- BR(总线请求)
优点:
- 响应速度快
- 优先次序控制灵活
缺点:
- 控制线数量多,总线控制更复杂
总线通信控制
目的:解决通信双方协调配合的问题
总线通信的四种方式
- 同步通信
- 异步通信
- 半同步通信
- 分离式通信
同步通信
同步式数据输出

同步式数据输入

异步通信
应答方式:
- 不互锁
- 半互锁
- 全互锁
不互锁 | 半互锁 | 全互锁 |
---|---|---|
![]() | ![]() | ![]() |
主模块发出请求信号后,不必等待接到从模块的回答信号,便撤销其请求信号 | 主模块发出请求信号,必须待接到从模块的回答信号后再撤销其请求信号;但从模块隔一段时间后自动撤销其回答信号 | 双方有两次锁定 |
不可靠 | 能够保证一对一通信;三次握手信号 |
Comments | NOTHING