总线(母线)是构成计算机系统的互联机构,是多个系统功能部件之间进行数据传送的公共通路。是从一个或多个源部件传送信息到一个或多个目的部件的传输线束。
总线就是指能为多个功能部件服务的一组公用信息线。借助总线,计算机在各部件间可传送地址、数据和控制信息。
※一个计算机系统中的总线,大致分为3类:
(1)内部总线:同一部件之间的总线,如CPU内部连接各寄存器及运算器之间的连线。
(2)系统总线:同一台计算机系统各部件之间连接的总线,如CPU、内存、通道和各类I/O接口间的连线。
(3)多机系统总线:多台处理机之间互相连接的总线,它涉及到多机系统互连。
1.总线的特性
物理特性:
指总线的物理连接方式,包括总线的根数,总线的插头、插座的形状,引脚线的排列方式等。
功能特性:
描述总线中每一根线的功能。
电气特性:
定义每一根线上信号的传递方向及有效电平范围。
送入CPU的信号叫输入信号(IN),从CPU发出的信号叫输出信号(OUT)。
时间特性:
定义了每根线在什么时间有效。
规定了总线上各信号有效的时序关系,CPU才能正确无误地使用。
2.总线的标准化
总线带宽:
总线本身所能达到的最高传输速率,是衡量总线性能的重要指标,单位兆字节每秒(MB/s)。
地址线:用于选择信息传送的设备。
例如,CPU与主存传送数据或指令时,必须将主存单元的地址送到总线地址线上,只有主存储器响应这个地址,其他设备则不响应。
地址线通常是单向线,地址信息由源部件发送到目的部件。
数据线:
用于总线上的设备之间传送数据信息。
数据线通常是双向线。
例如,CPU与主存可以通过数据线进行输入(取数)或输出(写数)。
控制线:
用于实现对设备的控制和监视功能。
例如,CPU与主存传送信息时,CPU通过控制线发送读或写命令到主存,启动主存读或写操作。同时,通过控制线监视主存送来的MOC回答信号,判断主存的工作是否已完成。
控制线通常都是单向线,有从CPU 发送出去的,也有从设备发送出去的。
除以上3种线外,还有时钟线、电源线和地线等,分别用作时钟控制及提供电源。
为减少信号失真及噪声干扰,地线通常有多根,分布格式很讲究。
通过接口可以实现高速机器与低速外设之间工作速度上的匹配和同步,并完成计算机和外设之间的所有数据传送和控制。
因此,“接口”又有“适配器”、“设备控制器”等名称。
根据连接方式不同,单机系统中采用的总线结构有3种基本类型:
①单总线结构;
②双总线结构;
③三总线结构。
在许多微小型计算机中,使用一条单一的系统总线来连接CPU、主存和I/O设备,叫做单总线结构。
CAI演示如图所示:
此时要求连接到总线上的逻辑部件必须高速运行,以便在某些设备需要使用总线时能迅速获得总线控制权;
而当不再使用总线时,能迅速放弃总线控制权。
否则,一条总线由多种部件共用,可能导致很大的时间延迟。
(a) 取指令
当CPU取一条指令时,首先把程序计数器PC中的地址同控制信息一起送至总线上。
在“取指令”情况下的地址是主存地址,此时该地址所指定的主存单元的内容一定是一条指令,而且将被传送给CPU。
(b)传送数据:
取出指令之后,CPU将检查操作码。
操作码规定了对数据要执行什么操作,以及数据是流进CPU还是流出CPU。
但操作码并不规定该指令是访问内存还是访问外围设备。
在单总线系统中,主存与输入、输出设备都在同一条总线上,设备的寻址采用统一编址(即所有的主存单元及外部设备接口寄存器的地址一起构成一个连续的地址空间(单总线地址空间))的方法。
因此,访内指令与输入/输出指令在形式上完全相同,区别仅在于地址的数值不同。
这就是说,对输入/输出设备的操作,完全可以和内存的操作一样处理。
这样,当CPU把指令的地址字段送到总线上时,如果该地址字段对应的地址是内存地址,则内存予以响应。
此时,在CPU和内存之间将发生数据传送,数据传送的方向由指令操作码决定,如图所示。
© I/O操作:
如果该指令地址字段对应的是外围设备地址,则外围设备译码器予以响应,从而在CPU和与该地址相对应的外围设备之间发生数据传送,而数据传送的方向由指令操作码决定。
(d) DMA操作:
某些外围设备也可以指定地址。
如果一个由外围设备指定的地址对应于一个主存单元,则主存予以响应,于是在主存和外设间将进行直接存储器传送(DMA)。
采用统一编址方法,省去一类I/O指令,简化了指令系统。
此外,单总线结构简单,使用灵活,易扩充。
然而,单总线的地址线位数与主存地址位数相同,主存的部分地址空间要用于外部设备接口寄存器寻址。
此外,所有的部件均通过一条总线进行通信,分时使用总线,因此,通信速度比较慢。
通常,单总线结构适用于小型或微型计算机的系统总线。
单总线系统中,由于所有逻辑部件都挂在同一个总线上,因此总线只能分时工作,即某一时间只能允许一对部件之间传送数据,这就使信息传送的吞吐量受到限制。
为此出现了双总线结构。这种结构保持了单总线系统简单、易于扩充的优点,但又在CPU和主存之间专门设置了一组高速的存储总线,使CPU可通过专用总线与存储器交换信息,并减轻了系统总线的负担,同时主存仍可通过系统总线与外设之间实现DMA操作,而不必经过CPU。
当然这种双总线系统以增加硬件为代价。当前高档微型机中广泛采用这种总线结构。
(内存总线又叫存储总线)
系统总线是CPU、内存和通道(IOP)进行数据传送的公共通路,
I/O总线是多个外部设备与通道之间进行数据传送的公共通路。
在DMA方式中,外设与存储器间直接交换数据而不经过CPU,从而减轻了CPU对数据输入输出的控制,而“通道”方式进一步提高了CPU的效率。
通道实际上是一台具有特殊功能的处理器,又称为IOP (I/O处理器),它分担了一部分CPU的功能,以实现对外设的统一管理及外设与主存之间的数据传送。
显然,由于增加了IOP,整个系统的效率将大大提高,然而这是以增加更多的硬件代价换来的。
三总线系统通常用于中、大型计算机中。
在单总线系统中,最大主存容量必须小于由计算机字长所决定的可能的地址总数。(因为设备统一编址)
在双总线系统中,对主存和外设进行存取的判断是利用各自的指令操作码。由于主存地址和外设地址出现于不同的总线上,所以存储容量不会受到外围设备多少的影响。
在双总线系统中,CPU对存储总线和系统总线必须有不同的指令系统。(访问内存操作和I/O操作各有不同的指令)
在单总线系统中,访问主存和I/O传送可使用相同的操作码,使用相同的指令,但它们使用不同的地址。
计算机系统的吞吐量:是指流入、处理和流出系统的信息的速率。
它取决于CPU把指令、数据从内存取出或存入的速度以及把结果从内存送到一台外围设备的速度。
由于上述原因,采用双端口存储器可以增加主存的有效速度。因为如果把每个端口连到不同的内存总线上,那么内存可以在同一时间内对每个端口完成读/写操作。
在三总线结构中,由于将CPU的一部分功能下放给通道,由通道对外围设备统一管理并实现外围设备与内存之间的数据传送,因而其吞吐能力比单总线结构强得多。