【第六章:总线】

news2024/11/18 22:45:22

目录

  • 知识框架
  • No.0 引言
  • No.1 总线概述
    • 一、基本概念
    • 二、总线的分类及经典结构
      • 1、按照数据传输格式
      • 2、按照总线功能(连接的部件)
      • 3、按照时序控制方式
    • 三、性能指标
      • 1.总线的传输周期(总线周期)
      • 2.总线时钟周期
      • 3.总线的工作频率
      • 4.总线的时钟频率
      • 5.总线宽度
      • 6.总线带宽
      • 7.总线复用
      • 8.信号线数
  • No.2 仲裁
    • 一、集中仲裁方式(B站未看完全)
      • 1、链式查询方式
      • 2、计数器定时查询方式
      • 3、独立请求方式
    • 二、分布仲裁方式
  • No.3 操作和定时
    • 一、同步通信(同步定时方式)
    • 二、异步通信(异步定时方式)
    • 三、半同步通信
    • 四、分离式通信
  • No.4 标准

知识框架

No.0 引言

CPU可以通过地址总线给主存or打印机or硬盘发送地址信息。

CPU可以通过数据总线给主存or打印机or硬盘发送数据信息进行数据的传输。

数据总线可能并行的传输32bit,甚至更多个bit的信息。

CPU可以通过控制总线给主存or打印机or硬盘发送控制信号。

在这里插入图片描述

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

原因:每个总线内部可能由很多根信号线组成;

如果CPU想要给主存发送四位数据0101,只需要给四个线加上高低电平信号即可。可并行发送数据。

当然这些信号也可以被硬盘接收,也可以被打印机接收。因为是总线。(所有的硬件部件都是连在这个数据总线上的)

同一时刻只能有一个部件发送数据,但是可有多个部件接受数据(如果两个部件同时发送数据,那么总线内部的几根信号线的电信号就会冲突)

在这里插入图片描述

No.1 总线概述

一、基本概念

总线是一组能为多个部件分时共享的公共信息传送线路。所有的部件都是通过系统总线进行交互的。

为什么要用总线?
①早期计算机外部设备少时大多采用分散连接方式,不易实现随时增减外部设备。之前都是专门的线路连接。

②为了解决外部设备和主机连接的灵活性,为了更好地解决I/O设备和主机之间连接的灵活性问题,计算机的结构从分散连接发展为总线连接。即每当我们增加一个外部设备的时候,只需要将这个外部设备连接到总线上就可以了。、

总线的明显的特点:分时+共享

①共享是指总线上可以挂接多个部件,各个部件之间互相交换的信息都可以通过这组线路分时共享。

②分时是指同一时刻只允许有一个部件向总线发送信息,如果系统中有多个部件,则它们只能分时地向总线发送信息。

上面的是CPU:各种部件。

在这里插入图片描述

总线的特性:当我们设计总线的时候需要关注这些特性::

①:1.机械特性:尺寸、形状、管脚数、排列顺序

②:电气特性:传输方向和有效的电平范围(地址总线的传输方向只能说CPU传向主存or其它硬件部件|数据总线是双向的)

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

④:时间特性:信号的时序关系(比如请求使用总线的信号什么时候发出之类的)

二、总线的分类及经典结构

1、按照数据传输格式

分为串行总线和并行总线;

举个例子:假设A要给B发送四个bit的信息1101:

①:串行总线:只能一个一个的发送到总线上去。(比如USB,这种总线规范每次只能传输一个bit的数据)

​ 优点:只需要一条传输线,成本低廉,广泛应用于长距离传输;应用于计算机内部时,可以节省布线空间。

​ 缺点:在数据发送和接收的时候要进行拆卸装配,要考虑串行-并行转换的问题。

②:并行总线:可以同时并行的给B发送所有的4位bit信息。

​ 优点:总线的逻辑时序比较简单,电路实现起来比较容易。

​ 缺点:信号线数量多,占用更多的布线空间;远距离传输成本高昂;由于工作频率较高时,并行的信号线之间会产生严重干扰,可能会 产生二进制的跳变;对每条线等长的要求也越高,所以无法持续提升工作频率。

那么显然CPU跟主存用于传输数据的数据总线是一种并行总线。

2、按照总线功能(连接的部件)

分为:

+片内总线(连接的是cpu内部的各个功能部件)

+系统总线(连接的是一台计算机里边的各个功能部件)

+通信总线(连接不同的计算机之间的)

①片内总线:片内总线是芯片内部的总线。它是CPU芯片内部寄存器与寄存器之间、寄存器与ALU之间的公共连接线。

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

​ 按系统总线传输信息内容的不同,又可分为3类:数据总线地址总线控制总线

数据总线(DB)作用:传输各功能部件之间的数据信息,包括指令和操作数);

数据总线(DB)传输方向:双向

数据总线(DB)包含多少根信息线:位数(根数)与机器字长,存储字长有关;机器字长主要跟CPU,存储字长主要跟主存。

​ 如果数据总线的根数宽度跟机器字长一样的话,那么就说明CPU可以通过一次的数据读入就可以直接取得CPU可以处理的那么多的数据这是数据总线和机器字长保持一致的好处。

​ 如果数据总线的根数宽度跟存储字长一样的话,那么就说明每次的主存读或者写操作,只需要用数据总线传一次数据就可以了。如果数据总线的宽度只有存储字长的一半,那么我们要取出一个存储字就需要两次。

地址总线(AB)作用:CPU可以通过地址总线发出地址信号,来指明它想要访问的存储单元的地址是多少;也可以通过地址总线来指明它想要访问的输入输出设备是哪一个。地址总线用来指出数据总线上的源数据或目的数据所在的主存单元或I/O端口的地址,

地址总线(AB)传输方向:单向:一定是CPU发送来指明它想要读or写的这个设备或者主存的地址是哪一个。

地址总线(AB)包含多少根信息线:位数(根数)与主存空间大小保持一致,如果设备数量也加入编址的话,那么就与两者之和保持一致。比如主存地址是0到n,输出设备的编号是n+1,输入设备的编号是n+2;那么这种情况下地址总线的宽度至少能够表示0到n+2这个范围的地址信息。当IO设备和主存采用统一编址的时候IO设备的数量也会影响到地址总线应该设置的宽度。

控制总线(CB)作用:控制总线传输的是控制信息,包括CPU送出的控制命令和主存(或外设)返回CPU的反馈信号。

控制总线(CB)传输方向:一根控制线传输一个信号,内部n根控制线,有的是CPU发出给其它设备or主存,有的是CPU接收其它设备or主存返回的反馈控制信号。所以对于单根的控制线来说是单向的,但是总体来说是双向的。

控制总线(CB)包含多少根信息线

③:通信总线:比如网线:连接计算机与计算机之间的,通信总线是用于计算机系统之间或计算机系统与其他系统(如远程通信设备、测试设备)之间信息传送的总线,通信总线也称为外部总线。

因为本章节主要讲述的是系统总线;所以下面讲些系统总线的经典结构:

单总线结构:我们只会在计算机内部设置一组系统总线:有:数据总线地址总线控制总线

即注:单总线并不是指只有一根信号线,系统总线按传送信息的不同可以细分为地址总线、数据总线和控制总线。

结构:CPU、主存、IO设备(通过IO接口)都连接在一组总线上,允许IO设备之间、1/O设备和CPU之间或IO设备与主存之间直接交换信息。所有的功能都是通过这一组的系统总线进行实现的;

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

缺点:带宽低、负载重,多个部件只能争用唯一的总线(各个部件发送数据互斥),且不支持并行传送操作

缺点:传输速度上的矛盾,CPU和主存是属于读写速度比较快速的;但是很多外部设备的对数据传输速度是比较慢的;虽然系统总线可以支持很快的数据传输,但是当我们用快速的系统总线让慢速的外设进行数据传输的时候,性能是被浪费的。因为外部设备是比较慢的相对于CPU和主存;所以单总线结构显然是不科学的。

在这里插入图片描述

因为本章节主要讲述的是系统总线;所以下面讲些系统总线的经典结构:

双总线结构:如何解决上面所说的传输速度的矛盾问题呢?

引入通道这个功能部件进行缓解:通道是具有特殊功能的**处理器,**能对I/O设备进行统一管理。

是专门用来管理各种各样的IO设备的,所有的IO设备都可以通过通道与CPU进行间接的交互。

通道要管理这些IO设备,它也需要运行管理相关的代码,通道程序放在主存中,

即通道通过主存总线和主存进行交互。从主存中取出它想要执行的程序。

因为通道对信息的处理速度比较快,我们可以使CPU主存通道(阉割版的小CPU)统一的连接到主存总线上,这样可以保证这个快速的主存总线它的性能可以被发挥出来,最终形成这样的结构:

结构:双总线结构有两条总线,一条是主存总线,用于CPU、主存和通道之间进行数据传送;

另一条是l/O总线,用于多个外部设备与通道之间进行数据传送。

主存总线支持猝发传送:发送一个地址,收到多个地址连续的数据。

引入通道之后,我们可以缓和cpu与各种IO设备之间的速度矛盾

优点:将较低速的I/o设备从单总线上分离出来,实现存储器总线和I/o总线分离。

缺点:需要增加通道等硬件设备。

在这里插入图片描述

因为本章节主要讲述的是系统总线;所以下面讲些系统总线的经典结构:

三总线结构:有三个总线如下

主存总线:用于连接主存和cpu这两个高速部件之间的交互

IO总线:慢速的,CPU可以直接通过IO总线与慢速的外设进行交互。

DMA总线:主存和某些快速的IO设备之间用DMA总线来连接;比如磁盘这种高速外设。而打印机和键盘这些就是低速外设。

有DMA总线在于,CPU不需要再通过慢速的IO总线和磁盘机进行数据的交互;而是先把CPU需要的数据先从磁盘里面通过DMA总线传到主存里面,然后CPU通过快速的主存总线再从主存里面得到需要的数据。缓和CPU和磁盘的速度矛盾

最终形成这样的结构:结构:三总线结构是在计算机系统各部件之间采用3条各自独立的总线来构成信息通路,这3条总线分别为主存总线、I/o总线和直接内存访问DMA总线。

优点:提高了l/o设备的性能,使其更快地响应命令,提高系统吞吐量。

缺点:系统的工作效率较低、:因为这三个总线同一时刻只能有一个总线进行工作

在这里插入图片描述

3、按照时序控制方式

分为同步和异步。没了。

三、性能指标

1.总线的传输周期(总线周期)

我们要利用总线来传输一组数据所需要的时间

一次总线操作所需的时间(包括申请阶段、寻址阶段、传输阶段和结束阶段),通常由若干个总线时钟周期构成。

申请阶段:这个阶段我们要做的是 总线仲裁操作:就是要决定是否把总线分配给某一个设备使用

寻址阶段:两个设备要通过总线进行数据的传输,主设备会通过地址总线把它想要读or写的那个地址单元传递给从设备。

传输阶段:在指明了它要读or写的地址之后,通过数据总线往从设备里面写入数据。

结束阶段:数据传输之后,进入结束阶段就是要释放总线的使用权

那么经过一个总线周期之后就可以完成一组数据的传输。比如总线宽度32bit那么一个总线周期后就传送了32bit的信息、

总线周期与总线时钟周期的关系比较魔幻,
大多数情况下,一个总线周期包含多个总线时钟周期

有的时候,一个总线周期就是一个总线时钟周期

有的时候,一个总线时钟周期可包含多个总线周期

当时钟部件发出一个时钟信号的时候,可能能够传输两次数据了。奇妙;;

2.总线时钟周期

对于早期的计算机来说,总线的时钟周期;这个时钟信号就是由CPU发出的,所以总线的时钟周期通常就是机器的时钟周期。

那么机器的时钟周期就是就是cpu的时钟部件会发出这样的节拍信号|_|—;如果一个CPU它的主频是3.0GHZ;那么每秒钟发出这么多个时钟节拍信号;而每个节拍信号就是一个时钟周期。

即机器的时钟周期也就是CPU发出的节拍信号决定了这个总线的时钟周期它的长度是多少。计算机有一个统一的时钟,以控制整个计算机的各个部件,总线也要受此时钟的控制。

3.总线的工作频率

总线上各种操作的频率,为总线周期的倒数。
若总线周期=N个时钟周期,则总线的工作频率=时钟频率/N。

实际上指一秒内传送几次数据

4.总线的时钟频率

即机器的时钟频率,为时钟周期的倒数。

若时钟周期为T,则时钟频率为1/T。
实际上指一秒内有多少个时钟周期。

5.总线宽度

又称为总线位宽,它是总线上同时能够传输的数据位数,

通常是指数据总线的根数,如32根称为32位(bit)总线。

6.总线带宽

可理解为总线的数据传输率,即单位时间内总线上可传输数据的位数,

通常用每秒钟传送信息的字节数来衡量,单位可用字节/秒(B/s)表示。

总线带宽=总线工作频率×总线宽度(bit/s)=总线工作频率×(总线宽度/8)(B/s)

总线带宽=总线宽度/总线周期(bit/s)=(总线宽度/8/总线周期)(B/s)

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

在计算实际的有效数据传输率时,要用实际传输的数据量除以耗时。

在这里插入图片描述

7.总线复用

总线复用是指一种信号线在不同的时间传输不同的信息。可以使用较少的线传输更多的信息,从而节省了空间和成本。

即一组信号线可以当作地址总线、数据总线、控制总线、只不过是分时的进行传输信息。

8.信号线数

地址总线、数据总线和控制总线3种总线数的总和称为信号线数。

No.2 仲裁

因为总线同一时刻只能提供给一组设备讲行数据的传输

各种设备对总线的使用必须是互斥的进行的

如何解决多个设备争用总线的问题?

下面拿单总线经典结构举例子:

所有的设备都通过一组系统总线来进行连接;当一个设备想要使用总线来传输数据的时候,这个设备首先通过控制总线里面的线路来向总线的控制器发出一个请求,请求总线的使用权;当总线将这个使用权分配给这个设备之后,这个设备就可以使用数据总线地址总线来进行数据的传输。

同一时刻只能有一个设备控制总线传输操作,可以有一个或多个设备从总线接收数据。

将总线上所连接的各类设备按其对总线有无控制功能分为:
主设备:获得总线控制权的设备。 接下来经过地址总线来选择它到底要和哪一个设备进行数据的交互

从设备:被主设备访问的设备,只能响应从主设备发来的各种总线命令。

为什么要仲裁?
总线作为一种共享设备,不可避免地会出现同一时刻有多个主设备竞争总线控制权的问题。

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

在这里插入图片描述

一、集中仲裁方式(B站未看完全)

基本仲裁方式的步骤流程都是这样:

1.主设备发出请求信号;
2.若多个主设备同时要使用总线,则由总线控制器(一般集成在CPU的内部)的判优、仲裁逻辅按一定的优先等级顺序确定哪个主设备能使用总线;
3.获得总线使用权的主设备开始传送数据。

1、链式查询方式

数据线:多根,

地址线:多根;

控制总线:BR,BG,BS;;

BR:用来传送总线请求的信号;当某个设备想要使用总线的时候,就通过这个发送一个请求信号;

BS:表示总线忙,

BG:总线允许

当设备1和设备n都需要的时候,即都向BR发送,然后总线控制部件得到这个事情;通过BG进行传递进而;

在设备1得到总线使用权之后,在BS上表示总线属于我了;总线忙。

“总线忙”信号的建立者是获得总线控制权的设备

优先级:
离总线控制器越近的部件,其优先级越高;
离总线控制器越远的部件,其优先级越低。

优点:链式查询方式优先级固定。
只需很少几根控制线就能按一定优先次序实现总线控制,结构简单,扩充容易。

缺点:对硬件电路的故障敏感,并且优先级不能改变。
当优先级高的部件频繁请求使用总线时,会使优先级较低的部件长期不能使用总线。

在这里插入图片描述

2、计数器定时查询方式

BS:总线忙这根线

BR:总线请求的这根线

设备地址:一组线;不是一根、因为要表示设备的地址0n;则需要这么多根线的bit位信息来表示0n这个范围表示设备编号范围。

数据线:

地址线:

那么这种方式是如何进行仲裁的呢?下面是步骤::

假设此时设备1和设备n都需要使用总线,那么它们会同时向总线请求;

当总线控制器收到总线请求信号,判断总线BS空闲时,计数器开始计数,比如说从0开始计数,计数值通过设备地址线发向各个部件。就意味着这个地址线传过来的信息数据就是0,就是说正在询问设备0是否需要使用,0号设备不需要使用,计数器变为1,再往下询问。当地址线上的计数与请求使用总线设备的地址一致时,该设备获得总线控制权。同时,中止计数器的计数及查询。当使用完之后撤销在BS上的忙的信号。

结构特点:用一个计数器控制总线使用权,相对链式查询方式多了一组设备地址线,少了一根总线响应线BG;它仍共用一根总线请求线。

优点:
1.计数初始值可以改变优先次序
-计数每次从“0”开始,设备的优先级就按顺序排列,固定不变;
-计数从上一次的终点开始,此时设备使用总线的优先级相等;
-计数器的初值还可以由程序设置

2.对电路的故障没有链式敏感

缺点:
1.增加了控制线数
-若设备有n个,则需[ log2n+2条控制线:(BS+BR)

2.控制相对比链式查询相对复杂

在这里插入图片描述

3、独立请求方式

在这里插入图片描述

在这里插入图片描述

二、分布仲裁方式

特点:不需要中央仲裁器,每个潜在的主模块都有自己的仲裁器和仲裁号,
多个仲裁器竞争使用总线。
当设备有总线请求时,它们就把各自唯一的仲裁号发送到共享的仲裁总线上
每个仲裁器将从仲裁总线上得到的仲裁号与自己的仲裁号进行比较;
如果仲裁总线上的号优先级高,则它的总线请求不予响应,并撤销它的仲裁号;最后,获胜者的仲裁号保留在仲裁总线上。

No.3 操作和定时

在进行仲裁之后,得到控制权的主设备如何与从设备进行数据传输呢?

占用总线的一对设备如何进行数据传输?每一步的时序安排是怎么样的??

前面提到总线周期分为四个阶段,使用总线传输一次数据首先需要申请分配的阶段。然后下面是传输一次数据的总线周期。

(1)申请分配阶段:由需要使用总线的主模块(或主设备)向总线控制部件提出申请,经总线仲裁机构决定将下一传输周期的总线使用权授予某一申请者。也可将此阶段细分为传输请求总线仲裁两个阶段。

那么在主设备获得总线控制权之后,用地址信息了,来获得它想要读or写的设备到底是哪一个。

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

(3)传输阶段:主模块和从模块进行数据交换,可单向或双向进行数据传送。

(4)结束阶段:主模块的有关信息均从系统总线上撤除,让出总线使用权。

上面的都是总线的操作;下面是总线的定时;

总线定时:总线定时是指总线在双方交换数据的过程中需要时间上配合关系的控制,这种控制称为总线定时,它的实质是一种协议或规则;如何在时间上进行有条不紊的配合,这就是总线定时探讨的问题。制定某一种协议or规则让发送方和接收方顺利的进行数据传输。

一、同步通信(同步定时方式)

由总线控制器提供一个统一的时钟信号,用来控制数据的传送。

相当于总线控制器是总指挥,在那里数节奏12345678;

然后主设备和从设备都需要这个主线控制器发出的统一的这个节奏的命令来依次完成一个一个的动作。

总线控制器采用一个统一的时钟信号来协调发送和接收双方的传送定时关系。

假设:CPU作为主设备,某个输入设备作为从设备:主设备CPU想要从设备读入数据。这样安排总线的传输周期。

1)CPU在T1时刻的上升沿给出地址信息

2)在T2的上升沿给出读命令(低电平有效),与地址信息相符合的输入设备按命令进行一系列的内部操作,且必须在T3的上升沿来之前将CPU所需的数据送到数据总线上。

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

4)CPU在T4的上升沿撤销读命令,输入设备不再向数据总线上传送数据,撤销它对数据总线的驱动。

特点:

①从设备在接收到地址信息知道是自己后,进行接收读命令,然后需要在T2阶段准备好数据。

② 若干个时钟产生相等的时间间隔,每个间隔构成一个总线周期。

③在一个总线周期中,发送方和接收方可进行一次数据传送。

④因为采用统一的时钟,每个部件或设备发送或接收信息都在固定的总线传送周期中,一个总线的传送周期结束,下一个总线传送周期开始。

⑤同步通信适用于总线长度较短及总线所接部件的存取时间比较接近的系统。

优点:传送速度快,具有较高的传输速率;总线控制逻辑简单。

缺点:可能从设备比较慢,在T3的上升沿还没准备好数据,就没了完蛋了。主从设备属于强制性同步;不能及时进行数据通信的有效性检验,可靠性较差。

在这里插入图片描述

二、异步通信(异步定时方式)

采用应答方式,没有公共时钟标准;

在主设备获得了总线控制权之后,让他们用这种应答的方式来相互协商的决定一个工作的节奏。

在异步定时方式中,没有统一的时钟,也没有固定的时间间隔,完全依靠传送双方相互制约的“握手”信号来实现定时控制。

设备提出交换信息的请求”信号,经接传送到氐设备)从设备接到主设备的请求后,通过接口向主设备发出“回答”信号。

请求信号就是同步方式里面CPU发出的地址信号和命令信号。

回答信号就是指把数据的信息放到数据总线上。

根据“请求”和“回答”信号的撤销是否互锁,分为以下3种类型。

1)不互锁方式(速度最快可靠性最差):意味着主设备获得总线控制权之后,它会发出请求信号(eg:从地址总线发出地址信息、从控制总线发出读命令),主

设备发出“请求”信号后,不必等到接到从设备的“回答”信号,而是经过一段时间,便撤销“请求”信号。

而从设备在接到“请求”信号后,发出“回答”信号(eg:要读出的数据),并经过一段时间,自动撤销“回答”信号。双方不存在互锁关系。

2)半互锁方式:主设备发出“请求”信号后,必须待接到从设备的“回答”信号后,才撤销“请求”信号,有互锁的关系。

而从设备在接到“请求”信号后,发出“回答”信号,但不必等待获知主设备的“请求”信号已经撤销,而是隔一段时间后自动撤销“回答”信

号,不存在互锁关系。

3)全互锁方式(最可靠速度最慢):主设备发出“请求”信号后,必须待从设备“回答”后,才撤销“请求”信号;

从设备发出“回答”信号,必须待获知主设备“请求”信号已撤销后,再撤销其“回答”信号。双方存在互锁关系。

有点像三次握手:

优点:总线周期长度可变,能保证两个工作速度相差很大的部件或设备之间可靠地进行信息交换,自动适应时间的配合。
缺点:比同步控制方式稍复杂一些,速度比同步定时方式慢。

在这里插入图片描述

三、半同步通信

上面的同步、异步两种方式的结合。

同步:发送方用系统时钟前沿发信号;接收方用系统时钟后沿判断、识别

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

半同步通信:统一时钟的基础上,增加一个**“等待”响应信号**wAIT。

下面是步骤:

首先主设备在T1这个时间内发出地址信号

然后在T2这个节拍的前沿也就是这个上升沿发出命令信号;按照同步来说从设备必须要在T3之前准备好数据;

但是有的从设备的速度比较慢,完成不了;当从设备知道自己完不成的时候跟不上节奏的时候就会通过控制总线给总线的控制器进行一个反馈;让总线控制器等自己几个节拍;即Tw节拍:其实就是总线控制器在等待从设备准备数据

然后就跟同步通信一样的T3和T4阶段了。

在这里插入图片描述

四、分离式通信

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

先总结上面所说的三种通信方式:上述三种通信的共同点

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

1:主模块发地址、命令(在获得总线控制权之后):使用总线

2:从模块准备数据(然后接下来从设备接收到地址和读命令之后):不使用总线

3:从模块向主模块发数据(准备数据好之后):使用总线

在2阶段是不使用总线的,但是依然占据着总线控制权;所以优化的方向就在第二阶段。

当慢速的从设备在准备数据的时候,其实总线在这段时间是没有被使用的;主从设备依然会占着总线的控制权;

分离式通信思想:将-个总线传输周期分离为子周期1和子周期2;

子周期1:主模块申请占用总线,使用完后放弃总线的使用权;就是在1阶段之后就放弃使用权。

子周期2:从模块申请专用总线,将各种信息送至总线上;就是在3阶段从设备申请一下总线使用权。

这样也就达成了在从设备准备数据的阶段让其它设备使用总线。这样的话可以让总线的数据传输效率变得更高

特点:
1.各模块均有权申请占用总线

2.采用同步方式通信,不等对方回答

3.各模块准备数据时,不占用总线

4.总线利用率提高

No.4 标准

易于实现系统的模块化设计

现在流行的总线标准

在这里插入图片描述

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

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

相关文章

spring-data 一统江湖,玩转多种数据源

1、起因 因为要在项目中同时访问redis,mongo和mysql三种数据库,而且因为偏向spring-data,所以都使用了spring-data 在使用的过程中如果不做配置发现会有冲突,这篇文章也是解决这个问题,避免以后遇到同样的问题不知所…

【SAM系列】CAN SAM COUNT ANYTHING? AN EMPIRICAL STUDY ON SAM COUNTING

论文链接:https://arxiv.org/abs/2304.10817 代码链接:https://github.com/vision-intelligence-and-robots-group/count-anything 目的 探索SAM在few-shot setting的object counting的能力。 结论 它目前落后于最先进的few-shot object counting方法…

出门没带本子记的单词|10:20~10:40

susceptible adj 易受影响的 unify v 统一 auditory adj 听觉的 / ˈɔːdətɔːri / combat v 与...搏斗、防止 comfort n 舒适 constrain v 约束、迫使 fringe …

Swift 周报 第二十九期

文章目录 前言新闻和社区担心泄密!外媒:苹果公司限制员工使用ChatGPT苹果公司大幅削减其MR头显销售预期,不足百万台 提案通过的提案正在审查的提案 Swift 论坛1、讨论 SwiftUI 图表、超大数据集和图表叠加2、讨论带有线程安全属性包装器的可发…

【SpringBoot知识点预备】| Xml 和 JavaConfig

目录 一:Xml 和 JavaConfig 1. JavaConfig 2. ImportResource注解 3. PropertyResource注解 一:Xml 和 JavaConfig 1. JavaConfig (1)为什么要使用 Spring Boot? ①因为Spring、SpringMVC 的使用需要大量的配置文…

【Java EE】Springboot

Springboot Springboot 核心功能SpringBoot的相关好处 Springboot 核心功能 1、 可独立运行的Spring项目:Spring Boot可以以jar包的形式独立运行。 2、 内嵌的Servlet容器:Spring Boot可以选择内嵌Tomcat、Jetty或者Undertow,无须以war包形…

python cuda torch验证是否成功安装,版本是否匹配

1 、首先查看自己的显卡型号 根据nvcc-smi查到自己的显卡型号,如下图所示。 本人的电脑显卡型号为:GeForce GT 730 2、查看显卡算力 可以通过以下链接查找 http://www.5ityx.com/cate100/155907.html 可以看到我的显卡算力是3.5 备注:你的显卡计算力必须保证在3.5以上。如…

Kali-linux破解纯文本密码工具mimikatz

mimikatz是一款强大的系统密码破解获取工具。该工具有段时间是作为一个独立程序运行。现在已被添加到Metasploit框架中,并作为一个可加载的Meterpreter模块。当成功的获取到一个远程会话时,使用mimikatz工具可以很快的恢复密码。本节将介绍使用mimikatz工…

使用Python获取公众号下所有的文章

我比较喜欢看公众号,有时遇到一个感兴趣的公众号时,都会感觉相逢恨晚,想一口气看完所有历史文章。本文主要介绍了使用Python获取公众号下所有的文章,感兴趣的可以了解一下 导出公众号所有文章 随着互联网的不断发展,网…

【源码篇】基于SpringBoot+Jsp的日记记录系统

1、项目介绍 基于SpringBootJsp的日记记录系统所有功能均对用户开放,只有用户角色。 是一款面向用户的系统,用户可以自己注册账号进行登录,管理自己的信息(个人中心)、自由添加日记分类、发布日记来记录自己所遇到有趣的人和事、也可以发表…

BiFormer 实验记录

代码来自文中地址 目录 一、前向传播过程 1、Path Embedding 2、BiFormer Block BRA模块 网络结构 一、前向传播过程 1、Path Embedding 见网络结构部分,4倍下采样 2、BiFormer Block 对应 x x self.pos_embed(x) 对应 x x self.drop_path(self.attn(…

【5.22】七、移动App测试

目录 7.1 移动App测试概述 1. 移动App特性 2. 移动App测试与传统软件测试的区别 7.2 移动App测试要点 7.2.1 UI测试 7.2.2 功能测试 7.2.3 专项测试 7.2.4 性能测试 7.3 移动App测试流程 第三方测试平台 7.4 移动App测试工具 7.1 移动App测试概述 移动App&#xff…

就业内推 | 应届生专场,有华为、思科认证优先,六险一金

01 金科 🔷招聘岗位:网络工程师 🔷职责描述: 1、为银行、企业客户提供技术服务(包括驻场支持和现场技术支持); 2、驻客户现场配合客户完成思科、华三、华为主流网络设备的配置、管理&#xff1…

基于C++的类UNIX文件系统

访问【WRITE-BUG数字空间】_[内附完整源码和文档] 一、题目要求 使用一个普通的大文件(如 c:\myDisk.img ,称之为一级文件)模拟 UNIX V6的一个文件卷,一个文件卷实际上就是一张逻辑磁盘,磁盘中存储的信息以块为单位。…

小航助学2023年3月GESP_C++一级试卷(含题库答题软件账号)

GESP在线模拟训练系统请点击 电子学会-全国青少年编程等级考试真题Scratch一级(2019年3月)在线答题_程序猿下山的博客-CSDN博客_小航答题助手 答案:B 第1题以下不属于计算机输入设备的有( )。 A、键盘B、音箱C、鼠标D、传感器 …

如何使用Python和wxPython构建一个HTML Title提取工具

以下代码可以用于以下场景: 在Web开发中,获取网页中的Title内容,以用于页面SEO。在数据挖掘和分析中,获取包含Title信息的HTML页面,以进行进一步的文本处理和分析。在一些需要从HTML源代码中获取元数据的应用中&#…

STM32单片机语音识别家庭灯光控制系统

实践制作DIY- GC0132-语音识别家庭灯光控制系统 一、功能说明: 基于STM32单片机设计-语音识别家庭灯光控制系统 二、功能介绍: STM32F103C系列最小系统板语音识别模块18650锂电池太阳能充电板LCD1602显示器4个LED灯板对应卧室、厨房、客厅、厕所…

Springboot +spring security,自定义认证器实现验证码功能

一.简介 SpringSecurity 默认是不支持验证码功能的,但是可以自己扩展,这也是使用SpringSecurity的好处之一,原生不支持,我们就自己扩展。 二.思路分析 因为系统默认的有一个DaoAuthenticationProvider 认证处理器,但…

springboot+java高校学生学分置换系统安全开发

本选题具有以下5个方面的意义: (1)减少人工的繁琐宣传组织统计时间,提高工作效率和工作精确度以扩大比赛的规模[4]。 (2)将人工阶段难以实现的公开、公正、公平,通过多方监督的方法进行解决。 &…

美陆军面向战场物联网的边缘智能发展综述

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和…