CN1217274C - 多延迟读取交易装置及其操作方法 - Google Patents

多延迟读取交易装置及其操作方法 Download PDF

Info

Publication number
CN1217274C
CN1217274C CN 99124454 CN99124454A CN1217274C CN 1217274 C CN1217274 C CN 1217274C CN 99124454 CN99124454 CN 99124454 CN 99124454 A CN99124454 A CN 99124454A CN 1217274 C CN1217274 C CN 1217274C
Authority
CN
China
Prior art keywords
request
address
bus
storer
data
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
Application number
CN 99124454
Other languages
English (en)
Other versions
CN1297203A (zh
Inventor
赖瑾
蔡兆爵
杨镇平
蔡奇哲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Via Technologies Inc
Original Assignee
Via Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Via Technologies Inc filed Critical Via Technologies Inc
Priority to CN 99124454 priority Critical patent/CN1217274C/zh
Publication of CN1297203A publication Critical patent/CN1297203A/zh
Application granted granted Critical
Publication of CN1217274C publication Critical patent/CN1217274C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

一种与PCI总线兼容的多延迟读取交易装置及其操作方法,所述装置包括:请求存储器、数据存储池及控制器。接收到主控器的请求信号时,将此信号的地址存储于请求存储器,控制器发出延迟交易终止至PCI总线,并向数据存储池请求对应该地址的数据信息,主控器再发出同一请求信号时,控制器在检明此请求信号的地址及相应数据信息都存于请求存储器后,回应数据信息至相应主控器,并消除请求存储器中的地址。本发明可充分利用PCI总线及缩短请求数据的延迟时间。

Description

多延迟读取交易装置 及其操作方法
本发明涉及一种与PCI总线兼容的装置,特别涉及一种与PCI总线兼容,并可同时对多个主控器(master)的读取请求进行数据准备,以大量缩短请求数据的延迟时间的多延迟读取交易(Multi delay read transaction)装置及其操作方法。
随着半导体技术的大力发展,电脑已普及至生活中的每一个角落,成为日常生活中不可或缺的有用工具。而图形取向的操作系统,如WINDOWS或OS/2等需要在中央处理器与周边装置之间进行大量的数据传输。如果周边装置的传输频宽无法与中央处理器匹配,则会造成数据传送的瓶颈。为了解决此瓶颈问题,提出了各种高速局域总线(local bus)结构。周边装置互连总线(peripheral component interconnection bus,PCI bus)便是其中一种。
图1是在电脑结构中使用PCI系统的一种结构。中央处理器10经由主桥接器(host bridge)12耦接到PCI总线14。PCI总线14可以耦接多个PCI兼容的周边装置的主控器(master),例如图中所示的图形适配器(graphicadapter)16a、扩展总线桥接器(expansion bus bridge)16b、网络适配器(LAN adapter)16c与小型电脑系统主总线适配器(SCSI host busadapter)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的等待周期26b。在周期T5时,TRDY再度送出,表示数据已经备妥,并在IRDY与TRDY信号均送出的数据转移周期28b期间,起始器从目标装置读取数据。当起始器来不及读取数据时,起始器在周期T6结束送出IRDY信号,此时因为TRDY信号仍送出,所以此等待周期26c由起始器所发动。等起始器备妥后,在周期T7再送出IRDY信号,此时在IRDY与TRDY信号均送出的数据转移周期28c期间,起始器从目标装置读取数据。至此,完成一读取操作。
一般系统在任何特定的总线周期中,只有一个主控器可经由总线通信。因此,想要交易数据的各装置在进行交易之前,首先必须请求并接收到总线主控权的授与。在现有的简单系统中,主控器在完成数据交易前,不会释放出总线的主控权。然而,在一些情况下,可能迫使主控器让出总线的主控权,例如:当目标装置无法即时回应主控器的请求时,目标装置可发出适当的信号,来通知主控器让出总线主控权。
在PCI总线协定规格(如版本2.1)中,有一种称为延迟交易(delayedtransaction)的数据交易方法。所谓延迟交易是指目标装置(Target)在PCI规格(PCI specification)的定义下,无法完成起始数据周期(initial dataphase)所采用的操作程序。主要有两种装置会处理延迟交易操作:输入/输出控制器(I/O controller)与桥接器(bridge)。
延迟交易操作程序系包含三个时序:1.由主控器在PCI总线发出存取目标装置的请求,目标装置存储此请求后,目标装置在PCI总线上开始一具有重试的目标启动终止(Target Initiated Termination with Retry),又叫做延迟交易终止(Delay Transaction Termination),来主动结束此请求;接着,2.由目标装置备妥主控器所发出的请求;最后,3.由主控器主动重新发出原先存取目标装置的请求,以完成数据交易。在整个延迟交易进行期间,主控器会持续不断发出PCI总线询问信号,以及占据PCI总线的使用权限,并且不断对目标装置发出类似轮询(poling)的操作。
对于主控器的存取方式来说,较早期的做法为无延迟(No delay)的数据交易方式。举例来说,请再同时参照图1与图2,当主控器(起始器)例如网络适配器16c发出一读取请求,要读取系统存储器11的数据时,如果主桥接器12(目标装置)无法立即由系统存储器11读取并备妥数据,此时主桥接器12持续使TRDY信号维持不动作,亦即使数据周期24a的等待周期26a拉长,一直到主桥接器12将数据备妥,主桥接器12送出TRDY信号后,网络适配器16c才能开始真正进行读取数据。
由于网络适配器16c在进行读取操作时,PCI总线14因网络适配器16c的读取请求而被占住,此时若有另一主控器例如SCSI适配器16d也要读取系统存储器11的数据、或与图形适配器16a相互通信时,其将不会被允许使用PCI总线14,亦即所发出的任何请求将被视为无效,必须等到网络适配器16c完成读取操作而释放出PCI总线14后,SCSI适配器16d才能经由PCI总线14通过主桥接器12来进行读取操作。因此,此种无延迟的数据交易方法已不符合效率的要求。
现有的另一种方法为单一延迟(single delay)的延迟交易方式。所谓的单一延迟是指目标装置虽然具有处理延迟交易的能力,却只能处理一个延迟交易的需求,也就是说,当目标装置发出延迟交易终止后,在对应于此延迟交易终止的数据未真正传送前,其他对此目标装置的数据交易需求虽然仍可获得此目标装置以延迟交易终止来回应,但目标装置视为从未收过这些数据交易需求。举例来说,请同时参照图1与图3,图3是当多个主控器在同一目标装置请求数据时,利用单一延迟的延迟交易的总线耗时图。
首先,当网络适配器16c(第一主控器)发出读取请求以读取系统存储器11的数据时,主桥接器12(目标装置)无法立即由系统存储器11读取并备妥数据,此时主桥接器12发出具有重试的目标启动终止,亦即发出延迟交易终止,以通知网络适配器16c释放出PCI总线14,从网络适配器16c发出读取请求到其释放出PCI总线14,占据PCI总线共T1r的时间。此后,主桥接器12开始由系统存储器11读取数据,约需Td的时间方可备妥数据。
当SCSI适配器16d(第二主控器)也要存取系统存储器11的数据时,SCSI适配器16d也以主桥接器12为目标装置,发出读取请求,此时,由于主桥接器12仅能处理单一延迟的装置,故主桥接器12根本无法处理此请求,此时主桥接器12同样发出具有重试的目标启动终止,以使SCSI适配器16d释放出PCI总线,从SCSI适配器16d发出读取请求到其释放出PCI总线14,占据PCI总线共T2r1的时间。
当主桥接器12备妥对应于网络适配器16c所请求的数据后,由于网络适配器16c不会刚好立即来询问主桥接器12是否备妥数据,假设必须再等T1w的时间,网络适配器16c才再发出读取请求,主桥接器12与网络适配器16c便真正开始传送数据,经过T1t的数据传输时间后,才结束此延迟交易。对于此次数据读取交易,共需要T1的时间,其中T1=T1r+Td+T1w+T1t。
接着,若SCSI适配器16d再发出读取请求,距离上一次结束读取请求,已经经过T2w1的时间,如上所述,主桥接器12发出具有重试的目标启动终止,耗费PCI总线共T2r2的时间后,才会再开始准备请求的数据。再经Td的时间后,主桥接器12的数据备妥,同样再等T2w2的时间,SCSI适配器16d才再发出读取请求,主桥接器12与SCSI适配器16d利用T2t的时间真正传输数据后,此延迟交易结束。对于此次数据读取数据,共需要T2的时间,其中T2=T2r1+T2w1+T2r2+Td+T2w2+T2t。
由前述可知,网络适配器16c的数据交易的延迟时间(latency)为TLAT1=Td+T1w,但是SCSI适配器16d的数据交易的延迟时间却为TLAT2=T2w1+T2r2+Td+T2w2。而在一般情况下,由于T2w1大于真正传输时间T1t,且数据传输时间T1t又大于数据准备时间Td,故SCSI适配器16d的数据交易的延迟时间TLAT2约大于2Td+T2r2+T2w2。因此,在现有的单一延迟的延迟交易方式中,虽然在准备网络适配器16c所需数据的同时,其他主控器仍可通过释放出的PCI总线14相互通信,然而一旦SCSI适配器16d也要读取系统存储器11的数据时,反而比先前无延迟交易的方式更加耗费时间。
有鉴于此,本发明的一个目的是提供一种多延迟读取交易装置及其操作方法,以改善现有的单一延迟交易方式造成延迟时间过长的问题。
本发明的另一个目的是提供一种多延迟读取交易装置及其操作方法,可同时对多个主控器的读取请求进行数据找取的动作,以缩短个别主控器的请求数据的延迟时间。
为达到上述和其他目的,本发明提供了一种多延迟读取交易装置,该装置连接在PCI总线上,而该PCI总线上接有至少一个主控器,形成一种PCI总线系统,所述多延迟读取交易装置包括:请求存储器(queue)、数据存储池(data pool)以及控制器。耦接至PCI总线的请求存储器,可存储这些主控器的复数个请求信号中的复数个地址,以及存储对应于这些地址的复数个数据信息。耦接至请求存储器的数据存储池,可依据这些请求信号的地址取出对应的数据信息,并将这些数据信息传送至请求存储器。控制器与PCI总线、请求存储器及数据存储池都耦接在一起。
当所述多延迟读取交易装置接收到主控器的请求信号时,控制器检查这些请求信号的地址。然后,当这些地址不存在于请求存储器中时,则将这些地址存储在请求存储器中,且控制器发出延迟交易终止至PCI总线,同时控制器向数据存储池请求对应于这些地址的数据信息;当这些地址已经存在于请求存储器中,而对应于这些地址的数据信息却不存在于请求存储器中时,控制器发出延迟交易终止至PCI总线;当这些地址已经存在于请求存储器中,且对应于这些地址的数据信息也存储在请求存储器中时,回应这些地址所对应的数据信息至对应的主控器,并消除在请求存储器中的这些地址。
上述请求存储器包括地址存储器以及数据存储器,地址存储器用以存储这些请求信号的地址,而数据存储器用以存储对应于这些地址的数据信息。上述数据存储池耦接至系统资源存储器,而系统资源存储器存储这些数据信息。
本发明所提供的多延迟读取交易装置的操作方法,包括下列步骤:首先接收主控器的复数个请求信号,再检查这些请求信号的复数个地址。然后,当这些地址不存在于请求存储器中时,则将这些地址存储在请求存储器中,且控制器发出延迟交易终止至PCI总线,同时控制器向数据存储池请求对应于这些地址的数据信息;当这些地址已经存在于请求存储器中,而对应于这些地址的数据信息不存在于请求存储器中时,控制器发出延迟交易终止至PCI总线。
数据存储池接受控制器的请求后,依据所述地址取出对应的数据信息,并将这些数据信息传送至请求存储器中暂存。接着,再接收到这些主控器的请求信号,并检查这些请求信号的地址,当这些地址已经存在于请求存储器中,且对应于这该些地址的数据信息存储在请求存储器时,回应这些请求信号所对应的数据信息至对应的主控器,并消除在请求存储器中对应于这些数据信息的地址。
本发明还提供了一种总线系统,包括一总线以及耦接于所述总线上的一多延迟读取交易装置与复数个主控器,其中所述多延迟读取交易装置包括:一请求存储器,耦接至所述总线,用以存储所述主控器的复数个请求信号的复数个地址,以及存储对应于所述地址的复数个数据信息;一数据存储池,耦接至所述请求存储器,可依据所述请求信号的所述地址取出对应的所述数据信息,并将所述数据信息传送至所述请求存储器;以及一控制器,耦接至所述总线、所述请求存储器及所述数据存储池;当所述多延迟读取交易装置接收到所述主控器的所述请求信号时,所述控制器检查所述请求信号的所述地址;当所述地址不存在于所述请求存储器中时,则将所述地址存储在所述请求存储器中,且所述控制器发出延迟交易终止至所述总线,同时所述控制器向所述数据存储池请求对应于所述地址的所述数据信息;当所述地址已经存在于所述请求存储器中,而对应于所述地址的所述数据信息不存在于所述请求存储器中时,所述控制器发出延迟交易终止至所述总线;当所述地址已经存在于所述请求存储器中,且对应于所述地址的所述数据信息存储在所述请求存储器中时,回应所述请求信号所对应的所述数据信息至对应的所述主控器。
本发明所提供的多延迟读取交易装置及其操作方法,可同时对多个主控器的读取请求,进行对应上述读取请求的数据准备,同时可随时保持PCI总线于闲置状态,让其他周边连接装置可随时相互通信,达到充分利用PCI总线及大量缩短请求数据的延迟时间的功能,从而解决现有的单一延迟交易方式所遇到延迟时间过长的问题。
为使本发明的上述和其他目的、特征、和优点能更明显易懂,下面结合附图对其优选实施例进行详细描述,附图中:
图1是在电脑结构中使用PCI系统的一种结构图;
图2是一读取操作进行时的系统时序图;
图3是当多个主控器在同一目标装置请求数据时,利用现有的单一延迟的交易的总线耗时图;
图4是依照本发明一优选实施例的多延迟交易的系统时序图;
图5是当多个主控器在同一目标装置请求数据时,利用本发明的多延迟的延迟交易的总线耗时图;以及
图6是依照本发明一优选实施例的一种多延迟读取交易装置的方块图。
附图中的标号说明:
10:中央处理器        11、260:系统存储器
12:主桥接器          14、250:PCI总线
16a:图形适配器       16b:扩展总线桥接器
16c:网络适配器       16d:SCSI适配器
20:总线交易          22:地址周期
24:数据周期          26:等待周期
28:数据传送周期      30:211~213:主控器
200:多延迟读取交易装置        220:请求存储器
221:数据存储器                222:地址存储器
230:控制器                    240:数据存储池
实施例
请参考图4并结合图1,图4是应用本发明一优选实施例的多延迟交易的系统时序图。在图4中,主控器,如图1中的网络适配器16c(第一主控器)以及SCSI适配器16d(第二主控器),发出四个不同的读取周期,用以存取PCI总线14上的目标装置(主桥接器12)。
在周期T1时,网络适配器16c发出请求信号REQ 1以请求使用PCI总线14;而SCSI适配器16d在周期T8时发出信号REQ 2以请求使用PCI总线14。主桥接器12则分别于周期T2与T9回应同意信号GNT 1与GNT 2,同意网络适配器16c与SCSI适配器16d使用总线14。
网络适配器16c在周期T3发出一FRAME信号表示数据交易可以开始进行,并在时钟脉冲T3时从AD总线送出地址以及从CBE送出读取(read)命令与字节使能(BE)信号。在周期T4,网络适配器16c送出IRDY信号,表示网络适配器16c已经备妥。此时,主桥接器12将此请求记存住,并开始准备对应于此请求的数据信息,因为主桥接器12的TRDY信号未送出,表示主桥接器12无法即时将数据备妥传送给网络适配器16c,主桥接器12回应一延迟交易终止,亦即在周期T5时,送出一停止信号STOP,而网络适配器16c便结束送出请求信号REQ 1。
其次,SCSI适配器16d在周期T10发出FRAME信号表示开始进行数据读取交易,并在时钟脉冲T10从AD总线送出地址以及从CBE送出读取(read)命令与字节使能(BE)信号。在周期T11送出IRDY信号表示SCSI适配器16d已经备妥。此时,因为主桥接器12为本发明的一种多延迟读取交易装置,主桥接器12同样将此请求记存住,并开始准备对应于此请求的数据信息,此时目标装置(主桥接器12)的TRDY信号并未送出,表示主桥接器12无法及时将数据传送给起SCSI适配器16d,接着主桥接器12回应一延迟交易终止,主桥接器12在周期T12时,送出一停止信号STOP,SCSI适配器16d便结束送出请求信号REQ 2。
在周期T5与T12时停止信号STOP由主桥接器12送出,并在周期T6与T13,对应于网络适配器16c与SCSI适配器16d的FRAME信号停止送出。网络适配器16c与SCSI适配器16d便在周期T6与T13停止发出请求信号REQ 1与REQ 2。之后,在周期T7与T14停止信号停止送出,主桥接器12(即目标装置)便分别开始进行对应于此两请求的内部存取的操作。
在周期T9时,网络适配器16c再度发出请求信号REQ 1以请求使用PCI总线14;而SCSI适配器16d在周期T16时发出请求信号REQ 2以请求使用PCI总线14。主桥接器12则分别于周期T15与T22回应同意信号GNT1与GNT2,同意网络适配器16c与SCSI适配器16d使用总线14。
对应于网络适配器16c的请求的数据信息首先备妥后,网络适配器16c在周期T19时,送出FRAME信号,开始进行数据读取交易,并且从AD总线送出与上一次请求相同的地址以及从CBE送出读取命令。主桥接器12比较此请求,确认其请求已经备妥,即在周期T21送出TRDY信号,网络适配器16c与主桥接器12便开始进行数据取得周期(周期T21到T24)。在传送网络适配器16c的数据信息时,对应于SCSI适配器16d的请求的数据信息也在主桥接器12内备妥,SCSI适配器16d在周期T28时,送出FRAME信号,开始进行数据读取交易,并且从AD总线送出与上一次请求相同的地址以及从CBE送出读取命令。在周期T30,主桥接器12送出TRDY信号,开始进行数据取得周期(周期T30到T37)。
举例来说,请同时参照图1与图5,图5是当多个主控器在同一目标装置请求数据时,利用本发明的多延迟的延迟交易的总线耗时图。
首先,当网络适配器16c(第一主控器)发出读取请求以读取系统存储器11的数据时,主桥接器12(目标装置)无法立即由系统存储器11读取并备妥数据,此时主桥接器12将此请求记存住,并开始准备对应于此请求的数据信息,同时发出具有重试的目标启动终止,亦即发出延迟交易终止,以通知网络适配器16c释放出PCI总线14,其中从网络适配器16c发出读取请求到其释放出PCI总线14,占据PCI总线共T1r的时间。此后,主桥接器12开始由系统存储器11读取数据,约需Td的时间方可备妥数据。
当SCSI适配器16d(第二主控器)也要存取系统存储器11的数据时,SCSI适配器16d也以主桥接器12为目标装置,发出读取请求,此时,因为主桥接器12为本发明的一种多延迟读取交易装置,故主桥接器12同样将此请求记存住,并开始准备对应于此请求的数据信息,主桥接器12同样发出具有重试的目标启动终止,以使SCSI适配器16d释放出PCI总线14,其中从SCSI适配器16d发出读取请求到其释放出PCI总线14,占据PCI总线共T2r1的时间。此后,主桥接器12开始由系统存储器11读取数据,约需Td的时间方可备妥数据。
当主桥接器12备妥对应于网络适配器16c所请求的数据后,由于网络适配器16c不会刚好立即来询问主桥接器12是否备妥数据,假设必须再等T1w的时间,网络适配器16c才再发出读取请求,主桥接器12与网络适配器16c便真正开始传送数据,经过T1t的数据传输时间后,才结束此延迟交易。对于此次数据读取交易,共需要T1的时间,其中T1=T1r+Td+T1w+T1t。
接着,当主桥接器12也备妥对应于SCSI适配器16d所请求的数据时,同样地,因为SCSI适配器16d也不会刚好立即来询问主桥接器12是否备妥数据,假设必须再等T2w2的时间,SCSI适配器16d才再发出读取请求,主桥接器12与SCSI适配器16d便真正开始传送数据,经过T2t的数据传输时间后,才结束此延迟交易。对于此次数据读取交易,共需要T2的时间,其中T2=T2r1+Td+T2w2+T2t。
由前述可知,网络适配器16c的数据交易的延迟时间为TLAT1=Td+T1w,而SCSI适配器16d的数据交易的延迟时间为TLAT2=Td+T2w2。因此,将本发明SCSI适配器16d与先前所提及的单一延迟的延迟交易方式两者所耗费的数据读取交易时间相比较,本发明比现有方式可减少大约T2w1+T2r2的数据读取交易时间。所以,由于本发明可同时对多个主控器的读取请求,进行数据准备的动作,故可以大大地缩短主控器请求数据的延迟时间,进而增进整体系统效率。
请参照图6,该图是依照本发明一优选实施例的一种多延迟读取交易装置的方块图。
本发明的多延迟读取交易装置200,可设计布置(layout)于主桥接器例如芯片组内,其包括请求存储器(request queue)220、控制器(controller)230及数据存储池(data pool)240,其中请求存储器220系由数据存储器221与地址存储器222所组成。请求存储器220耦接至PCI总线250,其内部的地址存储器222用以存储主控器211~213的请求信号的地址,数据存储器221用以存储对应于主控器211~213的请求信号的地址的数据信息。
控制器230也耦接至PCI总线250,一开始请求存储器220中的地址存储器222并未存储有任何地址,当控制器230接收到请求信号时,控制器230送出一停止信号STOP至PCI总线250中,以释放(release)出PCI总线250供其他装置使用,而此时请求信号的地址存储至地址存储器222中,控制器230也送出请求信号的地址给数据存储池240,以请求备妥对应于此地址的数据信息。数据存储池240耦接至请求存储器220及控制器230,通常将数据存储池240接至系统存储器260,其依据请求信号的地址取出系统存储器260内对应的数据信息,并将对应的数据信息传送至请求存储器220的数据存储器221中。
下面叙述本发明的多延迟读取交易装置的操作方法,当主控器211发出读取请求以读取系统存储器260的数据时,首先,控制器230检查此读取请求的地址,例如地址ADDR 0,是否在地址存储器222中,由于一开始请求存储器220中的地址存储器222并未存储有任何地址,故地址ADDR 0被存储在地址存储器222中。接着控制器230将地址ADDR 0送至数据存储池240中,同时送出停止信号至PCI总线250中,以释放出PCI总线250给其他装置使用,例如:主控器212可通过PCI总线250与主控器213相互通信。接着数据存储池240依据此地址信息ADDR0至系统存储器260读取数据,例如同步动态随机存取存储器(SDRAM)中。
在上述情况下,假如主控器212也要读取系统存储器260的数据,同样,主控器212发出一读取请求,接着此读取请求的地址,例如地址ADDR 1,同样被存储在地址存储器222,控制器230将地址ADDR 1送给数据存储池240以请求数据,同时送出停止信号至PCI总线250中,以释放出PCI总线250供其他装置使用。接着数据存储池240依据此地址信息ADDR 1至系统存储器260读取数据。
当主控器221的请求信息再来时,控制器230同样检查此读取请求的地址ADDR 0,是否在地址存储器222中,此时,发现此地址已经在地址存储器222中,控制器230继续判断对应于地址ADDR 0的数据信息DATA 0是否已存储在数据存储器221。若数据存储器221中没有对应于地址ADDR 0的数据DATA 0时,控制器230同样地再送出停止信号至PCI总线250中,以释放出PCI总线250。若数据存储池240已将对应于地址ADDR 0的数据DATA 0送至数据存储器221中时,此时控制器230建立数据通路,以将此数据DATA 0送至主控器211中。当主控器211接收完数据DATA 0后,地址ADDR 0从地址存储器222中消除,以代表完成数据读取动作。
若主控器212的请求信息再来时,其操作方法同上所述。换句话说,每隔一段时间主控器211与212送出请求信号来查询其所请求的数据是否准备好,不论主控器211与212谁先请求,只要数据存储池240一准备好数据,即传送对应于地址ADDR 0或ADDR 1的请求数据DATA 0或DATA 1至数据存储器221中,等到主控器211或212的请求信号再来时,主控器211或212可立即得到其所请求的数据信息。
综上所述,本发明具有以下优点:
(1)目标装置在准备数据时,主控器不会持续占据PCI总线,使得PCI总线可经常保持在闲置状态,让其他周边连接装置可随时相互通信。
(2)可同时对多个主控器的读取请求,进行数据准备的动作,增进整体系统效率。
(3)可大大地缩短主控器请求数据的延迟时间。
虽然对本发明已通过优选实施例揭露如上,然而这些实施例并非用以限定本发明,本领域普通技术人员在不脱离本发明的精神和范围的情况下,可对其适当进行各种更动与润饰,因此本发明的保护范围应当由所附的权利要求的限定为准。

Claims (16)

1.一种多延迟读取交易装置,耦接于一总线,在该总线上耦接有复数个主控器,所述多延迟读取交易装置包括:
一请求存储器,耦接至所述总线,用以存储所述主控器的复数个请求信号的复数个地址,以及存储对应于所述地址的复数个数据信息;
一数据存储池,耦接至所述请求存储器,可依据所述请求信号的所述地址自一系统存储器取出对应的所述数据信息,并将所述数据信息传送至所述请求存储器;以及
一控制器,耦接至所述总线、所述请求存储器及所述数据存储池;
当所述多延迟读取交易装置接收到所述主控器的所述请求信号时,所述控制器检查所述请求信号的所述地址:
当所述地址不存在于所述请求存储器中时,则将所述地址存储在所述请求存储器中,且所述控制器发出延迟交易终止至所述总线,同时所述控制器向所述数据存储池请求对应于所述地址的所述数据信息;
当所述地址已经存在于所述请求存储器中,而对应于所述地址的所述数据信息不存在于所述请求存储器中时,所述控制器发出延迟交易终止至所述总线;
当所述地址已经存在于所述请求存储器中,且对应于所述地址的所述数据信息存储在所述请求存储器中时,回应所述请求信号所对应的所述数据信息至对应的所述主控器。
2.如权利要求1所述的多延迟读取交易装置,其中所述请求存储器包括:
一地址存储器,耦接至所述总线、所述数据存储池及所述控制器,用以存储所述请求信号的所述地址;以及
一数据存储器,耦接至所述总线及所述数据存储池,所述数据存储器用以存储对应于所述地址的所述数据信息。
3.如权利要求1所述的多延迟读取交易装置,可被设计布置于一芯片组内。
4.如权利要求1所述的多延迟读取交易装置,可被设计布置于一主桥接器内。
5.如权利要求1所述的多延迟读取交易装置,其中所述数据存储池耦接至一存储器,用以存储所述数据信息。
6.如权利要求1所述的多延迟读取交易装置,其中在回应所述地址所对应的所述数据信息至对应的所述主控器后,对应于所述数据信息的所述地址被消除。
7.如权利要求1所述的多延迟读取交易装置,其中所述总线包括PCI总线。
8.一种多延迟读取交易装置的操作方法,所述多延迟读取交易装置耦接于一总线,所述总线上耦接复数个主控器,所述多延迟读取交易装置包括:一请求存储器、一数据存储池以及一控制器,其中所述存储器耦接至所述总线,用以存储所述主控器的多个请求信号的多个地址,以及存储对应所述地址的多个数据信息,该数据存储池耦接至该存储器,该控制器耦接至该总线、该存储器以及该数据存储池,所述多延迟读取交易装置的操作方法包括下列步骤:
所述控制器接收所述主控器的所述请求信号;
所述控制器检查所述请求信号的所述地址;
当所述地址不存在于所述请求存储器中时,则将所述地址存储在所述请求存储器中,且所述控制器发出延迟交易终止至所述总线,同时所述控制器向所述数据存储池请求对应于所述地址的所述数据信息;
当所述地址已经存在于所述请求存储器中,而对应于所述地址的所述数据信息不存在于所述请求存储器中时,所述控制器发出延迟交易终止至所述总线;
所述数据存储池依据所述地址取出对应的所述数据信息,并将所述数据信息传送至所述请求存储器;以及
当所述地址已经存在于所述请求存储器中,且对应于所述地址的所述数据信息存储在所述请求存储器中时,回应所述请求信号所对应的所述数据信息至对应的所述主控器,消除在所述请求存储器中对应于所述数据信息的所述地址。
9.如权利要求8所述的多延迟读取交易装置的操作方法,其中所述总线包括PCI总线。
10.一种总线系统,包括一总线以及耦接于所述总线上的一多延迟读取交易装置与复数个主控器,其中所述多延迟读取交易装置包括:
一请求存储器,耦接至所述总线,用以存储所述主控器的复数个请求信号的复数个地址,以及存储对应于所述地址的复数个数据信息;
一数据存储池,耦接至所述请求存储器,可依据所述请求信号的所述地址自一系统存储器取出对应的所述数据信息,并将所述数据信息传送至所述请求存储器;以及
一控制器,耦接至所述总线、所述请求存储器及所述数据存储池;
当所述多延迟读取交易装置接收到所述主控器的所述请求信号时,所述控制器检查所述请求信号的所述地址;
当所述地址不存在于所述请求存储器中时,则将所述地址存储在所述请求存储器中,且所述控制器发出延迟交易终止至所述总线,同时所述控制器向所述数据存储池请求对应于所述地址的所述数据信息;
当所述地址已经存在于所述请求存储器中,而对应于所述地址的所述数据信息不存在于所述请求存储器中时,所述控制器发出延迟交易终止至所述总线;
当所述地址已经存在于所述请求存储器中,且对应于所述地址的所述数据信息存储在所述请求存储器中时,回应所述请求信号所对应的所述数据信息至对应的所述主控器。
11.如权利要求10所述的总线系统,其中所述请求存储器包括:
一地址存储器,耦接至所述总线、所述数据存储池及所述控制器,用以存储所述请求信号的所述地址;以及
一数据存储器,耦接至所述总线及所述数据存储池,所述数据存储器用以存储对应于所述地址的所述数据信息。
12.如权利要求10所述的总线系统,其中在回应所述地址所对应的所述数据信息至对应的所述主控器后,对应于所述数据信息的所述地址被消除。
13.如权利要求10所述的总线系统,其中所述总线包括PCI总线。
14.一种多延迟读取交易装置,耦接于一总线,所述总线上耦接一主控器,所述多延迟读取交易装置包括:
一请求存储器,耦接至所述总线,用以存储所述主控器的一请求信号的一地址,以及存储对应于所述地址的一数据信息;
一数据存储池,耦接至所述请求存储器,可依据所述请求信号的所述地址自一系统存储器取出对应的所述数据信息,并将所述数据信息传送至所述请求存储器;以及
一控制器,耦接至所述总线、所述请求存储器及所述数据存储池;
所述多延迟读取交易装置接收到所述主控器的所述请求信号后,所述控制器检查所述请求信号的所述地址:
当所述地址不存在于所述请求存储器中时,则将所述地址存储在所述请求存储器中,且所述控制器发出延迟交易终止至所述总线,同时所述控制器向所述数据存储池请求对应于所述地址的所述数据信息;
当所述地址已经存在于所述请求存储器中,而对应于所述地址的所述数据信息不存在于所述请求存储器中时,所述控制器发出延迟交易终止至所述总线;
当所述地址已经存在于所述请求存储器中,且对应于所述地址的所述数据信息存储在所述请求存储器中时,回应所述请求信号所对应的所述数据信息至所述主控器。
15.如权利要求14所述的多延迟读取交易装置,其中所述请求存储器包括:
一地址存储器,耦接至所述总线、所述数据存储池及所述控制器,用以存储所述请求信号的所述地址;以及
一数据存储器,耦接至所述总线及所述数据存储池,所述数据存储器用以存储对应于所述地址的所述数据信息。
16.如权利要求14所述的多延迟读取交易装置,其中所述总线包括PCI总线。
CN 99124454 1999-11-17 1999-11-17 多延迟读取交易装置及其操作方法 Expired - Lifetime CN1217274C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 99124454 CN1217274C (zh) 1999-11-17 1999-11-17 多延迟读取交易装置及其操作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 99124454 CN1217274C (zh) 1999-11-17 1999-11-17 多延迟读取交易装置及其操作方法

Publications (2)

Publication Number Publication Date
CN1297203A CN1297203A (zh) 2001-05-30
CN1217274C true CN1217274C (zh) 2005-08-31

Family

ID=5283424

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 99124454 Expired - Lifetime CN1217274C (zh) 1999-11-17 1999-11-17 多延迟读取交易装置及其操作方法

Country Status (1)

Country Link
CN (1) CN1217274C (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1293512C (zh) * 2001-12-28 2007-01-03 矽统科技股份有限公司 顶点资料队列控制器
CN1317656C (zh) * 2003-05-27 2007-05-23 威达电股份有限公司 系统总线控制装置及方法

Also Published As

Publication number Publication date
CN1297203A (zh) 2001-05-30

Similar Documents

Publication Publication Date Title
CA2186598C (en) Method and apparatus for maintaining transaction ordering and supporting deferred replies in a bus bridge
EP0628914B1 (en) System direct memory access (DMA) support logic for PCI based computer system
KR100253753B1 (ko) 지연 트랜잭션을 실행하기 위한 장치 및 방법
JP2571673B2 (ja) 多重化バスを有する情報処理システムでバック・ツー・バック・データ転送を提供する方法および装置
US6449677B1 (en) Method and apparatus for multiplexing and demultiplexing addresses of registered peripheral interconnect apparatus
CN1922598A (zh) 用于支持pci桥中的多功能pci设备的延迟事务的方法与装置
JPH08235106A (ja) アップグレード・プロセッサのインタフェース方法及びシステム
US20020019899A1 (en) Method of bus priority arbitration
US20030131173A1 (en) Method and apparatus for host messaging unit for peripheral component interconnect busmaster devices
US5838995A (en) System and method for high frequency operation of I/O bus
US6549964B1 (en) Delayed transaction method and device used in a PCI system
EP1476817A2 (en) Hublink read return streaming
CN1217274C (zh) 多延迟读取交易装置及其操作方法
GB2396450A (en) Data bus system and method for performing cross-access between buses
JP2001216254A (ja) バストランザクションにおける制御チップセットのアービトレーション
US6327636B1 (en) Ordering for pipelined read transfers
JP3466214B2 (ja) 情報処理装置
JP4037788B2 (ja) 制御チップセット間の信号送信デバイス
US6502150B1 (en) Method and apparatus for resource sharing in a multi-processor system
CN1157667C (zh) 外围元件互连总线兼容主控器及其判定器与判定方法
US6240474B1 (en) Pipelined read transfers
US6178477B1 (en) Method and system for pseudo delayed transactions through a bridge to guarantee access to a shared resource
US6694400B1 (en) PCI system controller capable of delayed transaction
JPH04134551A (ja) 複数のデータ処理エージェントの間でデータを転送するバスにおいて、第1のエージェントがサービスの必要を第2のエージェントへ知らせる方法
CN1139880C (zh) 控制芯片组之间具有插队功能的总线仲裁方法

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
CX01 Expiry of patent term

Granted publication date: 20050831