1.一種地址訪問方法,其特征在于,所述方法包括:
接收第一請求,所述第一請求包括需要訪問的第一數(shù)據(jù)的第一存儲地址,所述第一存儲地址包括第一組索引、標簽以及第一關聯(lián);
從所述第一組索引對應的block中查找符合模式轉(zhuǎn)換條件的第一block,所述符合模式轉(zhuǎn)換條件的第一block的指示位用于指示所述第一block為關聯(lián)模式,且所述第一block中的第一標簽與所述第一存儲地址中的標簽對應的域段相同,所述第一block的標簽至少包含與所述第一存儲地址中的標簽不匹配的內(nèi)容,且所述第一block中僅包含一條有效的第一目錄信息;
將所述第一block的指示位修改為用于指示所述第一block為非關聯(lián)模式;
依次將所述第一block中所述指示位后面的字段替換為第一目錄字段和第二目錄字段,得到非關聯(lián)模式的第一block,
其中,所述第一目錄字段依次包括所述第一標簽、第一指示項、所述第一目錄信息,所述第二目錄字段依次包括第二標簽、第二指示項以及第二目錄信息,所述第二標簽限定了所述第一存儲地址中的標簽中與所述第一標簽不匹配的內(nèi)容,所述第一指示項用于指示所述第一目錄信息在關聯(lián)模式的所述第一block中的位置,所述第二指示項為所述第一關聯(lián)的值,所述第二目錄信息是根據(jù)所述第一請求所請求的狀態(tài)以及發(fā)送所述第一請求的處理器生成的目錄信息。
2.根據(jù)權利要求1所述的方法,其特征在于,在得到所述非關聯(lián)模式的第一block之后,所述方法還包括:
當所述第一block的剩余位寬允許存儲至少一個非關聯(lián)的存儲地址的目錄字段時,檢測接收到的第二請求是否符合與所述第一block對應的添加條件;
在所述第二請求符合與所述第一block對應的添加條件時,在所述第一block中已存儲的數(shù)據(jù)后面添加所述第二請求所對應的目錄字段,
其中,所述與所述第一block對應的添加條件為:所述第二請求包括需要訪問的第二數(shù)據(jù)的第二存儲地址中的組索引與所述第一組索引相同,且所述第二存儲地址中的標簽與所述第一block中的標簽均不同,所述第二存儲地址中的標簽與所述第一標簽的域段相同,且所述第二存儲地址中的標簽至少包含與所述第一標簽不匹配的內(nèi)容。
3.根據(jù)權利要求2所述的方法,其特征在于,所述第二請求所對應的目錄字段依次包括:第三標簽、第三指示項和第三目錄信息,
所述第三標簽限定了所述第二存儲地址中的標簽中與所述第一標簽不匹配的內(nèi)容,所述第三指示項為所述第二存儲地址中的關聯(lián)的值,所述第三目錄信息是根據(jù)所述第二請求所請求的狀態(tài)以及發(fā)送所述第二請求的處理器生成的目錄信息。
4.根據(jù)權利要求1所述的方法,其特征在于,在接收所述第一請求之后,所述方法還包括:
查找目錄cache中與所述第一組索引對應的block;
在查找到的block中的標簽均與所述第一請求中的標簽不同,且查找到的block均被占用時,執(zhí)行所述從所述第一組索引對應的block中查找符合模式轉(zhuǎn)換條件的第一block的步驟。
5.根據(jù)權利要求1至4中任一所述的方法,其特征在于,在所述得到非關聯(lián)模式的第一block之后,所述方法還包括:
接收第三請求,所述第三請求包括需要訪問的第三數(shù)據(jù)的第三存儲地址,所述第三存儲地址包括第二組索引、標簽以及第二關聯(lián);
查找目錄cache中與所述第二組索引對應的block;
從查找到的block中確定出命中的非關聯(lián)模式的第二block,所述第二block中存在與所述第三請求中的標簽相同的第四標簽,所述第二block中所述第四標簽后的指示項與所述第二關聯(lián)不同;
將所述第二block的指示位調(diào)整為用于指示所述第二block為關聯(lián)模式;
將所述第四標簽作為關聯(lián)模式的第二block的標簽,將所述標簽添加至所述指示位的后面;
獲取所述第二block中具備所述第四標簽的目錄字段,根據(jù)所述目標字段中的指示項確定所述目標字段中目錄信息在關聯(lián)模式的第二block中的位置,將所述目錄字段中的目錄信息移動至所述關聯(lián)模式的第二block的所述位置;
在所述關聯(lián)模式的第二block中添加與所述第三請求對應的目錄信息。
6.一種地址訪問裝置,其特征在于,所述裝置包括:
接收單元,用于接收第一請求,所述第一請求包括需要訪問的第一數(shù)據(jù)的第一存儲地址,所述第一存儲地址包括第一組索引、標簽以及第一關聯(lián);
查找單元,用于從所述第一組索引對應的block中查找符合模式轉(zhuǎn)換條件的第一block,所述符合模式轉(zhuǎn)換條件的第一block的指示位用于指示所述第一block為關聯(lián)模式,且所述第一block中的第一標簽與所述第一請求中的標簽對應的域段相同,所述第一block的標簽至少包含與所述第一存儲地址中的標簽不匹配的內(nèi)容,且所述第一block中僅包含一條有效的第一目錄信息;
修改單元,用于將所述第一block的指示位修改為用于指示所述第一block為非關聯(lián)模式;
替換單元,用于依次將所述第一block中所述指示位后面的字段替換為第一目錄字段和第二目錄字段,得到非關聯(lián)模式的第一block,
其中,所述第一目錄字段依次包括所述第一標簽、第一指示項、所述第一目錄信息,所述第二目錄字段依次包括第二標簽、第二指示項以及第二目錄信息,所述第二標簽限定了所述第一存儲地址中的標簽中與所述第一標簽不匹配的內(nèi)容,所述第一指示項用于指示所述第一目錄信息在關聯(lián)模式的所述第一block中的位置,所述第二指示項為所述第一關聯(lián)的值,所述第二目錄信息是根據(jù)所述第一請求所請求的狀態(tài)以及發(fā)送所述第一請求的處理器生成的的目錄信息。
7.根據(jù)權利要求6所述的裝置,其特征在于,
所述接收單元,還用于當所述第一block的剩余位寬允許存儲至少一個非關聯(lián)的存儲地址的目錄字段時,檢測接收到的第二請求是否符合與所述第一block對應的添加條件;
所述替換單元,還用于在所述第二請求符合與所述第一block對應的添加條件時,在所述第一block中已存儲的數(shù)據(jù)后面添加所述第二請求所對應的目錄字段,
其中,所述與所述第一block對應的添加條件為:所述第二請求包括需要訪問的第二數(shù)據(jù)的第二存儲地址中的組索引與所述第一組索引相同,且所述第二存儲地址中的標簽與所述第一block中的標簽均不同,所述第二存儲地址中的標簽與所述第一標簽的域段相同,且所述第二存儲地址中的標簽至少包含與所述第一標簽不匹配的內(nèi)容。
8.根據(jù)權利要求7所述的裝置,其特征在于,
所述第二請求所對應的目錄字段依次包括:第三標簽、第三指示項和第三目錄信息,所述第三標簽限定了所述第二存儲地址中的標簽中與所述第一標簽不匹配的內(nèi)容,所述第三指示項為所述第二存儲地址中的關聯(lián)的值,所述第三目錄信息是根據(jù)所述第二請求所請求的狀態(tài)以及發(fā)送所述第二請求的處理器生成的目錄信息。
9.根據(jù)權利要求6所述的裝置,其特征在于,
所述接收單元,還用于查找目錄cache中與所述第一組索引對應的block;
所述查找單元,還用于在查找到的block中的標簽均與所述第一請求中的標簽不同,且查找到的block均被占用時,執(zhí)行所述從所述第一組索引對應的block中查找符合模式轉(zhuǎn)換條件的第一block的步驟。
10.根據(jù)權利要求6至9中任一所述的裝置,其特征在于,
所述接收單元,還用于接收第三請求,所述第三請求包括需要訪問的第三數(shù)據(jù)的第三存儲地址,所述第三存儲地址包括第二組索引、標簽以及第二關聯(lián);
所述接收單元,還用于查找目錄cache中與所述第二組索引對應的block;
所述查找單元,還用于從查找到的block中確定出命中的非關聯(lián)模式的第二block,所述第二block中存在與所述第三請求中的標簽相同的第四標簽,所述第二block中所述第四標簽后的指示項與所述第二關聯(lián)不同;
所述修改單元,還用于將所述第二block的指示位調(diào)整為用于指示所述第二block為關聯(lián)模式;
所述替換單元,還用于將所述第四標簽作為關聯(lián)模式的第二block的標簽,將所述標簽添加至所述指示位的后面;
所述替換單元,還用于獲取所述第二block中具備所述第四標簽的目錄字段,根據(jù)所述目標字段中的指示項確定所述目標字段中目錄信息在關聯(lián)模式的第二block中的位置,將所述目錄字段中的目錄信息移動至所述關聯(lián)模式的第二block的所述位置;
所述替換單元,還用于在所述關聯(lián)模式的第二block中添加與所述第三請求對應的目錄信息。