Skip to content

(一)总线的组成和性能

1. 概述

1.1. 基本概念

image-20250327230157425

  • 总线:计算机系统的各模块之间或模块内部传送信息的通路称为总线;
  • 总线是从两个或两个以上的源部件传送信息到一个或多个部件的一组物理传输线;

1.2. 通信模式

  • 总线一般是半双工通信模式;
  • 特点
    • 共享:总线是连接多个部件的信息传输线,是各部件共享的传输介质
    • 分时:在某一时刻,只允许有一个部件向总线发送信息,而多个部件可以同时从总线上接收相同的信息。

2. 分类

2.1. 片内总线

  • 概念:芯片内部的总线;
  • 暂存器:总线半双工特性导致同一时刻只能有一个数据传入芯片。对于一些二元运算(如加法),需要一个暂存器来存储先后到达的数据;

2.2. 系统总线

  • 概念:芯片外,计算机各部件之间的信息传输线;
  • 分类
    • 数据总线:在 CPU 和主存、IO 设备之间传递数据的线路;
      • 双向;
      • 字长与存储字长和机器字长有关;
    • 地址总线:在 CPU 与主存/IO设备间传递地址的线路;
      • 单向:只由 CPU 发出,主存或 IO 设备接收;
      • 字长与存储地址,IO 地址长度有关;
    • 控制总线:在 CPU 和周边设备间传递控制信号和时序信号的线路;
      • 单向但是分为两路:控制信号为 CPU > 外界,反馈信号由外界 > CPU;
      • 按照 传输数据的方式 划分,可以分为 串行总线 和 并行总线;
      • 按照 时钟信号是否独立 划分,可以分为 同步总线 和 异步总线;

2.3. 通信总线

  • 概念:计算机系统之间计算机系统与其他系统(控制仪表、移动设备等)之间进行通信的线路;
  • 按照 传输数据的方式 划分,可以分为 串行总线 和 并行总线;
    • 串行总线一般用于长距离数据传输(洲际);
  • 典型应用:计算机网络、打印机;

3. 组成

一般包括 3 个部分:

  • 传输线:用于实现数据传输的物理媒质;
  • 接口逻辑:总线与各部件常需要三态门和缓冲寄存器等作为它们之间的接口;
  • 总线控制器:总线的使用进行合理的分配和管理以实现多个部件共享;

4. 特性

4.1. 功能特性

  • 概念:描述总线中每一根线的功能。如读/写、中断信号、DMA控制信号等;
  • 一般情况下:
    • 地址总线指出地址;
    • 数据总线传递数据;
    • 控制总线传递控制信号;

4.2. 时间特性

  • 概念:定义总线上各信号有效的时序关系
  • 一般用信号时序图来描述;

5. 性能指标

指标概念
总线宽度数据线根数
标准传输率每秒最大传输字节数 MBps
时钟同步/异步时钟同步 or 异步
总线复用地址线与数据线是否复用
信号线数地址线数 + 数据线数 + 控制线数
控制方式并发、自动、仲裁、逻辑、计数等
其他指标负载能力、电源电压等

5.1. 总线宽度

  • 总线宽度指的是总线的线数,它决定了总线所占的物理空间和成本
  • 对总线宽度最直接的影响是地址线和数据线的数量;
    • 地址线的宽度指明了总线能直接访问存储器的地址空间范围;
    • 数据线的宽度指明了访问一次存储器或外设时能够交换的数据位数;
    • 主存空间和 IO 空间的扩充使地址线数量的增加;
    • 并行传输要求有足够的数据线;

5.2. 总线带宽

  • 定义:总线的最大数据传输率,即每秒传输的字节数
  • 同步通信中,总线的带宽与总线时钟密不可分,总线时钟频率的高低决定了总线带宽的大小;
  • 公式:总线带宽 = 总线宽度 × 总线传输频率;
    • 总线宽度:一次传多少位;
    • 总线频率:每秒能传多少次;
  • 公式 2:总线带宽 = 数据量 / 传输时间;

5.3. 总线负载

  • 概念:连接在总线上最大设备数量

5.4. 总线复用

  • 在不同时段利用总线上同一个信号线传送不同信号;
  • 例:地址总线和数据总线共用一组信号线;
  • 目的:减少总线数量,提高总线的利用率;

5.5. 猝发传输

  • 概念:一种总线传输方式。在一个总线周期中可以传输存储地址连续多个数据;

习题

    1. 同步时钟总线,时钟频率 100 MHz,宽度 32 位,地址数据线复用。每传输一个地址/数据需要一个时钟周期。若该总线支持猝发传输,则 CPU 向主存写入 128 位数据所需时间至少是
    • A. 20 ns;
    • B. 40 ns;
    • C. 50 ns;
    • D.80 ns;
    • 答案:C
    • 解析:主要是注意传地址也需要一个时钟周期
      • 支持猝发传输,则考虑 128 位数据所在 4 个内存地址连续,因此可以一次性连续发送,占 4 个周期;
      • 因为要传输起始地址,占 1 个周期,则总周期数 5 个,需要 50 ns;