亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于具有不同高速緩存位置長(zhǎng)度的高速緩存中高速緩存一致性的系統(tǒng)和方法

文檔序號(hào):6553429閱讀:243來源:國知局
專利名稱:用于具有不同高速緩存位置長(zhǎng)度的高速緩存中高速緩存一致性的系統(tǒng)和方法
技術(shù)領(lǐng)域
本發(fā)明一般涉及具有數(shù)據(jù)高速緩存的微處理器,尤其涉及可以包括具有多組不同長(zhǎng)度的高速緩存位置的數(shù)據(jù)高速緩存的微處理器。
背景技術(shù)
現(xiàn)代微處理器可以在單個(gè)半導(dǎo)體器件上包括兩個(gè)或多個(gè)處理器內(nèi)核??梢詫⑦@種處理器稱為多核處理器。使用這些多核處理器能夠?qū)⑿阅芴岣叩匠鍪褂脝魏颂幚砥魉试S的程度。每個(gè)內(nèi)核都可以有它自己的一級(jí)數(shù)據(jù)和指令高速緩存,在這個(gè)器件上還可以有二級(jí)高速緩存。
為了提高性能,一級(jí)數(shù)據(jù)高速緩存中的高速緩存位置可以具有根據(jù)預(yù)期數(shù)據(jù)類型選擇的長(zhǎng)度。有限的器件尺寸可以允許長(zhǎng)度較短的、數(shù)量較多的高速緩存位置,或者長(zhǎng)度較長(zhǎng)的、數(shù)量較少的高速緩存位置。當(dāng)預(yù)期數(shù)據(jù)具有大的空間局部性時(shí)(例如數(shù)據(jù)傾向于位于存儲(chǔ)器中的連續(xù)區(qū)域),通過采用長(zhǎng)度較長(zhǎng)的、數(shù)量較少的高速緩存位置能夠提高性能。在另一個(gè)極端情況下,當(dāng)預(yù)期數(shù)據(jù)具有較小的空間局部性時(shí)(例如數(shù)據(jù)隨機(jī)或偽隨機(jī)地分布在整個(gè)存儲(chǔ)器內(nèi)),通過采用長(zhǎng)度較短的、數(shù)量較多的高速緩存位置能夠提高性能。
可以設(shè)計(jì)具有多組高速緩存位置的一級(jí)數(shù)據(jù)高速緩存,其中每一組都包含不同長(zhǎng)度的高速緩存位置。這樣做能夠在各種類型的預(yù)期數(shù)據(jù)的情況下提高性能。另外,某塊數(shù)據(jù)可能同時(shí)存在于多組高速緩存位置中,此時(shí)仍然能夠提高性能。但是,大多數(shù)高速緩存一致性引擎都是根據(jù)高速緩存位置/高速緩存行尺寸的粒度來進(jìn)行工作的。為了清楚起見,將這些設(shè)計(jì)成支持同樣的高速緩存位置/高速緩存行尺寸。因此,用于和具有變化的高速緩存位置長(zhǎng)度的高速緩存一起使用的高速緩存一致性引擎存在設(shè)計(jì)問題,特別是當(dāng)在不進(jìn)行基礎(chǔ)性重新設(shè)計(jì)的情況下優(yōu)選地使用現(xiàn)有的高速緩存一致性協(xié)議時(shí)。


本說明書利用附圖以實(shí)例方式而不是以限制方式說明高速緩存位置,在這些附圖中,相似的標(biāo)號(hào)指的是相似的單元。在這些附圖中圖1是根據(jù)本公開的一個(gè)實(shí)施例的,具有多個(gè)處理器內(nèi)核的處理器的示圖,這些處理器內(nèi)核具有包括不同長(zhǎng)度的高速緩存位置的高速緩存;圖2是根據(jù)本公開一個(gè)實(shí)施例的處理器模塊的示圖;圖3是根據(jù)本公開一個(gè)實(shí)施例的,具有目錄結(jié)構(gòu)的二級(jí)高速緩存的示圖;圖4是根據(jù)本公開的一個(gè)實(shí)施例的,圖3所示的二級(jí)高速緩存的目錄條目的示圖;圖5是根據(jù)本公開的一個(gè)實(shí)施的,對(duì)應(yīng)于圖4所示的目錄條目的狀態(tài)樹的示圖;圖6是根據(jù)本公開的另一個(gè)實(shí)施例的,集合狀態(tài)保存寄存器的示圖;圖7A是根據(jù)本公開的一個(gè)實(shí)施例的,多內(nèi)核處理器系統(tǒng)的示意圖;以及圖7B是根據(jù)本公開的另一個(gè)實(shí)施例的,多內(nèi)核處理器系統(tǒng)的示意圖。
具體實(shí)施例方式
以下描述包括用于多內(nèi)核處理器中數(shù)據(jù)高速緩存的設(shè)計(jì)和一致操作的技術(shù),所述數(shù)據(jù)高速緩存具有不同長(zhǎng)度的高速緩存位置。在以下描述中,說明了大量的具體細(xì)節(jié),例如邏輯實(shí)現(xiàn)、軟件模塊分配、總線和其它接口信令技術(shù)以及操作的細(xì)節(jié),以便幫助更加徹底地理解本發(fā)明。但是,本領(lǐng)域技術(shù)人員明白,可以實(shí)現(xiàn)本發(fā)明而無需這些具體細(xì)節(jié)。在其它例子中,沒有詳細(xì)說明控制結(jié)構(gòu)、門級(jí)別的電路和完整的軟件指令序列,以免使發(fā)明不清楚。利用這些描述,本領(lǐng)域技術(shù)人員將能夠?qū)崿F(xiàn)適當(dāng)?shù)墓δ芏鵁o需大量的實(shí)驗(yàn)。在特定的實(shí)施例中,本發(fā)明在安騰處理器系列的兼容處理器(例如英特爾公司生產(chǎn)的處理器)以及有關(guān)系統(tǒng)和處理器固件的環(huán)境中公開。但是,本發(fā)明還可以用其他種類的處理器系統(tǒng)來實(shí)現(xiàn),例如利用奔騰兼容處理器系統(tǒng)(例如英特爾公司生產(chǎn)的)、X-Scale系列兼容處理器,或者根據(jù)其它銷售商或設(shè)計(jì)者的任何處理器體系結(jié)構(gòu)的任何不同的通用處理器。另外,一些實(shí)施例可以包括或者可以是專用處理器,例如,圖形、網(wǎng)絡(luò)、圖像、通信處理器,或者任何其它已知的或可用類型的結(jié)合其固件的處理器。
下面參考圖1,其中顯示了根據(jù)本公開的一個(gè)實(shí)施例的,具有高速緩存的多核處理器,所述高速緩存包括不同長(zhǎng)度的高速緩存位置。在一個(gè)實(shí)施例中,顯示了處理器模塊1130和處理器模塊2140,但是在其它實(shí)施例中,在特定的整體處理器實(shí)現(xiàn)中可以有更多的處理器模塊。
處理器模塊1130和處理器模塊2140可以各自包括用于執(zhí)行程序的內(nèi)核134、144,一級(jí)(L1)數(shù)據(jù)高速緩存控制器132、142,以及高速緩存陣列136、146。在這里,“一級(jí)”指的是在層次結(jié)構(gòu)上最接近處理器內(nèi)核的高速緩存。高速緩存陣列132、142可以包括能夠保存從存儲(chǔ)器取入的數(shù)據(jù)的各種高速緩存位置作為高速緩存行。這些高速緩存位置的長(zhǎng)度可以不同,并且可能包含高速緩存行的一些部分,而不是整個(gè)高速緩存行,以便提高性能。
處理器模塊1130和處理器模塊2140可以通過互連120連接到二級(jí)(L2)高速緩存110。在這里,“二級(jí)”指的是在層次結(jié)構(gòu)上同處理器內(nèi)核遠(yuǎn)一級(jí)的高速緩存。二級(jí)高速緩存110可以包括高速緩存陣列114,該高速緩存陣列包括能夠保存從存儲(chǔ)器取入的數(shù)據(jù)的高速緩存位置作為高速緩存行。其還可以包括目錄116,用于保存高速緩存陣列114中以及各個(gè)一級(jí)高速緩存中包含的高速緩存行的標(biāo)記和狀態(tài)數(shù)據(jù)。最后,它可以包括多組寄存器112以支持高速緩存操作。
下面參考圖2,其中顯示了根據(jù)本公開的一個(gè)實(shí)施例的處理器模塊。如前面結(jié)合圖1所述,處理器模塊230可以包括內(nèi)核244、一級(jí)數(shù)據(jù)高速緩存控制器242和高速緩存陣列246。
高速緩存陣列246可以包括多組長(zhǎng)度不同的高速緩存位置。例如,組260中的高速緩存位置可以保存高速緩存體系結(jié)構(gòu)的整個(gè)高速緩存行。但是,組270中的高速緩存位置則能夠保存整個(gè)高速緩存行的一些部分,其中每一部分的長(zhǎng)度都只是整個(gè)高速緩存行長(zhǎng)度的一半。類似地,組250中的高速緩存位置可以保存整個(gè)高速緩存行的一些部分,其中每一部分的長(zhǎng)度僅僅是整個(gè)高速緩存行長(zhǎng)度的四分之一。存在許多這種高速緩存陣列的實(shí)施例,其中,不同的高速緩存位置可以具有不同的長(zhǎng)度??梢远嘤诨蛏儆谌N高速緩存位置,在其它實(shí)施例中,高速緩存位置的長(zhǎng)度不必按照2的冪次關(guān)系與整個(gè)高速緩存體系結(jié)構(gòu)的整個(gè)高速緩存行長(zhǎng)度相聯(lián)系。在圖2所示的實(shí)施例中,組260的高速緩存位置可以保存整個(gè)高速緩存行,但是在其它實(shí)施例中,組260的高速緩存位置(高速緩存陣列246中最長(zhǎng)的高速緩存位置)可以只保存整個(gè)高速緩存行的一部分。
為了討論高速緩存陣列246的使用,“塊”這個(gè)術(shù)語是有用的。在這里,可以將塊定義為一級(jí)數(shù)據(jù)高速緩存的一致性中的最小高速緩存位置的長(zhǎng)度。因此,組250包括“一塊”高速緩存位置,組270包括兩個(gè)塊的高速緩存位置,組260包括四個(gè)塊的高速緩存位置。在其它實(shí)施例中,可以使用其它塊長(zhǎng)度的高速緩存位置。
為了用作高速緩存,將多組高速緩存位置250、260、270連接到一級(jí)數(shù)據(jù)高速緩存控制器242。這提供了控制器、一致性引擎、缺失(miss)狀態(tài)保存寄存器(MSHR)252、回寫緩沖器(WB)250和互連接口220。在一些實(shí)施例中,可以為高速緩存位置250、260、270中的每一組復(fù)制這些部件,但是在本實(shí)施例中,可以由高速緩存位置共享它們。二級(jí)高速緩存可以了解不同組的高速緩存位置,因此能夠向不同的高速緩存位置組中的每一組發(fā)送一致性消息。一級(jí)數(shù)據(jù)高速緩存控制器242可以接收這種消息并基于它們進(jìn)行操作,這些操作包括對(duì)它們作標(biāo)記,以及將它們解釋成來自或者要去往高速緩存陣列246中特定一組高速緩存位置。
與具有單個(gè)高速緩存位置長(zhǎng)度的高速緩存中的傳統(tǒng)MSHR相比,MSHR 252可能有變化。傳統(tǒng)的MSHR可以緩沖被判定為缺失的到同一個(gè)地址的多個(gè)存儲(chǔ)器請(qǐng)求。由于這些不同長(zhǎng)度的高速緩存位置組,可以將對(duì)相同地址的這種多個(gè)存儲(chǔ)器請(qǐng)求引導(dǎo)向不同長(zhǎng)度的高速緩存位置。按照傳統(tǒng)方式緩沖多個(gè)存儲(chǔ)器請(qǐng)求會(huì)降低性能。作為一個(gè)實(shí)例,對(duì)于其中與第一次存儲(chǔ)器請(qǐng)求相比,對(duì)一個(gè)地址的第二次請(qǐng)求是針對(duì)更長(zhǎng)的高速緩存位置的請(qǐng)求這種情形,第一次存儲(chǔ)器請(qǐng)求所取入的結(jié)果沒有包括足夠多的塊來滿足第二次存儲(chǔ)器請(qǐng)求的需求。因此,在一個(gè)實(shí)施例中,MSHR 252可以為如下所述的每一組高速緩存位置分配單獨(dú)的條目,對(duì)于所述每組高速緩存位置,到同一地址的存儲(chǔ)器請(qǐng)求正被掛起。這些存儲(chǔ)器請(qǐng)求中的每一個(gè)將被發(fā)送到二級(jí)高速緩存??梢杂玫刂泛蜆?biāo)識(shí)符來對(duì)MSHR 252中的單獨(dú)條目進(jìn)行索引,其中所述標(biāo)識(shí)符指示所述請(qǐng)求來自哪一組高速緩存位置。通過這種方式,在到特定地址的第一個(gè)請(qǐng)求以后,可以只緩沖來自同一組高速緩存位置的到所述特定地址的存儲(chǔ)器請(qǐng)求。
傳統(tǒng)方式是,在聲明發(fā)生了缺失之前,當(dāng)收到到來的地址請(qǐng)求時(shí),檢查WB。如果在WB中找到了所請(qǐng)求的地址,就可以緩沖到來的對(duì)該地址的請(qǐng)求,并且在繼續(xù)處理這一請(qǐng)求之前允許完成回寫。但是,如果回寫條目來自長(zhǎng)度不同于產(chǎn)生到來的請(qǐng)求的高速緩存位置組的一個(gè)高速緩存位置組,就可以不延遲這一缺失的處理。為了支持這一操作,在一個(gè)實(shí)施例中,可以用地址和標(biāo)識(shí)符來對(duì)WB 250進(jìn)行索引,所述標(biāo)識(shí)符指示到來的請(qǐng)求來自哪一種高速緩存位置組。
下面參考圖3,其中示出了根據(jù)本公開的一個(gè)實(shí)施例的,具有目錄結(jié)構(gòu)的二級(jí)高速緩存的示圖。二級(jí)高速緩存310可以包括用來保存數(shù)據(jù)350和目錄360的多個(gè)高速緩存位置。目錄360可以包括與數(shù)據(jù)350中等同高速緩存位置的內(nèi)容相對(duì)應(yīng)的多種條目。這些種類的條目可以包括標(biāo)記370、高速緩存一致性狀態(tài)380和共享矢量390。在一個(gè)實(shí)施例中,狀態(tài)可以是MSI高速緩存一致性協(xié)議的非活動(dòng)狀態(tài)修改(M),共享(S)或者無效(I)。在另一些實(shí)施例中,可以支持其它的高速緩存一致性狀態(tài)。
共享矢量可以包括關(guān)于二級(jí)高速緩存310的高速緩存一致性空間中所有一級(jí)數(shù)據(jù)高速緩存的信息。具體地說,對(duì)于每個(gè)處理器內(nèi)核,共享矢量可以包括與不同長(zhǎng)度的高速緩存位置組的數(shù)量一樣多的位數(shù)。在一些實(shí)施例中,每一組高速緩存位置可以有額外的位用來指示整個(gè)高速緩存行的哪一部分可以存在于特定的一級(jí)數(shù)據(jù)高速緩存中。參考圖2,這些額外的位可以指示高速緩存位置272中的兩個(gè)塊是來自對(duì)應(yīng)的整個(gè)高速緩存行的前兩個(gè)塊還是后兩個(gè)塊。下面將結(jié)合圖4詳細(xì)討論目錄360中條目362的一個(gè)實(shí)施例的細(xì)節(jié)。
二級(jí)高速緩存310還可以包括多組寄存器。在圖3所示的實(shí)施例中,它們可以包括回寫寄存器320、缺失狀態(tài)處理寄存器(MSHR)330和集合狀態(tài)保存寄存器(CSHR)340。在一個(gè)實(shí)施例中,回寫寄存器320和MSHR 330可以是傳統(tǒng)的設(shè)計(jì)。后面將結(jié)合圖6詳細(xì)討論CSHR 340以及它的用于集合整個(gè)高速緩存行的已更新部分的效用。
現(xiàn)在參考圖4,其中顯示了根據(jù)本公開的一個(gè)實(shí)施例的,圖3所示二級(jí)高速緩存的目錄條目362的示圖。條目362為整個(gè)高速緩存行的標(biāo)記402分配了一些位。它還有用于高速緩存一致性狀態(tài)404的一個(gè)位或多個(gè)位。對(duì)于存在的每一個(gè)內(nèi)核,以及對(duì)于高速緩存位置種類與可以存在于該內(nèi)核的數(shù)據(jù)高速緩存中的整個(gè)高速緩存行的部分的每一種可能組合,可以有一位來指示在這種高速緩存位置中是否存在整個(gè)高速緩存行的這一部分。
考慮圖1所示的處理器100,其中,每個(gè)處理器模塊都可以是圖2所示的處理器模塊230。于是,在條目362中,有兩位408、412,它們分別代表內(nèi)核1、2中保存四個(gè)塊的高速緩存位置組。由于在四個(gè)塊的高速緩存位置中只可能包含整個(gè)高速緩存行的一個(gè)部分,也就是整個(gè)高速緩存行本身,因此,單獨(dú)一位就足夠了。
對(duì)于與保存兩個(gè)塊的高速緩存位置組有關(guān)的條目362的部分,內(nèi)核1具有兩位416、418,內(nèi)核2具有兩位420、422。這里,每個(gè)內(nèi)核可以使用兩位,因?yàn)楸4鎯蓚€(gè)塊的高速緩存位置可能保存整個(gè)高速緩存行的兩部分之一(例如,整個(gè)高速緩存行的前兩塊或后兩塊)。例如,418中的“1”可以指示整個(gè)高速緩存行的第二部分存在于內(nèi)核1的兩個(gè)塊的高速緩存位置組中。
對(duì)于與保存單塊的高速緩存位置組有關(guān)的條目362的部分,內(nèi)核1有4個(gè)位424~430,內(nèi)核2具有4個(gè)位432~438。在這里,每個(gè)內(nèi)核可以使用四個(gè)位,因?yàn)楸4嬉粋€(gè)塊的高速緩存位置可以保存整個(gè)高速緩存行的四個(gè)部分之一(例如整個(gè)高速緩存行的第一、第二、第三或第四塊)。例如,424中的“1”可以指示整個(gè)高速緩存行的第一塊部分存在于內(nèi)核1的一個(gè)塊的高速緩存位置組中。
在其它實(shí)施例中,可以僅通過在適當(dāng)?shù)奈恢迷黾游蛔侄?,來擴(kuò)展條目362以覆蓋具有兩個(gè)以上內(nèi)核的處理器的情形。值得注意,條目362的設(shè)計(jì)沒有給內(nèi)核數(shù)量施加任何特定限制。類似地,在其它實(shí)施例中,可以僅通過在合適的位置增加或刪除位字段,來擴(kuò)展條目362以覆蓋具有三組以上或以下不同長(zhǎng)度高速緩存位置的處理器的情況。圖4中的實(shí)施例顯示按照高速緩存位置的長(zhǎng)度來分組的條目362的位;但是,在其它實(shí)施例中,條目的位也可以按照內(nèi)核來組織。
在一個(gè)實(shí)施例中,前面討論的高速緩存一致性協(xié)議的非活動(dòng)狀態(tài)為M、S和I。一致性操作會(huì)導(dǎo)致從這些非活動(dòng)狀態(tài)之一轉(zhuǎn)變到另一個(gè)狀態(tài)。當(dāng)處理一致性操作的請(qǐng)求時(shí),一致性操作會(huì)導(dǎo)致高速緩存行的狀態(tài)通過各個(gè)活動(dòng)狀態(tài)。傳統(tǒng)高速緩存一致性協(xié)議中的一個(gè)規(guī)則可以是,當(dāng)高速緩存行處于活動(dòng)狀態(tài)時(shí),不能進(jìn)行任何其它一致性操作。
但是,在本公開的高速緩存系統(tǒng)的一個(gè)實(shí)施例中,一級(jí)數(shù)據(jù)高速緩存的不同的高速緩存位置可以保存整個(gè)高速緩存行的不同部分。當(dāng)請(qǐng)求是針對(duì)整個(gè)高速緩存行的“獨(dú)立”部分的時(shí)候,能夠允許發(fā)生對(duì)一致性操作的請(qǐng)求的并發(fā)處理。這里,獨(dú)立部分可以是整個(gè)高速緩存行的前一半和后一半,或者是整個(gè)高速緩存行的任意一對(duì)四分之一部分。因?yàn)橐恢滦圆僮骺梢园òl(fā)送消息和等待答復(fù),所以允許請(qǐng)求的并發(fā)處理能夠提高高速緩存性能。
在二級(jí)高速緩存310中執(zhí)行的一致性協(xié)議可以從處理器模塊接收四種不同類型的對(duì)一致性操作的請(qǐng)求。這些請(qǐng)求可以包括讀、排他讀(例如接收寫入的所有權(quán))、更新和回寫請(qǐng)求。當(dāng)在具有不同長(zhǎng)度的高速緩存位置組的情況下考慮這些請(qǐng)求時(shí),這些請(qǐng)求會(huì)希望考慮由整個(gè)高速緩存行的各個(gè)部分保存的狀態(tài)。為了有效地執(zhí)行這一考慮,狀態(tài)位404和共享矢量位408~438中包含的位可以按照如同它們是狀態(tài)樹的邏輯進(jìn)行檢查。
參考圖5,其中顯示了根據(jù)本公開的一個(gè)實(shí)施例的,與圖4所示目錄條目362相對(duì)應(yīng)的狀態(tài)樹500的示圖。狀態(tài)樹500可以由一組節(jié)點(diǎn)510、512、514、520、522、524、526形成。每個(gè)節(jié)點(diǎn)都可以代表可以保存在各個(gè)一級(jí)數(shù)據(jù)高速緩存中出現(xiàn)的高速緩存位置的種類之一中的整個(gè)高速緩存行的各個(gè)部分之一的狀態(tài)。二級(jí)高速緩存中的邏輯可以將一個(gè)節(jié)點(diǎn)置于非活動(dòng)狀態(tài)或與掛起的一致性操作相對(duì)應(yīng)的活動(dòng)狀態(tài)。
例如,根節(jié)點(diǎn)510可以代表任何非活動(dòng)或者掛起的活動(dòng)高速緩存一致性狀態(tài),以及顯示整個(gè)高速緩存行可以存在于各個(gè)一級(jí)數(shù)據(jù)高速緩存中什么地方的條目362的部分(例如位408、412)。在沒有任何一級(jí)數(shù)據(jù)高速緩存包括四個(gè)塊的高速緩存位置的實(shí)施例中,根節(jié)點(diǎn)510可以省略條目362的部分,同時(shí)維持掛起的活動(dòng)高速緩存一致性狀態(tài)。
節(jié)點(diǎn)512、514可以代表任何非活動(dòng)的或者掛起的活動(dòng)高速緩存一致性狀態(tài),以及顯示整個(gè)高速緩存行的前半部分和后半部分分別可以出現(xiàn)在各個(gè)一級(jí)數(shù)據(jù)高速緩存中什么地方的條目362的部分(例如分別在位416、420和418、422)。類似地,節(jié)點(diǎn)520、522、524和526可以代表任何掛起的活動(dòng)高速緩存一致性狀態(tài),以及顯示整個(gè)高速緩存行的第一、第二、第三和第四個(gè)四分之一部分分別可以出現(xiàn)在各一級(jí)數(shù)據(jù)高速緩存中什么地方的條目362的部分(例如分別為位424、432;426、434;428、436和430、438)。
不同形式的高速緩存一致性協(xié)議會(huì)在狀態(tài)樹500的節(jié)點(diǎn)之中產(chǎn)生不同的一致性規(guī)則。利用前面作為實(shí)例討論的MSI協(xié)議,根據(jù)其位置和相關(guān)依賴性,可能需要不同的節(jié)點(diǎn)來獲得不同的狀態(tài)。例如,如果節(jié)點(diǎn)514處于M狀態(tài),那么它的祖先節(jié)點(diǎn)(朝向根節(jié)點(diǎn)的方向的,樹的分支上的節(jié)點(diǎn)),也就是根節(jié)點(diǎn)510需要處于I狀態(tài),其后代節(jié)點(diǎn)524、526(遠(yuǎn)離根節(jié)點(diǎn)的方向的,樹的分支上的節(jié)點(diǎn))一樣。但是,由于在節(jié)點(diǎn)514與節(jié)點(diǎn)512、520和522之間缺少依賴性,因此,后面的節(jié)點(diǎn)可以處于MSI狀態(tài)中的任意狀態(tài)(例如“不關(guān)心”狀態(tài))。類似地,如果節(jié)點(diǎn)526處于M狀態(tài),那么節(jié)點(diǎn)510和514需要處于I狀態(tài),但是因?yàn)闆]有依賴性,節(jié)點(diǎn)524、512、520和522可以處于MSI狀態(tài)的任意狀態(tài)。根節(jié)點(diǎn)510的不同之處在于,所有其它節(jié)點(diǎn)都依賴于根節(jié)點(diǎn)510。在高速緩存一致性協(xié)議的其它實(shí)施例中,可以使用依賴性和非依賴性節(jié)點(diǎn)之間的狀態(tài)的其它規(guī)則。
可以用狀態(tài)樹500來支持對(duì)以下情形的判斷在一致性操作中目前是不是涉及到了整個(gè)高速緩存行的給定部分??紤]特定節(jié)點(diǎn)的祖先節(jié)點(diǎn)可能代表節(jié)點(diǎn)本身所代表的數(shù)據(jù)的一個(gè)超集。并且這個(gè)節(jié)點(diǎn)的后代節(jié)點(diǎn)可能代表這個(gè)節(jié)點(diǎn)本身所代表的那部分中包含的整個(gè)高速緩存行的那些部分。因?yàn)檫@些特性,可以用一組簡(jiǎn)單規(guī)則來判斷一致性操作中目前是不是涉及由一節(jié)點(diǎn)代表的整個(gè)高速緩存行的一部分。這些規(guī)則可以在二級(jí)高速緩存的邏輯中實(shí)現(xiàn),該二級(jí)高速緩存的邏輯可以對(duì)目錄的條目進(jìn)行操作。
規(guī)則1可以是,如果一個(gè)節(jié)點(diǎn)具有已經(jīng)處于活動(dòng)狀態(tài)的祖先節(jié)點(diǎn),那么那個(gè)節(jié)點(diǎn)不能開始新的一致性操作。規(guī)則2可以是,如果一個(gè)節(jié)點(diǎn)本身已經(jīng)處于活動(dòng)狀態(tài),那么它不能開始新的一致性操作。規(guī)則3可以是,如果節(jié)點(diǎn)的任何后代節(jié)點(diǎn)已經(jīng)處于活動(dòng)狀態(tài),那么這個(gè)節(jié)點(diǎn)不能開始新的一致性操作。規(guī)則4可以是,如果新的一致性操作會(huì)修改這個(gè)節(jié)點(diǎn)的任何祖先節(jié)點(diǎn)的狀態(tài),那么規(guī)則1、2和3也將被應(yīng)用于與根節(jié)點(diǎn)最接近的那個(gè)祖先節(jié)點(diǎn)。在其它實(shí)施例中,可以建立起其它規(guī)則組來判斷在一致性操作中目前是不是涉及到了整個(gè)高速緩存行的一部分。
下面參考圖6,其中顯示了根據(jù)本公開的一個(gè)實(shí)施例的,集合狀態(tài)保存寄存器(CSHR)的示圖。在傳統(tǒng)的高速緩存系統(tǒng)里,當(dāng)一個(gè)數(shù)據(jù)一級(jí)高速緩存希望訪問另一個(gè)數(shù)據(jù)一級(jí)高速緩存所擁有的高速緩存行時(shí),對(duì)應(yīng)的二級(jí)高速緩存可以更新這一行的狀態(tài),將請(qǐng)求轉(zhuǎn)發(fā)給擁有方數(shù)據(jù)一級(jí)高速緩存。在一個(gè)具有不同長(zhǎng)度的高速緩存位置的高速緩存系統(tǒng)的實(shí)施例中,更新行狀態(tài)和轉(zhuǎn)發(fā)請(qǐng)求給擁有方數(shù)據(jù)一級(jí)高速緩存的處理可以按照與特定情形類似的方式進(jìn)行。這些情形可以包括在長(zhǎng)度與請(qǐng)求方數(shù)據(jù)一級(jí)高速緩存中的對(duì)應(yīng)高速緩存位置長(zhǎng)度一樣或者更長(zhǎng)的高速緩存位置中,擁有方數(shù)據(jù)一級(jí)高速緩存具有高速緩存行的被請(qǐng)求部分。
但是,如果以比所請(qǐng)求的塊粒度小的塊粒度來修改行,那么所請(qǐng)求的高速緩存行的一部分在一個(gè)數(shù)據(jù)一級(jí)高速緩存中可以處于例如修改狀態(tài),以及在另一個(gè)數(shù)據(jù)一級(jí)高速緩存(或存儲(chǔ)器)中的其余部分。在這種情況下,需要集合和組合所請(qǐng)求高速緩存行的所述各個(gè)部分。集合和組合所請(qǐng)求高速緩存行的所述各個(gè)部分的方法可以在多個(gè)高速緩存位置中執(zhí)行。在一個(gè)實(shí)施例中,請(qǐng)求方數(shù)據(jù)一級(jí)高速緩存可以自己集合和組合這些部分。這樣做能夠縮短請(qǐng)求處理的等待時(shí)間。
但是,在另一個(gè)實(shí)施例中,可以預(yù)期與狀態(tài)樹中多個(gè)不同節(jié)點(diǎn)相對(duì)應(yīng)的高速緩存行的部分的共享可以是相對(duì)少見的。因此,集合和組合請(qǐng)求方高速緩存行的所述各個(gè)部分的對(duì)應(yīng)需要也將是相對(duì)少見的。在這個(gè)實(shí)施例中,在二級(jí)高速緩存中進(jìn)行集合和組合,隨后將組合好的高速緩存行轉(zhuǎn)發(fā)給請(qǐng)求方一級(jí)數(shù)據(jù)高速緩存會(huì)更加簡(jiǎn)單。
為了在二級(jí)高速緩存中進(jìn)行集合和組合,可以使用CSHR 340。CSHR 340中的每個(gè)條目可以跟蹤特定的一級(jí)數(shù)據(jù)高速緩存請(qǐng)求??梢岳门c一級(jí)數(shù)據(jù)高速緩存請(qǐng)求相對(duì)應(yīng)的二級(jí)高速緩存行地址來對(duì)這些條目進(jìn)行索引。每個(gè)條目可以包括到來的一級(jí)數(shù)據(jù)高速緩存請(qǐng)求,其可以包括請(qǐng)求的以及請(qǐng)求了整個(gè)高速緩存行的特定部分(例如前半部分,第三個(gè)四分之一部分,等等)的高速緩存位置的長(zhǎng)度。每個(gè)條目可能已經(jīng)在一開始就儲(chǔ)存了二級(jí)高速緩存將向各個(gè)一級(jí)數(shù)據(jù)高速緩存發(fā)出的請(qǐng)求的數(shù)量。當(dāng)每個(gè)響應(yīng)到達(dá)的時(shí)候,可以讓這個(gè)數(shù)遞減。當(dāng)這個(gè)數(shù)達(dá)到0的時(shí)候,二級(jí)高速緩存就知道了已經(jīng)集合了所有部分,組合過程可以開始。
可以按照如下方式處理來自一級(jí)數(shù)據(jù)高速緩存之一的請(qǐng)求。當(dāng)二級(jí)高速緩存接收到請(qǐng)求時(shí),可以首先判斷這個(gè)請(qǐng)求是不是與擁有方一級(jí)數(shù)據(jù)高速緩存具有同樣的塊粒度。如果是這樣,則二級(jí)高速緩存就可以簡(jiǎn)單地轉(zhuǎn)發(fā)這個(gè)請(qǐng)求給擁有方一級(jí)數(shù)據(jù)高速緩存。但是,如果不是同樣的塊粒度,那么可以分配CSHR 340中的條目610??梢詫⒌絹淼囊患?jí)數(shù)據(jù)高速緩存請(qǐng)求放入請(qǐng)求字段612,將二級(jí)高速緩存會(huì)向各個(gè)一級(jí)數(shù)據(jù)高速緩存發(fā)出的請(qǐng)求的數(shù)量放入未完成響應(yīng)字段614的數(shù)量中去。于是,二級(jí)高速緩存可以向各個(gè)一級(jí)數(shù)據(jù)高速緩存發(fā)出請(qǐng)求,并且等待響應(yīng)到達(dá)。隨著每個(gè)響應(yīng)到達(dá)二級(jí)高速緩存,保存對(duì)應(yīng)的數(shù)據(jù),將未完成響應(yīng)字段614的數(shù)量減小。當(dāng)未完成響應(yīng)字段614的數(shù)量達(dá)到0的時(shí)候,二級(jí)高速緩存就知道已經(jīng)集合了所有部分。于是,二級(jí)高速緩存可以組合從一級(jí)數(shù)據(jù)高速緩存接收的數(shù)據(jù)。一旦組合起來,二級(jí)高速緩存就可以將組合好的高速緩存行轉(zhuǎn)發(fā)給原始發(fā)出請(qǐng)求的一級(jí)數(shù)據(jù)高速緩存。
下面參考圖7A和7B,其中顯示了根據(jù)本公開的兩個(gè)實(shí)施例的,具有多內(nèi)核處理器的系統(tǒng)的示意圖。圖7A的系統(tǒng)大概顯示了一個(gè)系統(tǒng),其中,處理器、存儲(chǔ)器和輸入/輸出設(shè)備由系統(tǒng)總線互連,而圖7B的系統(tǒng)則大概顯示了一個(gè)系統(tǒng),其中,處理器、存儲(chǔ)器和輸入/輸出設(shè)備由多個(gè)點(diǎn)到點(diǎn)接口互連。
圖7A系統(tǒng)可以包括一個(gè)或多個(gè)處理器,為了清楚起見,只顯示了其中的兩個(gè)處理器40、60。處理器40、60可以包括二級(jí)高速緩存42、62,其中每個(gè)處理器40、60可以包括多個(gè)內(nèi)核,每個(gè)內(nèi)核都有一個(gè)一級(jí)高速緩存。圖7A的系統(tǒng)可以有通過總線接口44、64、12、8與系統(tǒng)總線6連接的多個(gè)功能。在一個(gè)實(shí)施例中,系統(tǒng)總線6可以是因特爾公司制造的奔騰系列微處理器所使用的前端總線(FSB)。在其它實(shí)施例中,可以使用其它總線。在一些實(shí)施例中,可以將存儲(chǔ)器控制器34和總線橋32一起稱作芯片組。在一些實(shí)施例中,可以將芯片組的功能分配到不同于圖7A的實(shí)施例中所示的物理芯片中。
存儲(chǔ)器控制器34可以允許處理器40、60從系統(tǒng)存儲(chǔ)器10和基本輸入/輸出系統(tǒng)(BIOS)可擦除可編程只讀存儲(chǔ)器(EPROM)36讀、寫。在一些實(shí)施例中,BIOS EPROM 36可以使用閃存,也可以包括其它的基本操作固件來取代BIOS。存儲(chǔ)器控制器34可以包括總線接口8以允許通過系統(tǒng)總線6向總線代理(bus agent)以及從總線代理執(zhí)行存儲(chǔ)器讀、寫數(shù)據(jù)。存儲(chǔ)器控制器34還可以通過高性能圖形接口39與高性能圖形電路38連接。在特定的實(shí)施例中,高性能圖形接口39可以是高級(jí)圖形端口AGP接口。存儲(chǔ)器控制器34可以通過高性能圖形接口39將數(shù)據(jù)從系統(tǒng)存儲(chǔ)器10傳送到高性能圖形電路38。
圖7B的系統(tǒng)還可以包括一個(gè)或多個(gè)處理器,為了清楚,只顯示了其中兩個(gè)處理器70、80。處理器70、80可以包括二級(jí)高速緩存56、58,其中,每個(gè)處理器70、80可以包括多個(gè)內(nèi)核,每個(gè)內(nèi)核都有一級(jí)高速緩存。處理器70、80中每一個(gè)都可以包括要與存儲(chǔ)器2、4連接的本地存儲(chǔ)器控制器集線器(MCH)72、82。處理器70、80可以利用點(diǎn)到點(diǎn)接口電路78、88通過點(diǎn)到點(diǎn)接口50交換數(shù)據(jù)。處理器70、80可以各自利用點(diǎn)到點(diǎn)接口電路76、94、86、98通過各個(gè)點(diǎn)到點(diǎn)接口52、54與芯片組90交換數(shù)據(jù)。在其它實(shí)施例中,可以在處理器70、80中實(shí)現(xiàn)芯片組功能。芯片組90也可以通過高性能圖形接口92與高性能圖形電路38交換數(shù)據(jù)。
在圖7A的系統(tǒng)中,總線橋32可以允許在系統(tǒng)總線6和總線16之間交換數(shù)據(jù),在一些實(shí)施例中,其可以是工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)(ISA)總線或者外圍部件互聯(lián)(PCI)總線。在圖7B的系統(tǒng)中,芯片組90可以通過總線接口96與總線16交換數(shù)據(jù)。在這兩種系統(tǒng)中的任意一種里,在總線16上可以有各種輸入/輸出I/O設(shè)備14,在一些實(shí)施例中包括低性能圖形控制器、視頻控制器和網(wǎng)絡(luò)控制器。在一些實(shí)施例中,可以用另一個(gè)總線橋18在總線16和總線20之間交換數(shù)據(jù)。在一些實(shí)施例中,總線20可以是小型計(jì)算機(jī)系統(tǒng)接口(SCSI)總線、集成驅(qū)動(dòng)電子(IDE)總線或者通用串行總線(USB)總線。其它的I/O設(shè)備可以與總線20連接。這些設(shè)備包括鍵盤和鼠標(biāo)控制設(shè)備22,包括鼠標(biāo)器、音頻I/O 24、通信設(shè)備26,包括調(diào)制解調(diào)器和網(wǎng)絡(luò)接口,以及數(shù)據(jù)存儲(chǔ)設(shè)備28。可以將軟件代碼30儲(chǔ)存在數(shù)據(jù)存儲(chǔ)設(shè)備28上。在一些實(shí)施例中,數(shù)據(jù)存儲(chǔ)設(shè)備28可以是固定的磁盤、軟盤驅(qū)動(dòng)器、光盤驅(qū)動(dòng)器、磁光盤驅(qū)動(dòng)器、磁帶或者包括閃存的非易失性存儲(chǔ)器。
在前面的說明中,已經(jīng)參考本發(fā)明的具體示例性實(shí)施例描述了本發(fā)明。但是,很顯然,可以在不脫離所附權(quán)利要求限定的本發(fā)明的精神和范圍的情況下對(duì)它們進(jìn)行各種變形和改變。因此,應(yīng)把說明書和附圖看成是說明性的而不是限制性的。
權(quán)利要求
1.一種處理器,包括具有第一高速緩存的第一內(nèi)核,所述第一高速緩存包括第一長(zhǎng)度的第一組高速緩存位置以及第二長(zhǎng)度的第二組高速緩存位置;第二高速緩存,其在層次級(jí)別上比所述第一高速緩存更遠(yuǎn)離所述第一內(nèi)核,該第二高速緩存具有第三長(zhǎng)度的第三組高速緩存位置;以及執(zhí)行一致性操作的第一邏輯,用來在所述第三組高速緩存位置之一中保存第一高速緩存行的目錄條目,其中的字段對(duì)應(yīng)于所述第一高速緩存中的高速緩存行。
2.如權(quán)利要求1所述的處理器,其中,所述目錄條目包括一矢量,用于表示在所述第一組和所述第二組高速緩存位置中是否存在所述第一高速緩存行的多個(gè)部分。
3.如權(quán)利要求2所述的處理器,還包括具有第三高速緩存的第二內(nèi)核,所述第三高速緩存包括所述第一長(zhǎng)度的第四組高速緩存位置以及所述第二長(zhǎng)度的第五組高速緩存位置。
4.如權(quán)利要求3所述的處理器,其中,所述矢量還表示在所述第四組和所述第五組高速緩存位置中是否存在所述第一高速緩存行的多個(gè)部分。
5.如權(quán)利要求4所述的處理器,其中,當(dāng)所述第一高速緩存請(qǐng)求與狀態(tài)樹的第一節(jié)點(diǎn)相對(duì)應(yīng)的存儲(chǔ)器或高速緩存操作時(shí),所述第一邏輯根據(jù)所述矢量形成所述狀態(tài)樹。
6.如權(quán)利要求5所述的處理器,其中,當(dāng)所述第一節(jié)點(diǎn)已經(jīng)處于活動(dòng)狀態(tài)時(shí),所述第一邏輯將延遲所述一致性操作。
7.如權(quán)利要求5所述的處理器,其中,當(dāng)所述狀態(tài)樹中的所述第一節(jié)點(diǎn)的祖先節(jié)點(diǎn)已經(jīng)處于活動(dòng)狀態(tài)時(shí),所述第一邏輯將延遲所述一致性操作。
8.如權(quán)利要求5所述的處理器,其中,當(dāng)所述狀態(tài)樹中的所述第一節(jié)點(diǎn)的后代節(jié)點(diǎn)已經(jīng)處于活動(dòng)狀態(tài)時(shí),所述第一邏輯將延遲所述一致性操作。
9.如權(quán)利要求5所述的處理器,其中,所述第一邏輯將實(shí)現(xiàn)響應(yīng)于所述第一節(jié)點(diǎn)和第二節(jié)點(diǎn)的依賴性的、用于所述第一節(jié)點(diǎn)和所述第二節(jié)點(diǎn)的可允許狀態(tài)的規(guī)則。
10.如權(quán)利要求3所述的處理器,其中,所述第二高速緩存包括第一寄存器組,用于為所述第一組、第二組、第四組和第五組高速緩存位置中的所述第一高速緩存行的多個(gè)部分跟蹤對(duì)所述第一高速緩存和所述第三高速緩存的請(qǐng)求。
11.如權(quán)利要求10所述的處理器,其中,所述第二高速緩存包括第二邏輯,用于組合所述多個(gè)部分以集合所述部分中所述一個(gè)的當(dāng)前值。
12.一種方法,包括從一組第一級(jí)高速緩存中之一接收對(duì)存儲(chǔ)器或高速緩存操作的請(qǐng)求,所述一組第一級(jí)高速緩存中的每一個(gè)都包括第一長(zhǎng)度的高速緩存位置以及第二長(zhǎng)度的高速緩存位置;在第二級(jí)高速緩存中判斷,所述第一長(zhǎng)度的所述高速緩存位置和所述第二長(zhǎng)度的所述高速緩存位置中的哪一個(gè)包括與所述請(qǐng)求相對(duì)應(yīng)的所述第二級(jí)高速緩存的第一高速緩存行的多個(gè)部分;以及部分地基于所述判斷的結(jié)果延遲對(duì)所述存儲(chǔ)器或高速緩存操作的所述請(qǐng)求。
13.如權(quán)利要求12所述的方法,其中,所述判斷包括檢查目錄中的矢量。
14.如權(quán)利要求13所述的方法,其中,所述判斷還包括使用所述第二級(jí)高速緩存的邏輯,根據(jù)所述矢量構(gòu)造狀態(tài)樹。
15.如權(quán)利要求14所述的方法,其中,所述禁止包括,從與所述請(qǐng)求對(duì)應(yīng)的節(jié)點(diǎn)開始,將規(guī)則應(yīng)用于所述狀態(tài)樹中的祖先節(jié)點(diǎn)和后代節(jié)點(diǎn)。
16.如權(quán)利要求12所述的方法,還包括發(fā)送一組數(shù)據(jù)請(qǐng)求給所述一組第一級(jí)高速緩存中的選定的一些第一級(jí)高速緩存,在所述選定的一些第一級(jí)高速緩存中,所述判斷發(fā)現(xiàn)所述第一高速緩存行的多個(gè)部分。
17.如權(quán)利要求16所述的方法,還包括在寄存器中跟蹤所述數(shù)據(jù)請(qǐng)求,并且將所述多個(gè)部分集合到所述第一高速緩存行的當(dāng)前值中。
18.一種系統(tǒng),包括處理器,該處理器包括第一內(nèi)核、第二高速緩存以及執(zhí)行一致性操作的第一邏輯,所述第一內(nèi)核具有第一高速緩存,所述第一高速緩存包括第一長(zhǎng)度的第一組高速緩存位置以及第二長(zhǎng)度的第二組高速緩存位置,所述第二高速緩存在層次級(jí)別上比所述第一高速緩存更遠(yuǎn)離所述第一內(nèi)核,所述第二高速緩存具有第三長(zhǎng)度的第三組高速緩存位置,所述第一邏輯用于在所述第三組高速緩存位置之一中保存第一高速緩存行的目錄條目,其中的字段對(duì)應(yīng)于所述第一高速緩存中的高速緩存行;用于將所述處理器與輸入/輸出設(shè)備連接起來的互連;以及通過所述互連連接到所述處理器的網(wǎng)絡(luò)控制器。
19.如權(quán)利要求18所述的系統(tǒng),其中,所述目錄條目包括一矢量,用于表示在所述第一組和所述第二組高速緩存位置中是否存在所述第一高速緩存行的多個(gè)部分。
20.如權(quán)利要求19所述的系統(tǒng),還包括具有第三高速緩存的第二內(nèi)核,所述第三高速緩存包括所述第一長(zhǎng)度的第四組高速緩存位置以及所述第二長(zhǎng)度的第五組高速緩存位置。
21.如權(quán)利要求20所述的系統(tǒng),其中,所述矢量還表示在所述第四組和所述第五組高速緩存位置中是否存在所述第一高速緩存行的多個(gè)部分。
22.如權(quán)利要求21所述的系統(tǒng),其中,當(dāng)所述第一高速緩存請(qǐng)求與狀態(tài)樹的節(jié)點(diǎn)相對(duì)應(yīng)的一致性操作時(shí),所述第一邏輯根據(jù)所述矢量形成所述狀態(tài)樹。
23.如權(quán)利要求22所述的系統(tǒng),其中,當(dāng)所述節(jié)點(diǎn)已經(jīng)處于活動(dòng)狀態(tài)時(shí),所述第一邏輯將延遲所述一致性操作。
24.如權(quán)利要求23所述的系統(tǒng),其中,當(dāng)所述狀態(tài)樹中的所述節(jié)點(diǎn)的祖先節(jié)點(diǎn)已經(jīng)處于活動(dòng)狀態(tài)時(shí),所述第一邏輯將延遲所述一致性操作。
25.如權(quán)利要求24所述的系統(tǒng),其中,當(dāng)所述狀態(tài)樹中的所述節(jié)點(diǎn)的后代節(jié)點(diǎn)已經(jīng)處于活動(dòng)狀態(tài)時(shí),所述第一邏輯將延遲所述一致性操作。
26.一種裝置,包括接收裝置,用于從一組第一級(jí)高速緩存之一接收對(duì)存儲(chǔ)器或高速緩存操作的請(qǐng)求,所述一組第一級(jí)高速緩存中的每一個(gè)都包括第一長(zhǎng)度的高速緩存位置以及第二長(zhǎng)度的高速緩存位置;判斷裝置,用于在第二級(jí)高速緩存中判斷,所述第一長(zhǎng)度的所述高速緩存位置和所述第二長(zhǎng)度的所述高速緩存位置中的哪一個(gè)包括與所述請(qǐng)求相對(duì)應(yīng)的所述第二級(jí)高速緩存的第一高速緩存行的多個(gè)部分;以及延遲裝置,用于部分地基于由所述判斷裝置產(chǎn)生的結(jié)果來延遲對(duì)所述存儲(chǔ)器或高速緩存操作的所述請(qǐng)求。
27.如權(quán)利要求26所述的裝置,其中,所述判斷裝置包括用于檢查目錄中的矢量的裝置。
28.如權(quán)利要求27所述的裝置,其中,所述判斷裝置還包括用于使用所述第二級(jí)高速緩存的邏輯,根據(jù)所述矢量構(gòu)造狀態(tài)樹的裝置。
29.如權(quán)利要求28所述的裝置,其中,所述禁止裝置包括用于從與所述請(qǐng)求對(duì)應(yīng)的節(jié)點(diǎn)開始,將規(guī)則應(yīng)用于所述狀態(tài)樹中的祖先節(jié)點(diǎn)和后代節(jié)點(diǎn)的裝置。
30.如權(quán)利要求26所述的裝置,還包括用于發(fā)送一組數(shù)據(jù)請(qǐng)求給所述一組第一級(jí)高速緩存中的選定的一些第一級(jí)高速緩存的裝置,其中,在所述選定的一些第一級(jí)高速緩存中,所述判斷裝置發(fā)現(xiàn)所述第一高速緩存行的多個(gè)部分。
31.如權(quán)利要求30所述的裝置,還包括用于在寄存器中跟蹤所述數(shù)據(jù)請(qǐng)求的裝置,以及用于將所述多個(gè)部分集合到所述第一高速緩存行的當(dāng)前值中的裝置。
全文摘要
公開了在一級(jí)高速緩存中具有不同高速緩存位置長(zhǎng)度的高速緩存系統(tǒng)的設(shè)計(jì)和操作的系統(tǒng)和方法。在一個(gè)實(shí)施例中,每個(gè)一級(jí)高速緩存可以包括不同長(zhǎng)度的高速緩存位置組,它們能夠保存二級(jí)高速緩存行的位置??梢詮墓蚕硎噶恐械臄?shù)據(jù)產(chǎn)生狀態(tài)樹。當(dāng)請(qǐng)求從一級(jí)高速緩存到達(dá)的時(shí)候,二級(jí)高速緩存可以檢查狀態(tài)數(shù)的節(jié)點(diǎn)來判斷與進(jìn)來的請(qǐng)求相對(duì)應(yīng)的狀態(tài)樹的節(jié)點(diǎn)是否已經(jīng)是活動(dòng)的。可以將這個(gè)判斷的結(jié)果用于禁止或允許請(qǐng)求的同時(shí)處理。
文檔編號(hào)G06F12/08GK101088074SQ200580044885
公開日2007年12月12日 申請(qǐng)日期2005年12月27日 優(yōu)先權(quán)日2004年12月27日
發(fā)明者Y·陳, C·休斯, J·塔克三世 申請(qǐng)人:英特爾公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1