第3章 系统总线
3.1 总线的基本概念
总线是连接多个部件的信息传输线,是各部件共享的传输介质。
当多个部件与总线相连时,如果出现两个或两个以上部件同时向总线发送信息,势必导致信号冲突,传输无效。因此,在某一时刻,只允许有一个部件向总线发送信息,而多个部件可以同时从总线上接收相同的信息。
总线实际上是由许多传输线或通路组成,每条线可一位一位地传输若干位二进制代码,一串二进制代码可在一段时间内逐一传输完成,若干条传输线可以同时传输若干位二进制代码,例如,16条传输线组成的总线可同时传输16位二进制代码。
采用总线连接的计算机结构,是以CPU为中心的双总线结构,如图。
其中一组总线连接CPU和主存(内存)称为存储总线(M总线)
另一组用来i及案例CPU与各I/O设备之间交换信息的通道,称为输入输出总线(I/O总线)
各种I/O设备通过I/O接口挂到I/O总线上,更便于增删设备
这种结构在I/O设备与内存交换信息时仍然要占用CPU,因此还会影响CPU的工作效率。
若将CPU、内存和I/O设备(通过I/O接口)都挂到一组总线上,便形成了单总线结构的计算机,如图。
图3.2与图3.1相比,最明显的特点是当I/O设备与内存交换信息时,原则上不影响CPU的工作,CPU仍可以继续处理不访问内存或I/O设备的操作,这就使CPU工作效率有所提高。
但是,因为只有一组总线,当某一时刻各部件要占用总线时,就会发生冲突,为此,必须设置总线判优逻辑,让各部件按优先级高低来占用总线,这也会影响整机的工作速度。PDP-11和国产DJS183机均采用这种结构。
还有一种以存储器为中心的双总线结构,如图。
它是在单总线基础上又开辟出一条CPU与内存之间的总线,称为存储总线。
这条总线速度高,只供内存与CPU之间传输信息。
这样既提高了传输效率,又减轻了系统总线的负担,还保留了I/O设备与存储器交换信息时不经过CPU的特点。国产DJS184采用这种结构。
3.2 总线的分类
对于总线的应用,从不同角度有不同的分类方法。
按数据传送方式:并行传输总线、串行传输总线。
在并行传输总线中,又可按传输数据宽度
分为8位、16位、32位、64位等传输总线
按总线使用范围:计算机总线、测控总线、网络通信总线等。
以下是按连接部件不同,分为三类总线:片内总线、系统总线、通信总线
3.2.1 片内总线
片内总线是指芯片内部的总线。
如在CPU芯片内部,寄存器与寄存器之间、寄存器与算逻单元ALU之间都由片内总线连接。
3.2.2 系统总线
系统总线是指CPU、主存、I/O设备各大部件之间的信息传输线。由于这些部件通常都安放在主板或各个插件板上,所以又称板级总线或板间总线。
(在一块电路板上各芯片间的连线——系统总线布在主板上)
按系统总线传输信息的不同,又可分为三类:数据总线、地址总线、控制总线。
1. 数据总线
数据总线用来传输各功能部件之间的数据信息,是双向传输总线,其位数与机器字长、存储字长有关,一般为8位、16位或32位。
(1.2.3一个存储单元可存储一串二进制代码,这串二进制代码称为一个存储字,这串二进制代码的位数称为存储字长。1.3.1机器字长是指CPU一次能处理数据的位数,通常与CPU的寄存器位数有关。字长越长,数的表示范围越大,精度也越高。)
数据总线的位数称为数据总线宽度,它是衡量系统性能的一个重要参数。如果数据总线的宽度为8位,那么CPU在取指阶段必须两次访问主存。
(1.2.3(3)控制器首先命令存储器读出一条指令,称为取指过程(也称取指阶段))
2. 地址总线
地址总线主要用来指出数据总线上的源数据或目的数据在主存单元的地址或I/O设备的地址。
地址总线上的代码是用来指明CPU欲访问的存储单元或I/O端口的地址,由CPU输出,单向传输。
地址线的位数与存储单元的个数有关,如地址线为20根,则对应的存储单元个数为
3. 控制总线
由于数据总线、地址总线都是被挂在总线上的所有部件共享的,如何使各部件能在不同时刻占有总线使用权,需依靠控制总线来完成。
因此,控制总线是用来发出各种控制信号的传输线。
通常对任意控制线而言,传输是单向的。但对于控制总线总体来说,又可认为是双向的。此外,控制总线还起到监视各部件状态的作用。
对CPU而言,控制信号既有输出又有输入。
3.2.3 通信总线
通信总线用于计算机系统之间或计算机系统与其他系统之间的通信。
按传输方式分为串行通信、并行通信。
串行通信是指数据在单条1位宽的传输线上,一位一位地按顺序分时传送。如1字节数据,在串行传送中,1字节的数据要通过一条传输线分8次由低位到高位按顺序逐位传送。
并行通信是指数据在多条并行1位宽的传输线上,同时由源传送到目的地。
并行通信适宜于近距离的数据传输,通常小于30m;串行通信适宜于远距离传送,可以从几米到数千千米。串行和并行通信的数据传送速率都与距离成反比。
3.3 总线特性及性能指标
3.3.1 总线特性
总线特性包括以下几项:
(1)机械特性
机械特性是指总线在机械连接方式上的一些性能,如插头与插座使用的标准,它们的几何尺寸、形状、引脚(管脚数)的个数以及排列顺序,接头处的可靠接触等。
(2)电气特性
电气特性是指总线的每一根传输线上信号的传递方向和有效的电平范围。
(3)功能特性
功能特性是指总线中的每根传输线的功能。例如,地址总线用来指出地址码;数据总线用来传递数据;控制总线发出控制信号,既有从CPU发出的,如存储器读/写、I/O设备读/写,也有设备向CPU发来的,如中断请求、DMA请求等。
(4)时间特性
时间特性是指总线中的一根线在什么时间内有效。每条总线上的各种信号互相存在一种有效时序关系,因此时间特性一般可用信号时序图来描述。
3.3.2 总线性能指标
总线性能指标如下:
①总线宽度:
数据总线的根数,用bit(位)表示,如8位、16位、32位、64位(即8根、16根、32根、64根)
②总线带宽:
总线的数据传输速率,即单位时间内总线上传输数据位数,通常用每秒传输信息的字节数来衡量,单位可用MBps(兆字节每秒)表示。
例如,总线工作频率为33MHz,总线宽度为32位(4B),则总线带宽为
33*(32/8)=132MBps
带宽 = 频率 * (总线宽度 / 8)
③时钟同步/异步:
总线上的数据与时钟同步工作的总线称同步总线;
与时钟不同步的总线称异步总线。
④总线复用:
一条信号线上分时传送两种信号。
⑤信号线数:
地址总线、 数据总线和控制总线三种总线数的总和。
⑥总线控制方式:
包括突发工作、自动配置、仲裁方式、逻辑方式、计数方式等。
⑦其他指标:
如负载能力、电源电压、总线宽度能否扩展等。
3.3.3 总线标准
课本p48-p52
- ISA 2.EISA 3.VESA 4.PCI 5.AGP 6.RS-232C 7.USB
3.4 总线结构
总线结构通常可分为单总线结构和多总线结构两种。
3.4.1 单总线结构
此图是单总线结构示意图(3.1总线的基本概念中的图)
单总线结构——竞争总线使用权
3.4.2 多总线结构
下图是双总线结构示意图:
双总线的特点是将速度较低的I/O设备从单总线上分离出来,形成主存总线与I/O总线分开的结构。图中通道是一个具有特殊功能的处理器,CPU将一部分功能下放给通道,使其对I/O设备具有统一管理的功能,以完成外部设备与主存储器之间的数据传送,其系统的吞吐能力可以相当大。这种结构大多用于大、中型计算机系统。
下图是三总线结构示意图
图中主存总线用于CPU与主存之间的传输;I/O总线供CPU与各类I/O设备之间传递信息;DMA总线用于高速I/O设备与主存之间直接交换信息。
在三总线结构中,任一时刻只能使用一种总线,主存总线与DMA总线不能同时对主存进行存取,I/O总线只有在CPU执行I/O指令时才能用到。
下图是另一种三总线结构的示意图
还有四总线结构
3.5 总线控制
由于总线上连接着多个部件,什么时候由哪个部件发送信息,如何给信息传送定时,如何防止信息丢失,如何避免多个部件同时发送,如何规定接收信息的部件等一系列问题都需要由总线控制器统一管理。
它主要包括判优控制(或称仲裁逻辑)和通信控制。
3.5.1 总线判优控制
总线上所连接的各类设备,按其对总线有无控制功能可分为主设备和从设备。
主设备对总线有控制权;
从设备只能相应从 主设备发来的总线命令,对总线没有控制权。
总线判优控制可分为集中式和分布式两种,前者将控制逻辑集中在一处(如在CPU中),后者将控制逻辑分散在与总线连接的各个部件或设备上。
集中控制优先权仲裁方式有以下三种:(p57-p59)
(1)链式查询
(2)计数器定时查询
(3)独立请求方式
3.5.2 总线通信控制
目的:解决通信双方协调配合的问题
通常将完成一次总线操作的时间称为总线周期(总线传输周期),分为4个阶段:
①申请分配阶段:
由需要使用总线的主模块(或主设备)提出申请,经总线仲裁机构决定下一传输周期的总线使用权授于某一申请者。
②寻址阶段:
取得了使用权的主模块通过总线发出本次要访问的从模块的地址及有关命令,启动参与本次传输的从模块。
③传数阶段:
主模块和从模块进行数据交换,数据由源模块发出,经数据总线流入目的模块。
④结束阶段:
主模块的有关信息均从系统总线上撤除,让出总线使用权。
总线通信控制主要解决通信双方如何获知传输开始和传输结束,以及通信双方如何协调如何配合。
四种方式:同步通信、异步通信、半同步通信、分离式通信