欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

處理器及數(shù)據(jù)處理方法

文檔序號:6526724閱讀:163來源:國知局
處理器及數(shù)據(jù)處理方法
【專利摘要】本發(fā)明提供一種處理器及數(shù)據(jù)處理方法。其中,處理器通過第一DMA模塊在訪存加速區(qū)與內(nèi)存之間進(jìn)行數(shù)據(jù)搬移,第二DMA模塊在訪存加速區(qū)與寄存器堆之間進(jìn)行數(shù)據(jù)搬移,訪存加速區(qū)為內(nèi)存中的鎖定地址區(qū),訪存加速區(qū)用于存儲第一DMA模塊和第二DMA模塊進(jìn)行讀寫的數(shù)據(jù)。通過在內(nèi)存中鎖定一段地址區(qū),并將該段地址區(qū)作為訪存加速區(qū),增設(shè)一個第一DMA模塊,通過該第一DMA模塊在訪存加速區(qū)與內(nèi)存之間進(jìn)行數(shù)據(jù)搬移,并結(jié)合第二DMA模塊在訪存加速區(qū)與寄存器堆之間進(jìn)行數(shù)據(jù)搬移,使得第二DMA模塊一直能夠從訪存加速區(qū)讀寫數(shù)據(jù),避免出現(xiàn)數(shù)據(jù)沒有命中的情況,提高了處理器的計(jì)算效率。
【專利說明】處理器及數(shù)據(jù)處理方法【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種處理器及數(shù)據(jù)處理方法。
【背景技術(shù)】
[0002]高性能計(jì)算處理器在高性能計(jì)算過程中,寄存器堆和二級緩存(cache)之間可以通過直接內(nèi)存存取(Direct Memory Access,簡稱:DMA)模塊進(jìn)行數(shù)據(jù)搬移。通過該DMA模塊在二次緩存上操作,其讀寫速度很快,但如果發(fā)生數(shù)據(jù)在二級緩存上沒命中情況,則根據(jù)圖1所示的數(shù)據(jù)通路,現(xiàn)有技術(shù)需要將先從內(nèi)存中讀取數(shù)據(jù)存入二級緩存中,DMA再通過二級緩存讀取所需數(shù)據(jù)。
[0003]但是,采用這種方式,會導(dǎo)致處理器高性能計(jì)算部分因等待數(shù)據(jù)準(zhǔn)備而使計(jì)算效率大大降低。并且由于高性能計(jì)算一般數(shù)據(jù)規(guī)模都很大,加之系統(tǒng)其他進(jìn)程影響,二級緩存不命中的場景會頻繁發(fā)生,即出現(xiàn)“供不上數(shù)”。會進(jìn)一步造成處理器計(jì)算單元出現(xiàn)“饑餓”的現(xiàn)象,降低了處理器的計(jì)算效率。

【發(fā)明內(nèi)容】

[0004]本發(fā)明提供一種處理器及數(shù)據(jù)處理方法,用于提高處理器處理高性能數(shù)據(jù)的效率。
[0005]本發(fā)明的第一個方面是提供一種處理器,包括:外部直接內(nèi)存存取DMA模塊、內(nèi)部直接內(nèi)存存取DMA模塊、內(nèi)存、寄存器堆;
[0006]其中,所述第一 DMA模塊分別與所述內(nèi)存、訪存加速區(qū)相連,所述第二 DMA模塊分別與所述訪存加速區(qū)、所述寄存器堆相連;
[0007]所述第一 DMA模塊,用于在所述訪存加速區(qū)與所述內(nèi)存之間進(jìn)行數(shù)據(jù)搬移;
[0008]所述第二 DMA模塊,用于在所述訪存加速區(qū)與寄存器堆之間進(jìn)行數(shù)據(jù)搬移;
[0009]所述訪存加速區(qū)為所述內(nèi)存中的鎖定地址區(qū),所述訪存加速區(qū),用于存儲所述第
一DMA模塊和所述第二 DMA模塊進(jìn)行讀寫的數(shù)據(jù)。
[0010]結(jié)合第一個方面,在第一種可能的實(shí)現(xiàn)方式中,所述第一 DMA模塊,具體用于將從所述內(nèi)存中的非鎖定地址區(qū)讀取到的數(shù)據(jù)寫入所述訪存加速區(qū);或者,
[0011]所述第一 DMA模塊,具體用于將從所述訪存加速區(qū)中讀取到的數(shù)據(jù)寫入所述內(nèi)存中的非鎖定地址區(qū);
[0012]所述第二 DMA模塊,具體用于將從所述寄存器堆中讀取到的數(shù)據(jù)寫入所述訪存加速區(qū);或者,
[0013]所述第二 DMA模塊,具體用于將從所述訪存加速區(qū)中讀取到的數(shù)據(jù)寫入所述寄存器。
[0014]結(jié)合第一個方面或第一個方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述訪存加速區(qū)劃分為至少兩個第一子空間,所述寄存器堆劃分為至少兩個第二子空間;[0015]所述第二 DMA模塊,具體用于采用乒乓模式在所述至少兩個第一子空間與所述至少兩個第二子空間進(jìn)行數(shù)據(jù)搬移。
[0016]結(jié)合第一個方面的第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述內(nèi)存具有至少6Gbit的連續(xù)物理地址空間,以使所述第一 DMA模塊從所述連續(xù)物理地址空間整段讀取數(shù)據(jù)。
[0017]本發(fā)明的第二個方面是提供一種數(shù)據(jù)處理方法,應(yīng)用于一處理器,所述處理器包括第一直接內(nèi)存存取DMA模塊、第二直接內(nèi)存存取DMA模塊、內(nèi)存以及寄存器堆,所述數(shù)據(jù)處理方法包括:
[0018]所述第一 DMA模塊在訪存加速區(qū)與所述內(nèi)存之間進(jìn)行數(shù)據(jù)搬移;
[0019]所述第二 DMA模塊在所述訪存加速區(qū)與所述寄存器堆之間進(jìn)行數(shù)據(jù)搬移;
[0020]所述訪存加速區(qū)為所述內(nèi)存中的鎖定地址區(qū),所述訪存加速區(qū)用于存儲所述第一DMA模塊和所述第二 DMA模塊進(jìn)行讀寫的數(shù)據(jù)。
[0021]結(jié)合第一個方面,在第一種可能的實(shí)現(xiàn)方式中,所述第一 DMA模塊在所述訪存加速區(qū)與所述內(nèi)存之間進(jìn)行數(shù)據(jù)搬移,包括:
[0022]所述第一 DMA模塊將從所述內(nèi)存中的非鎖定地址區(qū)讀取到的數(shù)據(jù)寫入所述訪存加速區(qū);或者,
[0023]所述第一 DMA模塊將從所述訪存加速區(qū)中讀取到的數(shù)據(jù)寫入所述內(nèi)存中的非鎖定地址區(qū);
[0024]所述第二 DMA模塊在所述訪存加速區(qū)與所述寄存器堆之間進(jìn)行數(shù)據(jù)搬移,包括:
[0025]所述第二 DMA模塊將從所述寄存器堆中讀取到的數(shù)據(jù)寫入所述訪存加速區(qū);或者,
[0026]所述第二 DMA模塊將從所述訪存加速區(qū)中讀取到的數(shù)據(jù)寫入所述寄存器。
[0027]結(jié)合第二個方面或第二個方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述訪存加速區(qū)劃分為至少兩個第一子空間,所述寄存器堆劃分為至少兩個第二子空間;
[0028]所述第二 DMA模塊采用乒乓模式在所述至少兩個第一子空間與所述至少兩個第二子空間進(jìn)行數(shù)據(jù)搬移。
[0029]結(jié)合第二個方面的第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述內(nèi)存具有至少6Gbit的連續(xù)物理地址空間,以使所述第一 DMA模塊從所述連續(xù)物理地址空間整段讀取數(shù)據(jù)。
[0030]本實(shí)施例提供的處理器及數(shù)據(jù)處理方法,通過在內(nèi)存中鎖定一段地址區(qū),并將該段地址區(qū)作為訪存加速區(qū),增設(shè)一個第一 DMA模塊,通過該第一 DMA模塊在訪存加速區(qū)與內(nèi)存之間進(jìn)行數(shù)據(jù)搬移,并結(jié)合第二 DMA模塊在訪存加速區(qū)與寄存器堆之間進(jìn)行數(shù)據(jù)搬移,使得第二 DMA模塊一直能夠從訪存加速區(qū)讀寫數(shù)據(jù),避免出現(xiàn)數(shù)據(jù)沒有命中的情況,提高了處理器的計(jì)算效率。
【專利附圖】

【附圖說明】
[0031]圖1為現(xiàn)有技術(shù)中處理器的數(shù)據(jù)通路示意圖;
[0032]圖2為本發(fā)明實(shí)施例提供的一種處理器的結(jié)構(gòu)示意圖;[0033]圖3為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)處理方法流程示意圖;
[0034]圖4為本發(fā)明實(shí)施例提供的另一種數(shù)據(jù)處理方法流程示意圖。
【具體實(shí)施方式】
[0035]現(xiàn)有技術(shù)中,高性能計(jì)算CPU,有著很高的浮點(diǎn)計(jì)算能力,但目前的高性能計(jì)算采用的程序設(shè)計(jì)架構(gòu),訪存成為計(jì)算瓶頸,沒有充分發(fā)揮處理器架構(gòu)特點(diǎn),發(fā)揮其計(jì)算能力。參照圖1所示傳統(tǒng)的數(shù)據(jù)通路,寄存器堆和二級緩存之間可以通過直接內(nèi)存存取(DirectMemory Access,簡稱:DMA)模塊進(jìn)行數(shù)據(jù)搬移,此時在內(nèi)存上操作,讀寫速度也很快,但如果發(fā)生數(shù)據(jù)在二級緩存上沒命中情況,則再到內(nèi)存中讀取數(shù)據(jù)時,則處理器計(jì)算部分因等待數(shù)據(jù)準(zhǔn)備而使計(jì)算效率大大降低。并且由于高性能計(jì)算一般數(shù)據(jù)規(guī)模都很大,加之系統(tǒng)其他進(jìn)程影響,大部分為內(nèi)存不命中。即出現(xiàn)“供不上數(shù)”,處理器計(jì)算單元“饑餓”的現(xiàn)象。
[0036]針對上述問題,本發(fā)明下述實(shí)施例提供一種處理器,提高處理器處理高性能數(shù)據(jù)的效率。圖2為本發(fā)明實(shí)施例提供的一種處理器的結(jié)構(gòu)示意圖,如圖2所示,包括:寄存器堆10、第二直接內(nèi)存存取DMA模塊11、第一直接內(nèi)存存取DMA模塊12、內(nèi)存13。
[0037]其中,第一 DMA模塊12分別與內(nèi)存13、訪存加速區(qū)13a相連,第二 DMA模塊11分別與訪存加速區(qū)13a、寄存器堆10相連。
[0038]第一 DMA模塊12,用于在訪存加速區(qū)13a與內(nèi)存13之間進(jìn)行數(shù)據(jù)搬移。
[0039]第二 DMA模塊11,用于在訪存加速區(qū)13a與寄存器堆10之間進(jìn)行數(shù)據(jù)搬移。
[0040]訪存加速區(qū)13a為內(nèi)存13中的鎖定地址區(qū),訪存加速區(qū)13a,用于存儲第一DMA模塊12和第二 DMA模塊11進(jìn)行讀寫的數(shù)據(jù)。
[0041]具體的,訪存加速區(qū)為內(nèi)存中的鎖定地址區(qū),訪存加速區(qū)用于存儲第一 DMA模塊和第二 DMA模塊進(jìn)行讀寫的數(shù)據(jù)。
[0042]限定一段內(nèi)存地址不能被替換出訪存加速區(qū)。由于訪存加速區(qū)對軟件是透明的,不能直接對其操作,應(yīng)用此機(jī)制可以使某段內(nèi)存地址永遠(yuǎn)會在訪存加速區(qū)上命中,間接實(shí)現(xiàn)數(shù)據(jù)在訪存加速區(qū)上的讀寫。在內(nèi)核中實(shí)現(xiàn)此功能,并留給用戶程序可調(diào)用的接口,提供給用戶空間程序,使應(yīng)用獨(dú)享一部分訪存加速區(qū)進(jìn)行操作,不被其他進(jìn)程干擾。
[0043]本實(shí)施例提供的處理器,通過在內(nèi)存中鎖定一段地址區(qū),并將該段地址區(qū)作為訪存加速區(qū),增設(shè)一個第一 DMA模塊,通過該第一 DMA模塊在訪存加速區(qū)與內(nèi)存之間進(jìn)行數(shù)據(jù)搬移,并結(jié)合第二 DMA模塊在訪存加速區(qū)與寄存器堆之間進(jìn)行數(shù)據(jù)搬移,使得第二 DMA模塊一直能夠從訪存加速區(qū)讀寫數(shù)據(jù),避免出現(xiàn)數(shù)據(jù)沒有命中的情況,提高了處理器的計(jì)算效率。
[0044]優(yōu)選的,第一 DMA模塊12,具體用于將從內(nèi)存13中的非鎖定地址區(qū)讀取到的數(shù)據(jù)寫入訪存加速區(qū)13a。
[0045]或者,第一 DMA模塊12,具體用于將從訪存加速區(qū)13a中讀取到的數(shù)據(jù)寫入內(nèi)存13中的非鎖定地址區(qū)。
[0046]第二 DMA模塊11,具體用于將從寄存器堆10中讀取到的數(shù)據(jù)寫入訪存加速區(qū)13a。
[0047]或者,第二 DMA模塊11,具體用于將從訪存加速區(qū)13a中讀取到的數(shù)據(jù)寫入寄存器。[0048]進(jìn)一步的,訪存加速區(qū)13a劃分為至少兩個第一子空間,將寄存器堆10劃分為至少兩個第二子空間。
[0049]第二 DMA模塊11,具體用于采用乒乓模式在至少兩個第一子空間與至少兩個第二子空間進(jìn)行數(shù)據(jù)搬移。
[0050]優(yōu)選的,內(nèi)存13具有至少6Gbit的連續(xù)物理地址空間,以使第一 DMA模塊12從連續(xù)物理地址空間整段讀取數(shù)據(jù)。
[0051]現(xiàn)有技術(shù)中,基于龍芯3B處理器的內(nèi)存中的連續(xù)物理地址空間為64KB或32MB,這樣導(dǎo)致在需要搬移較大數(shù)據(jù)時,數(shù)據(jù)的物理地址會出現(xiàn)不連續(xù)的情況,此時,需要對不連續(xù)的地址進(jìn)行轉(zhuǎn)換,從而降低了龍芯3B處理器的運(yùn)算效率。而本實(shí)施例中為內(nèi)存分配了6Gbit的連續(xù)物理地址空間,使得第一 DMA模塊從內(nèi)存讀取的數(shù)據(jù)對應(yīng)的地址是連續(xù)的,保留一部分連續(xù)物理地址空間和內(nèi)存,專門提供給高性能計(jì)算程序。高性能計(jì)算特點(diǎn)為:數(shù)據(jù)規(guī)模大,重用性較好;所以提供專門單獨(dú)為其提供了大段連續(xù)物理地址空間,并對此區(qū)域應(yīng)用大頁分配內(nèi)存,從而減小因旁路轉(zhuǎn)換緩沖(Translation lookaside buffer,簡稱:TLB)缺失所帶來的性能下降。此功能在內(nèi)核中實(shí)現(xiàn),留給用戶程序可調(diào)用的接口,提供給用戶空間程序。用戶在程序設(shè)計(jì)時,根據(jù)實(shí)際情況,合理應(yīng)用。并且,采用了本實(shí)施例提供的6Gbit的連續(xù)物理地址空間,不需要增加額外的操作來進(jìn)行地址轉(zhuǎn)換,從而提高了龍芯3B處理器的處理效率。
[0052]圖3為本發(fā)明實(shí)施例提供的一種數(shù)據(jù)處理方法流程示意圖,該方法的執(zhí)行主體為一處理器,處理器包括第一直接內(nèi)存存取DMA模塊、第二直接內(nèi)存存取DMA模塊、內(nèi)存以及寄存器堆,參照圖3該方法包括如下步驟:
[0053]步驟100、第一直接內(nèi)存存取(Direct Memory Access,簡稱:DMA)模塊在訪存加速區(qū)與內(nèi)存之間進(jìn)行數(shù)據(jù)搬移。
[0054]步驟101、第二直接內(nèi)存存取DMA模塊在訪存加速區(qū)與寄存器堆之間進(jìn)行數(shù)據(jù)搬移。
[0055]具體的,訪存加速區(qū)為內(nèi)存中的鎖定地址區(qū),訪存加速區(qū)用于存儲第一 DMA模塊和第二 DMA模塊進(jìn)行讀寫的數(shù)據(jù)。
[0056]限定一段內(nèi)存地址不能被替換出訪存加速區(qū)。由于訪存加速區(qū)對軟件是透明的,不能直接對其操作,應(yīng)用此機(jī)制可以使某段內(nèi)存地址永遠(yuǎn)會在訪存加速區(qū)上命中,間接實(shí)現(xiàn)數(shù)據(jù)在訪存加速區(qū)上的讀寫。在內(nèi)核中實(shí)現(xiàn)此功能,并留給用戶程序可調(diào)用的接口,提供給用戶空間程序,使應(yīng)用獨(dú)享一部分訪存加速區(qū)進(jìn)行操作,不被其他進(jìn)程干擾。
[0057]本實(shí)施例提供的數(shù)據(jù)處理方法,通過在內(nèi)存中鎖定一段地址區(qū),并將該段地址區(qū)作為訪存加速區(qū),增設(shè)一個第一 DMA模塊,通過該第一 DMA模塊在訪存加速區(qū)與內(nèi)存之間進(jìn)行數(shù)據(jù)搬移,并結(jié)合第二 DMA模塊在訪存加速區(qū)與寄存器堆之間進(jìn)行數(shù)據(jù)搬移,使得第二DMA模塊一直能夠從訪存加速區(qū)讀寫數(shù)據(jù),避免出現(xiàn)數(shù)據(jù)沒有命中的情況,提高了處理器的計(jì)算效率。
[0058]進(jìn)一步的,針對圖1步驟100,其一種可行的實(shí)現(xiàn)方式為:
[0059]步驟100a、第一 DMA模塊將從內(nèi)存中的非鎖定地址區(qū)讀取到的數(shù)據(jù)寫入訪存加速區(qū)。
[0060]或者,步驟100b、第一 DMA模塊將從訪存加速區(qū)中讀取到的數(shù)據(jù)寫入內(nèi)存中的非鎖定地址區(qū)。
[0061]進(jìn)一步的,針對圖1步驟101,其一種可行的實(shí)現(xiàn)方式為:
[0062]步驟101a、第二 DMA模塊將從寄存器堆中讀取到的數(shù)據(jù)寫入訪存加速區(qū)。
[0063]或者,步驟101b、第二 DMA模塊將從訪存加速區(qū)中讀取到的數(shù)據(jù)寫入寄存器。
[0064]優(yōu)選的,訪存加速區(qū)劃分為至少兩個第一子空間,寄存器堆劃分為至少兩個第二子空間。
[0065]第二 DMA模塊采用乒乓模式在至少兩個第一子空間與至少兩個第二子空間進(jìn)行數(shù)據(jù)搬移。
[0066]對訪存加速區(qū),內(nèi)存,寄存器堆根據(jù)實(shí)際情況分別劃分若干不等區(qū)域,實(shí)現(xiàn)乒乓模型,使得第二 DMA模塊不必等到一級數(shù)據(jù)搬移完成,再開始下一級搬移;進(jìn)一步的,開啟第
二DMA模塊和第一 DMA模塊的多個數(shù)據(jù)通道,實(shí)現(xiàn)第二 DMA模塊和第一 DMA模塊的并行數(shù)據(jù)搬移。
[0067]優(yōu)選的,上述實(shí)施例中的內(nèi)存具有至少6Gbit的連續(xù)物理地址空間,以使第一 DMA模塊從連續(xù)物理地址空間整段讀取數(shù)據(jù)。
[0068]現(xiàn)有技術(shù)中,基于龍芯3B處理器的內(nèi)存中的連續(xù)物理地址空間為64KB或32MB,這樣導(dǎo)致在需要搬移較大數(shù)據(jù)時,數(shù)據(jù)的物理地址會出現(xiàn)不連續(xù)的情況,此時,需要對不連續(xù)的地址進(jìn)行轉(zhuǎn)換,從而降低了龍芯3B處理器的運(yùn)算效率。而本實(shí)施例中為內(nèi)存分配了6Gbit的連續(xù)物理地址空間,使得第一 DMA模塊從內(nèi)存讀取的數(shù)據(jù)對應(yīng)的地址是連續(xù)的,保留一部分連續(xù)物理地址空間和內(nèi)存,專門提供給高性能計(jì)算程序。高性能計(jì)算特點(diǎn)為:數(shù)據(jù)規(guī)模大,重用性較好;所以提供專門單獨(dú)為其提供了大段連續(xù)物理地址空間,并對此區(qū)域應(yīng)用大頁分配內(nèi)存,從而減小因旁路轉(zhuǎn)換緩沖(Translation lookaside buffer,簡稱:TLB)缺失所帶來的性能下降。此功能在內(nèi)核中實(shí)現(xiàn),留給用戶程序可調(diào)用的接口,提供給用戶空間程序。用戶在程序設(shè)計(jì)時,根據(jù)實(shí)際情況,合理應(yīng)用。并且,采用了本實(shí)施例提供的6Gbit的連續(xù)物理地址空間,不需要增加額外的操作來進(jìn)行地址轉(zhuǎn)換,從而提高了龍芯3B處理器的處理效率。
[0069]乒乓模式,其原理為:在存儲空間中定義兩個子空間:子空間BufferO和子空間Bufferl,當(dāng)BufferO保存?zhèn)魉瓦^來的數(shù)據(jù)時,程序可以對Bufferl中的數(shù)據(jù)進(jìn)行處理;而當(dāng)Bufferl保存?zhèn)魉瓦^來的數(shù)據(jù)時,程序則對BufferO中的數(shù)據(jù)進(jìn)行處理,兩個子空間作為源地址和目的地址,它們的相互轉(zhuǎn)換是在中斷程序中完成的。這樣就可以實(shí)現(xiàn)數(shù)據(jù)的不間斷傳輸和實(shí)時處理。圖4為本發(fā)明實(shí)施例提供的另一種數(shù)據(jù)處理方法流程示意圖,參照圖4對第一 DMA模塊和第二 DMA模塊采用乒乓模式的數(shù)據(jù)搬移過程進(jìn)行詳細(xì)說明:
[0070]由于訪存加速區(qū)劃分為至少兩個第一子空間,寄存器堆劃分為至少兩個第二子空間,每個第一子空間都具有兩種狀態(tài):就緒狀態(tài)、準(zhǔn)備狀態(tài)。每個第二子空間具有三種狀態(tài):就緒狀態(tài)、完成狀態(tài)和準(zhǔn)備狀態(tài)。
[0071]對于寄存器堆:當(dāng)一次計(jì)算完成后,對應(yīng)的第二子空間的狀態(tài)就從緒狀態(tài)切換至完成狀態(tài);當(dāng)?shù)诙?DMA模塊從某一第二子空間讀取數(shù)據(jù),并向訪存加速區(qū)傳送該數(shù)據(jù)完成后,該第二子空間的狀態(tài)從完成狀態(tài)切換至準(zhǔn)備狀態(tài);當(dāng)?shù)诙?DMA模塊將從訪存加速區(qū)讀取的數(shù)據(jù)寫入某一第二子空間后,該第二子空間的狀態(tài)從準(zhǔn)備狀態(tài)切換至就緒狀態(tài);當(dāng)寄存器堆進(jìn)行復(fù)用時,相應(yīng)第二子空間的狀態(tài)從完成狀態(tài)切換至就緒狀態(tài)。因此在第二 DMA模塊采用乒乓模式時,選擇處于就緒狀態(tài)的第二子空間進(jìn)行數(shù)據(jù)搬移。
[0072]類似的,對于訪存加速區(qū):當(dāng)?shù)诙?DMA模塊從某一第一子空間讀取數(shù)據(jù)并傳送給寄存器堆時,該第一子空間的狀態(tài)從就緒狀態(tài)切換至準(zhǔn)備狀態(tài);當(dāng)?shù)诙?DMA模塊從寄存器堆讀取數(shù)據(jù)并寫入某一第一子空間時,該第一子空間的狀態(tài)從就準(zhǔn)備態(tài)切換至就緒狀態(tài);當(dāng)?shù)谝?DMA模塊從內(nèi)存讀取數(shù)據(jù)并寫入某一第一子空間時,該第一子空間的狀態(tài)從就準(zhǔn)備態(tài)切換至就緒狀態(tài);當(dāng)?shù)谝?DMA模塊從某一第一子空間讀取數(shù)據(jù)并傳送給內(nèi)存時,該第一子空間的狀態(tài)從就就緒態(tài)切換至準(zhǔn)備狀態(tài)。因此在第二 DMA模塊采用乒乓模式時,選擇處于就緒狀態(tài)的第一子空間進(jìn)行數(shù)據(jù)搬移。
[0073]需要說明的是,上述處理器和數(shù)據(jù)處理方法可以應(yīng)用于龍芯3B處理器上,本發(fā)明實(shí)施例以龍芯3B處理器為例對本發(fā)明的處理器和數(shù)據(jù)處理方法進(jìn)行說明,但并不構(gòu)成對本發(fā)明的限制。
[0074]本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成。前述的程序可以存儲于一計(jì)算機(jī)可讀取存儲介質(zhì)中。該程序在執(zhí)行時,執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲介質(zhì)包括:R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
[0075]最后應(yīng)說明的是:以上各實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。
【權(quán)利要求】
1.一種處理器,其特征在于,包括:第一直接內(nèi)存存取DMA模塊、第二直接內(nèi)存存取DMA模塊、內(nèi)存、寄存器堆;其中,所述第一 DMA模塊分別與所述內(nèi)存、訪存加速區(qū)相連,所述第二 DMA模塊分別與所述訪存加速區(qū)、所述寄存器堆相連;所述第一 DMA模塊,用于在所述訪存加速區(qū)與所述內(nèi)存之間進(jìn)行數(shù)據(jù)搬移;所述第二 DMA模塊,用于在所述訪存加速區(qū)與所述寄存器堆之間進(jìn)行數(shù)據(jù)搬移;所述訪存加速區(qū)為所述內(nèi)存中的鎖定地址區(qū),所述訪存加速區(qū),用于存儲所述第一 DMA模塊和所述第二 DMA模塊進(jìn)行讀寫的數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的處理器,其特征在于,所述第一DMA模塊,具體用于將從所述內(nèi)存中的非鎖定地址區(qū)讀取到的數(shù)據(jù)寫入所述訪存加速區(qū);或者,所述第一 DMA模塊,具體用于將從所述訪存加速區(qū)中讀取到的數(shù)據(jù)寫入所述內(nèi)存中的非鎖定地址區(qū);所述第二 DMA模塊,具體用于將從所述寄存器堆中讀取到的數(shù)據(jù)寫入所述訪存加速區(qū);或者,所述第二 DMA模塊,具體用于將從所述訪存加速區(qū)中讀取到的數(shù)據(jù)寫入所述寄存器。
3.根據(jù)權(quán)利要求1或2所述的處理器,其特征在于,所述訪存加速區(qū)劃分為至少兩個第一子空間,所述寄存器堆劃分為至少兩個第二子空間;所述第二 DMA模塊,具體用于采用乒乓模式在所述至少兩個第一子空間與所述至少兩個第二子空間進(jìn)行數(shù)據(jù)搬移。
4.根據(jù)權(quán)利要求3所述的處理器`,其特征在于,所述內(nèi)存具有至少6Gbit的連續(xù)物理地址空間,以使所述第一 DMA模塊從所述連續(xù)物理地址空間整段讀取數(shù)據(jù)。
5.一種數(shù)據(jù)處理方法,其特征在于,應(yīng)用于一處理器,所述處理器包括第一直接內(nèi)存存取DMA模塊、第二直接內(nèi)存存取DMA模塊、內(nèi)存以及寄存器堆,所述數(shù)據(jù)處理方法包括:所述第一 DMA模塊在所述訪存加速區(qū)與所述內(nèi)存之間進(jìn)行數(shù)據(jù)搬移;所述第二 DMA模塊在所述訪存加速區(qū)與所述寄存器堆之間進(jìn)行數(shù)據(jù)搬移;所述訪存加速區(qū)為所述內(nèi)存中的鎖定地址區(qū),所述訪存加速區(qū)用于存儲所述第一 DMA模塊和所述第二 DMA模塊進(jìn)行讀寫的數(shù)據(jù)。
6.根據(jù)權(quán)利要求5所述的數(shù)據(jù)處理方法,其特征在于,所述第一DMA模塊在所述訪存加速區(qū)與所述內(nèi)存之間進(jìn)行數(shù)據(jù)搬移,包括:所述第一 DMA模塊將從所述內(nèi)存中的非鎖定地址區(qū)讀取到的數(shù)據(jù)寫入所述訪存加速區(qū);或者,所述第一 DMA模塊將從所述訪存加速區(qū)中讀取到的數(shù)據(jù)寫入所述內(nèi)存中的非鎖定地址區(qū);所述第二 DMA模塊在所述訪存加速區(qū)與所述寄存器堆之間進(jìn)行數(shù)據(jù)搬移,包括:所述第二 DMA模塊將從所述寄存器堆中讀取到的數(shù)據(jù)寫入所述訪存加速區(qū);或者,所述第二 DMA模塊將從所述訪存加速區(qū)中讀取到的數(shù)據(jù)寫入所述寄存器。
7.根據(jù)權(quán)利要求5或6所述的數(shù)據(jù)處理方法,其特征在于,所述訪存加速區(qū)劃分為至少兩個第一子空間,所述寄存器堆劃分為至少兩個第二子空間;所述第二 DMA模塊采用乒乓模式在所述至少兩個第一子空間與所述至少兩個第二子空間進(jìn)行數(shù)據(jù)搬移。
8.根據(jù)權(quán)利要求7所述的數(shù)據(jù)處理方法,其特征在于,所述內(nèi)存具有至少6Gbit的連續(xù)物理地址空間,以使所述第一 DM`A模塊從所述連續(xù)物理地址空間整段讀取數(shù)據(jù)。
【文檔編號】G06F13/28GK103678204SQ201310746619
【公開日】2014年3月26日 申請日期:2013年12月30日 優(yōu)先權(quán)日:2013年12月30日
【發(fā)明者】馬健, 張戈, 劉奇, 李文剛 申請人:龍芯中科技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
西乌珠穆沁旗| 醴陵市| 临海市| 辽宁省| 峨山| 汽车| 古浪县| 涪陵区| 马山县| 巩留县| 桃园县| 大宁县| 广灵县| 锡林郭勒盟| 洛宁县| 石台县| 奉节县| 许昌市| 威海市| 呼伦贝尔市| 新昌县| 龙海市| 安龙县| 四平市| 田东县| 华阴市| 商丘市| 花垣县| 黄陵县| 南部县| 南溪县| 老河口市| 扎赉特旗| 米林县| 巴中市| 凤城市| 桐庐县| 湘潭市| 曲麻莱县| 永福县| 卓尼县|