1
0
mirror of https://github.com/OmegaZhou/408-notes.git synced 2026-02-02 18:28:58 +08:00
Files
408-notes/计算机组成原理/总线.md
2020-08-30 19:57:43 +08:00

8.6 KiB
Raw Blame History

总线

概述

  • 总线是连接多个部件的信息传输线,是各部件共享的传输介质
  • 特点
    • 分时
    • 共享
  • 总线传输周期CPU通过总线对外设进行一次访问所需的时间
  • 总线宽度:可同时传输的二进制代码位数
  • 总线特性
    • 机械特性:尺寸,形状
    • 电气特性:传输方向,有效的电平范围
    • 功能特性:每根传输线的具体功能(如传送地址、传送数据等)
    • 时间特性:信号的时序关系(如某根线什么时间有效)

分类

按数据传输方式

  • 串行传输总线
  • 并行传输总线

按使用范围

  • 计算机总线
  • 测控总线

按连接部件

  • 片内总线
    • 位于芯片内部
    • 如CPU内部寄存器之间的连接
  • 系统总线
    • 连接五大部件(运算器、控制器、存储器、输入设备和输出设备)
    • 分类
      • 数据总线
        • 双向传输总线
      • 地址总线
        • 单向传输总线
      • 控制总线
        • 整体上看:双向传输
        • 任意一条:单向传输
  • 通信总线
    • 计算机系统之间或计算机系统与其他系统间通信
    • 分类
      • 串行通信
        • 适合远距离传输
      • 并行通信
        • 适合近距离传输

总线的组成

  • 控制线
  • 数据线
  • 地址线(部分总线无地址线,使用数据线传输地址,称为数据线和地址线复用)

总线的性能指标

  • 总线宽度:总线的根数
  • 总线带宽:单位时间内传输数据的位数
  • 总线复用:地址线和数据线共用以概率总线
  • 信号线数:三种总线数目总和

总线的结构

单总线结构

  • 所有设备共用一组总线
  • 允许交换信息的设备
    • I/O设备之间
    • I/O设备与CPU
    • I/O设备与主存
    • CPU与主存
  • I/O设备与主存统一编址
  • 优点
    • 结构简单
    • 容易扩充
  • 缺点
    • 不允许多个设备同时传输信息
    • 无法解决不同设备速率不匹配问题
  • 适用对象
    • 小型计算机
    • 微型计算机

双总线结构

  • 将速度较低的I/O设备分离出来
  • 形成CPU与主存CPU与I/O设备两组总线
  • 允许交换信息的设备
    • I/O设备之间
    • I/O设备与CPU或通道处理器
    • CPU与主存
  • 缺点
    • 主存与I/O设备交换信息需要通过CPU或通道处理器效率低

三总线结构

  • 在高速I/O设备与主存间增加了DMA总线
  • 允许交换信息的设备
    • I/O设备之间
    • I/O设备与CPU
    • 高速I/O设备与主存
    • CPU与主存

总线仲裁

集中仲裁方式

  • 所有总线请求统一集中交予一个仲裁算法进行裁决
  • 组成
    • 总线忙线
    • 总线同意线
    • 总线请求线

链式查询方式

  • 所有部件使用一条总线请求线
  • 判定步骤
    1. 部件需要请求总线时,发送总线请求至总线控制器
    2. 若总线不忙,发送总线同意信号
    3. 总线同意信号串行依次传送到各个部件,若某一部件有总线请求时,停止传送
    4. 该部件建立总线忙信号
  • 优先级
    • 离总线控制器越近的部件优先级越高
  • 优点
    • 只需三根控制线,结构简单,易扩充
  • 缺点
    • 有硬件电路敏感第i个部件出错之后的部件都不能工作
    • 优先级低的总线会出现饥饿现象

计数器查询方式

  • 在总线控制器中增加一个计数器
  • 不需要总线同意线
  • 增加log2n设备地址线
  • 判定步骤
    1. 总线控制器收到请求后,计数器开始计数
    2. 将计数器的数值通过设备地址线传输给每个设备
    3. 若发送请求的设备地址与计数器数值不一致时,继续计数,回到第二步
    4. 直到发送请求的设备的地址与计数器一致时,获取设备控制权,建立总线忙信号
  • 优先级
    • 方案1每次计数从0开始地址数值越小优先级越大
    • 方案2每次计数从上一次的终点开始计数所有设备优先级相等
  • 优点
    • 各设备优先级顺序可以改变(通过修改设备地址)
    • 对电路故障不如链式查询方式敏感
  • 缺点
    • 增加了控制线数
    • 控制也比链式查询复杂

独立请求方式

  • 每个设备都有一个总线请求线和总线同意线
  • 判定步骤
    1. 每个设备独立发送请求
    2. 总线控制器按照特点算法决定优先级
    3. 选择好某一设备后,使用他的总线同意线发送同意信息
    4. 该设备建立总线忙信号
  • 优点
    • 响应时间快
    • 对优先级控制灵活(可通过程序改变)
  • 缺点
    • 控制线数量多
    • 总线控制最复杂

总线数目

总线类型 链式查询方式 计数器查询方式 独立请求方式
总线同意线 1 n
总线忙线 1 1 1
总线请求线 1 1 n
设备地址线 \lceil log_2n \rceil
总数 3 \lceil log_2n \rceil +2 2n+1
确定所有权需要的总线数 2 \lceil log_2n \rceil +1 2n

分布式仲裁方式

  • 不需要中央仲裁器
  • 每个模块有自己的仲裁号和仲裁器
  • 每个仲裁器将自己的仲裁号发送到共享的仲裁总线上
  • 通过对比仲裁总线上得到的仲裁号确定哪一个仲裁器占有总线

总线操作和定时

总线周期的组成

  • 申请分配阶段(进行仲裁)
  • 寻址阶段
  • 传送数据阶段
  • 结束阶段

分类

  • 同步通信(同步定时方式)
  • 异步通信(异步定时方式)
  • 半同步通信
  • 分离式通信

同步定时通信

  • 时钟周期
    1. 发送地址信息(直到第四周期结束为止,始终保持信号),若写指令,则在第一周期的中间时刻进行数据准备操作
    2. 发送读写命令(维持到第三周期结束)
    3. 传输数据
    4. 撤销读写命令,撤销数据传输
  • 优点
    • 传输速度快
  • 缺点
    • 时钟必须以最慢模块设计
    • 模块存取速度差别较大时,大大损失总线效率
    • 可能不知道被访问的外部设备是否真正相应,可靠性低
  • 适用范围
    • 总线长度较短,各部件存取时间接近的设备

异步定时方式

  • 增加两条应答线(请求线回答线
  • 采用**应答(握手)**的方式进行通信
  • 步骤
    1. 主模块发出请求
    2. 等待从模块响应信号后才开始通信
  • 分类
    • 不互锁方式
      • 主从模块无制约关系
      • 主模块发出请求一段时间后,默认从模块收到信号,撤销请求
      • 从模块发出应答一段时间后,默认主模块收到信号,撤销应答
    • 半互锁方式
      • 主从模块只有简单制约关系
      • 主模块发出请求后,只有收到从模块的应答信号后才撤销请求
      • 从模块发出应答一段时间后,默认主模块收到信号,撤销应答
    • 全互锁方式(与三次握手几乎一样)
      • 主从模块只有完全制约关系
      • 主模块发出请求后,只有收到从模块的应答信号后撤销请求,并发出应答
      • 从模块发出应答后,只有收到主模块的应答信号后撤销应答

总线标准

系统总线标准

  • ISA工业标准体系结构总线
    • 最早的微型计算机系统总线标准
    • 用于IBM的AT机
  • EISA扩展的ISA总线
    • 配合32位CPU的总线扩展标准
    • 完全兼容ISA
  • VESAVL-BUS
    • 32位的计算机局部总线
    • 用于多媒体PC传输活动图像数据
  • PCI最常用
    • 计算机局部总线
    • 连接外围设备与处理机/存储器系统
    • 支持即插即用
    • 支持对数据和地址的奇偶校验
  • PCI-ExpressPCI-E
    • 最新的总线和接口标准
    • 将取代PCI和AGP

设备总线标准

  • IDE集成设备电路
    • 用于连接处理器和磁盘驱动器
  • AGP加速图形接口
    • 用于连接主存和图形存储器
  • USB通用串行总线
    • 用于快速连接外部设备
    • 串行传输,只能同时传输一位数据
    • 通信总线
  • SATA串行高级技术附件
    • 串行硬件驱动器接口

其他零散知识

  • 计算机局部总线局部总线是在ISA总线和CPU总线之间增加的一级总线或管理层。这样可将一些高速外设如图形卡硬盘控制器等从ISA总线上卸下而通过局部总线直接挂接到CPU总线上使之与高速能CPU总线相匹配。