【复习408】系统总线

1. 总线在计算机系统中的核心地位

在冯·诺依曼体系结构中,计算机被划分为运算器、控制器、存储器、输入设备和输出设备五大部件。而将这些原本孤立的部件有机地连接起来,使它们能够协同工作、交换信息的关键,就是 总线 (Bus)。

从概念上讲,总线是连接多个计算机部件,并为它们之间提供信息交换通路的公共传输线束 。它的核心特性是分时共享,即在同一时刻,总线上只能传输一个部件发送的信息,但该信息可以被多个部件接收 。这种共享机制极大地简化了计算机内部的硬件连接,降低了成本和复杂性,同时也为系统的模块化和扩展性提供了基础。

2. 总线的基本概念与分类

2.1 总线的构成

从功能上划分,一条完整的系统总线通常由三组独立的线路构成 :

  • 数据总线 (Data Bus): 负责在CPU、主存和I/O设备之间双向传输数据信息。其位数,即总线宽度,是决定计算机性能的关键指标之一,直接决定了单次数据传输量的大小。
  • 地址总线 (Address Bus): 主要由CPU发出,是单向的,用于指定主存单元或I/O端口的地址。地址总线的位数决定了系统能够访问的最大地址空间。例如,32位地址总线可以访问 2^32 个地址单元。
  • 控制总线 (Control Bus): 负责传输控制信号和时序信号。它由多条不同的控制线组成,例如读/写信号、时钟信号、中断请求、总线请求/总线允许信号等,用于协调各部件的操作。控制总线的传输方向是双向的,取决于具体的控制信号。

2.2 总线的分类

总线可以从不同维度进行分类,这有助于我们理解其在不同场景下的应用和特性:

  • 按数据传送方式:

    • 并行总线 (Parallel Bus): 多位数据在多条并行的线路上同时传输。优点是传输速率高,但当频率提高时,信号间的串扰和时钟偏移问题会变得严重,且占用布线空间大。
    • 串行总线 (Serial Bus): 数据在单条或少数几条线路上按位顺序传输。虽然看似速度慢,但现代高速串行总线(如PCIe)通过极高的工作频率和先进的信号技术,其有效带宽已远超传统并行总线,且抗干扰能力强,布线简单。
  • 按功能位置:

    • 片内总线: 位于CPU芯片内部,用于连接寄存器、ALU等内部组件。
    • 系统总线: 连接CPU、主存、I/O接口等计算机主要功能部件,是本报告讨论的重点。
    • 通信总线: 用于计算机系统之间或计算机与外部设备之间的通信,也称外部总线。
  • 按时序控制方式:

    • 同步总线 (Synchronous Bus): 总线上所有设备的动作都由一个统一的时钟信号来协调和同步。
    • 异步总线 (Asynchronous Bus): 不依赖于公共时钟,而是采用“握手”协议,通过应答信号来协调通信双方的动作。

3. 总线的性能指标

总线的性能直接影响整机性能,其关键指标是408考研中计算题的常见考点。

  • 总线宽度 (Bus Width): 即数据总线的位数,通常以位 (bit) 为单位。例如,PCI总线支持32位或64位宽度。
  • 总线时钟周期/频率 (Bus Clock Cycle/Frequency): 总线时钟周期是时钟信号两个相邻脉冲之间的时间间隔,而频率是周期的倒数,单位为赫兹 (Hz)。它定义了总线的基本工作节拍。
  • 总线带宽/传输速率 (Bus Bandwidth/Transfer Rate): 这是衡量总线性能的核心指标,指总线在单位时间内能够传输的数据总量,通常以字节/秒 (B/s)、兆字节/秒 (MB/s) 或千兆字节/秒 (GB/s) 为单位。

总线带宽的计算公式为:
总线带宽 (B/s) = (总线宽度 (bit) / 8) × 总线工作频率 (Hz)

举例分析: 假设某总线的宽度为64位,时钟频率为100MHz,那么其理论最大带宽为:
带宽 = (64 bit / 8) × 100 MHz = 8 B × 100,000,000 /s = 800,000,000 B/s = 800 MB/s。

需要注意的是,这只是理论峰值带宽。在实际应用中,由于总线仲裁、寻址等开销,实际有效带宽会低于此值。

4. 总线结构

  1. 单总线结构: 所有部件(CPU、主存、I/O设备)都连接到同一组总线上。这种结构的优点是简单、成本低、易于扩展。但缺点也十分明显:总线成为系统的性能瓶颈,任何两个设备间的数据传输都必须占用总线,导致系统吞吐量受限。
  2. 多总线结构: 为了解决单总线的瓶颈问题,现代计算机普遍采用多总线或层次化总线结构
    。典型的结构包括:
  • CPU总线 (或称本地总线): 用于连接CPU和高速缓存 (Cache)。
  • 系统总线 (或称主存总线): 用于连接主存和CPU。
  • I/O总线: 用于连接中低速的I/O设备。
    这些不同速度的总线之间通过 桥 (Bridge) 芯片进行连接和协调,使得高速设备(如CPU和主存)之间的通信不会被低速I/O设备的操作所拖累,从而提升了系统整体性能。

5. 总线仲裁

5.1 仲裁的必要性

在总线系统中,能够主动发起数据传输的设备称为 主设备 (Master) ,只能响应请求的设备称为 从设备 (Slave)。当系统中存在多个主设备(如CPU、DMA控制器)时,它们可能会在同一时刻请求使用总线,从而产生冲突 。总线仲裁 (Bus Arbitration) 就是为了解决这个问题而设计的机制,其目标是根据一定的优先级规则,在多个请求中选择一个,授予其总线控制权,确保在任一时刻只有一个主设备能够控制总线。

总线仲裁机制可分为两大类:集中式仲裁分布式仲裁

5.2 集中式仲裁 (Centralized Arbitration)

集中式仲裁的控制逻辑集中在一个称为 总线仲裁器 (Bus Arbiter) 的硬件部件中 。常见的集中式仲裁方式有如下三种:

  • 链式查询 (Daisy Chaining):

    • 工作原理: 总线允许信号 (Bus Grant, BG) 从仲裁器发出,串行地从一个设备传递到下一个设备。离仲裁器最近的设备优先级最高。当有请求的设备接收到BG信号时,它会截获该信号,不再向下传递,并获得总线控制权。
    • 优缺点: 优点是结构简单,只需很少几根控制线。缺点是优先级固定,对电路故障敏感(某个设备故障可能导致其后的设备都无法获得总线)。
  • 计数器定时查询 (Polling):

    • 工作原理: 仲裁器内部有一个计数器,当收到总线请求 (Bus Request, BR) 后,它会启动计数,并将计数值通过一组地址线发送给各个设备。当某个设备的地址与计数值吻合且该设备有请求时,它就获得总线控制权。
    • 优缺点: 优点是优先级可以灵活设置(例如,可以从上次响应的设备开始计数,实现循环优先级)。缺点是查询速度相对较慢,控制线数量多于链式查询。
  • 独立请求 (Independent Request):

    • 工作原理: 每个设备都有一对独立的总线请求线 (BR) 和总线允许线 (BG) 与仲裁器相连。
    • 优缺点: 优点是响应速度最快,优先级控制非常灵活(可以在仲裁器内部通过硬件逻辑随时调整)。缺点是需要的控制线数量最多,硬件实现最复杂。

5.3 分布式仲裁 (Distributed Arbitration)

分布式仲裁的控制逻辑分散在总线上的各个设备模块中,没有中央仲裁器 。当设备需要使用总线时,它们会将自己的优先级编码发送到共享的仲裁总线上,每个设备通过比较总线上的优先级和自己的优先级来决定是否能获得总线控制权。这种方式虽然实现复杂,但可靠性更高。

6. 总线定时与数据传输

总线定时是指总线在数据传输过程中事件发生的时间顺序和时序关系。它规定了通信双方如何协调动作,以确保数据被正确无误地传输。

6.1 总线事务周期 (Bus Transaction Cycle)

一次完整的总线数据传输过程称为一个总线事务或总线周期,通常包含以下四个阶段:

  1. 申请分配阶段: 主设备提出总线使用请求,经仲裁后获得总线控制权。
  2. 寻址阶段: 主设备通过地址总线发出目标从设备的地址和相关命令。
  3. 传输阶段: 主设备和从设备之间通过数据总线进行数据交换。
  4. 结束阶段: 主设备撤销相关信息,释放总线控制权。

6.2 同步定时 (Synchronous Timing)

在同步通信中,所有总线上的操作都由一个统一的时钟信号来控制和同步。通信双方都按照时钟信号的节拍进行工作。

  • 优点: 控制逻辑简单,传输速度快。
  • 缺点: 所有设备必须与时钟同步,无法很好地兼容不同速度的设备,总线长度受时钟信号畸变的限制。

6.3 异步定时 (Asynchronous Timing)

异步通信不依赖于公共时钟,而是采用一套 握手 (Handshaking) 协议来协调通信 。主设备和从设备之间通过一对或多对应答信号(如“请求”和“确认”)来确认每一步操作是否完成。

  • 优点: 总线周期长度可变,能够可靠地协调不同速度的设备,总线长度不受时钟限制。
  • 缺点: 控制逻辑相对复杂,速度可能慢于同步方式。

常见的握手协议包括不互锁、半互锁和全互锁方式,它们在信号撤销的依赖关系上有所不同,可靠性依次递增。

7. 常见总线标准

了解一些主流的总线标准:

  • ISA/EISA: 早期的PC总线标准,速度慢,现已淘汰。
  • PCI (Peripheral Component Interconnect): 一种高性能的局部总线,支持即插即用和总线主控技术,曾广泛应用于PC。
  • PCI-Express (PCIe): 目前主流的总线标准,采用高速串行、点对点的连接方式,取代了共享并行的PCI总线,提供了极高的带宽和更好的可扩展性。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

L.EscaRC

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值