一種緩存管理裝置及航空飛行器的制造方法
【專利摘要】本實(shí)用新型公開了一種緩存管理裝置及航空飛行器,該緩存管理裝置包括:按照預(yù)定義的內(nèi)存片長(zhǎng)度計(jì)算內(nèi)存片的地址實(shí)現(xiàn)對(duì)存儲(chǔ)器分片的運(yùn)算器;保存所述運(yùn)算器計(jì)算得到的內(nèi)存片的地址的第一寄存器,所述第一寄存器與所述運(yùn)算器連接;以及按照內(nèi)存請(qǐng)求方請(qǐng)求內(nèi)存的大小從所述第一寄存器選擇一個(gè)或多個(gè)內(nèi)存片并通過地址總線將選擇的內(nèi)存片的地址發(fā)送給內(nèi)存請(qǐng)求方的選擇器,所述選擇器與所述第一寄存器連接。本實(shí)用新型通過對(duì)存儲(chǔ)器的可使用的連續(xù)地址段進(jìn)行分片,為內(nèi)存請(qǐng)求方分配內(nèi)存片,實(shí)現(xiàn)對(duì)存儲(chǔ)器的管理,能夠?qū)崿F(xiàn)在AFDX通信協(xié)議的實(shí)現(xiàn)過程中緩存的有效分配和釋放。
【專利說明】一種緩存管理裝置及航空飛行器
【技術(shù)領(lǐng)域】
[0001]本實(shí)用新型涉及航電全雙工實(shí)時(shí)以太網(wǎng)通信協(xié)議的實(shí)現(xiàn),尤其涉及一種緩存管理裝置及航空飛行器。
【背景技術(shù)】
[0002]AFDX (Avionics Full Duplex Switched Ethernet,航電全雙工實(shí)時(shí)以太網(wǎng))是空中客車公司根據(jù)ARINC664規(guī)范,針對(duì)確定的飛行器數(shù)據(jù)網(wǎng)絡(luò)(Aircraft Data Networks)而實(shí)現(xiàn)的技術(shù)。目前已被廣泛用于互連航空飛行器中的電子系統(tǒng),如發(fā)動(dòng)機(jī)、飛行控制部件、巡航系統(tǒng)等。迄今為止,AFDX已使用在A380,A400M和波音B787項(xiàng)目中。
[0003]在該協(xié)議的實(shí)現(xiàn)過程中,需要大容量的存儲(chǔ)器對(duì)數(shù)據(jù)包進(jìn)行緩存,那么就需要對(duì)該大容量存儲(chǔ)器的存儲(chǔ)空間進(jìn)行管理,目前沒有合適的方式,或者不適用于AFDX協(xié)議實(shí)現(xiàn)過程中的數(shù)據(jù)緩存管理。
實(shí)用新型內(nèi)容
[0004]本實(shí)用新型要解決的技術(shù)問題是提供一種緩存管理裝置及航空飛行器,能夠在AFDX通信協(xié)議的實(shí)現(xiàn)過程,實(shí)現(xiàn)管理存儲(chǔ)器。
[0005]為解決上述技術(shù)問題,本實(shí)用新型的一種緩存管理裝置,包括:
[0006]按照預(yù)定義的內(nèi)存片長(zhǎng)度計(jì)算內(nèi)存片的地址實(shí)現(xiàn)對(duì)存儲(chǔ)器分片的運(yùn)算器;
[0007]保存所述運(yùn)算器計(jì)算得到的內(nèi)存片的地址的第一寄存器,所述第一寄存器與所述運(yùn)算器連接;
[0008]以及按照內(nèi)存請(qǐng)求方請(qǐng)求內(nèi)存的大小從所述第一寄存器選擇一個(gè)或多個(gè)內(nèi)存片并通過地址總線將選擇的內(nèi)存片的地址發(fā)送給內(nèi)存請(qǐng)求方的選擇器,所述選擇器與所述第
一寄存器連接。
[0009]進(jìn)一步地,該裝置還包括保存所述存儲(chǔ)器可使用的連續(xù)地址段的起始地址和結(jié)束地址的第二寄存器,所述第二寄存器與所述運(yùn)算器連接,所述運(yùn)算器在計(jì)算內(nèi)存片的首地址前,從所述第二寄存器讀取所述存儲(chǔ)器可使用的連續(xù)地址段的起始地址和結(jié)束地址。
[0010]進(jìn)一步地,該裝置還包括在接收到內(nèi)存請(qǐng)求方發(fā)送的申請(qǐng)分配信號(hào)后讀取第一寄存器中是否有可用的內(nèi)存片的第一讀寫器,所述第一讀寫器分別與所述第一寄存器和選擇器連接,所述第一讀寫器讀取到有可用的內(nèi)存片時(shí)向所述選擇器發(fā)送請(qǐng)求進(jìn)行內(nèi)存分配的通知消息。
[0011]進(jìn)一步地,所述選擇器在將選擇的內(nèi)存片的首地址或末地址發(fā)送給內(nèi)存請(qǐng)求方后,向所述第一讀寫器發(fā)送內(nèi)存已分配的通知消息;
[0012]所述第一讀寫器在接收到所述內(nèi)存已分配的通知消息后,從所述第一寄存器中刪除已分配的內(nèi)存片的首地址或末地址。
[0013]進(jìn)一步地,該裝置還包括在所述內(nèi)存請(qǐng)求方釋放申請(qǐng)到的內(nèi)存片并將釋放的內(nèi)存片的首地址或末地址寫入對(duì)應(yīng)的釋放內(nèi)存緩沖器后、讀取對(duì)應(yīng)的釋放內(nèi)存緩沖器中的內(nèi)存片的首地址或末地址并寫入所述第一寄存器、并從釋放內(nèi)存緩沖器中刪除內(nèi)存片的首地址或末地址的第二讀寫器,所述第二讀寫器與所述第一寄存器連接。
[0014]進(jìn)一步地,一種航空飛行器,包括:存儲(chǔ)器和緩存管理裝置,所述存儲(chǔ)器與所述緩存管理裝置相連接,其中,所述緩存管理裝置包括:
[0015]按照預(yù)定義的內(nèi)存片長(zhǎng)度計(jì)算內(nèi)存片的地址實(shí)現(xiàn)對(duì)存儲(chǔ)器分片的運(yùn)算器;
[0016]保存所述運(yùn)算器計(jì)算得到的內(nèi)存片的地址的第一寄存器,所述第一寄存器與所述運(yùn)算器連接;
[0017]以及按照內(nèi)存請(qǐng)求方請(qǐng)求內(nèi)存的大小從所述第一寄存器選擇一個(gè)或多個(gè)內(nèi)存片并通過地址總線將選擇的內(nèi)存片的地址發(fā)送給內(nèi)存請(qǐng)求方的選擇器,所述選擇器與所述第
一寄存器連接。
[0018]進(jìn)一步地,所述緩存管理裝置還包括保存所述存儲(chǔ)器可使用的連續(xù)地址段的起始地址和結(jié)束地址的第二寄存器,所述第二寄存器與所述運(yùn)算器連接,所述運(yùn)算器在計(jì)算內(nèi)存片的首地址前,從所述第二寄存器讀取所述存儲(chǔ)器可使用的連續(xù)地址段的起始地址和結(jié)束地址。
[0019]進(jìn)一步地,所述緩存管理裝置還包括在接收到內(nèi)存請(qǐng)求方發(fā)送的申請(qǐng)分配信號(hào)后讀取第一寄存器中是否有可用的內(nèi)存片的第一讀寫器,所述第一讀寫器分別與所述第一寄存器和選擇器連接,所述第一讀寫器在讀取到有可用的內(nèi)存片時(shí),向所述選擇器發(fā)送請(qǐng)求進(jìn)行內(nèi)存分配的通知消息。
[0020]進(jìn)一步地,所述選擇器在將選擇的內(nèi)存片的首地址或末地址發(fā)送給內(nèi)存請(qǐng)求方后,向所述第一讀寫器發(fā)送內(nèi)存已分配的通知消息;
[0021]所述第一讀寫器在接收到所述內(nèi)存已分配的通知消息后,從所述第一寄存器中刪除已分配的內(nèi)存片的首地址或末地址。
[0022]進(jìn)一步地,所述緩存管理裝置還包括在所述內(nèi)存請(qǐng)求方釋放申請(qǐng)到的內(nèi)存片并將釋放的內(nèi)存片的首地址或末地址寫入對(duì)應(yīng)的釋放內(nèi)存緩沖器后、讀取對(duì)應(yīng)的釋放內(nèi)存緩沖器中的內(nèi)存片的首地址或末地址并寫入所述第一寄存器、并從釋放內(nèi)存緩沖器中刪除內(nèi)存片的首地址或末地址的第二讀寫器,所述第二讀寫器與所述第一寄存器連接。
[0023]綜上所述,本實(shí)用新型通過對(duì)存儲(chǔ)器的可使用的連續(xù)地址段進(jìn)行分片,為內(nèi)存請(qǐng)求方分配內(nèi)存片,實(shí)現(xiàn)對(duì)存儲(chǔ)器的管理,能夠?qū)崿F(xiàn)在AFDX通信協(xié)議的實(shí)現(xiàn)過程中緩存的有效分配和釋放。
【專利附圖】
【附圖說明】
[0024]圖1為本實(shí)用新型實(shí)施方式的緩存管理裝置的架構(gòu)圖;
[0025]圖2為本實(shí)用新型的緩存管理裝置的工作流程圖。
【具體實(shí)施方式】
[0026]為使本申請(qǐng)的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下文中將結(jié)合附圖對(duì)本申請(qǐng)的實(shí)施例進(jìn)行詳細(xì)說明。需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互任意組合。
[0027]如圖1所示,本實(shí)施方式的緩存管理裝置,包括:運(yùn)算器、第一寄存器和選擇器,第一寄存器分別與運(yùn)算器和選擇器連接。
[0028]運(yùn)算器按照預(yù)定義的內(nèi)存片長(zhǎng)度計(jì)算內(nèi)存片的地址實(shí)現(xiàn)對(duì)存儲(chǔ)器分片,將計(jì)算得到的內(nèi)存片的地址保存到第一寄存器中,內(nèi)存片的地址可以是首地址也可以是末地址;
[0029]第一寄存器保存運(yùn)算器計(jì)算得到的內(nèi)存片的地址;
[0030]選擇器按照內(nèi)存請(qǐng)求方請(qǐng)求內(nèi)存的大小從第一寄存器選擇一個(gè)或多個(gè)內(nèi)存片并通過地址總線,將選擇的內(nèi)存片的地址發(fā)送給內(nèi)存請(qǐng)求方,實(shí)現(xiàn)內(nèi)存分配。
[0031]本實(shí)施方式的緩存管理裝置還包括第二寄存器,第二寄存器與運(yùn)算器連接,第二寄存器保存存儲(chǔ)器可使用的連續(xù)地址段的起始地址和結(jié)束地址,運(yùn)算器在計(jì)算內(nèi)存片的首地址前,從第二寄存器讀取存儲(chǔ)器可使用的連續(xù)地址段的起始地址和結(jié)束地址,在起始地址和結(jié)束地址的范圍內(nèi),按照預(yù)定義的內(nèi)存片長(zhǎng)度計(jì)算內(nèi)存片的地址實(shí)現(xiàn)對(duì)存儲(chǔ)器分片。
[0032]本實(shí)施方式的緩存管理裝置還包括第一讀寫器,第一讀寫器分別與第一寄存器和選擇器連接,第一讀寫器在接收到內(nèi)存請(qǐng)求方發(fā)送的申請(qǐng)分配信號(hào)后,讀取第一寄存器中是否有可用的內(nèi)存片,在讀取到有可用的內(nèi)存片時(shí),向選擇器發(fā)送請(qǐng)求進(jìn)行內(nèi)存分配的通知消息,在請(qǐng)求進(jìn)行內(nèi)存分配的通知消息中攜帶有內(nèi)存請(qǐng)求方請(qǐng)求內(nèi)存的大小。
[0033]本實(shí)施方式的緩存管理裝置中,選擇器在將選擇的內(nèi)存片的首地址或末地址發(fā)送給內(nèi)存請(qǐng)求方后,向第一讀寫器發(fā)送內(nèi)存已分配的通知消息,在內(nèi)存已分配的通知消息中攜帶有已分配的內(nèi)存片的首地址或末地址;
[0034]第一讀寫器在接收到內(nèi)存已分配的通知消息后,按照消息中攜帶的已分配的內(nèi)存片的首地址或末地址,從第一寄存器中刪除已分配的內(nèi)存片的首地址或末地址。
[0035]本實(shí)施方式的緩存管理裝置還包括第二讀寫器,第二讀寫器與第一寄存器連接,第二讀寫器在內(nèi)存請(qǐng)求方釋放申請(qǐng)到的內(nèi)存片并將釋放的內(nèi)存片的首地址或末地址寫入對(duì)應(yīng)的釋放內(nèi)存緩沖器后、讀取對(duì)應(yīng)的釋放內(nèi)存緩沖器中的內(nèi)存片的首地址或末地址并寫入第一寄存器、并從釋放內(nèi)存緩沖器中刪除內(nèi)存片的首地址或末地址。
[0036]需要說明的是,運(yùn)算器、第一寄存器、選擇器、第二寄存器、第一讀寫器和第二讀寫器是基于硬件電路實(shí)現(xiàn),比如邏輯開關(guān)器件等組建的硬件電路,詳細(xì)不再贅述
[0037]第一寄存器是將運(yùn)算器計(jì)算得到的內(nèi)存片的首地址或末地址保存在管理隊(duì)列中的寄存器。
[0038]第一讀寫器是從第一寄存器的管理隊(duì)列中讀取是否有可用的內(nèi)存片、在接收到內(nèi)存已分配的通知消息后,從管理隊(duì)列中刪除已分配的內(nèi)存片的首地址或末地址的讀寫器。
[0039]第二讀寫器是讀取對(duì)應(yīng)的釋放內(nèi)存緩沖器中的內(nèi)存片的首地址或末地址并寫入管理隊(duì)列的讀寫器。
[0040]本實(shí)施方式還提供了一種航空飛行器,該航空飛行器包括:存儲(chǔ)器和緩存管理裝置,存儲(chǔ)器與緩存管理裝置相連接,緩存管理裝置的具體結(jié)構(gòu)與上述的緩存管理裝置相同,此處不再贅述。
[0041]如圖2所示,本實(shí)施方式的緩存管理裝置的工作流程,下文中以計(jì)算器計(jì)算內(nèi)存片的首地址為例進(jìn)行說明,包括:
[0042]步驟201:第二寄存器保存存儲(chǔ)器可使用的連續(xù)地址段的起始地址和結(jié)束地址;
[0043]存儲(chǔ)器的可以使用的連續(xù)地址段是指在此地址段范圍內(nèi)的連續(xù)內(nèi)存空間可以使用。第二寄存器保存的存儲(chǔ)器可使用的連續(xù)地址段的起始地址和結(jié)束地址可以是人工輸入的,也可以是其他器件確定起始地址和結(jié)束地址后輸出給第二寄存器。
[0044]本實(shí)施方式中將實(shí)現(xiàn)過程中使用到的不同種類的存儲(chǔ)器抽象成為一個(gè)通過地址尋址的、帶有數(shù)據(jù)輸入輸出接口的存儲(chǔ)器,這樣對(duì)于地址的管理將會(huì)簡(jiǎn)化很多程序。
[0045]步驟202:運(yùn)算器按照預(yù)定義的內(nèi)存片長(zhǎng)度,對(duì)連續(xù)地址段計(jì)算內(nèi)存片的首地址實(shí)現(xiàn)對(duì)存儲(chǔ)器分片,將計(jì)算得到的內(nèi)存片的首地址保存到第一寄存器,第一寄存器保存運(yùn)算器計(jì)算得到的內(nèi)存片的首地址;
[0046]第一寄存器是將運(yùn)算器計(jì)算得到的內(nèi)存片的首地址保存在管理隊(duì)列的寄存器。本實(shí)施方式中通過管理隊(duì)列保存內(nèi)存片的首地址可以方便的管理內(nèi)存片,通過內(nèi)存片的首地址可以方便的定位到相應(yīng)的內(nèi)存片,通過管理隊(duì)列保存內(nèi)存片的首地址,可以方便的進(jìn)行內(nèi)存片使用情況讀取及內(nèi)存分配等操作。
[0047]對(duì)存儲(chǔ)器分片的過程直到對(duì)起始地址和結(jié)束地址范圍內(nèi)的內(nèi)存空間分片完畢,或者管理隊(duì)列滿,則完成了管理隊(duì)列的初始化。
[0048]分片的過程是一個(gè)計(jì)算的過程,按照預(yù)定義的內(nèi)存片長(zhǎng)度計(jì)算出起始地址和結(jié)束地址范圍內(nèi)的每個(gè)內(nèi)存片的首地址。
[0049]如,對(duì)于一個(gè)8K的連續(xù)地址段,預(yù)定義的內(nèi)存片長(zhǎng)度2K,那么可以分片出4個(gè)內(nèi)存片,將4個(gè)內(nèi)存片的首地址順序?qū)懙焦芾黻?duì)列中。
[0050]本實(shí)施方式中考慮到對(duì)于零散的或者變長(zhǎng)的內(nèi)存進(jìn)行管理是很難實(shí)現(xiàn)的,所以在實(shí)現(xiàn)過程中將存儲(chǔ)器進(jìn)行定長(zhǎng)分片處理,每次根據(jù)內(nèi)存請(qǐng)求方請(qǐng)求內(nèi)存的大小,使用一個(gè)或多個(gè)內(nèi)存片。
[0051]預(yù)定義的內(nèi)存片長(zhǎng)度的確定,根據(jù)不同的存儲(chǔ)器進(jìn)行確定,對(duì)于不同的存儲(chǔ)器預(yù)定義的內(nèi)存片長(zhǎng)度可以不相同,一個(gè)存儲(chǔ)器的每個(gè)內(nèi)存片的長(zhǎng)度都是相同的。
[0052]因?yàn)榈刂范际且?的N次方對(duì)齊的,所以內(nèi)存片的大小也需是2的N次方才是合理的??紤]到AFDX通信協(xié)議的每個(gè)數(shù)據(jù)包最大不超過1518字節(jié),所以本實(shí)施方式中可以定義的內(nèi)存片長(zhǎng)度為2K字節(jié),也即每次使用時(shí)以2K字節(jié)為單位進(jìn)行使用。
[0053]管理隊(duì)列可以是先入先出隊(duì)列,在系統(tǒng)初始化過程中將可使用連續(xù)地址段進(jìn)行分片后,將每個(gè)內(nèi)存片的首地址存入先入先出隊(duì)列中進(jìn)行管理。存儲(chǔ)器需要不斷的循環(huán)利用,使用過的內(nèi)存片是需要不斷重新使用的,使用時(shí)將內(nèi)存片分配出去,當(dāng)內(nèi)存片不再使用時(shí),再歸還到管理隊(duì)列中。因?yàn)槊恳粋€(gè)內(nèi)存片不是順序使用、順序歸還的,所以采用先入先出隊(duì)列,首地址先進(jìn)入管理隊(duì)列的內(nèi)存片先被使用,保證內(nèi)存片的有序使用。
[0054]步驟203:第一讀寫器在接收到內(nèi)存請(qǐng)求方發(fā)送的申請(qǐng)分配信號(hào)后,讀取第一寄存器中是否有可用的內(nèi)存片,在讀取到有可用的內(nèi)存片時(shí),向選擇器發(fā)送請(qǐng)求進(jìn)行內(nèi)存分配的通知消息;
[0055]第一讀寫器是讀取管理隊(duì)列中是否存在內(nèi)存片的首地址,如果存在,則確定有可用的內(nèi)存片。
[0056]步驟204:選擇器在接收到請(qǐng)求進(jìn)行內(nèi)存分配的通知消息后,按照內(nèi)存請(qǐng)求方請(qǐng)求內(nèi)存的大小從第一寄存器選擇一個(gè)或多個(gè)內(nèi)存片將選擇的內(nèi)存片的首地址發(fā)送給內(nèi)存請(qǐng)求方;
[0057]本實(shí)施方式中,選擇器在將選擇的內(nèi)存片的首地址發(fā)送給內(nèi)存請(qǐng)求方后,向第一讀寫器發(fā)送內(nèi)存已分配的通知消息,第一讀寫器在接收到內(nèi)存已分配的通知消息后,從第一寄存器的管理隊(duì)列中刪除已分配的內(nèi)存片的首地址。
[0058]在管理隊(duì)列采用先入先出隊(duì)列時(shí),如果管理隊(duì)列中存在多個(gè)內(nèi)存片的首地址,而內(nèi)存請(qǐng)求方只需要一個(gè)內(nèi)存片,則將管理隊(duì)列中的多個(gè)內(nèi)存片的首地址中最先進(jìn)入管理隊(duì)列的首地址對(duì)應(yīng)的內(nèi)存片分配給內(nèi)存請(qǐng)求方。
[0059]在將分配的內(nèi)存片的首地址發(fā)送給內(nèi)存請(qǐng)求方時(shí),選擇器還向內(nèi)存請(qǐng)求方發(fā)送地址有效信號(hào),通過地址有效信號(hào)向內(nèi)存請(qǐng)求方指示發(fā)送的內(nèi)存片的首地址有效。
[0060]在內(nèi)存的分配中有三個(gè)關(guān)鍵信號(hào),申請(qǐng)分配信號(hào),地址有效信號(hào)和分配地址輸出信號(hào)(攜帶分配的內(nèi)存片的首地址),每接收到一次有效的內(nèi)存請(qǐng)求方發(fā)出的申請(qǐng)分配信號(hào),如果管理隊(duì)列中有內(nèi)存片的首地址,則為內(nèi)存請(qǐng)求方分配內(nèi)存片,向內(nèi)存請(qǐng)求方發(fā)送地址有效信號(hào)和分配的內(nèi)存片的首地址,完成地址分配;如果管理隊(duì)列已經(jīng)為空,即沒有可用的內(nèi)存片可以分配,則需要等待有內(nèi)存片時(shí)再為內(nèi)存請(qǐng)求方分配內(nèi)存片。直到有釋放內(nèi)存片的內(nèi)存請(qǐng)求方時(shí),才會(huì)有可用的內(nèi)存片,本實(shí)施方式中,可以設(shè)置一等待時(shí)間閾值,在到達(dá)等待時(shí)間閾值時(shí),如果任然沒有可用的內(nèi)存片,則向內(nèi)存請(qǐng)求方發(fā)送分配失敗響應(yīng)。
[0061]在內(nèi)存請(qǐng)求方請(qǐng)求的內(nèi)存大于一個(gè)內(nèi)存片的大小時(shí),為內(nèi)存請(qǐng)求方分配多個(gè)內(nèi)存片,并且,由內(nèi)存請(qǐng)求方建立分配的多個(gè)內(nèi)存片之間的聯(lián)系。
[0062]內(nèi)存片與內(nèi)存片之前的聯(lián)系可以通過地址索引的方式建立,地址索引是指內(nèi)存請(qǐng)求方在前一個(gè)內(nèi)存片中存儲(chǔ)后面一個(gè)內(nèi)存片的首地址。
[0063]步驟205:第二讀寫器在內(nèi)存請(qǐng)求方釋放申請(qǐng)到的內(nèi)存片并將釋放的內(nèi)存片的首地址寫入到內(nèi)存請(qǐng)求方對(duì)應(yīng)的釋放內(nèi)存緩沖器后,讀取對(duì)應(yīng)的釋放內(nèi)存緩沖器中的內(nèi)存片的首地址并寫入第一寄存器、并從釋放內(nèi)存緩沖器中刪除內(nèi)存片的首地址。
[0064]內(nèi)存釋放的過程是每一個(gè)需要釋放內(nèi)存的內(nèi)存請(qǐng)求方對(duì)應(yīng)一個(gè)釋放內(nèi)存緩沖器,該釋放內(nèi)存緩沖器緩存需要釋放內(nèi)存的內(nèi)存請(qǐng)求方釋放出的內(nèi)存片的首地址,第二讀寫器定期或在需要釋放內(nèi)存的內(nèi)存請(qǐng)求方請(qǐng)求后,將需要釋放內(nèi)存的內(nèi)存請(qǐng)求方對(duì)應(yīng)的釋放內(nèi)存緩沖器中的內(nèi)存片的首地址寫入第一寄存器的管理隊(duì)列,并從釋放內(nèi)存緩沖器中刪除內(nèi)存片的首地址。設(shè)置釋放內(nèi)存緩沖器的主要原因是防止不同內(nèi)存請(qǐng)求方同時(shí)需要釋放內(nèi)存片時(shí),同時(shí)對(duì)第一寄存器的管理隊(duì)列進(jìn)行操作而產(chǎn)生沖突,導(dǎo)致內(nèi)存不能正常釋放,從而導(dǎo)致內(nèi)存泄露。
[0065]本領(lǐng)域普通技術(shù)人員可以理解上述方法中的全部或部分步驟可通過程序來指令相關(guān)硬件完成,所述程序可以存儲(chǔ)于計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如只讀存儲(chǔ)器、磁盤或光盤等??蛇x地,上述實(shí)施例的全部或部分步驟也可以使用一個(gè)或多個(gè)集成電路來實(shí)現(xiàn),相應(yīng)地,上述實(shí)施例中的各模塊/單元可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。本申請(qǐng)不限制于任何特定形式的硬件和軟件的結(jié)合。
[0066]以上所述僅為本申請(qǐng)的優(yōu)選實(shí)施例而已,并不用于限制本申請(qǐng),對(duì)于本領(lǐng)域的技術(shù)人員來說,本申請(qǐng)可以有各種更改和變化。凡在本申請(qǐng)的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種緩存管理裝置,其特征在于,包括: 按照預(yù)定義的內(nèi)存片長(zhǎng)度計(jì)算內(nèi)存片的地址實(shí)現(xiàn)對(duì)存儲(chǔ)器分片的運(yùn)算器; 保存所述運(yùn)算器計(jì)算得到的內(nèi)存片的地址的第一寄存器,所述第一寄存器與所述運(yùn)算器連接; 以及按照內(nèi)存請(qǐng)求方請(qǐng)求內(nèi)存的大小從所述第一寄存器選擇一個(gè)或多個(gè)內(nèi)存片并通過地址總線將選擇的內(nèi)存片的地址發(fā)送給內(nèi)存請(qǐng)求方的選擇器,所述選擇器與所述第一寄存器連接。
2.如權(quán)利要求1所述的緩存管理裝置,其特征在于,該裝置還包括保存所述存儲(chǔ)器可使用的連續(xù)地址段的起始地址和結(jié)束地址的第二寄存器,所述第二寄存器與所述運(yùn)算器連接,所述運(yùn)算器在計(jì)算內(nèi)存片的首地址前,從所述第二寄存器讀取所述存儲(chǔ)器可使用的連續(xù)地址段的起始地址和結(jié)束地址。
3.如權(quán)利要求1所述的緩存管理裝置,其特征在于,該裝置還包括在接收到內(nèi)存請(qǐng)求方發(fā)送的申請(qǐng)分配信號(hào)后讀取第一寄存器中是否有可用的內(nèi)存片的第一讀寫器,所述第一讀寫器分別與所述第一寄存器和選擇器連接,所述第一讀寫器讀取到有可用的內(nèi)存片時(shí)向所述選擇器發(fā)送請(qǐng)求進(jìn)行內(nèi)存分配的通知消息。
4.如權(quán)利要求3所述的緩存管理裝置,其特征在于, 所述選擇器在將選擇的內(nèi)存片的首地址或末地址發(fā)送給內(nèi)存請(qǐng)求方后,向所述第一讀寫器發(fā)送內(nèi)存已分配的通知消息; 所述第一讀寫器在接收到所述內(nèi)存已分配的通知消息后,從所述第一寄存器中刪除已分配的內(nèi)存片的首地址或末地址。
5.如權(quán)利要求1所述`的緩存管理裝置,其特征在于,該裝置還包括在所述內(nèi)存請(qǐng)求方釋放申請(qǐng)到的內(nèi)存片并將釋放的內(nèi)存片的首地址或末地址寫入對(duì)應(yīng)的釋放內(nèi)存緩沖器后、讀取對(duì)應(yīng)的釋放內(nèi)存緩沖器中的內(nèi)存片的首地址或末地址并寫入所述第一寄存器、并從釋放內(nèi)存緩沖器中刪除內(nèi)存片的首地址或末地址的第二讀寫器,所述第二讀寫器與所述第一寄存器連接。
6.一種航空飛行器,其特征在于,包括:存儲(chǔ)器和緩存管理裝置,所述存儲(chǔ)器與所述緩存管理裝置相連接,其中,所述緩存管理裝置包括: 按照預(yù)定義的內(nèi)存片長(zhǎng)度計(jì)算內(nèi)存片的地址實(shí)現(xiàn)對(duì)存儲(chǔ)器分片的運(yùn)算器; 保存所述運(yùn)算器計(jì)算得到的內(nèi)存片的地址的第一寄存器,所述第一寄存器與所述運(yùn)算器連接; 以及按照內(nèi)存請(qǐng)求方請(qǐng)求內(nèi)存的大小從所述第一寄存器選擇一個(gè)或多個(gè)內(nèi)存片并通過地址總線將選擇的內(nèi)存片的地址發(fā)送給內(nèi)存請(qǐng)求方的選擇器,所述選擇器與所述第一寄存器連接。
7.如權(quán)利要求6所述的航空飛行器,其特征在于,所述緩存管理裝置還包括保存所述存儲(chǔ)器可使用的連續(xù)地址段的起始地址和結(jié)束地址的第二寄存器,所述第二寄存器與所述運(yùn)算器連接,所述運(yùn)算器在計(jì)算內(nèi)存片的首地址前,從所述第二寄存器讀取所述存儲(chǔ)器可使用的連續(xù)地址段的起始地址和結(jié)束地址。
8.如權(quán)利要求6所述的航空飛行器,其特征在于,所述緩存管理裝置還包括在接收到內(nèi)存請(qǐng)求方發(fā)送的申請(qǐng)分配信號(hào)后讀取第一寄存器中是否有可用的內(nèi)存片的第一讀寫器,所述第一讀寫器分別與所述第一寄存器和選擇器連接,所述第一讀寫器在讀取到有可用的內(nèi)存片時(shí),向所述選擇器發(fā)送請(qǐng)求進(jìn)行內(nèi)存分配的通知消息。
9.如權(quán)利要求8所述的航空飛行器,其特征在于, 所述選擇器在將選擇的內(nèi)存片的首地址或末地址發(fā)送給內(nèi)存請(qǐng)求方后,向所述第一讀寫器發(fā)送內(nèi)存已分配的通知消息; 所述第一讀寫器在接收到所述內(nèi)存已分配的通知消息后,從所述第一寄存器中刪除已分配的內(nèi)存片的首地址或末地址。
10.如權(quán)利要求6所述的航空飛行器,其特征在于,所述緩存管理裝置還包括在所述內(nèi)存請(qǐng)求方釋放申請(qǐng)到的內(nèi)存片并將釋放的內(nèi)存片的首地址或末地址寫入對(duì)應(yīng)的釋放內(nèi)存緩沖器后、讀取對(duì)應(yīng)的釋放內(nèi)存緩沖器中的內(nèi)存片的首地址或末地址并寫入所述第一寄存器、并從釋放內(nèi)存緩沖器中刪除內(nèi)存片的首地址或末地址的第二讀寫器,所述第二讀寫器與所述第一寄存器連接。`
【文檔編號(hào)】G06F12/08GK203520386SQ201320409932
【公開日】2014年4月2日 申請(qǐng)日期:2013年7月10日 優(yōu)先權(quán)日:2013年7月10日
【發(fā)明者】苗佳旺, 楊水華, 胡永鋒, 原中亮, 安東明, 李鵬英, 汪偉, 趙偉華, 陽(yáng)坤, 鄭云龍, 吳順 申請(qǐng)人:北京旋極信息技術(shù)股份有限公司