CN1194311C - 总线系统延缓交易方法与应用此方法的装置 - Google Patents
总线系统延缓交易方法与应用此方法的装置 Download PDFInfo
- Publication number
- CN1194311C CN1194311C CNB99124821XA CN99124821A CN1194311C CN 1194311 C CN1194311 C CN 1194311C CN B99124821X A CNB99124821X A CN B99124821XA CN 99124821 A CN99124821 A CN 99124821A CN 1194311 C CN1194311 C CN 1194311C
- Authority
- CN
- China
- Prior art keywords
- initiator
- transponder
- identification code
- data
- bus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
一种PCI系统延缓交易的方法,应用于起始器与应答器之间的数据传送,应答器与起始器连接于PCI总线,该方法包括:起始器请求使用PCI总线,以存取该应答器的数据。当应答器能接受起始器的请求,未能即时应答起始器的请求时,产生对应起始器的延缓识别码。应答器送出停止信号以及延缓识别码。当应答器准备好并可应答起始器的请求后,应答器送出延缓识别码。起始器依据延缓识别码,准备送收数据。当起始器准备好后,应答器与起始器开始送收数据。
Description
本发明涉及一种外围设备的控制方法与装置,且特别涉及一种外围设备连接(peripheral component interconnection,PCI)总线的数据传送方法与装置。
图1所示出的便是在电脑结构中使用PCI系统的一种结构。中央处理器10经由主桥接器(host bridge)12连接到PCI总线14。PCI总线14则可以连接多数个PCI兼容的外围设备的主控器(master),其可以如图所示的图形适配器(graphic adapter)16a、扩展总线桥接器(expansion busbridge)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,STOP),用以指示目标装置请求起始器停止目前的数据事项行为。
请参考图2,其示出以PCI总线接口进行一读取操作进行时的操作时序图。以PCI总线进行并完成数据传送的期间称为一总线交易周期(bustransaction)20,其包括一地址周期(address phase)22与数个数据周期(data phase),如24a、24b与24c。每一个数据周期24a/b/c又分别区分为等待周期(wait cycle)26a/b/c与数据传送周期(data transfercycle)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的等待周期26a。在周期T5时,TRDY再度送出,表示数据已经准备好,并在IRDY与TRDY信号均送出的数据传送周期28b期间,起始器从目标装置读取数据。当起始器来不及读取数据时,起始器于周期T6结束送出IRDY信号,此时因为TRDY信号仍送出,所以此等待周期26c系由起始器所发动。待起始器准备好后,于周期T7再送出IRDY信号,此时在IRDY与TRDY信号均送出的数据传送周期28c期间,起始器从目标装置读取数据。至此,完成一读取操作。
在PCI协定规范(如版本2.1)中,有一种称为延迟交易(delayedtransaction)的数据事项方法。所谓延迟交易系指目标装置在PCI规范(PCIspecification)的定义下,无法在起始数据周期(initial data phase)内完成数据传送时所采用的操作程序。主要有两种装置会使用延迟交易操作:输入/输出控制器(I/O controller)与桥接器(bridge)。一般而言,输入/输出控制器一次仅能处理一件延迟交易操作;而桥接器则可以处理多重延缓交易(multiple delayed transaction)以改进系统的效率。
公知的延迟交易操作程序包含三个周期:由主控器发出使用PCI总线的请求;接着,由目标装置完成主控器所发出的请求;最后由主控器完成交易。在整个延迟交易进行期间,主控器会持续不断发出请求信号,以及占据PCI总线的使用权限,并且不断对目标装置发出类似轮询(polling)的操作。
对公知的PCI系统的延迟交易来说,假如一交易被再次尝试,主控器会一再对PCI的总线发出请求信号REQ,并且一直重复此操作。然而,此种公知的延迟交易其主控器持续对PCI总线发出请求,直到数据准备好要传送,这便造成主控器持续占用PCI总线却没有实质的数据传送,故造成总线的使用率降低。
因此本发明的目的就是在提供一种PCI系统的延缓交易的方法,其可以减少PCI兼容的主控器占据使用总线的时间,以提高系统效率。
本发明的另一目的就是在提供一种PCI系统的延缓交易的方法,其做为延缓交易中的目标装置具有类似主控器的功能,其可以自动将已准备好的数据回传给发出请求的主控器。
本发明的又一目的就是在提供一种PCI系统的延缓交易的方法,当目标装置数据未准备好时,可以产生延缓地址与延缓识别码,用以当目标装置将数据准备好时,可以把数据回传给正确发出请求的主控器。
本发明的又一目的就是在提供一种应用PCI系统延缓交易方法的装置,其可以将此PCI系统延缓交易方法加以具体实施。
为达上述与其他的目的,本发明提出一种PCI系统延缓交易方法与应用此方法的装置,其简述如下:
本发明所揭示的是一种总线系统延缓交易的方法,应用于起始器(initiator)与应答器(respondor)之间的数据传送,应答器与起始器系连接于一总线,例如使用PCI总线。总线系统延缓交易的方法包括下列步骤:起始器请求使用PCI总线,以存取应答器的数据。当应答器能接受起始器的请求,但却未能即时应答起始器的请求时,应答器产生对应起始器的延缓识别码。应答器送出应答信号以及延缓识别码,应答信号可以是PCI总线规范所规定的停止信号。当应答器准备好并可应答起始器的请求后,应答器送出延缓识别码。起始器依据延缓识别码,准备送收数据。当起始器准备好后,应答器与起始器开始送收数据。上述的延缓识别码还包括一延缓地址以及一缓冲识别码,其中延缓地址系对应该起始器,而缓冲识别码系对应该应答器内的一交易处理,或对应起始器的一功能装置。
一种总线系统延缓交易的方法,应用于第一起始器、第二起始器与应答器之间的数据传送,第一起始器、第二起始器与应答器连接于一总线,例如使用PCI总线。总线系统延缓交易的方法包括下列步骤:第一起始器请求使用PCI总线,以存取应答器的数据。当应答器能接受第一起始器的请求,但却未能即时应答第一起始器的请求时,应答器产生对应第一起始器的第一延缓识别码。应答器送出应答信号以及第一延缓识别码,应答信号可以是PCI总线规范所规定的停止信号。第二起始器请求使用PCI总线,以存取应答器的数据。当应答器能接受第二起始器的请求,但却未能即时应答第二起始器的请求时,应答器产生对应第二起始器的第二延缓识别码。应答器送出停止信号以及第二延缓识别码。当应答器准备好并可应答第一起始器的请求后,应答器送出第一延缓识别码。第一起始器依据第一延缓识别码,准备送收数据。当第一起始器准备好后,应答器与第一起始器开始送收数据。当应答器准备好并可应答第二起始器的请求后,应答器送出第二延缓识别码。第二起始器依据第二延缓识别码,准备送收数据。当该第二起始器准备好后,应答器与第二起始器开始送收数据。
上述的第一延缓识别码包括一延缓地址以及一缓冲识别码,其中延缓地址对应第一起始器,缓冲识别码对应应答器内的一交易处理。此外,当应答器未能接受第二起始器的请求时,应答器产生无法对应第二起始器之一无效延缓识别码,以告知第二起始器必须重新请求使用PCI总线。
一种总线系统延缓交易的方法,应用于起始器与应答器之间的数据传送,应答器与该起始器连接于一总线,例如使用PCI总线。总线系统延缓交易的方法包括下列步骤:起始器以第一请求信号请求使用PCI总线,以存取应答器的数据。当应答器能接受第一请求信号,但却未能即时应答第一请求信号时,应答器产生对应起始器的第一请求信号的第一延缓识别码。应答器送出应答信号以及第一延缓识别码,应答信号可以是PCI总线规范所规定的停止信号。起始器以第二请求信号请求使用PCI总线,以存取应答器的数据。当应答器能接受第二请求信号,但却未能即时应答第二请求信号时,应答器产生对应起始器的第二请求信号的第二延缓识别码。应答器送出停止信号以及第二延缓识别码。当应答器准备好并可应答第一请求信号后,应答器送出第一延缓识别码。起始器依据第一延缓识别码,准备送收对应第一请求信号的数据。当起始器准备好后,应答器与起始器开始送收对应第一请求信号的数据。当应答器准备好并可应答第二请求信号后,应答器送出第二延缓识别码。起始器依据第二延缓识别码,准备送收对应第二请求信号的数据。当起始器准备好后,应答器与起始器开始送收对应第二请求信号的数据。
上述的第一延缓识别码包括延缓地址以及第一缓冲识别码,第二延缓识别码包括该延缓地址以及第二缓冲识别码,此延缓地址对应起始器,第一缓冲识别码对应应答器内的第一交易处理,第二缓冲识别码对应应答器内的第二交易处理。此外,当应答器未能接受第二请求信号时,应答器产生无法对应起始器的第二请求信号的无效延缓识别码,以告知起始器必须重新送第二请求信号。
为让本发明的上述目的、特征、和优点能更明显易懂,下文特举优选实施例,并配所附图作详细说明。
附图的简单说明:
图1示出在电脑结构中使用PCI系统的一种结构示意图;
图2示出一时序图,用以说明一般PCI系统在进行读取操作,用以简单说明PCI系统的各控制信号;
图3示出用来说明本发明的PCI系统的延缓交易方法的一种范例电路方块的示意图;
图4示出一PCI系统的延迟交易操作的时序图,为本发明在PCI总线上进行延缓存取的时序图;
图5示出在一延缓重试周期(defer retry cycle)期间,地址比特定义的一个例子;
图6示出应用本发明的PCI系统延缓交易方法,并且为多重延缓存取PCI总线的一种时序图;
图7示出起始器所需要的数据少于目标装置所提供的数据的情况下,应用本发明的PCI系统延缓交易方法的时序图;
图8示出在起始器发出多重读取命令的情况下,应用本发明的PCI系统延缓交易方法的时序图;
图9示出目标装置不可使用并且起始器必须重新送出请求信号的情况下,应用本发明的PCI系统延缓交易方法的时序图;
图10示出应用本发明的PCI系统延缓交易方法的与PCI兼容装置的方块图示意图;
图11示出应用本发明的PCI系统延缓交易方法的与PCI兼容装置的另一种方块示意图;
图12示出图11中的同步存取仲裁器的内部结构示意方块图;以及
图13示出当多个功能装置请求数据传送时,数据缓冲器的使用情形。标号说明:
10中央处理器 12主桥接器
14PCI总线 16a图形适配器
16b扩展总线桥接器 16c网络适配器
16d SCSI适配器
20总线交易周期 22地址周期
24a/b/c数据周期 26a/b/c等待周期
28a/b/c数据传送周期
30a、30b起始器 36a、36b、36c功能装置
38a、38b功能装置 32应答器
34 PCI总线 40寄存器
42交易队列 44数据缓冲器
100起始器
102a、102b与102n功能装置
104存储地址队列的装置 106起始器队列管理器
108总线接口 110数据配送器
112延缓识别码比较器 114延缓识别码寄存器
200目标装置 204存储地址队列的装置
208总线接口 210延缓识别码产生器
212数据队列 250 PCI总线
300 中央资源装置
400、400′起始器 402、402′功能装置
402a、402a′功能装置 420 PCI总线(本发明)
430 PCI总线(公知) 440应答器
442控制模块 444存储器控制器
450存储器 460数据缓冲器
404目标装置状态器 406存储地址队列的装置
408仲裁器 410仲裁器
412状态器 412a主控器状态器
412b目标装置状态器 414延缓交易寄存器
414数据配送器 418存储数据堆栈的装置
实施例
请参考图3,其示出用来说明本发明的总线系统的延缓交易方法的一种范例电路方块的示意图。在此实施例中均以PCI总线做为说明之用,本发明的方法不限定必须应在PCI总线。此电路主要由起始器(initiator)30a、30b等与应答器(responder)32所构成,两者藉由PCI总线34所连接。起始器30a、30b等装置可以为与PCI兼容的主控器(master),如区域网络适配器(LAN)、扩展总线桥接器SCSI适配器等等;而应答器32则可以是具有总线仲裁功能的主桥接器,如电脑中芯片组的北桥(north bridge)等。每一起始器30a、30b等均可以具有多数个功能装置(function unit)。起始器30a、30b等均可以送出请求信号(request,REQ)REQ 1、REQ 2用以请求使用PCI总线34。另一方面,应答器32则依据PCI总线34的状态发出允许信号(grant,GNT)GNT 1给起始器30a或信号GNT 2给起始器30b,使起始器30a或起始器30b可以使用PCI总线34。
在系统(如电脑系统)启动后,每一连接于PCI总线34上的与PCI兼容的外围设备,如图3中的起始器(30a或30b)均可以要求一定量的存储器空间,如1MB,其由基本输入输出系统(basic input output system,BIOS)配置1MB大小的存储器给每一外围设备使用,如起始器30a。同时BIOS必须要处理对每一起始器30a、30b的对应地址,并且使应答器32记存。
其次,当应答器能接受起始器30a的请求,但却未能即时应答起始器30a的请求时,应答器32产生对应起始器30a的延缓识别码,且储存于起始器30a中。延缓识别码(deferi dentifier,DID)还包括一延缓地址(deferaddress,DfrA)与一缓冲识别码(buffer identifier,buffer_id),其中延缓地址DfrA对应起始器30a,而缓冲识别码buffer_id对应应答器32内的一交易处理(transaction procedure)。例如,在此可以使用地址中的[3:0]的四个比特来做为缓冲识别码buffer_id,其可以支持16个功能装置。
当起始器30a送出一请求信号REQ1使用PCI总线34时,此时目标装置,即应答器32,若未能将数据准备好以准备传送给起始器30a时,应答器32便会送出一应答信号,此应答信号可以是PCI总线规范所规定的停止信号(STOP)。在此同时,应答器32还会在AD总线送出一延缓识别码DID,其包括一延缓地址DfrA与缓冲识别码buffer_id,用以分别使延缓地址DfrA对应起始器30a,而缓冲识别码buffer_id对应应答器32内的一交易处理。在应答器32中包含一交易队列(transaction queue)42,其中每一交易则对应到一缓冲识别码buffer_id的交易处理。每一缓冲识别码buffer_id则又对应到一数据缓冲器44,此即对应于此缓冲识别码buffer_id要传送给起始器的数据。当应答器32中的数据缓冲器44中的数据准备好并可应答起始器30a的请求后,应答器32送出对应的延缓识别码DID。起始器30a便依据延缓识别码DID,准备送收数据。当起始器30a准备好后,应答器32与起始器30a开始送收数据。
由上所述可以得知,本发明的精神在于使目标装置在回传数据给起始器时具有主控器的功能。在传统的延迟交易操作下,并没有延缓识别码DID,因此起始器并不知道目标装置何时可以将数据准备好,起始器便会持续对同一目标装置发出询问,造成总线的使用效率降低。然而,本发明所提出的方法,目标装置可以在数据准备好后,就将数据自动传回给起始器。因此,起始器仅需要发出一次请求信号,而目标装置可以产生延缓识别码DID,用以当数据准备好时可以正确地回传给发出请求的起始器。
以下将以数个例子来更详细地说明本发明的PCI系统延缓交易方法,但并非用以限制本发明的范围。在此要在强调一点,以下的实施例以读取操作做为说明的例子,本领域技术人员可以将本发明所提出的方法应用于写入等的操作。
第一实施例
请参照图4并配合图3,其示出PCI系统的延迟交易操作的时序图,是
本发明在PCI总线上进行延缓存取(defer access)的时序图。
如图4所示,在周期T1时,起始器30a送出请求信号REQ请求使用PCI总线34,以存取应答器32(目标装置)的数据;于周期T2时,应答器32送出允许信号GNT接受起始器的请求。在周期T3时,起始器30a送出FRAME信号以开始进行交易,并且在AD总线上送出一地址(address),用以指定应答器32,同时并且对此应答器32发出读取命令。当应答器32未能即时应答起始器30a的请求时,应答器32产生对应起始器30a的延缓识别码DID,其包括一延缓迟地址DfrA与一缓冲识别码buffer_id。在周期T5时,应答器32便送出停止信号STOP以及在AD总线送出延缓识别码DID,以告知起始器30a应答器32将在稍后进行一被动性延缓交易(passive delayedtranscation)。此一周期称为延缓重试(defer retry)周期。起始器30a一但收到应答器32所送出的停止信号STOP与延缓识别码DID的信息时,此时在周期T6与T7,起始器30a存储此延缓识别码DID,且由起始器30a所发出的FRAME信号与IRDY信号便回复到高电平,起始器30a便释放出总线34的控制权,并且进入数据等待的模式。同时,在周期T7,应答器32开始进行一内部读取(internal access)操作。此时,当应答器32取得数据后,在周期T19,应答器32送出FRAME信号,开始起始器与应答器之间的数据传送,同时应答器32送出延缓识别码DID。起始器30a取得延缓识别码DID后,与其内部储存的延缓识别码DID比对。当识别码一致时,起始器30a依据延缓识别码DID,准备送收数据。当起始器30a准备好后送出TRDY信号,应答器32与起始器30a开始送收数据。
由上述可以得知,一个完整的延缓交易周期,包括一延缓重试周期(defer retry cycle)与一数据取得周期(data acquisition cycle)。在起始器请求使用PCI总线,而应答器能接受起始器的请求,但却未能即时应答起始器的请求时,应答器产生对应起始器的延缓识别码,并由应答器送出停止信号以及延缓识别码,此一时期称为延缓重试周期。当该应答器准备好并可应答该起始器的请求后,到应答器与起始器之间送收数据完成的时期则为数据取得周期。
请参考图5,其示出在一延缓重试周期(defer retry cycle)期间,地址比特定义出延缓识别码DID的一个例子。延缓识别码DID中的缓冲识别码buffer_id的比特可表示的数目通常与目标装置(应答器)内的数据队列的数目一致。在此例子中,先定义缓冲识别码buffer_id为4个比特[3:0]。对一使用标准PCI规范的多主控器系统(multi-masters system)来说,一个十六条线的数据队列为适合的数目。地址[9:4]保留,做为将来扩充之用。比特[19:12]对应到预期的延迟耗时。因为应答器利用延缓地址[31:20]来请求被动性延迟交易,所以在一个不具有功能装置的起始器系统,定义缓冲识别码buffer_id是不具有特别意义的。但在一具有多个功能装置的起始器中,定义缓冲识别码buffer_id便相当有用,因为起始器会依据缓冲识别码buffer_id将数据传送给对应的功能装置。
请参考图6并配合图3,其示出应用本发明的PCI系统延缓交易方法,并且为多重延缓存取PCI总线的一种时序图。
在图6中,起始器30a在周期T1送出第一次请求信号REQ11st请求使用PCI总线34,以存取应答器32的数据,在周期T2时,应答器32送出允许信号GNT 1接受起始器的请求。在周期T3时,起始器30a送出FRAME信号以开始进行交易。当应答器32未能即时应答第一次请求信号REQ11st时,应答器32产生对应起始器30a的第一次请求信号REQ11st的第一延缓识别码DID1,其包括对应到起始器30a的延缓地址DfrA与对应到第一次请求信号REQ11st的交易处理的缓冲识别码buffer_id1。周期T5时,应答器32送出停止信号STOP以及第一延缓识别码DID1,并且应答器32开始进行对应第一次请求信号REQ11st的内部数据存取。
起始器30a在周期T8送出第二次请求信号REQ12nd请求使用PCI总线34,以存取应答器32的数据。在周期T9时,起始器30a送出FRAME信号以开始进行交易。当应答器32未能即时应答第二次请求信号REQ12nd时,应答器32产生对应起始器30a的第二次请求信号REQ12nd的第二延缓识别码DID 2,其包括对应到起始器30a的延缓地址DfrA与对应到第二次请求信号REQ1的交易处理的缓冲识别码buffer_id2。在周期T12上升缘,应答器32送出停止信号STOP以及第二延缓识别码DID 2,并且应答器32开始进行对应第二次请求信号REQ 1的内部数据存取。
当应答器32准备好并可应答第一次请求信号REQ11st后,应答器32在周期T19送出FRAME信号,以开始进行对应于第一次请求信号REQ11st的数据传送。同时应答器32于AD总线送出延缓地址DfrA,与在CBE线上送出存储器写入命令。应答器32准备好后,于周期T20送出IRDY信号,并在CBE线开始送出缓冲识别码buffer_id1。起始器30a取得并比较所储存的延缓识别码DID1后,送出TRDY信号。起始器30a依据第一延缓识别码DID1,应答器32与起始器30a开始送收对应第一次请求信号REQ11st的数据。
当应答器32准备好并可应答第二次请求信号REQ12nd后,应答器32在周期T31送出FRAME信号,以开始进行对应于第二次请求信号REQ12nd的数据传送。同时应答器32于AD总线送出延缓地址DfrA,与在CBE线上送出存储器写入命令。应答器32准备好后,在周期T32送出IRDY信号,并在CBE线开始送出缓冲识别码buffer_id2。起始器30a取得并比较所储存的延缓识别码DID2后,送出TRDY信号。起始器30a依据第二延缓识别码DID2,应答器32与起始器30a开始送收对应第二次请求信号REQ12nd的数据。
图6的时序图亦可以用来说明相异的两个起始器30a、30b,如分别送出第一请求信号REQ1与第二请求信号REQ2。在此情况下,对应于起始器30a的延缓识别码DID1则包含第一延缓地址DfrA1与第一缓冲地址buffer_id1;而对应于起始器30b的延缓识别码DID2则包含第二延缓地址DfrA2与第二缓冲地址buffer_id2。然,操作时序图则相类似,本领域技术人员可以轻易推导得知,故在此不加以冗述。
在PCI规范中,定义了三种读取方法:一般读取(read)、线读取(lineread)与多重线读取(multiple lines read)。因为起始器是以线基准存取(line based access)方式来对中心资源(如系统存储器)发出读取命令,所以起始器可以执行各种不同的读取命令。因此,为了维持系统效率,由起始器对中心资源(如系统存储器)所进行的存取操作可以略为改变以配合各种不同的读取操作。当起始器需要的数据少于一条线(8DW)时,起始器可以送出一停止信号STOP,用以停止此被动式延迟交易。在该线上被起始器读取后所剩下的数据便不被起始器所使用。
请参考图7,其示出在起始器所需要的数据少于目标装置所提供的数据时的情况下,应用本发明的PCI系统延缓交易方法的时序图。图中的时序图系示出起始器,如图3中的30a,仅需要3DW的数据,然而目标装置却准备一条线的数据,即8DW。
在周期T1,起始器30a送出请求信号REQ1请求使用PCI总线34,以存取应答器32的数据;在周期T2时,应答器32送出允许信号GNT1接受起始器的请求。在周期T3时,起始器30a送出FRAME信号以开始进行交易,并且在AD总线上送出一地址(address),用以指定应答器32,同时并且对此应答器32发出读取命令。当应答器32未能即时应答起始器30a的请求时,应答器32产生对应起始器30a的延缓识别码DID,其包括一延缓迟地址DfrA与一缓冲识别码buffer_id。在周期T5时,应答器32便送出停止信号STOP以及在AD总线送出延缓识别码DID,以告知起始器30a应答器32将在稍后进行一被动性延缓交易。起始器30a一但收到应答器32所送出的停止信号STOP与延缓识别码DID的信息时,此时在周期T6与T7,由起始器30a所发出的FRAME信号与IRDY信号便回复到高电平,起始器30a便释放出总线34的控制权,并且进入数据等待的模式。同时,在周期T7,应答器32开始进行一内部读取(internal access)操作。
当应答器32准备好并可应答起始器30a的请求后,应答器32在周期T19送出FRAME信号,以开始进行对应于起始器30a的数据传送。同时应答器32于AD总线送出延缓地址DfrA,与在CBE线上送出存储器写入命令。应答器32准备好后,在周期T20送出IRDY信号,并在CBE线开始送出缓冲识别码buffer_id。起始器30a取得并比较所储存的延缓识别码DID后,送出TRDY信号。起始器30a依据延缓识别码DID,应答器32与起始器30a开始送收数据。
当起始器30a送收的数据足够时,起始器30a送出停止信号,用以停止起始器30a与应答器32间的数据传送。如图7所示,因为起始器30a仅需要3DW的数据,其少于应答器32所准备的8DW数据量,所以有5DW的数据不会被起始器30a所读取。在周期T23时,起始器30a读完所需要的3DW的数据后,起始器30a便送出停止信号STOP,用以请求结束数据传送的交易。停止信号STOP是在最后一个TRDY信号或TRDY信号停止送出时才被送出。
由上述可以知道,当起始器所需求的数据少于目标装置所能提供的数据时,起始器可以在最后一个TRDY信号或TRDY信号停止送出时,送出一停止信号STOP以结束交易。藉此,可以不必减少起始器占用PCI总线的时间,并且提高系统效率。
请参考图8并配合图3,其示出在起始器30a发出多重读取命令的情况下,应用本发明的PCI系统延缓交易方法的时序图。假如起始器30a发出多重读取命令,以开始进行一被动性延迟交易,在起始器30a送出停止信号终止数据事项前,目标装置会尽可能地从中央资源装置读取数据。由图8可以看出起始器30a需要两条数据线的数据,在停止信号送出前目标装置持续从中央资源请求数据。对起始器30a而言,第3与第4数据线的数据并不需要,所以便弃置而不传回给起始器30a。
在周期T11时,对延缓识别码DID的数据已经准备好,同时目标装置开始存取第二条数据线。当应答器32准备好并可应答起始器30a的请求后,应答器32在周期T13送出FRAME信号,以开始进行对应于起始器30a的数据传送。同时应答器32在AD总线送出延缓地址DfrA,并且在CBE线上送出存储器写入命令。应答器32准备好后,在周期T14送出IRDY信号,并在CBE线开始送出缓冲识别码buffer_id。起始器30a取得并比较所储存的延缓识别码DID后,在周期T15送出TRDY信号。起始器30a依据延缓识别码DID,应答器32与起始器30a开始送收数据。在周期T19时,第二数据线的数据已经准备好,同时目标装置开始存取第三条数据线。在周期T28时,第三数据线的数据已经准备好,同时应答器32开始存取第四条数据线。
因为起始器30a仅需两条数据线的数据,所以在周期T32送出停止信号STOP,以结束延缓交易。因为交易因信号STOP的送出而结束,所以起始器30a不需要的第三与第四条数据线的数据便被弃置。
当一系统满载(fully loaded)时,对一被动性延迟交易而言,应答器32内部数据缓冲器44(图3)已经满了,或者中央资源(如系统存储器)暂时无法存取时,应答器32便无法启动内部存取。此时,应答器32必须告知起始器30a再送出请求信号,用以询问应答器32是否已经将数据准备好。为了达到此目的,应答器32在送出停止信号时,会产生并送出无法对应起始器30a的无效的延缓地址(invalid DfrA)。
请参考图9,其示出应答器32未能接受起始器30a,并且起始器30a必须重新送出请求信号的情况时,应用本发明的PCI系统延缓交易方法的时序图。
在周期T1,起始器30a送出请求信号REQ1请求使用PCI总线34,以存取应答器32的数据;在周期T2时,应答器32送出允许信号GNT1接受起始器的请求。在周期T3时,起始器30a送出FRAME信号以开始进行交易,并且在AD总线上送出一地址(address),用以指定应答器32,同时并且对此应答器32发出读取命令。当应答器32无法接受起始器30a的请求时,应答器32产生无法对应起始器30a的一无效延缓识别码,以告知起始器必须重新送请求信号。在周期T5时,应答器32便送出停止信号STOP以及在AD总线送出无效延缓识别码。
在周期T8,起始器30a重新送出请求信号REQ1请求使用PCI总线34,以存取应答器32的数据;在周期T9时,应答器32送出允许信号GNT1接受起始器的请求。在周期T11时,起始器30a送出FRAME信号以开始进行交易,并且在AD总线上送出一地址,用以指定应答器32,同时在CBE线送出对此应答器32的读取命令。当应答器32可以接受起始器30a的请求但未能即时应答数据时,应答器32产生对应起始器30a的延缓识别码DID,其包括一延缓迟地址DfrA与一缓冲识别码buffer_id。在周期T12,应答器32便送出停止信号STOP以及在AD总线送出延缓识别码DID,以告知起始器30a应答器32将在稍后进行一被动性延缓交易(passive delayedtranscation)。起始器30a一但收到应答器32所送出的停止信号STOP与延缓识别码DID的信息时,此时在周期T14,由起始器30a所发出的FRAME信号与IRDY信号便回复到高电平,起始器30a便释放出总线34的控制权,并且进入数据等待的模式。同时,在周期T14,应答器32开始进行一内部读取(internal access)操作。
当应答器32准备好并可应答起始器30a的请求后,应答器32在周期T19送出FRAME信号,以开始进行对应于起始器30a的数据传送。同时应答器32于AD总线送出延缓地址DfrA,与在CBE线上送出存储器写入命令。应答器32准备好后,于周期T20送出IRDY信号,并在CBE线开始送出缓冲识别码buffer_id。起始器30a取得并比较所储存的延缓识别码DID后,在周期T21送出TRDY信号。起始器30a依据延缓识别码DID,应答器32与起始器30a开始送收数据。
当起始器30a送收的数据足够时,起始器30a在周期T28送出停止信号STOP,用以停止起始器30a与应答器32间的数据传送。
以上以数种例子说明应用本发明的PCI系统延缓交易方法进行PCI兼容装置的起始器与应答器之间的读取操作情形。由上述的各种例子可以知道,在本发明的PCI系统延缓交易方法中,起始器(做为PCI系统的主控器)仅需要发出一次的请求命令,而目标装置(应答器,如电脑系统的北桥部分)在数据准备好后便可以利用所产生的延缓识别码DID来自动将数据回传给发出请求的起始器。
因为起始器在进行延缓交易的过程中不必持续不断地发出请求信号,以询问目标装置是否将数据准备好,所以起始器便不会持续占用PCI总线,可以让另一起始器或连接于同一起始器上的各个功能装置对总线发出请求,用以增加PCI系统的使用效率。
第二实施例
请参考图10,其示出应用本发明的PCI系统延缓交易方法的与PCI兼容装置的方块示意图。
在起始器100中的功能装置,如功能装置102a,发出请求使用PCI总线250的请求。接着起始器100中的存储地址队列的装置104与起始器队列管理器106便依照功能装置102a的请求发出请求信号REQ给PCI总线的仲裁器。做为中央资源管理器(central resource manager)的应答器200通常为仲裁器所在的位置。在应答器(目标装置)200送允许信号GNT给起始器100后,应答器200接受起始器100的请求。起始器100发出FRAME信号与读取命令,用以开始此数据传送交易。应答器200从地址/数据总线(ADbus)取得地址信息后,其总线接口单元(bus interface unit,BIU)208便发出停止信号STOP,用以暂缓此数据事项周期。
同时,应答器200的延缓识别码产生器210会产生一延缓识别码DID,其包括一延缓地址DfrA与一缓冲识别码buffer_id以及其他如图5所示的资讯。当数据队列212已经储存满时,延缓识别码产生器210会将某些延缓地址DfrA比特反相,以产生无法对应到起始器100的无效识别码。上述的总线接口单元208维持在一般的PCI总线协定(版本2.1),其通常为PCI主控器/目标装置兼容控制装置。
同时,在应答器200中的目标装置队列管理器206会对中央资源装置300(如系统存储器)发出请求,在数据从中央资源装置300回传后,目标装置队列管理器206会发出具有由延缓地址产生器210所产生的延缓地址DfrA的一存储器写入周期(memory write cycle)。当起始器100藉由送出装置选择信号DEVSEL来宣称为目标装置地址的拥有者,其中信号DEVSEL为标准PCI规范所制定(版本2.1)。之后,便开始进行被动性延迟交易的数据取得周期。
此时,在应答器200中的目标队列管理器206与总线接口单元208便开始将数据队列212中所储存的数据传到AD总线,经由PCI总线250传送到起始器100中的总线接口108。数据配送器110便依据延缓识别码DID,藉由延缓识别码比较器112进行延缓识别码的比较,故得以将数据传送到正确的功能装置,如本实施例中的功能装置102a。
在本实施例中,起始器100的总线接口单元108与应答器200总线接口单元208应以标准PCI规范操作。然而,因为总线接口单元108、208亦必须与队列管理器106、206一同工作,因此总线接口单元108、208也必须如图6、7、8与9所示的时序图来进行数据传送的工作,亦即必须在本发明所提出的PCI系统延缓交易方法来进行数据传送。
此外,在应答器200中的存储地址队列的装置204的容量大小并不需要与在起始器100中的存储地址队列的装置104的容量大小一致。一般而言,应答器200中的存储地址队列的装置204的容量大小最佳要大于在起始器100中的存储地址队列的装置104的容量大小。此乃因为应答器200做为中央资源管理器,如电脑系统中芯片组的北桥控制单元,其可控制系统存储器;然而,却会有多数个起始器挂在系统的PCI总线上。
为了确保对每一起始器(主控器)的公平原则,因此,应答器200中的存储地址队列的装置204便必须比起始器100中的存储地址队列的装置104容量还大。
以上的说明例子,仅仅做为应用本发明的PCI系统延缓交易方法的一种可以实施的硬件结构。实际的电路实施可应用此方法的系统来加以设计。上述实施例,并非用以限制本发明的范围。
第三实施例
请参考图11,其示出应用本发明的PCI系统延缓交易方法与PCI兼容装置的另一种方块示意图。
PCI总线420满足本发明所提出的PCI系统延缓交易方法的PCI协定规范。PCI总线420上连接多数个起始器400、400′等,每一个起始器(如400)为应用本发明的PCI系统延缓交易方法的同步存取仲裁器(concurrentaccess arbiter,CCA),其可为与PCI系统兼容的主控器。每一个起始器400还可以连接多数个功能装置402,功能装置402也可以使用一般的PCI协定规范(如版本2.1)430来连接,或者其他接口430′,如ISA、EISA等。起始器(同步存取仲裁器)400中具有一仲裁器,其可以处理起始器400与连接于起始器400上的多数个功能装置402、402′等的数据事项裁定,这在下文会详细说明。
应答器440亦连接到PCI总线420上。应答器440可以接收起始器400所送出的请求信号如REQ 0,而回送允许信号GNT给起始器400。在进行延缓交易时,应答器440的控制模块442则可以控制存储器控制器444来存取存储器450。同时,控制模块442亦可以在应答器440未能即时应答起始器400的请求时,产生延缓识别码DID,其包括一延缓地址DfrA与一缓冲识别码buffer_id,延缓地址DfrA对应起始器400,而缓冲识别码对应应答器400内的一交易处理。
请参考图12,所示出的是图11中的同步存取仲裁器(concurrentaccess abrbiter,CCA),其为一种起始器(或称PCI兼容的主控器)400的内部结构示意方框图。
起始器400与应答器440之间以具有本发明的PCI系统延缓交易方法的PCI协定总线420所连接,应答器440则可以是如电脑系统中芯片组的北桥控制单元,其可控制系统存储器。起始器400则可以包含多数个功能装置(function unit)402,其可以藉由一般的PCI协定(如版本2.1)总线430连接到起始器400。
在起始器400中,具有一控制装置410,用以控制目标装置状态器404、存储地址队列的装置406、仲裁器408、状态器412、延缓识别码寄存器414、数据配送器416、存储数据堆栈的装置418等方块的操作。如果功能装置402不是以PCI接口连接到起始器400,上述的目标装置状态器404则可以不需要。状态器412则还包含一主控器状态器412a与目标装置状态器412b。在此实施例中,假设功能装置402是以PCI接口430连接到起始器400。
当功能装置402发出请求时,此时起始器400的地位相当于目标装置(target),而功能装置402为一主控器。目标装置状态器404则记录着在数据事项进行时,有关于数据传送状态的地址周期、数据周期或其他相关状态(PCI规范)等等数据。在地址周期所送出的地址则储存于存储地址队列的装置406之中。
起始器400依据功能装置402的请求,对应答器440送出请求信号。此时,起始器400做为一PCI系统的主控器,而应答器440则做为一目标装置。此时,状态器412中的主控器状态器会记录所有在此项数据事项中所有地址周期、数据周期或其他相关状态(PCI规范)等等数据。
起始器400中的仲裁器408可以来裁定起始器400所连接的多数个相异功能装置402,使得各个功能装置402可以公平地请求起始器400执行数据事项,或者同一功能装置所送出的不同请求。仲裁器408的裁定方法满足一般的PCI协定规范(如版本2.1)。
应答器440中的仲裁器(未示出)在收到起始器400的请求信号后,在PCI总线420可以使用的情况之下,便送出允许信号给起始器400,表示起始器400可以使用PCI总线420。当应答器440尚未将数据准备好即时应答起始器400的请求时,应答器440便产生对应此起始器400的延缓识别码DID,其包括一延缓地址DfrA与一缓冲识别码buffer_id,其中延缓地址DfrA对应起始器400,该缓冲识别码buffer_id对应应答器440内的一交易处理,以对应连接于起始器的其中的一功能装置的交易处理。起始器400比较延缓识别码DID与延缓地址寄存器414即可确认应答器440是否已在处理延缓交易。状态器412中的主控器状态器会记录所有在此项数据事项中所有地址周期、数据周期或其他相关状态(PCI规范)等等数据。
当应答器440将数据准备好,应答器440主动开始数据事项,此时,应答器440的角色类似一PCI系统主控器,而起始器400则做为目标装置的角色。起始器400中的控制装置410依据延缓识别码DID将应答器440回传的数据,经由数据配送器416储存到存储数据堆栈的装置418中,存储数据堆栈的装置418可以为一种先进先出(first in first out,FIFO)的数据结构。之后,再将数据利用PCI协定传送到请求数据的功能装置402中。
请参考图13,其示出当多个功能装置请求数据传送时,应答器440中的数据缓冲器的使用情形。当有多个功能装置请求一数据事项时,在进行延缓交易时,应答器440会对每一发出请求的功能装置产生一缓冲识别码buffer_id,例如图中所示的id0、id1、id2与id3,其分别对应到四个相异的功能装置(可以是连接在同一起始器上或不同的起始器上),或是同一功能装置所送出的不同请求。数据缓冲器460包含两个指针(pointer),一是地址指针(address pointer,adsptr)与一准备好指针(ready pointer,rdyptr)。地址指针adsptr指出数据要写入数据缓冲器460的地址,例如对应于id0是在最底层。当系统存储器450(图11)准备好后,准备好指针rdyptr便指出已准备好数据的地址。藉由地址指针adsptr与准备好指针rdyptr便可以将数据无误地回传给正确的功能装置。由上述可知,即使系统存储器一次仅能处理一笔数据,但PCI系统却可以处理多重延缓的功能。
综上所述,由于起始器400仅发出一次请求信号,应答器440在数据准备好后会自动依据所产生的延缓地址DfrA与延缓识别码DID将数据传送到请求数据的功能装置402。因此,起始器400不会一直占用PCI总线420,因此系统效率便可以大幅提升。再者,多个起始器可以分别发出使用PCI总线的请求,应答器便针对各起始器中的特定功能装置给与一特定的延缓地址DfrA与缓冲识别码buffer_id,因此当应答器数据准备好后,传回给各个功能装置。
以上所列举的实施例,仅仅做为应用本发明的PCI系统延缓交易方法的一种可以实施的硬件结构。实际的电路实施根据应用此方法的系统来加以设计。上述实施例,并非用以限制本发明的范畴。
综上所述,公知的延迟交易在目标装置(或应答器)数据位准备好时,起始器(主控器)便会不断地送出请求信号REQ请求使用PCI总线。因此,起始器便在没有数据传送的期间持续占用PCI总线,使得系统的效率降低。本发明所提出的PCI系统延缓交易方法并不是持续发出请求信号REQ来轮询目标装置是否已经将数据准备好,而是仅仅发出一个请求信号。取而代之的是目标装置具有类似主控器的功能,当目标装置将数据准备好后,便会依据在系统所产生延缓地址与延缓识别码自动把数据传回给发出请求的起始器。因此,本发明的方法可以减少仲裁的时间与增加PCI总线的使用效率。
虽然本发明按照上述实施例进行了描述,然而其并非用以限定本发明,本领域技术人员在不脱离本发明的精神和范围内,可进行各种的改变与润饰,因此本发明的保护范围按所附的权利要求进行限定。
Claims (41)
1.一种总线系统延缓交易的方法,应用于一起始器与一应答器之间的数据传送,该应答器与该起始器连接于一总线,该总线系统延缓交易的方法包括下列步骤:
该起始器请求使用该总线,以存取该应答器的数据;
当该应答器能接受该起始器的请求,但却未能即时应答该起始器的请求时,该应答器产生对应该起始器的一延缓识别码;
该应答器送出一应答信号以及该延缓识别码;
当该应答器准备好并可应答该起始器的请求后,该应答器再次送出该延缓识别码;
该起始器依据该应答器再次送出的该延缓识别码,准备送收数据;以及
当该起始器准备好后,该应答器与该起始器开始送收数据。
2.如权利要求1所述的方法,其中该总线为外围设备连接(PCI)总线。
3.如权利要求1所述的方法,其中该应答信号包含PCI总线规范所规定的停止信号。
4.如权利要求1所述的方法,其中该应答器送出该应答信号以及该延缓识别码时,该起始器储存该延缓识别码。
5.如权利要求1所述的方法,其中该延缓识别码还包括一延缓地址,该延缓地址对应该起始器。
6.如权利要求1所述的方法,其中该延缓识别码还包括一延缓地址以及一缓冲识别码,该延缓地址对应该起始器,该缓冲识别码对应该应答器内的一交易处理。
7.如权利要求6所述的方法,其中该缓冲识别码对应该起始器的一功能装置。
8.如权利要求1所述的方法,还包括:当该起始器送收的数据足够时,该起始器送出该应答信号,用以停止该起始器与该应答器间的数据传送。
9.如权利要求8所述的方法,其中当该起始器读取该应答器的数据,且当该应答器所传送的数据超过该起始器所请求的数据时,该起始器送出该应答信号,用以停止该起始器与该应答器间的数据传送。
10.如权利要求9所述的方法,其中当该起始器请求使用该总线时,该起始器送出一多重线读取命令,以读取该应答器的数据,则当该应答器传送一第一快取线的数据给该起始器时,该应答器自动准备一第二快取线的数据,以使传送的数据得以连续。
11.如权利要求1所述的方法,还包括:当该应答器未能接受该起始器的请求时,该应答器产生无法对应该起始器的一无效延缓识别码,以告知该起始器必须重新请求使用该总线。
12.如权利要求1所述的方法,其中当该应答器送出该应答信号以及该延缓识别码后,该应答器向系统的一中央资源进行数据存取。
13.一种总线系统延缓交易的方法,应用于一第一起始器、一第二起始器与一应答器之间的数据传送,该第一起始器、该第二起始器与该应答器连接于一总线,该总线系统延缓交易的方法包括下列步骤:
该第一起始器请求使用该总线,以存取该应答器的数据;
当该应答器能接受该第一起始器的请求,但却未能即时应答该第一起始器的请求时,该应答器产生对应该第一起始器的一第一延缓识别码;
该应答器送出一应答信号以及该第一延缓识别码;
该第二起始器请求使用该总线,以存取该应答器的数据;
当该应答器能接受该第二起始器的请求,但却未能即时应答该第二起始器的请求时,该应答器产生对应该第二起始器的一第二延缓识别码;
该应答器送出该应答信号以及该第二延缓识别码;
当该应答器准备好并可应答该第一起始器的请求后,该应答器再次送出该第一延缓识别码;
该第一起始器依据该应答器再次送出的该第一延缓识别码,准备送收数据;
当该第一起始器准备好后,该应答器与该第一起始器开始送收数据;
当该应答器准备好并可应答该第二起始器的请求后,该应答器再次送出该第二延缓识别码;
该第二起始器依据该应答器再次发送的该第二延缓识别码,准备送收数据;以及
当该第二起始器准备好后,该应答器与该第二起始器开始送收数据。
14.如权利要求13所述的方法,其中该总线为外围设备连接(PCI)总线。
15.如权利要求13所述的方法,其中该应答信号包含PCI总线规范所规定的停止信号。
16.如权利要求13所述的方法,其中该第一延缓识别码包括一延缓地址,该延缓地址对应该第一起始器。
17.如权利要求13所述的方法,其中该第一延缓识别码包括一延缓地址以及一缓冲识别码,该延缓地址对应该第一起始器,该缓冲识别码对应该应答器内的一交易处理。
18.如权利要求13所述的方法,还包括:当该第一起始器送收的数据足够时,该第一起始器送出该应答信号,用以停止该第一起始器与该应答器间的数据传送。
19.如权利要求13所述的方法,还包括:当该应答器未能接受该第二起始器的请求时,该应答器产生无法对应该第二起始器的一无效延缓识别码,以告知该第二起始器必须重新请求使用该总线。
20.一种总线系统延缓交易的方法,应用于一起始器与一应答器之间的数据传送,该应答器与该起始器连接于一总线,该总线系统延缓交易的方法包括下列步骤:
该起始器以一第一请求信号请求使用该总线,以存取该应答器的数据;
当该应答器能接受该第一请求信号,但却未能即时应答该第一请求信号时,该应答器产生对应该起始器的该第一请求信号的一第一延缓识别码;
该应答器送出一应答信号以及该第一延缓识别码;
该起始器以一第二请求信号请求使用该总线,以存取该应答器的数据;
当该应答器能接受该第二请求信号,但却未能即时应答该第二请求信号时,该应答器产生对应该起始器的该第二请求信号的一第二延缓识别码;
该应答器送出一应答信号以及该第二延缓识别码;
当该应答器准备好并可应答该第一请求信号后,该应答器再次送出该第一延缓识别码;
该起始器依据该应答器再次送出的该第一延缓识别码,准备送收对应该第一请求信号的数据;
当该起始器准备好后,该应答器与该起始器开始送收对应该第一请求信号的数据;
当该应答器准备好并可应答该第二请求信号后,该应答器再次送出该第二延缓识别码;
该起始器依据该应答器再次送出的该第二延缓识别码,准备送收对应该第二请求信号的数据;以及
当该起始器准备好后,该应答器与该起始器开始送收对应该第二请求信号的数据。
21.如权利要求20所述的方法,其中该总线为外围设备连接(PCI)总线。
22.如权利要求20所述的方法,其中该应答信号包含PCI总线规范所规定的停止信号。
23.如权利要求20所述的方法,其中该第一延缓识别码包括一延缓地址以及一第一缓冲识别码,该第二延缓识别码包括该延缓地址以及一第二缓冲识别码,该延缓地址对应该起始器,该第一缓冲识别码对应该应答器内的一第一交易处理,该第二缓冲识别码对应该应答器内的一第二交易处理。
24.如权利要求20所述的方法,还包括:当该起始器送收对应该第一请求信号的数据足够时,该起始器送出该停止信号,用以停止该起始器与该应答器间对应该第一请求信号的数据传送。
25.如权利要求20所述的方法,还包括:当该应答器未能接受该第二请求信号时,该应答器产生无法对应该起始器的该第二请求信号的一无效延缓识别码,以告知该起始器必须重新送该第二请求信号。
26.一种总线系统,包括:
一总线;
一应答器,连接到该总线;以及
一起始器,连接到该总线,用以请求使用该总线以存取该应答器的数据,
该应答器能接受该起始器的请求,但却未能即时应答该起始器的请求时,该应答器产生对应该起始器的一延缓识别码并储存于该起始器中,当该应答器准备好并可应答该起始器的请求后,该应答器送出该延缓识别码,该起始器比较并依据该延缓识别码,与该应答器开始送收数据。
27.如权利要求26所述的总线系统,其中该总线为外围设备连接(PCI)总线。
28.如权利要求26所述的总线系统,其中该应答器还包括一延缓识别码产生器,用以产生该延缓识别码。
29.如权利要求26所述的总线系统,其中该应答器还包括一数据队列,用以寄存该起始器存取该应答器的数据。
30.如权利要求29所述的总线系统,其中该数据队列还连接到一中央资源器。
31.如权利要求26所述的总线系统,其中该起始器还包括一延缓识别码寄存器,用以储存该应答器产生对应该起始器的该延缓识别码。
32.如权利要求26所述的总线系统,其中该延缓识别码还包括一延缓地址,该延缓地址对应该起始器。
33.如权利要求26所述的总线系统,其中该延缓识别码还包括一延缓地址以及一缓冲识别码,该延缓地址对应该起始器,该缓冲识别码对应该应答器内的一交易处理。
34.一种总线兼容起始器,经由一总线连接到一应答器,该总线兼容起始器包括:
一控制装置;
一存储地址队列的装置,连接到该控制装置,用以储存对应到该起始器存取该应答器的一地址信息;
一状态器,连接到该控制装置,包含一主控器状态器,用以当该起始器请求存取该应答器的数据时,记录该起始器的状态,以及一目标装置状态器,用以当该起始器接收该应答器的数据时,记录该起始器的状态;
一延缓识别码寄存器,连接到该控制装置,用以储存该应答器产生的一延缓识别码;
一数据配送器,连接到该控制装置,用以分配该应答器回传给该起始器的数据;以及
一存储数据堆栈的装置,连接到该控制装置、该数据配送器与该存储地址队列的装置,用以储存该数据配送器所分配数据。
35.如权利要求34所述的一种总线兼容起始器,其中该总线为外围设备连接(PCI)总线。
36.如权利要求34所述的总线兼容起始器还包括一功能装置,连接于该存储地址队列的装置与该存储数据堆栈的装置。
37.如权利要求36所述的总线兼容起始器,其中该些功能装置以标准PCI接口连接到该起始器。
38.如权利要求37所述的总线兼容起始器,还包括一目标装置状态器连接到该存储地址队列的装置、该存储数据堆栈的装置与一些功能装置,用以当该起始器接受该功能装置的请求时,记录该起始器的状态,以及一仲裁器,连接于该存储地址队列的装置与该控制装置之间,用以仲裁该起始器与该功能装置间的数据事项。
39.如权利要求34所述的总线兼容起始器,其中该延缓识别码还包括一延缓地址,该延缓地址对应该起始器。
40.如权利要求34所述的总线兼容起始器,其中该延缓识别码还包括一延缓地址与一缓冲识别码,该延缓地址对应该起始器,该缓冲识别码对应该应答器内的一交易处理。
41.如权利要求34所述的总线兼容起始器,其中该数据堆栈为一种先进先出的数据结构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB99124821XA CN1194311C (zh) | 1999-11-18 | 1999-11-18 | 总线系统延缓交易方法与应用此方法的装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB99124821XA CN1194311C (zh) | 1999-11-18 | 1999-11-18 | 总线系统延缓交易方法与应用此方法的装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1297204A CN1297204A (zh) | 2001-05-30 |
CN1194311C true CN1194311C (zh) | 2005-03-23 |
Family
ID=5283614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB99124821XA Expired - Lifetime CN1194311C (zh) | 1999-11-18 | 1999-11-18 | 总线系统延缓交易方法与应用此方法的装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1194311C (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9336167B2 (en) | 2012-12-13 | 2016-05-10 | Texas Instruments Incorporated | I2C controller register, control, command and R/W buffer queue logic |
CN103870415B (zh) * | 2012-12-13 | 2019-02-19 | 德州仪器公司 | 用于在总线上执行事务的方法及系统 |
-
1999
- 1999-11-18 CN CNB99124821XA patent/CN1194311C/zh not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
CN1297204A (zh) | 2001-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1099078C (zh) | 在多处理器系统中的处理器之间传送消息的方法与装置 | |
CN1274123A (zh) | 分区系统的带有动态配置的外围元件互联槽控制装置 | |
CN1037982A (zh) | 在有仲裁的80386/82385微机系统运行中80386对系统总线的抢用 | |
CN1191531C (zh) | 总线系统 | |
US20070294443A1 (en) | Address assignment through device ID broadcast | |
US9430411B2 (en) | Method and system for communicating with non-volatile memory | |
CN1841350A (zh) | 仲裁器和控制仲裁器的方法以及信息处理装置 | |
CN1146804C (zh) | 快速16位分离事务i/o总线 | |
US8966130B2 (en) | Tag allocation for queued commands across multiple devices | |
CN1904873A (zh) | 嵌入式实时操作系统中多核处理器的核间通信方法及装置 | |
CN1330782A (zh) | 非均匀存储器存取(numa)数据处理系统的中断体系结构 | |
CN1864145A (zh) | 用于处理输入/输出命令的方法、系统和程序 | |
CN1728118A (zh) | 资源分配管理 | |
CN110716691B (zh) | 调度方法、装置、闪存设备和系统 | |
US9390033B2 (en) | Method and system for communicating with non-volatile memory via multiple data paths | |
CN1118478A (zh) | 在信息处理系统的不同总线结构之间提供准确和完整的通信的方法和设备 | |
CN1797382A (zh) | 主机设备、设备单元、通信系统和数据发送/接收方法 | |
CN1892630A (zh) | Dma数据传送装置、半导体集成电路装置及数据传送方法 | |
US5754887A (en) | System for limiting access of plurality of requests to peripheral bus by halting transmission to particular peripheral devices and resuming transmission after second predetermined time period expiration | |
CN1262932C (zh) | 通过对插入卡的识别来建立数据传送模式的装置和方法 | |
CN1162770C (zh) | 与硬件有关的软件安装 | |
CN1194311C (zh) | 总线系统延缓交易方法与应用此方法的装置 | |
EP1187029A2 (en) | Peripheral component interconnect arbiter implementation with dynamic priority scheme | |
CN1145893C (zh) | 带有具用于一个共用存储器的接口的多个处理器的装置 | |
US20010004749A1 (en) | Arbitration of control chipsets in bus transaction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CX01 | Expiry of patent term |
Granted publication date: 20050323 |
|
CX01 | Expiry of patent term |