專利名稱:外圍元件互連總線兼容主控器及其判定器與判定方法
技術(shù)領域:
本發(fā)明涉及一種判定器(Arbiter)及其判定方法,且特別是涉及一種當在PCI(外圍元件互連)總線上的響應為延遲交易終止(Delay TransactionTermination)后,能重復傳送PCI總線詢問信號至PCI總線的多功能主控器(Master),以及其中的判定器與判定方法。
圖1所示出的是在電腦架構(gòu)中使用PCI系統(tǒng)的一種架構(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,RST)請求使用PCI總線14,而主橋接器12中的總線判定器(arbiter)則可送出同意信號(grant,GNT)給主控器,同意其使用PCI總線14。
PCI兼容裝置(如主控器或電腦芯片組中的北橋)之間的數(shù)據(jù)傳送主要是由下列的接口控制信號所控制。周期幀(cycle frame,F(xiàn)RAME)是由啟動器(其可以是主控器或北橋)所送出,用以指示一存取操作的開始與持續(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,SROP),用以指示目標裝置請求啟動器停止目前的數(shù)據(jù)交易行為。
請參考圖2,其示出以PCI總線接口進行一讀取操作時的操作時序圖。以PCI總線進行并完成數(shù)據(jù)轉(zhuǎn)移的期間稱為一總線交易周期(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時,啟動器送出FRAME信號,表示一數(shù)據(jù)轉(zhuǎn)移將開始進行。并在AD總線送出開始地址(start address),用以指定一目標裝置,同時于CBE線送出一讀取命令。緊接著送出的讀取命令,CBE線會送出經(jīng)過編碼后命令的字節(jié)使能信號(byte enable),此字節(jié)使能信號在整個數(shù)據(jù)周期期間(包括24a、24b與24c)會一直持續(xù)送出。在周期T2時,啟動器送出備妥信號IRDY,表示可以開始收送數(shù)據(jù),然而此時目標裝置并未能備妥,此時期為數(shù)據(jù)周期24a的等待周期26a,是啟動器等待目標裝置將數(shù)據(jù)備妥。在周期T3時,目標裝置已經(jīng)備妥并且送出備妥信號TRDY,因此在IRDY與TRDY信號均送出的數(shù)據(jù)轉(zhuǎn)移周期28a期間,啟動器從目標裝置讀取數(shù)據(jù)。目標裝置在周期T4結(jié)束送出TRDY信號,以表示結(jié)束數(shù)據(jù)傳送,并且開始準備第二筆數(shù)據(jù),此時為數(shù)據(jù)周期24b的等待周期26b。在周期T5時,TRDY再度送出,表示數(shù)據(jù)已經(jīng)備妥,并在IRDY與TRDY信號均送出的數(shù)據(jù)轉(zhuǎn)移周期28b期間,啟動器從目標裝置讀取數(shù)據(jù)。當啟動器來不及讀取數(shù)據(jù)時,啟動器于周期T6結(jié)束送出IRDY信號,此時因為TRDY信號仍送出,所以此等待周期26c是由啟動器所發(fā)動。等啟動器備妥后,于周期T7再送出IRDY信號,此時在IRDY與TRDY信號均送出的數(shù)據(jù)轉(zhuǎn)移周期28c期間,起始器從目標裝置讀取數(shù)據(jù)。至此,完成一讀取操作。
傳統(tǒng)上,在任何特定的總線周期中,只有一個主控器可經(jīng)由總線而通信。因此,一個多功能主控器中的各功能裝置,在利用總線作數(shù)據(jù)傳輸之前,首先主控制必須請求并接收到總線主控權(quán)的授與。而在一些簡單的系統(tǒng)中,多功能主控器在其所有功能裝置完成數(shù)據(jù)交易前,不會釋放出總線的主控權(quán)。
請同時參照圖3及圖4,圖3示出的是現(xiàn)有技術(shù)的一種與PCI總線兼容的具有多功能主控器的方塊圖,以及圖4示出的是圖3的主控器使用一種傳統(tǒng)循環(huán)判定方式的數(shù)據(jù)傳輸?shù)臅r序圖。
連接至PCI總線40的多功能主控器30,其內(nèi)部包括有一判定器32及數(shù)個不同功能的功能電路,即功能電路34、36與38。判定器32與總線判定器31兩者并不相同,總線判定器31用以判定主控器30及連接于PCI總線40上的其他主控器(未顯示),以授權(quán)其使用PCI總線40,而判定器32是用以判定功能電路34、36與38,以授權(quán)其使用主控器30的資源,例如當主控器30獲得總線判定器31的授權(quán)時,某一功能電路必須獲得判定器32的授權(quán),方能通過判定器32來使用PCI總線40。
功能電路34與36分別可包括通信接口、基本輸出入功能接口等外圍連接接口的控制電路等,且分別連接至外圍裝置33與35。功能電路38配置于主控器30內(nèi)部,其可獨自完成特定功能,如數(shù)字信號處理器(DSP)等。另外,外圍裝置42可直接與判定器32搭配,無須通過功能電路來控制或轉(zhuǎn)換信號,其直接連接至主控器30的判定器32,藉以直接送出信號至判定器32中。
傳統(tǒng)上,假如外圍裝置33發(fā)出一讀取請求時,功能電路34會發(fā)出請求信號(request)至判定器32中,若判定器32同意功能電路34的請求,接著主控器30(判定器32)會送出一請求信號至總線判定器31中。此時PCI總線40上若無其他主控器正在使用,則總線判定器31會送出同意信號給主控器30(判定器32),以同意其使用PCI總線40。隨后,判定器32會送出同意信號(如圖4中所示之A)給功能電路34,然后功能電路34便可以通過判定器32,開始送出請求信號給PCI總線40,以等待請求數(shù)據(jù)的響應。此時,若功能電路38與外圍裝置42依序也請求使用PCI總線40時,由于PCI總線40目前正被功能電路34所使用,因此必須等到功能電路34完全接收其所請求的數(shù)據(jù)后,功能電路38與外圍裝置42才會如上所述,依序被同意使用PCI總線40。
當功能電路34所請求的數(shù)據(jù)準備好時,功能電路34會開始從PCI總線40接收其的請求數(shù)據(jù),并將之傳送至外圍裝置33,其中功能電路34占用PCI總線40的時間如圖4的TA所示,而其于PCI總線40上的實際數(shù)據(jù)交易時間為TA1,因此由圖可以看出,約有一大半的占用總線時間被浪費掉。
在功能電路34接收其請求數(shù)據(jù)完畢后,由于PCI總線40的使用授權(quán)者仍是主控器30,除非總線判定器31停止主控器30的授權(quán),否則判定器32會繼續(xù)上述請求數(shù)據(jù)的動作,亦即接著會同意功能電路38的請求,并依照上述功能電路34的數(shù)據(jù)交易的方式來獲取數(shù)據(jù)。然后,判定器32會同意外圍裝置42使用PCI總線40,使其得到其所請求的數(shù)據(jù),其中圖4的TB與TC分別代表功能電路38與外圍裝置42占用PCI總線40的時間,而TB1與TC1分別代表功能電路38與外圍裝置42的實際數(shù)據(jù)交易時間。等到提出請求的功能電路都得到其請求數(shù)據(jù)后,若無其他功能電路請求使用PCI總線40時,主控器30會釋放出PCI總線40的使用權(quán)限,以供其他連接于其上的主控器使用。
由圖4可得知,功能電路34、38與外圍裝置42占用PCI總線40的總時間耗費為T,因此約有一大半的PCI總線40主動時間(active time),亦即PCI總線40可真正傳輸數(shù)據(jù)的時間被浪費掉,使得PCI總線40的使用效率大為降低。
此外,由于目前的PCI總線上的目標裝置(Target),尤其是一般擔負總線判定器功能的主橋接器,有些具有多延遲(Multi-delay)功能,若將其應用在提供有管線(Pipeline)功能(亦即可同時處理多個命令動作)的動態(tài)隨機存取存儲器(DRAM)上,將可使此種具有多延遲交易功能的主橋按器更能有效發(fā)揮其性能。所以依照上述傳統(tǒng)的方式,不僅浪費了不少PCI總線的主動時間,而且每一功能電路或外圍裝置,必須依序等待使用總線,造成某一功能電路或外圍裝置,可能只需短暫使用總線,卻必須排隊良久,而降低PCI系統(tǒng)的整體效能,因此現(xiàn)有技術(shù)主控器的判定器及其判定方式確實有修正的必要。
有鑒于此,本發(fā)明的目的就是提供一種PCI總線兼容主控器以及其中的判定器與判定方法,以解決現(xiàn)有技術(shù)占用PCI總線時間過長,造成嚴重降低PCI總線的使用效率的缺點。
本發(fā)明的另一目的,是提供一種PCI總線兼容主控器以及其中的判定器與判定方法,使主控器的多個功能裝置,可同時送出個別的數(shù)據(jù)存取請求至PCI總線,并使先備妥數(shù)據(jù)所對應的功能裝置,有機會先利用PCI總線存取數(shù)據(jù),使得每一請求PCI總線的裝置有較平均的延遲時間,進而提高PCI系統(tǒng)的整體效能。
為達到上述和其他目的,本發(fā)明提供一種PCI總線兼容主控器及其中的判定器,主控器包括功能電路以及判定器。功能電路發(fā)出本地詢問信號給判定器,以請求在PCI總線上傳輸數(shù)據(jù),而判定器包括循環(huán)詢問調(diào)度器(RotatingInquiry Scheduler,簡稱RIS)以及啟發(fā)式詢問啟動器(Heuristic InquiryIntiator,簡稱HⅡ)。耦合到功能電路的循環(huán)詢問調(diào)度器接收及儲存本地詢問信號,并依據(jù)本地詢問信號,將總線詢問信號送至啟發(fā)式詢問啟動器,啟發(fā)式詢問啟動器依據(jù)總線詢問信號,將PCI總線詢問信號送至PCI總線。當PCI總線上的響應為延遲交易終止后,啟發(fā)式詢問啟動器重復傳送PCI總線詢問信號至PCI總線;當PCI總線上的響應并非延遲交易終止時,啟發(fā)式詢問啟動器通知循環(huán)詢問調(diào)度器,而循環(huán)詢問調(diào)度器使功能電路在PCI總線上傳輸數(shù)據(jù)。
上述循環(huán)詢問調(diào)度器至少包括詢問隊列以及響應隊列。循環(huán)詢問調(diào)度器接收功能電路的本地詢問信號后,將其儲存至詢問隊列,然后循環(huán)詢問調(diào)度器依據(jù)本地詢問信號,將總線詢問信號送給啟發(fā)式詢問啟動器。當啟發(fā)式詢問啟動器依據(jù)總線詢問信號,取得PCI總線的授權(quán),將PCI總線詢問信號送至PCI總線時,循環(huán)詢問調(diào)度器將儲存在詢問隊列的本地詢問信號清除,并將其轉(zhuǎn)存至響應隊列。而當PCI總線的響應并非為延遲交易終止時,循環(huán)詢問調(diào)度器依據(jù)儲存在響應隊列的本地詢問信號,來建立必須的數(shù)據(jù)通路,使功能電路在PCI總線上傳輸數(shù)據(jù),并清除置放于響應隊列中的本地詢問信號。
上述啟發(fā)式詢問啟動器包括緩沖電路、寄存器以及計時器。耦合至循環(huán)詢問調(diào)度器的緩沖電路接收并暫存總線詢問信號,并依據(jù)總線詢問信號傳送PCI總線詢問信號至PCI總線上。耦合至緩沖電路以及寄存器的計時器,其依據(jù)寄存器所儲存的延遲時間值,來發(fā)出通知信號給緩沖電路,以通知緩沖電路再次送出PCI總線詢問信號至PCI總線上。上述緩沖電路包括地址快取存儲器與運算器。地址快取存儲器可快速存取總線詢問信號內(nèi)的位址信息,而運算器依據(jù)儲存于地址快取存儲器的地址信息或循環(huán)詢問調(diào)度器剛送來的總線詢問信號,來送出PCI總線詢問信號至PCI總線。
上述啟發(fā)式詢問啟動器可以包括多組相對應的緩沖電路、寄存器以及計時器,以同時處理多個總線詢問信號,而啟發(fā)式詢問啟動器更具有運算器,此運算器連接這些緩沖電路,并依據(jù)這些PCI總線詢問信號,依序送出PCI總線詢問信號至PCI總線上。
上述啟發(fā)式詢問啟動器設定延遲時間值的方法,包括下列步驟首先令延遲時間值等于預先設定的延遲時間預定值,而計時器發(fā)出通知信號至緩沖電路,以通知緩沖電路再次送出PCI總線詢問信號至PCI總線后,當PCI總線上的響應并非為延遲交易終止,而且延遲時間值大于延遲時間預定值時,令新的延遲時間值為目前延遲時間值減去延遲減少相差值,而當PCI總線再一次響應延遲交易終止時,令新的延遲時間值為目前延遲時間值加上延遲增加相差值。
為達到上述和其他目的,本發(fā)明還提供一種PCI總線兼容主控器的判定方法,包括下列步驟首先提供多個功能電路,而這些功能電路發(fā)出多個本地詢問信號,以請求在PCI總線上傳輸數(shù)據(jù);接著依序?qū)⑦@些本地詢問信號儲存,并依據(jù)這些本地詢問信號,送出多個總線詢問信號;再依據(jù)這些總線詢問信號,將多個PCI總線詢問信號送至PCI總線上。然后,當PCI總線上的響應為延遲交易終止后,重復傳送對應此延遲交易終止的PCI總線詢問信號至PCI總線上;當PCI總線上的響應并非為延遲交易終止時,使對應的功能電路,在PCI總線上傳輸數(shù)據(jù)。
上述PCI總線兼容主控器的判定方法,還包括下列步驟先提供延遲時間值;在PCI總線響應延遲交易終止后,開始計時,當時間到達此延遲時間值時,再次傳送對應此延遲交易終止的PCI總線詢問信號至PCI總線。其中提供延遲時間值的方法,包括下列步驟首先令延遲時間值等于預先設定的延遲時間預定值;當PCI總線的響應并非為延遲交易終止,而且延遲時間值大于延遲時間預定值時,令新的延遲時間值為目前延遲時間值減去延遲減少相差值;當PCI總線再一次響應延遲交易終止時,令新的延遲時間值為目前延遲時間值加上延遲增加相差值。
本發(fā)明提供的一種PCI總線兼容主控器以及其中的判定器與判定方法,可判定主控器的多個功能裝置的總線請求,同時送出個別功能裝置的數(shù)據(jù)存取請求至PCI總線,并重復傳送PCI總線詢問信號至總線上,利用具有多延遲交易功能的目的裝置,使先備妥的數(shù)據(jù)所對應的功能裝置,有機會先利用PCI總線傳輸數(shù)據(jù),可使PCI總線的主動時間增加,并使得每一功能電路有較平均的延遲時間,進而使PCI總線的使用效率大為提高。
為讓本發(fā)明的上述和其他目的、特征、和優(yōu)點能更明顯易懂,下文特舉較佳實施例,并配合附圖,作詳細說明如下
實施例在PCI總線協(xié)議規(guī)范(如版本2.1)中,有一種稱為延遲交易(delayedtransaction)的數(shù)據(jù)交易方法。所謂延遲交易是指目標裝置(Target)在PCI規(guī)范(PCI specification)的定義下,無法完成起始數(shù)據(jù)周期(initial data phase)所采用的操作程序。主要有兩種裝置會處理延遲交易操作輸入/輸出控制器(I/Ocontroller)與橋接器(bridge)。一般而言,輸入/輸出控制器一次僅能處理一件延遲交易操作;而橋接器則可以處理多重延遲交易(multiple delayed transaction)以改進系統(tǒng)的效率。
已知的延遲交易操作程序包含三個階段1.由主控器在PCI總線發(fā)出存取目標裝置的請求,目標裝置記憶此請求后,目標裝置在PCI總線上開始一具有重試的目標啟動終止(Target Initiated Termination with Retry),又叫做延遲交易終止(Delay Transaction Termination),來主動結(jié)束此請求;接著,2.由目標裝置備妥主控器所發(fā)出的請求;最后,3.由主控器主動重新發(fā)出原先存取目標裝置的請求,以完成數(shù)據(jù)交易。在整個延遲交易進行期間,主控器會持續(xù)不斷發(fā)出PCI總線詢問信號,以及占據(jù)PCI總線的使用權(quán)限,并且不斷對目標裝置發(fā)出類似輪詢(polling)的操作。
圖8示出一PCI系統(tǒng)的延遲交易操作的讀取交易時序圖,請參照圖8,在周期T1時,主控器送出請求信號REQ請求使用PCI總線,以存取目標裝置的數(shù)據(jù);于周期T2時,具有總線判定器的主橋接器送出同意信號GNT接受主控器的請求。在周期T3時,主控器送出FRAME信號以開始進行交易,并且在AD總線上送出一地址(address),用以指定目標裝置,同時并且對此目標裝置發(fā)出讀取命令。當目標裝置未能即時響應主控器的請求時,目標裝置記憶主控器此一請求的相關信息,在周期T5時,目標裝置便送出停止信號STOP以結(jié)束此請求,之后,例如在周期T6時,主控器取消REQ及FRAME信號,隨后同意信號GNT取消,PCI總線因而釋放出來。上述的時序即為延遲交易終止的時序。
接著目標裝置依據(jù)所存儲請求的相關信息,準備好主控器所要讀取的數(shù)據(jù),等待主控器主動發(fā)出存取目標裝置的請求,來完成真正數(shù)據(jù)讀取交易。在周期T17時,主控器再度送出請求信號REQ請求使用PCI總線,于周期T18時,同意信號GNT被送出,以接受主控器的請求。在周期T19時,主控器送出FRAME信號以開始進行交易,并且在AD總線上送出與上一次相同的地址及相同的讀取命令,此時主控器與目標裝置分別驅(qū)動IRDY與TRDY信號,開始正常的讀取交易。如果目標裝置無法迅速備妥數(shù)據(jù),主控器會持續(xù)不斷發(fā)出讀取目標裝置的信號,以及占據(jù)PCI總線的使用權(quán)限,來不斷發(fā)出類似輪詢的操作。
請參照圖5,其示出的是依照本發(fā)明一較佳實施例的一種PCI系統(tǒng)的具有多功能主控器的方塊圖。本發(fā)明所提供PCI系統(tǒng)的主控器50,其與現(xiàn)有技術(shù)最大的不同點在于其內(nèi)部的判定器52與現(xiàn)有技術(shù)的判定器32(圖3)兩者組成及判定方式不同,本發(fā)明的判定器52主要是由一循環(huán)詢問調(diào)度器(Rotating Inquiry Scheduler,RIS)60與一啟發(fā)式詢問啟動器(Heuristic InquiryInitiator,HⅡ)70所組成。此外,本發(fā)明利用PCI總線規(guī)范中的延遲交易功能,亦即PCI總線上的目標裝置具有延遲交易功能,尤其是一般具有總線判定器51的主橋接器65更可具有多延遲交易的功能。
耦合至PCI總線56的主控器50,其內(nèi)部可包括判定器52及至少一個不同功能的功能電路,例如功能電路53、54與55,其中判定器52與功能電路53、54與55的連接方式,可以通過總線型式或是以各自獨立的電路連接來相互通信,可以是符合部分PCI總線規(guī)范的內(nèi)部總線,甚至是特殊定義的接口規(guī)范。判定器52與總線判定器51兩者并不相同,總線判定器51是用以判定主控器50及連接于PCI總線56上的其他主控器(未顯示),以授權(quán)其使用PCI總線56,而判定器52用以判定功能電路53、54與55,以授權(quán)其使用主控器50的資源,例如當主控器50獲得總線判定器51的授權(quán)時,某一功能電路必須獲得判定器52的授權(quán),方能通過判定器52來使用PCI總線56。
功能電路53與54分別可包括通信接口、基本輸出入功能接口等外圍連接接口的控制功能電路等,且分別連接至外圍裝置58與59。功能電路55配置于主控器50內(nèi)部,其可獨自完成特定功能,如數(shù)字信號處理器(DSP)等。另外,外圍裝置61符合判定器52的接口規(guī)范,無須通過功能電路來控制或轉(zhuǎn)換信號,其直接連接至主控器50的判定器52,藉以直接送出信號至判定器52的循環(huán)詢問調(diào)度器60中。
請同時參照圖5、圖6與圖7,圖6示出的是本發(fā)明判定器的循環(huán)詢問調(diào)度器60的方塊示意圖,以及圖7示出的是本發(fā)明判定器的啟發(fā)式詢問啟動器70的方塊示意圖。
循環(huán)詢問調(diào)度器60是做為詢問信號收集器,其至少包括詢問隊列(Inqtiry Queue)62與響應隊列(Response Queue)64兩部分。詢問隊列62用以接收及儲存功能電路53、54與55或外圍裝置61的本地詢問信號(一般包括目標地址信息的請求信號),并依據(jù)這些本地詢問信號,依序傳送對應這些本地詢問信號的多個總線詢問信號至啟發(fā)式詢問啟動器70中。某些情況下總線詢問信號與本地詢問信號其實是相同的,視實際應用的電路而定。當啟發(fā)式詢問啟動器70依據(jù)總線詢問信號,取得PCI總線56的授權(quán),成功將對應的PCI總線詢問信號送給PCI總線56時,循環(huán)詢問調(diào)度器60將儲存在詢問隊列62的本地詢問信號清除,并將其轉(zhuǎn)存至響應隊列64,以等待對應的數(shù)據(jù)傳輸。一旦對應的數(shù)據(jù)響應并可傳輸后,循環(huán)詢問調(diào)度器60會與對應的功能電路建立適當?shù)臄?shù)據(jù)通路以傳輸數(shù)據(jù),同時在響應隊列64中,對應的本地詢問信號會被消除掉。
啟發(fā)式詢問啟動器70是做為詢問過程的最后一階段,不同于一般的請求啟動器(request initiator),其是由一連串的邏輯(logics)與簡單的算法(algorithm)所構(gòu)成,包括數(shù)個計時器72a~72c、寄存器74a~74c、緩沖電路76a~76c與一運算器78,其中每一緩沖電路76a~76c例如包括一地址快取存儲器79與一運算器80。地址快取存儲器79可快速存取總線詢問信號內(nèi)的地址信息,而運算器80依據(jù)儲存于地址快取存儲器的地址信息或啟發(fā)式詢問啟動器剛送來的總線詢問信號,來送出PCI總線詢問信號至PCI總線。每一寄存器74a~74c儲存有目標裝置的一般延遲時間(latency)預定值。計時器72a~72c用以依據(jù)寄存器74a~74c的延遲時間值,發(fā)出通知信號至緩中電路76a~76c中,以通過其再次送出PCI總線詢問信號至PCI總線,詢問其請求數(shù)據(jù)的目標裝置是否已備妥。運算器78連接這些緩沖電路76a~76c,并依據(jù)緩沖電路76a~76c送出的PCI總線詢問信號,依序送出PCI總線詢問信號至PCI總線上。在最簡單的應用中,可能只有一組計時器、寄存器及緩沖電路,此時運算器78就可以省略。同樣地,在某些情況下總線詢問信號與PCI總線信號其實是相同的。
舉例來說,假如外圍裝置58發(fā)出一讀取請求時,功能電路53會送出對應的本地詢問信號A至判定器52的詢問隊列62中,隨后循環(huán)詢問調(diào)度器60會將此本地詢問信號A儲存在詢問隊列62的第一位置MI中,并將此本地詢問信號A傳送至啟發(fā)式詢問啟動器70的緩沖電路中。此時,若功能電路54與55依序也送出本地詢問信號B與C時,同樣地,本地詢問信號B與C依序會被儲存在詢問隊列62的第二位置M2與第三位置M3中,這些動作可以一直持續(xù),直到詢問隊列62滿溢(full)為止。
以啟發(fā)式詢問啟動器70的第一組計時器72a、寄存器74a與緩沖電路76a為例,當緩沖電路76a接收到循環(huán)詢問調(diào)度器60傳來的總線詢問信號后,緩沖電路76a會通過運算器78,取得PCI總線56的授權(quán),成功將對應的PCI總線詢問信號送給PCI總線56,此后,循環(huán)詢問調(diào)度器60將儲存在詢問隊列62的本地詢問信號A清除,同時本地詢問信號A會被置放在響應隊列64的第一位置N1,以等待請求數(shù)據(jù)的響應,而PCI總線56也會被釋放出供其他裝置使用。
由于本實施例所提出的主橋接器65具有延遲或多延遲交易的功能,假設主橋接器65為各功能電路存取數(shù)據(jù)的目標裝置,主橋接器65接收到對應本地詢問信號A的PCI總線詢問信號后,會立即以延遲交易終止來響應,并會開始準備對應本地詢問信號A的數(shù)據(jù)。此外,若功能電路54與55依序也送出本地詢問信號B與C,則對應本地詢問信號B與C的PCI總線詢問信號依序會經(jīng)由緩沖電路76b與76c送至PCI總線中。同樣地,成功將對應本地詢問信號B與C的PCI總線詢問信號送給PCI總線56后,詢問隊列62中的本地詢問信號B與C會被消除掉,同時本地詢問信號B與C會被置放在響應隊列64的第二位置N2與第三位置N3,以等待對應數(shù)據(jù)的響應,并且PCI總線56也會被釋放出供其他裝置來使用。
剛開始時寄存器74a儲存一延遲時間預定值,當緩沖電路76a感測得知PCI總線的響應為延遲交易終止時,計時器72a會開始計數(shù),當計時器72a計數(shù)到寄存器74a儲存的延遲時間值時,送出通知信號至緩沖電路76a,接著緩沖電路76a會再次送出對應本地詢問信號A的PCI總線詢問信號,以詢問主橋接器65其請求數(shù)據(jù)是否已備妥。若第二次請求成功(亦即數(shù)據(jù)已備妥,PCI總線的響應并非延遲交易終止)且寄存器74a的預定值等于延遲時間預定值,則寄存器74a所儲存的值不改變。若第二次請求成功且寄存器74a儲存的延遲時間值大于延遲時間預定值時,則寄存器74a儲存的延遲時間值會減去一延遲減小相差值。若第二次請求失敗(亦即數(shù)據(jù)仍然尚未備妥,PCI總線的響應為延遲交易終止),則寄存器74a儲存的延遲時間值會加上一延遲增加相差值,然后重復上述計數(shù)與詢問通知方式,直到所請求的數(shù)據(jù)傳輸為止。
因此,啟發(fā)式詢問啟動器70是通過PCI總線56送出請求至主橋接器65中,當主橋接器65備妥其請求數(shù)據(jù)時,則主橋接器65響應在PCI總線上并非為延遲交易終止,而緩沖電路會將此狀態(tài)通知循環(huán)詢問調(diào)度器60,循環(huán)詢問調(diào)度器60依據(jù)儲存在響應隊列64的本地詢問信號,來建立必須的數(shù)據(jù)通路,使對應的功能電路在PCI總線上傳輸數(shù)據(jù),最后并清除置放于響應隊列64中的本地詢問信號。
上述中,啟發(fā)式詢問啟動器70會依序?qū)⒚恳还δ茈娐返恼埱笏椭林鳂蚪悠?5中來請求所需的數(shù)據(jù)信號,在送完對應的PCI總線詢問信號后,主橋接器65會送出一停止信號(STOP)以釋放出PCI總線56供其他裝置使用,并且主橋接器65會開始準備對應這些請求的數(shù)據(jù)。因此,本發(fā)明不需像現(xiàn)有技術(shù)方法一樣,必須等到前一個請求處理完后,才能處理下一個請求,當然本發(fā)明較佳的是主橋接器65具有多延遲交易的功能。
綜上所述,本發(fā)明所提供的一種PCI總線兼容主控器,其中的判定方法,包括下列步驟首先提供多個功能電路,這些功能電路可以在主控器之內(nèi),或在外部的外圍電路中,而這些功能電路發(fā)出多個本地詢問信號,以請求在PCI總線上傳輸數(shù)據(jù);接著,依序?qū)⑦@些本地詢問信號儲存,并依據(jù)這些本地詢問信號,送出對應的多個總線詢問信號,當然本地詢問信號與總線詢問信號可以是相同;接著,暫存并依據(jù)這些總線詢問信號,將對應的多個PCI總線詢問信號送至PCI總線上。然后,當PCI總線上的響應為延遲交易終止,重復傳送對應此延遲交易終止的PCI總線詢問信號至PCI總線上,以查詢PCI總線上的目標裝置數(shù)據(jù)備妥與否;當PCI總線上的響應并非延遲交易終止時,表示目標裝置數(shù)據(jù)已備妥,此時利用原先儲存的這些本地詢問信號的數(shù)據(jù),使對應的功能電路,在PCI總線上傳輸數(shù)據(jù)。
上述判定方法,在重復傳送對應延遲交易終止的PCI總線詢問信號至PCI總線的步驟,還包括下列子步驟首先必須提供一延遲時間值,本實施例是由寄存器中讀取;當PCI總線響應延遲交易終止后,則開始計時;當時間到達此延遲時間值時,再次傳送對應此延遲交易終止的PCI總線詢問信號至PCI總線。其中延遲時間值的調(diào)整方法,包括下列步驟首先令延遲時間值等于預先設定的延遲時間預定值(由寄存器中讀取);當PCI總線的響應并非延遲交易終止,而且延遲時間值等于延遲時間預定值時,不改變延遲時間值;當PCI總線的響應并非延遲交易終止,而且延遲時間值大于延遲時間預定值時,令新的延遲時間值為目前延遲時間值減去延遲減少相差值(儲存新的延遲時間值至寄存器中);當PCI總線再一次響應延遲交易終止時,令新的延遲時間值為目前延遲時間值加上延遲增加相差值。
如此可控制重復傳送PCI總線詢問信號至PCI總線的頻率,避免太過頻繁,降低了PCI總線的效率,或是太過稀疏,使每一功能電路等待數(shù)據(jù)的平均延遲過長。一般來說,如果著重在使多主控器的PCI系統(tǒng),其中的主控器存取數(shù)據(jù)更加平衡,則對應的延遲增加相差值要大于延遲減少相差值。如果主控器對傳輸延遲的請求較高,則對應的延遲增加相差值要小于延遲減少相差值。
因此,不論有幾個功能電路同時要向目標裝置請求數(shù)據(jù)時,功能電路僅需傳送本地詢問信號至判定器的循環(huán)詢問調(diào)度器中,然后通過其內(nèi)部的啟發(fā)式詢問啟動器進行處理,之后僅需等到目標裝置備妥請求數(shù)據(jù)后,功能電路即可從由判定器安排,獲得其所請求的數(shù)據(jù),而現(xiàn)有技術(shù)必須等到請求數(shù)據(jù)傳輸完后,才能進行其他請求動作。此外,PCI總線的占用時間,僅包括啟發(fā)式詢問啟動器送出PCI總線詢問信號及與目標裝置真正傳輸數(shù)據(jù)等時間,因此占用PCI總線的總時間耗費可大為減少,使得PCI總線使用效率大為提高。而且,本發(fā)明提出的循環(huán)詢問調(diào)度器不一定要使用兩個隊列來實行,當然可以是兩個以上。
綜上所述,本發(fā)明至少具有以下優(yōu)點(1)可同時送出多個功能裝置的個別數(shù)據(jù)存取請求至PCI總線,無須如現(xiàn)有技術(shù)般必須依序等待使用PCI總線,本發(fā)明依據(jù)一延遲時間值重復詢問目標裝置是否備妥請求數(shù)據(jù),使先備妥數(shù)據(jù)所對應的功能電路,有機會先利用PCI總線存取數(shù)據(jù),則每一功能電路有較平均的延遲時間,進而提高PCI系統(tǒng)的整體效能。
(2)可利用PCI總線的延遲交易的規(guī)范,于接收完功能電路的請求相關信息后,隨即釋放出PCI總線,真正傳輸數(shù)據(jù)才持續(xù)占用PCI總線,使得占用PCI總線的總時間耗費減少,亦即增加PCI總線的主動時間,使得PCI總線的使用效率大為提高。
(3)可與先前的PCI總線兼容。
雖然本發(fā)明已經(jīng)以較佳實施例公開如上,然而其并非用以限定本發(fā)明,任何本領域技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,可作出各種更動與修改,因此本發(fā)明的保護范圍以后附權(quán)利請求書所界定的為準。
權(quán)利要求
1.一種總線兼容主控器,耦合至一總線,所述總線兼容主控器包括一功能電路,用以發(fā)出一本地詢問信號,以請求在所述總線上傳輸數(shù)據(jù)以及一判定器,包括一循環(huán)詢問調(diào)度器,耦合至所述功能電路;以及一啟發(fā)式詢問啟動器,耦合至所述循環(huán)詢問調(diào)度器以及所述總線;所述循環(huán)詢問調(diào)度器接收及儲存所述本地詢問信號,并依據(jù)所述本地詢問信號,將一總線詢問信號送至所述啟發(fā)式詢問啟動器中,所述啟發(fā)式詢問啟動器依據(jù)所述總線詢問信號,將一總線詢問信號送至所述總線,當所述總線響應一延遲交易終止后,所述啟發(fā)式詢問啟動器重復傳送所述總線詢問信號至所述總線,當所述總線的響應并非所述延遲交易終止時,所述啟發(fā)式詢問啟動器通知所述循環(huán)詢問調(diào)度器,所述循環(huán)詢問調(diào)度器使所述功能電路在所述總線上傳輸數(shù)據(jù)。
2.如權(quán)利要求1所述的總線兼容主控器,其中所述循環(huán)詢問調(diào)度器包括一詢問隊列以及一響應隊列,所述循環(huán)詢問調(diào)度器接收所述功能電路的所述本地詢問信號后,將其儲存至所述詢問隊列,所述循環(huán)詢問調(diào)度器依據(jù)所述本地詢問信號,將所述總線詢問信號送至所述啟發(fā)式詢問啟動器中,當所述啟發(fā)式詢問啟動器依據(jù)所述總線詢問信號,取得所述總線的授權(quán),將所述總線詢問信號送至所述總線時,所述循環(huán)詢問調(diào)度器將儲存在所述詢問隊列的所述本地詢問信號清除,并轉(zhuǎn)存至所述響應隊列。
3.如權(quán)利要求2所述的總線兼容主控器,其中當所述總線的響應并非所述延遲交易終止時,所述循環(huán)詢問調(diào)度器依據(jù)儲存在所述響應隊列的所述本地詢問信號,來建立必須的數(shù)據(jù)通路,使所述功能電路在所述總線上傳輸數(shù)據(jù),同時清除置放于所述響應隊列中的所述本地詢問信號。
4.如權(quán)利要求1所述的總線兼容主控器,其中所述啟發(fā)式詢問啟動器包括一緩沖電路,耦合至所述循環(huán)詢問調(diào)度器,用以接收并暫存所述總線詢問信號,并依據(jù)所述總線詢問信號傳送所述總線詢問信號至所述總線;一寄存器,所述寄存器儲存一延遲時間值;以及一計時器,耦合至所述緩沖電路以及所述寄存器,所述計時器用以依據(jù)所述延遲時間值,發(fā)出一通知信號至所述緩沖電路,以通知所述緩沖電路再次送出所述總線詢問信號至所述總線。
5.如權(quán)利要求4所述的總線兼容主控器,其中所述啟發(fā)式詢問啟動器包括多組相對應的所述緩沖電路、所述寄存器以及所述計時器,以同時處理多個總線詢問信號,所述啟發(fā)式詢問啟動器還包括一運算器,所述運算器連接這些緩沖電路,用以依據(jù)這些緩沖電路的這些總線詢問信號,依序送出這些總線詢問信號至所述總線。
6.如權(quán)利要求4所述的總線兼容主控器,其中所述緩沖電路包括一地址快取存儲器與一運算器,所述地址快取存儲器用以快速存取所述總線詢問信號的一地址信息,所述運算器用以依據(jù)所述地址快取存儲器的所述地址信息與所述循環(huán)詢問調(diào)度器剛送來的所述總線詢問信號二者擇一,以送所述PCI總線詢問信號至所述總線。
7.如權(quán)利要求4所述的總線兼容主控器,其中所述啟發(fā)式詢問啟動器設定所述延遲時間值的方法,包括下列步驟令所述延遲時間值等于一延遲時間預定值;所述計時器發(fā)出所述通知信號至所述緩沖電路,以通知所述緩沖電路再次送出所述總線詢問信號至所述總線;當所述總線的響應并非所述延遲交易終止,且所述延遲時間值大于所述延遲時間預定值時,令所述延遲時間值為所述延遲時間值減去一延遲減少相差值;以及當所述總線再一次響應所述延遲交易終止時,令所述延遲時間值為所述延遲時間值加上一延遲增加相差值。
8.如權(quán)利要求1所述的總線兼容主控器,其中所述本地詢問信號等于所述總線詢問信號。
9.如權(quán)利要求1所述的總線兼容主控器,其中所述總線詢問信號等于所述總線詢問信號。
10.如權(quán)利要求1所述的總線兼容主控器,其中所述總線耦合一目標裝置,所述目標裝置具有多延遲交易的功能。
11.如權(quán)利要求1所述的總線兼容主控器,其中所述總線包括PCI總線。
12.一種總線兼容主控器的判定器,所述總線兼容主控器耦合至一總線,所述判定器包括一循環(huán)詢問調(diào)度器,耦合至一功能電路;以及一啟發(fā)式詢問啟動器,耦合至所述循環(huán)詢問調(diào)度器以及所述總線;所述循環(huán)詢問調(diào)度器接收及儲存所述功能電路的一本地詢問信號,并依據(jù)所述本地詢問信號,將一總線詢問信號送至所述啟發(fā)式詢問啟動器中,所述啟發(fā)式詢問啟動器依據(jù)所述總線詢問信號,將一總線詢問信號送至所述總線,當所述總線響應一延遲交易終止后,所述啟發(fā)式詢問啟動器重復傳送所述總線詢問信號至所述總線,當所述總線的響應并非所述延遲交易終止時,所述啟發(fā)式詢問啟動器通知所述循環(huán)詢問調(diào)度器,所述循環(huán)詢問調(diào)度器使所述功能電路在所述總線上傳輸數(shù)據(jù)。
13.如權(quán)利要求12所述的總線兼容主控器的判定器,其中所述循環(huán)詢問調(diào)度器包括一詢問隊列以及一響應隊列,所述循環(huán)詢問調(diào)度器接收所述功能電路的所述本地詢問信號后,將其儲存至所述詢問隊列,所述循環(huán)詢問調(diào)度器依據(jù)所述本地詢問信號,將所述總線詢問信號送至所述啟發(fā)式詢問啟動器中,當所述啟發(fā)式詢問啟動器依據(jù)所述總線詢問信號,取得所述總線的授權(quán),將所述總線詢問信號送至所述總線時,所述循環(huán)詢問調(diào)度器將儲存在所述詢問隊列的所述本地詢問信號清除,并轉(zhuǎn)存至所述響應隊列。
14.如權(quán)利要求13所述的總線兼容主控器的判定器,其中當所述總線的響應并非所述延遲交易終止時,所述循環(huán)詢問調(diào)度器依據(jù)儲存在所述響應隊列的所述本地詢問信號,來建立必須的數(shù)據(jù)通路,使所述功能電路在所述總線上傳輸數(shù)據(jù),同時清除置放于所述響應隊列中的所述本地詢問信號。
15.如權(quán)利要求12所述的總線兼容主控器的判定器,其中所述啟發(fā)式詢問啟動器包括一緩沖電路,耦合至所述循環(huán)詢問調(diào)度器,用以接收并暫存所述總線詢問信號,并依據(jù)所述總線詢問信號傳送所述總線詢問信號至所述總線;一寄存器,所述寄存器儲存一延遲時間值;以及一計時器,耦合至所述緩沖電路以及所述寄存器,所述計時器用以依據(jù)所述延遲時間值,發(fā)出一通知信號至所述緩沖電路,以通知所述緩沖電路再次送出所述總線詢問信號至所述總線。
16.如權(quán)利要求15所述的總線兼容主控器的判定器,其中所述啟發(fā)式詢問啟動器包括多組相對應的所述緩沖電路、所述寄存器以及所述計時器,以同時處理多個總線詢問信號,所述啟發(fā)式詢問啟動器還包括一運算器,所述運算器連接這些緩沖電路,用以依據(jù)這些緩沖電路的這些總線詢問信號,依序送出這些總線詢問信號至所述總線。
17.如權(quán)利要求15所述的總線兼容主控器的判定器,其中所述緩沖電路包括一地址快取存儲器與一運算器,所述地址快取存儲器用以快速存取所述總線詢問信號的一地址信息,所述運算器用以依據(jù)所述地址快取存儲器的所述地址信息與所述循環(huán)詢問調(diào)度器送來的所述總線詢問信號二者擇一,以傳送所述總線詢問信號至所述總線。
18.如權(quán)利要求15所述的總線兼容主控器的判定器,其中所述啟發(fā)式詢問啟動器設定所述延遲時間值的方法,包括下列步驟令所述延遲時間值等于一延遲時間預定值;所述計時器發(fā)出通知信號至所述緩沖電路,以通知所述緩沖電路再次送出所述總線詢問信號至所述總線;當所述總線的響應并非所述延遲交易終止,且所述延遲時間值大于所述延遲時間預定值時,令所述延遲時間值為所述延遲時間值減去一延遲減少相差值以及當所述總線再一次響應所述延遲交易終止時,令所述延遲時間值為所述延遲時間值加上一延遲增加相差值。
19.如權(quán)利要求12所述的總線兼容主控器的判定器,其中所述本地詢問信號等于所述總線詢問信號。
20.如權(quán)利要求12所述的總線兼容主控器的判定器,其中所述總線詢問信號等于所述總線詢問信號。
21.如權(quán)利要求12所述的總線兼容主控器的判定器,其中所述總線耦合一目標裝置,所述目標裝置具有多延遲交易的功能。
22.如權(quán)利要求12所述的總線兼容主控器的判定器,其中所述總線包括PCI總線。
23.一種總線兼容主控器的判定方法,所述總線兼容主控器耦合至一總線,所述判定方法包括下列步驟提供多個功能電路,這些功能電路提供多個本地詢問信號,以請求在所述總線上傳輸數(shù)據(jù);依序?qū)⑦@些本地詢問信號儲存,并依據(jù)這些本地詢問信號,送出多個總線詢問信號;依據(jù)這些總線詢問信號,將多個總線詢問信號送至所述總線;當所述總線響應一延遲交易終止后,重復傳送對應所述延遲交易終止的所述總線詢問信號至所述總線;以及當所述總線的響應并非所述延遲交易終止時,使對應的所述功能電路,在所述總線上傳輸數(shù)據(jù)。
24.如權(quán)利要求23所述的總線兼容主控器的判定方法,還包括下列步驟提供一延遲時間值;當所述總線響應所述延遲交易終止后,開始計時;以及當時間到達所述延遲時間值時,再次傳送對應所述延遲交易終止的所述總線詢問信號至所述總線。
25.如權(quán)利要求23所述的總線兼容主控器的判定方法,其中提供所述延遲時間值的方法,包括下列步驟令所述延遲時間值等于一延遲時間預定值;當所述總線的響應并非所述延遲交易終止,且所述延遲時間值大于所述延遲時間預定值時,令所述延遲時間值為所述延遲時間值減去一延遲減少相差值;以及當所述總線再一次響應所述延遲交易終止時,令所述延遲時間值為所述延遲時間值加上一延遲增加相差值。
26.如權(quán)利要求23所述的總線兼容主控器的判定方法,其中所述總線包括PCI總線。
全文摘要
一種PCI總線兼容主控器及其判定器與判定方法,判定器包括循環(huán)詢問調(diào)度器及啟發(fā)式詢問啟動器。耦合到功能電路的循環(huán)詢問調(diào)度器接收及儲存本地詢問信號,啟發(fā)式詢問啟動器將對應本地詢問信號的PCI總線詢問信號送至PCI總線。當總線上響應為延遲交易終止后,啟動式詢問啟動器重復傳送PCI總線詢問信號至總線;當總線上響應并非延遲交易終止時,功能電路在總線上傳輸數(shù)據(jù)。本發(fā)明提高PCI總線使用效率,并使每一請求PCI總線的功能裝置有較平均的延遲時間。
文檔編號G06F13/16GK1297205SQ9912485
公開日2001年5月30日 申請日期1999年11月19日 優(yōu)先權(quán)日1999年11月19日
發(fā)明者賴瑾, 蔡兆爵, 楊鎮(zhèn)平, 蔡奇哲 申請人:威盛電子股份有限公司