系统总线 @

总线的作用 @

总线是连接各个部件的信息传输线,是各个部件共享的传输介质.

总线上的信息传送 @

  • 串行传输,每次只传送一个字节,也只接收一个字节.
  • 并行传输,每次传输多个字节,接收多个字节,但也要使用更多传输线.

总线结构的计算机举例 @

单总线结构框图 @

将所有的设备全部连接到一条总线上,缺点是当某一个设备占用总线时,其他设备不能占用总线,导致整体运行效率降低.

面向 CPU 的双总线结构框图 @

以 CPU 为中心,双总线结构在 CPU 与内存之间使用了一根专用的总线,由于 CPU 运算时的指令与数据全部来自主存,所以在 CPU 与主存间使用总线可以保证 CPU 的运行效率,并且不会影响 I/O 设备的使用,但如果 I/O 设备要和主存之间进行信息传输必须经过 CPU,导致 CPU 工作繁忙.

以存储器为中心的双总线结构框图 @

以主存为中心,这种结构不仅让 CPU 可以直接访问主存,也让 I/O 设备可以直接对主存进行存储操作.

总线的分类 @

  • 片内总线,芯片内部的总线

  • 系统总线,计算机各部件之间的信息传输线

    • 数据总线,双向,与机器字长,存储子长有关
    • 地址总线,单向,与存储地址,IO 地址有关
    • 控制总线,有出有入.
  • 通信总线,用于计算机系统之间或计算机系统与其它系统之间的通信.

    • 串行通信总线
    • 并行通信总线

总线特性及性能指标 @

总线的物理实现 @

微型计算机中一般有一个大型印刷电路板,称之为主板,主板上分布总线,总线提供接口可以与其他设备相连接.

总线特性 @

  1. 机械特性: 尺寸,形状,管脚数及排列顺序.
  2. 电气特性: 传输方向和有效的电平范围.
  3. 功能特性: 每根传输线的功能,传输信号.
  4. 时间特性: 信号的时序关系.

总线性能指标 @

  1. 总线宽度: 数据线的根数
  2. 标准传输率: 每秒传输的最大字节数(MBps)
  3. 时钟同步/异步: 同步、不同步
  4. 总线复用: 地址线与数据线复用(8086)
  5. 信号线数: 地址线、数据线和控制线的总和
  6. 总线控制方式: 突发、自动、仲裁、逻辑、计数
  7. 其他指标: 负载能力(能挂多少 I/O 设备)

总线标准 @

例如 ISA 总线,时钟为 8MHz,每秒可以传送 8M 次,每次传送 16bits 信息也就是两个字节,可以很容易计算出带宽为 16MBps.

带宽=总线宽度 x 总线频率.

总线结构 @

双总线结构 @

将总线分为存储总线和 I/O 总线,存储总线用于连接 CPU 和主存,I/O 总线负责连接 I/O 设备,然后用通道将 I/O 总线与主存总线连接.

通道: 具有特殊功能的处理器,由通道对 IO 统一管理,一般来说通道有自己的控制器与指令系统,并且可以执行一些简单的指令与通道程序.

三总线结构 @

三总线结构将总线分为 I/O 总线,储存总线与 DMA 总线(直接存储器访问,外部设备直接访问内存),DMA 总线与 I/O 接口相连,如果有高速设备需要与主存进行连接,可以通过 DMA 总线而不需要通过 I/O 总线.

三总线结构的又一形式 @

由于 CPU 的速度提高的非常快,所以现代计算机在主存与 CPU 之间增加了小容量高速度的 Cache 用于缓存主存的一些数据,CPU 运行时需要的指令和数据主要从 Cache 中获取,局部总线连接了 CPU 和 Cache,局部 I/O 控制器可以连接高速的 I/O 设备,系统总线通过扩展总线接口,连接了扩展总线,可以将各种外部设备连接到扩展总线,这样解决了 I/O 设备的扩展问题,外部设备通过扩展总线接口将数据传送进系统总线进而传送给主存和 CPU.

这种结构的缺点是多种速度的设备都连接到了扩展总线,会影响 I/O 设备的运行效率.

四总线结构 @

四总线结构包括,局部总线、系统总线、高速总线和扩展总线,局部总线连接 CPU 和 Cache/桥,系统总线连接主存和 Cache,桥电路连接 高速总线,高速总线连接各种高速设备,高速总线连接扩展总线接口,扩展总线接口连接扩展总线,扩展总线用于连接低速设备.这样避免了外部设备速度不同的问题,分离了高速设备与低速设备.

总线结构举例 @

传统微型机总线结构 @

VL-BUS 局部总线结构 @

PCI 总线结构 @

多层 PCI 总线结构 @

总线控制 @

基本概念 @

  • 主设备(模块), 对总线有控制权

  • 从设备(模块),响应从主设备发来的总线命令

  • 总线判优控制

    • 集中式
      • 链式查询
      • 计数器定时查询
      • 独立请求方式
    • 分布式

链式查询方式 @

总线控制部件集中在了一起,数据线用于信息交换过程中数据的传输,主设备占用总线后要跟从设备进行数据传输要通过地址总线找到对应的从设备.所有的设备都通过 BR 线发出总线占用或使用的请求.如果某个设备占用了总线控制权,则该设备通过 BS 告知总线控制部件或其他部件总线忙.BG 为总线授权线,通过 BG 线逐个查询是哪一个设备提出的总线占用请求,该设备通过 BS 线设置总线忙,它就获得了总线的使用权.这种方式提前设置了设备的优先权,靠后的设备可能不会获得总线占用权.对电路故障敏感,如果向下传送过程中某一个电路出现故障,后面的设备就无法获得总线使用权.

计数器定时查询方式 @

地址线用于查找从设备,设备地址上传输的地址是计数器给出的,通过这个地址去查找某个设备是否发出了总线占用请求.总线控制部件中有一个计数器,如果某主设备发出总线控制请求,控制部件收到请求后,可以让出总线使用权的情况下,会启动计数器.这个计数器的值通过设备地址这条线向外输出.计数器的值为 0,就对 I/O 接口 0 进行查询,判断是否提出了响应请求,找到提出请求的设备后通过 BS 线应答.这种查询方式更加灵活,你可以设置计数器的启动,更改优先级.设备地址线数量与设备数有关.

独立请求方式 @

每一个 I/O 接口都连接 BG 与 BR 两条线,总线控制部件中有一个排队器.n 个设备需要 2n 条线,多个 I/O 设备同时发起总线请求,排队器负责选择优先级高的设备控制总线.

总线通信控制 @

  • 目的: 解决通信双方协调配合问题

  • 总线传输周期(主设备和从设备之间完成一次完整并可靠的通讯需要的时间)

    • 申请分配阶段: 主模块申请,总裁仲裁决定
    • 寻址阶段: 主模块向从模块给出地址和命令
    • 传输阶段: 主模块和从模块交换数据
    • 结束阶段: 主模块撤销有关消息
  • 总线通信的四种方式

    • 同步通信: 由统一的时标控制数据传送
    • 异步通信: 采用应答方式,没有公共时钟标准
    • 半同步通信: 同步、异步结合
    • 分离式通信: 充分挖掘系统总线每个瞬间的潜力

同步式数据输入 @

同步式数据输出 @

异步通信 @

半同步通信 @

同步: 发送方用系统时钟前言发信号,接收方用系统时钟后沿判断、识别.

异步: 允许不同速度的模块和谐工作,增加一条等待响应信号 WAIT.

以输入数据为例的半同步通信时序 @

  • T1: 主模块发地址
  • T2: 主模块发命令
  • Tw: 当 WAIT 为低电平时,等待一个 T
  • Tw: 当 WAIT 为低电平时,等待一个 T…
  • T3: 从模块提供数据
  • T4: 从模块撤销数据,主模块撤销命令

上述三种通信的共同点 @

一个总线传输周期(以输入数据为例)

  • 主模块发地址、命令 (占用总线)
  • 从模块准备数据 (不占用总线,总线空闲)
  • 从模块向主模块发数据 (占用总线)

分离式通信 @

一个总线传输周期

  • 子周期 1: 主模块申请占用总线,使用完后即放弃总线的使用权.
  • 子周期 2: 从模块申请占用总线,将各种信息传送至总线上.

分离式通信特点 @

  1. 各模块有权申请占用总线
  2. 采用同步方式通信,不等对方回答
  3. 各模块准备数据时,不占用总线
  4. 总线被占用时,无空闲.