计算机组成原理-总线

chunqiu0812
14
2025-06-06

总线

总线概括

基本概念

定义:(了解即可)

上图为单总线结构(不是指只有一根线而是分为三种线)

总线设备

总线上所连接的设备

主设备:指的是获得总线控制权的设备,CPU 通常为主模块,有些 I/O 接口既可作为主模块,也可作为从模块

从设备:指的是被主设备访问的设备,它只能相应从主设备发来的各种总线命令,主存只能作为从模块

总线分类

按连接部件的不同分为三类

片内总线:是芯片内部的总线,用于芯片内部各部件(如 CPU 芯片里的寄存器与寄存器、寄存器与运算逻辑单元 ALU )间连接,是芯片内部传输数据、协调工作的 “内部通道”,实现芯片内功能模块的信息交互,让芯片能完成复杂运算与控制等操作。

系统总线:连接计算机系统内各大功能部件(像 CPU、主存、I/O 设备 ),是计算机系统内部传递信息的关键通道。其中系统总线又可以分为三类

  1. 数据总线:用来在各功能部件之间传输数据信息(数据和机器指令)。
    特点:
    ①数据总线为双向性传输总线;
    ②数据总线的位数称为总线宽度,即总线宽度表示系统总线能同时传送的数据位数,与机器字长,存储字长有关。

  2. 地址总线:用来指出数据总线上的源数据或目的数据在主存中的地址或者 I/O 设备的地址。
    特点:
    ①地址来源于总线传输操作的发起者,即地址传输的方向为发起者到响应者,因此可以认为地址总线为单向总线。
    ②地址总线的宽度决定了系统总线的寻址范围。例如,若地址为 32 位,则按字节寻址的主存储器可达到的最大容量为232B = 4GB

  3. 控制总线:用来传送各种控制命令信号以及各部件间协同操作所需要的时序信号和操作状态信号。
    特点:
    ①控制总线给出的信号类型决定了系统总线所支持的控制方式及通信方式
    ②对于每根信号线来说,它是单向的;对于控制总线整体来说,它是双向的。

通信总线:通信总线是用于计算机系统之间,或是计算机系统与其他系统(像远程通信设备、测试设备、控制仪表、移动通信设备等 )之间,实现信息传送的总线,也叫外部总线 。

总线带宽:

总线带宽 = 总线工作频率 * ( 总线带宽 / 8 )

总线判优控制

当有多个主模块同时发出总线请求时,由总线仲裁逻辑决定优先响应哪一个主模块的请求,并将总线控制权移交给这个部件。

总线仲裁方式有集中式分布式

集中式:仲裁逻辑集中一起(例如,由 CPU 中的控制器承担),分为链式查询计数器定时查询独立请求三种方式。

链式查询方式

过程:通过一条判优链路对所有主模块逐个串行查询(通常,离总线控制器物理连接最近的模块优先级最高)

优点:控制信号线数量少,结构简单,易于扩充。

缺点:查询速度慢,对传播过程中电路故障敏感;各模块优先级固定不变,使用灵活性差。

BS(Bus Busy)总线忙信号所有主模块都通过此线向总线控制器发送 “忙” 信号,该信号有效时表示总线正在被占用。

BR(Bus Request是总线请求信号。所有主模块都通过此线向总线控制器发请求信号,该信号有效时表示系统中至少有一个主模块请求使用总线。

BG(Bus Grant是总线允许信号。总线控制器通过此线向请求总线的主模块发出允许使用总线信号,该信号有效时表示总线控制器已经响应了总线请求。

计数器定时查询

过程:在总线控制器中设置一个查询计数器。开始查询时,启动计数器计数。每计数一次,就将计数值作为模块地址发往各个主模块。每个申请总线的主模块对地址进行识别,地址相符合的模块就获得了总线的控制权,并且通过设置总线忙信号 BS 有效使查询计数器停止计数。

(1)若每次查询时计数器都是从开始计数,则号(模块地址)主模块的优先级最高,其他主模块优先级按照模块地址依次降低。
(2)若每次查询时计时器都是从上一次查询的计数终止点开始计数,则终止点对应的模块优先级最高。通常这种方式下计数器循环计数,这样主模块的优先级也就循环递减。
(3)若计数初值由程序设定,则各主模块的优先级可以通过编程来改变。

优点:优先级设置比较灵活;查询过程对电路故障敏感度较低。

缺点:控制过程相当复杂,硬性开销大。

独立请求

过程:每一个主模块专用一根总线请求信号线,和一根总线允许信号线BGi,各自独立地向总线控制器发出请求。总线控制器中设置并行排队线路,对各模块发来的总线请求信号BRi同时进行排队判优,然后通过各自独立的总线允许信号线BGi,向优先级最高的申请模块发送总线允许信号。

优点:查询速度快。

缺点:控制逻辑复杂,硬性开销大。

分布式:仲裁逻辑分布在总线连接的各个部位中。(不考)

总线通信控制

总线事务

从请求总线到完成总线使用的操作序列称为总线事务,它是在一个总线周期中发生的一系列活动。
分为以下四个阶段
①申请分配阶段:由需要使用总线主设备/主模块(CPU 或 DMA)发出总线传输请求,并且获得总线控制权,经总线仲裁机构决定将下一个传输周期的总线使用权授予某个申请者。
②寻址阶段:主设备通过总线给出要访问的从设备地址及有关命令,启动从模块。
③传输阶段:主模块和从模块进行数据交换,可单向或双向进行数据传送。
④结束阶段:主模块的相关信息均从系统总线上撤除,让出总线使用权。

同步通信

  • 核心机制:依赖统一且固定时长的时钟信号协调通信,总线上所有模块严格按时钟节拍(如时钟上升沿 / 下降沿)执行地址发送、数据传输等操作,总线周期(一次完整通信的时间)由时钟周期决定且固定。

  • 特点

    • 优点:时序简单、控制逻辑清晰,传输速率稳定(时钟频率高则传输快 );

    • 缺点:兼容性差,需所有模块适配同一时钟,若有低速模块会拖慢整体(如系统里有慢速外设,CPU 等高速模块也得等它 );总线长度受限(长总线易因信号延迟破坏时序同步 )。

  • 应用场景:总线短、模块速度相近的场景,如早期计算机内部 CPU 与高速缓存、内存的连接 。

异步通信

  • 核心机制:无统一时钟,靠 “请求 - 应答” 握手信号 协调时序。主设备发 “请求”(如BR总线请求 ),从设备准备好后回 “应答”(如BG总线允许 ),双方按需交互,总线周期长度灵活。

  • 分类(按握手信号交互严格度)

    • 不互锁:主发请求后不等应答就继续,从设备也可随时应答,时序最宽松但可靠性低,易丢信号;

    • 半互锁:主发请求后等从应答才继续,从发应答后无需等主确认就撤销,有一定可靠性;

    • 全互锁:主发请求→等从应答→从发应答→等主确认撤销请求→从再撤销应答,严格握手,可靠性最高但时序稍复杂。

  • 特点

    • 优点:适配不同速度模块(高速主设备不用等低速从设备统一时钟 ),总线长度限制小(信号延迟可通过握手信号补偿 );

    • 缺点:控制逻辑复杂(需设计握手信号交互 ),传输速率受限于握手信号往返时间。

  • 应用场景:模块速度差异大、总线长的场景,如计算机与外设(键盘、打印机 )的通信,或工业控制中远距离设备连接 。

半同步通信

  • 核心机制:结合同步(统一时钟基础 )和异步(增设 “等待(WAIT)” 信号 )的混合模式。主设备按时钟发信号,若从设备无法及时响应(如低速内存读写 ),从设备发 “等待” 信号,主设备暂停等待,直到从设备撤销 “等待” 再继续。

  • 特点

    • 优点:兼具同步的时序简洁(有基础时钟 )和异步的灵活性(用等待信号适配不同速度 ),兼容性比同步强;

    • 缺点:增加了等待信号的控制逻辑,总线周期因等待可能变长(影响效率 )。

  • 应用场景:系统内既有高速模块(如 CPU )又有低速模块(如老旧硬盘 ),且希望简化控制的场景,常见于计算机主板总线设计 。

分离式通信

  • 核心机制:把总线传输拆分为两个独立子周期

    • 子周期 1(主模块占用总线):主设备(如 CPU )发地址、命令后,立即释放总线,无需等待从设备响应;

    • 子周期 2(从模块占用总线):从设备(如内存 )准备好数据后,申请占用总线,再把数据发回主设备。 两个子周期独立,总线可在中间空闲时被其他模块复用。

  • 特点

    • 优点:极致挖掘总线空闲时间,多个模块可 “交叉” 使用总线(主发命令→总线空闲→其他模块用总线→从设备再回传数据 ),总线利用率极高;

    • 缺点:控制逻辑复杂(需管理总线所有权转移、子周期衔接 ),对模块独立性和智能性要求高(从设备需能主动申请总线 )。

  • 应用场景:大型计算机系统或高并发、对总线效率要求极高的场景,如服务器内部总线设计 。

动物装饰