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