计组-总线设计
总线(Bus)概念
总线是主机为了解决不同可更换设备之间的通信问题而产生的,计算机各种功能部件之间传送信息的公共通信干线。
总线分类
总线可以根据不同的特征进行不同的分类:
机械特性:尺寸,形状,管脚数量,排列顺序。
电气特性:传输方向(单向 or 双向)和有效的电平范围(0 - 0.5 低电平 0.5 - 1 V 高电平)
功能特性:地址总线,数据总线,控制总线。
时间特性:信号和时序的关系。
以及下图:
数据传输格式:里面串行总线和并行总线的区别就是同时传输数据的位数,串行总线一次传输一位数,并行总线一次可以传输多位数。
总线的功能:主要内容看下图。
总线结构
总线的结构:总线的结构设计分为单总线设计,双总线设计,三总线设计。当然这里的单总线指的是每种总线(数据总线,控制总线,地址总线)只有一根。
单总线结构,就是最基本的总线:
双总线结构,将 CPU 与主存的总线和 IO 总线分离开来,高速的用一根,低速的用一根,从而提高整体的效率。
注意里面的通道是一个小控制器,它有自己的控制系统,负责控制 IO 和内存之间的交互。
三总线结构,思路还是将不同的速度分级,从而提高整体的速度。这里多出来的就是 DMA 总线,也就是 Direct Memory Access 直接内存访问总线。将 IO 里面速度较快的部分(硬盘)单独和内存使用总线连接,提高硬盘速度。
总线性能指标
总线带宽:也就是总线的数据传输速率,单位时间内总线上可传送数据的速率。
总线复用:有些总线是将地址总线和数据总线放在一起复用。
总线仲裁
因为在同一时间之内只能由一个设备控制总线发出信号,同一时间内只能由一个或多个设备接收总线的信号。
所以当多个设备想要向总线发送信号的时候,就需要决定哪个设备来使用总线,这便是总线仲裁。
集中仲裁
指的是使用一个单独的仲裁器,用它来决定谁获取总线的使用权限。当一个设备正在使用总线的时候,发出 BS 总线忙信号,仲裁器停止分配总线。当没有总线忙信号并且有设备正在请求总线的时候,发出 BG 总线允许信号,需要总线的设备接收到 BG 信号之后,开始使用总线并发出 BS 总线忙信号。这就是集中仲裁的基本原型。
总线标准
总线标准就是国际上公布过推荐的一种模块设计标准,设计设备和总线的通信的时候,只需要遵守相关的模块设计标准,就可以接入任何一条总线。
PCI 总线,局部总线:
PCI-E 总线,
最后用一个奔腾3的主板设计模式,来大概感受一下总线: