取決于模式而可動(dòng)態(tài)配置以選擇分配至全部或是一個(gè)組的多模式組相聯(lián)高速緩存存儲(chǔ)器的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明是關(guān)于一種高速緩存存儲(chǔ)器,特別是關(guān)于取決于模式而可動(dòng)態(tài)配置以選擇一或多個(gè)組的多模式組相聯(lián)高速緩存存儲(chǔ)器。
【背景技術(shù)】
[0002]現(xiàn)今的處理器被要求執(zhí)行的程序是處理具有廣泛不同特性的數(shù)據(jù)組(set)并且是以廣泛而不同的方式來(lái)存取數(shù)據(jù)。數(shù)據(jù)組的特性以及存取模式影響著處理器的高速緩存存儲(chǔ)器的執(zhí)行效率。執(zhí)行效率主要是依照命中比(hit rat1)來(lái)判斷。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的一個(gè)目的在于提供一種高速緩存存儲(chǔ)器,用于存儲(chǔ)2~J字節(jié)的高速緩存線(xiàn),J為大于3的整數(shù),所述高速緩存存儲(chǔ)器包括:一數(shù)組,所述數(shù)組為2 ~N組且每一組具有多個(gè)卷標(biāo),每一卷標(biāo)為X比特,其中N以及X都是大于5的整數(shù),其中所述數(shù)組具有2~W路;一輸入端,所述輸入端接收Q比特的內(nèi)存地址,所述內(nèi)存地址[(Q-1):0]具有:一卷標(biāo)內(nèi)存地址[(Q-1): (Q-X)];以及一索引內(nèi)存地址[(Q-X-1): J];其中Q是至少為(N+J+X-1)的整數(shù);以及一組選取邏輯使用所述索引以及所述卷標(biāo)的最低有效比特選取所述數(shù)組的其中一組;一比較邏輯將卷標(biāo)中除了最低有效比特之外的所有比特對(duì)照于所選取的組中的每一卷標(biāo)中除了最低有效比特之外的所有比特,并在對(duì)照結(jié)果為匹配時(shí)標(biāo)示為命中;以及一分配邏輯,當(dāng)所述比較邏輯標(biāo)示為不匹配:當(dāng)操作在一第一模式之下的時(shí)候分配至所選取的組的任一2~W路;以及當(dāng)操作在一第二模式之下的時(shí)候分配至所選取的組的2~W路的其中一子組,其中所述2~W路的子組由所述卷標(biāo)的一或多個(gè)比特限定。
[0004]本發(fā)明的另一個(gè)目的在于提供一種高速緩存存儲(chǔ)器的操作方法,用于存儲(chǔ)2~J字節(jié)的高速緩存線(xiàn),J是大于3的整數(shù),所述高速緩存存儲(chǔ)器具有2~N組的一數(shù)組,每一組具有多個(gè)卷標(biāo),每一卷標(biāo)為X比特,N以及X都是大于5的整數(shù),所述高速緩存存儲(chǔ)器的操作方法包括:接收一Q比特內(nèi)存地址[(Q-1):0],其包含:一卷標(biāo)內(nèi)存地址[(Q-1): (Q-X)];以及一索引內(nèi)存地址[(Q-X-1): J];其中Q是至少為(Ν+J+X-l)的整數(shù);以及使用所述索引以及所述卷標(biāo)的最低有效比特選取所述數(shù)組的其中一組;將所述卷標(biāo)除了最低有效比特之外的所有比特對(duì)照于所選取的一組中的每一卷標(biāo)除了最低有效比特之外的所有比特并且在對(duì)照結(jié)果為匹配的時(shí)候標(biāo)示為命中;以及在對(duì)照結(jié)果為不匹配的時(shí)候:分配至所選取的一組的2~W路的其中之一,當(dāng)操作在一第一模式之下的時(shí)候;以及分配至所選取的一組的2~W路的其中一子組,當(dāng)操作在一第二模式之下的時(shí)候,其中所述2~W路的子組是由所述卷標(biāo)的一或多個(gè)比特限定。
[0005]本發(fā)明的又一個(gè)目的在于提供一種處理器,包括:一高速緩存存儲(chǔ)器,用以存儲(chǔ)2~J字節(jié)的高速緩存線(xiàn),J為大于3的整數(shù),所述高速緩存存儲(chǔ)器包括:一數(shù)組,所述數(shù)組為2~N組且每一組具有多個(gè)卷標(biāo),每一卷標(biāo)為X比特,其中N以及X都是大于5的整數(shù),其中所述數(shù)組具有2~W路;一輸入端,所述輸入端接收Q比特的內(nèi)存地址,所述內(nèi)存地址[(Q-1):0]具有:一卷標(biāo)內(nèi)存地址[(Q-l): (Q-X)];以及一索引內(nèi)存地址[(Q-X-l): J];其中Q是至少為(N+J+X-1)的整數(shù);以及一組選取邏輯使用所述索引以及所述卷標(biāo)的最低有效比特選取所述數(shù)組的其中一組;一比較邏輯將卷標(biāo)中除了最低有效比特之外的所有比特對(duì)照于所選取的組中的每一卷標(biāo)中除了最低有效比特之外的所有比特,并在對(duì)照結(jié)果為匹配時(shí)標(biāo)示為命中;以及一分配邏輯,當(dāng)所述比較邏輯標(biāo)示為不匹配:當(dāng)操作在一第一模式之下的時(shí)候分配至所選取的組的任一2~W路;以及當(dāng)操作在一第二模式之下的時(shí)候分配至所選取的組的2~W路的其中一子組,其中所述2~W路的子組由所述卷標(biāo)的一或多個(gè)比特限定。
【附圖說(shuō)明】
[0006]圖1所示為高速緩存存儲(chǔ)器的方塊圖。
[0007]圖2所示為圖1中的高速緩存存儲(chǔ)器操作在一般模式之下的方塊圖。
[0008]圖3所示為圖1中的高速緩存存儲(chǔ)器操作在一般模式之下的操作流程圖。
[0009]圖4所示為圖1中的高速緩存存儲(chǔ)器操作在大量模式之下的方塊圖
[0010]圖5所示為圖1中的高速緩存存儲(chǔ)器102操作在大量模式之下的操作流程圖。
[0011]圖6所示為圖1中的高速緩存存儲(chǔ)器102操作被指示轉(zhuǎn)換離開(kāi)大量模式的操作流程圖。
[0012]圖7所示為圖1中的高速緩存存儲(chǔ)器102操作在少量模式下以做為直接映像高速緩存的方塊圖。
[0013]圖8所示為圖1中的高速緩存存儲(chǔ)器102操作在少量直接映像模式之下的操作流程圖。
[0014]圖9所示為圖1中的高速緩存存儲(chǔ)器操作在少量模式之下以做為8路組相關(guān)高速緩存的方塊圖。
[0015]圖10所示為圖1中的高速緩存存儲(chǔ)器102操作在少量8路模式之下的操作流程圖。
[0016]圖11所示為圖1中的高速緩存存儲(chǔ)器102更詳細(xì)的方塊圖。
[0017]圖12A以及圖12B統(tǒng)稱(chēng)為圖12,圖12所示為所示為圖11中的高速緩存存儲(chǔ)器102的區(qū)域致能邏輯方塊圖。
[0018]圖13所示為圖11中的高速緩存存儲(chǔ)器102的命中產(chǎn)生邏輯的方塊圖。
[0019]圖14A所示為包含了一個(gè)具有圖1中的高速緩存存儲(chǔ)器102的處理器的系統(tǒng)的操作流程圖。
[0020]圖14B所示為包含了圖1中的高速緩存存儲(chǔ)器102的處理器的部件方塊圖。
[0021]圖14C所示為包含了圖1中的高速緩存存儲(chǔ)器102的圖14B中的處理器的操作流程圖。
[0022]圖15所示為包含了圖1中的高速緩存存儲(chǔ)器102的處理器的系統(tǒng)的操作流程圖。
[0023]圖16所示為高速緩存存儲(chǔ)器的方塊圖。
[0024]圖17所示為邏輯方塊圖,其是用來(lái)選取高速緩存存儲(chǔ)器102根據(jù)圖16中的卷標(biāo)以及分配模式所分配至的路的子組的邏輯方塊圖。
[0025]圖18所示為圖16中的高速緩存存儲(chǔ)器的操作流程圖。
[0026]圖19所示為包含了圖16中的高速緩存存儲(chǔ)器的處理器的系統(tǒng)的操作流程圖。
[0027]圖20所示為產(chǎn)生高速緩存存儲(chǔ)器模式配置給程序以及程序時(shí)程的操作流程圖。
[0028]圖21所示為內(nèi)存存取圖表以及從此內(nèi)存存取圖表中萃取出的數(shù)據(jù)。
[0029]圖22所示為程序的時(shí)程分析的操作流程圖。
[0030]圖23所示為用來(lái)給處理器可配置特性決定出一個(gè)較佳配置的蠻力(bruteforce)法的操作流程圖。
[0031 ]圖24所示為處理器的方塊圖。
[0032]主要組件標(biāo)號(hào)說(shuō)明
[0033]102高速緩存存儲(chǔ)器
[0034]104內(nèi)存地址
[0035]106,112卷標(biāo)
[0036]108模式
[0037]114索引
[0038]116偏移
[0039]302、304、306、312、314流程
[0040]502、504、506、512、514、516流程[0041 ]602、604流程
[0042]802、804、806、808、812、814流程
[0043]1002、1004、1006、1008、1012、1013、1014、1016 流程
[0044]1102A卷標(biāo)信道A
[0045]1104A接口 A
[0046]1102B卷標(biāo)信道B
[0047]1104B接口 B
[0048]1106-0區(qū)域O
[0049]1106-1區(qū)域 I
[0050]1106-2區(qū)域 2[0051 ]1106-3區(qū)域 3
[0052]1200區(qū)域致能邏輯
[0053]1200A接口 A區(qū)域致能邏輯
[0054]1209大量模式
[0055]104-A內(nèi)存地址
[0056]1204-0、1208-0、1204-1、1208-2非門(mén)
[0057]1202-0、1202-1、1202-2、1202-3或門(mén)
[0058]1206-0、1206-1、1206-2、1206-3與門(mén)
[0059]1212-0A接口 A區(qū)域O致能提示
[0060]1212-1A接口 A區(qū)域I致能提示
[0061]1212-2A接口 A區(qū)域2致能提示
[0062]1212-3A接口 A區(qū)域3致能提示
[0063]1200B接口 B區(qū)域致能邏輯
[0064]1212-0B接口 B區(qū)域O致能提示
[0065]1212-1B接口 B區(qū)域I致能提示
[0066]1212-2B接口 B區(qū)域2致能提示
[0067]1212-3B接口 B區(qū)域3致能提示
[0068]1214-0、1214-1、1214-2、1214-3或門(mén)
[0069]1216-0區(qū)域O致能提示
[0070]1216-1區(qū)域I致能提示
[0071]1216-2區(qū)域2致能提示
[0072]1216-3區(qū)域3致能提示
[0073]1300命中產(chǎn)生邏輯
[0074]1301組J路O分配
[0075]1303組J路O重新分配
[0076]1304比較器
[0077]1302有效比特
[0078]1306與門(mén)
[0079]1308-J0 ?1308-J15組 J路 O ?15 命中
[0080]1314-J組 J 命中
[0081 ]1308-K0 ?1308-K15組K路 O ?15 命中
[0082]1314-K組 J 命中
[0083]1316或門(mén)
[0084]1318大量模式命中
[0085]1322多任務(wù)器
[0086]1324命中
[0087]1402、1404流程
[0088]1412時(shí)程辨識(shí)碼
[0089]1414時(shí)程偵測(cè)器
[0090]1416模式更新單元
[0091]1418來(lái)自于裝置驅(qū)動(dòng)程?新楔1?言息
[0092]1422、1424、1426流程
[0093]1502、1504流程
[0094]1602高速緩存存儲(chǔ)器
[0095]1608分配模式
[0096]1606、1612卷標(biāo)
[0097]1614索引
[0098]1616偏移
[0099]1702邏輯
[0100]19,N比特?cái)?shù)
[0101]1736多任務(wù)器
[0102]1732組合邏輯
[0103]1738多任務(wù)器1736所輸出的N比特
[0104]1734路的子組
[0105]1802、1804、1806、1808、1812、1814、1816流程
[0106]1902、1904、1906流程
[0107]3402、3404、3406流程
[0108]3602、3604、3606、3608、3612、3614流程
[0109]3702、3704、3706、3706、3712、3714、3716流程
[0110]3900處理器
[0111]3922指令高速緩存
[0112]3923指令譯碼器
[0113]3924指令排程器以及發(fā)送器
[0114]3926執(zhí)行單元
[0115]3928內(nèi)存子系統(tǒng)
【具體實(shí)施方式】
[0116]現(xiàn)今的處理器被要求執(zhí)行的程序是處理具有廣泛不同特性的數(shù)據(jù)組(set)并且是以廣泛而不同的方式來(lái)存取數(shù)據(jù)。數(shù)據(jù)組的特性以及存取模式影響著處理器的高速緩存存儲(chǔ)器的執(zhí)行效率。執(zhí)行效率主要是依照命中比(hit rat1)來(lái)判斷。
[0117]除了容量之外,高速緩存存儲(chǔ)器的相聯(lián)性會(huì)大幅影響其執(zhí)行效率。高速緩存存儲(chǔ)器的相聯(lián)性指的是高速緩存存儲(chǔ)器可以配置高速緩存線(xiàn)(cache line)的可能位置或是項(xiàng)目(entry),高速緩存線(xiàn)是依據(jù)存儲(chǔ)器的地址而被配置。高速緩存線(xiàn)能夠配置或是分配的可能位置越多,高速緩存存儲(chǔ)器的相聯(lián)性就越高。某些程序適合具有較高的相聯(lián)性的高速緩存存儲(chǔ)器而某些程序適合具有較低的相聯(lián)性的高速緩存存儲(chǔ)器。
[0118]以下的實(shí)施方式所敘述的高速緩存存儲(chǔ)器可以在處理器的運(yùn)作期間被動(dòng)態(tài)地配置以將其相聯(lián)性變更為高于其一般模式的相聯(lián)性及/或變更為小于其一般的相聯(lián)性。
[0119]請(qǐng)參閱圖1,圖1繪示了一個(gè)高速緩存存儲(chǔ)器102 ο高速緩存存儲(chǔ)器102從一個(gè)輸入端接收了一個(gè)內(nèi)存地址(memory address ,MA) 104而從另一個(gè)輸入端接收了一個(gè)模式(mode)108。模式108具體指示了高速緩存存儲(chǔ)器102是否要用在「一般」模式、「大量」模式或是「少量」模式下運(yùn)作。所述的各種模式將于后面詳細(xì)敘述。
[0120]內(nèi)存地址104被分為三個(gè)部分,每一個(gè)部分具有多個(gè)比特(bit):卷標(biāo)(tag)112、索引(index) 114以及偏移(offset)116。偏移116指