当前位置: 首页 > news >正文

6000字超详细讲解总线(BUS)——从入门到彻底了解

目录

前言

总线的概念

以CPU为中心的双总线结构

​编辑

单总线结构

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

总线的分类

片内总线

系统总线

数据总线(DB)

地址总线 (AB)

控制总线(CB)

通信总线

总线特性及性能指标

总线特性

机械特性

电气特性

功能特性

时间特性

总线的性能指标

总线结构

单总线结构

多总线结构

双总线结构

三总线结构

第一种

第二种

四总线结构

总线结构举例

总线控制

总线判优控制

链式查询

计数器定时查询

独立请求方式

总线通信控制

同步通信

同步数据输入

同步式数据输出

异步通信

不互锁方式 ​编辑

半互锁方式

全互锁方式

半同步通信

分离式通信

总结


前言

这一期是对总线的一个讲解(靠自己的超详细讲解(字是一个一个敲上去的,不是搬书,我只是微微的借鉴了一下嘻嘻)求关注!求点赞!下一期会解释一些题,并且写我一开始学习总线的一些疑问进行提出与解答。

总线的概念

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

在某一时刻,只允许有一个部件向总线发送消息,但是多个部件可以同时从总线上接收相同的信息。

以CPU为中心的双总线结构

先放图片吧!

两组总线:一组总线连接CPU和主存,为存储总线(M总线);另一组是用来建立CPU和各个I/O设备之间交换信息的通道,称为输入输出总线(I/O总线)。

I/O设备通过I/O接口挂到I/O总线上,就像我们手机充电器一样,我们通过充电器才能把手机插到插板上充电。

缺点:这种设备,在主存与I/O设备交换信息时,仍然要占用CPU,所以也会影响CPU的工作效率。

CPU和主存一定是并行的存储方式;CPU和外设(I/O设备)有的是串行,有的是并行。(这里串行和并行先记住,后面会解释)

单总线结构

还是图片

当主存与I/O设备交换信息时,不影响CPU工作,CPU可继续处理不访问主存或I/O设备的操作,这就使CPU工作效率有所提高。

但是只有一组总线,所以当某时刻多个部件要用总线时,会发生冲突。根据各部件优先级高低(判优逻辑)来占用总线,也会影响工作速度。

外设访问主存的优先级比CPU高。主存与I/O设备中的硬盘交换信息比较多。

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

还是图片:

在单总线基础上,加了一组CPU与主存之间的总线,称为存储总线

优点:提高了传输效率,减轻了系统总线的负担,还保证了I/O设备与存储器交换信息时不经过CPU。

总线的分类

片内总线

芯片内部的总线。例如:CPU芯片内部、寄存器与寄存器之间等。

系统总线

是指CPU、主存、I/O设备(通过I/O接口)各大部件之间的信息传输线。 (可分为三类)

数据总线(DB)

数据总线用来传输各功能部件之间的数据信息,是双向传输总线

数据总线的位数称为数据总线的宽度。

如果数据总线的宽度为8位,指令字长为16位,则CPU在取值阶段必须两次访问主存。(我在“主机完成一条指令的过程”这篇文章中讲过)

地址总线 (AB)

主要用来指出数据总线上的源数据或目的数据在主存单元的地址或I/O设备的地址。

举例:

1、假如要从存储器读出一个数据,那么CPU要将此数据所在存储单元的地址送到地址线上。

2、假如要将某数据经I/O设备输出,CPU除了要将数据送到数据总线上以外,还需将该输出设备的地址(通常都经I/O接口)送到地址总线上。

由此可见,1)地址总线上的代码是用来指明CPU要访问的存储单元或I/O端口的地址。

2)地址由CPU输出,并且单向传输

地址线的位数与存储单元的个数有关,如果地址线有10根,则对应的存储单元个数有2^10。(不懂可以看“计算机系统概论”这篇文章的主存储器中的MAR)

控制总线(CB)

控制总线作用:1、使各部件能在不同时刻占有总线使用权。

2、监视各部件状态的作用,比如查询设备是处于‘忙’还是‘闲’的状态。

控制总线是用来发出各种控制信号的传输线。对于CPU来说,控制信号有的输出,有的输入(可进可出,意思是对于一条控制先来说是单向的,但是对于总体来说是双向的;有的控制线的输入,有的是输出)

举例:

1、由CPU发出:存储器读/写命令;I/O设备读/写命令;CPU发出中断请求。

2、向CPU发请求:当某设备准备就绪时,向CPU发中断请求;当某部件需获得总线使用权时,向CPU发出总线请求。

通信总线

串行通信:指数据在单条1位宽的传输线上,一位一位地按顺序分时传输;适合于远距离数据传输,可以从几米到几千公里。

并行通信:指数据在多条并行1位宽的传输线上,同时由源到目标;适合于近距离数据传输,通常小于30米,因为由于是多条线同时传输,如果距离较长,线与线之间会产生干扰,信号会发生变形。

高速信号的传输一般使用串行的原因:随着技术发展,并行导线之间的相互干扰越来越严重;而串行由于导线少,于是线间干扰容易控制。

总线特性及性能指标

总线特性

总线由许多导线直接印制在电路板上,CPU插板、主存插板、I/O插板都和主板上的系统总线连接在一起。如图:

机械特性

机械特性是指总线在机械连接方式上的一些性能。如插头与插座使用的标准,尺寸、形状、引脚的个数以及排列顺序,接头处的可靠接触等

电气特性

电气特性是指总线上的每一根传输线上信号的传递方向有效电平范围

通常规定由CPU发出的信号称为输出信号,送入CPU的信号称为输入信号

举例:

1、地址总线属于单向输出线,数据总线属于双向传输线,都定义高电平为“1”,低电平为“0”。

1、控制总线的每一根都是单向的,总体看又是双向的,有输入也有输出,有的定义为高电平有效,也有的定义为低电平有效。

注意:规格。总线的电平定义大多是高电平“1”,低电平“0”。很少是高电平“0”,低电平“1”(如RS-232C,低于-3V为低电平,高于+3V为高电平)

功能特性

功能特性是指总线中每根传输线的功能。

举例:地址总线用来指出地址码;数据总线用来传递数据;控制总线发出控制信号。

时间特性

时间特性是指总线中的任一根线在什么时间内有效。

举例:地址总线和数据总线一般是复用一组物理线路。不同时间,总线的传输信号(地址信号、数据信号)不同。首先传输地址,再传数据。

访问主存或I/O设备:第一个周期:地址总线;第二个周期:控制总线;第三个周期:数据总线。

总线的性能指标

1)总线宽度: 通常是指数据总线的根数。(注意只有数据总线)

2)总线带宽:单位时间内总线上传输数据的位数,通常用每秒传输信息的字节数来衡量,单位MBps表示。(可以理解为数据传输速率)

举例:总线的工作频率为33MHz,总线宽度为32位(32Byte=4B)。则工作周期为1/33,总线带宽为(32÷8)÷1/33相当于33×4=132MBps。

3)时钟同步/异步:

4)总线复用:一条信号线上分时传送两种信号。(在上面时间特性上已经解释了地址总线和数据总线的复用)

5)信号线路:地址总线、数据总线和控制总线三种总线数的总和。

6)总线控制方式(控制总线上哪两个设备传输数据的方式):并发、自动、仲裁、计数、逻辑等。

总线结构

单总线结构

上面已经介绍,这里就不说了。但是放个图片。

多总线结构

双总线结构

如下图:(这种结构大多用于大、中型计算机系统)

注意:通道是一个具有特殊功能的处理器,CPU将一部分功能下放给通道,使其对I/O设备具有一定的管理功能。

三总线结构

第一种

如下图:

注意:主存总线与DMA总线不能同时对主存进行存取,I/O总线只有在CPU执行I/O指令时才会用到。

第二种

如下图:

这个结构更加提高了系统的工作效率。

注意:CPU访问Cache比CPU访问主存速度快。

四总线结构

还是如图:

在高速总线上挂接了一些高速I/O设备,使这些高速设备与CPU更密切;一些较低速的设备仍然在扩展总线上。

总线结构举例

这一块我放图片,大概的解释一下,大家看一下,了解一下就OK了

传统微型计算机总线结构:

VL-BUS局部总线结构:

这个区别于上一个是把高速设备和低速设备分开挂在不同的总线上,高速设备与CPU更密切。

优点:局部VL-BUS总线相当于在CPU与高速I/O设备之间架上了高速通道,使CPU与高性能外设得到充分发挥。

PCI总线结构:

PCI总线通过PCI桥与CPU总线相连。

优点:使CPU总线与PCI总线相互隔离,有更高的灵活性,可以支持更多的高速运行设备,而且有即插即用的特性

总线控制

总线控制器处理的问题:(总线控制器可以看上面总线结构举例的图里的控制器的位置)

什么时候由哪个部件发送信息?

如何给信息传送定时?

如何防止信息丢失?

如何避免多个部件同时发送?

总线判优控制

对有无控制功能分为主设备从设备。主设备有控制权,从设备无控制权。主设备只有1个,从设备可以有多个

举例:

假如主机要给一个I/O设备发送信息,那么这个主机便是主设备,这个I/O设备就是从设备。首先主设备发出总线请求信号,总线在这个时间内就给主机用,主机就对总线有控制权,从设备响应主设备发来的总线命令即可。

什么是判优控制呢?

假如多个主设备同时要使用总线,那么就由总线控制器的判优控制按一定的优先等级顺序确定哪个主设备能使用总线。

总线判优控制分为集中式(将控制逻辑集中在一处,如在CPU中等)和分布式(将控制逻辑分散在与总线连接的各个部件或设备上)两种。这里我主要讲集中式。

常见的集中控制优先权仲裁方式有以下三种:

链式查询

放个图片

三根总线用于控制:BS—— 总线忙、BR——总线请求、BG——总线同意

离总线控制部件最近的设备具有最高优先级。

举例:

假如有三个设备(1、2、3)同时向BR发送请求,BR=1,但是并不知道是哪个设备发的请求,BG同意,开始从左向右查找,0号设备没有请求,再看1号设备,1号设备有请求(BG信号就不再往下传了),1号设备就获得了总线使用权,然后向BS发信号,BS=1,总线就处于忙的状态。

特点:只需要几根线就可以实现总线控制,也很容易扩充设备,但对于优先级低的设备可能很难获得请求 。

计数器定时查询

还是先放图片

BS——总线忙、BR总线请求。加了设备地址,在总线控制部件内部有一个计数器(初始值可设为0,每过一个设备可以加1)

举例:

假如有三个设备(1、2、3)同时向BR发送请求,BR=1,同时也并不知道是哪个设备发的请求,这时计数器初始值设为0,通过设备地址把计数器的值传到各个接口,比较设备的值和计数器的值,找到了0设备,它没有发送请求,计数器+1,继续通过设备地址把计数器的值传到各个接口,找到了1设备看有没有发送请求,有请求,此时总线的使用权就给1设备。

特点:设备使用总线的优先级相等,计数器的初始值还可以由程序设置,但是增加了控制线数,变得复杂了。

独立请求方式

先放图片

每台设备都有一对总线请求线BR和总线同意线BG。(这样一来,就知道是哪几台设备发的请求)在总线控制器内部有一个排队器,它可以根据设备优先次序确定响应哪一台设备的请求。

举例:

假如有三台设备(1、2、3)同时向BR发送请求,那么这三台的BR都会置为1,排队器根据优先次序确定响应哪一台设备的请求。

特点:响应速度快,优先次序灵活(通过程序改变),但是控制线多,总线控制更复杂。

总线通信控制

解决通信双方如何获知传输开始和传输结束,以及通信双方如何协调配合问题。

通常将完成一次总线操作的时间称为总线周期(也叫总线传输周期),可分为以下4个阶段:
① 申请分配阶段:由需要使用总线的主模块(或主设备)提出申请,经总线仲裁机构决定下一传输周期的总线使用权授于某一申请者。
② 寻址阶段:取得了使用权的主模块通过总线发出本次要访问的从模块(或从设备)的地址及有关命令,启动参与本次传输的从模块。
③ 传数阶段:主模块和从模块进行数据交换。
④结束阶段:主模块的有关信息均从系统总线上撤除,让出总线使用权。

同步通信

通信双方采用统一时标控制数据传送。 (时钟一致,速度非常快)

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

同步数据输入

时钟:一个总线周期就是四个时钟周期T1:主模块发地址;T2:主模块发读命令;T3:从模块提供数据:T4:主模块撤销命令,从模块撤销数据),同步式的四个就够了,因为两个设备的时钟信号是一致的。

地址:地址线(不止一根)传入的数据有的是“0”有的是“1”,所以是如图所示那样画的。

读命令:第二个时钟周期有效(T2:主模块发读命令),图片所示是低电平有效

数据:和地址线一样,也是有高电平,也有低电平。

同步式数据输出

这个和输入传输原理一样,不过四个时钟周期有区别。

T1:主模块发地址。
T1.5:主模块提供数据。
T2:主模块发出写命令,从模块接收到命令后,必须在规定时间内将数据总线上的数据 写到地址总线所指明的单元中。
T4:主模块撤销写命令和数据等信号。

异步通信

时钟不一致(没有公共时钟标准),采用应答方式(主模块发出请求信号时,一直等待从模块反馈回来的“响应”信号后才开始通信)。

不互锁方式

这个图片大家可以只看第一个不互锁。主设备发送请求,从设备没有告诉主设备自己收到请求。

半互锁方式

还是如上图片

主模块发出请求信号,必须待接到从模块的回答信号后再撤销其请求信号,有互锁关系;
而从模块在接到请求信号后发出回答信号,但不必等待获知主模块的请求信号已经撤销,而是隔一段时间后自动撤销其回答信号,无互锁关系。

全互锁方式

主模块发出请求信号,必须待从模块回答后再撤销其请求信号;从模块发出回答信号,必须待获知主模块请求信号已撤销后,再撤销其回答信号。

半同步通信

同步、异步相结合。

同步:所有的地址、命令、数据信号的发出时间,都严格参照系统时钟的某个前沿开始,而接收方都采用系统时钟后沿时刻来进行判断识别。

异步:允许不同速度的模块和谐地工作。增设了一条“等待”信号。

分离式通信

充分挖掘系统总线每个瞬间的潜力。 (采用同步方式通信,不等对方回答)

① 各模块欲占用总线使用权都必须提出申请。
② 在得到总线使用权后,主模块在限定的时间内向对方传送信息,采用同步方式传送,不再等待对方的回答信号。
③ 各模块在准备数据的过程中都不占用总线,使总线可接受其他模块的请求。
④ 总线被占用时都在做有效工作,或者通过它发送命令,或者通过它传送数据,不存在空闲等待时间,充分地利用了总线的有效占用,从而实现了总线在多个主、从模块间进行信息交叉重叠并行式传送,这对大型计算机系统是极为重要的

总结

全文结束,给个关注可以吗,祝大家天天开心!

http://www.jsqmd.com/news/808503/

相关文章:

  • ARP扫描终极指南:5分钟掌握局域网设备发现的秘密武器
  • 手把手复现:用Python和NumPy实现Laplacian曲面编辑的核心算法(附代码与避坑指南)
  • 172号卡最新通知:注册填写官方商务码08888,免100单考核直接升级成为黑钻代理,官方直营,佣金增高5-10 - 号易商务官方-08888
  • 【Google ADK】 深度剖析:构建可暂停、恢复且永不丢失上下文的长时运行 AI Agent
  • 基于Azure与LangChain的RAG应用实战:从架构到部署的完整指南
  • CCAA管理体系认证基础重点解析 - 众智商学院官方
  • 企业级开源协作平台COSS:一体化DevOps解决方案架构与实践
  • SAP PS模块实战:手把手教你配置OKO6/OKO7/OPSA,搞定WBS成本结算后台
  • 2026长沙婚纱摄影性价比与服务质量双维度评选 - 江湖评测
  • 微信聊天记录永久保存:WeChatExporter免费备份方案完整指南
  • ChatGPT自定义指令集V3:基于量规反思的AI助手性能优化指南
  • 基于REST API与自定义GPT Action的邮件自动化管理方案
  • WTF Dial故障排除:10个常见问题与终极解决方案大全
  • Taotoken用量看板如何帮助团队清晰掌握API成本消耗
  • 支招:想租合规网约车跑滴滴推荐哪家,品牌选购小窍门 - 速递信息
  • 别再只盯着CS4344了!5款低成本I2S DAC芯片实测对比(附立创商城现货价格)
  • 如何构建交互式视频应用:react-youtube事件处理实战指南
  • 软考高级信息系统项目管理师备考笔记-第16章项目采购管理
  • 移动芯片行业生存法则:从四千人门槛看平台化转型与规模效应
  • 英文亲属关系
  • 【WPS】
  • 天津家教平台匹配精准度实测:我们用同一个需求测了四家平台,结果出乎意料,天津大学家教网获得天津家长首选 - 教育资讯板
  • Playwright实战:从零到一,轻松爬取豆瓣电影TOP10并生成Excel报表
  • 别再硬啃公式了!用Simulink和Carsim手把手验证你的车辆运动学模型(附MATLAB源码)
  • GARbro终极指南:解密视觉小说资源管理的核心技术栈
  • 2026年桂林电视背景墙设计安装:从别墅豪宅到商品房的一站式解决方案 - 优质企业观察收录
  • Lindy AI Agent工作流最佳实践,2024年Q2最新v2.3.1内核适配手册(仅限前500名开发者)
  • 从双流网络到时序金字塔:一文读懂视频分类技术演进史,附百度顶会论文核心代码解读
  • 高速公路能源走廊的数字化升级解决方案
  • 抚州黄金回收哪家好?选福正美准没错 - 福正美黄金回收