專利名稱:控制芯片組之間具有插隊功能的總線仲裁方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種芯片組,特別涉及一種電腦系統(tǒng)中的控制芯片組、控制芯片組內(nèi)芯片之間的數(shù)據(jù)交易方法以及控制芯片組內(nèi)芯片之間具有插隊功能的總線仲裁方法。
圖1所示的是在電腦結(jié)構(gòu)中使用PCI系統(tǒng)的一種結(jié)構(gòu)。中央處理器10經(jīng)由主橋接器(host bridge)12耦接到PCI總線14。PCI總線14可以耦接多個PCI兼容的周邊裝置的主控器(master),這些主控制器可以是如圖所示的圖形適配器(graphic adapter)16a、擴展總線橋接器(expansion bus bridge)16b、網(wǎng)絡(luò)適配器(LAN adapter)16c及小型電腦系統(tǒng)主總線適配器(SCSI host busadapter)16d等等。每一主控器均可以送出請求信號(request,REQ)來請求使用PCI總線14,而主橋接器12中的仲裁器(arbiter)可送出同意信號(grant,GNT)給主控器,同意其使用PCI總線14。
PCI兼容裝置(如主控器或電腦芯片組中的北橋)之間的數(shù)據(jù)傳送主要由下列適配器控制信號所控制。周期幀(cycle frame,FRAME)由開始器(其可以是主控器或北橋)所送出,用以指示一存取操作的開始與持續(xù)時間。FRAME信號送出時,表示通過PCI總線的數(shù)據(jù)交易(transaction)開始進行,當FRAME信號維持在低電位時表示數(shù)據(jù)交易持續(xù)進行。此時,地址總線AD便會在地址周期期間送出有效地址(valid address),同時會在命令/字節(jié)使能(command/byte enable,CBE[3∶0])線送出有效的總線命令(滿足PCI規(guī)格),用以對目標裝置指出開始器所要求的數(shù)據(jù)交易型態(tài),其中命令/字節(jié)使能線以4位編碼成16種不同的命令,其在PCI規(guī)格中有詳細定義。緊接著送出有效地址之后,地址總線AD送出要傳送的數(shù)據(jù),此時期稱為數(shù)據(jù)周期,同時由CBE線送出編碼后總線命令的字節(jié)使能信號,從而傳送數(shù)據(jù)。當FRAME信號停止送出時,表示交易狀態(tài)為最后一筆數(shù)據(jù)傳送,或者是已經(jīng)完成數(shù)據(jù)傳送。開始器備妥信號(initiator ready,IRDY)與目標裝置備妥信號(target ready,TRDY)兩者配合使用,用以分別指示開始裝置與目標裝置已經(jīng)備妥從而可以進行數(shù)據(jù)傳送。在一讀取動作進行時,IRDY信號表示開始器準備好接收數(shù)據(jù);而在進行一寫入操作時,TRDY信號表示目標裝置準備好接收數(shù)據(jù)。停止信號(stop,STOP)用以指示目標裝置要求開始器停止目前的數(shù)據(jù)交易行為。
參考圖2,該圖示出以PCI總線適配器進行讀取操作時的操作時序圖。以PCI總線進行并完成數(shù)據(jù)轉(zhuǎn)移的期間稱為總線交易周期(bustransaction)20,其包括一地址周期(address phase)22與多個數(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。接著結(jié)合圖2的時序圖,通過一讀取操作來簡單說明PCI系統(tǒng)操作以及前文所述的PCI規(guī)格控制信號的作用。
在周期T1時,開始器(主控器)送出REQ信號,以請求主控PCI總線,此時如果沒有其他更高優(yōu)先權(quán)的裝置請求使用PCI總線,則在周期T2時,主橋接器(仲裁器)送出GNT信號,以允許開始器主控PCI總線,周期T3時,開始器送出FRAME信號,表示一數(shù)據(jù)轉(zhuǎn)移將開始進行,并在AD總線送出開始地址(start address),用以指定一目標裝置,同時由CBE線送出一讀取命令。緊接著送出的讀取命令,CBE線會送出字節(jié)使能信號(byte enable),此字節(jié)使能信號在整個數(shù)據(jù)周期期間(包括24a、24b與24c)會一直持續(xù)送出。在周期T4時,開始器送出備妥信號IRDY,表示可以開始收送數(shù)據(jù),然而由于此時目標裝置未能備妥,此時期為數(shù)據(jù)周期24a的等待周期26a,即開始器等待目標裝置將數(shù)據(jù)備妥。在周期T5時,目標裝置已經(jīng)備妥并且送出備妥信號TRDY,因此在IRDY與TRDY信號均送出的數(shù)據(jù)轉(zhuǎn)移周期28a期間,開始器從目標裝置讀取數(shù)據(jù)。目標裝置在周期T6結(jié)束送出TRDY信號,以表示結(jié)束數(shù)據(jù)傳送,并且開始準備第二批數(shù)據(jù),此時為數(shù)據(jù)周期24b的等待周期26a。在周期T7時,TRDY再度送出,表示數(shù)據(jù)已經(jīng)備妥,并在IRDY與TRDY信號均送出的數(shù)據(jù)轉(zhuǎn)移周期28b期間,開始器從目標裝置讀取數(shù)據(jù)。當開始器來不及讀取數(shù)據(jù)時,開始器在周期T8結(jié)束送出IRDY信號,此時因為TRDY信號仍送出,所以此等待周期26c由開始器所啟動。等開始器備妥后,在周期T9再送出IRDY信號,此時在IRDY與TRDY信號均送出的數(shù)據(jù)轉(zhuǎn)移周期28c期間,開始器從目標裝置讀取數(shù)據(jù)。由于開始器在周期T9時,就已知道不再需要讀取數(shù)據(jù),故開始器結(jié)束送出FRAME信號并結(jié)束送出REQ信號,在周期T10時,仲裁器結(jié)束送出GNT信號。至此,完成一讀取操作。
如上所述,在PCI規(guī)格中,為了要完成PCI規(guī)格的數(shù)據(jù)交易,必須使用頻繁的控制信號、等待狀態(tài)與仲裁程序等,而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ù)交易往往不需要用到一般多用途總線如此復雜的功能程序,例如主機板控制芯片組內(nèi)部的南北橋的數(shù)據(jù)交易,不需要用到完整PCI總線如此復雜的程序,而這種復雜的程序為了確保能適用多種應用環(huán)境,多數(shù)情況下犧牲了許多效能特性。且隨著高度集成化的趨勢,任一控制芯片可能會合并更多功能,例如CPU與北橋芯片合并為一個芯片,或是控制芯片組本身合并成一個芯片,使芯片包裝上的接腳變成一個非常寶貴的資源,必須盡量減少接腳以降低控制芯片的成本。因此為了加速控制芯片組內(nèi)部之間的數(shù)據(jù)交易,且節(jié)省芯片接腳的資源,一種簡化但仍滿足控制芯片間數(shù)據(jù)交易的特殊總線規(guī)格是需要的。例如南北橋間設(shè)計一種能簡化多個信號線的快速總線規(guī)格,且此總線規(guī)格在芯片內(nèi)部處理必須盡量近似一般的PCI規(guī)格,以與芯片中其他模塊組兼容,避免控制芯片做過多修改。
在芯片組間當芯片擁有總線主控權(quán)時才可傳送數(shù)據(jù),但是當某一芯片一直占住總線主控權(quán),而另一芯片有較高優(yōu)先交易要進行時(例如有聲音或圖像等數(shù)據(jù)要傳送),因為得不到總線主控權(quán)將會使較高優(yōu)先交易無法進行。
本發(fā)明的目的是提供一種當任一控制芯片為總線擁有者時的插隊仲裁方法,使芯片組間可借助插隊方式來完成高優(yōu)先權(quán)交易。
相應地,本發(fā)明提供了一種在控制芯片組之間進行總線仲裁的方法,用于一電腦系統(tǒng)中,所述控制芯片組包括一第一控制芯片及一第二控制芯片,當所述第一與第二控制芯片通過一芯片間總線互相傳送數(shù)據(jù)時,可借助一插隊請求信號來完成高優(yōu)先權(quán)交易,所述芯片間總線包括一共用雙向總線,所述總線仲裁方法包括下列步驟當所述第二控制芯片需使用所述芯片間總線時,所述第二控制芯片發(fā)出一第二總線請求信號;當所述第一控制芯片檢測到所述第二總線請求信號時,如果所述第一控制芯片的第一總線請求信號為禁止,則所述第二控制芯片將成為下一個所述總線擁有者,如果所述第一控制芯片的所述第一總線請求信號為使能,則所述第一控制芯片仍為所述總線擁有者,但是若所述第二控制芯片的請求信號是高優(yōu)先時,則所述第二控制芯片可以發(fā)出所述插隊請求信號;以及當所述第一控制芯片檢測到所述第二控制芯片發(fā)出所述插隊請求信號時,啟動一延遲計時器,在該延遲計時器計時終止前,所述第二控制芯片將成為下一個所述總線擁有者。
根據(jù)本發(fā)明的當任一控制芯片為總線擁有者時的插隊仲裁方法,系統(tǒng)開始時設(shè)定某一控制芯片掌握芯片間總線的控制權(quán),當另一控制芯片有較高優(yōu)先權(quán)交易數(shù)據(jù)時,可通過插隊請求(preempt request)信號請求擁有總線控制權(quán)的芯片釋放出控制權(quán),當擁有控制權(quán)的芯片收到插隊請求信號時啟動延遲計時器(latency timer),在計時器計時終了前必須釋放總線控制權(quán)給對方,使擁有較高優(yōu)先權(quán)交易的控制芯片可在短時間內(nèi)將數(shù)據(jù)送出,進而提高整個傳輸效益。
根據(jù)本發(fā)明的在控制芯片組內(nèi)芯片之間進行數(shù)據(jù)交易的方法以及在控制芯片組內(nèi)芯片之間進行總線仲裁的方法,能夠提高控制芯片組數(shù)據(jù)交易的效能,并簡化控制芯片組內(nèi)的信號線的種類與數(shù)量,亦即簡化控制芯片之間的總線。
為使本發(fā)明的上述目的、特征、和優(yōu)點能更明顯易懂,下文特舉較佳實施例,并結(jié)合附圖,作詳細說明如下附圖的簡單說明圖1示出一種現(xiàn)有技術(shù)的在電腦結(jié)構(gòu)中使用PCI總線系統(tǒng)的結(jié)構(gòu)示意圖;圖2示出一PCI系統(tǒng)的主控器進行讀取操作時的時序圖,用以簡單說明PCI系統(tǒng)的各控制信號;圖3示出依據(jù)本發(fā)明一個較佳實施例的一種控制芯片組的方框示意圖;圖4示出在本發(fā)明的一個實施例中傳送數(shù)據(jù)位時間(bit time)與總線時鐘脈沖信號以及觸發(fā)信號線之間的時序關(guān)系圖;圖5到圖6示出在本發(fā)明的一個實施例中,有關(guān)第一控制芯片及第二控制芯片請求使用總線的信號時序圖;以及圖7示出在本發(fā)明的一個實施例中,有關(guān)第一控制芯片及第二控制芯片借助上傳命令(up link command)信號線及下傳命令(down link command)信號線執(zhí)行插隊請求的信號時序圖。
標號說明10中央處理器 12主橋接器14 PCI總線 16a圖形適配器16b擴展總線橋接器16c網(wǎng)絡(luò)適配器16d SCSI適配器20總線交易周期 22地址周期24a/b/c數(shù)據(jù)周期 26a/b/c等待周期28a/b/c數(shù)據(jù)傳送周期30南橋 32北橋34CPU36存儲器較佳實施例本發(fā)明提供了一種控制芯片組內(nèi)芯片間的數(shù)據(jù)交易方法以及控制芯片組內(nèi)芯片間的總線仲裁方法,能夠提高控制芯片組數(shù)據(jù)交易的效能,并簡化控制芯片組內(nèi)的信號線的種類與數(shù)量,亦即簡化控制芯片間的總線。本發(fā)明以電腦主機板內(nèi)南橋與北橋所構(gòu)成的控制芯片組為例,重新定義幾個命令信號,在此稱為高傳輸存儲器連結(jié)(High Through-put Memory Link簡稱HTML),以簡化原先復雜的PCI總線信號。在此較佳實施例中,原先的南橋與北橋之間的信號線需要45條信號線,本發(fā)明以15條命令信號線來取代原先的PCI總線信號線。
請參考圖3與表一,其中圖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 linkcommand)UPCMD、上傳觸發(fā)(up link strobe)UPSTB;以及由北橋32所驅(qū)動的下傳命令(down link command)DNCMD、下傳觸發(fā)(down link strobe)DNSTB信號線等。南橋30與北橋32各驅(qū)動一條獨立的命令信號線,代表這一較佳實施例具有全雙工命令傳送功能,能各自隨時發(fā)出總線命令。在發(fā)出總線命令的同時如果擁有總線使用權(quán),可以同時在地址數(shù)據(jù)總線發(fā)出數(shù)據(jù),還可在地址數(shù)據(jù)總線上發(fā)出地址,并在BE信號線發(fā)出目前命令的長度信息。
表一
請參考圖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ù)交易型態(tài)。由南橋30所驅(qū)動的上傳命令UPCMD包括北橋到南橋的讀取確認命令C2PRA、北橋到南橋的寫入確認命令C2PWA、南橋到北橋的讀取命令P2CR、南橋到北橋的寫入命令P2CW等。它們與位時間的編碼關(guān)系如表二所示,請注意,REQ總線請求信號是在位時間0發(fā)出,與其他數(shù)據(jù)交易型態(tài)的命令并未重疊,所以在任何時間,甚至在發(fā)出數(shù)據(jù)交易型態(tài)命令的同一時鐘脈沖周期,可同時發(fā)出這一REQ信號。由北橋32所驅(qū)動的下傳命令DNCMD包括北橋到南橋的輸出輸入讀取命令C2PIOR、北橋到南橋的存儲器讀取命令C2PMR、北橋到南橋的輸出輸入寫入命令C2PIOW、北橋到南橋的存儲器寫入命令C2PMW、南橋到北橋的讀取確認命令P2CRA、南橋到北橋的寫入確認命令P2CWA,它們與位時間的編碼關(guān)系如表三所示。請注意,在本實施例中沒有關(guān)于GNT的信號定義。
表二(上傳命令UPCMD)
表三(下傳命令DNCMD)
上述命令中南橋與北橋芯片所發(fā)出的命令是對應的,當南橋依序發(fā)出幾個P2CR及/或P2CW命令后,北橋必須完全依照南橋發(fā)出命令的順序回應相對應的P2CRA及/或P2CWA命令。當北橋依序發(fā)出幾個C2PIOR、C2PMR、C2PIOW及C2PMW命令后,南橋必須依序回應相對應的C2PRA及C2PWA命令。在本實施例中,每一控制芯片發(fā)出命令時,其相關(guān)數(shù)據(jù)必須先準備好。例如,當南橋發(fā)出P2CW時,必須要將所要寫入的數(shù)據(jù)準備妥當,當北橋發(fā)出P2CRA時,必須要將所要傳回的讀出數(shù)據(jù)完全準備好,以避免在傳輸數(shù)據(jù)的當中有數(shù)據(jù)停頓無法接續(xù)的情形,當沒有其他命令要送出時,控制芯片發(fā)出NOP命令。
本發(fā)明的一種當任一控制芯片為總線擁有者時的插隊仲裁方法,其運作環(huán)境必須是控制芯片組包括第一控制芯片(如北橋芯片)及第二控制芯片(如南橋芯片),當?shù)谝慌c第二控制芯片通過芯片間總線(如HTML)互相傳送數(shù)據(jù)時,不會有等待周期,所述芯片間總線必須包括有共用雙向總線,否則就根本不需仲裁。正如圖3所示的本發(fā)明較佳實施例的一種主機板南北橋控制芯片組所示。
首先,第二控制芯片必須知道有關(guān)第一控制芯片所有具有固定時鐘脈沖數(shù)的總線命令與其使用所述共用雙向總線的時鐘脈沖數(shù)。當?shù)诙刂菩酒l(fā)出第一命令(如讀取命令)給第一控制芯片時,第二控制芯片必須存儲第一控制芯片傳送對應的第一命令的確認命令及數(shù)據(jù)所需的時鐘脈沖數(shù),其中第一控制芯片回應確認命令及數(shù)據(jù)所需的時鐘脈沖數(shù)由第一命令中的信息來決定。例如南橋發(fā)出P2CR命令給北橋時,由于有讀出數(shù)據(jù)長度的數(shù)據(jù)在內(nèi),又因為HTML傳送數(shù)據(jù)時沒有等待周期,所以南橋可知道北橋發(fā)出對應的P2CRA命令及數(shù)據(jù)所需的時鐘脈沖數(shù)。
表四(當任一控制芯片為總線擁有者時的插隊仲裁方法)
表四所示為當任一控制芯片為總線擁有者時的插隊仲裁方法的各種組合,其中N代表第一控制芯片(例如是北橋芯片),S代表第二控制芯片(例如是南橋芯片),DNREQ代表第一控制芯片發(fā)出第一總線請求信號,UPREQ代表第二控制芯片發(fā)出第二總線請求信號,S可插隊代表第一控制芯片擁有總線控制權(quán),而第二控制芯片有較高優(yōu)先權(quán)交易的數(shù)據(jù),因而發(fā)出插隊請求信號,N可插隊代表第二控制芯片擁有總線控制權(quán),而第一控制芯片有較高優(yōu)先權(quán)交易的數(shù)據(jù),因而發(fā)出插隊請求信號。
當系統(tǒng)開始時第一控制芯片擁有總線控制權(quán),若第一控制芯片和第二控制芯片都沒有發(fā)出總線請求信號,則第一控制芯片將繼續(xù)擁有總線控制權(quán)。
當?shù)谝豢刂菩酒瑩碛锌偩€控制權(quán),第一控制芯片沒有發(fā)出第一總線請求信號而第二控制芯片發(fā)出第二總線請求信號UPREQ時,第二控制芯片將成為下一個總線控制權(quán)擁有者。
當?shù)谝豢刂菩酒瑩碛锌偩€控制權(quán),第一控制芯片發(fā)出第一總線請求信號DNREQ而第二控制芯片沒有發(fā)出第二總線請求信號時,第一控制芯片將繼續(xù)成為下一個總線控制權(quán)擁有者。
當?shù)谝豢刂菩酒瑩碛锌偩€控制權(quán),第一控制芯片發(fā)出第一總線請求信號DNREQ而第二控制芯片也發(fā)出第二總線請求信號UPREQ時,此時第一控制芯片將繼續(xù)成為下一個總線控制權(quán)擁有者,但是第二控制芯片可借助上傳命令信號線送出插隊請求信號,以請求在延遲計時器(latency timer)計時終止前取得總線控制權(quán),從而完成較高優(yōu)先的交易。
當?shù)诙刂菩酒瑩碛锌偩€控制權(quán),第二控制芯片或第一控制芯片都沒有發(fā)出總線請求信號時,第二控制芯片將繼續(xù)擁有總線控制權(quán)。
當?shù)诙刂菩酒瑩碛锌偩€控制權(quán),第二控制芯片沒有發(fā)出第二總線請求信號而第一控制芯片發(fā)出第一總線請求信號DNREQ時,第一控制芯片將成為下一個總線控制權(quán)擁有者。
當?shù)诙刂菩酒瑩碛锌偩€控制權(quán),第二控制芯片發(fā)出第二總線請求信號UPREQ而第一控制芯片沒有發(fā)出第一總線請求信號時,第二控制芯片將繼續(xù)成為下一個總線控制權(quán)擁有者。
當?shù)诙刂菩酒瑩碛锌偩€控制權(quán),第二控制芯片發(fā)出第二總線請求信號UPREQ而第一控制芯片也發(fā)出第一總線請求信號DNREQ時,此時第二控制芯片將繼續(xù)成為下一個總線控制權(quán)擁有者,但是第一控制芯片可借助下傳命令信號線送出插隊請求信號,以請求在延遲計時器計時終止前取得總線控制權(quán),從而完成較高優(yōu)先的交易。
第二控制芯片發(fā)出第二總線請求信號UPREQ后,檢測總線是否正由第一控制芯片使用,當?shù)诙刂菩酒礄z測到第一控制芯片正使用所述芯片間總線時,第二控制芯片等待一預定周期后并繼續(xù)檢測所述芯片間總線,再驅(qū)動所述芯片間總線,等待所述預定周期的主要目的是,由于信號在芯片間總線中傳輸可能有傳輸延遲,故所述預定周期可避免第一控制芯片已送出命令,而第二控制芯片誤以為第一控制芯片沒有正使用所述芯片間總線。另外,為避免兩個控制芯片同時驅(qū)動所述芯片間總線,轉(zhuǎn)換總線控制權(quán)至少要有一個時鐘脈沖周期的轉(zhuǎn)變周期(turn-around cycle)。
當?shù)诙刂菩酒瑱z測到第一控制芯片正使用芯片間總線時,必須等待第一控制芯片直到其交出總線使用權(quán)。第二控制芯片如果等待太久或是有較高優(yōu)先的交易數(shù)據(jù)要送出,可以在上傳命令UPCMD信號線發(fā)出插隊信號,強迫第一控制芯片讓出總線使用權(quán)。
接著以幾個例子來說明本發(fā)明的實施例的運作時序。
圖5到圖6示出了在本發(fā)明的一個實施例中,有關(guān)第一控制芯片及第二控制芯片請求使用總線的信號時序圖。請參照圖5,其中HCLK代表HTML的時鐘脈沖信號,DNREQ#代表第一控制芯片的第一總線請求信號,其中#代表低電位動作,UPREQ#代表第二控制芯片的第二總線請求信號,NOE#代表第一控制芯片的輸出使能信號,SOE#代表第二控制芯片的輸出使能信號,AD代表第一控制芯片及第二控制芯片間的共用雙向總線信號。
請參照圖5,在時間T1及T2,因為DNREQ#及UPREQ#為禁止(高電位),因此第一控制芯片擁有總線控制權(quán)(系統(tǒng)預設(shè)值)。為使交易(transaction)能在T4開始,DNREQ#必須在T3時變成使能(低電位)。在T5時UPREQ#變?yōu)槭鼓?,但在T11之前因DNREQ#維持在使能,因此第二控制芯片不能成為總線擁有者。因為第一控制芯片在T11時不需要總線,因此在T10時令DNREQ#變成禁止。因為UPREQ#維持使能到T9且DNREQ#在T10時變成禁止,T11時NOE#變成禁止,因此經(jīng)過T11轉(zhuǎn)變周期后第二控制芯片在T12時驅(qū)動數(shù)據(jù)至總線。在T13時第二控制芯片不需要總線,因此T12時UPREQ#變?yōu)榻埂5駾NREQ#在T11及T12時維持禁止,因此第二控制芯片依然是總線擁有者。在T13時DNREQ#變成使能,且在T14時UPREQ#維持使能,因此第二控制芯片依然是總線擁有者,在T15時開始一交易。在T16時UPREQ#變成禁止且在T15時DNREQ#變成使能,因此在T17時第二控制芯片失去總線控制權(quán),在T18時第一控制芯片再次成為總線擁有者。
請參照圖6,除了在T16時DNREQ#變成禁止且在T17時變成使能外,其余和圖5類似。此結(jié)果為一假性請求(dummy request)。第一控制芯片依然是總線擁有者(bus owner)且在T18時開始一交易。成為總線接收者(busreceiver)的第二控制芯片在T18時并不能成為總線擁有者,雖然第一控制芯片在T16時已將DNREQ#變成禁止,且總線接收者在T15時已將UPREQ#變成使能。因此,當一控制芯片從總線擁有者變成總線接收者后,在轉(zhuǎn)換周期之后的兩個周期內(nèi)不能再次成為總線擁有者。
請參照圖7,該圖示出在本發(fā)明的一個實施例中,有關(guān)第一控制芯片及第二控制芯片借助上傳命令信號線及下傳命令信號線執(zhí)行插隊請求的信號時序圖。請參照圖7,在圖5中,第一控制芯片在T7沒有交易要進行,因此可以在T6時將DNREQ#變成禁止,如此將導致總線在T7進入轉(zhuǎn)變周期。第一控制芯片在T7失去總線控制權(quán)及第二控制芯片在T8取得總線控制權(quán)。上述情況取決于總線擁有者在下一個周期不想使用總線時是否會將請求信號變成禁止。
請參照圖5,需注意的是,當?shù)诙刂菩酒赥5時想使用總線,但是,因為第一控制芯片沒有使DNREQ#變成禁止,因此第二控制芯片不能開始其交易。在此情況下,第二控制芯片借助上傳命令信號線UPCMD驅(qū)動一插隊命令,以告知第一控制芯片其有較高優(yōu)先的交易要執(zhí)行。請參照圖7,當?shù)谝豢刂菩酒赥7時想使用總線,但是,因為第二控制芯片沒有使UPREQ#變成禁止,因此第一控制芯片不能開始其交易。在此情況下,第一控制芯片借助下傳命令信號線DNCMD驅(qū)動一插隊命令,以告知第二控制芯片其有較高優(yōu)先的交易要執(zhí)行,當?shù)诙刂菩酒盏酱嗣詈?,會啟動一延遲計時器,在計時器計時終止前第二控制芯片必須釋放出總線控制權(quán),如此第一控制芯片即可保證在一定時間內(nèi)取得總線控制權(quán)以進行較高優(yōu)先的交易。
綜上所述,雖然對本發(fā)明已以較佳實施例揭露如上,然而上述各實施例并非用以限定本發(fā)明,本領(lǐng)域普通技術(shù)人員在不脫離本發(fā)明的精神和范圍的情況下,可對本發(fā)明作各種更動與潤飾,因此本發(fā)明的保護范圍應當由后附的權(quán)利要求書所限定的為準。
權(quán)利要求
1.一種在控制芯片組之間進行總線仲裁的方法,用于一電腦系統(tǒng)中,所述控制芯片組包括一第一控制芯片及一第二控制芯片,當所述第一與第二控制芯片通過一芯片間總線互相傳送數(shù)據(jù)時,可借助一插隊請求信號來完成高優(yōu)先權(quán)交易,所述芯片間總線包括一共用雙向總線,所述總線仲裁方法包括下列步驟當所述第二控制芯片需使用所述芯片間總線時,所述第二控制芯片發(fā)出一第二總線請求信號;當所述第一控制芯片檢測到所述第二總線請求信號時,如果所述第一控制芯片的第一總線請求信號為禁止,則所述第二控制芯片將成為下一個所述總線擁有者,如果所述第一控制芯片的所述第一總線請求信號為使能,則所述第一控制芯片仍為所述總線擁有者,但是若所述第二控制芯片的請求信號是高優(yōu)先時,則所述第二控制芯片可以發(fā)出所述插隊請求信號;以及當所述第一控制芯片檢測到所述第二控制芯片發(fā)出所述插隊請求信號時,啟動一延遲計時器,在該延遲計時器計時終止前,所述第二控制芯片將成為下一個所述總線擁有者。
2.如權(quán)利要求1所述的方法,其中當所述電腦系統(tǒng)開始時,預設(shè)所述第一控制芯片為總線擁有者,所述第二控制芯片為總線接收者。
3.如權(quán)利要求1所述的方法,其中所述總線接收者只有在所述總線擁有者在兩個周期前禁止所述總線請求信號,且所述總線接收者在三個周期前使能所述總線請求信號時,才可驅(qū)動所述共用雙向總線。
4.如權(quán)利要求3所述的方法,其中當所述總線接收者變成所述總線擁有者時,需等待一個轉(zhuǎn)變周期后才可驅(qū)動所述共用雙向總線。
5.如權(quán)利要求1所述的方法,其中所述總線擁有者在比較所述總線請求信號之前一個周期與所述總線接收者的所述總線請求信號之前兩個周期后,決定下1周期是否繼續(xù)擁有所述總線使用權(quán)。
6.如權(quán)利要求1所述的方法,所述芯片間總線包括一地址數(shù)據(jù)總線、一長度/字節(jié)使能信號線、一上傳命令信號線、一上傳觸發(fā)信號線、一下傳命令信號線,一下傳觸發(fā)信號線以及一時鐘脈沖信號線,其中所述共用雙向總線包括所述地址數(shù)據(jù)總線以及所述長度/字節(jié)使能信號線。
7.如權(quán)利要求6所述的方法,其中所述插隊請求信號經(jīng)由所述上傳命令信號線及所述下傳命令信號線發(fā)出。
8.如權(quán)利要求1所述的方法,其中所述第一控制芯片為一北橋芯片,所述第二控制芯片為一南橋芯片。
9.如權(quán)利要求1所述的方法,其中所述第一控制芯片為一南橋芯片,所述第二控制芯片為一北橋芯片。
全文摘要
本發(fā)明的控制芯片組之間具有插隊功能的總線仲裁方法,系統(tǒng)開始時設(shè)定某一控制芯片掌握芯片間總線的控制權(quán),當另一控制芯片有較高優(yōu)先權(quán)交易數(shù)據(jù)時,可通過插隊請求信號請求擁有總線控制權(quán)的芯片釋放出控制權(quán),當擁有控制權(quán)的芯片收到插隊請求信號時會啟動一延遲計時器,在計時器計時終止前必須釋放總線控制權(quán)給對方,使擁有較高優(yōu)先權(quán)交易的控制芯片可在短時間內(nèi)將數(shù)據(jù)送出,進而提高整個傳輸效益。
文檔編號G06F13/18GK1309360SQ00101899
公開日2001年8月22日 申請日期2000年2月12日 優(yōu)先權(quán)日2000年2月12日
發(fā)明者彭盛昌 申請人:威盛電子股份有限公司