專利名稱:控制芯片組之間總線的判優(yōu)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種芯片組,特別涉及一種計算機系統(tǒng)中的控制芯片組、控制芯片組內(nèi)芯片間的數(shù)據(jù)事務(wù)方法以及控制芯片組內(nèi)芯片間總線的判優(yōu)方法。
圖1所繪示的便是在計算機結(jié)構(gòu)中使用PCI系統(tǒng)的一種結(jié)構(gòu)。中央處理器10經(jīng)由主橋接器(host bridge)12耦接到PCI總線14。PCI總線14則可以耦接多數(shù)個PCI相容的周邊裝置的主控器(master),其可以如圖所示的圖形界面(graphic adapter)16a、延展總線橋接器(expansion bus bridge)16b、網(wǎng)路界面(LAN adapter)16c與小型計算機系統(tǒng)主總線界面(SCSI host bus adapter)16d等等。每一主控器均可以送出要求信號(request,REQ)要求使用PCI總線14,而主橋接器12中的判優(yōu)器(arbiter)則可送出同意信號(grant,GNT)給主控器,同意其使用PCI總線14。
PCI相容裝置(如主控器或計算機芯片組中的北橋)之間的數(shù)據(jù)傳送主要是由下列的界面控制信號所控制。周期幀(cycle frame,FRAME)是由起始器(其可以是主控器或北橋)所送出,用以指示一存取操作的開始與持續(xù)期間。FRAME信號送出時,表示通過PCI總線的數(shù)據(jù)事務(wù)(transaction)開始進行,當(dāng)FRAME信號維持在低電平則表示數(shù)據(jù)事務(wù)持續(xù)進行。此時,地址總線AD便會在地址周期期間送出有效地址(valid address),同時會在命命/字節(jié)致能(command/byte enable,CBE[3:0])線送出有效的總線命令(滿足PCI規(guī)格),用以對目標(biāo)裝置指出起始器所要求的數(shù)據(jù)事務(wù)型態(tài),其中命命/字節(jié)致能線是以4位編碼成16種不同的命令,其在PCI規(guī)格中有詳細定義。緊接所送出的有效地址后,地址總線AD便送出要傳送的數(shù)據(jù),此時期稱為數(shù)據(jù)周期,同時于CBE線送出編碼后總線命令的字節(jié)致能信號,藉以傳送數(shù)據(jù)。當(dāng)FRAME信號停止送出,就表示事務(wù)狀態(tài)為最后一筆數(shù)據(jù)傳送,或是已經(jīng)完成數(shù)據(jù)傳送。起始器備妥信號(initiator ready,IRDY)與目標(biāo)裝置備妥信號(target ready,TRDY),兩者配合使用,用以分別指示起始裝置與目標(biāo)裝置已經(jīng)備妥而可以進行數(shù)據(jù)傳送。在一讀取動作進行時,IRDY信號表示起始器準(zhǔn)備好接收數(shù)據(jù);而在進行一寫入操作時,TRDY信號表示目標(biāo)裝置準(zhǔn)備好接收數(shù)據(jù)。停止信號(stop,STOP),用以指示目標(biāo)裝置要求起始器停止目前的數(shù)據(jù)事務(wù)行為。
參照圖2,其繪示以PCI總線界面進行一讀取操作進行時的操作時序圖。以PCI總線進行并完成數(shù)據(jù)轉(zhuǎn)移的期間稱為一總線事務(wù)周期(bustransaction)20,其包括一地址周期(address phase)22與數(shù)個數(shù)據(jù)周期(dataphase),如24a、24b與24c。每一個數(shù)據(jù)周期24a/b/c又分別區(qū)分為等待周期(wait cycle)26a/b/c與數(shù)據(jù)轉(zhuǎn)移周期(data transfer cycle)28a/b/c。接著配合圖2的時序圖,以一讀取操作來做為PCI系統(tǒng)操作的簡單說明以及前文所述的PCI規(guī)格控制信號的作用。
在周期T1時,起始器(主控器)送出REQ信號,以要求主控PCI總線,此時如果沒有其他更高優(yōu)先權(quán)的裝置要求使用PCI總線,則在周期T2時,主橋接器(判優(yōu)器)送出GNT信號,以允許起始器主控PCI總線,周期T3時,起始器送出FRAME信號,表示一數(shù)據(jù)轉(zhuǎn)移將開始進行,并在AD總線送出開始地址(start address),用以指定一目標(biāo)裝置,同時于CBE線送出一讀取命令。緊接著送出的讀取命令,CBE線會送出字節(jié)致能信號(byte enable),此字節(jié)致能信號在整個數(shù)據(jù)周期期間(包括24a、24b與24c)會一直持續(xù)送出。在周期T4時,起始器送出備妥信號IRDY,表示可以開始收送數(shù)據(jù),然此時目標(biāo)裝置并未能備妥,此時期為數(shù)據(jù)周期24a的等待周期26a,是起始器等待目標(biāo)裝置將數(shù)據(jù)備妥。在周期T5時,目標(biāo)裝置已經(jīng)備妥并且送出備妥信號TRDY,因此在IRDY與TRDY信號均送出的數(shù)據(jù)轉(zhuǎn)移周期28a期間,起始器從目標(biāo)裝置讀取數(shù)據(jù)。目標(biāo)裝置在周期T6結(jié)束送出TRDY信號,以表示結(jié)束數(shù)據(jù)傳送,并且開始準(zhǔn)備第二筆數(shù)據(jù),此時為數(shù)據(jù)周期24b的等待周期26a。在周期T7時,TRDY再度送出,表示數(shù)據(jù)已經(jīng)備妥,并在IRDY與TRDY信號均送出的數(shù)據(jù)轉(zhuǎn)移周期28b期間,起始器從目標(biāo)裝置讀取數(shù)據(jù)。當(dāng)起始器來不及讀取數(shù)據(jù)時,起始器于周期T8結(jié)束送出IRDY信號,此時因為TRDY信號仍送出,所以此等待周期26c是由起始器所發(fā)動。等起始器備妥后,于周期T9再送出IRDY信號,此時在IRDY與TRDY信號均送出的數(shù)據(jù)轉(zhuǎn)移周期28c期間,起始器從目標(biāo)裝置讀取資料。由于起始器在周期T9時,就已知道不再需要讀取數(shù)據(jù),故起始器結(jié)束送出FRAME信號以及結(jié)束送出REQ信號,在周期T10時,判優(yōu)器結(jié)束送出GNT信號。至此,完成一讀取操作。
如上所述,在PCI規(guī)格中為了要完成PCI規(guī)格的數(shù)據(jù)事務(wù),必須使用繁復(fù)的控制信號、等待狀態(tài)與判優(yōu)程序等,而PCI所規(guī)定的信號至少有45-50個信號腳。目前的個人計算機內(nèi)的結(jié)構(gòu)與圖1所繪示的系統(tǒng)非常相似,其中主橋接器12就是主機板內(nèi)控制芯片組的北橋芯片,而南橋芯片就包括延展總線橋接器16b,個人計算機系統(tǒng)中的南橋是一個主要且必然存在的主控器。至于個人計算機系統(tǒng)中的圖形界面附加器,并未連接到PCI總線,而是通過一繪圖加速端口(accelerated graphic port,AGP)界面連接到北橋芯片。
然而在一般控制芯片組內(nèi)芯片間的數(shù)據(jù)事務(wù),往往不需要利用到一般多用途總線如此復(fù)雜的功能程序,例如主機板控制芯片組內(nèi)部的南北橋的數(shù)據(jù)事務(wù),并不需要用到完整PCI總線如此復(fù)雜的程序,而此種復(fù)雜的程序為了確保能適用多種應(yīng)用環(huán)境,多半犧牲了許多效能特性。且隨著高度集成化的趨勢,任一控制芯片可能會合并更多功能,例如CPU與北橋芯片合并為一個芯片,抑或是控制芯片組本身合并成一個芯片,使芯片包裝上的接腳變成一個非常寶貴的資源,必須盡量減少以降低控制芯片的成本。因此為了加速控制芯片組內(nèi)部之間的數(shù)據(jù)事務(wù),且節(jié)省芯片接腳的資源,一種簡化但仍滿足控制芯片間數(shù)據(jù)事務(wù)的特殊總線規(guī)格是需要的。例如南北橋間設(shè)計一種簡化多個信號線,快速的總線規(guī)格,且此總線規(guī)格在芯片內(nèi)部處理必須盡量近似一般PCI規(guī)格,以與芯片中其他模組相容,避免控制芯片做過多修改。
因此,本發(fā)明提出一種控制芯片組、控制芯片組內(nèi)芯片間的數(shù)據(jù)事務(wù)方法以及控制芯片組內(nèi)芯片間總線的判優(yōu)方法,用以提高控制芯片組數(shù)據(jù)事務(wù)的效能,并簡化控制芯片組內(nèi)的信號線的種類與數(shù)量。
本發(fā)明提出一種控制芯片組及控制芯片組內(nèi)芯片間的數(shù)據(jù)事務(wù)方法,使控制芯片組內(nèi)部控制芯片間傳送數(shù)據(jù),可連續(xù)傳送多筆命令或數(shù)據(jù),沒有任何等待周期,也不會有停止或重試(retry)的情形,可節(jié)省使用總線的時間,提高傳輸效益。
本發(fā)明提出一種控制芯片組及控制芯片組內(nèi)芯片間的數(shù)據(jù)事務(wù)方法,可節(jié)省總線中有關(guān)等待狀態(tài)的信號線、有關(guān)數(shù)據(jù)事務(wù)周期長度的信號線以及有關(guān)停止重試通訊協(xié)定的信號線等。
本發(fā)明提出一種控制芯片組之間總線的判優(yōu)方法,可縮短要求總線時的判優(yōu)時間。
本發(fā)明提出一種控制芯片組之間總線的判優(yōu)方法,可節(jié)省有關(guān)總線同意(grant)的信號線。
本發(fā)明提供一種控制芯片組之間總線的判優(yōu)方法,該控制芯片組包括一第一控制芯片及一第二控制芯片,該第一與該第二控制芯片通過一芯片間總線互相傳送數(shù)據(jù),該芯片間總線包括一共用雙向總線,該判優(yōu)方法包括下列步驟當(dāng)該第二控制芯片需使用該芯片間總線時,該第二控制芯片發(fā)出一總線要求信號;當(dāng)該第一控制芯片檢測到該總線要求信號時,如該第一控制芯片沒有使用該共用雙向總線,則該第一控制芯片不驅(qū)動該共用雙向總線,如該第一控制芯片正使用該共用雙向總線,則在完成目前的總線命令后,立即不驅(qū)動該共用雙向總線;當(dāng)該第二控制芯片未檢測到該第一控制芯片使用該芯片間總線時,該第二控制芯片等待一預(yù)定周期后,驅(qū)動該芯片間總線;以及當(dāng)該第二控制芯片檢測到該第一控制芯片使用該芯片間總線時,該第二控制芯片依據(jù)該第一控制芯片正執(zhí)行的總線命令與其所需的時鐘脈沖數(shù),在該第一控制芯片完成正執(zhí)行的總線命令,并等待一轉(zhuǎn)變周期后,驅(qū)動該芯片間總線。
本發(fā)明藉由控制芯片組中各控制芯片內(nèi)部隊列的數(shù)據(jù)緩沖器具有固定大小與數(shù)量,且芯片間發(fā)出讀寫確認命令的順序完全依照發(fā)出讀寫命令的順序來回應(yīng),使控制芯片完全可以掌握另一控制芯片內(nèi)部隊列中緩沖器的使用情形,每一控制芯片發(fā)出的命令時,其相關(guān)數(shù)據(jù)必須先準(zhǔn)備好,亦即使控制芯片組之間的所有事務(wù)情況透明化,因而可節(jié)省總線中有關(guān)等待狀態(tài)的信號線、有關(guān)數(shù)據(jù)事務(wù)周期長度的信號線以及有關(guān)停止重試通信協(xié)定的信號線等。并且可連續(xù)傳送多筆命令或數(shù)據(jù),沒有任何等待周期,也不會有停止或重試的情形發(fā)生,可節(jié)省使用總線的時間,提高傳輸效益。
本發(fā)明的控制芯片組間的總線的判優(yōu)方法,設(shè)定某一控制芯片平常掌握芯片間總線的控制權(quán),但另一控制芯片卻享有較高的總線優(yōu)先權(quán),搭配沒有等待周期的芯片間總線規(guī)格,就不需要GNT信號線,可快速無誤的判優(yōu)總線的使用權(quán)歸屬,縮短判優(yōu)的時間,并因為第二控制芯片組的事務(wù)要求總是被同意,進而提高整個傳輸效益。
為使本發(fā)明的上述目的、特征、和優(yōu)點能更明顯易懂,下文特舉較佳實施例,并配合附圖,作詳細說明如下圖1繪示一種公知在計算機結(jié)構(gòu)中使用PCI總線系統(tǒng)的結(jié)構(gòu)示意圖;圖2繪示一PCI系統(tǒng)的主控器進行讀取操作的時序圖,用以簡單說明PCI系統(tǒng)的各控制信號;圖3繪示依據(jù)本發(fā)明的一較佳實施例的一種控制芯片組的方塊示意圖;圖4繪示依據(jù)本發(fā)明的一實施例中,傳送數(shù)據(jù)位時間(bit time)與總線時鐘脈沖信號以及觸發(fā)信號線之間的時序關(guān)系圖;圖5繪示依據(jù)本發(fā)明的一較佳實施例的一種控制芯片組,其中有關(guān)寫入事務(wù)的內(nèi)部結(jié)構(gòu)方塊示意圖;圖6繪示依據(jù)本發(fā)明的一較佳實施例的一種控制芯片組,其中有關(guān)讀出事務(wù)的內(nèi)部結(jié)構(gòu)方塊示意圖;圖7a繪示公知控制芯片組之間總線的判優(yōu)方法,有關(guān)要求及同意使用總線的信號時序圖;以及圖7b到圖11繪示依據(jù)本發(fā)明的一實施例中,有關(guān)要求及同意使用總線的信號時序圖。
為了提出一種控制芯片組、控制芯片組內(nèi)芯片間的數(shù)據(jù)事務(wù)方法以及控制芯片組內(nèi)芯片間總線的判優(yōu)方法,能提高控制芯片組數(shù)據(jù)事務(wù)的效能,簡化控制芯片組內(nèi)的信號線的種類與數(shù)量,亦即簡化控制芯片間的總線。本發(fā)明以計算機主機板內(nèi)南橋與北橋所構(gòu)成的控制芯片組為例,重新定義數(shù)個命令信號,在此稱為高傳輸存儲連結(jié)(High Through-put Memory Link簡稱HTML)來化簡原先復(fù)雜的PCI總線信號。在此較佳實施例中,原先的南橋與北橋之間的信號線需要45條信號線,本發(fā)明以15個命令信號線來取代原先的PCI總線信號線。
參照圖3與表1,其中圖3是依據(jù)本發(fā)明的一較佳實施例的一種控制芯片組的方塊示意圖,圖3亦繪示控制芯片組中的南橋與北橋間的信號線;而表一詳細說明該些信號線的意義。由圖3與表一可知,本發(fā)明的控制芯片組包括南橋30與北橋32兩控制芯片,南橋30與北橋32之間原先的45個信號接腳簡化為15個,多余的接腳便可以提供做為其他用途,以增進控制芯片組的功能。
如圖3與表一所示,南橋30與北橋32之間,保留原先PCI總線協(xié)定規(guī)格所定的地址數(shù)據(jù)總線(AD bus),但將其縮減為僅有8條雙向信號線,其他如CBE、FRAME、IRDY、TRDY、STOP、DEVSEL、REQ以及GNT等信號線,簡化為一條雙向位致能BE信號線,以及由南橋30所驅(qū)動的上行鏈路命令(up link command)UPCMD、上行鏈路觸發(fā)(up link strobe)UPSTB;還有由北橋32所驅(qū)動的下傳鏈路命令(down link command)DNCMD、下傳鏈路觸發(fā)(down link strobe)DNSTB信號線等。南橋30與北橋32各驅(qū)動一條獨立的命令信號線,代表此一較佳實施例具有全雙工命令傳送功能,能各自隨時發(fā)出總線命令。且當(dāng)發(fā)出總線命令的同時如果取得此總線的使用權(quán),就可在地址數(shù)據(jù)總線上發(fā)出地址,并在BE信號線發(fā)出此命令的長度信息,或者在地址總線上送出數(shù)據(jù),并在BE信號線發(fā)出這筆數(shù)據(jù)的字節(jié)致能信號。
表一
參照圖4,其定義出本發(fā)明任一數(shù)據(jù)線傳送數(shù)據(jù)位時間與總線時鐘脈沖信號以及觸發(fā)信號線之間的時序關(guān)系。由圖可以看出,一個時鐘脈沖周期包含兩個觸發(fā)STB的時鐘脈沖信號,亦即在上行鏈路觸發(fā)信號線以及下傳鏈路觸發(fā)信號線致動時的運作頻率是2倍于時鐘脈沖信號線上的時鐘脈沖頻率。利用觸發(fā)信號的上升與下降邊緣共可以定義出四個位時間0~3,利用此四個位時間共可取得4個位的數(shù)據(jù),并可進行總線命令的編碼。因此8條數(shù)據(jù)線,每一時鐘脈沖周期可取得32位的數(shù)據(jù),其效果等于在PCI總線中,同時有32條數(shù)據(jù)線在傳送數(shù)據(jù)。而如BE信號線代表長度信息時,可以在一個時鐘脈沖周期得出1-16(4個位)數(shù)據(jù)長度信息。
上行鏈路命令UPCMD與下傳鏈路命令DNCMD定義出各種不同的數(shù)據(jù)事務(wù)型態(tài)。由南橋30所驅(qū)動的上行鏈路命令UPCMD包括北橋到南橋讀取確認命令C2PRA、北橋到南橋?qū)懭氪_認命令C2PWA、南橋到北橋讀取命令P2CR、南橋到北橋?qū)懭朊頟2CW等。其與位時間的編碼關(guān)系則如表二所示,請注意REQ總線要求信號,是在位時間0發(fā)出,與其他數(shù)據(jù)事務(wù)型態(tài)的命令并未重疊,所以在任何時間,甚至在發(fā)出數(shù)據(jù)事務(wù)型態(tài)命令的同一時鐘脈沖周期,可同時發(fā)出此一REQ信號。由北橋32所驅(qū)動的下傳鏈路命令DNCMD包括北橋到南橋輸出入讀取命令C2PIOR、北橋到南橋存儲器讀取命令C2PMR、北橋到南橋輸出入寫入命令C2PIOW、北橋到南橋存儲器寫入命令C2PMW、南橋到北橋讀取確認命令P2CRA、南橋到北橋?qū)懭氪_認命令P2CWA,其與位時間的編碼關(guān)系則如表三所示。請注意,在本實施例并無有關(guān)GNT的信號定義。
上述命令中南橋與北橋芯片所發(fā)出的命令是對應(yīng)的,當(dāng)南橋依序發(fā)出多個P2CR及/或P2CW命令后,北橋必須完全依照南橋發(fā)出命令的順序回應(yīng)相對應(yīng)的P2CRA及/或P2CWA命令。當(dāng)北橋依序發(fā)出多個C2PIOR、C2PMR、C2PIOW及C2PMW命令后,南橋必須依序回應(yīng)相對應(yīng)的C2PRA及C2PWA命令。且本實施例中,每一控制芯片發(fā)出的命令時,其相關(guān)數(shù)據(jù)必須先準(zhǔn)備好。例如當(dāng)北橋發(fā)出P2CW時,必須要將所要寫入的數(shù)據(jù)準(zhǔn)備妥當(dāng),當(dāng)北橋發(fā)出P2CRA時,必須要將所要傳回的讀出數(shù)據(jù)完全準(zhǔn)備好,以避免在傳輸數(shù)據(jù)的當(dāng)中有數(shù)據(jù)停頓無法接續(xù)的情形。
表二(上行鏈路命令UPCMD)
表三(下傳鏈路命令DNCMD)
圖5繪示依據(jù)本發(fā)明的一較佳實施例的一種控制芯片組,其中有關(guān)寫入事務(wù)的內(nèi)部結(jié)構(gòu)方塊示意圖,參照圖5。此較佳實施例的控制芯片組,包括第一控制芯片以及第二控制芯片,例如第一控制芯片是北橋芯片500,而第二控制芯片是南橋芯片600。其通過特殊的芯片間總線連接在一起,就是本發(fā)明定義的HTML。北橋芯片500包括數(shù)據(jù)送收器510、目標(biāo)控制器520(例如存儲器控制器520)、寫數(shù)據(jù)隊列525以及寫事務(wù)隊列530等。南橋芯片600包括數(shù)據(jù)送收器610、寫緩沖器大小寄存器535、寫緩沖器計數(shù)寄存器540、寫事務(wù)產(chǎn)生器545、寫事務(wù)記錄電路及隊列550以及寫比較器555。
數(shù)據(jù)送收器510直接連接至HTML,是符合HTML界面規(guī)格的數(shù)據(jù)收發(fā)控制器,能通過HTML接收與發(fā)送數(shù)據(jù)信號,來完成多個寫入事務(wù)。在這里我們簡稱每一次從南橋芯片600送出P2CW命令與相關(guān)數(shù)據(jù),到北橋芯片500回應(yīng)相對此次P2CW命令的P2CWA命令為一次寫入事務(wù)。寫數(shù)據(jù)隊列525,能依序暫存寫入事務(wù)的數(shù)據(jù)。而寫事務(wù)隊列530,依序暫存所有寫入事務(wù)的數(shù)據(jù)長度及寫入地址。目標(biāo)控制器520根據(jù)目前在寫事務(wù)隊列530中最先存入的寫入事務(wù)所對應(yīng)的寫入地址與數(shù)據(jù)長度,以及在寫數(shù)據(jù)隊列525中所對應(yīng)的數(shù)據(jù),將即將寫入目標(biāo)裝置(如外部存儲器)的數(shù)據(jù)送出后,第一數(shù)據(jù)送收器510會送出寫入確認信號(P2CWA命令),并且目前在寫事務(wù)隊列530中最先存入的寫入事務(wù)所對應(yīng)的寫入地址與數(shù)據(jù)長度,以及在寫數(shù)據(jù)隊列525中所對應(yīng)的數(shù)據(jù)都會被釋放,也就是隊列中暫存這些數(shù)據(jù)的存儲位置都可再填入其他數(shù)據(jù)。
南橋芯片600中的寫緩沖器計數(shù)寄存器540以及寫緩沖器大小寄存器535,分別存儲北橋芯片500中寫事務(wù)隊列530所可容納寫入事務(wù)的總數(shù)以及寫數(shù)據(jù)隊列525所可容納數(shù)據(jù)的總數(shù),本實施例中,寫事務(wù)隊列530所可容納寫入事務(wù)的總數(shù)為4,而寫數(shù)據(jù)隊列525所可容納數(shù)據(jù)的總數(shù)為16。這兩個數(shù)字可由基本輸出入系統(tǒng)在開機時設(shè)定,也可以在設(shè)計芯片時就固定等。
數(shù)據(jù)送收器610,同樣耦接至HTML,能通過HTML,接收與發(fā)送數(shù)據(jù)信號,來完成所有的寫入事務(wù),而且當(dāng)數(shù)據(jù)送收器610收到P2CWA命令后,會送出寫入成功釋放緩沖器信號至寫事務(wù)記錄電路及隊列550,可用以釋放隊列中存儲對應(yīng)此次寫入事務(wù)的數(shù)據(jù)長度的存儲位置。當(dāng)寫事務(wù)產(chǎn)生器545,產(chǎn)生一個新的寫入事務(wù)的數(shù)據(jù)長度,寫入地址及數(shù)據(jù)時,也會將數(shù)據(jù)長度送至寫事務(wù)記錄電路及隊列550。
寫事務(wù)記錄電路及隊列550能計算出目前北橋芯片500中,有關(guān)寫數(shù)據(jù)隊列530的所有將用寫緩沖器數(shù)據(jù)個數(shù),以及寫事務(wù)隊列525的所有將用寫入事務(wù)個數(shù)。這是由于寫事務(wù)記錄電路及隊列550中,依序暫存有所有寫入事務(wù)的數(shù)據(jù)長度,又由于北橋芯片500發(fā)出P2CWA命令是完全依照南橋芯片600發(fā)出P2CW命令的順序來回應(yīng),南橋芯片600完全可以掌握北橋芯片500內(nèi)部隊列中緩沖器的使用情形。
寫事務(wù)記錄電路及隊列550會將目前有關(guān)寫數(shù)據(jù)隊列530的所有將用寫緩沖器數(shù)據(jù)個數(shù),以及寫事務(wù)隊列525的所有將用寫入事務(wù)個數(shù)送給寫比較器555,寫比較器555將上述信息與寫緩沖器大小寄存器535存儲的寫數(shù)據(jù)隊列525所可容納數(shù)據(jù)的總數(shù),以及寫緩沖器計數(shù)寄存器540存儲的寫事務(wù)隊列530所可容納寫入事務(wù)的總數(shù)來比較,如果兩者都未超過可容納的總數(shù),就可通知數(shù)據(jù)送收器610送出新的寫入事務(wù)相關(guān)的數(shù)據(jù)信號。
圖6繪示依據(jù)本發(fā)明的一較佳實施例的一種控制芯片組,其中有關(guān)讀出事務(wù)的內(nèi)部結(jié)構(gòu)方塊示意圖。參照圖6。此較佳實施例的控制芯片組,包括北橋芯片500以及南橋芯片600。其通過特殊的芯片間總線連接在一起,就是本發(fā)明定義的HTML。北橋芯片500包括數(shù)據(jù)送收器510、目標(biāo)控制器520(例如存儲器控制器520)、讀數(shù)據(jù)隊列625以及讀事務(wù)隊列630等。南橋芯片600包括數(shù)據(jù)送收器610、讀緩沖器大小寄存器635、讀緩沖器計數(shù)寄存器640、讀事務(wù)產(chǎn)生器645、讀事務(wù)記錄電路及隊列650以及讀比較器655。
數(shù)據(jù)送收器510直接連接至HTML,是符合HTML界面規(guī)格的數(shù)據(jù)收發(fā)控制器,能通過HTML接收與發(fā)送數(shù)據(jù)信號,來完成多個讀出事務(wù)。在這里我們簡稱每一次從南橋芯片600送出P2CR命令,到北橋芯片500回應(yīng)相對此次P2CR命令的P2CRA命令與相關(guān)數(shù)據(jù)為一次讀出事務(wù)。讀數(shù)據(jù)隊列625,能依序暫存讀出事務(wù)的數(shù)據(jù)。而讀事務(wù)隊列630,依序暫存所有讀出事務(wù)的數(shù)據(jù)長度及讀出地址。目標(biāo)控制器520根據(jù)目前在讀事務(wù)隊列630中最先存入的讀出事務(wù)所對應(yīng)的讀出地址與數(shù)據(jù)長度,從目標(biāo)裝置(如外部存儲器)將數(shù)據(jù)讀出后,存入讀數(shù)據(jù)隊列625中。然后,第一數(shù)據(jù)送收器510會送出讀出確認信號(P2CRA命令)以及讀事務(wù)隊列630中最先存入的讀出事務(wù)所對應(yīng)的在讀數(shù)據(jù)隊列625的數(shù)據(jù)后,并且目前在讀事務(wù)隊列630中最先存入的讀出事務(wù)所對應(yīng)的讀出地址與數(shù)據(jù)長度,以及在讀數(shù)據(jù)隊列625中所對應(yīng)的數(shù)據(jù)都會被釋放,也就是隊列中暫存這些數(shù)據(jù)的緩沖器都可再填入其他數(shù)據(jù)。
南橋芯片600中的讀緩沖器計數(shù)寄存器640以及讀緩沖器大小寄存器635,分別存儲北橋芯片500中讀事務(wù)隊列630所可容納讀出事務(wù)的總數(shù)以及讀數(shù)據(jù)隊列625所可容納數(shù)據(jù)的總數(shù),本實施例中,讀事務(wù)隊列630所可容納讀出事務(wù)的總數(shù)為4,而讀數(shù)據(jù)隊列625所可容納數(shù)據(jù)的總數(shù)為16。這兩個數(shù)字可由基本輸出入系統(tǒng)在開機時設(shè)定,也可以在設(shè)計芯片時就固定等。
數(shù)據(jù)送收器610,同樣耦接至HTML,能通過HTML,接收與發(fā)送數(shù)據(jù)信號,來完成所有的讀出事務(wù),而且當(dāng)數(shù)據(jù)送收器610收到P2CRA命令后,除了將對應(yīng)此次P2CRA的命令的讀出事務(wù)的數(shù)據(jù)送給讀事務(wù)產(chǎn)生器645,也會送出讀出成功釋放緩沖器信號至讀事務(wù)記錄電路及隊列650,可用以釋放隊列中存儲對應(yīng)此次讀出事務(wù)的數(shù)據(jù)長度的存儲位置。當(dāng)讀事務(wù)產(chǎn)生器645,產(chǎn)生一個新的讀出事務(wù)的數(shù)據(jù)長度及讀出地址時,也會將數(shù)據(jù)長度送至讀事務(wù)記錄電路及隊列650。
讀事務(wù)記錄電路及隊列650能計算出目前北橋芯片500中,有關(guān)讀數(shù)據(jù)隊列630的所有將用讀緩沖器數(shù)據(jù)個數(shù),以及讀事務(wù)隊列625的所有將用讀出事務(wù)個數(shù)。這是由于讀事務(wù)記錄電路及隊列650中,依序暫存有所有讀出事務(wù)的數(shù)據(jù)長度,又由于北橋芯片500發(fā)出P2CRA命令是完全依照南橋芯片600發(fā)出P2CR命令的順序來回應(yīng),南橋芯片600完全可以掌握北橋芯片500內(nèi)部隊列中緩沖器的使用情形。
讀事務(wù)記錄電路及隊列650會將目前有關(guān)讀數(shù)據(jù)隊列630的所有將用讀緩沖器數(shù)據(jù)個數(shù),以及讀事務(wù)隊列625的所有將用讀出事務(wù)個數(shù)送給讀比較器655。讀比較器655將上述信息與讀緩沖器大小寄存器635存儲的讀數(shù)據(jù)隊列625所可容納數(shù)據(jù)的總數(shù),以及讀緩沖器計數(shù)寄存器640存儲的讀事務(wù)隊列630所可容納讀出事務(wù)的總數(shù)來比較,如果兩者都未超過可容納的總數(shù),就可通知數(shù)據(jù)送收器610送出新的讀出事務(wù)相關(guān)的數(shù)據(jù)信號。
上述圖5及圖6說明的本發(fā)明的實施例,都是舉例第一控制芯片是北橋芯片,而第二控制芯片是南橋芯片,且由南橋芯片主動發(fā)出命令,控制北橋芯片來讀寫數(shù)據(jù)。如本領(lǐng)域技術(shù)人員可輕易知曉,只要南北橋中有對應(yīng)的結(jié)構(gòu),并不限定要由南橋芯片主動發(fā)出命令,亦即第一控制芯片可以是南橋芯片,而第二控制芯片是北橋芯片。
上述說明中,并未針對南北橋如何取得HTML總線的使用權(quán)作敘述。以下,闡述本發(fā)明的控制芯片組內(nèi)芯片間總線的判優(yōu)方法,本發(fā)明主要設(shè)定控制芯片組內(nèi)第一控制芯片平常掌握芯片間總線的控制權(quán),但另一第二控制芯片卻享有較高的總線優(yōu)先權(quán),當(dāng)?shù)诙刂菩酒l(fā)出總線要求REQ信號時,第一控制芯片必須立即或在完成其目前執(zhí)行的總線命令周期后,交出總線的控制權(quán)給該第二控制芯片,此協(xié)定搭配沒有等待周期的總線規(guī)格,例如HTML等,就可快速無誤的判優(yōu)總線的使用權(quán)歸屬。
本發(fā)明的一種控制芯片組之間總線的判優(yōu)方法,其運作環(huán)境必須;控制芯片組包括第一控制芯片(如北橋芯片)及第二控制芯片(如南橋芯片),此第一與第二控制芯片通過芯片間總線(如HTML)互相傳送數(shù)據(jù)時,不會有等待周期,當(dāng)然此芯片間總線必須包括有共用雙向總線,否則就根本不需判優(yōu)。就如圖3-6所述的本發(fā)明較佳實施例的一種主機板南北橋控制芯片組所示。
首先第二控制芯片必須知道有關(guān)第一控制芯片所有具有固定時鐘脈沖數(shù)的總線命令與其使用該共用雙向總線的時鐘脈沖數(shù)。當(dāng)?shù)诙刂菩酒l(fā)出第一命令(如讀取命令)給第一控制芯片時,第二控制芯片必須存儲第一控制芯片傳送對應(yīng)第一命令的確認命令及數(shù)據(jù)所需的時鐘脈沖數(shù),其中第一控制芯片回應(yīng)確認命令及數(shù)據(jù)所需的時鐘脈沖數(shù)是由第一命令中的信息來決定。例如南橋發(fā)出P2CR命令給北橋時,由于有讀出數(shù)據(jù)長度的數(shù)據(jù)在內(nèi),又因為HTML傳送數(shù)據(jù)時沒有等待周期,所以南橋可知道北橋發(fā)出對應(yīng)的P2CRA命令及數(shù)據(jù)所需的時鐘脈沖數(shù)。
當(dāng)?shù)诙刂菩酒枋褂眯酒g總線時,第二控制芯片就直接發(fā)出總線要求信號。第一控制芯片檢測到此總線要求信號后,如第一控制芯片目前沒有使用此共用雙向總線,則第一控制芯片交出總線控制權(quán),不驅(qū)動此共用雙向總線,但是如第一控制芯片正使用此共用雙向總線時,則第一控制芯片等到完成目前的總線命令后,立即交出總線控制權(quán),不驅(qū)動此共用雙向總線。
反之,第二控制芯片發(fā)出總線要求信號后,就檢測總線是否正由第一控制芯片使用,當(dāng)?shù)诙刂菩酒礄z測到第一控制芯片正使用此芯片間總線時,第二控制芯片等待一預(yù)定周期后并持續(xù)檢測此芯片間總線,再驅(qū)動此芯片間總線,等待此一預(yù)定周期主要目的,是由于信號在芯片間總線中傳輸可能有傳輸延遲,避免第一控制芯片已送出命令,而第二控制芯片誤以為第一控制芯片沒有正使用此芯片間總線。另外,為避免兩控制芯片同時驅(qū)動此芯片間總線,轉(zhuǎn)換總線控制權(quán)至少須有一個時鐘脈沖周期的轉(zhuǎn)變周期(turn-around cycle)。
當(dāng)?shù)诙刂菩酒瑱z測到第一控制芯片正使用芯片間總線時,由于第二控制芯片可知道是第一控制芯片正執(zhí)行什么命令,執(zhí)行到那里及其總共所需的時鐘脈沖數(shù),第二控制芯片在第一控制芯片完成正執(zhí)行的總線命令,并等待轉(zhuǎn)變周期后,立即驅(qū)動芯片間總線。一般具有GNT信號的總線判優(yōu)方法,在第一控制芯片完成正執(zhí)行的總線命令后,才可能驅(qū)動GNT信號以通知第二控制芯片可掌握總線主控權(quán),等待第二控制芯片檢測到此一GNT信號,加上等待轉(zhuǎn)變周期并考慮傳輸延遲的安全因素后,第二控制芯片才驅(qū)動芯片間總線。參照圖7a,在周期T1時第二控制芯片發(fā)出總線要求信號DREQ#,在周期T2時第二控制芯片接著發(fā)出REQSTB信號,第一控制芯片在周期T4時收到第二控制芯片的要求并立即驅(qū)動GNT信號以通知第二控制芯片可掌握總線主控權(quán)。第一控制芯片在周期T5時停止驅(qū)動總線。在周期T6時第二控制芯片才收到GNT信號并開始驅(qū)動芯片間總線。因此公知芯片組之間使用GNT的判優(yōu)方法必然比本發(fā)明的判優(yōu)方法耗時。
接著,以數(shù)個例子,來說明本發(fā)明的實施例的運作時序。圖7b到圖11繪示依據(jù)本發(fā)明的一實施例中,有關(guān)要求及同意使用總線的信號時序圖。這些圖中,都是由南橋(HUB)發(fā)出總線要求信號,向北橋(HOST)要求使用總線,DREQ#代表南橋芯片內(nèi)部要求總線的內(nèi)部信號,其為高電位時代表南橋芯片內(nèi)部要求使用總線,REQSTB亦為內(nèi)部信號,其為高電位時,代表芯片(如未繪示南橋或北橋,則指為南橋)利用上行鏈路命令信號線UPCMD,在時鐘脈沖周期的第一個位時間(BitTime 0)發(fā)出REQ信號,HOSTOE與HUBOE為高電位時,分別代表北橋與南橋獲得總線的掌控權(quán),得以驅(qū)動芯片間總線的雙向總線。HOSTSTB信號變化時,代表北橋正使用雙向總線。
首先,參照圖7b。周期T1時,DERQ#上升為高電位,表示南橋需要使用總線。在周期T2起,要求觸發(fā)信號REQSTB為高電位,南橋便由上行鏈路命令UPCMD在位時間0發(fā)出真正的REQ信號。 由于考慮傳輸延遲,此REQSTB信號在周期T4才安全無虞被北橋所接受,因此北橋如果已開始一命令周期,就可能在周期T3送出下傳鏈路命命DNCMD。而南橋等到周期T5,才會檢測到此命令周期,如北橋并未送出下傳鏈路命令DNCMD時,南橋便擁有BE/AD總線,于是南橋便可以在周期T5送出上行鏈路命令UPCMD并驅(qū)動BE/AD總線。本實施例南橋由周期T2發(fā)出真正的REQ信號,等待一預(yù)定周期(3個時鐘脈沖數(shù)),等到周期T5才驅(qū)動BE/AD(字節(jié)致能/地址數(shù)據(jù)總線),此一期間包含周期T4轉(zhuǎn)換總線控制權(quán)的轉(zhuǎn)變周期。
參照圖8,周期T1時,DREQ#上升為高電位,表示南橋需要使用總線。在周期T2起,要求觸發(fā)信號REQSTB為高電位,南橋便由上行鏈路命令UPCMD在位時間0發(fā)出真正的REQ信號。但是北橋在周期T3送出下傳鏈路命令(DNCMD),此例送出P2CRA命令,假設(shè)此命令事務(wù)的數(shù)據(jù)長度為8個雙字組(8DW)。此8DW的數(shù)據(jù)傳送在周期T3到周期T10進行,由于南橋完全知道此事務(wù)所費的時鐘脈沖數(shù),且確定北橋事務(wù)完成后必定會交出總線,故事務(wù)進行完成后,再經(jīng)過T11的轉(zhuǎn)變周期,在周期T12時,南橋便可以驅(qū)動信號BE/AD(字節(jié)致能/地址數(shù)據(jù)總線)。
參照圖9,周期T1時,DREQ#上升為高電位,表示南橋需要使用總線。在周期T2起,要求觸發(fā)信號REQSTB為高電位,南橋便由上行鏈路命令UPCMD在位時間0發(fā)出真正的REQ信號。但是北橋在周期T3送出下傳鏈路命令(DNCMD),此例送出P2CR命令,此命令事務(wù)的時鐘脈沖數(shù)是固定僅有1個時鐘脈沖周期,此命令在周期T3進行,由于南橋完全知道所有固定周期命令所費的時鐘脈沖數(shù),且確定北橋必定會交出總線,故南橋經(jīng)過T4的轉(zhuǎn)變周期,在周期T5時,南橋便可以驅(qū)動雙向的信號字節(jié)致能與地址數(shù)據(jù)總線。
參照圖10,在周期T2后,要求觸發(fā)信號REQSTB為高電位,南橋便在周期T5時,開始送出上行鏈路命令UPCMD,并驅(qū)動雙向總線,在此例為連續(xù)兩個P2CR命令,且在周期T5與T6進行數(shù)據(jù)的傳送。注意的是,在周期T6時,要求觸發(fā)信號REQSTB便變?yōu)榈碗娢?。亦即雖然南橋仍在使用總線,并發(fā)出P2CR命令,但在周期T6的位時間0的要求信號已經(jīng)取消,故北橋便在周期T8前檢測到南橋結(jié)束要求使用總線,于是北橋在周期T8便開始驅(qū)動BE/AD的信號線。
參照圖11,在周期T1時,北橋送出C2PR的讀取命令。當(dāng)南橋的數(shù)據(jù)已經(jīng)備妥時,南橋便在周期T4使要求觸發(fā)信號REQSTB變?yōu)楦唠娢弧5却A(yù)定的3個時鐘脈沖數(shù)后,在周期T7,南橋驅(qū)動AD總線將北橋要讀取的數(shù)據(jù)送出,C2PRA命令亦同時出現(xiàn)在UPCMD上。同時,在周期T7的位時間0的REQ信號已經(jīng)取消,北橋在周期T9,重新掌握芯片間總線。
綜上所述,雖然本發(fā)明已以較佳實施例揭露如上,然其并非用以限定本發(fā)明,任何本領(lǐng)域的技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作各種的更動與潤飾,因此本發(fā)明的保護范圍應(yīng)當(dāng)以權(quán)利要求所界定范圍為準(zhǔn)。
權(quán)利要求
1.一種控制芯片組之間總線的判優(yōu)方法,該控制芯片組包括一第一控制芯片及一第二控制芯片,該第一與該第二控制芯片通過一芯片間總線互相傳送數(shù)據(jù),該芯片間總線包括一共用雙向總線,該判優(yōu)方法包括下列步驟當(dāng)該第二控制芯片需使用該芯片間總線時,該第二控制芯片發(fā)出一總線要求信號;當(dāng)該第一控制芯片檢測到該總線要求信號時,如該第一控制芯片沒有使用該共用雙向總線,則該第一控制芯片不驅(qū)動該共用雙向總線,如該第一控制芯片正使用該共用雙向總線,則在完成目前的總線命令后,立即不驅(qū)動該共用雙向總線;當(dāng)該第二控制芯片未檢測到該第一控制芯片使用該芯片間總線時,該第二控制芯片等待一預(yù)定周期后,驅(qū)動該芯片間總線;以及當(dāng)該第二控制芯片檢測到該第一控制芯片使用該芯片間總線時,該第二控制芯片依據(jù)該第一控制芯片正執(zhí)行的總線命令與其所需的時鐘脈沖數(shù),在該第一控制芯片完成正執(zhí)行的總線命令,并等待一轉(zhuǎn)變周期后,驅(qū)動該芯片間總線。
2.如權(quán)利要求1所述的控制芯片組之間總線的判優(yōu)方法,還包括提供給該第二控制芯片,有關(guān)該第一控制芯片所有具有固定時鐘脈沖數(shù)的總線命令與其使用該共用雙向總線的時鐘脈沖數(shù);以及當(dāng)該第二控制芯片發(fā)出一第一命令給該第一控制芯片時,該第二控制芯片存儲該第一控制芯片傳送對應(yīng)該第一命令之一確認命令及數(shù)據(jù)所需的時鐘脈沖數(shù),其中該第一控制芯片回應(yīng)該確認命令及數(shù)據(jù)所需的時鐘脈沖數(shù)是由該第一命令中的信息來決定。
3.如權(quán)利要求1所述的控制芯片組之間總線的判優(yōu)方法,其中該芯片間總線包括一地址數(shù)據(jù)總線、一長度/字節(jié)致能信號線、一上行鏈路命令信號線、一上行鏈路觸發(fā)信號線、一下傳鏈路命令信號線,一下傳鏈路觸發(fā)信號線以及一時鐘脈沖信號線,其中該共用雙向總線包括該地址數(shù)據(jù)總線以及該長度/字節(jié)致能信號線。
4.如權(quán)利要求1所述的控制芯片組之間總線的判優(yōu)方法,其中該第一控制芯片為計算機主機板的一北橋控制芯片,該第二控制芯片為計算機主機板的一南橋控制芯片。
5.如權(quán)利要求1所述的控制芯片組之間總線的判優(yōu)方法,其中該第一控制芯片為計算機主機板的該南橋控制芯片,該第二控制芯片為計算機主機板的該北橋控制芯片。
6.如權(quán)利要求3所述的控制芯片組之間總線的判優(yōu)方法,其中該上行鏈路觸發(fā)信號線以及該下傳鏈路觸發(fā)信號線致動時的運作頻率是2倍于該時鐘脈沖信號線上的時鐘脈沖頻率。
7.如權(quán)利要求6所述的控制芯片組之間總線的判優(yōu)方法,其中該總線要求信號是經(jīng)由該上行鏈路命令信號線發(fā)出。
8.如權(quán)利要求7所述的控制芯片組之間總線的判優(yōu)方法,其中該總線要求信號是當(dāng)該上行鏈路觸發(fā)信號線于任一時鐘脈沖周期中的第一個信號變化時,經(jīng)由該上行鏈路命令信號線發(fā)出。
9.如權(quán)利要求2所述的控制芯片組之間總線的判優(yōu)方法,其中該第一命令是一讀取命令,而該確認命令是一讀取確認命令。
全文摘要
控制芯片組與其間的數(shù)據(jù)事務(wù)方法,控制芯片組中各控制芯片內(nèi)部隊列的數(shù)據(jù)緩沖器具有固定大小與數(shù)量,且芯片間發(fā)出讀寫確認命令的順序全依照發(fā)出讀寫命令的順序回應(yīng),使控制芯片完全可掌握另一控制芯片內(nèi)部隊列中緩沖器的使用情形。控制芯片組間的總線的判優(yōu)方法,設(shè)定某一控制芯片平常掌握芯片間總線的控制權(quán),另一控制芯片享有較高的總線優(yōu)先權(quán),搭配無等待周期的芯片間總線規(guī)格。使控制芯片組數(shù)據(jù)事務(wù)效能提高,簡化控制芯片組內(nèi)信號線的種類與數(shù)量。
文檔編號G06F13/16GK1302019SQ9912563
公開日2001年7月4日 申請日期1999年12月28日 優(yōu)先權(quán)日1999年12月28日
發(fā)明者賴瑾, 蔡兆爵, 彭盛昌, 蔡奇哲 申請人:威盛電子股份有限公司