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

擴(kuò)展計(jì)數(shù)密鑰數(shù)據(jù)的基于塊的端到端數(shù)據(jù)保護(hù)方法和系統(tǒng)與流程

文檔序號(hào):12596729閱讀:237來(lái)源:國(guó)知局
擴(kuò)展計(jì)數(shù)密鑰數(shù)據(jù)的基于塊的端到端數(shù)據(jù)保護(hù)方法和系統(tǒng)與流程

本發(fā)明涉及一種計(jì)算機(jī)緩存系統(tǒng)的管理算法,具體是指一種CPU緩存系統(tǒng)的管理方法。



背景技術(shù):

目前,計(jì)算機(jī)系統(tǒng)訪問(wèn)諸如內(nèi)存和其他低級(jí)存儲(chǔ)設(shè)備(如硬盤(pán)和網(wǎng)絡(luò)設(shè)備)時(shí)均有很大的延遲。以訪問(wèn)內(nèi)存為例,在CPU發(fā)出數(shù)據(jù)和指令的存取命令后,要約100納秒的時(shí)間才能得到數(shù)據(jù),這相當(dāng)于CPU核心執(zhí)行幾百條指令的時(shí)間。由于CPU系統(tǒng)對(duì)指令和數(shù)據(jù)的使用有一定的規(guī)律,因此根據(jù)這些規(guī)律,我們便可以設(shè)計(jì)各種手段猜測(cè)CPU將要使用到的指令和數(shù)據(jù),并提前預(yù)取這些內(nèi)容到CPU中以備用。這樣當(dāng)CPU要實(shí)際使用這些指令和數(shù)據(jù)時(shí),不需要等待,可以立即得到這些指令和數(shù)據(jù)。因此,預(yù)?。≒refetch)是能夠有效地減少CPU訪問(wèn)內(nèi)存和其他低級(jí)存儲(chǔ)設(shè)備的平均訪問(wèn)延遲的一種手段。

然而,預(yù)取在實(shí)際應(yīng)用中的功效取決于兩個(gè)條件:第一,預(yù)取的準(zhǔn)確性,也即預(yù)取的數(shù)據(jù)和指令是否及時(shí),是否會(huì)被實(shí)際地用到;第二,預(yù)取的指令和數(shù)據(jù)對(duì)CPU緩存中現(xiàn)有的有用的指令和數(shù)據(jù)的排擠沖刷作用。雖然預(yù)取可以有效地降低內(nèi)存訪問(wèn)的平均延遲,但是預(yù)取的內(nèi)容會(huì)替換掉CPU緩存中現(xiàn)有的有用指令和數(shù)據(jù),而這些被預(yù)取的內(nèi)容替換掉的CPU緩存中現(xiàn)有的有用內(nèi)容是將來(lái)要被重新耗費(fèi)時(shí)間讀入CPU的。因此對(duì)預(yù)取內(nèi)容的處理不當(dāng),會(huì)增加CPU緩存失誤,增加CPU對(duì)內(nèi)存的訪問(wèn)次數(shù),損害性能。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的在于克服目前CPU預(yù)取時(shí),CPU緩存中現(xiàn)有的有用數(shù)據(jù)會(huì)被預(yù)取的內(nèi)容替換掉,從而會(huì)增加緩存失誤、降低性能的缺陷,提供一種能有效解決上述缺陷的一種擴(kuò)展計(jì)數(shù)密鑰數(shù)據(jù)的基于塊的端到端數(shù)據(jù)保護(hù)方法和系統(tǒng)。

本發(fā)明通過(guò)以下技術(shù)方案實(shí)現(xiàn):一種擴(kuò)展計(jì)數(shù)密鑰數(shù)據(jù)的基于塊的端到端數(shù)據(jù)保護(hù)方法和系統(tǒng),該緩存系統(tǒng)包括一個(gè)以上的緩存線,且每個(gè)緩存線均包含有一個(gè)或多個(gè)數(shù)據(jù)字,同時(shí)每個(gè)緩存線都有一個(gè)命中Hit標(biāo)識(shí)位,所述緩存線的數(shù)據(jù)字為當(dāng)前正在使用的或預(yù)取的;其管理步驟為:在緩存線裝載時(shí),其命中Hit標(biāo)識(shí)位被置為0;在緩存線命中時(shí),命中Hit標(biāo)識(shí)位被置為1;替換時(shí),首先替換命中Hit標(biāo)識(shí)位為0的緩存線,再替換命中Hit標(biāo)識(shí)位為1的緩存線。

進(jìn)一步地,上述每個(gè)緩存線中都還設(shè)有一個(gè)預(yù)取P標(biāo)識(shí)位,其管理步驟為,當(dāng)緩存線的數(shù)據(jù)字為預(yù)取的內(nèi)容時(shí),P標(biāo)識(shí)位置1,否則置0;在替換時(shí),首先替換P標(biāo)識(shí)位都為0的緩存線,再替換P標(biāo)識(shí)位為1的緩存線?;蛘撸總€(gè)緩存線中還設(shè)有一個(gè)U標(biāo)識(shí)位,其管理步驟為,當(dāng)緩存線第一次裝載入緩存時(shí),U標(biāo)識(shí)位置1;在替換時(shí),首先替換U標(biāo)識(shí)位都為零的緩存線,再替換U標(biāo)識(shí)位為1的緩存線。

為了較好的實(shí)現(xiàn)本發(fā)明,本發(fā)明的另一種技術(shù)方案為:

一種擴(kuò)展計(jì)數(shù)密鑰數(shù)據(jù)的基于塊的端到端數(shù)據(jù)保護(hù)方法和系統(tǒng),該緩存系統(tǒng)由多個(gè)緩存線構(gòu)成,且每個(gè)緩存線都包含一個(gè)或多個(gè)數(shù)據(jù)字,同時(shí)每個(gè)緩存線都有一個(gè)命中Hit標(biāo)識(shí)位。其管理步驟為:在緩存線裝載時(shí),命中Hit標(biāo)識(shí)位被置為0;在緩存線命中時(shí),命中Hit標(biāo)識(shí)位被置為1;在替換時(shí),首先替換命中Hit標(biāo)識(shí)位為0的緩存線,再替換命中Hit標(biāo)識(shí)位為1的緩存線;當(dāng)命中Hit標(biāo)識(shí)位為1的緩存線的數(shù)目達(dá)到預(yù)訂的閥值時(shí),或者命中Hit標(biāo)識(shí)位為1的緩存線滿(mǎn)足預(yù)定的組合邏輯近似條件的設(shè)定時(shí),清零全部或者部分緩存線的命中Hit標(biāo)識(shí)位。

為了較好的實(shí)現(xiàn)本發(fā)明,上述緩存線分為兩個(gè)或以上的子集,當(dāng)每個(gè)子集中所有緩存線的命中Hit標(biāo)識(shí)位都為1,或者滿(mǎn)足預(yù)定的組合邏輯近似條件的設(shè)定時(shí),全部或者部分清除該子集的緩存線的命中Hit標(biāo)識(shí)位。

本發(fā)明的第三種技術(shù)方案為:一種擴(kuò)展計(jì)數(shù)密鑰數(shù)據(jù)的基于塊的端到端數(shù)據(jù)保護(hù)方法和系統(tǒng),該緩存由多個(gè)緩存線構(gòu)成,且每個(gè)緩存線包含多個(gè)數(shù)據(jù)字,同時(shí)每個(gè)緩存線按地址分成多個(gè)子集,每個(gè)子集對(duì)應(yīng)一個(gè)或者多個(gè)數(shù)據(jù)字;每個(gè)子集設(shè)置一個(gè)或多個(gè)局部Sub-block 標(biāo)識(shí)位;當(dāng)緩存查詢(xún)和填充等操作采用緩存線子集對(duì)應(yīng)的地址的粒度時(shí),根據(jù)緩存線子集對(duì)應(yīng)的地址粒度記錄緩存線相應(yīng)子集的狀態(tài)和歷史信息,并將信息保存在該子集對(duì)應(yīng)的局部Sub-block標(biāo)識(shí)位中。

為了較好的實(shí)現(xiàn)本發(fā)明,上述每個(gè)緩存線子集設(shè)置一個(gè)局部使用Sub-block Used標(biāo)識(shí)位;整個(gè)緩存線設(shè)置一個(gè)或多個(gè)全局標(biāo)識(shí)位,其管理步驟如下:

當(dāng)緩存線第一次裝入緩存時(shí),除了正在訪問(wèn)的地址所對(duì)應(yīng)的子集的局部使用Sub-block Used標(biāo)識(shí)位置1,其他子集的局部使用Sub-block Used標(biāo)識(shí)位置0;當(dāng)緩存線在緩存中命中時(shí),如果命中的地址所對(duì)應(yīng)的子集的局部使用Sub-block Used標(biāo)識(shí)位為0,則置1;如果命中的地址所對(duì)應(yīng)的子集的局部使用Sub-block Used標(biāo)識(shí)位已經(jīng)為1,則改變?nèi)謽?biāo)識(shí)位。

或者,在上述基礎(chǔ)上,每個(gè)緩存線中都還設(shè)有一個(gè)全局命中Global Hit標(biāo)識(shí)位,其管理步驟如下:當(dāng)緩存線第一次裝入緩存時(shí),全局命中Global Hit標(biāo)識(shí)位置為0,除了正在訪問(wèn)的地址所對(duì)應(yīng)的子集的局部使用Sub-block Used標(biāo)識(shí)位置1,其他子集的局部使用Sub-block Used標(biāo)識(shí)位置0;當(dāng)緩存線在緩存中命中時(shí),如果命中的地址所對(duì)應(yīng)的子集的局部使用Sub-block Used標(biāo)識(shí)位為0,則置1;如果命中的地址所對(duì)應(yīng)的子集的局部使用Sub-block Used標(biāo)識(shí)位已經(jīng)為1,則置全局命中Global Hit標(biāo)識(shí)位為1;替換時(shí),首先替換全局命中Global Hit標(biāo)識(shí)位為0的緩存線,在替換全局命中Global Hit標(biāo)識(shí)位為1的緩存線。

第四種技術(shù)方案為:一種擴(kuò)展計(jì)數(shù)密鑰數(shù)據(jù)的基于塊的端到端數(shù)據(jù)保護(hù)方法和系統(tǒng),每個(gè)緩存線有一個(gè)全局使用Global Used標(biāo)識(shí)位,其管理步驟如下:當(dāng)緩存線第一次裝入緩存時(shí),全局Global Used標(biāo)識(shí)位置為1,除了正在訪問(wèn)的地址所對(duì)應(yīng)的子集的局部使用Sub-block Used標(biāo)識(shí)位置1,其他子集的局部使用Sub-block Used標(biāo)識(shí)位置0;緩存線在緩存中命中時(shí),如果命中的地址所對(duì)應(yīng)的子集的局部使用Sub-block Used標(biāo)識(shí)位為0,則置1;如果命中的地址所對(duì)應(yīng)的子集的局部使用Sub-block Used標(biāo)識(shí)位已經(jīng)為1,則置全局使用Global Used標(biāo)識(shí)位為1;替換時(shí),首先替換全局使用Global Used標(biāo)識(shí)位為0的緩存線,再替換全局使用Global Used標(biāo)識(shí)位為1的緩存線。

第五種技術(shù)方案:一種擴(kuò)展計(jì)數(shù)密鑰數(shù)據(jù)的基于塊的端到端數(shù)據(jù)保護(hù)方法和系統(tǒng),該緩存由多個(gè)緩存線構(gòu)成,且每個(gè)緩存線有多個(gè)數(shù)據(jù)字;每個(gè)緩存線的數(shù)據(jù)字按地址分為多個(gè)子集,且每個(gè)子集都設(shè)置一個(gè)用于記錄該子集訪問(wèn)歷史的標(biāo)識(shí)位,其管理步驟如下:

若子集對(duì)應(yīng)的地址被訪問(wèn),則將該子集的標(biāo)識(shí)位置為1;若子集的標(biāo)識(shí)位為1的數(shù)目達(dá)到預(yù)訂閥值或者設(shè)定條件時(shí),則發(fā)出內(nèi)存訪問(wèn)的的預(yù)取命令。

本發(fā)明較現(xiàn)有技術(shù)相比,具有以下優(yōu)點(diǎn)及有益效果:

(1)本發(fā)明能確保CPU系統(tǒng)具有效地進(jìn)行指令和數(shù)據(jù)的預(yù)取,能在指令和數(shù)據(jù)被真實(shí)使用前,提前發(fā)出請(qǐng)求從內(nèi)存或者其他存儲(chǔ)機(jī)構(gòu)將指令和數(shù)據(jù)取回到CPU中,能顯著地降低平均訪問(wèn)延遲,從而提高運(yùn)算速度。

(2)本發(fā)明CPU 系統(tǒng)中預(yù)取的指令和數(shù)據(jù)既可以單獨(dú)存放于一塊緩存區(qū),也可以與非預(yù)取的指令和數(shù)據(jù)存放于同樣的緩存中,使用范圍較廣。

(3)本發(fā)明采用的緩存替換算法,能確保CPU系統(tǒng)運(yùn)行的穩(wěn)定性,最大程度地降低緩存失誤,最少次數(shù)地對(duì)內(nèi)存進(jìn)行訪問(wèn)。

(4)本發(fā)明還具有防止WLRU緩存替換算法的過(guò)殺傷功能,因此能確保本發(fā)明的使用效果。

附圖說(shuō)明

圖1為本發(fā)明涉及的CPU內(nèi)部結(jié)構(gòu)示意圖。

圖2為本發(fā)明實(shí)施例1中的緩存線的存儲(chǔ)結(jié)構(gòu)示意圖。

具體實(shí)施方式

下面結(jié)合具體的實(shí)施例對(duì)本發(fā)明進(jìn)行闡述,但本發(fā)明的實(shí)施方式不限于此。

實(shí)施例1

如圖1~2所示,本發(fā)明CPU系統(tǒng)中的CPU獨(dú)立芯片100內(nèi)部集成有CPU核心110 、二級(jí)緩存130、內(nèi)存訪問(wèn)控制器MMU 140及四個(gè)內(nèi)存通道。CPU核心110中內(nèi)置有CPU執(zhí)行機(jī)構(gòu)116、第一級(jí)指令緩存112(即L1-I Cache)和第一級(jí)數(shù)據(jù)緩存114(即L1-D Cache)。二級(jí)緩存130直接與CPU核心110進(jìn)行數(shù)據(jù)交換,而所述的四個(gè)內(nèi)存通道(即內(nèi)存通道一152、內(nèi)存通道二154、內(nèi)存通道三156和內(nèi)存通道四158)則與內(nèi)存訪問(wèn)控制器MMU 140相連接,以接受其管理指令。

內(nèi)存訪問(wèn)控制器MMU 140與CPU核心110的指令和數(shù)據(jù)的填充機(jī)構(gòu)交換數(shù)據(jù)。圖1中的CPU獨(dú)立芯片100的第一緩存采用的是指令和數(shù)據(jù)分開(kāi)的存儲(chǔ)的結(jié)構(gòu):指令存放于第一級(jí)指令緩存112 中,數(shù)據(jù)存放于第一級(jí)數(shù)據(jù)緩存114中。CPU緩存是位于和CPU核心110同一塊芯片上的存儲(chǔ)區(qū),且CPU緩存的讀寫(xiě)延遲要明顯小于位于CPU獨(dú)立芯片100外部的內(nèi)存,即圖1中所設(shè)計(jì)的四個(gè)分別獨(dú)立與四個(gè)內(nèi)存通道相連接的內(nèi)存模塊120、內(nèi)存模塊122、內(nèi)存模塊124和內(nèi)存模塊126。目前,CPU緩存通常用高速讀寫(xiě)電路,比如SRAM制造,而內(nèi)存由DRAM電路制造。

圖2描述了一種緩存線的存儲(chǔ)結(jié)構(gòu)示意圖,該緩存線有TAG存儲(chǔ)區(qū)260,Data存儲(chǔ)區(qū)270,和5個(gè)標(biāo)識(shí)位。所述的5個(gè)標(biāo)識(shí)位為:V標(biāo)識(shí)位210,H標(biāo)識(shí)位220,A標(biāo)識(shí)位230,D標(biāo)識(shí)位240和P標(biāo)識(shí)位250。其中,V標(biāo)識(shí)位210代表緩存線為合法有效(Valid);H標(biāo)識(shí)位220表示緩存線被命中(Hit)過(guò),在緩存線最初裝入時(shí),H標(biāo)識(shí)位220被設(shè)置為零,若緩存線命中,則置為1;A標(biāo)識(shí)位230標(biāo)識(shí)該緩存線已經(jīng)被替換算法分配(Allocated);D標(biāo)識(shí)位240表示該緩存線的內(nèi)容曾經(jīng)被改動(dòng)過(guò)(Dirty),在被替換出緩存后,需要將改變后的內(nèi)容寫(xiě)入內(nèi)存;P標(biāo)識(shí)位250代表Prefetch,如果該標(biāo)識(shí)位被設(shè)置為1,表示該緩存線存儲(chǔ)的是預(yù)取的內(nèi)容。

對(duì)于非預(yù)取的指令和數(shù)據(jù),當(dāng)其填入CPU緩存中時(shí),相應(yīng)緩存線的P標(biāo)識(shí)位250將被設(shè)置為零,以示和存儲(chǔ)預(yù)取的內(nèi)容的緩存線的區(qū)別。P標(biāo)識(shí)位250為1的緩存線在命中后,P標(biāo)識(shí)位250可以被清零。P標(biāo)識(shí)位250為1的緩存線在第一次命中后,可以其命中H標(biāo)識(shí)位220可以不置1。

在上述過(guò)程中,清零緩存線的命中Hit標(biāo)識(shí)位,可以全部清零,也可以只清零一部分,比如清零其中一半的緩存線。部分清零時(shí),可以采用一個(gè)偽隨機(jī)的指針來(lái)確定要清零的緩存線。如果清零一半的緩存線,指針只需1位寬。當(dāng)指針的值為零時(shí),清零低半部分的緩存線的命中Hit標(biāo)識(shí)位;指針的值為1時(shí),清零編號(hào)在高半部分的緩存線的命中Hit標(biāo)識(shí)位。如果每次清零一半的緩存線,當(dāng)指針為0時(shí),清零緩存線0到7,指針為1時(shí),清零緩存線8到15。每做一次清零動(dòng)作后,指針的值翻轉(zhuǎn),從0變?yōu)?或者從1變?yōu)?。

WLRU替換算法的防“過(guò)殺傷”設(shè)計(jì)可以保證新的緩存內(nèi)容在緩存中能夠有適當(dāng)?shù)耐A魰r(shí)間通過(guò)這段停留時(shí)間,WLRU替換算法可以有效地判斷緩存內(nèi)容的價(jià)值,從而保留高價(jià)值的緩存內(nèi)容,盡快地替換無(wú)價(jià)值的緩存內(nèi)容。防止“過(guò)殺傷”設(shè)計(jì)的參數(shù)可以預(yù)先設(shè)定好的,也可以是根據(jù)應(yīng)用程序的特征動(dòng)態(tài)配置的。

以上所揭露的僅為本發(fā)明的較佳實(shí)施例而已,當(dāng)然不能以此來(lái)限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明申請(qǐng)專(zhuān)利范圍所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
琼结县| 腾冲县| 龙州县| 呼和浩特市| 米林县| 唐海县| 盐城市| 昌宁县| 开化县| 顺昌县| 方城县| 苗栗市| 确山县| 十堰市| 依安县| 闻喜县| 绥化市| 棋牌| 中超| 那坡县| 汾阳市| 阿拉善左旗| 合作市| 峨眉山市| 贡山| 蒙城县| 榆社县| 平凉市| 东丽区| 迁西县| 邓州市| 商河县| 徐水县| 南充市| 郎溪县| 辉县市| 宜城市| 西平县| 满城县| 姚安县| 苍梧县|