第三章 总线

第三章 总线

总线的基本概念

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

任何时刻只能有一对设备使用总线

总线上信息的传输

  • 串行:一次一位,长距离
  • 并行:一次多位,短距离

总线结构的计算机

  • 单总线结构:CPU,主存和 IO 设备都连接在同一条总线上
    • 缺点:无法支持两对设备同时通信
  • 面向 CPU 的双总线结构:从 CPU 延展出一条 IO 总线连接 IO 设备,一条 M 总线连接主存
    • 缺点:外部 IO 设备无法直接与主存交换数据
  • 面向存储器的双总线结构:一条系统总线连接 CPU,主存和 IO 设备,一条存储总线连接 CPU 和主存
    • 主存仍然不能同时向系统总线和存储总线传输数据,但可以直接和 CPU 以及 IO 设备交换数据

总线的分类

  • 片内总线:芯片内部的总线
  • 系统总线:计算机各部件之间的信息传输线
    • 数据总线:双向,与机器和存储字长有关
    • 地址总线:单向,与存储地址,IO 地址有关
    • 控制总线:有出有入,传输控制信号
  • 通信总线:计算机系统之间或计算机系统与其他系统
    • 串行通信总线
    • 并行通信总线

总线特性和性能指标

物理实现:印刷到主板

总线特性

  • 机械特性:尺寸,形状,管脚数和排列顺序
  • 电气特性:传输方向,有效电平范围
  • 功能特性:每根传输线的功能(地址,数据,控制)
  • 时间特性:信号之间的时序关系

性能指标

  • 总线宽度:数据线的根数
  • 标准传输率:每秒传输的最大字节数(MBps)
  • 时钟同步/异步:同步、不同步
  • 总线复用:地址线和数据线复用
  • 信号线数:地址线,数据线和控制线的总和
  • 总线控制方式:突发,自动,仲裁,逻辑,计数
  • 其他指标:负载能力

总线结构

多总线结构

  • 双总线结构
    • 主存总线:连接主存和 CPU
    • IO 总线:连接 IO 设备
    • 通道:连接两条总线,具有特殊功能的处理器,一般由操作系统编写
  • 三总线结构
    • IO 总线
    • 主存总线
    • DMA 总线:外部设备直接访问存储器内存,连接 IO 设备和主存
  • 第二种三总线结构
    • 局部总线:连接 CPU 和 Cache(缓存)
    • 系统总线:连接主存和 Cache
    • 扩展总线:连接各种外设
  • 四总线结构
    • 局部总线
    • 系统总线
    • 高速总线:连接高速外设
    • 扩展总线:连接低速外设

总线控制

总线判忧控制

  • 主设备(模块):对总线有控制权
  • 从设备(模块):响应从主设备发来的总线命令
  • 判忧控制方法
    • 集中式
      • 链式查询
      • 计数器定时查询
      • 独立请求方式
    • 分布式

链式查询方式

  • 总线控制部件
    • 数据线
    • 地址线
    • BS 线:总线忙(正在工作)
    • BR 线:总线请求
    • BG 线:总线同意,依次连接每个 IO 设备,链式查询每个设备是否提出请求
  • 优先级:BG 线的连接方式决定了各 IO 设备的查询顺序,先查询的优先级高
  • 特点:结构简单,故障敏感(一个设备损坏其余都不能用),速度慢

计数器定时查询方式

  • 总线控制部件
    • 计数器
    • 数据线
    • 地址线
    • BS 线:总线忙(正在工作)
    • BR 线:总线请求
    • 设备地址线:查找某个设备是否发出请求
  • 控制过程:检测到 BR 线有请求后启动计数器,通过设备地址线查询该设备是否提出请求,不是则计数器自加,查询下一个设备直到查询到提出请求的设备
  • 特点:优先级确定灵活(由计数器初始值决定)

独立请求方式

  • 总线控制部件
    • 排队器
    • 数据线
    • 地址线
    • BG 线:总线同意,每个设备一条
    • BR 线:总线请求,每个设备一条
  • 控制过程:排队器接收所有请求,排队后发出应答
  • 特点:优先级灵活,线数目大,速度快

总线通信控制

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

总线传输周期

  • 申请分配阶段:主模块申请
  • 寻址阶段:主模块给出地址和命令
  • 传输阶段:传输数据
  • 结束阶段

总线通信的方式

  • 同步通信:由统一时标控制
  • 异步通信:采用应答方式
  • 半同步:结合同步异步
  • 分离式通信:从分挖掘系统总线每个瞬间的效能

同步通信

  • 采用定宽定长的时钟信号控制
  • 对应时间点给出对应的控制信号
  • 速度不同的模块也需要强制同步(速度由最慢的模块决定)

异步通信

  • 不互锁
    • 请求线:主设备发出请求
    • 应答线:从设备接收到请求后发出应答
    • 不论是否接收到,一段时间后都会撤销
  • 半互锁:主设备接收到应答信号之后才撤销请求,否则会一直保持请求,从设备发出应答信号后一段时间不管主设备是否收到都会撤销
  • 全互锁:主设备接收到应答信号才会撤销请求,从设备确认主设备接收到应答信号后才会撤销应答

半同步通信

  • 从模块可以发出 wait 信号,当从模块的速度与主模块不一致时可以发送 wait 信号让主模块等待一个时钟周期

三种通信的共同点

  • 主模块发出地址,命令:占用总线
  • 从模块准备数据:不占用总线
  • 从模块向主模块发送数据:占用总线

分离式通信

  • 在主模块发完地址和命令后就断开与总线的连接
  • 从模块准备完数据后向总线发送占用请求
  • 特点
    • 每个模块都可以申请占用总线
    • 采用同步方式通信,不等待回答
    • 各模块准备数据时不占用总线
    • 总线被占用时不会空闲
posted @   DrinkLessMilkTea  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示