国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      多核系統(tǒng)中處理請求的數(shù)據(jù)處理方法、設(shè)備和系統(tǒng)的制作方法

      文檔序號:6583135閱讀:136來源:國知局
      專利名稱:多核系統(tǒng)中處理請求的數(shù)據(jù)處理方法、設(shè)備和系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及計算機系統(tǒng)中的數(shù)據(jù)處理領(lǐng)域,尤其涉及多核系統(tǒng)中處理請求的數(shù)據(jù) 處理方法、設(shè)備和系統(tǒng)。
      背景技術(shù)
      隨著多核系統(tǒng)(也稱為單芯片多處理器,Chip-Multi-Processor (CMP))逐漸成為 當(dāng)今計算機系統(tǒng)的主流以及虛擬化的不斷發(fā)展,對于L2高速緩存級的設(shè)計也相應(yīng)地不斷 發(fā)展。多核系統(tǒng)的典型結(jié)構(gòu)如圖1所示。在多核系統(tǒng)中,處理器上的每個核都將具有專用 的Ll高速緩存(其在圖1中未示出),以用于保持某些數(shù)據(jù)。而多個核可以共享一個L2高 速緩存,然后多個L2高速緩存130A、130B、130C和130D形成高速緩存一致性系統(tǒng)。也即是 說,在目前的計算機系統(tǒng)中,存在一種高速緩存一致性機制。在管理器140的控制下,該高 速緩存一致性機制本質(zhì)上被用于幫助系統(tǒng)保持數(shù)據(jù)的整體性,這意味著如果數(shù)據(jù)塊的一個 以上的備份同時位于一個以上的Ll和L2高速緩存中,則一致性機制可以保證在每個時刻 所有備份的值都是完全相同的。高速緩存一致性機制的過程可以描述如下首先,例如L2高速緩存130B上的一個核1想要載入數(shù)據(jù)塊,并且它在其專用的Ll 高速緩存A (未示出)中尋找該數(shù)據(jù)塊。然后,如果在專用的Ll或L2高速緩存130B中發(fā)現(xiàn) 該數(shù)據(jù)塊的備份,則該數(shù)據(jù)載入過程結(jié)束,并且將不調(diào)用一致性過程。然而,如果在專用的 Ll或L2高速緩存130B中都沒有發(fā)現(xiàn)該數(shù)據(jù)塊的備份,則將要調(diào)用一致性過程。對于該數(shù)據(jù) 塊的請求將由L2高速緩存130B發(fā)送給所有其他的L2高速緩存130A、130C和130D。接下 來,L2高速緩存130A、130C和130D將在它們自己的陣列中搜索被請求的數(shù)據(jù)塊。如果它們 中的一個高速緩存找到一個備份,那么發(fā)現(xiàn)該備份的該高速緩存將發(fā)送一個確認消息給L2 高速緩存130B。并且同時,發(fā)現(xiàn)該備份的該高速緩存將去掉它自己的數(shù)據(jù)備份以確保所有 高速緩存中的該數(shù)據(jù)塊的值是一個值。而如果所有其他的L2高速緩存130A、130C和130D 沒有發(fā)現(xiàn)該數(shù)據(jù)塊的備份,則內(nèi)存將發(fā)送該數(shù)據(jù)給L2高速緩存130B。總之,高速緩存一致 性機制目的在于使所有的L2高速緩存之間的數(shù)據(jù)備份完全相同,從而實現(xiàn)數(shù)據(jù)的一致性。因此,在現(xiàn)有的具有高速緩存一致性機制的多核系統(tǒng)中,當(dāng)對于數(shù)據(jù)的請求出現(xiàn) 時,就需要去訪問所有的L2高速緩存,從而將導(dǎo)致消耗相當(dāng)多的功率。實際上,在絕大多數(shù) 情況下,對于數(shù)據(jù)的請求是無法在除了發(fā)出所述數(shù)據(jù)請求的L2高速緩存之外的其他L2高 速緩存中找到的,所以現(xiàn)有系統(tǒng)中基于所述請求在所有其他L2高速緩存中尋找所述數(shù)據(jù) 的過程是不必要的。這樣的搜索過程會浪費大約百分之三十到四十的L2高速緩存的功率?,F(xiàn)有技術(shù)中存在一些減少上述問題的方案。其中的一個解決方案是基于hash表 的方案。該解決方案使用hash表來對運行于一個L2高速緩存上的所有邏輯分區(qū)的邏輯分 區(qū)ID(LPID)進行編碼以及記錄。當(dāng)接收到數(shù)據(jù)請求時,則附在所述數(shù)據(jù)請求上的LPID通 過hash函數(shù)而被提取并映射到一個值。然后將值與hash表中記錄的所有條目進行比較。 然而,由于hash表的固有實質(zhì)性缺陷,所以這樣的過濾不能達到精確的映射以及映射,并且誤判率太高,因而降低了功率節(jié)省。另一種解決方案是基于數(shù)據(jù)訪問的歷史紀錄。該解 決方案使用歷史紀錄表來保持數(shù)據(jù)訪問的記錄。然而,通過該方案獲得的過濾比很大程度 上取決于歷史紀錄表的大小。過濾的請求越多,則表的大小應(yīng)當(dāng)越大。因而很容易看到大 尺寸的歷史紀錄表本身就將花費硬模尺寸以及功率消耗。因此,為了減少功率消耗,需要一 種能夠減少甚至消除上述不必要的無結(jié)果的對L2高速緩存的搜索過程的系統(tǒng)和方法。

      發(fā)明內(nèi)容
      為了實現(xiàn)處理器的高處理速度以及高速緩存的低功率消耗的目的,一種實際的方 法就是過濾向高速緩存發(fā)出的對于數(shù)據(jù)的請求,以消除對于高速緩存的不必要的搜索。本 發(fā)明的目的是提出一種在高速緩存中利用過濾機制來實現(xiàn)上述目的的方法、設(shè)備和系統(tǒng)。本發(fā)明的目的是提供一種用于基于流水級的數(shù)據(jù)處理方法、設(shè)備和系統(tǒng)。根據(jù)本發(fā)明的一方面,提供了一種在多核系統(tǒng)中處理請求的方法,包括以下步驟: 由過濾器從請求單元接收關(guān)于數(shù)據(jù)的請求;將所述請求中表示邏輯分區(qū)的指示符與過濾器 的記錄中表示邏輯分區(qū)的指示符進行比較;如果比較結(jié)果匹配,則基于所述請求在所述過 濾器所處的單元中進行搜索,并將搜索結(jié)果返回所述請求單元;以及如果比較結(jié)果不匹配, 則從所述過濾器向所述請求單元返回否定響應(yīng)。根據(jù)本發(fā)明的另一方面,提供一種在多核系統(tǒng)中處理請求的設(shè)備,包括過濾器, 被配置用于從發(fā)出請求的單元接收關(guān)于數(shù)據(jù)的請求,并將所述請求中表示邏輯分區(qū)的指示 符與過濾器的記錄中表示邏輯分區(qū)的指示符進行比較;其中,所述過濾器還被配置用于 如果比較結(jié)果匹配,則基于所述請求在所述過濾器所處的單元中進行搜索,并將搜索結(jié)果 返回所述發(fā)出請求的單元;以及如果比較結(jié)果不匹配,則向所述發(fā)出請求的單元返回否定 響應(yīng)。根據(jù)本發(fā)明的又一方面,提供一種多核系統(tǒng),包括第一高速緩存,以及一個或多 個第二高速緩存。其中,所述第一高速緩存被配置用于向所述一個或多個第二高速緩存發(fā) 出關(guān)于數(shù)據(jù)的請求;所述一個或多個第二高速緩存的每一個包括過濾器,其被配置用于接 收所述請求,并將所述請求中表示邏輯分區(qū)的指示符與過濾器的記錄中表示邏輯分區(qū)的指 示符進行比較;其中,所述過濾器還被配置用于如果比較結(jié)果匹配,則基于所述請求在所 述第一高速緩存中進行搜索,并將搜索結(jié)果返回所述一個或多個第二高速緩存;以及如果 比較結(jié)果不匹配,則從所述過濾器向所述一個或多個第二高速緩存返回否定響應(yīng)。


      通過以下結(jié)合附圖的說明,并且隨著對本發(fā)明的更全面了解,本發(fā)明的其它目的 和效果將變得更加清楚和易于理解,其中圖1是具有高速緩存一致性機制的多核系統(tǒng);圖2是根據(jù)本發(fā)明對于數(shù)據(jù)的請求的處理設(shè)備;圖3是根據(jù)本發(fā)明對于數(shù)據(jù)的請求的處理方法的流程圖;圖4是根據(jù)本發(fā)明一個示例性實施例的對于數(shù)據(jù)的請求的處理設(shè)備的具體配置;圖5是根據(jù)本發(fā)明一個示例性實施例的對于數(shù)據(jù)的請求的處理方法的流程圖;圖6是根據(jù)本發(fā)明另一個示例性實施例的對于數(shù)據(jù)的請求的處理設(shè)備的具體配置;圖7是根據(jù)本發(fā)明另一個示例性實施例的對于數(shù)據(jù)的請求的處理方法的流程圖;圖8是本發(fā)明可以實施于其中的多核系統(tǒng)的結(jié)構(gòu)示意圖。
      具體實施例方式圖2是示出根據(jù)本發(fā)明實施例的在多核系統(tǒng)中的數(shù)據(jù)處理系統(tǒng)200。如圖2所示, 該系統(tǒng)200包括請求單元202,被配置用于發(fā)出對于數(shù)據(jù)的請求;以及過濾器201-1,用 于從請求單元202接收關(guān)于數(shù)據(jù)的請求,并將所述請求中表示邏輯分區(qū)的指示符與過濾器 201-1的記錄中表示邏輯分區(qū)的指示符進行比較。優(yōu)選地,請求單元202在發(fā)出對于數(shù)據(jù)的請求之前,在其自身具有的邏輯分區(qū)中 進行數(shù)據(jù)搜索,在沒有搜索到所需要的數(shù)據(jù)后,請求單元202向其他單元(例如單元203、 204,206)發(fā)出數(shù)據(jù)請求。其中,所述請求單元以及其他單元之間可以存在一致性機制。所述過濾器201-1還被配置用于如果比較結(jié)果匹配,則基于所述請求在所述過 濾器201-1所處的單元206中進行搜索,并將搜索結(jié)果返回所述發(fā)出請求的請求單元202 ; 以及如果比較結(jié)果不匹配,則從所述過濾器201-1向所述發(fā)出請求的單元202直接返回否 定響應(yīng)。這樣,在比較結(jié)果不匹配的情況下,就不用訪問單元206,從而減少了多核系統(tǒng)中的 數(shù)據(jù)訪問,以降低功率消耗。請求單元202的結(jié)構(gòu)可以與單元206的結(jié)構(gòu)相同。另外,還可以存在一個或多個 結(jié)構(gòu)類似的單元203、204等。所述請求單元202和所述單元206是高速緩存。優(yōu)選地,高 速緩存可以是L2高速緩存。請求單元202的結(jié)構(gòu)可以與單元206的結(jié)構(gòu)相同。優(yōu)選地,所 述請求單元202也可以包括一個過濾器201-4。更優(yōu)選地,單元203和204也可以分別包括 過濾器201-2和201-3。此外,基于邏輯分區(qū)移入或移出所述過濾器所處的所述單元206,過濾器201-1的 所述記錄中表示邏輯分區(qū)的所述指示符進行動態(tài)更新。優(yōu)選地,所述動態(tài)更新過程可以在 與圖1中的管理器140相類似的管理器(未示出)的控制下實施。如圖2所示的本發(fā)明的系統(tǒng)200還可以包括其它的組件,例如總線、其他層級等 等,為了不模糊本發(fā)明,其它此類組件的描述被省略。本發(fā)明的方法流程圖如圖3所示。圖3是示出根據(jù)本發(fā)明實施例的在高速緩存中 的數(shù)據(jù)處理方法流程圖。在步驟301處,由過濾器從請求單元接收關(guān)于數(shù)據(jù)的請求,在步驟 302,將所述請求中表示邏輯分區(qū)的指示符與過濾器的記錄中表示邏輯分區(qū)的指示符進行 比較。如果比較結(jié)果匹配,則處理繼續(xù)到步驟303,在此處基于所述請求在過濾器所處的單 元中進行搜索,并將搜索結(jié)果返回所述請求單元。如果比較結(jié)果不匹配,則處理繼續(xù)到步驟 304,在此處從所述過濾器向所述請求單元返回否定響應(yīng)。圖4是根據(jù)本發(fā)明一個示例性實施例的對于數(shù)據(jù)的請求的處理設(shè)備的具體配置。如圖4所示,優(yōu)選地,該系統(tǒng)400包括請求單元402,被配置用于發(fā)出對于數(shù)據(jù)的 請求,其中關(guān)于數(shù)據(jù)的請求中附有邏輯分區(qū)ID;以及過濾器401-1,用于從請求單元402接 收關(guān)于數(shù)據(jù)的請求,并且所述過濾器401-1包括寄存器405,在所述寄存器405中保持有一 個記錄,所述記錄具有表示邏輯分區(qū)的指示符。寄存器405中的記錄與多個邏輯分區(qū)相關(guān) 聯(lián),其中多個邏輯分區(qū)中的一些邏輯分區(qū)位于過濾器401-1所處的單元406中,并且多個邏輯分區(qū)分別具有各自的邏輯分區(qū)ID。邏輯分區(qū)的數(shù)目可以是任意的,或者按照需要來確定。優(yōu)選地,過濾器401-1中的記錄與多核系統(tǒng)中的多個邏輯分區(qū)分別的邏輯分區(qū)ID 相關(guān)聯(lián),并且在記錄中的表示邏輯分區(qū)的指示符中用一個比特來代表一個邏輯分區(qū)或者邏 輯分區(qū)ID。如果一個邏輯分區(qū)位于過濾器401-1所處的單元406中,則該過濾器401-1的 記錄中表示邏輯分區(qū)的指示符中與該邏輯分區(qū)(或者該邏輯分區(qū)ID)相關(guān)聯(lián)的比特位置被 設(shè)置為一;如果一個邏輯分區(qū)沒有位于過濾器401-1所處的單元406中,則該過濾器401-1 的記錄中表示邏輯分區(qū)的指示符中與該邏輯分區(qū)(或者該邏輯分區(qū)ID)相關(guān)聯(lián)的比特位置 被設(shè)置為零。所述過濾器401-1還被配置用于將所述請求中所附的邏輯分區(qū)ID分離出來并且 進行移位,以形成掩碼。其中移位可以是左移或者右移。掩碼的比特寬度與過濾器401-1 中的記錄的比特寬度相同。在掩碼中,表示所述請求中分離出來的所述邏輯分區(qū)ID的比特 被設(shè)置為“1”,所有其余比特設(shè)置為零;如果一個邏輯分區(qū)位于所述過濾器401-1所處的所 述單元406上,則所述記錄中表示邏輯分區(qū)的指示符的相應(yīng)比特被設(shè)置為“1”。具體而言, 掩碼中包括多個比特,其中例如表示分離出來的邏輯分區(qū)ID的是第二比特,則就將此第二 比特設(shè)置為“1”。對于過濾器401-1中的記錄而言,如果所述請求中分離出來的所述邏輯分 區(qū)ID所表示的邏輯分區(qū)位于單元406上,則所述記錄中的第二比特也被設(shè)置為“ 1 ”,以表示 該邏輯分區(qū)位于單元406上。所述過濾器401-1還被配置用于將比特寬度相同的所述掩碼與所述記錄中表示 邏輯分區(qū)的指示符進行“與”操作。如果“與”操作的結(jié)果為非零,則表示匹配,然后基于所 述請求在所述過濾器401-1所處的單元406中進行搜索,并將搜索結(jié)果返回所述發(fā)出請求 的請求單元402。如果“與”操作的結(jié)果為零,則表示不匹配,然后將從所述過濾器401-1向 所述發(fā)出請求的單元402直接返回否定響應(yīng)而不會對單元406進行搜索,從而減少了數(shù)據(jù) 訪問以達到降低功率消耗的目的。在該示例性實施例中,例如兩個邏輯分區(qū)位于單元406中,因此過濾器401-1的記 錄中表示邏輯分區(qū)的指示符中與這兩個邏輯分區(qū)相對應(yīng)的比特位置被設(shè)置為一,而與其他 邏輯分區(qū)相對應(yīng)的比特位置被設(shè)置為零。其中,所述請求單元402和所述單元406是高速 緩存。所述高速緩存可以是L2高速緩存。請求單元402的結(jié)構(gòu)可以與單元406的結(jié)構(gòu)相 同。此外,基于邏輯分區(qū)移入或移出所述過濾器所處的所述單元406,過濾器401的所 述記錄中表示邏輯分區(qū)的所述指示符進行動態(tài)更新。優(yōu)選地,所述動態(tài)更新過程可以在與 圖1中的管理器140相類似的管理器(未示出)的控制下實施。另外,還可以存在多個結(jié)構(gòu)類似的單元403、404等。優(yōu)選地,請求單元402、單元 403,404也可以分別具有過濾器401-4、401-2和401-3。如圖4所示的本發(fā)明的系統(tǒng)400 還可以包括其它的單元,例如總線、其他層級等等,為了不模糊本發(fā)明,其它此類組件的描 述被省略。本發(fā)明的一個示例性實施例的方法流程圖如圖5所示。圖5是根據(jù)本發(fā)明一個示 例性實施例的對于數(shù)據(jù)的請求的處理方法的流程圖。在步驟501處,請求單元發(fā)出關(guān)于數(shù) 據(jù)的請求。該請求包括邏輯分區(qū)ID。在步驟502,由過濾器接收關(guān)于數(shù)據(jù)的請求,并且所述 過濾器中保持有與多個邏輯分區(qū)相關(guān)聯(lián)的記錄,所述記錄具有表示邏輯分區(qū)的指示符。多個邏輯分區(qū)分別具有各自的邏輯分區(qū)ID。邏輯分區(qū)的數(shù)目可以是任意的,或者按照需要來確定。優(yōu)選地,過濾器中的記錄與多核系統(tǒng)中的多個邏輯分區(qū)分別的邏輯分區(qū)ID相關(guān) 聯(lián),并且在記錄中的表示邏輯分區(qū)的指示符中用一個比特來代表一個邏輯分區(qū)或者邏輯分 區(qū)ID。如果一個邏輯分區(qū)位于過濾器所處的單元中,則該過濾器的記錄中表示邏輯分區(qū)的 指示符中與該邏輯分區(qū)(或該邏輯分區(qū)ID)相關(guān)聯(lián)的比特位置被設(shè)置為一;如果一個邏輯 分區(qū)沒有位于過濾器所處的單元中,則該過濾器的記錄中表示邏輯分區(qū)的指示符中與該邏 輯分區(qū)(或該邏輯分區(qū)ID)相關(guān)聯(lián)的比特位置被設(shè)置為零。在步驟503,將所述請求中所附的邏輯分區(qū)ID分離出來并且移位,以形成掩碼。其 中移位可以是左移或者右移。掩碼的比特寬度與過濾器的記錄中表示邏輯分區(qū)的指示符 的比特寬度相同。具體而言,掩碼中包括多個比特,其中例如表示分離出來的邏輯分區(qū)ID 的是第二比特,則就將此第二比特設(shè)置為“1”。對于過濾器401-1中的記錄而言,如果所述 請求中分離出來的所述邏輯分區(qū)ID所表示的邏輯分區(qū)位于過濾器所處的單元上,則所述 記錄中的第二比特也被設(shè)置為“1”,以表示該邏輯分區(qū)位于所述單元上。在步驟504,過濾 器將比特寬度相同的所述掩碼與所述記錄中表示邏輯分區(qū)的指示符進行“與”操作以查看 “與”操作的結(jié)果是否為非零。如果“與”操作的結(jié)果為非零,則表示匹配,然后在步驟505 基于所述請求在所述過濾器所處的單元中進行搜索,并將搜索結(jié)果返回所述發(fā)出請求的請 求單元。如果“與”操作的結(jié)果為零,則表示不匹配,然后在步驟506從所述過濾器向所述 發(fā)出請求的單元直接返回否定響應(yīng)而不會進行搜索,從而減少了數(shù)據(jù)訪問以達到降低功率 消耗的目的。圖6是根據(jù)本發(fā)明另一個示例性實施例的對于數(shù)據(jù)的請求的處理設(shè)備的具體配置。如圖6所示,優(yōu)選地,該系統(tǒng)600包括請求單元602,被配置用于發(fā)出對于數(shù)據(jù)的 請求,其中關(guān)于數(shù)據(jù)的請求中附有邏輯分區(qū)ID;以及過濾器601-1,用于從請求單元602接 收關(guān)于數(shù)據(jù)的請求,并且所述過濾器601-1包括寄存器組605,在所述過濾器601-1的所述 寄存器組605的各個寄存器中分別保持有一個記錄,所述記錄與多個邏輯分區(qū)相關(guān)聯(lián),其 中所述多個邏輯分區(qū)位于過濾器601-1所處的單元606中,并且所述多個邏輯分區(qū)分別具 有各自的邏輯分區(qū)ID。所述記錄具有表示邏輯分區(qū)的指示符。邏輯分區(qū)的數(shù)目可以是任意 的,或者按照需要來確定。優(yōu)選地,寄存器組605中各個寄存器(寄存器1,寄存器2,...,寄存器η)的記錄 與單元606中的多個邏輯分區(qū)分別的邏輯分區(qū)ID相關(guān)聯(lián),并且記錄中表示邏輯分區(qū)的指示 符是每個邏輯分區(qū)的邏輯分區(qū)ID。所述過濾器601還被配置用于將所述請求中所附的邏輯分區(qū)ID分離出來,并且 將分離出來的邏輯分區(qū)ID與所述記錄中的每一個邏輯分區(qū)ID進行比較,并將每個比較結(jié) 果進行“或”操作。如果“或”操作的結(jié)果為非零,則表示匹配,然后基于所述請求在所述過 濾器601-1所處的單元606中進行搜索,并將搜索結(jié)果返回所述發(fā)出請求的請求單元602。 如果“或”操作的結(jié)果為零,則表示不匹配,然后將從所述過濾器601-1向所述發(fā)出請求的 單元602直接返回否定響應(yīng)而不會對單元606進行搜索,從而減少了數(shù)據(jù)訪問以達到降低 功率消耗的目的。其中,所述請求單元602和所述單元606是高速緩存。優(yōu)選地,高速緩存可以是L2高速緩存。請求單元602的結(jié)構(gòu)可以與單元606的結(jié)構(gòu)相同。優(yōu)選地,所述請求 單元602也可以包括一個過濾器。此外,基于邏輯分區(qū)移入或移出所述過濾器所處的所述單元606,過濾器601的所 述記錄中表示邏輯分區(qū)的所述指示符進行動態(tài)更新。優(yōu)選地,所述動態(tài)更新過程可以在與 圖1中的管理器140相類似的管理器(未示出)的控制下實施。另外,還可以存在多個結(jié)構(gòu)類似的單元603、604等。優(yōu)選地,請求單元602、單元 603,604也可以分別具有過濾器601-4、601-2和601-3。如圖6所示的本發(fā)明的系統(tǒng)600 還可以包括其它的單元,例如總線601、其他層級等等,為了不模糊本發(fā)明,其它此類組件的 描述被省略。本發(fā)明的另一個示例性實施例的方法流程圖如圖7所示。圖7是根據(jù)本發(fā)明另一 個示例性實施例的對于數(shù)據(jù)的請求的處理方法的流程圖。在步驟701處,請求單元發(fā)出關(guān) 于數(shù)據(jù)的請求。該請求包括邏輯分區(qū)ID。在步驟702,由過濾器接收關(guān)于數(shù)據(jù)的請求,并且 所述過濾器中保持有與多個邏輯分區(qū)相關(guān)聯(lián)的記錄,也即,記錄中具有表示邏輯分區(qū)的指 示符,并且多個邏輯分區(qū)分別具有各自的邏輯分區(qū)ID。邏輯分區(qū)的數(shù)目可以是任意的,或者 按照需要來確定。優(yōu)選地,過濾器中的記錄與多個邏輯分區(qū)分別的邏輯分區(qū)ID相關(guān)聯(lián),并且記錄中 表示邏輯分區(qū)的指示符是每個邏輯分區(qū)的邏輯分區(qū)ID。在步驟703,將所述請求中所附的 邏輯分區(qū)ID分離出來,并且將分離出來的邏輯分區(qū)ID與所述記錄中的每一個邏輯分區(qū)ID 進行比較。在步驟704,將所有比較結(jié)果進行“或”操作以查看“或”操作的結(jié)果是否為非零。 如果“或”操作的結(jié)果為非零,則表示匹配,然后在步驟705基于所述請求在所述過濾器所 處的單元中進行搜索,并將搜索結(jié)果返回所述發(fā)出請求的請求單元。如果“或”操作的結(jié)果 為零,則表示不匹配,然后在步驟706將從所述過濾器向所述發(fā)出請求的單元直接返回否 定響應(yīng)而不會對單元進行搜索,從而減少了數(shù)據(jù)訪問以達到降低功率消耗的目的??梢钥闯?,本發(fā)明的實施方式不局限于此。在本發(fā)明的過濾器中,可以采用任何能 夠判斷請求中表示邏輯分區(qū)的指示符是否與高速緩存中所保存的表示邏輯分區(qū)的指示符 相匹配的方式,而并不局限于本發(fā)明的所具體給出的上述兩種操作方式。圖8是本發(fā)明可以實施于其中的多核系統(tǒng)800的結(jié)構(gòu)示意圖。多核系統(tǒng)800包 括諸如L2高速緩存830A之類的第一高速緩存,以及諸如L2高速緩存830B、830C和830D 之類的一個或多個第二高速緩存。其中,所述第一高速緩存被配置用于向所述一個或多個 第二高速緩存發(fā)出關(guān)于數(shù)據(jù)的請求。所述一個或多個第二高速緩存的每一個包括過濾器 (例如,過濾器801B、801C和801D),其被配置用于接收所述請求,并將所述請求中表示邏輯 分區(qū)的指示符與過濾器的記錄中表示邏輯分區(qū)的指示符進行比較。所述過濾器還被配置用 于如果比較結(jié)果匹配,則基于所述請求在所述第一高速緩存中進行搜索,并將搜索結(jié)果返 回所述一個或多個第二高速緩存。如果比較結(jié)果不匹配,則從所述過濾器向所述一個或多 個第二高速緩存返回否定響應(yīng)。更優(yōu)選地,多核系統(tǒng)800包括內(nèi)存810,總線820,多個L2高速緩存830A、830B、 830C和830D,管理器840,以及多個應(yīng)用850。其中,多個L2高速緩存830A、830B、830C和 830D的每一個都包括一個或多個邏輯分區(qū)以及過濾器801A、801B、801C和801D。當(dāng)從其中 一個L2高速緩存830A向其他L2高速緩存830B、830C和830D發(fā)出對于數(shù)據(jù)的請求時,該對于數(shù)據(jù)的請求通過系統(tǒng)總線820傳送到L2高速緩存830B、830C和830D。在L2高速緩存830B、830C和830D中,對于數(shù)據(jù)的請求首先在過濾器處進行處理。 具體而言,例如,當(dāng)對于數(shù)據(jù)的請求到達L2高速緩存830B的過濾器801B時,過濾器801B 將該請求中表示邏輯分區(qū)的指示符與過濾器801B中所保存的記錄中表示邏輯分區(qū)的指示 符進行比較。當(dāng)比較結(jié)果匹配時,則基于所述請求在L2高速緩存830B中進行搜索,并將搜 索結(jié)果返回發(fā)出該請求的L2高速緩存830A。當(dāng)比較結(jié)果不匹配,則從所述過濾器801B直 接向L2高速緩存830A返回否定響應(yīng)。同樣,在L2高速緩存830C和830D中也進行類似的 操作。通過這樣的過濾機制,可以避免無結(jié)果的數(shù)據(jù)訪問操作,從而可以降低L2高速緩存 中的功率消耗,提高處理系統(tǒng)的功率效率。應(yīng)當(dāng)注意,為了使本發(fā)明更容易理解,上面的描述省略了對于本領(lǐng)域的技術(shù)人員 來說是公知的、并且對于本發(fā)明的實現(xiàn)可能是必需的更具體的一些技術(shù)細節(jié)。提供本發(fā)明的說明書的目的是為了說明和描述,而不是用來窮舉或?qū)⒈景l(fā)明限制 為所公開的形式。對本領(lǐng)域的普通技術(shù)人員而言,許多修改和變更都是顯而易見的。因此,選擇并描述實施方式是為了更好地解釋本發(fā)明的原理及其實際應(yīng)用,并使 本領(lǐng)域普通技術(shù)人員明白,在不脫離本發(fā)明實質(zhì)的前提下,所有修改和變更均落入由權(quán)利 要求所限定的本發(fā)明的保護范圍之內(nèi)。10
      權(quán)利要求
      1.一種在多核系統(tǒng)中處理請求的方法,包括以下步驟由過濾器從請求單元接收關(guān)于數(shù)據(jù)的請求;將所述請求中表示邏輯分區(qū)的指示符與過濾器的記錄中表示邏輯分區(qū)的指示符進行 比較;如果比較結(jié)果匹配,則基于所述請求在所述過濾器所處的單元中進行搜索,并將搜索 結(jié)果返回所述請求單元;以及如果比較結(jié)果不匹配,則從所述過濾器向所述請求單元返回否定響應(yīng)。
      2.根據(jù)權(quán)利要求1所述的方法,其中所述請求中表示邏輯分區(qū)的所述指示符是一個 或多個邏輯分區(qū)ID,所述記錄中表示邏輯分區(qū)的所述指示符指示所述過濾器所處的所述單 元中的一個或多個邏輯分區(qū)ID。
      3.根據(jù)權(quán)利要求2所述的方法,其中將所述請求中的所述一個或多個邏輯分區(qū)ID從 所述請求中分離出來并移位以生成掩碼,其中所述掩碼的比特寬度與所述記錄中表示邏輯 分區(qū)的所述指示符的比特寬度相同。
      4.根據(jù)權(quán)利要求3所述的方法,其中掩碼中表示所述請求中分離出來的所述邏輯分 區(qū)ID的比特被設(shè)置為“1”,所有其余比特設(shè)置為零;如果一個邏輯分區(qū)位于所述過濾器所 處的所述單元上,則所述記錄中表示邏輯分區(qū)的指示符的相應(yīng)比特被設(shè)置為“ 1”。
      5.根據(jù)權(quán)利要求3或4所述的方法,其中所述匹配步驟包括比特寬度相同的所述掩 碼與所述記錄中表示邏輯分區(qū)的所述指示符進行“與”操作,結(jié)果為非零,則表示匹配;結(jié)果 為零,則表示不匹配。
      6.根據(jù)權(quán)利要求2所述的方法,其中將從所述請求中分離出來的所述一個或多個邏 輯分區(qū)ID分別與所述記錄中的所有邏輯分區(qū)ID相比較并將所有比較結(jié)果進行“或”操作, 結(jié)果為非零,則表示匹配;結(jié)果為零,則表示不匹配。
      7.根據(jù)權(quán)利要求1-6任一項所述的方法,其中基于邏輯分區(qū)移入或移出所述過濾器 所處的所述單元,對所述記錄中表示邏輯分區(qū)的所述指示符進行動態(tài)更新。
      8.一種在多核系統(tǒng)中處理請求的設(shè)備,包括過濾器,被配置用于從發(fā)出請求的單元接收關(guān)于數(shù)據(jù)的請求,并將所述請求中表示邏 輯分區(qū)的指示符與過濾器的記錄中表示邏輯分區(qū)的指示符進行比較;其中,所述過濾器還被配置用于如果比較結(jié)果匹配,則基于所述請求在所述過濾器所 處的單元中進行搜索,并將搜索結(jié)果返回所述發(fā)出請求的單元;以及如果比較結(jié)果不匹配,則向所述發(fā)出請求的單元返回否定響應(yīng)。
      9.根據(jù)權(quán)利要求8所述的設(shè)備,其中所述請求中表示邏輯分區(qū)的指示符包括一個或 多個邏輯分區(qū)ID,并且所述記錄中表示邏輯分區(qū)的指示符指示所述過濾器所處的所述單元 中的一個或多個邏輯分區(qū)ID。
      10.根據(jù)權(quán)利要求8所述的設(shè)備,其中所述過濾器包括寄存器,所述記錄由所述寄存 器生成并保持,并且所述記錄中表示邏輯分區(qū)的指示符指示位于所述過濾器所處的所述單 元中的一個或多個邏輯分區(qū)ID。
      11.根據(jù)權(quán)利要求9所述的設(shè)備,其中將所述請求中的所述一個或多個邏輯分區(qū)ID 從所述請求中分離出來并移位以生成掩碼,其中所述掩碼的比特寬度與所述記錄中表示邏 輯分區(qū)的指示符的比特寬度相同。
      12.根據(jù)權(quán)利要求11所述的設(shè)備,其中掩碼中表示與所述請求中分離出來的所述邏輯分區(qū)ID的比特被設(shè)置為“1”,所有其余 比特設(shè)置為零;如果一個邏輯分區(qū)位于所述過濾器所處的所述單元上,則所述記錄中表示 邏輯分區(qū)的指示符的相應(yīng)比特被設(shè)置為“1”。
      13.根據(jù)權(quán)利要求11或12所述的設(shè)備,其中所述匹配步驟包括比特寬度相同的所 述掩碼與所述記錄中表示邏輯分區(qū)的指示符進行“與”操作,結(jié)果為非零,則表示匹配;結(jié)果 為零,則表示不匹配。
      14.根據(jù)權(quán)利要求9所述的設(shè)備,其中將從所述請求中分離出來的所述一個或多個邏 輯分區(qū)ID分別與所述記錄中的所有邏輯分區(qū)ID相比較并將所有比較結(jié)果進行“或”操作, 結(jié)果為非零,則表示匹配;結(jié)果為零,則表示不匹配。
      15.根據(jù)權(quán)利要求8-14任一項所述的設(shè)備,其中所述設(shè)備在L2高速緩存中實現(xiàn)。
      16.根據(jù)權(quán)利要求8-14任一項所述的設(shè)備,其中所述請求單元和所述過濾器所處的 所述單元是L2高速緩存。
      17.根據(jù)權(quán)利要求8-16任一項所述的設(shè)備,其中基于邏輯分區(qū)移入或移出所述過濾 器所處的所述單元,所述記錄中表示邏輯分區(qū)的所述指示符進行動態(tài)更新。
      18.一種多核系統(tǒng),包括第一高速緩存;一個或多個第二高速緩存;其中,所述第一高速緩存被配置用于向所述一個或多個第二高速緩存發(fā)出關(guān)于數(shù)據(jù)的 請求;所述一個或多個第二高速緩存的每一個包括過濾器,其被配置用于接收所述請求, 并將所述請求中表示邏輯分區(qū)的指示符與過濾器的記錄中表示邏輯分區(qū)的指示符進行比 較;其中,所述過濾器還被配置用于如果比較結(jié)果匹配,則基于所述請求在所述第一高速 緩存中進行搜索,并將搜索結(jié)果返回所述一個或多個第二高速緩存;以及如果比較結(jié)果不匹配,則從所述過濾器向所述一個或多個第二高速緩存返回否定響應(yīng)。
      全文摘要
      一種在多核系統(tǒng)中處理請求的方法、設(shè)備和系統(tǒng)。所述方法包括以下步驟由過濾器從請求單元接收關(guān)于數(shù)據(jù)的請求;將所述請求中表示邏輯分區(qū)的指示符與過濾器的記錄中表示邏輯分區(qū)的指示符進行比較;如果比較結(jié)果匹配,則基于所述請求在所述過濾器所處的單元中進行搜索,并將搜索結(jié)果返回所述請求單元;以及如果比較結(jié)果不匹配,則從所述過濾器向所述請求單元返回否定響應(yīng)。
      文檔編號G06F15/80GK102053946SQ20091021138
      公開日2011年5月11日 申請日期2009年10月30日 優(yōu)先權(quán)日2009年10月30日
      發(fā)明者侯銳, 戈弋, 曾洪博, 王鯤, 章宇 申請人:國際商業(yè)機器公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1