关注RealEchooo 注定非同小可
1. 总线的基本概念
总线的定义:
总线是连接多个设备的信息传输线,是各个部件共享的传输介质。总线连接:
用一条公共的信号传输线来连接各个部件。
采用总线连接是因为人们意识到分散连接的局限性。分散连接是每组部件用单独的线连接,这样一旦涉及到增加或删减设备的时候,分散连接就要增加或者减去很多线,非常不利于扩展。总线连接能够解决这一问题。
2. 总线的分类
片内总线:
指芯片内部的总线,如 CPU 芯片内部的连线,寄存器与寄存器之间的连线。系统总线:
CPU,主存,I/O 各大部件之间的连线。再细分可以分为数据总线(双向的),地址总线(单向的,从 CPU 发出),控制总线(对某一根是单向的,但是不同根方向可以不同,因此宏观上来看,又可以说是双向的)。通信总线:
用于各个计算机系统的通信。又可以细分为串行总线和并行总线。
3. 总线特性及性能指标
3.1 总线特性
机械特性:如插头与插座的几何特性,引脚个数等等。
电气特性:总线的传输线上信号传递的方向以及有效电平的范围。
功能特性:总线中每根传输线的功能。如用来传输数据的、用来传输地址的、用来传输控制信号的。
时间特性:总线的任一根线在什么时候有效
3.2 总线性能指标
总线带宽:单位时间内传输数据的位数
总线宽度:数据总线的位数
时钟同步 / 异步
总线复用:一根信号线分时地传输两种信号
信号线数:数据总线 + 地址总线 + 控制总线
等等
3.3 总线标准
定义:
是系统与模块,模块与模块之间的互连的标准界面。流行的总线标准有
ISA
EISA
VESA
PCI
AGP
RS-232C
USB
4. 总线结构
按照总线的数量进行分类,分为单总线结构和多总线结构。
所谓单总线结构,就是各部件(CPU、主存、I/O)之间只用一个总线连接,进行通信。
多总线结构又可以分为双总线,三总线,等等。
具体总线结构是怎样的,和机器有关。
5. 总线控制
为了协调连在总线上的各个部件,需要有一个总线控制器来进行管理,来管理哪些部件在哪个时间内可以占用总线。
总线控制器的管理主要包括判优控制(或称仲裁逻辑) 和 通信控制。
5.1 判优控制
多个设备同时请求占用总线,究竟给哪个设备占用总线?这时就要用到总线判优控制。总线判优控制分为分布式和集中式两种。分布式就是控制逻辑分散到各个部件或设备。集中式就是控制逻辑集中一处(如在 CPU 中)集中式判优控制分类
链式查询:
用 BG 线(总线同意)把 I/O 接口串起来,在前面的 I/O 设备具有更高的总线使用权。此外还有 BR 线(总线请求),BS 线(总线忙)计数器查询:
用设备地址线传递地址信号,从而决定哪个设备占用总线。地址信号是由计数器给出的,因此通过计数器可以灵活控制优先级。独立请求方式:
每个设备都有 BR 线,BG 线,总线控制部件通过排队电路来判断哪个设备占用总线。
显然,如果有 n 台设备,法 1 只需两根线(两条 BG 线),法 2 大致需 log~2~n 根线,法 3 需要 2n 根线
5.2 通信控制
所谓通信控制,就是占用总线后,主从模块如何交流。
首先了解一下什么是总线周期。总线周期:
完成一次总线操作的时间,具体包括以下四个步骤。
申请分配阶段:主模块发出占用总线的申请,经过判优逻辑后,决定下一传输周期时,将总线使用权给主模块。
寻址阶段:通过总线,找到从模块的地址,并给出相关命令。
传数阶段:主从模块进行数据传输。
结束阶段:主模块的有关信息从系统总线上撤除,让出总线使用权。
总线的通信控制
同步通信:用一个统一的系统时钟来控制数据的传输。
异步通信:通过 “握手” 的方式传输数据。这又可以细分为:不互锁方式,半互锁方式,全互锁方式。
不互锁:
主模块确定从模块收到请求信号后,过一段时间就自动撤销请求信号。如:CPU 向主存写信息半互锁:
主模块发出请求信号,从模块接受请求信号,从模块发出应答信号,主模块要等到接受到从模块的应答信号后,才撤销请求信号。如:CPU 申请访问公共存储器全互锁:
前面都和半互锁相同,最后从模块知道主模块发出撤销请求信号后,才会撤销应答信号。如:网络通信
半同步通信:一段时间内用同步通信进行数据传输,另一段时间用异步通信方式传输数据。
分离式通信:把一个总线周期拆为两个子周期,充分利用总线周期的课空闲时间。
最后辨析两个小概念:
波特率:单位时间内传输数据的位数
比特率:单位时间内传输有效数据的位数(即不包括奇偶校验位,终止位等等)
最后,创作不易,希望大家能顺手点个赞。如果觉得有帮助,可以加个收藏,给作者更大的创作动力
如果喜欢文章作者
请关注微信公众号:RealEchooo
欢迎大家来撩
分享、在看与点赞
点了,你就是今天最靓的仔