计算机组成原理(七)——总线BUS

总线(BUS)

总线(BUS)概念

  连接计算机系统各个功能部件的信息传输线。是各个部件共享数据及信息的传输介质,用来连接计算机系统各功能部件而构成一个完整系统。

  实际上是一组信号线。

  广义地讲,任何连接两个以上电子元器件的导线都可以称为总线。

计算机各部件之间的两种连接方式

  • 分散连接

  各部件之间使用单独的连线连接起来,数量庞大,系统难以扩展,结构复杂。

  • 总线连接

  将各部件连接到一组公共信息传输线上。

总线特点

  • 信息传输

    总线实际上是由许多传输线或通路组成的,每条线可一位一位地传输二进制代码,一串二进制代码可在一段时间内逐一传输完成。若干条传输线可以同时传输若干位二进制代码。

    串行:每条线一位接一位的传输二进制代码,一串二进制代码可在一段时间内逐一传输完成。

    并行:若干条传输线可以同时传输若干位二进制代码,如,16条传输线组成的总线可同时传输16位二进制代码。

  • 共享

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

  • 分时(总线上信息传输的特征)

    在某一时刻,只允许有一个部件向总线发送信息,而多个部件可以同时从总线上接收相同的信息。

    总线由总线控制器管理,总线控制器的主要功能有总线系统的资源管理、总线系统的定时及总线的仲裁连接

系统总线结构简单举例

单总线结构

  单总线结构将 CPU、主存、I/O 设备(通过 I/O 接口)都挂到一组总线上,允许 I/O 设备之间、I/O 设备与主存之间直接交换信息。

 

  单总线结构的优缺点

  • 优点:结构简单,允许 I/O 设备之间或 I/O 设备与主存之间直接交换信息,I/O设备与主存交换信息时,原则上不影响CPU的工作,只须 CPU分配总线使用权,不需要 CPU 干预信息的交换,CPU工作效率有所提高。
  • 缺点:由于全部系统部件都连接在一组总线上,各部件都要同时占用时,会发生冲突,总线的负载很重,可能使其吞吐量达到饱和甚至不能胜任的程度,所以需要设置总线判优逻辑,按照优先级高低来占用总线,影响整机工作速度。故大多为小型机和微型机采用。

双总线结构——以CPU为中心

  • 存储总线(M总线):连接内存与CPU的总线。
  • 输入/输出总线(I/O总线):连接CPU与输入/输出设备的总线。

  特点:

    I/O设备与内存交换信息时,需要占用CPU,因此会影响CPU的工作效率。

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

  特点:

    保留了内存与I/O设备间传输信息不经过CPU的特点,既提高了内存与I/O设备间的传输速率,减轻了系统总线的负担。

    现代计算机系统大多采用此类总线结构。

总线分类

按传输方式分类

串行传输总线

并行传输总线

      • 8位并行传输总线。
      • 16位并行传输总线。
      • 32位并行传输总线。
      • 64位并行传输总线等。

按使用范围分类

      • 计算机总线
      • 测控总线
      • 网络通信总线

按连接部件不同分类

      • 片内总线,又称芯片内总线。

          用于集成电路芯片内部各部分的连接。

          如CPU内部寄存器与寄存器之间、寄存器与算术逻辑单元ALU之间都由片内总线连接。

      • 系统总线(System Bus),又称内总线。

          用于计算机各组成部分(CPU、内存、I\O接口等)之间的信息传输。

          CPU通过系统总线对存储器的内容进行读写,同样经过系统总线,实现将CPU内数据写入外设,或由外设读入CPU。

      • 元件级总线。

          用于一块电路板内各元器件的连接。

      • 通信总线,又称外总线。

          用于计算机与外设或计算机与计算机之间的连接或通信。

系统总线按传输信息的不同分类

  所传输的信息 传输方向  说明
数据总线 传输各功能部件之间的数据信息。 双向传输  其位数称为数据总线宽度,与机器字长、存储字长有关,一般为 8 位、16 位或 32 位。
地址总线

用于指出数据总线上的源数据或目的数据在主存单元的地址或 I/O设备的地址,

也就是说地址总线上的代码用来指明 CPU 欲访问的存储单元或I/O端口的地址。

由CPU输出,单向传输。

 地址总线的位数与存储单元的个数有关,如地址线为 20 根,则对应的存储单元个数为 220个。
控制总线 用于发出各种控制信号,控制各部件动作。

通常对任一控制线而言,它的传输是单向的,如存储器读/写命令都是由 CPU 发出的;

但对控制总线总体而言,又可认为是双向的,

如当某设备准备就绪时,便可通过控制总线向 CPU 发送中断请求。

 常用的控制信号有:

时钟:同来同步各种操作。

复位:初始化所有部件。

总线请求:表示某部件需获得总线使用权。

总线允许:表示需要获得总线使用权的部件已获得了控制权。

中断请求:表示某部件提出中断请求。

中断响应:表示中断请求已被接收。

存储器写:将数据总线上的数据写入存储器的指定存储单元中。

存储器读:将指定存储单元中的数据读到数据总线上。

I/O读:从指定的I/O端口将数据读到数据总线上。

I/O写:将数据总线上的数据输出到指定的I/O端口。

传输响应:表示数据已被接收,或已将数据送至数据总线上。

☆ 总线的特性与性能指标

总线物理实现

  • 从物理角度看,总线由许多导线直接印制在电路板上,延伸到各个部件。
  • CPU、主存、I/O这些插卡(又叫插板)通过插头与水平方向总线插槽连接。
  • 总线插槽:按总线标准用印刷电路板或一束电缆连接而成的多头插座。
  • 现代计算机已将很多插卡做成专用芯片,减少了插槽,使结构更为合理。

总线特性

  (1)、机械特性

    机械特性是指总线在机械连接方式上的一些特性,如插头与插座使用的标准,几何尺寸、形状、引脚交个数、排列顺序、接头处可靠接触等。

  (2)、电气特性

    • 电气特性是指总线的每一根传输线上信号的传递方向电平范围
    • 输出信号:通常规定从CPU发出的信号称为输出信号。
    • 输入信号:通常规定送入CPU的信号称为输入信号。
      • 例如:地址总线属于单向传输线,数据总线属于双向传输线;它们定义高电平为“1”,低电平为“0”。
      • 控制总线的每一根都是单向传输的,但从整体看,有输入也有输出,是双向传输线。
      • 有些总线的电平定义也有例外,如RS-323C(串行总线接口标准),定义高电平为“0”,低电平为“1”。高电平高于+3V,低电平低于-3V;额定信号电平为-10V和+10V左右。

  (3)、功能特性

    • 功能特性是指总线中每根传输线的功能。
      • 地址总线用来传输地址码;
      • 数据总线用来传输数据;
      • 控制总线发出控制信号,既有CPU发出的,如存储器读/写、I/O设备读写,又有I/O设备向CPU发出的,如中断请求、DMA请求等。
    • 由此可见,总线各条线的功能不同。

  (4)、时间特性

    • 时间特性是指总线中的任一根线在什么时间内有效。
      • 每条总线上的各种信号互相存在一种有效时序的关系,一般可用信号时序图来描述。

总线性能指标

  总线宽度

    通常是指数据总线的根数,用 bit(位)表示,如 8 位(8 根)、16 位(16根)、32 位(32 根)、64 位(64 根)等。

  总线带宽

    可理解为总线的数据传输率,即单位时间内总线上传输数据的位数,通常用每秒传输信息的字节数来衡量,单位可用 MBps(兆字节每秒)表示。

    总线带宽 = 总线工作频率×(总线宽度/8),如总线工作频率为33MHz,总线宽度为 32 位(4B),则总线带宽 = 33×(32÷8) = 132MBps。

  总线工作频率

    总线上各种操作的频率,等于总线周期的倒数,即总线工作频率=1/总线周期。实际上是指一秒钟内传输几次数据

  总线周期(总线传输周期)

    是指一次总线操作所需的时间(包括申请阶段、寻址阶段、传送阶段和结束阶段)。

    总线周期通常由若干个总线时钟周期构成。而总线时钟周期就是机器的时钟周期

  总线时钟频率

    指机器的时钟频率,总线时钟频率=1/总线时钟周期。

      Example-1

        设某系统总线在一个总线周期中并行传送 6 字节信息,总线时钟频率为20MHz,一个总线周期占用 2 个时钟周期,求该总线带宽。

      解:

        总线时钟频率为 20MHz,一个总线周期占用 2 个时钟周期;

        所以总线工作频率 = 20MHz/2 = 10MHz,总线的宽度 = 6×8 位;

        所以总线带宽=总线工作频率×(总线宽度/8) = 10MHz×6B = 60MB/s。

  时钟同步/异步

    总线上的数据与时钟同步工作的总线称为同步总线,与时钟不同步工作的总线称为异步总线。

  总线复用

    一条信号线上分时传送两种信号称为总线复用。

    例如,在一组物理线路上可分时传输地址信号和数据信号。

  信号线数

    地址总线、数据总线和控制总线三种总线数的总和称为信号线数。

  总线控制方式

    总线控制方式有突发工作、自动配置、仲裁方式、逻辑方式和计数方式等。 

总线标准

  所谓总线标准,可视为系统与各模块、模块与模块之间的一个互连的标准界面。这个界面两端的任一方只须根据总线标准的要求完成自身接口的功能要求,而无须了解对方接口与总线的连接要求。因此,按总线标准设计的接口可视为通用接口。制定总线标准的目的是便于灵活组成系统。

  常用的总线标准如下。

  ISA 总线

    ISA(Industry Standard Architecture工业标准体系结构,又称 AT 总线。

    ISA总线是具有开放式结构的总线。ISA总线为62+36线,数据线16,地址线14。采用 24 位地址线(可直接寻址的内存容量为 16MB),没有支持仲裁的硬件逻辑,不能支持多台主设备系统。ISA 属系统总线标准。

  EISA 总线

    EISA(Extended IndustryStandard Architecture,扩展工业标准体系结构是一种在 ISA基础上扩充开放的总线标准。支持多个总线主控器和突发方式(总线上可进行成块的数据传输)的传输。地址总线为 32 位,数据总线为 32 位,属于系统总线标准。

  VESA(VL-BUS)总线

    VESA 总线是由 VESA(Video Electronic Standard Association,视频电子标准协会)提出来的局部总线标准,也称为 VL-BUS 总线。所谓局部总线,是指在系统外为两个以上设备提供的高速传输信息通道,VESA配有局部控制器,将高速设备直接挂在 CPU 的总线上,实现CPU 与高速外设之间的高速数据交换。数据总线为 32 位,属于系统总线标准。

  PCI 总线

    PCI(Peripheral Component Interconnect),即外部设备互连总线,它提供 32/64 位数据总线,总线时钟频率为 33MHz。与 ISA、EISA 均可兼容,支持即插即用、多层结构,提供数据和地址奇偶校验功能。采用同步时序协议和集中式仲裁方式,属于系统总线标准。

  PCI Express 总线

    PCI Express 总线是一种完全不同于过去 PCI 总线的一种全新总线规范,与 PCI 总线共享并行架构相比,PCI Express 总线是一种点对点串行连接的设备连接方式,点对点意味着每一个 PCI Express 设备都拥有自己独立的数据连接,各个设备之间并发的数据传输互不影响,而对于过去 PCI 那种共享总线方式,PCI 总线上只能有一个设备进行通信,一旦 PCI总线上挂接的设备增多,每个设备的实际传输速率就会下降,性能得不到保证。现在,PCI Express 以点对点的方式处理通信,每个设备在要求传输数据的时候各自建立自己的传输通道,对于其他设备而言这个通道是封闭的,这样的操作保证了通道的专有性,从而避免其他设备的干扰。

  AGP 总线

    AGP(Accelerated GraphicsPort,加速图形接口)是专为提高视频带宽而设计的总线规范。它采用点对点连接,连接控制芯片组和 AGP 显示卡,因此严格来说 AGP 不能称为总线,而是一种接口标准。AGP 属于设备总线标准。

  RS-232C 总线

    RS-232C(Recommended Standard,232 为标识号,C 表示修改次数)是由美国电子工业协会 EIA 提出的一种串行通信总线标准,它是应用于串行二进制交换的数据终端设备和数据通信设备之间的标准接口。RS-232C 属于设备总线标准。

  SCSI 总线

    SCSI(Small Computer SystemInterface,小型计算机系统接口)总线主要用于光驱、音频设备、扫描仪、打印机以及像硬盘驱动器这样的大容量存储设备等的连接,是一种直接连接外设的并行 I/O 总线,属于设备总线标准。

  USB 总线

    USB(Universal Serial Bus——通用串行总线)是一种连接外围设备的 I/O 总线,属于设备总线标准。USB 由 Intel 公司提出,带宽为 12Mbps,与传统接口总线相比,主要优点有三个:①具有即插即用功能(USB 提供机箱外的即插即用连接,连接外设时不必再打开机箱,也不必关闭主机电源);②USB采用“级联”方式连接各个外部设备(每个 USB 设备用一个USB 插头连接到前一个外设的 USB 插座上,而其本身又提供一个 USB 插座,以供下一个 USB 外设连接,可连接多达 127 个外设,两个外设间的线缆长度可达 5 米);③适用于低速外设连接(USB 的传送速度可达 12Mb/s,可与键盘、鼠标、Modem 等常见外设连接,还可以与 ISDN、电话系统、数字音响、打印机/扫描仪等低速外设连接)。

在 USB 总线上,数据的传送是以帧(Frame)为单位进行的,即发送方需要按照一定的格式对要传送的数据进行组织;接收方按照同样的格式来接收和理解帧。

总线的信息传输方式

串行传输方式

  信息以串行方式传送时,只有一条传输线,且采用脉冲传送,即数据 0 或 1 按位顺序传送(以脉冲信号“有或无”的形式传送),每拍(次)传一位。

  其特点是线路成本低,传送速度慢。适用场合:主机与低速外设间的传送、远距离通信总线的数据传送、系统之间的数据传送。

  串行传输信息的速率通常用波特率和比特率来表示。

  • 波特率

  每秒钟传送的数据位数。

  • 比特率

  每秒钟传送的有效数据位数。

Example-1

  利用串行方式传送字符,假设数据传送速率是 120 个字符/秒,每一个字符格式规定包含 10 个数据位(起始位、停止位、8 个数据位),问传送的波特率是多少?每个数据位占用的时间是多少?比特率又是多少?

  解:

    波特率=10 位×120/秒=1200。

    每个数据位占用的时间 Td是波特率的倒数,所以 Td=1/1200=0.833×10-3s=0.833ms。

    每个字符对应的 10 个数据位中只有 8 个有效数据位。

    所以比特率=8 位×120/秒=960。

并行传输方式

  利用并行方式传输二进制信息时,每位数据都需要单独一条传输线,从而使得多位二进制数码在同一时刻同时进行传送。

  并行传输一般采用电位传送。由于所有的位同时被传送,所以并行数据传送比串行数据传送快得多。

  特点是线路成本高,传送速度快。适用场合:短距离的高速数据传输

复合传输方式

  在不同的时间间隔中,总线可以分别完成传送地址和传送数据的任务,或者当多部件共享总线时,各部件根据控制命令,分时使用总线来完成自己的数据传送任务。也就是说,复合传输方式有两个概念:

  •  数据和地址信息分时享用总线,即总线复用方式
  • 共享总线的部件分时使用总线,即总线分时方式

复合传输方式的优缺点

  • 优点:可提高总线的利用率,减少总线的信号线数量,从而降低总线的成本。
  • 缺点:会影响总线操作的速度。

☆ 总线结构

单总线结构

 

  • 特征:

    单总线结构将CPU、主存、I/O设备(通过I/O接口)都挂在一组总线上,允许I/O设备与CPU间、I/O设备与主存间、I/O设备与I/O设备间直接交换信息。

  • 优点:

    结构简单,便于扩充。

  • 缺点:

    所有的传送信息都经过这条共享总线,总线负荷过高。

    不允许两个及以上的部件同时向总线传输信息,严重制约系统工作效率。所以,这种结构的总线多被小型计算机和微型机采用。

双总线结构

 

  • 特征

    将传输速度较低的I/O从单总线上分离出来,形成主存总线I/O总线分开的结构。

    通道是一个具有特殊功能的处理器,CPU将一部分功能下放给通道,使其具有对I/O设备统一管理的功能。以完成外部设备与主存储器之间的数据传输。

  • 优点

    系统的吞吐能力相当大,系统工作效率明显提升。这种结构大多用于大中型计算机系统。

三总线结构

 

  • 特征:

    将传输速度不同的I/O设备进行分类,并将其连接到不同的通道上,主存总线用于主存与CPU的信息传输,I/O总线用于I/O设备与CPU的信息传输,DMA总线用于高速I/O设备(磁盘、磁带等)与主存间的信息传输。

  • 优点:

    计算机系统工作效率得到提高、

  • 缺点:

    某一时刻只能使用一种总线,主存总线和DMA总线不能同时对主存进行读取;I/O总线只有在CPU执行I/O指令时才能用到。

三总线结构的又一形式

 

  • 特征

    局部总线将CPU与Cache或与更多的局部设备连接。

    Cache的控制结构不仅将Cache连接到局部总线上,而且还直接连到系统总线上,这样Cache就可通过系统总线与主存直接传输信息。

    I/O设备与主存之间的信息传输也不必经过CPU。

    扩展总线将局域网和小型计算机接口(SCSI)、调制解调器(Modem)以及串行接口都连接起来,并且通过这些接口又可与各类I/O设备相连,因此它可支持相当多的I/O设备。

    与此同时,扩展总线又通过扩展总线接口与系统总线相连,由此便可实现这两种总线之间的信息传输。

  • 优点:

    系统的工作效率明显提高。

四总线结构

 

  • 特征:

    增加了一条高速总线,高速总线上挂接了一些高速I/O设备,如高速局域网、图形工作站、多媒体、SCSI等,它们通过Cache控制结构中的高速总线桥或高速缓冲器与系统总线和局部总线相连,使得这些高速设备与CPU更密切。

而一些较低速度的设备如图文传真FAX、调制解调器(Modem)、串行接口仍然挂在扩展总线上,并由扩展总线接口与高速总线相连。

  • 优点:

    这种结构对于高速设备而言,其自身的工作可以很少依赖CPU,同时它们又比扩展总线上的设备更贴近CPU,对于高性能设备和CPU来说,各自的效率得到很大提高。

总线结构举例

  传统微型机总线结构

 

  • 特征:

    不论是高速局域网、高性能图形还是低速的FAX、Modem都挂载在ISA或EISA总线上。并通过ISA或EISA总线控制器与系统总线相连。

  • 缺点

    会出现总线数据传输的瓶颈。

  为了改变总线结构来提高数据传输速率,需将高速、高性能的外设(如高速局域网、高性能图形卡)尽量靠近CPU本身的总线,博并与CPU同步或准同步。出现了VL-BUS局部总线结构。

  VL-BUS局部总线结构

 

  • 特征:

    将高速、高性能的高速局域网卡、多媒体卡、高性能图形卡从ISA总线上卸下来,挂载到VL-BUS总线上。

    局部总线 VL-BUS 就相当于在CPU与高速I/O设备之间架设了高速通道,使CPU与高性能外设的功能得到充分发挥。

  PCI 总线结构

 

  • 特征

    PCI总线通过PCI桥(包括PCI控制器和PCI加速器)与CPU总线相连。并将数据传输效率高的设备挂载在PCI总线上,如多媒体卡、高速局域网适配器、高性能图形卡等。

    低速的设备仍然挂在ISA或EISA总线上,如FAX、Modem、打印机等。

  • 优点

    使CPU总线与CPI总线相互隔离,具有更高的灵活性,可以支持更多的高速设备。

  多层 PCI 总线结构

  当PCI总线驱动能力不足时,可采用多层结构。

☆ 系统总线的裁决(仲裁)

总线裁决(仲裁)概念

  总线上所连接的各类设备(部件,CPU、I/O设备,内存等),按其对总线有无控制功能可分为主设备从设备。

  主设备是指获得总线控制权的设备,它对总线有控制权;

  从设备是指被主设备访问的设备,它对总线没有控制权,只能响应从主设备发来的总线命令。

  总线上信息的传输是由主设备启动的,如某个主设备要与另一个设备(从设备)进行通信时,首先由主设备发出总线请求信号,若多个主设备同时要使用总线时,为保证在同一时间内只有一个设备获得总线使用权,需要设置总线判优控制机构

  总线判优控制机构按照申请者的优先权,决定哪个总线主控设备将在下次得到总线使用权的过程称为总线裁决(仲裁)

  只有获得了总线使用权的设备或部件,才能开始数据传送。

总线裁决的策略

  • 总线主设备需要使用总线,首先必须向总线裁决电路提交使用总线的请求。
  • 发出请求的主设备只有在得到应答信号以后,才能够使用总线。

    总线裁决方式可以分为集中式裁决分布式裁决两种。

集中式裁决方式

  集中式裁决方式是将控制逻辑做在一个专门的总线控制器或总线裁决器中,将所有的总线请求集中起来,利用一个特定的裁决算法进行裁决

  集中裁决方式有三种:链式查询方式、计数器定时查询方式和独立请求方式。

  (1)链式查询方式

  链式查询方式也称菊花链方式,如图所示。设备的优先级由主设备在总线上的位置来决定,离总线控制器最近的设备具有最高的优先级,要求拥有总线使用权的高优先级设备简单地拦截总线允许信号,不让更低级的设备收到该信号。

  • 优点:链式查询方式控制结构较简单,只用很少几根线就能按一定的优先次序实现总线控制,扩充设备数量容易。
  • 缺点:离总线控制器远的设备有时会长时间得不到总线使用权,且对设备故障十分敏感,一个设备的故障会影响到后面设备的操作。

  (2)计数器定时查询方式

    此方案比菊花链查询方式多了一组设备计数线,少了一根总线允许线 BG,如图所示。

    总线请求的设备号与计数值一致时,该设备便获得总线使用权,此时终止计数查询,同时该设备建立总线忙 BS 信号。

 

    设备的优先级通过设置不同的计数初始值来改变:

    计数总是从 0 开始,此时设备的优先次序是固定的。

    计数的初值总是上次得到控制权设备的设备号,那么所有设备的优先级是相等的,是循环优先级方式。

    • 优点:计数器定时查询方式具有灵活的优先级,它对电路故障也不如菊花链查询那样敏感。
    • 缺点:这种方式增加了一组设备计数线,每个设备要对设备线的信号进行译码处理,因而控制也变复杂了,而且需要额外的计数线路。

  (3)独立请求方式

  每个设备都有一对总线请求线 BRi 和总线允许线 BGi,如图所示。

  这种方案使用一个中心裁决器从请求总线的一组设备中选择一个。总线控制器可以给各个请求线一个固定的优先级,也可以设置可编程的优先级。裁决算法由硬件来实现,可采用固定的并行判优算法、平等的循环菊花链算法、动态优先级算法(如最近最少用算法、先来先服务算法)等。

  • 优点:响应速度快,总线允许信号 BG 直接从控制器发送到有关设备,不必在设备间传递或者查询,而且对优先级的控制十分灵活。
  • 缺点:控制逻辑很复杂,控制线数量多。设备的数量受到请求信号线和应答线数量的限制。

分布仲裁方式

  分布式仲裁是每个潜在的主模块都有自己的仲裁号和仲裁器,不需要中央仲裁器。当它们有总线请求时,把它们唯一的仲裁号发到共享的仲裁总线上,以优先级策略为基础,获胜者的仲裁号保留在仲裁线上。如图所示。

  分布式的裁决方式,没有专门的总线控制器,其控制逻辑分散在各个部件或设备中。

 

 

 

 


☆ 系统总线通信控制

总线传输过程

  通常将完成一次总线操作的时间称为总线周期,可分为以下 4 个阶段:

    ① 申请分配阶段。由需要使用总线的主设备(主模块)向总线仲裁机构提出总线使用申请,总线仲裁机构决定下一传输周期的总线使用权并将其授予某一申请者。

    ② 寻址阶段。取得了总线使用权的主设备(主模块)发出本次要访问的从设备(或从模块)的地址及有关命令,该从设备(模块)被选中并启动。

    ③ 数据传送阶段。主模块和从模块间使用数据总线进行双(单)向数据传送。

    ④ 结束阶段。主、从设备均撤出总线,让出总线使用权。

  总线通信控制方式通常有同步通信、异步通信、半同步通信和分离式通信四种。

(1)同步通信方式(由统一时标控制数据传送)

  总线上的部件通过总线进行信息传送时,用一个由CPU 的总线控制部件发出的公共的时钟信号进行同步,这种方式称为同步通信。

  时钟信号通常由CPU的总线控制器发出,送到总线上的所有部件;也可以由每个部件各自的时序发生器发出,但必须由总线控制器发出的时钟信号对它们进行同步。

  由于采用统一的时钟,每个部件或设备发送信息或接收信息都在固定的总线传送周期中,一个总线传送周期结束,开始下一个总线传送周期。

  • 优点:具有较高的数据传输速率,总线控制逻辑也比较简单;同步通信适用于总线长度短、各部件存取时间比较接近的情况。
  • 缺点:主、从设备时间配合属于强制性“同步”,不能及时进行数据通信的有效性检验。

(2)异步通信方式(采用应答方式,没有公共时钟标准)

在异步通信方式中利用数据发送部件和数据接收部件之间的相互“握手”信号(应答方式)来实现数据传送,即当主设备发出请求信号时,一直等到从从设备反馈回来的响应信号后才开始通信,所以主、从设备之间增加两条应答线。

异步通信的应答方式又分为以下三种类型:

☆ 不互锁方式。主设备发请求后,间隔固定时间,认为从设备已经收到,不必等待接到从设备的回答信号而可撤销其请求信号;从设备发回答后,间隔固定时间,认为主设备也收到回答信号,便自动撤销回答信号。如图 9.8(a)所示。

☆ 半互锁方式。主设备发请求后,等待从设备的回答,必须在接到从设备的回答信号后才撤销其请求信号;从设备发回答后,则不必获知主设备的请求信号已经撤销,而是隔一段时间后自动撤销其回答信号。如图 9.8(b)所示。

☆ 全互锁方式。主从设备相互等待,即主设备发出请求信号后,必须等待从设备回答后再撤销其请求信号,从设备发出回答信号,必须待获知主设备请求信号已撤销后,再撤销其回答信号。双方存在互锁关系。如图 9.8(c)所示。

异步通信方式的优缺点如下。

☆ 优点:便于实现不同传输速率部件之间的数据传送,而且对总线长度也没有严格要求,还能实现数据的有效性检验。

☆ 缺点:速度一般不如同步通信方式高,而且总线控制逻辑也相对复杂一些。

(3)半同步通信方式(同步、异步结合)

半同步通信方式既保留了同步通信的基本特点,如所有的地址、命令、数据信号的发出时间,都严格参照系统时钟的某个前沿开始,而接收方都采用系统时钟后沿时刻来进行判断识别;同时又像异步通信那样,允许不同速度的设备和谐地工作。为此增设一条等待响应信号线,采用插入时钟(等待)周期的措施来协调通信双方的配合问题。

半同步通信方式的优缺点如下。

☆ 优点:比异步通信简单,在全系统内各模块又在统一的系统时钟控制下同步工作,可靠性较高。

☆ 缺点:从整体上看,系统工作的速度还不是很高。

(4)分离式通信方式(充分挖掘系统总线每个瞬间的潜力)

其基本思想是将一个传输周期(或总线周期)分解为两个子周期。

在第一个子周期中,主模块 A 在获得总线使用权后将命令、地址以及其他有关信息,包括主模块编号(当有多个主模块时,此编号尤为重要)发到系统总线上,经过总线传输后,由有关的从模块 B 接收下来。主模块 A 向系统总线发布这些信息只占用总线很短的时间,一旦发送完成,立即放弃总线使用权,以便其他模块使用。在第二个子周期中,当 B 模块接收到 A 模块发来的有关命令信号后,经过选择、译码、读取等一系列内部操作,将 A 模块所需的数据准备好,便由 B 模块申请总线使用权,一旦获准,B 模块便将 A 模块的编号、B 模块的地址、A 模块所需的数据等一系列信息送到总线上,供 A 模块接收。很显然,上述两个子周期都只有单方向的信息流,每个模块都变成了主模块。

 

posted on 2019-06-27 23:44  Victory_LuYun  阅读(4070)  评论(0编辑  收藏  举报

导航