一種訪問(wèn)數(shù)據(jù)的方法、設(shè)備及系統(tǒng)的制作方法
【專(zhuān)利摘要】本發(fā)明實(shí)施例公開(kāi)了一種訪問(wèn)數(shù)據(jù)的方法、設(shè)備及系統(tǒng)。本發(fā)明涉及通信領(lǐng)域,將高速緩沖存儲(chǔ)器中的標(biāo)簽域的屬性進(jìn)行擴(kuò)充,從而使得標(biāo)簽域既可以對(duì)應(yīng)本組的數(shù)據(jù)域,也可以對(duì)應(yīng)其它組的數(shù)據(jù)域,進(jìn)而提高了高速緩沖存儲(chǔ)器中的數(shù)據(jù)域利用率。本發(fā)明實(shí)施例提供的方法包括:接收處理器發(fā)送的訪問(wèn)待訪問(wèn)數(shù)據(jù)的請(qǐng)求信息,其中,所述請(qǐng)求信息包含所述待訪問(wèn)數(shù)據(jù)的物理地址信息;根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息獲取與所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽域;根據(jù)所述物理地址信息對(duì)應(yīng)的所述標(biāo)簽域信息中的組標(biāo)識(shí)信息、組內(nèi)數(shù)據(jù)域偏移信息獲取所述標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域。
【專(zhuān)利說(shuō)明】一種訪問(wèn)數(shù)據(jù)的方法、設(shè)備及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,尤其涉及一種訪問(wèn)數(shù)據(jù)的方法、設(shè)備及系統(tǒng)。
【背景技術(shù)】
[0002]高速緩沖存儲(chǔ)器(cache)是提高處理器中內(nèi)存系統(tǒng)性能的一個(gè)關(guān)鍵部件。高速緩沖存儲(chǔ)器的組織結(jié)構(gòu)一般分為直接相聯(lián)、組相聯(lián)和全相聯(lián)三種。在現(xiàn)有處理器的高速緩沖存儲(chǔ)器設(shè)計(jì)中,一般均采取組相聯(lián)的實(shí)現(xiàn)方法,如圖1所示,為N路(wav)組相聯(lián)高速緩沖存儲(chǔ)器的結(jié)構(gòu)示意圖,組相聯(lián)高速緩沖存儲(chǔ)器包括多個(gè)組(set),每個(gè)組里面包括了多個(gè)高速緩沖存儲(chǔ)器行,每個(gè)高速緩沖存儲(chǔ)器包括一個(gè)標(biāo)簽域和與該標(biāo)簽域?qū)?yīng)的一個(gè)數(shù)據(jù)域,一個(gè)數(shù)據(jù)域包括標(biāo)簽位和有效位兩個(gè)屬性,每個(gè)訪問(wèn)數(shù)據(jù)請(qǐng)求對(duì)應(yīng)的物理地址能唯一確定一個(gè)set,而在該set中,該物理地址可以映射至其中的任意一個(gè)高速緩沖存儲(chǔ)器行。
[0003]在現(xiàn)有技術(shù)中,標(biāo)簽域和數(shù)據(jù)域是固定的一一對(duì)應(yīng)的關(guān)系且分開(kāi)存儲(chǔ),處理器訪問(wèn)高速緩沖存儲(chǔ)器時(shí),若該高速緩沖存儲(chǔ)器中沒(méi)有一個(gè)組中的高速緩沖存儲(chǔ)器行與該處理器的訪問(wèn)請(qǐng)求對(duì)應(yīng),將該訪問(wèn)請(qǐng)求同時(shí)映射到不同路的不同組,根據(jù)不同組中高速緩沖存儲(chǔ)器行的利用率來(lái)選擇實(shí)際被替換出去的項(xiàng),再將該訪問(wèn)請(qǐng)求分配至利用率低的高速緩沖存儲(chǔ)器行中。例如,如圖2,在3路的高速緩沖存儲(chǔ)器中,請(qǐng)求Y通過(guò)3個(gè)不同的哈希算法H0,H1,H2分別映射到路0的A、路1的D及路2的M,A、D、M均表示高速緩沖存儲(chǔ)器中的一個(gè)高速緩沖存儲(chǔ)器行且A、D、M中分別對(duì)應(yīng)的標(biāo)簽域中的標(biāo)簽位相等,在替換的時(shí)候,Y可以選擇A、D、Μ中的任意一個(gè)替換,同時(shí),A、D、Μ依照同樣的方式可以映射到其他的組中,例如Α能映射到路1的V和路2的X,如果A作為Y的被替換項(xiàng),再可以比較A的利用率以及V和X的利用率,如果A的利用率高,且V的利用率最低,則可以將A存放到V的位置,而將V作為被替換項(xiàng)。如此循環(huán)下去,可以從整個(gè)高速緩沖存儲(chǔ)器中找到組利用率最低的高速緩沖存儲(chǔ)器行替換出去。
[0004]發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在以下問(wèn)題:由于高速緩沖存儲(chǔ)器中標(biāo)簽域和數(shù)據(jù)域是固定的一一對(duì)應(yīng)的關(guān)系且分開(kāi)存儲(chǔ),導(dǎo)致高速緩沖存儲(chǔ)器中的數(shù)據(jù)域利用率低。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例提供一種訪問(wèn)數(shù)據(jù)的方法、設(shè)備及系統(tǒng),將高速緩沖存儲(chǔ)器中的標(biāo)簽域的屬性進(jìn)行擴(kuò)充,從而使得標(biāo)簽域既可以對(duì)應(yīng)本組的數(shù)據(jù)域,也可以對(duì)應(yīng)其它組的數(shù)據(jù)域,進(jìn)而提高了高速緩沖存儲(chǔ)器中的數(shù)據(jù)域利用率。
[0006]為達(dá)到上述目的,本發(fā)明實(shí)施例采用的技術(shù)方案是,
[0007]第一方面,提供了一種訪問(wèn)數(shù)據(jù)的方法,包括:
[0008]接收處理器發(fā)送的訪問(wèn)待訪問(wèn)數(shù)據(jù)的請(qǐng)求信息,其中,所述請(qǐng)求信息包含所述待訪問(wèn)數(shù)據(jù)的物理地址信息;
[0009]根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息獲取與所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽域;
[0010]根據(jù)所述物理地址信息對(duì)應(yīng)的所述標(biāo)簽域信息中的組標(biāo)識(shí)信息、組內(nèi)數(shù)據(jù)域偏移信息獲取所述標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域,其中,每個(gè)所述組均包含N個(gè)標(biāo)簽域和Μ個(gè)數(shù)據(jù)域,所述標(biāo)簽域與所述數(shù)據(jù)域一一對(duì)應(yīng)且一一對(duì)應(yīng)的所述標(biāo)簽域和所述數(shù)據(jù)域處于相同組或者不同組,所述Ν為大于或等于1的自然數(shù),所述Μ為大于或等于1的自然數(shù)且所述Ν大于所述Μ,每個(gè)所述標(biāo)簽域信息包含與所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域的組標(biāo)識(shí)信息、組內(nèi)數(shù)據(jù)域偏移信息,所述組標(biāo)識(shí)信息用于指示與所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域所在的組,所述組內(nèi)數(shù)據(jù)偏移信息用于指示所述數(shù)據(jù)域在所述數(shù)據(jù)域所在組內(nèi)的偏移量。
[0011]在第一種可能的實(shí)現(xiàn)方式中,根據(jù)第一方面,每個(gè)所述標(biāo)簽域信息還包含標(biāo)簽位信息,數(shù)據(jù)域是否有效信息,“ isptr”信息,
[0012]其中,所述標(biāo)簽位信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域?qū)?yīng)的物理地址,所述數(shù)據(jù)域是否有效信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域被所述處理器訪問(wèn)還是沒(méi)有被所述處理器訪問(wèn),所述“ isptr”信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組還是來(lái)源于除所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組,
[0013]相應(yīng)的,
[0014]所述根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息獲取與所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽域,包括:
[0015]根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息獲取所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組及標(biāo)簽位信息;
[0016]若根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組確定存儲(chǔ)系統(tǒng)中所述第一組中存在狀態(tài)位有效的標(biāo)簽域且若根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息確定所述第一組中狀態(tài)位有效的標(biāo)簽域中存在與所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息相等的標(biāo)簽域,獲取所述存儲(chǔ)系統(tǒng)中狀態(tài)位有效的標(biāo)簽域中的標(biāo)簽位信息與所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息相等的第一標(biāo)簽域,其中,所述存在狀態(tài)位有效的標(biāo)簽域包含指示數(shù)據(jù)域被所述處理器訪問(wèn)且指示所述標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組。
[0017]在第二種可能的實(shí)現(xiàn)方式中,結(jié)合第一方面,每個(gè)所述標(biāo)簽域信息還包含標(biāo)簽位信息,數(shù)據(jù)域是否有效信息,“ isptr”信息,
[0018]其中,所述標(biāo)簽位信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域?qū)?yīng)的物理地址,所述數(shù)據(jù)域是否有效信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域被所述處理器訪問(wèn)還是沒(méi)有被所述處理器訪問(wèn),所述“ isptr”信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組還是來(lái)源于除所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組,
[0019]相應(yīng)的,
[0020]所述根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息獲取與所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽域,包括:
[0021]根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息獲取所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組及標(biāo)簽位信息;
[0022]若根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組確定存儲(chǔ)系統(tǒng)中所述第一組中不存在狀態(tài)位有效的標(biāo)簽域,或者,若根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組確定存儲(chǔ)系統(tǒng)中所述第一組中存在狀態(tài)位有效的標(biāo)簽域且若根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息確定所述第一組中狀態(tài)位有效的標(biāo)簽域中不存在與所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息相等的標(biāo)簽域,獲取分配所述待訪問(wèn)數(shù)據(jù)的組及組內(nèi)數(shù)據(jù)域偏移信息并分配給所述待訪問(wèn)數(shù)據(jù),其中,所述不存在狀態(tài)位有效的標(biāo)簽域包含指示所述標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域沒(méi)有被所述處理器訪問(wèn)且指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組,或者,指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域被所述處理器訪問(wèn)且指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于除所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組,或者,指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域沒(méi)有被所述處理器訪問(wèn)且指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于除所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組。
[0023]在第三種可能的實(shí)現(xiàn)方式中,結(jié)合第二種可能的實(shí)現(xiàn)方式,所述獲取分配所述待訪問(wèn)數(shù)據(jù)的組及組內(nèi)數(shù)據(jù)域偏移信息并分配給所述待訪問(wèn)數(shù)據(jù),包括:
[0024]若根據(jù)所述存儲(chǔ)系統(tǒng)中的每一組分別對(duì)應(yīng)的利用率確定所述第一組對(duì)應(yīng)的利用率小于第一利用率閾值,根據(jù)所述第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域的利用率選擇所述第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域中利用率最低的數(shù)據(jù)域;
[0025]將所述第一組及所述第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域中利用率最低的數(shù)據(jù)域分配給所述待訪問(wèn)數(shù)據(jù)。
[0026]在第四種可能的實(shí)現(xiàn)方式中,結(jié)合第二種可能的實(shí)現(xiàn)方式,所述獲取分配所述待訪問(wèn)數(shù)據(jù)的組及組內(nèi)數(shù)據(jù)域偏移信息并分配給所述待訪問(wèn)數(shù)據(jù),包括:
[0027]若根據(jù)所述存儲(chǔ)系統(tǒng)中的每一組分別對(duì)應(yīng)的利用率確定所述第一組對(duì)應(yīng)的利用率大于或等于所述第一利用率閾值,選擇所述存儲(chǔ)系統(tǒng)中除所述第一組外的所有組中利用率最低的第二組;
[0028]根據(jù)所述第二組中每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域的利用率選擇所述第二組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域中利用率最低的數(shù)據(jù)域;
[0029]將所述第二組及所述第二組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域中利用率最低的數(shù)據(jù)域分配給所述待訪問(wèn)數(shù)據(jù)。
[0030]在第五種可能的實(shí)現(xiàn)方式中,結(jié)合第一方面或第一種可能的實(shí)現(xiàn)方式,每個(gè)所述標(biāo)簽域還包含與所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域的開(kāi)始地址信息、結(jié)束地址信息,
[0031]所述開(kāi)始地址信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域的起始位地址,所述結(jié)束地址信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域的結(jié)束位地址,
[0032]所述請(qǐng)求信息還包含所述待訪問(wèn)數(shù)據(jù)的粒度信息,
[0033]相應(yīng)的,
[0034]根據(jù)所述物理地址信息對(duì)應(yīng)的所述標(biāo)簽域信息中的組標(biāo)識(shí)信息、組內(nèi)數(shù)據(jù)域偏移信息獲取所述標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域,包括:
[0035]讀取所述第一標(biāo)簽域中的指示所述第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的起始位地址和結(jié)束位地址;
[0036]若根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息及所述待訪問(wèn)數(shù)據(jù)的粒度信息確定所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的所有數(shù)據(jù)存放在所述第一標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域中,根據(jù)所述第一標(biāo)簽域中的組標(biāo)識(shí)信息及組內(nèi)數(shù)據(jù)域偏移信息獲取所述第一標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域的位置;
[0037]根據(jù)所述第一標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域的位置獲取所述第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域。
[0038]在第六種可能的實(shí)現(xiàn)方式中,結(jié)合第一方面或第一種可能的實(shí)現(xiàn)方式,每個(gè)所述標(biāo)簽域還包含與所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域的開(kāi)始地址信息、結(jié)束地址信息,
[0039]所述開(kāi)始地址信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域的起始位地址,所述結(jié)束地址信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域的結(jié)束位地址,
[0040]所述請(qǐng)求信息還包含所述待訪問(wèn)數(shù)據(jù)的粒度信息,
[0041]相應(yīng)的,
[0042]根據(jù)所述物理地址信息對(duì)應(yīng)的所述標(biāo)簽域信息中的組標(biāo)識(shí)信息、組內(nèi)數(shù)據(jù)域偏移信息獲取所述標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域,包括:
[0043]若根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息及所述待訪問(wèn)數(shù)據(jù)的粒度信息確定所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的所有數(shù)據(jù)不存放在所述第一標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域中,獲取分配所述待訪問(wèn)數(shù)據(jù)的被替換數(shù)據(jù)域并分配給所述待訪問(wèn)數(shù)據(jù),其中,所述被替換數(shù)據(jù)域包含所述第一組中的每一標(biāo)簽域?qū)?yīng)的不同粒度的數(shù)據(jù)域中粒度大于且最接近所述待訪問(wèn)請(qǐng)求的粒度信息的數(shù)據(jù)域。
[0044]在第七種可能的實(shí)現(xiàn)方式中,結(jié)合第六種可能的實(shí)現(xiàn)方式,
[0045]所述獲取分配所述待訪問(wèn)數(shù)據(jù)的被替換數(shù)據(jù)域并分配給所述待訪問(wèn)數(shù)據(jù),包括:
[0046]若根據(jù)所述第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的不同粒度的數(shù)據(jù)域的利用率確定所述第一組中的所述被替換數(shù)據(jù)域的利用率大于或等于第二利用率閾值且所述第一組中除所述被替換數(shù)據(jù)域外所有不同粒度的數(shù)據(jù)域中多個(gè)第二數(shù)據(jù)域的利用率都小于所述第二訪問(wèn)閾值,將所述多個(gè)第二數(shù)據(jù)域合并為所述被替換數(shù)據(jù)域并分配給所述待訪問(wèn)數(shù)據(jù),其中,所述第二數(shù)據(jù)域包含所述第一組中除所述被替換數(shù)據(jù)域外所有不同粒度的數(shù)據(jù)域中粒度小于所述被替換數(shù)據(jù)域粒度的數(shù)據(jù)域;
[0047]或者,
[0048]若根據(jù)所述第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的不同粒度的數(shù)據(jù)域的利用率確定所述第一組中的所述被替換數(shù)據(jù)域的利用率大于或等于所述第二利用率閾值且所述第一組中除所述被替換數(shù)據(jù)域外所有不同粒度的數(shù)據(jù)域中第三數(shù)據(jù)域的利用率小于所述第二訪問(wèn)閾值,將所述第三數(shù)據(jù)域拆分為一個(gè)或多個(gè)所述被替換數(shù)據(jù)域并分配給所述待訪問(wèn)數(shù)據(jù),其中,所述第三數(shù)據(jù)域包含所述第一組中除所述被替換數(shù)據(jù)域外所有不同粒度的數(shù)據(jù)域中對(duì)應(yīng)的數(shù)據(jù)域中粒度大于所述被替換數(shù)據(jù)域粒度的數(shù)據(jù)域;
[0049]或者,
[0050]若根據(jù)所述第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的不同粒度的數(shù)據(jù)域的利用率確定所述第一組中的所述被替換數(shù)據(jù)域的利用率小于所述第二利用率閾值,將所述被替換數(shù)據(jù)域分配給所述待訪問(wèn)數(shù)據(jù)。
[0051]在第八種可能的實(shí)現(xiàn)方式中,結(jié)合第一方面或第一種可能的實(shí)現(xiàn)方式或第二種可能的實(shí)現(xiàn)方式或第三種可能的實(shí)現(xiàn)方式或第四種可能的實(shí)現(xiàn)方式或第五種可能的實(shí)現(xiàn)方式或第六種可能的實(shí)現(xiàn)方式或第七種可能的實(shí)現(xiàn)方式,
[0052]所述方法還包括:
[0053]更新所述分配給所述待訪問(wèn)數(shù)據(jù)的數(shù)據(jù)域?qū)?yīng)的標(biāo)簽域。
[0054]第二方面,提供了一種高速緩沖存儲(chǔ)器,包括:
[0055]接收單元,用于接收處理器發(fā)送的訪問(wèn)待訪問(wèn)數(shù)據(jù)的請(qǐng)求信息,其中,所述請(qǐng)求信息包含所述待訪問(wèn)數(shù)據(jù)的物理地址信息;
[0056]獲取單元,用于根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息獲取與所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽域;根據(jù)所述物理地址信息對(duì)應(yīng)的所述標(biāo)簽域信息中的組標(biāo)識(shí)信息、組內(nèi)數(shù)據(jù)域偏移信息獲取所述標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域,其中,每個(gè)所述組均包含N個(gè)標(biāo)簽域和Μ個(gè)數(shù)據(jù)域,所述標(biāo)簽域與所述數(shù)據(jù)域一一對(duì)應(yīng)且一一對(duì)應(yīng)的所述標(biāo)簽域和所述數(shù)據(jù)域處于相同組或者不同組,所述Ν為大于或等于1的自然數(shù),所述Μ為大于或等于1的自然數(shù)且所述Ν大于所述Μ,每個(gè)所述標(biāo)簽域信息包含與所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域的組標(biāo)識(shí)信息、組內(nèi)數(shù)據(jù)域偏移信息,所述組標(biāo)識(shí)信息用于指示與所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域所在的組,所述組內(nèi)數(shù)據(jù)偏移信息用于指示所述數(shù)據(jù)域在所述數(shù)據(jù)域所在組內(nèi)的偏移量
[0057]在第一種可能的實(shí)現(xiàn)方式中,結(jié)合第二方面,每個(gè)所述標(biāo)簽域信息還包含標(biāo)簽位信息,數(shù)據(jù)域是否有效信息,“ isptr”信息,
[0058]其中,所述標(biāo)簽位信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域?qū)?yīng)的物理地址,所述數(shù)據(jù)域是否有效信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域被所述處理器訪問(wèn)還是沒(méi)有被所述處理器訪問(wèn),所述“ isptr”信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組還是來(lái)源于除所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組,
[0059]相應(yīng)的,
[0060]所述獲取單元還用于:根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息獲取所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組及標(biāo)簽位信息;
[0061]若根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組確定存儲(chǔ)系統(tǒng)中所述第一組中存在狀態(tài)位有效的標(biāo)簽域且若根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息確定所述第一組中狀態(tài)位有效的標(biāo)簽域中存在與所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息相等的標(biāo)簽域,獲取所述存儲(chǔ)系統(tǒng)中狀態(tài)位有效的標(biāo)簽域中的標(biāo)簽位信息與所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息相等的第一標(biāo)簽域,其中,所述存在狀態(tài)位有效的標(biāo)簽域包含指示數(shù)據(jù)域被所述處理器訪問(wèn)且指示所述標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組。
[0062]在第二種可能的實(shí)現(xiàn)方式中,結(jié)合第二方面,每個(gè)所述標(biāo)簽域信息還包含標(biāo)簽位信息,數(shù)據(jù)域是否有效信息,“ isptr”信息,
[0063]其中,所述標(biāo)簽位信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域?qū)?yīng)的物理地址,所述數(shù)據(jù)域是否有效信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域被所述處理器訪問(wèn)還是沒(méi)有被所述處理器訪問(wèn),所述“ isptr”信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組還是來(lái)源于除所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組,
[0064]相應(yīng)的,
[0065]所述獲取單元還用于:根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息獲取所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組及標(biāo)簽位信息;
[0066]若根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組確定存儲(chǔ)系統(tǒng)中所述第一組中不存在狀態(tài)位有效的標(biāo)簽域,或者,若根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組確定存儲(chǔ)系統(tǒng)中所述第一組中存在狀態(tài)位有效的標(biāo)簽域且若根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息確定所述第一組中狀態(tài)位有效的標(biāo)簽域中不存在與所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息相等的標(biāo)簽域,獲取分配所述待訪問(wèn)數(shù)據(jù)的組及組內(nèi)數(shù)據(jù)域偏移信息并分配給所述待訪問(wèn)數(shù)據(jù),其中,所述不存在狀態(tài)位有效的標(biāo)簽域包含指示所述標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域沒(méi)有被所述處理器訪問(wèn)且指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組,或者,指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域被所述處理器訪問(wèn)且指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于除所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組,或者,指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域沒(méi)有被所述處理器訪問(wèn)且指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于除所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組。
[0067]在第三種可能的實(shí)現(xiàn)方式中,結(jié)合第二種可能的實(shí)現(xiàn)方式,
[0068]所述獲取單元還包括:
[0069]選擇模塊,若根據(jù)所述存儲(chǔ)系統(tǒng)中的每一組分別對(duì)應(yīng)的利用率確定所述第一組對(duì)應(yīng)的利用率小于第一利用率閾值,用于根據(jù)所述第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域的利用率選擇所述第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域中利用率最低的數(shù)據(jù)域;
[0070]分配模塊,用于將所述第一組及所述第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域中利用率最低的數(shù)據(jù)域分配給所述待訪問(wèn)數(shù)據(jù)。
[0071]在第四種可能的實(shí)現(xiàn)方式中,結(jié)合第二種可能的實(shí)現(xiàn)方式,
[0072]所述選擇模塊還用于:若根據(jù)所述存儲(chǔ)系統(tǒng)中的每一組分別對(duì)應(yīng)的利用率確定所述第一組對(duì)應(yīng)的利用率大于或等于所述第一利用率閾值,選擇所述存儲(chǔ)系統(tǒng)中除所述第一組外的所有組中利用率最低的第二組;根據(jù)所述第二組中每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域的利用率選擇所述第二組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域中利用率最低的數(shù)據(jù)域;
[0073]所述分配模塊還用于:將所述第二組及所述第二組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域中利用率最低的數(shù)據(jù)域分配給所述待訪問(wèn)數(shù)據(jù)。
[0074]在第五種可能的實(shí)現(xiàn)方式中,結(jié)合第二方面或第一種可能的實(shí)現(xiàn)方式,
[0075]每個(gè)所述標(biāo)簽域還包含與所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域的開(kāi)始地址信息、結(jié)束地址信息,
[0076]所述開(kāi)始地址信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域的起始位地址,所述結(jié)束地址信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域的結(jié)束位地址,
[0077]所述請(qǐng)求信息還包含所述待訪問(wèn)數(shù)據(jù)的粒度信息,
[0078]相應(yīng)的,
[0079]所述獲取單元還包括:
[0080]讀模塊,用于讀取所述第一標(biāo)簽域中的指示所述第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的起始位地址和結(jié)束位地址;
[0081]所述獲取單元還用于:若根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息及所述待訪問(wèn)數(shù)據(jù)的粒度信息確定所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的所有數(shù)據(jù)存放在所述第一標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域中,根據(jù)所述第一標(biāo)簽域中的組標(biāo)識(shí)信息及組內(nèi)數(shù)據(jù)域偏移信息獲取所述第一標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域的位置;根據(jù)所述第一標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域的位置獲取所述第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域。
[0082]在第六種可能的實(shí)現(xiàn)方式中,結(jié)合第二方面或第一種可能的實(shí)現(xiàn)方式,每個(gè)所述標(biāo)簽域還包含與所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域的開(kāi)始地址信息、結(jié)束地址信息,
[0083]所述開(kāi)始地址信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域的起始位地址,所述結(jié)束地址信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域的結(jié)束位地址,
[0084]所述請(qǐng)求信息還包含所述待訪問(wèn)數(shù)據(jù)的粒度信息,
[0085]相應(yīng)的,
[0086]所述讀模塊還用于:讀取所述第一標(biāo)簽域中的指示所述第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的起始位地址和結(jié)束位地址;
[0087]所述獲取單元還用于:若根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息及所述待訪問(wèn)數(shù)據(jù)的粒度信息確定所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的所有數(shù)據(jù)不存放在所述第一標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域中,獲取分配所述待訪問(wèn)數(shù)據(jù)的被替換數(shù)據(jù)域并分配給所述待訪問(wèn)數(shù)據(jù),其中,所述被替換數(shù)據(jù)域包含所述第一組中的每一標(biāo)簽域?qū)?yīng)的不同粒度的數(shù)據(jù)域中粒度大于且最接近所述待訪問(wèn)請(qǐng)求的粒度信息的數(shù)據(jù)域。
[0088]在第七種可能的實(shí)現(xiàn)方式中,結(jié)合第六種可能的實(shí)現(xiàn)方式,所述獲取單元還包括:
[0089]合并模塊,若根據(jù)所述第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的不同粒度的數(shù)據(jù)域的利用率確定所述第一組中的所述被替換數(shù)據(jù)域的利用率大于或等于第二利用率閾值且所述第一組中除所述被替換數(shù)據(jù)域外所有不同粒度的數(shù)據(jù)域中多個(gè)第二數(shù)據(jù)域的利用率都小于所述第二訪問(wèn)閾值,用于將所述多個(gè)第二數(shù)據(jù)域合并為所述被替換數(shù)據(jù)域并分配給所述待訪問(wèn)數(shù)據(jù),其中,所述第二數(shù)據(jù)域包含所述第一組中除所述被替換數(shù)據(jù)域外所有不同粒度的數(shù)據(jù)域中粒度小于所述被替換數(shù)據(jù)域粒度的數(shù)據(jù)域;
[0090]或者,
[0091]所述獲取單元還包括:
[0092]拆分模塊,若根據(jù)所述第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的不同粒度的數(shù)據(jù)域的利用率確定所述第一組中的所述被替換數(shù)據(jù)域的利用率大于或等于所述第二利用率閾值且所述第一組中除所述被替換數(shù)據(jù)域外所有不同粒度的數(shù)據(jù)域中第三數(shù)據(jù)域的利用率小于所述第二訪問(wèn)閾值,用于將所述第三數(shù)據(jù)域拆分為一個(gè)或多個(gè)所述被替換數(shù)據(jù)域并分配給所述待訪問(wèn)數(shù)據(jù),其中,所述第三數(shù)據(jù)域包含所述第一組中除所述被替換數(shù)據(jù)域外所有不同粒度的數(shù)據(jù)域中對(duì)應(yīng)的數(shù)據(jù)域中粒度大于所述被替換數(shù)據(jù)域粒度的數(shù)據(jù)域;
[0093]或者,
[0094]所述分配模塊還用于:若根據(jù)所述第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的不同粒度的數(shù)據(jù)域的利用率確定所述第一組中的所述被替換數(shù)據(jù)域的利用率小于所述第二利用率閾值,用于將所述被替換數(shù)據(jù)域分配給所述待訪問(wèn)數(shù)據(jù)。
[0095]在第八種可能的實(shí)現(xiàn)方式中,結(jié)合第一方面或第一種可能的實(shí)現(xiàn)方式或第二種可能的實(shí)現(xiàn)方式或第三種可能的實(shí)現(xiàn)方式或第四種可能的實(shí)現(xiàn)方式或第五種可能的實(shí)現(xiàn)方式或第六種可能的實(shí)現(xiàn)方式或第七種可能的實(shí)現(xiàn)方式,
[0096]所述高速緩沖存儲(chǔ)器還包括:
[0097]更新單元,用于更新所述分配給所述待訪問(wèn)數(shù)據(jù)的數(shù)據(jù)域?qū)?yīng)的標(biāo)簽域。
[0098]本發(fā)明實(shí)施例提供的一種訪問(wèn)數(shù)據(jù)的方法、設(shè)備及系統(tǒng),將高速緩沖存儲(chǔ)器中的標(biāo)簽域的屬性進(jìn)行擴(kuò)充,從而使得標(biāo)簽域既可以對(duì)應(yīng)本組的數(shù)據(jù)域,也可以對(duì)應(yīng)其它組的數(shù)據(jù)域,進(jìn)而提高了高速緩沖存儲(chǔ)器中的數(shù)據(jù)域利用率,解決了現(xiàn)有技術(shù)中由于高速緩沖存儲(chǔ)器中標(biāo)簽域和數(shù)據(jù)域是固定的一一對(duì)應(yīng)的關(guān)系且分開(kāi)存儲(chǔ),導(dǎo)致高速緩沖存儲(chǔ)器中的數(shù)據(jù)域利用率低的問(wèn)題。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0099]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0100]圖1為本發(fā)明實(shí)施例提供的一種N路組相聯(lián)高速緩沖存儲(chǔ)器的結(jié)構(gòu)示意圖;
[0101]圖2為本發(fā)明實(shí)施例提供的一種聞速緩沖存儲(chǔ)器缺失時(shí)的不意圖;
[0102]圖3為本發(fā)明實(shí)施例提供的一種訪問(wèn)數(shù)據(jù)的方法流程示意圖;
[0103]圖4為本發(fā)明實(shí)施例提供的另一種訪問(wèn)數(shù)據(jù)的方法流程示意圖;
[0104]圖5為本發(fā)明實(shí)施例提供的一種高速緩沖存儲(chǔ)器內(nèi)組織結(jié)構(gòu)示意圖;
[0105]圖6為本發(fā)明實(shí)施例提供的另一種訪問(wèn)數(shù)據(jù)的方法流程示意圖;
[0106]圖7A為本發(fā)明實(shí)施例提供的一種高速緩沖存儲(chǔ)器缺失處理模塊的示意圖;
[0107]圖7B為本發(fā)明實(shí)施例提供的另一種高速緩沖存儲(chǔ)器缺失處理模塊的示意圖;
[0108]圖8為本發(fā)明實(shí)施例提供的另一種訪問(wèn)數(shù)據(jù)的方法流程示意圖;
[0109]圖9為本發(fā)明實(shí)施例提供的一種變粒度聞速緩沖存儲(chǔ)器的不意圖;
[0110]圖10為本發(fā)明實(shí)施例提供的一種高速緩沖存儲(chǔ)器的裝置示意圖;
[0111]圖11為本發(fā)明實(shí)施例提供的另一種高速緩沖存儲(chǔ)器的裝置示意圖;
[0112]圖12為本發(fā)明實(shí)施例提供的一種高速緩沖存儲(chǔ)器的裝置示意圖;
[0113]圖13為本發(fā)明實(shí)施例提供的另一種高速緩沖存儲(chǔ)器的裝置示意圖。
【具體實(shí)施方式】
[0114]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0115]一方面,本發(fā)明實(shí)施例提供一種訪問(wèn)數(shù)據(jù)的方法,參見(jiàn)圖3,該方法可以包括以下步驟:
[0116]301:接收處理器發(fā)送的訪問(wèn)待訪問(wèn)數(shù)據(jù)的請(qǐng)求信息,其中,請(qǐng)求信息包含待訪問(wèn)數(shù)據(jù)的物理地址信息;
[0117]示例性的,接收處理器發(fā)送的訪問(wèn)待訪問(wèn)數(shù)據(jù)的請(qǐng)求信息的主體可以為高速緩沖存儲(chǔ)器,也可以為內(nèi)存,也可以為其它的存儲(chǔ)系統(tǒng),本發(fā)明實(shí)施例對(duì)此不進(jìn)行限制。下面實(shí)施例以高速緩沖存儲(chǔ)器為例進(jìn)行具體說(shuō)明。
[0118]302:根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息獲取與待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽域;
[0119]示例性的,每個(gè)標(biāo)簽域信息還包含標(biāo)簽位信息,數(shù)據(jù)域是否有效信息,“ isptr”信息,
[0120]其中,標(biāo)簽位信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域?qū)?yīng)的物理地址,數(shù)據(jù)域是否有效信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域被處理器訪問(wèn)還是沒(méi)有被處理器訪問(wèn),“ isptr”信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組還是來(lái)源于除待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組,
[0121]相應(yīng)的,
[0122]根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息獲取與待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽域,包括:
[0123]根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息獲取待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組及標(biāo)簽位信息;
[0124]若根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組確定存儲(chǔ)系統(tǒng)中第一組中存在狀態(tài)位有效的標(biāo)簽域且若根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息確定第一組中狀態(tài)位有效的標(biāo)簽域中存在與待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息相等的標(biāo)簽域,獲取存儲(chǔ)系統(tǒng)中狀態(tài)位有效的標(biāo)簽域中的標(biāo)簽位信息與待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息相等的第一標(biāo)簽域,其中,存在狀態(tài)位有效的標(biāo)簽域包含指示數(shù)據(jù)域被處理器訪問(wèn)且指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組。
[0125]示例性的,每個(gè)標(biāo)簽域信息還包含標(biāo)簽位信息,數(shù)據(jù)域是否有效信息,“isptr”信息,
[0126]其中,標(biāo)簽位信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域?qū)?yīng)的物理地址,數(shù)據(jù)域是否有效信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域被處理器訪問(wèn)還是沒(méi)有被處理器訪問(wèn),“ isptr”信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組還是來(lái)源于除待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組,
[0127]相應(yīng)的,
[0128]根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息獲取與待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽域,包括:
[0129]根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息獲取待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組及標(biāo)簽位信息;
[0130]若根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組確定存儲(chǔ)系統(tǒng)中第一組中不存在狀態(tài)位有效的標(biāo)簽域,或者,若根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組確定存儲(chǔ)系統(tǒng)中第一組中存在狀態(tài)位有效的標(biāo)簽域且若根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息確定第一組中狀態(tài)位有效的標(biāo)簽域中不存在與待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息相等的標(biāo)簽域,獲取分配待訪問(wèn)數(shù)據(jù)的組及組內(nèi)數(shù)據(jù)域偏移信息并分配給待訪問(wèn)數(shù)據(jù),其中,不存在狀態(tài)位有效的標(biāo)簽域包含指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域沒(méi)有被處理器訪問(wèn)且指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組,或者,指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域被處理器訪問(wèn)且指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于除待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組,或者,指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域沒(méi)有被處理器訪問(wèn)且指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于除待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組。
[0131]示例性的,獲取分配待訪問(wèn)數(shù)據(jù)的組及組內(nèi)數(shù)據(jù)域偏移信息并分配給待訪問(wèn)數(shù)據(jù),包括:
[0132]若根據(jù)存儲(chǔ)系統(tǒng)中的每一組分別對(duì)應(yīng)的利用率確定第一組對(duì)應(yīng)的利用率小于第一利用率閾值,根據(jù)所第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域的利用率選擇第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域中利用率最低的數(shù)據(jù)域;
[0133]將第一組及第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域中利用率最低的數(shù)據(jù)域分配給待訪問(wèn)數(shù)據(jù)。
[0134]示例性的,獲取分配待訪問(wèn)數(shù)據(jù)的組及組內(nèi)數(shù)據(jù)域偏移信息并分配給待訪問(wèn)數(shù)據(jù),包括:
[0135]若根據(jù)存儲(chǔ)系統(tǒng)中的每一組分別對(duì)應(yīng)的利用率確定第一組對(duì)應(yīng)的利用率大于或等于第一利用率閾值,選擇存儲(chǔ)系統(tǒng)中除第一組外的所有組中利用率最低的第二組;
[0136]根據(jù)第二組中每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域的利用率選擇第二組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域中利用率最低的數(shù)據(jù)域;
[0137]將第二組及第二組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域中利用率最低的數(shù)據(jù)域分配給待訪問(wèn)數(shù)據(jù)。
[0138]303:根據(jù)物理地址信息對(duì)應(yīng)的標(biāo)簽域信息中的組標(biāo)識(shí)信息、組內(nèi)數(shù)據(jù)域偏移信息獲取標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域,其中,每個(gè)組均包含N個(gè)標(biāo)簽域和Μ個(gè)數(shù)據(jù)域,標(biāo)簽域與數(shù)據(jù)域一一對(duì)應(yīng)且一一對(duì)應(yīng)的標(biāo)簽域和數(shù)據(jù)域處于相同組或者不同組,Ν為大于或等于1的自然數(shù),Μ為大于或等于1的自然數(shù)且所述Ν大于所述Μ,每個(gè)標(biāo)簽域信息包含與標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的組標(biāo)識(shí)信息、組內(nèi)數(shù)據(jù)域偏移信息,組標(biāo)識(shí)信息用于指示與標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域所在的組,組內(nèi)數(shù)據(jù)偏移信息用于指示數(shù)據(jù)域在數(shù)據(jù)域所在組內(nèi)的偏移量。
[0139]示例性的,每個(gè)標(biāo)簽域還包含與標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的開(kāi)始地址信息、結(jié)束地址信息,
[0140]開(kāi)始地址信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的起始位地址,結(jié)束地址信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的結(jié)束位地址,
[0141]請(qǐng)求信息還包含待訪問(wèn)數(shù)據(jù)的粒度信息,
[0142]相應(yīng)的,
[0143]根據(jù)物理地址信息對(duì)應(yīng)的標(biāo)簽域信息中的組標(biāo)識(shí)信息、組內(nèi)數(shù)據(jù)域偏移信息獲取標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域,包括:
[0144]讀取第一標(biāo)簽域中的指示第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的起始位地址和結(jié)束位地址;
[0145]若根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息及待訪問(wèn)數(shù)據(jù)的粒度信息確定待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的所有數(shù)據(jù)存放在第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中,根據(jù)第一標(biāo)簽域中的組標(biāo)識(shí)信息及組內(nèi)數(shù)據(jù)域偏移信息獲取第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的位置;
[0146]根據(jù)第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的位置獲取第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域。
[0147]示例性的,每個(gè)標(biāo)簽域還包含與標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的開(kāi)始地址信息、結(jié)束地址信息,
[0148]開(kāi)始地址信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的起始位地址,結(jié)束地址信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的結(jié)束位地址,
[0149]請(qǐng)求信息還包含待訪問(wèn)數(shù)據(jù)的粒度信息,
[0150]相應(yīng)的,
[0151]根據(jù)物理地址信息對(duì)應(yīng)的標(biāo)簽域信息中的組標(biāo)識(shí)信息、組內(nèi)數(shù)據(jù)域偏移信息獲取標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域,包括:
[0152]讀取第一標(biāo)簽域中的指示第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的起始位地址和結(jié)束位地址;
[0153]若根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息及待訪問(wèn)數(shù)據(jù)的粒度信息確定待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的所有數(shù)據(jù)不存放在第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中,獲取分配待訪問(wèn)數(shù)據(jù)的被替換數(shù)據(jù)域并分配給待訪問(wèn)數(shù)據(jù),其中,被替換數(shù)據(jù)域包含第一組中的每一標(biāo)簽域?qū)?yīng)的不同粒度的數(shù)據(jù)域中粒度大于且最接近待訪問(wèn)請(qǐng)求的粒度信息的數(shù)據(jù)域。
[0154]示例性的,獲取分配待訪問(wèn)數(shù)據(jù)的被替換數(shù)據(jù)域并分配給待訪問(wèn)數(shù)據(jù),包括:
[0155]若根據(jù)第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的不同粒度的數(shù)據(jù)域的利用率確定第一組中的被替換數(shù)據(jù)域的利用率大于或等于第二利用率閾值且第一組中除被替換數(shù)據(jù)域外所有不同粒度的數(shù)據(jù)域中多個(gè)第二數(shù)據(jù)域的利用率都小于第二訪問(wèn)閾值,將多個(gè)第二數(shù)據(jù)域合并為被替換數(shù)據(jù)域并分配給待訪問(wèn)數(shù)據(jù),其中,第二數(shù)據(jù)域包含第一組中除被替換數(shù)據(jù)域外所有不同粒度的數(shù)據(jù)域中粒度小于被替換數(shù)據(jù)域粒度的數(shù)據(jù)域;
[0156]或者,
[0157]若根據(jù)第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的不同粒度的數(shù)據(jù)域的利用率確定第一組中的被替換數(shù)據(jù)域的利用率大于或等于第二利用率閾值且第一組中除被替換數(shù)據(jù)域外所有不同粒度的數(shù)據(jù)域中第三數(shù)據(jù)域的利用率小于第二訪問(wèn)閾值,將第三數(shù)據(jù)域拆分為一個(gè)或多個(gè)被替換數(shù)據(jù)域并分配給待訪問(wèn)數(shù)據(jù),其中,所述第三數(shù)據(jù)域包含第一組中除被替換數(shù)據(jù)域外所有不同粒度的數(shù)據(jù)域中對(duì)應(yīng)的數(shù)據(jù)域中粒度大于被替換數(shù)據(jù)域粒度的數(shù)據(jù)域;
[0158]或者,
[0159]若根據(jù)第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的不同粒度的數(shù)據(jù)域的利用率確定第一組中的被替換數(shù)據(jù)域的利用率小于所述第二利用率閾值,將被替換數(shù)據(jù)域分配給待訪問(wèn)數(shù)據(jù)。
[0160]示例性的,該方法還可以包括:
[0161]更新分配給待訪問(wèn)數(shù)據(jù)的數(shù)據(jù)域?qū)?yīng)的標(biāo)簽域。
[0162]本發(fā)明實(shí)施例提供的一種訪問(wèn)數(shù)據(jù)的方法,將高速緩沖存儲(chǔ)器中的標(biāo)簽域的屬性進(jìn)行擴(kuò)充,從而使得標(biāo)簽域既可以對(duì)應(yīng)本組的數(shù)據(jù)域,也可以對(duì)應(yīng)其它組的數(shù)據(jù)域,進(jìn)而提高了高速緩沖存儲(chǔ)器中的數(shù)據(jù)域利用率,解決了現(xiàn)有技術(shù)中由于高速緩沖存儲(chǔ)器中標(biāo)簽域和數(shù)據(jù)域是固定的一一對(duì)應(yīng)的關(guān)系且分開(kāi)存儲(chǔ),導(dǎo)致高速緩沖存儲(chǔ)器中的數(shù)據(jù)域利用率低的問(wèn)題。
[0163]下面通過(guò)具體的實(shí)施例對(duì)上述方法實(shí)施例進(jìn)行說(shuō)明。
[0164]示例性的,本發(fā)明實(shí)施例的應(yīng)用場(chǎng)景包括一個(gè)主機(jī),該主機(jī)包括至少一個(gè)處理器,該處理器包括多個(gè)層次的組相聯(lián)高速緩沖存儲(chǔ)器。
[0165]實(shí)施例一
[0166]參見(jiàn)圖4,為本發(fā)明實(shí)施例提供的另一種訪問(wèn)數(shù)據(jù)的流程示意圖,如圖所示,可以包括以下步驟:
[0167]401:高速緩沖存儲(chǔ)器接收處理器發(fā)送的訪問(wèn)待訪問(wèn)數(shù)據(jù)的請(qǐng)求信息,其中,請(qǐng)求信息包含待訪問(wèn)數(shù)據(jù)的物理地址信息和待訪問(wèn)數(shù)據(jù)的粒度信息:
[0168]示例性的,待訪問(wèn)數(shù)據(jù)的物理地址信息為沒(méi)有根據(jù)高速緩沖存儲(chǔ)器行大小對(duì)齊的地址。
[0169]402:高速緩沖存儲(chǔ)器根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息獲取待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組及標(biāo)簽位信息,其中,標(biāo)簽位信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域?qū)?yīng)的物理地址;
[0170]示例性的,待訪問(wèn)數(shù)據(jù)的物理地址信息可以通過(guò)現(xiàn)有技術(shù)中的哈希算法映射該待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組及標(biāo)簽位信息,也可以通過(guò)其它方法來(lái)獲得該待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組及標(biāo)簽位信息,本發(fā)明實(shí)施例對(duì)此不進(jìn)行限制。
[0171]403:高速緩沖存儲(chǔ)器根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組,判斷高速緩沖存儲(chǔ)器中的第一組中是否存在狀態(tài)位有效的標(biāo)簽域,其中,每個(gè)組均包含N個(gè)標(biāo)簽域和Μ個(gè)數(shù)據(jù)域,標(biāo)簽域與數(shù)據(jù)域一一對(duì)應(yīng)且一一對(duì)應(yīng)的標(biāo)簽域和數(shù)據(jù)域處于相同組或者不同組,Ν為大于或等于1的自然數(shù),Μ為大于或等于1的自然數(shù)且Ν大于Μ,每個(gè)標(biāo)簽域信息包含與標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的組標(biāo)識(shí)信息、組內(nèi)數(shù)據(jù)域偏移信息、標(biāo)簽位信息、數(shù)據(jù)域是否有效信息、“ isptr”信息、數(shù)據(jù)域是否被更新信息、數(shù)據(jù)域大小信息、“PtrS”信息、開(kāi)始地址信息和結(jié)束地址信息,組標(biāo)識(shí)信息用于指示與標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域所在的組,組內(nèi)數(shù)據(jù)偏移信息用于指示數(shù)據(jù)域在數(shù)據(jù)域所在組內(nèi)的偏移量,數(shù)據(jù)域是否有效信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域被處理器訪問(wèn)還是沒(méi)有被處理器訪問(wèn),“ isptr”信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組還是來(lái)源于除待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組,數(shù)據(jù)域是否被更新信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)被更新或沒(méi)有被更新,數(shù)據(jù)域大小信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的大小,若“isptr”信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組,“PtrS”信息為空,若“isptr”信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于除待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組,“PtrS”信息用于指示該數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于除待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組上對(duì)應(yīng)的數(shù)據(jù)域,開(kāi)始地址信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的起始位地址,結(jié)束地址信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的結(jié)束位地址;
[0172]示例性的,在本發(fā)明實(shí)施例中,每個(gè)標(biāo)簽域信息包含的與標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的組標(biāo)識(shí)信息、組內(nèi)數(shù)據(jù)域偏移信息、數(shù)據(jù)域是否有效信息、“isPtr”信息、標(biāo)簽位信息、數(shù)據(jù)域是否被更新信息、“PtrS”信息、數(shù)據(jù)域起始地址信息、數(shù)據(jù)域結(jié)束地址信息及數(shù)據(jù)域大小信息可以分別用“86七”、“0打”、“妨11(1”、“18?廿”、“七&8”、“也1^”、叩^^”、“8七&代”、?11(1”及“size”來(lái)標(biāo)識(shí),也可以分別用其它標(biāo)識(shí)符來(lái)標(biāo)識(shí),本發(fā)明實(shí)施例對(duì)此不進(jìn)行限制。
[0173]參見(jiàn)圖5,為本發(fā)明實(shí)施例提供的一種高速緩沖存儲(chǔ)器內(nèi)組織結(jié)構(gòu)示意圖,如圖所示,在高速緩沖存儲(chǔ)器的組織結(jié)構(gòu)上,標(biāo)簽域和數(shù)據(jù)域并不是固定的一一對(duì)應(yīng)的關(guān)系,標(biāo)簽域可以指向與標(biāo)簽域同一組中的任意一個(gè)數(shù)據(jù)域,還可以指向與標(biāo)簽域不同組的其它組的數(shù)據(jù)域,因此,在高速緩沖存儲(chǔ)器中,標(biāo)簽域的數(shù)量N大于或等于數(shù)據(jù)域的數(shù)量;在高速緩沖存儲(chǔ)器的物理實(shí)現(xiàn)上,擴(kuò)充了標(biāo)簽域的屬性,例如,“8社”、“(^”、“丨#廿”、“?^^”、“start”、“end” 及 “size,,。
[0174]示例性的,在現(xiàn)有技術(shù)中,標(biāo)簽域包含“tag”、“valid”及“dirty”三個(gè)屬性,標(biāo)簽位與標(biāo)簽位對(duì)應(yīng)的數(shù)據(jù)位的物理地址信息是一一對(duì)應(yīng)的,“valid”用來(lái)指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域是否有效,“dirty”用來(lái)指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域是否被更新。
[0175]示例性的,在本發(fā)明實(shí)施例中,標(biāo)簽域中的“tag”、“valid”及“dirty”與現(xiàn)有技術(shù)中高速緩沖存儲(chǔ)器設(shè)計(jì)中的“tag”、“valid”及“dirty”所指示的內(nèi)容相同,針對(duì)現(xiàn)有技術(shù)中的高速緩沖存儲(chǔ)器的標(biāo)簽域的屬性的物理實(shí)現(xiàn),擴(kuò)充了標(biāo)簽域的屬性信息,在標(biāo)簽域中可以增加“8帥”、“#廣’、“1#廿”、“?廿5”、“#&代”、“的(1”及“&況”,還可以在標(biāo)簽域中增加其他一些與高速緩沖存儲(chǔ)器替換策略相關(guān)的屬性,例如,可以增加“accessCount”信息,用于指示統(tǒng)計(jì)每個(gè)標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域被訪問(wèn)的頻率,本發(fā)明實(shí)施例對(duì)此不進(jìn)行限制。
[0176]示例性的,標(biāo)簽域中的“set”用于指示該標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域存放的組的位置,該位置可以是本組,也可以是其他組;標(biāo)簽域信息中的“off”用于指定數(shù)據(jù)域在數(shù)據(jù)域所在組內(nèi)的偏移量,例如,高速緩沖存儲(chǔ)器設(shè)計(jì)中的路。示例性的,在現(xiàn)有技術(shù)中的高速緩沖存儲(chǔ)器設(shè)計(jì)中,數(shù)據(jù)域在高速緩沖存儲(chǔ)器中的位置是根據(jù)該數(shù)據(jù)域當(dāng)前所在的數(shù)據(jù)域所在的組和路數(shù)來(lái)尋址的,但在本發(fā)明實(shí)施例中,由于高速緩沖存儲(chǔ)器的組織結(jié)構(gòu)及物理實(shí)現(xiàn)與現(xiàn)有技術(shù)的不同,因此數(shù)據(jù)域在高速緩沖存儲(chǔ)器中的位置需要根據(jù)與數(shù)據(jù)域?qū)?yīng)的標(biāo)簽域的“set”和“off”的值來(lái)確定數(shù)據(jù)域所在的組和路數(shù),從而根據(jù)數(shù)據(jù)域所在的組和路數(shù)來(lái)獲取數(shù)據(jù)域所在的位置,而且如果“set”的值不是數(shù)據(jù)域當(dāng)前所在的組,“set”和“off”可以作為指向其他組的標(biāo)簽域,該標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域存放的是本標(biāo)簽域?qū)?yīng)地址的數(shù)據(jù)。
[0177]標(biāo)簽域中的“ start ”和“ end”用來(lái)標(biāo)識(shí)該標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中的數(shù)據(jù)所對(duì)應(yīng)的起始地址和結(jié)束地址,“start”和“end”是相對(duì)高速緩沖存儲(chǔ)器行最大粒度內(nèi)的偏移。例如,如果高速緩沖存儲(chǔ)器行最大粒度是64字節(jié),而數(shù)據(jù)域中的數(shù)據(jù)長(zhǎng)度只有8字節(jié)且該8字節(jié)剛好是64字節(jié)中的前8個(gè)字節(jié),那么該數(shù)據(jù)的起始地址是0,結(jié)束地址則是7。
[0178]示例性的,是存在狀態(tài)位有效的標(biāo)簽域包含數(shù)據(jù)域是否有效信息有效且“isPtr”信息有效,若標(biāo)簽域中的數(shù)據(jù)域是否有效信息用“valid”來(lái)表示,“isPtr”信息用“isPtr”來(lái)表示,則“valid”有效用于指示數(shù)據(jù)域被處理器訪問(wèn),可以用“is”來(lái)表示“valid”有效,“valid”無(wú)效用于指示數(shù)據(jù)域沒(méi)有被處理器訪問(wèn),可以用“no”來(lái)表示“valid”無(wú)效;“isPtr”有效用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組,可以用“no”來(lái)表示“ isPtr”有效,“ isPtr”無(wú)效用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于除待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組,可以用“is”來(lái)表示“isPtr”無(wú)效。因此,存在狀態(tài)位有效的標(biāo)簽域可以包含“valid”為“is”并且“isPtr”位為“no”。
[0179]否存在狀態(tài)位有效的標(biāo)簽域包含“valid”為“no”且“isPtr”位為“no”,或者,“valid” 為 “is” 且 “isPtr” 位為 “is”,或者,“valid” 為 “no” 且“isPtr” 位為 “is”。
[0180]404:若確定高速緩沖存儲(chǔ)器中第一組是存在狀態(tài)位有效的標(biāo)簽域,高速緩沖存儲(chǔ)器根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息,判斷高速緩沖存儲(chǔ)器中狀態(tài)位有效的標(biāo)簽域中是否存在與待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位相等的標(biāo)簽域;
[0181]405:若確定高速緩沖存儲(chǔ)器中狀態(tài)位有效的標(biāo)簽域中是存在與待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息相等的第一標(biāo)簽域,高速緩沖存儲(chǔ)器讀取第一標(biāo)簽域中的指示所述第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的起始位地址和結(jié)束位地址;
[0182]406:高速緩沖存儲(chǔ)器根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息和待訪問(wèn)數(shù)據(jù)的粒度信息,判斷待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的所有數(shù)據(jù)是否都存放在第一數(shù)據(jù)域?qū)?yīng)的數(shù)據(jù)域中;
[0183]示例性的,判斷待訪問(wèn)數(shù)據(jù)是否存放在第一數(shù)據(jù)域?qū)?yīng)的數(shù)據(jù)域中時(shí)可以將待訪問(wèn)數(shù)據(jù)的物理地址與第一數(shù)據(jù)域中的起始地址位對(duì)齊,再由待訪問(wèn)數(shù)據(jù)的粒度信息來(lái)判斷待訪問(wèn)數(shù)據(jù)是否存放在第一數(shù)據(jù)域?qū)?yīng)的數(shù)據(jù)域中,例如,第一數(shù)據(jù)域中的起始地址位為O和終止地址位為8共9個(gè)字節(jié)大小的數(shù)據(jù),而待訪問(wèn)數(shù)據(jù)的物理地址信息的起始地址為3,粒度信息為10,則將待訪問(wèn)數(shù)據(jù)的物理地址的起始地址3與第一數(shù)據(jù)域?qū)?yīng)的數(shù)據(jù)域的起始地址位O對(duì)齊,一個(gè)一個(gè)進(jìn)行查看,當(dāng)?shù)谝粩?shù)據(jù)域?qū)?yīng)的數(shù)據(jù)域到達(dá)結(jié)束地址8時(shí),待訪問(wèn)數(shù)據(jù)的物理地址到達(dá)11,僅9個(gè)字節(jié),而待訪問(wèn)信息的粒度為10個(gè)字節(jié),因此,可以判定待訪問(wèn)數(shù)據(jù)無(wú)法存放在第一數(shù)據(jù)域?qū)?yīng)的數(shù)據(jù)域。
[0184]407:若確定待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的所有數(shù)據(jù)是都存放在第一數(shù)據(jù)域?qū)?yīng)的數(shù)據(jù)域中,高速緩沖存儲(chǔ)器根據(jù)第一標(biāo)簽域中的組標(biāo)識(shí)信息及組內(nèi)數(shù)據(jù)域偏移信息獲取第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的位置;
[0185]408:高速緩沖存儲(chǔ)器根據(jù)第一數(shù)據(jù)域?qū)?yīng)的數(shù)據(jù)域的位置獲取第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域;
[0186]409:若根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組確定高速緩沖存儲(chǔ)器中第一組中否存在狀態(tài)位有效的標(biāo)簽域,或者,若根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組確定存儲(chǔ)系統(tǒng)中第一組中是存在狀態(tài)位有效的標(biāo)簽域且若根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息確定第一組中狀態(tài)位有效的標(biāo)簽域中否存在與待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息相等的標(biāo)簽域,獲取分配待訪問(wèn)數(shù)據(jù)的組及組內(nèi)數(shù)據(jù)域偏移信息并分配給待訪問(wèn)數(shù)據(jù),其中,否存在狀態(tài)位有效的標(biāo)簽域包含指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域沒(méi)有被處理器訪問(wèn)且指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組,或者,指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域被處理器訪問(wèn)且指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于除待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組,或者,指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域沒(méi)有被處理器訪問(wèn)且指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于除待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組;
[0187]示例性的,高速緩沖存儲(chǔ)器可以根據(jù)第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域的利用率獲取分配待訪問(wèn)數(shù)據(jù)的組及組內(nèi)數(shù)據(jù)域偏移信息并分配給待訪問(wèn)數(shù)據(jù),也可以采取其它的方法獲取分配待訪問(wèn)數(shù)據(jù)的組及組內(nèi)數(shù)據(jù)域偏移信息并分配給待訪問(wèn)數(shù)據(jù),本發(fā)明實(shí)施例對(duì)此不進(jìn)行限制。
[0188]410:若根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息及待訪問(wèn)數(shù)據(jù)的粒度信息確定待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的所有數(shù)據(jù)否存放在第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中,獲取分配待訪問(wèn)數(shù)據(jù)的被替換數(shù)據(jù)域并分配給待訪問(wèn)數(shù)據(jù),其中,被替換數(shù)據(jù)域包含第一組中的每一標(biāo)簽域?qū)?yīng)的不同粒度的數(shù)據(jù)域中粒度大于且最接近待訪問(wèn)請(qǐng)求的粒度信息的數(shù)據(jù)域。
[0189]示例性的,高速緩沖存儲(chǔ)器可以根據(jù)待訪問(wèn)數(shù)據(jù)的粒度信息及第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域的利用率獲取分配待訪問(wèn)數(shù)據(jù)的被替換數(shù)據(jù)域并分配給待訪問(wèn)數(shù)據(jù),也可以采取其它的方法來(lái)獲取分配待訪問(wèn)數(shù)據(jù)的被替換數(shù)據(jù)域并分配給待訪問(wèn)數(shù)據(jù),本發(fā)明實(shí)施例對(duì)此不進(jìn)行限制。
[0190]411:更新分配給待訪問(wèn)數(shù)據(jù)的數(shù)據(jù)域?qū)?yīng)的標(biāo)簽域。
[0191]示例性的,在步驟409中,若高速緩沖存儲(chǔ)器根據(jù)第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域的利用率獲取分配待訪問(wèn)數(shù)據(jù)的組及組內(nèi)數(shù)據(jù)域偏移信息并分配給待訪問(wèn)數(shù)據(jù),則獲取的分配待訪問(wèn)數(shù)據(jù)的組即為第一組,因此,需要將分配給待訪問(wèn)數(shù)據(jù)的數(shù)據(jù)域?qū)?yīng)的標(biāo)簽域中的“tag”更改為待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的標(biāo)簽位信息中的各屬性信息更新為與該待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的屬性信息。
[0192]在步驟410中,若高速緩沖存儲(chǔ)器可以根據(jù)待訪問(wèn)數(shù)據(jù)的粒度信息及第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域的利用率獲取分配待訪問(wèn)數(shù)據(jù)的被替換數(shù)據(jù)域并分配給待訪問(wèn)數(shù)據(jù),則需要將分配給待訪問(wèn)數(shù)據(jù)的數(shù)據(jù)域?qū)?yīng)的標(biāo)簽域中的“tag”更改為待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的標(biāo)簽位信息中的各屬性信息更新為與該待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的屬性信息。
[0193]本發(fā)明實(shí)施例提供的一種訪問(wèn)數(shù)據(jù)的方法,將高速緩沖存儲(chǔ)器中的標(biāo)簽域的屬性進(jìn)行擴(kuò)充,從而使得標(biāo)簽域既可以對(duì)應(yīng)本組的數(shù)據(jù)域,也可以對(duì)應(yīng)其它組的數(shù)據(jù)域,進(jìn)而提高了高速緩沖存儲(chǔ)器中的數(shù)據(jù)域利用率,解決了現(xiàn)有技術(shù)中由于高速緩沖存儲(chǔ)器中標(biāo)簽域和數(shù)據(jù)域是固定的一一對(duì)應(yīng)的關(guān)系且分開(kāi)存儲(chǔ),導(dǎo)致高速緩沖存儲(chǔ)器中的數(shù)據(jù)域利用率低的問(wèn)題。
[0194]實(shí)施例二
[0195]參見(jiàn)圖6,為本發(fā)明實(shí)施例提供的另一種訪問(wèn)數(shù)據(jù)的流程示意圖,如圖所示,可以包括以下步驟:
[0196]601:高速緩沖存儲(chǔ)器接收處理器發(fā)送的訪問(wèn)待訪問(wèn)數(shù)據(jù)的請(qǐng)求信息,其中,請(qǐng)求信息包含待訪問(wèn)數(shù)據(jù)的物理地址信息和待訪問(wèn)數(shù)據(jù)的粒度信息;
[0197]示例性的,待訪問(wèn)數(shù)據(jù)的物理地址信息為沒(méi)有根據(jù)高速緩沖存儲(chǔ)器行大小對(duì)齊的地址。
[0198]602:高速緩沖存儲(chǔ)器根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息獲取待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組及標(biāo)簽位信息,其中,標(biāo)簽位信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域?qū)?yīng)的物理地址;
[0199]示例性的,待訪問(wèn)數(shù)據(jù)的物理地址信息可以通過(guò)現(xiàn)有技術(shù)中的哈希算法映射該待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組及標(biāo)簽位信息,也可以通過(guò)其它方法來(lái)獲得該待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組及標(biāo)簽位信息,本發(fā)明實(shí)施例對(duì)此不進(jìn)行限制。
[0200]603:高速緩沖存儲(chǔ)器根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組,判斷高速緩沖存儲(chǔ)器中的第一組中是否存在狀態(tài)位有效的標(biāo)簽域,其中,每個(gè)組均包含N個(gè)標(biāo)簽域和M個(gè)數(shù)據(jù)域,標(biāo)簽域與數(shù)據(jù)域一一對(duì)應(yīng)且一一對(duì)應(yīng)的標(biāo)簽域和數(shù)據(jù)域處于相同組或者不同組,N為大于或等于I的自然數(shù),M為大于或等于I的自然數(shù)且N大于M,每個(gè)標(biāo)簽域信息包含與標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的組標(biāo)識(shí)信息、組內(nèi)數(shù)據(jù)域偏移信息、標(biāo)簽位信息、數(shù)據(jù)域是否有效信息、“isptr”信息、數(shù)據(jù)域是否被更新信息、數(shù)據(jù)域大小信息、“PtrS”信息、開(kāi)始地址信息和結(jié)束地址信息,組標(biāo)識(shí)信息用于指示與標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域所在的組,組內(nèi)數(shù)據(jù)偏移信息用于指示數(shù)據(jù)域在數(shù)據(jù)域所在組內(nèi)的偏移量,數(shù)據(jù)域是否有效信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域被處理器訪問(wèn)還是沒(méi)有被處理器訪問(wèn),“isptr”信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組還是來(lái)源于除待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組,數(shù)據(jù)域是否被更新信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)被更新或沒(méi)有被更新,數(shù)據(jù)域大小信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的大小,若“isptr”信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組,“PtrS”信息為空,若“ isptr”信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于除待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組,“PtrS”信息用于指示該數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于除待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組上對(duì)應(yīng)的數(shù)據(jù)域,開(kāi)始地址信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的起始位地址,結(jié)束地址信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的結(jié)束位地址;
[0201]示例性的,在本發(fā)明實(shí)施例中,每個(gè)標(biāo)簽域信息包含的與標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的組標(biāo)識(shí)信息、組內(nèi)數(shù)據(jù)域偏移信息、數(shù)據(jù)域是否有效信息、“isPtr”信息、標(biāo)簽位信息、數(shù)據(jù)域是否被更新信息、“PtrS”信息、數(shù)據(jù)域起始地址信息、數(shù)據(jù)域結(jié)束地址信息及數(shù)據(jù)域大小信息可以分別用“86七”、“0打”、“妨11(1”、“18?廿”、“七&8”、“也1^”、叩^^”、“8七&代”、?11(1”及“size”來(lái)標(biāo)識(shí),也可以分別用其它標(biāo)識(shí)符來(lái)標(biāo)識(shí),本發(fā)明實(shí)施例對(duì)此不進(jìn)行限制。
[0202]參見(jiàn)圖5,為本發(fā)明實(shí)施例提供的一種高速緩沖存儲(chǔ)器內(nèi)組織結(jié)構(gòu)示意圖,如圖所示,在高速緩沖存儲(chǔ)器的組織結(jié)構(gòu)上,標(biāo)簽域和數(shù)據(jù)域并不是固定的一一對(duì)應(yīng)的關(guān)系,標(biāo)簽域可以指向與標(biāo)簽域同一組中的任意一個(gè)數(shù)據(jù)域,還可以指向與標(biāo)簽域不同組的其它組的數(shù)據(jù)域,因此,在高速緩沖存儲(chǔ)器中,標(biāo)簽域的數(shù)量N大于或等于數(shù)據(jù)域的數(shù)量;在高速緩沖存儲(chǔ)器的物理實(shí)現(xiàn)上,擴(kuò)充了標(biāo)簽域的屬性,例如,“set”、“0ff”、“iSPtr”、“PtrS”、“start”、“end” 及 “size,,。
[0203]示例性的,在現(xiàn)有技術(shù)中,標(biāo)簽域包含“tag”、“valid”及“dirty”三個(gè)屬性,標(biāo)簽位與標(biāo)簽位對(duì)應(yīng)的數(shù)據(jù)位的物理地址信息是一一對(duì)應(yīng)的,“ valid ”用來(lái)指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域是否有效,“dirty”用來(lái)指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域是否被更新。
[0204]示例性的,在本發(fā)明實(shí)施例中,標(biāo)簽域中的“tag”、“valid”及“dirty”與現(xiàn)有技術(shù)中高速緩沖存儲(chǔ)器設(shè)計(jì)中的“tag”、“valid”及“dirty”所指示的內(nèi)容相同,針對(duì)現(xiàn)有技術(shù)中的高速緩沖存儲(chǔ)器的標(biāo)簽域的屬性的物理實(shí)現(xiàn),擴(kuò)充了標(biāo)簽域的屬性信息,在標(biāo)簽域中可以增加“8帥”、“#廣’、“1#廿”、“?廿5”、“#&代”、“的(1”及“&況”,還可以在標(biāo)簽域中增加其他一些與高速緩沖存儲(chǔ)器替換策略相關(guān)的屬性,例如,可以增加“accessCount”信息,用于指示統(tǒng)計(jì)每個(gè)標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域被訪問(wèn)的頻率,本發(fā)明實(shí)施例對(duì)此不進(jìn)行限制。
[0205]示例性的,標(biāo)簽域中的“set”用于指示該標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域存放的組的位置,該位置可以是本組,也可以是其他組;標(biāo)簽域信息中的“off”用于指定數(shù)據(jù)域在數(shù)據(jù)域所在組內(nèi)的偏移量,例如,高速緩沖存儲(chǔ)器設(shè)計(jì)中的路。示例性的,在現(xiàn)有技術(shù)中的高速緩沖存儲(chǔ)器設(shè)計(jì)中,數(shù)據(jù)域在高速緩沖存儲(chǔ)器中的位置是根據(jù)該數(shù)據(jù)域當(dāng)前所在的數(shù)據(jù)域所在的組和路數(shù)來(lái)尋址的,但在本發(fā)明實(shí)施例中,由于高速緩沖存儲(chǔ)器的組織結(jié)構(gòu)及物理實(shí)現(xiàn)與現(xiàn)有技術(shù)的不同,因此數(shù)據(jù)域在高速緩沖存儲(chǔ)器中的位置需要根據(jù)與數(shù)據(jù)域?qū)?yīng)的標(biāo)簽域的“set”和“off”的值來(lái)確定數(shù)據(jù)域所在的組和路數(shù),從而根據(jù)數(shù)據(jù)域所在的組和路數(shù)來(lái)獲取數(shù)據(jù)域所在的位置,而且如果“set”的值不是數(shù)據(jù)域當(dāng)前所在的組,“set”和“off”可以作為指向其他組的標(biāo)簽域,該標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域存放的是本標(biāo)簽域?qū)?yīng)地址的數(shù)據(jù)。
[0206]標(biāo)簽域中的“start”和“end”用來(lái)標(biāo)識(shí)該標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中的數(shù)據(jù)所對(duì)應(yīng)的起始地址和結(jié)束地址,“start”和“end”是相對(duì)高速緩沖存儲(chǔ)器行最大粒度內(nèi)的偏移。例如,如果高速緩沖存儲(chǔ)器行最大粒度是64字節(jié),而數(shù)據(jù)域中的數(shù)據(jù)長(zhǎng)度只有8字節(jié)且該8字節(jié)剛好是64字節(jié)中的前8個(gè)字節(jié),那么該數(shù)據(jù)的起始地址是0,結(jié)束地址則是7。
[0207]示例性的,是存在狀態(tài)位有效的標(biāo)簽域包含數(shù)據(jù)域是否有效信息有效且“isPtr”信息有效,若標(biāo)簽域中的數(shù)據(jù)域是否有效信息用“valid”來(lái)表示,“isPtr”信息用“isPtr”來(lái)表示,則“valid”有效用于指示數(shù)據(jù)域被處理器訪問(wèn),可以用“is”來(lái)表示“valid”有效,“valid”無(wú)效用于指示數(shù)據(jù)域沒(méi)有被處理器訪問(wèn),可以用“no”來(lái)表示“valid”無(wú)效;“isPtr”有效用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組,可以用“no”來(lái)表示“isPtr”有效,“isPtr”無(wú)效用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于除待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組,可以用“is”來(lái)表示“isPtr”無(wú)效。因此,存在狀態(tài)位有效的標(biāo)簽域可以包含“valid”為“ is”并且“ isPtr”位為“no”。
[0208]否存在狀態(tài)位有效的標(biāo)簽域包含“valid”為“no”且“isPtr”位為“no”,或者,“valid” 為 “is” 且 “isPtr” 位為 “is”,或者,“valid” 為 “no” 且、“isPtr” 位為 “is”。
[0209]604:若確定高速緩沖存儲(chǔ)器中第一組是存在狀態(tài)位有效的標(biāo)簽域,高速緩沖存儲(chǔ)器根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息,判斷高速緩沖存儲(chǔ)器中狀態(tài)位有效的標(biāo)簽域中是否存在與待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位相等的標(biāo)簽域;
[0210]605:若確定高速緩沖存儲(chǔ)器中狀態(tài)位有效的標(biāo)簽域中是存在與待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息相等的第一標(biāo)簽域,高速緩沖存儲(chǔ)器讀取第一標(biāo)簽域中的指示所述第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的起始位地址和結(jié)束位地址;
[0211]606:高速緩沖存儲(chǔ)器根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息和待訪問(wèn)數(shù)據(jù)的粒度信息,判斷待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的所有數(shù)據(jù)是否都存放在第一數(shù)據(jù)域?qū)?yīng)的數(shù)據(jù)域中;
[0212]示例性的,判斷待訪問(wèn)數(shù)據(jù)是否存放在第一數(shù)據(jù)域?qū)?yīng)的數(shù)據(jù)域中時(shí)可以將待訪問(wèn)數(shù)據(jù)的物理地址與第一數(shù)據(jù)域中的起始地址位對(duì)齊,再由待訪問(wèn)數(shù)據(jù)的粒度信息來(lái)判斷待訪問(wèn)數(shù)據(jù)是否存放在第一數(shù)據(jù)域?qū)?yīng)的數(shù)據(jù)域中,例如,第一數(shù)據(jù)域中的起始地址位為O和終止地址位為8共9個(gè)字節(jié)大小的數(shù)據(jù),而待訪問(wèn)數(shù)據(jù)的物理地址信息的起始地址為3,粒度信息為10,則將待訪問(wèn)數(shù)據(jù)的物理地址的起始地址3與第一數(shù)據(jù)域?qū)?yīng)的數(shù)據(jù)域的起始地址位O對(duì)齊,一個(gè)一個(gè)進(jìn)行查看,當(dāng)?shù)谝粩?shù)據(jù)域?qū)?yīng)的數(shù)據(jù)域到達(dá)結(jié)束地址8時(shí),待訪問(wèn)數(shù)據(jù)的物理地址到達(dá)11,僅9個(gè)字節(jié),而待訪問(wèn)信息的粒度為10個(gè)字節(jié),因此,可以判定待訪問(wèn)數(shù)據(jù)無(wú)法存放在第一數(shù)據(jù)域?qū)?yīng)的數(shù)據(jù)域。
[0213]607:若確定待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的所有數(shù)據(jù)是都存放在第一數(shù)據(jù)域?qū)?yīng)的數(shù)據(jù)域中,高速緩沖存儲(chǔ)器根據(jù)第一標(biāo)簽域中的組標(biāo)識(shí)信息及組內(nèi)數(shù)據(jù)域偏移信息獲取第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的位置;
[0214]608:高速緩沖存儲(chǔ)器根據(jù)第一數(shù)據(jù)域?qū)?yīng)的數(shù)據(jù)域的位置獲取第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域;
[0215]609:若根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組確定高速緩沖存儲(chǔ)器中第一組中否存在狀態(tài)位有效的標(biāo)簽域,或者,若根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組確定存儲(chǔ)系統(tǒng)中第一組中是存在狀態(tài)位有效的標(biāo)簽域且若根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息確定第一組中狀態(tài)位有效的標(biāo)簽域中否存在與待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息相等的標(biāo)簽域,根據(jù)高速緩沖存儲(chǔ)器中的每一組分別對(duì)應(yīng)的利用率判斷第一組對(duì)應(yīng)的利用率是否大于或等于第一利用率閾值;
[0216]示例性的,第一利用率閾值可以根據(jù)高速緩沖存儲(chǔ)器中各組之間出現(xiàn)利用率不均衡的利用率及各組的利用率來(lái)獲取,也可以通過(guò)其它方式來(lái)獲取,本發(fā)明實(shí)施例對(duì)此不進(jìn)行限制。
[0217]示例性的,利用率可以通過(guò)統(tǒng)計(jì)各set的請(qǐng)求訪問(wèn)次數(shù)來(lái)獲取,也可以通過(guò)其它方式來(lái)獲取,本發(fā)明實(shí)施例對(duì)此不進(jìn)行限制。
[0218]示例性的,在現(xiàn)有技術(shù)中,高速緩沖存儲(chǔ)器缺失處理模塊中僅有set內(nèi)高速緩沖存儲(chǔ)器替換模塊,參見(jiàn)圖7A,高速緩沖存儲(chǔ)器缺失處理模塊利用組內(nèi)高速緩沖存儲(chǔ)器替換策略來(lái)選擇待訪問(wèn)數(shù)據(jù)的替換項(xiàng),例如,最近最少使用(Least Recently Used,簡(jiǎn)稱(chēng)LRU)算法,根據(jù)待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組內(nèi)各標(biāo)簽域?qū)?yīng)數(shù)據(jù)域的利用率,選擇一個(gè)合適的數(shù)據(jù)域作為被替換項(xiàng)。由于在現(xiàn)有技術(shù)中僅考慮待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組中的每一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的利用率,沒(méi)有考慮到若該組本身利用率非常高,該組中的每一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的利用率也非常高,若高速緩沖存儲(chǔ)器中其它組的利用率非常低,則高速緩沖存儲(chǔ)器缺失處理模塊的物理實(shí)現(xiàn)方式會(huì)出現(xiàn)高速緩沖存儲(chǔ)器中各組問(wèn)利用率不均衡的現(xiàn)象。
[0219]針對(duì)上述現(xiàn)有技術(shù)帶來(lái)的問(wèn)題,本發(fā)明實(shí)施例采取了在高速緩沖存儲(chǔ)器缺失處理模塊中增加了各組利用率統(tǒng)計(jì)模塊,參見(jiàn)圖7B,為本發(fā)明實(shí)施例提供的高速緩沖存儲(chǔ)器缺失處理模塊示意圖,包括各組利用率統(tǒng)計(jì)模塊和組內(nèi)高速緩沖存儲(chǔ)器替換模塊。各組利用率統(tǒng)計(jì)模塊的主要功能是統(tǒng)計(jì)高速緩沖存儲(chǔ)器中不同組的利用率,并依此判斷各組問(wèn)是否存在利用率不均衡的現(xiàn)象,例如,如果高速緩沖存儲(chǔ)器中利用率最高的組和利用率最低的組之間的利用率之差超過(guò)了某個(gè)閾值,則可以判斷組之間出現(xiàn)了利用率不均衡的現(xiàn)象。因此,克服了現(xiàn)有技術(shù)中出現(xiàn)的高速緩沖存儲(chǔ)器中組之間利用率不均衡的現(xiàn)象。
[0220]610:若確定第一組的利用率否大于或等于第一利用率閾值,高速緩沖存儲(chǔ)器根據(jù)第一組中每一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的利用率選擇第一組中的利用率最低的數(shù)據(jù)域;
[0221]611:高速緩沖存儲(chǔ)器將第一組及第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域中利用率最低的數(shù)據(jù)域分配給待訪問(wèn)數(shù)據(jù);
[0222]612:若確定第一組的利用率是大于或等于第一利用率閾值,高速緩沖存儲(chǔ)器選擇高速緩沖存儲(chǔ)器中除第一組外的所有組中利用率最低的第二組;
[0223]613:高速緩沖存儲(chǔ)器根據(jù)第二組中每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域的利用率選擇第二組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域中利用率最低的數(shù)據(jù)域;
[0224]614:高速緩沖存儲(chǔ)器將第二組及第二組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域中利用率最低的數(shù)據(jù)域分配給待訪問(wèn)數(shù)據(jù);
[0225]615:若根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息及待訪問(wèn)數(shù)據(jù)的粒度信息確定待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的所有數(shù)據(jù)否存放在第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中,高速緩沖存儲(chǔ)器獲取分配待訪問(wèn)數(shù)據(jù)的被替換數(shù)據(jù)域并分配給待訪問(wèn)數(shù)據(jù),其中,被替換數(shù)據(jù)域包含第一組中的每一標(biāo)簽域?qū)?yīng)的不同粒度的數(shù)據(jù)域中粒度大于且最接近待訪問(wèn)請(qǐng)求的粒度信息的數(shù)據(jù)域。
[0226]示例性的,高速緩沖存儲(chǔ)器可以根據(jù)待訪問(wèn)數(shù)據(jù)的粒度信息及第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域的利用率獲取分配待訪問(wèn)數(shù)據(jù)的被替換數(shù)據(jù)域并分配給待訪問(wèn)數(shù)據(jù),也可以采取其它的方法來(lái)獲取分配待訪問(wèn)數(shù)據(jù)的被替換數(shù)據(jù)域并分配給待訪問(wèn)數(shù)據(jù),本發(fā)明實(shí)施例對(duì)此不進(jìn)行限制。
[0227]616:高速緩沖存儲(chǔ)器更新分配給待訪問(wèn)數(shù)據(jù)的數(shù)據(jù)域?qū)?yīng)的標(biāo)簽域。
[0228]示例性的,若選擇的分配給待訪問(wèn)數(shù)據(jù)的數(shù)據(jù)域組即為數(shù)據(jù)域所在的組,則需要將分配給待訪問(wèn)數(shù)據(jù)的數(shù)據(jù)域?qū)?yīng)的標(biāo)簽域中的“tag”更改為待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的標(biāo)簽位信息中的各屬性信息更新為與該待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的屬性信息。根據(jù)該標(biāo)簽域中“dirtv”的屬性判斷是否需要將當(dāng)前數(shù)據(jù)域中的數(shù)據(jù)寫(xiě)回到下一級(jí)高速緩沖存儲(chǔ)器或是內(nèi)存中。再將分配給待訪問(wèn)數(shù)據(jù)的數(shù)據(jù)域?qū)?yīng)的標(biāo)簽域中的“ tag ”更改為待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的標(biāo)簽位信息中的各屬性信息更新為與該待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的屬性信息。
[0229]若選擇的組不是待訪問(wèn)請(qǐng)求對(duì)應(yīng)的第一組,則需要將第一組中的標(biāo)簽域及選擇的組中的標(biāo)簽域均根據(jù)待訪問(wèn)數(shù)據(jù)的屬性進(jìn)行更新。
[0230]本發(fā)明實(shí)施例提供的一種訪問(wèn)數(shù)據(jù)的方法,將高速緩沖存儲(chǔ)器中的標(biāo)簽域的屬性進(jìn)行擴(kuò)充,從而使得標(biāo)簽域既可以對(duì)應(yīng)本組的數(shù)據(jù)域,也可以對(duì)應(yīng)其它組的數(shù)據(jù)域,進(jìn)而提高了高速緩沖存儲(chǔ)器中的數(shù)據(jù)域利用率,解決了現(xiàn)有技術(shù)中由于高速緩沖存儲(chǔ)器中標(biāo)簽域和數(shù)據(jù)域是固定的一一對(duì)應(yīng)的關(guān)系且分開(kāi)存儲(chǔ),導(dǎo)致高速緩沖存儲(chǔ)器中的數(shù)據(jù)域利用率低的問(wèn)題。
[0231]實(shí)施例三
[0232]參見(jiàn)圖8,為本發(fā)明實(shí)施例提供的另一種訪問(wèn)數(shù)據(jù)的流程示意圖,如圖所示,可以包括以下步驟:
[0233]801:高速緩沖存儲(chǔ)器接收處理器發(fā)送的訪問(wèn)待訪問(wèn)數(shù)據(jù)的請(qǐng)求信息,其中,請(qǐng)求信息包含待訪問(wèn)數(shù)據(jù)的物理地址信息和待訪問(wèn)數(shù)據(jù)的粒度信息;
[0234]示例性的,待訪問(wèn)數(shù)據(jù)的物理地址信息為沒(méi)有根據(jù)高速緩沖存儲(chǔ)器行大小對(duì)齊的地址。
[0235]802:高速緩沖存儲(chǔ)器根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息獲取待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組及標(biāo)簽位信息,其中,標(biāo)簽位信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域?qū)?yīng)的物理地址;
[0236]示例性的,待訪問(wèn)數(shù)據(jù)的物理地址信息可以通過(guò)現(xiàn)有技術(shù)中的哈希算法映射該待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組及標(biāo)簽位信息,也可以通過(guò)其它方法來(lái)獲得該待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組及標(biāo)簽位信息,本發(fā)明實(shí)施例對(duì)此不進(jìn)行限制。
[0237]803:高速緩沖存儲(chǔ)器根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組,判斷高速緩沖存儲(chǔ)器中的第一組中是否存在狀態(tài)位有效的標(biāo)簽域,其中,每個(gè)組均包含N個(gè)標(biāo)簽域和M個(gè)數(shù)據(jù)域,標(biāo)簽域與數(shù)據(jù)域一一對(duì)應(yīng)且一一對(duì)應(yīng)的標(biāo)簽域和數(shù)據(jù)域處于相同組或者不同組,N為大于或等于I的自然數(shù),M為大于或等于I的自然數(shù)且N大于M,每個(gè)標(biāo)簽域信息包含與標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的組標(biāo)識(shí)信息、組內(nèi)數(shù)據(jù)域偏移信息、標(biāo)簽位信息、數(shù)據(jù)域是否有效信息、“isptr”信息、數(shù)據(jù)域是否被更新信息、數(shù)據(jù)域大小信息、“PtrS”信息、開(kāi)始地址信息和結(jié)束地址信息,組標(biāo)識(shí)信息用于指示與標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域所在的組,組內(nèi)數(shù)據(jù)偏移信息用于指示數(shù)據(jù)域在數(shù)據(jù)域所在組內(nèi)的偏移量,數(shù)據(jù)域是否有效信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域被處理器訪問(wèn)還是沒(méi)有被處理器訪問(wèn),“isptr”信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組還是來(lái)源于除待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組,數(shù)據(jù)域是否被更新信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)被更新或沒(méi)有被更新,數(shù)據(jù)域大小信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的大小,若“isptr”信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組,“PtrS”信息為空,若“isptr”信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于除待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組,“PtrS”信息用于指示該數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于除待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組上對(duì)應(yīng)的數(shù)據(jù)域,開(kāi)始地址信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的起始位地址,結(jié)束地址信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的結(jié)束位地址;
[0238]示例性的,在本發(fā)明實(shí)施例中,每個(gè)標(biāo)簽域信息包含的與標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的組標(biāo)識(shí)信息、組內(nèi)數(shù)據(jù)域偏移信息、數(shù)據(jù)域是否有效信息、“isPtr”信息、標(biāo)簽位信息、數(shù)據(jù)域是否被更新信息、“PtrS”信息、數(shù)據(jù)域起始地址信息、數(shù)據(jù)域結(jié)束地址信息及數(shù)據(jù)域大小信息可以分別用“86七”、“0打”、“妨11(1”、“18?廿”、1&8”、“也1^”、叩^^”、“8七&代”、?11(1”及“size”來(lái)標(biāo)識(shí),也可以分別用其它標(biāo)識(shí)符來(lái)標(biāo)識(shí),本發(fā)明實(shí)施例對(duì)此不進(jìn)行限制。
[0239]參見(jiàn)圖5,為本發(fā)明實(shí)施例提供的一種高速緩沖存儲(chǔ)器內(nèi)組織結(jié)構(gòu)示意圖,如圖所示,在高速緩沖存儲(chǔ)器的組織結(jié)構(gòu)上,標(biāo)簽域和數(shù)據(jù)域并不是固定的一一對(duì)應(yīng)的關(guān)系,標(biāo)簽域可以指向與標(biāo)簽域同一組中的任意一個(gè)數(shù)據(jù)域,還可以指向與標(biāo)簽域不同組的其它組的數(shù)據(jù)域,因此,在高速緩沖存儲(chǔ)器中,標(biāo)簽域的數(shù)量N大于或等于數(shù)據(jù)域的數(shù)量;在高速緩沖存儲(chǔ)器的物理實(shí)現(xiàn)上,擴(kuò)充了標(biāo)簽域的屬性,例如,“8社”、“(^”、“丨#廿”、“?^^”、“start”、“end” 及 “size,,。
[0240]示例性的,在現(xiàn)有技術(shù)中,標(biāo)簽域包含“ tag”、“ val id”及“ dirty ”三個(gè)屬性,標(biāo)簽位與標(biāo)簽位對(duì)應(yīng)的數(shù)據(jù)位的物理地址信息是一一對(duì)應(yīng)的,“ valid ”用來(lái)指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域是否有效,“dirty”用來(lái)指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域是否被更新。
[0241]示例性的,在本發(fā)明實(shí)施例中,標(biāo)簽域中的“tag”、“valid”及“dirty”與現(xiàn)有技術(shù)中高速緩沖存儲(chǔ)器設(shè)計(jì)中的“tag”、“valid”及“dirty”所指示的內(nèi)容相同,針對(duì)現(xiàn)有技術(shù)中的高速緩沖存儲(chǔ)器的標(biāo)簽域的屬性的物理實(shí)現(xiàn),擴(kuò)充了標(biāo)簽域的屬性信息,在標(biāo)簽域中可以增加“8帥”、“#廣’、“1#廿”、“?廿5”、“#&代”、“的(1”及“&況”,還可以在標(biāo)簽域中增加其他一些與高速緩沖存儲(chǔ)器替換策略相關(guān)的屬性,例如,可以增加“accessCount”信息,用于指示統(tǒng)計(jì)每個(gè)標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域被訪問(wèn)的頻率,本發(fā)明實(shí)施例對(duì)此不進(jìn)行限制。
[0242]示例性的,標(biāo)簽域中的“set”用于指示該標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域存放的組的位置,該位置可以是本組,也可以是其他組;標(biāo)簽域信息中的“off”用于指定數(shù)據(jù)域在數(shù)據(jù)域所在組內(nèi)的偏移量,例如,高速緩沖存儲(chǔ)器設(shè)計(jì)中的路。示例性的,在現(xiàn)有技術(shù)中的高速緩沖存儲(chǔ)器設(shè)計(jì)中,數(shù)據(jù)域在高速緩沖存儲(chǔ)器中的位置是根據(jù)該數(shù)據(jù)域當(dāng)前所在的數(shù)據(jù)域所在的組和路數(shù)來(lái)尋址的,但在本發(fā)明實(shí)施例中,由于高速緩沖存儲(chǔ)器的組織結(jié)構(gòu)及物理實(shí)現(xiàn)與現(xiàn)有技術(shù)的不同,因此數(shù)據(jù)域在高速緩沖存儲(chǔ)器中的位置需要根據(jù)與數(shù)據(jù)域?qū)?yīng)的標(biāo)簽域的“set”和“off”的值來(lái)確定數(shù)據(jù)域所在的組和路數(shù),從而根據(jù)數(shù)據(jù)域所在的組和路數(shù)來(lái)獲取數(shù)據(jù)域所在的位置,而且如果“set”的值不是數(shù)據(jù)域當(dāng)前所在的組,“set”和“off”可以作為指向其他組的標(biāo)簽域,該標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域存放的是本標(biāo)簽域?qū)?yīng)地址的數(shù)據(jù)。
[0243]標(biāo)簽域中的“start”和“end”用來(lái)標(biāo)識(shí)該標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中的數(shù)據(jù)所對(duì)應(yīng)的起始地址和結(jié)束地址,“start”和“end”是相對(duì)高速緩沖存儲(chǔ)器行最大粒度內(nèi)的偏移。例如,如果高速緩沖存儲(chǔ)器行最大粒度是64字節(jié),而數(shù)據(jù)域中的數(shù)據(jù)長(zhǎng)度只有8字節(jié)且該8字節(jié)剛好是64字節(jié)中的前8個(gè)字節(jié),那么該數(shù)據(jù)的起始地址是0,結(jié)束地址則是7。
[0244]示例性的,是存在狀態(tài)位有效的標(biāo)簽域包含數(shù)據(jù)域是否有效信息有效且“isPtr”信息有效,若標(biāo)簽域中的數(shù)據(jù)域是否有效信息用“valid”來(lái)表示,“isPtr”信息用“isPtr”來(lái)表示,則“valid”有效用于指示數(shù)據(jù)域被處理器訪問(wèn),可以用“is”來(lái)表示“valid”有效,“valid”無(wú)效用于指示數(shù)據(jù)域沒(méi)有被處理器訪問(wèn),可以用“no”來(lái)表示“valid”無(wú)效;“isPtr”有效用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組,可以用“no”來(lái)表示“ isPtr”有效,“ isPtr”無(wú)效用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于除待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組,可以用“is”來(lái)表示“isPtr”無(wú)效。因此,存在狀態(tài)位有效的標(biāo)簽域可以包含“valid”為“is”并且“isPtr”位為“no”。
[0245]否存在狀態(tài)位有效的標(biāo)簽域包含“valid”為“no”且“isPtr”位為“no”,或者,“valid” 為 “is” 且 “isPtr” 位為 “is”,或者,“valid” 為 “no” 且、“isPtr” 位為 “is”。
[0246]804:若確定高速緩沖存儲(chǔ)器中第一組是存在狀態(tài)位有效的標(biāo)簽域,高速緩沖存儲(chǔ)器根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息,判斷高速緩沖存儲(chǔ)器中狀態(tài)位有效的標(biāo)簽域中是否存在與待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位相等的標(biāo)簽域;
[0247]805:若確定高速緩沖存儲(chǔ)器中狀態(tài)位有效的標(biāo)簽域中是存在與待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息相等的第一標(biāo)簽域,高速緩沖存儲(chǔ)器讀取第一標(biāo)簽域中的指示所述第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的起始位地址和結(jié)束位地址;
[0248]806:高速緩沖存儲(chǔ)器根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息和待訪問(wèn)數(shù)據(jù)的粒度信息,判斷待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的所有數(shù)據(jù)是否都存放在第一數(shù)據(jù)域?qū)?yīng)的數(shù)據(jù)域中;
[0249]示例性的,判斷待訪問(wèn)數(shù)據(jù)是否存放在第一數(shù)據(jù)域?qū)?yīng)的數(shù)據(jù)域中時(shí)可以將待訪問(wèn)數(shù)據(jù)的物理地址與第一數(shù)據(jù)域中的起始地址位對(duì)齊,再由待訪問(wèn)數(shù)據(jù)的粒度信息來(lái)判斷待訪問(wèn)數(shù)據(jù)是否存放在第一數(shù)據(jù)域?qū)?yīng)的數(shù)據(jù)域中,例如,第一數(shù)據(jù)域中的起始地址位為O和終止地址位為8共9個(gè)字節(jié)大小的數(shù)據(jù),而待訪問(wèn)數(shù)據(jù)的物理地址信息的起始地址為3,粒度信息為10,則將待訪問(wèn)數(shù)據(jù)的物理地址的起始地址3與第一數(shù)據(jù)域?qū)?yīng)的數(shù)據(jù)域的起始地址位O對(duì)齊,一個(gè)一個(gè)進(jìn)行查看,當(dāng)?shù)谝粩?shù)據(jù)域?qū)?yīng)的數(shù)據(jù)域到達(dá)結(jié)束地址8時(shí),待訪問(wèn)數(shù)據(jù)的物理地址到達(dá)11,僅9個(gè)字節(jié),而待訪問(wèn)信息的粒度為10個(gè)字節(jié),因此,可以判定待訪問(wèn)數(shù)據(jù)無(wú)法存放在第一數(shù)據(jù)域?qū)?yīng)的數(shù)據(jù)域。
[0250]807:若確定待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的所有數(shù)據(jù)是都存放在第一數(shù)據(jù)域?qū)?yīng)的數(shù)據(jù)域中,高速緩沖存儲(chǔ)器根據(jù)第一標(biāo)簽域中的組標(biāo)識(shí)信息及組內(nèi)數(shù)據(jù)域偏移信息獲取第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的位置;
[0251]808:高速緩沖存儲(chǔ)器根據(jù)第一數(shù)據(jù)域?qū)?yīng)的數(shù)據(jù)域的位置獲取第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域;
[0252]809:若根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組確定高速緩沖存儲(chǔ)器中第一組中否存在狀態(tài)位有效的標(biāo)簽域,或者,若根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組確定存儲(chǔ)系統(tǒng)中第一組中是存在狀態(tài)位有效的標(biāo)簽域且若根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息確定第一組中狀態(tài)位有效的標(biāo)簽域中否存在與待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息相等的標(biāo)簽域,高速緩沖存儲(chǔ)器獲取分配待訪問(wèn)數(shù)據(jù)的組及組內(nèi)數(shù)據(jù)域偏移信息并分配給待訪問(wèn)數(shù)據(jù),其中,否存在狀態(tài)位有效的標(biāo)簽域包含指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域沒(méi)有被處理器訪問(wèn)且指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組,或者,指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域被處理器訪問(wèn)且指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于除待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組,或者,指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域沒(méi)有被處理器訪問(wèn)且指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于除待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組;
[0253]示例性的,高速緩沖存儲(chǔ)器可以根據(jù)第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域的利用率獲取分配待訪問(wèn)數(shù)據(jù)的組及組內(nèi)數(shù)據(jù)域偏移信息并分配給待訪問(wèn)數(shù)據(jù),也可以采取其它的方法獲取分配待訪問(wèn)數(shù)據(jù)的組及組內(nèi)數(shù)據(jù)域偏移信息并分配給待訪問(wèn)數(shù)據(jù),本發(fā)明實(shí)施例對(duì)此不進(jìn)行限制。
[0254]810:若根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息及所述待訪問(wèn)數(shù)據(jù)的粒度信息確定所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的所有數(shù)據(jù)不存放在所述第一標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域中,判斷第一組中的被替換數(shù)據(jù)域的利用率是否大于或等于第二利用率閾值,其中,被替換數(shù)據(jù)域包含第一組中的每一標(biāo)簽域?qū)?yīng)的不同粒度的數(shù)據(jù)域中粒度大于且最接近待訪問(wèn)請(qǐng)求的粒度信息的數(shù)據(jù)域;
[0255]示例性的,第二利用率閾值可以根據(jù)高速緩沖存儲(chǔ)器中每一組中的每一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域之間出現(xiàn)利用率不均衡的利用率及每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域的利用率來(lái)獲取,也可以通過(guò)其它方式來(lái)獲取,本發(fā)明實(shí)施例對(duì)此不進(jìn)行限制。
[0256]示例性的,利用率可以通過(guò)統(tǒng)計(jì)數(shù)據(jù)域的請(qǐng)求訪問(wèn)次數(shù)來(lái)獲取,也可以通過(guò)其它方式來(lái)獲取,本發(fā)明實(shí)施例對(duì)此不進(jìn)行限制。
[0257]811:若根據(jù)第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的不同粒度的數(shù)據(jù)域的利用率確定第一組中的被替換數(shù)據(jù)域的利用率是大于或等于第二利用率閾值且第一組中除被替換數(shù)據(jù)域外所有不同粒度的數(shù)據(jù)域中多個(gè)第二數(shù)據(jù)域的利用率都小于第二訪問(wèn)閾值,高速緩沖存儲(chǔ)器將多個(gè)第二數(shù)據(jù)域合并為被替換數(shù)據(jù)域并分配給待訪問(wèn)數(shù)據(jù),其中,第二數(shù)據(jù)域包含第一組中除被替換數(shù)據(jù)域外所有不同粒度的數(shù)據(jù)域中粒度小于被替換數(shù)據(jù)域粒度的數(shù)據(jù)域;
[0258]示例性的,在現(xiàn)有技術(shù)中,高速緩沖存儲(chǔ)器行中的數(shù)據(jù)域的大小是根據(jù)處理器發(fā)送訪問(wèn)待訪問(wèn)數(shù)據(jù)的粒度信息來(lái)分配需要的數(shù)據(jù)域,每個(gè)高速緩沖存儲(chǔ)器行中數(shù)據(jù)域的大小就是處理器發(fā)送的待訪問(wèn)數(shù)據(jù)的大小。因此,數(shù)據(jù)域的大小與待訪問(wèn)數(shù)據(jù)是直接相關(guān)的且是任意的。為了提高效率,將地址連續(xù)但處于不同高速緩沖存儲(chǔ)器行中的數(shù)據(jù)合并成一個(gè)大的高速緩沖存儲(chǔ)器行。為了實(shí)現(xiàn)變粒度高速緩沖存儲(chǔ)器行,將高速緩沖存儲(chǔ)器行中標(biāo)簽域和數(shù)據(jù)域儲(chǔ)存在一起,連續(xù)存儲(chǔ)在同一個(gè)高速緩沖存儲(chǔ)器中,高速緩沖存儲(chǔ)器中每個(gè)存儲(chǔ)單元既可以存儲(chǔ)標(biāo)簽域,也可能存儲(chǔ)數(shù)據(jù)域。每個(gè)高速緩沖存儲(chǔ)器行的大小根據(jù)待訪問(wèn)數(shù)據(jù)的粒度信息來(lái)定,每個(gè)標(biāo)簽域分別增加了額外的屬性,例如,起始的字節(jié)數(shù)、結(jié)束的字節(jié)數(shù)。這種方法可以保證高速緩沖存儲(chǔ)器行中的內(nèi)容都是真正有效被訪問(wèn)的,不存在空閑不被訪問(wèn)的數(shù)據(jù),但是由于每個(gè)存儲(chǔ)單元都可能是標(biāo)簽域,而每個(gè)處理器發(fā)送的訪問(wèn)待訪問(wèn)數(shù)據(jù)的請(qǐng)求時(shí)高速緩沖存儲(chǔ)器都需要比較標(biāo)簽域中的“tag”位與待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的標(biāo)簽位是否相等,因而在每?jī)蓚€(gè)相鄰的存儲(chǔ)單元都需要增加一個(gè)比較器,導(dǎo)致整個(gè)高速緩沖存儲(chǔ)器的結(jié)構(gòu)需要做很大的修改,而且會(huì)明顯增加延遲和功耗。
[0259]針對(duì)上述現(xiàn)有技術(shù)中存在的問(wèn)題,本發(fā)明實(shí)施例提出了一種變粒度高速緩沖存儲(chǔ)器的實(shí)現(xiàn)方式,參見(jiàn)圖9,為本發(fā)明實(shí)施例提供的一種變粒度高速緩沖存儲(chǔ)器的示意圖,如圖所示,高速緩沖存儲(chǔ)器中包括多種粒度的數(shù)據(jù)域且數(shù)據(jù)域的長(zhǎng)度是可變的。在高速緩沖存儲(chǔ)器中增加了請(qǐng)求粒度統(tǒng)計(jì)模塊和數(shù)據(jù)域合并及拆分模塊來(lái)實(shí)現(xiàn)變粒度數(shù)據(jù)域,請(qǐng)求粒度統(tǒng)計(jì)模塊主要用于統(tǒng)計(jì)不同粒度請(qǐng)求的利用率;而數(shù)據(jù)域合并及拆分模塊主要用于將大粒度的數(shù)據(jù)域拆分為多個(gè)小粒度的數(shù)據(jù)域,以及將多個(gè)小粒度的數(shù)據(jù)域合并為大粒度的數(shù)據(jù)域。當(dāng)數(shù)據(jù)域合并及拆分模塊將相鄰的小粒度的數(shù)據(jù)塊合并為一個(gè)大粒度的數(shù)據(jù)塊時(shí),需要同時(shí)分別修改其中與各小粒度數(shù)據(jù)塊對(duì)應(yīng)的一個(gè)標(biāo)簽域中的“start”、“end”及“size”的屬性,并將多余的數(shù)據(jù)域置為無(wú)效;當(dāng)數(shù)據(jù)域合并及拆分模塊將大粒度的數(shù)據(jù)域拆分為多個(gè)小粒度的數(shù)據(jù)域時(shí),需要同時(shí)修改大粒度的數(shù)據(jù)域?qū)?yīng)的標(biāo)簽位中的“start”和“end”位及“size”,將該標(biāo)簽位與其中拆分的一個(gè)小粒度的數(shù)據(jù)域?qū)?yīng),還需要分配額外的標(biāo)簽域?qū)?yīng)拆分后的其它數(shù)據(jù)域。
[0260]812:若根據(jù)第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的不同粒度的數(shù)據(jù)域的利用率確定第一組中的被替換數(shù)據(jù)域的利用率是大于或等于第二利用率閾值且第一組中除被替換數(shù)據(jù)域外所有不同粒度的數(shù)據(jù)域中第三數(shù)據(jù)域的利用率小于第二訪問(wèn)閾值,高速緩沖存儲(chǔ)器將第三數(shù)據(jù)域拆分為一個(gè)或多個(gè)被替換數(shù)據(jù)域并分配給待訪問(wèn)數(shù)據(jù),其中,第三數(shù)據(jù)域包含第一組中除被替換數(shù)據(jù)域外所有不同粒度的數(shù)據(jù)域中對(duì)應(yīng)的數(shù)據(jù)域中粒度大于被替換數(shù)據(jù)域粒度的數(shù)據(jù)域;
[0261]813:若根據(jù)第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的不同粒度的數(shù)據(jù)域的利用率確定第一組中的被替換數(shù)據(jù)域的利用率否大于或等于第二利用率閾值,高速緩沖存儲(chǔ)器將被替換數(shù)據(jù)域分配給待訪問(wèn)數(shù)據(jù)。
[0262]814:高速緩沖存儲(chǔ)器更新分配給待訪問(wèn)數(shù)據(jù)的數(shù)據(jù)域?qū)?yīng)的標(biāo)簽域。
[0263]示例性的,高速緩沖存儲(chǔ)器更新分配給待訪問(wèn)數(shù)據(jù)的數(shù)據(jù)域?qū)?yīng)的標(biāo)簽域的屬性信息在步驟811中進(jìn)行具體說(shuō)明。
[0264]本發(fā)明實(shí)施例提供的一種訪問(wèn)數(shù)據(jù)的方法,將高速緩沖存儲(chǔ)器中的標(biāo)簽域的屬性進(jìn)行擴(kuò)充,從而使得標(biāo)簽域既可以對(duì)應(yīng)本組的數(shù)據(jù)域,也可以對(duì)應(yīng)其它組的數(shù)據(jù)域,進(jìn)而提高了高速緩沖存儲(chǔ)器中的數(shù)據(jù)域利用率,解決了現(xiàn)有技術(shù)中由于高速緩沖存儲(chǔ)器中標(biāo)簽域和數(shù)據(jù)域是固定的一一對(duì)應(yīng)的關(guān)系且分開(kāi)存儲(chǔ),導(dǎo)致高速緩沖存儲(chǔ)器中的數(shù)據(jù)域利用率低的問(wèn)題。
[0265]示例性的,本發(fā)明實(shí)施例的應(yīng)用場(chǎng)景包括一個(gè)主機(jī),該主機(jī)包括至少一個(gè)處理器,該處理器包括多個(gè)層次的組相聯(lián)高速緩沖存儲(chǔ)器。
[0266]另一方面,本發(fā)明實(shí)施例提供一種高速緩沖存儲(chǔ)器10,如圖10或11所示,可以包括:
[0267]接收單元1001,用于接收處理器發(fā)送的訪問(wèn)待訪問(wèn)數(shù)據(jù)的請(qǐng)求信息,其中,請(qǐng)求信息包含所述待訪問(wèn)數(shù)據(jù)的物理地址信息;
[0268]獲取單元1002,用于根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息獲取與待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽域;根據(jù)物理地址信息對(duì)應(yīng)的標(biāo)簽域信息中的組標(biāo)識(shí)信息、組內(nèi)數(shù)據(jù)域偏移信息獲取標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域,其中,每個(gè)組均包含N個(gè)標(biāo)簽域和M個(gè)數(shù)據(jù)域,標(biāo)簽域與所述數(shù)據(jù)域一一對(duì)應(yīng)且一一對(duì)應(yīng)的標(biāo)簽域和數(shù)據(jù)域處于相同組或者不同組,N為大于或等于I的自然數(shù),M為大于或等于I的自然數(shù)且N大于M,每個(gè)標(biāo)簽域信息包含與標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的組標(biāo)識(shí)信息、組內(nèi)數(shù)據(jù)域偏移信息,組標(biāo)識(shí)信息用于指示與標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域所在的組,組內(nèi)數(shù)據(jù)偏移信息用于指示數(shù)據(jù)域在數(shù)據(jù)域所在組內(nèi)的偏移量。
[0269]示例性的,每個(gè)標(biāo)簽域信息還包含標(biāo)簽位信息,數(shù)據(jù)域是否有效信息,“isptr”信息,
[0270]其中,標(biāo)簽位信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域?qū)?yīng)的物理地址,數(shù)據(jù)域是否有效信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域被處理器訪問(wèn)還是沒(méi)有被處理器訪問(wèn),“isptr”信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組還是來(lái)源于除待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組,
[0271]相應(yīng)的,
[0272]獲取單元1002還用于:根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息獲取待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組及標(biāo)簽位信息;
[0273]若根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組確定存儲(chǔ)系統(tǒng)中第一組中存在狀態(tài)位有效的標(biāo)簽域且若根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息確定第一組中狀態(tài)位有效的標(biāo)簽域中存在與待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息相等的標(biāo)簽域,獲取存儲(chǔ)系統(tǒng)中狀態(tài)位有效的標(biāo)簽域中的標(biāo)簽位信息與待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息相等的第一標(biāo)簽域,其中,存在狀態(tài)位有效的標(biāo)簽域包含指示數(shù)據(jù)域被處理器訪問(wèn)且指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組。
[0274]示例性的,每個(gè)標(biāo)簽域信息還包含標(biāo)簽位信息,數(shù)據(jù)域是否有效信息,“isptr”信息,
[0275]其中,標(biāo)簽位信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域?qū)?yīng)的物理地址,數(shù)據(jù)域是否有效信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域被處理器訪問(wèn)還是沒(méi)有被處理器訪問(wèn),“isptr”信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組還是來(lái)源于除待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組,
[0276]相應(yīng)的,
[0277]獲取單元1002還用于:根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息獲取待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組及標(biāo)簽位信息;
[0278]若根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組確定存儲(chǔ)系統(tǒng)中第一組中不存在狀態(tài)位有效的標(biāo)簽域,或者,若根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組確定存儲(chǔ)系統(tǒng)中第一組中存在狀態(tài)位有效的標(biāo)簽域且若根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息確定第一組中狀態(tài)位有效的標(biāo)簽域中不存在與待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息相等的標(biāo)簽域,獲取分配待訪問(wèn)數(shù)據(jù)的組及組內(nèi)數(shù)據(jù)域偏移信息并分配給待訪問(wèn)數(shù)據(jù),其中,不存在狀態(tài)位有效的標(biāo)簽域包含指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域沒(méi)有被處理器訪問(wèn)且指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組,或者,指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域被處理器訪問(wèn)且指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于除待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組,或者,指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域沒(méi)有被處理器訪問(wèn)且指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于除待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組。
[0279]示例性的,獲取單元1002還包括:
[0280]選擇模塊10001,若根據(jù)存儲(chǔ)系統(tǒng)中的每一組分別對(duì)應(yīng)的利用率確定第一組對(duì)應(yīng)的利用率小于第一利用率閾值,用于根據(jù)第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域的利用率選擇第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域中利用率最低的數(shù)據(jù)域;
[0281]分配模塊10002,用于將第一組及第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域中利用率最低的數(shù)據(jù)域分配給待訪問(wèn)數(shù)據(jù)。
[0282]示例性的,選擇模塊10001還用于:若根據(jù)存儲(chǔ)系統(tǒng)中的每一組分別對(duì)應(yīng)的利用率確定第一組對(duì)應(yīng)的利用率大于或等于第一利用率閾值,選擇存儲(chǔ)系統(tǒng)中除第一組外的所有組中利用率最低的第二組;根據(jù)第二組中每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域的利用率選擇第二組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域中利用率最低的數(shù)據(jù)域;
[0283]分配模塊10002還用于:將第二組及第二組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域中利用率最低的數(shù)據(jù)域分配給待訪問(wèn)數(shù)據(jù)。
[0284]示例性的,每個(gè)標(biāo)簽域還包含與標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的開(kāi)始地址信息、結(jié)束地址信息,
[0285]開(kāi)始地址信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的起始位地址,結(jié)束地址信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的結(jié)束位地址,
[0286]請(qǐng)求信息還包含待訪問(wèn)數(shù)據(jù)的粒度信息,
[0287]相應(yīng)的,
[0288]獲取單元1002還包括:
[0289]讀模塊10003,用于讀取第一標(biāo)簽域中的指示第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的起始位地址和結(jié)束位地址;
[0290]獲取單元1002還用于:若根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息及待訪問(wèn)數(shù)據(jù)的粒度信息確定待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的所有數(shù)據(jù)存放在第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中,根據(jù)第一標(biāo)簽域中的組標(biāo)識(shí)信息及組內(nèi)數(shù)據(jù)域偏移信息獲取第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的位置;根據(jù)第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的位置獲取第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域。
[0291]示例性的,每個(gè)標(biāo)簽域還包含與標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的開(kāi)始地址信息、結(jié)束地址信息,
[0292]開(kāi)始地址信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的起始位地址,結(jié)束地址信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的結(jié)束位地址,
[0293]請(qǐng)求信息還包含待訪問(wèn)數(shù)據(jù)的粒度信息,
[0294]相應(yīng)的,
[0295]讀模塊10003還用于:讀取第一標(biāo)簽域中的指示第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的起始位地址和結(jié)束位地址;
[0296]獲取單元1002還用于:若根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息及待訪問(wèn)數(shù)據(jù)的粒度信息確定待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的所有數(shù)據(jù)不存放在第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中,獲取分配待訪問(wèn)數(shù)據(jù)的被替換數(shù)據(jù)域并分配給待訪問(wèn)數(shù)據(jù),其中,被替換數(shù)據(jù)域包含第一組中的每一標(biāo)簽域?qū)?yīng)的不同粒度的數(shù)據(jù)域中粒度大于且最接近待訪問(wèn)請(qǐng)求的粒度信息的數(shù)據(jù)域。
[0297]示例性的,獲取單元1002還包括:
[0298]合并模塊10004,若根據(jù)第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的不同粒度的數(shù)據(jù)域的利用率確定第一組中的被替換數(shù)據(jù)域的利用率大于或等于第二利用率閾值且第一組中除被替換數(shù)據(jù)域外所有不同粒度的數(shù)據(jù)域中多個(gè)第二數(shù)據(jù)域的利用率都小于第二訪問(wèn)閾值,合并模塊10004用于將多個(gè)第二數(shù)據(jù)域合并為被替換數(shù)據(jù)域并分配給待訪問(wèn)數(shù)據(jù),其中,第二數(shù)據(jù)域包含第一組中除被替換數(shù)據(jù)域外所有不同粒度的數(shù)據(jù)域中粒度小于被替換數(shù)據(jù)域粒度的數(shù)據(jù)域;
[0299]或者,
[0300]獲取單元1002還包括:
[0301]拆分模塊10005,若根據(jù)所述第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的不同粒度的數(shù)據(jù)域的利用率確定所述第一組中的所述被替換數(shù)據(jù)域的利用率大于或等于所述第二利用率閾值且所述第一組中除所述被替換數(shù)據(jù)域外所有不同粒度的數(shù)據(jù)域中第三類(lèi)數(shù)據(jù)域第三數(shù)據(jù)域的利用率小于所述第二訪問(wèn)閾值,拆分模塊10005用于將第三類(lèi)數(shù)據(jù)域第三數(shù)據(jù)域拆分為一個(gè)或多個(gè)被替換數(shù)據(jù)域并分配給待訪問(wèn)數(shù)據(jù),其中,第三類(lèi)數(shù)據(jù)域第三數(shù)據(jù)域包含第一組中除被替換數(shù)據(jù)域外所有不同粒度的數(shù)據(jù)域中對(duì)應(yīng)的數(shù)據(jù)域中粒度大于被替換數(shù)據(jù)域粒度的數(shù)據(jù)域;
[0302]或者,
[0303]分配模塊10002還用于:若根據(jù)第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的不同粒度的數(shù)據(jù)域的利用率確定第一組中的所述被替換數(shù)據(jù)域的利用率小于第二利用率閾值,用于將被替換數(shù)據(jù)域分配給待訪問(wèn)數(shù)據(jù)。
[0304]高速緩沖存儲(chǔ)器10還可以包括:
[0305]更新單元1003,用于更新分配給待訪問(wèn)數(shù)據(jù)的數(shù)據(jù)域?qū)?yīng)的標(biāo)簽域。
[0306]本發(fā)明實(shí)施例提供的一種高速緩沖存儲(chǔ)器10,將高速緩沖存儲(chǔ)器10中的標(biāo)簽域的屬性進(jìn)行擴(kuò)充,從而使得標(biāo)簽域既可以對(duì)應(yīng)本組的數(shù)據(jù)域,也可以對(duì)應(yīng)其它組的數(shù)據(jù)域,進(jìn)而提高了高速緩沖存儲(chǔ)器10中的數(shù)據(jù)域利用率,解決了現(xiàn)有技術(shù)中由于高速緩沖存儲(chǔ)器10中標(biāo)簽域和數(shù)據(jù)域是固定的一一對(duì)應(yīng)的關(guān)系且分開(kāi)存儲(chǔ),導(dǎo)致高速緩沖存儲(chǔ)器10中的數(shù)據(jù)域利用率低的問(wèn)題。
[0307]再一方面,本發(fā)明實(shí)施例提供一種高速緩沖存儲(chǔ)器10,可以包括接收器1201,存儲(chǔ)器1202,用于進(jìn)行該高速緩沖存儲(chǔ)器10內(nèi)部各設(shè)備之間的連接的至少一個(gè)通信總線1203,用于實(shí)現(xiàn)這些裝置之間的連接和相互通信。
[0308]其中,通信總線1203可以是工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(Industry StandardArchitecture,簡(jiǎn)稱(chēng)為ISA)總線、外部設(shè)備互連(Peripheral Component,簡(jiǎn)稱(chēng)為PCI)總線或擴(kuò)展工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(Extended Industry Standard Architecture,簡(jiǎn)稱(chēng)為EISA)總線等。該總線1203可以分為地址總線、數(shù)據(jù)總線、控制總線等。為便于表示,圖12或13中僅用一條粗線表示,但并不表示僅有一根總線或一種類(lèi)型的總線。
[0309]存儲(chǔ)器1202可以包括只讀存儲(chǔ)器和隨機(jī)存取存儲(chǔ)器,并向處理器1002提供指令和數(shù)據(jù)。
[0310]如圖12或13所示,高速緩沖存儲(chǔ)器10可以包括:
[0311]接收器1201,用于接收處理器發(fā)送的訪問(wèn)待訪問(wèn)數(shù)據(jù)的請(qǐng)求信息,其中,請(qǐng)求信息包含所述待訪問(wèn)數(shù)據(jù)的物理地址信息;
[0312]高速緩沖存儲(chǔ)器10還可以用于:根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息獲取與待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽域;根據(jù)物理地址信息對(duì)應(yīng)的標(biāo)簽域信息中的組標(biāo)識(shí)信息、組內(nèi)數(shù)據(jù)域偏移信息獲取標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域,其中,每個(gè)組均包含N個(gè)標(biāo)簽域和M個(gè)數(shù)據(jù)域,標(biāo)簽域與所述數(shù)據(jù)域一一對(duì)應(yīng)且一一對(duì)應(yīng)的標(biāo)簽域和數(shù)據(jù)域處于相同組或者不同組,N為大于或等于I的自然數(shù),M為大于或等于I的自然數(shù)且N大于M,每個(gè)標(biāo)簽域信息包含與標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的組標(biāo)識(shí)信息、組內(nèi)數(shù)據(jù)域偏移信息,組標(biāo)識(shí)信息用于指示與標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域所在的組,組內(nèi)數(shù)據(jù)偏移信息用于指示數(shù)據(jù)域在數(shù)據(jù)域所在組內(nèi)的偏移量。
[0313]示例性的,每個(gè)標(biāo)簽域信息還包含標(biāo)簽位信息,數(shù)據(jù)域是否有效信息,“isptr”信息,
[0314]其中,標(biāo)簽位信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域?qū)?yīng)的物理地址,數(shù)據(jù)域是否有效信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域被處理器訪問(wèn)還是沒(méi)有被處理器訪問(wèn),“isptr”信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組還是來(lái)源于除待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組,
[0315]相應(yīng)的,
[0316]高速緩沖存儲(chǔ)器10還可以用于:根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息獲取待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組及標(biāo)簽位信息;
[0317]若根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組確定存儲(chǔ)系統(tǒng)中第一組中存在狀態(tài)位有效的標(biāo)簽域且若根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息確定第一組中狀態(tài)位有效的標(biāo)簽域中存在與待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息相等的標(biāo)簽域,獲取存儲(chǔ)系統(tǒng)中狀態(tài)位有效的標(biāo)簽域中的標(biāo)簽位信息與待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息相等的第一標(biāo)簽域,其中,存在狀態(tài)位有效的標(biāo)簽域包含指示數(shù)據(jù)域被處理器訪問(wèn)且指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組。
[0318]示例性的,每個(gè)標(biāo)簽域信息還包含標(biāo)簽位信息,數(shù)據(jù)域是否有效信息,“isptr”信息,
[0319]其中,標(biāo)簽位信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域?qū)?yīng)的物理地址,數(shù)據(jù)域是否有效信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域被處理器訪問(wèn)還是沒(méi)有被處理器訪問(wèn),“isptr”信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組還是來(lái)源于除待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組,
[0320]相應(yīng)的,
[0321]高速緩沖存儲(chǔ)器10還可以用于:根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息獲取待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組及標(biāo)簽位信息;
[0322]若根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組確定存儲(chǔ)系統(tǒng)中第一組中不存在狀態(tài)位有效的標(biāo)簽域,或者,若根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組確定存儲(chǔ)系統(tǒng)中第一組中存在狀態(tài)位有效的標(biāo)簽域且若根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息確定第一組中狀態(tài)位有效的標(biāo)簽域中不存在與待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息相等的標(biāo)簽域,獲取分配待訪問(wèn)數(shù)據(jù)的組及組內(nèi)數(shù)據(jù)域偏移信息并分配給待訪問(wèn)數(shù)據(jù),其中,不存在狀態(tài)位有效的標(biāo)簽域包含指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域沒(méi)有被處理器訪問(wèn)且指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組,或者,指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域被處理器訪問(wèn)且指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于除待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組,或者,指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域沒(méi)有被處理器訪問(wèn)且指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于除待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組。
[0323]示例性的,高速緩沖存儲(chǔ)器10還可以包括:高速緩沖存儲(chǔ)器缺失模塊1204,用于在處理器訪問(wèn)缺失時(shí)的處理模塊,高速緩沖存儲(chǔ)器缺失模塊1204還可以包括:組內(nèi)高速緩沖存儲(chǔ)器替換模塊12001和各組利用率統(tǒng)計(jì)模塊12002,分別用于統(tǒng)計(jì)高速緩沖存儲(chǔ)器內(nèi)部每一組中各標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的利用率和用于統(tǒng)計(jì)高速緩沖存儲(chǔ)器內(nèi)部每一組對(duì)應(yīng)的利用率。
[0324]示例性的,高速緩沖存儲(chǔ)器10還可以用于:若根據(jù)高速緩沖存儲(chǔ)器10中的各組利用率統(tǒng)計(jì)模塊12002確定第一組對(duì)應(yīng)的利用率小于第一利用率閾值,高速緩沖存儲(chǔ)器10用于根據(jù)組內(nèi)高速緩沖存儲(chǔ)器替換模塊12001選擇第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域中利用率最低的數(shù)據(jù)域;將第一組及第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域中利用率最低的數(shù)據(jù)域分配給待訪問(wèn)數(shù)據(jù)。
[0325]示例性的,高速緩沖存儲(chǔ)器10還可以用于:若根據(jù)高速緩沖存儲(chǔ)器10中的各組利用率統(tǒng)計(jì)模塊12002確定第一組對(duì)應(yīng)的利用率大于或等于第一利用率閾值,選擇高速緩沖存儲(chǔ)器10中除第一組外的所有組中利用率最低的第二組;根據(jù)組內(nèi)高速緩沖存儲(chǔ)器替換模塊12001選擇第二組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域中利用率最低的數(shù)據(jù)域;將第二組及第二組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域中利用率最低的數(shù)據(jù)域分配給待訪問(wèn)數(shù)據(jù)。
[0326]示例性的,每個(gè)標(biāo)簽域還包含與標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的開(kāi)始地址信息、結(jié)束地址信息,
[0327]開(kāi)始地址信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的起始位地址,結(jié)束地址信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的結(jié)束位地址,
[0328]請(qǐng)求信息還包含待訪問(wèn)數(shù)據(jù)的粒度信息,
[0329]相應(yīng)的,高速緩沖存儲(chǔ)器10還可以用于:讀取第一標(biāo)簽域中的指示第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的起始位地址和結(jié)束位地址;若根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息及待訪問(wèn)數(shù)據(jù)的粒度信息確定待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的所有數(shù)據(jù)存放在第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中,根據(jù)第一標(biāo)簽域中的組標(biāo)識(shí)信息及組內(nèi)數(shù)據(jù)域偏移信息獲取第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的位置;根據(jù)第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的位置獲取第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域。
[0330]示例性的,每個(gè)標(biāo)簽域還包含與標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的開(kāi)始地址信息、結(jié)束地址信息,
[0331]開(kāi)始地址信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的起始位地址,結(jié)束地址信息用于指示標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的結(jié)束位地址,
[0332]請(qǐng)求信息還包含待訪問(wèn)數(shù)據(jù)的粒度信息,
[0333]相應(yīng)的,
[0334]高速緩沖存儲(chǔ)器10還可以用于:讀取第一標(biāo)簽域中的指示第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的起始位地址和結(jié)束位地址;若根據(jù)待訪問(wèn)數(shù)據(jù)的物理地址信息及待訪問(wèn)數(shù)據(jù)的粒度信息確定待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的所有數(shù)據(jù)不存放在第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中,獲取分配待訪問(wèn)數(shù)據(jù)的被替換數(shù)據(jù)域并分配給待訪問(wèn)數(shù)據(jù),其中,被替換數(shù)據(jù)域包含第一組中的每一標(biāo)簽域?qū)?yīng)的不同粒度的數(shù)據(jù)域中粒度大于且最接近待訪問(wèn)請(qǐng)求的粒度信息的數(shù)據(jù)域。
[0335]示例性的,高速緩沖存儲(chǔ)器10還可以包括數(shù)據(jù)域合并及拆分模塊1205和請(qǐng)求粒度統(tǒng)計(jì)模塊1206,數(shù)據(jù)域合并及拆分模塊1205用于合并或拆分高速緩沖存儲(chǔ)器10中的不同粒度的數(shù)據(jù)域,請(qǐng)求粒度統(tǒng)計(jì)模塊1206用于統(tǒng)計(jì)不同粒度數(shù)據(jù)域的利用率。
[0336]示例性的,數(shù)據(jù)域合并及拆分模塊1205還可以用于:若根據(jù)請(qǐng)求粒度統(tǒng)計(jì)模塊1206確定第一組中的被替換數(shù)據(jù)域的利用率大于或等于第二利用率閾值且第一組中除被替換數(shù)據(jù)域外所有不同粒度的數(shù)據(jù)域中多個(gè)第二數(shù)據(jù)域的利用率都小于第二訪問(wèn)閾值,數(shù)據(jù)域合并及拆分模塊1205用于將多個(gè)第二數(shù)據(jù)域合并為被替換數(shù)據(jù)域并分配給待訪問(wèn)數(shù)據(jù),其中,第二數(shù)據(jù)域包含第一組中除被替換數(shù)據(jù)域外所有不同粒度的數(shù)據(jù)域中粒度小于被替換數(shù)據(jù)域粒度的數(shù)據(jù)域;
[0337]或者,
[0338]數(shù)據(jù)域合并及拆分模塊1205還可以用于:若根據(jù)請(qǐng)求粒度統(tǒng)計(jì)模塊1206確定所述第一組中的所述被替換數(shù)據(jù)域的利用率大于或等于所述第二利用率閾值且所述第一組中除所述被替換數(shù)據(jù)域外所有不同粒度的數(shù)據(jù)域中第三數(shù)據(jù)域的利用率小于所述第二訪問(wèn)閾值,數(shù)據(jù)域合并及拆分模塊1205用于將第三數(shù)據(jù)域拆分為一個(gè)或多個(gè)被替換數(shù)據(jù)域并分配給待訪問(wèn)數(shù)據(jù),其中,第三數(shù)據(jù)域包含第一組中除被替換數(shù)據(jù)域外所有不同粒度的數(shù)據(jù)域中對(duì)應(yīng)的數(shù)據(jù)域中粒度大于被替換數(shù)據(jù)域粒度的數(shù)據(jù)域;
[0339]或者,
[0340]數(shù)據(jù)域合并及拆分模塊1205還可以用于:若根據(jù)請(qǐng)求粒度統(tǒng)計(jì)模塊1206確定第一組中的所述被替換數(shù)據(jù)域的利用率小于第二利用率閾值,數(shù)據(jù)域合并及拆分模塊1205用于將被替換數(shù)據(jù)域分配給待訪問(wèn)數(shù)據(jù)。
[0341]本發(fā)明實(shí)施例提供的一種高速緩沖存儲(chǔ)器10,將高速緩沖存儲(chǔ)器10中的標(biāo)簽域的屬性進(jìn)行擴(kuò)充,從而使得標(biāo)簽域既可以對(duì)應(yīng)本組的數(shù)據(jù)域,也可以對(duì)應(yīng)其它組的數(shù)據(jù)域,進(jìn)而提高了高速緩沖存儲(chǔ)器10中的數(shù)據(jù)域利用率,解決了現(xiàn)有技術(shù)中由于高速緩沖存儲(chǔ)器10中標(biāo)簽域和數(shù)據(jù)域是固定的一一對(duì)應(yīng)的關(guān)系且分開(kāi)存儲(chǔ),導(dǎo)致高速緩沖存儲(chǔ)器10中的數(shù)據(jù)域利用率低的問(wèn)題。
[0342]所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng),裝置和單元的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。
[0343]在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
[0344]所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
[0345]另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理包括,也可以?xún)蓚€(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用硬件加軟件功能單元的形式實(shí)現(xiàn)。
[0346]上述以軟件功能單元的形式實(shí)現(xiàn)的集成的單元,可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。上述軟件功能單元存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤(pán)、移動(dòng)硬盤(pán)、只讀存儲(chǔ)器(Read-Only Memory,簡(jiǎn)稱(chēng)ROM)、隨機(jī)存取存儲(chǔ)器(Random Access Memory,簡(jiǎn)稱(chēng)RAM)、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0347]最后應(yīng)說(shuō)明的是:以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。
【權(quán)利要求】
1.一種訪問(wèn)數(shù)據(jù)的方法,其特征在于,包括: 接收處理器發(fā)送的訪問(wèn)待訪問(wèn)數(shù)據(jù)的請(qǐng)求信息,其中,所述請(qǐng)求信息包含所述待訪問(wèn)數(shù)據(jù)的物理地址信息; 根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息獲取與所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽域; 根據(jù)所述物理地址信息對(duì)應(yīng)的所述標(biāo)簽域信息中的組標(biāo)識(shí)信息、組內(nèi)數(shù)據(jù)域偏移信息獲取所述標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域,其中,每個(gè)所述組均包含N個(gè)標(biāo)簽域和M個(gè)數(shù)據(jù)域,所述標(biāo)簽域與所述數(shù)據(jù)域一一對(duì)應(yīng)且一一對(duì)應(yīng)的所述標(biāo)簽域和所述數(shù)據(jù)域處于相同組或者不同組,所述N為大于或等于I的自然數(shù),所述M為大于或等于I的自然數(shù)且所述N大于所述M,每個(gè)所述標(biāo)簽域信息包含與所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域的組標(biāo)識(shí)信息、組內(nèi)數(shù)據(jù)域偏移信息,所述組標(biāo)識(shí)信息用于指示與所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域所在的組,所述組內(nèi)數(shù)據(jù)偏移信息用于指示所述數(shù)據(jù)域在所述數(shù)據(jù)域所在組內(nèi)的偏移量。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,每個(gè)所述標(biāo)簽域信息還包含標(biāo)簽位信息,數(shù)據(jù)域是否有效信息,“ isptr”信息, 其中,所述標(biāo)簽位信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域?qū)?yīng)的物理地址,所述數(shù)據(jù)域是否有效信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域被所述處理器訪問(wèn)還是沒(méi)有被所述處理器訪問(wèn),所述“isptr”信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組還是來(lái)源于除所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組, 相應(yīng)的, 所述根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息獲取與所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽域,包括: 根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息獲取所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組及標(biāo)簽位信息; 若根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組確定存儲(chǔ)系統(tǒng)中所述第一組中存在狀態(tài)位有效的標(biāo)簽域且若根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息確定所述第一組中狀態(tài)位有效的標(biāo)簽域中存在與所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息相等的標(biāo)簽域,獲取所述存儲(chǔ)系統(tǒng)中狀態(tài)位有效的標(biāo)簽域中的標(biāo)簽位信息與所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息相等的第一標(biāo)簽域,其中,所述存在狀態(tài)位有效的標(biāo)簽域包含指示數(shù)據(jù)域被所述處理器訪問(wèn)且指示所述標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,每個(gè)所述標(biāo)簽域信息還包含標(biāo)簽位信息,數(shù)據(jù)域是否有效信息,“ isptr”信息, 其中,所述標(biāo)簽位信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域?qū)?yīng)的物理地址,所述數(shù)據(jù)域是否有效信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域被所述處理器訪問(wèn)還是沒(méi)有被所述處理器訪問(wèn),所述“isptr”信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組還是來(lái)源于除所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組, 相應(yīng)的, 所述根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息獲取與所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽域,包括: 根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息獲取所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組及標(biāo)簽位信息; 若根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組確定存儲(chǔ)系統(tǒng)中所述第一組中不存在狀態(tài)位有效的標(biāo)簽域,或者,若根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組確定存儲(chǔ)系統(tǒng)中所述第一組中存在狀態(tài)位有效的標(biāo)簽域且若根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息確定所述第一組中狀態(tài)位有效的標(biāo)簽域中不存在與所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息相等的標(biāo)簽域,獲取分配所述待訪問(wèn)數(shù)據(jù)的組及組內(nèi)數(shù)據(jù)域偏移信息并分配給所述待訪問(wèn)數(shù)據(jù),其中,所述不存在狀態(tài)位有效的標(biāo)簽域包含指示所述標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域沒(méi)有被所述處理器訪問(wèn)且指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組,或者,指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域被所述處理器訪問(wèn)且指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于除所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組,或者,指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域沒(méi)有被所述處理器訪問(wèn)且指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于除所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于, 所述獲取分配所述待訪問(wèn)數(shù)據(jù)的組及組內(nèi)數(shù)據(jù)域偏移信息并分配給所述待訪問(wèn)數(shù)據(jù),包括: 若根據(jù)所述存儲(chǔ)系統(tǒng)中的每一組分別對(duì)應(yīng)的利用率確定所述第一組對(duì)應(yīng)的利用率小于第一利用率閾值,根據(jù)所述第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域的利用率選擇所述第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域中利用率最低的數(shù)據(jù)域; 將所述第一組及所述第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域中利用率最低的數(shù)據(jù)域分配給所述待訪問(wèn)數(shù)據(jù)。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于, 所述獲取分配所述待訪問(wèn)數(shù)據(jù)的組及組內(nèi)數(shù)據(jù)域偏移信息并分配給所述待訪問(wèn)數(shù)據(jù),包括: 若根據(jù)所述存儲(chǔ)系統(tǒng)中的每一組分別對(duì)應(yīng)的利用率確定所述第一組對(duì)應(yīng)的利用率大于或等于所述第一利用率閾值,選擇所述存儲(chǔ)系統(tǒng)中除所述第一組外的所有組中利用率最低的第二組; 根據(jù)所述第二組中每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域的利用率選擇所述第二組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域中利用率最低的數(shù)據(jù)域; 將所述第二組及所述第二組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域中利用率最低的數(shù)據(jù)域分配給所述待訪問(wèn)數(shù)據(jù)。
6.根據(jù)權(quán)利要求1或2所述的方法,其特征在于, 每個(gè)所述標(biāo)簽域還包含與所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域的開(kāi)始地址信息、結(jié)束地址信息, 所述開(kāi)始地址信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域在所述的起始位地址,所述結(jié)束地址信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域的結(jié)束位地址, 所述請(qǐng)求信息還包含所述待訪問(wèn)數(shù)據(jù)的粒度信息, 相應(yīng)的, 根據(jù)所述物理地址信息對(duì)應(yīng)的所述標(biāo)簽域信息中的組標(biāo)識(shí)信息、組內(nèi)數(shù)據(jù)域偏移信息獲取所述標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域,包括: 讀取所述第一標(biāo)簽域中的指示所述第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的起始位地址和結(jié)束位地址;若根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息及所述待訪問(wèn)數(shù)據(jù)的粒度信息確定所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的所有數(shù)據(jù)存放在所述第一標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域中,根據(jù)所述第一標(biāo)簽域中的組標(biāo)識(shí)信息及組內(nèi)數(shù)據(jù)域偏移信息獲取所述第一標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域的位置;根據(jù)所述第一標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域的位置獲取所述第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域。
7.根據(jù)權(quán)利要求1或2所述的方法,其特征在于, 每個(gè)所述標(biāo)簽域還包含與所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域的開(kāi)始地址信息、結(jié)束地址信息, 所述開(kāi)始地址信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域的起始位地址,所述結(jié)束地址信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域的結(jié)束位地址, 所述請(qǐng)求信息還包含所述待訪問(wèn)數(shù)據(jù)的粒度信息, 相應(yīng)的, 根據(jù)所述物理地址信息對(duì)應(yīng)的所述標(biāo)簽域信息中的組標(biāo)識(shí)信息、組內(nèi)數(shù)據(jù)域偏移信息獲取所述標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域,包括: 讀取所述第一標(biāo)簽域中的指示所述第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的起始位地址和結(jié)束位地址; 若根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息及所述待訪問(wèn)數(shù)據(jù)的粒度信息確定所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的所有數(shù)據(jù)不存放在所述第一標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域中,獲取分配所述待訪問(wèn)數(shù)據(jù)的被替換數(shù)據(jù)域并分配給所述待訪問(wèn)數(shù)據(jù),其中,所述被替換數(shù)據(jù)域包含所述第一組中的每一標(biāo)簽域?qū)?yīng)的不同粒度的數(shù)據(jù)域中粒度大于且最接近所述待訪問(wèn)請(qǐng)求的粒度信息的數(shù)據(jù)域。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于, 所述獲取分配所述待訪問(wèn)數(shù)據(jù)的被替換數(shù)據(jù)域并分配給所述待訪問(wèn)數(shù)據(jù),包括:若根據(jù)所述第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的不同粒度的數(shù)據(jù)域的利用率確定所述第一組中的所述被替換數(shù)據(jù)域的利用率大于或等于第二利用率閾值且所述第一組中除所述被替換數(shù)據(jù)域外所有不同粒度的數(shù)據(jù)域中多個(gè)第二數(shù)據(jù)域的利用率都小于所述第二訪問(wèn)閾值,將所述多個(gè)第二數(shù)據(jù)域合并為所述被替換數(shù)據(jù)域并分配給所述待訪問(wèn)數(shù)據(jù),其中,所述第二數(shù)據(jù)域包含所述第一組中除所述被替換數(shù)據(jù)域外所有不同粒度的數(shù)據(jù)域中粒度小于所述被替換數(shù)據(jù)域粒度的數(shù)據(jù)域; 或者, 若根據(jù)所述第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的不同粒度的數(shù)據(jù)域的利用率確定所述第一組中的所述被替換數(shù)據(jù)域的利用率大于或等于所述第二利用率閾值且所述第一組中除所述被替換數(shù)據(jù)域外所有不同粒度的數(shù)據(jù)域中第三數(shù)據(jù)域的利用率小于所述第二訪問(wèn)閾值,將所述第三數(shù)據(jù)域拆分為一個(gè)或多個(gè)所述被替換數(shù)據(jù)域并分配給所述待訪問(wèn)數(shù)據(jù),其中,所述第三數(shù)據(jù)域包含所述第一組中除所述被替換數(shù)據(jù)域外所有不同粒度的數(shù)據(jù)域中對(duì)應(yīng)的數(shù)據(jù)域中粒度大于所述被替換數(shù)據(jù)域粒度的數(shù)據(jù)域; 或者, 若根據(jù)所述第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的不同粒度的數(shù)據(jù)域的利用率確定所述第一組中的所述被替換數(shù)據(jù)域的利用率小于所述第二利用率閾值,將所述被替換數(shù)據(jù)域分配給所述待訪問(wèn)數(shù)據(jù)。
9.根據(jù)權(quán)利要求1-8任一項(xiàng)所述的方法,其特征在于,所述方法還包括: 更新所述分配給所述待訪問(wèn)數(shù)據(jù)的數(shù)據(jù)域?qū)?yīng)的標(biāo)簽域。
10.一種高速緩沖存儲(chǔ)器,其特征在于,包括: 接收單元,用于接收處理器發(fā)送的訪問(wèn)待訪問(wèn)數(shù)據(jù)的請(qǐng)求信息,其中,所述請(qǐng)求信息包含所述待訪問(wèn)數(shù)據(jù)的物理地址信息; 獲取單元,用于根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息獲取與所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽域;根據(jù)所述物理地址信息對(duì)應(yīng)的所述標(biāo)簽域信息中的組標(biāo)識(shí)信息、組內(nèi)數(shù)據(jù)域偏移信息獲取所述標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域,其中,每個(gè)所述組均包含N個(gè)標(biāo)簽域和M個(gè)數(shù)據(jù)域,所述標(biāo)簽域與所述數(shù)據(jù)域一一對(duì)應(yīng)且一一對(duì)應(yīng)的所述標(biāo)簽域和所述數(shù)據(jù)域處于相同組或者不同組,所述N為大于或等于I的自然數(shù),所述M為大于或等于I的自然數(shù)且所述N大于所述M,每個(gè)所述標(biāo)簽域信息包含與所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域的組標(biāo)識(shí)信息、組內(nèi)數(shù)據(jù)域偏移信息,所述組標(biāo)識(shí)信息用于指示與所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域所在的組,所述組內(nèi)數(shù)據(jù)偏移信息用于指示所述數(shù)據(jù)域在所述數(shù)據(jù)域所在組內(nèi)的偏移量。
11.根據(jù)權(quán)利要求10所述的高速緩沖存儲(chǔ)器,其特征在于,每個(gè)所述標(biāo)簽域信息還包含標(biāo)簽位信息,數(shù)據(jù)域是否有效信息,“ isptr ”信息, 其中,所述標(biāo)簽位信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域?qū)?yīng)的物理地址,所述數(shù)據(jù)域是否有效信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域被所述處理器訪問(wèn)還是沒(méi)有被所述處理器訪問(wèn),所述“isptr”信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組還是來(lái)源于除所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組, 相應(yīng)的, 所述獲取單元還用于:根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息獲取所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組及標(biāo)簽位信息; 若根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組確定存儲(chǔ)系統(tǒng)中所述第一組中存在狀態(tài)位有效的標(biāo)簽域且若根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息確定所述第一組中狀態(tài)位有效的標(biāo)簽域中存在與所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息相等的標(biāo)簽域,獲取所述存儲(chǔ)系統(tǒng)中狀態(tài)位有效的標(biāo)簽域中的標(biāo)簽位信息與所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息相等的第一標(biāo)簽域,其中,所述存在狀態(tài)位有效的標(biāo)簽域包含指示數(shù)據(jù)域被所述處理器訪問(wèn)且指示所述標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組。
12.根據(jù)權(quán)利要求10所述的高速緩沖存儲(chǔ)器,其特征在于,每個(gè)所述標(biāo)簽域信息還包含標(biāo)簽位信息,數(shù)據(jù)域是否有效信息,“ isptr ”信息, 其中,所述標(biāo)簽位信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域?qū)?yīng)的物理地址,所述數(shù)據(jù)域是否有效信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域被所述處理器訪問(wèn)還是沒(méi)有被所述處理器訪問(wèn),所述“isptr”信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組還是來(lái)源于除所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組, 相應(yīng)的, 所述獲取單元還用于:根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息獲取所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組及標(biāo)簽位信息; 若根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組確定存儲(chǔ)系統(tǒng)中所述第一組中不存在狀態(tài)位有效的標(biāo)簽域,或者,若根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的第一組確定存儲(chǔ)系統(tǒng)中所述第一組中存在狀態(tài)位有效的標(biāo)簽域且若根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息確定所述第一組中狀態(tài)位有效的標(biāo)簽域中不存在與所述待訪問(wèn)數(shù)據(jù)的物理地址信息對(duì)應(yīng)的標(biāo)簽位信息相等的標(biāo)簽域,獲取分配所述待訪問(wèn)數(shù)據(jù)的組及組內(nèi)數(shù)據(jù)域偏移信息并分配給所述待訪問(wèn)數(shù)據(jù),其中,所述不存在狀態(tài)位有效的標(biāo)簽域包含指示所述標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域沒(méi)有被所述處理器訪問(wèn)且指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組,或者,指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域被所述處理器訪問(wèn)且指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于除所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組,或者,指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域沒(méi)有被所述處理器訪問(wèn)且指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域中存儲(chǔ)的數(shù)據(jù)來(lái)源于除所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的組的其它組。
13.根據(jù)權(quán)利要求12所述的高速緩沖存儲(chǔ)器,其特征在于, 所述獲取單元還包括: 選擇模塊,若根據(jù)所述存儲(chǔ)系統(tǒng)中的每一組分別對(duì)應(yīng)的利用率確定所述第一組對(duì)應(yīng)的利用率小于第一利用率閾值,用于根據(jù)所述第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域的利用率選擇所述第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域中利用率最低的數(shù)據(jù)域; 分配模塊,用于將所述第一組及所述第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域中利用率最低的數(shù)據(jù)域分配給所述待訪問(wèn)數(shù)據(jù)。
14.根據(jù)權(quán)利要求12所述的高速緩沖存儲(chǔ)器,其特征在于, 所述選擇模塊還用于:若根據(jù)所述存儲(chǔ)系統(tǒng)中的每一組分別對(duì)應(yīng)的利用率確定所述第一組對(duì)應(yīng)的利用率大于或等于所述第一利用率閾值,選擇所述存儲(chǔ)系統(tǒng)中除所述第一組外的所有組中利用率最低的第二組;根據(jù)所述第二組中每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域的利用率選擇所述第二組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域中利用率最低的數(shù)據(jù)域; 所述分配模塊還用于:將所述第二組及所述第二組中的每一標(biāo)簽域分別對(duì)應(yīng)的數(shù)據(jù)域中利用率最低的數(shù)據(jù)域分配給所述待訪問(wèn)數(shù)據(jù)。
15.根據(jù)權(quán)利要求10或11所述的高速緩沖存儲(chǔ)器,其特征在于, 每個(gè)所述標(biāo)簽域還包含與所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域的開(kāi)始地址信息、結(jié)束地址信息, 所述開(kāi)始地址信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域的起始位地址,所述結(jié)束地址信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域的結(jié)束位地址, 所述請(qǐng)求信息還包含所述待訪問(wèn)數(shù)據(jù)的粒度信息, 相應(yīng)的, 所述獲取單元還包括: 讀模塊,用于讀取所述第一標(biāo)簽域中的指示所述第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的起始位地址和結(jié)束位地址; 所述獲取單元還用于:若根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息及所述待訪問(wèn)數(shù)據(jù)的粒度信息確定所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的所有數(shù)據(jù)存放在所述第一標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域中,根據(jù)所述第一標(biāo)簽域中的組標(biāo)識(shí)信息及組內(nèi)數(shù)據(jù)域偏移信息獲取所述第一標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域的位置;根據(jù)所述第一標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域的位置獲取所述第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域。
16.根據(jù)權(quán)利要求10或11所述的高速緩沖存儲(chǔ)器,其特征在于, 每個(gè)所述標(biāo)簽域還包含與所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域的開(kāi)始地址信息、結(jié)束地址信息, 所述開(kāi)始地址信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域的起始位地址,所述結(jié)束地址信息用于指示所述標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域的結(jié)束位地址, 所述請(qǐng)求信息還包含所述待訪問(wèn)數(shù)據(jù)的粒度信息, 相應(yīng)的, 所述讀模塊還用于:讀取所述第一標(biāo)簽域中的指示所述第一標(biāo)簽域?qū)?yīng)的數(shù)據(jù)域的起始位地址和結(jié)束位地址; 所述獲取單元還用于:若根據(jù)所述待訪問(wèn)數(shù)據(jù)的物理地址信息及所述待訪問(wèn)數(shù)據(jù)的粒度信息確定所述待訪問(wèn)數(shù)據(jù)對(duì)應(yīng)的所有數(shù)據(jù)不存放在所述第一標(biāo)簽域?qū)?yīng)的所述數(shù)據(jù)域中,獲取分配所述待訪問(wèn)數(shù)據(jù)的被替換數(shù)據(jù)域并分配給所述待訪問(wèn)數(shù)據(jù),其中,所述被替換數(shù)據(jù)域包含所述第一組中的每一標(biāo)簽域?qū)?yīng)的不同粒度的數(shù)據(jù)域中粒度大于且最接近所述待訪問(wèn)請(qǐng)求的粒度信息的數(shù)據(jù)域。
17.根據(jù)權(quán)利要求16所述的高速緩沖存儲(chǔ)器,其特征在于, 所述獲取單元還包括: 合并模塊,若根據(jù)所述第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的不同粒度的數(shù)據(jù)域的利用率確定所述第一組中的所述被替換數(shù)據(jù)域的利用率大于或等于第二利用率閾值且所述第一組中除所述被替換數(shù)據(jù)域外所有不同粒度的數(shù)據(jù)域中多個(gè)第二數(shù)據(jù)域的利用率都小于所述第二訪問(wèn)閾值,用于將所述多個(gè)第二數(shù)據(jù)域合并為所述被替換數(shù)據(jù)域并分配給所述待訪問(wèn)數(shù)據(jù),其中,所述第二數(shù)據(jù)域包含所述第一組中除所述被替換數(shù)據(jù)域外所有不同粒度的數(shù)據(jù)域中粒度小于所述被替換數(shù)據(jù)域粒度的數(shù)據(jù)域; 或者, 所述獲取單元還包括: 拆分模塊,若根據(jù)所述第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的不同粒度的數(shù)據(jù)域的利用率確定所述第一組中的所述被替換數(shù)據(jù)域的利用率大于或等于所述第二利用率閾值且所述第一組中除所述被替換數(shù)據(jù)域外所有不同粒度的數(shù)據(jù)域中第三數(shù)據(jù)域的利用率小于所述第二訪問(wèn)閾值,用于將所述第三數(shù)據(jù)域拆分為一個(gè)或多個(gè)所述被替換數(shù)據(jù)域并分配給所述待訪問(wèn)數(shù)據(jù),其中,所述第三數(shù)據(jù)域包含所述第一組中除所述被替換數(shù)據(jù)域外所有不同粒度的數(shù)據(jù)域中對(duì)應(yīng)的數(shù)據(jù)域中粒度大于所述被替換數(shù)據(jù)域粒度的數(shù)據(jù)域; 或者, 所述分配模塊還用于:若根據(jù)所述第一組中的每一標(biāo)簽域分別對(duì)應(yīng)的不同粒度的數(shù)據(jù)域的利用率確定所述第一組中的所述被替換數(shù)據(jù)域的利用率小于所述第二利用率閾值,用于將所述被替換數(shù)據(jù)域分配給所述待訪問(wèn)數(shù)據(jù)。
18.根據(jù)權(quán)利要求10-17任一項(xiàng)所述的高速緩沖存儲(chǔ)器,其特征在于,所述高速緩沖存儲(chǔ)器還包括:更新單元,用于更新所述分配給所述待訪問(wèn)數(shù)據(jù)的數(shù)據(jù)域?qū)?yīng)的標(biāo)簽域。
【文檔編號(hào)】G06F17/30GK104346404SQ201310344166
【公開(kāi)日】2015年2月11日 申請(qǐng)日期:2013年8月8日 優(yōu)先權(quán)日:2013年8月8日
【發(fā)明者】黃永兵, 陳明宇 申請(qǐng)人:華為技術(shù)有限公司, 中國(guó)科學(xué)院計(jì)算技術(shù)研究所