外围元件互连总线兼容主控器及其判定器与判定方法

文档序号:6417410阅读:164来源:国知局
专利名称:外围元件互连总线兼容主控器及其判定器与判定方法
技术领域
本发明涉及一种判定器(Arbiter)及其判定方法,且特别是涉及一种当在PCI(外围元件互连)总线上的响应为延迟交易终止(Delay TransactionTermination)后,能重复传送PCI总线询问信号至PCI总线的多功能主控器(Master),以及其中的判定器与判定方法。


图1所示出的是在电脑架构中使用PCI系统的一种架构。中央处理器10经由主桥接器(host bridge)12耦合到PCI总线14。PCI总线14则可以耦合多数个PCI兼容的外围装置的主控器(master),其可以是如图所示的图形接口(graphic adapter)16a、延展总线桥接器(expansion bus bridge)16b、网路接口(LAN adapter)16c与小型电脑系统主总线接口(SCSI host bus adapter)16d等等。每一主控器均可以送出请求信号(request,RST)请求使用PCI总线14,而主桥接器12中的总线判定器(arbiter)则可送出同意信号(grant,GNT)给主控器,同意其使用PCI总线14。
PCI兼容装置(如主控器或电脑芯片组中的北桥)之间的数据传送主要是由下列的接口控制信号所控制。周期帧(cycle frame,FRAME)是由启动器(其可以是主控器或北桥)所送出,用以指示一存取操作的开始与持续期间。FRAME信号送出时,表示通过PCI总线的数据交易(transaction)开始进行,当FRAME信号维持在低准位则表示数据交易持续进行。此时,地址总线AD便会在地址周期期间送出有效地址(valid address),同时会在命令/字节使能(command/byte enable,CBE[3.0])线送出有效的总线命令(满足PCI规范),用以对目标装置指出启动器所请求的数据交易型态,其中命令/字节使能线是以4位元编码成16种不同的命令,其在PCI规范中有详细定义。紧接所送出的有效地址后,地址总线AD便送出要传送的数据,此时期称为数据周期,同时于CBE线送出编码后总线命令的字节使能信号,藉以传送数据。当FRAME信号停止送出,就表示交易状态为最后一笔数据传送,或是已经完成数据传送。启动器备妥信号(initiator ready,IRDY)与目标装置备妥信号(target ready,TRDY),两者配合使用,用以分别指示起始装置与目标装置已经备妥而可以进行数据传送。在一读取动作进行时,IRDY信号表示启动器准备好接收数据;而在进行一写入操作时,TRDY信号表示目标装置准备好接收数据。停止信号(stop,SROP),用以指示目标装置请求启动器停止目前的数据交易行为。
请参考图2,其示出以PCI总线接口进行一读取操作时的操作时序图。以PCI总线进行并完成数据转移的期间称为一总线交易周期(bustransaction)20,其包括一地址周期(address phase)22,与数个数据周期(dataphase),如24a、24b与24c。每一个数据周期24a/b/c又分别区分为等待周期(wait cycle)26a/b/c与数据转移周期(data transfer cycle)28a/b/c。接着配合图2的时序图,以一读取操作来做为PCI系统操作的简单说明以及前文所述的PCI规范控制信号的作用。
在周期T1时,启动器送出FRAME信号,表示一数据转移将开始进行。并在AD总线送出开始地址(start address),用以指定一目标装置,同时于CBE线送出一读取命令。紧接着送出的读取命令,CBE线会送出经过编码后命令的字节使能信号(byte enable),此字节使能信号在整个数据周期期间(包括24a、24b与24c)会一直持续送出。在周期T2时,启动器送出备妥信号IRDY,表示可以开始收送数据,然而此时目标装置并未能备妥,此时期为数据周期24a的等待周期26a,是启动器等待目标装置将数据备妥。在周期T3时,目标装置已经备妥并且送出备妥信号TRDY,因此在IRDY与TRDY信号均送出的数据转移周期28a期间,启动器从目标装置读取数据。目标装置在周期T4结束送出TRDY信号,以表示结束数据传送,并且开始准备第二笔数据,此时为数据周期24b的等待周期26b。在周期T5时,TRDY再度送出,表示数据已经备妥,并在IRDY与TRDY信号均送出的数据转移周期28b期间,启动器从目标装置读取数据。当启动器来不及读取数据时,启动器于周期T6结束送出IRDY信号,此时因为TRDY信号仍送出,所以此等待周期26c是由启动器所发动。等启动器备妥后,于周期T7再送出IRDY信号,此时在IRDY与TRDY信号均送出的数据转移周期28c期间,起始器从目标装置读取数据。至此,完成一读取操作。
传统上,在任何特定的总线周期中,只有一个主控器可经由总线而通信。因此,一个多功能主控器中的各功能装置,在利用总线作数据传输之前,首先主控制必须请求并接收到总线主控权的授与。而在一些简单的系统中,多功能主控器在其所有功能装置完成数据交易前,不会释放出总线的主控权。
请同时参照图3及图4,图3示出的是现有技术的一种与PCI总线兼容的具有多功能主控器的方块图,以及图4示出的是图3的主控器使用一种传统循环判定方式的数据传输的时序图。
连接至PCI总线40的多功能主控器30,其内部包括有一判定器32及数个不同功能的功能电路,即功能电路34、36与38。判定器32与总线判定器31两者并不相同,总线判定器31用以判定主控器30及连接于PCI总线40上的其他主控器(未显示),以授权其使用PCI总线40,而判定器32是用以判定功能电路34、36与38,以授权其使用主控器30的资源,例如当主控器30获得总线判定器31的授权时,某一功能电路必须获得判定器32的授权,方能通过判定器32来使用PCI总线40。
功能电路34与36分别可包括通信接口、基本输出入功能接口等外围连接接口的控制电路等,且分别连接至外围装置33与35。功能电路38配置于主控器30内部,其可独自完成特定功能,如数字信号处理器(DSP)等。另外,外围装置42可直接与判定器32搭配,无须通过功能电路来控制或转换信号,其直接连接至主控器30的判定器32,藉以直接送出信号至判定器32中。
传统上,假如外围装置33发出一读取请求时,功能电路34会发出请求信号(request)至判定器32中,若判定器32同意功能电路34的请求,接着主控器30(判定器32)会送出一请求信号至总线判定器31中。此时PCI总线40上若无其他主控器正在使用,则总线判定器31会送出同意信号给主控器30(判定器32),以同意其使用PCI总线40。随后,判定器32会送出同意信号(如图4中所示之A)给功能电路34,然后功能电路34便可以通过判定器32,开始送出请求信号给PCI总线40,以等待请求数据的响应。此时,若功能电路38与外围装置42依序也请求使用PCI总线40时,由于PCI总线40目前正被功能电路34所使用,因此必须等到功能电路34完全接收其所请求的数据后,功能电路38与外围装置42才会如上所述,依序被同意使用PCI总线40。
当功能电路34所请求的数据准备好时,功能电路34会开始从PCI总线40接收其的请求数据,并将之传送至外围装置33,其中功能电路34占用PCI总线40的时间如图4的TA所示,而其于PCI总线40上的实际数据交易时间为TA1,因此由图可以看出,约有一大半的占用总线时间被浪费掉。
在功能电路34接收其请求数据完毕后,由于PCI总线40的使用授权者仍是主控器30,除非总线判定器31停止主控器30的授权,否则判定器32会继续上述请求数据的动作,亦即接着会同意功能电路38的请求,并依照上述功能电路34的数据交易的方式来获取数据。然后,判定器32会同意外围装置42使用PCI总线40,使其得到其所请求的数据,其中图4的TB与TC分别代表功能电路38与外围装置42占用PCI总线40的时间,而TB1与TC1分别代表功能电路38与外围装置42的实际数据交易时间。等到提出请求的功能电路都得到其请求数据后,若无其他功能电路请求使用PCI总线40时,主控器30会释放出PCI总线40的使用权限,以供其他连接于其上的主控器使用。
由图4可得知,功能电路34、38与外围装置42占用PCI总线40的总时间耗费为T,因此约有一大半的PCI总线40主动时间(active time),亦即PCI总线40可真正传输数据的时间被浪费掉,使得PCI总线40的使用效率大为降低。
此外,由于目前的PCI总线上的目标装置(Target),尤其是一般担负总线判定器功能的主桥接器,有些具有多延迟(Multi-delay)功能,若将其应用在提供有管线(Pipeline)功能(亦即可同时处理多个命令动作)的动态随机存取存储器(DRAM)上,将可使此种具有多延迟交易功能的主桥按器更能有效发挥其性能。所以依照上述传统的方式,不仅浪费了不少PCI总线的主动时间,而且每一功能电路或外围装置,必须依序等待使用总线,造成某一功能电路或外围装置,可能只需短暂使用总线,却必须排队良久,而降低PCI系统的整体效能,因此现有技术主控器的判定器及其判定方式确实有修正的必要。
有鉴于此,本发明的目的就是提供一种PCI总线兼容主控器以及其中的判定器与判定方法,以解决现有技术占用PCI总线时间过长,造成严重降低PCI总线的使用效率的缺点。
本发明的另一目的,是提供一种PCI总线兼容主控器以及其中的判定器与判定方法,使主控器的多个功能装置,可同时送出个别的数据存取请求至PCI总线,并使先备妥数据所对应的功能装置,有机会先利用PCI总线存取数据,使得每一请求PCI总线的装置有较平均的延迟时间,进而提高PCI系统的整体效能。
为达到上述和其他目的,本发明提供一种PCI总线兼容主控器及其中的判定器,主控器包括功能电路以及判定器。功能电路发出本地询问信号给判定器,以请求在PCI总线上传输数据,而判定器包括循环询问调度器(RotatingInquiry Scheduler,简称RIS)以及启发式询问启动器(Heuristic InquiryIntiator,简称HⅡ)。耦合到功能电路的循环询问调度器接收及储存本地询问信号,并依据本地询问信号,将总线询问信号送至启发式询问启动器,启发式询问启动器依据总线询问信号,将PCI总线询问信号送至PCI总线。当PCI总线上的响应为延迟交易终止后,启发式询问启动器重复传送PCI总线询问信号至PCI总线;当PCI总线上的响应并非延迟交易终止时,启发式询问启动器通知循环询问调度器,而循环询问调度器使功能电路在PCI总线上传输数据。
上述循环询问调度器至少包括询问队列以及响应队列。循环询问调度器接收功能电路的本地询问信号后,将其储存至询问队列,然后循环询问调度器依据本地询问信号,将总线询问信号送给启发式询问启动器。当启发式询问启动器依据总线询问信号,取得PCI总线的授权,将PCI总线询问信号送至PCI总线时,循环询问调度器将储存在询问队列的本地询问信号清除,并将其转存至响应队列。而当PCI总线的响应并非为延迟交易终止时,循环询问调度器依据储存在响应队列的本地询问信号,来建立必须的数据通路,使功能电路在PCI总线上传输数据,并清除置放于响应队列中的本地询问信号。
上述启发式询问启动器包括缓冲电路、寄存器以及计时器。耦合至循环询问调度器的缓冲电路接收并暂存总线询问信号,并依据总线询问信号传送PCI总线询问信号至PCI总线上。耦合至缓冲电路以及寄存器的计时器,其依据寄存器所储存的延迟时间值,来发出通知信号给缓冲电路,以通知缓冲电路再次送出PCI总线询问信号至PCI总线上。上述缓冲电路包括地址快取存储器与运算器。地址快取存储器可快速存取总线询问信号内的位址信息,而运算器依据储存于地址快取存储器的地址信息或循环询问调度器刚送来的总线询问信号,来送出PCI总线询问信号至PCI总线。
上述启发式询问启动器可以包括多组相对应的缓冲电路、寄存器以及计时器,以同时处理多个总线询问信号,而启发式询问启动器更具有运算器,此运算器连接这些缓冲电路,并依据这些PCI总线询问信号,依序送出PCI总线询问信号至PCI总线上。
上述启发式询问启动器设定延迟时间值的方法,包括下列步骤首先令延迟时间值等于预先设定的延迟时间预定值,而计时器发出通知信号至缓冲电路,以通知缓冲电路再次送出PCI总线询问信号至PCI总线后,当PCI总线上的响应并非为延迟交易终止,而且延迟时间值大于延迟时间预定值时,令新的延迟时间值为目前延迟时间值减去延迟减少相差值,而当PCI总线再一次响应延迟交易终止时,令新的延迟时间值为目前延迟时间值加上延迟增加相差值。
为达到上述和其他目的,本发明还提供一种PCI总线兼容主控器的判定方法,包括下列步骤首先提供多个功能电路,而这些功能电路发出多个本地询问信号,以请求在PCI总线上传输数据;接着依序将这些本地询问信号储存,并依据这些本地询问信号,送出多个总线询问信号;再依据这些总线询问信号,将多个PCI总线询问信号送至PCI总线上。然后,当PCI总线上的响应为延迟交易终止后,重复传送对应此延迟交易终止的PCI总线询问信号至PCI总线上;当PCI总线上的响应并非为延迟交易终止时,使对应的功能电路,在PCI总线上传输数据。
上述PCI总线兼容主控器的判定方法,还包括下列步骤先提供延迟时间值;在PCI总线响应延迟交易终止后,开始计时,当时间到达此延迟时间值时,再次传送对应此延迟交易终止的PCI总线询问信号至PCI总线。其中提供延迟时间值的方法,包括下列步骤首先令延迟时间值等于预先设定的延迟时间预定值;当PCI总线的响应并非为延迟交易终止,而且延迟时间值大于延迟时间预定值时,令新的延迟时间值为目前延迟时间值减去延迟减少相差值;当PCI总线再一次响应延迟交易终止时,令新的延迟时间值为目前延迟时间值加上延迟增加相差值。
本发明提供的一种PCI总线兼容主控器以及其中的判定器与判定方法,可判定主控器的多个功能装置的总线请求,同时送出个别功能装置的数据存取请求至PCI总线,并重复传送PCI总线询问信号至总线上,利用具有多延迟交易功能的目的装置,使先备妥的数据所对应的功能装置,有机会先利用PCI总线传输数据,可使PCI总线的主动时间增加,并使得每一功能电路有较平均的延迟时间,进而使PCI总线的使用效率大为提高。
为让本发明的上述和其他目的、特征、和优点能更明显易懂,下文特举较佳实施例,并配合附图,作详细说明如下
实施例在PCI总线协议规范(如版本2.1)中,有一种称为延迟交易(delayedtransaction)的数据交易方法。所谓延迟交易是指目标装置(Target)在PCI规范(PCI specification)的定义下,无法完成起始数据周期(initial data phase)所采用的操作程序。主要有两种装置会处理延迟交易操作输入/输出控制器(I/Ocontroller)与桥接器(bridge)。一般而言,输入/输出控制器一次仅能处理一件延迟交易操作;而桥接器则可以处理多重延迟交易(multiple delayed transaction)以改进系统的效率。
已知的延迟交易操作程序包含三个阶段1.由主控器在PCI总线发出存取目标装置的请求,目标装置记忆此请求后,目标装置在PCI总线上开始一具有重试的目标启动终止(Target Initiated Termination with Retry),又叫做延迟交易终止(Delay Transaction Termination),来主动结束此请求;接着,2.由目标装置备妥主控器所发出的请求;最后,3.由主控器主动重新发出原先存取目标装置的请求,以完成数据交易。在整个延迟交易进行期间,主控器会持续不断发出PCI总线询问信号,以及占据PCI总线的使用权限,并且不断对目标装置发出类似轮询(polling)的操作。
图8示出一PCI系统的延迟交易操作的读取交易时序图,请参照图8,在周期T1时,主控器送出请求信号REQ请求使用PCI总线,以存取目标装置的数据;于周期T2时,具有总线判定器的主桥接器送出同意信号GNT接受主控器的请求。在周期T3时,主控器送出FRAME信号以开始进行交易,并且在AD总线上送出一地址(address),用以指定目标装置,同时并且对此目标装置发出读取命令。当目标装置未能即时响应主控器的请求时,目标装置记忆主控器此一请求的相关信息,在周期T5时,目标装置便送出停止信号STOP以结束此请求,之后,例如在周期T6时,主控器取消REQ及FRAME信号,随后同意信号GNT取消,PCI总线因而释放出来。上述的时序即为延迟交易终止的时序。
接着目标装置依据所存储请求的相关信息,准备好主控器所要读取的数据,等待主控器主动发出存取目标装置的请求,来完成真正数据读取交易。在周期T17时,主控器再度送出请求信号REQ请求使用PCI总线,于周期T18时,同意信号GNT被送出,以接受主控器的请求。在周期T19时,主控器送出FRAME信号以开始进行交易,并且在AD总线上送出与上一次相同的地址及相同的读取命令,此时主控器与目标装置分别驱动IRDY与TRDY信号,开始正常的读取交易。如果目标装置无法迅速备妥数据,主控器会持续不断发出读取目标装置的信号,以及占据PCI总线的使用权限,来不断发出类似轮询的操作。
请参照图5,其示出的是依照本发明一较佳实施例的一种PCI系统的具有多功能主控器的方块图。本发明所提供PCI系统的主控器50,其与现有技术最大的不同点在于其内部的判定器52与现有技术的判定器32(图3)两者组成及判定方式不同,本发明的判定器52主要是由一循环询问调度器(Rotating Inquiry Scheduler,RIS)60与一启发式询问启动器(Heuristic InquiryInitiator,HⅡ)70所组成。此外,本发明利用PCI总线规范中的延迟交易功能,亦即PCI总线上的目标装置具有延迟交易功能,尤其是一般具有总线判定器51的主桥接器65更可具有多延迟交易的功能。
耦合至PCI总线56的主控器50,其内部可包括判定器52及至少一个不同功能的功能电路,例如功能电路53、54与55,其中判定器52与功能电路53、54与55的连接方式,可以通过总线型式或是以各自独立的电路连接来相互通信,可以是符合部分PCI总线规范的内部总线,甚至是特殊定义的接口规范。判定器52与总线判定器51两者并不相同,总线判定器51是用以判定主控器50及连接于PCI总线56上的其他主控器(未显示),以授权其使用PCI总线56,而判定器52用以判定功能电路53、54与55,以授权其使用主控器50的资源,例如当主控器50获得总线判定器51的授权时,某一功能电路必须获得判定器52的授权,方能通过判定器52来使用PCI总线56。
功能电路53与54分别可包括通信接口、基本输出入功能接口等外围连接接口的控制功能电路等,且分别连接至外围装置58与59。功能电路55配置于主控器50内部,其可独自完成特定功能,如数字信号处理器(DSP)等。另外,外围装置61符合判定器52的接口规范,无须通过功能电路来控制或转换信号,其直接连接至主控器50的判定器52,藉以直接送出信号至判定器52的循环询问调度器60中。
请同时参照图5、图6与图7,图6示出的是本发明判定器的循环询问调度器60的方块示意图,以及图7示出的是本发明判定器的启发式询问启动器70的方块示意图。
循环询问调度器60是做为询问信号收集器,其至少包括询问队列(Inqtiry Queue)62与响应队列(Response Queue)64两部分。询问队列62用以接收及储存功能电路53、54与55或外围装置61的本地询问信号(一般包括目标地址信息的请求信号),并依据这些本地询问信号,依序传送对应这些本地询问信号的多个总线询问信号至启发式询问启动器70中。某些情况下总线询问信号与本地询问信号其实是相同的,视实际应用的电路而定。当启发式询问启动器70依据总线询问信号,取得PCI总线56的授权,成功将对应的PCI总线询问信号送给PCI总线56时,循环询问调度器60将储存在询问队列62的本地询问信号清除,并将其转存至响应队列64,以等待对应的数据传输。一旦对应的数据响应并可传输后,循环询问调度器60会与对应的功能电路建立适当的数据通路以传输数据,同时在响应队列64中,对应的本地询问信号会被消除掉。
启发式询问启动器70是做为询问过程的最后一阶段,不同于一般的请求启动器(request initiator),其是由一连串的逻辑(logics)与简单的算法(algorithm)所构成,包括数个计时器72a~72c、寄存器74a~74c、缓冲电路76a~76c与一运算器78,其中每一缓冲电路76a~76c例如包括一地址快取存储器79与一运算器80。地址快取存储器79可快速存取总线询问信号内的地址信息,而运算器80依据储存于地址快取存储器的地址信息或启发式询问启动器刚送来的总线询问信号,来送出PCI总线询问信号至PCI总线。每一寄存器74a~74c储存有目标装置的一般延迟时间(latency)预定值。计时器72a~72c用以依据寄存器74a~74c的延迟时间值,发出通知信号至缓中电路76a~76c中,以通过其再次送出PCI总线询问信号至PCI总线,询问其请求数据的目标装置是否已备妥。运算器78连接这些缓冲电路76a~76c,并依据缓冲电路76a~76c送出的PCI总线询问信号,依序送出PCI总线询问信号至PCI总线上。在最简单的应用中,可能只有一组计时器、寄存器及缓冲电路,此时运算器78就可以省略。同样地,在某些情况下总线询问信号与PCI总线信号其实是相同的。
举例来说,假如外围装置58发出一读取请求时,功能电路53会送出对应的本地询问信号A至判定器52的询问队列62中,随后循环询问调度器60会将此本地询问信号A储存在询问队列62的第一位置MI中,并将此本地询问信号A传送至启发式询问启动器70的缓冲电路中。此时,若功能电路54与55依序也送出本地询问信号B与C时,同样地,本地询问信号B与C依序会被储存在询问队列62的第二位置M2与第三位置M3中,这些动作可以一直持续,直到询问队列62满溢(full)为止。
以启发式询问启动器70的第一组计时器72a、寄存器74a与缓冲电路76a为例,当缓冲电路76a接收到循环询问调度器60传来的总线询问信号后,缓冲电路76a会通过运算器78,取得PCI总线56的授权,成功将对应的PCI总线询问信号送给PCI总线56,此后,循环询问调度器60将储存在询问队列62的本地询问信号A清除,同时本地询问信号A会被置放在响应队列64的第一位置N1,以等待请求数据的响应,而PCI总线56也会被释放出供其他装置使用。
由于本实施例所提出的主桥接器65具有延迟或多延迟交易的功能,假设主桥接器65为各功能电路存取数据的目标装置,主桥接器65接收到对应本地询问信号A的PCI总线询问信号后,会立即以延迟交易终止来响应,并会开始准备对应本地询问信号A的数据。此外,若功能电路54与55依序也送出本地询问信号B与C,则对应本地询问信号B与C的PCI总线询问信号依序会经由缓冲电路76b与76c送至PCI总线中。同样地,成功将对应本地询问信号B与C的PCI总线询问信号送给PCI总线56后,询问队列62中的本地询问信号B与C会被消除掉,同时本地询问信号B与C会被置放在响应队列64的第二位置N2与第三位置N3,以等待对应数据的响应,并且PCI总线56也会被释放出供其他装置来使用。
刚开始时寄存器74a储存一延迟时间预定值,当缓冲电路76a感测得知PCI总线的响应为延迟交易终止时,计时器72a会开始计数,当计时器72a计数到寄存器74a储存的延迟时间值时,送出通知信号至缓冲电路76a,接着缓冲电路76a会再次送出对应本地询问信号A的PCI总线询问信号,以询问主桥接器65其请求数据是否已备妥。若第二次请求成功(亦即数据已备妥,PCI总线的响应并非延迟交易终止)且寄存器74a的预定值等于延迟时间预定值,则寄存器74a所储存的值不改变。若第二次请求成功且寄存器74a储存的延迟时间值大于延迟时间预定值时,则寄存器74a储存的延迟时间值会减去一延迟减小相差值。若第二次请求失败(亦即数据仍然尚未备妥,PCI总线的响应为延迟交易终止),则寄存器74a储存的延迟时间值会加上一延迟增加相差值,然后重复上述计数与询问通知方式,直到所请求的数据传输为止。
因此,启发式询问启动器70是通过PCI总线56送出请求至主桥接器65中,当主桥接器65备妥其请求数据时,则主桥接器65响应在PCI总线上并非为延迟交易终止,而缓冲电路会将此状态通知循环询问调度器60,循环询问调度器60依据储存在响应队列64的本地询问信号,来建立必须的数据通路,使对应的功能电路在PCI总线上传输数据,最后并清除置放于响应队列64中的本地询问信号。
上述中,启发式询问启动器70会依序将每一功能电路的请求送至主桥接器65中来请求所需的数据信号,在送完对应的PCI总线询问信号后,主桥接器65会送出一停止信号(STOP)以释放出PCI总线56供其他装置使用,并且主桥接器65会开始准备对应这些请求的数据。因此,本发明不需像现有技术方法一样,必须等到前一个请求处理完后,才能处理下一个请求,当然本发明较佳的是主桥接器65具有多延迟交易的功能。
综上所述,本发明所提供的一种PCI总线兼容主控器,其中的判定方法,包括下列步骤首先提供多个功能电路,这些功能电路可以在主控器之内,或在外部的外围电路中,而这些功能电路发出多个本地询问信号,以请求在PCI总线上传输数据;接着,依序将这些本地询问信号储存,并依据这些本地询问信号,送出对应的多个总线询问信号,当然本地询问信号与总线询问信号可以是相同;接着,暂存并依据这些总线询问信号,将对应的多个PCI总线询问信号送至PCI总线上。然后,当PCI总线上的响应为延迟交易终止,重复传送对应此延迟交易终止的PCI总线询问信号至PCI总线上,以查询PCI总线上的目标装置数据备妥与否;当PCI总线上的响应并非延迟交易终止时,表示目标装置数据已备妥,此时利用原先储存的这些本地询问信号的数据,使对应的功能电路,在PCI总线上传输数据。
上述判定方法,在重复传送对应延迟交易终止的PCI总线询问信号至PCI总线的步骤,还包括下列子步骤首先必须提供一延迟时间值,本实施例是由寄存器中读取;当PCI总线响应延迟交易终止后,则开始计时;当时间到达此延迟时间值时,再次传送对应此延迟交易终止的PCI总线询问信号至PCI总线。其中延迟时间值的调整方法,包括下列步骤首先令延迟时间值等于预先设定的延迟时间预定值(由寄存器中读取);当PCI总线的响应并非延迟交易终止,而且延迟时间值等于延迟时间预定值时,不改变延迟时间值;当PCI总线的响应并非延迟交易终止,而且延迟时间值大于延迟时间预定值时,令新的延迟时间值为目前延迟时间值减去延迟减少相差值(储存新的延迟时间值至寄存器中);当PCI总线再一次响应延迟交易终止时,令新的延迟时间值为目前延迟时间值加上延迟增加相差值。
如此可控制重复传送PCI总线询问信号至PCI总线的频率,避免太过频繁,降低了PCI总线的效率,或是太过稀疏,使每一功能电路等待数据的平均延迟过长。一般来说,如果着重在使多主控器的PCI系统,其中的主控器存取数据更加平衡,则对应的延迟增加相差值要大于延迟减少相差值。如果主控器对传输延迟的请求较高,则对应的延迟增加相差值要小于延迟减少相差值。
因此,不论有几个功能电路同时要向目标装置请求数据时,功能电路仅需传送本地询问信号至判定器的循环询问调度器中,然后通过其内部的启发式询问启动器进行处理,之后仅需等到目标装置备妥请求数据后,功能电路即可从由判定器安排,获得其所请求的数据,而现有技术必须等到请求数据传输完后,才能进行其他请求动作。此外,PCI总线的占用时间,仅包括启发式询问启动器送出PCI总线询问信号及与目标装置真正传输数据等时间,因此占用PCI总线的总时间耗费可大为减少,使得PCI总线使用效率大为提高。而且,本发明提出的循环询问调度器不一定要使用两个队列来实行,当然可以是两个以上。
综上所述,本发明至少具有以下优点(1)可同时送出多个功能装置的个别数据存取请求至PCI总线,无须如现有技术般必须依序等待使用PCI总线,本发明依据一延迟时间值重复询问目标装置是否备妥请求数据,使先备妥数据所对应的功能电路,有机会先利用PCI总线存取数据,则每一功能电路有较平均的延迟时间,进而提高PCI系统的整体效能。
(2)可利用PCI总线的延迟交易的规范,于接收完功能电路的请求相关信息后,随即释放出PCI总线,真正传输数据才持续占用PCI总线,使得占用PCI总线的总时间耗费减少,亦即增加PCI总线的主动时间,使得PCI总线的使用效率大为提高。
(3)可与先前的PCI总线兼容。
虽然本发明已经以较佳实施例公开如上,然而其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围的情况下,可作出各种更动与修改,因此本发明的保护范围以后附权利请求书所界定的为准。
权利要求
1.一种总线兼容主控器,耦合至一总线,所述总线兼容主控器包括一功能电路,用以发出一本地询问信号,以请求在所述总线上传输数据以及一判定器,包括一循环询问调度器,耦合至所述功能电路;以及一启发式询问启动器,耦合至所述循环询问调度器以及所述总线;所述循环询问调度器接收及储存所述本地询问信号,并依据所述本地询问信号,将一总线询问信号送至所述启发式询问启动器中,所述启发式询问启动器依据所述总线询问信号,将一总线询问信号送至所述总线,当所述总线响应一延迟交易终止后,所述启发式询问启动器重复传送所述总线询问信号至所述总线,当所述总线的响应并非所述延迟交易终止时,所述启发式询问启动器通知所述循环询问调度器,所述循环询问调度器使所述功能电路在所述总线上传输数据。
2.如权利要求1所述的总线兼容主控器,其中所述循环询问调度器包括一询问队列以及一响应队列,所述循环询问调度器接收所述功能电路的所述本地询问信号后,将其储存至所述询问队列,所述循环询问调度器依据所述本地询问信号,将所述总线询问信号送至所述启发式询问启动器中,当所述启发式询问启动器依据所述总线询问信号,取得所述总线的授权,将所述总线询问信号送至所述总线时,所述循环询问调度器将储存在所述询问队列的所述本地询问信号清除,并转存至所述响应队列。
3.如权利要求2所述的总线兼容主控器,其中当所述总线的响应并非所述延迟交易终止时,所述循环询问调度器依据储存在所述响应队列的所述本地询问信号,来建立必须的数据通路,使所述功能电路在所述总线上传输数据,同时清除置放于所述响应队列中的所述本地询问信号。
4.如权利要求1所述的总线兼容主控器,其中所述启发式询问启动器包括一缓冲电路,耦合至所述循环询问调度器,用以接收并暂存所述总线询问信号,并依据所述总线询问信号传送所述总线询问信号至所述总线;一寄存器,所述寄存器储存一延迟时间值;以及一计时器,耦合至所述缓冲电路以及所述寄存器,所述计时器用以依据所述延迟时间值,发出一通知信号至所述缓冲电路,以通知所述缓冲电路再次送出所述总线询问信号至所述总线。
5.如权利要求4所述的总线兼容主控器,其中所述启发式询问启动器包括多组相对应的所述缓冲电路、所述寄存器以及所述计时器,以同时处理多个总线询问信号,所述启发式询问启动器还包括一运算器,所述运算器连接这些缓冲电路,用以依据这些缓冲电路的这些总线询问信号,依序送出这些总线询问信号至所述总线。
6.如权利要求4所述的总线兼容主控器,其中所述缓冲电路包括一地址快取存储器与一运算器,所述地址快取存储器用以快速存取所述总线询问信号的一地址信息,所述运算器用以依据所述地址快取存储器的所述地址信息与所述循环询问调度器刚送来的所述总线询问信号二者择一,以送所述PCI总线询问信号至所述总线。
7.如权利要求4所述的总线兼容主控器,其中所述启发式询问启动器设定所述延迟时间值的方法,包括下列步骤令所述延迟时间值等于一延迟时间预定值;所述计时器发出所述通知信号至所述缓冲电路,以通知所述缓冲电路再次送出所述总线询问信号至所述总线;当所述总线的响应并非所述延迟交易终止,且所述延迟时间值大于所述延迟时间预定值时,令所述延迟时间值为所述延迟时间值减去一延迟减少相差值;以及当所述总线再一次响应所述延迟交易终止时,令所述延迟时间值为所述延迟时间值加上一延迟增加相差值。
8.如权利要求1所述的总线兼容主控器,其中所述本地询问信号等于所述总线询问信号。
9.如权利要求1所述的总线兼容主控器,其中所述总线询问信号等于所述总线询问信号。
10.如权利要求1所述的总线兼容主控器,其中所述总线耦合一目标装置,所述目标装置具有多延迟交易的功能。
11.如权利要求1所述的总线兼容主控器,其中所述总线包括PCI总线。
12.一种总线兼容主控器的判定器,所述总线兼容主控器耦合至一总线,所述判定器包括一循环询问调度器,耦合至一功能电路;以及一启发式询问启动器,耦合至所述循环询问调度器以及所述总线;所述循环询问调度器接收及储存所述功能电路的一本地询问信号,并依据所述本地询问信号,将一总线询问信号送至所述启发式询问启动器中,所述启发式询问启动器依据所述总线询问信号,将一总线询问信号送至所述总线,当所述总线响应一延迟交易终止后,所述启发式询问启动器重复传送所述总线询问信号至所述总线,当所述总线的响应并非所述延迟交易终止时,所述启发式询问启动器通知所述循环询问调度器,所述循环询问调度器使所述功能电路在所述总线上传输数据。
13.如权利要求12所述的总线兼容主控器的判定器,其中所述循环询问调度器包括一询问队列以及一响应队列,所述循环询问调度器接收所述功能电路的所述本地询问信号后,将其储存至所述询问队列,所述循环询问调度器依据所述本地询问信号,将所述总线询问信号送至所述启发式询问启动器中,当所述启发式询问启动器依据所述总线询问信号,取得所述总线的授权,将所述总线询问信号送至所述总线时,所述循环询问调度器将储存在所述询问队列的所述本地询问信号清除,并转存至所述响应队列。
14.如权利要求13所述的总线兼容主控器的判定器,其中当所述总线的响应并非所述延迟交易终止时,所述循环询问调度器依据储存在所述响应队列的所述本地询问信号,来建立必须的数据通路,使所述功能电路在所述总线上传输数据,同时清除置放于所述响应队列中的所述本地询问信号。
15.如权利要求12所述的总线兼容主控器的判定器,其中所述启发式询问启动器包括一缓冲电路,耦合至所述循环询问调度器,用以接收并暂存所述总线询问信号,并依据所述总线询问信号传送所述总线询问信号至所述总线;一寄存器,所述寄存器储存一延迟时间值;以及一计时器,耦合至所述缓冲电路以及所述寄存器,所述计时器用以依据所述延迟时间值,发出一通知信号至所述缓冲电路,以通知所述缓冲电路再次送出所述总线询问信号至所述总线。
16.如权利要求15所述的总线兼容主控器的判定器,其中所述启发式询问启动器包括多组相对应的所述缓冲电路、所述寄存器以及所述计时器,以同时处理多个总线询问信号,所述启发式询问启动器还包括一运算器,所述运算器连接这些缓冲电路,用以依据这些缓冲电路的这些总线询问信号,依序送出这些总线询问信号至所述总线。
17.如权利要求15所述的总线兼容主控器的判定器,其中所述缓冲电路包括一地址快取存储器与一运算器,所述地址快取存储器用以快速存取所述总线询问信号的一地址信息,所述运算器用以依据所述地址快取存储器的所述地址信息与所述循环询问调度器送来的所述总线询问信号二者择一,以传送所述总线询问信号至所述总线。
18.如权利要求15所述的总线兼容主控器的判定器,其中所述启发式询问启动器设定所述延迟时间值的方法,包括下列步骤令所述延迟时间值等于一延迟时间预定值;所述计时器发出通知信号至所述缓冲电路,以通知所述缓冲电路再次送出所述总线询问信号至所述总线;当所述总线的响应并非所述延迟交易终止,且所述延迟时间值大于所述延迟时间预定值时,令所述延迟时间值为所述延迟时间值减去一延迟减少相差值以及当所述总线再一次响应所述延迟交易终止时,令所述延迟时间值为所述延迟时间值加上一延迟增加相差值。
19.如权利要求12所述的总线兼容主控器的判定器,其中所述本地询问信号等于所述总线询问信号。
20.如权利要求12所述的总线兼容主控器的判定器,其中所述总线询问信号等于所述总线询问信号。
21.如权利要求12所述的总线兼容主控器的判定器,其中所述总线耦合一目标装置,所述目标装置具有多延迟交易的功能。
22.如权利要求12所述的总线兼容主控器的判定器,其中所述总线包括PCI总线。
23.一种总线兼容主控器的判定方法,所述总线兼容主控器耦合至一总线,所述判定方法包括下列步骤提供多个功能电路,这些功能电路提供多个本地询问信号,以请求在所述总线上传输数据;依序将这些本地询问信号储存,并依据这些本地询问信号,送出多个总线询问信号;依据这些总线询问信号,将多个总线询问信号送至所述总线;当所述总线响应一延迟交易终止后,重复传送对应所述延迟交易终止的所述总线询问信号至所述总线;以及当所述总线的响应并非所述延迟交易终止时,使对应的所述功能电路,在所述总线上传输数据。
24.如权利要求23所述的总线兼容主控器的判定方法,还包括下列步骤提供一延迟时间值;当所述总线响应所述延迟交易终止后,开始计时;以及当时间到达所述延迟时间值时,再次传送对应所述延迟交易终止的所述总线询问信号至所述总线。
25.如权利要求23所述的总线兼容主控器的判定方法,其中提供所述延迟时间值的方法,包括下列步骤令所述延迟时间值等于一延迟时间预定值;当所述总线的响应并非所述延迟交易终止,且所述延迟时间值大于所述延迟时间预定值时,令所述延迟时间值为所述延迟时间值减去一延迟减少相差值;以及当所述总线再一次响应所述延迟交易终止时,令所述延迟时间值为所述延迟时间值加上一延迟增加相差值。
26.如权利要求23所述的总线兼容主控器的判定方法,其中所述总线包括PCI总线。
全文摘要
一种PCI总线兼容主控器及其判定器与判定方法,判定器包括循环询问调度器及启发式询问启动器。耦合到功能电路的循环询问调度器接收及储存本地询问信号,启发式询问启动器将对应本地询问信号的PCI总线询问信号送至PCI总线。当总线上响应为延迟交易终止后,启动式询问启动器重复传送PCI总线询问信号至总线;当总线上响应并非延迟交易终止时,功能电路在总线上传输数据。本发明提高PCI总线使用效率,并使每一请求PCI总线的功能装置有较平均的延迟时间。
文档编号G06F13/16GK1297205SQ9912485
公开日2001年5月30日 申请日期1999年11月19日 优先权日1999年11月19日
发明者赖瑾, 蔡兆爵, 杨镇平, 蔡奇哲 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1