專利名稱:微處理器中的電壓和頻率的可靠設(shè)置的制作方法
微處理器中的電壓和頻率的可靠設(shè)置技術(shù)領(lǐng)域
本發(fā)明一般涉及處理器,具體涉及微處理中的動態(tài)電壓和頻率縮放(scaling)。
技術(shù)背景
多個高端系統(tǒng)體系結(jié)構(gòu)對一個或多個處理器提供冗余的電源。該系統(tǒng)體系結(jié)構(gòu)包 括電流共享電源供應(yīng),比如直流組件(DCA),由此,DCA在處理器和電壓調(diào)節(jié)器模塊(VRMs) 之間放置微控制器。當(dāng)處理器向DCA發(fā)出電壓改變請求時,在傳送過程中可能發(fā)生錯誤。該 錯誤包括但不限于由于通信通道中的噪音而導(dǎo)致的電壓改變請求的失敗傳輸,VRM中的 故障,和/或確認(rèn)該電壓改變請求成功還是失敗的響應(yīng)的失敗傳輸。
已提出幾種允許高端系統(tǒng)體系結(jié)構(gòu)內(nèi)的電壓改變請求被處理和確認(rèn)的方案。被提 出的第一方案包括在每個電壓命令之后由處理器發(fā)出“輪詢(poll) ”命令,以確定電壓改變 請求的狀態(tài)。發(fā)出輪詢命令利用了處理器和DCA之間的額外帶寬,從而消耗了分配給其他 操作的帶寬。消耗額外的處理器帶寬使用了系統(tǒng)電源管理傳感器所需要的帶寬,從而負(fù)面 地影響系統(tǒng)體系結(jié)構(gòu)內(nèi)的電源管理質(zhì)量。被提出的第二方案包括從DCA向處理器傳送“完 全電壓轉(zhuǎn)變”信號。傳送該“完全電壓轉(zhuǎn)變”信號需要為每一個電壓域提供額外的輸入/輸 出引腳,并且共享所述針腳來為高端系統(tǒng)體系結(jié)構(gòu)提供可縮放縮放的方案。然而,當(dāng)所述一 個或多個輸入/輸出針腳被共享時,處理器在確定哪個DCA發(fā)送了“完全電壓轉(zhuǎn)變”信號時 存在困難。因此,電壓改變請求未被完成。已提出的方案既不是最理想的也不是優(yōu)選的方 案。發(fā)明內(nèi)容
公開了一種用于管理與一個或多個電壓改變以及一個或多個頻率改變關(guān)聯(lián)的操 作的方法、系統(tǒng)和計算機程序。電壓改變請求和頻率改變請求與動態(tài)電壓和頻率縮放縮 放(DVre)操作關(guān)聯(lián)。頻率改變操作由處理器執(zhí)行。由處理器傳送要有一個或多個直流組 件G)CAs)執(zhí)行的電壓改變請求。由系統(tǒng)檢測與一個或多個電壓改變操作關(guān)聯(lián)的序列以及 與一個或多個頻率改變操作關(guān)聯(lián)的序列。所述序列被動態(tài)地修改,使得能在電壓改變操作 的序列的末端動態(tài)地插入額外的電壓改變請求,由此,所述額外的電壓改變請求指示一個 或多個在先電壓改變請求的完成。所獲電壓改變請求的完成使得一個或多個后續(xù)電壓改 變請求能被處理。當(dāng)一個電壓改變請求未被成功完成時,一個或多個后續(xù)電壓改變將掛起 (suspend) 0
本發(fā)明的上述以及另外的目的、特征與優(yōu)點在下面的詳細(xì)描述中將變得更明顯。
通過參考下面說明性實施例的詳細(xì)描述以及閱讀附圖,本發(fā)明本身及其優(yōu)點將被 最好地理解,其中
圖1根據(jù)本發(fā)明的一個實施例,提供了表示實踐本發(fā)明的示例性高端系統(tǒng)體系結(jié)構(gòu)的框圖2是根據(jù)本發(fā)明的一個實施例的、表示與一個或多個電壓調(diào)節(jié)器模塊、靈活支 持處理器(FSP)以及一個或多個直流組件關(guān)聯(lián)的一個或多個微處理器的框圖3是根據(jù)本發(fā)明的一個實施例的、描述用于管理動態(tài)電壓和頻率縮放(DVFS)操 作中的一個或多個請求(例如電壓改變請求和頻率改變請求)的處理的流程圖4是根據(jù)本發(fā)明的一個實施例的、描述用于確定用于DVFS操作的執(zhí)行的請求的 成功或失敗的直流組件(DCA)的處理的流程圖;以及
圖5是根據(jù)本發(fā)明的一個實施例的、描述在系統(tǒng)體系結(jié)構(gòu)內(nèi)的一個或多個構(gòu)件失 敗時管理電壓改變請求的FSP的處理的流程圖。
具體實施方式
該示意性實施例提供了用于管理與一個或多個電壓改變以及一個或多個頻率改 變關(guān)聯(lián)的操作的方法、系統(tǒng)及計算機程序產(chǎn)品。電壓改變請求和頻率改變請求與動態(tài)電壓 和頻率縮放(DVre)關(guān)聯(lián)。頻率改變操作由處理器執(zhí)行。由處理器傳送要被一個或多個直 流組件(DCAs)執(zhí)行的電壓改變請求。由所述系統(tǒng)檢測與一個或多個電壓改變操作關(guān)聯(lián)的 序列以及與一個或多個頻率改變操作關(guān)聯(lián)的序列。所述序列被動態(tài)地修改,使得能在電壓 改變序列的末端插入額外的電壓改變請求,由此,額外的電壓改變請求指示一個或多個在 先的電壓改變請求的完成。所述電壓改變請求的完成使得一個或多個后續(xù)電壓改變請求能 夠被處理。當(dāng)所述電壓改變請求未被成功完成時,一個或多個的將來的電壓改變被掛起。
在本發(fā)明的示例實施例的以下詳細(xì)描述中,充分詳細(xì)地描述在其中實踐本發(fā)明的 特定示例實施例,以使得本領(lǐng)域技術(shù)人員能夠?qū)嵤┍景l(fā)明,并且將理解的是可以利用其它 實施例,并在不偏離本發(fā)明的精神或范圍的情況下,可以作出邏輯、結(jié)構(gòu)、程序、機械、電氣 及其他改變。因此,以下的詳細(xì)描述并不作為限定的意思,本發(fā)明的范圍由所附權(quán)利要及其 等同物限定。
在附圖的描述中,相似的元件采用與在先附圖相似的名稱與附圖標(biāo)記。當(dāng)后面的 附圖在不同的背景中使用元件或使用具有不同功能的元件時,該元件使用表示附圖號的、 不同的引導(dǎo)數(shù)字。分配給元件的特定數(shù)字僅作為描述的輔助,而并不意在對所描述的實施 例隱含任何的限制(結(jié)構(gòu)或功能或其他)。
可以理解的是,具體構(gòu)件、設(shè)備和/或參數(shù)名稱(比如這里所描述的執(zhí)行應(yīng)用程序 (utility)/邏輯的名稱)的使用僅為示例性的,并不意在隱含對本發(fā)明的任何限定。因此, 可以使用不同的命名法/術(shù)語描述這里的構(gòu)件/設(shè)備/參數(shù)來實施本發(fā)明,而沒有限制。每 個在此使用的術(shù)語針對其被使用的上下文被給予最寬廣的解釋。
現(xiàn)在參照附圖,從圖1開始,描述表示示例性的高端系統(tǒng)體系結(jié)構(gòu)的方框圖,如在 一個實施例中所使用的。如所示,系統(tǒng)體系結(jié)構(gòu)100包括一個或多個中央處理單元(被示 為處理器A 130和處理器B 140)且每一個處理單元包括電壓和頻率控制單元(vrcu)。處 理器A 130和處理器B 140每一個都包括VFCU 135。處理器A 130和處理器B 140內(nèi)的電 壓和頻率控制單元(vrcu 13 同時和/或彼此獨立地操作。處理器A 130和處理器B 140 與稱為靈活支持處理器(FSP) 160的標(biāo)準(zhǔn)服務(wù)處理器通過系統(tǒng)互連/總線105通信。還連 接至系統(tǒng)互連/總線105的是直流組件(DCA)A 170和DCA B 190。在DCA 170內(nèi)是與微控制器A 172通信的一個或多個電壓調(diào)節(jié)器模塊(VRM),VRM1 A 120與VRM2 B 125。類似 的,在DCA B 190內(nèi),VRM2A 150和VRM2B 155與微控制器B 192通信。
除了系統(tǒng)體系結(jié)構(gòu)100的上述硬件構(gòu)件之外,本發(fā)明的各種特征通過存儲在DCA A 170和DCA B 190中的、并由微控制器A 172和微控制器B 192執(zhí)行的軟件(或固件)代 碼或邏輯來完成/支持。因此,例如,在DCA A 170和DCA B 190中示出的是電壓調(diào)節(jié)(VR) 應(yīng)用程序145,其在微處理A 172和微控制器B 192上執(zhí)行以提供電壓調(diào)節(jié)邏輯。在實際 實施中,VR應(yīng)用程序145可與FSP 160和/或系統(tǒng)體系結(jié)構(gòu)100中一個或多個其他構(gòu)件的 操作結(jié)合或合并,以提供單個可執(zhí)行的構(gòu)件,當(dāng)對應(yīng)的結(jié)合代碼被微控制器A 172和/或微 控制器B 192執(zhí)行時,集體地提供每個單獨的軟件構(gòu)件的各種功能。為了簡單,VR應(yīng)用程 序145被圖示和描述為孤立的或分離的軟件/固件構(gòu)件,其提供如下所述的特定功能。在 圖1的圖示中,在DCA A 170和DCA B 190中描述VR應(yīng)用程序145。盡管在兩個位置示出 VR應(yīng)用程序145,但VR應(yīng)用程序作為單個應(yīng)用程序操作。
在一個實施例中,vrcu 135接收執(zhí)行DVFS操作的指令。VTOU 135分別與執(zhí)行VR 應(yīng)用程序145的微控制器A 172和微控制器B 190通信。某些由VR應(yīng)用程序145支持和 /或?qū)嵤┑墓δ墚a(chǎn)生由處理器和/或設(shè)備硬件執(zhí)行的處理邏輯以完成該功能的實施。為了 描述的簡單,使能所述各種特征的代碼集合體在此稱為VR應(yīng)用程序145。由VR程序145 提供且本發(fā)明專用的軟件代碼/指令/邏輯為(a)用于動態(tài)地修改一個或多個電壓改變 操作的序列以及一個或多個頻率改變操作的序列的代碼/邏輯,其中修改所述序列包括相 對于對應(yīng)的頻率改變操作向前移動電壓改變;(b)用于在一個或多個電壓改變的序列的末 端自動地插入指示信號(indicator)電壓改變的代碼/邏輯;以及(c)用于檢測所述指示 信號電壓改變的執(zhí)行的代碼/邏輯,其中所述指示信號電壓改變的檢測表示一個或多個在 先電壓改變請求的完成。根據(jù)示例實施例,當(dāng)VFCU 135接收到通過VR應(yīng)用程序145執(zhí)行 DVFS操作的指令時,系統(tǒng)體系結(jié)構(gòu)100啟動一系列的功能處理,其使能上述功能特征以及 附加的特征/功能。下面在圖2-5的描述中更詳細(xì)地描述這些特征/功能。
本領(lǐng)域的普通技術(shù)人員將理解圖1中描述的硬件構(gòu)件和基本配置是可以改變 的。系統(tǒng)體系結(jié)構(gòu)100中的示例構(gòu)件不意在窮舉,而是作為突出用于實施本發(fā)明的重要構(gòu) 件的代表。例如,可額外地使用其他設(shè)備/構(gòu)件,或者使用其他設(shè)備/構(gòu)件替代所描述的 硬件。所描述的示例并不意味著隱含對當(dāng)前描述的實施例和/或總體發(fā)明的結(jié)構(gòu)或其他 限定。圖1中所示的系統(tǒng)體系結(jié)構(gòu)可以是,例如,與紐約Armonk的國際商用機器公司的產(chǎn) 品——IBM POWER系列處理器關(guān)聯(lián),該處理器被用于許多IBM的服務(wù)器、小型機、工作站及 超級計算機中的主中央處理單元。
現(xiàn)在參照圖2。圖2示出了與一個或多個電壓調(diào)節(jié)器模塊關(guān)聯(lián)的一個或多個微處 理器之間的互連性。此外,微處理器與靈活支持處理器以及一個或多個直流組件關(guān)聯(lián)。系統(tǒng) 體系結(jié)構(gòu)200包括與靈活硬件支持處理器(FSP) 260通信的處理器A 230和處理器B 2400 處理器A 230、處理器B 240以及FSP 260與直流組件(DCA)A 270和DCA B 290通信。DCA A 270和DCA B 290分別包括電壓調(diào)節(jié)器模塊(VRM)A 220和VRM B 250。微控制器A 272 與DCA270中的VRM A 220通信,微控制器B 292與DCA B 290中的VRM B 250通信。微控 制器A 272和微控制器B 292還使得DCA (DCA A 270和DCA B290)之間能通信。DCA A 270 和DCA B 290各包括一個或多個電壓調(diào)節(jié)從屬設(shè)備256。系統(tǒng)互連總線205被用于連接系中的處理器、FSP (處理器A 230和處理器B 240)以及DCA (DCA A 270和 DCA B四0)。系統(tǒng)互連總線205可以是,例如,工業(yè)標(biāo)準(zhǔn)集成電路間(12C)接口。
在一個實施例中,DCA A 270和DCA B 290向處理器A 230和處理器B240提供電 力。處理器A 230和處理器B 240接收來自一個或多個DCA (DCAA 270和DCA B 290)的冗 余電力連接以保證在DCA和/或其他構(gòu)件(例如VRM)發(fā)生故障的情況下對處理器的電力供 應(yīng)。VRM A 220禾口 VRM B 250,與(圖1中的)VRM A 120禾口 VRM B 150相似,分別位于DCA A 270和DCAB 290中,并接收來自VR應(yīng)用程序(圖1中的145)的指令。處理器A 230和 處理器B 240的各自的電壓由一個或多個VRM A 220和VRM B 250控制。當(dāng)系統(tǒng)體系結(jié)構(gòu) 200中的一個或多個構(gòu)件發(fā)生故障時,處理器(處理器A 230和處理器B 240)將使用不同 的VRM(可操作的VRM)控制各個處理器的運行所需的電壓。
在另一實施例中,供給一個或多個處理器(處理器A 230和處理器B 240)的電力 通過動態(tài)電壓和頻率縮放(DVre)操作來控制。每個DVFS操作由電壓改變請求(或一個或 多個電壓改變操作中的電壓改變轉(zhuǎn)變)的第一序列和頻率改變請求(或一個或多個頻率改 變操作中的頻率轉(zhuǎn)變)的第二序列組成。第一序列中的每個電壓改變請求對應(yīng)第二序列中 的頻率改變請求。當(dāng)DVFS操作被處理器A 230和/或處理器B 240接收到時,VTOU (圖1 中的135)相對于對應(yīng)的頻率改變的第二序列向前移動電壓改變操作的第一序列。VFCU(圖 1中的13 發(fā)送電壓改變請求至DCA A 270和/或DCA B 2900附加的電壓改變請求被添 加至被移動的電壓改變操作和/或請求的第一序列的末端。當(dāng)DVFS操作被執(zhí)行時,電壓改 變請求的數(shù)據(jù)包的應(yīng)答是表示在先電壓改變操作的完成的電壓改變指示信號。
在一個實施例中,在DVFS操作中提供電壓改變請求和/或頻率改變請求。在系統(tǒng) 體系結(jié)構(gòu)200中,DCA A 270和DCA B 290為電壓調(diào)節(jié)從屬設(shè)備。DVFS操作由處理器A 230 和處理器B 240啟動。VRM A 220和VRM B 250接收用于DVFS操作(電壓改變請求和頻率 改變請求)的啟動的請求,并且VRMs將操作電壓設(shè)置為如DVFS操作所定義的。DCA A 270 和DCA B 290執(zhí)行DVFS操作,向處理器A 230和處理器B 240提供電力,如DVFS請求所定 義。
在另一個實施例中,當(dāng)接收到DVFS操作時,向VRM A 220和VRM B 250通信指令 的VR應(yīng)用程序,使得DCA A 270和DCA B 290能向處理器A 230和處理器B 240傳送失敗 的“NACK”響應(yīng)或成功的“ACK”響應(yīng)。失敗的“NACK”響應(yīng)或成功的“ACK”響應(yīng)確認(rèn)所述一 個或多個DCA是否將繼續(xù)處理/執(zhí)行DVFS操作。具體來說,從DCA到處理器的“ACK” (成 功)響應(yīng)向處理器傳達沒有在前的錯誤且DVFS操作(電壓改變請求和/或頻率改變請 求)正開始。從DCA到處理器的“NACK”(失敗)響應(yīng)傳達當(dāng)前由于通信錯誤、構(gòu)件故障和 /或由于在先的DVFS操作沒有完成,而沒有接收到新的請求(即將沒有新的請求開始)。
在一個實施例中,VR應(yīng)用程序145 (圖1)管理系統(tǒng)體系結(jié)構(gòu)200中的DVFS操作。 一個或多個DCA向一個或多個處理器提供電力。VR應(yīng)用程序與VRM A 220和/或VRM B 250通信以識別向一個或多個處理器供應(yīng)電力的一個或多個DCA。例如,處理器A 230從 DCA A 270接收電力。VRM A 220控制由DCA A 270向處理器A 230供應(yīng)的電力。當(dāng)DCA A 270和/或VRM A220發(fā)生故障時,被移除,或者,當(dāng)與DCA A 270和/或VRM A 220的通信 失敗時,VR應(yīng)用程序識別導(dǎo)致失敗的構(gòu)件并將DVFS操作從故障構(gòu)件動態(tài)地轉(zhuǎn)移到一個或 多個工作的構(gòu)件(即DCA B 290和/或VRM B 250)。使用可用的、工作的構(gòu)件來處理DVFS操作。
在另一個實施例中,當(dāng)服務(wù)來自處理器的DVFS請求時,DCA(例如DCA270)發(fā)生故 障和/或所述DCA可用。例如,當(dāng)在服務(wù)來自處理器的DVFS請求時DCA 270發(fā)生故障時, 處理器A 230嘗試與DCA A 270通信N次(其中“N”為預(yù)定的數(shù)字)。當(dāng)N次后都沒有接 收到成功響應(yīng)時,該操作被取消。VR應(yīng)用程序使失敗警報能被傳送至FSP 260 0失敗警報 識別被移除的DCA (DCA A 270)。將來由處理器發(fā)出/傳送至移除的DCA (例如DCA A 270) 的DVFS操作(例如頻率和電壓改變)被阻止。當(dāng)DVFS操作不正被處理/執(zhí)行,且DCA B 290認(rèn)識到DCA A 270被移除時,失敗警報被發(fā)送至FSP沈0,報告DCA A 270的移除。VR 應(yīng)用程序使得FSP 260能阻止向移除的DCA(DCAA 270)傳送將來的DVFS操作。
在另一實例中,所有DCA (DCA A 270和DCA B四0)可用于處理一個或多個DVFS 操作以及一個或多個故障發(fā)生(例如系統(tǒng)互連總線205中的通信故障或VRM構(gòu)件故障)。 在DVFS操作期間,VR應(yīng)用程序使得DCA A 270和/或DCA B 290能請求FSP 260的初始 操作電壓。隨后,DCA A 270和/或DCA B 290相對于從FSP 260接收的初始操作電壓執(zhí) 行一個或多個電壓改變操作。當(dāng)故障發(fā)生在DVFS操作外時,DCA A 270和/或DCA B 290 從FSP 260請求初始操作電壓。當(dāng)從FSP 260接收到初始操作電壓時,VR應(yīng)用程序和/或 FSP 260使得DCA A 270和/或DCA B 290能相對于由FSP 260提供的初始操作電壓執(zhí)行 電壓改變操作。
圖3-5是描述完成示例實施例的上述處理的各種方法的流程圖。盡管可以參照圖 1-2中示出的構(gòu)件描述圖3-5示出的方法,但應(yīng)該理解的是,這僅僅是為了方便,當(dāng)實施該 多種方法時,當(dāng)實施不同方法時可以采用替代的構(gòu)件和/或配件。方法的關(guān)鍵部分可由處 理器(處理器A 130和處理器B 140)中的VrcU 135完成,以及/或者由在系統(tǒng)體系結(jié)構(gòu) 100(圖1)中的微控制器A172和微控制器B 192上執(zhí)行的并控制系統(tǒng)體系結(jié)構(gòu)100的具體 操作的VR應(yīng)用程序145完成。因此,從VR應(yīng)用程序145和系統(tǒng)體系結(jié)構(gòu)100中的構(gòu)件的 角度描述所述方法。
圖3示出了用于管理DVFS操作中的一個或多個請求(例如,電壓改變請求和頻率 改變請求)的處理。圖3的處理從啟動塊300開始并進入塊302,在塊302中,接收電壓/ 頻率改變請求的序列。在塊304中,相對于對應(yīng)的頻率改變操作的序列向前動態(tài)地移動電 壓改變請求的序列。在塊306中,指示信號電壓改變請求被自動添加在電壓改變請求序列 的末端,以發(fā)出在先電壓改變請求和/或DVFS操作的完成的信號。在塊308中,一個或多 個所述電壓改變請求被傳送至向一個或多個處理器供應(yīng)電力的每個DCA。
在塊310中,判決是否從所有DCA檢測到成功(ACK)響應(yīng)。如果檢測到來自所有 DCA的成功響應(yīng),則處理繼續(xù)至塊316。在塊316中,判決是否達到指示信號電壓。如果達 到指示信號電壓,則處理繼續(xù)至塊322。如果沒有達到指示信號電壓,則處理返回到塊308。 如果未從所有DCA檢測到成功響應(yīng),則處理繼續(xù)至塊312。在塊312中,電壓改變請求被重 啟N次(其中N為預(yù)定的數(shù)字)。在塊314中,判決是否從所有DCA接收到ACK。如果從所 有DCA檢測到成功響應(yīng),則處理繼續(xù)至塊316。如果未檢測到成功響應(yīng)(或接收到“NACK” 響應(yīng)),則處理繼續(xù)至塊318。在塊318中,失敗警報被發(fā)送至FSP。在塊320中,來自處理 器和/或至一個或多個DCA的一個或多個將來的電壓改變操作被掛起。處理在塊322結(jié)束。
圖4示出了確定用于DVFS操作的執(zhí)行的請求的成功或失敗的處理。圖4的處理從啟動塊400開始并進入塊402,在塊402中,接收請求以啟動DVFS操作。在塊404中,判 決電壓改變和/或頻率改變請求當(dāng)前是否待處理(pending)。如果電壓改變和/或頻率改 變請求當(dāng)前待處理,則處理繼續(xù)至塊410。在塊410中,失敗(“NACK”)響應(yīng)被傳送至處理 器。在塊412中,用于DVFS操作的執(zhí)行的請求被再次提交,并且處理返回塊404。在塊404 中,如果電壓和/或頻率改變請求當(dāng)前并不待處理,則處理繼續(xù)至塊406。在塊406中,判 決在先的電壓改變請求和/或頻率改變請求的執(zhí)行是否失敗。如果在先的電壓改變請求和 /或頻率改變請求的執(zhí)行失敗,則處理繼續(xù)至塊410。如果在先的電壓改變請求和/或頻率 改變請求的執(zhí)行還未失敗,則在塊408中,VR應(yīng)用程序使得電壓改變請求和/或DVFS操作 能夠執(zhí)行。處理在塊414結(jié)束。
圖5示出了當(dāng)系統(tǒng)體系結(jié)構(gòu)中的一個或多個構(gòu)件發(fā)生故障時用于管理電壓改變 請求的處理。圖5的處理從啟動塊500開始并進入塊502,在塊502中,接收構(gòu)件故障通知。 在塊504中,判決是否移除了一個或多個DCA。如果一個或多個DCA被移除,則處理繼續(xù)至 塊506。在塊506中,取消與移除的DCA的通信嘗試。在塊508中通知FSP。在塊510中, 取消向被移除的DCA傳送的一個或多個電壓改變請求和/或頻率改變請求。在塊504中, 如果一個或多個DCA未被移除,則處理繼續(xù)至塊512。在塊512中,從FSP請求初始操作電 壓。在塊514中,從FSP接收初始操作電壓。在塊516中,相對于初始操作電壓,完成電壓 改變請求和/或DVFS操作。處理在塊518結(jié)束。
在以上流程圖中,在包含計算機可讀代碼的計算機可讀存儲介質(zhì)中實施所述方法 中的一個或多個,使得在計算設(shè)備上執(zhí)行(通過處理單元)計算機可讀代碼時執(zhí)行一系列 步驟。在某些實施例中,所述方法的某些處理可以被結(jié)合,同時或以不同的順序被執(zhí)行,或 者可以被省略而不偏離本發(fā)明的精神和范圍。因此,雖然以特定的次序描述和圖示所述方 法處理,但處理的特定次序的使用并不意在隱含對本發(fā)明的任何限定。在不脫離本發(fā)明的 精神和范圍的情況下,可以對處理的次序做出改變。因此,特定次序的使用,并不作為限定 的意思,本發(fā)明的范圍延伸到所附權(quán)利要求及其等同物。
如將被本領(lǐng)域技術(shù)人員所理解,本發(fā)明可以被實施為方法、系統(tǒng)和/或計算機程 序產(chǎn)品。因此,本發(fā)明可以采用如下形式完全的硬件實施例、完全的軟件實施例(包括固 件、常駐軟件、微代碼等)、或者這里全部一般地稱為“電路”、“模塊”、“邏輯”或“系統(tǒng)”的結(jié) 合軟件和硬件方面的實施例。此外,本發(fā)明可采用計算機可用存儲介質(zhì)上的計算機程序產(chǎn) 品的形式,所述計算機可用存儲媒介具有記錄在所述介質(zhì)中或上的計算機可用程序代碼。
如將被進一步理解的,可使用軟件、固件、微代碼或硬件的任何組合實施本發(fā)明的 實施例中的處理。作為在軟件中實踐本發(fā)明的準(zhǔn)備步驟,程序代碼(無論是軟件還是固件) 典型地將被存儲在一個或多個機器可讀存儲介質(zhì)中,例如固定(硬盤)驅(qū)動器,軟盤,磁盤, 光盤,磁帶,半導(dǎo)體存儲器(諸如RAM、ROM、PR0M)等,由此制造根據(jù)本發(fā)明的制品。通過從 存儲設(shè)備直接執(zhí)行代碼,通過從存儲設(shè)備將代碼復(fù)制到另一存儲設(shè)備(例如硬盤、RAM等), 或者通過使用傳輸型介質(zhì)(例如數(shù)字和模擬通信鏈路)傳送所述代碼用于遠(yuǎn)程執(zhí)行,來使 用所述包括程序代碼的制品。所述介質(zhì)可以是電子、磁、光、電磁、紅外、或者半導(dǎo)體系結(jié)構(gòu) 統(tǒng)(或裝置或設(shè)備)或傳播介質(zhì)。此外,所述介質(zhì)可以是任何可以包含、存儲、通信、傳播、 或傳輸被執(zhí)行系統(tǒng)、裝置或設(shè)備使用或與其一起使用的程序的裝置??赏ㄟ^將包含根據(jù)所 描述的實施例的代碼的一個或多個機器可讀存儲設(shè)備與合適的處理硬件組合在一起執(zhí)行包含在其中的代碼來實踐本發(fā)明的方法。用于實踐本發(fā)明的裝置可以是包含或具有對根據(jù) 本發(fā)明而編寫的程序的網(wǎng)絡(luò)訪問(通過服務(wù)器)的一個或多個處理設(shè)備和存儲系統(tǒng)。通常, 可以廣泛地定義術(shù)語計算機、計算機系統(tǒng)、或數(shù)據(jù)處理系統(tǒng),以包括任何具有執(zhí)行來自存儲 介質(zhì)的指令/代碼的處理器(或處理單元)的設(shè)備。
本領(lǐng)域技術(shù)人員將理解本發(fā)明的示例性實施例的軟件方面能夠作為各種形式的 程序產(chǎn)品而被發(fā)布,并且,本發(fā)明的示例性實施例平等地適用,而不論實際進行發(fā)布的介質(zhì) 的特定類型。例如,介質(zhì)類型的非排他性列表包括可記錄型(有形的(tangible))介質(zhì)(例 如軟盤、拇指驅(qū)動器(thumb drive)、硬盤驅(qū)動器、⑶R0M、DVD,)以及傳送型介質(zhì)(例如數(shù) 字和模擬通信鏈路)。
盡管已經(jīng)參照示例實施例描述本發(fā)明,但本領(lǐng)域技術(shù)人員將理解在不脫離本發(fā) 明的精神和范圍的情況下,可以進行各種改變以及采用同等物替代其中的原件。此外,在不 偏離本發(fā)明的范圍的情況下,可以進行許多修改以使其中的特定的系統(tǒng)、設(shè)備或構(gòu)件適應(yīng) 本發(fā)明的教導(dǎo)。因此,本發(fā)明并不意在被限制于為執(zhí)行本發(fā)明而公開的特定實施例,本發(fā)明 將包括所有落入所附權(quán)利要求的范圍內(nèi)的實施例。此外,第一、第二等術(shù)語的使用不代表任 何次序或重要性,第一、第二等術(shù)語僅被用于將元件互相區(qū)別。
權(quán)利要求
1.一種用于在具有一個或多個處理器的數(shù)據(jù)處理系統(tǒng)中管理與一個或多個電壓改變 請求以及一個或多個頻率改變請求關(guān)聯(lián)的操作的方法,所述方法包括處理器接收電壓改變請求和頻率改變請求中的一個或多個;檢測與一個或多個電壓改變請求關(guān)聯(lián)的第一序列以及與一個或多個頻率改變請求關(guān) 聯(lián)的第二序列;動態(tài)地修改所述第一序列和所述第二序列,其中,修改所述第一序列和所述第二序列 包括將所述一個或多個電壓改變請求相對于一個或多個對應(yīng)的頻率改變請求向前移動; 自動地在所述第一序列的末端插入指示信號電壓改變; 檢測所述指示信號電壓改變的執(zhí)行;以及確定何時成功地達到與所述指示信號電壓改變關(guān)聯(lián)的指示信號電壓,其中,所述指示 信號電壓的檢測表示一個或多個在先電壓改變請求的完成。
2.如權(quán)利要求1所述的方法,還包括識別向所述一個或多個處理器供給電力的一個或多個直流組件(DCA); 確定所述電壓改變請求與所述頻率改變請求中的一個或多個何時在直流組件(DCA) 中待處理;以及當(dāng)所述電壓改變請求和所述頻率改變請求與動態(tài)電壓和頻率縮放(DVre)操作關(guān)聯(lián) 時,在DVFS操作被所述DCA接收時使得所述DCA能傳送成功響應(yīng)與失敗響應(yīng)之一,其中,所 述成功響應(yīng)指示所述DVFS操作的執(zhí)行正在發(fā)生,所述失敗響應(yīng)指示所述DVFS操作的執(zhí)行 當(dāng)前不在發(fā)生。
3.如權(quán)利要求2所述的方法,還包括當(dāng)在先DVFS操作是所述失敗響應(yīng)的接收者時,使得能從所述DCA向所述處理器傳送失 敗響應(yīng)。
4.如權(quán)利要求2所述的方法,還包括當(dāng)所述失敗響應(yīng)被傳送時,重新向所述DCA提交所述DVFS操作N次,其中N為預(yù)定的 數(shù)字;以及當(dāng)從所述DCA傳送所述成功響應(yīng)時,使得DVFS操作能被執(zhí)行。
5.如權(quán)利要求1所述的方法,還包括確定何時從所有直流組件(DCA)接收到所述成功響應(yīng);當(dāng)從所有DCA接收到所述成功響應(yīng)時,使得能執(zhí)行待處理的DVFS操作與待處理的電壓 改變請求中的一個或多個;以及當(dāng)從一個或多個DCA接收到一個或多個失敗響應(yīng)時,向靈活支持處理器(FSP)發(fā)送失 敗警報。
6.如權(quán)利要求1所述的方法,還包括 確定一個或多個DCA何時被移除; 當(dāng)一個或多個DCA被移除時取消一個或多個處理器與已移除的DCA之間的通信嘗試;向所述FSP傳送通知,其中,所述通知識別一個或多個已移除的DCA ;以及使得所述FSP能阻止從所述處理器向所述已移除的DCA傳送將來的DVFS操作。
7.如權(quán)利要求6所述的方法,還包括當(dāng)在所述DVFS操作期間或之前發(fā)生構(gòu)件故障且所述一個或多個DCA未被被移除時從所述FSP請求初始操作電壓;從所述FSP接收所述初始操作電壓;以及使得能相對于所述初始操作電壓執(zhí)行所述電壓改變請求。
8.一種數(shù)據(jù)處理系統(tǒng),包括 一個或多個處理器;電壓和頻率控制單元(VFCU); 直流組件(DCA); 電壓調(diào)節(jié)器模塊(VRM);在所述直流組件上執(zhí)行的應(yīng)用程序,該應(yīng)用程序包括執(zhí)行來管理與一個或多個電壓改 變以及一個或多個頻率改變關(guān)聯(lián)的操作的指令,所述指令提供邏輯,用于 接收電壓改變請求和頻率改變請求中的一個或多個;檢測與一個或多個電壓改變請求關(guān)聯(lián)的第一序列以及與一個或多個頻率請求關(guān)聯(lián)的 第二序列;動態(tài)地修改所述第一序列和所述第二序列,其中,修改所述第一序列和所述第二序列 包括將所述一個或多個電壓改變請求相對于一個或多個對應(yīng)的頻率改變請求向前移動; 自動地在所述第一序列的末端插入指示信號電壓改變; 檢測所述指示信號電壓改變的執(zhí)行;以及確定何時成功地達到與所述指示信號電壓改變關(guān)聯(lián)的指示信號電壓,其中,所述指示 信號電壓的檢測表示一個或多個在先電壓改變請求的完成。
9.如權(quán)利要求8所述的數(shù)據(jù)處理系統(tǒng),還包括邏輯,用于識別向所述一個或多個處理器供給電力的一個或多個直流組件(DCA); 確定所述電壓改變請求與所述頻率改變請求中的一個或多個何時在直流組件(DCA) 中待處理;以及當(dāng)所述電壓改變請求和所述頻率改變請求與動態(tài)電壓和頻率縮放(DVre)操作關(guān)聯(lián) 時,在DVFS操作被所述DCA接收時使得所述DCA能傳送成功響應(yīng)與失敗響應(yīng)之一,其中,所 述成功響應(yīng)指示所述DVFS操作的執(zhí)行正在發(fā)生,所述失敗響應(yīng)指示所述DVFS操作的執(zhí)行 當(dāng)前不在發(fā)生。
10.如權(quán)利要求9所述的數(shù)據(jù)處理系統(tǒng),還包括邏輯,用于當(dāng)在先DVFS操作是所述失敗響應(yīng)的接收者時,使得能從所述DCA向所述處理器傳送失 敗響應(yīng)。
11.如權(quán)利要求8所述的數(shù)據(jù)處理系統(tǒng),還包括邏輯,用于當(dāng)所述失敗響應(yīng)被傳送時,重新向所述DCA提交所述DVFS操作N次,其中N為預(yù)定的 數(shù)字;以及當(dāng)從所述DCA傳送所述成功響應(yīng)時,使得DVFS操作能被執(zhí)行。
12.如權(quán)利要求8所述的數(shù)據(jù)處理系統(tǒng),還包括邏輯,用于 確定何時從所有直流組件(DCA)接收到所述成功響應(yīng);當(dāng)從所有DCA接收到所述成功響應(yīng)時,使得能執(zhí)行待處理的DVFS操作與待處理的電壓 改變請求中的一個或多個;以及當(dāng)從一個或多個DCA接收到一個或多個失敗響應(yīng)時,向靈活支持處理器(FSP)發(fā)送失 敗警報。
13.如權(quán)利要求8所述的數(shù)據(jù)處理系統(tǒng),還包括邏輯,用于 確定一個或多個DCA何時被移除;以及當(dāng)一個或多個DCA被移除時取消一個或多個處理器與已移除的DCA之間的通信嘗試;向所述FSP傳送通知,其中,所述通知識別一個或多個已移除的DCA ;以及使得所述FSP能阻止從所述處理器向所述已移除的DCA傳送將來的DVFS操作。
14.如權(quán)利要求13所述的數(shù)據(jù)處理系統(tǒng),還包括邏輯,用于當(dāng)在所述DVFS操作期間或之前發(fā)生構(gòu)件故障且所述一個或多個DCA未被被移除時從所述FSP請求初始操作電壓;從所述FSP接收所述初始操作電壓;以及使得能相對于所述初始操作電壓執(zhí)行所述電壓改變請求。
15.一種計算機程序產(chǎn)品,包括 計算機可讀存儲介質(zhì);以及在所述計算機可讀存儲介質(zhì)上的程序代碼,當(dāng)具有一個或多個處理器的計算機設(shè)備執(zhí) 行所述程序代碼時,其提供如下功能接收電壓改變請求和頻率改變請求中的一個或多個;檢測與一個或多個電壓改變請求關(guān)聯(lián)的第一序列以及與一個或多個頻率請求關(guān)聯(lián)的 第二序列;動態(tài)地修改所述第一序列和所述第二序列,其中,修改所述第一序列和所述第二序列 包括將所述一個或多個電壓改變請求相對于一個或多個對應(yīng)的頻率改變請求向前移動; 自動地在所述第一序列的末端插入指示信號電壓改變; 檢測所述指示信號電壓改變的執(zhí)行;以及確定何時成功地達到與所述指示信號電壓改變關(guān)聯(lián)的指示信號電壓,其中,所述指示 信號電壓的檢測表示一個或多個在先電壓改變請求的完成。
16.如權(quán)利要求15所述的計算機程序產(chǎn)品,還包括程序代碼,用于 識別向所述一個或多個處理器供給電力的一個或多個直流組件(DCA);確定所述電壓改變請求與所述頻率改變請求中的一個或多個何時在直流組件(DCA) 中待處理;以及當(dāng)所述電壓改變請求和所述頻率改變請求與動態(tài)電壓和頻率縮放(DVre)操作關(guān)聯(lián) 時,在DVFS操作被所述DCA接收時使得所述DCA能傳送成功響應(yīng)與失敗響應(yīng)之一,其中,所 述成功響應(yīng)指示所述DVFS操作的執(zhí)行正在發(fā)生,所述失敗響應(yīng)指示所述DVFS操作的執(zhí)行 當(dāng)前不在發(fā)生。
17.如權(quán)利要求16所述的計算機程序產(chǎn)品,還包括程序代碼,用于當(dāng)在先DVFS操作是所述失敗響應(yīng)的接收者時,使得能從所述DCA向所述處理器傳送失 敗響應(yīng)。
18.如權(quán)利要求16所述的計算機程序產(chǎn)品,還包括程序代碼,用于當(dāng)所述失敗響應(yīng)被傳送時,重新向所述DCA提交所述DVFS操作N次,其中N為預(yù)定的數(shù)字;以及當(dāng)從所述DCA傳送所述成功響應(yīng)時,使得DVFS操作能被執(zhí)行。
19.如權(quán)利要求15所述的計算機程序產(chǎn)品,還包括程序代碼,用于 確定何時從所有直流組件(DCA)接收到所述成功響應(yīng);當(dāng)從所有DCA接收到所述成功響應(yīng)時,使得能執(zhí)行待處理的DVFS操作與待處理的電壓 改變請求中的一個或多個;當(dāng)從一個或多個DCA接收到一個或多個失敗響應(yīng)時,向靈活支持處理器(FSP)發(fā)送失 敗警報;確定一個或多個DCA何時被移除;并且 當(dāng)一個或多個DCA被移除時取消一個或多個處理器與已移除的DCA之間的通信嘗試;向所述FSP傳送通知,其中,所述通知識別一個或多個已移除的DCA ;以及使得所述FSP能阻止從所述處理器向所述已移除的DCA傳送將來的DVFS操作。
20.如權(quán)利要求19所述的計算機程序產(chǎn)品,還包括程序代碼,用于當(dāng)在所述DVFS操作期間或之前發(fā)生構(gòu)件故障且所述一個或多個DCA未被被移除時從所述FSP請求初始操作電壓;從所述FSP接收所述初始操作電壓;以及使得能相對于所述初始操作電壓執(zhí)行所述電壓改變請求。
全文摘要
本發(fā)明提供一種用于管理與一個或多個電壓改變和與一個或多個頻率改變關(guān)聯(lián)的操作的方法、數(shù)據(jù)處理系統(tǒng)以及計算機程序。電壓改變請求和頻率改變請求與動態(tài)電壓和頻率縮放(DVFS)操作關(guān)聯(lián)。處理器傳送將由一個或多個直流組件執(zhí)行的DVFS操作。由系統(tǒng)檢測與一個或多個電壓改變關(guān)聯(lián)的序列以及與一個或多個頻率改變關(guān)聯(lián)的序列。所述序列被動態(tài)地修改,以能插入附加的電壓改變,由此,所述附加的電壓改變指示一個或多個在先電壓改變請求的完成。所述電壓改變請求的完成使得一個或多個隨后的電壓改變請求能被處理。當(dāng)電壓改變請求未被成功完成時,一個或多個將來的電壓改變被掛起。
文檔編號G06F11/00GK102033788SQ20101054596
公開日2011年4月27日 申請日期2010年10月8日 優(yōu)先權(quán)日2009年10月5日
發(fā)明者卡西克·拉杰馬尼, 胡安·C·魯比奧, 邁克爾·S·弗洛伊德, 馬爾科姆·S·韋爾 申請人:國際商業(yè)機器公司