專利名稱:一種利用流水處理提高內(nèi)存效率的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及內(nèi)存控制技術(shù),具體講涉及一種利用流水處理提高內(nèi)存效率的方法。
背景技術(shù):
計(jì)算機(jī)軟件在當(dāng)今社會(huì)得到了越來(lái)越廣泛的應(yīng)用,一方面,計(jì)算機(jī)軟件正在被應(yīng) 用于越來(lái)越多的領(lǐng)域當(dāng)中;另一方面,計(jì)算機(jī)軟件的用戶也由原來(lái)的專業(yè)的計(jì)算機(jī)工程師, 轉(zhuǎn)變?yōu)楝F(xiàn)在的不同知識(shí)水平的廣大用戶。這就要求10計(jì)算機(jī)軟件功能強(qiáng)大,但簡(jiǎn)單易用, 這種要求直接導(dǎo)致計(jì)算機(jī)軟件規(guī)模變大,復(fù)雜度增加,使得用戶在應(yīng)用計(jì)算機(jī)軟件時(shí),軟件 錯(cuò)誤的發(fā)生率增加,其中,最主要、最常見(jiàn)的錯(cuò)誤就是軟件在進(jìn)行內(nèi)存訪問(wèn)時(shí)引起的錯(cuò)誤。 這種錯(cuò)誤總體表現(xiàn)為兩種形式一種是讀寫地址引用錯(cuò)誤;另一種是讀寫權(quán)限違反許可, 這兩種錯(cuò)誤統(tǒng)稱為非法內(nèi)存訪問(wèn)。目前,非法內(nèi)存訪問(wèn)會(huì)導(dǎo)致嚴(yán)重的不良后巧果非法讀內(nèi) 存,會(huì)引起數(shù)據(jù)引用出錯(cuò),導(dǎo)致系統(tǒng)混亂;非法寫內(nèi)存,會(huì)破壞內(nèi)存中的正常數(shù)據(jù),嚴(yán)重時(shí), 還會(huì)導(dǎo)致系統(tǒng)癱瘓目前對(duì)內(nèi)存訪問(wèn)的方法中,基本都是通過(guò)順序訪問(wèn)內(nèi)存來(lái)進(jìn)行數(shù)據(jù)查找,由于從 內(nèi)存訪問(wèn)到數(shù)據(jù)返回需要較多周期數(shù),如果順序訪問(wèn)會(huì)造成系統(tǒng)性能低下。
發(fā)明內(nèi)容
本發(fā)明的目的是提出一種高效率內(nèi)存訪問(wèn)方法。一種利用流水處理提高內(nèi)存效率的方法,步驟如下A、流水線系統(tǒng)接收新的報(bào)文信息時(shí),根據(jù)四元組通過(guò)哈希算法得到哈希值,每級(jí) 流水線訪問(wèn)TCP連接索引表,將32位訪存地址加寬至40位,高8位為tag號(hào);B、第一級(jí)流水線等待TCP連接索引表的返回?cái)?shù)據(jù),保存到緩沖區(qū)隊(duì)列,tag號(hào)位 1 ;在等待第一級(jí)流水線返回?cái)?shù)據(jù)的同時(shí),第二級(jí)水線從tag號(hào)位1的隊(duì)列中取址訪問(wèn)TCP 連接記錄緩沖區(qū),同時(shí)流水線可以接收新的報(bào)文消息,進(jìn)行第一次訪存;連接管理系統(tǒng)根據(jù) tag號(hào)將返回?cái)?shù)據(jù)分門別類保存至先進(jìn)先出隊(duì)列緩沖區(qū);C、流水線系統(tǒng)在需要使用數(shù)據(jù)時(shí),從相應(yīng)緩沖區(qū)取出數(shù)據(jù)使用。本發(fā)明的第一種優(yōu)選技術(shù)方案在于連接管理采用3級(jí)流水線方式并發(fā)處理多個(gè) TCP連接,第一級(jí)為訪問(wèn)TCP連接索引表,第二級(jí)為TCP連接記錄緩沖區(qū),第3級(jí)為更新上述 兩個(gè)表結(jié)構(gòu)。本發(fā)明的第二種優(yōu)選技術(shù)方案在于采用流水線方式進(jìn)行內(nèi)存訪問(wèn)。本發(fā)明的第三種優(yōu)選技術(shù)方案在于在進(jìn)行第一級(jí)和第二級(jí)兩個(gè)訪存的同時(shí),如 果流表地址和亂序緩沖區(qū)快要用盡,可以發(fā)起更新上述兩個(gè)地址池的訪問(wèn),tag分別為3和 4,返回?cái)?shù)據(jù)存儲(chǔ)在相應(yīng)的緩沖區(qū)隊(duì)列中。本發(fā)明采用流水線進(jìn)行并行訪存,將數(shù)據(jù)保存在相應(yīng)的先進(jìn)先出緩沖區(qū)隊(duì)列中, 有效提高了訪存效率。
圖1位本發(fā)明邏輯結(jié)構(gòu)圖
具體實(shí)施例方式1、接收新的報(bào)文信息時(shí),根據(jù)四元組通過(guò)哈希算法得到哈希值,第一級(jí)流水線訪 問(wèn)TCP連接索引表,將32位訪存地址加寬至40位,高8位為1。2、等待步驟1返回?cái)?shù)據(jù),保存到先進(jìn)先出緩沖區(qū)隊(duì)列,tag號(hào)位1。在等待第一級(jí) 流水線返回?cái)?shù)據(jù)的同時(shí),第二級(jí)水線從tag號(hào)位1的隊(duì)列中取址訪問(wèn)TCP連接記錄緩沖區(qū), 將32位訪存地址加寬至40位,高8位為2。同時(shí)流水線可以接收新的報(bào)文消息,進(jìn)行第一 次訪存。3、等待步驟2返回?cái)?shù)據(jù),保存到相應(yīng)緩沖區(qū)隊(duì)列中,tag號(hào)為2。4、在進(jìn)行上述兩個(gè)訪存的同時(shí),如果流表地址和亂序緩沖區(qū)快要用盡,可以發(fā)起 更新上述兩個(gè)地址池的訪問(wèn),tag分別為3和4,返回?cái)?shù)據(jù)存儲(chǔ)在相應(yīng)的緩沖區(qū)隊(duì)列中。
權(quán)利要求
1.一種利用流水處理提高內(nèi)存效率的方法,其特征在于步驟如下A、流水線系統(tǒng)接收新的報(bào)文信息時(shí),根據(jù)四元組通過(guò)哈希算法得到哈希值,每級(jí)流水 線訪問(wèn)TCP連接索引表,將32位訪存地址加寬至40位,高8位為tag號(hào);B、第一級(jí)流水線等待TCP連接索引表的返回?cái)?shù)據(jù),保存到緩沖區(qū)隊(duì)列,tag號(hào)位1;在等 待第一級(jí)流水線返回?cái)?shù)據(jù)的同時(shí),第二級(jí)水線從tag號(hào)位1的隊(duì)列中取址訪問(wèn)TCP連接記 錄緩沖區(qū),同時(shí)流水線可以接收新的報(bào)文消息,進(jìn)行第一次訪存;連接管理系統(tǒng)根據(jù)tag號(hào) 將返回?cái)?shù)據(jù)分門別類保存至先進(jìn)先出隊(duì)列緩沖區(qū);C、流水線系統(tǒng)在需要使用數(shù)據(jù)時(shí),從相應(yīng)緩沖區(qū)取出數(shù)據(jù)使用。
2.如權(quán)利要求1所述一種利用流水處理提高內(nèi)存效率的方法,其特征在于連接管理 采用3級(jí)流水線方式并發(fā)處理多個(gè)TCP連接,第一級(jí)為訪問(wèn)TCP連接索引表,第二級(jí)為TCP 連接記錄緩沖區(qū),第3級(jí)為更新上述兩個(gè)表結(jié)構(gòu)。
3.如權(quán)利要求1所述一種利用流水處理提高內(nèi)存效率的方法,其特征在于采用流水 線方式進(jìn)行內(nèi)存訪問(wèn)。
4.如權(quán)利要求1所述一種利用流水處理提高內(nèi)存效率的方法,其特征在于在進(jìn)行第 一級(jí)和第二級(jí)兩個(gè)訪存的同時(shí),如果流表地址和亂序緩沖區(qū)快要用盡,可以發(fā)起更新上述 兩個(gè)地址池的訪問(wèn),tag分別為3和4,返回?cái)?shù)據(jù)存儲(chǔ)在相應(yīng)的緩沖區(qū)隊(duì)列中。
全文摘要
本發(fā)明提供了一種利用流水處理提高內(nèi)存效率的方法,并行處理單元同時(shí)發(fā)出請(qǐng)求,在請(qǐng)求地址中加上tag號(hào);根據(jù)內(nèi)存返回?cái)?shù)據(jù)攜帶的tag對(duì)返回?cái)?shù)據(jù)分門別類存儲(chǔ)到相應(yīng)緩沖區(qū);使用時(shí)在相應(yīng)緩存區(qū)取數(shù),進(jìn)行數(shù)據(jù)處理。本發(fā)明采用流水線進(jìn)行并行訪存,有效提高了訪存效率。
文檔編號(hào)G06F9/38GK102103490SQ20101059849
公開(kāi)日2011年6月22日 申請(qǐng)日期2010年12月17日 優(yōu)先權(quán)日2010年12月17日
發(fā)明者張磊, 張英文, 李楠寧, 李靜, 白宗元, 竇曉光, 紀(jì)奎 申請(qǐng)人:曙光信息產(chǎn)業(yè)股份有限公司