《《微型计算机系统与接口》第8章.ppt》由会员分享,可在线阅读,更多相关《《微型计算机系统与接口》第8章.ppt(52页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 第第8 8章章 总线总线18.1 8.1 总线的概念总线的概念8.1.1 8.1.1 什么是总线什么是总线总线是一种数据通道,由系统中各部件所共享。或者说,是在部件与部件之间、设备与设备之间传送信息的一组公用信号线。在主控设备(部件和设备)的控制之下,将发送设备(部件和设备)发出的信息准确地传送给某个接收设备(部件和设备)的信号通路。总线的特点在于其公用性,即它可同时挂接多个部件或设备。如果是某两个部件或设备之间专用的信号连线,就不能称之为总线。所以总线是连接计算机硬件系统内多种设备的通信线路。总线的一个很重要的特征是传输媒质被由总线上的所有部件所共享,可以将计算机系统内的多种部件连接到到总
2、线上。2通常总线是由多条通信路径或线路组成的,而每一条信号线仅能传送二进制的0或1信号。在一段时间里,一条信号线就能传送一串的二进制信息,将几条信号线组合在一起,这样总线就可以在同一时间并行地传输二进制信息。像一个字节信息就可以通过总线中的8条信号线完成信息的传输。计算机系统中含有多种总线,计算机系统内各个层次之间的信息传送就是由总线来完成的。总线上的任何一个部件发出的信息,计算机系统内所有连接到总线上的部件都可以接收得到。但在进行信息传输时,每一次只能有一个叫做主控设备的部件可以利用总线给一个叫做从属设备的部件发送信息。3技术符号和术语1主控设备(主控设备(Master)主控设备也就是通常所
3、说的总线主控设备,它是一个模块,是控制总线操作的一个模块。总线主控设备一旦被确认就可以对总线进行控制,并能够着手进行数据传送。也就是说,如果一个模块欲向另一个模块发送数据,它就要获得对总线的使用权,成为总线主控设备,才可以通过总线将数据传送给另一个设备。2从属设备(Slave)从属设备能够响应在总线上对数据进行传送的请求,但总线从属设备自己不能启动这种在总线上进行数据传送的请求。也就是说,如果一个模块欲接收从总线主控设备发过来的数据,首先必须获得对总线的使用权,答应总线主控设备,发出可以收数据的响应信号。然后等待总线主控设备发出的数据,并且在控制总线的控制之下接收从数据总线上传送过来的数据。4
4、3CPU大家都非常熟悉CPU是中央处理机(Central Processor Unit)的字头缩写。这里所说的CPU是指一个正在运行应用软件的插件板上的 Pentium微处理机芯片。4SBCSBC是单板计算机(Single Board Computer)的英文缩写。当越来越多的输入/输出器件和存储部件都被安排在同一个插件板上时,插件板也就变得越来越独立于系统总线。一般说来,一个单板计算机是一个CPU,但反过来却未必是正确的。58.1.2 总线标准的四个特性1物理特性物理特性指的是总线物理连接的方式。包括总线的根数、总线的插头、插座是什么形状的、引脚是如何排列的等。2功能特性功能特性描写的是这一
5、组总线中每一根线的功能是什么。从功能上看,总线分成三组:地址总线,数据总线和控制总线。63电器特性电器特性定义每一根线上信号的传递方向、有效电平范围。一般规定送入CPU的信号叫输入信号IN,从CPU送出的信号叫输出信号OUT。4时间特性时间特性定义了每根线在什么时间有效。也就是说,用户什么时间可以用总线上的信号、或者用户什么时候把信号提供给总线,CPU才能正确无误地使用。78.1.3 总线分类总线分类在计算机系统内拥有多种总线,它们在计算机系统内的各个层次上,为各部件之间的通信提供通路。按在系统的不同层次、位置,总线可分为如下几类。1.片内总线片内总线是指在微处理机芯片内部的总线,是用来连接各
6、功能部件的信息通路,例如CPU芯片中的内部总线,它是ALU寄存器和控制器之间的信息通路。片内总线根据其功能又被分为地址总线、数据总线和控制总线。这种总线是由微处理机芯片生产厂家设计的。2.主板局部总线主板局部总线是指在印刷电路板上连接各插件的公共通路。例如,CPU及其支持芯片与其局部资源之间的通道即属于主板局部总线。这些资源可以是主板资源,也可以是插在主板局部总线扩展槽上的功能扩展板上的资源。目前,PC系列机上比较流行的标准主板局部总线有ISA、EISA、VESA、PCI以及AGP等标准总线。83.系统总线系统总线系统总线又称为内总线,这是指模块式微处理机机箱内的底板总线,用来连接构成微处理机
7、的各插件板。它可以是多处理机系统中各CPU板之间的通信通道,也可以用来扩展某块CPU板的局部资源,或为总线上所有CPU板扩展共享资源之间的通信通道。系统总线对微处理机设计者和微处理机应用系统的用户都是一种很重要的总线。4.通信总线通信总线通信总线又称为外总线,它用于微处理机系统与系统之间、微处理机系统与外部设备,如打印机、磁盘设备或微处理机系统和仪器仪表之间的通信通道。这种总线数据的传送方式可以是并行(如打印机)或串行。数据传送速率比内总线低。不同的应用场合有不同的总线标准。95.总线构成总线构成虽然总线有多种,但任何总线均包括有数据总线、地址总线和控制总线。1数据总线所谓数据总线,顾名思义就
8、是在计算机系统各部件之间传输数据的路径,把这些信号线组合在一起则被称之为数据总线。由于Pentium数据总线的宽度为64位,就大大加快了对存储器的存取速度。2地址总线所谓地址总线,是用来规定数据总线上的数据出于何处和被送往何处。若CPU欲从存储器读取一个信息,不论这个信息是8位、16位、32位或64位的,均是先将欲取信息的地址放到地址线上,然后才可以从给定的存储器地址那里取出所需的信息。3控制线 控制线的作用是用来对数据总线、地址总线的访问及其使用情况实施控制。由于计算机中的所有部件均要使用数据总线和地址总线,所以用控制总线对它们实施控制是必要的也是必须的。说到底,控制信号的作用就是在计算机系
9、统各部件之间起到发送操作命令和定时信息。命令信息规定下了要执行的具体操作,而定时信息则是规定了数据信息和地址信息的时效性。10通常,控制信号应有以下几种类型。(1)写存储器命令:(2)读存储器命令:(3)输入/输出写命令:(4)输入/输出读命令:(5)传送响应:(6)总线请求:(7)总线允许:(8)中断请求:(9)中断响应:(10)时钟和复位:。118.1.4 总线操作总线操作Pentium微处理机系统中的各种操作,包括从CPU把数据写入存储器、从存储器把数据读到CPU、从CPU把数据写入输出端口、从输出端口把数据读到CPU、CPU中断操作、直接存储器存取操作、CPU内部寄存器操作等,本质上都
10、是通过总线进行的信息交换,统称为总线操作。如果一个部件(总线主控设备)欲向另一个部件(总线从属设备)发送信息,总线要进行以下两项操作:(1)主控设备必须获得对总线的使用权。(2)总线主控设备通过总线将数据传送给总线从属设备。12如果一个部件(总线从属设备)欲向另一个部件(总线主控设备)请求接收数据,在这种情况下,总线也要进行两项操作:(1)总线从属设备也必须获得对总线的使用权;(2)总线从属设备通过控制线和地址线向另一个部件(总线主控设备)发出接收数据的请求,然后就要等待由总线主控设备发送过来的数据。13为完成一个总线操作周期,一般要分成4个阶段:1总线请求和仲裁(Bus Request an
11、d Arbitration)阶段由需要使用总线的主控设备向总线仲裁机构提出使用总线的请求,经总线仲裁机构仲裁确定,把下一个传送周期的总线使用权分配给哪一个请求源。2寻址(Addressing)阶段取得总线使用权的主控设备,通过地址总线发出本次要访问的从属设备的存储器地址,或I/O端口地址及有关命令,通过译码使参与本次传送操作的从属设备被选中,并开始启动。3数据传送(Data Transfering)阶段主控设备和从属设备进行数据交换,数据由源模块发出,经数据总线传送到目的模块。在进行读传送操作时,源模块就是存储器或输入/输出接口,而目的模块则是总线主控设备CPU。在进行写传送操作时,源模块就是
12、总线主控设备,例如CPU,而目的模块则是存储器或输入/输出接口。4结束(Ending)阶段主控设备、从属设备的有关信息均从系统总线上撤除,让出总线,以便其他模块能继续使用。14总线上的主控设备、从属设备通常采用以下三种方式之一来实现对总线传送的控制。1同步传送同步传送时采用精确稳定的系统时钟,作为各模块动作的基准时间。模块间通过总线完成一次数据传送即一个总线周期,时间是固定的,每次传送一旦开始,主、从设备都必须按严格的时间规定完成相应的动作。2异步传送同步传送要求总线上的各主、从设备操作速度要严格匹配,为了能用不同速度的设备组成系统,而采用异步传送的办法来控制数据的传送。异步传送需设置一对信号
13、交换(Handshaking)线,即请求(Request)和响应(Acknowledge)信号线。3半同步传送半同步传送是综合同步和异步传送的优点而设计出来的混合式传送。158.1.5 总线配置结构图8.1示出了几种通过总线把各种部件连接起来的示意图。图8.1(a)所示为单总线结构,机器内部和外部只有一条总线,所有设备全部通过总线连接起来,存储器和I/O设备可以统一编址,I/O设备占用部分内存地址空间,访问I/O设备如同访问存储器一样,只是地址不同。它的主要缺点是总线太忙,使得整个系统的效率比较低。图8.1(b)所示为一种多总线结构,它有两条专用总线(主存储器总线和I/O总线),主存储器与CP
14、U做在一块主机板上,并且通过专用的总线连接,提高了CPU与主存储器交换信息的速度。慢速外部设备通过I/O总线首先与I/O处理器交换信息,等到一定的时间,I/O处理器通过系统总线再与CPU交换数据。这样主存储器总线和I/O总线可以同时工作,极大地提高了整机的速度。图8.1(c)所示为当前PC机广泛采用的总线结构。主存储器在系统板上与CPU有专门总线相连接,主存的扩展槽也在主机板上,某些386机器把磁盘的接口也设计在主机板上,直接与CPU相连接,整个机器的速度就提高了。16图8.1 总线结构CPU存储器I/O接口系统总线(a)单总线结构CPU主存储器I/O接口I/O接口I/O处理器主存储器连线I/
15、O总线系统总线(b)多总线结构CPU主存储器I/O接口I/O接口系统总线主存储器连线(c)多总线结构178.2 数据传送机制数据传送机制Pentium微处理机总线的操作速度非常之快,即使在66MHz时钟频率下,其数据传输速率可达528MB/s。而且所有的数据传送操作都是在一个或多个总线周期内完成的。本部分介绍的是Pentium微处理机的总线周期以及数据传送机制。188.2.1 实际存储器和I/O接口 Pentium微处理机的存储器既可以以8位、16位或32位形式进行访问,同时也可以以64位形式进行访问。而Pentium微处理机的I/O端口同样也可以以8位、16位或32位形式进行访问。另外,Pe
16、ntium微处理机还可以直接对4GB的物理存储空间进行寻址访问操作和对64KB的I/O存储空间直接寻址操作。19下图示出了Pentium微处理机与64位存储器之关系框图。其实,64位信息是由8个字节组成的四字构造而成。每个四字的首地址均是从8的倍数的字节地址开始。通常用地址线A31A3来选择由8个字组成的四字,而用信号BE7#BE0#来选择四字中的各字节。图8.2 Pentium微处理器与64位存储器关系 PentiumPentium微处理器微处理器 6464位位 存储器存储器A31A3,BE7#BE0#D63D020下图示出了Pentium微处理机的地址总线与64位、32位、16位以及8位存
17、储器之间的接口。图8.3 对64位、32位、16位和8位存储器寻址A2,BE3#BE0#BE7#BE0#A2,A1,A0BHE#,BLE#,A2,A1PentiumPentium微处理器微处理器6464位存储器位存储器3232位存储器位存储器1616位存储器位存储器88位存储器位存储器字节字节选择选择逻辑逻辑A31A321下图中示出了Pentium微处理机数据总线与32位、16位和8位宽的存储器之间接口。在数据总线上需要有外部字节交换逻辑,以便能在正确的数据管脚引线上向Pentium微处理机提供和接收数据总线上的数据。对于宽度小于64位的存储器来说,还需使用字节装配逻辑,以便在一个时钟周期时间
18、内将Pentium微处理机所需的所有数据字节都回送给Pentium微处理机。22D7 D0D15D8D23D16D31D24D39D32D47D40D55D48D63D56D7 D0D15D8D23D16D31D24D39D32D47D40D55D48D63D56 PentiumPentium 微处理器微处理器 6464位位 存储器存储器 6464位数据组合位数据组合 逻辑逻辑字节字节交换交换逻辑逻辑字节字节交换交换逻辑逻辑字节字节交换交换逻辑逻辑88位位存储器存储器1616位位存储器存储器3232位位存储器存储器32816238.2.2 数据传送机制Pentium微处理机所有的数据传送操作都
19、可以在一个或多个总线周期内完成。像字节、字、双字以及四字等一类的逻辑操作数的传送操作也同样可在一个或多个周期内完成。在访问数据时,可以在任何一个字节界内进行,但在传送那种未对准的数据时有可能需用2个时钟周期时间。Pentium微处理机对未对准的数据的认定条件是:对于2字节或4字节的操作数,凡跨越了4字节边界范围,就被认定是未对准数。当然,对于由8个字节组成的操作数来说,只要其范围跨越了6字节边界范围也同样被认定是未对准操作数。24表8.3中展示出了Pentium 微处理器的字节允许信号及其相关的数据字节。当字节允许以及与其相关的数据总线字节涉及到现役的总线周期,字节允许输出信号就被确认。在对存
20、储空间和I/O存储空间进行访问时,用字节允许信号指示,在写周期期间把哪些相关的数据总线字节驱动成有效的,以及指示在读周期期间哪些字节数据需要返回。但绝不会出现不相邻接字节允许信号这种情况。由于Pentium 微处理器把数据总线设计成64位,所以与32位存储器系统的接口问题需要专门给以处理解决,像地址位2以及相应的字节允许信号就需要由外部硬件产生。25表表8.3 Pentium 8.3 Pentium 字节允许和相关的数据字节字节允许和相关的数据字节 字节允许信号 相关的数据总线信号 BE0#D0 D7(字节0最低有效位)BE1#D8 D15(字节1)BE2#D16 D23(字节2)BE3#D2
21、4 D31(字节3)BE4#D32 D39(字节4)BE5#D40 D47(字节5)BE6#D48 D55(字节6)BE7#D56 D63(字节7最高有效位)26 8.3 8.3 总线周期总线周期为方便地描述Pentium微处理机总线功能,时常用到数据传送周期、总线周期和总线操作周期等技术术语。(1)数据传送周期,其实是一个数据项的传送问题,数据项宽度可达8个字节,随着信号BRDY#的被确认,数据项被送回Pentium微处理机或者接收来自Pentium微处理机的数据项。(2)总线周期是从Pentium微处理机驱动地址和状态以及对信号ADS#给以确认时开始,而结束于最后一个BRDY#信号返回。一
22、个总线周期可以有1次或4次数据传送操作。像成组传送周期(Burst Cycle)就是有4次数据传送的一种总线周期。(3)总线操作实际上是为实现某项特殊功能操作的一系列的总线周期,像锁定的读修改写操作,或者是一次中断确认过程等就是典型的总线操作。278.3.1 单传送周期Pentium微处理机支持多种不同类型的总线周期。其中最简单的一种总线周期就是单次传送的不可高速缓冲的64位传送周期。这类总线周期可以带有等待状态,也可以不带等待状态。但非流水线的读操作和写操作周期都是等待状态周期。Pentium微处理机是通过对第一个时钟内的地址状态信号ADS#的确认而启动一个周期,确认信号ADS#内的那个时钟
23、,根据定义是总线周期内的第一个时钟。地址状态信号ADS#的输出表明:有效总线周期的定义及其地址,在周期指定的管脚引线和地址总线上均是有效可用的。一旦把信号CACHE#的输出撤销(其表现为高电平)就表示该周期是一种单传送周期。288.3.2 成组周期对于多个数据传送的总线周期来说(像可以进行高速缓冲的周期以及写回周期等),Pentium采用的是一种成组数据传送方式。在成组传送这种操作方式下,Pentium在连续的几个时钟内既可以采集新的数据项也可以驱动新数据项。另外,成组传送周期下的数据项地址,全部坐落在同一个32字节宽且已对准的区域内(与Pentium片内cache行大小相对应)。成组传送周期
24、是经由BRDY#的管脚引线完成的。当运行的总线周期进行的是一个以上的数据传送操作时,此时Pentium就要求存储器系统执行成组传送操作,并且还要按如表8.6所列出的Pentium 微处理器成组传送顺序执行传送数据操作。29 表8.6 Pentium成组传送次序首地址 第二个地址 第三个地址 第四个地址 0 8 10 18 8 0 18 10 10 18 0 8 18 10 8 0301.成组读周期(成组读周期(Burst Read Cycles)在启动任何一次读操作时,Pentium 微处理器均为所需的数据项提供地址信号和字节允许信号。而当该周期被转换成一次Cache行填充操作时,就把第一个数
25、据项送回与Pentium 微处理器发出的地址相对应的Cache单元内,而且对字节允许信号采取不予理睬的态度,但要求有效数据必须送回到全部64条数据线上。除此之外,成组序列中后续传送地址要由外部硬件计算出来。因为每次传送时,地址以及字节允许信号是不能重复驱动的。312 成组写周期(成组写周期(Burst Write Cycles)在成组写周期期间,信号KEN#不予理睬,在写周期期间,若信号CACHE#管脚引线为现役的、活动的(为低电平),则表明该周期是一个成组写回周期,成组写回周期总是数据Cache内已修改Cache行的写回操作,写回周期又分以下几种情况:由于数据Cache内已修改Cache行的
26、被替换而写回。由于询问周期命中了数据Cache内已修改的Cache行而写回 由于内部监视命中了数据Cache内已修改的Cache行而写回 由于对Cache刷新信号FLUSH#的确认而引起的写回 由于执行写回和使整个Cache无效WBINVD指令而引起的写回328.3.3 中断确认周期Pentium微处理机产生的中断确认周期是为了响应由中断请求输入管脚引线INTR产生的可屏蔽中断请求。中断确认周期是周期类型管脚产生的一种独特的周期类型。中断确认周期是在被锁定的成双周期中产生的。在第一个周期内不要那些送回的数据,但必须满足所需数据的建立与保持时间。在第二个周期期间,数据总线上低8位才返回中断向量。
27、Pentium微处理机配备有256个可能的中断向量。338.3.4 专用总线周期Pentium微处理机配备了6种专用总线周期,用以指示某些指令已被执行,或者说某些必要的执行条件已经成熟。专用总线周期也可能由于下列原因而停止运转:当Pentium 微处理器试图调用双重故障处理程序时,又出现了另一个异常事故。检测到一个内部奇偶校验错。348.4 PCI 总线总线 PCI局部总线是一种高带宽而又独立于微处理器的总线,它可以作为中间层或外围设备的总线。Pentium这样的高性能的微处理器就配备这样的高性能的高总线带宽的总线,以便能充分利用Pentium 微处理器的全部资源。Intel公司提出来要用PC
28、I局部总线技术特性作为与Pentium 等高性能微处理器连接的技术标准。其实PCI局部总线标准是由Intel、IBM、COMPAQ、APPLE等大公司联合制定的一种局部总线标准。PCI是外围元件互联。其数据宽度为32位,但还可以扩展至64 位。这就为计算机图形显示所需的大批量的数据传送和高性能的磁盘输入/输出提供了硬件技术支持。PCI总线开放性好,具有广泛的兼容性。是一种低成本、高效益、能与ISA总线兼容的一种有前途的局部总线。358.4.1 PCI局部总线的特征(1)它拥有的最高操作时钟速度为33MHZ。(2)它拥有32位和64位两种数据通道。(3)它支持由Pentium微处理机通常采用的2
29、111形式的成组数据传送方式。(4)它支持总线主控方式,准许多处理机系统中的任何一个微处理机都可以成为总线主控设备,对总线操作进行控制。(5)它还与ISA、EISA、微通道等多种总线兼容。由于PCI总线在Pentium微处理机与其他总线间架起了一座“桥梁”,它也支持像ISA、EISA以及微通道等这样的低速总线操作,(6)也可以把PCI局部总线看作是一个独立的处理器,它可以与任何一种微处理机一起使用,不局限于8086。正是基于这种原因,许多大的计算机公司都宣布支持PCI总线。这样就确保8086系列机在更新换代时,也不会把PCI局部总线抛弃。(7)它支持5V和3.3V两种扩充插件卡。可以从5V向3
30、.3V进行平滑的系统转换。PCI总线上装有一个很小的断路键,使用户在插卡时不会导致在系统主板上有不同的电压电源。36(8)它还提供了自动配置能力,用户可以安装一个新的添加卡,且不用设置DIP开关、跳线(跨接线)和选择的中断。配置软件会自动选择未被使用的地址和中断,以解决可能出现的冲突问题。(9)PCI总线管脚引线,在信号的安排顺序上也是用心良苦,它在每两个信号之间都安排了一个地线,以减少信号间的相互干扰以及音频信号的散射问题。(10)PCI总线实现了触发级的中断,这种中断可支持中断共享。(11)PCI总线能支持高达10个外围设备,而且其中的某些外围设备必须嵌入到系统主板上。(12)当插入扩展槽
31、内卡的数量最大时,PCI总线工作频率在33MHZ上下变化,这要取决于工作电压是5V还是3.3V。378.4.2 即插即用(Plug and Play)PCI局部总线装备有自动配置特征,配备了自动配置方案。这一配置方案就是通常所说的即插即用。PCI局部总线的自动配置方案得以全面实现,即插即用已进入如下三个范畴之中:(1)装备的即插即用特征既不是给系统板上的BIOS,也不是给添加卡,而是装备给PCI局部总线的,有时也把这一不争的事实说成是:即插即用(Plug and Play)。(2)若系统板BIOS装配有即插即用这一特征,而添加卡没有装配上即插即用这一特征。在这种情况下,安装软件会帮你分配输入/
32、输出地址,中断请求IRQS以及DMA通道等。(3)若系统板BIOS和添加卡都装配有即插即用这一特征。此时,这种情况下的自动配置会对大小事都亲自处理。像对输入/输出地址的分配,中断请求IRQS以及DMA通道等事情均由自动配置处理,根本不需用户进行干预。388.4.3 PCI接插件关于PCI接插件问题,有几点必须引起注意:第一,先来看一下如图所示的PCI管脚信号线,很少几个PCI信号与80X86信号相匹配。究其原因,是因为PCI总线是一种位于微处理机与外部总线之间的一种夹层总线。这就意味着PCI总线的控制器坐落在CPU和外部总线之间。也就是说,任何一种CPU都可以使用PCI总线。对总线连线进行标准
33、化处理,可以使CPU总线免受各种约束。拿PCI总线与VESA总线(尤其VESA1.0版)相比较会发现;VESA总线信号引线直接与80486管脚引线相连,且名称都一样。由于Pentium较之80486又增加了不少新信号,致使VESA总线信号不得不随之更改(VESA 2.0版)。而PCI总线已经成功地解决了由于总线独立于微处理机而带来的一系列技术问题。39 PCI 的管脚信号 CLKRST#REQ#GNT#PERR#SERR#FRAME#TRDY#IRDY#STOP#DEVSEL#IDSEL#AD31:00C/BE3:0#PARAD63:32C/BE7:4#PAR64REQ64#ACK64#LOC
34、K#INTA#INTB#INTC#INTD#SBO#SDONE#TDITDOTCKTMSTRST#PCI 允许的 设备可选的信号必需的信号64位扩充接口控制中断Cache 支持JTAG地址数据接口控制错误报告仲裁系统408.4.4 PCI性能PCI局部总线既支持单存储周期的传送方式,也支持成组传送方式。在单存储周期方式下,它要用2个时钟时间对数据字进行读写操作。在第一个时钟时间内,PCI总线提供的是地址信息,而在后续的每个时钟内,访问的则是数据信息。PCI总线在单存储周期的传送方式下,PCI总线带宽?PCI总线在成组周期传送方式下,PCI总线带宽?若PCI总线最大时钟频率为33MHZ,所以时钟
35、周期为30ns。(1)由于在单存储周期传送方式下,每次传送均要用2个时钟,那么传送4个字节(32位)则需用总共60ns时间,由此可算出,总线带宽=(1/60ns)4B=66.6MB/s。(2)在成组周期传送方式下,在进行地址计算时,忽略掉第一个时钟的内务开销,它传送32位的数据则需1个时钟周期约30ns时间,所以其总线带宽=(1/30ns)4B=133 MB/s。418.4.5 PCI总线操作总线操作目前,操作系统中的多任务处理以及多媒体应用程序要求系统外部设备对信息的吞吐量“一大二快”。所谓一大是指信息量要大,所谓二快是指其操作系统速度要快。图8.8中示出了基于PCI总线的一个微处理机系统。
36、从图中可以看出,微处理机以及存储器子系统与PCI总线以及扩展总线之间是各自独立的、非耦合的关系。所有的PCI总线上部件都与PCI总线相连,然后再经由PCI总线桥依次与微处理机相连。就是这个PCI总线桥,将其他总线与PCI分隔开来。更加有意义的是,在PCI和微处理机的总线之间设置了缓冲器,PCI总线桥是一种智能型的设备,它能将单一数据请求归结成成组传送请求,然后再在存储器与输入/输出设备之间交换这些成组传送的信息。即使微处理机本身不支持这种成组传送操作方式,经过PCI总线桥支持,也能实现这种成组传送方式。42图8.8 PCI总线通过PCI桥与处理机相连 浮点部件CPUCache主存储器PCI总线
37、桥音频视频适配器RAMSCSI主适配器与扩展总 线接口 LAN适配器 输入/输出 图形适配器视频RAM总线插槽总线插槽总线插槽总线插槽总线插槽音频/视频扩展微处理器/主存储器子系统PCI总线扩展总线(ISA/EISA)43PCI总线额定的时钟频率在0到33MHZ之间,这种方式在由电池供电的系统里非常有用。通常,PCI总线总是在主控设备和从属设备(目标设备)之间交换信息,所谓主控设备是指对系统总线有控制权的设备,所谓从属设备是指只是对访问请求给以响应的那种设备。PCI总线存取操作通常是由两个操作步骤组成的,一个是地址操作步骤,另一个则是数据操作步骤。在读操作周期,通常要用3个时钟脉冲周期时间,第
38、一个时钟时间用来输出地址信息,第二个时钟是将地址线传送操作转换成数据访问操作,第三个时钟用来传送数据。使用标准的32位总线宽度,其数据传送速率为44MB/s。对于写周期而言,就不再需用将地址线传送操作转换成数据访问操作了。在2个时钟内即可完成一次写操作。其数据传送速率比读操作周期快了50%,达到66M B/s。448.4.6 总线命令PCI总线被公认为比EISA总线控制器或者微通道MCA控制器更加智能化。它能引导处理机通过恰当的PCI设备实施访问操作,它甚至通过筛选程序对使用总线请求逐一进行筛选以期达到最佳性能。为能指示出外围设备出现的总线周期类型,PCI总线桥能发出18种不同的总线操作命令。
39、这种信息是通过C/BE3#C/BE0#(命令/字节允许)信号线被实施多路传送,而且是在每一个总线周期的地址操作步骤期间传送出去的。表8.7中列出了PCI总线桥的总线操作命令以及每条命令的简要说明。45 表8.7 PCI总线命令 C/BE3#C/BE0#名称 总线传送类型 0000 INTA次序 中断向量 0001 专用周期 专用信息代码输出到PCI媒介上*0010 I/O读操作 从I/O设备输入数据 0011 I/O写操作 数据输出到I/O设备 0100 保留 0101 保留 0110 存储器读操作 数据从存储器地址空间输入 0111 存储器写操作 数据输出到存储器地址空间 1000 保留 1
40、001 保留 1010 配置读操作 数据从配置的地址空间输入 1011 配置写操作 数据输出到配置的地址空间 1100 存储器多次读操作 一次扩充数据读周期大于一次Cache行的读操作时间 1101 双寻址周期 两个连续的寻址周期。在传送64位的地址 时,被当成两个32位地址处理。1110 线性存储器读操作 一次存储器的读操作大于32 位(通常为一Cache行)1111 存储器写操作 至少一个Cache行的一次存储器写周期 (由于无效)(这种情况表明这个Cache行目前是无效 的,并且旁路一次写回操作)468.4.7 DMA和中断从表8.9中可以看出,16条总线操作命令中并没有访问DMA的总线
41、周期。在PCI总线概念里,由于有了总线主控设备这一概念,就使得DMA和中断这种操作方式成为过时的、多余的。因为,DMA控制器必须通过系统板上的现行逻辑才可以实施对总线的控制操作。从另一个角度上说,总线主控设备会停止系统主板上总线的操作,而与适配器之间的通信则是通过总线插件槽实现的。由此可见,PCI总线能支持真正的多处理机操作系统。478.4.8 PCI适配器每一个PCI卡都配备有一个其大小为256字节的配置存储器。其中的前64个字节为一个标准标题内容简介,其内配备有有关PCI卡类型、制造厂家、版本、卡的当前状态、Cache行大小,总线延迟时间(PCI总线操作时间有多长)等信息。余下的那192个
42、字节信息则视不同卡而定。例如,许多卡都把它们设置成寄存器的基地址,这样就可以使板内RAM、ROM、以及I/O端口,可再次映射到主存储器以及I/O空间内指定的专用地址范围内。PCI适配器为即插即用提供货真价实的支持。机器加电,系统就会对PCI总线上所有设备的配置存储器进行扫描,然后给每一个设备都分配一个惟一的基地址和中断级。488.4.9 PCI总线信号PCI总线上的每一信号不是与电源相邻就是与地相邻,采用这一措施的目的,就是最大限度减少噪声的干扰和信号的辐射。表8.8中列出了每一信号的称谓以及其简单的说明。49 表8.10 PCI总线信号说明 信号 名 称 类 型 说 明 32位部分AD0 A
43、D31 地址/数据线 输入/输出 PCI 32位多路复用地址和数据总线C/BE3#命令/字节允许 输入/输出 在一个总线周期的数据时间段期间,这些 C/BE0#线表明总线周期的类型;在一个总线周期 的地址时间段期间,这些线是低电平,表明在数据传送时会涉及到32位数据总线上 的哪些字节CLK 时钟 输出 PCI 的时钟信号(0到33MHZ)DEVSEL#设备的选择 输入 如果一个PCI设备把自己标识成为一次PCI传送 的目标,由PCI设备将这个信号置成低电平 FRAME#帧数据 输入/输出 在每一个数据传送周期的开始,由现役的PCI总线 主控设备将这个信号线置成低电平。当所有的数据 传送完毕或传
44、送被中断时,则撤消这个信号 GNT#许可 输出 低电平,向正在请求的PCI部件表明:它现在可以 使用PCI总线作为主控设备。每一个PCI总线 主控设备都有各自的GNT输入IDSEL 预置设备选择 输出 低电平,选择配置存储器INTA#、INTB#中断 输入 低电平中断输入,把信号INTA分配给了单功能的INTC#、INTD#PCI设备,而多功能的设备可以使用INTB INTD50IRDY#起始者 输入/输出 低电平,表示起始的总线主控设备已经将有效数据 准备就绪 放在总线上,或者已准备好从总线上读取数据LOCK#锁定 输入/输出 低电平,表明到指定的PCI设备的访问封锁,但是到PCI其他设备的
45、访问仍然可以执行PAR 奇偶校验 输入/输出 对AD0 AD31和C/BE3C/BE0来说为偶校验位 PERR#奇偶校验错 输入/输出 低电平,表示出现了一次奇偶校验错PRSNT1#存在 输入 这两个管脚是PCI适配器连到+5V或地的连线,PRSNT2#用以表明它的存在和电源消耗REQ#请求 输入 低电平,表示请求作为主控设备对PCI总线的控制。REQ64#请求64位传送 输入/输出 由当前的总线主控设备将其置成低电平,用以表明 希望进行的是64位的数据传送RST#复位 输出 低电平,表示对所有连到PCI总线上的设备都复位。SBO#监视补偿 输入/输出 由总线主控设备将其置成低电平,用以指示对
46、已修改 Cache行查询命中。以支持写贯穿或写回操作SDONE#监视完成 输入/输出 通过一个总线主控设备将其置成高电平,用以表示 当前的查询周期已经完成SERR#系统错误 输入/输出 通过一个总线主控设备将其置成低电平,用以表示 一个地址奇偶错,或其他严重的系统错误STOP#停止 主控目标 低电平,指示主控设备去停止当前的操作TCK 测试时钟 这五个管脚引线用于系统测试 TDI 测试数据输入TDO 测试数据输出TMS 测试方式选择TRST#测试复位 TRDY#目标准备就绪 主控目标 低电平,表明PCI 目标可以接收写数据,或 现在已经准备好去读数据51 64 位 扩 展 部 分 AD32 AD63 多路复用 输入/输出 64位数据总线和地址总线 地址和数据线 的高端部分 C/BE7#多路复用命令 输入/输出 在一个总线周期的数据时间 和字节允许 段期间,这些线表明总线 C/BE4#周期的类型。在一个总线周 期的地址时间段期间,这些线是低电平,表明在数 据传送时会涉及到32位数据 总线上的哪些字节PAR64 奇偶校验64 输入/输出 高或低电平,完成AD32 AD63地址线上和 C/BE7 BE4的偶校验52