跳到主要内容

总线

6.1 总线概述

6.1.1 总线基本概念

总线 是连接多个部件(如CPU、主存、I/O设备)的信息传输线,是各部件共享的传输介质。多个部件可同时向总线发送信息,但任一时刻只能有一个部件发送数据,而多个部件可同时接收数据。

总线的主要特征

  • 共享性:多个部件共用同一传输线。
  • 分时性:同一时刻只允许一个部件发送信息。

总线的组成

  • 机械特性:尺寸、形状、引脚数等。
  • 电气特性:信号电平、电压范围等。
  • 功能特性:各引脚的功能定义。
  • 时间特性:信号的时序关系。

6.1.2 总线的分类

  1. 按数据传输方式

    • 并行总线:多位数据同时传输(如数据总线宽度为32位),传输速度快,但线间干扰大,不适合长距离。
    • 串行总线:数据一位一位顺序传输,线数少,抗干扰能力强,适合长距离(如USB)。
  2. 按功能层次

    • 片内总线:芯片内部各寄存器和指令单元(如ALU、控制单元)之间的连线。
    • 系统总线:计算机系统内各功能部件(CPU、主存、I/O接口)之间的连接线。
      • 数据总线:传输数据信息,双向,宽度(位数)反映一次传输的数据量。
      • 地址总线:传输地址信息,单向(由CPU发出),宽度(地址总线的位数)决定可寻址空间。
      • 控制总线:传输控制信号和状态信号,每根线单向,整体双向。
    • 通信总线:用于计算机系统之间或计算机与外部设备之间的通信。
注意

数据通路和数据总线是不同的,要分清,数据通路指的是数据通过数据总线传输的路径。

  1. 按时序控制方式
    • 同步总线:由统一的时钟信号控制,定时严格,速度快,但时钟频率受最长传输路径限制。
    • 异步总线:通过握手信号(请求、应答)协调,没有统一的时钟,适应不同速度的设备,但效率稍低。

6.1.3 系统总线的结构

  1. 单总线结构(面向CPU)
    • CPU、主存、I/O设备都挂在同一组总线上。
    • 优点:结构简单,易于扩充。
    • 缺点:各部件争用总线,系统效率低;CPU与I/O、主存之间并行性差。

  1. 双总线结构

    • 在CPU和主存之间设置一组高速的存储器总线,CPU与主存直接通过存储器总线通信。
    • 其他I/O设备通过I/O总线与CPU或主存交换数据,通过通道或I/O处理器连接。
    • 优点:提高了CPU访问主存的带宽,缓解了总线争用。
  2. 三总线结构

    • 在双总线基础上增加扩展总线,用于连接低速外设(如ISA、EISA总线)。
    • 现代计算机通常采用多级总线结构(如北桥、南桥),将高速设备(显卡、内存)与低速设备(硬盘、USB)分离。

6.1.4 常见的总线标准

总线标准类型特点
ISA系统总线早期PC总线,16位,8MHz,已淘汰
EISA系统总线32位,兼容ISA,主要用于服务器
PCI局部总线32/64位,33/66MHz,即插即用,带宽高
PCIe串行总线点对点,全双工,采用差分信号,分链路(×1、×4、×16等),取代PCI
AGP图形加速端口专用于显卡,基于PCI改进,已淘汰
USB通信总线串行,热插拔,支持即插即用,版本2.0、3.0、3.1等
SATA存储接口串行,用于连接硬盘、光驱,高带宽
SCSI系统总线并行,多设备,用于服务器和存储设备
RS-232C通信总线串行,用于串口通信

6.1.5 总线的性能指标

最主要的性能指标是总线宽度、总线工作频率、总线带宽

  • 总线宽度:数据总线一次能并行传输的二进制位数(位宽)。指的是数据总线的根数,32根即32位。
  • 总线时钟周期:总线一次传输一个数据周期的时间。
  • 总线时钟频率:总线的工作时钟频率(MHz)。
  • 总线带宽:单位时间内总线传输的数据量。
带宽=总线宽度(B)×总线频率(Hz)\text{带宽} = \text{总线宽度(B)} \times \text{总线频率(Hz)}

注意:若总线采用倍频技术,实际带宽可能更高。

  • 总线传输周期:一次完整的总线操作所需时间。包括申请、寻址、传输、结束。
  • 总线复用:地址线和数据线共用一组物理线路,分时传送地址和数据,可减少引脚数,但会降低带宽。
  • 信号线数:地址线、数据线、控制线的总数。

6.2 总线事务和定时

6.2.1 总线事务

总线事务是指从请求总线到完成数据传输的整个过程。通常包括以下阶段:

  1. 请求总线:需要控制总线的部件向总线控制器发出请求。
  2. 总线仲裁:当多个部件同时请求时,由总线控制器决定将总线使用权分配给哪个部件。
    • 集中仲裁:由中央总线仲裁器统一裁决。
      • 链式查询:通过菊花链传递信号,优先级固定,电路简单,但速度慢,对电路故障敏感。
      • 计数器定时查询:用计数器产生地址,轮流查询,优先级可编程。
      • 独立请求方式:每个部件有独立请求线和允许线,并行处理,速度快,但线数多。
    • 分布仲裁:各部件自己参与仲裁,没有中央仲裁器。
  3. 寻址:获得总线使用权的部件将地址、读写控制等信号放到总线上。
  4. 数据传输:源部件发送数据,目标部件接收数据。
  5. 结束:释放总线,撤销相关信号。

总线上的数据传送方式分为突发和非突发两种。

非突发传送每次传送都先传送地址,再传送数据。主从设备间通常只能一次传一个字长的数据。

突发传送方式能进行成组连续的传输,寻址阶段传送的是连续数据单元的首地址,传输阶段传送的是多个连续数据单元的数据。每个时钟周期可以传一个字长,但不释放总线,一组数据传送完毕再释放。

它们的核心区别在于是否连续传输数据而不重复发送地址

对比项非突发传送突发传送
传输方式每次传输一个数据单元,都需要先发送地址,再传输数据只需发送一次首地址,随后连续传输多个数据单元
地址发送次数每个数据单元对应一次地址传送整组数据共享一次地址传送
总线占用每个数据传送周期结束后可释放总线连续占用总线直到整组数据传送完毕
适用场景随机访问、数据不连续连续存储的数据块(如Cache行填充、DMA传输)
带宽利用率较低(地址开销大)较高(地址开销分摊到多个数据)
典型应用单字读写、I/O端口访问主存块读取、Cache缺失处理、PCIe传输

6.2.2 总线定时

总线定时是指总线在双方交换数据过程中,时序信号的控制方式。主要有同步定时异步定时两种。

1. 同步定时

  • 采用统一的时钟信号,所有操作都在时钟边沿同步。
  • 优点:时序关系简单,实现容易,传输速度快。
  • 缺点:时钟频率受最慢部件限制,无法适应不同速度的设备。

同步读时序(假设时钟周期T):

  • T1:主设备将地址、读命令放到总线上。
  • T2:从设备识别地址,准备数据。
  • T3:从设备将数据放到数据总线,主设备在T3结束时采样数据。
  • T4:撤销地址和控制信号。

2. 异步定时

  • 采用握手信号(请求、应答)协调,没有统一时钟。
  • 优点:适应不同速度的设备,可靠性高。
  • 缺点:控制复杂,传输效率低于同步。

异步定时的三种方式

  • 不互锁:主设备发出请求后,过一段时间自动撤销;从设备发出应答后,过一段时间自动撤销。
  • 半互锁:主设备收到应答后才撤销请求;从设备在请求撤销后自动撤销应答。
  • 全互锁:主设备收到应答后撤销请求;从设备收到请求撤销后撤销应答;主设备收到应答撤销后完成传输。

6.3 常见问题和易混淆知识点

  1. 总线的“共享”与“分时”:共享是指多个部件连接在同一总线上;分时是指同一时刻只能有一个部件发送数据,但多个部件可以同时接收。
  2. 同步总线与异步总线的比较:同步总线速度快,但要求所有部件速度匹配;异步总线灵活,但控制复杂,传输效率稍低。
  3. 链式查询与独立请求的区别:链式查询线数少,但优先级固定,速度慢;独立请求速度快,但线数多,电路复杂。
  4. 总线带宽与总线宽度、频率的关系:带宽 = 总线宽度(字节) × 频率(Hz)。注意单位换算。
  5. 总线复用:地址线和数据线共用,如PCI总线,可减少引脚数,但会降低有效带宽。