1第6章总线26.1总线的概念•6.1.1概念•总线是一种数据通道,由系统中各部件所共享。或者说,是在部件与部件之间、设备与设备之间传送信息的一组公用信号线。在主控设备(部件和设备)的控制之下,将发送设备(部件和设备)发出的信息准确地传送给某个接收设备(部件和设备)的信号通路。•总线的特点在于其公用性,即它可同时挂接多个部件或设备。如果是某两个部件或设备之间专用的信号连线,就不能称之为总线。所以总线是连接计算机硬件系统内多种设备的通信线路。总线的一个很重要的特征是传输媒质被由总线上的所有部件所共享,可以将计算机系统内的多种部件连接到到总线上。3•通常总线是由多条通信路径或线路组成的,而每一条信号线仅能传送二进制的0或1信号。在一段时间里,一条信号线就能传送一串的二进制信息,将几条信号线组合在一起,这样总线就可以在同一时间并行地传输二进制信息。像一个字节信息就可以通过总线中的8条信号线完成信息的传输。•计算机系统中含有多种总线,计算机系统内各个层次之间的信息传送就是由总线来完成的。•总线上的任何一个部件发出的信息,计算机系统内所有连接到总线上的部件都可以接收得到。但在进行信息传输时,每一次只能有一个叫做主控设备的部件可以利用总线给一个叫做从属设备的部件发送信息。4•技术符号和术语•1.主控设备(Master)•主控设备也就是通常所说的总线主控设备,它是一个模块,是控制总线操作的一个模块。总•线主控设备一旦被确认就可以对总线进行控制,并能够着手进行数据传送。也就是说,如果一个模块欲向另一个模块发送数据,它就要获得对总线的使用权,成为总线主控设备,才可以通过总线将数据传送给另一个设备。•2.从属设备(Slave)•从属设备能够响应在总线上对数据进行传送的请求,但总线从属设备自己不能启动这种在总线上进行数据传送的请求。也就是说,如果一个模块欲接收从总线主控设备发过来的数据,首先必须获得对总线的使用权,答应总线主控设备,发出可以收数据的响应信号。然后等待总线主控设备发出的数据,并且在控制总线的控制之下接收从数据总线上传送过来的数据。5•3.NBVI•NBVI是非总线向量中断(NonBusVectoredInterrupt)的字头缩写。一个非总线向量中断将会使主控处理机从主控处理机板上定义好的地址开始立即执行。一般说来主控处理机板是由中断矩阵和中断控制器组合而成,由一条底板连线连到一个中断源上。•4.BVI•符号BVI是总线向量中断(BusVectoredInterrupt)的字头缩写。来自底板连线的一个中断信号就会引起主处理机传送来自中断源的中断向量信息。这样就允许把多个中断源连到一条中断线上。6•5.CPU•大家都非常熟悉CPU是中央处理机(CentralProcessorUnit)的字头缩写。这里所说的CPU是指一个正在运行应用软件的插件板上的Pentium微处理机芯片。•6.SBC•SBC是单板计算机(SingleBoardComputer)的英文缩写。当越来越多的输入/输出器•件和存储部件都被安排在同一个插件板上时,插件板也就变得越来越独立于系统总线。一般说来,一个单板计算机是一个CPU,但反过来却未必是正确的。•7.双端口•CPU板上的存储器对局部微处理机和总线来说是可以进行访问的。这样,局部处理机就可以获得最佳性能,因为获得的总线并非是必需的。7•6.1.2总线标准的四个特性•1.物理特性•物理特性指的是总线物理连接的方式。包括总线的根数、总线的插头、插座是什么形状的、引脚是如何排列的等。•2.功能特性•功能特性描写的是这一组总线中每一根线的功能是什么。从功能上看,总线分成三组:地址总线,数据总线和控制总线。地址总线的宽度指明了总线能够直接访问存储器的地址范围;数据总线的宽度指明了访问一次存储器或外部设备最多能够交换数据的位数;控制总线一般包括CPU与外界联系的各种控制命令,如输入输出读写信号、存储器读写信号、外部设备与主机同步匹配信号、中断信号和DMA控制信号等等。8•3.电器特性•电器特性定义每一根线上信号的传递方向、有效电平范围。一般规定送入CPU的信号叫输入信号IN,从CPU送出的信号叫输出信号OUT。例如XT总线的地址线A0~A19为输出线,数据线D0~D7为双向信号线,既作为数据输入线又作为数据输出线。地址线和数据线都是高电平有效。控制线IOR#,是输入设备读信号线,低电平有效。•4.时间特性•时间特性定义了每根线在什么时间有效。也就是说,用户什么时间可以用总线上的信号、或者用户什么时候把信号提供给总线,CPU才能正确无误地使用。9•6.1.3总线分类•在计算机系统内拥有多种总线,它们在计算机系统内的各个层次上,为各部件之间的通信提供通路。按在系统的不同层次、位置,总线可分为如下几类。•6.1.3.1片内总线•片内总线是指在微处理机芯片内部的总线,是用来连接各功能部件的信息通路,例如CPU芯片中的内部总线,它是ALU寄存器和控制器之间的信息通路。•片内总线根据其功能又被分为地址总线、数据总线和控制总线。这种总线是由微处理机芯片生产厂家设计的。•6.1.3.2主板局部总线•主板局部总线是指在印刷电路板上连接各插件的公共通路。例如,CPU及其支持芯片与其局部资源之间的通道即属于主板局部总线。这些资源可以是主板资源,也可以是插在主板局部总线扩展槽上的功能扩展板上的资源。目前,PC系列机上比较流行的标准主板局部总线有ISA、EISA、VESA、PCI以及AGP等标准总线。10•6.1.3.3系统总线•系统总线又称为内总线,这是指模块式微处理机机箱内的底板总线,用来连接构成微处理机的各插件板。它可以是多处理机系统中各CPU板之间的通信通道,也可以用来扩展某块CPU板的局部资源,或为总线上所有CPU板扩展共享资源之间的通信通道。系统总线对微处理机设计者和微处理机应用系统的用户都是一种很重要的总线。•6.1.3.4通信总线•通信总线又称为外总线,它用于微处理机系统与系统之间、微处理机系统与外部设备,如打印机、磁盘设备或微处理机系统和仪器仪表之间的通信通道。这种总线数据的传送方式可以是并行(如打印机)或串行。数据传送速率比内总线低。不同的应用场合有不同的总线标准。11•6.1.3.5总线构成•虽然总线有多种,但任何总线均包括有数据总线、地址总线和控制总线。•1.数据总线•所谓数据总线,顾名思义就是在计算机系统各部件之间传输数据的路径,把这些信号线组合在一起则被称之为数据总线。•由于Pentium数据总线的宽度为64位,就大大加快了对存储器的存取速度。•2.地址总线•所谓地址总线,是用来规定数据总线上的数据出于何处和被送往何处。若CPU欲从存储器读取一个信息,不论这个信息是8位、16位、32位或64位的,均是先将欲取信息的地址放到地址线上,然后才可以从给定的存储器地址那里取出所需的信息。•3.控制线•控制线的作用是用来对数据总线、地址总线的访问及其使用情况实施控制。由于计算机中的所有部件均要使用数据总线和地址总线,所以用控制总线对它们实施控制是必要的也是必须的。说到底,控制信号的作用就是在计算机系统各部件之间起到发送操作命令和定时信息。命令信息规定下了要执行的具体操作,而定时信息则是规定了数据信息和地址信息的时效性。12•通常,控制信号应有以下几种类型。•(1)写存储器命令:•(2)读存储器命令:•(3)输入/输出写命令:•(4)输入/输出读命令:•(5)传送响应:•(6)总线请求:•(7)总线允许:•(8)中断请求:•(9)中断响应:•(10)时钟和复位:。13•1.4总线操作•Pentium微处理机系统中的各种操作,包括从CPU把数据写入存储器、从存储器把数据读到CPU、从CPU把数据写入输出端口、从输出端口把数据读到CPU、CPU中断操作、直接存储器存取操作、CPU内部寄存器操作等,本质上都是通过总线进行的信息交换,统称为总线操作。•如果一个部件(总线主控设备)欲向另一个部件(总线从属设备)发送信息,总线要进行以下两项操作:•(1)主控设备必须获得对总线的使用权。•(2)总线主控设备通过总线将数据传送给总线从属设备。14•如果一个部件(总线从属设备)欲向另一个部件(总线主控设备)请求接收数据,在这种情况下,总线也要进行两项操作:•(1)总线从属设备也必须获得对总线的使用权;•(2)总线从属设备通过控制线和地址线向另一个部件(总线主控设备)发出接收数据的请求,然后就要等待由总线主控设备发送过来的数据。15•为完成一个总线操作周期,一般要分成4个阶段:•1.总线请求和仲裁(BusRequestandArbitration)阶段•由需要使用总线的主控设备向总线仲裁机构提出使用总线的请求,经总线仲裁机构仲裁确定,把下一个传送周期的总线使用权分配给哪一个请求源。•2.寻址(Addressing)阶段•取得总线使用权的主控设备,通过地址总线发出本次要访问的从属设备的存储器地址,或I/O端口地址及有关命令,通过译码使参与本次传送操作的从属设备被选中,并开始启动。•3.数据传送(DataTransfering)阶段•主控设备和从属设备进行数据交换,数据由源模块发出,经数据总线传送到目的模块。在进行读传送操作时,源模块就是存储器或输入/输出接口,而目的模块则是总线主控设备CPU。在进行写传送操作时,源模块就是总线主控设备,例如CPU,而目的模块则是存储器或输入/输出接口。•4.结束(Ending)阶段•主控设备、从属设备的有关信息均从系统总线上撤除,让出总线,以便其他模块能继续使用。16•总线上的主控设备、从属设备通常采用以下三种方式之一来实现对总线传送的控制。•1.同步传送•同步传送时采用精确稳定的系统时钟,作为各模块动作的基准时间。模块间通过总线完成一次数据传送即一个总线周期,时间是固定的,每次传送一旦开始,主、从设备都必须按严格的时间规定完成相应的动作。•2.异步传送•同步传送要求总线上的各主、从设备操作速度要严格匹配,为了能用不同速度的设备组成系统,而采用异步传送的办法来控制数据的传送。异步传送需设置一对信号交换(Handshaking)线,即请求(Request)和响应(Acknowledge)信号线。•3.半同步传送•半同步传送是综合同步和异步传送的优点而设计出来的混合式传送。17•6.1.5总线配置结构•图6.2示出了几种通过总线把各种部件连接起来的示意图。•图6.2(a)所示为单总线结构,机器内部和外部只有一条总线,所有设备全部通过总线连接起来,存储器和I/O设备可以统一编址,I/O设备占用部分内存地址空间,访问I/O设备如同访问存储器一样,只是地址不同。它的主要缺点是总线太忙,使得整个系统的效率比较低。•图6.2(b)所示为一种多总线结构,它有两条专用总线(主存储器总线和I/O总线),主存储器与CPU做在一块主机板上,并且通过专用的总线连接,提高了CPU与主存储器交换信息的速度。慢速外部设备通过I/O总线首先与I/O处理器交换信息,等到一定的时间,I/O处理器通过系统总线再与CPU交换数据。这样主存储器总线和I/O总线可以同时工作,极大地提高了整机的速度。•图6.2(c)所示为当前PC机广泛采用的总线结构。主存储器在系统板上与CPU有专门总线相连接,主存的扩展槽也在主机板上,某些386机器把磁盘的接口也设计在主机板上,直接与CPU相连接,整个机器的速度就提高了。18•图6.2总线结构CPU存储器I/O接口系统总线(a)单总线结构CPU主存储器I/O接口I/O接口I/O处理器主存储器连线I/O总线…系统总线(b)多总线结构CPU主存储器I/O接口I/O接口系统总线主存储器连线(c)多总线结构…196.2数据传送机制•Pentium微处理机总线的操作速度非常之快,即使在66MHz时钟频率下,其数据传输速率可达528MB/s。而且所有的数据传送操作都是在一个或多个总线周期内完成的。本部分介绍的是Pentium微处理机的总线周期以及数据传送机制。20•6.2.1实际存储器和I/O接口•Pentium微处理机的存储器