系统总线 \color{olive}{\huge{系统总线}} 系统总线
总线
Ⅰ. 基本概念
总线( B u s Bus Bus):连接各个部件的信息传输线。是各个部件共享的传输介质。任何时刻只能有一对设备使用总线,一对设备使用总线的时候,其他设备只能等待正在使用设备释放总线使用权。
Ⅱ. 总线上的信息传送
串行传输
\color{red}串行传输
串行传输:支持的距离比较长(机器之间),信号比较稳定,但一次传输的数据比较少。
并行传输
\color{red}并行传输
并行传输:使用多条数据线进行传输,数据线之间会相互影响,故比较适合短距离传输(机器内部),一次传输数据较多。
Ⅲ. 总线结构的计算机举例
- 单总线结构框图
局限性 \color{red}{局限性} 局限性:对于总线来讲同时只能有一堆设备使用总线,①. 如果主存正在向外输入或者外部设备向主存进行输入,那么 C P U CPU CPU与主存之间的操作就会被迫停止。②. 并且如果外部设备较多,主存与远端的外部设备进行数据交换的时候会有很长的延时。 - 面向
C
P
U
CPU
CPU的双总线结构图
局限性 \red{局限性} 局限性:如果外部设备与主存进行数据交换的话, C P U CPU CPU处于中心位置,那么 C P U CPU CPU的计算任务会大大增大。 - 以存储器位中心的双总线结构框图
相比于前两种已经优化很多了,但是现有的技术仍然无法使得同时使用系统总线和存储总线。
Ⅲ. 总线的分类
- 片内总线: 芯片内部 \blue{芯片内部} 芯片内部的总线。
- 系统总线:
计算机各个部件之间
\blue{计算机各个部件之间}
计算机各个部件之间的信息传递线。
由传递的信息的不同可以继续向下进行区分:
①. 数据总线: 双向 \blue{双向} 双向 与机器字长、存储字长有关,一般情况下数据总线越多机器分析数据的能力越强。
②. 地址总线: 单向 ( 由 C P U 或者主设备发出的 ) \blue{单向(由CPU或者主设备发出的)} 单向(由CPU或者主设备发出的) 与存储地址、 I / O I/O I/O地址有关。
③. 控制总线: 有出有入但只有一种情况 \blue{有出有入但只有一种情况} 有出有入但只有一种情况 传输操作命令。
- 通信总线
用于连接计算机系统之间或者计算机系统与其他系统之间的通信。
Ⅳ. 总线特性以及性能指标
①. 总线物理实现
②. 总线特性
③. 总线的性能指标
④. 总线标准
电脑的各个总线生产趋于专业化,需要指定相关通用的生产标准,以便于不同厂家生产的总线可以兼容在一起。
Ⅴ. 总线结构
-
双总线结构
通道:一般有自己的控制器,有自己的指令系统,可以执行简单的专属于自己的指令。通常情况下是由操作系统编写的。 -
三总线结构
①:
D M A DMA DMA:(全称)直接存储器访问,外部设备直接访问内存,但是只适用于高速的设备。
②:
局限 \red{局限} 局限:多种速度的设备都连接到了一根扩展总线之上,一定会影响整体的速度。 -
四总线结构
高速设备连接到告诉设备,低速设备用扩展总线。高速设备与低速设备分开运行,综合效率更高。
Ⅵ. 总线控制
①. 总线判优控制
1. 基本概念
主设备
(
模块
)
\color{red}{主设备(模块)}
主设备(模块):对总线有
控制权
\color{blue}{控制权}
控制权,可以提出总线的占用申请,可以控制和另外一台设备之间的通信过程。
从设备
(
模块
)
\color{red}{从设备(模块)}
从设备(模块):
只能响应
\color{blue}{只能响应}
只能响应从主设备发来的总线命令。
💥💥💥主设备和从设备之间的界面并不十分清楚,一个设备既可以是主设备也可以是从设备。并且一条总线之上也可以有多种主从设备。
2. 链式查询方式
B
R
\color{red}{BR}
BR:总线请求,所有的设备都通过这条线发出总线占用的请求。
B
S
\color{red}{BS}
BS:设备占用主线之后,通过
B
S
BS
BS发出信号告知。
B
G
\color{red}{BG}
BG:总线授权线,一个一个向下进行查询(链式查询体现)。
💥💥💥💥 总体流程 \color{blue}{总体流程} 总体流程: I / O I/O I/O接口设备首先通过 B R BR BR发出总线占用请求,之后 B G BG BG进行逐个查询哪一个设备发出了占用请求,找到了该设备使用 B S BS BS发出总线占用信号,获得总线的使用权
特征
- 查询优先级与 B G BG BG的查询方式有着直接的关系。
- 对于电路的故障非常的敏感,只要有一个接口出现故障,后面的设备都无法再获得授权信号。
- 结构简单优先仲裁只有这么三条线,比较容易实现,维护比较容易。
- 查询速度比较慢。
3. 计数器定时查询
构造上将
B
G
BG
BG替换为设备地址线。
💥💥💥💥 总体流程 \color{blue}{总体流程} 总体流程: I / O I/O I/O设备接口通过 B R BR BR发送占用总线请求,然后设备地址线去查询是哪个设备发出的请求。如果此时对应的设备没有发出请求则计数器自动增加检查下一个设备,直到检查到发送设备为止。最后通过 B S BS BS告知其他部件使用权改变。
特征
- 优先级确定非常的灵活,仅仅改变计数器的初始值和更新方法就可以自由改变优先级。
- 设备地址线的线数为 ⌈ l o g 2 n ⌉ \lceil log_{2}n \rceil ⌈log2n⌉,如果设备比较多的话,那么对应需要的设备地址线条数也就会相应增多。
- 如果一个设备发生故障,后续的设备仍然可以获得主线使用权,增加了电路的安全性。
- 查询方式还是链式查询故查询速度还是比较慢。
4. 独立请求方式
舍去了
B
S
BS
BS线。
独立请求方式
\color{red}{独立请求方式}
独立请求方式:独立就独立在对于每一个
I
/
O
I/O
I/O设备都配备了一套设备(
B
G
i
、
B
R
i
BG_{i}、BR_{i}
BGi、BRi),每个设备申请的时候就不会产生干预。在总线控制部件内部有一个
排队器
\color{violet}{排队器}
排队器,这个设备用于确定授权优先级。不再需要
B
S
BS
BS在去向其他设备发送总线占用信息了。
💥💥💥💥 总体流程 \color{blue}{总体流程} 总体流程:多个 I / O I/O I/O设备发送总线占用请求,通过对应所有的 B R BR BR传递到总线控制部件之中。内部的 排队器 \color{violet}{排队器} 排队器通过预设定的优先级,对所有的信号进行排序,将优先级最高的信号对应的设备通过对应的 B G BG BG线进行总线授权。
②. 总线的通信控制
目的 \color{red}{目的} 目的:解决通信双方 协调配合 \color{blue}{协调配合} 协调配合的问题。
1. 总线传输周期
定义 \color{red}{定义} 定义:主从设备之间完成一次完整的、可靠的通信所花费的时间。
传输周期流程:
\color{blue}{传输周期流程}:
传输周期流程:
2. 总线通信四种方式
(1). 同步式数据输入/输出
输入
💥💥💥💥
总体流程
\color{blue}{总体流程}
总体流程:
T
1
T_{1}
T1上升沿的时候主设备给出地址信号。
T
2
T_{2}
T2上升沿的时候从设备获得读命令信号,表示主设备要开始从从设备读取信息。
T
3
T_{3}
T3上升沿从设备通过数据总线给出数据的信号。
T
4
T_{4}
T4上升沿撤销数据与控制信号。最后撤销地址信号。
🐳🐳🐳🐳 注意 \color{red}{注意} 注意:
- 同步式数据传输必须有定宽定距的 时距 \color{olive}{时距} 时距。
- 每个操作都必须精确的在时钟沿进行。( 规定的时间干规定的事!! \color{red}{规定的时间干规定的事!!} 规定的时间干规定的事!!)
输出
具体流程与输入过程相似。
💥💥💥💥同步方式特征
在同步方式中所有的从模块都使用同一个时标来进行控制,并且本身设备构造的设计使得主从模块强制速度同步,多个速度不同的模块,设计的时候必须选择速度最慢的那个模块。应用在主线长度短,各个模块存取时间比较一致的情况。
(2). 异步通信
因为操作是异步进行的,所以 没有同一的运行时标 \color{red}{没有同一的运行时标} 没有同一的运行时标。但是在主设备和从设备之间多出来了两条线: 请求线 \color{blue}{请求线} 请求线(主设备发出请求信号)、 应答线 \color{blue}{应答线} 应答线(从设备对主设备发出的信号进行应答)
不互锁传输方式
💥💥💥💥
总体流程
\color{blue}{总体流程}
总体流程:主设备发出请求信号之后,从设备获得了请求信号之后,发出应答信号。当主设备撤销了请求信号,从设备也会撤销应答信号。
🐳🐳🐳🐳 特征 \color{red}{特征} 特征:主设备不管是否收到了从设备的应答信号,一段时间之后都会撤销自己的请求信号。从设备也不管主设备是否收到了自己发出的信号,一段之后也会撤销自己的应答信号。 可靠性有很大的问题!!! \color{red}{可靠性有很大的问题!!!} 可靠性有很大的问题!!!
半互锁传输方式
💥💥💥💥
总体流程
\blue{总体流程}
总体流程:主设备向从设备发出请求信号,从设备收到请求信号后发送应答信号,
当主设备收到了应答信号之后才会撤销自己的请求信号
\red{当主设备收到了应答信号之后才会撤销自己的请求信号}
当主设备收到了应答信号之后才会撤销自己的请求信号。一段时间之后从设备也撤销自己的应答信号。
🐳🐳🐳🐳 特征 \red{特征} 特征:可靠性提升很多,但是很容易出现主设备没有收到从设备的信号于是一直保持高电平。
全互锁传输方式
💥💥💥💥
总体流程
\blue{总体流程}
总体流程:主设备向从设备发送请求信号,从设备收到后发出应答信号,主设备收到应答信号后撤销自己的请求信号。当从设备收到主设备撤销信号的信息之后,撤销自己的应答信号。
🐳🐳🐳🐳 特征 \red{特征} 特征:信号交流十分可靠,传输错发生后也可以重新请求从设备发送响应信息。
异步通信就是靠着 请求 ‾ 和 回答 ‾ 这两个握手信号来进行可靠数据交互的!!! \red{异步通信就是靠着\underline{请求}和\underline{回答}这两个握手信号来进行可靠数据交互的!!!} 异步通信就是靠着请求和回答这两个握手信号来进行可靠数据交互的!!!
(3). 半同步通信( 同步 + 异步 \red{同步+ 异步} 同步+异步)
同步: \color{olive}{同步:} 同步: 发送方 \color{red}{发送方} 发送方用系统始终 前沿 \color{red}{前沿} 前沿发信号, 接收方 \purple{接收方} 接收方用系统时钟 后沿 \purple{后沿} 后沿判断、识别。
异步:
\color{olive}{异步:}
异步:增加一个
等待信号
\red{等待信号}
等待信号,兼容不同速度的模块和谐工作。
💥💥💥💥
整体流程:
\blue{整体流程:}
整体流程:
T
1
T_{1}
T1时
C
P
U
CPU
CPU通过地址总线给出地址,在第二个周期
T
2
T_{2}
T2到来的时候
C
P
U
CPU
CPU给出读命令,之后
W
A
I
T
WAIT
WAIT线进行判断数据提供方是否已经准备好了数据,若没有准备好,则将
W
A
I
T
WAIT
WAIT信号置成低电平,表示没有准备好,让
C
P
U
CPU
CPU进行等待,当准备好的时候,
W
A
I
T
WAIT
WAIT转换为高电平,继续通过数据总线进行数据传输,最后依次撤销发出的信号。
(4). 分离式通信
充分利用系统总线每个时刻。
💥💥💥💥
整体流程:
\blue{整体流程:}
整体流程:
🐳🐳🐳🐳
特征:
\red{特征:}
特征:
- 各个模块都有权力申请占用总线。
- 采用同步方式通信,不等对方的回答。
- 各个模块准备数据的时候,不占用总线
- 总线被占用的时候,没有空闲时间。