專(zhuān)利名稱(chēng):動(dòng)態(tài)使用直接存儲(chǔ)器存取信道的方法與仲裁電路的制作方法
技術(shù)領(lǐng)域:
本發(fā)明是有關(guān)于直接存儲(chǔ)器存取(Dire ct Memory Access,DMA),特別是有關(guān)于直接存儲(chǔ)器存取控制器(DMA controller)與直接存儲(chǔ)器存取信道(DMA channel)。
背景技術(shù):
直接存儲(chǔ)器存取技術(shù)可加速一裝置與一存儲(chǔ)器之間的數(shù)據(jù)傳輸,因?yàn)橥ㄟ^(guò)直接存儲(chǔ)器存取進(jìn)行數(shù)據(jù)傳輸時(shí)不需中央處理單元的介入。直接存儲(chǔ)器存取技術(shù)讓計(jì)算機(jī)的子系統(tǒng)在不依靠中央處理單元介入的情況下,直接存取系統(tǒng)存儲(chǔ)器以進(jìn)行讀取或?qū)懭雱?dòng)作。目前已有許多硬件裝置支持此項(xiàng)功能,例如磁盤(pán)控制器、影像處理接口卡、網(wǎng)絡(luò)卡以及音效卡。
由于直接存儲(chǔ)器存取技術(shù)讓不同速度的周邊裝置直接相通訊,因而使中央處理單元省去了在周邊裝置間的暫存器間來(lái)回復(fù)制數(shù)據(jù)片段并重新寫(xiě)入他方暫存器的大量負(fù)擔(dān),因此可讓中央處理單元可專(zhuān)注地處理其他事項(xiàng),而提高系統(tǒng)效能。
圖1顯示一支持直接存儲(chǔ)器存取的計(jì)算機(jī)系統(tǒng)100的區(qū)塊圖。計(jì)算機(jī)系統(tǒng)100包括微處理器102、系統(tǒng)存儲(chǔ)器104、以及周邊裝置106與108。周邊裝置106與108可為磁盤(pán)控制器、影像處理接口卡、網(wǎng)絡(luò)卡、音效卡以及需要大量數(shù)據(jù)傳輸?shù)男酒缇W(wǎng)絡(luò)交換器芯片。微處理器102包含一中央處理單元110,一控制系統(tǒng)存儲(chǔ)器104的數(shù)據(jù)傳輸?shù)南到y(tǒng)存儲(chǔ)器控制器114,一控制微處理器102的內(nèi)部總線(xiàn)的內(nèi)部總線(xiàn)控制器112,以及多個(gè)透過(guò)直接存儲(chǔ)器存取信道(DMA channel)0~N控制直接存儲(chǔ)器存取的數(shù)據(jù)傳輸過(guò)程的直接存儲(chǔ)器存取控制器(DMA controller)0~N。直接存儲(chǔ)器存取控制器透過(guò)直接存儲(chǔ)器存取信道以指引系統(tǒng)存儲(chǔ)器104與周邊裝置106、108間的數(shù)據(jù)傳輸。
于圖1中,每一直接存儲(chǔ)器存取控制器有一專(zhuān)屬的直接存儲(chǔ)器存取信道。舉例來(lái)說(shuō),直接存儲(chǔ)器存取控制器0僅能使用其專(zhuān)屬的直接存儲(chǔ)器存取信道0,直接存儲(chǔ)器存取控制器1僅能使用其專(zhuān)屬的直接存儲(chǔ)器存取信道1,而直接存儲(chǔ)器存取控制器N僅能使用其專(zhuān)屬的直接存儲(chǔ)器存取信道N。每一直接存儲(chǔ)器存取信道耦接于雙方的直接存儲(chǔ)器存取控制器間,以讓兩者溝通數(shù)據(jù)如何傳輸。舉例來(lái)說(shuō),直接存儲(chǔ)器存取信道0連接于微處理器102的直接存儲(chǔ)器存取控制器0與周邊裝置106的直接存儲(chǔ)器存取控制器130之間,而直接存儲(chǔ)器存取信道N連接于微處理器102的直接存儲(chǔ)器存取控制器N與周邊裝置108的直接存儲(chǔ)器存取控制器134之間。每一裝置可以包含多個(gè)直接存儲(chǔ)器存取控制器,如微處理器102與周邊裝置106。于直接存儲(chǔ)器存取信道上傳輸?shù)挠袃煞N信號(hào)直接存儲(chǔ)器存取請(qǐng)求信號(hào)(DREQ)與直接存儲(chǔ)器存取應(yīng)答信號(hào)(DACK),以協(xié)調(diào)數(shù)據(jù)的傳輸。
圖2為以直接存儲(chǔ)器存取控制器實(shí)行直接存儲(chǔ)器存取的方法200的流程圖。首先于步驟202中,裝置的驅(qū)動(dòng)程序于該裝置包含的多個(gè)直接存儲(chǔ)器存取控制器中選擇一直接存儲(chǔ)器存取控制器,以供數(shù)據(jù)傳輸。由于每一直接存儲(chǔ)器存取控制器含有對(duì)應(yīng)的多個(gè)組態(tài)暫存器,在啟動(dòng)數(shù)據(jù)傳輸前,必須先于步驟204中事先設(shè)定直接存儲(chǔ)器存取控制器的組態(tài)暫存器。典型的組態(tài)暫存器包括一用以?xún)?chǔ)存數(shù)據(jù)來(lái)源與數(shù)據(jù)儲(chǔ)存目標(biāo)的起始地址的地址暫存器,一用以計(jì)算已傳輸數(shù)據(jù)位數(shù)的計(jì)數(shù)暫存器,以及一指示單一傳輸模式(single mode)或要求傳輸模式(demand mode)的傳輸模式暫存器。接著于步驟206中決定數(shù)據(jù)傳輸方向以進(jìn)行讀取或?qū)懭雱?dòng)作。直接存儲(chǔ)器存取控制器接著于步驟208中經(jīng)由直接存儲(chǔ)器存取信道發(fā)送或接收直接存儲(chǔ)器存取請(qǐng)求信號(hào)DREQ或直接存儲(chǔ)器存取應(yīng)答信號(hào)DACK。當(dāng)數(shù)據(jù)傳輸完成時(shí),裝置于步驟210中發(fā)出中斷(interrupt)信號(hào)通知中央處理單元,于是中央處理單元便可檢查所進(jìn)行的直接存儲(chǔ)器存取動(dòng)作是已經(jīng)成功執(zhí)行或執(zhí)行失敗。
然而,由于每一直接存儲(chǔ)器存取控制器有一專(zhuān)屬的直接存儲(chǔ)器存取信道,因此直接存儲(chǔ)器存取信道不能由直接存儲(chǔ)器存取控制器所共用。若兩個(gè)以上的直接存儲(chǔ)器存取控制器嘗試在同時(shí)運(yùn)用同一直接存儲(chǔ)器存取信道,則在直接存儲(chǔ)器存取信道上傳送的信號(hào)會(huì)相混淆,導(dǎo)致信號(hào)傳輸?shù)腻e(cuò)誤。再者,由于系統(tǒng)中僅包含有限數(shù)目的直接存儲(chǔ)器存取信道,若系統(tǒng)中有多個(gè)裝置均包含多個(gè)直接存儲(chǔ)器存取控制器,則這些直接存儲(chǔ)器存取控制器將需求太多個(gè)直接存儲(chǔ)器存取信道,因而實(shí)際可使用直接存儲(chǔ)器存取信道的裝置將減少,進(jìn)而造成系統(tǒng)資源的浪費(fèi)。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種動(dòng)態(tài)使用直接存儲(chǔ)器存取(DirectMemory Access,DMA)信道的方法,以解決已知技術(shù)存在的問(wèn)題。其中一第一裝置的多個(gè)直接存儲(chǔ)器存取控制器(DMA controller)利用至少一直接存儲(chǔ)器存取信道,(DMA channel)以指引該第一裝置的所述直接存儲(chǔ)器存取控制器與一第二裝置間的數(shù)據(jù)傳輸。首先,允許所述直接存儲(chǔ)器存取控制器的任一者自由運(yùn)用任一該至少一直接存儲(chǔ)器存取信道。接著,若部分直接存儲(chǔ)器存取控制器同時(shí)請(qǐng)求使用一目標(biāo)信道時(shí),則讓該部分直接存儲(chǔ)器存取控制器共用該目標(biāo)信道,其中該目標(biāo)信道為該至少一直接存儲(chǔ)器存取信道其中之一。
本發(fā)明更提供一種動(dòng)態(tài)使用直接存儲(chǔ)器存取信道的仲裁電路,耦接于一第一裝置的多個(gè)直接存儲(chǔ)器存取控制器(DMAcontroller)與至少一直接存儲(chǔ)器存取信道(DMA channel)間。其中所述直接存儲(chǔ)器存取控制器利用該至少一直接存儲(chǔ)器存取信道以指引該第一裝置的所述直接存儲(chǔ)器存取控制器與一第二裝置間的數(shù)據(jù)傳輸。該直接存儲(chǔ)器存取仲裁電路包括一直接存儲(chǔ)器存取控制器仲裁模塊與一直接存儲(chǔ)器存取信道選取電路。該直接存儲(chǔ)器存取控制器仲裁模塊耦接至所述直接存儲(chǔ)器存取控制器,用以自同時(shí)請(qǐng)求使用一目標(biāo)信道的部分直接存儲(chǔ)器存取控制器中選取一信道占有者,以讓該信道占有者使用該目標(biāo)信道,其中該目標(biāo)信道為該至少一直接存儲(chǔ)器存取信道其中之一。該直接存儲(chǔ)器存取信道選取電路耦接于該直接存儲(chǔ)器存取控制器仲裁模塊及該至少一直接存儲(chǔ)器存取信道之間,用以讓該信道占有者動(dòng)態(tài)地連接至并使用該目標(biāo)信道。
本發(fā)明所述的動(dòng)態(tài)使用直接存儲(chǔ)器存取信道的方法與仲裁電路,在系統(tǒng)硬件或軟件設(shè)計(jì)上都便利許多,避免了系統(tǒng)資源的浪費(fèi)。
圖1為一支持直接存儲(chǔ)器存取的計(jì)算機(jī)系統(tǒng)的方塊圖;圖2為傳統(tǒng)方式下以直接存儲(chǔ)器存取控制器實(shí)行直接存儲(chǔ)器存取的方法的流程圖;圖3為依據(jù)本發(fā)明動(dòng)態(tài)使用直接存儲(chǔ)器存取信道的直接存儲(chǔ)器存取仲裁電路的連接關(guān)系示意圖;圖4為依據(jù)本發(fā)明以直接存儲(chǔ)器存取控制器進(jìn)行直接存儲(chǔ)器存取動(dòng)作的方法的流程圖;圖5為依據(jù)本發(fā)明的直接存儲(chǔ)器存取仲裁電路的方塊圖;圖6為本發(fā)明選取使用目標(biāo)信道的信道占有者的方法的流程圖,其中該方法為直接存儲(chǔ)器存取控制器仲裁模塊所執(zhí)行;
圖7為本發(fā)明讓信道占有者使用目標(biāo)信道的方法的流程圖,其中該方法為直接存儲(chǔ)器存取信道選取電路所執(zhí)行。
具體實(shí)施例方式
為了讓本發(fā)明的上述和其他特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉多個(gè)較佳實(shí)施例,并配合所附圖示,作詳細(xì)說(shuō)明如下圖3為依據(jù)本發(fā)明動(dòng)態(tài)使用直接存儲(chǔ)器存取信道的直接存儲(chǔ)器存取仲裁電路302的連接關(guān)系示意圖。直接存儲(chǔ)器存取仲裁電路302內(nèi)含于一裝置300,并耦接于多個(gè)直接存儲(chǔ)器存取控制器304與至少一直接存儲(chǔ)器存取信道306之間。裝置300可為圖1的微處理器102,其運(yùn)用直接存儲(chǔ)器存取信道306與多個(gè)周邊裝置進(jìn)行通訊。多個(gè)直接存儲(chǔ)器存取控制器304包含直接存儲(chǔ)器存取控制器0~N。直接存儲(chǔ)器存取信道306則包括直接存儲(chǔ)器存取信道0~M。其中直接存儲(chǔ)器存取信道的數(shù)目M可以不同于或小于直接存儲(chǔ)器存取控制器的數(shù)目N。直接存儲(chǔ)器存取仲裁電路302可以讓直接存儲(chǔ)器存取控制器304的任一個(gè)自由運(yùn)用任一直接存儲(chǔ)器存取信道306。若部分直接存儲(chǔ)器存取控制器304同時(shí)請(qǐng)求使用一目標(biāo)信道時(shí),則直接存儲(chǔ)器存取仲裁電路302可讓所述直接存儲(chǔ)器存取控制器共用該目標(biāo)信道,其中該目標(biāo)信道為直接存儲(chǔ)器存取信道306其中之一。
圖4為依據(jù)本發(fā)明以直接存儲(chǔ)器存取控制器進(jìn)行直接存儲(chǔ)器存取動(dòng)作的方法400的流程圖。于步驟402中,自多個(gè)備用的直接存儲(chǔ)器存取仲裁方針中選擇其一,以供直接存儲(chǔ)器存取仲裁電路302運(yùn)用。由于此時(shí)直接存儲(chǔ)器存取信道并非專(zhuān)屬于單一直接存儲(chǔ)器存取控制器,多個(gè)直接存儲(chǔ)器存取控制器可能同時(shí)請(qǐng)求使用同一直接存儲(chǔ)器存取信道。此被要求使用的直接存儲(chǔ)器存取信道,于后文中稱(chēng)之為目標(biāo)信道。接著,直接存儲(chǔ)器存取仲裁電路302必須于步驟402中依據(jù)所選取的直接存儲(chǔ)器存取仲裁方針選擇一直接存儲(chǔ)器存取控制器作為使用一目標(biāo)信道的信道占有者。該直接存儲(chǔ)器存取仲裁方針可能為嚴(yán)格優(yōu)先級(jí)(strict-priority)方針、循環(huán)賽(round robin)方針或?yàn)楸粍?dòng)(passive)方針。于嚴(yán)格優(yōu)先級(jí)方針下,同時(shí)請(qǐng)求使用同一目標(biāo)信道的直接存儲(chǔ)器存取控制器中被授予最高優(yōu)先級(jí)者將被選取為信道占有者,且信道占有者獲準(zhǔn)使用該目標(biāo)信道直至其數(shù)據(jù)傳輸結(jié)束為止。于循環(huán)賽方針下,同時(shí)請(qǐng)求使用同一目標(biāo)信道的直接存儲(chǔ)器存取控制器輪流被選取為該信道占有者,以分享該目標(biāo)信道。于被動(dòng)方針下,則由與裝置300透過(guò)直接存儲(chǔ)器存取信道306互通數(shù)據(jù)的第二裝置,自同時(shí)請(qǐng)求使用同一目標(biāo)信道的直接存儲(chǔ)器存取控制器中選取該信道占有者,以透過(guò)該目標(biāo)信道導(dǎo)引與該第二裝置間的數(shù)據(jù)傳輸。
裝置300接著于步驟404中自其擁有的多個(gè)直接存儲(chǔ)器存取控制器304中選擇用來(lái)與第二裝置作數(shù)據(jù)傳輸?shù)闹苯哟鎯?chǔ)器存取控制器。由于每一直接存儲(chǔ)器存取控制器含有對(duì)應(yīng)的多個(gè)組態(tài)暫存器,在啟動(dòng)數(shù)據(jù)傳輸前,必須先于步驟406中事先設(shè)定直接存儲(chǔ)器存取控制器的組態(tài)暫存器。典型的組態(tài)暫存器包括一用以?xún)?chǔ)存數(shù)據(jù)來(lái)源與數(shù)據(jù)儲(chǔ)存目標(biāo)的起始地址的地址暫存器,一用以計(jì)算已傳輸數(shù)據(jù)位數(shù)的計(jì)數(shù)暫存器,以及一指示單一傳輸模式(singlemode)或要求傳輸模式(demand mode)的傳輸模式暫存器。接著于步驟408中決定數(shù)據(jù)傳輸方向以及進(jìn)行讀取或?qū)懭雱?dòng)作。由于于本發(fā)明中,直接存儲(chǔ)器存取信道不再專(zhuān)屬于單一直接存儲(chǔ)器存取控制器,因此裝置300必須于步驟410中,依據(jù)信道占有者所要求使用的目標(biāo)信道,將信道占有者表示的直接存儲(chǔ)器存取控制器耦接至其目標(biāo)信道。信道占有者接著于步驟412中經(jīng)由目標(biāo)信道發(fā)送或接收直接存儲(chǔ)器存取請(qǐng)求信號(hào)DREQ或直接存儲(chǔ)器存取應(yīng)答信號(hào)DACK。當(dāng)數(shù)據(jù)傳輸完成時(shí),裝置300于步驟414中發(fā)出中斷信號(hào)通知中央處理單元,于是中央處理單元便可檢查所進(jìn)行的直接存儲(chǔ)器存取動(dòng)作是已經(jīng)成功執(zhí)行或執(zhí)行失敗。
圖5為依據(jù)本發(fā)明的動(dòng)態(tài)使用直接存儲(chǔ)器存取信道的直接存儲(chǔ)器存取仲裁電路302的方塊圖。直接存儲(chǔ)器存取仲裁電路302耦接于裝置300的多個(gè)直接存儲(chǔ)器存取控制器304與至少一直接存儲(chǔ)器存取信道306間。雖然直接存儲(chǔ)器存取控制器304包括直接存儲(chǔ)器存取控制器0~N,但為簡(jiǎn)化圖示與說(shuō)明,圖5中僅繪出一直接存儲(chǔ)器存取控制器0。同樣地,直接存儲(chǔ)器存取信道306包括直接存儲(chǔ)器存取信道0~M,但為簡(jiǎn)化圖示與說(shuō)明,圖5中僅繪出作為目標(biāo)信道的直接存儲(chǔ)器存取信道。直接存儲(chǔ)器存取仲裁電路302包括一直接存儲(chǔ)器存取控制器仲裁模塊502及一直接存儲(chǔ)器存取信道選取電路504。直接存儲(chǔ)器存取控制器仲裁模塊502自同時(shí)請(qǐng)求使用一目標(biāo)信道的部分直接存儲(chǔ)器存取控制器304中選取一信道占有者,以讓該信道占有者使用該目標(biāo)信道。直接存儲(chǔ)器存取信道選取電路504則讓該信道占有者動(dòng)態(tài)地連接至并使用該目標(biāo)信道。直接存儲(chǔ)器存取仲裁電路302尚包括一直接存儲(chǔ)器存取方針暫存器506及多個(gè)信道選取暫存器508。直接存儲(chǔ)器存取方針暫存器506用以?xún)?chǔ)存于步驟402中由多個(gè)備用的直接存儲(chǔ)器存取仲裁方針中所選取的合適的直接存儲(chǔ)器存取仲裁方針。多個(gè)信道選取暫存器508則用以?xún)?chǔ)存多個(gè)信道選擇設(shè)定值,每一信道選擇設(shè)定值表示所述直接存儲(chǔ)器存取控制器304中的一所請(qǐng)求使用的直接存儲(chǔ)器存取信道(即目標(biāo)信道)。
圖6為選取使用目標(biāo)信道的信道占有者的方法600的流程圖,其中方法600為直接存儲(chǔ)器存取控制器仲裁模塊502所執(zhí)行。首先,直接存儲(chǔ)器存取控制器仲裁模塊502于步驟602中自所有直接存儲(chǔ)器存取控制器304接收使用直接存儲(chǔ)器存取信道的請(qǐng)求。接著于步驟604中,直接存儲(chǔ)器存取控制器仲裁模塊502依據(jù)事先選取的直接存儲(chǔ)器存取仲裁方針,從請(qǐng)求同一直接存儲(chǔ)器存取信道的直接存儲(chǔ)器存取控制器304中選取一信道占有者。若直接存儲(chǔ)器存取控制器0與直接存儲(chǔ)器存取控制器1皆同時(shí)向直接存儲(chǔ)器存取控制器仲裁模塊502發(fā)送信道請(qǐng)求信號(hào)510,則直接存儲(chǔ)器存取控制器仲裁模塊502會(huì)檢查信道選取暫存器508中儲(chǔ)存的信道選取設(shè)定值,以確定是否直接存儲(chǔ)器存取控制器0與直接存儲(chǔ)器存取控制器1皆同時(shí)請(qǐng)求同一目標(biāo)信道。若直接存儲(chǔ)器存取控制器0與直接存儲(chǔ)器存取控制器1請(qǐng)求不同的目標(biāo)信道,則直接存儲(chǔ)器存取控制器仲裁模塊502可分別指派予直接存儲(chǔ)器存取控制器0與直接存儲(chǔ)器存取控制器1各自的目標(biāo)信道。然而,若直接存儲(chǔ)器存取控制器0與直接存儲(chǔ)器存取控制器1同時(shí)請(qǐng)求同一個(gè)目標(biāo)信道,則直接存儲(chǔ)器存取控制器仲裁模塊502必須依據(jù)直接存儲(chǔ)器存取仲裁方針暫存器506中儲(chǔ)存的直接存儲(chǔ)器存取仲裁方針,自直接存儲(chǔ)器存取控制器0與直接存儲(chǔ)器存取控制器1中選取其一作為目標(biāo)信道的信道占有者。
假設(shè)于步驟604中,直接存儲(chǔ)器存取控制器0與直接存儲(chǔ)器存取控制器1爭(zhēng)取同一目標(biāo)信道,且直接存儲(chǔ)器存取控制器0被選取為信道占有者。直接存儲(chǔ)器存取控制器仲裁模塊502接著于步驟606中向作為信道占有者的直接存儲(chǔ)器存取控制器0發(fā)送信道允準(zhǔn)信號(hào)512。直接存儲(chǔ)器存取控制器仲裁模塊502接著于步驟608中向直接存儲(chǔ)器存取信道選取電路504發(fā)送信道占有者的直接存儲(chǔ)器存取控制器編號(hào)514。信道占有者所發(fā)出的直接存儲(chǔ)器存取請(qǐng)求信號(hào)(DREQ)亦被直接存儲(chǔ)器存取控制器仲裁模塊502轉(zhuǎn)送至直接存儲(chǔ)器存取信道選取電路504。
當(dāng)直接存儲(chǔ)器存取信道選取電路504接收信道占有者的直接存儲(chǔ)器存取控制器編號(hào)514后,直接存儲(chǔ)器存取信道選取電路504會(huì)將信道占有者與其目標(biāo)信道相耦接,因此信道占有者可以運(yùn)用目標(biāo)信道傳送或接收來(lái)自他方的直接存儲(chǔ)器存取請(qǐng)求信號(hào)(DREQ)與直接存儲(chǔ)器存取應(yīng)答信號(hào)(DACK)以及數(shù)據(jù)傳輸。圖7為讓信道占有者使用目標(biāo)信道的方法700的流程圖,其中方法700為直接存儲(chǔ)器存取信道選取電路504所執(zhí)行。于步驟702中,首先直接存儲(chǔ)器存取信道選取電路504自直接存儲(chǔ)器存取控制器仲裁模塊502接收信道占有者的直接存儲(chǔ)器存取控制器編號(hào)514。接著于步驟704中,直接存儲(chǔ)器存取信道選取電路504依據(jù)信道選取暫存器508中儲(chǔ)存的信道選擇設(shè)定值,以決定信道占有者的目標(biāo)信道為哪一個(gè)直接存儲(chǔ)器存取信道,并將信道占有者與目標(biāo)信道相耦接。接著于步驟706中,信道占有者便可經(jīng)由直接存儲(chǔ)器存取信道發(fā)送直接存儲(chǔ)器存取請(qǐng)求信號(hào)(DERQ)516。
于目標(biāo)信道另一端的第二裝置接著會(huì)以直接存儲(chǔ)器存取應(yīng)答信號(hào)(DACK)518回應(yīng)直接存儲(chǔ)器存取請(qǐng)求信號(hào)(DERQ)516,因此直接存儲(chǔ)器存取信道選取電路504在經(jīng)由目標(biāo)信道接收直接存儲(chǔ)器存取應(yīng)答信號(hào)(DACK)518后(步驟708),便將該直接存儲(chǔ)器存取應(yīng)答信號(hào)(DACK)518以直接存儲(chǔ)器存取應(yīng)答信號(hào)520轉(zhuǎn)送至信道占有者(步驟710)。當(dāng)數(shù)據(jù)傳輸結(jié)束后,信道使用者的直接存儲(chǔ)器存取控制器0于圖6的步驟610中向直接存儲(chǔ)器存取控制器仲裁模塊502發(fā)送一信道使用完畢信號(hào)522(如圖5中所示)。接著,直接存儲(chǔ)器存取控制器仲裁模塊502于圖6的步驟612中檢查是否還有其他直接存儲(chǔ)器存取控制器請(qǐng)求同一目標(biāo)信道。若有,則直接存儲(chǔ)器存取控制器仲裁模塊502回到圖6的步驟604,繼續(xù)選擇另一要求使用目標(biāo)信道的直接存儲(chǔ)器存取控制器,作為目標(biāo)信道的信道占有者。由于此時(shí)直接存儲(chǔ)器存取控制器1仍等待使用同一目標(biāo)信道,因此直接存儲(chǔ)器存取控制器仲裁模塊502便選取直接存儲(chǔ)器存取控制器1作為目標(biāo)信道的信道占有者。
本發(fā)明所提供的一種動(dòng)態(tài)使用直接存儲(chǔ)器存取信道的方法,是由一直接存儲(chǔ)器存取仲裁電路耦接于多個(gè)直接存儲(chǔ)器存取控制器與多個(gè)直接存儲(chǔ)器存取信道間。該直接存儲(chǔ)器存取仲裁電路包括一直接存儲(chǔ)器存取控制器仲裁模塊,用以自同時(shí)請(qǐng)求使用一目標(biāo)信道的部分直接存儲(chǔ)器存取控制器中選取一信道占有者,以讓該信道占有者使用該目標(biāo)信道。該直接存儲(chǔ)器存取仲裁電路亦包括一直接存儲(chǔ)器存取信道選取電路,用以讓該信道占有者動(dòng)態(tài)地連接至并使用該目標(biāo)信道。由于裝置的任一直接存儲(chǔ)器存取控制器可以動(dòng)態(tài)耦接至任一直接存儲(chǔ)器存取信道,因此無(wú)論在系統(tǒng)硬件或軟件設(shè)計(jì)上都便利許多。
以上所述僅為本發(fā)明較佳實(shí)施例,然其并非用以限定本發(fā)明的范圍,任何熟悉本項(xiàng)技術(shù)的人員,在不脫離本發(fā)明的精神和范圍內(nèi),可在此基礎(chǔ)上做進(jìn)一步的改進(jìn)和變化,因此本發(fā)明的保護(hù)范圍當(dāng)以本申請(qǐng)的權(quán)利要求書(shū)所界定的范圍為準(zhǔn)。
附圖中符號(hào)的簡(jiǎn)單說(shuō)明如下102微處理器104系統(tǒng)存儲(chǔ)器106、108周邊裝置110中央處理單元112內(nèi)部總線(xiàn)控制器114系統(tǒng)存儲(chǔ)器控制器120、122、124、130、132、134直接存儲(chǔ)器存取控制器300裝置302直接存儲(chǔ)器存取仲裁電路304直接存儲(chǔ)器存取控制器0~N306直接存儲(chǔ)器存取信道0~M310直接存儲(chǔ)器存取控制器0502直接存儲(chǔ)器存取控制器仲裁模塊
504直接存儲(chǔ)器存取信道選取電路506直接存儲(chǔ)器存取方針暫存器508信道選取暫存器
權(quán)利要求
1.一種動(dòng)態(tài)使用直接存儲(chǔ)器存取信道的方法,其特征在于,一第一裝置的多個(gè)直接存儲(chǔ)器存取控制器利用至少一直接存儲(chǔ)器存取信道以指引該第一裝置的所述直接存儲(chǔ)器存取控制器與一第二裝置間的數(shù)據(jù)傳輸,該動(dòng)態(tài)使用直接存儲(chǔ)器存取信道的方法包括下列步驟允許所述直接存儲(chǔ)器存取控制器的任一個(gè)自由使用任一該至少一直接存儲(chǔ)器存取信道;以及若部分直接存儲(chǔ)器存取控制器同時(shí)請(qǐng)求使用一目標(biāo)信道,則讓該部分直接存儲(chǔ)器存取控制器共用該目標(biāo)信道,其中該目標(biāo)信道為該至少一直接存儲(chǔ)器存取信道其中之一。
2.根據(jù)權(quán)利要求1所述的動(dòng)態(tài)使用直接存儲(chǔ)器存取信道的方法,其特征在于,更包括儲(chǔ)存多個(gè)信道選擇設(shè)定值,每一信道選擇設(shè)定值表示所述直接存儲(chǔ)器存取控制器中的一所請(qǐng)求使用的直接存儲(chǔ)器存取信道。
3.根據(jù)權(quán)利要求2所述的動(dòng)態(tài)使用直接存儲(chǔ)器存取信道的方法,其特征在于,更包括自多個(gè)直接存儲(chǔ)器存取仲裁方針中選取合適的直接存儲(chǔ)器存取仲裁方針;自所述直接存儲(chǔ)器存取控制器接收使用該目標(biāo)信道的請(qǐng)求;檢查所述信道選擇設(shè)定值,以決定是否部分所述直接存儲(chǔ)器存取控制器同時(shí)請(qǐng)求使用同一目標(biāo)信道;若部分所述直接存儲(chǔ)器存取控制器同時(shí)請(qǐng)求使用同一目標(biāo)信道,則依據(jù)所選取的直接存儲(chǔ)器存取仲裁方針,自爭(zhēng)取同一目標(biāo)信道的直接存儲(chǔ)器存取控制器中選擇一信道占有者;若僅有所述直接存儲(chǔ)器存取控制器其中之一請(qǐng)求使用該目標(biāo)信道,則指派請(qǐng)求該目標(biāo)信道的直接存儲(chǔ)器存取控制器為信道占有者;以及批準(zhǔn)該信道占有者使用該目標(biāo)信道的請(qǐng)求。
4.根據(jù)權(quán)利要求3所述的動(dòng)態(tài)使用直接存儲(chǔ)器存取信道的方法,其特征在于,所述直接存儲(chǔ)器存取仲裁方針中包括下列其一一嚴(yán)格優(yōu)先級(jí)方針,于該嚴(yán)格優(yōu)先級(jí)方針下,同時(shí)請(qǐng)求使用同一目標(biāo)信道的直接存儲(chǔ)器存取控制器中被授予最高優(yōu)先級(jí)者被選取為該信道占有者,且該信道占有者獲準(zhǔn)使用該目標(biāo)信道直至其數(shù)據(jù)傳輸結(jié)束為止;一循環(huán)賽方針,于該循環(huán)賽方針下,同時(shí)請(qǐng)求使用同一目標(biāo)信道的直接存儲(chǔ)器存取控制器輪流被選取為該信道占有者,以分享該目標(biāo)信道;以及一被動(dòng)方針,于該被動(dòng)方針下,由該第二裝置自同時(shí)請(qǐng)求使用同一目標(biāo)信道的直接存儲(chǔ)器存取控制器中選取該信道占有者,以透過(guò)該目標(biāo)信道導(dǎo)引與該第二裝置間的數(shù)據(jù)傳輸。
5.根據(jù)權(quán)利要求2所述的動(dòng)態(tài)使用直接存儲(chǔ)器存取信道的方法,其特征在于,更包括依據(jù)所述信道選擇設(shè)定值,動(dòng)態(tài)地連接請(qǐng)求使用所述直接存儲(chǔ)器存取信道的所述直接存儲(chǔ)器存取控制器與所述直接存儲(chǔ)器存取信道。
6.根據(jù)權(quán)利要求3所述的動(dòng)態(tài)使用直接存儲(chǔ)器存取信道的方法,其特征在于,更包括依據(jù)該信道占有者的信道選擇設(shè)定值,耦接該信道占有者與該目標(biāo)信道。
7.根據(jù)權(quán)利要求6所述的動(dòng)態(tài)使用直接存儲(chǔ)器存取信道的方法,其特征在于,更包括經(jīng)由該目標(biāo)信道,向該第二裝置發(fā)送信道占有者的直接存儲(chǔ)器存取請(qǐng)求信號(hào);經(jīng)由該目標(biāo)信道,由該第二裝置接收一直接存儲(chǔ)器存取應(yīng)答信號(hào);以及將該直接存儲(chǔ)器存取應(yīng)答信號(hào)傳遞予該信道占有者。
8.一種動(dòng)態(tài)使用直接存儲(chǔ)器存取信道的仲裁電路,其特征在于,耦接于一第一裝置的多個(gè)直接存儲(chǔ)器存取控制器與至少一直接存儲(chǔ)器存取信道間,其中所述直接存儲(chǔ)器存取控制器利用該至少一直接存儲(chǔ)器存取信道以指引該第一裝置的所述直接存儲(chǔ)器存取控制器與一第二裝置間的數(shù)據(jù)傳輸,該動(dòng)態(tài)使用直接存儲(chǔ)器存取信道的仲裁電路包括一直接存儲(chǔ)器存取控制器仲裁模塊,耦接至所述直接存儲(chǔ)器存取控制器,用以自同時(shí)請(qǐng)求使用一目標(biāo)信道的部分直接存儲(chǔ)器存取控制器中選取一信道占有者,以讓該信道占有者使用該目標(biāo)信道,其中該目標(biāo)信道為該至少一直接存儲(chǔ)器存取信道其中之一;以及一直接存儲(chǔ)器存取信道選取電路,耦接于該直接存儲(chǔ)器存取控制器仲裁模塊及該至少一直接存儲(chǔ)器存取信道之間,用以讓該信道占有者動(dòng)態(tài)地連接至該目標(biāo)信道并使用該目標(biāo)信道。
9.根據(jù)權(quán)利要求8所述的動(dòng)態(tài)使用直接存儲(chǔ)器存取信道的仲裁電路,其特征在于,更包括多個(gè)信道選取暫存器,耦接至該直接存儲(chǔ)器存取信道選取電路,用以?xún)?chǔ)存多個(gè)信道選擇設(shè)定值,每一信道選擇設(shè)定值表示所述直接存儲(chǔ)器存取控制器中的一所請(qǐng)求使用的直接存儲(chǔ)器存取信道。
10.根據(jù)權(quán)利要求9所述的動(dòng)態(tài)使用直接存儲(chǔ)器存取信道的仲裁電路,其特征在于,更包括一直接存儲(chǔ)器存取方針暫存器,耦接至該直接存儲(chǔ)器存取控制器仲裁模塊,用以?xún)?chǔ)存由多個(gè)直接存儲(chǔ)器存取仲裁方針中所選取的合適的直接存儲(chǔ)器存取仲裁方針,而該直接存儲(chǔ)器存取控制器仲裁模塊自所述直接存儲(chǔ)器存取控制器接收使用該目標(biāo)信道的請(qǐng)求,檢查所述信道選擇設(shè)定值以決定是否部分所述直接存儲(chǔ)器存取控制器同時(shí)請(qǐng)求使用同一目標(biāo)信道,當(dāng)部分所述直接存儲(chǔ)器存取控制器同時(shí)請(qǐng)求使用同一目標(biāo)信道時(shí),則依據(jù)所選取的直接存儲(chǔ)器存取仲裁方針自爭(zhēng)取同一目標(biāo)信道的直接存儲(chǔ)器存取控制器中選擇一信道占有者,當(dāng)僅有所述直接存儲(chǔ)器存取控制器其中之一請(qǐng)求使用該目標(biāo)信道,則指派請(qǐng)求該目標(biāo)信道的直接存儲(chǔ)器存取控制器為信道占有者。
11.根據(jù)權(quán)利要求10所述的動(dòng)態(tài)使用直接存儲(chǔ)器存取信道的仲裁電路,其特征在于,所述直接存儲(chǔ)器存取仲裁方針中包括下列其一一嚴(yán)格優(yōu)先級(jí)方針,于該嚴(yán)格優(yōu)先級(jí)方針下,該直接存儲(chǔ)器存取控制器仲裁模塊自同時(shí)請(qǐng)求使用同一目標(biāo)信道的直接存儲(chǔ)器存取控制器中選取被授予最高優(yōu)先級(jí)者為該信道占有者,且該信道占有者獲準(zhǔn)使用該目標(biāo)信道直至其數(shù)據(jù)傳輸結(jié)束為止;一循環(huán)賽方針,于該循環(huán)賽方針下,該直接存儲(chǔ)器存取控制器仲裁模塊輪流選取同時(shí)請(qǐng)求使用同一目標(biāo)信道的直接存儲(chǔ)器存取控制器為該信道占有者,以分享該目標(biāo)信道;以及一被動(dòng)方針,于該被動(dòng)方針下,由該第二裝置自同時(shí)請(qǐng)求使用同一目標(biāo)信道的直接存儲(chǔ)器存取控制器中選取該信道占有者,以透過(guò)該目標(biāo)信道導(dǎo)引與該第二裝置間的數(shù)據(jù)傳輸。
12.根據(jù)權(quán)利要求9所述的動(dòng)態(tài)使用直接存儲(chǔ)器存取信道的仲裁電路,其特征在于,該直接存儲(chǔ)器存取信道選取電路依據(jù)所述信道選擇設(shè)定值,動(dòng)態(tài)地連接請(qǐng)求使用所述直接存儲(chǔ)器存取信道的所述直接存儲(chǔ)器存取控制器與所述直接存儲(chǔ)器存取信道。
13.根據(jù)權(quán)利要求12所述的動(dòng)態(tài)使用直接存儲(chǔ)器存取信道的仲裁電路,其特征在于,該直接存儲(chǔ)器存取信道選取電路經(jīng)由該目標(biāo)信道向該第二裝置發(fā)送信道占有者的直接存儲(chǔ)器存取請(qǐng)求信號(hào),經(jīng)由該目標(biāo)信道由該第二裝置接收一直接存儲(chǔ)器存取應(yīng)答信號(hào),并將該直接存儲(chǔ)器存取應(yīng)答信號(hào)傳遞予該信道占有者。
全文摘要
本發(fā)明提供一種動(dòng)態(tài)使用直接存儲(chǔ)器存取信道的方法與仲裁電路。其中一第一裝置的多個(gè)直接存儲(chǔ)器存取控制器利用至少一直接存儲(chǔ)器存取信道以指引該第一裝置的所述直接存儲(chǔ)器存取控制器與一第二裝置間的數(shù)據(jù)傳輸。首先,允許所述直接存儲(chǔ)器存取控制器的任一個(gè)自由運(yùn)用任一該至少一直接存儲(chǔ)器存取信道。接著,若部分直接存儲(chǔ)器存取控制器同時(shí)請(qǐng)求使用一目標(biāo)信道時(shí),則讓該部分直接存儲(chǔ)器存取控制器共用該目標(biāo)信道,其中該目標(biāo)信道為該至少一直接存儲(chǔ)器存取信道其中之一。本發(fā)明所述的動(dòng)態(tài)使用直接存儲(chǔ)器存取信道的方法與仲裁電路,在系統(tǒng)硬件或軟件設(shè)計(jì)上都便利許多,避免了系統(tǒng)資源的浪費(fèi)。
文檔編號(hào)G06F13/28GK1996272SQ200610172258
公開(kāi)日2007年7月11日 申請(qǐng)日期2006年12月30日 優(yōu)先權(quán)日2006年2月24日
發(fā)明者陳國(guó)清, 陳泰成, 杜銘義, 汪立翔 申請(qǐng)人:威盛電子股份有限公司