日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

可執(zhí)行分散/聚集直接存儲器存取的系統(tǒng)與方法

文檔序號:6564440閱讀:260來源:國知局
專利名稱:可執(zhí)行分散/聚集直接存儲器存取的系統(tǒng)與方法
技術(shù)領(lǐng)域
本發(fā)明關(guān)于一種可實現(xiàn)直接存儲器存取的系統(tǒng)與方法,特別是關(guān)于一種分散/聚集直接存儲器存取的傳輸系統(tǒng)與方法。
背景技術(shù)
直接存儲器傳輸為一常用的技術(shù),在直接存儲器傳輸中,數(shù)據(jù)自一存儲器直接傳輸至另一存儲器,而不須經(jīng)過處理器或其他中間仲介裝置。舉例如圖1所示,其是表示一計算機(jī)系統(tǒng)的部分元件的結(jié)構(gòu)圖。在本實施例的系統(tǒng)10中,兩個分隔的存儲器12與14連接至一系統(tǒng)總線15,該系統(tǒng)總線15亦連接至一處理器16。通常數(shù)據(jù)自其中一個存儲器傳輸至另一存儲器。
舉例而言,假設(shè)存儲器12中的一批數(shù)據(jù)目欲傳輸至存儲器14,可影響該傳輸?shù)囊环N方式為由處理器16來執(zhí)行該批數(shù)據(jù)目的讀取,以將該批數(shù)據(jù)目自存儲器12傳輸至處理器16。因此,處理器16可將該數(shù)據(jù)目寫入存儲器14的特定位置。雖然該種方法對傳輸單一個數(shù)據(jù)目或少量的數(shù)據(jù)目來說為可行的,但通常的情況是自一存儲器搬移一整個數(shù)據(jù)塊至另一存儲器。利用直接存儲器存取即可大大提升該種數(shù)據(jù)傳輸,以減少需通過處理器多次搬移數(shù)據(jù)的需要。
在直接存儲器存取傳輸中,自一第一存儲器搬移數(shù)據(jù)至一第二存儲器的操作由直接存儲器存取控制器20來控制。處理器16或其他合適的邏輯電路通常通過類型(組態(tài))設(shè)定直接存儲器存取控制器20來起始一個數(shù)據(jù)傳輸。在簡單的直接存儲器存取傳輸中,類型設(shè)定的內(nèi)容包括來源存儲器12的起始地址,目的存儲器14的起始地址,以及欲傳輸?shù)臄?shù)據(jù)數(shù)量。典型的直接存儲器存取控制器包含控制寄存器22,用以存儲處理器16的類型設(shè)定。當(dāng)設(shè)定完成后,直接存儲器存取控制器20提供必須的控制信號至存儲器12與14,并藉該控制存儲器12與14之間的傳輸。如標(biāo)號19所示,當(dāng)該直接存儲器存取傳輸開始后,數(shù)據(jù)即可有效地從來源存儲器12傳輸至目的存儲器14。當(dāng)然,數(shù)據(jù)經(jīng)過總線15傳輸,而其他數(shù)據(jù)傳輸亦可能暫停。舉例而言,處理器16可讀取或?qū)懭胫疗渌罱又量偩€15的存儲器。為達(dá)該目的,通常會加上仲裁邏輯單元18以排序與控制通過總線15的傳輸,以避免總線上的沖突。
由于直接存儲器存取與總線仲裁運(yùn)作為熟知的技術(shù),在此將不贅述。
除了自來源存儲器至目的存儲器的單一數(shù)據(jù)塊的傳輸?shù)?,此類的基本直接存儲器存取運(yùn)作之外,其他較復(fù)雜的直接存儲器存取亦為熟知技術(shù)。例如聚集直接存儲器存取,其將來源存儲器的多個分散的數(shù)據(jù)塊傳輸至目的存儲器的連續(xù)位置,如圖2A所示。來源存儲器12中包含位置相異且大小不一的數(shù)據(jù)塊32、34、36與38傳輸至目的存儲器14后,存放于單一的相鄰的連續(xù)位置。另一種為分散直接存儲器存取,如圖2B所表示。于分散直接存儲器存取傳輸中,來源存儲器的多個連續(xù)的數(shù)據(jù)塊42、44、46與48傳輸至目的存儲器的多個分散與相異的位置。如其名稱所示,當(dāng)數(shù)據(jù)寫入目的存儲器14時,被分散放置。前述的分散/聚集等詞與于本發(fā)明中用以指稱直接存儲器存取為分散或聚集模式。
雖然圖2A與圖2B所示的分散與聚集直接存儲器存取,將來源存儲器的分散數(shù)據(jù)存入目的存儲器的連續(xù)位置,或?qū)碓创鎯B續(xù)數(shù)據(jù)存放至目的存儲器的分散地址,其他形式的分散/聚集直接存儲器存取可將來源存儲器的不連續(xù)數(shù)據(jù)移至目的存儲器的不連續(xù)位置。該類的分散或聚集直接存儲器存取運(yùn)作通常需要直接存儲器控制器20更復(fù)雜的類型設(shè)定與運(yùn)作,依此考慮,直接存儲器控制器20會使用對照表,連結(jié)清單或其他形式以將來源數(shù)據(jù)塊對應(yīng)于目的數(shù)據(jù)塊的合適位置。
由上所述可知,提供一種可更有效更經(jīng)濟(jì)地執(zhí)行分散/聚集直接存儲器傳輸?shù)南到y(tǒng)與方法,實為一待解決的課題。

發(fā)明內(nèi)容
本發(fā)明提供一種自一來源存儲器至一目的存儲器執(zhí)行直接存儲器存取傳輸?shù)南到y(tǒng)與方法。本發(fā)明的一實施例關(guān)于一種數(shù)據(jù)位線的直接存儲器傳輸方法,包含接收一來源地址以定義來源存儲器的起始位置;接收目的地址以定義目的存儲器的起始位置;接收一尺寸值一定義一數(shù)據(jù)位線的數(shù)據(jù)單位數(shù)量;接收一計數(shù)值以定義自來源存儲器傳輸至目的存儲器傳輸?shù)臄?shù)據(jù)位線數(shù)量,其中每一數(shù)據(jù)位線包含多個連續(xù)的數(shù)據(jù)單位;接收一偏移值以定義兩連續(xù)傳輸?shù)臄?shù)據(jù)位線間的固定相隔距離;根據(jù)來源地址值、目的地址值、尺寸值、計數(shù)值與偏移值,自來源存儲器至目的存儲器間一次傳輸一條數(shù)據(jù)位線,當(dāng)所有數(shù)據(jù)位線傳輸完畢后,停止該直接存儲器存取傳輸。
本發(fā)明的另一實施例提供一種數(shù)據(jù)塊的直接存儲器存取傳輸方法,該方法包含接收一來源地址以定義來源存儲器的起始位置;接收目的地址以定義目的存儲器的起始位置;接收一位線尺寸值以定義一數(shù)據(jù)位線的數(shù)據(jù)單位數(shù)量,其中每一數(shù)據(jù)位線包含多個連續(xù)的數(shù)據(jù)單位;接收一位線計數(shù)值以定義一數(shù)據(jù)塊的數(shù)據(jù)位線數(shù)量,其中每一數(shù)據(jù)塊包含多個連續(xù)傳輸?shù)臄?shù)據(jù)位線;接收一位線偏移值以定義一數(shù)據(jù)塊中兩個連續(xù)傳輸?shù)臄?shù)據(jù)位線間的固定相隔距離;接收一塊計數(shù)值以定義自來源存儲器至目的存儲器所傳輸?shù)臄?shù)據(jù)塊數(shù)量;接收一塊偏移值以定義兩個連續(xù)傳輸?shù)臄?shù)據(jù)塊間的固定相隔位置;根據(jù)來源地址、目的地址、塊計數(shù)值與塊偏移值,自來源存儲器至目的存儲器間一次傳輸一數(shù)據(jù)塊,其中每一數(shù)據(jù)塊根據(jù)位線計數(shù)值與位線偏移值,一次傳輸一條數(shù)據(jù)位線來進(jìn)行傳輸;當(dāng)所有數(shù)據(jù)位線傳輸完畢后,停止該直接存儲器存取傳輸。于本實施例中每一數(shù)據(jù)塊的位線尺寸值與位線計數(shù)值相等。
本發(fā)明的又一實施例提供一種用于傳輸數(shù)據(jù)位線的直接存儲器存取控制器,包含一存儲單元用以存儲與數(shù)據(jù)傳輸相關(guān)的多個傳輸參數(shù),以及一控制單元用以根據(jù)該多個傳輸參數(shù)控制來源存儲器與目的存儲器間的數(shù)據(jù)傳輸。其中傳輸參數(shù)包括用以定義數(shù)據(jù)于來源存儲器與目的存儲器內(nèi)的起始位置的地址值,用以定義數(shù)據(jù)位線的數(shù)據(jù)單位數(shù)量的尺寸值,用以定義數(shù)據(jù)位線數(shù)量的位線計數(shù)值,以及用以定義兩個連續(xù)傳輸?shù)臄?shù)據(jù)位線間相隔距離的位線偏移值。本實施例的每一數(shù)據(jù)位線包含相同數(shù)量的數(shù)據(jù)單位。
本發(fā)明的再一實施例提供一種用于傳輸數(shù)據(jù)塊的直接存儲器存取控制器,包含一存儲單元用以存儲與數(shù)據(jù)傳輸相關(guān)的多個傳輸參數(shù),以及一控制單元用以根據(jù)該多個傳輸參數(shù)控制來源存儲器與目的存儲器間的數(shù)據(jù)傳輸。其中該多個傳輸參數(shù)包括用以定義數(shù)據(jù)于來源存儲器與目的存儲器內(nèi)的位置的地址值,用以定義一數(shù)據(jù)位線包含的數(shù)據(jù)單位數(shù)量的位線尺寸值,用以定義一數(shù)據(jù)塊包含的數(shù)據(jù)位線數(shù)量的位線計數(shù)值,用以定義一數(shù)據(jù)塊內(nèi)兩個連續(xù)傳輸?shù)臄?shù)據(jù)位線間固定相隔距離的位線偏移值,用以定義欲傳輸?shù)臄?shù)據(jù)塊數(shù)量的塊計數(shù)值,用以定義兩個連續(xù)傳輸?shù)臄?shù)據(jù)塊間固定相隔距離的塊偏移值。本實施例的每一數(shù)據(jù)塊的位線計數(shù)值與位線偏移值為相等。
本發(fā)明亦包含其他可實現(xiàn)分散/聚集直接存儲器存取傳輸?shù)南到y(tǒng)與方法。


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