Skip to content

第六章 总线

第一节 总线概述

「总线」基本概念

为什么要有总线?

  • I/O 设备的种类和数量越来越多,解决 I/O 设备和主机之间连接的灵活性
  • 计算机的结构从分散连接发展为总线连接
  • 为了进一步简化各类总线标准的设计

「总线」总线定义

  • 总线
    • 是一组能为多个部件分时共享的公共信息传送线路
    • 总线的两个特点
      • 分时
        • 是指同一时刻只允许有一个部件向总线发送信息
        • 若系统中有多个部件,则它们只能分时地向总线发送信息
      • 共享
        • 指总线上可以挂接多个部件
        • 各个部件之间互相交换的信息都可通过这组线路分时共享
        • 多个部件可同时从总线上接收相同的信息

「总线」总线设备

  • 如何区分主设备和从设备?
    • 对总线有无控制功能
  • 主设备
    • 指获得总线控制权的设备。
  • 从设备
    • 指被主设备访问的设备
      • 它只能响应从主设备发来的各种总线命令。

「总线」总线特性

  • 机械特性
    • 尺寸、形状
  • 电气特性
    • 传输方向和有效的电平范围
  • 功能特性
    • 每根传输线的功能
  • 时间特性
    • 信号和时序的关系

「总线分类」按功能、传输信息

总线按功能划分

  • 片内总线:芯片内部的总线,是 CPU 芯片内部 寄存器与寄存器之间、寄存器与 ALU 之间 的公共连接线。
  • 系统总线:计算机系统内各功能部件(CPU、主存、I/O 接口)之间相互连接的总线。

系统总线传输信息内容分类

  • 数据总线
    • 用来传输各功能部件之间的数据信息
    • 双向传输总线
    • 位数机器字长、存储字长有关。
  • 地址总线
    • 用来指出 数据总线上的源数据、目的数据所在的主存单元、I/O端口 的地址
    • 单向传输总线
    • 位数主存地址空间的大小有关
  • 控制总线:传输控制信息(包括CPU送出的 控制命令、主存(或外设)返回 CPU 的反馈信号)

数据通路与数据总线

  • 数据通路和数据总线的关系
    • 数据通路各个功能部件通过数据总线连接形成的数据传输路径
  • 区分数据通路和数据总线
    • 数据通路:表示的是数据流经的路径
    • 数据总线:是承载的媒介。

「总线分类」I/O总线

  • 连接中低速的 I/O 设备
  • 低速设备通过 I/O 接口系统总线相连接
    • 目的是将低速设备与高速总线分离,以提升总线的系统性能
    • 常见的有USB、PCI 总线。

「总线分类」通信总线

通信总线(外部总线)

  • 计算机系统之间、计算机系统与其他系统(如远程通信设备、测试设备)之间传送信息的总线。
  • 时序控制方式划分
    • 同步总线
    • 异步总线
  • 数据传输格式划分
    • 并行总线
    • 串行总线

「总线结构」单总线结构

  • CPU、主存、I/O 设备(通过 I/O 接口)都挂在一组总线
  • 直接信息交换
    • I/O 设备 与 I/O 设备
    • I/O 设备 与 主存
    • CPU 与 主存
    • CPU 与 外设

image.png

TIP

  • 单总线不是只有一根信号线
  • 系统总线可细分为
    • 地址总线
    • 数据总线
    • 控制总线

优缺点

  • 优点:结构简单、成本低,易于接入新的设备。
  • 缺点:
    • 带宽低、负载重
    • 多个部件只能争用唯一的总线
    • 不支持并发传送操作

「总线结构」双总线结构

两条总线

  • 主存总线:用于在CPU、主存和通道之间传送数据
  • I/O总线:用于在多个外部设备与通道之间传送数据

优缺点

  • 优点:将低速 I/O 设备从单总线上分离出来、实现了存储器总线和 I/O 总线分离。
  • 缺点: 需要增加通道等硬件设备。

image.png

「总线结构」三总线结构

三总线结构

  • 主存总线:在 CPU 和内存之间传送地址、数据和控制信息
  • I/O总线:在 CPU 和各类外设之间通信
  • 直接内存访问(DMA)总线:在内存和高速外设之间直接传送数据

优缺点

  • 优点:提高了I/O 设备的性能,使其更快地响应命令,提高系统吞吐量
  • 缺点:系统工作效率较低

image.png

「总线性能」性能标准

  • 总线传输周期一次总线操作所需的时间
    • 包括 申请阶段、寻址阶段、传输阶段、结束阶段。
    • 通常由若干总线时钟周期构成。
  • 总线时钟周期:机器的时钟周期
    • 计算机有一个统一的时钟,以控制整个计算机的各个部件,总线也要受此时钟的控制。
  • 总线工作频率:总线上各种操作的频率
    • 总线周期的倒数
    • 1秒内传送几次数据
    • 总线周期 = N个时钟周期
      • 总线的工作频率 = 时钟频率/N
  • 总线时钟频率
    • 机器的时钟频率
    • 时钟周期的倒数
  • 总线宽度(总线位宽):总线上同时能够传输的数据位数
    • 通常指数据总线的根数:如32根称为32位总线
  • 总线带宽:总线的最大数据传输率 + 即单位时间内总线上最多可传输数据的位数 + 用每秒传送信息的字节数来衡量 + 单位可用字节/秒(B/s)表示 + 线=线×(线8)
    • 注意:总线带宽和总线宽度应加以区别。
  • 总线复用:指信号线在不同的时间传输不同的信息,用较少的线传输更多的信息
  • 信号线数:地址总线、数据总线和控制总线3种总线数的总和

总线的最主要的三个性能指标

  • 三个指标:总线宽度、总线(工作)频率、总线带宽(总线本身所能达到的最高传输速率、衡量总线性能的重要指标
  • 三者关系
    • 线=线×线
  • 例如:总线工作频率为 22MHz、总线宽度为16位
    • 线=22 MHz×(16 bit8 bit/B)=44MB/s

第二节 总线事务与定时

「总线事务」基本概念

什么是总线事务?

  • 从请求总线到完成总线使用的操作序列
  • 一个总线周期中发生的一系列活动

总线事务的类型

  • 请求操作(请求阶段):主设备(CPU 或 DMA)** 发出总线传输请求,并且获得总线控制权。
  • 仲裁操作(仲裁阶段)总线仲裁机构决定将下一个传输周期的总线使用权授予某个申请者。
  • 地址传输(寻址阶段):主设备通过总线给出要访问的从设备地址及有关命令、启动从模块。
  • 数据传输(传输阶段):主模块和从模块进行数据交换,可单向或双向进行数据传送。
  • 总线释放(释放阶段):主模块的有关信息均从系统总线上撤除,让出总线使用权。
  • 总线事务的传输阶段主、从设备之间一般只能传输一个字长的数据

突发(猝发)传送方式

  • 能够进行连续成组数据的传送
  • 寻址阶段:发送的是连续数据单元的首地址
  • 传输阶段:传送多个连续单元的数据
  • 每个时钟周期可以传送一个字长的信息,但是不释放总线
  • 直到一组数据全部传送完毕后,再释放总线

「定时」同步定时方式

  • 什么是同步定时方式?
    • 系统采用一个统一的时钟信号来协调发送和接收双方的传送定时关系
    • 时钟产生相等的时间间隔,每个间隔构成一个总线周期
    • 一个总线周期中,发送方和接收方可以进行一次数据传送
    • 因为采用统一的时钟,
      • 每个部件或设备发送或接收信息都在固定的总线传送周期中
      • 一个总线的传送周期结束,下一个开始
  • 优点
    • 传送速度快,具有较高的传输速率
    • 总线控制逻辑简单
  • 缺点
    • 主从设备属于强制性同步
    • 不能及时进行数据通信的有效性检验,可靠性较差。
  • 同步通信适用于什么系统?
    • 总线长度较短
    • 总线所接部件的存取时间比较接近

「定时」异步定时方式

  • 什么是异步定时方式?

    • 没有统一的时钟,也没有固定的时间间隔,
    • 完全依靠传送双方相互制终的“握手”信号来实现定时控制
    • 通常,把交换信息的两个部件或设备分为主设备和从设备
      • 主设备提出交换信息的“请求”信号,经接口传送到从设备
      • 从设备接到主设备的请求后,通过接口主设备发出“回答”信号
  • 优点

    • 总线周期长度可变
    • 能保证两个工作速度相差很大的部件或设备之间可靠地进行信息交换,自动适应时间的配合
  • 缺点

    • 同步控制方式稍复杂一些
    • 速度比同步定时方式慢
  • 异步定时方式的锁🔐

    • 根据“请求”信号“回答”信号的撤销是否互锁
    • 不互锁方式
      • 主设备
        • 发出“请求”信号
        • 不必等到接到从设备的“回答”信号
        • 而是经过一段时间便撤销“请求”信号
      • 从设备
        • 在接到“请求”信号
        • 发出“回答”信号
        • 并经过一段时间后自动撤销“回答”信号
        • 双方不存在互锁关系
      • 如图6.4(a)所示。
    • 半互锁方式
      • 主设备
        • 发出“请求”信号
        • 必须在接到从设备的“回答”信号
        • 才撤销“请求”信号
        • 有互锁的关系
      • 从设备
        • 接到“请求”信号
        • 发出“回答”信号
        • 不必等待获知主设备的“请求”信号已经撤销
        • 隔一段时间后自动撤销“回答”信号
        • 不存在互锁关系
      • 如图6.40b)所示。
    • 全互锁方式
      • 主设备
        • 发出“请求”信号
        • 必须在从设备“回答”后才撤销“请求”信号
      • 从设备
        • 发出“回答”信号
        • 必须在获知主设备“请求”信号已撤销后
        • 再撤销其“回答”信号
        • 双方存在互锁关系
      • 如图6.4(c)所示。

image.png

第三节 疑难点

引入总线结构有什么好处?

  • 简化了系统结构,便于系统设计制造。
  • 大大减少了连线数目,便于布线,减小体积,提高系统的可靠性。
  • 便于接口设计,所有与总线连接的设备均采用类似的接口。
  • 便于系统的扩充、更新与灵活配置,易于实现系统的模块化。
  • 便于设备的软件设计,所有接口的软件对不同的接口地址进行操作。
  • 便于故障诊断和维修,同时也能降低成本。

引入总线会导致什么问题?如何解决?

  • 总线的冲突
    • 引入总线后,总线上的各个设备分时共享同一总线,当总线上多个设备同时要求使用总线,会导致冲突。
  • 采用总线仲裁部件
    • 以某种方式选择一个主设备优先获得总线控制权
    • 只有获得了总线控制权的设备才能开始数据传送

同一个总线不能既采用同步方式又采用异步方式通信吗?

  • 半同步通信总线可以
    • 其保留了同步通信的特点
    • 又能采用异步应答方式连接速度相差较大的设备
    • 通过在异步总线中引入时钟信号
      • 就绪和应答等信号都在时钟的上升沿或下降沿有效
      • 不受其他时间的信号干扰
  • 例如
    • 某个采用半同步方式的总线总是从某个时钟开始
      • 在每个时钟到来时,采样 Wait 信号
      • 检测无效
        • 则说明数据未准备好,下个时钟到来时,再采样Wait 信号
      • 直到检测有效
        • 再去数据线上取数据
    • PCI 总线也是一种半同步总线
      • 它的所有事件都在时钟下降沿同步
      • 总线设备在时钟开始的上升沿采样总线信号

一个总线在某一时刻可以有多对主从设备进行通信吗?

  • 不可以。会发生数据冲突。
  • 在某个总线周期内,总线上只有一个主设备控制总线,
    • 选择一个从设备与之进行通信(即一对一的关系)
    • 所有设备进行广播通信(即一对多的关系)