專利名稱:一種在fpga上實(shí)現(xiàn)板載存儲(chǔ)資源管理的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明屬于數(shù)字集成電路領(lǐng)域,具體涉及一種在FPGA上實(shí)現(xiàn)板載存儲(chǔ)資源管理的系統(tǒng)和方法。
背景技術(shù):
由于采用硬件實(shí)現(xiàn)存儲(chǔ)管理過于復(fù)雜,因此現(xiàn)有技術(shù)中在FPGA上使用板載存儲(chǔ)資源時(shí),基本都是采用順序分配方式,先分配的存儲(chǔ)資源先釋放。當(dāng)最先分配的存儲(chǔ)資源沒有釋放時(shí),其后分配的存儲(chǔ)資源即使已經(jīng)釋放也不能使用,這樣會(huì)造成存儲(chǔ)資源利用率低下的問題。申請?zhí)枮?0071011138. 1的專利公開了 “動(dòng)態(tài)存儲(chǔ)管理裝置及方法”,該方法采用鏈表的數(shù)據(jù)結(jié)構(gòu)來維護(hù)存儲(chǔ)資源,該方法的缺點(diǎn)很明顯,每次存儲(chǔ)資源回收時(shí)都需要調(diào)整鏈表結(jié)構(gòu),這樣會(huì)帶來大量的存儲(chǔ)操作,降低系統(tǒng)的性能。
發(fā)明內(nèi)容
本發(fā)明解決現(xiàn)有技術(shù)中在FPGA上實(shí)現(xiàn)存儲(chǔ)資源動(dòng)態(tài)分配實(shí)現(xiàn)困難的問題,提供一種在FPGA上實(shí)現(xiàn)板載存儲(chǔ)資源管理的方法。本發(fā)明提供了一種在FPGA上實(shí)現(xiàn)板載存儲(chǔ)資源管理的系統(tǒng),其包括存儲(chǔ)資源、讀取單元、寫入單元、存儲(chǔ)資源地址池、地址分配和釋放單元,其特征在于存儲(chǔ)資源被分成固定大小的頁面,被用于動(dòng)態(tài)分配和回收。本發(fā)明提供的在FPGA上實(shí)現(xiàn)板載存儲(chǔ)資源管理的系統(tǒng),在地址分配和釋放單元和存儲(chǔ)資源地址池之間采用多級緩存結(jié)構(gòu);所述頁面的大小是256B、512B、1KB、2KB、4KB之一。本發(fā)明提供的在FPGA上實(shí)現(xiàn)板載存儲(chǔ)資源管理的系統(tǒng),該多級緩存采用FIFO結(jié)構(gòu)。本發(fā)明提供的在FPGA上實(shí)現(xiàn)板載存儲(chǔ)資源管理的系統(tǒng),該多級緩存為地址分配 FIFO和地址回收FIFO。本發(fā)明提供的在FPGA上實(shí)現(xiàn)板載存儲(chǔ)資源管理的系統(tǒng),存儲(chǔ)資源地址池采用 SDRAM實(shí)現(xiàn)。本發(fā)明提供的在FPGA上實(shí)現(xiàn)板載存儲(chǔ)資源管理的系統(tǒng),存儲(chǔ)資源被按照預(yù)先定義的大小劃分塊,其每塊的地址被寫到存儲(chǔ)資源地址池中。本發(fā)明提供的在FPGA上實(shí)現(xiàn)板載存儲(chǔ)資源管理的系統(tǒng),存儲(chǔ)資源被按照4KB劃分塊。本發(fā)明還提供了一種在FPGA上實(shí)現(xiàn)板載存儲(chǔ)資源管理的方法,將存儲(chǔ)資源分成固定大小的頁面,動(dòng)態(tài)分配和回收這些存儲(chǔ)頁面,從而大大提高板載存儲(chǔ)資源利用率。本發(fā)明提供的在FPGA上實(shí)現(xiàn)板載存儲(chǔ)資源管理的方法,該方法的步驟如下1)將存儲(chǔ)資源按照預(yù)先定義的大小劃分塊,并將每塊的地址寫到存儲(chǔ)資源地址池中。2)對于存儲(chǔ)資源數(shù)據(jù)的讀寫操作通過讀取單元和寫入單元實(shí)現(xiàn)。3)由于SDRAM實(shí)現(xiàn)的存儲(chǔ)資源地址池速度較低,需要在片內(nèi)實(shí)現(xiàn)多級緩存,該緩存采用FIFO實(shí)現(xiàn)。4)當(dāng)需要分配一塊存儲(chǔ)空間時(shí),通過地址分配和釋放單元從地址分配FIFO中讀取一項(xiàng)。當(dāng)一塊空間釋放時(shí),通過地址分配和釋放單元將釋放的地址寫到地址回收FIFO 中。本發(fā)明提供的在FPGA上實(shí)現(xiàn)板載存儲(chǔ)資源管理的方法,該方法步驟3中采取一級緩存。本發(fā)明提供的在FPGA上實(shí)現(xiàn)板載存儲(chǔ)資源管理的方法,該方法步驟3中,當(dāng)存儲(chǔ)資源地址池初始化完成之后,若地址分配FIFO快空,則從其中讀取數(shù)據(jù)寫到地址分配 FIFO,直到地址分配FIFO滿。若地址回收FIFO快滿則將數(shù)據(jù)寫到存儲(chǔ)資源地址池中。本發(fā)明提供的在FPGA上實(shí)現(xiàn)板載存儲(chǔ)資源管理的方法,由于存儲(chǔ)資源地址池需要的空間較大,因此存儲(chǔ)資源地址池采用SDRAM實(shí)現(xiàn)。本發(fā)明提供的在FPGA上實(shí)現(xiàn)板載存儲(chǔ)資源管理的方法,存儲(chǔ)資源按照4KB劃分塊。與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果在于1)采用多級結(jié)構(gòu)實(shí)現(xiàn)存儲(chǔ)資源地址池,使得存儲(chǔ)資源地址的分配和回收不影響系統(tǒng)性能。2)地址的分配和回收過程中不涉及鏈表操作,也使得存儲(chǔ)資源地址的分配和回收不影響系統(tǒng)性能。
圖1是本發(fā)明一個(gè)實(shí)施例示意圖。
具體實(shí)施例方式本發(fā)明提供一種在FPGA上實(shí)現(xiàn)板載存儲(chǔ)資源管理的方法,將存儲(chǔ)資源分成固定大小的頁面,動(dòng)態(tài)分配和回收這些存儲(chǔ)頁面,能大大提高板載存儲(chǔ)資源利用率。采用該方法的一個(gè)實(shí)施例結(jié)構(gòu)如圖1所示該方法的具體步驟如下1)由于存儲(chǔ)資源地址池需要的空間較大,因此存儲(chǔ)資源地址池采用SDRAM實(shí)現(xiàn)。 將存儲(chǔ)資源按照預(yù)先定義的大小(例如4KB)劃分塊,并將每塊的地址寫到存儲(chǔ)資源地址池中。2)對于存儲(chǔ)資源數(shù)據(jù)的讀寫操作通過讀取單元和寫入單元實(shí)現(xiàn)。3)由于SDRAM實(shí)現(xiàn)的存儲(chǔ)資源地址池速度較低,需要在片內(nèi)實(shí)現(xiàn)至少一級緩存, 該緩存采用FIFO實(shí)現(xiàn)。當(dāng)存儲(chǔ)資源地址池初始化完成之后,若地址分配FIFO快空,則從其中讀取數(shù)據(jù)寫到地址分配FIFO,直到地址分配FIFO滿。若地址回收FIFO快滿則將數(shù)據(jù)寫到存儲(chǔ)資源地址池中。4)當(dāng)需要分配一塊存儲(chǔ)空間時(shí),通過地址分配和釋放單元從地址分配FIFO中讀取一項(xiàng)。當(dāng)一塊空間釋放時(shí),通過地址分配和釋放單元將釋放的地址寫到地址回收FIFO 中。多級結(jié)構(gòu)可以保證地址的分配和回收不影響系統(tǒng)性能。本發(fā)明多級結(jié)構(gòu)實(shí)現(xiàn)存儲(chǔ)資源地址池,并且在地址的分配和回收過程中不涉及鏈表操作,使得存儲(chǔ)資源地址的分配和回收不影響系統(tǒng)性能。以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案而非對其限制,盡管參照上述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,所述領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解依然可以對本發(fā)明的具體實(shí)施方式
進(jìn)行修改或者同等替換,而未脫離本發(fā)明精神和范圍的任何修改或者等同替換, 其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
1.一種在FPGA上實(shí)現(xiàn)板載存儲(chǔ)資源管理的系統(tǒng),其包括存儲(chǔ)資源、讀取單元、寫入單元、存儲(chǔ)資源地址池、地址分配和釋放單元,其特征在于存儲(chǔ)資源被分成固定大小的頁面, 被用于動(dòng)態(tài)分配和回收。
2.權(quán)利要求1的系統(tǒng),其特征在于,在地址分配和釋放單元和存儲(chǔ)資源地址池之間采用多級緩存結(jié)構(gòu);所述頁面的大小是256B、512B、1KB、2KB、4KB之一。
3.權(quán)利要求1-2的系統(tǒng),其特征在于,該多級緩存采用FIFO結(jié)構(gòu)。
4.權(quán)利要求1-3的系統(tǒng),其特征在于,該多級緩存為地址分配FIFO和地址回收FIFO。
5.權(quán)利要求1-4的系統(tǒng),其特征在于,存儲(chǔ)資源地址池采用SDRAM實(shí)現(xiàn)。
6.權(quán)利要求1-5的系統(tǒng),其特征在于,存儲(chǔ)資源被按照預(yù)先定義的大小劃分塊,其每塊的地址被寫到存儲(chǔ)資源地址池中。
7.權(quán)利要求1-6的系統(tǒng),其特征在于,存儲(chǔ)資源被按照4KB劃分塊。
8.—種在FPGA上實(shí)現(xiàn)板載存儲(chǔ)資源管理的方法,其特征在于,將存儲(chǔ)資源分成固定大小的頁面,動(dòng)態(tài)分配和回收這些存儲(chǔ)頁面,從而大大提高板載存儲(chǔ)資源利用率。
9.權(quán)利要求8的方法,該方法的步驟如下1)將存儲(chǔ)資源按照預(yù)先定義的大小劃分塊,并將每塊的地址寫到存儲(chǔ)資源地址池中。2)對于存儲(chǔ)資源數(shù)據(jù)的讀寫操作通過讀取單元和寫入單元實(shí)現(xiàn)。3)由于SDRAM實(shí)現(xiàn)的存儲(chǔ)資源地址池速度較低,需要在片內(nèi)實(shí)現(xiàn)多級緩存,該緩存采用FIFO實(shí)現(xiàn)。4)當(dāng)需要分配一塊存儲(chǔ)空間時(shí),通過地址分配和釋放單元從地址分配FIFO中讀取一項(xiàng)。當(dāng)一塊空間釋放時(shí),通過地址分配和釋放單元將釋放的地址寫到地址回收FIFO中。
10.權(quán)利要求8-9的方法,該方法步驟3中采取一級緩存。
11.權(quán)利要求8-10的方法,該方法步驟3中,當(dāng)存儲(chǔ)資源地址池初始化完成之后,若地址分配FIFO快空,則從其中讀取數(shù)據(jù)寫到地址分配FIFO,直到地址分配FIFO滿。若地址回收FIFO快滿則將數(shù)據(jù)寫到存儲(chǔ)資源地址池中。
12.權(quán)利要求8-11的方法,由于存儲(chǔ)資源地址池需要的空間較大,因此存儲(chǔ)資源地址池采用SDRAM實(shí)現(xiàn)。
13.權(quán)利要求8-11的方法,存儲(chǔ)資源按照4KB劃分塊。
全文摘要
本發(fā)明提供了一種在FPGA上實(shí)現(xiàn)板載存儲(chǔ)資源管理的系統(tǒng)和方法,其包括存儲(chǔ)資源、讀取單元、寫入單元、存儲(chǔ)資源地址池、地址分配和釋放單元,所述存儲(chǔ)資源被分成固定大小的頁面,被用于動(dòng)態(tài)分配和回收;其中,頁面的大小是256B、512B、1KB、2KB、4KB之一。所述方法,將存儲(chǔ)資源分成固定大小的頁面,動(dòng)態(tài)分配和回收這些存儲(chǔ)頁面,從而大大提高板載存儲(chǔ)資源利用率;本發(fā)明提供的在FPGA上實(shí)現(xiàn)板載存儲(chǔ)資源管理的系統(tǒng)和方法,采用多級結(jié)構(gòu)實(shí)現(xiàn)存儲(chǔ)資源地址池,使得存儲(chǔ)資源地址的分配和回收不影響系統(tǒng)性能;地址的分配和回收過程中不涉及鏈表操作,也使得存儲(chǔ)資源地址的分配和回收不影響系統(tǒng)性能。
文檔編號G06F12/08GK102521157SQ201110413568
公開日2012年6月27日 申請日期2011年12月13日 優(yōu)先權(quán)日2011年12月13日
發(fā)明者張英文, 李靜, 竇曉光, 紀(jì)奎, 邵宗有 申請人:曙光信息產(chǎn)業(yè)(北京)有限公司