总线(Bus)概念

总线是主机为了解决不同可更换设备之间的通信问题而产生的,计算机各种功能部件之间传送信息的公共通信干线。

总线分类

总线可以根据不同的特征进行不同的分类:

  1. 机械特性:尺寸,形状,管脚数量,排列顺序。

  2. 电气特性:传输方向(单向 or 双向)和有效的电平范围(0 - 0.5 低电平 0.5 - 1 V 高电平)

  3. 功能特性:地址总线,数据总线,控制总线。

  4. 时间特性:信号和时序的关系。

以及下图:

284.jpg

数据传输格式:里面串行总线和并行总线的区别就是同时传输数据的位数,串行总线一次传输一位数,并行总线一次可以传输多位数。

总线的功能:主要内容看下图。

285.jpg

总线结构

总线的结构:总线的结构设计分为单总线设计,双总线设计,三总线设计。当然这里的单总线指的是每种总线(数据总线,控制总线,地址总线)只有一根。

单总线结构,就是最基本的总线:

286.jpg

双总线结构,将 CPU 与主存的总线和 IO 总线分离开来,高速的用一根,低速的用一根,从而提高整体的效率。

注意里面的通道是一个小控制器,它有自己的控制系统,负责控制 IO 和内存之间的交互。

287.jpg

三总线结构,思路还是将不同的速度分级,从而提高整体的速度。这里多出来的就是 DMA 总线,也就是 Direct Memory Access 直接内存访问总线。将 IO 里面速度较快的部分(硬盘)单独和内存使用总线连接,提高硬盘速度。

288.jpg

总线性能指标

总线带宽:也就是总线的数据传输速率,单位时间内总线上可传送数据的速率。

总线复用:有些总线是将地址总线和数据总线放在一起复用。

总线仲裁

因为在同一时间之内只能由一个设备控制总线发出信号,同一时间内只能由一个或多个设备接收总线的信号。

所以当多个设备想要向总线发送信号的时候,就需要决定哪个设备来使用总线,这便是总线仲裁。

集中仲裁

指的是使用一个单独的仲裁器,用它来决定谁获取总线的使用权限。当一个设备正在使用总线的时候,发出 BS 总线忙信号,仲裁器停止分配总线。当没有总线忙信号并且有设备正在请求总线的时候,发出 BG 总线允许信号,需要总线的设备接收到 BG 信号之后,开始使用总线并发出 BS 总线忙信号。这就是集中仲裁的基本原型。

289.jpg

总线标准

总线标准就是国际上公布过推荐的一种模块设计标准,设计设备和总线的通信的时候,只需要遵守相关的模块设计标准,就可以接入任何一条总线。

PCI 总线,局部总线:

290.jpg

PCI-E 总线,

291.jpg

最后用一个奔腾3的主板设计模式,来大概感受一下总线:

292.jpg