简介

  • 概念: 多个功能部件进行数据传输的公共通路
  • 分散连接: 计算机各个部件之间使用单独布线实现互联,当规模扩增时,布线数量、复杂度显著增长; 添加新硬件时可能需要重新布线,扩展性差
  • 总线连接: 将多个硬件连接到同一组线路中,以此线路传输数据,达到降低成本和复杂度的目的,同时易扩展; 相比分散连接,布线的数量和复杂度显著减小

特性

  • 机械特性: 尺寸、形状、管脚数、布局以及排列顺序
  • 电气特性: 每根传输线的传输方向以及有效电平范围
  • 功能特性: 每根传输线的功能(数据、地址、控制)
  • 时间特性(逻辑特性): 传输的信号在时序上的有效性

功能

  • 数据、地址、控制信号传输: 最基本的功能
  • 通过校验,检测传输数据是否出错
  • 提供共享的数据通道,支持多设备连接通信
  • 通过仲裁功能实现多个设备的有序通信,避免数据冲突

分类

连接对象/位置

  • 片内/内部总线: 连接 CPU 内部部件(寄存器、ALU、控制器等)
  • 系统总线: 连接 CPU, 主存, I/O 设备等核心部件
    • 数据总线: 传输各部件之间的数据信息; 双向传输
    • 地址总线: 用于指定将要访问的内存单元或 I/O 端口的地址; 单向传输(CPU(主设备)发出)
    • 控制总线: 传输控制信号,协调操作(例如是中断请求中的一个环节); 单条线路传输方向是固定的,有些由 CPU 发出(内存读/写),有些是发给 CPU 的(中断请求等),整体双向传输
  • 通信总线(I/O 总线): 用于计算机系统之间或计算机与外部设备的连接

传送方式/格式

  • 并行总线
    • 描述: 一次传输数据多个位
    • 特点
      • 逻辑简单直观
      • 并行数据传输的数据延迟不全相等
      • 数据线之间易产生 串扰 (邻近信号线间耦合,产生的电磁信号影响到信号线的正常传输)
    • 例: ISA, PCI 等
  • 串行总线
    • 描述: 按顺序依次传输一位数据
      • 引脚少
      • 需要复杂的串行化/解串行化电路
      • 在高频率下传输的数据相比并行总线稳定,使其在部分应用场景下更加适用
        • 采用差分信号传输,抗干扰强
        • 时钟信息集成到数据流中,不需要传时钟同步数据流,降低功耗
    • 例: PCIe, SATA, USB 等

时序控制

  • 同步总线: 通过统一的时钟控制所有操作
  • 异步总线: 通过请求、应答的协议实现数据传输

性能指标

  • 总线宽度(总线位宽): 一次总线操作中,最多可传送的数据总数(8位, 16位, 32位…)(传输线根数)(单位: bit)
  • 信号线数: 数据总线、地址总线、控制总线的数量总和
  • 总线带宽: 单位时间内 能够传输的数据总数(总线位宽 * 频率)(数据传输率)(单位: MB/s, GB/s)
  • 传输周期: 一次总线操作需要的时间(申请阶段 -> 寻址阶段(寻找目标设备) -> 传输阶段 -> 结束阶段(撤销相关信息))
  • 总线复用: 在不同时段,一种信号线传输不同类型的信息

结构

单总线结构

单总线结构

CPU, 主存, I/O 设备(接口)等部件连在一组总线上

  • 优点: 结构简单,成本低,易接入新设备
  • 缺点: 带宽低(大量时间花费在仲裁等待上,而不是传输数据),负载重,造成性能瓶颈; 不支持并发传送操作
  • 例:
    • 基于 ISA 总线的计算机

多总线结构

多总线结构

依据总线的功能、传输速度差异进行分离(划分成不同层级),依靠桥接器(连接不同总线,具有数据缓冲、转换、控制功能)连接起来

  • 优点: 减少高速部件对低速部件的等待
  • 缺点: 需要添加额外的硬件设备; 结构与单总线结构相比较为复杂,桥接器需要处理不同总线之间的数据、协议转换等,需要协调; 引入桥接延迟,桥接器本身可能成为新瓶颈等等
  • 例:
    • 北桥-南桥架构
    • 将系统总线和I/O总线分离开,形成双总线结构; 在此基础上添加 DMA 总线,形成三总线结构,满足高速外设与主存的信息交换

点对点连接

每个通信设备与其通信的对象之间有专用链路,不共享总线带宽

  • 优点: 独享带宽; 减少通信延迟(无需总线仲裁); 扩展性好; 采用高速串行差分信号,抗干扰能力强
  • 缺点: 协议复杂; 支撑功能的相关硬件较为复杂,成本高
  • 例:
    • PCIe(从拓扑结构上看,PCIe 为树形拓扑结构)
      PCIe

总线仲裁

总线是共享资源,多个设备请求总线时,需要确定使用顺序

集中式仲裁

  • 存在一个中央仲裁器,负责分配总线的控制权
  • 仲裁器对总线请求信号(BR)进行裁决,裁决后送出授权信号(BG),总线状态(BS)

链式查询

链式查询

  • 所有设备共享总线请求线和总线授权线,授权信号依次传入设备中,设备优先级取决于设备与中央仲裁器的远近
  • 所需传输线少,便于更改和扩充(1BR, 1BG, 1BS)
  • 优先级固定,优先级较低的设备可能长期得不到总线使用
  • 对询问链电路故障敏感

计数器定时查询

计数器定时查询

  • 仲裁器收到BR后,计数器开始计数,并通过设备地址线广播计数值,计数值与地址匹配时,设备获得总线使用权(BS 置1)
  • 控制线数量(log2n\log_{2}n BR, 1BG, 1BS)
  • 优先级由计数器初值决定,可为固定值(固定优先级),或从中止点开始计数(循环优先级)

独立请求

独立请求

  • 每个设备有独立的 BR 和 BG 线与仲裁器相连
  • 响应速度快,优先级次序控制灵活
  • 控制线数量最多(nBR, nBG, 1BS)

分布式仲裁

分布式仲裁

  • 没有中央仲裁器,每个设备有独立的仲裁逻辑和仲裁号
  • 发送总线请求时,把各自的仲裁号进行比较确定优先级
  • 可靠性高,无单点故障,控制逻辑复杂

函数模型

函数模型