1.总线的概念
计算机系统的五大部件的互连方式有两种, 一种是各部件之间用单独的连线, 称之为"分散链接" 另外一种是将各部件连接到一组公共信息的传输线上, 称之为"总线连接". 因此, 两个或以上的部件同时向总线传输信息, 就会导致信号冲突而传输无效. 因此在某一时刻, 只允许一个部件向总线发哦是那个信息, 而允许多个部件同时接受到相同的信息.
2.总线的分类.
分类方式有很多种, 以下就按照连接部件的不同, 将总线分为三类.
片内总线, 系统总线, 通信总线.
2.3.片内总线
片内总线指的是芯片内部的总线, 估计就是"分散链接"把.
2.4.系统总线
以下按照传输信息的不同, 把系统总线分三类
数据总线, 地址总线, 控制总线
数据总线: 用来传输 各个功能部件之间的数据信息, 进行双向传递, 其位数与机器字长, 存储字长有关.
地址总线: 主要用来指出数据总线上的 源数据和目的数据 在存储单元中的地址. 地址总线的位数与存储单元的个数有关, 如地址线为20根, 则对应的存储单元个数为2^20.
控制总线: 由于数据总线和地址总线总是挂在总线上共享的, 所以如何使各个部件能够在不同的时刻占有总线使用权. 就是需要通信总线来完成. 它进行单向传递, 另外, 他也能起到监视各个部件状态的功能. 例如, 查询该设备"busy" "free" 是否出错等等功能.
2.5.通信总线
用于计算机系统之间 "或" 计算机系统与其他系统之间的信息交互.
3.总线特性
1.机械特性: 说明机械连接方式的性能, 例如插口的形状
2.电气特性: 说明传输方向和有效的电平范围
3.功能特性: 说明该总线有什么功能
4.时间特性: 指出某一根总线在某一段时间内有效或者失效.
单总线结构: 将所有设备都挂在同一条总线上.. 结构简单,便于扩充. 但是总线的控制信号从第一个开始传, 传到后面第N个时候, 有传播的延迟时间. 还有, CPU, 主存, I/O设备之间的速率不匹配问题.
双总线结构特点:将速度较低的I/O设备从总线上分离出来, CPU将一部分功能下放给通道,使其对I/O涉笔进行统一管理.
三总线结构特点: 将速率不同的I/O设备进行分类, DMA总线用于告诉I/O设备与主存之间进行直接交换信息.当然拉, 还有很多其他三总线结构.就不一一列举了
5.总线控制
由于总线上有很多设备, 那么这么多设备同时尽享发送或者接收, 会很混乱,所以需要总线判优控制和通信控制来把帮忙。
5.1总线判优控制
将总线上的设备按其有无控制功能分为主设备和从设备.其中主设备对总线有控制权, 并且总线上的信息都是从主设备上发出的. 所以很显然, 从设备并无控制权. 总线判优控制可以分为:集中式和分布式两种. 其中集中式又分为链式查询, 计数器定时查询 , 独立请求三种
BS总线忙, BR总线请求, BG总线同意
BG总线同意信号一直从第一个往下传, 如果碰到有总线请求的接口, 就不再往下传, 并且建立BS总线忙信号.
BS总线忙, BR总线请求
总线控制接收到BR请求, 当BS没有使用时, 计数器开始计数, 通过设备地址线向各设备发出信号, 当计数值与设备地址一致,该设备就获得使用权.
BR总线请求, BG总线同意
每个设备都有BR和BS, 当设备提出BR请求时, 总线控制内部有一排队电路, 通过优先次序安排先后.
6.总线通信控制
完成一次总线操作通常需要4个阶段
1.申请分配阶段 2.寻址阶段 3.传数阶段 4.结束阶段
总线通信控制主要解决双方如何获得传输开始和传输结束, 以及通信双方如何协调, 有四种; 同步通信, 异步通信, 半同步通信, 分离式通信
6.1同步通信
通信双方由统一时标控制数据的传输.通常由CPU的总线控制发出
特点: 规定统一, 模块间容易配合, 不过主从模块的时间配合属于强制性同步, 必须在规定的时间内完成规定的要求, 对于速度不一致的部件而言, 必须按照速度最慢的部件设置公共时钟.所以挺慢的.
6.2 异步通信
异步通信允许各个模块之间速度不一致, 不采用公共时钟, 采用应答方式(对方有回复的响应) 就是三次握手那样, 主模块发出请求信号, 等到从模块发出反馈信息并且主模块收到才开始通信. 所以分为三种异步通信方式, 不互锁, 半互锁, 全握手
不互锁: 主模块发出请求后, 不必等待从模块的反馈, 而是等待一段时间后就开始撤销请求信号, 在一段时间内发送回答信号,等待一段时间后就会主动撤离回答信号 .
半互锁: 主模块发出请求后, 必须等待从模块的回答信号后再撤销请求信号,从模块收到请求信号后发出回答信号, 隔一段时间后就主动撤离其回答信号.
全互锁: 主模块发出请求后, 必须等待从模块的回答信号后再撤销请求信号, 从模块发出的回答信号,必须收到主模块的请求信号撤销后, 再撤销其回答信号.
7.分离式通信
特点;
1.各个模块都有申请总线的权利
2.个模块占用总线使用权都必须提出申请
3.在得到总线使用权后,主模块在限定的时间内向对方发送信息,采用同步方式传送,不再等待对方的回答信号。
4.各模块在准备数据的过程中都不占用总线,是总线可以接受其他模块的请求
5.总线被占用时都在做有效工作,或者通过他发送命令,或者通过他传送数据,不存在空闲等待时间,充分地利用了总线的有效占用,从而实现了在多个主、从模块间进行交叉重叠并行式传送,这对大型计算机是极为重要的.