取決于模式而可動(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)并且是以廣泛而不同的方式來存取數(shù)據(jù)。數(shù)據(jù)組的特性以及存取模式影響著處理器的高速緩存存儲(chǔ)器的執(zhí)行效率。執(zhí)行效率主要是依照命中比(hit rat1)來判斷。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的一個(gè)目的在于提供一種高速緩存存儲(chǔ)器,用于存儲(chǔ)2~J字節(jié)的高速緩存線,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)中除了最低有效比特之外的所有比特對照于所選取的組中的每一卷標(biāo)中除了最低有效比特之外的所有比特,并在對照結(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é)的高速緩存線,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)除了最低有效比特之外的所有比特對照于所選取的一組中的每一卷標(biāo)除了最低有效比特之外的所有比特并且在對照結(jié)果為匹配的時(shí)候標(biāo)示為命中;以及在對照結(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é)的高速緩存線,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)中除了最低有效比特之外的所有比特對照于所選取的組中的每一卷標(biāo)中除了最低有效比特之外的所有比特,并在對照結(jié)果為匹配時(shí)標(biāo)示為命中;以及一分配邏輯,當(dāng)所述比較邏輯標(biāo)示為不匹配:當(dāng)操作在一第一模式之下的時(shí)候分配至所選取的組的任一2~W路;以及當(dāng)操作在一第二模式之下的時(shí)候分配至所選取的組的2~W路的其中一子組,其中所述2~W路的子組由所述卷標(biāo)的一或多個(gè)比特限定。
【附圖說明】
[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)換離開大量模式的操作流程圖。
[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)稱為圖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所示為邏輯方塊圖,其是用來選取高速緩存存儲(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所示為用來給處理器可配置特性決定出一個(gè)較佳配置的蠻力(bruteforce)法的操作流程圖。
[0031 ]圖24所示為處理器的方塊圖。
[0032]主要組件標(biāo)號說明
[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非門
[0057]1202-0、1202-1、1202-2、1202-3或門
[0058]1206-0、1206-1、1206-2、1206-3與門
[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或門
[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與門
[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或門
[0084]1318大量模式命中
[0085]1322多任務(wù)器
[0086]1324命中
[0087]1402、1404流程
[0088]1412時(shí)程辨識碼
[0089]1414時(shí)程偵測器
[0090]1416模式更新單元
[0091]1418來自于裝置驅(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)并且是以廣泛而不同的方式來存取數(shù)據(jù)。數(shù)據(jù)組的特性以及存取模式影響著處理器的高速緩存存儲(chǔ)器的執(zhí)行效率。執(zhí)行效率主要是依照命中比(hit rat1)來判斷。
[0117]除了容量之外,高速緩存存儲(chǔ)器的相聯(lián)性會(huì)大幅影響其執(zhí)行效率。高速緩存存儲(chǔ)器的相聯(lián)性指的是高速緩存存儲(chǔ)器可以配置高速緩存線(cache line)的可能位置或是項(xiàng)目(entry),高速緩存線是依據(jù)存儲(chǔ)器的地址而被配置。高速緩存線能夠配置或是分配的可能位置越多,高速緩存存儲(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]請參閱圖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指