1 总线的基本概念
计算机系统的五大部件之间的互连方式有两种:
一种是各部件之间使用单独的连线,称为分散连接;分散连接方式无法解决I/O设备与主机之间连接的灵活性。
另一种是将各部件连到一组公共信息传输线上,称为总线连接。
1.1 总线
总线是连接多个部件的信息传输线,是各部件共享的传输介质。
在某一时刻,只允许有一个部件向总线发送信息,而多个部件可以同时从总线上接收相同的信息。
总线实际上是由许多传输线或通路组成,每条线可一位一位地传输二进制代码,一串二进制代码可在一段时间内逐一传输完成。
若干条传输线可以同时传输若干位二进制代码。
1.2 单总线结构
将CPU、主存和I/O设备(通过I/O接口)都挂到一组总线上
1.3 面向CPU的双总线结构
其中一组总线连接CPU和主存,称为存储总线(M总线)
另一组用来建立CPU和各I/O设备之间交换信息的通道,称为输入/输出总线(I/O总线)
各种I/O设备通过I/O设备通过I/O接口挂到I/O总线上,更便于增删设备。
当I/O设备与主存交换信息时,原则上不影响CPU的工作
1.4 以存储器为中心的双总线结构
在单总线基础上又开辟出的一条CPU与主存之间的总线,称为存储总线
这组总线速度高,只供主存与CPU之间和传输信息,这样既提高了效率,又减轻了系统总线的负担,还保留了I/O设备与存储器交换信息时不经过CPU的特点
2 总线的分类
总线的应用很广泛,从不同的角度可以有不同的分类方法。
下面按连接部件不同,介绍三类总线
2.1 片内总线
片内总线是指芯片内部的总线。
如在CPU芯片内部,寄存器与寄存器之间、寄存器与算逻单元ALU之间都由片内总线连接。
2.2 系统总线
系统总线是指CPU、内存、I/O设备(通过I/O接口)各大部件之间的信息传输线。
由于这些部件通常都安放在主板或各个插件板(插卡)上,故又称板级总线(在一块电路板上各芯片间的连线)或板间总线。
按系统总线传输信息的不同,又可分为三类:数据总线、地址总线和控制总线。
2.2.1 数据总线
数据总线用来传输各功能部件之间的数据信息,它是双向传输总线,其位数与机器字长、存储字长有关,一般为8位、16位或32位。
数据总线的位数称为数据总线宽度,它是衡量系统性能的一个重要参数。
如果数据总线的宽度为8位,指令字长为16位,那么,CPU在取值阶段必须两次访问主存。
2.2.2 地址总线
地址总线主要用来指出数据总线上的元数据或目的数据在主存单元的地址或I/O设备的地址。
地址总线上的代码是用来指明CPU欲访问的存储单元或I/O端口的地址,由CPU输出,单向传输。
地址线的位数与存储单元的个数有关,如地址线为20根,则对应的存储单元个数为 2 2 0 2^20 220。
2.2.3 控制总线
控制总线是用来发出各种控制信号的传输线。
通常对任一控制线而言,它的传输是单向的。但对于控制总线总体来说,又可认为是双向的。
控制总线还起到监视各部件状态的作用。
因此对CPU而言,控制信号既有输出,又有输入。
2.3 通信总线
这类总线用于计算机系统之间或计算机系统与其他系统(如控制仪表、移动通信等)之间的通信。
通信总线的类别很多,但按传输方式可分为两种:串行通信和并行通信。
2.3.1 串行通信
串行通信是指数据在单条1位宽的传输线上,一位一位按顺序分时传送。
2.3.2 并行通信
并行通信是指数据在多条并行1位宽的同时由源传送到目的地。
2.3.3 串行通信与并行通信的对比
(数据传送速率都与距离成反比)