3.1 总线的基本概念

什么是总线?
  • 总线是连接各个部件的信息传输线,是各个部件共享的传输介质
总线上信息的传送方式:
  • 串行、并行

总线结构的计算机举例:

1.单总线结构框图

image-20250304110715312.png

存在总线争用、延迟过高的问题

2.面向CPU的双总线结构框图

image-20250304110827972.png

3.以存储器为中心的双总线结构框图

image-20250304110945376.png

3.2 总线的分类

根据位置划分:

  • 片内总线:芯片内部的总线
  • 系统总线:计算机各部件之间的信息传输线

    • 数据总线 双向,与机器字长、存储字长有关
    • 地址总线 单向,与存储地址、I/O地址有关
    • 地址总线 有出,有入
  • 通信总线:用于 计算机系统之间 或 计算机系统与其他系统(如控制仪表、移动通信等)之间的通信

    • 按传输方式可分为:串行通信总线、并行通信总线

3.3 总线特性及性能指标

一、总线物理实现

二、总线特性

  • 机械特性:尺寸、形状、管脚数、排列吮吸
  • 电气特性:传输方向和有效的电平范围
  • 功能特性:每根传输线的功能(地址、数据、控制信号)
  • 时间特性:信号的时序关系

三、总线的性能指标

  • 总线宽度:数据线的根数
  • 标准传输率:每秒传输的最大字节数(MBps)
  • 时钟同步/异步:同步、不同步
  • 总线复用:地址线与数据线复用
  • 信号线数:地址线、数据线和控制线的总和
  • 总线控制方式:突发、自动、仲裁、逻辑、计数
  • 其他指标:负载能力

四、总线标准

image-20250304112326312.png

3.4 总线结构

一、单总线结构(系统总线)

  • 缺点:所有设备都在同一总线,判优困难;不能保证设备均在同一速度下运行,需要以最低速度设备运行

二、多总线结构

1.双总线结构
  • 主存总线+I/O总线
2.三总线结构
  • 主存总线+I/O总线+DMA总线

    • DMA:直接存储器访问 高速设备直接访问CPU
  • 局部总线+系统总线+扩展总线(对外部设备的工作速度有影响)
3.四总线结构
  • 局部总线+系统总线+高速总线+扩展总线

image-20250307102511645.png

三、总线结构举例

1.传统微型机总线结构
2.VL-BUS局部总线结构
3.PCI总线结构
4.多层PCI总线结构
  • 通过桥电路实现总线的扩展

3.5 总线控制

一、总线判优控制

1.基本概念:

  • 主设备(模块) 对总线有控制权
  • 从设备(模块) 相应来自主设备发来的总线命令

总线判优控制分类:

  • 集中式

    • 链式查询
    • 计数器定时查询
    • 独立请求方式
  • 分布式

2.链式查询方式:

image-20250307103243766.png

  • 特点:结构简单,增删设备简单;进行可靠性设计容易;存在接口的优先级;对电路故障敏感

3.计数器定时查询方式:

image-20250307103710988.png

  • 响应BS的优先级可由计数器决定,具有更灵活的特点
  • 设备地址线的带宽与设备数量有关

4.独立请求方式:

image-20250307104310988.png

  • 请求优先级由总线控制部件内部的排队器决定
  • 缺陷:使用的线过多

二、总线通信控制

1.目的

解决通信双方协调配合问题

2.总线传输周期
  • 申请分配阶段 主模块申请,总线仲裁决定
  • 寻址阶段 主模块向从模块给出地址和命令
  • 传数阶段 主模块和从模块交换数据
  • 结束阶段 主模块撤销有关信息
3.总线通信的四种方式
  • 同步通信 由统一时标控制数据传送
  • 异步通信 采用应答方式,没有公共时钟标准
  • 半同步通信 同步、异步结合
  • 分离式通信 充分挖掘系统总线每个瞬间的潜力

1)同步式数据输入

  • 在固定的时间点给出固定的操作
  • 特点:一定有定宽定距的时钟进行控制;在给定的时间点上完成相应操作

image-20250307110134576.png

2)同步式数据输出

  • 主从模块强制同步,必须选择速度最慢的模块进行数据传输
  • 通常应用在 总线长度较短、各个模块传输速率相对一致 的系统中

image-20250307110304651.png

3)异步通信

  • 没有定宽定居的时钟信号,而是由请求、回答两条线(两个握手信号)决定

image-20250307110542904.png

  • 半互锁方式的问题:又可能造成请求信号一直保持高电平

4)半同步通信(同步、异步结合)

  • 同步

    • 发送方用系统时钟前沿发信号
    • 接收方用系统时钟后沿判断、识别
  • 异步

    • 允许不同速度的模块和谐工作
    • 增加一条“等待”响应信号 $\overline{WAIT}$

image-20250307111216926.png

  • $T_1$ 主模块发地址
  • $T_2$ 主模块发命令
  • $T_w$ 当 $\overline{WAIT}$ 为低电平时,等待一个T
  • $T_w$ 再检测一次 $\overline{WAIT}$ 是否为低电平,等待一个T
  • $T_3$ 从模块提供数据
  • $T_4$ 从模块撤销数据,主模块撤销命令

5)三种通信方式的共同点

  • 一个总线传输周期

    • 主模块发地址、命令 占用总线
    • 从模块准备数据 不占用总线 !总线空闲!
    • 从模块向主模块发数据 占用总线

如何解决总线空闲的问题?👇

6)分离式通信

大大提高了总线的利用率

  • 一个总线传输周期

    • 子周期1

      • 主模块申请占用总线,使用完后即放弃总线的使用权
    • 子周期2

      • 从模块申请占用总线,将各种信息送至总线上

特点:

  • 各个模块均有权申请占用总线(各个模块都可以变成主模块)
  • 采用同步方式通信,不等对方回答
  • 各模块准备数据时,不占用总线
  • 总线被占用时,无空闲