💻
QMMMS的笔记
博客
  • QMMMS的笔记
  • agent
    • MCP的背景、原理和开发
    • Agent 历史与背景
    • Agentic Workflows
    • 环境检查与基础工具
    • Tool Call
    • 工具与运行时的值
    • temp
    • 处理 Tool Call error
    • trick
  • algorithm
    • 线性结构
    • 二叉树
    • 图
    • 查找
    • 排序
    • 动态规划
    • 优化方法
    • 数学
    • 迁移至Java
  • computer_composition
    • 系统总线
    • 存储器
    • 输入输出系统
    • 计算机的运算方法
    • 指令系统
    • 补充
  • computer_network
    • 引入
    • 应用层
    • 传输层
    • 网络层(数据平面)
    • 网络层(控制平面)
    • 链路层
    • 常见问答
    • 实验
  • database
    • SQL实战
    • 关系代数
    • 数据库设计
    • 规范化
    • 数据库基本概念
    • 查询原理
    • 数据库恢复技术
    • 并发控制
  • dev_tools
    • Git
    • Nginx
    • Spring
    • LangChain
    • PyTorch Cheat Sheet
    • MyBatis
    • MySQL Cheat Sheet
    • MySQL 补充
    • Redis
    • Docker
    • RocketMQ
    • Chrome
  • linux
    • Linux基础命令与使用
    • 文件与权限
    • 文件与目录操作
    • 权限属性高级
    • 命令与文件的查找
    • 文件压缩和打包
    • vim编辑器
    • shell变量
    • 命令补充
    • 数据流重定向
    • 管道命令
    • shell脚本
    • 用户管理
    • 用户间交流
    • 计划任务
    • 进程管理
    • 软件管理
    • 认识系统服务
    • 运维常用命令
    • 常用命令
  • llm
    • 大规模语言模型概述
    • 分布式训练概述
    • 有监督微调概述
    • 强化学习与LLM
    • LLM评估概述
    • 大模型应用
    • 理解大模型
    • 量化
    • 预训练
    • 上下文学习
  • machine_learning
    • 引入
    • 大致正确学习
    • 一致收敛
    • 偏差还是过拟合?
    • 可学习的充要条件
    • 非均匀可学习性
    • 计算复杂性
  • mathematics
    • 概率与统计基础
    • 线性代数基础
  • operating_system
    • 操作系统基本概念
    • 进程和线程
    • 同步,互斥与死锁
    • 内存管理
    • 文件系统
    • I/O系统
    • 保护与安全
    • 《现代操作系统》
  • statistical_learning
    • 统计学习引入
    • 线性回归
    • 分类
    • 重抽样方法
    • 线性模型选择与正则化
    • 非线性模型
    • 基于树的方法
    • 支持向量机
    • 无指导学习
    • 马尔科夫链和蒙托卡罗方法简明理解
    • R语言速查
  • deep_learning
    • basic_concepts
      • 逻辑回归与损失函数
      • 神经网络
      • 正则化、预处理、权重初始化
      • 优化算法
      • 机器学习策略
      • 复习:从计算机视觉的角度
      • 卷积神经网络
      • 深度卷积网络示例
      • 计算机视觉任务
      • 循环神经网络
      • 自然语言处理任务
      • 注意力
      • Transformers 家族
      • 显卡扫盲
      • 强化学习概述
    • semi-supervise
      • 半监督学习简介
      • Consistency Regularization
      • Proxy-label Methods
      • Holistic Methods
      • Generative Models
      • Graph-Based SSL
      • Self-Supervision for SSL
      • Other SSL methods
  • programming
    • cpp
      • STL
      • C++基础
      • 内存管理
      • 面向对象
    • java
      • 环境和介绍
      • 注释
      • String
      • 面向对象思想
      • Object
      • 包
      • 访问权限修饰符
      • 初始化块
      • 接口
      • 内部类
      • 注解
      • 枚举
      • 集合框架
      • List
      • Map
      • 泛型
      • 迭代
      • IO与流
      • 序列化
      • 异常
      • Lambda
      • Stream流
      • Socket
      • 缓冲
      • 命名规范
      • 拆箱装箱
      • 值传递
      • 深拷贝
      • 反射
      • JVM
      • 并发编程基础
    • python
      • 并发编程
      • 环境管理
  • software_engineering
    • basic_concepts
      • 系统分析与设计概述
      • 规划
      • 需求分析与原型设计
      • 项目管理
      • 建模
      • 数据库设计
      • 架构
      • 配置管理
      • 测试管理
      • 安全
      • 编码原则
      • 微服务
      • 补充内容
    • software_testing
      • CMMI基础
      • PPQA与SQA
      • 软件测试基础
      • 黑盒测试
      • 白盒测试
      • 集成测试
      • 系统测试
      • 测开面试补充
由 GitBook 提供支持
在本页
  • 总线判优控制
  • 链式查询
  • 计数器定时查询
  • 独立请求方式
  • 总线通信控制
  • 同步通信
  • 异步通信
  • 半同步通信
  • 分离式通信
在GitHub上编辑
  1. computer_composition

系统总线

上一页computer_composition下一页存储器

最后更新于11个月前

参考:https://blog.csdn.net/SX123q/article/details/124597525

总线判优控制

基础概念

  • BS信号:总线忙

  • BR信号:总线请求

  • BG信号:总线同意

链式查询

链式查询的特点

  1. 结构简单

  2. 速度慢,需要一直向下查询

  3. 电路故障特别敏感

  4. 离总线控制器越近,优先权越高

链式查询通过接口的优先权排队电路实现

这种查询方式的名称来源于BG信号的传输方式,显而易见,当一个I/O接口故障时,其后的I/O接口就无法收到BG信号了。

计数器定时查询

工作图

计数器定时查询特点

  1. 优先次序可以改变(计数器的初始值可由程序设置)

  2. 增加了控制线数(设备地址线),控制更加复杂

  3. 假如接入了n个设备,大致用 $\log_2n$根线

  4. 计数器从0开始,各部件优先次序和链式查询法一致

  5. 计数器从中止点开始,每个部件的优先级一致

独立请求方式

工作图

特点

  1. 响应速度快

  2. 优先次序控制灵活(通过程序控制)

  3. 控制线数量多,总线控制更复杂

  4. n为最大设备数,独立请求方式需用2n根线

总结

可以看出链式查询和计数器定时查询采用的都是轮询方案,只是轮询的算法不同;而独立请求方式不采用轮询方案,各部件进行请求,总线控制部件负责处理各部件的请求信号。

总线通信控制

通常将完成一次总线操作的时间称为总线周期,分为下列四个阶段

  1. 申请分配阶段:主模块提出使用总线的申请,总线仲裁机构决定下一传输周期的总线使用权授予某一申请者

  2. 寻址阶段:取得了使用权的主模块通过总线发出本次要访问的从模块的地址及有关命令,启动参与此次传输的从模块

  3. 传数阶段:主模块和从模块进行数据交换,数据由源模块发出,经数据总线流入目的模块

  4. 结束阶段:主模块相关信息从系统总线上撤除,让出总线使用权

总线通信控制主要解决通信双方如何获知传输开始和结束,以及通信双方如何协调如何配合的问题

同步通信

通信双方由统一时标控制数据传送称为同步通信。

工作图

读命令时序图

写命令时序图

特点

  1. 传输效率高,可靠性高

  2. 各部件强制性同步,灵活性差

  3. 一般用于总线长度较短、各部件存取时间比较一致的场合

异步通信

没有公共的时钟标准,采用应答方式,主模块发出请求后,等待从模块反馈回来响应信号,然后开始通信。

按照应答方式可以将异步通信分为不互锁、半互锁、全互锁三种类型

  • 不互锁方式

    1. 主模块发出请求信号后,不等待从模块的应答信号,一段时间后自动撤销信号

    2. 从模块接收到信号后发出回答信号,一段时间后自动撤销应答信号

  • 半互锁方式

    1. 主模块发出请求后,必须等待接到从模块应答信号后才能撤销请求信号。存在互锁关系

    2. 从模块接到请求信号后,发出应答信号,一段时间后自动撤销应答信号。不存在互锁关系

  • 全互锁方式

    1. 主模块发出请求后,必须等待接到从模块应答信号后才能撤销请求信号。存在互锁关系

    2. 从模块发出应答信号后,必须等待获知主模块撤销请求信号后,才能撤销应答信号。存在互锁关系

异步通信特点

  1. 没有公共时钟标准

  2. 允许各模块速度不一致,灵活性高

  3. 半互锁方式可能导致请求信号一直高电平

半同步通信

半同步通信既保留了同步通信的基本特点,又允许不同速度的模块一起和谐工作。主要的解决方案是采用增设一条等待 $\overline{\text{WAIT}}$ 响应信号线,插入时钟周期(等待)的措施来协调通信双方的配合问题。

工作图

读命令时序图

特点

  1. 控制方式比异步通信简单

  2. 可靠性较高,同步结构比较方便

  3. 适用于系统工作速度不高但又包含了由许多工作速度差异较大的各类设备组成的简单系统

  4. 对系统时钟频率要求不能太高,因此从整体来看,系统的工作速度还不是很高

分离式通信

分离式通信的引入过程

首先,对前三种通信的共同特征进行总结:

  1. 从主模块发出地址和读写命令开始,直到数据传输结束

  2. 整个传输周期中,系统总线的使用权完全由占有使用权的主模块和它选中的从模块占据

进一步分析读命令传输周期,发现除了申请总线这一阶段外,其余时间主要花费在一下三个方面:

  1. 主模块通过传输总线向从模块发送地址和命令

  2. 从模块按照命令进行读数据的必要准备

  3. 从模块经过数据总线向主模块提供数据

注意:对于第二步,从模块内部读数据过程并无实质性的信息传输,总线处于空闲状态。

为了充分挖掘系统总线每瞬间的潜力,提出了分离式通信方式。

工作原理

注意:A模块一旦发送完信息立即放弃总线使用权。

特点

  1. 各模块欲使用总线都必须提出申请

  2. 得到总线使用权后,主模块在限定时间内向对方传送信息,采用同步式方式传送,不再等待对方的回答信号

  3. 各模块在准备数据时不占用总线,总线可供其他模块使用

  4. 总线被占用时都在做有效工作

  5. 控制方式比较复杂,一般在普通微型计算机很少采用

系统总线 (1)
链式查询
计数器定时查询
独立请求方式
同步通信工作图
同步通信读命令时序图
同步通信写命令时序图
异步通信三种类型
半同步通信工作流程
半同步通信读命令时序图
分离式通信工作原理