2* 第3章 系统总线

第2篇 计算机系统的硬件结构

计算机硬件系统由中央处理器、存储器、I/O系统以及连接它们的系统总线组成。本篇介绍系统总线、存储器和I/O系统三部分,中央处理器将在第3篇单独讲述。


第3章系统总线

本章着重介绍系统总线的基本概念及其分类、结构和总线控制逻辑。要求读者能对系统总线在计算机硬件结构中的地位和作用有所了解。

3.1总线的基本概念

计算机系统的五大部件之间的互连方式有两种,一种是各部件之间使用单独的连线,称为分散连接;另一种是将各部件连到一组公共信息传输线上,称为总线连接。

早期的计算机大多数用分散连接方式,如图1.7所示。它是以运算器为中心的结构,其内部连线十分复杂,尤其是当I/O与存储器交换信息时,都需经过运算器,致使运算器停止运算,严重影响了CPU的工作效率。后来,虽然改进为以存储器为中心的如图1.8所示的分散连接结构,I/O与主存交换信息可以不经过运算器,又采用了中断、DMA等技术,使CPU工作效率得到很大的提高,但是仍无法解决I/O设备与主机之间连接的灵活性。随着计算机应用领域的不断扩大,I/O设备的种类和数量也越来越多,人们希望随时增添或减撤设备,用分散连接方式简直是一筹莫展,由此出现了总线连接方式。

总线是连接多个部件的信息传输线,是各部件共享的传输介质。当多个部件与总线相连时,如果出现两个或两个以上部件同时向总线发送信息,势必导致信号冲突,传输无效。因此,在某一时刻,只允许有一个部件向总线发送信息,而多个部件可以同时从总线上接收相同的信息。总线实际上是由许多传输线或通路组成,每条线可一位一位地传输二进制代码,一串二进制代码可在一段时间内逐一传输完成。若干条传输线可以同时传输若干位二进制代码,例如,16条传输线组成的总线可同时传输16位二进制代码。

采用总线连接的计算机结构,如图3.1所示,它是以CPU为中心的双总线结构。

其中一组总线连接CPU和主存,称为存储总线(M总线);另一组用来建立CPU和各I/O设备之间交换信息的通道,称为输入/输出总线(I/O总线)。各种I/O设备通过I/O接口挂到1/O总线上,更便于增删设备。这种结构在I/O设备与主存交换信息时仍然要占用CPU,因此还会影响CPU的工作效率。

倘若将CPU、主存和I/O设备(通过I/O接口)都挂到一组总线上,便形成单总线结构的计算机,如图3.2所示。

图3.2与图3.1相比,最明显的特点是当I//O设备与主存交换信息时,原则上不影响CPU

的工作,CPU仍可继续处理不访问主存或I/O设备的操作,这就使CPU工作效率有所提高。但是,因只有一组总线,当某一时刻各部件都要占用总线时,就会发生冲突。为此,必须设置总线判优逻辑,让各部件按优先级高低来占用总线,这也会影响整机的工作速度。PDP-11和国产DJS183机均采用这种结构。

还有一种以存储器为中心的双总线结构,如图3.3所示。

它是在单总线基础上又开辟出的一条CPU与主存之间的总线,称为存储总线。这组总线速度高,只供主存与CPU之间传输信息。这样既提高了传输效率,又减轻了系统总线的负担,还保留了I/O设备与存储器交换信息时不经过CPU的特点。国产DJS184机采用这种结构。

现代计算机大多数采用各类总线结构。

3.2总线的分类

总线的应用很广泛,从不同角度可以有不同的分类方法。按数据传送方式可分为并行传输总线和串行传输总线。在并行传输总线中,又可按传输数据宽度分为8位、16位、32位、64位等传输总线。若按总线的使用范围划分,则又有计算机(包括外设)总线、测控总线、网络通信总线等。下面按连接部件不同,介绍三类总线。

3.2.1片内总线

片内总线是指芯片内部的总线,如在CPU芯片内部,寄存器与寄存器之间、寄存器与算逻单元ALU之间都由片内总线连接。

3.2.2系统总线

系统总线是指CPU、主存、I/O设备(通过I/O接口)各大部件之间的信息传输线。由于这些部件通常都安放在主板或各个插件板(插卡)上,故又称板级总线(在一块电路板上各芯片间的连线)或板间总线。

按系统总线传输信息的不同,又可分为三类:数据总线、地址总线和控制总线。

1.数据总线

数据总线用来传输各功能部件之间的数据信息,它是双向传输总线,其位数与机器字长、存储字长有关,一般为8位、16位或32位。数据总线的位数称为数据总线宽度,它是衡量系统性能的一个重要参数。如果数据总线的宽度为8位,指令字长为16位,那么,CPU在取指阶段必须两次访问主存

2.地址总线

地址总线主要用来指出数据总线上的源数据或目的数据在主存单元的地址或I/O设备的地址。例如,欲从存储器读出一个数据,则CPU要将此数据所在存储单元的地址送到地址线上。

又如,欲将某数据经I/O设备输出,则CPU除了需将数据送到数据总线外,还需将该输出设备的地址(通常都经1/O接口)送到地址总线上。可见,地址总线上的代码是用来指明CPU欲访问的存储单元或1/O端口的地址,由CPU输出,单向传输。地址线的位数与存储单元的个数有关,如地址线为20根,则对应的存储单元个数为。

3.控制总线

由于数据总线、地址总线都是被挂在总线上的所有部件共享的,如何使各部件能在不同时刻占有总线使用权,需依靠控制总线来完成,因此控制总线是用来发出各种控制信号的传输线。通常对任一控制线而言,它的传输是单向的。例如,存储器读/写命令或I/O设备读/写命令都是由CPU发出的。但对于控制总线总体来说,又可认为是双向的。例如,当某设备准备就绪时,便向CPU发中断请求;当某部件(如DMA接口)需获得总线使用权时,也向CPU发出总线请求。此外,控制总线还起到监视各部件状态的作用。例如,查询该设备是处于“忙”还是“闲”,是否出错等。因此对CPU而言,控制信号既有输出,又有输入。

常见的控制信号如下。

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

·复位:初始化所有部件。

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

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

·中断请求:表示某部件提出中断请求。·中断响应:表示中断请求已被接收。

·存储器写:将数据总线上的数据写至存储器的指定地址单元内。

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

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

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

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

3.2.3通信总线

这类总线用于计算机系统之间或计算机系统与其他系统(如控制仪表、移动通信等)之间的通信。由于这类联系涉及许多方面,如外部连接、距离远近、速度快慢、工作方式等,差别极大,因此通信总线的类别很多。但按传输方式可分为两种:串行通信和并行通信。

串行通信是指数据在单条1位宽的传输线上,一位一位地按顺序分时传送。如1字节的数据,在串行传送中,1字节的数据要通过一条传输线分8次由低位到高位按顺序逐位传送。

并行通信是指数据在多条并行1位宽的传输线上,同时由源传送到目的地。如1字节的数据,在并行传送中,要通过8条并行传输线同时由源传送到目的地。

并行通信适宜于近距离的数据传输,通常小于30m;串行通信适宜于远距离传送,可以从几米达数千公里。而且,串行和并行通信的数据传送速率都与距离成反比。在短距离内,并行数据传送速率比申行数据传送速率高得多。随着大规模和超大规模集成电路的发展,逻辑器件的价格趋低,而通信线路费用趋高,因此对远距离通信而言,采用串行通信费用远比并行通信费用低得多。此外串行通信还可利用现有的电话网络来实现远程通信,降低了通信费用。

3.3总线特性及性能指标

3.3.1总线特性

从物理角度来看,总线由许多导线直接印制在电路板上,延伸到各个部件。图3.4形象地表示了各个部件与总线之间的物理摆放位置。

图中CPU、主存、I/O这些插板(又称插卡)通过插头与水平方向总线插槽(按总线标准用印刷电路板或一束电缆连接而成的多头插座)连接。为了保证机械上的可靠连接,必须规定其机械特性;为了确保电气上正确连接,必须规定其电气特性;为保证正确地连接不同部件,还需规定其功能特性和时间特性。随着计算机的发展,PentiumⅢ以上的微型计算机已将CPU芯片直接安置在主板上,而且很多插卡已做成专用芯片,减少了插槽,使其结构更合理。

总线特性包括以下几项。

(1)机械特性

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

(2)电气特性

电气特性是指总线的每一根传输线上信号的传递方向和有效的电平范围。通常规定由CPU发出的信号称为输出信号,送入CPU的信号称为输入信号。例如,地址总线属于单向输出线,数据总线属于双向传输线,它们都定义为高电平为“1”,低电平为“0”。控制总线的每一根都是单向的,但从整体看,有输入,也有输出。有的定义为高电平有效,也有的定义为低电平有效,必须注意不同的规格。大多数总线的电平定义与TTL是相符的,也有例外,如RS-232C(串行总线接口标准),其电气特性规定低电平表示逻辑“1”,并要求电平低于-3V;用高电平表示逻辑“0”,还要求高电平需高于+3V,额定信号电平为-10V和+10V左右。

(3)功能特性

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

(4)时间特性

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

3.3.2总线性能指标

总线性能指标如下。

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

②总线带宽:总线带宽可理解为总线的数据传输速率,即单位时间内总线上传输数据的位数,通常用每秒传输信息的字节数来衡量,单位可用MBps(兆字节每秒)表示。例如,总线工作频率为33MHz,总线宽度为32位(4B),则总线带宽为33x(32÷8)=132MBps。

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

④总线复用:一条信号线上分时传送两种信号。例如,通常地址总线与数据总线在物理上是分开的两种总线,地址总线传输地址码,数据总线传输数据信息。为了提高总线的利用率,优化设计,特将地址总线和数据总线共用一组物理线路,在这组物理线路上分时传输地址信号和数据信号,即为总线的多路复用。

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

⑥总线控制方式:包括突发工作、自动配置、仲裁方式、逻辑方式、计数方式等。

⑦其他指标:如负载能力、电源电压(是采用5V还是3.3V)、总线宽度能否扩展等。总线的负载能力即驱动能力,是指当总线接上负载后,总线输入输出的逻辑电平是否能保持在正常的额定范围内。例如,PC总线的输出信号为低电平时,要吸入电流,这时的负载能力即指当它吸收电流时,仍能保持额定的逻辑低电平。总线输出为高电平时,要输出电流,这时的负载能力是指当它向负载输出电流时,仍能保持额定的逻辑高电平。由于不同的电路对总线的负载是不同的,即使同一电路板在不同的工作频率下,总线的负载也是不同的,因此,总线负载能力的指标不是太严格的。通常用可连接扩增电路板数来反映总线的负载能力

表3.1列出了几种流行的微机总线性能,可供参考。

3.3.3总线标准

总线是在计算机系统模块化的发展过程中产生的,随着计算机应用领域的不断扩大,计算机系统中各类模块(特别是I/O设备所带的各类接口模块)品种极其繁杂,往往一种模块要配一种总线,很难在总线上更换、组舍各类模块或设备。20世纪70年代末,为了使系统设计简化,模块生产批量化,确保其性能稳定,质量可靠,实现可移化,便于维护等,人们开始研究如何使总线建立标准,在总线的统一标准下,完成系统设计,模块制作。这样,系统、模块、设备与总线之间不适应、不通用及不匹配的问题就迎刃而解了。

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

采用总线标准可以为计算机接口的软硬件设计提供方便。对硬件设计而言,使各个模块的接口芯片设计相对独立;对软件设计而言,更有利于接口软件的模块化设计。

目前流行的总线标准有以下几种。

1.ISA总线

ISA(Industrial Standard Architecture)总线是IBM为了采用全16位的CPU而推出的,又称AT总线,它使用独立于CPU的总线时钟,因此CPU可以采用比总线频率更高的时钟,有利于CPU性能的提高。由于ISA总线没有支持总线仲裁的硬件逻辑,因此它不能支持多台主设备(不支持多台具有申请总线控制权的设备)系统,而且ISA上的所有数据的传送必须通过CPU或DMA(直接存储器存取)接口来管理,因此使CPU花费了大量时间来控制与外部设备交换数据。ISA总线时钟频率为8MHz,最大传输率为16MBps,数据线为16位,地址线为24位。

2.EISA总线

EISA(Extended Industrial Standard Architecture)是一种在ISA基础上扩充开放的总线标准,与ISA可以完全兼容,从CPU中分离出了总线控制权,是一种具有智能化的总线,能支持多个总线主控器和突发方式(总线上可进行成块的数据传送)的传输。EISA总线的时钟频率为8MHz,最大传输率可达33MBps,数据总线为32位,地址总线为32位,扩充DMA访问范围达2^{32}。

3.VESA(VL-BUS)总线

VESA总线是由VESA(Video Electronic Standard Association,视频电子标准协会)提出的局部总线标准,又称为VL-BUS(Local BUS)总线。所谓局部总线,是指在系统外为两个以上模块提供的高速传输信息通道。VL-BUS是由CPU总线演化而来的,采用CPU的时钟频率达33MHz、数据线为32位,可通过扩展槽扩展到64位,配有局部控制器,最大传输率达133MBps。通过局部总线控制器,将高速I/O设备直接挂在CPU上,实现CPU与高速I/O设备之间的高速数据交换(参见图3.12)。

4.PCI总线

随着图形用户接口(Graphical User Interface,GUI)和多媒体技术在PC系统中的广泛应用,ISA总线和EISA总线由于受带宽的限制,已不能适应系统工作的要求,成为整个系统的主要瓶颈。因此对总线提出了更高的性能要求,促使总线技术进一步发展。

1991年下半年,Intel公司首先提出PCI(Peripheral Component Interconnect,外围部件互连)总线的概念,并联合IBM、COMPAQ、APPLE、DEC、AST、HP等计算机业界大户,成立了PCI集团PCISIG(PCI Special Interest Group,PCI专门权益组织),于1992年6月22日推出了PCI1.0版,

1995年和1999年又先后推出了2.1版和2.2版,PCI总线已成为现代计算机中最常用的总线之一,它的主要特点如下所述。

①高性能。PC1总线是一种不依附于某个具体处理器的局部总线。它为系统提供了一个高速的数据传输通道,与CPU时钟频率无关,自身采用33MHz和66MHz的总线时钟,数据线为32位,可扩展到64位,传输速率从132MBps(33MHz时钟,32位数据通路)可升级到528MBps(66MHz时钟,64位数据通路)。它支持突发工作方式,这种方式是指若被传送的数据在主存中连续存放,则在访问此组数据时,只需给出第一个数据的地址,占用一个时钟周期,其后每个数据的传送各占一个时钟周期,不必每次给出各个数据的地址,因此可提高传输速率。

②良好的兼容性。PCI总线部件和插件接口相对于处理器是独立的,它支持所有的目前和将来不同结构的处理器,因此具有相对长的生命周期。PCI总线与ISA、EISA总线均可兼容,可以转换为标准的ISA、EISA。

③支持即插即用(Plug and Play),即任何扩展卡只要插入系统便可工作。PCI设备中配有存放设备具体信息的寄存器,这些信息可供BIOS(基本输入输出系统)和操作系统层的软件自动配置PCI总线部件和插件,使系统使用方便,无须进行复杂的手动配置。

④支持多主设备能力。主设备即对总线有控制权的设备,PCI支持多主设备,即允许任何主设备和从设备(对总线没有控制权的设备)之间实现点到点对等存取,体现了接纳设备的高度灵活性。

⑤具有与处理器和存储器子系统完全并行操作的能力。PCI总线可视为CPU与外设之间的一个中间层,它通过PCI桥路(PCI控制器)与CPU相连。PCI桥路有多级缓冲,可把一批数据快速写入缓冲器中,在这些数据不断写入PCI设备过程中,可真正实现与处理器/存储器子系统的安全并发工作。

⑥提供数据和地址奇偶校验功能,保证了数据的完整和准确。

⑦支持两种电压标准:5V和3.3V。3.3~5V的组件技术可以使电压平滑过渡。3.3V电压的PCI总线可用于便携式微型计算机中。

⑧可扩充性好。当PCI总线驱动能力不足时,可以采用多层结构(参见图3.l4)。

⑨软件兼容性好。PCI部件可以完全兼容现有的驱动程序和应用程序。设备驱动程序可被移植到各类平台上。

⑩采用多路复用技术,减少了总线引脚个数。

上述各类总线的实例将在3.4.3节中介绍。

随着网络的高速发展以及其他周边设备的技术革新,诸如千兆网卡之类的设备对PCI总线提出了更高要求。Intel公司近年来又推出了PCI-Express总线,它采用了类似网络传输TCP/IP协议的分层结构和数据帧逐层传递的模式。有关这方面的内容,读者可进一步查找相关资料。

5.AGP总线

随着多媒体计算机的普及,对三维技术的应用也越来越广。处理三维数据不仅要求有惊人的数据量,而且要求有更宽广的数据传输带宽。例如,对640×480像素的分辨率而言,以每秒75次画面更新率计算,要求全部的数据带宽达370MBps;若分辨率提高到800×600像素时,总带宽高达580MBps。因此PCI总线成为传输瓶颈。为了解决此问题,Intel于1996年7月又推出了AGP(Accelerated Graphics Port,加速图形端口),这是显示卡专用的局部总线,基于PCI2.1版规范并进行扩充修改而成,它采用点对点通道方式,以66.7MHz的频率直接与主存联系,以主存作为帧缓冲器,实现了高速存取。最大数据传输率(数据宽度为32位)为266MBps,是传统PCI总线带宽的2倍。AGP还定义了一种“双激励”(Double Pumping)的传输技术,能在一个时钟的上、下沿双向传递数据,这样,AGP实现的传输频率为66.7MHz×2,即133MHz,最大数据传输率可增为533MBp6。后来又依次推出了AGP2X,AGP4X,AGP8X多个版本,数据传输速率可达2.1GBps。

6.RS-232C总线

RS-232C(RS即Recommended Standard的缩写,232为标识号,C表示修改次数)是由美国电子工业协会EIA(Electronic Industries Association)推荐的一种串行通信总线标准,它是应用于串行二进制交换的数据终端设备(DTE)和数据通信设备(DCE)之间的标准接口,如图3.5所示。

在图3.5中,DTE(Data Terminal Equipment)是数据终端设备,它是产生二进制信号的数据源,也是接收信息的目的地,是由数据发生器或接收器或兼具两者组成的设备,它可以是一台计算机。DCE(Data Communication Equipment)是数据通信设备,它实质是一个信号的匹配器,既能满足DTE的要求,又能使传输信号符合线路要求。它具有提供数据终端设备与通信线路之间通信的建立、维持和终止连接等功能,同时还执行信号变换与编码。它可以是一个Modem(调制解调器)。DTE与DCE之间传输的是“0”或“1”的数据,通过RS-232C接口规定的各种控制信号,可实现两者之间的协调配合。

众所周知,计算机之间通信传送的是数字信号,它要求传送的频带很宽,而计算机远程通信通常是通过载波电话传送的,不可能有这样宽的频带。如果数字信号直接进行通信,经过传输线后,必然会产生畸变。因此在发送端必须通过调制器将数字信号转换成模拟信号,即对载波电话线上载波进行调制;而在接收端又必须用解调器检出从发送端来的模拟信号,并恢复为原来的数字信号。

值得注意的是:RS-232C规定的逻辑电平与计算机系统中TTL和MOS电平不一样。在计算机系统中,以+5V代表逻辑“1”,接地电压代表逻辑“0”。而RS232C的电气特征规定低电平表示逻辑“1”,并要求低电平为-15~-3V;用高电平表示逻辑“0”,并要求高电平为+3~+15V,因此使用RS-232C时,必须实现两种电平的转换。

随着计算机网络的发展,现代计算机之间的远距离通信可直接由网卡经网线(8根,双绞线)传输。

7.USB总线

USB(Universal Serial Bus)通用串行总线是Compaq、DEC、IBM、Intel、Microsoft、NEC(日本)和Northern Telecom(加拿大)等七大公司于1994年11月联合开发的计算机串行接口总线标准,1996年1月颁布了USB1.0版本。它基于通用连接技术,实现外设的简单快速连接,达到方便用户、降低成本、扩展PC接连外设范围的目的。用户可以将几乎所有的外设装置,包括显示器、键盘、鼠标、打印机、扫描仪、数码相机、U盘、调制解调器等直接插入标准USB插口。还可以将一些USB外设进行串接,使一大串设备共用PC上的端口。它的主要特点是:

①具有真正的即插即用特征。用户可以在不关机的情况下很方便地对外设实行安装和拆卸,主机可按外设的增删情况自动配置系统资源,外设装置驱动程序的安装、删除均自动实现。

②具有很强的连接能力。使用USB.HUB(USB集线器)实现系统扩展,最多可链式连接127个外设到同一系统。图3.6是典型的USB系统拓扑结构。标准USB电缆长度为3m,低速传输方式时可为5m,通过HUB或中继器可使传输距离达30m。

③数据传输率(USB1.0版)有两种,即采用普通无屏蔽双绞线,速度可达1.5Mbps,若用带屏蔽的双绞线,速度可达12Mbps。USB2.0版的数据传输率最高可达480Mbps。

④标准统一。USB的引入减轻了对目前PC中所有标准接口的需求,如串口的鼠标、键盘,并口的打印机、扫描仪,IDE接口的硬盘,都可以改成以统一的USB标准接入系统,从而减少了对PC插槽的需求,节省空间。

⑤连接电缆轻巧,电源体积缩小。USB使用的4芯电缆2条用于信号连接,2条用于电源/地,可为外设提供+5V的直流电源,方便用户。

⑥生命力强。USB是一种开放性的不具有专利版权的工业标准,它是由一个标准化组织“USB实施者论坛”(该组织由150多家企业组成)制定出来的,因此不存在专利版权问题,USB规范具有强大的生命力。

3.4总线结构

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

3.4.1单总线结构

图3.2是单总线结构的示意,它是将CPU、主存、I/O设备(通过I/0接口)都挂在一组总线上,允许I/O设备之间、I/O设备与CPU之间或I/O设备与主存之间直接交换信息。这种结构简单,也便于扩充,但所有的传送都通过这组共享总线,因此极易形成计算机系统的瓶颈。它也不允许两个以上的部件在同一时刻向总线传输信息,这就必然会影响系统工作效率的提高。这类总线多数被小型计算机或微型计算机所采用。

随着计算机应用范围不断扩大,其外部设备的种类和数量越来越多,它们对数据传输数量和传输速度的要求也就越来越高。倘若仍然采用单总线结构,那么,当I/O设备量很大时,总线发出的控制信号从一端逐个顺序地传递到第n个设备,其传播的延迟时间就会严重地影响系统的工作效率。在数据传输需求量和传输速度要求不太高的情况下,为克服总线瓶颈问题,尽可能采用增加总线宽度和提高传输速率来解决;但当总线上的设备,如高速视频显示器、网络传输接口等,其数据量很大和传输速度要求相当高的时候,单总线结构则不能满足系统工作的需要。因此,为了根本解决数据传输速率,解决CPU、主存与I/O设备之间传输速率的不匹配,实现CPU与其他设备相对同步,不得不采用多总线结构。

3.4.2多总线结构

图3.7是双总线结构的示意图。

双总线结构的特点是将速度较低的I/O设备从单总线上分离出来,形成主存总线与I/O总线分开的结构。图中通道是一个具有特殊功能的处理器,CPU将一部分功能下放给通道,使其对I/O设备具有统一管理的功能,以完成外部设备与主存储器之间的数据传送,其系统的吞吐能力可以相当大。这种结构大多用于大、中型计算机系统。

如果将速率不同的I/O设备进行分类,然后将它们连接在不同的通道上,那么计算机系统的工作效率将会更高,由此发展成多总线结构。

图3.8是三总线结构的示意图。

图3.8中主存总线用于CPU与主存之间的传输;I/O.总线供CPU与各类I/O设备之间传递信息;DMA总线用于高速I/O设备(磁盘、磁带等)与主存之间直接交换信息。在三总线结构中,任一时刻只能使用一种总线。主存总线与DMA总线不能同时对主存进行存取,I/O总线只有在CPU执行I/O指令时才能用到。

图3.9是另一种三总线结构的示意图。

由图可见,处理器与Cache(详见4.3节)之间有一条局部总线,它将CPU与Cache或与更多的局部设备连接。Cache的控制机构不仅将Cache连到局部总线上,而且还直接连到系统总线上,这样Cache就可通过系统总线与主存传输信息,而且I/O设备与主存之间的传输也不必通过CPU。还有一条扩展总线,它将局域网、小型计算机接口(SCSI)、调制解调器(Modem)以及串行

接口等都连接起来,并且通过这些接口又可与各类I/O设备相连,因此它可支持相当多的I/O设备。与此同时,扩展总线又通过扩展总线接口与系统总线相连,由此便可实现这两种总线之间的信息传递,可见其系统的工作效率明显提高。

为了进一步提高I/O设备的性能,使其更快地响应命令,又出现了四总线结构,如图3.10所示。

在这里又增加了一条与计算机系统紧密相连的高速总线。在高速总线上挂接了一些高速I/O设备,如高速局域网、图形工作站、多媒体、SCSI等。它们通过Cache控制机构中的高速总线桥或高速缓冲器与系统总线和局部总线相连,使得这些高速设备与CPU更密切。而一些较低速的设备如图文传真FAX、调制解调器及串行接口仍然挂在扩展总线上,并由扩展总线接口与高速总线相连。

这种结构对高速设备而言,其自身的工作可以很少依赖CPU,同时它们又比扩展总线上的设备更贴近CPU,可见对于高性能设备与CPU来说,各自的效率将获得更大的提高。在这种结构中,CPU、高速总线的速度以及各自信号线的定义完全可以不同,以至各自改变其结构也不会影响高速总线的正常工作,反之亦然。

3.4.3总线结构举例

图3.11是传统微型计算机的总线结构示意图。

由图3.11中可见,不论高速局域网、高性能图形还是低速的FAX、Modem都挂接在ISA或EISA总线上,并通过ISA或EISA总线控制器与系统总线相连,这样势必出现总线数据传输的瓶颈。只有将高速、高性能的外设,如高速局域网卡、高性能图形卡等尽量靠近CPU本身的总线,并与CPU同步或准同步,才可能消除瓶颈问题。这就要求改变总线结构来提高数据传送速率,为此,出现了图3.12的VL-BUS局部总线结构。

由图3.12中可见,将原先挂在ISA总线上的高速局域网卡、多媒体卡、高性能图形卡等从ISA总线卸下来,挂到局部总线VL-BUS.上,再与系统总线相连。而将打印机、FAX、Modem等低速设备仍挂在ISA总线上。局部总线VL-BUS就相当于在CPU与高速VO设备之间架上了高速通道,使CPU与高性能外设得到充分发挥,满足了图形界面软件的要求。

由于VL-BUS是从CPU总线演化而来的,与CPU的关系太紧密(实际上这种总线与486配合最佳),以致很难支持功能更强的CPU,因此出现了PCI总线。

图3.13是PCI总线结构的示意图。

由图3.13中可见,PCI总线是通过PC1桥路(包括PCI控制器和PCI加速器)与CPU总线相连。这种结构使CPU总线与PCI总线互相隔离,具有更高的灵活性,可以支持更多的高速运行设备;而且具有即插即用的特性。当然,挂在PCI总线上的设备都要求数据传输速率高的设备,如多媒体卡、高速局域网适配器、高性能图形卡等,与高速CPU总线是相匹配的。至于低速的FAX、Modem、打印机仍然挂在ISA、EISA总线上。

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

3.5总线控制

由于总线上连接着多个部件,什么时候由哪个部件发送信息,如何给信息传送定时,如何防止信息丢失,如何避免多个部件同时发送,如何规定接收信息的部件等一系列问题都需要由总线控制器统一管理。它主要包括判优控制(或称仲裁逻辑)和通信控制。

3.5.1总线判优控制

总线上所连接的各类设备,按其对总线有无控制功能可分为主设备(模块)和从设备(模块)两种。主设备对总线有控制权,从设备只能响应从主设备发来的总线命令,对总线没有控制权。总线上信息的传送是由主设备启动的,如某个主设备欲与另一个设备(从设备)进行通信时,首先由主设备发出总线请求信号,若多个主设备同时要使用总线时,就由总线控制器的判优、仲裁逻辑按一定的优先等级顺序确定哪个主设备能使用总线。只有获得总线使用权的主设备才能开始传送数据。

总线判优控制可分集中式和分布式两种,前者将控制逻辑集中在一处(如在CPU中),后者将控制逻辑分散在与总线连接的各个部件或设备上。

常见的集中控制优先权仲裁方式有以下三种。

(1)链式查询

链式查询方式如图3.15(a)所示。图中控制总线中有3根线用于总线控制(BS总线忙、BR总线请求、BG总线同意),其中总线同意信号BG是串行地从一个I/O接口送到下一个I/O接口。如果BG到达的接口有总线请求,BG信号就不再往下传,意味着该接口获得了总线使用权,并建立总线忙BS信号,表示它占用了总线。可见在链式查询中,离总线控制部件最近的设备具有最高的优先级。这种方式的特点是:只需很少几根线就能按一定优先次序实现总线控制,并且很容易扩充设备,但对电路故障很敏感,且优先级别低的设备可能很难获得请求。

(2)计数器定时查询

计数器定时查询方式如图3.15(b)所示。与图3.15(a)相比,多了一组设备地址线,少了一根总线同意线BG。总线控制部件接到由BR送来的总线请求信号后,在总线未被使用(BS=Q)的情况下,总线控制部件中的计数器开始计数,并通过设备地址线,向各设备发出一组地址信号。当某个请求占用总线的设备地址与计数值一致时,便获得总线使用权,此时终止计数查询。这种方式的特点是:计数可以从“0”开始,此时一旦设备的优先次序被固定,设备的优先级就按0,1…,n的顺序降序排列,而且固定不变;计数也可以从上一次计数的终止点开始,即是一种循环方法,此时设备使用总线的优先级相等;计数器的初始值还可由程序设置,故优先次序可以改变。

这种方式对电路故障不如链式查询方式敏感,但增加了控制线(设备地址)数,控制也较复杂。

(3)独立请求方式

独立请求方式如图3.15(c)所示。由图中可见,每一台设备均有一对总线请求线BR,和总线同意线BG1。当设备要求使用总线时,便发出该设备的请求信号。总线控制部件中有一排队电路,可根据优先次序确定响应哪一台设备的请求。这种方式的特点是:响应速度快,优先次序控制灵活(通过程序改变),但控制线数量多,总线控制更复杂。链式查询中仅用两根线确定总线使用权属于哪个设备,在计数器查询中大致用根线,其中n是允许接纳的最大设备数,而独立请求方式需采用2n根线。

3.5.2总线通信控制

众多部件共享总线,在争夺总线使用权时,应按各部件的优先等级来解决。在通信时间土,则应按分时方式来处理,即以获得总线使用权的先后顺序分时占用总线,即哪一个部件获得使用权,此刻就由它传送,下一部件获得使用权,接着下一时刻传送。这样一个接一个轮流交替传送。

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

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

②寻址阶段:取得了使用权的主模块通过总线发出本次要访问的从模块(或从设备)的地址及有关命令,启动参与本次传输的从模块。

③传数阶段:主模块和从模块进行数据交换,数据由源模块发出,经数据总线流入目的模块。

④结束阶段:主模块的有关信息均从系统总线上撤除,让出总线使用权。

对于仅有一个主模块的简单系统,无须申请、分配和撤除,总线使用权始终归它占有。对于包含中断、DMA控制或多处理器的系统,还需要有其他管理机构来参与。

总线通信控制主要解决通信双方如何获知传输开始和传输结束,以及通信双方如何协调如何配合。通常用四种方式:同步通信、异步通信、半同步通信和分离式通信。

1.同步通信

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

图3.16表示某个输入设备向CPU传输数据的同步通信过程。

图中总线传输周期是连接在总线上的两个部件完成一次完整且可靠的信息传输时间,它包含4个时钟周期。

CPU在上升沿发出地址信息;在的上升沿发出读命令;与地址信号相符合的输入设备按命令进行一系列内部操作,且必须在的上升沿到来之前将CPU所需的数据送到数据总线上;CPU在时钟周期内,将数据线上的信息送到其内部寄存器中;CPU在的上升沿撤销读命令,输入设备不再向数据总线上传送数据,撤销它对数据总线的驱动。如果总线采用三态驱动电路,则从起,数据总线呈浮空状态。

同步通信在系统总线设计时,对;都有明确、惟一的规定。

对于读命令,其传输周期如下:

主模块发地址。

主模块发读命令。

 从模块提供数据。

 主模块撤销读命令,从模块撤销数据。

对于写命令,其传输周期如下:

主模块发地址。

 主模块提供数据。

主模块发出写命令,从模块接收到命令后,必须在规定时间内将数据总线上的数据写到地址总线所指明的单元中。

主模块撤销写命令和数据等信号。

写命令传输周期的时序如图3.17所示。

这种通信的优点规定明确、统一,模块间的配合简单一致。其缺点主、从模块时间配合属于强制性“同步”,必须在限定时间内完成规定的要求。并且对所有从模块都用同一限时,这就势必造成,对各不相同速度的部件而言,必须按最慢速度的部件来设计公共时钟,严重影响总线的工作效率,也给设计带来了局限性,缺乏灵活性

同步通信一般用于总线长度较短、各部件存取时间比较一致的场合

在同步通信的总线系统中,总线传输周期越短,数据线的位数越多,直接影响总线的数据传输率

例3.1 假设总线的时钟频率为100MHz,总线的传输周期为4个时钟周期,总线的宽度为32位,试求总线的数据传输率。若想提高一倍数据传输率,可采取什么措施?

解:根据总线时钟频率为100MHz,得

1个时钟周期为1/100MHz=0.01

总线传输周期为0.01×4=0.04

由于总线的宽度为32位=4B(字节)

故总线的数据传输率为4B/(0.04)=100MBps

若想提高一倍数据传输率,可以在不改变总线时钟频率的前提下,将数据线的宽度改为64位,也可以仍保持数据宽度为32位,但使总线的时钟频率增加到200MHz。

2.异步通信

异步通信克服了同步通信的缺点,允许各模块速度的不一致性,给设计者充分的灵活性和选择余地。它没有公共的时钟标准,不要求所有部件严格的统一操作时间,而是采用应答方式(又称握手方式),即当主模块发出请求(Request)信号时,一直等待从模块反馈回来“响应”(Acknowledge)信号后,才开始通信。当然,这就要求主、从模块之间增加两条应答线(握手交互信号线Handshaking)。

异步通信的应答方式又可分为不互锁、半互锁和全互锁三种类型,如图3.18所示。

(1)不互锁方式

主模块发出请求信号后,不必等待接到从模块的回答信号,而是经过一段时间,确认从模块已收到请求信号后,便撤销其请求信号;从模块接到请求信号后,在条件允许时发出回答信号,并且经过一段时间(这段时间的设置对不同设备而言是不同的)确认主模块已收到回答信号后,自动撤销回答信号。可见通信双方并无互锁关系。例如,CPU向主存写信息,CPU要先后给出地址信号、写命令以及写入数据,即采用此种方式。

(2)半互锁方式

主模块发出请求信号,必须待接到从模块的回答信号后再撤销其请求信号,有互锁关系;而从模块在接到请求信号后发出回答信号,但不必等待获知主模块的请求信号已经撤销,而是隔一段时间后自动撤销其回答信号,无互锁关系。由于一方存在互锁关系,一方不存在互锁关系,故称半互锁方式。例如,在多机系统中,某个CPU需访问共享存储器(供所有CPU访问的存储器)时,该CPU发出访存命令后,必须收到存储器未被占用的回答信号,才能真正进行访存操作。

(3)全互锁方式

主模块发出请求信号,必须待从模块回答后再撤销其请求信号;从模块发出回答信号,必须待获知主模块请求信号已撤销后,再撤销其回答信号。双方存在互锁关系,故称为全互锁方式。例如,在网络通信中,通信双方采用的就是全互锁方式。

异步通信可用于并行传送或串行传送。异步并行通信可参见图5.6,图中“Ready”和“Strobe”就是联络信号。异步串行通信时,没有同步时钟,也不需要在数据传送中传送同步信号。为了确认被传送的字符,约定字符格式为:1个起始位(低电平)、5~8个数据位(如ASCII码为7位)、1个奇偶校验位(作检错用)、1或1.5或2个终止位(高电平)。传送时起始位后面紧跟的是要传送字符的最低位,每个字符的结束是一个高电平的终止位。起始位至终止位构成一帧,两帧之间的间隔可以是任意长度的。图3.19是两种数据传输率的异步串行传送格式,其中图3.19(a)两帧之间有空闲位(高电平),而图3.19(b)两帧之间无空闲位,故数据传输率更高

异步串行通信的数据传送速率用波特率来衡量。波特率是指单位时间内传送二进制数据的位数,单位用bps(位/秒)表示,记作波特。

例3.2 在异步串行传输系统中,假设每秒传输120个数据锁,其字符格式规定包含1个起始位、7个数据位、1个奇校验位、1个终止位,试计算波特率。

解:根据题目给出的字符格式,一帧包含1+7+1+1=10位

故波特率为(1+7+1+1)×120=1200bps=1200波特

例3.3 画图说明用异步串行传输方式发送8位十六进制数据95H。要求字符格式为:1位起始位、8位数据位、1位偶校验位、1位终止位。

解:异步串行传送在起始位之后传输的是数据位的最低位(95H的最低位),而且数据位的最高位(95H的最高位)传输之后传输校验位,最后是终止位。数据95H的偶校验位为0,其波形图如图3.20所示。

由于异步串行通信字符格式中包含若干附加位,如起始位、终止位、校验位,而且终止位又有1位、1.5位、2位之分,若只考虑有效数据位,可用比特率来衡量异步串行通信的数据传输速率,即单位时间内传送二进制有效数据的位数,单位用bps表示。

为了提高速度,将异步串行传送中这些附加位去掉,就可以采用同步传送,在同步传送时,数据块开始处要用同步字符SYN来指明,如图3.21所示。

同步传送速度高于异步传送速度,可达500千波特,而异步通信传送一般为50~19200波特。

例3.4 在异步串行传输系统中,若字符格式为:1位起始位、8位数据位、1位奇校验位、1位终止位。假设波特率为1200bps,求这时的比特率。

解:根据题目给出的字符格式,有效数据位为8位,而传送一个字符需1+8+1+1=11位,故比特率为

1200×(8/11)=872.72 bps

3.半同步通信

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

仍以输入为例,在同步通信中,主模块在发出地址,在发出命令,在传输数据,在结束传输。倘若从模块工作速度较慢,无法在时刻提供数据,则必须在到来前通知主模块,给出WAIT(低电平)信号。若主模块在到来时刻测得WAIT为低电平,就插入一个等待周期(其宽度与时钟周期一致),不立即从数据线上取数。若主模块在下一个时钟周期到来时刻又测得WAIT为低,就再插入一个等待,这样一个时钟周期、一个时钟周期地等待,直到主模块测得WAIT为高电平时,主模块即把此刻的下一个时钟周期当作正常周期,即时获取数据,结束传输。

插入等待周期的半同步通信数据输入过程如图3.22所示。

由图中可见,半同步通信时序可为以下形式。

主模块发出地址信息。

主模块发出命令。

当WAIT为低电平时,进入等待,的宽度与T的宽度一致。

...

从模块提供数据。

主模块撤销读命令,从模块撤销数据。

半同步通信适用于系统工作速度不高但又包含了由许多工作速度差异较大的各类设备组成的简单系统。半同步通信控制方式比异步通信简单,在全系统内各模块又在统一的系统时钟控制下同步工作,可靠性较高,同步结构较方便。其缺点是对系统时钟频率不能要求太高,故从整体上来看,系统工作的速度还不是很高。

4.分离式通信

以上三种通信方式都是从主模块发出地址和读写命令开始,直到数据传输结束。在整个传输周期中,系统总线的使用权完全由占有使用权的主模块和由它选中的从模块占据。进一步分析读命令传输周期,发现除了申请总线这一阶段外,其余时间主要花费在如下3个方面。

①主模块通过传输总线向从模块发送地址和命令。

②从模块按照命令进行读数据的必要准备。

③从模块经数据总线向主模块提供数据。。

由②可见,对系统总线而言,从模块内部读数据过程并无实质性的信息传输,总线纯属空闲等待。为了克服和利用这种消极等待,尤其在大型计算机系统中,总线的负载已处于饱和状态,充分挖掘系统总线每瞬间的潜力,对提高系统性能起到极大作用。为此人们又提出了“分离式”的通信方式,其基本思想是将一个传输周期(或总线周期)分解为两个子周期。在第一个子周期中,主模块A在获得总线使用权后将命令、地址以及其他有关信息,包括该主模块编号(当有多个主模块时,此编号尤为重要)发到系统总线上,经总线传输后,由有关的从模块B接收下来。主模块A向系统总线发布这些信息只占用总线很短的时间,一旦发送完,立即放弃总线使用权,以便其他模块使用。在第二个子周期中,当B模块收到A模块发来的有关命令信号后,经选择、译码、读取等一系列内部操作,将A模块所需的数据准备好,便由B模块申请总线使用权,一旦获准,B模块便将A模块的编号、B模块的地址、A模块所需的数据等一系列信息送到总线上,供A模块接收。很明显,上述两个传输子周期都只有单方向的信息流,每个模块都变成了主模块。

这种通信方式的特点如下:

①各模块欲占用总线使用权都必须提出申请。

②在得到总线使用权后,主模块在限定的时间内向对方传送信息,采用同步方式传送,不再等待对方的回答信号。

③各模块在准备数据的过程中都不占用总线,使总线可接受其他模块的请求。

④总线被占用时都在做有效工作,或者通过它发送命令,或者通过它传送数据,不存在空闲等待时间,充分地利用了总线的有效占用,从而实现了总线在多个主、从模块间进行信息交又重叠并行式传送,这对大型计算机系统是极为重要的。

当然,这种方式控制比较复杂,一般在普通微型计算机系统很少采用。

思考题与习题

3.1什么是总线?总线传输有何特点?为了减轻总线的负载,总线上的部件都应具备什么特点?

答:计算机系统的五大部件之间的互连方式有两种,一种是各部件之间使用单独的连线,称为分散连接;另一种是将各部件连到一组公共信息传输线上,称为总线连接。总线是连接多个部件的信息传输线,是各部件共享的传输介质;

总线的特点是当多个部件与总线相连时,如果出现两个或两个以上部件同时向总线发送信息,势必导致信号冲突,传输无效。因此,在某一时刻,只允许有一个部件向总线发送信息,而多个部件可以同时从总线上接收相同的信息。

为了减少总线的负载,可以采用多条总线或者总线上的部件应通过三态驱动缓冲电路与总线连通。

3.2总线如何分类?什么是系统总线?系统总线又分为几类,它们各有何作用,是单向的,还是双向的,它们与机器字长、存储字长、存储单元有何关系?

答:总线的应用很广泛,从不同角度可以有不同的分类方法:按数据传送方式可分为并行传输总线和串行传输总线。在并行传输总线中,又可按传输数据宽度分为8位、16位、32位、64位等传输总线;若按总线的使用范围划分,则又有计算机(包括外设)总线、测控总线、网络通信总线等;按连接部件不同,分为片内总线,系统总线和通信总线;按系统总线传输信息的不同,又可分为三类:

数据总线:数据总线用来传输各功能部件之间的数据信息,它是双向传输总线,其位数与机器字长、存储字长有关,一般为8位、16位或32位。

地址总线:地址总线主要用来指出数据总线上的源数据或目的数据在主存单元的地址或I/O设备的地址,它是单向传输,地址线的位数与存储单元的个数有关。

控制总线:由于数据总线、地址总线都是被挂在总线上的所有部件共享的,如何使各部件能在不同时刻占有总线使用权,需依靠控制总线来完成,因此控制总线是用来发出各种控制信号的传输线。通常对任一控制线而言,它的传输是单向的。

3.3常用的总线结构有几种?不同的总线结构对计算机的性能有什么影响?举例说明。

答:总线结构通常可分为单总线结构和多总线结构两种(包括双、三、四总线结构)。

(1)单总线结构:将CPU、主存、I/O设备都挂在一组总线上,允许I/O之间或I/O与主存之间直接交换信息。因为所有的传送都通过这组共享总线,极易形成计算机系统的瓶颈,不允许两个以上部件在同一时刻向总线传输信息,必然会影响系统工作效率的提高。

(2)双总线结构:双总线结构的特点是将速度较低的设备从总线上分离出来,形成主存总线与I/O总线分开的结构。通道是一个具有特殊功能的处理器,CPU将一部分功能下放给通道,使其对I/O设备具有统一管理的功能,系统的吞吐能力可以相当大。

(3)三总线结构:主存总线用于CPU与主存间的传输,I/O总线供CPU与各类I/O之间传递信息,DMA总线用于高速外设(磁盘,磁带等)与主存之间直接交换信息。处理器和高速缓冲存储器Cache之间一条局部总线,Cache可以通过系统总线与主存传输信息,I/O与主存之间也不必通过CPU。还有一条扩展总线,可以支持相当多的I/O设备。

(4)四总线结构:在三总线基础上,增加一条与计算机系统紧密相连的高速总线,这种结构对高速设备而言,其自身的工作可以很少依赖处理器,同时他们又比扩展总线上的设备更贴近处理器。

总线结构的举例如下图3-20(a)(b)(c)(d)所示:

图3-20(a)  传统微型计算机的总线结构
图3-20(b)  VL-BUS局部总线结构
图3-20(c)  PCI总线结构
图3-20(d)  多层PCI总线结构

3.4为什么要设置总线判优控制?常见的集中式总线控制有几种,各有何特点,哪种方式响应时间最快,哪种方式对电路故障最敏感?

答:总线上信息的传送是由主设备启动的,如某个主设备欲与另一个设备(从设备)进行通信时,首先由主设备发出总线请求信号,若多个主设备同时要使用总线时,就由总线控制器的判优、仲裁逻辑按一定的优先等级顺序确定哪个主设备能使用总线。只有获得总线使用权的主设备才能开始传送数据。

常见的集中控制优先权仲裁方式有以下三种:

(1)链式查询:只需很少几根线就能按一定优先次序实现总线控制,并且很容易扩充设备,但对电路故障很敏感,且优先级别低的设备可能很难获得请求。

(2)计数器定时查询:这种方式对电路故障不如链式查询方式敏感,但增加了控制线(设备地址)数,控制也较复杂。

(3)独立请求:响应速度快,优先次序控制灵活(通过程序改变),但控制线数量多,总线控制更复杂。

所以综上所述,独立请求响应时间最快,链式查询对电路故障最敏感。

3.5解释概念:总线宽度、总线带宽、总线复用、总线的主设备(或主模块)、总线的从设备(或从模块)、总线的传输周期、总线的通信控制。

答:总线宽度:通常指数据总线的根数;

总线带宽:总线的数据传输率,指单位时间内总线上传输数据的位数;

总线复用:指同一条信号线可以分时传输不同的信号;

总线的主设备(主模块):指一次总线传输期间,拥有总线控制权的设备(模块);

总线的从设备(从模块):指一次总线传输期间,配合主设备完成数据传输的设备(模块),它只能被动接受主设备发来的命令;

总线的传输周期:指总线完成一次完整而可靠的传输所需时间;

总线的通信控制:指总线传送过程中双方的时间配合方式。

3.6试比较同步通信和异步通信。

答:同步通信:通信双方由统一时标控制数据传送称为同步通信。时标通常由CPU的总线控制部件发出,送到总线上的所有部件;也可以由每个部件各自的时序发生器发出,但必须由总线控制部件发出的时钟信号对它们进行同步。这种通信的优点是规定明确、统一,模块间的配合简单一致。其缺点是主、从模块时间配合属于强制性“同步”,必须在限定时间内完成规定的要求。并且对所有从模块都用同一限时,这就势必造成,对各不相同速度的部件而言,必须按最慢速度的部件来设计公共时钟,严重影响总线的工作效率,也给设计带来了局限性,缺乏灵活性。同步通信一般用于总线长度较短、各部件存取时间比较一致的场合。在同步通信的总线系统中,总线传输周期越短,数据线的位数越多,直接影响总线的数据传输率。

异步通信:异步通信克服了同步通信的缺点,允许各模块速度的不一致性,给设计者充分的灵活性和选择余地。它没有公共的时钟标准,不要求所有部件严格的统一操作时间,而是采用应答方式(又称握手方式),即当主模块发出请求(Request)信号时,一直等待从模块反馈回来响应信号后,才开始通信。当然,这就要求主、从模块之间增加两条应答线(握手交互信号线Handshaking)。异步通信可用于并行传送或串行传送。

同步传送速度高于异步传送速度,可达500千波特,而异步通信传送一般为50~19200波特。

3.7画图说明异步通信中请求与回答有哪几种互锁关系?

答:异步通信的应答方式又可分为不互锁、半互锁和全互锁三种类型,如下图3-21所示。

图3-21  异步通信中请求与回答的三种互锁关系

3.8为什么说半同步通信同时保留了同步通信和异步通信的特点?

答:半同步通信既保留了同步通信的基本特点,比如所有的地址、命令、数据信号的发出时间,都严格参照系统时钟的某个前沿开始,而接收方都采用系统时钟后沿时刻来进行判断识别;同时又像异步通信那样,允许不同速度的模块和谐地工作。为此增设了一条“等待”(WAIT)响应信号线。采用插入时钟(等待)周期的措施来协调通信双方的配合问题。半同步通信适用于系统工作速度不高但又包含了由许多工作速度差异较大的各类设备组成的简单系统。半同步通信控制方式比异步通信简单。在全系统内各模块又在统一的系统时钟控制下同步工作,可靠性较高,同步结构较方便。其缺点是对系统时钟频率不能要求太高,故从整体上来看,系统工作的速度还不是很高。

所以半同步通信既能像同步通信那样由统一时钟控制,又能像异步通信那样允许传输时间不一致,因此工作效率介于两者之间。

3.9分离式通信有何特点,主要用于什么系统?


3.10什么是总线标准?为什么要设置总线标准?目前流行的总线标准有哪些?什么是即插即用,哪些总线有这一特点?


3.11画一个具有双向传送功能的总线逻辑图。


3.12设数据总线上接有A、B、C、D 4个寄存器,要求选用合适的74系列芯片,完成下列逻辑设计:

(1)设计一个电路,在同一时间实现D→A、D→B和D→C寄存器间的传送。

(2)设计一个电路,实现下列操作。

时刻完成D→总线。

时刻完成总线→A。

时刻完成A→总线。

时刻完成总线→B。


3.13什么是总线的数据传送速率,它与哪些因素有关?


3.14设总线的时钟频率为8MHz,一个总线周期等于一个时钟周期。如果一个总线周期中并行传送16位数据,试问总线的带宽是多少?


3.15在一个32位的总线系统中,总线的时钟频率为66MHz,假设总线最短传输周期为4个时钟周期,试计算总线的最大数据传输率。若想提高数据传输率,可采取什么措施?


3.16在异步串行传送系统中,字符格式为:1个起始位、8个数据位、1个校验位、2个终止位。若要求每秒传送120个字符,试求传送的波特率和比特率。

你可能感兴趣的:(2* 第3章 系统总线)