总线基本概念

news2024/11/27 12:46:47
总线基本概念
为什么要用总线

总线是连接各个部件的信息传输线,是各个部件共享的传输介质。(如果没有总线,那么每新增一个组件,就需要增加若干线和其余组件相连)

在任何一个时刻,只能有一对设备(固件)使用总线,其余设备若想要使用则需要等待总线释放。(可拓展性强)

总线上信息的传送

串行(要传输的信息一位一位放到总线,接收方也是一位一位接收)

并行(要传输的数据多位同时放到总线,接收方也同时接收多位数据)需要多条数据线进行传输。如果传输距离长,数据线平行向外走,线和线之间会干扰,传输信号会变形,接收方很难接收到正确数据。通常并行传输距离短,集中在计算机机箱内部。

总线结构举例

 (假如主存和某一I/O设备在传输,那么CPU和主存之间就无法利用总线传输)

这里说的计数器是???

 cpu运行程序时指令和数据都来自主存,两者信息交换非常繁忙。

这种处理方式弊端是主存和I/O设备没有直接信息通路。

 但是现在存储总线和系统总线依然不能同时工作。

总线的分类
  1. 片内总线  芯片内部总线(完成芯片内部不同部件的连接)
  2. 系统总线  芯片和芯片之间的连接,计算机各个部件的信息传输。分为以下三类
  • 数据总线  一般是双向的,与机器字长,存储字长有关
  • 地址总线  单向的,由cpu发出或主设备发出,与存储地址、I/O地址有关
  • 控制总线  有出(存储器读写、总线允许,中断确认) 有入(中断请求、总线请求)                             (向系统各个部件传输控制信号,或系统各个部件把状态信号传出)                          3. 通信总线   用于计算机系统之间或计算机系统和其他系统(如控制仪表、移动通信等)之间的通信。   传输方式分串行通信总线和并行通信总线。
总线结构
多总线结构

1.双总线结构

此处通道具有特殊功能的处理器,由通道对I/O统一处理(通道有自己的控制器和指令系统。能执行通道指令和通道程序)

2.三总线结构

 dma:外部设备直接访问系统内存

高速设备和主存信息交换用的DMA总线,低速设备依然使用I/O总线。

3.三总线结构的又一形式

 cpu性能提高每年52%,内存每十年才会提升。内存速度是瓶颈。

小容量高速度cache,对主存数据进行缓存。cpu运行的指令和数据主要来自cache。

多种速度类型设备都连接到扩展总线上,会影响外部设备工作速度。

4.四总线结构

 桥扩展出高速总线,低速设备连接到扩展总线上。

总线结构举例

1.传统微型机总线结构

 2. VL_BUS局部总线结构

VL_BUS是一条高速总线

3.PCI总线结构

 4.多层PCI总线结构

如果连接设备比较多,总线驱动能力不够,可通过PCI桥拓展。

总线控制

 总线判优控制? 多个设备同时向总线发出占用总线请求,选择哪个设备使用总线? 

占用总线后如何完成通讯过程,保证通讯过程正确性?  

一,总线判优控制

1.基本概念

  • 主设备(模块) 对总线有控制权  (提出总线占用申请,占用了总线后可以控制和另外一台设备工作)
  • 从设备(模块) 响应从主设备发来的总线命令   (计算机系统中有设备既可以作为主设备又可以作为从设备)

总线判优控制

  • 集中式  判优逻辑放在一个部件上,如放在cpu中   又分三种:1.链式查询 2.计数器定时查询 3.独立请求方式
  • 分布式  判优逻辑放到各个设备或设备端口

链式查询方式

BR:所有部件都是通过一条线提出的总线请求,不知道哪个设备优先权更高。

BG:逐个查询。各个设备优先级和BG查询顺序有关。(对电路故障特别敏感,出现故障会无法向下传。速度慢,需要一直向下查询。但是该结构简单)

定时器定时查询方式

 设备地址:地址由计数器给出。

也是先从接口0开始查询,若接口0无请求,计数器会加1。

计数器的启动值可以配置,比如配置为上一次停止计数值开始,则变成了循环优先级。

设备地址线位宽和外部设备数量有关。

独立请求方式

上面都是按顺序查找,

排队器:可预先设备优先级。还可以自适应优先级,重要设备给与高优先级。

 二,总线通信控制

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

2.总线传输周期  主设备和从设备完成一次完整可靠的传输所需时间。

  • 申请分配阶段  主模块申请,总线仲裁决定
  • 寻址阶段         主模块向从模块给出地址和命令
  • 传数阶段         主模块和从模块交换数据
  • 结束阶段         主从模块撤销相关信息

3.总线通信的四种方式

  • 同步通信     由统一(定宽定距)时标控制数据传送
  • 异步通信     采用应答方式,没有公共时钟标准
  • 半同步通信  同步、异步结合(主要解决不同速度设备之间的通信问题)
  • 分离式通信  充分挖掘系统总线每一瞬间的潜力

(1)同步式数据输入

固定时间点给出固定操作

t1时钟上升沿,必须给出地址信号。t2时钟上升沿,必须给出读命令信号。t3时钟上升沿之前,从设备必须给出数据信号。t4时钟周期上升沿,数据信号和控制信号撤销。

 (2)同步式数据输出

 强制同步,对多个不同的速度模块,必须选择速度最慢的模块作为统一时标。

(3)异步通信

和同步相比,不用定宽时标,增加了两条线。

主设备发出通信请求,从设备接收到通信请求后进行应答。之后主、从设备撤销请求、应答。在该过程中,主设备不管是否接收到应答信号,一段延时后都会撤销请求信号。从设备不管主设备是否接收到应答信号,都会撤销应答信号。(不互锁,通信可靠性有问题)

主设备发出通信请求,从设备接收到请求后,发出应答信号。主设备接收到应答信号后,撤销请求。如果接收不到,请求保持。 但是从设备不管总设备是否接收到应答信号。一段时间后都会撤销应答信号(半互锁,有可能导致请求信号一直保持)

主设备发出通信请求,从设备接收到请求后,发出应答信号。主设备接收到应答信号后,才会撤销请求。只有主设备请求撤销以后,从设备才会撤销自己的应答信号。 (全互锁)

 (4)半同步通信(同步、异步结合)

同步  发送方用系统时钟前沿发信号

         接收方用系统时钟后沿判断识别

异步  允许不同速度的模块和谐工作

         增加一条“等待”响应信号 ~wait

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

t1 主模块发地址

t2 主模块发命令

tw 当~wait为低电平时,等待一个t  (t3到来前,从模块发出wait信号。主设备如果检测到wait信号为低电平,就会插入一个t,等待wait信号。重复检测)

。。。。

(如cpu和主存之间,cpu速度快于主存,t3之前从模块无法提供数据)

t3上升沿到来之前,从模块必须提供数据

t4从模块撤销数据,主模块撤销命令

 允许不同设备的主从设备进行交互。

以上三种通信的共同点

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

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

(5)分离式通信

充分挖掘系统总线每一个瞬间的潜力

一个总线传输周期

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

主模块可以变成从模块

分离式通信特点

  1. 各模块有权申请占用总线(所有模块都可以从从模块变成主模块)
  2. 采用同步同步通信方式,不等对方回答
  3. 各模块准备数据时,不占用总线
  4. 总线被占用时,无空闲(一定在数据通信或传输命令)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/875604.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第三章 图论 No.12欧拉回路与欧拉路径

文章目录 定义欧拉路径的性质:1123. 铲雪车边编号输出欧拉路径:1184. 欧拉回路点编号字典序最小输出欧拉路径:1124. 骑马修栅栏并查集判断有向图是否存在欧拉路径:1185. 单词游戏 定义 小学一笔画问题,每条边只经过一次…

pconsc4 安装

Pconsc4 安装遇到的问题 Pconsc4-github 按照红框给的一行命令,一行毁所有。 1 gcc and g not found # 1 Start by updating the packages list:sudo apt update# 2 Install the build-essential package by typing:sudo apt install build-essential## The comm…

83. 删除排序链表中的重复元素

题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 解题思路:从前往后遍历节点,如果当前节点和下一个节点的值相等,就跳过下一个节点 具体算法如下: current head如果 current!null…

如何使用CSS实现一个下拉菜单?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 使用CSS实现下拉菜单⭐ HTML 结构⭐ CSS 样式⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是为那些…

SAP MIGO采购订单收货默认库存类型控制

在启用了QM模块的企业应用中,收货时针对库存类型就会有不同情况,参与质检的收到质检库存,不参与质检的收到非限制库存。 那么我一直没的遇到过关于应收到质检,而收到非限制库存的反馈。说明这样的问题不会发生,带着疑…

PyQt5设置按钮菜单和信号与槽函数的连接

目录 一、Qt Designer 在窗口中添加菜单和工具栏 二、源代码 1、界面代码 2、逻辑代码 3、演示 三、相关功能 一、Qt Designer 在窗口中添加菜单和工具栏 右键可以选择创建菜单栏。创建后双击【在这里输入】,然后输入菜单名,敲下回车确认&#xf…

OpenCV图像处理——图像平滑

目录 图像噪声椒盐噪声高斯噪声图像平滑简介均值滤波高斯滤波中值滤波 图像噪声 椒盐噪声 随机出现的黑白噪声 高斯噪声 噪声的灰度值符合高斯分布 图像平滑简介 均值滤波 cv.blur(src,ksize,anchor,borderType)import numpy as np import cv2 as cv import matplotlib.…

matlab使用教程(15)—图论基础

1.有向图和无向图 1.1什么是图? 图是表示各种关系的节点和边的集合: • 节点 是与对象对应的顶点。 • 边 是对象之间的连接。 • 图的边有时会有权重 ,表示节点之间的每个连接的强度(或一些其他属性)。 这些定…

【Vue-Router】使用 prams 路由传参失效

报错信息: [Vue Router warn]: Discarded invalid param(s) “name”, “price”, “id” when navigating. list.json {"data": [{"name": "面","price":300,"id": 1},{"name": "水",&quo…

【力扣每日一题】617. 合并二叉树 dfs bfs 8.14打卡

文章目录 题目思路代码 题目 617. 合并二叉树 难度: 简单 描述: 给你两棵二叉树: root1 和 root2 。 想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会&#xff0…

AIGC热潮涌动 HashData如何降低大模型应用门槛?

当前,以ChatGPT为代表的大语言模型(LLM)正在掀起新一轮的AI 浪潮,数字产业生态也迎来前所未有的变局。随着大模型应用的兴起,如何低成本地实现大模型的构建和应用,成为企业关注的重点。 数据仓库是企业数据…

网络安全--筛选给定范围内的日志

目录 pass:在观看此篇前先看上篇的awk介绍 一、文件 二、第一方法 1.步骤 ​编辑三、第二方法: awk内容: 结果: 四、第二要求 统计独立ip 操作步骤: 1.先创建文件写入一下测试内容: 2.书写awk代码…

Redis缓存穿透、击穿和雪崩

1、Redis缓存穿透 缓存穿透是指当用户在查询一条数据的时候,而此时数据库和缓存却没有关于这条数据的任何记录,而这条数据在缓存中没找到就会向数据库请求获取数据。用户拿不到数据时,就会一直发请求,查询数据库,这样…

如何在电力行业运用IPD?

电力行业是国民经济众多垄断行业中较早实施改革的行业之一。近几年我国电力行业保持着较快的发展速度,也取得了很大的成绩,发电机容量和发电量居世界首位。2015-2020年,全国发电量不断攀升。 电力是以电能作为动力的能源。电力的发现和应用掀…

MR300C工业无线WiFi图传模块 内窥镜机器人图像传输有线无线的两种方式

MR300C无线WiFi图传模使用方法工业机器人图像高清传输 ⚫ MR300C图传模块基于MIPS处理器实现,电脑/手机连接模块的WIFI热点或网口即可查看视频流 ⚫ 模块的USB 2.0 Host接口,可接入USB uvc摄像头/内窥镜默认输出的视频格式必须是MJPG ⚫ 模块支持接入摄…

Linux 主函数参数介绍

主函数如下: int main( int argc, char* argv[], char* envp[]) 参数分析如下: (1) argc 参数个数 (2) argv 参数内容,是char*类型,说明传给主函数的内容是一个一个的字符串。 (3) envp 环境变量,传给主函数的也…

蓝牙入耳式耳机老是滑出来,耳朵小适合戴什么样的骨传导耳机

最近体验了几款骨传导耳机,分享下我的使用感受。首先说一下为什么要选择骨传导耳机,我之前是使用入耳式耳机,戴久了耳朵会疼,而且晚上睡觉不能戴。于是就考虑骨传导耳机,因为骨传导耳机在传声的过程中不需要经过耳膜&a…

【Elasticsearch】学好Elasticsearch系列-脚本查询

本文已收录至 Github,推荐阅读 👉 Java 随想录 先看后赞,养成习惯。 点赞收藏,人生辉煌。 文章目录 概念支持的语言Painless特点简单例子 Scripting的CRUDinsert(新增)update(更新)d…

智能工厂:适应不断变化的制造世界

制造业已经从过去传统的装配线工艺流程中走了很长一段路。随着技术的进步和工业 4.0 的兴起,制造业正在迅速发展,以满足现代世界不断变化的需求。近年来出现的一个关键概念就是“智能工厂”。在这篇文章中,我们将探讨什么是智能工厂、它是如何…

为什么要学PMP项目管理?

为什么要学习PMP呢,主要有以下五点: 01提升个人能力 PMP是一个系统学习的过程,充分理解各个项目管理的过程以及项目管理的各个过程组、知识领域等,可以从理论上掌握项目经理应具有的理论素质。能够知道如何对执行的项目进行系统…