🚥计算机组成原理 系列文章导航🚥

  1. 计算机组成原理 第一章 计算机系统概述
  2. 计算机组成原理 第二章 数据的表示和运算
  3. 计算机组成原理 第三章 存储系统
  4. 计算机组成原理 第四章 指令系统
  5. 计算机组成原理 第五章 中央处理器
  6. 计算机组成原理 第六章 总线
  7. 计算机组成原理 第七章 输入/输出系统

一、总线概述

1.总线的物理实现

image-20250320150905410

每个总线可能由很多根信号线组成,如上图中,4 根信号线组成 “一根” 总线,所以硬件部件都可以通过这根总线传递数据,可并行发送 4bit 数据。

同一时刻只能有一个部件发送数据,但是可有多个部件接收数据。

2.总线的定义

早期的计算机各部件直接是通过单独的连线互连的,这种方式被称为分散连接。为了更好解决 I/O 设备和主机之间连接的灵活性,计算机的结构从分散连接发展为总线连接

分时和共享是总线的两个特点:

  • 分时:指同一时刻只允许有一个部件向总线发送信息,若系统中有多个部件,则它们只能分时地向总线发送信息。

  • 共享:指总线上可以挂接多个部件,各个部件直接相互交换的信息都可以通过这组线路分时共享,多个部件可同时从总线上接收相同的信息。

总线上所连接的设备,按其对总线有无控制功能可分为主设备和从设备两种:

  • 主设备:指发出总线请求且获得总线控制权的设备。

  • 从设备:指被主设备访问的设备,它只能响应从主设备发来的各种命令总线。

3.总线的特性

机器特性:尺寸、形状、管脚数、排列顺序

电器特性:传输方向和有效的电平范围

功能特性:每根传输线的功能(地址、数据、控制)

时间特性:信号的时序关系

4.总线的分类

(1)按数据传输方式分类

  • 串行总线:只有一条双向或两条单向传输的数据线,数据按比特位串行顺序传输,其效率低于并行总线。串行传输对数据线的要求不高,因此适合长距离通信(成本低、抗干扰能力强)。

  • 并行总线:有多条双向传输的数据线,可以实现多比特位的同时传输,其效率比串行总线更高。缺点是各条数据线的传输特点可能存在一些差异,比如有的信息位可能延迟,并且数据线之间相互干扰还会造成传输错误,因此并行总线适合近距离通信。

注意:并行总线并不一定总比串行总线快,它们适合不同的场景。并行总线由于是多个数据位同时传输,需要考虑数据的协同性,以及线路之间的相互干扰,导致工作频率无法持续提高。而串行总线可通过不断提高工作频率来提高传输速度,使其速度最终超越并行总线的速度。

(2)按功能层次分类

  • 片内总线:芯片内部的总线,用于 CPU 芯片内部各寄存器之间及寄存器与 ALU 的连接。

  • 系统总线:计算机系统内部各功能部件(CPU、主存、I/O 接口)之间相互连接的总线。

  • 通信总线:计算机系统之间或计算机系统与其他系统(如远程通信设备、测试设备)之间传送信息的总线,通信总线也称外部总线。

  • I/O 总线:主要用于连接中低速的 I/O 设备,通过 I/O 接口与系统总线相连接,目的是将低速设备与高速总线分离,以提升总线的系统性能,常见的有 USB、PCI 总线。

系统总线按传输信息内容的不同,又可以分为三类:

  • 数据总线:用于在各部件之间传输数据、指令、和中断类型号等,它是双向传输总线,数据总线的位数反映一次能传送的数据的位数。

  • 地址总线:用于指出数据总线上源数据或目的数据所在的主存单元或 I/O 端口的地址,它是单向传输总线,地址总线的位数反映最大的寻址空间。

  • 控制总线:用于传输各种命令、反馈和定时信号,典型的控制信号包括时钟、复位、总线请求/允许、中断请求/回答、存储器读/写、I/O 读、I/O 写、传输确认等。

image-20250320142901765

注意:数据通路表示的是数据流经的路径,而数据总线是承载的媒介。

(3)按时序控制方式分类

  • 同步总线:总线上连接的部件或设备通过统一的时钟进行同步,在规定的时钟节拍内进行规定的总线操作,来完成部件或设备之间的信息传输。

  • 异步总线:总线上连接的部件或设备没有统一的时钟,而是以信号握手的方式来协调各部件或设备之间的信息传输,总线操作时序不是固定的。

4.系统总线的结构

(1)单总线结构

image-20250320144042740

单总线结构将 CPU、主存、I/O 设备(通过 I/O 接口)都挂在一组总线上,允许 I/O 设备之间、I/O 设备与主存之间直接交换信息。

  • 优点:结构简单、成本低、易于接入新的设备。

  • 缺点:带宽低、负载重,多个部件只能争用唯一的总线,且不支持并行传送操作。

(2)双总线结构

image-20250320144604780

双总线结构有两条总线,一条是主存总线,用于在 CPU、主存和通道之间传送数据;另一条是 I/O 总线,用于在多个外部设备与通道之间传送数据。

通道是具有特殊功能的处理器,能对 I/O 设备进行统一管理。通道程序放在主存中。

上面的主存总线支持突发(猝发)传送,即送出一个地址,收到多个地址连续的数据。

  • 优点:将低速 I/O 设备从原单总线上分离出来,实现了存储器总线和 I/O 总线分离。

  • 缺点:需要增加通道等硬件设备。

(3)三总线结构

image-20250320150127695

三总线结构是在计算机系统各部件之间采用 3 条各自独立的总线来构成信息通信,这三条总线分为主存总线、I/O 总线和直接内存访问(DMA)总线。

主存总线用于在 CPU 和内存之间传送地址、数据和控制信息;I/O 总线用于在 CPU 和各类外设之间通信;DMA 总线用于在内存和高速外设之间直接传送数据。

  • 优点:提高了 I/O 设备的性能,使其更快地响应命令,提高系统吞吐量。

  • 缺点:任意时刻只能使用一种总线,系统工作效率较低。

(4)四总线结构

image-20250320150613880

桥接器:用于链接不同的总线(总线之间速度存在差异,靠近 CPU 的总线速度较快),具有数据缓冲、转换和控制功能。

5.总线的性能指标

  • 总线的时钟周期:即机器的时钟周期。计算机有一个统一的时钟,以控制整个计算机的部件,总线也要受此时钟的控制。

  • 总线时钟频率:即机器的时钟频率,它为时钟周期的倒数。

  • 总线传输周期(总线周期):指一次总线操作所需的时间,包括申请阶段、寻址阶段、传输阶段和结束阶段。总线传输周期通常由若干总线时钟周期构成。

  • 总线工作频率:总线上各种操作的频率,为总线周期的倒数。实际上指 1 秒内传送几次数据。

  • 总线宽度:又称总线位宽,是总线上能够同时传输的数据位数,通常指数据总线的根数,如 32 根称为 32 位总线。

  • 总线带宽:可理解为总线的数据传输率,即单位时间内总线上可传输数据的位数,通常用每秒钟传送信息的字节数来衡量,单位可用字节/秒(B/s)表示。

  • 总线复用:指一种信号线在不同的时间传输不同的信息。可以使用较少的线传输更多的信息,从而节省了空间和成本。

  • 信号线数:地址总线、数据总线、和控制总线三种总线数的总和。

总线带宽=总线工作频率 × 总线宽度(bit/s)= 总线工作频率 × (总线宽度/8)(B/s)

注意:大多数情况下,一个总线周期包含多个总线时钟周期;有的时候,一个总线周期就是一个总线时钟周期;有的时候,一个总线时钟周期可包含多个总线周期。

二、总线事务和定时

1.总线事务

从请求总线到完成总线使用的操作序列称为总线事务,它是在一个总线周期中发生的一系列活动。典型的总线事务包括以下五种:

  1. 请求阶段:主设备(CPU 或 DMA)发出总线传输请求,并且获得总线控制权。

  2. 仲裁阶段:总线仲裁机构决定将下一个传输周期的总线使用权授予某个申请者。

  3. 寻址阶段:主设备通过总线给出要访问的从设备地址及有关命令,启动从模块。

  4. 传输阶段:主模块和从模块进行数据交换,可单向或双向进行数据传送。

  5. 释放阶段:主模块的有关信息均从系统总线上撤出,让出总线使用权。

总线上的数据传送方式分为两种:

  • 非突发传送方式:在每个传送周期内都先传送地址,再传送数据,主、从设备之间通常每次只能传输一个字长的数据。

  • 突发(猝发)传送方式:能够进行连续成组数据的传送,其寻址阶段发送的是连续数据单元的首地址,在传输阶段传送多个连续单元的数据,每个时钟周期可以传送一个字长的信息,但是不释放总线,直到一组数据全部传送完毕后,再释放总线。

2.总线定时

总线定时是指总线在双方交换数据的过程中需要时间上配合关系的控制,其本质是一种协议或规则。

(1)同步定时方式

同步定时方式指总线控制器采用一个统一的时钟信号来协调发送和接收双方的传送定时关系。

image-20250320194224314
  1. CPU 在 T1 时刻的上升沿给出地址信息。

  2. 在 T2 的上升沿给出读命令(低电平有效),与地址信息相符合的输入设备按命令进行一系列的内部操作,且必须在 T3 的上升沿来之前将 CPU 所需的数据送到数据总线上。

  3. CPU 在 T3 时钟周期内,将数据线上的信息传送到其内部存储器中。

  4. CPU 在 T4 的上升沿撤销读命令,输入设备不再向数据总线上传送数据,撤销它对数据总线的驱动。

  • 优点:传送速度快,具有较高的传输速率;总线控制逻辑简单。

  • 缺点:主从设备属于强制性同步;不能及时进行数据通信的有效性检验,可靠性较差。

同步通信适用于总线长度较短及总线所接部件的存取时间比较接近的系统。

(2)异步定时方式

异步定时方式没有统一的时钟,也没有固定的时间间隔,完全依靠传送双方相互制约的 “握手” 信号来实现定时控制。

主设备提出交换信息的 “请求” 信号,经接口传送到从设备;从设备接到主设备的请求后,通过接口向主设备发出 “回答” 信号。

根据 “请求” 和 “回答” 信号的撤销是否互锁,分为以下三种类型:

image-20250320201539249

  • 优点:总线周期长度可变,能保证两个工作速度相差很大的部件或设备之间可靠地进行信息交换,自动适应时间的配合。

  • 缺点:比同步控制方式稍复杂一些,速度比同步定时方式慢。

(3)半同步定时方式

image-20250320202813876

半同步定时方式保留了同步定时的特点,如地址、命令、数据信号的发出时间都严格参照系统时钟的某个前沿开始,而接收方都采用了系统时钟后沿时刻来进行判断识别。

同时又像异步定时那样,允许不同速度的设备和谐的工作。为此增设一条 Wait 响应信号线。某个半同步总线总是从某个时钟开始,在每个时钟到来时,采样 Wait 信号,若无效则说明数据未准备好,下个时钟重新采样,直到检测有效再去数据线上取数据。

半同步定时适用于系统工作速度不高,但又包含了由许多速度差异较大的各类设备组成的简单系统。

  • 优点:控制方式比异步定时简单,各模块在系统时钟的控制下同步工作,可靠性高。

  • 缺点:系统时钟频率不能要求太高,所以从整体上来看,系统工作的速度不是很高。

(4)分离式定时方式

image-20250320210922463

前面的三种定时方式在整个传输周期都占用总线,但在从设备准备数据的阶段,总线纯属空闲等待。为此,分离式定时方式将总线事务分解为请求和应答两个子过程。

  • 请求:A 模块申请占用总线,将命令、地址等信息发送到总线上,发送完成后立刻释放总线。

  • 应答:B 模块收到 A 发来的命令后,将相关数据准备好,便由 B 申请占用总线,发送数据给 A。

注意:上述的两个子过程都只有单方向的信息流,每个设备都变为主设备。

  • 优点:在不传送数据时释放总线,使总线可接受其他设备的请求,不存在空闲等待时间。

  • 缺点:控制复杂,开销也大。