一、总线概念
所谓总线(Bus),是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束。按照计算机所传输的信息种类,计算机的总线可以划分为数据总线、地址总线和控制总线,分别用来传输数据、数据地址和控制信号。总线是连接计算机硬件系统内多种设备的通信线路,它的一个重要特征是总线上的数据由总线上的所有设备共享。我们可以将计算机系统内的多种设备连接到总线上。如果仅仅是某两个设备或设备之间专用的信号连线,就不能称之为总线。系统总线架构图如下所示:
二、工作原理
如果说主板(Mother Board)是一座城市,那么总线就像是城市里的公共汽车(bus),能按照固定行车路线,传输来回不停运作的比特(bit)。这些线路在同一时间内都仅能负责传输一个比特。因此,必须同时采用多条线路才能传送更多数据,而总线可同时传输的数据数就称为宽度(width),以比特为单位,总线宽度愈大,传输性能就愈佳。总线的带宽(即单位时间内可以传输的总数据数)为:总线带宽 = 频率 x 宽度(Bytes/sec)。当总线空闲(其他器件都以高阻态形式连接在总线上)且一个器件要与目的器件通信时,发起通信的器件先要驱动总线,然后再发出地址和数据。其他以高阻态形式连接在总线上的器件如果收到(或能够收到)与自己相符的地址信息后,即接收总线上的数据。发送器件完成通信后,则将总线让出(输出变为高阻态)。
三、总线的分类
微机中的总线分为数据总线、地址总线和控制总线3类。不同型号的CPU芯片,其数据总线、地址总线和控制总线的条数可能不同。
数据总线DB用来传送数据信息,是双向的。CPU既可通过DB从内存或输入设备读入数据,又可通过DB将内部数据送至内存或输出设备。DB的宽度决定了CPU和计算机其他设备之间每次交换数据的位数。
地址总线AB用于传送CPU发出的地址信息,是单向的。传送地址信息的目的是指明与CPU交换信息的内存单元或I/O设备。存储器是按地址访问的,所以每个 存储单元都有一个固定地址,要访问1MB存储器中的任一单元,需要给出1M个地址,即需要20位地址(220=1M)。因此,地址总线的宽度决定了CPU 的最大寻址能力。
控制总线CB用来传送控制信号、时序信号和状态信息等。其中有的是CPU向内存或外部设备发出的信息,有的是内存或外部设备向CPU发出的信息。显然,CB中的每一条线的信息传送方向是一定的、单向的,但作为一个整体则是双向的。所以,在各种结构框图中,凡涉及到控制总线CB,均是以双向线表示。
总线的性能直接影响到整机系统的性能,而且任何系统的研制和外围模块的开发都必须依从所采用的总线规范。总线技术随着微机结构的改进而不断发展与完善。
四、总线的使用
总线一个操作过程是完成两个模块之间传送信息,启动操作过程的是主模块,另外一个是从模块,某一时刻总线上只能有一个主模块占用总线。
总线的操作步骤::
- 主模块申请总线控制权,总线控制器进行裁决。
- 主模块得到总线控制权后寻址从模块,从模块确认后进行数据传送。
- 数据传送的错误检查。
总线定时协议:定时协议可保证数据传输的双方操作同步,传输正确。
定时协议有三种类型:
- 同步总线定时:总线上的所有模块共用同一时钟脉冲进行操作过程的控制。各模块的所有动作的产生均在时钟周期的开始,多数动作在一个时钟周期中完成。
- 异步总线定时:操作的发生由源或目的模块的特定信号来确定。总线上一个事件发生取决前一事件的发生,双方相互提供联络信号。
- 半同步总线定时:总线上各操作的时间间隔可以不同,但必须是时钟周期的整数倍,信号的出现,采样与结束仍以公共时钟为基准。ISA总线采用此定时方法。
参考:
https://baike.so.com/doc/5411512-5649620.html