系统总线 \color{olive}{\huge{系统总线}} 系统总线
总线( B u s Bus Bus):连接各个部件的信息传输线。是各个部件共享的传输介质。任何时刻只能有一对设备使用总线,一对设备使用总线的时候,其他设备只能等待正在使用设备释放总线使用权。
串行传输 \color{red}串行传输 串行传输:支持的距离比较长(机器之间),信号比较稳定,但一次传输的数据比较少。
并行传输 \color{red}并行传输 并行传输:使用多条数据线进行传输,数据线之间会相互影响,故比较适合短距离传输(机器内部),一次传输数据较多。
电脑的各个总线生产趋于专业化,需要指定相关通用的生产标准,以便于不同厂家生产的总线可以兼容在一起。
三总线结构
①:
D M A DMA DMA:(全称)直接存储器访问,外部设备直接访问内存,但是只适用于高速的设备。
②:
局限 \red{局限} 局限:多种速度的设备都连接到了一根扩展总线之上,一定会影响整体的速度。
主设备 ( 模块 ) \color{red}{主设备(模块)} 主设备(模块):对总线有 控制权 \color{blue}{控制权} 控制权,可以提出总线的占用申请,可以控制和另外一台设备之间的通信过程。
从设备 ( 模块 ) \color{red}{从设备(模块)} 从设备(模块): 只能响应 \color{blue}{只能响应} 只能响应从主设备发来的总线命令。
主设备和从设备之间的界面并不十分清楚,一个设备既可以是主设备也可以是从设备。并且一条总线之上也可以有多种主从设备。
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发出总线占用信号,获得总线的使用权
总体流程 \color{blue}{总体流程} 总体流程: I / O I/O I/O设备接口通过 B R BR BR发送占用总线请求,然后设备地址线去查询是哪个设备发出的请求。如果此时对应的设备没有发出请求则计数器自动增加检查下一个设备,直到检查到发送设备为止。最后通过 B S BS BS告知其他部件使用权改变。
舍去了 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}{协调配合} 协调配合的问题。
定义 \color{red}{定义} 定义:主从设备之间完成一次完整的、可靠的通信所花费的时间。
传输周期流程: \color{blue}{传输周期流程}: 传输周期流程:
输入
总体流程 \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{red}{没有同一的运行时标} 没有同一的运行时标。但是在主设备和从设备之间多出来了两条线: 请求线 \color{blue}{请求线} 请求线(主设备发出请求信号)、 应答线 \color{blue}{应答线} 应答线(从设备对主设备发出的信号进行应答)
总体流程 \color{blue}{总体流程} 总体流程:主设备发出请求信号之后,从设备获得了请求信号之后,发出应答信号。当主设备撤销了请求信号,从设备也会撤销应答信号。
特征 \color{red}{特征} 特征:主设备不管是否收到了从设备的应答信号,一段时间之后都会撤销自己的请求信号。从设备也不管主设备是否收到了自己发出的信号,一段之后也会撤销自己的应答信号。 可靠性有很大的问题!!! \color{red}{可靠性有很大的问题!!!} 可靠性有很大的问题!!!
总体流程 \blue{总体流程} 总体流程:主设备向从设备发出请求信号,从设备收到请求信号后发送应答信号, 当主设备收到了应答信号之后才会撤销自己的请求信号 \red{当主设备收到了应答信号之后才会撤销自己的请求信号} 当主设备收到了应答信号之后才会撤销自己的请求信号。一段时间之后从设备也撤销自己的应答信号。
特征 \red{特征} 特征:可靠性提升很多,但是很容易出现主设备没有收到从设备的信号于是一直保持高电平。
总体流程 \blue{总体流程} 总体流程:主设备向从设备发送请求信号,从设备收到后发出应答信号,主设备收到应答信号后撤销自己的请求信号。当从设备收到主设备撤销信号的信息之后,撤销自己的应答信号。
特征 \red{特征} 特征:信号交流十分可靠,传输错发生后也可以重新请求从设备发送响应信息。
异步通信就是靠着 请求 ‾ 和 回答 ‾ 这两个握手信号来进行可靠数据交互的!!! \red{异步通信就是靠着\underline{请求}和\underline{回答}这两个握手信号来进行可靠数据交互的!!!} 异步通信就是靠着请求和回答这两个握手信号来进行可靠数据交互的!!!
同步: \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转换为高电平,继续通过数据总线进行数据传输,最后依次撤销发出的信号。
充分利用系统总线每个时刻。
整体流程: \blue{整体流程:} 整体流程:
特征: \red{特征:} 特征: