監聽訪問的減少的製作方法
2023-05-27 12:26:21 1
專利名稱:監聽訪問的減少的製作方法
監聽訪問的減少背景技術
為了改進性能, 一些計算機系統可以包括一個或多個高速緩存。高速緩存通常存儲與存儲在其它地方的或早先計算的原始數據相 對應的數據。為了減少存儲器訪問延遲, 一旦數據被存儲在高速緩存 中,將來就可以通過訪問高速緩存的副本而不是重取或重計算原始數 據來對其進行使用。
由計算機系統使用的一種高速緩存是中央處理單元(CPU) 高速緩存。因為CPU高速緩存更靠近CPU (例如,設置在CPU內部 或CPU附近),所以它使CPU能夠更快速地訪問諸如最近使用的指 令和/或數據之類的信息。因此,利用CPU高速緩存可以減少與訪問設置在計算機系統中其它地方的主存儲器相關的延遲。存儲器訪問延遲的減少繼而改進了系統性能。然而,每次訪問CPU高速緩存時, 對應的CPU就會進入更高功率的使用狀態,以提供高速緩存訪問支 持功能,例如,從而維護CPU高速緩存的一致性。
更高功率的使用會增加熱量產生。過熱會損害計算機系統的部件。而且,更高功率的使用會增大電池消耗,例如,在移動計算設 備中的電池消耗,這又會減少行動裝置在重新充電之前可以使用的時 間。額外的功耗會額外導致使用更大的電池,其重量會更大。更大重 量的電池減少了移動計算設備的便攜性。
參考附圖進行詳細說明。在附圖中,參考標記的最左側的數字標識首先出現該參考標記的附圖。在不同的圖示中,使用相同的參 考標記指示類似的或相同的項。
圖1-3說明了根據本發明一些實施例的計算系統的框圖;
圖4說明了用於減少由處理器執行的監聽訪問(snoop
access)的方法的實施例。
具體實施方式
在下列描述中,為了使得徹底了解各實施例,闡述了大量的 具體細節。然而,可以在沒有具體細節的情況下實現本發明的各種實 施例。在其它的情況中,沒有詳細地描述公知的方法、過程、部件和 電路,以便不會使本發明的特定實施例不清楚。
圖1說明了根據本發明實施例的計算系統100的框圖。計算 系統100可以包括一個或多個與互連網絡(或總線)104相耦合的中 央處理單元(CPU) 102或處理器。處理器(102)可以是任何適當 的處理器,例如通用處理器、網絡處理器等等(包括精簡指令集計算 機(RISC)處理器或複雜指令集計算機(CISC))。此外,處理器(102) 可以具有單核或多核設計。具有多核設計的處理器(102)可以將不 同類型的處理器核集成在同一集成電路(IC)管芯上。而且,可以將 具有多核設計的處理器(102)實現為對稱的或非對稱的多處理器。
晶片組106還可以耦合到互連網絡104。晶片組106可以包 括存儲器控制中心(MCH) 108。 MCH108可以包括與存儲器112相 耦合的存儲器控制器110。存儲器112可以儲存數據和由CPU 102或 計算系統100中包含的任何其它設備執行的指令序列。在本發明的一 個實施例中,存儲器112可以包括一個或多個易失性存儲(或存儲器) 設備,例如隨機存取存儲器(RAM)、動態RAM (DRAM)、同步 DRAM (SDRAM)、靜態RAM (SRAM)等等。還可以使用非易失 性存儲器,例如硬碟。額外的設備可以耦合到互連網絡104,例如多 個CPU和/或多個系統存儲器。
MCH 108還可以包括與圖形加速器116相耦合的圖形接口 114。在本發明的一個實施例中,圖形接口 114可以經由加速圖形端 口 (AGP)耦合到圖形加速器116。在本發明的一個實施例中,顯示 器(例如平板顯示器)可以通過例如信號轉換器耦合到圖形接口 114, 所述信號轉換器將存儲在諸如視頻存儲器或系統存儲器之類的存儲 設備中的圖像的數字表示轉換為由顯示器解釋和顯示的顯示信號。由
顯示設備產生的顯示信號在被顯示器解釋並且隨後顯示在顯示器上 之前,會通過各種控制設備。
中心接口 118可以將MCH 108耦合到輸入/輸出控制中心 (ICH) 120。 ICH 120可以提供到與計算系統100相耦合的輸入/輸 出(I/O)設備的接口。 ICH120可以通過外設橋(或控制器)124耦 合到總線122,所述外設橋(或控制器)124例如是外設部件互連(PCI) 橋、通用串行總線(USB)控制器等等。橋124可以提供CPU 102 和外圍設備之間的數據通路。可以使用其它類型的拓撲結構。而且, 例如通過多個橋或控制器,多條總線可以耦合到ICH120。此外,在 本發明的各個實施例中,耦合到ICH 120的其它外設可以包括集成驅 動電路(IDE)或小型計算機系統接口 (SCSI)硬碟驅動器、USB端 口、鍵盤、滑鼠、並行埠、串行埠、軟盤驅動器、數字輸出支持 (例如,數字視頻接口 (DVI))等等。
總線122可以耦合到音頻設備126、 一個或多個碟片驅動器 128和網絡接口設備130。其它的設備可以耦合到總線122。而且, 在本發明的一些實施例中,各種部件(例如網絡接口設備130)可以 耦合到MCH 108。此外,可以組合CPU 102和MCH 108以形成單個 晶片。並且,在本發明的其它的實施例中,可以將圖形加速器116包 含在MCH 108內。
另外,計算系統100可以包括易失性和/或非易失性存儲器 (或存儲設備)。例如,非易失性存儲器可以包括下列各項中的一項或多項只讀存儲器(ROM)、可編程ROM (PROM)、可擦除PROM (EPROM)、電EPROM (EEPROM)、碟片驅動器(例如128)、軟盤、光碟ROM (CD-ROM)、數字多用途盤(DVD)、閃速存儲器、磁光碟或適於存儲電子指令和/或數據的其它類型的非易失性機器可讀介質。
圖2說明了根據本發明一個實施例的、設置為點到點(PtP) 結構的計算系統200。特別地,圖2顯示了一個系統,其中,處理器、存儲器和輸入/輸出設備通過多個點到點接口互聯。
圖2的系統200還可以包括多個處理器,為了清楚起見,僅
顯示了其中的兩個處理器,即處理器202和204。處理器202和204 每一個可以包括本地存儲器控制中心(MCH) 206和208,以與存儲 器210和212相耦合。處理器202和204可以是任何適當的處理器, 例如參考圖1的處理器102所論述的那些處理器。處理器202和204 可以分別使用PtP接口電路216和218經由點到點(PtP)接口 214 來交換數據。處理器202和204每一個可以使用點到點接口電路226、 228、230和232經由單獨的PtP接口 222和224與晶片組220交換數 據。晶片組220還可以使用PtP接口電路237經由高性能圖形接口 236 與高性能圖形電路234交換數據。
本發明的至少一個實施例可以位於處理器202和204之內。 然而,本發明的其它實施例可以存在於圖2的系統200中的其它電路、 邏輯單元或設備中。此外,本發明的其它實施例可以分布於圖2所示 的多個電路、邏輯單元或設備中。
晶片組220可以使用PtP接口電路241耦合到總線240。總 線240可以具有一個或多個與其耦合的設備,例如總線橋242和I/O 設備243。經由總線244,總線橋242可以耦合到其它的設備,例如 鍵盤/滑鼠245、通信設備246(例如數據機、網絡接口設備等等)、 音頻I/O設備247和/或數據存儲設備248。數據存儲設備248可以存 儲可由處理器202和/或204執行的代碼249。
圖3說明了計算系統300的實施例。系統300可以包括CPU 302。在一個實施例中,CPU 302可以是任何適當的處理器,例如圖 1的處理器102或圖2的處理器202-204。 CPU 302可以經由互連網 絡305 (例如圖1的互連104或圖2的PtP接口 222和224)耦合到 晶片組304。在一個實施例中,晶片組304與圖1的晶片組106或圖 2的晶片組220相同或類似。
CPU 302可以包括一個或多個處理器核306 (例如參考圖1 的處理器102或圖2的處理器202-204所論述的)。CPU 302還可以 包括一個或多個高速緩存308 (在本發明的一個實施例中,其可以是 共享的),例如1級(L1)高速緩存、2級(L2)高速緩存或3級(L3) 高速緩存等等,以存儲由系統300的一個或多個部件使用的指令和/
或數據。CPU 302的各個部件可以通過總線和/或存儲器控制器或控 制中心(例如,圖1的存儲器控制器110、圖1的MCH 108或圖2 的MCH206-208)直接耦合到高速緩存308。而且,可以將一個或多 個實現存儲器監聽功能處理的部件包含在CPU 302之內,將參考圖4 對其進行進一步的論述。例如,可以包含處理器監視邏輯310以監視 由處理器核306進行的存儲器訪問。CPU 302的各個部件可以設置在 同一集成電路管芯上。
如圖3所說明的,晶片組304可以包括提供到存儲器314(例 如圖1的存儲器112或圖2的存儲器210-212)的訪問的MCH 312(例 如圖1的MCH 108或圖2的MCH206-208)。因此,處理器監視邏輯 310可以監視由處理器核306進行的到存儲器314的存儲器訪問。芯 片組304還可以包括ICH 316,以提供到一個或多個I/O設備318 (例 如參考圖1和2所論述的那些設備)的訪問。ICH316可以包括橋以 允許通過總線319與各個I/0設備318進行通信,例如圖1的ICH 120 或圖2中與總線橋242相耦合的PtP接口電路241 。在一個實施例中, I/O設備318可以是能夠向存儲器314和從存儲器314傳輸數據的塊 I/O設備。
而且,可以將一個或多個實現存儲器監聽功能處理的部件包 含在晶片組304之內,將參考圖4對其進行進一步的論述。例如,可 以包含I/O監視邏輯320,以提供頁監聽命令,其逐出高速緩存308 中的一個或多個高速緩存行。例如基於來自1/0設備318的通信量, 1/O監視邏輯320還可以啟用處理器監視邏輯310。因此,1/0監視邏 輯320可以監視去往和來自I/O設備318的通信量,例如由I/O設備 318進行的到存儲器314的存儲器訪問。在一個實施例中,1/0監視 邏輯320可以耦合在存儲器控制器(例如圖1的存儲器控制器110) 和外設橋(例如圖1的橋124)之間。而且,I/O監視邏輯320可以 位於MCH 312內。可以將晶片組304的各個部件設置在同一集成電 路管芯上。例如,可以將I/O監視邏輯320和存儲器控制器(例如圖 1的存儲器控制器110)設置在同一集成電路管芯上。
圖4說明了用於減少由處理器執行的監聽訪問的方法400的 實施例。通常,當訪問主存儲器(例如314)時,可以向處理器核306 發出監聽訪問,例如以維護存儲器一致性。在一個實施例中,監聽訪 問可以起因於由圖3的I/0設備318引起的通信量。例如,塊I/0設 備的控制器(例如USB控制器)可以周期性地訪問存儲器314。由 1/0設備318進行的每一個訪問可以引起(例如處理器核306的)監 聽訪問,以確定正在訪問的存儲器區域(例如存儲器314的部分)是 否位於例如高速緩存308內,以維護高速緩存308與存儲器314的一 致性。
在一個實施例中,可以利用圖3的系統300的各個部件來執 行參考圖4論述的操作。例如,步驟402-404和(可選的)410可以 由I/O監視邏輯320來執行。步驟406和408可以由處理器核306來 執行。歩驟416可以由MCH 312和/或I/O設備318來執行。步驟 412-414和418-420可以由處理器監視邏輯310來執行。
參考圖3和4, I/O監視邏輯320可以從一個或多個塊I/O 設備318接收存儲器訪問請求(402)。 1/O監視邏輯320可以分析所 接收的請求(402)以確定(例如在存儲器314中的)存儲器對應區 域。1/O監視邏輯320可以發出頁監聽命令(404),其標識與由塊I/0 設備318進行的存儲器訪問相對應的頁地址。例如,頁地址可以標識 存儲器314內的區域。在一個實施例中,I/O設備318可以訪問4K 字節或8K字節的連續存儲器區域。
I/O監視邏輯320可以啟用處理器監視邏輯310 (406)。處 理器核306可以接收(例如在步驟404產生的)頁監聽(408),並且 逐出(例如在高速緩存308中的) 一個或多個高速緩存行(410)。在 步驟412,可以監視存儲器訪問。例如,1/O監視邏輯320可以例如 通過監視通信接口 (例如圖1的中心接口 118或圖2的總線240)上 的事務來監視去往和來自1/0設備318的通信量。此外,在被啟用之 後(406),處理器監視邏輯310可以監視由處理器核306進行的存儲 器訪問(412)。例如,處理器監視邏輯310可以監視互連網絡305上 的、試圖訪問存儲器314的存儲器事務。
在步驟414,如果處理器監視邏輯310確定由處理器核306
進行的存儲器訪問是到步驟404的頁地址的訪問,則例如通過處理器 監視邏輯310,可以在步驟416重置處理器和/或I/0監視邏輯(310 和320)。因此,可以停止對存儲器訪問的監視(412)。在步驟416 之後,方法400可以在步驟402繼續。否則,如果在步驟414處理器 監視邏輯310確定由處理器核306進行的存儲器訪問不是到步驟404 的頁地址的訪問,則方法400可以繼續到步驟418。
在步驟418,如果I/O監視邏輯320確定由塊I/O設備(318) 進行的存儲器訪問是到步驟404的頁地址的訪問,則可以例如在不產 生到處理器核306的監聽請求的情況下訪問存儲器(314) (420)。否 則,方法400在步驟404繼續以處理塊I/O設備(318)的、到存儲 器(314)的新區域的存儲器訪問請求。雖然圖4說明了步驟414可 以在步驟418之前,但是步驟414也可以在步驟418之後執行。而且, 在一個實施例中,可以異步地執行步驟414和418。
在一個實施例中,與由處理器核306較頻繁地訪問的其它內 容相比,可以較不頻繁地將去往和來自I/O設備318的數據載入高速 緩存308。因此,方法400可以減少由處理器(例如處理器核306) 執行的監聽訪問,其中,由到已被從高速緩存308中逐出的頁地址(404)的塊I/O設備通信量產生存儲器訪問。這種實現使處理器(例 如處理器核306)能夠避免離開低功率狀態而執行監聽訪問。
例如,根據ACPI規範(Advanced Configuration and Power Interface specification, Revision 3.0, September 2, 2004)的實現可以使 處理器(例如處理器核306)能夠減少在C2狀態花費的時間,C2狀 態比C3狀態使用更高的功率。對於每一個USB設備存儲器訪問(其 會在每l毫秒出現,而不管存儲器訪問是否需要監聽訪問),處理器(例如處理器核306)可以進入C2狀態以執行監聽訪問。例如參考 圖3和4,在這裡論述的實施例可以限制不必要的監聽訪問的產生, 例如,塊I/0設備正訪問先前被逐出的頁地址(404, 410)的情況。 因此,可以產生單個監聽訪問(404)並且為存儲器(314)的公用區 域逐出對應的高速緩存行(410)。降低的功耗可以導致移動計算設備 中電池的更長壽命和/或更小體積。
在各個實施例中,可以將在這裡例如參考圖1-4論述的一個 或多個操作實現為硬體(例如邏輯電路)、軟體、固件或它們的組合, 可以將其作為電腦程式產品而提供,所述電腦程式產品例如包括 機器可讀或計算機可讀介質,所述介質上存儲有指令,用於對計算機 進行編程以執行這裡所論述的處理。機器可讀介質可以包括任何適當 的存儲設備,例如參考圖l-3所論述的那些設備。
另外,可以將這種計算機可讀媒體作為電腦程式產品而進 行下載,其中,經由通信鏈路(例如數據機或網絡連接),通過 體現為載波或其它傳播介質的數據信號,可以將程序從遠程計算機(例如伺服器)傳輸到請求計算機(例如客戶機)。因此,在這裡, 應認為載波包括機器可讀介質。
在說明書中對"一個實施例"或"實施例"的引用表示可以 將結合該實施例所描述的特定特徵、結構或特性包含在至少一個實現 中。在說明書的各處出現的短語"在一個實施例中"可以是或可以不 是全部對同一實施例的引用。
而且,在說明書和權利要求書中,可以使用術語"耦合"、 "連接"以及它們的派生詞。在一些實施例中,"連接"可以用來指 示兩個或更多個元件互相間直接物理接觸或電接觸。"耦合"可以表 示兩個或更多個元件直接物理接觸或電接觸。但是,"耦合"還可以 表示兩個或更多個元件相互間非直接接觸,而仍然可以互相協作或相 互作用。
因此,雖然己經具體到結構特徵和/或方法動作描述了本發 明的實施例,但是,應該理解要求保護的主題可能不限於所描述的具 體特徵或動作。取而代之的是,將具體的特徵和動作作為實現要求保 護的主題的樣例形式而披露。
權利要求
1.一種裝置,包括處理器核,用於接收頁監聽命令,所述頁監聽命令標識與由輸入/輸出(I/O)設備發出的存儲器訪問請求相對應的頁地址;以及逐出一個或多個與所述頁地址相匹配的高速緩存行;以及處理器監視邏輯,用於監視由所述處理器核進行的存儲器訪問,以確定所述處理器核存儲器訪問是否在所述頁地址之內。
2. 根據權利要求1所述的裝置,其中,所述一個或多個高速緩 存行位於與所述處理器核相耦合的高速緩存中。
3. 根據權利要求2所述的裝置,其中,所述高速緩存與所述處 理器核位於同一集成電路管芯上。
4. 根據權利要求1所述的裝置,其中,所述頁地址標識通過芯 片組與所述處理器核相耦合的存儲器的區域。
5. 根據權利要求4所述的裝置,其中,所述晶片組包括I/0監 視邏輯,以監視由所述I/0設備進行的存儲器訪問。
6. 根據權利要求5所述的裝置,其中,所述晶片組包括存儲器 控制器,並且所述I/O監視器耦合在所述I/O設備和所述存儲器控制 器之間。
7. 根據權利要求6所述的裝置,其中,所述I/0監視器邏輯與 所述存儲器控制器位於同 一集成電路管芯上。
8. 根據權利要求1所述的裝置,還包括多個處理器核。
9. 根據權利要求8所述的裝置,其中,所述多個處理器核位於 單個集成電路管芯上。
10. —種方法,包括接收頁監聽命令,所述頁監聽命令標識與由輸入/輸出(I/O)設備發出的存儲器訪問請求相對應的頁地址;以及逐出一個或多個與所述頁地址相匹配的高速緩存行;以及 監視由處理器核進行的存儲器訪問,以確定所述處理器核存儲器訪問是否在所述頁地址之內。
11. 根據權利要求IO所述的方法,還包括如果所述處理器核存儲器訪問在所述頁地址之內,則停止監視所 述存儲器訪問。
12. 根據權利要求IO所述的方法,還包括如果I/O存儲器訪問在所述頁地址之內,則訪問與所述處理器核相耦合的存儲器。
13. 根據權利要求12所述的方法,其中,在不產生監聽訪問的 情況下訪問所述存儲器。
14. 根據權利要求10所述的方法,還包括監視由所述I/O設備進行的存儲器訪問。
15. 根據權利要求IO所述的方法,其中,所述處理器核存儲器 訪問對與所述處理器核相耦合的存儲器執行讀或寫操作。
16. 根據權利要求10所述的方法,還包括從所述i/o設備接收所述存儲器訪問請求,其中,所述存儲器訪 問請求標識在與所述處理器核相耦合的存儲器之內的區域。
17. 根據權利要求IO所述的方法,還包括在接收所述存儲器訪問請求之後,啟用處理器監視邏輯以監視由 所述處理器核進行的存儲器訪問。
18. —種系統,包括 易失性存儲器,用於儲存數據; 處理器核,用於接收頁監聽命令,所述頁監聽命令標識與由輸入/輸出(I/O) 設備發出的對所述存儲器的訪問請求相對應的頁地址;以及逐出一個或多個與所述頁地址相匹配的高速緩存行;以及 處理器監視邏輯,用於監視由所述處理器核進行的對所述存儲器 的訪問,以確定所述處理器核存儲器訪問是否在所述頁地址之內。
19. 根據權利要求18所述的系統,還包括 耦合在所述存儲器和所述處理器核之間的晶片組,其中,所述晶片組包括I/O監視邏輯,用於監視由所述I/O設備進行的存儲器訪問。
20. 根據權利要求18所述的系統,其中,所述易失性存儲器是 RAM、 DRAM、 SDRAM或SRAM。
全文摘要
本文描述了可以用於減少監聽訪問的技術。在一個實施例中,方法包括接收頁監聽命令,該頁監聽命令標識與由輸入/輸出(I/O)設備發出的存儲器訪問請求相對應的頁地址。可以逐出一個或多個與所述頁地址相匹配的高速緩存行。此外,可以監視由處理器核進行的存儲器訪問,以確定所述處理器核存儲器訪問是否在所述頁地址之內。
文檔編號G06F12/08GK101213524SQ200680023791
公開日2008年7月2日 申請日期2006年6月29日 優先權日2005年6月29日
發明者D·威廉斯, J·卡達什 申請人:英特爾公司