CN1302019A - 控制芯片组之间总线的判优方法 - Google Patents
控制芯片组之间总线的判优方法 Download PDFInfo
- Publication number
- CN1302019A CN1302019A CN 99125635 CN99125635A CN1302019A CN 1302019 A CN1302019 A CN 1302019A CN 99125635 CN99125635 CN 99125635 CN 99125635 A CN99125635 A CN 99125635A CN 1302019 A CN1302019 A CN 1302019A
- Authority
- CN
- China
- Prior art keywords
- control chip
- bus
- data
- signal
- chip
- 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.)
- Granted
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
控制芯片组与其间的数据事务方法,控制芯片组中各控制芯片内部队列的数据缓冲器具有固定大小与数量,且芯片间发出读写确认命令的顺序全依照发出读写命令的顺序回应,使控制芯片完全可掌握另一控制芯片内部队列中缓冲器的使用情形。控制芯片组间的总线的判优方法,设定某一控制芯片平常掌握芯片间总线的控制权,另一控制芯片享有较高的总线优先权,搭配无等待周期的芯片间总线规格。使控制芯片组数据事务效能提高,简化控制芯片组内信号线的种类与数量。
Description
本发明涉及一种芯片组,特别涉及一种计算机系统中的控制芯片组、控制芯片组内芯片间的数据事务方法以及控制芯片组内芯片间总线的判优方法。
图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,REQ)要求使用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与数个数据周期(dataphase),如24a、24b与24c。每一个数据周期24a/b/c又分别区分为等待周期(wait cycle)26a/b/c与数据转移周期(data transfer cycle)28a/b/c。接着配合图2的时序图,以一读取操作来做为PCI系统操作的简单说明以及前文所述的PCI规格控制信号的作用。
在周期T1时,起始器(主控器)送出REQ信号,以要求主控PCI总线,此时如果没有其他更高优先权的装置要求使用PCI总线,则在周期T2时,主桥接器(判优器)送出GNT信号,以允许起始器主控PCI总线,周期T3时,起始器送出FRAME信号,表示一数据转移将开始进行,并在AD总线送出开始地址(start address),用以指定一目标装置,同时于CBE线送出一读取命令。紧接着送出的读取命令,CBE线会送出字节致能信号(byte enable),此字节致能信号在整个数据周期期间(包括24a、24b与24c)会一直持续送出。在周期T4时,起始器送出备妥信号IRDY,表示可以开始收送数据,然此时目标装置并未能备妥,此时期为数据周期24a的等待周期26a,是起始器等待目标装置将数据备妥。在周期T5时,目标装置已经备妥并且送出备妥信号TRDY,因此在IRDY与TRDY信号均送出的数据转移周期28a期间,起始器从目标装置读取数据。目标装置在周期T6结束送出TRDY信号,以表示结束数据传送,并且开始准备第二笔数据,此时为数据周期24b的等待周期26a。在周期T7时,TRDY再度送出,表示数据已经备妥,并在IRDY与TRDY信号均送出的数据转移周期28b期间,起始器从目标装置读取数据。当起始器来不及读取数据时,起始器于周期T8结束送出IRDY信号,此时因为TRDY信号仍送出,所以此等待周期26c是由起始器所发动。等起始器备妥后,于周期T9再送出IRDY信号,此时在IRDY与TRDY信号均送出的数据转移周期28c期间,起始器从目标装置读取资料。由于起始器在周期T9时,就已知道不再需要读取数据,故起始器结束送出FRAME信号以及结束送出REQ信号,在周期T10时,判优器结束送出GNT信号。至此,完成一读取操作。
如上所述,在PCI规格中为了要完成PCI规格的数据事务,必须使用繁复的控制信号、等待状态与判优程序等,而PCI所规定的信号至少有45-50个信号脚。目前的个人计算机内的结构与图1所绘示的系统非常相似,其中主桥接器12就是主机板内控制芯片组的北桥芯片,而南桥芯片就包括延展总线桥接器16b,个人计算机系统中的南桥是一个主要且必然存在的主控器。至于个人计算机系统中的图形界面附加器,并未连接到PCI总线,而是通过一绘图加速端口(accelerated graphic port,AGP)界面连接到北桥芯片。
然而在一般控制芯片组内芯片间的数据事务,往往不需要利用到一般多用途总线如此复杂的功能程序,例如:主机板控制芯片组内部的南北桥的数据事务,并不需要用到完整PCI总线如此复杂的程序,而此种复杂的程序为了确保能适用多种应用环境,多半牺牲了许多效能特性。且随着高度集成化的趋势,任一控制芯片可能会合并更多功能,例如CPU与北桥芯片合并为一个芯片,抑或是控制芯片组本身合并成一个芯片,使芯片包装上的接脚变成一个非常宝贵的资源,必须尽量减少以降低控制芯片的成本。因此为了加速控制芯片组内部之间的数据事务,且节省芯片接脚的资源,一种简化但仍满足控制芯片间数据事务的特殊总线规格是需要的。例如:南北桥间设计一种简化多个信号线,快速的总线规格,且此总线规格在芯片内部处理必须尽量近似一般PCI规格,以与芯片中其他模组相容,避免控制芯片做过多修改。
因此,本发明提出一种控制芯片组、控制芯片组内芯片间的数据事务方法以及控制芯片组内芯片间总线的判优方法,用以提高控制芯片组数据事务的效能,并简化控制芯片组内的信号线的种类与数量。
本发明提出一种控制芯片组及控制芯片组内芯片间的数据事务方法,使控制芯片组内部控制芯片间传送数据,可连续传送多笔命令或数据,没有任何等待周期,也不会有停止或重试(retry)的情形,可节省使用总线的时间,提高传输效益。
本发明提出一种控制芯片组及控制芯片组内芯片间的数据事务方法,可节省总线中有关等待状态的信号线、有关数据事务周期长度的信号线以及有关停止重试通讯协定的信号线等。
本发明提出一种控制芯片组之间总线的判优方法,可缩短要求总线时的判优时间。
本发明提出一种控制芯片组之间总线的判优方法,可节省有关总线同意(grant)的信号线。
本发明提供一种控制芯片组之间总线的判优方法,该控制芯片组包括一第一控制芯片及一第二控制芯片,该第一与该第二控制芯片通过一芯片间总线互相传送数据,该芯片间总线包括一共用双向总线,该判优方法包括下列步骤:当该第二控制芯片需使用该芯片间总线时,该第二控制芯片发出一总线要求信号;当该第一控制芯片检测到该总线要求信号时,如该第一控制芯片没有使用该共用双向总线,则该第一控制芯片不驱动该共用双向总线,如该第一控制芯片正使用该共用双向总线,则在完成目前的总线命令后,立即不驱动该共用双向总线;当该第二控制芯片未检测到该第一控制芯片使用该芯片间总线时,该第二控制芯片等待一预定周期后,驱动该芯片间总线;以及当该第二控制芯片检测到该第一控制芯片使用该芯片间总线时,该第二控制芯片依据该第一控制芯片正执行的总线命令与其所需的时钟脉冲数,在该第一控制芯片完成正执行的总线命令,并等待一转变周期后,驱动该芯片间总线。
本发明藉由控制芯片组中各控制芯片内部队列的数据缓冲器具有固定大小与数量,且芯片间发出读写确认命令的顺序完全依照发出读写命令的顺序来回应,使控制芯片完全可以掌握另一控制芯片内部队列中缓冲器的使用情形,每一控制芯片发出的命令时,其相关数据必须先准备好,亦即使控制芯片组之间的所有事务情况透明化,因而可节省总线中有关等待状态的信号线、有关数据事务周期长度的信号线以及有关停止重试通信协定的信号线等。并且可连续传送多笔命令或数据,没有任何等待周期,也不会有停止或重试的情形发生,可节省使用总线的时间,提高传输效益。
本发明的控制芯片组间的总线的判优方法,设定某一控制芯片平常掌握芯片间总线的控制权,但另一控制芯片却享有较高的总线优先权,搭配没有等待周期的芯片间总线规格,就不需要GNT信号线,可快速无误的判优总线的使用权归属,缩短判优的时间,并因为第二控制芯片组的事务要求总是被同意,进而提高整个传输效益。
为使本发明的上述目的、特征、和优点能更明显易懂,下文特举较佳实施例,并配合附图,作详细说明如下:
图1绘示一种公知在计算机结构中使用PCI总线系统的结构示意图;
图2绘示一PCI系统的主控器进行读取操作的时序图,用以简单说明PCI系统的各控制信号;
图3绘示依据本发明的一较佳实施例的一种控制芯片组的方块示意图;
图4绘示依据本发明的一实施例中,传送数据位时间(bit time)与总线时钟脉冲信号以及触发信号线之间的时序关系图;
图5绘示依据本发明的一较佳实施例的一种控制芯片组,其中有关写入事务的内部结构方块示意图;
图6绘示依据本发明的一较佳实施例的一种控制芯片组,其中有关读出事务的内部结构方块示意图;
图7a绘示公知控制芯片组之间总线的判优方法,有关要求及同意使用总线的信号时序图;以及
图7b到图11绘示依据本发明的一实施例中,有关要求及同意使用总线的信号时序图。
为了提出一种控制芯片组、控制芯片组内芯片间的数据事务方法以及控制芯片组内芯片间总线的判优方法,能提高控制芯片组数据事务的效能,简化控制芯片组内的信号线的种类与数量,亦即简化控制芯片间的总线。本发明以计算机主机板内南桥与北桥所构成的控制芯片组为例,重新定义数个命令信号,在此称为高传输存储连结(High Through-put Memory Link简称HTML)来化简原先复杂的PCI总线信号。在此较佳实施例中,原先的南桥与北桥之间的信号线需要45条信号线,本发明以15个命令信号线来取代原先的PCI总线信号线。
参照图3与表1,其中图3是依据本发明的一较佳实施例的一种控制芯片组的方块示意图,图3亦绘示控制芯片组中的南桥与北桥间的信号线;而表一详细说明该些信号线的意义。由图3与表一可知,本发明的控制芯片组包括南桥30与北桥32两控制芯片,南桥30与北桥32之间原先的45个信号接脚简化为15个,多余的接脚便可以提供做为其他用途,以增进控制芯片组的功能。
如图3与表一所示,南桥30与北桥32之间,保留原先PCI总线协定规格所定的地址数据总线(AD bus),但将其缩减为仅有8条双向信号线,其他如CBE、FRAME、IRDY、TRDY、STOP、DEVSEL、REQ以及GNT等信号线,简化为一条双向位致能BE信号线,以及由南桥30所驱动的上行链路命令(up link command)UPCMD、上行链路触发(up link strobe)UPSTB;还有由北桥32所驱动的下传链路命令(down link command)DNCMD、下传链路触发(down link strobe)DNSTB信号线等。南桥30与北桥32各驱动一条独立的命令信号线,代表此一较佳实施例具有全双工命令传送功能,能各自随时发出总线命令。且当发出总线命令的同时如果取得此总线的使用权,就可在地址数据总线上发出地址,并在BE信号线发出此命令的长度信息,或者在地址总线上送出数据,并在BE信号线发出这笔数据的字节致能信号。
表一
信号 | 驱动者 | 说明 |
CLK | 66Mhz的时钟脉冲信号 | |
DNSTB | 北桥 | 下传链路触发 |
UPSTB | 南桥 | 上行链路触发 |
DNCMD | 北桥 | 下传链路命令 |
UPCMD | 南桥 | 上行链路命令 |
BE | 北桥/南桥 | 字节致能 |
AD[7:0] | 北桥/南桥 | 地址/数据总线 |
VREF | 参考电压 | |
COMP | 阻抗比较 |
参照图4,其定义出本发明任一数据线传送数据位时间与总线时钟脉冲信号以及触发信号线之间的时序关系。由图可以看出,一个时钟脉冲周期包含两个触发STB的时钟脉冲信号,亦即在上行链路触发信号线以及下传链路触发信号线致动时的运作频率是2倍于时钟脉冲信号线上的时钟脉冲频率。利用触发信号的上升与下降边缘共可以定义出四个位时间0~3,利用此四个位时间共可取得4个位的数据,并可进行总线命令的编码。因此8条数据线,每一时钟脉冲周期可取得32位的数据,其效果等于在PCI总线中,同时有32条数据线在传送数据。而如BE信号线代表长度信息时,可以在一个时钟脉冲周期得出1-16(4个位)数据长度信息。
上行链路命令UPCMD与下传链路命令DNCMD定义出各种不同的数据事务型态。由南桥30所驱动的上行链路命令UPCMD包括:北桥到南桥读取确认命令C2PRA、北桥到南桥写入确认命令C2PWA、南桥到北桥读取命令P2CR、南桥到北桥写入命令P2CW等。其与位时间的编码关系则如表二所示,请注意REQ总线要求信号,是在位时间0发出,与其他数据事务型态的命令并未重叠,所以在任何时间,甚至在发出数据事务型态命令的同一时钟脉冲周期,可同时发出此一REQ信号。由北桥32所驱动的下传链路命令DNCMD包括:北桥到南桥输出入读取命令C2PIOR、北桥到南桥存储器读取命令C2PMR、北桥到南桥输出入写入命令C2PIOW、北桥到南桥存储器写入命令C2PMW、南桥到北桥读取确认命令P2CRA、南桥到北桥写入确认命令P2CWA,其与位时间的编码关系则如表三所示。请注意,在本实施例并无有关GNT的信号定义。
上述命令中南桥与北桥芯片所发出的命令是对应的,当南桥依序发出多个P2CR及/或P2CW命令后,北桥必须完全依照南桥发出命令的顺序回应相对应的P2CRA及/或P2CWA命令。当北桥依序发出多个C2PIOR、C2PMR、C2PIOW及C2PMW命令后,南桥必须依序回应相对应的C2PRA及C2PWA命令。且本实施例中,每一控制芯片发出的命令时,其相关数据必须先准备好。例如:当北桥发出P2CW时,必须要将所要写入的数据准备妥当,当北桥发出P2CRA时,必须要将所要传回的读出数据完全准备好,以避免在传输数据的当中有数据停顿无法接续的情形。
表二(上行链路命令UPCMD)
表三(下传链路命令DNCMD)
位时间0REQ | 位时间1PMSTR | 位时间2MIO | 位时间3WR | 说明 |
- | 0 | - | 0 | C2PRA |
- | 0 | - | 1 | C2PWA |
- | 1 | 0 | 0 | P2CR |
- | 1 | 0 | 1 | P2CW |
- | 1 | 1 | 1 | NOP |
0 | - | - | - | REQ |
位时间0 | 位时间1PMSTR | 位时间2MIO | 位时间3WR | 说明 |
- | 0 | 0 | 0 | C2PIOR |
- | 0 | 0 | 1 | C2PIOW |
- | 0 | 1 | 0 | C2PMR |
- | 0 | 1 | 1 | C2PMW |
- | 1 | 0 | 0 | P2CRA |
- | 1 | 0 | 1 | P2CWA |
- | 1 | 1 | 1 | NOP |
图5绘示依据本发明的一较佳实施例的一种控制芯片组,其中有关写入事务的内部结构方块示意图,参照图5。此较佳实施例的控制芯片组,包括第一控制芯片以及第二控制芯片,例如:第一控制芯片是北桥芯片500,而第二控制芯片是南桥芯片600。其通过特殊的芯片间总线连接在一起,就是本发明定义的HTML。北桥芯片500包括:数据送收器510、目标控制器520(例如:存储器控制器520)、写数据队列525以及写事务队列530等。南桥芯片600包括:数据送收器610、写缓冲器大小寄存器535、写缓冲器计数寄存器540、写事务产生器545、写事务记录电路及队列550以及写比较器555。
数据送收器510直接连接至HTML,是符合HTML界面规格的数据收发控制器,能通过HTML接收与发送数据信号,来完成多个写入事务。在这里我们简称每一次从南桥芯片600送出P2CW命令与相关数据,到北桥芯片500回应相对此次P2CW命令的P2CWA命令为一次写入事务。写数据队列525,能依序暂存写入事务的数据。而写事务队列530,依序暂存所有写入事务的数据长度及写入地址。目标控制器520根据目前在写事务队列530中最先存入的写入事务所对应的写入地址与数据长度,以及在写数据队列525中所对应的数据,将即将写入目标装置(如:外部存储器)的数据送出后,第一数据送收器510会送出写入确认信号(P2CWA命令),并且目前在写事务队列530中最先存入的写入事务所对应的写入地址与数据长度,以及在写数据队列525中所对应的数据都会被释放,也就是队列中暂存这些数据的存储位置都可再填入其他数据。
南桥芯片600中的写缓冲器计数寄存器540以及写缓冲器大小寄存器535,分别存储北桥芯片500中写事务队列530所可容纳写入事务的总数以及写数据队列525所可容纳数据的总数,本实施例中,写事务队列530所可容纳写入事务的总数为4,而写数据队列525所可容纳数据的总数为16。这两个数字可由基本输出入系统在开机时设定,也可以在设计芯片时就固定等。
数据送收器610,同样耦接至HTML,能通过HTML,接收与发送数据信号,来完成所有的写入事务,而且当数据送收器610收到P2CWA命令后,会送出写入成功释放缓冲器信号至写事务记录电路及队列550,可用以释放队列中存储对应此次写入事务的数据长度的存储位置。当写事务产生器545,产生一个新的写入事务的数据长度,写入地址及数据时,也会将数据长度送至写事务记录电路及队列550。
写事务记录电路及队列550能计算出目前北桥芯片500中,有关写数据队列530的所有将用写缓冲器数据个数,以及写事务队列525的所有将用写入事务个数。这是由于写事务记录电路及队列550中,依序暂存有所有写入事务的数据长度,又由于北桥芯片500发出P2CWA命令是完全依照南桥芯片600发出P2CW命令的顺序来回应,南桥芯片600完全可以掌握北桥芯片500内部队列中缓冲器的使用情形。
写事务记录电路及队列550会将目前有关写数据队列530的所有将用写缓冲器数据个数,以及写事务队列525的所有将用写入事务个数送给写比较器555,写比较器555将上述信息与写缓冲器大小寄存器535存储的写数据队列525所可容纳数据的总数,以及写缓冲器计数寄存器540存储的写事务队列530所可容纳写入事务的总数来比较,如果两者都未超过可容纳的总数,就可通知数据送收器610送出新的写入事务相关的数据信号。
图6绘示依据本发明的一较佳实施例的一种控制芯片组,其中有关读出事务的内部结构方块示意图。参照图6。此较佳实施例的控制芯片组,包括北桥芯片500以及南桥芯片600。其通过特殊的芯片间总线连接在一起,就是本发明定义的HTML。北桥芯片500包括:数据送收器510、目标控制器520(例如:存储器控制器520)、读数据队列625以及读事务队列630等。南桥芯片600包括:数据送收器610、读缓冲器大小寄存器635、读缓冲器计数寄存器640、读事务产生器645、读事务记录电路及队列650以及读比较器655。
数据送收器510直接连接至HTML,是符合HTML界面规格的数据收发控制器,能通过HTML接收与发送数据信号,来完成多个读出事务。在这里我们简称每一次从南桥芯片600送出P2CR命令,到北桥芯片500回应相对此次P2CR命令的P2CRA命令与相关数据为一次读出事务。读数据队列625,能依序暂存读出事务的数据。而读事务队列630,依序暂存所有读出事务的数据长度及读出地址。目标控制器520根据目前在读事务队列630中最先存入的读出事务所对应的读出地址与数据长度,从目标装置(如:外部存储器)将数据读出后,存入读数据队列625中。然后,第一数据送收器510会送出读出确认信号(P2CRA命令)以及读事务队列630中最先存入的读出事务所对应的在读数据队列625的数据后,并且目前在读事务队列630中最先存入的读出事务所对应的读出地址与数据长度,以及在读数据队列625中所对应的数据都会被释放,也就是队列中暂存这些数据的缓冲器都可再填入其他数据。
南桥芯片600中的读缓冲器计数寄存器640以及读缓冲器大小寄存器635,分别存储北桥芯片500中读事务队列630所可容纳读出事务的总数以及读数据队列625所可容纳数据的总数,本实施例中,读事务队列630所可容纳读出事务的总数为4,而读数据队列625所可容纳数据的总数为16。这两个数字可由基本输出入系统在开机时设定,也可以在设计芯片时就固定等。
数据送收器610,同样耦接至HTML,能通过HTML,接收与发送数据信号,来完成所有的读出事务,而且当数据送收器610收到P2CRA命令后,除了将对应此次P2CRA的命令的读出事务的数据送给读事务产生器645,也会送出读出成功释放缓冲器信号至读事务记录电路及队列650,可用以释放队列中存储对应此次读出事务的数据长度的存储位置。当读事务产生器645,产生一个新的读出事务的数据长度及读出地址时,也会将数据长度送至读事务记录电路及队列650。
读事务记录电路及队列650能计算出目前北桥芯片500中,有关读数据队列630的所有将用读缓冲器数据个数,以及读事务队列625的所有将用读出事务个数。这是由于读事务记录电路及队列650中,依序暂存有所有读出事务的数据长度,又由于北桥芯片500发出P2CRA命令是完全依照南桥芯片600发出P2CR命令的顺序来回应,南桥芯片600完全可以掌握北桥芯片500内部队列中缓冲器的使用情形。
读事务记录电路及队列650会将目前有关读数据队列630的所有将用读缓冲器数据个数,以及读事务队列625的所有将用读出事务个数送给读比较器655。读比较器655将上述信息与读缓冲器大小寄存器635存储的读数据队列625所可容纳数据的总数,以及读缓冲器计数寄存器640存储的读事务队列630所可容纳读出事务的总数来比较,如果两者都未超过可容纳的总数,就可通知数据送收器610送出新的读出事务相关的数据信号。
上述图5及图6说明的本发明的实施例,都是举例第一控制芯片是北桥芯片,而第二控制芯片是南桥芯片,且由南桥芯片主动发出命令,控制北桥芯片来读写数据。如本领域技术人员可轻易知晓,只要南北桥中有对应的结构,并不限定要由南桥芯片主动发出命令,亦即第一控制芯片可以是南桥芯片,而第二控制芯片是北桥芯片。
上述说明中,并未针对南北桥如何取得HTML总线的使用权作叙述。以下,阐述本发明的控制芯片组内芯片间总线的判优方法,本发明主要设定控制芯片组内第一控制芯片平常掌握芯片间总线的控制权,但另一第二控制芯片却享有较高的总线优先权,当第二控制芯片发出总线要求REQ信号时,第一控制芯片必须立即或在完成其目前执行的总线命令周期后,交出总线的控制权给该第二控制芯片,此协定搭配没有等待周期的总线规格,例如HTML等,就可快速无误的判优总线的使用权归属。
本发明的一种控制芯片组之间总线的判优方法,其运作环境必须;控制芯片组包括第一控制芯片(如:北桥芯片)及第二控制芯片(如:南桥芯片),此第一与第二控制芯片通过芯片间总线(如:HTML)互相传送数据时,不会有等待周期,当然此芯片间总线必须包括有共用双向总线,否则就根本不需判优。就如图3-6所述的本发明较佳实施例的一种主机板南北桥控制芯片组所示。
首先第二控制芯片必须知道有关第一控制芯片所有具有固定时钟脉冲数的总线命令与其使用该共用双向总线的时钟脉冲数。当第二控制芯片发出第一命令(如:读取命令)给第一控制芯片时,第二控制芯片必须存储第一控制芯片传送对应第一命令的确认命令及数据所需的时钟脉冲数,其中第一控制芯片回应确认命令及数据所需的时钟脉冲数是由第一命令中的信息来决定。例如:南桥发出P2CR命令给北桥时,由于有读出数据长度的数据在内,又因为HTML传送数据时没有等待周期,所以南桥可知道北桥发出对应的P2CRA命令及数据所需的时钟脉冲数。
当第二控制芯片需使用芯片间总线时,第二控制芯片就直接发出总线要求信号。第一控制芯片检测到此总线要求信号后,如第一控制芯片目前没有使用此共用双向总线,则第一控制芯片交出总线控制权,不驱动此共用双向总线,但是如第一控制芯片正使用此共用双向总线时,则第一控制芯片等到完成目前的总线命令后,立即交出总线控制权,不驱动此共用双向总线。
反之,第二控制芯片发出总线要求信号后,就检测总线是否正由第一控制芯片使用,当第二控制芯片未检测到第一控制芯片正使用此芯片间总线时,第二控制芯片等待一预定周期后并持续检测此芯片间总线,再驱动此芯片间总线,等待此一预定周期主要目的,是由于信号在芯片间总线中传输可能有传输延迟,避免第一控制芯片已送出命令,而第二控制芯片误以为第一控制芯片没有正使用此芯片间总线。另外,为避免两控制芯片同时驱动此芯片间总线,转换总线控制权至少须有一个时钟脉冲周期的转变周期(turn-around cycle)。
当第二控制芯片检测到第一控制芯片正使用芯片间总线时,由于第二控制芯片可知道是第一控制芯片正执行什么命令,执行到那里及其总共所需的时钟脉冲数,第二控制芯片在第一控制芯片完成正执行的总线命令,并等待转变周期后,立即驱动芯片间总线。一般具有GNT信号的总线判优方法,在第一控制芯片完成正执行的总线命令后,才可能驱动GNT信号以通知第二控制芯片可掌握总线主控权,等待第二控制芯片检测到此一GNT信号,加上等待转变周期并考虑传输延迟的安全因素后,第二控制芯片才驱动芯片间总线。参照图7a,在周期T1时第二控制芯片发出总线要求信号DREQ#,在周期T2时第二控制芯片接着发出REQSTB信号,第一控制芯片在周期T4时收到第二控制芯片的要求并立即驱动GNT信号以通知第二控制芯片可掌握总线主控权。第一控制芯片在周期T5时停止驱动总线。在周期T6时第二控制芯片才收到GNT信号并开始驱动芯片间总线。因此公知芯片组之间使用GNT的判优方法必然比本发明的判优方法耗时。
接着,以数个例子,来说明本发明的实施例的运作时序。图7b到图11绘示依据本发明的一实施例中,有关要求及同意使用总线的信号时序图。这些图中,都是由南桥(HUB)发出总线要求信号,向北桥(HOST)要求使用总线,DREQ#代表南桥芯片内部要求总线的内部信号,其为高电位时代表南桥芯片内部要求使用总线,REQSTB亦为内部信号,其为高电位时,代表芯片(如未绘示南桥或北桥,则指为南桥)利用上行链路命令信号线UPCMD,在时钟脉冲周期的第一个位时间(BitTime 0)发出REQ信号,HOSTOE与HUBOE为高电位时,分别代表北桥与南桥获得总线的掌控权,得以驱动芯片间总线的双向总线。HOSTSTB信号变化时,代表北桥正使用双向总线。
首先,参照图7b。周期T1时,DERQ#上升为高电位,表示南桥需要使用总线。在周期T2起,要求触发信号REQSTB为高电位,南桥便由上行链路命令UPCMD在位时间0发出真正的REQ信号。 由于考虑传输延迟,此REQSTB信号在周期T4才安全无虞被北桥所接受,因此北桥如果已开始一命令周期,就可能在周期T3送出下传链路命命DNCMD。而南桥等到周期T5,才会检测到此命令周期,如北桥并未送出下传链路命令DNCMD时,南桥便拥有BE/AD总线,于是南桥便可以在周期T5送出上行链路命令UPCMD并驱动BE/AD总线。本实施例南桥由周期T2发出真正的REQ信号,等待一预定周期(3个时钟脉冲数),等到周期T5才驱动BE/AD(字节致能/地址数据总线),此一期间包含周期T4转换总线控制权的转变周期。
参照图8,周期T1时,DREQ#上升为高电位,表示南桥需要使用总线。在周期T2起,要求触发信号REQSTB为高电位,南桥便由上行链路命令UPCMD在位时间0发出真正的REQ信号。但是北桥在周期T3送出下传链路命令(DNCMD),此例送出P2CRA命令,假设此命令事务的数据长度为8个双字组(8DW)。此8DW的数据传送在周期T3到周期T10进行,由于南桥完全知道此事务所费的时钟脉冲数,且确定北桥事务完成后必定会交出总线,故事务进行完成后,再经过T11的转变周期,在周期T12时,南桥便可以驱动信号BE/AD(字节致能/地址数据总线)。
参照图9,周期T1时,DREQ#上升为高电位,表示南桥需要使用总线。在周期T2起,要求触发信号REQSTB为高电位,南桥便由上行链路命令UPCMD在位时间0发出真正的REQ信号。但是北桥在周期T3送出下传链路命令(DNCMD),此例送出P2CR命令,此命令事务的时钟脉冲数是固定仅有1个时钟脉冲周期,此命令在周期T3进行,由于南桥完全知道所有固定周期命令所费的时钟脉冲数,且确定北桥必定会交出总线,故南桥经过T4的转变周期,在周期T5时,南桥便可以驱动双向的信号字节致能与地址数据总线。
参照图10,在周期T2后,要求触发信号REQSTB为高电位,南桥便在周期T5时,开始送出上行链路命令UPCMD,并驱动双向总线,在此例为连续两个P2CR命令,且在周期T5与T6进行数据的传送。注意的是,在周期T6时,要求触发信号REQSTB便变为低电位。亦即虽然南桥仍在使用总线,并发出P2CR命令,但在周期T6的位时间0的要求信号已经取消,故北桥便在周期T8前检测到南桥结束要求使用总线,于是北桥在周期T8便开始驱动BE/AD的信号线。
参照图11,在周期T1时,北桥送出C2PR的读取命令。当南桥的数据已经备妥时,南桥便在周期T4使要求触发信号REQSTB变为高电位。等待预定的3个时钟脉冲数后,在周期T7,南桥驱动AD总线将北桥要读取的数据送出,C2PRA命令亦同时出现在UPCMD上。同时,在周期T7的位时间0的REQ信号已经取消,北桥在周期T9,重新掌握芯片间总线。
综上所述,虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何本领域的技术人员,在不脱离本发明的精神和范围内,当可作各种的更动与润饰,因此本发明的保护范围应当以权利要求所界定范围为准。
Claims (9)
1.一种控制芯片组之间总线的判优方法,该控制芯片组包括一第一控制芯片及一第二控制芯片,该第一与该第二控制芯片通过一芯片间总线互相传送数据,该芯片间总线包括一共用双向总线,该判优方法包括下列步骤:
当该第二控制芯片需使用该芯片间总线时,该第二控制芯片发出一总线要求信号;
当该第一控制芯片检测到该总线要求信号时,如该第一控制芯片没有使用该共用双向总线,则该第一控制芯片不驱动该共用双向总线,如该第一控制芯片正使用该共用双向总线,则在完成目前的总线命令后,立即不驱动该共用双向总线;
当该第二控制芯片未检测到该第一控制芯片使用该芯片间总线时,该第二控制芯片等待一预定周期后,驱动该芯片间总线;以及
当该第二控制芯片检测到该第一控制芯片使用该芯片间总线时,该第二控制芯片依据该第一控制芯片正执行的总线命令与其所需的时钟脉冲数,在该第一控制芯片完成正执行的总线命令,并等待一转变周期后,驱动该芯片间总线。
2.如权利要求1所述的控制芯片组之间总线的判优方法,还包括:
提供给该第二控制芯片,有关该第一控制芯片所有具有固定时钟脉冲数的总线命令与其使用该共用双向总线的时钟脉冲数;以及
当该第二控制芯片发出一第一命令给该第一控制芯片时,该第二控制芯片存储该第一控制芯片传送对应该第一命令之一确认命令及数据所需的时钟脉冲数,其中该第一控制芯片回应该确认命令及数据所需的时钟脉冲数是由该第一命令中的信息来决定。
3.如权利要求1所述的控制芯片组之间总线的判优方法,其中该芯片间总线包括:一地址数据总线、一长度/字节致能信号线、一上行链路命令信号线、一上行链路触发信号线、一下传链路命令信号线,一下传链路触发信号线以及一时钟脉冲信号线,其中该共用双向总线包括该地址数据总线以及该长度/字节致能信号线。
4.如权利要求1所述的控制芯片组之间总线的判优方法,其中该第一控制芯片为计算机主机板的一北桥控制芯片,该第二控制芯片为计算机主机板的一南桥控制芯片。
5.如权利要求1所述的控制芯片组之间总线的判优方法,其中该第一控制芯片为计算机主机板的该南桥控制芯片,该第二控制芯片为计算机主机板的该北桥控制芯片。
6.如权利要求3所述的控制芯片组之间总线的判优方法,其中该上行链路触发信号线以及该下传链路触发信号线致动时的运作频率是2倍于该时钟脉冲信号线上的时钟脉冲频率。
7.如权利要求6所述的控制芯片组之间总线的判优方法,其中该总线要求信号是经由该上行链路命令信号线发出。
8.如权利要求7所述的控制芯片组之间总线的判优方法,其中该总线要求信号是当该上行链路触发信号线于任一时钟脉冲周期中的第一个信号变化时,经由该上行链路命令信号线发出。
9.如权利要求2所述的控制芯片组之间总线的判优方法,其中该第一命令是一读取命令,而该确认命令是一读取确认命令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 99125635 CN1123833C (zh) | 1999-12-28 | 1999-12-28 | 控制芯片组之间总线的判优方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 99125635 CN1123833C (zh) | 1999-12-28 | 1999-12-28 | 控制芯片组之间总线的判优方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1302019A true CN1302019A (zh) | 2001-07-04 |
CN1123833C CN1123833C (zh) | 2003-10-08 |
Family
ID=5284054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 99125635 Expired - Lifetime CN1123833C (zh) | 1999-12-28 | 1999-12-28 | 控制芯片组之间总线的判优方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1123833C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112799996A (zh) * | 2021-02-03 | 2021-05-14 | 长沙锐逸微电子有限公司 | 一种芯片级联扩展控制协议 |
-
1999
- 1999-12-28 CN CN 99125635 patent/CN1123833C/zh not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112799996A (zh) * | 2021-02-03 | 2021-05-14 | 长沙锐逸微电子有限公司 | 一种芯片级联扩展控制协议 |
Also Published As
Publication number | Publication date |
---|---|
CN1123833C (zh) | 2003-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1199117C (zh) | 信源同步及公共时钟协议中的数据传输 | |
KR100253753B1 (ko) | 지연 트랜잭션을 실행하기 위한 장치 및 방법 | |
KR970000842B1 (ko) | 정보 처리 시스템 및 컴퓨터 시스템 | |
JP2571673B2 (ja) | 多重化バスを有する情報処理システムでバック・ツー・バック・データ転送を提供する方法および装置 | |
US7752374B2 (en) | Method and apparatus for host messaging unit for peripheral component interconnect busmaster devices | |
US6697885B1 (en) | Automated DMA engine for ATA control | |
CA2007690C (en) | High speed bus with virtual memory data transfer capability | |
JP2853809B2 (ja) | 周辺コントローラのためのバッファメモリサブシステムおよび方法 | |
JPH08235106A (ja) | アップグレード・プロセッサのインタフェース方法及びシステム | |
EP1021756A1 (en) | Direct memory access (dma) transactions on a low pin count bus | |
JPH0954746A (ja) | コンピュータシステム | |
US6549964B1 (en) | Delayed transaction method and device used in a PCI system | |
US5717875A (en) | Computing device having semi-dedicated high speed bus | |
JP4583590B2 (ja) | バストランザクションにおける制御チップセットのアービトレーション | |
US5937206A (en) | System for converting states of DMA requests into first serial information and transmitting information to first bus whenever a state change of a request | |
CN1123833C (zh) | 控制芯片组之间总线的判优方法 | |
US6546448B1 (en) | Method and apparatus for arbitrating access to a PCI bus by a plurality of functions in a multi-function master | |
CN1171154C (zh) | 控制芯片组与其间的数据事务方法 | |
US6684284B1 (en) | Control chipset, and data transaction method and signal transmission devices therefor | |
US6327636B1 (en) | Ordering for pipelined read transfers | |
JPH0981507A (ja) | コンピュータシステム | |
US5857081A (en) | Method and apparatus for controlling a master abort in a computer system | |
CN1238794C (zh) | 控制芯片组与其间的数据事务方法 | |
US5838930A (en) | Method and apparatus for controlling a command cycle on a bus | |
US6694400B1 (en) | PCI system controller capable of delayed 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 | ||
CX01 | Expiry of patent term |
Granted publication date: 20031008 |