第三章 系统总线
3.1 总线的基本概念
前面的博客计算机组成原理(唐朔飞)–第一篇 概论中,我们提到冯诺依曼体系结构的机器,它是由五大部件构成,五大部件需要通过互连,实现通信。互联方式一般有两种。
- 分散连接:各部件之间单独用线连接。
- 总线连接:将各部件连接到一组公共信息传输线上。
随着计算机领域的不断扩大,I/O设备的种类和数量不断增多,人们希望能随时增减I/O设备,而分散连接无法解决I/O与主机之间连接的灵活性,因此出现了总线连接方式。
下面介绍部分总线结构
单总线结构
该结构存在的问题:当I/O设备与主存通信占用总线,此时CPU只能暂时停止执行程序,因为CPU的指令和数据都是需要在主存中取出,而此时总线已被占用,因此该结构效率不高。所有信息传输都要通过总线,总线负担重。
以CPU为中心的双总线结构
与上面的结构相比,该结构采用在CPU与主存之间加上一条M总线的方法,提高了主存与CPU的信息传输效率,又减轻了总线的负担,解决了上述问题。
该结构存在的问题:当I/O设备需要和主存通信时必须要经过CPU,这样会影响CPU的工作效率。
以存储器为中心的双总线结构
这种双线结构既提高了CPU与主存间的传输效率,又减轻了总线的负担,还保留了I/O设备与存储器交换信息时不经过CPU的特点。
3.2 总线的分类
要给总线进行分类,首先的又不同的分类标准,按数据传输方式可以分为并行传输总线和串行传输总线。按数据传输宽度可以分为8位、16位、32位、64位等传输总线。
下面按照连接部件不同,详细介绍三类总线
3.2.1 片内总线
片内总线是指在芯片内部的总线,如CPU内部寄存器与寄存器之间是使用片内总线连接的。
3.2.2 系统总线
系统总线是指CPU、主存、I/O设备各大部件之间的信息传输线。由于这些设备通常安放在主板或各个插板上,又称板级总线。
按系统总线传输信息的不同,又分为三类:数据总线、控制总线、地址总线。
- 数据总线:用于传输各部件之间的数据信息,双向传输,位数与机器字长、存储字长有关。
- 地址总线:用于指出数据总线上的源数据或目的数据在主存单元的地址或I/O设备的地址。单向传输,位数与存储单元的个数有关。
- 控制总线:用于发出各种控制信号,由于数据总线和地址总