总线概述

总线的概念

总线是连接多个部件之间的信息传输通路,是各部件间共享的传输介质。

总线是连接计算机个功能部件的逻辑电路,它不仅包括一组连接线,还包括管理信息传输规则的电路。即总线的基本组成是一组导线加上接受和发送控制逻辑。

在一个时刻,只能允许一个部件向总线发送信息,但多个部件可以同时从总线接受信息。并且在一个总线传输操作结束前不能启动另一个总线传输操作。

总线的分类

总线可以分为片内总线,系统总线,通信总线。

其中系统总线可分为数据总线,地址总线,控制总线。也可分为板级总线和板间总线。

通信总线分为串行通信总线和并行通信总线。

总线的管理与控制

总线仲裁机制

系统总线连接的各个部件,按照部件对总线是否有控制能力分为主模块和从模块。

主模块对总线有控制能力,而从模块只能被动地响应主模块发来的总线命令。一次总线操作中只能一主一从或一主多从。宏观来看,CPU通常作为主模块,主存只能作为从模块,而有些I/O接口既可作为主模块也可作为从模块。

总线上的信息传输由主模块启动,多个主模块同时请求时,需要仲裁机制来仲裁控制权的分配问题。

总线仲裁方式分为集中式和分布式两种。下面仅讨论三种常见的集中式仲裁机制。

链式查询方式

核心思路:通过一条判优链路(优先链)对所有主模块逐个串行查询。

优先级:离总线越近的主模块优先级越高。

需要三根控制信号线:

  • BR 总线请求:所有主模块通过此线向总线控制部件发送请求信号,为公用线。该信号有效时说明至少有一个主模块在请求使用总线。
  • BG 总线同意:总线控制部件通过此线向请求总线的主模块发出同意使用总线信号。该信号有效时说明总线控制器已经响应了总线请求。
  • BS 总线忙:主模块通过此线向总线控制器发出忙信号,为公用线。此信号有效时表示总线正在被占用。

具体查询方法:从离总线控制器最近的主模块开始查起。首先查到的一定是所有提出请求的主模块中优先权最高的一个。查到最高优先级且有请求的主模块后,该模块通过相应信号卡断判优链路,这样它就可以独占总线与从模块之间行操作了。当操作结束后਀时释放总线,此时总线控制器可以继续对其它请求模块进行判优。

优点:

  • 所需控制线少
  • 结构简单
  • 易于扩充

缺点:

  • 查询速度慢
  • 优先级固定导致灵活性差,低优先级的模块可能长期得不到相应,大大限制模块数量。
  • 对电路故障明杆(串联,一坏全崩)

计数器定时查询方式

核心思路:总线控制器中设一个计数器用作查询。

具体查询方法:查询开始,计数器计数。每计一次数,就将计数值作为模块地址发往各个主模块。每个申请总线的主模块对地址进行识别,地址符合的模块获得总线控制权,停止计数。

优先级:取决于计数器得工作方式。

  • 若查询时计数器每次都从‘0’开始计数,即0号主模块的优先级最高
  • 若查询时计数器从上一次查询的终止点开始计数,则终止点优先级最高。此时优先级是循环的
  • 计数初值可以由程序设定,因此优先级可编程改变

优点:优先级设置较灵活,电路故障敏感度低。

缺点:需增加模块地址线,且控制较复杂,硬件成本高。

独立请求方式

每一个主模块专门有一根BR线和BG线,各自通过独立的请求线向总线控制器发请求;总线控制器里设置并行排队线路,同时接收各模块发来的请求信号并同时进行排队判优;通过各自独立的回答线发出总线同意信号 BG。

优点:响应速度最快。

缺点:控制线多,控制逻辑复杂,硬件开销大。

总线通信方式

概念

总线通信方式:一次总线传输操作涉及到多个部件,由于各部件的处理速度不同,所以需要进行时间上的协调,所采用的协调方式称为总线的定时方式或者通信方式。

一次总线操作的全过程分为4个阶段:

  • 申请分配阶段:主模块申请总线,控制器总线判优、分配总线控制权;
  • 寻址阶段:主模块获得总线控制权,通过总线向从模块发地址,发读/写命令,启动从模块工作;
  • 传送阶段:主—从模块间通过总线进行数据交换,交换方向由主模块发出的读/写命令决定;
  • 结束阶段:主模块撤除发在总线上的信号,让出总线使用权。

总线周期:一次完整的总线传送操作所需时间称为总线周期。

总线周期的基本类型:内存读 、内存写、外设读、外设写。

正常总线周期:由一次地址传送时间和一次数据传送时间组成 。

BURST(猝发)总线周期:由一次地址传送时间和多次数据传送时间组成。

总线的等待状态:在正常总线周期中,若由于被读写的部件速度慢,一次数据时间内不能完成读写操作,就要增加一个或多个数据时间,增加的数据时间被称为总线的等待状态。

常用总线通信方式:

  • 同步通信
  • 异步通信
  • 半同步通信
  • 分离通信

同步通信方式

通信双方使用统一的时钟信号来控制数据的传送过程。

一个总线周期中分配的时钟个数是固定的,每个时钟的用途对于任一模块都是一样的,不管模块的操作速度是否一致,所有总线周期的时间是一致的(设计时必须按最慢的模块、最长的距离来安排公共时钟周期时间)。

特点:控制简单;当系统中各部件速度差异较大时,严重影响总线工作效率;灵活性差;适合于短距离、各部件速度较接近的场合。

这种方式下欲提升数据传输速率:

  • 扩大总线宽度
  • 提高总线时钟频率
  • 缩短总线周期

异步通信方式

异步通信,通信双方无统一的同步信号来控制数据的传送过程,各部件可按
约定的信号或者绝对时间使用总线。

主/从部件间采用应答(握手)方式建立联系,因此,主/从模块间要增加两条应答信号线。

特点:总线周期的长短可随主/从模块的实际工作时间变化,因而当系统中各部件速度差异较大时,总线工作效率比同步通信高得多,但控制复杂,比同步通信难实现。

异步通信根据应答信号配合的完善程度,分为三类:

  • 不互锁方式:主请求,从回答,无相互制约.各自自行撤销
  • 半互锁方式:主请求,从回答,主收到回答才撤销请求,而从自行撤销回答
  • 全互锁方式:主请求,从回答,主收到回答才撤销请求,从发现请求被撤销了才撤销回答

半同步通信

同步通信和异步通信结合的方式。以同步通信为基础,设立系统时钟对总线操作进行控制。正常总线周期满足大多数部件的速度要求。对于少数特别慢速的部件,可根据需要插入若干个‘等待’时钟,以使总线周期得到延长。需增加一条“等待”状态信号线(-WAIT),以控制是否进入“等待时钟周期”。

特点: 保留了同步通信控制简单的优点,吸收了异步通信时间分配灵活的优点,实用性很强。但工作效率仍无异步通信高。适用于工作速度不高,部件速度差异较大的简单系统。

分离式通信

常规总线周期操作步骤:三步

  • 主模块使用总线:发地址、命令、数据(写)等;
  • 从模块按主模块的命令进行操作准备;
  • 从模块使用总线:发数据(读)、接收数据(写)等。

不难发现,第二步期间,总线空闲,时间被浪费了。

分离式通信将一个总线周期分为两个子周期来解决这一问题:

  • 第一个子周期:主模块A获得总线使用权,通过总线向从模块B发送地址、命令、数据(写)等信息,并把自己的地址也发过去。一旦B接收,A立即释放总线。B接到A的信息后,进行传送准备工作(不占用总线)直到完成。
  • B在准备工作完成后申请总线,当获得总线使用权后,通过总线向A发送地址、数据(读)以及自己的地址,然后释放总线。

总线结构:

总线结构通常可以分为单总线结构和多总线结构两种。

单总线结构

系统中使用唯一的一条总线(包括数据总线,地址总线,控制总线)连接所有的部件和设备。早期的小型机、微型机常采用这种结构。

优点:结构简单,成本低廉,便于扩充。

缺点:各部件只能分时使用总线,运行效率低 。

多总线结构

系统中含有两条或以上的总线。

以CPU为中心的双总线结构:

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

某三总线结构:

总线标准

总线特性

  • 机械特性
  • 电器特性
  • 功能特性
  • 时间特性

总线性能指标

  • 总线宽度
  • 总线工作频率
  • 总线带宽
  • 控制方式
  • 通信方式
  • 信号线数
  • 扩展能力
  • 负载能力