TWI764311B - 記憶體存取方法及智慧處理裝置 - Google Patents
記憶體存取方法及智慧處理裝置Info
- Publication number
- TWI764311B TWI764311B TW109134985A TW109134985A TWI764311B TW I764311 B TWI764311 B TW I764311B TW 109134985 A TW109134985 A TW 109134985A TW 109134985 A TW109134985 A TW 109134985A TW I764311 B TWI764311 B TW I764311B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- memory
- length
- address
- read
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 230000004044 response Effects 0.000 claims abstract description 7
- 230000005540 biological transmission Effects 0.000 claims description 44
- 238000010586 diagram Methods 0.000 description 12
- 230000003068 static effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Landscapes
- Image Input (AREA)
- Storage Device Security (AREA)
Abstract
本發明提供一種智慧處理裝置,包含處理器及直接記憶體存取控制器。處理器產生讀取指令以自記憶體讀取資料。位址產生電路根據第一配置參數及讀取指令產生多個第一位址訊號至記憶體。資料處理電路接收記憶體響應多個第一位址訊號所輸出的資料,並根據讀取指令及第一配置參數對接收自記憶體的資料進行資料截取處理。資料埠將資料處理電路處理過的資料輸出至處理器。多個第一位址訊號中包含多個不連續的位址訊號,使據以自記憶體讀出的資料經資料處理電路處理後對應n維資料區塊,n為大於1的正整數。
Description
本發明是關於記憶體存取技術,尤其是關於一種記憶體存取方法及智慧處理裝置。
現在,諸如智慧手機、個人計算機等電子設備都包含記憶體,例如隨機存取記憶體(Random Access Memory;RAM),記憶體用於儲存資料。電子設備存取記憶體上儲存的資料時,通常都是依序進行存取的,也即依次存取記憶體上的連續位址,存取模式單一,記憶體的傳輸效率和靈活性不高。
鑑於先前技術的問題,本發明之一目的在於提供一種記憶體存取方法及智慧處理裝置,以改善先前技術。
本發明包含一種記憶體存取方法,應用於智慧處理裝置,其中包含:確定記憶體存取模式;根據記憶體存取模式擷取資料位元長度參數,資料位元長度參數包含資料讀寫位元長度、資料傳輸位元長度;擷取記憶體空間的記憶體存取參數,記憶體存取參數包含資料傳輸長度、位址跳轉長度;以及根據資料讀寫位元長度、資料傳輸位元長度、資料傳輸長度、位址跳轉長度對記憶體空間進行存取。
本發明另包含一種智慧處理裝置,其中包含:處理器,產生讀取指令以自記憶體讀取資料;以及直接記憶體存取控制器,依據讀取指令自記憶體讀取資料,直接記憶體存取控制器包含:配置單元,根據第一操作模式提供第一配置參數;訊號埠,接收讀取指令;位址產生電路,根據第一配置參數及讀取指令產生複數第一位址訊號至記憶體;資料處理電路,接收記憶體響應第一位址訊號所輸出的資料,並根據讀取指令及第一配置參數對接收自記憶體的資料進行資料截取處理;以及資料埠,將資料處理電路處理過的資料輸出至處理器;其中,第一位址訊號中包含複數不連續的位址訊號,使據以自記憶體讀出的資料經資料處理電路處理後對應n維資料區塊,n為大於1的正整數。
本發明更包含一種記憶體存取方法,應用於智慧處理裝置,智慧處理裝置包含處理器,記憶體存取方法包含:接收來自處理器的讀取指令,用以自記憶體讀取資料;根據第一操作模式提供第一配置參數;根據第一配置參數及讀取指令產生複數第一位址訊號至記憶體;以及接收記憶體響應第一位址訊號所輸出的資料,並根據讀取指令及第一配置參數對接收自記憶體的資料進行資料截取處理,以輸出至處理器;其中,第一位址訊號中包含複數不連續的位址訊號,使據以自記憶體讀出的資料經資料處理電路處理後對應n維資料區塊,n為大於1的正整數。
有關本案的特徵、實作與功效,茲配合圖式作較佳實施例詳細說明如下。
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述。顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域技術人員在沒有付出進步性勞動前提下所獲得的所有其他實施例,都屬於本發明的保護範圍。
請參照圖1。圖1顯示本發明之一實施例中,應用於一電子設備的晶片的結構示意圖。晶片10包含智慧處理器(Intelligent Processing Unit;IPU)11、中央處理器(Central Processing Unit;CPU)12以及記憶體13。智慧處理器11用於進行資料處理,例如進行圖像資料處理、影像資料處理、語音資料處理等。中央處理器12可以用於運作電子設備的作業系統,以及進行資料運算。記憶體13包含記憶體空間,該記憶體空間可以用於儲存資料,例如儲存圖像資料、語音資料等,還可以用於儲存智慧處理器11、中央處理器12在運作過程中產生的資料。
在一實施例中,智慧處理器11中整合有直接記憶體存取控制器(Direct Memory Access controller;DMA controller),智慧處理器11通過該直接記憶體存取控制器對記憶體13進行存取。該直接記憶體存取控制器可以控制對該記憶體13上儲存的資料進行存取或搬移,例如控制將資料從一個儲存空間搬移至另一個儲存空間,或者控制將資料從記憶體13搬移至另一個記憶體(諸如內部記憶體)。
該記憶體13可以包含多種類型的記憶體,例如隨機存取記憶體(Random Access Memory;RAM)、靜態隨機存取記憶體(Static Random-Access Memory;SRAM)、動態隨機存取記憶體(Dynamic Random Access Memory; DRAM)等。
請參照圖2。圖2顯示本發明之一實施例中,智慧處理裝置的方塊示意圖。智慧處理裝置111可對應為圖1的智慧處理器11,並包含智慧處理器核心(IPU core)110及直接記憶體存取控制器14,智慧處理器核心110可視為智慧處理裝置111內的處理器。操作上,智慧處理器核心110經由直接記憶體存取控制器14存取記憶體13內的資料。
請參照圖3。圖3顯示本發明之一實施例中,記憶體存取方法的第一種流程示意圖。此實施例中是藉由智慧處理裝置111來實現此記憶體存取方法,記憶體存取方法各步驟將於下面進行詳細說明。
步驟210中,確定記憶體存取模式。直接記憶體存取控制器14中預先設置有多種記憶體存取模式,亦即多種操作模式,每種記憶體存取模式對應一組配置參數,直接記憶體存取控制器14是根據配置參數進行運作。例如,可以預先設置非位元組存取模式、位元組存取模式。對於每一種記憶體存取模式,可以設置對應的模式訊息,模式訊息可記錄於暫存器中,模式訊息例如可以包含存取模式指令代碼byte_mode。例如,記憶體存取模式為非位元組存取模式時,byte_mode可以配置為0;記憶體存取模式為位元組存取模式時,byte_mode可以配置為1。
在一實施例中,直接記憶體存取控制器14中還可以設置記憶體存取形式的模式訊息,例如存取形式指令代碼extract_mode。Extract_mode=0表示順序位址存取形式,extract_mode=1表示跳轉位址存取形式。直接記憶體存取控制器14在開始執行記憶體存取時,可以首先擷取記憶體存取形式的模式訊息。當擷取到的記憶體存取形式模式訊息為extract_mode=0,則按照普通的順序位址存取形式存取記憶體13,在此模式下,位址產生電路142會對應產生複數連續的位址訊號以存取記憶體13。當擷取到的記憶體存取形式模式訊息為extract_mode=1時,則按照跳轉位址存取形式存取該記憶體13,在此模式下,位址產生電路142會對應產生複數位址訊號以存取記憶體13,且這些位址訊號包含複數不連續的位址訊號。在此實施例中,記憶體存取模式的模式訊息及記憶體存取形式的模式訊息決定了直接記憶體存取控制器14的操作模式,並確定了對應的配置參數,直接記憶體存取控制器14再根據配置參數進行運作。實施上,直接記憶體存取控制器14內具有配置單元141,配置單元141根據當下的操作模式提供對應的配置參數,也就是說,配置單元141可根據記憶體存取模式及記憶體存取形式的模式訊息提供對應的配置參數。
一實施例中,配置參數可包含資料位元長度參數、資料傳輸長度、及位址跳轉長度等參數。資料位元長度參數包含資料讀寫位元長度、資料傳輸位元長度等訊息。資料讀寫位元長度表示讀寫資料線的位元長度,資料傳輸位元長度表示在存取記憶體13時進行資料傳輸時的位元長度。
例如,對於非位元組存取模式,資料讀寫位元長度及資料傳輸位元長度均配置為m位元組;對於位元組存取模式,資料讀寫位元長度配置為m位元組,而資料傳輸位元長度配置為1位元組,其中,m為大於1的整數。
實施上,資料傳輸長度可以包含1個參數,也可以包含1組參數。同樣地,位址跳轉長度可以包含1個參數,或1組參數。在一實施例中,資料傳輸長度包含l
0,其表示一次傳輸的資料長度;位址跳轉長度包含s
0,其表示對該記憶體空間的一次存取與下一次存取之間需要跳轉的位址長度,l
0、s
0均為正整數。
步驟220中,根據配置參數及讀取指令產生複數位址訊號。當智慧處理器核心110欲讀取記憶體13內的資料時,智慧處理器核心110產生一讀取指令至直接記憶體存取控制器14的訊號埠144,訊號埠144將接收的讀取指令譯碼後傳輸到位址產生電路142。位址產生電路142根據配置單元141提供的配置參數及讀取指令,產生複數位址訊號,並將這些位址訊號輸出到記憶體13,以於記憶體13中讀取對應的資料。
當記憶體存取形式模式訊息為extract_mode=1時且操作於非位元組存取模式時,位址產生電路142所產生的複數位址訊號中包含複數不連續的位址訊號,以於記憶體13讀出對應一n維資料區塊的資料,n為大於1的正整數。詳細的細節說明如下。
實施上,位址產生電路142基於資料讀寫位元長度、資料傳輸位元長度、資料傳輸長度、及位址跳轉長度等參數,再根據讀取指令產生對應的複數位址訊號。
在一些實施例中,請參照圖4。圖4顯示本發明之一實施例中,記憶體存取方法的第一種應用場景示意圖。記憶體13的記憶體空間所儲存的資料可對應一二維空間(panel)。此二維空間包含l
1個一維線(line),一維線的資料長度為l
0。直接記憶體存取控制器14每一次對此類記憶體空間進行讀取操作或者寫入操作時,位址產生電路142產生一對應的位址訊號以對一個該一維線進行存取。此例中,資料傳輸長度包含l
0、l
1,其即為1組參數。而位址跳轉長度包含s
0,其表示每個一維線的結束位址與下一個一維線的起始位址之間的位址差值,l
0、l
1、s
0均為正整數。進而,每個一維線與下一個一維線之間跳轉s
0位元組位址進行存取。藉由複數對應的位址訊號完成對l
1個一維線的存取後,即可完成此二維空間的存取。
在另一實施例中,一並請參照圖5。圖5顯示本發明之一實施例中,記憶體存取方法的第二種應用場景示意圖。記憶體13的記憶體空間所儲存的資料可對應一三維空間(map)。該三維空間包含l
2個如圖4所示的二維空間。此例中,資料傳輸長度還包含l
2,而位址跳轉長度還包含s
1。其中,s
1表示每個二維空間的結束位址與下一個二維空間的起始位址之間的位址差值,l
2、s
1均為正整數。詳細來說,每當讀取到一二維空間的結束位址時,位址產生電路142即會根據s
1來產生下一個位址訊號,進而,每個二維空間與下一個二維空間之間跳轉s
1位元組位址進行存取。藉由複數對應的位址訊號完成對該l
2個二維空間的存取後,即可完成該三維空間的存取。
在一實施例中,請同時參照圖6和圖7。圖6顯示本發明之一實施例中,記憶體存取方法的第三種應用場景示意圖。圖7顯示本發明之一實施例中,記憶體存取方法的第四種應用場景示意圖。當操作於非位元組存取模式,例如byte_mode=0時,資料讀寫位元長度及資料傳輸位元長度均為m位元組。此時,根據資料傳輸長度、位址跳轉長度以資料讀寫位元長度為單位對記憶體空間進行讀取操作,並根據資料傳輸長度以資料傳輸位元長度為單位對該讀取操作讀取到的資料進行傳輸,直接記憶體存取控制器14對該記憶體空間進行讀取操作時,每一次讀取一個一維線長度l
0,每讀取一個一維線後跳轉s
0位址至下一個一維線進行讀取。因此,每一次讀取記憶體空間中的l
0×m位元組,每一次讀取l
0×m位元組後跳轉s
0×m位元組位址進行下一次讀取。此外,每一次讀取l
0×m位元組後,對l
0×m位元組進行傳輸。
直接記憶體存取控制器14對該記憶體空間進行寫入操作時,每一次對一個一維線長度l
0的資料進行傳輸,並寫入一個一維線長度l
0,每寫入一個一維線後跳轉s
0位址至下一個一維線進行寫入。因此,每一次對l
0×m位元組進行傳輸並寫入該記憶體空間的l
0×m位元組位址中,並且每一次寫入l
0×m位元組後跳轉s
0×m位元組位址進行下一次寫入。
步驟230中,根據配置參數及讀取指令對接收自記憶體的資料進行資料截取或補齊處理。資料處理電路143接收記憶體13響應位址產生電路142所產生的複數位址訊號所輸出的資料,並根據配置參數及讀取指令對接收自記憶體的資料進行資料截取或補齊處理。經資料處理電路143處理後的資料可藉由資料埠145輸出至智慧處理器核心110。
在一實施例中,請同時參照圖8和圖9。圖8顯示本發明之一實施例中,記憶體存取方法的第五種應用場景示意圖。圖9顯示本發明之一實施例中,記憶體存取方法的第六種應用場景示意圖。當操作於位元組存取模式,例如byte_mode=1時,資料讀寫位元長度為m位元組,資料傳輸位元長度為1位元組。當直接記憶體存取控制器14接收到智慧處理器核心110發出的讀取指令,直接記憶體存取控制器14藉由位址產生電路142所產生的位址訊號,每一次讀取該記憶體空間中的m位元組,每一次讀取m位元組後跳轉s
0位元組位址進行下一次讀取。每一次讀取m位元組後,即記憶體13響應位址訊號輸出m位元組資料到直接記憶體存取控制器14,資料處理電路143從讀取到的每一m位元組中截取連續的l
0位元組,並將l
0位元組藉由資料埠145輸出至智慧處理器核心110,可以理解的,此時l
0小於m。由於資料讀寫位元長度與資料傳輸位元長度不同,因此在進行資料傳輸時,需要藉由資料處理電路143對每一次讀取到的m位元組進行截取操作。
請參照圖10。圖10顯示本發明之一實施例中,記憶體存取方法的第七種應用場景示意圖。
可以理解的,由於l
0小於m,因此在每一次將l
0位元組寫入該記憶體空間的m位元組位址後,需要對該m位元組位址進行補齊。因此,每一次對l
0位元組進行傳輸並寫入該記憶體空間的m位元組位址中之後,還需在寫入每一l
0位元組時設置相應的識別碼,並對該記憶體空間的每m位元組位址中未寫入位元組的位元組位址進行補齊。
直接記憶體存取控制器14可以在每一次將l
0位元組寫入該記憶體空間的m位元組位址時,設置相應的識別碼。需要說明的是,在設置識別碼時,可以先寫入位元組然後設置識別碼,也可以先設置識別碼然後寫入位元組,還可以寫入位元組的同時設置識別碼。該識別碼用於標識該m位元組位址中哪些位元組位址被寫入了有效資料,以及哪些位元組位址未被寫入有效資料。該識別碼可以為m位的二進制字元,二進制字元為1表示所在位元組位址被寫入了有效資料,二進制字元為0表示所在位元組位址未被寫入有效資料。例如,如圖10所示,該m位元組位址中,寫入了l
0位元組的位元組位址的二進制字元可以設置為1,寫入l
0位元組的位元組位址之外的位元組位址的二進制字元可以設置為0。
此外,直接記憶體存取控制器14可以對該記憶體空間的每一m位元組位址中未寫入位元組的位元組位址進行補齊,也即將識別碼的二進制字元為0的位元組位址進行補齊,例如可以補齊為0,也可以補齊為其他的任意值。可以理解的,由於被補齊的位元組位址的二進制字元為0,也即表示被補齊的位元組位址的資料為無效資料,因此補齊的任意值不會對寫入該m位元組位址中的資料造成影響。
在一些實施例中,對於位元組存取模式,例如byte_mode=1時,資料讀寫位元長度為m位元組,資料傳輸位元長度為1位元組。記憶體空間中的資料對應三維空間時,該三維空間包含l
2個二維空間,每個二維空間包含l
1個一維線,每個一維線的長度為l
0。位址跳轉長度包含s
0、s
1,s
0、s
1即為1組參數,每個一維線與下一個一維線之間間隔s
0位元組位址,每個二維空間與下一個二維空間之間間隔s
1位元組位址。
此時,當l
0小於m且l
0與s
0之和等於m且s
0小於s
1時,直接記憶體存取控制器14根據對應此操作模式的配置參數,所進行的操作包含:每一次讀取該記憶體空間中的l
1×m位元組,每一次讀取l
1×m位元組後跳轉(s
1- s
0)×m位元組位址進行下一次讀取;每一次讀取l
1×m位元組後,對l
1×m位元組進行傳輸。
可以理解的,實際應用中,在對雙倍資料速率(Double Data Rate;DDR)類記憶體進行讀取操作或者寫入操作時,由於匯流排結構為先進可擴充介面(Advanced Extensible Interface;AXI),這類匯流排結構每次可以讀/寫多個m位元組,並且在未收到第一個發出的讀/寫請求的結果時,匯流排上同時可以存在多次讀/寫請求。由於對DDR類記憶體的讀/寫入操作存在延遲,若每次讀/寫1個m位元組,則會使匯流排的使用效率大大降低。
還可以理解的,由於l
0小於m且l
0與s
0之和等於m且s
0小於s
1時,也即l
0、s
0都比較小,因此若按照位元組存取模式對記憶體空間進行存取,則需要多次對同一個m位元組位址進行讀取操作或者寫入操作,進而導致存取效率低。當擴展至多維記憶體空間時,若一個m位元組中有k0、k1、k2……kx段有效的位元組,位址跳轉長度分別為p0、p1、p2……px-1,且k0+p0+k1+p1+k2+p2+px-1+kx+s
0為m的情況下,需要對m位元組進行x次存取,可見存取效率非常低。
因此,此時可以對存取模式進行修改,修改為非位元組存取模式,同時將一維線的長度修改為該l
1,將一維線的個數修改為該l
2,將二維空間的個數修改為1,將每一個一維線與下一個一維線之間的跳轉位址修改為s
1-s
0,將每一個二維空間與下一個二維空間之間的跳轉位址修改為0,並按照非位元組模式進行存取,以提高存取效率。
亦即,每一次讀取該記憶體空間中的l
1×m位元組,每一次讀取l
1×m位元組後跳轉(s
1-s
0)×m位元組位址進行下一次讀取,每一次讀取l
1×m位元組後,對l
1×m位元組進行傳輸。
同理,當l
0小於m且l
0與s
0之和等於m且s
0小於s
1時,根據該資料傳輸長度以該資料傳輸位元長度為單位進行資料傳輸,並根據該資料傳輸長度、該位址跳轉長度以該資料讀寫位元長度為單位對該記憶體空間進行寫入操作,包含:每一次對l
1×m位元組進行傳輸並寫入該記憶體空間的l
1×m位元組位址中,每一次寫入l
1×m位元組後跳轉(s
1-s
0)×m位元組位址進行下一次寫入。
進而,可以將對三維空間的存取跳轉為對二維空間的存取,並且可以按照非位元組模式進行存取,因此可以提高對記憶體空間的存取效率。
在一實施例中,每一次讀取該記憶體空間中的l
1×m位元組之後,還包含:確定讀取的每一m位元組中的起始位元組和結束位元組,每一m位元組中的該起始位元組與該結束位元組之間的位元組長度為l
0;每一次對l
1×m位元組進行傳輸並寫入該記憶體空間的l
1×m位元組位址中,包含:確定該記憶體空間的每一m位元組位址中的起始位元組位址和結束位元組位址;每一次對l
0×m位元組進行傳輸;依次將每一l
0位元組寫入一個該m位元組位址中,並設置相應的識別碼;對每一該m位元組位址中未寫入位元組的位元組位址進行補齊。
可以理解的,由於將對三維空間的存取跳轉為了對二維空間的存取,因此在進行讀取操作時,需要在每一次讀取該記憶體空間中的l
1×m位元組之後,確定讀取的每一m位元組中的起始位元組(start_byte)和結束位元組(end_byte),以保證讀取操作讀取的資料、傳輸的資料、寫入操作寫入的資料準確對應,進而確保資料的有效性。
相應的,在進行寫入操作時,需要先確定該記憶體空間的每一m位元組位址中的起始位元組位址和結束位元組位址,隨後每一次對l
0×m位元組進行傳輸,依次將每一l
0位元組寫入一個該m位元組位址中。
此外,在寫入每一l
0位元組時設置相應的識別碼,並對每一該m位元組位址中未寫入位元組的位元組位址進行補齊。需要說明的是,在設置識別碼時,可以先寫入位元組然後設置識別碼,也可以先設置識別碼然後寫入位元組,還可以寫入位元組的同時設置識別碼。
其中,設置識別碼和對位元組位址進行補齊可以參照上述實施例中的描述,在此不再贅述。
具體實施時,本發明不受所描述的各個步驟的執行順序的限制,在不產生衝突的情況下,某些步驟還可以採用其它順序進行或者同時進行。
由上可知,本發明實施例提供的記憶體存取方法,可對直接記憶體存取控制器配置多種操作模式,不同的操作模式對應不同的配置參數,搭配特定的讀取指令,進而可以根據不同的記憶體存取需求設定操作模式,採用不同的參數對記憶體空間進行存取,使得對記憶體空間的存取模式更加靈活多樣,並可達到僅利用以一讀取指令即讀取對應一n維資料區塊的資料的目的,以節省存取記憶體空間時的指令資源。
以上對本發明實施例所提供的記憶體存取方法及智慧處理裝置進行了詳細介紹。本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本發明的方法及其核心思想;同時,對於本領域的技術人員,依據本發明的思想,在具體實施方式及應用範圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。
10:晶片
11:智慧處理器
110:智慧處理器核心
111:智慧處理裝置
12:中央處理器
13:記憶體
14:直接記憶體存取控制器
141:配置單元
142:位址產生電路
143:資料處理電路
144:訊號埠
145:資料埠
210~230:步驟
[圖1]顯示本發明之一實施例中,應用於一電子設備的晶片的結構示意圖;
[圖2]顯示本發明之一實施例中,智慧處理裝置的方塊示意圖;
[圖3]顯示本發明之一實施例中,記憶體存取方法的第一種流程示意圖;以及
[圖4]至[圖10]顯示本發明之一實施例中,記憶體存取方法的第一種應用場景示意圖。
210~230:步驟
Claims (11)
- 一種記憶體存取方法,應用於一智慧處理裝置,其包含:確定一記憶體存取模式;根據該記憶體存取模式擷取一資料位元長度參數,該資料位元長度參數包含一資料讀寫位元長度以及一資料傳輸位元長度;擷取一記憶體空間的一記憶體存取參數,該記憶體存取參數包含一資料傳輸長度以及一位址跳轉長度;以及根據該資料讀寫位元長度、該資料傳輸位元長度、該資料傳輸長度以及該位址跳轉長度對該記憶體空間進行存取,其中該記憶體空間包含一二維空間,該二維空間包含l1個一維線,該位址跳轉長度包含s0,每一該一維線與下一該一維線之間跳轉s0位元組位址進行存取,以完成該二維空間的存取,且l1、s0均為正整數。
- 如請求項1所述之記憶體存取方法,其中該根據該資料讀寫位元長度、該資料傳輸位元長度、該資料傳輸長度、該位址跳轉長度對該記憶體空間進行存取之步驟更包含:根據該資料傳輸長度以及該位址跳轉長度,以該資料讀寫位元長度為單位對該記憶體空間進行讀取操作,並根據該資料傳輸長度,以該資料傳輸位元長度為單位對該讀取操作讀取到的資料進行傳輸;或者根據該資料傳輸長度,以該資料傳輸位元長度為單位進行資料傳輸,並根據該資料傳輸長度以及該位址跳轉長度,以該資料讀寫位元長度為單位對該記憶體空間進行寫入操作。
- 如請求項2所述之記憶體存取方法,其中該記憶體存取模式包含非位元組存取模式,根據該非位元組存取模式擷取到的該資料讀寫位元長度以及該資料傳輸位元長度均為m位元組,其中m為大於1的整數。
- 如請求項3所述之記憶體存取方法,其中根據該資料傳輸長度以及該位址跳轉長度,以該資料讀寫位元長度為單位對該記憶體空間進行讀取操作,並根據該資料傳輸長度,以該資料傳輸位元長度為單位對該讀取操作讀取到的資料進行傳輸之步驟更包含:每一次讀取該記憶體空間中的l0×m位元組,每一次讀取l0×m位元組後跳轉s0×m位元組位址進行下一次讀取;以及每一次讀取l0×m位元組後,對l0×m位元組進行傳輸;根據該資料傳輸長度以該資料傳輸位元長度為單位進行資料傳輸,並根據該資料傳輸長度以及該位址跳轉長度,以該資料讀寫位元長度為單位對該記憶體空間進行寫入操作之步驟更包含:每一次對l0×m位元組進行傳輸並寫入該記憶體空間的l0×m位元組位址中,每一次寫入l0×m位元組後跳轉s0×m位元組位址進行下一次寫入;其中,l0為該資料傳輸長度,s0為該位址跳轉長度,l0、s0均為正整數。
- 如請求項1所述之記憶體存取方法,其中該記憶體空間包含三維空間,該三維空間包含l2個該二維空間,該位址跳轉長度還包含s1,每一該二維空間與下一該二維空間之間跳轉s1位元組位址進行存取,以完成該三維空間的存取;其中,l2、s1均為正整數。
- 一種智慧處理裝置,其包含:一處理器,產生一讀取指令以自一記憶體讀取資料;以及一直接記憶體存取控制器,依據該讀取指令自該記憶體讀取資料,該直接記憶體存取控制器包含:一配置單元,根據一第一操作模式提供一第一配置參數;一訊號埠,接收該讀取指令;一位址產生電路,根據該第一配置參數及該讀取指令產生複數第一位址訊號至該記憶體;一資料處理電路,接收該記憶體響應該等第一位址訊號所輸出的資料,並根據該讀取指令及該第一配置參數對接收自記憶體的資料進行資料截取處理;以及一資料埠,將該資料處理電路處理過的資料輸出至該處理器;其中,該等第一位址訊號中包含複數不連續的位址訊號,使據以自記憶體讀出的資料經該資料處理電路處理後對應一n維資料區塊,n為大於1的正整數。
- 如請求項6所述之智慧處理裝置,其中該第一配置參數包含一資料傳輸長度及一位址跳轉長度。
- 如請求項6所述之智慧處理裝置,其中該配置單元根據一第二操作模式提供一第二配置參數;而該位址產生電路根據該第二配置參數產生複數第二位址訊號至該記憶體,其中,該等第二位址訊號為連續位址訊號。
- 一種記憶體存取方法,應用於一智慧處理裝置,該智慧處理裝置包含一處理器,該記憶體存取方法包含:接收來自該處理器的一讀取指令,用以自一記憶體讀取資料;根據一第一操作模式提供一第一配置參數;根據該第一配置參數及該讀取指令產生複數第一位址訊號至該記憶體;以及接收該記憶體響應該等第一位址訊號所輸出的資料,並根據該讀取指令及該第一配置參數對接收自記憶體的資料進行資料截取處理,以輸出至該處理器;其中,該等第一位址訊號中包含複數不連續的位址訊號,使據以自記憶體讀出的資料經該資料處理電路處理後對應一n維資料區塊,n為大於1的正整數。
- 如請求項9所述之記憶體存取方法,其中該第一配置參數包含一資料傳輸長度及一位址跳轉長度。
- 如請求項9所述之記憶體存取方法,其中更包含:根據一第二操作模式提供一第二配置參數;以及根據該第二配置參數產生複數第二位址訊號至該記憶體,其中,該等第二位址訊號為連續位址訊號。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109134985A TWI764311B (zh) | 2020-10-08 | 2020-10-08 | 記憶體存取方法及智慧處理裝置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109134985A TWI764311B (zh) | 2020-10-08 | 2020-10-08 | 記憶體存取方法及智慧處理裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202215256A TW202215256A (zh) | 2022-04-16 |
TWI764311B true TWI764311B (zh) | 2022-05-11 |
Family
ID=82197503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109134985A TWI764311B (zh) | 2020-10-08 | 2020-10-08 | 記憶體存取方法及智慧處理裝置 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI764311B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3955305B2 (ja) * | 1995-10-06 | 2007-08-08 | パトリオット サイエンティフィック コーポレイション | 縮小命令セット・コンピュータ・マイクロプロセッサーの構造 |
CN102609378A (zh) * | 2012-01-18 | 2012-07-25 | 中国科学院计算技术研究所 | 一种消息式内存访问装置及其访问方法 |
CN104035903A (zh) * | 2014-07-02 | 2014-09-10 | 东南大学 | 一种基于可重构技术的二维数据访问动态自适应方法 |
US8856497B2 (en) * | 2004-12-07 | 2014-10-07 | Hewlett-Packard Development Company, L.P. | Central processor for memory tag |
US8949580B2 (en) * | 2008-03-17 | 2015-02-03 | Longsoon Technology Corporation Limited | RISC processor apparatus and method for supporting X86 virtual machine |
CN106598885A (zh) * | 2016-11-30 | 2017-04-26 | 华中科技大学 | 一种可配置的多端口通用数据桥接系统及其工作方法 |
TWI582591B (zh) * | 2014-12-14 | 2017-05-11 | 上海兆芯集成電路有限公司 | 考慮到記憶體訪問類型的集合關聯快取記憶體及方法 |
CN106909320A (zh) * | 2017-02-20 | 2017-06-30 | 北京中科睿芯科技有限公司 | 一种多维数据扩充传输的方法、装置以及系统 |
TWI606338B (zh) * | 2014-12-14 | 2017-11-21 | 上海兆芯集成電路有限公司 | 以記憶體存取類型來分配的全關聯快取記憶體及其操作方法 |
-
2020
- 2020-10-08 TW TW109134985A patent/TWI764311B/zh active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3955305B2 (ja) * | 1995-10-06 | 2007-08-08 | パトリオット サイエンティフィック コーポレイション | 縮小命令セット・コンピュータ・マイクロプロセッサーの構造 |
US8856497B2 (en) * | 2004-12-07 | 2014-10-07 | Hewlett-Packard Development Company, L.P. | Central processor for memory tag |
US8949580B2 (en) * | 2008-03-17 | 2015-02-03 | Longsoon Technology Corporation Limited | RISC processor apparatus and method for supporting X86 virtual machine |
CN102609378A (zh) * | 2012-01-18 | 2012-07-25 | 中国科学院计算技术研究所 | 一种消息式内存访问装置及其访问方法 |
CN104035903A (zh) * | 2014-07-02 | 2014-09-10 | 东南大学 | 一种基于可重构技术的二维数据访问动态自适应方法 |
TWI582591B (zh) * | 2014-12-14 | 2017-05-11 | 上海兆芯集成電路有限公司 | 考慮到記憶體訪問類型的集合關聯快取記憶體及方法 |
TWI606338B (zh) * | 2014-12-14 | 2017-11-21 | 上海兆芯集成電路有限公司 | 以記憶體存取類型來分配的全關聯快取記憶體及其操作方法 |
CN106598885A (zh) * | 2016-11-30 | 2017-04-26 | 华中科技大学 | 一种可配置的多端口通用数据桥接系统及其工作方法 |
CN106909320A (zh) * | 2017-02-20 | 2017-06-30 | 北京中科睿芯科技有限公司 | 一种多维数据扩充传输的方法、装置以及系统 |
Also Published As
Publication number | Publication date |
---|---|
TW202215256A (zh) | 2022-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11294675B2 (en) | Writing prefetched data into intra-core caches of cores identified by prefetching instructions | |
US20220091780A1 (en) | Memory access method and intelligent processing apparatus | |
US20050033874A1 (en) | Direct memory access using memory descriptor list | |
US8918589B2 (en) | Memory controller, memory system, semiconductor integrated circuit, and memory control method | |
TW201714090A (zh) | 記憶體裝置、記憶體定址方法與包括有形儲存媒體的物品 | |
CN112506823B (zh) | 一种fpga数据读写方法、装置、设备及可读存储介质 | |
EP4095701A9 (en) | Memory device and method of controlling row hammer | |
TW202232310A (zh) | 記憶體中的動態中繼資料重新定位 | |
TWI764311B (zh) | 記憶體存取方法及智慧處理裝置 | |
CN106919516B (zh) | Ddr地址映射系统和方法 | |
CN106933756B (zh) | 用于可变矩阵的dma快速转置方法及装置 | |
US20090138673A1 (en) | Internal memory mapped external memory interface | |
KR101560015B1 (ko) | 메모리 영역으로의 복수의 프로세서의 액세스를 제어하는 방법 및 상기 방법을 구현하기 위한 메시지 메모리를 구비한 통신 모듈 | |
JP2007172129A (ja) | 不揮発性メモリアクセス制御装置および不揮発性メモリ制御システム | |
CN113961487A (zh) | 加速存储器存取的电子装置及方法 | |
US8364882B2 (en) | System and method for executing full and partial writes to DRAM in a DIMM configuration | |
US6771979B2 (en) | Mobile telephone | |
US11895043B2 (en) | Method for accessing system memory and associated processing circuit within a network card | |
CN118245410B (zh) | 数据操作方法、装置、设备、可读存储介质及程序产品 | |
CN116756071B (zh) | 数据传输方法、装置、设备、存储介质和计算机程序产品 | |
KR101116613B1 (ko) | 메모리 액세스 제어 장치 및 방법 | |
KR100694078B1 (ko) | 메모리 장치 및 그 데이터 전송 방법 | |
CN117435535A (zh) | 一种存储系统、主控芯片、数据存储方法及数据读取方法 | |
EP1067555B1 (en) | Memory controller and an information processing apparatus having such a memory controller | |
CN114595173A (zh) | 一种数据传输方法、系统及计算机可读存储介质 |