2024考研408-计算机组成原理第六章-总线学习笔记

news2024/12/24 21:48:28

文章目录

  • 前言
  • 初识总线
  • 一、总线概述
    • 1.1、总线的概述
      • 1.1.1、认识总线
      • 1.1.2、设计总线需要的特性
      • 1.1.3、总线的分类
        • ①按照数据传输格式分(串行、并行)
        • ②按照总线功能连接的总线(片内总线、系统总线、通信总线)
        • ③按照时序控制方式(同步、异步)
        • 其他总线
          • 局部总线(含例题)
      • 1.1.4、系统总线的结构
        • ①单总线结构
        • ②双总线结构
        • ③三总线结构
        • 扩展:四总线结构(目前主流计算机系统)
      • 1.1.5、常见的总线标准
      • 总结
    • 1.2、总线的性能指标
      • ①、总线的传输周期(总线周期)
      • ②、总线时钟周期
      • ③、总线的工作频率
      • ④、总线的时钟频率
      • ⑤、总线宽度
      • ⑥、总线带宽(含例题)
      • ⑦、总线复用
      • ⑧、信号线数
      • 总结
  • 二、总线事务与定时
    • 2.1、总线仲裁(408大纲已删,了解即可)
      • 2.1.1、总线仲裁的基本概念
      • 2.1.2、总线仲裁的分类
        • 集中仲裁方式(三种)
          • ①链式查询方式
          • ②计数器查询方式
          • ③独立请求方式
        • 分布式仲裁方式
      • 总结(包含优点、控制线数)
    • 2.2、总线的操作与定时
      • 2.2.1、总线传输的四个阶段
      • 2.2.2、总线四种定时方案
        • 方式一:同步定时方式
        • 方式二:异步定时方式
          • 互锁方式一:不互锁
          • 互锁方式二:半互锁
          • 互锁方式三:全互锁
        • 方式三:半同步通信
        • 方式四:分离通信
      • 本节回顾
    • 2.3、总线标准
      • 2.3.1、总线标准的基本概念
      • ①系统总线标准
      • ②局部总线标准
      • ③设备总线
      • 总结

前言

目前正在备考24考研,现将24计算机王道的408学习整理的知识点进行汇总整理。

博主博客文章目录索引:博客目录索引(持续更新)

初识总线

对于主存、硬盘、打印机以及其他其他部件之间发送地址、数据、控制消息则都是通过地址、数据以及控制总线来完成的。对于数据总线、地址总线是可以进行并行的传输32bit甚至更多bit的数据。

image-20230629154054154

  • 地址总线:发送地址信息。
  • 数据总线:数据的传输。
  • 控制总线:发送控制的电信号。

为什么一个数据总线或地址总线可以并行的传递很多的bit数据

  • 实际在数据总线、地址总线的一根中可能包含多跟信号线,若是想要并行的传输32bit数据,我们此时数据总线内部可以包含32根信号线。
  • 举例:我们只要给数据总线加上0101对应电平的信号,此时就能够被相连着的设备给接收到。若是我们CPU给数据总线上对应不同的信号信息,此时其他的设备也能够收到CPU发送的数据信息。

若是在同一时刻CPU在数据总线上发送了4bit的高低高低电平,此时硬盘也发送了4bit的底高低高电平,此时其他硬件设备如何接收

  • 其他部件是无法检测到是哪个部件发送的数据,在同一时刻只能够有一个部件在总线上发送数据,但是可以有多个部件可以同时接收数据。

总线的物理实现:有一条一条纹路的就是用光刻机刻上去的总线,本身主板上的一些插槽就已经和纹路也就是总线进行了连接,此时我们就可以直接将现成的CPU、主存直接插到上面即可,这种总线的设计可以让我们很容易的主板上扩充一些部件。

image-20230629153957182


一、总线概述

image-20230628183755906

1.1、总线的概述

1.1.1、认识总线

总线的定义:总线是一组能够为多个部件分时共享的公共信息传送线路。CPU的运算部件,控制单元,CPU和主存以及各种各样的输入输出设备之间通过一组系统总线来完成控制信号的收发以及数据的传输。

image-20230629154145025

出现总线的原因:由于外部设备的种类很少,CPU只需要和特定的外部设备和纸带机进行数据交互,由于外部设备少因此当我们想要把外部设备接入计算机的时候,就可以采用分散连接的方式,就是两个设备之间单独的建立一条专门用于数据传输的线路,随着计算机的快速发展外部设备越来越多,若是依旧采用这种纸带机效率并不好,因此引入了"总线"的概念!

  • 使用了总线之后,我们只需要像现在主板上直接插入指定的外设即可。

总线特点:分时与共享。

  • 分时:同一时刻只允许有一个设备往这个总线上发送数据。若是多个设备都想要在总线上发送数据,就需要在不同的时间内来使用总线。
  • 共享:这些硬件部件都是共享的使用总线。

1.1.2、设计总线需要的特性

设计总线需要关注的特性

image-20230629154210908

1、机械特性:各个部件的摆放顺序。

2、电气特性:传输方向和有效的电平范围。

  • 传输方向:硬件之间的传输方向是有限制的,并不是都是双向的。例如地址总线CPU传到主存、硬盘,说明此时流向就是CPU流向各个部件,不能够直接主存数据流向CPU。例如数据总线CPU是要读主存数据也是要写数据,此时CPU与主存之间的数据总线就是双向的。
  • 有效的电平范围:例如低电平范围为0-0.5v,高电平范围是4.8-5.2v,那么只有落在对应规定的范围中才算是有效的。

3、功能特性:每根传输线的功能(地址、数据、控制)。

4、时间特性:信号的时序关系。

  • 指的是请求使用总线的信号,何时发出。

1.1.3、总线的分类

image-20230629114539184

①按照数据传输格式分(串行、并行)

按数据传输格式:串行、并行总线

image-20230629154231261

串行:设备A与设备B之间每次传输1个bIt信息。

  • 实际应用:USB,对于USB这种总线规范每次只会传送一个bit数据,对于串行我们只需要使用一根传输线即可。
  • 优点:实现成本比较低,因为只有一根总线,可以广泛的应用于长距离的传输,并且抗干扰能力极强;在实际应用在我们主板上的时候也只需要光刻机刻录一条线即可。
  • 缺点:存在串行传输的数据最终需要进行并行转换,由于我们每次只能传输一个bit信息,那么就肯定会存在拆卸和装配的过程,通过串行发送的数据需要经过转换之后采用并行的方式最终将多个bit去发送给CPU。

并行:设备A与设备B之间每次可传输多个bit信息,数据信息可以并行的传送。

  • 好处:逻辑时序实现比较简单。
  • 缺点:由于要并行的传送多个数据,因此信号线路会比串行总线多,会占用更多的布线空间。并且由于多个信号线并行布在一起,信号线在传递信号的过程中,由于之间的距离很近会造成信号的干扰并且导致二进制信息位的跳变,这种电气特性会导致并行总线工作频率并不是很高,甚至在有些时候传输速度不如串行总线传输。

串行总线与并行总线对于速度谁高的探讨

image-20230629165339480

注意:对于传输速度上,并行总线并不能因为能够并行的传输数据则一定判定它传输速度比串行快(见并行总线的缺点)!!!


②按照总线功能连接的总线(片内总线、系统总线、通信总线)

片内总线:内部CPU芯片内部连接各个寄存器、ALU之间的总线。

image-20230629154316342

系统总线:计算机系统各个功能部件(CPU、主存、IO接口)之间相互连接的总线。

image-20230629154347933

image-20230629154336124

  • 分为三类:数据总线、地址总线和控制总线。
  • 数据总线(DB):传输的数量可以参考机器字长和存储字长,若是数据总线的宽度和机器字长一致,那么意味着CPU可以通过一次的数据读入,直接取得CPU可以处理的数据。若是数据总线的宽度与存储字长一致,那么意味着每一次的主存读或写只需要使用数据总线传一次就可以了。
    • 宽度:同样数据总线的宽度倍数可以与机器字长、存储字长一致。、
    • 方向:双向的(单根)。
  • 地址总线(AB):CPU可以通过地址总线发出地址信号来指明想要访问的主存单元地址,并且也可以通过地址总线来指明他想要访问的输入输出设备是哪一个。
    • 宽度:应当与主存地址空间保持一致。对于若是主存和IO设备采用统一编址的方式,除了主存空间,还要考虑设备的数量,若是主存编号为0-n,输入设备为n+1,输出设备为n+2,此时地址总线宽度应该同样也是n+2。
    • 方向:单向(单根)。
  • 控制总线(CB):包含多根控制线,每一根控制线发送一个控制信号。对于单根控制线,控制信号的传输方向肯定都是单向的,而有时候CPU会去发送控制信号给其他设备那么就需要一根控制线,若是某个设备发送给CPU则也需要一根控制线。
    • 方向:单向(单根)。

注意:数据通路(数据流经的路径)与数据总线(承载的媒介)有区别。地址总线可以作为数据通路的物理媒介。

通信总线:用于连接各个计算机系统的。

image-20230629154410871


③按照时序控制方式(同步、异步)

按照时序控制方式:同步总线、异步总线


其他总线

局部总线(含例题)

image-20230629180101488

解析:A正确,左图是没有局部总线,若是外部设备1与外部设备2直接通信,则会占用系统总线,按照右图有了局部总线,此时若是两个外部设备进行通信此时就无需占用系统总线,可以有效的节省系统的总带宽。

B错误:一般的话采用软件编程方面和以外部媒介来提高抗干扰能力,而不是说采用局部总线就能够提高的。

C错误:所有的总线都会有阻抗不连续、阻抗不匹配问题,这类问题需要加入合适的终端电阻才可以解决。

D错误:应该是要构成松耦合。


1.1.4、系统总线的结构

①单总线结构

单总线结构:只会在计算机系统内部设置一组系统宗信啊,对于CPU、内存、IO设备之间都是连接同一组总线(包含有数据、地址、控制总线),所有的设备也都是通过这一组总线来完成信号的传输。

image-20230629144221918

优点:结构简单,成本低,方便接入新的设备。

缺点:①由于各个部件对于总线的使用应该是互斥的,那么在同一时刻中只能由一个功能部件能够获取到这个系统总线的控制权,所以多个功能部件都有可能来去争用系统总线的使用权,其不支持并发的传送(这里指的是并行,同一时刻只能够由两组设备来完成信号传递)。

②对于CPU、主存是属于快速的,而对于外部设备键盘、鼠标、打印机这些数据传输很慢,由于系统总线的速度也是比较快的,若是这些慢速设备接在同一根快速的系统总线则会拉低系统宗兴的性能。

对于快慢速传输硬件设备来连接到同一根系统总线时出现的问题则会在双总线结构中得到解决!


②双总线结构

双总线结构:在原本的CPU、内存与慢速设备之间引入了通道的概念,CPU、主存与通道之间进行数据传送(使用主存总线);通道与IO外设来进行数据传送(使用IO总线)。

image-20230629144455161

引用通道的原因?通道对于信息的处理速度很快,通过通道与CPU直接通过主存总线来进行连接,可以保证快速的主存总线能够发挥性能,由于IO读写速度慢此时则可以使用较慢的IO总线(针对设计的)。

通道的作用:此时就可以缓和CPU与各种IO设备之间的速度矛盾,并且使用通道可以对所有的IO设备进行统一的管理。

通道:对于通过要管理IO设备,同样需要管理相关的代码,这部分的代码时存放在主存中的,我们可以看到主存和通道之间也可以通过上面的快速主存总线来进行数据传输,对于这部分代码总主存中取出。

主存总线优点:可以支持突发传送,可以送出一个地址后收到该地址连续的数据(空间局部性原理,访问一个地址周围的地址也可能被访问)。


③三总线结构

三总线结构:包含有三个总线,主存总线(CPU与主存)、IO总线(I/O接口与CPU)、DMA总线(主存与IO接口)

image-20230629144943091

此时在这里引申出了有时候可能会使用到一些高速外设如磁盘,对于这类外设我们可以单独的设置一根总线也就是DMA总线。

DMA总线:对磁盘那的数据读写以"块"为单位,每次读写一块就是4KB,此时让磁盘与主线通过DMA总线来交换数据,就可以很快速的完成整个数据的传输,不需要再通过IO总线传输,此时可以缓和CPU与磁盘之间的速度矛盾。

优点:通过使用DMA总线可以使某一些高速的IO设备性能得到提升。

缺点:系统的工作效率比较低,三个总线同一时刻只能有一个总线再工作,导致了系统的整体工作效率比较低。


扩展:四总线结构(目前主流计算机系统)

image-20230629154627764

四条总线分布

  • CPU-cache:CPU总线。
  • 主存:系统总线
  • 显卡、快速设备:高速总线
  • 外部设备扩充,连接USB设备:扩充总线

其中系统总线、CPU总线、高速总线之间通过桥进行转换

  • 桥(桥接器,也就是南桥北桥芯片):对于不同总线之间速度的差异需要增加一个中间的设备,主要目的就是用来进行数据缓冲,如将串行输入的数据通过桥接器之间并行的发送给CPU。
  • 桥功能:控制功能,可以进行总线仲裁,将总线的使用权分给设备。

对于每一级的总线设计都需要遵循一定的总线标准。


1.1.5、常见的总线标准

下面是根据不同的总线标准来进行分类:

image-20230629180813967


总结

image-20230629154733083


1.2、总线的性能指标

①、总线的传输周期(总线周期)

image-20230629170445070

:一次总线操作所需的时间。

包含有四个阶段

  • 申请阶段:决定是否将总线分配给某一个设备使用。
  • 寻址阶段:主设备通过地址总线将想要读或者写的地址传送给从设备。
  • 传输阶段:主设备向从设备去写数据或者读数据。
  • 结束阶段:释放总线的使用权。

由若干个时钟周期组成。


②、总线时钟周期

image-20230629170519693

介绍:也就是机器的时钟周期。

时钟周期的长度计算:若是CPU的主频为3.0Ghz,长度即为1s / 3.0Ghz

总线时钟周期与总线传输周期的关系:可能会出现一对多,一对一,多对一的情况。

  • 对于1个总线时钟周期可能包含多个总线传输周期原因:在一个时钟周期中分别在上升沿以及下降沿都进行了一次总线的传输,此时一个时钟周期包含两次总线传输周期的情况。
  • image-20230629160801022

提供总线时钟周期的部件:可能是桥接器。

  • 例如CPU发出的频率为3.0Ghz,由CPU来控制,对于其他的一些总线会跟不上这个时钟信号,此时由桥接器来往高速总线里边的控制总线上发出频率更慢的时钟信号。

③、总线的工作频率

image-20230629170534890

介绍:总线上各个操作的频率,总线周期的倒数。

计算:若是总线周期=N个时钟周期,总线工作频率 = 时钟频率 / N


④、总线的时钟频率

image-20230629170618641

介绍:一秒内由多少个时钟周期,机器的时钟频率,时钟周期的倒数。

  • 若是时钟周期为T,时钟频率为1/T。

⑤、总线宽度

image-20230629170631178

介绍:总线的位宽,总线上同时能够传输的数据位数,即数据总线的根数。


⑥、总线带宽(含例题)

image-20230629170650730

介绍:总线的数据传输率,单位时间内总线可传输的数据位数。

计算公式:总线带宽 = 总线工作频率 x 总线宽度 (bit / s) = 总线工作频率 x (总线宽度 / 8) (B/s)。

  • 若是题目只告诉我们总线周期,计算公式:总线带宽 = (总线宽度 / 8) / 总线周期 (B/s)。实际上总线工作频率 = 1 / 总线周期换算的。

注意:总线带宽实际指的是总线本身能够达到的最高传输速率。

  • 若是题目让我们计算有效数据传输时,则需要将一些校验位、有效位去除掉之后计算,以实际传输的数据为主。

实际例题

题目

image-20230629170730917

提示:数据线、地址线复用:之前图中数据线地址线是否分开单独组的,这里指的是简化总线的根数,将数据线与地址线进行合并后,就用一组总线来实现数据与地址信息的传送,传送信息的方式是采用分时传输,先试用32根线来传输地址线,接着再次复用这32根线来完成数据的传送。

答案

image-20230629170757884


⑦、总线复用

image-20230629170816835

好处:对于数据线、地址线能够复用同一组总线,节省了成本呢。

弊端:基于这种总线复用技术,如果CPU要往主存当中写入某一个数据,那首先CPU要通过这个总线。发出地址信息指明我要写的地址在什么地方,然后主存接收到地址信息之后,接下来CPU在发出数据的信息。同样是通过这个总线传递给主存,然后主存再根据刚才记录下来的地址信息,所以如果采用这种总线复用技术,那么显然当我们要传递地址信息和数据信息的时候,至少都需要两个总线周期。需要进行两次数据的传送好,所以这种方式虽然节约了成本,但是但是也会使得速度有所下降。


⑧、信号线数

数据、地址、控制总线数的总和

image-20230629170846841


总结

image-20230629170225289


二、总线事务与定时

image-20230629182441094

2.1、总线仲裁(408大纲已删,了解即可)

2.1.1、总线仲裁的基本概念

总线仲裁的基本概念

  • 总线是作为共享设备,不可避免的在同一时刻有多个主设备竞争总线控制权的问题。

总线仲裁定义:多个主设备同时竞争主线控制权,以某种方式选择一个主设备优先获得总线控制权。

image-20230629204853919


2.1.2、总线仲裁的分类

集中仲裁方式:链式查询、计数器定时、独立请求

  • 选定某一个设备来当领导,若是下面的设备出现争抢时由它来决定。

分布仲裁方式

  • 根据争抢主权的设备自行完成探讨确定。

集中仲裁方式(三种)

image-20230629204950907

集中仲裁:由总线控制器(可能在CPU,也可能在南桥、北桥中)来进行协调。工作流程大致相同,主要是其中的对应选取策略有所不同!

特点:都是由总线控制部件来进行决定。


①链式查询方式

链式查询方式

image-20230629194805565

  • 使用了三根控制线来进行实现,分别是BG、BR、BS。

链式查询方式是一种总线仲裁的方法,用于多个设备共享同一总线资源时协调设备之间的访问顺序。在链式查询方式中,设备按照一定的顺序连接在总线上,形成一个链条。

查询流程

1、此时设备接口1、设备接口n向BR发送了高电平信号,此时总线控制部件收到信号后得知此时有设备需要使用总线了。

2、此时总线控部件发送BG高电平信号,依次到达设备接口0、设备接口1…方向,由于设备接口0不需要使用总线,此时会继续向后传递首先来到设备接口1,由于设备接口1是想要使用总线的,此时当接收到信号时就表示允许该设备控制了,此时设备接口1获得总线的控制权。

3、此时设备接口1向设备忙线BS上输送一个高电平信号用来表示当前总线被它占用,此时设备接口1也会撤销BG信号。

4、此时设备接口1可以使用数据线与地址线了。

此时设备接口n在不断地发起BR信号线,由于BS信号线已经在高电平此时就不会发出BG高电平信号,直到设备接口1撤销BS,之后与上面流程循环往复。

缺陷:由于是链式,一旦某个硬件坏了则会影响BG从该硬件设备向后的信号传递;并且对于越靠前优先级越高的部件频繁使用总线时,会使优先级较低的部件长期不能使用总线。

生动例子:硬件设备依次排序为1->2->3->4->5,此时若是2、3硬件设备都想要获取总线请求,此时大哥每次都会从硬件设备1开始进行询问是否需要控制权,若是1不要,则继续问2。

image-20230629204159871


②计数器查询方式

计数器查询方式

image-20230629195633105

  • 在这里只有两根线,并且多增加了一个计数器在总线控制部件中。
  • 这里设备地址指的是一组线(用来表示要访问的地址)。

好处:对比链式查询不会出现电路故障引发的链式敏感,因为都是随着计数器来进行挑选相应的硬件设备的。

流程

1、硬件设备若是想要使用总线,此时就会向BR发起高电平信号,假设指定I/O接口1、I/O接口2都发起使用总线信号,一旦总线控制部件中计数器检测到BR有高电平了此时就开始计数,初始为0。

2、此时总线控制器部件向设备地址发送计数值0,此时会询问I/O接口0是否需要使用总线,由于不使用此时计数器会+1,接着再通过一组的设备地址线发送1,询问I/O接口1是否需要使用总线,此时需要则I/O接口1具备使用权。此时会终止计数器的计数与查询。

3、此时I/O接口1就会发起BS的高电平信号,表示当前总线忙,此时设备1就可以进行使用数据地址线了。

之后就是等待IO接口1撤销总线,步骤循环往复。

生动例子:有1、2、3、4小朋友,这里设定2、3小朋友想要掌控玩具主动权,此时大哥会从初始1开始(任意设定一个初始值),首先询问1是否要玩,1不玩,此时计数器+1,接着问2,2想要此时则掌控玩具主动权,之后撤销后大哥会从3开始问起,循环往复,相对比较公平。

image-20230629204519355


③独立请求方式

独立请求方式

image-20230629203314631

在这里每个设备接口器都与总线控制部件有连接BG(总线允许)与BR(总线请求)线,所有设备接口都与一条BS连接。

流程

1、若是设备接口器要请求总线,此时同样发起BR请求,此时设置设备接口1、设备接口n想要请求总线。

2、总线控制部件中包含有一个排队器,选中一个优先的设备接口器,接着向对应设备接口n发起BGn高电平请求,此时若是设备接口n接收到了后此时就会发起BS总线忙的高电平表示当前该设备占用总线,此时就会撤销掉当前的BGn信号。

3、若是设备接口n使用完毕之后,此时就会撤销BS线。

之后循环往复。

生动例子:同时有1、3小孩给大哥发起请求,大哥怎根据自己的一个独有的排队器,让排在之前的小朋友掌控玩具的主动权,之后所有的请求都是如此。

image-20230629204712534


分布式仲裁方式

分布式仲裁方式

image-20230629203910957

生动例子:在分布式仲裁中并没有大哥来决定控制权是谁的,而是根据不同的硬件设备自行的比较商量。此时1、2、3号都要请求控制总线的使用权,此时分别的亮出自己的仲裁号,1号是20、2号是2.5、3号是10,此时根据仲裁号最高的则会优先获取到总线控制权也就是1号。

image-20230629203707816


总结(包含优点、控制线数)

image-20230629203348395

image-20230629204025089


2.2、总线的操作与定时

2.2.1、总线传输的四个阶段

主设备与从设备之间如何数据传输,如何发出命令与给出数据?

总线周期的四个阶段

image-20230630152226281

1、申请分配阶段:传输请求与总线总裁。

2、寻址阶段:每一个设备都有自己的地址编号,此时主设备可以用地址来进行指明想要配合工作的从设备,就需要发出地址信息

3、传输阶段:是需要发出是读命令还是写命令;指定的从设备接收到相应的请求之后就需要进行启动,具体是往哪里读还是写这个是根据地址信息来决定。

4、结束阶段:主模块将有关信息从系统主线上擦除,让出总线控制权。


2.2.2、总线四种定时方案

总线定时的目的:通过指定一种协议与规则来让总线在进行数据交换的过程中能够有时间关系配合的控制,双方按照指定的规则来进行数据交互。

四种定时方案

  • 同步通信:总线控制器会提供一个统一的时钟信号,用来控制数据的传送,总线控制器作为一个总指挥来进行除法控制,主设备与从设备则根据总线控制器发出的统一的节奏依次完成一个个动作。
  • 异步通信:没有提供统一的节奏,而是让主设备、从设备获得总线的使用权之后,让他们用应答的方式互相协商决定工作的节奏。
  • 半同步通信:上面两种方式的结合。
  • 分离式通信:可以更好的挖掘总线在每一个瞬间这个传输的潜力。

方式一:同步定时方式

同步通信:

image-20230630144448951

1、CPU会在T1时刻发出地址信息

2、T2上升沿时,CPU给出读命令,指定的从设备要将传输的数据送到数据总线上。

3、CPU在T3时钟周期中将数据线上信息传送到其内部寄存器中。

4、CPU在T4时钟周期撤销读命令,此时输入设备不再向数据总线上传输数据,并撤销它对数据总线的驱动(读命令、地址总线)。

同步通信的局限性:若是从设备的速度比较慢,此时就会造成在T3时钟周期从设备给不出数据,此时之间的数据通信就会出现问题!

特点如下

image-20230630144829301

优点:实现简单,速度快。

缺点:对于同步通信并没有留有时间去进行检测其中的传输数据是否有效。

应用:总线长度较短,适合所接部件的存取时间比较接近的设备之间传输数据。


方式二:异步定时方式

异步定时方式:没有统一的时钟,而是通过主从设备之间自己进行商量具体的数据交换时间,主设备来提出交换信息的"请求"信号,从设备接口请求后,则会向主设备发出"回答"的信号。

image-20230630152430999

若是没有统一时间的动作,那么主设备从设备是如何配合工作的

  • 可以根据请求和回答信号,撤销的时间是否会有互锁。

优点:适合两个工作速度相差很大的部件与设备之间进行可靠的传输。

缺点:实现复杂,工作速度比同步定时更慢。


互锁方式一:不互锁

(1)不互锁:相互之间不会有制约的撤销关系

image-20230630152553042

主设备发出请求信号(地址线发出地址信息、控制线发出控制信息),无需等待从设备的回答信号,经过一段时间就直接"撤销"信号。

从设备接到请求后,就会直接开始进行会发信号经过一段时间会自动撤销"回答"信号。

互锁关系:主、从设备不存在互锁关系。

特点:速度最快,可靠性最差。


互锁方式二:半互锁

(2)半互锁:主设备有互锁关系,从设备没有互锁关系

image-20230630152647271

主设备发出请求信号后,必须接收到从设备的"回答"信号后,才会撤销"请求"信号,有互锁关系。

从设备收到"请求"信号后,发出"回答"信号,经过一段时间后自动撤销"回答"信号。


互锁方式三:全互锁

(3)全互锁:主、从设备之间有互锁关系

image-20230630152731492

主设备:发出"请求"信号后,必须接收到从设备的"回答"信号后,才会撤销"请求"信号,有互锁关系。

从设备:接收到"请求后",发出回答信号,只有检测到了主设备撤销"请求"信号的时候,才会去撤销"回答"信号。

特点:最可靠,速度最慢。


方式三:半同步通信

半通信会增加一个反馈的信号WAIT,主要是通过异步通信的思想来去弥补同步通信中可能会出现的问题。

image-20230630152807324

对于之前同步通信中在T2时钟周期时,从设备应当要将数据都准备好并发送到数据线上,此时在半同步通信中,若是从设备无法在T2时钟周期中准备好数据,此时就可以通过控制总线给总线控制器进行反馈,让总线控制器等待Tw几个节拍时间,等待从设备准备好数据后,此时T3从设备就可以将数据通过数据总线发送给主设备!


方式四:分离通信

image-20230630152843220

原本同步通信中有四个时间周期:

  • T1:CPU申请占用总线,发出地址信号以及控制信号。(占用总线)
  • T2:从设备接收到"请求",此时开始准备数据。(不占用总线)
  • T3:从设备将数据发送给主设备。(占用总线)
  • T4:主设备撤销读信号以及地址信号。(占用总线)

对于上面四个时钟周期中T2时钟周期时不会占用到总线的,此时在分离通信中则会将同步通信分为两个子周期:

  • 子周期1:主模块申请占用总线,使用完后放弃总线控制。
  • 子周期2:从模块申请占用总线,将数据送到总线上。

此时在T3周期时就可以将总线的使用权分配给其他的设备来进行使用,这样可以让总线的传输效率变得更高。

其中同样采用是的同步定时方式通信,两者之间不需要制约。


本节回顾

image-20230630152203796


2.3、总线标准

image-20230630163634176

对于总线的标准需要进行提前的制定,如下示例:

image-20230630163652420


2.3.1、总线标准的基本概念

image-20230630163748628

主要分为:系统总线、局部总线、设备总线。

  • 系统总线:与CPU直接连接,例如连接CPU与北桥芯片,CPU与主存。
  • 局部总线:没有直接与CPU连接,通常连接高速的北桥芯片,连接很多的重要部件。
  • 设备总线、通信总线:通常由南桥芯片控制,用于连接计算机与计算机(如打印机系统)或者连接计算机与外部IO设备。

①系统总线标准

image-20230630163838932

系统总线标准:ISA(并行)、EISA

  • ISA:连接CPU、主存或者IO设备,由CPU直接控制的。到后期用来连接比较慢的设备,也可以作为设备总线使用。
  • EISA:扩展总线。

对于这两种是早期的总线,之后Intel提出了一种总线标准为fbs(前端总线),接着进一步升级叫做QPI的总线标准。


②局部总线标准

局部总线:VESA(并行)、PCI

对于图形化操作系统用于处理活动图像,这些数据比字符数据更大,需要传送到显示器上。通常连接显卡,高速网卡。

  • VESA:工作频率受到CPU控制。
  • PCI(并行):工作频率不受到CPU限制,并且速度更快。

出现3D类动画,提出新的总线标准AGP,基于PCI2.1。

  • AGP(并行总线):1996年,加速图形接口。

  • PCI-E(串行):2001年,第三代I/O技术。布线空间变少,成本变低。

下面是对应上面局部总线标准的图示:

VESA:

image-20230630164021296

image-20230630164033105

PCI:

image-20230630164052233

AGP:

image-20230630164110088

PCI-E:

image-20230630164137374

image-20230630164149246


③设备总线

设备总线标准:RS-232C、SCIS、PCMCIA、USB、IDE、SATA

  • 通信总线名字:强调的是计算机系统与外界的这个打印机系统之间的一个通信,完成这样的功能。
  • 设备总线:例如打印机这种是可以接上这个计算机系统的某一种设备。还有其他例如激光打印机、彩色打印机。

RS-232C(并行总线)

PCMCIA(并行总线):当时还没有网络数据传输这么普及,一般都是借助媒介来交换数据文件的,满足便携设备。

USB(通用串行总线):例如连接鼠标、键盘、打印机等,属于设备总线,抗干扰性更强。

IDE(ATA、PATA,并行总线):连接硬盘的总线标准

SATA(S指的是Serial,串行):硬盘总线可以取代IDE。

下面是对应总线的图示

RS-232C:

image-20230630164234335

SCSI:

image-20230630164250597

PCMCIA:

image-20230630164427811

USB:

image-20230630164447275

image-20230630164509013

IDE:

image-20230630164525452

SATA:

image-20230630164544747


总结

image-20230630164608479

image-20230630162821366


整理者:长路 时间:2023.6.28-29

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

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

相关文章

css新特性(五)

css基础(一)css基础(一)_上半场结束,中场已休息,下半场ing的博客-CSDN博客Emmet语法Emmet语法_上半场结束,中场已休息,下半场ing的博客-CSDN博客css基础(二)c…

Retrofit注解

1. 注解类型 Retrofit路径结合的规则 2. 网络请求方法 2.1 Get请求 完整地址:http://mock-api.com/2vKVbXK8.mock/getUserInfo?iduserid 2.1.1 Query 创建Retrofit实例必须传入baseurl(http://mock-api.com/2vKVbXK8.mock/),在GET("getUserIn…

Android跨平台语言分析

跨平台技术发展的三个阶段 第一阶段是混合开发的web容器时代 为了解决原生开发的高成本、低效率,出现了Hybrid混合开发原生中嵌入依托于浏览器的WebViewWeb浏览器中可以实现的需求在WebView中基本都可以实现但是Web最大的问题是,它的性能和体验与原生开发…

Mybatis面试题--MyBatis执行流程

首先我们知道Mybatis是目前最流行的持久层框架,当我们了解了执行流程,可以让我们理解各个组件的关系,以及Sql的执行过程(参数映射、sql解析、执行和结果处理) 1首先我们需要读取框架的核心配置文件 2接下来我们就要去操…

chatgpt赋能python:Python编程的好玩儿之处:介绍几个有趣的Python程序

Python编程的好玩儿之处:介绍几个有趣的Python程序 Python已经成为了一种非常受欢迎的编程语言,除了其在Web开发和数据科学领域的应用,它还能够完成很多好玩儿的事情!接下来,我将介绍几个有趣的Python程序&#xff0c…

【零基础入门学习Python---Python多线程和多进程】

🚀 Python 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

基于SpringBoot+vue前后端分离的相机销售系统

文章目录 项目介绍主要功能截图:首页相机详情个人中心 部分代码展示设计总结项目获取方式 🍅 作者主页:Java韩立 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你…

Centos7.9 磁盘分区、挂载

常用命令: fdisk /dev/vdb 创建分区 mkfs.ext2 /dev/vdb3 文件系统(ext2,ext4,xfs)格式化 mkfs.ext4 /dev/vdb3 mkfs.xfs /dev/vdb3 df -T 命令查看格式化是否成功(要先把分区挂载到目录,否则df…

18. WebGPU 计算着色器

本文接续基础知识文章。我们将从一些基本的计算着色器开始&#xff0c;然后希望继续讨论解决现实世界问题并写一些示例。 在上一篇文章中&#xff0c;制作了一个非常简单的计算着色器&#xff0c;可以将数字加倍。 这是着色器 group(0) binding(0) var<storage, read_wri…

Java安装

Java Downloads | Oracle 一直往下拉 配置环境变量 第二部分&#xff1a;idea旗舰版下载安装配置 1. 字号 file-settings-editor-font-23 &#xff0c;还有菜单字号

边坡变形监测主要用到哪些仪器

在建筑行业中&#xff0c;边坡安全问题一直备受关注&#xff0c;尤其是在地质灾害频发地区。为了预防和控制边坡失稳&#xff0c;降低对人民生命财产的危害&#xff0c;保障工程建设的顺利进行&#xff0c;边坡变形监测工作就显得尤为的重要。边坡变形监测仪器可以实时动态监测…

GSM模块(SIM900)详解

GSM模块&#xff08;SIM900&#xff09; 0. GSM概述1. 常用的GSM模块2. SIM900系列3. STM32使用SIM900系列通信方法AT指令示例代码 0. GSM概述 GSM&#xff08;全球系统移动通信&#xff09;是一种数字移动通信技术&#xff0c;是世界上最常用的移动通信标准之一。它是由欧洲电…

[Unity][疑难杂症]Mac电脑打开工程unity attempt to write a readonly database

报错的根本原因&#xff1a; 你Unity项目所在的硬盘&#xff0c;格式不是MacOS或者APFS格式&#xff0c;我的是ExFAT所以报这个错。 可能出现的问题&#xff1a; 1、删除unity项目中的c#之类的文件就会报错&#xff0c;并且强制退出 2、新项目压根打不开&#xff0c;在生成资源…

【学习笔记】Unity基础(九)【cinemachine基础(body、aim参数详解)】(多fig动图示范)

目录 一 速览1.1 cinemachine下载1.2 官方示例速览1.3 cinemachine定义 二 cinemachine详解2.1 Virtual Camera2.1.1 virtual camera参数通览2.1.2 Status2.1.3 有关Dutch angle2.1.4 Standby Update2.1.5 Transitions 2.2 virtual cameral关键参数详解2.2.1 Body2.2.1.1 Do No…

idea搭建springmvc

Spring MVC是一种基于MVC模式的框架&#xff0c;它是Spring框架的一部分。它提供了一种更简单和更有效的方式来构建Web应用程序。它提供了一系列的功能&#xff0c;可以帮助您更快地构建Web应用程序&#xff0c;如控制器&#xff0c;视图&#xff0c;模型&#xff0c;数据绑定&…

【数据挖掘】时间序列模型处理指南(二)

一、说明 本文是一个系列文章的第二部分&#xff0c;本文将用股票数据进行时间序列分析为例&#xff0c;对时间分析的方法、过程&#xff0c;进行详细阐述。 二、前文章节 在文章第一部分种&#xff1a;【数据挖掘】时间序列模型处理&#xff08;一&#xff09;_无水先生的博客…

Spring Boot中的@EnableWebSocketMessageBroker注解是什么,原理,以及如何使用

Spring Boot中的EnableWebSocketMessageBroker注解是什么&#xff0c;原理&#xff0c;以及如何使用 WebSocket是一种在Web浏览器和Web服务器之间进行双向通信的技术。在传统的HTTP通信中&#xff0c;客户端向服务器发送请求&#xff0c;服务器响应请求&#xff0c;然后关闭连…

黑马Java项目实战-瑞吉外卖-笔记01

视频地址&#xff1a;黑马程序员Java项目实战《瑞吉外卖》&#xff0c;轻松掌握springboot mybatis plus开发核心技术的真java实战项目_哔哩哔哩_bilibili资料下载&#xff1a;百度网盘【黑马程序员-Java瑞吉外卖-企业级项目实战-平台实战开发】 黑马Java项目实战-瑞吉外卖-笔…

PHP表单传值和文件上传:深入解析数据交互与文件处理技术

目录 表单传值 为什么要表单传值&#xff1f; 表单传值的方式 GET传值 POST传值 GET和POST两种传参方式的不同&#xff1a; PHP接受数据的三种方式 PHP处理复选框数据 复选框表单的命名方式 复选框数据的接受形式 复选框数据的常见处理 复选框细节&#xff1a; 文件…

区块链技术如何改变Web3认证的现状?

随着加密货币和区块链技术的迅猛发展&#xff0c;Web3钱包成为了数字经济时代中的重要组成部分。Web3钱包是一种工具&#xff0c;用于存储、管理和交互加密货币及其他数字资产&#xff0c;以及与去中心化应用程序&#xff08;DApp&#xff09;进行交互。它们是实现Web3.0理念的…