• 内容讲解

1.早期总线的内部结构

早期计算机总线的内部结构如图6-1所示,它实际上是处理器芯片引脚的延伸,是处理器与I/O设备适配器的通道。这种简单的总线一般由50~100根信号线所组成,按照这些信号线的功能特性可分为三类:数据(总)线、地址(总)线和控制(总)线。

612.gif

1)数据总线

数据总线(Data Bus,DB)是在计算机系统各个部件之间传输数据信息的信号线。数据总线是双向的。通常,数据总线由8根、16根、32根或64根数据线组成,数据线的根数称为数据总线的宽度。由于每一根数据线每次传送1位二进制数,所以数据线的根数决定了每一次能同时传送的二进制的位数,由此可见,数据总线的宽度是表现系统总体性能的关键因素之一。例如,如果数据总线的宽度为8位,而每条指令的长度为16位,那么在每个指令周期中需要两次访问存储器才能取回完整的16位指令。

2)地址总线

地址总线(Address Bus,AB)是在计算机系统各个部件之间传输地址信息的信号线,用来规定数据总线上的数据来自何处或将被送往何处。地址总线是单向的。如果CPU要从存储器中读取一个信息,那么,首先必须将要读取的信息的存储器地址放到地址总线上,然后才可以从给定的存储器地址中取出所需要的信息。地址总线的宽度决定了计算机系统能够使用的最大的存储器容量。在对输入输出端口进行寻址时也要使用地址总线来传送地址信息。实际操作时,总是用地址总线的高几位选择总线上指定的存储器段,而用地址线的低几位去选择存储器段内具体的存储器单元或输入输出端口地址。

3)控制总线

控制总线(Control Bus,CB)是在计算机系统各个部件之间传输控制信息的信号线,其作用是对数据总线、地址总线的访问及使用情况实施控制。控制线中每一根线都是单向的,用来指明数据传送的方向、中断请求和定时控制等。由于计算机中的所有部件都要使用数据总线和地址总线,所以用控制总线对它们实施控制既是必要的,也是必须的。控制总线上传输的控制信息,其作用就是在计算机系统各个部件之间发送操作命令和定时信息,命令信息规定了要执行的具体操作,而定时信息则规定了数据信息和地址信息的时效性。

这种简单的总线结构被早期的计算机所广泛采用。随着计算机技术的发展,这种简单总线结构逐渐暴露出一些不足:第一,CPU是总线上的惟一主控者,即使后来增加了具有简单仲裁逻辑的DMA控制器以支持DMA传送,但是仍不能满足多CPU环境的要求;第二,总线信号是CPU引脚信号的延伸,所以总线结构与CPU紧密相关,通用性较差。

2.当代总线的内部结构

当代计算机总线的内部结构如图6-2所示。当代总线是一些标准总线,追求与结构、CPU、技术无关的开发标准,满足包括多CPU在内的主控者环境需求。

613.gif

在当代总线结构中,CPU与Cache作为一个模块与总线相连,系统中允许存在多个这样的处理器模块,而总线控制器则负责在几个总线请求者之间进行协调与仲裁。整个总线结构分成如下四个部分:

1)数据传送总线

数据传送总线由地址线、数据线、控制线组成,其结构与早期总线类似,但一般有32条地址线,32或64条数据线。为了减少布线,64位数据的低32位数据线往往与32位地址线进行复用。

2)仲裁总线

仲裁总线包括总线请求线和总线授权线。

3)中断和同步总线

中断和同步总线用于处理带优先级的中断操作,包括中断请求线和中断认可线。

4)公用线

公用线包括时钟信号线、电源线、地线、系统复位线以及加电或断电的时序信号线等。