一種目錄維護(hù)方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種目錄維護(hù)方法及裝置,所述方法包括:主存根據(jù)目錄中緩存行與緩存的對應(yīng)關(guān)系按照預(yù)先設(shè)定的頻度向緩存行對應(yīng)的每一個(gè)緩存發(fā)送偵聽信息;所述緩存行對應(yīng)的每一個(gè)緩存接收所述偵聽信息,根據(jù)所述偵聽信息發(fā)送偵聽響應(yīng);所述主存接收所述偵聽響應(yīng),根據(jù)所述偵聽響應(yīng)更新所述目錄;所述偵聽響應(yīng)包括:發(fā)送所述偵聽響應(yīng)的緩存中的所述緩存行的狀態(tài)。通過本發(fā)明公開的一種目錄維護(hù)方法及裝置,能夠降低替換產(chǎn)生的偵聽對處理器正常處理的影響,減少系統(tǒng)性能的下降。
【專利說明】一種目錄維護(hù)方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,尤其涉及一種目錄維護(hù)方法及裝置。
【背景技術(shù)】
[0002]在多處理器系統(tǒng)中,每個(gè)處理器都有一或兩級緩存(cache)。同一個(gè)數(shù)據(jù)的多個(gè)副本可能同時(shí)存于不同的緩存中。若處理器自由地修改的本地副本,則會(huì)導(dǎo)致不同處理器觀察到的結(jié)果不一致。另外IO對主存的修改也可能引起不一致性問題。為了解決緩存一致性問題而引入了 MESI協(xié)議。緩存中包括多個(gè)緩存行,在MESI中規(guī)定,每個(gè)緩存行中的數(shù)據(jù)有四種狀態(tài):M (Modified,修改)態(tài)、E (Exclusive,專有)態(tài)、S (Shared,共享)態(tài)、I(Invalid,無效)態(tài),其中,M態(tài)是指該緩存行被修改,并僅存在與本緩存中;E態(tài)是指該緩存行與主存相同,并僅存在于本緩存中;S態(tài)是指該緩存行與主存相同,有可能也存在于其他緩存中態(tài)是指該緩存行無效,本緩存中無此數(shù)據(jù)。
[0003]一般計(jì)算機(jī)系統(tǒng)的主存請求以一個(gè)緩存行為單位進(jìn)行訪問。當(dāng)前的目錄設(shè)計(jì)為每一個(gè)緩存行提供了一個(gè)目錄項(xiàng)來記錄遠(yuǎn)端節(jié)點(diǎn)占用該緩存行的信息。當(dāng)前計(jì)算機(jī)系統(tǒng)的緩存一致性協(xié)議通?;谀夸浀囊恢滦詤f(xié)議。主存與緩存之間采用包含策略,當(dāng)主存的存儲(chǔ)空間不夠時(shí)就需要產(chǎn)生替換,將原有的一個(gè)目錄條目進(jìn)行無效偵聽,然后將該條目回寫或者丟棄。對于M態(tài)數(shù)據(jù),因?yàn)檎麄€(gè)系統(tǒng)的唯一副本在緩存中,當(dāng)M態(tài)數(shù)據(jù)被替換時(shí)會(huì)產(chǎn)生回寫命令,將數(shù)據(jù)寫入緩存中,而對于E態(tài)或S態(tài)的數(shù)據(jù),在緩存中并沒有修改過,主存中也有相同的副本,如果被替換的是S態(tài)或E態(tài)數(shù)據(jù),則按照協(xié)議要求丟棄或者產(chǎn)生驅(qū)除命令,將空間空出來存儲(chǔ)新請求所需要的數(shù)據(jù)。
[0004]目前不少系統(tǒng)采用了直接丟棄的策略,會(huì)導(dǎo)致主存的目錄信息不準(zhǔn)確。主存目錄滿之后也會(huì)導(dǎo)致替換。不論采用何種替換策略,都有可能將緩存正在使用的數(shù)據(jù)替換出去,從而影響整個(gè)系統(tǒng)的性能。
[0005]主存的目錄的存儲(chǔ)空間都是有限的,僅存儲(chǔ)緩存中存在過的數(shù)據(jù)。由于主存的目錄信息不準(zhǔn)確,主存存儲(chǔ)了一些在緩存已經(jīng)失效的內(nèi)容,從而導(dǎo)致主存目錄的空間浪費(fèi)。當(dāng)存儲(chǔ)空間不夠時(shí),會(huì)發(fā)生替換。不論采用何種替換算法,被替換的緩存行總有可能是處理器內(nèi)部正在使用的數(shù)據(jù),當(dāng)這個(gè)數(shù)據(jù)被替換時(shí),就會(huì)打斷處理器的正常工作,從而影響到系統(tǒng)性能。
【發(fā)明內(nèi)容】
[0006]本發(fā)明實(shí)施例提供了一種目錄維護(hù)方法,能夠降低替換產(chǎn)生的偵聽對處理器正常處理的影響,減少系統(tǒng)性能的下降。
[0007]為了解決上述技術(shù)問題,本發(fā)明實(shí)施例公開了如下技術(shù)方案:
[0008]第一方面,本發(fā)明提供了一種目錄維護(hù)方法,所述方法包括:
[0009]主存根據(jù)目錄中緩存行與緩存的對應(yīng)關(guān)系按照預(yù)先設(shè)定的頻度向緩存行對應(yīng)的每一個(gè)緩存發(fā)送偵聽信息;[0010]所述緩存行對應(yīng)的每一個(gè)緩存接收所述偵聽信息,根據(jù)所述偵聽信息發(fā)送偵聽響應(yīng);
[0011]所述主存接收所述偵聽響應(yīng),根據(jù)所述偵聽響應(yīng)更新所述目錄;
[0012]所述偵聽響應(yīng)包括:發(fā)送所述偵聽響應(yīng)的緩存中的所述緩存行的狀態(tài)。
[0013]在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述主存為下級緩存,所述緩存為上級緩存。
[0014]結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第二種可能的實(shí)現(xiàn)方式中,所述根據(jù)所述偵聽響應(yīng)更新所述目錄,包括:
[0015]根據(jù)接收到所述偵聽響應(yīng)更新所述目錄中的所述緩存行對應(yīng)的緩存中的所述緩存行的狀態(tài)。
[0016]結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第三種可能的實(shí)現(xiàn)方式中,所述根據(jù)所述偵聽響應(yīng)更新所述目錄,包括:
[0017]當(dāng)接收到的所述緩存行在所有偵聽響應(yīng)中的狀態(tài)為無效態(tài)時(shí),則所述主存刪除所述目錄中的所述緩存行的記錄。
[0018]結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第四種可能的實(shí)現(xiàn)方式中,所述目錄中緩存行與緩存的對應(yīng)關(guān)系,包括:每一個(gè)緩存行對應(yīng)至少一個(gè)緩存,所述至少一個(gè)緩存中的每一個(gè)緩存對應(yīng)該緩存中的所述緩存行的狀態(tài)。
[0019]第二方面,本發(fā)明提供了一種目錄維護(hù)裝置,所述裝置包括:
[0020]主存,至少一個(gè)緩存;
[0021]所述主存,用于根據(jù)目錄中緩存行與緩存的對應(yīng)關(guān)系按照預(yù)先設(shè)定的頻度向緩存行對應(yīng)的每一個(gè)緩存發(fā)送偵聽信息,并接收緩存發(fā)來的偵聽響應(yīng),根據(jù)所述偵聽響應(yīng)更新所述目錄;
[0022]所述緩存行對應(yīng)的每一個(gè)緩存,用于接收主存發(fā)來的所述偵聽信息,根據(jù)所述偵聽信息發(fā)送偵聽響應(yīng);
[0023]所述偵聽響應(yīng)包括:發(fā)送所述偵聽響應(yīng)的緩存中的所述緩存行的狀態(tài)。
[0024]在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述主存為下級緩存,所述緩存為上級緩存。
[0025]結(jié)合第二方面或第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第二種可能的實(shí)現(xiàn)方式中,所述主存,用于根據(jù)接收到所述偵聽響應(yīng)更新所述目錄中的所述緩存行對應(yīng)的緩存中的所述緩存行的狀態(tài)。
[0026]結(jié)合第二方面或第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第三種可能的實(shí)現(xiàn)方式中,所述主存,用于當(dāng)接收到的所述緩存行在所有偵聽響應(yīng)中的狀態(tài)為無效態(tài)時(shí),則所述主存刪除所述目錄中的所述緩存行的記錄。
[0027]結(jié)合第二方面或第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第四種可能的實(shí)現(xiàn)方式中,所述目錄中緩存行與緩存的對應(yīng)關(guān)系,包括:每一個(gè)緩存行對應(yīng)至少一個(gè)緩存,所述至少一個(gè)緩存中的每一個(gè)緩存對應(yīng)該緩存中的所述緩存行的狀態(tài)。
[0028]通過本發(fā)明實(shí)施例提供的一種目錄維護(hù)方法及裝置,主存接收所有緩存發(fā)來的偵聽響應(yīng),根據(jù)該偵聽響應(yīng)中攜帶的緩存行的狀態(tài),更新對應(yīng)的緩存行的狀態(tài),當(dāng)緩存行的狀態(tài)全部為無效時(shí),主存刪除對該緩存行的記錄,能夠?yàn)槟夸涐尫糯鎯?chǔ)空間,減少了替換掉處理器正在使用的數(shù)據(jù)的發(fā)生條件,減少了由于目錄導(dǎo)致的替換頻度,能夠降低替換產(chǎn)生的偵聽對處理器正常處理的影響,減少系統(tǒng)性能的下降。
【專利附圖】
【附圖說明】
[0029]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0030]圖1是本發(fā)明實(shí)施例1中的一種目錄維護(hù)方法流程圖;
[0031]圖2是本發(fā)明實(shí)施例2中的一種目錄維護(hù)方法流程圖;
[0032]圖3是本發(fā)明實(shí)施例3中的一種目錄維護(hù)裝置結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0033]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0034]實(shí)施例1:
[0035]本發(fā)明實(shí)施例提供了一種目錄維護(hù)方法,參見圖1,所述方法包括:
[0036]步驟101:主存根據(jù)目錄中緩存行與緩存的對應(yīng)關(guān)系按照預(yù)先設(shè)定的頻度向緩存行對應(yīng)的每一個(gè)緩存發(fā)送偵聽信息;
[0037]步驟102:所述緩存行對應(yīng)的每一個(gè)緩存接收所述偵聽信息,根據(jù)所述偵聽信息發(fā)送偵聽響應(yīng);
[0038]步驟103:所述主存接收所述偵聽響應(yīng),根據(jù)所述偵聽響應(yīng)更新所述目錄;
[0039]其中,所述偵聽響應(yīng)包括:發(fā)送所述偵聽響應(yīng)的緩存中的所述緩存行的狀態(tài)。
[0040]通過本發(fā)明實(shí)施例提供的一種目錄維護(hù)方法,定期查詢緩存中緩存行的狀態(tài),根據(jù)緩存的偵聽響應(yīng)來更新目錄,能夠使目錄中信息實(shí)時(shí)更新,保持準(zhǔn)確,能夠降低當(dāng)目錄存儲(chǔ)空間不夠,發(fā)生替換時(shí),替換掉處理器正在使用的數(shù)據(jù)的發(fā)生條件,減少了由于目錄導(dǎo)致的替換頻度,能夠降低替換產(chǎn)生的偵聽對處理器正常處理的影響,減少系統(tǒng)性能的下降。
[0041]其中,所述主存可以為下級緩存,所述緩存可以為上級緩存。
[0042]其中,緩存行與緩存的對應(yīng)關(guān)系包括:每一個(gè)緩存行對應(yīng)至少一個(gè)緩存,所述至少一個(gè)緩存中的每一個(gè)緩存對應(yīng)該緩存中的所述緩存行的狀態(tài),其中,所述至少一個(gè)緩存都存儲(chǔ)有該緩存行。
[0043]其中,所述根據(jù)所述偵聽響應(yīng)更新所述目錄,包括:根據(jù)接收到所述偵聽響應(yīng)更新所述目錄中的所述緩存行對應(yīng)的緩存中的所述緩存行的狀態(tài)。
[0044]所述根據(jù)所述偵聽響應(yīng)更新所述目錄,包括:
[0045]當(dāng)接收到的所述緩存行在所有偵聽響應(yīng)中的狀態(tài)為無效態(tài)時(shí),則所述主存刪除所述目錄中的所述緩存行的記錄。
[0046]主存按照一定的頻度依次讀取目錄中的有效條目,并向當(dāng)前讀取的緩存行對應(yīng)緩存發(fā)送偵聽信息,而且對于一個(gè)緩存只需發(fā)送一個(gè)偵聽信息,收到偵聽信息的緩存將對應(yīng)的緩存行的狀態(tài)攜帶在偵聽響應(yīng)中,無需改變該緩存行在緩存中的狀態(tài)。
[0047]其中,偵聽響應(yīng)可以采用如下標(biāo)識方式:RspI表示緩存中對應(yīng)的緩存行狀態(tài)為I態(tài),RspS表示緩存中對應(yīng)的緩存行狀態(tài)為S態(tài),RspE表示緩存中對應(yīng)的緩存行狀態(tài)為E態(tài),RspM表示緩存中對應(yīng)的緩存行狀態(tài)為M態(tài)。偵聽響應(yīng)接收到上述字符可以解析出該緩存行的狀態(tài)。
[0048]通過本發(fā)明實(shí)施例提供的方法,主存接收所有緩存發(fā)來的偵聽響應(yīng),根據(jù)該偵聽響應(yīng)中攜帶的緩存行的狀態(tài),更新對應(yīng)的緩存行的狀態(tài),當(dāng)緩存行的狀態(tài)全部為無效時(shí),主存刪除對該緩存行的記錄,能夠?yàn)槟夸涐尫糯鎯?chǔ)空間,減少了替換掉處理器正在使用的數(shù)據(jù)的發(fā)生條件,減少了由于目錄導(dǎo)致的替換頻度,能夠降低替換產(chǎn)生的偵聽對處理器正常處理的影響,減少系統(tǒng)性能的下降。
[0049]實(shí)施例2:
[0050]對應(yīng)下級緩存和上級緩存,本發(fā)明實(shí)施例提供了一種目錄維護(hù)方法,參見圖2,所述方法包括:
[0051]步驟201:下級緩存根據(jù)目錄中緩存行與上級緩存的對應(yīng)關(guān)系按照預(yù)先設(shè)定的頻度向緩存行對應(yīng)的每一個(gè)上級緩存發(fā)送偵聽信息;
[0052]步驟202:所述緩存行對應(yīng)的每一個(gè)上級緩存接收所述偵聽信息,根據(jù)所述偵聽信息發(fā)送偵聽響應(yīng);
[0053]步驟203:所述下級緩存接收所述偵聽響應(yīng),根據(jù)所述偵聽響應(yīng)更新所述目錄;
[0054]其中,緩存行與緩存的對應(yīng)關(guān)系包括:每一個(gè)緩存行對應(yīng)至少一個(gè)緩存,所述至少一個(gè)緩存中的每一個(gè)緩存對應(yīng)該緩存中的所述緩存行的狀態(tài),其中,所述至少一個(gè)緩存都存儲(chǔ)有該緩存行。
[0055]其中,所述偵聽響應(yīng)包括:發(fā)送所述偵聽響應(yīng)的上級緩存中的所述緩存行的狀態(tài)。
[0056]其中,所述根據(jù)所述偵聽響應(yīng)更新所述目錄,包括:根據(jù)接收到所述偵聽響應(yīng)更新所述目錄中的所述緩存行對應(yīng)的緩存中的所述緩存行的狀態(tài)。
[0057]所述根據(jù)所述偵聽響應(yīng)更新所述目錄,包括:
[0058]當(dāng)接收到的所述緩存行在所有偵聽響應(yīng)中的狀態(tài)為無效態(tài)時(shí),則所述主存刪除所述目錄中的所述緩存行的記錄。
[0059]實(shí)施例3:
[0060]本發(fā)明實(shí)施例提供了 一種目錄維護(hù)裝置,參見圖3,所述裝置包括:
[0061]主存301,至少一個(gè)緩存302 ;
[0062]所述主存301,用于根據(jù)目錄中緩存行與緩存的對應(yīng)關(guān)系按照預(yù)先設(shè)定的頻度向緩存行對應(yīng)的每一個(gè)緩存302發(fā)送偵聽信息,并接收緩存302發(fā)來的偵聽響應(yīng),根據(jù)所述偵聽響應(yīng)更新所述目錄;
[0063]所述緩存行對應(yīng)的每一個(gè)緩存302,用于接收主存301發(fā)來的所述偵聽信息,根據(jù)所述偵聽信息發(fā)送偵聽響應(yīng);
[0064]所述偵聽響應(yīng)包括:發(fā)送所述偵聽響應(yīng)的緩存中的所述緩存行的狀態(tài)。
[0065]其中,所述主存301可以為下級緩存,所述緩存302可以為上級緩存。
[0066]其中,所述主存301,用于根據(jù)接收到所述偵聽響應(yīng)更新所述目錄中的所述緩存行對應(yīng)的緩存中的所述緩存行的狀態(tài)。
[0067]所述主存301,用于當(dāng)接收到的所述緩存行在所有偵聽響應(yīng)中的狀態(tài)為無效態(tài)時(shí),則所述主存刪除所述目錄中的所述緩存行的記錄。
[0068]所述目錄中緩存行與緩存的對應(yīng)關(guān)系,包括:每一個(gè)緩存行對應(yīng)至少一個(gè)緩存,所述至少一個(gè)緩存中的每一個(gè)緩存對應(yīng)該緩存中的所述緩存行的狀態(tài)。
[0069]上述裝置內(nèi)的各單元之間的信息交互、執(zhí)行過程等內(nèi)容,由于與本發(fā)明方法實(shí)施例基于同一構(gòu)思,具體內(nèi)容可參見本發(fā)明方法實(shí)施例中的敘述,此處不再贅述。
[0070]需要說明的是:本發(fā)明實(shí)施例提供的方法適用于多級緩存結(jié)構(gòu)中,上級緩存和下級緩存之間,也適用于NC (Node Controller,節(jié)點(diǎn)控制器)之間。具體的實(shí)現(xiàn)過程與本發(fā)明方法實(shí)施例基于同一構(gòu)思,具體內(nèi)容可參見本發(fā)明方法實(shí)施例中的敘述,此處不再贅述。
[0071]通過上述描述可見,本發(fā)明實(shí)施例提供的方法及裝置具有如下有益效果:
[0072]1、通過本發(fā)明實(shí)施例提供的方法及裝置,主存接收所有緩存發(fā)來的偵聽響應(yīng),根據(jù)該偵聽響應(yīng)中攜帶的緩存行的狀態(tài),更新對應(yīng)的緩存行的狀態(tài),當(dāng)緩存行的狀態(tài)全部為無效時(shí),主存刪除對該緩存行的記錄,能夠?yàn)槟夸涐尫糯鎯?chǔ)空間,減少了替換掉處理器正在使用的數(shù)據(jù)的發(fā)生條件,減少了由于目錄導(dǎo)致的替換頻度,能夠降低替換產(chǎn)生的偵聽對處理器正常處理的影響,減少系統(tǒng)性能的下降。
[0073]2、通過本發(fā)明實(shí)施例提供的方法及裝置,實(shí)時(shí)更新目錄狀態(tài),刪除目錄中無效的緩存行,能夠提高目錄和緩存的真實(shí)利用率,并且偵聽信息不會(huì)影響緩存中數(shù)據(jù)的狀態(tài),不會(huì)影響處理器的數(shù)據(jù)處理。
[0074]本領(lǐng)域普通技術(shù)人員將會(huì)理解,本發(fā)明的各個(gè)方面、或各個(gè)方面的可能實(shí)現(xiàn)方式可以被具體實(shí)施為系統(tǒng)、方法或者計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明的各方面、或各個(gè)方面的可能實(shí)現(xiàn)方式可以采用完全硬件實(shí)施例、完全軟件實(shí)施例(包括固件、駐留軟件等等),或者組合軟件和硬件方面的實(shí)施例的形式,在這里都統(tǒng)稱為“電路”、“模塊”或者“系統(tǒng)”。此夕卜,本發(fā)明的各方面、或各個(gè)方面的可能實(shí)現(xiàn)方式可以采用計(jì)算機(jī)程序產(chǎn)品的形式,計(jì)算機(jī)程序產(chǎn)品是指存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)可讀程序代碼。
[0075]計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀信號介質(zhì)或者計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)包含但不限于電子、磁性、光學(xué)、電磁、紅外或半導(dǎo)體系統(tǒng)、設(shè)備或者裝置,或者前述的任意適當(dāng)組合,如隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦除可編程只讀存儲(chǔ)器(EPROM或者快閃存儲(chǔ)器)、光纖、便攜式只讀存儲(chǔ)器(CD-ROM)。
[0076]計(jì)算機(jī)中的處理器讀取存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)可讀程序代碼,使得處理器能夠執(zhí)行在流程圖中每個(gè)步驟、或各步驟的組合中規(guī)定的功能動(dòng)作;生成實(shí)施在框圖的每一塊、或各塊的組合中規(guī)定的功能動(dòng)作的裝置。
[0077]計(jì)算機(jī)可讀程序代碼可以完全在用戶的計(jì)算機(jī)上執(zhí)行、部分在用戶的計(jì)算機(jī)上執(zhí)行、作為單獨(dú)的軟件包、部分在用戶的計(jì)算機(jī)上并且部分在遠(yuǎn)程計(jì)算機(jī)上,或者完全在遠(yuǎn)程計(jì)算機(jī)或者服務(wù)器上執(zhí)行。也應(yīng)該注意,在某些替代實(shí)施方案中,在流程圖中各步驟、或框圖中各塊所注明的功能可能不按圖中注明的順序發(fā)生。例如,依賴于所涉及的功能,接連示出的兩個(gè)步驟、或兩個(gè)塊實(shí)際上可能被大致同時(shí)執(zhí)行,或者這些塊有時(shí)候可能被以相反順序執(zhí)行。
[0078]顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
【權(quán)利要求】
1.一種目錄維護(hù)方法,其特征在于,所述方法包括: 主存根據(jù)目錄中緩存行與緩存的對應(yīng)關(guān)系按照預(yù)先設(shè)定的頻度向緩存行對應(yīng)的每一個(gè)緩存發(fā)送偵聽信息; 所述緩存行對應(yīng)的每一個(gè)緩存接收所述偵聽信息,根據(jù)所述偵聽信息發(fā)送偵聽響應(yīng); 所述主存接收所述偵聽響應(yīng),根據(jù)所述偵聽響應(yīng)更新所述目錄; 所述偵聽響應(yīng)包括:發(fā)送所述偵聽響應(yīng)的緩存中的所述緩存行的狀態(tài)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述主存為下級緩存,所述緩存為上級緩存。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述根據(jù)所述偵聽響應(yīng)更新所述目錄,包括: 根據(jù)接收到所述偵聽響應(yīng)更新所述目錄中的所述緩存行對應(yīng)的緩存中的所述緩存行的狀態(tài)。
4.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述根據(jù)所述偵聽響應(yīng)更新所述目錄,包括: 當(dāng)接收到的所述緩存行在所有偵聽響應(yīng)中的狀態(tài)為無效態(tài)時(shí),則所述主存刪除所述目錄中的所述緩存行的記錄。
5.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述目錄中緩存行與緩存的對應(yīng)關(guān)系,包括:每一個(gè)緩存行對應(yīng)至少一個(gè)緩存,所述至少一個(gè)緩存中的每一個(gè)緩存對應(yīng)該緩存中的所述緩存行的狀態(tài)。
6.一種目錄維護(hù)裝置,其特征在于,所述裝置包括: 主存,至少一個(gè)緩存; 所述主存,用于根據(jù)目錄中緩存行與緩存的對應(yīng)關(guān)系按照預(yù)先設(shè)定的頻度向緩存行對應(yīng)的每一個(gè)緩存發(fā)送偵聽信息,并接收緩存發(fā)來的偵聽響應(yīng),根據(jù)所述偵聽響應(yīng)更新所述目錄; 所述緩存行對應(yīng)的每一個(gè)緩存,用于接收主存發(fā)來的所述偵聽信息,根據(jù)所述偵聽信息發(fā)送偵聽響應(yīng); 所述偵聽響應(yīng)包括:發(fā)送所述偵聽響應(yīng)的緩存中的所述緩存行的狀態(tài)。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述主存為下級緩存,所述緩存為上級緩存。
8.根據(jù)權(quán)利要求6或7所述的裝置,其特征在于,所述主存,用于根據(jù)接收到所述偵聽響應(yīng)更新所述目錄中的所述緩存行對應(yīng)的緩存中的所述緩存行的狀態(tài)。
9.根據(jù)權(quán)利要求6或7所述的裝置,其特征在于,所述主存,用于當(dāng)接收到的所述緩存行在所有偵聽響應(yīng)中的狀態(tài)為無效態(tài)時(shí),則所述主存刪除所述目錄中的所述緩存行的記錄。
10.根據(jù)權(quán)利要求6或7所述的裝置,其特征在于,所述目錄中緩存行與緩存的對應(yīng)關(guān)系,包括:每一個(gè)緩存行對應(yīng)至少一個(gè)緩存,所述至少一個(gè)緩存中的每一個(gè)緩存對應(yīng)該緩存中的所述緩存行的狀態(tài)。
【文檔編號】G06F12/08GK103870395SQ201410076650
【公開日】2014年6月18日 申請日期:2014年3月4日 優(yōu)先權(quán)日:2014年3月4日
【發(fā)明者】賀成洪, 程永波, 蘭可嘉 申請人:華為技術(shù)有限公司