总线的概念
总线:是一组能为多个计算机部件分时共享的公共信息传送线路。分时指的是同一时刻总线上只能传送一个部件发送的信息。而共享指的是总线上挂接的多个部件通过这组公共线路交换信息;
分时共享的实现机制:
指的是所有连接在总线上的部件采用三态门电路来控制状态。总线空闲时,所有部件都以高阻状态连接在总线上。如果有部件需要通信,则该部件驱动总线,并发出地址和数据,而其它处于高阻状态的部件通过匹配总线上的地址信息来决定是否接收信息,如果匹配成功,则开始接收总线上的数据。在部件完成数据传输后,部件将让出总线。此时,部件的三态门电路输出为高阻态。
三态门
指的是具有高阻状态的门电路。高阻状态又被称为浮空状态,处于此状态的三态门相当于输出开路,此时输出端对地的电阻无限大,与外界断开联系;除此之外,三态门一般具有三种逻辑状态(逻辑0,逻辑1,高阻状态);除输入输出端之外,三态门还有一个控制端,仅当控制端有效时,三态门才能实现正常的逻辑关系,否则输出为高阻状态。
总线电路
按照总线的逻辑结构划分:总线分为单向和双向。单向总线具有指定的信息传输方向,双向总线则可以两个方向传输信息。比如,在计算机系统具有的总线里面,数据总线是双向总线,意味着数据即可以从CPU传送至存储器或IO设备,也可以从IO设备或存储器传送至CPU;而地址总线则是单向总线,这就是说地址只能从CPU传向存储器或IO设备。
总线事务及分类
在计算机系统里面,一个总线事务指的是总线上一对设备间的一次信息交换过程,我们把发出总线事务请求的部件称为主设备,而与主设备进行信息交换的设备称为从设备。例如,在CPU读取存储器单元的数据这一事务,CPU为主设备,存储器为从设备。
根据总线事务的操作性质,可以对总线事务进行分类。一般情况下,典型的总线事务有“存储器读”、“存储器写”、“IO读”、“IO写”等等。
在计算机系统中,由于总线被设计为由多个部件和设备共享,为了正确实现它们之间的通信,就必须有一个总线控制机构,这个机构主要实现对总线使用权进行分配和管理。这部分内容将在总线仲裁中学习。
在总线使用过程中,我们通常用主从关系来描述设备的工作关系。主从关系指的是以获得总线使用权的设备为参考点,向从设备发送信息或接收从设备送来的信息的工作关系。主设备负责控制和支配总线,向从设备发出命令来指定数据传送方式与数据传送地址信息。从设备只需要积极响应主设备的命令来接收或发送数据。
当一次数据传送结束后,总线使用权会发生转让,此时,需要使用总线的设备可以向总线控制机构申请使用总线。
关于总线的分类,计算机系统采用功能层次和数据线多少对总线进行分类。如果是按功能层次分类,总线可分为:片内总线,它指的是芯片内部的总线,是CPU内部的寄存器之间、寄存器与ALU之间的公共连接线。第二种是系统总线,它指的是计算机系统内各功能部件,比如CPU、主存、IO接口,之间相互连接的总线。系统总线又称为内总线,是计算机的主要组成部分。按传输的信息类型可分为数据总线、地址总线和控制总线。最后一类是通信总线,也就是外总线,通常用于计算机系统之间的信息传送,比如光纤、双绞线等等。
如果我们按数据线的多少对总线进行划分,那么总线可分为:并行总线和串行总线。并行总线指的是具有多条双向数据线的总线,它可以实现一个数据的多位同时传输,具有数据传输率高的优点,但是由于各条数据线的传输特性不一致,导致每一位数据的传输延迟不一致,因而,可能会造成传输错误。第二类是串行总线,它指的是只含有一条双向数据线或两条单向数据线的总线,它可以实现一个数据的每一位按照一定的速度和先后关系进行传输。因为串行总线对数据线的传输特性要求不高,因此比较适用于长距离通信。
总线的基本结构及性能指标
首先,从系统的角度出发,我们把总线分为单总线、双总线,三总线三种结构。在单总线结构中,系统只有一条总线,所有部件都需要通过系统总线接入。单总线结构的特点是系统部件只能分时工作,这限制了信息传送的吞吐量,但是单总线结构简单,可扩展性较好,部件只需往总线上接入而不需要扩展硬件电路。第二种是双总线结构:这种总线是在单总线的基础上,增加了一条专用于CPU和主存之间的数据传送通路。其总线特点是CPU可通过专用总线与存储器交换信息,减轻了系统总线负担,同时还保持了单总线系统简单、易于扩充的优点。
最后一种是三总线结构:这在双总线的基础上,又再增加了一条I/O总线; I/O总线与系统总线通过通道(IOP)传送数据;IO总线是外部设备与IOP之间进行数据传送的公共通路。三总线结构的特点是通过IO总线进一步缓解了IO设备与CPU之间速度不匹配的问题,减轻了系统总线负担。总的来说,通过IO总线能够提高外部设备与CPU、主存之间的信息传输速度;
总线的性能指标,总线的性能指标主要包括总线宽度、总线带宽、总线负载,总线复用等等。首先,总线宽度指的是总线的线数,它决定了总线所占的物理空间和成本;直接影响了地址线和数据线的数量,地址线宽度指明了总线能够直接访问的存储器的地址空间范围;而数据线的宽度指明了访问一次存储器能够取到的数据位数是多少,数据线宽度越大,一次传送的数据量就越多。第二、总线带宽:它指的是总线的最大数据传输率,说的是每秒传送的字节数。比方说,在同步通信系统中,总线的带宽与时钟密切相关,总线时钟频率决定了总线带宽的大小。它的计算公式是:B=W/(NT)=W*F/N。其中,B为总线的带宽,W为总线宽度,通常以字节为单位;T = 1/F表示时钟周期时间, F为总线时钟频率;N为完成一次数据传送需要的时钟周期数;第三个性能指标是总线负载,它指的是连接在总线上的最大设备数量。设备数量越多,总线负担越重。
第四个性能指标:总线复用,它指的是在不同时段利用总线上同一条信号线传送不同信息,类似于信号线的分时复用。比如说,我们可以让地址总线和数据总线共用一组信号线,总线复用的优点是:减少了总线数量,提高了总线的利用率;
最后一个,总线猝发传输:它指的是在一个总线周期中可以传输多个地址连续的数据。这种传输方式提高了信息传输效率;