1、什么是总线?

计算机系统的五大部件之间的链接方式有两种:第一种是各个部件之间使用单独的导线,这个称之为分散链接;另一种是将各个部件链接到一组公共的信息传输线上,这个称之为总线连接(BUS)。

系统总线分为哪三类(系统总线简介)(1)

2、为什么需要总线?

如果各个部件之间使用分散连接的话,那么计算机系统必然会因为众多的设备而导致拥有大量的数据导线,从而使得系统变得异常复杂,如果需要动态添加一个新的设备的话,会比较麻烦。

3、总线上信息传输的方式

总体来说,有两种方式:串行和并行。
串行:数据一位一位地传递,只有上一位传送完毕之后下一位才能传递,通常由一根导线设计。

并行:数据中的很多位可以同时传输,使用多根导线制造设计。

两种方式比较如下:
串行:优点:硬件设计简单,占用引脚较少,有利于集成。缺点:数据传输效率较低。
并行:优点:数据传输效率较高,吞吐量大。缺点:硬件设计复杂,占用较多引脚,集成复杂。

4、常见总线结构

单总线结构

这种结构是最经典,也是最简单的结构。所有的设备,包括CPU,主存,各种I/O设备全部挂接在一条总线上。但是这种方式的效率底下,因为同时只能有一对设备使用总线进行数据传输,如果这对设备传输时间很长的话(比如CPU和主存之间的数据传输)那么这段时间内别的设备只能等待;另外多个设备之间可能存在严重资源使用冲突的问题。

面向CPU的双总线结构

这种结构以CPU为中心,和上面的结构不同的是,这里主存不再挂在单一总线上了,而是设计了两个总线:I/O总线和M总线(Memory)。这样一来就把专门用于I/O设备数据传输的总线和存储总线分开了,解决了单一总线中因为CPU访问内存而导致系统总线负载较重的问题。
但是这种结构也是有问题的,比如所有的I/O设备如果需要和主存交互的话,那么效率是比较低的,因为每次都需要CPU实际参与。

以存储器为中心的双总线结构

还有一种以存储器为中心的双总线结构,如上图所示。它是在单总线的基础上又开辟一条CPU和主存之间的总线,称之为存储总线。这组总线速度高,只供主存和CPU之间传输信息。这样既提高了传输效率,又减轻了系统总线的负担,还保留了I/O设备与存储器之间交换信息时不经过CPU的特点。

5、总线的分类

总线应用广泛,从不同的角度可以有很多种分类方式。下面我们按照连接部件的不同,分为三类。

片内总线
片内总线是指芯片内部的总线,如在CPU芯片的内部,寄存器和寄存器之间,寄存器和运算逻辑单元ALU之间的都是由片内总线连接而成的。

系统总线
系统总线是指CPU,主存,I/O设备各大部件之间的信息传输线。由于这些部件通常安放在主板的各个插件板上,因此又称为板级总线或板间总线。按照系统总线传输的信息的不同,又可以分为三类:数据总线,地址总线,控制总线。

数据总线
数据总线用来传输各功能部件之间的数据信息,它是一个双向的传输总线,其位数与机器字长,存储字长有关,一般为8位,16位或者32位。数据总线的位数成为数据总线的宽度,它是衡量系统性能的一个重要参数。

地址总线
地址总线主要用来指出数据总线上的源数据或者目的数据在主存储单元的地址或者I/O设备的地址。地址总线的数据用来指明CPU想要访问的存储单元或者I/O端口的地址,由CPU输出,单向传输。数据线的位数代表着系统能够寻址的空间大小,比如地址线宽为20那么地址空间为2的20次方。

控制总线
我们知道,数据总线和地址总线是被挂在总线上的所有设备所共享的,那么这些设备之间怎么协调使用呢?答案就是控制总线,依靠控制总线来完成共享总线的占用申请。控制总线是发出各种控制信号的,因此它的传输方向就是单向的。但是,通常对于CPU而言的话,控制总线是既有输入,又有输出的。常见的控制信号有:时钟,复位,总线占用请求等等。

通讯总线
这类总线用于计算机系统之间或计算机系统与其他系统之间的通讯,比如网络连接。这类通讯涉及许多方面,因此互相之间差别极大,传输的类别很多,但是总体可以分为两种:串行和并行。