專利名稱:可執(zhí)行分散/聚集直接存儲(chǔ)器存取的系統(tǒng)與方法
技術(shù)領(lǐng)域:
本發(fā)明關(guān)于一種可實(shí)現(xiàn)直接存儲(chǔ)器存取的系統(tǒng)與方法,特別是關(guān)于一種分散/聚集直接存儲(chǔ)器存取的傳輸系統(tǒng)與方法。
背景技術(shù):
直接存儲(chǔ)器傳輸為一常用的技術(shù),在直接存儲(chǔ)器傳輸中,數(shù)據(jù)自一存儲(chǔ)器直接傳輸至另一存儲(chǔ)器,而不須經(jīng)過(guò)處理器或其他中間仲介裝置。舉例如圖1所示,其是表示一計(jì)算機(jī)系統(tǒng)的部分元件的結(jié)構(gòu)圖。在本實(shí)施例的系統(tǒng)10中,兩個(gè)分隔的存儲(chǔ)器12與14連接至一系統(tǒng)總線15,該系統(tǒng)總線15亦連接至一處理器16。通常數(shù)據(jù)自其中一個(gè)存儲(chǔ)器傳輸至另一存儲(chǔ)器。
舉例而言,假設(shè)存儲(chǔ)器12中的一批數(shù)據(jù)目欲傳輸至存儲(chǔ)器14,可影響該傳輸?shù)囊环N方式為由處理器16來(lái)執(zhí)行該批數(shù)據(jù)目的讀取,以將該批數(shù)據(jù)目自存儲(chǔ)器12傳輸至處理器16。因此,處理器16可將該數(shù)據(jù)目寫(xiě)入存儲(chǔ)器14的特定位置。雖然該種方法對(duì)傳輸單一個(gè)數(shù)據(jù)目或少量的數(shù)據(jù)目來(lái)說(shuō)為可行的,但通常的情況是自一存儲(chǔ)器搬移一整個(gè)數(shù)據(jù)塊至另一存儲(chǔ)器。利用直接存儲(chǔ)器存取即可大大提升該種數(shù)據(jù)傳輸,以減少需通過(guò)處理器多次搬移數(shù)據(jù)的需要。
在直接存儲(chǔ)器存取傳輸中,自一第一存儲(chǔ)器搬移數(shù)據(jù)至一第二存儲(chǔ)器的操作由直接存儲(chǔ)器存取控制器20來(lái)控制。處理器16或其他合適的邏輯電路通常通過(guò)類型(組態(tài))設(shè)定直接存儲(chǔ)器存取控制器20來(lái)起始一個(gè)數(shù)據(jù)傳輸。在簡(jiǎn)單的直接存儲(chǔ)器存取傳輸中,類型設(shè)定的內(nèi)容包括來(lái)源存儲(chǔ)器12的起始地址,目的存儲(chǔ)器14的起始地址,以及欲傳輸?shù)臄?shù)據(jù)數(shù)量。典型的直接存儲(chǔ)器存取控制器包含控制寄存器22,用以存儲(chǔ)處理器16的類型設(shè)定。當(dāng)設(shè)定完成后,直接存儲(chǔ)器存取控制器20提供必須的控制信號(hào)至存儲(chǔ)器12與14,并藉該控制存儲(chǔ)器12與14之間的傳輸。如標(biāo)號(hào)19所示,當(dāng)該直接存儲(chǔ)器存取傳輸開(kāi)始后,數(shù)據(jù)即可有效地從來(lái)源存儲(chǔ)器12傳輸至目的存儲(chǔ)器14。當(dāng)然,數(shù)據(jù)經(jīng)過(guò)總線15傳輸,而其他數(shù)據(jù)傳輸亦可能暫停。舉例而言,處理器16可讀取或?qū)懭胫疗渌罱又量偩€15的存儲(chǔ)器。為達(dá)該目的,通常會(huì)加上仲裁邏輯單元18以排序與控制通過(guò)總線15的傳輸,以避免總線上的沖突。
由于直接存儲(chǔ)器存取與總線仲裁運(yùn)作為熟知的技術(shù),在此將不贅述。
除了自來(lái)源存儲(chǔ)器至目的存儲(chǔ)器的單一數(shù)據(jù)塊的傳輸?shù)?,此類的基本直接存?chǔ)器存取運(yùn)作之外,其他較復(fù)雜的直接存儲(chǔ)器存取亦為熟知技術(shù)。例如聚集直接存儲(chǔ)器存取,其將來(lái)源存儲(chǔ)器的多個(gè)分散的數(shù)據(jù)塊傳輸至目的存儲(chǔ)器的連續(xù)位置,如圖2A所示。來(lái)源存儲(chǔ)器12中包含位置相異且大小不一的數(shù)據(jù)塊32、34、36與38傳輸至目的存儲(chǔ)器14后,存放于單一的相鄰的連續(xù)位置。另一種為分散直接存儲(chǔ)器存取,如圖2B所表示。于分散直接存儲(chǔ)器存取傳輸中,來(lái)源存儲(chǔ)器的多個(gè)連續(xù)的數(shù)據(jù)塊42、44、46與48傳輸至目的存儲(chǔ)器的多個(gè)分散與相異的位置。如其名稱所示,當(dāng)數(shù)據(jù)寫(xiě)入目的存儲(chǔ)器14時(shí),被分散放置。前述的分散/聚集等詞與于本發(fā)明中用以指稱直接存儲(chǔ)器存取為分散或聚集模式。
雖然圖2A與圖2B所示的分散與聚集直接存儲(chǔ)器存取,將來(lái)源存儲(chǔ)器的分散數(shù)據(jù)存入目的存儲(chǔ)器的連續(xù)位置,或?qū)?lái)源存儲(chǔ)連續(xù)數(shù)據(jù)存放至目的存儲(chǔ)器的分散地址,其他形式的分散/聚集直接存儲(chǔ)器存取可將來(lái)源存儲(chǔ)器的不連續(xù)數(shù)據(jù)移至目的存儲(chǔ)器的不連續(xù)位置。該類的分散或聚集直接存儲(chǔ)器存取運(yùn)作通常需要直接存儲(chǔ)器控制器20更復(fù)雜的類型設(shè)定與運(yùn)作,依此考慮,直接存儲(chǔ)器控制器20會(huì)使用對(duì)照表,連結(jié)清單或其他形式以將來(lái)源數(shù)據(jù)塊對(duì)應(yīng)于目的數(shù)據(jù)塊的合適位置。
由上所述可知,提供一種可更有效更經(jīng)濟(jì)地執(zhí)行分散/聚集直接存儲(chǔ)器傳輸?shù)南到y(tǒng)與方法,實(shí)為一待解決的課題。
發(fā)明內(nèi)容本發(fā)明提供一種自一來(lái)源存儲(chǔ)器至一目的存儲(chǔ)器執(zhí)行直接存儲(chǔ)器存取傳輸?shù)南到y(tǒng)與方法。本發(fā)明的一實(shí)施例關(guān)于一種數(shù)據(jù)位線的直接存儲(chǔ)器傳輸方法,包含接收一來(lái)源地址以定義來(lái)源存儲(chǔ)器的起始位置;接收目的地址以定義目的存儲(chǔ)器的起始位置;接收一尺寸值一定義一數(shù)據(jù)位線的數(shù)據(jù)單位數(shù)量;接收一計(jì)數(shù)值以定義自來(lái)源存儲(chǔ)器傳輸至目的存儲(chǔ)器傳輸?shù)臄?shù)據(jù)位線數(shù)量,其中每一數(shù)據(jù)位線包含多個(gè)連續(xù)的數(shù)據(jù)單位;接收一偏移值以定義兩連續(xù)傳輸?shù)臄?shù)據(jù)位線間的固定相隔距離;根據(jù)來(lái)源地址值、目的地址值、尺寸值、計(jì)數(shù)值與偏移值,自來(lái)源存儲(chǔ)器至目的存儲(chǔ)器間一次傳輸一條數(shù)據(jù)位線,當(dāng)所有數(shù)據(jù)位線傳輸完畢后,停止該直接存儲(chǔ)器存取傳輸。
本發(fā)明的另一實(shí)施例提供一種數(shù)據(jù)塊的直接存儲(chǔ)器存取傳輸方法,該方法包含接收一來(lái)源地址以定義來(lái)源存儲(chǔ)器的起始位置;接收目的地址以定義目的存儲(chǔ)器的起始位置;接收一位線尺寸值以定義一數(shù)據(jù)位線的數(shù)據(jù)單位數(shù)量,其中每一數(shù)據(jù)位線包含多個(gè)連續(xù)的數(shù)據(jù)單位;接收一位線計(jì)數(shù)值以定義一數(shù)據(jù)塊的數(shù)據(jù)位線數(shù)量,其中每一數(shù)據(jù)塊包含多個(gè)連續(xù)傳輸?shù)臄?shù)據(jù)位線;接收一位線偏移值以定義一數(shù)據(jù)塊中兩個(gè)連續(xù)傳輸?shù)臄?shù)據(jù)位線間的固定相隔距離;接收一塊計(jì)數(shù)值以定義自來(lái)源存儲(chǔ)器至目的存儲(chǔ)器所傳輸?shù)臄?shù)據(jù)塊數(shù)量;接收一塊偏移值以定義兩個(gè)連續(xù)傳輸?shù)臄?shù)據(jù)塊間的固定相隔位置;根據(jù)來(lái)源地址、目的地址、塊計(jì)數(shù)值與塊偏移值,自來(lái)源存儲(chǔ)器至目的存儲(chǔ)器間一次傳輸一數(shù)據(jù)塊,其中每一數(shù)據(jù)塊根據(jù)位線計(jì)數(shù)值與位線偏移值,一次傳輸一條數(shù)據(jù)位線來(lái)進(jìn)行傳輸;當(dāng)所有數(shù)據(jù)位線傳輸完畢后,停止該直接存儲(chǔ)器存取傳輸。于本實(shí)施例中每一數(shù)據(jù)塊的位線尺寸值與位線計(jì)數(shù)值相等。
本發(fā)明的又一實(shí)施例提供一種用于傳輸數(shù)據(jù)位線的直接存儲(chǔ)器存取控制器,包含一存儲(chǔ)單元用以存儲(chǔ)與數(shù)據(jù)傳輸相關(guān)的多個(gè)傳輸參數(shù),以及一控制單元用以根據(jù)該多個(gè)傳輸參數(shù)控制來(lái)源存儲(chǔ)器與目的存儲(chǔ)器間的數(shù)據(jù)傳輸。其中傳輸參數(shù)包括用以定義數(shù)據(jù)于來(lái)源存儲(chǔ)器與目的存儲(chǔ)器內(nèi)的起始位置的地址值,用以定義數(shù)據(jù)位線的數(shù)據(jù)單位數(shù)量的尺寸值,用以定義數(shù)據(jù)位線數(shù)量的位線計(jì)數(shù)值,以及用以定義兩個(gè)連續(xù)傳輸?shù)臄?shù)據(jù)位線間相隔距離的位線偏移值。本實(shí)施例的每一數(shù)據(jù)位線包含相同數(shù)量的數(shù)據(jù)單位。
本發(fā)明的再一實(shí)施例提供一種用于傳輸數(shù)據(jù)塊的直接存儲(chǔ)器存取控制器,包含一存儲(chǔ)單元用以存儲(chǔ)與數(shù)據(jù)傳輸相關(guān)的多個(gè)傳輸參數(shù),以及一控制單元用以根據(jù)該多個(gè)傳輸參數(shù)控制來(lái)源存儲(chǔ)器與目的存儲(chǔ)器間的數(shù)據(jù)傳輸。其中該多個(gè)傳輸參數(shù)包括用以定義數(shù)據(jù)于來(lái)源存儲(chǔ)器與目的存儲(chǔ)器內(nèi)的位置的地址值,用以定義一數(shù)據(jù)位線包含的數(shù)據(jù)單位數(shù)量的位線尺寸值,用以定義一數(shù)據(jù)塊包含的數(shù)據(jù)位線數(shù)量的位線計(jì)數(shù)值,用以定義一數(shù)據(jù)塊內(nèi)兩個(gè)連續(xù)傳輸?shù)臄?shù)據(jù)位線間固定相隔距離的位線偏移值,用以定義欲傳輸?shù)臄?shù)據(jù)塊數(shù)量的塊計(jì)數(shù)值,用以定義兩個(gè)連續(xù)傳輸?shù)臄?shù)據(jù)塊間固定相隔距離的塊偏移值。本實(shí)施例的每一數(shù)據(jù)塊的位線計(jì)數(shù)值與位線偏移值為相等。
本發(fā)明亦包含其他可實(shí)現(xiàn)分散/聚集直接存儲(chǔ)器存取傳輸?shù)南到y(tǒng)與方法。
圖1是表示本發(fā)明先前技術(shù)的直接存儲(chǔ)器存取系統(tǒng)的結(jié)構(gòu)圖。
圖2A是表示一分散直接存儲(chǔ)器存取的結(jié)構(gòu)圖。
圖2B是表示一聚集直接存儲(chǔ)器存取的結(jié)構(gòu)圖。
圖3A是表示一顯示視窗的結(jié)構(gòu)與動(dòng)態(tài)。
圖3B是表示一固定偏移的分散/聚集直接存儲(chǔ)器存取。
圖4是表示本發(fā)明一實(shí)施例的高階直接存儲(chǔ)器存取傳輸?shù)牧鞒虉D。
圖5是表示本發(fā)明一實(shí)施例的直接存儲(chǔ)器存取控制器的部分結(jié)構(gòu)圖。
圖6是表示本發(fā)明另一實(shí)施例的直接存儲(chǔ)器存取控制器的部分結(jié)構(gòu)圖。
圖7是表示本發(fā)明又一實(shí)施例的直接存儲(chǔ)器存取控制器的部分結(jié)構(gòu)圖。
圖8是表示本發(fā)明再一實(shí)施例的直接存儲(chǔ)器存取控制器的部分結(jié)構(gòu)圖。
圖9是表示本發(fā)明再一實(shí)施例的直接存儲(chǔ)器存取控制器的部分結(jié)構(gòu)圖。
主要元件符號(hào)說(shuō)明10系統(tǒng) 12、14存儲(chǔ)器裝置 15總線 16處理器18仲裁邏輯單元 19直接存儲(chǔ)器存取 20直接存儲(chǔ)器存取控制器22控制寄存器 32、34、36、38數(shù)據(jù)塊42、44、46、48數(shù)據(jù)塊110顯示視窗 120來(lái)源存儲(chǔ)器 130目的存儲(chǔ)器215處理器 220直接存儲(chǔ)器存取控制器222控制/類型邏輯單元 230邏輯模塊232、234、236子模塊 240控制寄存器242位線尺寸值 244位線偏移值 246位線數(shù)量315處理器 320直接存儲(chǔ)器存取控制器322控制/類型邏輯單元 334邏輯模塊326、328、330、332、334子模塊 340控制寄存器342位線尺寸值 344、356位線偏移值346位線數(shù)量348、358塊偏移值 349塊數(shù)量 352、354起始地址值
具體實(shí)施方式本發(fā)明所公開(kāi)的實(shí)施例關(guān)于用以執(zhí)行分散/聚集直接存儲(chǔ)器存取傳輸?shù)南到y(tǒng)與方法,其中每一數(shù)據(jù)塊的大小為固定與統(tǒng)一的尺寸,間隔的距離亦相同。該類型的直接存儲(chǔ)器存取傳輸又稱為固定偏移分散/聚集直接存儲(chǔ)器存取。圖3A與圖3B表示本發(fā)明的固定偏移分散/聚集直接存儲(chǔ)器存取的實(shí)施例。如圖3A所示,一圖形顯示裝置100包含一顯示視窗110,當(dāng)使用者將顯示視窗110自一第一位置拖曳至一第二位置(如破折線112所示)時(shí),顯示視窗110所包含的數(shù)據(jù)必須在幀緩沖存儲(chǔ)器內(nèi)移動(dòng)。換句話說(shuō),為了將顯示視窗110自第一位置移動(dòng)到第二位置,其一方法將幀緩沖存儲(chǔ)器內(nèi)的數(shù)據(jù)塊傳輸至內(nèi)部的另一位置。為說(shuō)明方便,假設(shè)幀緩沖存儲(chǔ)器包含兩個(gè)存儲(chǔ)器120與130,每一個(gè)分別涵蓋顯示視窗110的一半?yún)^(qū)域,兩塊區(qū)域的切割如參考線114所示。顯示視窗110中參考線114左半邊的數(shù)據(jù)存儲(chǔ)于存儲(chǔ)器120,而右半邊的數(shù)據(jù)存儲(chǔ)于存儲(chǔ)器130。
假設(shè)存儲(chǔ)器120與130內(nèi)數(shù)據(jù)的配置與分割與顯示視窗110的空間設(shè)置相關(guān),直接存儲(chǔ)器存取傳輸?shù)牡谝粋€(gè)數(shù)據(jù)目對(duì)應(yīng)于顯示視窗左半邊的像素。再假設(shè)顯示視窗110的垂直維度為5個(gè)像素,水平維度為100個(gè)像素,若一個(gè)像素為一個(gè)數(shù)據(jù)單位(如一字節(jié)、一位字或雙位字),即表示有5個(gè)數(shù)據(jù)塊將自存儲(chǔ)器120搬移至存儲(chǔ)器130,其中每一數(shù)據(jù)塊的長(zhǎng)度為100個(gè)數(shù)據(jù)單位。該種數(shù)據(jù)塊稱為一個(gè)數(shù)據(jù)位線,包含連續(xù)的多個(gè)數(shù)據(jù)單位。
如圖3B所示,當(dāng)每一數(shù)據(jù)位線搬移完畢后,在碰到下一個(gè)被傳輸?shù)奈痪€的第一個(gè)數(shù)據(jù)目前還有一段偏移值的距離。每個(gè)連續(xù)傳輸?shù)臄?shù)據(jù)位線間的偏移距離為相等,因此稱為固定偏移。同樣地,在目的存儲(chǔ)器中每條數(shù)據(jù)位線之間的偏移距離亦為相等。
前面的敘述已將自來(lái)源存儲(chǔ)器傳輸多個(gè)數(shù)據(jù)位線(或數(shù)據(jù)塊)至目的存儲(chǔ)器的實(shí)施例詳盡說(shuō)明,其中每一數(shù)據(jù)位線之間的距離為固定的,藉以說(shuō)明固定偏移的分散/聚集直接存儲(chǔ)器存取如何運(yùn)作。
接著請(qǐng)看圖4,其是表示本發(fā)明一實(shí)施例的高階直接存儲(chǔ)器存取傳輸方法的流程圖。首先于步驟S200,當(dāng)一直接存儲(chǔ)器存取傳輸被啟動(dòng),以自來(lái)源存儲(chǔ)器傳輸多個(gè)數(shù)據(jù)位線至目的存儲(chǔ)器,其中每一條數(shù)據(jù)位線的尺寸為固定,且兩連續(xù)的數(shù)據(jù)位線間的偏移距離亦為固定。步驟S200先判斷與該直接存儲(chǔ)器存取傳輸相關(guān)的多個(gè)傳輸參數(shù)。這些傳輸參數(shù)包括來(lái)源存儲(chǔ)器與目的存儲(chǔ)器的起始地址,每一數(shù)據(jù)塊或數(shù)據(jù)位線的數(shù)據(jù)單位數(shù)量(如字節(jié)、位字或雙位字),兩條數(shù)據(jù)位線間相隔的偏移距離,以及欲傳輸?shù)乃袛?shù)據(jù)位線的數(shù)量。接著,于步驟S202這些傳輸參數(shù),尤其是位線長(zhǎng)度(或著稱為傳輸計(jì)數(shù)值),位線偏移值,以及位線的數(shù)量,將存儲(chǔ)于直接存儲(chǔ)器存取控制器內(nèi)的特定位置,例如專用的寄存器。然后在步驟S204第一條位線被傳輸至目的存儲(chǔ)器,步驟S206則對(duì)應(yīng)將位線計(jì)數(shù)值減一。當(dāng)位線計(jì)數(shù)值等于0時(shí),表示所有數(shù)據(jù)位線皆以傳輸完畢,如步驟S208所示。當(dāng)位線計(jì)數(shù)值不等于0時(shí),則于步驟S210下一條數(shù)據(jù)位線將被傳輸,再回到步驟S206。數(shù)據(jù)傳輸與計(jì)數(shù)減值的動(dòng)作將一直重復(fù)直到位線計(jì)數(shù)值等于0為止,整個(gè)直接存儲(chǔ)器傳輸即結(jié)束。
于本發(fā)明的其他實(shí)施例中,這些傳輸參數(shù)可直接自請(qǐng)求該直接存儲(chǔ)器存取的傳輸請(qǐng)求中接收而得,省略判斷傳輸參數(shù)的步驟。甚者,傳輸參數(shù)亦可不被存儲(chǔ)至直接存儲(chǔ)器存取控制器的特定位置,相反地,可直接作為直接存儲(chǔ)器存取傳輸?shù)闹笜?biāo)值或閾值。舉例而言,傳輸參數(shù)可自傳輸請(qǐng)求中獲得并直接用以設(shè)定程序計(jì)數(shù)器。程序計(jì)數(shù)器再用以計(jì)算被傳輸?shù)臄?shù)據(jù)位線或數(shù)據(jù)單位的數(shù)量。
于本發(fā)明的其他實(shí)施例中,步驟S206至步驟S210亦可以其他方式實(shí)現(xiàn)。例如計(jì)算已被傳輸?shù)臄?shù)據(jù)位線的數(shù)量,或者計(jì)算步驟S204(一條數(shù)據(jù)位線的傳輸完成)已執(zhí)行過(guò)的次數(shù),來(lái)取代步驟S206。當(dāng)傳輸?shù)拇螖?shù)達(dá)到位線計(jì)數(shù)值時(shí),即表示所有數(shù)據(jù)位線已傳輸完畢,則傳輸即可終止,如步驟S210所為。還可利用一計(jì)數(shù)器來(lái)計(jì)算已傳輸?shù)臄?shù)據(jù)位線的數(shù)量,或計(jì)算步驟S204執(zhí)行的次數(shù),取決于實(shí)際設(shè)計(jì)考慮。于本發(fā)明實(shí)施例的其他變化中,可使用位線尺寸值來(lái)判斷步驟S204的傳輸是否完畢。例如當(dāng)一條數(shù)據(jù)位線中的一個(gè)數(shù)據(jù)單位被傳輸時(shí),遞減位線尺寸值。當(dāng)位線尺寸值等于0時(shí),亦即一條數(shù)據(jù)位線已傳輸完畢,即可對(duì)應(yīng)增加計(jì)算數(shù)據(jù)位線的傳輸數(shù)量或者步驟S204執(zhí)行次數(shù)的數(shù)值。無(wú)論上述何種方式,直接存儲(chǔ)器存取傳輸皆可通過(guò)這些傳輸參數(shù)被監(jiān)視與控制。
通過(guò)以上敘述可知,相較于先前技術(shù)的分散聚集直接存儲(chǔ)器存取,本發(fā)明的各種實(shí)施例提供一種更為有效率減簡(jiǎn)化傳輸復(fù)雜度的操作方法,不須使用對(duì)照表,連結(jié)清單或其他復(fù)雜的結(jié)構(gòu)。
接著請(qǐng)參照?qǐng)D5,其是表示本發(fā)明一實(shí)施例的直接存儲(chǔ)器存取控制器220的結(jié)構(gòu)圖。本實(shí)施例的直接存儲(chǔ)器存取控制器220包含一控制/類型邏輯單元222,用以控制傳送至來(lái)源存儲(chǔ)器與目標(biāo)存儲(chǔ)器(未表示)的控制信號(hào),以執(zhí)行該固定偏移分散/聚集直接存儲(chǔ)器存取傳輸。處理器215或其他邏輯單元可用以存儲(chǔ)直接存儲(chǔ)器存取控制器220的類型設(shè)定,以執(zhí)行直接存儲(chǔ)器存取。如于圖4相關(guān)的敘述所言,類型設(shè)定包括位線長(zhǎng)度值,位線偏移值與欲傳輸?shù)臄?shù)據(jù)位線數(shù)量。其中對(duì)每一數(shù)據(jù)位線而言,位線長(zhǎng)度值與位線偏移值皆相等。
控制類型邏輯單元222包含一邏輯模塊230,用以類型設(shè)定直接存儲(chǔ)器存取控制器220,以執(zhí)行該直接存儲(chǔ)器存取傳輸。該傳輸包含多個(gè)固定大小的數(shù)據(jù)位線,彼此間隔的距離亦為固定。邏輯模塊230還包含用以判定位線尺寸值的子模塊232,用以判定兩相鄰數(shù)據(jù)位線間相隔距離的子模塊234,用以判定數(shù)據(jù)位線數(shù)量的子模塊236。請(qǐng)注意在本實(shí)施例中,其他形式的邏輯元件亦可用于本發(fā)明中,且不背離本發(fā)明的范圍與精神。
舉例而言,圖6表示本發(fā)明一實(shí)施例的結(jié)構(gòu)圖。如圖所示,控制類型邏輯單元222包含多個(gè)控制寄存器240,分別用以存儲(chǔ)(1)位線尺寸值242;(2)位線偏移值244;(3)欲傳輸?shù)臄?shù)據(jù)位線數(shù)量246。于本實(shí)施例中,上述數(shù)值可分別存儲(chǔ)于控制寄存器240的一巨集模塊中不同的寄存器。于另一實(shí)施例中,可用單一寄存器來(lái)存儲(chǔ)所有數(shù)值。在該情況下,各數(shù)值可能僅占據(jù)控制寄存器的數(shù)個(gè)特定欄。實(shí)際的設(shè)計(jì)可依據(jù)存儲(chǔ)器空間與數(shù)值大小來(lái)決定實(shí)現(xiàn)的方式,舉例而言,若每一數(shù)值的大小約3到4個(gè)位,則可以一單一寄存器的不同欄來(lái)實(shí)現(xiàn);如果每一數(shù)值的大小可達(dá)16到32位,則可選擇使用不同的寄存器來(lái)實(shí)現(xiàn)。
以下的實(shí)施例將描述如何實(shí)現(xiàn)自來(lái)源存儲(chǔ)器搬移一數(shù)據(jù)塊至目的存儲(chǔ)器的固定偏移分散/聚集直接存儲(chǔ)器存取傳輸。本發(fā)明的其他實(shí)施例亦可涵蓋搬移多個(gè)數(shù)據(jù)塊的直接存儲(chǔ)器存取傳輸。對(duì)于被傳輸?shù)哪硞€(gè)數(shù)據(jù)塊而言,該數(shù)據(jù)塊內(nèi)的各條數(shù)據(jù)位線間具有固定的相隔距離。同樣地,每一個(gè)數(shù)據(jù)塊間相隔的距離亦為固定。數(shù)據(jù)位線間與數(shù)據(jù)塊間的偏移距離為獨(dú)立不相干。
在此重申,本發(fā)明的各實(shí)施例所使用的特定應(yīng)用并非用以限定本發(fā)明的范圍,相反地,僅用以說(shuō)明的本發(fā)明可能的應(yīng)用范例。本發(fā)明的專利范圍亦不受限于此些應(yīng)用。
圖7為本發(fā)明一實(shí)施例的流程圖,用以示意一自來(lái)源存儲(chǔ)器傳輸多個(gè)數(shù)據(jù)塊至目的存儲(chǔ)器的高階直接存儲(chǔ)器存取的傳輸方法。本實(shí)施例的數(shù)據(jù)塊為固定大小,且兩連續(xù)數(shù)據(jù)塊間的相隔距離亦為固定。再者,每一數(shù)據(jù)塊皆由多個(gè)數(shù)據(jù)位線所組成,每一數(shù)據(jù)位線的大小與兩條數(shù)據(jù)位線間的相隔距離亦為固定。在傳輸?shù)钠鹗?,首先于步驟S302須判斷與直接存儲(chǔ)器存取傳輸相關(guān)的傳輸參數(shù)。此些傳輸參數(shù)包括來(lái)源存儲(chǔ)器與目的存儲(chǔ)器的起始地址(亦即欲傳輸?shù)牡谝粋€(gè)數(shù)據(jù)目的起始地址),每一數(shù)據(jù)位線的長(zhǎng)度,兩連續(xù)數(shù)據(jù)位線之間的相隔距離(亦即位線偏移值),每一數(shù)據(jù)塊所包含的數(shù)據(jù)位線數(shù)量,兩連續(xù)數(shù)據(jù)塊之間的相隔距離(亦即塊偏移值),以及欲傳輸?shù)臄?shù)據(jù)塊數(shù)量。接著于步驟S304這些傳輸參數(shù)被存儲(chǔ)至特定位置,包含位線長(zhǎng)度值,位線偏移值,位線數(shù)量,塊偏移值,數(shù)據(jù)塊數(shù)量。于本實(shí)施例中,存儲(chǔ)這些傳輸參數(shù)的特定位置位于直接存儲(chǔ)器存取控制器內(nèi),但于其他實(shí)施例中亦可存儲(chǔ)于直接存儲(chǔ)器存取控制器的外,可被直接存儲(chǔ)器存取控制器存取的其他位置,同樣不背離本發(fā)明的精神。
步驟S306則將第一個(gè)數(shù)據(jù)塊的第一個(gè)數(shù)據(jù)位線自來(lái)源存儲(chǔ)器傳輸至目的存儲(chǔ)器,步驟S308相對(duì)將位線計(jì)數(shù)值遞減。步驟S310則判斷位線計(jì)數(shù)值是否到達(dá)0,若不等于0,則于步驟S312接續(xù)傳輸?shù)谝粩?shù)據(jù)塊的下一條數(shù)據(jù)位線。上述的數(shù)據(jù)位線傳輸與位線計(jì)數(shù)值遞減的步驟將重復(fù)直到位線計(jì)數(shù)值等于0為止,接著重新設(shè)定位線計(jì)數(shù)值到初始值,并將塊計(jì)數(shù)值遞減,如步驟S314所示。與步驟S310類似,步驟S316判斷塊計(jì)數(shù)值是否到0;若尚未等于0,則于步驟S318繼續(xù)傳輸下一數(shù)據(jù)塊的數(shù)據(jù)位線,傳輸程序?qū)⒒氐讲襟ES308、S310與S312的內(nèi)部循環(huán),依次遞減位線計(jì)數(shù)值,直到目前的數(shù)據(jù)塊內(nèi)的所有數(shù)據(jù)位線皆傳輸完畢為止。前述步驟S308至S318將持續(xù)重復(fù),直到步驟S316判斷塊計(jì)數(shù)值等于0為止,表示所有的數(shù)據(jù)塊皆已傳輸完畢。
于本發(fā)明的其他實(shí)施例中,這些傳輸參數(shù)可直接自請(qǐng)求該直接存儲(chǔ)器存取的傳輸請(qǐng)求中接收而得,省略判斷傳輸參數(shù)的步驟。甚者,傳輸參數(shù)亦可不被存儲(chǔ)至直接存儲(chǔ)器存取控制器的特定位置,相反地,可直接作為直接存儲(chǔ)器存取傳輸?shù)闹笜?biāo)值或閾值。舉例而言,傳輸參數(shù)可自傳輸請(qǐng)求中獲得并直接用以設(shè)定程序計(jì)數(shù)器。程序計(jì)數(shù)器再用以計(jì)算被傳輸?shù)臄?shù)據(jù)位線或數(shù)據(jù)塊的數(shù)量。
于本發(fā)明的其他實(shí)施例中,步驟S308至S318亦可以其他方式實(shí)現(xiàn)。例如利用額外的計(jì)數(shù)器來(lái)計(jì)算內(nèi)部循環(huán)執(zhí)行的次數(shù)或一數(shù)據(jù)塊內(nèi)已傳輸?shù)臄?shù)據(jù)數(shù)量。同樣地,其他傳輸參數(shù),例如位線長(zhǎng)度與位線計(jì)數(shù)值,也可用于計(jì)算一數(shù)據(jù)塊內(nèi)已傳輸?shù)臄?shù)據(jù)位線的數(shù)量或者已完成傳輸?shù)臄?shù)據(jù)塊數(shù)量。通過(guò)適當(dāng)?shù)挠?jì)算方式,直接存儲(chǔ)器存取傳輸可被妥善地監(jiān)視與控制??偨Y(jié)而論,直接存儲(chǔ)器存取傳輸?shù)慕K止依據(jù)所有數(shù)據(jù)塊(或者數(shù)據(jù)位線,于圖6的實(shí)施例中)是否已被全部自來(lái)源存儲(chǔ)器傳輸至目的存儲(chǔ)器完畢。計(jì)算直接存儲(chǔ)器存取傳輸?shù)臄?shù)據(jù)流量的方式可以多種不同方式實(shí)現(xiàn),但皆不背離本發(fā)明的精神與范疇。
圖8是表示本發(fā)明一實(shí)施例的直接存儲(chǔ)器存取控制器的結(jié)構(gòu)圖,本實(shí)施例對(duì)應(yīng)于圖7的流程圖,并且與圖5的實(shí)施例具有許多相似的處。
處理器315或其他合適的邏輯單元可用以類型設(shè)定直接存儲(chǔ)器存取控制器320,已將傳輸參數(shù)存儲(chǔ)至直接存儲(chǔ)器存取控制器320內(nèi)的特定位置,或者其他直接存儲(chǔ)器存取控制器320可存取的位置。直接存儲(chǔ)器存取控制器320包含控制/類型邏輯單元322用以提供控制信號(hào)至來(lái)源存儲(chǔ)器與目的存儲(chǔ)器,來(lái)控制直接存儲(chǔ)器存取傳輸。該直接存儲(chǔ)器存取傳輸將多個(gè)固定偏移的數(shù)據(jù)塊自來(lái)源存儲(chǔ)器傳輸至目的存儲(chǔ)器??刂?類型邏輯單元包含邏輯模塊324,以類型設(shè)定該直接存儲(chǔ)器存取傳輸,其中每一數(shù)據(jù)塊包含相同數(shù)量的數(shù)據(jù)位線,且數(shù)據(jù)位線彼此之間的相隔距離亦相等。邏輯模塊324又包含用以定義位線尺寸值的子模塊326,用以定義相鄰數(shù)據(jù)位線之間相隔距離(位線偏移值)的子模塊328,用以定義每一數(shù)據(jù)塊所包含的數(shù)據(jù)位線數(shù)量的子模塊330,用以定義欲傳輸?shù)臄?shù)據(jù)塊數(shù)量的子模塊332,以及用以定義兩相鄰的數(shù)據(jù)塊之間相隔距離(塊偏移值)的子模塊334。在不背離本發(fā)明的范疇與精神的情況下,上述的邏輯模塊與子模塊可以其他方式實(shí)現(xiàn)。
接著請(qǐng)參照?qǐng)D9,其是表示本發(fā)明一實(shí)施例的結(jié)構(gòu)圖。于本實(shí)施例中,圖8的多個(gè)子模塊326、328、330、332與334可以直接存儲(chǔ)器存取控制器320的數(shù)個(gè)特殊控制寄存器340來(lái)實(shí)現(xiàn)。例如,特殊控制寄存器342用以存儲(chǔ)位線尺寸值,特殊控制寄存器344用以存儲(chǔ)位線偏移值,特殊控制寄存器346用以存儲(chǔ)欲傳輸?shù)臄?shù)據(jù)位線的數(shù)量,特殊控制寄存器348用以存儲(chǔ)塊偏移值,以及特殊控制寄存器349用以存儲(chǔ)欲傳輸?shù)臄?shù)據(jù)塊的數(shù)量。
當(dāng)然,額外的控制寄存器或邏輯單元亦可包含于直接存儲(chǔ)器存取控制器320的中。然而,為簡(jiǎn)化敘述與更有效率地公開(kāi)本發(fā)明的特征,圖示所包含的元件依據(jù)下列的條件而表示(1)本發(fā)明的實(shí)施例所特有的特征;(2)可支援對(duì)上述特征的理解。舉例而言,直接存儲(chǔ)器存取控制器320的其他額外控制寄存器可包含用以存儲(chǔ)來(lái)源寄存器中欲傳輸?shù)牡谝粋€(gè)數(shù)據(jù)目的起始地址的控制寄存器352;用以存儲(chǔ)被傳輸?shù)牡谝粋€(gè)數(shù)據(jù)目于目的寄存器內(nèi)的起始地址的控制寄存器354;用以存儲(chǔ)目的寄存器的位線偏移值的控制寄存器356;以及用以存儲(chǔ)目的寄存器內(nèi)塊偏移值的控制寄存器358。
前述的各實(shí)施例中位線偏移值為固定,亦即來(lái)源存儲(chǔ)器的位偏移值為相異,而目的存儲(chǔ)器的位偏移值為相同的實(shí)施例尚未涵蓋在內(nèi)。若僅定義一個(gè)位線偏移值,對(duì)聚集直接存儲(chǔ)器存取操作而言,假設(shè)目的存儲(chǔ)器的位線偏移值為0。相似地,對(duì)分散直接存儲(chǔ)器存取操作而言,假設(shè)來(lái)源存儲(chǔ)器的位線偏移值為0,除非另行定義一位線偏移值供來(lái)源存儲(chǔ)器使用。然而,本發(fā)明的實(shí)施例亦可推及至來(lái)源存儲(chǔ)器與目的存儲(chǔ)器具有相異的位線偏移值的實(shí)施例,以分別定義來(lái)源位線偏移值與目的位線偏移值,兩者皆不為0。塊偏移值亦可以相同方式來(lái)處理,以支援具有多個(gè)數(shù)據(jù)塊的實(shí)施例。
于本發(fā)明可同時(shí)支援分散與聚集直接存儲(chǔ)器存取的實(shí)施例中,該實(shí)施例的方法還包含存儲(chǔ)一個(gè)分散/聚集指標(biāo),例如一旗標(biāo),于分散直接存儲(chǔ)器存取時(shí)設(shè)為1,于聚集直接存儲(chǔ)器存取時(shí)設(shè)為0。當(dāng)分散/聚集指標(biāo)表示一分散存取時(shí),位線偏移值表示數(shù)據(jù)傳輸后,目的存儲(chǔ)器中兩相鄰數(shù)據(jù)位線之間的距離,而數(shù)據(jù)傳輸前,來(lái)源存儲(chǔ)器內(nèi)的數(shù)據(jù)位線的相隔距離為0;當(dāng)分散/聚集指標(biāo)表示一聚集存取時(shí),位線偏移值表示數(shù)據(jù)傳輸前,來(lái)源存儲(chǔ)器中兩相鄰數(shù)據(jù)位線之間的距離,而數(shù)據(jù)傳輸后,目的存儲(chǔ)器內(nèi)的數(shù)據(jù)位線的相隔距離為0。
本發(fā)明可涵蓋其他未述及的實(shí)施例,且與本發(fā)明列舉的較佳實(shí)施例具有相同的簡(jiǎn)化與有效率執(zhí)行直接存儲(chǔ)器存取的特性。在不脫離本發(fā)明的范疇與精神的情況下,對(duì)本發(fā)明的結(jié)構(gòu)任何的變化與調(diào)整應(yīng)為本領(lǐng)域技術(shù)人員可預(yù)知的,亦屬于本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種直接存儲(chǔ)器存取傳輸方法,用以自一來(lái)源存儲(chǔ)器傳輸數(shù)據(jù)位線至一目的存儲(chǔ)器,包含接收一來(lái)源地址值,用以定義該來(lái)源存儲(chǔ)器的起始位置;接收一目的地址值,用以定義該目的存儲(chǔ)器的起始位置;接收一尺寸值,用以定義一數(shù)據(jù)位線的數(shù)據(jù)單位的數(shù)量;接收一計(jì)數(shù)值,用以定義自該來(lái)源存儲(chǔ)器至該目的存儲(chǔ)器所欲傳輸?shù)脑摱鄠€(gè)數(shù)據(jù)位線的數(shù)量,其中每一條該多個(gè)數(shù)據(jù)位線包含多個(gè)連續(xù)的數(shù)據(jù)單位;接收一偏移值,用以定義兩個(gè)連續(xù)傳輸?shù)脑摱鄠€(gè)數(shù)據(jù)位線間的固定相隔距離;根據(jù)該來(lái)源存儲(chǔ)器地址、該目的存儲(chǔ)器地址、該尺寸值、該計(jì)數(shù)值與該偏移值,自該來(lái)源存儲(chǔ)器一次傳輸一條該數(shù)據(jù)位線至該目的存儲(chǔ)器;以及當(dāng)該多個(gè)數(shù)據(jù)位線全部被傳輸完畢時(shí),停止該直接存儲(chǔ)器存取傳輸。
2.如權(quán)利要求
1所述的直接存儲(chǔ)器存取傳輸方法,還包含接收一指標(biāo)值,用以表示該直接存儲(chǔ)器存取傳輸?shù)牟僮髂J?,其中該操作模式選自下列模式一正常模式,一分散模式與一聚集模式。
3.如權(quán)利要求
2所述的直接存儲(chǔ)器存取傳輸方法,其中該指標(biāo)值表示該聚集模式時(shí),該偏移值定義該多個(gè)數(shù)據(jù)位線于來(lái)源存儲(chǔ)器內(nèi)的固定相隔距離,而該多個(gè)數(shù)據(jù)位線于該目的存儲(chǔ)器內(nèi)的固定相隔距離為0。
4.如權(quán)利要求
2所述的直接存儲(chǔ)器存取傳輸方法,其中該指標(biāo)值表示該分散模式時(shí),該偏移值定義該多個(gè)數(shù)據(jù)位線于目的存儲(chǔ)器內(nèi)的固定相隔距離,而該多個(gè)數(shù)據(jù)位線于該來(lái)源存儲(chǔ)器內(nèi)的固定相隔距離為0。
5.如權(quán)利要求
1所述的直接存儲(chǔ)器存取傳輸方法,還包含分別將接收的該多個(gè)參數(shù)存儲(chǔ)至專用的寄存器。
6.如權(quán)利要求
1所述的直接存儲(chǔ)器存取傳輸方法,其中該停止的步驟還包含當(dāng)每一條該多個(gè)數(shù)據(jù)位線傳輸完畢時(shí),遞減該計(jì)數(shù)值直到等于0為止。
7.一種直接存儲(chǔ)器存取傳輸方法,用以自一來(lái)源存儲(chǔ)器傳輸數(shù)據(jù)塊至一目的存儲(chǔ)器,包含接收一來(lái)源地址值,用以定義該來(lái)源存儲(chǔ)器的起始位置;接收一目的地址值,用以定義該目的存儲(chǔ)器的起始位置;接收一位線尺寸值,用以定義每一條數(shù)據(jù)位線所包含的數(shù)據(jù)單位的數(shù)量,其中每一條該數(shù)據(jù)位線包含多個(gè)連續(xù)的數(shù)據(jù)單位;接收一位線計(jì)數(shù)值,用以定義一數(shù)據(jù)塊包含的該多個(gè)數(shù)據(jù)位線的數(shù)量,其中該數(shù)據(jù)塊包含多個(gè)連續(xù)傳輸?shù)脑摱鄠€(gè)數(shù)據(jù)位線;接收一位線偏移值,用以定義該數(shù)據(jù)塊內(nèi)兩個(gè)連續(xù)傳輸?shù)脑摱鄠€(gè)數(shù)據(jù)位線間的固定相隔距離;接收一塊計(jì)數(shù)值,用以定義自該來(lái)源存儲(chǔ)器至該目的存儲(chǔ)器所傳輸?shù)脑摱鄠€(gè)數(shù)據(jù)塊的數(shù)量;接收一塊偏移值,用以定義兩個(gè)連續(xù)傳輸?shù)脑摱鄠€(gè)數(shù)據(jù)塊間的固定相隔距離;根據(jù)該來(lái)源地址值、該目的地址值、該塊計(jì)數(shù)值與該塊偏移值,自該來(lái)源存儲(chǔ)器每次傳輸一個(gè)該數(shù)據(jù)塊的數(shù)據(jù)至該目的存儲(chǔ)器,其中該多個(gè)數(shù)據(jù)塊根據(jù)該位線計(jì)數(shù)值與該位線偏移值,每次傳輸一條該數(shù)據(jù)位線;以及當(dāng)該多個(gè)數(shù)據(jù)塊全部傳輸完畢時(shí),停止該直接存儲(chǔ)器存取傳輸;其中該多個(gè)數(shù)據(jù)塊的每一個(gè)皆具有相同的該位線尺寸值與該位線計(jì)數(shù)值。
8.如權(quán)利要求
7所述的直接存儲(chǔ)器存取傳輸方法,還包含當(dāng)每一個(gè)該多個(gè)數(shù)據(jù)塊傳輸完畢時(shí),重設(shè)該位線計(jì)數(shù)值至原始所接收的值。
9.如權(quán)利要求
7所述的直接存儲(chǔ)器存取傳輸方法,還包含接收一指標(biāo)值,用以表示該直接存儲(chǔ)器存取傳輸?shù)哪J?,其中該操作模式選自下列模式一正常模式,一分散模式與一聚集模式。
10.如權(quán)利要求
9所述的直接存儲(chǔ)器存取傳輸方法,其中該指標(biāo)值表示該聚集模式時(shí),該偏移值定義該多個(gè)數(shù)據(jù)位塊于來(lái)源存儲(chǔ)器內(nèi)的固定相隔距離,而該多個(gè)數(shù)據(jù)塊于該目的存儲(chǔ)器內(nèi)的固定相隔距離為0。
11.如權(quán)利要求
9所述的直接存儲(chǔ)器存取傳輸方法,其中該指標(biāo)值表示該分散模式時(shí),該偏移值定義該多個(gè)數(shù)據(jù)塊于目的存儲(chǔ)器內(nèi)的固定相隔距離,而該多個(gè)數(shù)據(jù)塊于該來(lái)源存儲(chǔ)器內(nèi)的固定相隔距離為0。
12.如權(quán)利要求
7所述的直接存儲(chǔ)器存取傳輸方法,其中該終止的步驟還包含當(dāng)每一個(gè)該數(shù)據(jù)塊傳輸完畢時(shí),遞減該塊計(jì)數(shù)值直到等于0為止。
13.如權(quán)利要求
7所述的直接存儲(chǔ)器存取傳輸方法,還包含分別將接收的該多個(gè)參數(shù)存儲(chǔ)至專用的寄存器。
14.一種直接存儲(chǔ)器存取控制器,包含一存儲(chǔ)邏輯單元,用以存儲(chǔ)一數(shù)據(jù)傳輸?shù)亩鄠€(gè)傳輸參數(shù);以及一控制邏輯單元,用以根據(jù)該多個(gè)傳輸參數(shù),控制自一來(lái)源存儲(chǔ)器至一目的存儲(chǔ)器的該數(shù)據(jù)傳輸;其中該多個(gè)傳輸參數(shù)包含地址值用以定義數(shù)據(jù)的位置,一尺寸值用以定義一條數(shù)據(jù)位線的數(shù)據(jù)單位數(shù)量,一位線計(jì)數(shù)值用以定義該數(shù)據(jù)傳輸所包含的數(shù)據(jù)位線總數(shù)量,其中每一條該位線包含連續(xù)的多個(gè)數(shù)據(jù)單位。
15.如權(quán)利要求
14所述的直接存儲(chǔ)器存取控制器,其中該存儲(chǔ)邏輯單元包含一地址寄存器,用以存儲(chǔ)該地址值;一尺寸寄存器,用以存儲(chǔ)該尺寸值;一位線計(jì)數(shù)寄存器,用以存儲(chǔ)該位線計(jì)數(shù)值;以及一位線偏移值寄存器,用以存儲(chǔ)該位線偏移值;其中該地址值包含一來(lái)源地址,用以定義該來(lái)源存儲(chǔ)器的起始位置,以及一目的地址,用以定義該目的存儲(chǔ)器的起始位置。
16.如權(quán)利要求
15所述的直接存儲(chǔ)器存取控制器,其中該控制邏輯單元包括一地址控制邏輯模塊,用以根據(jù)該來(lái)源地址與該目的地址,于該來(lái)源存儲(chǔ)器與該目的存儲(chǔ)器內(nèi)定位數(shù)據(jù);一位線計(jì)數(shù)控制邏輯模塊,用以于該多個(gè)數(shù)據(jù)位線被傳輸?shù)臄?shù)量相等于該位線計(jì)數(shù)值時(shí),停止該數(shù)據(jù)傳輸;以及一位線偏移控制模塊,用以根據(jù)該位線偏移值,于該來(lái)源存儲(chǔ)器與該目的存儲(chǔ)器內(nèi)每次存取一條該數(shù)據(jù)位線。
17.如權(quán)利要求
14所述的直接存儲(chǔ)器存取控制器,其中該多個(gè)傳輸參數(shù)還包含一指標(biāo)值,用以表示一操作模式;其中該操作模式選自于下列模式一正常模式、一分散模式與一聚集模式。
18.如權(quán)利要求
17所述的直接存儲(chǔ)器存取控制器,其中該指標(biāo)值為該聚集模式時(shí),該位線偏移控制模塊根據(jù)該位線偏移值,連續(xù)地將該多個(gè)數(shù)據(jù)位線移出該來(lái)源存儲(chǔ)器。
19.如權(quán)利要求
17所述的直接存儲(chǔ)器存取控制器,其中該指標(biāo)值為該分散模式時(shí),該位線偏移控制模塊根據(jù)該位線偏移值,連續(xù)地將該多個(gè)數(shù)據(jù)位線置入該目的存儲(chǔ)器。
20.一種直接存儲(chǔ)器存取控制器,包含一存儲(chǔ)邏輯單元,用以存儲(chǔ)一數(shù)據(jù)傳輸?shù)亩鄠€(gè)傳輸參數(shù);以及一控制邏輯單元,用以根據(jù)該多個(gè)傳輸參數(shù),控制自一來(lái)源存儲(chǔ)器至一目的存儲(chǔ)器的該數(shù)據(jù)傳輸;其中該多個(gè)傳輸參數(shù)包含地址值用以定義數(shù)據(jù)于來(lái)源存儲(chǔ)器與目的存儲(chǔ)器內(nèi)的位置;一尺寸值用以定義一數(shù)據(jù)位線的數(shù)據(jù)單位數(shù)量;一位線計(jì)數(shù)值用以定義一數(shù)據(jù)塊所包含的該多個(gè)數(shù)據(jù)位線數(shù)量;一位線偏移值用以定義該數(shù)據(jù)塊內(nèi)兩個(gè)連續(xù)傳輸?shù)脑摱鄠€(gè)數(shù)據(jù)位線間的固定相隔距離;一塊計(jì)數(shù)值用以定義欲傳輸?shù)脑摱鄠€(gè)數(shù)據(jù)塊數(shù)量;以及一塊偏移值用以定義兩個(gè)連續(xù)傳輸?shù)脑摱鄠€(gè)數(shù)據(jù)塊間的固定相隔距離;其中每一個(gè)該多個(gè)數(shù)據(jù)塊的該位線計(jì)數(shù)值與該位線尺寸值相等。
21.如權(quán)利要求
20所述的直接存儲(chǔ)器存取控制器,其中該存儲(chǔ)邏輯單元包含一地址寄存器,用以存儲(chǔ)該地址值;一尺寸寄存器,用以存儲(chǔ)該尺寸值;一位線計(jì)數(shù)寄存器,用以存儲(chǔ)該位線計(jì)數(shù)值;一位線偏移值寄存器,用以存儲(chǔ)該位線偏移值;一塊計(jì)數(shù)寄存器,用以存儲(chǔ)該塊計(jì)數(shù)值;以及一塊偏移寄存器,用以存儲(chǔ)該塊偏移值;其中該地址值包含一來(lái)源地址,用以定義該來(lái)源存儲(chǔ)器的起始位置,以及一目的地址,用以定義該目的存儲(chǔ)器的起始位置。
22.如權(quán)利要求
21所述的直接存儲(chǔ)器存取控制器,其中該控制邏輯單元包括一地址控制邏輯模塊,用以根據(jù)該來(lái)源地址與該目的地址,于該來(lái)源存儲(chǔ)器與該目的存儲(chǔ)器內(nèi)定位數(shù)據(jù);一位線計(jì)數(shù)控制邏輯模塊,用以于每一個(gè)該多個(gè)數(shù)據(jù)塊的該多個(gè)數(shù)據(jù)位線被傳輸?shù)臄?shù)量相等于該位線計(jì)數(shù)值時(shí),重設(shè)該多個(gè)數(shù)據(jù)塊的傳輸;一位線偏移控制模塊,用以根據(jù)該位線偏移值,于該來(lái)源存儲(chǔ)器與該目的存儲(chǔ)器內(nèi)一次傳輸一條該數(shù)據(jù)位線來(lái)存取每一個(gè)該多個(gè)數(shù)據(jù)塊;一塊計(jì)數(shù)控制模塊,用以于被傳輸?shù)脑摱鄠€(gè)數(shù)據(jù)塊的數(shù)量相等于該塊計(jì)數(shù)值時(shí),停止數(shù)據(jù)傳輸;以及一塊偏移值控制模塊,用以根據(jù)該塊偏移值,于該來(lái)源存儲(chǔ)器與該目的存儲(chǔ)器連續(xù)地存取該多個(gè)數(shù)據(jù)塊。
23.如權(quán)利要求
20所述的直接存儲(chǔ)器存取控制器,其中該多個(gè)傳輸參數(shù)還包含一指標(biāo)值,用以表示一操作模式;其中該操作模式選自于下列模式一正常模式、一分散模式與一聚集模式。
24.如權(quán)利要求
23所述的直接存儲(chǔ)器存取控制器,其中該指標(biāo)值為該聚集模式時(shí),該塊偏移控制模塊根據(jù)該塊偏移值,連續(xù)地將該多個(gè)數(shù)據(jù)塊移出該來(lái)源存儲(chǔ)器,且對(duì)應(yīng)將該多個(gè)數(shù)據(jù)塊連續(xù)且無(wú)間隔地置入該目的存儲(chǔ)器。
25.如權(quán)利要求
23所述的直接存儲(chǔ)器存取控制器,其中該指標(biāo)值為該分散模式時(shí),該塊偏移控制模塊連續(xù)且無(wú)間隔地將該多個(gè)數(shù)據(jù)塊移出該來(lái)源存儲(chǔ)器,并根據(jù)該塊偏移值,連續(xù)地將該多個(gè)數(shù)據(jù)塊對(duì)應(yīng)置入該目的存儲(chǔ)器。
專利摘要
本發(fā)明關(guān)于一種可自一來(lái)源存儲(chǔ)器至一目的存儲(chǔ)器執(zhí)行一分散/聚集直接存儲(chǔ)器存取的系統(tǒng)與方法。本發(fā)明的方法包含接收地址數(shù)值以定義來(lái)源存儲(chǔ)器與目的存儲(chǔ)器的起始地址;接收一尺寸值以定義一數(shù)據(jù)位線的位單位數(shù)量;接收一計(jì)數(shù)值以定義自來(lái)源存儲(chǔ)器自目的存儲(chǔ)器欲傳輸?shù)臄?shù)據(jù)位線數(shù)量,其中每一數(shù)據(jù)位線包含連續(xù)的多個(gè)數(shù)據(jù)單位;接收一偏移值以定義連續(xù)傳輸?shù)膬蓷l數(shù)據(jù)位線之間的固定相隔距離;根據(jù)來(lái)源存儲(chǔ)器地址、目的存儲(chǔ)器地址、尺寸值、計(jì)數(shù)值與偏移值,自來(lái)源存儲(chǔ)器每次傳輸一數(shù)據(jù)位線至目的存儲(chǔ)器;以及當(dāng)直接存儲(chǔ)器存取的所有數(shù)據(jù)位線傳輸完畢后,停止該傳輸。
文檔編號(hào)G06F13/28GK1991809SQ200610168553
公開(kāi)日2007年7月4日 申請(qǐng)日期2006年12月19日
發(fā)明者伊沃·圖西克 申請(qǐng)人:威盛電子股份有限公司導(dǎo)出引文BiBTeX, EndNote, RefMan