專利名稱:用于鏈路互連的功率管理的方法、系統(tǒng)和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的實(shí)施例涉及劃分(partitioning)的領(lǐng)域,并且4艮據(jù)一個(gè) 實(shí)施例,涉及一種用于鏈路互連的功率管理的方法和裝置以及系統(tǒng)。
背景技術(shù):
功率管理方案允許降低多種類型的系統(tǒng)和集成設(shè)備(例如服務(wù) 器、膝上型計(jì)算機(jī)、處理器和桌上型計(jì)算機(jī))的功耗。隨著具有多個(gè) 核的處理器的引入,功率管理由于以高頻和高電壓操作的核增加而成 為主要關(guān)注所在,并且需要遵守多種功率約束,例如熱極限、最大電 流和Vcc范圍。
鏈路互連允許設(shè)備與功能塊之間的通信?;ミB的一些示例是共享 總線和點(diǎn)到點(diǎn)鏈路。鏈路根據(jù)通信量而可能處于不同的功率狀態(tài),并 且每個(gè)狀態(tài)允許不同級(jí)別的功率與性能折衷。當(dāng)鏈路上沒(méi)有通信量并 且此狀況通常由空閑超時(shí)機(jī)制感測(cè)時(shí),可將鏈路轉(zhuǎn)換到低功率狀態(tài), 即如果預(yù)設(shè)的時(shí)間間隔里沒(méi)有鏈路通信量,則將鏈路轉(zhuǎn)換到低功率狀 態(tài)。小的空閑鏈路超時(shí)值允許鏈路更頻繁地轉(zhuǎn)換到低功率狀態(tài),因此 增加功率節(jié)省,但是要脫離低功率狀態(tài),喚醒鏈路存在以性能為代價(jià) 的懲罰。另一方面,較大的空閑超時(shí)將此性能懲罰減到最小,但是鏈 路進(jìn)入低功率狀態(tài)不那么頻繁,從而降低功率節(jié)省。
發(fā)明內(nèi)容
本發(fā)明提供一種用于為互連管理功率狀態(tài)的方法,包括在接 收到請(qǐng)求時(shí)生成早期告警信號(hào);解碼出所述請(qǐng)求是讀還是寫(xiě)操作;當(dāng)
所述請(qǐng)求是寫(xiě)操作時(shí),至少部分地基于使用所述早期告警信號(hào)將所述鏈路從第一功率狀態(tài)轉(zhuǎn)換到第二功率狀態(tài),否則,至少部分地基于計(jì) 算與對(duì)所述讀操作的響應(yīng)關(guān)聯(lián)的延遲來(lái)將所述鏈路從第 一功率狀態(tài) 轉(zhuǎn)換到第二功率狀態(tài),所述延遲相關(guān)于與>^人所述第一狀態(tài)到所述第二 功率狀態(tài)的轉(zhuǎn)換關(guān)聯(lián)的喚醒延遲。
本發(fā)明提供一種用于為互連管理功率狀態(tài)的方法,包括當(dāng)接收 到請(qǐng)求時(shí)生成早期告警信號(hào);當(dāng)接收到所述請(qǐng)求時(shí)設(shè)置標(biāo)志;當(dāng)接收 到另一個(gè)請(qǐng)求時(shí)復(fù)位所述標(biāo)志;以及基于所述標(biāo)志值,為所述互連啟 動(dòng)功率狀態(tài)轉(zhuǎn)換,而不考慮空閑超時(shí)值。
本發(fā)明還提供一種系統(tǒng),包括處理器,生成請(qǐng)求;存儲(chǔ)器,耦 合到所述處理器并接收請(qǐng)求;互連結(jié)構(gòu),將所述處理器連接到所述存 儲(chǔ)器;互連控制邏輯,在接收到所述請(qǐng)求時(shí)生成早期告警信號(hào),至少 部分地基于所述早期告警信號(hào)的生成和接收到對(duì)所述請(qǐng)求的響應(yīng)之 間的時(shí)間差與所述互連結(jié)構(gòu)的從第一功率狀態(tài)到第二功率狀態(tài)的轉(zhuǎn) 換時(shí)間的比較,來(lái)為所述互連結(jié)構(gòu)設(shè)置空閑超時(shí)值。
本發(fā)明還提供一種為互連管理的功率狀態(tài)的集成設(shè)備,包括緩 沖器,存儲(chǔ)從所述互連接收的多個(gè)分組;請(qǐng)求跟蹤器隊(duì)列,耦合到所 述緩沖器,存儲(chǔ)所接收的分組的已解碼版本、要由耦合到所述集成設(shè) 備的存儲(chǔ)器處理的請(qǐng)求;以及互連控制邏輯,在接收到所述請(qǐng)求時(shí)生 成早期告警信號(hào),至少部分地基于所述早期告警信號(hào)的生成和接收到 對(duì)所述請(qǐng)求的響應(yīng)之間的時(shí)間差與所述互連結(jié)構(gòu)功率控制邏輯的從 第 一功率狀態(tài)到笫二功率狀態(tài)的轉(zhuǎn)換時(shí)間的比命支,來(lái)為所述互連"&置
空閑超時(shí)值。
通過(guò)參考用于說(shuō)明本發(fā)明實(shí)施例的以下描述和附圖,可最佳地理 解本發(fā)明。
圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的雙處理器系統(tǒng)的示范框圖。 圖2是根據(jù)本發(fā)明一個(gè)實(shí)施例的多處理器系統(tǒng)的示范框圖。
6圖3是4艮據(jù)本發(fā)明一個(gè)實(shí)施例的圖1-2的系統(tǒng)的宿主代理(home agent)和高速緩存代理(caching agent)的架構(gòu)的示范實(shí)施例。 圖4是根據(jù)本發(fā)明一個(gè)實(shí)施例的系統(tǒng)的框圖。 圖5是根據(jù)本發(fā)明一個(gè)實(shí)施例的裝置。 圖6是根據(jù)本發(fā)明 一個(gè)實(shí)施例的時(shí)序圖。
具體實(shí)施例方式
在下文描述中,使用了某些術(shù)語(yǔ)來(lái)描述本發(fā)明的特征。例如,術(shù) 語(yǔ)"設(shè)備"或"代理"是常用的,它們可以用于描述耦合到鏈路的任 何電子組件。"鏈路或互連"常常定義為建立用于消息(即以預(yù)定格 式設(shè)置的信息)的通信路徑的信息承載介質(zhì)。鏈路或互連可以是有線 物理介質(zhì)(例如,總線、 一個(gè)或多個(gè)電線、跡線、電纜等)或無(wú)線介 質(zhì)(例如與無(wú)線信令技術(shù)組合的空氣)。
在一個(gè)實(shí)施例中,要求權(quán)利的本發(fā)明主題允許使用激進(jìn)的空閑超 時(shí)值來(lái)轉(zhuǎn)換到低鏈路功率狀態(tài)中,同時(shí)將從低功率狀態(tài)喚醒鏈路的事 務(wù)的時(shí)延減到最小。在一個(gè)方面中,要求權(quán)利的本發(fā)明主題優(yōu)化功率 和性能的折衷。
術(shù)語(yǔ)"宿主代理"廣義地定義為某種設(shè)備,其為高速緩存代理提 供資源以訪問(wèn)存儲(chǔ)器,且基于來(lái)自高速緩存代理的請(qǐng)求,能夠解決沖 突、維持排序等。宿主代理包括用于每個(gè)高速緩存代理的數(shù)據(jù)緩沖器 和跟蹤器,如下文所述。"跟蹤器"是用于來(lái)自特定設(shè)備的存儲(chǔ)器請(qǐng) 求的專用存儲(chǔ)裝置。例如,第一跟蹤器可包括與第一高速緩存代理關(guān) 聯(lián)的多個(gè)項(xiàng),而第二跟蹤器可包括與第二高速緩存代理關(guān)聯(lián)的其他 項(xiàng)。根據(jù)本發(fā)明的一個(gè)實(shí)施例,"高速緩存代理" 一般是適于將存儲(chǔ) 器請(qǐng)求路由到宿主代理的高速緩存控制器。
術(shù)語(yǔ)"邏輯" 一般定義為執(zhí)行例如控制設(shè)備之間的消息交換的一 個(gè)或多個(gè)操作的硬件和/或軟件。當(dāng)以軟件方式部署時(shí),此類軟件可以 是例如應(yīng)用程序、例程或甚至一個(gè)或多個(gè)指令的可運(yùn)行代碼。軟件可以存儲(chǔ)在任何類型的存儲(chǔ)器中,通常適合的存儲(chǔ)介質(zhì)諸如(i)任何類
型的盤(pán),包括軟盤(pán)、磁光盤(pán)和例如壓縮光盤(pán)只讀存儲(chǔ)器(CD-ROM)、 可重寫(xiě)的壓縮光盤(pán)(CD-RW)、數(shù)字多功能光盤(pán)(DVD)的光盤(pán),(ii) 任何類型的半導(dǎo)體設(shè)備,例如只讀存儲(chǔ)器(ROM)、隨機(jī)訪問(wèn)存儲(chǔ)器 (RAM)、可擦寫(xiě)可編程只讀存儲(chǔ)器(EPROM)、閃速存儲(chǔ)器、電可 擦寫(xiě)可編程只讀存^f諸器(EEPROM), (iii) ^^卡或光卡,或(iv)適 于存儲(chǔ)電子指令的任何其他類型的介質(zhì)。
在下文描述中,提出許多特定的細(xì)節(jié)。但是,要理解,在沒(méi)有這 些特定細(xì)節(jié)的情況下,仍可以實(shí)施本發(fā)明的實(shí)施例。在其他情況中, 未詳細(xì)地示出公知的電路、結(jié)構(gòu)和技術(shù),以免沖莫糊對(duì)4M苗述的理解。
如前文論述的,鏈路互連允許設(shè)備與功能塊之間的通信?;ミB的 一些示例是共享總線和點(diǎn)到點(diǎn)互連。鏈路根據(jù)通信量而可能處于不同 的功率狀態(tài),并且每個(gè)狀態(tài)允許不同級(jí)別的功率與性能折衷。當(dāng)鏈路 上沒(méi)有通信量并且此狀況通常由空閑超時(shí)機(jī)制感測(cè)時(shí),可將鏈路轉(zhuǎn)換 到低功率狀態(tài),即如果預(yù)設(shè)的時(shí)間間隔里沒(méi)有鏈路通信量,則將鏈路 轉(zhuǎn)換到低功率狀態(tài)。小的空閑鏈路超時(shí)值允許鏈路更頻繁地轉(zhuǎn)換到低 功率狀態(tài),因此增加功率節(jié)省,但是要脫離低功率狀態(tài),喚醒鏈路存 在以性能為代價(jià)的懲罰。另一方面,較大的空閑超時(shí)將此性能懲罰減 到最小,但是鏈路進(jìn)入低功率狀態(tài)不那么頻繁,從而降低功率節(jié)省。 在一個(gè)方面中,提出的本發(fā)明允許使用激進(jìn)的空閑超時(shí)值來(lái)轉(zhuǎn)換到低 鏈路功率狀態(tài)中,同時(shí)將從低功率狀態(tài)喚醒鏈路的事務(wù)的時(shí)延減到最 小,從而優(yōu)化功率與性能的折衷。
每個(gè)功率狀態(tài)提供不同級(jí)別的功率與性能的折衷。例如,正常滿 功率狀態(tài)(例如L0狀態(tài))提供比低功率狀態(tài)(例如L0s或Ll)更高 的性能級(jí)別附帶更多的鏈路功率利用,但是耗散更多功率。相比之下, 較低的功率狀態(tài)提供改進(jìn)的功率附帶性能上的相應(yīng)下降。在鏈路處于 空閑或僅間隙性地傳遞分組或數(shù)據(jù)的情況下,將功率狀態(tài)從正常功率 狀態(tài)更改到較低功率狀態(tài)是有益的。鑒于功率性能節(jié)省,需要引起與當(dāng)鏈路上更多活動(dòng)時(shí)轉(zhuǎn)換回正常功率狀態(tài)關(guān)聯(lián)的時(shí)延懲罰。
在一個(gè)實(shí)施例中,L1狀態(tài)禁用所有時(shí)鐘(PLLS)、傳送器和接收 器。在另一個(gè)實(shí)施例中,L0s狀態(tài)允許啟用時(shí)鐘,而傳送器和接收器 功率被切斷并且時(shí)鐘被禁用。保持時(shí)鐘被啟用,這使得鏈路能夠快速 脫離L0s狀態(tài),從而在離開(kāi)L0s到L0狀態(tài)時(shí)付出較小的對(duì)事務(wù)的時(shí) 延。
要求權(quán)利的本發(fā)明主題使得前文論述的控制功率狀態(tài)之間的轉(zhuǎn) 換更易于實(shí)現(xiàn)。在一個(gè)實(shí)施例中,在處理器中示出用于功率狀態(tài)轉(zhuǎn)換 的控制邏輯。在一個(gè)實(shí)施例中,在存儲(chǔ)器控制器中心(MCH)中示出 用于功率狀態(tài)轉(zhuǎn)換的控制邏輯。在一個(gè)實(shí)施例中,在輸入/輸出中心 (IOH)中示出用于功率狀態(tài)轉(zhuǎn)換的控制邏輯。在一個(gè)實(shí)施例中,在 存儲(chǔ)器控制器(MC)中示出用于功率狀態(tài)轉(zhuǎn)換的控制邏輯。
在一個(gè)實(shí)施例中,將功率狀態(tài)轉(zhuǎn)換應(yīng)用于點(diǎn)到點(diǎn)互連,例如PCIe (外圍組件互連)、Quickpath或CSI等。在另一個(gè)實(shí)施例中,將功率 狀態(tài)轉(zhuǎn)換應(yīng)用于共享總線互連。
I.示范系統(tǒng)架構(gòu)
參考圖1,示出才艮據(jù)本發(fā)明的一個(gè)實(shí)施例的系統(tǒng)的示范框圖。此 處,圖1示出具有處理器110和150的雙處理器(DP)配置。例如, 此配置可以與桌上型或移動(dòng)計(jì)算機(jī)、服務(wù)器、機(jī)頂盒、個(gè)人數(shù)字助理 (PDA)、字符傳呼機(jī)、蜂窩電話或任何其他類型的有線或無(wú)線通信 設(shè)備關(guān)聯(lián)。
每個(gè)處理器110和150包括存儲(chǔ)器控制器(MC) 115和155,以 便能夠分別經(jīng)由鏈路125和165與關(guān)聯(lián)的存儲(chǔ)器120和160直接通信。 而且,存儲(chǔ)器120和160可以是獨(dú)立的存儲(chǔ)器或相同的共享存儲(chǔ)器的 部分。
如圖l專門示出的,處理器IIO和150分別經(jīng)點(diǎn)到點(diǎn)鏈路130和 170耦合到輸入/輸出中心(IOH) 180。 IOH 180提供DP系統(tǒng)100內(nèi) 實(shí)現(xiàn)的處理器100和150與輸入/輸出(I/O)設(shè)備之間的連接性。此外,處理器110和150還經(jīng)點(diǎn)到點(diǎn)鏈路135彼此耦合。根據(jù)本發(fā)明的 一個(gè)實(shí)施例,這些點(diǎn)到點(diǎn)鏈路130、 135、 170可適合于根據(jù)加州圣克 拉拉的英特爾公司開(kāi)發(fā)的"Quickpath"規(guī)范來(lái)操作。但是,要求權(quán)利 的本發(fā)明主題不限于Quickpath鏈路,并且可以采用任何類型的鏈路 或互連。本領(lǐng)域技術(shù)人員認(rèn)識(shí)到可釆用針對(duì)這些特定設(shè)計(jì)要求定制的 任何鏈路或互連方案。例如,可使用任何一致或非一致鏈路或互連協(xié) 議,例如但不限于外圍組件互連(PCI、 PCIe等)、前端總線(FSB) 等。
現(xiàn)在參考圖2,示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的多處理器(MP) 系統(tǒng)的示范框圖。相似地,MP系統(tǒng)可以是桌上型或移動(dòng)計(jì)算機(jī)、月良 務(wù)器、機(jī)頂盒、個(gè)人數(shù)字助理(PDA)、字符傳呼機(jī)、蜂窩電話或任 何其他類型的有線或無(wú)線的通信設(shè)備。
此處,根據(jù)本發(fā)明的一個(gè)實(shí)施例,MP系統(tǒng)包括多個(gè)處理器 210A-210D。 一個(gè)或多個(gè)處理器,例如處理器210A-210D,可包4舌存 儲(chǔ)器控制器(MC) 220A-220D。這些存儲(chǔ)器控制器220A-220D能夠 實(shí)現(xiàn)分別經(jīng)鏈路240A-240D與關(guān)聯(lián)的存儲(chǔ)器230A-230D直接通信。 具體來(lái)說(shuō),如圖2所示,處理器210A經(jīng)鏈路240A耦合到存儲(chǔ)器230A, 而處理器210B-210D分別經(jīng)鏈路240B-240D耦合到對(duì)應(yīng)的存儲(chǔ)器 230B-230D。
此外,處理器210A經(jīng)pTp (點(diǎn)到點(diǎn))鏈路250、 252和254耦合 到其他處理器210B-210D中的每個(gè)處理器。相似地,處理器210B經(jīng) pTp鏈路250、 256和258耦合到處理器210A、 210C和210D。處理 器210C經(jīng)pTp鏈路252、256和260耦合到處理器210A、210B和210D。 處理器210D經(jīng)pTp鏈路254、 258和260耦合到處理器210A、 210B 和210C。處理器210A和210B經(jīng)pTp互連270和272耦合到第一輸 入/輸出中心(IOH) 280,而處理器210C和210D經(jīng)點(diǎn)到點(diǎn)互連274 和276耦合到第二 IOH 285。
對(duì)于圖1和圖2所描述的系統(tǒng)100和200,可以設(shè)想處理器可適
10合于作為宿主代理操作、作為高速緩存代理操作或作為二者操作,具 體視所選的系統(tǒng)架構(gòu)而定。
現(xiàn)在參考圖3,示出根據(jù)本發(fā)明一個(gè)實(shí)施例的圖l-2的系統(tǒng)的目 的地和源設(shè)備的架構(gòu)的示范實(shí)施例。出于說(shuō)明的目的,圖2中的處理 器210D (或圖1中的處理器150)配置為目的地設(shè)備300,例如宿主 代理。圖2中的處理器210A-210C (或圖1中的處理器110)可配置 為源310A-310C,例如高速緩存代理。1OH280或285 (或圖1的IOH 180)可以配置為實(shí)現(xiàn)寫(xiě)高速緩存320的I/Oi殳備310D,其也作為高 速緩存代理操作。
如下文描述,每個(gè)源310A.....或310D與一個(gè)跟蹤器關(guān)聯(lián),跟
蹤器在目的地設(shè)備300處維護(hù)且具有預(yù)定數(shù)量的跟蹤器項(xiàng)。跟蹤器項(xiàng) 的數(shù)量在大小上被限制于使PTP構(gòu)造315的帶寬處于飽和的任何源
310A.....或310D可傳送的請(qǐng)求的數(shù)量,PTP構(gòu)造315支持目的地
300與多個(gè)源(例如源310A-310D)之間的點(diǎn)到點(diǎn)通信。
如圖3所示,根據(jù)本發(fā)明的此實(shí)施例,目的地300是包括宿主邏
輯325和多個(gè)跟蹤器330A.....330B的宿主代理。與跟蹤器結(jié)合,
宿主邏輯325適合于作為調(diào)度器來(lái)操作以協(xié)助來(lái)自圖2的存儲(chǔ)器230A 的ii^信息和到PTP構(gòu)造315的外發(fā)信息的數(shù)據(jù)傳輸。而且,宿主邏 輯325操作以解決這些數(shù)據(jù)傳輸之間的沖突。
此處,對(duì)于本發(fā)明的此實(shí)施例,因?yàn)樗?4)個(gè)高速緩存代理 310A-310D在系統(tǒng)100/200內(nèi)實(shí)現(xiàn),所以示出了四(M=4)個(gè)跟蹤器 并標(biāo)記為"HT曙O" 330A、 "HT-1,,330B、 "HT-2" 330C和"HT國(guó)3" 330D。 這些跟蹤器330A-330D各分別包含N0、 Nl、 N2和N3個(gè)跟蹤器項(xiàng), 其中Ni > 1 (i= 1,2,3或4)。項(xiàng)(N0-N3)的數(shù)量對(duì)于不同跟蹤器可 以是不同的。與跟蹤器330A-330D的每個(gè)項(xiàng)關(guān)聯(lián)的是數(shù)據(jù)緩沖器 340A-340D表示的對(duì)應(yīng)數(shù)據(jù)緩沖器。數(shù)據(jù)緩沖器340A-340D為從存儲(chǔ) 器控制器220A返回并最終調(diào)度到PTP構(gòu)造315上以便傳送到目標(biāo)目 的地的數(shù)據(jù)提供臨時(shí)存儲(chǔ)。激活和去激活跟蹤器330A-330D的項(xiàng)由宿主邏輯325控制,如下所述。
高速緩存代理310A、 310B和310C分別包括未命中地址隊(duì)列 350A、 350B和350C。例如,就高速緩存代理310A而言,未命中地 址隊(duì)列350A配置成存々者330A中跟蹤的宿主代理300處理的所有未命 中事務(wù)。
此外,根據(jù)本發(fā)明的此實(shí)施例,高速緩存代理310A、310B和310C 分別還包括信用計(jì)數(shù)器360A、 360B和360C。每個(gè)信用計(jì)數(shù)器360A、 360B和360C維護(hù)一個(gè)計(jì)數(shù)值,該計(jì)數(shù)值表示跟蹤器330A、 330B和 330C中未使用的跟蹤器項(xiàng)的數(shù)量。例如,當(dāng)高速緩存代理310A向宿 主代理300發(fā)起新事務(wù)時(shí),則會(huì)遞減信用計(jì)數(shù)器360A。如果事務(wù)完 成,則遞增信用計(jì)數(shù)器360A。在預(yù)設(shè)的時(shí)間處,將信用計(jì)數(shù)器360A 初始化成等于與跟蹤器330A關(guān)聯(lián)的跟蹤器項(xiàng)(NO)的數(shù)量的池大小。 相同的配置可應(yīng)用于信用計(jì)數(shù)器360B-360C。
圖3中示出的還有高速緩存代理310D的示例,高速緩存代理 310D作為從存儲(chǔ)器讀信息以及將信息寫(xiě)到I/O接口的I/O代理來(lái)操 作。備選地,高速緩存代理310D可流傳送作為到主存儲(chǔ)器中的寫(xiě)的 1/0代理讀返回。高速緩存代理310D實(shí)現(xiàn)寫(xiě)高速緩存320,寫(xiě)高速緩 存320用于在存儲(chǔ)與I/O操作關(guān)聯(lián)的數(shù)據(jù)的同時(shí)維持高帶寬。
圖4示出根據(jù)本發(fā)明一個(gè)實(shí)施例的系統(tǒng)的框圖。在此實(shí)施例中, CPU 402經(jīng)點(diǎn)到點(diǎn)互連鏈路將分組格式的請(qǐng)求發(fā)送MCH404。在此方 向上,分組是離開(kāi)處理器而出的。作為響應(yīng),MCH經(jīng)點(diǎn)到點(diǎn)互連沿 入方向從存儲(chǔ)器或其他集成設(shè)備發(fā)送數(shù)據(jù)或信息。在一個(gè)實(shí)施例中, 存儲(chǔ)器是DRAM (動(dòng)態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器)。MCH還從PCIe互連接收 其他信息,例如集成圖形(IGFX),以及數(shù)據(jù)。在一個(gè)實(shí)施例中,CPU 和MCH之間的點(diǎn)到點(diǎn)互連是Quickpath或CSI鏈路,其結(jié)合了包括 鏈路層的多層協(xié)議以利于分組的形成。
圖5是根據(jù)本發(fā)明一個(gè)實(shí)施例的裝置。在此實(shí)施例中,該裝置是 MCH。在另一個(gè)實(shí)施例中,也可以在CPU中采用此附圖中所示的邏輯塊,由此,CPU可以直接與IOH或存儲(chǔ)器通信而不包括MCH。
如前文論述的,CPU 402根據(jù)消息傳送協(xié)議向MCH 404發(fā)出請(qǐng) 求。在一個(gè)實(shí)施例中,消息傳送協(xié)議是請(qǐng)求響應(yīng)協(xié)議,即,對(duì)于發(fā)送 的所有請(qǐng)求事務(wù),在一定間隔時(shí)間之后會(huì)有發(fā)送的響應(yīng)分組。請(qǐng)求與 響應(yīng)之間的間隔因需要計(jì)算的響應(yīng)和請(qǐng)求的類型而有所不同。例如, 在將讀請(qǐng)求發(fā)送到MCH之后,在從DRAM讀取數(shù)據(jù)之后將讀取的數(shù) 據(jù)分組作為響應(yīng)發(fā)送,并且可能花費(fèi)具體取決于地址和DRAM頁(yè)表 狀態(tài)的可變時(shí)間量。另一個(gè)示例是對(duì)DRAM的寫(xiě)請(qǐng)求,對(duì)于寫(xiě)請(qǐng)求, 在完成所有一致性檢查之后發(fā)送完整響應(yīng)。
在此實(shí)施例中,在出鏈路(outboundlink)上將來(lái)自CPU的分組 接收到鏈路緩沖器410中。然后,將它們解碼并分配到CPU請(qǐng)求跟蹤 器412。然后將這些請(qǐng)求發(fā)送到存儲(chǔ)器控制器432,其中它們?yōu)樽x查 詢DRAM 406以及為寫(xiě)將數(shù)據(jù)寫(xiě)到DRAM 406。來(lái)自DRAM的讀返 回?cái)?shù)據(jù)傳送到DRAM緩沖器416,其中將它與其他分組進(jìn)行仲裁來(lái)使 用入鏈路(inbound link )。其他分組可以是IO探測(cè)請(qǐng)求和寫(xiě)完成等。 IO請(qǐng)求在10請(qǐng)求跟蹤器414中分配。入鏈路由功率控制邏輯420控 制,這促^&于狀態(tài)和系統(tǒng)中的事務(wù)將鏈路轉(zhuǎn)換到LO和LOs狀態(tài)中。 如前文論述的,由于以按需方式喚醒休眠的鏈路,所以性能受到 負(fù)面影響。因此,對(duì)于讀事務(wù),當(dāng)數(shù)據(jù)開(kāi)始從DRAM返回時(shí)或當(dāng)對(duì) 寫(xiě)完成分組仲裁以在入鏈路上發(fā)送時(shí),喚醒鏈路的消息經(jīng)歷完整的 LOs退出時(shí)延。喚醒鏈路的時(shí)延是由于將鏈路從低功率狀態(tài)帶到高功 率狀態(tài)的電延遲所致。相比之下,要求權(quán)利的本發(fā)明主題利用在MCH 中看到請(qǐng)求之后的響應(yīng)計(jì)算延遲。在一個(gè)方面中,要求權(quán)利的本發(fā)明 主題有利于對(duì)入鏈路生成早期告警(EW)信號(hào)。因此,開(kāi)始從LOs 到LO的轉(zhuǎn)換導(dǎo)致減少了響應(yīng)消息所見(jiàn)到的延遲。結(jié)合圖6說(shuō)明早期 告警信號(hào)的生成。在另一個(gè)實(shí)施例中,結(jié)合圖6論述機(jī)會(huì)性功率降低 (opportunistic powerdown)。 而且,在另一個(gè)實(shí)施例中,要求權(quán)利的 本發(fā)明主題除了早期告警信號(hào)外還進(jìn)一步允許機(jī)會(huì)性功率P爭(zhēng)低,以便進(jìn)一步增強(qiáng)功率與性能的折衷。
圖6是根據(jù)本發(fā)明一個(gè)實(shí)施例的時(shí)序圖。上方時(shí)序圖表示現(xiàn)有技 術(shù)。相比之下,在一個(gè)實(shí)施例中,下方波形示出發(fā)出早期告警(EW)
信號(hào)的時(shí)序,早期告警(EW)信號(hào)啟動(dòng)鏈路的功率狀態(tài)轉(zhuǎn)換到LO狀 態(tài)。
現(xiàn)有技術(shù)的波形示出存儲(chǔ)器控制器中心在點(diǎn)A處接收到請(qǐng)求。在 點(diǎn)B處,響應(yīng)已準(zhǔn)備就緒要在入鏈路上發(fā)送,該入鏈路此時(shí)處于LOs 功率狀態(tài)。該鏈路開(kāi)始轉(zhuǎn)換到LO,這延遲響應(yīng)的傳送直到點(diǎn)C為止。
與之相比,下方波形表示的要求權(quán)利的本發(fā)明主題當(dāng)在點(diǎn)E處請(qǐng) 求到達(dá)時(shí)發(fā)送EW信號(hào)。此信號(hào)促使入鏈路較早地開(kāi)始轉(zhuǎn)換到LO,使 得當(dāng)響應(yīng)準(zhǔn)備就緒時(shí),立即在點(diǎn)G處發(fā)送該響應(yīng)。這有助于為喚醒鏈 路的事務(wù)重疊鏈路喚醒時(shí)延和響應(yīng)計(jì)算,并為該事務(wù)減少發(fā)送響應(yīng)的 時(shí)延。
在另 一個(gè)實(shí)施例中,至少部分地基于比較EW與響應(yīng)就緒之間的 差來(lái)設(shè)置空閑超時(shí)值。例如,如果EW信號(hào)與響應(yīng)變成就緒之間的時(shí) 間總是大于L0s至L0的轉(zhuǎn)換時(shí)間,則所提出的方案消除了鏈路喚醒 時(shí)的LOs的所有性能懲罰。因此,這允許空閑超時(shí)"&置得非常激進(jìn), 并使得入鏈路在L0s中占用其大部分時(shí)間而對(duì)性能影響很小。
在又一個(gè)實(shí)施例中,如果EW信號(hào)與響應(yīng)變成就緒之間的間隔遠(yuǎn) 遠(yuǎn)大于L0s至L0轉(zhuǎn)換時(shí)間,則延遲入鏈路的L0s至L0功率狀態(tài)轉(zhuǎn)換。 例如,在一個(gè)實(shí)施例中,LOs退出時(shí)間約為w30ns;對(duì)于頁(yè)未命中事 務(wù),i青求到響應(yīng)時(shí)間可為w50ns。因此,如果響應(yīng)時(shí)間比LOs退出時(shí) 間大比如說(shuō)多于幾個(gè)ns,例如但不限于5ns。在這種情況中,我們可 以將鏈路狀態(tài)轉(zhuǎn)換的開(kāi)始延遲到EW信號(hào)到達(dá)之后的某個(gè)時(shí)間。這樣 允許盡可能長(zhǎng)地將鏈路保持在低功率狀態(tài),由此節(jié)省功率,并且還將 對(duì)響應(yīng)的時(shí)延減到最小從而優(yōu)化性能。在上文的附圖中,這由在E處 接收EW與在點(diǎn)F處開(kāi)始轉(zhuǎn)換之間的延遲表示,從而鏈路剛好在要發(fā) 送響應(yīng)的時(shí)間完成轉(zhuǎn)換。但是,要求權(quán)利的本發(fā)明主題并不局限于前
14時(shí)間取決于存儲(chǔ)器架構(gòu)和存儲(chǔ)器的類型。 如上文描述的,鏈路在返回到LOs狀態(tài)之前需要處于空閑某個(gè)時(shí) 間量(空閑超時(shí))。在又一個(gè)實(shí)施例中,如果中間時(shí)期沒(méi)有另外的請(qǐng)
求到達(dá),則可以在當(dāng)前傳送之后機(jī)會(huì)性地將入鏈路返回到L0s狀態(tài)。 例如,當(dāng)入鏈路處于LOs功率狀態(tài)且在點(diǎn)E處接收到請(qǐng)求時(shí),設(shè)置標(biāo) 志以指示最初請(qǐng)求已到達(dá)。但是,任何后續(xù)響應(yīng)清除此標(biāo)志。如果在 點(diǎn)G處該標(biāo)志仍被設(shè)置,則這指示沒(méi)有任何后續(xù)請(qǐng)求。因此,沒(méi)有任 何響應(yīng)要傳送。因此,可以立即將鏈路轉(zhuǎn)換到L0s狀態(tài)。與W目比, 如果標(biāo)志被清除,則在當(dāng)前一個(gè)響應(yīng)之后不久將有響應(yīng)到來(lái)。因此, 需要等待正??臻e超時(shí),才將入鏈路移回到LOs狀態(tài)。這樣有助于將 鏈路轉(zhuǎn)換到低功率狀態(tài),并在有零星的單個(gè)請(qǐng)求喚醒鏈路時(shí)使鏈路休 眠時(shí)間最大化;如果不這樣估文,則將在L0功率狀態(tài)中停留鏈路空閑 超時(shí)的時(shí)間段,直到感測(cè)到鏈路空閑為止,然后才再次將鏈路轉(zhuǎn)換到 L0s狀態(tài)。
要求權(quán)利的本發(fā)明主題還可以采用軟件形式來(lái)實(shí)現(xiàn)。例如,可以 將該軟件存儲(chǔ)在電可訪問(wèn)介質(zhì)中,該電可訪問(wèn)介質(zhì)包括以電子設(shè)備 (例如,計(jì)算機(jī)、個(gè)人數(shù)字助理、蜂窩電話)可讀的形式提供(即存 儲(chǔ)和/或傳送)內(nèi)容(例如,計(jì)算機(jī)可運(yùn)行指令)的任何機(jī)制。例如, 機(jī)器可訪問(wèn)介質(zhì)包括只讀存儲(chǔ)器(ROM);隨機(jī)訪問(wèn)存儲(chǔ)器(RAM); 磁盤(pán)存儲(chǔ)介質(zhì);光存儲(chǔ)介質(zhì);閃速存儲(chǔ)器設(shè)備;電、光、聲音或其他 形式的傳播信號(hào)(例如,載波、紅外線信號(hào)、數(shù)字信號(hào))。
雖然本發(fā)明已經(jīng)結(jié)合本發(fā)明的多個(gè)實(shí)施例來(lái)描述的,但是本領(lǐng)域 技術(shù)人員將認(rèn)識(shí)到,本發(fā)明不限于所描述的本發(fā)明的實(shí)施例,而是可 以在所附權(quán)利要求的精神和范圍內(nèi)通過(guò)修改和改變來(lái)實(shí)施。因此,本 文描述應(yīng)i見(jiàn)為說(shuō)明性的而非限制性的。
權(quán)利要求
1.一種用于為互連管理功率狀態(tài)的方法,包括在接收到請(qǐng)求時(shí)生成早期告警信號(hào);解碼出所述請(qǐng)求是讀還是寫(xiě)操作;當(dāng)所述請(qǐng)求是寫(xiě)操作時(shí),至少部分地基于使用所述早期告警信號(hào)將所述鏈路從第一功率狀態(tài)轉(zhuǎn)換到第二功率狀態(tài),否則,至少部分地基于計(jì)算與對(duì)所述讀操作的響應(yīng)關(guān)聯(lián)的延遲來(lái)將所述鏈路從第一功率狀態(tài)轉(zhuǎn)換到第二功率狀態(tài),所述延遲相關(guān)于與從所述第一狀態(tài)到所述第二功率狀態(tài)的轉(zhuǎn)換關(guān)聯(lián)的喚醒延遲。
2. 如權(quán)利要求l所述的方法,其中所述請(qǐng)求來(lái)自于處理器。
3. 如權(quán)利要求l所述的方法,其中所述響應(yīng)來(lái)自于存儲(chǔ)器。
4. 如權(quán)利要求1所述的方法,其中所述早期告警信號(hào)為所述互連 啟動(dòng)從所述第一功率狀態(tài)到所述第二功率狀態(tài)的功率狀態(tài)轉(zhuǎn)換,使得 所述第 一功率狀態(tài)消耗比所述第二功率狀態(tài)少的功率。
5. 如權(quán)利要求1所述的方法,其中所述第一功率狀態(tài)是L0s狀態(tài), 而所述第二功率狀態(tài)是LO狀態(tài)。
6. 如權(quán)利要求3所述的方法,其中所述存儲(chǔ)器是動(dòng)態(tài)隨機(jī)訪問(wèn)存 儲(chǔ)器(DRAM)。
7. —種用于為互連管理功率狀態(tài)的方法,包括 當(dāng)接收到請(qǐng)求時(shí)生成早期告警信號(hào);當(dāng)接收到所述請(qǐng)求時(shí)設(shè)置標(biāo)志; 當(dāng)接收到另一個(gè)請(qǐng)求時(shí)復(fù)位所述標(biāo)志;以及 基于所述標(biāo)志值,為所述互連啟動(dòng)功率狀態(tài)轉(zhuǎn)換,而不考慮空閑 超時(shí)值。
8. 如權(quán)利要求7所述的方法,其中所述請(qǐng)求來(lái)自于處理器。
9. 如權(quán)利要求7所述的方法,其中所述響應(yīng)來(lái)自于存儲(chǔ)器。
10. 如權(quán)利要求7所述的方法,其中所述早期告警信號(hào)為所述互 連啟動(dòng);yv第一功率狀態(tài)到第二功率狀態(tài)的功率狀態(tài)轉(zhuǎn)換,使得所述第 一功率狀態(tài)消耗比所述第二功率狀態(tài)少的功率。
11. 如權(quán)利要求7所述的方法,其中所述第一功率狀態(tài)是LOs狀 態(tài),而所述第二功率狀態(tài)是LO狀態(tài)。
12. 如權(quán)利要求7所述的方法,其中所述存儲(chǔ)器是動(dòng)態(tài)隨機(jī)訪問(wèn) 存儲(chǔ)器(DRAM)。
13. 如權(quán)利要求7所述的方法,其中如果所述標(biāo)志被設(shè)置,則從 L0至L0s的所述功率狀態(tài)轉(zhuǎn)換發(fā)生,否則如果所述標(biāo)志被復(fù)位,則所 述功率狀態(tài)轉(zhuǎn)換不發(fā)生。
14. 一種系統(tǒng),包括 處理器,生成請(qǐng)求;存儲(chǔ)器,耦合到所述處理器并接收請(qǐng)求;互連結(jié)構(gòu),將所述處理器連接到所述存儲(chǔ)器;互連控制邏輯,在接收到所述請(qǐng)求時(shí)生成早期告警信號(hào),至少部 分地基于所述早期告警信號(hào)的生成和接收到對(duì)所述請(qǐng)求的響應(yīng)之間 的時(shí)間差與所述互連結(jié)構(gòu)的從第一功率狀態(tài)到第二功率狀態(tài)的轉(zhuǎn)換 時(shí)間的比較,來(lái)為所述互連結(jié)構(gòu)設(shè)置空閑超時(shí)值。
15. 如權(quán)利要求14所述的系統(tǒng),其中所述存儲(chǔ)器是DRAM。
16. 如權(quán)利要求14所述的系統(tǒng),其中所述互連控制邏輯駐留在所 述處理器中。
17. 如權(quán)利要求14所述的系統(tǒng),其中所述互連控制邏輯駐留在芯 片組中,耦合到所述處理器。
18. —種為互連管理的功率狀態(tài)的集成設(shè)備,包括 緩沖器,存儲(chǔ)從所述互連接收的多個(gè)分組; 請(qǐng)求跟蹤器隊(duì)列,耦合到所述緩沖器,存儲(chǔ)所接收的分組的已解碼版本、要由耦合到所述集成設(shè)備的存儲(chǔ)器處理的請(qǐng)求;以及互連控制邏輯,在接收到所述請(qǐng)求時(shí)生成早期告警信號(hào),至少部分地基于所述早期告警信號(hào)的生成和接收到對(duì)所述請(qǐng)求的響應(yīng)之間 的時(shí)間差與所述互連結(jié)構(gòu)功率控制邏輯的從第 一功率狀態(tài)到第二功 率狀態(tài)的轉(zhuǎn)換時(shí)間的比較,來(lái)為所述互連設(shè)置空閑超時(shí)值。
19. 如權(quán)利要求18所述的集成設(shè)備,其中所述集成設(shè)備是存儲(chǔ)器 控制器中心(MCH)。
20. 如權(quán)利要求18所述的集成設(shè)備,其中所述存儲(chǔ)器是DRAM。
21. 如權(quán)利要求18所述的集成設(shè)備,其中所述集成設(shè)備是處理器。
全文摘要
本發(fā)明名稱為“用于鏈路互連的功率管理的方法、系統(tǒng)和裝置”。提出一種基于功率狀態(tài)轉(zhuǎn)換控制的互連結(jié)構(gòu)的功率管理控制。功率狀態(tài)轉(zhuǎn)換基于生成早期告警信號(hào)與空閑超時(shí)值而設(shè)置,空閑超時(shí)值基于響應(yīng)時(shí)間和后續(xù)請(qǐng)求的檢測(cè)而設(shè)置。
文檔編號(hào)G06F1/32GK101604200SQ20091014652
公開(kāi)日2009年12月16日 申請(qǐng)日期2009年5月22日 優(yōu)先權(quán)日2008年5月23日
發(fā)明者E·G·霍爾諾爾, H·G·羅蒂索爾, Z·房 申請(qǐng)人:英特爾公司