计算机组成原理(六)——总线

1. 总线的概述

计算机组成原理(六)——总线——总线概述.png

在之前的学习过程中,虽然没有对总线进行详细的学习,但是对总线已经有了一定的接触,在之前会画这样的一个图,如上面,CPU可以通过地址总线给主存或给打印机、硬盘这些发送地址信息,所以在上图可以看到,在CPU和地址总线之间有一根连线,硬盘和地址总线之间有一根连线,主存和地址总线之间也有一根连线。

除了地址总线之外,之间还经常遇到数据总线,CPU可以通过数据总线和主存、打印机、硬盘之类的其它的一些硬件部件进行数据的传输,并且之前说过数据总线有可能并行的传递32bit或更多bit的数据。

最后,之前还经常接触的还有一个叫控制总线,就是CPU可以通过控制总线给其它的硬件部件发送一些控制信号。

接下来解释一下,为什么一个数据总线可以并行的传递32bit或更多bit的数据。原因是每个总线里面可能会包含很多根信号线。比如说,把数据总线拆解一下,如下图:

计算机组成原理(六)——总线——总线的物理实现.png

数据总线的内部可能如上图所示的样子,一个数据总线里边有可能会包含多跟信号线,上图画了4根,当然如果想并行的传递32bit,那数据总线内部就可以包含32根信号线。

比如CPU想给主存发送4bit数据0101,那就意味着CPU只需要给数据总线的四根线上分别加上高低电平信号就可以,而0101这四个数据可以被主存接收,也可以被硬盘接受,还可以被打印机接收,因为这些高低电平信号只要加到上面的4根线上,那么由于所有的硬件部件都是连在数据总线上,所以所有的硬件部件都可以通过数据总线来接收CPU要发给他们的信号。

所以虽然平时通常说一根总线,虽然说的是一根,但是这个总线内部有可能是包含了多根信号线的,那到底要包含几根,这个主要看具体的需求。

但是仔细想一下,刚才是说CPU往总线上面加了四个高低电平信号,那么这四根线就会带有0101的数据信息。现在假设SSD固态硬盘也想往数据总线上传送数据,比如SSD传送1111,这个时候就会导致每一条信号线上面的信号会有冲突。所以对于这样的一根数据总线来说,同一时刻只能有一个部件发送数据,但是可有多个部件接受数据。

下面看一下这章的总览:

计算机组成原理(六)——总线——本章总览.png

接下来首先看一下总线的定义:

计算机组成原理(六)——总线——总线的定义.png

总线是一组能为多个部件分时共享的公共信息传送线路,上图中给出的图是总线与各个部件的连接图,图中上半部分是CPU的运算部件和控制单元,图中下半部分是输入输出设备和主存,CPU和这些设备之间会通过一组系统总线来进行数据的交互以及控制信号的收方,所有的硬件部件都是通过系统总线来进行相互的控制和数据的传送。

早期计算机由于外部设备非常少,因此大多采用分散连接方式,但是这种方式不易实现随时增减外部设备。为了更好地解决l/O设备和主机之间连接的灵活性问题,计算机的结构从分散连接发展为总线连接。

总线有两个很明显的特点,一个是分时,一个是共享。分时和共享的意思参考下图:

计算机组成原理(六)——总线——总线的特点.png

当在设计一个总线的时候,需要关注到如下图的特性:

计算机组成原理(六)——总线——总线的特性.png

接下来重点关注总线的分类:

计算机组成原理(六)——总线——总线的分类.png

总线的分类可以根据不同的维度进行分类,分类的方式如上图。

下面先介绍一下按数据传输格式的分类:

计算机组成原理(六)——总线——串行总线与并行总线.png

总线按数据传输格式可以分为串行总线和并行总线。

首先解释一下什么是串行总线什么是并行总线。假设设备A要给设备B发送4bit数据1011,如果采用串行总线就意味着A只能一个比特一个比特的发送这四位数据,B接收也是一个比特一个比特接收。如果采用并行总线就意味着A能并行的发送这四位数据,B接收时也能并行的接收。显然CPU和主存之间用于传送数据的数据总线就是一种并行总线。

由于串行总线每次只需要传递一个比特的数据,因此只需要用一根传输线就可以实现串行总线,所以串行总线实现起来成本比较低。由于串行总线成本低,而且只有一根抗干扰能力强,所以串行总线广泛用于长距离传输。但串行总线缺点也很明显,在数据发送和接收的时候要进行拆卸和装配(通常来说发送一组有意义的二进制信息至少是以一个字节为单位,但由于每次只能传递一个比特,因此就存在把一个完整的信息包拆卸和装配这样的一个过程),另外还要考虑串行-并行转换的问题。

接下来再看并行总线的优点,并行总线的逻辑时序比较简单,电路实现起来比较容易。但缺点也很明显,信号线数量多,占用更多的布线空间;远距离传输成本高昂。

另一方面由于并行总线工作频率较高时,并行的信号线之间会产生严重干扰,可能会导致二进制信息跳变,所以并行总线无法持续提升工作频率。因此,在实际传输的速度上,并行总线不一定比串行总线快。

接下来看一下按总线功能分类:

计算机组成原理(六)——总线——按总线的功能分类.png

根据总线功能可以分为片内总线、系统总线和通信总线。

先来看片内总线,片内总线就是芯片内部的总线。它是CPU芯片内部寄存器与寄存器之间、寄存器与ALU之间的公共连接线。

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

系统总线又可以根据其传输信息的内容不同,进一步划分为:数据总线、地址总线和控制总线。

这里需要重点探讨,数据总线、地址总线和控制总线的数据传输方向的问题,如下图:

计算机组成原理(六)——总线——系统总线.png

首先看一下数据总线,数据总线传输各功能部件之间的数据信息,包括指令和操作数。数据总线包含数据线的位数(根数)与机器字长、存储字长有关。同时,通过之前的学习不难理解,数据总线传输数据的方向是双向的

接下来看地址总线,地址总线传输地址信息,包括主存单元或I/O端口的地址。地址总线包含数据线的位数(根数)与主存地址空间大小及设备数量有关。地址总线传递信息是单向的,一定是由CPU发送地址信号,来指明它想要读或者写的这个设备或者主存地址是哪一个。

接下来看控制总线,控制总线传输传输控制信息,控制总线内部也会包含多根控制线,一根控制线传输一个信号。控制总线里面包含的一根一根的控制线,对于单根控制线来说,控制信号的传输方向肯定都是单向的,有的控制线是由CPU发出给其它的设备;而有的控制线是CPU用来接收其它硬件设备给它返回的控制信号的。所以对于单根控制线来说,信号的传输方向是单向的,然而对于整个控制总线来说,它的传输方向既有可能是CPU向其它设备传输,也有可能是其它设备向CPU反馈。

这里补充一点,第五章里说过数据通路的概念,要注意数据通路表示的是数据流经的路径,而数据总线是承载的媒介。

接下来说第三种通信总线,通信总线是用于计算机系统之间或计算机系统与其他系统(如远程通信设备、测试设备)之间信息传送的总线,通信总线也称为外部总线。

接下来介绍几种系统总线的结构,单总线结构、双总线结构和三总线结构:

计算机组成原理(六)——总线——单总线结构.png

首先看单总线结构,即在计算机内部只设置一组系统总线,然后CPU、主存和各种IO设备之间都是连接在这一组系统总线上的,所有功能部件都是通过这一组系统总线来进行数据的传输。

注意,单总线并不是指只有一根信号线,这根总线里还包含了地址总线、数据总线和控制总线。

显然,这种总线结构优点是结构简单,成本低,易于接入新的设备。缺点就是带宽低、负载重,多个部件只能争用唯一的总线,且不支持并发传送操作。

单总线结构中CPU和主存是属于比较快速的设备,但是其它的外部设备属于慢速设备,因此虽然系统总线可以支持很快的速度传输,但是当用快速的系统总线来让慢速的设备传输数据的时候,就意味着快速的系统总线的性能是被浪费的,所以所有的慢速设备都接在同一根快速的系统总线上是不合理的,

接下来看双总线结构是如何解决这个问题的:

计算机组成原理(六)——总线——双总线结构.png

双总线结构会让CPU、主存和通道统一的连到一个主存总线上。这里先说一下通道的概念,通道可以看成是阉割版的小CPU,但是这个功能部件是专门用于管理各种各样的IO设备的,所以从上图可以看到通道和下面的IO总线之间有一个双向箭头,所有的IO设备不管是快还是慢,都会通过通道来和CPU进行间接的交互,而通道对信息的处理速度很快,所以把通道和CPU直接通过主存总线进行连接。

通过通道就可以保证快速的主存总线的性能可以被发挥出来,而下面的IO总线由于各种IO设备读写速度较慢,所以下面的IO总线设计时性能就可以设计的慢一些。

另一方面,能对l/O设备进行统一的管理,而通道要管理这些IO设备,它也需要运行管理相关的程序代码,而通道要运行的程序也是被存放在主存里面的,所以主存和通道间也可以通过快速的主存总线来进行数据的交互。

另外再补充一点,主存总线可以支持突发(猝发)传送,即送出一个地址,可以收到多个地址连续的数据。正常来说,CPU每指明一个地址,可以从主存当中读出一个字的信息,但是由于主存当中保存的信息很多时候都是需要被连续的访问的,因此会有这样的一个需求,CPU指明一个地址后,如果能从主存当中连续的读出多个字的数据,那这样的话系统的效率肯定就能更高。这也就是突发传送方式的意义。

双总线结构的优点是将较低速的l/O设备从单总线上分离出来,实现存储器总线和IO总线分离。缺点是需要增加通道等硬件设备。

接下来看三总线结构:

计算机组成原理(六)——总线——三总线结构.png

三总线结构如上图,可以看到有三个总线,主存总线用于连接主存和CPU这两个高速部件之间的交互。主存和某一些快速的IO设备之间会用DMA总线来连接。快速的IO设备可以通过DMA总线将数据传递给主存,然后CPU从主存里获取数据,这么做的好处就是CPU不需要通过慢速的IO总线和设备进行数据交互,而是可以先把数据从快速的设备放到主存里,然后CPU从主存里获取数据,这样可以缓和CPU和快速的IO设备之间的速度矛盾。

三总线结构使得某一些高速的IO设备的性能得到提升,因为这些高速的IO设备可以通过更快的DMA总线和主存之间进行数据交互。另外由于这些慢速的IO设备和CPU是直接连接的,所以它们可以更快的响应CPU发出的命令,因此系统的吞吐量得到提升。而这种总线结构的缺点是系统工作效率较低,这是因为三个总线同一时刻只能有一个总线在工作。

接下来再拓展一种四总线结构:

计算机组成原理(六)——总线——四总线结构.png

如上图,可以看到有一个CPU总线用于连接CPU和cache。然后有一个系统总线用于连接主存。还有高速总线用于连接快速的设备。最后还有一个扩充总线,用于外部设备的扩充。

在四总线结构中,不同的总线的速度是各不相同的,显然CPU总线是最快的,其次是系统总线和高速总线,由于不同的总线之间有速度差异,因此需要增加一个中间设备桥接器,用于连接不同的总线。桥接器具有数据缓冲、转换和控制功能。

另一点,在这种四总线结构中,越靠近CPU的总线速度是越快的。

另外,每级总线的设计遵循总线标准(总线设计标准的内容408不考,有兴趣自己研究)。

四总线结构在考试中通常不考,但这种结构才是现代计算机最常用的一种结构。

下面对本节内容进行小结:

计算机组成原理(六)——总线——总线概述小结.png

2. 总线的性能指标

考察方式:总线的性能指标一般考察选择题或大题第一小问。

计算机组成原理(六)——总线——总线的性能指标1.png

首先看第一个性能指标——总线的传输周期,也叫总线周期。

总线周期指利用总线来传输一组数据所需要的时间,通常一个总线周期会被分为申请阶段、寻址阶段、传输阶段和结束阶段这四个阶段。

申请阶段主要负责总线仲裁(总线仲裁内容408不考察,有兴趣可以去了解),即决定是否把总线分配给某一个设备使用。寻址阶段主设备要指明从设备的读写的地址。第三个阶段,主设备在指明地址以后,会通过总线向从设备里写入数据或读出数据。数据传输完成以后,最后会进入一个结束阶段,就是要释放总线的使用权,把总线让给其它设备使用。

总线周期包含这样的四个阶段,经过一个总线周期以后,就可以完成一组数据的传送。一个总线周期通常由若干个总线时钟周期构成。

接下来看第二个性能指标——总线的时钟周期。

对于早期的计算机来说,总线的时钟周期的时钟信号,是由CPU发出的,所以总线的时钟周期通常就是机器的时钟周期。但是现在的计算机中,总线时钟周期也有可能由桥接器提供。这一点可以参考上一节的四总线结构,里面就有桥接器。

这里要说明一点,总线周期与总线时钟周期的关系比较魔幻,大多数情况下,一个总线周期包含多个总线时钟周期。但有的时候,一个总线周期就是一个总线时钟周期;还有的时候,一个总线时钟周期可包含多个总线周期。所以做题时要注意审题,明确总线时钟周期和总线周期的关系。

第三个总线的工作频率和第四个总线的时钟频率很简单,参考上图的介绍即可,这里不再过多叙述。

计算机组成原理(六)——总线——总线的性能指标2.png

接下来看第五个性能指标——总线的宽度,这个很好理解,总线宽度就是总线上同时能够传输的数据位数,通常是指数据总线的根数,如32根称为32位(bit)总线。注意,总线宽度一般是数据总线的位数,而没有包含地址总线和控制总线的宽度。

接下来看第六个性能指标——总线的带宽,总线带宽可理解为总线的数据传输率,即单位时间内总线上可传输数据的位数,通常用每秒钟传送信息的字节数来衡量,单位可用字节/秒(B/s)表示。总线带宽的计算公式如上图。

注意,总线带宽是指总线本身所能达到的最高传输速率。而题目中如果让计算实际的有效教据传输率时,要用实际传输的数据量除以耗时。

有效传输速率和总线带宽是有区别的,下面用一道例题感受一下:

计算机组成原理(六)——总线——总线的性能指标带宽及例题.png

提到了总线带宽,下面再来看一下上一节有关串行总线和并行总线的遗留问题:

计算机组成原理(六)——总线——串行总线与并行总线速度比较.png

表面上,并行总线的总线宽度大于串行总线的总线宽度,所以会认为并行总线的总线带宽大于串行总线的总线带宽。但实际上总线带宽还受总线工作频率的影响,所以工作频率相同时,串行总线传输速度比并行总线慢。但并行总线的工作频率无法持续提高,而串行总线可以通过不断提高工作频率来提高传输速度,最终超过并行总线。

接下来看第七个性能指标——总线复用:

计算机组成原理(六)——总线——总线性能指标3.png

总线复用是指一种信号线在不同的时间传输不同的信息。可以使用较少的线传输更多的信息,从而节省了空间和成本。之前画的图,地址总线和数据总线是独立的两组线,但是也可以采取上图的方式,用同一组线来分时的传输地址信息和数据信息,这样就可以用更少的线来传输更多的数据,从而节省总线的布线空间和硬件的成本。

基于总线复用技术,如果CPU要往主存当中写入某一个数据,那CPU要先通过总线发出地址信息,主存接收到地址信息以后,CPU要再发出数据的信息,同样通过总线传递给主存,主存根据刚才接收到的地址信息,把接受到的数据写入刚刚地址。所以采用总线复用技术,显然当要传递地址信息和数据信息的时候,至少都需要两个总线周期,需要进行两次数据传送。所以总线复用虽然节约了成本,但也会使速度有所下降。

最后看第八个性能指标——信号线数。信号线数就是地址总线、数据总线和控制总线3种总线数的总和称为信号线数。这个指标很简单,不过多叙述。

下面对本节内容进行一个汇总小结:

计算机组成原理(六)——总线——总线性能指标汇总.png

3. 总线的操作和定时

本节研究总线的操作和定时,即占用总线的一对设备如何进行数据传输。

计算机组成原理(六)——总线——总线传输四个阶段.png

之前说过,总线周期可以分为四个阶段,如上图,首先要经过申请分配阶段,某一个主设备要想使用总线,那么他需要向总线控制部件发出请求,申请总线控制权。然后接下来总线控制器按照一定的优先级,把总线的控制器分配给某一个主设备,即进行总线仲裁,经过请求和仲裁这两个阶段,就完成了申请和分配这个阶段所需要做的事情。

当主设备获得总线控制权以后,就可以开始用地址信息来指明它想要读或者写的从设备是哪一个,因为每一个设备都会有自己的地址编号,所以主设备可以用地址来指明它想要配合工作的从设备是哪一个。除了地址信息外,还需要发出相关的命令(比如是进行读操作还是写操作),指定的从设备接收到相关请求后,就会启动,这就是第二个阶段寻址阶段所要做的事情。

接下来第三个阶段,传输阶段,这个阶段要进行具体的数据交换。

接下来第四个阶段,主模块传输完数据以后,需要把总线的控制权让出来,所以要把地址信息之类的相关的电信号,从总线上擦除。这就是一个总线周期大致上要经历的的四个阶段,这一小节要说的总线定时指的就是主模块与从模块在双方交换数据的过程中需要时间上配合关系的控制,这种控制称为总线定时。事实上,总线定时的问题就是要制定某一种协议或规则让数据的发送方和接收方都能按照统一的规则来进行数据交互。

接下来介绍四种总线定时的方案,分别是同步通信、异步通信、半同步通信和分离式通信。

首先同步通信这种方式会由总线控制器提供一个统一的时钟信号,用来控制数据传送。异步通信方式相当于没有提供一个统一的节奏,而是让主设备和从设备在获得总线的使用权以后,让他们用应答的方式来相互协商决定工作的节奏,这种定时方式不会有一个统一的节拍。接下来半同步通信是同步和异步通信的结合。最后的分离式通信又可以更进一步的挖掘总线每瞬间的潜力。

接下来详细探究一下这四种通信方式,首先看一下同步定时方式:

计算机组成原理(六)——总线——读命令同步定时方式.png

同步通信方式,总线控制器采用一个统一的时钟信号来协调发送和接收双方的传送定时关系。假设此时CPU是主设备,CPU获得了总线的控制权,然后CPU作为主设备可以主动的选择某一个输入设备作为从设备,想要从从设备读入某一个数据,那么要进行读操作,所以可以这样安排总线的传输周期。

假设一个总线周期里包含了四个时钟周期T1、T2、T3、T4,那么CPU获得总线的控制权以后,第一个周期的上升沿处,CPU会发出地址信号,用来指明它想要读的从设备的地址。

接下来T2节拍,会向从设备发出读命令,从上图可以看到,读命令的电平信号是向下画的,也就是说在这个例子里,默认低电平有效。所以在T2这个周期内,从设备首先可以根据地址信息来判断这个主设备要操作的对象是不是自己,然后根据读命令可以知道这个主设备想从自己这里读出数据,所以T2时钟周期内,从设备需要准备好主设备想要的数据。

接下来T3时钟周期的上升沿到来的时候,从设备就会把自己准备好的数据给放到数据总线上,主设备就可以从数据总线上获得自己想要的数据。

接下来T4时钟周期内,主设备会撤销读命令,然后再紧接着撤销地址信号,释放总线的控制权。

所以经过这样的一个总线传输周期,每一个节拍内,主设备和从设备会完成对应的操作,接下来就可以进入下一个总线周期。上面就是用同步定时方式完成一次读操作的例子。

可以看到,从设备在接收到地址信息和读命令之后,T2这个时钟周期内,从设备需要准备好想要读的数据,然后在T3的上升沿到达的时候,就把这个数据放到数据总线上。显然,如果说从设备的速度比较慢,跟不上节奏的话,那么就意味着在T3周期内,从设备有可能给不出数据,这样的话同步定时方式就会出现问题。因为同步定时方式意味着这个统一的时钟信号是固定的,每一个总线的传输周期只会给四个时钟信号,所以如果从设备跟不上这么快的节奏,那么他们俩的这种数据通信就会出现问题,所以这就是同步通信方式的一个局限性。

下面再把同步通信方式的特点进行一个总结:(如果有不懂的地方可以跳转视频8分钟~10分钟40秒:6.3_总线操作和定时

计算机组成原理(六)——总线——同步定时方式.png

接下来看异步通信方式:

计算机组成原理(六)——总线——异步定时方式.png

采用异步通信方式,就意味着系统不会提供一个统一的时钟信号,主设备需要提出交换信息的请求信号,从设备会通过IO接口接收到这个请求信号,然后根据请求信号的具体信息,从设备会发出回答信号。

对于这种异步通信方式,并不会有一个统一的时钟部件来统一动作,这个时候主设备和从设备又是如何配合工作的呢?这种情况下可以根据“请求”和“回答”信号的撤销是否互锁,把异步定时进一步细分为不互锁方式、半互锁方式和全互锁方式。

接下来依次看一下这三种方式:

计算机组成原理(六)——总线——异步定时方式3种类型.png

首先看不互锁方式,主设备发出“请求”信号后,不必等到接到从设备的“回答”信号,而是经过一段时间,便撤销“请求”信号。而从设备在接到“请求”信号后,发出“回答”信号,并经过一段时间,自动撤销“回答”信号。双方不存在互锁关系。

接下来看半互锁方式,主设备发出“请求”信号后,必须待接到从设备的“回答”信号后,才撤销“请求”信号,有互锁的关系。而从设备在接到“请求”信号后,发出“回答”信号,但不必等待获知主设备的“请求”信号已经撤销,而是隔一段时间后自动撤销“回答”信号,不存在互锁关系。

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

通过对三种方式的了解,很明显可以看到,不互锁方式速度最快,但可靠性最差;全互锁方式速度最慢,但可靠性最好。

计算机组成原理(六)——总线——异步定时方式优缺点.png

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

接下来看半同步通信:

计算机组成原理(六)——总线——半同步通信.png

半同步通信就是同步与异步的结合,看上图,比起同步控制方式来说,半同步这种通信方式会增加一个反馈的信号wait。

首先主设备在T1时间内发出地址信号,然后再T2节拍前沿发出读命令,如果按照之前同步定时方式,在T2这个节拍再往后的一个节拍,从设备需要准备好自己的数据,但是有的从设备跟不上这种节奏,所以当从设备跟不上节奏的时候,就会通过控制线路,给总线的控制器进行一个反馈,让总线控制器等自己几个节拍,所以后面跟的TW这两个节拍就是总线控制器在等待从设备准备数据,经过这样的两个节拍以后,从设备准备好数据,接下来到T3这个节拍内,从设备就可以把自己准备好的数据,通过数据总线发送给主设备。然后最后T4这个节拍主设备会撤销读命令还有地址信息,这样就完成了总线的传输工作。

可以看到,之前介绍的同步定时方式,每一个总线的传输周期都是定长的,但是这种半同步的通信方式结合了异步通信方式的优点,增加了一个等待的反馈信号,这样的话总线控制器就可以根据反馈信号来动态的调节这个传输周期里面应该包含的时钟周期数。

所以这种半同步通信方式也是有一个统一的时钟节拍,但是由于可以动态的调整每一个传输周期内包含的时钟节拍数,因此它也能够支持速度差异比较大的主设备和从设备之间的数据交互。

接下来看最后一种分离通信:

计算机组成原理(六)——总线——分离式通信.png

首先对于刚刚提到的三种通信方式来说,都有一些共同点,他们都会经过主设备发送地址和命令、从设备准备数据、从设备向主设备发送数据这三个阶段,但这三个阶段只有第一个和第三个会使用总线,而第二个从设备准备数据的阶段,主设备和从设备即使不使用总线,也会占据总线,所以前面提到的三种总线定时方式可以优化的点就在第二个阶段。

当慢速的从设备在准备数据的时候,总线在这段时间是没有被使用的,然而这段时间内,主从设备依然占据总线控制权,所以分离式通信的思想就是会把总线的传输周期切分为两个独立的子周期,第一个子周期就是主设备申请占用总线,并且发出地址命令之类的请求信息,当请求信号发出以后,主设备会立即放弃总线的控制权,把总线让给其它设备使用。从设备接收到请求信号以后,就可以开始准备主设备想要的数据,等从设备准备好数据之后,它又会主动的申请占用总线,当从设备获得总线控制权以后,再把主设备想要的数据给送到总线上。

所以分离式的通信可以充分的利用从设备准备数据的这段时间,这段时间把总线的使用权分配给其它设备使用,这样可以让总线的数据传输效率变得更高,

之前说过,所谓的主设备指的是可以主动地申请总线控制权的那些设备,可以把它称为主设备,但是如果采用这种分离式通信,显然也需要让从设备也能够主动地申请总线的控制权。

另外,这种分离式的通信同样也会给一个统一的时钟信号,采用同步通信方式,主设备在规定的节拍内发出请求信号,但是主设备不需要等待从设备的回应,规定的节拍内发出请求,然后规定的节拍内释放总线的控制权。而且在各个模块准备数据的时候是不需要占用总线的,所以这种分离式通信可以让总线的利用率提高,它可以充分的挖掘出总线的数据传输能力。

接下来对这部分进行总结:

计算机组成原理(六)——总线——总线操作和定时小结.png