本公開涉及分布式緩存系統(tǒng),更具體地涉及分布式緩存系統(tǒng)中隔離的功率狀態(tài)控制。
背景技術(shù):
在緩存一致性網(wǎng)絡(luò)(ccn)中,硬件接口可被用于全局地控制該網(wǎng)絡(luò)中的所有緩存分區(qū)的功率域。這種全局的方法在當(dāng)大量地址域區(qū)被引入時(shí)是不可行的,因?yàn)槊總€(gè)區(qū)將具有其自己的功率域要求。而且,對每個(gè)緩存分區(qū)使用硬件控制的ccn的互連實(shí)現(xiàn)方式在片上系統(tǒng)(soc)級變得難以管理,因?yàn)榫彺娣謪^(qū)的數(shù)目可能非常高。
技術(shù)實(shí)現(xiàn)要素:
根據(jù)本公開的一個(gè)或多個(gè)方面,提供了一種緩存一致性網(wǎng)絡(luò),包括:布置在多個(gè)分區(qū)群組中的多個(gè)可尋址接收器分區(qū),每個(gè)接收器分區(qū)具有相關(guān)聯(lián)的存儲區(qū)和處理器,并且每個(gè)分區(qū)群組具有功率域;一致性互連;多個(gè)發(fā)送器,被配置為通過一致性互連向多個(gè)接收器分區(qū)發(fā)送多個(gè)事務(wù)請求;以及功率控制元件,被耦合到多個(gè)可尋址接收器分區(qū)中的一個(gè)或多個(gè)接收器分區(qū)以及一致性互連,并且能操作來選擇性地控制多個(gè)分區(qū)群組的一個(gè)或多個(gè)分區(qū)群組中的每個(gè)接收器分區(qū)從當(dāng)前功率狀態(tài)向新功率狀態(tài)的轉(zhuǎn)換。
根據(jù)本公開的一個(gè)或多個(gè)方面,提供了一種動態(tài)控制緩存一致性網(wǎng)絡(luò)中的功率狀態(tài)的方法,包括:在一個(gè)或多個(gè)分區(qū)群組中布置多個(gè)可尋址接收器分區(qū),每個(gè)分區(qū)群組具有功率域;響應(yīng)于一個(gè)或多個(gè)分區(qū)群組的多個(gè)可尋址接收器分區(qū)接收到多個(gè)功率狀態(tài)轉(zhuǎn)換命令,一個(gè)或多個(gè)分區(qū)群組的每個(gè)接收器分區(qū)執(zhí)行所接收的功率狀態(tài)轉(zhuǎn)換命令,以從當(dāng)前功率狀態(tài)轉(zhuǎn)換為多個(gè)功率狀態(tài)中的新功率狀態(tài);以及一個(gè)或多個(gè)分區(qū)群組的每個(gè)接收器分區(qū)在當(dāng)該接收器分區(qū)從當(dāng)前功率狀態(tài)到新功率狀態(tài)的轉(zhuǎn)換完成時(shí),發(fā)送功率狀態(tài)轉(zhuǎn)換完成消息。
附圖說明
附圖提供了可視表示,它們將被用于更全面地描述各種代表性實(shí)施例,并且可被本領(lǐng)域技術(shù)人員用來更好地理解所公開的代表性實(shí)施例及其內(nèi)在的優(yōu)點(diǎn)。在這些視圖中,相同的標(biāo)號表示相應(yīng)的元素。
圖1是根據(jù)各種代表性實(shí)施例的分布式緩存系統(tǒng)的框圖,其中圖示出了兩個(gè)示例功率域配置。
圖2是根據(jù)各種代表性實(shí)施例的另一分布式緩存系統(tǒng)的框圖。
圖3是根據(jù)各種代表性實(shí)施例示出分布式緩存系統(tǒng)中的功率狀態(tài)控制的方法的流程圖。
圖4是根據(jù)各種代表性實(shí)施例的分布式緩存系統(tǒng)的框圖,其中硬件可被用于直接控制接收器裝置功率狀態(tài)。
圖5是根據(jù)各種代表性實(shí)施例的分布式緩存系統(tǒng)的框圖,其中接收器裝置內(nèi)部地發(fā)起動態(tài)保留功率轉(zhuǎn)換。
具體實(shí)施方式
在此描述的各種方法、系統(tǒng)、設(shè)備和裝置提供對與地址域區(qū)相關(guān)聯(lián)的功率域的選擇性控制。
雖然本發(fā)明易有許多不同形式的實(shí)施例,但在附圖中示出并且將在此詳細(xì)描述具體實(shí)施例。應(yīng)理解,本公開應(yīng)被認(rèn)為是本發(fā)明的原理的示例,并不意欲將本發(fā)明限制于所示和所述的具體實(shí)施例。在下面的描述中,附圖中的若干視圖中相同的標(biāo)號被用于描述相同、相似或相應(yīng)的部件。
在本文中,諸如第一和第二、上和下等關(guān)系術(shù)語可被僅用來把一個(gè)實(shí)體或動作與另一實(shí)體或動作區(qū)分開,而并非必要地要求或暗示這些實(shí)體或動作之間存在任何實(shí)際的這種關(guān)系或順序。術(shù)語“包括”、“包含”或其任何其他變型意在覆蓋非排他性的包括,諸如包括列出的元素的過程、方法、物品或設(shè)備并不是僅包括那些元素,而是可以包括其他未被明確列出的元素或者這些過程、方法、物品或設(shè)備固有的元素。冠以“包括”的元素在沒有更多限制的情況下并不排除在包括此元素的過程、方法、物品或設(shè)備中還存在另外的等同元素。
貫穿本文對“一個(gè)實(shí)施例”、“某些實(shí)施例”、“實(shí)施例”或類似術(shù)語的提及意味著結(jié)合該實(shí)施例描述的特定特征、結(jié)構(gòu)或特性被包括本發(fā)明的至少一個(gè)實(shí)施例中。因此,這種短語的出現(xiàn)或者在本說明書的各處出現(xiàn)這種短語并不一定全部都指相同的實(shí)施例。此外,特定特征、結(jié)構(gòu)或特性可以不受限制地以任何適當(dāng)方式組合在一個(gè)或多個(gè)實(shí)施例中。
如在此所使用的術(shù)語“或”應(yīng)被解釋為包括性的或者意味著任何一個(gè)或任何組合。因此,“a,b或c”指如下中的任一項(xiàng):a;b;c;a和b;a和c;b和c;a,b和c。對此定義的例外僅當(dāng)元件、功能、步驟或動作的組合以某種固有方式彼此互斥時(shí)才發(fā)生。
為了說明的簡單和清楚,標(biāo)號可能在各視圖間被重復(fù)以指代相應(yīng)或相似的元素。若干細(xì)節(jié)被提出以提供對在此所描述的實(shí)施例的理解。這些實(shí)施例可以在沒有這些細(xì)節(jié)的情況下實(shí)施。在其他實(shí)例中,公知的方法、過程、組件并未詳細(xì)描述,以避免模糊所描述的實(shí)施例。本文的說明不應(yīng)被認(rèn)為被限制于在此所描述的實(shí)施例的范圍。
根據(jù)在此所公開的各種實(shí)施例,若干單獨(dú)的、可尋址的接收器分區(qū)可以分組在提供可尋址存儲器訪問的一個(gè)或多個(gè)分區(qū)群組(地址域區(qū),諸如非統(tǒng)一存儲器訪問(numa)區(qū))中。這些分區(qū)群組的功率域或者甚至單獨(dú)的接收器分區(qū)的功率域可被選擇性地改變,以管理和控制緩存一致性系統(tǒng)的功耗。所公開的實(shí)施例通過硬件和軟件機(jī)制的組合使得能夠?qū)γ總€(gè)分區(qū)群組進(jìn)行單獨(dú)的、選擇性的功率域控制,甚至使得能夠?qū)为?dú)的接收器分區(qū)進(jìn)行這樣的功率控制。各個(gè)分區(qū)群組的功率接口可通過存在于微控制器(mcu)上的軟件來控制,mcu知道各個(gè)hn分區(qū)如何被分組到分區(qū)群組內(nèi)。分區(qū)群組的數(shù)目可以是兩個(gè)或更多個(gè),這依賴于soc的具體架構(gòu),并且接收器分區(qū)向分區(qū)群組的分組是可配置的。
如在此所使用的,術(shù)語一個(gè)或多個(gè)發(fā)送器可指代通過互連電路或結(jié)構(gòu)把事務(wù)請求流傳送給一個(gè)或多個(gè)接收器或接收器分區(qū)的請求節(jié)點(diǎn)或請求者(rn)、發(fā)起者裝置、源或其他事務(wù)生成裝置。作為生成事務(wù)和請求的任何裝置,發(fā)送器于是可以是數(shù)據(jù)處理系統(tǒng)中的主控裝置或發(fā)起者裝置,諸如數(shù)據(jù)處理器、圖形引擎、圖形姿態(tài)處理器(gpp)、處理元件或核心、處理核心簇、輸入/輸出(i/o)主控裝置、數(shù)字信號處理器(dsp)、現(xiàn)場可編程門陣列(fpga)或?qū)S眉呻娐?asic)裝置,這些作為示例而非限制。此外,事務(wù)請求可以由發(fā)送器生成或者由發(fā)送器從另一裝置接收,并且然后經(jīng)由互連被傳送給接收器。接收器可以是接收并執(zhí)行事務(wù)請求的任何設(shè)備,諸如主節(jié)點(diǎn)(homenode,hn)或者目標(biāo)。如此,接收器可以是中間裝置,諸如接收事務(wù)請求的一致性控制器或另一互連,或者其可以是事務(wù)請求的最終目的地。事務(wù)請求可以是發(fā)送器向接收器請求由接收器更新資源的狀態(tài)的請求;事務(wù)請求的示例包括存儲器讀請求和寫請求,諸如順序讀、順序?qū)?、無效請求、以及訪問存儲器映射的外圍裝置的請求?!百Y源”、“數(shù)據(jù)資源”、“緩沖區(qū)資源”等可以被多個(gè)裝置訪問并且具有與它相關(guān)聯(lián)的、可被更新和改變的狀態(tài)。資源的示例包括存儲器的字節(jié)、寄存器中的位,等等。
在緩存一致性網(wǎng)絡(luò)(ccn)中可采用的各種類型的rn包括完全一致性請求節(jié)點(diǎn)(rn-f)以及io一致性請求節(jié)點(diǎn)(rn-i)。rn-f節(jié)點(diǎn)的示例包括中央處理單元(cpu)或cpu簇,如在此所描述的視圖中所示;數(shù)據(jù)信號處理器(dsp);以及圖形處理單元(gpu)。rn-i節(jié)點(diǎn)的示例包括直接存儲器訪問(dma)節(jié)點(diǎn);pci-e總線;網(wǎng)絡(luò)引擎;網(wǎng)絡(luò)接口控制器(nic);以及微控制器(mcu)。
ccn中的接收器分區(qū)可以是目標(biāo)分區(qū)或接收器裝置分區(qū)。接收器分區(qū)可以具有相關(guān)聯(lián)的存儲區(qū)(諸如系統(tǒng)緩存)以及探聽過濾器,這并不是要求。雖然接收器并不總是包含緩存,但其總是ccn中的一致性點(diǎn)。因此,作為來自一個(gè)或多個(gè)發(fā)送器的事務(wù)請求的接收器,hn分區(qū)可用作一致性點(diǎn)/序列化點(diǎn)(poc/pos),這些分區(qū)可檢測與它們各自的共享緩存存儲器相關(guān)聯(lián)的存儲器地址,并且可動態(tài)地分配處理所接收的事務(wù)請求所需的處理資源。因此,hn分區(qū)經(jīng)由互連與rn通信;它們從一個(gè)或多個(gè)rn接收事務(wù)請求并且在完成請求時(shí)返回完成消息。對于ccn,hn分區(qū)可以是完全一致性hn,被表示為hn-f。然而,應(yīng)理解,對hn分區(qū)或hn-f緩存分區(qū)的提及包含各種類型的存儲器分區(qū),hn-f僅是其中一種特定類型。被分組在一起的hn分區(qū)可一起構(gòu)成緩存。此外,兩組hn分區(qū)可表示兩個(gè)獨(dú)立的緩存。
緩存存儲器可以是任何適當(dāng)存儲技術(shù),諸如隨機(jī)存取存儲器(ram)、只讀存儲器(rom)、閃存、電可擦除可編程只讀存儲器(eeprom)、海量存儲裝置(諸如硬盤驅(qū)動、軟盤驅(qū)動、光盤驅(qū)動),或者該緩存存儲器可以兼容其他電子存儲介質(zhì)和非易失性存儲器(nvm)。該存儲器可以是有源存儲器或者可以永久駐留在例如rom、eeprom或閃存中。
如圖1中所示,hn分區(qū)(被示為主節(jié)點(diǎn)130,即hn130)經(jīng)由一致性互連120與rn通信,rn在本示例中被示為cpu簇190。cpu簇190可包括多個(gè)處理器核心以及共享本地緩存存儲器。hn130通過一致性互連120接收來自一個(gè)或多個(gè)cpu簇190的事務(wù)請求,并且當(dāng)完成請求時(shí)返回完成消息。如先前所論述的,hn分區(qū),諸如hn130,可以是完全一致性hn,被表示為hn-f。然而,應(yīng)理解,對hn分區(qū)或hn-f緩存分區(qū)的提及涵蓋了各種類型的存儲器分區(qū),hn-f只是其中一種特定類型。
功率控制元件,諸如功率控制塊(pcb)140,被耦合到所示的一個(gè)或多個(gè)可尋址接收器分區(qū)hn130、一致性互連120以及中斷控制器150,并且可操作以選擇性地控制一個(gè)或多個(gè)分區(qū)群組的接收器分區(qū)從當(dāng)前功率狀態(tài)向新功率狀態(tài)的轉(zhuǎn)換,此外該功率控制元件也可以控制系統(tǒng)的一個(gè)或多個(gè)時(shí)鐘。一致性互連120提供處理器cpu簇190與控制器(如mcu160)之間的硬件接口,以便在各簇多核心cpu簇190之間提供完全緩存一致性。一致性互連120還可以提供對其他設(shè)備(諸如外圍設(shè)備和網(wǎng)絡(luò)接口)的io一致性。
被實(shí)現(xiàn)為soc的ccn可包括用以管理功率控制以及配置和其他任務(wù)的系統(tǒng)控制處理器。系統(tǒng)控制處理器可以是發(fā)出存儲器請求的任何io一致性rn節(jié)點(diǎn),諸如系統(tǒng)控制微控制器單元(mcu),諸如在此所示的mcu160,或者功率mcu或cpu。mcu軟件還知道與各個(gè)hn分區(qū)群組相關(guān)聯(lián)的numa區(qū),因?yàn)槠浜苡锌赡茉谙到y(tǒng)地址映射(sam)配置中被牽涉。
中斷控制器150在通常的系統(tǒng)中處理所有中斷,并且響應(yīng)于經(jīng)由pcb140接收的中斷信號145。中斷控制器150生成的中斷155可以響應(yīng)于由pcb140傳送到中斷控制器150的系統(tǒng)中的各種中斷源,諸如來自一個(gè)或多個(gè)hn130、cpu簇190或系統(tǒng)的外圍裝置。
某些ccn互連試圖實(shí)施硬件接口來全局地控制所有hn-f分區(qū)的功率域。然而,此全局方法可能對于hn-f分區(qū)向存儲器訪問分區(qū)群組或numa區(qū)的分組是不可行或不是最佳的,因?yàn)槊總€(gè)numa群組可具有其自己的功率域要求。此外,對存儲器訪問分區(qū)群組的全局硬件控制在soc級(其中,對于一些架構(gòu),hn-f分區(qū)的數(shù)目可以高達(dá)32)是難以管理的。
在這里所描述的ccn中,hn-f分區(qū)可以被分組到分區(qū)群組,這可以在上電時(shí)以軟件方式配置。每個(gè)分區(qū)群組對于該分區(qū)群組的具體hn-f分區(qū)將具有不同地址范圍,并且不同分區(qū)群組可用于不同邏輯目的。例如,在分割的操作系統(tǒng)(os)方法中,不同分區(qū)群組可支持不同操作系統(tǒng)(os)。不同分區(qū)群組可支持具有不同緩存要求的工作負(fù)荷或任務(wù);例如,與特定分區(qū)群組相關(guān)聯(lián)的一個(gè)存儲器地址區(qū)可能基于系統(tǒng)工作負(fù)荷要求完全系統(tǒng)級緩存(slc)容量,而另一分區(qū)群組執(zhí)行其分配的任務(wù)可能根本不需要任何緩存。在不同hn-f分區(qū)中運(yùn)行的分離的工作負(fù)荷可能具有非常不同的帶寬或容量要求。例如,如果與hn-f分區(qū)的分區(qū)群組相關(guān)聯(lián)的numa區(qū)的工作負(fù)荷不需要或未利用該分區(qū)群組提供的帶寬或緩存容量,則該分區(qū)群組可以被斷電。
例如,在圖1中所示的具體示例中,有兩個(gè)不同配置的分區(qū)群組:分區(qū)群組170和分區(qū)群組180。有四個(gè)不同的分區(qū)群組170,每個(gè)具有其自己的功率域。在該具體示例中,每個(gè)分區(qū)群組130被示為具有四個(gè)hn的行。另一分區(qū)配置通過兩個(gè)分區(qū)群組180被示出,每個(gè)包含兩列hn130,每個(gè)分區(qū)群組180有總共八個(gè)hn。每個(gè)分區(qū)群組180具有其自己的功率域。再次,對hn分區(qū)的提及包括完全一致性hn分區(qū)或hn-f。然而,應(yīng)理解,對hn分區(qū)或hn-f緩存分區(qū)的提及涵蓋各種類型的存儲器分區(qū),hn-f只是其中一種特定類型。
如在此所描述的,各種實(shí)施例提供對網(wǎng)絡(luò)的hn-f分區(qū)的功率狀態(tài)和/或分區(qū)hn-f群組的功率狀態(tài)的動態(tài)靈活控制。響應(yīng)于hn-f完成功率狀態(tài)轉(zhuǎn)換而生成過濾的中斷是用于傳送分區(qū)群組的hn-f分區(qū)或者ccn中的所有hn-f分區(qū)的功率狀態(tài)轉(zhuǎn)換的一種方法。mcu軟件可響應(yīng)于希望改變一個(gè)或多個(gè)分區(qū)群組的hn-f分區(qū)的功率狀態(tài)而跨numa區(qū)(分區(qū)群組)管理功率狀態(tài)。
現(xiàn)在參考圖3的流程圖300,一種控制隔離的接收器裝置分區(qū)群組的功率狀態(tài)的方法被圖示出。在塊310,mcu軟件可經(jīng)由性能計(jì)數(shù)器監(jiān)控網(wǎng)絡(luò)中的每個(gè)分區(qū)群組的hn-f活動性的活動性參數(shù)。例如,監(jiān)控hn-f分區(qū)的活動性或性能參數(shù)可包括:監(jiān)控分區(qū)群組的hn-f隨時(shí)間的緩存訪問次數(shù)或者與分區(qū)群組的hn-f相關(guān)聯(lián)的hn-f緩存命中率,或者輪詢hn-f分區(qū)的功率狀態(tài)寄存器來做出這種確定。如在判決塊320處所確定的,如果變得需要或者希望改變分區(qū)群組的hn-f分區(qū)的功率狀態(tài),則在塊330處,mcu程序于是引起ccn的功率中斷屏蔽(mask)對所涉目標(biāo)分區(qū)群組中的hn-f的功率狀態(tài)完成進(jìn)行過濾(filteron);這可以是如圖1中所指示的所有分區(qū)群組170和180的hn-f的功率狀態(tài)完成,或者其可以僅針對如圖2的緩存一致性網(wǎng)絡(luò)200中所示的分區(qū)群組180的hn-f。
在塊340,mcu為每個(gè)hn-f分區(qū)提供所希望的功率狀態(tài),諸如通過對該分區(qū)群組內(nèi)的每個(gè)hn-f分區(qū)的功率狀態(tài)寄存器編程以每個(gè)hn-f分區(qū)所需的功能性功率狀態(tài)。在此意義上,mcu為分區(qū)群組中的每個(gè)hn-f分區(qū)提供指示所希望的新功率狀態(tài)的功率狀態(tài)指示符。在塊350,響應(yīng)于接收到來自mcu的功率狀態(tài)轉(zhuǎn)換命令,目標(biāo)分區(qū)群組內(nèi)的每個(gè)hn-f分區(qū)根據(jù)其功率狀態(tài)寄存器執(zhí)行功能性功率狀態(tài)轉(zhuǎn)換,從當(dāng)前功率狀態(tài)進(jìn)入新功率狀態(tài)。hn-f執(zhí)行所接收的功率狀態(tài)轉(zhuǎn)換命令可包括:沖洗其相關(guān)聯(lián)的hn-f緩存,以及將與特定hn-f分區(qū)相關(guān)聯(lián)的隨機(jī)存取存儲器(ram)和系統(tǒng)級緩存置于新的所需功率狀態(tài)。如在圖1中所指示,在塊360,每個(gè)目標(biāo)hn-f在完成功率狀態(tài)轉(zhuǎn)換時(shí)經(jīng)由功率控制塊pcb140向全局功率中斷邏輯(即中斷控制器150)發(fā)送功率狀態(tài)轉(zhuǎn)換完成消息。在分區(qū)群組內(nèi)的所有受影響的hn-f分區(qū)的功率狀態(tài)轉(zhuǎn)換都完成后,中斷控制器150斷言功率中斷155,以向mcu通傳功率狀態(tài)轉(zhuǎn)換完成。這在圖1和圖2指示出。
根據(jù)某些實(shí)施例,針對一個(gè)或多個(gè)分區(qū)群組的hn分區(qū)的hn-f中斷屏蔽和狀態(tài)寄存器可駐留在pcb140中。中斷屏蔽可以由軟件針對一個(gè)或多個(gè)分區(qū)群組的相應(yīng)功率域中的每個(gè)hn-f130進(jìn)行設(shè)置。如圖1所示,hn-f130在完成從當(dāng)前功率狀態(tài)向新功率狀態(tài)的轉(zhuǎn)換時(shí)向功率控制塊140發(fā)送功率狀態(tài)轉(zhuǎn)換完成消息。pcb140于是在pcb狀態(tài)寄存器中設(shè)置針對該hn-f的狀態(tài)寄存器。一旦在狀態(tài)寄存器中設(shè)置了針對所涉分區(qū)群組的所有被屏蔽hn-f完成位,中斷信號145被斷言(被生成)。如果系統(tǒng)要求多個(gè)功率域中的功率狀態(tài)轉(zhuǎn)換,則mcu設(shè)置針對所有轉(zhuǎn)換域中的hn-f的屏蔽位。在此情況中,在多個(gè)域中的所有主節(jié)點(diǎn)全部都完成其功率狀態(tài)轉(zhuǎn)換后,中斷信號145被斷言。
還預(yù)期到跨所有hn-f分區(qū)進(jìn)行功率狀態(tài)的全局硬件接口控制,而不論是否對hn-f分區(qū)進(jìn)行分區(qū)分組。除了對hn-f功率域的軟件控制,還能夠基于外部硬件配置或者通過利用請求/確認(rèn)信號接口的控制信令,在重置去斷言時(shí)向所有hn-f分區(qū)發(fā)送功率轉(zhuǎn)換請求或消息,如將要描述的。這些請求由pcb140發(fā)送給所有hn-f分區(qū)。這種方法降低或者去除了不需要任何hn-f功率域功能性的soc的軟件要求以及復(fù)雜度。hn-f分區(qū)可直接重置為完全hn-f操作狀態(tài)。
pcb140允許硬件發(fā)起的狀態(tài)改變,不論是否對hn-f分區(qū)進(jìn)行分區(qū)分組。現(xiàn)在參考圖4的緩存一致性網(wǎng)絡(luò)400,在系統(tǒng)的請求/確認(rèn)信令或重置的去斷言時(shí),功率轉(zhuǎn)換請求(消息)經(jīng)由硬件接口410被發(fā)送給pcb140,如所示。pcb140將所接收的功率轉(zhuǎn)換請求發(fā)送給所有hn-f分區(qū)130,不論是否分組到分區(qū)群組。各個(gè)hn-f分區(qū)130根據(jù)從pcb140接收的功率轉(zhuǎn)換消息改變其功率狀態(tài)。硬件發(fā)起的狀態(tài)改變的一個(gè)示例實(shí)現(xiàn)方式將是soc功率控制邏輯和pcb之間的請求/確認(rèn)信號接口。soc向pcb請求轉(zhuǎn)換到完全操作功率狀態(tài)。pcb于是向所有hn-f分區(qū)發(fā)送消息以完全地使能它們的緩存和探聽過濾器邏輯。每個(gè)hn-f分區(qū)在轉(zhuǎn)換完成時(shí)向pcb發(fā)送完成消息,并且在所有hn-f分區(qū)完成轉(zhuǎn)換后,pcb斷言確認(rèn),該確認(rèn)返回soc。
根據(jù)另一示例實(shí)施例,一個(gè)或多個(gè)hn-f分區(qū)的功率狀態(tài)可以由各hn-f分區(qū)自身控制??刂撇?zhí)行從當(dāng)前功率狀態(tài)向新功率狀態(tài)的功率狀態(tài)轉(zhuǎn)換無需或不要求hn-f分區(qū)外部的輸入。因此,與前述實(shí)施例不同,無需來自任何pcb140或mcu160的輸入,諸如功率狀態(tài)轉(zhuǎn)換命令。hn-f分區(qū)自身的處理器用作功率控制元件并且控制從當(dāng)前功率狀態(tài)向新功率狀態(tài)的執(zhí)行。在圖5的示例中,于是主節(jié)點(diǎn)510自身內(nèi)部地發(fā)起動態(tài)功率保留轉(zhuǎn)換,沒有來自pcb140或mcu160的諸如功率狀態(tài)轉(zhuǎn)換命令的輸入。內(nèi)部地生成功率轉(zhuǎn)換的一個(gè)示例是由hn-f分區(qū)不活動性觸發(fā)的動態(tài)保留。hn-f分區(qū)可實(shí)施計(jì)數(shù)器來追蹤不活動周期數(shù),并且當(dāng)達(dá)到閾值時(shí)觸發(fā)動態(tài)保留狀態(tài)。動態(tài)保留狀態(tài)將hn-f緩存ram置于低功率狀態(tài),其中緩存數(shù)據(jù)被保留,但是不能被訪問。當(dāng)需要hn-f分區(qū)功能性的活動發(fā)生時(shí),hn-f分區(qū)退出動態(tài)保留狀態(tài)。
如在此所使用的,接收器裝置的一種或多種功率狀態(tài)可大幅改變并且可依據(jù)各接收器裝置的模式而不同。例如,可有與接收器裝置的關(guān)機(jī)相關(guān)聯(lián)的功率狀態(tài),與接收器裝置的操作模式相關(guān)聯(lián)的功率狀態(tài),與接收器裝置的動態(tài)保留模式相關(guān)聯(lián)的其他功率狀態(tài)。例如,如果接收器裝置是緩存存儲器,則其可以具有不同容量水平的不同功能性功率狀態(tài)(例如,緩存路的數(shù)量減少),并且針對緩存ram可以具有不同水平的保留狀態(tài)。
如在此所使用的,術(shù)語處理器、控制器等可涵蓋處理器、控制器、微處理單元(mcu)、微處理器和其他適當(dāng)控制元件。將會認(rèn)識到在此描述的本發(fā)明的實(shí)施例可以包括一個(gè)或多個(gè)傳統(tǒng)處理器和特殊存儲的程序指令,該程序指令控制一個(gè)或多個(gè)處理器結(jié)合一些非處理器電路執(zhí)行在此所述功能中的一些功能、大部分功能或全部功能。非處理器電路可以包括但不限于接收器、發(fā)送器、無線電收發(fā)器、信號驅(qū)動器、時(shí)鐘電路、電源電路以及用戶輸入裝置。如此,這些功能可被解釋為一種執(zhí)行根據(jù)與本發(fā)明一致的某些實(shí)施例的功能的方法。替代地,一些或全部功能可以通過沒有存儲程序指令的狀態(tài)機(jī)實(shí)現(xiàn),或者被存儲在一個(gè)或多個(gè)專用集成電路(asic)中,其中每個(gè)功能或某些功能的一些組合被實(shí)現(xiàn)為定制邏輯。當(dāng)然,也可使用這些方法的組合。此外,預(yù)期到本領(lǐng)域技術(shù)人員在此所公開的概念和原理的教導(dǎo)下雖然受某些因素(例如,可用時(shí)間、當(dāng)前技術(shù)、經(jīng)濟(jì)考量)驅(qū)動而可能需要大量努力和許多設(shè)計(jì)選擇但將能夠容易地用最少的實(shí)驗(yàn)生成這樣的軟件指令和程序以及ic。
因此,根據(jù)在此描述的各種實(shí)施例,一種緩存一致性網(wǎng)絡(luò)具有:布置在多個(gè)分區(qū)群組中的多個(gè)可尋址接收器分區(qū),每個(gè)接收器分區(qū)具有相關(guān)聯(lián)的存儲區(qū)和處理器,并且每個(gè)分區(qū)群組具有功率域;一致性互連;多個(gè)發(fā)送器,被配置為通過一致性互連向多個(gè)接收器分區(qū)發(fā)送多個(gè)事務(wù)請求;以及功率控制元件,被耦合到可尋址接收器分區(qū)中的一個(gè)或多個(gè)接收器分區(qū)以及一致性互連,并且能操作來選擇性地控制多個(gè)分區(qū)群組中的一個(gè)或多個(gè)分區(qū)群組中的每個(gè)接收器分區(qū)從當(dāng)前功率狀態(tài)向新功率狀態(tài)的轉(zhuǎn)換。
根據(jù)本公開的一些實(shí)施例,提供了一種緩存一致性網(wǎng)絡(luò)中動態(tài)控制功率狀態(tài)的方法,該方法包括:將多個(gè)可尋址接收器分區(qū)布置在一個(gè)或多個(gè)分區(qū)群組中,每個(gè)分區(qū)群組具有功率域;響應(yīng)于一個(gè)或多個(gè)分區(qū)群組的多個(gè)可尋址接收器分區(qū)接收到多個(gè)功率狀態(tài)轉(zhuǎn)換命令,一個(gè)或多個(gè)分區(qū)群組的每個(gè)接收器分區(qū)執(zhí)行所接收的功率狀態(tài)轉(zhuǎn)換命令以從當(dāng)前功率狀態(tài)轉(zhuǎn)換為多個(gè)功率狀態(tài)中的新功率狀態(tài);以及一個(gè)或多個(gè)分區(qū)群組的每個(gè)接收器分區(qū)在當(dāng)該接收器分區(qū)從當(dāng)前功率狀態(tài)到新功率狀態(tài)的轉(zhuǎn)換完成時(shí)發(fā)送功率狀態(tài)轉(zhuǎn)換完成消息。
本領(lǐng)域技術(shù)人員將會認(rèn)識到本發(fā)明已經(jīng)結(jié)合基于利用了被編程的處理器的示例性實(shí)施例而被描述。然而,本發(fā)明不應(yīng)被如此限制,因?yàn)楸景l(fā)明可以使用硬件組件等同物來實(shí)現(xiàn),諸如與所描述并要求保護(hù)的發(fā)明等同的專用硬件和/或?qū)S锰幚砥鳌n愃频?,通用?jì)算機(jī)、基于計(jì)算機(jī)的微處理器、微控制器、光學(xué)計(jì)算機(jī)、模擬計(jì)算機(jī)、專用處理器和/或?qū)S糜策B線邏輯可用于構(gòu)建本發(fā)明的實(shí)施例的等同替換。
此外,本領(lǐng)域技術(shù)人員將認(rèn)識到用于實(shí)現(xiàn)上述實(shí)施例的程序流和關(guān)聯(lián)數(shù)據(jù)可以使用各種形式的存儲裝置來實(shí)現(xiàn),例如,只讀存儲器(rom)、隨機(jī)存儲存儲器(ram),電可擦除可編程只讀存儲器(eeprom);非易失性存儲器(nvm);如硬盤驅(qū)動,軟盤驅(qū)動,光盤驅(qū)動的海量存儲裝置、光存儲元件、磁存儲元件、磁光存儲元件、閃存、核心存儲器和/或不脫離本發(fā)明的其他等同存儲技術(shù)。這些替代存儲裝置應(yīng)被認(rèn)為是等同的。
在此描述的各種實(shí)施例利用運(yùn)行編程指令的編程的處理器來實(shí)施,其中編程指令以流程圖的形式被廣義的描述并且可被存儲在任何適當(dāng)電子存儲介質(zhì)上或通過任何適當(dāng)電子通信介質(zhì)被傳輸。然而,本領(lǐng)域技術(shù)人員將會認(rèn)識到上述處理可以在任何數(shù)量的變體中以及以許多適當(dāng)編程語言來實(shí)現(xiàn),而不脫離本發(fā)明。例如,在不脫離本發(fā)明的情況下,所執(zhí)行的某些操作的順序通常可被改變,另外的操作可被增加,或者操作可被刪除。錯(cuò)誤捕獲可被添加和/或增強(qiáng),并且在用戶界面和信息呈現(xiàn)方面也可做出變型,而不脫離本發(fā)明。這些變型是可預(yù)期的并被認(rèn)為是等同的。
相應(yīng)地,所公開的實(shí)施例的一些方面和特征在下面編號的條目中被給出。
1.一種緩存一致性網(wǎng)絡(luò),包括:
布置在多個(gè)分區(qū)群組中的多個(gè)可尋址接收器分區(qū),每個(gè)接收器分區(qū)具有相關(guān)聯(lián)的存儲區(qū)和處理器,并且每個(gè)分區(qū)群組具有功率域;
一致性互連;
多個(gè)發(fā)送器,被配置為通過一致性互連向多個(gè)接收器分區(qū)發(fā)送多個(gè)事務(wù)請求;以及
功率控制元件,被耦合到多個(gè)可尋址接收器分區(qū)中的一個(gè)或多個(gè)接收器分區(qū)以及一致性互連,并且能操作來選擇性地控制多個(gè)分區(qū)群組的一個(gè)或多個(gè)分區(qū)群組中的每個(gè)接收器分區(qū)從當(dāng)前功率狀態(tài)向新功率狀態(tài)的轉(zhuǎn)換。
2.按照條目1的網(wǎng)絡(luò),其中,多個(gè)接收器分區(qū)在多個(gè)分區(qū)群組中的布置是能配置的。
3.按照條目1的網(wǎng)絡(luò),其中,多個(gè)接收器分區(qū)是布置在多個(gè)主節(jié)點(diǎn)分區(qū)群組中的主節(jié)點(diǎn)分區(qū)并且多個(gè)發(fā)送器是請求節(jié)點(diǎn),每個(gè)主節(jié)點(diǎn)分區(qū)能作為針對從多個(gè)請求節(jié)點(diǎn)中的一個(gè)或多個(gè)請求節(jié)點(diǎn)接收的請求的一致性點(diǎn)/序列化點(diǎn)操作。
4.按照條目1的網(wǎng)絡(luò),其中,接收器分區(qū)的處理器是功率控制元件,并且控制接收器分區(qū)從當(dāng)前功率狀態(tài)向新功率狀態(tài)的轉(zhuǎn)換。
5.按照條目5的網(wǎng)絡(luò),其中,接收器分區(qū)未接收到功率狀態(tài)轉(zhuǎn)換指令。
6.按照條目1的網(wǎng)絡(luò),其中,響應(yīng)于接收到多個(gè)功率狀態(tài)轉(zhuǎn)換命令,功率控制元件指示接收器分區(qū)執(zhí)行從當(dāng)前功率狀態(tài)到新功率狀態(tài)的功率狀態(tài)轉(zhuǎn)換,而不論接收器分區(qū)在多個(gè)分區(qū)群組中的布置如何。
7.按照條目1的網(wǎng)絡(luò),還包括:功率狀態(tài)寄存器,該功率狀態(tài)寄存器被耦合到每個(gè)接收器分區(qū);中斷屏蔽,該中斷屏蔽被耦合到功率控制元件,其中率控制元件能操作以將一個(gè)或多個(gè)分區(qū)群組的每個(gè)接收器分區(qū)的新功率狀態(tài)存儲在功率狀態(tài)寄存器中,并且功率控制元件能操作以使得中斷屏蔽對從多個(gè)接收器分區(qū)接收的功率狀態(tài)轉(zhuǎn)換完成進(jìn)行過濾。
8.按照條目7的網(wǎng)絡(luò),其中,一個(gè)或多個(gè)分區(qū)群組的每個(gè)接收器分區(qū)在該接收器分區(qū)執(zhí)行從當(dāng)前功率狀態(tài)到新功率狀態(tài)的轉(zhuǎn)換后發(fā)送功率狀態(tài)轉(zhuǎn)換完成消息,并且在一個(gè)或多個(gè)分區(qū)群組的接收器分區(qū)發(fā)送了功率狀態(tài)轉(zhuǎn)換完成消息時(shí),功率控制元件斷言中斷信號,該中斷信號由緩存一致性網(wǎng)絡(luò)的中斷控制器接收。
9.按照條目8的網(wǎng)絡(luò),其中,功率控制元件響應(yīng)于接收到由接收器分區(qū)發(fā)送的功率狀態(tài)轉(zhuǎn)換完成消息,更新與該接收器分區(qū)相關(guān)聯(lián)的狀態(tài)寄存器位。
10.一種動態(tài)控制緩存一致性網(wǎng)絡(luò)中的功率狀態(tài)的方法,包括:
在一個(gè)或多個(gè)分區(qū)群組中布置多個(gè)可尋址接收器分區(qū),每個(gè)分區(qū)群組具有功率域;
響應(yīng)于一個(gè)或多個(gè)分區(qū)群組的多個(gè)可尋址接收器分區(qū)接收到多個(gè)功率狀態(tài)轉(zhuǎn)換命令,一個(gè)或多個(gè)分區(qū)群組的每個(gè)接收器分區(qū)執(zhí)行所接收的功率狀態(tài)轉(zhuǎn)換命令,以從當(dāng)前功率狀態(tài)轉(zhuǎn)換為多個(gè)功率狀態(tài)中的新功率狀態(tài);以及
一個(gè)或多個(gè)分區(qū)群組的每個(gè)接收器分區(qū)在當(dāng)該接收器分區(qū)從當(dāng)前功率狀態(tài)到新功率狀態(tài)的轉(zhuǎn)換完成時(shí),發(fā)送功率狀態(tài)轉(zhuǎn)換完成消息。
11.按照條目10的方法,還包括:促成緩存一致性網(wǎng)絡(luò)的功率控制元件的功率中斷屏蔽從而對每個(gè)接收器分區(qū)從當(dāng)前功率狀態(tài)向新功率狀態(tài)的功率狀態(tài)轉(zhuǎn)換完成進(jìn)行過濾。
12.按照條目10的方法,緩存一致性網(wǎng)絡(luò)的功率控制元件向每個(gè)接收器分區(qū)提供新功率狀態(tài)。
13.按照條目10的方法,還包括多個(gè)接收器分區(qū)的中的接收器分區(qū)的處理器控制該接收器分區(qū)從當(dāng)前功率狀態(tài)向新功率狀態(tài)的轉(zhuǎn)換,其中該接收器分區(qū)并未接收到功率狀態(tài)轉(zhuǎn)換命令。
14.按照條目10的方法,還包括一旦一個(gè)或多個(gè)分區(qū)群組的所有接收器分區(qū)都已經(jīng)完成了從當(dāng)前狀態(tài)向新狀態(tài)的轉(zhuǎn)換,則斷言中斷信號。
15.按照條目10的方法,還包括響應(yīng)于接收到來自接收器分區(qū)的功率狀態(tài)轉(zhuǎn)換完成消息,更新與該接收器分區(qū)相關(guān)聯(lián)的狀態(tài)寄存器位。
16.按照條目10的方法,其中,多個(gè)功率狀態(tài)中針對第一接收器分區(qū)和第二接收器分區(qū)的新功率狀態(tài)是不同的。
17.按照條目10的方法,還包括:
響應(yīng)于經(jīng)由緩存一致性網(wǎng)絡(luò)的硬件接口接收到第一多個(gè)功率狀態(tài)轉(zhuǎn)換命令,緩存一致性網(wǎng)絡(luò)的功率控制元件向一個(gè)或多個(gè)分區(qū)群組中的每個(gè)可尋址接收器分區(qū)發(fā)送多個(gè)功率狀態(tài)轉(zhuǎn)換命令。
18.按照條目10的方法,還包括:監(jiān)控多個(gè)分區(qū)群組中一個(gè)或多個(gè)分區(qū)群組的多個(gè)接收器分區(qū)的一個(gè)或多個(gè)活動性參數(shù),以確定何時(shí)轉(zhuǎn)換一個(gè)或多個(gè)分區(qū)群組的多個(gè)接收器分區(qū)中的每個(gè)接收器分區(qū)的功率狀態(tài)。
19.按照條目10的方法,還包括:
通過改變多個(gè)可尋址接收器分區(qū)在一個(gè)或多個(gè)分區(qū)群組中的布置來重新配置一個(gè)或多個(gè)分區(qū)群組。
20.按照條目10的方法,還包括:
響應(yīng)于所接收的從當(dāng)前功率狀態(tài)向新功率狀態(tài)轉(zhuǎn)換的功率狀態(tài)轉(zhuǎn)換命令,一個(gè)或多個(gè)分區(qū)群組的每個(gè)接收器分區(qū)沖洗與該接收器分區(qū)相關(guān)聯(lián)的存儲區(qū)。
21.按照條目10的方法,還包括將新功率狀態(tài)存儲在各接收器分區(qū)的功率狀態(tài)寄存器內(nèi)。
在此已經(jīng)詳細(xì)描述的各種代表性實(shí)施例已經(jīng)通過示例而非限制的方式被呈現(xiàn)。本領(lǐng)域技術(shù)人員將會理解在所描述的實(shí)施例的形式和細(xì)節(jié)上可以做出各種帶來在所附權(quán)利要求的范圍內(nèi)的等同實(shí)施例的改變。