專利名稱:具有總線主控設(shè)備的計(jì)算機(jī)系統(tǒng)中的功率降低方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及功率管理領(lǐng)域。更具體地說,本發(fā)明涉及用于使得處理器進(jìn)入低功率狀態(tài)的方法和系統(tǒng)。
背景技術(shù):
高級(jí)配置和電源接口(ACPI)規(guī)范所定義的硬件和軟件環(huán)境使得操作系統(tǒng)(OS)軟件能夠完成系統(tǒng)配置和功率管理的可視性及控制。ACPI為計(jì)算機(jī)系統(tǒng)將功率管理和即插即用功能結(jié)合起來。ACPI描述了一組有效的處理器工作狀態(tài)以及這些狀態(tài)之間所允許的轉(zhuǎn)換。為處理器所定義的前四個(gè)狀態(tài)是C0、C1、C2和C3。C0狀態(tài)是一個(gè)正常工作狀態(tài)。C1狀態(tài)是一個(gè)低功率、低延遲(latency)的狀態(tài),它無需芯片集邏輯的任何支持并且保留著所有緩存的上下文。C2狀態(tài)是一個(gè)比C1具有更低功率以及略長(zhǎng)延遲的狀態(tài),它需要芯片集的支持,但仍然保留著緩存的上下文。C3狀態(tài)是一個(gè)具有更低功率以及更長(zhǎng)延遲的狀態(tài),它也需要芯片集的支持,但是在該狀態(tài)中,所緩存的上下文有可能丟失?;贗A-32體系結(jié)構(gòu)的系統(tǒng)一般將HALT(HLT)指令的使用映射到C1狀態(tài),將STOPGTANT/QUICKSTART斷言(assertion)映射到C2狀態(tài),并且將Deep Sleep(對(duì)處理器時(shí)鐘輸入信號(hào)的清除)操作映射到C3狀態(tài)。在C1和C2狀態(tài),系統(tǒng)處理器可以偵聽(snoop)總線。在C3狀態(tài)中,系統(tǒng)處理器無法偵聽總線。
在啟用ACPI的OS中,基于輸入/輸出(I/O)活動(dòng)以及處理器的可用狀態(tài)及其屬性,OS需要就“處理器應(yīng)當(dāng)進(jìn)入何種低功率狀態(tài)”決定一種策略。為了幫助OS做出這種策略決定,ACPI系統(tǒng)提供了一個(gè)總線主控狀態(tài)(BM_STS)位和仲裁器禁止(ARB_DIS)位。ACPI系統(tǒng)還提供了多種控制方法,這些方法描述了處理器的各種可用狀態(tài)。BM_STS和ARB_DIS位使得OS能夠決定何時(shí)將處理器置入C3狀態(tài),以及何時(shí)將處理器置入功率高得多的C2狀態(tài)。
用于在C2或C3低功率狀態(tài)之間做出決定的策略是基于系統(tǒng)在C3狀態(tài)中的能力。如上所述,處理器處于C3狀態(tài)時(shí)不能進(jìn)行偵聽,此外在總線主控訪問當(dāng)中還發(fā)生了存儲(chǔ)器/緩存一致性問題。因此,OS策略通過BM STS位來跟蹤總線主控訪問的活動(dòng)。如果幾乎沒有活動(dòng),則它通過置位(set)BM_STS位來禁止總線仲裁器(其阻止總線主控的執(zhí)行),并將處理器置入C3狀態(tài)。
另外,OS確定C2/C3策略所持續(xù)的時(shí)間間隔將會(huì)影響系統(tǒng)的功率性能。對(duì)于一個(gè)ACPI OS而言,每個(gè)搶先(preempt)間隔都執(zhí)行一次用于確定處理器的C狀態(tài)的策略。搶先被定義為周期性定時(shí)器所產(chǎn)生的中斷,也被稱為定時(shí)器中斷。一般而言,這個(gè)間隔是10ms-20ms之間的量級(jí)(該間隔與OS有關(guān))。處理器在這一搶先時(shí)間內(nèi)調(diào)度其所要執(zhí)行的工作,當(dāng)處理器完成這項(xiàng)工作時(shí),它進(jìn)入低功率狀態(tài)。
在將處理器置入低功率狀態(tài)的過程中,OS查看所述搶先期間內(nèi)的剩余時(shí)間以及總線主控訪問的頻率。為了進(jìn)入C3狀態(tài),OS要確保剩余的搶先時(shí)間大于C3退出延遲,然后(通過檢查BM_STS位)判定在剩余搶先時(shí)間內(nèi)總線主控訪問的可能性。如果有時(shí)問用于C3退出,并且一直沒有總線主控活動(dòng),則OS將處理器置入C3狀態(tài)。
可見,空閑的低功率系統(tǒng)希望進(jìn)入可能的最低功率處理器狀態(tài)(Cx狀態(tài)越高,功率就越低,例如,C3具有比C1低得多的功率)。另外,為了進(jìn)入C3狀態(tài),系統(tǒng)必須確保在處理器不能在這一狀態(tài)進(jìn)行偵聽時(shí),不會(huì)發(fā)生任何將影響存儲(chǔ)器和/或緩存的一致性的活動(dòng)。此外,每個(gè)搶先間隔內(nèi)都要至少執(zhí)行一次用于確定將發(fā)生哪個(gè)Cx狀態(tài)的策略,或者每10ms左右執(zhí)行一次該策略。這些條件定義了一個(gè)空閑C3狀態(tài)。然而,如果有什么東西引發(fā)了緩存一致性問題,并且和搶先間隔一樣頻繁發(fā)生,那么處理器將永不進(jìn)入C3狀態(tài)。OS通過BM_STS位跟蹤所有的緩存一致性問題,并且如果BM_STS位被置位,則OS推斷它不能進(jìn)入C3狀態(tài)。
以示例而非限制的方式圖示了本發(fā)明,在附圖中用相同的標(biāo)號(hào)來表示類似的元件,其中圖1是圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例的、具有不可緩存的存儲(chǔ)器的計(jì)算機(jī)系統(tǒng)示例的框圖。
圖2是圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例的、具有寫通式(write-through)可緩存存儲(chǔ)器的計(jì)算機(jī)系統(tǒng)示例的框圖。
具體實(shí)施例方式
在一個(gè)實(shí)施例中,公開了這樣一種方法,該方法能夠避免通過置位BM_STS位以使處理器進(jìn)入C3狀態(tài),同時(shí)保持了存儲(chǔ)器一致性。通過改變總線主控緩沖區(qū)的緩存策略,許多總線主控活動(dòng)就可以不產(chǎn)生緩存一致性問題,因此無需BM_STS位的跟蹤,從而使得處理器可以更經(jīng)常地進(jìn)入C3狀態(tài)。
在下面的描述中,出于解釋的目的,闡述了大量具體的細(xì)節(jié),以提供對(duì)本發(fā)明的充分理解。然而,本領(lǐng)域的技術(shù)人員將會(huì)清楚,沒有這些具體的細(xì)節(jié)也能夠?qū)崿F(xiàn)本發(fā)明。此外,為了在解釋中避免一些不必要的細(xì)節(jié),一些公知的結(jié)構(gòu)、過程和設(shè)備是以框圖的形式示出的,并以總體的方式進(jìn)行引用。
一般,利用總線主控讀操作或?qū)懖僮鱽碇梦豢偩€主控狀態(tài)(BM_STS)位。例如,在帶有USB設(shè)備的系統(tǒng)中,USB主控制器從存儲(chǔ)器中讀取描述符,以確定是否有什么USB主控制器需要執(zhí)行的操作。每毫秒都要從存儲(chǔ)器讀取描述符。大多數(shù)時(shí)間內(nèi),所述描述符都指示出沒有什么USB主控制器需要執(zhí)行的操作。傳統(tǒng)上,因?yàn)轵?qū)動(dòng)器緩沖區(qū)是寫回式(write-back)可緩存的,所以要對(duì)BM_STS位進(jìn)行置位,因此如果對(duì)其處的實(shí)際數(shù)據(jù)駐留在處理器緩存內(nèi)的存儲(chǔ)區(qū)執(zhí)行總線主控讀操作,并且處理器處于C3狀態(tài),那么在處理器被喚醒之前無法繼續(xù)總線主控操作。這是因?yàn)樘幚砥髟贑3狀態(tài)中不能服務(wù)于偵聽周期。為了防止這種狀況,給定可能引起偵聽周期(BM_STS被置位)的任何先前流量,OS就置位ARB_DIS位以阻止任何總線主控操作。
至于對(duì)寫回式可緩存存儲(chǔ)器區(qū)域的總線主控寫操作,該存儲(chǔ)器區(qū)域的副本可能駐留于處理器的緩存內(nèi)。為了保持一致性,任何對(duì)寫通式可緩存存儲(chǔ)器區(qū)域的總線主控寫操作都需要由處理器的緩存來偵聽。為了防止這種狀況的出現(xiàn),OS對(duì)ARB_DIS位進(jìn)行置位,以阻止任何總線主控操作。
通過可避免緩存和存儲(chǔ)器一致性問題的設(shè)計(jì)方案,處理器可進(jìn)入低功率狀態(tài)。當(dāng)驅(qū)動(dòng)器所用的存儲(chǔ)器空間被標(biāo)記并保持為不可緩存時(shí),存儲(chǔ)器一致性問題就消失了。將這個(gè)存儲(chǔ)器空間標(biāo)記為不可緩存的,這樣就能夠確保這一存儲(chǔ)器空間的副本不存在于處理器的緩存中,并且無需為由使用這一存儲(chǔ)器區(qū)域的設(shè)備所進(jìn)行的總線主控訪問而偵聽處理器的緩存。當(dāng)BM_STS被設(shè)計(jì)為在某一設(shè)備生成對(duì)不可緩存的存儲(chǔ)器空間的總線主控操作時(shí)不被置位的時(shí)候,OS可以更經(jīng)常地將處理器置入低功率C3狀態(tài)。
或者,當(dāng)驅(qū)動(dòng)器所使用的存儲(chǔ)器空間被標(biāo)記并保持為寫通式可緩存時(shí),某些存儲(chǔ)器一致性問題就得到了解決。寫通式可緩存存儲(chǔ)器指的是在存儲(chǔ)器和處理器緩存中可以具有多份數(shù)據(jù)副本,但是這些副本都被維護(hù)為具有一致性的;任何讀操作都只是讀取本地副本,而對(duì)這一數(shù)據(jù)的某一副本的寫操作必須被復(fù)制到其它位置(存儲(chǔ)器或緩存)。這樣一來,總線主控存儲(chǔ)器讀操作就不需要處理器的任何交互,而對(duì)存儲(chǔ)器的總線主控寫操作需要處理器的緩存被偵聽(以更新它的數(shù)據(jù)副本)。對(duì)于這類配置,如果總線主控設(shè)備的存儲(chǔ)器被標(biāo)記為寫通式可緩存的,則BM_STS位可被設(shè)計(jì)為,只有當(dāng)這些設(shè)備產(chǎn)生對(duì)寫通式存儲(chǔ)器區(qū)域的總線主控寫訪問時(shí)才被置位。然而,對(duì)寫通式可緩存存儲(chǔ)器區(qū)域的總線主控讀訪問則不需要對(duì)BM_STS位進(jìn)行置位,就使得OS能夠?qū)PU置入低功率C3狀態(tài)。
為了優(yōu)化C3狀態(tài)的進(jìn)入,下面的表圖示了應(yīng)當(dāng)如何根據(jù)正被訪問的存儲(chǔ)器區(qū)域的緩存能力來置位BM_STS
如該表所示,如果將總線主控緩沖區(qū)變?yōu)橥耆豢删彺娴?,就可以避免?duì)BM_STS位的置位,而如果將總線主控緩沖區(qū)變?yōu)閷懲ㄊ娇删彺娴?,則對(duì)任何讀周期都可避免對(duì)BM_STS位進(jìn)行置位。根據(jù)總線主控的行為,可以使用這些技術(shù)中的一種,使得處理器能夠更經(jīng)常地進(jìn)入C3狀態(tài)。
圖1是圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例的、具有不可緩存的存儲(chǔ)器的計(jì)算機(jī)系統(tǒng)示例的框圖。USB設(shè)備135和140都通過USB主控制器120與計(jì)算機(jī)系統(tǒng)100相連。計(jì)算機(jī)系統(tǒng)100包括處理器102、存儲(chǔ)器控制器單元(MCU)105和存儲(chǔ)器110。一般來說,計(jì)算機(jī)系統(tǒng)100中的OS在每個(gè)時(shí)間段(例如,每11秒)上都調(diào)度一個(gè)周期性的搶先中斷。利用每個(gè)搶先中斷,OS為處理器102安排了一定量的工作來做。當(dāng)處理器102完成所述工作時(shí),處理器102在下一個(gè)搶先中斷之前被空閑起來。接著,處理器102做一些OS所安排的其他工作,然后處理器102再次空閑。
當(dāng)處理器102空閑時(shí),OS將處理器102置入先前所述的C1、C2或C3狀態(tài)之一。這些狀態(tài)中的每一個(gè)都具有不同的屬性。例如,C1狀態(tài)是大約2瓦的低功率狀態(tài),并具有大約0.5微秒的退出延遲。C2狀態(tài)是大約1.5瓦的低功率狀態(tài),并具有大約100微秒的退出延遲時(shí)間。C3狀態(tài)是大約0.2瓦的超低功率狀態(tài),并具有約3微秒退出延遲。C3狀態(tài)是一種超低功率的處理器狀態(tài)。退出延遲時(shí)間是在發(fā)生搶先中斷時(shí)處理器102重新啟動(dòng)所用的時(shí)間。
為了在存儲(chǔ)器緩存103和存儲(chǔ)器110之間保持一致性,偵聽是很重要的。當(dāng)處理器102被置入C3狀態(tài)時(shí),處理器102無法偵聽總線。例如,當(dāng)處理器處于C3狀態(tài)時(shí),如果USB主控制器120(或總線主控制器)原本想要控制總線并將數(shù)據(jù)寫入存儲(chǔ)器110,而對(duì)應(yīng)的數(shù)據(jù)正好位于處理器緩存103中,那么將會(huì)出現(xiàn)存儲(chǔ)器一致性問題。存儲(chǔ)器110中的數(shù)據(jù)將會(huì)比處理器緩存103中的數(shù)據(jù)更新,但由于處理器102無法偵聽總線,所以它不會(huì)注意到這一點(diǎn)。
為了防止存儲(chǔ)器一致性問題,ACPI規(guī)范要求禁止總線主控仲裁器145。通過對(duì)仲裁器禁止(ARB_DIS)位進(jìn)行置位,就可以禁止總線主控仲裁器145。這可以防止總線主控仲裁器145將總線授予任何總線主控制器(包括USB主控制器)或設(shè)備。然而,置位ARB_DIS位將會(huì)影響USB主控制器120讀其幀列表的能力。如上所述,USB主控制器120經(jīng)常(例如,每1毫秒)生成對(duì)存儲(chǔ)器110的總線主控訪問。
在本發(fā)明的一個(gè)實(shí)施例中,存儲(chǔ)器110中由總線主控設(shè)備使用的部分被設(shè)置為不可緩存的,并且對(duì)于由總線主控設(shè)備(USB主控制器120)進(jìn)行的任何總線主控訪問,都不置位BM_STS位。這將導(dǎo)致OS忽略來自這個(gè)不可緩存總線主控設(shè)備的任何總線主控活動(dòng),而且它將不會(huì)影響到用于將處理器102置入C3狀態(tài)的OS策略。例如,當(dāng)USB主控制器120執(zhí)行總線主控寫操作以寫入不可緩存的存儲(chǔ)器110時(shí),沒有什么好擔(dān)心的緩存一致性問題。當(dāng)USB主控制器120執(zhí)行總線主控讀操作以從不可緩存的存儲(chǔ)器110讀取時(shí),也沒有什么存儲(chǔ)器一致性問題。因此,處理器102在由USB主控制器120進(jìn)行的任何總線訪問期間,都無需對(duì)總線進(jìn)行偵聽,因而可被置入低功率C3狀態(tài)。
為了優(yōu)化這一類型的配置,MCU 105對(duì)于來自“不可緩存”總線主控設(shè)備(USB主控制器120)的任何總線主控訪問,都必須不向處理器102發(fā)出偵聽周期。有很多種方法可用來執(zhí)行這類存儲(chǔ)器定型(typing)。例如,可將存儲(chǔ)器屬性寄存器編程到MCU中,以辨別存儲(chǔ)器的哪些部分是不可緩存的,或者,來自總線主控設(shè)備的一個(gè)單獨(dú)信號(hào)可以作為總線周期操作的發(fā)起者。
此外,由于“不可緩存”總線主控設(shè)備(USB主控制器120)不再產(chǎn)生緩存一致性問題,并且MCU 105不再生成到處理器102的偵聽周期,因此在ARB_DIS位被置位(正常情況下,這將迫使所有總線主控設(shè)備不工作)時(shí),“不可緩存”總線主控設(shè)備也被允許工作。注意,這僅僅適用于“不可緩存”總線主控設(shè)備,其它可能產(chǎn)生一致性問題的所有總線主控設(shè)備在ARB_DIS位被置位時(shí)都需要被禁止。
圖2是圖示了根據(jù)本發(fā)明一個(gè)實(shí)施例的、具有寫通式可緩存存儲(chǔ)器的計(jì)算機(jī)系統(tǒng)示例的框圖。存儲(chǔ)器210被設(shè)置為對(duì)于總線主控設(shè)備(這種情形下,即USB主控制器220)所使用的存儲(chǔ)器來說是寫通式可緩存的,并且僅對(duì)于來自這一“寫通式可緩存”總線主控設(shè)備的總線主控寫操作而置位BM_STS位,但在來自這一“寫通式可緩存”總線主控設(shè)備的總線主控讀操作期間不置位BM_STS位。這使得緩存203和存儲(chǔ)器210在發(fā)生總線主控寫操作時(shí)可相互一致。雖然緩存203被圖示為處理器緩存,但是這一技術(shù)同樣適用于其它緩存實(shí)現(xiàn)。
為了優(yōu)化這一類型的配置,MCU 210對(duì)于來自這一特定“寫通式可緩存”總線主控設(shè)備(USB主控制器220)的任何總線主控讀操作,都不向處理器202發(fā)送偵聽周期。有多種方法可用來執(zhí)行這類存儲(chǔ)器定型。例如,可將存儲(chǔ)器屬性寄存器編程到MCU中,以辨別存儲(chǔ)器的哪些部分是寫通式可緩存的,或者,來自總線主控設(shè)備的一個(gè)單獨(dú)信號(hào)可以作為總線周期操作的發(fā)起者。
此外,由于“寫通式可緩存”總線主控設(shè)備對(duì)于存儲(chǔ)器讀周期不再產(chǎn)生緩存一致性問題,并且MCU 210對(duì)于來自這一“寫通式可緩存”總線主控設(shè)備的總線主控讀操作,不再向處理器202生成偵聽周期,因此在ARB_DIS位被置位(正常情況下,這將迫使所有總線主控設(shè)備不工作)時(shí),允許“寫通式可緩存”總線主控設(shè)備執(zhí)行總線主控讀操作。在ARB_DIS位被置位時(shí),仍要阻止這一“寫通式可緩存”總線主控設(shè)備生成總線主控寫周期,但是總線主控讀操作可以繼續(xù)。注意,這僅僅適用于“寫通式可緩存”總線主控設(shè)備;其它可能產(chǎn)生一致性問題的所有總線主控設(shè)備在ARB_DIS位被置位時(shí)都需要被禁止。
本發(fā)明中各種方法的操作都可由數(shù)字處理系統(tǒng)中的處理單元來實(shí)施,所述處理單元可以執(zhí)行計(jì)算機(jī)程序指令序列。所述操作可以包括帶有輔助處理器的硬件電路,所述輔助處理器專門用于執(zhí)行功率管理的功能??梢允褂冒ù鎯?chǔ)在存儲(chǔ)器中的指令的應(yīng)用軟件來執(zhí)行所述操作,所述存儲(chǔ)器可被視為一種機(jī)器可讀存儲(chǔ)介質(zhì)。所述存儲(chǔ)器可以是隨機(jī)訪問存儲(chǔ)器、只讀存儲(chǔ)器、諸如大容量存儲(chǔ)器件的永久存儲(chǔ)型存儲(chǔ)器、或者這些器件的任何組合。執(zhí)行指令序列將使得處理單元執(zhí)行根據(jù)本發(fā)明的操作。所述指令可從一個(gè)存儲(chǔ)器件或者通過網(wǎng)絡(luò)連接而從一個(gè)或多個(gè)其它數(shù)字處理系統(tǒng)(例如,一個(gè)服務(wù)器計(jì)算機(jī)系統(tǒng))中被載入所述計(jì)算機(jī)的內(nèi)存。所述指令可被同時(shí)存儲(chǔ)在幾個(gè)存儲(chǔ)器件(例如,DRAM和諸如虛擬內(nèi)存的硬盤)中。結(jié)果,可由所述處理單元來直接執(zhí)行這些指令。
在其它情況下,不可以直接執(zhí)行所述指令,或者它們不可由所述處理單元直接執(zhí)行。在這些環(huán)境下,通過讓處理器執(zhí)行用于解釋所述指令的解釋器,或者通過讓處理器執(zhí)行將所接收的指令轉(zhuǎn)換為可由處理器直接執(zhí)行的指令的指令,就可以實(shí)現(xiàn)上述執(zhí)行過程。在其它實(shí)施例中,可以使用硬連線電路取代軟件指令,或者將兩者結(jié)合起來實(shí)現(xiàn)本發(fā)明。因而,本發(fā)明并不限于硬件電路和軟件的任何特定組合,也不限于由計(jì)算機(jī)或數(shù)字處理系統(tǒng)執(zhí)行的指令的任何特定源。
雖然已參考特定的示例性實(shí)施例描述了本發(fā)明,但是很清楚,在不偏離如本發(fā)明權(quán)利要求所述的更寬精神和范圍的前提下,可以對(duì)這些實(shí)施例做出多種修改和改變。由此,本說明書和附圖將被視為示例性的而非限制性的。
權(quán)利要求
1.一種方法,包括將總線主控設(shè)備所使用的存儲(chǔ)器設(shè)置為不可緩存的,所述存儲(chǔ)器和所述總線主控設(shè)備位于一個(gè)計(jì)算機(jī)系統(tǒng)中;對(duì)于由所述總線主控設(shè)備對(duì)所述存儲(chǔ)器進(jìn)行的任何總線主控存儲(chǔ)器操作,都不置位總線主控狀態(tài)位;以及將所述計(jì)算機(jī)系統(tǒng)中的處理器置入低功率狀態(tài)。
2.如權(quán)利要求1所述的方法,其中,所述低功率狀態(tài)是一種深度睡眠狀態(tài)。
3.如權(quán)利要求1所述的方法,其中,所述低功率狀態(tài)是C3狀態(tài)。
4.如權(quán)利要求1所述的方法,其中,所述存儲(chǔ)器耦合到一個(gè)存儲(chǔ)器子系統(tǒng),該子系統(tǒng)在由所述總線主控設(shè)備執(zhí)行的任何總線主控訪問期間都不向所述處理器生成偵聽周期。
5.如權(quán)利要求4所述的方法,其中,在仲裁器禁止位被置位時(shí),允許所述總線主控設(shè)備生成總線主控讀和寫操作。
6.一種其上存儲(chǔ)有指令序列的計(jì)算機(jī)可讀介質(zhì),所述指令可由一個(gè)系統(tǒng)來執(zhí)行,并且所述指令在由所述系統(tǒng)執(zhí)行時(shí),使得所述系統(tǒng)執(zhí)行一種方法,包括將總線主控設(shè)備所使用的存儲(chǔ)器設(shè)置為不可緩存的,所述存儲(chǔ)器和所述總線主控設(shè)備位于一個(gè)計(jì)算機(jī)系統(tǒng)中;對(duì)于由所述總線主控設(shè)備對(duì)所述存儲(chǔ)器進(jìn)行的任何總線主控存儲(chǔ)器操作,都不置位總線主控狀態(tài)位;以及將所述計(jì)算機(jī)系統(tǒng)中的處理器置入低功率狀態(tài)。
7.如權(quán)利要求6所述的計(jì)算機(jī)可讀介質(zhì),其中,所述低功率狀態(tài)是一種深度睡眠狀態(tài)。
8.如權(quán)利要求6所述的計(jì)算機(jī)可讀介質(zhì),其中,所述低功率狀態(tài)是C3狀態(tài)。
9.如權(quán)利要求6所述的計(jì)算機(jī)可讀介質(zhì),其中,所述存儲(chǔ)器耦合到一個(gè)存儲(chǔ)器子系統(tǒng),該子系統(tǒng)在由所述總線主控設(shè)備執(zhí)行的任何總線主控訪問期間都不向所述處理器生成偵聽周期。
10.如權(quán)利要求9所述的計(jì)算機(jī)可讀介質(zhì),其中,在仲裁器禁止位被置位時(shí),允許所述總線主控設(shè)備生成總線主控讀和寫操作。
11.一種系統(tǒng),包括設(shè)置為不可緩存的存儲(chǔ)器;與所述存儲(chǔ)器相耦合的總線主控設(shè)備;以及與所述存儲(chǔ)器和所述總線主控設(shè)備相耦合的處理器,其中,當(dāng)所述總線主控設(shè)備對(duì)所述不可緩存的存儲(chǔ)器執(zhí)行存儲(chǔ)器操作,并且對(duì)于這些總線操作未置位總線主控狀態(tài)位時(shí),所述處理器被置入低功率狀態(tài)。
12.如權(quán)利要求11所述的系統(tǒng),其中,所述低功率狀態(tài)是一種深度睡眠狀態(tài)。
13.如權(quán)利要求11所述的系統(tǒng),其中,所述低功率狀態(tài)是C3狀態(tài)。
14.如權(quán)利要求11所述的系統(tǒng),還包括一個(gè)與所述存儲(chǔ)器相耦合的存儲(chǔ)器子系統(tǒng),其中所述存儲(chǔ)器子系統(tǒng)在由所述總線主控設(shè)備執(zhí)行的任何存儲(chǔ)器操作期間都不向所述處理器生成偵聽周期。
15.如權(quán)利要求14所述的系統(tǒng),其中,在仲裁器禁止位被置位時(shí),允許所述總線主控設(shè)備生成總線主控讀和寫操作。
16.一種方法,包括將總線主控設(shè)備所使用的存儲(chǔ)器設(shè)置為寫通式可緩存的,所述存儲(chǔ)器和所述總線主控設(shè)備位于一個(gè)計(jì)算機(jī)系統(tǒng)中;在所述總線主控設(shè)備對(duì)所述存儲(chǔ)器執(zhí)行存儲(chǔ)器讀操作時(shí),不置位總線主控狀態(tài)位;以及將所述計(jì)算機(jī)系統(tǒng)中的處理器置入低功率狀態(tài)。
17.如權(quán)利要求16所述的方法,還包括在所述總線主控設(shè)備對(duì)所述存儲(chǔ)器執(zhí)行存儲(chǔ)器寫操作時(shí),置位所述總線主控狀態(tài)位。
18.如權(quán)利要求17所述的方法,其中,在所述總線主控設(shè)備對(duì)所述存儲(chǔ)器執(zhí)行存儲(chǔ)器寫操作時(shí),不將所述處理器置入低功率狀態(tài)。
19.如權(quán)利要求17所述的方法,其中,所述低功率狀態(tài)是C3狀態(tài)。
20.如權(quán)利要求16所述的方法,其中,所述存儲(chǔ)器耦合到一個(gè)存儲(chǔ)器子系統(tǒng),該子系統(tǒng)在由所述總線主控設(shè)備執(zhí)行的任何總線主控讀操作期間都不向所述處理器生成偵聽周期。
21.如權(quán)利要求20所述的方法,其中,在仲裁器禁止位被置位時(shí),允許所述總線主控設(shè)備生成總線主控讀操作。
22.一種其上存儲(chǔ)有指令序列的計(jì)算機(jī)可讀介質(zhì),所述指令可由一個(gè)系統(tǒng)來執(zhí)行,并且所述指令在由所述系統(tǒng)執(zhí)行時(shí),使得所述系統(tǒng)執(zhí)行一種方法,包括將總線主控設(shè)備所使用的存儲(chǔ)器設(shè)置為寫通式可緩存的,所述存儲(chǔ)器和所述總線主控設(shè)備位于一個(gè)計(jì)算機(jī)系統(tǒng)中;在所述總線主控設(shè)備對(duì)所述存儲(chǔ)器執(zhí)行存儲(chǔ)器讀操作時(shí),不置位總線主控狀態(tài)位;以及將所述計(jì)算機(jī)系統(tǒng)中的處理器置入低功率狀態(tài)。
23.如權(quán)利要求22所述的計(jì)算機(jī)可讀介質(zhì),還包括在所述總線主控設(shè)備對(duì)所述存儲(chǔ)器執(zhí)行存儲(chǔ)器寫操作時(shí),置位所述總線主控狀態(tài)位。
24.如權(quán)利要求22所述的計(jì)算機(jī)可讀介質(zhì),其中,在所述總線主控設(shè)備對(duì)所述存儲(chǔ)器執(zhí)行存儲(chǔ)器寫操作時(shí),不將所述處理器置入低功率狀態(tài)。
25.如權(quán)利要求22所述的計(jì)算機(jī)可讀介質(zhì),其中,所述低功率狀態(tài)是C3狀態(tài)。
26.如權(quán)利要求22所述的計(jì)算機(jī)可讀介質(zhì),其中,所述存儲(chǔ)器耦合到一個(gè)存儲(chǔ)器子系統(tǒng),該子系統(tǒng)在由所述總線主控設(shè)備執(zhí)行的任何總線主控讀訪問期間都不向所述處理器生成偵聽周期。
27.如權(quán)利要求26所述的計(jì)算機(jī)可讀介質(zhì),其中,在仲裁器禁止位被置位時(shí),允許所述總線主控設(shè)備生成總線主控讀操作。
28.一種系統(tǒng),包括設(shè)置為寫通式可緩存的存儲(chǔ)器;與所述存儲(chǔ)器相耦合的總線主控設(shè)備;以及與所述存儲(chǔ)器和所述總線主控設(shè)備相耦合的處理器,其中,當(dāng)所述處理器處于低功率狀態(tài),而沒有置位總線主控狀態(tài)位時(shí),允許所述總線主控設(shè)備執(zhí)行存儲(chǔ)器讀操作。
29.如權(quán)利要求28所述的系統(tǒng),其中,當(dāng)所述總線主控設(shè)備對(duì)所述存儲(chǔ)器執(zhí)行存儲(chǔ)器寫操作時(shí),不將所述處理器置入低功率狀態(tài)。
30.如權(quán)利要求28所述的系統(tǒng),其中,當(dāng)所述總線主控設(shè)備對(duì)所述存儲(chǔ)器執(zhí)行存儲(chǔ)器寫操作時(shí),所述總線主控狀態(tài)位被置位。
31.如權(quán)利要求28所述的系統(tǒng),其中,所述低功率狀態(tài)是C3狀態(tài)。
32.如權(quán)利要求28所述的系統(tǒng),還包括一個(gè)與所述存儲(chǔ)器相耦合的存儲(chǔ)器子系統(tǒng),其中所述存儲(chǔ)器子系統(tǒng)在由所述總線主控設(shè)備執(zhí)行的任何總線主控讀操作期間都不向所述處理器生成偵聽周期。
33.如權(quán)利要求32所述的系統(tǒng),其中,在仲裁器禁止位被置位時(shí),允許所述總線主控設(shè)備生成總線主控讀操作。
全文摘要
將由總線主控制器(145、245)訪問的系統(tǒng)存儲(chǔ)器(110、210)設(shè)置為不可緩存的。當(dāng)系統(tǒng)處理器(102、202)處于低功率狀態(tài)時(shí),對(duì)于涉及所述不可緩存的存儲(chǔ)器的任何總線主控制器傳輸周期,都不置位總線主控狀態(tài)位。
文檔編號(hào)G06F12/08GK1639671SQ03804416
公開日2005年7月13日 申請(qǐng)日期2003年2月25日 優(yōu)先權(quán)日2002年2月27日
發(fā)明者詹姆斯·卡爾達(dá)什 申請(qǐng)人:英特爾公司