dong-frank的博客

第十六讲 总线

字数统计: 1.3k阅读时长: 4 min
2025/02/18

第十六讲 总线

总线的类型

总线是连接两个或多个设备的通信通路

  • 芯片内部总线: 连接芯片内部的各个部分, 如CPU中连接寄存器, ALU的部分
  • 系统总线: 连接CPU、存储器、IO控制器和其他功能设备
  • 通信总线: 连接主机和I/O设备,或连接不同的计算机系统

总线结构

  • 数据线: 在系统组件之间传输数据
    • 数据线的数量决定了一次可以传输的数据的大小
  • 地址线:在数据线和地址I/O端口上指定数据的来源和去向
    • 地址线的数量决定了寻址空间的大小
  • 控制线: 控制对数据线和地址线的存取和使用

总线上数据传输的特点

  • 总线可以被多个设备监听,但同一时刻只能由一个设备发送数据
  • 当总线在被使用过程中,其它设备不可以抢占

总线的设计要素

  • 用途
    • 专用总线
    • 复用总线
  • 仲裁
    • 集中式
    • 分布式
  • 时序
    • 同步
    • 异步
    • 半同步
    • 分离事务
  • 总线带宽和数据传输率
  • 总线层次结构
    • 单总线
    • 双总线
    • 多总线

用途

  • 专用总线: 始终只负责一项功能,或始终分配给特定的计算机组件
    • 优点: 高吞吐率, 减少总线冲突
    • 缺点: 增加了系统的规模和成本
  • 复用总线: 将同一线路用于多种用途
    • 优点: 使用的布线数量少, 节省空间和成本
    • 缺点: 每个模块需要更复杂的控制电路,且共享可能会降低性能

仲裁: 当多个设备需要与总线通信时,通过某种策略选择一个设备
平衡因素: 优先级和公平性
仲裁方案

  • 集中式: 由仲裁器(arbiter)或总线控制器(bus controller)负责分配总线使用权
    • 链式查询/菊花链
    • 计数器查询
    • 独立请求
  • 分布式: 每个设备都包含访问控制逻辑,各设备共同作用分享总线
    • 自举式
    • 冲突检测

时序:确定每个总线事务的开始和结束时间
总线事务: 地址 + 数据 +… +数据

  • 同步时序: 事件的发生由时钟决定
    • 优点: 更容易实现和测试
    • 缺点: 总线长度受到时钟偏差的限制
  • 异步时序: 一个事件的发生取决于前一个事件的发生
    • 采用握手策略
    • 优点: 可以灵活地协调速度不同的设备
    • 缺点: 接口逻辑复杂, 对噪声敏感
  • 半同步时序: 为了减少噪声的影响,在异步计时中使用时钟
  • 分离事务: 将一个总线事件分离为两个过程
    • 优点: 增加总线利用率
    • 缺点: 增加每个总线事件的持续时间和系统复杂度

总线带宽和数据传输率

  • 总线带宽: 总线的最大数据传输速率
    • 不要考虑总线仲裁, 地址传输等因素
  • 数据传输速率
    • 考虑地址传输、握手等因素
  • 总线宽度: 组成总线的线数

alt text
alt text
alt text
注意这里对于同步总线, 等待时间就算小于一个时钟周期也不能继续下一步操作

如何提高总线的数据传输率

  1. 提高时钟频率
  2. 增加数据总线宽度: 每次传输更多的数据(成本:更多的总线线路)
  3. 块传输: 传输一次地址就传输一块数据(成本:高复杂性)
  4. 分离总线事务: 减少总线空闲时间(成本:复杂性高,增加每个事务的持续时间)
  5. 分离地址线和数据线: 同时传输地址和数据(成本:更多的总线线路)

总线层次结构

  • 单总线结构
    • CPU、存储器和I/O 模块都连接到一条系统总线
    • 优点:简单,易于扩展
    • 缺点
      • 连接的设备越多,总线长度越大,传输延迟也就越大
      • 聚集的传输请求接近总线容量时,总线成为瓶颈
  • 双总线结构Ⅰ
    • 在CPU和存储器中间增加一个存储器总线
    • 优点:增加CPU和存储器之间的传输效率,同时降低系统总线的负担
  • 双总线结构Ⅱ
    • 将系统总线分为存储器总线、I/O 总线和IOP(input/output processer)
    • 优点:降低I/O对总线的负担
  • 多总线结构Ⅰ
    • 增加一个本地总线(local bus)来连接CPU 和cache
    • 优点:分离了CPU 和I/O 的交互
  • 多总线结构II
    • 将系统总线分为存储器总线、I/O 总线和DMA 总线
    • 优点:增加I/O 效率
  • 多总线结构Ⅲ
    • 增加一个高速I/O 总线来连接高速设备
    • 优点:增加I/O 交互效率
CATALOG
  1. 1. 第十六讲 总线
    1. 1.1. 总线的类型
    2. 1.2. 总线结构
    3. 1.3. 总线的设计要素